Class: CandidApiClient::PreEncounter::Appointments::V1::V1Client
- Inherits:
-
Object
- Object
- CandidApiClient::PreEncounter::Appointments::V1::V1Client
- Defined in:
- lib/candidhealth/pre_encounter/appointments/v_1/client.rb
Instance Attribute Summary collapse
Instance Method Summary collapse
-
#create(request:, request_options: nil) ⇒ CandidApiClient::PreEncounter::Appointments::V1::Types::Appointment
Adds an appointment.
-
#deactivate(id:, version:, request_options: nil) ⇒ Void
Sets an appointment as deactivated.
-
#get(id:, request_options: nil) ⇒ CandidApiClient::PreEncounter::Appointments::V1::Types::Appointment
Gets an appointment.
-
#get_history(id:, request_options: nil) ⇒ Array<CandidApiClient::PreEncounter::Appointments::V1::Types::Appointment>
Gets an appointment along with it’s full history.
-
#get_visits(page_token: nil, limit: nil, sort_field: nil, sort_direction: nil, filters: nil, request_options: nil) ⇒ CandidApiClient::PreEncounter::Appointments::V1::Types::VisitsPage
Gets all Visits within a given time range.
- #initialize(request_client:) ⇒ CandidApiClient::PreEncounter::Appointments::V1::V1Client constructor
-
#scan(since:, request_options: nil) ⇒ Array<CandidApiClient::PreEncounter::Appointments::V1::Types::Appointment>
Scans up to 100 appointment updates.
-
#update(id:, version:, request:, request_options: nil) ⇒ CandidApiClient::PreEncounter::Appointments::V1::Types::Appointment
Updates an appointment.
Constructor Details
#initialize(request_client:) ⇒ CandidApiClient::PreEncounter::Appointments::V1::V1Client
22 23 24 |
# File 'lib/candidhealth/pre_encounter/appointments/v_1/client.rb', line 22 def initialize(request_client:) @request_client = request_client end |
Instance Attribute Details
#request_client ⇒ CandidApiClient::RequestClient (readonly)
18 19 20 |
# File 'lib/candidhealth/pre_encounter/appointments/v_1/client.rb', line 18 def request_client @request_client end |
Instance Method Details
#create(request:, request_options: nil) ⇒ CandidApiClient::PreEncounter::Appointments::V1::Types::Appointment
Adds an appointment. VersionConflictError is returned when the
placer_appointment_id is already in use.
67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 |
# File 'lib/candidhealth/pre_encounter/appointments/v_1/client.rb', line 67 def create(request:, request_options: nil) response = @request_client.conn.post do |req| req..timeout = .timeout_in_seconds unless &.timeout_in_seconds.nil? req.headers["Authorization"] = .token unless &.token.nil? req.headers = { **(req.headers || {}), **@request_client.get_headers, **(&.additional_headers || {}) }.compact req.body = { **(request || {}), **(&.additional_body_parameters || {}) }.compact req.url "#{@request_client.get_url(environment: PreEncounter, request_options: )}/appointments/v1" end CandidApiClient::PreEncounter::Appointments::V1::Types::Appointment.from_json(json_object: response.body) end |
#deactivate(id:, version:, request_options: nil) ⇒ Void
Sets an appointment as deactivated. The path must contain the most recent
version to prevent race conditions. Deactivating historic versions is not
supported. Subsequent updates via PUT to the appointment will "reactivate" the
appointment and set the deactivated flag to false.
275 276 277 278 279 280 281 282 283 284 285 286 287 |
# File 'lib/candidhealth/pre_encounter/appointments/v_1/client.rb', line 275 def deactivate(id:, version:, request_options: nil) @request_client.conn.delete do |req| req..timeout = .timeout_in_seconds unless &.timeout_in_seconds.nil? req.headers["Authorization"] = .token unless &.token.nil? req.headers = { **(req.headers || {}), **@request_client.get_headers, **(&.additional_headers || {}) }.compact req.url "#{@request_client.get_url(environment: PreEncounter, request_options: )}/appointments/v1/#{id}/#{version}" end end |
#get(id:, request_options: nil) ⇒ CandidApiClient::PreEncounter::Appointments::V1::Types::Appointment
Gets an appointment.
128 129 130 131 132 133 134 135 136 137 138 139 140 141 |
# File 'lib/candidhealth/pre_encounter/appointments/v_1/client.rb', line 128 def get(id:, request_options: nil) response = @request_client.conn.get do |req| req..timeout = .timeout_in_seconds unless &.timeout_in_seconds.nil? req.headers["Authorization"] = .token unless &.token.nil? req.headers = { **(req.headers || {}), **@request_client.get_headers, **(&.additional_headers || {}) }.compact req.url "#{@request_client.get_url(environment: PreEncounter, request_options: )}/appointments/v1/#{id}" end CandidApiClient::PreEncounter::Appointments::V1::Types::Appointment.from_json(json_object: response.body) end |
#get_history(id:, request_options: nil) ⇒ Array<CandidApiClient::PreEncounter::Appointments::V1::Types::Appointment>
Gets an appointment along with it’s full history. The return list is ordered by
version ascending.
152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 |
# File 'lib/candidhealth/pre_encounter/appointments/v_1/client.rb', line 152 def get_history(id:, request_options: nil) response = @request_client.conn.get do |req| req..timeout = .timeout_in_seconds unless &.timeout_in_seconds.nil? req.headers["Authorization"] = .token unless &.token.nil? req.headers = { **(req.headers || {}), **@request_client.get_headers, **(&.additional_headers || {}) }.compact req.url "#{@request_client.get_url(environment: PreEncounter, request_options: )}/appointments/v1/#{id}/history" end parsed_json = JSON.parse(response.body) parsed_json&.map do |item| item = item.to_json CandidApiClient::PreEncounter::Appointments::V1::Types::Appointment.from_json(json_object: item) end end |
#get_visits(page_token: nil, limit: nil, sort_field: nil, sort_direction: nil, filters: nil, request_options: nil) ⇒ CandidApiClient::PreEncounter::Appointments::V1::Types::VisitsPage
Gets all Visits within a given time range. The return list is ordered by
start_time ascending.
96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 |
# File 'lib/candidhealth/pre_encounter/appointments/v_1/client.rb', line 96 def get_visits(page_token: nil, limit: nil, sort_field: nil, sort_direction: nil, filters: nil, request_options: nil) response = @request_client.conn.get do |req| req..timeout = .timeout_in_seconds unless &.timeout_in_seconds.nil? req.headers["Authorization"] = .token unless &.token.nil? req.headers = { **(req.headers || {}), **@request_client.get_headers, **(&.additional_headers || {}) }.compact req.params = { **(&.additional_query_parameters || {}), "page_token": page_token, "limit": limit, "sort_field": sort_field, "sort_direction": sort_direction, "filters": filters }.compact req.url "#{@request_client.get_url(environment: PreEncounter, request_options: )}/appointments/v1/visits" end CandidApiClient::PreEncounter::Appointments::V1::Types::VisitsPage.from_json(json_object: response.body) end |
#scan(since:, request_options: nil) ⇒ Array<CandidApiClient::PreEncounter::Appointments::V1::Types::Appointment>
Scans up to 100 appointment updates. The since query parameter is inclusive,
and the result list is ordered by updatedAt ascending.
243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 |
# File 'lib/candidhealth/pre_encounter/appointments/v_1/client.rb', line 243 def scan(since:, request_options: nil) response = @request_client.conn.get do |req| req..timeout = .timeout_in_seconds unless &.timeout_in_seconds.nil? req.headers["Authorization"] = .token unless &.token.nil? req.headers = { **(req.headers || {}), **@request_client.get_headers, **(&.additional_headers || {}) }.compact req.params = { **(&.additional_query_parameters || {}), "since": since }.compact req.url "#{@request_client.get_url(environment: PreEncounter, request_options: )}/appointments/v1/updates/scan" end parsed_json = JSON.parse(response.body) parsed_json&.map do |item| item = item.to_json CandidApiClient::PreEncounter::Appointments::V1::Types::Appointment.from_json(json_object: item) end end |
#update(id:, version:, request:, request_options: nil) ⇒ CandidApiClient::PreEncounter::Appointments::V1::Types::Appointment
Updates an appointment. The path must contain the most recent version to
prevent race conditions. Updating historic versions is not supported.
218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 |
# File 'lib/candidhealth/pre_encounter/appointments/v_1/client.rb', line 218 def update(id:, version:, request:, request_options: nil) response = @request_client.conn.put do |req| req..timeout = .timeout_in_seconds unless &.timeout_in_seconds.nil? req.headers["Authorization"] = .token unless &.token.nil? req.headers = { **(req.headers || {}), **@request_client.get_headers, **(&.additional_headers || {}) }.compact req.body = { **(request || {}), **(&.additional_body_parameters || {}) }.compact req.url "#{@request_client.get_url(environment: PreEncounter, request_options: )}/appointments/v1/#{id}/#{version}" end CandidApiClient::PreEncounter::Appointments::V1::Types::Appointment.from_json(json_object: response.body) end |