candidhealth 0.33.0 → 0.33.1
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.
- checksums.yaml +4 -4
- data/lib/candidhealth/pre_encounter/appointments/v_1/client.rb +32 -270
- data/lib/candidhealth/pre_encounter/appointments/v_1/types/appointment.rb +87 -75
- data/lib/candidhealth/pre_encounter/appointments/v_1/types/{appointment_sort_field.rb → appointment_status.rb} +5 -3
- data/lib/candidhealth/pre_encounter/appointments/v_1/types/mutable_appointment.rb +87 -75
- data/lib/candidhealth/pre_encounter/coverages/v_1/client.rb +4 -4
- data/lib/candidhealth/pre_encounter/coverages/v_1/types/plan_date.rb +87 -0
- data/lib/candidhealth/pre_encounter/coverages/v_1/types/plan_metadata.rb +13 -10
- data/lib/candidhealth/pre_encounter/lists/client.rb +32 -0
- data/lib/candidhealth/pre_encounter/lists/v_1/client.rb +213 -0
- data/lib/candidhealth/pre_encounter/lists/v_1/types/appointment_list_item.rb +104 -0
- data/lib/candidhealth/pre_encounter/lists/v_1/types/appointment_list_page.rb +90 -0
- data/lib/candidhealth/pre_encounter/lists/v_1/types/patient_list_item.rb +104 -0
- data/lib/candidhealth/pre_encounter/lists/v_1/types/patient_list_page.rb +90 -0
- data/lib/candidhealth/pre_encounter/patients/v_1/client.rb +126 -150
- data/lib/candidhealth/pre_encounter/patients/v_1/types/guarantor.rb +121 -0
- data/lib/candidhealth/pre_encounter/patients/v_1/types/mutable_patient.rb +32 -2
- data/lib/candidhealth/pre_encounter/patients/v_1/types/patient.rb +32 -2
- data/lib/candidhealth/pre_encounter/patients/v_1/types/potential_duplicate_patient.rb +72 -0
- data/lib/candidhealth/pre_encounter/patients/v_1/types/potential_duplicate_patients_error_body.rb +84 -0
- data/lib/requests.rb +2 -2
- data/lib/types_export.rb +9 -3
- metadata +13 -5
- data/lib/candidhealth/pre_encounter/appointments/v_1/types/appointment_reason.rb +0 -19
- data/lib/candidhealth/pre_encounter/appointments/v_1/types/appointment_type.rb +0 -17
@@ -1,10 +1,8 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require "date"
|
4
|
-
require_relative "
|
4
|
+
require_relative "appointment_status"
|
5
5
|
require_relative "service"
|
6
|
-
require_relative "appointment_reason"
|
7
|
-
require_relative "appointment_type"
|
8
6
|
require_relative "appointment_work_queue"
|
9
7
|
require "ostruct"
|
10
8
|
require "json"
|
@@ -33,20 +31,13 @@ module CandidApiClient
|
|
33
31
|
attr_reader :updating_user_id
|
34
32
|
# @return [String] The Candid-defined patient identifier.
|
35
33
|
attr_reader :patient_id
|
36
|
-
# @return [Boolean] True if the patient has checked in. Defaults to false.
|
37
|
-
attr_reader :checked_in
|
38
|
-
# @return [String] Patient’s initial assigned location or the location to which the patient is
|
39
|
-
# being moved. This location is stored on the Patient Demographics tab and is used
|
40
|
-
# when creating orders.
|
41
|
-
attr_reader :assigned_patient_location
|
42
|
-
# @return [CandidApiClient::PreEncounter::Common::Types::ExternalProvider] Attending physician information. The attending physician will be stored as the
|
43
|
-
# Current MD for the patient.
|
44
|
-
attr_reader :attending_doctor
|
45
|
-
# @return [CandidApiClient::PreEncounter::Common::Types::ExternalProvider] Referring physician information. The referring physician will be stored as the
|
46
|
-
# Referring MD in the patient’s Providers list.
|
47
|
-
attr_reader :referring_doctor
|
48
34
|
# @return [DateTime]
|
49
35
|
attr_reader :start_timestamp
|
36
|
+
# @return [CandidApiClient::PreEncounter::Appointments::V1::Types::AppointmentStatus] Defaults to PENDING. If status is NOT_READY, work_queue must be set. If status
|
37
|
+
# is READY or CHECKED_IN, work_queue must be null. If status is CHECKED_IN,
|
38
|
+
# checked_in_timestamp must be set. If checked_in_timestamp is set, status must be
|
39
|
+
# CHECKED_IN.
|
40
|
+
attr_reader :status
|
50
41
|
# @return [Integer] The requested length of time allotted for the appointment. The units are in
|
51
42
|
# minutes.
|
52
43
|
attr_reader :service_duration
|
@@ -54,15 +45,29 @@ module CandidApiClient
|
|
54
45
|
attr_reader :services
|
55
46
|
# @return [String] ID for the appointment/order for the event.
|
56
47
|
attr_reader :placer_appointment_id
|
57
|
-
# @return [
|
58
|
-
attr_reader :
|
59
|
-
# @return [
|
60
|
-
attr_reader :
|
48
|
+
# @return [Integer]
|
49
|
+
attr_reader :estimated_copay_cents
|
50
|
+
# @return [Integer]
|
51
|
+
attr_reader :estimated_patient_responsibility_cents
|
52
|
+
# @return [Integer]
|
53
|
+
attr_reader :patient_deposit_cents
|
54
|
+
# @return [DateTime] The timestamp when the patient checked in for their appointment. If status is
|
55
|
+
# CHECKED_IN, checked_in_timestamp must be set. If checked_in_timestamp is set,
|
56
|
+
# status must be CHECKED_IN.
|
57
|
+
attr_reader :checked_in_timestamp
|
58
|
+
# @return [String]
|
59
|
+
attr_reader :notes
|
61
60
|
# @return [String] Contains the coded identification of the location being scheduled. Components:
|
62
61
|
# <Identifier (ST)>^<Text (ST)>
|
63
62
|
attr_reader :location_resource_id
|
63
|
+
# @return [Boolean] True if the automated eligibility check has been completed. It is not
|
64
|
+
# recommended to change this value manually via API. This refers explicitly to the
|
65
|
+
# automated eligibility check that occurs a specific number of days before the
|
66
|
+
# appointment.
|
67
|
+
attr_reader :automated_eligibility_check_complete
|
64
68
|
# @return [CandidApiClient::PreEncounter::Appointments::V1::Types::AppointmentWorkQueue] The work queue that the appointment belongs to. It is not recommended to change
|
65
|
-
# this value manually via API.
|
69
|
+
# this value manually via API. If status is NOT_READY, work_queue must be set. If
|
70
|
+
# status is READY or CHECKED_IN, work_queue must be null.
|
66
71
|
attr_reader :work_queue
|
67
72
|
# @return [OpenStruct] Additional properties unmapped to the current class definition
|
68
73
|
attr_reader :additional_properties
|
@@ -82,29 +87,35 @@ module CandidApiClient
|
|
82
87
|
# @param updated_at [DateTime]
|
83
88
|
# @param updating_user_id [String] The user ID of the user who last updated the appointment.
|
84
89
|
# @param patient_id [String] The Candid-defined patient identifier.
|
85
|
-
# @param checked_in [Boolean] True if the patient has checked in. Defaults to false.
|
86
|
-
# @param assigned_patient_location [String] Patient’s initial assigned location or the location to which the patient is
|
87
|
-
# being moved. This location is stored on the Patient Demographics tab and is used
|
88
|
-
# when creating orders.
|
89
|
-
# @param attending_doctor [CandidApiClient::PreEncounter::Common::Types::ExternalProvider] Attending physician information. The attending physician will be stored as the
|
90
|
-
# Current MD for the patient.
|
91
|
-
# @param referring_doctor [CandidApiClient::PreEncounter::Common::Types::ExternalProvider] Referring physician information. The referring physician will be stored as the
|
92
|
-
# Referring MD in the patient’s Providers list.
|
93
90
|
# @param start_timestamp [DateTime]
|
91
|
+
# @param status [CandidApiClient::PreEncounter::Appointments::V1::Types::AppointmentStatus] Defaults to PENDING. If status is NOT_READY, work_queue must be set. If status
|
92
|
+
# is READY or CHECKED_IN, work_queue must be null. If status is CHECKED_IN,
|
93
|
+
# checked_in_timestamp must be set. If checked_in_timestamp is set, status must be
|
94
|
+
# CHECKED_IN.
|
94
95
|
# @param service_duration [Integer] The requested length of time allotted for the appointment. The units are in
|
95
96
|
# minutes.
|
96
97
|
# @param services [Array<CandidApiClient::PreEncounter::Appointments::V1::Types::Service>]
|
97
98
|
# @param placer_appointment_id [String] ID for the appointment/order for the event.
|
98
|
-
# @param
|
99
|
-
# @param
|
99
|
+
# @param estimated_copay_cents [Integer]
|
100
|
+
# @param estimated_patient_responsibility_cents [Integer]
|
101
|
+
# @param patient_deposit_cents [Integer]
|
102
|
+
# @param checked_in_timestamp [DateTime] The timestamp when the patient checked in for their appointment. If status is
|
103
|
+
# CHECKED_IN, checked_in_timestamp must be set. If checked_in_timestamp is set,
|
104
|
+
# status must be CHECKED_IN.
|
105
|
+
# @param notes [String]
|
100
106
|
# @param location_resource_id [String] Contains the coded identification of the location being scheduled. Components:
|
101
107
|
# <Identifier (ST)>^<Text (ST)>
|
108
|
+
# @param automated_eligibility_check_complete [Boolean] True if the automated eligibility check has been completed. It is not
|
109
|
+
# recommended to change this value manually via API. This refers explicitly to the
|
110
|
+
# automated eligibility check that occurs a specific number of days before the
|
111
|
+
# appointment.
|
102
112
|
# @param work_queue [CandidApiClient::PreEncounter::Appointments::V1::Types::AppointmentWorkQueue] The work queue that the appointment belongs to. It is not recommended to change
|
103
|
-
# this value manually via API.
|
113
|
+
# this value manually via API. If status is NOT_READY, work_queue must be set. If
|
114
|
+
# status is READY or CHECKED_IN, work_queue must be null.
|
104
115
|
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
105
116
|
# @return [CandidApiClient::PreEncounter::Appointments::V1::Types::Appointment]
|
106
|
-
def initialize(id:, organization_id:, deactivated:, version:, updated_at:, updating_user_id:, patient_id:,
|
107
|
-
|
117
|
+
def initialize(id:, organization_id:, deactivated:, version:, updated_at:, updating_user_id:, patient_id:,
|
118
|
+
start_timestamp:, service_duration:, services:, status: OMIT, placer_appointment_id: OMIT, estimated_copay_cents: OMIT, estimated_patient_responsibility_cents: OMIT, patient_deposit_cents: OMIT, checked_in_timestamp: OMIT, notes: OMIT, location_resource_id: OMIT, automated_eligibility_check_complete: OMIT, work_queue: OMIT, additional_properties: nil)
|
108
119
|
@id = id
|
109
120
|
@organization_id = organization_id
|
110
121
|
@deactivated = deactivated
|
@@ -112,17 +123,22 @@ module CandidApiClient
|
|
112
123
|
@updated_at = updated_at
|
113
124
|
@updating_user_id = updating_user_id
|
114
125
|
@patient_id = patient_id
|
115
|
-
@
|
116
|
-
@
|
117
|
-
@attending_doctor = attending_doctor if attending_doctor != OMIT
|
118
|
-
@referring_doctor = referring_doctor if referring_doctor != OMIT
|
119
|
-
@start_timestamp = start_timestamp if start_timestamp != OMIT
|
126
|
+
@start_timestamp = start_timestamp
|
127
|
+
@status = status if status != OMIT
|
120
128
|
@service_duration = service_duration
|
121
129
|
@services = services
|
122
130
|
@placer_appointment_id = placer_appointment_id if placer_appointment_id != OMIT
|
123
|
-
@
|
124
|
-
|
131
|
+
@estimated_copay_cents = estimated_copay_cents if estimated_copay_cents != OMIT
|
132
|
+
if estimated_patient_responsibility_cents != OMIT
|
133
|
+
@estimated_patient_responsibility_cents = estimated_patient_responsibility_cents
|
134
|
+
end
|
135
|
+
@patient_deposit_cents = patient_deposit_cents if patient_deposit_cents != OMIT
|
136
|
+
@checked_in_timestamp = checked_in_timestamp if checked_in_timestamp != OMIT
|
137
|
+
@notes = notes if notes != OMIT
|
125
138
|
@location_resource_id = location_resource_id if location_resource_id != OMIT
|
139
|
+
if automated_eligibility_check_complete != OMIT
|
140
|
+
@automated_eligibility_check_complete = automated_eligibility_check_complete
|
141
|
+
end
|
126
142
|
@work_queue = work_queue if work_queue != OMIT
|
127
143
|
@additional_properties = additional_properties
|
128
144
|
@_field_set = {
|
@@ -133,17 +149,18 @@ module CandidApiClient
|
|
133
149
|
"updated_at": updated_at,
|
134
150
|
"updating_user_id": updating_user_id,
|
135
151
|
"patient_id": patient_id,
|
136
|
-
"checked_in": checked_in,
|
137
|
-
"assigned_patient_location": assigned_patient_location,
|
138
|
-
"attending_doctor": attending_doctor,
|
139
|
-
"referring_doctor": referring_doctor,
|
140
152
|
"start_timestamp": start_timestamp,
|
153
|
+
"status": status,
|
141
154
|
"service_duration": service_duration,
|
142
155
|
"services": services,
|
143
156
|
"placer_appointment_id": placer_appointment_id,
|
144
|
-
"
|
145
|
-
"
|
157
|
+
"estimated_copay_cents": estimated_copay_cents,
|
158
|
+
"estimated_patient_responsibility_cents": estimated_patient_responsibility_cents,
|
159
|
+
"patient_deposit_cents": patient_deposit_cents,
|
160
|
+
"checked_in_timestamp": checked_in_timestamp,
|
161
|
+
"notes": notes,
|
146
162
|
"location_resource_id": location_resource_id,
|
163
|
+
"automated_eligibility_check_complete": automated_eligibility_check_complete,
|
147
164
|
"work_queue": work_queue
|
148
165
|
}.reject do |_k, v|
|
149
166
|
v == OMIT
|
@@ -164,32 +181,25 @@ module CandidApiClient
|
|
164
181
|
updated_at = (DateTime.parse(parsed_json["updated_at"]) unless parsed_json["updated_at"].nil?)
|
165
182
|
updating_user_id = struct["updating_user_id"]
|
166
183
|
patient_id = struct["patient_id"]
|
167
|
-
checked_in = struct["checked_in"]
|
168
|
-
assigned_patient_location = struct["assigned_patient_location"]
|
169
|
-
if parsed_json["attending_doctor"].nil?
|
170
|
-
attending_doctor = nil
|
171
|
-
else
|
172
|
-
attending_doctor = parsed_json["attending_doctor"].to_json
|
173
|
-
attending_doctor = CandidApiClient::PreEncounter::Common::Types::ExternalProvider.from_json(json_object: attending_doctor)
|
174
|
-
end
|
175
|
-
if parsed_json["referring_doctor"].nil?
|
176
|
-
referring_doctor = nil
|
177
|
-
else
|
178
|
-
referring_doctor = parsed_json["referring_doctor"].to_json
|
179
|
-
referring_doctor = CandidApiClient::PreEncounter::Common::Types::ExternalProvider.from_json(json_object: referring_doctor)
|
180
|
-
end
|
181
184
|
start_timestamp = unless parsed_json["start_timestamp"].nil?
|
182
185
|
DateTime.parse(parsed_json["start_timestamp"])
|
183
186
|
end
|
187
|
+
status = struct["status"]
|
184
188
|
service_duration = struct["service_duration"]
|
185
189
|
services = parsed_json["services"]&.map do |item|
|
186
190
|
item = item.to_json
|
187
191
|
CandidApiClient::PreEncounter::Appointments::V1::Types::Service.from_json(json_object: item)
|
188
192
|
end
|
189
193
|
placer_appointment_id = struct["placer_appointment_id"]
|
190
|
-
|
191
|
-
|
194
|
+
estimated_copay_cents = struct["estimated_copay_cents"]
|
195
|
+
estimated_patient_responsibility_cents = struct["estimated_patient_responsibility_cents"]
|
196
|
+
patient_deposit_cents = struct["patient_deposit_cents"]
|
197
|
+
checked_in_timestamp = unless parsed_json["checked_in_timestamp"].nil?
|
198
|
+
DateTime.parse(parsed_json["checked_in_timestamp"])
|
199
|
+
end
|
200
|
+
notes = struct["notes"]
|
192
201
|
location_resource_id = struct["location_resource_id"]
|
202
|
+
automated_eligibility_check_complete = struct["automated_eligibility_check_complete"]
|
193
203
|
work_queue = struct["work_queue"]
|
194
204
|
new(
|
195
205
|
id: id,
|
@@ -199,17 +209,18 @@ module CandidApiClient
|
|
199
209
|
updated_at: updated_at,
|
200
210
|
updating_user_id: updating_user_id,
|
201
211
|
patient_id: patient_id,
|
202
|
-
checked_in: checked_in,
|
203
|
-
assigned_patient_location: assigned_patient_location,
|
204
|
-
attending_doctor: attending_doctor,
|
205
|
-
referring_doctor: referring_doctor,
|
206
212
|
start_timestamp: start_timestamp,
|
213
|
+
status: status,
|
207
214
|
service_duration: service_duration,
|
208
215
|
services: services,
|
209
216
|
placer_appointment_id: placer_appointment_id,
|
210
|
-
|
211
|
-
|
217
|
+
estimated_copay_cents: estimated_copay_cents,
|
218
|
+
estimated_patient_responsibility_cents: estimated_patient_responsibility_cents,
|
219
|
+
patient_deposit_cents: patient_deposit_cents,
|
220
|
+
checked_in_timestamp: checked_in_timestamp,
|
221
|
+
notes: notes,
|
212
222
|
location_resource_id: location_resource_id,
|
223
|
+
automated_eligibility_check_complete: automated_eligibility_check_complete,
|
213
224
|
work_queue: work_queue,
|
214
225
|
additional_properties: struct
|
215
226
|
)
|
@@ -236,17 +247,18 @@ module CandidApiClient
|
|
236
247
|
obj.updated_at.is_a?(DateTime) != false || raise("Passed value for field obj.updated_at is not the expected type, validation failed.")
|
237
248
|
obj.updating_user_id.is_a?(String) != false || raise("Passed value for field obj.updating_user_id is not the expected type, validation failed.")
|
238
249
|
obj.patient_id.is_a?(String) != false || raise("Passed value for field obj.patient_id is not the expected type, validation failed.")
|
239
|
-
obj.
|
240
|
-
obj.
|
241
|
-
obj.attending_doctor.nil? || CandidApiClient::PreEncounter::Common::Types::ExternalProvider.validate_raw(obj: obj.attending_doctor)
|
242
|
-
obj.referring_doctor.nil? || CandidApiClient::PreEncounter::Common::Types::ExternalProvider.validate_raw(obj: obj.referring_doctor)
|
243
|
-
obj.start_timestamp&.is_a?(DateTime) != false || raise("Passed value for field obj.start_timestamp is not the expected type, validation failed.")
|
250
|
+
obj.start_timestamp.is_a?(DateTime) != false || raise("Passed value for field obj.start_timestamp is not the expected type, validation failed.")
|
251
|
+
obj.status&.is_a?(CandidApiClient::PreEncounter::Appointments::V1::Types::AppointmentStatus) != false || raise("Passed value for field obj.status is not the expected type, validation failed.")
|
244
252
|
obj.service_duration.is_a?(Integer) != false || raise("Passed value for field obj.service_duration is not the expected type, validation failed.")
|
245
253
|
obj.services.is_a?(Array) != false || raise("Passed value for field obj.services is not the expected type, validation failed.")
|
246
254
|
obj.placer_appointment_id&.is_a?(String) != false || raise("Passed value for field obj.placer_appointment_id is not the expected type, validation failed.")
|
247
|
-
obj.
|
248
|
-
obj.
|
255
|
+
obj.estimated_copay_cents&.is_a?(Integer) != false || raise("Passed value for field obj.estimated_copay_cents is not the expected type, validation failed.")
|
256
|
+
obj.estimated_patient_responsibility_cents&.is_a?(Integer) != false || raise("Passed value for field obj.estimated_patient_responsibility_cents is not the expected type, validation failed.")
|
257
|
+
obj.patient_deposit_cents&.is_a?(Integer) != false || raise("Passed value for field obj.patient_deposit_cents is not the expected type, validation failed.")
|
258
|
+
obj.checked_in_timestamp&.is_a?(DateTime) != false || raise("Passed value for field obj.checked_in_timestamp is not the expected type, validation failed.")
|
259
|
+
obj.notes&.is_a?(String) != false || raise("Passed value for field obj.notes is not the expected type, validation failed.")
|
249
260
|
obj.location_resource_id&.is_a?(String) != false || raise("Passed value for field obj.location_resource_id is not the expected type, validation failed.")
|
261
|
+
obj.automated_eligibility_check_complete&.is_a?(Boolean) != false || raise("Passed value for field obj.automated_eligibility_check_complete is not the expected type, validation failed.")
|
250
262
|
obj.work_queue&.is_a?(CandidApiClient::PreEncounter::Appointments::V1::Types::AppointmentWorkQueue) != false || raise("Passed value for field obj.work_queue is not the expected type, validation failed.")
|
251
263
|
end
|
252
264
|
end
|
@@ -5,9 +5,11 @@ module CandidApiClient
|
|
5
5
|
module Appointments
|
6
6
|
module V1
|
7
7
|
module Types
|
8
|
-
class
|
9
|
-
|
10
|
-
|
8
|
+
class AppointmentStatus
|
9
|
+
PENDING = "PENDING"
|
10
|
+
NOT_READY = "NOT_READY"
|
11
|
+
READY = "READY"
|
12
|
+
CHECKED_IN = "CHECKED_IN"
|
11
13
|
end
|
12
14
|
end
|
13
15
|
end
|
@@ -1,10 +1,8 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require_relative "../../../common/types/external_provider"
|
4
3
|
require "date"
|
4
|
+
require_relative "appointment_status"
|
5
5
|
require_relative "service"
|
6
|
-
require_relative "appointment_reason"
|
7
|
-
require_relative "appointment_type"
|
8
6
|
require_relative "appointment_work_queue"
|
9
7
|
require "ostruct"
|
10
8
|
require "json"
|
@@ -18,20 +16,13 @@ module CandidApiClient
|
|
18
16
|
class MutableAppointment
|
19
17
|
# @return [String] The Candid-defined patient identifier.
|
20
18
|
attr_reader :patient_id
|
21
|
-
# @return [Boolean] True if the patient has checked in. Defaults to false.
|
22
|
-
attr_reader :checked_in
|
23
|
-
# @return [String] Patient’s initial assigned location or the location to which the patient is
|
24
|
-
# being moved. This location is stored on the Patient Demographics tab and is used
|
25
|
-
# when creating orders.
|
26
|
-
attr_reader :assigned_patient_location
|
27
|
-
# @return [CandidApiClient::PreEncounter::Common::Types::ExternalProvider] Attending physician information. The attending physician will be stored as the
|
28
|
-
# Current MD for the patient.
|
29
|
-
attr_reader :attending_doctor
|
30
|
-
# @return [CandidApiClient::PreEncounter::Common::Types::ExternalProvider] Referring physician information. The referring physician will be stored as the
|
31
|
-
# Referring MD in the patient’s Providers list.
|
32
|
-
attr_reader :referring_doctor
|
33
19
|
# @return [DateTime]
|
34
20
|
attr_reader :start_timestamp
|
21
|
+
# @return [CandidApiClient::PreEncounter::Appointments::V1::Types::AppointmentStatus] Defaults to PENDING. If status is NOT_READY, work_queue must be set. If status
|
22
|
+
# is READY or CHECKED_IN, work_queue must be null. If status is CHECKED_IN,
|
23
|
+
# checked_in_timestamp must be set. If checked_in_timestamp is set, status must be
|
24
|
+
# CHECKED_IN.
|
25
|
+
attr_reader :status
|
35
26
|
# @return [Integer] The requested length of time allotted for the appointment. The units are in
|
36
27
|
# minutes.
|
37
28
|
attr_reader :service_duration
|
@@ -39,15 +30,29 @@ module CandidApiClient
|
|
39
30
|
attr_reader :services
|
40
31
|
# @return [String] ID for the appointment/order for the event.
|
41
32
|
attr_reader :placer_appointment_id
|
42
|
-
# @return [
|
43
|
-
attr_reader :
|
44
|
-
# @return [
|
45
|
-
attr_reader :
|
33
|
+
# @return [Integer]
|
34
|
+
attr_reader :estimated_copay_cents
|
35
|
+
# @return [Integer]
|
36
|
+
attr_reader :estimated_patient_responsibility_cents
|
37
|
+
# @return [Integer]
|
38
|
+
attr_reader :patient_deposit_cents
|
39
|
+
# @return [DateTime] The timestamp when the patient checked in for their appointment. If status is
|
40
|
+
# CHECKED_IN, checked_in_timestamp must be set. If checked_in_timestamp is set,
|
41
|
+
# status must be CHECKED_IN.
|
42
|
+
attr_reader :checked_in_timestamp
|
43
|
+
# @return [String]
|
44
|
+
attr_reader :notes
|
46
45
|
# @return [String] Contains the coded identification of the location being scheduled. Components:
|
47
46
|
# <Identifier (ST)>^<Text (ST)>
|
48
47
|
attr_reader :location_resource_id
|
48
|
+
# @return [Boolean] True if the automated eligibility check has been completed. It is not
|
49
|
+
# recommended to change this value manually via API. This refers explicitly to the
|
50
|
+
# automated eligibility check that occurs a specific number of days before the
|
51
|
+
# appointment.
|
52
|
+
attr_reader :automated_eligibility_check_complete
|
49
53
|
# @return [CandidApiClient::PreEncounter::Appointments::V1::Types::AppointmentWorkQueue] The work queue that the appointment belongs to. It is not recommended to change
|
50
|
-
# this value manually via API.
|
54
|
+
# this value manually via API. If status is NOT_READY, work_queue must be set. If
|
55
|
+
# status is READY or CHECKED_IN, work_queue must be null.
|
51
56
|
attr_reader :work_queue
|
52
57
|
# @return [OpenStruct] Additional properties unmapped to the current class definition
|
53
58
|
attr_reader :additional_properties
|
@@ -58,56 +63,68 @@ module CandidApiClient
|
|
58
63
|
OMIT = Object.new
|
59
64
|
|
60
65
|
# @param patient_id [String] The Candid-defined patient identifier.
|
61
|
-
# @param checked_in [Boolean] True if the patient has checked in. Defaults to false.
|
62
|
-
# @param assigned_patient_location [String] Patient’s initial assigned location or the location to which the patient is
|
63
|
-
# being moved. This location is stored on the Patient Demographics tab and is used
|
64
|
-
# when creating orders.
|
65
|
-
# @param attending_doctor [CandidApiClient::PreEncounter::Common::Types::ExternalProvider] Attending physician information. The attending physician will be stored as the
|
66
|
-
# Current MD for the patient.
|
67
|
-
# @param referring_doctor [CandidApiClient::PreEncounter::Common::Types::ExternalProvider] Referring physician information. The referring physician will be stored as the
|
68
|
-
# Referring MD in the patient’s Providers list.
|
69
66
|
# @param start_timestamp [DateTime]
|
67
|
+
# @param status [CandidApiClient::PreEncounter::Appointments::V1::Types::AppointmentStatus] Defaults to PENDING. If status is NOT_READY, work_queue must be set. If status
|
68
|
+
# is READY or CHECKED_IN, work_queue must be null. If status is CHECKED_IN,
|
69
|
+
# checked_in_timestamp must be set. If checked_in_timestamp is set, status must be
|
70
|
+
# CHECKED_IN.
|
70
71
|
# @param service_duration [Integer] The requested length of time allotted for the appointment. The units are in
|
71
72
|
# minutes.
|
72
73
|
# @param services [Array<CandidApiClient::PreEncounter::Appointments::V1::Types::Service>]
|
73
74
|
# @param placer_appointment_id [String] ID for the appointment/order for the event.
|
74
|
-
# @param
|
75
|
-
# @param
|
75
|
+
# @param estimated_copay_cents [Integer]
|
76
|
+
# @param estimated_patient_responsibility_cents [Integer]
|
77
|
+
# @param patient_deposit_cents [Integer]
|
78
|
+
# @param checked_in_timestamp [DateTime] The timestamp when the patient checked in for their appointment. If status is
|
79
|
+
# CHECKED_IN, checked_in_timestamp must be set. If checked_in_timestamp is set,
|
80
|
+
# status must be CHECKED_IN.
|
81
|
+
# @param notes [String]
|
76
82
|
# @param location_resource_id [String] Contains the coded identification of the location being scheduled. Components:
|
77
83
|
# <Identifier (ST)>^<Text (ST)>
|
84
|
+
# @param automated_eligibility_check_complete [Boolean] True if the automated eligibility check has been completed. It is not
|
85
|
+
# recommended to change this value manually via API. This refers explicitly to the
|
86
|
+
# automated eligibility check that occurs a specific number of days before the
|
87
|
+
# appointment.
|
78
88
|
# @param work_queue [CandidApiClient::PreEncounter::Appointments::V1::Types::AppointmentWorkQueue] The work queue that the appointment belongs to. It is not recommended to change
|
79
|
-
# this value manually via API.
|
89
|
+
# this value manually via API. If status is NOT_READY, work_queue must be set. If
|
90
|
+
# status is READY or CHECKED_IN, work_queue must be null.
|
80
91
|
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
81
92
|
# @return [CandidApiClient::PreEncounter::Appointments::V1::Types::MutableAppointment]
|
82
|
-
def initialize(patient_id:, service_duration:, services:,
|
83
|
-
|
93
|
+
def initialize(patient_id:, start_timestamp:, service_duration:, services:, status: OMIT,
|
94
|
+
placer_appointment_id: OMIT, estimated_copay_cents: OMIT, estimated_patient_responsibility_cents: OMIT, patient_deposit_cents: OMIT, checked_in_timestamp: OMIT, notes: OMIT, location_resource_id: OMIT, automated_eligibility_check_complete: OMIT, work_queue: OMIT, additional_properties: nil)
|
84
95
|
@patient_id = patient_id
|
85
|
-
@
|
86
|
-
@
|
87
|
-
@attending_doctor = attending_doctor if attending_doctor != OMIT
|
88
|
-
@referring_doctor = referring_doctor if referring_doctor != OMIT
|
89
|
-
@start_timestamp = start_timestamp if start_timestamp != OMIT
|
96
|
+
@start_timestamp = start_timestamp
|
97
|
+
@status = status if status != OMIT
|
90
98
|
@service_duration = service_duration
|
91
99
|
@services = services
|
92
100
|
@placer_appointment_id = placer_appointment_id if placer_appointment_id != OMIT
|
93
|
-
@
|
94
|
-
|
101
|
+
@estimated_copay_cents = estimated_copay_cents if estimated_copay_cents != OMIT
|
102
|
+
if estimated_patient_responsibility_cents != OMIT
|
103
|
+
@estimated_patient_responsibility_cents = estimated_patient_responsibility_cents
|
104
|
+
end
|
105
|
+
@patient_deposit_cents = patient_deposit_cents if patient_deposit_cents != OMIT
|
106
|
+
@checked_in_timestamp = checked_in_timestamp if checked_in_timestamp != OMIT
|
107
|
+
@notes = notes if notes != OMIT
|
95
108
|
@location_resource_id = location_resource_id if location_resource_id != OMIT
|
109
|
+
if automated_eligibility_check_complete != OMIT
|
110
|
+
@automated_eligibility_check_complete = automated_eligibility_check_complete
|
111
|
+
end
|
96
112
|
@work_queue = work_queue if work_queue != OMIT
|
97
113
|
@additional_properties = additional_properties
|
98
114
|
@_field_set = {
|
99
115
|
"patient_id": patient_id,
|
100
|
-
"checked_in": checked_in,
|
101
|
-
"assigned_patient_location": assigned_patient_location,
|
102
|
-
"attending_doctor": attending_doctor,
|
103
|
-
"referring_doctor": referring_doctor,
|
104
116
|
"start_timestamp": start_timestamp,
|
117
|
+
"status": status,
|
105
118
|
"service_duration": service_duration,
|
106
119
|
"services": services,
|
107
120
|
"placer_appointment_id": placer_appointment_id,
|
108
|
-
"
|
109
|
-
"
|
121
|
+
"estimated_copay_cents": estimated_copay_cents,
|
122
|
+
"estimated_patient_responsibility_cents": estimated_patient_responsibility_cents,
|
123
|
+
"patient_deposit_cents": patient_deposit_cents,
|
124
|
+
"checked_in_timestamp": checked_in_timestamp,
|
125
|
+
"notes": notes,
|
110
126
|
"location_resource_id": location_resource_id,
|
127
|
+
"automated_eligibility_check_complete": automated_eligibility_check_complete,
|
111
128
|
"work_queue": work_queue
|
112
129
|
}.reject do |_k, v|
|
113
130
|
v == OMIT
|
@@ -122,46 +139,40 @@ module CandidApiClient
|
|
122
139
|
struct = JSON.parse(json_object, object_class: OpenStruct)
|
123
140
|
parsed_json = JSON.parse(json_object)
|
124
141
|
patient_id = struct["patient_id"]
|
125
|
-
checked_in = struct["checked_in"]
|
126
|
-
assigned_patient_location = struct["assigned_patient_location"]
|
127
|
-
if parsed_json["attending_doctor"].nil?
|
128
|
-
attending_doctor = nil
|
129
|
-
else
|
130
|
-
attending_doctor = parsed_json["attending_doctor"].to_json
|
131
|
-
attending_doctor = CandidApiClient::PreEncounter::Common::Types::ExternalProvider.from_json(json_object: attending_doctor)
|
132
|
-
end
|
133
|
-
if parsed_json["referring_doctor"].nil?
|
134
|
-
referring_doctor = nil
|
135
|
-
else
|
136
|
-
referring_doctor = parsed_json["referring_doctor"].to_json
|
137
|
-
referring_doctor = CandidApiClient::PreEncounter::Common::Types::ExternalProvider.from_json(json_object: referring_doctor)
|
138
|
-
end
|
139
142
|
start_timestamp = unless parsed_json["start_timestamp"].nil?
|
140
143
|
DateTime.parse(parsed_json["start_timestamp"])
|
141
144
|
end
|
145
|
+
status = struct["status"]
|
142
146
|
service_duration = struct["service_duration"]
|
143
147
|
services = parsed_json["services"]&.map do |item|
|
144
148
|
item = item.to_json
|
145
149
|
CandidApiClient::PreEncounter::Appointments::V1::Types::Service.from_json(json_object: item)
|
146
150
|
end
|
147
151
|
placer_appointment_id = struct["placer_appointment_id"]
|
148
|
-
|
149
|
-
|
152
|
+
estimated_copay_cents = struct["estimated_copay_cents"]
|
153
|
+
estimated_patient_responsibility_cents = struct["estimated_patient_responsibility_cents"]
|
154
|
+
patient_deposit_cents = struct["patient_deposit_cents"]
|
155
|
+
checked_in_timestamp = unless parsed_json["checked_in_timestamp"].nil?
|
156
|
+
DateTime.parse(parsed_json["checked_in_timestamp"])
|
157
|
+
end
|
158
|
+
notes = struct["notes"]
|
150
159
|
location_resource_id = struct["location_resource_id"]
|
160
|
+
automated_eligibility_check_complete = struct["automated_eligibility_check_complete"]
|
151
161
|
work_queue = struct["work_queue"]
|
152
162
|
new(
|
153
163
|
patient_id: patient_id,
|
154
|
-
checked_in: checked_in,
|
155
|
-
assigned_patient_location: assigned_patient_location,
|
156
|
-
attending_doctor: attending_doctor,
|
157
|
-
referring_doctor: referring_doctor,
|
158
164
|
start_timestamp: start_timestamp,
|
165
|
+
status: status,
|
159
166
|
service_duration: service_duration,
|
160
167
|
services: services,
|
161
168
|
placer_appointment_id: placer_appointment_id,
|
162
|
-
|
163
|
-
|
169
|
+
estimated_copay_cents: estimated_copay_cents,
|
170
|
+
estimated_patient_responsibility_cents: estimated_patient_responsibility_cents,
|
171
|
+
patient_deposit_cents: patient_deposit_cents,
|
172
|
+
checked_in_timestamp: checked_in_timestamp,
|
173
|
+
notes: notes,
|
164
174
|
location_resource_id: location_resource_id,
|
175
|
+
automated_eligibility_check_complete: automated_eligibility_check_complete,
|
165
176
|
work_queue: work_queue,
|
166
177
|
additional_properties: struct
|
167
178
|
)
|
@@ -182,17 +193,18 @@ module CandidApiClient
|
|
182
193
|
# @return [Void]
|
183
194
|
def self.validate_raw(obj:)
|
184
195
|
obj.patient_id.is_a?(String) != false || raise("Passed value for field obj.patient_id is not the expected type, validation failed.")
|
185
|
-
obj.
|
186
|
-
obj.
|
187
|
-
obj.attending_doctor.nil? || CandidApiClient::PreEncounter::Common::Types::ExternalProvider.validate_raw(obj: obj.attending_doctor)
|
188
|
-
obj.referring_doctor.nil? || CandidApiClient::PreEncounter::Common::Types::ExternalProvider.validate_raw(obj: obj.referring_doctor)
|
189
|
-
obj.start_timestamp&.is_a?(DateTime) != false || raise("Passed value for field obj.start_timestamp is not the expected type, validation failed.")
|
196
|
+
obj.start_timestamp.is_a?(DateTime) != false || raise("Passed value for field obj.start_timestamp is not the expected type, validation failed.")
|
197
|
+
obj.status&.is_a?(CandidApiClient::PreEncounter::Appointments::V1::Types::AppointmentStatus) != false || raise("Passed value for field obj.status is not the expected type, validation failed.")
|
190
198
|
obj.service_duration.is_a?(Integer) != false || raise("Passed value for field obj.service_duration is not the expected type, validation failed.")
|
191
199
|
obj.services.is_a?(Array) != false || raise("Passed value for field obj.services is not the expected type, validation failed.")
|
192
200
|
obj.placer_appointment_id&.is_a?(String) != false || raise("Passed value for field obj.placer_appointment_id is not the expected type, validation failed.")
|
193
|
-
obj.
|
194
|
-
obj.
|
201
|
+
obj.estimated_copay_cents&.is_a?(Integer) != false || raise("Passed value for field obj.estimated_copay_cents is not the expected type, validation failed.")
|
202
|
+
obj.estimated_patient_responsibility_cents&.is_a?(Integer) != false || raise("Passed value for field obj.estimated_patient_responsibility_cents is not the expected type, validation failed.")
|
203
|
+
obj.patient_deposit_cents&.is_a?(Integer) != false || raise("Passed value for field obj.patient_deposit_cents is not the expected type, validation failed.")
|
204
|
+
obj.checked_in_timestamp&.is_a?(DateTime) != false || raise("Passed value for field obj.checked_in_timestamp is not the expected type, validation failed.")
|
205
|
+
obj.notes&.is_a?(String) != false || raise("Passed value for field obj.notes is not the expected type, validation failed.")
|
195
206
|
obj.location_resource_id&.is_a?(String) != false || raise("Passed value for field obj.location_resource_id is not the expected type, validation failed.")
|
207
|
+
obj.automated_eligibility_check_complete&.is_a?(Boolean) != false || raise("Passed value for field obj.automated_eligibility_check_complete is not the expected type, validation failed.")
|
196
208
|
obj.work_queue&.is_a?(CandidApiClient::PreEncounter::Appointments::V1::Types::AppointmentWorkQueue) != false || raise("Passed value for field obj.work_queue is not the expected type, validation failed.")
|
197
209
|
end
|
198
210
|
end
|
@@ -93,7 +93,7 @@ module CandidApiClient
|
|
93
93
|
# @return [CandidApiClient::PreEncounter::Coverages::V1::Types::Coverage]
|
94
94
|
# @example
|
95
95
|
# api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
|
96
|
-
# api.pre_encounter.coverages.v_1.create(request: { status: ACTIVE, subscriber: { name: { family: "string", given: ["string"], use: USUAL, period: { start:
|
96
|
+
# api.pre_encounter.coverages.v_1.create(request: { status: ACTIVE, subscriber: { name: { family: "string", given: ["string"], use: USUAL, period: { start: DateTime.parse(2023-01-15), end_: DateTime.parse(2023-01-15) } }, date_of_birth: DateTime.parse(2023-01-15), biological_sex: FEMALE }, relationship: SELF, patient: "string", insurance_plan: { member_id: "string", payer_id: "string", payer_name: "string", group_number: "string", name: "string", plan_type: SELF_PAY, type: C_01, period: { start: DateTime.parse(2023-01-15), end_: DateTime.parse(2023-01-15) }, insurance_card_image_locator: "string" }, verified: true, eligibility_checks: [{ check_id: "string", service_code: MEDICAL_CARE, status: CREATED, initiated_by: "string", initiated_at: DateTime.parse(2024-01-15T09:30:00.000Z) }], benefits: { plan_coverage: {"key":"value"}, service_specific_coverage: {"key":"value"} } })
|
97
97
|
def create(request:, request_options: nil)
|
98
98
|
response = @request_client.conn.post do |req|
|
99
99
|
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
@@ -181,7 +181,7 @@ module CandidApiClient
|
|
181
181
|
# api.pre_encounter.coverages.v_1.update(
|
182
182
|
# id: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32",
|
183
183
|
# version: "string",
|
184
|
-
# request: { status: ACTIVE, subscriber: { name: { family: "string", given: ["string"], use: USUAL, period: { start:
|
184
|
+
# request: { status: ACTIVE, subscriber: { name: { family: "string", given: ["string"], use: USUAL, period: { start: DateTime.parse(2023-01-15), end_: DateTime.parse(2023-01-15) } }, date_of_birth: DateTime.parse(2023-01-15), biological_sex: FEMALE }, relationship: SELF, patient: "string", insurance_plan: { member_id: "string", payer_id: "string", payer_name: "string", group_number: "string", name: "string", plan_type: SELF_PAY, type: C_01, period: { start: DateTime.parse(2023-01-15), end_: DateTime.parse(2023-01-15) }, insurance_card_image_locator: "string" }, verified: true, eligibility_checks: [{ check_id: "string", service_code: MEDICAL_CARE, status: CREATED, initiated_by: "string", initiated_at: DateTime.parse(2024-01-15T09:30:00.000Z) }], benefits: { plan_coverage: {"key":"value"}, service_specific_coverage: {"key":"value"} } }
|
185
185
|
# )
|
186
186
|
def update(id:, version:, request:, request_options: nil)
|
187
187
|
response = @request_client.conn.put do |req|
|
@@ -449,7 +449,7 @@ module CandidApiClient
|
|
449
449
|
# @return [CandidApiClient::PreEncounter::Coverages::V1::Types::Coverage]
|
450
450
|
# @example
|
451
451
|
# api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
|
452
|
-
# api.pre_encounter.coverages.v_1.create(request: { status: ACTIVE, subscriber: { name: { family: "string", given: ["string"], use: USUAL, period: { start:
|
452
|
+
# api.pre_encounter.coverages.v_1.create(request: { status: ACTIVE, subscriber: { name: { family: "string", given: ["string"], use: USUAL, period: { start: DateTime.parse(2023-01-15), end_: DateTime.parse(2023-01-15) } }, date_of_birth: DateTime.parse(2023-01-15), biological_sex: FEMALE }, relationship: SELF, patient: "string", insurance_plan: { member_id: "string", payer_id: "string", payer_name: "string", group_number: "string", name: "string", plan_type: SELF_PAY, type: C_01, period: { start: DateTime.parse(2023-01-15), end_: DateTime.parse(2023-01-15) }, insurance_card_image_locator: "string" }, verified: true, eligibility_checks: [{ check_id: "string", service_code: MEDICAL_CARE, status: CREATED, initiated_by: "string", initiated_at: DateTime.parse(2024-01-15T09:30:00.000Z) }], benefits: { plan_coverage: {"key":"value"}, service_specific_coverage: {"key":"value"} } })
|
453
453
|
def create(request:, request_options: nil)
|
454
454
|
Async do
|
455
455
|
response = @request_client.conn.post do |req|
|
@@ -539,7 +539,7 @@ module CandidApiClient
|
|
539
539
|
# api.pre_encounter.coverages.v_1.update(
|
540
540
|
# id: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32",
|
541
541
|
# version: "string",
|
542
|
-
# request: { status: ACTIVE, subscriber: { name: { family: "string", given: ["string"], use: USUAL, period: { start:
|
542
|
+
# request: { status: ACTIVE, subscriber: { name: { family: "string", given: ["string"], use: USUAL, period: { start: DateTime.parse(2023-01-15), end_: DateTime.parse(2023-01-15) } }, date_of_birth: DateTime.parse(2023-01-15), biological_sex: FEMALE }, relationship: SELF, patient: "string", insurance_plan: { member_id: "string", payer_id: "string", payer_name: "string", group_number: "string", name: "string", plan_type: SELF_PAY, type: C_01, period: { start: DateTime.parse(2023-01-15), end_: DateTime.parse(2023-01-15) }, insurance_card_image_locator: "string" }, verified: true, eligibility_checks: [{ check_id: "string", service_code: MEDICAL_CARE, status: CREATED, initiated_by: "string", initiated_at: DateTime.parse(2024-01-15T09:30:00.000Z) }], benefits: { plan_coverage: {"key":"value"}, service_specific_coverage: {"key":"value"} } }
|
543
543
|
# )
|
544
544
|
def update(id:, version:, request:, request_options: nil)
|
545
545
|
Async do
|