Creating, maintaining and using forms for health data capture is vital, and FHIRForm is a framework for that. FHIRFormJS is one of its components (an npm module) that helps create input forms corresponding to a FHIR questionnaire. FHIRFormJS does not render forms but converts FHIR questionnaire into a schema and lets other libraries (such as react-jsonschema-form ) do the heavy lifting. An output mapper that maps the output from a react-jsonschema-form to a QuestionnaireResponse is also available. Checkout this example React app to see how it is used. This is a modern alternative to LHC-Forms
FHIRFormJS is WIP (not production ready). Pull requests are welcome (See CONTRIBUTING.md) and add issues and feature requests by clicking on the 'issues' tab. ☝️
npm i --save fhirformjs - FHIRFormJS is framework independent and can be used with other frameworks such as Vue / Angular.
- Testq1 is a FHIR Questionnaire object
import { FhirJsonForm, FhirJsonResp } from 'fhirformjs' import Form from "@rjsf/core" const resp = FhirJsonForm(Testq1) let formData = {} let respData = {} function handleSubmit(data){ respData = FhirJsonResp(resp.model, data, resp.schema) console.log(JSON.stringify(respData)) } return ( <div className="App"> <header className="App-header"> <Form schema={resp.schema} uiSchema={resp.uiSchema} formData={formData} onSubmit={e => handleSubmit(e.formData)} /> </header> </div> ); since v0.8.0: Backend API
import { FhirBackend } from 'fhirformjs' const backend = new FhirBackend('https://lforms-fhir.nlm.nih.gov/baseR4'); console.log(backend.getTableOfContents()) console.log(backend.getQuestionnaire('2050148')) If you find this project useful, give us a star. It helps others discover the project.