Class: Trizetto::Api::Eligibility::WebService::Benefit
- Defined in:
- lib/trizetto/api/eligibility/web_service/benefit.rb
Overview
A Benefit provided by the insurance.
Example XML
<benefit>
<info>Out of Pocket (Stop Loss)</info>
<coveragelevel>Family</coveragelevel>
<servicetype>Health Benefit Plan Coverage</servicetype>
<servicetypecode>30</servicetypecode>
<time_period_qualifier>Remaining</time_period_qualifier>
<benefitamount>13097.6</benefitamount>
<plannetworkindicator>In Plan-Network</plannetworkindicator>
<message>BUT NO MORE THAN INDIVIDUAL AMOUNT PER MEMBER (ACCUMULATES WITH OUT-OF-NETWORK AMOUNTS)</message>
<message>CALCULATION INCLUDES DEDUCTIBLE, COPAYMENTS AND COINSURANCE FOR MEDICAL AND PRESCRIPTION DRUG BENEFITS.</message>
</benefit>
Example
benefit.info # => "Out of Pocket (Stop Loss)"
benefit. # => ["BUT NO MORE THAN...", "CALCULATION INCLUDES ...."]
Example XML
<benefit>
<info>Active Coverage</info>
<coveragelevel>Family</coveragelevel>
<servicetype>Health Benefit Plan Coverage</servicetype>
<servicetypecode>30</servicetypecode>
<insurancetype>Preferred Provider Organization (PPO)</insurancetype>
<insurancetypecode>PR</insurancetypecode>
<plancoveragedescription>PPO - PREFERRED BLUE PPO SAVER</plancoveragedescription>
</benefit>
Example
benefit.info # => "Active Coverage<"
benefit.service_type_codes # => ["30"]
Constant Summary collapse
- REQUIRED_KEYS =
{ info: '', service_type_codes: [], messages: [], }
- KEY_CLEANUP =
{ benefitamount: :benefit_amount, benefitentity: :entity, coveragelevel: :coverage_level, datequalifier: :date_qualifier, insurancetype: :insurance_type, insurancetypecode: :insurance_type_code, plancoveragedescription: :plan_coverage_description, plannetworkindicator: :plan_network_indicator, quantityqualifier: :quantity_qualifier, servicetype: :service_type, servicetypecode: :service_type_code, }
Instance Method Summary collapse
-
#active_coverage? ⇒ Boolean
Is this active insurance coverage?.
- #co_insurance? ⇒ Boolean
- #inactive? ⇒ Boolean
-
#initialize(raw_hash = {}) ⇒ Benefit
constructor
A new instance of Benefit.
- #limitation? ⇒ Boolean
- #non_covered? ⇒ Boolean
- #primary_care_provider? ⇒ Boolean
Constructor Details
#initialize(raw_hash = {}) ⇒ Benefit
Returns a new instance of Benefit.
67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 |
# File 'lib/trizetto/api/eligibility/web_service/benefit.rb', line 67 def initialize(raw_hash = {}) clean_hash = raw_hash.dup # Convert message, which is either a single or multiple entry int # the SOAP, which then gets turned into a string or an array by # Nori into a messages aaray clean_hash[:messages] = Array(clean_hash.delete(:message)) if clean_hash.has_key?(:message) # Service type codes indicate the type of benefit. # The magic decoder for ID => human meaning is here: http://www.x12.org/codes/health-care-service-type-codes/ # Multiple service type codes with the same benfit are combined with a ^ # so we turn a single servicetypecode entry into an array of service types clean_hash[:service_type_codes] = (clean_hash.delete(:servicetypecode) || '').split("^") super(clean_hash) if self.entity.is_a?(Hash) self.entity = BenefitEntity.new(self.entity) end end |
Instance Method Details
#active_coverage? ⇒ Boolean
Is this active insurance coverage?
89 90 91 |
# File 'lib/trizetto/api/eligibility/web_service/benefit.rb', line 89 def active_coverage? info == "Active Coverage" end |
#co_insurance? ⇒ Boolean
97 98 99 |
# File 'lib/trizetto/api/eligibility/web_service/benefit.rb', line 97 def co_insurance? info == "Co-Insurance" end |
#inactive? ⇒ Boolean
93 94 95 |
# File 'lib/trizetto/api/eligibility/web_service/benefit.rb', line 93 def inactive? info == "Inactive" end |
#limitation? ⇒ Boolean
101 102 103 |
# File 'lib/trizetto/api/eligibility/web_service/benefit.rb', line 101 def limitation? info == "Limitations" end |
#non_covered? ⇒ Boolean
105 106 107 |
# File 'lib/trizetto/api/eligibility/web_service/benefit.rb', line 105 def non_covered? info == "Non-Covered" end |
#primary_care_provider? ⇒ Boolean
109 110 111 |
# File 'lib/trizetto/api/eligibility/web_service/benefit.rb', line 109 def primary_care_provider? info == "Primary Care Provider" end |