Smile CDR v2023.11.PRE
On this page:
   42.7    Transaction Log Persistence 42.9    Documentation Templates and Rules (DTR)   

42.8.1Digital 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.

42.8.2Async Evaluation


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.

42.8.3Setting Chunk Size


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.

42.8.4Multi-Threaded Evaluation


The Threading Enabled configuration option of the DQM module that controls whether multi-threaded evaluate-measure is used when performing the Async $evaluate-measure operation. This introduces further parallelization performance when activated by leveraging the number of threads and additional batching of patients into parallel threads for processing quality measures. Batch Size

The Threading Batch Size configuration under threading options controls quantity of patient resources to be processed per thread when multi-threading is enabled. of Threads

The Number of Threads configuration threading option controls the quantity of threads to be utilized for $evaluate-measure, this enables the level of parallelization that can be created by Smile CDR and will need to be less than the number of available threads CDR is set up with.

42.8.5Configuration Categories


The Digital Quality Measures (DQM) module includes the following configuration categories:

   42.7    Transaction Log Persistence 42.9    Documentation Templates and Rules (DTR)