@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 -------------------------------------------------------------------

<http://smart.who.int/cxca/PlanDefinition/CXCAD2DTScreeningEligibility> 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)" ]
       ]
     ] )
  ] ) . # 

# -------------------------------------------------------------------------------------

