@fhirfly-io/terminology 0.1.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/dist/index.cjs ADDED
@@ -0,0 +1,718 @@
1
+ 'use strict';
2
+
3
+ // src/errors.ts
4
+ var FhirflyError = class _FhirflyError extends Error {
5
+ constructor(message) {
6
+ super(message);
7
+ this.name = "FhirflyError";
8
+ Object.setPrototypeOf(this, _FhirflyError.prototype);
9
+ }
10
+ };
11
+ var ApiError = class _ApiError extends FhirflyError {
12
+ statusCode;
13
+ code;
14
+ details;
15
+ constructor(message, statusCode, code, details) {
16
+ super(message);
17
+ this.name = "ApiError";
18
+ this.statusCode = statusCode;
19
+ this.code = code;
20
+ this.details = details;
21
+ Object.setPrototypeOf(this, _ApiError.prototype);
22
+ }
23
+ };
24
+ var AuthenticationError = class _AuthenticationError extends ApiError {
25
+ constructor(message = "Authentication failed. Check your API key.") {
26
+ super(message, 401, "AUTHENTICATION_ERROR");
27
+ this.name = "AuthenticationError";
28
+ Object.setPrototypeOf(this, _AuthenticationError.prototype);
29
+ }
30
+ };
31
+ var NotFoundError = class _NotFoundError extends ApiError {
32
+ code_type;
33
+ code_value;
34
+ constructor(codeType, codeValue) {
35
+ super(`${codeType} not found: ${codeValue}`, 404, "NOT_FOUND");
36
+ this.name = "NotFoundError";
37
+ this.code_type = codeType;
38
+ this.code_value = codeValue;
39
+ Object.setPrototypeOf(this, _NotFoundError.prototype);
40
+ }
41
+ };
42
+ var ValidationError = class _ValidationError extends ApiError {
43
+ field;
44
+ constructor(message, field) {
45
+ super(message, 400, "VALIDATION_ERROR");
46
+ this.name = "ValidationError";
47
+ this.field = field;
48
+ Object.setPrototypeOf(this, _ValidationError.prototype);
49
+ }
50
+ };
51
+ var RateLimitError = class _RateLimitError extends ApiError {
52
+ retryAfter;
53
+ limit;
54
+ remaining;
55
+ reset;
56
+ constructor(message = "Rate limit exceeded", retryAfter, limit, remaining, reset) {
57
+ super(message, 429, "RATE_LIMIT_EXCEEDED");
58
+ this.name = "RateLimitError";
59
+ this.retryAfter = retryAfter;
60
+ this.limit = limit;
61
+ this.remaining = remaining;
62
+ this.reset = reset;
63
+ Object.setPrototypeOf(this, _RateLimitError.prototype);
64
+ }
65
+ };
66
+ var QuotaExceededError = class _QuotaExceededError extends ApiError {
67
+ quotaLimit;
68
+ quotaUsed;
69
+ quotaResetDate;
70
+ constructor(message = "Monthly quota exceeded", quotaLimit, quotaUsed, quotaResetDate) {
71
+ super(message, 429, "QUOTA_EXCEEDED");
72
+ this.name = "QuotaExceededError";
73
+ this.quotaLimit = quotaLimit;
74
+ this.quotaUsed = quotaUsed;
75
+ this.quotaResetDate = quotaResetDate;
76
+ Object.setPrototypeOf(this, _QuotaExceededError.prototype);
77
+ }
78
+ };
79
+ var ServerError = class _ServerError extends ApiError {
80
+ constructor(message = "Server error", statusCode = 500) {
81
+ super(message, statusCode, "SERVER_ERROR");
82
+ this.name = "ServerError";
83
+ Object.setPrototypeOf(this, _ServerError.prototype);
84
+ }
85
+ };
86
+ var NetworkError = class _NetworkError extends FhirflyError {
87
+ cause;
88
+ constructor(message = "Network error", cause) {
89
+ super(message);
90
+ this.name = "NetworkError";
91
+ this.cause = cause;
92
+ Object.setPrototypeOf(this, _NetworkError.prototype);
93
+ }
94
+ };
95
+ var TimeoutError = class _TimeoutError extends FhirflyError {
96
+ timeoutMs;
97
+ constructor(timeoutMs) {
98
+ super(`Request timed out after ${timeoutMs}ms`);
99
+ this.name = "TimeoutError";
100
+ this.timeoutMs = timeoutMs;
101
+ Object.setPrototypeOf(this, _TimeoutError.prototype);
102
+ }
103
+ };
104
+
105
+ // src/http.ts
106
+ var HttpClient = class {
107
+ config;
108
+ constructor(config) {
109
+ this.config = {
110
+ baseUrl: config.baseUrl,
111
+ apiKey: config.apiKey,
112
+ timeout: config.timeout ?? 3e4,
113
+ maxRetries: config.maxRetries ?? 3,
114
+ retryDelay: config.retryDelay ?? 1e3,
115
+ userAgent: config.userAgent ?? `@fhirfly/sdk/0.1.0 Node.js/${process.version}`
116
+ };
117
+ }
118
+ /**
119
+ * Build query string from options.
120
+ */
121
+ buildQueryString(options) {
122
+ if (!options) return "";
123
+ const params = new URLSearchParams();
124
+ if (options.shape) {
125
+ params.set("shape", options.shape);
126
+ }
127
+ if (options.include?.length) {
128
+ params.set("include", options.include.join(","));
129
+ }
130
+ const queryString = params.toString();
131
+ return queryString ? `?${queryString}` : "";
132
+ }
133
+ /**
134
+ * Parse error response from API.
135
+ */
136
+ async parseErrorResponse(response, endpoint) {
137
+ const status = response.status;
138
+ let body = {};
139
+ try {
140
+ body = await response.json();
141
+ } catch {
142
+ }
143
+ const message = body.message || body.error || response.statusText;
144
+ switch (status) {
145
+ case 401:
146
+ throw new AuthenticationError(message);
147
+ case 404: {
148
+ const match = endpoint.match(/\/v1\/(\w+)\/(.+)/);
149
+ if (match) {
150
+ throw new NotFoundError(match[1].toUpperCase(), match[2]);
151
+ }
152
+ throw new NotFoundError("Resource", endpoint);
153
+ }
154
+ case 400:
155
+ throw new ValidationError(message);
156
+ case 429: {
157
+ const retryAfter = response.headers.get("retry-after");
158
+ const limit = response.headers.get("x-ratelimit-limit");
159
+ const remaining = response.headers.get("x-ratelimit-remaining");
160
+ const reset = response.headers.get("x-ratelimit-reset");
161
+ if (body.code === "QUOTA_EXCEEDED") {
162
+ throw new QuotaExceededError(message);
163
+ }
164
+ throw new RateLimitError(
165
+ message,
166
+ retryAfter ? parseInt(retryAfter, 10) : void 0,
167
+ limit ? parseInt(limit, 10) : void 0,
168
+ remaining ? parseInt(remaining, 10) : void 0,
169
+ reset ? new Date(parseInt(reset, 10) * 1e3) : void 0
170
+ );
171
+ }
172
+ default:
173
+ if (status >= 500) {
174
+ throw new ServerError(message, status);
175
+ }
176
+ throw new ApiError(message, status, body.code, body.details);
177
+ }
178
+ }
179
+ /**
180
+ * Sleep for a given number of milliseconds.
181
+ */
182
+ sleep(ms) {
183
+ return new Promise((resolve) => setTimeout(resolve, ms));
184
+ }
185
+ /**
186
+ * Make an HTTP request with retries.
187
+ */
188
+ async request(method, endpoint, body) {
189
+ const url = `${this.config.baseUrl}${endpoint}`;
190
+ let lastError;
191
+ for (let attempt = 0; attempt <= this.config.maxRetries; attempt++) {
192
+ try {
193
+ const controller = new AbortController();
194
+ const timeoutId = setTimeout(
195
+ () => controller.abort(),
196
+ this.config.timeout
197
+ );
198
+ const response = await fetch(url, {
199
+ method,
200
+ headers: {
201
+ "Authorization": `Bearer ${this.config.apiKey}`,
202
+ "Content-Type": "application/json",
203
+ "User-Agent": this.config.userAgent,
204
+ "Accept": "application/json"
205
+ },
206
+ body: body ? JSON.stringify(body) : void 0,
207
+ signal: controller.signal
208
+ });
209
+ clearTimeout(timeoutId);
210
+ if (!response.ok) {
211
+ if (response.status < 500 && response.status !== 429) {
212
+ await this.parseErrorResponse(response, endpoint);
213
+ }
214
+ if (response.status === 429) {
215
+ const retryAfter = response.headers.get("retry-after");
216
+ if (retryAfter && attempt < this.config.maxRetries) {
217
+ await this.sleep(parseInt(retryAfter, 10) * 1e3);
218
+ continue;
219
+ }
220
+ await this.parseErrorResponse(response, endpoint);
221
+ }
222
+ if (attempt < this.config.maxRetries) {
223
+ await this.sleep(this.config.retryDelay * Math.pow(2, attempt));
224
+ continue;
225
+ }
226
+ await this.parseErrorResponse(response, endpoint);
227
+ }
228
+ const data = await response.json();
229
+ return { data, status: response.status, headers: response.headers };
230
+ } catch (error) {
231
+ if (error instanceof ApiError) {
232
+ throw error;
233
+ }
234
+ if (error instanceof Error) {
235
+ if (error.name === "AbortError") {
236
+ throw new TimeoutError(this.config.timeout);
237
+ }
238
+ lastError = error;
239
+ if (attempt < this.config.maxRetries) {
240
+ await this.sleep(this.config.retryDelay * Math.pow(2, attempt));
241
+ continue;
242
+ }
243
+ }
244
+ throw new NetworkError(
245
+ lastError?.message || "Unknown network error",
246
+ lastError
247
+ );
248
+ }
249
+ }
250
+ throw new NetworkError(
251
+ lastError?.message || "Request failed after retries",
252
+ lastError
253
+ );
254
+ }
255
+ /**
256
+ * Make a GET request.
257
+ */
258
+ async get(endpoint, options) {
259
+ const queryString = this.buildQueryString(options);
260
+ const response = await this.request("GET", `${endpoint}${queryString}`);
261
+ return response.data;
262
+ }
263
+ /**
264
+ * Make a POST request.
265
+ */
266
+ async post(endpoint, body, options) {
267
+ const queryString = this.buildQueryString(options);
268
+ const response = await this.request("POST", `${endpoint}${queryString}`, body);
269
+ return response.data;
270
+ }
271
+ };
272
+
273
+ // src/endpoints/ndc.ts
274
+ var NdcEndpoint = class {
275
+ constructor(http) {
276
+ this.http = http;
277
+ }
278
+ /**
279
+ * Look up a single NDC code.
280
+ *
281
+ * @param code - NDC code (10-digit, 11-digit, or hyphenated format)
282
+ * @param options - Response shape and include options
283
+ * @returns NDC data
284
+ *
285
+ * @example
286
+ * ```ts
287
+ * const ndc = await client.ndc.lookup("0069-0151-01");
288
+ * console.log(ndc.data.product_name); // "Lipitor"
289
+ * ```
290
+ */
291
+ async lookup(code, options) {
292
+ return this.http.get(`/v1/ndc/${encodeURIComponent(code)}`, options);
293
+ }
294
+ /**
295
+ * Look up multiple NDC codes in a single request.
296
+ *
297
+ * @param codes - Array of NDC codes (max 500)
298
+ * @param options - Response shape, include, and batch options
299
+ * @returns Batch response with results for each code
300
+ *
301
+ * @example
302
+ * ```ts
303
+ * const results = await client.ndc.lookupMany([
304
+ * "0069-0151-01",
305
+ * "0069-0151-02",
306
+ * "invalid-code"
307
+ * ]);
308
+ *
309
+ * for (const item of results.results) {
310
+ * if (item.found) {
311
+ * console.log(item.data.product_name);
312
+ * } else {
313
+ * console.log(`Not found: ${item.code}`);
314
+ * }
315
+ * }
316
+ * ```
317
+ */
318
+ async lookupMany(codes, options) {
319
+ return this.http.post(
320
+ "/v1/ndc/_batch",
321
+ { codes },
322
+ options
323
+ );
324
+ }
325
+ };
326
+
327
+ // src/endpoints/npi.ts
328
+ var NpiEndpoint = class {
329
+ constructor(http) {
330
+ this.http = http;
331
+ }
332
+ /**
333
+ * Look up a single NPI.
334
+ *
335
+ * @param npi - 10-digit NPI number
336
+ * @param options - Response shape and include options
337
+ * @returns NPI data
338
+ *
339
+ * @example
340
+ * ```ts
341
+ * const npi = await client.npi.lookup("1234567890");
342
+ * console.log(npi.data.name);
343
+ * ```
344
+ */
345
+ async lookup(npi, options) {
346
+ return this.http.get(`/v1/npi/${encodeURIComponent(npi)}`, options);
347
+ }
348
+ /**
349
+ * Look up multiple NPIs in a single request.
350
+ *
351
+ * @param npis - Array of 10-digit NPI numbers (max 500)
352
+ * @param options - Response shape, include, and batch options
353
+ * @returns Batch response with results for each NPI
354
+ *
355
+ * @example
356
+ * ```ts
357
+ * const results = await client.npi.lookupMany([
358
+ * "1234567890",
359
+ * "0987654321"
360
+ * ]);
361
+ * ```
362
+ */
363
+ async lookupMany(npis, options) {
364
+ return this.http.post(
365
+ "/v1/npi/_batch",
366
+ { codes: npis },
367
+ options
368
+ );
369
+ }
370
+ };
371
+
372
+ // src/endpoints/rxnorm.ts
373
+ var RxNormEndpoint = class {
374
+ constructor(http) {
375
+ this.http = http;
376
+ }
377
+ /**
378
+ * Look up a single RxCUI.
379
+ *
380
+ * @param rxcui - RxNorm Concept Unique Identifier
381
+ * @param options - Response shape and include options
382
+ * @returns RxNorm data
383
+ *
384
+ * @example
385
+ * ```ts
386
+ * const rx = await client.rxnorm.lookup("213169");
387
+ * console.log(rx.data.name); // "atorvastatin 10 MG Oral Tablet"
388
+ * ```
389
+ */
390
+ async lookup(rxcui, options) {
391
+ return this.http.get(`/v1/rxnorm/${encodeURIComponent(rxcui)}`, options);
392
+ }
393
+ /**
394
+ * Look up multiple RxCUIs in a single request.
395
+ *
396
+ * @param rxcuis - Array of RxCUIs (max 500)
397
+ * @param options - Response shape, include, and batch options
398
+ * @returns Batch response with results for each RxCUI
399
+ */
400
+ async lookupMany(rxcuis, options) {
401
+ return this.http.post(
402
+ "/v1/rxnorm/_batch",
403
+ { codes: rxcuis },
404
+ options
405
+ );
406
+ }
407
+ };
408
+
409
+ // src/endpoints/loinc.ts
410
+ var LoincEndpoint = class {
411
+ constructor(http) {
412
+ this.http = http;
413
+ }
414
+ /**
415
+ * Look up a single LOINC code.
416
+ *
417
+ * @param loincNum - LOINC number (e.g., "2345-7")
418
+ * @param options - Response shape and include options
419
+ * @returns LOINC data
420
+ *
421
+ * @example
422
+ * ```ts
423
+ * const loinc = await client.loinc.lookup("2345-7");
424
+ * console.log(loinc.data.long_common_name); // "Glucose [Mass/volume] in Serum or Plasma"
425
+ * ```
426
+ */
427
+ async lookup(loincNum, options) {
428
+ return this.http.get(`/v1/loinc/${encodeURIComponent(loincNum)}`, options);
429
+ }
430
+ /**
431
+ * Look up multiple LOINC codes in a single request.
432
+ *
433
+ * @param loincNums - Array of LOINC numbers (max 500)
434
+ * @param options - Response shape, include, and batch options
435
+ * @returns Batch response with results for each LOINC
436
+ */
437
+ async lookupMany(loincNums, options) {
438
+ return this.http.post(
439
+ "/v1/loinc/_batch",
440
+ { codes: loincNums },
441
+ options
442
+ );
443
+ }
444
+ };
445
+
446
+ // src/endpoints/icd10.ts
447
+ var Icd10Endpoint = class {
448
+ constructor(http) {
449
+ this.http = http;
450
+ }
451
+ /**
452
+ * Look up a single ICD-10-CM code (diagnoses).
453
+ *
454
+ * @param code - ICD-10-CM code (e.g., "E11.9")
455
+ * @param options - Response shape and include options
456
+ * @returns ICD-10 data
457
+ *
458
+ * @example
459
+ * ```ts
460
+ * const icd = await client.icd10.lookupCm("E11.9");
461
+ * console.log(icd.data.description); // "Type 2 diabetes mellitus without complications"
462
+ * ```
463
+ */
464
+ async lookupCm(code, options) {
465
+ return this.http.get(`/v1/icd10/cm/${encodeURIComponent(code)}`, options);
466
+ }
467
+ /**
468
+ * Look up a single ICD-10-PCS code (procedures).
469
+ *
470
+ * @param code - ICD-10-PCS code (e.g., "0BJ08ZZ")
471
+ * @param options - Response shape and include options
472
+ * @returns ICD-10 data
473
+ *
474
+ * @example
475
+ * ```ts
476
+ * const icd = await client.icd10.lookupPcs("0BJ08ZZ");
477
+ * console.log(icd.data.description);
478
+ * ```
479
+ */
480
+ async lookupPcs(code, options) {
481
+ return this.http.get(`/v1/icd10/pcs/${encodeURIComponent(code)}`, options);
482
+ }
483
+ /**
484
+ * Look up multiple ICD-10-CM codes in a single request.
485
+ *
486
+ * @param codes - Array of ICD-10-CM codes (max 500)
487
+ * @param options - Response shape, include, and batch options
488
+ * @returns Batch response with results for each code
489
+ */
490
+ async lookupCmMany(codes, options) {
491
+ return this.http.post(
492
+ "/v1/icd10/cm/_batch",
493
+ { codes },
494
+ options
495
+ );
496
+ }
497
+ /**
498
+ * Look up multiple ICD-10-PCS codes in a single request.
499
+ *
500
+ * @param codes - Array of ICD-10-PCS codes (max 500)
501
+ * @param options - Response shape, include, and batch options
502
+ * @returns Batch response with results for each code
503
+ */
504
+ async lookupPcsMany(codes, options) {
505
+ return this.http.post(
506
+ "/v1/icd10/pcs/_batch",
507
+ { codes },
508
+ options
509
+ );
510
+ }
511
+ };
512
+
513
+ // src/endpoints/cvx.ts
514
+ var CvxEndpoint = class {
515
+ constructor(http) {
516
+ this.http = http;
517
+ }
518
+ /**
519
+ * Look up a single CVX code.
520
+ *
521
+ * @param cvxCode - CVX vaccine code
522
+ * @param options - Response shape and include options
523
+ * @returns CVX data
524
+ *
525
+ * @example
526
+ * ```ts
527
+ * const cvx = await client.cvx.lookup("208");
528
+ * console.log(cvx.data.short_description); // "COVID-19, mRNA, LNP-S, PF, 30 mcg/0.3 mL dose"
529
+ * ```
530
+ */
531
+ async lookup(cvxCode, options) {
532
+ return this.http.get(`/v1/cvx/${encodeURIComponent(cvxCode)}`, options);
533
+ }
534
+ /**
535
+ * Look up multiple CVX codes in a single request.
536
+ *
537
+ * @param cvxCodes - Array of CVX codes (max 500)
538
+ * @param options - Response shape, include, and batch options
539
+ * @returns Batch response with results for each code
540
+ */
541
+ async lookupMany(cvxCodes, options) {
542
+ return this.http.post(
543
+ "/v1/cvx/_batch",
544
+ { codes: cvxCodes },
545
+ options
546
+ );
547
+ }
548
+ };
549
+
550
+ // src/endpoints/mvx.ts
551
+ var MvxEndpoint = class {
552
+ constructor(http) {
553
+ this.http = http;
554
+ }
555
+ /**
556
+ * Look up a single MVX code.
557
+ *
558
+ * @param mvxCode - MVX manufacturer code
559
+ * @param options - Response shape and include options
560
+ * @returns MVX data
561
+ *
562
+ * @example
563
+ * ```ts
564
+ * const mvx = await client.mvx.lookup("PFR");
565
+ * console.log(mvx.data.manufacturer_name); // "Pfizer, Inc"
566
+ * ```
567
+ */
568
+ async lookup(mvxCode, options) {
569
+ return this.http.get(`/v1/mvx/${encodeURIComponent(mvxCode)}`, options);
570
+ }
571
+ /**
572
+ * Look up multiple MVX codes in a single request.
573
+ *
574
+ * @param mvxCodes - Array of MVX codes (max 500)
575
+ * @param options - Response shape, include, and batch options
576
+ * @returns Batch response with results for each code
577
+ */
578
+ async lookupMany(mvxCodes, options) {
579
+ return this.http.post(
580
+ "/v1/mvx/_batch",
581
+ { codes: mvxCodes },
582
+ options
583
+ );
584
+ }
585
+ };
586
+
587
+ // src/endpoints/fda-labels.ts
588
+ var FdaLabelsEndpoint = class {
589
+ constructor(http) {
590
+ this.http = http;
591
+ }
592
+ /**
593
+ * Look up FDA label by Set ID.
594
+ *
595
+ * @param setId - FDA SPL Set ID
596
+ * @param options - Response shape and include options
597
+ * @returns FDA Label data
598
+ *
599
+ * @example
600
+ * ```ts
601
+ * const label = await client.fdaLabels.lookup("abc123-def456");
602
+ * console.log(label.data.indications_and_usage);
603
+ * ```
604
+ */
605
+ async lookup(setId, options) {
606
+ return this.http.get(`/v1/fda-labels/${encodeURIComponent(setId)}`, options);
607
+ }
608
+ /**
609
+ * Look up FDA label by NDC code.
610
+ *
611
+ * @param ndc - NDC code
612
+ * @param options - Response shape and include options
613
+ * @returns FDA Label data
614
+ *
615
+ * @example
616
+ * ```ts
617
+ * const label = await client.fdaLabels.lookupByNdc("0069-0151-01");
618
+ * console.log(label.data.product_name);
619
+ * ```
620
+ */
621
+ async lookupByNdc(ndc, options) {
622
+ return this.http.get(`/v1/fda-labels/ndc/${encodeURIComponent(ndc)}`, options);
623
+ }
624
+ /**
625
+ * Look up multiple FDA labels by Set IDs in a single request.
626
+ *
627
+ * @param setIds - Array of Set IDs (max 500)
628
+ * @param options - Response shape, include, and batch options
629
+ * @returns Batch response with results for each Set ID
630
+ */
631
+ async lookupMany(setIds, options) {
632
+ return this.http.post(
633
+ "/v1/fda-labels/_batch",
634
+ { codes: setIds },
635
+ options
636
+ );
637
+ }
638
+ };
639
+
640
+ // src/client.ts
641
+ var Fhirfly = class {
642
+ http;
643
+ /**
644
+ * NDC (National Drug Code) lookups.
645
+ */
646
+ ndc;
647
+ /**
648
+ * NPI (National Provider Identifier) lookups.
649
+ */
650
+ npi;
651
+ /**
652
+ * RxNorm drug terminology lookups.
653
+ */
654
+ rxnorm;
655
+ /**
656
+ * LOINC laboratory and clinical observation code lookups.
657
+ */
658
+ loinc;
659
+ /**
660
+ * ICD-10 diagnosis and procedure code lookups.
661
+ */
662
+ icd10;
663
+ /**
664
+ * CVX vaccine code lookups.
665
+ */
666
+ cvx;
667
+ /**
668
+ * MVX vaccine manufacturer code lookups.
669
+ */
670
+ mvx;
671
+ /**
672
+ * FDA drug label lookups.
673
+ */
674
+ fdaLabels;
675
+ /**
676
+ * Create a new FHIRfly client.
677
+ *
678
+ * @param config - Client configuration
679
+ * @throws {Error} If apiKey is not provided
680
+ */
681
+ constructor(config) {
682
+ if (!config.apiKey) {
683
+ throw new Error(
684
+ "FHIRfly API key is required. Get one at https://fhirfly.io/dashboard"
685
+ );
686
+ }
687
+ const httpConfig = {
688
+ baseUrl: config.baseUrl ?? "https://api.fhirfly.io",
689
+ apiKey: config.apiKey,
690
+ timeout: config.timeout,
691
+ maxRetries: config.maxRetries,
692
+ retryDelay: config.retryDelay
693
+ };
694
+ this.http = new HttpClient(httpConfig);
695
+ this.ndc = new NdcEndpoint(this.http);
696
+ this.npi = new NpiEndpoint(this.http);
697
+ this.rxnorm = new RxNormEndpoint(this.http);
698
+ this.loinc = new LoincEndpoint(this.http);
699
+ this.icd10 = new Icd10Endpoint(this.http);
700
+ this.cvx = new CvxEndpoint(this.http);
701
+ this.mvx = new MvxEndpoint(this.http);
702
+ this.fdaLabels = new FdaLabelsEndpoint(this.http);
703
+ }
704
+ };
705
+
706
+ exports.ApiError = ApiError;
707
+ exports.AuthenticationError = AuthenticationError;
708
+ exports.Fhirfly = Fhirfly;
709
+ exports.FhirflyError = FhirflyError;
710
+ exports.NetworkError = NetworkError;
711
+ exports.NotFoundError = NotFoundError;
712
+ exports.QuotaExceededError = QuotaExceededError;
713
+ exports.RateLimitError = RateLimitError;
714
+ exports.ServerError = ServerError;
715
+ exports.TimeoutError = TimeoutError;
716
+ exports.ValidationError = ValidationError;
717
+ //# sourceMappingURL=index.cjs.map
718
+ //# sourceMappingURL=index.cjs.map