OHM Studio Documentation
Build clinical extraction APIs in minutes — voice-to-structured-JSON, multi-language, FHIR-ready.
Voice → clinical JSON in 5 lines
OHM Studio is a voice-to-structured-data API for clinical software. Speak the consult, get back a typed JSON object you can save, print, or push into FHIR.
import { OHM } from "@ohm_studio/sdk";
const ohm = new OHM(process.env.OHM_API_KEY!);
const { transcript, data } = await ohm.audio.extract({
apiSlug: "opd-clinic",
file: audioBlob,
});curl -X POST https://api.ohm.doctor/api/studio/v1/audio/extract/opd-clinic \
-H "Authorization: Bearer $OHM_API_KEY" \
-F "file=@consult.webm"import { OHM, ExpoRecorder } from "@ohm_studio/sdk-react-native";
import { Audio } from "expo-av";
const ohm = new OHM(TEST_KEY);
const file = await new ExpoRecorder(Audio).stop();
const { transcript, data } = await ohm.audio.extract({
apiSlug: "opd-clinic",
file,
});You get back something like this:
{
"transcript": "Patient is a 35-year-old male, fever 3 days, BP 130 over 85...",
"data": {
"vitals": { "bp": { "systolic": 130, "diastolic": 85 }, "hr": 92, "temp": 38.6 },
"diagnoses": [{ "name": "Fever", "status": "active" }],
"medications": [
{ "name": "Paracetamol", "dosage": "650mg", "frequency": "TDS", "duration": "5 days" }
]
},
"apiSlug": "opd-clinic"
}That's it. Everything below is detail.
Where to go next
5-minute quickstart
Sign in, clone a template, publish, mint a key, call it.
Your first audio API
Record voice in the browser, Next.js, or Expo — get structured JSON.
JavaScript SDK
`@ohm_studio/sdk` — browser, Node 18+, Next.js. Six methods total.
Browser Recorder
Codec cascade, VU meter, silence auto-stop, wake-lock, `useRecorder()` hook. iOS + Firefox + Chromium.
React Native SDK
Same API as web, RN-friendly file shape, key safeguards.
Streaming
Show the transcript first, then the structured fields — half the latency.
Scale & throughput
What OHM handles for you (caching, rate-limit, key validation) and what you tune.
API reference
Every endpoint, every parameter, every status code.
Build a Visit feature
The canonical hospital integration — record consult, get JSON, save into your own DB. ~3 hours end-to-end.
What makes this different
- Medical primitives, not generic JSON.
vitals-block,diagnosis-list,medication-list,allergy-list,investigation-listare first-class field types — already coded for ICD-10 / SNOMED / LOINC, already FHIR-shaped. - 23-language clinical STT. Speak Tamil, Hindi, Bengali, Telugu, Marathi — get back an English structured note. No second-stage extractor.
- Pre-tested clinical priors. Vital-range sanity, negation handling, code-mix interpretation, narrative-bullet formatting. Ships on by default; opt out per API if you must.
- Forward-deployed. No data migration. Your patients live in your EMR; OHM is the AI layer that hospital devs call from their existing apps.
Customer SDK code never sees vendor names
Whatever STT or LLM provider sits underneath is OHM's implementation detail. Your error stacks, your response payloads, your telemetry — all vendor-neutral. Swap providers without touching SDK code.