SMART DAK Cervical Cancer Screening
0.0.1 - ci-build
SMART DAK Cervical Cancer Screening, published by Dan Heslinga (independent contributor). This guide is not an authorized publication; it is the continuous build for version 0.0.1 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/dhes/smart-dak-cxca/ and changes regularly. See the Directory of published versions
| Draft as of 2026-05-14 |
{
"resourceType" : "Measure",
"id" : "CXCAIND02",
"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\">CXCAIND02</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\">CXCA.IND.02 — Cervical Cancer Screening Cascade Completion (NotDone-aware)</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\">false</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>Proportion of HPV-positive women in the measurement period whose follow-up cascade reached resolution — either through completed cytology or through explicit documented non-occurrence using the CXCAServiceNotRequested profile. Patients with neither (absent records) are excluded from the numerator, surfacing visibility gaps rather than conflating them with documented LTFU. See input/cql/CXCAIND02CascadeCompletionLogic.cql for the methodology rationale and the Mongolia April 2026 Khan-Uul pilot numbers that motivate this measure (371 HPV+ women, 184 cytology, 187 LTFU).</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\">Dan Heslinga (independent contributor)</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\">Dan Heslinga (independent contributor): <a href=\"https://github.com/dhes\">https://github.com/dhes</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\">0.0.1</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\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 Population Criteria</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 \n <em>Description</em>: No description provided\n \n \n \n \n <em>Logic Definition</em>: <a href=\"#cxcaind02cascadecompletionlogic-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 \n <em>Description</em>: No description provided\n \n \n \n \n <em>Logic Definition</em>: <a href=\"#cxcaind02cascadecompletionlogic-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 \n <em>Description</em>: No description provided\n \n \n \n \n <em>Logic Definition</em>: <a href=\"#cxcaind02cascadecompletionlogic-numerator\">Numerator</a> \n \n \n </td>\n </tr>\n \n\n \n <tr>\n \n \n \n \n \n \n<th scope=\"row\" class=\"row-header\">Numerator Exclusion</th>\n\n \n \n \n \n \n \n \n \n \n <td class=\"content-container\">\n \n \n <em>Description</em>: No description provided\n \n \n \n \n <em>Logic Definition</em>: <a href=\"#cxcaind02cascadecompletionlogic-numerator-exclusion\">Numerator Exclusion</a> \n \n \n </td>\n </tr>\n \n\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-CXCAIND02CascadeCompletionLogic.html\">CXCAIND02CascadeCompletionLogic</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>: FHIR model information\n \n <br/>\n \n \n \n \n \n \n <em>Resource</em>: <a href=\"http://fhir.org/guides/cqf/common/4.0.1/4.0.1/Library-FHIR-ModelInfo.html\">http://fhir.org/guides/cqf/common/Library/FHIR-ModelInfo|4.0.1</a>\n <br/>\n <em>Canonical URL</em>: <tt>http://fhir.org/guides/cqf/common/Library/FHIR-ModelInfo|4.0.1</tt>\n \n </td>\n</tr>\n\n\n \n \n <tr>\n \n<th scope=\"row\" class=\"row-header\">Parameter</th>\n\n <td class=\"content-container\">\n <em>Name</em>: PatientHasHPVPositiveInPeriod\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>: 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>: PatientHasCytologyCompletedInPeriod\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>: 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>: PatientHasCytologyNotDoneRecordedInPeriod\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>: 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>: 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>: 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>: 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 <tr>\n \n<th scope=\"row\" class=\"row-header\">Parameter</th>\n\n <td class=\"content-container\">\n <em>Name</em>: Numerator Exclusion\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 \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=\"cxcaind02cascadecompletionlogic-numerator\"> </a>\n \n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> CXCAIND02CascadeCompletionLogic</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 * @numerator: HPV+ patients who reached cascade *resolution* — either by\n * completing cytology OR by having a documented non-occurrence record.\n */\ndefine "Numerator":\n "PatientHasHPVPositiveInPeriod"\n and ("PatientHasCytologyCompletedInPeriod"\n or "PatientHasCytologyNotDoneRecordedInPeriod")</code></pre>\n </td>\n\n</tr>\n \n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n \n \n <a name=\"cxcaind02cascadecompletionlogic-denominator\"> </a>\n \n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> CXCAIND02CascadeCompletionLogic</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 * @denominator: Patients with an HPV+ result during the measurement period.\n * These are the patients whose cascade we want to track.\n */\ndefine "Denominator":\n "PatientHasHPVPositiveInPeriod"</code></pre>\n </td>\n\n</tr>\n \n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n \n \n <a name=\"cxcaind02cascadecompletionlogic-initial-population\"> </a>\n \n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> CXCAIND02CascadeCompletionLogic</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 * @initialPopulation: as defined by Member State (placeholder — true)\n * Real implementation: women in target age range alive at start of period\n * in the jurisdiction.\n */\ndefine "Initial Population":\n true</code></pre>\n </td>\n\n</tr>\n \n<tr>\n <th scope=\"row\" rowspan=\"2\" class=\"row-header\">\n \n \n <a name=\"cxcaind02cascadecompletionlogic-numerator-exclusion\"> </a>\n \n Logic Definition\n </th>\n\n <td class=\"content-container\"><em>Library Name:</em> CXCAIND02CascadeCompletionLogic</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 * @numeratorExclusion: HPV+ patients whose resolution was via documented\n * non-occurrence (LTFU) rather than actual cytology completion.\n *\n * FHIR Measure semantics: numerator-exclusion is subtracted from the\n * numerator when computing the proportion. This lets a single Measure\n * resource expose three computable views:\n * - Cascade resolution rate: Numerator / Denominator\n * - True follow-up rate: (Numerator − NumeratorExclusion) / Denominator\n * - Documented LTFU rate: NumeratorExclusion / Denominator\n * Together with (Denominator − Numerator) = the absent / unknown count,\n * this gives programme managers a four-way partition of the HPV+ cohort.\n */\ndefine "Numerator Exclusion":\n "PatientHasHPVPositiveInPeriod"\n and "PatientHasCytologyNotDoneRecordedInPeriod"\n and not "PatientHasCytologyCompletedInPeriod"</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" : [
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "CXCAIND02CascadeCompletionLogic"
},
{
"url" : "name",
"valueString" : "Numerator"
},
{
"url" : "statement",
"valueString" : "/*\n * @numerator: HPV+ patients who reached cascade *resolution* — either by\n * completing cytology OR by having a documented non-occurrence record.\n */\ndefine \"Numerator\":\n \"PatientHasHPVPositiveInPeriod\"\n and (\"PatientHasCytologyCompletedInPeriod\"\n or \"PatientHasCytologyNotDoneRecordedInPeriod\")"
},
{
"url" : "displaySequence",
"valueInteger" : 0
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "CXCAIND02CascadeCompletionLogic"
},
{
"url" : "name",
"valueString" : "Denominator"
},
{
"url" : "statement",
"valueString" : "/*\n * @denominator: Patients with an HPV+ result during the measurement period.\n * These are the patients whose cascade we want to track.\n */\ndefine \"Denominator\":\n \"PatientHasHPVPositiveInPeriod\""
},
{
"url" : "displaySequence",
"valueInteger" : 1
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "CXCAIND02CascadeCompletionLogic"
},
{
"url" : "name",
"valueString" : "Initial Population"
},
{
"url" : "statement",
"valueString" : "/*\n * @initialPopulation: as defined by Member State (placeholder — true)\n * Real implementation: women in target age range alive at start of period\n * in the jurisdiction.\n */\ndefine \"Initial Population\":\n true"
},
{
"url" : "displaySequence",
"valueInteger" : 2
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "CXCAIND02CascadeCompletionLogic"
},
{
"url" : "name",
"valueString" : "Numerator Exclusion"
},
{
"url" : "statement",
"valueString" : "/*\n * @numeratorExclusion: HPV+ patients whose resolution was via documented\n * non-occurrence (LTFU) rather than actual cytology completion.\n *\n * FHIR Measure semantics: numerator-exclusion is subtracted from the\n * numerator when computing the proportion. This lets a single Measure\n * resource expose three computable views:\n * - Cascade resolution rate: Numerator / Denominator\n * - True follow-up rate: (Numerator − NumeratorExclusion) / Denominator\n * - Documented LTFU rate: NumeratorExclusion / Denominator\n * Together with (Denominator − Numerator) = the absent / unknown count,\n * this gives programme managers a four-way partition of the HPV+ cohort.\n */\ndefine \"Numerator Exclusion\":\n \"PatientHasHPVPositiveInPeriod\"\n and \"PatientHasCytologyNotDoneRecordedInPeriod\"\n and not \"PatientHasCytologyCompletedInPeriod\""
},
{
"url" : "displaySequence",
"valueInteger" : 3
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
}
],
"name" : "EffectiveDataRequirements",
"status" : "active",
"type" : {
"coding" : [
{
"system" : "http://terminology.hl7.org/CodeSystem/library-type",
"code" : "module-definition"
}
]
},
"relatedArtifact" : [
{
"type" : "depends-on",
"display" : "FHIR model information",
"resource" : "http://fhir.org/guides/cqf/common/Library/FHIR-ModelInfo|4.0.1"
}
],
"parameter" : [
{
"name" : "PatientHasHPVPositiveInPeriod",
"use" : "in",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "PatientHasCytologyCompletedInPeriod",
"use" : "in",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "PatientHasCytologyNotDoneRecordedInPeriod",
"use" : "in",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "Numerator",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "Denominator",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "Initial Population",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "Numerator Exclusion",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
}
]
}
],
"extension" : [
{
"url" : "http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-effectiveDataRequirements",
"valueCanonical" : "#effective-data-requirements"
}
],
"url" : "http://smart.who.int/cxca/Measure/CXCAIND02",
"version" : "0.0.1",
"name" : "CXCAIND02",
"title" : "CXCA.IND.02 — Cervical Cancer Screening Cascade Completion (NotDone-aware)",
"status" : "draft",
"experimental" : false,
"date" : "2026-05-14T00:50:23+00:00",
"publisher" : "Dan Heslinga (independent contributor)",
"contact" : [
{
"name" : "Dan Heslinga (independent contributor)",
"telecom" : [
{
"system" : "url",
"value" : "https://github.com/dhes"
}
]
}
],
"description" : "Proportion of HPV-positive women in the measurement period whose follow-up cascade reached resolution — either through completed cytology or through explicit documented non-occurrence using the CXCAServiceNotRequested profile. Patients with neither (absent records) are excluded from the numerator, surfacing visibility gaps rather than conflating them with documented LTFU. See input/cql/CXCAIND02CascadeCompletionLogic.cql for the methodology rationale and the Mongolia April 2026 Khan-Uul pilot numbers that motivate this measure (371 HPV+ women, 184 cytology, 187 LTFU).",
"library" : [
🔗 "http://smart.who.int/cxca/Library/CXCAIND02CascadeCompletionLogic"
],
"scoring" : {
"coding" : [
{
"system" : "http://terminology.hl7.org/CodeSystem/measure-scoring",
"code" : "proportion"
}
]
},
"group" : [
{
"population" : [
{
"code" : {
"coding" : [
{
"system" : "http://terminology.hl7.org/CodeSystem/measure-population",
"code" : "initial-population"
}
]
},
"criteria" : {
"language" : "text/cql-identifier",
"expression" : "Initial Population"
}
},
{
"code" : {
"coding" : [
{
"system" : "http://terminology.hl7.org/CodeSystem/measure-population",
"code" : "denominator"
}
]
},
"criteria" : {
"language" : "text/cql-identifier",
"expression" : "Denominator"
}
},
{
"code" : {
"coding" : [
{
"system" : "http://terminology.hl7.org/CodeSystem/measure-population",
"code" : "numerator"
}
]
},
"criteria" : {
"language" : "text/cql-identifier",
"expression" : "Numerator"
}
},
{
"code" : {
"coding" : [
{
"system" : "http://terminology.hl7.org/CodeSystem/measure-population",
"code" : "numerator-exclusion"
}
]
},
"criteria" : {
"language" : "text/cql-identifier",
"expression" : "Numerator Exclusion"
}
}
]
}
]
}