Class: PdfFill::Forms::Va218940

Inherits:
FormBase
  • Object
show all
Includes:
FormHelper
Defined in:
lib/pdf_fill/forms/va218940.rb

Constant Summary collapse

ITERATOR =
PdfFill::HashConverter::ITERATOR
KEY =
{
  'veteranFullName' => {
    'first' => {
      key: 'form1[0].#subform[0].VeteransFirstName[0]',
      limit: 12,
      question_num: 1,
      question_text: "VETERAN/BENEFICIARY'S FIRST NAME"
    },
    'middleInitial' => {
      key: 'form1[0].#subform[0].VeteransMiddleInitial[0]'
    },
    'last' => {
      key: 'form1[0].#subform[0].VeteransLastName[0]',
      limit: 18,
      question_num: 1,
      question_text: "VETERAN/BENEFICIARY'S LAST NAME"
    }
  },
  'veteranAddress' => {
    question_num: 5,
    question_text: 'MAILING ADDRESS',
    'street' => {
      key: 'form1[0].#subform[0].CurrentMailingAddress_NumberAndStreet[0]',
      limit: 30,
      question_num: 5,
      question_suffix: 'A',
      question_text: 'Number and Street'
    },
    'street2' => {
      key: 'form1[0].#subform[0].CurrentMailingAddress_ApartmentOrUnitNumber[0]',
      limit: 5,
      question_num: 5,
      question_suffix: 'B',
      question_text: 'Apartment or Unit Number'
    },
    'city' => {
      key: 'form1[0].#subform[0].CurrentMailingAddress_City[0]',
      limit: 18,
      question_num: 5,
      question_suffix: 'C',
      question_text: 'City'
    },
    'state' => {
      key: 'form1[0].#subform[0].CurrentMailingAddress_StateOrProvince[0]'
    },
    'country' => {
      key: 'form1[0].#subform[0].CurrentMailingAddress_Country[0]',
      limit: 2
    },
    'postalCode' => {
      'firstFive' => {
        key: 'form1[0].#subform[0].CurrentMailingAddress_ZIPOrPostalCode_FirstFiveNumbers[0]'
      },
      'lastFour' => {
        key: 'form1[0].#subform[0].CurrentMailingAddress_ZIPOrPostalCode_LastFourNumbers[0]'
      }
    }
  },
  'veteranSocialSecurityNumber' => {
    'first' => {
      key: 'form1[0].#subform[0].VeteransSocialSecurityNumber_FirstThreeNumbers[0]'
    },
    'second' => {
      key: 'form1[0].#subform[0].VeteransSocialSecurityNumber_SecondTwoNumbers[0]'
    },
    'third' => {
      key: 'form1[0].#subform[0].VeteransSocialSecurityNumber_LastFourNumbers[0]'
    }
  },
  'veteranSocialSecurityNumber1' => {
    'first' => {
      key: 'form1[0].#subform[1].VeteransSocialSecurityNumber_FirstThreeNumbers[1]'
    },
    'second' => {
      key: 'form1[0].#subform[1].VeteransSocialSecurityNumber_SecondTwoNumbers[1]'
    },
    'third' => {
      key: 'form1[0].#subform[1].VeteransSocialSecurityNumber_LastFourNumbers[1]'
    }
  },
  'veteranSocialSecurityNumber2' => {
    'first' => {
      key: 'form1[0].#subform[2].VeteransSocialSecurityNumber_FirstThreeNumbers[2]'
    },
    'second' => {
      key: 'form1[0].#subform[2].VeteransSocialSecurityNumber_SecondTwoNumbers[2]'
    },
    'third' => {
      key: 'form1[0].#subform[2].VeteransSocialSecurityNumber_LastFourNumbers[2]'
    }
  },
  'vaFileNumber' => {
    key: 'form1[0].#subform[0].VAFileNumber[0]'
  },
  'veteranDateOfBirth' => {
    'month' => {
      key: 'form1[0].#subform[0].DOBmonth[0]'
    },
    'day' => {
      key: 'form1[0].#subform[0].DOBday[0]'
    },
    'year' => {
      key: 'form1[0].#subform[0].DOByear[0]'
    }
  },
  'email' => {
    key: 'form1[0].#subform[0].EmailAddress[0]'
  },
  'veteranPhone' => {
    key: 'form1[0].#subform[0].TelephoneNumber_IncludeAreaCode[0]'
  },
  'signature' => {
    key: 'form1[0].#subform[2].Signature[2]'
  },
  'signatureDate' => {
    key: 'form1[0].#subform[2].DateSigned[0]',
    format: 'date'
  },
  'serviceConnectedDisability' => {
    key: 'form1[0].#subform[0].ServiceConnectedDisability[0]',
    limit: 90,
    question_num: 8,
    question_text: 'SERVICE CONNECTED DISABILITY'
  },
  'wasHospitalizedYes' => {
    key: 'form1[0].#subform[0].CheckBoxYes[0]'
  },
  'wasHospitalizedNo' => {
    key: 'form1[0].#subform[0].CheckBoxNo[0]'
  },
  'education' => {
    'checkbox' => {
      'gradeSchool1' => {
        key: 'gradeSchool1'
      },
      'gradeSchool2' => {
        key: 'gradeSchool2'
      },
      'gradeSchool3' => {
        key: 'gradeSchool3'
      },
      'gradeSchool4' => {
        key: 'gradeSchool4'
      },
      'gradeSchool5' => {
        key: 'gradeSchool5'
      },
      'gradeSchool6' => {
        key: 'gradeSchool6'
      },
      'gradeSchool7' => {
        key: 'gradeSchool7'
      },
      'gradeSchool8' => {
        key: 'gradeSchool8'
      },
      'highSchool1' => {
        key: 'highSchool1'
      },
      'highSchool2' => {
        key: 'highSchool2'
      },
      'highSchool3' => {
        key: 'highSchool3'
      },
      'highSchool4' => {
        key: 'highSchool4'
      },
      'college1' => {
        key: 'college1'
      },
      'college2' => {
        key: 'college2'
      },
      'college3' => {
        key: 'college3'
      },
      'college4' => {
        key: 'college4'
      }
    }
  },
  'trainingPreDisabledYes' => {
    key: 'receivedOtherTrainingPreDisabled1'
  },
  'trainingPreDisabledNo' => {
    key: 'receivedOtherTrainingPreDisabled0'
  },
  'trainingPostUnEmployYes' => {
    key: 'form1[0].#subform[1].CheckBoxYes[7]'
  },
  'trainingPostUnEmployNo' => {
    key: 'form1[0].#subform[1].CheckBoxNo[7]'
  },
  'otherEducationTrainingPreUnemployability' => {
    limit: 1,
    question_text: 'Other Education or Training Prior to Unemployability',
    question_num: 24,
    first_key: 'name',
    'name' => {
      key: 'form1[0].#subform[1].TypeOfEducationOrTraining[1]'
    },
    'dates' => {
      'from' => {
        key: 'form1[0].#subform[1].Date[7]',
        format: 'date'
      },
      'to' => {
        key: 'form1[0].#subform[1].Date[8]',
        format: 'date'
      }
    },
    'otherEdPreUnemployOverflow' => {
      key: '',
      question_num: 24,
      question_suffix: 'B',
      question_text: 'Type of Education or Training Prior to Unemployability'
    }
  },
  'otherEducationTrainingPostUnemployability' => {
    limit: 1,
    question_num: 25,
    question_text: 'Other Education or Training After Unemployability',
    first_key: 'name',
    'name' => {
      key: 'form1[0].#subform[1].TypeOfEducationOrTraining[0]'
    },
    'dates' => {
      'from' => {
        key: 'form1[0].#subform[1].Date[5]',
        format: 'date'
      },
      'to' => {
        key: 'form1[0].#subform[1].Date[6]',
        format: 'date'
      }
    },
    'otherEdPostUnemployOverflow' => {
      key: '',
      question_num: 25,
      question_suffix: 'B',
      question_text: 'Other Education or Training After Unemployability'
    }
  },
  'doctorsCareDateRanges' => {
    limit: 0,
    question_text: 'DATE(S) OF TREATMENT BY DOCTOR(S)',
    question_num: 10
  },
  'hospitalCareDateRanges' => {
    limit: 0,
    question_text: 'DATE(S) OF HOSPITALIZATION',
    question_num: 13
  },
  'doctorsCareDetails' => {
    limit: 1,
    question_text: 'NAME AND ADDRESS OF DOCTOR(S)',
    question_num: 11,
    first_key: 'value',
    'value' => {
      question_text: 'NAME AND ADDRESS OF DOCTOR(S)',
      question_num: 11,
      key: 'form1[0].#subform[0].NameAndAddressOfDoctors[0]'
    }
  },
  'hospitalCareDetails' => {
    limit: 1,
    question_text: 'NAME AND ADDRESS OF HOSPITAL',
    question_num: 12,
    first_key: 'value',
    'value' => {
      question_text: 'NAME AND ADDRESS OF HOSPITAL',
      question_num: 12,
      key: 'form1[0].#subform[0].NameAndAddressOfHospitals[0]'
    }
  },
  'previousEmployers' => {
    limit: 5,
    question_num: 18,
    question_text: 'Previous Employers',
    first_key: 'nameAndAddress',
    'nameAndAddress' => {
      key: "employerNameAddress[#{ITERATOR}]"
    },
    'typeOfWork' => {
      key: "typeOfWork[#{ITERATOR}]"
    },
    'hoursPerWeek' => {
      key: "hoursPerWeek[#{ITERATOR}]"
    },
    'fromDate' => {
      key: "fromDate[#{ITERATOR}]",
      format: 'date'
    },
    'toDate' => {
      key: "toDate[#{ITERATOR}]",
      format: 'date'
    },
    'timeLostFromIllness' => {
      key: "timeLost[#{ITERATOR}]"
    },
    'mostEarningsInAMonth' => {
      key: "highestGrossEarnings[#{ITERATOR}]"
    },
    'previousEmployerOverflow' => {
      key: '',
      question_text: 'Previous Employer',
      question_num: 18,
      question_suffix: 'A'
    }
  },
  'disabilityAffectEmployFTDate' => {
    'day' => {
      key: 'form1[0].#subform[0].Day[4]'
    },
    'month' => {
      key: 'form1[0].#subform[0].Month[4]'
    },
    'year' => {
      key: 'form1[0].#subform[0].Year[8]'
    }
  },
  'lastWorkedFullTimeDate' => {
    'day' => {
      key: 'form1[0].#subform[0].Day[5]'
    },
    'month' => {
      key: 'form1[0].#subform[0].Month[5]'
    },
    'year' => {
      key: 'form1[0].#subform[0].Year[9]'
    }
  },
  'becameTooDisabledToWorkDate' => {
    'day' => {
      key: 'form1[0].#subform[0].Day[6]'
    },
    'month' => {
      key: 'form1[0].#subform[0].Month[6]'
    },
    'year' => {
      key: 'form1[0].#subform[0].Year[10]'
    }
  },
  'mostEarningsInAYear' => {
    key: 'form1[0].#subform[0].NumericField1[0]'
  },
  'yearOfMostEarnings' => {
    key: 'form1[0].#subform[0].Year[11]'
  },
  'occupationDuringMostEarnings' => {
    key: 'form1[0].#subform[0].OccupationDuringThatYear[0]'
  },
  'preventMilitaryDutiesYes' => {
    key: 'form1[0].#subform[1].CheckBoxYes[4]'
  },
  'preventMilitaryDutiesNo' => {
    key: 'form1[0].#subform[1].CheckBoxNo[4]'
  },
  'past12MonthsEarnedIncome' => {
    key: 'form1[0].#subform[1].NumericField1[4]'
  },
  'currentMonthlyEarnedIncome' => {
    key: 'form1[0].#subform[1].NumericField1[5]'
  },
  'leftLastJobDueToDisabilityYes' => {
    key: 'form1[0].#subform[1].CheckBoxYes[2]'
  },
  'leftLastJobDueToDisabilityNo' => {
    key: 'form1[0].#subform[1].CheckBoxNo[2]'
  },
  'expectDisabilityRetirementYes' => {
    key: 'form1[0].#subform[1].CheckBoxYes[1]'
  },
  'expectDisabilityRetirementNo' => {
    key: 'form1[0].#subform[1].CheckBoxNo[1]'
  },
  'receiveExpectWorkersCompensationYes' => {
    key: 'form1[0].#subform[1].CheckBoxYes[3]'
  },
  'receiveExpectWorkersCompensationNo' => {
    key: 'form1[0].#subform[1].CheckBoxNo[3]'
  },
  'attemptedEmployYes' => {
    key: 'form1[0].#subform[1].CheckBoxYes[5]'
  },
  'attemptedEmployNo' => {
    key: 'form1[0].#subform[1].CheckBoxNo[5]'
  },
  'appliedEmployers' => {
    limit: 3,
    question_text: 'Employers Applied For Work Since Unemployment',
    first_key: 'nameAndAddress',
    'nameAndAddress' => {
      key: "appliedEmployer[#{ITERATOR}]"
    },
    'workType' => {
      key: "workType[#{ITERATOR}]"
    },
    'date' => {
      key: "dateApplied[#{ITERATOR}]",
      format: 'date'
    },
    'appliedEmployerOverflow' => {
      key: '',
      question_text: 'Employer Applied to for Work Since Unemployment',
      question_num: 22,
      question_suffix: 'A'
    }
  },
  'remarks' => {
    key: 'form1[0].#subform[2].Remarks[0]'
  }
}.freeze

Instance Method Summary collapse

Methods included from FormHelper

#address_block, #combine_date_ranges, #expand_checkbox_as_hash, #extract_country, #extract_middle_i, #format_boolean, #select_checkbox, #select_radio_button, #split_date, #split_postal_code, #split_ssn, #validate_date

Methods inherited from FormBase

#combine_both_addr, #combine_full_address, #combine_full_address_extras, #combine_full_name, #combine_hash, #combine_name_addr, #combine_name_addr_extras, #combine_postal_code, #combine_previous_names, date_strftime, #expand_checkbox, #expand_date_range, #expand_signature, #initialize

Constructor Details

This class inherits a constructor from PdfFill::Forms::FormBase

Instance Method Details

#merge_fields(_options = {}) ⇒ Object



430
431
432
433
434
435
436
437
438
439
440
441
442
# File 'lib/pdf_fill/forms/va218940.rb', line 430

def merge_fields(_options = {})
  @form_data['veteranFullName'] = extract_middle_i(@form_data, 'veteranFullName')
  expand_ssn
  expand_veteran_dob
  expand_veteran_address
  transform_various_unemployment_fields(@form_data['unemployability'])
  expand_signature(@form_data['veteranFullName'])
  @form_data['signature'] = "/es/ #{@form_data['signature']}"

  @form_data.except!('unemployability')

  @form_data
end