@metriport/fhir-sdk 1.2.5
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/LICENSE +21 -0
- package/README.md +124 -0
- package/dist/__tests__/env-setup.d.ts +2 -0
- package/dist/__tests__/env-setup.d.ts.map +1 -0
- package/dist/__tests__/env-setup.js +37 -0
- package/dist/__tests__/env-setup.js.map +1 -0
- package/dist/__tests__/fhir-bundle-sdk-basic.test.d.ts +2 -0
- package/dist/__tests__/fhir-bundle-sdk-basic.test.d.ts.map +1 -0
- package/dist/__tests__/fhir-bundle-sdk-basic.test.js +19 -0
- package/dist/__tests__/fhir-bundle-sdk-basic.test.js.map +1 -0
- package/dist/__tests__/fhir-bundle-sdk.test.d.ts +2 -0
- package/dist/__tests__/fhir-bundle-sdk.test.d.ts.map +1 -0
- package/dist/__tests__/fhir-bundle-sdk.test.js +433 -0
- package/dist/__tests__/fhir-bundle-sdk.test.js.map +1 -0
- package/dist/__tests__/fixtures/fhir-bundles.d.ts +31 -0
- package/dist/__tests__/fixtures/fhir-bundles.d.ts.map +1 -0
- package/dist/__tests__/fixtures/fhir-bundles.js +369 -0
- package/dist/__tests__/fixtures/fhir-bundles.js.map +1 -0
- package/dist/__tests__/phase1-verification.test.d.ts +2 -0
- package/dist/__tests__/phase1-verification.test.d.ts.map +1 -0
- package/dist/__tests__/phase1-verification.test.js +141 -0
- package/dist/__tests__/phase1-verification.test.js.map +1 -0
- package/dist/__tests__/phase2-verification.test.d.ts +2 -0
- package/dist/__tests__/phase2-verification.test.d.ts.map +1 -0
- package/dist/__tests__/phase2-verification.test.js +234 -0
- package/dist/__tests__/phase2-verification.test.js.map +1 -0
- package/dist/__tests__/phase3-verification.test.d.ts +2 -0
- package/dist/__tests__/phase3-verification.test.d.ts.map +1 -0
- package/dist/__tests__/phase3-verification.test.js +121 -0
- package/dist/__tests__/phase3-verification.test.js.map +1 -0
- package/dist/__tests__/phase4-verification.test.d.ts +2 -0
- package/dist/__tests__/phase4-verification.test.d.ts.map +1 -0
- package/dist/__tests__/phase4-verification.test.js +168 -0
- package/dist/__tests__/phase4-verification.test.js.map +1 -0
- package/dist/__tests__/phase5-verification.test.d.ts +2 -0
- package/dist/__tests__/phase5-verification.test.d.ts.map +1 -0
- package/dist/__tests__/phase5-verification.test.js +200 -0
- package/dist/__tests__/phase5-verification.test.js.map +1 -0
- package/dist/index.d.ts +245 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +681 -0
- package/dist/index.js.map +1 -0
- package/dist/types/smart-resources.d.ts +219 -0
- package/dist/types/smart-resources.d.ts.map +1 -0
- package/dist/types/smart-resources.js +140 -0
- package/dist/types/smart-resources.js.map +1 -0
- package/package.json +69 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
import { Resource, Patient, Observation, Encounter, Practitioner, PractitionerRole, Organization, CareTeam, RelatedPerson, DiagnosticReport, Group, Device, Location, AllergyIntolerance, Condition, Composition, Coverage, DocumentReference, FamilyMemberHistory, Immunization, Medication, MedicationAdministration, MedicationDispense, MedicationRequest, MedicationStatement, Procedure, RiskAssessment, ServiceRequest } from "@medplum/fhirtypes";
|
|
2
|
+
/**
|
|
3
|
+
* Base interface for smart resources - all smart resources have these capabilities
|
|
4
|
+
*/
|
|
5
|
+
export interface SmartResourceBase {
|
|
6
|
+
readonly __isSmartResource: true;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Generic type that converts any Resource to a Smart resource
|
|
10
|
+
*/
|
|
11
|
+
export type Smart<T extends Resource> = T & SmartResourceBase & ReferenceMethodsFor<T>;
|
|
12
|
+
/**
|
|
13
|
+
* Reference methods for Observation resources
|
|
14
|
+
*/
|
|
15
|
+
export interface ObservationReferenceMethods {
|
|
16
|
+
getSubject<T extends Patient | Group | Device | Location>(): Smart<T> | undefined;
|
|
17
|
+
getEncounter(): Smart<Encounter> | undefined;
|
|
18
|
+
getPerformers<T extends Practitioner | PractitionerRole | Organization | CareTeam | Patient | RelatedPerson>(): Smart<T>[];
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Reference methods for Encounter resources
|
|
22
|
+
*/
|
|
23
|
+
export interface EncounterReferenceMethods {
|
|
24
|
+
getSubject<T extends Patient | Group>(): Smart<T> | undefined;
|
|
25
|
+
getParticipants<T extends Practitioner | PractitionerRole | RelatedPerson | Device>(): Smart<T>[];
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Reference methods for DiagnosticReport resources
|
|
29
|
+
*/
|
|
30
|
+
export interface DiagnosticReportReferenceMethods {
|
|
31
|
+
getSubject<T extends Patient | Group | Device | Location>(): Smart<T> | undefined;
|
|
32
|
+
getResults(): Smart<Observation>[];
|
|
33
|
+
getPerformers<T extends Practitioner | PractitionerRole | Organization | CareTeam>(): Smart<T>[];
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Reference methods for Patient resources
|
|
37
|
+
*/
|
|
38
|
+
export interface PatientReferenceMethods {
|
|
39
|
+
getGeneralPractitioners<T extends Practitioner | PractitionerRole | Organization>(): Smart<T>[];
|
|
40
|
+
getManagingOrganization(): Smart<Organization> | undefined;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Reference methods for Practitioner resources
|
|
44
|
+
*/
|
|
45
|
+
export interface PractitionerReferenceMethods {
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Reference methods for AllergyIntolerance resources
|
|
49
|
+
*/
|
|
50
|
+
export interface AllergyIntoleranceReferenceMethods {
|
|
51
|
+
getPatient(): Smart<Patient> | undefined;
|
|
52
|
+
getEncounter(): Smart<Encounter> | undefined;
|
|
53
|
+
getRecorder<T extends Practitioner | PractitionerRole | Patient | RelatedPerson>(): Smart<T> | undefined;
|
|
54
|
+
getAsserter<T extends Patient | RelatedPerson | Practitioner | PractitionerRole>(): Smart<T> | undefined;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Reference methods for Condition resources
|
|
58
|
+
*/
|
|
59
|
+
export interface ConditionReferenceMethods {
|
|
60
|
+
getSubject<T extends Patient | Group>(): Smart<T> | undefined;
|
|
61
|
+
getEncounter(): Smart<Encounter> | undefined;
|
|
62
|
+
getRecorder<T extends Practitioner | PractitionerRole | Patient | RelatedPerson>(): Smart<T> | undefined;
|
|
63
|
+
getAsserter<T extends Practitioner | PractitionerRole | Patient | RelatedPerson>(): Smart<T> | undefined;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Reference methods for Organization resources
|
|
67
|
+
*/
|
|
68
|
+
export interface OrganizationReferenceMethods {
|
|
69
|
+
getPartOf(): Smart<Organization> | undefined;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Reference methods for Location resources
|
|
73
|
+
*/
|
|
74
|
+
export interface LocationReferenceMethods {
|
|
75
|
+
getManagingOrganization(): Smart<Organization> | undefined;
|
|
76
|
+
getPartOf(): Smart<Location> | undefined;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Reference methods for Composition resources
|
|
80
|
+
*/
|
|
81
|
+
export interface CompositionReferenceMethods {
|
|
82
|
+
getSubject<T extends Patient | Group | Device | Location>(): Smart<T> | undefined;
|
|
83
|
+
getEncounter(): Smart<Encounter> | undefined;
|
|
84
|
+
getAuthors<T extends Practitioner | PractitionerRole | Device | Patient | RelatedPerson | Organization>(): Smart<T>[];
|
|
85
|
+
getCustodian(): Smart<Organization> | undefined;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Reference methods for Coverage resources
|
|
89
|
+
*/
|
|
90
|
+
export interface CoverageReferenceMethods {
|
|
91
|
+
getBeneficiary(): Smart<Patient> | undefined;
|
|
92
|
+
getSubscriber<T extends Patient | RelatedPerson>(): Smart<T> | undefined;
|
|
93
|
+
getPayors<T extends Organization | Patient | RelatedPerson>(): Smart<T>[];
|
|
94
|
+
getPolicyHolder<T extends Patient | RelatedPerson | Organization>(): Smart<T> | undefined;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Reference methods for DocumentReference resources
|
|
98
|
+
*/
|
|
99
|
+
export interface DocumentReferenceReferenceMethods {
|
|
100
|
+
getSubject<T extends Patient | Group | Practitioner | PractitionerRole | Device>(): Smart<T> | undefined;
|
|
101
|
+
getAuthors<T extends Practitioner | PractitionerRole | Organization | Device | Patient | RelatedPerson>(): Smart<T>[];
|
|
102
|
+
getAuthenticator<T extends Practitioner | PractitionerRole | Organization>(): Smart<T> | undefined;
|
|
103
|
+
getCustodian(): Smart<Organization> | undefined;
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Reference methods for Immunization resources
|
|
107
|
+
*/
|
|
108
|
+
export interface ImmunizationReferenceMethods {
|
|
109
|
+
getPatient(): Smart<Patient> | undefined;
|
|
110
|
+
getEncounter(): Smart<Encounter> | undefined;
|
|
111
|
+
getPerformers<T extends Practitioner | PractitionerRole | Organization>(): Smart<T>[];
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Reference methods for Medication resources
|
|
115
|
+
*/
|
|
116
|
+
export interface MedicationReferenceMethods {
|
|
117
|
+
getManufacturer(): Smart<Organization> | undefined;
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Reference methods for MedicationRequest resources
|
|
121
|
+
*/
|
|
122
|
+
export interface MedicationRequestReferenceMethods {
|
|
123
|
+
getSubject<T extends Patient | Group>(): Smart<T> | undefined;
|
|
124
|
+
getEncounter(): Smart<Encounter> | undefined;
|
|
125
|
+
getRequester<T extends Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device>(): Smart<T> | undefined;
|
|
126
|
+
getPerformer<T extends Practitioner | PractitionerRole | Organization | Patient | Device | RelatedPerson | CareTeam>(): Smart<T> | undefined;
|
|
127
|
+
getMedicationReference(): Smart<Medication> | undefined;
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Reference methods for Procedure resources
|
|
131
|
+
*/
|
|
132
|
+
export interface ProcedureReferenceMethods {
|
|
133
|
+
getSubject<T extends Patient | Group>(): Smart<T> | undefined;
|
|
134
|
+
getEncounter(): Smart<Encounter> | undefined;
|
|
135
|
+
getPerformers<T extends Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device>(): Smart<T>[];
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Reference methods for FamilyMemberHistory resources
|
|
139
|
+
*/
|
|
140
|
+
export interface FamilyMemberHistoryReferenceMethods {
|
|
141
|
+
getPatient(): Smart<Patient> | undefined;
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Reference methods for MedicationAdministration resources
|
|
145
|
+
*/
|
|
146
|
+
export interface MedicationAdministrationReferenceMethods {
|
|
147
|
+
getSubject<T extends Patient | Group>(): Smart<T> | undefined;
|
|
148
|
+
getContext<T extends Encounter>(): Smart<T> | undefined;
|
|
149
|
+
getPerformers<T extends Practitioner | PractitionerRole | Patient | RelatedPerson | Device>(): Smart<T>[];
|
|
150
|
+
getMedicationReference(): Smart<Medication> | undefined;
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Reference methods for MedicationDispense resources
|
|
154
|
+
*/
|
|
155
|
+
export interface MedicationDispenseReferenceMethods {
|
|
156
|
+
getSubject<T extends Patient | Group>(): Smart<T> | undefined;
|
|
157
|
+
getContext<T extends Encounter>(): Smart<T> | undefined;
|
|
158
|
+
getPerformers<T extends Practitioner | PractitionerRole | Organization | Patient | Device | RelatedPerson>(): Smart<T>[];
|
|
159
|
+
getMedicationReference(): Smart<Medication> | undefined;
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Reference methods for MedicationStatement resources
|
|
163
|
+
*/
|
|
164
|
+
export interface MedicationStatementReferenceMethods {
|
|
165
|
+
getSubject<T extends Patient | Group>(): Smart<T> | undefined;
|
|
166
|
+
getContext<T extends Encounter>(): Smart<T> | undefined;
|
|
167
|
+
getInformationSource<T extends Patient | Practitioner | PractitionerRole | RelatedPerson | Organization>(): Smart<T> | undefined;
|
|
168
|
+
getMedicationReference(): Smart<Medication> | undefined;
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Reference methods for RelatedPerson resources
|
|
172
|
+
*/
|
|
173
|
+
export interface RelatedPersonReferenceMethods {
|
|
174
|
+
getPatient(): Smart<Patient> | undefined;
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Reference methods for RiskAssessment resources
|
|
178
|
+
*/
|
|
179
|
+
export interface RiskAssessmentReferenceMethods {
|
|
180
|
+
getSubject<T extends Patient | Group>(): Smart<T> | undefined;
|
|
181
|
+
getEncounter(): Smart<Encounter> | undefined;
|
|
182
|
+
getPerformer<T extends Practitioner | PractitionerRole | Device>(): Smart<T> | undefined;
|
|
183
|
+
}
|
|
184
|
+
/**
|
|
185
|
+
* Reference methods for ServiceRequest resources
|
|
186
|
+
*/
|
|
187
|
+
export interface ServiceRequestReferenceMethods {
|
|
188
|
+
getSubject<T extends Patient | Group | Location | Device>(): Smart<T> | undefined;
|
|
189
|
+
getEncounter(): Smart<Encounter> | undefined;
|
|
190
|
+
getRequester<T extends Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device>(): Smart<T> | undefined;
|
|
191
|
+
getPerformers<T extends Practitioner | PractitionerRole | Organization | CareTeam | Patient | Device | RelatedPerson>(): Smart<T>[];
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* Base reference methods for resources that don't have specific reference patterns
|
|
195
|
+
*/
|
|
196
|
+
export interface BaseReferenceMethods {
|
|
197
|
+
}
|
|
198
|
+
/**
|
|
199
|
+
* Conditional type that maps resource types to their reference methods
|
|
200
|
+
*/
|
|
201
|
+
export type ReferenceMethodsFor<T extends Resource> = T extends Observation ? ObservationReferenceMethods : T extends Encounter ? EncounterReferenceMethods : T extends DiagnosticReport ? DiagnosticReportReferenceMethods : T extends Patient ? PatientReferenceMethods : T extends Practitioner ? PractitionerReferenceMethods : T extends AllergyIntolerance ? AllergyIntoleranceReferenceMethods : T extends Condition ? ConditionReferenceMethods : T extends Organization ? OrganizationReferenceMethods : T extends Location ? LocationReferenceMethods : T extends Composition ? CompositionReferenceMethods : T extends Coverage ? CoverageReferenceMethods : T extends DocumentReference ? DocumentReferenceReferenceMethods : T extends Immunization ? ImmunizationReferenceMethods : T extends Medication ? MedicationReferenceMethods : T extends MedicationRequest ? MedicationRequestReferenceMethods : T extends Procedure ? ProcedureReferenceMethods : T extends FamilyMemberHistory ? FamilyMemberHistoryReferenceMethods : T extends MedicationAdministration ? MedicationAdministrationReferenceMethods : T extends MedicationDispense ? MedicationDispenseReferenceMethods : T extends MedicationStatement ? MedicationStatementReferenceMethods : T extends RelatedPerson ? RelatedPersonReferenceMethods : T extends RiskAssessment ? RiskAssessmentReferenceMethods : T extends ServiceRequest ? ServiceRequestReferenceMethods : BaseReferenceMethods;
|
|
202
|
+
/**
|
|
203
|
+
* Note: We only use the generic Smart<T> pattern for consistency.
|
|
204
|
+
* Specific type aliases like SmartObservation are not needed since
|
|
205
|
+
* Smart<Observation> provides the same functionality.
|
|
206
|
+
*/
|
|
207
|
+
/**
|
|
208
|
+
* Reference field mapping - maps reference method names to their field paths
|
|
209
|
+
*/
|
|
210
|
+
export declare const REFERENCE_METHOD_MAPPING: Record<string, Record<string, string>>;
|
|
211
|
+
/**
|
|
212
|
+
* Helper type to check if a method name is a valid reference method for a resource type
|
|
213
|
+
*/
|
|
214
|
+
export declare function isReferenceMethod(methodName: string, resourceType: string): boolean;
|
|
215
|
+
/**
|
|
216
|
+
* Get the reference field path for a method name and resource type
|
|
217
|
+
*/
|
|
218
|
+
export declare function getReferenceField(methodName: string, resourceType: string): string | undefined;
|
|
219
|
+
//# sourceMappingURL=smart-resources.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"smart-resources.d.ts","sourceRoot":"","sources":["../../src/types/smart-resources.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getReferenceField = exports.isReferenceMethod = exports.REFERENCE_METHOD_MAPPING = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Note: We only use the generic Smart<T> pattern for consistency.
|
|
6
|
+
* Specific type aliases like SmartObservation are not needed since
|
|
7
|
+
* Smart<Observation> provides the same functionality.
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Reference field mapping - maps reference method names to their field paths
|
|
11
|
+
*/
|
|
12
|
+
exports.REFERENCE_METHOD_MAPPING = {
|
|
13
|
+
Observation: {
|
|
14
|
+
getSubject: "subject",
|
|
15
|
+
getEncounter: "encounter",
|
|
16
|
+
getPerformers: "performer",
|
|
17
|
+
},
|
|
18
|
+
Encounter: {
|
|
19
|
+
getSubject: "subject",
|
|
20
|
+
getParticipants: "participant",
|
|
21
|
+
},
|
|
22
|
+
DiagnosticReport: {
|
|
23
|
+
getSubject: "subject",
|
|
24
|
+
getResults: "result",
|
|
25
|
+
getPerformers: "performer",
|
|
26
|
+
},
|
|
27
|
+
Patient: {
|
|
28
|
+
getGeneralPractitioners: "generalPractitioner",
|
|
29
|
+
getManagingOrganization: "managingOrganization",
|
|
30
|
+
},
|
|
31
|
+
AllergyIntolerance: {
|
|
32
|
+
getPatient: "patient",
|
|
33
|
+
getEncounter: "encounter",
|
|
34
|
+
getRecorder: "recorder",
|
|
35
|
+
getAsserter: "asserter",
|
|
36
|
+
},
|
|
37
|
+
Condition: {
|
|
38
|
+
getSubject: "subject",
|
|
39
|
+
getEncounter: "encounter",
|
|
40
|
+
getRecorder: "recorder",
|
|
41
|
+
getAsserter: "asserter",
|
|
42
|
+
},
|
|
43
|
+
Organization: {
|
|
44
|
+
getPartOf: "partOf",
|
|
45
|
+
},
|
|
46
|
+
Location: {
|
|
47
|
+
getManagingOrganization: "managingOrganization",
|
|
48
|
+
getPartOf: "partOf",
|
|
49
|
+
},
|
|
50
|
+
Composition: {
|
|
51
|
+
getSubject: "subject",
|
|
52
|
+
getEncounter: "encounter",
|
|
53
|
+
getAuthors: "author",
|
|
54
|
+
getCustodian: "custodian",
|
|
55
|
+
},
|
|
56
|
+
Coverage: {
|
|
57
|
+
getBeneficiary: "beneficiary",
|
|
58
|
+
getSubscriber: "subscriber",
|
|
59
|
+
getPayors: "payor",
|
|
60
|
+
getPolicyHolder: "policyHolder",
|
|
61
|
+
},
|
|
62
|
+
DocumentReference: {
|
|
63
|
+
getSubject: "subject",
|
|
64
|
+
getAuthors: "author",
|
|
65
|
+
getAuthenticator: "authenticator",
|
|
66
|
+
getCustodian: "custodian",
|
|
67
|
+
},
|
|
68
|
+
Immunization: {
|
|
69
|
+
getPatient: "patient",
|
|
70
|
+
getEncounter: "encounter",
|
|
71
|
+
getPerformers: "performer.actor",
|
|
72
|
+
},
|
|
73
|
+
Medication: {
|
|
74
|
+
getManufacturer: "manufacturer",
|
|
75
|
+
},
|
|
76
|
+
MedicationRequest: {
|
|
77
|
+
getSubject: "subject",
|
|
78
|
+
getEncounter: "encounter",
|
|
79
|
+
getRequester: "requester",
|
|
80
|
+
getPerformer: "performer",
|
|
81
|
+
getMedicationReference: "medicationReference",
|
|
82
|
+
},
|
|
83
|
+
Procedure: {
|
|
84
|
+
getSubject: "subject",
|
|
85
|
+
getEncounter: "encounter",
|
|
86
|
+
getPerformers: "performer.actor",
|
|
87
|
+
},
|
|
88
|
+
FamilyMemberHistory: {
|
|
89
|
+
getPatient: "patient",
|
|
90
|
+
},
|
|
91
|
+
MedicationAdministration: {
|
|
92
|
+
getSubject: "subject",
|
|
93
|
+
getContext: "context",
|
|
94
|
+
getPerformers: "performer",
|
|
95
|
+
getMedicationReference: "medicationReference",
|
|
96
|
+
},
|
|
97
|
+
MedicationDispense: {
|
|
98
|
+
getSubject: "subject",
|
|
99
|
+
getContext: "context",
|
|
100
|
+
getPerformers: "performer",
|
|
101
|
+
getMedicationReference: "medicationReference",
|
|
102
|
+
},
|
|
103
|
+
MedicationStatement: {
|
|
104
|
+
getSubject: "subject",
|
|
105
|
+
getContext: "context",
|
|
106
|
+
getInformationSource: "informationSource",
|
|
107
|
+
getMedicationReference: "medicationReference",
|
|
108
|
+
},
|
|
109
|
+
RelatedPerson: {
|
|
110
|
+
getPatient: "patient",
|
|
111
|
+
},
|
|
112
|
+
RiskAssessment: {
|
|
113
|
+
getSubject: "subject",
|
|
114
|
+
getEncounter: "encounter",
|
|
115
|
+
getPerformer: "performer",
|
|
116
|
+
},
|
|
117
|
+
ServiceRequest: {
|
|
118
|
+
getSubject: "subject",
|
|
119
|
+
getEncounter: "encounter",
|
|
120
|
+
getRequester: "requester",
|
|
121
|
+
getPerformers: "performer",
|
|
122
|
+
},
|
|
123
|
+
};
|
|
124
|
+
/**
|
|
125
|
+
* Helper type to check if a method name is a valid reference method for a resource type
|
|
126
|
+
*/
|
|
127
|
+
function isReferenceMethod(methodName, resourceType) {
|
|
128
|
+
const mapping = exports.REFERENCE_METHOD_MAPPING[resourceType];
|
|
129
|
+
return mapping ? methodName in mapping : false;
|
|
130
|
+
}
|
|
131
|
+
exports.isReferenceMethod = isReferenceMethod;
|
|
132
|
+
/**
|
|
133
|
+
* Get the reference field path for a method name and resource type
|
|
134
|
+
*/
|
|
135
|
+
function getReferenceField(methodName, resourceType) {
|
|
136
|
+
const mapping = exports.REFERENCE_METHOD_MAPPING[resourceType];
|
|
137
|
+
return mapping ? mapping[methodName] : undefined;
|
|
138
|
+
}
|
|
139
|
+
exports.getReferenceField = getReferenceField;
|
|
140
|
+
//# sourceMappingURL=smart-resources.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"smart-resources.js","sourceRoot":"","sources":["../../src/types/smart-resources.ts"],"names":[],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@metriport/fhir-sdk",
|
|
3
|
+
"version": "1.2.5",
|
|
4
|
+
"description": "FHIR Bundle SDK for parsing, querying, and manipulating FHIR bundles with reference resolution",
|
|
5
|
+
"author": "Metriport Inc. <contact@metriport.com>",
|
|
6
|
+
"homepage": "https://metriport.com/",
|
|
7
|
+
"license": "MIT",
|
|
8
|
+
"main": "dist/index.js",
|
|
9
|
+
"types": "dist/index.d.ts",
|
|
10
|
+
"publishConfig": {
|
|
11
|
+
"access": "public"
|
|
12
|
+
},
|
|
13
|
+
"files": [
|
|
14
|
+
"dist",
|
|
15
|
+
"README.md",
|
|
16
|
+
"LICENSE",
|
|
17
|
+
"package.json"
|
|
18
|
+
],
|
|
19
|
+
"exports": {
|
|
20
|
+
".": "./dist/index.js"
|
|
21
|
+
},
|
|
22
|
+
"typesVersions": {
|
|
23
|
+
"*": {
|
|
24
|
+
"/": [
|
|
25
|
+
"dist/index.d.ts"
|
|
26
|
+
]
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
"repository": {
|
|
30
|
+
"url": "https://github.com/metriport/metriport.git",
|
|
31
|
+
"type": "git",
|
|
32
|
+
"directory": "packages/fhir-sdk"
|
|
33
|
+
},
|
|
34
|
+
"bugs": {
|
|
35
|
+
"url": "https://github.com/metriport/metriport/issues"
|
|
36
|
+
},
|
|
37
|
+
"scripts": {
|
|
38
|
+
"clean": "rimraf dist",
|
|
39
|
+
"deepclean": "npm run clean && rimraf node_modules",
|
|
40
|
+
"tsc": "tsc",
|
|
41
|
+
"watch": "tsc --watch",
|
|
42
|
+
"build": "tsc -p .",
|
|
43
|
+
"build:cloud": "npm run build",
|
|
44
|
+
"typecheck": "tsc --noEmit",
|
|
45
|
+
"lint": "npx eslint . --ext .ts",
|
|
46
|
+
"lint-fix": "npm run lint --fix",
|
|
47
|
+
"prettier-fix": "npx prettier '**/*.ts' --write",
|
|
48
|
+
"test": "jest --runInBand --detectOpenHandles --passWithNoTests",
|
|
49
|
+
"test:e2e": "E2E=true jest --runInBand --detectOpenHandles --passWithNoTests"
|
|
50
|
+
},
|
|
51
|
+
"dependencies": {
|
|
52
|
+
"@medplum/fhirtypes": "^2.2.10",
|
|
53
|
+
"@metriport/shared": "file:packages/shared"
|
|
54
|
+
},
|
|
55
|
+
"devDependencies": {
|
|
56
|
+
"@metriport/eslint-rules": "file:packages/eslint-rules",
|
|
57
|
+
"@tsconfig/recommended": "^1.0.2",
|
|
58
|
+
"@types/jest": "29.5.3",
|
|
59
|
+
"@typescript-eslint/eslint-plugin": "^5.48.2",
|
|
60
|
+
"@typescript-eslint/parser": "^5.48.2",
|
|
61
|
+
"eslint": "^8.32.0",
|
|
62
|
+
"eslint-config-prettier": "^8.6.0",
|
|
63
|
+
"jest": "^29.5.0",
|
|
64
|
+
"prettier": "^2.8.3",
|
|
65
|
+
"rimraf": "^5.0.1",
|
|
66
|
+
"ts-jest": "29.1.1",
|
|
67
|
+
"typescript": "^4.9.5"
|
|
68
|
+
}
|
|
69
|
+
}
|