From 859632d7f80761fa11c8249a3db08139a7102383 Mon Sep 17 00:00:00 2001 From: Tai Wilkin <21046714+TaiWilkin@users.noreply.github.com> Date: Fri, 21 Feb 2025 12:22:36 -0500 Subject: [PATCH 1/2] Handle new Location of Death format --- .../burials/lib/pdf_fill/forms/va21p530ez.rb | 9 +++++--- .../pdf_fill/21P-530EZ/kitchen_sink.json | 3 ++- .../pdf_fill/21P-530EZ/kitchen_sink.pdf | Bin 543952 -> 554742 bytes .../pdf_fill/21P-530EZ/merge_fields.json | 6 +++--- .../lib/pdf_fill/forms/va21p530ez_spec.rb | 20 ++++++++++++++++++ 5 files changed, 31 insertions(+), 7 deletions(-) diff --git a/modules/burials/lib/pdf_fill/forms/va21p530ez.rb b/modules/burials/lib/pdf_fill/forms/va21p530ez.rb index a32b0ba9b93..ddc4333144a 100644 --- a/modules/burials/lib/pdf_fill/forms/va21p530ez.rb +++ b/modules/burials/lib/pdf_fill/forms/va21p530ez.rb @@ -638,12 +638,15 @@ def convert_location_of_death location_of_death = @form_data['locationOfDeath'] return if location_of_death.blank? - if location_of_death[location_of_death['location']].present? && location_of_death['location'] != 'other' - options = location_of_death[location_of_death['location']] + location = location_of_death['location'] + options = location_of_death[location] || @form_data[location] + if options.present? && location != 'other' location_of_death['placeAndLocation'] = "#{options['facilityName']} - #{options['facilityLocation']}" end - location_of_death['location'] = 'nursingHomeUnpaid' if location_of_death['location'] == 'atHome' + @form_data.delete(location) + + location_of_death['location'] = 'nursingHomeUnpaid' if location == 'atHome' expand_checkbox_as_hash(@form_data['locationOfDeath'], 'location') end diff --git a/modules/burials/spec/fixtures/pdf_fill/21P-530EZ/kitchen_sink.json b/modules/burials/spec/fixtures/pdf_fill/21P-530EZ/kitchen_sink.json index a8acc216626..2304e30a18a 100644 --- a/modules/burials/spec/fixtures/pdf_fill/21P-530EZ/kitchen_sink.json +++ b/modules/burials/spec/fixtures/pdf_fill/21P-530EZ/kitchen_sink.json @@ -39,7 +39,8 @@ "placeOfSeparation":"placeofentry56", "rank":"gradeofentry56", "unit":"unit"}], - "locationOfDeath":{"location":"other", "other":"other place"}, + "locationOfDeath":{"location":"nursingHomePaid"}, + "nursingHomePaid":{"facilityName":"Best Nursing Home","facilityLocation":"portland, ME"}, "deathDate":"2024-01-01", "burialDate":"2024-01-02", "veteranFullName":{"first":"veteran", "middle":"middle", "last":"lastname", "suffix":"Jr."}, diff --git a/modules/burials/spec/fixtures/pdf_fill/21P-530EZ/kitchen_sink.pdf b/modules/burials/spec/fixtures/pdf_fill/21P-530EZ/kitchen_sink.pdf index e90c7fbfee54727a64296aa8cddedbd4408ee738..2aac41743e57c1d7f6738a995a353bc8dc8fe112 100644 GIT binary patch delta 9817 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 diff --git a/modules/burials/spec/fixtures/pdf_fill/21P-530EZ/merge_fields.json b/modules/burials/spec/fixtures/pdf_fill/21P-530EZ/merge_fields.json index db95291b46f..2583752fe27 100644 --- a/modules/burials/spec/fixtures/pdf_fill/21P-530EZ/merge_fields.json +++ b/modules/burials/spec/fixtures/pdf_fill/21P-530EZ/merge_fields.json @@ -54,9 +54,9 @@ ], "locationOfDeath": { - "location":"other", - "other":"other place", - "checkbox":{"other":"On"} + "location":"nursingHomePaid", + "placeAndLocation": "Best Nursing Home - portland, ME", + "checkbox":{"nursingHomePaid":"On"} }, "deathDate":{"month":"01", "day":"01", "year":"2024"}, "burialDate":{"month":"01", "day":"02", "year":"2024"}, diff --git a/modules/burials/spec/lib/pdf_fill/forms/va21p530ez_spec.rb b/modules/burials/spec/lib/pdf_fill/forms/va21p530ez_spec.rb index 092e0ca16b1..c03cce41921 100644 --- a/modules/burials/spec/lib/pdf_fill/forms/va21p530ez_spec.rb +++ b/modules/burials/spec/lib/pdf_fill/forms/va21p530ez_spec.rb @@ -100,6 +100,26 @@ def class_form_data end end + context 'with a regular location of death in new format' do + let(:form_data) do + { + 'locationOfDeath' => { + 'location' => 'nursingHomeUnpaid' + }, + 'nursingHomeUnpaid' => { + 'facilityName' => 'facility name', + 'facilityLocation' => 'Washington, DC' + } + } + end + + it 'returns the directly mapped location' do + subject + expect(class_form_data['locationOfDeath']['checkbox']).to eq({ 'nursingHomeUnpaid' => 'On' }) + expect(class_form_data['locationOfDeath']['placeAndLocation']).to eq('facility name - Washington, DC') + end + end + context 'with a location needed for translation' do let(:form_data) do { From 4b452abadec8d00b16b9bcbb9680ea874d074758 Mon Sep 17 00:00:00 2001 From: Tai Wilkin <21046714+TaiWilkin@users.noreply.github.com> Date: Fri, 21 Feb 2025 13:28:44 -0500 Subject: [PATCH 2/2] Update vets-json-schema --- Gemfile.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index bca4abc058a..5a27db4d6d3 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -74,10 +74,10 @@ GIT GIT remote: https://github.com/department-of-veterans-affairs/vets-json-schema - revision: bdd9c4e3b6fd786798b3254be7af341add314722 + revision: 34b767b6cf27abc7f33213abbfcb13238afd58de branch: master specs: - vets_json_schema (24.7.5) + vets_json_schema (24.8.1) multi_json (~> 1.0) script_utils (= 0.0.4)