candidhealth 1.7.0 → 1.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (83) hide show
  1. checksums.yaml +4 -4
  2. data/lib/candidhealth/auth/default/client.rb +34 -6
  3. data/lib/candidhealth/charge_capture/v_1/client.rb +48 -48
  4. data/lib/candidhealth/charge_capture/v_1/types/charge_capture_data.rb +70 -56
  5. data/lib/candidhealth/commons/types/clearinghouse.rb +18 -0
  6. data/lib/candidhealth/commons/types/procedure_modifier.rb +11 -0
  7. data/lib/candidhealth/encounter_providers/v_2/types/billing_provider.rb +1 -1
  8. data/lib/candidhealth/encounter_providers/v_2/types/billing_provider_update.rb +1 -1
  9. data/lib/candidhealth/encounter_providers/v_2/types/billing_provider_update_with_optional_address.rb +1 -1
  10. data/lib/candidhealth/encounters/v_4/client.rb +3253 -2040
  11. data/lib/candidhealth/encounters/v_4/types/encounter.rb +111 -86
  12. data/lib/candidhealth/encounters/v_4/types/encounter_base.rb +39 -33
  13. data/lib/candidhealth/encounters/v_4/types/encounter_create.rb +796 -0
  14. data/lib/candidhealth/encounters/v_4/types/encounter_create_from_pre_encounter.rb +131 -117
  15. data/lib/candidhealth/encounters/v_4/types/encounter_deep_optional.rb +70 -56
  16. data/lib/candidhealth/encounters/v_4/types/encounter_optional.rb +29 -39
  17. data/lib/candidhealth/encounters/v_4/types/encounter_rendering_or_attending_provider_required_error.rb +55 -0
  18. data/lib/candidhealth/encounters/v_4/types/encounter_update.rb +736 -0
  19. data/lib/candidhealth/encounters_universal/types/universal_encounter_create.rb +944 -0
  20. data/lib/candidhealth/encounters_universal/types/universal_encounter_create_base.rb +691 -0
  21. data/lib/candidhealth/encounters_universal/types/universal_encounter_create_from_pre_encounter.rb +791 -0
  22. data/lib/candidhealth/encounters_universal/types/universal_encounter_create_from_pre_encounter_base.rb +572 -0
  23. data/lib/candidhealth/encounters_universal/types/universal_encounter_update.rb +872 -0
  24. data/lib/candidhealth/encounters_universal/types/universal_encounter_update_base.rb +700 -0
  25. data/lib/candidhealth/fee_schedules/v_3/client.rb +57 -0
  26. data/lib/candidhealth/fee_schedules/v_3/types/validation_error.rb +12 -0
  27. data/lib/candidhealth/financials/types/patient_transaction_source.rb +1 -0
  28. data/lib/candidhealth/health_care_code_information/v_1/types/admitting_diagnosis_new.rb +206 -0
  29. data/lib/candidhealth/health_care_code_information/v_1/types/condition_information_new.rb +207 -0
  30. data/lib/candidhealth/health_care_code_information/v_1/types/diagnosis_related_group_new.rb +206 -0
  31. data/lib/candidhealth/health_care_code_information/v_1/types/external_cause_of_injury_new.rb +245 -0
  32. data/lib/candidhealth/health_care_code_information/v_1/types/health_care_code_information_create.rb +225 -0
  33. data/lib/candidhealth/health_care_code_information/v_1/types/occurrence_information_new.rb +219 -0
  34. data/lib/candidhealth/health_care_code_information/v_1/types/occurrence_span_information_new.rb +222 -0
  35. data/lib/candidhealth/health_care_code_information/v_1/types/other_diagnosis_information_new.rb +215 -0
  36. data/lib/candidhealth/health_care_code_information/v_1/types/other_procedure_information_new.rb +218 -0
  37. data/lib/candidhealth/health_care_code_information/v_1/types/patient_reason_for_visit_new.rb +206 -0
  38. data/lib/candidhealth/health_care_code_information/v_1/types/principal_diagnosis_new.rb +215 -0
  39. data/lib/candidhealth/health_care_code_information/v_1/types/principal_procedure_information_new.rb +216 -0
  40. data/lib/candidhealth/health_care_code_information/v_1/types/treatment_code_information_new.rb +206 -0
  41. data/lib/candidhealth/health_care_code_information/v_1/types/value_information_new.rb +215 -0
  42. data/lib/candidhealth/individual/types/patient.rb +6 -6
  43. data/lib/candidhealth/individual/types/patient_base.rb +6 -6
  44. data/lib/candidhealth/individual/types/patient_create.rb +6 -6
  45. data/lib/candidhealth/individual/types/patient_update.rb +6 -6
  46. data/lib/candidhealth/individual/types/patient_update_with_optional_address.rb +6 -6
  47. data/lib/candidhealth/organization_providers/v_2/types/license_type.rb +2 -0
  48. data/lib/candidhealth/payers/client.rb +7 -0
  49. data/lib/candidhealth/payers/v_4/client.rb +137 -0
  50. data/lib/candidhealth/payers/v_4/types/clearinghouse_payer_info.rb +93 -0
  51. data/lib/candidhealth/payers/v_4/types/payer.rb +116 -0
  52. data/lib/candidhealth/payers/v_4/types/payer_ids.rb +107 -0
  53. data/lib/candidhealth/payers/v_4/types/payer_page.rb +88 -0
  54. data/lib/candidhealth/payers/v_4/types/support_state.rb +15 -0
  55. data/lib/candidhealth/pre_encounter/coverages/v_1/client.rb +4 -4
  56. data/lib/candidhealth/pre_encounter/coverages/v_1/types/subscriber.rb +3 -3
  57. data/lib/candidhealth/pre_encounter/patients/v_1/client.rb +72 -6
  58. data/lib/candidhealth/pre_encounter/patients/v_1/types/guarantor.rb +3 -3
  59. data/lib/candidhealth/pre_encounter/patients/v_1/types/inferred_patient_metadata.rb +80 -0
  60. data/lib/candidhealth/pre_encounter/patients/v_1/types/mutable_patient.rb +19 -5
  61. data/lib/candidhealth/pre_encounter/patients/v_1/types/mutable_patient_with_mrn.rb +19 -5
  62. data/lib/candidhealth/pre_encounter/patients/v_1/types/patient.rb +18 -4
  63. data/lib/candidhealth/pre_encounter/patients/v_1/types/referral_type.rb +1 -0
  64. data/lib/candidhealth/service_lines/v_2/client.rb +252 -10
  65. data/lib/candidhealth/service_lines/v_2/types/service_line.rb +28 -10
  66. data/lib/candidhealth/service_lines/v_2/types/service_line_create.rb +52 -40
  67. data/lib/candidhealth/service_lines/v_2/types/service_line_create_base.rb +251 -0
  68. data/lib/candidhealth/service_lines/v_2/types/service_line_create_base_base.rb +243 -0
  69. data/lib/candidhealth/service_lines/v_2/types/service_line_create_optional.rb +48 -24
  70. data/lib/candidhealth/service_lines/v_2/types/service_line_create_standalone.rb +58 -46
  71. data/lib/candidhealth/service_lines/v_2/types/service_line_create_standalone_base.rb +273 -0
  72. data/lib/candidhealth/service_lines/v_2/types/service_line_create_standalone_base_base.rb +265 -0
  73. data/lib/candidhealth/service_lines/v_2/types/service_line_update.rb +64 -54
  74. data/lib/candidhealth/service_lines/v_2/types/service_line_update_base.rb +263 -0
  75. data/lib/candidhealth/service_lines/v_2/types/universal_service_line_create.rb +271 -0
  76. data/lib/candidhealth/service_lines/v_2/types/universal_service_line_create_standalone.rb +317 -0
  77. data/lib/candidhealth/service_lines/v_2/types/universal_service_line_update.rb +307 -0
  78. data/lib/candidhealth/x_12/v_1/types/type_of_bill_composite.rb +2 -2
  79. data/lib/candidhealth/x_12/v_1/types/type_of_bill_composite_base.rb +90 -0
  80. data/lib/candidhealth/x_12/v_1/types/type_of_bill_composite_update.rb +112 -0
  81. data/lib/requests.rb +2 -2
  82. data/lib/types_export.rb +44 -4
  83. metadata +43 -2
@@ -0,0 +1,243 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../../../commons/types/procedure_modifier"
4
+ require_relative "../../../commons/types/service_line_units"
5
+ require_relative "drug_identification"
6
+ require_relative "../../../commons/types/facility_type_code"
7
+ require "date"
8
+ require_relative "../../../encounter_providers/v_2/types/ordering_provider"
9
+ require_relative "test_result"
10
+ require "ostruct"
11
+ require "json"
12
+
13
+ module CandidApiClient
14
+ module ServiceLines
15
+ module V2
16
+ module Types
17
+ class ServiceLineCreateBaseBase
18
+ # @return [Array<CandidApiClient::Commons::Types::ProcedureModifier>]
19
+ attr_reader :modifiers
20
+ # @return [Boolean] Maps to SV1-11 on the 837-P and Box 24H on the CMS-1500.
21
+ # If the value is true, the box will be populated with "Y". Otherwise, the box
22
+ # will not be populated.
23
+ attr_reader :has_epsdt_indicator
24
+ # @return [Boolean] Maps to SV1-12 on the 837-P and Box 24I on the CMS-1500.
25
+ # If the value is true, the box will be populated with "Y". Otherwise, the box
26
+ # will not be populated.
27
+ attr_reader :has_family_planning_indicator
28
+ # @return [String] String representation of a Decimal that can be parsed by most libraries.
29
+ # For professional claims, a ServiceLine quantity cannot contain more than one
30
+ # digit of precision
31
+ # (Example: 1.1 is valid, 1.11 is not). For institutional claims, a ServiceLine
32
+ # quantity cannot contain
33
+ # more than three decimal digits of precision.
34
+ attr_reader :quantity
35
+ # @return [CandidApiClient::Commons::Types::ServiceLineUnits]
36
+ attr_reader :units
37
+ # @return [Integer] The total amount charged for this service line, factoring in quantity. If
38
+ # procedure_code is updated and this is not, the system will attempt to set it
39
+ # based on chargemasters entries and the service line’s quantity. For example, if
40
+ # a single unit has an entry of 100 cents and 2 units were rendered, the
41
+ # charge_amount_cents will be set to 200, if there is no chargemaster entry, it
42
+ # will default to the amount set in this field.
43
+ attr_reader :charge_amount_cents
44
+ # @return [CandidApiClient::ServiceLines::V2::Types::DrugIdentification]
45
+ attr_reader :drug_identification
46
+ # @return [CandidApiClient::Commons::Types::FacilityTypeCode] 837p Loop2300, SV105. This enum is not used or required for institutional
47
+ # claims. If your organization does not intend to submit claims with a different
48
+ # place of service at the service line level, this field should not be populated.
49
+ # 02 for telemedicine, 11 for in-person. Full list
50
+ # //www.cms.gov/Medicare/Coding/place-of-service-codes/Place_of_Service_Code_Set).
51
+ attr_reader :place_of_service_code
52
+ # @return [String] A free-form description to clarify the related data elements and their content.
53
+ # Maps to SV1-01, C003-07 on a 837-P and SV2-02, C003-07 on a 837-I form.
54
+ attr_reader :description
55
+ # @return [Date]
56
+ attr_reader :date_of_service
57
+ # @return [Date]
58
+ attr_reader :end_date_of_service
59
+ # @return [CandidApiClient::EncounterProviders::V2::Types::OrderingProvider] Required when the service or supply was ordered by a provider who is different
60
+ # than the rendering provider for this service line.
61
+ # If not required by this implementation guide, do not send.
62
+ attr_reader :ordering_provider
63
+ # @return [Array<CandidApiClient::ServiceLines::V2::Types::TestResult>] Contains a list of test results. Test result types may map to MEA-02 on the
64
+ # 837-P (ex: Hemoglobin, Hematocrit).
65
+ # This is unused by 837-i and ignored for institutional service lines.
66
+ # No more than 5 MEA-02 test results may be submitted per service line.
67
+ attr_reader :test_results
68
+ # @return [String] Maps to NTE02 loop 2400 on the EDI 837.
69
+ attr_reader :note
70
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
71
+ attr_reader :additional_properties
72
+ # @return [Object]
73
+ attr_reader :_field_set
74
+ protected :_field_set
75
+
76
+ OMIT = Object.new
77
+
78
+ # @param modifiers [Array<CandidApiClient::Commons::Types::ProcedureModifier>]
79
+ # @param has_epsdt_indicator [Boolean] Maps to SV1-11 on the 837-P and Box 24H on the CMS-1500.
80
+ # If the value is true, the box will be populated with "Y". Otherwise, the box
81
+ # will not be populated.
82
+ # @param has_family_planning_indicator [Boolean] Maps to SV1-12 on the 837-P and Box 24I on the CMS-1500.
83
+ # If the value is true, the box will be populated with "Y". Otherwise, the box
84
+ # will not be populated.
85
+ # @param quantity [String] String representation of a Decimal that can be parsed by most libraries.
86
+ # For professional claims, a ServiceLine quantity cannot contain more than one
87
+ # digit of precision
88
+ # (Example: 1.1 is valid, 1.11 is not). For institutional claims, a ServiceLine
89
+ # quantity cannot contain
90
+ # more than three decimal digits of precision.
91
+ # @param units [CandidApiClient::Commons::Types::ServiceLineUnits]
92
+ # @param charge_amount_cents [Integer] The total amount charged for this service line, factoring in quantity. If
93
+ # procedure_code is updated and this is not, the system will attempt to set it
94
+ # based on chargemasters entries and the service line’s quantity. For example, if
95
+ # a single unit has an entry of 100 cents and 2 units were rendered, the
96
+ # charge_amount_cents will be set to 200, if there is no chargemaster entry, it
97
+ # will default to the amount set in this field.
98
+ # @param drug_identification [CandidApiClient::ServiceLines::V2::Types::DrugIdentification]
99
+ # @param place_of_service_code [CandidApiClient::Commons::Types::FacilityTypeCode] 837p Loop2300, SV105. This enum is not used or required for institutional
100
+ # claims. If your organization does not intend to submit claims with a different
101
+ # place of service at the service line level, this field should not be populated.
102
+ # 02 for telemedicine, 11 for in-person. Full list
103
+ # //www.cms.gov/Medicare/Coding/place-of-service-codes/Place_of_Service_Code_Set).
104
+ # @param description [String] A free-form description to clarify the related data elements and their content.
105
+ # Maps to SV1-01, C003-07 on a 837-P and SV2-02, C003-07 on a 837-I form.
106
+ # @param date_of_service [Date]
107
+ # @param end_date_of_service [Date]
108
+ # @param ordering_provider [CandidApiClient::EncounterProviders::V2::Types::OrderingProvider] Required when the service or supply was ordered by a provider who is different
109
+ # than the rendering provider for this service line.
110
+ # If not required by this implementation guide, do not send.
111
+ # @param test_results [Array<CandidApiClient::ServiceLines::V2::Types::TestResult>] Contains a list of test results. Test result types may map to MEA-02 on the
112
+ # 837-P (ex: Hemoglobin, Hematocrit).
113
+ # This is unused by 837-i and ignored for institutional service lines.
114
+ # No more than 5 MEA-02 test results may be submitted per service line.
115
+ # @param note [String] Maps to NTE02 loop 2400 on the EDI 837.
116
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
117
+ # @return [CandidApiClient::ServiceLines::V2::Types::ServiceLineCreateBaseBase]
118
+ def initialize(quantity:, units:, modifiers: OMIT, has_epsdt_indicator: OMIT,
119
+ has_family_planning_indicator: OMIT, charge_amount_cents: OMIT, drug_identification: OMIT, place_of_service_code: OMIT, description: OMIT, date_of_service: OMIT, end_date_of_service: OMIT, ordering_provider: OMIT, test_results: OMIT, note: OMIT, additional_properties: nil)
120
+ @modifiers = modifiers if modifiers != OMIT
121
+ @has_epsdt_indicator = has_epsdt_indicator if has_epsdt_indicator != OMIT
122
+ @has_family_planning_indicator = has_family_planning_indicator if has_family_planning_indicator != OMIT
123
+ @quantity = quantity
124
+ @units = units
125
+ @charge_amount_cents = charge_amount_cents if charge_amount_cents != OMIT
126
+ @drug_identification = drug_identification if drug_identification != OMIT
127
+ @place_of_service_code = place_of_service_code if place_of_service_code != OMIT
128
+ @description = description if description != OMIT
129
+ @date_of_service = date_of_service if date_of_service != OMIT
130
+ @end_date_of_service = end_date_of_service if end_date_of_service != OMIT
131
+ @ordering_provider = ordering_provider if ordering_provider != OMIT
132
+ @test_results = test_results if test_results != OMIT
133
+ @note = note if note != OMIT
134
+ @additional_properties = additional_properties
135
+ @_field_set = {
136
+ "modifiers": modifiers,
137
+ "has_epsdt_indicator": has_epsdt_indicator,
138
+ "has_family_planning_indicator": has_family_planning_indicator,
139
+ "quantity": quantity,
140
+ "units": units,
141
+ "charge_amount_cents": charge_amount_cents,
142
+ "drug_identification": drug_identification,
143
+ "place_of_service_code": place_of_service_code,
144
+ "description": description,
145
+ "date_of_service": date_of_service,
146
+ "end_date_of_service": end_date_of_service,
147
+ "ordering_provider": ordering_provider,
148
+ "test_results": test_results,
149
+ "note": note
150
+ }.reject do |_k, v|
151
+ v == OMIT
152
+ end
153
+ end
154
+
155
+ # Deserialize a JSON object to an instance of ServiceLineCreateBaseBase
156
+ #
157
+ # @param json_object [String]
158
+ # @return [CandidApiClient::ServiceLines::V2::Types::ServiceLineCreateBaseBase]
159
+ def self.from_json(json_object:)
160
+ struct = JSON.parse(json_object, object_class: OpenStruct)
161
+ parsed_json = JSON.parse(json_object)
162
+ modifiers = struct["modifiers"]
163
+ has_epsdt_indicator = struct["has_epsdt_indicator"]
164
+ has_family_planning_indicator = struct["has_family_planning_indicator"]
165
+ quantity = struct["quantity"]
166
+ units = struct["units"]
167
+ charge_amount_cents = struct["charge_amount_cents"]
168
+ if parsed_json["drug_identification"].nil?
169
+ drug_identification = nil
170
+ else
171
+ drug_identification = parsed_json["drug_identification"].to_json
172
+ drug_identification = CandidApiClient::ServiceLines::V2::Types::DrugIdentification.from_json(json_object: drug_identification)
173
+ end
174
+ place_of_service_code = struct["place_of_service_code"]
175
+ description = struct["description"]
176
+ date_of_service = (Date.parse(parsed_json["date_of_service"]) unless parsed_json["date_of_service"].nil?)
177
+ end_date_of_service = unless parsed_json["end_date_of_service"].nil?
178
+ Date.parse(parsed_json["end_date_of_service"])
179
+ end
180
+ if parsed_json["ordering_provider"].nil?
181
+ ordering_provider = nil
182
+ else
183
+ ordering_provider = parsed_json["ordering_provider"].to_json
184
+ ordering_provider = CandidApiClient::EncounterProviders::V2::Types::OrderingProvider.from_json(json_object: ordering_provider)
185
+ end
186
+ test_results = parsed_json["test_results"]&.map do |item|
187
+ item = item.to_json
188
+ CandidApiClient::ServiceLines::V2::Types::TestResult.from_json(json_object: item)
189
+ end
190
+ note = struct["note"]
191
+ new(
192
+ modifiers: modifiers,
193
+ has_epsdt_indicator: has_epsdt_indicator,
194
+ has_family_planning_indicator: has_family_planning_indicator,
195
+ quantity: quantity,
196
+ units: units,
197
+ charge_amount_cents: charge_amount_cents,
198
+ drug_identification: drug_identification,
199
+ place_of_service_code: place_of_service_code,
200
+ description: description,
201
+ date_of_service: date_of_service,
202
+ end_date_of_service: end_date_of_service,
203
+ ordering_provider: ordering_provider,
204
+ test_results: test_results,
205
+ note: note,
206
+ additional_properties: struct
207
+ )
208
+ end
209
+
210
+ # Serialize an instance of ServiceLineCreateBaseBase to a JSON object
211
+ #
212
+ # @return [String]
213
+ def to_json(*_args)
214
+ @_field_set&.to_json
215
+ end
216
+
217
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
218
+ # hash and check each fields type against the current object's property
219
+ # definitions.
220
+ #
221
+ # @param obj [Object]
222
+ # @return [Void]
223
+ def self.validate_raw(obj:)
224
+ obj.modifiers&.is_a?(Array) != false || raise("Passed value for field obj.modifiers is not the expected type, validation failed.")
225
+ obj.has_epsdt_indicator&.is_a?(Boolean) != false || raise("Passed value for field obj.has_epsdt_indicator is not the expected type, validation failed.")
226
+ obj.has_family_planning_indicator&.is_a?(Boolean) != false || raise("Passed value for field obj.has_family_planning_indicator is not the expected type, validation failed.")
227
+ obj.quantity.is_a?(String) != false || raise("Passed value for field obj.quantity is not the expected type, validation failed.")
228
+ obj.units.is_a?(CandidApiClient::Commons::Types::ServiceLineUnits) != false || raise("Passed value for field obj.units is not the expected type, validation failed.")
229
+ obj.charge_amount_cents&.is_a?(Integer) != false || raise("Passed value for field obj.charge_amount_cents is not the expected type, validation failed.")
230
+ obj.drug_identification.nil? || CandidApiClient::ServiceLines::V2::Types::DrugIdentification.validate_raw(obj: obj.drug_identification)
231
+ obj.place_of_service_code&.is_a?(CandidApiClient::Commons::Types::FacilityTypeCode) != false || raise("Passed value for field obj.place_of_service_code is not the expected type, validation failed.")
232
+ obj.description&.is_a?(String) != false || raise("Passed value for field obj.description is not the expected type, validation failed.")
233
+ obj.date_of_service&.is_a?(Date) != false || raise("Passed value for field obj.date_of_service is not the expected type, validation failed.")
234
+ obj.end_date_of_service&.is_a?(Date) != false || raise("Passed value for field obj.end_date_of_service is not the expected type, validation failed.")
235
+ obj.ordering_provider.nil? || CandidApiClient::EncounterProviders::V2::Types::OrderingProvider.validate_raw(obj: obj.ordering_provider)
236
+ obj.test_results&.is_a?(Array) != false || raise("Passed value for field obj.test_results is not the expected type, validation failed.")
237
+ obj.note&.is_a?(String) != false || raise("Passed value for field obj.note is not the expected type, validation failed.")
238
+ end
239
+ end
240
+ end
241
+ end
242
+ end
243
+ end
@@ -28,28 +28,33 @@ module CandidApiClient
28
28
  # @return [String]
29
29
  attr_reader :procedure_code
30
30
  # @return [String] String representation of a Decimal that can be parsed by most libraries.
31
- # A ServiceLine quantity cannot contain more than one digit of precision.
32
- # Example: 1.1 is valid, 1.11 is not.
31
+ # For professional claims, a ServiceLine quantity cannot contain more than one
32
+ # digit of precision
33
+ # (Example: 1.1 is valid, 1.11 is not). For institutional claims, a ServiceLine
34
+ # quantity cannot contain
35
+ # more than three decimal digits of precision.
33
36
  attr_reader :quantity
34
37
  # @return [CandidApiClient::Commons::Types::ServiceLineUnits]
35
38
  attr_reader :units
36
- # @return [Integer] The total amount charged for this service line taking quantity into account. For
37
- # example, if a single unit
38
- # costs 100 cents and 2 units were rendered, the `charge_amount_cents` should be
39
- # 200. Should be greater than or
40
- # equal to 0.
39
+ # @return [Integer] The total amount charged for this service line, factoring in quantity. If
40
+ # procedure_code is updated and this is not, the system will attempt to set it
41
+ # based on chargemasters entries and the service line’s quantity. For example, if
42
+ # a single unit has an entry of 100 cents and 2 units were rendered, the
43
+ # charge_amount_cents will be set to 200, if there is no chargemaster entry, it
44
+ # will default to the amount set in this field.
41
45
  attr_reader :charge_amount_cents
42
46
  # @return [Array<Integer>] Indices (zero-indexed) of all the diagnoses this service line references
43
47
  attr_reader :diagnosis_pointers
44
48
  # @return [CandidApiClient::ServiceLines::V2::Types::DrugIdentificationOptional]
45
49
  attr_reader :drug_identification
46
- # @return [CandidApiClient::Commons::Types::FacilityTypeCode] 837p Loop2300, SV105. If your organization does not intend to submit claims with
47
- # a different place of service at the service line level, this field should not be
48
- # populated. 02 for telemedicine, 11 for in-person. Full list
50
+ # @return [CandidApiClient::Commons::Types::FacilityTypeCode] 837p Loop2300, SV105. This enum is not used or required in 837i claims. If your
51
+ # organization does not intend to submit claims with a different place of service
52
+ # at the service line level, this field should not be populated. 02 for
53
+ # telemedicine, 11 for in-person. Full list
49
54
  # //www.cms.gov/Medicare/Coding/place-of-service-codes/Place_of_Service_Code_Set).
50
55
  attr_reader :place_of_service_code
51
56
  # @return [String] A free-form description to clarify the related data elements and their content.
52
- # Maps to SV1-01, C003-07 on the 837-P.
57
+ # Maps to SV1-01, C003-07 on a 837-P and SV2-02, C003-07 on a 837-I form.
53
58
  attr_reader :description
54
59
  # @return [Date]
55
60
  attr_reader :date_of_service
@@ -61,10 +66,15 @@ module CandidApiClient
61
66
  attr_reader :ordering_provider
62
67
  # @return [Array<CandidApiClient::ServiceLines::V2::Types::TestResultOptional>] Contains a list of test results. Test result types may map to MEA-02 on the
63
68
  # 837-P (ex: Hemoglobin, Hematocrit).
69
+ # This is unused by 837-i and ignored for institutional service lines.
64
70
  # No more than 5 MEA-02 test results may be submitted per service line.
65
71
  attr_reader :test_results
66
72
  # @return [String] Maps to NTE02 loop 2400 on the EDI 837.
67
73
  attr_reader :note
74
+ # @return [String] A 4 digit code that specifies facility department or type of service arrangement
75
+ # for institutional service line items (837i). This code is not required for
76
+ # professional claim billing (837p).
77
+ attr_reader :revenue_code
68
78
  # @return [OpenStruct] Additional properties unmapped to the current class definition
69
79
  attr_reader :additional_properties
70
80
  # @return [Object]
@@ -82,22 +92,27 @@ module CandidApiClient
82
92
  # will not be populated.
83
93
  # @param procedure_code [String]
84
94
  # @param quantity [String] String representation of a Decimal that can be parsed by most libraries.
85
- # A ServiceLine quantity cannot contain more than one digit of precision.
86
- # Example: 1.1 is valid, 1.11 is not.
95
+ # For professional claims, a ServiceLine quantity cannot contain more than one
96
+ # digit of precision
97
+ # (Example: 1.1 is valid, 1.11 is not). For institutional claims, a ServiceLine
98
+ # quantity cannot contain
99
+ # more than three decimal digits of precision.
87
100
  # @param units [CandidApiClient::Commons::Types::ServiceLineUnits]
88
- # @param charge_amount_cents [Integer] The total amount charged for this service line taking quantity into account. For
89
- # example, if a single unit
90
- # costs 100 cents and 2 units were rendered, the `charge_amount_cents` should be
91
- # 200. Should be greater than or
92
- # equal to 0.
101
+ # @param charge_amount_cents [Integer] The total amount charged for this service line, factoring in quantity. If
102
+ # procedure_code is updated and this is not, the system will attempt to set it
103
+ # based on chargemasters entries and the service line’s quantity. For example, if
104
+ # a single unit has an entry of 100 cents and 2 units were rendered, the
105
+ # charge_amount_cents will be set to 200, if there is no chargemaster entry, it
106
+ # will default to the amount set in this field.
93
107
  # @param diagnosis_pointers [Array<Integer>] Indices (zero-indexed) of all the diagnoses this service line references
94
108
  # @param drug_identification [CandidApiClient::ServiceLines::V2::Types::DrugIdentificationOptional]
95
- # @param place_of_service_code [CandidApiClient::Commons::Types::FacilityTypeCode] 837p Loop2300, SV105. If your organization does not intend to submit claims with
96
- # a different place of service at the service line level, this field should not be
97
- # populated. 02 for telemedicine, 11 for in-person. Full list
109
+ # @param place_of_service_code [CandidApiClient::Commons::Types::FacilityTypeCode] 837p Loop2300, SV105. This enum is not used or required in 837i claims. If your
110
+ # organization does not intend to submit claims with a different place of service
111
+ # at the service line level, this field should not be populated. 02 for
112
+ # telemedicine, 11 for in-person. Full list
98
113
  # //www.cms.gov/Medicare/Coding/place-of-service-codes/Place_of_Service_Code_Set).
99
114
  # @param description [String] A free-form description to clarify the related data elements and their content.
100
- # Maps to SV1-01, C003-07 on the 837-P.
115
+ # Maps to SV1-01, C003-07 on a 837-P and SV2-02, C003-07 on a 837-I form.
101
116
  # @param date_of_service [Date]
102
117
  # @param end_date_of_service [Date]
103
118
  # @param ordering_provider [CandidApiClient::EncounterProviders::V2::Types::OrderingProviderOptional] Required when the service or supply was ordered by a provider who is different
@@ -105,12 +120,16 @@ module CandidApiClient
105
120
  # If not required by this implementation guide, do not send.
106
121
  # @param test_results [Array<CandidApiClient::ServiceLines::V2::Types::TestResultOptional>] Contains a list of test results. Test result types may map to MEA-02 on the
107
122
  # 837-P (ex: Hemoglobin, Hematocrit).
123
+ # This is unused by 837-i and ignored for institutional service lines.
108
124
  # No more than 5 MEA-02 test results may be submitted per service line.
109
125
  # @param note [String] Maps to NTE02 loop 2400 on the EDI 837.
126
+ # @param revenue_code [String] A 4 digit code that specifies facility department or type of service arrangement
127
+ # for institutional service line items (837i). This code is not required for
128
+ # professional claim billing (837p).
110
129
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
111
130
  # @return [CandidApiClient::ServiceLines::V2::Types::ServiceLineCreateOptional]
112
131
  def initialize(modifiers: OMIT, has_epsdt_indicator: OMIT, has_family_planning_indicator: OMIT,
113
- procedure_code: OMIT, quantity: OMIT, units: OMIT, charge_amount_cents: OMIT, diagnosis_pointers: OMIT, drug_identification: OMIT, place_of_service_code: OMIT, description: OMIT, date_of_service: OMIT, end_date_of_service: OMIT, ordering_provider: OMIT, test_results: OMIT, note: OMIT, additional_properties: nil)
132
+ procedure_code: OMIT, quantity: OMIT, units: OMIT, charge_amount_cents: OMIT, diagnosis_pointers: OMIT, drug_identification: OMIT, place_of_service_code: OMIT, description: OMIT, date_of_service: OMIT, end_date_of_service: OMIT, ordering_provider: OMIT, test_results: OMIT, note: OMIT, revenue_code: OMIT, additional_properties: nil)
114
133
  @modifiers = modifiers if modifiers != OMIT
115
134
  @has_epsdt_indicator = has_epsdt_indicator if has_epsdt_indicator != OMIT
116
135
  @has_family_planning_indicator = has_family_planning_indicator if has_family_planning_indicator != OMIT
@@ -127,6 +146,7 @@ module CandidApiClient
127
146
  @ordering_provider = ordering_provider if ordering_provider != OMIT
128
147
  @test_results = test_results if test_results != OMIT
129
148
  @note = note if note != OMIT
149
+ @revenue_code = revenue_code if revenue_code != OMIT
130
150
  @additional_properties = additional_properties
131
151
  @_field_set = {
132
152
  "modifiers": modifiers,
@@ -144,7 +164,8 @@ module CandidApiClient
144
164
  "end_date_of_service": end_date_of_service,
145
165
  "ordering_provider": ordering_provider,
146
166
  "test_results": test_results,
147
- "note": note
167
+ "note": note,
168
+ "revenue_code": revenue_code
148
169
  }.reject do |_k, v|
149
170
  v == OMIT
150
171
  end
@@ -188,6 +209,7 @@ module CandidApiClient
188
209
  CandidApiClient::ServiceLines::V2::Types::TestResultOptional.from_json(json_object: item)
189
210
  end
190
211
  note = struct["note"]
212
+ revenue_code = struct["revenue_code"]
191
213
  new(
192
214
  modifiers: modifiers,
193
215
  has_epsdt_indicator: has_epsdt_indicator,
@@ -205,6 +227,7 @@ module CandidApiClient
205
227
  ordering_provider: ordering_provider,
206
228
  test_results: test_results,
207
229
  note: note,
230
+ revenue_code: revenue_code,
208
231
  additional_properties: struct
209
232
  )
210
233
  end
@@ -239,6 +262,7 @@ module CandidApiClient
239
262
  obj.ordering_provider.nil? || CandidApiClient::EncounterProviders::V2::Types::OrderingProviderOptional.validate_raw(obj: obj.ordering_provider)
240
263
  obj.test_results&.is_a?(Array) != false || raise("Passed value for field obj.test_results is not the expected type, validation failed.")
241
264
  obj.note&.is_a?(String) != false || raise("Passed value for field obj.note is not the expected type, validation failed.")
265
+ obj.revenue_code&.is_a?(String) != false || raise("Passed value for field obj.revenue_code is not the expected type, validation failed.")
242
266
  end
243
267
  end
244
268
  end
@@ -16,14 +16,6 @@ module CandidApiClient
16
16
  module V2
17
17
  module Types
18
18
  class ServiceLineCreateStandalone
19
- # @return [Array<CandidApiClient::Commons::Types::ProcedureModifier>]
20
- attr_reader :modifiers
21
- # @return [Integer] The total amount charged for this service line, factoring in quantity. If left
22
- # unfilled, the system will attempt to set it based on
23
- # chargemasters entries and the service line's quantity. For example, if a single
24
- # unit has an entry of 100 cents and 2 units were rendered,
25
- # the `charge_amount_cents` will be set to 200, if this field is unfilled.
26
- attr_reader :charge_amount_cents
27
19
  # @return [String]
28
20
  attr_reader :diagnosis_id_zero
29
21
  # @return [String]
@@ -32,25 +24,38 @@ module CandidApiClient
32
24
  attr_reader :diagnosis_id_two
33
25
  # @return [String]
34
26
  attr_reader :diagnosis_id_three
27
+ # @return [String]
28
+ attr_reader :procedure_code
29
+ # @return [Array<CandidApiClient::Commons::Types::ProcedureModifier>]
30
+ attr_reader :modifiers
31
+ # @return [Integer] The total amount charged for this service line, factoring in quantity. The
32
+ # system will attempt to set it based on the chargemaster configuration and the
33
+ # service line’s quantity. For example, if a single unit has an entry of 100 cents
34
+ # and 2 units were rendered, the charge_amount_cents will be set to 200. If there
35
+ # is no chargemaster entry, the system will default to the amount set via this
36
+ # field.
37
+ attr_reader :charge_amount_cents
35
38
  # @return [CandidApiClient::ServiceLines::V2::Types::ServiceLineDenialReason]
36
39
  attr_reader :denial_reason
37
- # @return [CandidApiClient::Commons::Types::FacilityTypeCode] 837p Loop2300, SV105. If your organization does not intend to submit claims with
38
- # a different place of service at the service line level, this field should not be
39
- # populated. 02 for telemedicine, 11 for in-person. Full list
40
+ # @return [CandidApiClient::Commons::Types::FacilityTypeCode] 837p Loop2300, SV105. This enum is not used or required in 837i claims. If your
41
+ # organization does not intend to submit claims with a different place of service
42
+ # at the service line level, this field should not be populated. 02 for
43
+ # telemedicine, 11 for in-person. Full list
40
44
  # //www.cms.gov/Medicare/Coding/place-of-service-codes/Place_of_Service_Code_Set).
41
45
  attr_reader :place_of_service_code
42
- # @return [String]
43
- attr_reader :procedure_code
44
46
  # @return [String] String representation of a Decimal that can be parsed by most libraries.
45
- # A ServiceLine quantity cannot contain more than one digit of precision.
46
- # Example: 1.1 is valid, 1.11 is not.
47
+ # For professional claims, a ServiceLine quantity cannot contain more than one
48
+ # digit of precision
49
+ # (Example: 1.1 is valid, 1.11 is not). For institutional claims, a ServiceLine
50
+ # quantity cannot contain
51
+ # more than three decimal digits of precision.
47
52
  attr_reader :quantity
48
53
  # @return [CandidApiClient::Commons::Types::ServiceLineUnits]
49
54
  attr_reader :units
50
55
  # @return [String]
51
56
  attr_reader :claim_id
52
57
  # @return [String] A free-form description to clarify the related data elements and their content.
53
- # Maps to SV1-01, C003-07 on the 837-P.
58
+ # Maps to SV1-01, C003-07 on a 837-P and SV2-02, C003-07 on a 837-I form.
54
59
  attr_reader :description
55
60
  # @return [Date]
56
61
  attr_reader :date_of_service
@@ -64,6 +69,7 @@ module CandidApiClient
64
69
  attr_reader :ordering_provider
65
70
  # @return [Array<CandidApiClient::ServiceLines::V2::Types::TestResult>] Contains a list of test results. Test result types may map to MEA-02 on the
66
71
  # 837-P (ex: Hemoglobin, Hematocrit).
72
+ # This is unused by 837-i and ignored for institutional service lines.
67
73
  # No more than 5 MEA-02 test results may be submitted per service line.
68
74
  attr_reader :test_results
69
75
  # @return [Boolean] Maps to SV1-11 on the 837-P and Box 24H on the CMS-1500.
@@ -84,29 +90,34 @@ module CandidApiClient
84
90
 
85
91
  OMIT = Object.new
86
92
 
87
- # @param modifiers [Array<CandidApiClient::Commons::Types::ProcedureModifier>]
88
- # @param charge_amount_cents [Integer] The total amount charged for this service line, factoring in quantity. If left
89
- # unfilled, the system will attempt to set it based on
90
- # chargemasters entries and the service line's quantity. For example, if a single
91
- # unit has an entry of 100 cents and 2 units were rendered,
92
- # the `charge_amount_cents` will be set to 200, if this field is unfilled.
93
93
  # @param diagnosis_id_zero [String]
94
94
  # @param diagnosis_id_one [String]
95
95
  # @param diagnosis_id_two [String]
96
96
  # @param diagnosis_id_three [String]
97
+ # @param procedure_code [String]
98
+ # @param modifiers [Array<CandidApiClient::Commons::Types::ProcedureModifier>]
99
+ # @param charge_amount_cents [Integer] The total amount charged for this service line, factoring in quantity. The
100
+ # system will attempt to set it based on the chargemaster configuration and the
101
+ # service line’s quantity. For example, if a single unit has an entry of 100 cents
102
+ # and 2 units were rendered, the charge_amount_cents will be set to 200. If there
103
+ # is no chargemaster entry, the system will default to the amount set via this
104
+ # field.
97
105
  # @param denial_reason [CandidApiClient::ServiceLines::V2::Types::ServiceLineDenialReason]
98
- # @param place_of_service_code [CandidApiClient::Commons::Types::FacilityTypeCode] 837p Loop2300, SV105. If your organization does not intend to submit claims with
99
- # a different place of service at the service line level, this field should not be
100
- # populated. 02 for telemedicine, 11 for in-person. Full list
106
+ # @param place_of_service_code [CandidApiClient::Commons::Types::FacilityTypeCode] 837p Loop2300, SV105. This enum is not used or required in 837i claims. If your
107
+ # organization does not intend to submit claims with a different place of service
108
+ # at the service line level, this field should not be populated. 02 for
109
+ # telemedicine, 11 for in-person. Full list
101
110
  # //www.cms.gov/Medicare/Coding/place-of-service-codes/Place_of_Service_Code_Set).
102
- # @param procedure_code [String]
103
111
  # @param quantity [String] String representation of a Decimal that can be parsed by most libraries.
104
- # A ServiceLine quantity cannot contain more than one digit of precision.
105
- # Example: 1.1 is valid, 1.11 is not.
112
+ # For professional claims, a ServiceLine quantity cannot contain more than one
113
+ # digit of precision
114
+ # (Example: 1.1 is valid, 1.11 is not). For institutional claims, a ServiceLine
115
+ # quantity cannot contain
116
+ # more than three decimal digits of precision.
106
117
  # @param units [CandidApiClient::Commons::Types::ServiceLineUnits]
107
118
  # @param claim_id [String]
108
119
  # @param description [String] A free-form description to clarify the related data elements and their content.
109
- # Maps to SV1-01, C003-07 on the 837-P.
120
+ # Maps to SV1-01, C003-07 on a 837-P and SV2-02, C003-07 on a 837-I form.
110
121
  # @param date_of_service [Date]
111
122
  # @param end_date_of_service [Date]
112
123
  # @param drug_identification [CandidApiClient::ServiceLines::V2::Types::DrugIdentification]
@@ -115,6 +126,7 @@ module CandidApiClient
115
126
  # If not required by this implementation guide, do not send.
116
127
  # @param test_results [Array<CandidApiClient::ServiceLines::V2::Types::TestResult>] Contains a list of test results. Test result types may map to MEA-02 on the
117
128
  # 837-P (ex: Hemoglobin, Hematocrit).
129
+ # This is unused by 837-i and ignored for institutional service lines.
118
130
  # No more than 5 MEA-02 test results may be submitted per service line.
119
131
  # @param has_epsdt_indicator [Boolean] Maps to SV1-11 on the 837-P and Box 24H on the CMS-1500.
120
132
  # If the value is true, the box will be populated with "Y". Otherwise, the box
@@ -125,17 +137,17 @@ module CandidApiClient
125
137
  # @param note [String] Maps to NTE02 loop 2400 on the EDI 837.
126
138
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
127
139
  # @return [CandidApiClient::ServiceLines::V2::Types::ServiceLineCreateStandalone]
128
- def initialize(procedure_code:, quantity:, units:, claim_id:, modifiers: OMIT, charge_amount_cents: OMIT, diagnosis_id_zero: OMIT, diagnosis_id_one: OMIT,
129
- diagnosis_id_two: OMIT, diagnosis_id_three: OMIT, denial_reason: OMIT, place_of_service_code: OMIT, description: OMIT, date_of_service: OMIT, end_date_of_service: OMIT, drug_identification: OMIT, ordering_provider: OMIT, test_results: OMIT, has_epsdt_indicator: OMIT, has_family_planning_indicator: OMIT, note: OMIT, additional_properties: nil)
130
- @modifiers = modifiers if modifiers != OMIT
131
- @charge_amount_cents = charge_amount_cents if charge_amount_cents != OMIT
140
+ def initialize(procedure_code:, quantity:, units:, claim_id:, diagnosis_id_zero: OMIT, diagnosis_id_one: OMIT, diagnosis_id_two: OMIT,
141
+ diagnosis_id_three: OMIT, modifiers: OMIT, charge_amount_cents: OMIT, denial_reason: OMIT, place_of_service_code: OMIT, description: OMIT, date_of_service: OMIT, end_date_of_service: OMIT, drug_identification: OMIT, ordering_provider: OMIT, test_results: OMIT, has_epsdt_indicator: OMIT, has_family_planning_indicator: OMIT, note: OMIT, additional_properties: nil)
132
142
  @diagnosis_id_zero = diagnosis_id_zero if diagnosis_id_zero != OMIT
133
143
  @diagnosis_id_one = diagnosis_id_one if diagnosis_id_one != OMIT
134
144
  @diagnosis_id_two = diagnosis_id_two if diagnosis_id_two != OMIT
135
145
  @diagnosis_id_three = diagnosis_id_three if diagnosis_id_three != OMIT
146
+ @procedure_code = procedure_code
147
+ @modifiers = modifiers if modifiers != OMIT
148
+ @charge_amount_cents = charge_amount_cents if charge_amount_cents != OMIT
136
149
  @denial_reason = denial_reason if denial_reason != OMIT
137
150
  @place_of_service_code = place_of_service_code if place_of_service_code != OMIT
138
- @procedure_code = procedure_code
139
151
  @quantity = quantity
140
152
  @units = units
141
153
  @claim_id = claim_id
@@ -150,15 +162,15 @@ module CandidApiClient
150
162
  @note = note if note != OMIT
151
163
  @additional_properties = additional_properties
152
164
  @_field_set = {
153
- "modifiers": modifiers,
154
- "charge_amount_cents": charge_amount_cents,
155
165
  "diagnosis_id_zero": diagnosis_id_zero,
156
166
  "diagnosis_id_one": diagnosis_id_one,
157
167
  "diagnosis_id_two": diagnosis_id_two,
158
168
  "diagnosis_id_three": diagnosis_id_three,
169
+ "procedure_code": procedure_code,
170
+ "modifiers": modifiers,
171
+ "charge_amount_cents": charge_amount_cents,
159
172
  "denial_reason": denial_reason,
160
173
  "place_of_service_code": place_of_service_code,
161
- "procedure_code": procedure_code,
162
174
  "quantity": quantity,
163
175
  "units": units,
164
176
  "claim_id": claim_id,
@@ -183,12 +195,13 @@ module CandidApiClient
183
195
  def self.from_json(json_object:)
184
196
  struct = JSON.parse(json_object, object_class: OpenStruct)
185
197
  parsed_json = JSON.parse(json_object)
186
- modifiers = struct["modifiers"]
187
- charge_amount_cents = struct["charge_amount_cents"]
188
198
  diagnosis_id_zero = struct["diagnosis_id_zero"]
189
199
  diagnosis_id_one = struct["diagnosis_id_one"]
190
200
  diagnosis_id_two = struct["diagnosis_id_two"]
191
201
  diagnosis_id_three = struct["diagnosis_id_three"]
202
+ procedure_code = struct["procedure_code"]
203
+ modifiers = struct["modifiers"]
204
+ charge_amount_cents = struct["charge_amount_cents"]
192
205
  if parsed_json["denial_reason"].nil?
193
206
  denial_reason = nil
194
207
  else
@@ -196,7 +209,6 @@ module CandidApiClient
196
209
  denial_reason = CandidApiClient::ServiceLines::V2::Types::ServiceLineDenialReason.from_json(json_object: denial_reason)
197
210
  end
198
211
  place_of_service_code = struct["place_of_service_code"]
199
- procedure_code = struct["procedure_code"]
200
212
  quantity = struct["quantity"]
201
213
  units = struct["units"]
202
214
  claim_id = struct["claim_id"]
@@ -225,15 +237,15 @@ module CandidApiClient
225
237
  has_family_planning_indicator = struct["has_family_planning_indicator"]
226
238
  note = struct["note"]
227
239
  new(
228
- modifiers: modifiers,
229
- charge_amount_cents: charge_amount_cents,
230
240
  diagnosis_id_zero: diagnosis_id_zero,
231
241
  diagnosis_id_one: diagnosis_id_one,
232
242
  diagnosis_id_two: diagnosis_id_two,
233
243
  diagnosis_id_three: diagnosis_id_three,
244
+ procedure_code: procedure_code,
245
+ modifiers: modifiers,
246
+ charge_amount_cents: charge_amount_cents,
234
247
  denial_reason: denial_reason,
235
248
  place_of_service_code: place_of_service_code,
236
- procedure_code: procedure_code,
237
249
  quantity: quantity,
238
250
  units: units,
239
251
  claim_id: claim_id,
@@ -264,15 +276,15 @@ module CandidApiClient
264
276
  # @param obj [Object]
265
277
  # @return [Void]
266
278
  def self.validate_raw(obj:)
267
- obj.modifiers&.is_a?(Array) != false || raise("Passed value for field obj.modifiers is not the expected type, validation failed.")
268
- obj.charge_amount_cents&.is_a?(Integer) != false || raise("Passed value for field obj.charge_amount_cents is not the expected type, validation failed.")
269
279
  obj.diagnosis_id_zero&.is_a?(String) != false || raise("Passed value for field obj.diagnosis_id_zero is not the expected type, validation failed.")
270
280
  obj.diagnosis_id_one&.is_a?(String) != false || raise("Passed value for field obj.diagnosis_id_one is not the expected type, validation failed.")
271
281
  obj.diagnosis_id_two&.is_a?(String) != false || raise("Passed value for field obj.diagnosis_id_two is not the expected type, validation failed.")
272
282
  obj.diagnosis_id_three&.is_a?(String) != false || raise("Passed value for field obj.diagnosis_id_three is not the expected type, validation failed.")
283
+ obj.procedure_code.is_a?(String) != false || raise("Passed value for field obj.procedure_code is not the expected type, validation failed.")
284
+ obj.modifiers&.is_a?(Array) != false || raise("Passed value for field obj.modifiers is not the expected type, validation failed.")
285
+ obj.charge_amount_cents&.is_a?(Integer) != false || raise("Passed value for field obj.charge_amount_cents is not the expected type, validation failed.")
273
286
  obj.denial_reason.nil? || CandidApiClient::ServiceLines::V2::Types::ServiceLineDenialReason.validate_raw(obj: obj.denial_reason)
274
287
  obj.place_of_service_code&.is_a?(CandidApiClient::Commons::Types::FacilityTypeCode) != false || raise("Passed value for field obj.place_of_service_code is not the expected type, validation failed.")
275
- obj.procedure_code.is_a?(String) != false || raise("Passed value for field obj.procedure_code is not the expected type, validation failed.")
276
288
  obj.quantity.is_a?(String) != false || raise("Passed value for field obj.quantity is not the expected type, validation failed.")
277
289
  obj.units.is_a?(CandidApiClient::Commons::Types::ServiceLineUnits) != false || raise("Passed value for field obj.units is not the expected type, validation failed.")
278
290
  obj.claim_id.is_a?(String) != false || raise("Passed value for field obj.claim_id is not the expected type, validation failed.")