Skip to content
A FHIR® Store with internal, fast CQL Evaluation Engine
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
dev Basic Search Functionality May 16, 2019
docs Update test Results for Update Interaction May 16, 2019
fhir/r4 New DB Schema May 13, 2019
integration-test Add Readme Example to Integration Tests Apr 23, 2019
perf-test Update test Results for Update Interaction May 16, 2019
src Fix Missing CORS Headers on OPTIONS for CQL Evaluation Handler May 20, 2019
test/blaze Fix Missing CORS Headers on OPTIONS for CQL Evaluation Handler May 20, 2019
.dockerignore Add Docu Mar 29, 2019
.gitignore Update test Results for Update Interaction May 16, 2019
.travis.yml String Operators Apr 22, 2019
Dockerfile Release v0.4 May 16, 2019
LICENSE Initial Commit Mar 28, 2019
README.md Manual Installation Documentation May 13, 2019
docker-compose.yml
fetch-cql-tests.sh String Operators Apr 22, 2019
project.clj Release v0.4 May 16, 2019

README.md

Blaze

Build Status Dependencies Status Docker Pulls Image Layers

A FHIR® Store with internal, fast CQL Evaluation Engine

Goal

The goal of this project is to provide a FHIR® Store with an internal CQL Evaluation Engine which is able to answer population wide aggregate queries in a timely manner to enable interactive, online queries.

State

The project is currently under active development. Essentially all official CQL Tests pass. Please report any issues you encounter during evaluation.

Installation

The installation of Blaze is described in the Installation Section of the Blaze documentation.

Usage

In order to test connectivity, you can query the health endpoint:

curl http://localhost:8080/health

It should return OK.

Upload FHIR Resources

Before you can issue CQL queries against Blaze, you have to upload some FHIR resources. If you have none, you can generate them by using the FHIR Test Data Generator.

life-fhir-gen -n1 > bundle.json

Next you need to upload that bundle.json to Blaze:

curl -d @bundle.json http://localhost:8080/fhir

The result should be:

{"message":"OK","t":<some number>}

If you like to upload your own resources, it's important, that Blaze is currently configured to use a subset of FHIR R4. The available Resources can be seen at startup in the Read structure definitions output.

Issuing a CQL Query

The most convenient way is to use the CQL Runner. You have to go into the Config menu and set the CQL Engine to http://localhost:8080/cql/evaluate. The other config options doesn't matter because the CQL Engine of Blaze always uses its own internal data.

As a test query you can use

using FHIR version '4.0.0'
context Patient
context Population

define NumberOfPatients:
  Count([Patient])

define AllPatients:
  [Patient]

The result should be something like

>> NumberOfPatients [7:1] 10
>> Patient [10:1] [ {
  "birthDate" : "AgfNBQg=",
  "id" : "1001",
  "gender" : "male",
  "resourceType" : "Patient"
}, {
  "birthDate" : "AgfOARE=",
  "id" : "1002",
  "gender" : "female",
  "resourceType" : "Patient"
} ]

Deleting the Data Volume

If you like to restart with a fresh database, you have to delete the data volume. You can do this by typing:

docker volume rm blaze_db-data

License

Copyright © 2019 LIFE Research Center (Alexander Kiel)

Distributed under the Eclipse Public License either version 1.0 or (at your option) any later version.

You can’t perform that action at this time.