fhirsmith 0.9.2 → 0.9.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +19 -0
- package/package.json +1 -1
- package/translations/Messages.properties +3 -1
- package/tx/cs/cs-api.js +2 -1
- package/tx/cs/cs-areacode.js +1 -1
- package/tx/cs/cs-country.js +1 -1
- package/tx/cs/cs-cpt.js +1 -1
- package/tx/cs/cs-cs.js +1 -1
- package/tx/cs/cs-currency.js +1 -1
- package/tx/cs/cs-hgvs.js +1 -1
- package/tx/cs/cs-lang.js +1 -1
- package/tx/cs/cs-loinc.js +1 -1
- package/tx/cs/cs-ndc.js +1 -1
- package/tx/cs/cs-omop.js +1 -1
- package/tx/cs/cs-rxnorm.js +1 -1
- package/tx/cs/cs-snomed.js +603 -22
- package/tx/cs/cs-ucum.js +1 -1
- package/tx/sct/ecl.js +98 -49
- package/tx/tx.js +6 -2
- package/tx/vs/vs-vsac.js +38 -9
- package/tx/workers/expand.js +42 -24
- package/tx/workers/related.js +1 -1
- package/tx/workers/validate.js +21 -24
- package/tx/workers/worker.js +16 -1
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,25 @@ All notable changes to the Health Intersections Node Server will be documented i
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [v0.9.3] - 2026-04-10
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
|
|
12
|
+
- Add support for handling contained value sets
|
|
13
|
+
- Add beta support for ECL
|
|
14
|
+
|
|
15
|
+
### Changed
|
|
16
|
+
|
|
17
|
+
- Bump vsac fetch to 1000 and improve history presentation
|
|
18
|
+
|
|
19
|
+
### Fixed
|
|
20
|
+
|
|
21
|
+
- Fix count on empty value set
|
|
22
|
+
|
|
23
|
+
### Tx Conformance Statement
|
|
24
|
+
|
|
25
|
+
FHIRsmith passed all 1651 HL7 terminology service tests (modes tx.fhir.org+omop+general+snomed, tests v1.9.1, runner v6.9.6)
|
|
26
|
+
|
|
8
27
|
## [v0.9.2] - 2026-04-14
|
|
9
28
|
|
|
10
29
|
### Fixed
|
package/package.json
CHANGED
|
@@ -1511,4 +1511,6 @@ CONFORMANCE_STATEMENT_WORD = The html source contains the word ''{0}'' but it is
|
|
|
1511
1511
|
VALUESET_CODE_CONCEPT_HINT = {3}. Note that the display in the ValueSet does not have to match; this check exists to help check that it''s not accidentally the wrong code
|
|
1512
1512
|
VALUESET_CODE_CONCEPT_HINT_VER ={3}. Note that the display in the ValueSet does not have to match; this check exists to help check that it''s not accidentally the wrong code
|
|
1513
1513
|
TERMINOLOGY_TX_SYSTEM_UNSUPPORTED = The code cannot be checked because codeSystem ''{0}'' version ''{1}'' is not supported ({2})
|
|
1514
|
-
INVALID_REGEX = The regex ''{0}'' is not valid: {1}
|
|
1514
|
+
INVALID_REGEX = The regex ''{0}'' is not valid: {1}
|
|
1515
|
+
INVALID_ECL = Invalid ECL expression: ''{0}'': ({1})
|
|
1516
|
+
UNSUPPORTED_ECL = The ECL expression is not supported: ''{0}'': ({1})
|
package/tx/cs/cs-api.js
CHANGED
|
@@ -579,11 +579,12 @@ class CodeSystemProvider {
|
|
|
579
579
|
* throws an exception if the search filter can't be handled
|
|
580
580
|
*
|
|
581
581
|
* @param {FilterExecutionContext} filterContext filtering context
|
|
582
|
+
* @param {boolean} forIteration - whether this filter is going to be iterated
|
|
582
583
|
* @param {String} prop
|
|
583
584
|
* @param {ValueSetFilterOperator} op
|
|
584
585
|
* @param {String} prop
|
|
585
586
|
**/
|
|
586
|
-
async filter(filterContext, prop, op, value) { throw new Error("Must override"); } // well, only if any filters are actually supported
|
|
587
|
+
async filter(filterContext, forIteration, prop, op, value) { throw new Error("Must override"); } // well, only if any filters are actually supported
|
|
587
588
|
|
|
588
589
|
/**
|
|
589
590
|
* called once all the filters have been handled, and iteration is about to happen.
|
package/tx/cs/cs-areacode.js
CHANGED
|
@@ -169,7 +169,7 @@ class AreaCodeServices extends CodeSystemProvider {
|
|
|
169
169
|
return (prop === 'type' || prop === 'class') && op === '=';
|
|
170
170
|
}
|
|
171
171
|
|
|
172
|
-
async filter(filterContext, prop, op, value) {
|
|
172
|
+
async filter(filterContext, forIteration, prop, op, value) {
|
|
173
173
|
|
|
174
174
|
assert(filterContext && filterContext instanceof FilterExecutionContext, 'filterContext must be a FilterExecutionContext');
|
|
175
175
|
assert(prop != null && typeof prop === 'string', 'prop must be a non-null string');
|
package/tx/cs/cs-country.js
CHANGED
|
@@ -188,7 +188,7 @@ class CountryCodeServices extends CodeSystemProvider {
|
|
|
188
188
|
}
|
|
189
189
|
|
|
190
190
|
|
|
191
|
-
async filter(filterContext, prop, op, value) {
|
|
191
|
+
async filter(filterContext, forIteration, prop, op, value) {
|
|
192
192
|
|
|
193
193
|
assert(filterContext && filterContext instanceof FilterExecutionContext, 'filterContext must be a FilterExecutionContext');
|
|
194
194
|
assert(prop != null && typeof prop === 'string', 'prop must be a non-null string');
|
package/tx/cs/cs-cpt.js
CHANGED
package/tx/cs/cs-cs.js
CHANGED
|
@@ -1217,7 +1217,7 @@ class FhirCodeSystemProvider extends BaseCSServices {
|
|
|
1217
1217
|
* @param {string} value - Filter value
|
|
1218
1218
|
* @returns {Promise<FhirCodeSystemProviderFilterContext>} Filter results
|
|
1219
1219
|
*/
|
|
1220
|
-
async filter(filterContext, prop, op, value) {
|
|
1220
|
+
async filter(filterContext, forIteration, prop, op, value) {
|
|
1221
1221
|
|
|
1222
1222
|
|
|
1223
1223
|
let results = null;
|
package/tx/cs/cs-currency.js
CHANGED
|
@@ -176,7 +176,7 @@ class Iso4217Services extends CodeSystemProvider {
|
|
|
176
176
|
return prop === 'decimals' && op === 'equals';
|
|
177
177
|
}
|
|
178
178
|
|
|
179
|
-
async filter(filterContext, prop, op, value) {
|
|
179
|
+
async filter(filterContext, forIteration, prop, op, value) {
|
|
180
180
|
|
|
181
181
|
assert(filterContext && filterContext instanceof FilterExecutionContext, 'filterContext must be a FilterExecutionContext');
|
|
182
182
|
assert(prop != null && typeof prop === 'string', 'prop must be a non-null string');
|
package/tx/cs/cs-hgvs.js
CHANGED
|
@@ -200,7 +200,7 @@ class HGVSServices extends CodeSystemProvider {
|
|
|
200
200
|
throw new Error('Filters are not supported for HGVS');
|
|
201
201
|
}
|
|
202
202
|
|
|
203
|
-
async filter(filterContext, prop, op, value) {
|
|
203
|
+
async filter(filterContext, forIteration, prop, op, value) {
|
|
204
204
|
|
|
205
205
|
throw new Error('Filters are not supported for HGVS');
|
|
206
206
|
}
|
package/tx/cs/cs-lang.js
CHANGED
|
@@ -259,7 +259,7 @@ class IETFLanguageCodeProvider extends CodeSystemProvider {
|
|
|
259
259
|
return false;
|
|
260
260
|
}
|
|
261
261
|
|
|
262
|
-
async filter(filterContext, prop, op, value) {
|
|
262
|
+
async filter(filterContext, forIteration, prop, op, value) {
|
|
263
263
|
|
|
264
264
|
assert(filterContext && filterContext instanceof FilterExecutionContext, 'filterContext must be a FilterExecutionContext');
|
|
265
265
|
assert(prop != null && typeof prop === 'string', 'prop must be a non-null string');
|
package/tx/cs/cs-loinc.js
CHANGED
|
@@ -658,7 +658,7 @@ class LoincServices extends BaseCSServices {
|
|
|
658
658
|
return new LoincPrep(iterate);
|
|
659
659
|
}
|
|
660
660
|
|
|
661
|
-
async filter(filterContext, prop, op, value) {
|
|
661
|
+
async filter(filterContext, forIteration, prop, op, value) {
|
|
662
662
|
const filter = new LoincFilterHolder();
|
|
663
663
|
await this.#executeFilterQuery(prop, op, value, filter);
|
|
664
664
|
filterContext.filters.push(filter);
|
package/tx/cs/cs-ndc.js
CHANGED
|
@@ -405,7 +405,7 @@ class NdcServices extends CodeSystemProvider {
|
|
|
405
405
|
['10-digit', '11-digit', 'product'].includes(value);
|
|
406
406
|
}
|
|
407
407
|
|
|
408
|
-
async filter(filterContext, prop, op, value) {
|
|
408
|
+
async filter(filterContext, forIteration, prop, op, value) {
|
|
409
409
|
|
|
410
410
|
|
|
411
411
|
if (prop === 'code-type' && op === '=') {
|
package/tx/cs/cs-omop.js
CHANGED
|
@@ -549,7 +549,7 @@ class OMOPServices extends BaseCSServices {
|
|
|
549
549
|
return new OMOPPrep(iterate);
|
|
550
550
|
}
|
|
551
551
|
|
|
552
|
-
async filter(filterContext, prop, op, value) {
|
|
552
|
+
async filter(filterContext, forIteration, prop, op, value) {
|
|
553
553
|
|
|
554
554
|
|
|
555
555
|
if (prop === 'domain' && op === '=') {
|
package/tx/cs/cs-rxnorm.js
CHANGED
|
@@ -366,7 +366,7 @@ class RxNormServices extends CodeSystemProvider {
|
|
|
366
366
|
return new RxNormPrep();
|
|
367
367
|
}
|
|
368
368
|
|
|
369
|
-
async filter(filterContext, prop, op, value) {
|
|
369
|
+
async filter(filterContext, forIteration, prop, op, value) {
|
|
370
370
|
|
|
371
371
|
|
|
372
372
|
const filter = new RxNormFilterHolder();
|