Добавлен эндпоинт getCurrHosp
This commit is contained in:
@ -104,6 +104,16 @@ async def get_hosp_examinations():
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@router.get('/getCurrHosp')
|
||||||
|
async def get_curr_hosp():
|
||||||
|
"""
|
||||||
|
Get current hospitalization.
|
||||||
|
"""
|
||||||
|
return await c.vitacore_api.getCurrHosp(
|
||||||
|
'b708e782-4f83-4f3b-8639-512c0c9637bf'
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
@router.post('/measurement', status_code=status.HTTP_202_ACCEPTED)
|
@router.post('/measurement', status_code=status.HTTP_202_ACCEPTED)
|
||||||
async def measurement(
|
async def measurement(
|
||||||
user: Annotated[str, Depends(login)],
|
user: Annotated[str, Depends(login)],
|
||||||
@ -183,11 +193,6 @@ async def get_diagnostic_results(user: Annotated[str, Depends(login)]):
|
|||||||
return mock.diagnosticResults
|
return mock.diagnosticResults
|
||||||
|
|
||||||
|
|
||||||
@router.get('/getCurrHosp')
|
|
||||||
async def get_curr_hosp(user: Annotated[str, Depends(login)]):
|
|
||||||
return mock.currHosp[0]
|
|
||||||
|
|
||||||
|
|
||||||
@router.get('/getPatFLG')
|
@router.get('/getPatFLG')
|
||||||
async def get_pat_flg(user: Annotated[str, Depends(login)]):
|
async def get_pat_flg(user: Annotated[str, Depends(login)]):
|
||||||
return mock.patFLG[0]
|
return mock.patFLG[0]
|
||||||
|
|||||||
@ -113,3 +113,13 @@ class VITACORE_API(AsyncClient):
|
|||||||
case _:
|
case _:
|
||||||
self.logger.error(req.json())
|
self.logger.error(req.json())
|
||||||
raise e.UnknownException
|
raise e.UnknownException
|
||||||
|
|
||||||
|
async def getCurrHosp(self, patId: str):
|
||||||
|
req = await self.get('/getCurrHosp', params={'patId': patId})
|
||||||
|
|
||||||
|
match req.status_code:
|
||||||
|
case st.HTTP_200_OK:
|
||||||
|
return s.HospitalizationsModel.model_validate(req.json())
|
||||||
|
case _:
|
||||||
|
self.logger.error(req.json())
|
||||||
|
raise e.UnknownException
|
||||||
|
|||||||
@ -380,3 +380,100 @@ class HospExaminationsModel(BaseModel):
|
|||||||
)
|
)
|
||||||
LpuName: str = Field(title='Наименование МО', examples=['ГАУЗ "ГКБ №7"'])
|
LpuName: str = Field(title='Наименование МО', examples=['ГАУЗ "ГКБ №7"'])
|
||||||
Examinations: list[ExaminationModel] = Field(title='Список осмотров')
|
Examinations: list[ExaminationModel] = Field(title='Список осмотров')
|
||||||
|
|
||||||
|
|
||||||
|
class RouteToDoctorModel(BaseModel):
|
||||||
|
RouteDate: datetime = Field(
|
||||||
|
title='Дата направления', examples=['2025-07-17']
|
||||||
|
)
|
||||||
|
SpecialityCode: str = Field(title='Код специальности', examples=['013'])
|
||||||
|
SpecialityName: str = Field(
|
||||||
|
title='Наименование специальности', examples=['Кардиолог']
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class RouteToDiagnosticModel(BaseModel):
|
||||||
|
RouteDate: datetime = Field(
|
||||||
|
title='Дата направления', examples=['2025-08-06']
|
||||||
|
)
|
||||||
|
ResearchCode: str = Field(title='Код услуги', examples=['B03.016.003'])
|
||||||
|
ResearchName: str = Field(
|
||||||
|
title='Наименование услуги',
|
||||||
|
examples=['Общий (клинический) анализ крови'],
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class HospDestinationModel(BaseModel):
|
||||||
|
Signa: str = Field(
|
||||||
|
title='Сигнатура назначения',
|
||||||
|
examples=[
|
||||||
|
'Diphenhydraminum+Oleum foliorum Menthae piperitae+'
|
||||||
|
'Tinctura Leonuri+Ethylbromisovalerinatum капли для приема внутрь'
|
||||||
|
' 25 мл x 1 доза. \nВнутрь (перорально) (утром) 3 раза через день'
|
||||||
|
'(08:00, 13:00, 18:00). Повторять 2 раза. Назначил:Изотова Г.М.'
|
||||||
|
' (Сердечно-сосудистый хирург)'
|
||||||
|
],
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class ExamModel(BaseModel):
|
||||||
|
ExaminationDate: datetime = Field(
|
||||||
|
title='Дата осмотра', examples=['2025-08-04']
|
||||||
|
)
|
||||||
|
ExaminationTime: str = Field(title='Время осмотра', examples=['09:21'])
|
||||||
|
Status: str = Field(title='Состояние при осмотре', examples=[''])
|
||||||
|
Post: str = Field(title='Врач', examples=['Шайдуллина Г.И. (Кардиолог)'])
|
||||||
|
MedicalExaminationType: str = Field(
|
||||||
|
title='Тип медицинского осмотра',
|
||||||
|
examples=['Осмотр врача-консультанта'],
|
||||||
|
)
|
||||||
|
RoutesToDoctor: list[RouteToDoctorModel] | None = Field(
|
||||||
|
title='Направления ко врачу', default=None
|
||||||
|
)
|
||||||
|
RoutesToDiagnostic: list[RouteToDiagnosticModel] | None = Field(
|
||||||
|
title='Направления на услугу', default=None
|
||||||
|
)
|
||||||
|
HospDestinations: list[HospDestinationModel] | None = Field(
|
||||||
|
title='Лекарственные назначения', default=None
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class HospitalizationModel(BaseModel):
|
||||||
|
EventID: str = Field(
|
||||||
|
title='Идентификатор случая госпитализации',
|
||||||
|
examples=['ddfa23ea-b0de-4d88-8abe-7d6a7a241df1'],
|
||||||
|
)
|
||||||
|
CreationDateTime: str = Field(
|
||||||
|
title='Дата и время регистрации', examples=['2025-07-10 17:29']
|
||||||
|
)
|
||||||
|
ReceptionDiagnosis: str = Field(
|
||||||
|
title='Диагноз при поступлении',
|
||||||
|
examples=[
|
||||||
|
'I11.9 | Гипертензивная [гипертоническая] болезнь с '
|
||||||
|
'преимущественным поражением сердца без (застойной) '
|
||||||
|
'сердечной недостаточности'
|
||||||
|
],
|
||||||
|
)
|
||||||
|
Diagnosis: str = Field(
|
||||||
|
title='Текущий диагноз',
|
||||||
|
examples=[
|
||||||
|
'I11.9 | Гипертензивная [гипертоническая] болезнь с '
|
||||||
|
'преимущественным поражением сердца без (застойной) '
|
||||||
|
'сердечной недостаточности'
|
||||||
|
],
|
||||||
|
)
|
||||||
|
HospitalizationType: str = Field(
|
||||||
|
title='Тип госпитализации', examples=['экстренная']
|
||||||
|
)
|
||||||
|
HospitalizationReason: str = Field(
|
||||||
|
title='Причина госпитализации', examples=['заболевание']
|
||||||
|
)
|
||||||
|
Division: str = Field(title='Отделение', examples=['Кардиология №1'])
|
||||||
|
LpuName: str = Field(title='Наименование МО', examples=['ГАУЗ "ГКБ №7"'])
|
||||||
|
Exams: list[ExamModel] = Field(title='Список осмотров')
|
||||||
|
|
||||||
|
|
||||||
|
class HospitalizationsModel(BaseModel):
|
||||||
|
Hospitalizations: list[HospitalizationModel] = Field(
|
||||||
|
title='Список госпитализаций'
|
||||||
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user