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.
facilitiesis the primary application responsible for serving Facilities API requests. Requests are served against an operational database.facilities-operational-dbis 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-timeris a AWS Lambda Cron pod that fires nightly to trigger the facilities collection/data reload process.Access to Careprovides wait times and satisfaction scores for various services offered by VA health facilities. This data is aggregated during facilities collection.Cemetery XMLis 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 CSVis 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 Warehouseundergoes 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 Banddocuments are periodically uploaded to thefacilitiesapplication 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.
CMSis both a consumer and a producer of information.CMSwill 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.

