From 422adfd503e1e26f80d92c196551890e76588125 Mon Sep 17 00:00:00 2001 From: Miwory Date: Tue, 30 Sep 2025 11:20:11 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=20=D1=8D=D0=BD=D0=B4=D0=BF=D0=BE=D0=B8=D0=BD=D1=82=20get?= =?UTF-8?q?PatFLG?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/apps/users/v1/router.py | 15 ++++++++++----- src/clients/vitacore/api.py | 10 ++++++++++ src/clients/vitacore/schema.py | 20 ++++++++++++++++++++ 3 files changed, 40 insertions(+), 5 deletions(-) diff --git a/src/apps/users/v1/router.py b/src/apps/users/v1/router.py index efffa5a..deabd46 100644 --- a/src/apps/users/v1/router.py +++ b/src/apps/users/v1/router.py @@ -162,6 +162,16 @@ async def get_eln(): return await c.vitacore_api.getELNs('d4493f1c-fcbb-4242-99e6-32328bed53b9') +@router.get('/getPatFLG') +async def get_pat_flg(): + """ + Get list of ELNs. + """ + return await c.vitacore_api.getPatFLG( + '0bf2e271-e565-42a8-924e-0017bcdedecd' + ) + + @router.post('/measurement', status_code=status.HTTP_202_ACCEPTED) async def measurement( user: Annotated[str, Depends(login)], @@ -224,8 +234,3 @@ async def queue(user: Annotated[bool, Depends(login)]): @router.get('/findPat') async def find_pat(user: Annotated[str, Depends(login)]): return mock.findpat[0] - - -@router.get('/getPatFLG') -async def get_pat_flg(user: Annotated[str, Depends(login)]): - return mock.patFLG[0] diff --git a/src/clients/vitacore/api.py b/src/clients/vitacore/api.py index 2207057..6938bd4 100644 --- a/src/clients/vitacore/api.py +++ b/src/clients/vitacore/api.py @@ -175,3 +175,13 @@ class VITACORE_API(AsyncClient): case _: self.logger.error(req.json()) raise e.UnknownException + + async def getPatFLG(self, patId: str): + req = await self.get('/getPatFLG', params={'patId': patId}) + + match req.status_code: + case st.HTTP_200_OK: + return s.PatientFLGModel.model_validate(req.json()) + case _: + self.logger.error(req.json()) + raise e.UnknownException diff --git a/src/clients/vitacore/schema.py b/src/clients/vitacore/schema.py index 895a9ae..25912e4 100644 --- a/src/clients/vitacore/schema.py +++ b/src/clients/vitacore/schema.py @@ -608,3 +608,23 @@ class ELNsModel(BaseModel): PatientELNs: list[PatientELNModel] = Field( title='Список электронных листов нетрудоспособности' ) + + +class PatientFLGModel(BaseModel): + id: str = Field( + title='Идентификатор пациента', + examples=['0bf2e271-e565-42a8-924e-0017bcdedecd'], + ) + SNILS: str = Field(title='СНИЛС', examples=['127-192-834 66']) + LastFgDate: str = Field( + title='Дата последнего флюрографического осмотра', + examples=['2020-09-24'], + ) + NextPrgDate: str = Field( + title='Дата следующего флюорографического осмотра', + examples=['2021-09-24'], + ) + PrgContingent: str = Field( + title='Контингент (флюорография)', + examples=['Неорганизованное население'], + )