Pharma and medical devices on US, EU and AU official sources, in two groups: hosted APIs — corpus queries (search / read) and hub REST direct calls to the production store, both token-authenticated; and local keyless APIs — realtime faces that run on your machine straight against the official upstreams, each with its parameter table.
Both hosted channels live in this section: corpus queries (search / read, access token) and hub REST direct calls to the production store (subject token).
The datasets search and read answer from — the corpus is collected continuously from these official sources, every row carrying its reasoning, an evidence quote and an official source URL:
| Dataset | Upstream | What it holds |
|---|---|---|
| FDA drug approvals (drugsfda) | openFDA | Drug approval records |
| FDA device records (UDI) | openFDA | Device registration & listing, UDI identifiers, establishment roles |
| Orange Book | openFDA | Therapeutic equivalence evaluations and marketing status |
| Purple Book | FDA | Biological product approvals and status |
| NPPES | NPPES NPI Registry | Provider & organization NPI directory (taxonomy_code, comparable across sources) |
| OpenPayments | CMS OpenPayments | Annual aggregates of manufacturer payments to providers (program_year) |
Corpus snapshot: 7,577,069 searchable rows (as_of 2026-10-27); figures move as the corpus updates. Two commands cover the whole corpus — slice a list, or drill into one subject:
The examples below omit the leading executable name — prepend agentdata (or python -m agentdata ) for a full command.
The two corpus faces and their parameters (introspected, same source as the CLI reference):
healthcare searchCorpus search (hosted, PAT required): filters/record_kind/level/pagination
| Flag | Required | Meaning |
|---|---|---|
--filter |
no | Filter K=V (repeatable; the filterable fields are listed on this page) |
--record-kind |
no | Record kind (closed set; values in the domain spec) |
--facets |
no | Comma-separated fields to return facet counts for |
--level |
no | Read-layer depth (default tier1; see the read layers on this page) |
--limit |
no | Rows per page (default 50, max 1000) |
--cursor |
no | Pagination cursor (feed next_cursor from the response) |
--mode |
no | Special mode: screen (batch screening; requires --input) |
--input |
no | Input JSONL file for batch screening (with --mode screen) |
healthcare readCorpus single-record read (hosted): id + T-layer depth
| Flag | Required | Meaning |
|---|---|---|
--id |
yes | Subject id (from search result rows) |
--level |
no | Read-layer depth (default tier1) |
Record kind: qualification — official qualifications/registrations, including institutional subject rows. Filters are grouped by it.
Undeclared fields are a 400 error (a typo never returns a silent empty result). The Status column updates automatically with the fields actually open at the interface — fields marked Open are filterable; fields marked Not open cannot be filtered. A miss is never proof of absence — coverage follows the source.
| filter | Type | Applies to record_kind | Description | Status |
|---|---|---|---|---|
record_kind |
keyword | all |
Record layer: qualification = official qualifications/registrations (including institutional subject rows) | Open |
qtype |
keyword | qualification |
Closed qualification-type set (fda_* / us_* and more; facets shows the full set) | Open |
status |
keyword | qualification |
Status polarity (matched verbatim; negative facts never default to "active") | Open |
license_no |
keyword | qualification |
License numbers (NDC / permit no. / CCN / NPI) — precise fact anchors, never subject merge keys | Open |
product_name |
keyword | qualification |
Drug/product name (contains semantics; package specs in T2 spec_note) | Open |
approval_year |
range | qualification |
Approval year (extracted from approval_date / marketing_start_date / issue_date) | Open |
effective_from / effective_until |
range | qualification |
Permit validity interval (issue_date to expiry_date; expired rows stay out of the "currently active" projection) | Open |
hospital_type |
keyword | qualification |
Hospital type (CMS: Acute Care Hospitals…) | Open |
ownership |
keyword | qualification |
Ownership (CMS: Government / Proprietary…) | Open |
taxonomy_code |
keyword | qualification |
NPPES taxonomy code (same code table as CMS, comparable across sources) | Open |
program_year |
range | qualification |
OpenPayments program year (2023-2025 window) | Open |
payment_amount_usd |
range | qualification |
Annual payments received, USD (the field name carries the currency — do not pair non-USD values) | Open |
company_registration_country |
keyword | all |
Row-level country (US and more; mostly null on the openfda/OpenPayments lines — coverage follows the source, facets shows the null volume) | Open |
subject_kind |
keyword | all |
company | institution |
source / source_observed_at |
keyword / range | all |
Source and observation time (snapshot / event / interval semantics) | Not open |
device_class / medical_specialty |
keyword | qualification |
Device class Ⅰ/Ⅱ/Ⅲ / device panel specialty | Not open |
establishment_type |
keyword | qualification |
Establishment role Manufacturer / Importer… | Not open |
facility_address_country |
keyword | qualification |
Facility address country (≠ subject registration country) | Not open |
condition_mesh / phase / sponsor_class |
keyword / range | qualification |
Clinical-trial dimensions (indications must be MeSH descriptors) | Not open |
Suggested facets (open fields): qtype / subject_kind / company_registration_country / program_year (record_kind attached by default).
| Layer | Contents |
|---|---|
T1 |
Subject card: name / subject kind (company |
T2 |
qualification details (qtype / product / fact keys / approval or validity / status / evidence quote — approval rows carry openFDA verbatim row quotes); institution profile (hospital_type / ownership / taxonomy_code); OpenPayments annual aggregates (program_year / total USD / nature distribution) |
T3 |
Evidence pack: official URL + content hash (sha256) + fetch time + source batch + shard:row (source_row_key); no personal contact columns in payloads (absent from ingestion onward) |
Each use case has three parts: the task, a command you can run as-is, and an excerpt of the response. Corpus responses are excerpted from the OpenAPI contract — row contents vary with your filters; the real-output examples inside each local face block below are real command output.
**Use case:**You need the institutions slice (hospitals / CMS facilities / NPPES organizations), or the OpenPayments rows for one program year — subject_kind / program_year filter it directly.
A misspelled filter field returns 400 undeclared_field — never a silent empty result; feed next_cursor back to page.
**Use case:**A row surfaced in the slice — T2 pulls the qualification details; T3 (table above) is the evidence pack with sha256 and in-document anchors for clicking back to the original disclosure.
Every result carries its reasoning, an evidence quote and a source URL; the T1/T2/T3 layers are summarized in the table above.
**Use case:**The slice shortlists a hospital or pharma company; the realtime faces then answer the incremental questions — which trials is this company recruiting (CT.gov), where is the drug's official labeling (DailyMed):
Status note (read first — avoid misreading): healthcare data travels over two channels — the SDK corpus queries (search/read) answer from the corpus face above; hub REST is the other, live channel: REST read faces under /v1/us/* at the production base https://hub.omnimay.com, callable now by holders of a subject token. Key facts below.
https://hub.omnimay.com; the US faces live under /v1/us/* — 13 read faces: six domains (drug approvals / device approvals / risk events / institutions / clinical trials / pricing) each with list+get, plus the US monthly aggregate timeline.Authorization: Bearer <subject JWT> (RS256; all six claims iss/aud/sub/iat/exp/jti required; token lifetime defaults to 300s, capped at 3600s; service:-prefixed subjects always get 403).{"items":[…],"limit":<int>,"next_cursor":<string|null>}; limit 1..100 defaulting to 20; keyset pagination in descending ingestion-time order (pass next_cursor back verbatim).HEALTHCARE_NOT_FOUND · 400 CURSOR_INVALID · 400/422 PARAM_INVALID · 422 PRODUCT_KIND_MISMATCH (approval face mismatch) · 500._or/_not, no multi-value); no count endpoint, no facets; date ranges exist only on the risk face (date_from/date_to); prices are not filterable by amount; undeclared parameters are silently ignored.The 31 faces below run on your machine, direct to the official upstream: no account or key, no platform-side quota — each upstream's own limits apply, and repeats within a cache lifetime are served from your local cache. Every result carries the upstream's official URL so you can verify the original. Each face carries its parameter table and a real-output example (real command output, excerpts only — running it returns whatever the official source holds at that moment, so figures shift as upstreams update); the full flag set also lives in the CLI reference.
The examples below omit the leading executable name — prepend agentdata (or python -m agentdata ) for a full command.
healthcare au_tga_artgAustralian Therapeutic Goods Register (ARTG) lookup.
Jurisdiction: AU
| Flag | Required | Meaning |
|---|---|---|
--query |
no | Free-text words, ANDed across fields; for an exact sponsor match put the name in double quotes, e.g. "Sun Pharma ANZ Pty Ltd" |
--limit |
no | Rows (cap 100, default 20) |
--skip |
no | Rows to skip (default 0) |
Note: Pages cap at 100 (--skip continues); --query is an AND-words search across all fields — a broad word brings the whole product family, so query with the full product name when you need precision.
healthcare au_tga_manufacturersAustralian registered manufacturers list (filterable by state).
Jurisdiction: AU
| Flag | Required | Meaning |
|---|---|---|
--state |
no | State filter, e.g. QLD / NSW / VIC (local filter on SiteState) |
--limit |
no | Rows (cap 500, default 100) |
Note: --state is a local post-filter (no such upstream parameter; filters on SiteState) — the whole register fits one call (cap 500), no pagination assembly needed.
healthcare ca_dpd_companiesCanada Drug Product Database companies: DIN owners × company code, with type and full address.
Jurisdiction: CA
| Flag | Required | Meaning |
|---|---|---|
--limit |
no | Rows (default 200 — the upstream serves the whole register in one shot, this slices locally) |
--skip |
no | Rows to skip (default 0, local slice) |
healthcare ca_dpd_drug_productsCanadian drug products: DIN × brand name × company, filtered by the market-status closed set.
Jurisdiction: CA
| Flag | Required | Meaning |
|---|---|---|
--status |
yes | Market status, closed set, required: 1=Approved 2=Marketed 3=Cancelled Pre-Market 4=Cancelled Post-Market 6=Dormant (no 5) — an unknown value is silently ignored upstream and dumps the whole 15MB register, so the SDK walls it first |
--limit |
no | Rows (default 200, local slice) |
--skip |
no | Rows to skip (default 0, local slice) |
Note: --status is required and only takes the closed set {1, 2, 3, 4, 6} — the upstream silently ignores unknown values and returns the whole register (15MB, ~55k rows), so the SDK walls it locally first; rows carry no company_code — join on company_name or run ca_dpd_companies first.
healthcare ca_mdall_companiesCanada MDALL medical-device company register (a two-country register — US makers carry their country code).
Jurisdiction: CA
| Flag | Required | Meaning |
|---|---|---|
--limit |
no | Rows (default 200 — one full shot upstream, sliced locally) |
--skip |
no | Rows to skip (default 0, local slice) |
healthcare ca_mdall_licenceSingle MDALL licence dossier: manufacturer block × company ID × device class and identifier family.
Jurisdiction: CA
| Flag | Required | Meaning |
|---|---|---|
--licence-id |
yes | MDALL licence number, numeric (e.g. 111577; upstream param licenceId) |
--licence-type |
no | Licence index: active (default) |
--lang |
no | Language: eng (default) |
Note: active and archived are two separate upstream indexes: an inactive licence needs an explicit --licence-type archived (under active it returns a 200 empty page → not_found); in the result, type echoes the index parameter while licence_type is the licence's own kind (Device Family etc.) — both keys coexist.
healthcare ctgov_studiesClinicalTrials.gov search — by condition, sponsor or status.
Jurisdiction: US
| Flag | Required | Meaning |
|---|---|---|
--query.term |
no | Raw query expression (official query.term syntax; by sponsor: AREA\[LeadSponsorName\]("Pfizer")) |
--query.titles |
no | Title-field search (combinable with --query.term / --query.cond) |
--query.intr |
no | Intervention-field search (drug / procedure name; combinable) |
--query.cond |
no | Condition search (combinable) |
--filter.advanced |
no | Advanced filter, AREA\[field\](value) syntax, combinable (example below) |
--agg-filters |
no | Facet filter with numeric enum values, e.g. phase:3 (the PHASE3 spelling yields zero hits) |
--fields |
no | Columns to return, comma-separated, e.g. NCTId,BriefTitle |
--page-size |
no | Rows per page (default 20; no enforced upstream cap) |
--page-token |
no | Pagination token (feed next_page_token) |
--sort |
no | Sort, e.g. EnrollmentCount:desc |
--count-total, --no-count-total |
no | Request totalCount (default on) |
Note: --filter.advanced takes CT.gov AREA syntax (e.g. AREA[LeadSponsorName]("AstraZeneca")) and combines with --query.cond; a bare call with no arguments is legal upstream behavior — the first page of all studies.
healthcare dailymed_splsUS structured product labels (DailyMed SPL) search.
Jurisdiction: US
| Flag | Required | Meaning |
|---|---|---|
--search |
no | Drug name (native drug_name channel) |
--manufacturer |
no | Labeler filter, e.g. Pfizer |
--setid |
no | Exact SPL setid filter |
--page |
no | Page number |
--pagesize |
no | Rows per page (clamped at 100 — larger asks still return 100) |
--sort |
no | Sort, e.g. published_date |
Note: --pagesize is silently clamped to 100 upstream — the echoed elements_per_page is the real page width; gauge paging progress by returned rows, not by the requested value.
healthcare epmc_searchEurope PMC literature search — by affiliation or topic.
Jurisdiction: GLOBAL
| Flag | Required | Meaning |
|---|---|---|
--search |
no | Query expression, e.g. AFF:"Novartis" AND "psoriasis" (AFF filters by affiliation) |
--result-type |
no | Row depth (default lite) |
--page-size |
no | Rows per page, 1–1000 (default 25) |
--cursor-mark |
no | Pagination cursor (* = first page) |
--sort |
no | Sort, e.g. CITED desc |
healthcare eudamed_devices_udi_di_dataEU UDI-DI → EUDAMED registration data.
Jurisdiction: EU
| Flag | Required | Meaning |
|---|---|---|
--primary-di |
yes | EU UDI-DI (required) |
--page |
no | Page number (starts at 0) |
--page-size |
no | Rows per page (default 5) |
--iso2-code |
no | Response language (default en) |
Note: primaryDi is unindexed upstream — a cold call routinely takes ~50s (upstream op timeout 90s; the SDK burns no retries); an occasional all-empty page is an upstream transient — the SDK discards the account and refetches once, and only a second empty page becomes not_found; keep --page-size small (the unindexed face gets slower), and paging past the end yields an empty page → not_found.
healthcare fda_crl_lettersFDA Complete Response Letters: company × negative-approval events, with approval status and letter date.
Jurisdiction: US
| Flag | Required | Meaning |
|---|---|---|
--search |
no | Query expression, e.g. company_name:"Firm Name" — required at runtime: a missing expression fails locally |
--limit |
no | Rows, 1–1000 (upstream hard wall; default 20) |
--skip |
no | Rows to skip (default 0 — upstream has no cursor, deep paging relies on it) |
--sort |
no | Sort (default letter_date:desc) |
healthcare fda_device_510k510(k) premarket notifications: K number × applicant, with decision code and decision date.
Jurisdiction: US
| Flag | Required | Meaning |
|---|---|---|
--search |
no | Query expression, e.g. applicant:"Medtronic" — required at runtime: a missing expression fails locally |
--limit |
no | Rows, 1–1000 (upstream hard wall; default 20) |
--skip |
no | Rows to skip (default 0 — upstream has no cursor, deep paging relies on it) |
--sort |
no | Sort (default decision_date:desc) |
healthcare fda_device_classificationDevice product-code taxonomy: device name × product code × device class; the product code joins the 510(k) / PMA / recall faces.
Jurisdiction: US
| Flag | Required | Meaning |
|---|---|---|
--search |
no | Query expression, e.g. device_name:"syringe" — required at runtime: a missing expression fails locally |
--limit |
no | Rows, 1–1000 (upstream hard wall; default 20) |
--skip |
no | Rows to skip (default 0 — upstream has no cursor, deep paging relies on it) |
--sort |
no | Sort (this face has no date field — there is no default; give one yourself) |
healthcare fda_device_pmaPMA premarket approvals and supplements: PMA number × applicant, with decision code and decision date.
Jurisdiction: US
| Flag | Required | Meaning |
|---|---|---|
--search |
no | Query expression, e.g. applicant:"Medtronic" — required at runtime: a missing expression fails locally |
--limit |
no | Rows, 1–1000 (upstream hard wall; default 20) |
--skip |
no | Rows to skip (default 0 — upstream has no cursor, deep paging relies on it) |
--sort |
no | Sort (default decision_date:desc) |
healthcare fda_device_recallsUS device recalls (the RES system, full lifecycle incl. ongoing): the recalling firm's FEI number and K numbers are the join keys.
Jurisdiction: US
| Flag | Required | Meaning |
|---|---|---|
--search |
no | Query expression, e.g. recalling_firm:"Firm Name" (phrase form) — required at runtime: a missing expression fails locally |
--limit |
no | Rows, 1–1000 (upstream hard wall; default 20) |
--skip |
no | Rows to skip (default 0 — upstream has no cursor, deep paging relies on it) |
--sort |
no | Sort (default event_date_posted:desc) |
healthcare fda_device_registrationsDevice establishment registrations and listings (quarterly): registration number / FEI number × firm name.
Jurisdiction: US
| Flag | Required | Meaning |
|---|---|---|
--search |
no | Query expression, e.g. registration.name:"Firm Name" (searchable fields live in the registration.* namespace; top-level firm_name / fei_number never match) — required at runtime: a missing expression fails locally |
--limit |
no | Rows, 1–1000 (upstream hard wall; default 20) |
--skip |
no | Rows to skip (default 0 — upstream has no cursor, deep paging relies on it) |
--sort |
no | Sort (default registration.reg_expiry_date_year:desc) |
healthcare fda_drug_approvalsDrugs@FDA application dossiers: application number × sponsor, with product lists and submission timelines.
Jurisdiction: US
| Flag | Required | Meaning |
|---|---|---|
--search |
no | Query expression (openFDA syntax), e.g. sponsor_name:"TEVA" — the company key is sponsor_name (applicant_name is an upstream-docs illusion); keyword fields are case-sensitive in their stored form — required at runtime: a missing expression fails locally |
--limit |
no | Rows, 1–1000 (upstream hard wall; default 20) |
--skip |
no | Rows to skip (default 0 — upstream has no cursor, deep paging relies on it) |
--sort |
no | Sort (default submissions.submission_status_date:desc) |
healthcare fda_drug_catalogNDC product catalog (refreshed daily): product NDC × labeler, with marketing dates and category.
Jurisdiction: US
| Flag | Required | Meaning |
|---|---|---|
--search |
no | Query expression, e.g. labeler_name:"pfizer" for a labeler — the NDC directory refreshes daily; NSDE marketing dates live in this face — required at runtime: a missing expression fails locally |
--limit |
no | Rows, 1–1000 (upstream hard wall; default 20) |
--skip |
no | Rows to skip (default 0 — upstream has no cursor, deep paging relies on it) |
--sort |
no | Sort (default marketing_start_date:desc) |
healthcare fda_drug_recallsUS drug recall and enforcement records (2012+): recall number × recalling firm, with class, status and reason.
Jurisdiction: US
| Flag | Required | Meaning |
|---|---|---|
--search |
no | Query expression, e.g. recalling_firm.exact:"Firm Name" — required at runtime: a missing expression fails locally rather than hitting upstream |
--limit |
no | Rows, 1–1000 (upstream hard wall; default 20) |
--skip |
no | Rows to skip (default 0 — upstream has no cursor, deep paging relies on it) |
--sort |
no | Sort (default report_date:desc) |
healthcare fda_drug_shortagesUS drug shortage reports (openFDA).
Jurisdiction: US
| Flag | Required | Meaning |
|---|---|---|
--search |
no | Query expression, e.g. openfda.manufacturer_name.exact:"Fresenius Kabi USA, LLC" AND status:Current (openFDA syntax; manufacturer, drug and status all go into the expression) |
--limit |
no | Rows, 1–1000 (default 20) |
--skip |
no | Rows to skip (default 0) |
--sort |
no | Sort (default update_date:desc) |
Note: --limit 1-1000 is an upstream hard wall — page deeper by accumulating --skip offsets (each page still ≤1000), not by raising limit.
healthcare fda_food_recallsUS food recall and enforcement records (2012+): recall number × recalling firm, with class, status and reason.
Jurisdiction: US
| Flag | Required | Meaning |
|---|---|---|
--search |
no | Query expression, e.g. recalling_firm.exact:"Firm Name" — required at runtime: a missing expression fails locally |
--limit |
no | Rows, 1–1000 (upstream hard wall; default 20) |
--skip |
no | Rows to skip (default 0 — upstream has no cursor, deep paging relies on it) |
--sort |
no | Sort (default report_date:desc) |
healthcare fda_orangebookOrange Book approved drugs: approval date × application holder, with reference-listed-drug flags.
Jurisdiction: US
| Flag | Required | Meaning |
|---|---|---|
--search |
no | Query expression, e.g. products.application_full_name:"Teva" (the holder sits inside products[]; there is no top-level applicant field) — required at runtime: a missing expression fails locally |
--limit |
no | Rows, 1–1000 (upstream hard wall; default 20) |
--skip |
no | Rows to skip (default 0 — upstream has no cursor, deep paging relies on it) |
--sort |
no | Sort (default approval_date:desc) |
healthcare gb_mhra_alertSingle UK MHRA alert dossier (notice body + PDF attachments).
Jurisdiction: GB
| Flag | Required | Meaning |
|---|---|---|
--slug |
yes | Alert slug (from gb_mhra_alerts rows; pasting the full gov.uk link also works — a trailing .json is stripped too) |
healthcare gb_mhra_alertsUK MHRA medicines & device safety-alert search (recalls, device alerts, field safety notices).
Jurisdiction: GB
| Flag | Required | Meaning |
|---|---|---|
--q |
no | Query (a company/product penetration channel — e.g. Abbott hits 160 alerts; omit for the full 1,462-alert register, newest first) |
--count |
no | Rows per page, 1–100 (default 20; our politeness cap — no upstream wall) |
--start |
no | Offset pagination: row to start from (default 0) |
healthcare gudid_devicesUS device registry (GUDID): DI / UDI → device record.
Jurisdiction: US
| Flag | Required | Meaning |
|---|---|---|
--di |
no | Device Identifier (DI) |
--udi |
no | Full UDI string |
--record-key |
no | Record key (native GUDID row key) |
Note: The upstream sits behind an AWS WAF bot gate that keys on both the client stack and your egress IP — a 2xx non-JSON body is normalized into an error with egress troubleshooting hints: check your proxy/egress or switch networks rather than retrying blindly; openFDA UDI carries the same data as the fallback.
healthcare mesh_descriptorMeSH descriptor lookup — normalize drug / disease terms to standard descriptors.
Jurisdiction: GLOBAL
| Flag | Required | Meaning |
|---|---|---|
--label |
yes | Term to look up (passing term/descriptor gets a 400 upstream — use label) |
--match |
no | Match mode (default contains) |
--limit |
no | Candidates cap (default 10, max 50) |
Note: mesh_ui (the D prefix) is the stable cross-library anchor — bibliographic and trial databases all resolve it; an empty candidate list means the spelling isn't in the vocabulary: the colloquial “type 2 diabetes” gets zero hits while the controlled form is “Diabetes Mellitus, Type 2” — retry with the inverted or controlled form.
healthcare rasff_notificationsEU RASFF food-and-feed safety-alert search: notifying country × product category × risk decision.
Jurisdiction: EU
| Flag | Required | Meaning |
|---|---|---|
--subject |
no | Free text on the alert subject (upstream param subject; e.g. aflatoxin) |
--notification-reference |
no | Reference number, exact (upstream param notificationReference; e.g. 2026.9701) |
--ec-valid-date-from |
no | Window start, dd-MM-yyyy (upstream param ecValidDateFrom; e.g. 01-09-2026 — ISO input is rejected upstream) |
--ec-valid-date-to |
no | Window end, dd-MM-yyyy (upstream param ecValidDateTo) |
--page-number |
no | Page number, 1-based (upstream param pageNumber; default 1) |
--items-per-page |
no | Rows per page, 1–200 (upstream param itemsPerPage; browser default 25, 200 is our politeness cap) |
Note: The session is managed internally by a two-step handshake (the shell page mints it, then a POST with Cookie/Origin/Referer; an expired session re-mints once automatically); the enum-shaped filters (notifying country / product category / risk decision etc.) are deliberately unexposed — their parameter shapes are unpublished upstream and every probe was rejected with a generic error, so filter by subject / reference / date window first.
healthcare rxnav_rxcui_atcRxCUI → ATC classification.
Jurisdiction: US
| Flag | Required | Meaning |
|---|---|---|
--rxcui |
yes | Numeric RxCUI |
Note: Numeric RxCUIs only — resolve drug names first via rxnav_rxcui_by_name; ingredient-level (tty=IN) RxCUIs map most reliably (brand-level BN works, but the normalization face is authoritative).
healthcare rxnav_rxcui_by_nameDrug or brand name → RxCUI (RxNorm official normalization).
Jurisdiction: US
| Flag | Required | Meaning |
|---|---|---|
--name |
yes | Drug or brand name |
Note: English dictionary only — Chinese drug names honestly return not_found, never fuzzy guessing; RxCUIs are immutable and cached permanently on your machine (reruns report from_cache:true).
healthcare safety_gate_alertsEU Safety Gate (ex-RAPEX) non-food product-safety weekly-report index.
Jurisdiction: EU
| Flag | Required | Meaning |
|---|---|---|
--year |
no | Report year — a local post-filter, not an upstream param (the index always arrives whole) |
--limit |
no | Rows (default 200, local slice) |
--skip |
no | Rows to skip (default 0, local slice) |
healthcare safety_gate_reportOne Safety Gate weekly report's alerts: case number × category × risk level × notifying country × country of origin.
Jurisdiction: EU
| Flag | Required | Meaning |
|---|---|---|
--report-id |
yes | Numeric report id (the report_id echoed by safety_gate_alerts; a pasted detail URL also works) |
--limit |
no | Rows (default 200, local slice) |
--skip |
no | Rows to skip (default 0, local slice) |
subject_kind=institution (hospitals / CMS facilities / NPPES organizations) is the institution-directory exit, never mixed into the company directory.