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

This commit is contained in:
2025-09-30 10:42:38 +03:00
parent 365d6b1696
commit eff590df2b
3 changed files with 62 additions and 5 deletions

View File

@ -75,6 +75,14 @@ async def get_vaccs_report():
) )
@router.get('/getMedExamDict')
async def get_med_exam_dict():
"""
Get medical examination dictionary.
"""
return await c.vitacore_api.getMedExamDict()
@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)],
@ -169,11 +177,6 @@ async def get_routes_list(user: Annotated[str, Depends(login)]):
return mock.routesList[0] return mock.routesList[0]
@router.get('/getMedExamDict')
async def get_med_exam_dict(user: Annotated[str, Depends(login)]):
return mock.medexamDict
@router.get('/getHospRecommendations') @router.get('/getHospRecommendations')
async def get_hosp_recommendations(user: Annotated[str, Depends(login)]): async def get_hosp_recommendations(user: Annotated[str, Depends(login)]):
return mock.hospRecommendations return mock.hospRecommendations

View File

@ -80,3 +80,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 getMedExamDict(self):
req = await self.get('/getMedExamDict')
match req.status_code:
case st.HTTP_200_OK:
return s.MedExamDictModel.model_validate(req.json())
case _:
self.logger.error(req.json())
raise e.UnknownException

View File

@ -234,3 +234,47 @@ class VaccsReportModel(BaseModel):
title='Содержимое документа в формате .doc ' title='Содержимое документа в формате .doc '
'(сжатое методом кодирования Base64)' '(сжатое методом кодирования Base64)'
) )
class MedExamItemModel(BaseModel):
AgeGroupName: str = Field(
title='Наименование возрастной группы',
examples=['ДВН 1 этап. приказ 404н'],
)
# AgeGroupCriteria
Required: str = Field(
title='Обязательность',
examples=['Обязательный/Дополнительный'],
)
Type: str = Field(
title='Тип',
examples=['Специальность/Услуга'],
)
MedicalServiceCode: str = Field(
title='Код услуги',
examples=['B04.010.002'],
)
MedicalServiceName: str = Field(
title='Наименрование услуги',
examples=['Осмотр фельдшером (акушеркой) или врачом акушером'],
)
SpecialityName: str = Field(
title='Специальность',
examples=['Акушер-гинеколог'],
)
class MedExamTypeModel(BaseModel):
Name: str = Field(
title='Наименование медосмотра',
examples=['ДВН 1 этап. приказ 404н'],
)
Code: str = Field(
title='Код медосмотра',
examples=['024'],
)
MedExamItems: list[MedExamItemModel]
class MedExamDictModel(BaseModel):
MedExamTypes: list[MedExamTypeModel]