This
page
is
part
of
the
FHIR
Specification
(v3.0.2:
(v4.0.1:
R4
-
Mixed
Normative
and
STU
3).
)
in
it's
permanent
home
(it
will
always
be
available
at
this
URL).
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
R4
R3
For
more
information
about
operations,
including
how
they
are
invoked,
see
Operations
.
14.5.10.1
Evaluate
Measure
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
patient
0..1
Reference
(
Patient
)
Patient
to
evaluate
against.
If
not
specified,
the
measure
will
be
evaluated
for
all
patients
that
meet
the
requirements
of
the
measure.
If
specified,
only
the
referenced
patient
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
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
14.5.10.1.1
Examples
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?patient-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>
<measure>
<reference value="Measure/CMS146"/>
</measure>
<type value="summary"/>
<period>
<start value="2014-01-01" />
<end value="2014-03-31" />
</period>
<status value="complete"/>
<reportingOrganization>
<reference value="#reporter"/>
</reportingOrganization>
<group>
<identifier><value value="CMS146-group-1"/></identifier>
<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>
<identifier><value value="stratifier-ages-up-to-9"/></identifier>
<stratum>
<value value="true"/>
<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 value="false"/>
<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>
<identifier><value value="stratifier-ages-10-plus"/></identifier>
<stratum>
<value value="true"/>
<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 value="false"/>
<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>
<identifier><value value="stratifier-gender"/></identifier>
<stratum>
<value value="male"/>
<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 value="female"/>
<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 value="other"/>
<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 value="unknown"/>
<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>
14.5.10.2
Submit
Data
Requirements
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
$collect-data
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
Collect
Data
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
Care
Gaps
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)
14.5.10.2.1
Examples
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"
}
]
}
]
}
For
more
information
about
operations,
including
how
they
are
invoked,
see
Operations
.