File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 33import uuid
44
55from aidbox_python_sdk .types import SDKOperation , SDKOperationRequest
6+ import fhirpy_types_r4b as r4b
7+ from fhirpy import AsyncFHIRClient
68from aiohttp import web
79
810from app import app_keys as ak
1315async 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 )
You can’t perform that action at this time.
0 commit comments