Digital Quality Measures (DQM)
The DQM module enables a scalable, distributed Measure engine on Smile CDR. This distributed engine allows a Smile CDR cluster to do Measure evaluation on large (20k-1MM+) sets of subjects. To take advantage this functionality you need to have a clustered Smile CDR deployment (see Clustering for more information) and a premium license for the DQM module (see Licensing for more information).
The engine works by asynchronously calculating MeasureReport for subsets of the overall population and then aggregating all the subsets into a final report.
Smile CDR follows the async request pattern defined in the FHIR specification. Async Measure evaluation can be activated by including a Prefer: respond-async
header on requests to the $evaluate-measure operation. The response of $evaluate-measure
will be a MeasureReport
FHIR Resource with its status
set to pending
. The MeasureReport
will be updated and its status
set to complete
once the async evaluation is complete.
In contrast to the standard synchronous $evaluate-measure
operation which does not alter server state and produces only a transient MeasureReport
, the asynchronous invocation does create a MeasureReport
resource on the server that will be updated once the evaluation is complete.
The progress of distributed, async Measure evaluations can be viewed on the batch2 jobs admin screen.
The chunkSize
configuration option of the DQM module controls how many subjects are evaluated at one time. The default value is set conservatively to allow distributed evaluation to work on most deployments. Increasing the chunkSize
may improve throughput if enough memory is available to the cluster. Optimal chunkSize
depends on several factors, such as available memory, number of nodes in a cluster, the complexity of a given Quality Measure, and the number of FHIR Resources associated with each subject.
The Digital Quality Measures (DQM) module includes the following configuration categories: