-
Notifications
You must be signed in to change notification settings - Fork 7
VRO v2 Roadmap
Yoom Lam edited this page Oct 11, 2022
·
44 revisions
iMVP (Integrated MVP)
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
(only for single-issue hypertension CFI and presumptives; targeting Dec 31st deployment)
Ordered by priority:
- #433 VRO retrieves OCR results from MAS/VBAAP
- #434 Exam-status endpoint for MAS/VBAAP to notify VRO
- #428 IncomingClaims: VRO receives hypertension CFI claims from MAS/VBAAP
- #435 Exam ordering: VRO calls MAS/VBAAP to order an exam
- Add feature flag (a.k.a. feature toggle) service
- #432 VRO handles PDF upload to eFolder
- Encrypt RabbitMQ messages
- #430 Mark claim "RFD" to enable appropriate adjudicator assignment
- #431 Remove special issues to enable claim downstream routing
- #436 Parse OCR annotation data
- improve robustness: Python microservices shut down when RabbitMQ shuts down
(More to come...)
-
db
-
claim_stats_Endpoint
: Add claim_stats endpoint to API for reporting and monitoring. Other metrics (from Zach):- how many claims are we evaluating programmatically for sufficient evidence?
- how many of those claims are deemed to have sufficient evidence?
- how many claims deemed to have insufficient evidence lead to an auto-exam?
- 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)?
-
- 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
- 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