candidhealth 0.34.9 → 0.35.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/candidhealth/credentialing/client.rb +30 -0
- data/lib/candidhealth/credentialing/v_2/client.rb +410 -0
- data/lib/candidhealth/credentialing/v_2/types/credentialing_span_status.rb +17 -0
- data/lib/candidhealth/credentialing/v_2/types/provider_credentialing_span.rb +196 -0
- data/lib/candidhealth/credentialing/v_2/types/provider_credentialing_span_page.rb +88 -0
- data/lib/candidhealth/encounters/v_4/client.rb +16 -18
- data/lib/candidhealth/encounters/v_4/types/encounter.rb +10 -10
- data/lib/candidhealth/encounters/v_4/types/encounter_base.rb +2 -10
- data/lib/candidhealth/exports/v_3/client.rb +6 -4
- data/lib/candidhealth/guarantor/v_1/types/guarantor.rb +3 -3
- data/lib/candidhealth/guarantor/v_1/types/guarantor_base.rb +3 -3
- data/lib/candidhealth/guarantor/v_1/types/guarantor_create.rb +4 -4
- data/lib/candidhealth/insurance_adjudications/v_1/client.rb +4 -2
- data/lib/candidhealth/insurance_adjudications/v_1/types/insurance_adjudication_create.rb +10 -2
- data/lib/candidhealth/non_insurance_payers/v_1/types/non_insurance_payer.rb +17 -2
- data/lib/candidhealth/organization_providers/v_3/client.rb +2 -2
- data/lib/candidhealth/pre_encounter/appointments/v_1/client.rb +4 -4
- data/lib/candidhealth/pre_encounter/appointments/v_1/types/appointment_work_queue.rb +1 -0
- data/lib/candidhealth/pre_encounter/common/types/external_provider.rb +2 -2
- data/lib/candidhealth/pre_encounter/coverages/v_1/client.rb +8 -4
- data/lib/candidhealth/pre_encounter/coverages/v_1/types/coverage_benefits.rb +11 -2
- data/lib/candidhealth/pre_encounter/lists/v_1/client.rb +4 -6
- data/lib/candidhealth/pre_encounter/lists/v_1/types/appointment_list_item.rb +12 -2
- data/lib/candidhealth/pre_encounter/patients/v_1/client.rb +239 -4
- data/lib/candidhealth/pre_encounter/patients/v_1/types/do_not_invoice_reason.rb +18 -0
- data/lib/candidhealth/pre_encounter/patients/v_1/types/invalid_mrn_error_body.rb +72 -0
- data/lib/candidhealth/pre_encounter/patients/v_1/types/mutable_patient.rb +11 -2
- data/lib/candidhealth/pre_encounter/patients/v_1/types/mutable_patient_with_mrn.rb +421 -0
- data/lib/candidhealth/pre_encounter/patients/v_1/types/patient.rb +11 -2
- data/lib/candidhealth/service_lines/v_2/client.rb +28 -2
- data/lib/candidhealth/service_lines/v_2/types/service_line_create_standalone.rb +19 -1
- data/lib/candidhealth/x_12/v_1/types/rarc.rb +7 -0
- data/lib/candidhealth.rb +7 -0
- data/lib/requests.rb +2 -2
- data/lib/types_export.rb +6 -1
- metadata +10 -3
- data/lib/candidhealth/encounters/v_4/types/insurance_pay_missing_primary_coverage_error_type.rb +0 -62
@@ -0,0 +1,421 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative "../../../common/types/human_name"
|
4
|
+
require_relative "../../../common/types/gender"
|
5
|
+
require "date"
|
6
|
+
require_relative "../../../common/types/sex"
|
7
|
+
require_relative "../../../common/types/sexual_orientation"
|
8
|
+
require_relative "../../../common/types/race"
|
9
|
+
require_relative "../../../common/types/ethnicity"
|
10
|
+
require_relative "../../../common/types/disability_status"
|
11
|
+
require_relative "marital_status"
|
12
|
+
require_relative "../../../common/types/address"
|
13
|
+
require_relative "../../../common/types/contact_point"
|
14
|
+
require_relative "external_provenance"
|
15
|
+
require_relative "contact"
|
16
|
+
require_relative "../../../common/types/external_provider"
|
17
|
+
require_relative "filing_order"
|
18
|
+
require_relative "../../../common/types/canonical_non_insurance_payer_association"
|
19
|
+
require_relative "guarantor"
|
20
|
+
require_relative "authorization"
|
21
|
+
require_relative "referral"
|
22
|
+
require_relative "do_not_invoice_reason"
|
23
|
+
require "ostruct"
|
24
|
+
require "json"
|
25
|
+
|
26
|
+
module CandidApiClient
|
27
|
+
module PreEncounter
|
28
|
+
module Patients
|
29
|
+
module V1
|
30
|
+
module Types
|
31
|
+
class MutablePatientWithMrn
|
32
|
+
# @return [String] The medical record number for the patient.
|
33
|
+
attr_reader :mrn
|
34
|
+
# @return [CandidApiClient::PreEncounter::Common::Types::HumanName]
|
35
|
+
attr_reader :name
|
36
|
+
# @return [Array<CandidApiClient::PreEncounter::Common::Types::HumanName>] Other names for the patient.
|
37
|
+
attr_reader :other_names
|
38
|
+
# @return [CandidApiClient::PreEncounter::Common::Types::Gender]
|
39
|
+
attr_reader :gender
|
40
|
+
# @return [Date]
|
41
|
+
attr_reader :birth_date
|
42
|
+
# @return [String]
|
43
|
+
attr_reader :social_security_number
|
44
|
+
# @return [CandidApiClient::PreEncounter::Common::Types::Sex] The biological sex of the patient. This corresponds to the HL7
|
45
|
+
# AdministrativeGender
|
46
|
+
# https://www.hl7.org/fhir/valueset-administrative-gender.html
|
47
|
+
attr_reader :biological_sex
|
48
|
+
# @return [CandidApiClient::PreEncounter::Common::Types::SexualOrientation] The sexual orientation of the patient.
|
49
|
+
attr_reader :sexual_orientation
|
50
|
+
# @return [CandidApiClient::PreEncounter::Common::Types::Race]
|
51
|
+
attr_reader :race
|
52
|
+
# @return [CandidApiClient::PreEncounter::Common::Types::Ethnicity]
|
53
|
+
attr_reader :ethnicity
|
54
|
+
# @return [CandidApiClient::PreEncounter::Common::Types::DisabilityStatus]
|
55
|
+
attr_reader :disability_status
|
56
|
+
# @return [CandidApiClient::PreEncounter::Patients::V1::Types::MaritalStatus]
|
57
|
+
attr_reader :marital_status
|
58
|
+
# @return [DateTime] Time of death for the patient. Leave unset if the patient is not deceased.
|
59
|
+
attr_reader :deceased
|
60
|
+
# @return [Integer] The number of siblings the patient was born with. Leave unset if the patient was
|
61
|
+
# not part of a multiple birth.
|
62
|
+
attr_reader :multiple_birth
|
63
|
+
# @return [CandidApiClient::PreEncounter::Common::Types::Address] The primary address for the patient.
|
64
|
+
attr_reader :primary_address
|
65
|
+
# @return [Array<CandidApiClient::PreEncounter::Common::Types::Address>] Other addresses for the patient.
|
66
|
+
attr_reader :other_addresses
|
67
|
+
# @return [CandidApiClient::PreEncounter::Common::Types::ContactPoint] The primary phone number for the patient.
|
68
|
+
attr_reader :primary_telecom
|
69
|
+
# @return [Array<CandidApiClient::PreEncounter::Common::Types::ContactPoint>] Other phone numbers for the patient.
|
70
|
+
attr_reader :other_telecoms
|
71
|
+
# @return [String]
|
72
|
+
attr_reader :email
|
73
|
+
# @return [Boolean]
|
74
|
+
attr_reader :electronic_communication_opt_in
|
75
|
+
# @return [String]
|
76
|
+
attr_reader :photo
|
77
|
+
# @return [String]
|
78
|
+
attr_reader :language
|
79
|
+
# @return [CandidApiClient::PreEncounter::Patients::V1::Types::ExternalProvenance] Information about the upstream system that owns this patient data. Leave unset
|
80
|
+
# if Candid owns patient data.
|
81
|
+
attr_reader :external_provenance
|
82
|
+
# @return [Array<CandidApiClient::PreEncounter::Patients::V1::Types::Contact>] Contacts for the patient.
|
83
|
+
attr_reader :contacts
|
84
|
+
# @return [Array<CandidApiClient::PreEncounter::Common::Types::ExternalProvider>]
|
85
|
+
attr_reader :general_practitioners
|
86
|
+
# @return [CandidApiClient::PreEncounter::Patients::V1::Types::FilingOrder]
|
87
|
+
attr_reader :filing_order
|
88
|
+
# @return [Array<String>]
|
89
|
+
attr_reader :non_insurance_payers
|
90
|
+
# @return [Array<CandidApiClient::PreEncounter::Common::Types::CanonicalNonInsurancePayerAssociation>]
|
91
|
+
attr_reader :non_insurance_payer_associations
|
92
|
+
# @return [CandidApiClient::PreEncounter::Patients::V1::Types::Guarantor]
|
93
|
+
attr_reader :guarantor
|
94
|
+
# @return [Boolean]
|
95
|
+
attr_reader :self_pay
|
96
|
+
# @return [Array<CandidApiClient::PreEncounter::Patients::V1::Types::Authorization>]
|
97
|
+
attr_reader :authorizations
|
98
|
+
# @return [Array<CandidApiClient::PreEncounter::Patients::V1::Types::Referral>]
|
99
|
+
attr_reader :referrals
|
100
|
+
# @return [String]
|
101
|
+
attr_reader :primary_service_facility_id
|
102
|
+
# @return [CandidApiClient::PreEncounter::Patients::V1::Types::DoNotInvoiceReason] If this value is defined, the customer will not be invoiced.
|
103
|
+
attr_reader :do_not_invoice_reason
|
104
|
+
# @return [OpenStruct] Additional properties unmapped to the current class definition
|
105
|
+
attr_reader :additional_properties
|
106
|
+
# @return [Object]
|
107
|
+
attr_reader :_field_set
|
108
|
+
protected :_field_set
|
109
|
+
|
110
|
+
OMIT = Object.new
|
111
|
+
|
112
|
+
# @param mrn [String] The medical record number for the patient.
|
113
|
+
# @param name [CandidApiClient::PreEncounter::Common::Types::HumanName]
|
114
|
+
# @param other_names [Array<CandidApiClient::PreEncounter::Common::Types::HumanName>] Other names for the patient.
|
115
|
+
# @param gender [CandidApiClient::PreEncounter::Common::Types::Gender]
|
116
|
+
# @param birth_date [Date]
|
117
|
+
# @param social_security_number [String]
|
118
|
+
# @param biological_sex [CandidApiClient::PreEncounter::Common::Types::Sex] The biological sex of the patient. This corresponds to the HL7
|
119
|
+
# AdministrativeGender
|
120
|
+
# https://www.hl7.org/fhir/valueset-administrative-gender.html
|
121
|
+
# @param sexual_orientation [CandidApiClient::PreEncounter::Common::Types::SexualOrientation] The sexual orientation of the patient.
|
122
|
+
# @param race [CandidApiClient::PreEncounter::Common::Types::Race]
|
123
|
+
# @param ethnicity [CandidApiClient::PreEncounter::Common::Types::Ethnicity]
|
124
|
+
# @param disability_status [CandidApiClient::PreEncounter::Common::Types::DisabilityStatus]
|
125
|
+
# @param marital_status [CandidApiClient::PreEncounter::Patients::V1::Types::MaritalStatus]
|
126
|
+
# @param deceased [DateTime] Time of death for the patient. Leave unset if the patient is not deceased.
|
127
|
+
# @param multiple_birth [Integer] The number of siblings the patient was born with. Leave unset if the patient was
|
128
|
+
# not part of a multiple birth.
|
129
|
+
# @param primary_address [CandidApiClient::PreEncounter::Common::Types::Address] The primary address for the patient.
|
130
|
+
# @param other_addresses [Array<CandidApiClient::PreEncounter::Common::Types::Address>] Other addresses for the patient.
|
131
|
+
# @param primary_telecom [CandidApiClient::PreEncounter::Common::Types::ContactPoint] The primary phone number for the patient.
|
132
|
+
# @param other_telecoms [Array<CandidApiClient::PreEncounter::Common::Types::ContactPoint>] Other phone numbers for the patient.
|
133
|
+
# @param email [String]
|
134
|
+
# @param electronic_communication_opt_in [Boolean]
|
135
|
+
# @param photo [String]
|
136
|
+
# @param language [String]
|
137
|
+
# @param external_provenance [CandidApiClient::PreEncounter::Patients::V1::Types::ExternalProvenance] Information about the upstream system that owns this patient data. Leave unset
|
138
|
+
# if Candid owns patient data.
|
139
|
+
# @param contacts [Array<CandidApiClient::PreEncounter::Patients::V1::Types::Contact>] Contacts for the patient.
|
140
|
+
# @param general_practitioners [Array<CandidApiClient::PreEncounter::Common::Types::ExternalProvider>]
|
141
|
+
# @param filing_order [CandidApiClient::PreEncounter::Patients::V1::Types::FilingOrder]
|
142
|
+
# @param non_insurance_payers [Array<String>]
|
143
|
+
# @param non_insurance_payer_associations [Array<CandidApiClient::PreEncounter::Common::Types::CanonicalNonInsurancePayerAssociation>]
|
144
|
+
# @param guarantor [CandidApiClient::PreEncounter::Patients::V1::Types::Guarantor]
|
145
|
+
# @param self_pay [Boolean]
|
146
|
+
# @param authorizations [Array<CandidApiClient::PreEncounter::Patients::V1::Types::Authorization>]
|
147
|
+
# @param referrals [Array<CandidApiClient::PreEncounter::Patients::V1::Types::Referral>]
|
148
|
+
# @param primary_service_facility_id [String]
|
149
|
+
# @param do_not_invoice_reason [CandidApiClient::PreEncounter::Patients::V1::Types::DoNotInvoiceReason] If this value is defined, the customer will not be invoiced.
|
150
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
151
|
+
# @return [CandidApiClient::PreEncounter::Patients::V1::Types::MutablePatientWithMrn]
|
152
|
+
def initialize(mrn:, name:, other_names:, birth_date:, biological_sex:, primary_address:, other_addresses:,
|
153
|
+
primary_telecom:, other_telecoms:, contacts:, general_practitioners:, filing_order:, gender: OMIT, social_security_number: OMIT, sexual_orientation: OMIT, race: OMIT, ethnicity: OMIT, disability_status: OMIT, marital_status: OMIT, deceased: OMIT, multiple_birth: OMIT, email: OMIT, electronic_communication_opt_in: OMIT, photo: OMIT, language: OMIT, external_provenance: OMIT, non_insurance_payers: OMIT, non_insurance_payer_associations: OMIT, guarantor: OMIT, self_pay: OMIT, authorizations: OMIT, referrals: OMIT, primary_service_facility_id: OMIT, do_not_invoice_reason: OMIT, additional_properties: nil)
|
154
|
+
@mrn = mrn
|
155
|
+
@name = name
|
156
|
+
@other_names = other_names
|
157
|
+
@gender = gender if gender != OMIT
|
158
|
+
@birth_date = birth_date
|
159
|
+
@social_security_number = social_security_number if social_security_number != OMIT
|
160
|
+
@biological_sex = biological_sex
|
161
|
+
@sexual_orientation = sexual_orientation if sexual_orientation != OMIT
|
162
|
+
@race = race if race != OMIT
|
163
|
+
@ethnicity = ethnicity if ethnicity != OMIT
|
164
|
+
@disability_status = disability_status if disability_status != OMIT
|
165
|
+
@marital_status = marital_status if marital_status != OMIT
|
166
|
+
@deceased = deceased if deceased != OMIT
|
167
|
+
@multiple_birth = multiple_birth if multiple_birth != OMIT
|
168
|
+
@primary_address = primary_address
|
169
|
+
@other_addresses = other_addresses
|
170
|
+
@primary_telecom = primary_telecom
|
171
|
+
@other_telecoms = other_telecoms
|
172
|
+
@email = email if email != OMIT
|
173
|
+
if electronic_communication_opt_in != OMIT
|
174
|
+
@electronic_communication_opt_in = electronic_communication_opt_in
|
175
|
+
end
|
176
|
+
@photo = photo if photo != OMIT
|
177
|
+
@language = language if language != OMIT
|
178
|
+
@external_provenance = external_provenance if external_provenance != OMIT
|
179
|
+
@contacts = contacts
|
180
|
+
@general_practitioners = general_practitioners
|
181
|
+
@filing_order = filing_order
|
182
|
+
@non_insurance_payers = non_insurance_payers if non_insurance_payers != OMIT
|
183
|
+
if non_insurance_payer_associations != OMIT
|
184
|
+
@non_insurance_payer_associations = non_insurance_payer_associations
|
185
|
+
end
|
186
|
+
@guarantor = guarantor if guarantor != OMIT
|
187
|
+
@self_pay = self_pay if self_pay != OMIT
|
188
|
+
@authorizations = authorizations if authorizations != OMIT
|
189
|
+
@referrals = referrals if referrals != OMIT
|
190
|
+
@primary_service_facility_id = primary_service_facility_id if primary_service_facility_id != OMIT
|
191
|
+
@do_not_invoice_reason = do_not_invoice_reason if do_not_invoice_reason != OMIT
|
192
|
+
@additional_properties = additional_properties
|
193
|
+
@_field_set = {
|
194
|
+
"mrn": mrn,
|
195
|
+
"name": name,
|
196
|
+
"other_names": other_names,
|
197
|
+
"gender": gender,
|
198
|
+
"birth_date": birth_date,
|
199
|
+
"social_security_number": social_security_number,
|
200
|
+
"biological_sex": biological_sex,
|
201
|
+
"sexual_orientation": sexual_orientation,
|
202
|
+
"race": race,
|
203
|
+
"ethnicity": ethnicity,
|
204
|
+
"disability_status": disability_status,
|
205
|
+
"marital_status": marital_status,
|
206
|
+
"deceased": deceased,
|
207
|
+
"multiple_birth": multiple_birth,
|
208
|
+
"primary_address": primary_address,
|
209
|
+
"other_addresses": other_addresses,
|
210
|
+
"primary_telecom": primary_telecom,
|
211
|
+
"other_telecoms": other_telecoms,
|
212
|
+
"email": email,
|
213
|
+
"electronic_communication_opt_in": electronic_communication_opt_in,
|
214
|
+
"photo": photo,
|
215
|
+
"language": language,
|
216
|
+
"external_provenance": external_provenance,
|
217
|
+
"contacts": contacts,
|
218
|
+
"general_practitioners": general_practitioners,
|
219
|
+
"filing_order": filing_order,
|
220
|
+
"non_insurance_payers": non_insurance_payers,
|
221
|
+
"non_insurance_payer_associations": non_insurance_payer_associations,
|
222
|
+
"guarantor": guarantor,
|
223
|
+
"self_pay": self_pay,
|
224
|
+
"authorizations": authorizations,
|
225
|
+
"referrals": referrals,
|
226
|
+
"primary_service_facility_id": primary_service_facility_id,
|
227
|
+
"do_not_invoice_reason": do_not_invoice_reason
|
228
|
+
}.reject do |_k, v|
|
229
|
+
v == OMIT
|
230
|
+
end
|
231
|
+
end
|
232
|
+
|
233
|
+
# Deserialize a JSON object to an instance of MutablePatientWithMrn
|
234
|
+
#
|
235
|
+
# @param json_object [String]
|
236
|
+
# @return [CandidApiClient::PreEncounter::Patients::V1::Types::MutablePatientWithMrn]
|
237
|
+
def self.from_json(json_object:)
|
238
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
239
|
+
parsed_json = JSON.parse(json_object)
|
240
|
+
mrn = struct["mrn"]
|
241
|
+
if parsed_json["name"].nil?
|
242
|
+
name = nil
|
243
|
+
else
|
244
|
+
name = parsed_json["name"].to_json
|
245
|
+
name = CandidApiClient::PreEncounter::Common::Types::HumanName.from_json(json_object: name)
|
246
|
+
end
|
247
|
+
other_names = parsed_json["other_names"]&.map do |item|
|
248
|
+
item = item.to_json
|
249
|
+
CandidApiClient::PreEncounter::Common::Types::HumanName.from_json(json_object: item)
|
250
|
+
end
|
251
|
+
gender = struct["gender"]
|
252
|
+
birth_date = (Date.parse(parsed_json["birth_date"]) unless parsed_json["birth_date"].nil?)
|
253
|
+
social_security_number = struct["social_security_number"]
|
254
|
+
biological_sex = struct["biological_sex"]
|
255
|
+
sexual_orientation = struct["sexual_orientation"]
|
256
|
+
race = struct["race"]
|
257
|
+
ethnicity = struct["ethnicity"]
|
258
|
+
disability_status = struct["disability_status"]
|
259
|
+
marital_status = struct["marital_status"]
|
260
|
+
deceased = (DateTime.parse(parsed_json["deceased"]) unless parsed_json["deceased"].nil?)
|
261
|
+
multiple_birth = struct["multiple_birth"]
|
262
|
+
if parsed_json["primary_address"].nil?
|
263
|
+
primary_address = nil
|
264
|
+
else
|
265
|
+
primary_address = parsed_json["primary_address"].to_json
|
266
|
+
primary_address = CandidApiClient::PreEncounter::Common::Types::Address.from_json(json_object: primary_address)
|
267
|
+
end
|
268
|
+
other_addresses = parsed_json["other_addresses"]&.map do |item|
|
269
|
+
item = item.to_json
|
270
|
+
CandidApiClient::PreEncounter::Common::Types::Address.from_json(json_object: item)
|
271
|
+
end
|
272
|
+
if parsed_json["primary_telecom"].nil?
|
273
|
+
primary_telecom = nil
|
274
|
+
else
|
275
|
+
primary_telecom = parsed_json["primary_telecom"].to_json
|
276
|
+
primary_telecom = CandidApiClient::PreEncounter::Common::Types::ContactPoint.from_json(json_object: primary_telecom)
|
277
|
+
end
|
278
|
+
other_telecoms = parsed_json["other_telecoms"]&.map do |item|
|
279
|
+
item = item.to_json
|
280
|
+
CandidApiClient::PreEncounter::Common::Types::ContactPoint.from_json(json_object: item)
|
281
|
+
end
|
282
|
+
email = struct["email"]
|
283
|
+
electronic_communication_opt_in = struct["electronic_communication_opt_in"]
|
284
|
+
photo = struct["photo"]
|
285
|
+
language = struct["language"]
|
286
|
+
if parsed_json["external_provenance"].nil?
|
287
|
+
external_provenance = nil
|
288
|
+
else
|
289
|
+
external_provenance = parsed_json["external_provenance"].to_json
|
290
|
+
external_provenance = CandidApiClient::PreEncounter::Patients::V1::Types::ExternalProvenance.from_json(json_object: external_provenance)
|
291
|
+
end
|
292
|
+
contacts = parsed_json["contacts"]&.map do |item|
|
293
|
+
item = item.to_json
|
294
|
+
CandidApiClient::PreEncounter::Patients::V1::Types::Contact.from_json(json_object: item)
|
295
|
+
end
|
296
|
+
general_practitioners = parsed_json["general_practitioners"]&.map do |item|
|
297
|
+
item = item.to_json
|
298
|
+
CandidApiClient::PreEncounter::Common::Types::ExternalProvider.from_json(json_object: item)
|
299
|
+
end
|
300
|
+
if parsed_json["filing_order"].nil?
|
301
|
+
filing_order = nil
|
302
|
+
else
|
303
|
+
filing_order = parsed_json["filing_order"].to_json
|
304
|
+
filing_order = CandidApiClient::PreEncounter::Patients::V1::Types::FilingOrder.from_json(json_object: filing_order)
|
305
|
+
end
|
306
|
+
non_insurance_payers = struct["non_insurance_payers"]
|
307
|
+
non_insurance_payer_associations = parsed_json["non_insurance_payer_associations"]&.map do |item|
|
308
|
+
item = item.to_json
|
309
|
+
CandidApiClient::PreEncounter::Common::Types::CanonicalNonInsurancePayerAssociation.from_json(json_object: item)
|
310
|
+
end
|
311
|
+
if parsed_json["guarantor"].nil?
|
312
|
+
guarantor = nil
|
313
|
+
else
|
314
|
+
guarantor = parsed_json["guarantor"].to_json
|
315
|
+
guarantor = CandidApiClient::PreEncounter::Patients::V1::Types::Guarantor.from_json(json_object: guarantor)
|
316
|
+
end
|
317
|
+
self_pay = struct["self_pay"]
|
318
|
+
authorizations = parsed_json["authorizations"]&.map do |item|
|
319
|
+
item = item.to_json
|
320
|
+
CandidApiClient::PreEncounter::Patients::V1::Types::Authorization.from_json(json_object: item)
|
321
|
+
end
|
322
|
+
referrals = parsed_json["referrals"]&.map do |item|
|
323
|
+
item = item.to_json
|
324
|
+
CandidApiClient::PreEncounter::Patients::V1::Types::Referral.from_json(json_object: item)
|
325
|
+
end
|
326
|
+
primary_service_facility_id = struct["primary_service_facility_id"]
|
327
|
+
do_not_invoice_reason = struct["do_not_invoice_reason"]
|
328
|
+
new(
|
329
|
+
mrn: mrn,
|
330
|
+
name: name,
|
331
|
+
other_names: other_names,
|
332
|
+
gender: gender,
|
333
|
+
birth_date: birth_date,
|
334
|
+
social_security_number: social_security_number,
|
335
|
+
biological_sex: biological_sex,
|
336
|
+
sexual_orientation: sexual_orientation,
|
337
|
+
race: race,
|
338
|
+
ethnicity: ethnicity,
|
339
|
+
disability_status: disability_status,
|
340
|
+
marital_status: marital_status,
|
341
|
+
deceased: deceased,
|
342
|
+
multiple_birth: multiple_birth,
|
343
|
+
primary_address: primary_address,
|
344
|
+
other_addresses: other_addresses,
|
345
|
+
primary_telecom: primary_telecom,
|
346
|
+
other_telecoms: other_telecoms,
|
347
|
+
email: email,
|
348
|
+
electronic_communication_opt_in: electronic_communication_opt_in,
|
349
|
+
photo: photo,
|
350
|
+
language: language,
|
351
|
+
external_provenance: external_provenance,
|
352
|
+
contacts: contacts,
|
353
|
+
general_practitioners: general_practitioners,
|
354
|
+
filing_order: filing_order,
|
355
|
+
non_insurance_payers: non_insurance_payers,
|
356
|
+
non_insurance_payer_associations: non_insurance_payer_associations,
|
357
|
+
guarantor: guarantor,
|
358
|
+
self_pay: self_pay,
|
359
|
+
authorizations: authorizations,
|
360
|
+
referrals: referrals,
|
361
|
+
primary_service_facility_id: primary_service_facility_id,
|
362
|
+
do_not_invoice_reason: do_not_invoice_reason,
|
363
|
+
additional_properties: struct
|
364
|
+
)
|
365
|
+
end
|
366
|
+
|
367
|
+
# Serialize an instance of MutablePatientWithMrn to a JSON object
|
368
|
+
#
|
369
|
+
# @return [String]
|
370
|
+
def to_json(*_args)
|
371
|
+
@_field_set&.to_json
|
372
|
+
end
|
373
|
+
|
374
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
375
|
+
# hash and check each fields type against the current object's property
|
376
|
+
# definitions.
|
377
|
+
#
|
378
|
+
# @param obj [Object]
|
379
|
+
# @return [Void]
|
380
|
+
def self.validate_raw(obj:)
|
381
|
+
obj.mrn.is_a?(String) != false || raise("Passed value for field obj.mrn is not the expected type, validation failed.")
|
382
|
+
CandidApiClient::PreEncounter::Common::Types::HumanName.validate_raw(obj: obj.name)
|
383
|
+
obj.other_names.is_a?(Array) != false || raise("Passed value for field obj.other_names is not the expected type, validation failed.")
|
384
|
+
obj.gender&.is_a?(CandidApiClient::PreEncounter::Common::Types::Gender) != false || raise("Passed value for field obj.gender is not the expected type, validation failed.")
|
385
|
+
obj.birth_date.is_a?(Date) != false || raise("Passed value for field obj.birth_date is not the expected type, validation failed.")
|
386
|
+
obj.social_security_number&.is_a?(String) != false || raise("Passed value for field obj.social_security_number is not the expected type, validation failed.")
|
387
|
+
obj.biological_sex.is_a?(CandidApiClient::PreEncounter::Common::Types::Sex) != false || raise("Passed value for field obj.biological_sex is not the expected type, validation failed.")
|
388
|
+
obj.sexual_orientation&.is_a?(CandidApiClient::PreEncounter::Common::Types::SexualOrientation) != false || raise("Passed value for field obj.sexual_orientation is not the expected type, validation failed.")
|
389
|
+
obj.race&.is_a?(CandidApiClient::PreEncounter::Common::Types::Race) != false || raise("Passed value for field obj.race is not the expected type, validation failed.")
|
390
|
+
obj.ethnicity&.is_a?(CandidApiClient::PreEncounter::Common::Types::Ethnicity) != false || raise("Passed value for field obj.ethnicity is not the expected type, validation failed.")
|
391
|
+
obj.disability_status&.is_a?(CandidApiClient::PreEncounter::Common::Types::DisabilityStatus) != false || raise("Passed value for field obj.disability_status is not the expected type, validation failed.")
|
392
|
+
obj.marital_status&.is_a?(CandidApiClient::PreEncounter::Patients::V1::Types::MaritalStatus) != false || raise("Passed value for field obj.marital_status is not the expected type, validation failed.")
|
393
|
+
obj.deceased&.is_a?(DateTime) != false || raise("Passed value for field obj.deceased is not the expected type, validation failed.")
|
394
|
+
obj.multiple_birth&.is_a?(Integer) != false || raise("Passed value for field obj.multiple_birth is not the expected type, validation failed.")
|
395
|
+
CandidApiClient::PreEncounter::Common::Types::Address.validate_raw(obj: obj.primary_address)
|
396
|
+
obj.other_addresses.is_a?(Array) != false || raise("Passed value for field obj.other_addresses is not the expected type, validation failed.")
|
397
|
+
CandidApiClient::PreEncounter::Common::Types::ContactPoint.validate_raw(obj: obj.primary_telecom)
|
398
|
+
obj.other_telecoms.is_a?(Array) != false || raise("Passed value for field obj.other_telecoms is not the expected type, validation failed.")
|
399
|
+
obj.email&.is_a?(String) != false || raise("Passed value for field obj.email is not the expected type, validation failed.")
|
400
|
+
obj.electronic_communication_opt_in&.is_a?(Boolean) != false || raise("Passed value for field obj.electronic_communication_opt_in is not the expected type, validation failed.")
|
401
|
+
obj.photo&.is_a?(String) != false || raise("Passed value for field obj.photo is not the expected type, validation failed.")
|
402
|
+
obj.language&.is_a?(String) != false || raise("Passed value for field obj.language is not the expected type, validation failed.")
|
403
|
+
obj.external_provenance.nil? || CandidApiClient::PreEncounter::Patients::V1::Types::ExternalProvenance.validate_raw(obj: obj.external_provenance)
|
404
|
+
obj.contacts.is_a?(Array) != false || raise("Passed value for field obj.contacts is not the expected type, validation failed.")
|
405
|
+
obj.general_practitioners.is_a?(Array) != false || raise("Passed value for field obj.general_practitioners is not the expected type, validation failed.")
|
406
|
+
CandidApiClient::PreEncounter::Patients::V1::Types::FilingOrder.validate_raw(obj: obj.filing_order)
|
407
|
+
obj.non_insurance_payers&.is_a?(Array) != false || raise("Passed value for field obj.non_insurance_payers is not the expected type, validation failed.")
|
408
|
+
obj.non_insurance_payer_associations&.is_a?(Array) != false || raise("Passed value for field obj.non_insurance_payer_associations is not the expected type, validation failed.")
|
409
|
+
obj.guarantor.nil? || CandidApiClient::PreEncounter::Patients::V1::Types::Guarantor.validate_raw(obj: obj.guarantor)
|
410
|
+
obj.self_pay&.is_a?(Boolean) != false || raise("Passed value for field obj.self_pay is not the expected type, validation failed.")
|
411
|
+
obj.authorizations&.is_a?(Array) != false || raise("Passed value for field obj.authorizations is not the expected type, validation failed.")
|
412
|
+
obj.referrals&.is_a?(Array) != false || raise("Passed value for field obj.referrals is not the expected type, validation failed.")
|
413
|
+
obj.primary_service_facility_id&.is_a?(String) != false || raise("Passed value for field obj.primary_service_facility_id is not the expected type, validation failed.")
|
414
|
+
obj.do_not_invoice_reason&.is_a?(CandidApiClient::PreEncounter::Patients::V1::Types::DoNotInvoiceReason) != false || raise("Passed value for field obj.do_not_invoice_reason is not the expected type, validation failed.")
|
415
|
+
end
|
416
|
+
end
|
417
|
+
end
|
418
|
+
end
|
419
|
+
end
|
420
|
+
end
|
421
|
+
end
|
@@ -19,6 +19,7 @@ require_relative "../../../common/types/canonical_non_insurance_payer_associatio
|
|
19
19
|
require_relative "guarantor"
|
20
20
|
require_relative "authorization"
|
21
21
|
require_relative "referral"
|
22
|
+
require_relative "do_not_invoice_reason"
|
22
23
|
require "ostruct"
|
23
24
|
require "json"
|
24
25
|
|
@@ -116,6 +117,8 @@ module CandidApiClient
|
|
116
117
|
attr_reader :referrals
|
117
118
|
# @return [String]
|
118
119
|
attr_reader :primary_service_facility_id
|
120
|
+
# @return [CandidApiClient::PreEncounter::Patients::V1::Types::DoNotInvoiceReason] If this value is defined, the customer will not be invoiced.
|
121
|
+
attr_reader :do_not_invoice_reason
|
119
122
|
# @return [OpenStruct] Additional properties unmapped to the current class definition
|
120
123
|
attr_reader :additional_properties
|
121
124
|
# @return [Object]
|
@@ -172,10 +175,11 @@ module CandidApiClient
|
|
172
175
|
# @param authorizations [Array<CandidApiClient::PreEncounter::Patients::V1::Types::Authorization>]
|
173
176
|
# @param referrals [Array<CandidApiClient::PreEncounter::Patients::V1::Types::Referral>]
|
174
177
|
# @param primary_service_facility_id [String]
|
178
|
+
# @param do_not_invoice_reason [CandidApiClient::PreEncounter::Patients::V1::Types::DoNotInvoiceReason] If this value is defined, the customer will not be invoiced.
|
175
179
|
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
176
180
|
# @return [CandidApiClient::PreEncounter::Patients::V1::Types::Patient]
|
177
181
|
def initialize(id:, mrn:, organization_id:, deactivated:, version:, updated_at:, updating_user_id:, name:,
|
178
|
-
other_names:, birth_date:, biological_sex:, primary_address:, other_addresses:, primary_telecom:, other_telecoms:, contacts:, general_practitioners:, filing_order:, gender: OMIT, social_security_number: OMIT, sexual_orientation: OMIT, race: OMIT, ethnicity: OMIT, disability_status: OMIT, marital_status: OMIT, deceased: OMIT, multiple_birth: OMIT, email: OMIT, electronic_communication_opt_in: OMIT, photo: OMIT, language: OMIT, external_provenance: OMIT, non_insurance_payers: OMIT, non_insurance_payer_associations: OMIT, guarantor: OMIT, self_pay: OMIT, authorizations: OMIT, referrals: OMIT, primary_service_facility_id: OMIT, additional_properties: nil)
|
182
|
+
other_names:, birth_date:, biological_sex:, primary_address:, other_addresses:, primary_telecom:, other_telecoms:, contacts:, general_practitioners:, filing_order:, gender: OMIT, social_security_number: OMIT, sexual_orientation: OMIT, race: OMIT, ethnicity: OMIT, disability_status: OMIT, marital_status: OMIT, deceased: OMIT, multiple_birth: OMIT, email: OMIT, electronic_communication_opt_in: OMIT, photo: OMIT, language: OMIT, external_provenance: OMIT, non_insurance_payers: OMIT, non_insurance_payer_associations: OMIT, guarantor: OMIT, self_pay: OMIT, authorizations: OMIT, referrals: OMIT, primary_service_facility_id: OMIT, do_not_invoice_reason: OMIT, additional_properties: nil)
|
179
183
|
@id = id
|
180
184
|
@mrn = mrn
|
181
185
|
@organization_id = organization_id
|
@@ -219,6 +223,7 @@ module CandidApiClient
|
|
219
223
|
@authorizations = authorizations if authorizations != OMIT
|
220
224
|
@referrals = referrals if referrals != OMIT
|
221
225
|
@primary_service_facility_id = primary_service_facility_id if primary_service_facility_id != OMIT
|
226
|
+
@do_not_invoice_reason = do_not_invoice_reason if do_not_invoice_reason != OMIT
|
222
227
|
@additional_properties = additional_properties
|
223
228
|
@_field_set = {
|
224
229
|
"id": id,
|
@@ -259,7 +264,8 @@ module CandidApiClient
|
|
259
264
|
"self_pay": self_pay,
|
260
265
|
"authorizations": authorizations,
|
261
266
|
"referrals": referrals,
|
262
|
-
"primary_service_facility_id": primary_service_facility_id
|
267
|
+
"primary_service_facility_id": primary_service_facility_id,
|
268
|
+
"do_not_invoice_reason": do_not_invoice_reason
|
263
269
|
}.reject do |_k, v|
|
264
270
|
v == OMIT
|
265
271
|
end
|
@@ -365,6 +371,7 @@ module CandidApiClient
|
|
365
371
|
CandidApiClient::PreEncounter::Patients::V1::Types::Referral.from_json(json_object: item)
|
366
372
|
end
|
367
373
|
primary_service_facility_id = struct["primary_service_facility_id"]
|
374
|
+
do_not_invoice_reason = struct["do_not_invoice_reason"]
|
368
375
|
new(
|
369
376
|
id: id,
|
370
377
|
mrn: mrn,
|
@@ -405,6 +412,7 @@ module CandidApiClient
|
|
405
412
|
authorizations: authorizations,
|
406
413
|
referrals: referrals,
|
407
414
|
primary_service_facility_id: primary_service_facility_id,
|
415
|
+
do_not_invoice_reason: do_not_invoice_reason,
|
408
416
|
additional_properties: struct
|
409
417
|
)
|
410
418
|
end
|
@@ -462,6 +470,7 @@ module CandidApiClient
|
|
462
470
|
obj.authorizations&.is_a?(Array) != false || raise("Passed value for field obj.authorizations is not the expected type, validation failed.")
|
463
471
|
obj.referrals&.is_a?(Array) != false || raise("Passed value for field obj.referrals is not the expected type, validation failed.")
|
464
472
|
obj.primary_service_facility_id&.is_a?(String) != false || raise("Passed value for field obj.primary_service_facility_id is not the expected type, validation failed.")
|
473
|
+
obj.do_not_invoice_reason&.is_a?(CandidApiClient::PreEncounter::Patients::V1::Types::DoNotInvoiceReason) != false || raise("Passed value for field obj.do_not_invoice_reason is not the expected type, validation failed.")
|
465
474
|
end
|
466
475
|
end
|
467
476
|
end
|
@@ -45,12 +45,25 @@ module CandidApiClient
|
|
45
45
|
# * :pharmacy_prescription_number (String)
|
46
46
|
# * :conversion_formula (String)
|
47
47
|
# * :drug_description (String)
|
48
|
+
# * :ordering_provider (Hash)
|
49
|
+
# * :npi (String)
|
50
|
+
# * :taxonomy_code (String)
|
51
|
+
# * :address (Hash)
|
52
|
+
# * :zip_plus_four_code (String)
|
53
|
+
# * :address_1 (String)
|
54
|
+
# * :address_2 (String)
|
55
|
+
# * :city (String)
|
56
|
+
# * :state (CandidApiClient::Commons::Types::State)
|
57
|
+
# * :zip_code (String)
|
58
|
+
# * :first_name (String)
|
59
|
+
# * :last_name (String)
|
60
|
+
# * :organization_name (String)
|
48
61
|
# * :test_results (Array<CandidApiClient::ServiceLines::V2::Types::TestResult>)
|
49
62
|
# @param request_options [CandidApiClient::RequestOptions]
|
50
63
|
# @return [CandidApiClient::ServiceLines::V2::Types::ServiceLine]
|
51
64
|
# @example
|
52
65
|
# api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
|
53
|
-
# api.service_lines.v_2.create(request: { modifiers: [TWENTY_TWO], charge_amount_cents: 1, diagnosis_id_zero: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", diagnosis_id_one: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", diagnosis_id_two: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", diagnosis_id_three: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", denial_reason: { reason: AUTHORIZATION_REQUIRED }, place_of_service_code: PHARMACY, procedure_code: "string", quantity: "string", units: MJ, claim_id: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", description: "string", date_of_service: DateTime.parse(2023-01-15), end_date_of_service: DateTime.parse(2023-01-15), drug_identification: { service_id_qualifier: EAN_UCC_13, national_drug_code: "string", national_drug_unit_count: "string", measurement_unit_code: MILLILITERS, link_sequence_number: "string", pharmacy_prescription_number: "string", conversion_formula: "string", drug_description: "string" }, test_results: [{ value: 1.1, result_type: HEMATOCRIT }] })
|
66
|
+
# api.service_lines.v_2.create(request: { modifiers: [TWENTY_TWO], charge_amount_cents: 1, diagnosis_id_zero: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", diagnosis_id_one: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", diagnosis_id_two: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", diagnosis_id_three: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", denial_reason: { reason: AUTHORIZATION_REQUIRED }, place_of_service_code: PHARMACY, procedure_code: "string", quantity: "string", units: MJ, claim_id: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", description: "string", date_of_service: DateTime.parse(2023-01-15), end_date_of_service: DateTime.parse(2023-01-15), drug_identification: { service_id_qualifier: EAN_UCC_13, national_drug_code: "string", national_drug_unit_count: "string", measurement_unit_code: MILLILITERS, link_sequence_number: "string", pharmacy_prescription_number: "string", conversion_formula: "string", drug_description: "string" }, ordering_provider: { npi: "string", taxonomy_code: "string", address: { address_1: "123 Main St", address_2: "Apt 1", city: "New York", state: NY, zip_code: "10001", zip_plus_four_code: "1234" }, first_name: "string", last_name: "string", organization_name: "string" }, test_results: [{ value: 1.1, result_type: HEMATOCRIT }] })
|
54
67
|
def create(request:, request_options: nil)
|
55
68
|
response = @request_client.conn.post do |req|
|
56
69
|
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
@@ -173,12 +186,25 @@ module CandidApiClient
|
|
173
186
|
# * :pharmacy_prescription_number (String)
|
174
187
|
# * :conversion_formula (String)
|
175
188
|
# * :drug_description (String)
|
189
|
+
# * :ordering_provider (Hash)
|
190
|
+
# * :npi (String)
|
191
|
+
# * :taxonomy_code (String)
|
192
|
+
# * :address (Hash)
|
193
|
+
# * :zip_plus_four_code (String)
|
194
|
+
# * :address_1 (String)
|
195
|
+
# * :address_2 (String)
|
196
|
+
# * :city (String)
|
197
|
+
# * :state (CandidApiClient::Commons::Types::State)
|
198
|
+
# * :zip_code (String)
|
199
|
+
# * :first_name (String)
|
200
|
+
# * :last_name (String)
|
201
|
+
# * :organization_name (String)
|
176
202
|
# * :test_results (Array<CandidApiClient::ServiceLines::V2::Types::TestResult>)
|
177
203
|
# @param request_options [CandidApiClient::RequestOptions]
|
178
204
|
# @return [CandidApiClient::ServiceLines::V2::Types::ServiceLine]
|
179
205
|
# @example
|
180
206
|
# api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
|
181
|
-
# api.service_lines.v_2.create(request: { modifiers: [TWENTY_TWO], charge_amount_cents: 1, diagnosis_id_zero: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", diagnosis_id_one: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", diagnosis_id_two: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", diagnosis_id_three: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", denial_reason: { reason: AUTHORIZATION_REQUIRED }, place_of_service_code: PHARMACY, procedure_code: "string", quantity: "string", units: MJ, claim_id: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", description: "string", date_of_service: DateTime.parse(2023-01-15), end_date_of_service: DateTime.parse(2023-01-15), drug_identification: { service_id_qualifier: EAN_UCC_13, national_drug_code: "string", national_drug_unit_count: "string", measurement_unit_code: MILLILITERS, link_sequence_number: "string", pharmacy_prescription_number: "string", conversion_formula: "string", drug_description: "string" }, test_results: [{ value: 1.1, result_type: HEMATOCRIT }] })
|
207
|
+
# api.service_lines.v_2.create(request: { modifiers: [TWENTY_TWO], charge_amount_cents: 1, diagnosis_id_zero: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", diagnosis_id_one: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", diagnosis_id_two: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", diagnosis_id_three: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", denial_reason: { reason: AUTHORIZATION_REQUIRED }, place_of_service_code: PHARMACY, procedure_code: "string", quantity: "string", units: MJ, claim_id: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", description: "string", date_of_service: DateTime.parse(2023-01-15), end_date_of_service: DateTime.parse(2023-01-15), drug_identification: { service_id_qualifier: EAN_UCC_13, national_drug_code: "string", national_drug_unit_count: "string", measurement_unit_code: MILLILITERS, link_sequence_number: "string", pharmacy_prescription_number: "string", conversion_formula: "string", drug_description: "string" }, ordering_provider: { npi: "string", taxonomy_code: "string", address: { address_1: "123 Main St", address_2: "Apt 1", city: "New York", state: NY, zip_code: "10001", zip_plus_four_code: "1234" }, first_name: "string", last_name: "string", organization_name: "string" }, test_results: [{ value: 1.1, result_type: HEMATOCRIT }] })
|
182
208
|
def create(request:, request_options: nil)
|
183
209
|
Async do
|
184
210
|
response = @request_client.conn.post do |req|
|
@@ -6,6 +6,7 @@ require_relative "../../../commons/types/facility_type_code"
|
|
6
6
|
require_relative "../../../commons/types/service_line_units"
|
7
7
|
require "date"
|
8
8
|
require_relative "drug_identification"
|
9
|
+
require_relative "../../../encounter_providers/v_2/types/ordering_provider"
|
9
10
|
require_relative "test_result"
|
10
11
|
require "ostruct"
|
11
12
|
require "json"
|
@@ -50,6 +51,10 @@ module CandidApiClient
|
|
50
51
|
attr_reader :end_date_of_service
|
51
52
|
# @return [CandidApiClient::ServiceLines::V2::Types::DrugIdentification]
|
52
53
|
attr_reader :drug_identification
|
54
|
+
# @return [CandidApiClient::EncounterProviders::V2::Types::OrderingProvider] Required when the service or supply was ordered by a provider who is different
|
55
|
+
# than the rendering provider for this service line.
|
56
|
+
# If not required by this implementation guide, do not send.
|
57
|
+
attr_reader :ordering_provider
|
53
58
|
# @return [Array<CandidApiClient::ServiceLines::V2::Types::TestResult>] Maps to MEA-02 on the 837-P. No more than 5 test results may be submitted per
|
54
59
|
# service line.
|
55
60
|
attr_reader :test_results
|
@@ -80,12 +85,15 @@ module CandidApiClient
|
|
80
85
|
# @param date_of_service [Date]
|
81
86
|
# @param end_date_of_service [Date]
|
82
87
|
# @param drug_identification [CandidApiClient::ServiceLines::V2::Types::DrugIdentification]
|
88
|
+
# @param ordering_provider [CandidApiClient::EncounterProviders::V2::Types::OrderingProvider] Required when the service or supply was ordered by a provider who is different
|
89
|
+
# than the rendering provider for this service line.
|
90
|
+
# If not required by this implementation guide, do not send.
|
83
91
|
# @param test_results [Array<CandidApiClient::ServiceLines::V2::Types::TestResult>] Maps to MEA-02 on the 837-P. No more than 5 test results may be submitted per
|
84
92
|
# service line.
|
85
93
|
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
86
94
|
# @return [CandidApiClient::ServiceLines::V2::Types::ServiceLineCreateStandalone]
|
87
95
|
def initialize(procedure_code:, quantity:, units:, claim_id:, modifiers: OMIT, charge_amount_cents: OMIT, diagnosis_id_zero: OMIT, diagnosis_id_one: OMIT,
|
88
|
-
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, test_results: OMIT, additional_properties: nil)
|
96
|
+
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, additional_properties: nil)
|
89
97
|
@modifiers = modifiers if modifiers != OMIT
|
90
98
|
@charge_amount_cents = charge_amount_cents if charge_amount_cents != OMIT
|
91
99
|
@diagnosis_id_zero = diagnosis_id_zero if diagnosis_id_zero != OMIT
|
@@ -102,6 +110,7 @@ module CandidApiClient
|
|
102
110
|
@date_of_service = date_of_service if date_of_service != OMIT
|
103
111
|
@end_date_of_service = end_date_of_service if end_date_of_service != OMIT
|
104
112
|
@drug_identification = drug_identification if drug_identification != OMIT
|
113
|
+
@ordering_provider = ordering_provider if ordering_provider != OMIT
|
105
114
|
@test_results = test_results if test_results != OMIT
|
106
115
|
@additional_properties = additional_properties
|
107
116
|
@_field_set = {
|
@@ -121,6 +130,7 @@ module CandidApiClient
|
|
121
130
|
"date_of_service": date_of_service,
|
122
131
|
"end_date_of_service": end_date_of_service,
|
123
132
|
"drug_identification": drug_identification,
|
133
|
+
"ordering_provider": ordering_provider,
|
124
134
|
"test_results": test_results
|
125
135
|
}.reject do |_k, v|
|
126
136
|
v == OMIT
|
@@ -162,6 +172,12 @@ module CandidApiClient
|
|
162
172
|
drug_identification = parsed_json["drug_identification"].to_json
|
163
173
|
drug_identification = CandidApiClient::ServiceLines::V2::Types::DrugIdentification.from_json(json_object: drug_identification)
|
164
174
|
end
|
175
|
+
if parsed_json["ordering_provider"].nil?
|
176
|
+
ordering_provider = nil
|
177
|
+
else
|
178
|
+
ordering_provider = parsed_json["ordering_provider"].to_json
|
179
|
+
ordering_provider = CandidApiClient::EncounterProviders::V2::Types::OrderingProvider.from_json(json_object: ordering_provider)
|
180
|
+
end
|
165
181
|
test_results = parsed_json["test_results"]&.map do |item|
|
166
182
|
item = item.to_json
|
167
183
|
CandidApiClient::ServiceLines::V2::Types::TestResult.from_json(json_object: item)
|
@@ -183,6 +199,7 @@ module CandidApiClient
|
|
183
199
|
date_of_service: date_of_service,
|
184
200
|
end_date_of_service: end_date_of_service,
|
185
201
|
drug_identification: drug_identification,
|
202
|
+
ordering_provider: ordering_provider,
|
186
203
|
test_results: test_results,
|
187
204
|
additional_properties: struct
|
188
205
|
)
|
@@ -218,6 +235,7 @@ module CandidApiClient
|
|
218
235
|
obj.date_of_service&.is_a?(Date) != false || raise("Passed value for field obj.date_of_service is not the expected type, validation failed.")
|
219
236
|
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.")
|
220
237
|
obj.drug_identification.nil? || CandidApiClient::ServiceLines::V2::Types::DrugIdentification.validate_raw(obj: obj.drug_identification)
|
238
|
+
obj.ordering_provider.nil? || CandidApiClient::EncounterProviders::V2::Types::OrderingProvider.validate_raw(obj: obj.ordering_provider)
|
221
239
|
obj.test_results&.is_a?(Array) != false || raise("Passed value for field obj.test_results is not the expected type, validation failed.")
|
222
240
|
end
|
223
241
|
end
|