Патч
All checks were successful
Build And Push / publish (push) Successful in 1m8s

This commit is contained in:
2025-11-24 18:00:52 +03:00
parent 439cb147d8
commit c862c4dd35
5 changed files with 38 additions and 15 deletions

View File

@ -207,8 +207,9 @@ async def measurement(
serial_number: Annotated[str, Body()], serial_number: Annotated[str, Body()],
ekg: UploadFile, ekg: UploadFile,
): ):
# patient = await c.tdn_api.patient_search(tdn_access_token, user.vita_id) vitaId = '109df850-2268-49fb-bb78-2e0f3c57314d'
patientUid = 'e5708e5a-62e0-4318-a510-7860a31d92d9' patient = await c.tdn_api.patient_search(tdn_access_token, vitaId)
patientUid = patient['items'][0]['uid']
observations = await c.tdn_api.observations_search( observations = await c.tdn_api.observations_search(
tdn_access_token, patientUid tdn_access_token, patientUid
) )

View File

View File

View File

@ -143,7 +143,7 @@ class VITACORE_API(AsyncClient):
match req.status_code: match req.status_code:
case st.HTTP_200_OK: case st.HTTP_200_OK:
return s.WorkersModel.model_validate(req.json()['workers']) return s.WorkersModel.model_validate(req.json())
case _: case _:
self.logger.error(req.json()) self.logger.error(req.json())
raise e.UnknownException raise e.UnknownException
@ -163,7 +163,9 @@ class VITACORE_API(AsyncClient):
async def getEntries(self, patId: str): async def getEntries(self, patId: str):
token = await self.get_token() token = await self.get_token()
# patId = 'b66a85f1-4aaa-4db8-942a-2de44341824e' if patId == 'a72d18cf-c152-4b9e-b8be-313234b87400':
patId = 'b66a85f1-4aaa-4db8-942a-2de44341824e'
req = await self.get( req = await self.get(
'/getEntries', '/getEntries',
params={'patId': patId}, params={'patId': patId},
@ -185,7 +187,8 @@ class VITACORE_API(AsyncClient):
async def getVaccsReport(self, patId: str): async def getVaccsReport(self, patId: str):
token = await self.get_token() token = await self.get_token()
# patId = 'b66a85f1-4aaa-4db8-942a-2de44341824e' if patId == 'a72d18cf-c152-4b9e-b8be-313234b87400':
patId = 'b66a85f1-4aaa-4db8-942a-2de44341824e'
req = await self.get( req = await self.get(
'/getVaccsReport', '/getVaccsReport',
params={'patId': patId}, params={'patId': patId},
@ -219,7 +222,8 @@ class VITACORE_API(AsyncClient):
async def getRoutesList(self, patId: str): async def getRoutesList(self, patId: str):
token = await self.get_token() token = await self.get_token()
# patId = 'b66a85f1-4aaa-4db8-942a-2de44341824e' if patId == 'a72d18cf-c152-4b9e-b8be-313234b87400':
patId = 'b66a85f1-4aaa-4db8-942a-2de44341824e'
req = await self.get( req = await self.get(
'/getRoutesList', '/getRoutesList',
params={'patId': patId}, params={'patId': patId},
@ -246,7 +250,8 @@ class VITACORE_API(AsyncClient):
raise e.UnknownException raise e.UnknownException
async def getHospExaminations(self, patId: str, examId: str | None = None): async def getHospExaminations(self, patId: str, examId: str | None = None):
# patId = 'b66a85f1-4aaa-4db8-942a-2de44341824e' if patId == 'a72d18cf-c152-4b9e-b8be-313234b87400':
patId = 'b66a85f1-4aaa-4db8-942a-2de44341824e'
token = await self.get_token() token = await self.get_token()
req = await self.get( req = await self.get(
'/getHospExaminations', '/getHospExaminations',
@ -275,7 +280,8 @@ class VITACORE_API(AsyncClient):
async def getCurrHosp(self, patId: str): async def getCurrHosp(self, patId: str):
token = await self.get_token() token = await self.get_token()
# patId = 'b66a85f1-4aaa-4db8-942a-2de44341824e' if patId == 'a72d18cf-c152-4b9e-b8be-313234b87400':
patId = 'b66a85f1-4aaa-4db8-942a-2de44341824e'
req = await self.get( req = await self.get(
'/getCurrHosp', '/getCurrHosp',
params={'patId': patId}, params={'patId': patId},
@ -300,7 +306,8 @@ class VITACORE_API(AsyncClient):
async def getHosps(self, patId: str): async def getHosps(self, patId: str):
token = await self.get_token() token = await self.get_token()
# patId = 'b66a85f1-4aaa-4db8-942a-2de44341824e' if patId == 'a72d18cf-c152-4b9e-b8be-313234b87400':
patId = 'b66a85f1-4aaa-4db8-942a-2de44341824e'
req = await self.get( req = await self.get(
'/getHosps', '/getHosps',
params={'patId': patId}, params={'patId': patId},
@ -328,7 +335,8 @@ class VITACORE_API(AsyncClient):
async def getHospRecommendations(self, patId: str): async def getHospRecommendations(self, patId: str):
token = await self.get_token() token = await self.get_token()
# patId = 'b66a85f1-4aaa-4db8-942a-2de44341824e' if patId == 'a72d18cf-c152-4b9e-b8be-313234b87400':
patId = 'b66a85f1-4aaa-4db8-942a-2de44341824e'
req = await self.get( req = await self.get(
'/getHospRecommendations', '/getHospRecommendations',
params={'patId': patId}, params={'patId': patId},
@ -358,7 +366,8 @@ class VITACORE_API(AsyncClient):
async def getHospRoutes(self, patId: str): async def getHospRoutes(self, patId: str):
token = await self.get_token() token = await self.get_token()
# patId = 'b66a85f1-4aaa-4db8-942a-2de44341824e' if patId == 'a72d18cf-c152-4b9e-b8be-313234b87400':
patId = 'b66a85f1-4aaa-4db8-942a-2de44341824e'
req = await self.get( req = await self.get(
'/getHospRoutes', '/getHospRoutes',
params={'patId': patId}, params={'patId': patId},

View File

@ -1,6 +1,6 @@
from datetime import datetime from datetime import datetime
from pydantic import BaseModel, Field from pydantic import BaseModel, Field, field_validator
class ErrorModel(BaseModel): class ErrorModel(BaseModel):
@ -180,21 +180,30 @@ class WorkersPositionModel(BaseModel):
title='ФРМР. Должности медицинского персонала', title='ФРМР. Должности медицинского персонала',
examples=['врач-онколог'], examples=['врач-онколог'],
) )
positionSpecialityCode: str = Field( positionSpecialityCode: str | None = Field(
title='Код специальности по V021', title='Код специальности по V021',
examples=['41'], examples=['41'],
default=None,
) )
positionSpecialityName: str = Field( positionSpecialityName: str | None = Field(
title='Наименование специальности по V021', title='Наименование специальности по V021',
examples=['Онкология'], examples=['Онкология'],
default=None,
) )
rate: float = Field( rate: float = Field(
title='Ставка', title='Ставка',
examples=[0.5], examples=[0.5],
) )
@field_validator('rate', mode='before')
def convert_comma(cls, v: str | float):
if isinstance(v, str):
return v.replace(',', '.')
class WorkersModel(BaseModel): return v
class WorkerModel(BaseModel):
id: str = Field( id: str = Field(
title='Идентификатор сотрудника', title='Идентификатор сотрудника',
examples=['dc911302-5044-46f4-b935-c6ffd85eb68f'], examples=['dc911302-5044-46f4-b935-c6ffd85eb68f'],
@ -210,6 +219,10 @@ class WorkersModel(BaseModel):
positions: list[WorkersPositionModel] positions: list[WorkersPositionModel]
class WorkersModel(BaseModel):
Workers: list[WorkerModel]
class SpecialityV021Model(BaseModel): class SpecialityV021Model(BaseModel):
SpecialityID: str = Field( SpecialityID: str = Field(
title='Код спциальности по справочнику V021', examples=['1'] title='Код спциальности по справочнику V021', examples=['1']