This Spring Boot sample application uses the CQL Java engine and implements the $evaluate operation.
- The client sends a request to the custom Aidbox
$evaluate
endpoint created using the App resource. - Aidbox redirects the request to the Spring Boot application.
- The CQL Java engine evaluates the specified file.
docker compose up
mvn spring-boot:run
2. Create a new endpoint at http://<aidbox-url>/Library/<cql-file-name>/$evaluate
, which will redirect to localhost:8080
.
Paste the following HTTP request into the Aidbox Rest Console:
PUT /App/com.cql.app.example
Content-Type: application/json
Accept: application/json
{
"id": "com.cql.app.example",
"type": "app",
"endpoint": {
"url": "http://host.docker.internal:8080",
"type": "http-rpc",
"secret": "mysecret"
},
"apiVersion": 1,
"operations": {
"cql-library-evaluate": {
"path": [
"Library",
{
"name": "libraryName"
},
"$evaluate"
],
"method": "POST"
}
},
"resourceType": "App"
}
POST /fhir/Patient
Content-Type: application/json
Accept: application/json
{
"resourceType": "Patient",
"gender": "male",
"name": [
{
"family": "fam"
}
]
}
library example
using FHIR version '4.0.1'
include FHIRHelpers version '4.0.1'
define "MalePatients":
[Patient] P
where P.gender.value = 'male'
return P.name[0]
Request:
POST /Library/example/$evaluate
Response:
{
"resourceType": "Parameters",
"parameters": [
{
"name": "MalePatients",
"valueHumanName": {
"family": "fam"
}
}
]
}