Class: EVSS::DisabilityCompensationForm::Form526ToLighthouseTransform
- Inherits:
-
Object
- Object
- EVSS::DisabilityCompensationForm::Form526ToLighthouseTransform
- Defined in:
- lib/evss/disability_compensation_form/form526_to_lighthouse_transform.rb
Instance Method Summary collapse
-
#evss_claims_process_type(form526) ⇒ Object
returns “STANDARD_CLAIM_PROCESS”, “BDD_PROGRAM”, or “FDC_PROGRAM” based off of a few attributes in the evss data.
-
#transform(evss_data) ⇒ Object
takes known EVSS Form526Submission format and converts it to a Lighthouse request body evss_data will look like JSON.parse(form526_submission.form_data).
- #transform_change_of_address(veteran) ⇒ Object
- #transform_homeless(veteran) ⇒ Object
- #transform_service_information(service_information_source) ⇒ Object
-
#transform_service_pay(service_pay_source) ⇒ Object
Transforms EVSS service pay format into Lighthouse request service pay block format.
-
#transform_treatments(treatments_source) ⇒ Object
Transforms EVSS treatments format into Lighthouse request treatments block format.
- #transform_veteran(veteran) ⇒ Object
Instance Method Details
#evss_claims_process_type(form526) ⇒ Object
returns “STANDARD_CLAIM_PROCESS”, “BDD_PROGRAM”, or “FDC_PROGRAM” based off of a few attributes in the evss data
41 42 43 44 45 46 47 48 49 |
# File 'lib/evss/disability_compensation_form/form526_to_lighthouse_transform.rb', line 41 def evss_claims_process_type(form526) if form526['bddQualified'] return 'BDD_PROGRAM' elsif form526['standardClaim'] return 'STANDARD_CLAIM_PROCESS' end 'FDC_PROGRAM' end |
#transform(evss_data) ⇒ Object
takes known EVSS Form526Submission format and converts it to a Lighthouse request body evss_data will look like JSON.parse(form526_submission.form_data)
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/evss/disability_compensation_form/form526_to_lighthouse_transform.rb', line 10 def transform(evss_data) form526 = evss_data['form526'] lh_request_body = Requests::Form526.new lh_request_body.claimant_certification = true lh_request_body.claim_process_type = evss_claims_process_type(form526) # basic_info[:claim_process_type] veteran = form526['veteran'] lh_request_body.veteran_identification = transform_veteran(veteran) lh_request_body.change_of_address = transform_change_of_address(veteran) if veteran['changeOfAddress'].present? lh_request_body.homeless = transform_homeless(veteran) if veteran['homelessness'].present? service_information = form526['serviceInformation'] lh_request_body.service_information = transform_service_information(service_information) disabilities = form526['disabilities'] lh_request_body.disabilities = transform_disabilities(disabilities) direct_deposit = form526['directDeposit'] lh_request_body.direct_deposit = transform_direct_deposit(direct_deposit) if direct_deposit.present? treatments = form526['treatments'] lh_request_body.treatments = transform_treatments(treatments) if treatments.present? service_pay = form526['servicePay'] lh_request_body.service_pay = transform_service_pay(service_pay) if service_pay.present? lh_request_body end |
#transform_change_of_address(veteran) ⇒ Object
66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 |
# File 'lib/evss/disability_compensation_form/form526_to_lighthouse_transform.rb', line 66 def transform_change_of_address(veteran) change_of_address = Requests::ChangeOfAddress.new change_of_address_source = veteran['changeOfAddress'] change_of_address.city = change_of_address_source['militaryPostOfficeTypeCode'] || change_of_address_source['city'] change_of_address.state = change_of_address_source['militaryStateCode'] || change_of_address_source['state'] change_of_address.country = change_of_address_source['country'] change_of_address.address_line_1 = change_of_address_source['addressLine1'] change_of_address.address_line_2 = change_of_address_source['addressLine2'] change_of_address.address_line_3 = change_of_address_source['addressLine3'] change_of_address.zip_first_five = change_of_address_source['internationalPostalCode'] || change_of_address_source['zipFirstFive'] change_of_address.zip_last_four = change_of_address_source['zipLastFour'] change_of_address.type_of_address_change = change_of_address_source['addressChangeType'] change_of_address.dates = Requests::Dates.new fill_change_of_address(change_of_address_source, change_of_address) change_of_address end |
#transform_homeless(veteran) ⇒ Object
88 89 90 91 92 93 94 95 96 97 |
# File 'lib/evss/disability_compensation_form/form526_to_lighthouse_transform.rb', line 88 def transform_homeless(veteran) homeless = Requests::Homeless.new homelessness = veteran['homelessness'] fill_currently_homeless(homelessness, homeless) if homelessness['currentlyHomeless'].present? fill_risk_of_becoming_homeless(homelessness, homeless) if homelessness['homelessnessRisk'].present? homeless end |
#transform_service_information(service_information_source) ⇒ Object
99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 |
# File 'lib/evss/disability_compensation_form/form526_to_lighthouse_transform.rb', line 99 def transform_service_information(service_information_source) service_information = Requests::ServiceInformation.new transform_service_periods(service_information_source, service_information) if service_information_source['confinements'] transform_confinements(service_information_source, service_information) end if service_information_source['alternateName'] transform_alternate_names(service_information_source, service_information) end if service_information_source['reservesNationalGuardService'] transform_reserves_national_guard_service(service_information_source, service_information) reserves_national_guard_service_source = service_information_source['reservesNationalGuardService']['title10Activation'] # Title10Activation == FederalActivation service_information.federal_activation = Requests::FederalActivation.new( anticipated_separation_date: reserves_national_guard_service_source['anticipatedSeparationDate'], activation_date: reserves_national_guard_service_source['title10ActivationDate'] ) end service_information end |
#transform_service_pay(service_pay_source) ⇒ Object
Transforms EVSS service pay format into Lighthouse request service pay block format
142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 |
# File 'lib/evss/disability_compensation_form/form526_to_lighthouse_transform.rb', line 142 def transform_service_pay(service_pay_source) # mapping to target <- source service_pay_target = Requests::ServicePay.new service_pay_target.favor_training_pay = service_pay_source['waiveVABenefitsToRetainTrainingPay'] service_pay_target.favor_military_retired_pay = service_pay_source['waiveVABenefitsToRetainRetiredPay'] # map military retired pay block if service_pay_source['militaryRetiredPay'].present? transform_military_retired_pay(service_pay_source, service_pay_target) end # map separation pay block transform_separation_pay(service_pay_source, service_pay_target) if service_pay_source['separationPay'].present? service_pay_target end |
#transform_treatments(treatments_source) ⇒ Object
Transforms EVSS treatments format into Lighthouse request treatments block format
124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 |
# File 'lib/evss/disability_compensation_form/form526_to_lighthouse_transform.rb', line 124 def transform_treatments(treatments_source) treatments_source.map do |treatment| center = treatment['center'] Requests::Treatment.new( treated_disability_names: treatment['treatedDisabilityNames'], center: Requests::Center.new( name: center['name'], state: center['state'], city: center['city'] ), # LH spec says YYYY-DD or YYYY date format begin_date: convert_approximate_date(treatment['startDate'], short: true) ) end end |
#transform_veteran(veteran) ⇒ Object
51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
# File 'lib/evss/disability_compensation_form/form526_to_lighthouse_transform.rb', line 51 def transform_veteran(veteran) veteran_identification = Requests::VeteranIdentification.new veteran_identification.current_va_employee = veteran['currentlyVAEmployee'] veteran_identification.service_number = veteran['serviceNumber'] veteran_identification.email_address = Requests::EmailAddress.new veteran_identification.email_address.email = veteran['emailAddress'] veteran_identification.veteran_number = Requests::VeteranNumber.new fill_phone_number(veteran, veteran_identification) transform_mailing_address(veteran, veteran_identification) if veteran['currentMailingAddress'].present? veteran_identification end |