Healthcare

Medical Device Recall

/extract/json

Medical device recall notice from the FDA or equivalent regulatory authority.

Download the schemahealthcare/medical-device-recall.json

medical-device-recall.schema

// names marked ? are optional

recall_id?:string// Regulatory recall identifier. Commonly found in: FDA recall database, recall notice.
device_name:string// Name of the recalled device. Commonly found in: FDA recall notice, press release.
device_model?:string// Model number or name. Commonly found in: FDA recall notice, device label.
device_type?:string// Type or category of medical device. Commonly found in: FDA device classification, recall notice.
manufacturer_name:string// Name of the device manufacturer. Commonly found in: FDA recall notice, press release.
manufacturer_country?:string// Country of the manufacturer. Commonly found in: FDA recall notice, manufacturer address.
recall_class:string// FDA recall class (I = most serious). Commonly found in: FDA recall database. One of: I, II, III, other.
recall_type?:string// Whether the recall was voluntary or mandatory. Commonly found in: FDA recall notice. One of: voluntary, mandatory, other.
recall_status:string// Current status of the recall. Commonly found in: FDA recall database. One of: ongoing, terminated, completed, other.
initiated_date:string// Date the recall was initiated. Commonly found in: FDA recall notice.
terminated_date?:string// Date the recall was terminated. Commonly found in: FDA recall database.
reason_for_recall:string// Reason or root cause for the recall. Commonly found in: FDA recall notice, press release.
hazard_to_health?:string// Description of the health hazard. Commonly found in: FDA recall notice.
units_affected?:number// Approximate number of units affected. Commonly found in: FDA recall notice, press release.
lot_numbers?:string[]// Affected lot or batch numbers. Commonly found in: FDA recall notice.
distribution_scope?:string[]// Geographic scope of distribution. Commonly found in: FDA recall notice.
action_required?:string// Required action for customers or healthcare providers. Commonly found in: FDA recall notice, press release.
patient_risk_level?:string// Assessed risk level to patients. Commonly found in: FDA recall classification. One of: high, medium, low, other.
press_release_url?:string// URL of the manufacturer press release. Commonly found in: manufacturer website, FDA press release.
page_title?:string// Title of the source page. Tabstack auto-fills this from page metadata when left empty.
favicon?:string// Favicon URL of the source page. Tabstack auto-fills this from page metadata when left empty.

Try it live

A sample Medical Device Recall document, generated from the schema. Edit it, or paste a real response, and see it checked against the schema instantly. It runs in your browser, nothing is sent anywhere.

your-output.json
validation

Valid, matches Medical Device Recall

Every required field is present and each value matches its type. Extra fields are allowed. A field the page does not carry is not guaranteed to come back as null, so check values rather than only checking for null.

/extract/json

Copy-paste usage

The same call in TypeScript, Python, and curl. Point it at your own URL and go. The schema drives the response, so you get back the fields you asked for instead of a page to parse.

Features

  • Typed TypeScript and Python SDKs
  • One call, no parsing code and no second LLM pass
  • The same field names on every request, even when the page layout changes
medical-device-recall.ts
// curl -sfLO https://raw.githubusercontent.com/Mozilla-Ocho/tabstack-schemas/main/healthcare/medical-device-recall.json
import Tabstack from '@tabstack/sdk'
import schema from './medical-device-recall.json' with { type: 'json' }

const client = new Tabstack() // reads TABSTACK_API_KEY from the environment

try {
  const data = await client.extract.json({
    url: 'https://example.org/clinical-trial/NCT00000000',
    json_schema: schema,
    effort: 'standard', // 'min' | 'standard' | 'max'
  })

  console.log(data)
} catch (err) {
  console.error('Extraction failed:', err)
}

Ship this schema in one call.

Pass a URL, get matching JSON back. Free to start, no extraction layer to maintain.