Id: IMMZD18SDTPDelayedOrInterruptedSeries Url: IMMZ.D18.S.DTP.Delayed or interrupted schedule Version: 0.2.0 Title: IMMZ.D18.S.DTP.Delayed or interrupted schedule Status: draft Type: system: http://terminology.hl7.org/CodeSystem/plan-definition-type code: eca-rule Date: 2026-03-29 17:23:09+0000 Publisher: WHO Description: IMMZ.D18.S.DTP.Delayed or interrupted schedule Diphtheria–tetanus–pertussis (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 Knowledge Capability: computable Related Artifacts: References WHO recommendations for routine immunization - summary tables (January 2025) Libraries: IMMZD18SDTPDelayedOrInterruptedSeriesLogic Actions: DTP dose 1 (delayed start): Provision of DTP dose 1 with a delayed start Trigger event: No DTP doses were administered and client's age is more than 1 year Trigger pseudo: Count of vaccines administered (where "Vaccine type" = "DTP-containing vaccines") = 0 AND Today's date − "Date of birth" > 1 year Trigger date: Date of birth Create condition: For children whose vaccination series has been interrupted, the series should be resumed without repeating previous doses. Children aged 1 year to under 7 years who have not previously been vaccinated should receive 3 doses of vaccine following a 0, 1, 6 month schedule. If tetanus vaccination is started during adolescence or adulthood, a total of only 5 appropriately spaced doses are required to obtain lifelong protection. Pregnant women and their newborn infants are protected from birth-associated tetanus if the mother received 5 doses if first vaccinated during adolescence/adulthood. If: Applicability: DTP dose 1 (delayed start) (DTP dose 1 (delayed start)) Then: Definition: IMMZ.D2.DT.CR Dynamic Values: status: ('active') payload.contentString: (DTP dose 1 (delayed start) 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 (delayed start): Provision of DTP dose 2 with a delayed start 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: For children whose vaccination series has been interrupted, the series should be resumed without repeating previous doses. Children aged 1 year to under 7 years who have not previously been vaccinated should receive 3 doses of vaccine following a 0, 1, 6 month schedule. If tetanus vaccination is started during adolescence or adulthood, a total of only 5 appropriately spaced doses are required to obtain lifelong protection. Pregnant women and their newborn infants are protected from birth-associated tetanus if the mother received 5 doses if first vaccinated during adolescence/adulthood. If: Applicability: DTP dose 2 (delayed start) (DTP dose 2 (delayed start)) Then: Definition: IMMZ.D2.DT.CR Dynamic Values: status: ('active') payload.contentString: (DTP dose 2 (delayed start) 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 (delayed start): Provision of DTP dose 3 with a delayed start 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: For children whose vaccination series has been interrupted, the series should be resumed without repeating previous doses. Children aged 1 year to under 7 years who have not previously been vaccinated should receive 3 doses of vaccine following a 0, 1, 6 month schedule. If tetanus vaccination is started during adolescence or adulthood, a total of only 5 appropriately spaced doses are required to obtain lifelong protection. Pregnant women and their newborn infants are protected from birth-associated tetanus if the mother received 5 doses if first vaccinated during adolescence/adulthood. If: Applicability: DTP dose 3 (delayed start) (DTP dose 3 (delayed start)) Then: Definition: IMMZ.D2.DT.CR Dynamic Values: status: ('active') payload.contentString: (DTP dose 3 (delayed start) 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' }) Tetanus and diphtheria-containing vaccine booster dose 1 (delayed start): 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: Two subsequent booster doses using tetanus toxoid with reduced diphteria toxoid (Td) or Td with acellular pertussis (TdaP) combination vaccines are needed with an interval of at least 1 year between doses. If: Applicability: Tetanus and diphtheria-containing vaccine booster dose 1 (delayed start) (Tetanus and diphtheria-containing vaccine booster dose 1 (delayed start)) Then: Definition: IMMZ.D2.DT.CR Dynamic Values: status: ('active') payload.contentString: (Tetanus and diphtheria-containing vaccine booster dose 1 (delayed start) 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' }) Tetanus and diphtheria-containing vaccine booster dose 2 (delayed start): 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: Two subsequent booster doses using tetanus toxoid with reduced diphteria toxoid (Td) or Td with acellular pertussis (TdaP) combination vaccines are needed with an interval of at least 1 year between doses. If: Applicability: Tetanus and diphtheria-containing vaccine booster dose 2 (delayed start) (Tetanus and diphtheria-containing vaccine booster dose 2 (delayed start)) Then: Definition: IMMZ.D2.DT.CR Dynamic Values: status: ('active') payload.contentString: (Tetanus and diphtheria-containing vaccine booster dose 2 (delayed start) 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' }) Pertussis-containing vaccine booster dose 1 (delayed start): Provision of the pertussis-containing booster dose 1 Trigger event: The primary DTP series has been completed and client's age is between 1 year 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). If: Applicability: Pertussis-containing vaccine booster dose 1 (delayed start) (Pertussis-containing vaccine booster dose 1 (delayed start)) Then: Definition: IMMZ.D2.DT.CR Dynamic Values: status: ('active') payload.contentString: (Pertussis-containing vaccine booster dose 1 (delayed start) 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' })
/** * @dataElement All Doses Administered to Patient */ define "Doses Administered to Patient": [Immunization] I where I.status = 'completed' and I.isSubpotent is not true
/* @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"
DTP Primary Series Doses Administered to Patient
/* @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()
/* @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)
Number of DTP Primary Series Doses Administered
/* @internal: Number of DTP Primary Series doses */ define "Number of DTP Primary Series Doses Administered": Count("DTP Primary Series Doses Administered to Patient")
Three DTP primary series doses were administered
/* @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
Third DTP dose from the primary series was administered. The primary DTP series has been completed
/* @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"
/* @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"
Td Booster Series Doses Administered to Patient
/* @internal: Td Booster Series Doses Administered to Patient */ define "Td Booster Series Doses Administered to Patient": "Td Doses Administered to Patient".seriesBooster()
/* @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)
Number of Td Booster Series Doses Administered
/* @internal: Number of Td Booster Series Doses Administered */ define "Number of Td Booster Series Doses Administered": Count("Td Booster Series Doses Administered to Patient")
No tetanus and diphtheria booster doses were administered
/* @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
Tetanus and diphtheria-containing vaccine booster dose 1 (delayed start)
/* @output: Tetanus and diphtheria-containing vaccine booster dose 1 (delayed start) @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 (delayed start)": "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"
/* @internal: DTP containing Doses Administered to Patient */ define "DTP Doses Administered to Patient": DTPElements."DTP Doses Administered to Patient".onOrBefore(Today)
/* @internal: Date of Latest DTP Dose */ define "Date of Latest DTP Dose": date from start of "DTP Doses Administered to Patient".mostRecent().occurrence.toInterval()
Tetanus and diphtheria-containing vaccine booster dose 1 (delayed start) Due Date
/* @dynamicValue: Tetanus and diphtheria-containing vaccine booster dose 1 (delayed start) Due Date @pseudocode: Latest "Date and time of vaccination" (where "Vaccine type" = "DTP-containing vaccines") + 1 year */ define "Tetanus and diphtheria-containing vaccine booster dose 1 (delayed start) Due Date": if "Tetanus and diphtheria-containing vaccine booster dose 1 (delayed start)" then Encounter."Date of Latest DTP Dose" + 1 year else null
Tetanus and diphtheria-containing vaccine booster dose 1 (delayed start) Create
/* @output: Tetanus and diphtheria-containing vaccine booster dose 1 (delayed start) Create @create: Two subsequent booster doses using tetanus toxoid with reduced diphteria toxoid (Td) or Td with acellular pertussis (TdaP) combination vaccines are needed with an interval of at least 1 year between doses. */ define "Tetanus and diphtheria-containing vaccine booster dose 1 (delayed start) Create": if "Tetanus and diphtheria-containing vaccine booster dose 1 (delayed start)" then 'Two subsequent booster doses using tetanus toxoid with reduced diphteria toxoid (Td) or Td with acellular pertussis (TdaP) combination vaccines are needed with an interval of at least 1 year between doses.' + ' Due Date: ' + ToString("Tetanus and diphtheria-containing vaccine booster dose 1 (delayed start) Due Date") else ''
One tetanus and diphtheria booster dose was administered
/* @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
First tetanus and diphtheria booster dose was administered
/* @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"
Two tetanus and diphtheria booster doses were administered
/* @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
Second tetanus and diphtheria booster dose was administered. Tetanus and diphtheria immunization schedule has been completed
/* @complete: Second 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") = 2 "Immunization recommendation status" = "Complete" (where "Vaccine type" = "Tetanus and diphtheria-containing vaccines") */ define "Second tetanus and diphtheria booster dose was administered. Tetanus and diphtheria immunization schedule has been completed": Encounter."Two tetanus and diphtheria booster doses were administered"
Tetanus and diphtheria-containing vaccine booster dose 2 (delayed start)
/* @output: Tetanus and diphtheria-containing vaccine booster dose 2 (delayed start) @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 (delayed start)": "First tetanus and diphtheria booster dose was administered" and not "Second tetanus and diphtheria booster dose was administered. Tetanus and diphtheria immunization schedule has been completed"
/** * @dataElement Patient age in years */ define "Current Patient Age In Years": AgeInYearsAt(Today)
Client's age is between 1 year and 6 years
/* @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
Pertussis-containing vaccine booster dose 1 (delayed start) Expiration
/* @dynamicValue: Pertussis-containing vaccine booster dose 1 (delayed start) Expiration @pseudocode: "Date of birth" + 7 years */ define "Pertussis-containing vaccine booster dose 1 (delayed start) Expiration": Patient.birthDate + 7 years
/* @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"
Pertussis Booster Series Doses Administered to Patient
/* @internal: Pertussis Booster Series Doses Administered to Patient */ define "Pertussis Booster Series Doses Administered to Patient": "Pertussis Doses Administered to Patient".seriesBooster()
/* @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)
Number of Pertussis Booster Series Doses Administered
/* @internal: Number of Pertussis Booster Series Doses Administered */ define "Number of Pertussis Booster Series Doses Administered": Count("Pertussis Booster Series Doses Administered to Patient")
One pertussis booster dose was administered
/* @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
Pertussis-containing booster dose was administered. Pertussis immunization schedule has been completed
/* @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"
Pertussis-containing vaccine booster dose 1 (delayed start)
/* @output: Pertussis-containing vaccine booster dose 1 (delayed start) @description: Provision of the pertussis-containing booster dose 1 @trigger: The primary DTP series has been completed and client's age is between 1 year 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 1 (delayed start)": "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 "Pertussis-containing vaccine booster dose 1 (delayed start) Expiration" after day of Today and not "Pertussis-containing booster dose was administered. Pertussis immunization schedule has been completed"
/* @internal: Pertussis Doses Administered to Patient */ define "Pertussis Doses Administered to Patient": DTPElements."Pertussis Doses Administered to Patient".onOrBefore(Today)
/* @internal: Date of Latest Pertussis Dose */ define "Date of Latest Pertussis Dose": date from start of "Pertussis Doses Administered to Patient".mostRecent().occurrence.toInterval()
Pertussis-containing vaccine booster dose 1 (delayed start) Due Date
/* @dynamicValue: Pertussis-containing vaccine booster dose 1 (delayed start) Due Date @pseudocode: Latest "Date and time of vaccination" (where "Vaccine type" = "Pertussis-containing vaccines") + 6 months */ define "Pertussis-containing vaccine booster dose 1 (delayed start) Due Date": if "Pertussis-containing vaccine booster dose 1 (delayed start)" then Encounter."Date of Latest Pertussis Dose" + 6 months else null
Pertussis-containing vaccine booster dose 1 (delayed start) Overdue
/* @dynamicValue: Pertussis-containing vaccine booster dose 1 (delayed start) Overdue @pseudocode: "Date of birth" + 7 years */ define "Pertussis-containing vaccine booster dose 1 (delayed start) Overdue": if "Pertussis-containing vaccine booster dose 1 (delayed start)" then Patient.birthDate + 7 years else null
Pertussis-containing vaccine booster dose 1 (delayed start) Create
/* @output: Pertussis-containing vaccine booster dose 1 (delayed start) 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 1 (delayed start) Create": if "Pertussis-containing vaccine booster dose 1 (delayed start)" 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 1 (delayed start) Due Date") + ' Overdue: ' + ToString("Pertussis-containing vaccine booster dose 1 (delayed start) Overdue") + ' Expiration: ' + ToString("Pertussis-containing vaccine booster dose 1 (delayed start) Expiration") else ''
Two DTP primary series doses were administered
/* @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
Second DTP dose from the primary series was administered
/* @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"
/* @output: DTP dose 3 (delayed start) @description: Provision of DTP dose 3 with a delayed start @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 (delayed start)": "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"
/* @dynamicValue: DTP dose 3 (delayed start) Due Date @pseudocode: Latest "Date and time of vaccination" (where "Vaccine type" = "DTP-containing vaccines") + 6 months */ define "DTP dose 3 (delayed start) Due Date": if "DTP dose 3 (delayed start)" then Encounter."Date of Latest DTP Dose" + 6 months else null
/* @output: DTP dose 3 (delayed start) Create @create: For children whose vaccination series has been interrupted, the series should be resumed without repeating previous doses. Children aged 1 year to under 7 years who have not previously been vaccinated should receive 3 doses of vaccine following a 0, 1, 6 month schedule. If tetanus vaccination is started during adolescence or adulthood, a total of only 5 appropriately spaced doses are required to obtain lifelong protection. Pregnant women and their newborn infants are protected from birth-associated tetanus if the mother received 5 doses if first vaccinated during adolescence/adulthood. */ define "DTP dose 3 (delayed start) Create": if "DTP dose 3 (delayed start)" then 'For children whose vaccination series has been interrupted, the series should be resumed without repeating previous doses. Children aged 1 year to under 7 years who have not previously been vaccinated should receive 3 doses of vaccine following a 0, 1, 6 month schedule. If tetanus vaccination is started during adolescence or adulthood, a total of only 5 appropriately spaced doses are required to obtain lifelong protection. Pregnant women and their newborn infants are protected from birth-associated tetanus if the mother received 5 doses if first vaccinated during adolescence/adulthood.' + ' Due Date: ' + ToString("DTP dose 3 (delayed start) Due Date") else ''
No DTP primary series doses were administered
/* @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
/* @input: Client's age is more than 1 year @pseudocode: Today's date − "Date of birth" > 1 year @code: Client's age is more than 1 year-39 @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 more than 1 year": Encounter."Current Patient Age In Years" >= 1
/* @output: DTP dose 1 (delayed start) @description: Provision of DTP dose 1 with a delayed start @trigger: No DTP doses were administered and client's age is more than 1 year @pseudo: Count of vaccines administered (where "Vaccine type" = "DTP-containing vaccines") = 0 AND Today's date − "Date of birth" > 1 year @triggerDate: Date of birth */ define "DTP dose 1 (delayed start)": Encounter."No DTP primary series doses were administered" and Encounter."Client's age is more than 1 year"
/* @dynamicValue: DTP dose 1 (delayed start) Due Date @pseudocode: As soon as possible */ define "DTP dose 1 (delayed start) Due Date": if "DTP dose 1 (delayed start)" then Patient.birthDate + 1 year else null
/* @output: DTP dose 1 (delayed start) Create @create: For children whose vaccination series has been interrupted, the series should be resumed without repeating previous doses. Children aged 1 year to under 7 years who have not previously been vaccinated should receive 3 doses of vaccine following a 0, 1, 6 month schedule. If tetanus vaccination is started during adolescence or adulthood, a total of only 5 appropriately spaced doses are required to obtain lifelong protection. Pregnant women and their newborn infants are protected from birth-associated tetanus if the mother received 5 doses if first vaccinated during adolescence/adulthood. */ define "DTP dose 1 (delayed start) Create": if "DTP dose 1 (delayed start)" then 'For children whose vaccination series has been interrupted, the series should be resumed without repeating previous doses. Children aged 1 year to under 7 years who have not previously been vaccinated should receive 3 doses of vaccine following a 0, 1, 6 month schedule. If tetanus vaccination is started during adolescence or adulthood, a total of only 5 appropriately spaced doses are required to obtain lifelong protection. Pregnant women and their newborn infants are protected from birth-associated tetanus if the mother received 5 doses if first vaccinated during adolescence/adulthood.' + ' Due Date: ' + ToString("DTP dose 1 (delayed start) Due Date") else ''
One DTP primary series dose was administered
/* @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
First DTP dose from the primary series was administered
/* @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"
/* @output: DTP dose 2 (delayed start) @description: Provision of DTP dose 2 with a delayed start @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 (delayed start)": "First DTP dose from the primary series was administered" and not "Second DTP dose from the primary series was administered"
/* @dynamicValue: DTP dose 2 (delayed start) Due Date @pseudocode: Latest "Date and time of vaccination" (where "Vaccine type" = "DTP-containing vaccines") + 4 weeks */ define "DTP dose 2 (delayed start) Due Date": if "DTP dose 2 (delayed start)" then Encounter."Date of Latest DTP Dose" + 4 weeks else null
/* @output: DTP dose 2 (delayed start) Create @create: For children whose vaccination series has been interrupted, the series should be resumed without repeating previous doses. Children aged 1 year to under 7 years who have not previously been vaccinated should receive 3 doses of vaccine following a 0, 1, 6 month schedule. If tetanus vaccination is started during adolescence or adulthood, a total of only 5 appropriately spaced doses are required to obtain lifelong protection. Pregnant women and their newborn infants are protected from birth-associated tetanus if the mother received 5 doses if first vaccinated during adolescence/adulthood. */ define "DTP dose 2 (delayed start) Create": if "DTP dose 2 (delayed start)" then 'For children whose vaccination series has been interrupted, the series should be resumed without repeating previous doses. Children aged 1 year to under 7 years who have not previously been vaccinated should receive 3 doses of vaccine following a 0, 1, 6 month schedule. If tetanus vaccination is started during adolescence or adulthood, a total of only 5 appropriately spaced doses are required to obtain lifelong protection. Pregnant women and their newborn infants are protected from birth-associated tetanus if the mother received 5 doses if first vaccinated during adolescence/adulthood.' + ' Due Date: ' + ToString("DTP dose 2 (delayed start) Due Date") else ''
/* @internal: Td Doses Administered to Patient */ define "Td Doses Administered to Patient": DTPElements."Td Doses Administered to Patient".onOrBefore(Today)
/* @internal: Date of Latest Td Dose */ define "Date of Latest Td Dose": date from start of "Td Doses Administered to Patient".mostRecent().occurrence.toInterval()
Tetanus and diphtheria-containing vaccine booster dose 2 (delayed start) Due Date
/* @dynamicValue: Tetanus and diphtheria-containing vaccine booster dose 2 (delayed start) Due Date @pseudocode: Latest "Date and time of vaccination" (where "Vaccine type" = "Tetanus and diphtheria-containing vaccines") + 1 year */ define "Tetanus and diphtheria-containing vaccine booster dose 2 (delayed start) Due Date": if "Tetanus and diphtheria-containing vaccine booster dose 2 (delayed start)" then Encounter."Date of Latest Td Dose" + 1 year else null
Tetanus and diphtheria-containing vaccine booster dose 2 (delayed start) Create
/* @output: Tetanus and diphtheria-containing vaccine booster dose 2 (delayed start) Create @create: Two subsequent booster doses using tetanus toxoid with reduced diphteria toxoid (Td) or Td with acellular pertussis (TdaP) combination vaccines are needed with an interval of at least 1 year between doses. */ define "Tetanus and diphtheria-containing vaccine booster dose 2 (delayed start) Create": if "Tetanus and diphtheria-containing vaccine booster dose 2 (delayed start)" then 'Two subsequent booster doses using tetanus toxoid with reduced diphteria toxoid (Td) or Td with acellular pertussis (TdaP) combination vaccines are needed with an interval of at least 1 year between doses.' + ' Due Date: ' + ToString("Tetanus and diphtheria-containing vaccine booster dose 2 (delayed start) Due Date") else ''
/** * @description: Gets immunizations on or before a date */ define fluent function onOrBefore(immunizations List<Immunization>, beforeDate Date): immunizations I where I.occurrence.toInterval() same day or before beforeDate
/** * @description: Gets the doses from the primary series */ define fluent function seriesPrimary(immunizations List<Immunization>): immunizations I where exists( I.protocolApplied pa where pa.series = 'Primary series' )
define function ToString(value string): value.value
define function ToString(value ImmunizationStatus): value.value
define function ToBoolean(value boolean): value.value
define function ToConcept(concept FHIR.CodeableConcept): if concept is null then null else System.Concept { codes: concept.coding C return ToCode(C), display: concept.text.value }
define function ToCode(coding FHIR.Coding): if coding is null then null else System.Code { code: coding.code.value, system: coding.system.value, version: coding.version.value, display: coding.display.value }
/** * @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' )
define fluent function mostRecent(immunizations List<Immunization>): Last( immunizations I sort by start of occurrence.toInterval() )
define function ToDate(value date): value.value
Value set Tetanus and diphtheria-containing vaccines
IMMZ.D18.S.DTP.Delayed or interrupted schedule
IMMZ.D18.S.DTP.Delayed or interrupted schedule Diphtheria–tetanus–pertussis (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
WHO recommendations for routine immunization - summary tables (January 2025)
Provision of DTP dose 1 with a delayed start Trigger event: No DTP doses were administered and client's age is more than 1 year Trigger pseudo: Count of vaccines administered (where "Vaccine type" = "DTP-containing vaccines") = 0 AND Today's date − "Date of birth" > 1 year Trigger date: Date of birth Create condition: For children whose vaccination series has been interrupted, the series should be resumed without repeating previous doses. Children aged 1 year to under 7 years who have not previously been vaccinated should receive 3 doses of vaccine following a 0, 1, 6 month schedule. If tetanus vaccination is started during adolescence or adulthood, a total of only 5 appropriately spaced doses are required to obtain lifelong protection. Pregnant women and their newborn infants are protected from birth-associated tetanus if the mother received 5 doses if first vaccinated during adolescence/adulthood.
Code { system: 'http://terminology.hl7.org/CodeSystem/communication-category', code: 'alert' }
Code { system: 'http://hl7.org/fhir/request-priority', code: 'routine' }
Provision of DTP dose 2 with a delayed start 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: For children whose vaccination series has been interrupted, the series should be resumed without repeating previous doses. Children aged 1 year to under 7 years who have not previously been vaccinated should receive 3 doses of vaccine following a 0, 1, 6 month schedule. If tetanus vaccination is started during adolescence or adulthood, a total of only 5 appropriately spaced doses are required to obtain lifelong protection. Pregnant women and their newborn infants are protected from birth-associated tetanus if the mother received 5 doses if first vaccinated during adolescence/adulthood.
Provision of DTP dose 3 with a delayed start 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: For children whose vaccination series has been interrupted, the series should be resumed without repeating previous doses. Children aged 1 year to under 7 years who have not previously been vaccinated should receive 3 doses of vaccine following a 0, 1, 6 month schedule. If tetanus vaccination is started during adolescence or adulthood, a total of only 5 appropriately spaced doses are required to obtain lifelong protection. Pregnant women and their newborn infants are protected from birth-associated tetanus if the mother received 5 doses if first vaccinated during adolescence/adulthood.
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: Two subsequent booster doses using tetanus toxoid with reduced diphteria toxoid (Td) or Td with acellular pertussis (TdaP) combination vaccines are needed with an interval of at least 1 year between doses.
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: Two subsequent booster doses using tetanus toxoid with reduced diphteria toxoid (Td) or Td with acellular pertussis (TdaP) combination vaccines are needed with an interval of at least 1 year between doses.
Provision of the pertussis-containing booster dose 1 Trigger event: The primary DTP series has been completed and client's age is between 1 year 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).