@metriport/fhir-sdk 1.6.2 → 1.7.0
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/dist/__tests__/careplan.test.js +24 -22
- package/dist/__tests__/careplan.test.js.map +1 -1
- package/dist/__tests__/clinical-dates.test.js +25 -23
- package/dist/__tests__/clinical-dates.test.js.map +1 -1
- package/dist/__tests__/coding-utilities.test.js +9 -7
- package/dist/__tests__/coding-utilities.test.js.map +1 -1
- package/dist/__tests__/date-range-performance.test.js +4 -2
- package/dist/__tests__/date-range-performance.test.js.map +1 -1
- package/dist/__tests__/date-range-search.test.js +15 -13
- package/dist/__tests__/date-range-search.test.js.map +1 -1
- package/dist/__tests__/env-setup.js +32 -4
- package/dist/__tests__/env-setup.js.map +1 -1
- package/dist/__tests__/fhir-bundle-sdk-basic.test.js +6 -4
- package/dist/__tests__/fhir-bundle-sdk-basic.test.js.map +1 -1
- package/dist/__tests__/fhir-bundle-sdk.test.js +87 -85
- package/dist/__tests__/fhir-bundle-sdk.test.js.map +1 -1
- package/dist/__tests__/fixtures/fhir-bundles.d.ts +1 -1
- package/dist/__tests__/fixtures/fhir-bundles.d.ts.map +1 -1
- package/dist/__tests__/fixtures/fhir-bundles.js +17 -11
- package/dist/__tests__/fixtures/fhir-bundles.js.map +1 -1
- package/dist/__tests__/phase1-verification.test.js +12 -10
- package/dist/__tests__/phase1-verification.test.js.map +1 -1
- package/dist/__tests__/phase2-verification.test.js +16 -14
- package/dist/__tests__/phase2-verification.test.js.map +1 -1
- package/dist/__tests__/phase3-verification.test.js +17 -15
- package/dist/__tests__/phase3-verification.test.js.map +1 -1
- package/dist/__tests__/phase4-verification.test.js +29 -27
- package/dist/__tests__/phase4-verification.test.js.map +1 -1
- package/dist/__tests__/phase5-verification.test.js +40 -38
- package/dist/__tests__/phase5-verification.test.js.map +1 -1
- package/dist/__tests__/reverse-references.test.js +31 -29
- package/dist/__tests__/reverse-references.test.js.map +1 -1
- package/dist/__tests__/type-guards.test.js +18 -16
- package/dist/__tests__/type-guards.test.js.map +1 -1
- package/dist/clinical-dates.js +5 -1
- package/dist/clinical-dates.js.map +1 -1
- package/dist/fhir-bundle-sdk.js +38 -34
- package/dist/fhir-bundle-sdk.js.map +1 -1
- package/dist/index.js +22 -4
- package/dist/index.js.map +1 -1
- package/dist/internal/bundle-operations.js +9 -3
- package/dist/internal/bundle-operations.js.map +1 -1
- package/dist/internal/coding-systems.d.ts +12 -12
- package/dist/internal/coding-systems.js +18 -15
- package/dist/internal/coding-systems.js.map +1 -1
- package/dist/internal/coding-utilities.js +23 -15
- package/dist/internal/coding-utilities.js.map +1 -1
- package/dist/internal/date-extraction.js +7 -2
- package/dist/internal/date-extraction.js.map +1 -1
- package/dist/internal/graph-traversal.js +7 -3
- package/dist/internal/graph-traversal.js.map +1 -1
- package/dist/internal/indexing.js +15 -9
- package/dist/internal/indexing.js.map +1 -1
- package/dist/internal/llm-context.js +17 -8
- package/dist/internal/llm-context.js.map +1 -1
- package/dist/internal/reference-resolution.js +32 -25
- package/dist/internal/reference-resolution.js.map +1 -1
- package/dist/internal/reference-utils.js +11 -4
- package/dist/internal/reference-utils.js.map +1 -1
- package/dist/internal/transparent-proxy.js +14 -10
- package/dist/internal/transparent-proxy.js.map +1 -1
- package/dist/internal/validation.js +8 -4
- package/dist/internal/validation.js.map +1 -1
- package/dist/type-guards.d.ts +134 -105
- package/dist/type-guards.d.ts.map +1 -1
- package/dist/type-guards.js +322 -26
- package/dist/type-guards.js.map +1 -1
- package/dist/types/coding-fields.js +2 -1
- package/dist/types/sdk-types.js +5 -1
- package/dist/types/sdk-types.js.map +1 -1
- package/dist/types/smart-resources.js +10 -5
- package/dist/types/smart-resources.js.map +1 -1
- package/dist/utils/interval-tree/index.js +19 -10
- package/dist/utils/interval-tree/index.js.map +1 -1
- package/dist/utils/interval-tree/shallowequal/arrays.js +4 -1
- package/dist/utils/interval-tree/shallowequal/arrays.js.map +1 -1
- package/dist/utils/interval-tree/shallowequal/index.js +13 -5
- package/dist/utils/interval-tree/shallowequal/index.js.map +1 -1
- package/dist/utils/interval-tree/shallowequal/objects.js +4 -1
- package/dist/utils/interval-tree/shallowequal/objects.js.map +1 -1
- package/package.json +4 -3
|
@@ -1,11 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1
3
|
/* eslint-disable @typescript-eslint/no-non-null-assertion */
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
4
|
+
const util_1 = require("util");
|
|
5
|
+
const index_1 = require("../index");
|
|
6
|
+
const fhir_bundles_1 = require("./fixtures/fhir-bundles");
|
|
5
7
|
describe("Phase 5 Verification - Smart Reference Resolution", () => {
|
|
6
8
|
describe("FR-5.1: Resources returned by SDK have additional getter methods for each Reference field", () => {
|
|
7
9
|
it("should add reference methods to Observation resources", async () => {
|
|
8
|
-
const sdk = await FhirBundleSdk.create(validCompleteBundle);
|
|
10
|
+
const sdk = await index_1.FhirBundleSdk.create(fhir_bundles_1.validCompleteBundle);
|
|
9
11
|
const observations = sdk.getObservations();
|
|
10
12
|
expect(observations.length).toBeGreaterThan(0);
|
|
11
13
|
const observation = observations[0];
|
|
@@ -14,7 +16,7 @@ describe("Phase 5 Verification - Smart Reference Resolution", () => {
|
|
|
14
16
|
expect(typeof observation.getPerformers).toBe("function");
|
|
15
17
|
});
|
|
16
18
|
it("should add reference methods to Encounter resources", async () => {
|
|
17
|
-
const sdk = await FhirBundleSdk.create(validCompleteBundle);
|
|
19
|
+
const sdk = await index_1.FhirBundleSdk.create(fhir_bundles_1.validCompleteBundle);
|
|
18
20
|
const encounters = sdk.getEncounters();
|
|
19
21
|
expect(encounters.length).toBeGreaterThan(0);
|
|
20
22
|
const encounter = encounters[0];
|
|
@@ -24,7 +26,7 @@ describe("Phase 5 Verification - Smart Reference Resolution", () => {
|
|
|
24
26
|
});
|
|
25
27
|
describe("FR-5.2: For Observation.subject reference, SDK adds getSubject() method", () => {
|
|
26
28
|
it("should resolve subject reference to Patient", async () => {
|
|
27
|
-
const sdk = await FhirBundleSdk.create(validCompleteBundle);
|
|
29
|
+
const sdk = await index_1.FhirBundleSdk.create(fhir_bundles_1.validCompleteBundle);
|
|
28
30
|
const observations = sdk.getObservations();
|
|
29
31
|
expect(observations.length).toBeGreaterThan(0);
|
|
30
32
|
const observation = observations[0];
|
|
@@ -36,7 +38,7 @@ describe("Phase 5 Verification - Smart Reference Resolution", () => {
|
|
|
36
38
|
});
|
|
37
39
|
describe("FR-5.3: For Observation.encounter reference, SDK adds getEncounter() method", () => {
|
|
38
40
|
it("should resolve encounter reference to Encounter", async () => {
|
|
39
|
-
const sdk = await FhirBundleSdk.create(validCompleteBundle);
|
|
41
|
+
const sdk = await index_1.FhirBundleSdk.create(fhir_bundles_1.validCompleteBundle);
|
|
40
42
|
const observations = sdk.getObservations();
|
|
41
43
|
expect(observations.length).toBeGreaterThan(0);
|
|
42
44
|
const observation = observations[0];
|
|
@@ -48,7 +50,7 @@ describe("Phase 5 Verification - Smart Reference Resolution", () => {
|
|
|
48
50
|
});
|
|
49
51
|
describe("FR-5.4: For Observation.performer reference array, SDK adds getPerformers() method", () => {
|
|
50
52
|
it("should resolve performer references to array of resources", async () => {
|
|
51
|
-
const sdk = await FhirBundleSdk.create(validCompleteBundle);
|
|
53
|
+
const sdk = await index_1.FhirBundleSdk.create(fhir_bundles_1.validCompleteBundle);
|
|
52
54
|
const observations = sdk.getObservations();
|
|
53
55
|
expect(observations.length).toBeGreaterThan(0);
|
|
54
56
|
const observation = observations[0];
|
|
@@ -61,7 +63,7 @@ describe("Phase 5 Verification - Smart Reference Resolution", () => {
|
|
|
61
63
|
});
|
|
62
64
|
describe("FR-5.5: Reference resolution methods handle both resource.id and fullUrl matching", () => {
|
|
63
65
|
it("should resolve references by resource.id", async () => {
|
|
64
|
-
const sdk = await FhirBundleSdk.create(validCompleteBundle);
|
|
66
|
+
const sdk = await index_1.FhirBundleSdk.create(fhir_bundles_1.validCompleteBundle);
|
|
65
67
|
const observations = sdk.getObservations();
|
|
66
68
|
expect(observations.length).toBeGreaterThan(0);
|
|
67
69
|
const observation = observations[0];
|
|
@@ -71,7 +73,7 @@ describe("Phase 5 Verification - Smart Reference Resolution", () => {
|
|
|
71
73
|
});
|
|
72
74
|
describe("FR-5.6: Reference resolution methods return undefined for unresolvable references", () => {
|
|
73
75
|
it("should return undefined for broken references", async () => {
|
|
74
|
-
const sdk = await FhirBundleSdk.create(bundleWithBrokenReferences);
|
|
76
|
+
const sdk = await index_1.FhirBundleSdk.create(fhir_bundles_1.bundleWithBrokenReferences);
|
|
75
77
|
const observations = sdk.getObservations();
|
|
76
78
|
if (observations.length > 0) {
|
|
77
79
|
const observation = observations[0];
|
|
@@ -80,7 +82,7 @@ describe("Phase 5 Verification - Smart Reference Resolution", () => {
|
|
|
80
82
|
}
|
|
81
83
|
});
|
|
82
84
|
it("should return empty array for missing array references", async () => {
|
|
83
|
-
const sdk = await FhirBundleSdk.create(bundleWithBrokenReferences);
|
|
85
|
+
const sdk = await index_1.FhirBundleSdk.create(fhir_bundles_1.bundleWithBrokenReferences);
|
|
84
86
|
const observations = sdk.getObservations();
|
|
85
87
|
if (observations.length > 0) {
|
|
86
88
|
const observation = observations[0];
|
|
@@ -92,19 +94,19 @@ describe("Phase 5 Verification - Smart Reference Resolution", () => {
|
|
|
92
94
|
});
|
|
93
95
|
describe("FR-5.7: Reference resolution operates in O(1) time complexity per reference", () => {
|
|
94
96
|
it("should resolve references in O(1) time", async () => {
|
|
95
|
-
const sdk = await FhirBundleSdk.create(validCompleteBundle);
|
|
97
|
+
const sdk = await index_1.FhirBundleSdk.create(fhir_bundles_1.validCompleteBundle);
|
|
96
98
|
const observations = sdk.getObservations();
|
|
97
99
|
expect(observations.length).toBeGreaterThan(0);
|
|
98
100
|
const observation = observations[0];
|
|
99
101
|
const start = performance.now();
|
|
100
102
|
observation.getSubject();
|
|
101
103
|
const end = performance.now();
|
|
102
|
-
expect(end - start).toBeLessThan(CONSTANT_TIME_EXPECTED_THRESHOLD_MS);
|
|
104
|
+
expect(end - start).toBeLessThan(fhir_bundles_1.CONSTANT_TIME_EXPECTED_THRESHOLD_MS);
|
|
103
105
|
});
|
|
104
106
|
});
|
|
105
107
|
describe("FR-5.8: Original reference fields remain unchanged", () => {
|
|
106
108
|
it("should preserve original reference fields", async () => {
|
|
107
|
-
const sdk = await FhirBundleSdk.create(validCompleteBundle);
|
|
109
|
+
const sdk = await index_1.FhirBundleSdk.create(fhir_bundles_1.validCompleteBundle);
|
|
108
110
|
const observations = sdk.getObservations();
|
|
109
111
|
expect(observations.length).toBeGreaterThan(0);
|
|
110
112
|
const observation = observations[0];
|
|
@@ -113,7 +115,7 @@ describe("Phase 5 Verification - Smart Reference Resolution", () => {
|
|
|
113
115
|
expect(observation.performer).toEqual([{ reference: "Practitioner/practitioner-456" }]);
|
|
114
116
|
});
|
|
115
117
|
it("should not include getter methods in JSON serialization", async () => {
|
|
116
|
-
const sdk = await FhirBundleSdk.create(validCompleteBundle);
|
|
118
|
+
const sdk = await index_1.FhirBundleSdk.create(fhir_bundles_1.validCompleteBundle);
|
|
117
119
|
const observations = sdk.getObservations();
|
|
118
120
|
expect(observations.length).toBeGreaterThan(0);
|
|
119
121
|
const observation = observations[0];
|
|
@@ -125,7 +127,7 @@ describe("Phase 5 Verification - Smart Reference Resolution", () => {
|
|
|
125
127
|
});
|
|
126
128
|
describe("Reference Chaining", () => {
|
|
127
129
|
it("should support chaining through resolved references", async () => {
|
|
128
|
-
const sdk = await FhirBundleSdk.create(validCompleteBundle);
|
|
130
|
+
const sdk = await index_1.FhirBundleSdk.create(fhir_bundles_1.validCompleteBundle);
|
|
129
131
|
const observations = sdk.getObservations();
|
|
130
132
|
expect(observations.length).toBeGreaterThan(0);
|
|
131
133
|
const observation = observations[0];
|
|
@@ -136,7 +138,7 @@ describe("Phase 5 Verification - Smart Reference Resolution", () => {
|
|
|
136
138
|
expect(patientViaChain?.id).toBe("patient-123");
|
|
137
139
|
});
|
|
138
140
|
it("should handle broken chains gracefully", async () => {
|
|
139
|
-
const sdk = await FhirBundleSdk.create(bundleWithBrokenReferences);
|
|
141
|
+
const sdk = await index_1.FhirBundleSdk.create(fhir_bundles_1.bundleWithBrokenReferences);
|
|
140
142
|
const observations = sdk.getObservations();
|
|
141
143
|
if (observations.length > 0) {
|
|
142
144
|
const observation = observations[0];
|
|
@@ -147,19 +149,19 @@ describe("Phase 5 Verification - Smart Reference Resolution", () => {
|
|
|
147
149
|
});
|
|
148
150
|
describe("Smart Resource Identity and Caching", () => {
|
|
149
151
|
it("should maintain object identity for cached resources", async () => {
|
|
150
|
-
const sdk = await FhirBundleSdk.create(validCompleteBundle);
|
|
152
|
+
const sdk = await index_1.FhirBundleSdk.create(fhir_bundles_1.validCompleteBundle);
|
|
151
153
|
const observation1 = sdk.getObservations()[0];
|
|
152
154
|
const observation2 = sdk.getObservations()[0];
|
|
153
155
|
expect(observation1).toBe(observation2);
|
|
154
156
|
});
|
|
155
157
|
it("should maintain consistency across different access methods", async () => {
|
|
156
|
-
const sdk = await FhirBundleSdk.create(validCompleteBundle);
|
|
158
|
+
const sdk = await index_1.FhirBundleSdk.create(fhir_bundles_1.validCompleteBundle);
|
|
157
159
|
const observationFromList = sdk.getObservations()[0];
|
|
158
160
|
const observationById = sdk.getResourceById("observation-001");
|
|
159
161
|
expect(observationFromList).toBe(observationById);
|
|
160
162
|
});
|
|
161
163
|
it("should cache resolved references", async () => {
|
|
162
|
-
const sdk = await FhirBundleSdk.create(validCompleteBundle);
|
|
164
|
+
const sdk = await index_1.FhirBundleSdk.create(fhir_bundles_1.validCompleteBundle);
|
|
163
165
|
const observations = sdk.getObservations();
|
|
164
166
|
expect(observations.length).toBeGreaterThan(0);
|
|
165
167
|
const observation = observations[0];
|
|
@@ -170,7 +172,7 @@ describe("Phase 5 Verification - Smart Reference Resolution", () => {
|
|
|
170
172
|
});
|
|
171
173
|
describe("Array Reference Chaining", () => {
|
|
172
174
|
it("should support chaining through array elements", async () => {
|
|
173
|
-
const sdk = await FhirBundleSdk.create(validCompleteBundle);
|
|
175
|
+
const sdk = await index_1.FhirBundleSdk.create(fhir_bundles_1.validCompleteBundle);
|
|
174
176
|
const reports = sdk.getDiagnosticReports();
|
|
175
177
|
if (reports.length > 0) {
|
|
176
178
|
const report = reports[0];
|
|
@@ -187,7 +189,7 @@ describe("Phase 5 Verification - Smart Reference Resolution", () => {
|
|
|
187
189
|
});
|
|
188
190
|
describe("Smart Resource Marker", () => {
|
|
189
191
|
it("should mark resources as smart resources", async () => {
|
|
190
|
-
const sdk = await FhirBundleSdk.create(validCompleteBundle);
|
|
192
|
+
const sdk = await index_1.FhirBundleSdk.create(fhir_bundles_1.validCompleteBundle);
|
|
191
193
|
const observations = sdk.getObservations();
|
|
192
194
|
expect(observations.length).toBeGreaterThan(0);
|
|
193
195
|
const observation = observations[0];
|
|
@@ -197,7 +199,7 @@ describe("Phase 5 Verification - Smart Reference Resolution", () => {
|
|
|
197
199
|
});
|
|
198
200
|
describe("Smart Resource toString() method", () => {
|
|
199
201
|
it("should render resources without proxy limitations", async () => {
|
|
200
|
-
const sdk = await FhirBundleSdk.create(validCompleteBundle);
|
|
202
|
+
const sdk = await index_1.FhirBundleSdk.create(fhir_bundles_1.validCompleteBundle);
|
|
201
203
|
const observations = sdk.getObservations();
|
|
202
204
|
expect(observations.length).toBeGreaterThan(0);
|
|
203
205
|
const observation = observations[0];
|
|
@@ -209,7 +211,7 @@ describe("Phase 5 Verification - Smart Reference Resolution", () => {
|
|
|
209
211
|
expect(stringified).not.toContain("getSubject");
|
|
210
212
|
});
|
|
211
213
|
it("should render nested objects deeply", async () => {
|
|
212
|
-
const sdk = await FhirBundleSdk.create(validCompleteBundle);
|
|
214
|
+
const sdk = await index_1.FhirBundleSdk.create(fhir_bundles_1.validCompleteBundle);
|
|
213
215
|
const observation = sdk.getObservationById("observation-001");
|
|
214
216
|
expect(observation).toBeDefined();
|
|
215
217
|
const stringified = observation.toString();
|
|
@@ -220,7 +222,7 @@ describe("Phase 5 Verification - Smart Reference Resolution", () => {
|
|
|
220
222
|
expect(parsed.encounter.reference).toBeDefined();
|
|
221
223
|
});
|
|
222
224
|
it("should support custom spacing", async () => {
|
|
223
|
-
const sdk = await FhirBundleSdk.create(validCompleteBundle);
|
|
225
|
+
const sdk = await index_1.FhirBundleSdk.create(fhir_bundles_1.validCompleteBundle);
|
|
224
226
|
const observation = sdk.getObservationById("observation-001");
|
|
225
227
|
expect(observation).toBeDefined();
|
|
226
228
|
const compactString = observation.toString(0);
|
|
@@ -230,7 +232,7 @@ describe("Phase 5 Verification - Smart Reference Resolution", () => {
|
|
|
230
232
|
expect(spacedString).toContain("\n");
|
|
231
233
|
});
|
|
232
234
|
it("should render complex nested structures", async () => {
|
|
233
|
-
const sdk = await FhirBundleSdk.create(validCompleteBundle);
|
|
235
|
+
const sdk = await index_1.FhirBundleSdk.create(fhir_bundles_1.validCompleteBundle);
|
|
234
236
|
const patients = sdk.getPatients();
|
|
235
237
|
expect(patients.length).toBeGreaterThan(0);
|
|
236
238
|
const patient = patients[0];
|
|
@@ -243,11 +245,11 @@ describe("Phase 5 Verification - Smart Reference Resolution", () => {
|
|
|
243
245
|
}
|
|
244
246
|
});
|
|
245
247
|
it("should automatically format for console.log and REPL via util.inspect", async () => {
|
|
246
|
-
const sdk = await FhirBundleSdk.create(validCompleteBundle);
|
|
248
|
+
const sdk = await index_1.FhirBundleSdk.create(fhir_bundles_1.validCompleteBundle);
|
|
247
249
|
const observation = sdk.getObservationById("observation-001");
|
|
248
250
|
expect(observation).toBeDefined();
|
|
249
251
|
// util.inspect is what console.log and REPL use under the hood
|
|
250
|
-
const inspected = inspect(observation);
|
|
252
|
+
const inspected = (0, util_1.inspect)(observation);
|
|
251
253
|
// Should be formatted as readable object output, not [Object] or [Proxy]
|
|
252
254
|
expect(inspected).toContain("resourceType:");
|
|
253
255
|
expect(inspected).toContain("Observation");
|
|
@@ -260,7 +262,7 @@ describe("Phase 5 Verification - Smart Reference Resolution", () => {
|
|
|
260
262
|
describe("Nested Reference Path Resolution", () => {
|
|
261
263
|
describe("Encounter.diagnosis.condition", () => {
|
|
262
264
|
it("should resolve diagnosis.condition nested array reference", async () => {
|
|
263
|
-
const sdk = await FhirBundleSdk.create(validCompleteBundle);
|
|
265
|
+
const sdk = await index_1.FhirBundleSdk.create(fhir_bundles_1.validCompleteBundle);
|
|
264
266
|
const encounters = sdk.getEncounters();
|
|
265
267
|
expect(encounters.length).toBeGreaterThan(0);
|
|
266
268
|
const encounter = encounters[0];
|
|
@@ -272,7 +274,7 @@ describe("Phase 5 Verification - Smart Reference Resolution", () => {
|
|
|
272
274
|
expect(conditions[0]?.id).toBe("condition-222");
|
|
273
275
|
});
|
|
274
276
|
it("should preserve original diagnosis array field", async () => {
|
|
275
|
-
const sdk = await FhirBundleSdk.create(validCompleteBundle);
|
|
277
|
+
const sdk = await index_1.FhirBundleSdk.create(fhir_bundles_1.validCompleteBundle);
|
|
276
278
|
const encounters = sdk.getEncounters();
|
|
277
279
|
expect(encounters.length).toBeGreaterThan(0);
|
|
278
280
|
const encounter = encounters[0];
|
|
@@ -285,7 +287,7 @@ describe("Phase 5 Verification - Smart Reference Resolution", () => {
|
|
|
285
287
|
});
|
|
286
288
|
describe("Encounter.participant.individual", () => {
|
|
287
289
|
it("should resolve participant.individual nested array reference", async () => {
|
|
288
|
-
const sdk = await FhirBundleSdk.create(validCompleteBundle);
|
|
290
|
+
const sdk = await index_1.FhirBundleSdk.create(fhir_bundles_1.validCompleteBundle);
|
|
289
291
|
const encounters = sdk.getEncounters();
|
|
290
292
|
expect(encounters.length).toBeGreaterThan(0);
|
|
291
293
|
const encounter = encounters[0];
|
|
@@ -299,7 +301,7 @@ describe("Phase 5 Verification - Smart Reference Resolution", () => {
|
|
|
299
301
|
});
|
|
300
302
|
describe("Encounter.location.location", () => {
|
|
301
303
|
it("should resolve location.location nested array reference", async () => {
|
|
302
|
-
const sdk = await FhirBundleSdk.create(validCompleteBundle);
|
|
304
|
+
const sdk = await index_1.FhirBundleSdk.create(fhir_bundles_1.validCompleteBundle);
|
|
303
305
|
const encounters = sdk.getEncounters();
|
|
304
306
|
expect(encounters.length).toBeGreaterThan(0);
|
|
305
307
|
const encounter = encounters[0];
|
|
@@ -313,7 +315,7 @@ describe("Phase 5 Verification - Smart Reference Resolution", () => {
|
|
|
313
315
|
});
|
|
314
316
|
describe("Encounter.hospitalization.origin", () => {
|
|
315
317
|
it("should resolve hospitalization.origin nested single reference", async () => {
|
|
316
|
-
const sdk = await FhirBundleSdk.create(validCompleteBundle);
|
|
318
|
+
const sdk = await index_1.FhirBundleSdk.create(fhir_bundles_1.validCompleteBundle);
|
|
317
319
|
const encounters = sdk.getEncounters();
|
|
318
320
|
expect(encounters.length).toBeGreaterThan(0);
|
|
319
321
|
const encounter = encounters[0];
|
|
@@ -326,7 +328,7 @@ describe("Phase 5 Verification - Smart Reference Resolution", () => {
|
|
|
326
328
|
});
|
|
327
329
|
describe("Encounter.hospitalization.destination", () => {
|
|
328
330
|
it("should resolve hospitalization.destination nested single reference", async () => {
|
|
329
|
-
const sdk = await FhirBundleSdk.create(validCompleteBundle);
|
|
331
|
+
const sdk = await index_1.FhirBundleSdk.create(fhir_bundles_1.validCompleteBundle);
|
|
330
332
|
const encounters = sdk.getEncounters();
|
|
331
333
|
expect(encounters.length).toBeGreaterThan(0);
|
|
332
334
|
const encounter = encounters[0];
|
|
@@ -339,7 +341,7 @@ describe("Phase 5 Verification - Smart Reference Resolution", () => {
|
|
|
339
341
|
});
|
|
340
342
|
describe("Patient.contact.organization", () => {
|
|
341
343
|
it("should resolve contact.organization nested array reference", async () => {
|
|
342
|
-
const sdk = await FhirBundleSdk.create(validCompleteBundle);
|
|
344
|
+
const sdk = await index_1.FhirBundleSdk.create(fhir_bundles_1.validCompleteBundle);
|
|
343
345
|
const patients = sdk.getPatients();
|
|
344
346
|
expect(patients.length).toBeGreaterThan(0);
|
|
345
347
|
const patient = patients[0];
|
|
@@ -353,7 +355,7 @@ describe("Phase 5 Verification - Smart Reference Resolution", () => {
|
|
|
353
355
|
});
|
|
354
356
|
describe("Practitioner.qualification.issuer", () => {
|
|
355
357
|
it("should resolve qualification.issuer nested array reference", async () => {
|
|
356
|
-
const sdk = await FhirBundleSdk.create(validCompleteBundle);
|
|
358
|
+
const sdk = await index_1.FhirBundleSdk.create(fhir_bundles_1.validCompleteBundle);
|
|
357
359
|
const practitioners = sdk.getPractitioners();
|
|
358
360
|
expect(practitioners.length).toBeGreaterThan(0);
|
|
359
361
|
const practitioner = practitioners[0];
|
|
@@ -367,7 +369,7 @@ describe("Phase 5 Verification - Smart Reference Resolution", () => {
|
|
|
367
369
|
});
|
|
368
370
|
describe("Missing nested references", () => {
|
|
369
371
|
it("should return empty array when nested array reference field is missing", async () => {
|
|
370
|
-
const sdk = await FhirBundleSdk.create(validCompleteBundle);
|
|
372
|
+
const sdk = await index_1.FhirBundleSdk.create(fhir_bundles_1.validCompleteBundle);
|
|
371
373
|
const diagnosticReports = sdk.getDiagnosticReports();
|
|
372
374
|
expect(diagnosticReports.length).toBeGreaterThan(0);
|
|
373
375
|
const report = diagnosticReports[0];
|
|
@@ -378,7 +380,7 @@ describe("Phase 5 Verification - Smart Reference Resolution", () => {
|
|
|
378
380
|
expect(mediaLinks.length).toBe(0);
|
|
379
381
|
});
|
|
380
382
|
it("should return undefined when nested single reference field is missing", async () => {
|
|
381
|
-
const sdk = await FhirBundleSdk.create(validCompleteBundle);
|
|
383
|
+
const sdk = await index_1.FhirBundleSdk.create(fhir_bundles_1.validCompleteBundle);
|
|
382
384
|
const patients = sdk.getPatients();
|
|
383
385
|
expect(patients.length).toBeGreaterThan(0);
|
|
384
386
|
const patient = patients[0];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"phase5-verification.test.js","sourceRoot":"","sources":["../../src/__tests__/phase5-verification.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"phase5-verification.test.js","sourceRoot":"","sources":["../../src/__tests__/phase5-verification.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1
3
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
|
-
|
|
3
|
-
|
|
4
|
+
const index_1 = require("../index");
|
|
5
|
+
const fhir_bundles_1 = require("./fixtures/fhir-bundles");
|
|
4
6
|
describe("Reverse References", () => {
|
|
5
7
|
describe("getResourcesReferencingId - basic functionality", () => {
|
|
6
8
|
it("should return all resources that reference a given resource ID", async () => {
|
|
7
|
-
const sdk = await FhirBundleSdk.create(validCompleteBundle);
|
|
9
|
+
const sdk = await index_1.FhirBundleSdk.create(fhir_bundles_1.validCompleteBundle);
|
|
8
10
|
// patient-123 is referenced by:
|
|
9
11
|
// - encounter-789 (subject)
|
|
10
12
|
// - observation-001 (subject)
|
|
@@ -15,12 +17,12 @@ describe("Reverse References", () => {
|
|
|
15
17
|
expect(resourceTypes).toEqual(["Condition", "DiagnosticReport", "Encounter", "Observation"]);
|
|
16
18
|
});
|
|
17
19
|
it("should return empty array when no resources reference the given ID", async () => {
|
|
18
|
-
const sdk = await FhirBundleSdk.create(validCompleteBundle);
|
|
20
|
+
const sdk = await index_1.FhirBundleSdk.create(fhir_bundles_1.validCompleteBundle);
|
|
19
21
|
const referencingResources = sdk.getResourcesReferencingId("nonexistent-id");
|
|
20
22
|
expect(referencingResources).toEqual([]);
|
|
21
23
|
});
|
|
22
24
|
it("should handle resources referenced by multiple other resources", async () => {
|
|
23
|
-
const sdk = await FhirBundleSdk.create(validCompleteBundle);
|
|
25
|
+
const sdk = await index_1.FhirBundleSdk.create(fhir_bundles_1.validCompleteBundle);
|
|
24
26
|
// encounter-789 is referenced by:
|
|
25
27
|
// - observation-001 (encounter)
|
|
26
28
|
// - diagnostic-report-002 (encounter)
|
|
@@ -29,7 +31,7 @@ describe("Reverse References", () => {
|
|
|
29
31
|
expect(referencingResources.every(r => r.resourceType === "Observation" || r.resourceType === "DiagnosticReport")).toBe(true);
|
|
30
32
|
});
|
|
31
33
|
it("should handle resources referenced by array fields", async () => {
|
|
32
|
-
const sdk = await FhirBundleSdk.create(validCompleteBundle);
|
|
34
|
+
const sdk = await index_1.FhirBundleSdk.create(fhir_bundles_1.validCompleteBundle);
|
|
33
35
|
// practitioner-456 is referenced by:
|
|
34
36
|
// - encounter-789 (participant array)
|
|
35
37
|
// - observation-001 (performer array)
|
|
@@ -40,7 +42,7 @@ describe("Reverse References", () => {
|
|
|
40
42
|
});
|
|
41
43
|
describe("getResourcesReferencingId - filtering by resource type", () => {
|
|
42
44
|
it("should filter by source resource type", async () => {
|
|
43
|
-
const sdk = await FhirBundleSdk.create(validCompleteBundle);
|
|
45
|
+
const sdk = await index_1.FhirBundleSdk.create(fhir_bundles_1.validCompleteBundle);
|
|
44
46
|
// Get only Observations that reference patient-123
|
|
45
47
|
const observations = sdk.getResourcesReferencingId("patient-123", {
|
|
46
48
|
resourceType: "Observation",
|
|
@@ -50,7 +52,7 @@ describe("Reverse References", () => {
|
|
|
50
52
|
expect(observations[0]?.id).toBe("observation-001");
|
|
51
53
|
});
|
|
52
54
|
it("should return empty array when filtering by type with no matches", async () => {
|
|
53
|
-
const sdk = await FhirBundleSdk.create(validCompleteBundle);
|
|
55
|
+
const sdk = await index_1.FhirBundleSdk.create(fhir_bundles_1.validCompleteBundle);
|
|
54
56
|
// No Practitioners reference patient-123
|
|
55
57
|
const practitioners = sdk.getResourcesReferencingId("patient-123", {
|
|
56
58
|
resourceType: "Practitioner",
|
|
@@ -58,7 +60,7 @@ describe("Reverse References", () => {
|
|
|
58
60
|
expect(practitioners).toEqual([]);
|
|
59
61
|
});
|
|
60
62
|
it("should handle multiple resources of same type referencing target", async () => {
|
|
61
|
-
const sdk = await FhirBundleSdk.create(mixedResourceTypesBundle);
|
|
63
|
+
const sdk = await index_1.FhirBundleSdk.create(fhir_bundles_1.mixedResourceTypesBundle);
|
|
62
64
|
// patient-mix-1 is referenced by observation-mix-1 and observation-mix-2
|
|
63
65
|
const observations = sdk.getResourcesReferencingId("patient-mix-1", {
|
|
64
66
|
resourceType: "Observation",
|
|
@@ -69,7 +71,7 @@ describe("Reverse References", () => {
|
|
|
69
71
|
});
|
|
70
72
|
describe("getResourcesReferencingId - filtering by reference field", () => {
|
|
71
73
|
it("should filter by specific reference field", async () => {
|
|
72
|
-
const sdk = await FhirBundleSdk.create(validCompleteBundle);
|
|
74
|
+
const sdk = await index_1.FhirBundleSdk.create(fhir_bundles_1.validCompleteBundle);
|
|
73
75
|
// Get only resources that reference patient-123 via "subject" field
|
|
74
76
|
const subjectReferences = sdk.getResourcesReferencingId("patient-123", {
|
|
75
77
|
referenceField: "subject",
|
|
@@ -81,7 +83,7 @@ describe("Reverse References", () => {
|
|
|
81
83
|
})).toBe(true);
|
|
82
84
|
});
|
|
83
85
|
it("should filter by nested reference field", async () => {
|
|
84
|
-
const sdk = await FhirBundleSdk.create(validCompleteBundle);
|
|
86
|
+
const sdk = await index_1.FhirBundleSdk.create(fhir_bundles_1.validCompleteBundle);
|
|
85
87
|
// Get only resources that reference practitioner-456 via "performer" field
|
|
86
88
|
const performerReferences = sdk.getResourcesReferencingId("practitioner-456", {
|
|
87
89
|
referenceField: "performer",
|
|
@@ -89,7 +91,7 @@ describe("Reverse References", () => {
|
|
|
89
91
|
expect(performerReferences.length).toBeGreaterThan(0);
|
|
90
92
|
});
|
|
91
93
|
it("should return empty array when field does not match", async () => {
|
|
92
|
-
const sdk = await FhirBundleSdk.create(validCompleteBundle);
|
|
94
|
+
const sdk = await index_1.FhirBundleSdk.create(fhir_bundles_1.validCompleteBundle);
|
|
93
95
|
// No resources reference patient-123 via "performer" field
|
|
94
96
|
const performerReferences = sdk.getResourcesReferencingId("patient-123", {
|
|
95
97
|
referenceField: "performer",
|
|
@@ -99,7 +101,7 @@ describe("Reverse References", () => {
|
|
|
99
101
|
});
|
|
100
102
|
describe("getResourcesReferencingId - combined filters", () => {
|
|
101
103
|
it("should apply both resourceType and referenceField filters", async () => {
|
|
102
|
-
const sdk = await FhirBundleSdk.create(validCompleteBundle);
|
|
104
|
+
const sdk = await index_1.FhirBundleSdk.create(fhir_bundles_1.validCompleteBundle);
|
|
103
105
|
// Get only Observations that reference patient-123 via "subject"
|
|
104
106
|
const observations = sdk.getResourcesReferencingId("patient-123", {
|
|
105
107
|
resourceType: "Observation",
|
|
@@ -112,13 +114,13 @@ describe("Reverse References", () => {
|
|
|
112
114
|
});
|
|
113
115
|
describe("Smart resource getReferencingResources method", () => {
|
|
114
116
|
it("should expose getReferencingResources on smart resources", async () => {
|
|
115
|
-
const sdk = await FhirBundleSdk.create(validCompleteBundle);
|
|
117
|
+
const sdk = await index_1.FhirBundleSdk.create(fhir_bundles_1.validCompleteBundle);
|
|
116
118
|
const patient = sdk.getPatientById("patient-123");
|
|
117
119
|
expect(patient).toBeDefined();
|
|
118
120
|
expect(typeof patient.getReferencingResources).toBe("function");
|
|
119
121
|
});
|
|
120
122
|
it("should return all resources referencing the smart resource", async () => {
|
|
121
|
-
const sdk = await FhirBundleSdk.create(validCompleteBundle);
|
|
123
|
+
const sdk = await index_1.FhirBundleSdk.create(fhir_bundles_1.validCompleteBundle);
|
|
122
124
|
const patient = sdk.getPatientById("patient-123");
|
|
123
125
|
const referencingResources = patient.getReferencingResources();
|
|
124
126
|
expect(referencingResources).toHaveLength(4);
|
|
@@ -126,7 +128,7 @@ describe("Reverse References", () => {
|
|
|
126
128
|
expect(resourceTypes).toEqual(["Condition", "DiagnosticReport", "Encounter", "Observation"]);
|
|
127
129
|
});
|
|
128
130
|
it("should support filtering options on smart resource method", async () => {
|
|
129
|
-
const sdk = await FhirBundleSdk.create(validCompleteBundle);
|
|
131
|
+
const sdk = await index_1.FhirBundleSdk.create(fhir_bundles_1.validCompleteBundle);
|
|
130
132
|
const patient = sdk.getPatientById("patient-123");
|
|
131
133
|
const observations = patient.getReferencingResources({
|
|
132
134
|
resourceType: "Observation",
|
|
@@ -135,7 +137,7 @@ describe("Reverse References", () => {
|
|
|
135
137
|
expect(observations[0].resourceType).toBe("Observation");
|
|
136
138
|
});
|
|
137
139
|
it("should support referenceField filtering on smart resource method", async () => {
|
|
138
|
-
const sdk = await FhirBundleSdk.create(validCompleteBundle);
|
|
140
|
+
const sdk = await index_1.FhirBundleSdk.create(fhir_bundles_1.validCompleteBundle);
|
|
139
141
|
const patient = sdk.getPatientById("patient-123");
|
|
140
142
|
const subjectReferences = patient.getReferencingResources({
|
|
141
143
|
referenceField: "subject",
|
|
@@ -143,14 +145,14 @@ describe("Reverse References", () => {
|
|
|
143
145
|
expect(subjectReferences).toHaveLength(4);
|
|
144
146
|
});
|
|
145
147
|
it("should return empty array when smart resource is not referenced", async () => {
|
|
146
|
-
const sdk = await FhirBundleSdk.create(validCompleteBundle);
|
|
148
|
+
const sdk = await index_1.FhirBundleSdk.create(fhir_bundles_1.validCompleteBundle);
|
|
147
149
|
const practitioner = sdk.getPractitionerById("practitioner-456");
|
|
148
150
|
// Check if the method exists and returns an array
|
|
149
151
|
const pracReferences = practitioner.getReferencingResources();
|
|
150
152
|
expect(Array.isArray(pracReferences)).toBe(true);
|
|
151
153
|
});
|
|
152
154
|
it("should work with resources that have no ID", async () => {
|
|
153
|
-
const sdk = await FhirBundleSdk.create(validCompleteBundle);
|
|
155
|
+
const sdk = await index_1.FhirBundleSdk.create(fhir_bundles_1.validCompleteBundle);
|
|
154
156
|
const observation = sdk.getObservationById("observation-001");
|
|
155
157
|
const referencingResources = observation.getReferencingResources();
|
|
156
158
|
// observation-001 is referenced by diagnostic-report-002 in the "result" field
|
|
@@ -173,7 +175,7 @@ describe("Reverse References", () => {
|
|
|
173
175
|
},
|
|
174
176
|
],
|
|
175
177
|
};
|
|
176
|
-
const sdk = await FhirBundleSdk.create(bundle);
|
|
178
|
+
const sdk = await index_1.FhirBundleSdk.create(bundle);
|
|
177
179
|
const referencingResources = sdk.getResourcesReferencingId("patient-solo");
|
|
178
180
|
expect(referencingResources).toEqual([]);
|
|
179
181
|
});
|
|
@@ -203,7 +205,7 @@ describe("Reverse References", () => {
|
|
|
203
205
|
},
|
|
204
206
|
],
|
|
205
207
|
};
|
|
206
|
-
const sdk = await FhirBundleSdk.create(bundle);
|
|
208
|
+
const sdk = await index_1.FhirBundleSdk.create(bundle);
|
|
207
209
|
// Should work with resource ID
|
|
208
210
|
const referencingById = sdk.getResourcesReferencingId("patient-fullurl-test");
|
|
209
211
|
expect(referencingById).toHaveLength(1);
|
|
@@ -212,7 +214,7 @@ describe("Reverse References", () => {
|
|
|
212
214
|
expect(referencingByFullUrl).toHaveLength(1);
|
|
213
215
|
});
|
|
214
216
|
it("should return smart resources from reverse lookup", async () => {
|
|
215
|
-
const sdk = await FhirBundleSdk.create(validCompleteBundle);
|
|
217
|
+
const sdk = await index_1.FhirBundleSdk.create(fhir_bundles_1.validCompleteBundle);
|
|
216
218
|
const referencingResources = sdk.getResourcesReferencingId("patient-123");
|
|
217
219
|
// Check that returned resources are smart resources
|
|
218
220
|
expect(referencingResources.length).toBeGreaterThan(0);
|
|
@@ -221,7 +223,7 @@ describe("Reverse References", () => {
|
|
|
221
223
|
});
|
|
222
224
|
describe("Performance", () => {
|
|
223
225
|
it("should perform reverse lookup in constant time", async () => {
|
|
224
|
-
const sdk = await FhirBundleSdk.create(validCompleteBundle);
|
|
226
|
+
const sdk = await index_1.FhirBundleSdk.create(fhir_bundles_1.validCompleteBundle);
|
|
225
227
|
const iterations = 100;
|
|
226
228
|
const times = [];
|
|
227
229
|
for (let i = 0; i < iterations; i++) {
|
|
@@ -237,13 +239,13 @@ describe("Reverse References", () => {
|
|
|
237
239
|
});
|
|
238
240
|
describe("getReferencedResources - forward reference lookup", () => {
|
|
239
241
|
it("should expose getReferencedResources on smart resources", async () => {
|
|
240
|
-
const sdk = await FhirBundleSdk.create(validCompleteBundle);
|
|
242
|
+
const sdk = await index_1.FhirBundleSdk.create(fhir_bundles_1.validCompleteBundle);
|
|
241
243
|
const observation = sdk.getObservationById("observation-001");
|
|
242
244
|
expect(observation).toBeDefined();
|
|
243
245
|
expect(typeof observation.getReferencedResources).toBe("function");
|
|
244
246
|
});
|
|
245
247
|
it("should return all resources referenced by a resource", async () => {
|
|
246
|
-
const sdk = await FhirBundleSdk.create(validCompleteBundle);
|
|
248
|
+
const sdk = await index_1.FhirBundleSdk.create(fhir_bundles_1.validCompleteBundle);
|
|
247
249
|
const observation = sdk.getObservationById("observation-001");
|
|
248
250
|
const referencedResources = observation.getReferencedResources();
|
|
249
251
|
// observation-001 references:
|
|
@@ -255,14 +257,14 @@ describe("Reverse References", () => {
|
|
|
255
257
|
expect(resourceTypes.has("Patient")).toBe(true);
|
|
256
258
|
});
|
|
257
259
|
it("should return empty array for resources with no references", async () => {
|
|
258
|
-
const sdk = await FhirBundleSdk.create(validCompleteBundle);
|
|
260
|
+
const sdk = await index_1.FhirBundleSdk.create(fhir_bundles_1.validCompleteBundle);
|
|
259
261
|
const patient = sdk.getPatientById("patient-123");
|
|
260
262
|
const referencedResources = patient.getReferencedResources();
|
|
261
263
|
// Patient may have no outgoing references or very few
|
|
262
264
|
expect(Array.isArray(referencedResources)).toBe(true);
|
|
263
265
|
});
|
|
264
266
|
it("should work with SDK-level method getResourcesReferencedBy", async () => {
|
|
265
|
-
const sdk = await FhirBundleSdk.create(validCompleteBundle);
|
|
267
|
+
const sdk = await index_1.FhirBundleSdk.create(fhir_bundles_1.validCompleteBundle);
|
|
266
268
|
const observation = sdk.getObservationById("observation-001");
|
|
267
269
|
expect(observation).toBeDefined();
|
|
268
270
|
if (!observation) {
|
|
@@ -273,7 +275,7 @@ describe("Reverse References", () => {
|
|
|
273
275
|
expect(referencedResources.length).toBeGreaterThan(0);
|
|
274
276
|
});
|
|
275
277
|
it("should handle array reference fields", async () => {
|
|
276
|
-
const sdk = await FhirBundleSdk.create(validCompleteBundle);
|
|
278
|
+
const sdk = await index_1.FhirBundleSdk.create(fhir_bundles_1.validCompleteBundle);
|
|
277
279
|
const diagnosticReport = sdk.getDiagnosticReportById("diagnostic-report-002");
|
|
278
280
|
const referencedResources = diagnosticReport.getReferencedResources();
|
|
279
281
|
// DiagnosticReport references multiple resources including results array
|
|
@@ -281,7 +283,7 @@ describe("Reverse References", () => {
|
|
|
281
283
|
expect(referencedResources.length).toBeGreaterThan(0);
|
|
282
284
|
});
|
|
283
285
|
it("should not include undefined values", async () => {
|
|
284
|
-
const sdk = await FhirBundleSdk.create(validCompleteBundle);
|
|
286
|
+
const sdk = await index_1.FhirBundleSdk.create(fhir_bundles_1.validCompleteBundle);
|
|
285
287
|
const observation = sdk.getObservationById("observation-001");
|
|
286
288
|
const referencedResources = observation.getReferencedResources();
|
|
287
289
|
// All returned resources should be defined
|