Id: IMMZD18STBEFSMEImmun Url: IMMZ.D18.S.TBE.FSME-Immun schedule Version: 0.2.0 Title: IMMZ.D18.S.TBE.FSME-Immun schedule Status: draft Type: system: http://terminology.hl7.org/CodeSystem/plan-definition-type code: eca-rule Date: 2026-03-03 13:07:11+0000 Publisher: WHO Description: IMMZ.D18.S.TBE.FSME-Immun schedule FSME-Immun, 3-dose schedule Knowledge Capability: computable Related Artifacts: References WHO recommendations for routine immunization - summary tables (January 2025) Libraries: IMMZD18STBEFSMEImmunLogic Actions: Tick-borne encephalitis (TBE) FSME-Immun dose 1: Provision of the TBE FSME-Immun dose 1 Trigger event: Child's birth Trigger pseudo: Trigger date: "Date of birth" Create condition: The vaccine can be given from > 1 year of age If: Applicability: Tick-borne encephalitis (TBE) FSME-Immun dose 1 (Tick-borne encephalitis (TBE) FSME-Immun dose 1) Then: Definition: IMMZ.D2.DT.CR Dynamic Values: status: ('active') payload.contentString: (Tick-borne encephalitis (TBE) FSME-Immun dose 1 Create) category.coding: (Code { system: 'http://terminology.hl7.org/CodeSystem/communication-category', code: 'alert' }) priority: (Code { system: 'http://hl7.org/fhir/request-priority', code: 'routine' }) TBE FSME-Immun dose 2: Provision of the TBE FSME-Immun dose 2 Trigger event: First TBE dose from the primary series was administered Trigger pseudo: Count of vaccines administered (where "Vaccine type" = "TBE vaccines" and "Type of dose" = "Primary series") = 1 Trigger date: "Date and time of vaccination" (where "Vaccine type" = "TBE vaccines") Create condition: An interval of 1–3 months is recommended between the first 2 doses If: Applicability: TBE FSME-Immun dose 2 (TBE FSME-Immun dose 2) Then: Definition: IMMZ.D2.DT.CR Dynamic Values: status: ('active') payload.contentString: (TBE FSME-Immun dose 2 Create) category.coding: (Code { system: 'http://terminology.hl7.org/CodeSystem/communication-category', code: 'alert' }) priority: (Code { system: 'http://hl7.org/fhir/request-priority', code: 'routine' }) TBE FSME-Immun dose 3: Provision of the TBE FSME-Immun dose 3 Trigger event: Second TBE dose from the primary series was administered Trigger pseudo: Count of vaccines administered (where "Vaccine type" = "TBE vaccines" and "Type of dose" = "Primary series") = 2 Trigger date: Latest "Date and time of vaccination" (where "Vaccine type" = "TBE vaccines") Create condition: An interval of 5–12 months is recommended between the second and third doses If: Applicability: TBE FSME-Immun dose 3 (TBE FSME-Immun dose 3) Then: Definition: IMMZ.D2.DT.CR Dynamic Values: status: ('active') payload.contentString: (TBE FSME-Immun dose 3 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' }) TBE FSME-Immun booster dose: Provision of the TBE FSME-Immun booster dose Trigger event: The primary series has been completed Trigger pseudo: "Completed the primary vaccination series" = TRUE (where "Vaccine type" = "TBE vaccines") Trigger date: "Date when primary vaccination series was completed" Create condition: The manufacturer recommends a booster dose to be administered 3 years after completion of the primary series If: Applicability: TBE FSME-Immun booster dose (TBE FSME-Immun booster dose) Then: Definition: IMMZ.D2.DT.CR Dynamic Values: status: ('active') payload.contentString: (TBE FSME-Immun booster dose 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
/** * @dataElement All Doses Administered to Patient */ define "Doses Administered to Patient": Elements."Doses Administered to Patient" I where I.occurrence.toInterval() same day or before Today
/* @internal: TBE containing Doses Administered to Patient */ define "TBE Doses Administered to Patient": Encounter."Doses Administered to Patient" I where I.vaccineCode in Concepts."TBE vaccines"
TBE Primary Series Doses Administered to Patient
/* @internal: TBE containing Doses Administered to Patient that are in the Primary series */ define "TBE Primary Series Doses Administered to Patient": "TBE Doses Administered to Patient".seriesPrimary()
Number of TBE Primary Series Doses Administered
/* @internal: Number of TBE Primary Series doses */ define "Number of TBE Primary Series Doses Administered": Count("TBE Primary Series Doses Administered to Patient")
Two TBE primary series doses were administered
/* @input: Two TBE primary series doses were administered @pseudocode: Count of vaccines administered (where "Vaccine type" = "TBE vaccines" and "Type of dose" = "Primary series") = 2 @code: Two TBE primary series doses were administered-112 @decision: IMMZ.D2.DT.TBE.FSME-Immun: FSME-Immun schedule (In areas where the disease is highly endemic, implying that there is a high individual risk of infection, WHO recommends that vaccination be offered to all age groups, including children) @decision: IMMZ.D2.DT.TBE.Encepur: Encepur schedule (In areas where the disease is highly endemic, implying that there is a high individual risk of infection, WHO recommends that vaccination be offered to all age groups, including children ) @decision: IMMZ.D2.DT.TBE.TBE-Moscow: TBE-Moscow schedule (In areas where the disease is highly endemic, implying that there is a high individual risk of infection, WHO recommends that vaccination be offered to all age groups, including children ) @decision: IMMZ.D2.DT.TBE.EnceVir: EnceVir schedule (In areas where the disease is highly endemic, implying that there is a high individual risk of infection, WHO recommends that vaccination be offered to all age groups, including children ) */ define "Two TBE primary series doses were administered": "Number of TBE Primary Series Doses Administered" = 2
Second TBE dose from the primary series was administered
/* @complete: Second TBE dose from the primary series was administered @pseudocode: Count of vaccines administered (where "Vaccine type" = "TBE vaccines" and "Type of dose" = "Primary series") = 2 */ define "Second TBE dose from the primary series was administered": Encounter."Two TBE primary series doses were administered"
Three TBE primary series doses were administered
/* @input: Three TBE primary series doses were administered @pseudocode: Count of vaccines administered (where "Vaccine type" = "TBE vaccines" and "Type of dose" = "Primary series") = 3 @code: Three TBE primary series doses were administered-112 @decision: IMMZ.D2.DT.TBE.FSME-Immun: FSME-Immun schedule (In areas where the disease is highly endemic, implying that there is a high individual risk of infection, WHO recommends that vaccination be offered to all age groups, including children) @decision: IMMZ.D2.DT.TBE.Encepur: Encepur schedule (In areas where the disease is highly endemic, implying that there is a high individual risk of infection, WHO recommends that vaccination be offered to all age groups, including children ) @decision: IMMZ.D2.DT.TBE.TBE-Moscow: TBE-Moscow schedule (In areas where the disease is highly endemic, implying that there is a high individual risk of infection, WHO recommends that vaccination be offered to all age groups, including children ) @decision: IMMZ.D2.DT.TBE.EnceVir: EnceVir schedule (In areas where the disease is highly endemic, implying that there is a high individual risk of infection, WHO recommends that vaccination be offered to all age groups, including children ) */ define "Three TBE primary series doses were administered": "Number of TBE Primary Series Doses Administered" = 3
Third TBE dose from the primary series was administered. The primary series has been completed
/* @complete: Third TBE dose from the primary series was administered. The primary series has been completed @pseudocode: "Completed the primary vaccination series" = TRUE (where "Vaccine type" = "TBE vaccines") */ define "Third TBE dose from the primary series was administered. The primary series has been completed": Encounter."Three TBE primary series doses were administered"
/* @output: TBE FSME-Immun dose 3 @description: Provision of the TBE FSME-Immun dose 3 @trigger: Second TBE dose from the primary series was administered @pseudo: Count of vaccines administered (where "Vaccine type" = "TBE vaccines" and "Type of dose" = "Primary series") = 2 @triggerDate: Latest "Date and time of vaccination" (where "Vaccine type" = "TBE vaccines") */ define "TBE FSME-Immun dose 3": "Second TBE dose from the primary series was administered" and not "Third TBE dose from the primary series was administered. The primary series has been completed"
/* @internal: Date of Latest TBE Dose */ define "Date of Latest TBE Dose": date from start of "TBE Doses Administered to Patient".mostRecent().occurrence.toInterval()
/* @dynamicValue: TBE FSME-Immun dose 3 Due Date @pseudocode: Latest "Date and time of vaccination" (where "Vaccine type" = "TBE vaccines") + 5 months */ define "TBE FSME-Immun dose 3 Due Date": if "TBE FSME-Immun dose 3" then Encounter."Date of Latest TBE Dose" + 5 months else null
/* @dynamicValue: TBE FSME-Immun dose 3 Overdue @pseudocode: Latest "Date and time of vaccination" (where "Vaccine type" = "TBE vaccines") + 12 months */ define "TBE FSME-Immun dose 3 Overdue": if "TBE FSME-Immun dose 3" then Encounter."Date of Latest TBE Dose" + 12 months else null
/* @output: TBE FSME-Immun dose 3 Create @create: An interval of 5–12 months is recommended between the second and third doses */ define "TBE FSME-Immun dose 3 Create": if "TBE FSME-Immun dose 3" then 'An interval of 5–12 months is recommended between the second and third doses' + ' Due Date: ' + ToString("TBE FSME-Immun dose 3 Due Date") + ' Overdue: ' + ToString("TBE FSME-Immun dose 3 Overdue") else ''
TBE Booster Series Doses Administered to Patient
/* @internal: TBE Booster Series Doses Administered to Patient */ define "TBE Booster Series Doses Administered to Patient": "TBE Doses Administered to Patient".seriesBooster()
Number of TBE Booster Series Doses Administered
/* @internal: Number of TBE Booster Series Doses Administered */ define "Number of TBE Booster Series Doses Administered": Count("TBE Booster Series Doses Administered to Patient")
At least one booster dose was administered
/* @input: At least one booster dose was administered @pseudocode: Count of vaccines administered (where "Vaccine type" = "TBE vaccines" and "Type of dose" = "Booster dose") ≥ 1 @code: At least one booster dose was administered-110 @decision: IMMZ.D2.DT.TBE.FSME-Immun: FSME-Immun schedule (In areas where the disease is highly endemic, implying that there is a high individual risk of infection, WHO recommends that vaccination be offered to all age groups, including children) @decision: IMMZ.D2.DT.TBE.Encepur: Encepur schedule (In areas where the disease is highly endemic, implying that there is a high individual risk of infection, WHO recommends that vaccination be offered to all age groups, including children ) */ define "At least one booster dose was administered": "Number of TBE Booster Series Doses Administered" >= 1
/* @complete: TBE booster dose was administered @pseudocode: Count of vaccines administered (where "Vaccine type" = "TBE vaccines" and "Type of dose" = "Booster dose") = 1 */ define "TBE booster dose was administered": Encounter."At least one booster dose was administered"
/* @output: TBE FSME-Immun booster dose @description: Provision of the TBE FSME-Immun booster dose @trigger: The primary series has been completed @pseudo: "Completed the primary vaccination series" = TRUE (where "Vaccine type" = "TBE vaccines") @triggerDate: "Date when primary vaccination series was completed" */ define "TBE FSME-Immun booster dose": "Third TBE dose from the primary series was administered. The primary series has been completed" and not "TBE booster dose was administered"
/* @dynamicValue: TBE FSME-Immun booster dose Due Date @pseudocode: "Date when primary vaccination series was completed" + 3 years */ define "TBE FSME-Immun booster dose Due Date": if "TBE FSME-Immun booster dose" then Encounter."Date of Latest TBE Dose" + 3 years else null
/* @dynamicValue: TBE FSME-Immun booster dose Overdue @pseudocode: "Date when primary vaccination series was completed" + 5 years */ define "TBE FSME-Immun booster dose Overdue": if "TBE FSME-Immun booster dose" then Encounter."Date of Latest TBE Dose" + 5 years else null
/* @output: TBE FSME-Immun booster dose Create @create: The manufacturer recommends a booster dose to be administered 3 years after completion of the primary series */ define "TBE FSME-Immun booster dose Create": if "TBE FSME-Immun booster dose" then 'The manufacturer recommends a booster dose to be administered 3 years after completion of the primary series' + ' Due Date: ' + ToString("TBE FSME-Immun booster dose Due Date") + ' Overdue: ' + ToString("TBE FSME-Immun booster dose Overdue") else ''
One TBE primary series dose was administered
/* @input: One TBE primary series dose was administered @pseudocode: Count of vaccines administered (where "Vaccine type" = "TBE vaccines" and "Type of dose" = "Primary series") = 1 @code: One TBE primary series dose was administered-112 @decision: IMMZ.D2.DT.TBE.FSME-Immun: FSME-Immun schedule (In areas where the disease is highly endemic, implying that there is a high individual risk of infection, WHO recommends that vaccination be offered to all age groups, including children) @decision: IMMZ.D2.DT.TBE.Encepur: Encepur schedule (In areas where the disease is highly endemic, implying that there is a high individual risk of infection, WHO recommends that vaccination be offered to all age groups, including children ) @decision: IMMZ.D2.DT.TBE.TBE-Moscow: TBE-Moscow schedule (In areas where the disease is highly endemic, implying that there is a high individual risk of infection, WHO recommends that vaccination be offered to all age groups, including children ) @decision: IMMZ.D2.DT.TBE.EnceVir: EnceVir schedule (In areas where the disease is highly endemic, implying that there is a high individual risk of infection, WHO recommends that vaccination be offered to all age groups, including children ) */ define "One TBE primary series dose was administered": "Number of TBE Primary Series Doses Administered" = 1
First TBE dose from the primary series was administered
/* @complete: First TBE dose from the primary series was administered @pseudocode: Count of vaccines administered (where "Vaccine type" = "TBE vaccines" and "Type of dose" = "Primary series") = 1 */ define "First TBE dose from the primary series was administered": Encounter."One TBE primary series dose was administered"
/* @output: TBE FSME-Immun dose 2 @description: Provision of the TBE FSME-Immun dose 2 @trigger: First TBE dose from the primary series was administered @pseudo: Count of vaccines administered (where "Vaccine type" = "TBE vaccines" and "Type of dose" = "Primary series") = 1 @triggerDate: "Date and time of vaccination" (where "Vaccine type" = "TBE vaccines") */ define "TBE FSME-Immun dose 2": "First TBE dose from the primary series was administered" and not "Second TBE dose from the primary series was administered"
/* @dynamicValue: TBE FSME-Immun dose 2 Due Date @pseudocode: "Date and time of vaccination" (where "Vaccine type" = "TBE vaccines") + 1 month */ define "TBE FSME-Immun dose 2 Due Date": if "TBE FSME-Immun dose 2" then Encounter."Date of Latest TBE Dose" + 1 month else null
/* @dynamicValue: TBE FSME-Immun dose 2 Overdue @pseudocode: "Date and time of vaccination" (where "Vaccine type" = "TBE vaccines") + 3 months */ define "TBE FSME-Immun dose 2 Overdue": if "TBE FSME-Immun dose 2" then Encounter."Date of Latest TBE Dose" + 3 months else null
/* @output: TBE FSME-Immun dose 2 Create @create: An interval of 1–3 months is recommended between the first 2 doses */ define "TBE FSME-Immun dose 2 Create": if "TBE FSME-Immun dose 2" then 'An interval of 1–3 months is recommended between the first 2 doses' + ' Due Date: ' + ToString("TBE FSME-Immun dose 2 Due Date") + ' Overdue: ' + ToString("TBE FSME-Immun dose 2 Overdue") else ''
No TBE primary series doses were administered
/* @input: No TBE primary series doses were administered @pseudocode: Count of vaccines administered (where "Vaccine type" = "TBE vaccines" and "Type of dose" = "Primary series") = 0 @code: No TBE primary series doses were administered-112 @decision: IMMZ.D2.DT.TBE.FSME-Immun: FSME-Immun schedule (In areas where the disease is highly endemic, implying that there is a high individual risk of infection, WHO recommends that vaccination be offered to all age groups, including children) @decision: IMMZ.D2.DT.TBE.Encepur: Encepur schedule (In areas where the disease is highly endemic, implying that there is a high individual risk of infection, WHO recommends that vaccination be offered to all age groups, including children ) @decision: IMMZ.D2.DT.TBE.TBE-Moscow: TBE-Moscow schedule (In areas where the disease is highly endemic, implying that there is a high individual risk of infection, WHO recommends that vaccination be offered to all age groups, including children ) @decision: IMMZ.D2.DT.TBE.EnceVir: EnceVir schedule (In areas where the disease is highly endemic, implying that there is a high individual risk of infection, WHO recommends that vaccination be offered to all age groups, including children ) */ define "No TBE primary series doses were administered": "Number of TBE Primary Series Doses Administered" = 0
Tick-borne encephalitis (TBE) FSME-Immun dose 1
/* @output: Tick-borne encephalitis (TBE) FSME-Immun dose 1 @description: Provision of the TBE FSME-Immun dose 1 @trigger: Child's birth @pseudo: @triggerDate: "Date of birth" */ define "Tick-borne encephalitis (TBE) FSME-Immun dose 1": Encounter."No TBE primary series doses were administered" and not "First TBE dose from the primary series was administered"
Tick-borne encephalitis (TBE) FSME-Immun dose 1 Due Date
/* @dynamicValue: Tick-borne encephalitis (TBE) FSME-Immun dose 1 Due Date @pseudocode: "Date of birth" + 1 year */ define "Tick-borne encephalitis (TBE) FSME-Immun dose 1 Due Date": if "Tick-borne encephalitis (TBE) FSME-Immun dose 1" then Patient.birthDate + 1 year else null
Tick-borne encephalitis (TBE) FSME-Immun dose 1 Create
/* @output: Tick-borne encephalitis (TBE) FSME-Immun dose 1 Create @create: The vaccine can be given from > 1 year of age */ define "Tick-borne encephalitis (TBE) FSME-Immun dose 1 Create": if "Tick-borne encephalitis (TBE) FSME-Immun dose 1" then 'The vaccine can be given from > 1 year of age' + ' Due Date: ' + ToString("Tick-borne encephalitis (TBE) FSME-Immun dose 1 Due Date") else ''
/** * @description: Gets the doses from the primary series */ define fluent function seriesPrimary(immunizations List<Immunization>): immunizations I where exists( I.protocolApplied pa where pa.series = 'Primary series' )
define function ToString(value string): value.value
define function ToString(value ImmunizationStatus): value.value
define function ToBoolean(value boolean): value.value
define function ToConcept(concept FHIR.CodeableConcept): if concept is null then null else System.Concept { codes: concept.coding C return ToCode(C), display: concept.text.value }
define function ToCode(coding FHIR.Coding): if coding is null then null else System.Code { code: coding.code.value, system: coding.system.value, version: coding.version.value, display: coding.display.value }
define fluent function mostRecent(immunizations List<Immunization>): Last( immunizations I sort by start of occurrence.toInterval() )
/** * @description: Gets the 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 function ToDate(value date): value.value
IMMZ.D18.S.TBE.FSME-Immun schedule FSME-Immun, 3-dose schedule
WHO recommendations for routine immunization - summary tables (January 2025)
Provision of the TBE FSME-Immun dose 1 Trigger event: Child's birth Trigger pseudo: Trigger date: "Date of birth" Create condition: The vaccine can be given from > 1 year of age
Code { system: 'http://terminology.hl7.org/CodeSystem/communication-category', code: 'alert' }
Code { system: 'http://hl7.org/fhir/request-priority', code: 'routine' }
Provision of the TBE FSME-Immun dose 2 Trigger event: First TBE dose from the primary series was administered Trigger pseudo: Count of vaccines administered (where "Vaccine type" = "TBE vaccines" and "Type of dose" = "Primary series") = 1 Trigger date: "Date and time of vaccination" (where "Vaccine type" = "TBE vaccines") Create condition: An interval of 1–3 months is recommended between the first 2 doses
Provision of the TBE FSME-Immun dose 3 Trigger event: Second TBE dose from the primary series was administered Trigger pseudo: Count of vaccines administered (where "Vaccine type" = "TBE vaccines" and "Type of dose" = "Primary series") = 2 Trigger date: Latest "Date and time of vaccination" (where "Vaccine type" = "TBE vaccines") Create condition: An interval of 5–12 months is recommended between the second and third doses
Provision of the TBE FSME-Immun booster dose Trigger event: The primary series has been completed Trigger pseudo: "Completed the primary vaccination series" = TRUE (where "Vaccine type" = "TBE vaccines") Trigger date: "Date when primary vaccination series was completed" Create condition: The manufacturer recommends a booster dose to be administered 3 years after completion of the primary series