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/tree/123/merge and changes regularly. See the Directory of published versions
| Draft as of 2026-03-03 |
{
"resourceType" : "PlanDefinition",
"id" : "IMMZD2DTHPV2Doses",
"meta" : {
"profile" : [
🔗 "http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-recommendationdefinition"🔗 ,
"http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-shareableplandefinition"🔗 ,
"http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-publishableplandefinition"
]
},
"text" : {
"status" : "extensions",
"div" : "<div xmlns=\"http://www.w3.org/1999/xhtml\">\n<div>\n <table class=\"grid dict\">\n \n <tr>\n <th scope=\"row\"><b>Id: </b></th>\n <td style=\"padding-left: 4px;\">IMMZD2DTHPV2Doses</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-IMMZD2DTHPV2Doses.html\">IMMZ.D2.DT.HPV.2 doses</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.D2.DT.HPV.2 doses</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.0.1/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-03-03 13:07:11+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.D2.DT.HPV.2 doses\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-IMMZD2DTHPV2DosesLogic.html\">IMMZD2DTHPV2DosesLogic</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> Determine if the client is due for HPV.:</b> Determine if the client is due for HPV vaccine according to the national immunization protocol.\n2-dose schedule\n \n <br/>\n \n \n <b>If:</b>\n \n <i>Applicability:</i>\n \n Client is due for HPV vaccination\n \n <i>(Client is due for HPV vaccination)</i>\n <br/>\n \n \n \n \n <b>Then:</b> <i>Definition:</i> <a href=\"ActivityDefinition-IMMZD2DTMR.html\">IMMZD2DTMR</a><br/>\n \n <i>Dynamic Values:</i><br/>\n \n status: <i>('draft')</i>\n <br/>\n \n intent: <i>('proposal')</i>\n <br/>\n \n medication: <i>(Concept { codes: { Code { system: 'http://smart.who.int/immunizations/CodeSystem/IMMZ.Z', code: 'DE7', display: 'HPV vaccines' } }, display: 'HPV vaccines' })</i>\n <br/>\n \n \n \n \n </td>\n </tr>\n \n <tr>\n <td>\n \n <b> Check for Guidance for the patient regarding IMMZ.D2.DT.HPV.2 doses.:</b> Show Guidance for the patient regarding IMMZ.D2.DT.HPV.2 doses.\n \n <br/>\n \n \n <b>If:</b>\n \n <i>Applicability:</i>\n \n Has Guidance\n \n <i>(Has Guidance)</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>(Guidance)</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>"
},
"contained" : [
{
"resourceType" : "Library",
"id" : "effective-data-requirements",
"extension" : [
{
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode",
"valueCoding" : {
"system" : "http://smart.who.int/immunizations/CodeSystem/IMMZ.D",
"code" : "DE204",
"display" : "HIV status"
}
},
{
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode",
"valueCoding" : {
"system" : "http://smart.who.int/immunizations/CodeSystem/IMMZ.D",
"code" : "DE205",
"display" : "HIV-positive"
}
},
{
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode",
"valueCoding" : {
"system" : "http://smart.who.int/immunizations/CodeSystem/IMMZ.D",
"code" : "DE209",
"display" : "Immunocompromised"
}
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "IMMZEncounterElements"
},
{
"url" : "name",
"valueString" : "Current Patient Age In Years"
},
{
"url" : "statement",
"valueString" : "/** \n * @dataElement Patient age in years\n */\ndefine \"Current Patient Age In Years\":\n AgeInYearsAt(Today)"
},
{
"url" : "displaySequence",
"valueInteger" : 0
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "IMMZD2DTHPVEncounterElements"
},
{
"url" : "name",
"valueString" : "Client's age is less than 9 years"
},
{
"url" : "statement",
"valueString" : "/*\n@input: Client's age is less than 9 years\n@pseudocode: Today's date − \"Date of birth\" < 9 years\n@code: Client's age is less than 9 years-40\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 age is less than 9 years\":\n Encounter.\"Current Patient Age In Years\" < 9"
},
{
"url" : "displaySequence",
"valueInteger" : 1
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "IMMZD2DTHPV2DosesLogic"
},
{
"url" : "name",
"valueString" : "Client is not due for HPV vaccination Case 1"
},
{
"url" : "statement",
"valueString" : "/*\n@output: Client is not due for HPV vaccination Case 1\n@pseudocode: \"Immunization recommendation status\" = \"Not due\"\n*/\ndefine \"Client is not due for HPV vaccination Case 1\":\n Encounter.\"Client's age is less than 9 years\""
},
{
"url" : "displaySequence",
"valueInteger" : 2
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "IMMZElements"
},
{
"url" : "name",
"valueString" : "Doses Administered to Patient"
},
{
"url" : "statement",
"valueString" : "/**\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"
},
{
"url" : "displaySequence",
"valueInteger" : 3
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "IMMZEncounterElements"
},
{
"url" : "name",
"valueString" : "Doses Administered to Patient"
},
{
"url" : "statement",
"valueString" : "/**\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"
},
{
"url" : "displaySequence",
"valueInteger" : 4
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "IMMZD2DTHPVEncounterElements"
},
{
"url" : "name",
"valueString" : "HPV Doses Administered to Patient"
},
{
"url" : "statement",
"valueString" : "/*\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\""
},
{
"url" : "displaySequence",
"valueInteger" : 5
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "IMMZD2DTHPVEncounterElements"
},
{
"url" : "name",
"valueString" : "HPV Primary Series Doses Administered to Patient"
},
{
"url" : "statement",
"valueString" : "/*\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()"
},
{
"url" : "displaySequence",
"valueInteger" : 6
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "IMMZD2DTHPVEncounterElements"
},
{
"url" : "name",
"valueString" : "Number of HPV Primary Series Doses Administered"
},
{
"url" : "statement",
"valueString" : "/*\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\")"
},
{
"url" : "displaySequence",
"valueInteger" : 7
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "IMMZD2DTHPVEncounterElements"
},
{
"url" : "name",
"valueString" : "One HPV primary series dose was administered"
},
{
"url" : "statement",
"valueString" : "/*\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"
},
{
"url" : "displaySequence",
"valueInteger" : 8
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "IMMZD2DTHPVEncounterElements"
},
{
"url" : "name",
"valueString" : "Date of Latest HPV Dose"
},
{
"url" : "statement",
"valueString" : "/*\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()"
},
{
"url" : "displaySequence",
"valueInteger" : 9
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "IMMZD2DTHPVEncounterElements"
},
{
"url" : "name",
"valueString" : "The latest HPV dose was administered less than 6 months ago"
},
{
"url" : "statement",
"valueString" : "/*\n@input: The latest HPV dose was administered less than 6 months ago\n@pseudocode: Today's date − latest \"Date and time of vaccination\" (where \"Vaccine type\" = \"HPV vaccines\") < 6 months\n@code: The latest HPV dose was administered less than 6 months ago-103\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 \"The latest HPV dose was administered less than 6 months ago\":\n \"Date of Latest HPV Dose\" is not null\n and duration in months between \"Date of Latest HPV Dose\" and Today < 6"
},
{
"url" : "displaySequence",
"valueInteger" : 10
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "IMMZD2DTHPV2DosesLogic"
},
{
"url" : "name",
"valueString" : "Client is not due for HPV vaccination Case 2"
},
{
"url" : "statement",
"valueString" : "/*\n@output: Client is not due for HPV vaccination Case 2\n@pseudocode: \"Immunization recommendation status\" = \"Not due\"\n*/\ndefine \"Client is not due for HPV vaccination Case 2\":\n Encounter.\"One HPV primary series dose was administered\"\n and Encounter.\"The latest HPV dose was administered less than 6 months ago\""
},
{
"url" : "displaySequence",
"valueInteger" : 11
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "IMMZD2DTHPVEncounterElements"
},
{
"url" : "name",
"valueString" : "Two HPV primary series doses were administered"
},
{
"url" : "statement",
"valueString" : "/*\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"
},
{
"url" : "displaySequence",
"valueInteger" : 12
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "IMMZElements"
},
{
"url" : "name",
"valueString" : "HIV status Observation"
},
{
"url" : "statement",
"valueString" : "/*\n@internal: HIV Status Observation\n*/\ndefine \"HIV status Observation\":\n ([Observation: Concepts.\"HIV status\"]).complete()"
},
{
"url" : "displaySequence",
"valueInteger" : 13
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "IMMZEncounterElements"
},
{
"url" : "name",
"valueString" : "Client's HIV status is positive"
},
{
"url" : "statement",
"valueString" : "/*\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\" )"
},
{
"url" : "displaySequence",
"valueInteger" : 14
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "IMMZD2DTHPVEncounterElements"
},
{
"url" : "name",
"valueString" : "Client's HIV status is positive"
},
{
"url" : "statement",
"valueString" : "/*\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\""
},
{
"url" : "displaySequence",
"valueInteger" : 15
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "IMMZD2DTHPV2DosesLogic"
},
{
"url" : "name",
"valueString" : "Client is not due for HPV vaccination Case 3"
},
{
"url" : "statement",
"valueString" : "/*\n@output: Client is not due for HPV vaccination Case 3\n@pseudocode: \"Immunization recommendation status\" = \"Not due\"\n*/\ndefine \"Client is not due for HPV vaccination Case 3\":\n Encounter.\"Two HPV primary series doses were administered\"\n and Encounter.\"The latest HPV dose was administered less than 6 months ago\"\n and Encounter.\"Client's HIV status is positive\""
},
{
"url" : "displaySequence",
"valueInteger" : 16
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "IMMZEncounterElements"
},
{
"url" : "name",
"valueString" : "Immunocompromised Observation"
},
{
"url" : "statement",
"valueString" : "/*\n@internal: Immunocompromised Observation\n*/\ndefine \"Immunocompromised Observation\":\n ([Observation: Concepts.\"Immunocompromised\"] O\n sort by end of effective.toInterval() desc).complete()"
},
{
"url" : "displaySequence",
"valueInteger" : 17
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "IMMZEncounterElements"
},
{
"url" : "name",
"valueString" : "Client is immunocompromised"
},
{
"url" : "statement",
"valueString" : "/*\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"
},
{
"url" : "displaySequence",
"valueInteger" : 18
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "IMMZD2DTHPVEncounterElements"
},
{
"url" : "name",
"valueString" : "Client is immunocompromised"
},
{
"url" : "statement",
"valueString" : "/*\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\""
},
{
"url" : "displaySequence",
"valueInteger" : 19
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "IMMZD2DTHPV2DosesLogic"
},
{
"url" : "name",
"valueString" : "Client is not due for HPV vaccination Case 4"
},
{
"url" : "statement",
"valueString" : "/*\n@output: Client is not due for HPV vaccination Case 4\n@pseudocode: \"Immunization recommendation status\" = \"Not due\"\n*/\ndefine \"Client is not due for HPV vaccination Case 4\":\n Encounter.\"Two HPV primary series doses were administered\"\n and Encounter.\"The latest HPV dose was administered less than 6 months ago\"\n and Encounter.\"Client is immunocompromised\""
},
{
"url" : "displaySequence",
"valueInteger" : 20
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "IMMZD2DTHPV2DosesLogic"
},
{
"url" : "name",
"valueString" : "Client is not due for HPV vaccination"
},
{
"url" : "statement",
"valueString" : "/*\n@output: Client is not due for HPV vaccination\n@pseudocode: \"Immunization recommendation status\" = \"Not due\"\n*/\ndefine \"Client is not due for HPV vaccination\":\n \"Client is not due for HPV vaccination Case 1\"\n or \"Client is not due for HPV vaccination Case 2\"\n or \"Client is not due for HPV vaccination Case 3\"\n or \"Client is not due for HPV vaccination Case 4\""
},
{
"url" : "displaySequence",
"valueInteger" : 21
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "IMMZD2DTHPV2DosesLogic"
},
{
"url" : "name",
"valueString" : "Client is not due for HPV vaccination Guidance"
},
{
"url" : "statement",
"valueString" : "/*\n@output: Client is not due for HPV vaccination Guidance\n@guidance = Should not vaccinate client with first HPV dose as client's age is less than 9 years. \nCheck for any vaccines due and inform the caregiver of when to come back for the next dose.\n@guidance = Should not vaccinate client with second HPV dose as the latest HPV dose was administered less than 6 months ago. \nCheck for any vaccines due and inform the caregiver of when to come back for the second dose.\n@guidance = Should not vaccinate for third HPV dose as the latest HPV dose was administered less than 6 months ago. \nCheck for any vaccines due and inform the caregiver of when to come back for the next dose.\n@guidance = Should not vaccinate for third HPV dose as the latest HPV dose was administered less than 6 months ago. \nCheck for any vaccines due and inform the caregiver of when to come back for the next dose.\n*/\ndefine \"Client is not due for HPV vaccination Guidance\":\n case\n when \"Client is not due for HPV vaccination Case 1\" then 'Should not vaccinate client with first HPV dose as client\\'s age is less than 9 years. \nCheck for any vaccines due and inform the caregiver of when to come back for the next dose.'\n when \"Client is not due for HPV vaccination Case 2\" then 'Should not vaccinate client with second HPV dose as the latest HPV dose was administered less than 6 months ago. \nCheck for any vaccines due and inform the caregiver of when to come back for the second dose.'\n when \"Client is not due for HPV vaccination Case 3\" then 'Should not vaccinate for third HPV dose as the latest HPV dose was administered less than 6 months ago. \nCheck for any vaccines due and inform the caregiver of when to come back for the next dose.'\n when \"Client is not due for HPV vaccination Case 4\" then 'Should not vaccinate for third HPV dose as the latest HPV dose was administered less than 6 months ago. \nCheck for any vaccines due and inform the caregiver of when to come back for the next dose.'\n else ''\n end"
},
{
"url" : "displaySequence",
"valueInteger" : 22
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "IMMZD2DTHPVEncounterElements"
},
{
"url" : "name",
"valueString" : "No HPV primary series doses were administered"
},
{
"url" : "statement",
"valueString" : "/*\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"
},
{
"url" : "displaySequence",
"valueInteger" : 23
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "IMMZD2DTHPVEncounterElements"
},
{
"url" : "name",
"valueString" : "Client's age is between 9 and 14 years"
},
{
"url" : "statement",
"valueString" : "/*\n@input: Client's age is between 9 and 14 years\n@pseudocode: 9 years ≤ Today's date − \"Date of birth\" ≤ 14 years\n@code: Client's age is between 9 and 14 years-51\n@decision: IMMZ.D2.DT.HPV.2 doses: 2-dose schedule\n*/\ndefine \"Client's age is between 9 and 14 years\":\n 9 <= Encounter.\"Current Patient Age In Years\"\n and Encounter.\"Current Patient Age In Years\" <= 14"
},
{
"url" : "displaySequence",
"valueInteger" : 24
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "IMMZD2DTHPVEncounterElements"
},
{
"url" : "name",
"valueString" : "Client's biological sex is female"
},
{
"url" : "statement",
"valueString" : "/*\n@input: Client's biological sex is female\n@pseudocode: \"Sex\" = \"Female\"\n@code: Client's biological sex is female-16\n@decision: IMMZ.D2.DT.HPV.2 doses: 2-dose schedule\n*/\ndefine \"Client's biological sex is female\":\n Patient.gender = 'female'"
},
{
"url" : "displaySequence",
"valueInteger" : 25
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "IMMZD2DTHPV2DosesLogic"
},
{
"url" : "name",
"valueString" : "Client is due for HPV vaccination Case 1"
},
{
"url" : "statement",
"valueString" : "/*\n@output: Client is due for HPV vaccination Case 1\n@pseudocode: \"Immunization recommendation status\" = \"Due\"\n*/\ndefine \"Client is due for HPV vaccination Case 1\":\n Encounter.\"No HPV primary series doses were administered\"\n and Encounter.\"Client's age is between 9 and 14 years\"\n and Encounter.\"Client's biological sex is female\""
},
{
"url" : "displaySequence",
"valueInteger" : 26
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "IMMZD2DTHPVEncounterElements"
},
{
"url" : "name",
"valueString" : "The latest HPV dose was administered more than 6 months ago"
},
{
"url" : "statement",
"valueString" : "/*\n@input: The latest HPV dose was administered more than 6 months ago\n@pseudocode: Today's date − latest \"Date and time of vaccination\" (where \"Vaccine type\" = \"HPV vaccines\") ≥ 6 months\n@code: The latest HPV dose was administered more than 6 months ago-103\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 \"The latest HPV dose was administered more than 6 months ago\":\n not \"The latest HPV dose was administered less than 6 months ago\""
},
{
"url" : "displaySequence",
"valueInteger" : 27
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "IMMZD2DTHPV2DosesLogic"
},
{
"url" : "name",
"valueString" : "Client is due for HPV vaccination Case 2"
},
{
"url" : "statement",
"valueString" : "/*\n@output: Client is due for HPV vaccination Case 2\n@pseudocode: \"Immunization recommendation status\" = \"Due\"\n*/\ndefine \"Client is due for HPV vaccination Case 2\":\n Encounter.\"One HPV primary series dose was administered\"\n and Encounter.\"The latest HPV dose was administered more than 6 months ago\""
},
{
"url" : "displaySequence",
"valueInteger" : 28
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "IMMZD2DTHPV2DosesLogic"
},
{
"url" : "name",
"valueString" : "Client is due for HPV vaccination Case 3"
},
{
"url" : "statement",
"valueString" : "/*\n@output: Client is due for HPV vaccination Case 3\n@pseudocode: \"Immunization recommendation status\" = \"Due\"\n*/\ndefine \"Client is due for HPV vaccination Case 3\":\n Encounter.\"Two HPV primary series doses were administered\"\n and Encounter.\"The latest HPV dose was administered more than 6 months ago\"\n and Encounter.\"Client's HIV status is positive\""
},
{
"url" : "displaySequence",
"valueInteger" : 29
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "IMMZD2DTHPV2DosesLogic"
},
{
"url" : "name",
"valueString" : "Client is due for HPV vaccination Case 4"
},
{
"url" : "statement",
"valueString" : "/*\n@output: Client is due for HPV vaccination Case 4\n@pseudocode: \"Immunization recommendation status\" = \"Due\"\n*/\ndefine \"Client is due for HPV vaccination Case 4\":\n Encounter.\"Two HPV primary series doses were administered\"\n and Encounter.\"The latest HPV dose was administered more than 6 months ago\"\n and Encounter.\"Client is immunocompromised\""
},
{
"url" : "displaySequence",
"valueInteger" : 30
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "IMMZD2DTHPV2DosesLogic"
},
{
"url" : "name",
"valueString" : "Client is due for HPV vaccination"
},
{
"url" : "statement",
"valueString" : "/*\n@output: Client is due for HPV vaccination\n@pseudocode: \"Immunization recommendation status\" = \"Due\"\n*/\ndefine \"Client is due for HPV vaccination\":\n \"Client is due for HPV vaccination Case 1\"\n or \"Client is due for HPV vaccination Case 2\"\n or \"Client is due for HPV vaccination Case 3\"\n or \"Client is due for HPV vaccination Case 4\""
},
{
"url" : "displaySequence",
"valueInteger" : 31
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "IMMZD2DTHPV2DosesLogic"
},
{
"url" : "name",
"valueString" : "Client is due for HPV vaccination Guidance"
},
{
"url" : "statement",
"valueString" : "/*\n@output: Client is due for HPV vaccination Guidance\n@guidance = Should vaccinate client with first HPV dose as no HPV doses were administered, client is female and within appropriate age range. \nCheck for contraindications.\n@guidance = Should vaccinate client with second HPV dose as the latest HPV dose was administered more than 6 months ago. \nCheck for contraindications.\n@guidance = Should vaccinate for third HPV dose as client is HIV positive and the latest HPV dose was administered more than 6 months ago. \nCheck for contraindications.\n@guidance = Should vaccinate for third HPV dose as client is immunocompromised and the latest HPV dose was administered more than 6 months ago.\nCheck for contraindications.\n*/\ndefine \"Client is due for HPV vaccination Guidance\":\n case\n when \"Client is due for HPV vaccination Case 1\" then 'Should vaccinate client with first HPV dose as no HPV doses were administered, client is female and within appropriate age range. \nCheck for contraindications.'\n when \"Client is due for HPV vaccination Case 2\" then 'Should vaccinate client with second HPV dose as the latest HPV dose was administered more than 6 months ago. \nCheck for contraindications.'\n when \"Client is due for HPV vaccination Case 3\" then 'Should vaccinate for third HPV dose as client is HIV positive and the latest HPV dose was administered more than 6 months ago. \nCheck for contraindications.'\n when \"Client is due for HPV vaccination Case 4\" then 'Should vaccinate for third HPV dose as client is immunocompromised and the latest HPV dose was administered more than 6 months ago.\nCheck for contraindications.'\n else ''\n end"
},
{
"url" : "displaySequence",
"valueInteger" : 32
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "IMMZD2DTHPVEncounterElements"
},
{
"url" : "name",
"valueString" : "Client's age more than or equal to 15 years"
},
{
"url" : "statement",
"valueString" : "/*\n@input: Client's age more than or equal to 15 years\n@pseudocode: Today's date − \"Date of birth\" ≥ 15 years\n@code: Client's age more than or equal to 15 years-41\n@decision: IMMZ.D2.DT.HPV.2 doses: 2-dose schedule\n*/\ndefine \"Client's age more than or equal to 15 years\":\n Encounter.\"Current Patient Age In Years\" >= 15"
},
{
"url" : "displaySequence",
"valueInteger" : 33
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "IMMZD2DTHPV2DosesLogic"
},
{
"url" : "name",
"valueString" : "Clinical judgement is required. Create a clinical note. Case 1"
},
{
"url" : "statement",
"valueString" : "/*\n@output: Clinical judgement is required. Create a clinical note. Case 1\n@pseudocode: \"Immunization recommendation status\" = \"Further evaluation needed\"\n*/\ndefine \"Clinical judgement is required. Create a clinical note. Case 1\":\n Encounter.\"No HPV primary series doses were administered\"\n and Encounter.\"Client's age more than or equal to 15 years\"\n and Encounter.\"Client's biological sex is female\""
},
{
"url" : "displaySequence",
"valueInteger" : 34
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "IMMZD2DTHPVEncounterElements"
},
{
"url" : "name",
"valueString" : "Client's biological sex is not female"
},
{
"url" : "statement",
"valueString" : "/*\n@input: Client's biological sex is not female\n@pseudocode: \"Sex\" ≠ \"Female\"\n@code: Client's biological sex is not female-16\n@decision: IMMZ.D2.DT.HPV.2 doses: 2-dose schedule\n*/\ndefine \"Client's biological sex is not female\":\n not \"Client's biological sex is female\""
},
{
"url" : "displaySequence",
"valueInteger" : 35
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "IMMZD2DTHPV2DosesLogic"
},
{
"url" : "name",
"valueString" : "Clinical judgement is required. Create a clinical note. Case 2"
},
{
"url" : "statement",
"valueString" : "/*\n@output: Clinical judgement is required. Create a clinical note. Case 2\n@pseudocode: \"Immunization recommendation status\" = \"Further evaluation needed\"\n*/\ndefine \"Clinical judgement is required. Create a clinical note. Case 2\":\n Encounter.\"No HPV primary series doses were administered\"\n and Encounter.\"Client's biological sex is not female\""
},
{
"url" : "displaySequence",
"valueInteger" : 36
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "IMMZD2DTHPV2DosesLogic"
},
{
"url" : "name",
"valueString" : "Clinical judgement is required. Create a clinical note."
},
{
"url" : "statement",
"valueString" : "/*\n@output: Clinical judgement is required. Create a clinical note.\n@pseudocode: \"Immunization recommendation status\" = \"Further evaluation needed\"\n*/\ndefine \"Clinical judgement is required. Create a clinical note.\":\n \"Clinical judgement is required. Create a clinical note. Case 1\"\n or \"Clinical judgement is required. Create a clinical note. Case 2\""
},
{
"url" : "displaySequence",
"valueInteger" : 37
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "IMMZD2DTHPV2DosesLogic"
},
{
"url" : "name",
"valueString" : "Clinical judgement is required. Create a clinical note. Guidance"
},
{
"url" : "statement",
"valueString" : "/*\n@output: Clinical judgement is required. Create a clinical note. Guidance\n@guidance = Member States should update this guidance according to the national immunization programme.\n@guidance = Member States should update this guidance according to the national immunization programme.\n*/\ndefine \"Clinical judgement is required. Create a clinical note. Guidance\":\n case\n when \"Clinical judgement is required. Create a clinical note. Case 1\" then 'Member States should update this guidance according to the national immunization programme.'\n when \"Clinical judgement is required. Create a clinical note. Case 2\" then 'Member States should update this guidance according to the national immunization programme.'\n else ''\n end"
},
{
"url" : "displaySequence",
"valueInteger" : 38
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "IMMZEncounterElements"
},
{
"url" : "name",
"valueString" : "Client is not immunocompromised"
},
{
"url" : "statement",
"valueString" : "/*\n@input: Client is not immunocompromised\n@pseudocode: \"Immunocompromised\" ≠ TRUE\n*/\ndefine \"Client is not immunocompromised\":\n not \"Client is immunocompromised\""
},
{
"url" : "displaySequence",
"valueInteger" : 39
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "IMMZD2DTHPVEncounterElements"
},
{
"url" : "name",
"valueString" : "Client is not immunocompromised"
},
{
"url" : "statement",
"valueString" : "/*\n@input: Client is not immunocompromised\n@pseudocode: \"Immunocompromised\" ≠ TRUE\n@code: Client is not 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 not immunocompromised\":\n Encounter.\"Client is not immunocompromised\""
},
{
"url" : "displaySequence",
"valueInteger" : 40
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "IMMZEncounterElements"
},
{
"url" : "name",
"valueString" : "Client's HIV status is negative or unknown"
},
{
"url" : "statement",
"valueString" : "/*\n@input: Client's HIV status is negative or unknown\n@pseudocode: \"HIV status\" ≠ \"HIV-positive\"\n*/\ndefine \"Client's HIV status is negative or unknown\":\n not \"Client's HIV status is positive\""
},
{
"url" : "displaySequence",
"valueInteger" : 41
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "IMMZD2DTHPVEncounterElements"
},
{
"url" : "name",
"valueString" : "Client's HIV status is negative or unknown"
},
{
"url" : "statement",
"valueString" : "/*\n@input: Client's HIV status is negative or unknown\n@pseudocode: \"HIV status\" ≠ \"HIV-positive\"\n@code: Client's HIV status is negative or unknown-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 negative or unknown\":\n Encounter.\"Client's HIV status is negative or unknown\""
},
{
"url" : "displaySequence",
"valueInteger" : 42
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "IMMZD2DTHPV2DosesLogic"
},
{
"url" : "name",
"valueString" : "HPV immunization schedule is complete Case 1"
},
{
"url" : "statement",
"valueString" : "/*\n@output: HPV immunization schedule is complete Case 1\n@pseudocode: \"Immunization recommendation status\" = \"Complete\"\n*/\ndefine \"HPV immunization schedule is complete Case 1\":\n Encounter.\"Two HPV primary series doses were administered\"\n and Encounter.\"Client is not immunocompromised\"\n and Encounter.\"Client's HIV status is negative or unknown\""
},
{
"url" : "displaySequence",
"valueInteger" : 43
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "IMMZD2DTHPVEncounterElements"
},
{
"url" : "name",
"valueString" : "Three HPV primary series doses were administered"
},
{
"url" : "statement",
"valueString" : "/*\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"
},
{
"url" : "displaySequence",
"valueInteger" : 44
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "IMMZD2DTHPV2DosesLogic"
},
{
"url" : "name",
"valueString" : "HPV immunization schedule is complete Case 2"
},
{
"url" : "statement",
"valueString" : "/*\n@output: HPV immunization schedule is complete Case 2\n@pseudocode: \"Immunization recommendation status\" = \"Complete\"\n*/\ndefine \"HPV immunization schedule is complete Case 2\":\n Encounter.\"Three HPV primary series doses were administered\""
},
{
"url" : "displaySequence",
"valueInteger" : 45
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "IMMZD2DTHPV2DosesLogic"
},
{
"url" : "name",
"valueString" : "HPV immunization schedule is complete"
},
{
"url" : "statement",
"valueString" : "/*\n@output: HPV immunization schedule is complete\n@pseudocode: \"Immunization recommendation status\" = \"Complete\"\n*/\ndefine \"HPV immunization schedule is complete\":\n \"HPV immunization schedule is complete Case 1\"\n or \"HPV immunization schedule is complete Case 2\""
},
{
"url" : "displaySequence",
"valueInteger" : 46
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "IMMZD2DTHPV2DosesLogic"
},
{
"url" : "name",
"valueString" : "HPV immunization schedule is complete Guidance"
},
{
"url" : "statement",
"valueString" : "/*\n@output: HPV immunization schedule is complete Guidance\n@guidance = HPV immunization schedule is complete. Two HPV primary series doses were administered. \nCheck for any other vaccines due.\n@guidance = HPV immunization schedule is complete. Three HPV primary series doses were administered. \nCheck for any other vaccines due.\n*/\ndefine \"HPV immunization schedule is complete Guidance\":\n case\n when \"HPV immunization schedule is complete Case 1\" then 'HPV immunization schedule is complete. Two HPV primary series doses were administered. \nCheck for any other vaccines due.'\n when \"HPV immunization schedule is complete Case 2\" then 'HPV immunization schedule is complete. Three HPV primary series doses were administered. \nCheck for any other vaccines due.'\n else ''\n end"
},
{
"url" : "displaySequence",
"valueInteger" : 47
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "IMMZD2DTHPV2DosesLogic"
},
{
"url" : "name",
"valueString" : "Guidance"
},
{
"url" : "statement",
"valueString" : "/*\n@dynamicValue: Guidance\n*/\ndefine \"Guidance\":\n case \n when \"Client is not due for HPV vaccination\" then \"Client is not due for HPV vaccination Guidance\"\n when \"Client is due for HPV vaccination\" then \"Client is due for HPV vaccination Guidance\"\n when \"Clinical judgement is required. Create a clinical note.\" then \"Clinical judgement is required. Create a clinical note. Guidance\"\n when \"HPV immunization schedule is complete\" then \"HPV immunization schedule is complete Guidance\" \n else ''\n end"
},
{
"url" : "displaySequence",
"valueInteger" : 48
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "IMMZD2DTHPV2DosesLogic"
},
{
"url" : "name",
"valueString" : "Has Guidance"
},
{
"url" : "statement",
"valueString" : "define \"Has Guidance\":\n \"Guidance\" is not null and \"Guidance\" != ''"
},
{
"url" : "displaySequence",
"valueInteger" : 49
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "IMMZCommon"
},
{
"url" : "name",
"valueString" : "seriesPrimary"
},
{
"url" : "statement",
"valueString" : "/**\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' )"
},
{
"url" : "displaySequence",
"valueInteger" : 50
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "FHIRHelpers"
},
{
"url" : "name",
"valueString" : "ToString"
},
{
"url" : "statement",
"valueString" : "define function ToString(value string): value.value"
},
{
"url" : "displaySequence",
"valueInteger" : 51
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "FHIRHelpers"
},
{
"url" : "name",
"valueString" : "ToString"
},
{
"url" : "statement",
"valueString" : "define function ToString(value ImmunizationStatus): value.value"
},
{
"url" : "displaySequence",
"valueInteger" : 52
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "FHIRHelpers"
},
{
"url" : "name",
"valueString" : "ToBoolean"
},
{
"url" : "statement",
"valueString" : "define function ToBoolean(value boolean): value.value"
},
{
"url" : "displaySequence",
"valueInteger" : 53
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "FHIRHelpers"
},
{
"url" : "name",
"valueString" : "ToConcept"
},
{
"url" : "statement",
"valueString" : "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 }"
},
{
"url" : "displaySequence",
"valueInteger" : 54
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "FHIRHelpers"
},
{
"url" : "name",
"valueString" : "ToCode"
},
{
"url" : "statement",
"valueString" : "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 }"
},
{
"url" : "displaySequence",
"valueInteger" : 55
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "WHOCommon"
},
{
"url" : "name",
"valueString" : "mostRecent"
},
{
"url" : "statement",
"valueString" : "define fluent function mostRecent(immunizations List<Immunization>):\n Last(\n immunizations I\n sort by start of occurrence.toInterval()\n )"
},
{
"url" : "displaySequence",
"valueInteger" : 56
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "IMMZCommon"
},
{
"url" : "name",
"valueString" : "encounterOrOnBefore"
},
{
"url" : "statement",
"valueString" : "/**\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)"
},
{
"url" : "displaySequence",
"valueInteger" : 57
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "WHOCommon"
},
{
"url" : "name",
"valueString" : "references"
},
{
"url" : "statement",
"valueString" : "/*\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, '/'))"
},
{
"url" : "displaySequence",
"valueInteger" : 58
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "WHOCommon"
},
{
"url" : "name",
"valueString" : "complete"
},
{
"url" : "statement",
"valueString" : "define fluent function complete(observations List<Observation>):\n observations O where O.status in { 'final', 'amended', 'corrected' }"
},
{
"url" : "displaySequence",
"valueInteger" : 59
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "FHIRHelpers"
},
{
"url" : "name",
"valueString" : "ToString"
},
{
"url" : "statement",
"valueString" : "define function ToString(value ObservationStatus): value.value"
},
{
"url" : "displaySequence",
"valueInteger" : 60
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "FHIRHelpers"
},
{
"url" : "name",
"valueString" : "ToString"
},
{
"url" : "statement",
"valueString" : "define function ToString(value AdministrativeGender): value.value"
},
{
"url" : "displaySequence",
"valueInteger" : 61
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
}
],
"name" : "EffectiveDataRequirements",
"status" : "active",
"type" : {
"coding" : [
{
"system" : "http://terminology.hl7.org/CodeSystem/library-type",
"code" : "module-definition"
}
]
},
"relatedArtifact" : [
{
"type" : "depends-on",
"display" : "FHIR model information",
"resource" : "http://fhir.org/guides/cqf/common/Library/FHIR-ModelInfo|4.0.1"
},
{
"type" : "depends-on",
"display" : "Library Encounter",
"resource" : "http://smart.who.int/immunizations/Library/IMMZD2DTHPVEncounterElements"
},
{
"type" : "depends-on",
"display" : "Library Encounter",
"resource" : "http://smart.who.int/immunizations/Library/IMMZEncounterElements"
},
{
"type" : "depends-on",
"display" : "Library Common",
"resource" : "http://smart.who.int/immunizations/Library/IMMZCommon"
},
{
"type" : "depends-on",
"display" : "Library FHIRHelpers",
"resource" : "http://fhir.org/guides/cqf/common/Library/FHIRHelpers|4.0.1"
},
{
"type" : "depends-on",
"display" : "Library Elements",
"resource" : "http://smart.who.int/immunizations/Library/IMMZElements"
},
{
"type" : "depends-on",
"display" : "Library WC",
"resource" : "http://smart.who.int/immunizations/Library/WHOCommon"
},
{
"type" : "depends-on",
"display" : "Library FHIRHelpers",
"resource" : "http://fhir.org/guides/cqf/common/Library/FHIRHelpers|4.0.1"
},
{
"type" : "depends-on",
"display" : "Library Concepts",
"resource" : "http://smart.who.int/immunizations/Library/IMMZConcepts"
},
{
"type" : "depends-on",
"display" : "Library WC",
"resource" : "http://smart.who.int/immunizations/Library/WHOCommon"
},
{
"type" : "depends-on",
"display" : "Library Common",
"resource" : "http://smart.who.int/immunizations/Library/IMMZCommon"
},
{
"type" : "depends-on",
"display" : "Library WC",
"resource" : "http://smart.who.int/immunizations/Library/WHOCommon"
},
{
"type" : "depends-on",
"display" : "Library Concepts",
"resource" : "http://smart.who.int/immunizations/Library/IMMZConcepts"
},
{
"type" : "depends-on",
"display" : "Code system IMMZD",
"resource" : "http://smart.who.int/immunizations/CodeSystem/IMMZ.D"
},
{
"type" : "depends-on",
"display" : "Value set HPV vaccines",
"resource" : "http://smart.who.int/immunizations/ValueSet/IMMZ.Z.DE7"
}
],
"parameter" : [
{
"name" : "Today",
"use" : "in",
"min" : 0,
"max" : "1",
"type" : "date"
},
{
"name" : "EncounterId",
"use" : "in",
"min" : 0,
"max" : "1",
"type" : "string"
},
{
"name" : "Guidance",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "string"
},
{
"name" : "Client is due for HPV vaccination",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "Has Guidance",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
}
],
"dataRequirement" : [
{
"type" : "Patient",
"profile" : [
🔗 "http://hl7.org/fhir/StructureDefinition/Patient"
]
},
{
"type" : "Immunization",
"profile" : [
🔗 "http://hl7.org/fhir/StructureDefinition/Immunization"
],
"mustSupport" : [
"status",
"isSubpotent"
]
},
{
"type" : "Immunization",
"profile" : [
🔗 "http://hl7.org/fhir/StructureDefinition/Immunization"
],
"mustSupport" : [
"status",
"isSubpotent",
"occurrence"
]
},
{
"type" : "Immunization",
"profile" : [
🔗 "http://hl7.org/fhir/StructureDefinition/Immunization"
],
"mustSupport" : [
"status",
"isSubpotent",
"occurrence",
"vaccineCode"
]
},
{
"type" : "Observation",
"profile" : [
🔗 "http://hl7.org/fhir/StructureDefinition/Observation"
],
"mustSupport" : [
"code"
],
"codeFilter" : [
{
"path" : "code",
"code" : [
{
"system" : "http://smart.who.int/immunizations/CodeSystem/IMMZ.D",
"code" : "DE204",
"display" : "HIV status"
}
]
}
]
},
{
"type" : "Observation",
"profile" : [
🔗 "http://hl7.org/fhir/StructureDefinition/Observation"
],
"mustSupport" : [
"code"
],
"codeFilter" : [
{
"path" : "code",
"code" : [
{
"system" : "http://smart.who.int/immunizations/CodeSystem/IMMZ.D",
"code" : "DE209",
"display" : "Immunocompromised"
}
]
}
]
},
{
"type" : "Patient",
"profile" : [
🔗 "http://hl7.org/fhir/StructureDefinition/Patient"
]
},
{
"type" : "Immunization",
"profile" : [
🔗 "http://hl7.org/fhir/StructureDefinition/Immunization"
],
"mustSupport" : [
"status",
"isSubpotent",
"occurrence",
"vaccineCode"
]
},
{
"type" : "Immunization",
"profile" : [
🔗 "http://hl7.org/fhir/StructureDefinition/Immunization"
],
"mustSupport" : [
"status",
"isSubpotent",
"occurrence",
"vaccineCode"
]
}
]
}
],
"extension" : [
{
"url" : "http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-knowledgeCapability",
"valueCode" : "computable"
},
{
"url" : "http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-effectiveDataRequirements",
"valueCanonical" : "#effective-data-requirements"
}
],
"url" : "http://smart.who.int/immunizations/PlanDefinition/IMMZD2DTHPV2Doses",
"version" : "0.2.0",
"name" : "IMMZD2DTHPV2Doses",
"title" : "IMMZ.D2.DT.HPV.2 doses",
"type" : {
"coding" : [
{
"system" : "http://terminology.hl7.org/CodeSystem/plan-definition-type",
"code" : "eca-rule"
}
]
},
"status" : "draft",
"experimental" : false,
"date" : "2026-03-03T13:07:11+00:00",
"publisher" : "WHO",
"contact" : [
{
"name" : "WHO",
"telecom" : [
{
"system" : "url",
"value" : "http://who.int"
}
]
}
],
"description" : "IMMZ.D2.DT.HPV.2 doses\n2-dose schedule",
"relatedArtifact" : [
{
"type" : "citation",
"citation" : "WHO recommendations for routine immunization - summary tables (January 2025)"
}
],
"library" : [
🔗 "http://smart.who.int/immunizations/Library/IMMZD2DTHPV2DosesLogic"
],
"action" : [
{
"extension" : [
{
"url" : "http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-rationale",
"valueMarkdown" : "The current evidence supports the recommendation that a 2-dose schedule be used in \n the primary target group from 9 years of age and for all older age groups for which HPV vaccines are licensed."
}
],
"title" : "Determine if the client is due for HPV.",
"description" : "Determine if the client is due for HPV vaccine according to the national immunization protocol.\n2-dose schedule",
"condition" : [
{
"kind" : "applicability",
"expression" : {
"description" : "Client is due for HPV vaccination",
"language" : "text/cql-identifier",
"expression" : "Client is due for HPV vaccination"
}
}
],
"definitionCanonical" : "http://smart.who.int/immunizations/ActivityDefinition/IMMZD2DTMR",
"dynamicValue" : [
{
"path" : "status",
"expression" : {
"language" : "text/cql-expression",
"expression" : "'draft'"
}
},
{
"path" : "intent",
"expression" : {
"language" : "text/cql-expression",
"expression" : "'proposal'"
}
},
{
"path" : "medication",
"expression" : {
"language" : "text/cql-expression",
"expression" : "Concept { codes: { Code { system: 'http://smart.who.int/immunizations/CodeSystem/IMMZ.Z', code: 'DE7', display: 'HPV vaccines' } }, display: 'HPV vaccines' }"
}
}
]
},
{
"title" : "Check for Guidance for the patient regarding IMMZ.D2.DT.HPV.2 doses.",
"description" : "Show Guidance for the patient regarding IMMZ.D2.DT.HPV.2 doses.",
"condition" : [
{
"kind" : "applicability",
"expression" : {
"description" : "Has Guidance",
"language" : "text/cql-identifier",
"expression" : "Has Guidance"
}
}
],
"definitionCanonical" : "http://smart.who.int/immunizations/ActivityDefinition/IMMZD2DTCR",
"dynamicValue" : [
{
"path" : "status",
"expression" : {
"language" : "text/cql-expression",
"expression" : "'active'"
}
},
{
"path" : "payload.contentString",
"expression" : {
"language" : "text/cql-identifier",
"expression" : "Guidance"
}
},
{
"path" : "category.coding",
"expression" : {
"description" : "Category of communication",
"language" : "text/cql-expression",
"expression" : "Code { system: 'http://terminology.hl7.org/CodeSystem/communication-category', code: 'alert' }"
}
},
{
"path" : "priority",
"expression" : {
"description" : "Alert priority",
"language" : "text/cql-expression",
"expression" : "Code { system: 'http://hl7.org/fhir/request-priority', code: 'routine' }"
}
}
]
}
]
}