From d8f5ee617280e3e03da56a2f1661971785d55a6b Mon Sep 17 00:00:00 2001 From: Austin Covrig Date: Wed, 31 May 2023 10:43:31 -0400 Subject: [PATCH 01/11] Add evss container mapper --- .../disability_compensation_controller.rb | 9 ++- .../v2/disability_compensation_evss_mapper.rb | 59 +++++++++++++++++++ modules/claims_api/lib/evss_service/base.rb | 4 +- 3 files changed, 69 insertions(+), 3 deletions(-) create mode 100644 modules/claims_api/lib/claims_api/v2/disability_compensation_evss_mapper.rb diff --git a/modules/claims_api/app/controllers/claims_api/v2/veterans/disability_compensation_controller.rb b/modules/claims_api/app/controllers/claims_api/v2/veterans/disability_compensation_controller.rb index 2a5bdcf96f2..8a699651138 100644 --- a/modules/claims_api/app/controllers/claims_api/v2/veterans/disability_compensation_controller.rb +++ b/modules/claims_api/app/controllers/claims_api/v2/veterans/disability_compensation_controller.rb @@ -4,6 +4,7 @@ require 'jsonapi/parser' require 'claims_api/v2/disability_compensation_validation' require 'claims_api/v2/disability_compensation_pdf_mapper' +require 'claims_api/v2/disability_compensation_evss_mapper' require 'evss_service/base' module ClaimsApi @@ -27,7 +28,9 @@ def submit pdf_data = get_pdf_data pdf_mapper_service(form_attributes, pdf_data).map_claim - # evss_service.submit(auto_claim) + + evss_data = evss_mapper_service(auto_claim).map_claim + evss_service.submit(auto_claim, evss_data) render json: auto_claim end @@ -42,6 +45,10 @@ def pdf_mapper_service(auto_claim, pdf_data) ClaimsApi::V2::DisabilityCompensationPdfMapper.new(auto_claim, pdf_data) end + def evss_mapper_service(auto_claim) + ClaimsApi::V2::DisabilityCompensationEvssMapper.new(auto_claim) + end + def get_pdf_data { data: { diff --git a/modules/claims_api/lib/claims_api/v2/disability_compensation_evss_mapper.rb b/modules/claims_api/lib/claims_api/v2/disability_compensation_evss_mapper.rb new file mode 100644 index 00000000000..c1f0f7ec853 --- /dev/null +++ b/modules/claims_api/lib/claims_api/v2/disability_compensation_evss_mapper.rb @@ -0,0 +1,59 @@ +# frozen_string_literal: true + +module ClaimsApi + module V2 + class DisabilityCompensationEvssMapper + def initialize(auto_claim) + @auto_claim = auto_claim + @data = auto_claim&.form_data&.deep_symbolize_keys + @evss_claim = {} + end + + def map_claim + claim_attributes + + @evss_claim + end + + private + + def claim_attributes + @evss_claim[:claimantCertification] = @data[:claimantCertification] + currentMailingAddress + disabilities + end + + def currentMailingAddress + addr = @data.dig(:veteranIdentification, :mailingAddress) || {} + @evss_claim[:veteran] ||= {} + @evss_claim[:veteran][:currentMailingAddress] = { + addressLine1: addr[:numberAndStreet], + addressLines2: addr[:apartmentOrUnitNumber], + city: addr[:city], + country: addr[:country], + zipFirstFive: addr[:zipFirstFive], + zipLastFour: addr[:zipLastFour], + state: addr[:state], + } + @evss_claim[:veteran][:emailAddress] = @data.dig(:veteranIdentification, :emailAddress, :email) + @evss_claim[:veteran][:fileNumber] = @data.dig(:veteranIdentification, :vaFileNumber) + end + + def disabilities + @evss_claim[:disabilities] = @data[:disabilities].map do |disability| + disability[:approximateBeginDate] = disability[:approximateDate] + disability[:secondaryDisabilities] = disability[:secondaryDisabilities].map do |secondary| + secondary[:approximateBeginDate] = secondary[:approximateDate] + secondary.except(:exposureOrEventOrInjury, :approximateDate) + end + + if disability[:isRelatedToToxicExposure] + disability[:specialIssues] = 'PACT' + end + + disability.except(:approximateDate, :isRelatedToToxicExposure) + end + end + end + end +end diff --git a/modules/claims_api/lib/evss_service/base.rb b/modules/claims_api/lib/evss_service/base.rb index c41fc06cea6..d0f72ad111a 100644 --- a/modules/claims_api/lib/evss_service/base.rb +++ b/modules/claims_api/lib/evss_service/base.rb @@ -15,10 +15,10 @@ def initialize(request = nil) @auth_headers = {} end - def submit(claim) + def submit(claim, data) @auth_headers = claim.auth_headers - client.post('submit', body: claim.form_data).body + client.post('submit', body: data).body end private From 4aac01edf5ccd242e8ead061aa7f4332b0f530f2 Mon Sep 17 00:00:00 2001 From: Austin Covrig Date: Wed, 31 May 2023 17:13:06 -0400 Subject: [PATCH 02/11] Update mapper a little Add serviceInformation Map date --- .../v2/disability_compensation_evss_mapper.rb | 32 +++++++++++++++++-- modules/claims_api/lib/evss_service/base.rb | 2 +- 2 files changed, 30 insertions(+), 4 deletions(-) diff --git a/modules/claims_api/lib/claims_api/v2/disability_compensation_evss_mapper.rb b/modules/claims_api/lib/claims_api/v2/disability_compensation_evss_mapper.rb index c1f0f7ec853..819ba7d734d 100644 --- a/modules/claims_api/lib/claims_api/v2/disability_compensation_evss_mapper.rb +++ b/modules/claims_api/lib/claims_api/v2/disability_compensation_evss_mapper.rb @@ -11,8 +11,9 @@ def initialize(auto_claim) def map_claim claim_attributes + application_expiration_date - @evss_claim + { form526: @evss_claim } end private @@ -21,6 +22,10 @@ def claim_attributes @evss_claim[:claimantCertification] = @data[:claimantCertification] currentMailingAddress disabilities + service_information + + def application_expiration_date + @evss_claim[:applicationExpirationDate] = Date.today + 1.year end def currentMailingAddress @@ -41,9 +46,9 @@ def currentMailingAddress def disabilities @evss_claim[:disabilities] = @data[:disabilities].map do |disability| - disability[:approximateBeginDate] = disability[:approximateDate] + disability[:approximateBeginDate] = map_date_to_obj disability[:approximateDate] disability[:secondaryDisabilities] = disability[:secondaryDisabilities].map do |secondary| - secondary[:approximateBeginDate] = secondary[:approximateDate] + secondary[:approximateBeginDate] = map_date_to_obj secondary[:approximateDate] secondary.except(:exposureOrEventOrInjury, :approximateDate) end @@ -54,6 +59,27 @@ def disabilities disability.except(:approximateDate, :isRelatedToToxicExposure) end end + + def service_information + info = @data[:serviceInformation] + @evss_claim[:serviceInformation] = { + servicePeriods: info[:servicePeriods], + reservesNationalGuardService: { + obligationTermOfServiceFromDate: info[:reservesNationalGuardService][:obligationTermsOfService][:startDate], + obligationTermOfServiceToDate: info[:reservesNationalGuardService][:obligationTermsOfService][:endDate], + unitName: info[:reservesNationalGuardService][:unitName], + } + } + end + + def map_date_to_obj(date) + date = if date.is_a? Date + date + else + DateTime.parse(date) + end + { year: date.year, month: date.month, day: date.day } + end end end end diff --git a/modules/claims_api/lib/evss_service/base.rb b/modules/claims_api/lib/evss_service/base.rb index d0f72ad111a..eb16f03c9a1 100644 --- a/modules/claims_api/lib/evss_service/base.rb +++ b/modules/claims_api/lib/evss_service/base.rb @@ -18,7 +18,7 @@ def initialize(request = nil) def submit(claim, data) @auth_headers = claim.auth_headers - client.post('submit', body: data).body + client.post('submit', data).body end private From b68efbc86f3b97d8a84b95e02be004ef4dc10c2d Mon Sep 17 00:00:00 2001 From: Austin Covrig Date: Wed, 31 May 2023 23:34:02 -0400 Subject: [PATCH 03/11] Small refactor and add specs And 3 open questions --- .../disability_compensation_controller.rb | 1 - .../v2/disability_compensation_evss_mapper.rb | 86 ++++++++++++----- ...isability_compensation_evss_mapper_spec.rb | 94 +++++++++++++++++++ 3 files changed, 155 insertions(+), 26 deletions(-) create mode 100644 modules/claims_api/spec/lib/claims_api/v2/disability_compensation_evss_mapper_spec.rb diff --git a/modules/claims_api/app/controllers/claims_api/v2/veterans/disability_compensation_controller.rb b/modules/claims_api/app/controllers/claims_api/v2/veterans/disability_compensation_controller.rb index 8a699651138..a7884eb0b5d 100644 --- a/modules/claims_api/app/controllers/claims_api/v2/veterans/disability_compensation_controller.rb +++ b/modules/claims_api/app/controllers/claims_api/v2/veterans/disability_compensation_controller.rb @@ -28,7 +28,6 @@ def submit pdf_data = get_pdf_data pdf_mapper_service(form_attributes, pdf_data).map_claim - evss_data = evss_mapper_service(auto_claim).map_claim evss_service.submit(auto_claim, evss_data) diff --git a/modules/claims_api/lib/claims_api/v2/disability_compensation_evss_mapper.rb b/modules/claims_api/lib/claims_api/v2/disability_compensation_evss_mapper.rb index 819ba7d734d..cb97883b8fa 100644 --- a/modules/claims_api/lib/claims_api/v2/disability_compensation_evss_mapper.rb +++ b/modules/claims_api/lib/claims_api/v2/disability_compensation_evss_mapper.rb @@ -11,7 +11,7 @@ def initialize(auto_claim) def map_claim claim_attributes - application_expiration_date + claim_meta { form526: @evss_claim } end @@ -19,29 +19,50 @@ def map_claim private def claim_attributes - @evss_claim[:claimantCertification] = @data[:claimantCertification] - currentMailingAddress + change_of_address + current_mailing_address + direct_deposit disabilities service_information + standard_claim + veteran_meta + end + + def change_of_address + return if @data[:changeOfAddress].blank? - def application_expiration_date - @evss_claim[:applicationExpirationDate] = Date.today + 1.year + @evss_claim[:veteran] ||= {} + @evss_claim[:veteran][:changeOfAddress] = @data[:changeOfAddress] + @evss_claim[:veteran][:changeOfAddress].merge!({ + addressLine1: @data[:changeOfAddress][:numberAndStreet], + addressLines2: @data[:changeOfAddress][:apartmentOrUnitNumber], + type: 'DOMESTIC' # [MILITARY, INTERNATIONAL] # TODO, find this + }) + @evss_claim[:veteran][:changeOfAddress][:addressChangeType] = @data.dig(:changeOfAddress, :typeOfAddressChange) + @evss_claim[:veteran][:changeOfAddress][:beginningDate] = @data.dig(:changeOfAddress, :dates, :beginningDate) + @evss_claim[:veteran][:changeOfAddress][:endingDate] = @data.dig(:changeOfAddress, :dates, :endingDate) + @evss_claim[:veteran][:changeOfAddress].except!(:numberAndStreet, :apartmentOrUnitNumber, :typeOfAddressChange, + :dates) end - def currentMailingAddress + def current_mailing_address addr = @data.dig(:veteranIdentification, :mailingAddress) || {} @evss_claim[:veteran] ||= {} - @evss_claim[:veteran][:currentMailingAddress] = { - addressLine1: addr[:numberAndStreet], - addressLines2: addr[:apartmentOrUnitNumber], - city: addr[:city], - country: addr[:country], - zipFirstFive: addr[:zipFirstFive], - zipLastFour: addr[:zipLastFour], - state: addr[:state], - } - @evss_claim[:veteran][:emailAddress] = @data.dig(:veteranIdentification, :emailAddress, :email) - @evss_claim[:veteran][:fileNumber] = @data.dig(:veteranIdentification, :vaFileNumber) + @evss_claim[:veteran][:currentMailingAddress] = addr + @evss_claim[:veteran][:currentMailingAddress].merge!({ + addressLine1: addr[:numberAndStreet], + addressLines2: addr[:apartmentOrUnitNumber], + type: 'DOMESTIC' # [MILITARY, INTERNATIONAL] # TODO, find this + }) + @evss_claim[:veteran][:currentMailingAddress].except!(:numberAndStreet, :apartmentOrUnitNumber) + end + + def direct_deposit + return if @data[:directDeposit].empty? + + @evss_claim[:directDeposit] = @data[:directDeposit] + @evss_claim[:directDeposit][:bankName] = @data[:directDeposit][:financialInstitutionName] + @evss_claim[:directDeposit].except!(:financialInstitutionName, :noAccount) end def disabilities @@ -52,9 +73,7 @@ def disabilities secondary.except(:exposureOrEventOrInjury, :approximateDate) end - if disability[:isRelatedToToxicExposure] - disability[:specialIssues] = 'PACT' - end + disability[:specialIssues] = 'PACT' if disability[:isRelatedToToxicExposure] disability.except(:approximateDate, :isRelatedToToxicExposure) end @@ -67,17 +86,34 @@ def service_information reservesNationalGuardService: { obligationTermOfServiceFromDate: info[:reservesNationalGuardService][:obligationTermsOfService][:startDate], obligationTermOfServiceToDate: info[:reservesNationalGuardService][:obligationTermsOfService][:endDate], - unitName: info[:reservesNationalGuardService][:unitName], + unitName: info[:reservesNationalGuardService][:unitName] } } end + def standard_claim + @evss_claim[:standardClaim] = @data[:claimProcessType] == 'STANDARD_CLAIM_PROCESS' # TODO: confirm this + end + + def claim_meta + @evss_claim[:applicationExpirationDate] = Time.zone.today + 1.year + @evss_claim[:claimantCertification] = @data[:claimantCertification] + @evss_claim[:submtrApplcnTypeCd] = 'LH-B' + end + + def veteran_meta + @evss_claim[:veteran] ||= {} + @evss_claim[:veteran][:currentlyVAEmployee] = @data.dig(:veteranIdentification, :currentlyVaEmployee) + @evss_claim[:veteran][:emailAddress] = @data.dig(:veteranIdentification, :emailAddress, :email) + @evss_claim[:veteran][:fileNumber] = @data.dig(:veteranIdentification, :vaFileNumber) + end + def map_date_to_obj(date) date = if date.is_a? Date - date - else - DateTime.parse(date) - end + date + else + DateTime.parse(date) + end { year: date.year, month: date.month, day: date.day } end end diff --git a/modules/claims_api/spec/lib/claims_api/v2/disability_compensation_evss_mapper_spec.rb b/modules/claims_api/spec/lib/claims_api/v2/disability_compensation_evss_mapper_spec.rb new file mode 100644 index 00000000000..77b2cffb095 --- /dev/null +++ b/modules/claims_api/spec/lib/claims_api/v2/disability_compensation_evss_mapper_spec.rb @@ -0,0 +1,94 @@ +# frozen_string_literal: true + +require 'rails_helper' +require 'claims_api/v2/disability_compensation_evss_mapper' + +describe ClaimsApi::V2::DisabilityCompensationEvssMapper do + describe '526 claim maps to the evss container' do + let(:form_data) do + JSON.parse( + Rails.root.join( + 'modules', + 'claims_api', + 'spec', + 'fixtures', + 'v2', + 'veterans', + 'disability_compensation', + 'form_526_json_api.json' + ).read + ) + end + let(:auto_claim) do + create(:auto_established_claim, form_data: form_data['data']['attributes']) + end + let(:evss_data) { ClaimsApi::V2::DisabilityCompensationEvssMapper.new(auto_claim).map_claim[:form526] } + + context '526 section 0' do + it 'maps the cert correctly' do + expect(evss_data[:claimantCertification]).to be true + end + end + + context '526 section 1' do + it 'maps the mailing address' do + addr = evss_data[:veteran][:currentMailingAddress] + expect(addr[:addressLine1]).to eq('1234 Couch Street') + expect(addr[:city]).to eq('Portland') + expect(addr[:country]).to eq('USA') + expect(addr[:zipFirstFive]).to eq('41726') + expect(addr[:state]).to eq('OR') + end + + it 'maps the other veteran info' do + expect(evss_data[:veteran][:fileNumber]).to eq('AB123CDEF') + expect(evss_data[:veteran][:currentlyVAEmployee]).to eq(false) + expect(evss_data[:veteran][:emailAddress]).to eq('valid@somedomain.com') + end + end + + context '526 section 2, change of address' do + it 'maps the dates' do + addr = evss_data[:veteran][:changeOfAddress] + expect(addr[:beginningDate]).to eq('2012-11-31') + expect(addr[:endingDate]).to eq('2013-10-11') + expect(addr[:addressChangeType]).to eq('TEMPORARY') + expect(addr[:addressLine1]).to eq('10 Peach St') + expect(addr[:addressLines2]).to eq('Apt 1') + expect(addr[:city]).to eq('Atlanta') + expect(addr[:country]).to eq('USA') + expect(addr[:zipFirstFive]).to eq('42220') + expect(addr[:state]).to eq('GA') + end + end + + context '526 section 4, toxic exposure' do + it 'maps the attributes correctly' do + expect(evss_data[:disabilities][0][:specialIssues]).to eq('PACT') + end + end + + context '526 section 5, claim info: disabilities' do + it 'maps the attributes correctly' do + disability = evss_data[:disabilities][0] + secondary = disability[:secondaryDisabilities][0] + + expect(disability[:disabilityActionType]).to eq('REOPEN') + expect(disability[:name]).to eq('PTSD (post traumatic stress disorder)') + expect(disability[:classificationCode]).to eq('ABCDEFGHIJ') + expect(disability[:serviceRelevance]).to eq('ABCDEFG') + expect(disability[:ratedDisabilityId]).to eq('ABCDEFGHIJKLMNOPQRSTUVWX') + expect(disability[:diagnosticCode]).to eq(0) + expect(disability[:exposureOrEventOrInjury]).to eq('EXPOSURE') + expect(disability[:approximateBeginDate]).to eq({ year: 4592, month: 11, day: 4 }) + expect(disability[:specialIssues]).to eq('PACT') + + expect(secondary[:name]).to eq('ABCDEF') + expect(secondary[:disabilityActionType]).to eq('SECONDARY') + expect(secondary[:serviceRelevance]).to eq('ABCDEFGHIJKLMNOPQ') + expect(secondary[:classificationCode]).to eq('ABCDEFGHIJKLMNO') + expect(secondary[:approximateBeginDate]).to eq({ year: 9904, month: 1, day: 3 }) + end + end + end +end From e522c592e7023f07b3344207a8e35efa1629dd84 Mon Sep 17 00:00:00 2001 From: Austin Covrig Date: Mon, 5 Jun 2023 17:05:16 -0400 Subject: [PATCH 04/11] Update EVSS URL --- .../claims_api/v2/disability_compensation_evss_mapper.rb | 6 +++--- modules/claims_api/lib/evss_service/base.rb | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/modules/claims_api/lib/claims_api/v2/disability_compensation_evss_mapper.rb b/modules/claims_api/lib/claims_api/v2/disability_compensation_evss_mapper.rb index cb97883b8fa..570389b18f9 100644 --- a/modules/claims_api/lib/claims_api/v2/disability_compensation_evss_mapper.rb +++ b/modules/claims_api/lib/claims_api/v2/disability_compensation_evss_mapper.rb @@ -36,7 +36,7 @@ def change_of_address @evss_claim[:veteran][:changeOfAddress].merge!({ addressLine1: @data[:changeOfAddress][:numberAndStreet], addressLines2: @data[:changeOfAddress][:apartmentOrUnitNumber], - type: 'DOMESTIC' # [MILITARY, INTERNATIONAL] # TODO, find this + type: 'DOMESTIC' }) @evss_claim[:veteran][:changeOfAddress][:addressChangeType] = @data.dig(:changeOfAddress, :typeOfAddressChange) @evss_claim[:veteran][:changeOfAddress][:beginningDate] = @data.dig(:changeOfAddress, :dates, :beginningDate) @@ -52,7 +52,7 @@ def current_mailing_address @evss_claim[:veteran][:currentMailingAddress].merge!({ addressLine1: addr[:numberAndStreet], addressLines2: addr[:apartmentOrUnitNumber], - type: 'DOMESTIC' # [MILITARY, INTERNATIONAL] # TODO, find this + type: 'DOMESTIC' }) @evss_claim[:veteran][:currentMailingAddress].except!(:numberAndStreet, :apartmentOrUnitNumber) end @@ -92,7 +92,7 @@ def service_information end def standard_claim - @evss_claim[:standardClaim] = @data[:claimProcessType] == 'STANDARD_CLAIM_PROCESS' # TODO: confirm this + @evss_claim[:standardClaim] = @data[:claimProcessType] == 'STANDARD_CLAIM_PROCESS' end def claim_meta diff --git a/modules/claims_api/lib/evss_service/base.rb b/modules/claims_api/lib/evss_service/base.rb index eb16f03c9a1..5cbdbade771 100644 --- a/modules/claims_api/lib/evss_service/base.rb +++ b/modules/claims_api/lib/evss_service/base.rb @@ -24,7 +24,7 @@ def submit(claim, data) private def client - base_name = Settings.dvp&.url + base_name = Settings.evss&.dvp&.url service_name = Settings.evss&.service_name raise StandardError, 'DVP URL missing' if base_name.blank? From af3db661b1256817cea549590005bd34a97a9d26 Mon Sep 17 00:00:00 2001 From: Austin Covrig Date: Tue, 6 Jun 2023 11:21:26 -0400 Subject: [PATCH 05/11] Temporarily disable submit --- .../v2/veterans/disability_compensation_controller.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/claims_api/app/controllers/claims_api/v2/veterans/disability_compensation_controller.rb b/modules/claims_api/app/controllers/claims_api/v2/veterans/disability_compensation_controller.rb index a7884eb0b5d..7baa4bb924f 100644 --- a/modules/claims_api/app/controllers/claims_api/v2/veterans/disability_compensation_controller.rb +++ b/modules/claims_api/app/controllers/claims_api/v2/veterans/disability_compensation_controller.rb @@ -28,8 +28,8 @@ def submit pdf_data = get_pdf_data pdf_mapper_service(form_attributes, pdf_data).map_claim - evss_data = evss_mapper_service(auto_claim).map_claim - evss_service.submit(auto_claim, evss_data) + # evss_data = evss_mapper_service(auto_claim).map_claim + # evss_claim = evss_service.submit(auto_claim, evss_data) render json: auto_claim end From 596c7c905575d4032be3a263c3daf5dbcffd5310 Mon Sep 17 00:00:00 2001 From: Austin Covrig Date: Thu, 8 Jun 2023 10:38:53 -0400 Subject: [PATCH 06/11] Make specialIssues an array It seems PACT isn't a valid value, though... --- .../lib/claims_api/v2/disability_compensation_evss_mapper.rb | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/modules/claims_api/lib/claims_api/v2/disability_compensation_evss_mapper.rb b/modules/claims_api/lib/claims_api/v2/disability_compensation_evss_mapper.rb index 570389b18f9..78b637c8fe9 100644 --- a/modules/claims_api/lib/claims_api/v2/disability_compensation_evss_mapper.rb +++ b/modules/claims_api/lib/claims_api/v2/disability_compensation_evss_mapper.rb @@ -19,7 +19,8 @@ def map_claim private def claim_attributes - change_of_address + # commented out as it's not actually needed for a minimal payload + # change_of_address current_mailing_address direct_deposit disabilities @@ -73,7 +74,7 @@ def disabilities secondary.except(:exposureOrEventOrInjury, :approximateDate) end - disability[:specialIssues] = 'PACT' if disability[:isRelatedToToxicExposure] + disability[:specialIssues] = ['PACT'] if disability[:isRelatedToToxicExposure] disability.except(:approximateDate, :isRelatedToToxicExposure) end From 123ef310f75c111cf165cb0c72077e1c87cc383b Mon Sep 17 00:00:00 2001 From: Austin Covrig Date: Fri, 9 Jun 2023 11:38:04 -0400 Subject: [PATCH 07/11] Remove extra fields and temporarily disable PACT --- .../v2/disability_compensation_evss_mapper.rb | 5 ++- ...isability_compensation_evss_mapper_spec.rb | 40 +++++++++---------- 2 files changed, 23 insertions(+), 22 deletions(-) diff --git a/modules/claims_api/lib/claims_api/v2/disability_compensation_evss_mapper.rb b/modules/claims_api/lib/claims_api/v2/disability_compensation_evss_mapper.rb index 78b637c8fe9..fe5b4d81dfa 100644 --- a/modules/claims_api/lib/claims_api/v2/disability_compensation_evss_mapper.rb +++ b/modules/claims_api/lib/claims_api/v2/disability_compensation_evss_mapper.rb @@ -21,10 +21,10 @@ def map_claim def claim_attributes # commented out as it's not actually needed for a minimal payload # change_of_address + # service_information current_mailing_address direct_deposit disabilities - service_information standard_claim veteran_meta end @@ -74,7 +74,8 @@ def disabilities secondary.except(:exposureOrEventOrInjury, :approximateDate) end - disability[:specialIssues] = ['PACT'] if disability[:isRelatedToToxicExposure] + # TODO: uncomment this when doing https://jira.devops.va.gov/browse/API-27320 + # disability[:specialIssues] = ['PACT'] if disability[:isRelatedToToxicExposure] disability.except(:approximateDate, :isRelatedToToxicExposure) end diff --git a/modules/claims_api/spec/lib/claims_api/v2/disability_compensation_evss_mapper_spec.rb b/modules/claims_api/spec/lib/claims_api/v2/disability_compensation_evss_mapper_spec.rb index 77b2cffb095..3363aaca72c 100644 --- a/modules/claims_api/spec/lib/claims_api/v2/disability_compensation_evss_mapper_spec.rb +++ b/modules/claims_api/spec/lib/claims_api/v2/disability_compensation_evss_mapper_spec.rb @@ -47,26 +47,27 @@ end end - context '526 section 2, change of address' do - it 'maps the dates' do - addr = evss_data[:veteran][:changeOfAddress] - expect(addr[:beginningDate]).to eq('2012-11-31') - expect(addr[:endingDate]).to eq('2013-10-11') - expect(addr[:addressChangeType]).to eq('TEMPORARY') - expect(addr[:addressLine1]).to eq('10 Peach St') - expect(addr[:addressLines2]).to eq('Apt 1') - expect(addr[:city]).to eq('Atlanta') - expect(addr[:country]).to eq('USA') - expect(addr[:zipFirstFive]).to eq('42220') - expect(addr[:state]).to eq('GA') - end - end + # context '526 section 2, change of address' do + # it 'maps the dates' do + # addr = evss_data[:veteran][:changeOfAddress] + # expect(addr[:beginningDate]).to eq('2012-11-31') + # expect(addr[:endingDate]).to eq('2013-10-11') + # expect(addr[:addressChangeType]).to eq('TEMPORARY') + # expect(addr[:addressLine1]).to eq('10 Peach St') + # expect(addr[:addressLines2]).to eq('Apt 1') + # expect(addr[:city]).to eq('Atlanta') + # expect(addr[:country]).to eq('USA') + # expect(addr[:zipFirstFive]).to eq('42220') + # expect(addr[:state]).to eq('GA') + # end + # end - context '526 section 4, toxic exposure' do - it 'maps the attributes correctly' do - expect(evss_data[:disabilities][0][:specialIssues]).to eq('PACT') - end - end + # TODO: uncomment this when doing https://jira.devops.va.gov/browse/API-27320 + # context '526 section 4, toxic exposure' do + # it 'maps the attributes correctly' do + # expect(evss_data[:disabilities][0][:specialIssues]).to eq('PACT') + # end + # end context '526 section 5, claim info: disabilities' do it 'maps the attributes correctly' do @@ -81,7 +82,6 @@ expect(disability[:diagnosticCode]).to eq(0) expect(disability[:exposureOrEventOrInjury]).to eq('EXPOSURE') expect(disability[:approximateBeginDate]).to eq({ year: 4592, month: 11, day: 4 }) - expect(disability[:specialIssues]).to eq('PACT') expect(secondary[:name]).to eq('ABCDEF') expect(secondary[:disabilityActionType]).to eq('SECONDARY') From 279b5f1cf631c2af1ec1dfee6806995c0baf521b Mon Sep 17 00:00:00 2001 From: Austin Covrig Date: Fri, 9 Jun 2023 11:42:41 -0400 Subject: [PATCH 08/11] Fix classificationCode test --- .../claims_api/v2/disability_compensation_evss_mapper_spec.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/claims_api/spec/lib/claims_api/v2/disability_compensation_evss_mapper_spec.rb b/modules/claims_api/spec/lib/claims_api/v2/disability_compensation_evss_mapper_spec.rb index 3363aaca72c..b4df8476daf 100644 --- a/modules/claims_api/spec/lib/claims_api/v2/disability_compensation_evss_mapper_spec.rb +++ b/modules/claims_api/spec/lib/claims_api/v2/disability_compensation_evss_mapper_spec.rb @@ -76,7 +76,7 @@ expect(disability[:disabilityActionType]).to eq('REOPEN') expect(disability[:name]).to eq('PTSD (post traumatic stress disorder)') - expect(disability[:classificationCode]).to eq('ABCDEFGHIJ') + expect(disability[:classificationCode]).to eq('5420') expect(disability[:serviceRelevance]).to eq('ABCDEFG') expect(disability[:ratedDisabilityId]).to eq('ABCDEFGHIJKLMNOPQRSTUVWX') expect(disability[:diagnosticCode]).to eq(0) From 327994c09ba85d08d690653b1d18f018745ed8e7 Mon Sep 17 00:00:00 2001 From: Austin Covrig Date: Fri, 9 Jun 2023 12:38:44 -0400 Subject: [PATCH 09/11] Update spec --- .../v2/disability_compensation_evss_mapper_spec.rb | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/modules/claims_api/spec/lib/claims_api/v2/disability_compensation_evss_mapper_spec.rb b/modules/claims_api/spec/lib/claims_api/v2/disability_compensation_evss_mapper_spec.rb index b4df8476daf..d219e940a7f 100644 --- a/modules/claims_api/spec/lib/claims_api/v2/disability_compensation_evss_mapper_spec.rb +++ b/modules/claims_api/spec/lib/claims_api/v2/disability_compensation_evss_mapper_spec.rb @@ -79,15 +79,15 @@ expect(disability[:classificationCode]).to eq('5420') expect(disability[:serviceRelevance]).to eq('ABCDEFG') expect(disability[:ratedDisabilityId]).to eq('ABCDEFGHIJKLMNOPQRSTUVWX') - expect(disability[:diagnosticCode]).to eq(0) + expect(disability[:diagnosticCode]).to eq(9999) expect(disability[:exposureOrEventOrInjury]).to eq('EXPOSURE') - expect(disability[:approximateBeginDate]).to eq({ year: 4592, month: 11, day: 4 }) + expect(disability[:approximateBeginDate]).to eq({ year: 2018, month: 11, day: 3 }) - expect(secondary[:name]).to eq('ABCDEF') + expect(secondary[:name]).to eq('Cancer - Musculoskeletal - Elbow') expect(secondary[:disabilityActionType]).to eq('SECONDARY') expect(secondary[:serviceRelevance]).to eq('ABCDEFGHIJKLMNOPQ') - expect(secondary[:classificationCode]).to eq('ABCDEFGHIJKLMNO') - expect(secondary[:approximateBeginDate]).to eq({ year: 9904, month: 1, day: 3 }) + expect(secondary[:classificationCode]).to eq('249470') + expect(secondary[:approximateBeginDate]).to eq({ year: 2018, month: 12, day: 3 }) end end end From 7f442849ac7817512d4d7db91b6c7d3cb4668baa Mon Sep 17 00:00:00 2001 From: Austin Covrig Date: Tue, 13 Jun 2023 10:39:01 -0400 Subject: [PATCH 10/11] Remove extra mapping (and enable serviceInfo) --- .../v2/disability_compensation_evss_mapper.rb | 21 +------------------ 1 file changed, 1 insertion(+), 20 deletions(-) diff --git a/modules/claims_api/lib/claims_api/v2/disability_compensation_evss_mapper.rb b/modules/claims_api/lib/claims_api/v2/disability_compensation_evss_mapper.rb index fe5b4d81dfa..c45a2585ba5 100644 --- a/modules/claims_api/lib/claims_api/v2/disability_compensation_evss_mapper.rb +++ b/modules/claims_api/lib/claims_api/v2/disability_compensation_evss_mapper.rb @@ -19,9 +19,7 @@ def map_claim private def claim_attributes - # commented out as it's not actually needed for a minimal payload - # change_of_address - # service_information + service_information current_mailing_address direct_deposit disabilities @@ -29,23 +27,6 @@ def claim_attributes veteran_meta end - def change_of_address - return if @data[:changeOfAddress].blank? - - @evss_claim[:veteran] ||= {} - @evss_claim[:veteran][:changeOfAddress] = @data[:changeOfAddress] - @evss_claim[:veteran][:changeOfAddress].merge!({ - addressLine1: @data[:changeOfAddress][:numberAndStreet], - addressLines2: @data[:changeOfAddress][:apartmentOrUnitNumber], - type: 'DOMESTIC' - }) - @evss_claim[:veteran][:changeOfAddress][:addressChangeType] = @data.dig(:changeOfAddress, :typeOfAddressChange) - @evss_claim[:veteran][:changeOfAddress][:beginningDate] = @data.dig(:changeOfAddress, :dates, :beginningDate) - @evss_claim[:veteran][:changeOfAddress][:endingDate] = @data.dig(:changeOfAddress, :dates, :endingDate) - @evss_claim[:veteran][:changeOfAddress].except!(:numberAndStreet, :apartmentOrUnitNumber, :typeOfAddressChange, - :dates) - end - def current_mailing_address addr = @data.dig(:veteranIdentification, :mailingAddress) || {} @evss_claim[:veteran] ||= {} From 5075d65124d497492bb6747a639355e72beaa4f9 Mon Sep 17 00:00:00 2001 From: Austin Covrig Date: Tue, 13 Jun 2023 10:56:48 -0400 Subject: [PATCH 11/11] Remove extra comments (for other ticket) --- .../v2/disability_compensation_evss_mapper.rb | 3 --- ...isability_compensation_evss_mapper_spec.rb | 22 ------------------- 2 files changed, 25 deletions(-) diff --git a/modules/claims_api/lib/claims_api/v2/disability_compensation_evss_mapper.rb b/modules/claims_api/lib/claims_api/v2/disability_compensation_evss_mapper.rb index c45a2585ba5..ece8528df86 100644 --- a/modules/claims_api/lib/claims_api/v2/disability_compensation_evss_mapper.rb +++ b/modules/claims_api/lib/claims_api/v2/disability_compensation_evss_mapper.rb @@ -55,9 +55,6 @@ def disabilities secondary.except(:exposureOrEventOrInjury, :approximateDate) end - # TODO: uncomment this when doing https://jira.devops.va.gov/browse/API-27320 - # disability[:specialIssues] = ['PACT'] if disability[:isRelatedToToxicExposure] - disability.except(:approximateDate, :isRelatedToToxicExposure) end end diff --git a/modules/claims_api/spec/lib/claims_api/v2/disability_compensation_evss_mapper_spec.rb b/modules/claims_api/spec/lib/claims_api/v2/disability_compensation_evss_mapper_spec.rb index d219e940a7f..c6140702a64 100644 --- a/modules/claims_api/spec/lib/claims_api/v2/disability_compensation_evss_mapper_spec.rb +++ b/modules/claims_api/spec/lib/claims_api/v2/disability_compensation_evss_mapper_spec.rb @@ -47,28 +47,6 @@ end end - # context '526 section 2, change of address' do - # it 'maps the dates' do - # addr = evss_data[:veteran][:changeOfAddress] - # expect(addr[:beginningDate]).to eq('2012-11-31') - # expect(addr[:endingDate]).to eq('2013-10-11') - # expect(addr[:addressChangeType]).to eq('TEMPORARY') - # expect(addr[:addressLine1]).to eq('10 Peach St') - # expect(addr[:addressLines2]).to eq('Apt 1') - # expect(addr[:city]).to eq('Atlanta') - # expect(addr[:country]).to eq('USA') - # expect(addr[:zipFirstFive]).to eq('42220') - # expect(addr[:state]).to eq('GA') - # end - # end - - # TODO: uncomment this when doing https://jira.devops.va.gov/browse/API-27320 - # context '526 section 4, toxic exposure' do - # it 'maps the attributes correctly' do - # expect(evss_data[:disabilities][0][:specialIssues]).to eq('PACT') - # end - # end - context '526 section 5, claim info: disabilities' do it 'maps the attributes correctly' do disability = evss_data[:disabilities][0]