Library Name |
Name |
SupplementalDataElements |
SDE Sex |
|
define "SDE Sex":
case
when Patient.gender = 'male' then Code { code: 'M', system: 'http://hl7.org/fhir/v3/AdministrativeGender', display: 'Male' }
when Patient.gender = 'female' then Code { code: 'F', system: 'http://hl7.org/fhir/v3/AdministrativeGender', display: 'Female' }
else null
end
|
Library Name |
Name |
TestHFBetaBlockerTherapyforLVSDFHIR |
SDE Sex |
|
define "SDE Sex":
SDE."SDE Sex"
|
Library Name |
Name |
AHAOverall |
Heart Failure Outpatient Encounter |
|
define "Heart Failure Outpatient Encounter":
( [Encounter: "Care Services in Long Term Residential Facility"]
union [Encounter: "Home Healthcare Services"]
union [Encounter: "Nursing Facility Visit"]
union [Encounter: "Office Visit"]
union [Encounter: "Outpatient Consultation"]
) QualifyingEncounter
with [Condition: "Heart Failure"] HeartFailure
such that HeartFailure.prevalenceInterval() overlaps QualifyingEncounter.period
and HeartFailure.isConfirmedActiveDiagnosis()
where QualifyingEncounter.period during "Measurement Period"
and QualifyingEncounter.isFinished()
|
Library Name |
Name |
AHAOverall |
Moderate or Severe LVSD Dates |
|
/**
* Modified Moderate or Severe LVSD Findings defintion to return dates of findings due
* to issues in Translator around union of unlike types: refer to
* https://github.com/cqframework/clinical_quality_language/issues/1126
**/
define "Moderate or Severe LVSD Dates":
( [Observation: "Ejection Fraction"] EjectionFraction
let dateOfFinding: start of ( EjectionFraction Fraction
where Fraction.value as Quantity <= 40 '%'
and Fraction.status in {'final', 'amended', 'corrected'}
return Fraction.effective.toInterval()
)
return dateOfFinding
)
union
(
( [Condition: "Moderate or Severe LVSD"]
union ( [Condition: "Left ventricular systolic dysfunction (disorder)"] LVSDDiagnosis
where LVSDDiagnosis.severity in "Moderate or Severe"
)
) ModerateOrSevereLVSD
let dateOfFinding: start of ( ModerateOrSevereLVSD LVSD
where LVSD.isConfirmedActiveDiagnosis()
return LVSD.prevalenceInterval()
)
return dateOfFinding
)
|
Library Name |
Name |
AHAOverall |
Heart Failure Outpatient Encounter with History of Moderate or Severe LVSD |
|
define "Heart Failure Outpatient Encounter with History of Moderate or Severe LVSD":
"Heart Failure Outpatient Encounter" HFOutpatientEncounter
with "Moderate or Severe LVSD Dates" ModerateSevereLVSDDate
such that ModerateSevereLVSDDate before end of HFOutpatientEncounter.period
|
Library Name |
Name |
TestHFBetaBlockerTherapyforLVSDFHIR |
Has Beta Blocker Therapy for LVSD Ordered |
|
define "Has Beta Blocker Therapy for LVSD Ordered":
exists ( [MedicationRequest: "Beta Blocker Therapy for LVSD"] BetaBlockerOrdered
where BetaBlockerOrdered.isOrderedDuringHeartFailureOutpatientEncounter ( )
and BetaBlockerOrdered.status in { 'active', 'completed' }
and BetaBlockerOrdered.intent in { 'order', 'original-order', 'reflex-order', 'filler-order', 'instance-order' }
)
|
Library Name |
Name |
TestHFBetaBlockerTherapyforLVSDFHIR |
Is Currently Taking Beta Blocker Therapy for LVSD |
|
define "Is Currently Taking Beta Blocker Therapy for LVSD":
exists ( ["MedicationRequest": "Beta Blocker Therapy for LVSD"] ActiveBetaBlocker
where ActiveBetaBlocker.overlapsAfterHeartFailureOutpatientEncounter ( )
)
|
Library Name |
Name |
TestHFBetaBlockerTherapyforLVSDFHIR |
Numerator |
|
define "Numerator":
"Has Beta Blocker Therapy for LVSD Ordered"
or "Is Currently Taking Beta Blocker Therapy for LVSD"
|
Library Name |
Name |
AHAOverall |
Qualifying Outpatient Encounter During Measurement Period |
|
define "Qualifying Outpatient Encounter During Measurement Period":
( [Encounter: "Care Services in Long Term Residential Facility"]
union [Encounter: "Home Healthcare Services"]
union [Encounter: "Nursing Facility Visit"]
union [Encounter: "Office Visit"]
union [Encounter: "Outpatient Consultation"]
union [Encounter: "Patient Provider Interaction"]
) ValidEncounter
where ValidEncounter.period during "Measurement Period"
and ValidEncounter.isFinished()
|
Library Name |
Name |
TestHFBetaBlockerTherapyforLVSDFHIR |
Initial Population |
|
define "Initial Population":
AgeInYearsAt(date from start of "Measurement Period") >= 18
and Count(AHA."Qualifying Outpatient Encounter During Measurement Period") >= 2
and exists AHA."Heart Failure Outpatient Encounter"
|
Library Name |
Name |
TestHFBetaBlockerTherapyforLVSDFHIR |
Denominator |
|
define "Denominator":
"Initial Population"
and exists AHA."Heart Failure Outpatient Encounter with History of Moderate or Severe LVSD"
|
Library Name |
Name |
SupplementalDataElements |
SDE Payer |
|
define "SDE Payer":
[Coverage: type in "Payer"] Payer
return {
code: Payer.type,
period: Payer.period
}
|
Library Name |
Name |
TestHFBetaBlockerTherapyforLVSDFHIR |
SDE Payer |
|
define "SDE Payer":
SDE."SDE Payer"
|
Library Name |
Name |
SupplementalDataElements |
SDE Ethnicity |
|
define "SDE Ethnicity":
Patient.ethnicity E
return Tuple {
codes: { E.ombCategory } union E.detailed,
display: E.text
}
|
Library Name |
Name |
TestHFBetaBlockerTherapyforLVSDFHIR |
SDE Ethnicity |
|
define "SDE Ethnicity":
SDE."SDE Ethnicity"
|
Library Name |
Name |
AHAOverall |
Has Heart Transplant |
|
define "Has Heart Transplant":
exists (
[Procedure: "Heart Transplant"] HeartTransplant
with "Heart Failure Outpatient Encounter with History of Moderate or Severe LVSD" ModerateOrSevereLVSDHFOutpatientEncounter
such that HeartTransplant.performed.toInterval() starts before end of ModerateOrSevereLVSDHFOutpatientEncounter.period
where HeartTransplant.status = 'completed'
)
|
Library Name |
Name |
AHAOverall |
Has Heart Transplant Complications |
|
define "Has Heart Transplant Complications":
exists (
[Condition: "Heart Transplant Complications"] HeartTransplantComplications
with "Heart Failure Outpatient Encounter with History of Moderate or Severe LVSD" ModerateOrSevereLVSDHFOutpatientEncounter
such that ( Coalesce( HeartTransplantComplications.recordedDate.toInterval(), HeartTransplantComplications.prevalenceInterval() ) ) starts before end of ModerateOrSevereLVSDHFOutpatientEncounter.period
where HeartTransplantComplications.isConfirmedActiveDiagnosis()
)
|
Library Name |
Name |
AHAOverall |
Has Left Ventricular Assist Device |
|
define "Has Left Ventricular Assist Device":
exists (
[Procedure: "Left Ventricular Assist Device Placement"] LVADOutpatient
with "Heart Failure Outpatient Encounter with History of Moderate or Severe LVSD" ModerateOrSevereLVSDHFOutpatientEncounter
such that LVADOutpatient.performed.toInterval() starts before end of ModerateOrSevereLVSDHFOutpatientEncounter.period
where LVADOutpatient.status = 'completed'
)
|
Library Name |
Name |
AHAOverall |
Has Left Ventricular Assist Device Complications |
|
define "Has Left Ventricular Assist Device Complications":
exists (
[Condition: "Left Ventricular Assist Device Complications"] LVADComplications
with "Heart Failure Outpatient Encounter with History of Moderate or Severe LVSD" ModerateOrSevereLVSDHFOutpatientEncounter
such that ( Coalesce( LVADComplications.recordedDate.toInterval(), LVADComplications.prevalenceInterval() ) ) starts before end of ModerateOrSevereLVSDHFOutpatientEncounter.period
where LVADComplications.isConfirmedActiveDiagnosis()
)
|
Library Name |
Name |
TestHFBetaBlockerTherapyforLVSDFHIR |
Denominator Exclusions |
|
define "Denominator Exclusions":
AHA."Has Heart Transplant"
or AHA."Has Heart Transplant Complications"
or AHA."Has Left Ventricular Assist Device"
or AHA."Has Left Ventricular Assist Device Complications"
|
Library Name |
Name |
SupplementalDataElements |
SDE Race |
|
define "SDE Race":
Patient.race R
return Tuple {
codes: R.ombCategory union R.detailed,
display: R.text
}
|
Library Name |
Name |
TestHFBetaBlockerTherapyforLVSDFHIR |
SDE Race |
|
define "SDE Race":
SDE."SDE Race"
|
Library Name |
Name |
TestHFBetaBlockerTherapyforLVSDFHIR |
Has Consecutive Heart Rates Less than 50 |
|
define "Has Consecutive Heart Rates Less than 50":
exists ( from
["observation-heartrate"] HeartRate,
AHA."Heart Failure Outpatient Encounter with History of Moderate or Severe LVSD" ModerateOrSevereLVSDHFOutpatientEncounter
let PriorHeartRate: Last(["observation-heartrate"] MostRecentPriorHeartRate
where MostRecentPriorHeartRate.effective.toInterval() during ModerateOrSevereLVSDHFOutpatientEncounter.period
and MostRecentPriorHeartRate.effective.toInterval() before HeartRate.effective.toInterval()
sort by start of effective.toInterval()
)
where HeartRate.effective.toInterval ( ) during ModerateOrSevereLVSDHFOutpatientEncounter.period
and HeartRate.status in { 'final', 'amended', 'corrected' }
and HeartRate.value < 50 '/min'
and PriorHeartRate.value < 50 '/min'
return HeartRate
)
|
Library Name |
Name |
TestHFBetaBlockerTherapyforLVSDFHIR |
Has Medical or Patient Reason for Not Ordering Beta Blocker for LVSD |
|
define "Has Medical or Patient Reason for Not Ordering Beta Blocker for LVSD":
exists ( ["MedicationNotRequested"] NoBetaBlockerOrdered
with AHA."Heart Failure Outpatient Encounter with History of Moderate or Severe LVSD" ModerateOrSevereLVSDHFOutpatientEncounter
such that NoBetaBlockerOrdered.authoredOn during ModerateOrSevereLVSDHFOutpatientEncounter.period
where NoBetaBlockerOrdered.medication in "Beta Blocker Therapy for LVSD"
and ( NoBetaBlockerOrdered.reasonCode in "Medical Reason"
or NoBetaBlockerOrdered.reasonCode in "Patient Reason"
)
)
|
Library Name |
Name |
TestHFBetaBlockerTherapyforLVSDFHIR |
Has Arrhythmia Diagnosis |
|
define "Has Arrhythmia Diagnosis":
exists ( [Condition: "Arrhythmia"] Arrhythmia
where Arrhythmia.overlapsHeartFailureOutpatientEncounter ( )
and Arrhythmia.isActive ( )
and Arrhythmia.verificationStatus ~ QICoreCommon."confirmed"
)
|
Library Name |
Name |
TestHFBetaBlockerTherapyforLVSDFHIR |
Has Hypotension Diagnosis |
|
define "Has Hypotension Diagnosis":
exists ( ["Condition": "Hypotension"] Hypotension
where Hypotension.overlapsHeartFailureOutpatientEncounter ( )
and Hypotension.isActive ( )
and Hypotension.verificationStatus ~ QICoreCommon."confirmed"
)
|
Library Name |
Name |
TestHFBetaBlockerTherapyforLVSDFHIR |
Has Asthma Diagnosis |
|
define "Has Asthma Diagnosis":
exists ( [Condition: "Asthma"] Asthma
where Asthma.overlapsHeartFailureOutpatientEncounter ( )
and Asthma.isActive ( )
and Asthma.verificationStatus ~ QICoreCommon."confirmed"
)
|
Library Name |
Name |
TestHFBetaBlockerTherapyforLVSDFHIR |
Has Diagnosis of Allergy or Intolerance to Beta Blocker Therapy |
|
define "Has Diagnosis of Allergy or Intolerance to Beta Blocker Therapy":
exists ( ( ["Condition": "Allergy to Beta Blocker Therapy"]
union ["Condition": "Intolerance to Beta Blocker Therapy"] ) BetaBlockerAllergyOrIntoleranceDiagnosis
where BetaBlockerAllergyOrIntoleranceDiagnosis.overlapsAfterHeartFailureOutpatientEncounter ( )
and BetaBlockerAllergyOrIntoleranceDiagnosis.isActive ( )
and BetaBlockerAllergyOrIntoleranceDiagnosis.verificationStatus ~ QICoreCommon."confirmed"
)
|
Library Name |
Name |
TestHFBetaBlockerTherapyforLVSDFHIR |
Has Bradycardia Diagnosis |
|
define "Has Bradycardia Diagnosis":
exists ( [Condition: "Bradycardia"] Bradycardia
where Bradycardia.overlapsHeartFailureOutpatientEncounter ( )
and Bradycardia.isActive ( )
and Bradycardia.verificationStatus ~ QICoreCommon."confirmed"
)
|
Library Name |
Name |
TestHFBetaBlockerTherapyforLVSDFHIR |
Has Allergy or Intolerance to Beta Blocker Therapy Ingredient |
|
define "Has Allergy or Intolerance to Beta Blocker Therapy Ingredient":
exists ( ( [AllergyIntolerance: "Beta Blocker Therapy Ingredient"]
union [AllergyIntolerance: "Substance with beta adrenergic receptor antagonist mechanism of action (substance)"] ) BetaBlockerAllergyIntolerance
where BetaBlockerAllergyIntolerance.overlapsAfterHeartFailureOutpatientEncounter ( )
and ( BetaBlockerAllergyIntolerance.clinicalStatus is null
or BetaBlockerAllergyIntolerance.clinicalStatus ~ QICoreCommon."allergy-active"
)
)
|
Library Name |
Name |
TestHFBetaBlockerTherapyforLVSDFHIR |
Has Atrioventricular Block Diagnosis |
|
define "Has Atrioventricular Block Diagnosis":
exists ( [Condition: "Atrioventricular Block"] AtrioventricularBlock
where AtrioventricularBlock.overlapsHeartFailureOutpatientEncounter ( )
and AtrioventricularBlock.isActive ( )
and AtrioventricularBlock.verificationStatus ~ QICoreCommon."confirmed"
)
|
Library Name |
Name |
TestHFBetaBlockerTherapyforLVSDFHIR |
Has Diagnosis of Cardiac Pacer in Situ |
|
define "Has Diagnosis of Cardiac Pacer in Situ":
exists ( ["Condition": "Cardiac Pacer in Situ"] CardiacPacerDiagnosis
where CardiacPacerDiagnosis.overlapsAfterHeartFailureOutpatientEncounter ( )
and CardiacPacerDiagnosis.isActive ( )
and CardiacPacerDiagnosis.verificationStatus ~ QICoreCommon."confirmed"
)
|
Library Name |
Name |
TestHFBetaBlockerTherapyforLVSDFHIR |
Has Cardiac Pacer Device Implanted |
|
define "Has Cardiac Pacer Device Implanted":
exists ( [Procedure: "Cardiac Pacer"] ImplantedCardiacPacer
with AHA."Heart Failure Outpatient Encounter with History of Moderate or Severe LVSD" ModerateOrSevereLVSDHFOutpatientEncounter
such that ImplantedCardiacPacer.performed.toInterval ( ) starts before end of ModerateOrSevereLVSDHFOutpatientEncounter.period
where ImplantedCardiacPacer.status = 'completed'
)
|
Library Name |
Name |
TestHFBetaBlockerTherapyforLVSDFHIR |
Atrioventricular Block without Cardiac Pacer |
|
define "Atrioventricular Block without Cardiac Pacer":
"Has Atrioventricular Block Diagnosis"
and not "Has Diagnosis of Cardiac Pacer in Situ"
and not "Has Cardiac Pacer Device Implanted"
|
Library Name |
Name |
TestHFBetaBlockerTherapyforLVSDFHIR |
Denominator Exceptions |
|
define "Denominator Exceptions":
"Has Consecutive Heart Rates Less than 50"
or "Has Medical or Patient Reason for Not Ordering Beta Blocker for LVSD"
or "Has Arrhythmia Diagnosis"
or "Has Hypotension Diagnosis"
or "Has Asthma Diagnosis"
or "Has Diagnosis of Allergy or Intolerance to Beta Blocker Therapy"
or "Has Bradycardia Diagnosis"
or "Has Allergy or Intolerance to Beta Blocker Therapy Ingredient"
or "Atrioventricular Block without Cardiac Pacer"
|
Library Name |
Name |
AHAOverall |
isOrderedDuringHeartFailureOutpatientEncounter |
|
define fluent function isOrderedDuringHeartFailureOutpatientEncounter(Order MedicationRequest):
exists ( "Heart Failure Outpatient Encounter with History of Moderate or Severe LVSD" ModerateOrSevereLVSDHFOutpatientEncounter
where Order.authoredOn during day of ModerateOrSevereLVSDHFOutpatientEncounter.period
and Order.status in {'active', 'completed'}
and Order.intent in { 'order', 'original-order', 'reflex-order', 'filler-order', 'instance-order' }
and Order.doNotPerform is not true
)
|
Library Name |
Name |
QICoreCommon |
prevalenceInterval |
|
/*
@description: Returns an interval representing the normalized prevalence period of a given Condition.
@comment: Uses the ToInterval and ToAbatementInterval functions to determine the widest potential interval from
onset to abatement as specified in the given Condition. If the condition is active, the resulting interval will have
a closed ending boundary. If the condition is not active, the resulting interval will have an open ending boundary.
*/
define fluent function prevalenceInterval(condition Condition):
if condition.clinicalStatus ~ "active"
or condition.clinicalStatus ~ "recurrence"
or condition.clinicalStatus ~ "relapse" then
Interval[start of condition.onset.toInterval(), end of condition.abatementInterval()]
else
Interval[start of condition.onset.toInterval(), end of condition.abatementInterval())
|
Library Name |
Name |
AHAOverall |
isConfirmedActiveDiagnosis |
|
define fluent function isConfirmedActiveDiagnosis(Condition Condition):
( Condition Diagnosis
where Diagnosis.clinicalStatus ~ QICoreCommon."active"
and not ( Diagnosis.verificationStatus ~ QICoreCommon."unconfirmed"
or Diagnosis.verificationStatus ~ QICoreCommon."refuted"
or Diagnosis.verificationStatus ~ QICoreCommon."entered-in-error" )
) is not null
|
Library Name |
Name |
AHAOverall |
isFinished |
|
define fluent function isFinished(Visit Encounter):
Visit.status = 'finished'
|
Library Name |
Name |
QICoreCommon |
toInterval |
|
/*
@description: Normalizes a value that is a choice of timing-valued types to an equivalent interval
@comment: Normalizes a choice type of DateTime, Quanitty, Interval<DateTime>, or Interval<Quantity> types
to an equivalent interval. This selection of choice types is a superset of the majority of choice types that are used as possible
representations for timing-valued elements in QICore, allowing this function to be used across any resource.
The input can be provided as a DateTime, Quantity, Interval<DateTime> or Interval<Quantity>.
The intent of this function is to provide a clear and concise mechanism to treat single
elements that have multiple possible representations as intervals so that logic doesn't have to account
for the variability. More complex calculations (such as medication request period or dispense period
calculation) need specific guidance and consideration. That guidance may make use of this function, but
the focus of this function is on single element calculations where the semantics are unambiguous.
If the input is a DateTime, the result a DateTime Interval beginning and ending on that DateTime.
If the input is a Quantity, the quantity is expected to be a calendar-duration interpreted as an Age,
and the result is a DateTime Interval beginning on the Date the patient turned that age and ending immediately before one year later.
If the input is a DateTime Interval, the result is the input.
If the input is a Quantity Interval, the quantities are expected to be calendar-durations interpreted as an Age, and the result
is a DateTime Interval beginning on the date the patient turned the age given as the start of the quantity interval, and ending
immediately before one year later than the date the patient turned the age given as the end of the quantity interval.
Any other input will reslt in a null DateTime Interval
*/
define fluent function toInterval(choice Choice<DateTime, Quantity, Interval<DateTime>, Interval<Quantity>>):
case
when choice is DateTime then
Interval[choice as DateTime, choice as DateTime]
when choice is Interval<DateTime> then
choice as Interval<DateTime>
when choice is Quantity then
Interval[Patient.birthDate + (choice as Quantity),
Patient.birthDate + (choice as Quantity) + 1 year)
when choice is Interval<Quantity> then
Interval[Patient.birthDate + (choice.low as Quantity),
Patient.birthDate + (choice.high as Quantity) + 1 year)
else
null as Interval<DateTime>
end
|
Library Name |
Name |
AHAOverall |
overlapsAfterHeartFailureOutpatientEncounter |
|
define fluent function overlapsAfterHeartFailureOutpatientEncounter(Event Choice<Condition, Procedure, AllergyIntolerance, MedicationRequest, "observation-heartrate">):
exists ( "Heart Failure Outpatient Encounter with History of Moderate or Severe LVSD" ModerateOrSevereLVSDHFOutpatientEncounter
where
case
when Event is Condition then
Event.prevalenceInterval() overlaps after day of ModerateOrSevereLVSDHFOutpatientEncounter.period
and Event.isConfirmedActiveDiagnosis()
when Event is Procedure then
Event.performed.toInterval() overlaps after day of ModerateOrSevereLVSDHFOutpatientEncounter.period
and Event.status = 'completed'
when Event is AllergyIntolerance then
Interval[start of Event.onset.toInterval(), Event.lastOccurrence] overlaps after day of ModerateOrSevereLVSDHFOutpatientEncounter.period
and Event.clinicalStatus ~ QICoreCommon."allergy-active"
and not (Event.verificationStatus ~ QICoreCommon."allergy-unconfirmed"
or Event.verificationStatus ~ QICoreCommon."allergy-refuted"
or Event.verificationStatus ~ "allergy-entered-in-error")
when Event is MedicationRequest then
First( ( collapse (Event.dosageInstruction.timing.repeat.bounds DoseTime
return DoseTime.toInterval()) ) DrugPeriods
sort by start of $this ) overlaps after day of ModerateOrSevereLVSDHFOutpatientEncounter.period
and Event.status in { 'active', 'completed' }
and Event.intent in { 'order', 'original-order', 'reflex-order', 'filler-order', 'instance-order' }
and Event.doNotPerform is not true
when Event is "observation-heartrate" then
Event.effective.toInterval() overlaps after day of ModerateOrSevereLVSDHFOutpatientEncounter.period
and Event.status in {'final', 'amended', 'corrected'}
else false
end
)
|
Library Name |
Name |
FHIRHelpers |
ToString |
|
define function ToString(value uri): value.value
|
Library Name |
Name |
FHIRHelpers |
ToCode |
|
/*
@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
}
|
Library Name |
Name |
FHIRHelpers |
ToConcept |
|
/*
@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
}
|
Library Name |
Name |
AHAOverall |
overlapsHeartFailureOutpatientEncounter |
|
define fluent function overlapsHeartFailureOutpatientEncounter(Diagnosis Condition):
exists ( "Heart Failure Outpatient Encounter with History of Moderate or Severe LVSD" ModerateOrSevereLVSDHFOutpatientEncounter
where Diagnosis.prevalenceInterval() overlaps day of ModerateOrSevereLVSDHFOutpatientEncounter.period
and Diagnosis.isConfirmedActiveDiagnosis()
)
|
Library Name |
Name |
QICoreCommonNew |
isActive |
|
/* Candidates for FHIRCommon */
/*
@description: Returns true if the given condition has a clinical status of active, recurrence, or relapse
*/
define fluent function isActive(condition Condition):
condition.clinicalStatus ~ "active"
or condition.clinicalStatus ~ "recurrence"
or condition.clinicalStatus ~ "relapse"
|