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/tree/123/merge and changes regularly. See the Directory of published versions

Measure: IMMZIND35

Official URL: http://smart.who.int/immunizations/Measure/IMMZIND35 Version: 0.2.0
Draft as of 2025-06-11 Computable Name: IMMZIND35

IMMZ.IND.35 Drop-out rate of pentavalent vaccine 1st dose to pentavalent vaccine 3rd dose

Knowledge Artifact Metadata
Name (machine-readable) IMMZIND35
Title (human-readable) IMMZIND35
Status Draft
Experimental false
Description

IMMZ.IND.35 Drop-out rate of pentavalent vaccine 1st dose to pentavalent vaccine 3rd dose

Measure Steward WHO
Steward Contact Details WHO: http://who.int
Measure Metadata
Version Number 0.2.0
Measure Scoring Proportion
Measure Population Criteria
Initial Population ID: IMMZ.IND.35.IP
Description:

Initial Population

Logic Definition: Initial Population
Denominator ID: IMMZ.IND.35.D
Description:

Denominator

Logic Definition: Denominator
Numerator ID: IMMZ.IND.35.N
Description:

Numerator

Logic Definition: Numerator
Stratifier ID: IMMZ.IND.35.S1
Code: By-Administrative Area
Stratifier ID: IMMZ.IND.35.S2
Code: By-Sex
Stratifier ID: IMMZ.IND.35.S3
Code: By-Age group
Stratifier ID: IMMZ.IND.35.S4
Code: By-Age group
Population Basis boolean
Measure Logic
Primary Library IMMZIND35Logic
Dependency Description: FHIR model information
Resource: http://fhir.org/guides/cqf/common/Library/FHIR-ModelInfo|4.0.1
Canonical URL: http://fhir.org/guides/cqf/common/Library/FHIR-ModelInfo|4.0.1
Dependency Description: Library Common
Resource: IMMZCommon
Canonical URL: http://smart.who.int/immunizations/Library/IMMZCommon
Dependency Description: Library FHIRHelpers
Resource: http://fhir.org/guides/cqf/common/Library/FHIRHelpers|4.0.1
Canonical URL: http://fhir.org/guides/cqf/common/Library/FHIRHelpers|4.0.1
Dependency Description: Library Elements
Resource: http://smart.who.int/immunizations/Library/IMMZIndicatorElements
Canonical URL: http://smart.who.int/immunizations/Library/IMMZIndicatorElements
Dependency Description: Library Elements
Resource: IMMZElements
Canonical URL: http://smart.who.int/immunizations/Library/IMMZElements
Dependency Description: Library FHIRHelpers
Resource: http://fhir.org/guides/cqf/common/Library/FHIRHelpers|4.0.1
Canonical URL: http://fhir.org/guides/cqf/common/Library/FHIRHelpers|4.0.1
Dependency Description: Library Concepts
Resource: IMMZConcepts
Canonical URL: http://smart.who.int/immunizations/Library/IMMZConcepts
Dependency Description: Library WC
Resource: WHOCommon
Canonical URL: http://smart.who.int/immunizations/Library/WHOCommon
Dependency Description: Library WC
Resource: WHOCommon
Canonical URL: http://smart.who.int/immunizations/Library/WHOCommon
Dependency Description: Library Age
Resource: IMMZAgeConcepts
Canonical URL: http://smart.who.int/immunizations/Library/IMMZAgeConcepts
Dependency Description: Code system ISO-8601-Derived Periods
Resource: http://ohie.org/CodeSystem/iso-8601-derived-periods
Canonical URL: http://ohie.org/CodeSystem/iso-8601-derived-periods
Dependency Description: Code system Administrative Gender Codes
Resource: AdministrativeGender
Canonical URL: http://hl7.org/fhir/administrative-gender
Dependency Description: Value set Pentavalent vaccines
Resource: IMMZ.Z.DE29 ValueSet for Pentavalent vaccines
Canonical URL: http://smart.who.int/immunizations/ValueSet/IMMZ.Z.DE29
Direct Reference Code Display: < 1 year
Code: P0Y--P1Y
System: http://ohie.org/CodeSystem/iso-8601-derived-periods
Direct Reference Code Display: >= 1 year
Code: P1Y--P9999Y
System: http://ohie.org/CodeSystem/iso-8601-derived-periods
Direct Reference Code Display: 1 year
Code: P1Y--P2Y
System: http://ohie.org/CodeSystem/iso-8601-derived-periods
Direct Reference Code Display: 2 years
Code: P2Y--P3Y
System: http://ohie.org/CodeSystem/iso-8601-derived-periods
Direct Reference Code Display: 3 years
Code: P3Y--P4Y
System: http://ohie.org/CodeSystem/iso-8601-derived-periods
Direct Reference Code Display: 4 years
Code: P4Y--P5Y
System: http://ohie.org/CodeSystem/iso-8601-derived-periods
Direct Reference Code Display: 5 years
Code: P5Y--P6Y
System: http://ohie.org/CodeSystem/iso-8601-derived-periods
Direct Reference Code Display: 6 years
Code: P6Y--P7Y
System: http://ohie.org/CodeSystem/iso-8601-derived-periods
Direct Reference Code Display: 7 years
Code: P7Y--P8Y
System: http://ohie.org/CodeSystem/iso-8601-derived-periods
Direct Reference Code Display: 8 years
Code: P8Y--P9Y
System: http://ohie.org/CodeSystem/iso-8601-derived-periods
Direct Reference Code Display: 9 years
Code: P9Y--P10Y
System: http://ohie.org/CodeSystem/iso-8601-derived-periods
Direct Reference Code Display: 10 years
Code: P10Y--P11Y
System: http://ohie.org/CodeSystem/iso-8601-derived-periods
Direct Reference Code Display: 11 years
Code: P11Y--P12Y
System: http://ohie.org/CodeSystem/iso-8601-derived-periods
Direct Reference Code Display: 12 years
Code: P12Y--P13Y
System: http://ohie.org/CodeSystem/iso-8601-derived-periods
Direct Reference Code Display: 13 years
Code: P13Y--P14Y
System: http://ohie.org/CodeSystem/iso-8601-derived-periods
Direct Reference Code Display: 14 years
Code: P14Y--P15Y
System: http://ohie.org/CodeSystem/iso-8601-derived-periods
Direct Reference Code Display: 15 years
Code: P15Y--P16Y
System: http://ohie.org/CodeSystem/iso-8601-derived-periods
Direct Reference Code Display: 16 years
Code: P16Y--P17Y
System: http://ohie.org/CodeSystem/iso-8601-derived-periods
Direct Reference Code Display: 17 years
Code: P17Y--P18Y
System: http://ohie.org/CodeSystem/iso-8601-derived-periods
Direct Reference Code Display: 18 years
Code: P18Y--P19Y
System: http://ohie.org/CodeSystem/iso-8601-derived-periods
Direct Reference Code Display: 19 years
Code: P19Y--P20Y
System: http://ohie.org/CodeSystem/iso-8601-derived-periods
Direct Reference Code Display: 20 years
Code: P20Y--P21Y
System: http://ohie.org/CodeSystem/iso-8601-derived-periods
Direct Reference Code Display: 21 years
Code: P21Y--P22Y
System: http://ohie.org/CodeSystem/iso-8601-derived-periods
Direct Reference Code Display: 22 years
Code: P22Y--P23Y
System: http://ohie.org/CodeSystem/iso-8601-derived-periods
Direct Reference Code Display: 23 years
Code: P23Y--P24Y
System: http://ohie.org/CodeSystem/iso-8601-derived-periods
Direct Reference Code Display: 24 years
Code: P24Y--P25Y
System: http://ohie.org/CodeSystem/iso-8601-derived-periods
Direct Reference Code Display: 25 years
Code: P25Y--P26Y
System: http://ohie.org/CodeSystem/iso-8601-derived-periods
Direct Reference Code Display: 26 years
Code: P26Y--P27Y
System: http://ohie.org/CodeSystem/iso-8601-derived-periods
Direct Reference Code Display: 27 years
Code: P27Y--P28Y
System: http://ohie.org/CodeSystem/iso-8601-derived-periods
Direct Reference Code Display: 28 years
Code: P28Y--P29Y
System: http://ohie.org/CodeSystem/iso-8601-derived-periods
Direct Reference Code Display: 29 years
Code: P29Y--P30Y
System: http://ohie.org/CodeSystem/iso-8601-derived-periods
Direct Reference Code Display: 30 years
Code: P30Y--P31Y
System: http://ohie.org/CodeSystem/iso-8601-derived-periods
Direct Reference Code Display: 31 years
Code: P31Y--P32Y
System: http://ohie.org/CodeSystem/iso-8601-derived-periods
Direct Reference Code Display: 32 years
Code: P32Y--P33Y
System: http://ohie.org/CodeSystem/iso-8601-derived-periods
Direct Reference Code Display: 33 years
Code: P33Y--P34Y
System: http://ohie.org/CodeSystem/iso-8601-derived-periods
Direct Reference Code Display: 34 years
Code: P34Y--P35Y
System: http://ohie.org/CodeSystem/iso-8601-derived-periods
Direct Reference Code Display: 35 years
Code: P35Y--P36Y
System: http://ohie.org/CodeSystem/iso-8601-derived-periods
Direct Reference Code Display: 36 years
Code: P36Y--P37Y
System: http://ohie.org/CodeSystem/iso-8601-derived-periods
Direct Reference Code Display: 37 years
Code: P37Y--P38Y
System: http://ohie.org/CodeSystem/iso-8601-derived-periods
Direct Reference Code Display: 38 years
Code: P38Y--P39Y
System: http://ohie.org/CodeSystem/iso-8601-derived-periods
Direct Reference Code Display: 39 years
Code: P39Y--P40Y
System: http://ohie.org/CodeSystem/iso-8601-derived-periods
Direct Reference Code Display: 40 years
Code: P40Y--P41Y
System: http://ohie.org/CodeSystem/iso-8601-derived-periods
Direct Reference Code Display: 41 years
Code: P41Y--P42Y
System: http://ohie.org/CodeSystem/iso-8601-derived-periods
Direct Reference Code Display: 42 years
Code: P42Y--P43Y
System: http://ohie.org/CodeSystem/iso-8601-derived-periods
Direct Reference Code Display: 43 years
Code: P43Y--P44Y
System: http://ohie.org/CodeSystem/iso-8601-derived-periods
Direct Reference Code Display: 44 years
Code: P44Y--P45Y
System: http://ohie.org/CodeSystem/iso-8601-derived-periods
Direct Reference Code Display: 45 years
Code: P45Y--P46Y
System: http://ohie.org/CodeSystem/iso-8601-derived-periods
Direct Reference Code Display: 46 years
Code: P46Y--P47Y
System: http://ohie.org/CodeSystem/iso-8601-derived-periods
Direct Reference Code Display: 47 years
Code: P47Y--P48Y
System: http://ohie.org/CodeSystem/iso-8601-derived-periods
Direct Reference Code Display: 48 years
Code: P48Y--P49Y
System: http://ohie.org/CodeSystem/iso-8601-derived-periods
Direct Reference Code Display: 49 years
Code: P49Y--P50Y
System: http://ohie.org/CodeSystem/iso-8601-derived-periods
Direct Reference Code Display: 50 years
Code: P50Y--P51Y
System: http://ohie.org/CodeSystem/iso-8601-derived-periods
Direct Reference Code Display: 51 years
Code: P51Y--P52Y
System: http://ohie.org/CodeSystem/iso-8601-derived-periods
Direct Reference Code Display: 52 years
Code: P52Y--P53Y
System: http://ohie.org/CodeSystem/iso-8601-derived-periods
Direct Reference Code Display: 53 years
Code: P53Y--P54Y
System: http://ohie.org/CodeSystem/iso-8601-derived-periods
Direct Reference Code Display: 54 years
Code: P54Y--P55Y
System: http://ohie.org/CodeSystem/iso-8601-derived-periods
Direct Reference Code Display: 55 years
Code: P55Y--P56Y
System: http://ohie.org/CodeSystem/iso-8601-derived-periods
Direct Reference Code Display: 56 years
Code: P56Y--P57Y
System: http://ohie.org/CodeSystem/iso-8601-derived-periods
Direct Reference Code Display: 57 years
Code: P57Y--P58Y
System: http://ohie.org/CodeSystem/iso-8601-derived-periods
Direct Reference Code Display: 58 years
Code: P58Y--P59Y
System: http://ohie.org/CodeSystem/iso-8601-derived-periods
Direct Reference Code Display: 59 years
Code: P59Y--P60Y
System: http://ohie.org/CodeSystem/iso-8601-derived-periods
Direct Reference Code Display: 60 years
Code: P60Y--P61Y
System: http://ohie.org/CodeSystem/iso-8601-derived-periods
Direct Reference Code Display: 61 years
Code: P61Y--P62Y
System: http://ohie.org/CodeSystem/iso-8601-derived-periods
Direct Reference Code Display: 62 years
Code: P62Y--P63Y
System: http://ohie.org/CodeSystem/iso-8601-derived-periods
Direct Reference Code Display: 63 years
Code: P63Y--P64Y
System: http://ohie.org/CodeSystem/iso-8601-derived-periods
Direct Reference Code Display: 64 years
Code: P64Y--P65Y
System: http://ohie.org/CodeSystem/iso-8601-derived-periods
Direct Reference Code Display: 65 years
Code: P65Y--P66Y
System: http://ohie.org/CodeSystem/iso-8601-derived-periods
Direct Reference Code Display: 66 years
Code: P66Y--P67Y
System: http://ohie.org/CodeSystem/iso-8601-derived-periods
Direct Reference Code Display: 67 years
Code: P67Y--P68Y
System: http://ohie.org/CodeSystem/iso-8601-derived-periods
Direct Reference Code Display: 68 years
Code: P68Y--P69Y
System: http://ohie.org/CodeSystem/iso-8601-derived-periods
Direct Reference Code Display: 69 years
Code: P69Y--P70Y
System: http://ohie.org/CodeSystem/iso-8601-derived-periods
Direct Reference Code Display: 70 years
Code: P70Y--P71Y
System: http://ohie.org/CodeSystem/iso-8601-derived-periods
Direct Reference Code Display: 71 years
Code: P71Y--P72Y
System: http://ohie.org/CodeSystem/iso-8601-derived-periods
Direct Reference Code Display: 72 years
Code: P72Y--P73Y
System: http://ohie.org/CodeSystem/iso-8601-derived-periods
Direct Reference Code Display: 73 years
Code: P73Y--P74Y
System: http://ohie.org/CodeSystem/iso-8601-derived-periods
Direct Reference Code Display: 74 years
Code: P74Y--P75Y
System: http://ohie.org/CodeSystem/iso-8601-derived-periods
Direct Reference Code Display: 75 years
Code: P75Y--P76Y
System: http://ohie.org/CodeSystem/iso-8601-derived-periods
Direct Reference Code Display: 76 years
Code: P76Y--P77Y
System: http://ohie.org/CodeSystem/iso-8601-derived-periods
Direct Reference Code Display: 77 years
Code: P77Y--P78Y
System: http://ohie.org/CodeSystem/iso-8601-derived-periods
Direct Reference Code Display: 78 years
Code: P78Y--P79Y
System: http://ohie.org/CodeSystem/iso-8601-derived-periods
Direct Reference Code Display: 79 years
Code: P79Y--P80Y
System: http://ohie.org/CodeSystem/iso-8601-derived-periods
Direct Reference Code Display: 80 years
Code: P80Y--P81Y
System: http://ohie.org/CodeSystem/iso-8601-derived-periods
Direct Reference Code Display: 81 years
Code: P81Y--P82Y
System: http://ohie.org/CodeSystem/iso-8601-derived-periods
Direct Reference Code Display: 82 years
Code: P82Y--P83Y
System: http://ohie.org/CodeSystem/iso-8601-derived-periods
Direct Reference Code Display: 83 years
Code: P83Y--P84Y
System: http://ohie.org/CodeSystem/iso-8601-derived-periods
Direct Reference Code Display: 84 years
Code: P84Y--P85Y
System: http://ohie.org/CodeSystem/iso-8601-derived-periods
Direct Reference Code Display: 85 years
Code: P85Y--P86Y
System: http://ohie.org/CodeSystem/iso-8601-derived-periods
Direct Reference Code Display: 86 years
Code: P86Y--P87Y
System: http://ohie.org/CodeSystem/iso-8601-derived-periods
Direct Reference Code Display: 87 years
Code: P87Y--P88Y
System: http://ohie.org/CodeSystem/iso-8601-derived-periods
Direct Reference Code Display: 88 years
Code: P88Y--P89Y
System: http://ohie.org/CodeSystem/iso-8601-derived-periods
Direct Reference Code Display: 89 years
Code: P89Y--P90Y
System: http://ohie.org/CodeSystem/iso-8601-derived-periods
Direct Reference Code Display: 90 years
Code: P90Y--P91Y
System: http://ohie.org/CodeSystem/iso-8601-derived-periods
Direct Reference Code Display: 91 years
Code: P91Y--P92Y
System: http://ohie.org/CodeSystem/iso-8601-derived-periods
Direct Reference Code Display: 92 years
Code: P92Y--P93Y
System: http://ohie.org/CodeSystem/iso-8601-derived-periods
Direct Reference Code Display: 93 years
Code: P93Y--P94Y
System: http://ohie.org/CodeSystem/iso-8601-derived-periods
Direct Reference Code Display: 94 years
Code: P94Y--P95Y
System: http://ohie.org/CodeSystem/iso-8601-derived-periods
Direct Reference Code Display: 95 years
Code: P95Y--P96Y
System: http://ohie.org/CodeSystem/iso-8601-derived-periods
Direct Reference Code Display: 96 years
Code: P96Y--P97Y
System: http://ohie.org/CodeSystem/iso-8601-derived-periods
Direct Reference Code Display: 97 years
Code: P97Y--P98Y
System: http://ohie.org/CodeSystem/iso-8601-derived-periods
Direct Reference Code Display: 98 years
Code: P98Y--P99Y
System: http://ohie.org/CodeSystem/iso-8601-derived-periods
Direct Reference Code Display: 99 years
Code: P99Y--P100Y
System: http://ohie.org/CodeSystem/iso-8601-derived-periods
Direct Reference Code Display: >= 100 years
Code: P100Y--P9999Y
System: http://ohie.org/CodeSystem/iso-8601-derived-periods
Direct Reference Code Display: Males
Code: male
System: http://hl7.org/fhir/administrative-gender
Direct Reference Code Display: Females
Code: female
System: http://hl7.org/fhir/administrative-gender
Direct Reference Code Display: Other/NA
Code: other
System: http://hl7.org/fhir/administrative-gender
Parameter Name: Measurement Period
Use: In
Min Cardinality: 0
Max Cardinality: 1
Type: Period
Parameter Name: Numerator
Use: Out
Min Cardinality: 0
Max Cardinality: 1
Type: boolean
Parameter Name: Stratification 4
Use: Out
Min Cardinality: 0
Max Cardinality: 1
Type: Coding
Parameter Name: Stratification 3
Use: Out
Min Cardinality: 0
Max Cardinality: 1
Type: Coding
Parameter Name: Stratification 2
Use: Out
Min Cardinality: 0
Max Cardinality: 1
Type: Coding
Parameter Name: Stratification 1
Use: Out
Min Cardinality: 0
Max Cardinality: 1
Type: string
Parameter Name: Denominator
Use: Out
Min Cardinality: 0
Max Cardinality: 1
Type: boolean
Parameter Name: Initial Population
Use: Out
Min Cardinality: 0
Max Cardinality: 1
Type: boolean
Measure Logic Data Requirements
Data Requirement Type: Immunization
Profile(s): Immunization
Must Support Elements: status, isSubpotent
Data Requirement Type: Immunization
Profile(s): Immunization
Must Support Elements: status, isSubpotent, vaccineCode
Data Requirement Type: Patient
Profile(s): Patient
Data Requirement Type: Immunization
Profile(s): Immunization
Must Support Elements: status, isSubpotent, vaccineCode, occurrence
Data Requirement Type: Patient
Profile(s): Patient
Must Support Elements: use
Measure Logic Definitions
Logic Definition Library Name: IMMZElements
/**
 * @dataElement All Doses Administered to Patient
 */
define "Doses Administered to Patient":
  [Immunization] I
    where I.status = 'completed'
    and I.isSubpotent is not true
Logic Definition Library Name: IMMZIndicatorElements
define "Pentavalent Doses Administered to Patient":
  Elements."Doses Administered to Patient" I 
    where I.vaccineCode in Concepts."Pentavalent vaccines"
Logic Definition Library Name: IMMZIND35Logic
/*
@denominator: Number of clients in the target population who received dose 1 of pentavalent vaccine during the reporting period
@pseudocode: Count clients with an immunization event WHERE "Vaccine type" = "pentavalent vaccines" for the 1st dose in the primary series AND "Date and time of vaccination" is during the reporting period
@note: Updated to match the definition to only include those who are due for the 3rd dose.
       If client ever received a 2nd dose the due date is 4 weeks after that.
       If client has only received the 1st dose, the due date is 8 weeks after that.
       Only include in the denominator those who are due during the measurement period.
*/
define "Denominator":
  if exists (Elements."Pentavalent Doses Administered to Patient".getDose('2'))
  then exists( (Elements."Pentavalent Doses Administered to Patient".getDose('2')) I
        where (start of I.occurrence.toInterval() + 4 weeks) during "Measurement Period" )
  else exists( (Elements."Pentavalent Doses Administered to Patient".getDose('1')) I
        where (start of I.occurrence.toInterval() + 8 weeks) during "Measurement Period" )
Logic Definition Library Name: IMMZIndicatorElements
define "Pentavalent Doses Administered to Patient During Measurement Period":
  "Pentavalent Doses Administered to Patient" I
    where I.occurrence.toInterval() starts during "Measurement Period"
Logic Definition Library Name: IMMZIND35Logic
/*
@numerator: Number of clients who received a 1st dose of pentavalent vaccine during the reporting period who should have received (via scheduling logic) the 3rd dose of pentavalent vaccine during the reporting period but did not receive it
@pseudocode: (COUNT of clients with an immunization event WHERE "Vaccine type" = "Pentavalent vaccines" for the 1st dose in the primary series AND "Date and time of vaccination" is during the reporting period) - (COUNT of clients with an immunization event WHERE "Vaccine type" = "Pentavalent vaccines" for the 3rd dose in the primary series AND "Date and time of vaccination" is during the reporting period)
@note: Only include those from the denominator that did not receive a 3rd dose during the measurement period.
        Those where the 3rd dose due date is during the period but have not received the 3rd dose.
*/
define "Numerator":
  "Denominator"
  and not exists( Elements."Pentavalent Doses Administered to Patient During Measurement Period".getDose('3') )
Logic Definition Library Name: IMMZIndicatorElements
/*
@stratifier: Infant disaggregations by age
*/
define "Infant By Age Stratifier":
    case 
        when AgeInYearsAt(end of "Measurement Period") < 1 then Age."P0Y--P1Y"
        when AgeInYearsAt(end of "Measurement Period") >= 1 then Age."P1Y--P9999Y"
        else null
    end
Logic Definition Library Name: IMMZIND35Logic
define "Stratification 4":
	Elements."Infant By Age Stratifier"
Logic Definition Library Name: IMMZIndicatorElements
/*
@stratifier: Age in Years
*/
define "Age Stratifier":
  case
    when AgeInYearsAt(end of "Measurement Period") < 1 then Age."P0Y--P1Y"
    when AgeInYearsAt(end of "Measurement Period") < 2 then Age."P1Y--P2Y"
    when AgeInYearsAt(end of "Measurement Period") < 3 then Age."P2Y--P3Y"
    when AgeInYearsAt(end of "Measurement Period") < 4 then Age."P3Y--P4Y"
    when AgeInYearsAt(end of "Measurement Period") < 5 then Age."P4Y--P5Y"
    when AgeInYearsAt(end of "Measurement Period") < 6 then Age."P5Y--P6Y"
    when AgeInYearsAt(end of "Measurement Period") < 7 then Age."P6Y--P7Y"
    when AgeInYearsAt(end of "Measurement Period") < 8 then Age."P7Y--P8Y"
    when AgeInYearsAt(end of "Measurement Period") < 9 then Age."P8Y--P9Y"
    when AgeInYearsAt(end of "Measurement Period") < 10 then Age."P9Y--P10Y"
    when AgeInYearsAt(end of "Measurement Period") < 11 then Age."P10Y--P11Y"
    when AgeInYearsAt(end of "Measurement Period") < 12 then Age."P11Y--P12Y"
    when AgeInYearsAt(end of "Measurement Period") < 13 then Age."P12Y--P13Y"
    when AgeInYearsAt(end of "Measurement Period") < 14 then Age."P13Y--P14Y"
    when AgeInYearsAt(end of "Measurement Period") < 15 then Age."P14Y--P15Y"
    when AgeInYearsAt(end of "Measurement Period") < 16 then Age."P15Y--P16Y"
    when AgeInYearsAt(end of "Measurement Period") < 17 then Age."P16Y--P17Y"
    when AgeInYearsAt(end of "Measurement Period") < 18 then Age."P17Y--P18Y"
    when AgeInYearsAt(end of "Measurement Period") < 19 then Age."P18Y--P19Y"
    when AgeInYearsAt(end of "Measurement Period") < 20 then Age."P19Y--P20Y"
    when AgeInYearsAt(end of "Measurement Period") < 21 then Age."P20Y--P21Y"
    when AgeInYearsAt(end of "Measurement Period") < 22 then Age."P21Y--P22Y"
    when AgeInYearsAt(end of "Measurement Period") < 23 then Age."P22Y--P23Y"
    when AgeInYearsAt(end of "Measurement Period") < 24 then Age."P23Y--P24Y"
    when AgeInYearsAt(end of "Measurement Period") < 25 then Age."P24Y--P25Y"
    when AgeInYearsAt(end of "Measurement Period") < 26 then Age."P25Y--P26Y"
    when AgeInYearsAt(end of "Measurement Period") < 27 then Age."P26Y--P27Y"
    when AgeInYearsAt(end of "Measurement Period") < 28 then Age."P27Y--P28Y"
    when AgeInYearsAt(end of "Measurement Period") < 29 then Age."P28Y--P29Y"
    when AgeInYearsAt(end of "Measurement Period") < 30 then Age."P29Y--P30Y"
    when AgeInYearsAt(end of "Measurement Period") < 31 then Age."P30Y--P31Y"
    when AgeInYearsAt(end of "Measurement Period") < 32 then Age."P31Y--P32Y"
    when AgeInYearsAt(end of "Measurement Period") < 33 then Age."P32Y--P33Y"
    when AgeInYearsAt(end of "Measurement Period") < 34 then Age."P33Y--P34Y"
    when AgeInYearsAt(end of "Measurement Period") < 35 then Age."P34Y--P35Y"
    when AgeInYearsAt(end of "Measurement Period") < 36 then Age."P35Y--P36Y"
    when AgeInYearsAt(end of "Measurement Period") < 37 then Age."P36Y--P37Y"
    when AgeInYearsAt(end of "Measurement Period") < 38 then Age."P37Y--P38Y"
    when AgeInYearsAt(end of "Measurement Period") < 39 then Age."P38Y--P39Y"
    when AgeInYearsAt(end of "Measurement Period") < 40 then Age."P39Y--P40Y"
    when AgeInYearsAt(end of "Measurement Period") < 41 then Age."P40Y--P41Y"
    when AgeInYearsAt(end of "Measurement Period") < 42 then Age."P41Y--P42Y"
    when AgeInYearsAt(end of "Measurement Period") < 43 then Age."P42Y--P43Y"
    when AgeInYearsAt(end of "Measurement Period") < 44 then Age."P43Y--P44Y"
    when AgeInYearsAt(end of "Measurement Period") < 45 then Age."P44Y--P45Y"
    when AgeInYearsAt(end of "Measurement Period") < 46 then Age."P45Y--P46Y"
    when AgeInYearsAt(end of "Measurement Period") < 47 then Age."P46Y--P47Y"
    when AgeInYearsAt(end of "Measurement Period") < 48 then Age."P47Y--P48Y"
    when AgeInYearsAt(end of "Measurement Period") < 49 then Age."P48Y--P49Y"
    when AgeInYearsAt(end of "Measurement Period") < 50 then Age."P49Y--P50Y"
    when AgeInYearsAt(end of "Measurement Period") < 51 then Age."P50Y--P51Y"
    when AgeInYearsAt(end of "Measurement Period") < 52 then Age."P51Y--P52Y"
    when AgeInYearsAt(end of "Measurement Period") < 53 then Age."P52Y--P53Y"
    when AgeInYearsAt(end of "Measurement Period") < 54 then Age."P53Y--P54Y"
    when AgeInYearsAt(end of "Measurement Period") < 55 then Age."P54Y--P55Y"
    when AgeInYearsAt(end of "Measurement Period") < 56 then Age."P55Y--P56Y"
    when AgeInYearsAt(end of "Measurement Period") < 57 then Age."P56Y--P57Y"
    when AgeInYearsAt(end of "Measurement Period") < 58 then Age."P57Y--P58Y"
    when AgeInYearsAt(end of "Measurement Period") < 59 then Age."P58Y--P59Y"
    when AgeInYearsAt(end of "Measurement Period") < 60 then Age."P59Y--P60Y"
    when AgeInYearsAt(end of "Measurement Period") < 61 then Age."P60Y--P61Y"
    when AgeInYearsAt(end of "Measurement Period") < 62 then Age."P61Y--P62Y"
    when AgeInYearsAt(end of "Measurement Period") < 63 then Age."P62Y--P63Y"
    when AgeInYearsAt(end of "Measurement Period") < 64 then Age."P63Y--P64Y"
    when AgeInYearsAt(end of "Measurement Period") < 65 then Age."P64Y--P65Y"
    when AgeInYearsAt(end of "Measurement Period") < 66 then Age."P65Y--P66Y"
    when AgeInYearsAt(end of "Measurement Period") < 67 then Age."P66Y--P67Y"
    when AgeInYearsAt(end of "Measurement Period") < 68 then Age."P67Y--P68Y"
    when AgeInYearsAt(end of "Measurement Period") < 69 then Age."P68Y--P69Y"
    when AgeInYearsAt(end of "Measurement Period") < 70 then Age."P69Y--P70Y"
    when AgeInYearsAt(end of "Measurement Period") < 71 then Age."P70Y--P71Y"
    when AgeInYearsAt(end of "Measurement Period") < 72 then Age."P71Y--P72Y"
    when AgeInYearsAt(end of "Measurement Period") < 73 then Age."P72Y--P73Y"
    when AgeInYearsAt(end of "Measurement Period") < 74 then Age."P73Y--P74Y"
    when AgeInYearsAt(end of "Measurement Period") < 75 then Age."P74Y--P75Y"
    when AgeInYearsAt(end of "Measurement Period") < 76 then Age."P75Y--P76Y"
    when AgeInYearsAt(end of "Measurement Period") < 77 then Age."P76Y--P77Y"
    when AgeInYearsAt(end of "Measurement Period") < 78 then Age."P77Y--P78Y"
    when AgeInYearsAt(end of "Measurement Period") < 79 then Age."P78Y--P79Y"
    when AgeInYearsAt(end of "Measurement Period") < 80 then Age."P79Y--P80Y"
    when AgeInYearsAt(end of "Measurement Period") < 81 then Age."P80Y--P81Y"
    when AgeInYearsAt(end of "Measurement Period") < 82 then Age."P81Y--P82Y"
    when AgeInYearsAt(end of "Measurement Period") < 83 then Age."P82Y--P83Y"
    when AgeInYearsAt(end of "Measurement Period") < 84 then Age."P83Y--P84Y"
    when AgeInYearsAt(end of "Measurement Period") < 85 then Age."P84Y--P85Y"
    when AgeInYearsAt(end of "Measurement Period") < 86 then Age."P85Y--P86Y"
    when AgeInYearsAt(end of "Measurement Period") < 87 then Age."P86Y--P87Y"
    when AgeInYearsAt(end of "Measurement Period") < 88 then Age."P87Y--P88Y"
    when AgeInYearsAt(end of "Measurement Period") < 89 then Age."P88Y--P89Y"
    when AgeInYearsAt(end of "Measurement Period") < 90 then Age."P89Y--P90Y"
    when AgeInYearsAt(end of "Measurement Period") < 91 then Age."P90Y--P91Y"
    when AgeInYearsAt(end of "Measurement Period") < 92 then Age."P91Y--P92Y"
    when AgeInYearsAt(end of "Measurement Period") < 93 then Age."P92Y--P93Y"
    when AgeInYearsAt(end of "Measurement Period") < 94 then Age."P93Y--P94Y"
    when AgeInYearsAt(end of "Measurement Period") < 95 then Age."P94Y--P95Y"
    when AgeInYearsAt(end of "Measurement Period") < 96 then Age."P95Y--P96Y"
    when AgeInYearsAt(end of "Measurement Period") < 97 then Age."P96Y--P97Y"
    when AgeInYearsAt(end of "Measurement Period") < 98 then Age."P97Y--P98Y"
    when AgeInYearsAt(end of "Measurement Period") < 99 then Age."P98Y--P99Y"
    when AgeInYearsAt(end of "Measurement Period") < 100 then Age."P99Y--P100Y"
    when AgeInYearsAt(end of "Measurement Period") >= 100 then Age."P100Y--P9999Y"
    else null
  end
Logic Definition Library Name: IMMZIND35Logic
define "Stratification 3":
	Elements."Age Stratifier"
Logic Definition Library Name: IMMZIndicatorElements
/*
@stratifier: By Administrative Gender of Patient Stratifier
*/
define "By Administrative Gender Stratifier":
    case 
        when Patient.gender = 'male' then "Males"
        when Patient.gender = 'female' then "Females"
        else "Other"
    end
Logic Definition Library Name: IMMZIND35Logic
define "Stratification 2":
	Elements."By Administrative Gender Stratifier"
Logic Definition Library Name: IMMZIndicatorElements
/*
@stratifier: By Geographic Region of Patient Stratifier
*/
define "By Geographic Region Stratifier":
    First(Patient.address A where A.use in { 'home' }).state
Logic Definition Library Name: IMMZIND35Logic
/*
@disaggregation: Administrative area
                 Sex
                 Age in years
                 Age group (depending on schedule)
*/
define "Stratification 1":
	Elements."By Geographic Region Stratifier"
Logic Definition Library Name: IMMZIND35Logic
/*
 * As defined by Member State
 */
define "Initial Population":
  true
Logic Definition Library Name: IMMZCommon
/**
 * @description: Gets a given immunization from a list that matches the dose number
 */
define fluent function getDose(immunizations List<Immunization>, doseNumber String):
  immunizations I where
    exists( I.protocolApplied pa where pa.doseNumber = doseNumber )
Logic Definition Library Name: FHIRHelpers
define function ToString(value string): value.value
Logic Definition Library Name: FHIRHelpers
define function ToString(value ImmunizationStatus): value.value
Logic Definition Library Name: FHIRHelpers
define function ToBoolean(value boolean): value.value
Logic Definition Library Name: FHIRHelpers
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
        }
Logic Definition Library Name: FHIRHelpers
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
        }
Logic Definition Library Name: FHIRHelpers
define function ToString(value AdministrativeGender): value.value
Logic Definition Library Name: FHIRHelpers
define function ToString(value AddressUse): value.value
Generated using version 0.4.6 of the sample-content-ig Liquid templates