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