@healthcare-interoperability/fhir-tools 1.0.0 → 1.2.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/README.md CHANGED
@@ -1,20 +1,27 @@
1
1
  # @healthcare-interoperability/fhir-tools
2
2
 
3
- Utilities for working with **FHIR (Fast Healthcare Interoperability Resources)** in JavaScript/Node.js, focused on **safe reference assignment, deterministic ID generation, and schema-aware data shaping**.
3
+ A lightweight but powerful toolkit for **FHIR reference normalization**, **deterministic ID generation**, and **schema-aware traversal** of FHIR resources in JavaScript / Node.js.
4
4
 
5
- This package is designed for **interop pipelines**, **FHIR normalization layers**, and **HL7 → FHIR transformations**, where nested structures and reference integrity matter.
5
+ Designed for **healthcare interoperability pipelines**, **HL7 → FHIR transforms**, and **US Core–aligned processing**.
6
6
 
7
7
  ---
8
8
 
9
- ## ✨ Features
9
+ ## ✨ What This Package Solves
10
10
 
11
- * ✅ Assign FHIR references to **deeply nested object paths**
12
- * ✅ Automatically **creates missing objects and arrays**
13
- * Prevents **type conflicts** during assignment
14
- * Supports **explicit array declarations** in paths
15
- * Generates **deterministic FHIR IDs** using integration context
16
- * Produces **clear, path-aware error messages**
17
- * ✅ Zero runtime dependencies (except ID generator)
11
+ FHIR resources contain many `Reference` fields that:
12
+
13
+ * appear at different depths
14
+ * can be single or arrays
15
+ * vary by resource type
16
+ * need consistent internal identifiers
17
+
18
+ This package provides:
19
+
20
+ * 🔗 **Safe FHIR reference extraction**
21
+ * 🧭 **Config-driven reference traversal**
22
+ * 🆔 **Deterministic, integration-scoped ID generation**
23
+ * 🏗️ **Automatic object & array creation**
24
+ * 🇺🇸 **Built-in US Core reference rules**
18
25
 
19
26
  ---
20
27
 
@@ -26,229 +33,324 @@ npm install @healthcare-interoperability/fhir-tools
26
33
 
27
34
  ---
28
35
 
29
- ## 🔧 Dependencies
36
+ ## 🔧 Peer Dependency
30
37
 
31
- This package depends on:
38
+ This package relies on deterministic ID generation:
32
39
 
33
40
  ```ts
34
41
  @quicore/resource-id
35
42
  ```
36
43
 
37
- Make sure it is resolvable in your project.
38
-
39
44
  ---
40
45
 
41
- ## 🚀 Quick Start
46
+ ## 🧠 Core Components
42
47
 
43
- ```ts
44
- import { FHIRReferenceAssigner } from "@healthcare-interoperability/fhir-tools";
48
+ ### 1️⃣ `FHIRReferenceAssigner`
45
49
 
46
- const assigner = new FHIRReferenceAssigner("my-integration-id");
50
+ Low-level utility that **assigns a normalized FHIR reference** to a declared object path.
47
51
 
48
- const resource = {};
52
+ * Creates missing objects and arrays
53
+ * Enforces correct types
54
+ * Preserves original FHIR reference
55
+ * Generates deterministic IDs
49
56
 
50
- assigner.assign(
51
- resource,
52
- ["subject"],
53
- "Patient/123"
54
- );
57
+ 📌 Use this when you need **manual or custom reference placement**.
55
58
 
56
- console.log(resource);
57
- ```
59
+ ---
58
60
 
59
- ### Output
61
+ ### 2️⃣ `FHIRReferenceEngine`
60
62
 
61
- ```json
62
- {
63
- "subject": {
64
- "id": "generated-fhir-id",
65
- "type": "Patient",
66
- "originalReference": "Patient/123"
67
- }
68
- }
69
- ```
63
+ A **config-driven processor** that:
64
+
65
+ * Scans a FHIR resource
66
+ * Finds reference fields based on rules
67
+ * Normalizes all references into a single `_reference` tree
68
+
69
+ 📌 Use this for **automated pipeline processing**.
70
70
 
71
71
  ---
72
72
 
73
- ## 🧠 Core Concept
73
+ ### 3️⃣ `USCoreFHIRReferenceEngine`
74
74
 
75
- FHIR data structures are often:
75
+ A ready-to-use engine with **US Core–aligned reference rules** for common resources like:
76
76
 
77
- * deeply nested
78
- * partially populated
79
- * array-heavy
80
- * schema-sensitive
77
+ * Encounter
78
+ * Observation
79
+ * Condition
80
+ * Procedure
81
+ * MedicationRequest
82
+ * Claim / Coverage
81
83
 
82
- `FHIRReferenceAssigner` safely **walks a declared path**, creates intermediate structures if needed, validates types, and assigns a **normalized FHIR reference object**.
84
+ 📌 Use this if you process **US Core FHIR R4 data**.
83
85
 
84
86
  ---
85
87
 
86
- ## 🏗️ Path Segments Explained
88
+ ## 🚀 Quick Start (US Core)
87
89
 
88
- The `pathSegments` argument is an array where each segment describes **how to traverse or create the structure**.
90
+ ```ts
91
+ import { USCoreFHIRReferenceEngine } from "@healthcare-interoperability/fhir-tools";
92
+
93
+ const engine = new USCoreFHIRReferenceEngine("my-integration-id");
89
94
 
90
- | Segment Type | Meaning |
91
- | ------------ | ---------------------------------------- |
92
- | `string` | Object key |
93
- | `number` | Array index |
94
- | `string[]` | Explicitly declares an array at that key |
95
+ engine.process(fhirResource);
96
+
97
+ console.log(fhirResource._reference);
98
+ ```
95
99
 
96
100
  ---
97
101
 
98
- ## 📌 Examples
102
+ ## 🧾 What Gets Generated
99
103
 
100
- ### 1️⃣ Assigning into Nested Objects
104
+ All normalized references are stored under:
101
105
 
102
106
  ```ts
103
- assigner.assign(
104
- resource,
105
- ["encounter", "serviceProvider"],
106
- "Organization/456"
107
- );
107
+ resource._reference
108
108
  ```
109
109
 
110
- ```json
110
+ Each reference has the shape:
111
+
112
+ ```ts
111
113
  {
112
- "encounter": {
113
- "serviceProvider": {
114
- "id": "generated-id",
115
- "type": "Organization",
116
- "originalReference": "Organization/456"
117
- }
118
- }
114
+ id: string; // Deterministic internal ID
115
+ type: string; // FHIR resource type
116
+ originalReference: string; // Original FHIR reference (ResourceType/ID)
119
117
  }
120
118
  ```
121
119
 
120
+ This allows:
121
+
122
+ * consistent internal linking
123
+ * traceability back to source FHIR
124
+ * safe downstream joins and indexing
125
+
122
126
  ---
123
127
 
124
- ### 2️⃣ Assigning into Arrays (Implicit)
128
+ ## 🧩 How the Engine Works
129
+
130
+ ### Step 1: Match Rules
131
+
132
+ Each rule declares:
133
+
134
+ * `resourceType` (or `"*"`)
135
+ * one or more reference paths
136
+
137
+ Example:
125
138
 
126
139
  ```ts
127
- assigner.assign(
128
- resource,
129
- ["participant", 0, "individual"],
130
- "Practitioner/789"
131
- );
140
+ {
141
+ resourceType: "Encounter",
142
+ references: [
143
+ { path: ["serviceProvider"] },
144
+ { path: ["participant"], array: true, nested: "individual" }
145
+ ]
146
+ }
132
147
  ```
133
148
 
134
- Creates `participant` as an array automatically.
149
+ ---
150
+
151
+ ### Step 2: Traverse Resource
152
+
153
+ For each rule:
154
+
155
+ * the engine checks if the path exists
156
+ * supports arrays automatically
157
+ * supports nested reference fields
135
158
 
136
159
  ---
137
160
 
138
- ### 3️⃣ Explicit Array Declaration
161
+ ### Step 3: Normalize References
139
162
 
140
- Use `["key"]` to **force an array**, even if no numeric index is present yet.
163
+ References like:
141
164
 
142
- ```ts
143
- assigner.assign(
144
- resource,
145
- [["performer"], 0, "actor"],
146
- "Practitioner/321"
147
- );
165
+ ```json
166
+ {
167
+ "reference": "Patient/123"
168
+ }
148
169
  ```
149
170
 
150
- This ensures `performer` **must be an array**.
171
+ Are transformed into:
172
+
173
+ ```json
174
+ _reference: {
175
+ subject: {
176
+ id: "...",
177
+ type: "Patient",
178
+ originalReference: "Patient/123"
179
+ }
180
+ }
181
+ ```
151
182
 
152
183
  ---
153
184
 
154
- ## 🧩 Reference Object Structure
185
+ ## 📐 Rule Definition Reference
186
+
187
+ Each reference rule supports:
188
+
189
+ | Field | Type | Description |
190
+ | -------- | ---------- | ---------------------------- |
191
+ | `path` | `string[]` | Path to the reference field |
192
+ | `array` | `boolean` | Whether the path is an array |
193
+ | `nested` | `string` | Nested reference key |
155
194
 
156
- Every assigned reference has the shape:
195
+ ### Example (Array + Nested)
157
196
 
158
197
  ```ts
159
198
  {
160
- id: string; // Generated FHIR ID
161
- type: string; // Resource type (Patient, Practitioner, etc.)
162
- originalReference: string; // Original FHIR reference (ResourceType/ID)
199
+ path: ["participant"],
200
+ array: true,
201
+ nested: "individual"
163
202
  }
164
203
  ```
165
204
 
166
- This preserves traceability while enabling internal ID normalization.
205
+ Targets:
206
+
207
+ ```ts
208
+ participant[].individual.reference
209
+ ```
167
210
 
168
211
  ---
169
212
 
170
- ## 🔐 Validation & Safety
213
+ ## 🇺🇸 US Core Coverage
171
214
 
172
- ### Reference Format Validation
215
+ The built-in `US_CORE_REFERENCE_CONFIG` covers:
173
216
 
174
- Only valid FHIR references are accepted:
217
+ ### Common (All Resources)
175
218
 
176
- ```
177
- ResourceType/ID
178
- ```
219
+ * subject
220
+ * patient
221
+ * beneficiary
222
+ * encounter
223
+ * author
224
+ * custodian
225
+ * recorder
226
+ * requester
227
+ * organization
228
+ * provider
179
229
 
180
- Invalid formats throw immediately.
230
+ ### Encounter
181
231
 
182
- ---
232
+ * serviceProvider
233
+ * partOf
234
+ * location[].location
235
+ * participant[].individual
236
+ * diagnosis[].condition
237
+ * reasonReference[]
183
238
 
184
- ### ✔ Type Conflict Detection
239
+ ### Observation
185
240
 
186
- If an existing path segment conflicts with the expected type:
241
+ * specimen
242
+ * device
243
+ * focus[]
244
+ * hasMember[]
245
+ * derivedFrom[]
246
+ * performer[]
187
247
 
188
- * object vs array
189
- * array vs object
248
+ ### Condition
190
249
 
191
- An error is thrown with **full path context**, e.g.:
250
+ * asserter
251
+ * recorder
252
+ * evidence[].detail
192
253
 
193
- ```
194
- Path segment 'participant' at 'participant[0]' must be an array
195
- ```
254
+ ### Procedure
196
255
 
197
- ---
256
+ * location
257
+ * usedReference[]
258
+ * reasonReference[]
259
+ * report[]
260
+ * performer[].actor
198
261
 
199
- ### ✔ Array Bounds Protection
262
+ ### MedicationRequest
200
263
 
201
- Array indices are validated to avoid runaway memory usage:
264
+ * medicationReference
265
+ * recorder
266
+ * performer
267
+ * reasonReference[]
268
+ * basedOn[]
202
269
 
203
- ```ts
204
- RangeError: Array index out of bounds
205
- ```
270
+ ### DiagnosticReport
271
+
272
+ * specimen[]
273
+ * result[]
274
+ * imagingStudy[]
275
+
276
+ ### Claim / Coverage
206
277
 
207
- (Max index: `10000`)
278
+ * insurer
279
+ * insurance[].coverage
280
+ * careTeam[].provider
281
+ * diagnosis[].diagnosisReference
282
+ * procedure[].procedureReference
283
+ * beneficiary
284
+ * payor[]
208
285
 
209
286
  ---
210
287
 
211
- ## 🧪 Error Handling
288
+ ## 🔐 Error Handling Philosophy
212
289
 
213
- Errors are explicit and actionable:
290
+ * Invalid references are **ignored safely**
291
+ * Structural conflicts are prevented
292
+ * Failures are **logged, not fatal**
293
+
294
+ ```ts
295
+ console.warn(
296
+ `Reference assign failed Encounter/123 at ["participant",0,"individual"]`
297
+ );
298
+ ```
214
299
 
215
- * `TypeError` structural conflicts
216
- * `RangeError` → invalid array access
217
- * `Error` → invalid references or ID generation failures
300
+ This makes the engine safe for:
218
301
 
219
- This makes the class **safe for automated pipelines and AI-driven transformations**.
302
+ * batch processing
303
+ * partial data
304
+ * real-world EHR payloads
220
305
 
221
306
  ---
222
307
 
223
308
  ## 🏥 Typical Use Cases
224
309
 
225
- * HL7v2 → FHIR normalization
226
- * FHIR ingestion pipelines
227
- * Appointment, Encounter, and Observation consolidation
228
- * Interop middleware and data harmonization layers
229
- * Schema-aware AI preprocessing
310
+ * HL7v2 → FHIR pipelines
311
+ * US Core ingestion
312
+ * Appointment & encounter consolidation
313
+ * Claim normalization
314
+ * AI-ready FHIR preprocessing
315
+ * Cross-resource reference indexing
230
316
 
231
317
  ---
232
318
 
233
- ## 📄 API
319
+ ## 📄 API Summary
234
320
 
235
- ### `new FHIRReferenceAssigner(integrationId: string)`
321
+ ### `FHIRReferenceAssigner`
236
322
 
237
- Creates a new assigner scoped to an integration.
323
+ ```ts
324
+ new FHIRReferenceAssigner(integrationId)
325
+ assign(baseObject, pathSegments, sourceReference)
326
+ ```
238
327
 
239
328
  ---
240
329
 
241
- ### `assign(baseObject, pathSegments, sourceReference)`
330
+ ### `FHIRReferenceEngine`
242
331
 
243
- Assigns a normalized FHIR reference to the target path.
332
+ ```ts
333
+ new FHIRReferenceEngine(integrationId, config)
334
+ process(resource)
335
+ ```
336
+
337
+ ---
338
+
339
+ ### `USCoreFHIRReferenceEngine`
340
+
341
+ ```ts
342
+ new USCoreFHIRReferenceEngine(integrationId)
343
+ ```
344
+
345
+ ---
244
346
 
245
- **Parameters**
347
+ ## 🧪 Design Goals
246
348
 
247
- | Name | Type | Description |
248
- | ----------------- | ---------------------------------- | ---------------------------------- |
249
- | `baseObject` | `Object` | Root object to mutate |
250
- | `pathSegments` | `(string \| number \| string[])[]` | Path definition |
251
- | `sourceReference` | `string` | FHIR reference (`ResourceType/ID`) |
349
+ * Deterministic
350
+ * Schema-aware
351
+ * Safe-by-default
352
+ * Interop-friendly
353
+ * AI-readable output
252
354
 
253
355
  ---
254
356
 
@@ -260,8 +362,9 @@ MIT
260
362
 
261
363
  ## 🤝 Contributing
262
364
 
263
- Contributions, issues, and design discussions are welcome—especially around:
365
+ Contributions are welcome—especially for:
264
366
 
265
- * FHIR R4/R5 alignment
266
- * Schema validation helpers
267
- * Bulk reference assignment utilities
367
+ * Additional FHIR profiles
368
+ * R5 support
369
+ * Custom profile generators
370
+ * Reference validation helpers
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.FHIRReferenceEngine = void 0;
7
+ var _FHIRReferenceAssigner = require("./FHIRReferenceAssigner");
8
+ class FHIRReferenceEngine {
9
+ constructor(integrationId, config) {
10
+ if (!integrationId) {
11
+ throw new Error('integrationId is required');
12
+ }
13
+ if (!Array.isArray(config)) {
14
+ throw new Error('Reference config must be an array');
15
+ }
16
+ this.integrationId = integrationId;
17
+ this.config = config;
18
+ this.assigner = new _FHIRReferenceAssigner.FHIRReferenceAssigner(integrationId);
19
+ }
20
+
21
+ /**
22
+ * Process a single FHIR resource
23
+ */
24
+ process(resource) {
25
+ if (!resource?.resourceType) return;
26
+ if (!resource._reference) {
27
+ resource._reference = {};
28
+ }
29
+ const applicableRules = this.config.filter(rule => rule.resourceType === '*' || rule.resourceType === resource.resourceType);
30
+ applicableRules.forEach(rule => {
31
+ rule.references.forEach(refRule => {
32
+ this.applyRule(resource, refRule);
33
+ });
34
+ });
35
+ }
36
+ applyRule(resource, rule) {
37
+ const {
38
+ path,
39
+ array,
40
+ nested
41
+ } = rule;
42
+ const target = resource?.[path[0]];
43
+ if (!target) return;
44
+ if (array && Array.isArray(target)) {
45
+ target.forEach((item, index) => {
46
+ const reference = nested ? item?.[nested]?.reference : item?.reference;
47
+ if (!reference) return;
48
+ this.safeAssign(resource, [[path[0]], index, ...(nested ? [nested] : [])], reference);
49
+ });
50
+ } else {
51
+ const reference = nested ? target?.[nested]?.reference : target?.reference;
52
+ if (!reference) return;
53
+ this.safeAssign(resource, path, reference);
54
+ }
55
+ }
56
+ safeAssign(resource, path, reference) {
57
+ try {
58
+ this.assigner.assign(resource._reference, path, reference, this.integrationId);
59
+ } catch (err) {
60
+ console.warn(`Reference assign failed ${resource.resourceType}/${resource.id || 'unknown'} at ${JSON.stringify(path)}`);
61
+ }
62
+ }
63
+ }
64
+ exports.FHIRReferenceEngine = FHIRReferenceEngine;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.USCoreFHIRReferenceEngine = void 0;
7
+ var _uscoreReference = require("./config/references/uscore.reference.config");
8
+ var _FHIRReferenceEngine = require("./FHIRReferenceEngine");
9
+ class USCoreFHIRReferenceEngine extends _FHIRReferenceEngine.FHIRReferenceEngine {
10
+ constructor(integrationId) {
11
+ super(integrationId, _uscoreReference.US_CORE_REFERENCE_CONFIG);
12
+ }
13
+ }
14
+ exports.USCoreFHIRReferenceEngine = USCoreFHIRReferenceEngine;
@@ -0,0 +1,197 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.US_CORE_REFERENCE_CONFIG = void 0;
7
+ /**
8
+ * US Core FHIR Reference Configuration
9
+ *
10
+ * Each rule declares:
11
+ * - resourceType (or "*")
12
+ * - path to reference(s)
13
+ * - whether the path is an array
14
+ * - optional nested reference field
15
+ */
16
+ const US_CORE_REFERENCE_CONFIG = exports.US_CORE_REFERENCE_CONFIG = [
17
+ // ======================================================
18
+ // COMMON (applies to most resources)
19
+ // ======================================================
20
+ {
21
+ resourceType: '*',
22
+ references: [{
23
+ path: ['subject']
24
+ }, {
25
+ path: ['patient']
26
+ }, {
27
+ path: ['beneficiary']
28
+ }, {
29
+ path: ['encounter']
30
+ }, {
31
+ path: ['author']
32
+ }, {
33
+ path: ['custodian']
34
+ }, {
35
+ path: ['recorder']
36
+ }, {
37
+ path: ['requester']
38
+ }, {
39
+ path: ['organization']
40
+ }, {
41
+ path: ['provider']
42
+ }]
43
+ },
44
+ // ======================================================
45
+ // ENCOUNTER
46
+ // ======================================================
47
+ {
48
+ resourceType: 'Encounter',
49
+ references: [{
50
+ path: ['serviceProvider']
51
+ }, {
52
+ path: ['partOf']
53
+ }, {
54
+ path: ['location'],
55
+ array: true,
56
+ nested: 'location'
57
+ }, {
58
+ path: ['participant'],
59
+ array: true,
60
+ nested: 'individual'
61
+ }, {
62
+ path: ['diagnosis'],
63
+ array: true,
64
+ nested: 'condition'
65
+ }, {
66
+ path: ['reasonReference'],
67
+ array: true
68
+ }]
69
+ },
70
+ // ======================================================
71
+ // OBSERVATION
72
+ // ======================================================
73
+ {
74
+ resourceType: 'Observation',
75
+ references: [{
76
+ path: ['specimen']
77
+ }, {
78
+ path: ['device']
79
+ }, {
80
+ path: ['focus'],
81
+ array: true
82
+ }, {
83
+ path: ['hasMember'],
84
+ array: true
85
+ }, {
86
+ path: ['derivedFrom'],
87
+ array: true
88
+ }, {
89
+ path: ['performer'],
90
+ array: true
91
+ }]
92
+ },
93
+ // ======================================================
94
+ // CONDITION
95
+ // ======================================================
96
+ {
97
+ resourceType: 'Condition',
98
+ references: [{
99
+ path: ['asserter']
100
+ }, {
101
+ path: ['recorder']
102
+ }, {
103
+ path: ['evidence'],
104
+ array: true,
105
+ nested: 'detail'
106
+ }]
107
+ },
108
+ // ======================================================
109
+ // PROCEDURE
110
+ // ======================================================
111
+ {
112
+ resourceType: 'Procedure',
113
+ references: [{
114
+ path: ['location']
115
+ }, {
116
+ path: ['usedReference'],
117
+ array: true
118
+ }, {
119
+ path: ['reasonReference'],
120
+ array: true
121
+ }, {
122
+ path: ['report'],
123
+ array: true
124
+ }, {
125
+ path: ['performer'],
126
+ array: true,
127
+ nested: 'actor'
128
+ }]
129
+ },
130
+ // ======================================================
131
+ // MEDICATION
132
+ // ======================================================
133
+ {
134
+ resourceType: 'MedicationRequest',
135
+ references: [{
136
+ path: ['medicationReference']
137
+ }, {
138
+ path: ['recorder']
139
+ }, {
140
+ path: ['performer']
141
+ }, {
142
+ path: ['reasonReference'],
143
+ array: true
144
+ }, {
145
+ path: ['basedOn'],
146
+ array: true
147
+ }]
148
+ },
149
+ // ======================================================
150
+ // DIAGNOSTIC REPORT
151
+ // ======================================================
152
+ {
153
+ resourceType: 'DiagnosticReport',
154
+ references: [{
155
+ path: ['specimen'],
156
+ array: true
157
+ }, {
158
+ path: ['result'],
159
+ array: true
160
+ }, {
161
+ path: ['imagingStudy'],
162
+ array: true
163
+ }]
164
+ },
165
+ // ======================================================
166
+ // CLAIM / COVERAGE
167
+ // ======================================================
168
+ {
169
+ resourceType: 'Claim',
170
+ references: [{
171
+ path: ['insurer']
172
+ }, {
173
+ path: ['insurance'],
174
+ array: true,
175
+ nested: 'coverage'
176
+ }, {
177
+ path: ['careTeam'],
178
+ array: true,
179
+ nested: 'provider'
180
+ }, {
181
+ path: ['diagnosis'],
182
+ array: true,
183
+ nested: 'diagnosisReference'
184
+ }, {
185
+ path: ['procedure'],
186
+ array: true,
187
+ nested: 'procedureReference'
188
+ }]
189
+ }, {
190
+ resourceType: 'Coverage',
191
+ references: [{
192
+ path: ['beneficiary']
193
+ }, {
194
+ path: ['payor'],
195
+ array: true
196
+ }]
197
+ }];
package/dist/index.js CHANGED
@@ -9,4 +9,25 @@ Object.defineProperty(exports, "FHIRReferenceAssigner", {
9
9
  return _FHIRReferenceAssigner.FHIRReferenceAssigner;
10
10
  }
11
11
  });
12
- var _FHIRReferenceAssigner = require("./FHIRReferenceAssigner");
12
+ Object.defineProperty(exports, "FHIRReferenceEngine", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _FHIRReferenceEngine.FHIRReferenceEngine;
16
+ }
17
+ });
18
+ Object.defineProperty(exports, "USCoreFHIRReferenceEngine", {
19
+ enumerable: true,
20
+ get: function () {
21
+ return _USCoreFHIRReferenceEngine.USCoreFHIRReferenceEngine;
22
+ }
23
+ });
24
+ Object.defineProperty(exports, "US_CORE_REFERENCE_CONFIG", {
25
+ enumerable: true,
26
+ get: function () {
27
+ return _uscoreReference.US_CORE_REFERENCE_CONFIG;
28
+ }
29
+ });
30
+ var _FHIRReferenceAssigner = require("./FHIRReferenceAssigner");
31
+ var _FHIRReferenceEngine = require("./FHIRReferenceEngine");
32
+ var _USCoreFHIRReferenceEngine = require("./USCoreFHIRReferenceEngine");
33
+ var _uscoreReference = require("./config/references/uscore.reference.config");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@healthcare-interoperability/fhir-tools",
3
- "version": "1.0.0",
3
+ "version": "1.2.0",
4
4
  "description": "Helper tools for FHIR processing",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {