OpenCRVS
v1.7
v1.7
  • 👋Welcome!
  • CRVS Systems
    • Understanding CRVS
    • Effective digital CRVS systems
    • OpenCRVS within a government systems architecture
    • OpenCRVS Value Proposition
  • Product Specifications
    • Functional Architecture
    • Workflow management
    • Status Flow Diagram
    • User roles & scopes
      • Examples
    • Core functions
      • 1. Notify event
      • 2. Declare event
      • 3. Validate event
      • 4. Register event
      • 5. Print certificate
      • 6. Issue certificate
      • 7. Search for a record
      • 8. View record
      • 9. Correct record
      • 10. Verify record
      • 11. Archive record
      • 12. Vital statistics export
    • Support functions
      • 13. Login
      • 14. Audit
      • 15. Deduplication
      • 16. Performance management
      • 17. Payment
      • 18. Learning
      • 19. User support
      • 20. User onboarding
    • Admin functions
      • 21. User management
      • 22. Comms management
      • 23. Content management
      • 24. Config management
    • Data functions
      • 25. Legacy data import
      • 26. 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
      • Application settings
      • User roles
      • Declaration forms
      • Certified Copies templates
    • Business process flows in Farajaland
  • Setup
    • 1. Planning an OpenCRVS Implementation
    • 2. Establish project and team
    • 3. Gather requirements
      • 3.1 Mapping business processes
      • 3.2 Mapping offices and user types
      • 3.3 Define your application settings
      • 3.4 Designing event declaration forms
      • 3.5 Designing a certified copy
    • 4. Installation
      • 4.1 Quick start: Set-up a local development environment
        • 4.1.1 Install the required dependencies
        • 4.1.2 Install OpenCRVS locally
        • 4.1.3 Starting and stopping OpenCRVS
        • 4.1.4 Log in to OpenCRVS locally
        • 4.1.5 Tooling
          • 4.1.5.1 WSL Support
      • 4.2 Configure: Set-up your own, local, country configuration
        • 4.2.1 Fork your own country configuration repository
        • 4.2.2 Set up administrative address divisions
          • 4.2.2.1 Prepare source file for administrative structure
          • 4.2.2.2 Prepare source file for statistics
        • 4.2.3 Set up CR offices and Health facilities
          • 4.2.3.1 Prepare source file for CRVS Office facilities
          • 4.2.3.2 Prepare source file for health facilities
        • 4.2.4 Set up employee users, and scopes, for testing or production
          • 4.2.3.1 Prepare source file for employees
          • 4.2.3.2 Configure roles and scopes
        • 4.2.5 Set up application settings
          • 4.2.5.1 Managing language content
            • 4.2.5.1.1 Informant and staff notifications
          • 4.2.5.2 Configuring Metabase Dashboards
        • 4.2.6 Configure certificate templates
        • 4.2.7 Configure declaration forms
          • 4.2.7.1 Configuring an event form
        • 4.2.8 Seeding & clearing your local databases
        • 4.2.9 Countryconfig API endpoints explained
      • 4.3 Deploy: Set-up a server-hosted environment
        • 4.3.1 Verify servers & create a "provision" user
        • 4.3.2 TLS / SSL & DNS
          • 4.3.2.1 LetsEncrypt https challenge in development environments
          • 4.3.2.2 LetsEncrypt DNS challenge in production
          • 4.3.2.3 Static TLS certificates
        • 4.3.3 Configure inventory files
        • 4.3.4 Create a Github environment
          • 4.3.4.1 Environment secrets and variables explained
          • 4.3.4.2 VPN Recipes
        • 4.3.5 Provisioning servers
          • 4.3.5.1 SSH access
          • 4.3.5.2 Building, pushing & releasing your countryconfig code
          • 4.3.5.3 Ansible tasks when provisioning
        • 4.3.6 Deploy
          • 4.3.6.1 Running a deployment
          • 4.3.6.2 Seeding a server environment
          • 4.3.6.3 Login to an OpenCRVS server
          • 4.3.6.5 Resetting a server environment
        • 4.3.7 Backup & Restore
          • 4.3.7.1 Restoring a backup
          • 4.3.7.2 Off-boarding from OpenCRVS
    • 5. Quality assurance testing
    • 6. Go-live
      • 6.1 Pre-Deployment Checklist
    • 7. Operational Support
    • 8. Monitoring
      • 8.1 Application logs
      • 8.2 Infrastructure health
      • 8.3 Routine monitoring checklist
      • 8.4 Setting up alerts
      • 8.5 Managing a Docker Swarm
  • General
    • Community
    • Contributing
    • Migration notes
    • Releases and upgrades
    • Release notes
    • Product roadmap
Powered by GitBook
On this page
  • System Architectures
  • OpenCRVS and Digital Public Infrastructure
  1. CRVS Systems

OpenCRVS within a government systems architecture

How to think about the use of OpenCRVS as an interoperable system within a government's digital landscape

PreviousEffective digital CRVS systemsNextOpenCRVS Value Proposition

Last updated 1 month ago

System Architectures

OpenCRVS has been designed to be interoperable with other systems so that it can receive and share data in an efficient and secure way. You can find more detailed technical information in the section on . It is important to consider how OpenCRVS will fit within the current digital landscape so that the benefits from interoperability can be fully realised.

In the diagram below you can see a generic view of potential integration points for OpenCRVS with other systems.

Interoperability within the eGov ecosystem

OpenCRVS and Digital Public Infrastructure

At OpenCRVS, we are reimagining the way that civil registration systems work. We see the registration of life events as a foundational component of DPI, contributing to inclusive and equitable service delivery in both the public and private sectors. The Civil Registry acts as a building block of DPI as it provides a country’s single source of legal and trusted life events data. This trusted data underpins the ability of other systems to function effectively, enabling both individual rights and national development.

The DPI landscape distinguishes between two types of infrastructure:

  • Foundational DPI includes identity, data exchange, and payments systems. These provide common digital rails across all sectors of society, enabling digital inclusion, accountability, and interoperability.

  • Sectoral DPI refers to digital systems tailored to meet the needs of specific sectors, such as health, education, or—crucially—civil registration. These systems rely on foundational DPI to work at scale, while also generating data and services specific to their domain.

The civil registration system plays a crucial role in enabling foundational DPI by:

  • Providing Foundational Identity: Civil registration forms the basis for creating unique digital identities for life. Birth registration, for example, typically triggers the creation of a unique identifier within the national ID system, supplying essential biographical data such as name, sex, and date of birth.

  • Creating Digitally Signed Credentials: Registration processes can produce verifiable credentials, allowing individuals to prove their identity or life events to public and private institutions without relying on physical certificates.

  • Enabling Access to Government Services: As the legal and trusted source of life events data, civil registration represents a universal data set for delivering essential public services. It helps answer questions such as:

    • Which families are entitled to a welfare grant? (social protection)

    • Who should be coming to school this year? (education)

    • Which children need to be vaccinated? (healthcare)

  • Generating Population Statistics and Enabling Planning: The system provides a continuous source of accurate and disaggregated demographic data, essential for policymaking, resource allocation, and future planning.

OpenCRVS has the potential to become a true DPI. Realising this potential means adhering to key architectural principles to unlock societal value:

  • Interoperability: Open standards and specifications are essential to enable secure, efficient data sharing across systems, avoiding fragmentation and silos.

  • Security and Privacy by Design: Consent management protocols must ensure that personal data is shared safely and only with permission. In a digital context, this enables individuals to control access to their personal data.

  • Modularity: Maintaining loosely coupled components ensures flexibility and scalability. OpenCRVS can be deployed as a comprehensive civil registration system or as standalone modules (e.g. data validation, certificate generation) integrated into existing ecosystems through open APIs.

As countries strengthen their DPI foundations, a well-architected civil registration system is not only sectorally significant—it becomes foundational in itself, enabling rights, services, and participation for every person, from the moment of birth.

Further examples of potential integration points are available , including interoperability with other DPGs like MOSIP and OpenSPP.

Similar to the way that physical infrastructure like railways and roads drives economic development and innovation, Digital Public Infrastructure (DPI) provides the open technology standards and systems required to catalyse and enable countries to safely and efficiently deliver economic opportunities and social services in the digital world. We recommend the for further guidance, definitions, and practical resources on this important topic.

here
Centre for DPI website
interoperability
OpenCRVS and DPI