Major features finished

This commit is contained in:
Jason Jordan
2026-04-15 08:12:47 -04:00
parent 9f306d3150
commit 247a075c9c
112 changed files with 3700 additions and 379 deletions
+5
View File
@@ -0,0 +1,5 @@
class BatchProcess < ApplicationRecord
end
+42 -14
View File
@@ -1,12 +1,36 @@
module EmployerAutomation
extend ActiveSupport::Concern
# included do
# # Code in this block becomes instance methods or class macros (like scopes, validations, associations) in the including class.
# scope :visible, -> { where(visible: true) }
# scope :invisible, -> { where(visible: false) }
# validates :status, inclusion: { in: %w(visible invisible), message: "%{value} is not a valid status" }
# end
included do
scope :new_groups, -> {
where(active: false)
.where.not(pl_plan_key: [nil, ''])
}
scope :with_plans, -> {
joins(id_card_setup: :plans).distinct
}
# scope :with_survey_and_no_questions, -> {
# joins(:survey) # join has_one
# .left_joins(survey: :questions) # join has_many through has_one
# .where(questions: { id: nil }) # filter where has_many is empty
# }
scope :missing_keychain_values, -> {
new_groups
.where(
arel_table[:company_pb_entity_key].in([nil, ''])
.or(arel_table[:plan_id].in([nil, '']))
.or(arel_table[:group_number].in([nil, '']))
.or(arel_table[:effective_date].in([nil, '']))
)
}
scope :missing_initial_members, -> {
new_groups.with_plans
}
end
# class_methods do
# # Methods in this block become class methods of the including class.
@@ -16,16 +40,20 @@ module EmployerAutomation
# end
# Any other methods defined here become instance methods automatically.
def up_to_date?
self.pl_plan_key.present? &&
self.company_pb_entity_key.present? &&
self.plan_id.present? &&
self.group_number.present? &&
self.effect_date.present?
# def up_to_date?
# self.pl_plan_key.present? &&
# self.company_pb_entity_key.present? &&
# self.plan_id.present? &&
# self.group_number.present? &&
# self.effective_date.present?
# end
def sync_members_with_vhcs
AutomationService::EmployerMembersUpdate.new(self.pl_plan_key).call
end
def sync_with_vhcs
sql_query = "SELECT PLPlanKey, PlanId, ShortDesc FROM PLPlanHeader WHERE ActiveInactive = 'Active' And PLPlanKey = 57"
plan_header = VhcsRecord.connection.select_all(sql_query).first
AutomationService::EmployerUpdate.new(self.pl_plan_key).call
end
end
+30
View File
@@ -0,0 +1,30 @@
module MemberAutomation
extend ActiveSupport::Concern
# included do
# # Code in this block becomes instance methods or class macros (like scopes, validations, associations) in the including class.
# scope :visible, -> { where(visible: true) }
# scope :invisible, -> { where(visible: false) }
# validates :status, inclusion: { in: %w(visible invisible), message: "%{value} is not a valid status" }
# end
# class_methods do
# # Methods in this block become class methods of the including class.
# def count_all_visible
# visible.count
# end
# end
# Any other methods defined here become instance methods automatically.
# def up_to_date?
# self.pl_plan_key.present? &&
# self.company_pb_entity_key.present? &&
# self.plan_id.present? &&
# self.group_number.present? &&
# self.effective_date.present?
# end
def sync_with_vhcs
AutomationService::MemberUpdate.new(self.employer.pl_plan_key, self.pb_entity_key).call
end
end
+28 -14
View File
@@ -1,7 +1,10 @@
class Employer < ApplicationRecord
has_many :members
include EmployerAutomation
has_many :members, dependent: :destroy
accepts_nested_attributes_for :members, allow_destroy: true, reject_if: :all_blank
has_one :id_card_setup, class_name: 'IdCard::Setup', dependent: :destroy
scope :active, -> { where(active: true) }
scope :inactive, -> { where(active: false) }
@@ -9,7 +12,9 @@ class Employer < ApplicationRecord
# before_save :process_employer_logo
# before_save :process_employer_logo, if: :employer_logo_filename_changed?
before_save :create_slug, if: :new_record?
# before_save :create_slug, if: :new_record?
before_save :create_slug, if: :will_save_change_to_name?
# before_save :set_active_status, unless: :will_save_change_to_active?
# after_save :process_employer_logo, if: :saved_change_to_employer_logo_filename?
# def process_employer_logo
@@ -35,7 +40,17 @@ class Employer < ApplicationRecord
# end
def create_slug
self.slug = employer_trim_name(self.name).parameterize
self.slug = Employer.employer_trim_name(self.name).parameterize
end
def set_active_status
self.active = (
self.pl_plan_key.present? &&
self.company_pb_entity_key.present? &&
self.plan_id.present? &&
self.group_number.present? &&
self.effective_date.present?
)
end
def id_card_enabled?
@@ -54,12 +69,12 @@ class Employer < ApplicationRecord
end
def name_to_logo_filename(extension)
self.employer_trim_name(self.name).titleize.gsub(/[^a-zA-Z]/, '').concat('Logo').concat(extension.downcase)
Employer.employer_trim_name(self.name).titleize.gsub(/[^a-zA-Z]/, '').concat('Logo').concat(extension.downcase)
end
def employer_trim_name(name = nil)
employer_name = name.present? ? name : self.name
regex_source = Regexp.union(["health ", "plan", "the", "inc", "llc"]).source
def self.employer_trim_name(employer_name)
# employer_name = name.present? ? name : self.name
regex_source = Regexp.union(["health ", "plan", "the", "inc", "llc", "group"]).source
case_insensitive_regex = Regexp.new(regex_source, "i")
employer_name.gsub(case_insensitive_regex, "").gsub(/[^[:alpha:][:space:]]/, "").squish
end
@@ -82,21 +97,20 @@ class Employer < ApplicationRecord
medical_number: self.group_number,
dental_number: '',
plan_key: self.pl_plan_key,
effect_date: self.effective_date
effect_date: DateTime.strptime(self.effective_date, "%m/%d/%y")
)
# Replace fairos_info with template like for benefits
fairos_info = Vhcs::HlrxCrosRef.where(pl_plan_key: 52).first
rx_info = self.id_card_setup.rx_section
Vhcs::HlrxCrosRef.create!(
group_no: self.group_number,
rx_group_id: self.group_number,
help_desk: fairos_info.help_desk,
customer_service: fairos_info.customer_service,
web_url: fairos_info.web_url,
help_desk: rx_info.help_desk,
customer_service: rx_info.customer_service,
web_url: rx_info.web_url,
pl_plan_key: self.pl_plan_key
)
self.plans.each_with_index do |plan, i|
self.id_card_setup.plans.each_with_index do |plan, i|
plan.plan_benefits.each do |bene|
Vhcs::HlEgglestonCardBenefit.create!(
plan_id: plan.pb_product_key,
+39 -5
View File
@@ -1,16 +1,50 @@
module IdCard
class EmployerLogo < ApplicationRecord
before_validation :calculate_aspect_ratio, if: :image_data_changed?
# before_validation :resize_logo, if: :image_data_changed?
# before_validation :calculate_aspect_ratio, if: :image_data_changed?
before_validation :process_image, if: :image_data_changed?
private
def calculate_aspect_ratio
image_io = StringIO.new(self.image_data)
width, height = FastImage.size(image_io)
image_ratio = width.to_f / height
def process_image
image = Vips::Image.new_from_buffer(self.image_data, "")
resized_image = ImageProcessing::Vips
.source(image)
.resize_to_limit(nil, 400)
processed_image = resized_image.convert("png").call
new_image_data = processed_image.read
if new_image_data
self.image_data = new_image_data
self.filename = File.basename(self.filename, File.extname(self.filename)) + ".png"
self.content_type = "image/png"
end
image_ratio = image.width.to_f / image.height
if image_ratio
self.aspect_ratio = image_ratio.round(2)
end
end
# def resize_logo
# image = Vips::Image.new_from_buffer(self.image_data, "")
# processed_image = ImageProcessing::Vips
# .source(image)
# .resize_to_limit(nil, 200)
# .call
# self.image_data = processed_image.read
# end
# def calculate_aspect_ratio
# image_io = StringIO.new(self.image_data)
# width, height = FastImage.size(image_io)
# image_ratio = width.to_f / height
# if image_ratio
# self.aspect_ratio = image_ratio.round(2)
# end
# end
end
end
+18 -2
View File
@@ -4,19 +4,27 @@ module IdCard
has_many :field_exception_items, dependent: :destroy
accepts_nested_attributes_for :field_exception_items, allow_destroy: true, reject_if: :all_blank
VALID_TYPES = ['zipcode', 'state', 'family_id']
serialize :exception_values, coder: JSON
VALID_TYPES = ['family_id', 'zipcode', 'state'].freeze
before_validation :format_exception_values, if: :exception_values_changed?
validates :exception_type, inclusion: { in: VALID_TYPES,
message: "%{value} is not a valid exception type" }
def to_card_attrs
self.field_exception_items.map(&:card_attrs).reduce({}, :merge)
end
class << self
def permitted_params(params)
params.require(:id_card_setup).permit(
field_exceptions_attributes: [
:exception_type,
:exception_value,
:exception_values,
:_destroy,
field_exception_items_attributes: [
:field_name,
@@ -31,5 +39,13 @@ module IdCard
end
private
def format_exception_values
if self.exception_values.is_a?(String)
self.exception_values = self.exception_values.split(",").map(&:strip)
end
end
end
end
+18 -2
View File
@@ -6,14 +6,30 @@ module IdCard
validate :only_one_exception_field_present
FIELDS_TO_VALIDATE = [:field_value, :card_logo_file_id, :card_provider_id].freeze
FIELDS_TO_VALIDATE = [:field_value, :network_logo_id, :provider_section_id].freeze
VALID_FIELD_NAMES = ['network_logo', 'provider_section', 'effective_date']
VALID_FIELD_NAMES = ['network_logo', 'provider_section', 'medical_eff_date']
validates :field_name, inclusion: { in: VALID_FIELD_NAMES,
message: "%{value} is not a valid Id Card Field Name" }
def card_attrs
case self.field_name
when "network_logo"
{"network_logo_filename" => IdCard::NetworkLogo.find(self.network_logo_id).filename}
when "provider_section"
IdCard::ProviderSection.find(self.provider_section_id).attributes.with_indifferent_access.slice(
:provider_line_1, :provider_line_2, :provider_line_3, :provider_line_4, :provider_line_5, :provider_line_6,
:provider_line_7, :provider_line_8, :provider_line_9, :provider_line_10, :provider_line_11, :provider_line_12,
:claim_to_1, :claim_to_2, :claim_to_3, :claim_to_4, :claim_to_5, :claim_to_6,
:claim_to_7, :claim_to_8, :claim_to_9, :claim_to_10, :claim_to_11, :claim_to_12
)
when "medical_eff_date"
{"medical_eff_date" => self.field_value}
end
end
private
def only_one_exception_field_present
+39 -5
View File
@@ -1,6 +1,8 @@
module IdCard
class NetworkLogo < ApplicationRecord
before_validation :calculate_aspect_ratio, if: :image_data_changed?
# before_validation :resize_logo, if: :image_data_changed?
# before_validation :calculate_aspect_ratio, if: :image_data_changed?
before_validation :process_image, if: :image_data_changed?
scope :defaults, -> { where(default: true) }
@@ -18,14 +20,46 @@ module IdCard
private
def calculate_aspect_ratio
image_io = StringIO.new(image_data)
width, height = FastImage.size(image_io)
image_ratio = width.to_f / height
def process_image
image = Vips::Image.new_from_buffer(self.image_data, "")
resized_image = ImageProcessing::Vips
.source(image)
.resize_to_limit(nil, 400)
processed_image = resized_image.convert("png").call
new_image_data = processed_image.read
if new_image_data
self.image_data = new_image_data
self.filename = File.basename(self.filename, File.extname(self.filename)) + ".png"
self.content_type = "image/png"
end
image_ratio = image.width.to_f / image.height
if image_ratio
self.aspect_ratio = image_ratio.round(2)
end
end
# def resize_logo
# image = Vips::Image.new_from_buffer(self.image_data, "")
# processed_image = ImageProcessing::Vips
# .source(image)
# .resize_to_limit(nil, 400)
# .call
# self.image_data = processed_image.read
# end
# def calculate_aspect_ratio
# image_io = StringIO.new(image_data)
# width, height = FastImage.size(image_io)
# image_ratio = width.to_f / height
# if image_ratio
# self.aspect_ratio = image_ratio.round(2)
# end
# end
end
end
+1 -1
View File
@@ -1,7 +1,7 @@
module IdCard
class PrintData < ApplicationRecord
STRING_ATTRIBUTES = %w[provider_line_1 provider_line_2 provider_line_3 provider_line_4 provider_line_5 provider_line_6 provider_line_7 provider_line_8 provider_line_9 provider_line_10 provider_line_11 claim_to_1 claim_to_2 claim_to_3 claim_to_4 claim_to_5 claim_to_6 claim_to_7 claim_to_8 claim_to_9 claim_to_10 claim_to_11 dependent_1 dependent_2 dependent_3 dependent_4 dependent_5 dependent_6 dependent_7 dependent_8]
STRING_ATTRIBUTES = %w[provider_line_1 provider_line_2 provider_line_3 provider_line_4 provider_line_5 provider_line_6 provider_line_7 provider_line_8 provider_line_9 provider_line_10 provider_line_11 provider_line_12 claim_to_1 claim_to_2 claim_to_3 claim_to_4 claim_to_5 claim_to_6 claim_to_7 claim_to_8 claim_to_9 claim_to_10 claim_to_11 claim_to_12 dependent_1 dependent_2 dependent_3 dependent_4 dependent_5 dependent_6 dependent_7 dependent_8 dental_coverage]
before_validation :assign_blank_strings_to_unassigned_params
+39
View File
@@ -40,6 +40,45 @@ module IdCard
self.field_exceptions.present?
end
def field_exceptions_card_attributes_by_member_id(member_array = nil)
unless member_array.present?
member_array = self.employer.members.pluck(:pb_entity_key)
end
card_fes = self.field_exceptions.includes(:field_exception_items).in_order_of(:exception_type, IdCard::FieldException::VALID_TYPES)
# fe_by_value = card_fes.in_order_of(:exception_type, IdCard::FieldException::VALID_TYPES).group_by(&:exception_type)
# .transform_values { |fes| fes.map { |fe| [fe.id, fe.exception_values] }.to_h }
# .compact_blank
# field_exception_types = card_fes.pluck(:exception_type).uniq
# if field_exception_types.include?("family_id")
# members = Member.where(pb_entity_key: member_array)
# end
# if field_exception_types.intersect?(["state", "zipcode"])
# member_addresses = Vhcs::PbEntityAddress.where(pb_entity_key: member_array)
# end
card_exceptions_map = {}
card_fes.each do |fe|
if fe.exception_type == "family_id"
matches = Member.where(pb_entity_key: member_array, family_id: fe.exception_values).pluck(:pb_entity_key)
elsif fe.exception_type == "zipcode"
matches = Vhcs::PbEntityAddress.where(pb_entity_key: member_array, zip: fe.exception_values).pluck(:pb_entity_key)
elsif fe.exception_type == "state"
matches = Vhcs::PbEntityAddress.where(pb_entity_key: member_array, state: fe.exception_values).pluck(:pb_entity_key)
end
if matches.present?
card_exceptions_map[fe.id] = fe.to_card_attrs
matches.each do |match|
unless card_exceptions_map[match].present?
card_exceptions_map[match] = fe.id
end
end
end
end
card_exceptions_map
end
def self.permitted_params(params)
params.require(:id_card_setup).permit(
:print_name,
+12
View File
@@ -1,7 +1,11 @@
class Member < ApplicationRecord
include MemberAutomation
belongs_to :id_card_plan, class_name: 'IdCard::Plan', optional: true
belongs_to :employer
serialize :dependents, coder: JSON
before_validation :format_dependents, if: :dependents_changed?
def id_card_field_exception_values
address = Vhcs::PbEntityAddress.find_by(pb_entity_key: self.pb_entity_key)
{
@@ -11,6 +15,14 @@ class Member < ApplicationRecord
}
end
private
def format_dependents
if self.dependents.is_a?(String)
self.dependents = self.dependents.split(",").map(&:strip)
end
end
+5
View File
@@ -0,0 +1,5 @@
module Report
def self.table_name_prefix
"report_"
end
end
+4
View File
@@ -0,0 +1,4 @@
class Report::ComparisonError < ApplicationRecord
belongs_to :employer_card_comparison, optional: true
belongs_to :member_card_comparison, optional: true
end
@@ -0,0 +1,15 @@
module Report
class EmployerCardComparison < ApplicationRecord
has_many :comparison_errors, dependent: :destroy
accepts_nested_attributes_for :comparison_errors, allow_destroy: true, reject_if: :all_blank
has_many :member_card_comparisons
has_many :member_comparison_errors, through: :member_card_comparisons, source: :comparison_errors
def employer_total_errors
self.comparison_errors.count + self.member_comparison_errors.count
end
end
end
@@ -0,0 +1,9 @@
module Report
class MemberCardComparison < ApplicationRecord
has_many :comparison_errors, dependent: :destroy
accepts_nested_attributes_for :comparison_errors, allow_destroy: true, reject_if: :all_blank
belongs_to :employer_card_comparison, optional: true
end
end
+2
View File
@@ -0,0 +1,2 @@
class Report::OldCardDuplicate < ApplicationRecord
end
+43
View File
@@ -0,0 +1,43 @@
module Vhcs
class GenLookupTables < VhcsRecord
self.table_name = 'GEN_LookupTables'
alias_attribute :record_id, :RecordID
alias_attribute :table_id, :TableID
alias_attribute :value_id, :ValueID
alias_attribute :company_pb_entity_key, :CompanyPBEntityKey
alias_attribute :short_desc, :ShortDesc
alias_attribute :long_desc, :LongDesc
alias_attribute :is_active, :IsActive
alias_attribute :is_default, :IsDefault
alias_attribute :is_bit_flag, :IsBitFlag
alias_attribute :is_company_specific, :IsCompanySpecific
alias_attribute :is_editable, :IsEditable
alias_attribute :long_description, :LongDescription
alias_attribute :sort_value, :SortValue
alias_attribute :system_id_bit_mask, :SystemIDBitMask
def attributes
rails_like = {
record_id: self.record_id,
table_id: self.table_id,
value_id: self.value_id,
company_pb_entity_key: self.company_pb_entity_key,
short_desc: self.short_desc,
long_desc: self.long_desc,
is_active: self.is_active,
is_default: self.is_default,
is_bit_flag: self.is_bit_flag,
is_company_specific: self.is_company_specific,
is_editable: self.is_editable,
long_description: self.long_description,
sort_value: self.sort_value,
system_id_bit_mask: self.system_id_bit_mask,
}
super.merge(rails_like)
end
end
end
+74 -74
View File
@@ -5,12 +5,12 @@ module Vhcs
alias_attribute :id, :ID
alias_attribute :facility, :Facility
alias_attribute :division, :Division
alias_attribute :employer_name, :Division
alias_attribute :full_name, :FullName
alias_attribute :ssn, :SSN
alias_attribute :medical_coverage, :MedicalCoverage
alias_attribute :medical_eff_date, :MedicalEffDate
alias_attribute :medical_group_num, :MedicalGroupNum
alias_attribute :group_number, :MedicalGroupNum
alias_attribute :dental_coverage, :DentalCoverage
alias_attribute :dental_eff_date, :DentalEffDate
alias_attribute :dental_group_num, :DentalGroupNum
@@ -25,8 +25,8 @@ module Vhcs
alias_attribute :provider_line_7, :ProviderLine7
alias_attribute :provider_line_8, :ProviderLine8
alias_attribute :provider_line_9, :ProviderLine9
alias_attribute :provider_line_1_0, :ProviderLine10
alias_attribute :provider_line_1_1, :ProviderLine11
alias_attribute :provider_line_10, :ProviderLine10
alias_attribute :provider_line_11, :ProviderLine11
alias_attribute :mail_to, :MailTo
alias_attribute :mail_to_2, :MailTo2
alias_attribute :claim_to_1, :ClaimTo1
@@ -38,15 +38,15 @@ module Vhcs
alias_attribute :claim_to_7, :ClaimTo7
alias_attribute :claim_to_8, :ClaimTo8
alias_attribute :claim_to_9, :ClaimTo9
alias_attribute :claim_to_1_0, :ClaimTo10
alias_attribute :claim_to_1_1, :ClaimTo11
alias_attribute :claim_to_10, :ClaimTo10
alias_attribute :claim_to_11, :ClaimTo11
alias_attribute :contact_line_1, :ContactLine1
alias_attribute :contact_line_2, :ContactLine2
alias_attribute :contact_line_3, :ContactLine3
alias_attribute :group_number, :GroupNumber
alias_attribute :family_id, :FamilyId
alias_attribute :group_no, :GroupNo
alias_attribute :rx_group_id, :RXGroupID
alias_attribute :rx_group, :RXGroupID
alias_attribute :help_desk, :HelpDesk
alias_attribute :customer_service, :CustomerService
alias_attribute :web_url, :WebUrl
@@ -60,34 +60,34 @@ module Vhcs
alias_attribute :dependent_6, :Dependent6
alias_attribute :dependent_7, :Dependent7
alias_attribute :dependent_8, :Dependent8
alias_attribute :ben_desc_1, :BenDesc1
alias_attribute :ben_1, :Ben1
alias_attribute :ben_desc_2, :BenDesc2
alias_attribute :ben_2, :Ben2
alias_attribute :ben_desc_3, :BenDesc3
alias_attribute :ben_3, :Ben3
alias_attribute :ben_desc_4, :BenDesc4
alias_attribute :ben_4, :Ben4
alias_attribute :ben_desc_5, :BenDesc5
alias_attribute :ben_5, :Ben5
alias_attribute :ben_desc_6, :BenDesc6
alias_attribute :ben_6, :Ben6
alias_attribute :ben_desc_7, :BenDesc7
alias_attribute :ben_7, :Ben7
alias_attribute :ben_desc_8, :BenDesc8
alias_attribute :ben_8, :Ben8
alias_attribute :ben_desc_9, :BenDesc9
alias_attribute :ben_9, :Ben9
alias_attribute :ben_desc_1_0, :BenDesc10
alias_attribute :ben_1_0, :Ben10
alias_attribute :ben_desc_1_1, :BenDesc11
alias_attribute :ben_1_1, :Ben11
alias_attribute :ben_desc_1_2, :BenDesc12
alias_attribute :ben_1_2, :Ben12
alias_attribute :ben_desc_1_3, :BenDesc13
alias_attribute :ben_1_3, :Ben13
alias_attribute :ben_desc_1_4, :BenDesc14
alias_attribute :ben_1_4, :Ben14
alias_attribute :benefit_desc_1, :BenDesc1
alias_attribute :benefit_1, :Ben1
alias_attribute :benefit_desc_2, :BenDesc2
alias_attribute :benefit_2, :Ben2
alias_attribute :benefit_desc_3, :BenDesc3
alias_attribute :benefit_3, :Ben3
alias_attribute :benefit_desc_4, :BenDesc4
alias_attribute :benefit_4, :Ben4
alias_attribute :benefit_desc_5, :BenDesc5
alias_attribute :benefit_5, :Ben5
alias_attribute :benefit_desc_6, :BenDesc6
alias_attribute :benefit_6, :Ben6
alias_attribute :benefit_desc_7, :BenDesc7
alias_attribute :benefit_7, :Ben7
alias_attribute :benefit_desc_8, :BenDesc8
alias_attribute :benefit_8, :Ben8
alias_attribute :benefit_desc_9, :BenDesc9
alias_attribute :benefit_9, :Ben9
alias_attribute :benefit_desc_10, :BenDesc10
alias_attribute :benefit_10, :Ben10
alias_attribute :benefit_desc_11, :BenDesc11
alias_attribute :benefit_11, :Ben11
alias_attribute :benefit_desc_12, :BenDesc12
alias_attribute :benefit_12, :Ben12
alias_attribute :benefit_desc_13, :BenDesc13
alias_attribute :benefit_13, :Ben13
alias_attribute :benefit_desc_14, :BenDesc14
alias_attribute :benefit_14, :Ben14
alias_attribute :pl_plan_key, :PLPlanKey
alias_attribute :primary_mb_member_key, :PrimaryMBMemberKey
alias_attribute :ppo_lookup_1, :PPOLookup1
@@ -103,19 +103,19 @@ module Vhcs
alias_attribute :ppo_data_2, :PPOData2
alias_attribute :ppo_data_3, :PPOData3
alias_attribute :last_name, :LastName
alias_attribute :provider_line_1_2, :ProviderLine12
alias_attribute :claim_to_1_2, :ClaimTo12
alias_attribute :provider_line_12, :ProviderLine12
alias_attribute :claim_to_12, :ClaimTo12
def attributes
rails_like = {
id: self.id,
facility: self.facility,
division: self.division,
employer_name: self.employer_name,
full_name: self.full_name,
ssn: self.ssn,
medical_coverage: self.medical_coverage,
medical_eff_date: self.medical_eff_date,
medical_group_num: self.medical_group_num,
group_number: self.group_number,
dental_coverage: self.dental_coverage,
dental_eff_date: self.dental_eff_date,
dental_group_num: self.dental_group_num,
@@ -130,8 +130,8 @@ module Vhcs
provider_line_7: self.provider_line_7,
provider_line_8: self.provider_line_8,
provider_line_9: self.provider_line_9,
provider_line_1_0: self.provider_line_1_0,
provider_line_1_1: self.provider_line_1_1,
provider_line_10: self.provider_line_10,
provider_line_11: self.provider_line_11,
mail_to: self.mail_to,
mail_to_2: self.mail_to_2,
claim_to_1: self.claim_to_1,
@@ -143,15 +143,15 @@ module Vhcs
claim_to_7: self.claim_to_7,
claim_to_8: self.claim_to_8,
claim_to_9: self.claim_to_9,
claim_to_1_0: self.claim_to_1_0,
claim_to_1_1: self.claim_to_1_1,
claim_to_10: self.claim_to_10,
claim_to_11: self.claim_to_11,
contact_line_1: self.contact_line_1,
contact_line_2: self.contact_line_2,
contact_line_3: self.contact_line_3,
group_number: self.group_number,
family_id: self.family_id,
group_no: self.group_no,
rx_group_id: self.rx_group_id,
rx_group: self.rx_group,
help_desk: self.help_desk,
customer_service: self.customer_service,
web_url: self.web_url,
@@ -165,34 +165,34 @@ module Vhcs
dependent_6: self.dependent_6,
dependent_7: self.dependent_7,
dependent_8: self.dependent_8,
ben_desc_1: self.ben_desc_1,
ben_1: self.ben_1,
ben_desc_2: self.ben_desc_2,
ben_2: self.ben_2,
ben_desc_3: self.ben_desc_3,
ben_3: self.ben_3,
ben_desc_4: self.ben_desc_4,
ben_4: self.ben_4,
ben_desc_5: self.ben_desc_5,
ben_5: self.ben_5,
ben_desc_6: self.ben_desc_6,
ben_6: self.ben_6,
ben_desc_7: self.ben_desc_7,
ben_7: self.ben_7,
ben_desc_8: self.ben_desc_8,
ben_8: self.ben_8,
ben_desc_9: self.ben_desc_9,
ben_9: self.ben_9,
ben_desc_1_0: self.ben_desc_1_0,
ben_1_0: self.ben_1_0,
ben_desc_1_1: self.ben_desc_1_1,
ben_1_1: self.ben_1_1,
ben_desc_1_2: self.ben_desc_1_2,
ben_1_2: self.ben_1_2,
ben_desc_1_3: self.ben_desc_1_3,
ben_1_3: self.ben_1_3,
ben_desc_1_4: self.ben_desc_1_4,
ben_1_4: self.ben_1_4,
benefit_desc_1: self.benefit_desc_1,
benefit_1: self.benefit_1,
benefit_desc_2: self.benefit_desc_2,
benefit_2: self.benefit_2,
benefit_desc_3: self.benefit_desc_3,
benefit_3: self.benefit_3,
benefit_desc_4: self.benefit_desc_4,
benefit_4: self.benefit_4,
benefit_desc_5: self.benefit_desc_5,
benefit_5: self.benefit_5,
benefit_desc_6: self.benefit_desc_6,
benefit_6: self.benefit_6,
benefit_desc_7: self.benefit_desc_7,
benefit_7: self.benefit_7,
benefit_desc_8: self.benefit_desc_8,
benefit_8: self.benefit_8,
benefit_desc_9: self.benefit_desc_9,
benefit_9: self.benefit_9,
benefit_desc_10: self.benefit_desc_10,
benefit_10: self.benefit_10,
benefit_desc_11: self.benefit_desc_11,
benefit_11: self.benefit_11,
benefit_desc_12: self.benefit_desc_12,
benefit_12: self.benefit_12,
benefit_desc_13: self.benefit_desc_13,
benefit_13: self.benefit_13,
benefit_desc_14: self.benefit_desc_14,
benefit_14: self.benefit_14,
pl_plan_key: self.pl_plan_key,
primary_mb_member_key: self.primary_mb_member_key,
ppo_lookup_1: self.ppo_lookup_1,
@@ -208,8 +208,8 @@ module Vhcs
ppo_data_2: self.ppo_data_2,
ppo_data_3: self.ppo_data_3,
last_name: self.last_name,
provider_line_1_2: self.provider_line_1_2,
claim_to_1_2: self.claim_to_1_2,
provider_line_12: self.provider_line_12,
claim_to_12: self.claim_to_12,
}
super.merge(rails_like)
end
+217
View File
@@ -0,0 +1,217 @@
module Vhcs
class HlidCardsViewEgg < VhcsRecord
self.table_name = 'HLIDCardsViewEgg'
alias_attribute :facility, :Facility
alias_attribute :division, :Division
alias_attribute :full_name, :FullName
alias_attribute :ssn, :SSN
alias_attribute :medical_coverage, :MedicalCoverage
alias_attribute :medical_eff_date, :MedicalEffDate
alias_attribute :medical_group_num, :MedicalGroupNum
alias_attribute :dental_coverage, :DentalCoverage
alias_attribute :dental_eff_date, :DentalEffDate
alias_attribute :dental_group_num, :DentalGroupNum
alias_attribute :card_type, :CardType
alias_attribute :provider_code, :ProviderCode
alias_attribute :provider_line_1, :ProviderLine1
alias_attribute :provider_line_2, :ProviderLine2
alias_attribute :provider_line_3, :ProviderLine3
alias_attribute :provider_line_4, :ProviderLine4
alias_attribute :provider_line_5, :ProviderLine5
alias_attribute :provider_line_6, :ProviderLine6
alias_attribute :provider_line_7, :ProviderLine7
alias_attribute :provider_line_8, :ProviderLine8
alias_attribute :provider_line_9, :ProviderLine9
alias_attribute :provider_line_1_0, :ProviderLine10
alias_attribute :provider_line_1_1, :ProviderLine11
alias_attribute :mail_to, :MailTo
alias_attribute :mail_to_2, :MailTo2
alias_attribute :claim_to_1, :ClaimTo1
alias_attribute :claim_to_2, :ClaimTo2
alias_attribute :claim_to_3, :ClaimTo3
alias_attribute :claim_to_4, :ClaimTo4
alias_attribute :claim_to_5, :ClaimTo5
alias_attribute :claim_to_6, :ClaimTo6
alias_attribute :claim_to_7, :ClaimTo7
alias_attribute :claim_to_8, :ClaimTo8
alias_attribute :claim_to_9, :ClaimTo9
alias_attribute :claim_to_1_0, :ClaimTo10
alias_attribute :claim_to_1_1, :ClaimTo11
alias_attribute :contact_line_1, :ContactLine1
alias_attribute :contact_line_2, :ContactLine2
alias_attribute :contact_line_3, :ContactLine3
alias_attribute :group_number, :GroupNumber
alias_attribute :family_id, :FamilyId
alias_attribute :group_no, :GroupNo
alias_attribute :rx_group_id, :RXGroupID
alias_attribute :help_desk, :HelpDesk
alias_attribute :customer_service, :CustomerService
alias_attribute :web_url, :WebUrl
alias_attribute :expr_1, :Expr1
alias_attribute :line_3, :Line3
alias_attribute :dependent_1, :Dependent1
alias_attribute :dependent_2, :Dependent2
alias_attribute :dependent_3, :Dependent3
alias_attribute :dependent_4, :Dependent4
alias_attribute :dependent_5, :Dependent5
alias_attribute :dependent_6, :Dependent6
alias_attribute :dependent_7, :Dependent7
alias_attribute :dependent_8, :Dependent8
alias_attribute :ben_desc_1, :BenDesc1
alias_attribute :ben_1, :Ben1
alias_attribute :ben_desc_2, :BenDesc2
alias_attribute :ben_2, :Ben2
alias_attribute :ben_desc_3, :BenDesc3
alias_attribute :ben_3, :Ben3
alias_attribute :ben_desc_4, :BenDesc4
alias_attribute :ben_4, :Ben4
alias_attribute :ben_desc_5, :BenDesc5
alias_attribute :ben_5, :Ben5
alias_attribute :ben_desc_6, :BenDesc6
alias_attribute :ben_6, :Ben6
alias_attribute :ben_desc_7, :BenDesc7
alias_attribute :ben_7, :Ben7
alias_attribute :ben_desc_8, :BenDesc8
alias_attribute :ben_8, :Ben8
alias_attribute :ben_desc_9, :BenDesc9
alias_attribute :ben_9, :Ben9
alias_attribute :ben_desc_1_0, :BenDesc10
alias_attribute :ben_1_0, :Ben10
alias_attribute :ben_desc_1_1, :BenDesc11
alias_attribute :ben_1_1, :Ben11
alias_attribute :ben_desc_1_2, :BenDesc12
alias_attribute :ben_1_2, :Ben12
alias_attribute :ben_desc_1_3, :BenDesc13
alias_attribute :ben_1_3, :Ben13
alias_attribute :ben_desc_1_4, :BenDesc14
alias_attribute :ben_1_4, :Ben14
alias_attribute :pl_plan_key, :PLPlanKey
alias_attribute :mb_member_key, :MBMemberKey
alias_attribute :provider_lookup_1, :ProviderLookup1
alias_attribute :provider_lookup_2, :ProviderLookup2
alias_attribute :precert_1, :Precert1
alias_attribute :precert_2, :Precert2
alias_attribute :precert_3, :Precert3
alias_attribute :precert_4, :Precert4
alias_attribute :precert_5, :Precert5
alias_attribute :precert_6, :Precert6
alias_attribute :miscdata, :MISCDATA
alias_attribute :ppodata, :PPODATA
alias_attribute :ppodata_2, :PPODATA2
alias_attribute :ppodata_3, :PPODATA3
alias_attribute :last_name, :LastName
alias_attribute :provider_line_1_2, :ProviderLine12
alias_attribute :claim_to_1_2, :ClaimTo12
def attributes
rails_like = {
facility: self.facility,
division: self.division,
full_name: self.full_name,
ssn: self.ssn,
medical_coverage: self.medical_coverage,
medical_eff_date: self.medical_eff_date,
medical_group_num: self.medical_group_num,
dental_coverage: self.dental_coverage,
dental_eff_date: self.dental_eff_date,
dental_group_num: self.dental_group_num,
card_type: self.card_type,
provider_code: self.provider_code,
provider_line_1: self.provider_line_1,
provider_line_2: self.provider_line_2,
provider_line_3: self.provider_line_3,
provider_line_4: self.provider_line_4,
provider_line_5: self.provider_line_5,
provider_line_6: self.provider_line_6,
provider_line_7: self.provider_line_7,
provider_line_8: self.provider_line_8,
provider_line_9: self.provider_line_9,
provider_line_1_0: self.provider_line_1_0,
provider_line_1_1: self.provider_line_1_1,
mail_to: self.mail_to,
mail_to_2: self.mail_to_2,
claim_to_1: self.claim_to_1,
claim_to_2: self.claim_to_2,
claim_to_3: self.claim_to_3,
claim_to_4: self.claim_to_4,
claim_to_5: self.claim_to_5,
claim_to_6: self.claim_to_6,
claim_to_7: self.claim_to_7,
claim_to_8: self.claim_to_8,
claim_to_9: self.claim_to_9,
claim_to_1_0: self.claim_to_1_0,
claim_to_1_1: self.claim_to_1_1,
contact_line_1: self.contact_line_1,
contact_line_2: self.contact_line_2,
contact_line_3: self.contact_line_3,
group_number: self.group_number,
family_id: self.family_id,
group_no: self.group_no,
rx_group_id: self.rx_group_id,
help_desk: self.help_desk,
customer_service: self.customer_service,
web_url: self.web_url,
expr_1: self.expr_1,
line_3: self.line_3,
dependent_1: self.dependent_1,
dependent_2: self.dependent_2,
dependent_3: self.dependent_3,
dependent_4: self.dependent_4,
dependent_5: self.dependent_5,
dependent_6: self.dependent_6,
dependent_7: self.dependent_7,
dependent_8: self.dependent_8,
ben_desc_1: self.ben_desc_1,
ben_1: self.ben_1,
ben_desc_2: self.ben_desc_2,
ben_2: self.ben_2,
ben_desc_3: self.ben_desc_3,
ben_3: self.ben_3,
ben_desc_4: self.ben_desc_4,
ben_4: self.ben_4,
ben_desc_5: self.ben_desc_5,
ben_5: self.ben_5,
ben_desc_6: self.ben_desc_6,
ben_6: self.ben_6,
ben_desc_7: self.ben_desc_7,
ben_7: self.ben_7,
ben_desc_8: self.ben_desc_8,
ben_8: self.ben_8,
ben_desc_9: self.ben_desc_9,
ben_9: self.ben_9,
ben_desc_1_0: self.ben_desc_1_0,
ben_1_0: self.ben_1_0,
ben_desc_1_1: self.ben_desc_1_1,
ben_1_1: self.ben_1_1,
ben_desc_1_2: self.ben_desc_1_2,
ben_1_2: self.ben_1_2,
ben_desc_1_3: self.ben_desc_1_3,
ben_1_3: self.ben_1_3,
ben_desc_1_4: self.ben_desc_1_4,
ben_1_4: self.ben_1_4,
pl_plan_key: self.pl_plan_key,
mb_member_key: self.mb_member_key,
provider_lookup_1: self.provider_lookup_1,
provider_lookup_2: self.provider_lookup_2,
precert_1: self.precert_1,
precert_2: self.precert_2,
precert_3: self.precert_3,
precert_4: self.precert_4,
precert_5: self.precert_5,
precert_6: self.precert_6,
miscdata: self.miscdata,
ppodata: self.ppodata,
ppodata_2: self.ppodata_2,
ppodata_3: self.ppodata_3,
last_name: self.last_name,
provider_line_1_2: self.provider_line_1_2,
claim_to_1_2: self.claim_to_1_2,
}
super.merge(rails_like)
end
end
end