Id: IMMZD2DTDTPOnTimeStart Url: IMMZ.D2.DT.DTP.On-time start Version: 0.2.0 Title: IMMZ.D2.DT.DTP.On-time start Status: draft Type: system: http://terminology.hl7.org/CodeSystem/plan-definition-type code: eca-rule Date: 2026-03-25 23:30:34+0000 Publisher: WHO Description: IMMZ.D2.DT.DTP.On-time start 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: IMMZD2DTDTPOnTimeStartLogic Actions: Determine if the client is due for DTP.: Determine if the client is due for DTP vaccine according to the national immunization protocol. DTP vaccination schedule, on-time start (at ≤ 12 months of age) If: Applicability: Client is due for DTP vaccination (Client is due for DTP vaccination) Then: Definition: IMMZD2DTMR Dynamic Values: status: ('draft') intent: ('proposal') medication: (Concept { codes: { Code { system: 'http://smart.who.int/immunizations/CodeSystem/IMMZ.Z', code: 'DE24', display: 'DTP-containing vaccines' } }, display: 'DTP-containing vaccines' }) Determine if the client is due for DTP.: Determine if the client is due for DTP vaccine according to the national immunization protocol. DTP vaccination schedule, on-time start (at ≤ 12 months of age) If: Applicability: Primary DTP series is complete. Client is due for tetanus and diphtheria booster dose (Primary DTP series is complete. Client is due for tetanus and diphtheria booster dose) Then: Definition: IMMZD2DTMR Dynamic Values: status: ('draft') intent: ('proposal') medication: (Concept { codes: { Code { system: 'http://smart.who.int/immunizations/CodeSystem/IMMZ.Z', code: 'DE28', display: 'Tetanus and diphtheria-containing vaccines' } }, display: 'Tetanus and diphtheria-containing vaccines' }) Determine if the client is due for DTP.: Determine if the client is due for DTP vaccine according to the national immunization protocol. DTP vaccination schedule, on-time start (at ≤ 12 months of age) If: Applicability: Client is due for tetanus and diphtheria booster dose (Client is due for tetanus and diphtheria booster dose) Then: Definition: IMMZD2DTMR Dynamic Values: status: ('draft') intent: ('proposal') medication: (Concept { codes: { Code { system: 'http://smart.who.int/immunizations/CodeSystem/IMMZ.Z', code: 'DE28', display: 'Tetanus and diphtheria-containing vaccines' } }, display: 'Tetanus and diphtheria-containing vaccines' }) Determine if the client is due for DTP.: Determine if the client is due for DTP vaccine according to the national immunization protocol. DTP vaccination schedule, on-time start (at ≤ 12 months of age) If: Applicability: Primary DTP series is complete. Client is due for pertussis booster dose (Primary DTP series is complete. Client is due for pertussis booster dose) Then: Definition: IMMZD2DTMR Dynamic Values: status: ('draft') intent: ('proposal') medication: (Concept { codes: { Code { system: 'http://smart.who.int/immunizations/CodeSystem/IMMZ.Z', code: 'DE12', display: 'Pertussis-containing vaccines' } }, display: 'Pertussis-containing vaccines' }) Check for Guidance for the patient regarding IMMZ.D2.DT.DTP.On-time start.: Show Guidance for the patient regarding IMMZ.D2.DT.DTP.On-time start. If: Applicability: Has Guidance (Has Guidance) Then: Definition: IMMZ.D2.DT.CR Dynamic Values: status: ('active') payload.contentString: (Guidance) category.coding: (Code { system: 'http://terminology.hl7.org/CodeSystem/communication-category', code: 'alert' }) priority: (Code { system: 'http://hl7.org/fhir/request-priority', code: 'routine' })
/** * @dataElement 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
/* @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
/** * @dataElement Patient age in months */ define "Current Patient Age In Months": AgeInMonthsAt(Today)
/* @input: Client's age is less than 12 months @pseudocode: Today's date − "Date of birth" < 12 months @code: Client's age is less than 12 months-42 @decision: IMMZ.D2.DT.DTP.On-time start: DTP vaccination schedule, on-time start (at ≤ 12 months of age) */ define "Client's age is less than 12 months": Encounter."Current Patient Age In Months" < 12
Primary DTP series is complete. Client is not due for tetanus and diphtheria booster dose
/* @output: Primary DTP series is complete. Client is not due for tetanus and diphtheria booster dose @pseudocode: "Immunization recommendation status" = "Not due" (where "Vaccine type" ="Tetanus and diphtheria-containing vaccines") "Completed the primary vaccination series" = TRUE (where "Vaccine type" = "DTP-containing vaccines") */ define "Primary DTP series is complete. Client is not due for tetanus and diphtheria booster dose": Encounter."Three DTP primary series doses were administered" and Encounter."No tetanus and diphtheria booster doses were administered" and Encounter."Client's age is less than 12 months"
/* @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")
No pertussis booster doses were administered
/* @input: No pertussis booster doses were administered @pseudocode: Count of vaccines administered (where "Vaccine type" = "Pertussis-containing vaccines" and "Type of dose" = "Booster dose") = 0 @code: No pertussis booster doses were 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 "No pertussis booster doses were administered": "Number of Pertussis Booster Series Doses Administered" = 0
/** * @dataElement Patient age in years */ define "Current Patient Age In Years": AgeInYearsAt(Today)
/* @input: Client's age is less than 1 year @pseudocode: Today's date − "Date of birth" < 1 year @code: Client's age is less than 1 year-39 @decision: IMMZ.D2.DT.DTP.On-time start: DTP vaccination schedule, on-time start (at ≤ 12 months of age) */ define "Client's age is less than 1 year": Encounter."Current Patient Age In Years" < 1
Client is not due for pertussis booster dose
/* @output: Client is not due for pertussis booster dose @pseudocode: "Immunization recommendation status" = "Not due" */ define "Client is not due for pertussis booster dose": Encounter."Three DTP primary series doses were administered" and Encounter."No pertussis booster doses were administered" and Encounter."Client's age is less than 1 year"
Primary DTP series is complete. Client is not due for tetanus and diphtheria booster dose Guidance
/* @output: Primary DTP series is complete. Client is not due for tetanus and diphtheria booster dose Guidance @guidance: Should not vaccinate client with first tetanus and diphtheria booster dose as client's age is less than 12 months. Check for any other vaccines due and inform the caregiver of when to come back for first tetanus and diphtheria booster dose. */ define "Primary DTP series is complete. Client is not due for tetanus and diphtheria booster dose Guidance": 'Should not vaccinate client with first tetanus and diphtheria booster dose as client\'s age is less than 12 months. Check for any other vaccines due and inform the caregiver of when to come back for first tetanus and diphtheria booster dose.'
Client is not due for pertussis booster dose Guidance
/* @output: Client is not due for pertussis booster dose Guidance @guidance: Should not vaccinate client with pertussis booster dose as client's age is less than 1 year. Check for any other vaccines due and inform the caregiver of when to come back for pertussis booster dose. */ define "Client is not due for pertussis booster dose Guidance": 'Should not vaccinate client with pertussis booster dose as client\'s age is less than 1 year. Check for any other vaccines due and inform the caregiver of when to come back for pertussis booster dose.'
Client's age is more than or equal to 12 months
/* @input: Client's age is more than or equal to 12 months @pseudocode: Today's date − "Date of birth" ≥ 12 months @code: Client's age is more than or equal to 12 months-42 @decision: IMMZ.D2.DT.DTP.On-time start: DTP vaccination schedule, on-time start (at ≤ 12 months of age) */ define "Client's age is more than or equal to 12 months": Encounter."Current Patient Age In Months" >= 12
Primary DTP series is complete. Client is due for tetanus and diphtheria booster dose
/* @output: Primary DTP series is complete. Client is due for tetanus and diphtheria booster dose @pseudocode: "Immunization recommendation status" = "Due" (where "Vaccine type" = "Tetanus and diphtheria-containing vaccines") "Completed the primary vaccination series" = TRUE (where "Vaccine type" = "DTP-containing vaccines") */ define "Primary DTP series is complete. Client is due for tetanus and diphtheria booster dose": Encounter."Three DTP primary series doses were administered" and Encounter."No tetanus and diphtheria booster doses were administered" and Encounter."Client's age is more than or equal to 12 months"
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
/* @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()
The latest DTP dose was administered less than 6 months ago
/* @input: The latest DTP dose was administered less than 6 months ago @pseudocode: Today's date − latest "Date and time of vaccination" (where "Vaccine type" = "DTP-containing vaccines") < 6 months @code: The latest DTP dose was administered less than 6 months ago-114 @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 "The latest DTP dose was administered less than 6 months ago": "Date of Latest DTP Dose" is not null and duration in months between "Date of Latest DTP Dose" and Today < 6
Primary DTP series is complete. Client is not due for pertussis booster dose
/* @output: Primary DTP series is complete. Client is not due for pertussis booster dose @pseudocode: "Immunization recommendation status" = "Not due" (where "Vaccine type" = "Pertussis-containing vaccines") "Completed the primary vaccination series" = TRUE (where "Vaccine type" = "DTP-containing vaccines") */ define "Primary DTP series is complete. Client is not due for pertussis booster dose": Encounter."Three DTP primary series doses were administered" and Encounter."No pertussis booster doses were administered" and Encounter."Client's age is between 1 year and 6 years" and Encounter."The latest DTP dose was administered less than 6 months ago"
Primary DTP series is complete. Client is due for tetanus and diphtheria booster dose Guidance
/* @output: Primary DTP series is complete. Client is due for tetanus and diphtheria booster dose Guidance @guidance: Should vaccinate client with first tetanus and diphtheria booster dose as client is at least 12 months old. Check for contraindications. */ define "Primary DTP series is complete. Client is due for tetanus and diphtheria booster dose Guidance": 'Should vaccinate client with first tetanus and diphtheria booster dose as client is at least 12 months old. Check for contraindications.'
Primary DTP series is complete. Client is not due for pertussis booster dose Guidance
/* @output: Primary DTP series is complete. Client is not due for pertussis booster dose Guidance @guidance: Should not vaccinate client with pertussis booster dose as the latest DTP dose was administered less than 6 months ago. Check for any other vaccines due and inform the caregiver of when to come back for pertussis booster dose. */ define "Primary DTP series is complete. Client is not due for pertussis booster dose Guidance": 'Should not vaccinate client with pertussis booster dose as the latest DTP dose was administered less than 6 months ago. Check for any other vaccines due and inform the caregiver of when to come back for pertussis booster dose.'
The latest DTP dose was administered more than 6 months ago
/* @input: The latest DTP dose was administered more than 6 months ago @pseudocode: Today's date − latest "Date and time of vaccination" (where "Vaccine type" = "DTP-containing vaccines") ≥ 6 months @code: The latest DTP dose was administered more than 6 months ago-114 @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 "The latest DTP dose was administered more than 6 months ago": not("The latest DTP dose was administered less than 6 months ago")
Primary DTP series is complete. Client is due for pertussis booster dose
/* @output: Primary DTP series is complete. Client is due for pertussis booster dose @pseudocode: "Immunization recommendation status" = "Due" (where "Vaccine type" = "Pertussis-containing vaccines") "Completed the primary vaccination series" = TRUE (where "Vaccine type" = "DTP-containing vaccines") */ define "Primary DTP series is complete. Client is due for pertussis booster dose": Encounter."Three DTP primary series doses were administered" and Encounter."No pertussis booster doses were administered" and Encounter."Client's age is between 1 year and 6 years" and Encounter."The latest DTP dose was administered more than 6 months ago"
Primary DTP series is complete. Client is due for pertussis booster dose Guidance
/* @output: Primary DTP series is complete. Client is due for pertussis booster dose Guidance @guidance: Should vaccinate client with pertussis booster dose as no pertussis booster dose was administered, client is within the appropriate age range and the latest DTP dose was administered more than 6 months ago. Check for contraindications. */ define "Primary DTP series is complete. Client is due for pertussis booster dose Guidance": 'Should vaccinate client with pertussis booster dose as no pertussis booster dose was administered, client is within the appropriate age range and the latest DTP dose was administered more than 6 months ago. Check for contraindications.'
/* @input: Client's age is more than 6 years @pseudocode: Today's date − "Date of birth" > 6 years @code: Client's age is more than 6 years-40 @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 more than 6 years": Encounter."Current Patient Age In Years" > 6
Pertussis immunization schedule is complete Case 1
/* @output: Pertussis immunization schedule is complete Case 1 @pseudocode: "Immunization recommendation status" = "Complete" (where "Vaccine type" = "Pertussis-containing vaccines") */ define "Pertussis immunization schedule is complete Case 1": Encounter."Three DTP primary series doses were administered" and Encounter."No pertussis booster doses were administered" and Encounter."Client's age is more than 6 years"
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 immunization schedule is complete Case 2
/* @output: Pertussis immunization schedule is complete Case 2 @pseudocode: "Immunization recommendation status" = "Complete" (where "Vaccine type" = "Pertussis-containing vaccines") */ define "Pertussis immunization schedule is complete Case 2": Encounter."Three DTP primary series doses were administered" and Encounter."One pertussis booster dose was administered"
Pertussis immunization schedule is complete
/* @output: Pertussis immunization schedule is complete @pseudocode: "Immunization recommendation status" = "Complete" (where "Vaccine type" = "Pertussis-containing vaccines") */ define "Pertussis immunization schedule is complete": "Pertussis immunization schedule is complete Case 1" or "Pertussis immunization schedule is complete Case 2"
Pertussis immunization schedule is complete Guidance
/* @output: Pertussis immunization schedule is complete Guidance @guidance = Pertussis immunization schedule is complete. Three DTP primary series doses were administered. Check for any other vaccines due. @guidance = Pertussis immunization schedule is complete. Three DTP primary series doses and one pertussis booster dose were administered. Check for any other vaccines due. */ define "Pertussis immunization schedule is complete Guidance": case when "Pertussis immunization schedule is complete Case 1" then 'Pertussis immunization schedule is complete. Three DTP primary series doses were administered. Check for any other vaccines due.' when "Pertussis immunization schedule is complete Case 2" then 'Pertussis immunization schedule is complete. Three DTP primary series doses and one pertussis booster dose were administered. Check for any other vaccines due.' else '' end
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
/* @input: Client's age is less than 4 years @pseudocode: Today's date − "Date of birth" < 4 years @code: Client's age is less than 4 years-40 @decision: IMMZ.D2.DT.DTP.On-time start: DTP vaccination schedule, on-time start (at ≤ 12 months of age) */ define "Client's age is less than 4 years": Encounter."Current Patient Age In Years" < 4
Client is not due for tetanus and diphtheria booster dose Case 1
/* @output: Client is not due for tetanus and diphtheria booster dose Case 1 @pseudocode: "Immunization recommendation status" = "Not due" (where "Vaccine type" = "Tetanus and diphtheria-containing vaccines") */ define "Client is not due for tetanus and diphtheria booster dose Case 1": Encounter."Three DTP primary series doses were administered" and Encounter."One tetanus and diphtheria booster dose was administered" and Encounter."Client's age is less than 4 years"
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
/* @input: Client's age is less than 9 years @pseudocode: Today's date − "Date of birth" < 9 years @code: Client's age is less than 9 years-40 @decision: IMMZ.D2.DT.DTP.On-time start: DTP vaccination schedule, on-time start (at ≤ 12 months of age) */ define "Client's age is less than 9 years": Encounter."Current Patient Age In Years" < 9
Client is not due for tetanus and diphtheria booster dose Case 2
/* @output: Client is not due for tetanus and diphtheria booster dose Case 2 @pseudocode: "Immunization recommendation status" = "Not due" (where "Vaccine type" = "Tetanus and diphtheria-containing vaccines") */ define "Client is not due for tetanus and diphtheria booster dose Case 2": Encounter."Three DTP primary series doses were administered" and Encounter."Two tetanus and diphtheria booster doses were administered" and Encounter."Client's age is less than 9 years"
Client is not due for tetanus and diphtheria booster dose
/* @output: Client is not due for tetanus and diphtheria booster dose @pseudocode: "Immunization recommendation status" = "Not due" (where "Vaccine type" = "Tetanus and diphtheria-containing vaccines") */ define "Client is not due for tetanus and diphtheria booster dose": "Client is not due for tetanus and diphtheria booster dose Case 1" or "Client is not due for tetanus and diphtheria booster dose Case 2"
Client is not due for tetanus and diphtheria booster dose Guidance
/* @output: Client is not due for tetanus and diphtheria booster dose Guidance @guidance = Should not vaccinate client with second tetanus and diphtheria booster dose as client's age is less than 4 years. Check for any other vaccines due and inform the caregiver of when to come back for second tetanus and diphtheria booster dose. @guidance = Should not vaccinate client with third tetanus and diphtheria booster dose as client's age is less than 9 years. Check for any vaccines due, and inform the caregiver of when to come back for third tetanus and diphtheria booster dose. */ define "Client is not due for tetanus and diphtheria booster dose Guidance": case when "Client is not due for tetanus and diphtheria booster dose Case 1" then 'Should not vaccinate client with second tetanus and diphtheria booster dose as client\'s age is less than 4 years. Check for any other vaccines due and inform the caregiver of when to come back for second tetanus and diphtheria booster dose.' when "Client is not due for tetanus and diphtheria booster dose Case 2" then 'Should not vaccinate client with third tetanus and diphtheria booster dose as client\'s age is less than 9 years. Check for any vaccines due, and inform the caregiver of when to come back for third tetanus and diphtheria booster dose.' else '' end
Client's age is more than or equal to 4 years
/* @input: Client's age is more than or equal to 4 years @pseudocode: Today's date − "Date of birth" ≥ 4 years @code: Client's age is more than or equal to 4 years-40 @decision: IMMZ.D2.DT.DTP.On-time start: DTP vaccination schedule, on-time start (at ≤ 12 months of age) */ define "Client's age is more than or equal to 4 years": Encounter."Current Patient Age In Years" >= 4
Client is due for tetanus and diphtheria booster dose Case 1
/* @output: Client is due for tetanus and diphtheria booster dose Case 1 @pseudocode: "Immunization recommendation status" = "Due" (where "Vaccine type" = "Tetanus and diphtheria-containing vaccines") */ define "Client is due for tetanus and diphtheria booster dose Case 1": Encounter."Three DTP primary series doses were administered" and Encounter."One tetanus and diphtheria booster dose was administered" and Encounter."Client's age is more than or equal to 4 years"
Client's age is more than or equal to 9 years
/* @input: Client's age is more than or equal to 9 years @pseudocode: Today's date − "Date of birth" ≥ 9 years @code: Client's age is more than or equal to 9 years-40 @decision: IMMZ.D2.DT.DTP.On-time start: DTP vaccination schedule, on-time start (at ≤ 12 months of age) */ define "Client's age is more than or equal to 9 years": Encounter."Current Patient Age In Years" >= 9
Client is due for tetanus and diphtheria booster dose Case 2
/* @output: Client is due for tetanus and diphtheria booster dose Case 2 @pseudocode: "Immunization recommendation status" = "Due" (where "Vaccine type" = "Tetanus and diphtheria-containing vaccines") */ define "Client is due for tetanus and diphtheria booster dose Case 2": Encounter."Three DTP primary series doses were administered" and Encounter."Two tetanus and diphtheria booster doses were administered" and Encounter."Client's age is more than or equal to 9 years"
Client is due for tetanus and diphtheria booster dose
/* @output: Client is due for tetanus and diphtheria booster dose @pseudocode: "Immunization recommendation status" = "Due" (where "Vaccine type" = "Tetanus and diphtheria-containing vaccines") */ define "Client is due for tetanus and diphtheria booster dose": "Client is due for tetanus and diphtheria booster dose Case 1" or "Client is due for tetanus and diphtheria booster dose Case 2"
Client is due for tetanus and diphtheria booster dose Guidance
/* @output: Client is due for tetanus and diphtheria booster dose Guidance @guidance = Should vaccinate client with second tetanus and diphtheria booster dose as client is within appropriate age range and the latest tetanus and diphtheria booster dose was administered more than 4 years ago. Check for contraindications. @guidance = Should vaccinate client with third tetanus and diphtheria booster dose as client is within appropriate age range and the latest tetanus and diphtheria dose was administered more than 4 years ago. Check for contraindications. */ define "Client is due for tetanus and diphtheria booster dose Guidance": case when "Client is due for tetanus and diphtheria booster dose Case 1" then 'Should vaccinate client with second tetanus and diphtheria booster dose as client is within appropriate age range and the latest tetanus and diphtheria booster dose was administered more than 4 years ago. Check for contraindications.' when "Client is due for tetanus and diphtheria booster dose Case 2" then 'Should vaccinate client with third tetanus and diphtheria booster dose as client is within appropriate age range and the latest tetanus and diphtheria dose was administered more than 4 years ago. Check for contraindications.' else '' end
Three tetanus and diphtheria booster doses were administered
/* @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
Tetanus and diphtheria immunization schedule is complete
/* @output: Tetanus and diphtheria immunization schedule is complete @pseudocode: "Immunization recommendation status" = "Complete" (where "Vaccine type" = "Tetanus and diphtheria-containing vaccines") */ define "Tetanus and diphtheria immunization schedule is complete": Encounter."Three DTP primary series doses were administered" and Encounter."Three tetanus and diphtheria booster doses were administered"
Tetanus and diphtheria immunization schedule is complete Guidance
/* @output: Tetanus and diphtheria immunization schedule is complete Guidance @guidance: Tetanus and diphtheria immunization schedule is complete. Three DTP primary series doses and three tetanus and diphtheria booster doses were administered. Check for any other vaccines due. */ define "Tetanus and diphtheria immunization schedule is complete Guidance": 'Tetanus and diphtheria immunization schedule is complete. Three DTP primary series doses and three tetanus and diphtheria booster doses were administered. Check for any other vaccines due.'
/** * @dataElement Patient age in weeks */ define "Current Patient Age In Weeks": AgeInWeeksAt(Today)
/* @input: Client's age is less than 6 weeks @pseudocode: Today's date − "Date of birth" < 6 weeks @code: Client's age is less than 6 weeks-40 @decision: IMMZ.D2.DT.DTP.On-time start: DTP vaccination schedule, on-time start (at ≤ 12 months of age) */ define "Client's age is less than 6 weeks": Encounter."Current Patient Age In Weeks" < 6
Client is not due for DTP vaccination Case 1
/* @output: Client is not due for DTP vaccination Case 1 @pseudocode: "Immunization recommendation status" = "Not due" (where "Vaccine type" = "DTP-containing vaccines") */ define "Client is not due for DTP vaccination Case 1": Encounter."Client's age is less than 6 weeks"
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
The latest DTP dose was administered less than 4 weeks ago
/* @input: The latest DTP dose was administered less than 4 weeks ago @pseudocode: Today's date − latest "Date and time of vaccination" (where "Vaccine type" = "DTP-containing vaccines") < 4 weeks @code: The latest DTP dose was administered less than 4 weeks ago-113 @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 "The latest DTP dose was administered less than 4 weeks ago": "Date of Latest DTP Dose" is not null and duration in weeks between "Date of Latest DTP Dose" and Today < 4
Client is not due for DTP vaccination Case 2
/* @output: Client is not due for DTP vaccination Case 2 @pseudocode: "Immunization recommendation status" = "Not due" (where "Vaccine type" = "DTP-containing vaccines") */ define "Client is not due for DTP vaccination Case 2": Encounter."One DTP primary series dose was administered" and Encounter."The latest DTP dose was administered less than 4 weeks ago"
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
Client is not due for DTP vaccination Case 3
/* @output: Client is not due for DTP vaccination Case 3 @pseudocode: "Immunization recommendation status" = "Not due" (where "Vaccine type" = "DTP-containing vaccines") */ define "Client is not due for DTP vaccination Case 3": Encounter."Two DTP primary series doses were administered" and Encounter."The latest DTP dose was administered less than 4 weeks ago"
/* @output: Client is not due for DTP vaccination @pseudocode: "Immunization recommendation status" = "Not due" (where "Vaccine type" = "DTP-containing vaccines") */ define "Client is not due for DTP vaccination": "Client is not due for DTP vaccination Case 1" or "Client is not due for DTP vaccination Case 2" or "Client is not due for DTP vaccination Case 3"
Client is not due for DTP vaccination Guidance
/* @output: Client is not due for DTP vaccination Guidance @guidance = Should not vaccinate client with first DTP dose as client is less than 6 weeks old. Check for any other vaccines due and inform the caregiver of when to come back for first dose. @guidance = Should not vaccinate client with second DTP dose as latest DTP dose was administered less than 4 weeks ago. Check for any other vaccines due and inform the caregiver of when to come back for second dose. @guidance = Should not vaccinate client with third DTP dose as the latest DTP dose was administered less than 4 weeks ago. Check for any other vaccines due and inform the caregiver of when to come back for next dose. */ define "Client is not due for DTP vaccination Guidance": case when "Client is not due for DTP vaccination Case 1" then 'Should not vaccinate client with first DTP dose as client is less than 6 weeks old. Check for any other vaccines due and inform the caregiver of when to come back for first dose.' when "Client is not due for DTP vaccination Case 2" then 'Should not vaccinate client with second DTP dose as latest DTP dose was administered less than 4 weeks ago. Check for any other vaccines due and inform the caregiver of when to come back for second dose.' when "Client is not due for DTP vaccination Case 3" then 'Should not vaccinate client with third DTP dose as the latest DTP dose was administered less than 4 weeks ago. Check for any other vaccines due and inform the caregiver of when to come back for next dose.' else '' end
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
Client's age is between 6 weeks and 1 year
/* @input: Client's age is between 6 weeks and 1 year @pseudocode: 6 weeks ≤ Today's date − "Date of birth" < 1 year @code: Client's age is between 6 weeks and 1 year-49 @decision: IMMZ.D2.DT.DTP.On-time start: DTP vaccination schedule, on-time start (at ≤ 12 months of age) */ define "Client's age is between 6 weeks and 1 year": 6 <= Encounter."Current Patient Age In Weeks" and Encounter."Current Patient Age In Years" < 1
Client is due for DTP vaccination Case 1
/* @output: Client is due for DTP vaccination Case 1 @pseudocode: "Immunization recommendation status" = "Due" (where "Vaccine type" = "DTP-containing vaccines") */ define "Client is due for DTP vaccination Case 1": Encounter."No DTP primary series doses were administered" and Encounter."Client's age is between 6 weeks and 1 year"
The latest DTP dose was administered more than 4 weeks ago
/* @input: The latest DTP dose was administered more than 4 weeks ago @pseudocode: Today's date − latest "Date and time of vaccination" (where "Vaccine type" = "DTP-containing vaccines") ≥ 4 weeks @code: The latest DTP dose was administered more than 4 weeks ago-113 @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 "The latest DTP dose was administered more than 4 weeks ago": not("The latest DTP dose was administered less than 4 weeks ago")
Client is due for DTP vaccination Case 2
/* @output: Client is due for DTP vaccination Case 2 @pseudocode: "Immunization recommendation status" = "Due" (where "Vaccine type" = "DTP-containing vaccines") */ define "Client is due for DTP vaccination Case 2": Encounter."One DTP primary series dose was administered" and Encounter."The latest DTP dose was administered more than 4 weeks ago"
Client is due for DTP vaccination Case 3
/* @output: Client is due for DTP vaccination Case 3 @pseudocode: "Immunization recommendation status" = "Due" (where "Vaccine type" = "DTP-containing vaccines") */ define "Client is due for DTP vaccination Case 3": Encounter."Two DTP primary series doses were administered" and Encounter."The latest DTP dose was administered more than 4 weeks ago"
/* @output: Client is due for DTP vaccination @pseudocode: "Immunization recommendation status" = "Due" (where "Vaccine type" = "DTP-containing vaccines") */ define "Client is due for DTP vaccination": "Client is due for DTP vaccination Case 1" or "Client is due for DTP vaccination Case 2" or "Client is due for DTP vaccination Case 3"
Client is due for DTP vaccination Guidance
/* @output: Client is due for DTP vaccination Guidance @guidance = Should vaccinate client with first DTP dose as no DTP doses were administered and and client's age is within appropriate age range. Check for contraindications. @guidance = Should vaccinate client with second DTP dose as the latest DTP dose was administered more than 4 weeks ago. Check for contraindications. @guidance = Should vaccinate client with third DTP dose as the latest DTP dose was administered more than 4 weeks ago. Check for contraindications. */ define "Client is due for DTP vaccination Guidance": case when "Client is due for DTP vaccination Case 1" then 'Should vaccinate client with first DTP dose as no DTP doses were administered and and client\'s age is within appropriate age range. Check for contraindications.' when "Client is due for DTP vaccination Case 2" then 'Should vaccinate client with second DTP dose as the latest DTP dose was administered more than 4 weeks ago. Check for contraindications.' when "Client is due for DTP vaccination Case 3" then 'Should vaccinate client with third DTP dose as the latest DTP dose was administered more than 4 weeks ago. Check for contraindications.' else '' end
/* @dynamicValue: Guidance */ define "Guidance": case // Handling overlaps for Pertussis and Td boosters. when "Primary DTP series is complete. Client is not due for tetanus and diphtheria booster dose" and "Client is not due for pertussis booster dose" then "Primary DTP series is complete. Client is not due for tetanus and diphtheria booster dose Guidance" + '\n' + "Client is not due for pertussis booster dose Guidance" when "Primary DTP series is complete. Client is due for tetanus and diphtheria booster dose" and "Primary DTP series is complete. Client is not due for pertussis booster dose" then "Primary DTP series is complete. Client is due for tetanus and diphtheria booster dose Guidance" + '\n' + "Primary DTP series is complete. Client is not due for pertussis booster dose Guidance" when "Primary DTP series is complete. Client is due for tetanus and diphtheria booster dose" and "Primary DTP series is complete. Client is due for pertussis booster dose" then "Primary DTP series is complete. Client is due for tetanus and diphtheria booster dose Guidance" + '\n' + "Primary DTP series is complete. Client is due for pertussis booster dose Guidance" when "Primary DTP series is complete. Client is due for tetanus and diphtheria booster dose" and "Pertussis immunization schedule is complete" then "Primary DTP series is complete. Client is due for tetanus and diphtheria booster dose Guidance" + '\n' + "Pertussis immunization schedule is complete Guidance" when "Client is not due for tetanus and diphtheria booster dose" and "Primary DTP series is complete. Client is not due for pertussis booster dose" then "Client is not due for tetanus and diphtheria booster dose Guidance" + '\n' + "Primary DTP series is complete. Client is not due for pertussis booster dose Guidance" when "Client is not due for tetanus and diphtheria booster dose" and "Primary DTP series is complete. Client is due for pertussis booster dose" then "Client is not due for tetanus and diphtheria booster dose Guidance" + '\n' + "Primary DTP series is complete. Client is due for pertussis booster dose Guidance" when "Client is not due for tetanus and diphtheria booster dose" and "Pertussis immunization schedule is complete" then "Client is not due for tetanus and diphtheria booster dose Guidance" + '\n' + "Pertussis immunization schedule is complete Guidance" when "Client is due for tetanus and diphtheria booster dose" and "Primary DTP series is complete. Client is not due for pertussis booster dose" then "Client is due for tetanus and diphtheria booster dose Guidance" + '\n' + "Primary DTP series is complete. Client is not due for pertussis booster dose Guidance" when "Client is due for tetanus and diphtheria booster dose" and "Primary DTP series is complete. Client is due for pertussis booster dose" then "Client is due for tetanus and diphtheria booster dose Guidance" + '\n' + "Primary DTP series is complete. Client is due for pertussis booster dose Guidance" when "Client is due for tetanus and diphtheria booster dose" and "Pertussis immunization schedule is complete" then "Client is due for tetanus and diphtheria booster dose Guidance" + '\n' + "Pertussis immunization schedule is complete Guidance" when "Tetanus and diphtheria immunization schedule is complete" and "Pertussis immunization schedule is complete" then "Tetanus and diphtheria immunization schedule is complete Guidance" + '\n' + "Pertussis immunization schedule is complete Guidance" when "Client is not due for DTP vaccination" then "Client is not due for DTP vaccination Guidance" when "Client is due for DTP vaccination" then "Client is due for DTP vaccination Guidance" when "Primary DTP series is complete. Client is not due for tetanus and diphtheria booster dose" then "Primary DTP series is complete. Client is not due for tetanus and diphtheria booster dose Guidance" when "Primary DTP series is complete. Client is due for tetanus and diphtheria booster dose" then "Primary DTP series is complete. Client is due for tetanus and diphtheria booster dose Guidance" when "Client is not due for tetanus and diphtheria booster dose" then "Client is not due for tetanus and diphtheria booster dose Guidance" when "Client is due for tetanus and diphtheria booster dose" then "Client is due for tetanus and diphtheria booster dose Guidance" when "Tetanus and diphtheria immunization schedule is complete" then "Tetanus and diphtheria immunization schedule is complete Guidance" when "Client is not due for pertussis booster dose" then "Client is not due for pertussis booster dose Guidance" when "Primary DTP series is complete. Client is not due for pertussis booster dose" then "Primary DTP series is complete. Client is not due for pertussis booster dose Guidance" when "Primary DTP series is complete. Client is due for pertussis booster dose" then "Primary DTP series is complete. Client is due for pertussis booster dose Guidance" when "Pertussis immunization schedule is complete" then "Pertussis immunization schedule is complete Guidance" else '' end
define "Has Guidance": "Guidance" is not null and "Guidance" != ''
/** * @description: Gets immunizations on or before a date */ define fluent function onOrBefore(immunizations List<Immunization>, beforeDate Date): immunizations I where I.occurrence.toInterval() same day or before beforeDate
/** * @description: Gets the doses from the primary series */ define fluent function seriesPrimary(immunizations List<Immunization>): immunizations I where exists( I.protocolApplied pa where pa.series = 'Primary series' )
define function ToString(value string): value.value
define function ToString(value ImmunizationStatus): value.value
define function ToBoolean(value boolean): value.value
define function ToConcept(concept FHIR.CodeableConcept): if concept is null then null else System.Concept { codes: concept.coding C return ToCode(C), display: concept.text.value }
define function ToCode(coding FHIR.Coding): if coding is null then null else System.Code { code: coding.code.value, system: coding.system.value, version: coding.version.value, display: coding.display.value }
/** * @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() )
Value set Tetanus and diphtheria-containing vaccines
IMMZ.D2.DT.DTP.On-time start DTP vaccination schedule, on-time start (at ≤ 12 months of age)
WHO recommendations for routine immunization - summary tables (January 2025)
A primary series of 3 doses of DTP-containing vaccine is recommended, with the first dose administered as early as 6 weeks of age. Subsequent doses should be given with an interval of at least 4 weeks between doses.
Determine if the client is due for DTP vaccine according to the national immunization protocol. DTP vaccination schedule, on-time start (at ≤ 12 months of age)
Concept { codes: { Code { system: 'http://smart.who.int/immunizations/CodeSystem/IMMZ.Z', code: 'DE24', display: 'DTP-containing vaccines' } }, display: 'DTP-containing vaccines' }
Three booster doses of diphtheria toxoid-containing vaccine should be provided during childhood and adolescence. The diphtheria booster doses should be given in combination with tetanus toxoid 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. For children aged under 7 years, diphtheria and tetanus toxoids and whole-cell pertussis (DTwP) vaccine or diphtheria and tetanus toxoids and acellular pertussis (DTaP) combinations may be used. For children aged 4 years and older, tetanus toxoid, reduced diphtheria toxoid (Td)-containing vaccine may be used and is preferred. From 7 years of age, only Td combinations should be used. Age-appropriate combinations-containing pertussis vaccine with low-dose diphtheria antigen are also available. Only aP-containing vaccines should be used for vaccination of persons aged 7 years and older. National vaccination schedules can be adjusted within the age limits specified above to enable programmes to tailor their schedules based on local epidemiology, the objectives of the immunization programme, any particular programmatic issues and to better align tetanus vaccination with the immunological requirements of other vaccines (particularly for pertussis and diphtheria).
Concept { codes: { Code { system: 'http://smart.who.int/immunizations/CodeSystem/IMMZ.Z', code: 'DE28', display: 'Tetanus and diphtheria-containing vaccines' } }, display: 'Tetanus and diphtheria-containing vaccines' }
A pertussis booster dose is recommended for children aged 1–6 years, preferably during the second year of life (≥ 6 months after last primary dose), unless otherwise indicated by local epidemiology; the contact could also be used to catch up on any missed doses of other vaccines. This schedule should provide protection for at least 6 years for countries using wP-containing vaccine. For countries using aP-containing vaccine, protection may decline appreciably before 6 years of age. Only aP-containing vaccines should be used for vaccination of persons aged 7 years and over. Although a booster dose in adolescence has been shown to decrease disease in adolescents, this is not generally recommended as a means of controlling pertussis in infants.
Concept { codes: { Code { system: 'http://smart.who.int/immunizations/CodeSystem/IMMZ.Z', code: 'DE12', display: 'Pertussis-containing vaccines' } }, display: 'Pertussis-containing vaccines' }
Check for Guidance for the patient regarding IMMZ.D2.DT.DTP.On-time start.
Show Guidance for the patient regarding IMMZ.D2.DT.DTP.On-time start.
Code { system: 'http://terminology.hl7.org/CodeSystem/communication-category', code: 'alert' }
Code { system: 'http://hl7.org/fhir/request-priority', code: 'routine' }