Canonical Resource Management Infrastructure Implementation Guide
1.0.0-ballot - Ballot International flag

This page is part of the Canonical Resource Management Infrastructure Implementation Guide (v1.0.0-ballot: STU1 Ballot 1) based on FHIR R4. . For a full list of available versions, see the Directory of published versions

Example Measure: publishable-example-measure

Draft as of 2023-03-13

Generated Narrative: Measure

Resource Measure "publishable-example"

Profile: CRMI Publishable Measure

CRMI Software System: Device/cqf-tooling

CRMI Effective Data Requirements:

Direct reference code: 10-14 years (Details: http://example.org/CodeSystem/iso-8601-derived-periods code P10Y--P14Y = 'P10Y--P14Y', stated as '10-14 years')

Direct reference code: 15-19 years (Details: http://example.org/CodeSystem/iso-8601-derived-periods code P15Y--P19Y = 'P15Y--P19Y', stated as '15-19 years')

Direct reference code: 20+ years (Details: http://example.org/CodeSystem/iso-8601-derived-periods code P20Y--P9999Y = 'P20Y--P9999Y', stated as '20+ years')

Logic definition

url

libraryName

value: ANCBaseDataElements

url

name

value: Antenatal care contact

url

statement

value: define "Antenatal care contact": ["Encounter": type in BCx."Antenatal care contact"]

url

displaySequence

value: 0

Logic definition

url

libraryName

value: ANCIND01

url

name

value: First antenatal care contact

url

statement

value: define "First antenatal care contact": BaseData."Antenatal care contact" C where C.reasonCode in Cx."First Antenatal Care Contact Choices"

url

displaySequence

value: 1

Logic definition

url

libraryName

value: ANCContactDataElements

url

name

value: Gestational age

url

statement

value: /* @dataElement: ANC.B6.DE17 Gestational age @activity: ANC.B6 Profile @description: Gestational age in weeks and/or days depending on the source of gestational age */ define "Gestational age": WC.MostRecent( [Observation: Cx."Gestational age"] O where O.status in { 'final', 'amended', 'corrected' } and Coalesce(WC.ModifierExtension(O, 'who-notDone').value, false) is false and Last(Split(O.encounter.reference, '/')) = Last(Split(encounter, '/')) ).value as FHIR.Quantity

url

displaySequence

value: 2

Logic definition

url

libraryName

value: ANCIND01

url

name

value: Numerator

url

statement

value: /* Numerator: Number of pregnant women who had their first ANC contact before 12 weeks (facility level) Numerator Computation: Count of women whose gestational age <= 12 weeks at the time of first contact */ define Numerator: exists ( "First antenatal care contact" C where C.period starts during "Measurement Period" and ContactData."Gestational age" <= 12 weeks )

url

displaySequence

value: 3

Logic definition

url

libraryName

value: ANCStratifiers

url

name

value: By Age

url

statement

value: /* By Patient Age as of the start of the Measurement Period Age (10-14, 15-19, 20+) */ define "By Age": case when AgeInYearsAt(start of "Measurement Period") in Interval[10, 14] then "P10Y--P14Y" when AgeInYearsAt(start of "Measurement Period") in Interval[15, 19] then "P15Y--P19Y" when AgeInYearsAt(start of "Measurement Period") >= 20 then "P20Y--P9999Y" else null end

url

displaySequence

value: 4

Logic definition

url

libraryName

value: ANCIND01

url

name

value: Age Stratifier

url

statement

value: /* Disaggregation: Age (10-14, 15-19, 20+) */ define "Age Stratifier": Stratifiers."By Age"

url

displaySequence

value: 5

Logic definition

url

libraryName

value: ANCIND01

url

name

value: Denominator

url

statement

value: /* Denominator: Total number of antenatal clients with a first contact Denominator Computation: Count of all women who had first contact within the last reporting period */ define Denominator: exists ( "First antenatal care contact" C where C.period starts during "Measurement Period" )

url

displaySequence

value: 6

Logic definition

url

libraryName

value: ANCStratifiers

url

name

value: By Education Level

url

statement

value: /* By Patient Education Level (none, don't know, primary, secondary, higher) */ define "By Education Level": Patient.extension E where E.url = 'http://fhir.org/guides/who/anc-cds/StructureDefinition/educationlevel' return E.value as CodeableConcept

url

displaySequence

value: 7

Logic definition

url

libraryName

value: ANCIND01

url

name

value: Education Level Stratifier

url

statement

value: /* Disaggregation: Education Level (none, don't know, primary, secondary, higher) */ define "Education Level Stratifier": Stratifiers."By Education Level"

url

displaySequence

value: 8

Logic definition

url

libraryName

value: ANCBaseDataElements

url

name

value: Antenatal care case

url

statement

value: /* define "Pregnant": "Pregnancy" is not null or "Pregnancy status" in BCx."Pregnancy status - pregnant" define "Pregnancy status": FHIRHelpers.ToConcept( Last( [Observation: BCx."Pregnancy status"] O where O.status = 'final' sort by FHIRHelpers.ToDateTime(effective as FHIR.dateTime) ).value ) */ define "Antenatal care case": ["EpisodeOfCare": type in BCx."Antenatal care case"]

url

displaySequence

value: 9

Logic definition

url

libraryName

value: ANCIND01

url

name

value: Initial Population

url

statement

value: /* Initial population: Antenatal clients */ define "Initial Population": exists (BaseData."Antenatal care case")

url

displaySequence

value: 10

status: active

type: Module Definition (LibraryType#module-definition)

RelatedArtifacts

-TypeDisplayResource
*depends-onLibrary ANCCohortANC Cohort
*depends-onLibrary FHIRHelpershttp://fhir.org/guides/cqf/common/Library/FHIRHelpers|4.0.1
*depends-onExample Code system ISO-8601-Derived Periodshttp://example.org/CodeSystem/iso-8601-derived-periods
*depends-onValue set Antenatal care contacthttp://fhir.org/guides/who/anc-cds/ValueSet/antenatal-care-contact
*depends-onValue set First Antenatal Care Contact Choiceshttp://fhir.org/guides/who/anc-cds/ValueSet/anc-b5-de2
*depends-onValue set Gestational agehttp://fhir.org/guides/who/anc-cds/ValueSet/anc-b6-de17
*depends-onValue set Antenatal care casehttp://fhir.org/guides/who/anc-cds/ValueSet/antenatal-care-case

Parameters

-NameUseMinMaxType
*Measurement Periodin01Period
*encounterin01string
*Numeratorout01boolean
*Age Stratifierout01Coding
*Denominatorout01boolean
*Education Level Stratifierout0*CodeableConcept
*Initial Populationout01boolean

dataRequirement

Is Selective: true

type: Encounter

profile: Encounter

mustSupport: type, reasonCode, period

codeFilter

dataRequirement

Is Selective: true

type: Observation

profile: Observation

mustSupport: code, status, encounter, encounter.reference

codeFilter

dataRequirement

type: Patient

profile: Patient

mustSupport: url, value

dataRequirement

type: EpisodeOfCare

profile: EpisodeOfCare

mustSupport: type

codeFilter

url: http://hl7.org/fhir/uv/crmi/Measure/publishable-example

version: 1.0.0-ballot

name: ANCIND01

title: ANC.IND.01 Percentage of pregnant women with first ANC contact in the first trimester

status: draft

experimental: false

date: 2023-03-13 22:32:10-0600

publisher: Clinical Decision Support WG

contact: http://www.hl7.org/Special/committees/dss

description: Percentage of pregnant women with first ANC contact in the first trimester (before 12 weeks of gestation)

jurisdiction: World (m49.htm#001)

relatedArtifact

Is Primary Citation: true

type: citation

citation: WHO, UN Women, UNFPA. Health care for women subjected to intimate partner violence or sexual violence – a clinical handbook. Geneva: World Health Organization; 2014

url: https://apps.who.int/iris/bitstream/handle/10665/136101/WHO_RHR_14.26_eng.pdf

document

library: ANC Cohort

scoring: Proportion (MeasureScoring#proportion)

type: Process (MeasureType#process)

improvementNotation: Increased score indicates improvement (MeasureImprovementNotation#increase)

group

id

group-1

population

id

initial-population

code: Initial Population (MeasurePopulationType#initial-population)

Criteria

-LanguageExpression
*text/cql-identifierInitial Population

population

id

denominator

code: Denominator (MeasurePopulationType#denominator)

Criteria

-LanguageExpression
*text/cql-identifierDenominator

population

id

numerator

code: Numerator (MeasurePopulationType#numerator)

Criteria

-LanguageExpression
*text/cql-identifierNumerator

stratifier

id

by-age

code: Age ()

Criteria

-LanguageExpression
*text/cql-identifierAge Stratifier

stratifier

id

by-education-level

code: Education Level ()

Criteria

-LanguageExpression
*text/cql-identifierEducation Level Stratifier

Contained resources