IMMZD18SDTPOnTimeStart
type: PlanDefinition
node role: treeRoot
id:
  v: IMMZD18SDTPOnTimeStart
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: IMMZD18SDTPOnTimeStart Url: IMMZ.D18.S.DTP.On-time start schedule Version: 0.2.0 Title: IMMZ.D18.S.DTP.On-time start schedule Status: draft Type: system: http://terminology.hl7.org/CodeSystem/plan-definition-type code: eca-rule Date: 2026-03-03 13:07:11+0000 Publisher: WHO Description: IMMZ.D18.S.DTP.On-time start schedule Diphtheria–tetanus–pertussis (DTP) vaccination schedule, on-time start (at ≤ 12 months of age) Knowledge Capability: computable Related Artifacts: References WHO recommendations for routine immunization - summary tables (January 2025) Libraries: IMMZD18SDTPOnTimeStartLogic Actions: DTP dose 1: Provision of DTP dose 1 Trigger event: Child's birth Trigger pseudo: Trigger date: "Date of birth" Create condition: DTP dose 1 should be provided if the client is older than 6 weeks of age. If: Applicability: DTP dose 1 (DTP dose 1) Then: Definition: IMMZ.D2.DT.CR Dynamic Values: status: ('active') payload.contentString: (DTP dose 1 Create) category.coding: (Code { system: 'http://terminology.hl7.org/CodeSystem/communication-category', code: 'alert' }) priority: (Code { system: 'http://hl7.org/fhir/request-priority', code: 'routine' }) DTP dose 2: Provision of DTP dose 2 Trigger event: First DTP dose from the primary series was administered Trigger pseudo: Count of vaccines administered (where "Vaccine type" = "DTP-containing vaccines" and "Type of dose" = "Primary series") = 1 Trigger date: Latest "Date and time of vaccination" (where "Vaccine type" = "DTP-containing vaccines") Create condition: DTP dose 2 should be provided if the client was given the previous DTP dose more than 4 weeks ago. If: Applicability: DTP dose 2 (DTP dose 2) Then: Definition: IMMZ.D2.DT.CR Dynamic Values: status: ('active') payload.contentString: (DTP dose 2 Create) category.coding: (Code { system: 'http://terminology.hl7.org/CodeSystem/communication-category', code: 'alert' }) priority: (Code { system: 'http://hl7.org/fhir/request-priority', code: 'routine' }) DTP dose 3: Pr…
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: IMMZD2DTDTPElements
    extension:
      url:
        v: name
        l: name
      value: String
        v: DTP Doses Administered to Patient
    extension:
      url:
        v: statement
        l: statement
      value: String
        v: /* @internal: DTP containing Doses Administered to Patient */ define "DTP Doses Administered to Patient": Elements."Doses Administered to Patient" I where I.vaccineCode in Concepts."DTP-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: IMMZD2DTDTPElements
    extension:
      url:
        v: name
        l: name
      value: String
        v: DTP Primary Series Doses Administered to Patient
    extension:
      url:
        v: statement
        l: statement
      value: String
        v: /* @internal: DTP containing Doses Administered to Patient that are in the Primary series */ define "DTP Primary Series Doses Administered to Patient": "DTP 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: IMMZD2DTDTPEncounterElements
    extension:
      url:
        v: name
        l: name
      value: String
        v: DTP Primary Series Doses Administered to Patient
    extension:
      url:
        v: statement
        l: statement
      value: String
        v: /* @internal: DTP containing Doses Administered to Patient that are in the Primary series */ define "DTP Primary Series Doses Administered to Patient": DTPElements."DTP 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: IMMZD2DTDTPEncounterElements
    extension:
      url:
        v: name
        l: name
      value: String
        v: Number of DTP Primary Series Doses Administered
    extension:
      url:
        v: statement
        l: statement
      value: String
        v: /* @internal: Number of DTP Primary Series doses */ define "Number of DTP Primary Series Doses Administered": Count("DTP 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: IMMZD2DTDTPEncounterElements
    extension:
      url:
        v: name
        l: name
      value: String
        v: Two DTP primary series doses were administered
    extension:
      url:
        v: statement
        l: statement
      value: String
        v: /* @input: Two DTP primary series doses were administered @pseudocode: Count of vaccines administered (where "Vaccine type" = "DTP-containing vaccines" and "Type of dose" = "Primary series") = 2 @code: Two DTP primary series doses were administered-123 @decision: IMMZ.D2.DT.DTP.On-time start: DTP vaccination schedule, on-time start (at ≤ 12 months of age) @decision: IMMZ.D2.DT.DTP.Delayed or interrupted series: DTP vaccination schedule for the following groups: children ≥ 1 year of age with no previous immunization, adolescents and adults with no previous immunization (including pregnant women) and supplementary immunization activities in high-risk areas, for women of reproductive age */ define "Two DTP primary series doses were administered": "Number of DTP Primary Series Doses Administered" = 2
    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: IMMZD18SDTPOnTimeStartLogic
    extension:
      url:
        v: name
        l: name
      value: String
        v: Second DTP dose from the primary series was administered

url:
  v: statement
  l: statement
value: String
  v: /* @complete: Second DTP dose from the primary series was administered @pseudocode: Count of vaccines administered (where "Vaccine type" = "DTP-containing vaccines" and "Type of dose" = "Primary series") = 2 */ define "Second DTP dose from the primary series was administered": Encounter."Two DTP primary series doses were administered"

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

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD2DTDTPEncounterElements
extension:
  url:
    v: name
    l: name
  value: String
    v: Three DTP primary series doses were administered
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @input: Three DTP primary series doses were administered @pseudocode: Count of vaccines administered (where "Vaccine type" = "DTP-containing vaccines" and "Type of dose" = "Primary series") = 3 @code: Three DTP primary series doses were administered-123 @decision: IMMZ.D2.DT.DTP.On-time start: DTP vaccination schedule, on-time start (at ≤ 12 months of age) @decision: IMMZ.D2.DT.DTP.Delayed or interrupted series: DTP vaccination schedule for the following groups: children ≥ 1 year of age with no previous immunization, adolescents and adults with no previous immunization (including pregnant women) and supplementary immunization activities in high-risk areas, for women of reproductive age @decision: IMMZ.D2.DT.DTP.Pregnancy: Determine whether DTP-containing vaccines are needed for pregnant women @decision: IMMZ.D2.DT.DTP.Pregnancy starting with 3 doses: Diphtheria and tetanus vaccination schedule in pregnant women who received 3 childhood DTP doses @decision: IMMZ.D2.DT.DTP.Pregnancy starting with 4 doses: Diphtheria and tetanus vaccination schedule in pregnant women who received 4 childhood DTP doses */ define "Three DTP primary series doses were administered": "Number of DTP Primary Series Doses Administered" = 3
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: IMMZD18SDTPOnTimeStartLogic
extension:
  url:
    v: name
    l: name
  value: String
    v: Third DTP dose from the primary series was administered. The primary DTP series has been completed
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @complete: Third DTP dose from the primary series was administered. The primary DTP series has been completed @pseudocode: Count of vaccines administered (where "Vaccine type" = "DTP-containing vaccines" and "Type of dose" = "Primary series") = 3 "Completed the primary vaccination series" = TRUE (where "Vaccine type" = "DTP-containing vaccines") */ define "Third DTP dose from the primary series was administered. The primary DTP series has been completed": Encounter."Three DTP primary series doses were administered"
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: IMMZD18SDTPOnTimeStartLogic
extension:
  url:
    v: name
    l: name
  value: String
    v: DTP dose 3
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @output: DTP dose 3 @description: Provision of DTP dose 3 @trigger: Second DTP dose from the primary series was administered @pseudo: Count of vaccines administered (where "Vaccine type" = "DTP-containing vaccines" and "Type of dose" = "Primary series" ) = 2 @triggerDate: Latest "Date and time of vaccination" (where "Vaccine type" = "DTP-containing vaccines") */ define "DTP dose 3": "Second DTP dose from the primary series was administered" and not "Third DTP dose from the primary series was administered. The primary DTP series has been completed"
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: IMMZD2DTDTPEncounterElements
extension:
  url:
    v: name
    l: name
  value: String
    v: DTP Doses Administered to Patient
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @internal: DTP containing Doses Administered to Patient */ define "DTP Doses Administered to Patient": DTPElements."DTP 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: IMMZD2DTDTPEncounterElements
extension:
  url:
    v: name
    l: name
  value: String
    v: Date of Latest DTP Dose
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @internal: Date of Latest DTP Dose */ define "Date of Latest DTP Dose": date from start of "DTP 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: IMMZD18SDTPOnTimeStartLogic
extension:
  url:
    v: name
    l: name
  value: String
    v: DTP dose 3 Due Date
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @dynamicValue: DTP dose 3 Due Date @pseudocode: Latest "Date and time of vaccination" (where "Vaccine type" = "DTP-containing vaccines") + 4 weeks */ define "DTP dose 3 Due Date": if "DTP dose 3" then Encounter."Date of Latest DTP Dose" + 4 weeks else null
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: IMMZD18SDTPOnTimeStartLogic
extension:
  url:
    v: name
    l: name
  value: String
    v: DTP dose 3 Overdue
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @dynamicValue: DTP dose 3 Overdue @pseudocode: "Date of birth" + 6 months */ define "DTP dose 3 Overdue": if "DTP dose 3" then Patient.birthDate + 6 months else null
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: IMMZD18SDTPOnTimeStartLogic
extension:
  url:
    v: name
    l: name
  value: String
    v: DTP dose 3 Create
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @output: DTP dose 3 Create @create: DTP dose 3 should be provided if the client received the previous dose more than 4 weeks ago. */ define "DTP dose 3 Create": if "DTP dose 3" then 'DTP dose 3 should be provided if the client received the previous dose more than 4 weeks ago.' + ' Due Date: ' + ToString("DTP dose 3 Due Date") + ' Overdue: ' + ToString("DTP dose 3 Overdue") else ''
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: IMMZD2DTDTPEncounterElements
extension:
  url:
    v: name
    l: name
  value: String
    v: No DTP primary series doses were administered
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @input: No DTP primary series doses were administered @pseudocode: Count of vaccines administered (where "Vaccine type" = "DTP-containing vaccines" and "Type of dose" = "Primary series") = 0 @code: No DTP primary series doses were administered-123 @decision: IMMZ.D2.DT.DTP.On-time start: DTP vaccination schedule, on-time start (at ≤ 12 months of age) @decision: IMMZ.D2.DT.DTP.Delayed or interrupted series: DTP vaccination schedule for the following groups: children ≥ 1 year of age with no previous immunization, adolescents and adults with no previous immunization (including pregnant women) and supplementary immunization activities in high-risk areas, for women of reproductive age @decision: IMMZ.D2.DT.DTP.Pregnancy: Determine whether DTP-containing vaccines are needed for pregnant women */ define "No DTP primary series doses were administered": "Number of DTP Primary Series Doses Administered" = 0
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: IMMZD18SDTPOnTimeStartLogic
extension:
  url:
    v: name
    l: name
  value: String
    v: DTP dose 1 Expiration
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @dynamicValue: DTP dose 1 Expiration @pseudocode: "Date of birth" + 1 year */ define "DTP dose 1 Expiration": Patient.birthDate + 1 year
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: IMMZD18SDTPOnTimeStartLogic
extension:
  url:
    v: name
    l: name
  value: String
    v: DTP dose 1
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @output: DTP dose 1 @description: Provision of DTP dose 1 @trigger: Child's birth @pseudo: @triggerDate: "Date of birth" */ define "DTP dose 1": Encounter."No DTP primary series doses were administered" and "DTP dose 1 Expiration" after day of Today
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: IMMZD18SDTPOnTimeStartLogic
extension:
  url:
    v: name
    l: name
  value: String
    v: DTP dose 1 Due Date
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @dynamicValue: DTP dose 1 Due Date @pseudocode: "Date of birth" + 6 weeks */ define "DTP dose 1 Due Date": if "DTP dose 1" then Patient.birthDate + 6 weeks else null
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: IMMZD18SDTPOnTimeStartLogic
extension:
  url:
    v: name
    l: name
  value: String
    v: DTP dose 1 Create
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @output: DTP dose 1 Create @create: DTP dose 1 should be provided if the client is older than 6 weeks of age. */ define "DTP dose 1 Create": if "DTP dose 1" then 'DTP dose 1 should be provided if the client is older than 6 weeks of age.' + ' Due Date: ' + ToString("DTP dose 1 Due Date") + ' Expiration: ' + ToString("DTP dose 1 Expiration") else ''
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: IMMZEncounterElements
extension:
  url:
    v: name
    l: name
  value: String
    v: Current Patient Age In Years
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /** * @dataElement Patient age in years */ define "Current Patient Age In Years": AgeInYearsAt(Today)
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: IMMZD2DTDTPEncounterElements
extension:
  url:
    v: name
    l: name
  value: String
    v: Client's age is between 1 year and 6 years
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @input: Client's age is between 1 year and 6 years @pseudocode: 1 year ≤ Today's date − "Date of birth" ≤ 6 years @code: Client's age is between 1 year and 6 years-49 @decision: IMMZ.D2.DT.DTP.On-time start: DTP vaccination schedule, on-time start (at ≤ 12 months of age) @decision: IMMZ.D2.DT.DTP.Delayed or interrupted series: DTP vaccination schedule for the following groups: children ≥ 1 year of age with no previous immunization, adolescents and adults with no previous immunization (including pregnant women) and supplementary immunization activities in high-risk areas, for women of reproductive age */ define "Client's age is between 1 year and 6 years": 1 <= Encounter."Current Patient Age In Years" and Encounter."Current Patient Age In Years" <= 6
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: IMMZD2DTDTPElements
extension:
  url:
    v: name
    l: name
  value: String
    v: Pertussis Doses Administered to Patient
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @internal: Pertussis Doses Administered to Patient */ define "Pertussis Doses Administered to Patient": Elements."Doses Administered to Patient" I where I.vaccineCode in Concepts."Pertussis-containing vaccines"
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: IMMZD2DTDTPElements
extension:
  url:
    v: name
    l: name
  value: String
    v: Pertussis Booster Series Doses Administered to Patient
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @internal: Pertussis Booster Series Doses Administered to Patient */ define "Pertussis Booster Series Doses Administered to Patient": "Pertussis Doses Administered to Patient".seriesBooster()
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: IMMZD2DTDTPEncounterElements
extension:
  url:
    v: name
    l: name
  value: String
    v: Pertussis Booster Series Doses Administered to Patient
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @internal: Pertussis Booster Series Doses Administered to Patient */ define "Pertussis Booster Series Doses Administered to Patient": DTPElements."Pertussis Booster Series Doses Administered to Patient".onOrBefore(Today)
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: IMMZD2DTDTPEncounterElements
extension:
  url:
    v: name
    l: name
  value: String
    v: Number of Pertussis Booster Series Doses Administered
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @internal: Number of Pertussis Booster Series Doses Administered */ define "Number of Pertussis Booster Series Doses Administered": Count("Pertussis Booster Series Doses Administered to Patient")
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: IMMZD2DTDTPEncounterElements
extension:
  url:
    v: name
    l: name
  value: String
    v: One pertussis booster dose was administered
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @input: One pertussis booster dose was administered @pseudocode: Count of vaccines administered (where "Vaccine type" = "Pertussis-containing vaccines" and "Type of dose" = "Booster dose") = 1 @code: One pertussis booster dose was administered-127 @decision: IMMZ.D2.DT.DTP.On-time start: DTP vaccination schedule, on-time start (at ≤ 12 months of age) @decision: IMMZ.D2.DT.DTP.Delayed or interrupted series: DTP vaccination schedule for the following groups: children ≥ 1 year of age with no previous immunization, adolescents and adults with no previous immunization (including pregnant women) and supplementary immunization activities in high-risk areas, for women of reproductive age */ define "One pertussis booster dose was administered": "Number of Pertussis Booster Series Doses Administered" = 1
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: IMMZD18SDTPOnTimeStartLogic
extension:
  url:
    v: name
    l: name
  value: String
    v: Pertussis-containing booster dose was administered. Pertussis immunization schedule has been completed
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @complete: Pertussis-containing booster dose was administered. Pertussis immunization schedule has been completed @pseudocode: Count of vaccines administered (where "Vaccine type" = "Pertussis-containing vaccines" and "Type of dose" = "Booster dose") = 1 "Immunization recommendation status" = "Complete" (where "Vaccine type" = "Pertussis-containing vaccines") */ define "Pertussis-containing booster dose was administered. Pertussis immunization schedule has been completed": Encounter."One pertussis booster dose was administered"
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: IMMZD18SDTPOnTimeStartLogic
extension:
  url:
    v: name
    l: name
  value: String
    v: Pertussis-containing vaccine booster dose Expiration
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @dynamicValue: Pertussis-containing vaccine booster dose Expiration @pseudocode: "Date of birth" + 7 years */ define "Pertussis-containing vaccine booster dose Expiration": Patient.birthDate + 7 years
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: IMMZD18SDTPOnTimeStartLogic
extension:
  url:
    v: name
    l: name
  value: String
    v: Pertussis-containing vaccine booster dose
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @output: Pertussis-containing vaccine booster dose @description: Provision of the pertussis-containing vaccine booster dose @trigger: The primary DTP series has been completed and client's age is between 1 and 6 years @pseudo: "Completed the primary vaccination series" = TRUE (where "Vaccine type" = "DTP-containing vaccines") AND 1 year ≤ Today's date − "Date of birth" ≤ 6 years @triggerDate: Latest "Date and time of vaccination" (where "Vaccine type" = "DTP-containing vaccines") */ define "Pertussis-containing vaccine booster dose": "Third DTP dose from the primary series was administered. The primary DTP series has been completed" and Encounter."Client's age is between 1 year and 6 years" and not "Pertussis-containing booster dose was administered. Pertussis immunization schedule has been completed" and "Pertussis-containing vaccine booster dose Expiration" after day of Today
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: IMMZD18SDTPOnTimeStartLogic
extension:
  url:
    v: name
    l: name
  value: String
    v: Pertussis-containing vaccine booster dose Due Date
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @dynamicValue: Pertussis-containing vaccine booster dose Due Date @pseudocode: Date of birth" + 1 'year' OR Latest "Date and time of vaccination" where "Vaccine type" = "DTP-containing vaccines" + 6 months */ define "Pertussis-containing vaccine booster dose Due Date": if "Pertussis-containing vaccine booster dose" then WC.LatestOf({ Patient.birthDate + 1 year, Encounter."Date of Latest DTP Dose" + 6 months }) else null
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: IMMZD18SDTPOnTimeStartLogic
extension:
  url:
    v: name
    l: name
  value: String
    v: Pertussis-containing vaccine booster dose Overdue
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @dynamicValue: Pertussis-containing vaccine booster dose Overdue @pseudocode: "Date of birth" + 7 years */ define "Pertussis-containing vaccine booster dose Overdue": if "Pertussis-containing vaccine booster dose" then Patient.birthDate + 7 years else null
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: IMMZD18SDTPOnTimeStartLogic
extension:
  url:
    v: name
    l: name
  value: String
    v: Pertussis-containing vaccine booster dose Create
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @output: Pertussis-containing vaccine booster dose Create @create: A booster dose is recommended for children aged 1–6 years, preferably during the second year of life (≥6 months after last primary dose). */ define "Pertussis-containing vaccine booster dose Create": if "Pertussis-containing vaccine booster dose" then 'A booster dose is recommended for children aged 1–6 years, preferably during the second year of life (≥6 months after last primary dose).' + ' Due Date: ' + ToString("Pertussis-containing vaccine booster dose Due Date") + ' Overdue: ' + ToString("Pertussis-containing vaccine booster dose Overdue") + ' Expiration: ' + ToString("Pertussis-containing vaccine booster dose Expiration") else ''
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: IMMZD2DTDTPEncounterElements
extension:
  url:
    v: name
    l: name
  value: String
    v: One DTP primary series dose was administered
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @input: One DTP primary series dose was administered @pseudocode: Count of vaccines administered (where "Vaccine type" = "DTP-containing vaccines" and "Type of dose" = "Primary series") = 1 @code: One DTP primary series dose was administered-123 @decision: IMMZ.D2.DT.DTP.On-time start: DTP vaccination schedule, on-time start (at ≤ 12 months of age) @decision: IMMZ.D2.DT.DTP.Delayed or interrupted series: DTP vaccination schedule for the following groups: children ≥ 1 year of age with no previous immunization, adolescents and adults with no previous immunization (including pregnant women) and supplementary immunization activities in high-risk areas, for women of reproductive age */ define "One DTP primary series dose was administered": "Number of DTP Primary Series Doses Administered" = 1
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: IMMZD18SDTPOnTimeStartLogic
extension:
  url:
    v: name
    l: name
  value: String
    v: First DTP dose from the primary series was administered
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @complete: First DTP dose from the primary series was administered @pseudocode: Count of vaccines administered (where "Vaccine type" = "DTP-containing vaccines" and "Type of dose" = "Primary series") = 1 */ define "First DTP dose from the primary series was administered": Encounter."One DTP primary series dose was administered"
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: IMMZD18SDTPOnTimeStartLogic
extension:
  url:
    v: name
    l: name
  value: String
    v: DTP dose 2
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @output: DTP dose 2 @description: Provision of DTP dose 2 @trigger: First DTP dose from the primary series was administered @pseudo: Count of vaccines administered (where "Vaccine type" = "DTP-containing vaccines" and "Type of dose" = "Primary series") = 1 @triggerDate: Latest "Date and time of vaccination" (where "Vaccine type" = "DTP-containing vaccines") */ define "DTP dose 2": "First DTP dose from the primary series was administered" and not "Second DTP dose from the primary series was administered"
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: IMMZD18SDTPOnTimeStartLogic
extension:
  url:
    v: name
    l: name
  value: String
    v: DTP dose 2 Due Date
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @dynamicValue: DTP dose 2 Due Date @pseudocode: Latest "Date and time of vaccination" (where "Vaccine type" = "DTP-containing vaccines") + 4 weeks */ define "DTP dose 2 Due Date": if "DTP dose 2" then Encounter."Date of Latest DTP Dose" + 4 weeks else null
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: IMMZD18SDTPOnTimeStartLogic
extension:
  url:
    v: name
    l: name
  value: String
    v: DTP dose 2 Overdue
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @dynamicValue: DTP dose 2 Overdue @pseudocode: Latest "Date and time of vaccination" (where "Vaccine type" = "DTP-containing vaccines") + 8 weeks */ define "DTP dose 2 Overdue": if "DTP dose 2" then Encounter."Date of Latest DTP Dose" + 8 weeks else null
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: IMMZD18SDTPOnTimeStartLogic
extension:
  url:
    v: name
    l: name
  value: String
    v: DTP dose 2 Create
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @output: DTP dose 2 Create @create: DTP dose 2 should be provided if the client was given the previous DTP dose more than 4 weeks ago. */ define "DTP dose 2 Create": if "DTP dose 2" then 'DTP dose 2 should be provided if the client was given the previous DTP dose more than 4 weeks ago.' + ' Due Date: ' + ToString("DTP dose 2 Due Date") + ' Overdue: ' + ToString("DTP dose 2 Overdue") else ''
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: IMMZD2DTDTPElements
extension:
  url:
    v: name
    l: name
  value: String
    v: Td Doses Administered to Patient
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @internal: Td Doses Administered to Patient */ define "Td Doses Administered to Patient": Elements."Doses Administered to Patient" I where I.vaccineCode in Concepts."Tetanus and diphtheria-containing vaccines"
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: IMMZD2DTDTPElements
extension:
  url:
    v: name
    l: name
  value: String
    v: Td Booster Series Doses Administered to Patient
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @internal: Td Booster Series Doses Administered to Patient */ define "Td Booster Series Doses Administered to Patient": "Td Doses Administered to Patient".seriesBooster()
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: IMMZD2DTDTPEncounterElements
extension:
  url:
    v: name
    l: name
  value: String
    v: Td Booster Series Doses Administered to Patient
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @internal: Td Booster Series Doses Administered to Patient */ define "Td Booster Series Doses Administered to Patient": DTPElements."Td Booster Series Doses Administered to Patient".onOrBefore(Today)
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: IMMZD2DTDTPEncounterElements
extension:
  url:
    v: name
    l: name
  value: String
    v: Number of Td Booster Series Doses Administered
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @internal: Number of Td Booster Series Doses Administered */ define "Number of Td Booster Series Doses Administered": Count("Td Booster Series Doses Administered to Patient")
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 42
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD2DTDTPEncounterElements
extension:
  url:
    v: name
    l: name
  value: String
    v: One tetanus and diphtheria booster dose was administered
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @input: One tetanus and diphtheria booster dose was administered @pseudocode: Count of vaccines administered (where "Vaccine type" = "Tetanus and diphtheria-containing vaccines" and "Type of dose" = "Booster dose") = 1 @code: One tetanus and diphtheria booster dose was administered-140 @decision: IMMZ.D2.DT.DTP.On-time start: DTP vaccination schedule, on-time start (at ≤ 12 months of age) @decision: IMMZ.D2.DT.DTP.Delayed or interrupted series: DTP vaccination schedule for the following groups: children ≥ 1 year of age with no previous immunization, adolescents and adults with no previous immunization (including pregnant women) and supplementary immunization activities in high-risk areas, for women of reproductive age @decision: IMMZ.D2.DT.DTP.Pregnancy: Determine whether DTP-containing vaccines are needed for pregnant women @decision: IMMZ.D2.DT.DTP.Pregnancy starting with 4 doses: Diphtheria and tetanus vaccination schedule in pregnant women who received 4 childhood DTP doses */ define "One tetanus and diphtheria booster dose was administered": "Number of Td Booster Series Doses Administered" = 1
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 43
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD18SDTPOnTimeStartLogic
extension:
  url:
    v: name
    l: name
  value: String
    v: First tetanus and diphtheria booster dose was administered
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @complete: First tetanus and diphtheria booster dose was administered @pseudocode: Count of vaccines administered (where "Vaccine type" = "Tetanus and diphtheria-containing vaccines" and "Type of dose" = "Booster dose") = 1 */ define "First tetanus and diphtheria booster dose was administered": Encounter."One tetanus and diphtheria booster dose was administered"
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 44
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD2DTDTPEncounterElements
extension:
  url:
    v: name
    l: name
  value: String
    v: Two tetanus and diphtheria booster doses were administered
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @input: Two tetanus and diphtheria booster doses were administered @pseudocode: Count of vaccines administered (where "Vaccine type" = "Tetanus and diphtheria-containing vaccines" and "Type of dose" = "Booster dose") = 2 @code: Two tetanus and diphtheria booster doses were administered-140 @decision: IMMZ.D2.DT.DTP.On-time start: DTP vaccination schedule, on-time start (at ≤ 12 months of age) @decision: IMMZ.D2.DT.DTP.Delayed or interrupted series: DTP vaccination schedule for the following groups: children ≥ 1 year of age with no previous immunization, adolescents and adults with no previous immunization (including pregnant women) and supplementary immunization activities in high-risk areas, for women of reproductive age @decision: IMMZ.D2.DT.DTP.Pregnancy: Determine whether DTP-containing vaccines are needed for pregnant women @decision: IMMZ.D2.DT.DTP.Pregnancy starting with 3 doses: Diphtheria and tetanus vaccination schedule in pregnant women who received 3 childhood DTP doses @decision: IMMZ.D2.DT.DTP.Pregnancy starting with 4 doses: Diphtheria and tetanus vaccination schedule in pregnant women who received 4 childhood DTP doses */ define "Two tetanus and diphtheria booster doses were administered": "Number of Td Booster Series Doses Administered" = 2
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 45
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD18SDTPOnTimeStartLogic
extension:
  url:
    v: name
    l: name
  value: String
    v: Second tetanus and diphtheria booster dose was administered
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @complete: Second tetanus and diphtheria booster dose was administered @pseudocode: Count of vaccines administered (where "Vaccine type" = "Tetanus and diphtheria-containing vaccines" and "Type of dose" = "Booster dose") = 2 */ define "Second tetanus and diphtheria booster dose was administered": Encounter."Two tetanus and diphtheria booster doses were administered"
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 46
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD18SDTPOnTimeStartLogic
extension:
  url:
    v: name
    l: name
  value: String
    v: Tetanus and diphtheria-containing vaccine booster dose 2
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @output: Tetanus and diphtheria-containing vaccine booster dose 2 @description: Provision of tetanus and diphtheria booster dose 2 @trigger: First tetanus and diphtheria booster dose was administered @pseudo: Count of vaccines administered (where "Vaccine type" = "Tetanus and diphtheria-containing vaccines" and "Type of dose" = "Booster dose") = 1 @triggerDate: Latest "Date and time of vaccination" (where "Vaccine type" = "Tetanus and diphtheria-containing vaccines") */ define "Tetanus and diphtheria-containing vaccine booster dose 2": "First tetanus and diphtheria booster dose was administered" and not "Second tetanus and diphtheria booster dose was administered"
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 47
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD18SDTPOnTimeStartLogic
extension:
  url:
    v: name
    l: name
  value: String
    v: Tetanus and diphtheria-containing vaccine booster dose 2 Due Date
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @dynamicValue: Tetanus and diphtheria-containing vaccine booster dose 2 Due Date @pseudocode: "Date of birth" + 4 years */ define "Tetanus and diphtheria-containing vaccine booster dose 2 Due Date": if "Tetanus and diphtheria-containing vaccine booster dose 2" then Patient.birthDate + 4 years else null
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 48
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD18SDTPOnTimeStartLogic
extension:
  url:
    v: name
    l: name
  value: String
    v: Tetanus and diphtheria-containing vaccine booster dose 2 Overdue
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @dynamicValue: Tetanus and diphtheria-containing vaccine booster dose 2 Overdue @pseudocode: "Date of birth" + 8 years */ define "Tetanus and diphtheria-containing vaccine booster dose 2 Overdue": if "Tetanus and diphtheria-containing vaccine booster dose 2" then Patient.birthDate + 8 years else null
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 49
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD18SDTPOnTimeStartLogic
extension:
  url:
    v: name
    l: name
  value: String
    v: Tetanus and diphtheria-containing vaccine booster dose 2 Create
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @output: Tetanus and diphtheria-containing vaccine booster dose 2 Create @create: Three booster doses of diphtheria-containing vaccine should be provided during childhood and adolescence. The diphtheria booster doses should be given in combination with tetanus using the same schedule (i.e at 12–23 months of age, 4–7 years of age and 9–15 years of age, using age-appropriate vaccine formulations). Ideally, there should be at least 4 years between booster doses. Member States may update this schedule based on their country context. */ define "Tetanus and diphtheria-containing vaccine booster dose 2 Create": if "Tetanus and diphtheria-containing vaccine booster dose 2" then 'Three booster doses of diphtheria-containing vaccine should be provided during childhood and adolescence. The diphtheria booster doses should be given in combination with tetanus using the same schedule (i.e at 12–23 months of age, 4–7 years of age and 9–15 years of age, using age-appropriate vaccine formulations). Ideally, there should be at least 4 years between booster doses. Member States may update this schedule based on their country context.' + ' Due Date: ' + ToString("Tetanus and diphtheria-containing vaccine booster dose 2 Due Date") + ' Overdue: ' + ToString("Tetanus and diphtheria-containing vaccine booster dose 2 Overdue") else ''
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 50
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD2DTDTPEncounterElements
extension:
  url:
    v: name
    l: name
  value: String
    v: No tetanus and diphtheria booster doses were administered
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @input: No tetanus and diphtheria booster doses were administered @pseudocode: Count of vaccines administered (where "Vaccine type" = "Tetanus and diphtheria-containing vaccines" and "Type of dose" = "Booster dose") = 0 @code: No tetanus and diphtheria booster doses were administered-140 @decision: IMMZ.D2.DT.DTP.On-time start: DTP vaccination schedule, on-time start (at ≤ 12 months of age) @decision: IMMZ.D2.DT.DTP.Delayed or interrupted series: DTP vaccination schedule for the following groups: children ≥ 1 year of age with no previous immunization, adolescents and adults with no previous immunization (including pregnant women) and supplementary immunization activities in high-risk areas, for women of reproductive age @decision: IMMZ.D2.DT.DTP.Pregnancy starting with 3 doses: Diphtheria and tetanus vaccination schedule in pregnant women who received 3 childhood DTP doses */ define "No tetanus and diphtheria booster doses were administered": "Number of Td Booster Series Doses Administered" = 0
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 51
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD18SDTPOnTimeStartLogic
extension:
  url:
    v: name
    l: name
  value: String
    v: Tetanus and diphtheria-containing vaccine booster dose 1
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @output: Tetanus and diphtheria-containing vaccine booster dose 1 @description: Provision of tetanus and diphtheria booster dose 1 @trigger: The primary DTP series has been completed @pseudo: "Completed the primary vaccination series" = TRUE (where "Vaccine type" = "DTP-containing vaccines") @triggerDate: Latest "Date and time of vaccination" (where "Vaccine type" = "DTP-containing vaccines") */ define "Tetanus and diphtheria-containing vaccine booster dose 1": "Third DTP dose from the primary series was administered. The primary DTP series has been completed" and Encounter."No tetanus and diphtheria booster doses were administered"
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 52
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD18SDTPOnTimeStartLogic
extension:
  url:
    v: name
    l: name
  value: String
    v: Tetanus and diphtheria-containing vaccine booster dose 1 Due Date
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @dynamicValue: Tetanus and diphtheria-containing vaccine booster dose 1 Due Date @pseudocode: "Date of birth" + 12 months */ define "Tetanus and diphtheria-containing vaccine booster dose 1 Due Date": if "Tetanus and diphtheria-containing vaccine booster dose 1" then Patient.birthDate + 12 months else null
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 53
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD18SDTPOnTimeStartLogic
extension:
  url:
    v: name
    l: name
  value: String
    v: Tetanus and diphtheria-containing vaccine booster dose 1 Overdue
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @dynamicValue: Tetanus and diphtheria-containing vaccine booster dose 1 Overdue @pseudocode: "Date of birth" + 24 months */ define "Tetanus and diphtheria-containing vaccine booster dose 1 Overdue": if "Tetanus and diphtheria-containing vaccine booster dose 1" then Patient.birthDate + 24 months else null
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 54
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD18SDTPOnTimeStartLogic
extension:
  url:
    v: name
    l: name
  value: String
    v: Tetanus and diphtheria-containing vaccine booster dose 1 Create
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @output: Tetanus and diphtheria-containing vaccine booster dose 1 Create @create: Three booster doses of diphtheria-containing vaccine should be provided during childhood and adolescence. The diphtheria booster doses should be given in combination with tetanus using the same schedule (i.e at 12–23 months of age, 4–7 years of age and 9–15 years of age, using age-appropriate vaccine formulations). Ideally, there should be at least 4 years between booster doses. Member States may update this schedule based on their country context. */ define "Tetanus and diphtheria-containing vaccine booster dose 1 Create": if "Tetanus and diphtheria-containing vaccine booster dose 1" then 'Three booster doses of diphtheria-containing vaccine should be provided during childhood and adolescence. The diphtheria booster doses should be given in combination with tetanus using the same schedule (i.e at 12–23 months of age, 4–7 years of age and 9–15 years of age, using age-appropriate vaccine formulations). Ideally, there should be at least 4 years between booster doses. Member States may update this schedule based on their country context.' + ' Due Date: ' + ToString("Tetanus and diphtheria-containing vaccine booster dose 1 Due Date") + ' Overdue: ' + ToString("Tetanus and diphtheria-containing vaccine booster dose 1 Overdue") else ''
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 55
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD2DTDTPEncounterElements
extension:
  url:
    v: name
    l: name
  value: String
    v: Three tetanus and diphtheria booster doses were administered
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @input: Three tetanus and diphtheria booster doses were administered @pseudocode: Count of vaccines administered (where "Vaccine type" = "Tetanus and diphtheria-containing vaccines" and "Type of dose" = "Booster dose") = 3 @code: Three tetanus and diphtheria booster doses were administered-140 @decision: IMMZ.D2.DT.DTP.On-time start: DTP vaccination schedule, on-time start (at ≤ 12 months of age) @decision: IMMZ.D2.DT.DTP.Pregnancy: Determine whether DTP-containing vaccines are needed for pregnant women @decision: IMMZ.D2.DT.DTP.Pregnancy starting with 3 doses: Diphtheria and tetanus vaccination schedule in pregnant women who received 3 childhood DTP doses @decision: IMMZ.D2.DT.DTP.Pregnancy starting with 4 doses: Diphtheria and tetanus vaccination schedule in pregnant women who received 4 childhood DTP doses */ define "Three tetanus and diphtheria booster doses were administered": "Number of Td Booster Series Doses Administered" = 3
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 56
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD18SDTPOnTimeStartLogic
extension:
  url:
    v: name
    l: name
  value: String
    v: Third tetanus and diphtheria booster dose was administered. Tetanus and diphtheria immunization schedule has been completed
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @complete: Third tetanus and diphtheria booster dose was administered. Tetanus and diphtheria immunization schedule has been completed @pseudocode: Count of vaccines administered (where "Vaccine type" = "Tetanus and diphtheria-containing vaccines" and "Type of dose" = "Booster dose") = 3 "Immunization recommendation status" = "Complete" (where "Vaccine type" = "Tetanus and diphtheria-containing vaccines") */ define "Third tetanus and diphtheria booster dose was administered. Tetanus and diphtheria immunization schedule has been completed": Encounter."Three tetanus and diphtheria booster doses were administered"
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 57
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD18SDTPOnTimeStartLogic
extension:
  url:
    v: name
    l: name
  value: String
    v: Tetanus and diphtheria-containing vaccine booster dose 3
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @output: Tetanus and diphtheria-containing vaccine booster dose 3 @description: Provision of tetanus and diphtheria booster dose 3 @trigger: Second tetanus and diphtheria booster dose was administered @pseudo: Count of vaccines administered (where "Vaccine type" = "Tetanus and diphtheria-containing vaccines" and "Type of dose" = "Booster dose") = 2 @triggerDate: Latest "Date and time of vaccination" (where "Vaccine type" = "Tetanus and diphtheria-containing vaccines") */ define "Tetanus and diphtheria-containing vaccine booster dose 3": "Second tetanus and diphtheria booster dose was administered" and not "Third tetanus and diphtheria booster dose was administered. Tetanus and diphtheria immunization schedule has been completed"
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 58
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD18SDTPOnTimeStartLogic
extension:
  url:
    v: name
    l: name
  value: String
    v: Tetanus and diphtheria-containing vaccine booster dose 3 Due Date
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @dynamicValue: Tetanus and diphtheria-containing vaccine booster dose 3 Due Date @pseudocode: "Date of birth" + 9 years */ define "Tetanus and diphtheria-containing vaccine booster dose 3 Due Date": if "Tetanus and diphtheria-containing vaccine booster dose 3" then Patient.birthDate + 9 years else null
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 59
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD18SDTPOnTimeStartLogic
extension:
  url:
    v: name
    l: name
  value: String
    v: Tetanus and diphtheria-containing vaccine booster dose 3 Overdue
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @dynamicValue: Tetanus and diphtheria-containing vaccine booster dose 3 Overdue @pseudocode: "Date of birth" + 16 years */ define "Tetanus and diphtheria-containing vaccine booster dose 3 Overdue": if "Tetanus and diphtheria-containing vaccine booster dose 3" then Patient.birthDate + 16 years else null
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 60
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD18SDTPOnTimeStartLogic
extension:
  url:
    v: name
    l: name
  value: String
    v: Tetanus and diphtheria-containing vaccine booster dose 3 Create
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @output: Tetanus and diphtheria-containing vaccine booster dose 3 Create @create: Three booster doses of diphtheria-containing vaccine should be provided during childhood and adolescence. The diphtheria booster doses should be given in combination with tetanus using the same schedule (i.e at 12–23 months of age, 4–7 years of age and 9–15 years of age, using age-appropriate vaccine formulations). Ideally, there should be at least 4 years between booster doses. Member States may update this schedule based on their country context. */ define "Tetanus and diphtheria-containing vaccine booster dose 3 Create": if "Tetanus and diphtheria-containing vaccine booster dose 3" then 'Three booster doses of diphtheria-containing vaccine should be provided during childhood and adolescence. The diphtheria booster doses should be given in combination with tetanus using the same schedule (i.e at 12–23 months of age, 4–7 years of age and 9–15 years of age, using age-appropriate vaccine formulations). Ideally, there should be at least 4 years between booster doses. Member States may update this schedule based on their country context.' + ' Due Date: ' + ToString("Tetanus and diphtheria-containing vaccine booster dose 3 Due Date") + ' Overdue: ' + ToString("Tetanus and diphtheria-containing vaccine booster dose 3 Overdue") else ''
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 61
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: 62
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: 63
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: 64
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: 65
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: 66
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: 67
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: 68
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: 69
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: ToDate
extension:
  url:
    v: statement
    l: statement
  value: String
    v: define function ToDate(value date): value.value
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 70
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: seriesBooster
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /** * @description: Gets the doses from the Booster series */ define fluent function seriesBooster(immunizations List<Immunization>): immunizations I where exists( I.protocolApplied pa where pa.series = 'Booster dose' )
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 71
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: LatestOf
extension:
  url:
    v: statement
    l: statement
  value: String
    v: define function LatestOf(dates List<Date>): Max(dates)
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 72
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/IMMZD2DTDTPEncounterElements
  l: IMMZD2DTDTPEncounterElements

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 DTPElements
resource:
  v: http://smart.who.int/immunizations/Library/IMMZD2DTDTPElements
  l: IMMZD2DTDTPElements

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 WC
resource:
  v: http://smart.who.int/immunizations/Library/WHOCommon
  l: WHOCommon

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 DTP-containing vaccines
resource:
  v: http://smart.who.int/immunizations/ValueSet/IMMZ.Z.DE24
  l: IMMZ.Z.DE24

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

type:
  v: depends-on
display:
  v: Value set Tetanus and diphtheria-containing vaccines
resource:
  v: http://smart.who.int/immunizations/ValueSet/IMMZ.Z.DE28
  l: IMMZ.Z.DE28

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

name:
  v: DTP dose 3 Create
use:
  v: out
min:
  v: 0
max:
  v: 1
type:
  v: string

name:
  v: DTP dose 3
use:
  v: out
min:
  v: 0
max:
  v: 1
type:
  v: boolean

name:
  v: DTP dose 1 Create
use:
  v: out
min:
  v: 0
max:
  v: 1
type:
  v: string

name:
  v: Pertussis-containing vaccine booster dose Create
use:
  v: out
min:
  v: 0
max:
  v: 1
type:
  v: string

name:
  v: DTP dose 2 Create
use:
  v: out
min:
  v: 0
max:
  v: 1
type:
  v: string

name:
  v: Pertussis-containing vaccine booster dose
use:
  v: out
min:
  v: 0
max:
  v: 1
type:
  v: boolean

name:
  v: Tetanus and diphtheria-containing vaccine booster dose 2 Create
use:
  v: out
min:
  v: 0
max:
  v: 1
type:
  v: string

name:
  v: Tetanus and diphtheria-containing vaccine booster dose 1
use:
  v: out
min:
  v: 0
max:
  v: 1
type:
  v: boolean

name:
  v: Tetanus and diphtheria-containing vaccine booster dose 1 Create
use:
  v: out
min:
  v: 0
max:
  v: 1
type:
  v: string

name:
  v: Tetanus and diphtheria-containing vaccine booster dose 3 Create
use:
  v: out
min:
  v: 0
max:
  v: 1
type:
  v: string

name:
  v: Tetanus and diphtheria-containing vaccine booster dose 3
use:
  v: out
min:
  v: 0
max:
  v: 1
type:
  v: boolean

name:
  v: Tetanus and diphtheria-containing vaccine booster dose 2
use:
  v: out
min:
  v: 0
max:
  v: 1
type:
  v: boolean

name:
  v: DTP dose 1
use:
  v: out
min:
  v: 0
max:
  v: 1
type:
  v: boolean

name:
  v: DTP dose 2
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: 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

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

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: IMMZD18SDTPOnTimeStart

v: IMMZ.D18.S.DTP.On-time start schedule

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-03T13:07:11+00:00

v: WHO

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

v: IMMZ.D18.S.DTP.On-time start schedule Diphtheria–tetanus–pertussis (DTP) vaccination schedule, on-time start (at ≤ 12 months of age)

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

title:
  v: DTP dose 1
description:
  v: Provision of DTP dose 1 Trigger event: Child's birth Trigger pseudo: Trigger date: "Date of birth" Create condition: DTP dose 1 should be provided if the client is older than 6 weeks of age.
condition:
  kind:
    v: applicability
  expression:
    description:
      v: DTP dose 1
    language:
      v: text/cql-identifier
    expression:
      v: DTP dose 1
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: DTP dose 1 Create
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' }

title:
  v: DTP dose 2
description:
  v: Provision of DTP dose 2 Trigger event: First DTP dose from the primary series was administered Trigger pseudo: Count of vaccines administered (where "Vaccine type" = "DTP-containing vaccines" and "Type of dose" = "Primary series") = 1 Trigger date: Latest "Date and time of vaccination" (where "Vaccine type" = "DTP-containing vaccines") Create condition: DTP dose 2 should be provided if the client was given the previous DTP dose more than 4 weeks ago.
condition:
  kind:
    v: applicability
  expression:
    description:
      v: DTP dose 2
    language:
      v: text/cql-identifier
    expression:
      v: DTP dose 2
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: DTP dose 2 Create
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' }

title:
  v: DTP dose 3
description:
  v: Provision of DTP dose 3 Trigger event: Second DTP dose from the primary series was administered Trigger pseudo: Count of vaccines administered (where "Vaccine type" = "DTP-containing vaccines" and "Type of dose" = "Primary series" ) = 2 Trigger date: Latest "Date and time of vaccination" (where "Vaccine type" = "DTP-containing vaccines") Create condition: DTP dose 3 should be provided if the client received the previous dose more than 4 weeks ago.
condition:
  kind:
    v: applicability
  expression:
    description:
      v: DTP dose 3
    language:
      v: text/cql-identifier
    expression:
      v: DTP dose 3
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: DTP dose 3 Create
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' }

title:
  v: Tetanus and diphtheria-containing vaccine booster dose 1
description:
  v: Provision of tetanus and diphtheria booster dose 1 Trigger event: The primary DTP series has been completed Trigger pseudo: "Completed the primary vaccination series" = TRUE (where "Vaccine type" = "DTP-containing vaccines") Trigger date: Latest "Date and time of vaccination" (where "Vaccine type" = "DTP-containing vaccines") Create condition: Three booster doses of diphtheria-containing vaccine should be provided during childhood and adolescence. The diphtheria booster doses should be given in combination with tetanus using the same schedule (i.e at 12–23 months of age, 4–7 years of age and 9–15 years of age, using age-appropriate vaccine formulations). Ideally, there should be at least 4 years between booster doses. Member States may update this schedule based on their country context.
condition:
  kind:
    v: applicability
  expression:
    description:
      v: Tetanus and diphtheria-containing vaccine booster dose 1
    language:
      v: text/cql-identifier
    expression:
      v: Tetanus and diphtheria-containing vaccine booster dose 1
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: Tetanus and diphtheria-containing vaccine booster dose 1 Create
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' }

title:
  v: Tetanus and diphtheria-containing vaccine booster dose 2
description:
  v: Provision of tetanus and diphtheria booster dose 2 Trigger event: First tetanus and diphtheria booster dose was administered Trigger pseudo: Count of vaccines administered (where "Vaccine type" = "Tetanus and diphtheria-containing vaccines" and "Type of dose" = "Booster dose") = 1 Trigger date: Latest "Date and time of vaccination" (where "Vaccine type" = "Tetanus and diphtheria-containing vaccines") Create condition: Three booster doses of diphtheria-containing vaccine should be provided during childhood and adolescence. The diphtheria booster doses should be given in combination with tetanus using the same schedule (i.e at 12–23 months of age, 4–7 years of age and 9–15 years of age, using age-appropriate vaccine formulations). Ideally, there should be at least 4 years between booster doses. Member States may update this schedule based on their country context.
condition:
  kind:
    v: applicability
  expression:
    description:
      v: Tetanus and diphtheria-containing vaccine booster dose 2
    language:
      v: text/cql-identifier
    expression:
      v: Tetanus and diphtheria-containing vaccine booster dose 2
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: Tetanus and diphtheria-containing vaccine booster dose 2 Create
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' }

title:
  v: Tetanus and diphtheria-containing vaccine booster dose 3
description:
  v: Provision of tetanus and diphtheria booster dose 3 Trigger event: Second tetanus and diphtheria booster dose was administered Trigger pseudo: Count of vaccines administered (where "Vaccine type" = "Tetanus and diphtheria-containing vaccines" and "Type of dose" = "Booster dose") = 2 Trigger date: Latest "Date and time of vaccination" (where "Vaccine type" = "Tetanus and diphtheria-containing vaccines") Create condition: Three booster doses of diphtheria-containing vaccine should be provided during childhood and adolescence. The diphtheria booster doses should be given in combination with tetanus using the same schedule (i.e at 12–23 months of age, 4–7 years of age and 9–15 years of age, using age-appropriate vaccine formulations). Ideally, there should be at least 4 years between booster doses. Member States may update this schedule based on their country context.
condition:
  kind:
    v: applicability
  expression:
    description:
      v: Tetanus and diphtheria-containing vaccine booster dose 3
    language:
      v: text/cql-identifier
    expression:
      v: Tetanus and diphtheria-containing vaccine booster dose 3
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: Tetanus and diphtheria-containing vaccine booster dose 3 Create
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' }

title:
  v: Pertussis-containing vaccine booster dose
description:
  v: Provision of the pertussis-containing vaccine booster dose Trigger event: The primary DTP series has been completed and client's age is between 1 and 6 years Trigger pseudo: "Completed the primary vaccination series" = TRUE (where "Vaccine type" = "DTP-containing vaccines") AND 1 year ≤ Today's date − "Date of birth" ≤ 6 years Trigger date: Latest "Date and time of vaccination" (where "Vaccine type" = "DTP-containing vaccines") Create condition: A booster dose is recommended for children aged 1–6 years, preferably during the second year of life (≥6 months after last primary dose).
condition:
  kind:
    v: applicability
  expression:
    description:
      v: Pertussis-containing vaccine booster dose
    language:
      v: text/cql-identifier
    expression:
      v: Pertussis-containing vaccine booster dose
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: Pertussis-containing vaccine booster dose Create
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' }