:wave: New to O3? Be sure to review the OpenMRS 3 Frontend Developer Documentation. You may find the Map of the Project especially helpful. :teacher:
OpenMRS O3 Form Engine
About The Project
The OpenMRS Form Engine is simply a React component that renders forms based on the AMPATH Forms Schema. The AMPATH forms are well defined here. The origins of this react-based project were made possible thanks to the UCSF-OHRI project in 2022 and moved to the community in 2023.
Documentation
You can find for more details, Technical guides, and other docs bundled within the official documentation.
Built With
Getting Started
NB: The engine is a library and not an O3 MF module. That being said, it can be consumed by bundling it within an ESM or custom frontend app that incorporates it within a UI workflow.
Prerequisites
You must have git, node, npm, and yarn installed. The versions required are
- The Node Active LTS version
- The latest stable version of NPM
- The latest stable version of Yarn
Installation
yarn add @openmrs/openmrs-form-engine-lib@latest
(back to top)
Example Usage
import React from 'react';
import { OHRIForm, OHRIFormSchema, SessionMode } from '@openmrs/openmrs-form-engine-lib';
import { useFormsJson } from './forms-utils'
function FormRenderTest () {
const { formJson, _ } = useFormsJson(...);
return <OHRIForm formJson={formJson} patientUUID={patientUUID} mode={SessionMode.ENTER} />;
}
Contributing
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
Local Development
Install Dependencies
yarn
Build the lib
yarn build
Link the lib to an ESM that depends on this lib (i.e: openmrs-esm-form-builder)
cd path/to/openmrs-esm-form-builder
yarn link path/to/openmrs-form-engine-lib
The linking is what allows you to see your changes locally.
Start the dependant ESM locally as you would normally do
yarn start
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement".
Report an issue
https://github.com/openmrs/openmrs-form-engine-lib/issues
License
Distributed under the MPLv2 with Healthcare Disclaimer License. See LICENSE.txt
for more information.
(back to top)