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

This commit is contained in:
2025-11-13 10:10:55 +03:00
parent 043de7e034
commit a71bed1e18
3 changed files with 43 additions and 14 deletions

View File

@ -1,3 +1,4 @@
from datetime import UTC
from logging import getLogger from logging import getLogger
from fastapi import APIRouter from fastapi import APIRouter
@ -12,4 +13,8 @@ router = APIRouter(
@router.get('/callback') @router.get('/callback')
async def callback(): ... async def callback():
from datetime import datetime
msg = f'CALLBCACK Current datetime: {datetime.now(UTC).isoformat()}'
logger.info(msg)

View File

@ -178,6 +178,11 @@ async def aemd(user: Annotated[User, Depends(login)]):
docs = await c.aemd_api.searchRegistryItem(patient_snils=snils) docs = await c.aemd_api.searchRegistryItem(patient_snils=snils)
doc = docs['items'][0] doc = docs['items'][0]
from datetime import datetime
msg = f'AEMD Current datetime: {datetime.now(UTC).isoformat()}'
logger.info(msg)
return await c.aemd_api.demandContent( return await c.aemd_api.demandContent(
messageId='test123', emdrId=doc['emdrId'] messageId='test123', emdrId=doc['emdrId']
) )
@ -195,8 +200,10 @@ 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)
patientUid = 'e5708e5a-62e0-4318-a510-7860a31d92d9'
observations = await c.tdn_api.observations_search( observations = await c.tdn_api.observations_search(
tdn_access_token, user.vita_id tdn_access_token, patientUid
) )
if observations.total == 0: if observations.total == 0:
@ -336,7 +343,7 @@ async def measurement(
# EKG # EKG
await c.tdn_api.ekg( await c.tdn_api.ekg(
tdn_access_token, tdn_access_token,
user.vita_id, patientUid,
serial_number, serial_number,
ekg, ekg,
) )

View File

@ -40,20 +40,28 @@ class TDN_API(AsyncClient):
raise e.UnknownException raise e.UnknownException
async def patient_search(self, access_token: str, vitaId: str): async def patient_search(self, access_token: str, vitaId: str):
data = quote(dumps({'vitaId': vitaId})) query = (
quote(dumps({'where': {'vitaId': vitaId}}))
.replace('%7B', '{')
.replace('%7D', '}')
)
_ = await self.get( req = await self.get(
'/ddn/patient/search', f'/ddn/patients/search?query={query}',
params={'query': data},
headers={'Authorization': f'Bearer {access_token}'}, headers={'Authorization': f'Bearer {access_token}'},
) )
return req.json()
async def observations_search(self, access_token: str, patientUid: str): async def observations_search(self, access_token: str, patientUid: str):
data = quote(dumps({'where': {'patientUid': patientUid}})) query = (
quote(dumps({'where': {'patientUid': patientUid}}))
.replace('%7B', '{')
.replace('%7D', '}')
)
res = await self.get( res = await self.get(
'/ddn/observations/search', f'/ddn/observations/search?query={query}',
params={'query': data},
headers={'Authorization': f'Bearer {access_token}'}, headers={'Authorization': f'Bearer {access_token}'},
) )
@ -167,16 +175,25 @@ class TDN_API(AsyncClient):
access_token: str, access_token: str,
patientUid: str, patientUid: str,
serial_number: str, serial_number: str,
file: UploadFile, ecg_file: UploadFile,
): ):
req = await self.post( req = await self.post(
'/ddn/observation/series-values/ecg/krb02', '/ddn/observation/series-values/ecg/krb02',
headers={'Authorization': f'Bearer {access_token}'}, headers={
files={'ekg': (file.filename, file.file, file.content_type)}, 'Authorization': f'Bearer {access_token}',
json={ 'Content-Type': 'multipart/form-data; boundary=+++',
},
data={
'patientUid': patientUid, 'patientUid': patientUid,
'serialNumber': serial_number, 'serialNumber': serial_number,
}, },
files={
'ecg': (
ecg_file.filename,
ecg_file.file,
ecg_file.content_type or 'application/octet-stream',
)
},
) )
match req.status_code: match req.status_code: