Releases: opencrvs/opencrvs-core
OpenCRVS - v1.0.0
Introduction
OpenCRVS v1.0.0 is a major release of OpenCRVS Core. It is to be used in conjunction with a forked country configuration release v1.0.0
This release contains major new features and improvements, a number of dependency upgrades and many bug-fixes. This release includes:
- Correct a record
- Record audit
- Registration form configuration user interface
- Application configuration user interface
- Certificate configuration user interface
- Birth and death form default configuration refresh
- Performance improvements
- New user roles (National Registrar, National System Administrator, Performance Manager)
- UI design refresh of the navigation, workqueues and many pages
- Archive / Reinstate
- 3rd party penetration test fixes
- Dependency upgrades
- Miscellaneous bugfixes and refactor
All following major releases of OpenCRVS will document any breaking changes and a migration guide for system administrators.
Major Features
The following explains in more detail each major feature that has been included in this release.
Correct a record
It is now possible for all corrections made to an onging declaration by a Registration Agent and Registrar to be tracked and audited. Additionally, it is now possible for a Registrar to be able to make a correction to an already registered birth or death certificate. The correct record process supports uploading supporting legal documentation and configuration of any fees associated.
Record audit
All actions that are performed on a declaration or a registration are tracked, audited and displayed to the user when downloading details of the declaration or registration. This download process is also tracked and audited. This feature allows the user to easily monitor changes to the status of the declaration, any corrections that have been made to it and audit any access requested to personally identifiable information of a citizen by any civil registration staff member.
Registration form configuration user interface
Previously, birth and death form configuration was managed via a complicated JSON file in the country configuration repository. There is now an easy to use, form configuration user interface for National System Administrators to draft, edit, preview, test and publish the declaration forms. The old JSON approach has been deprecated.
Application configuration user interface
Previously, application settings such as fees, registration target deadlines, country logo and phone number validation regular expressions etc were managed manually via text config files in the country configuration repository. There is now an easy to use, application configuration user interface for National System Administrators to configure these values on-the-fly. The old config file approach has been deprecated.
Certificate configuration user interface
Previously, certificate configuration was managed via a complicated JSON file in the country configuration repository. There is now an easy to use, certificate configuration user interface for National System Administrators that allows them to upload an SVG design with handlebars for registration data. The certificates can be previewed and printed in this interface. The old JSON approach has been deprecated.
Birth and death form default configuration refresh
The default and standardised, OpenCRVS recommended birth and death form configuration comes pre-packaged into OpenCRVS. The question flow has been further optimised after feedback from our OpenSource community of civil registrars.
Performance improvements
The Performance user interface has been completed refreshed. It now includes detailed analytics on completeness rates, sources of applications, declaration status, field agent performance, breakdown of nationwide to specific office analytics and comparison between number of registrars and population numbers.
New user roles (National Registrar, National System Administrator, Performance Manager)
The National Registrar role has been created. This is a registrar's super admin and can view any declaration or registration nationwide and monitor the performance of any office. The National System Administrator role has the ability to configure the form, certificate and application settings as well as create/edit/deactive any user nationwide. The Performance Manager role has no access to any PII in any declaration or registration. They can access nationwide performance analytics only. This is an ideal 3rd party role for a statistician.
UI design refresh of the navigation, workqueues and many pages
System administrators who have tried out previous versions of OpenCRVS will notice a complete design refresh of the navigation, workqueues and many sections. The new look and feel is cleaner, easier to configure for your national needs and makes better use of screen real estate.
Archive / Reinstate
As long as the declaration has been submitted for review, it is now possible to archive an existing declaration, thus removing it from any workqueue. As every submitted declaration has a unique tracking ID, it can be retrieved in nationwide searches by a Registrar user and reinstated.
3rd party penetration test fixes
This version of OpenCRVS has undergone another round of 3rd party, security penetration testing by the consultancy GoFore - NORAD's preferred security testing provider. Any issue that was discovered during the penetration test have been resolved.
Dependency upgrades
In this release we have forked and upgraded Hearth, Jembi's FHIR database server originally located here. We resolved all dependencies that had any open security warning.
Miscellaneous bugfixes and refactor
A host of bugfixes were discovered and prioritsed by our QA team. Our test cases will soon be published in our documentation to be released at the end of June 2022. The development team have been bugfixing continuously and this release can be considered demo ready. We advise all system administrators to wait untill the end of June 2022 for the first minor patch release: v1.0.1 before proceeding with any implementations.
What's Changed
- Update README for 1.0.0-alpha.3.0 release by @euanmillar in #2075
- Change language code used for extract translations by @euanmillar in #2080
- Bump dns-packet from 1.3.1 to 1.3.4 by @dependabot in #2096
- Bump codemirror from 5.47.0 to 5.61.0 by @dependabot in #2095
- Bump hosted-git-info from 2.7.1 to 2.8.9 by @dependabot in #2094
- Bump lodash from 4.17.19 to 4.17.21 by @dependabot in #2093
- Bump bson from 1.1.1 to 1.1.6 by @dependabot in #2092
- Bump url-parse from 1.4.7 to 1.5.1 by @dependabot in #2091
- Bump handlebars from 4.7.6 to 4.7.7 by @dependabot in #2090
- Bump ua-parser-js from 0.7.20 to 0.7.28 by @dependabot in #2089
- Bump redis from 2.8.0 to 3.1.1 by @dependabot in #2088
- Bump y18n from 3.2.1 to 3.2.2 by @dependabot in #2087
- Bump react-dev-utils from 5.0.3 to 11.0.4 by @dependabot in #2085
- Bump elliptic from 6.5.3 to 6.5.4 by @dependabot in #2084
- Bump urijs from 1.19.1 to 1.19.6 by @dependabot in #2083
- Bump socket.io from 2.2.0 to 2.4.1 by @dependabot in #2081
- Bump axios from 0.18.1 to 0.21.1 by @dependabot in #2079
- Bump ini from 1.3.5 to 1.3.8 by @dependabot in #2074
- Ocrvs 2073 UI and copy updates by @tahmidrahman-dsi in #2077
- Ocrvs 1993 Rejection reason changes by @tahmidrahman-dsi in #2076
- Updating temporary phone number format for Island of Niue by @mushrafulhoque-dsi in #2110
- minor spelling mistakes fixed by @youshamahmood96 in #2124
- [ocrvs-2111] Introducing a new flag on client-config for hiding event info screen by @mushrafulhoque-dsi in #2125
- ocrvs-2107 by @kayumuzzaman in #2133
- Necessary fhir-builders and type-resolvers for deceased's dependents and medical practitioners by @mushrafulhoque-dsi in #2135
- Fix for birth in-progress application issue by @mushrafulhoque-dsi in #2140
- Ocrvs 2127 by @youshamahmood96 in #2132
- ocrvs-2152 by @kayumuzzaman in #2162
- Ocrvs 2150 by @youshamahmood96 in #2164
- Ocrvs 2151 by @mushrafulhoque-dsi in #2...
OpenCRVS - Alpha 3.2
This release contains a hotfix to the bash setup.sh
command that was affecting Mac users ...
The Mac command for exporting the local IP address was not robust, and OpenHIM required this address in order to start.
The issue was related to if users had both an IP address on a WiFi connection and another IP address on a wired Ethernet connection.
This hotfix resolves this issue and secondly, we used the opportunity to make some documentation corrections.
We added clearer documentation around the OpenCRVS Core yarn dev
command, explaining that OpenCRVS Core is a collection of Node microservices running in parallel, which must be fully started up, before a developer attempts to start the separate country configuration microservice.
OpenCRVS - Alpha 3.1
Introduction
OpenCRVS Alpha 3.1 is a minor Alpha release for OpenCRVS.
This release contains a number of dependency upgrades, bug-fixes, some major new features and many minor improvements. This release includes:
- An automated, local demo and development environment installation script
- The default Zambia country configuration package has been replaced by a fictional country: Farajaland
- Documentation improvements in advance of the public Beta v1.0 planned for mid 2022
- Ability to add / edit a user's profile image
- Ability for a user to change language in the login application
- Ability to search all health facilities offline
- Ability to search performance statistics for a single office as opposed to a jurisdiction such as a district.
- A new styleguide component library
- Miscellaneous bugfixes
- UI design improvements
- Dependency upgrades
The next major OpenCRVS release will be an official Beta planned for mid-2022. The Beta may be deemed a full OpenCRVS 1.0, after which point we will begin documenting breaking changes in all future releases.
Major Features
The following explains in more detail each major feature that has been included in this release.
An automated, local demo and development environment installation script
Previously, setting up a local, demo development environment of OpenCRVS was hard. It involved a number for commands to be run in sequence and without ports and dependencies being installed correctly, OpenCRVS would fail to start without informing the system administrator of the source of the problem.
This has been improved with a single command bash ./setup.sh
. Running this command checks that all the dependencies have been in stalled correctly, checks that ports are available, builds all docker images, checks out the Farajaland default country configuration, starts OpenCRVS and populates the OpenCRVS databases with default country configuration.
With this single command OpenCRVS can be easily demo-ed and developed upon by new system administrators.
The default Zambia country configuration package has been replaced by a fictional country: Farajaland
Previously, the country configuration for an OpenCRVS 2019 pilot in Zambia was released as an example country configuration for OpenCRVS. IN order to become more generic in future releases and demo easier configuration tools planned for 2022, we have renamed and performed some upgrades. The default country configuration is now a fictional African country. "Farajaland". "Faraja" means "Blessings" in Swahili.
Documentation improvements in advance of the public Beta v1.0 planned for mid 2022
To accompany the past 2 points, the documentation in OpenCRVS Core and OpenCRVS Farajaland repositories has been updated and tested. Expect this documentation to become drastically simplified with regards to country configuration in the next release.
Ability to add / edit a user's profile image
It is now possible in the settings page, for a user to upload an avatar image. This image is used to make it easier for staff to quickly understand their team's actions. It also gives the user the added ability to personalise their OpenCRVS experience.
Ability for a user to change language in the login application
Previously, changing the default language of OpenCRVS was only possible in the main Client application. The default language for the Login application was configured in an environment variable and could not be changed by the user. Now, provided the country configuration contains more than one available language, it is possible for the user to use a select in the Login app to change their desired language independently.
Ability to search all health facilities offline
Previously, due to some technical debt, users could only search for health facilities offline from a list containing health facilities in their own jurisdiction. This proved restrictive as it stopped birth and death declarations from being submitted in an offline state, if the birth or death happened outside the jurisdiction. Now, the country's entire health facility list is available for searching offline.
Ability to search performance statistics for a single office as opposed to a jurisdiction such as a district
Previously, searching performance reports and statistics was restricted to jurisdictional searches down to district level. This is because some operational statistics are calculated using the populations, gender split and crude birth/death rates for a jurisdiction. These calculations now will not appear if searching for performance report on an office, meaning that operational reports can be accessed at the office level. It may be possible that in some countries a single jurisdiction can contain multiple civil registration offices.
A new styleguide component library
We have launched a new component library website using Storybook. Storybook is an open source tool for building UI components and pages in isolation. It streamlines UI development, testing, and documentation.
Miscellaneous bugfixes
Many bugs and performance issues have been resolved. Please refer to the Zenhub release report link at the bottom of this report to see specifics.
UI design improvements
Many minor UI design improvements have been made. Please refer to the Zenhub release report link at the bottom of this report to see specifics.
Dependency upgrades
- HapiJS has been upgraded
- Create React App, Jest and Typescript has been upgraded
- Dependency security vulnerabilities in many node_modules have been resolved
What's Changed
- Update README for 1.0.0-alpha.3.0 release by @euanmillar in #2075
- Change language code used for extract translations by @euanmillar in #2080
- Bump dns-packet from 1.3.1 to 1.3.4 by @dependabot in #2096
- Bump codemirror from 5.47.0 to 5.61.0 by @dependabot in #2095
- Bump hosted-git-info from 2.7.1 to 2.8.9 by @dependabot in #2094
- Bump lodash from 4.17.19 to 4.17.21 by @dependabot in #2093
- Bump bson from 1.1.1 to 1.1.6 by @dependabot in #2092
- Bump url-parse from 1.4.7 to 1.5.1 by @dependabot in #2091
- Bump handlebars from 4.7.6 to 4.7.7 by @dependabot in #2090
- Bump ua-parser-js from 0.7.20 to 0.7.28 by @dependabot in #2089
- Bump redis from 2.8.0 to 3.1.1 by @dependabot in #2088
- Bump y18n from 3.2.1 to 3.2.2 by @dependabot in #2087
- Bump react-dev-utils from 5.0.3 to 11.0.4 by @dependabot in #2085
- Bump elliptic from 6.5.3 to 6.5.4 by @dependabot in #2084
- Bump urijs from 1.19.1 to 1.19.6 by @dependabot in #2083
- Bump socket.io from 2.2.0 to 2.4.1 by @dependabot in #2081
- Bump axios from 0.18.1 to 0.21.1 by @dependabot in #2079
- Bump ini from 1.3.5 to 1.3.8 by @dependabot in #2074
- Ocrvs 2073 UI and copy updates by @tahmidrahman-dsi in #2077
- Ocrvs 1993 Rejection reason changes by @tahmidrahman-dsi in #2076
- Updating temporary phone number format for Island of Niue by @mushrafulhoque-dsi in #2110
- minor spelling mistakes fixed by @youshamahmood96 in #2124
- [ocrvs-2111] Introducing a new flag on client-config for hiding event info screen by @mushrafulhoque-dsi in #2125
- ocrvs-2107 by @kayumuzzaman in #2133
- Necessary fhir-builders and type-resolvers for deceased's dependents and medical practitioners by @mushrafulhoque-dsi in #2135
- Fix for birth in-progress application issue by @mushrafulhoque-dsi in #2140
- Ocrvs 2127 by @youshamahmood96 in #2132
- ocrvs-2152 by @kayumuzzaman in #2162
- Ocrvs 2150 by @youshamahmood96 in #2164
- Ocrvs 2151 by @mushrafulhoque-dsi in #2166
- Updated document section schema for death events by @mushrafulhoque-dsi in #2158
- [ocrvs-2154] Fix for deceased's informant relationship issue by @mushrafulhoque-dsi in #2167
- ocrvs-2159 by @kayumuzzaman in #2168
- [ocrvs-2145] Fix for empty nested field query mapper issue by @mushrafulhoque-dsi in #2176
- whitespace trimmed for username input by @youshamahmood96 in #2184
- [ocrvs-2142] range and decimal point validation for Dependents by @kayumuzzaman in https://github.com/opencrvs/opencrvs-c...
OpenCRVS - Alpha 3.0
Introduction
OpenCRVS Alpha 3.0 is the final, major Alpha release for OpenCRVS.
This release contains a number of significant and useful new features such as:
- Legacy civil registration system configuration and validation
- FHIR standardised Webhooks for notifying external systems of births and deaths - with an example use-case integration with MOSIP - the Modular Open Source Identity Platform
- Performance and operational dashboards and analytics tools
- User administration features
- Integrations with content management systems, such as Contentful.
OpenCRVS Alpha 3.0 also contains a host of bug fixes and UI improvements consolidated from 12 months of live user testing in urban and rural areas in Bangladesh in 2020.. Despite the impact of Covid 19, Plan International have worked extremely hard to successfully pilot OpenCRVS.
The next OpenCRVS release will be an official Beta planned for mid-2021. The Beta may be deemed a full OpenCRVS 1.0, after which point we will begin documenting breaking changes in all future releases.
Major Features
The following features are new in this release and provide a wealth of useful functionality.
Legacy civil registration system configuration and validation
This release contains a configurable "Waiting for external validation" work queue. If OpenCRVS is installed alongside a legacy or 3rd part CRVS system, then it is common that data must be backed up to that system via an API. Depending on the capabilities of the system this may be immediate or batch process. This feature is a work queue and application status that can visualise this step to a registrar. The application is not deemed to be officially registered until it has been "externally validated." It can be optionally enabled using a config variable.
If this config variable is set, OpenHIM will send all new registrations to a batch process queue to be submitted to the legacy system in a configurable format before it is officially registered. Once that legacy system validates successful storage of the registration, the item moves from the "Waiting for external validation" work queue to the CERTIFIED status, a Birth Registration Number is generated (by ether OpenCRVS or the legacy system), and then the registration appears in the "Ready to print" work queue. The birth is registered and a certificate can be printed at any time.
Webhooks and MOSIP integration
This release now contains a new Webhooks microservice. Any registered external system can subscribe and listen to an OpenCRVS event via a Webhook using the W3C WebSub pattern. When a birth or death is registered the webhook contains a payload containing the FHIR Composition ID of the registration, using which you can retrieve all person and event data associated with an event.
To subscribe to a Webhook, register your system with OpenCRVS following these steps.
We have integrated OpenCRVS to MOSIP - the Modular Open Source Identity Platform and configure the birth registration payload to also include all the data required in order to generate a National ID in the FHIR standard.
Follow the detailed documentation to integrate with OpenCRVS Webhooks.
You can see example code for this integration here
New dashboards and performance analytics tools
This release includes new Operational, Audit and Performance Management Reports with various ways to search and filter nationwide analytics. System Administrators can now access and visualise reports to track the success of the national registration programme against estimates. View the time taken to complete applications by individual staff members, and understand trends in any missing data in in-progress applications.
System administrators can understand which registration questions are difficult for Field Agents to get data for from recipients and therefore understand which questions may be holding back registration rates.
Using these tools, administrators can understand where applications are started, view registration rates by status over time and by location.
User administration features
System administrators can audit many user interactions and manage a user's status and access. It is possible to deactivate a user, tracking a reason and blocking all access to the user, then reactivate a user after an all clear. This functionality helps OpenCRVS conform to ISO27001 security standards.
All user details can be updated by a system administrator and It is now possible to recover a lost PIN.
Integrations with content management systems
In this release you can configure an external content management system such as Contentful. We have provided some handy tools to help you import your languages, preview, publish and easily manage all application text and SMS messages in multi-language.
OpenCRVS - Alpha 2.0
This release tag marks the beginning of live Alpha testing of OpenCRVS in the Bangladesh Upazilas of Narsingdi Sadar and Bhurungamari.
Launched to the public on 15th Jan 2020
- DHIS2 Integration
- Performance reports upgrade
- Print certificate for collection
- Export registrations and performance data to csv
- Session refresh
- Reject & De-duplication design refresh
- Queue & case tracking task history available offline
- Performance location search
- Bangladesh live reference data
OpenCRVS - Alpha 1.2
- Birth & Death Certificates aligned to Bangladesh regulations
- National ID Integration
- Legal guardian and someone else registration for birth and death
- Download and review
OpenCRVS - Alpha 1.1
OpenCRVS - Alpha 1.0
This release contains:
OpenCRVS - Alpha 0.6
This release contains:
- New search tool and search results. You can search by Tracking ID, Contact number or BRN / DRN exact match
- New desktop and mobile menu
- Font and color updates
- Bugfixes
OpenCRVS - Alpha 0.5
This release includes mostly back-end updates, with some UI bug fixes on the login process.
-
Search service updated
-
Metrics service updated
-
Design amends and bug fixes in login / UI