mfferreira / fhirformjs

NPM module to convert FHIR Questionnaire JSON to JSON Schema for form rendering.

Home Page:https://canehealth.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

fhirformjs

forthebadge npm Build Documentation

About

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. ☝️

Installation

npm i --save fhirformjs

Usage example (In a React component)

  • 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>
  );

See an example 👈

Author

Contributor(s)

About

NPM module to convert FHIR Questionnaire JSON to JSON Schema for form rendering.

https://canehealth.com

License:MIT License


Languages

Language:TypeScript 100.0%