From 7ef6c67815774584eafe865acec8fed668a5a117 Mon Sep 17 00:00:00 2001 From: LaurenD Date: Fri, 31 Jan 2025 14:38:20 -0500 Subject: [PATCH] Make attribute required for ValueFilter --- src/helpers/elm/QueryFilterParser.ts | 6 ++---- src/types/QueryFilterTypes.ts | 4 ++-- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/src/helpers/elm/QueryFilterParser.ts b/src/helpers/elm/QueryFilterParser.ts index 012d38b9..5e640ff6 100644 --- a/src/helpers/elm/QueryFilterParser.ts +++ b/src/helpers/elm/QueryFilterParser.ts @@ -1184,7 +1184,8 @@ export function interpretComparator( const valueFilter: ValueFilter = { type: 'value', - comparator: comparatorString + comparator: comparatorString, + attribute: propRef.path }; const op = comparatorELM.operand[1]; @@ -1218,9 +1219,6 @@ export function interpretComparator( if (propRef.scope) { valueFilter.alias = propRef.scope; } - if (propRef.path) { - valueFilter.attribute = propRef.path; - } return valueFilter; } diff --git a/src/types/QueryFilterTypes.ts b/src/types/QueryFilterTypes.ts index 8deda4fc..932203ab 100644 --- a/src/types/QueryFilterTypes.ts +++ b/src/types/QueryFilterTypes.ts @@ -158,7 +158,7 @@ export interface codeFilterQuery { export interface ValueFilter extends Filter { type: 'value'; - attribute?: string; + attribute: string; alias?: string; comparator: ValueFilterComparator; valueBoolean?: boolean; @@ -169,5 +169,5 @@ export interface ValueFilter extends Filter { valueRange?: fhir4.Range; } -// Information on these comparators found here: http://build.fhir.org/ig/HL7/cqf-measures/ValueSet-value-filter-comparator.html +// Information on these comparators found here: https://build.fhir.org/ig/HL7/fhir-extensions/StructureDefinition-cqf-valueFilter.html export type ValueFilterComparator = 'eq' | 'gt' | 'lt' | 'ge' | 'le' | 'sa' | 'eb';