/* DigiHealthCloud — device catalog page.
*
* Reads data/devices.json (built weekly from openFDA by scrapers/devices.mjs)
* and renders it as a sortable, filterable table. No backend: the whole
* catalog is one JSON file, filtered and sorted in the browser.
*/
const { useState, useEffect, useMemo } = React;
const Header = () => (
{building ? 'The first scrape runs on the weekly schedule, or can be started by hand from the repository. Once it has run, every cleared device appears here.' : 'Try clearing the search box or widening the modality and year filters.'}
US device clearances for digital measurement — wearables, sensors, algorithms and software — tagged by modality so you can see what has already reached the market in the area you're measuring.
Loading the catalog…
) : ( <>| Modality | FDA record | ||||
|---|---|---|---|---|---|
| {d.name} {d.classification && {d.classification}} | {d.company} | {d.modalities.map((m) => {m})} | {d.decisionDate || '—'} | {d.deviceClass || '—'} | {d.kNumber} |
Showing {shown.length} of {rows.length.toLocaleString()} matches — narrow the filters to see the rest.
)}{data.count.toLocaleString()} clearances · {data.coverage} Source:{' '} openFDA 510(k) , US government data in the public domain. Modality tags are keyword-derived from the FDA device and classification names — follow any device through to its FDA record for the authoritative detail. Last updated{' '} {data.updatedAt ? new Date(data.updatedAt).toLocaleDateString('en-US', { year: 'numeric', month: 'long', day: 'numeric' }) : '—'}.
> )}