Skip to content

Commit f73d9b6

Browse files
committed
Add save_request utility to store validation requests as DocumentReference
1 parent 834fdde commit f73d9b6

1 file changed

Lines changed: 16 additions & 0 deletions

File tree

backend/app/operations/validate.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
import uuid
44

55
from aidbox_python_sdk.types import SDKOperation, SDKOperationRequest
6+
import fhirpy_types_r4b as r4b
7+
from fhirpy import AsyncFHIRClient
68
from aiohttp import web
79

810
from app import app_keys as ak
@@ -13,6 +15,7 @@
1315
async def validate_op(_operation: SDKOperation, request: SDKOperationRequest) -> web.Response:
1416
fhir_client = request["app"][ak.fhir_client]
1517
request_data = request["resource"]
18+
await save_request(fhir_client, request_data)
1619
logging.error("Validation request: %s", request_data)
1720
formatted_request = official_format_to_aidbox(request_data)
1821
resource_to_validate = formatted_request["resource"]
@@ -131,3 +134,16 @@ def get_aidbox_issue_code(aidbox_issue: dict) -> str:
131134
return ""
132135

133136
return issue_coding[0].get("code", "")
137+
138+
139+
async def save_request(fhir_client: AsyncFHIRClient, data: str) -> r4b.DocumentReference:
140+
doc_ref_r = r4b.DocumentReference(
141+
status="current",
142+
content=[
143+
r4b.DocumentReferenceContent(
144+
attachment=r4b.Attachment(contentType="text/plain", data=str(data))
145+
)
146+
]
147+
)
148+
149+
return await fhir_client.save(doc_ref_r)

0 commit comments

Comments
 (0)