@babelfhir-ts/client-r4b 0.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 ADDED
@@ -0,0 +1,62 @@
1
+ # @babelfhir-ts/client-r4b
2
+
3
+ [![npm](https://img.shields.io/npm/v/@babelfhir-ts/client-r4b.svg)](https://www.npmjs.com/package/@babelfhir-ts/client-r4b)
4
+ [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)
5
+
6
+ Typed FHIR R4B client with read/write/search methods for all 140 base resource types, SMART on FHIR auth, and bundle parsing.
7
+
8
+ ## Installation
9
+
10
+ ```bash
11
+ npm install @babelfhir-ts/client-r4b
12
+ ```
13
+
14
+ Peer dependency: `@types/fhir`
15
+
16
+ ## Usage
17
+
18
+ ```ts
19
+ import { FhirClient } from '@babelfhir-ts/client-r4b';
20
+
21
+ const client = new FhirClient('https://hapi.fhir.org/baseR4B');
22
+
23
+ // Typed read — returns fhir4b.Patient
24
+ const patient = await client.patient().read('example');
25
+
26
+ // Search with parameters
27
+ const results = await client.observation().search({ subject: 'Patient/example' });
28
+ ```
29
+
30
+ ### SMART on FHIR
31
+
32
+ ```ts
33
+ import { SmartFhirClient } from '@babelfhir-ts/client-r4b';
34
+
35
+ const client = new SmartFhirClient({
36
+ clientId: 'my-app',
37
+ redirectUri: 'http://localhost:3000/callback',
38
+ scope: 'openid fhirUser patient/*.read',
39
+ fhirBaseUrl: 'https://launch.smarthealthit.org/v/r4b/fhir',
40
+ });
41
+
42
+ await client.authorize();
43
+ ```
44
+
45
+ ## API
46
+
47
+ | Export | Description |
48
+ |---|---|
49
+ | `FhirReadClient` | 140 typed read/search accessors |
50
+ | `FhirWriteClient` | 140 typed create/update/delete accessors |
51
+ | `FhirClient` | Combined read + write client |
52
+ | `SmartFhirClient` | SMART-authenticated FHIR client |
53
+ | `BundleParser` | Static bundle extraction helpers |
54
+ | `SmartAuth` | SMART on FHIR v2 authorization (re-exported from `@babelfhir-ts/smart-auth`) |
55
+
56
+ ## Part of BabelFHIR-TS
57
+
58
+ This is the R4B variant of the base client from [BabelFHIR-TS](https://github.com/Max-Health-Inc/BabelFHIR-TS). See [@babelfhir-ts/client-r4](https://www.npmjs.com/package/@babelfhir-ts/client-r4) for the R4 version with full usage examples.
59
+
60
+ ## License
61
+
62
+ MIT
@@ -0,0 +1,21 @@
1
+ import type { Bundle, WithId } from "./types.js";
2
+ /**
3
+ * Extracts typed resources from a FHIR Bundle.
4
+ */
5
+ export declare class BundleParser {
6
+ /**
7
+ * Get all resources of a given type from a Bundle.
8
+ * @param bundle The FHIR Bundle to parse
9
+ * @param resourceType The resourceType string to filter by (e.g. "Patient")
10
+ */
11
+ static getResourcesByType<T extends fhir4b.Resource>(bundle: Bundle<fhir4b.Resource>, resourceType: string): WithId<T>[];
12
+ /**
13
+ * Get the first resource of a given type from a Bundle, or undefined.
14
+ */
15
+ static getFirstResourceByType<T extends fhir4b.Resource>(bundle: Bundle<fhir4b.Resource>, resourceType: string): WithId<T> | undefined;
16
+ /**
17
+ * Get all resources from a Bundle regardless of type.
18
+ */
19
+ static getAllResources(bundle: Bundle<fhir4b.Resource>): fhir4b.Resource[];
20
+ }
21
+ //# sourceMappingURL=bundle-parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bundle-parser.d.ts","sourceRoot":"","sources":["../src/bundle-parser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEjD;;GAEG;AACH,qBAAa,YAAY;IACvB;;;;OAIG;IACH,MAAM,CAAC,kBAAkB,CAAC,CAAC,SAAS,MAAM,CAAC,QAAQ,EACjD,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,EAC/B,YAAY,EAAE,MAAM,GACnB,MAAM,CAAC,CAAC,CAAC,EAAE;IAOd;;OAEG;IACH,MAAM,CAAC,sBAAsB,CAAC,CAAC,SAAS,MAAM,CAAC,QAAQ,EACrD,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,EAC/B,YAAY,EAAE,MAAM,GACnB,MAAM,CAAC,CAAC,CAAC,GAAG,SAAS;IAKxB;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,QAAQ,EAAE;CAI3E"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Extracts typed resources from a FHIR Bundle.
3
+ */
4
+ export class BundleParser {
5
+ /**
6
+ * Get all resources of a given type from a Bundle.
7
+ * @param bundle The FHIR Bundle to parse
8
+ * @param resourceType The resourceType string to filter by (e.g. "Patient")
9
+ */
10
+ static getResourcesByType(bundle, resourceType) {
11
+ if (!bundle.entry?.length)
12
+ return [];
13
+ return bundle.entry
14
+ .filter(e => e.resource?.resourceType === resourceType)
15
+ .map(e => e.resource);
16
+ }
17
+ /**
18
+ * Get the first resource of a given type from a Bundle, or undefined.
19
+ */
20
+ static getFirstResourceByType(bundle, resourceType) {
21
+ const res = BundleParser.getResourcesByType(bundle, resourceType);
22
+ return res[0];
23
+ }
24
+ /**
25
+ * Get all resources from a Bundle regardless of type.
26
+ */
27
+ static getAllResources(bundle) {
28
+ if (!bundle.entry?.length)
29
+ return [];
30
+ return bundle.entry.filter(e => e.resource).map(e => e.resource);
31
+ }
32
+ }
33
+ //# sourceMappingURL=bundle-parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bundle-parser.js","sourceRoot":"","sources":["../src/bundle-parser.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,OAAO,YAAY;IACvB;;;;OAIG;IACH,MAAM,CAAC,kBAAkB,CACvB,MAA+B,EAC/B,YAAoB;QAEpB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM;YAAE,OAAO,EAAE,CAAC;QACrC,OAAO,MAAM,CAAC,KAAK;aAChB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,YAAY,KAAK,YAAY,CAAC;aACtD,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAqB,CAAC,CAAC;IACvC,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,sBAAsB,CAC3B,MAA+B,EAC/B,YAAoB;QAEpB,MAAM,GAAG,GAAG,YAAY,CAAC,kBAAkB,CAAI,MAAM,EAAE,YAAY,CAAC,CAAC;QACrE,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,MAA+B;QACpD,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM;YAAE,OAAO,EAAE,CAAC;QACrC,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAS,CAAC,CAAC;IACpE,CAAC;CACF"}
@@ -0,0 +1,322 @@
1
+ import { FhirResourceReader } from "./reader.js";
2
+ import { FhirResourceWriter } from "./writer.js";
3
+ import type { FetchFn } from "./types.js";
4
+ /**
5
+ * FHIR R4B read client with typed accessors for all base resource types.
6
+ *
7
+ * @example
8
+ * const reader = new FhirReadClient("https://fhir.example.com");
9
+ * const pt = await reader.patient().read("123");
10
+ */
11
+ export declare class FhirReadClient {
12
+ protected readonly baseUrl: string;
13
+ protected readonly fetchFn?: FetchFn | undefined;
14
+ constructor(baseUrl: string, fetchFn?: FetchFn | undefined);
15
+ protected forType<T extends fhir4b.Resource>(resourceType: string): FhirResourceReader<T>;
16
+ account(): FhirResourceReader<import("fhir/r4b.js").Account>;
17
+ activityDefinition(): FhirResourceReader<import("fhir/r4b.js").ActivityDefinition>;
18
+ administrableProductDefinition(): FhirResourceReader<import("fhir/r4b.js").AdministrableProductDefinition>;
19
+ adverseEvent(): FhirResourceReader<import("fhir/r4b.js").AdverseEvent>;
20
+ allergyIntolerance(): FhirResourceReader<import("fhir/r4b.js").AllergyIntolerance>;
21
+ appointment(): FhirResourceReader<import("fhir/r4b.js").Appointment>;
22
+ appointmentResponse(): FhirResourceReader<import("fhir/r4b.js").AppointmentResponse>;
23
+ auditEvent(): FhirResourceReader<import("fhir/r4b.js").AuditEvent>;
24
+ basic(): FhirResourceReader<import("fhir/r4b.js").Basic>;
25
+ binary(): FhirResourceReader<import("fhir/r4b.js").Binary>;
26
+ biologicallyDerivedProduct(): FhirResourceReader<import("fhir/r4b.js").BiologicallyDerivedProduct>;
27
+ bodyStructure(): FhirResourceReader<import("fhir/r4b.js").BodyStructure>;
28
+ bundle(): FhirResourceReader<import("fhir/r4b.js").Bundle<import("fhir/r4b.js").FhirResource>>;
29
+ capabilityStatement(): FhirResourceReader<import("fhir/r4b.js").CapabilityStatement>;
30
+ carePlan(): FhirResourceReader<import("fhir/r4b.js").CarePlan>;
31
+ careTeam(): FhirResourceReader<import("fhir/r4b.js").CareTeam>;
32
+ catalogEntry(): FhirResourceReader<import("fhir/r4b.js").CatalogEntry>;
33
+ chargeItem(): FhirResourceReader<import("fhir/r4b.js").ChargeItem>;
34
+ chargeItemDefinition(): FhirResourceReader<import("fhir/r4b.js").ChargeItemDefinition>;
35
+ citation(): FhirResourceReader<import("fhir/r4b.js").Citation>;
36
+ claim(): FhirResourceReader<import("fhir/r4b.js").Claim>;
37
+ claimResponse(): FhirResourceReader<import("fhir/r4b.js").ClaimResponse>;
38
+ clinicalImpression(): FhirResourceReader<import("fhir/r4b.js").ClinicalImpression>;
39
+ clinicalUseDefinition(): FhirResourceReader<import("fhir/r4b.js").ClinicalUseDefinition>;
40
+ codeSystem(): FhirResourceReader<import("fhir/r4b.js").CodeSystem>;
41
+ communication(): FhirResourceReader<import("fhir/r4b.js").Communication>;
42
+ communicationRequest(): FhirResourceReader<import("fhir/r4b.js").CommunicationRequest>;
43
+ compartmentDefinition(): FhirResourceReader<import("fhir/r4b.js").CompartmentDefinition>;
44
+ composition(): FhirResourceReader<import("fhir/r4b.js").Composition>;
45
+ conceptMap(): FhirResourceReader<import("fhir/r4b.js").ConceptMap>;
46
+ condition(): FhirResourceReader<import("fhir/r4b.js").Condition>;
47
+ consent(): FhirResourceReader<import("fhir/r4b.js").Consent>;
48
+ contract(): FhirResourceReader<import("fhir/r4b.js").Contract>;
49
+ coverage(): FhirResourceReader<import("fhir/r4b.js").Coverage>;
50
+ coverageEligibilityRequest(): FhirResourceReader<import("fhir/r4b.js").CoverageEligibilityRequest>;
51
+ coverageEligibilityResponse(): FhirResourceReader<import("fhir/r4b.js").CoverageEligibilityResponse>;
52
+ detectedIssue(): FhirResourceReader<import("fhir/r4b.js").DetectedIssue>;
53
+ device(): FhirResourceReader<import("fhir/r4b.js").Device>;
54
+ deviceDefinition(): FhirResourceReader<import("fhir/r4b.js").DeviceDefinition>;
55
+ deviceMetric(): FhirResourceReader<import("fhir/r4b.js").DeviceMetric>;
56
+ deviceRequest(): FhirResourceReader<import("fhir/r4b.js").DeviceRequest>;
57
+ deviceUseStatement(): FhirResourceReader<import("fhir/r4b.js").DeviceUseStatement>;
58
+ diagnosticReport(): FhirResourceReader<import("fhir/r4b.js").DiagnosticReport>;
59
+ documentManifest(): FhirResourceReader<import("fhir/r4b.js").DocumentManifest>;
60
+ documentReference(): FhirResourceReader<import("fhir/r4b.js").DocumentReference>;
61
+ encounter(): FhirResourceReader<import("fhir/r4b.js").Encounter>;
62
+ endpoint(): FhirResourceReader<import("fhir/r4b.js").Endpoint>;
63
+ enrollmentRequest(): FhirResourceReader<import("fhir/r4b.js").EnrollmentRequest>;
64
+ enrollmentResponse(): FhirResourceReader<import("fhir/r4b.js").EnrollmentResponse>;
65
+ episodeOfCare(): FhirResourceReader<import("fhir/r4b.js").EpisodeOfCare>;
66
+ eventDefinition(): FhirResourceReader<import("fhir/r4b.js").EventDefinition>;
67
+ evidence(): FhirResourceReader<import("fhir/r4b.js").Evidence>;
68
+ evidenceReport(): FhirResourceReader<import("fhir/r4b.js").EvidenceReport>;
69
+ evidenceVariable(): FhirResourceReader<import("fhir/r4b.js").EvidenceVariable>;
70
+ exampleScenario(): FhirResourceReader<import("fhir/r4b.js").ExampleScenario>;
71
+ explanationOfBenefit(): FhirResourceReader<import("fhir/r4b.js").ExplanationOfBenefit>;
72
+ familyMemberHistory(): FhirResourceReader<import("fhir/r4b.js").FamilyMemberHistory>;
73
+ flag(): FhirResourceReader<import("fhir/r4b.js").Flag>;
74
+ goal(): FhirResourceReader<import("fhir/r4b.js").Goal>;
75
+ graphDefinition(): FhirResourceReader<import("fhir/r4b.js").GraphDefinition>;
76
+ group(): FhirResourceReader<import("fhir/r4b.js").Group>;
77
+ guidanceResponse(): FhirResourceReader<import("fhir/r4b.js").GuidanceResponse>;
78
+ healthcareService(): FhirResourceReader<import("fhir/r4b.js").HealthcareService>;
79
+ imagingStudy(): FhirResourceReader<import("fhir/r4b.js").ImagingStudy>;
80
+ immunization(): FhirResourceReader<import("fhir/r4b.js").Immunization>;
81
+ immunizationEvaluation(): FhirResourceReader<import("fhir/r4b.js").ImmunizationEvaluation>;
82
+ immunizationRecommendation(): FhirResourceReader<import("fhir/r4b.js").ImmunizationRecommendation>;
83
+ implementationGuide(): FhirResourceReader<import("fhir/r4b.js").ImplementationGuide>;
84
+ ingredient(): FhirResourceReader<import("fhir/r4b.js").Ingredient>;
85
+ insurancePlan(): FhirResourceReader<import("fhir/r4b.js").InsurancePlan>;
86
+ invoice(): FhirResourceReader<import("fhir/r4b.js").Invoice>;
87
+ library(): FhirResourceReader<import("fhir/r4b.js").Library>;
88
+ linkage(): FhirResourceReader<import("fhir/r4b.js").Linkage>;
89
+ list(): FhirResourceReader<import("fhir/r4b.js").List>;
90
+ location(): FhirResourceReader<import("fhir/r4b.js").Location>;
91
+ manufacturedItemDefinition(): FhirResourceReader<import("fhir/r4b.js").ManufacturedItemDefinition>;
92
+ measure(): FhirResourceReader<import("fhir/r4b.js").Measure>;
93
+ measureReport(): FhirResourceReader<import("fhir/r4b.js").MeasureReport>;
94
+ media(): FhirResourceReader<import("fhir/r4b.js").Media>;
95
+ medication(): FhirResourceReader<import("fhir/r4b.js").Medication>;
96
+ medicationAdministration(): FhirResourceReader<import("fhir/r4b.js").MedicationAdministration>;
97
+ medicationDispense(): FhirResourceReader<import("fhir/r4b.js").MedicationDispense>;
98
+ medicationKnowledge(): FhirResourceReader<import("fhir/r4b.js").MedicationKnowledge>;
99
+ medicationRequest(): FhirResourceReader<import("fhir/r4b.js").MedicationRequest>;
100
+ medicationStatement(): FhirResourceReader<import("fhir/r4b.js").MedicationStatement>;
101
+ medicinalProductDefinition(): FhirResourceReader<import("fhir/r4b.js").MedicinalProductDefinition>;
102
+ messageDefinition(): FhirResourceReader<import("fhir/r4b.js").MessageDefinition>;
103
+ messageHeader(): FhirResourceReader<import("fhir/r4b.js").MessageHeader>;
104
+ molecularSequence(): FhirResourceReader<import("fhir/r4b.js").MolecularSequence>;
105
+ namingSystem(): FhirResourceReader<import("fhir/r4b.js").NamingSystem>;
106
+ nutritionOrder(): FhirResourceReader<import("fhir/r4b.js").NutritionOrder>;
107
+ nutritionProduct(): FhirResourceReader<import("fhir/r4b.js").NutritionProduct>;
108
+ observation(): FhirResourceReader<import("fhir/r4b.js").Observation>;
109
+ observationDefinition(): FhirResourceReader<import("fhir/r4b.js").ObservationDefinition>;
110
+ operationDefinition(): FhirResourceReader<import("fhir/r4b.js").OperationDefinition>;
111
+ operationOutcome(): FhirResourceReader<import("fhir/r4b.js").OperationOutcome>;
112
+ organization(): FhirResourceReader<import("fhir/r4b.js").Organization>;
113
+ organizationAffiliation(): FhirResourceReader<import("fhir/r4b.js").OrganizationAffiliation>;
114
+ packagedProductDefinition(): FhirResourceReader<import("fhir/r4b.js").PackagedProductDefinition>;
115
+ patient(): FhirResourceReader<import("fhir/r4b.js").Patient>;
116
+ paymentNotice(): FhirResourceReader<import("fhir/r4b.js").PaymentNotice>;
117
+ paymentReconciliation(): FhirResourceReader<import("fhir/r4b.js").PaymentReconciliation>;
118
+ person(): FhirResourceReader<import("fhir/r4b.js").Person>;
119
+ planDefinition(): FhirResourceReader<import("fhir/r4b.js").PlanDefinition>;
120
+ practitioner(): FhirResourceReader<import("fhir/r4b.js").Practitioner>;
121
+ practitionerRole(): FhirResourceReader<import("fhir/r4b.js").PractitionerRole>;
122
+ procedure(): FhirResourceReader<import("fhir/r4b.js").Procedure>;
123
+ provenance(): FhirResourceReader<import("fhir/r4b.js").Provenance>;
124
+ questionnaire(): FhirResourceReader<import("fhir/r4b.js").Questionnaire>;
125
+ questionnaireResponse(): FhirResourceReader<import("fhir/r4b.js").QuestionnaireResponse>;
126
+ regulatedAuthorization(): FhirResourceReader<import("fhir/r4b.js").RegulatedAuthorization>;
127
+ relatedPerson(): FhirResourceReader<import("fhir/r4b.js").RelatedPerson>;
128
+ requestGroup(): FhirResourceReader<import("fhir/r4b.js").RequestGroup>;
129
+ researchDefinition(): FhirResourceReader<import("fhir/r4b.js").ResearchDefinition>;
130
+ researchElementDefinition(): FhirResourceReader<import("fhir/r4b.js").ResearchElementDefinition>;
131
+ researchStudy(): FhirResourceReader<import("fhir/r4b.js").ResearchStudy>;
132
+ researchSubject(): FhirResourceReader<import("fhir/r4b.js").ResearchSubject>;
133
+ riskAssessment(): FhirResourceReader<import("fhir/r4b.js").RiskAssessment>;
134
+ schedule(): FhirResourceReader<import("fhir/r4b.js").Schedule>;
135
+ searchParameter(): FhirResourceReader<import("fhir/r4b.js").SearchParameter>;
136
+ serviceRequest(): FhirResourceReader<import("fhir/r4b.js").ServiceRequest>;
137
+ slot(): FhirResourceReader<import("fhir/r4b.js").Slot>;
138
+ specimen(): FhirResourceReader<import("fhir/r4b.js").Specimen>;
139
+ specimenDefinition(): FhirResourceReader<import("fhir/r4b.js").SpecimenDefinition>;
140
+ structureDefinition(): FhirResourceReader<import("fhir/r4b.js").StructureDefinition>;
141
+ structureMap(): FhirResourceReader<import("fhir/r4b.js").StructureMap>;
142
+ subscription(): FhirResourceReader<import("fhir/r4b.js").Subscription>;
143
+ subscriptionStatus(): FhirResourceReader<import("fhir/r4b.js").SubscriptionStatus>;
144
+ subscriptionTopic(): FhirResourceReader<import("fhir/r4b.js").SubscriptionTopic>;
145
+ substance(): FhirResourceReader<import("fhir/r4b.js").Substance>;
146
+ substanceDefinition(): FhirResourceReader<import("fhir/r4b.js").SubstanceDefinition>;
147
+ supplyDelivery(): FhirResourceReader<import("fhir/r4b.js").SupplyDelivery>;
148
+ supplyRequest(): FhirResourceReader<import("fhir/r4b.js").SupplyRequest>;
149
+ task(): FhirResourceReader<import("fhir/r4b.js").Task>;
150
+ terminologyCapabilities(): FhirResourceReader<import("fhir/r4b.js").TerminologyCapabilities>;
151
+ testReport(): FhirResourceReader<import("fhir/r4b.js").TestReport>;
152
+ testScript(): FhirResourceReader<import("fhir/r4b.js").TestScript>;
153
+ valueSet(): FhirResourceReader<import("fhir/r4b.js").ValueSet>;
154
+ verificationResult(): FhirResourceReader<import("fhir/r4b.js").VerificationResult>;
155
+ visionPrescription(): FhirResourceReader<import("fhir/r4b.js").VisionPrescription>;
156
+ }
157
+ /**
158
+ * FHIR R4B write client with typed accessors for all base resource types.
159
+ */
160
+ export declare class FhirWriteClient {
161
+ protected readonly baseUrl: string;
162
+ protected readonly fetchFn?: FetchFn | undefined;
163
+ constructor(baseUrl: string, fetchFn?: FetchFn | undefined);
164
+ protected forType<T extends fhir4b.Resource>(resourceType: string): FhirResourceWriter<T>;
165
+ account(): FhirResourceWriter<import("fhir/r4b.js").Account>;
166
+ activityDefinition(): FhirResourceWriter<import("fhir/r4b.js").ActivityDefinition>;
167
+ administrableProductDefinition(): FhirResourceWriter<import("fhir/r4b.js").AdministrableProductDefinition>;
168
+ adverseEvent(): FhirResourceWriter<import("fhir/r4b.js").AdverseEvent>;
169
+ allergyIntolerance(): FhirResourceWriter<import("fhir/r4b.js").AllergyIntolerance>;
170
+ appointment(): FhirResourceWriter<import("fhir/r4b.js").Appointment>;
171
+ appointmentResponse(): FhirResourceWriter<import("fhir/r4b.js").AppointmentResponse>;
172
+ auditEvent(): FhirResourceWriter<import("fhir/r4b.js").AuditEvent>;
173
+ basic(): FhirResourceWriter<import("fhir/r4b.js").Basic>;
174
+ binary(): FhirResourceWriter<import("fhir/r4b.js").Binary>;
175
+ biologicallyDerivedProduct(): FhirResourceWriter<import("fhir/r4b.js").BiologicallyDerivedProduct>;
176
+ bodyStructure(): FhirResourceWriter<import("fhir/r4b.js").BodyStructure>;
177
+ bundle(): FhirResourceWriter<import("fhir/r4b.js").Bundle<import("fhir/r4b.js").FhirResource>>;
178
+ capabilityStatement(): FhirResourceWriter<import("fhir/r4b.js").CapabilityStatement>;
179
+ carePlan(): FhirResourceWriter<import("fhir/r4b.js").CarePlan>;
180
+ careTeam(): FhirResourceWriter<import("fhir/r4b.js").CareTeam>;
181
+ catalogEntry(): FhirResourceWriter<import("fhir/r4b.js").CatalogEntry>;
182
+ chargeItem(): FhirResourceWriter<import("fhir/r4b.js").ChargeItem>;
183
+ chargeItemDefinition(): FhirResourceWriter<import("fhir/r4b.js").ChargeItemDefinition>;
184
+ citation(): FhirResourceWriter<import("fhir/r4b.js").Citation>;
185
+ claim(): FhirResourceWriter<import("fhir/r4b.js").Claim>;
186
+ claimResponse(): FhirResourceWriter<import("fhir/r4b.js").ClaimResponse>;
187
+ clinicalImpression(): FhirResourceWriter<import("fhir/r4b.js").ClinicalImpression>;
188
+ clinicalUseDefinition(): FhirResourceWriter<import("fhir/r4b.js").ClinicalUseDefinition>;
189
+ codeSystem(): FhirResourceWriter<import("fhir/r4b.js").CodeSystem>;
190
+ communication(): FhirResourceWriter<import("fhir/r4b.js").Communication>;
191
+ communicationRequest(): FhirResourceWriter<import("fhir/r4b.js").CommunicationRequest>;
192
+ compartmentDefinition(): FhirResourceWriter<import("fhir/r4b.js").CompartmentDefinition>;
193
+ composition(): FhirResourceWriter<import("fhir/r4b.js").Composition>;
194
+ conceptMap(): FhirResourceWriter<import("fhir/r4b.js").ConceptMap>;
195
+ condition(): FhirResourceWriter<import("fhir/r4b.js").Condition>;
196
+ consent(): FhirResourceWriter<import("fhir/r4b.js").Consent>;
197
+ contract(): FhirResourceWriter<import("fhir/r4b.js").Contract>;
198
+ coverage(): FhirResourceWriter<import("fhir/r4b.js").Coverage>;
199
+ coverageEligibilityRequest(): FhirResourceWriter<import("fhir/r4b.js").CoverageEligibilityRequest>;
200
+ coverageEligibilityResponse(): FhirResourceWriter<import("fhir/r4b.js").CoverageEligibilityResponse>;
201
+ detectedIssue(): FhirResourceWriter<import("fhir/r4b.js").DetectedIssue>;
202
+ device(): FhirResourceWriter<import("fhir/r4b.js").Device>;
203
+ deviceDefinition(): FhirResourceWriter<import("fhir/r4b.js").DeviceDefinition>;
204
+ deviceMetric(): FhirResourceWriter<import("fhir/r4b.js").DeviceMetric>;
205
+ deviceRequest(): FhirResourceWriter<import("fhir/r4b.js").DeviceRequest>;
206
+ deviceUseStatement(): FhirResourceWriter<import("fhir/r4b.js").DeviceUseStatement>;
207
+ diagnosticReport(): FhirResourceWriter<import("fhir/r4b.js").DiagnosticReport>;
208
+ documentManifest(): FhirResourceWriter<import("fhir/r4b.js").DocumentManifest>;
209
+ documentReference(): FhirResourceWriter<import("fhir/r4b.js").DocumentReference>;
210
+ encounter(): FhirResourceWriter<import("fhir/r4b.js").Encounter>;
211
+ endpoint(): FhirResourceWriter<import("fhir/r4b.js").Endpoint>;
212
+ enrollmentRequest(): FhirResourceWriter<import("fhir/r4b.js").EnrollmentRequest>;
213
+ enrollmentResponse(): FhirResourceWriter<import("fhir/r4b.js").EnrollmentResponse>;
214
+ episodeOfCare(): FhirResourceWriter<import("fhir/r4b.js").EpisodeOfCare>;
215
+ eventDefinition(): FhirResourceWriter<import("fhir/r4b.js").EventDefinition>;
216
+ evidence(): FhirResourceWriter<import("fhir/r4b.js").Evidence>;
217
+ evidenceReport(): FhirResourceWriter<import("fhir/r4b.js").EvidenceReport>;
218
+ evidenceVariable(): FhirResourceWriter<import("fhir/r4b.js").EvidenceVariable>;
219
+ exampleScenario(): FhirResourceWriter<import("fhir/r4b.js").ExampleScenario>;
220
+ explanationOfBenefit(): FhirResourceWriter<import("fhir/r4b.js").ExplanationOfBenefit>;
221
+ familyMemberHistory(): FhirResourceWriter<import("fhir/r4b.js").FamilyMemberHistory>;
222
+ flag(): FhirResourceWriter<import("fhir/r4b.js").Flag>;
223
+ goal(): FhirResourceWriter<import("fhir/r4b.js").Goal>;
224
+ graphDefinition(): FhirResourceWriter<import("fhir/r4b.js").GraphDefinition>;
225
+ group(): FhirResourceWriter<import("fhir/r4b.js").Group>;
226
+ guidanceResponse(): FhirResourceWriter<import("fhir/r4b.js").GuidanceResponse>;
227
+ healthcareService(): FhirResourceWriter<import("fhir/r4b.js").HealthcareService>;
228
+ imagingStudy(): FhirResourceWriter<import("fhir/r4b.js").ImagingStudy>;
229
+ immunization(): FhirResourceWriter<import("fhir/r4b.js").Immunization>;
230
+ immunizationEvaluation(): FhirResourceWriter<import("fhir/r4b.js").ImmunizationEvaluation>;
231
+ immunizationRecommendation(): FhirResourceWriter<import("fhir/r4b.js").ImmunizationRecommendation>;
232
+ implementationGuide(): FhirResourceWriter<import("fhir/r4b.js").ImplementationGuide>;
233
+ ingredient(): FhirResourceWriter<import("fhir/r4b.js").Ingredient>;
234
+ insurancePlan(): FhirResourceWriter<import("fhir/r4b.js").InsurancePlan>;
235
+ invoice(): FhirResourceWriter<import("fhir/r4b.js").Invoice>;
236
+ library(): FhirResourceWriter<import("fhir/r4b.js").Library>;
237
+ linkage(): FhirResourceWriter<import("fhir/r4b.js").Linkage>;
238
+ list(): FhirResourceWriter<import("fhir/r4b.js").List>;
239
+ location(): FhirResourceWriter<import("fhir/r4b.js").Location>;
240
+ manufacturedItemDefinition(): FhirResourceWriter<import("fhir/r4b.js").ManufacturedItemDefinition>;
241
+ measure(): FhirResourceWriter<import("fhir/r4b.js").Measure>;
242
+ measureReport(): FhirResourceWriter<import("fhir/r4b.js").MeasureReport>;
243
+ media(): FhirResourceWriter<import("fhir/r4b.js").Media>;
244
+ medication(): FhirResourceWriter<import("fhir/r4b.js").Medication>;
245
+ medicationAdministration(): FhirResourceWriter<import("fhir/r4b.js").MedicationAdministration>;
246
+ medicationDispense(): FhirResourceWriter<import("fhir/r4b.js").MedicationDispense>;
247
+ medicationKnowledge(): FhirResourceWriter<import("fhir/r4b.js").MedicationKnowledge>;
248
+ medicationRequest(): FhirResourceWriter<import("fhir/r4b.js").MedicationRequest>;
249
+ medicationStatement(): FhirResourceWriter<import("fhir/r4b.js").MedicationStatement>;
250
+ medicinalProductDefinition(): FhirResourceWriter<import("fhir/r4b.js").MedicinalProductDefinition>;
251
+ messageDefinition(): FhirResourceWriter<import("fhir/r4b.js").MessageDefinition>;
252
+ messageHeader(): FhirResourceWriter<import("fhir/r4b.js").MessageHeader>;
253
+ molecularSequence(): FhirResourceWriter<import("fhir/r4b.js").MolecularSequence>;
254
+ namingSystem(): FhirResourceWriter<import("fhir/r4b.js").NamingSystem>;
255
+ nutritionOrder(): FhirResourceWriter<import("fhir/r4b.js").NutritionOrder>;
256
+ nutritionProduct(): FhirResourceWriter<import("fhir/r4b.js").NutritionProduct>;
257
+ observation(): FhirResourceWriter<import("fhir/r4b.js").Observation>;
258
+ observationDefinition(): FhirResourceWriter<import("fhir/r4b.js").ObservationDefinition>;
259
+ operationDefinition(): FhirResourceWriter<import("fhir/r4b.js").OperationDefinition>;
260
+ operationOutcome(): FhirResourceWriter<import("fhir/r4b.js").OperationOutcome>;
261
+ organization(): FhirResourceWriter<import("fhir/r4b.js").Organization>;
262
+ organizationAffiliation(): FhirResourceWriter<import("fhir/r4b.js").OrganizationAffiliation>;
263
+ packagedProductDefinition(): FhirResourceWriter<import("fhir/r4b.js").PackagedProductDefinition>;
264
+ patient(): FhirResourceWriter<import("fhir/r4b.js").Patient>;
265
+ paymentNotice(): FhirResourceWriter<import("fhir/r4b.js").PaymentNotice>;
266
+ paymentReconciliation(): FhirResourceWriter<import("fhir/r4b.js").PaymentReconciliation>;
267
+ person(): FhirResourceWriter<import("fhir/r4b.js").Person>;
268
+ planDefinition(): FhirResourceWriter<import("fhir/r4b.js").PlanDefinition>;
269
+ practitioner(): FhirResourceWriter<import("fhir/r4b.js").Practitioner>;
270
+ practitionerRole(): FhirResourceWriter<import("fhir/r4b.js").PractitionerRole>;
271
+ procedure(): FhirResourceWriter<import("fhir/r4b.js").Procedure>;
272
+ provenance(): FhirResourceWriter<import("fhir/r4b.js").Provenance>;
273
+ questionnaire(): FhirResourceWriter<import("fhir/r4b.js").Questionnaire>;
274
+ questionnaireResponse(): FhirResourceWriter<import("fhir/r4b.js").QuestionnaireResponse>;
275
+ regulatedAuthorization(): FhirResourceWriter<import("fhir/r4b.js").RegulatedAuthorization>;
276
+ relatedPerson(): FhirResourceWriter<import("fhir/r4b.js").RelatedPerson>;
277
+ requestGroup(): FhirResourceWriter<import("fhir/r4b.js").RequestGroup>;
278
+ researchDefinition(): FhirResourceWriter<import("fhir/r4b.js").ResearchDefinition>;
279
+ researchElementDefinition(): FhirResourceWriter<import("fhir/r4b.js").ResearchElementDefinition>;
280
+ researchStudy(): FhirResourceWriter<import("fhir/r4b.js").ResearchStudy>;
281
+ researchSubject(): FhirResourceWriter<import("fhir/r4b.js").ResearchSubject>;
282
+ riskAssessment(): FhirResourceWriter<import("fhir/r4b.js").RiskAssessment>;
283
+ schedule(): FhirResourceWriter<import("fhir/r4b.js").Schedule>;
284
+ searchParameter(): FhirResourceWriter<import("fhir/r4b.js").SearchParameter>;
285
+ serviceRequest(): FhirResourceWriter<import("fhir/r4b.js").ServiceRequest>;
286
+ slot(): FhirResourceWriter<import("fhir/r4b.js").Slot>;
287
+ specimen(): FhirResourceWriter<import("fhir/r4b.js").Specimen>;
288
+ specimenDefinition(): FhirResourceWriter<import("fhir/r4b.js").SpecimenDefinition>;
289
+ structureDefinition(): FhirResourceWriter<import("fhir/r4b.js").StructureDefinition>;
290
+ structureMap(): FhirResourceWriter<import("fhir/r4b.js").StructureMap>;
291
+ subscription(): FhirResourceWriter<import("fhir/r4b.js").Subscription>;
292
+ subscriptionStatus(): FhirResourceWriter<import("fhir/r4b.js").SubscriptionStatus>;
293
+ subscriptionTopic(): FhirResourceWriter<import("fhir/r4b.js").SubscriptionTopic>;
294
+ substance(): FhirResourceWriter<import("fhir/r4b.js").Substance>;
295
+ substanceDefinition(): FhirResourceWriter<import("fhir/r4b.js").SubstanceDefinition>;
296
+ supplyDelivery(): FhirResourceWriter<import("fhir/r4b.js").SupplyDelivery>;
297
+ supplyRequest(): FhirResourceWriter<import("fhir/r4b.js").SupplyRequest>;
298
+ task(): FhirResourceWriter<import("fhir/r4b.js").Task>;
299
+ terminologyCapabilities(): FhirResourceWriter<import("fhir/r4b.js").TerminologyCapabilities>;
300
+ testReport(): FhirResourceWriter<import("fhir/r4b.js").TestReport>;
301
+ testScript(): FhirResourceWriter<import("fhir/r4b.js").TestScript>;
302
+ valueSet(): FhirResourceWriter<import("fhir/r4b.js").ValueSet>;
303
+ verificationResult(): FhirResourceWriter<import("fhir/r4b.js").VerificationResult>;
304
+ visionPrescription(): FhirResourceWriter<import("fhir/r4b.js").VisionPrescription>;
305
+ }
306
+ /**
307
+ * Main FHIR R4B Client with typed read and write accessors.
308
+ *
309
+ * @example
310
+ * const client = new FhirClient("https://fhir.example.com");
311
+ * const pt = await client.read().patient().read("123");
312
+ * await client.write().patient().create({ resourceType: "Patient", ... });
313
+ */
314
+ export declare class FhirClient {
315
+ readonly baseUrl: string;
316
+ private readonly _read;
317
+ private readonly _write;
318
+ constructor(baseUrl: string, fetchFn?: FetchFn);
319
+ read(): FhirReadClient;
320
+ write(): FhirWriteClient;
321
+ }
322
+ //# sourceMappingURL=fhir-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fhir-client.d.ts","sourceRoot":"","sources":["../src/fhir-client.ts"],"names":[],"mappings":"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"}