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.
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 thefacilities
application through management APIs.
- 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.
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.