diff --git a/packages/core/src/components/core/query/QueryPatientFilters.vue b/packages/core/src/components/core/query/QueryPatientFilters.vue index e30b89fe..5851534b 100644 --- a/packages/core/src/components/core/query/QueryPatientFilters.vue +++ b/packages/core/src/components/core/query/QueryPatientFilters.vue @@ -1,10 +1,11 @@ diff --git a/packages/core/src/components/utility/kv-table/DKVTable.vue b/packages/core/src/components/utility/kv-table/DKVTable.vue index 914e05b2..75e6f598 100644 --- a/packages/core/src/components/utility/kv-table/DKVTable.vue +++ b/packages/core/src/components/utility/kv-table/DKVTable.vue @@ -10,7 +10,7 @@ import { BTable } from 'bootstrap-vue-next'; import type { PropType } from 'vue'; import { computed, defineComponent } from 'vue'; import type { Coding, KeyValueRecord } from '../../../domains'; -import { isCoding, isConceptCount } from '../../../domains'; +import { isCoding, isConceptCount, isMinMaxRange } from '../../../domains'; import { generateChartLabelsForKeyValueRecord } from '../chart/utils'; export default defineComponent({ @@ -101,6 +101,11 @@ export default defineComponent({ return; } + if (isMinMaxRange(itemKey)) { + emit('clicked', [{ code: itemKey.min }, { code: itemKey.max }]); + return; + } + if (typeof itemKey === 'string') { emit('clicked', [{ code: itemKey } satisfies Coding]); return; diff --git a/packages/core/src/domains/coding/utils.ts b/packages/core/src/domains/coding/utils.ts index e46ee6d9..bd3d81f1 100644 --- a/packages/core/src/domains/coding/utils.ts +++ b/packages/core/src/domains/coding/utils.ts @@ -3,7 +3,7 @@ import type { Coding } from './types'; export function isCoding(input: unknown) : input is Coding { return isObject(input) && - typeof input.code === 'string'; + (typeof input.code === 'string' || typeof input.code === 'number'); } export function toCoding(input: number | string | Coding) : Coding { @@ -129,7 +129,7 @@ export function buildCodingsRecord(input: Record) : Record