Skip to content

Latest commit

 

History

History
72 lines (63 loc) · 4.01 KB

README.md

File metadata and controls

72 lines (63 loc) · 4.01 KB

lighthouse-facilities

The Lighthouse Facilities API provides information about physical VA facilities, including location, address, phone, hours of operation, and available services.

The API is a Spring Boot application, facilities, with supporting modules including facilities-api for the API model classes, facilities-mock-services and facilities-local-db for local development, and facilities-tests for integration testing.

For details about available endpoints and interactions, refer to the OpenAPI documentation on the Lighthouse Developer Portal.

System Components

System Components

What's going on?

  • facilities is the primary application responsible for serving Facilities API requests. Requests are served against an operational database.
  • facilities-operational-db is used to maintain ready to serve representations of facilities, operating status, and drive time bands. Facility data is updated nightly through the facilities collection process. Operating status and extended services may be updated at any time by CMS. Drive time band data is refreshed on an as-needed basis.
  • facilities-timer is a AWS Lambda Cron pod that fires nightly to trigger the facilities collection/data reload process.
  • Access to Care provides wait times and satisfaction scores for various services offered by VA health facilities. This data is aggregated during facilities collection.
  • Cemetery XML is an externally-maintained XML document that provides information about non-national cemeteries that are not managed by the VA. This data is aggregated during facilities collection.
  • Website CSV is a CSV document of facility website URLS, maintained in this repository. This data is aggregated during facilities collection to augment the live sources.
  • Corporate Data Warehouse undergoes a nightly ETL process to transfer various data resources to the SQL52 server, where it is consumed during facilities collection. Namely:
    • Mental Health, Clinical Services, and Stop Codes from the A01 server.
    • National Cemeteries and Benefit Centers from the NCA VBA SQL40 GIS server.
    • Health facilities and Veteran centers from the A06 server.
  • PSSG Drive Band documents are periodically uploaded to the facilities application through management APIs.

Data Flow

Data Flow

What's going on?

  • The facilities collection process aggregates data from other services, databases, or manually managed files. Drive-time band and operating status are not part of collection. Collection is an expensive process that is performed periodically.
  • CMS is both a consumer and a producer of information. CMS will periodically pull all facilities to automatically populate content pages in Drupal. Additionally, regional administrators of CMS data may change the operating status or extended service(s) at any time. This information is provided back to the Facilities API through a specialized CMS-dedicated endpoint. Operating status is stored in the operational database along side facility data.

Local Development

Refer to health-apis-parent for basic environment setup. (Java, Maven, Docker, etc.) Execute mvn clean install to build all of the modules, then follow the local development instructions for mock-services, local-db, and facilities.