Skip to content

Microfrontends for the management of patients (registration, search, ...) for OpenMRS SPA

License

Notifications You must be signed in to change notification settings

donaldkibet/openmrs-esm-patient-management

 
 

Repository files navigation

👋 New to our project? Be sure to review the OpenMRS 3 Frontend Developer Documentation. You may find the Map of the Project especially helpful. 🧑‍🏫

Node.js CI

OpenMRS Patient Management

This repository contains frontend modules for the OpenMRS SPA. These modules relate to registering and editing patients, searching for existing patients, creating and managing patient lists, managing patient queues in an outpatient setting and creating, editing and managing patient appointments. The modules within this repository include:

Setup

Check out the developer documentation here.

This monorepo uses yarn and lerna.

To install the dependancies, run:

npx lerna bootstrap

To start a dev server running all the modules simultaneously, run:

yarn start

This command uses the openmrs tooling to fire up a dev server running esm-patient-chart as well as the specified module.

Note that this is very resource-intensive.

To start a dev server for a specific module, run:

yarn start --sources 'packages/esm-<insert-package-name>-app'

You could provide yarn start with as many sources arguments as you require. For example, to run the patient registration and patient search modules only, use:

yarn start --sources 'packages/esm-patient-search-app' --sources 'packages/esm-patient-registration-app'

Troubleshooting

If you notice that your local version of the application is not working or that there's a mismatch between what you see locally versus what's in the reference application, you likely have outdated versions of core libraries. To update core libraries, run the following commands:

# Upgrade core libraries
yarn up openmrs @openmrs/esm-framework

# Reset version specifiers to `next`. Don't commit actual version numbers.
git checkout package.json

# Run `yarn` to recreate the lockfile
yarn

Contributing

Please read our contributing guide.

Running tests

To run tests, use:

yarn test

Deployment

The main branch of this repo is deployed in a demo environment.

Configuration

This module is designed to be driven by configuration files.

Version and release

To increment the version, run the following command:

yarn release

You will need to pick the next version number. We use minor changes (e.g. 3.2.03.3.0) to indicate big new features and breaking changes, and patch changes (e.g. 3.2.03.2.1) otherwise.

Note that this command will not create a new tag, nor publish the packages. After running it, make a PR or merge to main with the resulting changeset.

Once the version bump is merged, go to GitHub and draft a new release. The tag should be prefixed with v (e.g., v3.2.1), while the release title should just be the version number (e.g., 3.2.1). The creation of the GitHub release will cause GitHub Actions to publish the packages, completing the release process.

Don't run npm publish, yarn publish, or lerna publish. Use the above process.

About

Microfrontends for the management of patients (registration, search, ...) for OpenMRS SPA

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 89.7%
  • SCSS 9.8%
  • Other 0.5%