@metriport/fhir-sdk 1.2.7 → 1.3.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.
- package/README.md +207 -0
- package/dist/__tests__/clinical-dates.test.d.ts +2 -0
- package/dist/__tests__/clinical-dates.test.d.ts.map +1 -0
- package/dist/__tests__/clinical-dates.test.js +341 -0
- package/dist/__tests__/clinical-dates.test.js.map +1 -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/clinical-dates.d.ts +26 -0
- package/dist/clinical-dates.d.ts.map +1 -0
- package/dist/clinical-dates.js +571 -0
- package/dist/clinical-dates.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 +3 -242
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -678
- 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 +629 -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
|
@@ -11,22 +11,58 @@ exports.getReferenceField = exports.isReferenceMethod = exports.REFERENCE_METHOD
|
|
|
11
11
|
*/
|
|
12
12
|
exports.REFERENCE_METHOD_MAPPING = {
|
|
13
13
|
Observation: {
|
|
14
|
+
getBasedOn: "basedOn",
|
|
15
|
+
getPartOf: "partOf",
|
|
14
16
|
getSubject: "subject",
|
|
17
|
+
getFocus: "focus",
|
|
15
18
|
getEncounter: "encounter",
|
|
16
19
|
getPerformers: "performer",
|
|
20
|
+
getSpecimen: "specimen",
|
|
21
|
+
getDevice: "device",
|
|
22
|
+
getHasMember: "hasMember",
|
|
23
|
+
getDerivedFrom: "derivedFrom",
|
|
17
24
|
},
|
|
18
25
|
Encounter: {
|
|
19
26
|
getSubject: "subject",
|
|
20
|
-
|
|
27
|
+
getEpisodeOfCare: "episodeOfCare",
|
|
28
|
+
getBasedOn: "basedOn",
|
|
29
|
+
getParticipants: "participant.individual",
|
|
30
|
+
getAppointment: "appointment",
|
|
31
|
+
getReasonReference: "reasonReference",
|
|
32
|
+
getAccount: "account",
|
|
33
|
+
getServiceProvider: "serviceProvider",
|
|
34
|
+
getPartOf: "partOf",
|
|
35
|
+
getHospitalizationOrigin: "hospitalization.origin",
|
|
36
|
+
getHospitalizationDestination: "hospitalization.destination",
|
|
37
|
+
getLocation: "location.location",
|
|
38
|
+
getDiagnosisCondition: "diagnosis.condition",
|
|
21
39
|
},
|
|
22
40
|
DiagnosticReport: {
|
|
41
|
+
getBasedOn: "basedOn",
|
|
23
42
|
getSubject: "subject",
|
|
24
|
-
|
|
43
|
+
getEncounter: "encounter",
|
|
25
44
|
getPerformers: "performer",
|
|
45
|
+
getResultsInterpreter: "resultsInterpreter",
|
|
46
|
+
getSpecimen: "specimen",
|
|
47
|
+
getResults: "result",
|
|
48
|
+
getImagingStudy: "imagingStudy",
|
|
49
|
+
getMediaLink: "media.link",
|
|
26
50
|
},
|
|
27
51
|
Patient: {
|
|
28
52
|
getGeneralPractitioners: "generalPractitioner",
|
|
29
53
|
getManagingOrganization: "managingOrganization",
|
|
54
|
+
getContactOrganization: "contact.organization",
|
|
55
|
+
getLinkOther: "link.other",
|
|
56
|
+
},
|
|
57
|
+
Practitioner: {
|
|
58
|
+
getQualificationIssuer: "qualification.issuer",
|
|
59
|
+
},
|
|
60
|
+
PractitionerRole: {
|
|
61
|
+
getPractitioner: "practitioner",
|
|
62
|
+
getOrganization: "organization",
|
|
63
|
+
getLocation: "location",
|
|
64
|
+
getHealthcareService: "healthcareService",
|
|
65
|
+
getEndpoint: "endpoint",
|
|
30
66
|
},
|
|
31
67
|
AllergyIntolerance: {
|
|
32
68
|
getPatient: "patient",
|
|
@@ -39,19 +75,29 @@ exports.REFERENCE_METHOD_MAPPING = {
|
|
|
39
75
|
getEncounter: "encounter",
|
|
40
76
|
getRecorder: "recorder",
|
|
41
77
|
getAsserter: "asserter",
|
|
78
|
+
getStageAssessment: "stage.assessment",
|
|
79
|
+
getEvidenceDetail: "evidence.detail",
|
|
42
80
|
},
|
|
43
81
|
Organization: {
|
|
44
82
|
getPartOf: "partOf",
|
|
83
|
+
getEndpoint: "endpoint",
|
|
45
84
|
},
|
|
46
85
|
Location: {
|
|
47
86
|
getManagingOrganization: "managingOrganization",
|
|
48
87
|
getPartOf: "partOf",
|
|
88
|
+
getEndpoint: "endpoint",
|
|
49
89
|
},
|
|
50
90
|
Composition: {
|
|
51
91
|
getSubject: "subject",
|
|
52
92
|
getEncounter: "encounter",
|
|
53
93
|
getAuthors: "author",
|
|
54
94
|
getCustodian: "custodian",
|
|
95
|
+
getAttesterParty: "attester.party",
|
|
96
|
+
getRelatesToTarget: "relatesTo.targetReference",
|
|
97
|
+
getEventDetail: "event.detail",
|
|
98
|
+
getSectionAuthor: "section.author",
|
|
99
|
+
getSectionFocus: "section.focus",
|
|
100
|
+
getSectionEntry: "section.entry",
|
|
55
101
|
},
|
|
56
102
|
Coverage: {
|
|
57
103
|
getBeneficiary: "beneficiary",
|
|
@@ -64,26 +110,57 @@ exports.REFERENCE_METHOD_MAPPING = {
|
|
|
64
110
|
getAuthors: "author",
|
|
65
111
|
getAuthenticator: "authenticator",
|
|
66
112
|
getCustodian: "custodian",
|
|
113
|
+
getRelatesToTarget: "relatesTo.target",
|
|
114
|
+
getContextEncounter: "context.encounter",
|
|
115
|
+
getContextSourcePatientInfo: "context.sourcePatientInfo",
|
|
116
|
+
getContextRelated: "context.related",
|
|
67
117
|
},
|
|
68
118
|
Immunization: {
|
|
69
119
|
getPatient: "patient",
|
|
70
120
|
getEncounter: "encounter",
|
|
121
|
+
getLocation: "location",
|
|
122
|
+
getManufacturer: "manufacturer",
|
|
71
123
|
getPerformers: "performer.actor",
|
|
124
|
+
getReasonReference: "reasonReference",
|
|
125
|
+
getProtocolAppliedAuthority: "protocolApplied.authority",
|
|
126
|
+
getReactionDetail: "reaction.detail",
|
|
72
127
|
},
|
|
73
128
|
Medication: {
|
|
74
129
|
getManufacturer: "manufacturer",
|
|
130
|
+
getIngredientItem: "ingredient.itemReference",
|
|
75
131
|
},
|
|
76
132
|
MedicationRequest: {
|
|
133
|
+
getReportedReference: "reportedReference",
|
|
134
|
+
getMedicationReference: "medicationReference",
|
|
77
135
|
getSubject: "subject",
|
|
78
136
|
getEncounter: "encounter",
|
|
137
|
+
getSupportingInformation: "supportingInformation",
|
|
79
138
|
getRequester: "requester",
|
|
80
139
|
getPerformer: "performer",
|
|
81
|
-
|
|
140
|
+
getRecorder: "recorder",
|
|
141
|
+
getReasonReference: "reasonReference",
|
|
142
|
+
getBasedOn: "basedOn",
|
|
143
|
+
getInsurance: "insurance",
|
|
144
|
+
getPriorPrescription: "priorPrescription",
|
|
145
|
+
getDetectedIssue: "detectedIssue",
|
|
146
|
+
getEventHistory: "eventHistory",
|
|
147
|
+
getDispenseRequestPerformer: "dispenseRequest.performer",
|
|
82
148
|
},
|
|
83
149
|
Procedure: {
|
|
150
|
+
getBasedOn: "basedOn",
|
|
151
|
+
getPartOf: "partOf",
|
|
84
152
|
getSubject: "subject",
|
|
85
153
|
getEncounter: "encounter",
|
|
154
|
+
getRecorder: "recorder",
|
|
155
|
+
getAsserter: "asserter",
|
|
86
156
|
getPerformers: "performer.actor",
|
|
157
|
+
getPerformerOnBehalfOf: "performer.onBehalfOf",
|
|
158
|
+
getLocation: "location",
|
|
159
|
+
getReasonReference: "reasonReference",
|
|
160
|
+
getReport: "report",
|
|
161
|
+
getComplicationDetail: "complicationDetail",
|
|
162
|
+
getFocalDeviceManipulated: "focalDevice.manipulated",
|
|
163
|
+
getUsedReference: "usedReference",
|
|
87
164
|
},
|
|
88
165
|
FamilyMemberHistory: {
|
|
89
166
|
getPatient: "patient",
|
|
@@ -91,13 +168,13 @@ exports.REFERENCE_METHOD_MAPPING = {
|
|
|
91
168
|
MedicationAdministration: {
|
|
92
169
|
getSubject: "subject",
|
|
93
170
|
getContext: "context",
|
|
94
|
-
getPerformers: "performer",
|
|
171
|
+
getPerformers: "performer.actor",
|
|
95
172
|
getMedicationReference: "medicationReference",
|
|
96
173
|
},
|
|
97
174
|
MedicationDispense: {
|
|
98
175
|
getSubject: "subject",
|
|
99
176
|
getContext: "context",
|
|
100
|
-
getPerformers: "performer",
|
|
177
|
+
getPerformers: "performer.actor",
|
|
101
178
|
getMedicationReference: "medicationReference",
|
|
102
179
|
},
|
|
103
180
|
MedicationStatement: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"smart-resources.js","sourceRoot":"","sources":["../../src/types/smart-resources.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"smart-resources.js","sourceRoot":"","sources":["../../src/types/smart-resources.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
export interface Interval<N extends number | bigint = number> {
|
|
2
|
+
readonly low: N;
|
|
3
|
+
readonly high: N;
|
|
4
|
+
}
|
|
5
|
+
export declare class Node<T extends Interval<N>, N extends number | bigint = number> {
|
|
6
|
+
intervalTree: IntervalTree<T, N>;
|
|
7
|
+
key: N;
|
|
8
|
+
max: N;
|
|
9
|
+
records: T[];
|
|
10
|
+
parent?: Node<T, N>;
|
|
11
|
+
height: number;
|
|
12
|
+
left?: Node<T, N>;
|
|
13
|
+
right?: Node<T, N>;
|
|
14
|
+
constructor(intervalTree: IntervalTree<T, N>, record: T);
|
|
15
|
+
getNodeHigh(): N;
|
|
16
|
+
updateHeight(): void;
|
|
17
|
+
updateMaxOfParents(): void;
|
|
18
|
+
private _updateMaxAfterRightRotate;
|
|
19
|
+
private _updateMaxAfterLeftRotate;
|
|
20
|
+
private _leftRotate;
|
|
21
|
+
private _rightRotate;
|
|
22
|
+
private _rebalance;
|
|
23
|
+
insert(record: T): void;
|
|
24
|
+
private _getOverlappingRecords;
|
|
25
|
+
search(low: N, high: N): T[];
|
|
26
|
+
searchExisting(low: N): Node<T, N> | undefined;
|
|
27
|
+
private _minValue;
|
|
28
|
+
remove(node: Node<T, N>): Node<T, N> | undefined;
|
|
29
|
+
}
|
|
30
|
+
export declare class IntervalTree<T extends Interval<N>, N extends number | bigint = number> {
|
|
31
|
+
root?: Node<T, N>;
|
|
32
|
+
count: number;
|
|
33
|
+
insert(record: T): boolean;
|
|
34
|
+
search(low: N, high: N): T[];
|
|
35
|
+
remove(record: T): boolean;
|
|
36
|
+
inOrder(): InOrder<T, N>;
|
|
37
|
+
reverseInOrder(): ReverseInOrder<T, N>;
|
|
38
|
+
preOrder(): PreOrder<T, N>;
|
|
39
|
+
}
|
|
40
|
+
export interface DataInterval<T, N extends number | bigint = number> extends Interval<N> {
|
|
41
|
+
data: T;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* The default export just wraps the `IntervalTree`, while providing a simpler API. Check out the
|
|
45
|
+
* README for description on how to use each.
|
|
46
|
+
*/
|
|
47
|
+
export default class DataIntervalTree<T, N extends number | bigint = number> {
|
|
48
|
+
private tree;
|
|
49
|
+
insert(low: N, high: N, data: T): boolean;
|
|
50
|
+
remove(low: N, high: N, data: T): boolean;
|
|
51
|
+
search(low: N, high: N): T[];
|
|
52
|
+
inOrder(): InOrder<DataInterval<T, N>, N>;
|
|
53
|
+
reverseInOrder(): ReverseInOrder<DataInterval<T, N>, N>;
|
|
54
|
+
preOrder(): PreOrder<DataInterval<T, N>, N>;
|
|
55
|
+
get count(): number;
|
|
56
|
+
}
|
|
57
|
+
export declare class InOrder<T extends Interval<N>, N extends number | bigint = number> implements IterableIterator<T> {
|
|
58
|
+
private stack;
|
|
59
|
+
private currentNode?;
|
|
60
|
+
private i;
|
|
61
|
+
constructor(startNode?: Node<T, N>);
|
|
62
|
+
[Symbol.iterator](): this;
|
|
63
|
+
next(): IteratorResult<T>;
|
|
64
|
+
private push;
|
|
65
|
+
private pop;
|
|
66
|
+
}
|
|
67
|
+
export declare class ReverseInOrder<T extends Interval<N>, N extends number | bigint = number> implements IterableIterator<T> {
|
|
68
|
+
private stack;
|
|
69
|
+
private currentNode?;
|
|
70
|
+
private i;
|
|
71
|
+
constructor(startNode?: Node<T, N>);
|
|
72
|
+
[Symbol.iterator](): this;
|
|
73
|
+
next(): IteratorResult<T>;
|
|
74
|
+
private push;
|
|
75
|
+
private pop;
|
|
76
|
+
}
|
|
77
|
+
export declare class PreOrder<T extends Interval<N>, N extends number | bigint = number> implements IterableIterator<T> {
|
|
78
|
+
private stack;
|
|
79
|
+
private currentNode?;
|
|
80
|
+
private i;
|
|
81
|
+
constructor(startNode?: Node<T, N>);
|
|
82
|
+
[Symbol.iterator](): this;
|
|
83
|
+
next(): IteratorResult<T>;
|
|
84
|
+
private push;
|
|
85
|
+
private pop;
|
|
86
|
+
}
|
|
87
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/interval-tree/index.ts"],"names":[],"mappings":"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"}
|