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" : "PlanDefinition",
"id" : "CXCAD2DTScreeningEligibility",
"meta" : {
"profile" : [
🔗 "http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-recommendationdefinition"
]
},
"text" : {
"status" : "extensions",
"div" : "<div xmlns=\"http://www.w3.org/1999/xhtml\">\n<div>\n <table class=\"grid dict\">\n \n <tr>\n <th scope=\"row\"><b>Id: </b></th>\n <td style=\"padding-left: 4px;\">CXCAD2DTScreeningEligibility</td>\n </tr>\n \n\n \n <tr>\n <th scope=\"row\"><b>Url: </b></th>\n <td style=\"padding-left: 4px;\"><a href=\"PlanDefinition-CXCAD2DTScreeningEligibility.html\">CXCA.D2.DT — Cervical Cancer Screening Eligibility</a></td>\n </tr>\n \n\n \n <tr>\n <th scope=\"row\"><b>Version: </b></th>\n <td style=\"padding-left: 4px;\">0.0.1</td>\n </tr>\n \n\n \n\n \n <tr>\n <th scope=\"row\"><b>Title: </b></th>\n <td style=\"padding-left: 4px;\">CXCA.D2.DT — Cervical Cancer Screening Eligibility</td>\n </tr>\n \n\n \n\n \n <tr>\n <th scope=\"row\"><b>Status: </b></th>\n <td style=\"padding-left: 4px;\">draft</td>\n </tr>\n \n\n \n\n \n <tr>\n <th scope=\"row\"><b>Type: </b></th>\n <td style=\"padding-left: 4px;\">\n \n \n \n <p style=\"margin-bottom: 5px;\">\n <b>system: </b> <span><a href=\"http://terminology.hl7.org/7.1.0/CodeSystem-plan-definition-type.html\">http://terminology.hl7.org/CodeSystem/plan-definition-type</a></span>\n </p>\n \n \n <p style=\"margin-bottom: 5px;\">\n <b>code: </b> <span>eca-rule</span>\n </p>\n \n \n \n \n \n </td>\n </tr>\n \n\n \n\n \n <tr>\n <th scope=\"row\"><b>Date: </b></th>\n <td style=\"padding-left: 4px;\">2026-05-14 00:50:23+0000</td>\n </tr>\n \n\n \n <tr>\n <th scope=\"row\"><b>Publisher: </b></th>\n <td style=\"padding-left: 4px;\">Dan Heslinga (independent contributor)</td>\n </tr>\n \n\n \n <tr>\n <th scope=\"row\"><b>Description: </b></th>\n <td style=\"padding-left: 4px;\"><div><p>Decision support recommendation for cervical cancer screening eligibility (CXCA.D2). Evaluates the rules from Mongolia MOH Order A/641 (2020) section 2.2 via the CXCAD2DTScreeningEligibilityLogic CQL library; when the client is due, recommends instantiating the CXCAD2HPVScreeningServiceRequest ActivityDefinition.</p>\n</div></td>\n </tr>\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n <tr>\n <th scope=\"row\"><b>Libraries: </b></th>\n <td style=\"padding-left: 4px;\">\n <table class=\"grid-dict\">\n \n <tr>\n <td><a href=\"Library-CXCAD2DTScreeningEligibilityLogic.html\">CXCAD2DTScreeningEligibilityLogic</a></td>\n </tr>\n \n </table>\n </td>\n </tr>\n \n\n \n <tr>\n <th scope=\"row\"><b>Actions: </b></th>\n <td style=\"padding-left: 4px;\">\n <table class=\"grid-dict\">\n \n <tr>\n <td>\n \n <b> Recommend HPV high-risk DNA screening (client is due):</b> Client is at the binding target age (35 or 45 per A/641 section 2.2), has not had a hysterectomy, and has not been screened in the current cycle. Create a proposed ServiceRequest for HPV high-risk DNA testing.\n \n <br/>\n \n \n <b>If:</b>\n \n <i>Applicability:</i>\n \n <i>(Client is due for HPV screening (legal binding))</i>\n <br/>\n \n \n \n \n <b>Then:</b> <i>Definition:</i> <a href=\"ActivityDefinition-CXCAD2HPVScreeningServiceRequest.html\">CXCAD2 — HPV Screening Service Request</a><br/>\n \n \n \n </td>\n </tr>\n \n <tr>\n <td>\n \n <b> Defer screening — client already screened in current cycle:</b> Client is at a binding target age but has had a recent valid HPV screening result. Per A/641 section 2.2 they are not due for re-screening at this encounter. Inform the client of their next due date.\n \n <br/>\n \n \n <b>If:</b>\n \n <i>Applicability:</i>\n \n <i>(Client not due — already screened in current cycle (legal binding))</i>\n <br/>\n \n \n \n \n \n </td>\n </tr>\n \n <tr>\n <td>\n \n <b> Defer screening — client outside binding target age range:</b> Client is not at a binding target age (35 or 45 per A/641 section 2.2 for HPV-test-capable facilities). Note: cytology-only facilities follow a different age cycle (30, 33, 36, ..., 60 every 3 years per A/641 section 2.2 cytology pathway) — see the separate cytology-pathway PlanDefinition (deferred to a future Phase 5 chunk).\n \n <br/>\n \n \n <b>If:</b>\n \n <i>Applicability:</i>\n \n <i>(Client excluded — outside target age range (legal binding))</i>\n <br/>\n \n \n \n \n \n </td>\n </tr>\n \n <tr>\n <td>\n \n <b> Exclude from screening — prior hysterectomy:</b> Client has had a hysterectomy. Per A/641 section 2.2, women who have had a hysterectomy for non-cervical-cancer indication and who have a documented negative post-operative vaginal-smear cytology are exempt from cervical cancer screening. Verify the indication and the post-operative cytology status before fully excluding.\n \n <br/>\n \n \n <b>If:</b>\n \n <i>Applicability:</i>\n \n <i>(Client excluded — prior hysterectomy (legal binding))</i>\n <br/>\n \n \n \n \n \n </td>\n </tr>\n \n </table>\n </td>\n </tr>\n \n </table>\n</div>\n</div>"
},
"contained" : [
{
"resourceType" : "Library",
"id" : "effective-data-requirements",
"extension" : [
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "CXCAD2DTScreeningEligibilityLogic"
},
{
"url" : "name",
"valueString" : "Client age"
},
{
"url" : "statement",
"valueString" : "// =============================================================================\n// Helper definitions\n// =============================================================================\n\n/*\n * Client age in years at the encounter date.\n */\ndefine \"Client age\":\n AgeInYearsAt(Today)"
},
{
"url" : "displaySequence",
"valueInteger" : 0
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "CXCAD2DTScreeningEligibilityLogic"
},
{
"url" : "name",
"valueString" : "Client is at binding target age (35 or 45)"
},
{
"url" : "statement",
"valueString" : "/*\n * The client is at one of the binding target ages per A/641 section 2.2\n * (HPV-test-capable facilities: ages 35 and 45 only).\n */\ndefine \"Client is at binding target age (35 or 45)\":\n \"Client age\" = 35 or \"Client age\" = 45"
},
{
"url" : "displaySequence",
"valueInteger" : 1
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "CXCAElements"
},
{
"url" : "name",
"valueString" : "Hysterectomy Procedures"
},
{
"url" : "statement",
"valueString" : "// =============================================================================\n// Hysterectomy history\n// =============================================================================\n\n/*\n * @internal: All recorded hysterectomy procedures for this patient,\n * filtered to status = completed.\n */\ndefine \"Hysterectomy Procedures\":\n [Procedure] P\n where P.status = 'completed'\n and exists (P.code.coding C where C.code = 'DE45'\n and C.system = 'http://smart.who.int/cxca/CodeSystem/CXCA.D')"
},
{
"url" : "displaySequence",
"valueInteger" : 2
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "CXCAElements"
},
{
"url" : "name",
"valueString" : "Has Had Hysterectomy"
},
{
"url" : "statement",
"valueString" : "/*\n * The patient has a documented completed hysterectomy.\n *\n * NOTE: A/641 section 2.2 only excludes hysterectomy for non-cervical-cancer indication\n * with a documented negative post-op vaginal-smear cytology. This define\n * captures only the hysterectomy fact; the indication and post-op cytology\n * checks live in higher-layer logic that combines this define with others.\n */\ndefine \"Has Had Hysterectomy\":\n exists \"Hysterectomy Procedures\""
},
{
"url" : "displaySequence",
"valueInteger" : 3
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "CXCAD2DTScreeningEligibilityLogic"
},
{
"url" : "name",
"valueString" : "Client is due for HPV screening (legal binding)"
},
{
"url" : "statement",
"valueString" : "// =============================================================================\n// Legal-binding eligibility tree — A/641 section 2.2 (HPV at ages 35 and 45)\n// Bindingness: legal\n// =============================================================================\n\n/*\n * @output: CXCA.D#DE4 \"Due for HPV screening\"\n * @bindingness: legal\n * Client is due if at a binding target age, has not had a hysterectomy,\n * and has not been screened in the current cycle.\n */\ndefine \"Client is due for HPV screening (legal binding)\":\n \"Client is at binding target age (35 or 45)\"\n and not Elements.\"Has Had Hysterectomy\"\n and not \"HasRecentHPVScreening\""
},
{
"url" : "displaySequence",
"valueInteger" : 4
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "CXCAD2DTScreeningEligibilityLogic"
},
{
"url" : "name",
"valueString" : "Client excluded — prior hysterectomy (legal binding)"
},
{
"url" : "statement",
"valueString" : "/*\n * @output: CXCA.D#DE7 \"Excluded — prior hysterectomy\"\n * @bindingness: legal\n * Client has had a hysterectomy for non-cervical-cancer indication and is\n * therefore exempt from cervical cancer screening per A/641 section 2.2.\n */\ndefine \"Client excluded — prior hysterectomy (legal binding)\":\n Elements.\"Has Had Hysterectomy\""
},
{
"url" : "displaySequence",
"valueInteger" : 5
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "CXCAD2DTScreeningEligibilityLogic"
},
{
"url" : "name",
"valueString" : "Client excluded — outside target age range (legal binding)"
},
{
"url" : "statement",
"valueString" : "/*\n * @output: CXCA.D#DE6 \"Excluded — outside target age range\"\n * @bindingness: legal\n * Client is not at a binding target age (35 or 45 only for HPV-capable facilities).\n */\ndefine \"Client excluded — outside target age range (legal binding)\":\n not \"Client is at binding target age (35 or 45)\"\n and not Elements.\"Has Had Hysterectomy\""
},
{
"url" : "displaySequence",
"valueInteger" : 6
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "CXCAD2DTScreeningEligibilityLogic"
},
{
"url" : "name",
"valueString" : "Client not due — already screened in current cycle (legal binding)"
},
{
"url" : "statement",
"valueString" : "/*\n * @output: CXCA.D#DE5 \"Not due — already screened in current cycle\"\n * @bindingness: legal\n * Client is at a target age but has had a recent valid HPV screening result.\n */\ndefine \"Client not due — already screened in current cycle (legal binding)\":\n \"Client is at binding target age (35 or 45)\"\n and \"HasRecentHPVScreening\"\n and not Elements.\"Has Had Hysterectomy\""
},
{
"url" : "displaySequence",
"valueInteger" : 7
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "FHIRHelpers"
},
{
"url" : "name",
"valueString" : "ToString"
},
{
"url" : "statement",
"valueString" : "define function ToString(value ProcedureStatus): value.value"
},
{
"url" : "displaySequence",
"valueInteger" : 8
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "FHIRHelpers"
},
{
"url" : "name",
"valueString" : "ToString"
},
{
"url" : "statement",
"valueString" : "define function ToString(value string): value.value"
},
{
"url" : "displaySequence",
"valueInteger" : 9
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "FHIRHelpers"
},
{
"url" : "name",
"valueString" : "ToString"
},
{
"url" : "statement",
"valueString" : "define function ToString(value uri): value.value"
},
{
"url" : "displaySequence",
"valueInteger" : 10
}
],
"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"
},
{
"type" : "depends-on",
"display" : "Library Elements",
"resource" : "http://smart.who.int/cxca/Library/CXCAElements"
},
{
"type" : "depends-on",
"display" : "Library FHIRHelpers",
"resource" : "http://fhir.org/guides/cqf/common/Library/FHIRHelpers|4.0.1"
}
],
"parameter" : [
{
"name" : "Today",
"use" : "in",
"min" : 0,
"max" : "1",
"type" : "date"
},
{
"name" : "HasRecentHPVScreening",
"use" : "in",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "Client is due for HPV screening (legal binding)",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "Client excluded — prior hysterectomy (legal binding)",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "Client excluded — outside target age range (legal binding)",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "Client not due — already screened in current cycle (legal binding)",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
}
],
"dataRequirement" : [
{
"type" : "Patient",
"profile" : [
🔗 "http://hl7.org/fhir/StructureDefinition/Patient"
]
},
{
"type" : "Procedure",
"profile" : [
🔗 "http://hl7.org/fhir/StructureDefinition/Procedure"
],
"mustSupport" : [
"status",
"code",
"code.coding"
]
},
{
"type" : "Procedure",
"profile" : [
🔗 "http://hl7.org/fhir/StructureDefinition/Procedure"
],
"mustSupport" : [
"status",
"code",
"code.coding"
]
},
{
"type" : "Procedure",
"profile" : [
🔗 "http://hl7.org/fhir/StructureDefinition/Procedure"
],
"mustSupport" : [
"status",
"code",
"code.coding"
]
}
]
}
],
"extension" : [
{
"url" : "http://smart.who.int/cxca/StructureDefinition/cxca-bindingness",
"valueCoding" : {
"system" : "http://smart.who.int/cxca/CodeSystem/CXCA.Bindingness",
"code" : "legal",
"display" : "Legal — binding regulatory instrument"
}
},
{
"url" : "http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-effectiveDataRequirements",
"valueCanonical" : "#effective-data-requirements"
}
],
"url" : "http://smart.who.int/cxca/PlanDefinition/CXCAD2DTScreeningEligibility",
"version" : "0.0.1",
"name" : "CXCAD2DTScreeningEligibility",
"title" : "CXCA.D2.DT — Cervical Cancer Screening Eligibility",
"type" : {
"coding" : [
{
"system" : "http://terminology.hl7.org/CodeSystem/plan-definition-type",
"code" : "eca-rule"
}
]
},
"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" : "Decision support recommendation for cervical cancer screening eligibility (CXCA.D2). Evaluates the rules from Mongolia MOH Order A/641 (2020) section 2.2 via the CXCAD2DTScreeningEligibilityLogic CQL library; when the client is due, recommends instantiating the CXCAD2HPVScreeningServiceRequest ActivityDefinition.",
"library" : [
🔗 "http://smart.who.int/cxca/Library/CXCAD2DTScreeningEligibilityLogic"
],
"action" : [
{
"title" : "Recommend HPV high-risk DNA screening (client is due)",
"description" : "Client is at the binding target age (35 or 45 per A/641 section 2.2), has not had a hysterectomy, and has not been screened in the current cycle. Create a proposed ServiceRequest for HPV high-risk DNA testing.",
"condition" : [
{
"kind" : "applicability",
"expression" : {
"language" : "text/cql-identifier",
"expression" : "Client is due for HPV screening (legal binding)"
}
}
],
"definitionCanonical" : "http://smart.who.int/cxca/ActivityDefinition/CXCAD2HPVScreeningServiceRequest"
},
{
"title" : "Defer screening — client already screened in current cycle",
"description" : "Client is at a binding target age but has had a recent valid HPV screening result. Per A/641 section 2.2 they are not due for re-screening at this encounter. Inform the client of their next due date.",
"condition" : [
{
"kind" : "applicability",
"expression" : {
"language" : "text/cql-identifier",
"expression" : "Client not due — already screened in current cycle (legal binding)"
}
}
]
},
{
"title" : "Defer screening — client outside binding target age range",
"description" : "Client is not at a binding target age (35 or 45 per A/641 section 2.2 for HPV-test-capable facilities). Note: cytology-only facilities follow a different age cycle (30, 33, 36, ..., 60 every 3 years per A/641 section 2.2 cytology pathway) — see the separate cytology-pathway PlanDefinition (deferred to a future Phase 5 chunk).",
"condition" : [
{
"kind" : "applicability",
"expression" : {
"language" : "text/cql-identifier",
"expression" : "Client excluded — outside target age range (legal binding)"
}
}
]
},
{
"title" : "Exclude from screening — prior hysterectomy",
"description" : "Client has had a hysterectomy. Per A/641 section 2.2, women who have had a hysterectomy for non-cervical-cancer indication and who have a documented negative post-operative vaginal-smear cytology are exempt from cervical cancer screening. Verify the indication and the post-operative cytology status before fully excluding.",
"condition" : [
{
"kind" : "applicability",
"expression" : {
"language" : "text/cql-identifier",
"expression" : "Client excluded — prior hysterectomy (legal binding)"
}
}
]
}
]
}