Clinical Quality Language (CQL)
The $evaluate-measure
operation, along with any additional parameters provided, is used to calculate the quality of a given Measure. This operation returns a MeasureReport resource containing the results.
GET /Measure/[id]/$evaluate-measure
Where [id]
is the ID of the Measure resource to execute the $evaluate-measure
operation on.
Optional parameters available for this operation:
Name | Type | Cardinality | Description |
---|---|---|---|
periodStart | Date | 1..1 | The start of the measurement period. In keeping with the semantics of the date parameter used in the FHIR search operation, the period will start at the beginning of the period implied by the supplied timestamp. E.g. a value of 2014 would set the period start to be 2014-01-01T00:00:00 inclusive |
periodEnd | Date | 1..1 | The end of the measurement period. The period will end at the end of the period implied by the supplied timestamp. E.g. a value of 2014 would set the period end to be 2014-12-31T23:59:59 inclusive |
reportType | Code | 0..1 | The type of measure report: patient, patient-list, or population. A default value of patient will be used if not specified, or if the patient parameter is provided but the reportType parameter is not specified. |
patient | Code | 0..1 | Patient for which the measure will be calculated. If not specified, the measure will be calculated for all subjects that meet the requirements of the measure. If specified, the measure will only be calculated for the referenced subject(s) |
practitioner | Code | 0..1 | Practitioner for which the measure will be calculated. If specified, the measure will be calculated only for patients that have a primary relationship to the identified practitioner |
Note if the measurement is to be restricted to a particular date range, via the periodStart and periodEnd parameters, then both of these parameters must be provided. Otherwise, these parameters are ignored (if only one of them is specified).
The $evaluate-measure
operation may be invoked multiple times without side effects. Note that the results returned by this operation may vary over time as the clinical data used changes between operation invocations, even if the provided parameters are unchanged.
This example makes use of this large bundle which contains the Measure resource to be evaluated, as well as a related set of resources, including a Library resource with embedded CQL, ValueSets, Patient, etc.
First, load this bundle into a Smile CDR instance:
curl -X "POST" \
-H "Content-Type: application/json" \
--data @measure-bundle-example.json \
"http://127.0.0.1:8000/"
Then we can execute the $evaluate-measure
operation on the Measure resource that was included in this sample bundle by its id, measure-EXM104-8.2.000
:
GET http://localhost:8000/Measure/measure-EXM104-8.2.000/$evaluate-measure?periodStart=2019-01-01&periodEnd=2019-12-31
This will return a MeasureReport resource containing the results of the evaluation.