Prod build process

This commit is contained in:
Jason Jordan
2026-05-06 13:28:16 -04:00
parent 1d9025276d
commit e0101be567
223 changed files with 1861 additions and 7105 deletions
+1 -1
View File
@@ -3,5 +3,5 @@
class ApplicationRecord < ActiveRecord::Base
primary_abstract_class
establish_connection :baclight
establish_connection :primary
end
-21
View File
@@ -1,21 +0,0 @@
module BrittonWeb
class Employers < BrittonWebRecord
# self.table_name = 'employers'
alias_attribute :id, :id
alias_attribute :name, :name
alias_attribute :pl_plan_key, :pl_plan_key
alias_attribute :plan_id, :plan_id
alias_attribute :dental_plan, :dental_plan
alias_attribute :single_card_template, :single_card_template
alias_attribute :multiple_card_template, :multiple_card_template
alias_attribute :logo, :logo
alias_attribute :active, :active
alias_attribute :broker_id, :broker_id
alias_attribute :created_at, :created_at
alias_attribute :updated_at, :updated_at
end
end
-17
View File
@@ -1,17 +0,0 @@
module BrittonWeb
class NetworkLogos < BrittonWebRecord
self.table_name = 'network_logos'
alias_attribute :id, :id
alias_attribute :net_logo, :net_logo
alias_attribute :exception_type, :exception_type
alias_attribute :exception_value, :exception_value
alias_attribute :default, :default
alias_attribute :employer_id, :employer_id
alias_attribute :created_at, :created_at
alias_attribute :updated_at, :updated_at
end
end
+27 -77
View File
@@ -20,55 +20,56 @@ module EmployerAutomation
}
scope :in_automation_initilization, -> {
joins(:id_card_setup)
left_outer_joins(:id_card_setup)
.where(initialized: false)
.or(
where(id_card_setup: {initialized: false})
)
).distinct
}
# scope :missing_keychain_values, -> {
# where(company_pb_entity_key: [nil, ''])
# .or(where(plan_id: [nil, '']))
# .or(where(group_number: [nil, '']))
# .or(where(pl_plan_key: [nil, '']))
# }
scope :missing_keychain_initialization, -> {
uninitialized.automation_ready
}
scope :uninitialized_id_card_setup, -> {
joins(:id_card_setup)
left_outer_joins(:id_card_setup)
.where(id_card_setup: {initialized: false})
}
scope :missing_plans, -> {
where.missing(:plans)
.or(
where(
id: joins(:plans)
.where(plans: { pb_product_key: [nil, ''] })
.select(:id)
)
)
left_outer_joins(:plans)
.where(id_card_plans: { pb_product_key: [nil, ""] })
.distinct
}
scope :has_plans, -> {
where.associated(:plans)
.where.not(
id: joins(:plans)
.where(plans: { pb_product_key: [nil, ''] })
.select(:id)
).distinct
left_outer_joins(:plans)
.where("id_card_plans.pb_product_key IS NOT NULL AND id_card_plans.pb_product_key != ''")
.distinct
}
scope :missing_members, -> {
left_outer_joins(:members)
.where(members: { id: nil })
.distinct
}
scope :has_members, -> {
left_outer_joins(:members)
.where.not(members: { id: nil })
.distinct
}
scope :missing_plans_initialization, -> {
uninitialized_id_card_setup.missing_plans
initialized.uninitialized_id_card_setup.missing_plans
}
scope :missing_members_initialization, -> {
uninitialized_id_card_setup.has_plans
initialized.uninitialized_id_card_setup.has_plans.missing_members
}
scope :ready_for_id_card_activation, -> {
initialized.uninitialized_id_card_setup.has_members
}
scope :with_active_id_card_setup, -> {
@@ -76,62 +77,11 @@ module EmployerAutomation
.where(id_card_setup: {active: true})
}
# scope :with_keychain_values, -> {
# where.not(
# pl_plan_key: [nil, ''],
# group_number: [nil, ''],
# company_pb_entity_key: [nil, ''],
# plan_id: [nil, '']
# )
# }
scope :deactivated, -> {
inactive.initialized
}
# Employer.joins(:id_card_setup)
# .left_outer_joins(:plans)
# .where(plans: { pb_product_key: [nil, ''] })
# .group('users.id') # Group by user ID
# .having('COUNT(posts.id) = 0')
# Employer.left_outer_joins(:plans)
# .where(plans: { id: nil })
# .or(Employer.where(plans: { pb_product_key: [nil, ''] }))
# Employer.where.missing(:plans)
# .or(Employer.joins(:plans).where(plans: { pb_product_key: [nil, ''] }))
# Employer.joins(id_card_setup: :plans).where.not("plans.id_card_setup_id = id_card_setup.id").or
# (where(plans: { pb_product_key: [nil, ''] }))
# 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_initial_members, -> {
# new_groups.with_plans
# }
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_members_with_vhcs
AutomationService::EmployerMembersUpdate.new(pl_plan_key).call
end
-23
View File
@@ -1,29 +1,6 @@
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
+8 -2
View File
@@ -4,12 +4,18 @@ class Employer < ApplicationRecord
accepts_nested_attributes_for :members, allow_destroy: true, reject_if: :all_blank
has_one :id_card_setup, class_name: 'IdCard::Setup', dependent: :destroy
has_many :plans, class_name: 'IdCard::Plan', through: :id_card_setup
has_many :print_data, class_name: 'IdCard::PrintData', dependent: :destroy
validates :name, :slug, :effective_date, presence: true
validates :group_number, :pl_plan_key, :company_pb_entity_key, :plan_id, presence: true, if: -> { initialized }
validates :name, :slug, :group_number, :pl_plan_key, :company_pb_entity_key, :plan_id, uniqueness: true, allow_blank: true
scope :active, -> { where(active: true) }
scope :inactive, -> { where(active: false) }
before_save :create_slug, if: :will_save_change_to_name?
before_save :active_initialized_check, if: :will_save_change_to_active?
before_validation :create_slug, if: :will_save_change_to_name?
before_validation :active_initialized_check, if: :will_save_change_to_active?
def create_slug
+4 -21
View File
@@ -1,7 +1,9 @@
module IdCard
class EmployerLogo < ApplicationRecord
# before_validation :resize_logo, if: :image_data_changed?
# before_validation :calculate_aspect_ratio, if: :image_data_changed?
belongs_to :setup, optional: true
validates :filename, :image_data, :content_type, :aspect_ratio, presence: true
validates :filename, uniqueness: true
before_validation :process_image, if: :image_data_changed?
private
@@ -27,24 +29,5 @@ module IdCard
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
+2
View File
@@ -6,6 +6,8 @@ module IdCard
serialize :exception_values, coder: JSON
validates :exception_type, :exception_values, presence: true
VALID_TYPES = ['family_id', 'zipcode', 'state'].freeze
before_validation :format_exception_values, if: :exception_values_changed?
@@ -5,6 +5,8 @@ module IdCard
belongs_to :provider_section, optional: true
validate :only_one_exception_field_present
validates :field_name, presence: true
validates :field_name, uniqueness: { scope: :field_exception_id }
FIELDS_TO_VALIDATE = [:field_value, :network_logo_id, :provider_section_id].freeze
+3 -22
View File
@@ -1,7 +1,8 @@
module IdCard
class NetworkLogo < ApplicationRecord
# before_validation :resize_logo, if: :image_data_changed?
# before_validation :calculate_aspect_ratio, if: :image_data_changed?
validates :filename, :image_data, :content_type, :aspect_ratio, presence: true
validates :filename, uniqueness: true
before_validation :process_image, if: :image_data_changed?
scope :defaults, -> { where(default: true) }
@@ -41,25 +42,5 @@ module IdCard
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
+18 -8
View File
@@ -4,6 +4,11 @@ module IdCard
has_many :plan_benefits, dependent: :destroy
accepts_nested_attributes_for :plan_benefits, allow_destroy: true, reject_if: :all_blank
validates :title, presence: true
validates :pb_product_key, :pl_plan_key, presence: true, if: -> { setup&.active }
validates :pb_product_key, uniqueness: true, allow_nil: true
validate :validate_plan_benefits_count, unless: -> { template }
scope :templates, -> { where(template: true) }
FARIOS_BENEFIT_FIELDS = ["Primary Visit", "Specialist Visit", "Urgent Care", "INN-Ind Ded", "INN-Family Ded", "OON-Ind Ded", "OON-Family Ded", "Co-Insurance", "INN-Ind OOP", "INN-Family OOP", "OON-Ind OOP", "OON-Family OOP", "Emergency Room", "Preventive Care"].freeze
@@ -39,10 +44,6 @@ module IdCard
class << self
# def templates
# active_templates.map(&:format_template)
# end
def permitted_params(params)
params.require(:id_card_setup).permit(
plans_attributes: [
@@ -66,11 +67,20 @@ module IdCard
private
def build_and_create_default_benefits
benefits = IdCardBenefitsTemplate.find_by(title: "BLANK").id_card_benefits.sort_by(&:sequence)
benefits.each do |ben|
id_card_plan_benefits.new(benefit_desc: ben.benefit_desc, sequence: ben.sequence)
def validate_plan_benefits_count
plan_benefits_size = plan_benefits.size
template_benefits_size = case setup&.card_template
when "TandemlocIDCard"
TANDEMLOC_BENEFIT_FIELDS.size
when "SmartIDCard"
SMART_BENEFIT_FIELDS.size
else
FARIOS_BENEFIT_FIELDS.size
end
unless plan_benefits_size == template_benefits_size
errors.add(:base, "Plan Benefits size (#{plan_benefits_size}) does not match ID Card Template (#{template_benefits_size})")
end
end
end
end
+3
View File
@@ -1,5 +1,8 @@
module IdCard
class PlanBenefit < ApplicationRecord
belongs_to :plan
validates :benefit_desc, :sequence, presence: true
validates :benefit, presence: true, unless: :new_record?
end
end
+13 -2
View File
@@ -1,14 +1,25 @@
module IdCard
class PrintData < ApplicationRecord
belongs_to :employer, class_name: 'Employer'
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
private
def has_jasper_sorting_fields
missing_sample_card_fields = sample_plan_title.blank?
missing_member_card_fields = employer_name.blank? || full_name_last_name_first.blank?
if missing_sample_card_fields || missing_member_card_fields
errors.add(:base, "Required field for Jasper Server is missing")
end
end
def assign_blank_strings_to_unassigned_params
STRING_ATTRIBUTES.each do |attr|
# Use the blank? method which checks for nil, false, empty, or whitespace strings
self[attr] = "" if self[attr].blank?
self[attr] = "" if self[attr].blank?
end
end
end
+10 -1
View File
@@ -5,6 +5,7 @@ module IdCard
def self.permitted_params(params)
params.require(:id_card_setup).require(:provider_section).permit(
:title,
:provider_line_1,
:provider_line_2,
:provider_line_3,
@@ -30,7 +31,15 @@ module IdCard
:claim_to_11,
:claim_to_12
)
end
end
def display_title
if self.default
"Default #{self.title}"
else
self.title
end
end
end
end
+40 -23
View File
@@ -1,14 +1,21 @@
module IdCard
class Setup < ApplicationRecord
belongs_to :employer, class_name: 'Employer'
belongs_to :employer_logo, optional: true
belongs_to :network_logo, optional: true
belongs_to :provider_section, optional: true
belongs_to :rx_section, optional: true
has_one :employer_logo, dependent: :destroy
has_many :plans, dependent: :destroy
has_many :field_exceptions, dependent: :destroy
validates :print_name, :network_provider, :card_template, :employer_logo, :network_logo_id,
:provider_section_id, :rx_section_id, presence: true, unless: :new_record?
validates :pl_plan_key, :rx_group_number, presence: true, if: -> { initialized }
validate :validate_print_name_fits_on_card
attr_accessor :print_name_pixel_width
accepts_nested_attributes_for :plans, allow_destroy: true, reject_if: :all_blank
accepts_nested_attributes_for :field_exceptions, allow_destroy: true, reject_if: :all_blank
@@ -16,7 +23,7 @@ module IdCard
scope :active, -> { where(active: true) }
FORM_COLORS = ['atmosphere', 'verdigris', 'bluemana', 'cobalt']
FORM_COLORS = ['atmosphere', 'verdigris-vivid', 'cobalt-vivid', 'bluemana']
MODULE_COLOR = 'atmosphere'
before_save :active_initialized_check, if: :will_save_change_to_active?
@@ -27,14 +34,6 @@ module IdCard
end
end
# def employer_logo_filename
# self.employer_logo.filename
# end
# def network_logo_filename
# self.network_logo.filename
# end
def build_plan_with_default_benefits(attributes = {})
plan = plans.new(attributes)
benefits = IdCardBenefitsTemplate.find_by(title: "BLANK").id_card_benefits.sort_by(&:sequence)
@@ -45,7 +44,28 @@ module IdCard
end
def has_field_exceptions?
self.field_exceptions.present?
field_exceptions.present?
end
def sample_card_print_ready?
print_name.present? &&
card_template.present? &&
employer_logo.present? &&
network_logo_id.present? &&
provider_section_id.present? &&
rx_section_id.present? &&
plans.present?
end
def member_cards_print_ready?
sample_card_print_ready? &&
plans.present? &&
plans.all? { |plan| plan.pb_product_key.present? } &&
employer.members.present?
end
def activation_ready?
member_cards_print_ready? && !active
end
def field_exceptions_card_attributes_by_member_id(member_array = nil)
@@ -54,17 +74,6 @@ module IdCard
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"
@@ -90,14 +99,22 @@ module IdCard
def self.permitted_params(params)
params.require(:id_card_setup).permit(
:print_name,
:print_name_pixel_width,
:network_provider,
:card_template,
:rx_group_number,
:employer_logo_id,
:network_logo_id,
:rx_section_id,
:provider_section_id
)
end
private
def validate_print_name_fits_on_card
if print_name_pixel_width.to_i > 100
errors.add(:print_name, "Too Long For Card")
end
end
end
end
+8 -3
View File
@@ -4,6 +4,14 @@ class Member < ApplicationRecord
belongs_to :employer
serialize :dependents, coder: JSON
validates :pb_entity_key, presence: true
validates :name, :family_id, :mb_member_key, :pl_plan_key,
:id_card_display_name, presence: true, unless: :new_record?
validates :division, presence: true, if: -> { employer.id_card_setup.has_divisions }
validates :coverage_class, :dental_plan_key, presence: true, if: -> { employer.id_card_setup.has_dental }
validates :name, :mb_member_key, :pb_entity_key, uniqueness: true
before_validation :format_dependents, if: :dependents_changed?
def id_card_field_exception_values
@@ -23,7 +31,4 @@ class Member < ApplicationRecord
end
end
end
-16
View File
@@ -1,16 +0,0 @@
class AlternateNetworkLogo < ApplicationRecord
belongs_to :employer
# before_save :process_network_logo
def process_network_logo
if self.network_logo.present? && !self.network_logo.is_a?(String)
self.employer_setup_process.card_logo_files.new(
filename: self.network_logo.filename,
logo_type: 'network',
image: self.network_logo.data,
pl_plan_key: self.employer_setup_process.pl_plan_key || ""
)
end
end
end
-14
View File
@@ -1,14 +0,0 @@
class CardLogoFile < ApplicationRecord
has_many :employer_card_logos, dependent: :destroy
has_many :employers, through: :employer_card_logos
before_save :round_aspect_ratio
private
def round_aspect_ratio
if self.aspect_ratio.present?
self.aspect_ratio = self.aspect_ratio.round(2)
end
end
end
-5
View File
@@ -1,5 +0,0 @@
class EmployerCardLogo < ApplicationRecord
belongs_to :employer
belongs_to :card_logo_file
end
-106
View File
@@ -1,106 +0,0 @@
class EmployerSetupProcess < ApplicationRecord
has_many :plans, dependent: :destroy
accepts_nested_attributes_for :plans, allow_destroy: true, reject_if: :all_blank
has_many :alternate_network_logos, dependent: :destroy
accepts_nested_attributes_for :alternate_network_logos, allow_destroy: true, reject_if: :all_blank
has_many :card_logo_files
# before_save :process_employer_logo
before_save :create_slug, if: :new_record?
def process_employer_logo
if self.employer_logo.present? && !self.employer_logo.is_a?(String)
self.card_logo_files.new(
filename: self.employer_logo.filename,
logo_type: 'employer',
image: self.employer_logo.data,
pl_plan_key: self.pl_plan_key || ""
)
end
end
def create_slug
self.slug = employer_trimmed_name.parameterize
end
def employer_name_to_logo_filename(extension)
self.employer_trimmed_name.titleize.gsub(/\s+/, '').concat('Logo').concat(extension.downcase)
end
def employer_trimmed_name
regex_source = Regexp.union(["health", "plan", "the", "inc", "llc"]).source
case_insensitive_regex = Regexp.new(regex_source, "i")
self.employer_name.gsub(case_insensitive_regex, "").squish
end
def self.permitted_params(params)
params.require(:employer_setup_process).permit(
:employer_name,
:group_number,
:pl_plan_key,
:effective_date,
:employer_logo,
:network_provider,
plans_attributes: [
:id,
:title,
:plan_id,
:_destroy,
plan_benefits_attributes: [
:id,
:benefit_desc,
:benefit,
:sequence,
:_destroy,
]
],
alternate_network_logos_attributes: [
:id,
:network_logo,
:exception_type,
:exception_value,
:_destroy
]
)
end
def save_to_prod
VhcsRecord.transaction do
Vhcs::HlPlanCode.create!(
group_number: self.group_number,
medical_number: self.group_number,
dental_number: '',
plan_key: self.pl_plan_key,
effect_date: self.effective_date
)
# Replace fairos_info with template like for benefits
fairos_info = Vhcs::HlrxCrosRef.where(pl_plan_key: 52).first
Vhcs::HlrxCrosRef.cdarreate!(
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,
pl_plan_key: self.pl_plan_key
)
self.plans.each_with_index do |plan, i|
plan.plan_benefits.each do |bene|
Vhcs::HlEgglestonCardBenefit.create!(
plan_id: plan.plan_id,
benefit_desc: bene.benefit_desc,
benefit: bene.benefit,
sequence: bene.sequence,
plan_key: self.pl_plan_key
)
end
end
end
end
end
-3
View File
@@ -1,3 +0,0 @@
class IdCardBenefit < ApplicationRecord
belongs_to :id_card_benefits_template
end
@@ -1,5 +0,0 @@
class IdCardBenefitsTemplate < ApplicationRecord
has_many :id_card_benefits, dependent: :destroy
end
+9
View File
@@ -0,0 +1,9 @@
class User < ApplicationRecord
# Include default devise modules. Others available are:
# :confirmable, :lockable, :timeoutable, :trackable and :omniauthable
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :validatable,
:lockable, :trackable
enum role: { user: 0, admin: 1, dev: 2 }
end
-1
View File
@@ -148,7 +148,6 @@ module Vhcs
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: self.rx_group,
-48
View File
@@ -1,48 +0,0 @@
module Vhcs
class HlidCardProvider < VhcsRecord
self.table_name = 'HLIDCardProvider'
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 :mail_to, :MailTo
alias_attribute :mail_to_2, :MailTo2
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 :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_10, :ClaimTo10
alias_attribute :claim_to_11, :ClaimTo11
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_10, :ProviderLine10
alias_attribute :provider_line_11, :ProviderLine11
alias_attribute :rx_group_id, :RXGroupId
alias_attribute :rx_contact, :RXContact
alias_attribute :provider_lookup_1, :ProviderLookup1
alias_attribute :provider_lookup_2, :ProviderLookup2
alias_attribute :precert1, :Precert1
alias_attribute :precert2, :Precert2
alias_attribute :precert3, :Precert3
alias_attribute :precert4, :Precert4
alias_attribute :precert5, :Precert5
alias_attribute :precert6, :Precert6
end
end
-15
View File
@@ -1,15 +0,0 @@
module Vhcs
class HlrxCrosRef < VhcsRecord
self.table_name = 'HLRXCrosRef'
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 :pl_plan_key, :PLPlanKey
end
end