EMRs and EHRs need endless forms — for compliance, assessments, and daily care. Building them by hand is slow, and every region needs different ones, so the static forms baked into an EHR never keep up. OpenMedForm lets you generate dynamic forms with AI, coded to SNOMED CT, LOINC and ICD-10, drop them into your product with native renderers, and store every response as JSON in your own database.
Every EMR/EHR needs dozens of forms for compliance, risk assessments, consent and daily workflows. Authoring each one by hand does not scale.
Regulations, languages and clinical practice vary by region — the same form needs many variants. One static set can never fit them all.
Forms hard-coded into an EHR are rigid and slow to change. Clinical teams end up waiting on engineering for every small update.
OpenMedForm sits alongside your EMR. Describe a form or upload a PDF, and AI generates a versioned JSON schema. Embed it with our React, Angular or Flutter renderer, and every submission is scored server-side and stored as JSON — in your database, not ours.
Generate complex clinical forms from a prompt, PDF, or image — with multiple LLM providers.
Drop-in renderers for web and mobile share one schema, so the same form runs in your EMR and on the ward tablet.
AI maps fields and answers to SNOMED CT, LOINC and ICD-10 codes; clinicians review and approve them in a built-in dictionary, and the codes live in the form schema itself.
Schemas and submissions are plain JSON. Keep them in your own store — full data ownership.
Clinical risk scores are recalculated on the server at submission — never trusting the client.
Every form renders to a print-accurate A4 document — preview, print, or generate a PDF from the same JSON.
From paper form to a native screen inside your EMR — no form engineering required.
Scan or photograph your existing paper form and upload the PDF or image. AI converts it into a digital clinical form — fields, sections and scoring included.
Every form is a single portable, versioned JSON definition. Export it from the forms list with one click.
Install the React, Angular or Flutter renderer, load the JSON, and the form appears natively in your product — web or mobile. Submissions are plain JSON for your own database.
npm install @openmedform/react-form-rendererimport { FormRenderer } from '@openmedform/react-form-renderer';
function EncounterForm({ formJson }) {
return (
<FormRenderer
definition={formJson} // the JSON you downloaded
onSubmit={(result) => saveToYourDb(result)}
/>
);
}npm install @openmedform/angular-form-rendererimport { OmfFormComponent } from '@openmedform/angular-form-renderer';
@Component({
standalone: true,
imports: [OmfFormComponent],
template: `
<omf-form
[definition]="formJson"
(dataChange)="saveToYourDb($event)"
></omf-form>`,
})
export class EncounterFormComponent {}# pubspec.yaml
dependencies:
openmedform_flutter_renderer:
git:
url: https://github.com/daivahealth/openmedform-flutter.git
path: packages/openmedform_flutter_rendererimport 'package:openmedform_flutter_renderer/openmedform_flutter_renderer.dart';
OmfFormRenderer(
definition: definition, // the JSON you downloaded
onChange: (data) => saveToYourDb(data),
)Need a paper copy? The same JSON renders to a print-accurate A4 document (and PDF) via @openmedform/form-print-engine.
Create your organization in seconds. No credit card required.
Create your account