# #Eligibility # # Reference for developers # # OpenAPI spec version: v3 # # Generated by: https://github.com/swagger-api/swagger-codegen.git # Swagger Codegen version: 2.4.17 # require 'date' module ChangeHealthcare module Eligibility module SwaggerClient class Loop2000CD2100CDSegmentNM1REFDMGINSMPIPRVNotesResponseMember # Loop: 2000[C|D]/2100[C|D], Segment: N3 and N4 Element: INS04, Notes: Maintenance Reason Code attr_accessor :address # Loop: 2000[C|D]/2100[C|D], Segment: INS, Element: INS17, Notes: Birth Sequence Number Use to indicate the birth order in the event of multiple births in association with the birth date supplied in DMG02 attr_accessor :birth_sequence_number # Loop: 2000[C|D]/2100[C|D], Segment: DMG, Element: DMG02, Notes: Date of Birth attr_accessor :date_of_birth # Loop: 2000[C|D]/2100[C|D], Segment: MPI, Element: MPI07, Notes: MPI106=D8 Date Time Period attr_accessor :date_time_period # Loop: 2000[C|D]/2100[C|D], Segment: MPI, Element: MPI06, Notes: Date Time Period Format Qualifier attr_accessor :date_time_period_format_qualifier # Loop: 2000[C|D]/2100[C|D], Segment: MPI, Element: MPI04, Notes: Description attr_accessor :description # Loop: 2000[C|D]/2100[C|D], Segment: MPI, Element: MPI02, Notes: Employment Status Code attr_accessor :employment_status_code # Loop: 2000[C|D]/2100[C|D], Segment: MPI, Element: MPI08, Notes: MPI106=RD8 Date Time Period attr_accessor :end_date_time_period # Loop: 2000[C|D]/2100[C|D], Segment: NM1, Element: NM101, Notes: entityIdentifier attr_accessor :entity_identifier # Loop: 2000[C|D]/2100[C|D], Segment: NM1, Element: NM102, Notes: entityType attr_accessor :entity_type # Loop: 2000[C|D]/2100[C|D], Segment: NM1, Element: NM104, Notes: First Name attr_accessor :first_name # Loop: 2000[C|D]/2100[C|D], Segment: DMG, Element: DMG03, Notes: gender attr_accessor :gender # Loop: 2000[C|D]/2100[C|D], Segment: MPI, Element: MPI03, Notes: Government Service Affiliation Code attr_accessor :government_service_affiliation_code # Loop: 2000[C|D]/2100[C|D], Segment: REF, Element: REF02, Notes: REF01=6P Group Number attr_accessor :group_number attr_accessor :health_care_diagnosis_codes # Loop: 2000[C|D]/2100[C|D], Segment: MPI, Element: MPI01, Notes: Information Status Code attr_accessor :information_status_code # Loop: 2000[C|D]/2100[C|D], Segment: INS, Element: INS01, Notes: Insured Indicator attr_accessor :insured_indicator # Loop: 2000[C|D]/2100[C|D], Segment: NM1, Element: NM103, Notes: Last Name attr_accessor :last_name # Loop: 2000[C|D]/2100[C|D], Segment: INS, Element: INS04, Notes: Maintenance Reason Code attr_accessor :maintenance_reason_code # Loop: 2000[C|D]/2100[C|D], Segment: INS, Element: INS03, Notes: Maintenance Type Code attr_accessor :maintenance_type_code # Loop: 2000[C|D]/2100[C|D], Segment: NM1, Element: NM109, Notes: NM108=MI Member Identification Number attr_accessor :member_id # Loop: 2000[C|D]/2100[C|D], Segment: NM1 Element: NM105, Notes: Middle Name attr_accessor :middle_name # Loop: 2000[C|D]/2100[C|D], Segment: MPI, Element: MPI05, Notes: Military Service Rank Code attr_accessor :military_service_rank_code # Loop: 2000[C|D]/2100[C|D], Segment: REF, Element: REF02, Notes: REF01=18 Plan Number attr_accessor :plan_number # Loop: 2000[C|D]/2100[C|D], Segment: PRV, Notes: Provider Information attr_accessor :provider # Loop: 2000[C|D]/2100[C|D], Segment: INS, Element: INS02, Notes: Individual Relationship Code attr_accessor :relation_to_subscriber # Loop: 2000[C|D]/2100[C|D], Segment: INS, Element: INS02, Notes: Individual Relationship Code attr_accessor :relation_to_subscriber_code # Loop: 2000[C|D]/2100[C|D], Segment: REF, Element: REF02, Notes: REF01=SY Social Security Number attr_accessor :ssn # Loop: 2000[C|D]/2100[C|D], Segment: MPI, Element: MPI08, Notes: MPI106=RD8 Date Time Period attr_accessor :start_date_time_period # Loop: 2000[C|D]/2100[C|D], Segment: NM1, Element: NM107, Notes: suffix attr_accessor :suffix # Loop: 2000[C|D]/2100[C|D], Segment: NM1, Element: NM109, Notes: NM108=II uniqueHealthIdentifier attr_accessor :unique_health_identifier # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { 'address': :address, 'birth_sequence_number': :birthSequenceNumber, 'date_of_birth': :dateOfBirth, 'date_time_period': :dateTimePeriod, 'date_time_period_format_qualifier': :dateTimePeriodFormatQualifier, 'description': :description, 'employment_status_code': :employmentStatusCode, 'end_date_time_period': :endDateTimePeriod, 'entity_identifier': :entityIdentifier, 'entity_type': :entityType, 'first_name': :firstName, 'gender': :gender, 'government_service_affiliation_code': :governmentServiceAffiliationCode, 'group_number': :groupNumber, 'health_care_diagnosis_codes': :healthCareDiagnosisCodes, 'information_status_code': :informationStatusCode, 'insured_indicator': :insuredIndicator, 'last_name': :lastName, 'maintenance_reason_code': :maintenanceReasonCode, 'maintenance_type_code': :maintenanceTypeCode, 'member_id': :memberId, 'middle_name': :middleName, 'military_service_rank_code': :militaryServiceRankCode, 'plan_number': :planNumber, 'provider': :provider, 'relation_to_subscriber': :relationToSubscriber, 'relation_to_subscriber_code': :relationToSubscriberCode, 'ssn': :ssn, 'start_date_time_period': :startDateTimePeriod, 'suffix': :suffix, 'unique_health_identifier': :uniqueHealthIdentifier } end # Attribute type mapping. def self.swagger_types { 'address': :Address, 'birth_sequence_number': :String, 'date_of_birth': :Date, 'date_time_period': :String, 'date_time_period_format_qualifier': :String, 'description': :String, 'employment_status_code': :String, 'end_date_time_period': :String, 'entity_identifier': :String, 'entity_type': :String, 'first_name': :String, 'gender': :String, 'government_service_affiliation_code': :String, 'group_number': :String, 'health_care_diagnosis_codes': :'Array<HealthCareDiagnosisCode>', 'information_status_code': :String, 'insured_indicator': :String, 'last_name': :String, 'maintenance_reason_code': :String, 'maintenance_type_code': :String, 'member_id': :String, 'middle_name': :String, 'military_service_rank_code': :String, 'plan_number': :String, 'provider': :Loop2100BCDSegmentNM1PRVNotesProvider, 'relation_to_subscriber': :String, 'relation_to_subscriber_code': :String, 'ssn': :String, 'start_date_time_period': :String, 'suffix': :String, 'unique_health_identifier': :String } end # Initializes the object # @param [Hash] attributes Model attributes in the form of hash def initialize(attributes = {}) return unless attributes.is_a?(Hash) # convert string to symbol for hash key attributes = attributes.transform_keys(&:to_sym) self.address = attributes[:address] if attributes.key?(:address) self.birth_sequence_number = attributes[:birthSequenceNumber] if attributes.key?(:birthSequenceNumber) self.date_of_birth = attributes[:dateOfBirth] if attributes.key?(:dateOfBirth) self.date_time_period = attributes[:dateTimePeriod] if attributes.key?(:dateTimePeriod) self.date_time_period_format_qualifier = attributes[:dateTimePeriodFormatQualifier] if attributes.key?(:dateTimePeriodFormatQualifier) self.description = attributes[:description] if attributes.key?(:description) self.employment_status_code = attributes[:employmentStatusCode] if attributes.key?(:employmentStatusCode) self.end_date_time_period = attributes[:endDateTimePeriod] if attributes.key?(:endDateTimePeriod) self.entity_identifier = attributes[:entityIdentifier] if attributes.key?(:entityIdentifier) self.entity_type = attributes[:entityType] if attributes.key?(:entityType) self.first_name = attributes[:firstName] if attributes.key?(:firstName) self.gender = attributes[:gender] if attributes.key?(:gender) self.government_service_affiliation_code = attributes[:governmentServiceAffiliationCode] if attributes.key?(:governmentServiceAffiliationCode) self.group_number = attributes[:groupNumber] if attributes.key?(:groupNumber) if attributes.key?(:healthCareDiagnosisCodes) if (value = attributes[:healthCareDiagnosisCodes]).is_a?(Array) self.health_care_diagnosis_codes = value end end self.information_status_code = attributes[:informationStatusCode] if attributes.key?(:informationStatusCode) self.insured_indicator = attributes[:insuredIndicator] if attributes.key?(:insuredIndicator) self.last_name = attributes[:lastName] if attributes.key?(:lastName) self.maintenance_reason_code = attributes[:maintenanceReasonCode] if attributes.key?(:maintenanceReasonCode) self.maintenance_type_code = attributes[:maintenanceTypeCode] if attributes.key?(:maintenanceTypeCode) self.member_id = attributes[:memberId] if attributes.key?(:memberId) self.middle_name = attributes[:middleName] if attributes.key?(:middleName) self.military_service_rank_code = attributes[:militaryServiceRankCode] if attributes.key?(:militaryServiceRankCode) self.plan_number = attributes[:planNumber] if attributes.key?(:planNumber) self.provider = attributes[:provider] if attributes.key?(:provider) self.relation_to_subscriber = attributes[:relationToSubscriber] if attributes.key?(:relationToSubscriber) self.relation_to_subscriber_code = attributes[:relationToSubscriberCode] if attributes.key?(:relationToSubscriberCode) self.ssn = attributes[:ssn] if attributes.key?(:ssn) self.start_date_time_period = attributes[:startDateTimePeriod] if attributes.key?(:startDateTimePeriod) self.suffix = attributes[:suffix] if attributes.key?(:suffix) self.unique_health_identifier = attributes[:uniqueHealthIdentifier] if attributes.key?(:uniqueHealthIdentifier) end # Show invalid properties with the reasons. Usually used together with valid? # @return Array for valid properties with the reasons def list_invalid_properties [] end # Check to see if the all the properties in the model are valid # @return true if the model is valid def valid? true end # Checks equality by comparing each attribute. # @param [Object] Object to be compared def ==(o) return true if equal?(o) self.class == o.class && address == o.address && birth_sequence_number == o.birth_sequence_number && date_of_birth == o.date_of_birth && date_time_period == o.date_time_period && date_time_period_format_qualifier == o.date_time_period_format_qualifier && description == o.description && employment_status_code == o.employment_status_code && end_date_time_period == o.end_date_time_period && entity_identifier == o.entity_identifier && entity_type == o.entity_type && first_name == o.first_name && gender == o.gender && government_service_affiliation_code == o.government_service_affiliation_code && group_number == o.group_number && health_care_diagnosis_codes == o.health_care_diagnosis_codes && information_status_code == o.information_status_code && insured_indicator == o.insured_indicator && last_name == o.last_name && maintenance_reason_code == o.maintenance_reason_code && maintenance_type_code == o.maintenance_type_code && member_id == o.member_id && middle_name == o.middle_name && military_service_rank_code == o.military_service_rank_code && plan_number == o.plan_number && provider == o.provider && relation_to_subscriber == o.relation_to_subscriber && relation_to_subscriber_code == o.relation_to_subscriber_code && ssn == o.ssn && start_date_time_period == o.start_date_time_period && suffix == o.suffix && unique_health_identifier == o.unique_health_identifier end # @see the `==` method # @param [Object] Object to be compared def eql?(o) self == o end # Calculates hash code according to all attributes. # @return [Fixnum] Hash code def hash [address, birth_sequence_number, date_of_birth, date_time_period, date_time_period_format_qualifier, description, employment_status_code, end_date_time_period, entity_identifier, entity_type, first_name, gender, government_service_affiliation_code, group_number, health_care_diagnosis_codes, information_status_code, insured_indicator, last_name, maintenance_reason_code, maintenance_type_code, member_id, middle_name, military_service_rank_code, plan_number, provider, relation_to_subscriber, relation_to_subscriber_code, ssn, start_date_time_period, suffix, unique_health_identifier].hash end # Builds the object from hash # @param [Hash] attributes Model attributes in the form of hash # @return [Object] Returns the model itself 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 attribute # is documented as an array but the input is not if attributes[self.class.attribute_map[key]].is_a?(Array) send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize(Regexp.last_match(1), v) }) end elsif !attributes[self.class.attribute_map[key]].nil? 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 # Deserializes the data based on type # @param string type Data type # @param string value Value to be deserialized # @return [Object] Deserialized data 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 = SwaggerClient.const_get(type).new temp_model.build_from_hash(value) end end # Returns the string representation of the object # @return [String] String presentation of the object def to_s to_hash.to_s end # to_body is an alias to to_hash (backward compatibility) # @return [Hash] Returns the object in the form of hash def to_body to_hash end # Returns the object in the form of hash # @return [Hash] Returns the object in the form of hash def to_hash hash = {} self.class.attribute_map.each_pair do |attr, param| value = send(attr) next if value.nil? hash[param] = _to_hash(value) end hash end # 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 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 end end end end