Skip to main content
Skip table of contents

VA Profile

Introduction

VA Profile (formerly Vet360) provides an all-encompassing profile of a person associated with the VA, providing information such as Contact info, Health Benefits and Military Personnel Data. The objective is to enable users to retrieve a broad range of information with a single request. For additional information please see the API Documentation or the profile service swagger documentation (you must be on the VA network to access both of those links).

Endpoints

Vets API calls VA Profile through the forward proxy. Throughout the codebase, Vets API uses the Service object pattern to call out to VA Profile via the Faraday gem, an HTTP client library. Faraday allows for various middleware integrations, including betamocks for mockdata–useful for lower environment testing–and breakers, a ruby gem and faraday middleware that implements the circuit breaker pattern. This is a common pattern throughout Vets API and many examples of various service classes can be found within the lib directory.

Bios

Consumers can pass along a bioPath as part of the request body when calling VA Profile. BIOs act as filters, guiding the VA Profile API to provide only the specific data subset that the consumer requests. For instance, the military info API documentation (must be on the VA network to access) features an interactive playground alongside detailed descriptions of various BIOs and other related details. This is the military_personnel service class to be specific.

The example in the code snippets below shows how the defined bioPath is passed in as part of the request body on the perform method.

Bio path from lib/va_profile/models/service_history.rb

RUBY
      def self.in_json
        {
          bios: [
            {
              bioPath: 'militaryPerson.militaryServiceHistory',
              parameters: {
                scope: 'all'
              }
            }
          ]
        }.to_json
      end

Request body from /lib/va_profile/military_personnel/service.rb

RUBY
response = perform(:post, identity_path, VAProfile::Models::ServiceHistory.in_json)

Perform method from lib/va_profile/service.rb

RUBY
    def perform(method, path, body = nil, headers = {})
      log_dates(body)

      VAProfile::Stats.increment('total_operations')
      config.base_request_headers.merge(headers)
      super(method, path, body, headers)
    end

Available data from VA Profile

Endpoints can be found in the original VCR recordings under the uri

Endpoint Name

1

Address Validation

2

Communication

3

Contact Information

4

Demographics

5

Military Personnel

6

Person

7

Reference Data

8

Veteran Status

Caching for VA Profile

A how-to caching guide has been created and can be found here. Several caching base classes already exist, making it possible to integrate with a pre-existing caching solution for VA Profile. If not, the provided instructions guide you through setting up a new service class with caching capabilities.

API documentation

The API (Swagger) documentation can be found at the link below. This requires VA Network access via CAG, GFE, etc. Depending on your level of access, the docs might not be accessible on the web client aka Azure Virtual Desktop aka AVD, since it’s not fully on the VA Network.

Overall VA Profile documentation

https://dvagov.sharepoint.com/sites/OITEPMOVAPROPUB/SitePages/Profile-Service.aspx?csf=1&web=1&e=HmuH3U

Overall Profile Service API Docs

https://qa.VA Profile.va.gov:7005/profile-service/swagger-ui/index.html?urls.primaryName=ProfileServiceV3

Military Personnel

https://qa.VA Profile.va.gov:7005/military-personnel/swagger-ui/index.html?configUrl=/military-personnel/v3/api-docs/swagger-config#/

Test users

Military information

The following is a list of test users that can be used in conjunction with testing VA Profile military information. Vets API mockdata enhancements are underway to deliver simulated responses for VA Profile, primarily useful for lower environments. Credentials for authentication can be found in the Test User Dashboard (TUD) (SOCKS access required).

Military information test users

Additionally, developers are always encouraged to contribute new mockdata entries as needed.

Contacts

Slack channel

#va-profile in DSVA Slack

VA Profile contacts: Asked for contact info here

Name

Email

Role

Michael Richard

michael.richard2@va.gov

VA Profile PMO

Barbara Flowers

barbara.flowers3@va.gov

SME for Va Profile (VA)

James Whited

james.whited@va.gov

VA PO for Va Profile (VA)

Josh Lindsey

jlindsey@veracityconsulting.com

Tech SME


JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.