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
  1. Setup
  2. 3. Installation
  3. 3.3 Set-up a server-hosted environment

3.3.3 Provision a comms gateway

Previous3.3.2 Provision environmentNext3.3.4 Set up an SMTP server for OpenCRVS monitoring alerts

Last updated 1 year ago

In production, OpenCRVS sends automated messages at important times to staff and beneficiaries. In development and qa environments, messages are not delivered. You can edit the languages and content of all messages .

You can choose any method of communications from Email, SMS, WhatsApp etc. Examples are provided for Email and & SMS (In Farajaland, we have supplied example SMS code integrating with and example Email code integrating with .

The following messages are sent to staff members and beneficiaries by default and the staff messages are essential. A National System Administrator user can configure on/off whether or not the beneficiary messages are sent in the following user interface ...

Message
on/off configuration option
Description
Recipient

authenticationCodeNotification

No

Received by a staff member when logging in. Used to send the 2FA code for authentication during login REQUIRED IN PRODUCTION FOR SECURITY REASONS!! In development and qa environments, the 2FA code is always six zeros: 000000

Your OpenCRVS authentication code is: {{authCode}}

OpenCRVS Staff

<event>InProgressNotification

Yes

Received by a beneficiary when a hospital submits an automated "notification", or a Field Agent submits an in-complete "declaration"

<event> registration tracking ID is {{trackingId}}. You must visit {{crvsOffice}} to complete the declaration

Citizen (Informant) using their mobile number.

<event>DeclarationNotification

Yes

Received by a beneficiary when a Field Agent or Registration agent submits a complete "declaration" for review by a Registrar.

<event> registration tracking ID for {{name}} is {{trackingId}}. You will get an SMS within 2 days with progress and next steps.

Citizen (Informant) using their mobile number.

<event>RegistrationNotification

Yes

Received by a beneficiary when the event is officially "registered" by a Registrar

Congratulations, the <event> of {{name}} has been registered. Visit your local registration office in 5 days with your ID to collect the certificate. Your tracking ID is {{trackingId}}.

Citizen (Informant) using their mobile number.

<event>RejectionNotification

Yes

Received by a beneficiary when the event is "rejected" by a Registrar due to an error such as mistaken spelling or incomplete supporting documentation.

<event> registration declaration for {{name}} ( Tracking ID: {{trackingId}} ) has been rejected. Please visit your local registration office for more information.

Citizen (Informant) using their mobile number.

userCredentialsNotification

No

Received by a staff member when their OpenCRVS account has been created by a System Administrator

Your OpenCRVS account has been created. Please login with your username: {{username}} and temporary password: {{password}}

OpenCRVS Staff

retrieveUserNameNotification

No

Received by staff when they have forgotten their username

Your username for OpenCRVS is: {{username}}

OpenCRVS Staff

updateUserNameNotification

No

Received by staff when a System Administrator has changed their username

Your OpenCRVS username has been updated to: {{username}}. Your password has not changed.

OpenCRVS Staff

resetUserPasswordNotification

No

Received by staff when a System Administrator has changed their password

Your password has been reset. Please login to {{applicationName}} with the temporary password: {{password}}.

OpenCRVS Staff

If you do not want ALL of these messages to be sent, then you can stop messages by being broadcast in this handler by checking the message payload.

You apply all API keys you receive from your communications provider to the CI/CD workflow Github Action in the step.

To edit the API communications code according to the documentation supplied by your provider, edit the following in NodeJS.

You must enable a communication method for the authenticationCodeNotification message in production otherwise your staff will not be able to log in. REMOVING 2FA MAKES OPENCRVS INSECURE. PROTECTING CITIZEN DATA IS NOT AN OPTION!!

deployment
endpoint
What is two-factor authentication (2FA)?
here
Infobip
SendGrid