Skip to content

OpenCRVS - v1.2.0

Choose a tag to compare

@euanmillar euanmillar released this 23 Jan 17:40
· 7814 commits to develop since this release

OpenCRVS v1.2.0 is a stable release of OpenCRVS.

Read the release notes!
Draft: v1.1.0 to v1.2.* migration notes

OpenCRVS v1.2.0 is to be used in conjunction with a forked country configuration release v1.2.0

Upgrading from v1.1.0 to v1.2.0 requires the upgrade Migration Notes to be followed precisely.

This release will be maintained for 6 months by the core development team.

The v1.2.0 release includes major architectural upgrades and exciting new features!

__

Major Features

The following explains in more detail each major feature that has been included in this release.

Vital Statistics Export

Composing the "VS" in OpenCRVS, Vital statistics constitute the collection of statistics on vital events pertaining to the population, including relevant characteristics of the events themselves and also of the persons concerned. They are critical for a wide range of government operations, e.g. population register, national identification system, and other administrative registers, and for commercial enterprises (e.g. life insurance and marketing of products).

Our VS Export feature outputs a sharable, yearly report of registration data without Personally Identifiable Information (PII) for consumption by statisticians in programs such as RStudio (Posit).

User Audit

In OpenCRVS v1.0, we introduced Record Audit, displaying the history of every action that has taken place on a registration. In this release, we expand OpenCRVS' audit capability to allow a system administrator to view every action performed by a single staff member in an easy-to-consume display.

Outbox

Processing the submission of applications off-line or in poor connectivity has been visually redesigned into a new browsable Outbox feature. This makes it super easy to tell which applications have not yet synced nationally.

Advanced Search

Utilising the full power of our ElasticSearch engine, registrars can now perform advanced searches; for example, registrars can search all registrations made in a configurable range of districts or states, between date ranges for a given name or gender and much more! View any record, at any time, without needing to perform an action then bookmark your searches. This feature is fully audited and additionally exposed in an API integration!

Configurable Administrative Levels

With OpenCRVS, governments can create administrative offices virtually anywhere, from a deeply nested rural parish or county or in an urban city ward. No matter how many administrative divisions are relevant for your country, you can now import as many as you like using Humdata standards, and the OpenCRVS address structure will automatically compensate.

Integrations

It is now possible for a system administrator to configure OpenCRVS API integrations for external systems, and refresh credentials, within the OpenCRVS user interface. There is no longer any need to set up system clients using Docker commands. It is easy to set up API access to Advanced Search, FHIR standard Health notifications, Webhooks or National ID systems, including MOSIP. We have worked hard with the MOSIP team to ensure that birth and death events seamlessly orchestrate with MOSIP’s National ID generation and expiration functionality. We have included Postman collections in the country configuration repository and will be updating our documentation thoroughly between now and the stable release.

Introducing Minio in OpenCRVS: An AWS S3 compatible OpenSource and locally hosted Object Store

To make best use of server resources and keep OpenCRVS hosting costs down, application attachments are now saved in Minio, a dedicated object storage system with its own admin interface. Minio provisions automatically for you on your locally hosted OpenCRVS infrastructure. Application attachments now have their own unique URL so they can be cached, and can be externally managed away from the rest of the OpenCRVS document data. Minio is compatible with Amazon S3 giving you the flexibility to adapt and use cloud object storage if you wish.

FHIR Location API

The country configuration package has been heavily refactored to remove unnecessary endpoints such as Locations, because you can now use our FHIR API to do this! You can add/amend/archive administrative hierarchy, offices and facilities using a Gateway endpoint. Check out Swagger documentation on the Gateway.

Form configuration improvements

You can now configure a select field in form config by uploading a CSV file, or by selecting existing datasets like states, districts, facilities etc. You can also create a field which conditionally hides or shows based on the value of another field. Any field can be reordered and all field values can be printed on the certificate if you wish.

Supplied migration scripts to resolve breaking changes in core

  • An automatic migration allows the system administrator to create a custom select based on imported Health Facilities in Form Configuration
  • An automatic migration migrates any existing system clients created before v1.2.* to still function after the major changes to the Interoperability UI.
  • An automatic migration correctly marks which user started an application which was later rejected to address a bug in our Performance section.
  • An automatic migration moves all supporting document attachments from being stored as base64 in Mongo DB to our new Minio Object Storage system, available to login at https://minio-console.
  • An automatic migration prepares legacy data to appear in our new "Registration Rates" feature in our Performance section.
  • An automatic migration fixes a bug where supporting document attachments went missing in the UI if a record was corrected. This restores any affected documents.
  • An automatic migration configures OpenHIM to delete any Channel log older than 30 days to save diskspace.

Breaking changes - core

  • Ansible playbooks have been updated to support VS Export and the nw Object Store - Mino
  • Dockker Compose files have been updated to support the new version of Traefik

Breaking changes - country configuration

The country confguration repository opencrvs-farajaland has been entirely refactored. Please contact us at [email protected] if you need any help rebasing changes in this repository.

  • We removed unnecessary endpoints now that the FHIR Locations REST API is accessible in Core.
  • Now that administrative structure is managed using Humdata standards, the csv import scripts and file
    Structure has changed. Previous database backups will still work with OpenCRVS.
  • We have removed some legacy endpoints and changed the directory structure to make the repository easier to understand.
  • We have entirely changed the configuration import process to add functionality relevant to Humdata standardisation
  • We have added scripts to validate all CSV files to make it much easer to configure OpenCRVS
  • Our Farajaland backup users have had their usernames changed like this "kennedy.mweene" is now "k.mweene" etc. This is because when any user is edited in the UI, their username changes to this pattern. Our test users were set up incorrectly before.
  • All database population and backup scripts now take named parameters.
  • Many content keys have been created for translation requirements for the new features. These are documented in the release notes for the country configuration repository.

Major dependency upgrades

  • Traffic has been upgraded to v2.8.
  • Create React App has been replaced with Vite meaning much faster builds and smaller docker images!

What's Changed

New Contributors

Full Changelog: v1.1.2...v1.2.0