IMMZD2DTMeaslesMCVDose0
type: PlanDefinition
node role: treeRoot
id:
  v: IMMZD2DTMeaslesMCVDose0
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: IMMZD2DTMeaslesMCVDose0 Url: IMMZ.D2.DT.Measles.MCV dose 0 Version: 0.2.0 Title: IMMZ.D2.DT.Measles.MCV dose 0 Status: draft Type: system: http://terminology.hl7.org/CodeSystem/plan-definition-type code: eca-rule Date: 2026-03-25 23:30:34+0000 Publisher: WHO Description: IMMZ.D2.DT.Measles.MCV dose 0 Measles-containing vaccine dose 0 (MCV0) administration Knowledge Capability: computable Related Artifacts: References WHO recommendations for routine immunization - summary tables (January 2025) Libraries: IMMZD2DTMeaslesMCVDose0Logic Actions: Check for Guidance for the patient regarding IMMZ.D2.DT.Measles.MCV dose 0.: Show Guidance for the patient regarding IMMZ.D2.DT.Measles.MCV dose 0. If: Applicability: Has Guidance (Has Guidance) Then: Definition: IMMZ.D2.DT.CR Dynamic Values: status: ('active') payload.contentString: (Guidance) category.coding: (Code { system: 'http://terminology.hl7.org/CodeSystem/communication-category', code: 'alert' }) priority: (Code { system: 'http://hl7.org/fhir/request-priority', code: 'routine' })
contained: Library
  id:
    v: effective-data-requirements
  extension:
    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: 0
    url:
      v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
      l: cqf-logicDefinition
  extension:
    extension:
      url:
        v: libraryName
        l: libraryName
      value: String
        v: IMMZD2DTMeaslesEncounterElements
    extension:
      url:
        v: name
        l: name
      value: String
        v: Client's age is less than 6 months
    extension:
      url:
        v: statement
        l: statement
      value: String
        v: /* @input: Client's age is less than 6 months @pseudocode: Today's date − "Date of birth" < 6 months @code: Client's age is less than 6 months-41 @decision: IMMZ.D2.DT.Measles.MCV dose 0: Measles-containing vaccine dose 0 (MCV0) administration */ define "Client's age is less than 6 months": Encounter."Current Patient Age In Months" < 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: IMMZD2DTMeaslesMCVDose0Logic
    extension:
      url:
        v: name
        l: name
      value: String
        v: Client is not due for MCV0 Case 1
    extension:
      url:
        v: statement
        l: statement
      value: String
        v: /* @output: Client is not due for MCV0 Case 1 @pseudocode: "Immunization recommendation status" = "Not due" */ define "Client is not due for MCV0 Case 1": Encounter."Client's age is less than 6 months"
    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: IMMZD2DTMeaslesElements
    extension:
      url:
        v: name
        l: name
      value: String
        v: MCV Doses Administered to Patient
    extension:
      url:
        v: statement
        l: statement
      value: String
        v: /* @internal: MCV Doses Administered to Patient */ define "MCV Doses Administered to Patient": Elements."Doses Administered to Patient" I where I.vaccineCode in Concepts."Measles-containing vaccines"
    extension:
      url:
        v: displaySequence
        l: displaySequence
      value: Integer
        v: 4
    url:
      v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
      l: cqf-logicDefinition
  extension:
    extension:
      url:
        v: libraryName
        l: libraryName
      value: String
        v: IMMZD2DTMeaslesElements
    extension:
      url:
        v: name
        l: name
      value: String
        v: MCV Dose 0 Doses Administered to Patient
    extension:
      url:
        v: statement
        l: statement
      value: String
        v: /* @internal: MCV Dose 0 Doses Administered to Patient */ define "MCV Dose 0 Doses Administered to Patient": "MCV Doses Administered to Patient".seriesDose0()
    extension:
      url:
        v: displaySequence
        l: displaySequence
      value: Integer
        v: 5
    url:
      v: http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition
      l: cqf-logicDefinition
  extension:
    extension:
      url:
        v: libraryName
        l: libraryName
      value: String
        v: IMMZD2DTMeaslesEncounterElements
    extension:
      url:
        v: name
        l: name
      value: String
        v: MCV Dose 0 Doses Administered to Patient

url:
  v: statement
  l: statement
value: String
  v: /* @internal: MCV Dose 0 Doses Administered to Patient */ define "MCV Dose 0 Doses Administered to Patient": MeaslesElements."MCV Dose 0 Doses Administered to Patient".onOrBefore(Today)

url:
  v: displaySequence
  l: displaySequence
value: Integer
  v: 6

extension:
  url:
    v: libraryName
    l: libraryName
  value: String
    v: IMMZD2DTMeaslesEncounterElements
extension:
  url:
    v: name
    l: name
  value: String
    v: Number of MCV Dose 0 Doses Administered
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @internal: Number of MCV Dose 0 Doses Administered */ define "Number of MCV Dose 0 Doses Administered": Count("MCV Dose 0 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: IMMZD2DTMeaslesEncounterElements
extension:
  url:
    v: name
    l: name
  value: String
    v: MCV0 was not administered
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @input: MCV0 was not administered @pseudocode: Count of vaccines administered (where "Vaccine type" = "Measles-containing vaccines" and "Type of dose" = "Dose 0") = 0 @code: MCV0 was not administered-119 @decision: IMMZ.D2.DT.Measles.MCV dose 0: Measles-containing vaccine dose 0 (MCV0) administration */ define "MCV0 was not administered": "Number of MCV Dose 0 Doses Administered" = 0
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: IMMZD2DTMeaslesEncounterElements
extension:
  url:
    v: name
    l: name
  value: String
    v: Client's age is between 6 months and 9 months
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @input: Client's age is between 6 months and 9 months @pseudocode: 6 months ≤ Today's date − "Date of birth" < 9 months @code: Client's age is between 6 months and 9 months-52 @decision: IMMZ.D2.DT.Measles.MCV dose 0: Measles-containing vaccine dose 0 (MCV0) administration */ define "Client's age is between 6 months and 9 months": 6 <= Encounter."Current Patient Age In Months" and Encounter."Current Patient Age In Months" < 9
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: IMMZElements
extension:
  url:
    v: name
    l: name
  value: String
    v: Live Attenuated Vaccines
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @dataElement: Live attenuated vaccines */ define "Live Attenuated Vaccines": "Doses Administered to Patient" I where I.vaccineCode in Concepts."Live Attenuated"
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: IMMZEncounterElements
extension:
  url:
    v: name
    l: name
  value: String
    v: Live Attenuated Vaccines
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @dataElement Live attenuated vaccines */ define "Live Attenuated Vaccines": Elements."Live Attenuated Vaccines" I where I.occurrence.toInterval() same day or before Today
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: IMMZEncounterElements
extension:
  url:
    v: name
    l: name
  value: String
    v: Date of Latest Live Attenuated Vaccine
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @dataElement Date and time of last live attenuated vaccine */ define "Date of Latest Live Attenuated Vaccine": date from start of "Live Attenuated Vaccines".mostRecent().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: IMMZEncounterElements
extension:
  url:
    v: name
    l: name
  value: String
    v: Live vaccine was administered in the last 4 weeks
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @input: Live vaccine was administered in the last 4 weeks @pseudocode: Today's date − latest "Date and time of vaccination" (where "Live vaccine" = TRUE) < 4 weeks */ define "Live vaccine was administered in the last 4 weeks": "Date of Latest Live Attenuated Vaccine" is not null and duration in weeks between "Date of Latest Live Attenuated Vaccine" and Today < 4
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: IMMZD2DTMeaslesEncounterElements
extension:
  url:
    v: name
    l: name
  value: String
    v: Live vaccine was administered in the last 4 weeks
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @input: Live vaccine was administered in the last 4 weeks @pseudocode: Today's date − latest "Date and time of vaccination" (where "Live vaccine" = TRUE) < 4 weeks @code: Live vaccine was administered in the last 4 weeks-92 @decision: IMMZ.D2.DT.Measles.Ongoing transmission: Countries with ongoing transmission in which the risk of measles mortality remains high (countries that provide first dose of measles-containing vaccine (MCV) at 9 months and second dose of MCV at 15 months) @decision: IMMZ.D2.DT.Measles.Low transmission: Countries with low levels of measles transmission (countries that provide first dose of measles-containing vaccine (MCV) at 12 months and second dose of MCV at 15 months) @decision: IMMZ.D2.DT.Measles.MCV dose 0: Measles-containing vaccine dose 0 (MCV0) administration */ define "Live vaccine was administered in the last 4 weeks": Encounter."Live vaccine was administered in the last 4 weeks"
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: IMMZD2DTMeaslesMCVDose0Logic
extension:
  url:
    v: name
    l: name
  value: String
    v: Client is not due for MCV0 Case 2
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @output: Client is not due for MCV0 Case 2 @pseudocode: "Immunization recommendation status" = "Not due" */ define "Client is not due for MCV0 Case 2": Encounter."MCV0 was not administered" and Encounter."Client's age is between 6 months and 9 months" and Encounter."Live vaccine was administered in the last 4 weeks"
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: IMMZD2DTMeaslesEncounterElements
extension:
  url:
    v: name
    l: name
  value: String
    v: Client's age is more than or equal to 9 months
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @input: Client's age is more than or equal to 9 months @pseudocode: Today's date − "Date of birth" ≥ 9 months @code: Client's age is more than or equal to 9 months-41 @decision: IMMZ.D2.DT.Measles.Ongoing transmission: Countries with ongoing transmission in which the risk of measles mortality remains high (countries that provide first dose of measles-containing vaccine (MCV) at 9 months and second dose of MCV at 15 months) @decision: IMMZ.D2.DT.Measles.MCV dose 0: Measles-containing vaccine dose 0 (MCV0) administration */ define "Client's age is more than or equal to 9 months": Encounter."Current Patient Age In Months" >= 9
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: IMMZD2DTMeaslesMCVDose0Logic
extension:
  url:
    v: name
    l: name
  value: String
    v: Client is not due for MCV0 Case 3
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @output: Client is not due for MCV0 Case 3 @pseudocode: "Immunization recommendation status" = "Not due" */ define "Client is not due for MCV0 Case 3": Encounter."Client's age is more than or equal to 9 months"
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: IMMZD2DTMeaslesEncounterElements
extension:
  url:
    v: name
    l: name
  value: String
    v: MCV0 was administered
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @input: MCV0 was administered @pseudocode: Count of vaccines administered (where "Vaccine type" = "Measles-containing vaccines" and "Type of dose" = "Dose 0") = 1 @code: MCV0 was administered-119 @decision: IMMZ.D2.DT.Measles.MCV dose 0: Measles-containing vaccine dose 0 (MCV0) administration */ define "MCV0 was administered": "Number of MCV Dose 0 Doses Administered" = 1
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: IMMZD2DTMeaslesMCVDose0Logic
extension:
  url:
    v: name
    l: name
  value: String
    v: Client is not due for MCV0 Case 4
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @output: Client is not due for MCV0 Case 4 @pseudocode: "Immunization recommendation status" = "Not due" */ define "Client is not due for MCV0 Case 4": Encounter."MCV0 was administered"
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: IMMZD2DTMeaslesMCVDose0Logic
extension:
  url:
    v: name
    l: name
  value: String
    v: Client is not due for MCV0
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @output: Client is not due for MCV0 @pseudocode: "Immunization recommendation status" = "Not due" */ define "Client is not due for MCV0": "Client is not due for MCV0 Case 1" or "Client is not due for MCV0 Case 2" or "Client is not due for MCV0 Case 3" or "Client is not due for MCV0 Case 4"
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: IMMZD2DTMeaslesMCVDose0Logic
extension:
  url:
    v: name
    l: name
  value: String
    v: Client is not due for MCV0 Guidance
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @output: Client is not due for MCV0 Guidance @guidance = Should not vaccinate client with MCV0 as client's age is less than 6 months. Check for any vaccines due and inform the caregiver of when to come back for MCV0. @guidance = Should not vaccinate client with MCV0 as live vaccine was administered in the past 4 weeks. Check for any vaccines due and inform the caregiver of when to come back for MCV0. @guidance = Should not vaccinate client with MCV0 as client's age is more than 9 months. Check measles routine immunization schedule. @guidance = MCV0 was administered. Check measles routine immunization schedule. */ define "Client is not due for MCV0 Guidance": case when "Client is not due for MCV0 Case 1" then 'Should not vaccinate client with MCV0 as client\'s age is less than 6 months. Check for any vaccines due and inform the caregiver of when to come back for MCV0.' when "Client is not due for MCV0 Case 2" then 'Should not vaccinate client with MCV0 as live vaccine was administered in the past 4 weeks. Check for any vaccines due and inform the caregiver of when to come back for MCV0.' when "Client is not due for MCV0 Case 3" then 'Should not vaccinate client with MCV0 as client\'s age is more than 9 months. Check measles routine immunization schedule.' when "Client is not due for MCV0 Case 4" then 'MCV0 was administered. Check measles routine immunization schedule.' else '' end
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: IMMZEncounterElements
extension:
  url:
    v: name
    l: name
  value: String
    v: No live vaccine was administered in the last 4 weeks
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @input: No live vaccine was administered in the last 4 weeks @pseudocode: Today's date − latest "Date and time of vaccination" (where "Live vaccine" = TRUE) ≥ 4 weeks */ define "No live vaccine was administered in the last 4 weeks": not("Live vaccine was administered in the last 4 weeks")
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: IMMZD2DTMeaslesEncounterElements
extension:
  url:
    v: name
    l: name
  value: String
    v: No live vaccine was administered in the last 4 weeks
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @input: No live vaccine was administered in the last 4 weeks @pseudocode: Today's date − latest "Date and time of vaccination" (where "Live vaccine" = TRUE) ≥ 4 weeks @code: No live vaccine was administered in the last 4 weeks-92 @decision: IMMZ.D2.DT.Measles.Ongoing transmission: Countries with ongoing transmission in which the risk of measles mortality remains high (countries that provide first dose of measles-containing vaccine (MCV) at 9 months and second dose of MCV at 15 months) @decision: IMMZ.D2.DT.Measles.Low transmission: Countries with low levels of measles transmission (countries that provide first dose of measles-containing vaccine (MCV) at 12 months and second dose of MCV at 15 months) @decision: IMMZ.D2.DT.Measles.MCV dose 0: Measles-containing vaccine dose 0 (MCV0) administration */ define "No live vaccine was administered in the last 4 weeks": Encounter."No live vaccine was administered in the last 4 weeks"
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: IMMZD2DTMeaslesMCVDose0Logic
extension:
  url:
    v: name
    l: name
  value: String
    v: Consider MCV0.
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @output: Consider MCV0. @pseudocode: Create a clinical note. "Immunization recommendation status" = "Further evaluation needed" */ define "Consider MCV0.": Encounter."MCV0 was not administered" and Encounter."Client's age is between 6 months and 9 months" and Encounter."No live vaccine was administered in the last 4 weeks"
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: IMMZD2DTMeaslesMCVDose0Logic
extension:
  url:
    v: name
    l: name
  value: String
    v: Consider MCV0. Guidance
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /* @output: Consider MCV0. Guidance @guidance: May vaccinate client with MCV0 as client is within appropriate age range, MCV0 was not administered and no live vaccine was administered in the past 4 weeks. Check if one of the MCV0 specific scenarios is applicable. */ define "Consider MCV0. Guidance": 'May vaccinate client with MCV0 as client is within appropriate age range, MCV0 was not administered and no live vaccine was administered in the past 4 weeks. Check if one of the MCV0 specific scenarios is applicable.'
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: IMMZD2DTMeaslesMCVDose0Logic
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 MCV0" then "Client is not due for MCV0 Guidance" when "Consider MCV0." then "Consider MCV0. Guidance" else '' end
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: IMMZD2DTMeaslesMCVDose0Logic
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: 27
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: onOrBefore
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /** * @description: Gets immunizations on or before a date */ define fluent function onOrBefore(immunizations List<Immunization>, beforeDate Date): immunizations I where I.occurrence.toInterval() same day or before beforeDate
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: IMMZCommon
extension:
  url:
    v: name
    l: name
  value: String
    v: seriesDose0
extension:
  url:
    v: statement
    l: statement
  value: String
    v: /** * @description: Gets the doses from the dose 0 series */ define fluent function seriesDose0(immunizations List<Immunization>): immunizations I where exists( I.protocolApplied pa where pa.series = 'Dose 0' )
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: 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: 30
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: 31
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: 32
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: 33
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: 34
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: 35
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/IMMZD2DTMeaslesEncounterElements
  l: IMMZD2DTMeaslesEncounterElements

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 WC
resource:
  v: http://smart.who.int/immunizations/Library/WHOCommon
  l: WHOCommon

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

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 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 Elements
resource:
  v: http://smart.who.int/immunizations/Library/IMMZElements
  l: IMMZElements

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: Value set Measles-containing vaccines
resource:
  v: http://smart.who.int/immunizations/ValueSet/IMMZ.Z.DE9
  l: IMMZ.Z.DE9

type:
  v: depends-on
display:
  v: Value set Live Attenuated
resource:
  v: http://smart.who.int/immunizations/ValueSet/IMMZ.Z.LiveAttenuated
  l: IMMZ.Z.LiveAttenuated

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

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

name:
  v: Has Guidance
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: 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: 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: vaccineCode
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: 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: vaccineCode

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: IMMZD2DTMeaslesMCVDose0

v: IMMZ.D2.DT.Measles.MCV dose 0

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-25T23:30:34+00:00

v: WHO

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

v: IMMZ.D2.DT.Measles.MCV dose 0 Measles-containing vaccine dose 0 (MCV0) administration

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

title:
  v: Check for Guidance for the patient regarding IMMZ.D2.DT.Measles.MCV dose 0.
description:
  v: Show Guidance for the patient regarding IMMZ.D2.DT.Measles.MCV dose 0.
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' }