class VericredClient::MedicalPlanUpdate

Attributes

abortion_rider[RW]

True if plan covers abortion when there is no public funding available

actively_marketed[RW]

Indicates whether this plan is being actively marketed by the carrier.

actuarial_value[RW]

Percentage of total average costs for covered benefits that a plan will cover.

adult_dental[RW]

Adult dental string boolean

age29_rider[RW]

True if the plan allows dependents up to age 29

audience[RW]

The medical plan audience

benefits[RW]

Medical Plan Benefits

benefits_summary_url[RW]

Link to the summary of benefits and coverage (SBC) document.

chiropractic_services_bool[RW]

Chiropractic services string boolean

coinsurance[RW]

Standard cost share for most benefits

covered_ages[RW]

allowed ages on the plan, possible values: allows adult-only, allows child-only, allows adult and child-only, child29, requires adult

display_name[RW]

Display alias for the plan

dp_rider[RW]

True if plan does not cover domestic partners

drug_formulary_url[RW]

Link to the summary of drug benefits for the plan

embedded_deductible[RW]

Is the individual deductible for each covered person, embedded in the family deductible

essential_health_benefits_percentage[RW]

Percentage of essential plan benefits

external_id[RW]

Medical Plan External Identifier

external_ids[RW]

Medical Plan External Identifiers

fp_rider[RW]

True if plan does not cover family planning

gated[RW]

Does the plan's network require a physician referral?

hsa_eligible[RW]

Is the plan HSA eligible?

infertility_rider[RW]

True if plan covers infertility treatment

issuer_vericred_id[RW]

The issuer vericred id

key_benefits_complete[RW]

Indicates whether the plan has meaningful descriptions for these benefits: individual_medical_deductible, family_medical_deductible, individual_medical_moop, family_medical_moop, primary_care_physician.

level[RW]

Plan metal grouping (e.g. platinum, gold, silver, etc)

mail_order_rx[RW]

Multiple of the standard Rx cost share for orders filled via mail order

market[RW]

Market for plan

name[RW]

The medical plan name

plan_ancestors[RW]

A list of plan identifiers and years indicating the previous plans that the plan replaces

plan_calendar[RW]

Are deductibles and MOOPs reset on Dec-31 ("calendar year"), 365 day(s) after enrollment date ("plan year"), or are both options available ("both")?

plan_market[RW]

Market in which the plan is offered (on_marketplace, shop, etc)

plan_type[RW]

Category of the plan (e.g. EPO, HMO, PPO, POS, Indemnity, PACE, Medicare-Medicaid, HMO w/POS, Cost, FFS, MSA)

private_exchange[RW]

Plan private exchange

privileged_data[RW]

TRUE if plan data is Privileged

sbc_name[RW]

Name of the SBC

service_area_external_key[RW]

The external identifier for the plan service area

skilled_nursing_facility_365[RW]

Does the plan cover full-time, year-round, nursing facilities?

source[RW]

Source of the plan benefit data

state_code[RW]

State code

telemedicine[RW]

Indicates whether there is coverage for the remote delivery of medical benefits

year[RW]

Plan year

Public Class Methods

attribute_map() click to toggle source

Attribute mapping from ruby-style variable name to JSON key.

# File lib/vericred_client/models/medical_plan_update.rb, line 1145
def self.attribute_map
  {
    :'abortion_rider' => :'abortion_rider',
    :'actively_marketed' => :'actively_marketed',
    :'actuarial_value' => :'actuarial_value',
    :'adult_dental' => :'adult_dental',
    :'age29_rider' => :'age29_rider',
    :'audience' => :'audience',
    :'benefits' => :'benefits',
    :'benefits_summary_url' => :'benefits_summary_url',
    :'buy_link' => :'buy_link',
    :'chiropractic_services_bool' => :'chiropractic_services_bool',
    :'coinsurance' => :'coinsurance',
    :'covered_ages' => :'covered_ages',
    :'display_name' => :'display_name',
    :'dp_rider' => :'dp_rider',
    :'drug_formulary_url' => :'drug_formulary_url',
    :'embedded_deductible' => :'embedded_deductible',
    :'essential_health_benefits_percentage' => :'essential_health_benefits_percentage',
    :'external_id' => :'external_id',
    :'external_ids' => :'external_ids',
    :'fp_rider' => :'fp_rider',
    :'gated' => :'gated',
    :'hsa_eligible' => :'hsa_eligible',
    :'infertility_rider' => :'infertility_rider',
    :'issuer_vericred_id' => :'issuer_vericred_id',
    :'key_benefits_complete' => :'key_benefits_complete',
    :'level' => :'level',
    :'mail_order_rx' => :'mail_order_rx',
    :'market' => :'market',
    :'name' => :'name',
    :'plan_ancestors' => :'plan_ancestors',
    :'plan_calendar' => :'plan_calendar',
    :'plan_market' => :'plan_market',
    :'plan_type' => :'plan_type',
    :'private_exchange' => :'private_exchange',
    :'privileged_data' => :'privileged_data',
    :'sbc_name' => :'sbc_name',
    :'service_area_external_key' => :'service_area_external_key',
    :'skilled_nursing_facility_365' => :'skilled_nursing_facility_365',
    :'source' => :'source',
    :'state_code' => :'state_code',
    :'telemedicine' => :'telemedicine',
    :'year' => :'year'
  }
end
new(attributes = {}) click to toggle source

Initializes the object @param [Hash] attributes Model attributes in the form of hash

# File lib/vericred_client/models/medical_plan_update.rb, line 1242
def initialize(attributes = {})
  return unless attributes.is_a?(Hash)

  # convert string to symbol for hash key
  attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}

  if attributes.has_key?(:'abortion_rider')
    self.abortion_rider = attributes[:'abortion_rider']
  end

  if attributes.has_key?(:'actively_marketed')
    self.actively_marketed = attributes[:'actively_marketed']
  end

  if attributes.has_key?(:'actuarial_value')
    self.actuarial_value = attributes[:'actuarial_value']
  end

  if attributes.has_key?(:'adult_dental')
    self.adult_dental = attributes[:'adult_dental']
  end

  if attributes.has_key?(:'age29_rider')
    self.age29_rider = attributes[:'age29_rider']
  end

  if attributes.has_key?(:'audience')
    self.audience = attributes[:'audience']
  end

  if attributes.has_key?(:'benefits')
    self.benefits = attributes[:'benefits']
  end

  if attributes.has_key?(:'benefits_summary_url')
    self.benefits_summary_url = attributes[:'benefits_summary_url']
  end

  if attributes.has_key?(:'buy_link')
    self.buy_link = attributes[:'buy_link']
  end

  if attributes.has_key?(:'chiropractic_services_bool')
    self.chiropractic_services_bool = attributes[:'chiropractic_services_bool']
  end

  if attributes.has_key?(:'coinsurance')
    self.coinsurance = attributes[:'coinsurance']
  end

  if attributes.has_key?(:'covered_ages')
    self.covered_ages = attributes[:'covered_ages']
  end

  if attributes.has_key?(:'display_name')
    self.display_name = attributes[:'display_name']
  end

  if attributes.has_key?(:'dp_rider')
    self.dp_rider = attributes[:'dp_rider']
  end

  if attributes.has_key?(:'drug_formulary_url')
    self.drug_formulary_url = attributes[:'drug_formulary_url']
  end

  if attributes.has_key?(:'embedded_deductible')
    self.embedded_deductible = attributes[:'embedded_deductible']
  end

  if attributes.has_key?(:'essential_health_benefits_percentage')
    self.essential_health_benefits_percentage = attributes[:'essential_health_benefits_percentage']
  end

  if attributes.has_key?(:'external_id')
    self.external_id = attributes[:'external_id']
  end

  if attributes.has_key?(:'external_ids')
    if (value = attributes[:'external_ids']).is_a?(Array)
      self.external_ids = value
    end
  end

  if attributes.has_key?(:'fp_rider')
    self.fp_rider = attributes[:'fp_rider']
  end

  if attributes.has_key?(:'gated')
    self.gated = attributes[:'gated']
  end

  if attributes.has_key?(:'hsa_eligible')
    self.hsa_eligible = attributes[:'hsa_eligible']
  end

  if attributes.has_key?(:'infertility_rider')
    self.infertility_rider = attributes[:'infertility_rider']
  end

  if attributes.has_key?(:'issuer_vericred_id')
    self.issuer_vericred_id = attributes[:'issuer_vericred_id']
  end

  if attributes.has_key?(:'key_benefits_complete')
    self.key_benefits_complete = attributes[:'key_benefits_complete']
  end

  if attributes.has_key?(:'level')
    self.level = attributes[:'level']
  end

  if attributes.has_key?(:'mail_order_rx')
    self.mail_order_rx = attributes[:'mail_order_rx']
  end

  if attributes.has_key?(:'market')
    self.market = attributes[:'market']
  end

  if attributes.has_key?(:'name')
    self.name = attributes[:'name']
  end

  if attributes.has_key?(:'plan_ancestors')
    if (value = attributes[:'plan_ancestors']).is_a?(Array)
      self.plan_ancestors = value
    end
  end

  if attributes.has_key?(:'plan_calendar')
    self.plan_calendar = attributes[:'plan_calendar']
  end

  if attributes.has_key?(:'plan_market')
    self.plan_market = attributes[:'plan_market']
  end

  if attributes.has_key?(:'plan_type')
    self.plan_type = attributes[:'plan_type']
  end

  if attributes.has_key?(:'private_exchange')
    self.private_exchange = attributes[:'private_exchange']
  end

  if attributes.has_key?(:'privileged_data')
    self.privileged_data = attributes[:'privileged_data']
  end

  if attributes.has_key?(:'sbc_name')
    self.sbc_name = attributes[:'sbc_name']
  end

  if attributes.has_key?(:'service_area_external_key')
    self.service_area_external_key = attributes[:'service_area_external_key']
  end

  if attributes.has_key?(:'skilled_nursing_facility_365')
    self.skilled_nursing_facility_365 = attributes[:'skilled_nursing_facility_365']
  end

  if attributes.has_key?(:'source')
    self.source = attributes[:'source']
  end

  if attributes.has_key?(:'state_code')
    self.state_code = attributes[:'state_code']
  end

  if attributes.has_key?(:'telemedicine')
    self.telemedicine = attributes[:'telemedicine']
  end

  if attributes.has_key?(:'year')
    self.year = attributes[:'year']
  end

end
swagger_types() click to toggle source

Attribute type mapping.

# File lib/vericred_client/models/medical_plan_update.rb, line 1193
def self.swagger_types
  {
    :'abortion_rider' => :'BOOLEAN',
    :'actively_marketed' => :'String',
    :'actuarial_value' => :'Float',
    :'adult_dental' => :'BOOLEAN',
    :'age29_rider' => :'BOOLEAN',
    :'audience' => :'String',
    :'benefits' => :'MedicalPlanBenefits',
    :'benefits_summary_url' => :'String',
    :'buy_link' => :'String',
    :'chiropractic_services_bool' => :'String',
    :'coinsurance' => :'Float',
    :'covered_ages' => :'String',
    :'display_name' => :'String',
    :'dp_rider' => :'BOOLEAN',
    :'drug_formulary_url' => :'String',
    :'embedded_deductible' => :'String',
    :'essential_health_benefits_percentage' => :'Float',
    :'external_id' => :'String',
    :'external_ids' => :'Array<PlanIdentifier>',
    :'fp_rider' => :'BOOLEAN',
    :'gated' => :'BOOLEAN',
    :'hsa_eligible' => :'BOOLEAN',
    :'infertility_rider' => :'BOOLEAN',
    :'issuer_vericred_id' => :'String',
    :'key_benefits_complete' => :'BOOLEAN',
    :'level' => :'String',
    :'mail_order_rx' => :'Float',
    :'market' => :'String',
    :'name' => :'String',
    :'plan_ancestors' => :'Array<PlanAncestor>',
    :'plan_calendar' => :'String',
    :'plan_market' => :'String',
    :'plan_type' => :'String',
    :'private_exchange' => :'String',
    :'privileged_data' => :'BOOLEAN',
    :'sbc_name' => :'String',
    :'service_area_external_key' => :'String',
    :'skilled_nursing_facility_365' => :'String',
    :'source' => :'String',
    :'state_code' => :'String',
    :'telemedicine' => :'String',
    :'year' => :'Integer'
  }
end

Public Instance Methods

==(o) click to toggle source

Checks equality by comparing each attribute. @param [Object] Object to be compared

# File lib/vericred_client/models/medical_plan_update.rb, line 1437
def ==(o)
  return true if self.equal?(o)
  self.class == o.class &&
      abortion_rider == o.abortion_rider &&
      actively_marketed == o.actively_marketed &&
      actuarial_value == o.actuarial_value &&
      adult_dental == o.adult_dental &&
      age29_rider == o.age29_rider &&
      audience == o.audience &&
      benefits == o.benefits &&
      benefits_summary_url == o.benefits_summary_url &&
      buy_link == o.buy_link &&
      chiropractic_services_bool == o.chiropractic_services_bool &&
      coinsurance == o.coinsurance &&
      covered_ages == o.covered_ages &&
      display_name == o.display_name &&
      dp_rider == o.dp_rider &&
      drug_formulary_url == o.drug_formulary_url &&
      embedded_deductible == o.embedded_deductible &&
      essential_health_benefits_percentage == o.essential_health_benefits_percentage &&
      external_id == o.external_id &&
      external_ids == o.external_ids &&
      fp_rider == o.fp_rider &&
      gated == o.gated &&
      hsa_eligible == o.hsa_eligible &&
      infertility_rider == o.infertility_rider &&
      issuer_vericred_id == o.issuer_vericred_id &&
      key_benefits_complete == o.key_benefits_complete &&
      level == o.level &&
      mail_order_rx == o.mail_order_rx &&
      market == o.market &&
      name == o.name &&
      plan_ancestors == o.plan_ancestors &&
      plan_calendar == o.plan_calendar &&
      plan_market == o.plan_market &&
      plan_type == o.plan_type &&
      private_exchange == o.private_exchange &&
      privileged_data == o.privileged_data &&
      sbc_name == o.sbc_name &&
      service_area_external_key == o.service_area_external_key &&
      skilled_nursing_facility_365 == o.skilled_nursing_facility_365 &&
      source == o.source &&
      state_code == o.state_code &&
      telemedicine == o.telemedicine &&
      year == o.year
end
_deserialize(type, value) click to toggle source

Deserializes the data based on type @param string type Data type @param string value Value to be deserialized @return [Object] Deserialized data

# File lib/vericred_client/models/medical_plan_update.rb, line 1520
def _deserialize(type, value)
  case type.to_sym
  when :DateTime
    DateTime.parse(value)
  when :Date
    Date.parse(value)
  when :String
    value.to_s
  when :Integer
    value.to_i
  when :Float
    value.to_f
  when :BOOLEAN
    if value.to_s =~ /\A(true|t|yes|y|1)\z/i
      true
    else
      false
    end
  when :Object
    # generic object (usually a Hash), return directly
    value
  when /\AArray<(?<inner_type>.+)>\z/
    inner_type = Regexp.last_match[:inner_type]
    value.map { |v| _deserialize(inner_type, v) }
  when /\AHash<(?<k_type>.+), (?<v_type>.+)>\z/
    k_type = Regexp.last_match[:k_type]
    v_type = Regexp.last_match[:v_type]
    {}.tap do |hash|
      value.each do |k, v|
        hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
      end
    end
  else # model
    temp_model = VericredClient.const_get(type).new
    temp_model.build_from_hash(value)
  end
end
_to_hash(value) click to toggle source

Outputs non-array value in the form of hash For object, use to_hash. Otherwise, just return the value @param [Object] value Any valid value @return [Hash] Returns the value in the form of hash

# File lib/vericred_client/models/medical_plan_update.rb, line 1586
def _to_hash(value)
  if value.is_a?(Array)
    value.compact.map{ |v| _to_hash(v) }
  elsif value.is_a?(Hash)
    {}.tap do |hash|
      value.each { |k, v| hash[k] = _to_hash(v) }
    end
  elsif value.respond_to? :to_hash
    value.to_hash
  else
    value
  end
end
build_from_hash(attributes) click to toggle source

Builds the object from hash @param [Hash] attributes Model attributes in the form of hash @return [Object] Returns the model itself

# File lib/vericred_client/models/medical_plan_update.rb, line 1499
def build_from_hash(attributes)
  return nil unless attributes.is_a?(Hash)
  self.class.swagger_types.each_pair do |key, type|
    if type =~ /\AArray<(.*)>/i
      # check to ensure the input is an array given that the the attribute
      # is documented as an array but the input is not
      if attributes[self.class.attribute_map[key]].is_a?(Array)
        self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
      end
    elsif !attributes[self.class.attribute_map[key]].nil?
      self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
    end # or else data not found in attributes(hash), not an issue as the data can be optional
  end

  self
end
eql?(o) click to toggle source

@see the `==` method @param [Object] Object to be compared

# File lib/vericred_client/models/medical_plan_update.rb, line 1486
def eql?(o)
  self == o
end
hash() click to toggle source

Calculates hash code according to all attributes. @return [Fixnum] Hash code

# File lib/vericred_client/models/medical_plan_update.rb, line 1492
def hash
  [abortion_rider, actively_marketed, actuarial_value, adult_dental, age29_rider, audience, benefits, benefits_summary_url, buy_link, chiropractic_services_bool, coinsurance, covered_ages, display_name, dp_rider, drug_formulary_url, embedded_deductible, essential_health_benefits_percentage, external_id, external_ids, fp_rider, gated, hsa_eligible, infertility_rider, issuer_vericred_id, key_benefits_complete, level, mail_order_rx, market, name, plan_ancestors, plan_calendar, plan_market, plan_type, private_exchange, privileged_data, sbc_name, service_area_external_key, skilled_nursing_facility_365, source, state_code, telemedicine, year].hash
end
list_invalid_properties() click to toggle source

Show invalid properties with the reasons. Usually used together with valid? @return Array for valid properies with the reasons

# File lib/vericred_client/models/medical_plan_update.rb, line 1424
def list_invalid_properties
  invalid_properties = Array.new
  return invalid_properties
end
to_body() click to toggle source

to_body is an alias to to_hash (backward compatibility) @return [Hash] Returns the object in the form of hash

# File lib/vericred_client/models/medical_plan_update.rb, line 1566
def to_body
  to_hash
end
to_hash() click to toggle source

Returns the object in the form of hash @return [Hash] Returns the object in the form of hash

# File lib/vericred_client/models/medical_plan_update.rb, line 1572
def to_hash
  hash = {}
  self.class.attribute_map.each_pair do |attr, param|
    value = self.send(attr)
    next if value.nil?
    hash[param] = _to_hash(value)
  end
  hash
end
to_s() click to toggle source

Returns the string representation of the object @return [String] String presentation of the object

# File lib/vericred_client/models/medical_plan_update.rb, line 1560
def to_s
  to_hash.to_s
end
valid?() click to toggle source

Check to see if the all the properties in the model are valid @return true if the model is valid

# File lib/vericred_client/models/medical_plan_update.rb, line 1431
def valid?
  return true
end