An official website of the United States Government
Device adverse events

api.fda.gov/device/event/reference

An adverse event is submitted to the FDA to report any undesirable experience associated with the use of a device, including serious device side effects, product use errors, product quality problems, and therapeutic failures.

About

disclaimer

Registration and listing data are submitted and maintained by medical device companies that are required to identify their places of business and the devices they produce or process at those places of business. These data are generally not reviewed by FDA for accuracy or completeness and the appearance of these data on the FDA web site and on open.fda.gov does not infer FDA approval of either the products or the facilities.When using the Product data, keep in mind that the definition of 'product' can be variable, based on whether the device requires some form of premarket approval or notification, or can be marketed without any premarket review by FDA. You may want to identify the number of products by the number of proprietary names associated with a given data set rather than the number of product rows returned. However, as noted, the data provided by these APIs may or may not be complete as most of them have not been verified by FDA.

How records are organized

Results

For non-count queries, the results section includes matching device registrations and listings records returned by the API.

Field-by-field reference

Registration

The Registration record provides identification (name, registration number) and address information for a medical device establishment that performs an activity that requires that they register with the FDA Center for Devices and Radiological Health (CDRH). See for more information on who must register.

  • registration.status_code
    string

    Registration status code.

    Value is one of the following
    • 1 = Active

    • 5 = Active awaiting assignment of registration number

  • registration.initial_importer_flag
    string

    Identifies whether facility is an initial importer.

    Value is one of the following
    • Y = Yes

    • N = No

  • registration.reg_expiry_date_year
    string

    Year that registration expires (expires 12/31 of that year).

  • registration.address_line_1
    string

    Facility or US agent address line 1.

  • registration.address_line_2
    string

    Facility or US agent address line 2.

  • registration.city
    string

    Facility or US agent city.

    This is an .exact field. It has been indexed both as its exact string content, and also tokenized.

    • search=registration.city:"FOO+BAR"
      Searches for records where either FOO or BAR appear anywhere in this field.

    • search=registration.city.exact:"FOO+BAR"
      Searches for records where exactly and only FOO BAR appears in this field.

    • count=registration.city
      Counts the tokenized values of this field. Instances of FOO and BAR are counted separately.

    • count=registration.city.exact
      Counts the exact values of this field. FOO BAR, BAR FOO, FOO, and BAR would all be counted separately, along with other combinations that contain these terms.

  • registration.state_code
    string

    Facility or US agent US state or foreign state or province.

  • registration.zip_code
    string

    Facility or US agent Zip code.

    This is an .exact field. It has been indexed both as its exact string content, and also tokenized.

    • search=registration.zip_code:"FOO+BAR"
      Searches for records where either FOO or BAR appear anywhere in this field.

    • search=registration.zip_code.exact:"FOO+BAR"
      Searches for records where exactly and only FOO BAR appears in this field.

    • count=registration.zip_code
      Counts the tokenized values of this field. Instances of FOO and BAR are counted separately.

    • count=registration.zip_code.exact
      Counts the exact values of this field. FOO BAR, BAR FOO, FOO, and BAR would all be counted separately, along with other combinations that contain these terms.

  • registration.iso_country_code
    string

    Facility or US agent country code.

  • registration.name
    string

    Name associated with the facility or US agent.

    This is an .exact field. It has been indexed both as its exact string content, and also tokenized.

    • search=registration.name:"FOO+BAR"
      Searches for records where either FOO or BAR appear anywhere in this field.

    • search=registration.name.exact:"FOO+BAR"
      Searches for records where exactly and only FOO BAR appears in this field.

    • count=registration.name
      Counts the tokenized values of this field. Instances of FOO and BAR are counted separately.

    • count=registration.name.exact
      Counts the exact values of this field. FOO BAR, BAR FOO, FOO, and BAR would all be counted separately, along with other combinations that contain these terms.

  • registration.postal_code
    string

    Facility foreign postal code.

    This is an .exact field. It has been indexed both as its exact string content, and also tokenized.

    • search=registration.postal_code:"FOO+BAR"
      Searches for records where either FOO or BAR appear anywhere in this field.

    • search=registration.postal_code.exact:"FOO+BAR"
      Searches for records where exactly and only FOO BAR appears in this field.

    • count=registration.postal_code
      Counts the tokenized values of this field. Instances of FOO and BAR are counted separately.

    • count=registration.postal_code.exact
      Counts the exact values of this field. FOO BAR, BAR FOO, FOO, and BAR would all be counted separately, along with other combinations that contain these terms.

  • registration.fei_number
    string

    Facility identifier assigned to facility by the FDA Office of Regulatory Affairs.

  • registration.registration_number
    string

    Facility identifier assigned to facility by the FDA Office of Regulatory Affairs.

Owner operator

The Owner Operator is the company that owns or operates the registered establishment. They are responsible for the activities that are conducted at the registered establishment and the devices put in commercial distribution in the U.S. This is usually the corporate headquarters of the company.

The Official Correspondent is the person who is responsible for maintaining the establishment’s registration and listing information with CDRH. This can be, but does not have be, the same person as the Owner Operator or, in the case of a foreign establishment, the US Agent.

  • registration.owner_operator.owner_operator_number
    string

    Number assigned to Owner Operator by CDRH.

  • registration.owner_operator.firm_name
    string

    Firm name of owner operator.

    This is an .exact field. It has been indexed both as its exact string content, and also tokenized.

    • search=registration.owner_operator.firm_name:"FOO+BAR"
      Searches for records where either FOO or BAR appear anywhere in this field.

    • search=registration.owner_operator.firm_name.exact:"FOO+BAR"
      Searches for records where exactly and only FOO BAR appears in this field.

    • count=registration.owner_operator.firm_name
      Counts the tokenized values of this field. Instances of FOO and BAR are counted separately.

    • count=registration.owner_operator.firm_name.exact
      Counts the exact values of this field. FOO BAR, BAR FOO, FOO, and BAR would all be counted separately, along with other combinations that contain these terms.

  • registration.owner_operator.official_correspondent.first_name
    string

    Official correspondent first name.

    This is an .exact field. It has been indexed both as its exact string content, and also tokenized.

    • search=registration.owner_operator.official_correspondent.first_name:"FOO+BAR"
      Searches for records where either FOO or BAR appear anywhere in this field.

    • search=registration.owner_operator.official_correspondent.first_name.exact:"FOO+BAR"
      Searches for records where exactly and only FOO BAR appears in this field.

    • count=registration.owner_operator.official_correspondent.first_name
      Counts the tokenized values of this field. Instances of FOO and BAR are counted separately.

    • count=registration.owner_operator.official_correspondent.first_name.exact
      Counts the exact values of this field. FOO BAR, BAR FOO, FOO, and BAR would all be counted separately, along with other combinations that contain these terms.

  • registration.owner_operator.official_correspondent.last_name
    string

    Official correspondent last name.

    This is an .exact field. It has been indexed both as its exact string content, and also tokenized.

    • search=registration.owner_operator.official_correspondent.last_name:"FOO+BAR"
      Searches for records where either FOO or BAR appear anywhere in this field.

    • search=registration.owner_operator.official_correspondent.last_name.exact:"FOO+BAR"
      Searches for records where exactly and only FOO BAR appears in this field.

    • count=registration.owner_operator.official_correspondent.last_name
      Counts the tokenized values of this field. Instances of FOO and BAR are counted separately.

    • count=registration.owner_operator.official_correspondent.last_name.exact
      Counts the exact values of this field. FOO BAR, BAR FOO, FOO, and BAR would all be counted separately, along with other combinations that contain these terms.

  • registration.owner_operator.official_correspondent.middle_initial
    string

    Official correspondent middle initial.

    This is an .exact field. It has been indexed both as its exact string content, and also tokenized.

    • search=registration.owner_operator.official_correspondent.middle_initial:"FOO+BAR"
      Searches for records where either FOO or BAR appear anywhere in this field.

    • search=registration.owner_operator.official_correspondent.middle_initial.exact:"FOO+BAR"
      Searches for records where exactly and only FOO BAR appears in this field.

    • count=registration.owner_operator.official_correspondent.middle_initial
      Counts the tokenized values of this field. Instances of FOO and BAR are counted separately.

    • count=registration.owner_operator.official_correspondent.middle_initial.exact
      Counts the exact values of this field. FOO BAR, BAR FOO, FOO, and BAR would all be counted separately, along with other combinations that contain these terms.

  • registration.owner_operator.official_correspondent.phone_number
    string

    Official correspondent phone number.

    This is an .exact field. It has been indexed both as its exact string content, and also tokenized.

    • search=registration.owner_operator.official_correspondent.phone_number:"FOO+BAR"
      Searches for records where either FOO or BAR appear anywhere in this field.

    • search=registration.owner_operator.official_correspondent.phone_number.exact:"FOO+BAR"
      Searches for records where exactly and only FOO BAR appears in this field.

    • count=registration.owner_operator.official_correspondent.phone_number
      Counts the tokenized values of this field. Instances of FOO and BAR are counted separately.

    • count=registration.owner_operator.official_correspondent.phone_number.exact
      Counts the exact values of this field. FOO BAR, BAR FOO, FOO, and BAR would all be counted separately, along with other combinations that contain these terms.

  • registration.owner_operator.official_correspondent.subaccount_company_name
    string

    Official correspondent company name (if different from owner operator company name).

    This is an .exact field. It has been indexed both as its exact string content, and also tokenized.

    • search=registration.owner_operator.official_correspondent.subaccount_company_name:"FOO+BAR"
      Searches for records where either FOO or BAR appear anywhere in this field.

    • search=registration.owner_operator.official_correspondent.subaccount_company_name.exact:"FOO+BAR"
      Searches for records where exactly and only FOO BAR appears in this field.

    • count=registration.owner_operator.official_correspondent.subaccount_company_name
      Counts the tokenized values of this field. Instances of FOO and BAR are counted separately.

    • count=registration.owner_operator.official_correspondent.subaccount_company_name.exact
      Counts the exact values of this field. FOO BAR, BAR FOO, FOO, and BAR would all be counted separately, along with other combinations that contain these terms.

  • registration.owner_operator.contact_address.address_1
    string

    First line of address for owner operator.

  • registration.owner_operator.contact_address.address_2
    string

    Second line of address for owner operator.

  • registration.owner_operator.contact_address.city
    string

    Owner operator city.

    This is an .exact field. It has been indexed both as its exact string content, and also tokenized.

    • search=registration.owner_operator.contact_address.city:"FOO+BAR"
      Searches for records where either FOO or BAR appear anywhere in this field.

    • search=registration.owner_operator.contact_address.city.exact:"FOO+BAR"
      Searches for records where exactly and only FOO BAR appears in this field.

    • count=registration.owner_operator.contact_address.city
      Counts the tokenized values of this field. Instances of FOO and BAR are counted separately.

    • count=registration.owner_operator.contact_address.city.exact
      Counts the exact values of this field. FOO BAR, BAR FOO, FOO, and BAR would all be counted separately, along with other combinations that contain these terms.

  • registration.owner_operator.contact_address.state_code
    string

    Owner operator state code.

    This is an .exact field. It has been indexed both as its exact string content, and also tokenized.

    • search=registration.owner_operator.contact_address.state_code:"FOO+BAR"
      Searches for records where either FOO or BAR appear anywhere in this field.

    • search=registration.owner_operator.contact_address.state_code.exact:"FOO+BAR"
      Searches for records where exactly and only FOO BAR appears in this field.

    • count=registration.owner_operator.contact_address.state_code
      Counts the tokenized values of this field. Instances of FOO and BAR are counted separately.

    • count=registration.owner_operator.contact_address.state_code.exact
      Counts the exact values of this field. FOO BAR, BAR FOO, FOO, and BAR would all be counted separately, along with other combinations that contain these terms.

  • registration.owner_operator.contact_address.state_province
    string

    Owner operator province code.

    This is an .exact field. It has been indexed both as its exact string content, and also tokenized.

    • search=registration.owner_operator.contact_address.state_province:"FOO+BAR"
      Searches for records where either FOO or BAR appear anywhere in this field.

    • search=registration.owner_operator.contact_address.state_province.exact:"FOO+BAR"
      Searches for records where exactly and only FOO BAR appears in this field.

    • count=registration.owner_operator.contact_address.state_province
      Counts the tokenized values of this field. Instances of FOO and BAR are counted separately.

    • count=registration.owner_operator.contact_address.state_province.exact
      Counts the exact values of this field. FOO BAR, BAR FOO, FOO, and BAR would all be counted separately, along with other combinations that contain these terms.

  • registration.owner_operator.contact_address.postal_code
    string

    Owner operator postal code.

    This is an .exact field. It has been indexed both as its exact string content, and also tokenized.

    • search=registration.owner_operator.contact_address.postal_code:"FOO+BAR"
      Searches for records where either FOO or BAR appear anywhere in this field.

    • search=registration.owner_operator.contact_address.postal_code.exact:"FOO+BAR"
      Searches for records where exactly and only FOO BAR appears in this field.

    • count=registration.owner_operator.contact_address.postal_code
      Counts the tokenized values of this field. Instances of FOO and BAR are counted separately.

    • count=registration.owner_operator.contact_address.postal_code.exact
      Counts the exact values of this field. FOO BAR, BAR FOO, FOO, and BAR would all be counted separately, along with other combinations that contain these terms.

  • registration.owner_operator.contact_address.iso_country_code
    string

    Owner operator country code.

US Agent

The US agent is a person who must reside or keep a place of business in the United States and can represent the registered foreign establishment in communications with FDA. All foreign establishments are required to identify a single US agent for all of the products exported to the U.S. from their establishment.

  • registration.us_agent.name
    string

    US agent individual name.

    This is an .exact field. It has been indexed both as its exact string content, and also tokenized.

    • search=registration.us_agent.name:"FOO+BAR"
      Searches for records where either FOO or BAR appear anywhere in this field.

    • search=registration.us_agent.name.exact:"FOO+BAR"
      Searches for records where exactly and only FOO BAR appears in this field.

    • count=registration.us_agent.name
      Counts the tokenized values of this field. Instances of FOO and BAR are counted separately.

    • count=registration.us_agent.name.exact
      Counts the exact values of this field. FOO BAR, BAR FOO, FOO, and BAR would all be counted separately, along with other combinations that contain these terms.

  • registration.us_agent.business_name
    string

    Business name of US agent.

    This is an .exact field. It has been indexed both as its exact string content, and also tokenized.

    • search=registration.us_agent.business_name:"FOO+BAR"
      Searches for records where either FOO or BAR appear anywhere in this field.

    • search=registration.us_agent.business_name.exact:"FOO+BAR"
      Searches for records where exactly and only FOO BAR appears in this field.

    • count=registration.us_agent.business_name
      Counts the tokenized values of this field. Instances of FOO and BAR are counted separately.

    • count=registration.us_agent.business_name.exact
      Counts the exact values of this field. FOO BAR, BAR FOO, FOO, and BAR would all be counted separately, along with other combinations that contain these terms.

  • registration.us_agent.address_line_1
    string

    US agent address line 1.

  • registration.us_agent.address_line_2
    string

    US agent address line 2.

  • registration.us_agent.city
    string

    US agent city.

    This is an .exact field. It has been indexed both as its exact string content, and also tokenized.

    • search=registration.us_agent.city:"FOO+BAR"
      Searches for records where either FOO or BAR appear anywhere in this field.

    • search=registration.us_agent.city.exact:"FOO+BAR"
      Searches for records where exactly and only FOO BAR appears in this field.

    • count=registration.us_agent.city
      Counts the tokenized values of this field. Instances of FOO and BAR are counted separately.

    • count=registration.us_agent.city.exact
      Counts the exact values of this field. FOO BAR, BAR FOO, FOO, and BAR would all be counted separately, along with other combinations that contain these terms.

  • registration.us_agent.state_code
    string

    US agent US state or foreign state or province.

  • registration.us_agent.zip_code
    string

    US agent zip code.

    This is an .exact field. It has been indexed both as its exact string content, and also tokenized.

    • search=registration.us_agent.zip_code:"FOO+BAR"
      Searches for records where either FOO or BAR appear anywhere in this field.

    • search=registration.us_agent.zip_code.exact:"FOO+BAR"
      Searches for records where exactly and only FOO BAR appears in this field.

    • count=registration.us_agent.zip_code
      Counts the tokenized values of this field. Instances of FOO and BAR are counted separately.

    • count=registration.us_agent.zip_code.exact
      Counts the exact values of this field. FOO BAR, BAR FOO, FOO, and BAR would all be counted separately, along with other combinations that contain these terms.

  • registration.us_agent.postal_code
    string

    US agent country code.

    This is an .exact field. It has been indexed both as its exact string content, and also tokenized.

    • search=registration.us_agent.postal_code:"FOO+BAR"
      Searches for records where either FOO or BAR appear anywhere in this field.

    • search=registration.us_agent.postal_code.exact:"FOO+BAR"
      Searches for records where exactly and only FOO BAR appears in this field.

    • count=registration.us_agent.postal_code
      Counts the tokenized values of this field. Instances of FOO and BAR are counted separately.

    • count=registration.us_agent.postal_code.exact
      Counts the exact values of this field. FOO BAR, BAR FOO, FOO, and BAR would all be counted separately, along with other combinations that contain these terms.

  • registration.us_agent.iso_country_code
    string
  • registration.us_agent.bus_phone_area_code
    string

    US agent phone area code.

  • registration.us_agent.bus_phone_extn
    string

    US agent phone extension.

  • registration.us_agent.bus_phone_num
    string

    US agent phone number.

    This is an .exact field. It has been indexed both as its exact string content, and also tokenized.

    • search=registration.us_agent.bus_phone_num:"FOO+BAR"
      Searches for records where either FOO or BAR appear anywhere in this field.

    • search=registration.us_agent.bus_phone_num.exact:"FOO+BAR"
      Searches for records where exactly and only FOO BAR appears in this field.

    • count=registration.us_agent.bus_phone_num
      Counts the tokenized values of this field. Instances of FOO and BAR are counted separately.

    • count=registration.us_agent.bus_phone_num.exact
      Counts the exact values of this field. FOO BAR, BAR FOO, FOO, and BAR would all be counted separately, along with other combinations that contain these terms.

  • registration.us_agent.fax_area_code
    string

    US agent fax area code.

  • registration.us_agent.fax_num
    string

    US agent fax phone number.

    This is an .exact field. It has been indexed both as its exact string content, and also tokenized.

    • search=registration.us_agent.fax_num:"FOO+BAR"
      Searches for records where either FOO or BAR appear anywhere in this field.

    • search=registration.us_agent.fax_num.exact:"FOO+BAR"
      Searches for records where exactly and only FOO BAR appears in this field.

    • count=registration.us_agent.fax_num
      Counts the tokenized values of this field. Instances of FOO and BAR are counted separately.

    • count=registration.us_agent.fax_num.exact
      Counts the exact values of this field. FOO BAR, BAR FOO, FOO, and BAR would all be counted separately, along with other combinations that contain these terms.

  • registration.us_agent.email_address
    string

    US agent email address.

    This is an .exact field. It has been indexed both as its exact string content, and also tokenized.

    • search=registration.us_agent.email_address:"FOO+BAR"
      Searches for records where either FOO or BAR appear anywhere in this field.

    • search=registration.us_agent.email_address.exact:"FOO+BAR"
      Searches for records where exactly and only FOO BAR appears in this field.

    • count=registration.us_agent.email_address
      Counts the tokenized values of this field. Instances of FOO and BAR are counted separately.

    • count=registration.us_agent.email_address.exact
      Counts the exact values of this field. FOO BAR, BAR FOO, FOO, and BAR would all be counted separately, along with other combinations that contain these terms.

Proprietary names

The Proprietary Names are the names under which the medical device is marketed in the U.S. The Proprietary Names are identified at the Owner Operator level, so they may not be accurately associated with individual establishments if a product is made at more than one establishment owned or operated by the same company. In other words, if a company makes a product under Proprietary Name “A” at Establishment “1” and under Proprietary Name “B” at Establishment “2,” it will appear in the Registration and Listing data as both products being made at both establishments.

  • proprietary_name
    string

    Proprietary or brand name or model number a product is marketed under.

    This is an .exact field. It has been indexed both as its exact string content, and also tokenized.

    • search=proprietary_name:"FOO+BAR"
      Searches for records where either FOO or BAR appear anywhere in this field.

    • search=proprietary_name.exact:"FOO+BAR"
      Searches for records where exactly and only FOO BAR appears in this field.

    • count=proprietary_name
      Counts the tokenized values of this field. Instances of FOO and BAR are counted separately.

    • count=proprietary_name.exact
      Counts the exact values of this field. FOO BAR, BAR FOO, FOO, and BAR would all be counted separately, along with other combinations that contain these terms.

Establishment types

The Establishment Types identify the activity or activities being conducted at a given establishment for a given product. These include Manufacturer, Contract Manufacturer, Repacker/Relabeler, and several others. A company has to identify at least one Establishment Type for each product it makes. These are identified at the establishment and product listing level.

  • establishment_type
    string

    Facility operation or activity, e.g. “Manufacturer” (short version).

    This is an .exact field. It has been indexed both as its exact string content, and also tokenized.

    • search=establishment_type:"FOO+BAR"
      Searches for records where either FOO or BAR appear anywhere in this field.

    • search=establishment_type.exact:"FOO+BAR"
      Searches for records where exactly and only FOO BAR appears in this field.

    • count=establishment_type
      Counts the tokenized values of this field. Instances of FOO and BAR are counted separately.

    • count=establishment_type.exact
      Counts the exact values of this field. FOO BAR, BAR FOO, FOO, and BAR would all be counted separately, along with other combinations that contain these terms.

    Value is one of the following
    • Manufacture Medical Device = Manufacture Medical Device

    • Manufacture Medical Device for Another Party (Contract Manufacturer) = Manufacture Medical Device for Another Party (Contract Manufacturer)

    • Repack or Relabel Medical Device = Repack or Relabel Medical Device

    • Develop Specifications But Do Not Manufacture At This Facility = Develop Specifications But Do Not Manufacture At This Facility

    • Sterilize Medical Device for Another Party (Contract Sterilizer) = Sterilize Medical Device for Another Party (Contract Sterilizer)

    • Export Device to the United States But Perform No Other Operation on Device = Export Device to the United States But Perform No Other Operation on Device

    • Complaint File Establishment per 21 CFR 820.198 = Complaint File Establishment per 21 CFR 820.198

    • Remanufacture Medical Device = Remanufacture Medical Device

    • Manufacture Device in the United States for Export Only = Manufacture Device in the United States for Export Only

    • Reprocess Single-Use Device = Reprocess Single-Use Device

    • Foreign Private Label Distributor = Foreign Private Label Distributor

Products

All medical devices entering commerce in the U.S. must be “listed” with FDA. This means that each owner or operator of a medical device establishment that conducts an activity – manufactures, sterilizes, relabels, etc. – that is regulated by FDA must identify the devices that they market in the U.S. This can get a bit tricky as these products are identified differently depending on whether a company has to submit a premarket application or notification prior to marketing their device (see here).

If they do not have to submit a premarket application or notification, then the device is considered “exempt” from premarket notification, and the company identifies the device they are making by selecting the appropriate product code and providing the Establishment Types that apply to their establishment and the Proprietary Names they are marketing the device under. It will appear in the open.fda.gov data as one document or record.

If, however, a company must get premarket approval or clearance, they identify the product they are making by the premarket approval (PMA, HDE, PDP or NDA) or clearance (510(k) or Denovo) number assigned by FDA. Each Establishment Type and Proprietary Name is then associated with the product in the open.fda.gov database based on that premarket number, not by product code, although all listings, including those that are not exempt, have product codes assigned.

  • k_number
    string

    FDA-assigned premarket notification number, including leading letters. Leading letters “BK” indicates 510(k) clearance, or Premarket Notification, cleared by Center for Biologics Evaluation and Research. Leading letters “DEN” indicates De Novo, or Evaluation of Automatic Class III Designation. Leading letter “K” indicates 510(k) clearance, or Premarket Notification.

  • pma_number
    string

    FDA-assigned premarket application number, including leading letters. Leading letter “D” indicates Product Development Protocol type of Premarket Approval. Leading letters “BP” indicates Premarket Approval by Center for Biologics Evaluation and Research. Leading letter “H” indicates Humanitarian Device Exemption approval. Leading letter “N” indicates New Drug Application. Early PMAs were approved as NDAs. Leading letter “P” indicates Premarket Approval.

  • products.created_date
    string

    Date listing was created (may be unreliable).

  • products.exempt
    string

    Flag indicating whether a device is exempt or not.

    Value is one of the following
    • Y = Yes

    • N = No

  • products.owner_operator_number
    string

    Number assigned to Owner Operator by CDRH.

  • products.product_code
    string

    A three-letter identifier assigned to a device category. Assignment is based upon the medical device classification designated under 21 CFR Parts 862-892, and the technology and intended use of the device. Occasionally these codes are changed over time.

OpenFDA

The openfda section of each document is determined initially by looking at the product_code value. Since there are potentially more than one product_code values associated with a listing, there is an openfda subdocument for each one.

    • device_class
      string

      A risk based classification system for all medical devices (Federal Food, Drug, and Cosmetic Act, section 513). Additional information can be found here.

      Value is one of the following
      • 1 = Class I (low to moderate risk): general controls

      • 2 = Class II (moderate to high risk): general controls and special controls

      • 3 = Class III (high risk): general controls and Premarket Approval (PMA)

      • U = Unclassified

      • N = Not classified

      • F = HDE

    • device_name
      string

      This is the proprietary name, or trade name, of the cleared device.

      This is an .exact field. It has been indexed both as its exact string content, and also tokenized.

      • search=device_name:"FOO+BAR"
        Searches for records where either FOO or BAR appear anywhere in this field.

      • search=device_name.exact:"FOO+BAR"
        Searches for records where exactly and only FOO BAR appears in this field.

      • count=device_name
        Counts the tokenized values of this field. Instances of FOO and BAR are counted separately.

      • count=device_name.exact
        Counts the exact values of this field. FOO BAR, BAR FOO, FOO, and BAR would all be counted separately, along with other combinations that contain these terms.

    • medical_specialty_description
      string

      Regulation Medical Specialty is assigned based on the regulation (e.g. 21 CFR Part 888 is Orthopedic Devices) which is why Class 3 devices lack the “Regulation Medical Specialty” field.

      This is an .exact field. It has been indexed both as its exact string content, and also tokenized.

      • search=medical_specialty_description:"FOO+BAR"
        Searches for records where either FOO or BAR appear anywhere in this field.

      • search=medical_specialty_description.exact:"FOO+BAR"
        Searches for records where exactly and only FOO BAR appears in this field.

      • count=medical_specialty_description
        Counts the tokenized values of this field. Instances of FOO and BAR are counted separately.

      • count=medical_specialty_description.exact
        Counts the exact values of this field. FOO BAR, BAR FOO, FOO, and BAR would all be counted separately, along with other combinations that contain these terms.

    • regulation_number
      string

      The classification regulation in the Code of Federal Regulations (CFR) under which the device is identified, described, and formally classified (Code of Federal regulations Title 21, 862.00 through 892.00). The classification regulation covers various aspects of design, clinical evaluation, manufacturing, packaging, labeling, and postmarket surveillance of the specific medical device.

      This is an .exact field. It has been indexed both as its exact string content, and also tokenized.

      • search=regulation_number:"FOO+BAR"
        Searches for records where either FOO or BAR appear anywhere in this field.

      • search=regulation_number.exact:"FOO+BAR"
        Searches for records where exactly and only FOO BAR appears in this field.

      • count=regulation_number
        Counts the tokenized values of this field. Instances of FOO and BAR are counted separately.

      • count=regulation_number.exact
        Counts the exact values of this field. FOO BAR, BAR FOO, FOO, and BAR would all be counted separately, along with other combinations that contain these terms.

      Fore more information, see CFR database