@metriport/fhir-sdk 1.2.7 → 1.3.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 +207 -0
- package/dist/__tests__/date-range-performance.test.d.ts +2 -0
- package/dist/__tests__/date-range-performance.test.d.ts.map +1 -0
- package/dist/__tests__/date-range-performance.test.js +218 -0
- package/dist/__tests__/date-range-performance.test.js.map +1 -0
- package/dist/__tests__/date-range-search.test.d.ts +2 -0
- package/dist/__tests__/date-range-search.test.d.ts.map +1 -0
- package/dist/__tests__/date-range-search.test.js +215 -0
- package/dist/__tests__/date-range-search.test.js.map +1 -0
- package/dist/__tests__/fhir-bundle-sdk.test.js +467 -0
- package/dist/__tests__/fhir-bundle-sdk.test.js.map +1 -1
- package/dist/__tests__/reverse-references.test.d.ts +2 -0
- package/dist/__tests__/reverse-references.test.d.ts.map +1 -0
- package/dist/__tests__/reverse-references.test.js +241 -0
- package/dist/__tests__/reverse-references.test.js.map +1 -0
- package/dist/demo-reverse-references.d.ts +7 -0
- package/dist/demo-reverse-references.d.ts.map +1 -0
- package/dist/demo-reverse-references.js +207 -0
- package/dist/demo-reverse-references.js.map +1 -0
- package/dist/fhir-bundle-sdk.d.ts +222 -0
- package/dist/fhir-bundle-sdk.d.ts.map +1 -0
- package/dist/fhir-bundle-sdk.js +527 -0
- package/dist/fhir-bundle-sdk.js.map +1 -0
- package/dist/index.d.ts +2 -242
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -677
- package/dist/index.js.map +1 -1
- package/dist/internal/bundle-operations.d.ts +14 -0
- package/dist/internal/bundle-operations.d.ts.map +1 -0
- package/dist/internal/bundle-operations.js +55 -0
- package/dist/internal/bundle-operations.js.map +1 -0
- package/dist/internal/date-extraction.d.ts +12 -0
- package/dist/internal/date-extraction.d.ts.map +1 -0
- package/dist/internal/date-extraction.js +206 -0
- package/dist/internal/date-extraction.js.map +1 -0
- package/dist/internal/graph-traversal.d.ts +13 -0
- package/dist/internal/graph-traversal.d.ts.map +1 -0
- package/dist/internal/graph-traversal.js +89 -0
- package/dist/internal/graph-traversal.js.map +1 -0
- package/dist/internal/indexing.d.ts +17 -0
- package/dist/internal/indexing.d.ts.map +1 -0
- package/dist/internal/indexing.js +118 -0
- package/dist/internal/indexing.js.map +1 -0
- package/dist/internal/llm-context.d.ts +39 -0
- package/dist/internal/llm-context.d.ts.map +1 -0
- package/dist/internal/llm-context.js +188 -0
- package/dist/internal/llm-context.js.map +1 -0
- package/dist/internal/reference-resolution.d.ts +25 -0
- package/dist/internal/reference-resolution.d.ts.map +1 -0
- package/dist/internal/reference-resolution.js +133 -0
- package/dist/internal/reference-resolution.js.map +1 -0
- package/dist/internal/reference-utils.d.ts +26 -0
- package/dist/internal/reference-utils.d.ts.map +1 -0
- package/dist/internal/reference-utils.js +89 -0
- package/dist/internal/reference-utils.js.map +1 -0
- package/dist/internal/validation.d.ts +16 -0
- package/dist/internal/validation.d.ts.map +1 -0
- package/dist/internal/validation.js +45 -0
- package/dist/internal/validation.js.map +1 -0
- package/dist/types/sdk-types.d.ts +107 -0
- package/dist/types/sdk-types.d.ts.map +1 -0
- package/dist/types/sdk-types.js +17 -0
- package/dist/types/sdk-types.js.map +1 -0
- package/dist/types/smart-resources.d.ts +97 -4
- package/dist/types/smart-resources.d.ts.map +1 -1
- package/dist/types/smart-resources.js +82 -5
- package/dist/types/smart-resources.js.map +1 -1
- package/dist/utils/interval-tree/index.d.ts +87 -0
- package/dist/utils/interval-tree/index.d.ts.map +1 -0
- package/dist/utils/interval-tree/index.js +774 -0
- package/dist/utils/interval-tree/index.js.map +1 -0
- package/dist/utils/interval-tree/shallowequal/arrays.d.ts +3 -0
- package/dist/utils/interval-tree/shallowequal/arrays.d.ts.map +1 -0
- package/dist/utils/interval-tree/shallowequal/arrays.js +25 -0
- package/dist/utils/interval-tree/shallowequal/arrays.js.map +1 -0
- package/dist/utils/interval-tree/shallowequal/index.d.ts +6 -0
- package/dist/utils/interval-tree/shallowequal/index.d.ts.map +1 -0
- package/dist/utils/interval-tree/shallowequal/index.js +28 -0
- package/dist/utils/interval-tree/shallowequal/index.js.map +1 -0
- package/dist/utils/interval-tree/shallowequal/objects.d.ts +3 -0
- package/dist/utils/interval-tree/shallowequal/objects.d.ts.map +1 -0
- package/dist/utils/interval-tree/shallowequal/objects.js +28 -0
- package/dist/utils/interval-tree/shallowequal/objects.js.map +1 -0
- package/package.json +1 -1
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,qDAAkD;AAAzC,gHAAA,aAAa,OAAA"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Bundle, BundleEntry, Resource } from "@medplum/fhirtypes";
|
|
2
|
+
/**
|
|
3
|
+
* Create a new bundle entry from an existing entry, preserving fullUrl
|
|
4
|
+
*/
|
|
5
|
+
export declare function createBundleEntry(originalEntry: BundleEntry, resource: Resource): BundleEntry;
|
|
6
|
+
/**
|
|
7
|
+
* Create a new bundle with specified entries, maintaining original metadata
|
|
8
|
+
*/
|
|
9
|
+
export declare function createExportBundle(originalBundle: Bundle, entries: BundleEntry[]): Bundle;
|
|
10
|
+
/**
|
|
11
|
+
* Find original bundle entry for a given resource
|
|
12
|
+
*/
|
|
13
|
+
export declare function findOriginalEntry(bundle: Bundle, resource: Resource): BundleEntry | undefined;
|
|
14
|
+
//# sourceMappingURL=bundle-operations.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bundle-operations.d.ts","sourceRoot":"","sources":["../../src/internal/bundle-operations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnE;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,aAAa,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,GAAG,WAAW,CAW7F;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,MAAM,CAuBzF;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,WAAW,GAAG,SAAS,CAS7F"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.findOriginalEntry = exports.createExportBundle = exports.createBundleEntry = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Create a new bundle entry from an existing entry, preserving fullUrl
|
|
6
|
+
*/
|
|
7
|
+
function createBundleEntry(originalEntry, resource) {
|
|
8
|
+
if (originalEntry.fullUrl) {
|
|
9
|
+
return {
|
|
10
|
+
fullUrl: originalEntry.fullUrl,
|
|
11
|
+
resource: resource,
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
return {
|
|
15
|
+
resource: resource,
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
exports.createBundleEntry = createBundleEntry;
|
|
19
|
+
/**
|
|
20
|
+
* Create a new bundle with specified entries, maintaining original metadata
|
|
21
|
+
*/
|
|
22
|
+
function createExportBundle(originalBundle, entries) {
|
|
23
|
+
const exportBundle = {
|
|
24
|
+
resourceType: "Bundle",
|
|
25
|
+
type: originalBundle.type || "collection",
|
|
26
|
+
total: entries.length,
|
|
27
|
+
entry: entries,
|
|
28
|
+
};
|
|
29
|
+
// Preserve original bundle metadata (FR-6.4)
|
|
30
|
+
if (originalBundle.id) {
|
|
31
|
+
exportBundle.id = originalBundle.id;
|
|
32
|
+
}
|
|
33
|
+
if (originalBundle.meta) {
|
|
34
|
+
exportBundle.meta = { ...originalBundle.meta };
|
|
35
|
+
}
|
|
36
|
+
if (originalBundle.identifier) {
|
|
37
|
+
exportBundle.identifier = originalBundle.identifier;
|
|
38
|
+
}
|
|
39
|
+
if (originalBundle.timestamp) {
|
|
40
|
+
exportBundle.timestamp = originalBundle.timestamp;
|
|
41
|
+
}
|
|
42
|
+
return exportBundle;
|
|
43
|
+
}
|
|
44
|
+
exports.createExportBundle = createExportBundle;
|
|
45
|
+
/**
|
|
46
|
+
* Find original bundle entry for a given resource
|
|
47
|
+
*/
|
|
48
|
+
function findOriginalEntry(bundle, resource) {
|
|
49
|
+
if (!bundle.entry) {
|
|
50
|
+
return undefined;
|
|
51
|
+
}
|
|
52
|
+
return bundle.entry.find(entry => entry.resource === resource || (entry.resource?.id && entry.resource.id === resource.id));
|
|
53
|
+
}
|
|
54
|
+
exports.findOriginalEntry = findOriginalEntry;
|
|
55
|
+
//# sourceMappingURL=bundle-operations.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bundle-operations.js","sourceRoot":"","sources":["../../src/internal/bundle-operations.ts"],"names":[],"mappings":";;;AAEA;;GAEG;AACH,SAAgB,iBAAiB,CAAC,aAA0B,EAAE,QAAkB;IAC9E,IAAI,aAAa,CAAC,OAAO,EAAE;QACzB,OAAO;YACL,OAAO,EAAE,aAAa,CAAC,OAAO;YAC9B,QAAQ,EAAE,QAAQ;SACnB,CAAC;KACH;IAED,OAAO;QACL,QAAQ,EAAE,QAAQ;KACnB,CAAC;AACJ,CAAC;AAXD,8CAWC;AAED;;GAEG;AACH,SAAgB,kBAAkB,CAAC,cAAsB,EAAE,OAAsB;IAC/E,MAAM,YAAY,GAAW;QAC3B,YAAY,EAAE,QAAQ;QACtB,IAAI,EAAE,cAAc,CAAC,IAAI,IAAI,YAAY;QACzC,KAAK,EAAE,OAAO,CAAC,MAAM;QACrB,KAAK,EAAE,OAAO;KACf,CAAC;IAEF,6CAA6C;IAC7C,IAAI,cAAc,CAAC,EAAE,EAAE;QACrB,YAAY,CAAC,EAAE,GAAG,cAAc,CAAC,EAAE,CAAC;KACrC;IACD,IAAI,cAAc,CAAC,IAAI,EAAE;QACvB,YAAY,CAAC,IAAI,GAAG,EAAE,GAAG,cAAc,CAAC,IAAI,EAAE,CAAC;KAChD;IACD,IAAI,cAAc,CAAC,UAAU,EAAE;QAC7B,YAAY,CAAC,UAAU,GAAG,cAAc,CAAC,UAAU,CAAC;KACrD;IACD,IAAI,cAAc,CAAC,SAAS,EAAE;QAC5B,YAAY,CAAC,SAAS,GAAG,cAAc,CAAC,SAAS,CAAC;KACnD;IAED,OAAO,YAAY,CAAC;AACtB,CAAC;AAvBD,gDAuBC;AAED;;GAEG;AACH,SAAgB,iBAAiB,CAAC,MAAc,EAAE,QAAkB;IAClE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;QACjB,OAAO,SAAS,CAAC;KAClB;IAED,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,CACtB,KAAK,CAAC,EAAE,CACN,KAAK,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,IAAI,KAAK,CAAC,QAAQ,CAAC,EAAE,KAAK,QAAQ,CAAC,EAAE,CAAC,CAC3F,CAAC;AACJ,CAAC;AATD,8CASC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Resource } from "@medplum/fhirtypes";
|
|
2
|
+
import { DateIndexRecord } from "../types/sdk-types";
|
|
3
|
+
/**
|
|
4
|
+
* Parse date string to milliseconds timestamp, with validation
|
|
5
|
+
*/
|
|
6
|
+
export declare function parseDate(dateString: string | undefined): number | undefined;
|
|
7
|
+
/**
|
|
8
|
+
* Extract date intervals from a resource based on its type
|
|
9
|
+
* Returns array of date intervals with metadata
|
|
10
|
+
*/
|
|
11
|
+
export declare function extractDateIntervalsFromResource(resource: Resource): DateIndexRecord[];
|
|
12
|
+
//# sourceMappingURL=date-extraction.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"date-extraction.d.ts","sourceRoot":"","sources":["../../src/internal/date-extraction.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAeT,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD;;GAEG;AACH,wBAAgB,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAkB5E;AAED;;;GAGG;AACH,wBAAgB,gCAAgC,CAAC,QAAQ,EAAE,QAAQ,GAAG,eAAe,EAAE,CA2LtF"}
|
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.extractDateIntervalsFromResource = exports.parseDate = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Parse date string to milliseconds timestamp, with validation
|
|
6
|
+
*/
|
|
7
|
+
function parseDate(dateString) {
|
|
8
|
+
if (!dateString) {
|
|
9
|
+
return undefined;
|
|
10
|
+
}
|
|
11
|
+
const date = new Date(dateString);
|
|
12
|
+
const timestamp = date.getTime();
|
|
13
|
+
// Validate date is reasonable (between 1900 and 2100)
|
|
14
|
+
if (isNaN(timestamp) ||
|
|
15
|
+
timestamp < new Date("1900-01-01").getTime() ||
|
|
16
|
+
timestamp > new Date("2100-01-01").getTime()) {
|
|
17
|
+
return undefined;
|
|
18
|
+
}
|
|
19
|
+
return timestamp;
|
|
20
|
+
}
|
|
21
|
+
exports.parseDate = parseDate;
|
|
22
|
+
/**
|
|
23
|
+
* Extract date intervals from a resource based on its type
|
|
24
|
+
* Returns array of date intervals with metadata
|
|
25
|
+
*/
|
|
26
|
+
function extractDateIntervalsFromResource(resource) {
|
|
27
|
+
const intervals = [];
|
|
28
|
+
const resourceId = resource.id;
|
|
29
|
+
if (resourceId === undefined) {
|
|
30
|
+
return intervals;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Helper to add a date interval to the intervals array. Use arrow to prevent hoist.
|
|
34
|
+
*/
|
|
35
|
+
// eslint-disable-next-line @metriport/eslint-rules/no-named-arrow-functions
|
|
36
|
+
const addDateInterval = (dateField, low, high) => {
|
|
37
|
+
const lowMs = parseDate(low);
|
|
38
|
+
const highMs = parseDate(high ?? low);
|
|
39
|
+
if (lowMs !== undefined && highMs !== undefined) {
|
|
40
|
+
intervals.push({
|
|
41
|
+
low: lowMs,
|
|
42
|
+
high: highMs,
|
|
43
|
+
resourceId: resourceId,
|
|
44
|
+
resourceType: resource.resourceType,
|
|
45
|
+
dateField,
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
switch (resource.resourceType) {
|
|
50
|
+
case "AllergyIntolerance": {
|
|
51
|
+
const r = resource;
|
|
52
|
+
if (r.onsetDateTime) {
|
|
53
|
+
addDateInterval("onsetDateTime", r.onsetDateTime);
|
|
54
|
+
}
|
|
55
|
+
if (r.onsetPeriod?.start || r.onsetPeriod?.end) {
|
|
56
|
+
addDateInterval("onsetPeriod", r.onsetPeriod.start, r.onsetPeriod.end);
|
|
57
|
+
}
|
|
58
|
+
if (r.lastOccurrence) {
|
|
59
|
+
addDateInterval("lastOccurrence", r.lastOccurrence);
|
|
60
|
+
}
|
|
61
|
+
if (r.recordedDate) {
|
|
62
|
+
addDateInterval("recordedDate", r.recordedDate);
|
|
63
|
+
}
|
|
64
|
+
break;
|
|
65
|
+
}
|
|
66
|
+
case "Condition": {
|
|
67
|
+
const r = resource;
|
|
68
|
+
if (r.onsetDateTime) {
|
|
69
|
+
addDateInterval("onsetDateTime", r.onsetDateTime);
|
|
70
|
+
}
|
|
71
|
+
if (r.onsetPeriod?.start || r.onsetPeriod?.end) {
|
|
72
|
+
addDateInterval("onsetPeriod", r.onsetPeriod.start, r.onsetPeriod.end);
|
|
73
|
+
}
|
|
74
|
+
if (r.abatementDateTime) {
|
|
75
|
+
addDateInterval("abatementDateTime", r.abatementDateTime);
|
|
76
|
+
}
|
|
77
|
+
if (r.abatementPeriod?.start || r.abatementPeriod?.end) {
|
|
78
|
+
addDateInterval("abatementPeriod", r.abatementPeriod.start, r.abatementPeriod.end);
|
|
79
|
+
}
|
|
80
|
+
if (r.recordedDate) {
|
|
81
|
+
addDateInterval("recordedDate", r.recordedDate);
|
|
82
|
+
}
|
|
83
|
+
break;
|
|
84
|
+
}
|
|
85
|
+
case "Observation": {
|
|
86
|
+
const r = resource;
|
|
87
|
+
if (r.effectiveDateTime) {
|
|
88
|
+
addDateInterval("effectiveDateTime", r.effectiveDateTime);
|
|
89
|
+
}
|
|
90
|
+
if (r.effectivePeriod?.start || r.effectivePeriod?.end) {
|
|
91
|
+
addDateInterval("effectivePeriod", r.effectivePeriod.start, r.effectivePeriod.end);
|
|
92
|
+
}
|
|
93
|
+
if (r.effectiveInstant) {
|
|
94
|
+
addDateInterval("effectiveInstant", r.effectiveInstant);
|
|
95
|
+
}
|
|
96
|
+
if (r.issued) {
|
|
97
|
+
addDateInterval("issued", r.issued);
|
|
98
|
+
}
|
|
99
|
+
break;
|
|
100
|
+
}
|
|
101
|
+
case "Encounter": {
|
|
102
|
+
const r = resource;
|
|
103
|
+
if (r.period?.start || r.period?.end) {
|
|
104
|
+
addDateInterval("period", r.period.start, r.period.end);
|
|
105
|
+
}
|
|
106
|
+
break;
|
|
107
|
+
}
|
|
108
|
+
case "Procedure": {
|
|
109
|
+
const r = resource;
|
|
110
|
+
if (r.performedDateTime) {
|
|
111
|
+
addDateInterval("performedDateTime", r.performedDateTime);
|
|
112
|
+
}
|
|
113
|
+
if (r.performedPeriod?.start || r.performedPeriod?.end) {
|
|
114
|
+
addDateInterval("performedPeriod", r.performedPeriod.start, r.performedPeriod.end);
|
|
115
|
+
}
|
|
116
|
+
break;
|
|
117
|
+
}
|
|
118
|
+
case "Immunization": {
|
|
119
|
+
const r = resource;
|
|
120
|
+
if (r.occurrenceDateTime) {
|
|
121
|
+
addDateInterval("occurrenceDateTime", r.occurrenceDateTime);
|
|
122
|
+
}
|
|
123
|
+
if (r.recorded) {
|
|
124
|
+
addDateInterval("recorded", r.recorded);
|
|
125
|
+
}
|
|
126
|
+
break;
|
|
127
|
+
}
|
|
128
|
+
case "DiagnosticReport": {
|
|
129
|
+
const r = resource;
|
|
130
|
+
if (r.effectiveDateTime) {
|
|
131
|
+
addDateInterval("effectiveDateTime", r.effectiveDateTime);
|
|
132
|
+
}
|
|
133
|
+
if (r.effectivePeriod?.start || r.effectivePeriod?.end) {
|
|
134
|
+
addDateInterval("effectivePeriod", r.effectivePeriod.start, r.effectivePeriod.end);
|
|
135
|
+
}
|
|
136
|
+
if (r.issued) {
|
|
137
|
+
addDateInterval("issued", r.issued);
|
|
138
|
+
}
|
|
139
|
+
break;
|
|
140
|
+
}
|
|
141
|
+
case "MedicationRequest": {
|
|
142
|
+
const r = resource;
|
|
143
|
+
if (r.authoredOn) {
|
|
144
|
+
addDateInterval("authoredOn", r.authoredOn);
|
|
145
|
+
}
|
|
146
|
+
break;
|
|
147
|
+
}
|
|
148
|
+
case "MedicationAdministration": {
|
|
149
|
+
const r = resource;
|
|
150
|
+
if (r.effectiveDateTime) {
|
|
151
|
+
addDateInterval("effectiveDateTime", r.effectiveDateTime);
|
|
152
|
+
}
|
|
153
|
+
if (r.effectivePeriod?.start || r.effectivePeriod?.end) {
|
|
154
|
+
addDateInterval("effectivePeriod", r.effectivePeriod.start, r.effectivePeriod.end);
|
|
155
|
+
}
|
|
156
|
+
break;
|
|
157
|
+
}
|
|
158
|
+
case "MedicationStatement": {
|
|
159
|
+
const r = resource;
|
|
160
|
+
if (r.effectiveDateTime) {
|
|
161
|
+
addDateInterval("effectiveDateTime", r.effectiveDateTime);
|
|
162
|
+
}
|
|
163
|
+
if (r.effectivePeriod?.start || r.effectivePeriod?.end) {
|
|
164
|
+
addDateInterval("effectivePeriod", r.effectivePeriod.start, r.effectivePeriod.end);
|
|
165
|
+
}
|
|
166
|
+
break;
|
|
167
|
+
}
|
|
168
|
+
case "MedicationDispense": {
|
|
169
|
+
const r = resource;
|
|
170
|
+
if (r.whenHandedOver) {
|
|
171
|
+
addDateInterval("whenHandedOver", r.whenHandedOver);
|
|
172
|
+
}
|
|
173
|
+
if (r.whenPrepared) {
|
|
174
|
+
addDateInterval("whenPrepared", r.whenPrepared);
|
|
175
|
+
}
|
|
176
|
+
break;
|
|
177
|
+
}
|
|
178
|
+
case "DocumentReference": {
|
|
179
|
+
const r = resource;
|
|
180
|
+
if (r.date) {
|
|
181
|
+
addDateInterval("date", r.date);
|
|
182
|
+
}
|
|
183
|
+
if (r.context?.period?.start || r.context?.period?.end) {
|
|
184
|
+
addDateInterval("context.period", r.context.period.start, r.context.period.end);
|
|
185
|
+
}
|
|
186
|
+
break;
|
|
187
|
+
}
|
|
188
|
+
case "Composition": {
|
|
189
|
+
const r = resource;
|
|
190
|
+
if (r.date) {
|
|
191
|
+
addDateInterval("date", r.date);
|
|
192
|
+
}
|
|
193
|
+
break;
|
|
194
|
+
}
|
|
195
|
+
case "Coverage": {
|
|
196
|
+
const r = resource;
|
|
197
|
+
if (r.period?.start || r.period?.end) {
|
|
198
|
+
addDateInterval("period", r.period.start, r.period.end);
|
|
199
|
+
}
|
|
200
|
+
break;
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
return intervals;
|
|
204
|
+
}
|
|
205
|
+
exports.extractDateIntervalsFromResource = extractDateIntervalsFromResource;
|
|
206
|
+
//# sourceMappingURL=date-extraction.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"date-extraction.js","sourceRoot":"","sources":["../../src/internal/date-extraction.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Resource } from "@medplum/fhirtypes";
|
|
2
|
+
import { Smart } from "../types/smart-resources";
|
|
3
|
+
import { WalkOptions, WalkResult } from "../types/sdk-types";
|
|
4
|
+
/**
|
|
5
|
+
* Walk references from a starting resource using BFS traversal.
|
|
6
|
+
* Discovers all reachable resources up to maxDepth levels.
|
|
7
|
+
*
|
|
8
|
+
* @param startResource - The smart resource to start traversal from
|
|
9
|
+
* @param options - Walk options including maxDepth and includeStartResource
|
|
10
|
+
* @returns WalkResult containing all discovered resources organized by depth
|
|
11
|
+
*/
|
|
12
|
+
export declare function walkReferences<T extends Resource>(startResource: Smart<T>, options?: WalkOptions): WalkResult<T>;
|
|
13
|
+
//# sourceMappingURL=graph-traversal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graph-traversal.d.ts","sourceRoot":"","sources":["../../src/internal/graph-traversal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,KAAK,EAA4B,MAAM,0BAA0B,CAAC;AAC3E,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAE7D;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,QAAQ,EAC/C,aAAa,EAAE,KAAK,CAAC,CAAC,CAAC,EACvB,OAAO,CAAC,EAAE,WAAW,GACpB,UAAU,CAAC,CAAC,CAAC,CA0Ff"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.walkReferences = void 0;
|
|
4
|
+
const smart_resources_1 = require("../types/smart-resources");
|
|
5
|
+
/**
|
|
6
|
+
* Walk references from a starting resource using BFS traversal.
|
|
7
|
+
* Discovers all reachable resources up to maxDepth levels.
|
|
8
|
+
*
|
|
9
|
+
* @param startResource - The smart resource to start traversal from
|
|
10
|
+
* @param options - Walk options including maxDepth and includeStartResource
|
|
11
|
+
* @returns WalkResult containing all discovered resources organized by depth
|
|
12
|
+
*/
|
|
13
|
+
function walkReferences(startResource, options) {
|
|
14
|
+
const maxDepth = options?.maxDepth ?? Infinity;
|
|
15
|
+
const includeStartResource = options?.includeStartResource ?? true;
|
|
16
|
+
const resourcesByDepth = new Map();
|
|
17
|
+
const visited = new Set();
|
|
18
|
+
const queue = [];
|
|
19
|
+
// Initialize with start resource at depth 0
|
|
20
|
+
queue.push({ resource: startResource, depth: 0 });
|
|
21
|
+
if (startResource.id) {
|
|
22
|
+
visited.add(startResource.id);
|
|
23
|
+
}
|
|
24
|
+
let maxDepthReached = 0;
|
|
25
|
+
while (queue.length > 0) {
|
|
26
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
27
|
+
const { resource, depth } = queue.shift();
|
|
28
|
+
// Track max depth reached
|
|
29
|
+
if (depth > maxDepthReached) {
|
|
30
|
+
maxDepthReached = depth;
|
|
31
|
+
}
|
|
32
|
+
// Add resource to current depth level
|
|
33
|
+
if (!resourcesByDepth.has(depth)) {
|
|
34
|
+
resourcesByDepth.set(depth, []);
|
|
35
|
+
}
|
|
36
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
37
|
+
resourcesByDepth.get(depth).push(resource);
|
|
38
|
+
// Stop if we've reached max depth
|
|
39
|
+
if (depth >= maxDepth) {
|
|
40
|
+
continue;
|
|
41
|
+
}
|
|
42
|
+
// Get all reference methods for this resource type
|
|
43
|
+
const referenceMethods = smart_resources_1.REFERENCE_METHOD_MAPPING[resource.resourceType];
|
|
44
|
+
if (!referenceMethods) {
|
|
45
|
+
continue;
|
|
46
|
+
}
|
|
47
|
+
// Iterate through all reference methods
|
|
48
|
+
for (const methodName of Object.keys(referenceMethods)) {
|
|
49
|
+
// Call the reference method
|
|
50
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
51
|
+
const referencedResources = resource[methodName]();
|
|
52
|
+
if (!referencedResources) {
|
|
53
|
+
continue;
|
|
54
|
+
}
|
|
55
|
+
// Handle both single and array references
|
|
56
|
+
const resourceArray = Array.isArray(referencedResources)
|
|
57
|
+
? referencedResources
|
|
58
|
+
: [referencedResources];
|
|
59
|
+
for (const referencedResource of resourceArray) {
|
|
60
|
+
if (!referencedResource?.id) {
|
|
61
|
+
continue;
|
|
62
|
+
}
|
|
63
|
+
// Skip if already visited
|
|
64
|
+
if (visited.has(referencedResource.id)) {
|
|
65
|
+
continue;
|
|
66
|
+
}
|
|
67
|
+
visited.add(referencedResource.id);
|
|
68
|
+
queue.push({ resource: referencedResource, depth: depth + 1 });
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
// Build flat array of all resources
|
|
73
|
+
const allResources = [];
|
|
74
|
+
for (const [depth, resources] of resourcesByDepth.entries()) {
|
|
75
|
+
// Skip depth 0 (start resource) if includeStartResource is false
|
|
76
|
+
if (depth === 0 && !includeStartResource) {
|
|
77
|
+
continue;
|
|
78
|
+
}
|
|
79
|
+
allResources.push(...resources);
|
|
80
|
+
}
|
|
81
|
+
return {
|
|
82
|
+
resourcesByDepth,
|
|
83
|
+
allResources,
|
|
84
|
+
startResource,
|
|
85
|
+
depthReached: maxDepthReached,
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
exports.walkReferences = walkReferences;
|
|
89
|
+
//# sourceMappingURL=graph-traversal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graph-traversal.js","sourceRoot":"","sources":["../../src/internal/graph-traversal.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Bundle, Resource } from "@medplum/fhirtypes";
|
|
2
|
+
import { ReverseReference } from "../types/sdk-types";
|
|
3
|
+
import { IntervalTree } from "../utils/interval-tree";
|
|
4
|
+
import { DateIndexRecord } from "../types/sdk-types";
|
|
5
|
+
/**
|
|
6
|
+
* Build O(1) indexes for resource lookup
|
|
7
|
+
*/
|
|
8
|
+
export declare function buildResourceIndexes(bundle: Bundle, resourcesById: Map<string, Resource>, resourcesByFullUrl: Map<string, Resource>, resourcesByType: Map<string, Resource[]>, reverseReferencesById: Map<string, ReverseReference[]>, dateRangeIndex: IntervalTree<DateIndexRecord, number>, resolutionStack: Set<string>): void;
|
|
9
|
+
/**
|
|
10
|
+
* Build reverse reference index for O(1) reverse lookup
|
|
11
|
+
*/
|
|
12
|
+
export declare function buildReverseReferenceIndex(bundle: Bundle, reverseReferencesById: Map<string, ReverseReference[]>, resourcesByFullUrl: Map<string, Resource>): void;
|
|
13
|
+
/**
|
|
14
|
+
* Build date range index for O(log n + k) date range searches
|
|
15
|
+
*/
|
|
16
|
+
export declare function buildDateRangeIndex(bundle: Bundle, dateRangeIndex: IntervalTree<DateIndexRecord, number>): void;
|
|
17
|
+
//# sourceMappingURL=indexing.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"indexing.d.ts","sourceRoot":"","sources":["../../src/internal/indexing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAQrD;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,EACpC,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,EACzC,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,EACxC,qBAAqB,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,EAAE,CAAC,EACtD,cAAc,EAAE,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,EACrD,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,GAC3B,IAAI,CAuCN;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,MAAM,EACd,qBAAqB,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,EAAE,CAAC,EACtD,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,GACxC,IAAI,CA6DN;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,GACpD,IAAI,CAiBN"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.buildDateRangeIndex = exports.buildReverseReferenceIndex = exports.buildResourceIndexes = void 0;
|
|
4
|
+
const reference_utils_1 = require("./reference-utils");
|
|
5
|
+
const date_extraction_1 = require("./date-extraction");
|
|
6
|
+
/**
|
|
7
|
+
* Build O(1) indexes for resource lookup
|
|
8
|
+
*/
|
|
9
|
+
function buildResourceIndexes(bundle, resourcesById, resourcesByFullUrl, resourcesByType, reverseReferencesById, dateRangeIndex, resolutionStack) {
|
|
10
|
+
if (!bundle.entry) {
|
|
11
|
+
return;
|
|
12
|
+
}
|
|
13
|
+
for (const entry of bundle.entry) {
|
|
14
|
+
if (!entry.resource) {
|
|
15
|
+
continue;
|
|
16
|
+
}
|
|
17
|
+
const resource = entry.resource;
|
|
18
|
+
// Index by resource.id if it exists
|
|
19
|
+
if (resource.id) {
|
|
20
|
+
resourcesById.set(resource.id, resource);
|
|
21
|
+
}
|
|
22
|
+
// Index by fullUrl if it exists
|
|
23
|
+
if (entry.fullUrl) {
|
|
24
|
+
resourcesByFullUrl.set(entry.fullUrl, resource);
|
|
25
|
+
}
|
|
26
|
+
// Index by resource type for type-specific getters
|
|
27
|
+
const resourceType = resource.resourceType;
|
|
28
|
+
if (!resourcesByType.has(resourceType)) {
|
|
29
|
+
resourcesByType.set(resourceType, []);
|
|
30
|
+
}
|
|
31
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
32
|
+
resourcesByType.get(resourceType).push(resource);
|
|
33
|
+
}
|
|
34
|
+
// Build reverse reference index
|
|
35
|
+
buildReverseReferenceIndex(bundle, reverseReferencesById, resourcesByFullUrl);
|
|
36
|
+
// Build date range index
|
|
37
|
+
buildDateRangeIndex(bundle, dateRangeIndex);
|
|
38
|
+
// Clear resolution stack after index building
|
|
39
|
+
resolutionStack.clear();
|
|
40
|
+
}
|
|
41
|
+
exports.buildResourceIndexes = buildResourceIndexes;
|
|
42
|
+
/**
|
|
43
|
+
* Build reverse reference index for O(1) reverse lookup
|
|
44
|
+
*/
|
|
45
|
+
function buildReverseReferenceIndex(bundle, reverseReferencesById, resourcesByFullUrl) {
|
|
46
|
+
if (!bundle.entry) {
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
for (const entry of bundle.entry) {
|
|
50
|
+
if (!entry.resource) {
|
|
51
|
+
continue;
|
|
52
|
+
}
|
|
53
|
+
const resource = entry.resource;
|
|
54
|
+
const sourceResourceId = resource.id ?? entry.fullUrl ?? "unknown";
|
|
55
|
+
const references = (0, reference_utils_1.findAllReferences)(resource);
|
|
56
|
+
for (const { field, reference } of references) {
|
|
57
|
+
// Extract target ID from reference
|
|
58
|
+
const targetId = (0, reference_utils_1.extractTargetIdFromReference)(reference);
|
|
59
|
+
if (!targetId) {
|
|
60
|
+
continue;
|
|
61
|
+
}
|
|
62
|
+
// Add to reverse index for both the extracted ID and the full reference
|
|
63
|
+
const reverseRef = {
|
|
64
|
+
sourceResourceId,
|
|
65
|
+
sourceResourceType: resource.resourceType,
|
|
66
|
+
referenceField: (0, reference_utils_1.normalizeReferenceField)(field),
|
|
67
|
+
};
|
|
68
|
+
// Index by extracted resource ID (e.g., "patient-123" from "Patient/patient-123")
|
|
69
|
+
if (!reverseReferencesById.has(targetId)) {
|
|
70
|
+
reverseReferencesById.set(targetId, []);
|
|
71
|
+
}
|
|
72
|
+
reverseReferencesById.get(targetId)?.push(reverseRef);
|
|
73
|
+
// Also index by full reference if it's different (e.g., "urn:uuid:patient-123")
|
|
74
|
+
if (targetId !== reference) {
|
|
75
|
+
if (!reverseReferencesById.has(reference)) {
|
|
76
|
+
reverseReferencesById.set(reference, []);
|
|
77
|
+
}
|
|
78
|
+
reverseReferencesById.get(reference)?.push(reverseRef);
|
|
79
|
+
}
|
|
80
|
+
// Also try to index by the actual resource ID if we can find it efficiently
|
|
81
|
+
// Check if this reference can be resolved to a resource with a different ID
|
|
82
|
+
if (!reference.includes("/")) {
|
|
83
|
+
// This is likely a fullUrl reference (e.g., "urn:uuid:xxx")
|
|
84
|
+
// Check if we have a resource with this fullUrl
|
|
85
|
+
const targetResource = resourcesByFullUrl.get(reference);
|
|
86
|
+
if (targetResource?.id &&
|
|
87
|
+
targetResource.id !== targetId &&
|
|
88
|
+
targetResource.id !== reference) {
|
|
89
|
+
if (!reverseReferencesById.has(targetResource.id)) {
|
|
90
|
+
reverseReferencesById.set(targetResource.id, []);
|
|
91
|
+
}
|
|
92
|
+
reverseReferencesById.get(targetResource.id)?.push(reverseRef);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
exports.buildReverseReferenceIndex = buildReverseReferenceIndex;
|
|
99
|
+
/**
|
|
100
|
+
* Build date range index for O(log n + k) date range searches
|
|
101
|
+
*/
|
|
102
|
+
function buildDateRangeIndex(bundle, dateRangeIndex) {
|
|
103
|
+
if (!bundle.entry) {
|
|
104
|
+
return;
|
|
105
|
+
}
|
|
106
|
+
for (const entry of bundle.entry) {
|
|
107
|
+
if (!entry.resource || !entry.resource.id) {
|
|
108
|
+
continue;
|
|
109
|
+
}
|
|
110
|
+
const resource = entry.resource;
|
|
111
|
+
const dateIntervals = (0, date_extraction_1.extractDateIntervalsFromResource)(resource);
|
|
112
|
+
for (const interval of dateIntervals) {
|
|
113
|
+
dateRangeIndex.insert(interval);
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
exports.buildDateRangeIndex = buildDateRangeIndex;
|
|
118
|
+
//# sourceMappingURL=indexing.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"indexing.js","sourceRoot":"","sources":["../../src/internal/indexing.ts"],"names":[],"mappings":"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"}
|