Atrius India Core FHIR Implementation Guide
0.1.0 - ci-build
Atrius India Core FHIR Implementation Guide - Local Development build (v0.1.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions
| Draft as of 2026-08-30 |
<PlanDefinition xmlns="http://hl7.org/fhir">
<id value="atrius-cms165-cds"/>
<meta>
<profile
value="http://hl7.org/fhir/StructureDefinition/cdshooksserviceplandefinition|4.0.1"/>
</meta>
<language value="en"/>
<text>
<status value="generated"/>
<div xmlns="http://www.w3.org/1999/xhtml"><p>See <code>Library/AtriusCMS165ControllingHighBP</code> for CQL expression definitions.</p></div>
</text>
<contained>
<Library>
<id value="effective-data-requirements"/>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode">
<valueCoding>
<system
value="http://terminology.hl7.org/CodeSystem/condition-ver-status"/>
<code value="confirmed"/>
<display value="Confirmed"/>
</valueCoding>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode">
<valueCoding>
<system
value="http://terminology.hl7.org/CodeSystem/condition-ver-status"/>
<code value="unconfirmed"/>
<display value="Unconfirmed"/>
</valueCoding>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode">
<valueCoding>
<system
value="http://terminology.hl7.org/CodeSystem/condition-ver-status"/>
<code value="provisional"/>
<display value="Provisional"/>
</valueCoding>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode">
<valueCoding>
<system
value="http://terminology.hl7.org/CodeSystem/condition-ver-status"/>
<code value="differential"/>
<display value="Differential"/>
</valueCoding>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode">
<valueCoding>
<system
value="http://terminology.hl7.org/CodeSystem/condition-clinical"/>
<code value="active"/>
<display value="Active"/>
</valueCoding>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode">
<valueCoding>
<system
value="http://terminology.hl7.org/CodeSystem/condition-clinical"/>
<code value="recurrence"/>
<display value="Recurrence"/>
</valueCoding>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-directReferenceCode">
<valueCoding>
<system
value="http://terminology.hl7.org/CodeSystem/condition-clinical"/>
<code value="relapse"/>
<display value="Relapse"/>
</valueCoding>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="AtriusCMS165ControllingHighBP"/>
</extension>
<extension url="name">
<valueString value="Essential Hypertension Diagnosis"/>
</extension>
<extension url="statement">
<valueString
value="define "Essential Hypertension Diagnosis":
( ( [ConditionProblemsHealthConcerns: "Essential Hypertension"]
union [ConditionEncounterDiagnosis: "Essential Hypertension"]
).verified ( ) ) Hypertension
where Hypertension.prevalenceInterval ( ) overlaps Interval[start of "Measurement Period", start of "Measurement Period" + 6 months )"/>
</extension>
<extension url="displaySequence">
<valueInteger value="0"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="AtriusAdultOutpatientEncounters"/>
</extension>
<extension url="name">
<valueString value="Qualifying Encounters"/>
</extension>
<extension url="statement">
<valueString
value="define "Qualifying Encounters":
(
(
[Encounter: "Office Visit"]
union [Encounter: "Annual Wellness Visit"]
union [Encounter: "Preventive Care Services Established Office Visit, 18 and Up"]
union [Encounter: "Preventive Care Services Initial Office Visit, 18 and Up"]
union [Encounter: "Home Healthcare Services"]
union [Encounter: "Virtual Encounter"]
union [Encounter: "Telephone Visits"]
).isQualifyingEncounterActive()
) ValidEncounter
where FHIRHelpers.ToInterval(ValidEncounter.period as FHIR.Period) during day of "Measurement Period""/>
</extension>
<extension url="displaySequence">
<valueInteger value="1"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="AtriusCMS165ControllingHighBP"/>
</extension>
<extension url="name">
<valueString value="Initial Population"/>
</extension>
<extension url="statement">
<valueString
value="define "Initial Population":
AgeInYearsAt(end of "Measurement Period") in Interval[18, 85]
and exists "Essential Hypertension Diagnosis"
and exists AdultOutpatientEncounters."Qualifying Encounters""/>
</extension>
<extension url="displaySequence">
<valueInteger value="2"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="AtriusStatus"/>
</extension>
<extension url="name">
<valueString value="verified"/>
</extension>
<extension url="statement">
<valueString
value="define fluent function verified(
conditions List<Choice<ConditionEncounterDiagnosis, ConditionProblemsHealthConcerns>>
):
conditions C
where C.verificationStatus is not null implies (
FHIRHelpers.ToConcept(C.verificationStatus) ~ "confirmed"
or FHIRHelpers.ToConcept(C.verificationStatus) ~ "unconfirmed"
or FHIRHelpers.ToConcept(C.verificationStatus) ~ "provisional"
or FHIRHelpers.ToConcept(C.verificationStatus) ~ "differential"
)"/>
</extension>
<extension url="displaySequence">
<valueInteger value="3"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="FHIRHelpers"/>
</extension>
<extension url="name">
<valueString value="ToConcept"/>
</extension>
<extension url="statement">
<valueString
value="/*
@description: Converts the given FHIR [CodeableConcept](https://hl7.org/fhir/datatypes.html#CodeableConcept) value to a CQL Concept.
*/
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>
<extension url="displaySequence">
<valueInteger value="4"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="FHIRHelpers"/>
</extension>
<extension url="name">
<valueString value="ToCode"/>
</extension>
<extension url="statement">
<valueString
value="/*
@description: Converts the given FHIR [Coding](https://hl7.org/fhir/datatypes.html#Coding) value to a CQL Code.
*/
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>
<extension url="displaySequence">
<valueInteger value="5"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="AtriusCommon"/>
</extension>
<extension url="name">
<valueString value="prevalenceInterval"/>
</extension>
<extension url="statement">
<valueString
value="/*
@description: Returns an interval representing the normalized prevalence period of a given Condition.
*/
define fluent function prevalenceInterval(condition Choice<ConditionEncounterDiagnosis, ConditionProblemsHealthConcerns>):
if condition.isActive() then
Interval[start of condition.onset.toConditionTimingInterval(), end of condition.abatementInterval()]
else
(end of condition.abatementInterval()) abatementDate
return if abatementDate is null then
Interval[start of condition.onset.toConditionTimingInterval(), abatementDate)
else
Interval[start of condition.onset.toConditionTimingInterval(), abatementDate]"/>
</extension>
<extension url="displaySequence">
<valueInteger value="6"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="AtriusCommon"/>
</extension>
<extension url="name">
<valueString value="isActive"/>
</extension>
<extension url="statement">
<valueString
value="/*
@description: Returns true if the given condition has a clinical status of active, recurrence, or relapse
*/
define fluent function isActive(condition Choice<ConditionEncounterDiagnosis, ConditionProblemsHealthConcerns>):
FHIRHelpers.ToConcept(condition.clinicalStatus) ~ "active"
or FHIRHelpers.ToConcept(condition.clinicalStatus) ~ "recurrence"
or FHIRHelpers.ToConcept(condition.clinicalStatus) ~ "relapse""/>
</extension>
<extension url="displaySequence">
<valueInteger value="7"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="AtriusCommon"/>
</extension>
<extension url="name">
<valueString value="toConditionTimingInterval"/>
</extension>
<extension url="statement">
<valueString
value="/*
@description: Normalizes condition/allergy timing [x] (onset, abatement) to Interval<DateTime>.
@comment: Choice order matches AtriusIn modelinfo: dateTime | Age | Period | Range | string.
*/
define fluent function toConditionTimingInterval(choice Choice<FHIR.dateTime, FHIR.Age, FHIR.Period, FHIR.Range, FHIR.string>):
case
when choice is FHIR.dateTime then
Interval[
FHIRHelpers.ToDateTime(choice as FHIR.dateTime),
FHIRHelpers.ToDateTime(choice as FHIR.dateTime)
]
when choice is FHIR.Period then
FHIRHelpers.ToInterval(choice as FHIR.Period)
when choice is FHIR.Age then
Interval[
FHIRHelpers.ToDate(Patient.birthDate) + ToAgeQuantity(choice as FHIR.Age),
FHIRHelpers.ToDate(Patient.birthDate) + ToAgeQuantity(choice as FHIR.Age) + 1 year
)
when choice is FHIR.Range then
Interval[
FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity((choice as FHIR.Range).low),
FHIRHelpers.ToDate(Patient.birthDate) + FHIRHelpers.ToQuantity((choice as FHIR.Range).high) + 1 year
]
else
null as Interval<DateTime>
end"/>
</extension>
<extension url="displaySequence">
<valueInteger value="8"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="FHIRHelpers"/>
</extension>
<extension url="name">
<valueString value="ToDateTime"/>
</extension>
<extension url="statement">
<valueString
value="define function ToDateTime(value dateTime): value.value"/>
</extension>
<extension url="displaySequence">
<valueInteger value="9"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="FHIRHelpers"/>
</extension>
<extension url="name">
<valueString value="ToInterval"/>
</extension>
<extension url="statement">
<valueString
value="/*
@description: Converts the given [Period](https://hl7.org/fhir/datatypes.html#Period)
value to a CQL DateTime Interval
@comment: If the start value of the given period is unspecified, the starting
boundary of the resulting interval will be open (meaning the start of the interval
is unknown, as opposed to interpreted as the beginning of time).
*/
define function ToInterval(period FHIR.Period):
if period is null then
null
else
if period."start" is null then
Interval(period."start".value, period."end".value]
else
Interval[period."start".value, period."end".value]"/>
</extension>
<extension url="displaySequence">
<valueInteger value="10"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="FHIRHelpers"/>
</extension>
<extension url="name">
<valueString value="ToDate"/>
</extension>
<extension url="statement">
<valueString
value="define function ToDate(value date): value.value"/>
</extension>
<extension url="displaySequence">
<valueInteger value="11"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="AtriusCommon"/>
</extension>
<extension url="name">
<valueString value="ToAgeQuantity"/>
</extension>
<extension url="statement">
<valueString
value="define function ToAgeQuantity(age FHIR.Age):
FHIRHelpers.ToQuantity(age as FHIR.Quantity)"/>
</extension>
<extension url="displaySequence">
<valueInteger value="12"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="FHIRHelpers"/>
</extension>
<extension url="name">
<valueString value="ToQuantity"/>
</extension>
<extension url="statement">
<valueString
value="/*
@description: Converts the given FHIR [Quantity](https://hl7.org/fhir/datatypes.html#Quantity)
value to a CQL Quantity
@comment: If the given quantity has a comparator specified, a runtime error is raised. If the given quantity
has a system other than UCUM (i.e. `http://unitsofmeasure.org`) or CQL calendar units (i.e. `http://hl7.org/fhirpath/CodeSystem/calendar-units`)
an error is raised. For UCUM to calendar units, the `ToCalendarUnit` function is used.
@seealso: ToCalendarUnit
*/
define function ToQuantity(quantity FHIR.Quantity):
case
when quantity is null then null
when quantity.value is null then null
when quantity.comparator is not null then
Message(null, true, 'FHIRHelpers.ToQuantity.ComparatorQuantityNotSupported', 'Error', 'FHIR Quantity value has a comparator and cannot be converted to a System.Quantity value.')
when quantity.system is null or quantity.system.value = 'http://unitsofmeasure.org'
or quantity.system.value = 'http://hl7.org/fhirpath/CodeSystem/calendar-units' then
System.Quantity { value: quantity.value.value, unit: ToCalendarUnit(Coalesce(quantity.code.value, quantity.unit.value, '1')) }
else
Message(null, true, 'FHIRHelpers.ToQuantity.InvalidFHIRQuantity', 'Error', 'Invalid FHIR Quantity code: ' & quantity.unit.value & ' (' & quantity.system.value & '|' & quantity.code.value & ')')
end"/>
</extension>
<extension url="displaySequence">
<valueInteger value="13"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="FHIRHelpers"/>
</extension>
<extension url="name">
<valueString value="ToCalendarUnit"/>
</extension>
<extension url="statement">
<valueString
value="/*
@description: Converts a UCUM definite duration unit to a CQL calendar duration
unit using conversions specified in the [quantities](https://cql.hl7.org/02-authorsguide.html#quantities)
topic of the CQL specification.
@comment: Note that for durations above days (or weeks), the conversion is understood to be approximate
*/
define function ToCalendarUnit(unit System.String):
case unit
when 'ms' then 'millisecond'
when 's' then 'second'
when 'min' then 'minute'
when 'h' then 'hour'
when 'd' then 'day'
when 'wk' then 'week'
when 'mo' then 'month'
when 'a' then 'year'
else unit
end"/>
</extension>
<extension url="displaySequence">
<valueInteger value="14"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="AtriusCommon"/>
</extension>
<extension url="name">
<valueString value="abatementInterval"/>
</extension>
<extension url="statement">
<valueString
value="/*
@description: Returns an interval representing the normalized abatement of a given Condition.
*/
define fluent function abatementInterval(condition Choice<ConditionEncounterDiagnosis, ConditionProblemsHealthConcerns>):
condition.abatement.toConditionTimingInterval()"/>
</extension>
<extension url="displaySequence">
<valueInteger value="15"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="AtriusAdultOutpatientEncounters"/>
</extension>
<extension url="name">
<valueString value="isQualifyingEncounterActive"/>
</extension>
<extension url="statement">
<valueString
value="define fluent function isQualifyingEncounterActive(Enc List<Encounter>):
Enc E
where FHIRHelpers.ToString(E.status) in { 'finished', 'in-progress', 'onhold', 'arrived' }"/>
</extension>
<extension url="displaySequence">
<valueInteger value="16"/>
</extension>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-logicDefinition">
<extension url="libraryName">
<valueString value="FHIRHelpers"/>
</extension>
<extension url="name">
<valueString value="ToString"/>
</extension>
<extension url="statement">
<valueString
value="define function ToString(value EncounterStatus): value.value"/>
</extension>
<extension url="displaySequence">
<valueInteger value="17"/>
</extension>
</extension>
<name value="EffectiveDataRequirements"/>
<status value="active"/>
<type>
<coding>
<system value="http://terminology.hl7.org/CodeSystem/library-type"/>
<code value="module-definition"/>
</coding>
</type>
<relatedArtifact>
<type value="depends-on"/>
<display value="AtriusIn model information"/>
<resource
value="https://atrius.in/fhir/r4/atrius-in/Library/AtriusIn-ModelInfo|0.1.0"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Library Status"/>
<resource
value="https://atrius.in/fhir/r4/atrius-in/Library/AtriusStatus|0.1.0"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Library FHIRHelpers"/>
<resource
value="https://atrius.in/fhir/r4/atrius-in/Library/FHIRHelpers|4.4.000"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Library Common"/>
<resource
value="https://atrius.in/fhir/r4/atrius-in/Library/AtriusCommon|0.1.0"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Library AdultOutpatientEncounters"/>
<resource
value="https://atrius.in/fhir/r4/atrius-in/Library/AtriusAdultOutpatientEncounters|0.1.0"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Code system ConditionVerificationStatusCodes"/>
<resource
value="http://terminology.hl7.org/CodeSystem/condition-ver-status|2.0.1"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Code system ConditionClinicalStatusCodes"/>
<resource
value="http://terminology.hl7.org/CodeSystem/condition-clinical|3.0.0"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Value set Essential Hypertension"/>
<resource
value="https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-essential-hypertension|0.1.0"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Value set Office Visit"/>
<resource
value="https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-office-visit|0.1.0"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Value set Annual Wellness Visit"/>
<resource
value="https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-annual-wellness-visit|0.1.0"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display
value="Value set Preventive Care Services Established Office Visit, 18 and Up"/>
<resource
value="https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-preventive-established-18up|0.1.0"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display
value="Value set Preventive Care Services Initial Office Visit, 18 and Up"/>
<resource
value="https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-preventive-initial-18up|0.1.0"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Value set Home Healthcare Services"/>
<resource
value="https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-home-healthcare|0.1.0"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Value set Virtual Encounter"/>
<resource
value="https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-virtual-encounter|0.1.0"/>
</relatedArtifact>
<relatedArtifact>
<type value="depends-on"/>
<display value="Value set Telephone Visits"/>
<resource
value="https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-telephone-visits|0.1.0"/>
</relatedArtifact>
<parameter>
<name value="Measurement Period"/>
<use value="in"/>
<min value="0"/>
<max value="1"/>
<type value="Period"/>
</parameter>
<parameter>
<name value="Initial Population"/>
<use value="out"/>
<min value="0"/>
<max value="1"/>
<type value="boolean"/>
</parameter>
<dataRequirement>
<type value="Patient"/>
<profile
value="http://hl7.org/fhir/StructureDefinition/Patient|4.0.1"/>
</dataRequirement>
<dataRequirement>
<type value="Condition"/>
<profile
value="https://atrius.in/fhir/r4/atrius-in/StructureDefinition/atrius-in-condition-problems-health-concerns|0.1.0"/>
<mustSupport value="code"/>
<codeFilter>
<path value="code"/>
<valueSet
value="https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-essential-hypertension|0.1.0"/>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="Condition"/>
<profile
value="https://atrius.in/fhir/r4/atrius-in/StructureDefinition/atrius-in-condition-encounter-diagnosis|0.1.0"/>
<mustSupport value="code"/>
<codeFilter>
<path value="code"/>
<valueSet
value="https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-essential-hypertension|0.1.0"/>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="Encounter"/>
<profile
value="http://hl7.org/fhir/StructureDefinition/Encounter|4.0.1"/>
<mustSupport value="type"/>
<mustSupport value="status"/>
<mustSupport value="period"/>
<codeFilter>
<path value="type"/>
<valueSet
value="https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-office-visit|0.1.0"/>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="Encounter"/>
<profile
value="http://hl7.org/fhir/StructureDefinition/Encounter|4.0.1"/>
<mustSupport value="type"/>
<mustSupport value="status"/>
<mustSupport value="period"/>
<codeFilter>
<path value="type"/>
<valueSet
value="https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-annual-wellness-visit|0.1.0"/>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="Encounter"/>
<profile
value="http://hl7.org/fhir/StructureDefinition/Encounter|4.0.1"/>
<mustSupport value="type"/>
<mustSupport value="status"/>
<mustSupport value="period"/>
<codeFilter>
<path value="type"/>
<valueSet
value="https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-preventive-established-18up|0.1.0"/>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="Encounter"/>
<profile
value="http://hl7.org/fhir/StructureDefinition/Encounter|4.0.1"/>
<mustSupport value="type"/>
<mustSupport value="status"/>
<mustSupport value="period"/>
<codeFilter>
<path value="type"/>
<valueSet
value="https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-preventive-initial-18up|0.1.0"/>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="Encounter"/>
<profile
value="http://hl7.org/fhir/StructureDefinition/Encounter|4.0.1"/>
<mustSupport value="type"/>
<mustSupport value="status"/>
<mustSupport value="period"/>
<codeFilter>
<path value="type"/>
<valueSet
value="https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-home-healthcare|0.1.0"/>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="Encounter"/>
<profile
value="http://hl7.org/fhir/StructureDefinition/Encounter|4.0.1"/>
<mustSupport value="type"/>
<mustSupport value="status"/>
<mustSupport value="period"/>
<codeFilter>
<path value="type"/>
<valueSet
value="https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-virtual-encounter|0.1.0"/>
</codeFilter>
</dataRequirement>
<dataRequirement>
<type value="Encounter"/>
<profile
value="http://hl7.org/fhir/StructureDefinition/Encounter|4.0.1"/>
<mustSupport value="type"/>
<mustSupport value="status"/>
<mustSupport value="period"/>
<codeFilter>
<path value="type"/>
<valueSet
value="https://atrius.in/fhir/r4/atrius-in/ValueSet/atrius-vs-telephone-visits|0.1.0"/>
</codeFilter>
</dataRequirement>
</Library>
</contained>
<extension
url="http://hl7.org/fhir/StructureDefinition/cqf-cdsHooksEndpoint">
<valueUri
value="https://cds.atrius.in/cds-services/atriuscms165controllinghighbp"/>
</extension>
<extension
url="http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-effectiveDataRequirements">
<valueCanonical value="#effective-data-requirements"/>
</extension>
<url
value="https://atrius.in/fhir/r4/atrius-in/PlanDefinition/atrius-cms165-cds"/>
<identifier>
<use value="official"/>
<value value="atriuscms165controllinghighbp"/>
</identifier>
<identifier>
<system value="urn:ietf:rfc:3986"/>
<value value="urn:oid:1.3.6.1.4.1.66219.1.34.6"/>
</identifier>
<version value="0.1.0"/>
<name value="AtriusCMS165CDS"/>
<title value="Atrius CMS165 Controlling High BP"/>
<type>
<coding>
<system
value="http://terminology.hl7.org/CodeSystem/plan-definition-type"/>
<code value="eca-rule"/>
</coding>
</type>
<status value="draft"/>
<experimental value="true"/>
<date value="2026-08-30T18:15:29+05:30"/>
<publisher value="Atrius"/>
<contact>
<name value="Atrius"/>
<telecom>
<system value="url"/>
<value value="https://atrius.in"/>
</telecom>
</contact>
<description
value="CDS Hooks service evaluating Initial Population from Library AtriusCMS165ControllingHighBP at patient-view."/>
<relatedArtifact>
<type value="depends-on"/>
<display value="Atrius CMS165 Measure"/>
<resource
value="https://atrius.in/fhir/r4/atrius-in/Measure/AtriusCMS165ControllingHighBP|0.1.0"/>
</relatedArtifact>
<library
value="https://atrius.in/fhir/r4/atrius-in/Library/AtriusCMS165ControllingHighBP|0.1.0"/>
<action id="cds-evaluate-initial-population">
<title value="CMS165 Initial Population"/>
<description value="Evaluate Initial Population at patient-view hook."/>
<trigger>
<type value="named-event"/>
<name value="patient-view"/>
</trigger>
<condition>
<kind value="applicability"/>
<expression>
<language value="text/cql"/>
<expression value="Initial Population"/>
</expression>
</condition>
<input>
<type value="Patient"/>
<profile
value="https://atrius.in/fhir/r4/atrius-in/StructureDefinition/atrius-in-patient|0.1.0"/>
</input>
<input>
<type value="Condition"/>
<profile
value="https://atrius.in/fhir/r4/atrius-in/StructureDefinition/atrius-in-condition-encounter-diagnosis|0.1.0"/>
<profile
value="https://atrius.in/fhir/r4/atrius-in/StructureDefinition/atrius-in-condition-problems-health-concerns|0.1.0"/>
</input>
<input>
<type value="Encounter"/>
<profile
value="https://atrius.in/fhir/r4/atrius-in/StructureDefinition/atrius-in-encounter|0.1.0"/>
</input>
<input>
<type value="Observation"/>
<profile
value="https://atrius.in/fhir/r4/atrius-in/StructureDefinition/atrius-in-observation-vital-signs|0.1.0"/>
</input>
<input>
<type value="Procedure"/>
<profile
value="https://atrius.in/fhir/r4/atrius-in/StructureDefinition/atrius-in-procedure|0.1.0"/>
</input>
</action>
</PlanDefinition>