This page is part of the FHIR Specification (v3.2.0: R4 Ballot 1). 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 R3
Clinical Quality Information Work Group | Maturity Level: 2 | Trial Use | Compartments: Not linked to any defined compartments |
This resource has 2 operations associated with it:
$evaluate-measure | Evaluate Measure |
$data-requirements | Data Requirements |
For more information about operations, including how they are invoked, see Operations.
The evaluate-measure operation is used to invoke 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 not 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 | Reference(Measure) | 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, patient, patient-list, or population. If not specified, a default value of patient will be used if the patient parameter is supplied, otherwise, population will be used | ||
subject | 0..1 | Reference(Patient|Practitioner|Organization|Location|Device|Group) | Subject to evaluate against. If not specified, the measure will be evaluated for all subjects that meet the requirements of the measure. If specified, only the referenced subject(s) will be evaluated | ||
practitioner | 0..1 | Reference(Practitioner) | Practitioner to evaluate. If specified, the measure will be evaluated only for patients whose primary practitioner is 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: as this 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 patient, or all patients if no patient is supplied, and return the results as a MeasureReport resource of the appropriate type
Request evaluation of the CMS146 measure for patient 124 over a measurement period of the first 3 months of 2014 (Request):
GET [base]/Measure/CMS146/$evaluate-measure?periodStart=2014&periodEnd=2014 GET [base]/Measure/CMS146/$evaluate-measure?subject=124&periodStart=2014-01&periodend=2014-03
Returned on successful evaluation (Response):
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> <reference value="Measure/CMS146"/> </measure> <reportingOrganization> <reference value="#reporter"/> </reportingOrganization> <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>
The data-requirements operation aggregates and returns the parameters and data requirements for the measure and all its dependencies as a single module definition
The official URL for this operation definition is
http://hl7.org/fhir/OperationDefinition/Measure-data-requirements
Formal Definition (as a OperationDefinition).
URL: [base]/Measure/[id]/$data-requirements
This is not 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 | ||
Out Parameters: | |||||
Name | Cardinality | Type | Binding | Profile | Documentation |
return | 1..1 | Library | The result of the requirements gathering is a module-definition Library that describes the aggregate parameters, data requirements, and dependencies of the measure Note: as this 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 determine the aggregate set of data requirements and dependencies for the measure. The result is a Library resource with a type of module-definition that contains all the parameter definitions and data requirements of the libraries referenced by the measures. Implementations SHOULD aggregate data requirements intelligently (i.e. by collapsing overlapping data requirements)
Request data requirements for the CMS146 measure (Request):
GET [base]/Measure/CMS146/$data-requirements?periodStart=2014&periodEnd=2014
Returned on successful evaluation (Response):
HTTP/1.1 200 OK { "resourceType": "Library", "type": { "coding": [ { "code": "module-definition" } ] }, "relatedArtifact": [ { "type": "depends-on", "resource": { "reference": "Library/library-quick-model-definition" } } ], "dataRequirement": [ { "type": "Condition", "codeFilter": [ { "path": "code", "valueSetString": "Other Female Reproductive Conditions" } ] }, { "type": "Patient" }, { "type": "Condition", "codeFilter": [ { "path": "category", "valueCode": [ "diagnosis" ] }, { "path": "clinicalStatus", "valueCode": [ "confirmed" ] }, { "path": "code", "valueSetString": "2.16.840.1.113883.3.464.1003.102.12.1011" } ] }, { "type": "Condition", "codeFilter": [ { "path": "category", "valueCode": [ "diagnosis" ] }, { "path": "clinicalStatus", "valueCode": [ "confirmed" ] }, { "path": "code", "valueSetString": "2.16.840.1.113883.3.464.1003.102.12.1012" } ] }, { "type": "Encounter", "codeFilter": [ { "path": "status", "valueCode": [ "finished" ] }, { "path": "class", "valueCode": [ "ambulatory" ] }, { "path": "type", "valueSetString": "2.16.840.1.113883.3.464.1003.101.12.1061" } ] }, { "type": "DiagnosticReport", "codeFilter": [ { "path": "diagnosis", "valueSetString": "2.16.840.1.113883.3.464.1003.198.12.1012" } ] }, { "type": "Medication", "codeFilter": [ { "path": "code", "valueSetString": "2.16.840.1.113883.3.464.1003.196.12.1001" } ] }, { "type": "MedicationRequest", "codeFilter": [ { "path": "status", "valueCode": [ "active" ] }, { "path": "medication.code", "valueSetString": "2.16.840.1.113883.3.464.1003.196.12.1001" } ] }, { "type": "MedicationStatement", "codeFilter": [ { "path": "status", "valueCode": [ "completed" ] }, { "path": "medication.code", "valueSetString": "2.16.840.1.113883.3.464.1003.196.12.1001" } ] } ] }