WHO Immunization Implementation Guide
0.2.0 - ci-build

WHO Immunization Implementation Guide, published by WHO. This guide is not an authorized publication; it is the continuous build for version 0.2.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/WorldHealthOrganization/smart-immunizations/ and changes regularly. See the Directory of published versions

: IMMZ.D18.S.HPV.2-dose schedule - TTL Representation

Draft as of 2026-07-07

Raw ttl | Download

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

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

<http://hl7.org/fhir/PlanDefinition/IMMZD18SHPV2Doses> a fhir:PlanDefinition ;
  fhir:nodeRole fhir:treeRoot ;
  fhir:Resource.id [ fhir:value "IMMZD18SHPV2Doses"] ;
  fhir:Resource.meta [
     fhir:Meta.profile [
       fhir:value "http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-recommendationdefinition" ;
       fhir:index 0 ;
       fhir:link <http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-recommendationdefinition>
     ], [
       fhir:value "http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-shareableplandefinition" ;
       fhir:index 1 ;
       fhir:link <http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-shareableplandefinition>
     ], [
       fhir:value "http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-publishableplandefinition" ;
       fhir:index 2 ;
       fhir:link <http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-publishableplandefinition>
     ]
  ] ;
  fhir:DomainResource.text [
     fhir:Narrative.status [ fhir:value "extensions" ] ;
     fhir:Narrative.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;\">IMMZD18SHPV2Doses</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-IMMZD18SHPV2Doses.html\">IMMZ.D18.S.HPV.2-dose schedule</a></td>\n        </tr>\n        \n\n        \n        <tr>\n            <th scope=\"row\"><b>Version: </b></th>\n            <td style=\"padding-left: 4px;\">0.2.0</td>\n        </tr>\n        \n\n        \n\n        \n        <tr>\n            <th scope=\"row\"><b>Title: </b></th>\n            <td style=\"padding-left: 4px;\">IMMZ.D18.S.HPV.2-dose schedule</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.2.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-07-07 22:09:13+0000</td>\n        </tr>\n        \n\n        \n        <tr>\n            <th scope=\"row\"><b>Publisher: </b></th>\n            <td style=\"padding-left: 4px;\">WHO</td>\n        </tr>\n        \n\n        \n        <tr>\n            <th scope=\"row\"><b>Description: </b></th>\n            <td style=\"padding-left: 4px;\"><div><p>IMMZ.D18.S.HPV.2-dose schedule\n2-dose schedule</p>\n</div></td>\n        </tr>\n        \n\n        \n        <tr>\n            <th scope=\"row\"><b>Knowledge Capability: </b></th>\n            <td style=\"padding-left: 4px;\">\n                \n                computable \n            </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        <tr>\n            <th scope=\"row\"><b>Related Artifacts: </b></th>\n            <td style=\"padding-left: 4px;\">\n                \n                \n                <p><b>References</b></p>\n                <ul>\n                    \n                    <li><div><p>WHO recommendations for routine immunization - summary tables (January 2025)</p>\n</div><br/><a href=\"null\"/></li>\n                    \n                </ul>\n                \n                \n                \n                \n                \n                \n            </td>\n        </tr>\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-IMMZD18SHPV2DosesLogic.html\">IMMZD18SHPV2DosesLogic</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> HPV dose 1:</b> Provision of the HPV dose 1\nTrigger event: Child's birth when client's biological sex is female\nTrigger pseudo: Child's birth AND \"Sex\" = \"Female\"\nTrigger date: \"Date of birth\"\nCreate condition: HPV dose 1 should be provided if the client is female and older than 9 years of age.\n                            \n                            <br/>\n                            \n                            \n                            <b>If:</b>\n                            \n                            <i>Applicability:</i>\n                            \n                            HPV dose 1\n                            \n                            <i>(HPV dose 1)</i>\n                            <br/>\n                            \n                            \n                            \n                            \n                            <b>Then:</b> <i>Definition:</i> <a href=\"ActivityDefinition-IMMZD2DTCR.html\">IMMZ.D2.DT.CR</a><br/>\n                            \n                            <i>Dynamic Values:</i><br/>\n                            \n                            status: <i>('active')</i>\n                            <br/>\n                            \n                            payload.contentString: <i>(HPV dose 1 Create)</i>\n                            <br/>\n                            \n                            category.coding: <i>(Code { system: 'http://terminology.hl7.org/CodeSystem/communication-category', code: 'alert' })</i>\n                            <br/>\n                            \n                            priority: <i>(Code { system: 'http://hl7.org/fhir/request-priority', code: 'routine' })</i>\n                            <br/>\n                            \n                            \n                            \n                            \n                        </td>\n                    </tr>\n                    \n                    <tr>\n                        <td>\n                            \n                            <b> HPV dose 2:</b> Provision of the HPV dose 2\nTrigger event: First HPV dose from the primary series was administered\nTrigger pseudo: Count of vaccines administered (where \"Vaccine type\" = \"HPV vaccines\" and \"Type of dose\" = \"Primary series\") = 1\nTrigger date: \"Date and time of vaccination\" (where \"Vaccine type\" = \"HPV vaccines\")\nCreate condition: HPV dose 2 should be provided if dose 1 was given 6 months ago.\n                            \n                            <br/>\n                            \n                            \n                            <b>If:</b>\n                            \n                            <i>Applicability:</i>\n                            \n                            HPV dose 2\n                            \n                            <i>(HPV dose 2)</i>\n                            <br/>\n                            \n                            \n                            \n                            \n                            <b>Then:</b> <i>Definition:</i> <a href=\"ActivityDefinition-IMMZD2DTCR.html\">IMMZ.D2.DT.CR</a><br/>\n                            \n                            <i>Dynamic Values:</i><br/>\n                            \n                            status: <i>('active')</i>\n                            <br/>\n                            \n                            payload.contentString: <i>(HPV dose 2 Create)</i>\n                            <br/>\n                            \n                            category.coding: <i>(Code { system: 'http://terminology.hl7.org/CodeSystem/communication-category', code: 'alert' })</i>\n                            <br/>\n                            \n                            priority: <i>(Code { system: 'http://hl7.org/fhir/request-priority', code: 'routine' })</i>\n                            <br/>\n                            \n                            \n                            \n                            \n                        </td>\n                    </tr>\n                    \n                    <tr>\n                        <td>\n                            \n                            <b> HPV dose 3 (immunocompromised or HIV-positive):</b> Provision of the HPV dose 3 for individuals immunocompromised or infected with HIV\nTrigger event: Second HPV dose from the primary series was administered and client's HIV status is positive or client is immunocompromised\nTrigger pseudo: Count of vaccines administered (where \"Vaccine type\" = \"HPV vaccines\" and \"Type of dose\" = \"Primary series\") = 2 AND (\"HIV status\" = \"HIV-positive\" OR \"Immunocompromised\" = TRUE)\nTrigger date: Latest \"Date and time of vaccination\" (where \"Vaccine type\" = \"HPV vaccines\")\nCreate condition: Where possible, three HPV doses should be provided to individuals known to be immunocompromised or infected with HIV.\n                            \n                            <br/>\n                            \n                            \n                            <b>If:</b>\n                            \n                            <i>Applicability:</i>\n                            \n                            HPV dose 3 (immunocompromised or HIV-positive)\n                            \n                            <i>(HPV dose 3 (immunocompromised or HIV-positive))</i>\n                            <br/>\n                            \n                            \n                            \n                            \n                            <b>Then:</b> <i>Definition:</i> <a href=\"ActivityDefinition-IMMZD2DTCR.html\">IMMZ.D2.DT.CR</a><br/>\n                            \n                            <i>Dynamic Values:</i><br/>\n                            \n                            status: <i>('active')</i>\n                            <br/>\n                            \n                            payload.contentString: <i>(HPV dose 3 (immunocompromised or HIV-positive) Create)</i>\n                            <br/>\n                            \n                            category.coding: <i>(Code { system: 'http://terminology.hl7.org/CodeSystem/communication-category', code: 'alert' })</i>\n                            <br/>\n                            \n                            priority: <i>(Code { system: 'http://hl7.org/fhir/request-priority', code: 'routine' })</i>\n                            <br/>\n                            \n                            \n                            \n                            \n                        </td>\n                    </tr>\n                    \n                </table>\n            </td>\n        </tr>\n        \n    </table>\n</div>\n</div>"
  ] ;
  fhir:DomainResource.contained [
     a fhir:Library ;
     fhir:index 0 ;
     fhir:Resource.id [ fhir:value "effective-data-requirements" ] ;
     fhir:DomainResource.extension [
       fhir:index 0 ;
       fhir:Extension.url [ fhir:value "http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode" ] ;
       fhir:Extension.valueCoding [
         fhir:Coding.system [ fhir:value "http://smart.who.int/immunizations/CodeSystem/IMMZ.D" ] ;
         fhir:Coding.code [ fhir:value "DE204" ] ;
         fhir:Coding.display [ fhir:value "HIV status" ]
       ]
     ], [
       fhir:index 1 ;
       fhir:Extension.url [ fhir:value "http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode" ] ;
       fhir:Extension.valueCoding [
         fhir:Coding.system [ fhir:value "http://smart.who.int/immunizations/CodeSystem/IMMZ.D" ] ;
         fhir:Coding.code [ fhir:value "DE205" ] ;
         fhir:Coding.display [ fhir:value "HIV-positive" ]
       ]
     ], [
       fhir:index 2 ;
       fhir:Extension.url [ fhir:value "http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode" ] ;
       fhir:Extension.valueCoding [
         fhir:Coding.system [ fhir:value "http://smart.who.int/immunizations/CodeSystem/IMMZ.D" ] ;
         fhir:Coding.code [ fhir:value "DE209" ] ;
         fhir:Coding.display [ fhir:value "Immunocompromised" ]
       ]
     ], [
       fhir:index 3 ;
       fhir:Element.extension [
         fhir:index 0 ;
         fhir:Extension.url [ fhir:value "libraryName" ] ;
         fhir:Extension.valueString [ fhir:value "IMMZElements" ]
       ], [
         fhir:index 1 ;
         fhir:Extension.url [ fhir:value "name" ] ;
         fhir:Extension.valueString [ fhir:value "Doses Administered to Patient" ]
       ], [
         fhir:index 2 ;
         fhir:Extension.url [ fhir:value "statement" ] ;
         fhir:Extension.valueString [ fhir:value "/**\n * @dataElement All Doses Administered to Patient\n */\ndefine \"Doses Administered to Patient\":\n  [Immunization] I\n    where I.status = 'completed'\n    and I.isSubpotent is not true" ]
       ], [
         fhir:index 3 ;
         fhir:Extension.url [ fhir:value "displaySequence" ] ;
         fhir:Extension.valueInteger [ fhir:value "0"^^xsd:integer ]
       ] ;
       fhir:Extension.url [ fhir:value "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition" ]
     ], [
       fhir:index 4 ;
       fhir:Element.extension [
         fhir:index 0 ;
         fhir:Extension.url [ fhir:value "libraryName" ] ;
         fhir:Extension.valueString [ fhir:value "IMMZEncounterElements" ]
       ], [
         fhir:index 1 ;
         fhir:Extension.url [ fhir:value "name" ] ;
         fhir:Extension.valueString [ fhir:value "Doses Administered to Patient" ]
       ], [
         fhir:index 2 ;
         fhir:Extension.url [ fhir:value "statement" ] ;
         fhir:Extension.valueString [ fhir:value "/**\n * @dataElement All Doses Administered to Patient\n */\ndefine \"Doses Administered to Patient\":\n  Elements.\"Doses Administered to Patient\" I\n    where I.occurrence.toInterval() same day or before Today" ]
       ], [
         fhir:index 3 ;
         fhir:Extension.url [ fhir:value "displaySequence" ] ;
         fhir:Extension.valueInteger [ fhir:value "1"^^xsd:integer ]
       ] ;
       fhir:Extension.url [ fhir:value "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition" ]
     ], [
       fhir:index 5 ;
       fhir:Element.extension [
         fhir:index 0 ;
         fhir:Extension.url [ fhir:value "libraryName" ] ;
         fhir:Extension.valueString [ fhir:value "IMMZD2DTHPVEncounterElements" ]
       ], [
         fhir:index 1 ;
         fhir:Extension.url [ fhir:value "name" ] ;
         fhir:Extension.valueString [ fhir:value "HPV Doses Administered to Patient" ]
       ], [
         fhir:index 2 ;
         fhir:Extension.url [ fhir:value "statement" ] ;
         fhir:Extension.valueString [ fhir:value "/*\n@internal: HPV containing Doses Administered to Patient\n*/\ndefine \"HPV Doses Administered to Patient\":\n  Encounter.\"Doses Administered to Patient\" I\n  where\n    I.vaccineCode in Concepts.\"HPV vaccines\"" ]
       ], [
         fhir:index 3 ;
         fhir:Extension.url [ fhir:value "displaySequence" ] ;
         fhir:Extension.valueInteger [ fhir:value "2"^^xsd:integer ]
       ] ;
       fhir:Extension.url [ fhir:value "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition" ]
     ], [
       fhir:index 6 ;
       fhir:Element.extension [
         fhir:index 0 ;
         fhir:Extension.url [ fhir:value "libraryName" ] ;
         fhir:Extension.valueString [ fhir:value "IMMZD2DTHPVEncounterElements" ]
       ], [
         fhir:index 1 ;
         fhir:Extension.url [ fhir:value "name" ] ;
         fhir:Extension.valueString [ fhir:value "HPV Primary Series Doses Administered to Patient" ]
       ], [
         fhir:index 2 ;
         fhir:Extension.url [ fhir:value "statement" ] ;
         fhir:Extension.valueString [ fhir:value "/*\n@internal: HPV containing Doses Administered to Patient that are in the Primary series\n*/\ndefine \"HPV Primary Series Doses Administered to Patient\":\n  \"HPV Doses Administered to Patient\".seriesPrimary()" ]
       ], [
         fhir:index 3 ;
         fhir:Extension.url [ fhir:value "displaySequence" ] ;
         fhir:Extension.valueInteger [ fhir:value "3"^^xsd:integer ]
       ] ;
       fhir:Extension.url [ fhir:value "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition" ]
     ], [
       fhir:index 7 ;
       fhir:Element.extension [
         fhir:index 0 ;
         fhir:Extension.url [ fhir:value "libraryName" ] ;
         fhir:Extension.valueString [ fhir:value "IMMZD2DTHPVEncounterElements" ]
       ], [
         fhir:index 1 ;
         fhir:Extension.url [ fhir:value "name" ] ;
         fhir:Extension.valueString [ fhir:value "Number of HPV Primary Series Doses Administered" ]
       ], [
         fhir:index 2 ;
         fhir:Extension.url [ fhir:value "statement" ] ;
         fhir:Extension.valueString [ fhir:value "/*\n@internal: Number of HPV Primary Series doses\n*/\ndefine \"Number of HPV Primary Series Doses Administered\":\n  Count(\"HPV Primary Series Doses Administered to Patient\")" ]
       ], [
         fhir:index 3 ;
         fhir:Extension.url [ fhir:value "displaySequence" ] ;
         fhir:Extension.valueInteger [ fhir:value "4"^^xsd:integer ]
       ] ;
       fhir:Extension.url [ fhir:value "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition" ]
     ], [
       fhir:index 8 ;
       fhir:Element.extension [
         fhir:index 0 ;
         fhir:Extension.url [ fhir:value "libraryName" ] ;
         fhir:Extension.valueString [ fhir:value "IMMZD2DTHPVEncounterElements" ]
       ], [
         fhir:index 1 ;
         fhir:Extension.url [ fhir:value "name" ] ;
         fhir:Extension.valueString [ fhir:value "No HPV primary series doses were administered" ]
       ], [
         fhir:index 2 ;
         fhir:Extension.url [ fhir:value "statement" ] ;
         fhir:Extension.valueString [ fhir:value "/*\n@input: No HPV primary series doses were administered\n@pseudocode: Count of vaccines administered (where \"Vaccine type\" = \"HPV vaccines\" and \"Type of dose\" = \"Primary series\") = 0\n@code: No HPV primary series doses were administered-112\n@decision: IMMZ.D2.DT.HPV.2 doses: 2-dose schedule\n@decision: IMMZ.D2.DT.HPV.Single dose: Alternative single-dose schedule\n*/\ndefine \"No HPV primary series doses were administered\":\n  \"Number of HPV Primary Series Doses Administered\" = 0" ]
       ], [
         fhir:index 3 ;
         fhir:Extension.url [ fhir:value "displaySequence" ] ;
         fhir:Extension.valueInteger [ fhir:value "5"^^xsd:integer ]
       ] ;
       fhir:Extension.url [ fhir:value "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition" ]
     ], [
       fhir:index 9 ;
       fhir:Element.extension [
         fhir:index 0 ;
         fhir:Extension.url [ fhir:value "libraryName" ] ;
         fhir:Extension.valueString [ fhir:value "IMMZD2DTHPVEncounterElements" ]
       ], [
         fhir:index 1 ;
         fhir:Extension.url [ fhir:value "name" ] ;
         fhir:Extension.valueString [ fhir:value "One HPV primary series dose was administered" ]
       ], [
         fhir:index 2 ;
         fhir:Extension.url [ fhir:value "statement" ] ;
         fhir:Extension.valueString [ fhir:value "/*\n@input: One HPV primary series dose was administered\n@pseudocode: Count of vaccines administered (where \"Vaccine type\" = \"HPV vaccines\" and \"Type of dose\" = \"Primary series\") = 1\n@code: One HPV primary series dose was administered-112\n@decision: IMMZ.D2.DT.HPV.2 doses: 2-dose schedule\n@decision: IMMZ.D2.DT.HPV.Single dose: Alternative single-dose schedule\n*/\ndefine \"One HPV primary series dose was administered\":\n  \"Number of HPV Primary Series Doses Administered\" = 1" ]
       ], [
         fhir:index 3 ;
         fhir:Extension.url [ fhir:value "displaySequence" ] ;
         fhir:Extension.valueInteger [ fhir:value "6"^^xsd:integer ]
       ] ;
       fhir:Extension.url [ fhir:value "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition" ]
     ], [
       fhir:index 10 ;
       fhir:Element.extension [
         fhir:index 0 ;
         fhir:Extension.url [ fhir:value "libraryName" ] ;
         fhir:Extension.valueString [ fhir:value "IMMZD18SHPV2DosesLogic" ]
       ], [
         fhir:index 1 ;
         fhir:Extension.url [ fhir:value "name" ] ;
         fhir:Extension.valueString [ fhir:value "First HPV dose from the primary series was administered" ]
       ], [
         fhir:index 2 ;
         fhir:Extension.url [ fhir:value "statement" ] ;
         fhir:Extension.valueString [ fhir:value "/*\n@complete: First HPV dose from the primary series was administered\n@pseudocode: Count of vaccines administered (where \"Vaccine type\" = \"HPV vaccines\" and \"Type of dose\" = \"Primary series\") = 1\n*/\ndefine \"First HPV dose from the primary series was administered\":\n  Encounter.\"One HPV primary series dose was administered\"" ]
       ], [
         fhir:index 3 ;
         fhir:Extension.url [ fhir:value "displaySequence" ] ;
         fhir:Extension.valueInteger [ fhir:value "7"^^xsd:integer ]
       ] ;
       fhir:Extension.url [ fhir:value "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition" ]
     ], [
       fhir:index 11 ;
       fhir:Element.extension [
         fhir:index 0 ;
         fhir:Extension.url [ fhir:value "libraryName" ] ;
         fhir:Extension.valueString [ fhir:value "IMMZD18SHPV2DosesLogic" ]
       ], [
         fhir:index 1 ;
         fhir:Extension.url [ fhir:value "name" ] ;
         fhir:Extension.valueString [ fhir:value "HPV dose 1" ]
       ], [
         fhir:index 2 ;
         fhir:Extension.url [ fhir:value "statement" ] ;
         fhir:Extension.valueString [ fhir:value "/*\n@output: HPV dose 1\n@description: Provision of the HPV dose 1\n@trigger: Child's birth when client's biological sex is female\n@pseudo: Child's birth AND \"Sex\" = \"Female\"\n@triggerDate: \"Date of birth\"\n*/\ndefine \"HPV dose 1\":\n  Encounter.\"No HPV primary series doses were administered\"\n  and not \"First HPV dose from the primary series was administered\"" ]
       ], [
         fhir:index 3 ;
         fhir:Extension.url [ fhir:value "displaySequence" ] ;
         fhir:Extension.valueInteger [ fhir:value "8"^^xsd:integer ]
       ] ;
       fhir:Extension.url [ fhir:value "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition" ]
     ], [
       fhir:index 12 ;
       fhir:Element.extension [
         fhir:index 0 ;
         fhir:Extension.url [ fhir:value "libraryName" ] ;
         fhir:Extension.valueString [ fhir:value "IMMZD18SHPV2DosesLogic" ]
       ], [
         fhir:index 1 ;
         fhir:Extension.url [ fhir:value "name" ] ;
         fhir:Extension.valueString [ fhir:value "HPV dose 1 Due Date" ]
       ], [
         fhir:index 2 ;
         fhir:Extension.url [ fhir:value "statement" ] ;
         fhir:Extension.valueString [ fhir:value "/*\n@dynamicValue: HPV dose 1 Due Date\n@pseudocode: \"Date of birth\" + 9 years\n*/\ndefine \"HPV dose 1 Due Date\":\n  if \"HPV dose 1\" then Patient.birthDate + 9 years\n  else null" ]
       ], [
         fhir:index 3 ;
         fhir:Extension.url [ fhir:value "displaySequence" ] ;
         fhir:Extension.valueInteger [ fhir:value "9"^^xsd:integer ]
       ] ;
       fhir:Extension.url [ fhir:value "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition" ]
     ], [
       fhir:index 13 ;
       fhir:Element.extension [
         fhir:index 0 ;
         fhir:Extension.url [ fhir:value "libraryName" ] ;
         fhir:Extension.valueString [ fhir:value "IMMZD18SHPV2DosesLogic" ]
       ], [
         fhir:index 1 ;
         fhir:Extension.url [ fhir:value "name" ] ;
         fhir:Extension.valueString [ fhir:value "HPV dose 1 Overdue" ]
       ], [
         fhir:index 2 ;
         fhir:Extension.url [ fhir:value "statement" ] ;
         fhir:Extension.valueString [ fhir:value "/*\n@dynamicValue: HPV dose 1 Overdue\n@pseudocode: \"Date of birth\" + 14 years\n*/\ndefine \"HPV dose 1 Overdue\":\n  if \"HPV dose 1\" then Patient.birthDate + 14 years\n  else null" ]
       ], [
         fhir:index 3 ;
         fhir:Extension.url [ fhir:value "displaySequence" ] ;
         fhir:Extension.valueInteger [ fhir:value "10"^^xsd:integer ]
       ] ;
       fhir:Extension.url [ fhir:value "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition" ]
     ], [
       fhir:index 14 ;
       fhir:Element.extension [
         fhir:index 0 ;
         fhir:Extension.url [ fhir:value "libraryName" ] ;
         fhir:Extension.valueString [ fhir:value "IMMZD18SHPV2DosesLogic" ]
       ], [
         fhir:index 1 ;
         fhir:Extension.url [ fhir:value "name" ] ;
         fhir:Extension.valueString [ fhir:value "HPV dose 1 Create" ]
       ], [
         fhir:index 2 ;
         fhir:Extension.url [ fhir:value "statement" ] ;
         fhir:Extension.valueString [ fhir:value "/*\n@output: HPV dose 1 Create\n@create: HPV dose 1 should be provided if the client is female and older than 9 years of age.\n*/\ndefine \"HPV dose 1 Create\":\n  if \"HPV dose 1\"\n  then 'HPV dose 1 should be provided if the client is female and older than 9 years of age.' + '\nDue Date: ' + ToString(\"HPV dose 1 Due Date\") + '\nOverdue: ' + ToString(\"HPV dose 1 Overdue\")\n  else ''" ]
       ], [
         fhir:index 3 ;
         fhir:Extension.url [ fhir:value "displaySequence" ] ;
         fhir:Extension.valueInteger [ fhir:value "11"^^xsd:integer ]
       ] ;
       fhir:Extension.url [ fhir:value "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition" ]
     ], [
       fhir:index 15 ;
       fhir:Element.extension [
         fhir:index 0 ;
         fhir:Extension.url [ fhir:value "libraryName" ] ;
         fhir:Extension.valueString [ fhir:value "IMMZD2DTHPVEncounterElements" ]
       ], [
         fhir:index 1 ;
         fhir:Extension.url [ fhir:value "name" ] ;
         fhir:Extension.valueString [ fhir:value "Two HPV primary series doses were administered" ]
       ], [
         fhir:index 2 ;
         fhir:Extension.url [ fhir:value "statement" ] ;
         fhir:Extension.valueString [ fhir:value "/*\n@input: Two HPV primary series doses were administered\n@pseudocode: Count of vaccines administered (where \"Vaccine type\" = \"HPV vaccines\" and \"Type of dose\" = \"Primary series\") = 2\n@code: Two HPV primary series doses were administered-112\n@decision: IMMZ.D2.DT.HPV.2 doses: 2-dose schedule\n@decision: IMMZ.D2.DT.HPV.Single dose: Alternative single-dose schedule\n*/\ndefine \"Two HPV primary series doses were administered\":\n  \"Number of HPV Primary Series Doses Administered\" = 2" ]
       ], [
         fhir:index 3 ;
         fhir:Extension.url [ fhir:value "displaySequence" ] ;
         fhir:Extension.valueInteger [ fhir:value "12"^^xsd:integer ]
       ] ;
       fhir:Extension.url [ fhir:value "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition" ]
     ], [
       fhir:index 16 ;
       fhir:Element.extension [
         fhir:index 0 ;
         fhir:Extension.url [ fhir:value "libraryName" ] ;
         fhir:Extension.valueString [ fhir:value "IMMZD18SHPV2DosesLogic" ]
       ], [
         fhir:index 1 ;
         fhir:Extension.url [ fhir:value "name" ] ;
         fhir:Extension.valueString [ fhir:value "Second HPV dose from the primary series was administered" ]
       ], [
         fhir:index 2 ;
         fhir:Extension.url [ fhir:value "statement" ] ;
         fhir:Extension.valueString [ fhir:value "/*\n@complete: Second HPV dose from the primary series was administered\n@pseudocode: Count of vaccines administered (where \"Vaccine type\" = \"HPV vaccines\" and \"Type of dose\" = \"Primary series\") = 2\n*/\ndefine \"Second HPV dose from the primary series was administered\":\n  Encounter.\"Two HPV primary series doses were administered\"" ]
       ], [
         fhir:index 3 ;
         fhir:Extension.url [ fhir:value "displaySequence" ] ;
         fhir:Extension.valueInteger [ fhir:value "13"^^xsd:integer ]
       ] ;
       fhir:Extension.url [ fhir:value "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition" ]
     ], [
       fhir:index 17 ;
       fhir:Element.extension [
         fhir:index 0 ;
         fhir:Extension.url [ fhir:value "libraryName" ] ;
         fhir:Extension.valueString [ fhir:value "IMMZElements" ]
       ], [
         fhir:index 1 ;
         fhir:Extension.url [ fhir:value "name" ] ;
         fhir:Extension.valueString [ fhir:value "HIV status Observation" ]
       ], [
         fhir:index 2 ;
         fhir:Extension.url [ fhir:value "statement" ] ;
         fhir:Extension.valueString [ fhir:value "/*\n@internal: HIV Status Observation\n*/\ndefine \"HIV status Observation\":\n  ([Observation: Concepts.\"HIV status\"]).complete()" ]
       ], [
         fhir:index 3 ;
         fhir:Extension.url [ fhir:value "displaySequence" ] ;
         fhir:Extension.valueInteger [ fhir:value "14"^^xsd:integer ]
       ] ;
       fhir:Extension.url [ fhir:value "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition" ]
     ], [
       fhir:index 18 ;
       fhir:Element.extension [
         fhir:index 0 ;
         fhir:Extension.url [ fhir:value "libraryName" ] ;
         fhir:Extension.valueString [ fhir:value "IMMZEncounterElements" ]
       ], [
         fhir:index 1 ;
         fhir:Extension.url [ fhir:value "name" ] ;
         fhir:Extension.valueString [ fhir:value "Client's HIV status is positive" ]
       ], [
         fhir:index 2 ;
         fhir:Extension.url [ fhir:value "statement" ] ;
         fhir:Extension.valueString [ fhir:value "/*\n@input: Client's HIV status is positive\n@pseudocode: \"HIV status\" = \"HIV-positive\"\n*/\ndefine \"Client's HIV status is positive\":\n  exists( (Elements.\"HIV status Observation\".encounterOrOnBefore(EncounterId, Today)) O\n    where O.value ~ Concepts.\"HIV-positive\" )" ]
       ], [
         fhir:index 3 ;
         fhir:Extension.url [ fhir:value "displaySequence" ] ;
         fhir:Extension.valueInteger [ fhir:value "15"^^xsd:integer ]
       ] ;
       fhir:Extension.url [ fhir:value "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition" ]
     ], [
       fhir:index 19 ;
       fhir:Element.extension [
         fhir:index 0 ;
         fhir:Extension.url [ fhir:value "libraryName" ] ;
         fhir:Extension.valueString [ fhir:value "IMMZD2DTHPVEncounterElements" ]
       ], [
         fhir:index 1 ;
         fhir:Extension.url [ fhir:value "name" ] ;
         fhir:Extension.valueString [ fhir:value "Client's HIV status is positive" ]
       ], [
         fhir:index 2 ;
         fhir:Extension.url [ fhir:value "statement" ] ;
         fhir:Extension.valueString [ fhir:value "/*\n@input: Client's HIV status is positive\n@pseudocode: \"HIV status\" = \"HIV-positive\"\n@code: Client's HIV status is positive-29\n@decision: IMMZ.D2.DT.HPV.2 doses: 2-dose schedule\n@decision: IMMZ.D2.DT.HPV.Single dose: Alternative single-dose schedule\n*/\ndefine \"Client's HIV status is positive\":\n  Encounter.\"Client's HIV status is positive\"" ]
       ], [
         fhir:index 3 ;
         fhir:Extension.url [ fhir:value "displaySequence" ] ;
         fhir:Extension.valueInteger [ fhir:value "16"^^xsd:integer ]
       ] ;
       fhir:Extension.url [ fhir:value "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition" ]
     ], [
       fhir:index 20 ;
       fhir:Element.extension [
         fhir:index 0 ;
         fhir:Extension.url [ fhir:value "libraryName" ] ;
         fhir:Extension.valueString [ fhir:value "IMMZEncounterElements" ]
       ], [
         fhir:index 1 ;
         fhir:Extension.url [ fhir:value "name" ] ;
         fhir:Extension.valueString [ fhir:value "Immunocompromised Observation" ]
       ], [
         fhir:index 2 ;
         fhir:Extension.url [ fhir:value "statement" ] ;
         fhir:Extension.valueString [ fhir:value "/*\n@internal: Immunocompromised Observation\n*/\ndefine \"Immunocompromised Observation\":\n  ([Observation: Concepts.\"Immunocompromised\"] O\n    sort by end of effective.toInterval() desc).complete()" ]
       ], [
         fhir:index 3 ;
         fhir:Extension.url [ fhir:value "displaySequence" ] ;
         fhir:Extension.valueInteger [ fhir:value "17"^^xsd:integer ]
       ] ;
       fhir:Extension.url [ fhir:value "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition" ]
     ], [
       fhir:index 21 ;
       fhir:Element.extension [
         fhir:index 0 ;
         fhir:Extension.url [ fhir:value "libraryName" ] ;
         fhir:Extension.valueString [ fhir:value "IMMZEncounterElements" ]
       ], [
         fhir:index 1 ;
         fhir:Extension.url [ fhir:value "name" ] ;
         fhir:Extension.valueString [ fhir:value "Client is immunocompromised" ]
       ], [
         fhir:index 2 ;
         fhir:Extension.url [ fhir:value "statement" ] ;
         fhir:Extension.valueString [ fhir:value "/*\n@input: Client is immunocompromised\n@pseudocode: \"Immunocompromised\" = TRUE\n*/\ndefine \"Client is immunocompromised\":\n  exists( \"Immunocompromised Observation\" ) and\n  First( \"Immunocompromised Observation\" ).value = true" ]
       ], [
         fhir:index 3 ;
         fhir:Extension.url [ fhir:value "displaySequence" ] ;
         fhir:Extension.valueInteger [ fhir:value "18"^^xsd:integer ]
       ] ;
       fhir:Extension.url [ fhir:value "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition" ]
     ], [
       fhir:index 22 ;
       fhir:Element.extension [
         fhir:index 0 ;
         fhir:Extension.url [ fhir:value "libraryName" ] ;
         fhir:Extension.valueString [ fhir:value "IMMZD2DTHPVEncounterElements" ]
       ], [
         fhir:index 1 ;
         fhir:Extension.url [ fhir:value "name" ] ;
         fhir:Extension.valueString [ fhir:value "Client is immunocompromised" ]
       ], [
         fhir:index 2 ;
         fhir:Extension.url [ fhir:value "statement" ] ;
         fhir:Extension.valueString [ fhir:value "/*\n@input: Client is immunocompromised\n@pseudocode: \"Immunocompromised\" = TRUE\n@code: Client is immunocompromised-26\n@decision: IMMZ.D2.DT.HPV.2 doses: 2-dose schedule\n@decision: IMMZ.D2.DT.HPV.Single dose: Alternative single-dose schedule\n*/\ndefine \"Client is immunocompromised\":\n  Encounter.\"Client is immunocompromised\"" ]
       ], [
         fhir:index 3 ;
         fhir:Extension.url [ fhir:value "displaySequence" ] ;
         fhir:Extension.valueInteger [ fhir:value "19"^^xsd:integer ]
       ] ;
       fhir:Extension.url [ fhir:value "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition" ]
     ], [
       fhir:index 23 ;
       fhir:Element.extension [
         fhir:index 0 ;
         fhir:Extension.url [ fhir:value "libraryName" ] ;
         fhir:Extension.valueString [ fhir:value "IMMZD2DTHPVEncounterElements" ]
       ], [
         fhir:index 1 ;
         fhir:Extension.url [ fhir:value "name" ] ;
         fhir:Extension.valueString [ fhir:value "Three HPV primary series doses were administered" ]
       ], [
         fhir:index 2 ;
         fhir:Extension.url [ fhir:value "statement" ] ;
         fhir:Extension.valueString [ fhir:value "/*\n@input: Three HPV primary series doses were administered\n@pseudocode: Count of vaccines administered (where \"Vaccine type\" = \"HPV vaccines\" and \"Type of dose\" = \"Primary series\") = 3\n@code: Three HPV primary series doses were administered-112\n@decision: IMMZ.D2.DT.HPV.2 doses: 2-dose schedule\n@decision: IMMZ.D2.DT.HPV.Single dose: Alternative single-dose schedule\n*/\ndefine \"Three HPV primary series doses were administered\":\n  \"Number of HPV Primary Series Doses Administered\" = 3" ]
       ], [
         fhir:index 3 ;
         fhir:Extension.url [ fhir:value "displaySequence" ] ;
         fhir:Extension.valueInteger [ fhir:value "20"^^xsd:integer ]
       ] ;
       fhir:Extension.url [ fhir:value "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition" ]
     ], [
       fhir:index 24 ;
       fhir:Element.extension [
         fhir:index 0 ;
         fhir:Extension.url [ fhir:value "libraryName" ] ;
         fhir:Extension.valueString [ fhir:value "IMMZD18SHPV2DosesLogic" ]
       ], [
         fhir:index 1 ;
         fhir:Extension.url [ fhir:value "name" ] ;
         fhir:Extension.valueString [ fhir:value "Third HPV dose from the primary series was administered" ]
       ], [
         fhir:index 2 ;
         fhir:Extension.url [ fhir:value "statement" ] ;
         fhir:Extension.valueString [ fhir:value "/*\n@complete: Third HPV dose from the primary series was administered\n@pseudocode: Count of vaccines administered (where \"Vaccine type\" = \"HPV vaccines\" and \"Type of dose\" = \"Primary series\") = 3\n*/\ndefine \"Third HPV dose from the primary series was administered\":\n  Encounter.\"Three HPV primary series doses were administered\"" ]
       ], [
         fhir:index 3 ;
         fhir:Extension.url [ fhir:value "displaySequence" ] ;
         fhir:Extension.valueInteger [ fhir:value "21"^^xsd:integer ]
       ] ;
       fhir:Extension.url [ fhir:value "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition" ]
     ], [
       fhir:index 25 ;
       fhir:Element.extension [
         fhir:index 0 ;
         fhir:Extension.url [ fhir:value "libraryName" ] ;
         fhir:Extension.valueString [ fhir:value "IMMZD18SHPV2DosesLogic" ]
       ], [
         fhir:index 1 ;
         fhir:Extension.url [ fhir:value "name" ] ;
         fhir:Extension.valueString [ fhir:value "HPV dose 3 (immunocompromised or HIV-positive)" ]
       ], [
         fhir:index 2 ;
         fhir:Extension.url [ fhir:value "statement" ] ;
         fhir:Extension.valueString [ fhir:value "/*\n@output: HPV dose 3 (immunocompromised or HIV-positive)\n@description: Provision of the HPV dose 3 for individuals immunocompromised or infected with HIV\n@trigger: Second HPV dose from the primary series was administered and client's HIV status is positive or client is immunocompromised\n@pseudo: Count of vaccines administered (where \"Vaccine type\" = \"HPV vaccines\" and \"Type of dose\" = \"Primary series\") = 2 AND (\"HIV status\" = \"HIV-positive\" OR \"Immunocompromised\" = TRUE)\n@triggerDate: Latest \"Date and time of vaccination\" (where \"Vaccine type\" = \"HPV vaccines\")\n*/\ndefine \"HPV dose 3 (immunocompromised or HIV-positive)\":\n  \"Second HPV dose from the primary series was administered\"\n  and (\n    Encounter.\"Client's HIV status is positive\"\n    or Encounter.\"Client is immunocompromised\"\n  )\n  and not \"Third HPV dose from the primary series was administered\"" ]
       ], [
         fhir:index 3 ;
         fhir:Extension.url [ fhir:value "displaySequence" ] ;
         fhir:Extension.valueInteger [ fhir:value "22"^^xsd:integer ]
       ] ;
       fhir:Extension.url [ fhir:value "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition" ]
     ], [
       fhir:index 26 ;
       fhir:Element.extension [
         fhir:index 0 ;
         fhir:Extension.url [ fhir:value "libraryName" ] ;
         fhir:Extension.valueString [ fhir:value "IMMZD18SHPV2DosesLogic" ]
       ], [
         fhir:index 1 ;
         fhir:Extension.url [ fhir:value "name" ] ;
         fhir:Extension.valueString [ fhir:value "HPV dose 2" ]
       ], [
         fhir:index 2 ;
         fhir:Extension.url [ fhir:value "statement" ] ;
         fhir:Extension.valueString [ fhir:value "/*\n@output: HPV dose 2\n@description: Provision of the HPV dose 2\n@trigger: First HPV dose from the primary series was administered\n@pseudo: Count of vaccines administered (where \"Vaccine type\" = \"HPV vaccines\" and \"Type of dose\" = \"Primary series\") = 1\n@triggerDate: \"Date and time of vaccination\" (where \"Vaccine type\" = \"HPV vaccines\")\n*/\ndefine \"HPV dose 2\":\n  \"First HPV dose from the primary series was administered\"\n  and not \"Second HPV dose from the primary series was administered\"" ]
       ], [
         fhir:index 3 ;
         fhir:Extension.url [ fhir:value "displaySequence" ] ;
         fhir:Extension.valueInteger [ fhir:value "23"^^xsd:integer ]
       ] ;
       fhir:Extension.url [ fhir:value "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition" ]
     ], [
       fhir:index 27 ;
       fhir:Element.extension [
         fhir:index 0 ;
         fhir:Extension.url [ fhir:value "libraryName" ] ;
         fhir:Extension.valueString [ fhir:value "IMMZD2DTHPVEncounterElements" ]
       ], [
         fhir:index 1 ;
         fhir:Extension.url [ fhir:value "name" ] ;
         fhir:Extension.valueString [ fhir:value "Date of Latest HPV Dose" ]
       ], [
         fhir:index 2 ;
         fhir:Extension.url [ fhir:value "statement" ] ;
         fhir:Extension.valueString [ fhir:value "/*\n@internal: Date of Latest HPV Dose\n*/\ndefine \"Date of Latest HPV Dose\":\n  date from start of \"HPV Doses Administered to Patient\".mostRecent().occurrence.toInterval()" ]
       ], [
         fhir:index 3 ;
         fhir:Extension.url [ fhir:value "displaySequence" ] ;
         fhir:Extension.valueInteger [ fhir:value "24"^^xsd:integer ]
       ] ;
       fhir:Extension.url [ fhir:value "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition" ]
     ], [
       fhir:index 28 ;
       fhir:Element.extension [
         fhir:index 0 ;
         fhir:Extension.url [ fhir:value "libraryName" ] ;
         fhir:Extension.valueString [ fhir:value "IMMZD18SHPV2DosesLogic" ]
       ], [
         fhir:index 1 ;
         fhir:Extension.url [ fhir:value "name" ] ;
         fhir:Extension.valueString [ fhir:value "HPV dose 2 Due Date" ]
       ], [
         fhir:index 2 ;
         fhir:Extension.url [ fhir:value "statement" ] ;
         fhir:Extension.valueString [ fhir:value "/*\n@dynamicValue: HPV dose 2 Due Date\n@pseudocode: \"Date and time of vaccination\" (where \"Vaccine type\" = \"HPV vaccines\") + 6 months\n*/\ndefine \"HPV dose 2 Due Date\":\n  if \"HPV dose 2\" then Encounter.\"Date of Latest HPV Dose\" + 6 months\n  else null" ]
       ], [
         fhir:index 3 ;
         fhir:Extension.url [ fhir:value "displaySequence" ] ;
         fhir:Extension.valueInteger [ fhir:value "25"^^xsd:integer ]
       ] ;
       fhir:Extension.url [ fhir:value "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition" ]
     ], [
       fhir:index 29 ;
       fhir:Element.extension [
         fhir:index 0 ;
         fhir:Extension.url [ fhir:value "libraryName" ] ;
         fhir:Extension.valueString [ fhir:value "IMMZD18SHPV2DosesLogic" ]
       ], [
         fhir:index 1 ;
         fhir:Extension.url [ fhir:value "name" ] ;
         fhir:Extension.valueString [ fhir:value "HPV dose 2 Overdue" ]
       ], [
         fhir:index 2 ;
         fhir:Extension.url [ fhir:value "statement" ] ;
         fhir:Extension.valueString [ fhir:value "/*\n@dynamicValue: HPV dose 2 Overdue\n@pseudocode: \"Date of birth\" + 14 years\n*/\ndefine \"HPV dose 2 Overdue\":\n  if \"HPV dose 2\" then Patient.birthDate + 14 years\n  else null" ]
       ], [
         fhir:index 3 ;
         fhir:Extension.url [ fhir:value "displaySequence" ] ;
         fhir:Extension.valueInteger [ fhir:value "26"^^xsd:integer ]
       ] ;
       fhir:Extension.url [ fhir:value "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition" ]
     ], [
       fhir:index 30 ;
       fhir:Element.extension [
         fhir:index 0 ;
         fhir:Extension.url [ fhir:value "libraryName" ] ;
         fhir:Extension.valueString [ fhir:value "IMMZD18SHPV2DosesLogic" ]
       ], [
         fhir:index 1 ;
         fhir:Extension.url [ fhir:value "name" ] ;
         fhir:Extension.valueString [ fhir:value "HPV dose 2 Create" ]
       ], [
         fhir:index 2 ;
         fhir:Extension.url [ fhir:value "statement" ] ;
         fhir:Extension.valueString [ fhir:value "/*\n@output: HPV dose 2 Create\n@create: HPV dose 2 should be provided if dose 1 was given 6 months ago.\n*/\ndefine \"HPV dose 2 Create\":\n  if \"HPV dose 2\"\n  then 'HPV dose 2 should be provided if dose 1 was given 6 months ago.' + '\nDue Date: ' + ToString(\"HPV dose 2 Due Date\") + '\nOverdue: ' + ToString(\"HPV dose 2 Overdue\")\n  else ''" ]
       ], [
         fhir:index 3 ;
         fhir:Extension.url [ fhir:value "displaySequence" ] ;
         fhir:Extension.valueInteger [ fhir:value "27"^^xsd:integer ]
       ] ;
       fhir:Extension.url [ fhir:value "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition" ]
     ], [
       fhir:index 31 ;
       fhir:Element.extension [
         fhir:index 0 ;
         fhir:Extension.url [ fhir:value "libraryName" ] ;
         fhir:Extension.valueString [ fhir:value "IMMZD18SHPV2DosesLogic" ]
       ], [
         fhir:index 1 ;
         fhir:Extension.url [ fhir:value "name" ] ;
         fhir:Extension.valueString [ fhir:value "HPV dose 3 (immunocompromised or HIV-positive) Due Date" ]
       ], [
         fhir:index 2 ;
         fhir:Extension.url [ fhir:value "statement" ] ;
         fhir:Extension.valueString [ fhir:value "/*\n@dynamicValue: HPV dose 3 (immunocompromised or HIV-positive) Due Date\n@pseudocode: Latest \"Date and time of vaccination\" (where \"Vaccine type\" = \"HPV vaccines\") + 6 months\n*/\ndefine \"HPV dose 3 (immunocompromised or HIV-positive) Due Date\":\n  if \"HPV dose 3 (immunocompromised or HIV-positive)\" then Encounter.\"Date of Latest HPV Dose\" + 6 months\n  else null" ]
       ], [
         fhir:index 3 ;
         fhir:Extension.url [ fhir:value "displaySequence" ] ;
         fhir:Extension.valueInteger [ fhir:value "28"^^xsd:integer ]
       ] ;
       fhir:Extension.url [ fhir:value "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition" ]
     ], [
       fhir:index 32 ;
       fhir:Element.extension [
         fhir:index 0 ;
         fhir:Extension.url [ fhir:value "libraryName" ] ;
         fhir:Extension.valueString [ fhir:value "IMMZD18SHPV2DosesLogic" ]
       ], [
         fhir:index 1 ;
         fhir:Extension.url [ fhir:value "name" ] ;
         fhir:Extension.valueString [ fhir:value "HPV dose 3 (immunocompromised or HIV-positive) Create" ]
       ], [
         fhir:index 2 ;
         fhir:Extension.url [ fhir:value "statement" ] ;
         fhir:Extension.valueString [ fhir:value "/*\n@output: HPV dose 3 (immunocompromised or HIV-positive) Create\n@create: Where possible, three HPV doses should be provided to individuals known to be immunocompromised or infected with HIV.\n*/\ndefine \"HPV dose 3 (immunocompromised or HIV-positive) Create\":\n  if \"HPV dose 3 (immunocompromised or HIV-positive)\"\n  then 'Where possible, three HPV doses should be provided to individuals known to be immunocompromised or infected with HIV.' + '\nDue Date: ' + ToString(\"HPV dose 3 (immunocompromised or HIV-positive) Due Date\")\n  else ''" ]
       ], [
         fhir:index 3 ;
         fhir:Extension.url [ fhir:value "displaySequence" ] ;
         fhir:Extension.valueInteger [ fhir:value "29"^^xsd:integer ]
       ] ;
       fhir:Extension.url [ fhir:value "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition" ]
     ], [
       fhir:index 33 ;
       fhir:Element.extension [
         fhir:index 0 ;
         fhir:Extension.url [ fhir:value "libraryName" ] ;
         fhir:Extension.valueString [ fhir:value "IMMZCommon" ]
       ], [
         fhir:index 1 ;
         fhir:Extension.url [ fhir:value "name" ] ;
         fhir:Extension.valueString [ fhir:value "seriesPrimary" ]
       ], [
         fhir:index 2 ;
         fhir:Extension.url [ fhir:value "statement" ] ;
         fhir:Extension.valueString [ fhir:value "/**\n * @description: Gets the doses from the primary series\n */\ndefine fluent function seriesPrimary(immunizations List<Immunization>):\n  immunizations I where\n    exists( I.protocolApplied pa where pa.series = 'Primary series' )" ]
       ], [
         fhir:index 3 ;
         fhir:Extension.url [ fhir:value "displaySequence" ] ;
         fhir:Extension.valueInteger [ fhir:value "30"^^xsd:integer ]
       ] ;
       fhir:Extension.url [ fhir:value "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition" ]
     ], [
       fhir:index 34 ;
       fhir:Element.extension [
         fhir:index 0 ;
         fhir:Extension.url [ fhir:value "libraryName" ] ;
         fhir:Extension.valueString [ fhir:value "FHIRHelpers" ]
       ], [
         fhir:index 1 ;
         fhir:Extension.url [ fhir:value "name" ] ;
         fhir:Extension.valueString [ fhir:value "ToString" ]
       ], [
         fhir:index 2 ;
         fhir:Extension.url [ fhir:value "statement" ] ;
         fhir:Extension.valueString [ fhir:value "define function ToString(value string): value.value" ]
       ], [
         fhir:index 3 ;
         fhir:Extension.url [ fhir:value "displaySequence" ] ;
         fhir:Extension.valueInteger [ fhir:value "31"^^xsd:integer ]
       ] ;
       fhir:Extension.url [ fhir:value "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition" ]
     ], [
       fhir:index 35 ;
       fhir:Element.extension [
         fhir:index 0 ;
         fhir:Extension.url [ fhir:value "libraryName" ] ;
         fhir:Extension.valueString [ fhir:value "FHIRHelpers" ]
       ], [
         fhir:index 1 ;
         fhir:Extension.url [ fhir:value "name" ] ;
         fhir:Extension.valueString [ fhir:value "ToString" ]
       ], [
         fhir:index 2 ;
         fhir:Extension.url [ fhir:value "statement" ] ;
         fhir:Extension.valueString [ fhir:value "define function ToString(value ImmunizationStatus): value.value" ]
       ], [
         fhir:index 3 ;
         fhir:Extension.url [ fhir:value "displaySequence" ] ;
         fhir:Extension.valueInteger [ fhir:value "32"^^xsd:integer ]
       ] ;
       fhir:Extension.url [ fhir:value "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition" ]
     ], [
       fhir:index 36 ;
       fhir:Element.extension [
         fhir:index 0 ;
         fhir:Extension.url [ fhir:value "libraryName" ] ;
         fhir:Extension.valueString [ fhir:value "FHIRHelpers" ]
       ], [
         fhir:index 1 ;
         fhir:Extension.url [ fhir:value "name" ] ;
         fhir:Extension.valueString [ fhir:value "ToBoolean" ]
       ], [
         fhir:index 2 ;
         fhir:Extension.url [ fhir:value "statement" ] ;
         fhir:Extension.valueString [ fhir:value "define function ToBoolean(value boolean): value.value" ]
       ], [
         fhir:index 3 ;
         fhir:Extension.url [ fhir:value "displaySequence" ] ;
         fhir:Extension.valueInteger [ fhir:value "33"^^xsd:integer ]
       ] ;
       fhir:Extension.url [ fhir:value "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition" ]
     ], [
       fhir:index 37 ;
       fhir:Element.extension [
         fhir:index 0 ;
         fhir:Extension.url [ fhir:value "libraryName" ] ;
         fhir:Extension.valueString [ fhir:value "FHIRHelpers" ]
       ], [
         fhir:index 1 ;
         fhir:Extension.url [ fhir:value "name" ] ;
         fhir:Extension.valueString [ fhir:value "ToConcept" ]
       ], [
         fhir:index 2 ;
         fhir:Extension.url [ fhir:value "statement" ] ;
         fhir:Extension.valueString [ fhir:value "define function ToConcept(concept FHIR.CodeableConcept):\n    if concept is null then\n        null\n    else\n        System.Concept {\n            codes: concept.coding C return ToCode(C),\n            display: concept.text.value\n        }" ]
       ], [
         fhir:index 3 ;
         fhir:Extension.url [ fhir:value "displaySequence" ] ;
         fhir:Extension.valueInteger [ fhir:value "34"^^xsd:integer ]
       ] ;
       fhir:Extension.url [ fhir:value "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition" ]
     ], [
       fhir:index 38 ;
       fhir:Element.extension [
         fhir:index 0 ;
         fhir:Extension.url [ fhir:value "libraryName" ] ;
         fhir:Extension.valueString [ fhir:value "FHIRHelpers" ]
       ], [
         fhir:index 1 ;
         fhir:Extension.url [ fhir:value "name" ] ;
         fhir:Extension.valueString [ fhir:value "ToCode" ]
       ], [
         fhir:index 2 ;
         fhir:Extension.url [ fhir:value "statement" ] ;
         fhir:Extension.valueString [ fhir:value "define function ToCode(coding FHIR.Coding):\n    if coding is null then\n        null\n    else\n        System.Code {\n          code: coding.code.value,\n          system: coding.system.value,\n          version: coding.version.value,\n          display: coding.display.value\n        }" ]
       ], [
         fhir:index 3 ;
         fhir:Extension.url [ fhir:value "displaySequence" ] ;
         fhir:Extension.valueInteger [ fhir:value "35"^^xsd:integer ]
       ] ;
       fhir:Extension.url [ fhir:value "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition" ]
     ], [
       fhir:index 39 ;
       fhir:Element.extension [
         fhir:index 0 ;
         fhir:Extension.url [ fhir:value "libraryName" ] ;
         fhir:Extension.valueString [ fhir:value "FHIRHelpers" ]
       ], [
         fhir:index 1 ;
         fhir:Extension.url [ fhir:value "name" ] ;
         fhir:Extension.valueString [ fhir:value "ToDate" ]
       ], [
         fhir:index 2 ;
         fhir:Extension.url [ fhir:value "statement" ] ;
         fhir:Extension.valueString [ fhir:value "define function ToDate(value date): value.value" ]
       ], [
         fhir:index 3 ;
         fhir:Extension.url [ fhir:value "displaySequence" ] ;
         fhir:Extension.valueInteger [ fhir:value "36"^^xsd:integer ]
       ] ;
       fhir:Extension.url [ fhir:value "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition" ]
     ], [
       fhir:index 40 ;
       fhir:Element.extension [
         fhir:index 0 ;
         fhir:Extension.url [ fhir:value "libraryName" ] ;
         fhir:Extension.valueString [ fhir:value "IMMZCommon" ]
       ], [
         fhir:index 1 ;
         fhir:Extension.url [ fhir:value "name" ] ;
         fhir:Extension.valueString [ fhir:value "encounterOrOnBefore" ]
       ], [
         fhir:index 2 ;
         fhir:Extension.url [ fhir:value "statement" ] ;
         fhir:Extension.valueString [ fhir:value "/**\n * @description: Gets observation from an encounter or on or before a date\n */\ndefine fluent function encounterOrOnBefore(observations List<Observation>, EncounterId String, beforeDate Date):\n  observations O where\n    (O.encounter.references(EncounterId)\n      or O.effective.toInterval() starts same day or before beforeDate)" ]
       ], [
         fhir:index 3 ;
         fhir:Extension.url [ fhir:value "displaySequence" ] ;
         fhir:Extension.valueInteger [ fhir:value "37"^^xsd:integer ]
       ] ;
       fhir:Extension.url [ fhir:value "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition" ]
     ], [
       fhir:index 41 ;
       fhir:Element.extension [
         fhir:index 0 ;
         fhir:Extension.url [ fhir:value "libraryName" ] ;
         fhir:Extension.valueString [ fhir:value "WHOCommon" ]
       ], [
         fhir:index 1 ;
         fhir:Extension.url [ fhir:value "name" ] ;
         fhir:Extension.valueString [ fhir:value "references" ]
       ], [
         fhir:index 2 ;
         fhir:Extension.url [ fhir:value "statement" ] ;
         fhir:Extension.valueString [ fhir:value "/*\n@description: Returns true if the given reference is to the given resourceId\n@comment: Returns true if the `resourceId` parameter exactly equals the tail of the given reference.\nNOTE: This function assumes resources from the same source server.\n*/\ndefine fluent function references(reference FHIR.Reference, resourceId String):\n  resourceId = Last(Split(reference.reference, '/'))" ]
       ], [
         fhir:index 3 ;
         fhir:Extension.url [ fhir:value "displaySequence" ] ;
         fhir:Extension.valueInteger [ fhir:value "38"^^xsd:integer ]
       ] ;
       fhir:Extension.url [ fhir:value "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition" ]
     ], [
       fhir:index 42 ;
       fhir:Element.extension [
         fhir:index 0 ;
         fhir:Extension.url [ fhir:value "libraryName" ] ;
         fhir:Extension.valueString [ fhir:value "WHOCommon" ]
       ], [
         fhir:index 1 ;
         fhir:Extension.url [ fhir:value "name" ] ;
         fhir:Extension.valueString [ fhir:value "complete" ]
       ], [
         fhir:index 2 ;
         fhir:Extension.url [ fhir:value "statement" ] ;
         fhir:Extension.valueString [ fhir:value "define fluent function complete(observations List<Observation>):\n  observations O where O.status in { 'final', 'amended', 'corrected' }" ]
       ], [
         fhir:index 3 ;
         fhir:Extension.url [ fhir:value "displaySequence" ] ;
         fhir:Extension.valueInteger [ fhir:value "39"^^xsd:integer ]
       ] ;
       fhir:Extension.url [ fhir:value "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition" ]
     ], [
       fhir:index 43 ;
       fhir:Element.extension [
         fhir:index 0 ;
         fhir:Extension.url [ fhir:value "libraryName" ] ;
         fhir:Extension.valueString [ fhir:value "FHIRHelpers" ]
       ], [
         fhir:index 1 ;
         fhir:Extension.url [ fhir:value "name" ] ;
         fhir:Extension.valueString [ fhir:value "ToString" ]
       ], [
         fhir:index 2 ;
         fhir:Extension.url [ fhir:value "statement" ] ;
         fhir:Extension.valueString [ fhir:value "define function ToString(value ObservationStatus): value.value" ]
       ], [
         fhir:index 3 ;
         fhir:Extension.url [ fhir:value "displaySequence" ] ;
         fhir:Extension.valueInteger [ fhir:value "40"^^xsd:integer ]
       ] ;
       fhir:Extension.url [ fhir:value "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition" ]
     ], [
       fhir:index 44 ;
       fhir:Element.extension [
         fhir:index 0 ;
         fhir:Extension.url [ fhir:value "libraryName" ] ;
         fhir:Extension.valueString [ fhir:value "WHOCommon" ]
       ], [
         fhir:index 1 ;
         fhir:Extension.url [ fhir:value "name" ] ;
         fhir:Extension.valueString [ fhir:value "mostRecent" ]
       ], [
         fhir:index 2 ;
         fhir:Extension.url [ fhir:value "statement" ] ;
         fhir:Extension.valueString [ fhir:value "define fluent function mostRecent(immunizations List<Immunization>):\n  Last(\n    immunizations I\n      sort by start of occurrence.toInterval()\n  )" ]
       ], [
         fhir:index 3 ;
         fhir:Extension.url [ fhir:value "displaySequence" ] ;
         fhir:Extension.valueInteger [ fhir:value "41"^^xsd:integer ]
       ] ;
       fhir:Extension.url [ fhir:value "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition" ]
     ] ;
     fhir:Library.name [ fhir:value "EffectiveDataRequirements" ] ;
     fhir:Library.status [ fhir:value "active" ] ;
     fhir:Library.type [
       fhir:CodeableConcept.coding [
         fhir:index 0 ;
         fhir:Coding.system [ fhir:value "http://terminology.hl7.org/CodeSystem/library-type" ] ;
         fhir:Coding.code [ fhir:value "module-definition" ]
       ]
     ] ;
     fhir:Library.relatedArtifact [
       fhir:index 0 ;
       fhir:RelatedArtifact.type [ fhir:value "depends-on" ] ;
       fhir:RelatedArtifact.display [ fhir:value "FHIR model information" ] ;
       fhir:RelatedArtifact.resource [
         fhir:value "http://fhir.org/guides/cqf/common/Library/FHIR-ModelInfo|4.0.1" ;
         fhir:link <http://fhir.org/guides/cqf/common/Library/FHIR-ModelInfo|4.0.1>
       ]
     ], [
       fhir:index 1 ;
       fhir:RelatedArtifact.type [ fhir:value "depends-on" ] ;
       fhir:RelatedArtifact.display [ fhir:value "Library Encounter" ] ;
       fhir:RelatedArtifact.resource [
         fhir:value "http://smart.who.int/immunizations/Library/IMMZD2DTHPVEncounterElements" ;
         fhir:link <http://smart.who.int/immunizations/Library/IMMZD2DTHPVEncounterElements>
       ]
     ], [
       fhir:index 2 ;
       fhir:RelatedArtifact.type [ fhir:value "depends-on" ] ;
       fhir:RelatedArtifact.display [ fhir:value "Library Common" ] ;
       fhir:RelatedArtifact.resource [
         fhir:value "http://smart.who.int/immunizations/Library/IMMZCommon" ;
         fhir:link <http://smart.who.int/immunizations/Library/IMMZCommon>
       ]
     ], [
       fhir:index 3 ;
       fhir:RelatedArtifact.type [ fhir:value "depends-on" ] ;
       fhir:RelatedArtifact.display [ fhir:value "Library FHIRHelpers" ] ;
       fhir:RelatedArtifact.resource [
         fhir:value "http://fhir.org/guides/cqf/common/Library/FHIRHelpers|4.0.1" ;
         fhir:link <http://fhir.org/guides/cqf/common/Library/FHIRHelpers|4.0.1>
       ]
     ], [
       fhir:index 4 ;
       fhir:RelatedArtifact.type [ fhir:value "depends-on" ] ;
       fhir:RelatedArtifact.display [ fhir:value "Library Encounter" ] ;
       fhir:RelatedArtifact.resource [
         fhir:value "http://smart.who.int/immunizations/Library/IMMZEncounterElements" ;
         fhir:link <http://smart.who.int/immunizations/Library/IMMZEncounterElements>
       ]
     ], [
       fhir:index 5 ;
       fhir:RelatedArtifact.type [ fhir:value "depends-on" ] ;
       fhir:RelatedArtifact.display [ fhir:value "Library Elements" ] ;
       fhir:RelatedArtifact.resource [
         fhir:value "http://smart.who.int/immunizations/Library/IMMZElements" ;
         fhir:link <http://smart.who.int/immunizations/Library/IMMZElements>
       ]
     ], [
       fhir:index 6 ;
       fhir:RelatedArtifact.type [ fhir:value "depends-on" ] ;
       fhir:RelatedArtifact.display [ fhir:value "Library WC" ] ;
       fhir:RelatedArtifact.resource [
         fhir:value "http://smart.who.int/immunizations/Library/WHOCommon" ;
         fhir:link <http://smart.who.int/immunizations/Library/WHOCommon>
       ]
     ], [
       fhir:index 7 ;
       fhir:RelatedArtifact.type [ fhir:value "depends-on" ] ;
       fhir:RelatedArtifact.display [ fhir:value "Library FHIRHelpers" ] ;
       fhir:RelatedArtifact.resource [
         fhir:value "http://fhir.org/guides/cqf/common/Library/FHIRHelpers|4.0.1" ;
         fhir:link <http://fhir.org/guides/cqf/common/Library/FHIRHelpers|4.0.1>
       ]
     ], [
       fhir:index 8 ;
       fhir:RelatedArtifact.type [ fhir:value "depends-on" ] ;
       fhir:RelatedArtifact.display [ fhir:value "Library Concepts" ] ;
       fhir:RelatedArtifact.resource [
         fhir:value "http://smart.who.int/immunizations/Library/IMMZConcepts" ;
         fhir:link <http://smart.who.int/immunizations/Library/IMMZConcepts>
       ]
     ], [
       fhir:index 9 ;
       fhir:RelatedArtifact.type [ fhir:value "depends-on" ] ;
       fhir:RelatedArtifact.display [ fhir:value "Library Common" ] ;
       fhir:RelatedArtifact.resource [
         fhir:value "http://smart.who.int/immunizations/Library/IMMZCommon" ;
         fhir:link <http://smart.who.int/immunizations/Library/IMMZCommon>
       ]
     ], [
       fhir:index 10 ;
       fhir:RelatedArtifact.type [ fhir:value "depends-on" ] ;
       fhir:RelatedArtifact.display [ fhir:value "Library WC" ] ;
       fhir:RelatedArtifact.resource [
         fhir:value "http://smart.who.int/immunizations/Library/WHOCommon" ;
         fhir:link <http://smart.who.int/immunizations/Library/WHOCommon>
       ]
     ], [
       fhir:index 11 ;
       fhir:RelatedArtifact.type [ fhir:value "depends-on" ] ;
       fhir:RelatedArtifact.display [ fhir:value "Library Concepts" ] ;
       fhir:RelatedArtifact.resource [
         fhir:value "http://smart.who.int/immunizations/Library/IMMZConcepts" ;
         fhir:link <http://smart.who.int/immunizations/Library/IMMZConcepts>
       ]
     ], [
       fhir:index 12 ;
       fhir:RelatedArtifact.type [ fhir:value "depends-on" ] ;
       fhir:RelatedArtifact.display [ fhir:value "Library WC" ] ;
       fhir:RelatedArtifact.resource [
         fhir:value "http://smart.who.int/immunizations/Library/WHOCommon" ;
         fhir:link <http://smart.who.int/immunizations/Library/WHOCommon>
       ]
     ], [
       fhir:index 13 ;
       fhir:RelatedArtifact.type [ fhir:value "depends-on" ] ;
       fhir:RelatedArtifact.display [ fhir:value "Code system IMMZD" ] ;
       fhir:RelatedArtifact.resource [
         fhir:value "http://smart.who.int/immunizations/CodeSystem/IMMZ.D" ;
         fhir:link <http://smart.who.int/immunizations/CodeSystem/IMMZ.D>
       ]
     ], [
       fhir:index 14 ;
       fhir:RelatedArtifact.type [ fhir:value "depends-on" ] ;
       fhir:RelatedArtifact.display [ fhir:value "Value set HPV vaccines" ] ;
       fhir:RelatedArtifact.resource [
         fhir:value "http://smart.who.int/immunizations/ValueSet/IMMZ.Z.DE7" ;
         fhir:link <http://smart.who.int/immunizations/ValueSet/IMMZ.Z.DE7>
       ]
     ] ;
     fhir:Library.parameter [
       fhir:index 0 ;
       fhir:ParameterDefinition.name [ fhir:value "Today" ] ;
       fhir:ParameterDefinition.use [ fhir:value "in" ] ;
       fhir:ParameterDefinition.min [ fhir:value "0"^^xsd:integer ] ;
       fhir:ParameterDefinition.max [ fhir:value "1" ] ;
       fhir:ParameterDefinition.type [ fhir:value "date" ]
     ], [
       fhir:index 1 ;
       fhir:ParameterDefinition.name [ fhir:value "EncounterId" ] ;
       fhir:ParameterDefinition.use [ fhir:value "in" ] ;
       fhir:ParameterDefinition.min [ fhir:value "0"^^xsd:integer ] ;
       fhir:ParameterDefinition.max [ fhir:value "1" ] ;
       fhir:ParameterDefinition.type [ fhir:value "string" ]
     ], [
       fhir:index 2 ;
       fhir:ParameterDefinition.name [ fhir:value "HPV dose 1 Create" ] ;
       fhir:ParameterDefinition.use [ fhir:value "out" ] ;
       fhir:ParameterDefinition.min [ fhir:value "0"^^xsd:integer ] ;
       fhir:ParameterDefinition.max [ fhir:value "1" ] ;
       fhir:ParameterDefinition.type [ fhir:value "string" ]
     ], [
       fhir:index 3 ;
       fhir:ParameterDefinition.name [ fhir:value "HPV dose 3 (immunocompromised or HIV-positive)" ] ;
       fhir:ParameterDefinition.use [ fhir:value "out" ] ;
       fhir:ParameterDefinition.min [ fhir:value "0"^^xsd:integer ] ;
       fhir:ParameterDefinition.max [ fhir:value "1" ] ;
       fhir:ParameterDefinition.type [ fhir:value "boolean" ]
     ], [
       fhir:index 4 ;
       fhir:ParameterDefinition.name [ fhir:value "HPV dose 2 Create" ] ;
       fhir:ParameterDefinition.use [ fhir:value "out" ] ;
       fhir:ParameterDefinition.min [ fhir:value "0"^^xsd:integer ] ;
       fhir:ParameterDefinition.max [ fhir:value "1" ] ;
       fhir:ParameterDefinition.type [ fhir:value "string" ]
     ], [
       fhir:index 5 ;
       fhir:ParameterDefinition.name [ fhir:value "HPV dose 2" ] ;
       fhir:ParameterDefinition.use [ fhir:value "out" ] ;
       fhir:ParameterDefinition.min [ fhir:value "0"^^xsd:integer ] ;
       fhir:ParameterDefinition.max [ fhir:value "1" ] ;
       fhir:ParameterDefinition.type [ fhir:value "boolean" ]
     ], [
       fhir:index 6 ;
       fhir:ParameterDefinition.name [ fhir:value "HPV dose 1" ] ;
       fhir:ParameterDefinition.use [ fhir:value "out" ] ;
       fhir:ParameterDefinition.min [ fhir:value "0"^^xsd:integer ] ;
       fhir:ParameterDefinition.max [ fhir:value "1" ] ;
       fhir:ParameterDefinition.type [ fhir:value "boolean" ]
     ], [
       fhir:index 7 ;
       fhir:ParameterDefinition.name [ fhir:value "HPV dose 3 (immunocompromised or HIV-positive) Create" ] ;
       fhir:ParameterDefinition.use [ fhir:value "out" ] ;
       fhir:ParameterDefinition.min [ fhir:value "0"^^xsd:integer ] ;
       fhir:ParameterDefinition.max [ fhir:value "1" ] ;
       fhir:ParameterDefinition.type [ fhir:value "string" ]
     ] ;
     fhir:Library.dataRequirement [
       fhir:index 0 ;
       fhir:DataRequirement.type [ fhir:value "Immunization" ] ;
       fhir:DataRequirement.profile [
         fhir:value "http://hl7.org/fhir/StructureDefinition/Immunization" ;
         fhir:index 0 ;
         fhir:link <http://hl7.org/fhir/StructureDefinition/Immunization>
       ] ;
       fhir:DataRequirement.mustSupport [
         fhir:value "status" ;
         fhir:index 0
       ], [
         fhir:value "isSubpotent" ;
         fhir:index 1
       ]
     ], [
       fhir:index 1 ;
       fhir:DataRequirement.type [ fhir:value "Immunization" ] ;
       fhir:DataRequirement.profile [
         fhir:value "http://hl7.org/fhir/StructureDefinition/Immunization" ;
         fhir:index 0 ;
         fhir:link <http://hl7.org/fhir/StructureDefinition/Immunization>
       ] ;
       fhir:DataRequirement.mustSupport [
         fhir:value "status" ;
         fhir:index 0
       ], [
         fhir:value "isSubpotent" ;
         fhir:index 1
       ], [
         fhir:value "occurrence" ;
         fhir:index 2
       ]
     ], [
       fhir:index 2 ;
       fhir:DataRequirement.type [ fhir:value "Immunization" ] ;
       fhir:DataRequirement.profile [
         fhir:value "http://hl7.org/fhir/StructureDefinition/Immunization" ;
         fhir:index 0 ;
         fhir:link <http://hl7.org/fhir/StructureDefinition/Immunization>
       ] ;
       fhir:DataRequirement.mustSupport [
         fhir:value "status" ;
         fhir:index 0
       ], [
         fhir:value "isSubpotent" ;
         fhir:index 1
       ], [
         fhir:value "occurrence" ;
         fhir:index 2
       ], [
         fhir:value "vaccineCode" ;
         fhir:index 3
       ]
     ], [
       fhir:index 3 ;
       fhir:DataRequirement.type [ fhir:value "Patient" ] ;
       fhir:DataRequirement.profile [
         fhir:value "http://hl7.org/fhir/StructureDefinition/Patient" ;
         fhir:index 0 ;
         fhir:link <http://hl7.org/fhir/StructureDefinition/Patient>
       ]
     ], [
       fhir:index 4 ;
       fhir:DataRequirement.type [ fhir:value "Observation" ] ;
       fhir:DataRequirement.profile [
         fhir:value "http://hl7.org/fhir/StructureDefinition/Observation" ;
         fhir:index 0 ;
         fhir:link <http://hl7.org/fhir/StructureDefinition/Observation>
       ] ;
       fhir:DataRequirement.mustSupport [
         fhir:value "code" ;
         fhir:index 0
       ] ;
       fhir:DataRequirement.codeFilter [
         fhir:index 0 ;
         fhir:DataRequirement.codeFilter.path [ fhir:value "code" ] ;
         fhir:DataRequirement.codeFilter.code [
           fhir:index 0 ;
           fhir:Coding.system [ fhir:value "http://smart.who.int/immunizations/CodeSystem/IMMZ.D" ] ;
           fhir:Coding.code [ fhir:value "DE204" ] ;
           fhir:Coding.display [ fhir:value "HIV status" ]
         ]
       ]
     ], [
       fhir:index 5 ;
       fhir:DataRequirement.type [ fhir:value "Observation" ] ;
       fhir:DataRequirement.profile [
         fhir:value "http://hl7.org/fhir/StructureDefinition/Observation" ;
         fhir:index 0 ;
         fhir:link <http://hl7.org/fhir/StructureDefinition/Observation>
       ] ;
       fhir:DataRequirement.mustSupport [
         fhir:value "code" ;
         fhir:index 0
       ] ;
       fhir:DataRequirement.codeFilter [
         fhir:index 0 ;
         fhir:DataRequirement.codeFilter.path [ fhir:value "code" ] ;
         fhir:DataRequirement.codeFilter.code [
           fhir:index 0 ;
           fhir:Coding.system [ fhir:value "http://smart.who.int/immunizations/CodeSystem/IMMZ.D" ] ;
           fhir:Coding.code [ fhir:value "DE209" ] ;
           fhir:Coding.display [ fhir:value "Immunocompromised" ]
         ]
       ]
     ], [
       fhir:index 6 ;
       fhir:DataRequirement.type [ fhir:value "Immunization" ] ;
       fhir:DataRequirement.profile [
         fhir:value "http://hl7.org/fhir/StructureDefinition/Immunization" ;
         fhir:index 0 ;
         fhir:link <http://hl7.org/fhir/StructureDefinition/Immunization>
       ] ;
       fhir:DataRequirement.mustSupport [
         fhir:value "status" ;
         fhir:index 0
       ], [
         fhir:value "isSubpotent" ;
         fhir:index 1
       ], [
         fhir:value "occurrence" ;
         fhir:index 2
       ], [
         fhir:value "vaccineCode" ;
         fhir:index 3
       ]
     ], [
       fhir:index 7 ;
       fhir:DataRequirement.type [ fhir:value "Immunization" ] ;
       fhir:DataRequirement.profile [
         fhir:value "http://hl7.org/fhir/StructureDefinition/Immunization" ;
         fhir:index 0 ;
         fhir:link <http://hl7.org/fhir/StructureDefinition/Immunization>
       ] ;
       fhir:DataRequirement.mustSupport [
         fhir:value "status" ;
         fhir:index 0
       ], [
         fhir:value "isSubpotent" ;
         fhir:index 1
       ], [
         fhir:value "occurrence" ;
         fhir:index 2
       ], [
         fhir:value "vaccineCode" ;
         fhir:index 3
       ]
     ]
  ] ;
  fhir:DomainResource.extension [
     fhir:index 0 ;
     fhir:Extension.url [ fhir:value "http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-knowledgeCapability" ] ;
     fhir:Extension.valueCode [ fhir:value "computable" ]
  ], [
     fhir:index 1 ;
     fhir:Extension.url [ fhir:value "http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-effectiveDataRequirements" ] ;
     fhir:Extension.valueCanonical [ fhir:value "#effective-data-requirements" ]
  ] ;
  fhir:PlanDefinition.url [ fhir:value "http://smart.who.int/immunizations/PlanDefinition/IMMZD18SHPV2Doses"] ;
  fhir:PlanDefinition.version [ fhir:value "0.2.0"] ;
  fhir:PlanDefinition.name [ fhir:value "IMMZD18SHPV2Doses"] ;
  fhir:PlanDefinition.title [ fhir:value "IMMZ.D18.S.HPV.2-dose schedule"] ;
  fhir:PlanDefinition.type [
     fhir:CodeableConcept.coding [
       fhir:index 0 ;
       fhir:Coding.system [ fhir:value "http://terminology.hl7.org/CodeSystem/plan-definition-type" ] ;
       fhir:Coding.code [ fhir:value "eca-rule" ]
     ]
  ] ;
  fhir:PlanDefinition.status [ fhir:value "draft"] ;
  fhir:PlanDefinition.experimental [ fhir:value "false"^^xsd:boolean] ;
  fhir:PlanDefinition.date [ fhir:value "2026-07-07T22:09:13+00:00"^^xsd:dateTime] ;
  fhir:PlanDefinition.publisher [ fhir:value "WHO"] ;
  fhir:PlanDefinition.contact [
     fhir:index 0 ;
     fhir:ContactDetail.name [ fhir:value "WHO" ] ;
     fhir:ContactDetail.telecom [
       fhir:index 0 ;
       fhir:ContactPoint.system [ fhir:value "url" ] ;
       fhir:ContactPoint.value [ fhir:value "http://who.int" ]
     ]
  ] ;
  fhir:PlanDefinition.description [ fhir:value "IMMZ.D18.S.HPV.2-dose schedule\n2-dose schedule"] ;
  fhir:PlanDefinition.relatedArtifact [
     fhir:index 0 ;
     fhir:RelatedArtifact.type [ fhir:value "citation" ] ;
     fhir:RelatedArtifact.citation [ fhir:value "WHO recommendations for routine immunization - summary tables (January 2025)" ]
  ] ;
  fhir:PlanDefinition.library [
     fhir:value "http://smart.who.int/immunizations/Library/IMMZD18SHPV2DosesLogic" ;
     fhir:index 0 ;
     fhir:link <http://smart.who.int/immunizations/Library/IMMZD18SHPV2DosesLogic>
  ] ;
  fhir:PlanDefinition.action [
     fhir:index 0 ;
     fhir:PlanDefinition.action.title [ fhir:value "HPV dose 1" ] ;
     fhir:PlanDefinition.action.description [ fhir:value "Provision of the HPV dose 1\nTrigger event: Child's birth when client's biological sex is female\nTrigger pseudo: Child's birth AND \"Sex\" = \"Female\"\nTrigger date: \"Date of birth\"\nCreate condition: HPV dose 1 should be provided if the client is female and older than 9 years of age." ] ;
     fhir:PlanDefinition.action.condition [
       fhir:index 0 ;
       fhir:PlanDefinition.action.condition.kind [ fhir:value "applicability" ] ;
       fhir:PlanDefinition.action.condition.expression [
         fhir:Expression.description [ fhir:value "HPV dose 1" ] ;
         fhir:Expression.language [ fhir:value "text/cql-identifier" ] ;
         fhir:Expression.expression [ fhir:value "HPV dose 1" ]
       ]
     ] ;
     fhir:PlanDefinition.action.definitionCanonical [
       fhir:value "http://smart.who.int/immunizations/ActivityDefinition/IMMZD2DTCR" ;
       fhir:link <http://smart.who.int/immunizations/ActivityDefinition/IMMZD2DTCR>
     ] ;
     fhir:PlanDefinition.action.dynamicValue [
       fhir:index 0 ;
       fhir:PlanDefinition.action.dynamicValue.path [ fhir:value "status" ] ;
       fhir:PlanDefinition.action.dynamicValue.expression [
         fhir:Expression.language [ fhir:value "text/cql-expression" ] ;
         fhir:Expression.expression [ fhir:value "'active'" ]
       ]
     ], [
       fhir:index 1 ;
       fhir:PlanDefinition.action.dynamicValue.path [ fhir:value "payload.contentString" ] ;
       fhir:PlanDefinition.action.dynamicValue.expression [
         fhir:Expression.language [ fhir:value "text/cql-identifier" ] ;
         fhir:Expression.expression [ fhir:value "HPV dose 1 Create" ]
       ]
     ], [
       fhir:index 2 ;
       fhir:PlanDefinition.action.dynamicValue.path [ fhir:value "category.coding" ] ;
       fhir:PlanDefinition.action.dynamicValue.expression [
         fhir:Expression.description [ fhir:value "Category of communication" ] ;
         fhir:Expression.language [ fhir:value "text/cql-expression" ] ;
         fhir:Expression.expression [ fhir:value "Code { system: 'http://terminology.hl7.org/CodeSystem/communication-category', code: 'alert' }" ]
       ]
     ], [
       fhir:index 3 ;
       fhir:PlanDefinition.action.dynamicValue.path [ fhir:value "priority" ] ;
       fhir:PlanDefinition.action.dynamicValue.expression [
         fhir:Expression.description [ fhir:value "Alert priority" ] ;
         fhir:Expression.language [ fhir:value "text/cql-expression" ] ;
         fhir:Expression.expression [ fhir:value "Code { system: 'http://hl7.org/fhir/request-priority', code: 'routine' }" ]
       ]
     ]
  ], [
     fhir:index 1 ;
     fhir:PlanDefinition.action.title [ fhir:value "HPV dose 2" ] ;
     fhir:PlanDefinition.action.description [ fhir:value "Provision of the HPV dose 2\nTrigger event: First HPV dose from the primary series was administered\nTrigger pseudo: Count of vaccines administered (where \"Vaccine type\" = \"HPV vaccines\" and \"Type of dose\" = \"Primary series\") = 1\nTrigger date: \"Date and time of vaccination\" (where \"Vaccine type\" = \"HPV vaccines\")\nCreate condition: HPV dose 2 should be provided if dose 1 was given 6 months ago." ] ;
     fhir:PlanDefinition.action.condition [
       fhir:index 0 ;
       fhir:PlanDefinition.action.condition.kind [ fhir:value "applicability" ] ;
       fhir:PlanDefinition.action.condition.expression [
         fhir:Expression.description [ fhir:value "HPV dose 2" ] ;
         fhir:Expression.language [ fhir:value "text/cql-identifier" ] ;
         fhir:Expression.expression [ fhir:value "HPV dose 2" ]
       ]
     ] ;
     fhir:PlanDefinition.action.definitionCanonical [
       fhir:value "http://smart.who.int/immunizations/ActivityDefinition/IMMZD2DTCR" ;
       fhir:link <http://smart.who.int/immunizations/ActivityDefinition/IMMZD2DTCR>
     ] ;
     fhir:PlanDefinition.action.dynamicValue [
       fhir:index 0 ;
       fhir:PlanDefinition.action.dynamicValue.path [ fhir:value "status" ] ;
       fhir:PlanDefinition.action.dynamicValue.expression [
         fhir:Expression.language [ fhir:value "text/cql-expression" ] ;
         fhir:Expression.expression [ fhir:value "'active'" ]
       ]
     ], [
       fhir:index 1 ;
       fhir:PlanDefinition.action.dynamicValue.path [ fhir:value "payload.contentString" ] ;
       fhir:PlanDefinition.action.dynamicValue.expression [
         fhir:Expression.language [ fhir:value "text/cql-identifier" ] ;
         fhir:Expression.expression [ fhir:value "HPV dose 2 Create" ]
       ]
     ], [
       fhir:index 2 ;
       fhir:PlanDefinition.action.dynamicValue.path [ fhir:value "category.coding" ] ;
       fhir:PlanDefinition.action.dynamicValue.expression [
         fhir:Expression.description [ fhir:value "Category of communication" ] ;
         fhir:Expression.language [ fhir:value "text/cql-expression" ] ;
         fhir:Expression.expression [ fhir:value "Code { system: 'http://terminology.hl7.org/CodeSystem/communication-category', code: 'alert' }" ]
       ]
     ], [
       fhir:index 3 ;
       fhir:PlanDefinition.action.dynamicValue.path [ fhir:value "priority" ] ;
       fhir:PlanDefinition.action.dynamicValue.expression [
         fhir:Expression.description [ fhir:value "Alert priority" ] ;
         fhir:Expression.language [ fhir:value "text/cql-expression" ] ;
         fhir:Expression.expression [ fhir:value "Code { system: 'http://hl7.org/fhir/request-priority', code: 'routine' }" ]
       ]
     ]
  ], [
     fhir:index 2 ;
     fhir:PlanDefinition.action.title [ fhir:value "HPV dose 3 (immunocompromised or HIV-positive)" ] ;
     fhir:PlanDefinition.action.description [ fhir:value "Provision of the HPV dose 3 for individuals immunocompromised or infected with HIV\nTrigger event: Second HPV dose from the primary series was administered and client's HIV status is positive or client is immunocompromised\nTrigger pseudo: Count of vaccines administered (where \"Vaccine type\" = \"HPV vaccines\" and \"Type of dose\" = \"Primary series\") = 2 AND (\"HIV status\" = \"HIV-positive\" OR \"Immunocompromised\" = TRUE)\nTrigger date: Latest \"Date and time of vaccination\" (where \"Vaccine type\" = \"HPV vaccines\")\nCreate condition: Where possible, three HPV doses should be provided to individuals known to be immunocompromised or infected with HIV." ] ;
     fhir:PlanDefinition.action.condition [
       fhir:index 0 ;
       fhir:PlanDefinition.action.condition.kind [ fhir:value "applicability" ] ;
       fhir:PlanDefinition.action.condition.expression [
         fhir:Expression.description [ fhir:value "HPV dose 3 (immunocompromised or HIV-positive)" ] ;
         fhir:Expression.language [ fhir:value "text/cql-identifier" ] ;
         fhir:Expression.expression [ fhir:value "HPV dose 3 (immunocompromised or HIV-positive)" ]
       ]
     ] ;
     fhir:PlanDefinition.action.definitionCanonical [
       fhir:value "http://smart.who.int/immunizations/ActivityDefinition/IMMZD2DTCR" ;
       fhir:link <http://smart.who.int/immunizations/ActivityDefinition/IMMZD2DTCR>
     ] ;
     fhir:PlanDefinition.action.dynamicValue [
       fhir:index 0 ;
       fhir:PlanDefinition.action.dynamicValue.path [ fhir:value "status" ] ;
       fhir:PlanDefinition.action.dynamicValue.expression [
         fhir:Expression.language [ fhir:value "text/cql-expression" ] ;
         fhir:Expression.expression [ fhir:value "'active'" ]
       ]
     ], [
       fhir:index 1 ;
       fhir:PlanDefinition.action.dynamicValue.path [ fhir:value "payload.contentString" ] ;
       fhir:PlanDefinition.action.dynamicValue.expression [
         fhir:Expression.language [ fhir:value "text/cql-identifier" ] ;
         fhir:Expression.expression [ fhir:value "HPV dose 3 (immunocompromised or HIV-positive) Create" ]
       ]
     ], [
       fhir:index 2 ;
       fhir:PlanDefinition.action.dynamicValue.path [ fhir:value "category.coding" ] ;
       fhir:PlanDefinition.action.dynamicValue.expression [
         fhir:Expression.description [ fhir:value "Category of communication" ] ;
         fhir:Expression.language [ fhir:value "text/cql-expression" ] ;
         fhir:Expression.expression [ fhir:value "Code { system: 'http://terminology.hl7.org/CodeSystem/communication-category', code: 'alert' }" ]
       ]
     ], [
       fhir:index 3 ;
       fhir:PlanDefinition.action.dynamicValue.path [ fhir:value "priority" ] ;
       fhir:PlanDefinition.action.dynamicValue.expression [
         fhir:Expression.description [ fhir:value "Alert priority" ] ;
         fhir:Expression.language [ fhir:value "text/cql-expression" ] ;
         fhir:Expression.expression [ fhir:value "Code { system: 'http://hl7.org/fhir/request-priority', code: 'routine' }" ]
       ]
     ]
  ] .

# - ontology header ------------------------------------------------------------

<http://hl7.org/fhir/PlanDefinition/IMMZD18SHPV2Doses.ttl> a owl:Ontology ;
  owl:imports fhir:fhir.ttl ;
  owl:versionIRI <http://build.fhir.org/PlanDefinition/IMMZD18SHPV2Doses.ttl> .