IMMZD2DTPolioSequentialIPVbOPV
type: PlanDefinition
node role: treeRoot
id:
  v: IMMZD2DTPolioSequentialIPVbOPV
meta:
  profile:
    v: http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-recommendationdefinition
    l: cpg-recommendationdefinition
  profile:
    v: http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-shareableplandefinition
    l: crmi-shareableplandefinition
  profile:
    v: http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-publishableplandefinition
    l: crmi-publishableplandefinition
text:
  status:
    v: extensions
  div:
    v: Id: IMMZD2DTPolioSequentialIPVbOPV Url: IMMZ.D2.DT.Polio.Sequential IPV–bOPV Version: 0.2.0 Title: IMMZ.D2.DT.Polio.Sequential IPV–bOPV Status: draft Type: system: http://terminology.hl7.org/CodeSystem/plan-definition-type code: eca-rule Date: 2026-03-25 23:30:34+0000 Publisher: WHO Description: 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]) Knowledge Capability: computable Related Artifacts: References WHO recommendations for routine immunization - summary tables (January 2025) Libraries: IMMZD2DTPolioSequentialIPVbOPVLogic 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 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]) 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' }) 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 Sequential "Bivalent oral polio vaccine (bOPV)–inactivated polio vacci…
contained: Library
  id:
    v: effective-data-requirements
  extension:
    extension:
      url:
        v: libraryName
        l: libraryName
      value: String
        v: IMMZElements
    extension:
      url:
        v: name
        l: name
      value: String
        v: Doses Administered to Patient
    extension:
      url:
        v: statement
        l: statement
      value: String
        v: /** * @dataElement All Doses Administered to Patient */ define "Doses Administered to Patient": [Immunization] I where I.status = 'completed' and I.isSubpotent is not true
    extension:
      url:
        v: displaySequence
        l: displaySequence
      value: Integer
        v: 0
    url:
      v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
      l: cqf-logicDefinition
  extension:
    extension:
      url:
        v: libraryName
        l: libraryName
      value: String
        v: IMMZD2DTPolioElements
    extension:
      url:
        v: name
        l: name
      value: String
        v: Polio Doses Administered to Patient
    extension:
      url:
        v: statement
        l: statement
      value: String
        v: /* @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"
    extension:
      url:
        v: displaySequence
        l: displaySequence
      value: Integer
        v: 1
    url:
      v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
      l: cqf-logicDefinition
  extension:
    extension:
      url:
        v: libraryName
        l: libraryName
      value: String
        v: IMMZD2DTPolioElements
    extension:
      url:
        v: name
        l: name
      value: String
        v: Polio Primary Series Doses Administered to Patient
    extension:
      url:
        v: statement
        l: statement
      value: String
        v: /* @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()
    extension:
      url:
        v: displaySequence
        l: displaySequence
      value: Integer
        v: 2
    url:
      v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
      l: cqf-logicDefinition
  extension:
    extension:
      url:
        v: libraryName
        l: libraryName
      value: String
        v: IMMZD2DTPolioEncounterElements
    extension:
      url:
        v: name
        l: name
      value: String
        v: Polio Primary Series Doses Administered to Patient
    extension:
      url:
        v: statement
        l: statement
      value: String
        v: /* @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)
    extension:
      url:
        v: displaySequence
        l: displaySequence
      value: Integer
        v: 3
    url:
      v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
      l: cqf-logicDefinition
  extension:
    extension:
      url:
        v: libraryName
        l: libraryName
      value: String
        v: IMMZD2DTPolioEncounterElements
    extension:
      url:
        v: name
        l: name
      value: String
        v: Number of Polio Primary Series Doses Administered
    extension:
      url:
        v: statement
        l: statement
      value: String
        v: /* @internal: Number of Polio Primary Series doses */ define "Number of Polio Primary Series Doses Administered": Count("Polio Primary Series Doses Administered to Patient")
    extension:
      url:
        v: displaySequence
        l: displaySequence
      value: Integer
        v: 4
    url:
      v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
      l: cqf-logicDefinition
  extension:
    extension:
      url:
        v: libraryName
        l: libraryName
      value: String
        v: IMMZD2DTPolioEncounterElements
    extension:
      url:
        v: name
        l: name
      value: String
        v: No poliovirus primary series doses were administered
    extension:
      url:
        v: statement
        l: statement
      value: String
        v: /* @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
    extension:
      url:
        v: displaySequence
        l: displaySequence
      value: Integer
        v: 5
    url:
      v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
      l: cqf-logicDefinition
  extension:
    extension:
      url:
        v: libraryName
        l: libraryName
      value: String
        v: IMMZEncounterElements
    extension:
      url:
        v: name
        l: name
      value: String
        v: Current Patient Age In Weeks

url:
  v: statement
  l: statement
value: String
  v: /** * @dataElement Patient age in weeks */ define "Current Patient Age In Weeks": AgeInWeeksAt(Today)

url:
  v: displaySequence
  l: displaySequence
value: Integer
  v: 6

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD2DTPolioEncounterElements
extension:
  url:
    v: name
    l: name
  value: String
    v: Client's age is less than 8 weeks
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @input: Client's age is less than 8 weeks @pseudocode: Today's date − "Date of birth" < 8 weeks @code: Client's age is less than 8 weeks-40 @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 "Client's age is less than 8 weeks": Encounter."Current Patient Age In Weeks" < 8
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 7
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD2DTPolioSequentialIPVbOPVLogic
extension:
  url:
    v: name
    l: name
  value: String
    v: Client is not due for IPV vaccination Case 1
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @output: Client is not due for IPV vaccination Case 1 @pseudocode: "Immunization recommendation status" = "Not due" */ define "Client is not due for IPV vaccination Case 1": Encounter."No poliovirus primary series doses were administered" and Encounter."Client's age is less than 8 weeks"
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 8
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD2DTPolioEncounterElements
extension:
  url:
    v: name
    l: name
  value: String
    v: One poliovirus primary series dose was administered
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @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
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 9
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD2DTPolioEncounterElements
extension:
  url:
    v: name
    l: name
  value: String
    v: Polio Doses Administered to Patient
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @internal: Polio containing Doses Administered to Patient */ define "Polio Doses Administered to Patient": PolioElements."Polio Doses Administered to Patient".onOrBefore(Today)
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 10
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD2DTPolioEncounterElements
extension:
  url:
    v: name
    l: name
  value: String
    v: Date of Latest Polio Dose
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @internal: Date of Latest Polio Dose */ define "Date of Latest Polio Dose": date from start of "Polio Doses Administered to Patient".mostRecent().occurrence.toInterval()
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 11
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD2DTPolioEncounterElements
extension:
  url:
    v: name
    l: name
  value: String
    v: The latest poliovirus dose was administered less than 4 weeks ago
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @input: The latest poliovirus dose was administered less than 4 weeks ago @pseudocode: Today's date − Latest "Date and time of vaccination" (where "Vaccine type" = "Poliovirus-containing vaccines") < 4 weeks @code: The latest poliovirus dose was administered less than 4 weeks ago-120 @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 "The latest poliovirus dose was administered less than 4 weeks ago": "Date of Latest Polio Dose" is not null and duration in weeks between "Date of Latest Polio Dose" and Today < 4
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 12
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD2DTPolioSequentialIPVbOPVLogic
extension:
  url:
    v: name
    l: name
  value: String
    v: Client is not due for IPV vaccination Case 2
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @output: Client is not due for IPV vaccination Case 2 @pseudocode: "Immunization recommendation status" = "Not due" */ define "Client is not due for IPV vaccination Case 2": Encounter."One poliovirus primary series dose was administered" and Encounter."The latest poliovirus dose was administered less than 4 weeks ago"
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 13
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD2DTPolioSequentialIPVbOPVLogic
extension:
  url:
    v: name
    l: name
  value: String
    v: Client is not due for IPV vaccination
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @output: Client is not due for IPV vaccination @pseudocode: "Immunization recommendation status" = "Not due" */ define "Client is not due for IPV vaccination": "Client is not due for IPV vaccination Case 1" or "Client is not due for IPV vaccination Case 2"
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 14
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD2DTPolioSequentialIPVbOPVLogic
extension:
  url:
    v: name
    l: name
  value: String
    v: Client is not due for IPV vaccination Guidance
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @output: Client is not due for IPV vaccination Guidance @guidance = Should not vaccinate client with first IPV dose as client's age is less than 8 weeks. Check for any other vaccines due and inform the caregiver of when to come back for the first poliovirus dose. @guidance = Should not vaccinate client with second IPV dose as the latest IPV 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 dose. */ define "Client is not due for IPV vaccination Guidance": case when "Client is not due for IPV vaccination Case 1" then 'Should not vaccinate client with first IPV dose as client\'s age is less than 8 weeks. Check for any other vaccines due and inform the caregiver of when to come back for the first poliovirus dose.' when "Client is not due for IPV vaccination Case 2" then 'Should not vaccinate client with second IPV dose as the latest IPV 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 dose.' else '' end
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 15
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD2DTPolioEncounterElements
extension:
  url:
    v: name
    l: name
  value: String
    v: Client's age is more than or equal to 8 weeks
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @input: Client's age is more than or equal to 8 weeks @pseudocode: Today's date − "Date of birth" ≥ 8 weeks @code: Client's age is more than or equal to 8 weeks-40 @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 "Client's age is more than or equal to 8 weeks": Encounter."Current Patient Age In Weeks" >= 8
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 16
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD2DTPolioSequentialIPVbOPVLogic
extension:
  url:
    v: name
    l: name
  value: String
    v: Client is due for IPV vaccination Case 1
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @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."No poliovirus primary series doses were administered" and Encounter."Client's age is more than or equal to 8 weeks"
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 17
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD2DTPolioEncounterElements
extension:
  url:
    v: name
    l: name
  value: String
    v: The latest poliovirus dose was administered more than 4 weeks ago
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @input: The latest poliovirus dose was administered more than 4 weeks ago @pseudocode: Today's date − Latest "Date and time of vaccination" (where "Vaccine type" = "Poliovirus-containing vaccines") ≥ 4 weeks @code: The latest poliovirus dose was administered more than 4 weeks ago-120 @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 "The latest poliovirus dose was administered more than 4 weeks ago": not("The latest poliovirus dose was administered less than 4 weeks ago")
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 18
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD2DTPolioSequentialIPVbOPVLogic
extension:
  url:
    v: name
    l: name
  value: String
    v: Client is due for IPV vaccination Case 2
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @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."One poliovirus primary series dose was administered" and Encounter."The latest poliovirus dose was administered more than 4 weeks ago"
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 19
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD2DTPolioSequentialIPVbOPVLogic
extension:
  url:
    v: name
    l: name
  value: String
    v: Client is due for IPV vaccination
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @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"
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 20
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD2DTPolioSequentialIPVbOPVLogic
extension:
  url:
    v: name
    l: name
  value: String
    v: Client is due for IPV vaccination Guidance
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @output: Client is due for IPV vaccination Guidance @guidance = Should vaccinate client with first IPV dose as client is within appropriate age range and IPV dose was not administered. Check for contraindications. @guidance = Should vaccinate client with second IPV dose as the latest IPV dose was administered more than 4 weeks 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 is within appropriate age range and IPV dose was not administered. Check for contraindications.' when "Client is due for IPV vaccination Case 2" then 'Should vaccinate client with second IPV dose as the latest IPV dose was administered more than 4 weeks ago. Check for contraindications.' else '' end
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 21
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD2DTPolioEncounterElements
extension:
  url:
    v: name
    l: name
  value: String
    v: Two poliovirus primary series doses were administered
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @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
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 22
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD2DTPolioSequentialIPVbOPVLogic
extension:
  url:
    v: name
    l: name
  value: String
    v: Client is due for bOPV vaccination Case 1
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @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."Two poliovirus primary series doses were administered"
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 23
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD2DTPolioEncounterElements
extension:
  url:
    v: name
    l: name
  value: String
    v: Three poliovirus primary series doses were administered
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @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
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 24
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD2DTPolioSequentialIPVbOPVLogic
extension:
  url:
    v: name
    l: name
  value: String
    v: Client is due for bOPV vaccination Case 2
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @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."Three poliovirus primary series doses were administered" and Encounter."The latest poliovirus dose was administered more than 4 weeks ago"
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 25
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD2DTPolioSequentialIPVbOPVLogic
extension:
  url:
    v: name
    l: name
  value: String
    v: Client is due for bOPV vaccination
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @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"
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 26
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD2DTPolioSequentialIPVbOPVLogic
extension:
  url:
    v: name
    l: name
  value: String
    v: Client is due for bOPV vaccination Guidance
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @output: Client is due for bOPV vaccination Guidance @guidance = Should vaccinate client with first bOPV dose as two IPV doses were administered. 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. */ 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 two IPV doses were administered. 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.' else '' end
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 27
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD2DTPolioSequentialIPVbOPVLogic
extension:
  url:
    v: name
    l: name
  value: String
    v: Client is not due for bOPV vaccination
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @output: Client is not due for bOPV vaccination @pseudocode: "Immunization recommendation status" = "Not due" */ define "Client is not due for bOPV vaccination": Encounter."Three poliovirus primary series doses were administered" and Encounter."The latest poliovirus dose was administered less than 4 weeks ago"
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 28
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD2DTPolioSequentialIPVbOPVLogic
extension:
  url:
    v: name
    l: name
  value: String
    v: Client is not due for bOPV vaccination Guidance
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @output: Client is not due for bOPV vaccination Guidance @guidance: Should not vaccinate client with second bOPV 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 dose */ define "Client is not due for bOPV vaccination Guidance": 'Should not vaccinate client with second bOPV 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 dose'
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 29
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD2DTPolioEncounterElements
extension:
  url:
    v: name
    l: name
  value: String
    v: Four poliovirus primary series doses were administered
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @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
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 30
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD2DTPolioSequentialIPVbOPVLogic
extension:
  url:
    v: name
    l: name
  value: String
    v: Primary series is complete
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @output: Primary series is complete @pseudocode: "Immunization recommendation status" = "Further evaluation needed" "Completed the primary vaccination series" = TRUE (where "Vaccine type" = "Poliovirus-containing vaccines") */ define "Primary series is complete": Encounter."Four poliovirus primary series doses were administered"
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 31
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD2DTPolioSequentialIPVbOPVLogic
extension:
  url:
    v: name
    l: name
  value: String
    v: Primary series is complete Guidance
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @output: Primary series is complete Guidance @guidance: Poliovirus primary series is complete. Assess if supplementary bOPV dose(s) are necessary and create a clinical note. Check for any other vaccines due. */ define "Primary series is complete Guidance": 'Poliovirus primary series is complete. Assess if supplementary bOPV dose(s) are necessary and create a clinical note. Check for any other vaccines due.'
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 32
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD2DTPolioSequentialIPVbOPVLogic
extension:
  url:
    v: name
    l: name
  value: String
    v: Guidance
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @dynamicValue: Guidance */ define "Guidance": case when "Client is not due for IPV vaccination" then "Client is not due for IPV vaccination Guidance" when "Client is due for IPV vaccination" then "Client is due for IPV vaccination Guidance" when "Client is due for bOPV vaccination" then "Client is due for bOPV vaccination Guidance" when "Client is not due for bOPV vaccination" then "Client is not due for bOPV vaccination Guidance" when "Primary series is complete" then "Primary series is complete Guidance" else '' end
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 33
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD2DTPolioSequentialIPVbOPVLogic
extension:
  url:
    v: name
    l: name
  value: String
    v: Has Guidance
extension:
  url:
    v: statement
    l: statement
  value: String
    v: define "Has Guidance": "Guidance" is not null and "Guidance" != ''
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 34
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZCommon
extension:
  url:
    v: name
    l: name
  value: String
    v: onOrBefore
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /** * @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
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 35
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZCommon
extension:
  url:
    v: name
    l: name
  value: String
    v: seriesPrimary
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /** * @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' )
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 36
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: FHIRHelpers
extension:
  url:
    v: name
    l: name
  value: String
    v: ToString
extension:
  url:
    v: statement
    l: statement
  value: String
    v: define function ToString(value string): value.value
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 37
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: FHIRHelpers
extension:
  url:
    v: name
    l: name
  value: String
    v: ToString
extension:
  url:
    v: statement
    l: statement
  value: String
    v: define function ToString(value ImmunizationStatus): value.value
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 38
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: FHIRHelpers
extension:
  url:
    v: name
    l: name
  value: String
    v: ToBoolean
extension:
  url:
    v: statement
    l: statement
  value: String
    v: define function ToBoolean(value boolean): value.value
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 39
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: FHIRHelpers
extension:
  url:
    v: name
    l: name
  value: String
    v: ToConcept
extension:
  url:
    v: statement
    l: statement
  value: String
    v: 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 }
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 40
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: FHIRHelpers
extension:
  url:
    v: name
    l: name
  value: String
    v: ToCode
extension:
  url:
    v: statement
    l: statement
  value: String
    v: 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 }
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 41
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: WHOCommon
extension:
  url:
    v: name
    l: name
  value: String
    v: mostRecent
extension:
  url:
    v: statement
    l: statement
  value: String
    v: define fluent function mostRecent(immunizations List<Immunization>): Last( immunizations I sort by start of occurrence.toInterval() )
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 42
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

v: EffectiveDataRequirements

v: active

coding:
  system:
    v: http://terminology.hl7.org/CodeSystem/library-type
    l: library-type
  code:
    v: module-definition

type:
  v: depends-on
display:
  v: FHIR model information
resource:
  v: http://fhir.org/guides/cqf/common/Library/FHIR-ModelInfo|4.0.1
  l: http://fhir.org/guides/cqf/common/Library/FHIR-ModelInfo

type:
  v: depends-on
display:
  v: Library Encounter
resource:
  v: http://smart.who.int/immunizations/Library/IMMZD2DTPolioEncounterElements
  l: IMMZD2DTPolioEncounterElements

type:
  v: depends-on
display:
  v: Library Common
resource:
  v: http://smart.who.int/immunizations/Library/IMMZCommon
  l: IMMZCommon

type:
  v: depends-on
display:
  v: Library WC
resource:
  v: http://smart.who.int/immunizations/Library/WHOCommon
  l: WHOCommon

type:
  v: depends-on
display:
  v: Library PolioElements
resource:
  v: http://smart.who.int/immunizations/Library/IMMZD2DTPolioElements
  l: IMMZD2DTPolioElements

type:
  v: depends-on
display:
  v: Library FHIRHelpers
resource:
  v: http://fhir.org/guides/cqf/common/Library/FHIRHelpers|4.0.1
  l: http://fhir.org/guides/cqf/common/Library/FHIRHelpers

type:
  v: depends-on
display:
  v: Library Elements
resource:
  v: http://smart.who.int/immunizations/Library/IMMZElements
  l: IMMZElements

type:
  v: depends-on
display:
  v: Library FHIRHelpers
resource:
  v: http://fhir.org/guides/cqf/common/Library/FHIRHelpers|4.0.1
  l: http://fhir.org/guides/cqf/common/Library/FHIRHelpers

type:
  v: depends-on
display:
  v: Library Concepts
resource:
  v: http://smart.who.int/immunizations/Library/IMMZConcepts
  l: IMMZConcepts

type:
  v: depends-on
display:
  v: Library Encounter
resource:
  v: http://smart.who.int/immunizations/Library/IMMZEncounterElements
  l: IMMZEncounterElements

type:
  v: depends-on
display:
  v: Library WC
resource:
  v: http://smart.who.int/immunizations/Library/WHOCommon
  l: WHOCommon

type:
  v: depends-on
display:
  v: Value set Poliovirus-containing vaccines
resource:
  v: http://smart.who.int/immunizations/ValueSet/IMMZ.Z.DE14
  l: IMMZ.Z.DE14

name:
  v: Today
use:
  v: in
min:
  v: 0
max:
  v: 1
type:
  v: date

name:
  v: Guidance
use:
  v: out
min:
  v: 0
max:
  v: 1
type:
  v: string

name:
  v: Client is due for bOPV vaccination
use:
  v: out
min:
  v: 0
max:
  v: 1
type:
  v: boolean

name:
  v: Client is due for IPV vaccination
use:
  v: out
min:
  v: 0
max:
  v: 1
type:
  v: boolean

name:
  v: Has Guidance
use:
  v: out
min:
  v: 0
max:
  v: 1
type:
  v: boolean

type:
  v: Immunization
profile:
  v: http://hl7.org/fhir/StructureDefinition/Immunization
  l: Immunization
must support:
  v: status
must support:
  v: isSubpotent

type:
  v: Immunization
profile:
  v: http://hl7.org/fhir/StructureDefinition/Immunization
  l: Immunization
must support:
  v: status
must support:
  v: isSubpotent
must support:
  v: vaccineCode

type:
  v: Patient
profile:
  v: http://hl7.org/fhir/StructureDefinition/Patient
  l: Patient

type:
  v: Immunization
profile:
  v: http://hl7.org/fhir/StructureDefinition/Immunization
  l: Immunization
must support:
  v: status
must support:
  v: isSubpotent
must support:
  v: vaccineCode

type:
  v: Immunization
profile:
  v: http://hl7.org/fhir/StructureDefinition/Immunization
  l: Immunization
must support:
  v: status
must support:
  v: isSubpotent
must support:
  v: vaccineCode

type:
  v: Immunization
profile:
  v: http://hl7.org/fhir/StructureDefinition/Immunization
  l: Immunization
must support:
  v: status
must support:
  v: isSubpotent
must support:
  v: vaccineCode

url:
  v: http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-knowledgeCapability
  l: cpg-knowledgeCapability
value: Code
  v: computable

url:
  v: http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-effectiveDataRequirements
  l: crmi-effectiveDataRequirements
value: Canonical
  v: #effective-data-requirements
  l: effective-data-requirements

v: 0.2.0

v: IMMZD2DTPolioSequentialIPVbOPV

v: IMMZ.D2.DT.Polio.Sequential IPV–bOPV

coding:
  system:
    v: http://terminology.hl7.org/CodeSystem/plan-definition-type
    l: plan-definition-type
  code:
    v: eca-rule

v: draft

v: false

v: 2026-03-25T23:30:34+00:00

v: WHO

name:
  v: WHO
telecom:
  system:
    v: url
  value:
    v: http://who.int

v: 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])

type:
  v: citation
citation:
  v: WHO recommendations for routine immunization - summary tables (January 2025)

extension:
  url:
    v: http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-rationale
    l: cpg-rationale
  value: Markdown
    v: For sequential IPV– bOPV schedules, WHO recommends that the first dose of IPV be given starting from 8 weeks of age with an interval of 4–8 weeks before administration of the second IPV dose. This should be followed by at least 2 doses of bOPV separated by 4–8 weeks depending on the risk of exposure to poliovirus in early childhood. Where a sequential IPV–bOPV schedule is used, the initial administration of 2 doses of IPV should be followed by ≥2 doses of bOPV to ensure sufficient levels of protection in the intestinal mucosa as well as a decrease in the burden of vaccine-associated paralytic polio (VAPP).
title:
  v: Determine if the client is due for a poliovirus vaccination according to the national immunization schedule
description:
  v: Determine if the client is due for a poliovirus vaccination according to the national immunization schedule 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])
condition:
  kind:
    v: applicability
  expression:
    description:
      v: Client is due for IPV vaccination
    language:
      v: text/cql-identifier
    expression:
      v: Client is due for IPV vaccination
definition: Canonical
  v: http://smart.who.int/immunizations/ActivityDefinition/IMMZD2DTMR
  l: IMMZD2DTMR
dynamic value:
  path:
    v: status
  expression:
    language:
      v: text/cql-expression
    expression:
      v: 'draft'
dynamic value:
  path:
    v: intent
  expression:
    language:
      v: text/cql-expression
    expression:
      v: 'proposal'
dynamic value:
  path:
    v: medication
  expression:
    language:
      v: text/cql-expression
    expression:
      v: Concept { codes: { Code { system: 'http://smart.who.int/immunizations/CodeSystem/IMMZ.Z', code: 'DE31', display: 'Inactivated polio vaccines' } }, display: 'Inactivated polio vaccines' }

extension:
  url:
    v: http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-rationale
    l: cpg-rationale
  value: Markdown
    v: For sequential IPV– bOPV schedules, WHO recommends that the first dose of IPV be given starting from 8 weeks of age with an interval of 4–8 weeks before administration of the second IPV dose. This should be followed by at least 2 doses of bOPV separated by 4–8 weeks depending on the risk of exposure to poliovirus in early childhood. Where a sequential IPV–bOPV schedule is used, the initial administration of 2 doses of IPV should be followed by ≥2 doses of bOPV to ensure sufficient levels of protection in the intestinal mucosa as well as a decrease in the burden of vaccine-associated paralytic polio (VAPP).
title:
  v: Determine if the client is due for a poliovirus vaccination according to the national immunization schedule
description:
  v: Determine if the client is due for a poliovirus vaccination according to the national immunization schedule 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])
condition:
  kind:
    v: applicability
  expression:
    description:
      v: Client is due for bOPV vaccination
    language:
      v: text/cql-identifier
    expression:
      v: Client is due for bOPV vaccination
definition: Canonical
  v: http://smart.who.int/immunizations/ActivityDefinition/IMMZD2DTMR
  l: IMMZD2DTMR
dynamic value:
  path:
    v: status
  expression:
    language:
      v: text/cql-expression
    expression:
      v: 'draft'
dynamic value:
  path:
    v: intent
  expression:
    language:
      v: text/cql-expression
    expression:
      v: 'proposal'
dynamic value:
  path:
    v: medication
  expression:
    language:
      v: text/cql-expression
    expression:
      v: Concept { codes: { Code { system: 'http://smart.who.int/immunizations/CodeSystem/IMMZ.Z', code: 'DE30', display: 'Oral polio vaccines' } }, display: 'Oral polio vaccines' }

title:
  v: Check for Guidance for the patient regarding IMMZ.D2.DT.Polio.Sequential IPV–bOPV.
description:
  v: Show Guidance for the patient regarding IMMZ.D2.DT.Polio.Sequential IPV–bOPV.
condition:
  kind:
    v: applicability
  expression:
    description:
      v: Has Guidance
    language:
      v: text/cql-identifier
    expression:
      v: Has Guidance
definition: Canonical
  v: http://smart.who.int/immunizations/ActivityDefinition/IMMZD2DTCR
  l: IMMZD2DTCR
dynamic value:
  path:
    v: status
  expression:
    language:
      v: text/cql-expression
    expression:
      v: 'active'
dynamic value:
  path:
    v: payload.contentString
  expression:
    language:
      v: text/cql-identifier
    expression:
      v: Guidance
dynamic value:
  path:
    v: category.coding
  expression:
    description:
      v: Category of communication
    language:
      v: text/cql-expression
    expression:
      v: Code { system: 'http://terminology.hl7.org/CodeSystem/communication-category', code: 'alert' }
dynamic value:
  path:
    v: priority
  expression:
    description:
      v: Alert priority
    language:
      v: text/cql-expression
    expression:
      v: Code { system: 'http://hl7.org/fhir/request-priority', code: 'routine' }