BIE contention event queues User Guide - department-of-veterans-affairs/abd-vro GitHub Wiki

Receive Contention Event data

  • Subscribe to the following RabbitMQ Queues
    • bie-events-contention-associated-to-claim (Kafka topic CONTENTION_BIE_CONTENTION_ASSOCIATED_TO_CLAIM_V02)
    • bie-events-contention-updated (Kafka topic CONTENTION_BIE_CONTENTION_UPDATED_V02)
    • bie-events-contention-classified (Kafka topic CONTENTION_BIE_CONTENTION_CLASSIFIED_V02)
    • bie-events-contention-completed (Kafka topic CONTENTION_BIE_CONTENTION_COMPLETED_V02)
    • bie-events-contention-deleted (Kafka topic CONTENTION_BIE_CONTENTION_DELETED_V02)

Note: VRO Kafka Service Design Diagram

RabbitMQ Sample Message Payload

{
  "status": 200,
  "eventType": "CONTENTION_UPDATED",
  "claimId": 12345678,
  "contentionId": 12345678,
  "contentionTypeCode": "NEW",
  "contentionClassificationName": "Musculoskeletal - Wrist",
  "notifiedAt": 1694451084874,
  "occurredAt": 1694451062000
}
  • eventType - There are total of 5 different event types:
    • CONTENTION_ASSOCIATED_TO_CLAIM
    • CONTENTION_UPDATED
    • CONTENTION_CLASSIFIED
    • CONTENTION_COMPLETED
    • CONTENTION_DELETED

Local Development Setup

Make sure you have the latest version of abd-vro and abd-vro-dev-secrets cloned in sibling directories. Run these commands

export COMPOSE_PROFILES='kafka'
source scripts/setenv.sh

./gradlew docker

./gradlew :dockerComposeUp

./gradlew -p mocks docker
./gradlew -p mocks :dockerComposeUp

./gradlew :domain-xample:dockerComposeUp
./gradlew :app:dockerComposeUp

pushd svc-bie-kafka && { source ./docker-entryprep.sh; popd; }

./gradlew :svc-bie-kafka:integrationTest

NOTE: The BIE team does not provide any mechanism to test or send Kafka payloads in non-local environments. So, testing in these environments is very limited since we need to wait for Kafka payloads in order to see the data in RabbitMQ queues.

Sample code for connecting to RabbitMQ Queues

Python using hoppy

Javascript Sample Code