Skip to content

VRO v2 Roadmap

Yoom Lam edited this page Oct 3, 2022 · 44 revisions

iMVP (Integrated MVP)

Workflow Diagram

Legend:

  • light-green box: implemented
  • trapezoid: microservice for External APIs; listens for requests added to an associated RabbitMQ queue
  • rounded box: decision point (consider implementing using Camel Dynamic Routing)
  • "DB" all refer to the same database; they're drawn separately to reduce clutter

Another workflow digram from Mural

Tasks

(only for single-issue hypertension CFI and presumptives; targeting Dec 31st deployment)

Ordered by priority:

(More to come...)

  • db
    • claim_stats_Endpoint: Add claim_stats endpoint to API for reporting and monitoring. Other metrics (from Zach):
      1. how many claims are we evaluating programmatically for sufficient evidence?
      2. how many of those claims are deemed to have sufficient evidence?
      3. how many claims deemed to have insufficient evidence lead to an auto-exam?
      4. how many claims that are deemed to have sufficient evidence lead to: a) immediate rating, and b) not an immediate rating (e.g., deferral, manual exam)?

Code improvements tasks

  • Document how to update version numbers of VRO, container images, etc.
  • Mechanism to ensure microservices are idempotent and following good patterns
  • Improve robustness to failures by using retry pattern -- retry logic in Camel
  • 🏃 Clean up codebase; comment out unused dependencies
  • Add more automated end-to-end and integration testing

Additional DevOps tasks

  • Persist RabbitMQ message queue contents for reloading in case of failures
  • Connect VRO non-prod env with other VA non-prod envs
  • Set up test code coverage and other PR requirement checks. Search jacoco_enforce_violations in the code.
  • Enable linter and pre-commit hook
  • Set up LHDI monitoring and diagnostics tools, i.e. DataDog monitoring, Prometheus, Grafana, Jaeger
  • Set up DB querying (BI) tools for reporting, e.g., Metabase/Superset
  • Set up DB monitoring tools to detect slow queries, e.g., NewRelic
  • Document how to debug and modify DB data in prod
  • Document how to extract microservices into Docker containers and deploy them
Clone this wiki locally