OpenCRVS
v1.3
v1.3
  • 👋Introduction
  • Product Specifications
    • Functional Architecture
    • Workflow management
    • Status Flow Diagram
    • Users
      • Examples
    • Core functions
      • 1. Notify event
      • 2. Declare event
      • 3. Validate event
      • 4. Register event
      • 5. Print certificate
      • 5. Issue certificate
      • 6. Search for a record
      • 7. View record
      • 8. Correct record
      • 9. Verify record
      • 10. Archive record
      • 11. Vital statistics export
    • Support functions
      • 10. Login
      • 11. Audit
      • 12. Deduplication
      • 13. Performance management
      • 14. Payment
      • 15. Learning
      • 16. User support
    • Admin functions
      • 17. User management
      • 18. Comms management
      • 19. Content management
      • 20. Config management
    • Data functions
      • 21. Legacy data import
      • 22. Legacy paper import
  • Technology
    • Architecture
      • Performance tests
    • Standards
      • FHIR Documents
        • Event Composition
        • Person
        • Registration Task
        • Event Observations
        • Locations
    • Security
    • Interoperability
      • Create a client
      • Authenticate a client
      • Event Notification clients
      • Record Search clients
      • Webhook clients
      • National ID client
      • FHIR Location REST API
      • Other ways to interoperate
  • Default configuration
    • Intro to Farajaland
    • Civil registration in Farajaland
    • OpenCRVS configuration in Farajaland
      • User / role mapping
      • Application settings
      • Declaration forms
      • Certificate templates
    • Business process flows in Farajaland
  • Setup
    • 1. Establish team
    • 2. Gather requirements
    • 3. Installation
      • 3.1 Set-up a local development environment
        • 3.1.1 Install the required dependencies
        • 3.1.2 Install OpenCRVS locally
        • 3.1.3 Starting and stopping OpenCRVS
        • 3.1.4 Log in to OpenCRVS locally
        • 3.1.5 Tooling
      • 3.2 Set-up your own country configuration
        • 3.2.1 Fork your own country configuration repository
        • 3.2.2 Set up administrative address divisions
          • 3.2.2.1 Prepare source file for administrative structure
          • 3.2.2.2 Prepare source file for statistics
        • 3.2.3 Set up CR offices and Health facilities
          • 3.2.3.1 Prepare source file for CRVS Office facilities
          • 3.2.3.2 Prepare source file for health facilities
        • 3.2.4 Set up employees & roles for testing or production
          • 3.2.3.1 Prepare source file for employees
          • 3.2.3.2 Configure role titles
        • 3.2.5 Set up application settings
          • 3.2.5.1 Configuring Metabase Dashboards
        • 3.2.6 Configure certificate templates
        • 3.2.7 Configure declaration forms
          • 3.2.7.1 Configuring an event form
        • 3.2.8 Seeding your local development environment database
          • 3.2.8.1 Clearing your local development environment database
        • 3.2.9 Countryconfig APIs explained
          • 3.2.9.1 Managing language content
      • 3.3 Set-up a server-hosted environment
        • 3.3.1 Provision your server nodes with SSH access
        • 3.3.2 Provision environment
        • 3.3.3 Provision a comms gateway
        • 3.3.4 Set up an SMTP server for OpenCRVS monitoring alerts
        • 3.3.5 Setup DNS A records
        • 3.3.6 Deploy (Automated & Manual)
        • 3.3.7 Seeding & clearing data on a server
        • 3.3.8 Automated & manual backup and manual restore
    • 4. Functional configuration
      • 4.1 Configure application settings
      • 4.2 Configure registration periods and fees
      • 4.3 Create new user roles
      • 4.4 Managing system users
    • 5. Testing
    • 6. Go-live
    • 7. Monitoring
      • 7.1 Application logs
      • 7.2 Infrastructure health
      • 7.3 Routine monitoring checklist
      • 7.4 Setting up alerts
      • 7.5 Managing a Docker Swarm
  • General
    • Contributing
    • Releases
      • v1.3.5: Release notes
      • v1.3.4: Release notes
      • v1.3.2: Release notes
      • v1.3.1: Release notes
      • v1.3.* to v1.3.* Migration notes
      • v1.3.0: Release notes
      • v1.2.* to v1.3.* Migration notes
        • v1.2 to v1.3: Form migration
      • v1.2.1: Release notes
      • Patch: Elasticsearch 7.10.2
      • v1.2.0: Release notes
      • v1.1.* to v1.2.* Migration notes
      • v.1.1.2: Release notes
      • v.1.1.1: Release notes
      • v1.1.0: Release notes
    • Interoperability roadmap
    • Product roadmap
Powered by GitBook
On this page
  • Why is OpenCRVS needed?
  • Configuration
  • Product Commitments
  • Design Principles

Introduction

NextFunctional Architecture

Last updated 1 year ago

OpenCRVS is an open-source digital solution for civil registration, designed specifically for low-resource settings and available as a Digital Public Good.

This documentation can be used by governments, system integrators and development partners to design, configure, operate and maintain an OpenCRVS application that meets your country's needs.

  • to explore the OpenCRVS functionality, check out the and the

  • to understand how OpenCRVS works technically, go to

  • to setup you own OpenCRVS instance and get it quickly into the hands of users, then go to

  • to see what's coming next for OpenCRVS, see the

We recommend that you use this documentation in combination with the , an online resource that provides step-by-step guidance for countries to implement digitized systems and automated processes for CRVS.

Why is OpenCRVS needed?

Civil registration is the foundation of legal identity and rights-based service delivery. A Civil Registration and Vital Statistics (CRVS) system records the details of all major life events, such as births, deaths, marriage and divorce. It is an essential component of the "leave no one behind" agenda and without it working effectively, it is virtually impossible to ensure inclusive growth.

Unfortunately, in many countries CRVS systems are broken. 1 in 4 children under the age of 5 have not had their birth registered and hence do not officially exist. As a result, they struggle to access basic rights like education, healthcare and social protection. Two thirds of the world's deaths are not recorded, meaning that governments cannot design effective public health policies or measure their impact.

Through our extensive research of CRVS systems around the world (including Pakistan, Bangladesh, Indonesia, Malawi, Uganda and Ghana) we understand many of the specific challenges that are often experienced by civil registration staff and the families trying to register vital events:

  • The civil registration processes are bureaucratic and time-consuming, with requests for supporting documents that family members do not possess and unofficial payments.

  • Family members need to travel long distances to register vital events with several trips often required before the registration process is complete and a certificate is obtained.

  • Systems are not integrated so birth registration does not lead to automatic access to other rights e.g. vaccination programmes, enrolment in social protection schemes etc.

Configuration

OpenCRVS is engineered for adaptability, allowing for configuration to comply with diverse country-specific laws and regulations. The following section provides a brief overview of the configurable aspects in version 1.3. Detailed explanations of these features will be subsequently elaborated throughout this documentation.

Application config:

  • Application name

  • Application logo

  • Login background colour or image

  • Registration time periods

  • Registration fees

  • Phone number format

  • Currency

  • National ID format

  • Registration number format (developer)

Formsconfig:

  • Birth declaration form

  • Death declaration form

  • Marriage declaration form (developer)

Certificates config:

  • Birth certificate template

  • Death certificate template

  • Marriage certificate template

  • Allow printing certificate off in advance of issuance

Integrations config:

  • Health system integration

  • National ID integration

  • Record search

  • Custom webhook

Product Commitments

We continue to stand by our original product commitments for OpenCRVS and these help steer the strategic direction of the product.

  1. Fully open-source, with no license fees or ties to specific vendors

  2. Configurable for all country contexts

  3. Interoperable with other government systems

  4. Highly accessible to ensure inclusion, even in remote areas

  5. Safe and secure to keep personal data protected

  6. Easy to deploy and use in low resource settings

  7. Enabling new models of civil registration that can help achieve universal registration

Design Principles

We are passionate about designing a product that fulfils our mission - to make civil registration easy and valuable for everyone by making high-quality and cost-effective digital systems widely available and sustainable. Our design principles are here to provide a clear framework to all those working on OpenCRVS of how to make design decisions that will affect how the product works.

Start with users' needs

Listen to, engage with and observe users. Spend time to understand their needs, assume nothing, and work with your users to create designs.

Prioritise offline

Every product feature must work offline and in areas of low connectivity. Where connectivity is required to complete an action, tell the user what's happening and always consider the loading state.

Give guidance throughout

The user shouldn't have any questions about what to do - it should be intuitive. Make the product simple and offer clear guidance every step of the way.

Test, learn and iterate

The best way to develop new features is to get an early version into the hands of users, then listen -> learn -> iterate.

Enable rights

We want to empower and protect those who use and are served by OpenCRVS. Is what you are designing likely to exclude or discriminate anyone? How can this be avoided?

Be consistent

Every part of the product should look and feel part of the whole - always use of the component library.

Be hyper-accessible

Our users are from across the world with varying levels of digital literacy. Whatever we design must be intuitive, legible and as accessible as possible.

Words matter

Every word should be understood by users, with no room for ambiguity. When drafting text, avoid use of administrative language and test it with local users.

Design with data

Use data generated from the system to inform design improvements.

Consider other contexts

OpenCRVS is a global product. Consider the variability of what you are designing - will it work in other countries and contexts, and how will it be easily configured?

👋
Product Specifications
Default Configuration for Farajaland
Technology
Setup
Product Roadmap
CRVS Digitisation Guidebook