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-09-21 |
<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 for CDS"/>
</extension>
<extension url="statement">
<valueString
value="define "Qualifying Encounters for CDS":
(
(
[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 for CDS"/>
</extension>
<extension url="statement">
<valueString
value="define "Initial Population for CDS":
AgeInYearsAt(end of "Measurement Period") in Interval[18, 85]
and exists "Essential Hypertension Diagnosis"
and exists AdultOutpatientEncounters."Qualifying Encounters for CDS""/>
</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="define fluent function toConditionTimingInterval(choice Choice<FHIR.dateTime, FHIR.Age, FHIR.Period, FHIR.Range, FHIR.string>):
choice.toInterval()"/>
</extension>
<extension url="displaySequence">
<valueInteger value="8"/>
</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="9"/>
</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 E.status in { 'finished', 'in-progress', 'onhold', 'arrived' }"/>
</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="ToString"/>
</extension>
<extension url="statement">
<valueString
value="define function ToString(value EncounterStatus): 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="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="12"/>
</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|1.15.000"/>
</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|4.19.000"/>
</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 for CDS"/>
<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-09-21T19:22:21+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 for CDS 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 for CDS at patient-view hook (in-progress office visits still qualify)."/>
<trigger>
<type value="named-event"/>
<name value="patient-view"/>
</trigger>
<condition>
<kind value="applicability"/>
<expression>
<language value="text/cql"/>
<expression value="Initial Population for CDS"/>
</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>