From 612a177827003b578e9fd747d9067abbbd958e11 Mon Sep 17 00:00:00 2001 From: rockwellwindsor-va Date: Fri, 29 Nov 2024 16:26:43 -0600 Subject: [PATCH 1/7] API-42951-poa-v2-zip-code-updates - WIP * Updates schema * updates validations * Adjusts/add tests modified: modules/claims_api/app/controllers/claims_api/v2/veterans/power_of_attorney/base_controller.rb modified: modules/claims_api/app/controllers/concerns/claims_api/v2/power_of_attorney_validation.rb modified: modules/claims_api/config/schemas/v2/2122.json modified: modules/claims_api/config/schemas/v2/2122a.json modified: modules/claims_api/spec/requests/v2/veterans/power_of_attorney/2122_spec.rb modified: modules/claims_api/spec/requests/v2/veterans/power_of_attorney/2122a_spec.rb modified: modules/claims_api/spec/requests/v2/veterans/power_of_attorney/power_of_attorney_request_spec.rb --- .../power_of_attorney/base_controller.rb | 3 +- .../v2/power_of_attorney_validation.rb | 42 ++++- .../claims_api/config/schemas/v2/2122.json | 7 +- .../claims_api/config/schemas/v2/2122a.json | 9 +- .../veterans/power_of_attorney/2122_spec.rb | 145 ++++++++++++++++++ .../veterans/power_of_attorney/2122a_spec.rb | 81 ++++++++-- .../power_of_attorney_request_spec.rb | 4 +- 7 files changed, 257 insertions(+), 34 deletions(-) diff --git a/modules/claims_api/app/controllers/claims_api/v2/veterans/power_of_attorney/base_controller.rb b/modules/claims_api/app/controllers/claims_api/v2/veterans/power_of_attorney/base_controller.rb index 1fd16cd3e36..2b9a942b801 100644 --- a/modules/claims_api/app/controllers/claims_api/v2/veterans/power_of_attorney/base_controller.rb +++ b/modules/claims_api/app/controllers/claims_api/v2/veterans/power_of_attorney/base_controller.rb @@ -52,7 +52,8 @@ def shared_form_validation(form_number) poa_code = form_attributes.dig(base, 'poaCode') @claims_api_forms_validation_errors = validate_form_2122_and_2122a_submission_values( - user_profile:, veteran_participant_id: target_veteran.participant_id, poa_code:, base: + user_profile:, veteran_participant_id: target_veteran.participant_id, poa_code:, + base: ) validate_json_schema(form_number.upcase) diff --git a/modules/claims_api/app/controllers/concerns/claims_api/v2/power_of_attorney_validation.rb b/modules/claims_api/app/controllers/concerns/claims_api/v2/power_of_attorney_validation.rb index d8cb23420d6..dde7dd0e016 100644 --- a/modules/claims_api/app/controllers/concerns/claims_api/v2/power_of_attorney_validation.rb +++ b/modules/claims_api/app/controllers/concerns/claims_api/v2/power_of_attorney_validation.rb @@ -7,9 +7,9 @@ module ClaimsApi module V2 module PowerOfAttorneyValidation include ClaimsApi::DependentClaimantValidation - - def validate_form_2122_and_2122a_submission_values(user_profile:, veteran_participant_id: nil, poa_code: nil, - base: nil) + def validate_form_2122_and_2122a_submission_values(user_profile:, veteran_participant_id: nil, + poa_code: nil, base: nil) + validate_address_values validate_claimant_fields(user_profile) if [veteran_participant_id, user_profile, poa_code, base].all?(&:present?) validate_dependent_claimant(veteran_participant_id:, user_profile:, poa_code:, base:) @@ -40,6 +40,32 @@ def build_dependent_claimant_verification_service(veteran_participant_id:, user_ poa_code:) end + # the Claimant object is already being validatated below, + # so that code has been adjusted and it is being left out of this workflow + def validate_address_values + address_objects = { veteran: 'veteran', representative: 'representative' } + + address_objects.each do |key, base| + address = form_attributes.dig(key.to_s, 'address') + + validate_zip(address, base) if address.present? + end + end + + def validate_zip(address, base) + country = address['country']&.downcase + return unless country == 'us' + + zip_code = address['zipCode'] + + if zip_code.blank? + collect_error_messages( + source: "/#{base}/address/zipCode", + detail: "If 'countryCode' is 'US' then 'zipCode' is required." + ) + end + end + def validate_claimant(service:, base:) validate_poa_code(service:, base:) validate_dependent(service:) @@ -78,7 +104,8 @@ def validate_address collect_error_messages( source: '/claimant/address/', detail: "If claimant is present 'address' must be filled in " \ - ' with required fields addressLine1, city, stateCode, country and zipCode' + "with required fields addressLine1, city, stateCode and country. If the stateCode is 'US' " \ + 'then zipCode is also required.' ) else validate_address_line_one(address) @@ -126,10 +153,10 @@ def validate_address_country(address) end def validate_address_zip_code(address) - if address['zipCode'].nil? + if address['zipCode'].blank? && address['country'].downcase == 'us' collect_error_messages( source: '/claimant/address/zipCode', - detail: "If claimant is present 'zipCode' must be filled in" + detail: "If 'countryCode' is 'US' then 'zipCode' is required." ) end end @@ -171,12 +198,11 @@ def errors_array def collect_error_messages(detail: 'Missing or invalid attribute', source: '/', title: 'Unprocessable Entity', status: '422') - errors_array.push({ detail:, source:, title:, status: }) end def raise_error_collection - errors_array.uniq! { |e| e[:detail] } + errors_array.uniq! { |e| [e[:source], e[:detail]] } errors_array end end diff --git a/modules/claims_api/config/schemas/v2/2122.json b/modules/claims_api/config/schemas/v2/2122.json index 52316c27a5d..75a65fa3bb4 100644 --- a/modules/claims_api/config/schemas/v2/2122.json +++ b/modules/claims_api/config/schemas/v2/2122.json @@ -22,8 +22,7 @@ "addressLine1", "city", "country", - "stateCode", - "zipCode" + "stateCode" ], "properties": { "addressLine1": { @@ -54,7 +53,7 @@ "example": "USA" }, "zipCode": { - "description": "Zipcode (First 5 digits) of the address.", + "description": "Zip code (First 5 digits) of the address. Required if 'countryCode' is 'US'.", "type": "string", "pattern": "^\\d{5}?$", "example": "12345" @@ -154,7 +153,7 @@ "example": "USA" }, "zipCode": { - "description": "Zipcode (First 5 digits) of the address. Required if claimant information provided.", + "description": "Zip code (First 5 digits) of the address. Required if 'countryCode' is 'US'.", "type": "string", "pattern": "^\\d{5}?$", "example": "12345" diff --git a/modules/claims_api/config/schemas/v2/2122a.json b/modules/claims_api/config/schemas/v2/2122a.json index 67e14dc1bbf..d13a51b02b1 100644 --- a/modules/claims_api/config/schemas/v2/2122a.json +++ b/modules/claims_api/config/schemas/v2/2122a.json @@ -47,8 +47,7 @@ "addressLine1", "city", "stateCode", - "country", - "zipCode" + "country" ], "properties" : { "addressLine1": { @@ -79,7 +78,7 @@ "example": "USA" }, "zipCode": { - "description": "Zipcode (First 5 digits) of the address.", + "description": "Zip code (First 5 digits) of the address.Required if 'country' is 'US'.", "type": "string", "pattern": "^\\d{5}?$", "example": "12345" @@ -165,7 +164,7 @@ "example": "USA" }, "zipCode": { - "description": "Zipcode (First 5 digits) of the address. Required if claimant information provided.", + "description": "Zip code (First 5 digits) of the address. Required if 'countryCode' is 'US'.", "type": "string", "pattern": "^\\d{5}?$", "example": "12345" @@ -276,7 +275,7 @@ "example": "USA" }, "zipCode": { - "description": "Zipcode (First 5 digits) of the address.", + "description": "Zip code (First 5 digits) of the address. Required if 'countryCode' is 'US'.", "type": "string", "pattern": "^\\d{5}?$", "example": "12345" diff --git a/modules/claims_api/spec/requests/v2/veterans/power_of_attorney/2122_spec.rb b/modules/claims_api/spec/requests/v2/veterans/power_of_attorney/2122_spec.rb index 36aa4d0155a..c7f82d8c88a 100644 --- a/modules/claims_api/spec/requests/v2/veterans/power_of_attorney/2122_spec.rb +++ b/modules/claims_api/spec/requests/v2/veterans/power_of_attorney/2122_spec.rb @@ -64,6 +64,72 @@ end end + describe 'address validations' do + let(:request_body) do + Rails.root.join('modules', 'claims_api', 'spec', 'fixtures', 'v2', 'veterans', + 'power_of_attorney', '2122', 'valid.json').read + end + let(:user_profile) do + MPI::Responses::FindProfileResponse.new( + status: :ok, + profile: MPI::Models::MviProfile.new( + given_names: %w[Not Under], + family_name: 'Test', + participant_id: '123', + ssn: '123456789' + ) + ) + end + + describe 'conditionally required zipCode' do + context 'when the country provided is US' do + it 'returns a 422 when no zipCode is included in the veteran data' do + VCR.use_cassette('claims_api/mpi/find_candidate/valid_icn_full') do + mock_ccg(scopes) do |auth_header| + allow_any_instance_of(local_bgs).to receive(:find_poa_history_by_ptcpnt_id) + .and_return({ person_poa_history: nil }) + + json = JSON.parse(request_body) + json['data']['attributes']['veteran']['address']['zipCode'] = '' + body = json.to_json + + post appoint_organization_path, params: body, headers: auth_header + + response_body = JSON.parse(response.body) + + expect(response).to have_http_status(:unprocessable_entity) + expect(response_body['errors'][0]['status']).to eq('422') + expect(response_body['errors'][0]['detail']) + .to eq("If 'countryCode' is 'US' then 'zipCode' is required.") + end + end + end + end + + context 'when the country provided is not US' do + it 'returns a 202 when no zipCode is included in the veteran data' do + VCR.use_cassette('claims_api/mpi/find_candidate/valid_icn_full') do + mock_ccg(scopes) do |auth_header| + expect_any_instance_of(local_bgs).to receive(:find_poa_by_participant_id) + .and_return(bgs_poa) + allow_any_instance_of(local_bgs).to receive(:find_poa_history_by_ptcpnt_id) + .and_return({ person_poa_history: nil }) + + json = JSON.parse(request_body) + json['data']['attributes']['veteran']['address']['country'] = 'AL' + json['data']['attributes']['veteran']['address']['zipCode'] = '' + body = json.to_json + + post appoint_organization_path, params: body, headers: auth_header + + expect(response).to have_http_status(:accepted) + end + end + end + end + end + end + describe 'lighthouse_claims_api_poa_dependent_claimants feature' do let(:request_body) do Rails.root.join('modules', 'claims_api', 'spec', 'fixtures', 'v2', 'veterans', @@ -266,6 +332,85 @@ end end + describe 'when validating the conditionally required zipCode' do + let(:request_body) do + Rails.root.join('modules', 'claims_api', 'spec', 'fixtures', 'v2', 'veterans', + 'power_of_attorney', '2122', 'valid.json').read + end + + context "when the country is 'US'" do + let(:claimant_data) do + { + claimantId: '456', + address: { + addressLine1: '123 anystreet', + city: 'anytown', + stateCode: 'OR', + country: 'US', + zipCode: '' + }, + relationship: 'Child' + } + end + + it 'returns a 422 with no zipCode' do + VCR.use_cassette('claims_api/mpi/find_candidate/valid_icn_full') do + mock_ccg(scopes) do |auth_header| + allow_any_instance_of(local_bgs).to receive(:find_poa_history_by_ptcpnt_id) + .and_return({ person_poa_history: nil }) + + json = JSON.parse(request_body) + json['data']['attributes']['claimant'] = claimant_data + request_data = json.to_json + + post appoint_organization_path, params: request_data, headers: auth_header + + response_body = JSON.parse(response.body)['errors'][0] + + expect(response).to have_http_status(:unprocessable_entity) + expect(response_body['status']).to eq('422') + expect(response_body['detail']).to eq("If 'countryCode' is 'US' then 'zipCode' is required.") + end + end + end + end + + context "when the country is not 'US'" do + let(:claimant_data) do + { + claimantId: '456', + address: { + addressLine1: '123 anystreet', + city: 'anytown', + stateCode: 'OR', + country: 'AL', + zipCode: '' + }, + relationship: 'Child' + } + end + + it 'returns a 202 with no zipCode' do + VCR.use_cassette('claims_api/mpi/find_candidate/valid_icn_full') do + mock_ccg(scopes) do |auth_header| + expect_any_instance_of(local_bgs).to receive(:find_poa_by_participant_id) + .and_return(bgs_poa) + allow_any_instance_of(local_bgs).to receive(:find_poa_history_by_ptcpnt_id) + .and_return({ person_poa_history: nil }) + + json = JSON.parse(request_body) + json['data']['attributes']['claimant'] = claimant_data + request_data = json.to_json + + post appoint_organization_path, params: request_data, headers: auth_header + + expect(response).to have_http_status(:accepted) + end + end + end + end + end + context 'when validating email values' do context 'when the email is valid' do it 'allows an empty string' do diff --git a/modules/claims_api/spec/requests/v2/veterans/power_of_attorney/2122a_spec.rb b/modules/claims_api/spec/requests/v2/veterans/power_of_attorney/2122a_spec.rb index bc1e006bc86..f7d1559cd2e 100644 --- a/modules/claims_api/spec/requests/v2/veterans/power_of_attorney/2122a_spec.rb +++ b/modules/claims_api/spec/requests/v2/veterans/power_of_attorney/2122a_spec.rb @@ -256,6 +256,73 @@ end end + describe 'conditionally required zipCode' do + context 'when the country is US' do + it 'returns a 422 if representative.address.zipCode is not provided' do + mock_ccg(scopes) do |auth_header| + claimant_data[:data][:attributes][:representative][:address][:zipCode] = '' + VCR.use_cassette('claims_api/mpi/find_candidate/valid_icn_full') do + post appoint_individual_path, params: claimant_data.to_json, headers: auth_header + end + expect(response).to have_http_status(:unprocessable_entity) + response_body = JSON.parse(response.body) + expect(response_body['errors'][0]['detail']).to eq( + "If 'countryCode' is 'US' then 'zipCode' is required." + ) + end + end + + it 'returns a 422 for all objects not including zipCode' do + mock_ccg(scopes) do |auth_header| + claimant_data[:data][:attributes][:representative][:address][:zipCode] = '' + claimant_data[:data][:attributes][:veteran][:address][:zipCode] = '' + claimant_data[:data][:attributes][:claimant][:address][:zipCode] = '' + + VCR.use_cassette('claims_api/mpi/find_candidate/valid_icn_full') do + post appoint_individual_path, params: claimant_data.to_json, headers: auth_header + end + expect(response).to have_http_status(:unprocessable_entity) + response_body = JSON.parse(response.body) + expect(response_body['errors'].count).to eq(3) + expect(response_body['errors'][0]['detail']).to eq( + "If 'countryCode' is 'US' then 'zipCode' is required." + ) + expect(response_body['errors'][0]['source']['pointer']).to eq( + 'data/attributes/veteran/address/zipCode' + ) + expect(response_body['errors'][1]['detail']).to eq( + "If 'countryCode' is 'US' then 'zipCode' is required." + ) + expect(response_body['errors'][1]['source']['pointer']).to eq( + 'data/attributes/representative/address/zipCode' + ) + expect(response_body['errors'][2]['detail']).to eq( + "If 'countryCode' is 'US' then 'zipCode' is required." + ) + expect(response_body['errors'][2]['source']['pointer']).to eq( + 'data/attributes/claimant/address/zipCode' + ) + end + end + end + + context 'when the country is not US' do + it 'returns a 202' do + mock_ccg(scopes) do |auth_header| + claimant_data[:data][:attributes][:representative][:address][:zipCode] = '' + claimant_data[:data][:attributes][:representative][:address][:country] = 'AL' + allow_any_instance_of(local_bgs).to receive(:find_poa_by_participant_id).and_return(bgs_poa) + allow_any_instance_of(local_bgs) + .to receive(:find_poa_history_by_ptcpnt_id).and_return({ person_poa_history: nil }) + VCR.use_cassette('claims_api/mpi/find_candidate/valid_icn_full') do + post appoint_individual_path, params: claimant_data.to_json, headers: auth_header + end + expect(response).to have_http_status(:accepted) + end + end + end + end + context 'when claimant data is included' do shared_context 'claimant data setup' do before do @@ -333,20 +400,6 @@ end end - it 'returns a 422 if claimant.address.zipCode is not provided' do - mock_ccg(scopes) do |auth_header| - claimant_data[:data][:attributes][:claimant][:address][:zipCode] = nil - VCR.use_cassette('claims_api/mpi/find_candidate/valid_icn_full') do - post appoint_individual_path, params: claimant_data.to_json, headers: auth_header - end - expect(response).to have_http_status(:unprocessable_entity) - response_body = JSON.parse(response.body) - expect(response_body['errors'][0]['detail']).to eq( - "If claimant is present 'zipCode' must be filled in" - ) - end - end - it 'returns a 422 if claimant.relationship is not provided' do VCR.use_cassette('claims_api/mpi/find_candidate/valid_icn_full') do mock_ccg(scopes) do |auth_header| diff --git a/modules/claims_api/spec/requests/v2/veterans/power_of_attorney/power_of_attorney_request_spec.rb b/modules/claims_api/spec/requests/v2/veterans/power_of_attorney/power_of_attorney_request_spec.rb index 8d86b0f9788..a30ff1c94f3 100644 --- a/modules/claims_api/spec/requests/v2/veterans/power_of_attorney/power_of_attorney_request_spec.rb +++ b/modules/claims_api/spec/requests/v2/veterans/power_of_attorney/power_of_attorney_request_spec.rb @@ -95,8 +95,8 @@ it 'returns a meaningful 422' do VCR.use_cassette('claims_api/mpi/find_candidate/valid_icn_full') do mock_ccg(scopes) do |auth_header| - detail = "If claimant is present 'address' must be filled in with required fields addressLine1, " \ - 'city, stateCode, country and zipCode' + detail = "If claimant is present 'address' must be filled in with required fields addressLine1, " \ + "city, stateCode and country. If the stateCode is 'US' then zipCode is also required." post request_path, params: request_body, headers: auth_header From 4b2425182ee62bd5f2d95f40bcb89508c8276719 Mon Sep 17 00:00:00 2001 From: rockwellwindsor-va Date: Mon, 2 Dec 2024 08:09:05 -0600 Subject: [PATCH 2/7] API-42951-poa-v2-zip-code-updates * Updates documentation to reflect changes for zipCode modified: modules/claims_api/app/swagger/claims_api/v2/dev/swagger.json modified: modules/claims_api/app/swagger/claims_api/v2/production/swagger.json --- .../swagger/claims_api/v2/dev/swagger.json | 64 +++++++++---------- .../claims_api/v2/production/swagger.json | 64 +++++++++---------- 2 files changed, 60 insertions(+), 68 deletions(-) diff --git a/modules/claims_api/app/swagger/claims_api/v2/dev/swagger.json b/modules/claims_api/app/swagger/claims_api/v2/dev/swagger.json index e215fbd69d0..d61660f203c 100644 --- a/modules/claims_api/app/swagger/claims_api/v2/dev/swagger.json +++ b/modules/claims_api/app/swagger/claims_api/v2/dev/swagger.json @@ -4394,7 +4394,7 @@ "202 without a transactionId": { "value": { "data": { - "id": "94cf4190-cb60-462f-9f9f-18e96a98f679", + "id": "4427c6e9-06b1-4a6a-8c84-6222fa5008ab", "type": "forms/526", "attributes": { "claimId": "600442191", @@ -4579,7 +4579,7 @@ }, "federalActivation": { "activationDate": "2023-10-01", - "anticipatedSeparationDate": "2024-11-27" + "anticipatedSeparationDate": "2024-12-04" }, "confinements": [ { @@ -4625,7 +4625,7 @@ "202 with a transactionId": { "value": { "data": { - "id": "2afcf5be-3233-4f3d-b575-c163867c2538", + "id": "0081c1c3-185f-4790-8e1c-9699d9e1710c", "type": "forms/526", "attributes": { "claimId": "600442191", @@ -4789,7 +4789,7 @@ "serviceBranch": "Public Health Service", "serviceComponent": "Active", "activeDutyBeginDate": "2008-11-14", - "activeDutyEndDate": "2024-11-27", + "activeDutyEndDate": "2024-12-04", "separationLocationCode": "98282" } ], @@ -4810,7 +4810,7 @@ }, "federalActivation": { "activationDate": "2023-10-01", - "anticipatedSeparationDate": "2024-11-27" + "anticipatedSeparationDate": "2024-12-04" }, "confinements": [ { @@ -8053,7 +8053,7 @@ "serviceBranch": "Public Health Service", "serviceComponent": "Active", "activeDutyBeginDate": "2008-11-14", - "activeDutyEndDate": "2024-11-27", + "activeDutyEndDate": "2024-12-04", "separationLocationCode": "98282" } ], @@ -8074,7 +8074,7 @@ }, "federalActivation": { "activationDate": "2023-10-01", - "anticipatedSeparationDate": "2024-11-27" + "anticipatedSeparationDate": "2024-12-04" }, "confinements": [ { @@ -9838,7 +9838,7 @@ "application/json": { "example": { "data": { - "id": "416efb54-617a-4ace-b396-a3f00a15b951", + "id": "0315a42a-8f69-47a9-a002-093081756764", "type": "forms/526", "attributes": { "claimProcessType": "STANDARD_CLAIM_PROCESS", @@ -10022,7 +10022,7 @@ }, "federalActivation": { "activationDate": "2023-10-01", - "anticipatedSeparationDate": "2024-10-31" + "anticipatedSeparationDate": "2025-10-31" }, "confinements": [ { @@ -13580,8 +13580,8 @@ "id": "1", "type": "intent_to_file", "attributes": { - "creationDate": "2024-11-25", - "expirationDate": "2025-11-25", + "creationDate": "2024-12-02", + "expirationDate": "2025-12-02", "type": "compensation", "status": "active" } @@ -14378,7 +14378,7 @@ "status": "422", "detail": "Could not retrieve Power of Attorney due to multiple representatives with code: A1Q", "source": { - "pointer": "/modules/claims_api/app/controllers/claims_api/v2/veterans/power_of_attorney/base_controller.rb:165:in `representative'" + "pointer": "/modules/claims_api/app/controllers/claims_api/v2/veterans/power_of_attorney/base_controller.rb:166:in `representative'" } } ] @@ -14477,7 +14477,7 @@ "application/json": { "example": { "data": { - "id": "0235eeb5-f965-4063-9379-72c177bdd474", + "id": "0e3b80e9-9f98-443e-be97-6a558f46305d", "type": "individual", "attributes": { "code": "067", @@ -14792,8 +14792,7 @@ "addressLine1", "city", "stateCode", - "country", - "zipCode" + "country" ], "properties": { "addressLine1": { @@ -14824,7 +14823,7 @@ "example": "USA" }, "zipCode": { - "description": "Zipcode (First 5 digits) of the address.", + "description": "Zip code (First 5 digits) of the address.Required if 'country' is 'US'.", "type": "string", "pattern": "^\\d{5}?$", "example": "12345" @@ -14918,7 +14917,7 @@ "example": "USA" }, "zipCode": { - "description": "Zipcode (First 5 digits) of the address. Required if claimant information provided.", + "description": "Zip code (First 5 digits) of the address. Required if 'countryCode' is 'US'.", "type": "string", "pattern": "^\\d{5}?$", "example": "12345" @@ -15037,7 +15036,7 @@ "example": "USA" }, "zipCode": { - "description": "Zipcode (First 5 digits) of the address.", + "description": "Zip code (First 5 digits) of the address. Required if 'countryCode' is 'US'.", "type": "string", "pattern": "^\\d{5}?$", "example": "12345" @@ -15249,7 +15248,7 @@ "application/json": { "example": { "data": { - "id": "ca3654c9-d900-4767-8e3e-2593b89ed609", + "id": "e6f08010-7d56-4bb5-af76-eb6f5cec49ca", "type": "organization", "attributes": { "code": "083", @@ -15547,8 +15546,7 @@ "addressLine1", "city", "country", - "stateCode", - "zipCode" + "stateCode" ], "properties": { "addressLine1": { @@ -15579,7 +15577,7 @@ "example": "USA" }, "zipCode": { - "description": "Zipcode (First 5 digits) of the address.", + "description": "Zip code (First 5 digits) of the address. Required if 'countryCode' is 'US'.", "type": "string", "pattern": "^\\d{5}?$", "example": "12345" @@ -15684,7 +15682,7 @@ "example": "USA" }, "zipCode": { - "description": "Zipcode (First 5 digits) of the address. Required if claimant information provided.", + "description": "Zip code (First 5 digits) of the address. Required if 'countryCode' is 'US'.", "type": "string", "pattern": "^\\d{5}?$", "example": "12345" @@ -16238,8 +16236,7 @@ "addressLine1", "city", "stateCode", - "country", - "zipCode" + "country" ], "properties": { "addressLine1": { @@ -16270,7 +16267,7 @@ "example": "USA" }, "zipCode": { - "description": "Zipcode (First 5 digits) of the address.", + "description": "Zip code (First 5 digits) of the address.Required if 'country' is 'US'.", "type": "string", "pattern": "^\\d{5}?$", "example": "12345" @@ -16364,7 +16361,7 @@ "example": "USA" }, "zipCode": { - "description": "Zipcode (First 5 digits) of the address. Required if claimant information provided.", + "description": "Zip code (First 5 digits) of the address. Required if 'countryCode' is 'US'.", "type": "string", "pattern": "^\\d{5}?$", "example": "12345" @@ -16483,7 +16480,7 @@ "example": "USA" }, "zipCode": { - "description": "Zipcode (First 5 digits) of the address.", + "description": "Zip code (First 5 digits) of the address. Required if 'countryCode' is 'US'.", "type": "string", "pattern": "^\\d{5}?$", "example": "12345" @@ -16905,8 +16902,7 @@ "addressLine1", "city", "country", - "stateCode", - "zipCode" + "stateCode" ], "properties": { "addressLine1": { @@ -16937,7 +16933,7 @@ "example": "USA" }, "zipCode": { - "description": "Zipcode (First 5 digits) of the address.", + "description": "Zip code (First 5 digits) of the address. Required if 'countryCode' is 'US'.", "type": "string", "pattern": "^\\d{5}?$", "example": "12345" @@ -17042,7 +17038,7 @@ "example": "USA" }, "zipCode": { - "description": "Zipcode (First 5 digits) of the address. Required if claimant information provided.", + "description": "Zip code (First 5 digits) of the address. Required if 'countryCode' is 'US'.", "type": "string", "pattern": "^\\d{5}?$", "example": "12345" @@ -17245,10 +17241,10 @@ "application/json": { "example": { "data": { - "id": "f02c432d-5009-4744-be2b-fb6ace6014b5", + "id": "522adddb-e8eb-416c-ae19-aee9ca6a988a", "type": "claimsApiPowerOfAttorneys", "attributes": { - "dateRequestAccepted": "2024-11-25", + "dateRequestAccepted": "2024-12-02", "previousPoa": null, "representative": { "serviceOrganization": { diff --git a/modules/claims_api/app/swagger/claims_api/v2/production/swagger.json b/modules/claims_api/app/swagger/claims_api/v2/production/swagger.json index 62621ed02ad..ea402632506 100644 --- a/modules/claims_api/app/swagger/claims_api/v2/production/swagger.json +++ b/modules/claims_api/app/swagger/claims_api/v2/production/swagger.json @@ -3685,7 +3685,7 @@ "202 without a transactionId": { "value": { "data": { - "id": "46013bd2-69b1-44cd-a1eb-7ddd7bf5233c", + "id": "8b26c712-2f9c-460c-8ab6-cad7c46f8639", "type": "forms/526", "attributes": { "claimId": "600442191", @@ -3870,7 +3870,7 @@ }, "federalActivation": { "activationDate": "2023-10-01", - "anticipatedSeparationDate": "2024-11-27" + "anticipatedSeparationDate": "2024-12-04" }, "confinements": [ { @@ -3916,7 +3916,7 @@ "202 with a transactionId": { "value": { "data": { - "id": "912c63b9-38fd-4d2c-8452-287306417ba2", + "id": "cc6f20ce-5f59-41e6-92f8-0a9a54ee907d", "type": "forms/526", "attributes": { "claimId": "600442191", @@ -4080,7 +4080,7 @@ "serviceBranch": "Public Health Service", "serviceComponent": "Active", "activeDutyBeginDate": "2008-11-14", - "activeDutyEndDate": "2024-11-27", + "activeDutyEndDate": "2024-12-04", "separationLocationCode": "98282" } ], @@ -4101,7 +4101,7 @@ }, "federalActivation": { "activationDate": "2023-10-01", - "anticipatedSeparationDate": "2024-11-27" + "anticipatedSeparationDate": "2024-12-04" }, "confinements": [ { @@ -7344,7 +7344,7 @@ "serviceBranch": "Public Health Service", "serviceComponent": "Active", "activeDutyBeginDate": "2008-11-14", - "activeDutyEndDate": "2024-11-27", + "activeDutyEndDate": "2024-12-04", "separationLocationCode": "98282" } ], @@ -7365,7 +7365,7 @@ }, "federalActivation": { "activationDate": "2023-10-01", - "anticipatedSeparationDate": "2024-11-27" + "anticipatedSeparationDate": "2024-12-04" }, "confinements": [ { @@ -9129,7 +9129,7 @@ "application/json": { "example": { "data": { - "id": "41dd6942-ee5b-4827-b0ea-fd0885cf68e4", + "id": "1830b915-9395-4f48-a02a-c0553b5e89de", "type": "forms/526", "attributes": { "claimProcessType": "STANDARD_CLAIM_PROCESS", @@ -9313,7 +9313,7 @@ }, "federalActivation": { "activationDate": "2023-10-01", - "anticipatedSeparationDate": "2024-10-31" + "anticipatedSeparationDate": "2025-10-31" }, "confinements": [ { @@ -12871,8 +12871,8 @@ "id": "1", "type": "intent_to_file", "attributes": { - "creationDate": "2024-11-25", - "expirationDate": "2025-11-25", + "creationDate": "2024-12-02", + "expirationDate": "2025-12-02", "type": "compensation", "status": "active" } @@ -13669,7 +13669,7 @@ "status": "422", "detail": "Could not retrieve Power of Attorney due to multiple representatives with code: A1Q", "source": { - "pointer": "/modules/claims_api/app/controllers/claims_api/v2/veterans/power_of_attorney/base_controller.rb:165:in `representative'" + "pointer": "/modules/claims_api/app/controllers/claims_api/v2/veterans/power_of_attorney/base_controller.rb:166:in `representative'" } } ] @@ -13768,7 +13768,7 @@ "application/json": { "example": { "data": { - "id": "41bc5946-67df-47d2-b215-499d3c9e9d17", + "id": "d69b2ea4-1cfc-4563-8df8-94366bb6a841", "type": "individual", "attributes": { "code": "067", @@ -14083,8 +14083,7 @@ "addressLine1", "city", "stateCode", - "country", - "zipCode" + "country" ], "properties": { "addressLine1": { @@ -14115,7 +14114,7 @@ "example": "USA" }, "zipCode": { - "description": "Zipcode (First 5 digits) of the address.", + "description": "Zip code (First 5 digits) of the address.Required if 'country' is 'US'.", "type": "string", "pattern": "^\\d{5}?$", "example": "12345" @@ -14209,7 +14208,7 @@ "example": "USA" }, "zipCode": { - "description": "Zipcode (First 5 digits) of the address. Required if claimant information provided.", + "description": "Zip code (First 5 digits) of the address. Required if 'countryCode' is 'US'.", "type": "string", "pattern": "^\\d{5}?$", "example": "12345" @@ -14328,7 +14327,7 @@ "example": "USA" }, "zipCode": { - "description": "Zipcode (First 5 digits) of the address.", + "description": "Zip code (First 5 digits) of the address. Required if 'countryCode' is 'US'.", "type": "string", "pattern": "^\\d{5}?$", "example": "12345" @@ -14540,7 +14539,7 @@ "application/json": { "example": { "data": { - "id": "3cf2d554-3940-4560-8002-0b6fae588751", + "id": "0a872160-bf14-4c32-804b-15f55e97489e", "type": "organization", "attributes": { "code": "083", @@ -14838,8 +14837,7 @@ "addressLine1", "city", "country", - "stateCode", - "zipCode" + "stateCode" ], "properties": { "addressLine1": { @@ -14870,7 +14868,7 @@ "example": "USA" }, "zipCode": { - "description": "Zipcode (First 5 digits) of the address.", + "description": "Zip code (First 5 digits) of the address. Required if 'countryCode' is 'US'.", "type": "string", "pattern": "^\\d{5}?$", "example": "12345" @@ -14975,7 +14973,7 @@ "example": "USA" }, "zipCode": { - "description": "Zipcode (First 5 digits) of the address. Required if claimant information provided.", + "description": "Zip code (First 5 digits) of the address. Required if 'countryCode' is 'US'.", "type": "string", "pattern": "^\\d{5}?$", "example": "12345" @@ -15529,8 +15527,7 @@ "addressLine1", "city", "stateCode", - "country", - "zipCode" + "country" ], "properties": { "addressLine1": { @@ -15561,7 +15558,7 @@ "example": "USA" }, "zipCode": { - "description": "Zipcode (First 5 digits) of the address.", + "description": "Zip code (First 5 digits) of the address.Required if 'country' is 'US'.", "type": "string", "pattern": "^\\d{5}?$", "example": "12345" @@ -15655,7 +15652,7 @@ "example": "USA" }, "zipCode": { - "description": "Zipcode (First 5 digits) of the address. Required if claimant information provided.", + "description": "Zip code (First 5 digits) of the address. Required if 'countryCode' is 'US'.", "type": "string", "pattern": "^\\d{5}?$", "example": "12345" @@ -15774,7 +15771,7 @@ "example": "USA" }, "zipCode": { - "description": "Zipcode (First 5 digits) of the address.", + "description": "Zip code (First 5 digits) of the address. Required if 'countryCode' is 'US'.", "type": "string", "pattern": "^\\d{5}?$", "example": "12345" @@ -16196,8 +16193,7 @@ "addressLine1", "city", "country", - "stateCode", - "zipCode" + "stateCode" ], "properties": { "addressLine1": { @@ -16228,7 +16224,7 @@ "example": "USA" }, "zipCode": { - "description": "Zipcode (First 5 digits) of the address.", + "description": "Zip code (First 5 digits) of the address. Required if 'countryCode' is 'US'.", "type": "string", "pattern": "^\\d{5}?$", "example": "12345" @@ -16333,7 +16329,7 @@ "example": "USA" }, "zipCode": { - "description": "Zipcode (First 5 digits) of the address. Required if claimant information provided.", + "description": "Zip code (First 5 digits) of the address. Required if 'countryCode' is 'US'.", "type": "string", "pattern": "^\\d{5}?$", "example": "12345" @@ -16536,10 +16532,10 @@ "application/json": { "example": { "data": { - "id": "1d02f5ef-4f02-4a84-bffd-3a572697b5bd", + "id": "d4d1336a-8a6f-45b6-81c8-13ae358b40d3", "type": "claimsApiPowerOfAttorneys", "attributes": { - "dateRequestAccepted": "2024-11-25", + "dateRequestAccepted": "2024-12-02", "previousPoa": null, "representative": { "serviceOrganization": { From a7ef8ee00e29bc872628394c5950e204d1cd2c73 Mon Sep 17 00:00:00 2001 From: rockwellwindsor-va Date: Tue, 3 Dec 2024 13:03:23 -0600 Subject: [PATCH 3/7] API-42951-poa-v2-zip-code-updates * Fixes misplaced `countryCode` usage * Adjusts missing missing spaces in the docs * Compiles docs w/ updates * Refactors `validate_address_zip_code` with `validate_zip` method to remove code duplication * A few other small linting fixes based on PR feedback modified: modules/claims_api/app/controllers/concerns/claims_api/v2/power_of_attorney_validation.rb modified: modules/claims_api/app/swagger/claims_api/v2/dev/swagger.json modified: modules/claims_api/app/swagger/claims_api/v2/production/swagger.json modified: modules/claims_api/config/schemas/v2/2122a.json --- .../v2/power_of_attorney_validation.rb | 38 +++++++------------ .../swagger/claims_api/v2/dev/swagger.json | 24 ++++++------ .../claims_api/v2/production/swagger.json | 24 ++++++------ .../claims_api/config/schemas/v2/2122a.json | 6 +-- 4 files changed, 40 insertions(+), 52 deletions(-) diff --git a/modules/claims_api/app/controllers/concerns/claims_api/v2/power_of_attorney_validation.rb b/modules/claims_api/app/controllers/concerns/claims_api/v2/power_of_attorney_validation.rb index dde7dd0e016..c880df6d1d4 100644 --- a/modules/claims_api/app/controllers/concerns/claims_api/v2/power_of_attorney_validation.rb +++ b/modules/claims_api/app/controllers/concerns/claims_api/v2/power_of_attorney_validation.rb @@ -7,9 +7,10 @@ module ClaimsApi module V2 module PowerOfAttorneyValidation include ClaimsApi::DependentClaimantValidation + def validate_form_2122_and_2122a_submission_values(user_profile:, veteran_participant_id: nil, poa_code: nil, base: nil) - validate_address_values + validate_non_claimant_address_values validate_claimant_fields(user_profile) if [veteran_participant_id, user_profile, poa_code, base].all?(&:present?) validate_dependent_claimant(veteran_participant_id:, user_profile:, poa_code:, base:) @@ -42,27 +43,11 @@ def build_dependent_claimant_verification_service(veteran_participant_id:, user_ # the Claimant object is already being validatated below, # so that code has been adjusted and it is being left out of this workflow - def validate_address_values - address_objects = { veteran: 'veteran', representative: 'representative' } - - address_objects.each do |key, base| - address = form_attributes.dig(key.to_s, 'address') + def validate_non_claimant_address_values + %w[veteran representative].each do |base| + address = form_attributes.dig(base, 'address') - validate_zip(address, base) if address.present? - end - end - - def validate_zip(address, base) - country = address['country']&.downcase - return unless country == 'us' - - zip_code = address['zipCode'] - - if zip_code.blank? - collect_error_messages( - source: "/#{base}/address/zipCode", - detail: "If 'countryCode' is 'US' then 'zipCode' is required." - ) + validate_address_zip_code(address, base) if address.present? end end @@ -112,7 +97,7 @@ def validate_address validate_address_city(address) validate_address_state_code(address) validate_address_country(address) - validate_address_zip_code(address) + validate_address_zip_code(address, 'claimant') end end @@ -152,10 +137,13 @@ def validate_address_country(address) end end - def validate_address_zip_code(address) - if address['zipCode'].blank? && address['country'].downcase == 'us' + def validate_address_zip_code(address, base) + country = address['country']&.downcase + return unless country == 'us' + + if address['zipCode'].blank? collect_error_messages( - source: '/claimant/address/zipCode', + source: "/#{base}/address/zipCode", detail: "If 'countryCode' is 'US' then 'zipCode' is required." ) end diff --git a/modules/claims_api/app/swagger/claims_api/v2/dev/swagger.json b/modules/claims_api/app/swagger/claims_api/v2/dev/swagger.json index c8323563861..7a2f717b3b3 100644 --- a/modules/claims_api/app/swagger/claims_api/v2/dev/swagger.json +++ b/modules/claims_api/app/swagger/claims_api/v2/dev/swagger.json @@ -4394,7 +4394,7 @@ "202 without a transactionId": { "value": { "data": { - "id": "b0ed11f7-d0eb-49a8-b1d7-508bd017d66d", + "id": "ce4cc364-21ad-4ade-a887-64721c2c74ab", "type": "forms/526", "attributes": { "claimId": "600442191", @@ -4625,7 +4625,7 @@ "202 with a transactionId": { "value": { "data": { - "id": "a86cfd6f-4d15-4ac5-81eb-2b3c0a27d86e", + "id": "ed553239-0ac5-40c7-b31c-c78353328fd7", "type": "forms/526", "attributes": { "claimId": "600442191", @@ -9838,7 +9838,7 @@ "application/json": { "example": { "data": { - "id": "e947e9ea-c8b4-4faf-8ec1-dd8f8361e44c", + "id": "bc69fdbf-ee25-4e60-bfbc-fb27d6ec76c6", "type": "forms/526", "attributes": { "claimProcessType": "STANDARD_CLAIM_PROCESS", @@ -14477,7 +14477,7 @@ "application/json": { "example": { "data": { - "id": "f9eaba7d-4466-4ec8-8482-e44269e20c18", + "id": "13761101-8a9a-472c-8d8f-01c8ade2644f", "type": "individual", "attributes": { "code": "067", @@ -14823,7 +14823,7 @@ "example": "USA" }, "zipCode": { - "description": "Zip code (First 5 digits) of the address.Required if 'country' is 'US'.", + "description": "Zip code (First 5 digits) of the address. Required if 'country' is 'US'.", "type": "string", "pattern": "^\\d{5}?$", "example": "12345" @@ -14917,7 +14917,7 @@ "example": "USA" }, "zipCode": { - "description": "Zip code (First 5 digits) of the address. Required if 'countryCode' is 'US'.", + "description": "Zip code (First 5 digits) of the address. Required if 'country' is 'US'.", "type": "string", "pattern": "^\\d{5}?$", "example": "12345" @@ -15036,7 +15036,7 @@ "example": "USA" }, "zipCode": { - "description": "Zip code (First 5 digits) of the address. Required if 'countryCode' is 'US'.", + "description": "Zip code (First 5 digits) of the address. Required if 'country' is 'US'.", "type": "string", "pattern": "^\\d{5}?$", "example": "12345" @@ -15248,7 +15248,7 @@ "application/json": { "example": { "data": { - "id": "1589969c-900f-42a2-a9c1-28031aea9f51", + "id": "62f52d53-c83b-457c-a1fa-f14f33a61f75", "type": "organization", "attributes": { "code": "083", @@ -16267,7 +16267,7 @@ "example": "USA" }, "zipCode": { - "description": "Zip code (First 5 digits) of the address.Required if 'country' is 'US'.", + "description": "Zip code (First 5 digits) of the address. Required if 'country' is 'US'.", "type": "string", "pattern": "^\\d{5}?$", "example": "12345" @@ -16361,7 +16361,7 @@ "example": "USA" }, "zipCode": { - "description": "Zip code (First 5 digits) of the address. Required if 'countryCode' is 'US'.", + "description": "Zip code (First 5 digits) of the address. Required if 'country' is 'US'.", "type": "string", "pattern": "^\\d{5}?$", "example": "12345" @@ -16480,7 +16480,7 @@ "example": "USA" }, "zipCode": { - "description": "Zip code (First 5 digits) of the address. Required if 'countryCode' is 'US'.", + "description": "Zip code (First 5 digits) of the address. Required if 'country' is 'US'.", "type": "string", "pattern": "^\\d{5}?$", "example": "12345" @@ -17241,7 +17241,7 @@ "application/json": { "example": { "data": { - "id": "6ee1eb7f-bff2-42e5-ad5f-f598b3a0cb7b", + "id": "12dc6dab-8a5b-4820-9fec-bed5595fc904", "type": "claimsApiPowerOfAttorneys", "attributes": { "dateRequestAccepted": "2024-12-03", diff --git a/modules/claims_api/app/swagger/claims_api/v2/production/swagger.json b/modules/claims_api/app/swagger/claims_api/v2/production/swagger.json index 7608ad0e916..05165e17e2d 100644 --- a/modules/claims_api/app/swagger/claims_api/v2/production/swagger.json +++ b/modules/claims_api/app/swagger/claims_api/v2/production/swagger.json @@ -3685,7 +3685,7 @@ "202 without a transactionId": { "value": { "data": { - "id": "90357ec6-e5b7-4308-858b-d762743db12d", + "id": "e9601789-6464-499a-a646-cf82632ad135", "type": "forms/526", "attributes": { "claimId": "600442191", @@ -3916,7 +3916,7 @@ "202 with a transactionId": { "value": { "data": { - "id": "e1db764b-4261-4dc5-97b3-9f2e96f0ca38", + "id": "a289481a-8de0-4a60-9596-4050bd8c9336", "type": "forms/526", "attributes": { "claimId": "600442191", @@ -9129,7 +9129,7 @@ "application/json": { "example": { "data": { - "id": "c0a562c0-572e-4c49-9d21-66b93547c6cb", + "id": "fdfd0213-d0b3-4e67-90d8-79ee67d1cccb", "type": "forms/526", "attributes": { "claimProcessType": "STANDARD_CLAIM_PROCESS", @@ -13768,7 +13768,7 @@ "application/json": { "example": { "data": { - "id": "40f663bb-9fc0-4001-a183-395c406594ff", + "id": "6563ef4b-5b84-49ce-af8a-84ca4d83fae3", "type": "individual", "attributes": { "code": "067", @@ -14114,7 +14114,7 @@ "example": "USA" }, "zipCode": { - "description": "Zip code (First 5 digits) of the address.Required if 'country' is 'US'.", + "description": "Zip code (First 5 digits) of the address. Required if 'country' is 'US'.", "type": "string", "pattern": "^\\d{5}?$", "example": "12345" @@ -14208,7 +14208,7 @@ "example": "USA" }, "zipCode": { - "description": "Zip code (First 5 digits) of the address. Required if 'countryCode' is 'US'.", + "description": "Zip code (First 5 digits) of the address. Required if 'country' is 'US'.", "type": "string", "pattern": "^\\d{5}?$", "example": "12345" @@ -14327,7 +14327,7 @@ "example": "USA" }, "zipCode": { - "description": "Zip code (First 5 digits) of the address. Required if 'countryCode' is 'US'.", + "description": "Zip code (First 5 digits) of the address. Required if 'country' is 'US'.", "type": "string", "pattern": "^\\d{5}?$", "example": "12345" @@ -14539,7 +14539,7 @@ "application/json": { "example": { "data": { - "id": "05e15b1b-680a-4df4-8078-91d408f7242e", + "id": "691c0d73-fbca-42a3-b7ea-2ec07294265d", "type": "organization", "attributes": { "code": "083", @@ -15558,7 +15558,7 @@ "example": "USA" }, "zipCode": { - "description": "Zip code (First 5 digits) of the address.Required if 'country' is 'US'.", + "description": "Zip code (First 5 digits) of the address. Required if 'country' is 'US'.", "type": "string", "pattern": "^\\d{5}?$", "example": "12345" @@ -15652,7 +15652,7 @@ "example": "USA" }, "zipCode": { - "description": "Zip code (First 5 digits) of the address. Required if 'countryCode' is 'US'.", + "description": "Zip code (First 5 digits) of the address. Required if 'country' is 'US'.", "type": "string", "pattern": "^\\d{5}?$", "example": "12345" @@ -15771,7 +15771,7 @@ "example": "USA" }, "zipCode": { - "description": "Zip code (First 5 digits) of the address. Required if 'countryCode' is 'US'.", + "description": "Zip code (First 5 digits) of the address. Required if 'country' is 'US'.", "type": "string", "pattern": "^\\d{5}?$", "example": "12345" @@ -16532,7 +16532,7 @@ "application/json": { "example": { "data": { - "id": "b36a7c49-43cf-41a3-ac4f-12fdc7130dec", + "id": "fb64434b-9a0e-4114-af2a-5d8b2cba7764", "type": "claimsApiPowerOfAttorneys", "attributes": { "dateRequestAccepted": "2024-12-03", diff --git a/modules/claims_api/config/schemas/v2/2122a.json b/modules/claims_api/config/schemas/v2/2122a.json index 808523b4d76..1a66d1094bb 100644 --- a/modules/claims_api/config/schemas/v2/2122a.json +++ b/modules/claims_api/config/schemas/v2/2122a.json @@ -78,7 +78,7 @@ "example": "USA" }, "zipCode": { - "description": "Zip code (First 5 digits) of the address.Required if 'country' is 'US'.", + "description": "Zip code (First 5 digits) of the address. Required if 'country' is 'US'.", "type": "string", "pattern": "^\\d{5}?$", "example": "12345" @@ -164,7 +164,7 @@ "example": "USA" }, "zipCode": { - "description": "Zip code (First 5 digits) of the address. Required if 'countryCode' is 'US'.", + "description": "Zip code (First 5 digits) of the address. Required if 'country' is 'US'.", "type": "string", "pattern": "^\\d{5}?$", "example": "12345" @@ -275,7 +275,7 @@ "example": "USA" }, "zipCode": { - "description": "Zip code (First 5 digits) of the address. Required if 'countryCode' is 'US'.", + "description": "Zip code (First 5 digits) of the address. Required if 'country' is 'US'.", "type": "string", "pattern": "^\\d{5}?$", "example": "12345" From 1c5549a3aedae0458c51afe1d02603100768c30f Mon Sep 17 00:00:00 2001 From: rockwellwindsor-va Date: Tue, 3 Dec 2024 13:08:28 -0600 Subject: [PATCH 4/7] Fixes two more instances countryCode => country --- .../concerns/claims_api/v2/power_of_attorney_validation.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/claims_api/app/controllers/concerns/claims_api/v2/power_of_attorney_validation.rb b/modules/claims_api/app/controllers/concerns/claims_api/v2/power_of_attorney_validation.rb index c880df6d1d4..fe0a45678b3 100644 --- a/modules/claims_api/app/controllers/concerns/claims_api/v2/power_of_attorney_validation.rb +++ b/modules/claims_api/app/controllers/concerns/claims_api/v2/power_of_attorney_validation.rb @@ -89,7 +89,7 @@ def validate_address collect_error_messages( source: '/claimant/address/', detail: "If claimant is present 'address' must be filled in " \ - "with required fields addressLine1, city, stateCode and country. If the stateCode is 'US' " \ + "with required fields addressLine1, city, stateCode and country. If the country is 'US' " \ 'then zipCode is also required.' ) else @@ -144,7 +144,7 @@ def validate_address_zip_code(address, base) if address['zipCode'].blank? collect_error_messages( source: "/#{base}/address/zipCode", - detail: "If 'countryCode' is 'US' then 'zipCode' is required." + detail: "If 'country' is 'US' then 'zipCode' is required." ) end end From 6209e2803bf795d83461ade184f849fa23eff20c Mon Sep 17 00:00:00 2001 From: rockwellwindsor-va Date: Tue, 3 Dec 2024 14:01:53 -0600 Subject: [PATCH 5/7] Reintroduces some countryCode strings, this will need to wait for that update to go in to finish --- .../v2/power_of_attorney_validation.rb | 6 +- .../swagger/claims_api/v2/dev/swagger.json | 4045 +++++++++++++---- .../claims_api/config/schemas/v2/2122a.json | 6 +- .../veterans/power_of_attorney/2122a_spec.rb | 2 +- .../power_of_attorney_request_spec.rb | 2 +- 5 files changed, 3210 insertions(+), 851 deletions(-) diff --git a/modules/claims_api/app/controllers/concerns/claims_api/v2/power_of_attorney_validation.rb b/modules/claims_api/app/controllers/concerns/claims_api/v2/power_of_attorney_validation.rb index fe0a45678b3..51dcedc0246 100644 --- a/modules/claims_api/app/controllers/concerns/claims_api/v2/power_of_attorney_validation.rb +++ b/modules/claims_api/app/controllers/concerns/claims_api/v2/power_of_attorney_validation.rb @@ -89,7 +89,7 @@ def validate_address collect_error_messages( source: '/claimant/address/', detail: "If claimant is present 'address' must be filled in " \ - "with required fields addressLine1, city, stateCode and country. If the country is 'US' " \ + "with required fields addressLine1, city, stateCode and countryCode. If the countryCode is 'US' " \ 'then zipCode is also required.' ) else @@ -132,7 +132,7 @@ def validate_address_country(address) if address['country'].nil? collect_error_messages( source: '/claimant/address/country', - detail: "If claimant is present 'country' must be filled in" + detail: "If claimant is present 'countryCode' must be filled in" ) end end @@ -144,7 +144,7 @@ def validate_address_zip_code(address, base) if address['zipCode'].blank? collect_error_messages( source: "/#{base}/address/zipCode", - detail: "If 'country' is 'US' then 'zipCode' is required." + detail: "If 'countryCode' is 'US' then 'zipCode' is required." ) end end diff --git a/modules/claims_api/app/swagger/claims_api/v2/dev/swagger.json b/modules/claims_api/app/swagger/claims_api/v2/dev/swagger.json index 7a2f717b3b3..fe43abbdc77 100644 --- a/modules/claims_api/app/swagger/claims_api/v2/dev/swagger.json +++ b/modules/claims_api/app/swagger/claims_api/v2/dev/swagger.json @@ -117,19 +117,31 @@ "type": "object", "properties": { "VSOUserEmail": { - "type": "string" + "type": [ + "string", + "null" + ] }, "VSOUserFirstName": { - "type": "string" + "type": [ + "string", + "null" + ] }, "VSOUserLastName": { - "type": "string" + "type": [ + "string", + "null" + ] }, "dateRequestActioned": { "type": "string" }, "declinedReason": { - "type": "string" + "type": [ + "string", + "null" + ] }, "procId": { "type": "string" @@ -355,7 +367,10 @@ ] }, "declinedReason": { - "type": "string", + "type": [ + "string", + "null" + ], "description": "The reason for declining the request.", "nullable": true }, @@ -502,34 +517,64 @@ "type": "object", "properties": { "VSOUserEmail": { - "type": "string" + "type": [ + "string", + "null" + ] }, "VSOUserFirstName": { - "type": "string" + "type": [ + "string", + "null" + ] }, "VSOUserLastName": { - "type": "string" + "type": [ + "string", + "null" + ] }, "changeAddressAuth": { - "type": "string" + "type": [ + "string", + "null" + ] }, "claimantCity": { - "type": "string" + "type": [ + "string", + "null" + ] }, "claimantCountry": { - "type": "string" + "type": [ + "string", + "null" + ] }, "claimantMilitaryPO": { - "type": "string" + "type": [ + "string", + "null" + ] }, "claimantMilitaryPostalCode": { - "type": "string" + "type": [ + "string", + "null" + ] }, "claimantState": { - "type": "string" + "type": [ + "string", + "null" + ] }, "claimantZip": { - "type": "string" + "type": [ + "string", + "null" + ] }, "dateRequestActioned": { "type": "string" @@ -538,13 +583,22 @@ "type": "string" }, "declinedReason": { - "type": "string" + "type": [ + "string", + "null" + ] }, "healthInfoAuth": { - "type": "string" + "type": [ + "string", + "null" + ] }, "poaCode": { - "type": "string" + "type": [ + "string", + "null" + ] }, "procID": { "type": "string" @@ -553,16 +607,28 @@ "type": "string" }, "vetFirstName": { - "type": "string" + "type": [ + "string", + "null" + ] }, "vetLastName": { - "type": "string" + "type": [ + "string", + "null" + ] }, "vetMiddleName": { - "type": "string" + "type": [ + "string", + "null" + ] }, "vetPtcpntID": { - "type": "string" + "type": [ + "string", + "null" + ] } } } @@ -1246,7 +1312,10 @@ "properties": { "trackedItemIds": { "description": "Array of tracked items ids.", - "type": "array", + "type": [ + "array", + "null" + ], "nullable": true, "uniqueItems": true, "items": { @@ -1371,25 +1440,37 @@ ], "properties": { "serviceNumber": { - "type": "string", + "type": [ + "null", + "string" + ], "description": "Service identification number", "maxLength": 1000, "nullable": true }, "veteranNumber": { "description": "If there isn't a ten digit phone number in VBMS for the Veteran, the exams will not be ordered. Including the phone number is recommended to avoid claim processing delays.", - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "properties": { "telephone": { "description": "Veteran's phone number.", - "type": "string", + "type": [ + "string", + "null" + ], "pattern": "^\\d{10}?$", "example": "5555555555", "nullable": true }, "internationalTelephone": { - "type": "string", + "type": [ + "string", + "null" + ], "description": "Veteran's international phone number.", "example": "+44 20 1234 5678", "maxLength": 1000, @@ -1415,7 +1496,10 @@ }, "addressLine2": { "description": "Address line 2 for the Veteran's current mailing address.", - "type": "string", + "type": [ + "string", + "null" + ], "pattern": "^([-a-zA-Z0-9'.,&#]([-a-zA-Z0-9'.,&# ])?)+$", "maxLength": 20, "example": "Unit 4", @@ -1423,7 +1507,10 @@ }, "addressLine3": { "description": "Address line 3 for the Veteran's current mailing address.", - "type": "string", + "type": [ + "string", + "null" + ], "pattern": "^([-a-zA-Z0-9'.,&#]([-a-zA-Z0-9'.,&# ])?)+$", "maxLength": 20, "example": "Room 1", @@ -1439,7 +1526,10 @@ }, "state": { "description": "State for the Veteran's current mailing address. Required if 'country' is 'USA'.", - "type": "string", + "type": [ + "string", + "null" + ], "pattern": "^[a-z,A-Z]{2}$", "example": "NY", "nullable": true @@ -1452,21 +1542,30 @@ }, "zipFirstFive": { "description": "Zip code (First 5 digits) for the Veteran's current mailing address. Required if 'country' is 'USA'.", - "type": "string", + "type": [ + "string", + "null" + ], "pattern": "^\\d{5}?$", "example": "12345", "nullable": true }, "zipLastFour": { "description": "Zip code (Last 4 digits) for the Veteran's current mailing address.", - "type": "string", + "type": [ + "string", + "null" + ], "pattern": "^\\d{4}?$", "example": "6789", "nullable": true }, "internationalPostalCode": { "description": "International postal code for the Veteran's current mailing address. Do not include if 'country' is 'USA'.", - "type": "string", + "type": [ + "string", + "null" + ], "maxLength": 16, "nullable": true, "pattern": "^[a-zA-Z0-9]*$" @@ -1475,18 +1574,27 @@ }, "emailAddress": { "description": "Information associated with the Veteran's email address.", - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "properties": { "email": { - "type": "string", + "type": [ + "string", + "null" + ], "pattern": "^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w{2,3})+$", "description": "The most current email address of the Veteran.", "maxLength": 50, "nullable": true }, "agreeToEmailRelatedToClaim": { - "type": "boolean", + "type": [ + "boolean", + "null" + ], "description": "Agreement to email information relating to this claim.", "example": true, "default": false, @@ -1503,7 +1611,10 @@ }, "changeOfAddress": { "description": "If 'changeOfAddress' is included, the following attributes are required: 'typeOfAddressChange', 'addressLine1', 'city', 'country'.", - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "additionalProperties": false, "properties": { @@ -1525,7 +1636,10 @@ }, "addressLine2": { "description": "Address line 2 for the Veteran's new address.", - "type": "string", + "type": [ + "string", + "null" + ], "pattern": "^([-a-zA-Z0-9'.,&#]([-a-zA-Z0-9'.,&# ])?)+$", "maxLength": 20, "example": "Unit 4", @@ -1533,7 +1647,10 @@ }, "addressLine3": { "description": "Address line 3 for the Veteran's new address.", - "type": "string", + "type": [ + "string", + "null" + ], "pattern": "^([-a-zA-Z0-9'.,&#]([-a-zA-Z0-9'.,&# ])?)+$", "maxLength": 20, "example": "Room 1", @@ -1549,7 +1666,10 @@ }, "state": { "description": "State for the Veteran's new address. Required if 'country' is 'USA'.", - "type": "string", + "type": [ + "string", + "null" + ], "pattern": "^$|^[a-z,A-Z]{2}$", "example": "NY", "nullable": true @@ -1562,21 +1682,30 @@ }, "zipFirstFive": { "description": "Zip code (First 5 digits) for the Veteran's new address. Required if 'country' is 'USA'.", - "type": "string", + "type": [ + "string", + "null" + ], "pattern": "^$|^\\d{5}?$", "example": "12345", "nullable": true }, "zipLastFour": { "description": "Zip code (Last 4 digits) for the Veteran's new address.", - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "pattern": "^$|^\\d{4}?$", "example": "6789" }, "internationalPostalCode": { "description": "International postal code for the Veteran's new address. Do not include if 'country' is 'USA'.", - "type": "string", + "type": [ + "string", + "null" + ], "maxLength": 16, "nullable": true, "pattern": "^[a-zA-Z0-9]*$" @@ -1587,13 +1716,19 @@ "beginDate": { "description": "Begin date for the Veteran's new address.", "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$", - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "example": "2018-06-04" }, "endDate": { "description": "Date in YYYY-MM-DD the changed address expires, if change is temporary.", - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$", "example": "2018-06-04" @@ -1603,23 +1738,35 @@ } }, "homeless": { - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "additionalProperties": false, "properties": { "isCurrentlyHomeless": { - "type": "boolean", + "type": [ + "boolean", + "null" + ], "nullable": true, "description": "Is the Veteran currently homeless?" }, "currentlyHomeless": { - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "additionalProperties": false, "properties": { "homelessSituationOptions": { "description": "Veteran's living situation.", - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "default": "other", "enum": [ @@ -1627,13 +1774,17 @@ "NOT_CURRENTLY_IN_A_SHELTERED_ENVIRONMENT", "STAYING_WITH_ANOTHER_PERSON", "FLEEING_CURRENT_RESIDENCE", - "OTHER" + "OTHER", + null ], "example": "FLEEING_CURRENT_RESIDENCE" }, "otherDescription": { "description": "Explanation of living situation. Required if 'homelessSituationOptions' is 'OTHER'.", - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "maxLength": 500, "example": "other living situation" @@ -1641,28 +1792,41 @@ } }, "isAtRiskOfBecomingHomeless": { - "type": "boolean", + "type": [ + "boolean", + "null" + ], "nullable": true, "description": "Is the Veteran currently at risk of becoming homeless?" }, "riskOfBecomingHomeless": { - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "additionalProperties": false, "properties": { "livingSituationOptions": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "default": "HOUSING_WILL_BE_LOST_IN_30_DAYS", "enum": [ "HOUSING_WILL_BE_LOST_IN_30_DAYS", "LEAVING_PUBLICLY_FUNDED_SYSTEM_OF_CARE", - "OTHER" + "OTHER", + null ] }, "otherDescription": { "description": "Explanation of living situation. Required if 'livingSituationOptions' is 'OTHER'.", - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "maxLength": 500, "example": "other living situation" @@ -1671,7 +1835,10 @@ }, "pointOfContact": { "description": "Individual in direct contact with Veteran.", - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "minLength": 1, "maxLength": 100, @@ -1679,20 +1846,29 @@ "example": "Jane Doe" }, "pointOfContactNumber": { - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "additionalProperties": false, "properties": { "telephone": { "description": "Ten digit primary phone of point of contact.", - "type": "string", + "type": [ + "string", + "null" + ], "pattern": "^\\d{10}?$", "example": "5555555", "nullable": true }, "internationalTelephone": { "description": "International phone of point of contact.", - "type": "string", + "type": [ + "string", + "null" + ], "example": "+44 20 1234 5678", "maxLength": 1000, "nullable": true @@ -1702,38 +1878,57 @@ } }, "toxicExposure": { - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "properties": { "gulfWarHazardService": { - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "description": "Toxic exposure related to the Gulf war.", "properties": { "servedInGulfWarHazardLocations": { - "type": "string", + "type": [ + "string", + "null" + ], "description": "Set to true if the Veteran served in any of the following Gulf War hazard locations: Iraq; Kuwait; Saudi Arabia; the neutral zone between Iraq and Saudi Arabia; Bahrain; Qatar; the United Arab Emirates; Oman; Yemen; Lebanon; Somalia; Afghanistan; Israel; Egypt; Turkey; Syria; Jordan; Djibouti; Uzbekistan; the Gulf of Aden; the Gulf of Oman; the Persian Gulf; the Arabian Sea; and the Red Sea.", "example": "YES", "enum": [ "NO", - "YES" + "YES", + null ], "nullable": true }, "serviceDates": { - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "description": "Date range for when the exposure happened.", "properties": { "beginDate": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "description": "Approximate begin date for serving in Gulf War hazard location.", "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", "example": "2018-06 or 2018" }, "endDate": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "description": "Approximate end date for serving in Gulf War hazard location.", "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", @@ -1745,21 +1940,31 @@ }, "herbicideHazardService": { "description": "Toxic exposure related to herbicide (Agent Orange) hazards.", - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "properties": { "servedInHerbicideHazardLocations": { - "type": "string", + "type": [ + "string", + "null" + ], "description": "Set to true if the Veteran served in any of the following herbicide/Agent Orange locations: Republic of Vietnam to include the 12 nautical mile territorial waters; Thailand at any United States or Royal Thai base; Laos; Cambodia at Mimot or Krek; Kampong Cham Province; Guam or American Samoa; or in the territorial waters thereof; Johnston Atoll or a ship that called at Johnston Atoll; Korean demilitarized zone; aboard (to include repeated operations and maintenance with) a C-123 aircraft known to have been used to spray an herbicide agent (during service in the Air Force and Air Force Reserves).", "example": "YES", "enum": [ "NO", - "YES" + "YES", + null ], "nullable": true }, "otherLocationsServed": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "pattern": "^$|([a-zA-Z0-9\"\\/&\\(\\)\\-'.,#\\[\\] ]([a-zA-Z0-9(\\)\\-'.,#\\[\\] ])?)+$", "maxLength": 5000, @@ -1767,18 +1972,27 @@ }, "serviceDates": { "description": "Date range for exposure in herbicide hazard location.", - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "properties": { "beginDate": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "description": "Approximate begin date for serving in herbicide location.", "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", "example": "2018-06 or 2018" }, "endDate": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "description": "Approximate end date for serving in herbicide location.", "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", @@ -1789,13 +2003,19 @@ } }, "additionalHazardExposures": { - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "description": "Additional hazardous exposures.", "properties": { "additionalExposures": { "description": "Additional exposure incidents.", - "type": "array", + "type": [ + "array", + "null" + ], "nullable": true, "uniqueItems": true, "items": { @@ -1808,31 +2028,44 @@ "SHIPBOARD_HAZARD_AND_DEFENSE", "MILITARY_OCCUPATIONAL_SPECIALTY_RELATED_TOXIN", "CONTAMINATED_WATER_AT_CAMP_LEJEUNE", - "OTHER" + "OTHER", + null ] } }, "specifyOtherExposures": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "pattern": "^$|([a-zA-Z0-9\"\\/&\\(\\)\\-'.,#\\[\\] ]([a-zA-Z0-9(\\)\\-'.,#\\[\\] ])?)+$", "maxLength": 5000, "description": "Exposure to asbestos." }, "exposureDates": { - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "description": "Date range for when the exposure happened.", "properties": { "beginDate": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "description": "Approximate begin date for exposure.", "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", "example": "2018-06 or 2018" }, "endDate": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "description": "Approximate end date for exposure.", "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", @@ -1843,7 +2076,10 @@ } }, "multipleExposures": { - "type": "array", + "type": [ + "array", + "null" + ], "nullable": true, "minItems": 1, "uniqueItems": true, @@ -1852,33 +2088,48 @@ "additionalProperties": false, "properties": { "hazardExposedTo": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "pattern": "^([-a-zA-Z0-9'.,&# ])+$", "maxLength": 1000, "description": "Hazard the Veteran was exposed to." }, "exposureLocation": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "pattern": "^$|([a-zA-Z0-9\"\\/&\\(\\)\\-'.,#\\[\\] ]([a-zA-Z0-9(\\)\\-'.,#\\[\\] ])?)+$", "maxLength": 1000, "description": "Location where the exposure happened." }, "exposureDates": { - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "description": "Date range for when the exposure happened.", "properties": { "beginDate": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "description": "Approximate begin date for exposure.", "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", "example": "2018-06 or 2018" }, "endDate": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "description": "Approximate end date for exposure.", "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", @@ -1911,7 +2162,10 @@ "maxLength": 255 }, "exposureOrEventOrInjury": { - "type": "string", + "type": [ + "string", + "null" + ], "description": "What caused the disability?", "nullable": true, "maxLength": 1000, @@ -1923,14 +2177,20 @@ }, "serviceRelevance": { "description": "Explanation of how the disability(ies) relates to the in-service event/exposure/injury. If the disabilityActionType is 'NEW', the serviceRelevance is required.", - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "maxLength": 1000, "example": "Heavy equipment operator in service." }, "approximateDate": { "description": "Approximate date disability began. Date must be in the past. \n Format can be either YYYY-MM-DD or YYYY-MM or YYYY", - "type": "string", + "type": [ + "string", + "null" + ], "pattern": "^(?:[0-9]{4}(?:-(?!00)(?:0[1-9]|1[0-2])(?:-(?:0[1-9]|[1-2][0-9]|3[0-1]))?)?)$", "example": "2018-03-02 or 2018-03 or 2018", "nullable": true @@ -1946,32 +2206,47 @@ "example": "NEW" }, "classificationCode": { - "type": "string", + "type": [ + "string", + "null" + ], "description": "Classification code for the associated body system. Must match an active code returned by the /disabilities endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current).", "example": "249470", "nullable": true }, "ratedDisabilityId": { "description": "When submitting a contention with action type 'INCREASE', the previously rated disability id may be included.", - "type": "string", + "type": [ + "string", + "null" + ], "example": "1100583", "nullable": true }, "diagnosticCode": { "description": "If the disabilityActionType is 'NONE' or 'INCREASE', the diagnosticCode should correspond to an existing rated disability.", - "type": "integer", + "type": [ + "integer", + "null" + ], "example": 9999, "nullable": true }, "isRelatedToToxicExposure": { - "type": "boolean", + "type": [ + "boolean", + "null" + ], "description": "Is the disability related to toxic exposures? If true, related 'toxicExposure' must be included.", "example": true, "default": false, "nullable": true }, "specialIssues": { - "type": "array", + "type": [ + "array", + "null" + ], "nullable": true, "uniqueItems": true, "items": { @@ -1986,7 +2261,10 @@ }, "secondaryDisabilities": { "description": "If secondaryDisability is included, the following attributes are required: 'secondaryDisability.name', 'secondaryDisability.disabilityActionType' and 'secondaryDisability.serviceRelevance'", - "type": "array", + "type": [ + "array", + "null" + ], "items": { "type": "object", "additionalProperties": false, @@ -1999,7 +2277,10 @@ "maxLength": 255 }, "exposureOrEventOrInjury": { - "type": "string", + "type": [ + "string", + "null" + ], "description": "What caused the disability?", "nullable": true, "maxLength": 1000, @@ -2011,7 +2292,10 @@ }, "serviceRelevance": { "description": "Explanation of how the disability(ies) relates to the in-service event/exposure/injury.", - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "maxLength": 1000, "example": "Heavy equipment operator in service." @@ -2026,13 +2310,19 @@ }, "approximateDate": { "description": "Approximate date disability began. Date must be in the past. \n Format can be either YYYY-MM-DD or YYYY-MM or YYYY", - "type": "string", + "type": [ + "string", + "null" + ], "pattern": "^(?:[0-9]{4}(?:-(?!00)(?:0[1-9]|1[0-2])(?:-(?:0[1-9]|[1-2][0-9]|3[0-1]))?)?)$", "example": "2018-03-02 or 2018-03 or 2018", "nullable": true }, "classificationCode": { - "type": "string", + "type": [ + "string", + "null" + ], "description": "Classification code for the associated body system. Must match an active code returned by the /disabilities endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current).", "example": "249470", "nullable": true @@ -2045,7 +2335,10 @@ }, "treatments": { "description": "Identifies the Service Treatment information of the Veteran. The combination of treatedDisabilityName, center name, center city, and center state must be less than 1000 characters to successfully generate a PDF.", - "type": "array", + "type": [ + "array", + "null" + ], "nullable": true, "uniqueItems": true, "items": { @@ -2054,14 +2347,20 @@ "properties": { "beginDate": { "description": "Begin date for treatment. If treatment began from 2005 to present, you do not need to provide dates. Each treatment begin date must be after the first 'servicePeriod.activeDutyBeginDate'.", - "type": "string", + "type": [ + "string", + "null" + ], "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", "example": "2018-06 or 2018", "nullable": true }, "treatedDisabilityNames": { "description": "Name(s) of disabilities treated in this time frame.", - "type": "array", + "type": [ + "array", + "null" + ], "nullable": true, "maxItems": 101, "items": { @@ -2075,13 +2374,19 @@ }, "center": { "description": "VA Medical Center(s) and Department of Defense Military Treatment Facilities where the Veteran received treatment after discharge for any claimed disabilities.", - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "additionalProperties": false, "properties": { "name": { "description": "Name of facility Veteran was treated in. The /treatment-centers endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current) may be used to retrieve possible treatment center names.", - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "pattern": "([a-zA-Z0-9\"/&()\\'-'.,# ]([a-zA-Z0-9()\\'-'.,# ])?)+$", "example": "Private Facility 2", @@ -2090,7 +2395,10 @@ }, "city": { "description": "City of treatment facility.", - "type": "string", + "type": [ + "string", + "null" + ], "pattern": "([a-zA-Z0-9\\-'.# ]([a-zA-Z0-9\\-'.# ])?)+$", "example": "Portland", "nullable": true, @@ -2099,7 +2407,10 @@ }, "state": { "description": "State of treatment facility.", - "type": "string", + "type": [ + "string", + "null" + ], "pattern": "^$|^[a-z,A-Z]{2}$", "example": "OR", "nullable": true @@ -2118,7 +2429,10 @@ "properties": { "alternateNames": { "description": "List any other names under which the Veteran served, if applicable.", - "type": "array", + "type": [ + "array", + "null" + ], "nullable": true, "maxItems": 100, "uniqueItems": true, @@ -2174,7 +2488,10 @@ }, "separationLocationCode": { "description": "Location code for the facility the Veteran plans to separate from. Code must match the values returned by the /intake-sites endpoint on the [Benefits reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current).", - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "example": "98283" } @@ -2182,43 +2499,63 @@ } }, "servedInActiveCombatSince911": { - "type": "string", + "type": [ + "string", + "null" + ], "enum": [ "YES", - "NO" + "NO", + null ], "description": "Did Veteran serve in a combat zone since 9-11-2001?", "example": "YES", "nullable": true }, "reservesNationalGuardService": { - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "additionalProperties": false, "properties": { "component": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "description": "", "enum": [ "Reserves", - "National Guard" + "National Guard", + null ] }, "obligationTermsOfService": { - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "description": "If 'obligationTermsOfService' is included, the following attributes are required: 'beginDate ' and 'endDate'.", "additionalProperties": false, "properties": { "beginDate": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$", "example": "2018-06-06" }, "endDate": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$", "example": "2018-06-06" @@ -2226,31 +2563,46 @@ } }, "unitName": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "maxLength": 1000, "pattern": "^$|([a-zA-Z0-9\\-'.,# ][a-zA-Z0-9\\-'.,# ]?)*$" }, "unitAddress": { - "type": "string", + "type": [ + "string", + "null" + ], "maxLength": 1000, "pattern": "^$|^([-a-zA-Z0-9'.,&# ])+$", "nullable": true }, "unitPhone": { - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "additionalProperties": false, "properties": { "areaCode": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "maxLength": 3, "pattern": "^$|^\\d{3}$", "example": "555" }, "phoneNumber": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "maxLength": 20, "example": "5555555" @@ -2258,10 +2610,14 @@ } }, "receivingInactiveDutyTrainingPay": { - "type": "string", + "type": [ + "string", + "null" + ], "enum": [ "YES", - "NO" + "NO", + null ], "nullable": true, "example": "YES" @@ -2270,20 +2626,29 @@ }, "federalActivation": { "description": "If federalActivation is present then reservesNationalGuardService.obligationTermsOfService.beginDate, reservesNationalGuardService.obligationTermsOfService.endDate and reservesNationalGuardService.unitName are required", - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "additionalProperties": false, "properties": { "activationDate": { "description": "Date cannot be in the future and must be after the earliest servicePeriod.activeDutyBeginDate.", - "type": "string", + "type": [ + "string", + "null" + ], "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$", "example": "2018-06-06", "nullable": true }, "anticipatedSeparationDate": { "description": "Anticipated date of separation. Date must be in the future.", - "type": "string", + "type": [ + "string", + "null" + ], "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$", "example": "2018-06-06", "nullable": true @@ -2291,7 +2656,10 @@ } }, "confinements": { - "type": "array", + "type": [ + "array", + "null" + ], "nullable": true, "uniqueItems": true, "items": { @@ -2300,13 +2668,17 @@ "properties": { "approximateBeginDate": { "description": "The approximateBeginDate must be after the earliest servicePeriod activeDutyBeginDate.", - "type": "string", + "type": [ + "string" + ], "nullable": false, "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$|(?:[0-9]{4})-(?:0[1-9]|1[0-2])$", "example": "2018-06-06 or 2018-06" }, "approximateEndDate": { - "type": "string", + "type": [ + "string" + ], "nullable": false, "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$|(?:[0-9]{4})-(?:0[1-9]|1[0-2])$", "example": "2018-06-06 or 2018-06" @@ -2317,52 +2689,75 @@ } }, "servicePay": { - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "additionalProperties": false, "properties": { "receivingMilitaryRetiredPay": { "description": "Is the Veteran receiving military retired pay?", - "type": "string", + "type": [ + "string", + "null" + ], "enum": [ "YES", - "NO" + "NO", + null ], "example": "YES", "nullable": true }, "futureMilitaryRetiredPay": { "description": "Will the Veteran receive military retired pay pay in future? \n If true, then 'futurePayExplanation' is required.", - "type": "string", + "type": [ + "string", + "null" + ], "enum": [ "YES", - "NO" + "NO", + null ], "example": "YES", "nullable": true }, "futureMilitaryRetiredPayExplanation": { "description": "Explains why future pay will be received.", - "type": "string", + "type": [ + "string", + "null" + ], "maxLength": 1000, "example": "Will be retiring soon.", "nullable": true }, "militaryRetiredPay": { - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "description": "", "properties": { "branchOfService": { "description": "Branch of service. The /service-branches endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current) may be used to retrieve list of possible service branches.", - "type": "string", + "type": [ + "string", + "null" + ], "maxLength": 1000, "nullable": true, "example": "Air Force" }, "monthlyAmount": { "description": "Amount being received.", - "type": "integer", + "type": [ + "integer", + "null" + ], "nullable": true, "minimum": 1, "maximum": 999999, @@ -2371,53 +2766,76 @@ } }, "retiredStatus": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "description": "", "enum": [ "RETIRED", "TEMPORARY_DISABILITY_RETIRED_LIST", - "PERMANENT_DISABILITY_RETIRED_LIST" + "PERMANENT_DISABILITY_RETIRED_LIST", + null ] }, "favorMilitaryRetiredPay": { "description": "Is the Veteran waiving VA benefits to retain military retired pay? See item 26 on form 21-526EZ for more details.", - "type": "boolean", + "type": [ + "boolean", + "null" + ], "nullable": true, "example": true, "default": false }, "receivedSeparationOrSeverancePay": { "description": "Has the Veteran ever received separation pay, disability severance pay, or any other lump sum payment from their branch of service?", - "type": "string", + "type": [ + "string", + "null" + ], "enum": [ "YES", - "NO" + "NO", + null ], "example": "YES", "nullable": true }, "separationSeverancePay": { - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "description": "", "properties": { "datePaymentReceived": { "description": "Approximate date separation pay was received. \n Format can be either YYYY-MM-DD or YYYY-MM or YYYY", - "type": "string", + "type": [ + "string", + "null" + ], "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$|(?:[0-9]{4})$|(?:[0-9]{4})-(?:0[1-9]|1[0-2])$", "example": "2018-03-02 or 2018-03 or 2018" }, "branchOfService": { "description": "Branch of service. The /service-branches endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current) may be used to retrieve list of possible service branches.", - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "maxLength": 1000, "example": "Air Force" }, "preTaxAmountReceived": { "description": "Amount being received.", - "type": "integer", + "type": [ + "integer", + "null" + ], "nullable": true, "minimum": 1, "maximum": 999999, @@ -2427,7 +2845,10 @@ }, "favorTrainingPay": { "description": "Is the Veteran waiving VA benefits to retain training pay? See item 28 on form 21-526EZ for more details. ", - "type": "boolean", + "type": [ + "boolean", + "null" + ], "nullable": true, "example": true, "default": false @@ -2435,13 +2856,19 @@ } }, "directDeposit": { - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "additionalProperties": false, "description": "If direct deposit information is included, the following attributes are required: accountType, accountNumber, routingNumber.", "properties": { "noAccount": { - "type": "boolean", + "type": [ + "boolean", + "null" + ], "nullable": true, "description": "Claimant certifies that they do not have an account with a financial institution or certified payment agent.", "default": false @@ -2449,31 +2876,44 @@ "accountNumber": { "description": "Account number for the direct deposit.", "pattern": "^(?:[a-zA-Z0-9-]{4,1000})?$", - "type": "string", + "type": [ + "string", + "null" + ], "maxLength": 1000, "nullable": true, "example": "123123123123" }, "accountType": { "description": "Account type for the direct deposit.", - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "example": "CHECKING", "enum": [ "CHECKING", - "SAVINGS" + "SAVINGS", + null ] }, "financialInstitutionName": { "description": "Provide the name of the financial institution where the Veteran wants the direct deposit.", "maxLength": 1000, - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "example": "Some Bank" }, "routingNumber": { "description": "Routing number for the direct deposit.", - "type": "string", + "type": [ + "string", + "null" + ], "maxLength": 1000, "nullable": true, "pattern": "^$|^\\d{0,1000}$", @@ -2487,7 +2927,10 @@ "default": false }, "claimNotes": { - "type": "string", + "type": [ + "string", + "null" + ], "description": "An optional notes section.", "maxLength": 4000 }, @@ -2721,7 +3164,13 @@ "type": "object", "required": [ "attributes", - null + [ + "claimantCertification", + "claimProcessType", + "disabilities", + "serviceInformation", + "veteranIdentification" + ] ], "properties": { "attributes": { @@ -2755,25 +3204,37 @@ ], "properties": { "serviceNumber": { - "type": "string", + "type": [ + "null", + "string" + ], "description": "Service identification number", "maxLength": 1000, "nullable": true }, "veteranNumber": { "description": "If there isn't a ten digit phone number in VBMS for the Veteran, the exams will not be ordered. Including the phone number is recommended to avoid claim processing delays.", - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "properties": { "telephone": { "description": "Veteran's phone number.", - "type": "string", + "type": [ + "string", + "null" + ], "pattern": "^\\d{10}?$", "example": "5555555555", "nullable": true }, "internationalTelephone": { - "type": "string", + "type": [ + "string", + "null" + ], "description": "Veteran's international phone number.", "example": "+44 20 1234 5678", "maxLength": 1000, @@ -2799,7 +3260,10 @@ }, "addressLine2": { "description": "Address line 2 for the Veteran's current mailing address.", - "type": "string", + "type": [ + "string", + "null" + ], "pattern": "^([-a-zA-Z0-9'.,&#]([-a-zA-Z0-9'.,&# ])?)+$", "maxLength": 20, "example": "Unit 4", @@ -2807,7 +3271,10 @@ }, "addressLine3": { "description": "Address line 3 for the Veteran's current mailing address.", - "type": "string", + "type": [ + "string", + "null" + ], "pattern": "^([-a-zA-Z0-9'.,&#]([-a-zA-Z0-9'.,&# ])?)+$", "maxLength": 20, "example": "Room 1", @@ -2823,7 +3290,10 @@ }, "state": { "description": "State for the Veteran's current mailing address. Required if 'country' is 'USA'.", - "type": "string", + "type": [ + "string", + "null" + ], "pattern": "^[a-z,A-Z]{2}$", "example": "NY", "nullable": true @@ -2836,21 +3306,30 @@ }, "zipFirstFive": { "description": "Zip code (First 5 digits) for the Veteran's current mailing address. Required if 'country' is 'USA'.", - "type": "string", + "type": [ + "string", + "null" + ], "pattern": "^\\d{5}?$", "example": "12345", "nullable": true }, "zipLastFour": { "description": "Zip code (Last 4 digits) for the Veteran's current mailing address.", - "type": "string", + "type": [ + "string", + "null" + ], "pattern": "^\\d{4}?$", "example": "6789", "nullable": true }, "internationalPostalCode": { "description": "International postal code for the Veteran's current mailing address. Do not include if 'country' is 'USA'.", - "type": "string", + "type": [ + "string", + "null" + ], "maxLength": 16, "nullable": true, "pattern": "^[a-zA-Z0-9]*$" @@ -2859,18 +3338,27 @@ }, "emailAddress": { "description": "Information associated with the Veteran's email address.", - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "properties": { "email": { - "type": "string", + "type": [ + "string", + "null" + ], "pattern": "^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w{2,3})+$", "description": "The most current email address of the Veteran.", "maxLength": 50, "nullable": true }, "agreeToEmailRelatedToClaim": { - "type": "boolean", + "type": [ + "boolean", + "null" + ], "description": "Agreement to email information relating to this claim.", "example": true, "default": false, @@ -2887,7 +3375,10 @@ }, "changeOfAddress": { "description": "If 'changeOfAddress' is included, the following attributes are required: 'typeOfAddressChange', 'addressLine1', 'city', 'country'.", - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "additionalProperties": false, "properties": { @@ -2909,7 +3400,10 @@ }, "addressLine2": { "description": "Address line 2 for the Veteran's new address.", - "type": "string", + "type": [ + "string", + "null" + ], "pattern": "^([-a-zA-Z0-9'.,&#]([-a-zA-Z0-9'.,&# ])?)+$", "maxLength": 20, "example": "Unit 4", @@ -2917,7 +3411,10 @@ }, "addressLine3": { "description": "Address line 3 for the Veteran's new address.", - "type": "string", + "type": [ + "string", + "null" + ], "pattern": "^([-a-zA-Z0-9'.,&#]([-a-zA-Z0-9'.,&# ])?)+$", "maxLength": 20, "example": "Room 1", @@ -2933,7 +3430,10 @@ }, "state": { "description": "State for the Veteran's new address. Required if 'country' is 'USA'.", - "type": "string", + "type": [ + "string", + "null" + ], "pattern": "^$|^[a-z,A-Z]{2}$", "example": "NY", "nullable": true @@ -2946,21 +3446,30 @@ }, "zipFirstFive": { "description": "Zip code (First 5 digits) for the Veteran's new address. Required if 'country' is 'USA'.", - "type": "string", + "type": [ + "string", + "null" + ], "pattern": "^$|^\\d{5}?$", "example": "12345", "nullable": true }, "zipLastFour": { "description": "Zip code (Last 4 digits) for the Veteran's new address.", - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "pattern": "^$|^\\d{4}?$", "example": "6789" }, "internationalPostalCode": { "description": "International postal code for the Veteran's new address. Do not include if 'country' is 'USA'.", - "type": "string", + "type": [ + "string", + "null" + ], "maxLength": 16, "nullable": true, "pattern": "^[a-zA-Z0-9]*$" @@ -2971,13 +3480,19 @@ "beginDate": { "description": "Begin date for the Veteran's new address.", "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$", - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "example": "2018-06-04" }, "endDate": { "description": "Date in YYYY-MM-DD the changed address expires, if change is temporary.", - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$", "example": "2018-06-04" @@ -2987,23 +3502,35 @@ } }, "homeless": { - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "additionalProperties": false, "properties": { "isCurrentlyHomeless": { - "type": "boolean", + "type": [ + "boolean", + "null" + ], "nullable": true, "description": "Is the Veteran currently homeless?" }, "currentlyHomeless": { - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "additionalProperties": false, "properties": { "homelessSituationOptions": { "description": "Veteran's living situation.", - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "default": "other", "enum": [ @@ -3011,13 +3538,17 @@ "NOT_CURRENTLY_IN_A_SHELTERED_ENVIRONMENT", "STAYING_WITH_ANOTHER_PERSON", "FLEEING_CURRENT_RESIDENCE", - "OTHER" + "OTHER", + null ], "example": "FLEEING_CURRENT_RESIDENCE" }, "otherDescription": { "description": "Explanation of living situation. Required if 'homelessSituationOptions' is 'OTHER'.", - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "maxLength": 500, "example": "other living situation" @@ -3025,28 +3556,41 @@ } }, "isAtRiskOfBecomingHomeless": { - "type": "boolean", + "type": [ + "boolean", + "null" + ], "nullable": true, "description": "Is the Veteran currently at risk of becoming homeless?" }, "riskOfBecomingHomeless": { - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "additionalProperties": false, "properties": { "livingSituationOptions": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "default": "HOUSING_WILL_BE_LOST_IN_30_DAYS", "enum": [ "HOUSING_WILL_BE_LOST_IN_30_DAYS", "LEAVING_PUBLICLY_FUNDED_SYSTEM_OF_CARE", - "OTHER" + "OTHER", + null ] }, "otherDescription": { "description": "Explanation of living situation. Required if 'livingSituationOptions' is 'OTHER'.", - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "maxLength": 500, "example": "other living situation" @@ -3055,7 +3599,10 @@ }, "pointOfContact": { "description": "Individual in direct contact with Veteran.", - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "minLength": 1, "maxLength": 100, @@ -3063,20 +3610,29 @@ "example": "Jane Doe" }, "pointOfContactNumber": { - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "additionalProperties": false, "properties": { "telephone": { "description": "Ten digit primary phone of point of contact.", - "type": "string", + "type": [ + "string", + "null" + ], "pattern": "^\\d{10}?$", "example": "5555555", "nullable": true }, "internationalTelephone": { "description": "International phone of point of contact.", - "type": "string", + "type": [ + "string", + "null" + ], "example": "+44 20 1234 5678", "maxLength": 1000, "nullable": true @@ -3086,38 +3642,57 @@ } }, "toxicExposure": { - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "properties": { "gulfWarHazardService": { - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "description": "Toxic exposure related to the Gulf war.", "properties": { "servedInGulfWarHazardLocations": { - "type": "string", + "type": [ + "string", + "null" + ], "description": "Set to true if the Veteran served in any of the following Gulf War hazard locations: Iraq; Kuwait; Saudi Arabia; the neutral zone between Iraq and Saudi Arabia; Bahrain; Qatar; the United Arab Emirates; Oman; Yemen; Lebanon; Somalia; Afghanistan; Israel; Egypt; Turkey; Syria; Jordan; Djibouti; Uzbekistan; the Gulf of Aden; the Gulf of Oman; the Persian Gulf; the Arabian Sea; and the Red Sea.", "example": "YES", "enum": [ "NO", - "YES" + "YES", + null ], "nullable": true }, "serviceDates": { - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "description": "Date range for when the exposure happened.", "properties": { "beginDate": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "description": "Approximate begin date for serving in Gulf War hazard location.", "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", "example": "2018-06 or 2018" }, "endDate": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "description": "Approximate end date for serving in Gulf War hazard location.", "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", @@ -3129,21 +3704,31 @@ }, "herbicideHazardService": { "description": "Toxic exposure related to herbicide (Agent Orange) hazards.", - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "properties": { "servedInHerbicideHazardLocations": { - "type": "string", + "type": [ + "string", + "null" + ], "description": "Set to true if the Veteran served in any of the following herbicide/Agent Orange locations: Republic of Vietnam to include the 12 nautical mile territorial waters; Thailand at any United States or Royal Thai base; Laos; Cambodia at Mimot or Krek; Kampong Cham Province; Guam or American Samoa; or in the territorial waters thereof; Johnston Atoll or a ship that called at Johnston Atoll; Korean demilitarized zone; aboard (to include repeated operations and maintenance with) a C-123 aircraft known to have been used to spray an herbicide agent (during service in the Air Force and Air Force Reserves).", "example": "YES", "enum": [ "NO", - "YES" + "YES", + null ], "nullable": true }, "otherLocationsServed": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "pattern": "^$|([a-zA-Z0-9\"\\/&\\(\\)\\-'.,#\\[\\] ]([a-zA-Z0-9(\\)\\-'.,#\\[\\] ])?)+$", "maxLength": 5000, @@ -3151,18 +3736,27 @@ }, "serviceDates": { "description": "Date range for exposure in herbicide hazard location.", - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "properties": { "beginDate": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "description": "Approximate begin date for serving in herbicide location.", "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", "example": "2018-06 or 2018" }, "endDate": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "description": "Approximate end date for serving in herbicide location.", "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", @@ -3173,13 +3767,19 @@ } }, "additionalHazardExposures": { - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "description": "Additional hazardous exposures.", "properties": { "additionalExposures": { "description": "Additional exposure incidents.", - "type": "array", + "type": [ + "array", + "null" + ], "nullable": true, "uniqueItems": true, "items": { @@ -3192,31 +3792,44 @@ "SHIPBOARD_HAZARD_AND_DEFENSE", "MILITARY_OCCUPATIONAL_SPECIALTY_RELATED_TOXIN", "CONTAMINATED_WATER_AT_CAMP_LEJEUNE", - "OTHER" + "OTHER", + null ] } }, "specifyOtherExposures": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "pattern": "^$|([a-zA-Z0-9\"\\/&\\(\\)\\-'.,#\\[\\] ]([a-zA-Z0-9(\\)\\-'.,#\\[\\] ])?)+$", "maxLength": 5000, "description": "Exposure to asbestos." }, "exposureDates": { - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "description": "Date range for when the exposure happened.", "properties": { "beginDate": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "description": "Approximate begin date for exposure.", "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", "example": "2018-06 or 2018" }, "endDate": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "description": "Approximate end date for exposure.", "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", @@ -3227,7 +3840,10 @@ } }, "multipleExposures": { - "type": "array", + "type": [ + "array", + "null" + ], "nullable": true, "minItems": 1, "uniqueItems": true, @@ -3236,33 +3852,48 @@ "additionalProperties": false, "properties": { "hazardExposedTo": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "pattern": "^([-a-zA-Z0-9'.,&# ])+$", "maxLength": 1000, "description": "Hazard the Veteran was exposed to." }, "exposureLocation": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "pattern": "^$|([a-zA-Z0-9\"\\/&\\(\\)\\-'.,#\\[\\] ]([a-zA-Z0-9(\\)\\-'.,#\\[\\] ])?)+$", "maxLength": 1000, "description": "Location where the exposure happened." }, "exposureDates": { - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "description": "Date range for when the exposure happened.", "properties": { "beginDate": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "description": "Approximate begin date for exposure.", "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", "example": "2018-06 or 2018" }, "endDate": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "description": "Approximate end date for exposure.", "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", @@ -3295,7 +3926,10 @@ "maxLength": 255 }, "exposureOrEventOrInjury": { - "type": "string", + "type": [ + "string", + "null" + ], "description": "What caused the disability?", "nullable": true, "maxLength": 1000, @@ -3307,14 +3941,20 @@ }, "serviceRelevance": { "description": "Explanation of how the disability(ies) relates to the in-service event/exposure/injury. If the disabilityActionType is 'NEW', the serviceRelevance is required.", - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "maxLength": 1000, "example": "Heavy equipment operator in service." }, "approximateDate": { "description": "Approximate date disability began. Date must be in the past. \n Format can be either YYYY-MM-DD or YYYY-MM or YYYY", - "type": "string", + "type": [ + "string", + "null" + ], "pattern": "^(?:[0-9]{4}(?:-(?!00)(?:0[1-9]|1[0-2])(?:-(?:0[1-9]|[1-2][0-9]|3[0-1]))?)?)$", "example": "2018-03-02 or 2018-03 or 2018", "nullable": true @@ -3330,32 +3970,47 @@ "example": "NEW" }, "classificationCode": { - "type": "string", + "type": [ + "string", + "null" + ], "description": "Classification code for the associated body system. Must match an active code returned by the /disabilities endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current).", "example": "249470", "nullable": true }, "ratedDisabilityId": { "description": "When submitting a contention with action type 'INCREASE', the previously rated disability id may be included.", - "type": "string", + "type": [ + "string", + "null" + ], "example": "1100583", "nullable": true }, "diagnosticCode": { "description": "If the disabilityActionType is 'NONE' or 'INCREASE', the diagnosticCode should correspond to an existing rated disability.", - "type": "integer", + "type": [ + "integer", + "null" + ], "example": 9999, "nullable": true }, "isRelatedToToxicExposure": { - "type": "boolean", + "type": [ + "boolean", + "null" + ], "description": "Is the disability related to toxic exposures? If true, related 'toxicExposure' must be included.", "example": true, "default": false, "nullable": true }, "specialIssues": { - "type": "array", + "type": [ + "array", + "null" + ], "nullable": true, "uniqueItems": true, "items": { @@ -3370,7 +4025,10 @@ }, "secondaryDisabilities": { "description": "If secondaryDisability is included, the following attributes are required: 'secondaryDisability.name', 'secondaryDisability.disabilityActionType' and 'secondaryDisability.serviceRelevance'", - "type": "array", + "type": [ + "array", + "null" + ], "items": { "type": "object", "additionalProperties": false, @@ -3383,7 +4041,10 @@ "maxLength": 255 }, "exposureOrEventOrInjury": { - "type": "string", + "type": [ + "string", + "null" + ], "description": "What caused the disability?", "nullable": true, "maxLength": 1000, @@ -3395,7 +4056,10 @@ }, "serviceRelevance": { "description": "Explanation of how the disability(ies) relates to the in-service event/exposure/injury.", - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "maxLength": 1000, "example": "Heavy equipment operator in service." @@ -3410,13 +4074,19 @@ }, "approximateDate": { "description": "Approximate date disability began. Date must be in the past. \n Format can be either YYYY-MM-DD or YYYY-MM or YYYY", - "type": "string", + "type": [ + "string", + "null" + ], "pattern": "^(?:[0-9]{4}(?:-(?!00)(?:0[1-9]|1[0-2])(?:-(?:0[1-9]|[1-2][0-9]|3[0-1]))?)?)$", "example": "2018-03-02 or 2018-03 or 2018", "nullable": true }, "classificationCode": { - "type": "string", + "type": [ + "string", + "null" + ], "description": "Classification code for the associated body system. Must match an active code returned by the /disabilities endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current).", "example": "249470", "nullable": true @@ -3429,7 +4099,10 @@ }, "treatments": { "description": "Identifies the Service Treatment information of the Veteran. The combination of treatedDisabilityName, center name, center city, and center state must be less than 1000 characters to successfully generate a PDF.", - "type": "array", + "type": [ + "array", + "null" + ], "nullable": true, "uniqueItems": true, "items": { @@ -3438,14 +4111,20 @@ "properties": { "beginDate": { "description": "Begin date for treatment. If treatment began from 2005 to present, you do not need to provide dates. Each treatment begin date must be after the first 'servicePeriod.activeDutyBeginDate'.", - "type": "string", + "type": [ + "string", + "null" + ], "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", "example": "2018-06 or 2018", "nullable": true }, "treatedDisabilityNames": { "description": "Name(s) of disabilities treated in this time frame.", - "type": "array", + "type": [ + "array", + "null" + ], "nullable": true, "maxItems": 101, "items": { @@ -3459,13 +4138,19 @@ }, "center": { "description": "VA Medical Center(s) and Department of Defense Military Treatment Facilities where the Veteran received treatment after discharge for any claimed disabilities.", - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "additionalProperties": false, "properties": { "name": { "description": "Name of facility Veteran was treated in. The /treatment-centers endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current) may be used to retrieve possible treatment center names.", - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "pattern": "([a-zA-Z0-9\"/&()\\'-'.,# ]([a-zA-Z0-9()\\'-'.,# ])?)+$", "example": "Private Facility 2", @@ -3474,7 +4159,10 @@ }, "city": { "description": "City of treatment facility.", - "type": "string", + "type": [ + "string", + "null" + ], "pattern": "([a-zA-Z0-9\\-'.# ]([a-zA-Z0-9\\-'.# ])?)+$", "example": "Portland", "nullable": true, @@ -3483,7 +4171,10 @@ }, "state": { "description": "State of treatment facility.", - "type": "string", + "type": [ + "string", + "null" + ], "pattern": "^$|^[a-z,A-Z]{2}$", "example": "OR", "nullable": true @@ -3502,7 +4193,10 @@ "properties": { "alternateNames": { "description": "List any other names under which the Veteran served, if applicable.", - "type": "array", + "type": [ + "array", + "null" + ], "nullable": true, "maxItems": 100, "uniqueItems": true, @@ -3558,7 +4252,10 @@ }, "separationLocationCode": { "description": "Location code for the facility the Veteran plans to separate from. Code must match the values returned by the /intake-sites endpoint on the [Benefits reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current).", - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "example": "98283" } @@ -3566,43 +4263,63 @@ } }, "servedInActiveCombatSince911": { - "type": "string", + "type": [ + "string", + "null" + ], "enum": [ "YES", - "NO" + "NO", + null ], "description": "Did Veteran serve in a combat zone since 9-11-2001?", "example": "YES", "nullable": true }, "reservesNationalGuardService": { - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "additionalProperties": false, "properties": { "component": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "description": "", "enum": [ "Reserves", - "National Guard" + "National Guard", + null ] }, "obligationTermsOfService": { - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "description": "If 'obligationTermsOfService' is included, the following attributes are required: 'beginDate ' and 'endDate'.", "additionalProperties": false, "properties": { "beginDate": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$", "example": "2018-06-06" }, "endDate": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$", "example": "2018-06-06" @@ -3610,31 +4327,46 @@ } }, "unitName": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "maxLength": 1000, "pattern": "^$|([a-zA-Z0-9\\-'.,# ][a-zA-Z0-9\\-'.,# ]?)*$" }, "unitAddress": { - "type": "string", + "type": [ + "string", + "null" + ], "maxLength": 1000, "pattern": "^$|^([-a-zA-Z0-9'.,&# ])+$", "nullable": true }, "unitPhone": { - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "additionalProperties": false, "properties": { "areaCode": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "maxLength": 3, "pattern": "^$|^\\d{3}$", "example": "555" }, "phoneNumber": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "maxLength": 20, "example": "5555555" @@ -3642,10 +4374,14 @@ } }, "receivingInactiveDutyTrainingPay": { - "type": "string", + "type": [ + "string", + "null" + ], "enum": [ "YES", - "NO" + "NO", + null ], "nullable": true, "example": "YES" @@ -3654,20 +4390,29 @@ }, "federalActivation": { "description": "If federalActivation is present then reservesNationalGuardService.obligationTermsOfService.beginDate, reservesNationalGuardService.obligationTermsOfService.endDate and reservesNationalGuardService.unitName are required", - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "additionalProperties": false, "properties": { "activationDate": { "description": "Date cannot be in the future and must be after the earliest servicePeriod.activeDutyBeginDate.", - "type": "string", + "type": [ + "string", + "null" + ], "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$", "example": "2018-06-06", "nullable": true }, "anticipatedSeparationDate": { "description": "Anticipated date of separation. Date must be in the future.", - "type": "string", + "type": [ + "string", + "null" + ], "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$", "example": "2018-06-06", "nullable": true @@ -3675,7 +4420,10 @@ } }, "confinements": { - "type": "array", + "type": [ + "array", + "null" + ], "nullable": true, "uniqueItems": true, "items": { @@ -3684,13 +4432,17 @@ "properties": { "approximateBeginDate": { "description": "The approximateBeginDate must be after the earliest servicePeriod activeDutyBeginDate.", - "type": "string", + "type": [ + "string" + ], "nullable": false, "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$|(?:[0-9]{4})-(?:0[1-9]|1[0-2])$", "example": "2018-06-06 or 2018-06" }, "approximateEndDate": { - "type": "string", + "type": [ + "string" + ], "nullable": false, "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$|(?:[0-9]{4})-(?:0[1-9]|1[0-2])$", "example": "2018-06-06 or 2018-06" @@ -3701,52 +4453,75 @@ } }, "servicePay": { - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "additionalProperties": false, "properties": { "receivingMilitaryRetiredPay": { "description": "Is the Veteran receiving military retired pay?", - "type": "string", + "type": [ + "string", + "null" + ], "enum": [ "YES", - "NO" + "NO", + null ], "example": "YES", "nullable": true }, "futureMilitaryRetiredPay": { "description": "Will the Veteran receive military retired pay pay in future? \n If true, then 'futurePayExplanation' is required.", - "type": "string", + "type": [ + "string", + "null" + ], "enum": [ "YES", - "NO" + "NO", + null ], "example": "YES", "nullable": true }, "futureMilitaryRetiredPayExplanation": { "description": "Explains why future pay will be received.", - "type": "string", + "type": [ + "string", + "null" + ], "maxLength": 1000, "example": "Will be retiring soon.", "nullable": true }, "militaryRetiredPay": { - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "description": "", "properties": { "branchOfService": { "description": "Branch of service. The /service-branches endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current) may be used to retrieve list of possible service branches.", - "type": "string", + "type": [ + "string", + "null" + ], "maxLength": 1000, "nullable": true, "example": "Air Force" }, "monthlyAmount": { "description": "Amount being received.", - "type": "integer", + "type": [ + "integer", + "null" + ], "nullable": true, "minimum": 1, "maximum": 999999, @@ -3755,53 +4530,76 @@ } }, "retiredStatus": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "description": "", "enum": [ "RETIRED", "TEMPORARY_DISABILITY_RETIRED_LIST", - "PERMANENT_DISABILITY_RETIRED_LIST" + "PERMANENT_DISABILITY_RETIRED_LIST", + null ] }, "favorMilitaryRetiredPay": { "description": "Is the Veteran waiving VA benefits to retain military retired pay? See item 26 on form 21-526EZ for more details.", - "type": "boolean", + "type": [ + "boolean", + "null" + ], "nullable": true, "example": true, "default": false }, "receivedSeparationOrSeverancePay": { "description": "Has the Veteran ever received separation pay, disability severance pay, or any other lump sum payment from their branch of service?", - "type": "string", + "type": [ + "string", + "null" + ], "enum": [ "YES", - "NO" + "NO", + null ], "example": "YES", "nullable": true }, "separationSeverancePay": { - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "description": "", "properties": { "datePaymentReceived": { "description": "Approximate date separation pay was received. \n Format can be either YYYY-MM-DD or YYYY-MM or YYYY", - "type": "string", + "type": [ + "string", + "null" + ], "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$|(?:[0-9]{4})$|(?:[0-9]{4})-(?:0[1-9]|1[0-2])$", "example": "2018-03-02 or 2018-03 or 2018" }, "branchOfService": { "description": "Branch of service. The /service-branches endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current) may be used to retrieve list of possible service branches.", - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "maxLength": 1000, "example": "Air Force" }, "preTaxAmountReceived": { "description": "Amount being received.", - "type": "integer", + "type": [ + "integer", + "null" + ], "nullable": true, "minimum": 1, "maximum": 999999, @@ -3811,7 +4609,10 @@ }, "favorTrainingPay": { "description": "Is the Veteran waiving VA benefits to retain training pay? See item 28 on form 21-526EZ for more details. ", - "type": "boolean", + "type": [ + "boolean", + "null" + ], "nullable": true, "example": true, "default": false @@ -3819,13 +4620,19 @@ } }, "directDeposit": { - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "additionalProperties": false, "description": "If direct deposit information is included, the following attributes are required: accountType, accountNumber, routingNumber.", "properties": { "noAccount": { - "type": "boolean", + "type": [ + "boolean", + "null" + ], "nullable": true, "description": "Claimant certifies that they do not have an account with a financial institution or certified payment agent.", "default": false @@ -3833,31 +4640,44 @@ "accountNumber": { "description": "Account number for the direct deposit.", "pattern": "^(?:[a-zA-Z0-9-]{4,1000})?$", - "type": "string", + "type": [ + "string", + "null" + ], "maxLength": 1000, "nullable": true, "example": "123123123123" }, "accountType": { "description": "Account type for the direct deposit.", - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "example": "CHECKING", "enum": [ "CHECKING", - "SAVINGS" + "SAVINGS", + null ] }, "financialInstitutionName": { "description": "Provide the name of the financial institution where the Veteran wants the direct deposit.", "maxLength": 1000, - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "example": "Some Bank" }, "routingNumber": { "description": "Routing number for the direct deposit.", - "type": "string", + "type": [ + "string", + "null" + ], "maxLength": 1000, "nullable": true, "pattern": "^$|^\\d{0,1000}$", @@ -3871,7 +4691,10 @@ "default": false }, "claimNotes": { - "type": "string", + "type": [ + "string", + "null" + ], "description": "An optional notes section.", "maxLength": 4000 } @@ -4394,7 +5217,7 @@ "202 without a transactionId": { "value": { "data": { - "id": "ce4cc364-21ad-4ade-a887-64721c2c74ab", + "id": "97681456-b886-48a4-ad9b-e638eb991225", "type": "forms/526", "attributes": { "claimId": "600442191", @@ -4625,7 +5448,7 @@ "202 with a transactionId": { "value": { "data": { - "id": "ed553239-0ac5-40c7-b31c-c78353328fd7", + "id": "60bbc492-8c4e-4ba7-8b8d-169170259197", "type": "forms/526", "attributes": { "claimId": "600442191", @@ -4909,25 +5732,37 @@ ], "properties": { "serviceNumber": { - "type": "string", + "type": [ + "null", + "string" + ], "description": "Service identification number", "maxLength": 1000, "nullable": true }, "veteranNumber": { "description": "If there isn't a ten digit phone number in VBMS for the Veteran, the exams will not be ordered. Including the phone number is recommended to avoid claim processing delays.", - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "properties": { "telephone": { "description": "Veteran's phone number.", - "type": "string", + "type": [ + "string", + "null" + ], "pattern": "^\\d{10}?$", "example": "5555555555", "nullable": true }, "internationalTelephone": { - "type": "string", + "type": [ + "string", + "null" + ], "description": "Veteran's international phone number.", "example": "+44 20 1234 5678", "maxLength": 1000, @@ -4953,7 +5788,10 @@ }, "addressLine2": { "description": "Address line 2 for the Veteran's current mailing address.", - "type": "string", + "type": [ + "string", + "null" + ], "pattern": "^([-a-zA-Z0-9'.,&#]([-a-zA-Z0-9'.,&# ])?)+$", "maxLength": 20, "example": "Unit 4", @@ -4961,7 +5799,10 @@ }, "addressLine3": { "description": "Address line 3 for the Veteran's current mailing address.", - "type": "string", + "type": [ + "string", + "null" + ], "pattern": "^([-a-zA-Z0-9'.,&#]([-a-zA-Z0-9'.,&# ])?)+$", "maxLength": 20, "example": "Room 1", @@ -4977,7 +5818,10 @@ }, "state": { "description": "State for the Veteran's current mailing address. Required if 'country' is 'USA'.", - "type": "string", + "type": [ + "string", + "null" + ], "pattern": "^[a-z,A-Z]{2}$", "example": "NY", "nullable": true @@ -4990,21 +5834,30 @@ }, "zipFirstFive": { "description": "Zip code (First 5 digits) for the Veteran's current mailing address. Required if 'country' is 'USA'.", - "type": "string", + "type": [ + "string", + "null" + ], "pattern": "^\\d{5}?$", "example": "12345", "nullable": true }, "zipLastFour": { "description": "Zip code (Last 4 digits) for the Veteran's current mailing address.", - "type": "string", + "type": [ + "string", + "null" + ], "pattern": "^\\d{4}?$", "example": "6789", "nullable": true }, "internationalPostalCode": { "description": "International postal code for the Veteran's current mailing address. Do not include if 'country' is 'USA'.", - "type": "string", + "type": [ + "string", + "null" + ], "maxLength": 16, "nullable": true, "pattern": "^[a-zA-Z0-9]*$" @@ -5013,18 +5866,27 @@ }, "emailAddress": { "description": "Information associated with the Veteran's email address.", - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "properties": { "email": { - "type": "string", + "type": [ + "string", + "null" + ], "pattern": "^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w{2,3})+$", "description": "The most current email address of the Veteran.", "maxLength": 50, "nullable": true }, "agreeToEmailRelatedToClaim": { - "type": "boolean", + "type": [ + "boolean", + "null" + ], "description": "Agreement to email information relating to this claim.", "example": true, "default": false, @@ -5041,7 +5903,10 @@ }, "changeOfAddress": { "description": "If 'changeOfAddress' is included, the following attributes are required: 'typeOfAddressChange', 'addressLine1', 'city', 'country'.", - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "additionalProperties": false, "properties": { @@ -5063,7 +5928,10 @@ }, "addressLine2": { "description": "Address line 2 for the Veteran's new address.", - "type": "string", + "type": [ + "string", + "null" + ], "pattern": "^([-a-zA-Z0-9'.,&#]([-a-zA-Z0-9'.,&# ])?)+$", "maxLength": 20, "example": "Unit 4", @@ -5071,7 +5939,10 @@ }, "addressLine3": { "description": "Address line 3 for the Veteran's new address.", - "type": "string", + "type": [ + "string", + "null" + ], "pattern": "^([-a-zA-Z0-9'.,&#]([-a-zA-Z0-9'.,&# ])?)+$", "maxLength": 20, "example": "Room 1", @@ -5087,7 +5958,10 @@ }, "state": { "description": "State for the Veteran's new address. Required if 'country' is 'USA'.", - "type": "string", + "type": [ + "string", + "null" + ], "pattern": "^$|^[a-z,A-Z]{2}$", "example": "NY", "nullable": true @@ -5100,21 +5974,30 @@ }, "zipFirstFive": { "description": "Zip code (First 5 digits) for the Veteran's new address. Required if 'country' is 'USA'.", - "type": "string", + "type": [ + "string", + "null" + ], "pattern": "^$|^\\d{5}?$", "example": "12345", "nullable": true }, "zipLastFour": { "description": "Zip code (Last 4 digits) for the Veteran's new address.", - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "pattern": "^$|^\\d{4}?$", "example": "6789" }, "internationalPostalCode": { "description": "International postal code for the Veteran's new address. Do not include if 'country' is 'USA'.", - "type": "string", + "type": [ + "string", + "null" + ], "maxLength": 16, "nullable": true, "pattern": "^[a-zA-Z0-9]*$" @@ -5125,13 +6008,19 @@ "beginDate": { "description": "Begin date for the Veteran's new address.", "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$", - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "example": "2018-06-04" }, "endDate": { "description": "Date in YYYY-MM-DD the changed address expires, if change is temporary.", - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$", "example": "2018-06-04" @@ -5141,23 +6030,35 @@ } }, "homeless": { - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "additionalProperties": false, "properties": { "isCurrentlyHomeless": { - "type": "boolean", + "type": [ + "boolean", + "null" + ], "nullable": true, "description": "Is the Veteran currently homeless?" }, "currentlyHomeless": { - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "additionalProperties": false, "properties": { "homelessSituationOptions": { "description": "Veteran's living situation.", - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "default": "other", "enum": [ @@ -5165,13 +6066,17 @@ "NOT_CURRENTLY_IN_A_SHELTERED_ENVIRONMENT", "STAYING_WITH_ANOTHER_PERSON", "FLEEING_CURRENT_RESIDENCE", - "OTHER" + "OTHER", + null ], "example": "FLEEING_CURRENT_RESIDENCE" }, "otherDescription": { "description": "Explanation of living situation. Required if 'homelessSituationOptions' is 'OTHER'.", - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "maxLength": 500, "example": "other living situation" @@ -5179,28 +6084,41 @@ } }, "isAtRiskOfBecomingHomeless": { - "type": "boolean", + "type": [ + "boolean", + "null" + ], "nullable": true, "description": "Is the Veteran currently at risk of becoming homeless?" }, "riskOfBecomingHomeless": { - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "additionalProperties": false, "properties": { "livingSituationOptions": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "default": "HOUSING_WILL_BE_LOST_IN_30_DAYS", "enum": [ "HOUSING_WILL_BE_LOST_IN_30_DAYS", "LEAVING_PUBLICLY_FUNDED_SYSTEM_OF_CARE", - "OTHER" + "OTHER", + null ] }, "otherDescription": { "description": "Explanation of living situation. Required if 'livingSituationOptions' is 'OTHER'.", - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "maxLength": 500, "example": "other living situation" @@ -5209,7 +6127,10 @@ }, "pointOfContact": { "description": "Individual in direct contact with Veteran.", - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "minLength": 1, "maxLength": 100, @@ -5217,20 +6138,29 @@ "example": "Jane Doe" }, "pointOfContactNumber": { - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "additionalProperties": false, "properties": { "telephone": { "description": "Ten digit primary phone of point of contact.", - "type": "string", + "type": [ + "string", + "null" + ], "pattern": "^\\d{10}?$", "example": "5555555", "nullable": true }, "internationalTelephone": { "description": "International phone of point of contact.", - "type": "string", + "type": [ + "string", + "null" + ], "example": "+44 20 1234 5678", "maxLength": 1000, "nullable": true @@ -5240,38 +6170,57 @@ } }, "toxicExposure": { - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "properties": { "gulfWarHazardService": { - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "description": "Toxic exposure related to the Gulf war.", "properties": { "servedInGulfWarHazardLocations": { - "type": "string", + "type": [ + "string", + "null" + ], "description": "Set to true if the Veteran served in any of the following Gulf War hazard locations: Iraq; Kuwait; Saudi Arabia; the neutral zone between Iraq and Saudi Arabia; Bahrain; Qatar; the United Arab Emirates; Oman; Yemen; Lebanon; Somalia; Afghanistan; Israel; Egypt; Turkey; Syria; Jordan; Djibouti; Uzbekistan; the Gulf of Aden; the Gulf of Oman; the Persian Gulf; the Arabian Sea; and the Red Sea.", "example": "YES", "enum": [ "NO", - "YES" + "YES", + null ], "nullable": true }, "serviceDates": { - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "description": "Date range for when the exposure happened.", "properties": { "beginDate": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "description": "Approximate begin date for serving in Gulf War hazard location.", "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", "example": "2018-06 or 2018" }, "endDate": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "description": "Approximate end date for serving in Gulf War hazard location.", "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", @@ -5283,21 +6232,31 @@ }, "herbicideHazardService": { "description": "Toxic exposure related to herbicide (Agent Orange) hazards.", - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "properties": { "servedInHerbicideHazardLocations": { - "type": "string", + "type": [ + "string", + "null" + ], "description": "Set to true if the Veteran served in any of the following herbicide/Agent Orange locations: Republic of Vietnam to include the 12 nautical mile territorial waters; Thailand at any United States or Royal Thai base; Laos; Cambodia at Mimot or Krek; Kampong Cham Province; Guam or American Samoa; or in the territorial waters thereof; Johnston Atoll or a ship that called at Johnston Atoll; Korean demilitarized zone; aboard (to include repeated operations and maintenance with) a C-123 aircraft known to have been used to spray an herbicide agent (during service in the Air Force and Air Force Reserves).", "example": "YES", "enum": [ "NO", - "YES" + "YES", + null ], "nullable": true }, "otherLocationsServed": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "pattern": "^$|([a-zA-Z0-9\"\\/&\\(\\)\\-'.,#\\[\\] ]([a-zA-Z0-9(\\)\\-'.,#\\[\\] ])?)+$", "maxLength": 5000, @@ -5305,18 +6264,27 @@ }, "serviceDates": { "description": "Date range for exposure in herbicide hazard location.", - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "properties": { "beginDate": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "description": "Approximate begin date for serving in herbicide location.", "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", "example": "2018-06 or 2018" }, "endDate": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "description": "Approximate end date for serving in herbicide location.", "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", @@ -5327,13 +6295,19 @@ } }, "additionalHazardExposures": { - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "description": "Additional hazardous exposures.", "properties": { "additionalExposures": { "description": "Additional exposure incidents.", - "type": "array", + "type": [ + "array", + "null" + ], "nullable": true, "uniqueItems": true, "items": { @@ -5346,31 +6320,44 @@ "SHIPBOARD_HAZARD_AND_DEFENSE", "MILITARY_OCCUPATIONAL_SPECIALTY_RELATED_TOXIN", "CONTAMINATED_WATER_AT_CAMP_LEJEUNE", - "OTHER" + "OTHER", + null ] } }, "specifyOtherExposures": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "pattern": "^$|([a-zA-Z0-9\"\\/&\\(\\)\\-'.,#\\[\\] ]([a-zA-Z0-9(\\)\\-'.,#\\[\\] ])?)+$", "maxLength": 5000, "description": "Exposure to asbestos." }, "exposureDates": { - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "description": "Date range for when the exposure happened.", "properties": { "beginDate": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "description": "Approximate begin date for exposure.", "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", "example": "2018-06 or 2018" }, "endDate": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "description": "Approximate end date for exposure.", "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", @@ -5381,7 +6368,10 @@ } }, "multipleExposures": { - "type": "array", + "type": [ + "array", + "null" + ], "nullable": true, "minItems": 1, "uniqueItems": true, @@ -5390,33 +6380,48 @@ "additionalProperties": false, "properties": { "hazardExposedTo": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "pattern": "^([-a-zA-Z0-9'.,&# ])+$", "maxLength": 1000, "description": "Hazard the Veteran was exposed to." }, "exposureLocation": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "pattern": "^$|([a-zA-Z0-9\"\\/&\\(\\)\\-'.,#\\[\\] ]([a-zA-Z0-9(\\)\\-'.,#\\[\\] ])?)+$", "maxLength": 1000, "description": "Location where the exposure happened." }, "exposureDates": { - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "description": "Date range for when the exposure happened.", "properties": { "beginDate": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "description": "Approximate begin date for exposure.", "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", "example": "2018-06 or 2018" }, "endDate": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "description": "Approximate end date for exposure.", "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", @@ -5449,7 +6454,10 @@ "maxLength": 255 }, "exposureOrEventOrInjury": { - "type": "string", + "type": [ + "string", + "null" + ], "description": "What caused the disability?", "nullable": true, "maxLength": 1000, @@ -5461,14 +6469,20 @@ }, "serviceRelevance": { "description": "Explanation of how the disability(ies) relates to the in-service event/exposure/injury. If the disabilityActionType is 'NEW', the serviceRelevance is required.", - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "maxLength": 1000, "example": "Heavy equipment operator in service." }, "approximateDate": { "description": "Approximate date disability began. Date must be in the past. \n Format can be either YYYY-MM-DD or YYYY-MM or YYYY", - "type": "string", + "type": [ + "string", + "null" + ], "pattern": "^(?:[0-9]{4}(?:-(?!00)(?:0[1-9]|1[0-2])(?:-(?:0[1-9]|[1-2][0-9]|3[0-1]))?)?)$", "example": "2018-03-02 or 2018-03 or 2018", "nullable": true @@ -5484,32 +6498,47 @@ "example": "NEW" }, "classificationCode": { - "type": "string", + "type": [ + "string", + "null" + ], "description": "Classification code for the associated body system. Must match an active code returned by the /disabilities endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current).", "example": "249470", "nullable": true }, "ratedDisabilityId": { "description": "When submitting a contention with action type 'INCREASE', the previously rated disability id may be included.", - "type": "string", + "type": [ + "string", + "null" + ], "example": "1100583", "nullable": true }, "diagnosticCode": { "description": "If the disabilityActionType is 'NONE' or 'INCREASE', the diagnosticCode should correspond to an existing rated disability.", - "type": "integer", + "type": [ + "integer", + "null" + ], "example": 9999, "nullable": true }, "isRelatedToToxicExposure": { - "type": "boolean", + "type": [ + "boolean", + "null" + ], "description": "Is the disability related to toxic exposures? If true, related 'toxicExposure' must be included.", "example": true, "default": false, "nullable": true }, "specialIssues": { - "type": "array", + "type": [ + "array", + "null" + ], "nullable": true, "uniqueItems": true, "items": { @@ -5524,7 +6553,10 @@ }, "secondaryDisabilities": { "description": "If secondaryDisability is included, the following attributes are required: 'secondaryDisability.name', 'secondaryDisability.disabilityActionType' and 'secondaryDisability.serviceRelevance'", - "type": "array", + "type": [ + "array", + "null" + ], "items": { "type": "object", "additionalProperties": false, @@ -5537,7 +6569,10 @@ "maxLength": 255 }, "exposureOrEventOrInjury": { - "type": "string", + "type": [ + "string", + "null" + ], "description": "What caused the disability?", "nullable": true, "maxLength": 1000, @@ -5549,7 +6584,10 @@ }, "serviceRelevance": { "description": "Explanation of how the disability(ies) relates to the in-service event/exposure/injury.", - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "maxLength": 1000, "example": "Heavy equipment operator in service." @@ -5564,13 +6602,19 @@ }, "approximateDate": { "description": "Approximate date disability began. Date must be in the past. \n Format can be either YYYY-MM-DD or YYYY-MM or YYYY", - "type": "string", + "type": [ + "string", + "null" + ], "pattern": "^(?:[0-9]{4}(?:-(?!00)(?:0[1-9]|1[0-2])(?:-(?:0[1-9]|[1-2][0-9]|3[0-1]))?)?)$", "example": "2018-03-02 or 2018-03 or 2018", "nullable": true }, "classificationCode": { - "type": "string", + "type": [ + "string", + "null" + ], "description": "Classification code for the associated body system. Must match an active code returned by the /disabilities endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current).", "example": "249470", "nullable": true @@ -5583,7 +6627,10 @@ }, "treatments": { "description": "Identifies the Service Treatment information of the Veteran. The combination of treatedDisabilityName, center name, center city, and center state must be less than 1000 characters to successfully generate a PDF.", - "type": "array", + "type": [ + "array", + "null" + ], "nullable": true, "uniqueItems": true, "items": { @@ -5592,14 +6639,20 @@ "properties": { "beginDate": { "description": "Begin date for treatment. If treatment began from 2005 to present, you do not need to provide dates. Each treatment begin date must be after the first 'servicePeriod.activeDutyBeginDate'.", - "type": "string", + "type": [ + "string", + "null" + ], "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", "example": "2018-06 or 2018", "nullable": true }, "treatedDisabilityNames": { "description": "Name(s) of disabilities treated in this time frame.", - "type": "array", + "type": [ + "array", + "null" + ], "nullable": true, "maxItems": 101, "items": { @@ -5613,13 +6666,19 @@ }, "center": { "description": "VA Medical Center(s) and Department of Defense Military Treatment Facilities where the Veteran received treatment after discharge for any claimed disabilities.", - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "additionalProperties": false, "properties": { "name": { "description": "Name of facility Veteran was treated in. The /treatment-centers endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current) may be used to retrieve possible treatment center names.", - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "pattern": "([a-zA-Z0-9\"/&()\\'-'.,# ]([a-zA-Z0-9()\\'-'.,# ])?)+$", "example": "Private Facility 2", @@ -5628,7 +6687,10 @@ }, "city": { "description": "City of treatment facility.", - "type": "string", + "type": [ + "string", + "null" + ], "pattern": "([a-zA-Z0-9\\-'.# ]([a-zA-Z0-9\\-'.# ])?)+$", "example": "Portland", "nullable": true, @@ -5637,7 +6699,10 @@ }, "state": { "description": "State of treatment facility.", - "type": "string", + "type": [ + "string", + "null" + ], "pattern": "^$|^[a-z,A-Z]{2}$", "example": "OR", "nullable": true @@ -5656,7 +6721,10 @@ "properties": { "alternateNames": { "description": "List any other names under which the Veteran served, if applicable.", - "type": "array", + "type": [ + "array", + "null" + ], "nullable": true, "maxItems": 100, "uniqueItems": true, @@ -5712,7 +6780,10 @@ }, "separationLocationCode": { "description": "Location code for the facility the Veteran plans to separate from. Code must match the values returned by the /intake-sites endpoint on the [Benefits reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current).", - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "example": "98283" } @@ -5720,43 +6791,63 @@ } }, "servedInActiveCombatSince911": { - "type": "string", + "type": [ + "string", + "null" + ], "enum": [ "YES", - "NO" + "NO", + null ], "description": "Did Veteran serve in a combat zone since 9-11-2001?", "example": "YES", "nullable": true }, "reservesNationalGuardService": { - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "additionalProperties": false, "properties": { "component": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "description": "", "enum": [ "Reserves", - "National Guard" + "National Guard", + null ] }, "obligationTermsOfService": { - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "description": "If 'obligationTermsOfService' is included, the following attributes are required: 'beginDate ' and 'endDate'.", "additionalProperties": false, "properties": { "beginDate": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$", "example": "2018-06-06" }, "endDate": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$", "example": "2018-06-06" @@ -5764,31 +6855,46 @@ } }, "unitName": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "maxLength": 1000, "pattern": "^$|([a-zA-Z0-9\\-'.,# ][a-zA-Z0-9\\-'.,# ]?)*$" }, "unitAddress": { - "type": "string", + "type": [ + "string", + "null" + ], "maxLength": 1000, "pattern": "^$|^([-a-zA-Z0-9'.,&# ])+$", "nullable": true }, "unitPhone": { - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "additionalProperties": false, "properties": { "areaCode": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "maxLength": 3, "pattern": "^$|^\\d{3}$", "example": "555" }, "phoneNumber": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "maxLength": 20, "example": "5555555" @@ -5796,10 +6902,14 @@ } }, "receivingInactiveDutyTrainingPay": { - "type": "string", + "type": [ + "string", + "null" + ], "enum": [ "YES", - "NO" + "NO", + null ], "nullable": true, "example": "YES" @@ -5808,20 +6918,29 @@ }, "federalActivation": { "description": "If federalActivation is present then reservesNationalGuardService.obligationTermsOfService.beginDate, reservesNationalGuardService.obligationTermsOfService.endDate and reservesNationalGuardService.unitName are required", - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "additionalProperties": false, "properties": { "activationDate": { "description": "Date cannot be in the future and must be after the earliest servicePeriod.activeDutyBeginDate.", - "type": "string", + "type": [ + "string", + "null" + ], "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$", "example": "2018-06-06", "nullable": true }, "anticipatedSeparationDate": { "description": "Anticipated date of separation. Date must be in the future.", - "type": "string", + "type": [ + "string", + "null" + ], "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$", "example": "2018-06-06", "nullable": true @@ -5829,7 +6948,10 @@ } }, "confinements": { - "type": "array", + "type": [ + "array", + "null" + ], "nullable": true, "uniqueItems": true, "items": { @@ -5838,13 +6960,17 @@ "properties": { "approximateBeginDate": { "description": "The approximateBeginDate must be after the earliest servicePeriod activeDutyBeginDate.", - "type": "string", + "type": [ + "string" + ], "nullable": false, "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$|(?:[0-9]{4})-(?:0[1-9]|1[0-2])$", "example": "2018-06-06 or 2018-06" }, "approximateEndDate": { - "type": "string", + "type": [ + "string" + ], "nullable": false, "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$|(?:[0-9]{4})-(?:0[1-9]|1[0-2])$", "example": "2018-06-06 or 2018-06" @@ -5855,52 +6981,75 @@ } }, "servicePay": { - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "additionalProperties": false, "properties": { "receivingMilitaryRetiredPay": { "description": "Is the Veteran receiving military retired pay?", - "type": "string", + "type": [ + "string", + "null" + ], "enum": [ "YES", - "NO" + "NO", + null ], "example": "YES", "nullable": true }, "futureMilitaryRetiredPay": { "description": "Will the Veteran receive military retired pay pay in future? \n If true, then 'futurePayExplanation' is required.", - "type": "string", + "type": [ + "string", + "null" + ], "enum": [ "YES", - "NO" + "NO", + null ], "example": "YES", "nullable": true }, "futureMilitaryRetiredPayExplanation": { "description": "Explains why future pay will be received.", - "type": "string", + "type": [ + "string", + "null" + ], "maxLength": 1000, "example": "Will be retiring soon.", "nullable": true }, "militaryRetiredPay": { - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "description": "", "properties": { "branchOfService": { "description": "Branch of service. The /service-branches endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current) may be used to retrieve list of possible service branches.", - "type": "string", + "type": [ + "string", + "null" + ], "maxLength": 1000, "nullable": true, "example": "Air Force" }, "monthlyAmount": { "description": "Amount being received.", - "type": "integer", + "type": [ + "integer", + "null" + ], "nullable": true, "minimum": 1, "maximum": 999999, @@ -5909,53 +7058,76 @@ } }, "retiredStatus": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "description": "", "enum": [ "RETIRED", "TEMPORARY_DISABILITY_RETIRED_LIST", - "PERMANENT_DISABILITY_RETIRED_LIST" + "PERMANENT_DISABILITY_RETIRED_LIST", + null ] }, "favorMilitaryRetiredPay": { "description": "Is the Veteran waiving VA benefits to retain military retired pay? See item 26 on form 21-526EZ for more details.", - "type": "boolean", + "type": [ + "boolean", + "null" + ], "nullable": true, "example": true, "default": false }, "receivedSeparationOrSeverancePay": { "description": "Has the Veteran ever received separation pay, disability severance pay, or any other lump sum payment from their branch of service?", - "type": "string", + "type": [ + "string", + "null" + ], "enum": [ "YES", - "NO" + "NO", + null ], "example": "YES", "nullable": true }, "separationSeverancePay": { - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "description": "", "properties": { "datePaymentReceived": { "description": "Approximate date separation pay was received. \n Format can be either YYYY-MM-DD or YYYY-MM or YYYY", - "type": "string", + "type": [ + "string", + "null" + ], "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$|(?:[0-9]{4})$|(?:[0-9]{4})-(?:0[1-9]|1[0-2])$", "example": "2018-03-02 or 2018-03 or 2018" }, "branchOfService": { "description": "Branch of service. The /service-branches endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current) may be used to retrieve list of possible service branches.", - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "maxLength": 1000, "example": "Air Force" }, "preTaxAmountReceived": { "description": "Amount being received.", - "type": "integer", + "type": [ + "integer", + "null" + ], "nullable": true, "minimum": 1, "maximum": 999999, @@ -5965,7 +7137,10 @@ }, "favorTrainingPay": { "description": "Is the Veteran waiving VA benefits to retain training pay? See item 28 on form 21-526EZ for more details. ", - "type": "boolean", + "type": [ + "boolean", + "null" + ], "nullable": true, "example": true, "default": false @@ -5973,13 +7148,19 @@ } }, "directDeposit": { - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "additionalProperties": false, "description": "If direct deposit information is included, the following attributes are required: accountType, accountNumber, routingNumber.", "properties": { "noAccount": { - "type": "boolean", + "type": [ + "boolean", + "null" + ], "nullable": true, "description": "Claimant certifies that they do not have an account with a financial institution or certified payment agent.", "default": false @@ -5987,31 +7168,44 @@ "accountNumber": { "description": "Account number for the direct deposit.", "pattern": "^(?:[a-zA-Z0-9-]{4,1000})?$", - "type": "string", + "type": [ + "string", + "null" + ], "maxLength": 1000, "nullable": true, "example": "123123123123" }, "accountType": { "description": "Account type for the direct deposit.", - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "example": "CHECKING", "enum": [ "CHECKING", - "SAVINGS" + "SAVINGS", + null ] }, "financialInstitutionName": { "description": "Provide the name of the financial institution where the Veteran wants the direct deposit.", "maxLength": 1000, - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "example": "Some Bank" }, "routingNumber": { "description": "Routing number for the direct deposit.", - "type": "string", + "type": [ + "string", + "null" + ], "maxLength": 1000, "nullable": true, "pattern": "^$|^\\d{0,1000}$", @@ -6025,7 +7219,10 @@ "default": false }, "claimNotes": { - "type": "string", + "type": [ + "string", + "null" + ], "description": "An optional notes section.", "maxLength": 4000 }, @@ -6259,7 +7456,13 @@ "type": "object", "required": [ "attributes", - null + [ + "claimantCertification", + "claimProcessType", + "disabilities", + "serviceInformation", + "veteranIdentification" + ] ], "properties": { "attributes": { @@ -6293,25 +7496,37 @@ ], "properties": { "serviceNumber": { - "type": "string", + "type": [ + "null", + "string" + ], "description": "Service identification number", "maxLength": 1000, "nullable": true }, "veteranNumber": { "description": "If there isn't a ten digit phone number in VBMS for the Veteran, the exams will not be ordered. Including the phone number is recommended to avoid claim processing delays.", - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "properties": { "telephone": { "description": "Veteran's phone number.", - "type": "string", + "type": [ + "string", + "null" + ], "pattern": "^\\d{10}?$", "example": "5555555555", "nullable": true }, "internationalTelephone": { - "type": "string", + "type": [ + "string", + "null" + ], "description": "Veteran's international phone number.", "example": "+44 20 1234 5678", "maxLength": 1000, @@ -6337,7 +7552,10 @@ }, "addressLine2": { "description": "Address line 2 for the Veteran's current mailing address.", - "type": "string", + "type": [ + "string", + "null" + ], "pattern": "^([-a-zA-Z0-9'.,&#]([-a-zA-Z0-9'.,&# ])?)+$", "maxLength": 20, "example": "Unit 4", @@ -6345,7 +7563,10 @@ }, "addressLine3": { "description": "Address line 3 for the Veteran's current mailing address.", - "type": "string", + "type": [ + "string", + "null" + ], "pattern": "^([-a-zA-Z0-9'.,&#]([-a-zA-Z0-9'.,&# ])?)+$", "maxLength": 20, "example": "Room 1", @@ -6361,7 +7582,10 @@ }, "state": { "description": "State for the Veteran's current mailing address. Required if 'country' is 'USA'.", - "type": "string", + "type": [ + "string", + "null" + ], "pattern": "^[a-z,A-Z]{2}$", "example": "NY", "nullable": true @@ -6374,21 +7598,30 @@ }, "zipFirstFive": { "description": "Zip code (First 5 digits) for the Veteran's current mailing address. Required if 'country' is 'USA'.", - "type": "string", + "type": [ + "string", + "null" + ], "pattern": "^\\d{5}?$", "example": "12345", "nullable": true }, "zipLastFour": { "description": "Zip code (Last 4 digits) for the Veteran's current mailing address.", - "type": "string", + "type": [ + "string", + "null" + ], "pattern": "^\\d{4}?$", "example": "6789", "nullable": true }, "internationalPostalCode": { "description": "International postal code for the Veteran's current mailing address. Do not include if 'country' is 'USA'.", - "type": "string", + "type": [ + "string", + "null" + ], "maxLength": 16, "nullable": true, "pattern": "^[a-zA-Z0-9]*$" @@ -6397,18 +7630,27 @@ }, "emailAddress": { "description": "Information associated with the Veteran's email address.", - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "properties": { "email": { - "type": "string", + "type": [ + "string", + "null" + ], "pattern": "^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w{2,3})+$", "description": "The most current email address of the Veteran.", "maxLength": 50, "nullable": true }, "agreeToEmailRelatedToClaim": { - "type": "boolean", + "type": [ + "boolean", + "null" + ], "description": "Agreement to email information relating to this claim.", "example": true, "default": false, @@ -6425,7 +7667,10 @@ }, "changeOfAddress": { "description": "If 'changeOfAddress' is included, the following attributes are required: 'typeOfAddressChange', 'addressLine1', 'city', 'country'.", - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "additionalProperties": false, "properties": { @@ -6447,7 +7692,10 @@ }, "addressLine2": { "description": "Address line 2 for the Veteran's new address.", - "type": "string", + "type": [ + "string", + "null" + ], "pattern": "^([-a-zA-Z0-9'.,&#]([-a-zA-Z0-9'.,&# ])?)+$", "maxLength": 20, "example": "Unit 4", @@ -6455,7 +7703,10 @@ }, "addressLine3": { "description": "Address line 3 for the Veteran's new address.", - "type": "string", + "type": [ + "string", + "null" + ], "pattern": "^([-a-zA-Z0-9'.,&#]([-a-zA-Z0-9'.,&# ])?)+$", "maxLength": 20, "example": "Room 1", @@ -6471,7 +7722,10 @@ }, "state": { "description": "State for the Veteran's new address. Required if 'country' is 'USA'.", - "type": "string", + "type": [ + "string", + "null" + ], "pattern": "^$|^[a-z,A-Z]{2}$", "example": "NY", "nullable": true @@ -6484,21 +7738,30 @@ }, "zipFirstFive": { "description": "Zip code (First 5 digits) for the Veteran's new address. Required if 'country' is 'USA'.", - "type": "string", + "type": [ + "string", + "null" + ], "pattern": "^$|^\\d{5}?$", "example": "12345", "nullable": true }, "zipLastFour": { "description": "Zip code (Last 4 digits) for the Veteran's new address.", - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "pattern": "^$|^\\d{4}?$", "example": "6789" }, "internationalPostalCode": { "description": "International postal code for the Veteran's new address. Do not include if 'country' is 'USA'.", - "type": "string", + "type": [ + "string", + "null" + ], "maxLength": 16, "nullable": true, "pattern": "^[a-zA-Z0-9]*$" @@ -6509,13 +7772,19 @@ "beginDate": { "description": "Begin date for the Veteran's new address.", "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$", - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "example": "2018-06-04" }, "endDate": { "description": "Date in YYYY-MM-DD the changed address expires, if change is temporary.", - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$", "example": "2018-06-04" @@ -6525,23 +7794,35 @@ } }, "homeless": { - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "additionalProperties": false, "properties": { "isCurrentlyHomeless": { - "type": "boolean", + "type": [ + "boolean", + "null" + ], "nullable": true, "description": "Is the Veteran currently homeless?" }, "currentlyHomeless": { - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "additionalProperties": false, "properties": { "homelessSituationOptions": { "description": "Veteran's living situation.", - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "default": "other", "enum": [ @@ -6549,13 +7830,17 @@ "NOT_CURRENTLY_IN_A_SHELTERED_ENVIRONMENT", "STAYING_WITH_ANOTHER_PERSON", "FLEEING_CURRENT_RESIDENCE", - "OTHER" + "OTHER", + null ], "example": "FLEEING_CURRENT_RESIDENCE" }, "otherDescription": { "description": "Explanation of living situation. Required if 'homelessSituationOptions' is 'OTHER'.", - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "maxLength": 500, "example": "other living situation" @@ -6563,28 +7848,41 @@ } }, "isAtRiskOfBecomingHomeless": { - "type": "boolean", + "type": [ + "boolean", + "null" + ], "nullable": true, "description": "Is the Veteran currently at risk of becoming homeless?" }, "riskOfBecomingHomeless": { - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "additionalProperties": false, "properties": { "livingSituationOptions": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "default": "HOUSING_WILL_BE_LOST_IN_30_DAYS", "enum": [ "HOUSING_WILL_BE_LOST_IN_30_DAYS", "LEAVING_PUBLICLY_FUNDED_SYSTEM_OF_CARE", - "OTHER" + "OTHER", + null ] }, "otherDescription": { "description": "Explanation of living situation. Required if 'livingSituationOptions' is 'OTHER'.", - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "maxLength": 500, "example": "other living situation" @@ -6593,7 +7891,10 @@ }, "pointOfContact": { "description": "Individual in direct contact with Veteran.", - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "minLength": 1, "maxLength": 100, @@ -6601,20 +7902,29 @@ "example": "Jane Doe" }, "pointOfContactNumber": { - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "additionalProperties": false, "properties": { "telephone": { "description": "Ten digit primary phone of point of contact.", - "type": "string", + "type": [ + "string", + "null" + ], "pattern": "^\\d{10}?$", "example": "5555555", "nullable": true }, "internationalTelephone": { "description": "International phone of point of contact.", - "type": "string", + "type": [ + "string", + "null" + ], "example": "+44 20 1234 5678", "maxLength": 1000, "nullable": true @@ -6624,38 +7934,57 @@ } }, "toxicExposure": { - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "properties": { "gulfWarHazardService": { - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "description": "Toxic exposure related to the Gulf war.", "properties": { "servedInGulfWarHazardLocations": { - "type": "string", + "type": [ + "string", + "null" + ], "description": "Set to true if the Veteran served in any of the following Gulf War hazard locations: Iraq; Kuwait; Saudi Arabia; the neutral zone between Iraq and Saudi Arabia; Bahrain; Qatar; the United Arab Emirates; Oman; Yemen; Lebanon; Somalia; Afghanistan; Israel; Egypt; Turkey; Syria; Jordan; Djibouti; Uzbekistan; the Gulf of Aden; the Gulf of Oman; the Persian Gulf; the Arabian Sea; and the Red Sea.", "example": "YES", "enum": [ "NO", - "YES" + "YES", + null ], "nullable": true }, "serviceDates": { - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "description": "Date range for when the exposure happened.", "properties": { "beginDate": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "description": "Approximate begin date for serving in Gulf War hazard location.", "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", "example": "2018-06 or 2018" }, "endDate": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "description": "Approximate end date for serving in Gulf War hazard location.", "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", @@ -6667,21 +7996,31 @@ }, "herbicideHazardService": { "description": "Toxic exposure related to herbicide (Agent Orange) hazards.", - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "properties": { "servedInHerbicideHazardLocations": { - "type": "string", + "type": [ + "string", + "null" + ], "description": "Set to true if the Veteran served in any of the following herbicide/Agent Orange locations: Republic of Vietnam to include the 12 nautical mile territorial waters; Thailand at any United States or Royal Thai base; Laos; Cambodia at Mimot or Krek; Kampong Cham Province; Guam or American Samoa; or in the territorial waters thereof; Johnston Atoll or a ship that called at Johnston Atoll; Korean demilitarized zone; aboard (to include repeated operations and maintenance with) a C-123 aircraft known to have been used to spray an herbicide agent (during service in the Air Force and Air Force Reserves).", "example": "YES", "enum": [ "NO", - "YES" + "YES", + null ], "nullable": true }, "otherLocationsServed": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "pattern": "^$|([a-zA-Z0-9\"\\/&\\(\\)\\-'.,#\\[\\] ]([a-zA-Z0-9(\\)\\-'.,#\\[\\] ])?)+$", "maxLength": 5000, @@ -6689,18 +8028,27 @@ }, "serviceDates": { "description": "Date range for exposure in herbicide hazard location.", - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "properties": { "beginDate": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "description": "Approximate begin date for serving in herbicide location.", "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", "example": "2018-06 or 2018" }, "endDate": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "description": "Approximate end date for serving in herbicide location.", "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", @@ -6711,13 +8059,19 @@ } }, "additionalHazardExposures": { - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "description": "Additional hazardous exposures.", "properties": { "additionalExposures": { "description": "Additional exposure incidents.", - "type": "array", + "type": [ + "array", + "null" + ], "nullable": true, "uniqueItems": true, "items": { @@ -6730,31 +8084,44 @@ "SHIPBOARD_HAZARD_AND_DEFENSE", "MILITARY_OCCUPATIONAL_SPECIALTY_RELATED_TOXIN", "CONTAMINATED_WATER_AT_CAMP_LEJEUNE", - "OTHER" + "OTHER", + null ] } }, "specifyOtherExposures": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "pattern": "^$|([a-zA-Z0-9\"\\/&\\(\\)\\-'.,#\\[\\] ]([a-zA-Z0-9(\\)\\-'.,#\\[\\] ])?)+$", "maxLength": 5000, "description": "Exposure to asbestos." }, "exposureDates": { - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "description": "Date range for when the exposure happened.", "properties": { "beginDate": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "description": "Approximate begin date for exposure.", "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", "example": "2018-06 or 2018" }, "endDate": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "description": "Approximate end date for exposure.", "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", @@ -6765,7 +8132,10 @@ } }, "multipleExposures": { - "type": "array", + "type": [ + "array", + "null" + ], "nullable": true, "minItems": 1, "uniqueItems": true, @@ -6774,33 +8144,48 @@ "additionalProperties": false, "properties": { "hazardExposedTo": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "pattern": "^([-a-zA-Z0-9'.,&# ])+$", "maxLength": 1000, "description": "Hazard the Veteran was exposed to." }, "exposureLocation": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "pattern": "^$|([a-zA-Z0-9\"\\/&\\(\\)\\-'.,#\\[\\] ]([a-zA-Z0-9(\\)\\-'.,#\\[\\] ])?)+$", "maxLength": 1000, "description": "Location where the exposure happened." }, "exposureDates": { - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "description": "Date range for when the exposure happened.", "properties": { "beginDate": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "description": "Approximate begin date for exposure.", "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", "example": "2018-06 or 2018" }, "endDate": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "description": "Approximate end date for exposure.", "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", @@ -6833,7 +8218,10 @@ "maxLength": 255 }, "exposureOrEventOrInjury": { - "type": "string", + "type": [ + "string", + "null" + ], "description": "What caused the disability?", "nullable": true, "maxLength": 1000, @@ -6845,14 +8233,20 @@ }, "serviceRelevance": { "description": "Explanation of how the disability(ies) relates to the in-service event/exposure/injury. If the disabilityActionType is 'NEW', the serviceRelevance is required.", - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "maxLength": 1000, "example": "Heavy equipment operator in service." }, "approximateDate": { "description": "Approximate date disability began. Date must be in the past. \n Format can be either YYYY-MM-DD or YYYY-MM or YYYY", - "type": "string", + "type": [ + "string", + "null" + ], "pattern": "^(?:[0-9]{4}(?:-(?!00)(?:0[1-9]|1[0-2])(?:-(?:0[1-9]|[1-2][0-9]|3[0-1]))?)?)$", "example": "2018-03-02 or 2018-03 or 2018", "nullable": true @@ -6868,32 +8262,47 @@ "example": "NEW" }, "classificationCode": { - "type": "string", + "type": [ + "string", + "null" + ], "description": "Classification code for the associated body system. Must match an active code returned by the /disabilities endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current).", "example": "249470", "nullable": true }, "ratedDisabilityId": { "description": "When submitting a contention with action type 'INCREASE', the previously rated disability id may be included.", - "type": "string", + "type": [ + "string", + "null" + ], "example": "1100583", "nullable": true }, "diagnosticCode": { "description": "If the disabilityActionType is 'NONE' or 'INCREASE', the diagnosticCode should correspond to an existing rated disability.", - "type": "integer", + "type": [ + "integer", + "null" + ], "example": 9999, "nullable": true }, "isRelatedToToxicExposure": { - "type": "boolean", + "type": [ + "boolean", + "null" + ], "description": "Is the disability related to toxic exposures? If true, related 'toxicExposure' must be included.", "example": true, "default": false, "nullable": true }, "specialIssues": { - "type": "array", + "type": [ + "array", + "null" + ], "nullable": true, "uniqueItems": true, "items": { @@ -6908,7 +8317,10 @@ }, "secondaryDisabilities": { "description": "If secondaryDisability is included, the following attributes are required: 'secondaryDisability.name', 'secondaryDisability.disabilityActionType' and 'secondaryDisability.serviceRelevance'", - "type": "array", + "type": [ + "array", + "null" + ], "items": { "type": "object", "additionalProperties": false, @@ -6921,7 +8333,10 @@ "maxLength": 255 }, "exposureOrEventOrInjury": { - "type": "string", + "type": [ + "string", + "null" + ], "description": "What caused the disability?", "nullable": true, "maxLength": 1000, @@ -6933,7 +8348,10 @@ }, "serviceRelevance": { "description": "Explanation of how the disability(ies) relates to the in-service event/exposure/injury.", - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "maxLength": 1000, "example": "Heavy equipment operator in service." @@ -6948,13 +8366,19 @@ }, "approximateDate": { "description": "Approximate date disability began. Date must be in the past. \n Format can be either YYYY-MM-DD or YYYY-MM or YYYY", - "type": "string", + "type": [ + "string", + "null" + ], "pattern": "^(?:[0-9]{4}(?:-(?!00)(?:0[1-9]|1[0-2])(?:-(?:0[1-9]|[1-2][0-9]|3[0-1]))?)?)$", "example": "2018-03-02 or 2018-03 or 2018", "nullable": true }, "classificationCode": { - "type": "string", + "type": [ + "string", + "null" + ], "description": "Classification code for the associated body system. Must match an active code returned by the /disabilities endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current).", "example": "249470", "nullable": true @@ -6967,7 +8391,10 @@ }, "treatments": { "description": "Identifies the Service Treatment information of the Veteran. The combination of treatedDisabilityName, center name, center city, and center state must be less than 1000 characters to successfully generate a PDF.", - "type": "array", + "type": [ + "array", + "null" + ], "nullable": true, "uniqueItems": true, "items": { @@ -6976,14 +8403,20 @@ "properties": { "beginDate": { "description": "Begin date for treatment. If treatment began from 2005 to present, you do not need to provide dates. Each treatment begin date must be after the first 'servicePeriod.activeDutyBeginDate'.", - "type": "string", + "type": [ + "string", + "null" + ], "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", "example": "2018-06 or 2018", "nullable": true }, "treatedDisabilityNames": { "description": "Name(s) of disabilities treated in this time frame.", - "type": "array", + "type": [ + "array", + "null" + ], "nullable": true, "maxItems": 101, "items": { @@ -6997,13 +8430,19 @@ }, "center": { "description": "VA Medical Center(s) and Department of Defense Military Treatment Facilities where the Veteran received treatment after discharge for any claimed disabilities.", - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "additionalProperties": false, "properties": { "name": { "description": "Name of facility Veteran was treated in. The /treatment-centers endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current) may be used to retrieve possible treatment center names.", - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "pattern": "([a-zA-Z0-9\"/&()\\'-'.,# ]([a-zA-Z0-9()\\'-'.,# ])?)+$", "example": "Private Facility 2", @@ -7012,7 +8451,10 @@ }, "city": { "description": "City of treatment facility.", - "type": "string", + "type": [ + "string", + "null" + ], "pattern": "([a-zA-Z0-9\\-'.# ]([a-zA-Z0-9\\-'.# ])?)+$", "example": "Portland", "nullable": true, @@ -7021,7 +8463,10 @@ }, "state": { "description": "State of treatment facility.", - "type": "string", + "type": [ + "string", + "null" + ], "pattern": "^$|^[a-z,A-Z]{2}$", "example": "OR", "nullable": true @@ -7040,7 +8485,10 @@ "properties": { "alternateNames": { "description": "List any other names under which the Veteran served, if applicable.", - "type": "array", + "type": [ + "array", + "null" + ], "nullable": true, "maxItems": 100, "uniqueItems": true, @@ -7096,7 +8544,10 @@ }, "separationLocationCode": { "description": "Location code for the facility the Veteran plans to separate from. Code must match the values returned by the /intake-sites endpoint on the [Benefits reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current).", - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "example": "98283" } @@ -7104,43 +8555,63 @@ } }, "servedInActiveCombatSince911": { - "type": "string", + "type": [ + "string", + "null" + ], "enum": [ "YES", - "NO" + "NO", + null ], "description": "Did Veteran serve in a combat zone since 9-11-2001?", "example": "YES", "nullable": true }, "reservesNationalGuardService": { - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "additionalProperties": false, "properties": { "component": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "description": "", "enum": [ "Reserves", - "National Guard" + "National Guard", + null ] }, "obligationTermsOfService": { - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "description": "If 'obligationTermsOfService' is included, the following attributes are required: 'beginDate ' and 'endDate'.", "additionalProperties": false, "properties": { "beginDate": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$", "example": "2018-06-06" }, "endDate": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$", "example": "2018-06-06" @@ -7148,31 +8619,46 @@ } }, "unitName": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "maxLength": 1000, "pattern": "^$|([a-zA-Z0-9\\-'.,# ][a-zA-Z0-9\\-'.,# ]?)*$" }, "unitAddress": { - "type": "string", + "type": [ + "string", + "null" + ], "maxLength": 1000, "pattern": "^$|^([-a-zA-Z0-9'.,&# ])+$", "nullable": true }, "unitPhone": { - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "additionalProperties": false, "properties": { "areaCode": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "maxLength": 3, "pattern": "^$|^\\d{3}$", "example": "555" }, "phoneNumber": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "maxLength": 20, "example": "5555555" @@ -7180,10 +8666,14 @@ } }, "receivingInactiveDutyTrainingPay": { - "type": "string", + "type": [ + "string", + "null" + ], "enum": [ "YES", - "NO" + "NO", + null ], "nullable": true, "example": "YES" @@ -7192,20 +8682,29 @@ }, "federalActivation": { "description": "If federalActivation is present then reservesNationalGuardService.obligationTermsOfService.beginDate, reservesNationalGuardService.obligationTermsOfService.endDate and reservesNationalGuardService.unitName are required", - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "additionalProperties": false, "properties": { "activationDate": { "description": "Date cannot be in the future and must be after the earliest servicePeriod.activeDutyBeginDate.", - "type": "string", + "type": [ + "string", + "null" + ], "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$", "example": "2018-06-06", "nullable": true }, "anticipatedSeparationDate": { "description": "Anticipated date of separation. Date must be in the future.", - "type": "string", + "type": [ + "string", + "null" + ], "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$", "example": "2018-06-06", "nullable": true @@ -7213,7 +8712,10 @@ } }, "confinements": { - "type": "array", + "type": [ + "array", + "null" + ], "nullable": true, "uniqueItems": true, "items": { @@ -7222,13 +8724,17 @@ "properties": { "approximateBeginDate": { "description": "The approximateBeginDate must be after the earliest servicePeriod activeDutyBeginDate.", - "type": "string", + "type": [ + "string" + ], "nullable": false, "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$|(?:[0-9]{4})-(?:0[1-9]|1[0-2])$", "example": "2018-06-06 or 2018-06" }, "approximateEndDate": { - "type": "string", + "type": [ + "string" + ], "nullable": false, "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$|(?:[0-9]{4})-(?:0[1-9]|1[0-2])$", "example": "2018-06-06 or 2018-06" @@ -7239,52 +8745,75 @@ } }, "servicePay": { - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "additionalProperties": false, "properties": { "receivingMilitaryRetiredPay": { "description": "Is the Veteran receiving military retired pay?", - "type": "string", + "type": [ + "string", + "null" + ], "enum": [ "YES", - "NO" + "NO", + null ], "example": "YES", "nullable": true }, "futureMilitaryRetiredPay": { "description": "Will the Veteran receive military retired pay pay in future? \n If true, then 'futurePayExplanation' is required.", - "type": "string", + "type": [ + "string", + "null" + ], "enum": [ "YES", - "NO" + "NO", + null ], "example": "YES", "nullable": true }, "futureMilitaryRetiredPayExplanation": { "description": "Explains why future pay will be received.", - "type": "string", + "type": [ + "string", + "null" + ], "maxLength": 1000, "example": "Will be retiring soon.", "nullable": true }, "militaryRetiredPay": { - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "description": "", "properties": { "branchOfService": { "description": "Branch of service. The /service-branches endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current) may be used to retrieve list of possible service branches.", - "type": "string", + "type": [ + "string", + "null" + ], "maxLength": 1000, "nullable": true, "example": "Air Force" }, "monthlyAmount": { "description": "Amount being received.", - "type": "integer", + "type": [ + "integer", + "null" + ], "nullable": true, "minimum": 1, "maximum": 999999, @@ -7293,53 +8822,76 @@ } }, "retiredStatus": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "description": "", "enum": [ "RETIRED", "TEMPORARY_DISABILITY_RETIRED_LIST", - "PERMANENT_DISABILITY_RETIRED_LIST" + "PERMANENT_DISABILITY_RETIRED_LIST", + null ] }, "favorMilitaryRetiredPay": { "description": "Is the Veteran waiving VA benefits to retain military retired pay? See item 26 on form 21-526EZ for more details.", - "type": "boolean", + "type": [ + "boolean", + "null" + ], "nullable": true, "example": true, "default": false }, "receivedSeparationOrSeverancePay": { "description": "Has the Veteran ever received separation pay, disability severance pay, or any other lump sum payment from their branch of service?", - "type": "string", + "type": [ + "string", + "null" + ], "enum": [ "YES", - "NO" + "NO", + null ], "example": "YES", "nullable": true }, "separationSeverancePay": { - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "description": "", "properties": { "datePaymentReceived": { "description": "Approximate date separation pay was received. \n Format can be either YYYY-MM-DD or YYYY-MM or YYYY", - "type": "string", + "type": [ + "string", + "null" + ], "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$|(?:[0-9]{4})$|(?:[0-9]{4})-(?:0[1-9]|1[0-2])$", "example": "2018-03-02 or 2018-03 or 2018" }, "branchOfService": { "description": "Branch of service. The /service-branches endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current) may be used to retrieve list of possible service branches.", - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "maxLength": 1000, "example": "Air Force" }, "preTaxAmountReceived": { "description": "Amount being received.", - "type": "integer", + "type": [ + "integer", + "null" + ], "nullable": true, "minimum": 1, "maximum": 999999, @@ -7349,7 +8901,10 @@ }, "favorTrainingPay": { "description": "Is the Veteran waiving VA benefits to retain training pay? See item 28 on form 21-526EZ for more details. ", - "type": "boolean", + "type": [ + "boolean", + "null" + ], "nullable": true, "example": true, "default": false @@ -7357,13 +8912,19 @@ } }, "directDeposit": { - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "additionalProperties": false, "description": "If direct deposit information is included, the following attributes are required: accountType, accountNumber, routingNumber.", "properties": { "noAccount": { - "type": "boolean", + "type": [ + "boolean", + "null" + ], "nullable": true, "description": "Claimant certifies that they do not have an account with a financial institution or certified payment agent.", "default": false @@ -7371,31 +8932,44 @@ "accountNumber": { "description": "Account number for the direct deposit.", "pattern": "^(?:[a-zA-Z0-9-]{4,1000})?$", - "type": "string", + "type": [ + "string", + "null" + ], "maxLength": 1000, "nullable": true, "example": "123123123123" }, "accountType": { "description": "Account type for the direct deposit.", - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "example": "CHECKING", "enum": [ "CHECKING", - "SAVINGS" + "SAVINGS", + null ] }, "financialInstitutionName": { "description": "Provide the name of the financial institution where the Veteran wants the direct deposit.", "maxLength": 1000, - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "example": "Some Bank" }, "routingNumber": { "description": "Routing number for the direct deposit.", - "type": "string", + "type": [ + "string", + "null" + ], "maxLength": 1000, "nullable": true, "pattern": "^$|^\\d{0,1000}$", @@ -7409,7 +8983,10 @@ "default": false }, "claimNotes": { - "type": "string", + "type": [ + "string", + "null" + ], "description": "An optional notes section.", "maxLength": 4000 } @@ -8415,7 +9992,13 @@ "type": "object", "required": [ "attributes", - null + [ + "claimantCertification", + "claimProcessType", + "disabilities", + "serviceInformation", + "veteranIdentification" + ] ], "properties": { "attributes": { @@ -8449,25 +10032,37 @@ ], "properties": { "serviceNumber": { - "type": "string", + "type": [ + "null", + "string" + ], "description": "Service identification number", "maxLength": 1000, "nullable": true }, "veteranNumber": { "description": "If there isn't a ten digit phone number in VBMS for the Veteran, the exams will not be ordered. Including the phone number is recommended to avoid claim processing delays.", - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "properties": { "telephone": { "description": "Veteran's phone number.", - "type": "string", + "type": [ + "string", + "null" + ], "pattern": "^\\d{10}?$", "example": "5555555555", "nullable": true }, "internationalTelephone": { - "type": "string", + "type": [ + "string", + "null" + ], "description": "Veteran's international phone number.", "example": "+44 20 1234 5678", "maxLength": 1000, @@ -8493,7 +10088,10 @@ }, "addressLine2": { "description": "Address line 2 for the Veteran's current mailing address.", - "type": "string", + "type": [ + "string", + "null" + ], "pattern": "^([-a-zA-Z0-9'.,&#]([-a-zA-Z0-9'.,&# ])?)+$", "maxLength": 20, "example": "Unit 4", @@ -8501,7 +10099,10 @@ }, "addressLine3": { "description": "Address line 3 for the Veteran's current mailing address.", - "type": "string", + "type": [ + "string", + "null" + ], "pattern": "^([-a-zA-Z0-9'.,&#]([-a-zA-Z0-9'.,&# ])?)+$", "maxLength": 20, "example": "Room 1", @@ -8517,7 +10118,10 @@ }, "state": { "description": "State for the Veteran's current mailing address. Required if 'country' is 'USA'.", - "type": "string", + "type": [ + "string", + "null" + ], "pattern": "^[a-z,A-Z]{2}$", "example": "NY", "nullable": true @@ -8530,21 +10134,30 @@ }, "zipFirstFive": { "description": "Zip code (First 5 digits) for the Veteran's current mailing address. Required if 'country' is 'USA'.", - "type": "string", + "type": [ + "string", + "null" + ], "pattern": "^\\d{5}?$", "example": "12345", "nullable": true }, "zipLastFour": { "description": "Zip code (Last 4 digits) for the Veteran's current mailing address.", - "type": "string", + "type": [ + "string", + "null" + ], "pattern": "^\\d{4}?$", "example": "6789", "nullable": true }, "internationalPostalCode": { "description": "International postal code for the Veteran's current mailing address. Do not include if 'country' is 'USA'.", - "type": "string", + "type": [ + "string", + "null" + ], "maxLength": 16, "nullable": true, "pattern": "^[a-zA-Z0-9]*$" @@ -8553,18 +10166,27 @@ }, "emailAddress": { "description": "Information associated with the Veteran's email address.", - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "properties": { "email": { - "type": "string", + "type": [ + "string", + "null" + ], "pattern": "^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w{2,3})+$", "description": "The most current email address of the Veteran.", "maxLength": 50, "nullable": true }, "agreeToEmailRelatedToClaim": { - "type": "boolean", + "type": [ + "boolean", + "null" + ], "description": "Agreement to email information relating to this claim.", "example": true, "default": false, @@ -8581,7 +10203,10 @@ }, "changeOfAddress": { "description": "If 'changeOfAddress' is included, the following attributes are required: 'typeOfAddressChange', 'addressLine1', 'city', 'country'.", - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "additionalProperties": false, "properties": { @@ -8603,7 +10228,10 @@ }, "addressLine2": { "description": "Address line 2 for the Veteran's new address.", - "type": "string", + "type": [ + "string", + "null" + ], "pattern": "^([-a-zA-Z0-9'.,&#]([-a-zA-Z0-9'.,&# ])?)+$", "maxLength": 20, "example": "Unit 4", @@ -8611,7 +10239,10 @@ }, "addressLine3": { "description": "Address line 3 for the Veteran's new address.", - "type": "string", + "type": [ + "string", + "null" + ], "pattern": "^([-a-zA-Z0-9'.,&#]([-a-zA-Z0-9'.,&# ])?)+$", "maxLength": 20, "example": "Room 1", @@ -8627,7 +10258,10 @@ }, "state": { "description": "State for the Veteran's new address. Required if 'country' is 'USA'.", - "type": "string", + "type": [ + "string", + "null" + ], "pattern": "^$|^[a-z,A-Z]{2}$", "example": "NY", "nullable": true @@ -8640,21 +10274,30 @@ }, "zipFirstFive": { "description": "Zip code (First 5 digits) for the Veteran's new address. Required if 'country' is 'USA'.", - "type": "string", + "type": [ + "string", + "null" + ], "pattern": "^$|^\\d{5}?$", "example": "12345", "nullable": true }, "zipLastFour": { "description": "Zip code (Last 4 digits) for the Veteran's new address.", - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "pattern": "^$|^\\d{4}?$", "example": "6789" }, "internationalPostalCode": { "description": "International postal code for the Veteran's new address. Do not include if 'country' is 'USA'.", - "type": "string", + "type": [ + "string", + "null" + ], "maxLength": 16, "nullable": true, "pattern": "^[a-zA-Z0-9]*$" @@ -8665,13 +10308,19 @@ "beginDate": { "description": "Begin date for the Veteran's new address.", "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$", - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "example": "2018-06-04" }, "endDate": { "description": "Date in YYYY-MM-DD the changed address expires, if change is temporary.", - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$", "example": "2018-06-04" @@ -8681,23 +10330,35 @@ } }, "homeless": { - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "additionalProperties": false, "properties": { "isCurrentlyHomeless": { - "type": "boolean", + "type": [ + "boolean", + "null" + ], "nullable": true, "description": "Is the Veteran currently homeless?" }, "currentlyHomeless": { - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "additionalProperties": false, "properties": { "homelessSituationOptions": { "description": "Veteran's living situation.", - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "default": "other", "enum": [ @@ -8705,13 +10366,17 @@ "NOT_CURRENTLY_IN_A_SHELTERED_ENVIRONMENT", "STAYING_WITH_ANOTHER_PERSON", "FLEEING_CURRENT_RESIDENCE", - "OTHER" + "OTHER", + null ], "example": "FLEEING_CURRENT_RESIDENCE" }, "otherDescription": { "description": "Explanation of living situation. Required if 'homelessSituationOptions' is 'OTHER'.", - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "maxLength": 500, "example": "other living situation" @@ -8719,28 +10384,41 @@ } }, "isAtRiskOfBecomingHomeless": { - "type": "boolean", + "type": [ + "boolean", + "null" + ], "nullable": true, "description": "Is the Veteran currently at risk of becoming homeless?" }, "riskOfBecomingHomeless": { - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "additionalProperties": false, "properties": { "livingSituationOptions": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "default": "HOUSING_WILL_BE_LOST_IN_30_DAYS", "enum": [ "HOUSING_WILL_BE_LOST_IN_30_DAYS", "LEAVING_PUBLICLY_FUNDED_SYSTEM_OF_CARE", - "OTHER" + "OTHER", + null ] }, "otherDescription": { "description": "Explanation of living situation. Required if 'livingSituationOptions' is 'OTHER'.", - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "maxLength": 500, "example": "other living situation" @@ -8749,7 +10427,10 @@ }, "pointOfContact": { "description": "Individual in direct contact with Veteran.", - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "minLength": 1, "maxLength": 100, @@ -8757,20 +10438,29 @@ "example": "Jane Doe" }, "pointOfContactNumber": { - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "additionalProperties": false, "properties": { "telephone": { "description": "Ten digit primary phone of point of contact.", - "type": "string", + "type": [ + "string", + "null" + ], "pattern": "^\\d{10}?$", "example": "5555555", "nullable": true }, "internationalTelephone": { "description": "International phone of point of contact.", - "type": "string", + "type": [ + "string", + "null" + ], "example": "+44 20 1234 5678", "maxLength": 1000, "nullable": true @@ -8780,38 +10470,57 @@ } }, "toxicExposure": { - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "properties": { "gulfWarHazardService": { - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "description": "Toxic exposure related to the Gulf war.", "properties": { "servedInGulfWarHazardLocations": { - "type": "string", + "type": [ + "string", + "null" + ], "description": "Set to true if the Veteran served in any of the following Gulf War hazard locations: Iraq; Kuwait; Saudi Arabia; the neutral zone between Iraq and Saudi Arabia; Bahrain; Qatar; the United Arab Emirates; Oman; Yemen; Lebanon; Somalia; Afghanistan; Israel; Egypt; Turkey; Syria; Jordan; Djibouti; Uzbekistan; the Gulf of Aden; the Gulf of Oman; the Persian Gulf; the Arabian Sea; and the Red Sea.", "example": "YES", "enum": [ "NO", - "YES" + "YES", + null ], "nullable": true }, "serviceDates": { - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "description": "Date range for when the exposure happened.", "properties": { "beginDate": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "description": "Approximate begin date for serving in Gulf War hazard location.", "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", "example": "2018-06 or 2018" }, "endDate": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "description": "Approximate end date for serving in Gulf War hazard location.", "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", @@ -8823,21 +10532,31 @@ }, "herbicideHazardService": { "description": "Toxic exposure related to herbicide (Agent Orange) hazards.", - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "properties": { "servedInHerbicideHazardLocations": { - "type": "string", + "type": [ + "string", + "null" + ], "description": "Set to true if the Veteran served in any of the following herbicide/Agent Orange locations: Republic of Vietnam to include the 12 nautical mile territorial waters; Thailand at any United States or Royal Thai base; Laos; Cambodia at Mimot or Krek; Kampong Cham Province; Guam or American Samoa; or in the territorial waters thereof; Johnston Atoll or a ship that called at Johnston Atoll; Korean demilitarized zone; aboard (to include repeated operations and maintenance with) a C-123 aircraft known to have been used to spray an herbicide agent (during service in the Air Force and Air Force Reserves).", "example": "YES", "enum": [ "NO", - "YES" + "YES", + null ], "nullable": true }, "otherLocationsServed": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "pattern": "^$|([a-zA-Z0-9\"\\/&\\(\\)\\-'.,#\\[\\] ]([a-zA-Z0-9(\\)\\-'.,#\\[\\] ])?)+$", "maxLength": 5000, @@ -8845,18 +10564,27 @@ }, "serviceDates": { "description": "Date range for exposure in herbicide hazard location.", - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "properties": { "beginDate": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "description": "Approximate begin date for serving in herbicide location.", "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", "example": "2018-06 or 2018" }, "endDate": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "description": "Approximate end date for serving in herbicide location.", "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", @@ -8867,13 +10595,19 @@ } }, "additionalHazardExposures": { - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "description": "Additional hazardous exposures.", "properties": { "additionalExposures": { "description": "Additional exposure incidents.", - "type": "array", + "type": [ + "array", + "null" + ], "nullable": true, "uniqueItems": true, "items": { @@ -8886,31 +10620,44 @@ "SHIPBOARD_HAZARD_AND_DEFENSE", "MILITARY_OCCUPATIONAL_SPECIALTY_RELATED_TOXIN", "CONTAMINATED_WATER_AT_CAMP_LEJEUNE", - "OTHER" + "OTHER", + null ] } }, "specifyOtherExposures": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "pattern": "^$|([a-zA-Z0-9\"\\/&\\(\\)\\-'.,#\\[\\] ]([a-zA-Z0-9(\\)\\-'.,#\\[\\] ])?)+$", "maxLength": 5000, "description": "Exposure to asbestos." }, "exposureDates": { - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "description": "Date range for when the exposure happened.", "properties": { "beginDate": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "description": "Approximate begin date for exposure.", "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", "example": "2018-06 or 2018" }, "endDate": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "description": "Approximate end date for exposure.", "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", @@ -8921,7 +10668,10 @@ } }, "multipleExposures": { - "type": "array", + "type": [ + "array", + "null" + ], "nullable": true, "minItems": 1, "uniqueItems": true, @@ -8930,33 +10680,48 @@ "additionalProperties": false, "properties": { "hazardExposedTo": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "pattern": "^([-a-zA-Z0-9'.,&# ])+$", "maxLength": 1000, "description": "Hazard the Veteran was exposed to." }, "exposureLocation": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "pattern": "^$|([a-zA-Z0-9\"\\/&\\(\\)\\-'.,#\\[\\] ]([a-zA-Z0-9(\\)\\-'.,#\\[\\] ])?)+$", "maxLength": 1000, "description": "Location where the exposure happened." }, "exposureDates": { - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "description": "Date range for when the exposure happened.", "properties": { "beginDate": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "description": "Approximate begin date for exposure.", "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", "example": "2018-06 or 2018" }, "endDate": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "description": "Approximate end date for exposure.", "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", @@ -8989,7 +10754,10 @@ "maxLength": 255 }, "exposureOrEventOrInjury": { - "type": "string", + "type": [ + "string", + "null" + ], "description": "What caused the disability?", "nullable": true, "maxLength": 1000, @@ -9001,14 +10769,20 @@ }, "serviceRelevance": { "description": "Explanation of how the disability(ies) relates to the in-service event/exposure/injury. If the disabilityActionType is 'NEW', the serviceRelevance is required.", - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "maxLength": 1000, "example": "Heavy equipment operator in service." }, "approximateDate": { "description": "Approximate date disability began. Date must be in the past. \n Format can be either YYYY-MM-DD or YYYY-MM or YYYY", - "type": "string", + "type": [ + "string", + "null" + ], "pattern": "^(?:[0-9]{4}(?:-(?!00)(?:0[1-9]|1[0-2])(?:-(?:0[1-9]|[1-2][0-9]|3[0-1]))?)?)$", "example": "2018-03-02 or 2018-03 or 2018", "nullable": true @@ -9024,32 +10798,47 @@ "example": "NEW" }, "classificationCode": { - "type": "string", + "type": [ + "string", + "null" + ], "description": "Classification code for the associated body system. Must match an active code returned by the /disabilities endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current).", "example": "249470", "nullable": true }, "ratedDisabilityId": { "description": "When submitting a contention with action type 'INCREASE', the previously rated disability id may be included.", - "type": "string", + "type": [ + "string", + "null" + ], "example": "1100583", "nullable": true }, "diagnosticCode": { "description": "If the disabilityActionType is 'NONE' or 'INCREASE', the diagnosticCode should correspond to an existing rated disability.", - "type": "integer", + "type": [ + "integer", + "null" + ], "example": 9999, "nullable": true }, "isRelatedToToxicExposure": { - "type": "boolean", + "type": [ + "boolean", + "null" + ], "description": "Is the disability related to toxic exposures? If true, related 'toxicExposure' must be included.", "example": true, "default": false, "nullable": true }, "specialIssues": { - "type": "array", + "type": [ + "array", + "null" + ], "nullable": true, "uniqueItems": true, "items": { @@ -9064,7 +10853,10 @@ }, "secondaryDisabilities": { "description": "If secondaryDisability is included, the following attributes are required: 'secondaryDisability.name', 'secondaryDisability.disabilityActionType' and 'secondaryDisability.serviceRelevance'", - "type": "array", + "type": [ + "array", + "null" + ], "items": { "type": "object", "additionalProperties": false, @@ -9077,7 +10869,10 @@ "maxLength": 255 }, "exposureOrEventOrInjury": { - "type": "string", + "type": [ + "string", + "null" + ], "description": "What caused the disability?", "nullable": true, "maxLength": 1000, @@ -9089,7 +10884,10 @@ }, "serviceRelevance": { "description": "Explanation of how the disability(ies) relates to the in-service event/exposure/injury.", - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "maxLength": 1000, "example": "Heavy equipment operator in service." @@ -9104,13 +10902,19 @@ }, "approximateDate": { "description": "Approximate date disability began. Date must be in the past. \n Format can be either YYYY-MM-DD or YYYY-MM or YYYY", - "type": "string", + "type": [ + "string", + "null" + ], "pattern": "^(?:[0-9]{4}(?:-(?!00)(?:0[1-9]|1[0-2])(?:-(?:0[1-9]|[1-2][0-9]|3[0-1]))?)?)$", "example": "2018-03-02 or 2018-03 or 2018", "nullable": true }, "classificationCode": { - "type": "string", + "type": [ + "string", + "null" + ], "description": "Classification code for the associated body system. Must match an active code returned by the /disabilities endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current).", "example": "249470", "nullable": true @@ -9123,7 +10927,10 @@ }, "treatments": { "description": "Identifies the Service Treatment information of the Veteran. The combination of treatedDisabilityName, center name, center city, and center state must be less than 1000 characters to successfully generate a PDF.", - "type": "array", + "type": [ + "array", + "null" + ], "nullable": true, "uniqueItems": true, "items": { @@ -9132,14 +10939,20 @@ "properties": { "beginDate": { "description": "Begin date for treatment. If treatment began from 2005 to present, you do not need to provide dates. Each treatment begin date must be after the first 'servicePeriod.activeDutyBeginDate'.", - "type": "string", + "type": [ + "string", + "null" + ], "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", "example": "2018-06 or 2018", "nullable": true }, "treatedDisabilityNames": { "description": "Name(s) of disabilities treated in this time frame.", - "type": "array", + "type": [ + "array", + "null" + ], "nullable": true, "maxItems": 101, "items": { @@ -9153,13 +10966,19 @@ }, "center": { "description": "VA Medical Center(s) and Department of Defense Military Treatment Facilities where the Veteran received treatment after discharge for any claimed disabilities.", - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "additionalProperties": false, "properties": { "name": { "description": "Name of facility Veteran was treated in. The /treatment-centers endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current) may be used to retrieve possible treatment center names.", - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "pattern": "([a-zA-Z0-9\"/&()\\'-'.,# ]([a-zA-Z0-9()\\'-'.,# ])?)+$", "example": "Private Facility 2", @@ -9168,7 +10987,10 @@ }, "city": { "description": "City of treatment facility.", - "type": "string", + "type": [ + "string", + "null" + ], "pattern": "([a-zA-Z0-9\\-'.# ]([a-zA-Z0-9\\-'.# ])?)+$", "example": "Portland", "nullable": true, @@ -9177,7 +10999,10 @@ }, "state": { "description": "State of treatment facility.", - "type": "string", + "type": [ + "string", + "null" + ], "pattern": "^$|^[a-z,A-Z]{2}$", "example": "OR", "nullable": true @@ -9196,7 +11021,10 @@ "properties": { "alternateNames": { "description": "List any other names under which the Veteran served, if applicable.", - "type": "array", + "type": [ + "array", + "null" + ], "nullable": true, "maxItems": 100, "uniqueItems": true, @@ -9252,7 +11080,10 @@ }, "separationLocationCode": { "description": "Location code for the facility the Veteran plans to separate from. Code must match the values returned by the /intake-sites endpoint on the [Benefits reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current).", - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "example": "98283" } @@ -9260,43 +11091,63 @@ } }, "servedInActiveCombatSince911": { - "type": "string", + "type": [ + "string", + "null" + ], "enum": [ "YES", - "NO" + "NO", + null ], "description": "Did Veteran serve in a combat zone since 9-11-2001?", "example": "YES", "nullable": true }, "reservesNationalGuardService": { - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "additionalProperties": false, "properties": { "component": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "description": "", "enum": [ "Reserves", - "National Guard" + "National Guard", + null ] }, "obligationTermsOfService": { - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "description": "If 'obligationTermsOfService' is included, the following attributes are required: 'beginDate ' and 'endDate'.", "additionalProperties": false, "properties": { "beginDate": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$", "example": "2018-06-06" }, "endDate": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$", "example": "2018-06-06" @@ -9304,31 +11155,46 @@ } }, "unitName": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "maxLength": 1000, "pattern": "^$|([a-zA-Z0-9\\-'.,# ][a-zA-Z0-9\\-'.,# ]?)*$" }, "unitAddress": { - "type": "string", + "type": [ + "string", + "null" + ], "maxLength": 1000, "pattern": "^$|^([-a-zA-Z0-9'.,&# ])+$", "nullable": true }, "unitPhone": { - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "additionalProperties": false, "properties": { "areaCode": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "maxLength": 3, "pattern": "^$|^\\d{3}$", "example": "555" }, "phoneNumber": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "maxLength": 20, "example": "5555555" @@ -9336,10 +11202,14 @@ } }, "receivingInactiveDutyTrainingPay": { - "type": "string", + "type": [ + "string", + "null" + ], "enum": [ "YES", - "NO" + "NO", + null ], "nullable": true, "example": "YES" @@ -9348,20 +11218,29 @@ }, "federalActivation": { "description": "If federalActivation is present then reservesNationalGuardService.obligationTermsOfService.beginDate, reservesNationalGuardService.obligationTermsOfService.endDate and reservesNationalGuardService.unitName are required", - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "additionalProperties": false, "properties": { "activationDate": { "description": "Date cannot be in the future and must be after the earliest servicePeriod.activeDutyBeginDate.", - "type": "string", + "type": [ + "string", + "null" + ], "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$", "example": "2018-06-06", "nullable": true }, "anticipatedSeparationDate": { "description": "Anticipated date of separation. Date must be in the future.", - "type": "string", + "type": [ + "string", + "null" + ], "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$", "example": "2018-06-06", "nullable": true @@ -9369,7 +11248,10 @@ } }, "confinements": { - "type": "array", + "type": [ + "array", + "null" + ], "nullable": true, "uniqueItems": true, "items": { @@ -9378,13 +11260,17 @@ "properties": { "approximateBeginDate": { "description": "The approximateBeginDate must be after the earliest servicePeriod activeDutyBeginDate.", - "type": "string", + "type": [ + "string" + ], "nullable": false, "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$|(?:[0-9]{4})-(?:0[1-9]|1[0-2])$", "example": "2018-06-06 or 2018-06" }, "approximateEndDate": { - "type": "string", + "type": [ + "string" + ], "nullable": false, "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$|(?:[0-9]{4})-(?:0[1-9]|1[0-2])$", "example": "2018-06-06 or 2018-06" @@ -9395,52 +11281,75 @@ } }, "servicePay": { - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "additionalProperties": false, "properties": { "receivingMilitaryRetiredPay": { "description": "Is the Veteran receiving military retired pay?", - "type": "string", + "type": [ + "string", + "null" + ], "enum": [ "YES", - "NO" + "NO", + null ], "example": "YES", "nullable": true }, "futureMilitaryRetiredPay": { "description": "Will the Veteran receive military retired pay pay in future? \n If true, then 'futurePayExplanation' is required.", - "type": "string", + "type": [ + "string", + "null" + ], "enum": [ "YES", - "NO" + "NO", + null ], "example": "YES", "nullable": true }, "futureMilitaryRetiredPayExplanation": { "description": "Explains why future pay will be received.", - "type": "string", + "type": [ + "string", + "null" + ], "maxLength": 1000, "example": "Will be retiring soon.", "nullable": true }, "militaryRetiredPay": { - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "description": "", "properties": { "branchOfService": { "description": "Branch of service. The /service-branches endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current) may be used to retrieve list of possible service branches.", - "type": "string", + "type": [ + "string", + "null" + ], "maxLength": 1000, "nullable": true, "example": "Air Force" }, "monthlyAmount": { "description": "Amount being received.", - "type": "integer", + "type": [ + "integer", + "null" + ], "nullable": true, "minimum": 1, "maximum": 999999, @@ -9449,53 +11358,76 @@ } }, "retiredStatus": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "description": "", "enum": [ "RETIRED", "TEMPORARY_DISABILITY_RETIRED_LIST", - "PERMANENT_DISABILITY_RETIRED_LIST" + "PERMANENT_DISABILITY_RETIRED_LIST", + null ] }, "favorMilitaryRetiredPay": { "description": "Is the Veteran waiving VA benefits to retain military retired pay? See item 26 on form 21-526EZ for more details.", - "type": "boolean", + "type": [ + "boolean", + "null" + ], "nullable": true, "example": true, "default": false }, "receivedSeparationOrSeverancePay": { "description": "Has the Veteran ever received separation pay, disability severance pay, or any other lump sum payment from their branch of service?", - "type": "string", + "type": [ + "string", + "null" + ], "enum": [ "YES", - "NO" + "NO", + null ], "example": "YES", "nullable": true }, "separationSeverancePay": { - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "description": "", "properties": { "datePaymentReceived": { "description": "Approximate date separation pay was received. \n Format can be either YYYY-MM-DD or YYYY-MM or YYYY", - "type": "string", + "type": [ + "string", + "null" + ], "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$|(?:[0-9]{4})$|(?:[0-9]{4})-(?:0[1-9]|1[0-2])$", "example": "2018-03-02 or 2018-03 or 2018" }, "branchOfService": { "description": "Branch of service. The /service-branches endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current) may be used to retrieve list of possible service branches.", - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "maxLength": 1000, "example": "Air Force" }, "preTaxAmountReceived": { "description": "Amount being received.", - "type": "integer", + "type": [ + "integer", + "null" + ], "nullable": true, "minimum": 1, "maximum": 999999, @@ -9505,7 +11437,10 @@ }, "favorTrainingPay": { "description": "Is the Veteran waiving VA benefits to retain training pay? See item 28 on form 21-526EZ for more details. ", - "type": "boolean", + "type": [ + "boolean", + "null" + ], "nullable": true, "example": true, "default": false @@ -9513,13 +11448,19 @@ } }, "directDeposit": { - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "additionalProperties": false, "description": "If direct deposit information is included, the following attributes are required: accountType, accountNumber, routingNumber.", "properties": { "noAccount": { - "type": "boolean", + "type": [ + "boolean", + "null" + ], "nullable": true, "description": "Claimant certifies that they do not have an account with a financial institution or certified payment agent.", "default": false @@ -9527,31 +11468,44 @@ "accountNumber": { "description": "Account number for the direct deposit.", "pattern": "^(?:[a-zA-Z0-9-]{4,1000})?$", - "type": "string", + "type": [ + "string", + "null" + ], "maxLength": 1000, "nullable": true, "example": "123123123123" }, "accountType": { "description": "Account type for the direct deposit.", - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "example": "CHECKING", "enum": [ "CHECKING", - "SAVINGS" + "SAVINGS", + null ] }, "financialInstitutionName": { "description": "Provide the name of the financial institution where the Veteran wants the direct deposit.", "maxLength": 1000, - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "example": "Some Bank" }, "routingNumber": { "description": "Routing number for the direct deposit.", - "type": "string", + "type": [ + "string", + "null" + ], "maxLength": 1000, "nullable": true, "pattern": "^$|^\\d{0,1000}$", @@ -9565,7 +11519,10 @@ "default": false }, "claimNotes": { - "type": "string", + "type": [ + "string", + "null" + ], "description": "An optional notes section.", "maxLength": 4000 } @@ -9838,7 +11795,7 @@ "application/json": { "example": { "data": { - "id": "bc69fdbf-ee25-4e60-bfbc-fb27d6ec76c6", + "id": "1a209f14-8536-4faf-9403-b1ebfc01aefe", "type": "forms/526", "attributes": { "claimProcessType": "STANDARD_CLAIM_PROCESS", @@ -10605,7 +12562,10 @@ "type": "boolean" }, "claimNotes": { - "type": "string", + "type": [ + "string", + "null" + ], "description": "An optional notes section.", "maxLength": 4000 } @@ -10918,7 +12878,13 @@ "type": "object", "required": [ "attributes", - null + [ + "claimantCertification", + "claimProcessType", + "disabilities", + "serviceInformation", + "veteranIdentification" + ] ], "properties": { "attributes": { @@ -10957,24 +12923,36 @@ ], "properties": { "serviceNumber": { - "type": "string", + "type": [ + "null", + "string" + ], "description": "Service identification number", "nullable": true, "maxLength": 1000 }, "veteranNumber": { "description": "If there isn't a ten digit phone number in VBMS for the Veteran, the exams will not be ordered. Including the phone number is recommended to avoid claim processing delays.", - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "properties": { "telephone": { "description": "Veteran's phone number. Number including area code.", - "type": "string", + "type": [ + "string", + "null" + ], "example": "5555555555", "nullable": true }, "internationalTelephone": { - "type": "string", + "type": [ + "string", + "null" + ], "description": "Veteran's international phone number.", "example": "+44 20 1234 5678", "nullable": true, @@ -10999,14 +12977,20 @@ }, "addressLine2": { "description": "Address line 2 for the Veteran's current mailing address.", - "type": "string", + "type": [ + "string", + "null" + ], "maxLength": 325, "example": "Unit 4", "nullable": true }, "addressLine3": { "description": "Address line 3 for the Veteran's current mailing address.", - "type": "string", + "type": [ + "string", + "null" + ], "maxLength": 325, "example": "Room 1", "nullable": true @@ -11019,7 +13003,10 @@ }, "state": { "description": "State for the Veteran's current mailing address.", - "type": "string", + "type": [ + "string", + "null" + ], "example": "NY", "maxLength": 1000, "nullable": true @@ -11032,21 +13019,30 @@ }, "zipFirstFive": { "description": "Zip code (First 5 digits) for the Veteran's current mailing address.", - "type": "string", + "type": [ + "string", + "null" + ], "example": "12345", "maxLength": 500, "nullable": true }, "zipLastFour": { "description": "Zip code (Last 4 digits) for the Veteran's current mailing address.", - "type": "string", + "type": [ + "string", + "null" + ], "example": "6789", "nullable": true, "maxLength": 500 }, "internationalPostalCode": { "description": "International postal code for the Veteran's current mailing address.", - "type": "string", + "type": [ + "string", + "null" + ], "maxLength": 1000, "nullable": true } @@ -11054,17 +13050,26 @@ }, "emailAddress": { "description": "Information associated with the Veteran's email address.", - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "properties": { "email": { - "type": "string", + "type": [ + "string", + "null" + ], "description": "The most current email address of the Veteran.", "maxLength": 1000, "nullable": true }, "agreeToEmailRelatedToClaim": { - "type": "boolean", + "type": [ + "boolean", + "null" + ], "description": "Agreement to email information relating to this claim.", "example": true, "default": false, @@ -11081,7 +13086,10 @@ }, "changeOfAddress": { "description": "If 'changeOfAddress' is included, the following attributes are required: 'typeOfAddressChange', 'dates.beginDate', 'addressLine1', 'city', 'state', 'country', 'zipFirstFive'.", - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "additionalProperties": false, "properties": { @@ -11102,14 +13110,20 @@ }, "addressLine2": { "description": "Address line 2 for the Veteran's new address.", - "type": "string", + "type": [ + "string", + "null" + ], "maxLength": 325, "example": "Unit 4", "nullable": true }, "addressLine3": { "description": "Address line 3 for the Veteran's new address.", - "type": "string", + "type": [ + "string", + "null" + ], "maxLength": 325, "example": "Room 1", "nullable": true @@ -11122,35 +13136,50 @@ }, "state": { "description": "State for the Veteran's new address.", - "type": "string", + "type": [ + "string", + "null" + ], "example": "NY", "maxLength": 1000, "nullable": true }, "country": { "description": "Country for the Veteran's new address. Value must match the values returned by the /countries endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current).", - "type": "string", + "type": [ + "string", + "null" + ], "example": "USA", "maxLength": 1000, "nullable": true }, "zipFirstFive": { "description": "Zip code (First 5 digits) for the Veteran's new address.", - "type": "string", + "type": [ + "string", + "null" + ], "example": "12345", "maxLength": 500, "nullable": true }, "zipLastFour": { "description": "Zip code (Last 4 digits) for the Veteran's new address.", - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "example": "6789", "maxLength": 500 }, "internationalPostalCode": { "description": "International postal code for the Veteran's new address.", - "type": "string", + "type": [ + "string", + "null" + ], "maxLength": 1000, "nullable": true }, @@ -11165,7 +13194,10 @@ }, "endDate": { "description": "Date in YYYY-MM-DD the changed address expires, if change is temporary.", - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "pattern": "^\\d{4}-\\d{2}-\\d{2}$", "example": "2018-06-04" @@ -11175,23 +13207,35 @@ } }, "homeless": { - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "additionalProperties": false, "properties": { "isCurrentlyHomeless": { - "type": "boolean", + "type": [ + "boolean", + "null" + ], "nullable": true, "description": "Is the Veteran currently homeless?" }, "currentlyHomeless": { - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "additionalProperties": false, "properties": { "homelessSituationOptions": { "description": "Veteran's living situation.", - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "default": "other", "enum": [ @@ -11199,13 +13243,17 @@ "NOT_CURRENTLY_IN_A_SHELTERED_ENVIRONMENT", "STAYING_WITH_ANOTHER_PERSON", "FLEEING_CURRENT_RESIDENCE", - "OTHER" + "OTHER", + null ], "example": "FLEEING_CURRENT_RESIDENCE" }, "otherDescription": { "description": "Explanation of living situation. Required if 'homelessSituationOptions' is 'OTHER'.", - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "maxLength": 5000, "example": "other living situation" @@ -11213,28 +13261,41 @@ } }, "isAtRiskOfBecomingHomeless": { - "type": "boolean", + "type": [ + "boolean", + "null" + ], "nullable": true, "description": "Is the Veteran currently at risk of becoming homeless?" }, "riskOfBecomingHomeless": { - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "additionalProperties": false, "properties": { "livingSituationOptions": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "default": "HOUSING_WILL_BE_LOST_IN_30_DAYS", "enum": [ "HOUSING_WILL_BE_LOST_IN_30_DAYS", "LEAVING_PUBLICLY_FUNDED_SYSTEM_OF_CARE", - "OTHER" + "OTHER", + null ] }, "otherDescription": { "description": "Explanation of living situation. Required if 'livingSituationOptions' is 'OTHER'.", - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "maxLength": 5000, "example": "other living situation" @@ -11243,26 +13304,38 @@ }, "pointOfContact": { "description": "Individual in direct contact with Veteran.", - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "minLength": 1, "maxLength": 1000, "example": "Jane Doe" }, "pointOfContactNumber": { - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "additionalProperties": false, "properties": { "telephone": { "description": "Ten digit primary phone of point of contact.", - "type": "string", + "type": [ + "string", + "null" + ], "example": "5555555555", "nullable": true }, "internationalTelephone": { "description": "International phone of point of contact.", - "type": "string", + "type": [ + "string", + "null" + ], "example": "+44 20 1234 5678", "nullable": true, "maxLength": 1000 @@ -11272,38 +13345,57 @@ } }, "toxicExposure": { - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "properties": { "gulfWarHazardService": { - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "description": "Toxic exposure related to the Gulf war.", "properties": { "servedInGulfWarHazardLocations": { - "type": "string", + "type": [ + "string", + "null" + ], "description": "Set to true if the Veteran served in any of the following Gulf War hazard locations: Iraq; Kuwait; Saudi Arabia; the neutral zone between Iraq and Saudi Arabia; Bahrain; Qatar; the United Arab Emirates; Oman; Yemen; Lebanon; Somalia; Afghanistan; Israel; Egypt; Turkey; Syria; Jordan; Djibouti; Uzbekistan; the Gulf of Aden; the Gulf of Oman; the Persian Gulf; the Arabian Sea; and the Red Sea.", "example": "YES", "enum": [ "NO", - "YES" + "YES", + null ], "nullable": true }, "serviceDates": { - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "description": "Date range for when the exposure happened.", "properties": { "beginDate": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "description": "Approximate begin date for serving in Gulf War hazard location.", "pattern": "^(\\d{4}(-\\d{2})?)?$", "example": "2018-06 or 2018" }, "endDate": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "description": "Approximate end date for serving in Gulf War hazard location.", "pattern": "^(\\d{4}(-\\d{2})?)?$", @@ -11315,39 +13407,58 @@ }, "herbicideHazardService": { "description": "Toxic exposure related to herbicide (Agent Orange) hazards.", - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "properties": { "servedInHerbicideHazardLocations": { - "type": "string", + "type": [ + "string", + "null" + ], "description": "Set to true if the Veteran served in any of the following herbicide/Agent Orange locations: Republic of Vietnam to include the 12 nautical mile territorial waters; Thailand at any United States or Royal Thai base; Laos; Cambodia at Mimot or Krek; Kampong Cham Province; Guam or American Samoa; or in the territorial waters thereof; Johnston Atoll or a ship that called at Johnston Atoll; Korean demilitarized zone; aboard (to include repeated operations and maintenance with) a C-123 aircraft known to have been used to spray an herbicide agent (during service in the Air Force and Air Force Reserves).", "example": "YES", "enum": [ "NO", - "YES" + "YES", + null ], "nullable": true }, "otherLocationsServed": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "description": "Other location(s) where Veteran served.", "maxLength": 5000 }, "serviceDates": { "description": "Date range for exposure in herbicide hazard location.", - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "properties": { "beginDate": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "description": "Approximate begin date for serving in herbicide location.", "pattern": "^(\\d{4}(-\\d{2})?)?$", "example": "2018-06 or 2018" }, "endDate": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "description": "Approximate end date for serving in herbicide location.", "pattern": "^(\\d{4}(-\\d{2})?)?$", @@ -11358,13 +13469,19 @@ } }, "additionalHazardExposures": { - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "description": "Additional hazardous exposures.", "properties": { "additionalExposures": { "description": "Additional exposure incidents.", - "type": "array", + "type": [ + "array", + "null" + ], "nullable": true, "maxItems": 5000, "items": { @@ -11377,30 +13494,43 @@ "SHIPBOARD_HAZARD_AND_DEFENSE", "MILITARY_OCCUPATIONAL_SPECIALTY_RELATED_TOXIN", "CONTAMINATED_WATER_AT_CAMP_LEJEUNE", - "OTHER" + "OTHER", + null ] } }, "specifyOtherExposures": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "description": "Exposure to asbestos.", "maxLength": 5000 }, "exposureDates": { - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "description": "Date range for when the exposure happened.", "properties": { "beginDate": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "description": "Approximate begin date for exposure.", "pattern": "^(\\d{4}(-\\d{2})?)?$", "example": "2018-06 or 2018" }, "endDate": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "description": "Approximate end date for exposure.", "pattern": "^(\\d{4}(-\\d{2})?)?$", @@ -11411,7 +13541,10 @@ } }, "multipleExposures": { - "type": "array", + "type": [ + "array", + "null" + ], "nullable": true, "maxItems": 5000, "minItems": 0, @@ -11420,31 +13553,46 @@ "additionalProperties": false, "properties": { "hazardExposedTo": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "description": "Hazard the Veteran was exposed to.", "maxLength": 1000 }, "exposureLocation": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "description": "Location where the exposure happened.", "maxLength": 1000 }, "exposureDates": { - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "description": "Date range for when the exposure happened.", "properties": { "beginDate": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "description": "Approximate begin date for exposure.", "pattern": "^(\\d{4}(-\\d{2})?)?$", "example": "2018-06 or 2018" }, "endDate": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "description": "Approximate end date for exposure.", "pattern": "^(\\d{4}(-\\d{2})?)?$", @@ -11477,7 +13625,10 @@ "maxLength": 1000 }, "exposureOrEventOrInjury": { - "type": "string", + "type": [ + "string", + "null" + ], "description": "What caused the disability?", "nullable": true, "examples": [ @@ -11489,14 +13640,20 @@ }, "serviceRelevance": { "description": "Explanation of how the disability(ies) relates to the in-service event/exposure/injury. If the disabilityActionType is 'NEW', the serviceRelevance is required.", - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "example": "Heavy equipment operator in service.", "maxLength": 1000 }, "approximateDate": { "description": "Approximate date disability began. Date must be in the past. \n Format can be either YYYY-MM-DD or YYYY-MM or YYYY", - "type": "string", + "type": [ + "string", + "null" + ], "pattern": "^(\\d{4}-(\\d{2}-(\\d{2})?)?|\\d{4}-\\d{2}|\\d{4}|)$", "example": "2018-03-02 or 2018-03 or 2018", "nullable": true, @@ -11513,32 +13670,47 @@ "example": "NEW" }, "classificationCode": { - "type": "string", + "type": [ + "string", + "null" + ], "description": "Classification code for the associated body system. Must match an active code returned by the /disabilities endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current).", "example": "249470", "nullable": true }, "ratedDisabilityId": { "description": "When submitting a contention with action type 'INCREASE', the previously rated disability id may be included.", - "type": "string", + "type": [ + "string", + "null" + ], "example": "1100583", "nullable": true }, "diagnosticCode": { "description": "If the disabilityActionType is 'NONE' or 'INCREASE', the diagnosticCode should correspond to an existing rated disability.", - "type": "integer", + "type": [ + "integer", + "null" + ], "example": 9999, "nullable": true }, "isRelatedToToxicExposure": { - "type": "boolean", + "type": [ + "boolean", + "null" + ], "description": "Is the disability related to toxic exposures? If true, related 'toxicExposure' must be included.", "example": true, "default": false, "nullable": true }, "specialIssues": { - "type": "array", + "type": [ + "array", + "null" + ], "nullable": true, "uniqueItems": true, "items": { @@ -11565,7 +13737,10 @@ "maxLength": 1000 }, "exposureOrEventOrInjury": { - "type": "string", + "type": [ + "string", + "null" + ], "description": "What caused the disability?", "nullable": true, "examples": [ @@ -11577,7 +13752,10 @@ }, "serviceRelevance": { "description": "Explanation of how the disability(ies) relates to the in-service event/exposure/injury.", - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "example": "Heavy equipment operator in service.", "maxLength": 1000 @@ -11592,14 +13770,20 @@ }, "approximateDate": { "description": "Approximate date disability began. Date must be in the past. \n Format can be either YYYY-MM-DD or YYYY-MM or YYYY", - "type": "string", + "type": [ + "string", + "null" + ], "pattern": "^(\\d{4}-(\\d{2}-(\\d{2})?)?|\\d{4}-\\d{2}|\\d{4}|)$", "example": "2018-03-02 or 2018-03 or 2018", "nullable": true, "maxLength": 1000 }, "classificationCode": { - "type": "string", + "type": [ + "string", + "null" + ], "description": "Classification code for the associated body system. Must match an active code returned by the /disabilities endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current).", "example": "249470", "nullable": true @@ -11612,7 +13796,10 @@ }, "treatments": { "description": "Identifies the Service Treatment information of the Veteran. The combination of treatedDisabilityName, center name, center city, and center state must be less than 1000 characters to successfully generate a PDF.", - "type": "array", + "type": [ + "array", + "null" + ], "nullable": true, "maxItems": 5000, "items": { @@ -11621,14 +13808,20 @@ "properties": { "beginDate": { "description": "Begin date for treatment. If treatment began from 2005 to present, you do not need to provide dates. Each treatment begin date must be after the first 'servicePeriod.activeDutyBeginDate'.", - "type": "string", + "type": [ + "string", + "null" + ], "pattern": "^(\\d{4}(-\\d{2})?)?$", "example": "2018-06 or 2018", "nullable": true }, "treatedDisabilityNames": { "description": "Name(s) of disabilities treated in this time frame.", - "type": "array", + "type": [ + "array", + "null" + ], "nullable": true, "maxItems": 101, "items": { @@ -11642,26 +13835,38 @@ }, "center": { "description": "VA Medical Center(s) and Department of Defense Military Treatment Facilities where the Veteran received treatment after discharge for any claimed disabilities.", - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "additionalProperties": false, "properties": { "name": { "description": "Name of facility Veteran was treated in. The /treatment-centers endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current) may be used to retrieve possible treatment center names.", - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "example": "Private Facility 2", "maxLength": 100 }, "city": { "description": "City of treatment facility.", - "type": "string", + "type": [ + "string", + "null" + ], "example": "Schenectady", "nullable": true }, "state": { "description": "State of treatment facility.", - "type": "string", + "type": [ + "string", + "null" + ], "example": "NY", "nullable": true } @@ -11679,7 +13884,10 @@ "properties": { "alternateNames": { "description": "List any other names under which the Veteran served, if applicable.", - "type": "array", + "type": [ + "array", + "null" + ], "nullable": true, "maxItems": 5000, "items": { @@ -11735,7 +13943,10 @@ }, "separationLocationCode": { "description": "Location code for the facility the Veteran plans to separate from. Code must match the values returned by the /intake-sites endpoint on the [Benefits reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current).", - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "example": "98283" } @@ -11743,43 +13954,63 @@ } }, "servedInActiveCombatSince911": { - "type": "string", + "type": [ + "string", + "null" + ], "enum": [ "YES", - "NO" + "NO", + null ], "description": "Did Veteran serve in a combat zone since 9-11-2001?", "example": "YES", "nullable": true }, "reservesNationalGuardService": { - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "additionalProperties": false, "properties": { "component": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "description": "", "enum": [ "Reserves", - "National Guard" + "National Guard", + null ] }, "obligationTermsOfService": { - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "description": "If 'obligationTermsOfService' is included, the following attributes are required: 'beginDate ' and 'endDate'.", "additionalProperties": false, "properties": { "beginDate": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "pattern": "^(?:\\d{4})-(?:\\d{2})-(?:\\d{2})$", "example": "2018-06-06" }, "endDate": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "pattern": "^(?:\\d{4})-(?:\\d{2})-(?:\\d{2})$", "example": "2018-06-06" @@ -11787,28 +14018,43 @@ } }, "unitName": { - "type": "string", + "type": [ + "string", + "null" + ], "maxLength": 1000, "nullable": true }, "unitAddress": { - "type": "string", + "type": [ + "string", + "null" + ], "maxLength": 1000, "nullable": true }, "unitPhone": { - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "additionalProperties": false, "properties": { "areaCode": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "maxLength": 1000, "example": "555" }, "phoneNumber": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "maxLength": 20, "example": "5555555" @@ -11816,10 +14062,14 @@ } }, "receivingInactiveDutyTrainingPay": { - "type": "string", + "type": [ + "string", + "null" + ], "enum": [ "YES", - "NO" + "NO", + null ], "nullable": true, "example": "YES" @@ -11827,20 +14077,29 @@ } }, "federalActivation": { - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "additionalProperties": false, "properties": { "activationDate": { "description": "Date cannot be in the future and must be after the earliest servicePeriod.activeDutyBeginDate.", - "type": "string", + "type": [ + "string", + "null" + ], "pattern": "^\\d{4}-\\d{2}-\\d{2}$|^$", "example": "2018-06-06", "nullable": true }, "anticipatedSeparationDate": { "description": "Anticipated date of separation. Date must be in the future.", - "type": "string", + "type": [ + "string", + "null" + ], "pattern": "^\\d{4}-\\d{2}-\\d{2}$|^$", "example": "2018-06-06", "nullable": true @@ -11848,7 +14107,10 @@ } }, "confinements": { - "type": "array", + "type": [ + "array", + "null" + ], "nullable": true, "maxItems": 5000, "items": { @@ -11857,13 +14119,19 @@ "properties": { "approximateBeginDate": { "description": "The approximateBeginDate must be after the earliest servicePeriod activeDutyBeginDate.", - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "pattern": "^(\\d{4}-(\\d{2}-(\\d{2})?)?|\\d{4}-\\d{2}|\\d{4}|)$", "example": "2018-06-06 or 2018-06" }, "approximateEndDate": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "pattern": "^(\\d{4}-(\\d{2}-(\\d{2})?)?|\\d{4}-\\d{2}|\\d{4}|)$", "example": "2018-06-06 or 2018-06" @@ -11874,105 +14142,151 @@ } }, "servicePay": { - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "additionalProperties": false, "properties": { "receivingMilitaryRetiredPay": { "description": "Is the Veteran receiving military retired pay?", - "type": "string", + "type": [ + "string", + "null" + ], "enum": [ "YES", - "NO" + "NO", + null ], "example": "YES", "nullable": true }, "futureMilitaryRetiredPay": { "description": "Will the Veteran receive military retired pay pay in future? \n If true, then 'futurePayExplanation' is required.", - "type": "string", + "type": [ + "string", + "null" + ], "enum": [ "YES", - "NO" + "NO", + null ], "example": "YES", "nullable": true }, "futureMilitaryRetiredPayExplanation": { "description": "Explains why future pay will be received.", - "type": "string", + "type": [ + "string", + "null" + ], "example": "Will be retiring soon.", "nullable": true, "maxLength": 1000 }, "militaryRetiredPay": { - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "description": "", "properties": { "branchOfService": { "description": "Branch of service. The /service-branches endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current) may be used to retrieve list of possible service branches.", - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "maxLength": 1000, "example": "Air Force" }, "monthlyAmount": { "description": "Amount being received.", - "type": "integer", + "type": [ + "integer", + "null" + ], "nullable": true, "example": 100 } } }, "retiredStatus": { - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "description": "", "enum": [ "RETIRED", "TEMPORARY_DISABILITY_RETIRED_LIST", - "PERMANENT_DISABILITY_RETIRED_LIST" + "PERMANENT_DISABILITY_RETIRED_LIST", + null ] }, "favorMilitaryRetiredPay": { "description": "Is the Veteran waiving VA benefits to retain military retired pay? See item 26 on form 21-526EZ for more details.", - "type": "boolean", + "type": [ + "boolean", + "null" + ], "nullable": true, "example": true, "default": false }, "receivedSeparationOrSeverancePay": { "description": "Has the Veteran ever received separation pay, disability severance pay, or any other lump sum payment from their branch of service?", - "type": "string", + "type": [ + "string", + "null" + ], "enum": [ "YES", - "NO" + "NO", + null ], "example": "YES", "nullable": true }, "separationSeverancePay": { - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "description": "", "properties": { "datePaymentReceived": { "description": "Approximate date separation pay was received. \n Format can be either YYYY-MM-DD or YYYY-MM or YYYY", - "type": "string", + "type": [ + "string", + "null" + ], "pattern": "^(\\d{4}-(\\d{2}-(\\d{2})?)?|\\d{4}-\\d{2}|\\d{4}|)$", "example": "2018-03-02 or 2018-03 or 2018" }, "branchOfService": { "description": "Branch of service. The /service-branches endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current) may be used to retrieve list of possible service branches.", - "type": "string", + "type": [ + "string", + "null" + ], "maxLength": 1000, "nullable": true, "example": "Air Force" }, "preTaxAmountReceived": { "description": "Amount being received.", - "type": "integer", + "type": [ + "integer", + "null" + ], "nullable": true, "example": 100 } @@ -11980,7 +14294,10 @@ }, "favorTrainingPay": { "description": "Is the Veteran waiving VA benefits to retain training pay? See item 28 on form 21-526EZ for more details. ", - "type": "boolean", + "type": [ + "boolean", + "null" + ], "nullable": true, "example": true, "default": false @@ -11988,44 +14305,63 @@ } }, "directDeposit": { - "type": "object", + "type": [ + "object", + "null" + ], "nullable": true, "additionalProperties": false, "description": "If direct deposit information is included, the following attributes are required: accountType, accountNumber, routingNumber.", "properties": { "noAccount": { - "type": "boolean", + "type": [ + "boolean", + "null" + ], "nullable": true, "description": "Claimant certifies that they do not have an account with a financial institution or certified payment agent.", "default": false }, "accountNumber": { "description": "Account number for the direct deposit.", - "type": "string", + "type": [ + "string", + "null" + ], "maxLength": 1000, "nullable": true, "example": "123123123123" }, "accountType": { "description": "Account type for the direct deposit.", - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "example": "CHECKING", "enum": [ "CHECKING", - "SAVINGS" + "SAVINGS", + null ] }, "financialInstitutionName": { "description": "Provide the name of the financial institution where the Veteran wants the direct deposit.", "maxLength": 1000, - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "example": "Some Bank" }, "routingNumber": { "description": "Routing number for the direct deposit.", - "type": "string", + "type": [ + "string", + "null" + ], "nullable": true, "maxLength": 9, "example": "123123123" @@ -12038,7 +14374,10 @@ "default": false }, "claimNotes": { - "type": "string", + "type": [ + "string", + "null" + ], "description": "An optional notes section.", "maxLength": 4000 } @@ -13043,7 +15382,10 @@ } }, "tempJurisdiction": { - "type": "string", + "type": [ + "string", + "null" + ], "description": "Temporary jurisdiction of claim" }, "trackedItems": { @@ -14477,7 +16819,7 @@ "application/json": { "example": { "data": { - "id": "13761101-8a9a-472c-8d8f-01c8ade2644f", + "id": "9cb6fd7b-5441-4763-b86c-7607f856681f", "type": "individual", "attributes": { "code": "067", @@ -14740,7 +17082,10 @@ "type": "object", "required": [ "attributes", - null + [ + "veteran", + "representative" + ] ], "properties": { "attributes": { @@ -15248,7 +17593,7 @@ "application/json": { "example": { "data": { - "id": "62f52d53-c83b-457c-a1fa-f14f33a61f75", + "id": "465c5c21-213c-4204-92f0-169cfd8d77b2", "type": "organization", "attributes": { "code": "083", @@ -15519,7 +17864,10 @@ "type": "object", "required": [ "attributes", - null + [ + "veteran", + "serviceOrganization" + ] ], "properties": { "attributes": { @@ -16184,7 +18532,10 @@ "type": "object", "required": [ "attributes", - null + [ + "veteran", + "representative" + ] ], "properties": { "attributes": { @@ -16875,7 +19226,10 @@ "type": "object", "required": [ "attributes", - null + [ + "veteran", + "serviceOrganization" + ] ], "properties": { "attributes": { @@ -17241,7 +19595,7 @@ "application/json": { "example": { "data": { - "id": "12dc6dab-8a5b-4820-9fec-bed5595fc904", + "id": "ae447abd-2761-466b-b409-44aab11d5635", "type": "claimsApiPowerOfAttorneys", "attributes": { "dateRequestAccepted": "2024-12-03", @@ -18023,7 +20377,12 @@ "type": "object", "required": [ "attributes", - null + [ + "veteran", + "poa", + "recordConsent", + "consentAddressChange" + ] ], "properties": { "attributes": { diff --git a/modules/claims_api/config/schemas/v2/2122a.json b/modules/claims_api/config/schemas/v2/2122a.json index 1a66d1094bb..846cd4a8385 100644 --- a/modules/claims_api/config/schemas/v2/2122a.json +++ b/modules/claims_api/config/schemas/v2/2122a.json @@ -78,7 +78,7 @@ "example": "USA" }, "zipCode": { - "description": "Zip code (First 5 digits) of the address. Required if 'country' is 'US'.", + "description": "Zip code (First 5 digits) of the address. Required if 'countryCode' is 'US'.", "type": "string", "pattern": "^\\d{5}?$", "example": "12345" @@ -164,7 +164,7 @@ "example": "USA" }, "zipCode": { - "description": "Zip code (First 5 digits) of the address. Required if 'country' is 'US'.", + "description": "Zip code (First 5 digits) of the address. Required if 'countryCode' is 'US'.", "type": "string", "pattern": "^\\d{5}?$", "example": "12345" @@ -275,7 +275,7 @@ "example": "USA" }, "zipCode": { - "description": "Zip code (First 5 digits) of the address. Required if 'country' is 'US'.", + "description": "Zip code (First 5 digits) of the address. Required if 'countryCode' is 'US'.", "type": "string", "pattern": "^\\d{5}?$", "example": "12345" diff --git a/modules/claims_api/spec/requests/v2/veterans/power_of_attorney/2122a_spec.rb b/modules/claims_api/spec/requests/v2/veterans/power_of_attorney/2122a_spec.rb index f7d1559cd2e..622441ce8ec 100644 --- a/modules/claims_api/spec/requests/v2/veterans/power_of_attorney/2122a_spec.rb +++ b/modules/claims_api/spec/requests/v2/veterans/power_of_attorney/2122a_spec.rb @@ -395,7 +395,7 @@ expect(response).to have_http_status(:unprocessable_entity) response_body = JSON.parse(response.body) expect(response_body['errors'][0]['detail']).to eq( - "If claimant is present 'country' must be filled in" + "If claimant is present 'countryCode' must be filled in" ) end end diff --git a/modules/claims_api/spec/requests/v2/veterans/power_of_attorney/power_of_attorney_request_spec.rb b/modules/claims_api/spec/requests/v2/veterans/power_of_attorney/power_of_attorney_request_spec.rb index a30ff1c94f3..5fb9c40f831 100644 --- a/modules/claims_api/spec/requests/v2/veterans/power_of_attorney/power_of_attorney_request_spec.rb +++ b/modules/claims_api/spec/requests/v2/veterans/power_of_attorney/power_of_attorney_request_spec.rb @@ -96,7 +96,7 @@ VCR.use_cassette('claims_api/mpi/find_candidate/valid_icn_full') do mock_ccg(scopes) do |auth_header| detail = "If claimant is present 'address' must be filled in with required fields addressLine1, " \ - "city, stateCode and country. If the stateCode is 'US' then zipCode is also required." + "city, stateCode and countryCode. If the countryCode is 'US' then zipCode is also required." post request_path, params: request_body, headers: auth_header From 35f1c237f9ff82d0993982eae504855ae2499719 Mon Sep 17 00:00:00 2001 From: rockwellwindsor-va Date: Tue, 3 Dec 2024 20:39:09 -0600 Subject: [PATCH 6/7] Recompiles swagger docs to finish up cleaning up merge conflicts --- .../swagger/claims_api/v2/dev/swagger.json | 4061 ++++------------- .../claims_api/v2/production/swagger.json | 122 +- 2 files changed, 875 insertions(+), 3308 deletions(-) diff --git a/modules/claims_api/app/swagger/claims_api/v2/dev/swagger.json b/modules/claims_api/app/swagger/claims_api/v2/dev/swagger.json index 1653a445449..4bcf07e3b15 100644 --- a/modules/claims_api/app/swagger/claims_api/v2/dev/swagger.json +++ b/modules/claims_api/app/swagger/claims_api/v2/dev/swagger.json @@ -117,31 +117,19 @@ "type": "object", "properties": { "VSOUserEmail": { - "type": [ - "string", - "null" - ] + "type": "string" }, "VSOUserFirstName": { - "type": [ - "string", - "null" - ] + "type": "string" }, "VSOUserLastName": { - "type": [ - "string", - "null" - ] + "type": "string" }, "dateRequestActioned": { "type": "string" }, "declinedReason": { - "type": [ - "string", - "null" - ] + "type": "string" }, "procId": { "type": "string" @@ -367,10 +355,7 @@ ] }, "declinedReason": { - "type": [ - "string", - "null" - ], + "type": "string", "description": "The reason for declining the request.", "nullable": true }, @@ -517,64 +502,34 @@ "type": "object", "properties": { "VSOUserEmail": { - "type": [ - "string", - "null" - ] + "type": "string" }, "VSOUserFirstName": { - "type": [ - "string", - "null" - ] + "type": "string" }, "VSOUserLastName": { - "type": [ - "string", - "null" - ] + "type": "string" }, "changeAddressAuth": { - "type": [ - "string", - "null" - ] + "type": "string" }, "claimantCity": { - "type": [ - "string", - "null" - ] + "type": "string" }, "claimantCountry": { - "type": [ - "string", - "null" - ] + "type": "string" }, "claimantMilitaryPO": { - "type": [ - "string", - "null" - ] + "type": "string" }, "claimantMilitaryPostalCode": { - "type": [ - "string", - "null" - ] + "type": "string" }, "claimantState": { - "type": [ - "string", - "null" - ] + "type": "string" }, "claimantZip": { - "type": [ - "string", - "null" - ] + "type": "string" }, "dateRequestActioned": { "type": "string" @@ -583,22 +538,13 @@ "type": "string" }, "declinedReason": { - "type": [ - "string", - "null" - ] + "type": "string" }, "healthInfoAuth": { - "type": [ - "string", - "null" - ] + "type": "string" }, "poaCode": { - "type": [ - "string", - "null" - ] + "type": "string" }, "procID": { "type": "string" @@ -607,28 +553,16 @@ "type": "string" }, "vetFirstName": { - "type": [ - "string", - "null" - ] + "type": "string" }, "vetLastName": { - "type": [ - "string", - "null" - ] + "type": "string" }, "vetMiddleName": { - "type": [ - "string", - "null" - ] + "type": "string" }, "vetPtcpntID": { - "type": [ - "string", - "null" - ] + "type": "string" } } } @@ -1312,10 +1246,7 @@ "properties": { "trackedItemIds": { "description": "Array of tracked items ids.", - "type": [ - "array", - "null" - ], + "type": "array", "nullable": true, "uniqueItems": true, "items": { @@ -1440,37 +1371,25 @@ ], "properties": { "serviceNumber": { - "type": [ - "null", - "string" - ], + "type": "string", "description": "Service identification number", "maxLength": 1000, "nullable": true }, "veteranNumber": { "description": "If there isn't a ten digit phone number in VBMS for the Veteran, the exams will not be ordered. Including the phone number is recommended to avoid claim processing delays.", - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "properties": { "telephone": { "description": "Veteran's phone number.", - "type": [ - "string", - "null" - ], + "type": "string", "pattern": "^\\d{10}?$", "example": "5555555555", "nullable": true }, "internationalTelephone": { - "type": [ - "string", - "null" - ], + "type": "string", "description": "Veteran's international phone number.", "example": "+44 20 1234 5678", "maxLength": 1000, @@ -1496,10 +1415,7 @@ }, "addressLine2": { "description": "Address line 2 for the Veteran's current mailing address.", - "type": [ - "string", - "null" - ], + "type": "string", "pattern": "^([-a-zA-Z0-9'.,&#]([-a-zA-Z0-9'.,&# ])?)+$", "maxLength": 20, "example": "Unit 4", @@ -1507,10 +1423,7 @@ }, "addressLine3": { "description": "Address line 3 for the Veteran's current mailing address.", - "type": [ - "string", - "null" - ], + "type": "string", "pattern": "^([-a-zA-Z0-9'.,&#]([-a-zA-Z0-9'.,&# ])?)+$", "maxLength": 20, "example": "Room 1", @@ -1526,10 +1439,7 @@ }, "state": { "description": "State for the Veteran's current mailing address. Required if 'country' is 'USA'.", - "type": [ - "string", - "null" - ], + "type": "string", "pattern": "^[a-z,A-Z]{2}$", "example": "NY", "nullable": true @@ -1542,30 +1452,21 @@ }, "zipFirstFive": { "description": "Zip code (First 5 digits) for the Veteran's current mailing address. Required if 'country' is 'USA'.", - "type": [ - "string", - "null" - ], + "type": "string", "pattern": "^\\d{5}?$", "example": "12345", "nullable": true }, "zipLastFour": { "description": "Zip code (Last 4 digits) for the Veteran's current mailing address.", - "type": [ - "string", - "null" - ], + "type": "string", "pattern": "^\\d{4}?$", "example": "6789", "nullable": true }, "internationalPostalCode": { "description": "International postal code for the Veteran's current mailing address. Do not include if 'country' is 'USA'.", - "type": [ - "string", - "null" - ], + "type": "string", "maxLength": 16, "nullable": true, "pattern": "^[a-zA-Z0-9]*$" @@ -1574,27 +1475,18 @@ }, "emailAddress": { "description": "Information associated with the Veteran's email address.", - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "properties": { "email": { - "type": [ - "string", - "null" - ], + "type": "string", "pattern": "^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w{2,3})+$", "description": "The most current email address of the Veteran.", "maxLength": 50, "nullable": true }, "agreeToEmailRelatedToClaim": { - "type": [ - "boolean", - "null" - ], + "type": "boolean", "description": "Agreement to email information relating to this claim.", "example": true, "default": false, @@ -1611,10 +1503,7 @@ }, "changeOfAddress": { "description": "If 'changeOfAddress' is included, the following attributes are required: 'typeOfAddressChange', 'addressLine1', 'city', 'country'.", - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "additionalProperties": false, "properties": { @@ -1636,10 +1525,7 @@ }, "addressLine2": { "description": "Address line 2 for the Veteran's new address.", - "type": [ - "string", - "null" - ], + "type": "string", "pattern": "^([-a-zA-Z0-9'.,&#]([-a-zA-Z0-9'.,&# ])?)+$", "maxLength": 20, "example": "Unit 4", @@ -1647,10 +1533,7 @@ }, "addressLine3": { "description": "Address line 3 for the Veteran's new address.", - "type": [ - "string", - "null" - ], + "type": "string", "pattern": "^([-a-zA-Z0-9'.,&#]([-a-zA-Z0-9'.,&# ])?)+$", "maxLength": 20, "example": "Room 1", @@ -1666,10 +1549,7 @@ }, "state": { "description": "State for the Veteran's new address. Required if 'country' is 'USA'.", - "type": [ - "string", - "null" - ], + "type": "string", "pattern": "^$|^[a-z,A-Z]{2}$", "example": "NY", "nullable": true @@ -1682,30 +1562,21 @@ }, "zipFirstFive": { "description": "Zip code (First 5 digits) for the Veteran's new address. Required if 'country' is 'USA'.", - "type": [ - "string", - "null" - ], + "type": "string", "pattern": "^$|^\\d{5}?$", "example": "12345", "nullable": true }, "zipLastFour": { "description": "Zip code (Last 4 digits) for the Veteran's new address.", - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "pattern": "^$|^\\d{4}?$", "example": "6789" }, "internationalPostalCode": { "description": "International postal code for the Veteran's new address. Do not include if 'country' is 'USA'.", - "type": [ - "string", - "null" - ], + "type": "string", "maxLength": 16, "nullable": true, "pattern": "^[a-zA-Z0-9]*$" @@ -1716,19 +1587,13 @@ "beginDate": { "description": "Begin date for the Veteran's new address.", "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$", - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "example": "2018-06-04" }, "endDate": { "description": "Date in YYYY-MM-DD the changed address expires, if change is temporary.", - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$", "example": "2018-06-04" @@ -1738,35 +1603,23 @@ } }, "homeless": { - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "additionalProperties": false, "properties": { "isCurrentlyHomeless": { - "type": [ - "boolean", - "null" - ], + "type": "boolean", "nullable": true, "description": "Is the Veteran currently homeless?" }, "currentlyHomeless": { - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "additionalProperties": false, "properties": { "homelessSituationOptions": { "description": "Veteran's living situation.", - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "default": "other", "enum": [ @@ -1774,17 +1627,13 @@ "NOT_CURRENTLY_IN_A_SHELTERED_ENVIRONMENT", "STAYING_WITH_ANOTHER_PERSON", "FLEEING_CURRENT_RESIDENCE", - "OTHER", - null + "OTHER" ], "example": "FLEEING_CURRENT_RESIDENCE" }, "otherDescription": { "description": "Explanation of living situation. Required if 'homelessSituationOptions' is 'OTHER'.", - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "maxLength": 500, "example": "other living situation" @@ -1792,41 +1641,28 @@ } }, "isAtRiskOfBecomingHomeless": { - "type": [ - "boolean", - "null" - ], + "type": "boolean", "nullable": true, "description": "Is the Veteran currently at risk of becoming homeless?" }, "riskOfBecomingHomeless": { - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "additionalProperties": false, "properties": { "livingSituationOptions": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "default": "HOUSING_WILL_BE_LOST_IN_30_DAYS", "enum": [ "HOUSING_WILL_BE_LOST_IN_30_DAYS", "LEAVING_PUBLICLY_FUNDED_SYSTEM_OF_CARE", - "OTHER", - null + "OTHER" ] }, "otherDescription": { "description": "Explanation of living situation. Required if 'livingSituationOptions' is 'OTHER'.", - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "maxLength": 500, "example": "other living situation" @@ -1835,10 +1671,7 @@ }, "pointOfContact": { "description": "Individual in direct contact with Veteran.", - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "minLength": 1, "maxLength": 100, @@ -1846,29 +1679,20 @@ "example": "Jane Doe" }, "pointOfContactNumber": { - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "additionalProperties": false, "properties": { "telephone": { "description": "Ten digit primary phone of point of contact.", - "type": [ - "string", - "null" - ], + "type": "string", "pattern": "^\\d{10}?$", "example": "5555555", "nullable": true }, "internationalTelephone": { "description": "International phone of point of contact.", - "type": [ - "string", - "null" - ], + "type": "string", "example": "+44 20 1234 5678", "maxLength": 1000, "nullable": true @@ -1878,57 +1702,38 @@ } }, "toxicExposure": { - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "properties": { "gulfWarHazardService": { - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "description": "Toxic exposure related to the Gulf war.", "properties": { "servedInGulfWarHazardLocations": { - "type": [ - "string", - "null" - ], + "type": "string", "description": "Set to true if the Veteran served in any of the following Gulf War hazard locations: Iraq; Kuwait; Saudi Arabia; the neutral zone between Iraq and Saudi Arabia; Bahrain; Qatar; the United Arab Emirates; Oman; Yemen; Lebanon; Somalia; Afghanistan; Israel; Egypt; Turkey; Syria; Jordan; Djibouti; Uzbekistan; the Gulf of Aden; the Gulf of Oman; the Persian Gulf; the Arabian Sea; and the Red Sea.", "example": "YES", "enum": [ "NO", - "YES", - null + "YES" ], "nullable": true }, "serviceDates": { - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "description": "Date range for when the exposure happened.", "properties": { "beginDate": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "description": "Approximate begin date for serving in Gulf War hazard location.", "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", "example": "2018-06 or 2018" }, "endDate": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "description": "Approximate end date for serving in Gulf War hazard location.", "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", @@ -1940,31 +1745,21 @@ }, "herbicideHazardService": { "description": "Toxic exposure related to herbicide (Agent Orange) hazards.", - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "properties": { "servedInHerbicideHazardLocations": { - "type": [ - "string", - "null" - ], + "type": "string", "description": "Set to true if the Veteran served in any of the following herbicide/Agent Orange locations: Republic of Vietnam to include the 12 nautical mile territorial waters; Thailand at any United States or Royal Thai base; Laos; Cambodia at Mimot or Krek; Kampong Cham Province; Guam or American Samoa; or in the territorial waters thereof; Johnston Atoll or a ship that called at Johnston Atoll; Korean demilitarized zone; aboard (to include repeated operations and maintenance with) a C-123 aircraft known to have been used to spray an herbicide agent (during service in the Air Force and Air Force Reserves).", "example": "YES", "enum": [ "NO", - "YES", - null + "YES" ], "nullable": true }, "otherLocationsServed": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "pattern": "^$|([a-zA-Z0-9\"\\/&\\(\\)\\-'.,#\\[\\] ]([a-zA-Z0-9(\\)\\-'.,#\\[\\] ])?)+$", "maxLength": 5000, @@ -1972,27 +1767,18 @@ }, "serviceDates": { "description": "Date range for exposure in herbicide hazard location.", - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "properties": { "beginDate": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "description": "Approximate begin date for serving in herbicide location.", "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", "example": "2018-06 or 2018" }, "endDate": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "description": "Approximate end date for serving in herbicide location.", "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", @@ -2003,19 +1789,13 @@ } }, "additionalHazardExposures": { - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "description": "Additional hazardous exposures.", "properties": { "additionalExposures": { "description": "Additional exposure incidents.", - "type": [ - "array", - "null" - ], + "type": "array", "nullable": true, "uniqueItems": true, "items": { @@ -2028,44 +1808,31 @@ "SHIPBOARD_HAZARD_AND_DEFENSE", "MILITARY_OCCUPATIONAL_SPECIALTY_RELATED_TOXIN", "CONTAMINATED_WATER_AT_CAMP_LEJEUNE", - "OTHER", - null + "OTHER" ] } }, "specifyOtherExposures": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "pattern": "^$|([a-zA-Z0-9\"\\/&\\(\\)\\-'.,#\\[\\] ]([a-zA-Z0-9(\\)\\-'.,#\\[\\] ])?)+$", "maxLength": 5000, "description": "Exposure to asbestos." }, "exposureDates": { - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "description": "Date range for when the exposure happened.", "properties": { "beginDate": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "description": "Approximate begin date for exposure.", "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", "example": "2018-06 or 2018" }, "endDate": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "description": "Approximate end date for exposure.", "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", @@ -2076,10 +1843,7 @@ } }, "multipleExposures": { - "type": [ - "array", - "null" - ], + "type": "array", "nullable": true, "minItems": 1, "uniqueItems": true, @@ -2088,48 +1852,33 @@ "additionalProperties": false, "properties": { "hazardExposedTo": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "pattern": "^([-a-zA-Z0-9'.,&# ])+$", "maxLength": 1000, "description": "Hazard the Veteran was exposed to." }, "exposureLocation": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "pattern": "^$|([a-zA-Z0-9\"\\/&\\(\\)\\-'.,#\\[\\] ]([a-zA-Z0-9(\\)\\-'.,#\\[\\] ])?)+$", "maxLength": 1000, "description": "Location where the exposure happened." }, "exposureDates": { - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "description": "Date range for when the exposure happened.", "properties": { "beginDate": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "description": "Approximate begin date for exposure.", "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", "example": "2018-06 or 2018" }, "endDate": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "description": "Approximate end date for exposure.", "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", @@ -2162,10 +1911,7 @@ "maxLength": 255 }, "exposureOrEventOrInjury": { - "type": [ - "string", - "null" - ], + "type": "string", "description": "What caused the disability?", "nullable": true, "maxLength": 1000, @@ -2177,20 +1923,14 @@ }, "serviceRelevance": { "description": "Explanation of how the disability(ies) relates to the in-service event/exposure/injury. If the disabilityActionType is 'NEW', the serviceRelevance is required.", - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "maxLength": 1000, "example": "Heavy equipment operator in service." }, "approximateDate": { "description": "Approximate date disability began. Date must be in the past. \n Format can be either YYYY-MM-DD or YYYY-MM or YYYY", - "type": [ - "string", - "null" - ], + "type": "string", "pattern": "^(?:[0-9]{4}(?:-(?!00)(?:0[1-9]|1[0-2])(?:-(?:0[1-9]|[1-2][0-9]|3[0-1]))?)?)$", "example": "2018-03-02 or 2018-03 or 2018", "nullable": true @@ -2206,47 +1946,32 @@ "example": "NEW" }, "classificationCode": { - "type": [ - "string", - "null" - ], + "type": "string", "description": "Classification code for the associated body system. Must match an active code returned by the /disabilities endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current).", "example": "249470", "nullable": true }, "ratedDisabilityId": { "description": "When submitting a contention with action type 'INCREASE', the previously rated disability id may be included.", - "type": [ - "string", - "null" - ], + "type": "string", "example": "1100583", "nullable": true }, "diagnosticCode": { "description": "If the disabilityActionType is 'NONE' or 'INCREASE', the diagnosticCode should correspond to an existing rated disability.", - "type": [ - "integer", - "null" - ], + "type": "integer", "example": 9999, "nullable": true }, "isRelatedToToxicExposure": { - "type": [ - "boolean", - "null" - ], + "type": "boolean", "description": "Is the disability related to toxic exposures? If true, related 'toxicExposure' must be included.", "example": true, "default": false, "nullable": true }, "specialIssues": { - "type": [ - "array", - "null" - ], + "type": "array", "nullable": true, "uniqueItems": true, "items": { @@ -2261,10 +1986,7 @@ }, "secondaryDisabilities": { "description": "If secondaryDisability is included, the following attributes are required: 'secondaryDisability.name', 'secondaryDisability.disabilityActionType' and 'secondaryDisability.serviceRelevance'", - "type": [ - "array", - "null" - ], + "type": "array", "items": { "type": "object", "additionalProperties": false, @@ -2277,10 +1999,7 @@ "maxLength": 255 }, "exposureOrEventOrInjury": { - "type": [ - "string", - "null" - ], + "type": "string", "description": "What caused the disability?", "nullable": true, "maxLength": 1000, @@ -2292,10 +2011,7 @@ }, "serviceRelevance": { "description": "Explanation of how the disability(ies) relates to the in-service event/exposure/injury.", - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "maxLength": 1000, "example": "Heavy equipment operator in service." @@ -2310,19 +2026,13 @@ }, "approximateDate": { "description": "Approximate date disability began. Date must be in the past. \n Format can be either YYYY-MM-DD or YYYY-MM or YYYY", - "type": [ - "string", - "null" - ], + "type": "string", "pattern": "^(?:[0-9]{4}(?:-(?!00)(?:0[1-9]|1[0-2])(?:-(?:0[1-9]|[1-2][0-9]|3[0-1]))?)?)$", "example": "2018-03-02 or 2018-03 or 2018", "nullable": true }, "classificationCode": { - "type": [ - "string", - "null" - ], + "type": "string", "description": "Classification code for the associated body system. Must match an active code returned by the /disabilities endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current).", "example": "249470", "nullable": true @@ -2335,10 +2045,7 @@ }, "treatments": { "description": "Identifies the Service Treatment information of the Veteran. The combination of treatedDisabilityName, center name, center city, and center state must be less than 1000 characters to successfully generate a PDF.", - "type": [ - "array", - "null" - ], + "type": "array", "nullable": true, "uniqueItems": true, "items": { @@ -2347,20 +2054,14 @@ "properties": { "beginDate": { "description": "Begin date for treatment. If treatment began from 2005 to present, you do not need to provide dates. Each treatment begin date must be after the first 'servicePeriod.activeDutyBeginDate'.", - "type": [ - "string", - "null" - ], + "type": "string", "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", "example": "2018-06 or 2018", "nullable": true }, "treatedDisabilityNames": { "description": "Name(s) of disabilities treated in this time frame.", - "type": [ - "array", - "null" - ], + "type": "array", "nullable": true, "maxItems": 101, "items": { @@ -2374,19 +2075,13 @@ }, "center": { "description": "VA Medical Center(s) and Department of Defense Military Treatment Facilities where the Veteran received treatment after discharge for any claimed disabilities.", - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "additionalProperties": false, "properties": { "name": { "description": "Name of facility Veteran was treated in. The /treatment-centers endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current) may be used to retrieve possible treatment center names.", - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "pattern": "([a-zA-Z0-9\"/&()\\'-'.,# ]([a-zA-Z0-9()\\'-'.,# ])?)+$", "example": "Private Facility 2", @@ -2395,10 +2090,7 @@ }, "city": { "description": "City of treatment facility.", - "type": [ - "string", - "null" - ], + "type": "string", "pattern": "([a-zA-Z0-9\\-'.# ]([a-zA-Z0-9\\-'.# ])?)+$", "example": "Portland", "nullable": true, @@ -2407,10 +2099,7 @@ }, "state": { "description": "State of treatment facility.", - "type": [ - "string", - "null" - ], + "type": "string", "pattern": "^$|^[a-z,A-Z]{2}$", "example": "OR", "nullable": true @@ -2429,10 +2118,7 @@ "properties": { "alternateNames": { "description": "List any other names under which the Veteran served, if applicable.", - "type": [ - "array", - "null" - ], + "type": "array", "nullable": true, "maxItems": 100, "uniqueItems": true, @@ -2488,10 +2174,7 @@ }, "separationLocationCode": { "description": "Location code for the facility the Veteran plans to separate from. Code must match the values returned by the /intake-sites endpoint on the [Benefits reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current).", - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "example": "98283" } @@ -2499,63 +2182,43 @@ } }, "servedInActiveCombatSince911": { - "type": [ - "string", - "null" - ], + "type": "string", "enum": [ "YES", - "NO", - null + "NO" ], "description": "Did Veteran serve in a combat zone since 9-11-2001?", "example": "YES", "nullable": true }, "reservesNationalGuardService": { - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "additionalProperties": false, "properties": { "component": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "description": "", "enum": [ "Reserves", - "National Guard", - null + "National Guard" ] }, "obligationTermsOfService": { - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "description": "If 'obligationTermsOfService' is included, the following attributes are required: 'beginDate ' and 'endDate'.", "additionalProperties": false, "properties": { "beginDate": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$", "example": "2018-06-06" }, "endDate": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$", "example": "2018-06-06" @@ -2563,46 +2226,31 @@ } }, "unitName": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "maxLength": 1000, "pattern": "^$|([a-zA-Z0-9\\-'.,# ][a-zA-Z0-9\\-'.,# ]?)*$" }, "unitAddress": { - "type": [ - "string", - "null" - ], + "type": "string", "maxLength": 1000, "pattern": "^$|^([-a-zA-Z0-9'.,&# ])+$", "nullable": true }, "unitPhone": { - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "additionalProperties": false, "properties": { "areaCode": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "maxLength": 3, "pattern": "^$|^\\d{3}$", "example": "555" }, "phoneNumber": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "maxLength": 20, "example": "5555555" @@ -2610,14 +2258,10 @@ } }, "receivingInactiveDutyTrainingPay": { - "type": [ - "string", - "null" - ], + "type": "string", "enum": [ "YES", - "NO", - null + "NO" ], "nullable": true, "example": "YES" @@ -2626,29 +2270,20 @@ }, "federalActivation": { "description": "If federalActivation is present then reservesNationalGuardService.obligationTermsOfService.beginDate, reservesNationalGuardService.obligationTermsOfService.endDate and reservesNationalGuardService.unitName are required", - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "additionalProperties": false, "properties": { "activationDate": { "description": "Date cannot be in the future and must be after the earliest servicePeriod.activeDutyBeginDate.", - "type": [ - "string", - "null" - ], + "type": "string", "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$", "example": "2018-06-06", "nullable": true }, "anticipatedSeparationDate": { "description": "Anticipated date of separation. Date must be in the future.", - "type": [ - "string", - "null" - ], + "type": "string", "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$", "example": "2018-06-06", "nullable": true @@ -2656,10 +2291,7 @@ } }, "confinements": { - "type": [ - "array", - "null" - ], + "type": "array", "nullable": true, "uniqueItems": true, "items": { @@ -2668,17 +2300,13 @@ "properties": { "approximateBeginDate": { "description": "The approximateBeginDate must be after the earliest servicePeriod activeDutyBeginDate.", - "type": [ - "string" - ], + "type": "string", "nullable": false, "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$|(?:[0-9]{4})-(?:0[1-9]|1[0-2])$", "example": "2018-06-06 or 2018-06" }, "approximateEndDate": { - "type": [ - "string" - ], + "type": "string", "nullable": false, "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$|(?:[0-9]{4})-(?:0[1-9]|1[0-2])$", "example": "2018-06-06 or 2018-06" @@ -2689,75 +2317,52 @@ } }, "servicePay": { - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "additionalProperties": false, "properties": { "receivingMilitaryRetiredPay": { "description": "Is the Veteran receiving military retired pay?", - "type": [ - "string", - "null" - ], + "type": "string", "enum": [ "YES", - "NO", - null + "NO" ], "example": "YES", "nullable": true }, "futureMilitaryRetiredPay": { "description": "Will the Veteran receive military retired pay pay in future? \n If true, then 'futurePayExplanation' is required.", - "type": [ - "string", - "null" - ], + "type": "string", "enum": [ "YES", - "NO", - null + "NO" ], "example": "YES", "nullable": true }, "futureMilitaryRetiredPayExplanation": { "description": "Explains why future pay will be received.", - "type": [ - "string", - "null" - ], + "type": "string", "maxLength": 1000, "example": "Will be retiring soon.", "nullable": true }, "militaryRetiredPay": { - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "description": "", "properties": { "branchOfService": { "description": "Branch of service. The /service-branches endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current) may be used to retrieve list of possible service branches.", - "type": [ - "string", - "null" - ], + "type": "string", "maxLength": 1000, "nullable": true, "example": "Air Force" }, "monthlyAmount": { "description": "Amount being received.", - "type": [ - "integer", - "null" - ], + "type": "integer", "nullable": true, "minimum": 1, "maximum": 999999, @@ -2766,76 +2371,53 @@ } }, "retiredStatus": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "description": "", "enum": [ "RETIRED", "TEMPORARY_DISABILITY_RETIRED_LIST", - "PERMANENT_DISABILITY_RETIRED_LIST", - null + "PERMANENT_DISABILITY_RETIRED_LIST" ] }, "favorMilitaryRetiredPay": { "description": "Is the Veteran waiving VA benefits to retain military retired pay? See item 26 on form 21-526EZ for more details.", - "type": [ - "boolean", - "null" - ], + "type": "boolean", "nullable": true, "example": true, "default": false }, "receivedSeparationOrSeverancePay": { "description": "Has the Veteran ever received separation pay, disability severance pay, or any other lump sum payment from their branch of service?", - "type": [ - "string", - "null" - ], + "type": "string", "enum": [ "YES", - "NO", - null + "NO" ], "example": "YES", "nullable": true }, "separationSeverancePay": { - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "description": "", "properties": { "datePaymentReceived": { "description": "Approximate date separation pay was received. \n Format can be either YYYY-MM-DD or YYYY-MM or YYYY", - "type": [ - "string", - "null" - ], + "type": "string", "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$|(?:[0-9]{4})$|(?:[0-9]{4})-(?:0[1-9]|1[0-2])$", "example": "2018-03-02 or 2018-03 or 2018" }, "branchOfService": { "description": "Branch of service. The /service-branches endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current) may be used to retrieve list of possible service branches.", - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "maxLength": 1000, "example": "Air Force" }, "preTaxAmountReceived": { "description": "Amount being received.", - "type": [ - "integer", - "null" - ], + "type": "integer", "nullable": true, "minimum": 1, "maximum": 999999, @@ -2845,10 +2427,7 @@ }, "favorTrainingPay": { "description": "Is the Veteran waiving VA benefits to retain training pay? See item 28 on form 21-526EZ for more details. ", - "type": [ - "boolean", - "null" - ], + "type": "boolean", "nullable": true, "example": true, "default": false @@ -2856,19 +2435,13 @@ } }, "directDeposit": { - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "additionalProperties": false, "description": "If direct deposit information is included, the following attributes are required: accountType, accountNumber, routingNumber.", "properties": { "noAccount": { - "type": [ - "boolean", - "null" - ], + "type": "boolean", "nullable": true, "description": "Claimant certifies that they do not have an account with a financial institution or certified payment agent.", "default": false @@ -2876,44 +2449,31 @@ "accountNumber": { "description": "Account number for the direct deposit.", "pattern": "^(?:[a-zA-Z0-9-]{4,1000})?$", - "type": [ - "string", - "null" - ], + "type": "string", "maxLength": 1000, "nullable": true, "example": "123123123123" }, "accountType": { "description": "Account type for the direct deposit.", - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "example": "CHECKING", "enum": [ "CHECKING", - "SAVINGS", - null + "SAVINGS" ] }, "financialInstitutionName": { "description": "Provide the name of the financial institution where the Veteran wants the direct deposit.", "maxLength": 1000, - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "example": "Some Bank" }, "routingNumber": { "description": "Routing number for the direct deposit.", - "type": [ - "string", - "null" - ], + "type": "string", "maxLength": 1000, "nullable": true, "pattern": "^$|^\\d{0,1000}$", @@ -2927,10 +2487,7 @@ "default": false }, "claimNotes": { - "type": [ - "string", - "null" - ], + "type": "string", "description": "An optional notes section.", "maxLength": 4000 }, @@ -3164,13 +2721,7 @@ "type": "object", "required": [ "attributes", - [ - "claimantCertification", - "claimProcessType", - "disabilities", - "serviceInformation", - "veteranIdentification" - ] + null ], "properties": { "attributes": { @@ -3204,37 +2755,25 @@ ], "properties": { "serviceNumber": { - "type": [ - "null", - "string" - ], + "type": "string", "description": "Service identification number", "maxLength": 1000, "nullable": true }, "veteranNumber": { "description": "If there isn't a ten digit phone number in VBMS for the Veteran, the exams will not be ordered. Including the phone number is recommended to avoid claim processing delays.", - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "properties": { "telephone": { "description": "Veteran's phone number.", - "type": [ - "string", - "null" - ], + "type": "string", "pattern": "^\\d{10}?$", "example": "5555555555", "nullable": true }, "internationalTelephone": { - "type": [ - "string", - "null" - ], + "type": "string", "description": "Veteran's international phone number.", "example": "+44 20 1234 5678", "maxLength": 1000, @@ -3260,10 +2799,7 @@ }, "addressLine2": { "description": "Address line 2 for the Veteran's current mailing address.", - "type": [ - "string", - "null" - ], + "type": "string", "pattern": "^([-a-zA-Z0-9'.,&#]([-a-zA-Z0-9'.,&# ])?)+$", "maxLength": 20, "example": "Unit 4", @@ -3271,10 +2807,7 @@ }, "addressLine3": { "description": "Address line 3 for the Veteran's current mailing address.", - "type": [ - "string", - "null" - ], + "type": "string", "pattern": "^([-a-zA-Z0-9'.,&#]([-a-zA-Z0-9'.,&# ])?)+$", "maxLength": 20, "example": "Room 1", @@ -3290,10 +2823,7 @@ }, "state": { "description": "State for the Veteran's current mailing address. Required if 'country' is 'USA'.", - "type": [ - "string", - "null" - ], + "type": "string", "pattern": "^[a-z,A-Z]{2}$", "example": "NY", "nullable": true @@ -3306,30 +2836,21 @@ }, "zipFirstFive": { "description": "Zip code (First 5 digits) for the Veteran's current mailing address. Required if 'country' is 'USA'.", - "type": [ - "string", - "null" - ], + "type": "string", "pattern": "^\\d{5}?$", "example": "12345", "nullable": true }, "zipLastFour": { "description": "Zip code (Last 4 digits) for the Veteran's current mailing address.", - "type": [ - "string", - "null" - ], + "type": "string", "pattern": "^\\d{4}?$", "example": "6789", "nullable": true }, "internationalPostalCode": { "description": "International postal code for the Veteran's current mailing address. Do not include if 'country' is 'USA'.", - "type": [ - "string", - "null" - ], + "type": "string", "maxLength": 16, "nullable": true, "pattern": "^[a-zA-Z0-9]*$" @@ -3338,27 +2859,18 @@ }, "emailAddress": { "description": "Information associated with the Veteran's email address.", - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "properties": { "email": { - "type": [ - "string", - "null" - ], + "type": "string", "pattern": "^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w{2,3})+$", "description": "The most current email address of the Veteran.", "maxLength": 50, "nullable": true }, "agreeToEmailRelatedToClaim": { - "type": [ - "boolean", - "null" - ], + "type": "boolean", "description": "Agreement to email information relating to this claim.", "example": true, "default": false, @@ -3375,10 +2887,7 @@ }, "changeOfAddress": { "description": "If 'changeOfAddress' is included, the following attributes are required: 'typeOfAddressChange', 'addressLine1', 'city', 'country'.", - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "additionalProperties": false, "properties": { @@ -3400,10 +2909,7 @@ }, "addressLine2": { "description": "Address line 2 for the Veteran's new address.", - "type": [ - "string", - "null" - ], + "type": "string", "pattern": "^([-a-zA-Z0-9'.,&#]([-a-zA-Z0-9'.,&# ])?)+$", "maxLength": 20, "example": "Unit 4", @@ -3411,10 +2917,7 @@ }, "addressLine3": { "description": "Address line 3 for the Veteran's new address.", - "type": [ - "string", - "null" - ], + "type": "string", "pattern": "^([-a-zA-Z0-9'.,&#]([-a-zA-Z0-9'.,&# ])?)+$", "maxLength": 20, "example": "Room 1", @@ -3430,10 +2933,7 @@ }, "state": { "description": "State for the Veteran's new address. Required if 'country' is 'USA'.", - "type": [ - "string", - "null" - ], + "type": "string", "pattern": "^$|^[a-z,A-Z]{2}$", "example": "NY", "nullable": true @@ -3446,30 +2946,21 @@ }, "zipFirstFive": { "description": "Zip code (First 5 digits) for the Veteran's new address. Required if 'country' is 'USA'.", - "type": [ - "string", - "null" - ], + "type": "string", "pattern": "^$|^\\d{5}?$", "example": "12345", "nullable": true }, "zipLastFour": { "description": "Zip code (Last 4 digits) for the Veteran's new address.", - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "pattern": "^$|^\\d{4}?$", "example": "6789" }, "internationalPostalCode": { "description": "International postal code for the Veteran's new address. Do not include if 'country' is 'USA'.", - "type": [ - "string", - "null" - ], + "type": "string", "maxLength": 16, "nullable": true, "pattern": "^[a-zA-Z0-9]*$" @@ -3480,19 +2971,13 @@ "beginDate": { "description": "Begin date for the Veteran's new address.", "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$", - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "example": "2018-06-04" }, "endDate": { "description": "Date in YYYY-MM-DD the changed address expires, if change is temporary.", - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$", "example": "2018-06-04" @@ -3502,35 +2987,23 @@ } }, "homeless": { - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "additionalProperties": false, "properties": { "isCurrentlyHomeless": { - "type": [ - "boolean", - "null" - ], + "type": "boolean", "nullable": true, "description": "Is the Veteran currently homeless?" }, "currentlyHomeless": { - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "additionalProperties": false, "properties": { "homelessSituationOptions": { "description": "Veteran's living situation.", - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "default": "other", "enum": [ @@ -3538,17 +3011,13 @@ "NOT_CURRENTLY_IN_A_SHELTERED_ENVIRONMENT", "STAYING_WITH_ANOTHER_PERSON", "FLEEING_CURRENT_RESIDENCE", - "OTHER", - null + "OTHER" ], "example": "FLEEING_CURRENT_RESIDENCE" }, "otherDescription": { "description": "Explanation of living situation. Required if 'homelessSituationOptions' is 'OTHER'.", - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "maxLength": 500, "example": "other living situation" @@ -3556,41 +3025,28 @@ } }, "isAtRiskOfBecomingHomeless": { - "type": [ - "boolean", - "null" - ], + "type": "boolean", "nullable": true, "description": "Is the Veteran currently at risk of becoming homeless?" }, "riskOfBecomingHomeless": { - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "additionalProperties": false, "properties": { "livingSituationOptions": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "default": "HOUSING_WILL_BE_LOST_IN_30_DAYS", "enum": [ "HOUSING_WILL_BE_LOST_IN_30_DAYS", "LEAVING_PUBLICLY_FUNDED_SYSTEM_OF_CARE", - "OTHER", - null + "OTHER" ] }, "otherDescription": { "description": "Explanation of living situation. Required if 'livingSituationOptions' is 'OTHER'.", - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "maxLength": 500, "example": "other living situation" @@ -3599,10 +3055,7 @@ }, "pointOfContact": { "description": "Individual in direct contact with Veteran.", - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "minLength": 1, "maxLength": 100, @@ -3610,29 +3063,20 @@ "example": "Jane Doe" }, "pointOfContactNumber": { - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "additionalProperties": false, "properties": { "telephone": { "description": "Ten digit primary phone of point of contact.", - "type": [ - "string", - "null" - ], + "type": "string", "pattern": "^\\d{10}?$", "example": "5555555", "nullable": true }, "internationalTelephone": { "description": "International phone of point of contact.", - "type": [ - "string", - "null" - ], + "type": "string", "example": "+44 20 1234 5678", "maxLength": 1000, "nullable": true @@ -3642,57 +3086,38 @@ } }, "toxicExposure": { - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "properties": { "gulfWarHazardService": { - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "description": "Toxic exposure related to the Gulf war.", "properties": { "servedInGulfWarHazardLocations": { - "type": [ - "string", - "null" - ], + "type": "string", "description": "Set to true if the Veteran served in any of the following Gulf War hazard locations: Iraq; Kuwait; Saudi Arabia; the neutral zone between Iraq and Saudi Arabia; Bahrain; Qatar; the United Arab Emirates; Oman; Yemen; Lebanon; Somalia; Afghanistan; Israel; Egypt; Turkey; Syria; Jordan; Djibouti; Uzbekistan; the Gulf of Aden; the Gulf of Oman; the Persian Gulf; the Arabian Sea; and the Red Sea.", "example": "YES", "enum": [ "NO", - "YES", - null + "YES" ], "nullable": true }, "serviceDates": { - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "description": "Date range for when the exposure happened.", "properties": { "beginDate": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "description": "Approximate begin date for serving in Gulf War hazard location.", "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", "example": "2018-06 or 2018" }, "endDate": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "description": "Approximate end date for serving in Gulf War hazard location.", "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", @@ -3704,31 +3129,21 @@ }, "herbicideHazardService": { "description": "Toxic exposure related to herbicide (Agent Orange) hazards.", - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "properties": { "servedInHerbicideHazardLocations": { - "type": [ - "string", - "null" - ], + "type": "string", "description": "Set to true if the Veteran served in any of the following herbicide/Agent Orange locations: Republic of Vietnam to include the 12 nautical mile territorial waters; Thailand at any United States or Royal Thai base; Laos; Cambodia at Mimot or Krek; Kampong Cham Province; Guam or American Samoa; or in the territorial waters thereof; Johnston Atoll or a ship that called at Johnston Atoll; Korean demilitarized zone; aboard (to include repeated operations and maintenance with) a C-123 aircraft known to have been used to spray an herbicide agent (during service in the Air Force and Air Force Reserves).", "example": "YES", "enum": [ "NO", - "YES", - null + "YES" ], "nullable": true }, "otherLocationsServed": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "pattern": "^$|([a-zA-Z0-9\"\\/&\\(\\)\\-'.,#\\[\\] ]([a-zA-Z0-9(\\)\\-'.,#\\[\\] ])?)+$", "maxLength": 5000, @@ -3736,27 +3151,18 @@ }, "serviceDates": { "description": "Date range for exposure in herbicide hazard location.", - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "properties": { "beginDate": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "description": "Approximate begin date for serving in herbicide location.", "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", "example": "2018-06 or 2018" }, "endDate": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "description": "Approximate end date for serving in herbicide location.", "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", @@ -3767,19 +3173,13 @@ } }, "additionalHazardExposures": { - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "description": "Additional hazardous exposures.", "properties": { "additionalExposures": { "description": "Additional exposure incidents.", - "type": [ - "array", - "null" - ], + "type": "array", "nullable": true, "uniqueItems": true, "items": { @@ -3792,44 +3192,31 @@ "SHIPBOARD_HAZARD_AND_DEFENSE", "MILITARY_OCCUPATIONAL_SPECIALTY_RELATED_TOXIN", "CONTAMINATED_WATER_AT_CAMP_LEJEUNE", - "OTHER", - null + "OTHER" ] } }, "specifyOtherExposures": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "pattern": "^$|([a-zA-Z0-9\"\\/&\\(\\)\\-'.,#\\[\\] ]([a-zA-Z0-9(\\)\\-'.,#\\[\\] ])?)+$", "maxLength": 5000, "description": "Exposure to asbestos." }, "exposureDates": { - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "description": "Date range for when the exposure happened.", "properties": { "beginDate": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "description": "Approximate begin date for exposure.", "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", "example": "2018-06 or 2018" }, "endDate": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "description": "Approximate end date for exposure.", "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", @@ -3840,10 +3227,7 @@ } }, "multipleExposures": { - "type": [ - "array", - "null" - ], + "type": "array", "nullable": true, "minItems": 1, "uniqueItems": true, @@ -3852,48 +3236,33 @@ "additionalProperties": false, "properties": { "hazardExposedTo": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "pattern": "^([-a-zA-Z0-9'.,&# ])+$", "maxLength": 1000, "description": "Hazard the Veteran was exposed to." }, "exposureLocation": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "pattern": "^$|([a-zA-Z0-9\"\\/&\\(\\)\\-'.,#\\[\\] ]([a-zA-Z0-9(\\)\\-'.,#\\[\\] ])?)+$", "maxLength": 1000, "description": "Location where the exposure happened." }, "exposureDates": { - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "description": "Date range for when the exposure happened.", "properties": { "beginDate": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "description": "Approximate begin date for exposure.", "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", "example": "2018-06 or 2018" }, "endDate": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "description": "Approximate end date for exposure.", "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", @@ -3926,10 +3295,7 @@ "maxLength": 255 }, "exposureOrEventOrInjury": { - "type": [ - "string", - "null" - ], + "type": "string", "description": "What caused the disability?", "nullable": true, "maxLength": 1000, @@ -3941,20 +3307,14 @@ }, "serviceRelevance": { "description": "Explanation of how the disability(ies) relates to the in-service event/exposure/injury. If the disabilityActionType is 'NEW', the serviceRelevance is required.", - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "maxLength": 1000, "example": "Heavy equipment operator in service." }, "approximateDate": { "description": "Approximate date disability began. Date must be in the past. \n Format can be either YYYY-MM-DD or YYYY-MM or YYYY", - "type": [ - "string", - "null" - ], + "type": "string", "pattern": "^(?:[0-9]{4}(?:-(?!00)(?:0[1-9]|1[0-2])(?:-(?:0[1-9]|[1-2][0-9]|3[0-1]))?)?)$", "example": "2018-03-02 or 2018-03 or 2018", "nullable": true @@ -3970,47 +3330,32 @@ "example": "NEW" }, "classificationCode": { - "type": [ - "string", - "null" - ], + "type": "string", "description": "Classification code for the associated body system. Must match an active code returned by the /disabilities endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current).", "example": "249470", "nullable": true }, "ratedDisabilityId": { "description": "When submitting a contention with action type 'INCREASE', the previously rated disability id may be included.", - "type": [ - "string", - "null" - ], + "type": "string", "example": "1100583", "nullable": true }, "diagnosticCode": { "description": "If the disabilityActionType is 'NONE' or 'INCREASE', the diagnosticCode should correspond to an existing rated disability.", - "type": [ - "integer", - "null" - ], + "type": "integer", "example": 9999, "nullable": true }, "isRelatedToToxicExposure": { - "type": [ - "boolean", - "null" - ], + "type": "boolean", "description": "Is the disability related to toxic exposures? If true, related 'toxicExposure' must be included.", "example": true, "default": false, "nullable": true }, "specialIssues": { - "type": [ - "array", - "null" - ], + "type": "array", "nullable": true, "uniqueItems": true, "items": { @@ -4025,10 +3370,7 @@ }, "secondaryDisabilities": { "description": "If secondaryDisability is included, the following attributes are required: 'secondaryDisability.name', 'secondaryDisability.disabilityActionType' and 'secondaryDisability.serviceRelevance'", - "type": [ - "array", - "null" - ], + "type": "array", "items": { "type": "object", "additionalProperties": false, @@ -4041,10 +3383,7 @@ "maxLength": 255 }, "exposureOrEventOrInjury": { - "type": [ - "string", - "null" - ], + "type": "string", "description": "What caused the disability?", "nullable": true, "maxLength": 1000, @@ -4056,10 +3395,7 @@ }, "serviceRelevance": { "description": "Explanation of how the disability(ies) relates to the in-service event/exposure/injury.", - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "maxLength": 1000, "example": "Heavy equipment operator in service." @@ -4074,19 +3410,13 @@ }, "approximateDate": { "description": "Approximate date disability began. Date must be in the past. \n Format can be either YYYY-MM-DD or YYYY-MM or YYYY", - "type": [ - "string", - "null" - ], + "type": "string", "pattern": "^(?:[0-9]{4}(?:-(?!00)(?:0[1-9]|1[0-2])(?:-(?:0[1-9]|[1-2][0-9]|3[0-1]))?)?)$", "example": "2018-03-02 or 2018-03 or 2018", "nullable": true }, "classificationCode": { - "type": [ - "string", - "null" - ], + "type": "string", "description": "Classification code for the associated body system. Must match an active code returned by the /disabilities endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current).", "example": "249470", "nullable": true @@ -4099,10 +3429,7 @@ }, "treatments": { "description": "Identifies the Service Treatment information of the Veteran. The combination of treatedDisabilityName, center name, center city, and center state must be less than 1000 characters to successfully generate a PDF.", - "type": [ - "array", - "null" - ], + "type": "array", "nullable": true, "uniqueItems": true, "items": { @@ -4111,20 +3438,14 @@ "properties": { "beginDate": { "description": "Begin date for treatment. If treatment began from 2005 to present, you do not need to provide dates. Each treatment begin date must be after the first 'servicePeriod.activeDutyBeginDate'.", - "type": [ - "string", - "null" - ], + "type": "string", "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", "example": "2018-06 or 2018", "nullable": true }, "treatedDisabilityNames": { "description": "Name(s) of disabilities treated in this time frame.", - "type": [ - "array", - "null" - ], + "type": "array", "nullable": true, "maxItems": 101, "items": { @@ -4138,19 +3459,13 @@ }, "center": { "description": "VA Medical Center(s) and Department of Defense Military Treatment Facilities where the Veteran received treatment after discharge for any claimed disabilities.", - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "additionalProperties": false, "properties": { "name": { "description": "Name of facility Veteran was treated in. The /treatment-centers endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current) may be used to retrieve possible treatment center names.", - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "pattern": "([a-zA-Z0-9\"/&()\\'-'.,# ]([a-zA-Z0-9()\\'-'.,# ])?)+$", "example": "Private Facility 2", @@ -4159,10 +3474,7 @@ }, "city": { "description": "City of treatment facility.", - "type": [ - "string", - "null" - ], + "type": "string", "pattern": "([a-zA-Z0-9\\-'.# ]([a-zA-Z0-9\\-'.# ])?)+$", "example": "Portland", "nullable": true, @@ -4171,10 +3483,7 @@ }, "state": { "description": "State of treatment facility.", - "type": [ - "string", - "null" - ], + "type": "string", "pattern": "^$|^[a-z,A-Z]{2}$", "example": "OR", "nullable": true @@ -4193,10 +3502,7 @@ "properties": { "alternateNames": { "description": "List any other names under which the Veteran served, if applicable.", - "type": [ - "array", - "null" - ], + "type": "array", "nullable": true, "maxItems": 100, "uniqueItems": true, @@ -4252,10 +3558,7 @@ }, "separationLocationCode": { "description": "Location code for the facility the Veteran plans to separate from. Code must match the values returned by the /intake-sites endpoint on the [Benefits reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current).", - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "example": "98283" } @@ -4263,63 +3566,43 @@ } }, "servedInActiveCombatSince911": { - "type": [ - "string", - "null" - ], + "type": "string", "enum": [ "YES", - "NO", - null + "NO" ], "description": "Did Veteran serve in a combat zone since 9-11-2001?", "example": "YES", "nullable": true }, "reservesNationalGuardService": { - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "additionalProperties": false, "properties": { "component": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "description": "", "enum": [ "Reserves", - "National Guard", - null + "National Guard" ] }, "obligationTermsOfService": { - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "description": "If 'obligationTermsOfService' is included, the following attributes are required: 'beginDate ' and 'endDate'.", "additionalProperties": false, "properties": { "beginDate": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$", "example": "2018-06-06" }, "endDate": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$", "example": "2018-06-06" @@ -4327,46 +3610,31 @@ } }, "unitName": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "maxLength": 1000, "pattern": "^$|([a-zA-Z0-9\\-'.,# ][a-zA-Z0-9\\-'.,# ]?)*$" }, "unitAddress": { - "type": [ - "string", - "null" - ], + "type": "string", "maxLength": 1000, "pattern": "^$|^([-a-zA-Z0-9'.,&# ])+$", "nullable": true }, "unitPhone": { - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "additionalProperties": false, "properties": { "areaCode": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "maxLength": 3, "pattern": "^$|^\\d{3}$", "example": "555" }, "phoneNumber": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "maxLength": 20, "example": "5555555" @@ -4374,14 +3642,10 @@ } }, "receivingInactiveDutyTrainingPay": { - "type": [ - "string", - "null" - ], + "type": "string", "enum": [ "YES", - "NO", - null + "NO" ], "nullable": true, "example": "YES" @@ -4390,29 +3654,20 @@ }, "federalActivation": { "description": "If federalActivation is present then reservesNationalGuardService.obligationTermsOfService.beginDate, reservesNationalGuardService.obligationTermsOfService.endDate and reservesNationalGuardService.unitName are required", - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "additionalProperties": false, "properties": { "activationDate": { "description": "Date cannot be in the future and must be after the earliest servicePeriod.activeDutyBeginDate.", - "type": [ - "string", - "null" - ], + "type": "string", "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$", "example": "2018-06-06", "nullable": true }, "anticipatedSeparationDate": { "description": "Anticipated date of separation. Date must be in the future.", - "type": [ - "string", - "null" - ], + "type": "string", "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$", "example": "2018-06-06", "nullable": true @@ -4420,10 +3675,7 @@ } }, "confinements": { - "type": [ - "array", - "null" - ], + "type": "array", "nullable": true, "uniqueItems": true, "items": { @@ -4432,17 +3684,13 @@ "properties": { "approximateBeginDate": { "description": "The approximateBeginDate must be after the earliest servicePeriod activeDutyBeginDate.", - "type": [ - "string" - ], + "type": "string", "nullable": false, "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$|(?:[0-9]{4})-(?:0[1-9]|1[0-2])$", "example": "2018-06-06 or 2018-06" }, "approximateEndDate": { - "type": [ - "string" - ], + "type": "string", "nullable": false, "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$|(?:[0-9]{4})-(?:0[1-9]|1[0-2])$", "example": "2018-06-06 or 2018-06" @@ -4453,75 +3701,52 @@ } }, "servicePay": { - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "additionalProperties": false, "properties": { "receivingMilitaryRetiredPay": { "description": "Is the Veteran receiving military retired pay?", - "type": [ - "string", - "null" - ], + "type": "string", "enum": [ "YES", - "NO", - null + "NO" ], "example": "YES", "nullable": true }, "futureMilitaryRetiredPay": { "description": "Will the Veteran receive military retired pay pay in future? \n If true, then 'futurePayExplanation' is required.", - "type": [ - "string", - "null" - ], + "type": "string", "enum": [ "YES", - "NO", - null + "NO" ], "example": "YES", "nullable": true }, "futureMilitaryRetiredPayExplanation": { "description": "Explains why future pay will be received.", - "type": [ - "string", - "null" - ], + "type": "string", "maxLength": 1000, "example": "Will be retiring soon.", "nullable": true }, "militaryRetiredPay": { - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "description": "", "properties": { "branchOfService": { "description": "Branch of service. The /service-branches endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current) may be used to retrieve list of possible service branches.", - "type": [ - "string", - "null" - ], + "type": "string", "maxLength": 1000, "nullable": true, "example": "Air Force" }, "monthlyAmount": { "description": "Amount being received.", - "type": [ - "integer", - "null" - ], + "type": "integer", "nullable": true, "minimum": 1, "maximum": 999999, @@ -4530,76 +3755,53 @@ } }, "retiredStatus": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "description": "", "enum": [ "RETIRED", "TEMPORARY_DISABILITY_RETIRED_LIST", - "PERMANENT_DISABILITY_RETIRED_LIST", - null + "PERMANENT_DISABILITY_RETIRED_LIST" ] }, "favorMilitaryRetiredPay": { "description": "Is the Veteran waiving VA benefits to retain military retired pay? See item 26 on form 21-526EZ for more details.", - "type": [ - "boolean", - "null" - ], + "type": "boolean", "nullable": true, "example": true, "default": false }, "receivedSeparationOrSeverancePay": { "description": "Has the Veteran ever received separation pay, disability severance pay, or any other lump sum payment from their branch of service?", - "type": [ - "string", - "null" - ], + "type": "string", "enum": [ "YES", - "NO", - null + "NO" ], "example": "YES", "nullable": true }, "separationSeverancePay": { - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "description": "", "properties": { "datePaymentReceived": { "description": "Approximate date separation pay was received. \n Format can be either YYYY-MM-DD or YYYY-MM or YYYY", - "type": [ - "string", - "null" - ], + "type": "string", "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$|(?:[0-9]{4})$|(?:[0-9]{4})-(?:0[1-9]|1[0-2])$", "example": "2018-03-02 or 2018-03 or 2018" }, "branchOfService": { "description": "Branch of service. The /service-branches endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current) may be used to retrieve list of possible service branches.", - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "maxLength": 1000, "example": "Air Force" }, "preTaxAmountReceived": { "description": "Amount being received.", - "type": [ - "integer", - "null" - ], + "type": "integer", "nullable": true, "minimum": 1, "maximum": 999999, @@ -4609,10 +3811,7 @@ }, "favorTrainingPay": { "description": "Is the Veteran waiving VA benefits to retain training pay? See item 28 on form 21-526EZ for more details. ", - "type": [ - "boolean", - "null" - ], + "type": "boolean", "nullable": true, "example": true, "default": false @@ -4620,19 +3819,13 @@ } }, "directDeposit": { - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "additionalProperties": false, "description": "If direct deposit information is included, the following attributes are required: accountType, accountNumber, routingNumber.", "properties": { "noAccount": { - "type": [ - "boolean", - "null" - ], + "type": "boolean", "nullable": true, "description": "Claimant certifies that they do not have an account with a financial institution or certified payment agent.", "default": false @@ -4640,44 +3833,31 @@ "accountNumber": { "description": "Account number for the direct deposit.", "pattern": "^(?:[a-zA-Z0-9-]{4,1000})?$", - "type": [ - "string", - "null" - ], + "type": "string", "maxLength": 1000, "nullable": true, "example": "123123123123" }, "accountType": { "description": "Account type for the direct deposit.", - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "example": "CHECKING", "enum": [ "CHECKING", - "SAVINGS", - null + "SAVINGS" ] }, "financialInstitutionName": { "description": "Provide the name of the financial institution where the Veteran wants the direct deposit.", "maxLength": 1000, - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "example": "Some Bank" }, "routingNumber": { "description": "Routing number for the direct deposit.", - "type": [ - "string", - "null" - ], + "type": "string", "maxLength": 1000, "nullable": true, "pattern": "^$|^\\d{0,1000}$", @@ -4691,10 +3871,7 @@ "default": false }, "claimNotes": { - "type": [ - "string", - "null" - ], + "type": "string", "description": "An optional notes section.", "maxLength": 4000 } @@ -5217,7 +4394,7 @@ "202 without a transactionId": { "value": { "data": { - "id": "6f10d62d-fd16-473c-a5f0-2c28789fdd6c", + "id": "2dd4c099-b700-471b-b4a5-578b55234a2f", "type": "forms/526", "attributes": { "claimId": "600442191", @@ -5402,7 +4579,7 @@ }, "federalActivation": { "activationDate": "2023-10-01", - "anticipatedSeparationDate": "2024-12-05" + "anticipatedSeparationDate": "2024-12-06" }, "confinements": [ { @@ -5448,7 +4625,7 @@ "202 with a transactionId": { "value": { "data": { - "id": "11c51314-fcb9-4cce-b55e-7133b8a8ba3a", + "id": "8088708b-f0a2-43d3-8bca-6432c8b24b89", "type": "forms/526", "attributes": { "claimId": "600442191", @@ -5612,7 +4789,7 @@ "serviceBranch": "Public Health Service", "serviceComponent": "Active", "activeDutyBeginDate": "2008-11-14", - "activeDutyEndDate": "2024-12-05", + "activeDutyEndDate": "2024-12-06", "separationLocationCode": "98282" } ], @@ -5633,7 +4810,7 @@ }, "federalActivation": { "activationDate": "2023-10-01", - "anticipatedSeparationDate": "2024-12-05" + "anticipatedSeparationDate": "2024-12-06" }, "confinements": [ { @@ -5732,37 +4909,25 @@ ], "properties": { "serviceNumber": { - "type": [ - "null", - "string" - ], + "type": "string", "description": "Service identification number", "maxLength": 1000, "nullable": true }, "veteranNumber": { "description": "If there isn't a ten digit phone number in VBMS for the Veteran, the exams will not be ordered. Including the phone number is recommended to avoid claim processing delays.", - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "properties": { "telephone": { "description": "Veteran's phone number.", - "type": [ - "string", - "null" - ], + "type": "string", "pattern": "^\\d{10}?$", "example": "5555555555", "nullable": true }, "internationalTelephone": { - "type": [ - "string", - "null" - ], + "type": "string", "description": "Veteran's international phone number.", "example": "+44 20 1234 5678", "maxLength": 1000, @@ -5788,10 +4953,7 @@ }, "addressLine2": { "description": "Address line 2 for the Veteran's current mailing address.", - "type": [ - "string", - "null" - ], + "type": "string", "pattern": "^([-a-zA-Z0-9'.,&#]([-a-zA-Z0-9'.,&# ])?)+$", "maxLength": 20, "example": "Unit 4", @@ -5799,10 +4961,7 @@ }, "addressLine3": { "description": "Address line 3 for the Veteran's current mailing address.", - "type": [ - "string", - "null" - ], + "type": "string", "pattern": "^([-a-zA-Z0-9'.,&#]([-a-zA-Z0-9'.,&# ])?)+$", "maxLength": 20, "example": "Room 1", @@ -5818,10 +4977,7 @@ }, "state": { "description": "State for the Veteran's current mailing address. Required if 'country' is 'USA'.", - "type": [ - "string", - "null" - ], + "type": "string", "pattern": "^[a-z,A-Z]{2}$", "example": "NY", "nullable": true @@ -5834,30 +4990,21 @@ }, "zipFirstFive": { "description": "Zip code (First 5 digits) for the Veteran's current mailing address. Required if 'country' is 'USA'.", - "type": [ - "string", - "null" - ], + "type": "string", "pattern": "^\\d{5}?$", "example": "12345", "nullable": true }, "zipLastFour": { "description": "Zip code (Last 4 digits) for the Veteran's current mailing address.", - "type": [ - "string", - "null" - ], + "type": "string", "pattern": "^\\d{4}?$", "example": "6789", "nullable": true }, "internationalPostalCode": { "description": "International postal code for the Veteran's current mailing address. Do not include if 'country' is 'USA'.", - "type": [ - "string", - "null" - ], + "type": "string", "maxLength": 16, "nullable": true, "pattern": "^[a-zA-Z0-9]*$" @@ -5866,27 +5013,18 @@ }, "emailAddress": { "description": "Information associated with the Veteran's email address.", - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "properties": { "email": { - "type": [ - "string", - "null" - ], + "type": "string", "pattern": "^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w{2,3})+$", "description": "The most current email address of the Veteran.", "maxLength": 50, "nullable": true }, "agreeToEmailRelatedToClaim": { - "type": [ - "boolean", - "null" - ], + "type": "boolean", "description": "Agreement to email information relating to this claim.", "example": true, "default": false, @@ -5903,10 +5041,7 @@ }, "changeOfAddress": { "description": "If 'changeOfAddress' is included, the following attributes are required: 'typeOfAddressChange', 'addressLine1', 'city', 'country'.", - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "additionalProperties": false, "properties": { @@ -5928,10 +5063,7 @@ }, "addressLine2": { "description": "Address line 2 for the Veteran's new address.", - "type": [ - "string", - "null" - ], + "type": "string", "pattern": "^([-a-zA-Z0-9'.,&#]([-a-zA-Z0-9'.,&# ])?)+$", "maxLength": 20, "example": "Unit 4", @@ -5939,10 +5071,7 @@ }, "addressLine3": { "description": "Address line 3 for the Veteran's new address.", - "type": [ - "string", - "null" - ], + "type": "string", "pattern": "^([-a-zA-Z0-9'.,&#]([-a-zA-Z0-9'.,&# ])?)+$", "maxLength": 20, "example": "Room 1", @@ -5958,10 +5087,7 @@ }, "state": { "description": "State for the Veteran's new address. Required if 'country' is 'USA'.", - "type": [ - "string", - "null" - ], + "type": "string", "pattern": "^$|^[a-z,A-Z]{2}$", "example": "NY", "nullable": true @@ -5974,30 +5100,21 @@ }, "zipFirstFive": { "description": "Zip code (First 5 digits) for the Veteran's new address. Required if 'country' is 'USA'.", - "type": [ - "string", - "null" - ], + "type": "string", "pattern": "^$|^\\d{5}?$", "example": "12345", "nullable": true }, "zipLastFour": { "description": "Zip code (Last 4 digits) for the Veteran's new address.", - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "pattern": "^$|^\\d{4}?$", "example": "6789" }, "internationalPostalCode": { "description": "International postal code for the Veteran's new address. Do not include if 'country' is 'USA'.", - "type": [ - "string", - "null" - ], + "type": "string", "maxLength": 16, "nullable": true, "pattern": "^[a-zA-Z0-9]*$" @@ -6008,19 +5125,13 @@ "beginDate": { "description": "Begin date for the Veteran's new address.", "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$", - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "example": "2018-06-04" }, "endDate": { "description": "Date in YYYY-MM-DD the changed address expires, if change is temporary.", - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$", "example": "2018-06-04" @@ -6030,35 +5141,23 @@ } }, "homeless": { - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "additionalProperties": false, "properties": { "isCurrentlyHomeless": { - "type": [ - "boolean", - "null" - ], + "type": "boolean", "nullable": true, "description": "Is the Veteran currently homeless?" }, "currentlyHomeless": { - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "additionalProperties": false, "properties": { "homelessSituationOptions": { "description": "Veteran's living situation.", - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "default": "other", "enum": [ @@ -6066,17 +5165,13 @@ "NOT_CURRENTLY_IN_A_SHELTERED_ENVIRONMENT", "STAYING_WITH_ANOTHER_PERSON", "FLEEING_CURRENT_RESIDENCE", - "OTHER", - null + "OTHER" ], "example": "FLEEING_CURRENT_RESIDENCE" }, "otherDescription": { "description": "Explanation of living situation. Required if 'homelessSituationOptions' is 'OTHER'.", - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "maxLength": 500, "example": "other living situation" @@ -6084,41 +5179,28 @@ } }, "isAtRiskOfBecomingHomeless": { - "type": [ - "boolean", - "null" - ], + "type": "boolean", "nullable": true, "description": "Is the Veteran currently at risk of becoming homeless?" }, "riskOfBecomingHomeless": { - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "additionalProperties": false, "properties": { "livingSituationOptions": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "default": "HOUSING_WILL_BE_LOST_IN_30_DAYS", "enum": [ "HOUSING_WILL_BE_LOST_IN_30_DAYS", "LEAVING_PUBLICLY_FUNDED_SYSTEM_OF_CARE", - "OTHER", - null + "OTHER" ] }, "otherDescription": { "description": "Explanation of living situation. Required if 'livingSituationOptions' is 'OTHER'.", - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "maxLength": 500, "example": "other living situation" @@ -6127,10 +5209,7 @@ }, "pointOfContact": { "description": "Individual in direct contact with Veteran.", - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "minLength": 1, "maxLength": 100, @@ -6138,29 +5217,20 @@ "example": "Jane Doe" }, "pointOfContactNumber": { - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "additionalProperties": false, "properties": { "telephone": { "description": "Ten digit primary phone of point of contact.", - "type": [ - "string", - "null" - ], + "type": "string", "pattern": "^\\d{10}?$", "example": "5555555", "nullable": true }, "internationalTelephone": { "description": "International phone of point of contact.", - "type": [ - "string", - "null" - ], + "type": "string", "example": "+44 20 1234 5678", "maxLength": 1000, "nullable": true @@ -6170,57 +5240,38 @@ } }, "toxicExposure": { - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "properties": { "gulfWarHazardService": { - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "description": "Toxic exposure related to the Gulf war.", "properties": { "servedInGulfWarHazardLocations": { - "type": [ - "string", - "null" - ], + "type": "string", "description": "Set to true if the Veteran served in any of the following Gulf War hazard locations: Iraq; Kuwait; Saudi Arabia; the neutral zone between Iraq and Saudi Arabia; Bahrain; Qatar; the United Arab Emirates; Oman; Yemen; Lebanon; Somalia; Afghanistan; Israel; Egypt; Turkey; Syria; Jordan; Djibouti; Uzbekistan; the Gulf of Aden; the Gulf of Oman; the Persian Gulf; the Arabian Sea; and the Red Sea.", "example": "YES", "enum": [ "NO", - "YES", - null + "YES" ], "nullable": true }, "serviceDates": { - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "description": "Date range for when the exposure happened.", "properties": { "beginDate": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "description": "Approximate begin date for serving in Gulf War hazard location.", "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", "example": "2018-06 or 2018" }, "endDate": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "description": "Approximate end date for serving in Gulf War hazard location.", "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", @@ -6232,31 +5283,21 @@ }, "herbicideHazardService": { "description": "Toxic exposure related to herbicide (Agent Orange) hazards.", - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "properties": { "servedInHerbicideHazardLocations": { - "type": [ - "string", - "null" - ], + "type": "string", "description": "Set to true if the Veteran served in any of the following herbicide/Agent Orange locations: Republic of Vietnam to include the 12 nautical mile territorial waters; Thailand at any United States or Royal Thai base; Laos; Cambodia at Mimot or Krek; Kampong Cham Province; Guam or American Samoa; or in the territorial waters thereof; Johnston Atoll or a ship that called at Johnston Atoll; Korean demilitarized zone; aboard (to include repeated operations and maintenance with) a C-123 aircraft known to have been used to spray an herbicide agent (during service in the Air Force and Air Force Reserves).", "example": "YES", "enum": [ "NO", - "YES", - null + "YES" ], "nullable": true }, "otherLocationsServed": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "pattern": "^$|([a-zA-Z0-9\"\\/&\\(\\)\\-'.,#\\[\\] ]([a-zA-Z0-9(\\)\\-'.,#\\[\\] ])?)+$", "maxLength": 5000, @@ -6264,27 +5305,18 @@ }, "serviceDates": { "description": "Date range for exposure in herbicide hazard location.", - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "properties": { "beginDate": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "description": "Approximate begin date for serving in herbicide location.", "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", "example": "2018-06 or 2018" }, "endDate": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "description": "Approximate end date for serving in herbicide location.", "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", @@ -6295,19 +5327,13 @@ } }, "additionalHazardExposures": { - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "description": "Additional hazardous exposures.", "properties": { "additionalExposures": { "description": "Additional exposure incidents.", - "type": [ - "array", - "null" - ], + "type": "array", "nullable": true, "uniqueItems": true, "items": { @@ -6320,44 +5346,31 @@ "SHIPBOARD_HAZARD_AND_DEFENSE", "MILITARY_OCCUPATIONAL_SPECIALTY_RELATED_TOXIN", "CONTAMINATED_WATER_AT_CAMP_LEJEUNE", - "OTHER", - null + "OTHER" ] } }, "specifyOtherExposures": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "pattern": "^$|([a-zA-Z0-9\"\\/&\\(\\)\\-'.,#\\[\\] ]([a-zA-Z0-9(\\)\\-'.,#\\[\\] ])?)+$", "maxLength": 5000, "description": "Exposure to asbestos." }, "exposureDates": { - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "description": "Date range for when the exposure happened.", "properties": { "beginDate": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "description": "Approximate begin date for exposure.", "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", "example": "2018-06 or 2018" }, "endDate": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "description": "Approximate end date for exposure.", "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", @@ -6368,10 +5381,7 @@ } }, "multipleExposures": { - "type": [ - "array", - "null" - ], + "type": "array", "nullable": true, "minItems": 1, "uniqueItems": true, @@ -6380,48 +5390,33 @@ "additionalProperties": false, "properties": { "hazardExposedTo": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "pattern": "^([-a-zA-Z0-9'.,&# ])+$", "maxLength": 1000, "description": "Hazard the Veteran was exposed to." }, "exposureLocation": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "pattern": "^$|([a-zA-Z0-9\"\\/&\\(\\)\\-'.,#\\[\\] ]([a-zA-Z0-9(\\)\\-'.,#\\[\\] ])?)+$", "maxLength": 1000, "description": "Location where the exposure happened." }, "exposureDates": { - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "description": "Date range for when the exposure happened.", "properties": { "beginDate": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "description": "Approximate begin date for exposure.", "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", "example": "2018-06 or 2018" }, "endDate": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "description": "Approximate end date for exposure.", "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", @@ -6454,10 +5449,7 @@ "maxLength": 255 }, "exposureOrEventOrInjury": { - "type": [ - "string", - "null" - ], + "type": "string", "description": "What caused the disability?", "nullable": true, "maxLength": 1000, @@ -6469,20 +5461,14 @@ }, "serviceRelevance": { "description": "Explanation of how the disability(ies) relates to the in-service event/exposure/injury. If the disabilityActionType is 'NEW', the serviceRelevance is required.", - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "maxLength": 1000, "example": "Heavy equipment operator in service." }, "approximateDate": { "description": "Approximate date disability began. Date must be in the past. \n Format can be either YYYY-MM-DD or YYYY-MM or YYYY", - "type": [ - "string", - "null" - ], + "type": "string", "pattern": "^(?:[0-9]{4}(?:-(?!00)(?:0[1-9]|1[0-2])(?:-(?:0[1-9]|[1-2][0-9]|3[0-1]))?)?)$", "example": "2018-03-02 or 2018-03 or 2018", "nullable": true @@ -6498,47 +5484,32 @@ "example": "NEW" }, "classificationCode": { - "type": [ - "string", - "null" - ], + "type": "string", "description": "Classification code for the associated body system. Must match an active code returned by the /disabilities endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current).", "example": "249470", "nullable": true }, "ratedDisabilityId": { "description": "When submitting a contention with action type 'INCREASE', the previously rated disability id may be included.", - "type": [ - "string", - "null" - ], + "type": "string", "example": "1100583", "nullable": true }, "diagnosticCode": { "description": "If the disabilityActionType is 'NONE' or 'INCREASE', the diagnosticCode should correspond to an existing rated disability.", - "type": [ - "integer", - "null" - ], + "type": "integer", "example": 9999, "nullable": true }, "isRelatedToToxicExposure": { - "type": [ - "boolean", - "null" - ], + "type": "boolean", "description": "Is the disability related to toxic exposures? If true, related 'toxicExposure' must be included.", "example": true, "default": false, "nullable": true }, "specialIssues": { - "type": [ - "array", - "null" - ], + "type": "array", "nullable": true, "uniqueItems": true, "items": { @@ -6553,10 +5524,7 @@ }, "secondaryDisabilities": { "description": "If secondaryDisability is included, the following attributes are required: 'secondaryDisability.name', 'secondaryDisability.disabilityActionType' and 'secondaryDisability.serviceRelevance'", - "type": [ - "array", - "null" - ], + "type": "array", "items": { "type": "object", "additionalProperties": false, @@ -6569,10 +5537,7 @@ "maxLength": 255 }, "exposureOrEventOrInjury": { - "type": [ - "string", - "null" - ], + "type": "string", "description": "What caused the disability?", "nullable": true, "maxLength": 1000, @@ -6584,10 +5549,7 @@ }, "serviceRelevance": { "description": "Explanation of how the disability(ies) relates to the in-service event/exposure/injury.", - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "maxLength": 1000, "example": "Heavy equipment operator in service." @@ -6602,19 +5564,13 @@ }, "approximateDate": { "description": "Approximate date disability began. Date must be in the past. \n Format can be either YYYY-MM-DD or YYYY-MM or YYYY", - "type": [ - "string", - "null" - ], + "type": "string", "pattern": "^(?:[0-9]{4}(?:-(?!00)(?:0[1-9]|1[0-2])(?:-(?:0[1-9]|[1-2][0-9]|3[0-1]))?)?)$", "example": "2018-03-02 or 2018-03 or 2018", "nullable": true }, "classificationCode": { - "type": [ - "string", - "null" - ], + "type": "string", "description": "Classification code for the associated body system. Must match an active code returned by the /disabilities endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current).", "example": "249470", "nullable": true @@ -6627,10 +5583,7 @@ }, "treatments": { "description": "Identifies the Service Treatment information of the Veteran. The combination of treatedDisabilityName, center name, center city, and center state must be less than 1000 characters to successfully generate a PDF.", - "type": [ - "array", - "null" - ], + "type": "array", "nullable": true, "uniqueItems": true, "items": { @@ -6639,20 +5592,14 @@ "properties": { "beginDate": { "description": "Begin date for treatment. If treatment began from 2005 to present, you do not need to provide dates. Each treatment begin date must be after the first 'servicePeriod.activeDutyBeginDate'.", - "type": [ - "string", - "null" - ], + "type": "string", "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", "example": "2018-06 or 2018", "nullable": true }, "treatedDisabilityNames": { "description": "Name(s) of disabilities treated in this time frame.", - "type": [ - "array", - "null" - ], + "type": "array", "nullable": true, "maxItems": 101, "items": { @@ -6666,19 +5613,13 @@ }, "center": { "description": "VA Medical Center(s) and Department of Defense Military Treatment Facilities where the Veteran received treatment after discharge for any claimed disabilities.", - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "additionalProperties": false, "properties": { "name": { "description": "Name of facility Veteran was treated in. The /treatment-centers endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current) may be used to retrieve possible treatment center names.", - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "pattern": "([a-zA-Z0-9\"/&()\\'-'.,# ]([a-zA-Z0-9()\\'-'.,# ])?)+$", "example": "Private Facility 2", @@ -6687,10 +5628,7 @@ }, "city": { "description": "City of treatment facility.", - "type": [ - "string", - "null" - ], + "type": "string", "pattern": "([a-zA-Z0-9\\-'.# ]([a-zA-Z0-9\\-'.# ])?)+$", "example": "Portland", "nullable": true, @@ -6699,10 +5637,7 @@ }, "state": { "description": "State of treatment facility.", - "type": [ - "string", - "null" - ], + "type": "string", "pattern": "^$|^[a-z,A-Z]{2}$", "example": "OR", "nullable": true @@ -6721,10 +5656,7 @@ "properties": { "alternateNames": { "description": "List any other names under which the Veteran served, if applicable.", - "type": [ - "array", - "null" - ], + "type": "array", "nullable": true, "maxItems": 100, "uniqueItems": true, @@ -6780,10 +5712,7 @@ }, "separationLocationCode": { "description": "Location code for the facility the Veteran plans to separate from. Code must match the values returned by the /intake-sites endpoint on the [Benefits reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current).", - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "example": "98283" } @@ -6791,63 +5720,43 @@ } }, "servedInActiveCombatSince911": { - "type": [ - "string", - "null" - ], + "type": "string", "enum": [ "YES", - "NO", - null + "NO" ], "description": "Did Veteran serve in a combat zone since 9-11-2001?", "example": "YES", "nullable": true }, "reservesNationalGuardService": { - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "additionalProperties": false, "properties": { "component": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "description": "", "enum": [ "Reserves", - "National Guard", - null + "National Guard" ] }, "obligationTermsOfService": { - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "description": "If 'obligationTermsOfService' is included, the following attributes are required: 'beginDate ' and 'endDate'.", "additionalProperties": false, "properties": { "beginDate": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$", "example": "2018-06-06" }, "endDate": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$", "example": "2018-06-06" @@ -6855,46 +5764,31 @@ } }, "unitName": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "maxLength": 1000, "pattern": "^$|([a-zA-Z0-9\\-'.,# ][a-zA-Z0-9\\-'.,# ]?)*$" }, "unitAddress": { - "type": [ - "string", - "null" - ], + "type": "string", "maxLength": 1000, "pattern": "^$|^([-a-zA-Z0-9'.,&# ])+$", "nullable": true }, "unitPhone": { - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "additionalProperties": false, "properties": { "areaCode": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "maxLength": 3, "pattern": "^$|^\\d{3}$", "example": "555" }, "phoneNumber": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "maxLength": 20, "example": "5555555" @@ -6902,14 +5796,10 @@ } }, "receivingInactiveDutyTrainingPay": { - "type": [ - "string", - "null" - ], + "type": "string", "enum": [ "YES", - "NO", - null + "NO" ], "nullable": true, "example": "YES" @@ -6918,29 +5808,20 @@ }, "federalActivation": { "description": "If federalActivation is present then reservesNationalGuardService.obligationTermsOfService.beginDate, reservesNationalGuardService.obligationTermsOfService.endDate and reservesNationalGuardService.unitName are required", - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "additionalProperties": false, "properties": { "activationDate": { "description": "Date cannot be in the future and must be after the earliest servicePeriod.activeDutyBeginDate.", - "type": [ - "string", - "null" - ], + "type": "string", "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$", "example": "2018-06-06", "nullable": true }, "anticipatedSeparationDate": { "description": "Anticipated date of separation. Date must be in the future.", - "type": [ - "string", - "null" - ], + "type": "string", "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$", "example": "2018-06-06", "nullable": true @@ -6948,10 +5829,7 @@ } }, "confinements": { - "type": [ - "array", - "null" - ], + "type": "array", "nullable": true, "uniqueItems": true, "items": { @@ -6960,17 +5838,13 @@ "properties": { "approximateBeginDate": { "description": "The approximateBeginDate must be after the earliest servicePeriod activeDutyBeginDate.", - "type": [ - "string" - ], + "type": "string", "nullable": false, "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$|(?:[0-9]{4})-(?:0[1-9]|1[0-2])$", "example": "2018-06-06 or 2018-06" }, "approximateEndDate": { - "type": [ - "string" - ], + "type": "string", "nullable": false, "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$|(?:[0-9]{4})-(?:0[1-9]|1[0-2])$", "example": "2018-06-06 or 2018-06" @@ -6981,75 +5855,52 @@ } }, "servicePay": { - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "additionalProperties": false, "properties": { "receivingMilitaryRetiredPay": { "description": "Is the Veteran receiving military retired pay?", - "type": [ - "string", - "null" - ], + "type": "string", "enum": [ "YES", - "NO", - null + "NO" ], "example": "YES", "nullable": true }, "futureMilitaryRetiredPay": { "description": "Will the Veteran receive military retired pay pay in future? \n If true, then 'futurePayExplanation' is required.", - "type": [ - "string", - "null" - ], + "type": "string", "enum": [ "YES", - "NO", - null + "NO" ], "example": "YES", "nullable": true }, "futureMilitaryRetiredPayExplanation": { "description": "Explains why future pay will be received.", - "type": [ - "string", - "null" - ], + "type": "string", "maxLength": 1000, "example": "Will be retiring soon.", "nullable": true }, "militaryRetiredPay": { - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "description": "", "properties": { "branchOfService": { "description": "Branch of service. The /service-branches endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current) may be used to retrieve list of possible service branches.", - "type": [ - "string", - "null" - ], + "type": "string", "maxLength": 1000, "nullable": true, "example": "Air Force" }, "monthlyAmount": { "description": "Amount being received.", - "type": [ - "integer", - "null" - ], + "type": "integer", "nullable": true, "minimum": 1, "maximum": 999999, @@ -7058,76 +5909,53 @@ } }, "retiredStatus": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "description": "", "enum": [ "RETIRED", "TEMPORARY_DISABILITY_RETIRED_LIST", - "PERMANENT_DISABILITY_RETIRED_LIST", - null + "PERMANENT_DISABILITY_RETIRED_LIST" ] }, "favorMilitaryRetiredPay": { "description": "Is the Veteran waiving VA benefits to retain military retired pay? See item 26 on form 21-526EZ for more details.", - "type": [ - "boolean", - "null" - ], + "type": "boolean", "nullable": true, "example": true, "default": false }, "receivedSeparationOrSeverancePay": { "description": "Has the Veteran ever received separation pay, disability severance pay, or any other lump sum payment from their branch of service?", - "type": [ - "string", - "null" - ], + "type": "string", "enum": [ "YES", - "NO", - null + "NO" ], "example": "YES", "nullable": true }, "separationSeverancePay": { - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "description": "", "properties": { "datePaymentReceived": { "description": "Approximate date separation pay was received. \n Format can be either YYYY-MM-DD or YYYY-MM or YYYY", - "type": [ - "string", - "null" - ], + "type": "string", "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$|(?:[0-9]{4})$|(?:[0-9]{4})-(?:0[1-9]|1[0-2])$", "example": "2018-03-02 or 2018-03 or 2018" }, "branchOfService": { "description": "Branch of service. The /service-branches endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current) may be used to retrieve list of possible service branches.", - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "maxLength": 1000, "example": "Air Force" }, "preTaxAmountReceived": { "description": "Amount being received.", - "type": [ - "integer", - "null" - ], + "type": "integer", "nullable": true, "minimum": 1, "maximum": 999999, @@ -7137,10 +5965,7 @@ }, "favorTrainingPay": { "description": "Is the Veteran waiving VA benefits to retain training pay? See item 28 on form 21-526EZ for more details. ", - "type": [ - "boolean", - "null" - ], + "type": "boolean", "nullable": true, "example": true, "default": false @@ -7148,19 +5973,13 @@ } }, "directDeposit": { - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "additionalProperties": false, "description": "If direct deposit information is included, the following attributes are required: accountType, accountNumber, routingNumber.", "properties": { "noAccount": { - "type": [ - "boolean", - "null" - ], + "type": "boolean", "nullable": true, "description": "Claimant certifies that they do not have an account with a financial institution or certified payment agent.", "default": false @@ -7168,44 +5987,31 @@ "accountNumber": { "description": "Account number for the direct deposit.", "pattern": "^(?:[a-zA-Z0-9-]{4,1000})?$", - "type": [ - "string", - "null" - ], + "type": "string", "maxLength": 1000, "nullable": true, "example": "123123123123" }, "accountType": { "description": "Account type for the direct deposit.", - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "example": "CHECKING", "enum": [ "CHECKING", - "SAVINGS", - null + "SAVINGS" ] }, "financialInstitutionName": { "description": "Provide the name of the financial institution where the Veteran wants the direct deposit.", "maxLength": 1000, - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "example": "Some Bank" }, "routingNumber": { "description": "Routing number for the direct deposit.", - "type": [ - "string", - "null" - ], + "type": "string", "maxLength": 1000, "nullable": true, "pattern": "^$|^\\d{0,1000}$", @@ -7219,10 +6025,7 @@ "default": false }, "claimNotes": { - "type": [ - "string", - "null" - ], + "type": "string", "description": "An optional notes section.", "maxLength": 4000 }, @@ -7456,13 +6259,7 @@ "type": "object", "required": [ "attributes", - [ - "claimantCertification", - "claimProcessType", - "disabilities", - "serviceInformation", - "veteranIdentification" - ] + null ], "properties": { "attributes": { @@ -7496,37 +6293,25 @@ ], "properties": { "serviceNumber": { - "type": [ - "null", - "string" - ], + "type": "string", "description": "Service identification number", "maxLength": 1000, "nullable": true }, "veteranNumber": { "description": "If there isn't a ten digit phone number in VBMS for the Veteran, the exams will not be ordered. Including the phone number is recommended to avoid claim processing delays.", - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "properties": { "telephone": { "description": "Veteran's phone number.", - "type": [ - "string", - "null" - ], + "type": "string", "pattern": "^\\d{10}?$", "example": "5555555555", "nullable": true }, "internationalTelephone": { - "type": [ - "string", - "null" - ], + "type": "string", "description": "Veteran's international phone number.", "example": "+44 20 1234 5678", "maxLength": 1000, @@ -7552,10 +6337,7 @@ }, "addressLine2": { "description": "Address line 2 for the Veteran's current mailing address.", - "type": [ - "string", - "null" - ], + "type": "string", "pattern": "^([-a-zA-Z0-9'.,&#]([-a-zA-Z0-9'.,&# ])?)+$", "maxLength": 20, "example": "Unit 4", @@ -7563,10 +6345,7 @@ }, "addressLine3": { "description": "Address line 3 for the Veteran's current mailing address.", - "type": [ - "string", - "null" - ], + "type": "string", "pattern": "^([-a-zA-Z0-9'.,&#]([-a-zA-Z0-9'.,&# ])?)+$", "maxLength": 20, "example": "Room 1", @@ -7582,10 +6361,7 @@ }, "state": { "description": "State for the Veteran's current mailing address. Required if 'country' is 'USA'.", - "type": [ - "string", - "null" - ], + "type": "string", "pattern": "^[a-z,A-Z]{2}$", "example": "NY", "nullable": true @@ -7598,30 +6374,21 @@ }, "zipFirstFive": { "description": "Zip code (First 5 digits) for the Veteran's current mailing address. Required if 'country' is 'USA'.", - "type": [ - "string", - "null" - ], + "type": "string", "pattern": "^\\d{5}?$", "example": "12345", "nullable": true }, "zipLastFour": { "description": "Zip code (Last 4 digits) for the Veteran's current mailing address.", - "type": [ - "string", - "null" - ], + "type": "string", "pattern": "^\\d{4}?$", "example": "6789", "nullable": true }, "internationalPostalCode": { "description": "International postal code for the Veteran's current mailing address. Do not include if 'country' is 'USA'.", - "type": [ - "string", - "null" - ], + "type": "string", "maxLength": 16, "nullable": true, "pattern": "^[a-zA-Z0-9]*$" @@ -7630,27 +6397,18 @@ }, "emailAddress": { "description": "Information associated with the Veteran's email address.", - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "properties": { "email": { - "type": [ - "string", - "null" - ], + "type": "string", "pattern": "^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w{2,3})+$", "description": "The most current email address of the Veteran.", "maxLength": 50, "nullable": true }, "agreeToEmailRelatedToClaim": { - "type": [ - "boolean", - "null" - ], + "type": "boolean", "description": "Agreement to email information relating to this claim.", "example": true, "default": false, @@ -7667,10 +6425,7 @@ }, "changeOfAddress": { "description": "If 'changeOfAddress' is included, the following attributes are required: 'typeOfAddressChange', 'addressLine1', 'city', 'country'.", - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "additionalProperties": false, "properties": { @@ -7692,10 +6447,7 @@ }, "addressLine2": { "description": "Address line 2 for the Veteran's new address.", - "type": [ - "string", - "null" - ], + "type": "string", "pattern": "^([-a-zA-Z0-9'.,&#]([-a-zA-Z0-9'.,&# ])?)+$", "maxLength": 20, "example": "Unit 4", @@ -7703,10 +6455,7 @@ }, "addressLine3": { "description": "Address line 3 for the Veteran's new address.", - "type": [ - "string", - "null" - ], + "type": "string", "pattern": "^([-a-zA-Z0-9'.,&#]([-a-zA-Z0-9'.,&# ])?)+$", "maxLength": 20, "example": "Room 1", @@ -7722,10 +6471,7 @@ }, "state": { "description": "State for the Veteran's new address. Required if 'country' is 'USA'.", - "type": [ - "string", - "null" - ], + "type": "string", "pattern": "^$|^[a-z,A-Z]{2}$", "example": "NY", "nullable": true @@ -7738,30 +6484,21 @@ }, "zipFirstFive": { "description": "Zip code (First 5 digits) for the Veteran's new address. Required if 'country' is 'USA'.", - "type": [ - "string", - "null" - ], + "type": "string", "pattern": "^$|^\\d{5}?$", "example": "12345", "nullable": true }, "zipLastFour": { "description": "Zip code (Last 4 digits) for the Veteran's new address.", - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "pattern": "^$|^\\d{4}?$", "example": "6789" }, "internationalPostalCode": { "description": "International postal code for the Veteran's new address. Do not include if 'country' is 'USA'.", - "type": [ - "string", - "null" - ], + "type": "string", "maxLength": 16, "nullable": true, "pattern": "^[a-zA-Z0-9]*$" @@ -7772,19 +6509,13 @@ "beginDate": { "description": "Begin date for the Veteran's new address.", "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$", - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "example": "2018-06-04" }, "endDate": { "description": "Date in YYYY-MM-DD the changed address expires, if change is temporary.", - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$", "example": "2018-06-04" @@ -7794,35 +6525,23 @@ } }, "homeless": { - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "additionalProperties": false, "properties": { "isCurrentlyHomeless": { - "type": [ - "boolean", - "null" - ], + "type": "boolean", "nullable": true, "description": "Is the Veteran currently homeless?" }, "currentlyHomeless": { - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "additionalProperties": false, "properties": { "homelessSituationOptions": { "description": "Veteran's living situation.", - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "default": "other", "enum": [ @@ -7830,17 +6549,13 @@ "NOT_CURRENTLY_IN_A_SHELTERED_ENVIRONMENT", "STAYING_WITH_ANOTHER_PERSON", "FLEEING_CURRENT_RESIDENCE", - "OTHER", - null + "OTHER" ], "example": "FLEEING_CURRENT_RESIDENCE" }, "otherDescription": { "description": "Explanation of living situation. Required if 'homelessSituationOptions' is 'OTHER'.", - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "maxLength": 500, "example": "other living situation" @@ -7848,41 +6563,28 @@ } }, "isAtRiskOfBecomingHomeless": { - "type": [ - "boolean", - "null" - ], + "type": "boolean", "nullable": true, "description": "Is the Veteran currently at risk of becoming homeless?" }, "riskOfBecomingHomeless": { - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "additionalProperties": false, "properties": { "livingSituationOptions": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "default": "HOUSING_WILL_BE_LOST_IN_30_DAYS", "enum": [ "HOUSING_WILL_BE_LOST_IN_30_DAYS", "LEAVING_PUBLICLY_FUNDED_SYSTEM_OF_CARE", - "OTHER", - null + "OTHER" ] }, "otherDescription": { "description": "Explanation of living situation. Required if 'livingSituationOptions' is 'OTHER'.", - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "maxLength": 500, "example": "other living situation" @@ -7891,10 +6593,7 @@ }, "pointOfContact": { "description": "Individual in direct contact with Veteran.", - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "minLength": 1, "maxLength": 100, @@ -7902,29 +6601,20 @@ "example": "Jane Doe" }, "pointOfContactNumber": { - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "additionalProperties": false, "properties": { "telephone": { "description": "Ten digit primary phone of point of contact.", - "type": [ - "string", - "null" - ], + "type": "string", "pattern": "^\\d{10}?$", "example": "5555555", "nullable": true }, "internationalTelephone": { "description": "International phone of point of contact.", - "type": [ - "string", - "null" - ], + "type": "string", "example": "+44 20 1234 5678", "maxLength": 1000, "nullable": true @@ -7934,57 +6624,38 @@ } }, "toxicExposure": { - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "properties": { "gulfWarHazardService": { - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "description": "Toxic exposure related to the Gulf war.", "properties": { "servedInGulfWarHazardLocations": { - "type": [ - "string", - "null" - ], + "type": "string", "description": "Set to true if the Veteran served in any of the following Gulf War hazard locations: Iraq; Kuwait; Saudi Arabia; the neutral zone between Iraq and Saudi Arabia; Bahrain; Qatar; the United Arab Emirates; Oman; Yemen; Lebanon; Somalia; Afghanistan; Israel; Egypt; Turkey; Syria; Jordan; Djibouti; Uzbekistan; the Gulf of Aden; the Gulf of Oman; the Persian Gulf; the Arabian Sea; and the Red Sea.", "example": "YES", "enum": [ "NO", - "YES", - null + "YES" ], "nullable": true }, "serviceDates": { - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "description": "Date range for when the exposure happened.", "properties": { "beginDate": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "description": "Approximate begin date for serving in Gulf War hazard location.", "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", "example": "2018-06 or 2018" }, "endDate": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "description": "Approximate end date for serving in Gulf War hazard location.", "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", @@ -7996,31 +6667,21 @@ }, "herbicideHazardService": { "description": "Toxic exposure related to herbicide (Agent Orange) hazards.", - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "properties": { "servedInHerbicideHazardLocations": { - "type": [ - "string", - "null" - ], + "type": "string", "description": "Set to true if the Veteran served in any of the following herbicide/Agent Orange locations: Republic of Vietnam to include the 12 nautical mile territorial waters; Thailand at any United States or Royal Thai base; Laos; Cambodia at Mimot or Krek; Kampong Cham Province; Guam or American Samoa; or in the territorial waters thereof; Johnston Atoll or a ship that called at Johnston Atoll; Korean demilitarized zone; aboard (to include repeated operations and maintenance with) a C-123 aircraft known to have been used to spray an herbicide agent (during service in the Air Force and Air Force Reserves).", "example": "YES", "enum": [ "NO", - "YES", - null + "YES" ], "nullable": true }, "otherLocationsServed": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "pattern": "^$|([a-zA-Z0-9\"\\/&\\(\\)\\-'.,#\\[\\] ]([a-zA-Z0-9(\\)\\-'.,#\\[\\] ])?)+$", "maxLength": 5000, @@ -8028,27 +6689,18 @@ }, "serviceDates": { "description": "Date range for exposure in herbicide hazard location.", - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "properties": { "beginDate": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "description": "Approximate begin date for serving in herbicide location.", "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", "example": "2018-06 or 2018" }, "endDate": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "description": "Approximate end date for serving in herbicide location.", "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", @@ -8059,19 +6711,13 @@ } }, "additionalHazardExposures": { - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "description": "Additional hazardous exposures.", "properties": { "additionalExposures": { "description": "Additional exposure incidents.", - "type": [ - "array", - "null" - ], + "type": "array", "nullable": true, "uniqueItems": true, "items": { @@ -8084,44 +6730,31 @@ "SHIPBOARD_HAZARD_AND_DEFENSE", "MILITARY_OCCUPATIONAL_SPECIALTY_RELATED_TOXIN", "CONTAMINATED_WATER_AT_CAMP_LEJEUNE", - "OTHER", - null + "OTHER" ] } }, "specifyOtherExposures": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "pattern": "^$|([a-zA-Z0-9\"\\/&\\(\\)\\-'.,#\\[\\] ]([a-zA-Z0-9(\\)\\-'.,#\\[\\] ])?)+$", "maxLength": 5000, "description": "Exposure to asbestos." }, "exposureDates": { - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "description": "Date range for when the exposure happened.", "properties": { "beginDate": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "description": "Approximate begin date for exposure.", "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", "example": "2018-06 or 2018" }, "endDate": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "description": "Approximate end date for exposure.", "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", @@ -8132,10 +6765,7 @@ } }, "multipleExposures": { - "type": [ - "array", - "null" - ], + "type": "array", "nullable": true, "minItems": 1, "uniqueItems": true, @@ -8144,48 +6774,33 @@ "additionalProperties": false, "properties": { "hazardExposedTo": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "pattern": "^([-a-zA-Z0-9'.,&# ])+$", "maxLength": 1000, "description": "Hazard the Veteran was exposed to." }, "exposureLocation": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "pattern": "^$|([a-zA-Z0-9\"\\/&\\(\\)\\-'.,#\\[\\] ]([a-zA-Z0-9(\\)\\-'.,#\\[\\] ])?)+$", "maxLength": 1000, "description": "Location where the exposure happened." }, "exposureDates": { - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "description": "Date range for when the exposure happened.", "properties": { "beginDate": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "description": "Approximate begin date for exposure.", "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", "example": "2018-06 or 2018" }, "endDate": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "description": "Approximate end date for exposure.", "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", @@ -8218,10 +6833,7 @@ "maxLength": 255 }, "exposureOrEventOrInjury": { - "type": [ - "string", - "null" - ], + "type": "string", "description": "What caused the disability?", "nullable": true, "maxLength": 1000, @@ -8233,20 +6845,14 @@ }, "serviceRelevance": { "description": "Explanation of how the disability(ies) relates to the in-service event/exposure/injury. If the disabilityActionType is 'NEW', the serviceRelevance is required.", - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "maxLength": 1000, "example": "Heavy equipment operator in service." }, "approximateDate": { "description": "Approximate date disability began. Date must be in the past. \n Format can be either YYYY-MM-DD or YYYY-MM or YYYY", - "type": [ - "string", - "null" - ], + "type": "string", "pattern": "^(?:[0-9]{4}(?:-(?!00)(?:0[1-9]|1[0-2])(?:-(?:0[1-9]|[1-2][0-9]|3[0-1]))?)?)$", "example": "2018-03-02 or 2018-03 or 2018", "nullable": true @@ -8262,47 +6868,32 @@ "example": "NEW" }, "classificationCode": { - "type": [ - "string", - "null" - ], + "type": "string", "description": "Classification code for the associated body system. Must match an active code returned by the /disabilities endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current).", "example": "249470", "nullable": true }, "ratedDisabilityId": { "description": "When submitting a contention with action type 'INCREASE', the previously rated disability id may be included.", - "type": [ - "string", - "null" - ], + "type": "string", "example": "1100583", "nullable": true }, "diagnosticCode": { "description": "If the disabilityActionType is 'NONE' or 'INCREASE', the diagnosticCode should correspond to an existing rated disability.", - "type": [ - "integer", - "null" - ], + "type": "integer", "example": 9999, "nullable": true }, "isRelatedToToxicExposure": { - "type": [ - "boolean", - "null" - ], + "type": "boolean", "description": "Is the disability related to toxic exposures? If true, related 'toxicExposure' must be included.", "example": true, "default": false, "nullable": true }, "specialIssues": { - "type": [ - "array", - "null" - ], + "type": "array", "nullable": true, "uniqueItems": true, "items": { @@ -8317,10 +6908,7 @@ }, "secondaryDisabilities": { "description": "If secondaryDisability is included, the following attributes are required: 'secondaryDisability.name', 'secondaryDisability.disabilityActionType' and 'secondaryDisability.serviceRelevance'", - "type": [ - "array", - "null" - ], + "type": "array", "items": { "type": "object", "additionalProperties": false, @@ -8333,10 +6921,7 @@ "maxLength": 255 }, "exposureOrEventOrInjury": { - "type": [ - "string", - "null" - ], + "type": "string", "description": "What caused the disability?", "nullable": true, "maxLength": 1000, @@ -8348,10 +6933,7 @@ }, "serviceRelevance": { "description": "Explanation of how the disability(ies) relates to the in-service event/exposure/injury.", - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "maxLength": 1000, "example": "Heavy equipment operator in service." @@ -8366,19 +6948,13 @@ }, "approximateDate": { "description": "Approximate date disability began. Date must be in the past. \n Format can be either YYYY-MM-DD or YYYY-MM or YYYY", - "type": [ - "string", - "null" - ], + "type": "string", "pattern": "^(?:[0-9]{4}(?:-(?!00)(?:0[1-9]|1[0-2])(?:-(?:0[1-9]|[1-2][0-9]|3[0-1]))?)?)$", "example": "2018-03-02 or 2018-03 or 2018", "nullable": true }, "classificationCode": { - "type": [ - "string", - "null" - ], + "type": "string", "description": "Classification code for the associated body system. Must match an active code returned by the /disabilities endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current).", "example": "249470", "nullable": true @@ -8391,10 +6967,7 @@ }, "treatments": { "description": "Identifies the Service Treatment information of the Veteran. The combination of treatedDisabilityName, center name, center city, and center state must be less than 1000 characters to successfully generate a PDF.", - "type": [ - "array", - "null" - ], + "type": "array", "nullable": true, "uniqueItems": true, "items": { @@ -8403,20 +6976,14 @@ "properties": { "beginDate": { "description": "Begin date for treatment. If treatment began from 2005 to present, you do not need to provide dates. Each treatment begin date must be after the first 'servicePeriod.activeDutyBeginDate'.", - "type": [ - "string", - "null" - ], + "type": "string", "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", "example": "2018-06 or 2018", "nullable": true }, "treatedDisabilityNames": { "description": "Name(s) of disabilities treated in this time frame.", - "type": [ - "array", - "null" - ], + "type": "array", "nullable": true, "maxItems": 101, "items": { @@ -8430,19 +6997,13 @@ }, "center": { "description": "VA Medical Center(s) and Department of Defense Military Treatment Facilities where the Veteran received treatment after discharge for any claimed disabilities.", - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "additionalProperties": false, "properties": { "name": { "description": "Name of facility Veteran was treated in. The /treatment-centers endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current) may be used to retrieve possible treatment center names.", - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "pattern": "([a-zA-Z0-9\"/&()\\'-'.,# ]([a-zA-Z0-9()\\'-'.,# ])?)+$", "example": "Private Facility 2", @@ -8451,10 +7012,7 @@ }, "city": { "description": "City of treatment facility.", - "type": [ - "string", - "null" - ], + "type": "string", "pattern": "([a-zA-Z0-9\\-'.# ]([a-zA-Z0-9\\-'.# ])?)+$", "example": "Portland", "nullable": true, @@ -8463,10 +7021,7 @@ }, "state": { "description": "State of treatment facility.", - "type": [ - "string", - "null" - ], + "type": "string", "pattern": "^$|^[a-z,A-Z]{2}$", "example": "OR", "nullable": true @@ -8485,10 +7040,7 @@ "properties": { "alternateNames": { "description": "List any other names under which the Veteran served, if applicable.", - "type": [ - "array", - "null" - ], + "type": "array", "nullable": true, "maxItems": 100, "uniqueItems": true, @@ -8544,10 +7096,7 @@ }, "separationLocationCode": { "description": "Location code for the facility the Veteran plans to separate from. Code must match the values returned by the /intake-sites endpoint on the [Benefits reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current).", - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "example": "98283" } @@ -8555,63 +7104,43 @@ } }, "servedInActiveCombatSince911": { - "type": [ - "string", - "null" - ], + "type": "string", "enum": [ "YES", - "NO", - null + "NO" ], "description": "Did Veteran serve in a combat zone since 9-11-2001?", "example": "YES", "nullable": true }, "reservesNationalGuardService": { - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "additionalProperties": false, "properties": { "component": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "description": "", "enum": [ "Reserves", - "National Guard", - null + "National Guard" ] }, "obligationTermsOfService": { - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "description": "If 'obligationTermsOfService' is included, the following attributes are required: 'beginDate ' and 'endDate'.", "additionalProperties": false, "properties": { "beginDate": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$", "example": "2018-06-06" }, "endDate": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$", "example": "2018-06-06" @@ -8619,46 +7148,31 @@ } }, "unitName": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "maxLength": 1000, "pattern": "^$|([a-zA-Z0-9\\-'.,# ][a-zA-Z0-9\\-'.,# ]?)*$" }, "unitAddress": { - "type": [ - "string", - "null" - ], + "type": "string", "maxLength": 1000, "pattern": "^$|^([-a-zA-Z0-9'.,&# ])+$", "nullable": true }, "unitPhone": { - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "additionalProperties": false, "properties": { "areaCode": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "maxLength": 3, "pattern": "^$|^\\d{3}$", "example": "555" }, "phoneNumber": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "maxLength": 20, "example": "5555555" @@ -8666,14 +7180,10 @@ } }, "receivingInactiveDutyTrainingPay": { - "type": [ - "string", - "null" - ], + "type": "string", "enum": [ "YES", - "NO", - null + "NO" ], "nullable": true, "example": "YES" @@ -8682,29 +7192,20 @@ }, "federalActivation": { "description": "If federalActivation is present then reservesNationalGuardService.obligationTermsOfService.beginDate, reservesNationalGuardService.obligationTermsOfService.endDate and reservesNationalGuardService.unitName are required", - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "additionalProperties": false, "properties": { "activationDate": { "description": "Date cannot be in the future and must be after the earliest servicePeriod.activeDutyBeginDate.", - "type": [ - "string", - "null" - ], + "type": "string", "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$", "example": "2018-06-06", "nullable": true }, "anticipatedSeparationDate": { "description": "Anticipated date of separation. Date must be in the future.", - "type": [ - "string", - "null" - ], + "type": "string", "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$", "example": "2018-06-06", "nullable": true @@ -8712,10 +7213,7 @@ } }, "confinements": { - "type": [ - "array", - "null" - ], + "type": "array", "nullable": true, "uniqueItems": true, "items": { @@ -8724,17 +7222,13 @@ "properties": { "approximateBeginDate": { "description": "The approximateBeginDate must be after the earliest servicePeriod activeDutyBeginDate.", - "type": [ - "string" - ], + "type": "string", "nullable": false, "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$|(?:[0-9]{4})-(?:0[1-9]|1[0-2])$", "example": "2018-06-06 or 2018-06" }, "approximateEndDate": { - "type": [ - "string" - ], + "type": "string", "nullable": false, "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$|(?:[0-9]{4})-(?:0[1-9]|1[0-2])$", "example": "2018-06-06 or 2018-06" @@ -8745,75 +7239,52 @@ } }, "servicePay": { - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "additionalProperties": false, "properties": { "receivingMilitaryRetiredPay": { "description": "Is the Veteran receiving military retired pay?", - "type": [ - "string", - "null" - ], + "type": "string", "enum": [ "YES", - "NO", - null + "NO" ], "example": "YES", "nullable": true }, "futureMilitaryRetiredPay": { "description": "Will the Veteran receive military retired pay pay in future? \n If true, then 'futurePayExplanation' is required.", - "type": [ - "string", - "null" - ], + "type": "string", "enum": [ "YES", - "NO", - null + "NO" ], "example": "YES", "nullable": true }, "futureMilitaryRetiredPayExplanation": { "description": "Explains why future pay will be received.", - "type": [ - "string", - "null" - ], + "type": "string", "maxLength": 1000, "example": "Will be retiring soon.", "nullable": true }, "militaryRetiredPay": { - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "description": "", "properties": { "branchOfService": { "description": "Branch of service. The /service-branches endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current) may be used to retrieve list of possible service branches.", - "type": [ - "string", - "null" - ], + "type": "string", "maxLength": 1000, "nullable": true, "example": "Air Force" }, "monthlyAmount": { "description": "Amount being received.", - "type": [ - "integer", - "null" - ], + "type": "integer", "nullable": true, "minimum": 1, "maximum": 999999, @@ -8822,76 +7293,53 @@ } }, "retiredStatus": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "description": "", "enum": [ "RETIRED", "TEMPORARY_DISABILITY_RETIRED_LIST", - "PERMANENT_DISABILITY_RETIRED_LIST", - null + "PERMANENT_DISABILITY_RETIRED_LIST" ] }, "favorMilitaryRetiredPay": { "description": "Is the Veteran waiving VA benefits to retain military retired pay? See item 26 on form 21-526EZ for more details.", - "type": [ - "boolean", - "null" - ], + "type": "boolean", "nullable": true, "example": true, "default": false }, "receivedSeparationOrSeverancePay": { "description": "Has the Veteran ever received separation pay, disability severance pay, or any other lump sum payment from their branch of service?", - "type": [ - "string", - "null" - ], + "type": "string", "enum": [ "YES", - "NO", - null + "NO" ], "example": "YES", "nullable": true }, "separationSeverancePay": { - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "description": "", "properties": { "datePaymentReceived": { "description": "Approximate date separation pay was received. \n Format can be either YYYY-MM-DD or YYYY-MM or YYYY", - "type": [ - "string", - "null" - ], + "type": "string", "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$|(?:[0-9]{4})$|(?:[0-9]{4})-(?:0[1-9]|1[0-2])$", "example": "2018-03-02 or 2018-03 or 2018" }, "branchOfService": { "description": "Branch of service. The /service-branches endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current) may be used to retrieve list of possible service branches.", - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "maxLength": 1000, "example": "Air Force" }, "preTaxAmountReceived": { "description": "Amount being received.", - "type": [ - "integer", - "null" - ], + "type": "integer", "nullable": true, "minimum": 1, "maximum": 999999, @@ -8901,10 +7349,7 @@ }, "favorTrainingPay": { "description": "Is the Veteran waiving VA benefits to retain training pay? See item 28 on form 21-526EZ for more details. ", - "type": [ - "boolean", - "null" - ], + "type": "boolean", "nullable": true, "example": true, "default": false @@ -8912,19 +7357,13 @@ } }, "directDeposit": { - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "additionalProperties": false, "description": "If direct deposit information is included, the following attributes are required: accountType, accountNumber, routingNumber.", "properties": { "noAccount": { - "type": [ - "boolean", - "null" - ], + "type": "boolean", "nullable": true, "description": "Claimant certifies that they do not have an account with a financial institution or certified payment agent.", "default": false @@ -8932,44 +7371,31 @@ "accountNumber": { "description": "Account number for the direct deposit.", "pattern": "^(?:[a-zA-Z0-9-]{4,1000})?$", - "type": [ - "string", - "null" - ], + "type": "string", "maxLength": 1000, "nullable": true, "example": "123123123123" }, "accountType": { "description": "Account type for the direct deposit.", - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "example": "CHECKING", "enum": [ "CHECKING", - "SAVINGS", - null + "SAVINGS" ] }, "financialInstitutionName": { "description": "Provide the name of the financial institution where the Veteran wants the direct deposit.", "maxLength": 1000, - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "example": "Some Bank" }, "routingNumber": { "description": "Routing number for the direct deposit.", - "type": [ - "string", - "null" - ], + "type": "string", "maxLength": 1000, "nullable": true, "pattern": "^$|^\\d{0,1000}$", @@ -8983,10 +7409,7 @@ "default": false }, "claimNotes": { - "type": [ - "string", - "null" - ], + "type": "string", "description": "An optional notes section.", "maxLength": 4000 } @@ -9630,7 +8053,7 @@ "serviceBranch": "Public Health Service", "serviceComponent": "Active", "activeDutyBeginDate": "2008-11-14", - "activeDutyEndDate": "2024-12-05", + "activeDutyEndDate": "2024-12-06", "separationLocationCode": "98282" } ], @@ -9651,7 +8074,7 @@ }, "federalActivation": { "activationDate": "2023-10-01", - "anticipatedSeparationDate": "2024-12-05" + "anticipatedSeparationDate": "2024-12-06" }, "confinements": [ { @@ -9992,13 +8415,7 @@ "type": "object", "required": [ "attributes", - [ - "claimantCertification", - "claimProcessType", - "disabilities", - "serviceInformation", - "veteranIdentification" - ] + null ], "properties": { "attributes": { @@ -10032,37 +8449,25 @@ ], "properties": { "serviceNumber": { - "type": [ - "null", - "string" - ], + "type": "string", "description": "Service identification number", "maxLength": 1000, "nullable": true }, "veteranNumber": { "description": "If there isn't a ten digit phone number in VBMS for the Veteran, the exams will not be ordered. Including the phone number is recommended to avoid claim processing delays.", - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "properties": { "telephone": { "description": "Veteran's phone number.", - "type": [ - "string", - "null" - ], + "type": "string", "pattern": "^\\d{10}?$", "example": "5555555555", "nullable": true }, "internationalTelephone": { - "type": [ - "string", - "null" - ], + "type": "string", "description": "Veteran's international phone number.", "example": "+44 20 1234 5678", "maxLength": 1000, @@ -10088,10 +8493,7 @@ }, "addressLine2": { "description": "Address line 2 for the Veteran's current mailing address.", - "type": [ - "string", - "null" - ], + "type": "string", "pattern": "^([-a-zA-Z0-9'.,&#]([-a-zA-Z0-9'.,&# ])?)+$", "maxLength": 20, "example": "Unit 4", @@ -10099,10 +8501,7 @@ }, "addressLine3": { "description": "Address line 3 for the Veteran's current mailing address.", - "type": [ - "string", - "null" - ], + "type": "string", "pattern": "^([-a-zA-Z0-9'.,&#]([-a-zA-Z0-9'.,&# ])?)+$", "maxLength": 20, "example": "Room 1", @@ -10118,10 +8517,7 @@ }, "state": { "description": "State for the Veteran's current mailing address. Required if 'country' is 'USA'.", - "type": [ - "string", - "null" - ], + "type": "string", "pattern": "^[a-z,A-Z]{2}$", "example": "NY", "nullable": true @@ -10134,30 +8530,21 @@ }, "zipFirstFive": { "description": "Zip code (First 5 digits) for the Veteran's current mailing address. Required if 'country' is 'USA'.", - "type": [ - "string", - "null" - ], + "type": "string", "pattern": "^\\d{5}?$", "example": "12345", "nullable": true }, "zipLastFour": { "description": "Zip code (Last 4 digits) for the Veteran's current mailing address.", - "type": [ - "string", - "null" - ], + "type": "string", "pattern": "^\\d{4}?$", "example": "6789", "nullable": true }, "internationalPostalCode": { "description": "International postal code for the Veteran's current mailing address. Do not include if 'country' is 'USA'.", - "type": [ - "string", - "null" - ], + "type": "string", "maxLength": 16, "nullable": true, "pattern": "^[a-zA-Z0-9]*$" @@ -10166,27 +8553,18 @@ }, "emailAddress": { "description": "Information associated with the Veteran's email address.", - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "properties": { "email": { - "type": [ - "string", - "null" - ], + "type": "string", "pattern": "^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w{2,3})+$", "description": "The most current email address of the Veteran.", "maxLength": 50, "nullable": true }, "agreeToEmailRelatedToClaim": { - "type": [ - "boolean", - "null" - ], + "type": "boolean", "description": "Agreement to email information relating to this claim.", "example": true, "default": false, @@ -10203,10 +8581,7 @@ }, "changeOfAddress": { "description": "If 'changeOfAddress' is included, the following attributes are required: 'typeOfAddressChange', 'addressLine1', 'city', 'country'.", - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "additionalProperties": false, "properties": { @@ -10228,10 +8603,7 @@ }, "addressLine2": { "description": "Address line 2 for the Veteran's new address.", - "type": [ - "string", - "null" - ], + "type": "string", "pattern": "^([-a-zA-Z0-9'.,&#]([-a-zA-Z0-9'.,&# ])?)+$", "maxLength": 20, "example": "Unit 4", @@ -10239,10 +8611,7 @@ }, "addressLine3": { "description": "Address line 3 for the Veteran's new address.", - "type": [ - "string", - "null" - ], + "type": "string", "pattern": "^([-a-zA-Z0-9'.,&#]([-a-zA-Z0-9'.,&# ])?)+$", "maxLength": 20, "example": "Room 1", @@ -10258,10 +8627,7 @@ }, "state": { "description": "State for the Veteran's new address. Required if 'country' is 'USA'.", - "type": [ - "string", - "null" - ], + "type": "string", "pattern": "^$|^[a-z,A-Z]{2}$", "example": "NY", "nullable": true @@ -10274,30 +8640,21 @@ }, "zipFirstFive": { "description": "Zip code (First 5 digits) for the Veteran's new address. Required if 'country' is 'USA'.", - "type": [ - "string", - "null" - ], + "type": "string", "pattern": "^$|^\\d{5}?$", "example": "12345", "nullable": true }, "zipLastFour": { "description": "Zip code (Last 4 digits) for the Veteran's new address.", - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "pattern": "^$|^\\d{4}?$", "example": "6789" }, "internationalPostalCode": { "description": "International postal code for the Veteran's new address. Do not include if 'country' is 'USA'.", - "type": [ - "string", - "null" - ], + "type": "string", "maxLength": 16, "nullable": true, "pattern": "^[a-zA-Z0-9]*$" @@ -10308,19 +8665,13 @@ "beginDate": { "description": "Begin date for the Veteran's new address.", "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$", - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "example": "2018-06-04" }, "endDate": { "description": "Date in YYYY-MM-DD the changed address expires, if change is temporary.", - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$", "example": "2018-06-04" @@ -10330,35 +8681,23 @@ } }, "homeless": { - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "additionalProperties": false, "properties": { "isCurrentlyHomeless": { - "type": [ - "boolean", - "null" - ], + "type": "boolean", "nullable": true, "description": "Is the Veteran currently homeless?" }, "currentlyHomeless": { - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "additionalProperties": false, "properties": { "homelessSituationOptions": { "description": "Veteran's living situation.", - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "default": "other", "enum": [ @@ -10366,17 +8705,13 @@ "NOT_CURRENTLY_IN_A_SHELTERED_ENVIRONMENT", "STAYING_WITH_ANOTHER_PERSON", "FLEEING_CURRENT_RESIDENCE", - "OTHER", - null + "OTHER" ], "example": "FLEEING_CURRENT_RESIDENCE" }, "otherDescription": { "description": "Explanation of living situation. Required if 'homelessSituationOptions' is 'OTHER'.", - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "maxLength": 500, "example": "other living situation" @@ -10384,41 +8719,28 @@ } }, "isAtRiskOfBecomingHomeless": { - "type": [ - "boolean", - "null" - ], + "type": "boolean", "nullable": true, "description": "Is the Veteran currently at risk of becoming homeless?" }, "riskOfBecomingHomeless": { - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "additionalProperties": false, "properties": { "livingSituationOptions": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "default": "HOUSING_WILL_BE_LOST_IN_30_DAYS", "enum": [ "HOUSING_WILL_BE_LOST_IN_30_DAYS", "LEAVING_PUBLICLY_FUNDED_SYSTEM_OF_CARE", - "OTHER", - null + "OTHER" ] }, "otherDescription": { "description": "Explanation of living situation. Required if 'livingSituationOptions' is 'OTHER'.", - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "maxLength": 500, "example": "other living situation" @@ -10427,10 +8749,7 @@ }, "pointOfContact": { "description": "Individual in direct contact with Veteran.", - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "minLength": 1, "maxLength": 100, @@ -10438,29 +8757,20 @@ "example": "Jane Doe" }, "pointOfContactNumber": { - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "additionalProperties": false, "properties": { "telephone": { "description": "Ten digit primary phone of point of contact.", - "type": [ - "string", - "null" - ], + "type": "string", "pattern": "^\\d{10}?$", "example": "5555555", "nullable": true }, "internationalTelephone": { "description": "International phone of point of contact.", - "type": [ - "string", - "null" - ], + "type": "string", "example": "+44 20 1234 5678", "maxLength": 1000, "nullable": true @@ -10470,57 +8780,38 @@ } }, "toxicExposure": { - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "properties": { "gulfWarHazardService": { - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "description": "Toxic exposure related to the Gulf war.", "properties": { "servedInGulfWarHazardLocations": { - "type": [ - "string", - "null" - ], + "type": "string", "description": "Set to true if the Veteran served in any of the following Gulf War hazard locations: Iraq; Kuwait; Saudi Arabia; the neutral zone between Iraq and Saudi Arabia; Bahrain; Qatar; the United Arab Emirates; Oman; Yemen; Lebanon; Somalia; Afghanistan; Israel; Egypt; Turkey; Syria; Jordan; Djibouti; Uzbekistan; the Gulf of Aden; the Gulf of Oman; the Persian Gulf; the Arabian Sea; and the Red Sea.", "example": "YES", "enum": [ "NO", - "YES", - null + "YES" ], "nullable": true }, "serviceDates": { - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "description": "Date range for when the exposure happened.", "properties": { "beginDate": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "description": "Approximate begin date for serving in Gulf War hazard location.", "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", "example": "2018-06 or 2018" }, "endDate": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "description": "Approximate end date for serving in Gulf War hazard location.", "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", @@ -10532,31 +8823,21 @@ }, "herbicideHazardService": { "description": "Toxic exposure related to herbicide (Agent Orange) hazards.", - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "properties": { "servedInHerbicideHazardLocations": { - "type": [ - "string", - "null" - ], + "type": "string", "description": "Set to true if the Veteran served in any of the following herbicide/Agent Orange locations: Republic of Vietnam to include the 12 nautical mile territorial waters; Thailand at any United States or Royal Thai base; Laos; Cambodia at Mimot or Krek; Kampong Cham Province; Guam or American Samoa; or in the territorial waters thereof; Johnston Atoll or a ship that called at Johnston Atoll; Korean demilitarized zone; aboard (to include repeated operations and maintenance with) a C-123 aircraft known to have been used to spray an herbicide agent (during service in the Air Force and Air Force Reserves).", "example": "YES", "enum": [ "NO", - "YES", - null + "YES" ], "nullable": true }, "otherLocationsServed": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "pattern": "^$|([a-zA-Z0-9\"\\/&\\(\\)\\-'.,#\\[\\] ]([a-zA-Z0-9(\\)\\-'.,#\\[\\] ])?)+$", "maxLength": 5000, @@ -10564,27 +8845,18 @@ }, "serviceDates": { "description": "Date range for exposure in herbicide hazard location.", - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "properties": { "beginDate": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "description": "Approximate begin date for serving in herbicide location.", "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", "example": "2018-06 or 2018" }, "endDate": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "description": "Approximate end date for serving in herbicide location.", "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", @@ -10595,19 +8867,13 @@ } }, "additionalHazardExposures": { - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "description": "Additional hazardous exposures.", "properties": { "additionalExposures": { "description": "Additional exposure incidents.", - "type": [ - "array", - "null" - ], + "type": "array", "nullable": true, "uniqueItems": true, "items": { @@ -10620,44 +8886,31 @@ "SHIPBOARD_HAZARD_AND_DEFENSE", "MILITARY_OCCUPATIONAL_SPECIALTY_RELATED_TOXIN", "CONTAMINATED_WATER_AT_CAMP_LEJEUNE", - "OTHER", - null + "OTHER" ] } }, "specifyOtherExposures": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "pattern": "^$|([a-zA-Z0-9\"\\/&\\(\\)\\-'.,#\\[\\] ]([a-zA-Z0-9(\\)\\-'.,#\\[\\] ])?)+$", "maxLength": 5000, "description": "Exposure to asbestos." }, "exposureDates": { - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "description": "Date range for when the exposure happened.", "properties": { "beginDate": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "description": "Approximate begin date for exposure.", "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", "example": "2018-06 or 2018" }, "endDate": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "description": "Approximate end date for exposure.", "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", @@ -10668,10 +8921,7 @@ } }, "multipleExposures": { - "type": [ - "array", - "null" - ], + "type": "array", "nullable": true, "minItems": 1, "uniqueItems": true, @@ -10680,48 +8930,33 @@ "additionalProperties": false, "properties": { "hazardExposedTo": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "pattern": "^([-a-zA-Z0-9'.,&# ])+$", "maxLength": 1000, "description": "Hazard the Veteran was exposed to." }, "exposureLocation": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "pattern": "^$|([a-zA-Z0-9\"\\/&\\(\\)\\-'.,#\\[\\] ]([a-zA-Z0-9(\\)\\-'.,#\\[\\] ])?)+$", "maxLength": 1000, "description": "Location where the exposure happened." }, "exposureDates": { - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "description": "Date range for when the exposure happened.", "properties": { "beginDate": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "description": "Approximate begin date for exposure.", "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", "example": "2018-06 or 2018" }, "endDate": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "description": "Approximate end date for exposure.", "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", @@ -10754,10 +8989,7 @@ "maxLength": 255 }, "exposureOrEventOrInjury": { - "type": [ - "string", - "null" - ], + "type": "string", "description": "What caused the disability?", "nullable": true, "maxLength": 1000, @@ -10769,20 +9001,14 @@ }, "serviceRelevance": { "description": "Explanation of how the disability(ies) relates to the in-service event/exposure/injury. If the disabilityActionType is 'NEW', the serviceRelevance is required.", - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "maxLength": 1000, "example": "Heavy equipment operator in service." }, "approximateDate": { "description": "Approximate date disability began. Date must be in the past. \n Format can be either YYYY-MM-DD or YYYY-MM or YYYY", - "type": [ - "string", - "null" - ], + "type": "string", "pattern": "^(?:[0-9]{4}(?:-(?!00)(?:0[1-9]|1[0-2])(?:-(?:0[1-9]|[1-2][0-9]|3[0-1]))?)?)$", "example": "2018-03-02 or 2018-03 or 2018", "nullable": true @@ -10798,47 +9024,32 @@ "example": "NEW" }, "classificationCode": { - "type": [ - "string", - "null" - ], + "type": "string", "description": "Classification code for the associated body system. Must match an active code returned by the /disabilities endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current).", "example": "249470", "nullable": true }, "ratedDisabilityId": { "description": "When submitting a contention with action type 'INCREASE', the previously rated disability id may be included.", - "type": [ - "string", - "null" - ], + "type": "string", "example": "1100583", "nullable": true }, "diagnosticCode": { "description": "If the disabilityActionType is 'NONE' or 'INCREASE', the diagnosticCode should correspond to an existing rated disability.", - "type": [ - "integer", - "null" - ], + "type": "integer", "example": 9999, "nullable": true }, "isRelatedToToxicExposure": { - "type": [ - "boolean", - "null" - ], + "type": "boolean", "description": "Is the disability related to toxic exposures? If true, related 'toxicExposure' must be included.", "example": true, "default": false, "nullable": true }, "specialIssues": { - "type": [ - "array", - "null" - ], + "type": "array", "nullable": true, "uniqueItems": true, "items": { @@ -10853,10 +9064,7 @@ }, "secondaryDisabilities": { "description": "If secondaryDisability is included, the following attributes are required: 'secondaryDisability.name', 'secondaryDisability.disabilityActionType' and 'secondaryDisability.serviceRelevance'", - "type": [ - "array", - "null" - ], + "type": "array", "items": { "type": "object", "additionalProperties": false, @@ -10869,10 +9077,7 @@ "maxLength": 255 }, "exposureOrEventOrInjury": { - "type": [ - "string", - "null" - ], + "type": "string", "description": "What caused the disability?", "nullable": true, "maxLength": 1000, @@ -10884,10 +9089,7 @@ }, "serviceRelevance": { "description": "Explanation of how the disability(ies) relates to the in-service event/exposure/injury.", - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "maxLength": 1000, "example": "Heavy equipment operator in service." @@ -10902,19 +9104,13 @@ }, "approximateDate": { "description": "Approximate date disability began. Date must be in the past. \n Format can be either YYYY-MM-DD or YYYY-MM or YYYY", - "type": [ - "string", - "null" - ], + "type": "string", "pattern": "^(?:[0-9]{4}(?:-(?!00)(?:0[1-9]|1[0-2])(?:-(?:0[1-9]|[1-2][0-9]|3[0-1]))?)?)$", "example": "2018-03-02 or 2018-03 or 2018", "nullable": true }, "classificationCode": { - "type": [ - "string", - "null" - ], + "type": "string", "description": "Classification code for the associated body system. Must match an active code returned by the /disabilities endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current).", "example": "249470", "nullable": true @@ -10927,10 +9123,7 @@ }, "treatments": { "description": "Identifies the Service Treatment information of the Veteran. The combination of treatedDisabilityName, center name, center city, and center state must be less than 1000 characters to successfully generate a PDF.", - "type": [ - "array", - "null" - ], + "type": "array", "nullable": true, "uniqueItems": true, "items": { @@ -10939,20 +9132,14 @@ "properties": { "beginDate": { "description": "Begin date for treatment. If treatment began from 2005 to present, you do not need to provide dates. Each treatment begin date must be after the first 'servicePeriod.activeDutyBeginDate'.", - "type": [ - "string", - "null" - ], + "type": "string", "pattern": "^(?:19|20)[0-9][0-9]$|^(?:19|20)[0-9][0-9]-(0[1-9]|1[0-2])$", "example": "2018-06 or 2018", "nullable": true }, "treatedDisabilityNames": { "description": "Name(s) of disabilities treated in this time frame.", - "type": [ - "array", - "null" - ], + "type": "array", "nullable": true, "maxItems": 101, "items": { @@ -10966,19 +9153,13 @@ }, "center": { "description": "VA Medical Center(s) and Department of Defense Military Treatment Facilities where the Veteran received treatment after discharge for any claimed disabilities.", - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "additionalProperties": false, "properties": { "name": { "description": "Name of facility Veteran was treated in. The /treatment-centers endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current) may be used to retrieve possible treatment center names.", - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "pattern": "([a-zA-Z0-9\"/&()\\'-'.,# ]([a-zA-Z0-9()\\'-'.,# ])?)+$", "example": "Private Facility 2", @@ -10987,10 +9168,7 @@ }, "city": { "description": "City of treatment facility.", - "type": [ - "string", - "null" - ], + "type": "string", "pattern": "([a-zA-Z0-9\\-'.# ]([a-zA-Z0-9\\-'.# ])?)+$", "example": "Portland", "nullable": true, @@ -10999,10 +9177,7 @@ }, "state": { "description": "State of treatment facility.", - "type": [ - "string", - "null" - ], + "type": "string", "pattern": "^$|^[a-z,A-Z]{2}$", "example": "OR", "nullable": true @@ -11021,10 +9196,7 @@ "properties": { "alternateNames": { "description": "List any other names under which the Veteran served, if applicable.", - "type": [ - "array", - "null" - ], + "type": "array", "nullable": true, "maxItems": 100, "uniqueItems": true, @@ -11080,10 +9252,7 @@ }, "separationLocationCode": { "description": "Location code for the facility the Veteran plans to separate from. Code must match the values returned by the /intake-sites endpoint on the [Benefits reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current).", - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "example": "98283" } @@ -11091,63 +9260,43 @@ } }, "servedInActiveCombatSince911": { - "type": [ - "string", - "null" - ], + "type": "string", "enum": [ "YES", - "NO", - null + "NO" ], "description": "Did Veteran serve in a combat zone since 9-11-2001?", "example": "YES", "nullable": true }, "reservesNationalGuardService": { - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "additionalProperties": false, "properties": { "component": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "description": "", "enum": [ "Reserves", - "National Guard", - null + "National Guard" ] }, "obligationTermsOfService": { - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "description": "If 'obligationTermsOfService' is included, the following attributes are required: 'beginDate ' and 'endDate'.", "additionalProperties": false, "properties": { "beginDate": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$", "example": "2018-06-06" }, "endDate": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$", "example": "2018-06-06" @@ -11155,46 +9304,31 @@ } }, "unitName": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "maxLength": 1000, "pattern": "^$|([a-zA-Z0-9\\-'.,# ][a-zA-Z0-9\\-'.,# ]?)*$" }, "unitAddress": { - "type": [ - "string", - "null" - ], + "type": "string", "maxLength": 1000, "pattern": "^$|^([-a-zA-Z0-9'.,&# ])+$", "nullable": true }, "unitPhone": { - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "additionalProperties": false, "properties": { "areaCode": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "maxLength": 3, "pattern": "^$|^\\d{3}$", "example": "555" }, "phoneNumber": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "maxLength": 20, "example": "5555555" @@ -11202,14 +9336,10 @@ } }, "receivingInactiveDutyTrainingPay": { - "type": [ - "string", - "null" - ], + "type": "string", "enum": [ "YES", - "NO", - null + "NO" ], "nullable": true, "example": "YES" @@ -11218,29 +9348,20 @@ }, "federalActivation": { "description": "If federalActivation is present then reservesNationalGuardService.obligationTermsOfService.beginDate, reservesNationalGuardService.obligationTermsOfService.endDate and reservesNationalGuardService.unitName are required", - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "additionalProperties": false, "properties": { "activationDate": { "description": "Date cannot be in the future and must be after the earliest servicePeriod.activeDutyBeginDate.", - "type": [ - "string", - "null" - ], + "type": "string", "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$", "example": "2018-06-06", "nullable": true }, "anticipatedSeparationDate": { "description": "Anticipated date of separation. Date must be in the future.", - "type": [ - "string", - "null" - ], + "type": "string", "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$", "example": "2018-06-06", "nullable": true @@ -11248,10 +9369,7 @@ } }, "confinements": { - "type": [ - "array", - "null" - ], + "type": "array", "nullable": true, "uniqueItems": true, "items": { @@ -11260,17 +9378,13 @@ "properties": { "approximateBeginDate": { "description": "The approximateBeginDate must be after the earliest servicePeriod activeDutyBeginDate.", - "type": [ - "string" - ], + "type": "string", "nullable": false, "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$|(?:[0-9]{4})-(?:0[1-9]|1[0-2])$", "example": "2018-06-06 or 2018-06" }, "approximateEndDate": { - "type": [ - "string" - ], + "type": "string", "nullable": false, "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$|(?:[0-9]{4})-(?:0[1-9]|1[0-2])$", "example": "2018-06-06 or 2018-06" @@ -11281,75 +9395,52 @@ } }, "servicePay": { - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "additionalProperties": false, "properties": { "receivingMilitaryRetiredPay": { "description": "Is the Veteran receiving military retired pay?", - "type": [ - "string", - "null" - ], + "type": "string", "enum": [ "YES", - "NO", - null + "NO" ], "example": "YES", "nullable": true }, "futureMilitaryRetiredPay": { "description": "Will the Veteran receive military retired pay pay in future? \n If true, then 'futurePayExplanation' is required.", - "type": [ - "string", - "null" - ], + "type": "string", "enum": [ "YES", - "NO", - null + "NO" ], "example": "YES", "nullable": true }, "futureMilitaryRetiredPayExplanation": { "description": "Explains why future pay will be received.", - "type": [ - "string", - "null" - ], + "type": "string", "maxLength": 1000, "example": "Will be retiring soon.", "nullable": true }, "militaryRetiredPay": { - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "description": "", "properties": { "branchOfService": { "description": "Branch of service. The /service-branches endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current) may be used to retrieve list of possible service branches.", - "type": [ - "string", - "null" - ], + "type": "string", "maxLength": 1000, "nullable": true, "example": "Air Force" }, "monthlyAmount": { "description": "Amount being received.", - "type": [ - "integer", - "null" - ], + "type": "integer", "nullable": true, "minimum": 1, "maximum": 999999, @@ -11358,76 +9449,53 @@ } }, "retiredStatus": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "description": "", "enum": [ "RETIRED", "TEMPORARY_DISABILITY_RETIRED_LIST", - "PERMANENT_DISABILITY_RETIRED_LIST", - null + "PERMANENT_DISABILITY_RETIRED_LIST" ] }, "favorMilitaryRetiredPay": { "description": "Is the Veteran waiving VA benefits to retain military retired pay? See item 26 on form 21-526EZ for more details.", - "type": [ - "boolean", - "null" - ], + "type": "boolean", "nullable": true, "example": true, "default": false }, "receivedSeparationOrSeverancePay": { "description": "Has the Veteran ever received separation pay, disability severance pay, or any other lump sum payment from their branch of service?", - "type": [ - "string", - "null" - ], + "type": "string", "enum": [ "YES", - "NO", - null + "NO" ], "example": "YES", "nullable": true }, "separationSeverancePay": { - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "description": "", "properties": { "datePaymentReceived": { "description": "Approximate date separation pay was received. \n Format can be either YYYY-MM-DD or YYYY-MM or YYYY", - "type": [ - "string", - "null" - ], + "type": "string", "pattern": "^(?:[0-9]{4})-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])$|(?:[0-9]{4})$|(?:[0-9]{4})-(?:0[1-9]|1[0-2])$", "example": "2018-03-02 or 2018-03 or 2018" }, "branchOfService": { "description": "Branch of service. The /service-branches endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current) may be used to retrieve list of possible service branches.", - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "maxLength": 1000, "example": "Air Force" }, "preTaxAmountReceived": { "description": "Amount being received.", - "type": [ - "integer", - "null" - ], + "type": "integer", "nullable": true, "minimum": 1, "maximum": 999999, @@ -11437,10 +9505,7 @@ }, "favorTrainingPay": { "description": "Is the Veteran waiving VA benefits to retain training pay? See item 28 on form 21-526EZ for more details. ", - "type": [ - "boolean", - "null" - ], + "type": "boolean", "nullable": true, "example": true, "default": false @@ -11448,19 +9513,13 @@ } }, "directDeposit": { - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "additionalProperties": false, "description": "If direct deposit information is included, the following attributes are required: accountType, accountNumber, routingNumber.", "properties": { "noAccount": { - "type": [ - "boolean", - "null" - ], + "type": "boolean", "nullable": true, "description": "Claimant certifies that they do not have an account with a financial institution or certified payment agent.", "default": false @@ -11468,44 +9527,31 @@ "accountNumber": { "description": "Account number for the direct deposit.", "pattern": "^(?:[a-zA-Z0-9-]{4,1000})?$", - "type": [ - "string", - "null" - ], + "type": "string", "maxLength": 1000, "nullable": true, "example": "123123123123" }, "accountType": { "description": "Account type for the direct deposit.", - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "example": "CHECKING", "enum": [ "CHECKING", - "SAVINGS", - null + "SAVINGS" ] }, "financialInstitutionName": { "description": "Provide the name of the financial institution where the Veteran wants the direct deposit.", "maxLength": 1000, - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "example": "Some Bank" }, "routingNumber": { "description": "Routing number for the direct deposit.", - "type": [ - "string", - "null" - ], + "type": "string", "maxLength": 1000, "nullable": true, "pattern": "^$|^\\d{0,1000}$", @@ -11519,10 +9565,7 @@ "default": false }, "claimNotes": { - "type": [ - "string", - "null" - ], + "type": "string", "description": "An optional notes section.", "maxLength": 4000 } @@ -11795,7 +9838,7 @@ "application/json": { "example": { "data": { - "id": "a62fdce4-40c9-44e3-8b53-ae5cc2d6bf06", + "id": "cd3552a2-7300-4902-81a9-0814b4f65127", "type": "forms/526", "attributes": { "claimProcessType": "STANDARD_CLAIM_PROCESS", @@ -12562,10 +10605,7 @@ "type": "boolean" }, "claimNotes": { - "type": [ - "string", - "null" - ], + "type": "string", "description": "An optional notes section.", "maxLength": 4000 } @@ -12878,13 +10918,7 @@ "type": "object", "required": [ "attributes", - [ - "claimantCertification", - "claimProcessType", - "disabilities", - "serviceInformation", - "veteranIdentification" - ] + null ], "properties": { "attributes": { @@ -12923,36 +10957,24 @@ ], "properties": { "serviceNumber": { - "type": [ - "null", - "string" - ], + "type": "string", "description": "Service identification number", "nullable": true, "maxLength": 1000 }, "veteranNumber": { "description": "If there isn't a ten digit phone number in VBMS for the Veteran, the exams will not be ordered. Including the phone number is recommended to avoid claim processing delays.", - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "properties": { "telephone": { "description": "Veteran's phone number. Number including area code.", - "type": [ - "string", - "null" - ], + "type": "string", "example": "5555555555", "nullable": true }, "internationalTelephone": { - "type": [ - "string", - "null" - ], + "type": "string", "description": "Veteran's international phone number.", "example": "+44 20 1234 5678", "nullable": true, @@ -12977,20 +10999,14 @@ }, "addressLine2": { "description": "Address line 2 for the Veteran's current mailing address.", - "type": [ - "string", - "null" - ], + "type": "string", "maxLength": 325, "example": "Unit 4", "nullable": true }, "addressLine3": { "description": "Address line 3 for the Veteran's current mailing address.", - "type": [ - "string", - "null" - ], + "type": "string", "maxLength": 325, "example": "Room 1", "nullable": true @@ -13003,10 +11019,7 @@ }, "state": { "description": "State for the Veteran's current mailing address.", - "type": [ - "string", - "null" - ], + "type": "string", "example": "NY", "maxLength": 1000, "nullable": true @@ -13019,30 +11032,21 @@ }, "zipFirstFive": { "description": "Zip code (First 5 digits) for the Veteran's current mailing address.", - "type": [ - "string", - "null" - ], + "type": "string", "example": "12345", "maxLength": 500, "nullable": true }, "zipLastFour": { "description": "Zip code (Last 4 digits) for the Veteran's current mailing address.", - "type": [ - "string", - "null" - ], + "type": "string", "example": "6789", "nullable": true, "maxLength": 500 }, "internationalPostalCode": { "description": "International postal code for the Veteran's current mailing address.", - "type": [ - "string", - "null" - ], + "type": "string", "maxLength": 1000, "nullable": true } @@ -13050,26 +11054,17 @@ }, "emailAddress": { "description": "Information associated with the Veteran's email address.", - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "properties": { "email": { - "type": [ - "string", - "null" - ], + "type": "string", "description": "The most current email address of the Veteran.", "maxLength": 1000, "nullable": true }, "agreeToEmailRelatedToClaim": { - "type": [ - "boolean", - "null" - ], + "type": "boolean", "description": "Agreement to email information relating to this claim.", "example": true, "default": false, @@ -13086,10 +11081,7 @@ }, "changeOfAddress": { "description": "If 'changeOfAddress' is included, the following attributes are required: 'typeOfAddressChange', 'dates.beginDate', 'addressLine1', 'city', 'state', 'country', 'zipFirstFive'.", - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "additionalProperties": false, "properties": { @@ -13110,20 +11102,14 @@ }, "addressLine2": { "description": "Address line 2 for the Veteran's new address.", - "type": [ - "string", - "null" - ], + "type": "string", "maxLength": 325, "example": "Unit 4", "nullable": true }, "addressLine3": { "description": "Address line 3 for the Veteran's new address.", - "type": [ - "string", - "null" - ], + "type": "string", "maxLength": 325, "example": "Room 1", "nullable": true @@ -13136,50 +11122,35 @@ }, "state": { "description": "State for the Veteran's new address.", - "type": [ - "string", - "null" - ], + "type": "string", "example": "NY", "maxLength": 1000, "nullable": true }, "country": { "description": "Country for the Veteran's new address. Value must match the values returned by the /countries endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current).", - "type": [ - "string", - "null" - ], + "type": "string", "example": "USA", "maxLength": 1000, "nullable": true }, "zipFirstFive": { "description": "Zip code (First 5 digits) for the Veteran's new address.", - "type": [ - "string", - "null" - ], + "type": "string", "example": "12345", "maxLength": 500, "nullable": true }, "zipLastFour": { "description": "Zip code (Last 4 digits) for the Veteran's new address.", - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "example": "6789", "maxLength": 500 }, "internationalPostalCode": { "description": "International postal code for the Veteran's new address.", - "type": [ - "string", - "null" - ], + "type": "string", "maxLength": 1000, "nullable": true }, @@ -13194,10 +11165,7 @@ }, "endDate": { "description": "Date in YYYY-MM-DD the changed address expires, if change is temporary.", - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "pattern": "^\\d{4}-\\d{2}-\\d{2}$", "example": "2018-06-04" @@ -13207,35 +11175,23 @@ } }, "homeless": { - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "additionalProperties": false, "properties": { "isCurrentlyHomeless": { - "type": [ - "boolean", - "null" - ], + "type": "boolean", "nullable": true, "description": "Is the Veteran currently homeless?" }, "currentlyHomeless": { - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "additionalProperties": false, "properties": { "homelessSituationOptions": { "description": "Veteran's living situation.", - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "default": "other", "enum": [ @@ -13243,17 +11199,13 @@ "NOT_CURRENTLY_IN_A_SHELTERED_ENVIRONMENT", "STAYING_WITH_ANOTHER_PERSON", "FLEEING_CURRENT_RESIDENCE", - "OTHER", - null + "OTHER" ], "example": "FLEEING_CURRENT_RESIDENCE" }, "otherDescription": { "description": "Explanation of living situation. Required if 'homelessSituationOptions' is 'OTHER'.", - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "maxLength": 5000, "example": "other living situation" @@ -13261,41 +11213,28 @@ } }, "isAtRiskOfBecomingHomeless": { - "type": [ - "boolean", - "null" - ], + "type": "boolean", "nullable": true, "description": "Is the Veteran currently at risk of becoming homeless?" }, "riskOfBecomingHomeless": { - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "additionalProperties": false, "properties": { "livingSituationOptions": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "default": "HOUSING_WILL_BE_LOST_IN_30_DAYS", "enum": [ "HOUSING_WILL_BE_LOST_IN_30_DAYS", "LEAVING_PUBLICLY_FUNDED_SYSTEM_OF_CARE", - "OTHER", - null + "OTHER" ] }, "otherDescription": { "description": "Explanation of living situation. Required if 'livingSituationOptions' is 'OTHER'.", - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "maxLength": 5000, "example": "other living situation" @@ -13304,38 +11243,26 @@ }, "pointOfContact": { "description": "Individual in direct contact with Veteran.", - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "minLength": 1, "maxLength": 1000, "example": "Jane Doe" }, "pointOfContactNumber": { - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "additionalProperties": false, "properties": { "telephone": { "description": "Ten digit primary phone of point of contact.", - "type": [ - "string", - "null" - ], + "type": "string", "example": "5555555555", "nullable": true }, "internationalTelephone": { "description": "International phone of point of contact.", - "type": [ - "string", - "null" - ], + "type": "string", "example": "+44 20 1234 5678", "nullable": true, "maxLength": 1000 @@ -13345,57 +11272,38 @@ } }, "toxicExposure": { - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "properties": { "gulfWarHazardService": { - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "description": "Toxic exposure related to the Gulf war.", "properties": { "servedInGulfWarHazardLocations": { - "type": [ - "string", - "null" - ], + "type": "string", "description": "Set to true if the Veteran served in any of the following Gulf War hazard locations: Iraq; Kuwait; Saudi Arabia; the neutral zone between Iraq and Saudi Arabia; Bahrain; Qatar; the United Arab Emirates; Oman; Yemen; Lebanon; Somalia; Afghanistan; Israel; Egypt; Turkey; Syria; Jordan; Djibouti; Uzbekistan; the Gulf of Aden; the Gulf of Oman; the Persian Gulf; the Arabian Sea; and the Red Sea.", "example": "YES", "enum": [ "NO", - "YES", - null + "YES" ], "nullable": true }, "serviceDates": { - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "description": "Date range for when the exposure happened.", "properties": { "beginDate": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "description": "Approximate begin date for serving in Gulf War hazard location.", "pattern": "^(\\d{4}(-\\d{2})?)?$", "example": "2018-06 or 2018" }, "endDate": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "description": "Approximate end date for serving in Gulf War hazard location.", "pattern": "^(\\d{4}(-\\d{2})?)?$", @@ -13407,58 +11315,39 @@ }, "herbicideHazardService": { "description": "Toxic exposure related to herbicide (Agent Orange) hazards.", - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "properties": { "servedInHerbicideHazardLocations": { - "type": [ - "string", - "null" - ], + "type": "string", "description": "Set to true if the Veteran served in any of the following herbicide/Agent Orange locations: Republic of Vietnam to include the 12 nautical mile territorial waters; Thailand at any United States or Royal Thai base; Laos; Cambodia at Mimot or Krek; Kampong Cham Province; Guam or American Samoa; or in the territorial waters thereof; Johnston Atoll or a ship that called at Johnston Atoll; Korean demilitarized zone; aboard (to include repeated operations and maintenance with) a C-123 aircraft known to have been used to spray an herbicide agent (during service in the Air Force and Air Force Reserves).", "example": "YES", "enum": [ "NO", - "YES", - null + "YES" ], "nullable": true }, "otherLocationsServed": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "description": "Other location(s) where Veteran served.", "maxLength": 5000 }, "serviceDates": { "description": "Date range for exposure in herbicide hazard location.", - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "properties": { "beginDate": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "description": "Approximate begin date for serving in herbicide location.", "pattern": "^(\\d{4}(-\\d{2})?)?$", "example": "2018-06 or 2018" }, "endDate": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "description": "Approximate end date for serving in herbicide location.", "pattern": "^(\\d{4}(-\\d{2})?)?$", @@ -13469,19 +11358,13 @@ } }, "additionalHazardExposures": { - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "description": "Additional hazardous exposures.", "properties": { "additionalExposures": { "description": "Additional exposure incidents.", - "type": [ - "array", - "null" - ], + "type": "array", "nullable": true, "maxItems": 5000, "items": { @@ -13494,43 +11377,30 @@ "SHIPBOARD_HAZARD_AND_DEFENSE", "MILITARY_OCCUPATIONAL_SPECIALTY_RELATED_TOXIN", "CONTAMINATED_WATER_AT_CAMP_LEJEUNE", - "OTHER", - null + "OTHER" ] } }, "specifyOtherExposures": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "description": "Exposure to asbestos.", "maxLength": 5000 }, "exposureDates": { - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "description": "Date range for when the exposure happened.", "properties": { "beginDate": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "description": "Approximate begin date for exposure.", "pattern": "^(\\d{4}(-\\d{2})?)?$", "example": "2018-06 or 2018" }, "endDate": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "description": "Approximate end date for exposure.", "pattern": "^(\\d{4}(-\\d{2})?)?$", @@ -13541,10 +11411,7 @@ } }, "multipleExposures": { - "type": [ - "array", - "null" - ], + "type": "array", "nullable": true, "maxItems": 5000, "minItems": 0, @@ -13553,46 +11420,31 @@ "additionalProperties": false, "properties": { "hazardExposedTo": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "description": "Hazard the Veteran was exposed to.", "maxLength": 1000 }, "exposureLocation": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "description": "Location where the exposure happened.", "maxLength": 1000 }, "exposureDates": { - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "description": "Date range for when the exposure happened.", "properties": { "beginDate": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "description": "Approximate begin date for exposure.", "pattern": "^(\\d{4}(-\\d{2})?)?$", "example": "2018-06 or 2018" }, "endDate": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "description": "Approximate end date for exposure.", "pattern": "^(\\d{4}(-\\d{2})?)?$", @@ -13625,10 +11477,7 @@ "maxLength": 1000 }, "exposureOrEventOrInjury": { - "type": [ - "string", - "null" - ], + "type": "string", "description": "What caused the disability?", "nullable": true, "examples": [ @@ -13640,20 +11489,14 @@ }, "serviceRelevance": { "description": "Explanation of how the disability(ies) relates to the in-service event/exposure/injury. If the disabilityActionType is 'NEW', the serviceRelevance is required.", - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "example": "Heavy equipment operator in service.", "maxLength": 1000 }, "approximateDate": { "description": "Approximate date disability began. Date must be in the past. \n Format can be either YYYY-MM-DD or YYYY-MM or YYYY", - "type": [ - "string", - "null" - ], + "type": "string", "pattern": "^(\\d{4}-(\\d{2}-(\\d{2})?)?|\\d{4}-\\d{2}|\\d{4}|)$", "example": "2018-03-02 or 2018-03 or 2018", "nullable": true, @@ -13670,47 +11513,32 @@ "example": "NEW" }, "classificationCode": { - "type": [ - "string", - "null" - ], + "type": "string", "description": "Classification code for the associated body system. Must match an active code returned by the /disabilities endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current).", "example": "249470", "nullable": true }, "ratedDisabilityId": { "description": "When submitting a contention with action type 'INCREASE', the previously rated disability id may be included.", - "type": [ - "string", - "null" - ], + "type": "string", "example": "1100583", "nullable": true }, "diagnosticCode": { "description": "If the disabilityActionType is 'NONE' or 'INCREASE', the diagnosticCode should correspond to an existing rated disability.", - "type": [ - "integer", - "null" - ], + "type": "integer", "example": 9999, "nullable": true }, "isRelatedToToxicExposure": { - "type": [ - "boolean", - "null" - ], + "type": "boolean", "description": "Is the disability related to toxic exposures? If true, related 'toxicExposure' must be included.", "example": true, "default": false, "nullable": true }, "specialIssues": { - "type": [ - "array", - "null" - ], + "type": "array", "nullable": true, "uniqueItems": true, "items": { @@ -13737,10 +11565,7 @@ "maxLength": 1000 }, "exposureOrEventOrInjury": { - "type": [ - "string", - "null" - ], + "type": "string", "description": "What caused the disability?", "nullable": true, "examples": [ @@ -13752,10 +11577,7 @@ }, "serviceRelevance": { "description": "Explanation of how the disability(ies) relates to the in-service event/exposure/injury.", - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "example": "Heavy equipment operator in service.", "maxLength": 1000 @@ -13770,20 +11592,14 @@ }, "approximateDate": { "description": "Approximate date disability began. Date must be in the past. \n Format can be either YYYY-MM-DD or YYYY-MM or YYYY", - "type": [ - "string", - "null" - ], + "type": "string", "pattern": "^(\\d{4}-(\\d{2}-(\\d{2})?)?|\\d{4}-\\d{2}|\\d{4}|)$", "example": "2018-03-02 or 2018-03 or 2018", "nullable": true, "maxLength": 1000 }, "classificationCode": { - "type": [ - "string", - "null" - ], + "type": "string", "description": "Classification code for the associated body system. Must match an active code returned by the /disabilities endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current).", "example": "249470", "nullable": true @@ -13796,10 +11612,7 @@ }, "treatments": { "description": "Identifies the Service Treatment information of the Veteran. The combination of treatedDisabilityName, center name, center city, and center state must be less than 1000 characters to successfully generate a PDF.", - "type": [ - "array", - "null" - ], + "type": "array", "nullable": true, "maxItems": 5000, "items": { @@ -13808,20 +11621,14 @@ "properties": { "beginDate": { "description": "Begin date for treatment. If treatment began from 2005 to present, you do not need to provide dates. Each treatment begin date must be after the first 'servicePeriod.activeDutyBeginDate'.", - "type": [ - "string", - "null" - ], + "type": "string", "pattern": "^(\\d{4}(-\\d{2})?)?$", "example": "2018-06 or 2018", "nullable": true }, "treatedDisabilityNames": { "description": "Name(s) of disabilities treated in this time frame.", - "type": [ - "array", - "null" - ], + "type": "array", "nullable": true, "maxItems": 101, "items": { @@ -13835,38 +11642,26 @@ }, "center": { "description": "VA Medical Center(s) and Department of Defense Military Treatment Facilities where the Veteran received treatment after discharge for any claimed disabilities.", - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "additionalProperties": false, "properties": { "name": { "description": "Name of facility Veteran was treated in. The /treatment-centers endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current) may be used to retrieve possible treatment center names.", - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "example": "Private Facility 2", "maxLength": 100 }, "city": { "description": "City of treatment facility.", - "type": [ - "string", - "null" - ], + "type": "string", "example": "Schenectady", "nullable": true }, "state": { "description": "State of treatment facility.", - "type": [ - "string", - "null" - ], + "type": "string", "example": "NY", "nullable": true } @@ -13884,10 +11679,7 @@ "properties": { "alternateNames": { "description": "List any other names under which the Veteran served, if applicable.", - "type": [ - "array", - "null" - ], + "type": "array", "nullable": true, "maxItems": 5000, "items": { @@ -13943,10 +11735,7 @@ }, "separationLocationCode": { "description": "Location code for the facility the Veteran plans to separate from. Code must match the values returned by the /intake-sites endpoint on the [Benefits reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current).", - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "example": "98283" } @@ -13954,63 +11743,43 @@ } }, "servedInActiveCombatSince911": { - "type": [ - "string", - "null" - ], + "type": "string", "enum": [ "YES", - "NO", - null + "NO" ], "description": "Did Veteran serve in a combat zone since 9-11-2001?", "example": "YES", "nullable": true }, "reservesNationalGuardService": { - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "additionalProperties": false, "properties": { "component": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "description": "", "enum": [ "Reserves", - "National Guard", - null + "National Guard" ] }, "obligationTermsOfService": { - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "description": "If 'obligationTermsOfService' is included, the following attributes are required: 'beginDate ' and 'endDate'.", "additionalProperties": false, "properties": { "beginDate": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "pattern": "^(?:\\d{4})-(?:\\d{2})-(?:\\d{2})$", "example": "2018-06-06" }, "endDate": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "pattern": "^(?:\\d{4})-(?:\\d{2})-(?:\\d{2})$", "example": "2018-06-06" @@ -14018,43 +11787,28 @@ } }, "unitName": { - "type": [ - "string", - "null" - ], + "type": "string", "maxLength": 1000, "nullable": true }, "unitAddress": { - "type": [ - "string", - "null" - ], + "type": "string", "maxLength": 1000, "nullable": true }, "unitPhone": { - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "additionalProperties": false, "properties": { "areaCode": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "maxLength": 1000, "example": "555" }, "phoneNumber": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "maxLength": 20, "example": "5555555" @@ -14062,14 +11816,10 @@ } }, "receivingInactiveDutyTrainingPay": { - "type": [ - "string", - "null" - ], + "type": "string", "enum": [ "YES", - "NO", - null + "NO" ], "nullable": true, "example": "YES" @@ -14077,29 +11827,20 @@ } }, "federalActivation": { - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "additionalProperties": false, "properties": { "activationDate": { "description": "Date cannot be in the future and must be after the earliest servicePeriod.activeDutyBeginDate.", - "type": [ - "string", - "null" - ], + "type": "string", "pattern": "^\\d{4}-\\d{2}-\\d{2}$|^$", "example": "2018-06-06", "nullable": true }, "anticipatedSeparationDate": { "description": "Anticipated date of separation. Date must be in the future.", - "type": [ - "string", - "null" - ], + "type": "string", "pattern": "^\\d{4}-\\d{2}-\\d{2}$|^$", "example": "2018-06-06", "nullable": true @@ -14107,10 +11848,7 @@ } }, "confinements": { - "type": [ - "array", - "null" - ], + "type": "array", "nullable": true, "maxItems": 5000, "items": { @@ -14119,19 +11857,13 @@ "properties": { "approximateBeginDate": { "description": "The approximateBeginDate must be after the earliest servicePeriod activeDutyBeginDate.", - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "pattern": "^(\\d{4}-(\\d{2}-(\\d{2})?)?|\\d{4}-\\d{2}|\\d{4}|)$", "example": "2018-06-06 or 2018-06" }, "approximateEndDate": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "pattern": "^(\\d{4}-(\\d{2}-(\\d{2})?)?|\\d{4}-\\d{2}|\\d{4}|)$", "example": "2018-06-06 or 2018-06" @@ -14142,151 +11874,105 @@ } }, "servicePay": { - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "additionalProperties": false, "properties": { "receivingMilitaryRetiredPay": { "description": "Is the Veteran receiving military retired pay?", - "type": [ - "string", - "null" - ], + "type": "string", "enum": [ "YES", - "NO", - null + "NO" ], "example": "YES", "nullable": true }, "futureMilitaryRetiredPay": { "description": "Will the Veteran receive military retired pay pay in future? \n If true, then 'futurePayExplanation' is required.", - "type": [ - "string", - "null" - ], + "type": "string", "enum": [ "YES", - "NO", - null + "NO" ], "example": "YES", "nullable": true }, "futureMilitaryRetiredPayExplanation": { "description": "Explains why future pay will be received.", - "type": [ - "string", - "null" - ], + "type": "string", "example": "Will be retiring soon.", "nullable": true, "maxLength": 1000 }, "militaryRetiredPay": { - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "description": "", "properties": { "branchOfService": { "description": "Branch of service. The /service-branches endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current) may be used to retrieve list of possible service branches.", - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "maxLength": 1000, "example": "Air Force" }, "monthlyAmount": { "description": "Amount being received.", - "type": [ - "integer", - "null" - ], + "type": "integer", "nullable": true, "example": 100 } } }, "retiredStatus": { - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "description": "", "enum": [ "RETIRED", "TEMPORARY_DISABILITY_RETIRED_LIST", - "PERMANENT_DISABILITY_RETIRED_LIST", - null + "PERMANENT_DISABILITY_RETIRED_LIST" ] }, "favorMilitaryRetiredPay": { "description": "Is the Veteran waiving VA benefits to retain military retired pay? See item 26 on form 21-526EZ for more details.", - "type": [ - "boolean", - "null" - ], + "type": "boolean", "nullable": true, "example": true, "default": false }, "receivedSeparationOrSeverancePay": { "description": "Has the Veteran ever received separation pay, disability severance pay, or any other lump sum payment from their branch of service?", - "type": [ - "string", - "null" - ], + "type": "string", "enum": [ "YES", - "NO", - null + "NO" ], "example": "YES", "nullable": true }, "separationSeverancePay": { - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "description": "", "properties": { "datePaymentReceived": { "description": "Approximate date separation pay was received. \n Format can be either YYYY-MM-DD or YYYY-MM or YYYY", - "type": [ - "string", - "null" - ], + "type": "string", "pattern": "^(\\d{4}-(\\d{2}-(\\d{2})?)?|\\d{4}-\\d{2}|\\d{4}|)$", "example": "2018-03-02 or 2018-03 or 2018" }, "branchOfService": { "description": "Branch of service. The /service-branches endpoint on the [Benefits Reference Data API](https://developer.va.gov/explore/benefits/docs/benefits_reference_data?version=current) may be used to retrieve list of possible service branches.", - "type": [ - "string", - "null" - ], + "type": "string", "maxLength": 1000, "nullable": true, "example": "Air Force" }, "preTaxAmountReceived": { "description": "Amount being received.", - "type": [ - "integer", - "null" - ], + "type": "integer", "nullable": true, "example": 100 } @@ -14294,10 +11980,7 @@ }, "favorTrainingPay": { "description": "Is the Veteran waiving VA benefits to retain training pay? See item 28 on form 21-526EZ for more details. ", - "type": [ - "boolean", - "null" - ], + "type": "boolean", "nullable": true, "example": true, "default": false @@ -14305,63 +11988,44 @@ } }, "directDeposit": { - "type": [ - "object", - "null" - ], + "type": "object", "nullable": true, "additionalProperties": false, "description": "If direct deposit information is included, the following attributes are required: accountType, accountNumber, routingNumber.", "properties": { "noAccount": { - "type": [ - "boolean", - "null" - ], + "type": "boolean", "nullable": true, "description": "Claimant certifies that they do not have an account with a financial institution or certified payment agent.", "default": false }, "accountNumber": { "description": "Account number for the direct deposit.", - "type": [ - "string", - "null" - ], + "type": "string", "maxLength": 1000, "nullable": true, "example": "123123123123" }, "accountType": { "description": "Account type for the direct deposit.", - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "example": "CHECKING", "enum": [ "CHECKING", - "SAVINGS", - null + "SAVINGS" ] }, "financialInstitutionName": { "description": "Provide the name of the financial institution where the Veteran wants the direct deposit.", "maxLength": 1000, - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "example": "Some Bank" }, "routingNumber": { "description": "Routing number for the direct deposit.", - "type": [ - "string", - "null" - ], + "type": "string", "nullable": true, "maxLength": 9, "example": "123123123" @@ -14374,10 +12038,7 @@ "default": false }, "claimNotes": { - "type": [ - "string", - "null" - ], + "type": "string", "description": "An optional notes section.", "maxLength": 4000 } @@ -15382,10 +13043,7 @@ } }, "tempJurisdiction": { - "type": [ - "string", - "null" - ], + "type": "string", "description": "Temporary jurisdiction of claim" }, "trackedItems": { @@ -15922,8 +13580,8 @@ "id": "1", "type": "intent_to_file", "attributes": { - "creationDate": "2024-12-03", - "expirationDate": "2025-12-03", + "creationDate": "2024-12-04", + "expirationDate": "2025-12-04", "type": "compensation", "status": "active" } @@ -16819,7 +14477,7 @@ "application/json": { "example": { "data": { - "id": "eef71d65-a732-4c30-801e-b38b23177633", + "id": "89beb6db-e4ed-43e9-baa8-a3157a1788a7", "type": "individual", "attributes": { "code": "067", @@ -17082,10 +14740,7 @@ "type": "object", "required": [ "attributes", - [ - "veteran", - "representative" - ] + null ], "properties": { "attributes": { @@ -17596,7 +15251,7 @@ "application/json": { "example": { "data": { - "id": "16520dfa-1a3f-47bd-830d-225181fa65a2", + "id": "005a7686-e6a3-4644-b9c0-b7894a53d65e", "type": "organization", "attributes": { "code": "083", @@ -17867,10 +15522,7 @@ "type": "object", "required": [ "attributes", - [ - "veteran", - "serviceOrganization" - ] + null ], "properties": { "attributes": { @@ -18537,10 +16189,7 @@ "type": "object", "required": [ "attributes", - [ - "veteran", - "representative" - ] + null ], "properties": { "attributes": { @@ -19234,10 +16883,7 @@ "type": "object", "required": [ "attributes", - [ - "veteran", - "serviceOrganization" - ] + null ], "properties": { "attributes": { @@ -19605,10 +17251,10 @@ "application/json": { "example": { "data": { - "id": "4671ee21-255c-4736-8bbe-a0f835f9252c", + "id": "2c6ffced-a984-4521-8a2c-72de8d057362", "type": "claimsApiPowerOfAttorneys", "attributes": { - "dateRequestAccepted": "2024-12-03", + "dateRequestAccepted": "2024-12-04", "previousPoa": null, "representative": { "serviceOrganization": { @@ -20387,12 +18033,7 @@ "type": "object", "required": [ "attributes", - [ - "veteran", - "poa", - "recordConsent", - "consentAddressChange" - ] + null ], "properties": { "attributes": { diff --git a/modules/claims_api/app/swagger/claims_api/v2/production/swagger.json b/modules/claims_api/app/swagger/claims_api/v2/production/swagger.json index 7a830393263..7b2bce7b8f8 100644 --- a/modules/claims_api/app/swagger/claims_api/v2/production/swagger.json +++ b/modules/claims_api/app/swagger/claims_api/v2/production/swagger.json @@ -3685,11 +3685,7 @@ "202 without a transactionId": { "value": { "data": { -<<<<<<< HEAD - "id": "e9601789-6464-499a-a646-cf82632ad135", -======= - "id": "cf6332f4-abfb-4794-b006-fd0bb048e53f", ->>>>>>> master + "id": "75a03f81-51ea-4a94-a4df-06abe167840c", "type": "forms/526", "attributes": { "claimId": "600442191", @@ -3874,11 +3870,7 @@ }, "federalActivation": { "activationDate": "2023-10-01", -<<<<<<< HEAD - "anticipatedSeparationDate": "2024-12-05" -======= - "anticipatedSeparationDate": "2024-12-04" ->>>>>>> master + "anticipatedSeparationDate": "2024-12-06" }, "confinements": [ { @@ -3924,11 +3916,7 @@ "202 with a transactionId": { "value": { "data": { -<<<<<<< HEAD - "id": "a289481a-8de0-4a60-9596-4050bd8c9336", -======= - "id": "efca2042-3808-4078-b2cb-96ddd38f5612", ->>>>>>> master + "id": "1c8aefef-b0a4-4d8c-a953-ab3b83e8240a", "type": "forms/526", "attributes": { "claimId": "600442191", @@ -4092,11 +4080,7 @@ "serviceBranch": "Public Health Service", "serviceComponent": "Active", "activeDutyBeginDate": "2008-11-14", -<<<<<<< HEAD - "activeDutyEndDate": "2024-12-05", -======= - "activeDutyEndDate": "2024-12-04", ->>>>>>> master + "activeDutyEndDate": "2024-12-06", "separationLocationCode": "98282" } ], @@ -4117,11 +4101,7 @@ }, "federalActivation": { "activationDate": "2023-10-01", -<<<<<<< HEAD - "anticipatedSeparationDate": "2024-12-05" -======= - "anticipatedSeparationDate": "2024-12-04" ->>>>>>> master + "anticipatedSeparationDate": "2024-12-06" }, "confinements": [ { @@ -7364,11 +7344,7 @@ "serviceBranch": "Public Health Service", "serviceComponent": "Active", "activeDutyBeginDate": "2008-11-14", -<<<<<<< HEAD - "activeDutyEndDate": "2024-12-05", -======= - "activeDutyEndDate": "2024-12-04", ->>>>>>> master + "activeDutyEndDate": "2024-12-06", "separationLocationCode": "98282" } ], @@ -7389,11 +7365,7 @@ }, "federalActivation": { "activationDate": "2023-10-01", -<<<<<<< HEAD - "anticipatedSeparationDate": "2024-12-05" -======= - "anticipatedSeparationDate": "2024-12-04" ->>>>>>> master + "anticipatedSeparationDate": "2024-12-06" }, "confinements": [ { @@ -9157,11 +9129,7 @@ "application/json": { "example": { "data": { -<<<<<<< HEAD - "id": "fdfd0213-d0b3-4e67-90d8-79ee67d1cccb", -======= - "id": "1b1af0b5-9733-4c0e-9975-5733e6d8988b", ->>>>>>> master + "id": "4a7e2be4-579e-4fe2-a919-33961dc4ca31", "type": "forms/526", "attributes": { "claimProcessType": "STANDARD_CLAIM_PROCESS", @@ -12903,13 +12871,8 @@ "id": "1", "type": "intent_to_file", "attributes": { -<<<<<<< HEAD - "creationDate": "2024-12-03", - "expirationDate": "2025-12-03", -======= - "creationDate": "2024-12-02", - "expirationDate": "2025-12-02", ->>>>>>> master + "creationDate": "2024-12-04", + "expirationDate": "2025-12-04", "type": "compensation", "status": "active" } @@ -13805,11 +13768,7 @@ "application/json": { "example": { "data": { -<<<<<<< HEAD - "id": "6563ef4b-5b84-49ce-af8a-84ca4d83fae3", -======= - "id": "b0c6f72f-b4ce-4c9b-8390-9a9bf7a7c4a0", ->>>>>>> master + "id": "c35771ee-4ada-4139-9f20-e3b1f3a6ae04", "type": "individual", "attributes": { "code": "067", @@ -14124,12 +14083,7 @@ "addressLine1", "city", "stateCode", -<<<<<<< HEAD - "country" -======= - "countryCode", - "zipCode" ->>>>>>> master + "countryCode" ], "properties": { "addressLine1": { @@ -14161,7 +14115,7 @@ "example": "US" }, "zipCode": { - "description": "Zip code (First 5 digits) of the address. Required if 'country' is 'US'.", + "description": "Zip code (First 5 digits) of the address. Required if 'countryCode' is 'US'.", "type": "string", "pattern": "^\\d{5}?$", "example": "12345" @@ -14256,7 +14210,7 @@ "example": "USA" }, "zipCode": { - "description": "Zip code (First 5 digits) of the address. Required if 'country' is 'US'.", + "description": "Zip code (First 5 digits) of the address. Required if 'countryCode' is 'US'.", "type": "string", "pattern": "^\\d{5}?$", "example": "12345" @@ -14376,7 +14330,7 @@ "example": "US" }, "zipCode": { - "description": "Zip code (First 5 digits) of the address. Required if 'country' is 'US'.", + "description": "Zip code (First 5 digits) of the address. Required if 'countryCode' is 'US'.", "type": "string", "pattern": "^\\d{5}?$", "example": "12345" @@ -14588,11 +14542,7 @@ "application/json": { "example": { "data": { -<<<<<<< HEAD - "id": "691c0d73-fbca-42a3-b7ea-2ec07294265d", -======= - "id": "3a88e584-45ee-4ad1-9962-b264cb4d217a", ->>>>>>> master + "id": "c7cfb021-7b7b-4a91-b2cf-024934a8ac20", "type": "organization", "attributes": { "code": "083", @@ -14889,14 +14839,8 @@ "required": [ "addressLine1", "city", -<<<<<<< HEAD - "country", - "stateCode" -======= - "countryCode", "stateCode", - "zipCode" ->>>>>>> master + "countryCode" ], "properties": { "addressLine1": { @@ -15588,12 +15532,7 @@ "addressLine1", "city", "stateCode", -<<<<<<< HEAD - "country" -======= - "countryCode", - "zipCode" ->>>>>>> master + "countryCode" ], "properties": { "addressLine1": { @@ -15625,7 +15564,7 @@ "example": "US" }, "zipCode": { - "description": "Zip code (First 5 digits) of the address. Required if 'country' is 'US'.", + "description": "Zip code (First 5 digits) of the address. Required if 'countryCode' is 'US'.", "type": "string", "pattern": "^\\d{5}?$", "example": "12345" @@ -15720,7 +15659,7 @@ "example": "USA" }, "zipCode": { - "description": "Zip code (First 5 digits) of the address. Required if 'country' is 'US'.", + "description": "Zip code (First 5 digits) of the address. Required if 'countryCode' is 'US'.", "type": "string", "pattern": "^\\d{5}?$", "example": "12345" @@ -15840,7 +15779,7 @@ "example": "US" }, "zipCode": { - "description": "Zip code (First 5 digits) of the address. Required if 'country' is 'US'.", + "description": "Zip code (First 5 digits) of the address. Required if 'countryCode' is 'US'.", "type": "string", "pattern": "^\\d{5}?$", "example": "12345" @@ -16261,14 +16200,8 @@ "required": [ "addressLine1", "city", -<<<<<<< HEAD - "country", - "stateCode" -======= - "countryCode", "stateCode", - "zipCode" ->>>>>>> master + "countryCode" ], "properties": { "addressLine1": { @@ -16609,17 +16542,10 @@ "application/json": { "example": { "data": { -<<<<<<< HEAD - "id": "fb64434b-9a0e-4114-af2a-5d8b2cba7764", - "type": "claimsApiPowerOfAttorneys", - "attributes": { - "dateRequestAccepted": "2024-12-03", -======= - "id": "416b5707-375e-4a71-97e2-956f04632c68", + "id": "34a8cdf8-94f2-4d46-947b-622130582b45", "type": "claimsApiPowerOfAttorneys", "attributes": { - "dateRequestAccepted": "2024-12-02", ->>>>>>> master + "dateRequestAccepted": "2024-12-04", "previousPoa": null, "representative": { "serviceOrganization": { From cabc78934041de80472ed1105d99ef02e8925aa1 Mon Sep 17 00:00:00 2001 From: rockwellwindsor-va Date: Wed, 4 Dec 2024 10:27:46 -0600 Subject: [PATCH 7/7] Removes unessecary comment held over --- .../concerns/claims_api/v2/power_of_attorney_validation.rb | 2 -- 1 file changed, 2 deletions(-) diff --git a/modules/claims_api/app/controllers/concerns/claims_api/v2/power_of_attorney_validation.rb b/modules/claims_api/app/controllers/concerns/claims_api/v2/power_of_attorney_validation.rb index 8bea90ac4a7..06f0b3aed31 100644 --- a/modules/claims_api/app/controllers/concerns/claims_api/v2/power_of_attorney_validation.rb +++ b/modules/claims_api/app/controllers/concerns/claims_api/v2/power_of_attorney_validation.rb @@ -41,8 +41,6 @@ def build_dependent_claimant_verification_service(veteran_participant_id:, user_ poa_code:) end - # the Claimant object is already being validatated below, - # so that code has been adjusted and it is being left out of this workflow def validate_non_claimant_address_values %w[veteran representative].each do |base| address = form_attributes.dig(base, 'address')