IMMZD2DTPneumococcal3Doses
type: PlanDefinition
node role: treeRoot
id:
  v: IMMZD2DTPneumococcal3Doses
meta:
  profile:
    v: http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-recommendationdefinition
    l: cpg-recommendationdefinition
  profile:
    v: http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-shareableplandefinition
    l: crmi-shareableplandefinition
  profile:
    v: http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-publishableplandefinition
    l: crmi-publishableplandefinition
text:
  status:
    v: extensions
  div:
    v: Id: IMMZD2DTPneumococcal3Doses Url: IMMZ.D2.DT.Pneumococcal.3 doses Version: 0.2.0 Title: IMMZ.D2.DT.Pneumococcal.3 doses Status: draft Type: system: http://terminology.hl7.org/CodeSystem/plan-definition-type code: eca-rule Date: 2026-03-29 17:23:09+0000 Publisher: WHO Description: IMMZ.D2.DT.Pneumococcal.3 doses 3 primary doses (3p+0) Knowledge Capability: computable Related Artifacts: References WHO recommendations for routine immunization - summary tables (January 2025) Libraries: IMMZD2DTPneumococcal3DosesLogic Actions: Determine if the client is due for BCG.: Determine if the client is due for BCG vaccine according to the national immunization protocol. 3 primary doses (3p+0) If: Applicability: Client is due for pneumococcal vaccination (Client is due for pneumococcal vaccination) Then: Definition: IMMZD2DTMR Dynamic Values: status: ('draft') intent: ('proposal') medication: (Concept { codes: { Code { system: 'http://smart.who.int/immunizations/CodeSystem/IMMZ.Z', code: 'DE13', display: 'Pneumococcal vaccines' } }, display: 'Pneumococcal vaccines' }) Determine if the client is due for BCG.: Determine if the client is due for BCG vaccine according to the national immunization protocol. 3 primary doses (3p+0) If: Applicability: Client is due for pneumococcal booster dose (Client is due for pneumococcal 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: 'DE13', display: 'Pneumococcal vaccines' } }, display: 'Pneumococcal vaccines' }) Check for Guidance for the patient regarding IMMZ.D2.DT.Pneumococcal.3 doses.: Show Guidance for the patient regarding IMMZ.D2.DT.Pneumococcal.3 doses. 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/communicatio…
contained: Library
  id:
    v: effective-data-requirements
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode
      l: cqf-directReferenceCode
    value: Coding
      system:
        v: http://smart.who.int/immunizations/CodeSystem/IMMZ.D
        l: IMMZ.D
      code:
        v: DE251
      display:
        v: At high risk for pneumococcal infection
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode
      l: cqf-directReferenceCode
    value: Coding
      system:
        v: http://smart.who.int/immunizations/CodeSystem/IMMZ.D
        l: IMMZ.D
      code:
        v: DE204
      display:
        v: HIV status
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode
      l: cqf-directReferenceCode
    value: Coding
      system:
        v: http://smart.who.int/immunizations/CodeSystem/IMMZ.D
        l: IMMZ.D
      code:
        v: DE205
      display:
        v: HIV-positive
  extension:
    url:
      v: http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode
      l: cqf-directReferenceCode
    value: Coding
      system:
        v: http://smart.who.int/immunizations/CodeSystem/IMMZ.D
        l: IMMZ.D
      code:
        v: DE208
      display:
        v: Preterm birth
  extension:
    extension:
      url:
        v: libraryName
        l: libraryName
      value: String
        v: IMMZEncounterElements
    extension:
      url:
        v: name
        l: name
      value: String
        v: Current Patient Age In Weeks
    extension:
      url:
        v: statement
        l: statement
      value: String
        v: /** * @dataElement Patient age in weeks */ define "Current Patient Age In Weeks": AgeInWeeksAt(Today)
    extension:
      url:
        v: displaySequence
        l: displaySequence
      value: Integer
        v: 0
    url:
      v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
      l: cqf-logicDefinition
  extension:
    extension:
      url:
        v: libraryName
        l: libraryName
      value: String
        v: IMMZD2DTPneumococcalEncounterElements
    extension:
      url:
        v: name
        l: name
      value: String
        v: The client's age is less than 6 weeks
    extension:
      url:
        v: statement
        l: statement
      value: String
        v: /* @input: The client's age is less than 6 weeks @pseudocode: Today's date − "Date of birth" < 6 weeks @code: The client's age is less than 6 weeks-40 @decision: IMMZ.D2.DT.Pneumococcal.2 doses with booster dose: 2 primary doses with a booster dose (2p+1) @decision: IMMZ.D2.DT.Pneumococcal.3 doses: 3 primary doses (3p+0) */ define "The client's age is less than 6 weeks": Encounter."Current Patient Age In Weeks" < 6
    extension:
      url:
        v: displaySequence
        l: displaySequence
      value: Integer
        v: 1
    url:
      v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
      l: cqf-logicDefinition
  extension:
    extension:
      url:
        v: libraryName
        l: libraryName
      value: String
        v: IMMZD2DTPneumococcal3DosesLogic
    extension:
      url:
        v: name
        l: name
      value: String
        v: Client is not due for pneumococcal vaccination Case 1
    extension:
      url:
        v: statement
        l: statement
      value: String
        v: /* @output: Client is not due for pneumococcal vaccination Case 1 @pseudocode: "Immunization recommendation status" = "Not due" */ define "Client is not due for pneumococcal vaccination Case 1": Encounter."The client's age is less than 6 weeks"
    extension:
      url:
        v: displaySequence
        l: displaySequence
      value: Integer
        v: 2
    url:
      v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
      l: cqf-logicDefinition
  extension:
    extension:
      url:
        v: libraryName
        l: libraryName
      value: String
        v: IMMZElements
    extension:
      url:
        v: name
        l: name
      value: String
        v: Doses Administered to Patient
    extension:
      url:
        v: statement
        l: statement
      value: String
        v: /** * @dataElement All Doses Administered to Patient */ define "Doses Administered to Patient": [Immunization] I where I.status = 'completed' and I.isSubpotent is not true
    extension:
      url:
        v: displaySequence
        l: displaySequence
      value: Integer
        v: 3
    url:
      v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
      l: cqf-logicDefinition
  extension:
    extension:
      url:
        v: libraryName
        l: libraryName
      value: String
        v: IMMZEncounterElements
    extension:
      url:
        v: name
        l: name
      value: String
        v: Doses Administered to Patient
    extension:
      url:
        v: statement
        l: statement
      value: String
        v: /** * @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
    extension:
      url:
        v: displaySequence
        l: displaySequence
      value: Integer

Integer
v: 4

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD2DTPneumococcalEncounterElements
extension:
  url:
    v: name
    l: name
  value: String
    v: Pneumococcal Doses Administered to Patient
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @internal: Pneumococcal containing Doses Administered to Patient */ define "Pneumococcal Doses Administered to Patient": Encounter."Doses Administered to Patient" I where I.vaccineCode in Concepts."Pneumococcal vaccines"
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 5
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD2DTPneumococcalEncounterElements
extension:
  url:
    v: name
    l: name
  value: String
    v: Pneumococcal Primary Series Doses Administered to Patient
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @internal: Pneumococcal containing Doses Administered to Patient that are in the Primary series */ define "Pneumococcal Primary Series Doses Administered to Patient": "Pneumococcal Doses Administered to Patient".seriesPrimary()
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 6
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD2DTPneumococcalEncounterElements
extension:
  url:
    v: name
    l: name
  value: String
    v: Number of Pneumococcal Primary Series Doses Administered
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @internal: Number of Pneumococcal Primary Series doses */ define "Number of Pneumococcal Primary Series Doses Administered": Count("Pneumococcal Primary Series Doses Administered to Patient")
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 7
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD2DTPneumococcalEncounterElements
extension:
  url:
    v: name
    l: name
  value: String
    v: One pneumococcal primary series dose was administered
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @input: One pneumococcal primary series dose was administered @pseudocode: Count of vaccines administered (where "Vaccine type" = "Pneumococcal vaccines" and "Type of dose" = "Primary series") = 1 @code: One pneumococcal primary series dose was administered-121 @decision: IMMZ.D2.DT.Pneumococcal.2 doses with booster dose: 2 primary doses with a booster dose (2p+1) @decision: IMMZ.D2.DT.Pneumococcal.3 doses: 3 primary doses (3p+0) */ define "One pneumococcal primary series dose was administered": "Number of Pneumococcal Primary Series Doses Administered" = 1
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 8
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZEncounterElements
extension:
  url:
    v: name
    l: name
  value: String
    v: Current Patient Age In Years
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /** * @dataElement Patient age in years */ define "Current Patient Age In Years": AgeInYearsAt(Today)
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 9
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD2DTPneumococcalEncounterElements
extension:
  url:
    v: name
    l: name
  value: String
    v: The client's age is less than or equal to 5 years
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @input: The client's age is less than or equal to 5 years @pseudocode: 'Today's date − "Date of birth" ≤ 5 years @code: The client's age is less than or equal to 5 years-41 @decision: IMMZ.D2.DT.Pneumococcal.2 doses with booster dose: 2 primary doses with a booster dose (2p+1) */ define "The client's age is less than or equal to 5 years": Encounter."Current Patient Age In Years" <= 5
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 10
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD2DTPneumococcalEncounterElements
extension:
  url:
    v: name
    l: name
  value: String
    v: The client's age is less than or equal to five years
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @input: The client's age is less than or equal to five years @pseudocode: Today's date − "Date of birth" ≤ 5 years @code: The client's age is less than or equal to five years-40 @decision: IMMZ.D2.DT.Pneumococcal.3 doses: 3 primary doses (3p+0) */ define "The client's age is less than or equal to five years": "The client's age is less than or equal to 5 years"
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 11
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD2DTPneumococcalEncounterElements
extension:
  url:
    v: name
    l: name
  value: String
    v: Date of First Pneumococcal Dose
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @internal: Date of First Pneumococcal Dose */ define "Date of First Pneumococcal Dose": date from start of "Pneumococcal Doses Administered to Patient".earliest().occurrence.toInterval()
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 12
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD2DTPneumococcalEncounterElements
extension:
  url:
    v: name
    l: name
  value: String
    v: The first pneumococcal dose was administered within 12 months post birth
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @input: The first pneumococcal dose was administered within 12 months post birth @pseudocode: "Date and time of vaccination" (where "Vaccine type" = "Pneumococcal vaccines" AND "Dose number" = 1) − "Date of birth" < 12 months @code: The first pneumococcal dose was administered within 12 months post birth-131 @decision: IMMZ.D2.DT.Pneumococcal.2 doses with booster dose: 2 primary doses with a booster dose (2p+1) @decision: IMMZ.D2.DT.Pneumococcal.3 doses: 3 primary doses (3p+0) */ define "The first pneumococcal dose was administered within 12 months post birth": AgeInMonthsAt("Date of First Pneumococcal Dose") < 12
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 13
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD2DTPneumococcalEncounterElements
extension:
  url:
    v: name
    l: name
  value: String
    v: Date of Latest Pneumococcal Dose
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @internal: Date of Latest Pneumococcal Dose */ define "Date of Latest Pneumococcal Dose": date from start of "Pneumococcal Doses Administered to Patient".mostRecent().occurrence.toInterval()
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 14
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD2DTPneumococcalEncounterElements
extension:
  url:
    v: name
    l: name
  value: String
    v: The latest pneumococcal dose was administered less than 4 weeks ago
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @input: The latest pneumococcal dose was administered less than 4 weeks ago @pseudocode: Today's date − "Date and time of vaccination" (where "Vaccine type" = "Pneumococcal vaccines") < 4 weeks @code: The latest pneumococcal dose was administered less than 4 weeks ago-104 @decision: IMMZ.D2.DT.Pneumococcal.3 doses: 3 primary doses (3p+0) */ define "The latest pneumococcal dose was administered less than 4 weeks ago": "Date of Latest Pneumococcal Dose" is not null and duration in weeks between "Date of Latest Pneumococcal Dose" and Today < 4
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 15
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD2DTPneumococcal3DosesLogic
extension:
  url:
    v: name
    l: name
  value: String
    v: Client is not due for pneumococcal vaccination Case 2
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @output: Client is not due for pneumococcal vaccination Case 2 @pseudocode: "Immunization recommendation status" = "Not due" */ define "Client is not due for pneumococcal vaccination Case 2": Encounter."One pneumococcal primary series dose was administered" and Encounter."The client's age is less than or equal to five years" and Encounter."The first pneumococcal dose was administered within 12 months post birth" and Encounter."The latest pneumococcal dose was administered less than 4 weeks ago"
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 16
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD2DTPneumococcalEncounterElements
extension:
  url:
    v: name
    l: name
  value: String
    v: The first pneumococcal dose was administered at 12–24 months post birth
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @input: The first pneumococcal dose was administered at 12–24 months post birth @pseudocode: 12 months ≤ "Date and time of vaccination" (where "Vaccine type" = "Pneumococcal vaccines") − "Date of birth" < 24 months @code: The first pneumococcal dose was administered at 12–24 months post birth-121 @decision: IMMZ.D2.DT.Pneumococcal.3 doses: 3 primary doses (3p+0) */ define "The first pneumococcal dose was administered at 12–24 months post birth": AgeInMonthsAt("Date of First Pneumococcal Dose") >= 12 and AgeInMonthsAt("Date of First Pneumococcal Dose") < 24
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 17
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZElements
extension:
  url:
    v: name
    l: name
  value: String
    v: At high risk for pneumococcal infection Observation
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @internal: At high risk for pneumococcal infection Observation */ define "At high risk for pneumococcal infection Observation": ([Observation: Concepts."At high risk for pneumococcal infection"]).complete()
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 18
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZEncounterElements
extension:
  url:
    v: name
    l: name
  value: String
    v: At high risk for pneumococcal infection Observation
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @internal: At high risk for pneumococcal infection Observation */ define "At high risk for pneumococcal infection Observation": Elements."At high risk for pneumococcal infection Observation".encounterOrOnBefore(EncounterId, Today)
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 19
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZEncounterElements
extension:
  url:
    v: name
    l: name
  value: String
    v: Client is not at high risk for pneumococcal infection
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @input: Client is not at high risk for pneumococcal infection @pseudocode: "At high risk for pneumococcal infection" = FALSE */ define "Client is not at high risk for pneumococcal infection": exists( "At high risk for pneumococcal infection Observation" O where O.value = false )
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 20
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD2DTPneumococcalEncounterElements
extension:
  url:
    v: name
    l: name
  value: String
    v: Client is not at high risk for pneumococcal infection
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @input: Client is not at high risk for pneumococcal infection @pseudocode: "At high risk for pneumococcal infection" = FALSE @code: Client is not at high risk for pneumococcal infection-49 @decision: IMMZ.D2.DT.Pneumococcal.2 doses with booster dose: 2 primary doses with a booster dose (2p+1) @decision: IMMZ.D2.DT.Pneumococcal.3 doses: 3 primary doses (3p+0) */ define "Client is not at high risk for pneumococcal infection": Encounter."Client is not at high risk for pneumococcal infection"
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 21
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD2DTPneumococcal3DosesLogic
extension:
  url:
    v: name
    l: name
  value: String
    v: Client is not due for pneumococcal vaccination Case 3
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @output: Client is not due for pneumococcal vaccination Case 3 @pseudocode: "Immunization recommendation status" = "Not due" */ define "Client is not due for pneumococcal vaccination Case 3": Encounter."One pneumococcal primary series dose was administered" and Encounter."The client's age is less than or equal to five years" and Encounter."The first pneumococcal dose was administered at 12–24 months post birth" and Encounter."The latest pneumococcal dose was administered less than 4 weeks ago" and Encounter."Client is not at high risk for pneumococcal infection"
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 22
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD2DTPneumococcalEncounterElements
extension:
  url:
    v: name
    l: name
  value: String
    v: The latest pneumococcal dose was administered less than 8 weeks ago
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @input: The latest pneumococcal dose was administered less than 8 weeks ago @pseudocode: Today's date − "Date and time of vaccination" (where "Vaccine type" = "Pneumococcal vaccines") < 8 weeks @code: The latest pneumococcal dose was administered less than 8 weeks ago-104 @decision: IMMZ.D2.DT.Pneumococcal.2 doses with booster dose: 2 primary doses with a booster dose (2p+1) @decision: IMMZ.D2.DT.Pneumococcal.3 doses: 3 primary doses (3p+0) */ define "The latest pneumococcal dose was administered less than 8 weeks ago": "Date of Latest Pneumococcal Dose" is not null and duration in weeks between "Date of Latest Pneumococcal Dose" and Today < 8
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 23
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZEncounterElements
extension:
  url:
    v: name
    l: name
  value: String
    v: Client is at high risk for pneumococcal infection
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @input: Client is at high risk for pneumococcal infection @pseudocode: "At high risk for pneumococcal infection" = TRUE */ define "Client is at high risk for pneumococcal infection": exists( "At high risk for pneumococcal infection Observation" O where O.value = true )
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 24
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD2DTPneumococcalEncounterElements
extension:
  url:
    v: name
    l: name
  value: String
    v: Client is at high risk for pneumococcal infection
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @input: Client is at high risk for pneumococcal infection @pseudocode: "At high risk for pneumococcal infection" = TRUE @code: Client is at high risk for pneumococcal infection-48 @decision: IMMZ.D2.DT.Pneumococcal.2 doses with booster dose: 2 primary doses with a booster dose (2p+1) @decision: IMMZ.D2.DT.Pneumococcal.3 doses: 3 primary doses (3p+0) */ define "Client is at high risk for pneumococcal infection": Encounter."Client is at high risk for pneumococcal infection"
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 25
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD2DTPneumococcal3DosesLogic
extension:
  url:
    v: name
    l: name
  value: String
    v: Client is not due for pneumococcal vaccination Case 4
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @output: Client is not due for pneumococcal vaccination Case 4 @pseudocode: "Immunization recommendation status" = "Not due" */ define "Client is not due for pneumococcal vaccination Case 4": Encounter."One pneumococcal primary series dose was administered" and Encounter."The client's age is less than or equal to five years" and Encounter."The first pneumococcal dose was administered at 12–24 months post birth" and Encounter."The latest pneumococcal dose was administered less than 8 weeks ago" and Encounter."Client is at high risk for pneumococcal infection"
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 26
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD2DTPneumococcalEncounterElements
extension:
  url:
    v: name
    l: name
  value: String
    v: The first pneumococcal dose was administered after 24 months post birth
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @input: The first pneumococcal dose was administered after 24 months post birth @pseudocode: "Date and time of vaccination" (where "Vaccine type" = "Pneumococcal vaccines") − "Date of birth" ≥ 24 months @code: The first pneumococcal dose was administered after 24 months post birth-109 @decision: IMMZ.D2.DT.Pneumococcal.2 doses with booster dose: 2 primary doses with a booster dose (2p+1) @decision: IMMZ.D2.DT.Pneumococcal.3 doses: 3 primary doses (3p+0) */ define "The first pneumococcal dose was administered after 24 months post birth": AgeInMonthsAt("Date of First Pneumococcal Dose") >= 24
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 27
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD2DTPneumococcal3DosesLogic
extension:
  url:
    v: name
    l: name
  value: String
    v: Client is not due for pneumococcal vaccination Case 5
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @output: Client is not due for pneumococcal vaccination Case 5 @pseudocode: "Immunization recommendation status" = "Not due" */ define "Client is not due for pneumococcal vaccination Case 5": Encounter."One pneumococcal primary series dose was administered" and Encounter."The client's age is less than or equal to five years" and Encounter."The first pneumococcal dose was administered after 24 months post birth" and Encounter."The latest pneumococcal dose was administered less than 8 weeks ago" and Encounter."Client is at high risk for pneumococcal infection"
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 28
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD2DTPneumococcalEncounterElements
extension:
  url:
    v: name
    l: name
  value: String
    v: Two pneumococcal primary series doses were administered
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @input: Two pneumococcal primary series doses were administered @pseudocode: Count of vaccines administered (where "Vaccine type" = "Pneumococcal vaccines" and "Type of dose" = "Primary series") = 2 @code: Two pneumococcal primary series doses were administered-121 @decision: IMMZ.D2.DT.Pneumococcal.2 doses with booster dose: 2 primary doses with a booster dose (2p+1) @decision: IMMZ.D2.DT.Pneumococcal.3 doses: 3 primary doses (3p+0) */ define "Two pneumococcal primary series doses were administered": "Number of Pneumococcal Primary Series Doses Administered" = 2
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 29
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD2DTPneumococcal3DosesLogic
extension:
  url:
    v: name
    l: name
  value: String
    v: Client is not due for pneumococcal vaccination Case 6
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @output: Client is not due for pneumococcal vaccination Case 6 @pseudocode: "Immunization recommendation status" = "Not due" */ define "Client is not due for pneumococcal vaccination Case 6": Encounter."Two pneumococcal primary series doses were administered" and Encounter."The client's age is less than or equal to five years" and Encounter."The first pneumococcal dose was administered within 12 months post birth" and Encounter."The latest pneumococcal dose was administered less than 4 weeks ago"
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 30
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD2DTPneumococcal3DosesLogic
extension:
  url:
    v: name
    l: name
  value: String
    v: Client is not due for pneumococcal vaccination
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @output: Client is not due for pneumococcal vaccination @pseudocode: "Immunization recommendation status" = "Not due" */ define "Client is not due for pneumococcal vaccination": "Client is not due for pneumococcal vaccination Case 1" or "Client is not due for pneumococcal vaccination Case 2" or "Client is not due for pneumococcal vaccination Case 3" or "Client is not due for pneumococcal vaccination Case 4" or "Client is not due for pneumococcal vaccination Case 5" or "Client is not due for pneumococcal vaccination Case 6"
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 31
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD2DTPneumococcal3DosesLogic
extension:
  url:
    v: name
    l: name
  value: String
    v: Client is not due for pneumococcal vaccination Guidance
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @output: Client is not due for pneumococcal vaccination Guidance @guidance = Should not vaccinate client with first pneumococcal dose as client's age is less than 6 weeks. Check for any other vaccines due and inform the caregiver of when to come back for the next dose. @guidance = Should not vaccinate client with second pneumococcal dose as the latest pneumococcal dose was administered less than 4 weeks ago. Check for any other vaccines due and inform the caregiver of when to come back for the next dose. @guidance = Should not vaccinate client with second pneumococcal dose as the latest pneumococcal dose was administered less than 4 weeks ago. Check for any other vaccines due and inform the caregiver of when to come back for the next dose. @guidance = Should not vaccinate client with second pneumococcal dose as the latest pneumococcal dose was administered less than 8 weeks ago and client is at high risk for pneumococcal infection. Check for any other vaccines due and inform the caregiver of when to come back for the next dose. @guidance = Should not vaccinate client with second pneumococcal dose as the latest pneumococcal dose was administered less than 8 weeks ago and client is at high risk for pneumococcal infection. Check for any other vaccines due and inform the caregiver of when to come back for the next dose. @guidance = Should not vaccinate client with third pneumococcal dose as client's age is less than 5 years and latest pneumococcal dose was administered less than 4 weeks ago. Check for any vaccines due and inform the caregiver of when to come back for the next dose */ define "Client is not due for pneumococcal vaccination Guidance": case when "Client is not due for pneumococcal vaccination Case 1" then 'Should not vaccinate client with first pneumococcal dose as client\'s age is less than 6 weeks. Check for any other vaccines due and inform the caregiver of when to come back for the next dose.' when "Client is not due for pneumococcal vaccination Case…
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 32
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD2DTPneumococcalEncounterElements
extension:
  url:
    v: name
    l: name
  value: String
    v: No pneumococcal primary series doses were administered
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @input: No pneumococcal primary series doses were administered @pseudocode: Count of vaccines administered (where "Vaccine type" = "Pneumococcal vaccines" and "Type of dose" = "Primary series") = 0 @code: No pneumococcal primary series doses were administered-121 @decision: IMMZ.D2.DT.Pneumococcal.2 doses with booster dose: 2 primary doses with a booster dose (2p+1) @decision: IMMZ.D2.DT.Pneumococcal.3 doses: 3 primary doses (3p+0) */ define "No pneumococcal primary series doses were administered": "Number of Pneumococcal Primary Series Doses Administered" = 0
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 33
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD2DTPneumococcalEncounterElements
extension:
  url:
    v: name
    l: name
  value: String
    v: The client's age is between 6 weeks and 5 years
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @input: The client's age is between 6 weeks and 5 years @pseudocode: 6 weeks ≤ Today's date − "Date of birth" ≤ 5 years @code: The client's age is between 6 weeks and 5 years-50 @decision: IMMZ.D2.DT.Pneumococcal.2 doses with booster dose: 2 primary doses with a booster dose (2p+1) @decision: IMMZ.D2.DT.Pneumococcal.3 doses: 3 primary doses (3p+0) */ define "The client's age is between 6 weeks and 5 years": 6 <= Encounter."Current Patient Age In Weeks" and Encounter."Current Patient Age In Years" <= 5
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 34
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD2DTPneumococcal3DosesLogic
extension:
  url:
    v: name
    l: name
  value: String
    v: Client is due for pneumococcal vaccination Case 1
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @output: Client is due for pneumococcal vaccination Case 1 @pseudocode: "Immunization recommendation status" = "Due" */ define "Client is due for pneumococcal vaccination Case 1": Encounter."No pneumococcal primary series doses were administered" and Encounter."The client's age is between 6 weeks and 5 years"
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 35
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD2DTPneumococcalEncounterElements
extension:
  url:
    v: name
    l: name
  value: String
    v: The latest pneumococcal dose was administered more than 4 weeks ago
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @input: The latest pneumococcal dose was administered more than 4 weeks ago @pseudocode: Today's date − "Date and time of vaccination" (where "Vaccine type" = "Pneumococcal vaccines") ≥ 4 weeks @code: The latest pneumococcal dose was administered more than 4 weeks ago-104 @decision: IMMZ.D2.DT.Pneumococcal.3 doses: 3 primary doses (3p+0) */ define "The latest pneumococcal dose was administered more than 4 weeks ago": not "The latest pneumococcal dose was administered less than 4 weeks ago"
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 36
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD2DTPneumococcal3DosesLogic
extension:
  url:
    v: name
    l: name
  value: String
    v: Client is due for pneumococcal vaccination Case 2
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @output: Client is due for pneumococcal vaccination Case 2 @pseudocode: "Immunization recommendation status" = "Due" */ define "Client is due for pneumococcal vaccination Case 2": Encounter."One pneumococcal primary series dose was administered" and Encounter."The client's age is less than or equal to five years" and Encounter."The first pneumococcal dose was administered within 12 months post birth" and Encounter."The latest pneumococcal dose was administered more than 4 weeks ago"
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 37
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD2DTPneumococcal3DosesLogic
extension:
  url:
    v: name
    l: name
  value: String
    v: Client is due for pneumococcal vaccination Case 3
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @output: Client is due for pneumococcal vaccination Case 3 @pseudocode: "Immunization recommendation status" = "Due" */ define "Client is due for pneumococcal vaccination Case 3": Encounter."One pneumococcal primary series dose was administered" and Encounter."The client's age is less than or equal to five years" and Encounter."The first pneumococcal dose was administered at 12–24 months post birth" and Encounter."The latest pneumococcal dose was administered more than 4 weeks ago" and Encounter."Client is not at high risk for pneumococcal infection"
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 38
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD2DTPneumococcalEncounterElements
extension:
  url:
    v: name
    l: name
  value: String
    v: The latest pneumococcal dose was administered more than 8 weeks ago
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @input: The latest pneumococcal dose was administered more than 8 weeks ago @pseudocode: Today's date − "Date and time of vaccination" (where "Vaccine type" = "Pneumococcal vaccines") ≥ 8 weeks @code: The latest pneumococcal dose was administered more than 8 weeks ago-104 @decision: IMMZ.D2.DT.Pneumococcal.2 doses with booster dose: 2 primary doses with a booster dose (2p+1) @decision: IMMZ.D2.DT.Pneumococcal.3 doses: 3 primary doses (3p+0) */ define "The latest pneumococcal dose was administered more than 8 weeks ago": not "The latest pneumococcal dose was administered less than 8 weeks ago"
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 39
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD2DTPneumococcal3DosesLogic
extension:
  url:
    v: name
    l: name
  value: String
    v: Client is due for pneumococcal vaccination Case 4
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @output: Client is due for pneumococcal vaccination Case 4 @pseudocode: "Immunization recommendation status" = "Due" */ define "Client is due for pneumococcal vaccination Case 4": Encounter."One pneumococcal primary series dose was administered" and Encounter."The client's age is less than or equal to five years" and Encounter."The first pneumococcal dose was administered at 12–24 months post birth" and Encounter."The latest pneumococcal dose was administered more than 8 weeks ago" and Encounter."Client is at high risk for pneumococcal infection"
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 40
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD2DTPneumococcal3DosesLogic
extension:
  url:
    v: name
    l: name
  value: String
    v: Client is due for pneumococcal vaccination Case 5
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @output: Client is due for pneumococcal vaccination Case 5 @pseudocode: "Immunization recommendation status" = "Due" */ define "Client is due for pneumococcal vaccination Case 5": Encounter."One pneumococcal primary series dose was administered" and Encounter."The client's age is less than or equal to five years" and Encounter."The first pneumococcal dose was administered after 24 months post birth" and Encounter."The latest pneumococcal dose was administered more than 8 weeks ago" and Encounter."Client is at high risk for pneumococcal infection"
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 41
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD2DTPneumococcal3DosesLogic
extension:
  url:
    v: name
    l: name
  value: String
    v: Client is due for pneumococcal vaccination Case 6
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @output: Client is due for pneumococcal vaccination Case 6 @pseudocode: "Immunization recommendation status" = "Due" */ define "Client is due for pneumococcal vaccination Case 6": Encounter."Two pneumococcal primary series doses were administered" and Encounter."The client's age is less than or equal to five years" and Encounter."The first pneumococcal dose was administered within 12 months post birth" and Encounter."The latest pneumococcal dose was administered more than 4 weeks ago"
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 42
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD2DTPneumococcal3DosesLogic
extension:
  url:
    v: name
    l: name
  value: String
    v: Client is due for pneumococcal vaccination
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @output: Client is due for pneumococcal vaccination @pseudocode: "Immunization recommendation status" = "Due" */ define "Client is due for pneumococcal vaccination": "Client is due for pneumococcal vaccination Case 1" or "Client is due for pneumococcal vaccination Case 2" or "Client is due for pneumococcal vaccination Case 3" or "Client is due for pneumococcal vaccination Case 4" or "Client is due for pneumococcal vaccination Case 5" or "Client is due for pneumococcal vaccination Case 6"
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 43
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD2DTPneumococcal3DosesLogic
extension:
  url:
    v: name
    l: name
  value: String
    v: Client is due for pneumococcal vaccination Guidance
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @output: Client is due for pneumococcal vaccination Guidance @guidance = Should vaccinate client with first pneumococcal dose as no pneumococcal doses were administered and client is within the appropriate age range. Check for contraindications. @guidance = Should vaccinate client with second pneumococcal dose as first dose was administered within 12 months post birth and latest pneumococcal dose was administered more than 4 weeks ago. Check for contraindications. @guidance = Should vaccinate client with second pneumococcal dose as the latest pneumococcal dose was administered more than 4 weeks ago and client is not at high risk for pneumococcal infection. Check for contraindications. @guidance = Should vaccinate client with second pneumococcal dose as the latest pneumococcal dose was administered more than 8 weeks ago and client is at high risk for pneumococcal infection. Check for contraindications. @guidance = Should vaccinate client with second pneumococcal dose as first dose was administered 24 months post birth, latest pneumococcal dose was administered more than 8 weeks ago and client is at high risk for pneumococcal infection. Check for contraindications. @guidance = Should vaccinate client with third pneumococcal dose as client's age is less than 5 yers and latest pneumococcal dose was administered more than 4 weeks ago. Check for contraindications. */ define "Client is due for pneumococcal vaccination Guidance": case when "Client is due for pneumococcal vaccination Case 1" then 'Should vaccinate client with first pneumococcal dose as no pneumococcal doses were administered and client is within the appropriate age range. Check for contraindications.' when "Client is due for pneumococcal vaccination Case 2" then 'Should vaccinate client with second pneumococcal dose as first dose was administered within 12 months post birth and latest pneumococcal dose was administered more than 4 weeks ago. Check for contraindications.' when "Client is due for pneumococc…
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 44
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD2DTPneumococcal3DosesLogic
extension:
  url:
    v: name
    l: name
  value: String
    v: Pneumococcal immunization schedule is complete Case 1
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @output: Pneumococcal immunization schedule is complete Case 1 @pseudocode: "Immunization recommendation status" = "Complete" "Completed the primary vaccination series" = TRUE (where "Vaccine type" = "Pneumococcal vaccines") */ define "Pneumococcal immunization schedule is complete Case 1": Encounter."One pneumococcal primary series dose was administered" and Encounter."The client's age is less than or equal to five years" and Encounter."The first pneumococcal dose was administered after 24 months post birth" and Encounter."Client is not at high risk for pneumococcal infection"
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 45
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD2DTPneumococcalEncounterElements
extension:
  url:
    v: name
    l: name
  value: String
    v: The first pneumococcal dose was administered after 12 months post birth
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @input: The first pneumococcal dose was administered after 12 months post birth @pseudocode: "Date and time of vaccination" (where "Vaccine type" = "Pneumococcal vaccines" AND "Dose number" = 1) − "Date of birth" ≥ 12 months @code: The first pneumococcal dose was administered after 12 months post birth-131 @decision: IMMZ.D2.DT.Pneumococcal.2 doses with booster dose: 2 primary doses with a booster dose (2p+1) @decision: IMMZ.D2.DT.Pneumococcal.3 doses: 3 primary doses (3p+0) */ define "The first pneumococcal dose was administered after 12 months post birth": AgeInMonthsAt("Date of First Pneumococcal Dose") >= 12
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 46
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD2DTPneumococcal3DosesLogic
extension:
  url:
    v: name
    l: name
  value: String
    v: Pneumococcal immunization schedule is complete Case 2
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @output: Pneumococcal immunization schedule is complete Case 2 @pseudocode: "Immunization recommendation status" = "Complete" "Completed the primary vaccination series" = TRUE (where "Vaccine type" = "Pneumococcal vaccines") */ define "Pneumococcal immunization schedule is complete Case 2": Encounter."Two pneumococcal primary series doses were administered" and Encounter."The client's age is less than or equal to five years" and Encounter."The first pneumococcal dose was administered after 12 months post birth"
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 47
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD2DTPneumococcalEncounterElements
extension:
  url:
    v: name
    l: name
  value: String
    v: Three pneumococcal primary series doses were administered
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @input: Three pneumococcal primary series doses were administered @pseudocode: Count of vaccines administered (where "Vaccine type" = "Pneumococcal vaccines" and "Type of dose" = "Primary series") = 3 @code: Three pneumococcal primary series doses were administered-121 @decision: IMMZ.D2.DT.Pneumococcal.3 doses: 3 primary doses (3p+0) */ define "Three pneumococcal primary series doses were administered": "Number of Pneumococcal Primary Series Doses Administered" = 3
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 48
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD2DTPneumococcalEncounterElements
extension:
  url:
    v: name
    l: name
  value: String
    v: Pneumococcal Booster Series Doses Administered to Patient
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @internal: Pneumococcal Booster Series Doses Administered to Patient */ define "Pneumococcal Booster Series Doses Administered to Patient": "Pneumococcal Doses Administered to Patient".seriesBooster()
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 49
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD2DTPneumococcalEncounterElements
extension:
  url:
    v: name
    l: name
  value: String
    v: Number of Pneumococcal Booster Series Doses Administered
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @internal: Number of Pneumococcal Booster Series Doses Administered */ define "Number of Pneumococcal Booster Series Doses Administered": Count("Pneumococcal Booster Series Doses Administered to Patient")
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 50
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD2DTPneumococcalEncounterElements
extension:
  url:
    v: name
    l: name
  value: String
    v: No pneumococcal booster dose was administered
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @input: No pneumococcal booster dose was administered @pseudocode: Count of vaccines administered (where "Vaccine type" = "Pneumococcal vaccines" and "Type of dose" = "Booster dose") = 0 @code: No pneumococcal booster dose was administered-119 @decision: IMMZ.D2.DT.Pneumococcal.2 doses with booster dose: 2 primary doses with a booster dose (2p+1) @decision: IMMZ.D2.DT.Pneumococcal.3 doses: 3 primary doses (3p+0) */ define "No pneumococcal booster dose was administered": "Number of Pneumococcal Booster Series Doses Administered" = 0
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 51
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZEncounterElements
extension:
  url:
    v: name
    l: name
  value: String
    v: Current Patient Age In Months
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /** * @dataElement Patient age in months */ define "Current Patient Age In Months": AgeInMonthsAt(Today)
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 52
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD2DTPneumococcalEncounterElements
extension:
  url:
    v: name
    l: name
  value: String
    v: The client's age is less than 24 months
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @input: The client's age is less than 24 months @pseudocode: Today's date − "Date of birth" < 24 months @code: The client's age is less than 24 months-42 @decision: IMMZ.D2.DT.Pneumococcal.3 doses: 3 primary doses (3p+0) */ define "The client's age is less than 24 months": Encounter."Current Patient Age In Months" < 24
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 53
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD2DTPneumococcalEncounterElements
extension:
  url:
    v: name
    l: name
  value: String
    v: The latest pneumococcal dose was administered after 12 months post birth
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @input: The latest pneumococcal dose was administered after 12 months post birth @pseudocode: Latest "Date and time of vaccination" (where "Vaccine type" = "Pneumococcal vaccines") − "Date of birth" ≥ 12 months @code: The latest pneumococcal dose was administered after 12 months post birth-116 @decision: IMMZ.D2.DT.Pneumococcal.2 doses with booster dose: 2 primary doses with a booster dose (2p+1) @decision: IMMZ.D2.DT.Pneumococcal.3 doses: 3 primary doses (3p+0) */ define "The latest pneumococcal dose was administered after 12 months post birth": AgeInMonthsAt("Date of Latest Pneumococcal Dose") >= 12
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 54
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD2DTPneumococcal3DosesLogic
extension:
  url:
    v: name
    l: name
  value: String
    v: Pneumococcal immunization schedule is complete Case 3
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @output: Pneumococcal immunization schedule is complete Case 3 @pseudocode: "Immunization recommendation status" = "Complete" "Completed the primary vaccination series" = TRUE (where "Vaccine type" = "Pneumococcal vaccines") */ define "Pneumococcal immunization schedule is complete Case 3": Encounter."Three pneumococcal primary series doses were administered" and Encounter."No pneumococcal booster dose was administered" and Encounter."The client's age is less than 24 months" and Encounter."The latest pneumococcal dose was administered after 12 months post birth"
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 55
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZElements
extension:
  url:
    v: name
    l: name
  value: String
    v: HIV status Observation
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @internal: HIV Status Observation */ define "HIV status Observation": ([Observation: Concepts."HIV status"]).complete()
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 56
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZEncounterElements
extension:
  url:
    v: name
    l: name
  value: String
    v: Client's HIV status is positive
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @input: Client's HIV status is positive @pseudocode: "HIV status" = "HIV-positive" */ define "Client's HIV status is positive": exists( (Elements."HIV status Observation".encounterOrOnBefore(EncounterId, Today)) O where O.value ~ Concepts."HIV-positive" )
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 57
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZEncounterElements
extension:
  url:
    v: name
    l: name
  value: String
    v: Client's HIV status is negative or unknown
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @input: Client's HIV status is negative or unknown @pseudocode: "HIV status" ≠ "HIV-positive" */ define "Client's HIV status is negative or unknown": not "Client's HIV status is positive"
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 58
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD2DTPneumococcalEncounterElements
extension:
  url:
    v: name
    l: name
  value: String
    v: Client's HIV status is negative or unknown
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @input: Client's HIV status is negative or unknown @pseudocode: "HIV status" ≠ "HIV-positive" @code: Client's HIV status is negative or unknown-29 @decision: IMMZ.D2.DT.Pneumococcal.2 doses with booster dose: 2 primary doses with a booster dose (2p+1) @decision: IMMZ.D2.DT.Pneumococcal.3 doses: 3 primary doses (3p+0) */ define "Client's HIV status is negative or unknown": Encounter."Client's HIV status is negative or unknown"
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 59
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZElements
extension:
  url:
    v: name
    l: name
  value: String
    v: Preterm birth Observation
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @internal: Preterm birth Observation */ define "Preterm birth Observation": ([Observation: Concepts."Preterm birth"]).complete()
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 60
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZEncounterElements
extension:
  url:
    v: name
    l: name
  value: String
    v: Preterm birth Observation
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @internal: Preterm birth Observation */ define "Preterm birth Observation": Elements."Preterm birth Observation".encounterOrOnBefore(EncounterId, Today)
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 61
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZEncounterElements
extension:
  url:
    v: name
    l: name
  value: String
    v: Client was a premature infant at birth
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @input: Client was a premature infant at birth @pseudocode: "Preterm birth" = TRUE */ define "Client was a premature infant at birth": exists( "Preterm birth Observation" O where O.value = true )
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 62
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZEncounterElements
extension:
  url:
    v: name
    l: name
  value: String
    v: Client was not a premature infant at birth
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @input: Client was not a premature infant at birth @pseudocode: "Preterm birth" ≠ TRUE */ define "Client was not a premature infant at birth": not("Client was a premature infant at birth")
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 63
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD2DTPneumococcalEncounterElements
extension:
  url:
    v: name
    l: name
  value: String
    v: Client did not have preterm birth
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @input: Client did not have preterm birth @pseudocode: "Preterm birth" ≠ TRUE @code: Client did not have preterm birth-22 @decision: IMMZ.D2.DT.Pneumococcal.2 doses with booster dose: 2 primary doses with a booster dose (2p+1) @decision: IMMZ.D2.DT.Pneumococcal.3 doses: 3 primary doses (3p+0) */ define "Client did not have preterm birth": Encounter."Client was not a premature infant at birth"
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 64
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD2DTPneumococcal3DosesLogic
extension:
  url:
    v: name
    l: name
  value: String
    v: Pneumococcal immunization schedule is complete Case 4
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @output: Pneumococcal immunization schedule is complete Case 4 @pseudocode: "Immunization recommendation status" = "Complete" "Completed the primary vaccination series" = TRUE (where "Vaccine type" = "Pneumococcal vaccines") */ define "Pneumococcal immunization schedule is complete Case 4": Encounter."Three pneumococcal primary series doses were administered" and Encounter."No pneumococcal booster dose was administered" and Encounter."The client's age is less than 24 months" and Encounter."Client's HIV status is negative or unknown" and Encounter."Client did not have preterm birth"
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 65
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD2DTPneumococcalEncounterElements
extension:
  url:
    v: name
    l: name
  value: String
    v: The client's age is more than or equal to 24 months
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @input: The client's age is more than or equal to 24 months @pseudocode: Today's date − "Date of birth" ≥ 24 months @code: The client's age is more than or equal to 24 months-42 @decision: IMMZ.D2.DT.Pneumococcal.2 doses with booster dose: 2 primary doses with a booster dose (2p+1) @decision: IMMZ.D2.DT.Pneumococcal.3 doses: 3 primary doses (3p+0) */ define "The client's age is more than or equal to 24 months": Encounter."Current Patient Age In Months" >= 24
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 66
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD2DTPneumococcal3DosesLogic
extension:
  url:
    v: name
    l: name
  value: String
    v: Pneumococcal immunization schedule is complete Case 5
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @output: Pneumococcal immunization schedule is complete Case 5 @pseudocode: "Immunization recommendation status" = "Complete" "Completed the primary vaccination series" = TRUE (where "Vaccine type" = "Pneumococcal vaccines") */ define "Pneumococcal immunization schedule is complete Case 5": Encounter."Three pneumococcal primary series doses were administered" and Encounter."No pneumococcal booster dose was administered" and Encounter."The client's age is more than or equal to 24 months"
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 67
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD2DTPneumococcalEncounterElements
extension:
  url:
    v: name
    l: name
  value: String
    v: One pneumococcal booster dose was administered
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @input: One pneumococcal booster dose was administered @pseudocode: Count of vaccines administered (where "Vaccine type" = "Pneumococcal vaccines" and "Type of dose" = "Booster dose") = 1 @code: One pneumococcal booster dose was administered-119 @decision: IMMZ.D2.DT.Pneumococcal.2 doses with booster dose: 2 primary doses with a booster dose (2p+1) @decision: IMMZ.D2.DT.Pneumococcal.3 doses: 3 primary doses (3p+0) */ define "One pneumococcal booster dose was administered": "Number of Pneumococcal Booster Series Doses Administered" = 1
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 68
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD2DTPneumococcal3DosesLogic
extension:
  url:
    v: name
    l: name
  value: String
    v: Pneumococcal immunization schedule is complete Case 6
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @output: Pneumococcal immunization schedule is complete Case 6 @pseudocode: "Immunization recommendation status" = "Complete" */ define "Pneumococcal immunization schedule is complete Case 6": Encounter."Three pneumococcal primary series doses were administered" and Encounter."One pneumococcal booster dose was administered"
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 69
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD2DTPneumococcal3DosesLogic
extension:
  url:
    v: name
    l: name
  value: String
    v: Pneumococcal immunization schedule is complete
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @output: Pneumococcal immunization schedule is complete @pseudocode: "Immunization recommendation status" = "Complete" "Completed the primary vaccination series" = TRUE (where "Vaccine type" = "Pneumococcal vaccines") */ define "Pneumococcal immunization schedule is complete": "Pneumococcal immunization schedule is complete Case 1" or "Pneumococcal immunization schedule is complete Case 2" or "Pneumococcal immunization schedule is complete Case 3" or "Pneumococcal immunization schedule is complete Case 4" or "Pneumococcal immunization schedule is complete Case 5" or "Pneumococcal immunization schedule is complete Case 6"
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 70
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD2DTPneumococcal3DosesLogic
extension:
  url:
    v: name
    l: name
  value: String
    v: Pneumococcal immunization schedule is complete Guidance
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @output: Pneumococcal immunization schedule is complete Guidance @guidance = Pneumococcal immunization schedule is complete. One pneumococcal dose was administered. Check for any other vaccines due. @guidance = Pneumococcal immunization schedule is complete. Two pneumococcal pneumococcal doses were administered. Check for any other vaccines due. @guidance = Pneumococcal immunization schedule is complete. Three pneumococcal primary serie doses were administered. Check for any other vaccines due. @guidance = Pneumococcal immunization schedule is complete. Three pneumococcal primary series doses were administered. Check for any other vaccines due. @guidance = Pneumococcal immunization schedule is complete. Three pneumococcal primary series doses were administered. Check for any other vaccines due. @guidance = Pneumococcal immunization schedule is complete. Three pneumococcal primary series doses and one booster dose were administered. Check for any other vaccines due. */ define "Pneumococcal immunization schedule is complete Guidance": case when "Pneumococcal immunization schedule is complete Case 1" then 'Pneumococcal immunization schedule is complete. One pneumococcal dose was administered. Check for any other vaccines due.' when "Pneumococcal immunization schedule is complete Case 2" then 'Pneumococcal immunization schedule is complete. Two pneumococcal pneumococcal doses were administered. Check for any other vaccines due.' when "Pneumococcal immunization schedule is complete Case 3" then 'Pneumococcal immunization schedule is complete. Three pneumococcal primary serie doses were administered. Check for any other vaccines due.' when "Pneumococcal immunization schedule is complete Case 4" then 'Pneumococcal immunization schedule is complete. Three pneumococcal primary series doses were administered. Check for any other vaccines due.' when "Pneumococcal immunization schedule is complete Case 5" then 'Pneumococcal immunization schedule is complete. Three pneumococc…
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 71
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD2DTPneumococcalEncounterElements
extension:
  url:
    v: name
    l: name
  value: String
    v: The latest pneumococcal dose was administered within 12 months post birth
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @input: The latest pneumococcal dose was administered within 12 months post birth @pseudocode: Latest "Date and time of vaccination" (where "Vaccine type" = "Pneumococcal vaccines") − "Date of birth" < 12 months @code: The latest pneumococcal dose was administered within 12 months post birth-116 @decision: IMMZ.D2.DT.Pneumococcal.2 doses with booster dose: 2 primary doses with a booster dose (2p+1) @decision: IMMZ.D2.DT.Pneumococcal.3 doses: 3 primary doses (3p+0) */ define "The latest pneumococcal dose was administered within 12 months post birth": AgeInMonthsAt("Date of Latest Pneumococcal Dose") < 12
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 72
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD2DTPneumococcalEncounterElements
extension:
  url:
    v: name
    l: name
  value: String
    v: Client's HIV status is positive
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @input: Client's HIV status is positive @pseudocode: "HIV status" = "HIV-positive" @code: Client's HIV status is positive-29 @decision: IMMZ.D2.DT.Pneumococcal.2 doses with booster dose: 2 primary doses with a booster dose (2p+1) @decision: IMMZ.D2.DT.Pneumococcal.3 doses: 3 primary doses (3p+0) */ define "Client's HIV status is positive": Encounter."Client's HIV status is positive"
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 73
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD2DTPneumococcal3DosesLogic
extension:
  url:
    v: name
    l: name
  value: String
    v: Client is not due for pneumococcal booster dose Case 1
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @output: Client is not due for pneumococcal booster dose Case 1 @pseudocode: "Immunization recommendation status" = "Not due" */ define "Client is not due for pneumococcal booster dose Case 1": Encounter."Three pneumococcal primary series doses were administered" and Encounter."No pneumococcal booster dose was administered" and Encounter."The client's age is less than 24 months" and Encounter."The latest pneumococcal dose was administered within 12 months post birth" and Encounter."The latest pneumococcal dose was administered less than 8 weeks ago" and Encounter."Client's HIV status is positive"
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 74
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD2DTPneumococcalEncounterElements
extension:
  url:
    v: name
    l: name
  value: String
    v: Client had preterm birth
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @input: Client had preterm birth @pseudocode: "Preterm birth" = TRUE @code: Client had preterm birth-22 @decision: IMMZ.D2.DT.Pneumococcal.2 doses with booster dose: 2 primary doses with a booster dose (2p+1) @decision: IMMZ.D2.DT.Pneumococcal.3 doses: 3 primary doses (3p+0) */ define "Client had preterm birth": Encounter."Client was a premature infant at birth"
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 75
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD2DTPneumococcal3DosesLogic
extension:
  url:
    v: name
    l: name
  value: String
    v: Client is not due for pneumococcal booster dose Case 2
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @output: Client is not due for pneumococcal booster dose Case 2 @pseudocode: "Immunization recommendation status" = "Not due" */ define "Client is not due for pneumococcal booster dose Case 2": Encounter."Three pneumococcal primary series doses were administered" and Encounter."No pneumococcal booster dose was administered" and Encounter."The client's age is less than 24 months" and Encounter."The latest pneumococcal dose was administered within 12 months post birth" and Encounter."The latest pneumococcal dose was administered less than 8 weeks ago" and Encounter."Client had preterm birth"
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 76
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD2DTPneumococcal3DosesLogic
extension:
  url:
    v: name
    l: name
  value: String
    v: Client is not due for pneumococcal booster dose
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @output: Client is not due for pneumococcal booster dose @pseudocode: "Immunization recommendation status" = "Not due" */ define "Client is not due for pneumococcal booster dose": "Client is not due for pneumococcal booster dose Case 1" or "Client is not due for pneumococcal booster dose Case 2"
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 77
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD2DTPneumococcal3DosesLogic
extension:
  url:
    v: name
    l: name
  value: String
    v: Client is not due for pneumococcal booster dose Guidance
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @output: Client is not due for pneumococcal booster dose Guidance @guidance = Should not vaccinate client with pneumococcal booster dose as latest pneumococcal dose was administered within 12 months post birth and administered less than 8 weeks ago. Check for any other vaccines due and inform the caregiver of when to come back for the next dose. @guidance = Should not vaccinate client with pneumococcal booster dose as latest pneumococcal dose was administered within 12 months post birth and administered less than 8 weeks ago. Check for any other vaccines due and inform the caregiver of when to come back for the next dose. */ define "Client is not due for pneumococcal booster dose Guidance": case when "Client is not due for pneumococcal booster dose Case 1" then 'Should not vaccinate client with pneumococcal booster dose as latest pneumococcal dose was administered within 12 months post birth and administered less than 8 weeks ago. Check for any other vaccines due and inform the caregiver of when to come back for the next dose.' when "Client is not due for pneumococcal booster dose Case 2" then 'Should not vaccinate client with pneumococcal booster dose as latest pneumococcal dose was administered within 12 months post birth and administered less than 8 weeks ago. Check for any other vaccines due and inform the caregiver of when to come back for the next dose.' else '' end
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 78
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD2DTPneumococcal3DosesLogic
extension:
  url:
    v: name
    l: name
  value: String
    v: Client is due for pneumococcal booster dose Case 1
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @output: Client is due for pneumococcal booster dose Case 1 @pseudocode: "Immunization recommendation status" = "Due" */ define "Client is due for pneumococcal booster dose Case 1": Encounter."Three pneumococcal primary series doses were administered" and Encounter."No pneumococcal booster dose was administered" and Encounter."The client's age is less than 24 months" and Encounter."The latest pneumococcal dose was administered within 12 months post birth" and Encounter."The latest pneumococcal dose was administered more than 8 weeks ago" and Encounter."Client's HIV status is positive"
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 79
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD2DTPneumococcal3DosesLogic
extension:
  url:
    v: name
    l: name
  value: String
    v: Client is due for pneumococcal booster dose Case 2
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @output: Client is due for pneumococcal booster dose Case 2 @pseudocode: "Immunization recommendation status" = "Due" */ define "Client is due for pneumococcal booster dose Case 2": Encounter."Three pneumococcal primary series doses were administered" and Encounter."No pneumococcal booster dose was administered" and Encounter."The client's age is less than 24 months" and Encounter."The latest pneumococcal dose was administered within 12 months post birth" and Encounter."The latest pneumococcal dose was administered more than 8 weeks ago" and Encounter."Client had preterm birth"
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 80
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD2DTPneumococcal3DosesLogic
extension:
  url:
    v: name
    l: name
  value: String
    v: Client is due for pneumococcal booster dose
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @output: Client is due for pneumococcal booster dose @pseudocode: "Immunization recommendation status" = "Due" */ define "Client is due for pneumococcal booster dose": "Client is due for pneumococcal booster dose Case 1" or "Client is due for pneumococcal booster dose Case 2"
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 81
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD2DTPneumococcal3DosesLogic
extension:
  url:
    v: name
    l: name
  value: String
    v: Client is due for pneumococcal booster dose Guidance
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @output: Client is due for pneumococcal booster dose Guidance @guidance = Should vaccinate client with pneumococcal booster dose as client is HIV positive and latest pneumococcal dose was administered within 12 months post birth and administered more than 8 weeks ago . Check for contraindications. @guidance = Should vaccinate client with pneumococcal booster dose as client had preterm birth and latest pneumococcal dose was administered within 12 months post birth and administered more than 8 weeks ago. Check for contraindications. */ define "Client is due for pneumococcal booster dose Guidance": case when "Client is due for pneumococcal booster dose Case 1" then 'Should vaccinate client with pneumococcal booster dose as client is HIV positive and latest pneumococcal dose was administered within 12 months post birth and administered more than 8 weeks ago . Check for contraindications.' when "Client is due for pneumococcal booster dose Case 2" then 'Should vaccinate client with pneumococcal booster dose as client had preterm birth and latest pneumococcal dose was administered within 12 months post birth and administered more than 8 weeks ago. Check for contraindications.' else '' end
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 82
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD2DTPneumococcalEncounterElements
extension:
  url:
    v: name
    l: name
  value: String
    v: The client's age is more than 5 years
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @input: The client's age is more than 5 years @pseudocode: Today's date − "Date of birth" > 5 years @code: The client's age is more than 5 years-40 @decision: IMMZ.D2.DT.Pneumococcal.2 doses with booster dose: 2 primary doses with a booster dose (2p+1) @decision: IMMZ.D2.DT.Pneumococcal.3 doses: 3 primary doses (3p+0) */ define "The client's age is more than 5 years": Encounter."Current Patient Age In Months" > 5
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 83
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD2DTPneumococcal3DosesLogic
extension:
  url:
    v: name
    l: name
  value: String
    v: Clinical judgement is required. Create a clinical note.
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @output: Clinical judgement is required. Create a clinical note. @pseudocode: "Immunization recommendation status" = "Further evaluation needed" */ define "Clinical judgement is required. Create a clinical note.": Encounter."The client's age is more than 5 years"
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 84
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD2DTPneumococcal3DosesLogic
extension:
  url:
    v: name
    l: name
  value: String
    v: Clinical judgement is required. Create a clinical note. Guidance
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @output: Clinical judgement is required. Create a clinical note. Guidance @guidance: Members States should update this action according to the national immunization programme */ define "Clinical judgement is required. Create a clinical note. Guidance": 'Members States should update this action according to the national immunization programme'
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 85
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD2DTPneumococcal3DosesLogic
extension:
  url:
    v: name
    l: name
  value: String
    v: Guidance
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @dynamicValue: Guidance */ define "Guidance": case when "Client is not due for pneumococcal vaccination" then "Client is not due for pneumococcal vaccination Guidance" when "Client is due for pneumococcal vaccination" then "Client is due for pneumococcal vaccination Guidance" when "Pneumococcal immunization schedule is complete" then "Pneumococcal immunization schedule is complete Guidance" when "Client is not due for pneumococcal booster dose" then "Client is not due for pneumococcal booster dose Guidance" when "Client is due for pneumococcal booster dose" then "Client is due for pneumococcal booster dose Guidance" when "Clinical judgement is required. Create a clinical note." then "Clinical judgement is required. Create a clinical note. Guidance" else '' end
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 86
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD2DTPneumococcal3DosesLogic
extension:
  url:
    v: name
    l: name
  value: String
    v: Has Guidance
extension:
  url:
    v: statement
    l: statement
  value: String
    v: define "Has Guidance": "Guidance" is not null and "Guidance" != ''
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 87
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZCommon
extension:
  url:
    v: name
    l: name
  value: String
    v: seriesPrimary
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /** * @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' )
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 88
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: FHIRHelpers
extension:
  url:
    v: name
    l: name
  value: String
    v: ToString
extension:
  url:
    v: statement
    l: statement
  value: String
    v: define function ToString(value string): value.value
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 89
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: FHIRHelpers
extension:
  url:
    v: name
    l: name
  value: String
    v: ToString
extension:
  url:
    v: statement
    l: statement
  value: String
    v: define function ToString(value ImmunizationStatus): value.value
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 90
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: FHIRHelpers
extension:
  url:
    v: name
    l: name
  value: String
    v: ToBoolean
extension:
  url:
    v: statement
    l: statement
  value: String
    v: define function ToBoolean(value boolean): value.value
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 91
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: FHIRHelpers
extension:
  url:
    v: name
    l: name
  value: String
    v: ToConcept
extension:
  url:
    v: statement
    l: statement
  value: String
    v: 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 }
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 92
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: FHIRHelpers
extension:
  url:
    v: name
    l: name
  value: String
    v: ToCode
extension:
  url:
    v: statement
    l: statement
  value: String
    v: 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 }
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 93
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: WHOCommon
extension:
  url:
    v: name
    l: name
  value: String
    v: earliest
extension:
  url:
    v: statement
    l: statement
  value: String
    v: define fluent function earliest(immunizations List<Immunization>): First( immunizations I sort by start of occurrence.toInterval() )
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 94
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: WHOCommon
extension:
  url:
    v: name
    l: name
  value: String
    v: mostRecent
extension:
  url:
    v: statement
    l: statement
  value: String
    v: define fluent function mostRecent(immunizations List<Immunization>): Last( immunizations I sort by start of occurrence.toInterval() )
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 95
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZCommon
extension:
  url:
    v: name
    l: name
  value: String
    v: encounterOrOnBefore
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /** * @description: Gets observation from an encounter or on or before a date */ define fluent function encounterOrOnBefore(observations List<Observation>, EncounterId String, beforeDate Date): observations O where (O.encounter.references(EncounterId) or O.effective.toInterval() starts same day or before beforeDate)
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 96
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: WHOCommon
extension:
  url:
    v: name
    l: name
  value: String
    v: references
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @description: Returns true if the given reference is to the given resourceId @comment: Returns true if the `resourceId` parameter exactly equals the tail of the given reference. NOTE: This function assumes resources from the same source server. */ define fluent function references(reference FHIR.Reference, resourceId String): resourceId = Last(Split(reference.reference, '/'))
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 97
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: WHOCommon
extension:
  url:
    v: name
    l: name
  value: String
    v: complete
extension:
  url:
    v: statement
    l: statement
  value: String
    v: define fluent function complete(observations List<Observation>): observations O where O.status in { 'final', 'amended', 'corrected' }
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 98
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: FHIRHelpers
extension:
  url:
    v: name
    l: name
  value: String
    v: ToString
extension:
  url:
    v: statement
    l: statement
  value: String
    v: define function ToString(value ObservationStatus): value.value
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 99
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZCommon
extension:
  url:
    v: name
    l: name
  value: String
    v: seriesBooster
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /** * @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' )
extension:
  url:
    v: displaySequence
    l: displaySequence
  value: Integer
    v: 100
url:
  v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
  l: cqf-logicDefinition

v: EffectiveDataRequirements

v: active

coding:
  system:
    v: http://terminology.hl7.org/CodeSystem/library-type
    l: library-type
  code:
    v: module-definition

type:
  v: depends-on
display:
  v: FHIR model information
resource:
  v: http://fhir.org/guides/cqf/common/Library/FHIR-ModelInfo|4.0.1
  l: http://fhir.org/guides/cqf/common/Library/FHIR-ModelInfo

type:
  v: depends-on
display:
  v: Library Encounter
resource:
  v: http://smart.who.int/immunizations/Library/IMMZD2DTPneumococcalEncounterElements
  l: IMMZD2DTPneumococcalEncounterElements

type:
  v: depends-on
display:
  v: Library Encounter
resource:
  v: http://smart.who.int/immunizations/Library/IMMZEncounterElements
  l: IMMZEncounterElements

type:
  v: depends-on
display:
  v: Library Common
resource:
  v: http://smart.who.int/immunizations/Library/IMMZCommon
  l: IMMZCommon

type:
  v: depends-on
display:
  v: Library FHIRHelpers
resource:
  v: http://fhir.org/guides/cqf/common/Library/FHIRHelpers|4.0.1
  l: http://fhir.org/guides/cqf/common/Library/FHIRHelpers

type:
  v: depends-on
display:
  v: Library Elements
resource:
  v: http://smart.who.int/immunizations/Library/IMMZElements
  l: IMMZElements

type:
  v: depends-on
display:
  v: Library WC
resource:
  v: http://smart.who.int/immunizations/Library/WHOCommon
  l: WHOCommon

type:
  v: depends-on
display:
  v: Library FHIRHelpers
resource:
  v: http://fhir.org/guides/cqf/common/Library/FHIRHelpers|4.0.1
  l: http://fhir.org/guides/cqf/common/Library/FHIRHelpers

type:
  v: depends-on
display:
  v: Library Concepts
resource:
  v: http://smart.who.int/immunizations/Library/IMMZConcepts
  l: IMMZConcepts

type:
  v: depends-on
display:
  v: Library WC
resource:
  v: http://smart.who.int/immunizations/Library/WHOCommon
  l: WHOCommon

type:
  v: depends-on
display:
  v: Library Common
resource:
  v: http://smart.who.int/immunizations/Library/IMMZCommon
  l: IMMZCommon

type:
  v: depends-on
display:
  v: Library WC
resource:
  v: http://smart.who.int/immunizations/Library/WHOCommon
  l: WHOCommon

type:
  v: depends-on
display:
  v: Library Concepts
resource:
  v: http://smart.who.int/immunizations/Library/IMMZConcepts
  l: IMMZConcepts

type:
  v: depends-on
display:
  v: Code system IMMZD
resource:
  v: http://smart.who.int/immunizations/CodeSystem/IMMZ.D
  l: IMMZ.D

type:
  v: depends-on
display:
  v: Value set Pneumococcal vaccines
resource:
  v: http://smart.who.int/immunizations/ValueSet/IMMZ.Z.DE13
  l: IMMZ.Z.DE13

name:
  v: Today
use:
  v: in
min:
  v: 0
max:
  v: 1
type:
  v: date

name:
  v: EncounterId
use:
  v: in
min:
  v: 0
max:
  v: 1
type:
  v: string

name:
  v: Guidance
use:
  v: out
min:
  v: 0
max:
  v: 1
type:
  v: string

name:
  v: Client is due for pneumococcal vaccination
use:
  v: out
min:
  v: 0
max:
  v: 1
type:
  v: boolean

name:
  v: Has Guidance
use:
  v: out
min:
  v: 0
max:
  v: 1
type:
  v: boolean

name:
  v: Client is due for pneumococcal booster dose
use:
  v: out
min:
  v: 0
max:
  v: 1
type:
  v: boolean

type:
  v: Patient
profile:
  v: http://hl7.org/fhir/StructureDefinition/Patient
  l: Patient

type:
  v: Immunization
profile:
  v: http://hl7.org/fhir/StructureDefinition/Immunization
  l: Immunization
must support:
  v: status
must support:
  v: isSubpotent

type:
  v: Immunization
profile:
  v: http://hl7.org/fhir/StructureDefinition/Immunization
  l: Immunization
must support:
  v: status
must support:
  v: isSubpotent
must support:
  v: occurrence

type:
  v: Immunization
profile:
  v: http://hl7.org/fhir/StructureDefinition/Immunization
  l: Immunization
must support:
  v: status
must support:
  v: isSubpotent
must support:
  v: occurrence
must support:
  v: vaccineCode

type:
  v: Patient
profile:
  v: http://hl7.org/fhir/StructureDefinition/Patient
  l: Patient

type:
  v: Observation
profile:
  v: http://hl7.org/fhir/StructureDefinition/Observation
  l: Observation
must support:
  v: code
code filter:
  path:
    v: code
  code:
    system:
      v: http://smart.who.int/immunizations/CodeSystem/IMMZ.D
      l: IMMZ.D
    code:
      v: DE251
    display:
      v: At high risk for pneumococcal infection

type:
  v: Observation
profile:
  v: http://hl7.org/fhir/StructureDefinition/Observation
  l: Observation
must support:
  v: code
code filter:
  path:
    v: code
  code:
    system:
      v: http://smart.who.int/immunizations/CodeSystem/IMMZ.D
      l: IMMZ.D
    code:
      v: DE204
    display:
      v: HIV status

type:
  v: Observation
profile:
  v: http://hl7.org/fhir/StructureDefinition/Observation
  l: Observation
must support:
  v: code
code filter:
  path:
    v: code
  code:
    system:
      v: http://smart.who.int/immunizations/CodeSystem/IMMZ.D
      l: IMMZ.D
    code:
      v: DE208
    display:
      v: Preterm birth

type:
  v: Immunization
profile:
  v: http://hl7.org/fhir/StructureDefinition/Immunization
  l: Immunization
must support:
  v: status
must support:
  v: isSubpotent
must support:
  v: occurrence
must support:
  v: vaccineCode

type:
  v: Immunization
profile:
  v: http://hl7.org/fhir/StructureDefinition/Immunization
  l: Immunization
must support:
  v: status
must support:
  v: isSubpotent
must support:
  v: occurrence
must support:
  v: vaccineCode

type:
  v: Observation
profile:
  v: http://hl7.org/fhir/StructureDefinition/Observation
  l: Observation
must support:
  v: code
code filter:
  path:
    v: code
  code:
    system:
      v: http://smart.who.int/immunizations/CodeSystem/IMMZ.D
      l: IMMZ.D
    code:
      v: DE251
    display:
      v: At high risk for pneumococcal infection

type:
  v: Immunization
profile:
  v: http://hl7.org/fhir/StructureDefinition/Immunization
  l: Immunization
must support:
  v: status
must support:
  v: isSubpotent
must support:
  v: occurrence
must support:
  v: vaccineCode

type:
  v: Immunization
profile:
  v: http://hl7.org/fhir/StructureDefinition/Immunization
  l: Immunization
must support:
  v: status
must support:
  v: isSubpotent
must support:
  v: occurrence
must support:
  v: vaccineCode

type:
  v: Observation
profile:
  v: http://hl7.org/fhir/StructureDefinition/Observation
  l: Observation
must support:
  v: code
code filter:
  path:
    v: code
  code:
    system:
      v: http://smart.who.int/immunizations/CodeSystem/IMMZ.D
      l: IMMZ.D
    code:
      v: DE208
    display:
      v: Preterm birth

url:
  v: http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-knowledgeCapability
  l: cpg-knowledgeCapability
value: Code
  v: computable

url:
  v: http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-effectiveDataRequirements
  l: crmi-effectiveDataRequirements
value: Canonical
  v: #effective-data-requirements
  l: effective-data-requirements

v: 0.2.0

v: IMMZD2DTPneumococcal3Doses

v: IMMZ.D2.DT.Pneumococcal.3 doses

coding:
  system:
    v: http://terminology.hl7.org/CodeSystem/plan-definition-type
    l: plan-definition-type
  code:
    v: eca-rule

v: draft

v: false

v: 2026-03-29T17:23:09+00:00

v: WHO

name:
  v: WHO
telecom:
  system:
    v: url
  value:
    v: http://who.int

v: IMMZ.D2.DT.Pneumococcal.3 doses 3 primary doses (3p+0)

type:
  v: citation
citation:
  v: WHO recommendations for routine immunization - summary tables (January 2025)

extension:
  url:
    v: http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-rationale
    l: cpg-rationale
  value: Markdown
    v: For administration of pneumococcal vaccine to infants, WHO recommends a 3-dose schedule administered either as 2p+1 or as 3p+0, starting as early as 6 weeks of age.
title:
  v: Determine if the client is due for BCG.
description:
  v: Determine if the client is due for BCG vaccine according to the national immunization protocol. 3 primary doses (3p+0)
condition:
  kind:
    v: applicability
  expression:
    description:
      v: Client is due for pneumococcal vaccination
    language:
      v: text/cql-identifier
    expression:
      v: Client is due for pneumococcal vaccination
definition: Canonical
  v: http://smart.who.int/immunizations/ActivityDefinition/IMMZD2DTMR
  l: IMMZD2DTMR
dynamic value:
  path:
    v: status
  expression:
    language:
      v: text/cql-expression
    expression:
      v: 'draft'
dynamic value:
  path:
    v: intent
  expression:
    language:
      v: text/cql-expression
    expression:
      v: 'proposal'
dynamic value:
  path:
    v: medication
  expression:
    language:
      v: text/cql-expression
    expression:
      v: Concept { codes: { Code { system: 'http://smart.who.int/immunizations/CodeSystem/IMMZ.Z', code: 'DE13', display: 'Pneumococcal vaccines' } }, display: 'Pneumococcal vaccines' }

extension:
  url:
    v: http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-rationale
    l: cpg-rationale
  value: Markdown
    v: HIV-positive infants and preterm neonates who have received their 3 primary vaccine doses before 12 months of age may benefit from a booster dose in the second year of life.
title:
  v: Determine if the client is due for BCG.
description:
  v: Determine if the client is due for BCG vaccine according to the national immunization protocol. 3 primary doses (3p+0)
condition:
  kind:
    v: applicability
  expression:
    description:
      v: Client is due for pneumococcal booster dose
    language:
      v: text/cql-identifier
    expression:
      v: Client is due for pneumococcal booster dose
definition: Canonical
  v: http://smart.who.int/immunizations/ActivityDefinition/IMMZD2DTMR
  l: IMMZD2DTMR
dynamic value:
  path:
    v: status
  expression:
    language:
      v: text/cql-expression
    expression:
      v: 'draft'
dynamic value:
  path:
    v: intent
  expression:
    language:
      v: text/cql-expression
    expression:
      v: 'proposal'
dynamic value:
  path:
    v: medication
  expression:
    language:
      v: text/cql-expression
    expression:
      v: Concept { codes: { Code { system: 'http://smart.who.int/immunizations/CodeSystem/IMMZ.Z', code: 'DE13', display: 'Pneumococcal vaccines' } }, display: 'Pneumococcal vaccines' }

title:
  v: Check for Guidance for the patient regarding IMMZ.D2.DT.Pneumococcal.3 doses.
description:
  v: Show Guidance for the patient regarding IMMZ.D2.DT.Pneumococcal.3 doses.
condition:
  kind:
    v: applicability
  expression:
    description:
      v: Has Guidance
    language:
      v: text/cql-identifier
    expression:
      v: Has Guidance
definition: Canonical
  v: http://smart.who.int/immunizations/ActivityDefinition/IMMZD2DTCR
  l: IMMZD2DTCR
dynamic value:
  path:
    v: status
  expression:
    language:
      v: text/cql-expression
    expression:
      v: 'active'
dynamic value:
  path:
    v: payload.contentString
  expression:
    language:
      v: text/cql-identifier
    expression:
      v: Guidance
dynamic value:
  path:
    v: category.coding
  expression:
    description:
      v: Category of communication
    language:
      v: text/cql-expression
    expression:
      v: Code { system: 'http://terminology.hl7.org/CodeSystem/communication-category', code: 'alert' }
dynamic value:
  path:
    v: priority
  expression:
    description:
      v: Alert priority
    language:
      v: text/cql-expression
    expression:
      v: Code { system: 'http://hl7.org/fhir/request-priority', code: 'routine' }