@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/LICENSE +21 -0
- package/README.md +213 -0
- package/dist/index.cjs +718 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +991 -0
- package/dist/index.d.ts +991 -0
- package/dist/index.js +706 -0
- package/dist/index.js.map +1 -0
- package/package.json +73 -0
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,991 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Response shape options for controlling the level of detail returned.
|
|
3
|
+
*/
|
|
4
|
+
type ResponseShape = "compact" | "standard" | "full";
|
|
5
|
+
/**
|
|
6
|
+
* Include options for additional data in responses.
|
|
7
|
+
*/
|
|
8
|
+
type IncludeOption = "display";
|
|
9
|
+
/**
|
|
10
|
+
* Common options for all lookup methods.
|
|
11
|
+
*/
|
|
12
|
+
interface LookupOptions {
|
|
13
|
+
/** Response detail level. Default: "standard" */
|
|
14
|
+
shape?: ResponseShape;
|
|
15
|
+
/** Include additional fields like pre-formatted display strings */
|
|
16
|
+
include?: IncludeOption[];
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Common options for batch lookup methods.
|
|
20
|
+
*/
|
|
21
|
+
interface BatchLookupOptions extends LookupOptions {
|
|
22
|
+
/** Maximum codes per batch (default: 100, max: 500) */
|
|
23
|
+
batchSize?: number;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Legal/licensing information included in responses.
|
|
27
|
+
*/
|
|
28
|
+
interface LegalInfo {
|
|
29
|
+
license: string;
|
|
30
|
+
attribution?: string;
|
|
31
|
+
source_url?: string;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Metadata included in all API responses.
|
|
35
|
+
*/
|
|
36
|
+
interface ResponseMeta {
|
|
37
|
+
legal: LegalInfo;
|
|
38
|
+
shape: ResponseShape;
|
|
39
|
+
api_version: string;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Standard API response wrapper.
|
|
43
|
+
*/
|
|
44
|
+
interface ApiResponse<T> {
|
|
45
|
+
data: T;
|
|
46
|
+
meta: ResponseMeta;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Batch response item - either success or not found.
|
|
50
|
+
*/
|
|
51
|
+
interface BatchResultItem<T> {
|
|
52
|
+
code: string;
|
|
53
|
+
found: boolean;
|
|
54
|
+
data?: T;
|
|
55
|
+
error?: string;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Batch response wrapper.
|
|
59
|
+
*/
|
|
60
|
+
interface BatchResponse<T> {
|
|
61
|
+
results: BatchResultItem<T>[];
|
|
62
|
+
meta: ResponseMeta & {
|
|
63
|
+
total: number;
|
|
64
|
+
found: number;
|
|
65
|
+
not_found: number;
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Display field that may be included when include=display is specified.
|
|
70
|
+
*/
|
|
71
|
+
interface DisplayField {
|
|
72
|
+
display?: string;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* HTTP client configuration.
|
|
77
|
+
*/
|
|
78
|
+
interface HttpClientConfig {
|
|
79
|
+
baseUrl: string;
|
|
80
|
+
apiKey: string;
|
|
81
|
+
timeout?: number;
|
|
82
|
+
maxRetries?: number;
|
|
83
|
+
retryDelay?: number;
|
|
84
|
+
userAgent?: string;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Internal HTTP client for making API requests.
|
|
88
|
+
*/
|
|
89
|
+
declare class HttpClient {
|
|
90
|
+
private readonly config;
|
|
91
|
+
constructor(config: HttpClientConfig);
|
|
92
|
+
/**
|
|
93
|
+
* Build query string from options.
|
|
94
|
+
*/
|
|
95
|
+
private buildQueryString;
|
|
96
|
+
/**
|
|
97
|
+
* Parse error response from API.
|
|
98
|
+
*/
|
|
99
|
+
private parseErrorResponse;
|
|
100
|
+
/**
|
|
101
|
+
* Sleep for a given number of milliseconds.
|
|
102
|
+
*/
|
|
103
|
+
private sleep;
|
|
104
|
+
/**
|
|
105
|
+
* Make an HTTP request with retries.
|
|
106
|
+
*/
|
|
107
|
+
private request;
|
|
108
|
+
/**
|
|
109
|
+
* Make a GET request.
|
|
110
|
+
*/
|
|
111
|
+
get<T>(endpoint: string, options?: LookupOptions): Promise<T>;
|
|
112
|
+
/**
|
|
113
|
+
* Make a POST request.
|
|
114
|
+
*/
|
|
115
|
+
post<T>(endpoint: string, body: unknown, options?: LookupOptions): Promise<T>;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
/**
|
|
119
|
+
* Active ingredient in a drug product.
|
|
120
|
+
*/
|
|
121
|
+
interface ActiveIngredient {
|
|
122
|
+
name: string;
|
|
123
|
+
strength?: string;
|
|
124
|
+
unit?: string;
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Packaging information for an NDC.
|
|
128
|
+
*/
|
|
129
|
+
interface NdcPackaging {
|
|
130
|
+
ndc: string;
|
|
131
|
+
description?: string;
|
|
132
|
+
package_ndc?: string;
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* NDC lookup result - compact shape.
|
|
136
|
+
*/
|
|
137
|
+
interface NdcCompact extends DisplayField {
|
|
138
|
+
ndc: string;
|
|
139
|
+
ndc11: string;
|
|
140
|
+
product_name: string;
|
|
141
|
+
labeler_name: string;
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* NDC lookup result - standard shape.
|
|
145
|
+
*/
|
|
146
|
+
interface NdcStandard extends NdcCompact {
|
|
147
|
+
generic_name?: string;
|
|
148
|
+
dosage_form?: string;
|
|
149
|
+
route?: string;
|
|
150
|
+
active_ingredients: ActiveIngredient[];
|
|
151
|
+
dea_schedule?: string;
|
|
152
|
+
marketing_status?: string;
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* NDC lookup result - full shape.
|
|
156
|
+
*/
|
|
157
|
+
interface NdcFull extends NdcStandard {
|
|
158
|
+
application_number?: string;
|
|
159
|
+
product_type?: string;
|
|
160
|
+
marketing_start_date?: string;
|
|
161
|
+
marketing_end_date?: string;
|
|
162
|
+
listing_expiration_date?: string;
|
|
163
|
+
pharm_class?: string[];
|
|
164
|
+
packaging?: NdcPackaging[];
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* NDC response type based on shape.
|
|
168
|
+
*/
|
|
169
|
+
type NdcData = NdcCompact | NdcStandard | NdcFull;
|
|
170
|
+
|
|
171
|
+
/**
|
|
172
|
+
* NDC (National Drug Code) API endpoint.
|
|
173
|
+
*/
|
|
174
|
+
declare class NdcEndpoint {
|
|
175
|
+
private readonly http;
|
|
176
|
+
constructor(http: HttpClient);
|
|
177
|
+
/**
|
|
178
|
+
* Look up a single NDC code.
|
|
179
|
+
*
|
|
180
|
+
* @param code - NDC code (10-digit, 11-digit, or hyphenated format)
|
|
181
|
+
* @param options - Response shape and include options
|
|
182
|
+
* @returns NDC data
|
|
183
|
+
*
|
|
184
|
+
* @example
|
|
185
|
+
* ```ts
|
|
186
|
+
* const ndc = await client.ndc.lookup("0069-0151-01");
|
|
187
|
+
* console.log(ndc.data.product_name); // "Lipitor"
|
|
188
|
+
* ```
|
|
189
|
+
*/
|
|
190
|
+
lookup(code: string, options?: LookupOptions): Promise<ApiResponse<NdcData>>;
|
|
191
|
+
/**
|
|
192
|
+
* Look up multiple NDC codes in a single request.
|
|
193
|
+
*
|
|
194
|
+
* @param codes - Array of NDC codes (max 500)
|
|
195
|
+
* @param options - Response shape, include, and batch options
|
|
196
|
+
* @returns Batch response with results for each code
|
|
197
|
+
*
|
|
198
|
+
* @example
|
|
199
|
+
* ```ts
|
|
200
|
+
* const results = await client.ndc.lookupMany([
|
|
201
|
+
* "0069-0151-01",
|
|
202
|
+
* "0069-0151-02",
|
|
203
|
+
* "invalid-code"
|
|
204
|
+
* ]);
|
|
205
|
+
*
|
|
206
|
+
* for (const item of results.results) {
|
|
207
|
+
* if (item.found) {
|
|
208
|
+
* console.log(item.data.product_name);
|
|
209
|
+
* } else {
|
|
210
|
+
* console.log(`Not found: ${item.code}`);
|
|
211
|
+
* }
|
|
212
|
+
* }
|
|
213
|
+
* ```
|
|
214
|
+
*/
|
|
215
|
+
lookupMany(codes: string[], options?: BatchLookupOptions): Promise<BatchResponse<NdcData>>;
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
/**
|
|
219
|
+
* Provider address information.
|
|
220
|
+
*/
|
|
221
|
+
interface NpiAddress {
|
|
222
|
+
address_1?: string;
|
|
223
|
+
address_2?: string;
|
|
224
|
+
city?: string;
|
|
225
|
+
state?: string;
|
|
226
|
+
postal_code?: string;
|
|
227
|
+
country?: string;
|
|
228
|
+
telephone?: string;
|
|
229
|
+
fax?: string;
|
|
230
|
+
}
|
|
231
|
+
/**
|
|
232
|
+
* Provider taxonomy/specialty information.
|
|
233
|
+
*/
|
|
234
|
+
interface NpiTaxonomy {
|
|
235
|
+
code: string;
|
|
236
|
+
description?: string;
|
|
237
|
+
primary?: boolean;
|
|
238
|
+
state?: string;
|
|
239
|
+
license?: string;
|
|
240
|
+
}
|
|
241
|
+
/**
|
|
242
|
+
* Other identifier (non-NPI) for a provider.
|
|
243
|
+
*/
|
|
244
|
+
interface NpiIdentifier {
|
|
245
|
+
identifier: string;
|
|
246
|
+
type?: string;
|
|
247
|
+
state?: string;
|
|
248
|
+
issuer?: string;
|
|
249
|
+
}
|
|
250
|
+
/**
|
|
251
|
+
* NPI lookup result - compact shape.
|
|
252
|
+
*/
|
|
253
|
+
interface NpiCompact extends DisplayField {
|
|
254
|
+
npi: string;
|
|
255
|
+
entity_type: "individual" | "organization";
|
|
256
|
+
name: string;
|
|
257
|
+
/** For individuals: first name */
|
|
258
|
+
first_name?: string;
|
|
259
|
+
/** For individuals: last name */
|
|
260
|
+
last_name?: string;
|
|
261
|
+
/** For organizations: organization name */
|
|
262
|
+
organization_name?: string;
|
|
263
|
+
}
|
|
264
|
+
/**
|
|
265
|
+
* NPI lookup result - standard shape.
|
|
266
|
+
*/
|
|
267
|
+
interface NpiStandard extends NpiCompact {
|
|
268
|
+
credential?: string;
|
|
269
|
+
gender?: string;
|
|
270
|
+
sole_proprietor?: boolean;
|
|
271
|
+
enumeration_date?: string;
|
|
272
|
+
last_updated?: string;
|
|
273
|
+
status?: string;
|
|
274
|
+
primary_taxonomy?: NpiTaxonomy;
|
|
275
|
+
practice_address?: NpiAddress;
|
|
276
|
+
}
|
|
277
|
+
/**
|
|
278
|
+
* NPI lookup result - full shape.
|
|
279
|
+
*/
|
|
280
|
+
interface NpiFull extends NpiStandard {
|
|
281
|
+
mailing_address?: NpiAddress;
|
|
282
|
+
taxonomies?: NpiTaxonomy[];
|
|
283
|
+
identifiers?: NpiIdentifier[];
|
|
284
|
+
other_names?: Array<{
|
|
285
|
+
type: string;
|
|
286
|
+
name: string;
|
|
287
|
+
}>;
|
|
288
|
+
deactivation_date?: string;
|
|
289
|
+
reactivation_date?: string;
|
|
290
|
+
}
|
|
291
|
+
/**
|
|
292
|
+
* NPI response type based on shape.
|
|
293
|
+
*/
|
|
294
|
+
type NpiData = NpiCompact | NpiStandard | NpiFull;
|
|
295
|
+
|
|
296
|
+
/**
|
|
297
|
+
* NPI (National Provider Identifier) API endpoint.
|
|
298
|
+
*/
|
|
299
|
+
declare class NpiEndpoint {
|
|
300
|
+
private readonly http;
|
|
301
|
+
constructor(http: HttpClient);
|
|
302
|
+
/**
|
|
303
|
+
* Look up a single NPI.
|
|
304
|
+
*
|
|
305
|
+
* @param npi - 10-digit NPI number
|
|
306
|
+
* @param options - Response shape and include options
|
|
307
|
+
* @returns NPI data
|
|
308
|
+
*
|
|
309
|
+
* @example
|
|
310
|
+
* ```ts
|
|
311
|
+
* const npi = await client.npi.lookup("1234567890");
|
|
312
|
+
* console.log(npi.data.name);
|
|
313
|
+
* ```
|
|
314
|
+
*/
|
|
315
|
+
lookup(npi: string, options?: LookupOptions): Promise<ApiResponse<NpiData>>;
|
|
316
|
+
/**
|
|
317
|
+
* Look up multiple NPIs in a single request.
|
|
318
|
+
*
|
|
319
|
+
* @param npis - Array of 10-digit NPI numbers (max 500)
|
|
320
|
+
* @param options - Response shape, include, and batch options
|
|
321
|
+
* @returns Batch response with results for each NPI
|
|
322
|
+
*
|
|
323
|
+
* @example
|
|
324
|
+
* ```ts
|
|
325
|
+
* const results = await client.npi.lookupMany([
|
|
326
|
+
* "1234567890",
|
|
327
|
+
* "0987654321"
|
|
328
|
+
* ]);
|
|
329
|
+
* ```
|
|
330
|
+
*/
|
|
331
|
+
lookupMany(npis: string[], options?: BatchLookupOptions): Promise<BatchResponse<NpiData>>;
|
|
332
|
+
}
|
|
333
|
+
|
|
334
|
+
/**
|
|
335
|
+
* RxNorm term type (TTY).
|
|
336
|
+
*/
|
|
337
|
+
type RxTermType = "IN" | "PIN" | "MIN" | "SCDC" | "SCDF" | "SCDG" | "SCD" | "GPCK" | "BN" | "SBDC" | "SBDF" | "SBDG" | "SBD" | "BPCK" | "PSN" | "SY" | "TMSY" | "DF" | "ET" | "DFG";
|
|
338
|
+
/**
|
|
339
|
+
* RxNorm lookup result - compact shape.
|
|
340
|
+
*/
|
|
341
|
+
interface RxNormCompact extends DisplayField {
|
|
342
|
+
rxcui: string;
|
|
343
|
+
name: string;
|
|
344
|
+
tty: RxTermType;
|
|
345
|
+
}
|
|
346
|
+
/**
|
|
347
|
+
* RxNorm lookup result - standard shape.
|
|
348
|
+
*/
|
|
349
|
+
interface RxNormStandard extends RxNormCompact {
|
|
350
|
+
synonym?: string;
|
|
351
|
+
suppress?: string;
|
|
352
|
+
language?: string;
|
|
353
|
+
prescribable?: boolean;
|
|
354
|
+
ingredients?: Array<{
|
|
355
|
+
rxcui: string;
|
|
356
|
+
name: string;
|
|
357
|
+
}>;
|
|
358
|
+
}
|
|
359
|
+
/**
|
|
360
|
+
* RxNorm lookup result - full shape.
|
|
361
|
+
*/
|
|
362
|
+
interface RxNormFull extends RxNormStandard {
|
|
363
|
+
dose_form?: {
|
|
364
|
+
rxcui: string;
|
|
365
|
+
name: string;
|
|
366
|
+
};
|
|
367
|
+
brands?: Array<{
|
|
368
|
+
rxcui: string;
|
|
369
|
+
name: string;
|
|
370
|
+
}>;
|
|
371
|
+
related?: Array<{
|
|
372
|
+
rxcui: string;
|
|
373
|
+
name: string;
|
|
374
|
+
tty: RxTermType;
|
|
375
|
+
relation: string;
|
|
376
|
+
}>;
|
|
377
|
+
ndcs?: string[];
|
|
378
|
+
}
|
|
379
|
+
/**
|
|
380
|
+
* RxNorm response type based on shape.
|
|
381
|
+
*/
|
|
382
|
+
type RxNormData = RxNormCompact | RxNormStandard | RxNormFull;
|
|
383
|
+
|
|
384
|
+
/**
|
|
385
|
+
* RxNorm API endpoint.
|
|
386
|
+
*/
|
|
387
|
+
declare class RxNormEndpoint {
|
|
388
|
+
private readonly http;
|
|
389
|
+
constructor(http: HttpClient);
|
|
390
|
+
/**
|
|
391
|
+
* Look up a single RxCUI.
|
|
392
|
+
*
|
|
393
|
+
* @param rxcui - RxNorm Concept Unique Identifier
|
|
394
|
+
* @param options - Response shape and include options
|
|
395
|
+
* @returns RxNorm data
|
|
396
|
+
*
|
|
397
|
+
* @example
|
|
398
|
+
* ```ts
|
|
399
|
+
* const rx = await client.rxnorm.lookup("213169");
|
|
400
|
+
* console.log(rx.data.name); // "atorvastatin 10 MG Oral Tablet"
|
|
401
|
+
* ```
|
|
402
|
+
*/
|
|
403
|
+
lookup(rxcui: string, options?: LookupOptions): Promise<ApiResponse<RxNormData>>;
|
|
404
|
+
/**
|
|
405
|
+
* Look up multiple RxCUIs in a single request.
|
|
406
|
+
*
|
|
407
|
+
* @param rxcuis - Array of RxCUIs (max 500)
|
|
408
|
+
* @param options - Response shape, include, and batch options
|
|
409
|
+
* @returns Batch response with results for each RxCUI
|
|
410
|
+
*/
|
|
411
|
+
lookupMany(rxcuis: string[], options?: BatchLookupOptions): Promise<BatchResponse<RxNormData>>;
|
|
412
|
+
}
|
|
413
|
+
|
|
414
|
+
/**
|
|
415
|
+
* LOINC lookup result - compact shape.
|
|
416
|
+
*/
|
|
417
|
+
interface LoincCompact extends DisplayField {
|
|
418
|
+
loinc_num: string;
|
|
419
|
+
long_common_name: string;
|
|
420
|
+
component: string;
|
|
421
|
+
}
|
|
422
|
+
/**
|
|
423
|
+
* LOINC lookup result - standard shape.
|
|
424
|
+
*/
|
|
425
|
+
interface LoincStandard extends LoincCompact {
|
|
426
|
+
short_name?: string;
|
|
427
|
+
class?: string;
|
|
428
|
+
class_type?: number;
|
|
429
|
+
property?: string;
|
|
430
|
+
time_aspect?: string;
|
|
431
|
+
system?: string;
|
|
432
|
+
scale_type?: string;
|
|
433
|
+
method_type?: string;
|
|
434
|
+
status?: string;
|
|
435
|
+
order_obs?: string;
|
|
436
|
+
}
|
|
437
|
+
/**
|
|
438
|
+
* LOINC lookup result - full shape.
|
|
439
|
+
*/
|
|
440
|
+
interface LoincFull extends LoincStandard {
|
|
441
|
+
definition_description?: string;
|
|
442
|
+
consumer_name?: string;
|
|
443
|
+
survey_question_text?: string;
|
|
444
|
+
survey_question_source?: string;
|
|
445
|
+
units_required?: string;
|
|
446
|
+
submitted_units?: string;
|
|
447
|
+
related_names_2?: string;
|
|
448
|
+
example_units?: string;
|
|
449
|
+
example_ucum_units?: string;
|
|
450
|
+
example_si_ucum_units?: string;
|
|
451
|
+
status_reason?: string;
|
|
452
|
+
status_text?: string;
|
|
453
|
+
change_reason_public?: string;
|
|
454
|
+
common_test_rank?: number;
|
|
455
|
+
common_order_rank?: number;
|
|
456
|
+
hl7_field_subfield_id?: string;
|
|
457
|
+
external_copyright_notice?: string;
|
|
458
|
+
panel_type?: string;
|
|
459
|
+
ask_at_order_entry?: string;
|
|
460
|
+
associated_observations?: string;
|
|
461
|
+
version_first_released?: string;
|
|
462
|
+
version_last_changed?: string;
|
|
463
|
+
}
|
|
464
|
+
/**
|
|
465
|
+
* LOINC response type based on shape.
|
|
466
|
+
*/
|
|
467
|
+
type LoincData = LoincCompact | LoincStandard | LoincFull;
|
|
468
|
+
|
|
469
|
+
/**
|
|
470
|
+
* LOINC API endpoint.
|
|
471
|
+
*/
|
|
472
|
+
declare class LoincEndpoint {
|
|
473
|
+
private readonly http;
|
|
474
|
+
constructor(http: HttpClient);
|
|
475
|
+
/**
|
|
476
|
+
* Look up a single LOINC code.
|
|
477
|
+
*
|
|
478
|
+
* @param loincNum - LOINC number (e.g., "2345-7")
|
|
479
|
+
* @param options - Response shape and include options
|
|
480
|
+
* @returns LOINC data
|
|
481
|
+
*
|
|
482
|
+
* @example
|
|
483
|
+
* ```ts
|
|
484
|
+
* const loinc = await client.loinc.lookup("2345-7");
|
|
485
|
+
* console.log(loinc.data.long_common_name); // "Glucose [Mass/volume] in Serum or Plasma"
|
|
486
|
+
* ```
|
|
487
|
+
*/
|
|
488
|
+
lookup(loincNum: string, options?: LookupOptions): Promise<ApiResponse<LoincData>>;
|
|
489
|
+
/**
|
|
490
|
+
* Look up multiple LOINC codes in a single request.
|
|
491
|
+
*
|
|
492
|
+
* @param loincNums - Array of LOINC numbers (max 500)
|
|
493
|
+
* @param options - Response shape, include, and batch options
|
|
494
|
+
* @returns Batch response with results for each LOINC
|
|
495
|
+
*/
|
|
496
|
+
lookupMany(loincNums: string[], options?: BatchLookupOptions): Promise<BatchResponse<LoincData>>;
|
|
497
|
+
}
|
|
498
|
+
|
|
499
|
+
/**
|
|
500
|
+
* ICD-10 code type.
|
|
501
|
+
*/
|
|
502
|
+
type Icd10Type = "cm" | "pcs";
|
|
503
|
+
/**
|
|
504
|
+
* ICD-10 lookup result - compact shape.
|
|
505
|
+
*/
|
|
506
|
+
interface Icd10Compact extends DisplayField {
|
|
507
|
+
code: string;
|
|
508
|
+
type: Icd10Type;
|
|
509
|
+
description: string;
|
|
510
|
+
}
|
|
511
|
+
/**
|
|
512
|
+
* ICD-10 lookup result - standard shape.
|
|
513
|
+
*/
|
|
514
|
+
interface Icd10Standard extends Icd10Compact {
|
|
515
|
+
long_description?: string;
|
|
516
|
+
chapter?: string;
|
|
517
|
+
chapter_description?: string;
|
|
518
|
+
section?: string;
|
|
519
|
+
section_description?: string;
|
|
520
|
+
billable?: boolean;
|
|
521
|
+
/** ICD-10-CM specific */
|
|
522
|
+
is_header?: boolean;
|
|
523
|
+
/** ICD-10-PCS specific */
|
|
524
|
+
body_system?: string;
|
|
525
|
+
root_operation?: string;
|
|
526
|
+
}
|
|
527
|
+
/**
|
|
528
|
+
* ICD-10 lookup result - full shape.
|
|
529
|
+
*/
|
|
530
|
+
interface Icd10Full extends Icd10Standard {
|
|
531
|
+
/** ICD-10-CM specific */
|
|
532
|
+
includes?: string[];
|
|
533
|
+
excludes1?: string[];
|
|
534
|
+
excludes2?: string[];
|
|
535
|
+
code_first?: string[];
|
|
536
|
+
use_additional?: string[];
|
|
537
|
+
/** ICD-10-PCS specific */
|
|
538
|
+
approach?: string;
|
|
539
|
+
device?: string;
|
|
540
|
+
qualifier?: string;
|
|
541
|
+
/** Effective dates */
|
|
542
|
+
effective_date?: string;
|
|
543
|
+
end_date?: string;
|
|
544
|
+
}
|
|
545
|
+
/**
|
|
546
|
+
* ICD-10 response type based on shape.
|
|
547
|
+
*/
|
|
548
|
+
type Icd10Data = Icd10Compact | Icd10Standard | Icd10Full;
|
|
549
|
+
|
|
550
|
+
/**
|
|
551
|
+
* ICD-10 API endpoint.
|
|
552
|
+
*/
|
|
553
|
+
declare class Icd10Endpoint {
|
|
554
|
+
private readonly http;
|
|
555
|
+
constructor(http: HttpClient);
|
|
556
|
+
/**
|
|
557
|
+
* Look up a single ICD-10-CM code (diagnoses).
|
|
558
|
+
*
|
|
559
|
+
* @param code - ICD-10-CM code (e.g., "E11.9")
|
|
560
|
+
* @param options - Response shape and include options
|
|
561
|
+
* @returns ICD-10 data
|
|
562
|
+
*
|
|
563
|
+
* @example
|
|
564
|
+
* ```ts
|
|
565
|
+
* const icd = await client.icd10.lookupCm("E11.9");
|
|
566
|
+
* console.log(icd.data.description); // "Type 2 diabetes mellitus without complications"
|
|
567
|
+
* ```
|
|
568
|
+
*/
|
|
569
|
+
lookupCm(code: string, options?: LookupOptions): Promise<ApiResponse<Icd10Data>>;
|
|
570
|
+
/**
|
|
571
|
+
* Look up a single ICD-10-PCS code (procedures).
|
|
572
|
+
*
|
|
573
|
+
* @param code - ICD-10-PCS code (e.g., "0BJ08ZZ")
|
|
574
|
+
* @param options - Response shape and include options
|
|
575
|
+
* @returns ICD-10 data
|
|
576
|
+
*
|
|
577
|
+
* @example
|
|
578
|
+
* ```ts
|
|
579
|
+
* const icd = await client.icd10.lookupPcs("0BJ08ZZ");
|
|
580
|
+
* console.log(icd.data.description);
|
|
581
|
+
* ```
|
|
582
|
+
*/
|
|
583
|
+
lookupPcs(code: string, options?: LookupOptions): Promise<ApiResponse<Icd10Data>>;
|
|
584
|
+
/**
|
|
585
|
+
* Look up multiple ICD-10-CM codes in a single request.
|
|
586
|
+
*
|
|
587
|
+
* @param codes - Array of ICD-10-CM codes (max 500)
|
|
588
|
+
* @param options - Response shape, include, and batch options
|
|
589
|
+
* @returns Batch response with results for each code
|
|
590
|
+
*/
|
|
591
|
+
lookupCmMany(codes: string[], options?: BatchLookupOptions): Promise<BatchResponse<Icd10Data>>;
|
|
592
|
+
/**
|
|
593
|
+
* Look up multiple ICD-10-PCS codes in a single request.
|
|
594
|
+
*
|
|
595
|
+
* @param codes - Array of ICD-10-PCS codes (max 500)
|
|
596
|
+
* @param options - Response shape, include, and batch options
|
|
597
|
+
* @returns Batch response with results for each code
|
|
598
|
+
*/
|
|
599
|
+
lookupPcsMany(codes: string[], options?: BatchLookupOptions): Promise<BatchResponse<Icd10Data>>;
|
|
600
|
+
}
|
|
601
|
+
|
|
602
|
+
/**
|
|
603
|
+
* CVX vaccine code lookup result - compact shape.
|
|
604
|
+
*/
|
|
605
|
+
interface CvxCompact extends DisplayField {
|
|
606
|
+
cvx_code: string;
|
|
607
|
+
short_description: string;
|
|
608
|
+
}
|
|
609
|
+
/**
|
|
610
|
+
* CVX vaccine code lookup result - standard shape.
|
|
611
|
+
*/
|
|
612
|
+
interface CvxStandard extends CvxCompact {
|
|
613
|
+
full_vaccine_name: string;
|
|
614
|
+
notes?: string;
|
|
615
|
+
status: "Active" | "Inactive" | "Never Active" | "Pending";
|
|
616
|
+
last_updated?: string;
|
|
617
|
+
}
|
|
618
|
+
/**
|
|
619
|
+
* CVX vaccine code lookup result - full shape.
|
|
620
|
+
*/
|
|
621
|
+
interface CvxFull extends CvxStandard {
|
|
622
|
+
vaccine_group?: string;
|
|
623
|
+
cdc_product_name?: string;
|
|
624
|
+
dose_number?: string;
|
|
625
|
+
forecast_vaccine_group?: string;
|
|
626
|
+
}
|
|
627
|
+
/**
|
|
628
|
+
* CVX response type based on shape.
|
|
629
|
+
*/
|
|
630
|
+
type CvxData = CvxCompact | CvxStandard | CvxFull;
|
|
631
|
+
|
|
632
|
+
/**
|
|
633
|
+
* CVX (Vaccine Codes) API endpoint.
|
|
634
|
+
*/
|
|
635
|
+
declare class CvxEndpoint {
|
|
636
|
+
private readonly http;
|
|
637
|
+
constructor(http: HttpClient);
|
|
638
|
+
/**
|
|
639
|
+
* Look up a single CVX code.
|
|
640
|
+
*
|
|
641
|
+
* @param cvxCode - CVX vaccine code
|
|
642
|
+
* @param options - Response shape and include options
|
|
643
|
+
* @returns CVX data
|
|
644
|
+
*
|
|
645
|
+
* @example
|
|
646
|
+
* ```ts
|
|
647
|
+
* const cvx = await client.cvx.lookup("208");
|
|
648
|
+
* console.log(cvx.data.short_description); // "COVID-19, mRNA, LNP-S, PF, 30 mcg/0.3 mL dose"
|
|
649
|
+
* ```
|
|
650
|
+
*/
|
|
651
|
+
lookup(cvxCode: string, options?: LookupOptions): Promise<ApiResponse<CvxData>>;
|
|
652
|
+
/**
|
|
653
|
+
* Look up multiple CVX codes in a single request.
|
|
654
|
+
*
|
|
655
|
+
* @param cvxCodes - Array of CVX codes (max 500)
|
|
656
|
+
* @param options - Response shape, include, and batch options
|
|
657
|
+
* @returns Batch response with results for each code
|
|
658
|
+
*/
|
|
659
|
+
lookupMany(cvxCodes: string[], options?: BatchLookupOptions): Promise<BatchResponse<CvxData>>;
|
|
660
|
+
}
|
|
661
|
+
|
|
662
|
+
/**
|
|
663
|
+
* MVX vaccine manufacturer lookup result - compact shape.
|
|
664
|
+
*/
|
|
665
|
+
interface MvxCompact extends DisplayField {
|
|
666
|
+
mvx_code: string;
|
|
667
|
+
manufacturer_name: string;
|
|
668
|
+
}
|
|
669
|
+
/**
|
|
670
|
+
* MVX vaccine manufacturer lookup result - standard shape.
|
|
671
|
+
*/
|
|
672
|
+
interface MvxStandard extends MvxCompact {
|
|
673
|
+
notes?: string;
|
|
674
|
+
status: "Active" | "Inactive";
|
|
675
|
+
last_updated?: string;
|
|
676
|
+
}
|
|
677
|
+
/**
|
|
678
|
+
* MVX vaccine manufacturer lookup result - full shape.
|
|
679
|
+
*/
|
|
680
|
+
interface MvxFull extends MvxStandard {
|
|
681
|
+
vaccines?: Array<{
|
|
682
|
+
cvx_code: string;
|
|
683
|
+
vaccine_name: string;
|
|
684
|
+
}>;
|
|
685
|
+
}
|
|
686
|
+
/**
|
|
687
|
+
* MVX response type based on shape.
|
|
688
|
+
*/
|
|
689
|
+
type MvxData = MvxCompact | MvxStandard | MvxFull;
|
|
690
|
+
|
|
691
|
+
/**
|
|
692
|
+
* MVX (Vaccine Manufacturer Codes) API endpoint.
|
|
693
|
+
*/
|
|
694
|
+
declare class MvxEndpoint {
|
|
695
|
+
private readonly http;
|
|
696
|
+
constructor(http: HttpClient);
|
|
697
|
+
/**
|
|
698
|
+
* Look up a single MVX code.
|
|
699
|
+
*
|
|
700
|
+
* @param mvxCode - MVX manufacturer code
|
|
701
|
+
* @param options - Response shape and include options
|
|
702
|
+
* @returns MVX data
|
|
703
|
+
*
|
|
704
|
+
* @example
|
|
705
|
+
* ```ts
|
|
706
|
+
* const mvx = await client.mvx.lookup("PFR");
|
|
707
|
+
* console.log(mvx.data.manufacturer_name); // "Pfizer, Inc"
|
|
708
|
+
* ```
|
|
709
|
+
*/
|
|
710
|
+
lookup(mvxCode: string, options?: LookupOptions): Promise<ApiResponse<MvxData>>;
|
|
711
|
+
/**
|
|
712
|
+
* Look up multiple MVX codes in a single request.
|
|
713
|
+
*
|
|
714
|
+
* @param mvxCodes - Array of MVX codes (max 500)
|
|
715
|
+
* @param options - Response shape, include, and batch options
|
|
716
|
+
* @returns Batch response with results for each code
|
|
717
|
+
*/
|
|
718
|
+
lookupMany(mvxCodes: string[], options?: BatchLookupOptions): Promise<BatchResponse<MvxData>>;
|
|
719
|
+
}
|
|
720
|
+
|
|
721
|
+
/**
|
|
722
|
+
* FDA Label lookup result - compact shape.
|
|
723
|
+
*/
|
|
724
|
+
interface FdaLabelCompact extends DisplayField {
|
|
725
|
+
set_id: string;
|
|
726
|
+
product_name: string;
|
|
727
|
+
labeler_name: string;
|
|
728
|
+
}
|
|
729
|
+
/**
|
|
730
|
+
* FDA Label lookup result - standard shape.
|
|
731
|
+
*/
|
|
732
|
+
interface FdaLabelStandard extends FdaLabelCompact {
|
|
733
|
+
version?: number;
|
|
734
|
+
effective_time?: string;
|
|
735
|
+
product_type?: string;
|
|
736
|
+
route?: string[];
|
|
737
|
+
substance_name?: string[];
|
|
738
|
+
indications_and_usage?: string;
|
|
739
|
+
dosage_and_administration?: string;
|
|
740
|
+
}
|
|
741
|
+
/**
|
|
742
|
+
* FDA Label lookup result - full shape.
|
|
743
|
+
*/
|
|
744
|
+
interface FdaLabelFull extends FdaLabelStandard {
|
|
745
|
+
spl_id?: string;
|
|
746
|
+
document_type?: string;
|
|
747
|
+
warnings?: string;
|
|
748
|
+
precautions?: string;
|
|
749
|
+
contraindications?: string;
|
|
750
|
+
adverse_reactions?: string;
|
|
751
|
+
drug_interactions?: string;
|
|
752
|
+
overdosage?: string;
|
|
753
|
+
clinical_pharmacology?: string;
|
|
754
|
+
mechanism_of_action?: string;
|
|
755
|
+
pharmacodynamics?: string;
|
|
756
|
+
pharmacokinetics?: string;
|
|
757
|
+
how_supplied?: string;
|
|
758
|
+
storage_and_handling?: string;
|
|
759
|
+
boxed_warning?: string;
|
|
760
|
+
pregnancy?: string;
|
|
761
|
+
nursing_mothers?: string;
|
|
762
|
+
pediatric_use?: string;
|
|
763
|
+
geriatric_use?: string;
|
|
764
|
+
}
|
|
765
|
+
/**
|
|
766
|
+
* FDA Label response type based on shape.
|
|
767
|
+
*/
|
|
768
|
+
type FdaLabelData = FdaLabelCompact | FdaLabelStandard | FdaLabelFull;
|
|
769
|
+
|
|
770
|
+
/**
|
|
771
|
+
* FDA Labels API endpoint.
|
|
772
|
+
*/
|
|
773
|
+
declare class FdaLabelsEndpoint {
|
|
774
|
+
private readonly http;
|
|
775
|
+
constructor(http: HttpClient);
|
|
776
|
+
/**
|
|
777
|
+
* Look up FDA label by Set ID.
|
|
778
|
+
*
|
|
779
|
+
* @param setId - FDA SPL Set ID
|
|
780
|
+
* @param options - Response shape and include options
|
|
781
|
+
* @returns FDA Label data
|
|
782
|
+
*
|
|
783
|
+
* @example
|
|
784
|
+
* ```ts
|
|
785
|
+
* const label = await client.fdaLabels.lookup("abc123-def456");
|
|
786
|
+
* console.log(label.data.indications_and_usage);
|
|
787
|
+
* ```
|
|
788
|
+
*/
|
|
789
|
+
lookup(setId: string, options?: LookupOptions): Promise<ApiResponse<FdaLabelData>>;
|
|
790
|
+
/**
|
|
791
|
+
* Look up FDA label by NDC code.
|
|
792
|
+
*
|
|
793
|
+
* @param ndc - NDC code
|
|
794
|
+
* @param options - Response shape and include options
|
|
795
|
+
* @returns FDA Label data
|
|
796
|
+
*
|
|
797
|
+
* @example
|
|
798
|
+
* ```ts
|
|
799
|
+
* const label = await client.fdaLabels.lookupByNdc("0069-0151-01");
|
|
800
|
+
* console.log(label.data.product_name);
|
|
801
|
+
* ```
|
|
802
|
+
*/
|
|
803
|
+
lookupByNdc(ndc: string, options?: LookupOptions): Promise<ApiResponse<FdaLabelData>>;
|
|
804
|
+
/**
|
|
805
|
+
* Look up multiple FDA labels by Set IDs in a single request.
|
|
806
|
+
*
|
|
807
|
+
* @param setIds - Array of Set IDs (max 500)
|
|
808
|
+
* @param options - Response shape, include, and batch options
|
|
809
|
+
* @returns Batch response with results for each Set ID
|
|
810
|
+
*/
|
|
811
|
+
lookupMany(setIds: string[], options?: BatchLookupOptions): Promise<BatchResponse<FdaLabelData>>;
|
|
812
|
+
}
|
|
813
|
+
|
|
814
|
+
/**
|
|
815
|
+
* Configuration options for the FHIRfly client.
|
|
816
|
+
*/
|
|
817
|
+
interface FhirflyConfig {
|
|
818
|
+
/**
|
|
819
|
+
* Your FHIRfly API key.
|
|
820
|
+
* Get one at https://fhirfly.io/dashboard
|
|
821
|
+
*/
|
|
822
|
+
apiKey: string;
|
|
823
|
+
/**
|
|
824
|
+
* Base URL for the API.
|
|
825
|
+
* @default "https://api.fhirfly.io"
|
|
826
|
+
*/
|
|
827
|
+
baseUrl?: string;
|
|
828
|
+
/**
|
|
829
|
+
* Request timeout in milliseconds.
|
|
830
|
+
* @default 30000
|
|
831
|
+
*/
|
|
832
|
+
timeout?: number;
|
|
833
|
+
/**
|
|
834
|
+
* Maximum number of retry attempts for failed requests.
|
|
835
|
+
* @default 3
|
|
836
|
+
*/
|
|
837
|
+
maxRetries?: number;
|
|
838
|
+
/**
|
|
839
|
+
* Base delay between retries in milliseconds (exponential backoff).
|
|
840
|
+
* @default 1000
|
|
841
|
+
*/
|
|
842
|
+
retryDelay?: number;
|
|
843
|
+
}
|
|
844
|
+
/**
|
|
845
|
+
* FHIRfly API client.
|
|
846
|
+
*
|
|
847
|
+
* Provides access to healthcare reference data including drug codes (NDC, RxNorm),
|
|
848
|
+
* provider identifiers (NPI), lab codes (LOINC), diagnosis codes (ICD-10),
|
|
849
|
+
* vaccine codes (CVX, MVX), and FDA drug labels.
|
|
850
|
+
*
|
|
851
|
+
* @example
|
|
852
|
+
* ```ts
|
|
853
|
+
* import { Fhirfly } from "@fhirfly/sdk";
|
|
854
|
+
*
|
|
855
|
+
* const client = new Fhirfly({ apiKey: "your-api-key" });
|
|
856
|
+
*
|
|
857
|
+
* // Look up a drug by NDC
|
|
858
|
+
* const ndc = await client.ndc.lookup("0069-0151-01");
|
|
859
|
+
* console.log(ndc.data.product_name); // "Lipitor"
|
|
860
|
+
*
|
|
861
|
+
* // Look up a provider by NPI
|
|
862
|
+
* const npi = await client.npi.lookup("1234567890");
|
|
863
|
+
* console.log(npi.data.name);
|
|
864
|
+
*
|
|
865
|
+
* // Batch lookups
|
|
866
|
+
* const results = await client.ndc.lookupMany([
|
|
867
|
+
* "0069-0151-01",
|
|
868
|
+
* "0069-0151-02"
|
|
869
|
+
* ]);
|
|
870
|
+
* ```
|
|
871
|
+
*/
|
|
872
|
+
declare class Fhirfly {
|
|
873
|
+
private readonly http;
|
|
874
|
+
/**
|
|
875
|
+
* NDC (National Drug Code) lookups.
|
|
876
|
+
*/
|
|
877
|
+
readonly ndc: NdcEndpoint;
|
|
878
|
+
/**
|
|
879
|
+
* NPI (National Provider Identifier) lookups.
|
|
880
|
+
*/
|
|
881
|
+
readonly npi: NpiEndpoint;
|
|
882
|
+
/**
|
|
883
|
+
* RxNorm drug terminology lookups.
|
|
884
|
+
*/
|
|
885
|
+
readonly rxnorm: RxNormEndpoint;
|
|
886
|
+
/**
|
|
887
|
+
* LOINC laboratory and clinical observation code lookups.
|
|
888
|
+
*/
|
|
889
|
+
readonly loinc: LoincEndpoint;
|
|
890
|
+
/**
|
|
891
|
+
* ICD-10 diagnosis and procedure code lookups.
|
|
892
|
+
*/
|
|
893
|
+
readonly icd10: Icd10Endpoint;
|
|
894
|
+
/**
|
|
895
|
+
* CVX vaccine code lookups.
|
|
896
|
+
*/
|
|
897
|
+
readonly cvx: CvxEndpoint;
|
|
898
|
+
/**
|
|
899
|
+
* MVX vaccine manufacturer code lookups.
|
|
900
|
+
*/
|
|
901
|
+
readonly mvx: MvxEndpoint;
|
|
902
|
+
/**
|
|
903
|
+
* FDA drug label lookups.
|
|
904
|
+
*/
|
|
905
|
+
readonly fdaLabels: FdaLabelsEndpoint;
|
|
906
|
+
/**
|
|
907
|
+
* Create a new FHIRfly client.
|
|
908
|
+
*
|
|
909
|
+
* @param config - Client configuration
|
|
910
|
+
* @throws {Error} If apiKey is not provided
|
|
911
|
+
*/
|
|
912
|
+
constructor(config: FhirflyConfig);
|
|
913
|
+
}
|
|
914
|
+
|
|
915
|
+
/**
|
|
916
|
+
* Base error class for all FHIRfly SDK errors.
|
|
917
|
+
*/
|
|
918
|
+
declare class FhirflyError extends Error {
|
|
919
|
+
constructor(message: string);
|
|
920
|
+
}
|
|
921
|
+
/**
|
|
922
|
+
* Error thrown when the API returns an error response.
|
|
923
|
+
*/
|
|
924
|
+
declare class ApiError extends FhirflyError {
|
|
925
|
+
readonly statusCode: number;
|
|
926
|
+
readonly code?: string;
|
|
927
|
+
readonly details?: unknown;
|
|
928
|
+
constructor(message: string, statusCode: number, code?: string, details?: unknown);
|
|
929
|
+
}
|
|
930
|
+
/**
|
|
931
|
+
* Error thrown when authentication fails (401).
|
|
932
|
+
*/
|
|
933
|
+
declare class AuthenticationError extends ApiError {
|
|
934
|
+
constructor(message?: string);
|
|
935
|
+
}
|
|
936
|
+
/**
|
|
937
|
+
* Error thrown when a resource is not found (404).
|
|
938
|
+
*/
|
|
939
|
+
declare class NotFoundError extends ApiError {
|
|
940
|
+
readonly code_type: string;
|
|
941
|
+
readonly code_value: string;
|
|
942
|
+
constructor(codeType: string, codeValue: string);
|
|
943
|
+
}
|
|
944
|
+
/**
|
|
945
|
+
* Error thrown when the request is invalid (400).
|
|
946
|
+
*/
|
|
947
|
+
declare class ValidationError extends ApiError {
|
|
948
|
+
readonly field?: string;
|
|
949
|
+
constructor(message: string, field?: string);
|
|
950
|
+
}
|
|
951
|
+
/**
|
|
952
|
+
* Error thrown when rate limited (429).
|
|
953
|
+
*/
|
|
954
|
+
declare class RateLimitError extends ApiError {
|
|
955
|
+
readonly retryAfter?: number;
|
|
956
|
+
readonly limit?: number;
|
|
957
|
+
readonly remaining?: number;
|
|
958
|
+
readonly reset?: Date;
|
|
959
|
+
constructor(message?: string, retryAfter?: number, limit?: number, remaining?: number, reset?: Date);
|
|
960
|
+
}
|
|
961
|
+
/**
|
|
962
|
+
* Error thrown when quota is exceeded (429 with quota context).
|
|
963
|
+
*/
|
|
964
|
+
declare class QuotaExceededError extends ApiError {
|
|
965
|
+
readonly quotaLimit?: number;
|
|
966
|
+
readonly quotaUsed?: number;
|
|
967
|
+
readonly quotaResetDate?: Date;
|
|
968
|
+
constructor(message?: string, quotaLimit?: number, quotaUsed?: number, quotaResetDate?: Date);
|
|
969
|
+
}
|
|
970
|
+
/**
|
|
971
|
+
* Error thrown when the server returns a 5xx error.
|
|
972
|
+
*/
|
|
973
|
+
declare class ServerError extends ApiError {
|
|
974
|
+
constructor(message?: string, statusCode?: number);
|
|
975
|
+
}
|
|
976
|
+
/**
|
|
977
|
+
* Error thrown when a network error occurs.
|
|
978
|
+
*/
|
|
979
|
+
declare class NetworkError extends FhirflyError {
|
|
980
|
+
readonly cause?: Error;
|
|
981
|
+
constructor(message?: string, cause?: Error);
|
|
982
|
+
}
|
|
983
|
+
/**
|
|
984
|
+
* Error thrown when a request times out.
|
|
985
|
+
*/
|
|
986
|
+
declare class TimeoutError extends FhirflyError {
|
|
987
|
+
readonly timeoutMs: number;
|
|
988
|
+
constructor(timeoutMs: number);
|
|
989
|
+
}
|
|
990
|
+
|
|
991
|
+
export { type ActiveIngredient, ApiError, type ApiResponse, AuthenticationError, type BatchLookupOptions, type BatchResponse, type BatchResultItem, type CvxCompact, type CvxData, type CvxFull, type CvxStandard, type DisplayField, type FdaLabelCompact, type FdaLabelData, type FdaLabelFull, type FdaLabelStandard, Fhirfly, type FhirflyConfig, FhirflyError, type Icd10Compact, type Icd10Data, type Icd10Full, type Icd10Standard, type Icd10Type, type IncludeOption, type LegalInfo, type LoincCompact, type LoincData, type LoincFull, type LoincStandard, type LookupOptions, type MvxCompact, type MvxData, type MvxFull, type MvxStandard, type NdcCompact, type NdcData, type NdcFull, type NdcPackaging, type NdcStandard, NetworkError, NotFoundError, type NpiAddress, type NpiCompact, type NpiData, type NpiFull, type NpiIdentifier, type NpiStandard, type NpiTaxonomy, QuotaExceededError, RateLimitError, type ResponseMeta, type ResponseShape, type RxNormCompact, type RxNormData, type RxNormFull, type RxNormStandard, type RxTermType, ServerError, TimeoutError, ValidationError };
|