Skip to content

Commit 70b9681

Browse files
committed
Update Docker image version in compose.yaml and add version operation to validation service
1 parent 9e7123c commit 70b9681

3 files changed

Lines changed: 26 additions & 12 deletions

File tree

backend/app/operations/validate.py

Lines changed: 22 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import json
2-
import logging
2+
import os
33
import uuid
44

55
import fhirpy_types_r4b as r4b
@@ -9,30 +9,43 @@
99

1010
from app import app_keys as ak
1111
from app.sdk import sdk
12-
12+
from app.version import __version__
13+
14+
@sdk.operation(["GET"], ["validator", "version"], public=True)
15+
async def version_op(_operation: SDKOperation, request: SDKOperationRequest) -> web.Response:
16+
app = request["app"]
17+
client = app[ak.client]
18+
aidbox_config = await client.execute("$config", method="GET")
19+
validator_version = aidbox_config.get("about", {}).get("version", "Unknown")
20+
21+
return web.json_response(
22+
{
23+
"validatorWrapperVersion": __version__,
24+
"validatorVersion": validator_version,
25+
}
26+
)
1327

1428
@sdk.operation(["POST"], ["validate"], public=True)
1529
async def validate_op(_operation: SDKOperation, request: SDKOperationRequest) -> web.Response:
16-
fhir_client = request["app"][ak.fhir_client]
30+
app = request["app"]
31+
fhir_client = app[ak.fhir_client]
1732
request_data = request["resource"]
18-
logging.error("Validation request: %s", request_data)
33+
is_debug = os.environ.get("REQUEST_DEBUG", "False") == "True"
34+
if is_debug:
35+
await save_request(fhir_client, request_data)
1936
formatted_request = official_format_to_aidbox(request_data)
2037
resource_to_validate = formatted_request["resource"]
2138
resource_type = resource_to_validate.get("resourceType", "Patient")
2239
file_info = formatted_request["file_info"]
2340
session_id = formatted_request["session_id"]
2441

25-
logging.error("Resource to validate: %s", resource_to_validate)
26-
2742
validation_results = await fhir_client.execute(
28-
f"fhir/{resource_type}/$validate", method="POST", data=resource_to_validate
43+
f"{resource_type}/$validate", method="POST", data=resource_to_validate
2944
)
3045
validation_results = aidbox_response_to_official_format(
3146
validation_results, file_info, session_id, resource_type
3247
)
3348

34-
logging.error("Validation results: %s", validation_results)
35-
3649
return web.json_response(validation_results)
3750

3851

@@ -102,7 +115,6 @@ def aidbox_response_to_official_format(
102115

103116

104117
def format_issue(aidbox_issue: dict, location: str) -> dict:
105-
logging.error("Aidbox issue: %s", aidbox_issue)
106118
code = get_aidbox_issue_code(aidbox_issue)
107119
diagnostics = aidbox_issue.get("diagnostics", "")
108120
expressions = aidbox_issue.get("expression", [])

compose.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ services:
2323
volumes:
2424
- ./backend:/backend
2525
devbox:
26-
image: healthsamurai/aidboxone:edge
26+
image: healthsamurai/aidboxone:2512.2
2727
depends_on:
2828
devbox-db:
2929
condition: service_healthy

env/app

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,6 @@ APP_SECRET=secret
77
APP_URL=http://validator-app:8081
88
APP_PORT=8081
99
AIO_PORT=8081
10-
AIO_HOST=0.0.0.0
10+
AIO_HOST=0.0.0.0
11+
12+
REQUEST_DEBUG=True

0 commit comments

Comments
 (0)