Canonical Resource Management Infrastructure Implementation Guide, published by HL7 International / Clinical Decision Support. This guide is not an authorized publication; it is the continuous build for version 1.1.0-cibuild built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/crmi-ig/ and changes regularly. See the Directory of published versions
Draft as of 2023-03-13 |
{
"resourceType" : "Measure",
"id" : "shareable-example",
"meta" : {
"profile" : [
🔗 "http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-shareablemeasure"
]
},
"text" : {
"status" : "extensions",
"div" : "<div xmlns=\"http://www.w3.org/1999/xhtml\">\n <table class=\"narrative-table\">\n <tbody>\n<tr>\n\n<th colspan=\"2\" scope=\"row\" class=\"row-header\">Knowledge Artifact Metadata</th>\n\n</tr>\n\n<tr>\n\n<th scope=\"row\" class=\"row-header\">Name (machine-readable)</th>\n\n<td class=\"content-container\">ANCIND01Shareabale</td>\n</tr>\n\n\n<tr>\n\n<th scope=\"row\" class=\"row-header\">Title (human-readable)</th>\n\n<td class=\"content-container\">ANC.IND.01 Percentage of pregnant women with first ANC contact in the first trimester (Shareable Example)</td>\n</tr>\n\n\n\n<tr>\n\n<th scope=\"row\" class=\"row-header\">Status</th>\n\n<td class=\"content-container\">Draft</td>\n</tr>\n\n\n<tr>\n\n<th scope=\"row\" class=\"row-header\">Experimental</th>\n\n<td class=\"content-container\">true</td>\n</tr>\n\n\n<tr>\n\n<th scope=\"row\" class=\"row-header\">Description</th>\n\n<td class=\"content-container\"><div><p>Percentage of pregnant women with first ANC contact in the first trimester (before 12 weeks of gestation)</p>\n</div></td>\n</tr>\n\n\n\n\n\n\n\n\n\n\n\n\n<tr>\n\n<th scope=\"row\" class=\"row-header\">Measure Steward</th>\n\n<td class=\"content-container\">HL7 International / Clinical Decision Support</td>\n</tr>\n\n\n<tr>\n\n<th scope=\"row\" class=\"row-header\">Steward Contact Details</th>\n\n<td class=\"content-container\"><a href=\"http://www.hl7.org/Special/committees/dss\">http://www.hl7.org/Special/committees/dss</a></td>\n</tr>\n\n\n\n\n\n\n\n\n\n\n\n<tr>\n\n<th colspan=\"2\" scope=\"row\" class=\"row-header\">Measure Metadata</th>\n\n</tr>\n\n\n\n\n\n\n<tr>\n\n<th scope=\"row\" class=\"row-header\">Version Number</th>\n\n<td class=\"content-container\">1.1.0-cibuild</td>\n</tr>\n\n\n<tr>\n\n<th scope=\"row\" class=\"row-header\">Measure Scoring</th>\n\n<td class=\"content-container\"><span title=\"Codes:{http://terminology.hl7.org/CodeSystem/measure-scoring proportion}\">Proportion</span></td>\n</tr>\n\n\n\n<tr>\n\n<th scope=\"row\" class=\"row-header\">Measure Type</th>\n\n<td class=\"content-container\"><span title=\"Codes:{http://terminology.hl7.org/CodeSystem/measure-type process}\">Process</span></td>\n</tr>\n\n\n\n\n\n\n<tr>\n\n<th scope=\"row\" class=\"row-header\">Improvement Notation</th>\n\n<td class=\"content-container\"><span title=\"Codes:{http://terminology.hl7.org/CodeSystem/measure-improvement-notation increase}\">Increased score indicates improvement</span></td>\n</tr>\n\n\n\n\n\n\n\n\n \n \n <tr>\n\n<th colspan=\"2\" scope=\"row\" class=\"row-header\">Measure Population Criteria (ID: group-1)</th>\n\n</tr>\n \n \n \n \n <tr>\n \n \n \n \n<th scope=\"row\" class=\"row-header\">Initial Population</th>\n\n \n \n \n \n \n \n \n \n \n \n \n <td class=\"content-container\">\n \n <em>ID</em>: initial-population\n <br/>\n \n \n <em>Description</em>: No description provided\n \n \n \n \n <em>Logic Definition</em>: <a href=\"#anccohort-initial-population\">Initial Population</a> \n \n \n </td>\n </tr>\n \n\n \n <tr>\n \n \n \n \n \n \n \n<th scope=\"row\" class=\"row-header\">Denominator</th>\n\n \n \n \n \n \n \n \n \n <td class=\"content-container\">\n \n <em>ID</em>: denominator\n <br/>\n \n \n <em>Description</em>: No description provided\n \n \n \n \n <em>Logic Definition</em>: <a href=\"#anccohort-denominator\">Denominator</a> \n \n \n </td>\n </tr>\n \n\n \n <tr>\n \n \n \n \n \n<th scope=\"row\" class=\"row-header\">Numerator</th>\n\n \n \n \n \n \n \n \n \n \n \n <td class=\"content-container\">\n \n <em>ID</em>: numerator\n <br/>\n \n \n <em>Description</em>: No description provided\n \n \n \n \n <em>Logic Definition</em>: <a href=\"#anccohort-numerator\">Numerator</a> \n \n \n </td>\n </tr>\n \n\n \n<tr>\n \n<th scope=\"row\" class=\"row-header\">Stratifier</th>\n\n <td class=\"content-container\">\n \n <em>ID</em>: by-age\n \n <br/>\n \n \n \n \n <em>Code</em>: <span title=\"Codes:\">Age</span>\n \n \n \n \n </td>\n</tr>\n\n<tr>\n \n<th scope=\"row\" class=\"row-header\">Stratifier</th>\n\n <td class=\"content-container\">\n \n <em>ID</em>: by-education-level\n \n <br/>\n \n \n \n \n <em>Code</em>: <span title=\"Codes:\">Education Level</span>\n \n \n \n \n </td>\n</tr>\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n<tr>\n\n<th colspan=\"2\" scope=\"row\" class=\"row-header\">Measure Logic</th>\n\n</tr>\n\n<tr>\n\n<th scope=\"row\" class=\"row-header\">Primary Library</th>\n\n<td class=\"content-container\"><a href=\"Library-ANCCohort.html\">ANC Cohort</a></td>\n</tr>\n\n\n\n\n \n \n\n<tr>\n \n \n \n \n \n<th scope=\"row\" class=\"row-header\">Dependency</th>\n\n \n <td class=\"content-container\">\n \n <em>Description</em>: Library ANCCohort\n \n <br/>\n \n \n \n \n \n \n <em>Resource</em>: <a href=\"Library-ANCCohort.html\">ANC Cohort</a>\n <br/>\n <em>Canonical URL</em>: <tt>http://hl7.org/fhir/uv/crmi/Library/ANCCohort</tt>\n \n </td>\n</tr>\n\n<tr>\n \n \n \n \n \n<th scope=\"row\" class=\"row-header\">Dependency</th>\n\n \n <td class=\"content-container\">\n \n <em>Description</em>: Library FHIRHelpers\n \n <br/>\n \n \n \n \n \n \n <em>Resource</em>: <code>http://fhir.org/guides/cqf/common/Library/FHIRHelpers|4.0.1</code>\n <br/>\n <em>Canonical URL</em>: <tt>http://fhir.org/guides/cqf/common/Library/FHIRHelpers|4.0.1</tt>\n \n </td>\n</tr>\n\n<tr>\n \n \n \n \n \n<th scope=\"row\" class=\"row-header\">Dependency</th>\n\n \n <td class=\"content-container\">\n \n <em>Description</em>: Example Code system ISO-8601-Derived Periods\n \n <br/>\n \n \n \n \n \n \n <em>Resource</em>: <code>http://example.org/CodeSystem/iso-8601-derived-periods</code>\n <br/>\n <em>Canonical URL</em>: <tt>http://example.org/CodeSystem/iso-8601-derived-periods</tt>\n \n </td>\n</tr>\n\n<tr>\n \n \n \n \n \n<th scope=\"row\" class=\"row-header\">Dependency</th>\n\n \n <td class=\"content-container\">\n \n <em>Description</em>: Value set Antenatal care contact\n \n <br/>\n \n \n \n \n \n \n <em>Resource</em>: <code>http://fhir.org/guides/who/anc-cds/ValueSet/antenatal-care-contact</code>\n <br/>\n <em>Canonical URL</em>: <tt>http://fhir.org/guides/who/anc-cds/ValueSet/antenatal-care-contact</tt>\n \n </td>\n</tr>\n\n<tr>\n \n \n \n \n \n<th scope=\"row\" class=\"row-header\">Dependency</th>\n\n \n <td class=\"content-container\">\n \n <em>Description</em>: Value set First Antenatal Care Contact Choices\n \n <br/>\n \n \n \n \n \n \n <em>Resource</em>: <code>http://fhir.org/guides/who/anc-cds/ValueSet/anc-b5-de2</code>\n <br/>\n <em>Canonical URL</em>: <tt>http://fhir.org/guides/who/anc-cds/ValueSet/anc-b5-de2</tt>\n \n </td>\n</tr>\n\n<tr>\n \n \n \n \n \n<th scope=\"row\" class=\"row-header\">Dependency</th>\n\n \n <td class=\"content-container\">\n \n <em>Description</em>: Value set Gestational age\n \n <br/>\n \n \n \n \n \n \n <em>Resource</em>: <code>http://fhir.org/guides/who/anc-cds/ValueSet/anc-b6-de17</code>\n <br/>\n <em>Canonical URL</em>: <tt>http://fhir.org/guides/who/anc-cds/ValueSet/anc-b6-de17</tt>\n \n </td>\n</tr>\n\n<tr>\n \n \n \n \n \n<th scope=\"row\" class=\"row-header\">Dependency</th>\n\n \n <td class=\"content-container\">\n \n <em>Description</em>: Value set Antenatal care case\n \n <br/>\n \n \n \n \n \n \n <em>Resource</em>: <code>http://fhir.org/guides/who/anc-cds/ValueSet/antenatal-care-case</code>\n <br/>\n <em>Canonical URL</em>: <tt>http://fhir.org/guides/who/anc-cds/ValueSet/antenatal-care-case</tt>\n \n </td>\n</tr>\n\n\n \n <tr>\n <th scope=\"row\" class=\"row-header\">Direct Reference Code</th>\n <td class=\"content-container\">\n \n <em>Display</em>: 10-14 years\n <br/>\n \n <em>Code</em>: P10Y--P14Y\n <br/>\n <em>System</em>: <tt>http://example.org/CodeSystem/iso-8601-derived-periods</tt>\n </td>\n </tr>\n\n <tr>\n <th scope=\"row\" class=\"row-header\">Direct Reference Code</th>\n <td class=\"content-container\">\n \n <em>Display</em>: 15-19 years\n <br/>\n \n <em>Code</em>: P15Y--P19Y\n <br/>\n <em>System</em>: <tt>http://example.org/CodeSystem/iso-8601-derived-periods</tt>\n </td>\n </tr>\n\n <tr>\n <th scope=\"row\" class=\"row-header\">Direct Reference Code</th>\n <td class=\"content-container\">\n \n <em>Display</em>: 20+ years\n <br/>\n \n <em>Code</em>: P20Y--P9999Y\n <br/>\n <em>System</em>: <tt>http://example.org/CodeSystem/iso-8601-derived-periods</tt>\n </td>\n </tr>\n\n \n <tr>\n \n<th scope=\"row\" class=\"row-header\">Parameter</th>\n\n <td class=\"content-container\">\n <em>Name</em>: Measurement Period\n <br/>\n <em>Use</em>: In\n <br/>\n <em>Min Cardinality</em>: 0\n <br/>\n <em>Max Cardinality</em>: 1\n <br/>\n <em>Type</em>: Period\n </td>\n</tr>\n \n <tr>\n \n<th scope=\"row\" class=\"row-header\">Parameter</th>\n\n <td class=\"content-container\">\n <em>Name</em>: encounter\n <br/>\n <em>Use</em>: In\n <br/>\n <em>Min Cardinality</em>: 0\n <br/>\n <em>Max Cardinality</em>: 1\n <br/>\n <em>Type</em>: string\n </td>\n</tr>\n \n <tr>\n \n<th scope=\"row\" class=\"row-header\">Parameter</th>\n\n <td class=\"content-container\">\n <em>Name</em>: Numerator\n <br/>\n <em>Use</em>: Out\n <br/>\n <em>Min Cardinality</em>: 0\n <br/>\n <em>Max Cardinality</em>: 1\n <br/>\n <em>Type</em>: boolean\n </td>\n</tr>\n \n <tr>\n \n<th scope=\"row\" class=\"row-header\">Parameter</th>\n\n <td class=\"content-container\">\n <em>Name</em>: Age Stratifier\n <br/>\n <em>Use</em>: Out\n <br/>\n <em>Min Cardinality</em>: 0\n <br/>\n <em>Max Cardinality</em>: 1\n <br/>\n <em>Type</em>: Coding\n </td>\n</tr>\n \n <tr>\n \n<th scope=\"row\" class=\"row-header\">Parameter</th>\n\n <td class=\"content-container\">\n <em>Name</em>: Denominator\n <br/>\n <em>Use</em>: Out\n <br/>\n <em>Min Cardinality</em>: 0\n <br/>\n <em>Max Cardinality</em>: 1\n <br/>\n <em>Type</em>: boolean\n </td>\n</tr>\n \n <tr>\n \n<th scope=\"row\" class=\"row-header\">Parameter</th>\n\n <td class=\"content-container\">\n <em>Name</em>: Education Level Stratifier\n <br/>\n <em>Use</em>: Out\n <br/>\n <em>Min Cardinality</em>: 0\n <br/>\n <em>Max Cardinality</em>: *\n <br/>\n <em>Type</em>: CodeableConcept\n </td>\n</tr>\n \n <tr>\n \n<th scope=\"row\" class=\"row-header\">Parameter</th>\n\n <td class=\"content-container\">\n <em>Name</em>: Initial Population\n <br/>\n <em>Use</em>: Out\n <br/>\n <em>Min Cardinality</em>: 0\n <br/>\n <em>Max Cardinality</em>: 1\n <br/>\n <em>Type</em>: boolean\n </td>\n</tr>\n \n \n <tr>\n <th colspan=\"2\" scope=\"row\" class=\"section-header\"><a name=\"effective-data-requirements\"> </a>Measure Logic Data Requirements</th>\n </tr>\n \n \n<tr>\n <th scope=\"row\" class=\"row-header\">Data Requirement</th>\n <td class=\"content-container\">\n <em>Type</em>: Encounter\n <br/>\n \n <em>Profile(s)</em>: \n \n <a href=\"http://hl7.org/fhir/R4/encounter.html\">Encounter</a>\n <br/> \n \n \n \n <em>Must Support Elements</em>: type, reasonCode, period\n <br/>\n \n \n <em>Code Filter(s)</em>: \n <br/>\n \n \n <span class=\"tab-one\"><em>Path</em>: type</span>\n <br/>\n \n \n \n <span class=\"tab-one\"><em>ValueSet</em>:</span> <code>http://fhir.org/guides/who/anc-cds/ValueSet/antenatal-care-contact</code>\n <br/> \n \n \n \n \n </td>\n</tr>\n\n<tr>\n <th scope=\"row\" class=\"row-header\">Data Requirement</th>\n <td class=\"content-container\">\n <em>Type</em>: Observation\n <br/>\n \n <em>Profile(s)</em>: \n \n <a href=\"http://hl7.org/fhir/R4/observation.html\">Observation</a>\n <br/> \n \n \n \n <em>Must Support Elements</em>: code, status, encounter, encounter.reference\n <br/>\n \n \n <em>Code Filter(s)</em>: \n <br/>\n \n \n <span class=\"tab-one\"><em>Path</em>: code</span>\n <br/>\n \n \n \n <span class=\"tab-one\"><em>ValueSet</em>:</span> <code>http://fhir.org/guides/who/anc-cds/ValueSet/anc-b6-de17</code>\n <br/> \n \n \n \n \n </td>\n</tr>\n\n<tr>\n <th scope=\"row\" class=\"row-header\">Data Requirement</th>\n <td class=\"content-container\">\n <em>Type</em>: Patient\n <br/>\n \n <em>Profile(s)</em>: \n \n <a href=\"http://hl7.org/fhir/R4/patient.html\">Patient</a>\n <br/> \n \n \n \n <em>Must Support Elements</em>: url, value\n <br/>\n \n \n </td>\n</tr>\n\n<tr>\n <th scope=\"row\" class=\"row-header\">Data Requirement</th>\n <td class=\"content-container\">\n <em>Type</em>: EpisodeOfCare\n <br/>\n \n <em>Profile(s)</em>: \n \n <a href=\"http://hl7.org/fhir/R4/episodeofcare.html\">EpisodeOfCare</a>\n <br/> \n \n \n \n <em>Must Support Elements</em>: type\n <br/>\n \n \n <em>Code Filter(s)</em>: \n <br/>\n \n \n <span class=\"tab-one\"><em>Path</em>: type</span>\n <br/>\n \n \n \n <span class=\"tab-one\"><em>ValueSet</em>:</span> <code>http://fhir.org/guides/who/anc-cds/ValueSet/antenatal-care-case</code>\n <br/> \n \n \n \n \n </td>\n</tr>\n\n \n <tr>\n\n<th colspan=\"2\" scope=\"row\" class=\"row-header\">Measure Logic Definitions</th>\n\n</tr>\n \n \n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n \n \n <a name=\"ancbasedataelements-antenatal-care-contact\"> </a>\n \n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> ANCBaseDataElements</td>\n\n</tr>\n<tr>\n\n <td>\n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define "Antenatal care contact":\n ["Encounter": type in BCx."Antenatal care contact"]</code></pre>\n </td>\n\n</tr>\n \n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n \n \n <a name=\"ancind01-first-antenatal-care-contact\"> </a>\n \n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> ANCIND01</td>\n\n</tr>\n<tr>\n\n <td>\n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">define "First antenatal care contact":\n BaseData."Antenatal care contact" C\n where C.reasonCode in Cx."First Antenatal Care Contact Choices"</code></pre>\n </td>\n\n</tr>\n \n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n \n \n <a name=\"anccontactdataelements-gestational-age\"> </a>\n \n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> ANCContactDataElements</td>\n\n</tr>\n<tr>\n\n <td>\n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">/*\n @dataElement: ANC.B6.DE17 Gestational age\n @activity: ANC.B6 Profile\n @description: Gestational age in weeks and/or days depending on the source of gestational age\n*/\ndefine "Gestational age":\n WC.MostRecent(\n [Observation: Cx."Gestational age"] O\n where O.status in { 'final', 'amended', 'corrected' }\n and Coalesce(WC.ModifierExtension(O, 'who-notDone').value, false) is false\n and Last(Split(O.encounter.reference, '/')) = Last(Split(encounter, '/'))\n ).value as FHIR.Quantity</code></pre>\n </td>\n\n</tr>\n \n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n \n \n <a name=\"ancind01-numerator\"> </a>\n \n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> ANCIND01</td>\n\n</tr>\n<tr>\n\n <td>\n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">/*\nNumerator: Number of pregnant women who had their first ANC contact before 12 weeks (facility level)\nNumerator Computation: Count of women whose gestational age <= 12 weeks at the time of first contact\n*/\ndefine Numerator:\n exists (\n "First antenatal care contact" C\n where C.period starts during "Measurement Period"\n and ContactData."Gestational age" <= 12 weeks\n )</code></pre>\n </td>\n\n</tr>\n \n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n \n \n <a name=\"ancstratifiers-by-age\"> </a>\n \n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> ANCStratifiers</td>\n\n</tr>\n<tr>\n\n <td>\n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">/*\nBy Patient Age as of the start of the Measurement Period\nAge (10-14, 15-19, 20+)\n*/\ndefine "By Age":\n case\n when AgeInYearsAt(start of "Measurement Period") in Interval[10, 14] then "P10Y--P14Y"\n when AgeInYearsAt(start of "Measurement Period") in Interval[15, 19] then "P15Y--P19Y"\n when AgeInYearsAt(start of "Measurement Period") >= 20 then "P20Y--P9999Y"\n else null\n end</code></pre>\n </td>\n\n</tr>\n \n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n \n \n <a name=\"ancind01-age-stratifier\"> </a>\n \n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> ANCIND01</td>\n\n</tr>\n<tr>\n\n <td>\n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">/*\nDisaggregation: Age (10-14, 15-19, 20+)\n*/\ndefine "Age Stratifier":\n Stratifiers."By Age"</code></pre>\n </td>\n\n</tr>\n \n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n \n \n <a name=\"ancind01-denominator\"> </a>\n \n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> ANCIND01</td>\n\n</tr>\n<tr>\n\n <td>\n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">/*\nDenominator: Total number of antenatal clients with a first contact\nDenominator Computation: Count of all women who had first contact within the last reporting period\n*/\ndefine Denominator:\n exists (\n "First antenatal care contact" C\n where C.period starts during "Measurement Period"\n )</code></pre>\n </td>\n\n</tr>\n \n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n \n \n <a name=\"ancstratifiers-by-education-level\"> </a>\n \n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> ANCStratifiers</td>\n\n</tr>\n<tr>\n\n <td>\n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">/*\nBy Patient Education Level (none, don't know, primary, secondary, higher)\n*/\ndefine "By Education Level":\n Patient.extension E\n where E.url = 'http://fhir.org/guides/who/anc-cds/StructureDefinition/educationlevel'\n return E.value as CodeableConcept</code></pre>\n </td>\n\n</tr>\n \n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n \n \n <a name=\"ancind01-education-level-stratifier\"> </a>\n \n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> ANCIND01</td>\n\n</tr>\n<tr>\n\n <td>\n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">/*\nDisaggregation: Education Level (none, don't know, primary, secondary, higher)\n*/\ndefine "Education Level Stratifier":\n Stratifiers."By Education Level"</code></pre>\n </td>\n\n</tr>\n \n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n \n \n <a name=\"ancbasedataelements-antenatal-care-case\"> </a>\n \n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> ANCBaseDataElements</td>\n\n</tr>\n<tr>\n\n <td>\n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">/*\ndefine "Pregnant":\n "Pregnancy" is not null\n or "Pregnancy status" in BCx."Pregnancy status - pregnant"\n\ndefine "Pregnancy status":\n FHIRHelpers.ToConcept(\n Last(\n [Observation: BCx."Pregnancy status"] O\n where O.status = 'final'\n sort by FHIRHelpers.ToDateTime(effective as FHIR.dateTime)\n ).value\n )\n*/\ndefine "Antenatal care case":\n ["EpisodeOfCare": type in BCx."Antenatal care case"]</code></pre>\n </td>\n\n</tr>\n \n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n \n \n <a name=\"ancind01-initial-population\"> </a>\n \n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> ANCIND01</td>\n\n</tr>\n<tr>\n\n <td>\n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">/*\nInitial population: Antenatal clients\n*/\ndefine "Initial Population":\n exists (BaseData."Antenatal care case")</code></pre>\n </td>\n\n</tr>\n\n \n\n<tr>\n <th colspan=\"2\" scope=\"row\" class=\"row-header\">Generated using version 0.4.6 of the sample-content-ig Liquid templates</th>\n</tr>\n </tbody>\n </table>\n</div>"
},
"contained" : [
{
"resourceType" : "Library",
"id" : "effective-data-requirements",
"extension" : [
{
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode",
"valueCoding" : {
"system" : "http://example.org/CodeSystem/iso-8601-derived-periods",
"code" : "P10Y--P14Y",
"display" : "10-14 years"
}
},
{
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode",
"valueCoding" : {
"system" : "http://example.org/CodeSystem/iso-8601-derived-periods",
"code" : "P15Y--P19Y",
"display" : "15-19 years"
}
},
{
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode",
"valueCoding" : {
"system" : "http://example.org/CodeSystem/iso-8601-derived-periods",
"code" : "P20Y--P9999Y",
"display" : "20+ years"
}
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "ANCBaseDataElements"
},
{
"url" : "name",
"valueString" : "Antenatal care contact"
},
{
"url" : "statement",
"valueString" : "define \"Antenatal care contact\":\n [\"Encounter\": type in BCx.\"Antenatal care contact\"]"
},
{
"url" : "displaySequence",
"valueInteger" : 0
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "ANCIND01"
},
{
"url" : "name",
"valueString" : "First antenatal care contact"
},
{
"url" : "statement",
"valueString" : "define \"First antenatal care contact\":\n BaseData.\"Antenatal care contact\" C\n where C.reasonCode in Cx.\"First Antenatal Care Contact Choices\""
},
{
"url" : "displaySequence",
"valueInteger" : 1
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "ANCContactDataElements"
},
{
"url" : "name",
"valueString" : "Gestational age"
},
{
"url" : "statement",
"valueString" : "/*\n @dataElement: ANC.B6.DE17 Gestational age\n @activity: ANC.B6 Profile\n @description: Gestational age in weeks and/or days depending on the source of gestational age\n*/\ndefine \"Gestational age\":\n WC.MostRecent(\n [Observation: Cx.\"Gestational age\"] O\n where O.status in { 'final', 'amended', 'corrected' }\n and Coalesce(WC.ModifierExtension(O, 'who-notDone').value, false) is false\n and Last(Split(O.encounter.reference, '/')) = Last(Split(encounter, '/'))\n ).value as FHIR.Quantity"
},
{
"url" : "displaySequence",
"valueInteger" : 2
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "ANCIND01"
},
{
"url" : "name",
"valueString" : "Numerator"
},
{
"url" : "statement",
"valueString" : "/*\nNumerator: Number of pregnant women who had their first ANC contact before 12 weeks (facility level)\nNumerator Computation: Count of women whose gestational age <= 12 weeks at the time of first contact\n*/\ndefine Numerator:\n exists (\n \"First antenatal care contact\" C\n where C.period starts during \"Measurement Period\"\n and ContactData.\"Gestational age\" <= 12 weeks\n )"
},
{
"url" : "displaySequence",
"valueInteger" : 3
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "ANCStratifiers"
},
{
"url" : "name",
"valueString" : "By Age"
},
{
"url" : "statement",
"valueString" : "/*\nBy Patient Age as of the start of the Measurement Period\nAge (10-14, 15-19, 20+)\n*/\ndefine \"By Age\":\n case\n when AgeInYearsAt(start of \"Measurement Period\") in Interval[10, 14] then \"P10Y--P14Y\"\n when AgeInYearsAt(start of \"Measurement Period\") in Interval[15, 19] then \"P15Y--P19Y\"\n when AgeInYearsAt(start of \"Measurement Period\") >= 20 then \"P20Y--P9999Y\"\n else null\n end"
},
{
"url" : "displaySequence",
"valueInteger" : 4
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "ANCIND01"
},
{
"url" : "name",
"valueString" : "Age Stratifier"
},
{
"url" : "statement",
"valueString" : "/*\nDisaggregation: Age (10-14, 15-19, 20+)\n*/\ndefine \"Age Stratifier\":\n Stratifiers.\"By Age\""
},
{
"url" : "displaySequence",
"valueInteger" : 5
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "ANCIND01"
},
{
"url" : "name",
"valueString" : "Denominator"
},
{
"url" : "statement",
"valueString" : "/*\nDenominator: Total number of antenatal clients with a first contact\nDenominator Computation: Count of all women who had first contact within the last reporting period\n*/\ndefine Denominator:\n exists (\n \"First antenatal care contact\" C\n where C.period starts during \"Measurement Period\"\n )"
},
{
"url" : "displaySequence",
"valueInteger" : 6
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "ANCStratifiers"
},
{
"url" : "name",
"valueString" : "By Education Level"
},
{
"url" : "statement",
"valueString" : "/*\nBy Patient Education Level (none, don't know, primary, secondary, higher)\n*/\ndefine \"By Education Level\":\n Patient.extension E\n where E.url = 'http://fhir.org/guides/who/anc-cds/StructureDefinition/educationlevel'\n return E.value as CodeableConcept"
},
{
"url" : "displaySequence",
"valueInteger" : 7
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "ANCIND01"
},
{
"url" : "name",
"valueString" : "Education Level Stratifier"
},
{
"url" : "statement",
"valueString" : "/*\nDisaggregation: Education Level (none, don't know, primary, secondary, higher)\n*/\ndefine \"Education Level Stratifier\":\n Stratifiers.\"By Education Level\""
},
{
"url" : "displaySequence",
"valueInteger" : 8
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "ANCBaseDataElements"
},
{
"url" : "name",
"valueString" : "Antenatal care case"
},
{
"url" : "statement",
"valueString" : "/*\ndefine \"Pregnant\":\n \"Pregnancy\" is not null\n or \"Pregnancy status\" in BCx.\"Pregnancy status - pregnant\"\n\ndefine \"Pregnancy status\":\n FHIRHelpers.ToConcept(\n Last(\n [Observation: BCx.\"Pregnancy status\"] O\n where O.status = 'final'\n sort by FHIRHelpers.ToDateTime(effective as FHIR.dateTime)\n ).value\n )\n*/\ndefine \"Antenatal care case\":\n [\"EpisodeOfCare\": type in BCx.\"Antenatal care case\"]"
},
{
"url" : "displaySequence",
"valueInteger" : 9
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "ANCIND01"
},
{
"url" : "name",
"valueString" : "Initial Population"
},
{
"url" : "statement",
"valueString" : "/*\nInitial population: Antenatal clients\n*/\ndefine \"Initial Population\":\n exists (BaseData.\"Antenatal care case\")"
},
{
"url" : "displaySequence",
"valueInteger" : 10
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
}
],
"status" : "active",
"type" : {
"coding" : [
{
"system" : "http://terminology.hl7.org/CodeSystem/library-type",
"code" : "module-definition"
}
]
},
"relatedArtifact" : [
{
"type" : "depends-on",
"display" : "Library ANCCohort",
"resource" : "http://hl7.org/fhir/uv/crmi/Library/ANCCohort"
},
{
"type" : "depends-on",
"display" : "Library FHIRHelpers",
"resource" : "http://fhir.org/guides/cqf/common/Library/FHIRHelpers|4.0.1"
},
{
"type" : "depends-on",
"display" : "Example Code system ISO-8601-Derived Periods",
"resource" : "http://example.org/CodeSystem/iso-8601-derived-periods"
},
{
"type" : "depends-on",
"display" : "Value set Antenatal care contact",
"resource" : "http://fhir.org/guides/who/anc-cds/ValueSet/antenatal-care-contact"
},
{
"type" : "depends-on",
"display" : "Value set First Antenatal Care Contact Choices",
"resource" : "http://fhir.org/guides/who/anc-cds/ValueSet/anc-b5-de2"
},
{
"type" : "depends-on",
"display" : "Value set Gestational age",
"resource" : "http://fhir.org/guides/who/anc-cds/ValueSet/anc-b6-de17"
},
{
"type" : "depends-on",
"display" : "Value set Antenatal care case",
"resource" : "http://fhir.org/guides/who/anc-cds/ValueSet/antenatal-care-case"
}
],
"parameter" : [
{
"name" : "Measurement Period",
"use" : "in",
"min" : 0,
"max" : "1",
"type" : "Period"
},
{
"name" : "encounter",
"use" : "in",
"min" : 0,
"max" : "1",
"type" : "string"
},
{
"name" : "Numerator",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "Age Stratifier",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "Coding"
},
{
"name" : "Denominator",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "Education Level Stratifier",
"use" : "out",
"min" : 0,
"max" : "*",
"type" : "CodeableConcept"
},
{
"name" : "Initial Population",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
}
],
"dataRequirement" : [
{
"extension" : [
{
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-isSelective",
"valueBoolean" : true
}
],
"type" : "Encounter",
"profile" : [
🔗 "http://hl7.org/fhir/StructureDefinition/Encounter"
],
"mustSupport" : [
"type",
"reasonCode",
"period"
],
"codeFilter" : [
{
"path" : "type",
"valueSet" : "http://fhir.org/guides/who/anc-cds/ValueSet/antenatal-care-contact"
}
]
},
{
"extension" : [
{
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-isSelective",
"valueBoolean" : true
}
],
"type" : "Observation",
"profile" : [
🔗 "http://hl7.org/fhir/StructureDefinition/Observation"
],
"mustSupport" : [
"code",
"status",
"encounter",
"encounter.reference"
],
"codeFilter" : [
{
"path" : "code",
"valueSet" : "http://fhir.org/guides/who/anc-cds/ValueSet/anc-b6-de17"
}
]
},
{
"type" : "Patient",
"profile" : [
🔗 "http://hl7.org/fhir/StructureDefinition/Patient"
],
"mustSupport" : [
"url",
"value"
]
},
{
"type" : "EpisodeOfCare",
"profile" : [
🔗 "http://hl7.org/fhir/StructureDefinition/EpisodeOfCare"
],
"mustSupport" : [
"type"
],
"codeFilter" : [
{
"path" : "type",
"valueSet" : "http://fhir.org/guides/who/anc-cds/ValueSet/antenatal-care-case"
}
]
}
]
}
],
"extension" : [
{
"url" : "http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-softwaresystem",
"valueReference" : {
🔗 "reference" : "Device/cqf-tooling"
}
},
{
"id" : "effective-data-requirements",
"url" : "http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-effectiveDataRequirements",
"valueCanonical" : "#effective-data-requirements"
},
{
"extension" : [
{
"url" : "term",
"valueString" : "First Trimester"
},
{
"url" : "definition",
"valueMarkdown" : "The first trimester is considered before 12 weeks of gestation"
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-definitionTerm"
}
],
"url" : "http://hl7.org/fhir/uv/crmi/Measure/shareable-example",
"identifier" : [
{
"system" : "urn:ietf:rfc:3986",
"value" : "urn:oid:2.16.840.1.113883.4.642.40.38.29.2"
}
],
"version" : "1.1.0-cibuild",
"name" : "ANCIND01Shareabale",
"title" : "ANC.IND.01 Percentage of pregnant women with first ANC contact in the first trimester (Shareable Example)",
"status" : "draft",
"experimental" : true,
"date" : "2023-03-13T22:32:10-06:00",
"publisher" : "HL7 International / Clinical Decision Support",
"contact" : [
{
"telecom" : [
{
"system" : "url",
"value" : "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" : [
{
"coding" : [
{
"system" : "http://unstats.un.org/unsd/methods/m49/m49.htm",
"code" : "001",
"display" : "World"
}
]
}
],
"library" : [
🔗 "http://hl7.org/fhir/uv/crmi/Library/ANCCohort"
],
"scoring" : {
"coding" : [
{
"system" : "http://terminology.hl7.org/CodeSystem/measure-scoring",
"code" : "proportion"
}
]
},
"type" : [
{
"coding" : [
{
"system" : "http://terminology.hl7.org/CodeSystem/measure-type",
"code" : "process"
}
]
}
],
"improvementNotation" : {
"coding" : [
{
"system" : "http://terminology.hl7.org/CodeSystem/measure-improvement-notation",
"code" : "increase"
}
]
},
"group" : [
{
"id" : "group-1",
"population" : [
{
"id" : "initial-population",
"code" : {
"coding" : [
{
"system" : "http://terminology.hl7.org/CodeSystem/measure-population",
"code" : "initial-population"
}
]
},
"criteria" : {
"language" : "text/cql-identifier",
"expression" : "Initial Population"
}
},
{
"id" : "denominator",
"code" : {
"coding" : [
{
"system" : "http://terminology.hl7.org/CodeSystem/measure-population",
"code" : "denominator"
}
]
},
"criteria" : {
"language" : "text/cql-identifier",
"expression" : "Denominator"
}
},
{
"id" : "numerator",
"code" : {
"coding" : [
{
"system" : "http://terminology.hl7.org/CodeSystem/measure-population",
"code" : "numerator"
}
]
},
"criteria" : {
"language" : "text/cql-identifier",
"expression" : "Numerator"
}
}
],
"stratifier" : [
{
"id" : "by-age",
"code" : {
"text" : "Age"
},
"criteria" : {
"language" : "text/cql-identifier",
"expression" : "Age Stratifier"
}
},
{
"id" : "by-education-level",
"code" : {
"text" : "Education Level"
},
"criteria" : {
"language" : "text/cql-identifier",
"expression" : "Education Level Stratifier"
}
}
]
}
]
}