-
Notifications
You must be signed in to change notification settings - Fork 6
VRO v1 Roadmap
Erik Nelsestuen edited this page May 20, 2024
·
3 revisions
Task Dependency diagram for Version 1.0 of VRO
Legend:
- gray box: completed task ✅
- red-outlined box: in-progress task 🏃
- light-green box: low priority task that could be removed from version 1.0 scope if needed
Tasks for Version 1.0 of VRO (only for asthma and hypertension; targeting Aug 31st to have VRO in operation, if not sooner)
- ✅
setup
: Set up RabbitMQ container, Camel routes, and deploy to LHDI - ✅ version 0.1
- ✅
ruby_pdf_generator
Service: Ruby PDF generator (given all pdf contents as request parameters) - ✅
generate_summary_pdf_Endpoint
: Add generate_summary_pdf endpoint to API - ✅
ruby_assess_data
Service: Ruby assess fast-tracking eligibility given all health data - ✅
assess_data_Endpoint
: Add assess-data-for-fast-track endpoint to API (given all health data)
- ✅
- 🏃
get_ATO
: Get ATO for deployment into prod - ✅
add_authentication
: Add authentication to API endpoints; using simple API-key for now -
db
- ✅
save_claims_to_db
: Save claims processing to DB. See LHDI's persistent volumes. -
claim_stats_Endpoint
(low priority): 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)?
- ✅
- ✅ devops
-
url_for_vro
: Add DNS entry for a url to VRO for all relevant envs; LHDI DNS and routing -
deploy_to_non_prod_envs
: Deploy VRO to staging/preprod VA env -
test_in_non_prod_envs
: Test VRO to staging/preprod VA env
-
-
deploy_to_prod
: Deploy to LHDI's Prod environment (via GH Action or ArgoCD) - OBE
use_ver0.1_endpoints
: Have RRD (in vets-api) call 2 endpoints of VRO version 0.1 - ✅ assess_claim
- ✅
lh_health_api_client
: LH Patient (Veteran) Health API (FHIR) client. See existing Ruby codeVeteransHealth::Client
. - ✅
assess_claim_service
: Assess fast-tracking eligibility given claim (VRO must query for health data). See existing Ruby code (HypertensionProcessor, AsthmaProcessor) - ✅
assess_claim_Endpoint
: Add assess-claim endpoint to API that doesn't require health data
- ✅
- ✅
use_assess_claim_Endpoint
: Have RRD (in vets-api) call VRO's assess-claim endpoint - ✅ evidence_summary_doc (low priority - we can use the Ruby version in the meantime)
- ✅
generate_summary_doc
Service (low priority): Improved PDF generator (given all pdf contents as request parameters) - ✅
generate_summary_doc_Endpoint
(low priority): Add generate_summary_doc endpoint to API
- ✅
- ✅
use_generate_summary_Endpoint
: Have RRD (in vets-api) call VRO's evidence_summary_doc endpoint
Implied acceptance criteria for tasks above:
- ✅ API endpoints should have OpenAPI spec documentation with examples.
- ✅ Authentication is required for all service endpoints (
assess_claim_Endpoint
andgenerate_summary_doc_Endpoint
) after version 0.1 - ✅ Integration testing between RRD (in vets-api) and VRO is needed in a non-prod env before deployment to prod
- ✅ VRO passes Secure Release process
Would be ideal to get these completed as part of version 1.0:
- 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
Would be ideal to get these completed as part of version 1.0:
- 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
- Add Python bug and vulnerability scanners (SecRel does not currently support Python code scanning)