This page is part of the FHIR Specification (v4.6.0: R5 Draft Ballot - see ballot notes). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions . Page versions: R5 R4B R4
Clinical Quality Information Work Group | Maturity Level: 3 | Trial Use | Compartments: N/A |
The evaluate-measure operation is used to calculate an eMeasure and obtain the results.
The official URL for this operation definition is
http://hl7.org/fhir/OperationDefinition/Measure-evaluate-measure
Formal Definition (as a OperationDefinition).
URL: [base]/Measure/$evaluate-measure
URL: [base]/Measure/[id]/$evaluate-measure
This is an idempotent operation
In Parameters: | |||||
Name | Cardinality | Type | Binding | Profile | Documentation |
periodStart | 1..1 | date | 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 | 1..1 | date | 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 | ||
measure | 0..1 | string (reference) | The measure to evaluate. This parameter is only required when the operation is invoked on the resource type, it is not used when invoking the operation on a Measure instance | ||
reportType | 0..1 | code | The type of measure report: subject, subject-list, or population. If not specified, a default value of subject will be used if the subject parameter is supplied, otherwise, population will be used | ||
subject | 0..1 | string (reference) | Subject 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 | 0..1 | string (reference) | Practitioner for which the measure will be calculated. If specified, the measure will be calculated only for subjects that have a primary relationship to the identified practitioner | ||
lastReceivedOn | 0..1 | dateTime | The date the results of this measure were last received. This parameter is only valid for patient-level reports and is used to indicate when the last time a result for this patient was received. This information can be used to limit the set of resources returned for a patient-level report | ||
Out Parameters: | |||||
Name | Cardinality | Type | Binding | Profile | Documentation |
return | 1..1 | MeasureReport | The results of the measure calculation. See the MeasureReport resource for a complete description of the output of this operation. Note that implementations may choose to return a MeasureReport with a status of pending to indicate that the report is still being generated. In this case, the client can use a polling method to continually request the MeasureReport until the status is updated to complete Note: as this is the only out parameter, it is a resource, and it has the name 'return', the result of this operation is returned directly as a resource |
The effect of invoking this operation is to calculate the measure for the given subject, or all subjects if no subject is supplied, and return the results as a MeasureReport resource of the appropriate type. Note that whether or not this operation affects the state of the server depends on whether the server persists the generated MeasureReport. If the MeasureReport is not persisted, this operation can be invoked with GET
Request: Request evaluation of the CMS146 measure for patient 124 over a measurement period of the first 3 months of 2014
GET [base]/Measure/CMS146/$evaluate-measure?periodStart=2014&periodEnd=2014 GET [base]/Measure/CMS146/$evaluate-measure?subject=124&periodStart=2014-01&periodend=2014-03
Response: Returned on successful evaluation
HTTP/1.1 200 OK <?xml version="1.0" encoding="UTF-8"?> <MeasureReport xmlns="http://hl7.org/fhir"> <id value="evaluate-measure-operation-response"/> <text> <status value="generated"/> <div xmlns="http://www.w3.org/1999/xhtml"> <!-- Generated... --> </div> </text> <contained> <Organization> <id value="reporter"/> <name value="Good Health Hospital"/> </Organization> </contained> <status value="complete"/> <type value="summary"/> <measure value="http://example.org/fhir/Measure/CMS146"/> <reporter> <reference value="#reporter"/> </reporter> <period> <start value="2014-01-01" /> <end value="2014-03-31" /> </period> <group id="CMS146-group-1"> <population> <code><coding><code value="initial-population"/></coding></code> <count value="500"/> </population> <population> <code><coding><code value="numerator"/></coding></code> <count value="200"/> </population> <population> <code><coding><code value="denominator"/></coding></code> <count value="500"/> </population> <population> <code><coding><code value="denominator-exclusion"/></coding></code> <count value="100"/> </population> <stratifier> <code><text value="stratifier-ages-up-to-9"/></code> <stratum> <value><text value="true"/></value> <population> <code><coding><code value="initial-population"/></coding></code> <count value="250"/> </population> <population> <code><coding><code value="numerator"/></coding></code> <count value="100"/> </population> <population> <code><coding><code value="denominator"/></coding></code> <count value="250"/> </population> <population> <code><coding><code value="denominator-exclusion"/></coding></code> <count value="50"/> </population> </stratum> <stratum> <value><text value="false"/></value> <population> <code><coding><code value="initial-population"/></coding></code> <count value="250"/> </population> <population> <code><coding><code value="numerator"/></coding></code> <count value="100"/> </population> <population> <code><coding><code value="denominator"/></coding></code> <count value="250"/> </population> <population> <code><coding><code value="denominator-exclusion"/></coding></code> <count value="50"/> </population> </stratum> </stratifier> <stratifier> <code><text value="stratifier-ages-10-plus"/></code> <stratum> <value><text value="true"/></value> <population> <code><coding><code value="initial-population"/></coding></code> <count value="250"/> </population> <population> <code><coding><code value="numerator"/></coding></code> <count value="100"/> </population> <population> <code><coding><code value="denominator"/></coding></code> <count value="250"/> </population> <population> <code><coding><code value="denominator-exclusion"/></coding></code> <count value="50"/> </population> </stratum> <stratum> <value><text value="false"/></value> <population> <code><coding><code value="initial-population"/></coding></code> <count value="250"/> </population> <population> <code><coding><code value="numerator"/></coding></code> <count value="100"/> </population> <population> <code><coding><code value="denominator"/></coding></code> <count value="250"/> </population> <population> <code><coding><code value="denominator-exclusion"/></coding></code> <count value="50"/> </population> </stratum> </stratifier> <stratifier> <code><text value="stratifier-gender"/></code> <stratum> <value><text value="male"/></value> <population> <code><coding><code value="initial-population"/></coding></code> <count value="250"/> </population> <population> <code><coding><code value="numerator"/></coding></code> <count value="100"/> </population> <population> <code><coding><code value="denominator"/></coding></code> <count value="250"/> </population> <population> <code><coding><code value="denominator-exclusion"/></coding></code> <count value="50"/> </population> </stratum> <stratum> <value><text value="female"/></value> <population> <code><coding><code value="initial-population"/></coding></code> <count value="250"/> </population> <population> <code><coding><code value="numerator"/></coding></code> <count value="100"/> </population> <population> <code><coding><code value="denominator"/></coding></code> <count value="250"/> </population> <population> <code><coding><code value="denominator-exclusion"/></coding></code> <count value="50"/> </population> </stratum> <stratum> <value><text value="other"/></value> <population> <code><coding><code value="initial-population"/></coding></code> <count value="0"/> </population> <population> <code><coding><code value="numerator"/></coding></code> <count value="0"/> </population> <population> <code><coding><code value="denominator"/></coding></code> <count value="0"/> </population> <population> <code><coding><code value="denominator-exclusion"/></coding></code> <count value="0"/> </population> </stratum> <stratum> <value><text value="unknown"/></value> <population> <code><coding><code value="initial-population"/></coding></code> <count value="0"/> </population> <population> <code><coding><code value="numerator"/></coding></code> <count value="0"/> </population> <population> <code><coding><code value="denominator"/></coding></code> <count value="0"/> </population> <population> <code><coding><code value="denominator-exclusion"/></coding></code> <count value="0"/> </population> </stratum> </stratifier> </group> </MeasureReport>
For more information about operations, including how they are invoked, see Operations.