@metriport/fhir-sdk 0.30.0-alpha.1

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.
Files changed (155) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +564 -0
  3. package/dist/__tests__/careplan.test.d.ts +2 -0
  4. package/dist/__tests__/careplan.test.d.ts.map +1 -0
  5. package/dist/__tests__/careplan.test.js +544 -0
  6. package/dist/__tests__/careplan.test.js.map +1 -0
  7. package/dist/__tests__/clinical-dates.test.d.ts +2 -0
  8. package/dist/__tests__/clinical-dates.test.d.ts.map +1 -0
  9. package/dist/__tests__/clinical-dates.test.js +341 -0
  10. package/dist/__tests__/clinical-dates.test.js.map +1 -0
  11. package/dist/__tests__/coding-utilities.test.d.ts +2 -0
  12. package/dist/__tests__/coding-utilities.test.d.ts.map +1 -0
  13. package/dist/__tests__/coding-utilities.test.js +482 -0
  14. package/dist/__tests__/coding-utilities.test.js.map +1 -0
  15. package/dist/__tests__/date-range-performance.test.d.ts +2 -0
  16. package/dist/__tests__/date-range-performance.test.d.ts.map +1 -0
  17. package/dist/__tests__/date-range-performance.test.js +218 -0
  18. package/dist/__tests__/date-range-performance.test.js.map +1 -0
  19. package/dist/__tests__/date-range-search.test.d.ts +2 -0
  20. package/dist/__tests__/date-range-search.test.d.ts.map +1 -0
  21. package/dist/__tests__/date-range-search.test.js +215 -0
  22. package/dist/__tests__/date-range-search.test.js.map +1 -0
  23. package/dist/__tests__/env-setup.d.ts +2 -0
  24. package/dist/__tests__/env-setup.d.ts.map +1 -0
  25. package/dist/__tests__/env-setup.js +37 -0
  26. package/dist/__tests__/env-setup.js.map +1 -0
  27. package/dist/__tests__/fhir-bundle-sdk-basic.test.d.ts +2 -0
  28. package/dist/__tests__/fhir-bundle-sdk-basic.test.d.ts.map +1 -0
  29. package/dist/__tests__/fhir-bundle-sdk-basic.test.js +19 -0
  30. package/dist/__tests__/fhir-bundle-sdk-basic.test.js.map +1 -0
  31. package/dist/__tests__/fhir-bundle-sdk.test.d.ts +2 -0
  32. package/dist/__tests__/fhir-bundle-sdk.test.d.ts.map +1 -0
  33. package/dist/__tests__/fhir-bundle-sdk.test.js +953 -0
  34. package/dist/__tests__/fhir-bundle-sdk.test.js.map +1 -0
  35. package/dist/__tests__/fixtures/fhir-bundles.d.ts +31 -0
  36. package/dist/__tests__/fixtures/fhir-bundles.d.ts.map +1 -0
  37. package/dist/__tests__/fixtures/fhir-bundles.js +487 -0
  38. package/dist/__tests__/fixtures/fhir-bundles.js.map +1 -0
  39. package/dist/__tests__/phase1-verification.test.d.ts +2 -0
  40. package/dist/__tests__/phase1-verification.test.d.ts.map +1 -0
  41. package/dist/__tests__/phase1-verification.test.js +141 -0
  42. package/dist/__tests__/phase1-verification.test.js.map +1 -0
  43. package/dist/__tests__/phase2-verification.test.d.ts +2 -0
  44. package/dist/__tests__/phase2-verification.test.d.ts.map +1 -0
  45. package/dist/__tests__/phase2-verification.test.js +234 -0
  46. package/dist/__tests__/phase2-verification.test.js.map +1 -0
  47. package/dist/__tests__/phase3-verification.test.d.ts +2 -0
  48. package/dist/__tests__/phase3-verification.test.d.ts.map +1 -0
  49. package/dist/__tests__/phase3-verification.test.js +121 -0
  50. package/dist/__tests__/phase3-verification.test.js.map +1 -0
  51. package/dist/__tests__/phase4-verification.test.d.ts +2 -0
  52. package/dist/__tests__/phase4-verification.test.d.ts.map +1 -0
  53. package/dist/__tests__/phase4-verification.test.js +168 -0
  54. package/dist/__tests__/phase4-verification.test.js.map +1 -0
  55. package/dist/__tests__/phase5-verification.test.d.ts +2 -0
  56. package/dist/__tests__/phase5-verification.test.d.ts.map +1 -0
  57. package/dist/__tests__/phase5-verification.test.js +397 -0
  58. package/dist/__tests__/phase5-verification.test.js.map +1 -0
  59. package/dist/__tests__/reverse-references.test.d.ts +2 -0
  60. package/dist/__tests__/reverse-references.test.d.ts.map +1 -0
  61. package/dist/__tests__/reverse-references.test.js +294 -0
  62. package/dist/__tests__/reverse-references.test.js.map +1 -0
  63. package/dist/__tests__/type-guards.test.d.ts +2 -0
  64. package/dist/__tests__/type-guards.test.d.ts.map +1 -0
  65. package/dist/__tests__/type-guards.test.js +163 -0
  66. package/dist/__tests__/type-guards.test.js.map +1 -0
  67. package/dist/clinical-dates.d.ts +26 -0
  68. package/dist/clinical-dates.d.ts.map +1 -0
  69. package/dist/clinical-dates.js +571 -0
  70. package/dist/clinical-dates.js.map +1 -0
  71. package/dist/fhir-bundle-sdk.d.ts +233 -0
  72. package/dist/fhir-bundle-sdk.d.ts.map +1 -0
  73. package/dist/fhir-bundle-sdk.js +545 -0
  74. package/dist/fhir-bundle-sdk.js.map +1 -0
  75. package/dist/index.d.ts +8 -0
  76. package/dist/index.d.ts.map +1 -0
  77. package/dist/index.js +23 -0
  78. package/dist/index.js.map +1 -0
  79. package/dist/internal/bundle-operations.d.ts +14 -0
  80. package/dist/internal/bundle-operations.d.ts.map +1 -0
  81. package/dist/internal/bundle-operations.js +55 -0
  82. package/dist/internal/bundle-operations.js.map +1 -0
  83. package/dist/internal/coding-systems.d.ts +48 -0
  84. package/dist/internal/coding-systems.d.ts.map +1 -0
  85. package/dist/internal/coding-systems.js +55 -0
  86. package/dist/internal/coding-systems.js.map +1 -0
  87. package/dist/internal/coding-utilities.d.ts +27 -0
  88. package/dist/internal/coding-utilities.d.ts.map +1 -0
  89. package/dist/internal/coding-utilities.js +297 -0
  90. package/dist/internal/coding-utilities.js.map +1 -0
  91. package/dist/internal/date-extraction.d.ts +12 -0
  92. package/dist/internal/date-extraction.d.ts.map +1 -0
  93. package/dist/internal/date-extraction.js +629 -0
  94. package/dist/internal/date-extraction.js.map +1 -0
  95. package/dist/internal/graph-traversal.d.ts +13 -0
  96. package/dist/internal/graph-traversal.d.ts.map +1 -0
  97. package/dist/internal/graph-traversal.js +89 -0
  98. package/dist/internal/graph-traversal.js.map +1 -0
  99. package/dist/internal/indexing.d.ts +17 -0
  100. package/dist/internal/indexing.d.ts.map +1 -0
  101. package/dist/internal/indexing.js +129 -0
  102. package/dist/internal/indexing.js.map +1 -0
  103. package/dist/internal/llm-context.d.ts +40 -0
  104. package/dist/internal/llm-context.d.ts.map +1 -0
  105. package/dist/internal/llm-context.js +214 -0
  106. package/dist/internal/llm-context.js.map +1 -0
  107. package/dist/internal/reference-resolution.d.ts +29 -0
  108. package/dist/internal/reference-resolution.d.ts.map +1 -0
  109. package/dist/internal/reference-resolution.js +338 -0
  110. package/dist/internal/reference-resolution.js.map +1 -0
  111. package/dist/internal/reference-utils.d.ts +26 -0
  112. package/dist/internal/reference-utils.d.ts.map +1 -0
  113. package/dist/internal/reference-utils.js +89 -0
  114. package/dist/internal/reference-utils.js.map +1 -0
  115. package/dist/internal/transparent-proxy.d.ts +12 -0
  116. package/dist/internal/transparent-proxy.d.ts.map +1 -0
  117. package/dist/internal/transparent-proxy.js +81 -0
  118. package/dist/internal/transparent-proxy.js.map +1 -0
  119. package/dist/internal/validation.d.ts +16 -0
  120. package/dist/internal/validation.d.ts.map +1 -0
  121. package/dist/internal/validation.js +45 -0
  122. package/dist/internal/validation.js.map +1 -0
  123. package/dist/type-guards.d.ts +212 -0
  124. package/dist/type-guards.d.ts.map +1 -0
  125. package/dist/type-guards.js +375 -0
  126. package/dist/type-guards.js.map +1 -0
  127. package/dist/types/coding-fields.d.ts +311 -0
  128. package/dist/types/coding-fields.d.ts.map +1 -0
  129. package/dist/types/coding-fields.js +3 -0
  130. package/dist/types/coding-fields.js.map +1 -0
  131. package/dist/types/sdk-types.d.ts +107 -0
  132. package/dist/types/sdk-types.d.ts.map +1 -0
  133. package/dist/types/sdk-types.js +17 -0
  134. package/dist/types/sdk-types.js.map +1 -0
  135. package/dist/types/smart-resources.d.ts +470 -0
  136. package/dist/types/smart-resources.d.ts.map +1 -0
  137. package/dist/types/smart-resources.js +249 -0
  138. package/dist/types/smart-resources.js.map +1 -0
  139. package/dist/utils/interval-tree/index.d.ts +87 -0
  140. package/dist/utils/interval-tree/index.d.ts.map +1 -0
  141. package/dist/utils/interval-tree/index.js +774 -0
  142. package/dist/utils/interval-tree/index.js.map +1 -0
  143. package/dist/utils/interval-tree/shallowequal/arrays.d.ts +3 -0
  144. package/dist/utils/interval-tree/shallowequal/arrays.d.ts.map +1 -0
  145. package/dist/utils/interval-tree/shallowequal/arrays.js +25 -0
  146. package/dist/utils/interval-tree/shallowequal/arrays.js.map +1 -0
  147. package/dist/utils/interval-tree/shallowequal/index.d.ts +6 -0
  148. package/dist/utils/interval-tree/shallowequal/index.d.ts.map +1 -0
  149. package/dist/utils/interval-tree/shallowequal/index.js +28 -0
  150. package/dist/utils/interval-tree/shallowequal/index.js.map +1 -0
  151. package/dist/utils/interval-tree/shallowequal/objects.d.ts +3 -0
  152. package/dist/utils/interval-tree/shallowequal/objects.d.ts.map +1 -0
  153. package/dist/utils/interval-tree/shallowequal/objects.js +28 -0
  154. package/dist/utils/interval-tree/shallowequal/objects.js.map +1 -0
  155. package/package.json +70 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fhir-bundle-sdk.test.js","sourceRoot":"","sources":["../../src/__tests__/fhir-bundle-sdk.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ import { Bundle } from "@medplum/fhirtypes";
2
+ export declare const CONSTANT_TIME_EXPECTED_THRESHOLD_MS: number;
3
+ /**
4
+ * Valid FHIR bundle with all resource types and proper references
5
+ */
6
+ export declare const validCompleteBundle: Bundle;
7
+ /**
8
+ * Bundle with broken references for validation testing
9
+ */
10
+ export declare const bundleWithBrokenReferences: Bundle;
11
+ /**
12
+ * Bundle with fullUrl references for testing different reference styles
13
+ */
14
+ export declare const bundleWithFullUrlReferences: Bundle;
15
+ /**
16
+ * Empty bundle for edge case testing
17
+ */
18
+ export declare const emptyBundle: Bundle;
19
+ /**
20
+ * Bundle with only patients for type-specific getter testing
21
+ */
22
+ export declare const patientsOnlyBundle: Bundle;
23
+ /**
24
+ * Invalid bundle - wrong resourceType
25
+ */
26
+ export declare const invalidBundleWrongType: any;
27
+ /**
28
+ * Bundle for export testing with mixed resource types
29
+ */
30
+ export declare const mixedResourceTypesBundle: Bundle;
31
+ //# sourceMappingURL=fhir-bundles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fhir-bundles.d.ts","sourceRoot":"","sources":["../../../src/__tests__/fixtures/fhir-bundles.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EASP,MAAM,oBAAoB,CAAC;AAM5B,eAAO,MAAM,mCAAmC,QAE7B,CAAC;AAEpB;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,MAyRjC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,0BAA0B,EAAE,MAmCxC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,2BAA2B,EAAE,MA2BzC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,MAMzB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,MA+BhC,CAAC;AAEF;;GAEG;AAEH,eAAO,MAAM,sBAAsB,EAAE,GAIpC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB,EAAE,MA6DtC,CAAC"}
@@ -0,0 +1,487 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.mixedResourceTypesBundle = exports.invalidBundleWrongType = exports.patientsOnlyBundle = exports.emptyBundle = exports.bundleWithFullUrlReferences = exports.bundleWithBrokenReferences = exports.validCompleteBundle = exports.CONSTANT_TIME_EXPECTED_THRESHOLD_MS = void 0;
7
+ const dayjs_1 = __importDefault(require("dayjs"));
8
+ const duration_1 = __importDefault(require("dayjs/plugin/duration"));
9
+ dayjs_1.default.extend(duration_1.default);
10
+ exports.CONSTANT_TIME_EXPECTED_THRESHOLD_MS = dayjs_1.default
11
+ .duration({ milliseconds: 12 })
12
+ .asMilliseconds();
13
+ /**
14
+ * Valid FHIR bundle with all resource types and proper references
15
+ */
16
+ exports.validCompleteBundle = {
17
+ resourceType: "Bundle",
18
+ id: "test-bundle-complete",
19
+ type: "collection",
20
+ total: 9,
21
+ entry: [
22
+ {
23
+ fullUrl: "urn:uuid:patient-123",
24
+ resource: {
25
+ resourceType: "Patient",
26
+ id: "patient-123",
27
+ name: [
28
+ {
29
+ family: "Doe",
30
+ given: ["Jane"],
31
+ },
32
+ ],
33
+ gender: "female",
34
+ birthDate: "1970-01-01",
35
+ address: [
36
+ {
37
+ line: ["123 Main St"],
38
+ city: "Wilmington",
39
+ state: "NC",
40
+ postalCode: "28401",
41
+ country: "USA",
42
+ },
43
+ ],
44
+ contact: [
45
+ {
46
+ relationship: [
47
+ {
48
+ coding: [
49
+ {
50
+ system: "http://terminology.hl7.org/CodeSystem/v2-0131",
51
+ code: "C",
52
+ },
53
+ ],
54
+ },
55
+ ],
56
+ organization: {
57
+ reference: "Organization/org-123",
58
+ },
59
+ },
60
+ ],
61
+ },
62
+ },
63
+ {
64
+ fullUrl: "urn:uuid:practitioner-456",
65
+ resource: {
66
+ resourceType: "Practitioner",
67
+ id: "practitioner-456",
68
+ name: [
69
+ {
70
+ family: "Smith",
71
+ given: ["John"],
72
+ suffix: ["MD"],
73
+ },
74
+ ],
75
+ qualification: [
76
+ {
77
+ code: {
78
+ text: "Internal Medicine",
79
+ },
80
+ issuer: {
81
+ reference: "Organization/org-123",
82
+ },
83
+ },
84
+ ],
85
+ },
86
+ },
87
+ {
88
+ fullUrl: "urn:uuid:org-123",
89
+ resource: {
90
+ resourceType: "Organization",
91
+ id: "org-123",
92
+ name: "Medical Center Hospital",
93
+ type: [
94
+ {
95
+ coding: [
96
+ {
97
+ system: "http://terminology.hl7.org/CodeSystem/organization-type",
98
+ code: "prov",
99
+ display: "Healthcare Provider",
100
+ },
101
+ ],
102
+ },
103
+ ],
104
+ },
105
+ },
106
+ {
107
+ fullUrl: "urn:uuid:location-111",
108
+ resource: {
109
+ resourceType: "Location",
110
+ id: "location-111",
111
+ name: "Emergency Room",
112
+ status: "active",
113
+ mode: "instance",
114
+ },
115
+ },
116
+ {
117
+ fullUrl: "urn:uuid:condition-222",
118
+ resource: {
119
+ resourceType: "Condition",
120
+ id: "condition-222",
121
+ clinicalStatus: {
122
+ coding: [
123
+ {
124
+ system: "http://terminology.hl7.org/CodeSystem/condition-clinical",
125
+ code: "active",
126
+ },
127
+ ],
128
+ },
129
+ verificationStatus: {
130
+ coding: [
131
+ {
132
+ system: "http://terminology.hl7.org/CodeSystem/condition-ver-status",
133
+ code: "confirmed",
134
+ },
135
+ ],
136
+ },
137
+ code: {
138
+ coding: [
139
+ {
140
+ system: "http://snomed.info/sct",
141
+ code: "38341003",
142
+ display: "Hypertension",
143
+ },
144
+ ],
145
+ text: "Hypertension",
146
+ },
147
+ subject: {
148
+ reference: "Patient/patient-123",
149
+ },
150
+ },
151
+ },
152
+ {
153
+ fullUrl: "urn:uuid:encounter-789",
154
+ resource: {
155
+ resourceType: "Encounter",
156
+ id: "encounter-789",
157
+ status: "finished",
158
+ class: {
159
+ system: "http://terminology.hl7.org/CodeSystem/v3-ActCode",
160
+ code: "AMB",
161
+ display: "ambulatory",
162
+ },
163
+ subject: {
164
+ reference: "Patient/patient-123",
165
+ },
166
+ participant: [
167
+ {
168
+ individual: {
169
+ reference: "Practitioner/practitioner-456",
170
+ },
171
+ },
172
+ ],
173
+ diagnosis: [
174
+ {
175
+ condition: {
176
+ reference: "Condition/condition-222",
177
+ },
178
+ use: {
179
+ coding: [
180
+ {
181
+ system: "http://terminology.hl7.org/CodeSystem/diagnosis-role",
182
+ code: "AD",
183
+ display: "Admission diagnosis",
184
+ },
185
+ ],
186
+ },
187
+ rank: 1,
188
+ },
189
+ ],
190
+ location: [
191
+ {
192
+ location: {
193
+ reference: "Location/location-111",
194
+ },
195
+ status: "active",
196
+ },
197
+ ],
198
+ hospitalization: {
199
+ origin: {
200
+ reference: "Location/location-111",
201
+ },
202
+ destination: {
203
+ reference: "Location/location-111",
204
+ },
205
+ },
206
+ period: {
207
+ start: "2023-09-29T14:00:00+00:00",
208
+ end: "2023-09-29T15:00:00+00:00",
209
+ },
210
+ },
211
+ },
212
+ {
213
+ fullUrl: "urn:uuid:observation-001",
214
+ resource: {
215
+ resourceType: "Observation",
216
+ id: "observation-001",
217
+ status: "final",
218
+ category: [
219
+ {
220
+ coding: [
221
+ {
222
+ system: "http://terminology.hl7.org/CodeSystem/observation-category",
223
+ code: "laboratory",
224
+ },
225
+ ],
226
+ },
227
+ ],
228
+ code: {
229
+ coding: [
230
+ {
231
+ system: "http://loinc.org",
232
+ code: "2345-7",
233
+ display: "Glucose SerPl-mCnc",
234
+ },
235
+ ],
236
+ text: "Glucose",
237
+ },
238
+ subject: {
239
+ reference: "Patient/patient-123",
240
+ },
241
+ encounter: {
242
+ reference: "Encounter/encounter-789",
243
+ },
244
+ performer: [
245
+ {
246
+ reference: "Practitioner/practitioner-456",
247
+ },
248
+ ],
249
+ valueQuantity: {
250
+ value: 139,
251
+ unit: "mg/dL",
252
+ system: "http://unitsofmeasure.org",
253
+ code: "mg/dL",
254
+ },
255
+ effectiveDateTime: "2023-09-29T14:26:24+00:00",
256
+ },
257
+ },
258
+ {
259
+ fullUrl: "urn:uuid:diagnostic-report-002",
260
+ resource: {
261
+ resourceType: "DiagnosticReport",
262
+ id: "diagnostic-report-002",
263
+ status: "final",
264
+ category: [
265
+ {
266
+ coding: [
267
+ {
268
+ system: "http://terminology.hl7.org/CodeSystem/v2-0074",
269
+ code: "LAB",
270
+ },
271
+ ],
272
+ },
273
+ ],
274
+ code: {
275
+ text: "Lab Results",
276
+ },
277
+ subject: {
278
+ reference: "Patient/patient-123",
279
+ },
280
+ encounter: {
281
+ reference: "Encounter/encounter-789",
282
+ },
283
+ performer: [
284
+ {
285
+ reference: "Practitioner/practitioner-456",
286
+ },
287
+ ],
288
+ result: [
289
+ {
290
+ reference: "Observation/observation-001",
291
+ },
292
+ ],
293
+ effectiveDateTime: "2023-09-29T14:26:24+00:00",
294
+ },
295
+ },
296
+ ],
297
+ };
298
+ /**
299
+ * Bundle with broken references for validation testing
300
+ */
301
+ exports.bundleWithBrokenReferences = {
302
+ resourceType: "Bundle",
303
+ id: "test-bundle-broken-refs",
304
+ type: "collection",
305
+ total: 2,
306
+ entry: [
307
+ {
308
+ fullUrl: "urn:uuid:patient-999",
309
+ resource: {
310
+ resourceType: "Patient",
311
+ id: "patient-999",
312
+ name: [{ family: "Test", given: ["Patient"] }],
313
+ },
314
+ },
315
+ {
316
+ fullUrl: "urn:uuid:observation-broken",
317
+ resource: {
318
+ resourceType: "Observation",
319
+ id: "observation-broken",
320
+ status: "final",
321
+ code: { text: "Test Observation" },
322
+ subject: {
323
+ reference: "Patient/nonexistent-patient", // Broken reference
324
+ },
325
+ encounter: {
326
+ reference: "Encounter/nonexistent-encounter", // Broken reference
327
+ },
328
+ performer: [
329
+ {
330
+ reference: "Practitioner/nonexistent-practitioner", // Broken reference
331
+ },
332
+ ],
333
+ },
334
+ },
335
+ ],
336
+ };
337
+ /**
338
+ * Bundle with fullUrl references for testing different reference styles
339
+ */
340
+ exports.bundleWithFullUrlReferences = {
341
+ resourceType: "Bundle",
342
+ id: "test-bundle-fullurl-refs",
343
+ type: "collection",
344
+ total: 2,
345
+ entry: [
346
+ {
347
+ fullUrl: "urn:uuid:patient-fullurl",
348
+ resource: {
349
+ resourceType: "Patient",
350
+ id: "patient-fullurl",
351
+ name: [{ family: "FullUrl", given: ["Patient"] }],
352
+ },
353
+ },
354
+ {
355
+ fullUrl: "urn:uuid:observation-fullurl",
356
+ resource: {
357
+ resourceType: "Observation",
358
+ id: "observation-fullurl",
359
+ status: "final",
360
+ code: { text: "Test Observation" },
361
+ subject: {
362
+ reference: "urn:uuid:patient-fullurl", // Reference by fullUrl
363
+ },
364
+ },
365
+ },
366
+ ],
367
+ };
368
+ /**
369
+ * Empty bundle for edge case testing
370
+ */
371
+ exports.emptyBundle = {
372
+ resourceType: "Bundle",
373
+ id: "test-bundle-empty",
374
+ type: "collection",
375
+ total: 0,
376
+ entry: [],
377
+ };
378
+ /**
379
+ * Bundle with only patients for type-specific getter testing
380
+ */
381
+ exports.patientsOnlyBundle = {
382
+ resourceType: "Bundle",
383
+ id: "test-bundle-patients-only",
384
+ type: "collection",
385
+ total: 3,
386
+ entry: [
387
+ {
388
+ fullUrl: "urn:uuid:patient-001",
389
+ resource: {
390
+ resourceType: "Patient",
391
+ id: "patient-001",
392
+ name: [{ family: "First", given: ["Patient"] }],
393
+ },
394
+ },
395
+ {
396
+ fullUrl: "urn:uuid:patient-002",
397
+ resource: {
398
+ resourceType: "Patient",
399
+ id: "patient-002",
400
+ name: [{ family: "Second", given: ["Patient"] }],
401
+ },
402
+ },
403
+ {
404
+ fullUrl: "urn:uuid:patient-003",
405
+ resource: {
406
+ resourceType: "Patient",
407
+ id: "patient-003",
408
+ name: [{ family: "Third", given: ["Patient"] }],
409
+ },
410
+ },
411
+ ],
412
+ };
413
+ /**
414
+ * Invalid bundle - wrong resourceType
415
+ */
416
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
417
+ exports.invalidBundleWrongType = {
418
+ resourceType: "Patient",
419
+ id: "invalid-bundle",
420
+ type: "collection",
421
+ };
422
+ /**
423
+ * Bundle for export testing with mixed resource types
424
+ */
425
+ exports.mixedResourceTypesBundle = {
426
+ resourceType: "Bundle",
427
+ id: "test-bundle-mixed",
428
+ type: "collection",
429
+ total: 6,
430
+ entry: [
431
+ {
432
+ fullUrl: "urn:uuid:patient-mix-1",
433
+ resource: {
434
+ resourceType: "Patient",
435
+ id: "patient-mix-1",
436
+ name: [{ family: "Mix", given: ["Patient", "One"] }],
437
+ },
438
+ },
439
+ {
440
+ fullUrl: "urn:uuid:patient-mix-2",
441
+ resource: {
442
+ resourceType: "Patient",
443
+ id: "patient-mix-2",
444
+ name: [{ family: "Mix", given: ["Patient", "Two"] }],
445
+ },
446
+ },
447
+ {
448
+ fullUrl: "urn:uuid:observation-mix-1",
449
+ resource: {
450
+ resourceType: "Observation",
451
+ id: "observation-mix-1",
452
+ status: "final",
453
+ code: { text: "Test Observation 1" },
454
+ subject: { reference: "Patient/patient-mix-1" },
455
+ },
456
+ },
457
+ {
458
+ fullUrl: "urn:uuid:observation-mix-2",
459
+ resource: {
460
+ resourceType: "Observation",
461
+ id: "observation-mix-2",
462
+ status: "final",
463
+ code: { text: "Test Observation 2" },
464
+ subject: { reference: "Patient/patient-mix-1" },
465
+ },
466
+ },
467
+ {
468
+ fullUrl: "urn:uuid:practitioner-mix",
469
+ resource: {
470
+ resourceType: "Practitioner",
471
+ id: "practitioner-mix",
472
+ name: [{ family: "Mix", given: ["Practitioner"] }],
473
+ },
474
+ },
475
+ {
476
+ fullUrl: "urn:uuid:encounter-mix",
477
+ resource: {
478
+ resourceType: "Encounter",
479
+ id: "encounter-mix",
480
+ status: "finished",
481
+ class: { code: "AMB" },
482
+ subject: { reference: "Patient/patient-mix-1" },
483
+ },
484
+ },
485
+ ],
486
+ };
487
+ //# sourceMappingURL=fhir-bundles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fhir-bundles.js","sourceRoot":"","sources":["../../../src/__tests__/fixtures/fhir-bundles.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=phase1-verification.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"phase1-verification.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/phase1-verification.test.ts"],"names":[],"mappings":""}