Патч
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 fastapi import APIRouter
@ -12,4 +13,8 @@ router = APIRouter(
@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)
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(
messageId='test123', emdrId=doc['emdrId']
)
@ -195,8 +200,10 @@ async def measurement(
serial_number: Annotated[str, Body()],
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(
tdn_access_token, user.vita_id
tdn_access_token, patientUid
)
if observations.total == 0:
@ -336,7 +343,7 @@ async def measurement(
# EKG
await c.tdn_api.ekg(
tdn_access_token,
user.vita_id,
patientUid,
serial_number,
ekg,
)

View File

@ -40,20 +40,28 @@ class TDN_API(AsyncClient):
raise e.UnknownException
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(
'/ddn/patient/search',
params={'query': data},
req = await self.get(
f'/ddn/patients/search?query={query}',
headers={'Authorization': f'Bearer {access_token}'},
)
return req.json()
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(
'/ddn/observations/search',
params={'query': data},
f'/ddn/observations/search?query={query}',
headers={'Authorization': f'Bearer {access_token}'},
)
@ -167,16 +175,25 @@ class TDN_API(AsyncClient):
access_token: str,
patientUid: str,
serial_number: str,
file: UploadFile,
ecg_file: UploadFile,
):
req = await self.post(
'/ddn/observation/series-values/ecg/krb02',
headers={'Authorization': f'Bearer {access_token}'},
files={'ekg': (file.filename, file.file, file.content_type)},
json={
headers={
'Authorization': f'Bearer {access_token}',
'Content-Type': 'multipart/form-data; boundary=+++',
},
data={
'patientUid': patientUid,
'serialNumber': serial_number,
},
files={
'ecg': (
ecg_file.filename,
ecg_file.file,
ecg_file.content_type or 'application/octet-stream',
)
},
)
match req.status_code: