Добавлен эндпоинт getELNs

This commit is contained in:
2025-09-30 11:18:14 +03:00
parent 6bc0cf98a3
commit ce36e07266
3 changed files with 74 additions and 5 deletions

View File

@ -165,3 +165,13 @@ class VITACORE_API(AsyncClient):
case _:
self.logger.error(req.json())
raise e.UnknownException
async def getELNs(self, patId: str):
req = await self.get('/getELNs', params={'patId': patId})
match req.status_code:
case st.HTTP_200_OK:
return s.ELNsModel.model_validate(req.json())
case _:
self.logger.error(req.json())
raise e.UnknownException

View File

@ -552,3 +552,59 @@ class DiagnosticResultsModel(BaseModel):
DainosticsResults: list[DiagnosticResultModel] = Field(
title='Список результатов исследований'
)
class ProlongationModel(BaseModel):
StartDate: datetime = Field(
title='Дата продления с', examples=['2020-10-21']
)
ProlongationDate: str = Field(
title='Дата продления до', examples=['2020-10-25']
)
Post: str = Field(
title='Врач',
examples=['Ахсанова Р.М. (Врач общей практики (семейный врач))'],
)
class PatientELNModel(BaseModel):
PatientSNILS: str = Field(
title='СНИЛС болеющего', examples=['000-000-600 01']
)
Number: str = Field(
title='Номер листа нетрудоспособности', examples=['910040906829']
)
OpenDate: datetime = Field(title='Дата открытия', examples=['2020-10-21'])
DateClose: datetime = Field(title='Дата закрытия', examples=['2020-10-25'])
WorkDate: datetime = Field(
title='Дата выхода на работу', examples=['2020-10-26']
)
DaysCount: int = Field(
title='Количество дней нетрудоспособности', examples=[5]
)
Cause: str = Field(
title='Причина нетрудоспособности',
examples=[
'Заболевание (в том числе профессиональное заболевание и его '
'обострение)'
],
)
Prolongations: list[ProlongationModel] = Field(title='Продления')
LpuName: str = Field(
title='Наименование МО', examples=['ГАУЗ Новошешминская ЦРБ']
)
BranchAddress: str = Field(
title='Адрес подразделения выдачи',
examples=['Республика Татарстан,с.Новошешминск, ул.Майская, д.8'],
)
FssLnStatus: str = Field(title='Статус ЭЛН в ФСС', examples=['30'])
SentSNILS: str = Field(
title='СНИЛС получателя ЭЛН (отправленный в ФСС)',
examples=['00000060001'],
)
class ELNsModel(BaseModel):
PatientELNs: list[PatientELNModel] = Field(
title='Список электронных листов нетрудоспособности'
)