@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.
Files changed (81) hide show
  1. package/dist/__tests__/careplan.test.js +24 -22
  2. package/dist/__tests__/careplan.test.js.map +1 -1
  3. package/dist/__tests__/clinical-dates.test.js +25 -23
  4. package/dist/__tests__/clinical-dates.test.js.map +1 -1
  5. package/dist/__tests__/coding-utilities.test.js +9 -7
  6. package/dist/__tests__/coding-utilities.test.js.map +1 -1
  7. package/dist/__tests__/date-range-performance.test.js +4 -2
  8. package/dist/__tests__/date-range-performance.test.js.map +1 -1
  9. package/dist/__tests__/date-range-search.test.js +15 -13
  10. package/dist/__tests__/date-range-search.test.js.map +1 -1
  11. package/dist/__tests__/env-setup.js +32 -4
  12. package/dist/__tests__/env-setup.js.map +1 -1
  13. package/dist/__tests__/fhir-bundle-sdk-basic.test.js +6 -4
  14. package/dist/__tests__/fhir-bundle-sdk-basic.test.js.map +1 -1
  15. package/dist/__tests__/fhir-bundle-sdk.test.js +87 -85
  16. package/dist/__tests__/fhir-bundle-sdk.test.js.map +1 -1
  17. package/dist/__tests__/fixtures/fhir-bundles.d.ts +1 -1
  18. package/dist/__tests__/fixtures/fhir-bundles.d.ts.map +1 -1
  19. package/dist/__tests__/fixtures/fhir-bundles.js +17 -11
  20. package/dist/__tests__/fixtures/fhir-bundles.js.map +1 -1
  21. package/dist/__tests__/phase1-verification.test.js +12 -10
  22. package/dist/__tests__/phase1-verification.test.js.map +1 -1
  23. package/dist/__tests__/phase2-verification.test.js +16 -14
  24. package/dist/__tests__/phase2-verification.test.js.map +1 -1
  25. package/dist/__tests__/phase3-verification.test.js +17 -15
  26. package/dist/__tests__/phase3-verification.test.js.map +1 -1
  27. package/dist/__tests__/phase4-verification.test.js +29 -27
  28. package/dist/__tests__/phase4-verification.test.js.map +1 -1
  29. package/dist/__tests__/phase5-verification.test.js +40 -38
  30. package/dist/__tests__/phase5-verification.test.js.map +1 -1
  31. package/dist/__tests__/reverse-references.test.js +31 -29
  32. package/dist/__tests__/reverse-references.test.js.map +1 -1
  33. package/dist/__tests__/type-guards.test.js +18 -16
  34. package/dist/__tests__/type-guards.test.js.map +1 -1
  35. package/dist/clinical-dates.js +5 -1
  36. package/dist/clinical-dates.js.map +1 -1
  37. package/dist/fhir-bundle-sdk.js +38 -34
  38. package/dist/fhir-bundle-sdk.js.map +1 -1
  39. package/dist/index.js +22 -4
  40. package/dist/index.js.map +1 -1
  41. package/dist/internal/bundle-operations.js +9 -3
  42. package/dist/internal/bundle-operations.js.map +1 -1
  43. package/dist/internal/coding-systems.d.ts +12 -12
  44. package/dist/internal/coding-systems.js +18 -15
  45. package/dist/internal/coding-systems.js.map +1 -1
  46. package/dist/internal/coding-utilities.js +23 -15
  47. package/dist/internal/coding-utilities.js.map +1 -1
  48. package/dist/internal/date-extraction.js +7 -2
  49. package/dist/internal/date-extraction.js.map +1 -1
  50. package/dist/internal/graph-traversal.js +7 -3
  51. package/dist/internal/graph-traversal.js.map +1 -1
  52. package/dist/internal/indexing.js +15 -9
  53. package/dist/internal/indexing.js.map +1 -1
  54. package/dist/internal/llm-context.js +17 -8
  55. package/dist/internal/llm-context.js.map +1 -1
  56. package/dist/internal/reference-resolution.js +32 -25
  57. package/dist/internal/reference-resolution.js.map +1 -1
  58. package/dist/internal/reference-utils.js +11 -4
  59. package/dist/internal/reference-utils.js.map +1 -1
  60. package/dist/internal/transparent-proxy.js +14 -10
  61. package/dist/internal/transparent-proxy.js.map +1 -1
  62. package/dist/internal/validation.js +8 -4
  63. package/dist/internal/validation.js.map +1 -1
  64. package/dist/type-guards.d.ts +134 -105
  65. package/dist/type-guards.d.ts.map +1 -1
  66. package/dist/type-guards.js +322 -26
  67. package/dist/type-guards.js.map +1 -1
  68. package/dist/types/coding-fields.js +2 -1
  69. package/dist/types/sdk-types.js +5 -1
  70. package/dist/types/sdk-types.js.map +1 -1
  71. package/dist/types/smart-resources.js +10 -5
  72. package/dist/types/smart-resources.js.map +1 -1
  73. package/dist/utils/interval-tree/index.js +19 -10
  74. package/dist/utils/interval-tree/index.js.map +1 -1
  75. package/dist/utils/interval-tree/shallowequal/arrays.js +4 -1
  76. package/dist/utils/interval-tree/shallowequal/arrays.js.map +1 -1
  77. package/dist/utils/interval-tree/shallowequal/index.js +13 -5
  78. package/dist/utils/interval-tree/shallowequal/index.js.map +1 -1
  79. package/dist/utils/interval-tree/shallowequal/objects.js +4 -1
  80. package/dist/utils/interval-tree/shallowequal/objects.js.map +1 -1
  81. package/package.json +4 -3
@@ -1,22 +1,24 @@
1
- import { FhirBundleSdk } from "../index";
2
- import { validCompleteBundle, bundleWithBrokenReferences, bundleWithFullUrlReferences, } from "./fixtures/fhir-bundles";
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const index_1 = require("../index");
4
+ const fhir_bundles_1 = require("./fixtures/fhir-bundles");
3
5
  describe("Phase 3 Verification - Reference Validation", () => {
4
6
  describe("FR-2.1: lookForBrokenReferences() method returns validation result", () => {
5
7
  it("should return validation result for valid bundle", async () => {
6
- const sdk = await FhirBundleSdk.create(validCompleteBundle);
8
+ const sdk = await index_1.FhirBundleSdk.create(fhir_bundles_1.validCompleteBundle);
7
9
  const result = sdk.lookForBrokenReferences();
8
10
  expect(result).toBeDefined();
9
11
  expect(typeof result.hasBrokenReferences).toBe("boolean");
10
12
  expect(Array.isArray(result.brokenReferences)).toBe(true);
11
13
  });
12
14
  it("should return true for valid references", async () => {
13
- const sdk = await FhirBundleSdk.create(validCompleteBundle);
15
+ const sdk = await index_1.FhirBundleSdk.create(fhir_bundles_1.validCompleteBundle);
14
16
  const result = sdk.lookForBrokenReferences();
15
17
  expect(result.hasBrokenReferences).toBe(false);
16
18
  expect(result.brokenReferences).toHaveLength(0);
17
19
  });
18
20
  it("should return false for invalid references", async () => {
19
- const sdk = await FhirBundleSdk.create(bundleWithBrokenReferences);
21
+ const sdk = await index_1.FhirBundleSdk.create(fhir_bundles_1.bundleWithBrokenReferences);
20
22
  const result = sdk.lookForBrokenReferences();
21
23
  expect(result.hasBrokenReferences).toBe(true);
22
24
  expect(result.brokenReferences.length).toBeGreaterThan(0);
@@ -24,32 +26,32 @@ describe("Phase 3 Verification - Reference Validation", () => {
24
26
  });
25
27
  describe("FR-2.2: Validation identifies references by Resource/id pattern and fullUrl references", () => {
26
28
  it("should identify Resource/id pattern references", async () => {
27
- const sdk = await FhirBundleSdk.create(bundleWithBrokenReferences);
29
+ const sdk = await index_1.FhirBundleSdk.create(fhir_bundles_1.bundleWithBrokenReferences);
28
30
  const result = sdk.lookForBrokenReferences();
29
31
  const brokenSubjectRef = result.brokenReferences.find(ref => ref.reference === "Patient/nonexistent-patient");
30
32
  expect(brokenSubjectRef).toBeDefined();
31
33
  });
32
34
  it("should validate fullUrl references", async () => {
33
- const sdk = await FhirBundleSdk.create(bundleWithFullUrlReferences);
35
+ const sdk = await index_1.FhirBundleSdk.create(fhir_bundles_1.bundleWithFullUrlReferences);
34
36
  const result = sdk.lookForBrokenReferences();
35
37
  expect(result.hasBrokenReferences).toBe(false);
36
38
  });
37
39
  });
38
40
  describe("FR-2.3: Validation handles both relative and absolute references", () => {
39
41
  it("should handle relative references (Patient/123)", async () => {
40
- const sdk = await FhirBundleSdk.create(validCompleteBundle);
42
+ const sdk = await index_1.FhirBundleSdk.create(fhir_bundles_1.validCompleteBundle);
41
43
  const result = sdk.lookForBrokenReferences();
42
44
  expect(result.hasBrokenReferences).toBe(false);
43
45
  });
44
46
  it("should handle absolute references (urn:uuid:123)", async () => {
45
- const sdk = await FhirBundleSdk.create(bundleWithFullUrlReferences);
47
+ const sdk = await index_1.FhirBundleSdk.create(fhir_bundles_1.bundleWithFullUrlReferences);
46
48
  const result = sdk.lookForBrokenReferences();
47
49
  expect(result.hasBrokenReferences).toBe(false);
48
50
  });
49
51
  });
50
52
  describe("FR-2.4: Validation result includes list of broken references with details", () => {
51
53
  it("should provide detailed broken reference information", async () => {
52
- const sdk = await FhirBundleSdk.create(bundleWithBrokenReferences);
54
+ const sdk = await index_1.FhirBundleSdk.create(fhir_bundles_1.bundleWithBrokenReferences);
53
55
  const result = sdk.lookForBrokenReferences();
54
56
  expect(result.brokenReferences.length).toBeGreaterThan(0);
55
57
  const brokenRef = result.brokenReferences[0];
@@ -62,7 +64,7 @@ describe("Phase 3 Verification - Reference Validation", () => {
62
64
  }
63
65
  });
64
66
  it("should identify specific broken reference details", async () => {
65
- const sdk = await FhirBundleSdk.create(bundleWithBrokenReferences);
67
+ const sdk = await index_1.FhirBundleSdk.create(fhir_bundles_1.bundleWithBrokenReferences);
66
68
  const result = sdk.lookForBrokenReferences();
67
69
  const brokenSubjectRef = result.brokenReferences.find(ref => ref.reference === "Patient/nonexistent-patient");
68
70
  expect(brokenSubjectRef).toBeDefined();
@@ -74,7 +76,7 @@ describe("Phase 3 Verification - Reference Validation", () => {
74
76
  describe("Edge Cases and Advanced Validation", () => {
75
77
  it("should handle empty bundle gracefully", async () => {
76
78
  const emptyBundle = { resourceType: "Bundle", type: "collection" };
77
- const sdk = await FhirBundleSdk.create(emptyBundle);
79
+ const sdk = await index_1.FhirBundleSdk.create(emptyBundle);
78
80
  const result = sdk.lookForBrokenReferences();
79
81
  expect(result.hasBrokenReferences).toBe(false);
80
82
  expect(result.brokenReferences).toHaveLength(0);
@@ -93,13 +95,13 @@ describe("Phase 3 Verification - Reference Validation", () => {
93
95
  },
94
96
  ],
95
97
  };
96
- const sdk = await FhirBundleSdk.create(bundleWithoutRefs);
98
+ const sdk = await index_1.FhirBundleSdk.create(bundleWithoutRefs);
97
99
  const result = sdk.lookForBrokenReferences();
98
100
  expect(result.hasBrokenReferences).toBe(false);
99
101
  expect(result.brokenReferences).toHaveLength(0);
100
102
  });
101
103
  it("should handle bundles with some valid and some broken references", async () => {
102
- const sdk = await FhirBundleSdk.create(bundleWithBrokenReferences);
104
+ const sdk = await index_1.FhirBundleSdk.create(fhir_bundles_1.bundleWithBrokenReferences);
103
105
  const result = sdk.lookForBrokenReferences();
104
106
  expect(result.hasBrokenReferences).toBe(true);
105
107
  expect(result.brokenReferences.length).toBeGreaterThan(0);
@@ -107,7 +109,7 @@ describe("Phase 3 Verification - Reference Validation", () => {
107
109
  });
108
110
  describe("Performance Requirements", () => {
109
111
  it("should validate references efficiently for large bundles", async () => {
110
- const sdk = await FhirBundleSdk.create(validCompleteBundle);
112
+ const sdk = await index_1.FhirBundleSdk.create(fhir_bundles_1.validCompleteBundle);
111
113
  const start = performance.now();
112
114
  const result = sdk.lookForBrokenReferences();
113
115
  const end = performance.now();
@@ -1 +1 @@
1
- {"version":3,"file":"phase3-verification.test.js","sourceRoot":"","sources":["../../src/__tests__/phase3-verification.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"phase3-verification.test.js","sourceRoot":"","sources":["../../src/__tests__/phase3-verification.test.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,11 @@
1
- import { FhirBundleSdk } from "../index";
2
- import { validCompleteBundle, mixedResourceTypesBundle, patientsOnlyBundle, bundleWithFullUrlReferences, } from "./fixtures/fhir-bundles";
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const index_1 = require("../index");
4
+ const fhir_bundles_1 = require("./fixtures/fhir-bundles");
3
5
  describe("Phase 4 Verification - Bundle Export Functionality", () => {
4
6
  describe("FR-6.1: exportSubset(resourceIds: string[]): Bundle creates new bundle with specified resources", () => {
5
7
  it("should export subset of resources by ID", async () => {
6
- const sdk = await FhirBundleSdk.create(validCompleteBundle);
8
+ const sdk = await index_1.FhirBundleSdk.create(fhir_bundles_1.validCompleteBundle);
7
9
  const resourceIds = ["patient-123", "observation-001"];
8
10
  const exportedBundle = sdk.exportSubset(resourceIds);
9
11
  expect(exportedBundle).toBeDefined();
@@ -15,7 +17,7 @@ describe("Phase 4 Verification - Bundle Export Functionality", () => {
15
17
  expect(observationEntry?.resource?.id).toBe("observation-001");
16
18
  });
17
19
  it("should handle subset with some nonexistent resources (FR-6.5)", async () => {
18
- const sdk = await FhirBundleSdk.create(validCompleteBundle);
20
+ const sdk = await index_1.FhirBundleSdk.create(fhir_bundles_1.validCompleteBundle);
19
21
  const resourceIds = ["patient-123", "nonexistent-id", "observation-001"];
20
22
  const exportedBundle = sdk.exportSubset(resourceIds);
21
23
  expect(exportedBundle.entry).toHaveLength(2); // Only existing resources included
@@ -25,13 +27,13 @@ describe("Phase 4 Verification - Bundle Export Functionality", () => {
25
27
  expect(observationEntry?.resource?.id).toBe("observation-001");
26
28
  });
27
29
  it("should handle empty resource ID list", async () => {
28
- const sdk = await FhirBundleSdk.create(validCompleteBundle);
30
+ const sdk = await index_1.FhirBundleSdk.create(fhir_bundles_1.validCompleteBundle);
29
31
  const exportedBundle = sdk.exportSubset([]);
30
32
  expect(exportedBundle.entry).toHaveLength(0);
31
33
  expect(exportedBundle.total).toBe(0);
32
34
  });
33
35
  it("should handle all nonexistent resource IDs", async () => {
34
- const sdk = await FhirBundleSdk.create(validCompleteBundle);
36
+ const sdk = await index_1.FhirBundleSdk.create(fhir_bundles_1.validCompleteBundle);
35
37
  const exportedBundle = sdk.exportSubset(["nonexistent-1", "nonexistent-2"]);
36
38
  expect(exportedBundle.entry).toHaveLength(0);
37
39
  expect(exportedBundle.total).toBe(0);
@@ -39,7 +41,7 @@ describe("Phase 4 Verification - Bundle Export Functionality", () => {
39
41
  });
40
42
  describe("FR-6.2: exportByType(resourceType: string): Bundle creates new bundle with all resources of specified type", () => {
41
43
  it("should export all resources of specified type", async () => {
42
- const sdk = await FhirBundleSdk.create(mixedResourceTypesBundle);
44
+ const sdk = await index_1.FhirBundleSdk.create(fhir_bundles_1.mixedResourceTypesBundle);
43
45
  const exportedBundle = sdk.exportByType("Patient");
44
46
  expect(exportedBundle).toBeDefined();
45
47
  expect(exportedBundle.resourceType).toBe("Bundle");
@@ -50,13 +52,13 @@ describe("Phase 4 Verification - Bundle Export Functionality", () => {
50
52
  });
51
53
  });
52
54
  it("should return empty bundle for nonexistent resource type", async () => {
53
- const sdk = await FhirBundleSdk.create(patientsOnlyBundle);
55
+ const sdk = await index_1.FhirBundleSdk.create(fhir_bundles_1.patientsOnlyBundle);
54
56
  const exportedBundle = sdk.exportByType("Observation");
55
57
  expect(exportedBundle.entry).toHaveLength(0);
56
58
  expect(exportedBundle.total).toBe(0);
57
59
  });
58
60
  it("should export all observations from mixed bundle", async () => {
59
- const sdk = await FhirBundleSdk.create(mixedResourceTypesBundle);
61
+ const sdk = await index_1.FhirBundleSdk.create(fhir_bundles_1.mixedResourceTypesBundle);
60
62
  const exportedBundle = sdk.exportByType("Observation");
61
63
  expect(exportedBundle.entry?.length).toBeGreaterThan(0);
62
64
  exportedBundle.entry?.forEach(entry => {
@@ -66,7 +68,7 @@ describe("Phase 4 Verification - Bundle Export Functionality", () => {
66
68
  });
67
69
  describe("FR-6.3: exportByTypes(resourceTypes: string[]): Bundle creates new bundle with all resources of specified types", () => {
68
70
  it("should export all resources of specified types", async () => {
69
- const sdk = await FhirBundleSdk.create(mixedResourceTypesBundle);
71
+ const sdk = await index_1.FhirBundleSdk.create(fhir_bundles_1.mixedResourceTypesBundle);
70
72
  const exportedBundle = sdk.exportByTypes(["Patient", "Observation"]);
71
73
  expect(exportedBundle).toBeDefined();
72
74
  expect(exportedBundle.entry?.length).toBeGreaterThan(0);
@@ -76,13 +78,13 @@ describe("Phase 4 Verification - Bundle Export Functionality", () => {
76
78
  });
77
79
  });
78
80
  it("should handle empty resource types array", async () => {
79
- const sdk = await FhirBundleSdk.create(mixedResourceTypesBundle);
81
+ const sdk = await index_1.FhirBundleSdk.create(fhir_bundles_1.mixedResourceTypesBundle);
80
82
  const exportedBundle = sdk.exportByTypes([]);
81
83
  expect(exportedBundle.entry).toHaveLength(0);
82
84
  expect(exportedBundle.total).toBe(0);
83
85
  });
84
86
  it("should handle mix of existing and nonexistent resource types", async () => {
85
- const sdk = await FhirBundleSdk.create(patientsOnlyBundle);
87
+ const sdk = await index_1.FhirBundleSdk.create(fhir_bundles_1.patientsOnlyBundle);
86
88
  const exportedBundle = sdk.exportByTypes(["Patient", "Observation", "Encounter"]);
87
89
  expect(exportedBundle.entry?.length).toBeGreaterThan(0);
88
90
  exportedBundle.entry?.forEach(entry => {
@@ -92,29 +94,29 @@ describe("Phase 4 Verification - Bundle Export Functionality", () => {
92
94
  });
93
95
  describe("FR-6.4: Exported bundles maintain original bundle metadata but update total count", () => {
94
96
  it("should maintain original bundle metadata", async () => {
95
- const sdk = await FhirBundleSdk.create(validCompleteBundle);
97
+ const sdk = await index_1.FhirBundleSdk.create(fhir_bundles_1.validCompleteBundle);
96
98
  const exportedBundle = sdk.exportSubset(["patient-123"]);
97
99
  expect(exportedBundle.resourceType).toBe("Bundle");
98
- expect(exportedBundle.type).toBe(validCompleteBundle.type);
100
+ expect(exportedBundle.type).toBe(fhir_bundles_1.validCompleteBundle.type);
99
101
  // Preserve original bundle metadata if it exists
100
- if (validCompleteBundle.id) {
101
- expect(exportedBundle.id).toBe(validCompleteBundle.id);
102
+ if (fhir_bundles_1.validCompleteBundle.id) {
103
+ expect(exportedBundle.id).toBe(fhir_bundles_1.validCompleteBundle.id);
102
104
  }
103
- if (validCompleteBundle.meta) {
104
- expect(exportedBundle.meta).toEqual(validCompleteBundle.meta);
105
+ if (fhir_bundles_1.validCompleteBundle.meta) {
106
+ expect(exportedBundle.meta).toEqual(fhir_bundles_1.validCompleteBundle.meta);
105
107
  }
106
- if (validCompleteBundle.timestamp) {
107
- expect(exportedBundle.timestamp).toBe(validCompleteBundle.timestamp);
108
+ if (fhir_bundles_1.validCompleteBundle.timestamp) {
109
+ expect(exportedBundle.timestamp).toBe(fhir_bundles_1.validCompleteBundle.timestamp);
108
110
  }
109
111
  });
110
112
  it("should update total count correctly", async () => {
111
- const sdk = await FhirBundleSdk.create(mixedResourceTypesBundle);
113
+ const sdk = await index_1.FhirBundleSdk.create(fhir_bundles_1.mixedResourceTypesBundle);
112
114
  const exportedBundle = sdk.exportByType("Patient");
113
115
  expect(exportedBundle.total).toBe(exportedBundle.entry?.length);
114
116
  expect(exportedBundle.total).toBeGreaterThan(0);
115
117
  });
116
118
  it("should set total to 0 for empty exports", async () => {
117
- const sdk = await FhirBundleSdk.create(validCompleteBundle);
119
+ const sdk = await index_1.FhirBundleSdk.create(fhir_bundles_1.validCompleteBundle);
118
120
  const exportedBundle = sdk.exportSubset([]);
119
121
  expect(exportedBundle.total).toBe(0);
120
122
  expect(exportedBundle.entry).toHaveLength(0);
@@ -122,7 +124,7 @@ describe("Phase 4 Verification - Bundle Export Functionality", () => {
122
124
  });
123
125
  describe("FR-6.6: Exported bundles preserve original entry.fullUrl values", () => {
124
126
  it("should preserve fullUrl values in exported entries", async () => {
125
- const sdk = await FhirBundleSdk.create(bundleWithFullUrlReferences);
127
+ const sdk = await index_1.FhirBundleSdk.create(fhir_bundles_1.bundleWithFullUrlReferences);
126
128
  const exportedBundle = sdk.exportSubset(["patient-fullurl"]);
127
129
  expect(exportedBundle.entry).toHaveLength(1);
128
130
  const entry = exportedBundle.entry?.[0];
@@ -130,7 +132,7 @@ describe("Phase 4 Verification - Bundle Export Functionality", () => {
130
132
  expect(entry?.fullUrl).toContain("urn:uuid:");
131
133
  });
132
134
  it("should maintain fullUrl consistency across export types", async () => {
133
- const sdk = await FhirBundleSdk.create(bundleWithFullUrlReferences);
135
+ const sdk = await index_1.FhirBundleSdk.create(fhir_bundles_1.bundleWithFullUrlReferences);
134
136
  const exportBySubset = sdk.exportSubset(["patient-fullurl"]);
135
137
  const exportByType = sdk.exportByType("Patient");
136
138
  const subsetEntry = exportBySubset.entry?.[0];
@@ -140,7 +142,7 @@ describe("Phase 4 Verification - Bundle Export Functionality", () => {
140
142
  });
141
143
  describe("Performance and Edge Cases", () => {
142
144
  it("should handle large resource lists efficiently", async () => {
143
- const sdk = await FhirBundleSdk.create(mixedResourceTypesBundle);
145
+ const sdk = await index_1.FhirBundleSdk.create(fhir_bundles_1.mixedResourceTypesBundle);
144
146
  const start = performance.now();
145
147
  const exportedBundle = sdk.exportByTypes(["Patient", "Observation", "Encounter"]);
146
148
  const end = performance.now();
@@ -149,13 +151,13 @@ describe("Phase 4 Verification - Bundle Export Functionality", () => {
149
151
  });
150
152
  it("should handle bundles with undefined entries", async () => {
151
153
  const emptyBundle = { resourceType: "Bundle", type: "collection" };
152
- const sdk = await FhirBundleSdk.create(emptyBundle);
154
+ const sdk = await index_1.FhirBundleSdk.create(emptyBundle);
153
155
  const exportedBundle = sdk.exportSubset(["any-id"]);
154
156
  expect(exportedBundle.entry).toHaveLength(0);
155
157
  expect(exportedBundle.total).toBe(0);
156
158
  });
157
159
  it("should return new bundle instances, not references", async () => {
158
- const sdk = await FhirBundleSdk.create(validCompleteBundle);
160
+ const sdk = await index_1.FhirBundleSdk.create(fhir_bundles_1.validCompleteBundle);
159
161
  const exportedBundle1 = sdk.exportSubset(["patient-123"]);
160
162
  const exportedBundle2 = sdk.exportSubset(["patient-123"]);
161
163
  expect(exportedBundle1).not.toBe(exportedBundle2);
@@ -1 +1 @@
1
- {"version":3,"file":"phase4-verification.test.js","sourceRoot":"","sources":["../../src/__tests__/phase4-verification.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"phase4-verification.test.js","sourceRoot":"","sources":["../../src/__tests__/phase4-verification.test.ts"],"names":[],"mappings":"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"}