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" : "IMMZD18SRotavirus",
"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;\">IMMZD18SRotavirus</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-IMMZD18SRotavirus.html\">IMMZ.D18.S.Rotavirus 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.Rotavirus 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.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.D18.S.Rotavirus schedule\nIMMZ.D18.S.Rotavirus 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-IMMZD18SRotavirusLogic.html\">IMMZD18SRotavirusLogic</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> Rotavirus dose 1:</b> Provision of the rotavirus first dose\nTrigger event: Child's birth\nTrigger pseudo: \nTrigger date: "Date of birth"\nCreate condition: WHO recommends that the first dose of rotavirus vaccine be administered as soon as possible after 6 weeks of age.\n \n <br/>\n \n \n <b>If:</b>\n \n <i>Applicability:</i>\n \n Rotavirus dose 1\n \n <i>(Rotavirus 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>(Rotavirus 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> Rotavirus dose 2:</b> Provision of the rotavirus second dose\nTrigger event: First rotavirus dose from the primary series was administered\nTrigger pseudo: Count of vaccines administered (where "Vaccine type" = "Rotavirus vaccines" and "Type of dose" = "Primary series") = 1\nTrigger date: Latest "Date and time of vaccination" where "Vaccine type" = "Rotavirus vaccines"\nCreate condition: A minimum interval of 4 weeks should be maintained between doses.\n \n <br/>\n \n \n <b>If:</b>\n \n <i>Applicability:</i>\n \n Rotavirus dose 2\n \n <i>(Rotavirus 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>(Rotavirus 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> Rotavirus dose 3:</b> Provision of a rotavirus third dose\nTrigger event: For a series containing more than two doses, two rotavirus primary series doses of mixed series or a series with unknown vaccine products were administered\nTrigger pseudo: Count of vaccines administered (where "Vaccine type" = "Rotavirus vaccines"and "Type of dose" = "Primary series" ) = 2 \nAND "Vaccine brand" (where "Vaccine type" = "Rotavirus vaccines" AND "Dose number" = 1) ≠ "Vaccine brand" (where "Vaccine type" = "Rotavirus vaccines" AND "Dose number" = 2) OR "Total doses in series" > 2\nTrigger date: Latest "Date and time of vaccination" where "Vaccine type" = "Rotavirus vaccines"\nCreate condition: For a mixed series or a series with any unknown vaccine products, a total of 3 doses of rotavirus vaccine should be administered for a complete vaccination series.\nRotaTeq, Rotavac and Rotasiil should be administered in a 3-dose schedule.\n \n <br/>\n \n \n <b>If:</b>\n \n <i>Applicability:</i>\n \n Rotavirus dose 3\n \n <i>(Rotavirus dose 3)</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>(Rotavirus dose 3 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>"
},
"contained" : [
{
"resourceType" : "Library",
"id" : "effective-data-requirements",
"extension" : [
{
"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" : 0
}
],
"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" : 1
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "IMMZD2DTRotavirusEncounterElements"
},
{
"url" : "name",
"valueString" : "Rotavirus Doses Administered to Patient"
},
{
"url" : "statement",
"valueString" : "/*\n@internal: Rotavirus containing Doses Administered to Patient\n*/\ndefine \"Rotavirus Doses Administered to Patient\":\n Encounter.\"Doses Administered to Patient\" I\n where\n I.vaccineCode in Concepts.\"Rotavirus vaccines\""
},
{
"url" : "displaySequence",
"valueInteger" : 2
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "IMMZD2DTRotavirusEncounterElements"
},
{
"url" : "name",
"valueString" : "Rotavirus Primary Series Doses Administered to Patient"
},
{
"url" : "statement",
"valueString" : "/*\n@internal: Rotavirus containing Doses Administered to Patient that are in the Primary series\n*/\ndefine \"Rotavirus Primary Series Doses Administered to Patient\":\n \"Rotavirus Doses Administered to Patient\".seriesPrimary()"
},
{
"url" : "displaySequence",
"valueInteger" : 3
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "IMMZD2DTRotavirusEncounterElements"
},
{
"url" : "name",
"valueString" : "Number of Rotavirus Primary Series Doses Administered"
},
{
"url" : "statement",
"valueString" : "/*\n@internal: Number of Rotavirus Primary Series doses\n*/\ndefine \"Number of Rotavirus Primary Series Doses Administered\":\n Count(\"Rotavirus Primary Series Doses Administered to Patient\")"
},
{
"url" : "displaySequence",
"valueInteger" : 4
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "IMMZD2DTRotavirusEncounterElements"
},
{
"url" : "name",
"valueString" : "Two rotavirus primary series doses were administered"
},
{
"url" : "statement",
"valueString" : "/*\n@input: Two rotavirus primary series doses were administered\n@pseudocode: Count of vaccines administered (where \"Vaccine type\" = \"Rotavirus vaccines\" and \"Type of dose\" = \"Primary series\") = 2\n@code: Two rotavirus primary series doses were administered-118\n@decision: IMMZ.D2.DT.Rotavirus\n*/\ndefine \"Two rotavirus primary series doses were administered\":\n \"Number of Rotavirus Primary Series Doses Administered\" = 2"
},
{
"url" : "displaySequence",
"valueInteger" : 5
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "IMMZD18SRotavirusLogic"
},
{
"url" : "name",
"valueString" : "Second rotavirus dose from the primary series was administered"
},
{
"url" : "statement",
"valueString" : "/*\n@complete: Second rotavirus dose from the primary series was administered\n@pseudocode: Count of vaccines administered (where \"Vaccine type\" = \"Rotavirus vaccines\" and \"Type of dose\" = \"Primary series\") = 2\n*/\ndefine \"Second rotavirus dose from the primary series was administered\":\n Encounter.\"Two rotavirus primary series doses were administered\""
},
{
"url" : "displaySequence",
"valueInteger" : 6
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "IMMZD2DTRotavirusEncounterElements"
},
{
"url" : "name",
"valueString" : "Brand of First Dose"
},
{
"url" : "statement",
"valueString" : "/*\n@internal: Brand of First Dose\n*/\ndefine \"Brand of First Dose\":\n First(\"Rotavirus Doses Administered to Patient\".getDose('1')).brand()"
},
{
"url" : "displaySequence",
"valueInteger" : 7
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "IMMZD2DTRotavirusEncounterElements"
},
{
"url" : "name",
"valueString" : "Brand of Second Dose"
},
{
"url" : "statement",
"valueString" : "/*\n@internal: Brand of Second Dose\n*/\ndefine \"Brand of Second Dose\":\n First(\"Rotavirus Doses Administered to Patient\".getDose('2')).brand()"
},
{
"url" : "displaySequence",
"valueInteger" : 8
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "IMMZD2DTRotavirusEncounterElements"
},
{
"url" : "name",
"valueString" : "The series administered to the client contains the same product"
},
{
"url" : "statement",
"valueString" : "/*\n@input: The series administered to the client contains the same product\n@pseudocode: \"Vaccine brand\" (where \"Vaccine type\" = \"Rotavirus vaccines\" AND \"Dose number\" = 1) = \"Vaccine brand\" (where \"Vaccine type\" = \"Rotavirus vaccines\" AND \"Dose number\" = 2)\n@code: The series administered to the client contains the same product-169\n@decision: IMMZ.D2.DT.Rotavirus\n*/\ndefine \"The series administered to the client contains the same product\":\n \"Brand of First Dose\" is not null and\n \"Brand of First Dose\" ~ \"Brand of Second Dose\""
},
{
"url" : "displaySequence",
"valueInteger" : 9
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "IMMZD2DTRotavirusEncounterElements"
},
{
"url" : "name",
"valueString" : "The series administered to the client is a mixed series or a series with unknown vaccine products"
},
{
"url" : "statement",
"valueString" : "/*\n@input: The series administered to the client is a mixed series or a series with unknown vaccine products\n@pseudocode: \"Vaccine brand\" (where \"Vaccine type\" = \"Rotavirus vaccines\" AND \"Dose number\" = 1) ≠ \"Vaccine brand\" (where \"Vaccine type\" = \"Rotavirus vaccines\" AND \"Dose number\" = 2)\n@code: The series administered to the client is a mixed series or a series with unknown vaccine products-169\n@decision: IMMZ.D2.DT.Rotavirus\n*/\ndefine \"The series administered to the client is a mixed series or a series with unknown vaccine products\":\n not \"The series administered to the client contains the same product\""
},
{
"url" : "displaySequence",
"valueInteger" : 10
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "IMMZD2DTRotavirusEncounterElements"
},
{
"url" : "name",
"valueString" : "The series contain more than two doses"
},
{
"url" : "statement",
"valueString" : "/*\n@input: The series contain more than two doses\n@pseudocode: \"Total doses in series\" > 2\n@code: The series contain more than two doses-27\n@decision: IMMZ.D2.DT.Rotavirus\n*/\ndefine \"The series contain more than two doses\":\n ToInteger(\"Rotavirus Doses Administered to Patient\".mostRecent().seriesDoses()) > 2"
},
{
"url" : "displaySequence",
"valueInteger" : 11
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "IMMZD18SRotavirusLogic"
},
{
"url" : "name",
"valueString" : "Rotavirus dose 3 Expiration"
},
{
"url" : "statement",
"valueString" : "/*\n@dynamicValue: Rotavirus dose 3 Expiration\n@pseudocode: \"Date of birth\" + 24 months\n*/\ndefine \"Rotavirus dose 3 Expiration\":\n Patient.birthDate + 24 months"
},
{
"url" : "displaySequence",
"valueInteger" : 12
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "IMMZD2DTRotavirusEncounterElements"
},
{
"url" : "name",
"valueString" : "Three rotavirus primary series doses were administered"
},
{
"url" : "statement",
"valueString" : "/*\n@input: Three rotavirus primary series doses were administered\n@pseudocode: Count of vaccines administered (where \"Vaccine type\" = \"Rotavirus vaccines\" and \"Type of dose\" = \"Primary series\") = 3\n@code: Three rotavirus primary series doses were administered-118\n@decision: IMMZ.D2.DT.Rotavirus\n*/\ndefine \"Three rotavirus primary series doses were administered\":\n \"Number of Rotavirus Primary Series Doses Administered\" = 3"
},
{
"url" : "displaySequence",
"valueInteger" : 13
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "IMMZD18SRotavirusLogic"
},
{
"url" : "name",
"valueString" : "Third rotavirus dose from the primary series was administered"
},
{
"url" : "statement",
"valueString" : "/*\n@complete: Third rotavirus dose from the primary series was administered\n@pseudocode: Count of vaccines administered (where \"Vaccine type\" = \"Rotavirus vaccines\" and \"Type of dose\" = \"Primary series\") = 3\n*/\ndefine \"Third rotavirus dose from the primary series was administered\":\n Encounter.\"Three rotavirus primary series doses were administered\""
},
{
"url" : "displaySequence",
"valueInteger" : 14
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "IMMZD18SRotavirusLogic"
},
{
"url" : "name",
"valueString" : "Rotavirus dose 3"
},
{
"url" : "statement",
"valueString" : "/*\n@output: Rotavirus dose 3\n@description: Provision of a rotavirus third dose\n@trigger: For a series containing more than two doses, two rotavirus primary series doses of mixed series or a series with unknown vaccine products were administered\n@pseudo: Count of vaccines administered (where \"Vaccine type\" = \"Rotavirus vaccines\"and \"Type of dose\" = \"Primary series\" ) = 2 \nAND \"Vaccine brand\" (where \"Vaccine type\" = \"Rotavirus vaccines\" AND \"Dose number\" = 1) ≠ \"Vaccine brand\" (where \"Vaccine type\" = \"Rotavirus vaccines\" AND \"Dose number\" = 2) OR \"Total doses in series\" > 2\n@triggerDate: Latest \"Date and time of vaccination\" where \"Vaccine type\" = \"Rotavirus vaccines\"\n*/\ndefine \"Rotavirus dose 3\":\n \"Second rotavirus dose from the primary series was administered\"\n and (\n Encounter.\"The series administered to the client is a mixed series or a series with unknown vaccine products\"\n or Encounter.\"The series contain more than two doses\"\n )\n and \"Rotavirus dose 3 Expiration\" after day of Today\n and not \"Third rotavirus dose from the primary series was administered\""
},
{
"url" : "displaySequence",
"valueInteger" : 15
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "IMMZD2DTRotavirusEncounterElements"
},
{
"url" : "name",
"valueString" : "Date of Latest Rotavirus Dose"
},
{
"url" : "statement",
"valueString" : "/*\n@internal: Date of Latest Rotavirus Dose\n*/\ndefine \"Date of Latest Rotavirus Dose\":\n date from start of \"Rotavirus Doses Administered to Patient\".mostRecent().occurrence.toInterval()"
},
{
"url" : "displaySequence",
"valueInteger" : 16
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "IMMZD18SRotavirusLogic"
},
{
"url" : "name",
"valueString" : "Rotavirus dose 3 Due Date"
},
{
"url" : "statement",
"valueString" : "/*\n@dynamicValue: Rotavirus dose 3 Due Date\n@pseudocode: Latest \"Date and time of vaccination\" (where \"Vaccine type\" = \"Rotavirus vaccines\") + 4 weeks\n*/\ndefine \"Rotavirus dose 3 Due Date\":\n if \"Rotavirus dose 3\" then Encounter.\"Date of Latest Rotavirus Dose\" + 4 weeks\n else null"
},
{
"url" : "displaySequence",
"valueInteger" : 17
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "IMMZD18SRotavirusLogic"
},
{
"url" : "name",
"valueString" : "Rotavirus dose 3 Create"
},
{
"url" : "statement",
"valueString" : "/*\n@output: Rotavirus dose 3 Create\n@create: For a mixed series or a series with any unknown vaccine products, a total of 3 doses of rotavirus vaccine should be administered for a complete vaccination series.\nRotaTeq, Rotavac and Rotasiil should be administered in a 3-dose schedule.\n*/\ndefine \"Rotavirus dose 3 Create\":\n if \"Rotavirus dose 3\"\n then 'For a mixed series or a series with any unknown vaccine products, a total of 3 doses of rotavirus vaccine should be administered for a complete vaccination series.\nRotaTeq, Rotavac and Rotasiil should be administered in a 3-dose schedule.' + '\nDue Date: ' + ToString(\"Rotavirus dose 3 Due Date\") + '\nExpiration: ' + ToString(\"Rotavirus dose 3 Expiration\")\n else ''"
},
{
"url" : "displaySequence",
"valueInteger" : 18
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "IMMZD2DTRotavirusEncounterElements"
},
{
"url" : "name",
"valueString" : "No rotavirus primary series doses were administered"
},
{
"url" : "statement",
"valueString" : "/*\n@input: No rotavirus primary series doses were administered\n@pseudocode: Count of vaccines administered (where \"Vaccine type\" = \"Rotavirus vaccines\" and \"Type of dose\" = \"Primary series\") = 0\n@code: No rotavirus primary series doses were administered-118\n@decision: IMMZ.D2.DT.Rotavirus\n*/\ndefine \"No rotavirus primary series doses were administered\":\n \"Number of Rotavirus Primary Series Doses Administered\" = 0"
},
{
"url" : "displaySequence",
"valueInteger" : 19
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "IMMZD18SRotavirusLogic"
},
{
"url" : "name",
"valueString" : "Rotavirus dose 1 Expiration"
},
{
"url" : "statement",
"valueString" : "/*\n@dynamicValue: Rotavirus dose 1 Expiration\n@pseudocode: \"Date of birth\" + 24 months\n*/\ndefine \"Rotavirus dose 1 Expiration\":\n Patient.birthDate + 24 months"
},
{
"url" : "displaySequence",
"valueInteger" : 20
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "IMMZD2DTRotavirusEncounterElements"
},
{
"url" : "name",
"valueString" : "One rotavirus primary series dose was administered"
},
{
"url" : "statement",
"valueString" : "/*\n@input: One rotavirus primary series dose was administered\n@pseudocode: Count of vaccines administered (where \"Vaccine type\" = \"Rotavirus vaccines\" and \"Type of dose\" = \"Primary series\") = 1\n@code: One rotavirus primary series dose was administered-118\n@decision: IMMZ.D2.DT.Rotavirus\n*/\ndefine \"One rotavirus primary series dose was administered\":\n \"Number of Rotavirus Primary Series Doses Administered\" = 1"
},
{
"url" : "displaySequence",
"valueInteger" : 21
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "IMMZD18SRotavirusLogic"
},
{
"url" : "name",
"valueString" : "First rotavirus dose from the primary series was administered"
},
{
"url" : "statement",
"valueString" : "/*\n@complete: First rotavirus dose from the primary series was administered\n@pseudocode: Count of vaccines administered (where \"Vaccine type\" = \"Rotavirus vaccines\" and \"Type of dose\" = \"Primary series\") = 1\n*/\ndefine \"First rotavirus dose from the primary series was administered\":\n Encounter.\"One rotavirus primary series dose was administered\""
},
{
"url" : "displaySequence",
"valueInteger" : 22
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "IMMZD18SRotavirusLogic"
},
{
"url" : "name",
"valueString" : "Rotavirus dose 1"
},
{
"url" : "statement",
"valueString" : "/*\n@output: Rotavirus dose 1\n@description: Provision of the rotavirus first dose\n@trigger: Child's birth\n@pseudo: \n@triggerDate: \"Date of birth\"\n*/\ndefine \"Rotavirus dose 1\":\n Encounter.\"No rotavirus primary series doses were administered\"\n and \"Rotavirus dose 1 Expiration\" after day of Today\n and not \"First rotavirus dose from the primary series was administered\""
},
{
"url" : "displaySequence",
"valueInteger" : 23
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "IMMZD18SRotavirusLogic"
},
{
"url" : "name",
"valueString" : "Rotavirus dose 1 Due Date"
},
{
"url" : "statement",
"valueString" : "/*\n@dynamicValue: Rotavirus dose 1 Due Date\n@pseudocode: \"Date of birth\" + 6 weeks\n*/\ndefine \"Rotavirus dose 1 Due Date\":\n if \"Rotavirus dose 1\" then Patient.birthDate + 6 weeks\n else null"
},
{
"url" : "displaySequence",
"valueInteger" : 24
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "IMMZD18SRotavirusLogic"
},
{
"url" : "name",
"valueString" : "Rotavirus dose 1 Create"
},
{
"url" : "statement",
"valueString" : "/*\n@output: Rotavirus dose 1 Create\n@create: WHO recommends that the first dose of rotavirus vaccine be administered as soon as possible after 6 weeks of age.\n*/\ndefine \"Rotavirus dose 1 Create\":\n if \"Rotavirus dose 1\"\n then 'WHO recommends that the first dose of rotavirus vaccine be administered as soon as possible after 6 weeks of age.' + '\nDue Date: ' + ToString(\"Rotavirus dose 1 Due Date\") + '\nExpiration: ' + ToString(\"Rotavirus dose 1 Expiration\")\n else ''"
},
{
"url" : "displaySequence",
"valueInteger" : 25
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "IMMZD18SRotavirusLogic"
},
{
"url" : "name",
"valueString" : "Rotavirus dose 2 Expiration"
},
{
"url" : "statement",
"valueString" : "/*\n@dynamicValue: Rotavirus dose 2 Expiration\n@pseudocode: \"Date of birth\" + 24 months\n*/\ndefine \"Rotavirus dose 2 Expiration\":\n Patient.birthDate + 24 months"
},
{
"url" : "displaySequence",
"valueInteger" : 26
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "IMMZD18SRotavirusLogic"
},
{
"url" : "name",
"valueString" : "Rotavirus dose 2"
},
{
"url" : "statement",
"valueString" : "/*\n@output: Rotavirus dose 2\n@description: Provision of the rotavirus second dose\n@trigger: First rotavirus dose from the primary series was administered\n@pseudo: Count of vaccines administered (where \"Vaccine type\" = \"Rotavirus vaccines\" and \"Type of dose\" = \"Primary series\") = 1\n@triggerDate: Latest \"Date and time of vaccination\" where \"Vaccine type\" = \"Rotavirus vaccines\"\n*/\ndefine \"Rotavirus dose 2\":\n \"First rotavirus dose from the primary series was administered\"\n and \"Rotavirus dose 2 Expiration\" after day of Today\n and not \"Second rotavirus dose from the primary series was administered\""
},
{
"url" : "displaySequence",
"valueInteger" : 27
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "IMMZD18SRotavirusLogic"
},
{
"url" : "name",
"valueString" : "Rotavirus dose 2 Due Date"
},
{
"url" : "statement",
"valueString" : "/*\n@dynamicValue: Rotavirus dose 2 Due Date\n@pseudocode: Latest \"Date and time of vaccination\" (where \"Vaccine type\" = \"Rotavirus vaccines\") + 4 weeks\n*/\ndefine \"Rotavirus dose 2 Due Date\":\n if \"Rotavirus dose 2\" then Encounter.\"Date of Latest Rotavirus Dose\" + 4 weeks\n else null"
},
{
"url" : "displaySequence",
"valueInteger" : 28
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "IMMZD18SRotavirusLogic"
},
{
"url" : "name",
"valueString" : "Rotavirus dose 2 Create"
},
{
"url" : "statement",
"valueString" : "/*\n@output: Rotavirus dose 2 Create\n@create: A minimum interval of 4 weeks should be maintained between doses.\n*/\ndefine \"Rotavirus dose 2 Create\":\n if \"Rotavirus dose 2\"\n then 'A minimum interval of 4 weeks should be maintained between doses.' + '\nDue Date: ' + ToString(\"Rotavirus dose 2 Due Date\") + '\nExpiration: ' + ToString(\"Rotavirus dose 2 Expiration\")\n else ''"
},
{
"url" : "displaySequence",
"valueInteger" : 29
}
],
"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" : 30
}
],
"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" : 31
}
],
"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" : 32
}
],
"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" : 33
}
],
"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" : 34
}
],
"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" : 35
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "IMMZCommon"
},
{
"url" : "name",
"valueString" : "brand"
},
{
"url" : "statement",
"valueString" : "/**\n * @description: Gets the type of antigen dose extension value from an Immunization\n */\ndefine fluent function brand(immz Immunization):\n (First(\n immz.extension E where E.url = 'http://smart.who.int/immunizations/StructureDefinition/IMMZVaccineBrand'\n )).value as FHIR.CodeableConcept"
},
{
"url" : "displaySequence",
"valueInteger" : 36
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "FHIRHelpers"
},
{
"url" : "name",
"valueString" : "ToString"
},
{
"url" : "statement",
"valueString" : "define function ToString(value uri): value.value"
},
{
"url" : "displaySequence",
"valueInteger" : 37
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "IMMZCommon"
},
{
"url" : "name",
"valueString" : "getDose"
},
{
"url" : "statement",
"valueString" : "/**\n * @description: Gets a given immunization from a list that matches the dose number\n */\ndefine fluent function getDose(immunizations List<Immunization>, doseNumber String):\n immunizations I where\n exists( I.protocolApplied pa where pa.doseNumber = doseNumber )"
},
{
"url" : "displaySequence",
"valueInteger" : 38
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "IMMZCommon"
},
{
"url" : "name",
"valueString" : "seriesDoses"
},
{
"url" : "statement",
"valueString" : "/**\n * @description: Gets the series doses from an immunization\n */\ndefine fluent function seriesDoses(immunization Immunization):\n First(immunization.protocolApplied pa where pa.seriesDoses is not null).seriesDoses"
},
{
"url" : "displaySequence",
"valueInteger" : 39
}
],
"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" : 40
}
],
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
},
{
"extension" : [
{
"url" : "libraryName",
"valueString" : "FHIRHelpers"
},
{
"url" : "name",
"valueString" : "ToDate"
},
{
"url" : "statement",
"valueString" : "define function ToDate(value date): value.value"
},
{
"url" : "displaySequence",
"valueInteger" : 41
}
],
"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/IMMZD2DTRotavirusEncounterElements"
},
{
"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 Encounter",
"resource" : "http://smart.who.int/immunizations/Library/IMMZEncounterElements"
},
{
"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" : "Value set Rotavirus vaccines",
"resource" : "http://smart.who.int/immunizations/ValueSet/IMMZ.Z.DE16"
}
],
"parameter" : [
{
"name" : "Today",
"use" : "in",
"min" : 0,
"max" : "1",
"type" : "date"
},
{
"name" : "Rotavirus dose 3 Create",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "string"
},
{
"name" : "Rotavirus dose 1",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "Rotavirus dose 1 Create",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "string"
},
{
"name" : "Rotavirus dose 2",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "Rotavirus dose 3",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "Rotavirus dose 2 Create",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "string"
}
],
"dataRequirement" : [
{
"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" : "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"
]
},
{
"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/IMMZD18SRotavirus",
"version" : "0.2.0",
"name" : "IMMZD18SRotavirus",
"title" : "IMMZ.D18.S.Rotavirus schedule",
"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.D18.S.Rotavirus schedule\nIMMZ.D18.S.Rotavirus schedule",
"relatedArtifact" : [
{
"type" : "citation",
"citation" : "WHO recommendations for routine immunization - summary tables (January 2025)"
}
],
"library" : [
🔗 "http://smart.who.int/immunizations/Library/IMMZD18SRotavirusLogic"
],
"action" : [
{
"title" : "Rotavirus dose 1",
"description" : "Provision of the rotavirus first dose\nTrigger event: Child's birth\nTrigger pseudo: \nTrigger date: \"Date of birth\"\nCreate condition: WHO recommends that the first dose of rotavirus vaccine be administered as soon as possible after 6 weeks of age.",
"condition" : [
{
"kind" : "applicability",
"expression" : {
"description" : "Rotavirus dose 1",
"language" : "text/cql-identifier",
"expression" : "Rotavirus dose 1"
}
}
],
"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" : "Rotavirus dose 1 Create"
}
},
{
"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' }"
}
}
]
},
{
"title" : "Rotavirus dose 2",
"description" : "Provision of the rotavirus second dose\nTrigger event: First rotavirus dose from the primary series was administered\nTrigger pseudo: Count of vaccines administered (where \"Vaccine type\" = \"Rotavirus vaccines\" and \"Type of dose\" = \"Primary series\") = 1\nTrigger date: Latest \"Date and time of vaccination\" where \"Vaccine type\" = \"Rotavirus vaccines\"\nCreate condition: A minimum interval of 4 weeks should be maintained between doses.",
"condition" : [
{
"kind" : "applicability",
"expression" : {
"description" : "Rotavirus dose 2",
"language" : "text/cql-identifier",
"expression" : "Rotavirus dose 2"
}
}
],
"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" : "Rotavirus dose 2 Create"
}
},
{
"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' }"
}
}
]
},
{
"title" : "Rotavirus dose 3",
"description" : "Provision of a rotavirus third dose\nTrigger event: For a series containing more than two doses, two rotavirus primary series doses of mixed series or a series with unknown vaccine products were administered\nTrigger pseudo: Count of vaccines administered (where \"Vaccine type\" = \"Rotavirus vaccines\"and \"Type of dose\" = \"Primary series\" ) = 2 \nAND \"Vaccine brand\" (where \"Vaccine type\" = \"Rotavirus vaccines\" AND \"Dose number\" = 1) ≠ \"Vaccine brand\" (where \"Vaccine type\" = \"Rotavirus vaccines\" AND \"Dose number\" = 2) OR \"Total doses in series\" > 2\nTrigger date: Latest \"Date and time of vaccination\" where \"Vaccine type\" = \"Rotavirus vaccines\"\nCreate condition: For a mixed series or a series with any unknown vaccine products, a total of 3 doses of rotavirus vaccine should be administered for a complete vaccination series.\nRotaTeq, Rotavac and Rotasiil should be administered in a 3-dose schedule.",
"condition" : [
{
"kind" : "applicability",
"expression" : {
"description" : "Rotavirus dose 3",
"language" : "text/cql-identifier",
"expression" : "Rotavirus dose 3"
}
}
],
"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" : "Rotavirus dose 3 Create"
}
},
{
"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' }"
}
}
]
}
]
}