Id: IMMZD2DTPolioBOPVPlusIPV Url: IMMZ.D2.DT.Polio.bOPV plus IPV Version: 0.2.0 Title: IMMZ.D2.DT.Polio.bOPV plus IPV Status: draft Type: system: http://terminology.hl7.org/CodeSystem/plan-definition-type code: eca-rule Date: 2026-03-29 17:23:09+0000 Publisher: WHO Description: IMMZ.D2.DT.Polio.bOPV plus IPV "Bivalent oral polio vaccine (bOPV) plus inactivated polio vaccine (IPV)" schedule (applicable for all countries) Knowledge Capability: computable Related Artifacts: References WHO recommendations for routine immunization - summary tables (January 2025) Libraries: IMMZD2DTPolioBOPVPlusIPVLogic Actions: Determine if the client is due for a poliovirus vaccination according to the national immunization schedule: Determine if the client is due for a poliovirus vaccination according to the national immunization schedule "Bivalent oral polio vaccine (bOPV) plus inactivated polio vaccine (IPV)" schedule (applicable for all countries) If: Applicability: Client is due for bOPV vaccination (Client is due for bOPV vaccination) Then: Definition: IMMZD2DTMR Dynamic Values: status: ('draft') intent: ('proposal') medication: (Concept { codes: { Code { system: 'http://smart.who.int/immunizations/CodeSystem/IMMZ.Z', code: 'DE30', display: 'Oral polio vaccines' } }, display: 'Oral polio vaccines' }) Determine if the client is due for a poliovirus vaccination according to the national immunization schedule: Determine if the client is due for a poliovirus vaccination according to the national immunization schedule "Bivalent oral polio vaccine (bOPV) plus inactivated polio vaccine (IPV)" schedule (applicable for all countries) If: Applicability: Client is due for bOPV and IPV vaccination (Client is due for bOPV and IPV vaccination) Then: Definition: IMMZD2DTMR Dynamic Values: status: ('draft') intent: ('proposal') medication: (Concept { codes: { Code { system: 'http://smart.who.int/immunizations/CodeSystem/IMMZ.Z', code: 'DE30', display: 'Oral polio vaccines' } }, display: 'Oral polio vaccines' }) Determine if the client is due for a poliovirus vaccination according to the national immunization schedule: Determine if the client is due for a poliovirus vaccination according to the national immunization schedule "Bivalent oral polio vaccine (bOPV) plus inactivated polio vaccine (IPV)" schedule (applicable for all countries) If: Applicability: Client is due for bOPV and IPV vaccination (Client is due for bOPV and IPV vaccination) Then: Definition: IMMZD2DTMR Dynamic Values: status: ('draft') intent: ('proposal') medication: (Concept { codes: { Code { system: 'http://smart.who.int/immunizations/CodeSystem/IMMZ.Z', code: 'DE31', display: 'Inactivated polio vaccines' } }, display: 'Inactivated polio vaccines' }) Determine if the client is due for a poliovirus vaccination according to the national immunization schedule: Determine if the client is due for a poliovirus vaccination according to the national immunization schedule "Bivalent oral polio vaccine (bOPV) plus inactivated polio vaccine (IPV)" schedule (applicable for all countries) If: Applicability: Client is due for IPV vaccination (Client is due for IPV vaccination) Then: Definition: IMMZD2DTMR Dynamic Values: status: ('draft') intent: ('proposal') medication: (Concept { codes: { Code { system: 'http://smart.who.int/immunizations/CodeSystem/IMMZ.Z', code: 'DE31', display: 'Inactivated polio vaccines' } }, display: 'Inactivated polio vaccines' }) Check for Guidance for the patient regarding IMMZ.D2.DT.Polio.bOPV plus IPV.: Show Guidance for the patient regarding IMMZ.D2.DT.Polio.bOPV plus IPV. If: Applicability: Has Guidance (Has Guidance) Then: Definition: IMMZ.D2.DT.CR Dynamic Values: status: ('active') payload.contentString: (Guidance) category.coding: (Code { system: 'http://terminology.hl7.org/CodeSystem/communication-category', code: 'alert' }) priority: (Code { system: 'http://hl7.org/fhir/request-priority', code: 'routine' })
/** * @dataElement Patient age in weeks */ define "Current Patient Age In Weeks": AgeInWeeksAt(Today)
/* @input: Client's age is less than 6 weeks @pseudocode: Today's date − "Date of birth" < 6 weeks @code: Client's age is less than 6 weeks-40 @decision: IMMZ.D2.DT.Polio.bOPV plus IPV: "Bivalent oral polio vaccine (bOPV) plus inactivated polio vaccine (IPV)" schedule (applicable for all countries) @decision: IMMZ.D2.DT.Polio.IPV-only: Inactivated polio vaccine (IPV)-only (in countries, in polio-free regions, with a very low risk of importation and sustained high routine immunization coverage (third dose of the diphtheria–tetanus–pertussis vaccine [DTP3] > 90%) */ define "Client's age is less than 6 weeks": Encounter."Current Patient Age In Weeks" < 6
/* @output: Client is not due for bOPV vaccination @pseudocode: "Immunization recommendation status" = "Not due" */ define "Client is not due for bOPV vaccination": Encounter."Client's age is less than 6 weeks"
Client is not due for bOPV vaccination Guidance
/* @output: Client is not due for bOPV vaccination Guidance @guidance: Should not vaccinate client with first bOPV dose as client's age is less than 6 weeks. Check for any other vaccines due and inform the caregiver of when to come back for the first bOPV dose. */ define "Client is not due for bOPV vaccination Guidance": 'Should not vaccinate client with first bOPV dose as client\'s age is less than 6 weeks. Check for any other vaccines due and inform the caregiver of when to come back for the first bOPV dose.'
/** * @dataElement All Doses Administered to Patient */ define "Doses Administered to Patient": [Immunization] I where I.status = 'completed' and I.isSubpotent is not true
/* @internal: Polio containing Doses Administered to Patient */ define "Polio Doses Administered to Patient": Elements."Doses Administered to Patient" I where I.vaccineCode in Concepts."Poliovirus-containing vaccines"
Polio Primary Series Doses Administered to Patient
/* @internal: Polio containing Doses Administered to Patient that are in the Primary series */ define "Polio Primary Series Doses Administered to Patient": "Polio Doses Administered to Patient".seriesPrimary()
/* @internal: Polio containing Doses Administered to Patient that are in the Primary series */ define "Polio Primary Series Doses Administered to Patient": PolioElements."Polio Primary Series Doses Administered to Patient".onOrBefore(Today)
Number of Polio Primary Series Doses Administered
/* @internal: Number of Polio Primary Series doses */ define "Number of Polio Primary Series Doses Administered": Count("Polio Primary Series Doses Administered to Patient")
No poliovirus primary series doses were administered
/* @input: No poliovirus primary series doses were administered @pseudocode: Count of vaccines administered (where "Vaccine type" = "Poliovirus-containing vaccines" and "Type of dose" = "Primary series") = 0 @code: No poliovirus primary series doses were administered-130 @decision: IMMZ.D2.DT.Polio.bOPV plus IPV: "Bivalent oral polio vaccine (bOPV) plus inactivated polio vaccine (IPV)" schedule (applicable for all countries) @decision: IMMZ.D2.DT.Polio.Sequential IPV–bOPV: Sequential "Bivalent oral polio vaccine (bOPV)–inactivated polio vaccine (IPV)" schedule (in countries with high vaccination coverage [e.g. 90–95%] and low importation risk [where neighbouring countries and/or countries that share substantial population movement have a similarly high coverage]) @decision: IMMZ.D2.DT.Polio.IPV-only: Inactivated polio vaccine (IPV)-only (in countries, in polio-free regions, with a very low risk of importation and sustained high routine immunization coverage (third dose of the diphtheria–tetanus–pertussis vaccine [DTP3] > 90%) */ define "No poliovirus primary series doses were administered": "Number of Polio Primary Series Doses Administered" = 0
/** * @dataElement Patient age in months */ define "Current Patient Age In Months": AgeInMonthsAt(Today)
Client's age is between 6 weeks and 3 months
/* @input: Client's age is between 6 weeks and 3 months @pseudocode: 6 weeks ≤ Today's date − "Date of birth" ≤ 3 months @code: Client's age is between 6 weeks and 3 months-51 @decision: IMMZ.D2.DT.Polio.bOPV plus IPV: "Bivalent oral polio vaccine (bOPV) plus inactivated polio vaccine (IPV)" schedule (applicable for all countries) */ define "Client's age is between 6 weeks and 3 months": 6 <= Encounter."Current Patient Age In Weeks" and Encounter."Current Patient Age In Months" <= 3
Client is due for bOPV vaccination Case 1
/* @output: Client is due for bOPV vaccination Case 1 @pseudocode: "Immunization recommendation status" = "Due" (where "Type of poliovirus dose" = "bOPV") */ define "Client is due for bOPV vaccination Case 1": Encounter."No poliovirus primary series doses were administered" and Encounter."Client's age is between 6 weeks and 3 months"
One poliovirus primary series dose was administered
/* @input: One poliovirus primary series dose was administered @pseudocode: Count of vaccines administered (where "Vaccine type" = "Poliovirus-containing vaccines" and "Type of dose" = "Primary series") = 1 @code: One poliovirus primary series dose was administered-130 @decision: IMMZ.D2.DT.Polio.bOPV plus IPV: "Bivalent oral polio vaccine (bOPV) plus inactivated polio vaccine (IPV)" schedule (applicable for all countries) @decision: IMMZ.D2.DT.Polio.Sequential IPV–bOPV: Sequential "Bivalent oral polio vaccine (bOPV)–inactivated polio vaccine (IPV)" schedule (in countries with high vaccination coverage [e.g. 90–95%] and low importation risk [where neighbouring countries and/or countries that share substantial population movement have a similarly high coverage]) @decision: IMMZ.D2.DT.Polio.IPV-only: Inactivated polio vaccine (IPV)-only (in countries, in polio-free regions, with a very low risk of importation and sustained high routine immunization coverage (third dose of the diphtheria–tetanus–pertussis vaccine [DTP3] > 90%) */ define "One poliovirus primary series dose was administered": "Number of Polio Primary Series Doses Administered" = 1
Client's age is between 6 weeks and 14 weeks
/* @input: Client's age is between 6 weeks and 14 weeks @pseudocode: 6 weeks ≤ Today's date − "Date of birth" < 14 weeks @code: Client's age is between 6 weeks and 14 weeks-51 @decision: IMMZ.D2.DT.Polio.bOPV plus IPV: "Bivalent oral polio vaccine (bOPV) plus inactivated polio vaccine (IPV)" schedule (applicable for all countries) */ define "Client's age is between 6 weeks and 14 weeks": 6 <= Encounter."Current Patient Age In Weeks" and Encounter."Current Patient Age In Weeks" < 14
/* @internal: Polio containing Doses Administered to Patient */ define "Polio Doses Administered to Patient": PolioElements."Polio Doses Administered to Patient".onOrBefore(Today)
/* @internal: bOPV Doses Administered to Patient */ define "bOPV Doses Administered to Patient": "Polio Doses Administered to Patient" I where I.typeOfDose() ~ Concepts."bOPV"
/* @internal: Date of Latest bOPV Dose */ define "Date of Latest bOPV Dose": date from start of "bOPV Doses Administered to Patient".mostRecent().occurrence.toInterval()
The latest bOPV dose was administered less than 4 weeks ago
/* @input: The latest bOPV dose was administered less than 4 weeks ago @pseudocode: Today's date − Latest "Date and time of vaccination" (where "Vaccine type" = "Poliovirus-containing vaccines" and "Type of poliovirus dose" = "bOPV") < 4 weeks @code: The latest bOPV dose was administered less than 4 weeks ago-159 @decision: IMMZ.D2.DT.Polio.bOPV plus IPV: "Bivalent oral polio vaccine (bOPV) plus inactivated polio vaccine (IPV)" schedule (applicable for all countries) */ define "The latest bOPV dose was administered less than 4 weeks ago": "Date of Latest bOPV Dose" is not null and duration in weeks between "Date of Latest bOPV Dose" and Today < 4
The latest bOPV dose was administered more than 4 weeks ago
/* @input: The latest bOPV dose was administered more than 4 weeks ago @pseudocode: Today's date − Latest "Date and time of vaccination" (where "Vaccine type" = "Poliovirus-containing vaccines" and "Type of poliovirus dose" = "bOPV") ≥ 4 weeks @code: The latest bOPV dose was administered more than 4 weeks ago-159 @decision: IMMZ.D2.DT.Polio.bOPV plus IPV: "Bivalent oral polio vaccine (bOPV) plus inactivated polio vaccine (IPV)" schedule (applicable for all countries) */ define "The latest bOPV dose was administered more than 4 weeks ago": not("The latest bOPV dose was administered less than 4 weeks ago")
Client is due for bOPV vaccination Case 2
/* @output: Client is due for bOPV vaccination Case 2 @pseudocode: "Immunization recommendation status" = "Due" (where "Type of poliovirus dose" = "bOPV") */ define "Client is due for bOPV vaccination Case 2": Encounter."One poliovirus primary series dose was administered" and Encounter."Client's age is between 6 weeks and 14 weeks" and Encounter."The latest bOPV dose was administered more than 4 weeks ago"
Polio bOPV Primary Series Doses Administered to Patient
/* @internal: Polio bOPV Primary Series Doses Administered to Patient */ define "Polio bOPV Primary Series Doses Administered to Patient": "Polio Primary Series Doses Administered to Patient" I where I.typeOfDose() ~ Concepts."bOPV"
Number of Polio bOPV Primary Series Doses Administered
/* @internal: Number of Polio bOPV Primary Series Doses Administered */ define "Number of Polio bOPV Primary Series Doses Administered": Count("Polio bOPV Primary Series Doses Administered to Patient")
/* @input: The poliovirus dose administered is IPV @pseudocode: Count of vaccines administered (where "Type of poliovirus dose" = "bOPV" and "Type of dose" = "Primary series") = 0 @code: The poliovirus dose administered is IPV-115 @decision: IMMZ.D2.DT.Polio.bOPV plus IPV: "Bivalent oral polio vaccine (bOPV) plus inactivated polio vaccine (IPV)" schedule (applicable for all countries) */ define "The poliovirus dose administered is IPV": "Number of Polio bOPV Primary Series Doses Administered" = 0
Client's age is more than or equal to 14 weeks
/* @input: Client's age is more than or equal to 14 weeks @pseudocode: Today's date − "Date of birth" ≥ 14 weeks @code: Client's age is more than or equal to 14 weeks-41 @decision: IMMZ.D2.DT.Polio.bOPV plus IPV: "Bivalent oral polio vaccine (bOPV) plus inactivated polio vaccine (IPV)" schedule (applicable for all countries) */ define "Client's age is more than or equal to 14 weeks": Encounter."Current Patient Age In Weeks" >= 14
/* @internal: IPV Doses Administered to Patient */ define "IPV Doses Administered to Patient": "Polio Doses Administered to Patient" I where I.typeOfDose() ~ Concepts."IPV"
/* @internal: Date of Latest IPV Dose */ define "Date of Latest IPV Dose": date from start of "IPV Doses Administered to Patient".mostRecent().occurrence.toInterval()
The latest IPV dose was administered less than 4 months ago
/* @input: The latest IPV dose was administered less than 4 months ago @pseudocode: Today's date − Latest "Date and time of vaccination" (where "Vaccine type" = "Poliovirus-containing vaccines" and "Type of poliovirus dose" = "IPV") < 4 months @code: The latest IPV dose was administered less than 4 months ago-159 @decision: IMMZ.D2.DT.Polio.bOPV plus IPV: "Bivalent oral polio vaccine (bOPV) plus inactivated polio vaccine (IPV)" schedule (applicable for all countries) */ define "The latest IPV dose was administered less than 4 months ago": "Date of Latest IPV Dose" is not null and duration in months between "Date of Latest IPV Dose" and Today < 4
Client is due for bOPV vaccination Case 3
/* @output: Client is due for bOPV vaccination Case 3 @pseudocode: "Immunization recommendation status" = "Due" (where "Type of poliovirus dose" = "bOPV") */ define "Client is due for bOPV vaccination Case 3": Encounter."One poliovirus primary series dose was administered" and Encounter."The poliovirus dose administered is IPV" and Encounter."Client's age is more than or equal to 14 weeks" and Encounter."The latest IPV dose was administered less than 4 months ago"
Two poliovirus primary series doses were administered
/* @input: Two poliovirus primary series doses were administered @pseudocode: Count of vaccines administered (where "Vaccine type" = "Poliovirus-containing vaccines" and "Type of dose" = "Primary series") = 2 @code: Two poliovirus primary series doses were administered-130 @decision: IMMZ.D2.DT.Polio.bOPV plus IPV: "Bivalent oral polio vaccine (bOPV) plus inactivated polio vaccine (IPV)" schedule (applicable for all countries) @decision: IMMZ.D2.DT.Polio.Sequential IPV–bOPV: Sequential "Bivalent oral polio vaccine (bOPV)–inactivated polio vaccine (IPV)" schedule (in countries with high vaccination coverage [e.g. 90–95%] and low importation risk [where neighbouring countries and/or countries that share substantial population movement have a similarly high coverage]) @decision: IMMZ.D2.DT.Polio.IPV-only: Inactivated polio vaccine (IPV)-only (in countries, in polio-free regions, with a very low risk of importation and sustained high routine immunization coverage (third dose of the diphtheria–tetanus–pertussis vaccine [DTP3] > 90%) */ define "Two poliovirus primary series doses were administered": "Number of Polio Primary Series Doses Administered" = 2
/* @input: The two doses administered are bOPV @pseudocode: Count of vaccines administered (where "Type of poliovirus dose" = "bOPV" and "Type of dose" = "Primary series") = 2 @code: The two doses administered are bOPV-115 @decision: IMMZ.D2.DT.Polio.bOPV plus IPV: "Bivalent oral polio vaccine (bOPV) plus inactivated polio vaccine (IPV)" schedule (applicable for all countries) */ define "The two doses administered are bOPV": "Number of Polio bOPV Primary Series Doses Administered" = 2
Client is due for bOPV vaccination Case 4
/* @output: Client is due for bOPV vaccination Case 4 @pseudocode: "Immunization recommendation status" = "Due" (where "Type of poliovirus dose" = "bOPV") */ define "Client is due for bOPV vaccination Case 4": Encounter."Two poliovirus primary series doses were administered" and Encounter."The two doses administered are bOPV" and Encounter."Client's age is between 6 weeks and 14 weeks" and Encounter."The latest bOPV dose was administered more than 4 weeks ago"
From the two doses administered one is bOPV and one is IPV
/* @input: From the two doses administered one is bOPV and one is IPV @pseudocode: Count of vaccines administered (where "Type of poliovirus dose" = "bOPV" and "Type of dose" = "Primary series") = 1 @code: From the two doses administered one is bOPV and one is IPV-115 @decision: IMMZ.D2.DT.Polio.bOPV plus IPV: "Bivalent oral polio vaccine (bOPV) plus inactivated polio vaccine (IPV)" schedule (applicable for all countries) */ define "From the two doses administered one is bOPV and one is IPV": "Number of Polio bOPV Primary Series Doses Administered" = 1
Client is due for bOPV vaccination Case 5
/* @output: Client is due for bOPV vaccination Case 5 @pseudocode: "Immunization recommendation status" = "Due" (where "Type of poliovirus dose" = "bOPV") */ define "Client is due for bOPV vaccination Case 5": Encounter."Two poliovirus primary series doses were administered" and Encounter."From the two doses administered one is bOPV and one is IPV" and Encounter."The latest bOPV dose was administered more than 4 weeks ago" and Encounter."The latest IPV dose was administered less than 4 months ago"
/* @input: The two doses administered are IPV @pseudocode: Count of vaccines administered (where "Type of poliovirus dose" = "bOPV" and "Type of dose" = "Primary series") = 0 @code: The two doses administered are IPV-115 @decision: IMMZ.D2.DT.Polio.bOPV plus IPV: "Bivalent oral polio vaccine (bOPV) plus inactivated polio vaccine (IPV)" schedule (applicable for all countries) */ define "The two doses administered are IPV": "Number of Polio bOPV Primary Series Doses Administered" = 0
Client is due for bOPV vaccination Case 6
/* @output: Client is due for bOPV vaccination Case 6 @pseudocode: "Immunization recommendation status" = "Due" (where "Type of poliovirus dose" = "bOPV") */ define "Client is due for bOPV vaccination Case 6": Encounter."Two poliovirus primary series doses were administered" and Encounter."The two doses administered are IPV"
Three poliovirus primary series doses were administered
/* @input: Three poliovirus primary series doses were administered @pseudocode: Count of vaccines administered (where "Vaccine type" = "Poliovirus-containing vaccines" and "Type of dose" = "Primary series") = 3 @code: Three poliovirus primary series doses were administered-130 @decision: IMMZ.D2.DT.Polio.bOPV plus IPV: "Bivalent oral polio vaccine (bOPV) plus inactivated polio vaccine (IPV)" schedule (applicable for all countries) @decision: IMMZ.D2.DT.Polio.Sequential IPV–bOPV: Sequential "Bivalent oral polio vaccine (bOPV)–inactivated polio vaccine (IPV)" schedule (in countries with high vaccination coverage [e.g. 90–95%] and low importation risk [where neighbouring countries and/or countries that share substantial population movement have a similarly high coverage]) @decision: IMMZ.D2.DT.Polio.IPV-only: Inactivated polio vaccine (IPV)-only (in countries, in polio-free regions, with a very low risk of importation and sustained high routine immunization coverage (third dose of the diphtheria–tetanus–pertussis vaccine [DTP3] > 90%) */ define "Three poliovirus primary series doses were administered": "Number of Polio Primary Series Doses Administered" = 3
From the three doses administered, one is IPV and two are bOPV
/* @input: From the three doses administered, one is IPV and two are bOPV @pseudocode: Count of vaccines administered (where "Type of poliovirus dose" = "bOPV" and "Type of dose" = "Primary series") = 2 @code: From the three doses administered, one is IPV and two are bOPV-115 @decision: IMMZ.D2.DT.Polio.bOPV plus IPV: "Bivalent oral polio vaccine (bOPV) plus inactivated polio vaccine (IPV)" schedule (applicable for all countries) */ define "From the three doses administered, one is IPV and two are bOPV": "Number of Polio bOPV Primary Series Doses Administered" = 2
Client is due for bOPV vaccination Case 7
/* @output: Client is due for bOPV vaccination Case 7 @pseudocode: "Immunization recommendation status" = "Due" (where "Type of poliovirus dose" = "bOPV") */ define "Client is due for bOPV vaccination Case 7": Encounter."Three poliovirus primary series doses were administered" and Encounter."From the three doses administered, one is IPV and two are bOPV" and Encounter."The latest bOPV dose was administered more than 4 weeks ago" and Encounter."The latest IPV dose was administered less than 4 months ago"
From the three doses administered, one is bOPV and two are IPV
/* @input: From the three doses administered, one is bOPV and two are IPV @pseudocode: Count of vaccines administered (where "Type of poliovirus dose" = "bOPV" and "Type of dose" = "Primary series") = 1 @code: From the three doses administered, one is bOPV and two are IPV-115 @decision: IMMZ.D2.DT.Polio.bOPV plus IPV: "Bivalent oral polio vaccine (bOPV) plus inactivated polio vaccine (IPV)" schedule (applicable for all countries) */ define "From the three doses administered, one is bOPV and two are IPV": "Number of Polio bOPV Primary Series Doses Administered" = 1
Client is due for bOPV vaccination Case 8
/* @output: Client is due for bOPV vaccination Case 8 @pseudocode: "Immunization recommendation status" = "Due" (where "Type of poliovirus dose" = "bOPV") */ define "Client is due for bOPV vaccination Case 8": Encounter."Three poliovirus primary series doses were administered" and Encounter."From the three doses administered, one is bOPV and two are IPV" and Encounter."The latest bOPV dose was administered more than 4 weeks ago"
Four poliovirus primary series doses were administered
/* @input: Four poliovirus primary series doses were administered @pseudocode: Count of vaccines administered (where "Vaccine type" = "Poliovirus-containing vaccines" and "Type of dose" = "Primary series") = 4 @code: Four poliovirus primary series doses were administered-130 @decision: IMMZ.D2.DT.Polio.bOPV plus IPV: "Bivalent oral polio vaccine (bOPV) plus inactivated polio vaccine (IPV)" schedule (applicable for all countries) @decision: IMMZ.D2.DT.Polio.Sequential IPV–bOPV: Sequential "Bivalent oral polio vaccine (bOPV)–inactivated polio vaccine (IPV)" schedule (in countries with high vaccination coverage [e.g. 90–95%] and low importation risk [where neighbouring countries and/or countries that share substantial population movement have a similarly high coverage]) */ define "Four poliovirus primary series doses were administered": "Number of Polio Primary Series Doses Administered" = 4
From the four doses administered, two are IPV and two are bOPV
/* @input: From the four doses administered, two are IPV and two are bOPV @pseudocode: Count of vaccines administered (where "Type of poliovirus dose" = "bOPV" and "Type of dose" = "Primary series") = 2 @code: From the four doses administered, two are IPV and two are bOPV-115 @decision: IMMZ.D2.DT.Polio.bOPV plus IPV: "Bivalent oral polio vaccine (bOPV) plus inactivated polio vaccine (IPV)" schedule (applicable for all countries) */ define "From the four doses administered, two are IPV and two are bOPV": "Number of Polio bOPV Primary Series Doses Administered" = 2
Client is due for bOPV vaccination Case 9
/* @output: Client is due for bOPV vaccination Case 9 @pseudocode: "Immunization recommendation status" = "Due" (where "Type of poliovirus dose" = "bOPV") */ define "Client is due for bOPV vaccination Case 9": Encounter."Four poliovirus primary series doses were administered" and Encounter."From the four doses administered, two are IPV and two are bOPV" and Encounter."The latest bOPV dose was administered more than 4 weeks ago"
/* @output: Client is due for bOPV vaccination @pseudocode: "Immunization recommendation status" = "Due" (where "Type of poliovirus dose" = "bOPV") */ define "Client is due for bOPV vaccination": "Client is due for bOPV vaccination Case 1" or "Client is due for bOPV vaccination Case 2" or "Client is due for bOPV vaccination Case 3" or "Client is due for bOPV vaccination Case 4" or "Client is due for bOPV vaccination Case 5" or "Client is due for bOPV vaccination Case 6" or "Client is due for bOPV vaccination Case 7" or "Client is due for bOPV vaccination Case 8" or "Client is due for bOPV vaccination Case 9"
Client is due for bOPV vaccination Guidance
/* @output: Client is due for bOPV vaccination Guidance @guidance = Should vaccinate client with first bOPV dose as no poliovirus doses were administered and client's age is between 6 weeks and 3 months. Check for contraindications. @guidance = Should vaccinate client with second bOPV dose as the latest bOPV dose was administered more than 4 weeks ago. Check for contraindications @guidance = Should vaccinate client with first bOPV dose as client's age is more than 14 weeks, bOPV dose was not administered and the first IPV dose was administered less than 4 months ago. Check for contraindications. @guidance = Should vaccinate client with third bOPV dose as client's age is between 6 and 14 weeks and the latest bOPV dose was administered more than 4 weeks ago. Check for contraindications. @guidance = Should vaccinate client with second bOPV dose as one bOPV dose and one IPV dose were administered, the latest bOPV dose was administered more than 4 weeks ago and the latest IPV dose was administered less than 4 months ago. Check for contraindications. @guidance = Should vaccinate client with first bOPV dose as bOPV dose was not administered and two IPV doses were administered. Check for contraindications. @guidance = Should vaccinate client with third bOPV dose as two bOPV doses and one IPV dose were administered, the latest bOPV dose was administered more than 4 weeks ago and the latest IPV dose was administered less than 4 months ago. Check for contraindications. @guidance = Should vaccinate client with second bOPV dose as one bOPV dose and two IPV doses were administered and the latest bOPV dose was administered more than 4 weeks ago. Check for contraindications. @guidance = Should vaccinate client with third bOPV dose as two bOPV doses and two IPV doses were administered and the latest bOPV dose was administered more than 4 weeks ago. Check for contraindications. */ define "Client is due for bOPV vaccination Guidance": case when "Client is due for bOPV vaccination Case 1" then 'Should vaccinate client with first bOPV dose as no poliovirus doses were administered and client\'s age is between 6 weeks and 3 months. Check for contraindications.' when "Client is due for bOPV vaccination Case 2" then 'Should vaccinate client with second bOPV dose as the latest bOPV dose was administered more than 4 weeks ago. Check for contraindications' when "Client is due for bOPV vaccination Case 3" then 'Should vaccinate client with first bOPV dose as client\'s age is more than 14 weeks, bOPV dose was not administered and the first IPV dose was administered less than 4 months ago. Check for contraindications.' when "Client is due for bOPV vaccination Case 4" then 'Should vaccinate client with third bOPV dose as client\'s age is between 6 and 14 weeks and the latest bOPV dose was administered more than 4 weeks ago. Check for contraindications.' when "Client is due for bOPV vaccination Case 5" then 'Should vaccinate client with second bOPV dose as one bOPV dose and one IPV dose were administered, the latest bOPV dose was administered more than 4 weeks ago and the latest IPV dose was administered less than 4 months ago. Check for contraindications.' when "Client is due for bOPV vaccination Case 6" then 'Should vaccinate client with first bOPV dose as bOPV dose was not administered and two IPV doses were administered. Check for contraindications.' when "Client is due for bOPV vaccination Case 7" then 'Should vaccinate client with third bOPV dose as two bOPV doses and one IPV dose were administered, the latest bOPV dose was administered more than 4 weeks ago and the latest IPV dose was administered less than 4 months ago. Check for contraindications.' when "Client is due for bOPV vaccination Case 8" then 'Should vaccinate client with second bOPV dose as one bOPV dose and two IPV doses were administered and the latest bOPV dose was administered more than 4 weeks ago. Check for contraindications.' when "Client is due for bOPV vaccination Case 9" then 'Should vaccinate client with third bOPV dose as two bOPV doses and two IPV doses were administered and the latest bOPV dose was administered more than 4 weeks ago. Check for contraindications.' else '' end
/* @input: Client's age is more than 3 months @pseudocode: Today's date − "Date of birth" > 3 months @code: Client's age is more than 3 months-41 @decision: IMMZ.D2.DT.Polio.bOPV plus IPV: "Bivalent oral polio vaccine (bOPV) plus inactivated polio vaccine (IPV)" schedule (applicable for all countries) */ define "Client's age is more than 3 months": Encounter."Current Patient Age In Months" > 3
Client is due for bOPV and IPV vaccination Case 1
/* @output: Client is due for bOPV and IPV vaccination Case 1 @pseudocode: "Immunization recommendation status" = "Due" (where "Type of poliovirus dose" = "bOPV") AND (where "Type of poliovirus dose" = "IPV") */ define "Client is due for bOPV and IPV vaccination Case 1": Encounter."No poliovirus primary series doses were administered" and Encounter."Client's age is more than 3 months"
The poliovirus dose administered is bOPV
/* @input: The poliovirus dose administered is bOPV @pseudocode: Count of vaccines administered (where "Type of poliovirus dose" = "bOPV" and "Type of dose" = "Primary series") = 1 @code: The poliovirus dose administered is bOPV-115 @decision: IMMZ.D2.DT.Polio.bOPV plus IPV: "Bivalent oral polio vaccine (bOPV) plus inactivated polio vaccine (IPV)" schedule (applicable for all countries) */ define "The poliovirus dose administered is bOPV": "Number of Polio bOPV Primary Series Doses Administered" = 1
Client is due for bOPV and IPV vaccination Case 2
/* @output: Client is due for bOPV and IPV vaccination Case 2 @pseudocode: "Immunization recommendation status" = "Due" (where "Type of poliovirus dose" = "bOPV") AND (where "Type of poliovirus dose" = "IPV") */ define "Client is due for bOPV and IPV vaccination Case 2": Encounter."One poliovirus primary series dose was administered" and Encounter."The poliovirus dose administered is bOPV" and Encounter."Client's age is more than or equal to 14 weeks" and Encounter."The latest bOPV dose was administered more than 4 weeks ago"
The latest IPV dose was administered more than 4 months ago
/* @input: The latest IPV dose was administered more than 4 months ago @pseudocode: Today's date − Latest "Date and time of vaccination" (where "Vaccine type" = "Poliovirus-containing vaccines" and "Type of poliovirus dose" = "IPV") ≥ 4 months @code: The latest IPV dose was administered more than 4 months ago-159 @decision: IMMZ.D2.DT.Polio.bOPV plus IPV: "Bivalent oral polio vaccine (bOPV) plus inactivated polio vaccine (IPV)" schedule (applicable for all countries) */ define "The latest IPV dose was administered more than 4 months ago": not("The latest IPV dose was administered less than 4 months ago")
Client is due for bOPV and IPV vaccination Case 3
/* @output: Client is due for bOPV and IPV vaccination Case 3 @pseudocode: "Immunization recommendation status" = "Due" (where "Type of poliovirus dose" = "bOPV") AND (where "Type of poliovirus dose" = "IPV") */ define "Client is due for bOPV and IPV vaccination Case 3": Encounter."One poliovirus primary series dose was administered" and Encounter."The poliovirus dose administered is IPV" and Encounter."Client's age is more than or equal to 14 weeks" and Encounter."The latest IPV dose was administered more than 4 months ago"
Client is due for bOPV and IPV vaccination Case 4
/* @output: Client is due for bOPV and IPV vaccination Case 4 @pseudocode: "Immunization recommendation status" = "Due" (where "Type of poliovirus dose" = "bOPV") AND (where "Type of poliovirus dose" = "IPV") */ define "Client is due for bOPV and IPV vaccination Case 4": Encounter."Two poliovirus primary series doses were administered" and Encounter."The two doses administered are bOPV" and Encounter."Client's age is more than or equal to 14 weeks" and Encounter."The latest bOPV dose was administered more than 4 weeks ago"
Client is due for bOPV and IPV vaccination Case 5
/* @output: Client is due for bOPV and IPV vaccination Case 5 @pseudocode: "Immunization recommendation status" = "Due" (where "Type of poliovirus dose" = "bOPV") AND (where "Type of poliovirus dose" = "IPV") */ define "Client is due for bOPV and IPV vaccination Case 5": Encounter."Two poliovirus primary series doses were administered" and Encounter."From the two doses administered one is bOPV and one is IPV" and Encounter."The latest bOPV dose was administered more than 4 weeks ago" and Encounter."The latest IPV dose was administered more than 4 months ago"
Client is due for bOPV and IPV vaccination Case 6
/* @output: Client is due for bOPV and IPV vaccination Case 6 @pseudocode: "Immunization recommendation status" = "Due" (where "Type of poliovirus dose" = "bOPV") AND (where "Type of poliovirus dose" = "IPV") */ define "Client is due for bOPV and IPV vaccination Case 6": Encounter."Three poliovirus primary series doses were administered" and Encounter."From the three doses administered, one is IPV and two are bOPV" and Encounter."The latest bOPV dose was administered more than 4 weeks ago" and Encounter."The latest IPV dose was administered more than 4 months ago"
Client is due for bOPV and IPV vaccination
/* @output: Client is due for bOPV and IPV vaccination @pseudocode: "Immunization recommendation status" = "Due" (where "Type of poliovirus dose" = "bOPV") AND (where "Type of poliovirus dose" = "IPV") */ define "Client is due for bOPV and IPV vaccination": "Client is due for bOPV and IPV vaccination Case 1" or "Client is due for bOPV and IPV vaccination Case 2" or "Client is due for bOPV and IPV vaccination Case 3" or "Client is due for bOPV and IPV vaccination Case 4" or "Client is due for bOPV and IPV vaccination Case 5" or "Client is due for bOPV and IPV vaccination Case 6"
Client is due for bOPV and IPV vaccination Guidance
/* @output: Client is due for bOPV and IPV vaccination Guidance @guidance = Should vaccinate client with first bOPV dose and first IPV dose as client's age is more than 3 months and no poliovirus doses were administered. Check for contraindications. @guidance = Should vaccinate client with first IPV dose and second bOPV dose as client's age is more than 14 weeks and the latest bOPV dose was administered more than 4 weeks ago. Check for contraindications. @guidance = Should vaccinate client with first bOPV dose and second IPV dose as client's age is more than 14 weeks, bOPV dose was not administered and the first IPV dose was administered more than 4 months ago. Check for contraindications. @guidance = Should vaccinate client with first IPV dose and third bOPV dose as client's age is more than 14 weeks, two bOPV doses and no IPV dose were administered and the latest bOPV dose was administered more than 4 weeks ago. Check for contraindications. @guidance = Should vaccinate client with second bOPV dose and second IPV dose as one bOPV dose and one IPV dose were administered, the latest bOPV dose was administered more than 4 weeks ago and the latest IPV dose was administered more than 4 months ago. Check for contraindications. @guidance = Should vaccinate client with third bOPV dose and second IPV dose as two bOPV doses and one IPV dose were administered, the latest bOPV dose was administered more than 4 weeks ago and the latest IPV dose was administered more than 4 months ago. Check for contraindications. */ define "Client is due for bOPV and IPV vaccination Guidance": case when "Client is due for bOPV and IPV vaccination Case 1" then 'Should vaccinate client with first bOPV dose and first IPV dose as client\'s age is more than 3 months and no poliovirus doses were administered. Check for contraindications.' when "Client is due for bOPV and IPV vaccination Case 2" then 'Should vaccinate client with first IPV dose and second bOPV dose as client\'s age is more than 14 weeks and the latest bOPV dose was administered more than 4 weeks ago. Check for contraindications.' when "Client is due for bOPV and IPV vaccination Case 3" then 'Should vaccinate client with first bOPV dose and second IPV dose as client\'s age is more than 14 weeks, bOPV dose was not administered and the first IPV dose was administered more than 4 months ago. Check for contraindications.' when "Client is due for bOPV and IPV vaccination Case 4" then 'Should vaccinate client with first IPV dose and third bOPV dose as client\'s age is more than 14 weeks, two bOPV doses and no IPV dose were administered and the latest bOPV dose was administered more than 4 weeks ago. Check for contraindications.' when "Client is due for bOPV and IPV vaccination Case 5" then 'Should vaccinate client with second bOPV dose and second IPV dose as one bOPV dose and one IPV dose were administered, the latest bOPV dose was administered more than 4 weeks ago and the latest IPV dose was administered more than 4 months ago. Check for contraindications.' when "Client is due for bOPV and IPV vaccination Case 6" then 'Should vaccinate client with third bOPV dose and second IPV dose as two bOPV doses and one IPV dose were administered, the latest bOPV dose was administered more than 4 weeks ago and the latest IPV dose was administered more than 4 months ago. Check for contraindications.' else '' end
Client is not due for polio vaccination Case 1
/* @output: Client is not due for polio vaccination Case 1 @pseudocode: "Immunization recommendation status" = "Not due" */ define "Client is not due for polio vaccination Case 1": Encounter."One poliovirus primary series dose was administered" and Encounter."Client's age is between 6 weeks and 14 weeks" and Encounter."The latest bOPV dose was administered less than 4 weeks ago"
Client is not due for polio vaccination Case 2
/* @output: Client is not due for polio vaccination Case 2 @pseudocode: "Immunization recommendation status" = "Not due" */ define "Client is not due for polio vaccination Case 2": Encounter."Two poliovirus primary series doses were administered" and Encounter."The two doses administered are bOPV" and Encounter."Client's age is between 6 weeks and 14 weeks" and Encounter."The latest bOPV dose was administered less than 4 weeks ago"
Client is not due for polio vaccination Case 3
/* @output: Client is not due for polio vaccination Case 3 @pseudocode: "Immunization recommendation status" = "Not due" */ define "Client is not due for polio vaccination Case 3": Encounter."Two poliovirus primary series doses were administered" and Encounter."From the two doses administered one is bOPV and one is IPV" and Encounter."The latest bOPV dose was administered less than 4 weeks ago" and Encounter."The latest IPV dose was administered less than 4 months ago"
/* @input: The three doses administered are bOPV @pseudocode: Count of vaccines administered (where "Type of poliovirus dose" = "bOPV" and "Type of dose" = "Primary series") = 3 @code: The three doses administered are bOPV-115 @decision: IMMZ.D2.DT.Polio.bOPV plus IPV: "Bivalent oral polio vaccine (bOPV) plus inactivated polio vaccine (IPV)" schedule (applicable for all countries) */ define "The three doses administered are bOPV": "Number of Polio bOPV Primary Series Doses Administered" = 3
/* @input: Client's age is less than 14 weeks @pseudocode: Today's date − "Date of birth" < 14 weeks @code: Client's age is less than 14 weeks-41 @decision: IMMZ.D2.DT.Polio.bOPV plus IPV: "Bivalent oral polio vaccine (bOPV) plus inactivated polio vaccine (IPV)" schedule (applicable for all countries) */ define "Client's age is less than 14 weeks": Encounter."Current Patient Age In Weeks" < 14
Client is not due for polio vaccination Case 4
/* @output: Client is not due for polio vaccination Case 4 @pseudocode: "Immunization recommendation status" = "Not due" */ define "Client is not due for polio vaccination Case 4": Encounter."Three poliovirus primary series doses were administered" and Encounter."The three doses administered are bOPV" and Encounter."Client's age is less than 14 weeks"
Client is not due for polio vaccination Case 5
/* @output: Client is not due for polio vaccination Case 5 @pseudocode: "Immunization recommendation status" = "Not due" */ define "Client is not due for polio vaccination Case 5": Encounter."Three poliovirus primary series doses were administered" and Encounter."From the three doses administered, one is IPV and two are bOPV" and Encounter."The latest bOPV dose was administered less than 4 weeks ago" and Encounter."The latest IPV dose was administered less than 4 months ago"
Client is not due for polio vaccination Case 6
/* @output: Client is not due for polio vaccination Case 6 @pseudocode: "Immunization recommendation status" = "Not due" */ define "Client is not due for polio vaccination Case 6": Encounter."Three poliovirus primary series doses were administered" and Encounter."From the three doses administered, one is bOPV and two are IPV" and Encounter."The latest bOPV dose was administered less than 4 weeks ago"
From the four doses administered, one is IPV and three are bOPV
/* @input: From the four doses administered, one is IPV and three are bOPV @pseudocode: Count of vaccines administered (where "Type of poliovirus dose" = "bOPV" and "Type of dose" = "Primary series") = 3 @code: From the four doses administered, one is IPV and three are bOPV-115 @decision: IMMZ.D2.DT.Polio.bOPV plus IPV: "Bivalent oral polio vaccine (bOPV) plus inactivated polio vaccine (IPV)" schedule (applicable for all countries) */ define "From the four doses administered, one is IPV and three are bOPV": "Number of Polio bOPV Primary Series Doses Administered" = 3
Client is not due for polio vaccination Case 7
/* @output: Client is not due for polio vaccination Case 7 @pseudocode: "Immunization recommendation status" = "Not due" */ define "Client is not due for polio vaccination Case 7": Encounter."Four poliovirus primary series doses were administered" and Encounter."From the four doses administered, one is IPV and three are bOPV" and Encounter."The latest IPV dose was administered less than 4 months ago"
Client is not due for polio vaccination Case 8
/* @output: Client is not due for polio vaccination Case 8 @pseudocode: "Immunization recommendation status" = "Not due" */ define "Client is not due for polio vaccination Case 8": Encounter."Four poliovirus primary series doses were administered" and Encounter."From the four doses administered, two are IPV and two are bOPV" and Encounter."The latest bOPV dose was administered less than 4 weeks ago"
/* @output: Client is not due for polio vaccination @pseudocode: "Immunization recommendation status" = "Not due" */ define "Client is not due for polio vaccination": "Client is not due for polio vaccination Case 1" or "Client is not due for polio vaccination Case 2" or "Client is not due for polio vaccination Case 3" or "Client is not due for polio vaccination Case 4" or "Client is not due for polio vaccination Case 5" or "Client is not due for polio vaccination Case 6" or "Client is not due for polio vaccination Case 7" or "Client is not due for polio vaccination Case 8"
Client is not due for polio vaccination Guidance
/* @output: Client is not due for polio vaccination Guidance @guidance = Should not vaccinate client with poliovirus dose as the latest bOPV dose was administered less than 4 weeks ago. Check for any other vaccines due and inform the caregiver of when to come back for the next poliovirus dose. @guidance = Should not vaccinate client with poliovirus dose as client's age is between 6 and 14 weeks, two bOPV doses were administered and the latest bOPV dose was administered less than 4 weeks ago. Check for any other vaccines due and inform the caregiver of when to come back for the next poliovirus dose. @guidance = Should not vaccinate client with poliovirus dose as the latest bOPV dose was administered less than 4 weeks ago and the latest IPV dose was administered less than 4 months ago. Check for any other vaccines due and inform the caregiver of when to come back for the next poliovirus dose. @guidance = Should not vaccinate client with poliovirus dose as client's age is less than 14 weeks and three bOPV doses were administered. Check for any other vaccines due and inform the caregiver of when to come back for the next poliovirus dose. @guidance = Should not vaccinate client with poliovirus dose as two bOPV doses and one IPV dose were administered, the latest bOPV dose was administered less than 4 weeks ago and the latest IPV dose was administered less than 4 months ago. Check for any other vaccines due and inform the caregiver of when to come back for the next poliovirus dose. @guidance = Should not vaccinate client with poliovirus dose as one bOPV dose and two IPV doses were administered and the latest bOPV dose was administered less than 4 weeks ago. Check for any other vaccines due and inform the caregiver of when to come back for the next poliovirus dose. @guidance = Should not vaccinate client with poliovirus dose as three bOPV doses and one IPV dose were administered and the latest IPV dose was administered less than 4 months ago. Check for any other vaccines due and inform the caregiver of when to come back for the next poliovirus dose. @guidance = Should not vaccinate client with poliovirus dose as two bOPV doses and two IPV doses were administered and the latest bOPV dose was administered less than 4 weeks ago. Check for any other vaccines due and inform the caregiver of when to come back for the next poliovirus dose. */ define "Client is not due for polio vaccination Guidance": case when "Client is not due for polio vaccination Case 1" then 'Should not vaccinate client with poliovirus dose as the latest bOPV dose was administered less than 4 weeks ago. Check for any other vaccines due and inform the caregiver of when to come back for the next poliovirus dose.' when "Client is not due for polio vaccination Case 2" then 'Should not vaccinate client with poliovirus dose as client\'s age is between 6 and 14 weeks, two bOPV doses were administered and the latest bOPV dose was administered less than 4 weeks ago. Check for any other vaccines due and inform the caregiver of when to come back for the next poliovirus dose.' when "Client is not due for polio vaccination Case 3" then 'Should not vaccinate client with poliovirus dose as the latest bOPV dose was administered less than 4 weeks ago and the latest IPV dose was administered less than 4 months ago. Check for any other vaccines due and inform the caregiver of when to come back for the next poliovirus dose.' when "Client is not due for polio vaccination Case 4" then 'Should not vaccinate client with poliovirus dose as client\'s age is less than 14 weeks and three bOPV doses were administered. Check for any other vaccines due and inform the caregiver of when to come back for the next poliovirus dose.' when "Client is not due for polio vaccination Case 5" then 'Should not vaccinate client with poliovirus dose as two bOPV doses and one IPV dose were administered, the latest bOPV dose was administered less than 4 weeks ago and the latest IPV dose was administered less than 4 months ago. Check for any other vaccines due and inform the caregiver of when to come back for the next poliovirus dose.' when "Client is not due for polio vaccination Case 6" then 'Should not vaccinate client with poliovirus dose as one bOPV dose and two IPV doses were administered and the latest bOPV dose was administered less than 4 weeks ago. Check for any other vaccines due and inform the caregiver of when to come back for the next poliovirus dose.' when "Client is not due for polio vaccination Case 7" then 'Should not vaccinate client with poliovirus dose as three bOPV doses and one IPV dose were administered and the latest IPV dose was administered less than 4 months ago. Check for any other vaccines due and inform the caregiver of when to come back for the next poliovirus dose.' when "Client is not due for polio vaccination Case 8" then 'Should not vaccinate client with poliovirus dose as two bOPV doses and two IPV doses were administered and the latest bOPV dose was administered less than 4 weeks ago. Check for any other vaccines due and inform the caregiver of when to come back for the next poliovirus dose.' else '' end
Client is due for IPV vaccination Case 1
/* @output: Client is due for IPV vaccination Case 1 @pseudocode: "Immunization recommendation status" = "Due" (where "Type of poliovirus dose" = "IPV") */ define "Client is due for IPV vaccination Case 1": Encounter."One poliovirus primary series dose was administered" and Encounter."The poliovirus dose administered is bOPV" and Encounter."Client's age is more than or equal to 14 weeks" and Encounter."The latest bOPV dose was administered less than 4 weeks ago"
Client is due for IPV vaccination Case 2
/* @output: Client is due for IPV vaccination Case 2 @pseudocode: "Immunization recommendation status" = "Due" (where "Type of poliovirus dose" = "IPV") */ define "Client is due for IPV vaccination Case 2": Encounter."Two poliovirus primary series doses were administered" and Encounter."The two doses administered are bOPV" and Encounter."Client's age is more than or equal to 14 weeks" and Encounter."The latest bOPV dose was administered less than 4 weeks ago"
Client is due for IPV vaccination Case 3
/* @output: Client is due for IPV vaccination Case 3 @pseudocode: "Immunization recommendation status" = "Due" (where "Type of poliovirus dose" = "IPV") */ define "Client is due for IPV vaccination Case 3": Encounter."Two poliovirus primary series doses were administered" and Encounter."From the two doses administered one is bOPV and one is IPV" and Encounter."The latest bOPV dose was administered less than 4 weeks ago" and Encounter."The latest IPV dose was administered more than 4 months ago"
Client is due for IPV vaccination Case 4
/* @output: Client is due for IPV vaccination Case 4 @pseudocode: "Immunization recommendation status" = "Due" (where "Type of poliovirus dose" = "IPV") */ define "Client is due for IPV vaccination Case 4": Encounter."Three poliovirus primary series doses were administered" and Encounter."The three doses administered are bOPV" and Encounter."Client's age is more than or equal to 14 weeks"
Client is due for IPV vaccination Case 5
/* @output: Client is due for IPV vaccination Case 5 @pseudocode: "Immunization recommendation status" = "Due" (where "Type of poliovirus dose" = "IPV") */ define "Client is due for IPV vaccination Case 5": Encounter."Three poliovirus primary series doses were administered" and Encounter."From the three doses administered, one is IPV and two are bOPV" and Encounter."The latest bOPV dose was administered less than 4 weeks ago" and Encounter."The latest IPV dose was administered more than 4 months ago"
Client is due for IPV vaccination Case 6
/* @output: Client is due for IPV vaccination Case 6 @pseudocode: "Immunization recommendation status" = "Due" (where "Type of poliovirus dose" = "IPV") */ define "Client is due for IPV vaccination Case 6": Encounter."Four poliovirus primary series doses were administered" and Encounter."From the four doses administered, one is IPV and three are bOPV" and Encounter."The latest IPV dose was administered more than 4 months ago"
/* @output: Client is due for IPV vaccination @pseudocode: "Immunization recommendation status" = "Due" (where "Type of poliovirus dose" = "IPV") */ define "Client is due for IPV vaccination": "Client is due for IPV vaccination Case 1" or "Client is due for IPV vaccination Case 2" or "Client is due for IPV vaccination Case 3" or "Client is due for IPV vaccination Case 4" or "Client is due for IPV vaccination Case 5" or "Client is due for IPV vaccination Case 6"
Client is due for IPV vaccination Guidance
/* @output: Client is due for IPV vaccination Guidance @guidance = Should vaccinate client with first IPV dose as client's age is more than 14 weeks and the latest bOPV was administered less than 4 weeks ago. Check for contraindications. @guidance = Should vaccinate client with first IPV dose as client's age is more than 14 weeks, IPV dose was not administered and the latest bOPV dose was administered less than 4 weeks ago. Check for contraindications. @guidance = Should vaccinate client with second IPV dose as one bOPV dose and one IPV dose were administered, the latest bOPV dose was administered less than 4 weeks ago and the latest IPV dose was administered more than 4 months ago. Check for contraindications. @guidance = Should vaccinate client with first IPV dose as client's age is more than 14 weeks, three bOPV doses were administered and IPV dose was not administered. Check for contraindications. @guidance = Should vaccinate client with second IPV dose as two bOPV doses and one IPV dose were administered, the latest bOPV dose was administered less than 4 weeks ago and the latest IPV dose was administered more than 4 months ago. Check for contraindications. @guidance = Should vaccinate client with second IPV dose as three bOPV doses and one IPV dose were administered and the latest IPV dose was administered more than 4 months ago. Check for contraindications. */ define "Client is due for IPV vaccination Guidance": case when "Client is due for IPV vaccination Case 1" then 'Should vaccinate client with first IPV dose as client\'s age is more than 14 weeks and the latest bOPV was administered less than 4 weeks ago. Check for contraindications.' when "Client is due for IPV vaccination Case 2" then 'Should vaccinate client with first IPV dose as client\'s age is more than 14 weeks, IPV dose was not administered and the latest bOPV dose was administered less than 4 weeks ago. Check for contraindications.' when "Client is due for IPV vaccination Case 3" then 'Should vaccinate client with second IPV dose as one bOPV dose and one IPV dose were administered, the latest bOPV dose was administered less than 4 weeks ago and the latest IPV dose was administered more than 4 months ago. Check for contraindications.' when "Client is due for IPV vaccination Case 4" then 'Should vaccinate client with first IPV dose as client\'s age is more than 14 weeks, three bOPV doses were administered and IPV dose was not administered. Check for contraindications.' when "Client is due for IPV vaccination Case 5" then 'Should vaccinate client with second IPV dose as two bOPV doses and one IPV dose were administered, the latest bOPV dose was administered less than 4 weeks ago and the latest IPV dose was administered more than 4 months ago. Check for contraindications.' when "Client is due for IPV vaccination Case 6" then 'Should vaccinate client with second IPV dose as three bOPV doses and one IPV dose were administered and the latest IPV dose was administered more than 4 months ago. Check for contraindications.' else '' end
Five poliovirus primary series doses were administered
/* @input: Five poliovirus primary series doses were administered @pseudocode: Count of vaccines administered (where "Vaccine type" = "Poliovirus-containing vaccines" and "Type of dose" = "Primary series") = 5 @code: Five poliovirus primary series doses were administered-130 @decision: IMMZ.D2.DT.Polio.bOPV plus IPV: "Bivalent oral polio vaccine (bOPV) plus inactivated polio vaccine (IPV)" schedule (applicable for all countries) */ define "Five poliovirus primary series doses were administered": "Number of Polio Primary Series Doses Administered" = 5
/* @output: Polio immunization schedule is complete @pseudocode: "Immunization recommendation status" = "Complete" "Completed the primary vaccination series" = TRUE (where "Vaccine type" = "Poliovirus-containing vaccines") */ define "Polio immunization schedule is complete": Encounter."Five poliovirus primary series doses were administered"
Polio immunization schedule is complete Guidance
/* @output: Polio immunization schedule is complete Guidance @guidance: Polio routine immunization schedule is complete. Five poliovirus primary series doses were administered. Check for any vaccines due. */ define "Polio immunization schedule is complete Guidance": 'Polio routine immunization schedule is complete. Five poliovirus primary series doses were administered. Check for any vaccines due.'
/* @dynamicValue: Guidance */ define "Guidance": case when "Client is not due for bOPV vaccination" then "Client is not due for bOPV vaccination Guidance" when "Client is due for bOPV vaccination" then "Client is due for bOPV vaccination Guidance" when "Client is due for bOPV and IPV vaccination" then "Client is due for bOPV and IPV vaccination Guidance" when "Client is not due for polio vaccination" then "Client is not due for polio vaccination Guidance" when "Client is due for IPV vaccination" then "Client is due for IPV vaccination Guidance" when "Polio immunization schedule is complete" then "Polio immunization schedule is complete Guidance" else '' end
define "Has Guidance": "Guidance" is not null and "Guidance" != ''
/** * @description: Gets immunizations on or before a date */ define fluent function onOrBefore(immunizations List<Immunization>, beforeDate Date): immunizations I where I.occurrence.toInterval() same day or before beforeDate
/** * @description: Gets the doses from the primary series */ define fluent function seriesPrimary(immunizations List<Immunization>): immunizations I where exists( I.protocolApplied pa where pa.series = 'Primary series' )
define function ToString(value string): value.value
define function ToString(value ImmunizationStatus): value.value
define function ToBoolean(value boolean): value.value
define function ToConcept(concept FHIR.CodeableConcept): if concept is null then null else System.Concept { codes: concept.coding C return ToCode(C), display: concept.text.value }
define function ToCode(coding FHIR.Coding): if coding is null then null else System.Code { code: coding.code.value, system: coding.system.value, version: coding.version.value, display: coding.display.value }
define fluent function mostRecent(immunizations List<Immunization>): Last( immunizations I sort by start of occurrence.toInterval() )
/** * @description: Gets the type of antigen dose extension value from an Immunization */ define fluent function typeOfDose(immz Immunization): (First( immz.extension E where E.url = 'http://smart.who.int/immunizations/StructureDefinition/IMMZTypeOfDose' )).value as FHIR.CodeableConcept
define function ToString(value uri): value.value
Value set Poliovirus-containing vaccines
IMMZ.D2.DT.Polio.bOPV plus IPV "Bivalent oral polio vaccine (bOPV) plus inactivated polio vaccine (IPV)" schedule (applicable for all countries)
WHO recommendations for routine immunization - summary tables (January 2025)
For all countries using OPV in their national immunization programme, WHO recommends 3 doses of bOPV and 2 doses of IPV. The preferred schedule is to administer the 3 doses of bOPV starting from the minimum age of 6 weeks, with at least a 4 week-interval between doses. The first IPV dose should be administered from a minimum of 14 weeks of age (with the third dose of the diphtheria–tetanus–pertussis vaccine [DTP3] or pentavalent vaccine [penta3]), with the second IPV dose being given at least 4 months later (possibly coinciding with other vaccines administered at 9 months of age). Note: Based on local epidemiology, programmatic implications and feasibility of delivery, countries may choose an alternative “early IPV schedule” starting with the first IPV dose at 6 weeks of age (with DTP1/penta1) and the second IPV dose at 14 weeks (with DTP3/penta3).
Determine if the client is due for a poliovirus vaccination according to the national immunization schedule
Determine if the client is due for a poliovirus vaccination according to the national immunization schedule "Bivalent oral polio vaccine (bOPV) plus inactivated polio vaccine (IPV)" schedule (applicable for all countries)
Concept { codes: { Code { system: 'http://smart.who.int/immunizations/CodeSystem/IMMZ.Z', code: 'DE30', display: 'Oral polio vaccines' } }, display: 'Oral polio vaccines' }
Concept { codes: { Code { system: 'http://smart.who.int/immunizations/CodeSystem/IMMZ.Z', code: 'DE31', display: 'Inactivated polio vaccines' } }, display: 'Inactivated polio vaccines' }
Check for Guidance for the patient regarding IMMZ.D2.DT.Polio.bOPV plus IPV.
Show Guidance for the patient regarding IMMZ.D2.DT.Polio.bOPV plus IPV.
Code { system: 'http://terminology.hl7.org/CodeSystem/communication-category', code: 'alert' }
Code { system: 'http://hl7.org/fhir/request-priority', code: 'routine' }