This commit is contained in:
@ -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)
|
||||
|
||||
@ -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,
|
||||
)
|
||||
|
||||
@ -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:
|
||||
|
||||
Reference in New Issue
Block a user