change_healthcare-professional_claims 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (89) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +12 -0
  3. data/.rspec +3 -0
  4. data/.rubocop.yml +30 -0
  5. data/.travis.yml +6 -0
  6. data/.yardopts +1 -0
  7. data/CHANGELOG.md +0 -0
  8. data/Gemfile +6 -0
  9. data/Gemfile.lock +118 -0
  10. data/LICENSE.txt +21 -0
  11. data/README.md +39 -0
  12. data/Rakefile +8 -0
  13. data/TODO.md +8 -0
  14. data/bin/console +15 -0
  15. data/bin/rspec +29 -0
  16. data/bin/setup +8 -0
  17. data/change_healthcare-professional_claims.gemspec +43 -0
  18. data/lib/change_healthcare/professional_claims.rb +16 -0
  19. data/lib/change_healthcare/professional_claims/swagger_client.rb +106 -0
  20. data/lib/change_healthcare/professional_claims/swagger_client/api_client.rb +390 -0
  21. data/lib/change_healthcare/professional_claims/swagger_client/api_error.rb +42 -0
  22. data/lib/change_healthcare/professional_claims/swagger_client/configuration.rb +204 -0
  23. data/lib/change_healthcare/professional_claims/swagger_client/models/address.rb +219 -0
  24. data/lib/change_healthcare/professional_claims/swagger_client/models/ambulance_certification.rb +247 -0
  25. data/lib/change_healthcare/professional_claims/swagger_client/models/ambulance_transport_information.rb +259 -0
  26. data/lib/change_healthcare/professional_claims/swagger_client/models/clai_request.rb +283 -0
  27. data/lib/change_healthcare/professional_claims/swagger_client/models/claim_adjustment.rb +244 -0
  28. data/lib/change_healthcare/professional_claims/swagger_client/models/claim_adjustment_details.rb +199 -0
  29. data/lib/change_healthcare/professional_claims/swagger_client/models/claim_contract_information.rb +265 -0
  30. data/lib/change_healthcare/professional_claims/swagger_client/models/claim_date_information.rb +298 -0
  31. data/lib/change_healthcare/professional_claims/swagger_client/models/claim_information.rb +579 -0
  32. data/lib/change_healthcare/professional_claims/swagger_client/models/claim_note.rb +216 -0
  33. data/lib/change_healthcare/professional_claims/swagger_client/models/claim_pricing_repricing_information.rb +363 -0
  34. data/lib/change_healthcare/professional_claims/swagger_client/models/claim_reference.rb +231 -0
  35. data/lib/change_healthcare/professional_claims/swagger_client/models/claim_submission_request.rb +278 -0
  36. data/lib/change_healthcare/professional_claims/swagger_client/models/claim_supplemental_information.rb +315 -0
  37. data/lib/change_healthcare/professional_claims/swagger_client/models/composite_diagnosis_code_pointers.rb +191 -0
  38. data/lib/change_healthcare/professional_claims/swagger_client/models/condition_indicator_durable_medical_equipment.rb +281 -0
  39. data/lib/change_healthcare/professional_claims/swagger_client/models/condition_information.rb +190 -0
  40. data/lib/change_healthcare/professional_claims/swagger_client/models/contact_information.rb +209 -0
  41. data/lib/change_healthcare/professional_claims/swagger_client/models/contract_information.rb +255 -0
  42. data/lib/change_healthcare/professional_claims/swagger_client/models/dependent.rb +294 -0
  43. data/lib/change_healthcare/professional_claims/swagger_client/models/drug_identification.rb +278 -0
  44. data/lib/change_healthcare/professional_claims/swagger_client/models/durable_medical_equipment_certificate_of_medical_necessity.rb +226 -0
  45. data/lib/change_healthcare/professional_claims/swagger_client/models/durable_medical_equipment_certification.rb +233 -0
  46. data/lib/change_healthcare/professional_claims/swagger_client/models/durable_medical_equipment_service.rb +243 -0
  47. data/lib/change_healthcare/professional_claims/swagger_client/models/edit_response.rb +251 -0
  48. data/lib/change_healthcare/professional_claims/swagger_client/models/epsdt_referral.rb +236 -0
  49. data/lib/change_healthcare/professional_claims/swagger_client/models/error.rb +214 -0
  50. data/lib/change_healthcare/professional_claims/swagger_client/models/failure.rb +194 -0
  51. data/lib/change_healthcare/professional_claims/swagger_client/models/form_identification.rb +240 -0
  52. data/lib/change_healthcare/professional_claims/swagger_client/models/health_care_information.rb +233 -0
  53. data/lib/change_healthcare/professional_claims/swagger_client/models/line_adjudication_information.rb +284 -0
  54. data/lib/change_healthcare/professional_claims/swagger_client/models/measurements.rb +256 -0
  55. data/lib/change_healthcare/professional_claims/swagger_client/models/medicare_outpatient_adjudication.rb +213 -0
  56. data/lib/change_healthcare/professional_claims/swagger_client/models/other_payer_billing_provider.rb +236 -0
  57. data/lib/change_healthcare/professional_claims/swagger_client/models/other_payer_name.rb +285 -0
  58. data/lib/change_healthcare/professional_claims/swagger_client/models/other_payer_referring_provider.rb +192 -0
  59. data/lib/change_healthcare/professional_claims/swagger_client/models/other_payer_rendering_provider.rb +236 -0
  60. data/lib/change_healthcare/professional_claims/swagger_client/models/other_payer_service_facility_location.rb +192 -0
  61. data/lib/change_healthcare/professional_claims/swagger_client/models/other_payer_supervising_provider.rb +192 -0
  62. data/lib/change_healthcare/professional_claims/swagger_client/models/other_subscriber_information.rb +430 -0
  63. data/lib/change_healthcare/professional_claims/swagger_client/models/other_subscriber_name.rb +288 -0
  64. data/lib/change_healthcare/professional_claims/swagger_client/models/patient_condition_information_vision.rb +259 -0
  65. data/lib/change_healthcare/professional_claims/swagger_client/models/pay_to_plan.rb +278 -0
  66. data/lib/change_healthcare/professional_claims/swagger_client/models/payer.rb +194 -0
  67. data/lib/change_healthcare/professional_claims/swagger_client/models/prior_authorization.rb +194 -0
  68. data/lib/change_healthcare/professional_claims/swagger_client/models/professional_service.rb +290 -0
  69. data/lib/change_healthcare/professional_claims/swagger_client/models/provider.rb +281 -0
  70. data/lib/change_healthcare/professional_claims/swagger_client/models/purchased_service_information.rb +194 -0
  71. data/lib/change_healthcare/professional_claims/swagger_client/models/raw_x12_request.rb +194 -0
  72. data/lib/change_healthcare/professional_claims/swagger_client/models/receiver.rb +189 -0
  73. data/lib/change_healthcare/professional_claims/swagger_client/models/reference_identification.rb +199 -0
  74. data/lib/change_healthcare/professional_claims/swagger_client/models/report_information.rb +261 -0
  75. data/lib/change_healthcare/professional_claims/swagger_client/models/response.rb +240 -0
  76. data/lib/change_healthcare/professional_claims/swagger_client/models/service_facility_location.rb +224 -0
  77. data/lib/change_healthcare/professional_claims/swagger_client/models/service_line.rb +388 -0
  78. data/lib/change_healthcare/professional_claims/swagger_client/models/service_line_date_information.rb +236 -0
  79. data/lib/change_healthcare/professional_claims/swagger_client/models/service_line_provider.rb +293 -0
  80. data/lib/change_healthcare/professional_claims/swagger_client/models/service_line_reference_information.rb +230 -0
  81. data/lib/change_healthcare/professional_claims/swagger_client/models/spinal_manipulation_service_information.rb +238 -0
  82. data/lib/change_healthcare/professional_claims/swagger_client/models/submitter.rb +209 -0
  83. data/lib/change_healthcare/professional_claims/swagger_client/models/subscriber.rb +309 -0
  84. data/lib/change_healthcare/professional_claims/swagger_client/models/supporting_documentation.rb +249 -0
  85. data/lib/change_healthcare/professional_claims/swagger_client/professional_claims_api.rb +361 -0
  86. data/lib/change_healthcare/professional_claims/swagger_client/version.rb +19 -0
  87. data/lib/change_healthcare/professional_claims/version.rb +7 -0
  88. data/lib/change_healthcare/professional_claims/wrapper.rb +141 -0
  89. metadata +274 -0
@@ -0,0 +1,224 @@
1
+ # frozen_string_literal: true
2
+
3
+ # #Medical Network Professional Claims v3
4
+ #
5
+ # Reference for developers
6
+ #
7
+ # OpenAPI spec version: v3
8
+ #
9
+ # Generated by: https://github.com/swagger-api/swagger-codegen.git
10
+ # Swagger Codegen version: 2.4.19
11
+ #
12
+
13
+ require 'date'
14
+
15
+ module ChangeHealthcare
16
+ module ProfessionalClaims
17
+ module SwaggerClient
18
+ class ServiceFacilityLocation
19
+ attr_accessor :address, :npi, :organization_name, :phone_extension, :phone_name, :phone_number
20
+
21
+ # Allowed Values are: '0B' State License Number, 'G2' Provider Commercial Number, 'LU' Location Number
22
+ attr_accessor :secondary_identifier
23
+
24
+ # Attribute mapping from ruby-style variable name to JSON key.
25
+ def self.attribute_map
26
+ {
27
+ address: :address,
28
+ npi: :npi,
29
+ organization_name: :organizationName,
30
+ phone_extension: :phoneExtension,
31
+ phone_name: :phoneName,
32
+ phone_number: :phoneNumber,
33
+ secondary_identifier: :secondaryIdentifier
34
+ }
35
+ end
36
+
37
+ # Attribute type mapping.
38
+ def self.swagger_types
39
+ {
40
+ address: :Address,
41
+ npi: :String,
42
+ organization_name: :String,
43
+ phone_extension: :String,
44
+ phone_name: :String,
45
+ phone_number: :String,
46
+ secondary_identifier: :'Array<ReferenceIdentification>'
47
+ }
48
+ end
49
+
50
+ # Initializes the object
51
+ # @param [Hash] attributes Model attributes in the form of hash
52
+ def initialize(attributes = {})
53
+ return unless attributes.is_a?(Hash)
54
+
55
+ # convert string to symbol for hash key
56
+ attributes = attributes.transform_keys(&:to_sym)
57
+
58
+ self.address = attributes[:address] if attributes.key?(:address)
59
+
60
+ self.npi = attributes[:npi] if attributes.key?(:npi)
61
+
62
+ self.organization_name = attributes[:organizationName] if attributes.key?(:organizationName)
63
+
64
+ self.phone_extension = attributes[:phoneExtension] if attributes.key?(:phoneExtension)
65
+
66
+ self.phone_name = attributes[:phoneName] if attributes.key?(:phoneName)
67
+
68
+ self.phone_number = attributes[:phoneNumber] if attributes.key?(:phoneNumber)
69
+
70
+ if attributes.key?(:secondaryIdentifier) && (value = attributes[:secondaryIdentifier]).is_a?(Array)
71
+ self.secondary_identifier = value
72
+ end
73
+ end
74
+
75
+ # Show invalid properties with the reasons. Usually used together with valid?
76
+ # @return Array for valid properties with the reasons
77
+ def list_invalid_properties
78
+ []
79
+ end
80
+
81
+ # Check to see if the all the properties in the model are valid
82
+ # @return true if the model is valid
83
+ def valid?
84
+ true
85
+ end
86
+
87
+ # Checks equality by comparing each attribute.
88
+ # @param [Object] Object to be compared
89
+ def ==(other)
90
+ return true if equal?(other)
91
+
92
+ self.class == other.class &&
93
+ address == other.address &&
94
+ npi == other.npi &&
95
+ organization_name == other.organization_name &&
96
+ phone_extension == other.phone_extension &&
97
+ phone_name == other.phone_name &&
98
+ phone_number == other.phone_number &&
99
+ secondary_identifier == other.secondary_identifier
100
+ end
101
+
102
+ # @see the `==` method
103
+ # @param [Object] Object to be compared
104
+ def eql?(other)
105
+ self == other
106
+ end
107
+
108
+ # Calculates hash code according to all attributes.
109
+ # @return [Fixnum] Hash code
110
+ def hash
111
+ [address, npi, organization_name, phone_extension, phone_name, phone_number, secondary_identifier].hash
112
+ end
113
+
114
+ # Builds the object from hash
115
+ # @param [Hash] attributes Model attributes in the form of hash
116
+ # @return [Object] Returns the model itself
117
+ def build_from_hash(attributes)
118
+ return nil unless attributes.is_a?(Hash)
119
+
120
+ self.class.swagger_types.each_pair do |key, type|
121
+ if type =~ /\AArray<(.*)>/i
122
+ # check to ensure the input is an array given that the attribute
123
+ # is documented as an array but the input is not
124
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
125
+ send("#{key}=", attributes[self.class.attribute_map[key]].map do |v|
126
+ _deserialize(Regexp.last_match(1), v)
127
+ end)
128
+ end
129
+ elsif !attributes[self.class.attribute_map[key]].nil?
130
+ send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
131
+ end
132
+ end
133
+
134
+ self
135
+ end
136
+
137
+ # Deserializes the data based on type
138
+ # @param string type Data type
139
+ # @param string value Value to be deserialized
140
+ # @return [Object] Deserialized data
141
+ def _deserialize(type, value)
142
+ case type.to_sym
143
+ when :DateTime
144
+ DateTime.parse(value)
145
+ when :Date
146
+ Date.parse(value)
147
+ when :String
148
+ value.to_s
149
+ when :Integer
150
+ value.to_i
151
+ when :Float
152
+ value.to_f
153
+ when :BOOLEAN
154
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
155
+ true
156
+ else
157
+ false
158
+ end
159
+ when :Object
160
+ # generic object (usually a Hash), return directly
161
+ value
162
+ when /\AArray<(?<inner_type>.+)>\z/
163
+ inner_type = Regexp.last_match[:inner_type]
164
+ value.map { |v| _deserialize(inner_type, v) }
165
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
166
+ k_type = Regexp.last_match[:k_type]
167
+ v_type = Regexp.last_match[:v_type]
168
+ {}.tap do |hash|
169
+ value.each do |k, v|
170
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
171
+ end
172
+ end
173
+ else # model
174
+ temp_model = SwaggerClient.const_get(type).new
175
+ temp_model.build_from_hash(value)
176
+ end
177
+ end
178
+
179
+ # Returns the string representation of the object
180
+ # @return [String] String presentation of the object
181
+ def to_s
182
+ to_hash.to_s
183
+ end
184
+
185
+ # to_body is an alias to to_hash (backward compatibility)
186
+ # @return [Hash] Returns the object in the form of hash
187
+ def to_body
188
+ to_hash
189
+ end
190
+
191
+ # Returns the object in the form of hash
192
+ # @return [Hash] Returns the object in the form of hash
193
+ def to_hash
194
+ hash = {}
195
+ self.class.attribute_map.each_pair do |attr, param|
196
+ value = send(attr)
197
+ next if value.nil?
198
+
199
+ hash[param] = _to_hash(value)
200
+ end
201
+ hash
202
+ end
203
+
204
+ # Outputs non-array value in the form of hash
205
+ # For object, use to_hash. Otherwise, just return the value
206
+ # @param [Object] value Any valid value
207
+ # @return [Hash] Returns the value in the form of hash
208
+ def _to_hash(value)
209
+ if value.is_a?(Array)
210
+ value.compact.map { |v| _to_hash(v) }
211
+ elsif value.is_a?(Hash)
212
+ {}.tap do |hash|
213
+ value.each { |k, v| hash[k] = _to_hash(v) }
214
+ end
215
+ elsif value.respond_to? :to_hash
216
+ value.to_hash
217
+ else
218
+ value
219
+ end
220
+ end
221
+ end
222
+ end
223
+ end
224
+ end
@@ -0,0 +1,388 @@
1
+ # frozen_string_literal: true
2
+
3
+ # #Medical Network Professional Claims v3
4
+ #
5
+ # Reference for developers
6
+ #
7
+ # OpenAPI spec version: v3
8
+ #
9
+ # Generated by: https://github.com/swagger-api/swagger-codegen.git
10
+ # Swagger Codegen version: 2.4.19
11
+ #
12
+
13
+ require 'date'
14
+
15
+ module ChangeHealthcare
16
+ module ProfessionalClaims
17
+ module SwaggerClient
18
+ class ServiceLine
19
+ attr_accessor :additional_notes, :ambulance_certification, :ambulance_drop_off_location, :ambulance_patient_count,
20
+ :ambulance_pick_up_location, :ambulance_transport_information, :assigned_number, :condition_indicator_durable_medical_equipment, :contract_information, :drug_identification, :durable_medical_equipment_certificate_of_medical_necessity, :durable_medical_equipment_certification, :durable_medical_equipment_service, :file_information, :form_identification, :goal_rehab_or_discharge_plans, :hospice_employee_indicator, :line_adjudication_information, :line_pricing_repricing_information, :obstetric_anesthesia_additional_units, :ordering_provider, :postage_tax_amount, :professional_service, :provider_control_number, :purchased_service_information, :purchased_service_provider, :referring_provider, :rendering_provider, :sales_tax_amount, :service_date, :service_date_end, :service_facility_location, :service_line_date_information, :service_line_reference_information, :service_line_supplemental_information, :supervising_provider, :test_results, :third_party_organization_notes
21
+
22
+ # Attribute mapping from ruby-style variable name to JSON key.
23
+ def self.attribute_map
24
+ {
25
+ additional_notes: :additionalNotes,
26
+ ambulance_certification: :ambulanceCertification,
27
+ ambulance_drop_off_location: :ambulanceDropOffLocation,
28
+ ambulance_patient_count: :ambulancePatientCount,
29
+ ambulance_pick_up_location: :ambulancePickUpLocation,
30
+ ambulance_transport_information: :ambulanceTransportInformation,
31
+ assigned_number: :assignedNumber,
32
+ condition_indicator_durable_medical_equipment: :conditionIndicatorDurableMedicalEquipment,
33
+ contract_information: :contractInformation,
34
+ drug_identification: :drugIdentification,
35
+ durable_medical_equipment_certificate_of_medical_necessity: :durableMedicalEquipmentCertificateOfMedicalNecessity,
36
+ durable_medical_equipment_certification: :durableMedicalEquipmentCertification,
37
+ durable_medical_equipment_service: :durableMedicalEquipmentService,
38
+ file_information: :fileInformation,
39
+ form_identification: :formIdentification,
40
+ goal_rehab_or_discharge_plans: :goalRehabOrDischargePlans,
41
+ hospice_employee_indicator: :hospiceEmployeeIndicator,
42
+ line_adjudication_information: :lineAdjudicationInformation,
43
+ line_pricing_repricing_information: :linePricingRepricingInformation,
44
+ obstetric_anesthesia_additional_units: :obstetricAnesthesiaAdditionalUnits,
45
+ ordering_provider: :orderingProvider,
46
+ postage_tax_amount: :postageTaxAmount,
47
+ professional_service: :professionalService,
48
+ provider_control_number: :providerControlNumber,
49
+ purchased_service_information: :purchasedServiceInformation,
50
+ purchased_service_provider: :purchasedServiceProvider,
51
+ referring_provider: :referringProvider,
52
+ rendering_provider: :renderingProvider,
53
+ sales_tax_amount: :salesTaxAmount,
54
+ service_date: :serviceDate,
55
+ service_date_end: :serviceDateEnd,
56
+ service_facility_location: :serviceFacilityLocation,
57
+ service_line_date_information: :serviceLineDateInformation,
58
+ service_line_reference_information: :serviceLineReferenceInformation,
59
+ service_line_supplemental_information: :serviceLineSupplementalInformation,
60
+ supervising_provider: :supervisingProvider,
61
+ test_results: :testResults,
62
+ third_party_organization_notes: :thirdPartyOrganizationNotes
63
+ }
64
+ end
65
+
66
+ # Attribute type mapping.
67
+ def self.swagger_types
68
+ {
69
+ additional_notes: :String,
70
+ ambulance_certification: :'Array<AmbulanceCertification>',
71
+ ambulance_drop_off_location: :Address,
72
+ ambulance_patient_count: :Integer,
73
+ ambulance_pick_up_location: :Address,
74
+ ambulance_transport_information: :AmbulanceTransportInformation,
75
+ assigned_number: :String,
76
+ condition_indicator_durable_medical_equipment: :ConditionIndicatorDurableMedicalEquipment,
77
+ contract_information: :ContractInformation,
78
+ drug_identification: :DrugIdentification,
79
+ durable_medical_equipment_certificate_of_medical_necessity: :DurableMedicalEquipmentCertificateOfMedicalNecessity,
80
+ durable_medical_equipment_certification: :DurableMedicalEquipmentCertification,
81
+ durable_medical_equipment_service: :DurableMedicalEquipmentService,
82
+ file_information: :'Array<String>',
83
+ form_identification: :'Array<FormIdentification>',
84
+ goal_rehab_or_discharge_plans: :String,
85
+ hospice_employee_indicator: :BOOLEAN,
86
+ line_adjudication_information: :'Array<LineAdjudicationInformation>',
87
+ line_pricing_repricing_information: :ClaimPricingRepricingInformation,
88
+ obstetric_anesthesia_additional_units: :Integer,
89
+ ordering_provider: :ServiceLineProvider,
90
+ postage_tax_amount: :String,
91
+ professional_service: :ProfessionalService,
92
+ provider_control_number: :String,
93
+ purchased_service_information: :PurchasedServiceInformation,
94
+ purchased_service_provider: :ServiceLineProvider,
95
+ referring_provider: :ServiceLineProvider,
96
+ rendering_provider: :ServiceLineProvider,
97
+ sales_tax_amount: :String,
98
+ service_date: :String,
99
+ service_date_end: :String,
100
+ service_facility_location: :ServiceFacilityLocation,
101
+ service_line_date_information: :ServiceLineDateInformation,
102
+ service_line_reference_information: :ServiceLineReferenceInformation,
103
+ service_line_supplemental_information: :'Array<ReportInformation>',
104
+ supervising_provider: :ServiceLineProvider,
105
+ test_results: :'Array<Measurements>',
106
+ third_party_organization_notes: :String
107
+ }
108
+ end
109
+
110
+ # Initializes the object
111
+ # @param [Hash] attributes Model attributes in the form of hash
112
+ def initialize(attributes = {})
113
+ return unless attributes.is_a?(Hash)
114
+
115
+ # convert string to symbol for hash key
116
+ attributes = attributes.transform_keys(&:to_sym)
117
+
118
+ self.additional_notes = attributes[:additionalNotes] if attributes.key?(:additionalNotes)
119
+
120
+ if attributes.key?(:ambulanceCertification) && (value = attributes[:ambulanceCertification]).is_a?(Array)
121
+ self.ambulance_certification = value
122
+ end
123
+
124
+ self.ambulance_drop_off_location = attributes[:ambulanceDropOffLocation] if attributes.key?(:ambulanceDropOffLocation)
125
+
126
+ self.ambulance_patient_count = attributes[:ambulancePatientCount] if attributes.key?(:ambulancePatientCount)
127
+
128
+ self.ambulance_pick_up_location = attributes[:ambulancePickUpLocation] if attributes.key?(:ambulancePickUpLocation)
129
+
130
+ self.ambulance_transport_information = attributes[:ambulanceTransportInformation] if attributes.key?(:ambulanceTransportInformation)
131
+
132
+ self.assigned_number = attributes[:assignedNumber] if attributes.key?(:assignedNumber)
133
+
134
+ self.condition_indicator_durable_medical_equipment = attributes[:conditionIndicatorDurableMedicalEquipment] if attributes.key?(:conditionIndicatorDurableMedicalEquipment)
135
+
136
+ self.contract_information = attributes[:contractInformation] if attributes.key?(:contractInformation)
137
+
138
+ self.drug_identification = attributes[:drugIdentification] if attributes.key?(:drugIdentification)
139
+
140
+ self.durable_medical_equipment_certificate_of_medical_necessity = attributes[:durableMedicalEquipmentCertificateOfMedicalNecessity] if attributes.key?(:durableMedicalEquipmentCertificateOfMedicalNecessity)
141
+
142
+ self.durable_medical_equipment_certification = attributes[:durableMedicalEquipmentCertification] if attributes.key?(:durableMedicalEquipmentCertification)
143
+
144
+ self.durable_medical_equipment_service = attributes[:durableMedicalEquipmentService] if attributes.key?(:durableMedicalEquipmentService)
145
+
146
+ if attributes.key?(:fileInformation) && (value = attributes[:fileInformation]).is_a?(Array)
147
+ self.file_information = value
148
+ end
149
+
150
+ if attributes.key?(:formIdentification) && (value = attributes[:formIdentification]).is_a?(Array)
151
+ self.form_identification = value
152
+ end
153
+
154
+ self.goal_rehab_or_discharge_plans = attributes[:goalRehabOrDischargePlans] if attributes.key?(:goalRehabOrDischargePlans)
155
+
156
+ self.hospice_employee_indicator = attributes[:hospiceEmployeeIndicator] if attributes.key?(:hospiceEmployeeIndicator)
157
+
158
+ if attributes.key?(:lineAdjudicationInformation) && (value = attributes[:lineAdjudicationInformation]).is_a?(Array)
159
+ self.line_adjudication_information = value
160
+ end
161
+
162
+ self.line_pricing_repricing_information = attributes[:linePricingRepricingInformation] if attributes.key?(:linePricingRepricingInformation)
163
+
164
+ self.obstetric_anesthesia_additional_units = attributes[:obstetricAnesthesiaAdditionalUnits] if attributes.key?(:obstetricAnesthesiaAdditionalUnits)
165
+
166
+ self.ordering_provider = attributes[:orderingProvider] if attributes.key?(:orderingProvider)
167
+
168
+ self.postage_tax_amount = attributes[:postageTaxAmount] if attributes.key?(:postageTaxAmount)
169
+
170
+ self.professional_service = attributes[:professionalService] if attributes.key?(:professionalService)
171
+
172
+ self.provider_control_number = attributes[:providerControlNumber] if attributes.key?(:providerControlNumber)
173
+
174
+ self.purchased_service_information = attributes[:purchasedServiceInformation] if attributes.key?(:purchasedServiceInformation)
175
+
176
+ self.purchased_service_provider = attributes[:purchasedServiceProvider] if attributes.key?(:purchasedServiceProvider)
177
+
178
+ self.referring_provider = attributes[:referringProvider] if attributes.key?(:referringProvider)
179
+
180
+ self.rendering_provider = attributes[:renderingProvider] if attributes.key?(:renderingProvider)
181
+
182
+ self.sales_tax_amount = attributes[:salesTaxAmount] if attributes.key?(:salesTaxAmount)
183
+
184
+ self.service_date = attributes[:serviceDate] if attributes.key?(:serviceDate)
185
+
186
+ self.service_date_end = attributes[:serviceDateEnd] if attributes.key?(:serviceDateEnd)
187
+
188
+ self.service_facility_location = attributes[:serviceFacilityLocation] if attributes.key?(:serviceFacilityLocation)
189
+
190
+ self.service_line_date_information = attributes[:serviceLineDateInformation] if attributes.key?(:serviceLineDateInformation)
191
+
192
+ self.service_line_reference_information = attributes[:serviceLineReferenceInformation] if attributes.key?(:serviceLineReferenceInformation)
193
+
194
+ if attributes.key?(:serviceLineSupplementalInformation) && (value = attributes[:serviceLineSupplementalInformation]).is_a?(Array)
195
+ self.service_line_supplemental_information = value
196
+ end
197
+
198
+ self.supervising_provider = attributes[:supervisingProvider] if attributes.key?(:supervisingProvider)
199
+
200
+ if attributes.key?(:testResults) && (value = attributes[:testResults]).is_a?(Array)
201
+ self.test_results = value
202
+ end
203
+
204
+ self.third_party_organization_notes = attributes[:thirdPartyOrganizationNotes] if attributes.key?(:thirdPartyOrganizationNotes)
205
+ end
206
+
207
+ # Show invalid properties with the reasons. Usually used together with valid?
208
+ # @return Array for valid properties with the reasons
209
+ def list_invalid_properties
210
+ []
211
+ end
212
+
213
+ # Check to see if the all the properties in the model are valid
214
+ # @return true if the model is valid
215
+ def valid?
216
+ true
217
+ end
218
+
219
+ # Checks equality by comparing each attribute.
220
+ # @param [Object] Object to be compared
221
+ def ==(other)
222
+ return true if equal?(other)
223
+
224
+ self.class == other.class &&
225
+ additional_notes == other.additional_notes &&
226
+ ambulance_certification == other.ambulance_certification &&
227
+ ambulance_drop_off_location == other.ambulance_drop_off_location &&
228
+ ambulance_patient_count == other.ambulance_patient_count &&
229
+ ambulance_pick_up_location == other.ambulance_pick_up_location &&
230
+ ambulance_transport_information == other.ambulance_transport_information &&
231
+ assigned_number == other.assigned_number &&
232
+ condition_indicator_durable_medical_equipment == other.condition_indicator_durable_medical_equipment &&
233
+ contract_information == other.contract_information &&
234
+ drug_identification == other.drug_identification &&
235
+ durable_medical_equipment_certificate_of_medical_necessity == other.durable_medical_equipment_certificate_of_medical_necessity &&
236
+ durable_medical_equipment_certification == other.durable_medical_equipment_certification &&
237
+ durable_medical_equipment_service == other.durable_medical_equipment_service &&
238
+ file_information == other.file_information &&
239
+ form_identification == other.form_identification &&
240
+ goal_rehab_or_discharge_plans == other.goal_rehab_or_discharge_plans &&
241
+ hospice_employee_indicator == other.hospice_employee_indicator &&
242
+ line_adjudication_information == other.line_adjudication_information &&
243
+ line_pricing_repricing_information == other.line_pricing_repricing_information &&
244
+ obstetric_anesthesia_additional_units == other.obstetric_anesthesia_additional_units &&
245
+ ordering_provider == other.ordering_provider &&
246
+ postage_tax_amount == other.postage_tax_amount &&
247
+ professional_service == other.professional_service &&
248
+ provider_control_number == other.provider_control_number &&
249
+ purchased_service_information == other.purchased_service_information &&
250
+ purchased_service_provider == other.purchased_service_provider &&
251
+ referring_provider == other.referring_provider &&
252
+ rendering_provider == other.rendering_provider &&
253
+ sales_tax_amount == other.sales_tax_amount &&
254
+ service_date == other.service_date &&
255
+ service_date_end == other.service_date_end &&
256
+ service_facility_location == other.service_facility_location &&
257
+ service_line_date_information == other.service_line_date_information &&
258
+ service_line_reference_information == other.service_line_reference_information &&
259
+ service_line_supplemental_information == other.service_line_supplemental_information &&
260
+ supervising_provider == other.supervising_provider &&
261
+ test_results == other.test_results &&
262
+ third_party_organization_notes == other.third_party_organization_notes
263
+ end
264
+
265
+ # @see the `==` method
266
+ # @param [Object] Object to be compared
267
+ def eql?(other)
268
+ self == other
269
+ end
270
+
271
+ # Calculates hash code according to all attributes.
272
+ # @return [Fixnum] Hash code
273
+ def hash
274
+ [additional_notes, ambulance_certification, ambulance_drop_off_location, ambulance_patient_count,
275
+ ambulance_pick_up_location, ambulance_transport_information, assigned_number, condition_indicator_durable_medical_equipment, contract_information, drug_identification, durable_medical_equipment_certificate_of_medical_necessity, durable_medical_equipment_certification, durable_medical_equipment_service, file_information, form_identification, goal_rehab_or_discharge_plans, hospice_employee_indicator, line_adjudication_information, line_pricing_repricing_information, obstetric_anesthesia_additional_units, ordering_provider, postage_tax_amount, professional_service, provider_control_number, purchased_service_information, purchased_service_provider, referring_provider, rendering_provider, sales_tax_amount, service_date, service_date_end, service_facility_location, service_line_date_information, service_line_reference_information, service_line_supplemental_information, supervising_provider, test_results, third_party_organization_notes].hash
276
+ end
277
+
278
+ # Builds the object from hash
279
+ # @param [Hash] attributes Model attributes in the form of hash
280
+ # @return [Object] Returns the model itself
281
+ def build_from_hash(attributes)
282
+ return nil unless attributes.is_a?(Hash)
283
+
284
+ self.class.swagger_types.each_pair do |key, type|
285
+ if type =~ /\AArray<(.*)>/i
286
+ # check to ensure the input is an array given that the attribute
287
+ # is documented as an array but the input is not
288
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
289
+ send("#{key}=", attributes[self.class.attribute_map[key]].map do |v|
290
+ _deserialize(Regexp.last_match(1), v)
291
+ end)
292
+ end
293
+ elsif !attributes[self.class.attribute_map[key]].nil?
294
+ send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
295
+ end
296
+ end
297
+
298
+ self
299
+ end
300
+
301
+ # Deserializes the data based on type
302
+ # @param string type Data type
303
+ # @param string value Value to be deserialized
304
+ # @return [Object] Deserialized data
305
+ def _deserialize(type, value)
306
+ case type.to_sym
307
+ when :DateTime
308
+ DateTime.parse(value)
309
+ when :Date
310
+ Date.parse(value)
311
+ when :String
312
+ value.to_s
313
+ when :Integer
314
+ value.to_i
315
+ when :Float
316
+ value.to_f
317
+ when :BOOLEAN
318
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
319
+ true
320
+ else
321
+ false
322
+ end
323
+ when :Object
324
+ # generic object (usually a Hash), return directly
325
+ value
326
+ when /\AArray<(?<inner_type>.+)>\z/
327
+ inner_type = Regexp.last_match[:inner_type]
328
+ value.map { |v| _deserialize(inner_type, v) }
329
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
330
+ k_type = Regexp.last_match[:k_type]
331
+ v_type = Regexp.last_match[:v_type]
332
+ {}.tap do |hash|
333
+ value.each do |k, v|
334
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
335
+ end
336
+ end
337
+ else # model
338
+ temp_model = SwaggerClient.const_get(type).new
339
+ temp_model.build_from_hash(value)
340
+ end
341
+ end
342
+
343
+ # Returns the string representation of the object
344
+ # @return [String] String presentation of the object
345
+ def to_s
346
+ to_hash.to_s
347
+ end
348
+
349
+ # to_body is an alias to to_hash (backward compatibility)
350
+ # @return [Hash] Returns the object in the form of hash
351
+ def to_body
352
+ to_hash
353
+ end
354
+
355
+ # Returns the object in the form of hash
356
+ # @return [Hash] Returns the object in the form of hash
357
+ def to_hash
358
+ hash = {}
359
+ self.class.attribute_map.each_pair do |attr, param|
360
+ value = send(attr)
361
+ next if value.nil?
362
+
363
+ hash[param] = _to_hash(value)
364
+ end
365
+ hash
366
+ end
367
+
368
+ # Outputs non-array value in the form of hash
369
+ # For object, use to_hash. Otherwise, just return the value
370
+ # @param [Object] value Any valid value
371
+ # @return [Hash] Returns the value in the form of hash
372
+ def _to_hash(value)
373
+ if value.is_a?(Array)
374
+ value.compact.map { |v| _to_hash(v) }
375
+ elsif value.is_a?(Hash)
376
+ {}.tap do |hash|
377
+ value.each { |k, v| hash[k] = _to_hash(v) }
378
+ end
379
+ elsif value.respond_to? :to_hash
380
+ value.to_hash
381
+ else
382
+ value
383
+ end
384
+ end
385
+ end
386
+ end
387
+ end
388
+ end