{
  "resourceType" : "PlanDefinition",
  "id" : "atrius-cms165-cds",
  "meta" : {
    "profile" : ["http://hl7.org/fhir/StructureDefinition/cdshooksserviceplandefinition|4.0.1"]
  },
  "language" : "en",
  "text" : {
    "status" : "generated",
    "div" : "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p>See <code>Library/AtriusCMS165ControllingHighBP</code> for CQL expression definitions.</p></div>"
  },
  "contained" : [{
    "resourceType" : "Library",
    "id" : "effective-data-requirements",
    "extension" : [{
      "url" : "http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode",
      "valueCoding" : {
        "system" : "http://terminology.hl7.org/CodeSystem/condition-ver-status",
        "code" : "confirmed",
        "display" : "Confirmed"
      }
    },
    {
      "url" : "http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode",
      "valueCoding" : {
        "system" : "http://terminology.hl7.org/CodeSystem/condition-ver-status",
        "code" : "unconfirmed",
        "display" : "Unconfirmed"
      }
    },
    {
      "url" : "http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode",
      "valueCoding" : {
        "system" : "http://terminology.hl7.org/CodeSystem/condition-ver-status",
        "code" : "provisional",
        "display" : "Provisional"
      }
    },
    {
      "url" : "http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode",
      "valueCoding" : {
        "system" : "http://terminology.hl7.org/CodeSystem/condition-ver-status",
        "code" : "differential",
        "display" : "Differential"
      }
    },
    {
      "url" : "http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode",
      "valueCoding" : {
        "system" : "http://terminology.hl7.org/CodeSystem/condition-clinical",
        "code" : "active",
        "display" : "Active"
      }
    },
    {
      "url" : "http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode",
      "valueCoding" : {
        "system" : "http://terminology.hl7.org/CodeSystem/condition-clinical",
        "code" : "recurrence",
        "display" : "Recurrence"
      }
    },
    {
      "url" : "http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode",
      "valueCoding" : {
        "system" : "http://terminology.hl7.org/CodeSystem/condition-clinical",
        "code" : "relapse",
        "display" : "Relapse"
      }
    },
    {
      "extension" : [{
        "url" : "libraryName",
        "valueString" : "AtriusCMS165ControllingHighBP"
      },
      {
        "url" : "name",
        "valueString" : "Essential Hypertension Diagnosis"
      },
      {
        "url" : "statement",
        "valueString" : "define \"Essential Hypertension Diagnosis\":\n  ( ( [ConditionProblemsHealthConcerns: \"Essential Hypertension\"]\n      union [ConditionEncounterDiagnosis: \"Essential Hypertension\"]\n  ).verified ( ) ) Hypertension\n    where Hypertension.prevalenceInterval ( ) overlaps Interval[start of \"Measurement Period\", start of \"Measurement Period\" + 6 months )"
      },
      {
        "url" : "displaySequence",
        "valueInteger" : 0
      }],
      "url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
    },
    {
      "extension" : [{
        "url" : "libraryName",
        "valueString" : "AtriusAdultOutpatientEncounters"
      },
      {
        "url" : "name",
        "valueString" : "Qualifying Encounters for CDS"
      },
      {
        "url" : "statement",
        "valueString" : "define \"Qualifying Encounters for CDS\":\n  (\n    (\n      [Encounter: \"Office Visit\"]\n        union [Encounter: \"Annual Wellness Visit\"]\n        union [Encounter: \"Preventive Care Services Established Office Visit, 18 and Up\"]\n        union [Encounter: \"Preventive Care Services Initial Office Visit, 18 and Up\"]\n        union [Encounter: \"Home Healthcare Services\"]\n        union [Encounter: \"Virtual Encounter\"]\n        union [Encounter: \"Telephone Visits\"]\n    ).isQualifyingEncounterActive()\n  ) ValidEncounter\n    where FHIRHelpers.ToInterval(ValidEncounter.period as FHIR.Period) during day of \"Measurement Period\""
      },
      {
        "url" : "displaySequence",
        "valueInteger" : 1
      }],
      "url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
    },
    {
      "extension" : [{
        "url" : "libraryName",
        "valueString" : "AtriusCMS165ControllingHighBP"
      },
      {
        "url" : "name",
        "valueString" : "Initial Population for CDS"
      },
      {
        "url" : "statement",
        "valueString" : "define \"Initial Population for CDS\":\n  AgeInYearsAt(end of \"Measurement Period\") in Interval[18, 85]\n    and exists \"Essential Hypertension Diagnosis\"\n    and exists AdultOutpatientEncounters.\"Qualifying Encounters for CDS\""
      },
      {
        "url" : "displaySequence",
        "valueInteger" : 2
      }],
      "url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
    },
    {
      "extension" : [{
        "url" : "libraryName",
        "valueString" : "AtriusStatus"
      },
      {
        "url" : "name",
        "valueString" : "verified"
      },
      {
        "url" : "statement",
        "valueString" : "define fluent function verified(\n  conditions List<Choice<ConditionEncounterDiagnosis, ConditionProblemsHealthConcerns>>\n):\n  conditions C\n    where C.verificationStatus is not null implies (\n      FHIRHelpers.ToConcept(C.verificationStatus) ~ \"confirmed\"\n        or FHIRHelpers.ToConcept(C.verificationStatus) ~ \"unconfirmed\"\n        or FHIRHelpers.ToConcept(C.verificationStatus) ~ \"provisional\"\n        or FHIRHelpers.ToConcept(C.verificationStatus) ~ \"differential\"\n    )"
      },
      {
        "url" : "displaySequence",
        "valueInteger" : 3
      }],
      "url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
    },
    {
      "extension" : [{
        "url" : "libraryName",
        "valueString" : "FHIRHelpers"
      },
      {
        "url" : "name",
        "valueString" : "ToConcept"
      },
      {
        "url" : "statement",
        "valueString" : "/*\n@description: Converts the given FHIR [CodeableConcept](https://hl7.org/fhir/datatypes.html#CodeableConcept) value to a CQL Concept.\n*/\ndefine function ToConcept(concept FHIR.CodeableConcept):\n    if concept is null then\n        null\n    else\n        System.Concept {\n            codes: concept.coding C return ToCode(C),\n            display: concept.text.value\n        }"
      },
      {
        "url" : "displaySequence",
        "valueInteger" : 4
      }],
      "url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
    },
    {
      "extension" : [{
        "url" : "libraryName",
        "valueString" : "FHIRHelpers"
      },
      {
        "url" : "name",
        "valueString" : "ToCode"
      },
      {
        "url" : "statement",
        "valueString" : "/*\n@description: Converts the given FHIR [Coding](https://hl7.org/fhir/datatypes.html#Coding) value to a CQL Code.\n*/\ndefine function ToCode(coding FHIR.Coding):\n    if coding is null then\n        null\n    else\n        System.Code {\n          code: coding.code.value,\n          system: coding.system.value,\n          version: coding.version.value,\n          display: coding.display.value\n        }"
      },
      {
        "url" : "displaySequence",
        "valueInteger" : 5
      }],
      "url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
    },
    {
      "extension" : [{
        "url" : "libraryName",
        "valueString" : "AtriusCommon"
      },
      {
        "url" : "name",
        "valueString" : "prevalenceInterval"
      },
      {
        "url" : "statement",
        "valueString" : "/*\n@description: Returns an interval representing the normalized prevalence period of a given Condition.\n*/\ndefine fluent function prevalenceInterval(condition Choice<ConditionEncounterDiagnosis, ConditionProblemsHealthConcerns>):\n  if condition.isActive() then\n    Interval[start of condition.onset.toConditionTimingInterval(), end of condition.abatementInterval()]\n  else\n    (end of condition.abatementInterval()) abatementDate\n      return if abatementDate is null then\n        Interval[start of condition.onset.toConditionTimingInterval(), abatementDate)\n      else\n        Interval[start of condition.onset.toConditionTimingInterval(), abatementDate]"
      },
      {
        "url" : "displaySequence",
        "valueInteger" : 6
      }],
      "url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
    },
    {
      "extension" : [{
        "url" : "libraryName",
        "valueString" : "AtriusCommon"
      },
      {
        "url" : "name",
        "valueString" : "isActive"
      },
      {
        "url" : "statement",
        "valueString" : "/*\n@description: Returns true if the given condition has a clinical status of active, recurrence, or relapse\n*/\ndefine fluent function isActive(condition Choice<ConditionEncounterDiagnosis, ConditionProblemsHealthConcerns>):\n  FHIRHelpers.ToConcept(condition.clinicalStatus) ~ \"active\"\n    or FHIRHelpers.ToConcept(condition.clinicalStatus) ~ \"recurrence\"\n    or FHIRHelpers.ToConcept(condition.clinicalStatus) ~ \"relapse\""
      },
      {
        "url" : "displaySequence",
        "valueInteger" : 7
      }],
      "url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
    },
    {
      "extension" : [{
        "url" : "libraryName",
        "valueString" : "AtriusCommon"
      },
      {
        "url" : "name",
        "valueString" : "toConditionTimingInterval"
      },
      {
        "url" : "statement",
        "valueString" : "define fluent function toConditionTimingInterval(choice Choice<FHIR.dateTime, FHIR.Age, FHIR.Period, FHIR.Range, FHIR.string>):\n  choice.toInterval()"
      },
      {
        "url" : "displaySequence",
        "valueInteger" : 8
      }],
      "url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
    },
    {
      "extension" : [{
        "url" : "libraryName",
        "valueString" : "AtriusCommon"
      },
      {
        "url" : "name",
        "valueString" : "abatementInterval"
      },
      {
        "url" : "statement",
        "valueString" : "/*\n@description: Returns an interval representing the normalized abatement of a given Condition.\n*/\ndefine fluent function abatementInterval(condition Choice<ConditionEncounterDiagnosis, ConditionProblemsHealthConcerns>):\n  condition.abatement.toConditionTimingInterval()"
      },
      {
        "url" : "displaySequence",
        "valueInteger" : 9
      }],
      "url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
    },
    {
      "extension" : [{
        "url" : "libraryName",
        "valueString" : "AtriusAdultOutpatientEncounters"
      },
      {
        "url" : "name",
        "valueString" : "isQualifyingEncounterActive"
      },
      {
        "url" : "statement",
        "valueString" : "define fluent function isQualifyingEncounterActive(Enc List<Encounter>):\n  Enc E\n    where E.status in { 'finished', 'in-progress', 'onhold', 'arrived' }"
      },
      {
        "url" : "displaySequence",
        "valueInteger" : 10
      }],
      "url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
    },
    {
      "extension" : [{
        "url" : "libraryName",
        "valueString" : "FHIRHelpers"
      },
      {
        "url" : "name",
        "valueString" : "ToString"
      },
      {
        "url" : "statement",
        "valueString" : "define function ToString(value EncounterStatus): value.value"
      },
      {
        "url" : "displaySequence",
        "valueInteger" : 11
      }],
      "url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
    },
    {
      "extension" : [{
        "url" : "libraryName",
        "valueString" : "FHIRHelpers"
      },
      {
        "url" : "name",
        "valueString" : "ToInterval"
      },
      {
        "url" : "statement",
        "valueString" : "/*\n@description: Converts the given [Period](https://hl7.org/fhir/datatypes.html#Period)\nvalue to a CQL DateTime Interval\n@comment: If the start value of the given period is unspecified, the starting\nboundary of the resulting interval will be open (meaning the start of the interval\nis unknown, as opposed to interpreted as the beginning of time).\n*/\ndefine function ToInterval(period FHIR.Period):\n    if period is null then\n        null\n    else\n        if period.\"start\" is null then\n            Interval(period.\"start\".value, period.\"end\".value]\n        else\n            Interval[period.\"start\".value, period.\"end\".value]"
      },
      {
        "url" : "displaySequence",
        "valueInteger" : 12
      }],
      "url" : "http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition"
    }],
    "name" : "EffectiveDataRequirements",
    "status" : "active",
    "type" : {
      "coding" : [{
        "system" : "http://terminology.hl7.org/CodeSystem/library-type",
        "code" : "module-definition"
      }]
    },
    "relatedArtifact" : [{
      "type" : "depends-on",
      "display" : "AtriusIn model information",
      "resource" : "https://atrius.in/fhir/r4/atrius-in/Library/AtriusIn-ModelInfo|0.1.0"
    },
    {
      "type" : "depends-on",
      "display" : "Library Status",
      "resource" : "https://atrius.in/fhir/r4/atrius-in/Library/AtriusStatus|1.15.000"
    },
    {
      "type" : "depends-on",
      "display" : "Library FHIRHelpers",
      "resource" : "https://atrius.in/fhir/r4/atrius-in/Library/FHIRHelpers|4.4.000"
    },
    {
      "type" : "depends-on",
      "display" : "Library Common",
      "resource" : "https://atrius.in/fhir/r4/atrius-in/Library/AtriusCommon|0.1.0"
    },
    {
      "type" : "depends-on",
      "display" : "Library AdultOutpatientEncounters",
      "resource" : "https://atrius.in/fhir/r4/atrius-in/Library/AtriusAdultOutpatientEncounters|4.19.000"
    },
    {
      "type" : "depends-on",
      "display" : "Code system ConditionVerificationStatusCodes",
      "resource" : "http://terminology.hl7.org/CodeSystem/condition-ver-status|2.0.1"
    },
    {
      "type" : "depends-on",
      "display" : "Code system ConditionClinicalStatusCodes",
      "resource" : "http://terminology.hl7.org/CodeSystem/condition-clinical|3.0.0"
    },
    {
      "type" : "depends-on",
      "display" : "Value set Essential Hypertension",
      "resource" : "https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-essential-hypertension|0.1.0"
    },
    {
      "type" : "depends-on",
      "display" : "Value set Office Visit",
      "resource" : "https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-office-visit|0.1.0"
    },
    {
      "type" : "depends-on",
      "display" : "Value set Annual Wellness Visit",
      "resource" : "https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-annual-wellness-visit|0.1.0"
    },
    {
      "type" : "depends-on",
      "display" : "Value set Preventive Care Services Established Office Visit, 18 and Up",
      "resource" : "https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-preventive-established-18up|0.1.0"
    },
    {
      "type" : "depends-on",
      "display" : "Value set Preventive Care Services Initial Office Visit, 18 and Up",
      "resource" : "https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-preventive-initial-18up|0.1.0"
    },
    {
      "type" : "depends-on",
      "display" : "Value set Home Healthcare Services",
      "resource" : "https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-home-healthcare|0.1.0"
    },
    {
      "type" : "depends-on",
      "display" : "Value set Virtual Encounter",
      "resource" : "https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-virtual-encounter|0.1.0"
    },
    {
      "type" : "depends-on",
      "display" : "Value set Telephone Visits",
      "resource" : "https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-telephone-visits|0.1.0"
    }],
    "parameter" : [{
      "name" : "Measurement Period",
      "use" : "in",
      "min" : 0,
      "max" : "1",
      "type" : "Period"
    },
    {
      "name" : "Initial Population for CDS",
      "use" : "out",
      "min" : 0,
      "max" : "1",
      "type" : "boolean"
    }],
    "dataRequirement" : [{
      "type" : "Patient",
      "profile" : ["http://hl7.org/fhir/StructureDefinition/Patient|4.0.1"]
    },
    {
      "type" : "Condition",
      "profile" : ["https://atrius.in/fhir/r4/atrius-in/StructureDefinition/atrius-in-condition-problems-health-concerns|0.1.0"],
      "mustSupport" : ["code"],
      "codeFilter" : [{
        "path" : "code",
        "valueSet" : "https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-essential-hypertension|0.1.0"
      }]
    },
    {
      "type" : "Condition",
      "profile" : ["https://atrius.in/fhir/r4/atrius-in/StructureDefinition/atrius-in-condition-encounter-diagnosis|0.1.0"],
      "mustSupport" : ["code"],
      "codeFilter" : [{
        "path" : "code",
        "valueSet" : "https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-essential-hypertension|0.1.0"
      }]
    },
    {
      "type" : "Encounter",
      "profile" : ["http://hl7.org/fhir/StructureDefinition/Encounter|4.0.1"],
      "mustSupport" : ["type",
      "status",
      "period"],
      "codeFilter" : [{
        "path" : "type",
        "valueSet" : "https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-office-visit|0.1.0"
      }]
    },
    {
      "type" : "Encounter",
      "profile" : ["http://hl7.org/fhir/StructureDefinition/Encounter|4.0.1"],
      "mustSupport" : ["type",
      "status",
      "period"],
      "codeFilter" : [{
        "path" : "type",
        "valueSet" : "https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-annual-wellness-visit|0.1.0"
      }]
    },
    {
      "type" : "Encounter",
      "profile" : ["http://hl7.org/fhir/StructureDefinition/Encounter|4.0.1"],
      "mustSupport" : ["type",
      "status",
      "period"],
      "codeFilter" : [{
        "path" : "type",
        "valueSet" : "https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-preventive-established-18up|0.1.0"
      }]
    },
    {
      "type" : "Encounter",
      "profile" : ["http://hl7.org/fhir/StructureDefinition/Encounter|4.0.1"],
      "mustSupport" : ["type",
      "status",
      "period"],
      "codeFilter" : [{
        "path" : "type",
        "valueSet" : "https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-preventive-initial-18up|0.1.0"
      }]
    },
    {
      "type" : "Encounter",
      "profile" : ["http://hl7.org/fhir/StructureDefinition/Encounter|4.0.1"],
      "mustSupport" : ["type",
      "status",
      "period"],
      "codeFilter" : [{
        "path" : "type",
        "valueSet" : "https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-home-healthcare|0.1.0"
      }]
    },
    {
      "type" : "Encounter",
      "profile" : ["http://hl7.org/fhir/StructureDefinition/Encounter|4.0.1"],
      "mustSupport" : ["type",
      "status",
      "period"],
      "codeFilter" : [{
        "path" : "type",
        "valueSet" : "https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-virtual-encounter|0.1.0"
      }]
    },
    {
      "type" : "Encounter",
      "profile" : ["http://hl7.org/fhir/StructureDefinition/Encounter|4.0.1"],
      "mustSupport" : ["type",
      "status",
      "period"],
      "codeFilter" : [{
        "path" : "type",
        "valueSet" : "https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-telephone-visits|0.1.0"
      }]
    }]
  }],
  "extension" : [{
    "url" : "http://hl7.org/fhir/StructureDefinition/cqf-cdsHooksEndpoint",
    "valueUri" : "https://cds.atrius.in/cds-services/atriuscms165controllinghighbp"
  },
  {
    "url" : "http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-effectiveDataRequirements",
    "valueCanonical" : "#effective-data-requirements"
  }],
  "url" : "https://atrius.in/fhir/r4/atrius-in/PlanDefinition/atrius-cms165-cds",
  "identifier" : [{
    "use" : "official",
    "value" : "atriuscms165controllinghighbp"
  },
  {
    "system" : "urn:ietf:rfc:3986",
    "value" : "urn:oid:1.3.6.1.4.1.66219.1.34.6"
  }],
  "version" : "0.1.0",
  "name" : "AtriusCMS165CDS",
  "title" : "Atrius CMS165 Controlling High BP",
  "type" : {
    "coding" : [{
      "system" : "http://terminology.hl7.org/CodeSystem/plan-definition-type",
      "code" : "eca-rule"
    }]
  },
  "status" : "draft",
  "experimental" : true,
  "date" : "2026-09-21T19:22:21+05:30",
  "publisher" : "Atrius",
  "contact" : [{
    "name" : "Atrius",
    "telecom" : [{
      "system" : "url",
      "value" : "https://atrius.in"
    }]
  }],
  "description" : "CDS Hooks service evaluating Initial Population for CDS from Library AtriusCMS165ControllingHighBP at patient-view.",
  "relatedArtifact" : [{
    "type" : "depends-on",
    "display" : "Atrius CMS165 Measure",
    "resource" : "https://atrius.in/fhir/r4/atrius-in/Measure/AtriusCMS165ControllingHighBP|0.1.0"
  }],
  "library" : ["https://atrius.in/fhir/r4/atrius-in/Library/AtriusCMS165ControllingHighBP|0.1.0"],
  "action" : [{
    "id" : "cds-evaluate-initial-population",
    "title" : "CMS165 Initial Population",
    "description" : "Evaluate Initial Population for CDS at patient-view hook (in-progress office visits still qualify).",
    "trigger" : [{
      "type" : "named-event",
      "name" : "patient-view"
    }],
    "condition" : [{
      "kind" : "applicability",
      "expression" : {
        "language" : "text/cql",
        "expression" : "Initial Population for CDS"
      }
    }],
    "input" : [{
      "type" : "Patient",
      "profile" : ["https://atrius.in/fhir/r4/atrius-in/StructureDefinition/atrius-in-patient|0.1.0"]
    },
    {
      "type" : "Condition",
      "profile" : ["https://atrius.in/fhir/r4/atrius-in/StructureDefinition/atrius-in-condition-encounter-diagnosis|0.1.0",
      "https://atrius.in/fhir/r4/atrius-in/StructureDefinition/atrius-in-condition-problems-health-concerns|0.1.0"]
    },
    {
      "type" : "Encounter",
      "profile" : ["https://atrius.in/fhir/r4/atrius-in/StructureDefinition/atrius-in-encounter|0.1.0"]
    },
    {
      "type" : "Observation",
      "profile" : ["https://atrius.in/fhir/r4/atrius-in/StructureDefinition/atrius-in-observation-vital-signs|0.1.0"]
    },
    {
      "type" : "Procedure",
      "profile" : ["https://atrius.in/fhir/r4/atrius-in/StructureDefinition/atrius-in-procedure|0.1.0"]
    }]
  }]
}