WHO Immunization Implementation Guide
0.2.0 - ci-build

WHO Immunization Implementation Guide, published by WHO. This guide is not an authorized publication; it is the continuous build for version 0.2.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/WorldHealthOrganization/smart-immunizations/ and changes regularly. See the Directory of published versions

Library: IMMZD2DTRubellaEncounterElements

Official URL: http://smart.who.int/immunizations/Library/IMMZD2DTRubellaEncounterElements Version: 0.2.0
Draft as of 2025-08-08 Computable Name: IMMZD2DTRubellaEncounterElements

This library defines encounter-based elements for Rubella used throughout the Immunization CPG

Title: IMMZD2DTRubellaEncounterElements
Id: IMMZD2DTRubellaEncounterElements
Version: 0.2.0
Url: IMMZD2DTRubellaEncounterElements
Status: draft
Type:

system: http://terminology.hl7.org/CodeSystem/library-type

code: logic-library

Date: 2025-08-08 19:12:11+0000
Publisher: WHO
Description:

This library defines encounter-based elements for Rubella used throughout the Immunization CPG

Related Artifacts:

Dependencies

Parameters:
NameTypeMinMaxIn/Out
Todaydate01In
EncounterIdstring01In
PatientPatient01Out
Rubella Doses Administered to PatientImmunization0*Out
Rubella Primary Series Doses Administered to PatientImmunization0*Out
Number of Rubella Primary Series Doses Administeredinteger01Out
No rubella primary series dose was administeredboolean01Out
One rubella primary series dose was administeredboolean01Out
Client's age is less than 9 monthsboolean01Out
Client's age is more than or equal to 9 monthsboolean01Out
Client's age is less than 12 monthsboolean01Out
Client's age is more than or equal to 12 monthsboolean01Out
No live vaccine was administered in the last 4 weeksboolean01Out
Live vaccine was administered in the last 4 weeksboolean01Out
Live vaccine was administered in the last the 4 weeksboolean01Out
Content: text/cql

/*
  * Library: IMMZD2DTRubellaEncounterElements
  */
library IMMZD2DTRubellaEncounterElements

using FHIR version '4.0.1'
include FHIRHelpers version '4.0.1'

include WHOConcepts
include WHOCommon called WC
include WHOElements called WE

include IMMZCommon called Common
include IMMZConcepts called Concepts

include IMMZEncounterElements called Encounter

include IMMZD2DTRubellaElements called RubellaElements

parameter Today Date default Today()
parameter EncounterId String

context Patient

/*
@internal: Rubella containing Doses Administered to Patient
*/
define "Rubella Doses Administered to Patient":
  Encounter."Doses Administered to Patient" I
  where
    I.vaccineCode in Concepts."Rubella-containing vaccines"

/*
@internal: Rubella containing Doses Administered to Patient that are in the Primary series
*/
define "Rubella Primary Series Doses Administered to Patient":
  "Rubella Doses Administered to Patient".seriesPrimary()

/*
@internal: Number of Rubella Primary Series doses
*/
define "Number of Rubella Primary Series Doses Administered":
  Count("Rubella Primary Series Doses Administered to Patient")


/*
@input: No rubella primary series dose was administered
@pseudocode: Count of vaccines administered (where "Vaccine type" = "Rubella-containing vaccines" and "Type of dose" = "Primary series") = 0
@decision: Countries with high incidence and mortality from rubella
@decision: Countries with low incidence of rubella						
*/
define "No rubella primary series dose was administered":
  "Number of Rubella Primary Series Doses Administered" = 0

/*
@input: One rubella primary series dose was administered
@pseudocode: Count of vaccines administered (where "Vaccine type" = "Rubella-containing vaccines" and "Type of dose" = "Primary series") = 1
@decision: Countries with high incidence and mortality from rubella
@decision: Countries with low incidence of rubella						
*/
define "One rubella primary series dose was administered":
  "Number of Rubella Primary Series Doses Administered" = 1

/*
@input: Client's age is less than 9 months
@pseudocode: Today's date − "Date of birth" < 9 months
@decision: Countries with high incidence and mortality from rubella
*/
define "Client's age is less than 9 months":
  Encounter."Current Patient Age In Months" < 9

/*
@input: Client's age is more than or equal to 9 months
@pseudocode: Today's date − "Date of birth" ≥ 9 months
@decision: Countries with high incidence and mortality from rubella
*/
define "Client's age is more than or equal to 9 months":
  Encounter."Current Patient Age In Months" >= 9

/*
@input: Client's age is less than 12 months
@pseudocode: Today's date − "Date of birth" < 12 months
@decision: Countries with low incidence of rubella						
*/
define "Client's age is less than 12 months":
  Encounter."Current Patient Age In Months" < 12

/*
@input: Client's age is more than or equal to 12 months
@pseudocode: Today's date − "Date of birth" ≥ 12 months
@decision: Countries with low incidence of rubella						
*/
define "Client's age is more than or equal to 12 months":
  Encounter."Current Patient Age In Months" >= 12

/*
@input: No live vaccine was administered in the last 4 weeks
@pseudocode: Today's date − latest "Date and time of vaccination" (where "Live vaccine" = TRUE) ≥ 4 weeks
@decision: Countries with high incidence and mortality from rubella
@decision: Countries with low incidence of rubella						
*/
define "No live vaccine was administered in the last 4 weeks":
  Encounter."No live vaccine was administered in the last 4 weeks"

/*
@input: Live vaccine was administered in the last 4 weeks
@pseudocode: Today's date − latest "Date and time of vaccination" (where "Live vaccine" = TRUE) < 4 weeks
@decision: Countries with high incidence and mortality from rubella
*/
define "Live vaccine was administered in the last 4 weeks":
  Encounter."Live vaccine was administered in the last 4 weeks"

/*
@input: Live vaccine was administered in the last the 4 weeks
@pseudocode: Today's date − latest "Date and time of vaccination" (where "Live vaccine" = TRUE) < 4 weeks
@decision: Countries with low incidence of rubella						
*/
define "Live vaccine was administered in the last the 4 weeks":
  Encounter."Live vaccine was administered in the last 4 weeks"


Content: application/elm+xml
Encoded data (36504 characters)