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

: CXCA.D2.DT — Cervical Cancer Screening Eligibility - TTL Representation

Draft as of 2026-05-14

Raw ttl | Download

@prefix fhir: <http://hl7.org/fhir/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

# - resource -------------------------------------------------------------------

 a fhir:PlanDefinition ;
  fhir:nodeRole fhir:treeRoot ;
  fhir:id [ fhir:v "CXCAD2DTScreeningEligibility"] ; # 
  fhir:meta [
    ( fhir:profile [
fhir:v "http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-recommendationdefinition"^^xsd:anyURI ;
fhir:l <http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-recommendationdefinition>     ] )
  ] ; # 
  fhir:text [
fhir:status [ fhir:v "extensions" ] ;
fhir:div [ fhir:v "<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>"^^rdf:XMLLiteral ]
  ] ; # 
  fhir:contained ( [
a fhir:Library ;
fhir:id [ fhir:v "effective-data-requirements" ] ;
    ( fhir:extension [
      ( fhir:extension [
fhir:url [
fhir:v "libraryName"^^xsd:anyURI ;
fhir:l fhir:libraryName         ] ;
fhir:value [
a fhir:String ;
fhir:v "CXCAD2DTScreeningEligibilityLogic"         ]       ] [
fhir:url [
fhir:v "name"^^xsd:anyURI ;
fhir:l fhir:name         ] ;
fhir:value [
a fhir:String ;
fhir:v "Client age"         ]       ] [
fhir:url [
fhir:v "statement"^^xsd:anyURI ;
fhir:l fhir:statement         ] ;
fhir:value [
a fhir:String ;
fhir:v "// =============================================================================\n// Helper definitions\n// =============================================================================\n\n/*\n * Client age in years at the encounter date.\n */\ndefine \"Client age\":\n  AgeInYearsAt(Today)"         ]       ] [
fhir:url [
fhir:v "displaySequence"^^xsd:anyURI ;
fhir:l fhir:displaySequence         ] ;
fhir:value [
a fhir:Integer ;
fhir:v 0         ]       ] ) ;
fhir:url [
fhir:v "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"^^xsd:anyURI ;
fhir:l <http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition>       ]     ] [
      ( fhir:extension [
fhir:url [
fhir:v "libraryName"^^xsd:anyURI ;
fhir:l fhir:libraryName         ] ;
fhir:value [
a fhir:String ;
fhir:v "CXCAD2DTScreeningEligibilityLogic"         ]       ] [
fhir:url [
fhir:v "name"^^xsd:anyURI ;
fhir:l fhir:name         ] ;
fhir:value [
a fhir:String ;
fhir:v "Client is at binding target age (35 or 45)"         ]       ] [
fhir:url [
fhir:v "statement"^^xsd:anyURI ;
fhir:l fhir:statement         ] ;
fhir:value [
a fhir:String ;
fhir:v "/*\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"         ]       ] [
fhir:url [
fhir:v "displaySequence"^^xsd:anyURI ;
fhir:l fhir:displaySequence         ] ;
fhir:value [
a fhir:Integer ;
fhir:v 1         ]       ] ) ;
fhir:url [
fhir:v "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"^^xsd:anyURI ;
fhir:l <http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition>       ]     ] [
      ( fhir:extension [
fhir:url [
fhir:v "libraryName"^^xsd:anyURI ;
fhir:l fhir:libraryName         ] ;
fhir:value [
a fhir:String ;
fhir:v "CXCAElements"         ]       ] [
fhir:url [
fhir:v "name"^^xsd:anyURI ;
fhir:l fhir:name         ] ;
fhir:value [
a fhir:String ;
fhir:v "Hysterectomy Procedures"         ]       ] [
fhir:url [
fhir:v "statement"^^xsd:anyURI ;
fhir:l fhir:statement         ] ;
fhir:value [
a fhir:String ;
fhir:v "// =============================================================================\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')"         ]       ] [
fhir:url [
fhir:v "displaySequence"^^xsd:anyURI ;
fhir:l fhir:displaySequence         ] ;
fhir:value [
a fhir:Integer ;
fhir:v 2         ]       ] ) ;
fhir:url [
fhir:v "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"^^xsd:anyURI ;
fhir:l <http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition>       ]     ] [
      ( fhir:extension [
fhir:url [
fhir:v "libraryName"^^xsd:anyURI ;
fhir:l fhir:libraryName         ] ;
fhir:value [
a fhir:String ;
fhir:v "CXCAElements"         ]       ] [
fhir:url [
fhir:v "name"^^xsd:anyURI ;
fhir:l fhir:name         ] ;
fhir:value [
a fhir:String ;
fhir:v "Has Had Hysterectomy"         ]       ] [
fhir:url [
fhir:v "statement"^^xsd:anyURI ;
fhir:l fhir:statement         ] ;
fhir:value [
a fhir:String ;
fhir:v "/*\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\""         ]       ] [
fhir:url [
fhir:v "displaySequence"^^xsd:anyURI ;
fhir:l fhir:displaySequence         ] ;
fhir:value [
a fhir:Integer ;
fhir:v 3         ]       ] ) ;
fhir:url [
fhir:v "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"^^xsd:anyURI ;
fhir:l <http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition>       ]     ] [
      ( fhir:extension [
fhir:url [
fhir:v "libraryName"^^xsd:anyURI ;
fhir:l fhir:libraryName         ] ;
fhir:value [
a fhir:String ;
fhir:v "CXCAD2DTScreeningEligibilityLogic"         ]       ] [
fhir:url [
fhir:v "name"^^xsd:anyURI ;
fhir:l fhir:name         ] ;
fhir:value [
a fhir:String ;
fhir:v "Client is due for HPV screening (legal binding)"         ]       ] [
fhir:url [
fhir:v "statement"^^xsd:anyURI ;
fhir:l fhir:statement         ] ;
fhir:value [
a fhir:String ;
fhir:v "// =============================================================================\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\""         ]       ] [
fhir:url [
fhir:v "displaySequence"^^xsd:anyURI ;
fhir:l fhir:displaySequence         ] ;
fhir:value [
a fhir:Integer ;
fhir:v 4         ]       ] ) ;
fhir:url [
fhir:v "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"^^xsd:anyURI ;
fhir:l <http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition>       ]     ] [
      ( fhir:extension [
fhir:url [
fhir:v "libraryName"^^xsd:anyURI ;
fhir:l fhir:libraryName         ] ;
fhir:value [
a fhir:String ;
fhir:v "CXCAD2DTScreeningEligibilityLogic"         ]       ] [
fhir:url [
fhir:v "name"^^xsd:anyURI ;
fhir:l fhir:name         ] ;
fhir:value [
a fhir:String ;
fhir:v "Client excluded — prior hysterectomy (legal binding)"         ]       ] [
fhir:url [
fhir:v "statement"^^xsd:anyURI ;
fhir:l fhir:statement         ] ;
fhir:value [
a fhir:String ;
fhir:v "/*\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\""         ]       ] [
fhir:url [
fhir:v "displaySequence"^^xsd:anyURI ;
fhir:l fhir:displaySequence         ] ;
fhir:value [
a fhir:Integer ;
fhir:v 5         ]       ] ) ;
fhir:url [
fhir:v "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"^^xsd:anyURI ;
fhir:l <http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition>       ]     ] [
      ( fhir:extension [
fhir:url [
fhir:v "libraryName"^^xsd:anyURI ;
fhir:l fhir:libraryName         ] ;
fhir:value [
a fhir:String ;
fhir:v "CXCAD2DTScreeningEligibilityLogic"         ]       ] [
fhir:url [
fhir:v "name"^^xsd:anyURI ;
fhir:l fhir:name         ] ;
fhir:value [
a fhir:String ;
fhir:v "Client excluded — outside target age range (legal binding)"         ]       ] [
fhir:url [
fhir:v "statement"^^xsd:anyURI ;
fhir:l fhir:statement         ] ;
fhir:value [
a fhir:String ;
fhir:v "/*\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\""         ]       ] [
fhir:url [
fhir:v "displaySequence"^^xsd:anyURI ;
fhir:l fhir:displaySequence         ] ;
fhir:value [
a fhir:Integer ;
fhir:v 6         ]       ] ) ;
fhir:url [
fhir:v "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"^^xsd:anyURI ;
fhir:l <http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition>       ]     ] [
      ( fhir:extension [
fhir:url [
fhir:v "libraryName"^^xsd:anyURI ;
fhir:l fhir:libraryName         ] ;
fhir:value [
a fhir:String ;
fhir:v "CXCAD2DTScreeningEligibilityLogic"         ]       ] [
fhir:url [
fhir:v "name"^^xsd:anyURI ;
fhir:l fhir:name         ] ;
fhir:value [
a fhir:String ;
fhir:v "Client not due — already screened in current cycle (legal binding)"         ]       ] [
fhir:url [
fhir:v "statement"^^xsd:anyURI ;
fhir:l fhir:statement         ] ;
fhir:value [
a fhir:String ;
fhir:v "/*\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\""         ]       ] [
fhir:url [
fhir:v "displaySequence"^^xsd:anyURI ;
fhir:l fhir:displaySequence         ] ;
fhir:value [
a fhir:Integer ;
fhir:v 7         ]       ] ) ;
fhir:url [
fhir:v "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"^^xsd:anyURI ;
fhir:l <http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition>       ]     ] [
      ( fhir:extension [
fhir:url [
fhir:v "libraryName"^^xsd:anyURI ;
fhir:l fhir:libraryName         ] ;
fhir:value [
a fhir:String ;
fhir:v "FHIRHelpers"         ]       ] [
fhir:url [
fhir:v "name"^^xsd:anyURI ;
fhir:l fhir:name         ] ;
fhir:value [
a fhir:String ;
fhir:v "ToString"         ]       ] [
fhir:url [
fhir:v "statement"^^xsd:anyURI ;
fhir:l fhir:statement         ] ;
fhir:value [
a fhir:String ;
fhir:v "define function ToString(value ProcedureStatus): value.value"         ]       ] [
fhir:url [
fhir:v "displaySequence"^^xsd:anyURI ;
fhir:l fhir:displaySequence         ] ;
fhir:value [
a fhir:Integer ;
fhir:v 8         ]       ] ) ;
fhir:url [
fhir:v "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"^^xsd:anyURI ;
fhir:l <http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition>       ]     ] [
      ( fhir:extension [
fhir:url [
fhir:v "libraryName"^^xsd:anyURI ;
fhir:l fhir:libraryName         ] ;
fhir:value [
a fhir:String ;
fhir:v "FHIRHelpers"         ]       ] [
fhir:url [
fhir:v "name"^^xsd:anyURI ;
fhir:l fhir:name         ] ;
fhir:value [
a fhir:String ;
fhir:v "ToString"         ]       ] [
fhir:url [
fhir:v "statement"^^xsd:anyURI ;
fhir:l fhir:statement         ] ;
fhir:value [
a fhir:String ;
fhir:v "define function ToString(value string): value.value"         ]       ] [
fhir:url [
fhir:v "displaySequence"^^xsd:anyURI ;
fhir:l fhir:displaySequence         ] ;
fhir:value [
a fhir:Integer ;
fhir:v 9         ]       ] ) ;
fhir:url [
fhir:v "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"^^xsd:anyURI ;
fhir:l <http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition>       ]     ] [
      ( fhir:extension [
fhir:url [
fhir:v "libraryName"^^xsd:anyURI ;
fhir:l fhir:libraryName         ] ;
fhir:value [
a fhir:String ;
fhir:v "FHIRHelpers"         ]       ] [
fhir:url [
fhir:v "name"^^xsd:anyURI ;
fhir:l fhir:name         ] ;
fhir:value [
a fhir:String ;
fhir:v "ToString"         ]       ] [
fhir:url [
fhir:v "statement"^^xsd:anyURI ;
fhir:l fhir:statement         ] ;
fhir:value [
a fhir:String ;
fhir:v "define function ToString(value uri): value.value"         ]       ] [
fhir:url [
fhir:v "displaySequence"^^xsd:anyURI ;
fhir:l fhir:displaySequence         ] ;
fhir:value [
a fhir:Integer ;
fhir:v 10         ]       ] ) ;
fhir:url [
fhir:v "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"^^xsd:anyURI ;
fhir:l <http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition>       ]     ] ) ;
fhir:name [ fhir:v "EffectiveDataRequirements" ] ;
fhir:status [ fhir:v "active" ] ;
fhir:type [
      ( fhir:coding [
fhir:system [
fhir:v "http://terminology.hl7.org/CodeSystem/library-type"^^xsd:anyURI ;
fhir:l <http://terminology.hl7.org/CodeSystem/library-type>         ] ;
fhir:code [ fhir:v "module-definition" ]       ] )     ] ;
    ( fhir:relatedArtifact [
fhir:type [ fhir:v "depends-on" ] ;
fhir:display [ fhir:v "FHIR model information" ] ;
fhir:resource [
fhir:v "http://fhir.org/guides/cqf/common/Library/FHIR-ModelInfo|4.0.1"^^xsd:anyURI ;
fhir:l <http://fhir.org/guides/cqf/common/Library/FHIR-ModelInfo?version=4.0.1>       ]     ] [
fhir:type [ fhir:v "depends-on" ] ;
fhir:display [ fhir:v "Library Elements" ] ;
fhir:resource [
fhir:v "http://smart.who.int/cxca/Library/CXCAElements"^^xsd:anyURI ;
fhir:l <http://smart.who.int/cxca/Library/CXCAElements>       ]     ] [
fhir:type [ fhir:v "depends-on" ] ;
fhir:display [ fhir:v "Library FHIRHelpers" ] ;
fhir:resource [
fhir:v "http://fhir.org/guides/cqf/common/Library/FHIRHelpers|4.0.1"^^xsd:anyURI ;
fhir:l <http://fhir.org/guides/cqf/common/Library/FHIRHelpers?version=4.0.1>       ]     ] ) ;
    ( fhir:parameter [
fhir:name [ fhir:v "Today" ] ;
fhir:use [ fhir:v "in" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "1" ] ;
fhir:type [ fhir:v "date" ]     ] [
fhir:name [ fhir:v "HasRecentHPVScreening" ] ;
fhir:use [ fhir:v "in" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "1" ] ;
fhir:type [ fhir:v "boolean" ]     ] [
fhir:name [ fhir:v "Client is due for HPV screening (legal binding)" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "1" ] ;
fhir:type [ fhir:v "boolean" ]     ] [
fhir:name [ fhir:v "Client excluded — prior hysterectomy (legal binding)" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "1" ] ;
fhir:type [ fhir:v "boolean" ]     ] [
fhir:name [ fhir:v "Client excluded — outside target age range (legal binding)" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "1" ] ;
fhir:type [ fhir:v "boolean" ]     ] [
fhir:name [ fhir:v "Client not due — already screened in current cycle (legal binding)" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v 0 ] ;
fhir:max [ fhir:v "1" ] ;
fhir:type [ fhir:v "boolean" ]     ] ) ;
    ( fhir:dataRequirement [
fhir:type [ fhir:v "Patient" ] ;
      ( fhir:profile [
fhir:v "http://hl7.org/fhir/StructureDefinition/Patient"^^xsd:anyURI ;
fhir:l <http://hl7.org/fhir/StructureDefinition/Patient>       ] )     ] [
fhir:type [ fhir:v "Procedure" ] ;
      ( fhir:profile [
fhir:v "http://hl7.org/fhir/StructureDefinition/Procedure"^^xsd:anyURI ;
fhir:l <http://hl7.org/fhir/StructureDefinition/Procedure>       ] ) ;
      ( fhir:mustSupport [ fhir:v "status" ] [ fhir:v "code" ] [ fhir:v "code.coding" ] )     ] [
fhir:type [ fhir:v "Procedure" ] ;
      ( fhir:profile [
fhir:v "http://hl7.org/fhir/StructureDefinition/Procedure"^^xsd:anyURI ;
fhir:l <http://hl7.org/fhir/StructureDefinition/Procedure>       ] ) ;
      ( fhir:mustSupport [ fhir:v "status" ] [ fhir:v "code" ] [ fhir:v "code.coding" ] )     ] [
fhir:type [ fhir:v "Procedure" ] ;
      ( fhir:profile [
fhir:v "http://hl7.org/fhir/StructureDefinition/Procedure"^^xsd:anyURI ;
fhir:l <http://hl7.org/fhir/StructureDefinition/Procedure>       ] ) ;
      ( fhir:mustSupport [ fhir:v "status" ] [ fhir:v "code" ] [ fhir:v "code.coding" ] )     ] )
  ] ) ; # 
  fhir:extension ( [
fhir:url [
fhir:v "http://smart.who.int/cxca/StructureDefinition/cxca-bindingness"^^xsd:anyURI ;
fhir:l <http://smart.who.int/cxca/StructureDefinition/cxca-bindingness>     ] ;
fhir:value [
a fhir:Coding ;
fhir:system [
fhir:v "http://smart.who.int/cxca/CodeSystem/CXCA.Bindingness"^^xsd:anyURI ;
fhir:l <http://smart.who.int/cxca/CodeSystem/CXCA.Bindingness>       ] ;
fhir:code [ fhir:v "legal" ] ;
fhir:display [ fhir:v "Legal — binding regulatory instrument" ]     ]
  ] [
fhir:url [
fhir:v "http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-effectiveDataRequirements"^^xsd:anyURI ;
fhir:l <http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-effectiveDataRequirements>     ] ;
fhir:value [
a fhir:Canonical ;
fhir:v "#effective-data-requirements"^^xsd:anyURI ;
fhir:l <#effective-data-requirements>     ]
  ] ) ; # 
  fhir:url [
fhir:v "http://smart.who.int/cxca/PlanDefinition/CXCAD2DTScreeningEligibility"^^xsd:anyURI ;
fhir:l <http://smart.who.int/cxca/PlanDefinition/CXCAD2DTScreeningEligibility>
  ] ; # 
  fhir:version [ fhir:v "0.0.1"] ; # 
  fhir:name [ fhir:v "CXCAD2DTScreeningEligibility"] ; # 
  fhir:title [ fhir:v "CXCA.D2.DT — Cervical Cancer Screening Eligibility"] ; # 
  fhir:type [
    ( fhir:coding [
fhir:system [
fhir:v "http://terminology.hl7.org/CodeSystem/plan-definition-type"^^xsd:anyURI ;
fhir:l <http://terminology.hl7.org/CodeSystem/plan-definition-type>       ] ;
fhir:code [ fhir:v "eca-rule" ]     ] )
  ] ; # 
  fhir:status [ fhir:v "draft"] ; # 
  fhir:experimental [ fhir:v false] ; # 
  fhir:date [ fhir:v "2026-05-14T00:50:23+00:00"^^xsd:dateTime] ; # 
  fhir:publisher [ fhir:v "Dan Heslinga (independent contributor)"] ; # 
  fhir:contact ( [
fhir:name [ fhir:v "Dan Heslinga (independent contributor)" ] ;
    ( fhir:telecom [
fhir:system [ fhir:v "url" ] ;
fhir:value [ fhir:v "https://github.com/dhes" ]     ] )
  ] ) ; # 
  fhir:description [ fhir:v "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."] ; # 
  fhir:library ( [
fhir:v "http://smart.who.int/cxca/Library/CXCAD2DTScreeningEligibilityLogic"^^xsd:anyURI ;
fhir:l <http://smart.who.int/cxca/Library/CXCAD2DTScreeningEligibilityLogic>
  ] ) ; # 
  fhir:action ( [
fhir:title [ fhir:v "Recommend HPV high-risk DNA screening (client is due)" ] ;
fhir:description [ fhir:v "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." ] ;
    ( fhir:condition [
fhir:kind [ fhir:v "applicability" ] ;
fhir:expression [
fhir:language [ fhir:v "text/cql-identifier" ] ;
fhir:expression [ fhir:v "Client is due for HPV screening (legal binding)" ]       ]     ] ) ;
fhir:definition [
a fhir:Canonical ;
fhir:v "http://smart.who.int/cxca/ActivityDefinition/CXCAD2HPVScreeningServiceRequest"^^xsd:anyURI ;
fhir:l <http://smart.who.int/cxca/ActivityDefinition/CXCAD2HPVScreeningServiceRequest>     ]
  ] [
fhir:title [ fhir:v "Defer screening — client already screened in current cycle" ] ;
fhir:description [ fhir:v "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." ] ;
    ( fhir:condition [
fhir:kind [ fhir:v "applicability" ] ;
fhir:expression [
fhir:language [ fhir:v "text/cql-identifier" ] ;
fhir:expression [ fhir:v "Client not due — already screened in current cycle (legal binding)" ]       ]     ] )
  ] [
fhir:title [ fhir:v "Defer screening — client outside binding target age range" ] ;
fhir:description [ fhir:v "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)." ] ;
    ( fhir:condition [
fhir:kind [ fhir:v "applicability" ] ;
fhir:expression [
fhir:language [ fhir:v "text/cql-identifier" ] ;
fhir:expression [ fhir:v "Client excluded — outside target age range (legal binding)" ]       ]     ] )
  ] [
fhir:title [ fhir:v "Exclude from screening — prior hysterectomy" ] ;
fhir:description [ fhir:v "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." ] ;
    ( fhir:condition [
fhir:kind [ fhir:v "applicability" ] ;
fhir:expression [
fhir:language [ fhir:v "text/cql-identifier" ] ;
fhir:expression [ fhir:v "Client excluded — prior hysterectomy (legal binding)" ]       ]     ] )
  ] ) . #