Clinical Quality Framework is an effort to “identify, develop, and harmonize standards that promote integration and reuse between Clinical Decision Support (CDS) and Clinical Quality Measurement (CQM)” (see http://wiki.hl7.org/index.php?title=Clinical_Quality_Framework). The framework defines a large breadth of use cases, requirements, and tools. CQF-Ruler, a project by the Database Consulting Group, is an open source project that has several CQF tools in the form of API endpoints. The HSPC Logica Sandbox Manager has implemented the CQF-Ruler project into our STU3 FHIR server for all users to try out.
Endpoints
In these examples, I’ll be using a sandbox I called cqfruler.
...
Code Block |
---|
POST https://api-v5-stu3.hspconsortiumlogicahealth.org/cqfruler/data |
$submit-data
This endpoint allows users to submit FHIR data to a “payer”. The operation requires a Parameter resource that contains a list of resources you’d like to submit (see http://build.fhir.org/ig/Healthedata1/DaVinci/OperationDefinition-submit-data.html).
Code Block |
---|
POST https://api-v5-stu3.hspconsortiumlogicahealth.org/cqfruler/open/Measure/measure-mrp/$submit-data --- REQUEST BODY --- [use content in submit-data-parameter-resource.json] |
The server will return a "transaction-response" bundle showing whether the resources were successfully created in the server.
$evaluate-measure
This endpoint “calculate[s] the measure for the given patient, or all patients if no patient is supplied” (see https://www.hl7.org/fhir/measure-operations.html). In this example we provide a patient, as well as a period which the api uses to limit its evaluation.
Code Block |
---|
https://api-v5-stu3.hspconsortiumlogicahealth.org/cqfruler/open/Measure/measure-asf/$evaluate-measure?periodStart=2003-01-01&periodEnd=2003-12-31&patient=Patient/Patient-6529 |
The server will return a MeasureReport resource summarizing the evaluation.
$care-gaps
This endpoint is used to “determine gaps-in-care based on the results of quality measures” (see http://build.fhir.org/operation-measure-care-gaps.html). This example uses the same parameters as above but includes a “topic” parameter which is used to determine which measures are included in the report.
Code Block |
---|
GET https://api-v5-stu3.hspconsortiumlogicahealth.org/cqfruler/open/Measure/$care-gaps?periodStart=1997-01-01&periodEnd=1997-12-31&patient=Patient/Patient-6523&topic=Preventive%20Care%20and%20Screening |
The server will return a bundle summarizing the results of each measure found.
$apply
This endpoint “applies” either an ActivityDefinition or PlanDefinition resource to a given context. The context is given in the parameters of the url call. In these examples, only patient is used although others are available (see https://www.hl7.org/fhir/activitydefinition-operations.html and https://www.hl7.org/fhir/plandefinition-operations.html).
Code Block |
---|
GET https://api-v5-stu3.hspconsortiumlogicahealth.org/cqfruler/open/ActivityDefinition/ad-apply-example/$apply?patient=Patient-12214 |
...
Code Block |
---|
GET https://api-v5-stu3.hspconsortiumlogicahealth.org/cqfruler/open/PlanDefinition/apply-example/$apply?patient=Patient-12214 |
The server will return a CarePlan resource.
$data-requirements
This endpoint “aggregates and returns the parameters and data requirements for a resource and all its dependencies as a single module definition” (see https://www.hl7.org/fhir/library-operations.html).
Code Block |
---|
GET https://api-v5-stu3.hspconsortiumlogicahealth.org/cqfruler/open/Measure/measure-asf/$data-requirements?periodStart=2018-07-06&periodEnd=2018-09-06 |
...