Test and integrate case notification APIs

Use this page to validate Public Health Information Network Messaging System (PHIMNS) property configuration and supporting dependencies for Case Notification services. Deploy the Notification service before starting this page.

On this page

  1. Configure PHIMNS properties
  2. Verify Kafka configuration
  3. Verify deployment and database changes
  4. Next steps

Configure PHIMNS properties

The Case Notification service requires PHINMS properties to route case notifications correctly. Complete the following steps to configure them.

  1. Retrieve the following values from your integration engine configuration:
    • Required property:
      • nbs_certificate_url
    • Optional properties:
      • phin_encryption
      • phin_route
      • phin_signature
      • phin_public_key_address
      • phin_public_key_base_dn
      • phin_public_key_dn
      • phin_recipient
      • phin_priority
  2. Share the values with your CDC partners. CDC will update the NBS_Case_Notification_Config table in NBS_MSGOUTE using the following script:

    USE NBS_MSGOUTE;
     
    UPDATE NBS_Case_Notification_Config
    SET
      nbs_certificate_url     = '<value>',
      phin_encryption         = '<value>',
      phin_route              = '<value>',
      phin_signature          = '<value>',
      phin_public_key_address = '<value>',
      phin_public_key_base_dn = '<value>',
      phin_public_key_dn      = '<value>',
      phin_recipient          = '<value>',
      phin_priority           = '<value>'
    WHERE config_name = 'NON_STD_CASE_NOTIFICATION'
    

If you host NBS on-premises without CDC support, you have full database access and can run this script yourself.

Verify Kafka configuration

The Case Notification service uses Kafka to receive events from the Debezium source connector. Correct Kafka configuration ensures that new records inserted into NBS_ODSE.CN_transportq_out are detected and routed through the pipeline.

  • Configure Kafka broker: Use one of the available Kafka broker endpoints (Private endpoints - Plaintext) in the values file located in the NEDSS-Helm/charts/debezium-case-notifications directory. The number of brokers varies by environment.
  • Confirm Debezium connector: Confirm that the Debezium source connector deployed in Deploy the Debezium Kafka source connector is running on the NBS_ODSE.CN_transportq_out table before proceeding.

Verify deployment and database changes

The Case Notification service includes a built-in Liquibase integration that automatically applies database changes during deployment. Use the following checks to confirm the service deployed successfully and data is routing correctly.

  • Confirm pod status: Confirm that the case-notification-service pod is stable and running. The pod will not start if Liquibase fails.
  • If Liquibase fails: Check the pod logs for errors. Database change details can be reviewed in the NEDSS-NNDSS-Case-Notifications repository.
  • If notifications do not appear: Check the dead letter table (DLT). Faulty events that cannot be processed are routed to MSGOUTE.case_notification_dlt. Check this table if case notifications are not appearing in the expected output tables (MSGOUTE.transportq_out or MSGOUTE.netsstransportq_out).

Next steps

After verifying these configurations, proceed to deploy the data ingestion service (DI API) or real-time reporting (RTR) based on your deployment plan.