This Spring Boot sample application uses the CQL Java engine and implements the $evaluate operation.
$evaluate
endpoint created using the App resource.docker compose up
mvn spring-boot:run
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"
}
]
}
resources/example.cql
file: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]
example
CQL library using the Aidbox Rest Console.Request:
POST /Library/example/$evaluate
Response:
{
"resourceType": "Parameters",
"parameters": [
{
"name": "MalePatients",
"valueHumanName": {
"family": "fam"
}
}
]
}