eSaude EMR POC Release Process
It’s important that all work done on the platform follows the eSaude development process. Once this work is done and the community is ready to perform a POC release, the steps outlined in this document should be followed.

Overview

The eSaude EMR POC is released as an eSaude App. An eSaude App is just a set of one or more Docker images. When containers are created from the images at runtime, they are linked together using Docker Compose. The eSaude EMR POC app depends on the eSaude EMR Platform app, which it uses as a backend.

eSaude Apps are hosted in Docker Registries in the eSaude organisation on Bintray. The images are built using TravisCI (our continuous integration server) and are automatically uploaded to Bintray when a new tag is created in the GitHub repository.

The eSaude EMR POC App consists of only one Docker image - the poc image. A new version of the image is published by TravisCI when a new tag is created in GitHub. The image consists of the Apache web server, statically serving the eSaude EMR POC assets (JavaScript, images, etc).

To make changes to version of the POC published in the image, make changes to the Dockerfile. To makes configuration changes, edit the relevant assets in the GitHub repository.

Code Changes

Code changes are done in sprints using the normal eSaude development process. Code should be pushed to the esaude-emr-poc repo.

The eSaude App (Docker image) is built using a published version (configured in the Dockerfile) of the code in the GitHub repository, so to pubish a new version of the app, you must first publish a new version of the eSaude EMR POC application. This is done by creating and pushing a new tag to the esaude-emr-poc repo.

First, bump the version:

npm run create-version <OPTION>

where <OPTION> can be major, minor, patch or a specific semver version (like 1.2.3). This command basically just changes the version in the package.json file (see docs).

Then publish the version:

npm run publish-version

Data & Metadata Changes

If data or metadata changes are needed for a POC release, follow the +eSaude EMR Platform Metadata Release Process.

Release Publishing

Once all code has been completed (and a new version published), and any data or metadata changes have been published as a new eSaude EMR Plaform release, we are ready to publish a new version of the eSaude EMR POC app. This is done as follows:

1. Bump Version

Use the npm script to create a new version:

npm run create-version <OPTION>

where <OPTION> can be major, minor, patch or a specific semver version (like 1.2.3). This command basically just changes the version in the package.json file. The options will have the following effect:

  • major will increase the first number in the version and set the others to zero
  • minor will increase the second number and set the last one to zero
  • patch will increase the last number

If you specify a specific version, the version in package.json will be set to that version.

2. Create & Push Tag

The command to create and push the tag is:

npm run publish-version

This will create a tag in repo with the same (new) version as specified in package.json. It will also push the tag to GitHub.