candidhealth 0.36.0 → 0.37.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.
@@ -0,0 +1,727 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../../../diagnoses/types/diagnosis_create"
4
+ require_relative "../../../encounters/v_4/types/intervention"
5
+ require_relative "../../../claim_submission/v_1/types/external_claim_submission_create"
6
+ require_relative "../../../service_lines/v_2/types/service_line_create"
7
+ require_relative "../../../encounters/v_4/types/patient_history_category"
8
+ require_relative "../../../billing_notes/v_2/types/billing_note"
9
+ require "date"
10
+ require_relative "../../../encounters/v_4/types/clinical_note_category_create"
11
+ require_relative "../../../commons/types/street_address_long_zip"
12
+ require_relative "../../../encounters/v_4/types/billable_status_type"
13
+ require_relative "../../../encounters/v_4/types/responsible_party_type"
14
+ require_relative "../../../encounters/v_4/types/synchronicity_type"
15
+ require_relative "../../../commons/types/facility_type_code"
16
+ require_relative "../../../individual/types/subscriber_create"
17
+ require_relative "../../../encounters/v_4/types/service_authorization_exception_code"
18
+ require_relative "../../../commons/types/delay_reason_code"
19
+ require_relative "../../../individual/types/patient_update"
20
+ require_relative "../../../custom_schemas/v_1/types/schema_instance"
21
+ require_relative "../../../encounters/v_4/types/vitals_update"
22
+ require_relative "../../../encounters/v_4/types/medication"
23
+ require_relative "../../../encounter_providers/v_2/types/rendering_provider_update"
24
+ require_relative "../../../service_facility/types/encounter_service_facility_update"
25
+ require_relative "../../../guarantor/v_1/types/guarantor_update"
26
+ require_relative "../../../encounter_providers/v_2/types/billing_provider_update"
27
+ require_relative "../../../encounter_providers/v_2/types/supervising_provider_update"
28
+ require_relative "../../../encounter_providers/v_2/types/referring_provider_update"
29
+ require_relative "../../../encounter_providers/v_2/types/initial_referring_provider_update"
30
+ require "ostruct"
31
+ require "json"
32
+
33
+ module CandidApiClient
34
+ module ChargeCapture
35
+ module V1
36
+ module Types
37
+ class ChargeCaptureData
38
+ # @return [Array<CandidApiClient::Diagnoses::Types::DiagnosisCreate>] Ideally, this field should contain no more than 12 diagnoses. However, more
39
+ # diagnoses
40
+ # may be submitted at this time, and coders will later prioritize the 12 that will
41
+ # be
42
+ # submitted to the payor.
43
+ attr_reader :diagnoses
44
+ # @return [Array<CandidApiClient::Encounters::V4::Types::Intervention>]
45
+ attr_reader :interventions
46
+ # @return [CandidApiClient::ClaimSubmission::V1::Types::ExternalClaimSubmissionCreate] **_This field is in beta._**
47
+ # To be included for claims that have been submitted outside of Candid.
48
+ # Candid supports posting remits and payments to these claims and working them
49
+ # in-platform (e.g. editing, resubmitting).
50
+ attr_reader :external_claim_submission
51
+ # @return [Array<CandidApiClient::ServiceLines::V2::Types::ServiceLineCreate>] Each service line must be linked to a diagnosis. Concretely,
52
+ # `service_line.diagnosis_pointers`must contain at least one entry which should be
53
+ # in bounds of the diagnoses list field.
54
+ attr_reader :service_lines
55
+ # @return [Array<CandidApiClient::Encounters::V4::Types::PatientHistoryCategory>]
56
+ attr_reader :patient_histories
57
+ # @return [Array<CandidApiClient::BillingNotes::V2::Types::BillingNote>] Spot to store misc, human-readable, notes about this encounter to be
58
+ # used in the billing process.
59
+ attr_reader :billing_notes
60
+ # @return [Boolean] Whether this patient has authorized insurance payments to be made to you, not
61
+ # them. If false, patient may receive reimbursement. Box 13 on the CMS-1500 claim
62
+ # form.
63
+ attr_reader :benefits_assigned_to_provider
64
+ # @return [String] Box 23 on the CMS-1500 claim form.
65
+ attr_reader :prior_authorization_number
66
+ # @return [String] A client-specified unique ID to associate with this encounter;
67
+ # for example, your internal encounter ID or a Dr. Chrono encounter ID.
68
+ # This field should not contain PHI.
69
+ attr_reader :external_id
70
+ # @return [Date] Date formatted as YYYY-MM-DD; eg: 2019-08-24.
71
+ # This date must be the local date in the timezone where the service occurred.
72
+ # Box 24a on the CMS-1500 claim form.
73
+ # If service occurred over a range of dates, this should be the start date.
74
+ # If service lines have distinct date_of_service values, updating the encounter's
75
+ # date_of_service will fail. If all service line date_of_service values are the
76
+ # same, updating the encounter's date_of_service will update all service line
77
+ # date_of_service values.
78
+ attr_reader :date_of_service
79
+ # @return [Array<String>] Names of tags that should be on the encounter. Note all tags on encounter will
80
+ # be overridden with this list.
81
+ attr_reader :tag_ids
82
+ # @return [Array<CandidApiClient::Encounters::V4::Types::ClinicalNoteCategoryCreate>] Holds a collection of clinical observations made by healthcare providers during
83
+ # patient encounters.
84
+ attr_reader :clinical_notes
85
+ # @return [CandidApiClient::Commons::Types::StreetAddressLongZip] Specifies the address to which payments for the claim should be sent.
86
+ attr_reader :pay_to_address
87
+ # @return [CandidApiClient::Encounters::V4::Types::BillableStatusType] Defines if the Encounter is to be billed by Candid to the responsible_party.
88
+ # Examples for when this should be set to NOT_BILLABLE include if the Encounter
89
+ # has not occurred yet or if there is no intention of ever billing the
90
+ # responsible_party.
91
+ attr_reader :billable_status
92
+ # @return [CandidApiClient::Encounters::V4::Types::ResponsiblePartyType] Defines the party to be billed with the initial balance owed on the claim. Use
93
+ # SELF_PAY if you intend to bill self pay/cash pay.
94
+ attr_reader :responsible_party
95
+ # @return [Boolean] Whether you have accepted the patient's authorization for insurance payments to
96
+ # be made to you, not them. Box 27 on the CMS-1500 claim form.
97
+ attr_reader :provider_accepts_assignment
98
+ # @return [CandidApiClient::Encounters::V4::Types::SynchronicityType] Whether or not this was a synchronous or asynchronous encounter. Asynchronous
99
+ # encounters occur when providers and patients communicate online using forms,
100
+ # instant messaging, or other pre-recorded digital mediums. Synchronous encounters
101
+ # occur in live, real-time settings where the patient interacts directly with the
102
+ # provider, such as over video or a phone call.
103
+ attr_reader :synchronicity
104
+ # @return [CandidApiClient::Commons::Types::FacilityTypeCode] Box 24B on the CMS-1500 claim form. 837p Loop2300, CLM-05-1. 02 for
105
+ # telemedicine, 11 for in-person. Full list
106
+ # //www.cms.gov/Medicare/Coding/place-of-service-codes/Place_of_Service_Code_Set).
107
+ attr_reader :place_of_service_code
108
+ # @return [String] Human-readable description of the appointment type (ex: "Acupuncture -
109
+ # Headaches").
110
+ attr_reader :appointment_type
111
+ # @return [Date] Date formatted as YYYY-MM-DD; eg: 2019-08-25.
112
+ # This date must be the local date in the timezone where the service occurred.
113
+ # If omitted, the Encounter is assumed to be for a single day.
114
+ # Must not be temporally before the date_of_service field.
115
+ # If service lines have distinct end_date_of_service values, updating the
116
+ # encounter's end_date_of_service will fail. If all service line
117
+ # end_date_of_service values are the same, updating the encounter's
118
+ # end_date_of_service will update all service line date_of_service values.
119
+ attr_reader :end_date_of_service
120
+ # @return [CandidApiClient::Individual::Types::SubscriberCreate] Contains details of the primary insurance subscriber.
121
+ attr_reader :subscriber_primary
122
+ # @return [CandidApiClient::Individual::Types::SubscriberCreate] Contains details of the secondary insurance subscriber.
123
+ attr_reader :subscriber_secondary
124
+ # @return [String] Defines additional information on the claim needed by the payer.
125
+ # Box 19 on the CMS-1500 claim form.
126
+ attr_reader :additional_information
127
+ # @return [CandidApiClient::Encounters::V4::Types::ServiceAuthorizationExceptionCode] 837p Loop2300 REF\*4N
128
+ # Required when mandated by government law or regulation to obtain authorization
129
+ # for specific service(s) but, for the
130
+ # reasons listed in one of the enum values of ServiceAuthorizationExceptionCode,
131
+ # the service was performed without
132
+ # obtaining the authorization.
133
+ attr_reader :service_authorization_exception_code
134
+ # @return [Date] 837p Loop2300 DTP\*435, CMS-1500 Box 18
135
+ # Required on all ambulance claims when the patient was known to be admitted to
136
+ # the hospital.
137
+ # OR
138
+ # Required on all claims involving inpatient medical visits.
139
+ attr_reader :admission_date
140
+ # @return [Date] 837p Loop2300 DTP\*096, CMS-1500 Box 18
141
+ # Required for inpatient claims when the patient was discharged from the facility
142
+ # and the discharge date is known.
143
+ attr_reader :discharge_date
144
+ # @return [Date] 837p Loop2300 DTP\*431, CMS-1500 Box 14
145
+ # Required for the initial medical service or visit performed in response to a
146
+ # medical emergency when the date is available and is different than the date of
147
+ # service.
148
+ # OR
149
+ # This date is the onset of acute symptoms for the current illness or condition.
150
+ attr_reader :onset_of_current_illness_or_symptom_date
151
+ # @return [Date] 837p Loop2300 DTP\*484, CMS-1500 Box 14
152
+ # Required when, in the judgment of the provider, the services on this claim are
153
+ # related to the patient's pregnancy.de
154
+ attr_reader :last_menstrual_period_date
155
+ # @return [CandidApiClient::Commons::Types::DelayReasonCode] 837i Loop2300, CLM-1300 Box 20
156
+ # Code indicating the reason why a request was delayed
157
+ attr_reader :delay_reason_code
158
+ # @return [CandidApiClient::Individual::Types::PatientUpdate] Contains the identification information of the individual receiving medical
159
+ # services.
160
+ attr_reader :patient
161
+ # @return [Boolean] Whether this patient has authorized the release of medical information
162
+ # for billing purpose.
163
+ # Box 12 on the CMS-1500 claim form.
164
+ attr_reader :patient_authorized_release
165
+ # @return [Array<CandidApiClient::CustomSchemas::V1::Types::SchemaInstance>] Key-value pairs that must adhere to a schema created via the Custom Schema API.
166
+ # Multiple schema
167
+ # instances cannot be created for the same schema on an encounter. Updating schema
168
+ # instances utilizes PUT
169
+ # semantics, so the schema instances on the encounter will be set to whatever
170
+ # inputs are provided. If null
171
+ # is provided as an input, then the encounter's schema instances will be cleared.
172
+ attr_reader :schema_instances
173
+ # @return [CandidApiClient::Encounters::V4::Types::VitalsUpdate] If a vitals entity already exists for the encounter, then all values will be
174
+ # updated to the provided values.
175
+ # Otherwise, a new vitals object will be created for the encounter.
176
+ attr_reader :vitals
177
+ # @return [Array<CandidApiClient::Encounters::V4::Types::Medication>] Existing medications that should be on the encounter.
178
+ # Note all current existing medications on encounter will be overridden with this
179
+ # list.
180
+ attr_reader :existing_medications
181
+ # @return [CandidApiClient::EncounterProviders::V2::Types::RenderingProviderUpdate] The rendering provider is the practitioner -- physician, nurse practitioner,
182
+ # etc. -- performing the service.
183
+ # For telehealth services, the rendering provider performs the visit, asynchronous
184
+ # communication, or other service. The rendering provider address should generally
185
+ # be the same as the service facility address.
186
+ attr_reader :rendering_provider
187
+ # @return [CandidApiClient::ServiceFacility::Types::EncounterServiceFacilityUpdate] Encounter Service facility is typically the location a medical service was
188
+ # rendered, such as a provider office or hospital. For telehealth, service
189
+ # facility can represent the provider's location when the service was delivered
190
+ # (e.g., home), or the location where an in-person visit would have taken place,
191
+ # whichever is easier to identify. If the provider is in-network, service facility
192
+ # may be defined in payer contracts. Box 32 on the CMS-1500 claim form. Note that
193
+ # for an in-network claim to be successfully adjudicated, the service facility
194
+ # address listed on claims must match what was provided to the payer during the
195
+ # credentialing process.
196
+ attr_reader :service_facility
197
+ # @return [CandidApiClient::Guarantor::V1::Types::GuarantorUpdate] Personal and contact info for the guarantor of the patient responsibility.
198
+ attr_reader :guarantor
199
+ # @return [CandidApiClient::EncounterProviders::V2::Types::BillingProviderUpdate] The billing provider is the provider or business entity submitting the claim.
200
+ # Billing provider may be, but is not necessarily, the same person/NPI as the
201
+ # rendering provider. From a payer's perspective, this represents the person or
202
+ # entity being reimbursed. When a contract exists with the target payer, the
203
+ # billing provider should be the entity contracted with the payer. In some
204
+ # circumstances, this will be an individual provider. In that case, submit that
205
+ # provider's NPI and the tax ID (TIN) that the provider gave to the payer during
206
+ # contracting. In other cases, the billing entity will be a medical group. If so,
207
+ # submit the group NPI and the group's tax ID. Box 33 on the CMS-1500 claim form.
208
+ attr_reader :billing_provider
209
+ # @return [CandidApiClient::EncounterProviders::V2::Types::SupervisingProviderUpdate] Required when the rendering provider is supervised by a physician. If not
210
+ # required by this implementation guide, do not send.
211
+ attr_reader :supervising_provider
212
+ # @return [CandidApiClient::EncounterProviders::V2::Types::ReferringProviderUpdate] The final provider who referred the services that were rendered.
213
+ # All physicians who order services or refer Medicare beneficiaries must
214
+ # report this data.
215
+ attr_reader :referring_provider
216
+ # @return [CandidApiClient::EncounterProviders::V2::Types::InitialReferringProviderUpdate] The second iteration of Loop ID-2310. Use code "P3 - Primary Care Provider" in
217
+ # this loop to
218
+ # indicate the initial referral from the primary care provider or whatever
219
+ # provider wrote the initial referral for this patient's episode of care being
220
+ # billed/reported in this transaction.
221
+ attr_reader :initial_referring_provider
222
+ # @return [String] Refers to REF\*9F on the 837p. Value cannot be greater than 50 characters.
223
+ attr_reader :referral_number
224
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
225
+ attr_reader :additional_properties
226
+ # @return [Object]
227
+ attr_reader :_field_set
228
+ protected :_field_set
229
+
230
+ OMIT = Object.new
231
+
232
+ # @param diagnoses [Array<CandidApiClient::Diagnoses::Types::DiagnosisCreate>] Ideally, this field should contain no more than 12 diagnoses. However, more
233
+ # diagnoses
234
+ # may be submitted at this time, and coders will later prioritize the 12 that will
235
+ # be
236
+ # submitted to the payor.
237
+ # @param interventions [Array<CandidApiClient::Encounters::V4::Types::Intervention>]
238
+ # @param external_claim_submission [CandidApiClient::ClaimSubmission::V1::Types::ExternalClaimSubmissionCreate] **_This field is in beta._**
239
+ # To be included for claims that have been submitted outside of Candid.
240
+ # Candid supports posting remits and payments to these claims and working them
241
+ # in-platform (e.g. editing, resubmitting).
242
+ # @param service_lines [Array<CandidApiClient::ServiceLines::V2::Types::ServiceLineCreate>] Each service line must be linked to a diagnosis. Concretely,
243
+ # `service_line.diagnosis_pointers`must contain at least one entry which should be
244
+ # in bounds of the diagnoses list field.
245
+ # @param patient_histories [Array<CandidApiClient::Encounters::V4::Types::PatientHistoryCategory>]
246
+ # @param billing_notes [Array<CandidApiClient::BillingNotes::V2::Types::BillingNote>] Spot to store misc, human-readable, notes about this encounter to be
247
+ # used in the billing process.
248
+ # @param benefits_assigned_to_provider [Boolean] Whether this patient has authorized insurance payments to be made to you, not
249
+ # them. If false, patient may receive reimbursement. Box 13 on the CMS-1500 claim
250
+ # form.
251
+ # @param prior_authorization_number [String] Box 23 on the CMS-1500 claim form.
252
+ # @param external_id [String] A client-specified unique ID to associate with this encounter;
253
+ # for example, your internal encounter ID or a Dr. Chrono encounter ID.
254
+ # This field should not contain PHI.
255
+ # @param date_of_service [Date] Date formatted as YYYY-MM-DD; eg: 2019-08-24.
256
+ # This date must be the local date in the timezone where the service occurred.
257
+ # Box 24a on the CMS-1500 claim form.
258
+ # If service occurred over a range of dates, this should be the start date.
259
+ # If service lines have distinct date_of_service values, updating the encounter's
260
+ # date_of_service will fail. If all service line date_of_service values are the
261
+ # same, updating the encounter's date_of_service will update all service line
262
+ # date_of_service values.
263
+ # @param tag_ids [Array<String>] Names of tags that should be on the encounter. Note all tags on encounter will
264
+ # be overridden with this list.
265
+ # @param clinical_notes [Array<CandidApiClient::Encounters::V4::Types::ClinicalNoteCategoryCreate>] Holds a collection of clinical observations made by healthcare providers during
266
+ # patient encounters.
267
+ # @param pay_to_address [CandidApiClient::Commons::Types::StreetAddressLongZip] Specifies the address to which payments for the claim should be sent.
268
+ # @param billable_status [CandidApiClient::Encounters::V4::Types::BillableStatusType] Defines if the Encounter is to be billed by Candid to the responsible_party.
269
+ # Examples for when this should be set to NOT_BILLABLE include if the Encounter
270
+ # has not occurred yet or if there is no intention of ever billing the
271
+ # responsible_party.
272
+ # @param responsible_party [CandidApiClient::Encounters::V4::Types::ResponsiblePartyType] Defines the party to be billed with the initial balance owed on the claim. Use
273
+ # SELF_PAY if you intend to bill self pay/cash pay.
274
+ # @param provider_accepts_assignment [Boolean] Whether you have accepted the patient's authorization for insurance payments to
275
+ # be made to you, not them. Box 27 on the CMS-1500 claim form.
276
+ # @param synchronicity [CandidApiClient::Encounters::V4::Types::SynchronicityType] Whether or not this was a synchronous or asynchronous encounter. Asynchronous
277
+ # encounters occur when providers and patients communicate online using forms,
278
+ # instant messaging, or other pre-recorded digital mediums. Synchronous encounters
279
+ # occur in live, real-time settings where the patient interacts directly with the
280
+ # provider, such as over video or a phone call.
281
+ # @param place_of_service_code [CandidApiClient::Commons::Types::FacilityTypeCode] Box 24B on the CMS-1500 claim form. 837p Loop2300, CLM-05-1. 02 for
282
+ # telemedicine, 11 for in-person. Full list
283
+ # //www.cms.gov/Medicare/Coding/place-of-service-codes/Place_of_Service_Code_Set).
284
+ # @param appointment_type [String] Human-readable description of the appointment type (ex: "Acupuncture -
285
+ # Headaches").
286
+ # @param end_date_of_service [Date] Date formatted as YYYY-MM-DD; eg: 2019-08-25.
287
+ # This date must be the local date in the timezone where the service occurred.
288
+ # If omitted, the Encounter is assumed to be for a single day.
289
+ # Must not be temporally before the date_of_service field.
290
+ # If service lines have distinct end_date_of_service values, updating the
291
+ # encounter's end_date_of_service will fail. If all service line
292
+ # end_date_of_service values are the same, updating the encounter's
293
+ # end_date_of_service will update all service line date_of_service values.
294
+ # @param subscriber_primary [CandidApiClient::Individual::Types::SubscriberCreate] Contains details of the primary insurance subscriber.
295
+ # @param subscriber_secondary [CandidApiClient::Individual::Types::SubscriberCreate] Contains details of the secondary insurance subscriber.
296
+ # @param additional_information [String] Defines additional information on the claim needed by the payer.
297
+ # Box 19 on the CMS-1500 claim form.
298
+ # @param service_authorization_exception_code [CandidApiClient::Encounters::V4::Types::ServiceAuthorizationExceptionCode] 837p Loop2300 REF\*4N
299
+ # Required when mandated by government law or regulation to obtain authorization
300
+ # for specific service(s) but, for the
301
+ # reasons listed in one of the enum values of ServiceAuthorizationExceptionCode,
302
+ # the service was performed without
303
+ # obtaining the authorization.
304
+ # @param admission_date [Date] 837p Loop2300 DTP\*435, CMS-1500 Box 18
305
+ # Required on all ambulance claims when the patient was known to be admitted to
306
+ # the hospital.
307
+ # OR
308
+ # Required on all claims involving inpatient medical visits.
309
+ # @param discharge_date [Date] 837p Loop2300 DTP\*096, CMS-1500 Box 18
310
+ # Required for inpatient claims when the patient was discharged from the facility
311
+ # and the discharge date is known.
312
+ # @param onset_of_current_illness_or_symptom_date [Date] 837p Loop2300 DTP\*431, CMS-1500 Box 14
313
+ # Required for the initial medical service or visit performed in response to a
314
+ # medical emergency when the date is available and is different than the date of
315
+ # service.
316
+ # OR
317
+ # This date is the onset of acute symptoms for the current illness or condition.
318
+ # @param last_menstrual_period_date [Date] 837p Loop2300 DTP\*484, CMS-1500 Box 14
319
+ # Required when, in the judgment of the provider, the services on this claim are
320
+ # related to the patient's pregnancy.de
321
+ # @param delay_reason_code [CandidApiClient::Commons::Types::DelayReasonCode] 837i Loop2300, CLM-1300 Box 20
322
+ # Code indicating the reason why a request was delayed
323
+ # @param patient [CandidApiClient::Individual::Types::PatientUpdate] Contains the identification information of the individual receiving medical
324
+ # services.
325
+ # @param patient_authorized_release [Boolean] Whether this patient has authorized the release of medical information
326
+ # for billing purpose.
327
+ # Box 12 on the CMS-1500 claim form.
328
+ # @param schema_instances [Array<CandidApiClient::CustomSchemas::V1::Types::SchemaInstance>] Key-value pairs that must adhere to a schema created via the Custom Schema API.
329
+ # Multiple schema
330
+ # instances cannot be created for the same schema on an encounter. Updating schema
331
+ # instances utilizes PUT
332
+ # semantics, so the schema instances on the encounter will be set to whatever
333
+ # inputs are provided. If null
334
+ # is provided as an input, then the encounter's schema instances will be cleared.
335
+ # @param vitals [CandidApiClient::Encounters::V4::Types::VitalsUpdate] If a vitals entity already exists for the encounter, then all values will be
336
+ # updated to the provided values.
337
+ # Otherwise, a new vitals object will be created for the encounter.
338
+ # @param existing_medications [Array<CandidApiClient::Encounters::V4::Types::Medication>] Existing medications that should be on the encounter.
339
+ # Note all current existing medications on encounter will be overridden with this
340
+ # list.
341
+ # @param rendering_provider [CandidApiClient::EncounterProviders::V2::Types::RenderingProviderUpdate] The rendering provider is the practitioner -- physician, nurse practitioner,
342
+ # etc. -- performing the service.
343
+ # For telehealth services, the rendering provider performs the visit, asynchronous
344
+ # communication, or other service. The rendering provider address should generally
345
+ # be the same as the service facility address.
346
+ # @param service_facility [CandidApiClient::ServiceFacility::Types::EncounterServiceFacilityUpdate] Encounter Service facility is typically the location a medical service was
347
+ # rendered, such as a provider office or hospital. For telehealth, service
348
+ # facility can represent the provider's location when the service was delivered
349
+ # (e.g., home), or the location where an in-person visit would have taken place,
350
+ # whichever is easier to identify. If the provider is in-network, service facility
351
+ # may be defined in payer contracts. Box 32 on the CMS-1500 claim form. Note that
352
+ # for an in-network claim to be successfully adjudicated, the service facility
353
+ # address listed on claims must match what was provided to the payer during the
354
+ # credentialing process.
355
+ # @param guarantor [CandidApiClient::Guarantor::V1::Types::GuarantorUpdate] Personal and contact info for the guarantor of the patient responsibility.
356
+ # @param billing_provider [CandidApiClient::EncounterProviders::V2::Types::BillingProviderUpdate] The billing provider is the provider or business entity submitting the claim.
357
+ # Billing provider may be, but is not necessarily, the same person/NPI as the
358
+ # rendering provider. From a payer's perspective, this represents the person or
359
+ # entity being reimbursed. When a contract exists with the target payer, the
360
+ # billing provider should be the entity contracted with the payer. In some
361
+ # circumstances, this will be an individual provider. In that case, submit that
362
+ # provider's NPI and the tax ID (TIN) that the provider gave to the payer during
363
+ # contracting. In other cases, the billing entity will be a medical group. If so,
364
+ # submit the group NPI and the group's tax ID. Box 33 on the CMS-1500 claim form.
365
+ # @param supervising_provider [CandidApiClient::EncounterProviders::V2::Types::SupervisingProviderUpdate] Required when the rendering provider is supervised by a physician. If not
366
+ # required by this implementation guide, do not send.
367
+ # @param referring_provider [CandidApiClient::EncounterProviders::V2::Types::ReferringProviderUpdate] The final provider who referred the services that were rendered.
368
+ # All physicians who order services or refer Medicare beneficiaries must
369
+ # report this data.
370
+ # @param initial_referring_provider [CandidApiClient::EncounterProviders::V2::Types::InitialReferringProviderUpdate] The second iteration of Loop ID-2310. Use code "P3 - Primary Care Provider" in
371
+ # this loop to
372
+ # indicate the initial referral from the primary care provider or whatever
373
+ # provider wrote the initial referral for this patient's episode of care being
374
+ # billed/reported in this transaction.
375
+ # @param referral_number [String] Refers to REF\*9F on the 837p. Value cannot be greater than 50 characters.
376
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
377
+ # @return [CandidApiClient::ChargeCapture::V1::Types::ChargeCaptureData]
378
+ def initialize(diagnoses: OMIT, interventions: OMIT, external_claim_submission: OMIT, service_lines: OMIT,
379
+ patient_histories: OMIT, billing_notes: OMIT, benefits_assigned_to_provider: OMIT, prior_authorization_number: OMIT, external_id: OMIT, date_of_service: OMIT, tag_ids: OMIT, clinical_notes: OMIT, pay_to_address: OMIT, billable_status: OMIT, responsible_party: OMIT, provider_accepts_assignment: OMIT, synchronicity: OMIT, place_of_service_code: OMIT, appointment_type: OMIT, end_date_of_service: OMIT, subscriber_primary: OMIT, subscriber_secondary: OMIT, additional_information: OMIT, service_authorization_exception_code: OMIT, admission_date: OMIT, discharge_date: OMIT, onset_of_current_illness_or_symptom_date: OMIT, last_menstrual_period_date: OMIT, delay_reason_code: OMIT, patient: OMIT, patient_authorized_release: OMIT, schema_instances: OMIT, vitals: OMIT, existing_medications: OMIT, rendering_provider: OMIT, service_facility: OMIT, guarantor: OMIT, billing_provider: OMIT, supervising_provider: OMIT, referring_provider: OMIT, initial_referring_provider: OMIT, referral_number: OMIT, additional_properties: nil)
380
+ @diagnoses = diagnoses if diagnoses != OMIT
381
+ @interventions = interventions if interventions != OMIT
382
+ @external_claim_submission = external_claim_submission if external_claim_submission != OMIT
383
+ @service_lines = service_lines if service_lines != OMIT
384
+ @patient_histories = patient_histories if patient_histories != OMIT
385
+ @billing_notes = billing_notes if billing_notes != OMIT
386
+ @benefits_assigned_to_provider = benefits_assigned_to_provider if benefits_assigned_to_provider != OMIT
387
+ @prior_authorization_number = prior_authorization_number if prior_authorization_number != OMIT
388
+ @external_id = external_id if external_id != OMIT
389
+ @date_of_service = date_of_service if date_of_service != OMIT
390
+ @tag_ids = tag_ids if tag_ids != OMIT
391
+ @clinical_notes = clinical_notes if clinical_notes != OMIT
392
+ @pay_to_address = pay_to_address if pay_to_address != OMIT
393
+ @billable_status = billable_status if billable_status != OMIT
394
+ @responsible_party = responsible_party if responsible_party != OMIT
395
+ @provider_accepts_assignment = provider_accepts_assignment if provider_accepts_assignment != OMIT
396
+ @synchronicity = synchronicity if synchronicity != OMIT
397
+ @place_of_service_code = place_of_service_code if place_of_service_code != OMIT
398
+ @appointment_type = appointment_type if appointment_type != OMIT
399
+ @end_date_of_service = end_date_of_service if end_date_of_service != OMIT
400
+ @subscriber_primary = subscriber_primary if subscriber_primary != OMIT
401
+ @subscriber_secondary = subscriber_secondary if subscriber_secondary != OMIT
402
+ @additional_information = additional_information if additional_information != OMIT
403
+ if service_authorization_exception_code != OMIT
404
+ @service_authorization_exception_code = service_authorization_exception_code
405
+ end
406
+ @admission_date = admission_date if admission_date != OMIT
407
+ @discharge_date = discharge_date if discharge_date != OMIT
408
+ if onset_of_current_illness_or_symptom_date != OMIT
409
+ @onset_of_current_illness_or_symptom_date = onset_of_current_illness_or_symptom_date
410
+ end
411
+ @last_menstrual_period_date = last_menstrual_period_date if last_menstrual_period_date != OMIT
412
+ @delay_reason_code = delay_reason_code if delay_reason_code != OMIT
413
+ @patient = patient if patient != OMIT
414
+ @patient_authorized_release = patient_authorized_release if patient_authorized_release != OMIT
415
+ @schema_instances = schema_instances if schema_instances != OMIT
416
+ @vitals = vitals if vitals != OMIT
417
+ @existing_medications = existing_medications if existing_medications != OMIT
418
+ @rendering_provider = rendering_provider if rendering_provider != OMIT
419
+ @service_facility = service_facility if service_facility != OMIT
420
+ @guarantor = guarantor if guarantor != OMIT
421
+ @billing_provider = billing_provider if billing_provider != OMIT
422
+ @supervising_provider = supervising_provider if supervising_provider != OMIT
423
+ @referring_provider = referring_provider if referring_provider != OMIT
424
+ @initial_referring_provider = initial_referring_provider if initial_referring_provider != OMIT
425
+ @referral_number = referral_number if referral_number != OMIT
426
+ @additional_properties = additional_properties
427
+ @_field_set = {
428
+ "diagnoses": diagnoses,
429
+ "interventions": interventions,
430
+ "external_claim_submission": external_claim_submission,
431
+ "service_lines": service_lines,
432
+ "patient_histories": patient_histories,
433
+ "billing_notes": billing_notes,
434
+ "benefits_assigned_to_provider": benefits_assigned_to_provider,
435
+ "prior_authorization_number": prior_authorization_number,
436
+ "external_id": external_id,
437
+ "date_of_service": date_of_service,
438
+ "tag_ids": tag_ids,
439
+ "clinical_notes": clinical_notes,
440
+ "pay_to_address": pay_to_address,
441
+ "billable_status": billable_status,
442
+ "responsible_party": responsible_party,
443
+ "provider_accepts_assignment": provider_accepts_assignment,
444
+ "synchronicity": synchronicity,
445
+ "place_of_service_code": place_of_service_code,
446
+ "appointment_type": appointment_type,
447
+ "end_date_of_service": end_date_of_service,
448
+ "subscriber_primary": subscriber_primary,
449
+ "subscriber_secondary": subscriber_secondary,
450
+ "additional_information": additional_information,
451
+ "service_authorization_exception_code": service_authorization_exception_code,
452
+ "admission_date": admission_date,
453
+ "discharge_date": discharge_date,
454
+ "onset_of_current_illness_or_symptom_date": onset_of_current_illness_or_symptom_date,
455
+ "last_menstrual_period_date": last_menstrual_period_date,
456
+ "delay_reason_code": delay_reason_code,
457
+ "patient": patient,
458
+ "patient_authorized_release": patient_authorized_release,
459
+ "schema_instances": schema_instances,
460
+ "vitals": vitals,
461
+ "existing_medications": existing_medications,
462
+ "rendering_provider": rendering_provider,
463
+ "service_facility": service_facility,
464
+ "guarantor": guarantor,
465
+ "billing_provider": billing_provider,
466
+ "supervising_provider": supervising_provider,
467
+ "referring_provider": referring_provider,
468
+ "initial_referring_provider": initial_referring_provider,
469
+ "referral_number": referral_number
470
+ }.reject do |_k, v|
471
+ v == OMIT
472
+ end
473
+ end
474
+
475
+ # Deserialize a JSON object to an instance of ChargeCaptureData
476
+ #
477
+ # @param json_object [String]
478
+ # @return [CandidApiClient::ChargeCapture::V1::Types::ChargeCaptureData]
479
+ def self.from_json(json_object:)
480
+ struct = JSON.parse(json_object, object_class: OpenStruct)
481
+ parsed_json = JSON.parse(json_object)
482
+ diagnoses = parsed_json["diagnoses"]&.map do |item|
483
+ item = item.to_json
484
+ CandidApiClient::Diagnoses::Types::DiagnosisCreate.from_json(json_object: item)
485
+ end
486
+ interventions = parsed_json["interventions"]&.map do |item|
487
+ item = item.to_json
488
+ CandidApiClient::Encounters::V4::Types::Intervention.from_json(json_object: item)
489
+ end
490
+ if parsed_json["external_claim_submission"].nil?
491
+ external_claim_submission = nil
492
+ else
493
+ external_claim_submission = parsed_json["external_claim_submission"].to_json
494
+ external_claim_submission = CandidApiClient::ClaimSubmission::V1::Types::ExternalClaimSubmissionCreate.from_json(json_object: external_claim_submission)
495
+ end
496
+ service_lines = parsed_json["service_lines"]&.map do |item|
497
+ item = item.to_json
498
+ CandidApiClient::ServiceLines::V2::Types::ServiceLineCreate.from_json(json_object: item)
499
+ end
500
+ patient_histories = parsed_json["patient_histories"]&.map do |item|
501
+ item = item.to_json
502
+ CandidApiClient::Encounters::V4::Types::PatientHistoryCategory.from_json(json_object: item)
503
+ end
504
+ billing_notes = parsed_json["billing_notes"]&.map do |item|
505
+ item = item.to_json
506
+ CandidApiClient::BillingNotes::V2::Types::BillingNote.from_json(json_object: item)
507
+ end
508
+ benefits_assigned_to_provider = struct["benefits_assigned_to_provider"]
509
+ prior_authorization_number = struct["prior_authorization_number"]
510
+ external_id = struct["external_id"]
511
+ date_of_service = (Date.parse(parsed_json["date_of_service"]) unless parsed_json["date_of_service"].nil?)
512
+ tag_ids = struct["tag_ids"]
513
+ clinical_notes = parsed_json["clinical_notes"]&.map do |item|
514
+ item = item.to_json
515
+ CandidApiClient::Encounters::V4::Types::ClinicalNoteCategoryCreate.from_json(json_object: item)
516
+ end
517
+ if parsed_json["pay_to_address"].nil?
518
+ pay_to_address = nil
519
+ else
520
+ pay_to_address = parsed_json["pay_to_address"].to_json
521
+ pay_to_address = CandidApiClient::Commons::Types::StreetAddressLongZip.from_json(json_object: pay_to_address)
522
+ end
523
+ billable_status = struct["billable_status"]
524
+ responsible_party = struct["responsible_party"]
525
+ provider_accepts_assignment = struct["provider_accepts_assignment"]
526
+ synchronicity = struct["synchronicity"]
527
+ place_of_service_code = struct["place_of_service_code"]
528
+ appointment_type = struct["appointment_type"]
529
+ end_date_of_service = unless parsed_json["end_date_of_service"].nil?
530
+ Date.parse(parsed_json["end_date_of_service"])
531
+ end
532
+ if parsed_json["subscriber_primary"].nil?
533
+ subscriber_primary = nil
534
+ else
535
+ subscriber_primary = parsed_json["subscriber_primary"].to_json
536
+ subscriber_primary = CandidApiClient::Individual::Types::SubscriberCreate.from_json(json_object: subscriber_primary)
537
+ end
538
+ if parsed_json["subscriber_secondary"].nil?
539
+ subscriber_secondary = nil
540
+ else
541
+ subscriber_secondary = parsed_json["subscriber_secondary"].to_json
542
+ subscriber_secondary = CandidApiClient::Individual::Types::SubscriberCreate.from_json(json_object: subscriber_secondary)
543
+ end
544
+ additional_information = struct["additional_information"]
545
+ service_authorization_exception_code = struct["service_authorization_exception_code"]
546
+ admission_date = (Date.parse(parsed_json["admission_date"]) unless parsed_json["admission_date"].nil?)
547
+ discharge_date = (Date.parse(parsed_json["discharge_date"]) unless parsed_json["discharge_date"].nil?)
548
+ onset_of_current_illness_or_symptom_date = unless parsed_json["onset_of_current_illness_or_symptom_date"].nil?
549
+ Date.parse(parsed_json["onset_of_current_illness_or_symptom_date"])
550
+ end
551
+ last_menstrual_period_date = unless parsed_json["last_menstrual_period_date"].nil?
552
+ Date.parse(parsed_json["last_menstrual_period_date"])
553
+ end
554
+ delay_reason_code = struct["delay_reason_code"]
555
+ if parsed_json["patient"].nil?
556
+ patient = nil
557
+ else
558
+ patient = parsed_json["patient"].to_json
559
+ patient = CandidApiClient::Individual::Types::PatientUpdate.from_json(json_object: patient)
560
+ end
561
+ patient_authorized_release = struct["patient_authorized_release"]
562
+ schema_instances = parsed_json["schema_instances"]&.map do |item|
563
+ item = item.to_json
564
+ CandidApiClient::CustomSchemas::V1::Types::SchemaInstance.from_json(json_object: item)
565
+ end
566
+ if parsed_json["vitals"].nil?
567
+ vitals = nil
568
+ else
569
+ vitals = parsed_json["vitals"].to_json
570
+ vitals = CandidApiClient::Encounters::V4::Types::VitalsUpdate.from_json(json_object: vitals)
571
+ end
572
+ existing_medications = parsed_json["existing_medications"]&.map do |item|
573
+ item = item.to_json
574
+ CandidApiClient::Encounters::V4::Types::Medication.from_json(json_object: item)
575
+ end
576
+ if parsed_json["rendering_provider"].nil?
577
+ rendering_provider = nil
578
+ else
579
+ rendering_provider = parsed_json["rendering_provider"].to_json
580
+ rendering_provider = CandidApiClient::EncounterProviders::V2::Types::RenderingProviderUpdate.from_json(json_object: rendering_provider)
581
+ end
582
+ if parsed_json["service_facility"].nil?
583
+ service_facility = nil
584
+ else
585
+ service_facility = parsed_json["service_facility"].to_json
586
+ service_facility = CandidApiClient::ServiceFacility::Types::EncounterServiceFacilityUpdate.from_json(json_object: service_facility)
587
+ end
588
+ if parsed_json["guarantor"].nil?
589
+ guarantor = nil
590
+ else
591
+ guarantor = parsed_json["guarantor"].to_json
592
+ guarantor = CandidApiClient::Guarantor::V1::Types::GuarantorUpdate.from_json(json_object: guarantor)
593
+ end
594
+ if parsed_json["billing_provider"].nil?
595
+ billing_provider = nil
596
+ else
597
+ billing_provider = parsed_json["billing_provider"].to_json
598
+ billing_provider = CandidApiClient::EncounterProviders::V2::Types::BillingProviderUpdate.from_json(json_object: billing_provider)
599
+ end
600
+ if parsed_json["supervising_provider"].nil?
601
+ supervising_provider = nil
602
+ else
603
+ supervising_provider = parsed_json["supervising_provider"].to_json
604
+ supervising_provider = CandidApiClient::EncounterProviders::V2::Types::SupervisingProviderUpdate.from_json(json_object: supervising_provider)
605
+ end
606
+ if parsed_json["referring_provider"].nil?
607
+ referring_provider = nil
608
+ else
609
+ referring_provider = parsed_json["referring_provider"].to_json
610
+ referring_provider = CandidApiClient::EncounterProviders::V2::Types::ReferringProviderUpdate.from_json(json_object: referring_provider)
611
+ end
612
+ if parsed_json["initial_referring_provider"].nil?
613
+ initial_referring_provider = nil
614
+ else
615
+ initial_referring_provider = parsed_json["initial_referring_provider"].to_json
616
+ initial_referring_provider = CandidApiClient::EncounterProviders::V2::Types::InitialReferringProviderUpdate.from_json(json_object: initial_referring_provider)
617
+ end
618
+ referral_number = struct["referral_number"]
619
+ new(
620
+ diagnoses: diagnoses,
621
+ interventions: interventions,
622
+ external_claim_submission: external_claim_submission,
623
+ service_lines: service_lines,
624
+ patient_histories: patient_histories,
625
+ billing_notes: billing_notes,
626
+ benefits_assigned_to_provider: benefits_assigned_to_provider,
627
+ prior_authorization_number: prior_authorization_number,
628
+ external_id: external_id,
629
+ date_of_service: date_of_service,
630
+ tag_ids: tag_ids,
631
+ clinical_notes: clinical_notes,
632
+ pay_to_address: pay_to_address,
633
+ billable_status: billable_status,
634
+ responsible_party: responsible_party,
635
+ provider_accepts_assignment: provider_accepts_assignment,
636
+ synchronicity: synchronicity,
637
+ place_of_service_code: place_of_service_code,
638
+ appointment_type: appointment_type,
639
+ end_date_of_service: end_date_of_service,
640
+ subscriber_primary: subscriber_primary,
641
+ subscriber_secondary: subscriber_secondary,
642
+ additional_information: additional_information,
643
+ service_authorization_exception_code: service_authorization_exception_code,
644
+ admission_date: admission_date,
645
+ discharge_date: discharge_date,
646
+ onset_of_current_illness_or_symptom_date: onset_of_current_illness_or_symptom_date,
647
+ last_menstrual_period_date: last_menstrual_period_date,
648
+ delay_reason_code: delay_reason_code,
649
+ patient: patient,
650
+ patient_authorized_release: patient_authorized_release,
651
+ schema_instances: schema_instances,
652
+ vitals: vitals,
653
+ existing_medications: existing_medications,
654
+ rendering_provider: rendering_provider,
655
+ service_facility: service_facility,
656
+ guarantor: guarantor,
657
+ billing_provider: billing_provider,
658
+ supervising_provider: supervising_provider,
659
+ referring_provider: referring_provider,
660
+ initial_referring_provider: initial_referring_provider,
661
+ referral_number: referral_number,
662
+ additional_properties: struct
663
+ )
664
+ end
665
+
666
+ # Serialize an instance of ChargeCaptureData to a JSON object
667
+ #
668
+ # @return [String]
669
+ def to_json(*_args)
670
+ @_field_set&.to_json
671
+ end
672
+
673
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
674
+ # hash and check each fields type against the current object's property
675
+ # definitions.
676
+ #
677
+ # @param obj [Object]
678
+ # @return [Void]
679
+ def self.validate_raw(obj:)
680
+ obj.diagnoses&.is_a?(Array) != false || raise("Passed value for field obj.diagnoses is not the expected type, validation failed.")
681
+ obj.interventions&.is_a?(Array) != false || raise("Passed value for field obj.interventions is not the expected type, validation failed.")
682
+ obj.external_claim_submission.nil? || CandidApiClient::ClaimSubmission::V1::Types::ExternalClaimSubmissionCreate.validate_raw(obj: obj.external_claim_submission)
683
+ obj.service_lines&.is_a?(Array) != false || raise("Passed value for field obj.service_lines is not the expected type, validation failed.")
684
+ obj.patient_histories&.is_a?(Array) != false || raise("Passed value for field obj.patient_histories is not the expected type, validation failed.")
685
+ obj.billing_notes&.is_a?(Array) != false || raise("Passed value for field obj.billing_notes is not the expected type, validation failed.")
686
+ obj.benefits_assigned_to_provider&.is_a?(Boolean) != false || raise("Passed value for field obj.benefits_assigned_to_provider is not the expected type, validation failed.")
687
+ obj.prior_authorization_number&.is_a?(String) != false || raise("Passed value for field obj.prior_authorization_number is not the expected type, validation failed.")
688
+ obj.external_id&.is_a?(String) != false || raise("Passed value for field obj.external_id is not the expected type, validation failed.")
689
+ obj.date_of_service&.is_a?(Date) != false || raise("Passed value for field obj.date_of_service is not the expected type, validation failed.")
690
+ obj.tag_ids&.is_a?(Array) != false || raise("Passed value for field obj.tag_ids is not the expected type, validation failed.")
691
+ obj.clinical_notes&.is_a?(Array) != false || raise("Passed value for field obj.clinical_notes is not the expected type, validation failed.")
692
+ obj.pay_to_address.nil? || CandidApiClient::Commons::Types::StreetAddressLongZip.validate_raw(obj: obj.pay_to_address)
693
+ obj.billable_status&.is_a?(CandidApiClient::Encounters::V4::Types::BillableStatusType) != false || raise("Passed value for field obj.billable_status is not the expected type, validation failed.")
694
+ obj.responsible_party&.is_a?(CandidApiClient::Encounters::V4::Types::ResponsiblePartyType) != false || raise("Passed value for field obj.responsible_party is not the expected type, validation failed.")
695
+ obj.provider_accepts_assignment&.is_a?(Boolean) != false || raise("Passed value for field obj.provider_accepts_assignment is not the expected type, validation failed.")
696
+ obj.synchronicity&.is_a?(CandidApiClient::Encounters::V4::Types::SynchronicityType) != false || raise("Passed value for field obj.synchronicity is not the expected type, validation failed.")
697
+ 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.")
698
+ obj.appointment_type&.is_a?(String) != false || raise("Passed value for field obj.appointment_type is not the expected type, validation failed.")
699
+ 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.")
700
+ obj.subscriber_primary.nil? || CandidApiClient::Individual::Types::SubscriberCreate.validate_raw(obj: obj.subscriber_primary)
701
+ obj.subscriber_secondary.nil? || CandidApiClient::Individual::Types::SubscriberCreate.validate_raw(obj: obj.subscriber_secondary)
702
+ obj.additional_information&.is_a?(String) != false || raise("Passed value for field obj.additional_information is not the expected type, validation failed.")
703
+ obj.service_authorization_exception_code&.is_a?(CandidApiClient::Encounters::V4::Types::ServiceAuthorizationExceptionCode) != false || raise("Passed value for field obj.service_authorization_exception_code is not the expected type, validation failed.")
704
+ obj.admission_date&.is_a?(Date) != false || raise("Passed value for field obj.admission_date is not the expected type, validation failed.")
705
+ obj.discharge_date&.is_a?(Date) != false || raise("Passed value for field obj.discharge_date is not the expected type, validation failed.")
706
+ obj.onset_of_current_illness_or_symptom_date&.is_a?(Date) != false || raise("Passed value for field obj.onset_of_current_illness_or_symptom_date is not the expected type, validation failed.")
707
+ obj.last_menstrual_period_date&.is_a?(Date) != false || raise("Passed value for field obj.last_menstrual_period_date is not the expected type, validation failed.")
708
+ obj.delay_reason_code&.is_a?(CandidApiClient::Commons::Types::DelayReasonCode) != false || raise("Passed value for field obj.delay_reason_code is not the expected type, validation failed.")
709
+ obj.patient.nil? || CandidApiClient::Individual::Types::PatientUpdate.validate_raw(obj: obj.patient)
710
+ obj.patient_authorized_release&.is_a?(Boolean) != false || raise("Passed value for field obj.patient_authorized_release is not the expected type, validation failed.")
711
+ obj.schema_instances&.is_a?(Array) != false || raise("Passed value for field obj.schema_instances is not the expected type, validation failed.")
712
+ obj.vitals.nil? || CandidApiClient::Encounters::V4::Types::VitalsUpdate.validate_raw(obj: obj.vitals)
713
+ obj.existing_medications&.is_a?(Array) != false || raise("Passed value for field obj.existing_medications is not the expected type, validation failed.")
714
+ obj.rendering_provider.nil? || CandidApiClient::EncounterProviders::V2::Types::RenderingProviderUpdate.validate_raw(obj: obj.rendering_provider)
715
+ obj.service_facility.nil? || CandidApiClient::ServiceFacility::Types::EncounterServiceFacilityUpdate.validate_raw(obj: obj.service_facility)
716
+ obj.guarantor.nil? || CandidApiClient::Guarantor::V1::Types::GuarantorUpdate.validate_raw(obj: obj.guarantor)
717
+ obj.billing_provider.nil? || CandidApiClient::EncounterProviders::V2::Types::BillingProviderUpdate.validate_raw(obj: obj.billing_provider)
718
+ obj.supervising_provider.nil? || CandidApiClient::EncounterProviders::V2::Types::SupervisingProviderUpdate.validate_raw(obj: obj.supervising_provider)
719
+ obj.referring_provider.nil? || CandidApiClient::EncounterProviders::V2::Types::ReferringProviderUpdate.validate_raw(obj: obj.referring_provider)
720
+ obj.initial_referring_provider.nil? || CandidApiClient::EncounterProviders::V2::Types::InitialReferringProviderUpdate.validate_raw(obj: obj.initial_referring_provider)
721
+ obj.referral_number&.is_a?(String) != false || raise("Passed value for field obj.referral_number is not the expected type, validation failed.")
722
+ end
723
+ end
724
+ end
725
+ end
726
+ end
727
+ end