This commit is contained in:
2025-10-16 16:43:18 +03:00
parent cb3b138241
commit a4239a0c52
21 changed files with 524 additions and 140 deletions

View File

@ -7,6 +7,31 @@ class ErrorModel(BaseModel):
error: str = Field(title='Текст ошибки')
class PatientModel(BaseModel):
id: str = Field(
title='Идентификатор пациента',
examples=['b62e9f22-a871-4c52-96d6-559c707a716d'],
)
SNILS: str = Field(title='СНИЛС', examples=['000-000-600 18'])
lastName: str = Field(title='Фамилия', examples=['Тестовый'])
firstName: str = Field(title='Имя', examples=['Пациент'])
middleName: str = Field(title='Отчество', examples=['Пациентович'])
birthDate: datetime = Field(title='Дата рождения', examples=['2024-10-16'])
gender: str = Field(title='Пол', examples=['М'])
docType: str = Field(title='Тип документа', examples=['Паспорт РФ'])
docSer: str = Field(title='Серия документа', examples=['12 34'])
docNum: str = Field(title='Номер документа', examples=['999999'])
polNum: str = Field(title='Номер полиса', examples=['999999'])
address1: str = Field(
title='Адрес проживания',
examples=['г. Москва, ул. Пушкина, д. 1'],
)
class PatientsModel(BaseModel):
patients: list[PatientModel]
class TrustedPersonModel(BaseModel):
parentSnils: str = Field(
title='СНИЛС представителя', examples=['156-125-394 57']
@ -66,7 +91,7 @@ class ProfileModel(BaseModel):
# examples=['99'],
# )
trustedPersons: list[TrustedPersonModel] = Field(
title='Информация о представителе',
title='Информация о представителе', default=[]
)
@ -79,10 +104,10 @@ class DepartmentAddressModel(BaseModel):
title='Адрес строкой',
examples=['420097, г.Казань, ул.Заслонова, д.5'],
)
latitude: float | None = Field(
latitude: str | None = Field(
title='Широта, при наличии', examples=[55.789], default=None
)
longitude: float | None = Field(
longitude: str | None = Field(
title='Долгота, при наличии', examples=[37.789], default=None
)
@ -92,16 +117,19 @@ class DepartmentModel(BaseModel):
title='Идентификатор МО/Филиала',
examples=['a3677271-3385-4f27-a65d-c3430b7c61c2'],
)
OID: str = Field(
title='OID МО / Филиала', examples=['1.2.643.5.1.13.13.12.2.16.1084']
OID: str | None = Field(
title='OID МО / Филиала',
examples=['1.2.643.5.1.13.13.12.2.16.1084'],
default=None,
)
parentId: str | None = Field(
title='Идентификатор вышестоящего подразделения',
examples=['a3677271-3385-4f27-a65d-c3430b7c61c2'],
)
fullname: str = Field(
fullname: str | None = Field(
title='Полное наименование',
examples=['ГБУЗС "Тестовая медицинская организация"'],
default=None,
)
shortname: str = Field(
title='Краткое наименование',
@ -112,14 +140,12 @@ class DepartmentModel(BaseModel):
', для филиалов: Стационар / Поликлиника / ФАП / Амбулатория)',
examples=['Юридическое лицо'],
)
inn: str = Field(title='ИНН', examples=['0000000000'])
ogrn: str = Field(title='ОГРН', examples=['1149204047816'])
inn: str | None = Field(title='ИНН', examples=['0000000000'], default=None)
ogrn: str | None = Field(
title='ОГРН', examples=['1149204047816'], default=None
)
kpp: str | None = Field(title='КПП', examples=['0000000000'], default=None)
address: list[DepartmentAddressModel]
# code: str = Field(
# title='Региональный код или код ТФОМС',
# examples=['0000000000'],
# )
address: list[DepartmentAddressModel] | None = None
class OrganizationsModel(BaseModel):
@ -642,7 +668,7 @@ class PatientFLGModel(BaseModel):
title='Дата следующего флюорографического осмотра',
examples=['2021-09-24'],
)
PrgContingent: str = Field(
PrgContingent: str | None = Field(
title='Контингент (флюорография)',
examples=['Неорганизованное население'],
)