us-gov-open-data-mcp 1.0.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 +211 -0
- package/dist/client.d.ts +54 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +388 -0
- package/dist/client.js.map +1 -0
- package/dist/instructions.d.ts +8 -0
- package/dist/instructions.d.ts.map +1 -0
- package/dist/instructions.js +549 -0
- package/dist/instructions.js.map +1 -0
- package/dist/modules/bea.d.ts +28 -0
- package/dist/modules/bea.d.ts.map +1 -0
- package/dist/modules/bea.js +158 -0
- package/dist/modules/bea.js.map +1 -0
- package/dist/modules/bls.d.ts +29 -0
- package/dist/modules/bls.d.ts.map +1 -0
- package/dist/modules/bls.js +244 -0
- package/dist/modules/bls.js.map +1 -0
- package/dist/modules/bts.d.ts +26 -0
- package/dist/modules/bts.d.ts.map +1 -0
- package/dist/modules/bts.js +112 -0
- package/dist/modules/bts.js.map +1 -0
- package/dist/modules/cdc.d.ts +26 -0
- package/dist/modules/cdc.d.ts.map +1 -0
- package/dist/modules/cdc.js +310 -0
- package/dist/modules/cdc.js.map +1 -0
- package/dist/modules/census.d.ts +23 -0
- package/dist/modules/census.d.ts.map +1 -0
- package/dist/modules/census.js +141 -0
- package/dist/modules/census.js.map +1 -0
- package/dist/modules/cfpb.d.ts +20 -0
- package/dist/modules/cfpb.d.ts.map +1 -0
- package/dist/modules/cfpb.js +135 -0
- package/dist/modules/cfpb.js.map +1 -0
- package/dist/modules/clinical-trials.d.ts +22 -0
- package/dist/modules/clinical-trials.d.ts.map +1 -0
- package/dist/modules/clinical-trials.js +171 -0
- package/dist/modules/clinical-trials.js.map +1 -0
- package/dist/modules/cms.d.ts +21 -0
- package/dist/modules/cms.d.ts.map +1 -0
- package/dist/modules/cms.js +135 -0
- package/dist/modules/cms.js.map +1 -0
- package/dist/modules/college-scorecard.d.ts +39 -0
- package/dist/modules/college-scorecard.d.ts.map +1 -0
- package/dist/modules/college-scorecard.js +192 -0
- package/dist/modules/college-scorecard.js.map +1 -0
- package/dist/modules/congress.d.ts +28 -0
- package/dist/modules/congress.d.ts.map +1 -0
- package/dist/modules/congress.js +883 -0
- package/dist/modules/congress.js.map +1 -0
- package/dist/modules/dol.d.ts +27 -0
- package/dist/modules/dol.d.ts.map +1 -0
- package/dist/modules/dol.js +209 -0
- package/dist/modules/dol.js.map +1 -0
- package/dist/modules/eia.d.ts +33 -0
- package/dist/modules/eia.d.ts.map +1 -0
- package/dist/modules/eia.js +227 -0
- package/dist/modules/eia.js.map +1 -0
- package/dist/modules/epa.d.ts +21 -0
- package/dist/modules/epa.d.ts.map +1 -0
- package/dist/modules/epa.js +91 -0
- package/dist/modules/epa.js.map +1 -0
- package/dist/modules/fbi.d.ts +28 -0
- package/dist/modules/fbi.d.ts.map +1 -0
- package/dist/modules/fbi.js +143 -0
- package/dist/modules/fbi.js.map +1 -0
- package/dist/modules/fda.d.ts +35 -0
- package/dist/modules/fda.d.ts.map +1 -0
- package/dist/modules/fda.js +262 -0
- package/dist/modules/fda.js.map +1 -0
- package/dist/modules/fdic.d.ts +21 -0
- package/dist/modules/fdic.d.ts.map +1 -0
- package/dist/modules/fdic.js +186 -0
- package/dist/modules/fdic.js.map +1 -0
- package/dist/modules/fec.d.ts +29 -0
- package/dist/modules/fec.d.ts.map +1 -0
- package/dist/modules/fec.js +282 -0
- package/dist/modules/fec.js.map +1 -0
- package/dist/modules/federal-register.d.ts +24 -0
- package/dist/modules/federal-register.d.ts.map +1 -0
- package/dist/modules/federal-register.js +184 -0
- package/dist/modules/federal-register.js.map +1 -0
- package/dist/modules/fema.d.ts +20 -0
- package/dist/modules/fema.d.ts.map +1 -0
- package/dist/modules/fema.js +156 -0
- package/dist/modules/fema.js.map +1 -0
- package/dist/modules/fred.d.ts +40 -0
- package/dist/modules/fred.d.ts.map +1 -0
- package/dist/modules/fred.js +143 -0
- package/dist/modules/fred.js.map +1 -0
- package/dist/modules/govinfo.d.ts +24 -0
- package/dist/modules/govinfo.d.ts.map +1 -0
- package/dist/modules/govinfo.js +147 -0
- package/dist/modules/govinfo.js.map +1 -0
- package/dist/modules/hud.d.ts +17 -0
- package/dist/modules/hud.d.ts.map +1 -0
- package/dist/modules/hud.js +170 -0
- package/dist/modules/hud.js.map +1 -0
- package/dist/modules/naep.d.ts +27 -0
- package/dist/modules/naep.d.ts.map +1 -0
- package/dist/modules/naep.js +210 -0
- package/dist/modules/naep.js.map +1 -0
- package/dist/modules/nhtsa.d.ts +13 -0
- package/dist/modules/nhtsa.d.ts.map +1 -0
- package/dist/modules/nhtsa.js +196 -0
- package/dist/modules/nhtsa.js.map +1 -0
- package/dist/modules/noaa.d.ts +41 -0
- package/dist/modules/noaa.d.ts.map +1 -0
- package/dist/modules/noaa.js +135 -0
- package/dist/modules/noaa.js.map +1 -0
- package/dist/modules/nrel.d.ts +25 -0
- package/dist/modules/nrel.d.ts.map +1 -0
- package/dist/modules/nrel.js +87 -0
- package/dist/modules/nrel.js.map +1 -0
- package/dist/modules/regulations.d.ts +24 -0
- package/dist/modules/regulations.d.ts.map +1 -0
- package/dist/modules/regulations.js +173 -0
- package/dist/modules/regulations.js.map +1 -0
- package/dist/modules/sec.d.ts +25 -0
- package/dist/modules/sec.d.ts.map +1 -0
- package/dist/modules/sec.js +192 -0
- package/dist/modules/sec.js.map +1 -0
- package/dist/modules/senate-lobbying.d.ts +21 -0
- package/dist/modules/senate-lobbying.d.ts.map +1 -0
- package/dist/modules/senate-lobbying.js +189 -0
- package/dist/modules/senate-lobbying.js.map +1 -0
- package/dist/modules/treasury.d.ts +23 -0
- package/dist/modules/treasury.d.ts.map +1 -0
- package/dist/modules/treasury.js +234 -0
- package/dist/modules/treasury.js.map +1 -0
- package/dist/modules/usaspending.d.ts +19 -0
- package/dist/modules/usaspending.d.ts.map +1 -0
- package/dist/modules/usaspending.js +204 -0
- package/dist/modules/usaspending.js.map +1 -0
- package/dist/modules/usda-fooddata.d.ts +24 -0
- package/dist/modules/usda-fooddata.d.ts.map +1 -0
- package/dist/modules/usda-fooddata.js +118 -0
- package/dist/modules/usda-fooddata.js.map +1 -0
- package/dist/modules/usda-nass.d.ts +46 -0
- package/dist/modules/usda-nass.d.ts.map +1 -0
- package/dist/modules/usda-nass.js +151 -0
- package/dist/modules/usda-nass.js.map +1 -0
- package/dist/modules/usgs.d.ts +21 -0
- package/dist/modules/usgs.d.ts.map +1 -0
- package/dist/modules/usgs.js +203 -0
- package/dist/modules/usgs.js.map +1 -0
- package/dist/modules/uspto.d.ts +13 -0
- package/dist/modules/uspto.d.ts.map +1 -0
- package/dist/modules/uspto.js +157 -0
- package/dist/modules/uspto.js.map +1 -0
- package/dist/modules/world-bank.d.ts +21 -0
- package/dist/modules/world-bank.d.ts.map +1 -0
- package/dist/modules/world-bank.js +130 -0
- package/dist/modules/world-bank.js.map +1 -0
- package/dist/prompts.d.ts +12 -0
- package/dist/prompts.d.ts.map +1 -0
- package/dist/prompts.js +858 -0
- package/dist/prompts.js.map +1 -0
- package/dist/sdk/bea.d.ts +111 -0
- package/dist/sdk/bea.d.ts.map +1 -0
- package/dist/sdk/bea.js +242 -0
- package/dist/sdk/bea.js.map +1 -0
- package/dist/sdk/bls.d.ts +65 -0
- package/dist/sdk/bls.d.ts.map +1 -0
- package/dist/sdk/bls.js +203 -0
- package/dist/sdk/bls.js.map +1 -0
- package/dist/sdk/bts.d.ts +108 -0
- package/dist/sdk/bts.d.ts.map +1 -0
- package/dist/sdk/bts.js +121 -0
- package/dist/sdk/bts.js.map +1 -0
- package/dist/sdk/cdc.d.ts +105 -0
- package/dist/sdk/cdc.d.ts.map +1 -0
- package/dist/sdk/cdc.js +222 -0
- package/dist/sdk/cdc.js.map +1 -0
- package/dist/sdk/census.d.ts +47 -0
- package/dist/sdk/census.d.ts.map +1 -0
- package/dist/sdk/census.js +99 -0
- package/dist/sdk/census.js.map +1 -0
- package/dist/sdk/cfpb.d.ts +148 -0
- package/dist/sdk/cfpb.d.ts.map +1 -0
- package/dist/sdk/cfpb.js +153 -0
- package/dist/sdk/cfpb.js.map +1 -0
- package/dist/sdk/clinical-trials.d.ts +214 -0
- package/dist/sdk/clinical-trials.d.ts.map +1 -0
- package/dist/sdk/clinical-trials.js +134 -0
- package/dist/sdk/clinical-trials.js.map +1 -0
- package/dist/sdk/cms.d.ts +81 -0
- package/dist/sdk/cms.d.ts.map +1 -0
- package/dist/sdk/cms.js +227 -0
- package/dist/sdk/cms.js.map +1 -0
- package/dist/sdk/college-scorecard.d.ts +63 -0
- package/dist/sdk/college-scorecard.d.ts.map +1 -0
- package/dist/sdk/college-scorecard.js +131 -0
- package/dist/sdk/college-scorecard.js.map +1 -0
- package/dist/sdk/congress.d.ts +575 -0
- package/dist/sdk/congress.d.ts.map +1 -0
- package/dist/sdk/congress.js +659 -0
- package/dist/sdk/congress.js.map +1 -0
- package/dist/sdk/dol.d.ts +299 -0
- package/dist/sdk/dol.d.ts.map +1 -0
- package/dist/sdk/dol.js +252 -0
- package/dist/sdk/dol.js.map +1 -0
- package/dist/sdk/eia.d.ts +91 -0
- package/dist/sdk/eia.d.ts.map +1 -0
- package/dist/sdk/eia.js +156 -0
- package/dist/sdk/eia.js.map +1 -0
- package/dist/sdk/epa.d.ts +128 -0
- package/dist/sdk/epa.d.ts.map +1 -0
- package/dist/sdk/epa.js +120 -0
- package/dist/sdk/epa.js.map +1 -0
- package/dist/sdk/fbi.d.ts +48 -0
- package/dist/sdk/fbi.d.ts.map +1 -0
- package/dist/sdk/fbi.js +69 -0
- package/dist/sdk/fbi.js.map +1 -0
- package/dist/sdk/fda.d.ts +356 -0
- package/dist/sdk/fda.d.ts.map +1 -0
- package/dist/sdk/fda.js +162 -0
- package/dist/sdk/fda.js.map +1 -0
- package/dist/sdk/fdic.d.ts +227 -0
- package/dist/sdk/fdic.d.ts.map +1 -0
- package/dist/sdk/fdic.js +172 -0
- package/dist/sdk/fdic.js.map +1 -0
- package/dist/sdk/fec.d.ts +142 -0
- package/dist/sdk/fec.d.ts.map +1 -0
- package/dist/sdk/fec.js +92 -0
- package/dist/sdk/fec.js.map +1 -0
- package/dist/sdk/federal-register.d.ts +88 -0
- package/dist/sdk/federal-register.d.ts.map +1 -0
- package/dist/sdk/federal-register.js +100 -0
- package/dist/sdk/federal-register.js.map +1 -0
- package/dist/sdk/fema.d.ts +137 -0
- package/dist/sdk/fema.d.ts.map +1 -0
- package/dist/sdk/fema.js +197 -0
- package/dist/sdk/fema.js.map +1 -0
- package/dist/sdk/fred.d.ts +72 -0
- package/dist/sdk/fred.d.ts.map +1 -0
- package/dist/sdk/fred.js +59 -0
- package/dist/sdk/fred.js.map +1 -0
- package/dist/sdk/govinfo.d.ts +64 -0
- package/dist/sdk/govinfo.d.ts.map +1 -0
- package/dist/sdk/govinfo.js +187 -0
- package/dist/sdk/govinfo.js.map +1 -0
- package/dist/sdk/hud.d.ts +87 -0
- package/dist/sdk/hud.d.ts.map +1 -0
- package/dist/sdk/hud.js +91 -0
- package/dist/sdk/hud.js.map +1 -0
- package/dist/sdk/index.d.ts +51 -0
- package/dist/sdk/index.d.ts.map +1 -0
- package/dist/sdk/index.js +51 -0
- package/dist/sdk/index.js.map +1 -0
- package/dist/sdk/naep.d.ts +93 -0
- package/dist/sdk/naep.d.ts.map +1 -0
- package/dist/sdk/naep.js +163 -0
- package/dist/sdk/naep.js.map +1 -0
- package/dist/sdk/nhtsa.d.ts +169 -0
- package/dist/sdk/nhtsa.d.ts.map +1 -0
- package/dist/sdk/nhtsa.js +102 -0
- package/dist/sdk/nhtsa.js.map +1 -0
- package/dist/sdk/noaa.d.ts +72 -0
- package/dist/sdk/noaa.d.ts.map +1 -0
- package/dist/sdk/noaa.js +64 -0
- package/dist/sdk/noaa.js.map +1 -0
- package/dist/sdk/nrel.d.ts +145 -0
- package/dist/sdk/nrel.d.ts.map +1 -0
- package/dist/sdk/nrel.js +93 -0
- package/dist/sdk/nrel.js.map +1 -0
- package/dist/sdk/regulations.d.ts +146 -0
- package/dist/sdk/regulations.d.ts.map +1 -0
- package/dist/sdk/regulations.js +103 -0
- package/dist/sdk/regulations.js.map +1 -0
- package/dist/sdk/sec.d.ts +114 -0
- package/dist/sdk/sec.d.ts.map +1 -0
- package/dist/sdk/sec.js +151 -0
- package/dist/sdk/sec.js.map +1 -0
- package/dist/sdk/senate-lobbying.d.ts +147 -0
- package/dist/sdk/senate-lobbying.d.ts.map +1 -0
- package/dist/sdk/senate-lobbying.js +125 -0
- package/dist/sdk/senate-lobbying.js.map +1 -0
- package/dist/sdk/treasury.d.ts +59 -0
- package/dist/sdk/treasury.d.ts.map +1 -0
- package/dist/sdk/treasury.js +1397 -0
- package/dist/sdk/treasury.js.map +1 -0
- package/dist/sdk/usaspending.d.ts +126 -0
- package/dist/sdk/usaspending.d.ts.map +1 -0
- package/dist/sdk/usaspending.js +270 -0
- package/dist/sdk/usaspending.js.map +1 -0
- package/dist/sdk/usda-fooddata.d.ts +112 -0
- package/dist/sdk/usda-fooddata.d.ts.map +1 -0
- package/dist/sdk/usda-fooddata.js +80 -0
- package/dist/sdk/usda-fooddata.js.map +1 -0
- package/dist/sdk/usda-nass.d.ts +75 -0
- package/dist/sdk/usda-nass.d.ts.map +1 -0
- package/dist/sdk/usda-nass.js +83 -0
- package/dist/sdk/usda-nass.js.map +1 -0
- package/dist/sdk/usgs.d.ts +221 -0
- package/dist/sdk/usgs.d.ts.map +1 -0
- package/dist/sdk/usgs.js +182 -0
- package/dist/sdk/usgs.js.map +1 -0
- package/dist/sdk/uspto.d.ts +109 -0
- package/dist/sdk/uspto.d.ts.map +1 -0
- package/dist/sdk/uspto.js +286 -0
- package/dist/sdk/uspto.js.map +1 -0
- package/dist/sdk/world-bank.d.ts +78 -0
- package/dist/sdk/world-bank.d.ts.map +1 -0
- package/dist/sdk/world-bank.js +72 -0
- package/dist/sdk/world-bank.js.map +1 -0
- package/dist/server.d.ts +22 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +196 -0
- package/dist/server.js.map +1 -0
- package/package.json +113 -0
|
@@ -0,0 +1,356 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* FDA SDK — typed API client for the openFDA APIs.
|
|
3
|
+
*
|
|
4
|
+
* Standalone — no MCP server required. Usage:
|
|
5
|
+
*
|
|
6
|
+
* import { searchDrugEvents, searchFoodRecalls, countDrugEvents } from "us-gov-open-data/sdk/fda";
|
|
7
|
+
*
|
|
8
|
+
* const events = await searchDrugEvents({ search: "patient.drug.openfda.brand_name:aspirin", limit: 5 });
|
|
9
|
+
* console.log(events.meta.results.total, events.results);
|
|
10
|
+
*
|
|
11
|
+
* const topReactions = await countDrugEvents("patient.reaction.reactionmeddrapt.exact");
|
|
12
|
+
* console.log(topReactions.results); // [{term, count}, ...]
|
|
13
|
+
*
|
|
14
|
+
* const recalls = await searchFoodRecalls({ search: "classification:\"Class I\"", limit: 10 });
|
|
15
|
+
* console.log(recalls.results);
|
|
16
|
+
*
|
|
17
|
+
* No API key required (240 req/min without key, 120K req/day with key).
|
|
18
|
+
* Optional DATA_GOV_API_KEY for higher limits — get one at https://api.data.gov/signup/
|
|
19
|
+
* Docs: https://open.fda.gov/apis/
|
|
20
|
+
*/
|
|
21
|
+
export interface OpenFdaMeta {
|
|
22
|
+
disclaimer: string;
|
|
23
|
+
terms: string;
|
|
24
|
+
license: string;
|
|
25
|
+
last_updated: string;
|
|
26
|
+
results: {
|
|
27
|
+
skip: number;
|
|
28
|
+
limit: number;
|
|
29
|
+
total: number;
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
export interface DrugEvent {
|
|
33
|
+
safetyreportid: string;
|
|
34
|
+
receivedate: string;
|
|
35
|
+
receiptdate: string;
|
|
36
|
+
serious: string;
|
|
37
|
+
seriousnessdeath?: string;
|
|
38
|
+
seriousnesshospitalization?: string;
|
|
39
|
+
patient: {
|
|
40
|
+
patientonsetage?: string;
|
|
41
|
+
patientonsetageunit?: string;
|
|
42
|
+
patientsex?: string;
|
|
43
|
+
reaction: {
|
|
44
|
+
reactionmeddrapt: string;
|
|
45
|
+
reactionoutcome?: string;
|
|
46
|
+
}[];
|
|
47
|
+
drug: {
|
|
48
|
+
medicinalproduct: string;
|
|
49
|
+
drugindication?: string;
|
|
50
|
+
drugcharacterization?: string;
|
|
51
|
+
openfda?: {
|
|
52
|
+
brand_name?: string[];
|
|
53
|
+
generic_name?: string[];
|
|
54
|
+
manufacturer_name?: string[];
|
|
55
|
+
route?: string[];
|
|
56
|
+
substance_name?: string[];
|
|
57
|
+
};
|
|
58
|
+
}[];
|
|
59
|
+
};
|
|
60
|
+
[key: string]: unknown;
|
|
61
|
+
}
|
|
62
|
+
export interface DrugEventResult {
|
|
63
|
+
meta: OpenFdaMeta;
|
|
64
|
+
results: DrugEvent[];
|
|
65
|
+
}
|
|
66
|
+
export interface DrugLabel {
|
|
67
|
+
id: string;
|
|
68
|
+
effective_time?: string;
|
|
69
|
+
indications_and_usage?: string[];
|
|
70
|
+
warnings?: string[];
|
|
71
|
+
dosage_and_administration?: string[];
|
|
72
|
+
adverse_reactions?: string[];
|
|
73
|
+
drug_interactions?: string[];
|
|
74
|
+
description?: string[];
|
|
75
|
+
boxed_warning?: string[];
|
|
76
|
+
openfda: {
|
|
77
|
+
brand_name?: string[];
|
|
78
|
+
generic_name?: string[];
|
|
79
|
+
manufacturer_name?: string[];
|
|
80
|
+
route?: string[];
|
|
81
|
+
product_type?: string[];
|
|
82
|
+
substance_name?: string[];
|
|
83
|
+
rxcui?: string[];
|
|
84
|
+
unii?: string[];
|
|
85
|
+
};
|
|
86
|
+
[key: string]: unknown;
|
|
87
|
+
}
|
|
88
|
+
export interface DrugLabelResult {
|
|
89
|
+
meta: OpenFdaMeta;
|
|
90
|
+
results: DrugLabel[];
|
|
91
|
+
}
|
|
92
|
+
export interface FoodRecall {
|
|
93
|
+
report_date: string;
|
|
94
|
+
recall_number: string;
|
|
95
|
+
recall_initiation_date: string;
|
|
96
|
+
classification: string;
|
|
97
|
+
reason_for_recall: string;
|
|
98
|
+
status: string;
|
|
99
|
+
recalling_firm: string;
|
|
100
|
+
city: string;
|
|
101
|
+
state: string;
|
|
102
|
+
country: string;
|
|
103
|
+
product_description: string;
|
|
104
|
+
product_quantity: string;
|
|
105
|
+
distribution_pattern: string;
|
|
106
|
+
voluntary_mandated: string;
|
|
107
|
+
[key: string]: unknown;
|
|
108
|
+
}
|
|
109
|
+
export interface FoodRecallResult {
|
|
110
|
+
meta: OpenFdaMeta;
|
|
111
|
+
results: FoodRecall[];
|
|
112
|
+
}
|
|
113
|
+
export interface DeviceEvent {
|
|
114
|
+
event_key: string;
|
|
115
|
+
report_number: string;
|
|
116
|
+
date_received: string;
|
|
117
|
+
event_type: string;
|
|
118
|
+
device: {
|
|
119
|
+
brand_name: string;
|
|
120
|
+
generic_name: string;
|
|
121
|
+
manufacturer_d_name: string;
|
|
122
|
+
model_number?: string;
|
|
123
|
+
openfda?: {
|
|
124
|
+
device_name?: string;
|
|
125
|
+
medical_specialty_description?: string;
|
|
126
|
+
device_class?: string;
|
|
127
|
+
};
|
|
128
|
+
}[];
|
|
129
|
+
mdr_text?: {
|
|
130
|
+
text: string;
|
|
131
|
+
text_type_code: string;
|
|
132
|
+
}[];
|
|
133
|
+
[key: string]: unknown;
|
|
134
|
+
}
|
|
135
|
+
export interface DeviceEventResult {
|
|
136
|
+
meta: OpenFdaMeta;
|
|
137
|
+
results: DeviceEvent[];
|
|
138
|
+
}
|
|
139
|
+
export interface CountResult {
|
|
140
|
+
results: {
|
|
141
|
+
term: string;
|
|
142
|
+
count: number;
|
|
143
|
+
}[];
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Search adverse drug events (FAERS).
|
|
147
|
+
*
|
|
148
|
+
* Example:
|
|
149
|
+
* await searchDrugEvents({ search: "patient.drug.openfda.brand_name:aspirin", limit: 5 });
|
|
150
|
+
* await searchDrugEvents({ search: "serious:1+AND+patient.patientsex:2", limit: 10 });
|
|
151
|
+
*/
|
|
152
|
+
export declare function searchDrugEvents(opts?: {
|
|
153
|
+
search?: string;
|
|
154
|
+
limit?: number;
|
|
155
|
+
skip?: number;
|
|
156
|
+
}): Promise<DrugEventResult>;
|
|
157
|
+
/**
|
|
158
|
+
* Search drug labels (package inserts / prescribing information).
|
|
159
|
+
*
|
|
160
|
+
* Example:
|
|
161
|
+
* await searchDrugLabels({ search: "openfda.brand_name:tylenol", limit: 3 });
|
|
162
|
+
*/
|
|
163
|
+
export declare function searchDrugLabels(opts?: {
|
|
164
|
+
search?: string;
|
|
165
|
+
limit?: number;
|
|
166
|
+
}): Promise<DrugLabelResult>;
|
|
167
|
+
/**
|
|
168
|
+
* Search food recall enforcement reports.
|
|
169
|
+
*
|
|
170
|
+
* Example:
|
|
171
|
+
* await searchFoodRecalls({ search: "classification:\"Class I\"", limit: 10 });
|
|
172
|
+
* await searchFoodRecalls({ search: "recalling_firm:\"Trader Joe\"", limit: 5 });
|
|
173
|
+
*/
|
|
174
|
+
export declare function searchFoodRecalls(opts?: {
|
|
175
|
+
search?: string;
|
|
176
|
+
limit?: number;
|
|
177
|
+
}): Promise<FoodRecallResult>;
|
|
178
|
+
/**
|
|
179
|
+
* Search medical device adverse event reports (MAUDE).
|
|
180
|
+
*
|
|
181
|
+
* Example:
|
|
182
|
+
* await searchDeviceEvents({ search: "device.generic_name:pacemaker", limit: 10 });
|
|
183
|
+
*/
|
|
184
|
+
export declare function searchDeviceEvents(opts?: {
|
|
185
|
+
search?: string;
|
|
186
|
+
limit?: number;
|
|
187
|
+
}): Promise<DeviceEventResult>;
|
|
188
|
+
/**
|
|
189
|
+
* Count/aggregate drug adverse events by a specific field.
|
|
190
|
+
* Returns top terms with counts, useful for finding most-reported reactions or drugs.
|
|
191
|
+
*
|
|
192
|
+
* Example:
|
|
193
|
+
* // Top adverse reactions:
|
|
194
|
+
* await countDrugEvents("patient.reaction.reactionmeddrapt.exact");
|
|
195
|
+
*
|
|
196
|
+
* // Top reported drugs:
|
|
197
|
+
* await countDrugEvents("patient.drug.openfda.brand_name.exact");
|
|
198
|
+
*
|
|
199
|
+
* // Count by seriousness:
|
|
200
|
+
* await countDrugEvents("serious");
|
|
201
|
+
*/
|
|
202
|
+
export declare function countDrugEvents(field: string, opts?: {
|
|
203
|
+
search?: string;
|
|
204
|
+
limit?: number;
|
|
205
|
+
}): Promise<CountResult>;
|
|
206
|
+
export interface DrugRecall {
|
|
207
|
+
report_date?: string;
|
|
208
|
+
recall_number?: string;
|
|
209
|
+
recall_initiation_date?: string;
|
|
210
|
+
classification?: string;
|
|
211
|
+
reason_for_recall?: string;
|
|
212
|
+
status?: string;
|
|
213
|
+
recalling_firm?: string;
|
|
214
|
+
city?: string;
|
|
215
|
+
state?: string;
|
|
216
|
+
product_description?: string;
|
|
217
|
+
product_quantity?: string;
|
|
218
|
+
distribution_pattern?: string;
|
|
219
|
+
openfda?: {
|
|
220
|
+
brand_name?: string[];
|
|
221
|
+
generic_name?: string[];
|
|
222
|
+
manufacturer_name?: string[];
|
|
223
|
+
};
|
|
224
|
+
[key: string]: unknown;
|
|
225
|
+
}
|
|
226
|
+
export interface DrugRecallResult {
|
|
227
|
+
meta: OpenFdaMeta;
|
|
228
|
+
results: DrugRecall[];
|
|
229
|
+
}
|
|
230
|
+
export interface ApprovedDrug {
|
|
231
|
+
application_number?: string;
|
|
232
|
+
sponsor_name?: string;
|
|
233
|
+
products?: Array<{
|
|
234
|
+
brand_name?: string;
|
|
235
|
+
active_ingredients?: Array<{
|
|
236
|
+
name: string;
|
|
237
|
+
strength: string;
|
|
238
|
+
}>;
|
|
239
|
+
route?: string;
|
|
240
|
+
dosage_form?: string;
|
|
241
|
+
marketing_status?: string;
|
|
242
|
+
}>;
|
|
243
|
+
submissions?: Array<{
|
|
244
|
+
submission_type?: string;
|
|
245
|
+
submission_number?: string;
|
|
246
|
+
submission_status?: string;
|
|
247
|
+
submission_status_date?: string;
|
|
248
|
+
application_docs?: Array<{
|
|
249
|
+
id: string;
|
|
250
|
+
url: string;
|
|
251
|
+
type: string;
|
|
252
|
+
title?: string;
|
|
253
|
+
}>;
|
|
254
|
+
}>;
|
|
255
|
+
openfda?: {
|
|
256
|
+
brand_name?: string[];
|
|
257
|
+
generic_name?: string[];
|
|
258
|
+
manufacturer_name?: string[];
|
|
259
|
+
};
|
|
260
|
+
[key: string]: unknown;
|
|
261
|
+
}
|
|
262
|
+
export interface ApprovedDrugResult {
|
|
263
|
+
meta: OpenFdaMeta;
|
|
264
|
+
results: ApprovedDrug[];
|
|
265
|
+
}
|
|
266
|
+
export interface FoodAdverseEvent {
|
|
267
|
+
report_number?: string;
|
|
268
|
+
date_created?: string;
|
|
269
|
+
date_started?: string;
|
|
270
|
+
outcomes?: string[];
|
|
271
|
+
products?: Array<{
|
|
272
|
+
name_brand?: string;
|
|
273
|
+
industry_name?: string;
|
|
274
|
+
role?: string;
|
|
275
|
+
}>;
|
|
276
|
+
reactions?: string[];
|
|
277
|
+
consumer?: {
|
|
278
|
+
age?: string;
|
|
279
|
+
age_unit?: string;
|
|
280
|
+
gender?: string;
|
|
281
|
+
};
|
|
282
|
+
[key: string]: unknown;
|
|
283
|
+
}
|
|
284
|
+
export interface FoodAdverseEventResult {
|
|
285
|
+
meta: OpenFdaMeta;
|
|
286
|
+
results: FoodAdverseEvent[];
|
|
287
|
+
}
|
|
288
|
+
export interface DeviceRecall {
|
|
289
|
+
res_event_number?: string;
|
|
290
|
+
firm_fei_number?: string;
|
|
291
|
+
k_numbers?: string[];
|
|
292
|
+
product_description?: string;
|
|
293
|
+
reason_for_recall?: string;
|
|
294
|
+
root_cause_description?: string;
|
|
295
|
+
event_date_terminated?: string;
|
|
296
|
+
openfda?: {
|
|
297
|
+
device_name?: string;
|
|
298
|
+
device_class?: string;
|
|
299
|
+
medical_specialty_description?: string;
|
|
300
|
+
};
|
|
301
|
+
[key: string]: unknown;
|
|
302
|
+
}
|
|
303
|
+
export interface DeviceRecallResult {
|
|
304
|
+
meta: OpenFdaMeta;
|
|
305
|
+
results: DeviceRecall[];
|
|
306
|
+
}
|
|
307
|
+
/**
|
|
308
|
+
* Search drug recall enforcement reports.
|
|
309
|
+
*
|
|
310
|
+
* Example:
|
|
311
|
+
* await searchDrugRecalls({ search: 'classification:"Class I"', limit: 10 });
|
|
312
|
+
* await searchDrugRecalls({ search: 'recalling_firm:"Pfizer"' });
|
|
313
|
+
*/
|
|
314
|
+
export declare function searchDrugRecalls(opts?: {
|
|
315
|
+
search?: string;
|
|
316
|
+
limit?: number;
|
|
317
|
+
skip?: number;
|
|
318
|
+
}): Promise<DrugRecallResult>;
|
|
319
|
+
/**
|
|
320
|
+
* Search FDA-approved drugs (Drugs@FDA database).
|
|
321
|
+
* Contains approval history, labeling, and active ingredients.
|
|
322
|
+
*
|
|
323
|
+
* Example:
|
|
324
|
+
* await searchApprovedDrugs({ search: 'openfda.brand_name:"Ozempic"' });
|
|
325
|
+
* await searchApprovedDrugs({ search: 'sponsor_name:"Pfizer"', limit: 10 });
|
|
326
|
+
*/
|
|
327
|
+
export declare function searchApprovedDrugs(opts?: {
|
|
328
|
+
search?: string;
|
|
329
|
+
limit?: number;
|
|
330
|
+
skip?: number;
|
|
331
|
+
}): Promise<ApprovedDrugResult>;
|
|
332
|
+
/**
|
|
333
|
+
* Search food adverse event reports (CAERS — FDA's food safety surveillance).
|
|
334
|
+
*
|
|
335
|
+
* Example:
|
|
336
|
+
* await searchFoodAdverseEvents({ search: 'products.industry_name:"Dietary Supplements"' });
|
|
337
|
+
*/
|
|
338
|
+
export declare function searchFoodAdverseEvents(opts?: {
|
|
339
|
+
search?: string;
|
|
340
|
+
limit?: number;
|
|
341
|
+
skip?: number;
|
|
342
|
+
}): Promise<FoodAdverseEventResult>;
|
|
343
|
+
/**
|
|
344
|
+
* Search medical device recall reports.
|
|
345
|
+
*
|
|
346
|
+
* Example:
|
|
347
|
+
* await searchDeviceRecalls({ search: 'openfda.device_name:"pacemaker"', limit: 10 });
|
|
348
|
+
*/
|
|
349
|
+
export declare function searchDeviceRecalls(opts?: {
|
|
350
|
+
search?: string;
|
|
351
|
+
limit?: number;
|
|
352
|
+
skip?: number;
|
|
353
|
+
}): Promise<DeviceRecallResult>;
|
|
354
|
+
/** Clear cached responses. */
|
|
355
|
+
export declare function clearCache(): void;
|
|
356
|
+
//# sourceMappingURL=fda.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fda.d.ts","sourceRoot":"","sources":["../../src/sdk/fda.ts"],"names":[],"mappings":"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"}
|
package/dist/sdk/fda.js
ADDED
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* FDA SDK — typed API client for the openFDA APIs.
|
|
3
|
+
*
|
|
4
|
+
* Standalone — no MCP server required. Usage:
|
|
5
|
+
*
|
|
6
|
+
* import { searchDrugEvents, searchFoodRecalls, countDrugEvents } from "us-gov-open-data/sdk/fda";
|
|
7
|
+
*
|
|
8
|
+
* const events = await searchDrugEvents({ search: "patient.drug.openfda.brand_name:aspirin", limit: 5 });
|
|
9
|
+
* console.log(events.meta.results.total, events.results);
|
|
10
|
+
*
|
|
11
|
+
* const topReactions = await countDrugEvents("patient.reaction.reactionmeddrapt.exact");
|
|
12
|
+
* console.log(topReactions.results); // [{term, count}, ...]
|
|
13
|
+
*
|
|
14
|
+
* const recalls = await searchFoodRecalls({ search: "classification:\"Class I\"", limit: 10 });
|
|
15
|
+
* console.log(recalls.results);
|
|
16
|
+
*
|
|
17
|
+
* No API key required (240 req/min without key, 120K req/day with key).
|
|
18
|
+
* Optional DATA_GOV_API_KEY for higher limits — get one at https://api.data.gov/signup/
|
|
19
|
+
* Docs: https://open.fda.gov/apis/
|
|
20
|
+
*/
|
|
21
|
+
import { createClient } from "../client.js";
|
|
22
|
+
// ─── Client ──────────────────────────────────────────────────────────
|
|
23
|
+
const api = createClient({
|
|
24
|
+
baseUrl: "https://api.fda.gov",
|
|
25
|
+
name: "fda",
|
|
26
|
+
auth: { type: "query", key: "api_key", envVar: "DATA_GOV_API_KEY" },
|
|
27
|
+
rateLimit: { perSecond: 4, burst: 10 },
|
|
28
|
+
cacheTtlMs: 60 * 60 * 1000, // 1 hour
|
|
29
|
+
});
|
|
30
|
+
// ─── Public API ──────────────────────────────────────────────────────
|
|
31
|
+
/**
|
|
32
|
+
* Search adverse drug events (FAERS).
|
|
33
|
+
*
|
|
34
|
+
* Example:
|
|
35
|
+
* await searchDrugEvents({ search: "patient.drug.openfda.brand_name:aspirin", limit: 5 });
|
|
36
|
+
* await searchDrugEvents({ search: "serious:1+AND+patient.patientsex:2", limit: 10 });
|
|
37
|
+
*/
|
|
38
|
+
export async function searchDrugEvents(opts = {}) {
|
|
39
|
+
return api.get("/drug/event.json", {
|
|
40
|
+
search: opts.search,
|
|
41
|
+
limit: opts.limit ?? 10,
|
|
42
|
+
skip: opts.skip,
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Search drug labels (package inserts / prescribing information).
|
|
47
|
+
*
|
|
48
|
+
* Example:
|
|
49
|
+
* await searchDrugLabels({ search: "openfda.brand_name:tylenol", limit: 3 });
|
|
50
|
+
*/
|
|
51
|
+
export async function searchDrugLabels(opts = {}) {
|
|
52
|
+
return api.get("/drug/label.json", {
|
|
53
|
+
search: opts.search,
|
|
54
|
+
limit: opts.limit ?? 10,
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Search food recall enforcement reports.
|
|
59
|
+
*
|
|
60
|
+
* Example:
|
|
61
|
+
* await searchFoodRecalls({ search: "classification:\"Class I\"", limit: 10 });
|
|
62
|
+
* await searchFoodRecalls({ search: "recalling_firm:\"Trader Joe\"", limit: 5 });
|
|
63
|
+
*/
|
|
64
|
+
export async function searchFoodRecalls(opts = {}) {
|
|
65
|
+
return api.get("/food/enforcement.json", {
|
|
66
|
+
search: opts.search,
|
|
67
|
+
limit: opts.limit ?? 10,
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Search medical device adverse event reports (MAUDE).
|
|
72
|
+
*
|
|
73
|
+
* Example:
|
|
74
|
+
* await searchDeviceEvents({ search: "device.generic_name:pacemaker", limit: 10 });
|
|
75
|
+
*/
|
|
76
|
+
export async function searchDeviceEvents(opts = {}) {
|
|
77
|
+
return api.get("/device/event.json", {
|
|
78
|
+
search: opts.search,
|
|
79
|
+
limit: opts.limit ?? 10,
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Count/aggregate drug adverse events by a specific field.
|
|
84
|
+
* Returns top terms with counts, useful for finding most-reported reactions or drugs.
|
|
85
|
+
*
|
|
86
|
+
* Example:
|
|
87
|
+
* // Top adverse reactions:
|
|
88
|
+
* await countDrugEvents("patient.reaction.reactionmeddrapt.exact");
|
|
89
|
+
*
|
|
90
|
+
* // Top reported drugs:
|
|
91
|
+
* await countDrugEvents("patient.drug.openfda.brand_name.exact");
|
|
92
|
+
*
|
|
93
|
+
* // Count by seriousness:
|
|
94
|
+
* await countDrugEvents("serious");
|
|
95
|
+
*/
|
|
96
|
+
export async function countDrugEvents(field, opts = {}) {
|
|
97
|
+
return api.get("/drug/event.json", {
|
|
98
|
+
search: opts.search,
|
|
99
|
+
count: field,
|
|
100
|
+
limit: opts.limit,
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Search drug recall enforcement reports.
|
|
105
|
+
*
|
|
106
|
+
* Example:
|
|
107
|
+
* await searchDrugRecalls({ search: 'classification:"Class I"', limit: 10 });
|
|
108
|
+
* await searchDrugRecalls({ search: 'recalling_firm:"Pfizer"' });
|
|
109
|
+
*/
|
|
110
|
+
export async function searchDrugRecalls(opts = {}) {
|
|
111
|
+
return api.get("/drug/enforcement.json", {
|
|
112
|
+
search: opts.search,
|
|
113
|
+
limit: opts.limit ?? 10,
|
|
114
|
+
skip: opts.skip,
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Search FDA-approved drugs (Drugs@FDA database).
|
|
119
|
+
* Contains approval history, labeling, and active ingredients.
|
|
120
|
+
*
|
|
121
|
+
* Example:
|
|
122
|
+
* await searchApprovedDrugs({ search: 'openfda.brand_name:"Ozempic"' });
|
|
123
|
+
* await searchApprovedDrugs({ search: 'sponsor_name:"Pfizer"', limit: 10 });
|
|
124
|
+
*/
|
|
125
|
+
export async function searchApprovedDrugs(opts = {}) {
|
|
126
|
+
return api.get("/drug/drugsfda.json", {
|
|
127
|
+
search: opts.search,
|
|
128
|
+
limit: opts.limit ?? 10,
|
|
129
|
+
skip: opts.skip,
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Search food adverse event reports (CAERS — FDA's food safety surveillance).
|
|
134
|
+
*
|
|
135
|
+
* Example:
|
|
136
|
+
* await searchFoodAdverseEvents({ search: 'products.industry_name:"Dietary Supplements"' });
|
|
137
|
+
*/
|
|
138
|
+
export async function searchFoodAdverseEvents(opts = {}) {
|
|
139
|
+
return api.get("/food/event.json", {
|
|
140
|
+
search: opts.search,
|
|
141
|
+
limit: opts.limit ?? 10,
|
|
142
|
+
skip: opts.skip,
|
|
143
|
+
});
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Search medical device recall reports.
|
|
147
|
+
*
|
|
148
|
+
* Example:
|
|
149
|
+
* await searchDeviceRecalls({ search: 'openfda.device_name:"pacemaker"', limit: 10 });
|
|
150
|
+
*/
|
|
151
|
+
export async function searchDeviceRecalls(opts = {}) {
|
|
152
|
+
return api.get("/device/recall.json", {
|
|
153
|
+
search: opts.search,
|
|
154
|
+
limit: opts.limit ?? 10,
|
|
155
|
+
skip: opts.skip,
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
/** Clear cached responses. */
|
|
159
|
+
export function clearCache() {
|
|
160
|
+
api.clearCache();
|
|
161
|
+
}
|
|
162
|
+
//# sourceMappingURL=fda.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fda.js","sourceRoot":"","sources":["../../src/sdk/fda.ts"],"names":[],"mappings":"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"}
|