candidhealth 1.15.0 → 1.17.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/candid/client.rb +6 -1
- data/lib/candid/commons/types/bad_request_error_message.rb +11 -0
- data/lib/candid/commons/types/internal_error_message.rb +11 -0
- data/lib/candid/contracts/client.rb +5 -0
- data/lib/candid/contracts/v_2/client.rb +4 -0
- data/lib/candid/contracts/v_3/client.rb +176 -0
- data/lib/candid/contracts/v_3/types/contract.rb +18 -0
- data/lib/candid/contracts/v_3/types/contract_base.rb +28 -0
- data/lib/candid/contracts/v_3/types/contract_create.rb +15 -0
- data/lib/candid/contracts/v_3/types/contract_create_union.rb +18 -0
- data/lib/candid/contracts/v_3/types/contract_service_facility.rb +14 -0
- data/lib/candid/contracts/v_3/types/contract_service_facility_base.rb +14 -0
- data/lib/candid/contracts/v_3/types/contract_service_facility_create.rb +15 -0
- data/lib/candid/contracts/v_3/types/contract_service_facility_update.rb +16 -0
- data/lib/candid/contracts/v_3/types/contract_type.rb +16 -0
- data/lib/candid/contracts/v_3/types/contract_union.rb +18 -0
- data/lib/candid/contracts/v_3/types/contract_update.rb +28 -0
- data/lib/candid/contracts/v_3/types/contract_update_union.rb +18 -0
- data/lib/candid/contracts/v_3/types/contract_with_providers_union.rb +18 -0
- data/lib/candid/contracts/v_3/types/contracts_page.rb +15 -0
- data/lib/candid/contracts/v_3/types/get_multi_contracts_request.rb +22 -0
- data/lib/candid/contracts/v_3/types/institutional_contract.rb +15 -0
- data/lib/candid/contracts/v_3/types/institutional_contract_create.rb +15 -0
- data/lib/candid/contracts/v_3/types/institutional_contract_update.rb +13 -0
- data/lib/candid/contracts/v_3/types/professional_contract.rb +13 -0
- data/lib/candid/contracts/v_3/types/professional_contract_create.rb +13 -0
- data/lib/candid/contracts/v_3/types/professional_contract_update.rb +13 -0
- data/lib/candid/events/client.rb +17 -0
- data/lib/candid/events/v_1/client.rb +64 -0
- data/lib/candid/events/v_1/types/event.rb +18 -0
- data/lib/candid/events/v_1/types/event_scan_page.rb +16 -0
- data/lib/candid/events/v_1/types/get_event_scan_request.rb +17 -0
- data/lib/candid/patient_ar/v_1/client.rb +0 -4
- data/lib/candid/version.rb +1 -1
- data/lib/candid.rb +29 -0
- data/reference.md +617 -60
- metadata +30 -1
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Candid
|
|
4
|
+
module Events
|
|
5
|
+
module V1
|
|
6
|
+
class Client
|
|
7
|
+
# @return [Candid::Events::V1::Client]
|
|
8
|
+
def initialize(client:)
|
|
9
|
+
@client = client
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
# Scans the last 30 days of events. All results are sorted by created date, descending.
|
|
13
|
+
#
|
|
14
|
+
# @return [Candid::Events::V1::Types::EventScanPage]
|
|
15
|
+
def scan(request_options: {}, **params)
|
|
16
|
+
params = Candid::Internal::Types::Utils.symbolize_keys(params)
|
|
17
|
+
_query_param_names = %i[page_token limit event_types created_before created_after]
|
|
18
|
+
_query = params.slice(*_query_param_names)
|
|
19
|
+
params.except(*_query_param_names)
|
|
20
|
+
|
|
21
|
+
_request = Candid::Internal::JSON::Request.new(
|
|
22
|
+
base_url: request_options[:base_url] || Candid::Environment::PRODUCTION,
|
|
23
|
+
method: "GET",
|
|
24
|
+
path: "/api/events/v1/",
|
|
25
|
+
query: _query
|
|
26
|
+
)
|
|
27
|
+
begin
|
|
28
|
+
_response = @client.send(_request)
|
|
29
|
+
rescue Net::HTTPRequestTimeout
|
|
30
|
+
raise Candid::Errors::TimeoutError
|
|
31
|
+
end
|
|
32
|
+
code = _response.code.to_i
|
|
33
|
+
if code.between?(200, 299)
|
|
34
|
+
Candid::Events::V1::Types::EventScanPage.load(_response.body)
|
|
35
|
+
else
|
|
36
|
+
error_class = Candid::Errors::ResponseError.subclass_for_code(code)
|
|
37
|
+
raise error_class.new(_response.body, code: code)
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
# @return [Candid::Events::V1::Types::Event]
|
|
42
|
+
def get(request_options: {}, **params)
|
|
43
|
+
_request = Candid::Internal::JSON::Request.new(
|
|
44
|
+
base_url: request_options[:base_url] || Candid::Environment::PRODUCTION,
|
|
45
|
+
method: "GET",
|
|
46
|
+
path: "/api/events/v1/#{params[:event_id]}"
|
|
47
|
+
)
|
|
48
|
+
begin
|
|
49
|
+
_response = @client.send(_request)
|
|
50
|
+
rescue Net::HTTPRequestTimeout
|
|
51
|
+
raise Candid::Errors::TimeoutError
|
|
52
|
+
end
|
|
53
|
+
code = _response.code.to_i
|
|
54
|
+
if code.between?(200, 299)
|
|
55
|
+
Candid::Events::V1::Types::Event.load(_response.body)
|
|
56
|
+
else
|
|
57
|
+
error_class = Candid::Errors::ResponseError.subclass_for_code(code)
|
|
58
|
+
raise error_class.new(_response.body, code: code)
|
|
59
|
+
end
|
|
60
|
+
end
|
|
61
|
+
end
|
|
62
|
+
end
|
|
63
|
+
end
|
|
64
|
+
end
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Candid
|
|
4
|
+
module Events
|
|
5
|
+
module V1
|
|
6
|
+
module Types
|
|
7
|
+
class Event < Internal::Types::Model
|
|
8
|
+
field :id, -> { String }, optional: false, nullable: false
|
|
9
|
+
field :created_at, -> { String }, optional: false, nullable: false
|
|
10
|
+
field :timestamp, -> { String }, optional: false, nullable: false
|
|
11
|
+
field :event_type, -> { String }, optional: false, nullable: false
|
|
12
|
+
field :schema_version, -> { String }, optional: false, nullable: false
|
|
13
|
+
field :payload, -> { Internal::Types::Hash[String, Object] }, optional: false, nullable: false
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Candid
|
|
4
|
+
module Events
|
|
5
|
+
module V1
|
|
6
|
+
module Types
|
|
7
|
+
class EventScanPage < Internal::Types::Model
|
|
8
|
+
field :next_page_token, -> { String }, optional: true, nullable: false
|
|
9
|
+
field :items, lambda {
|
|
10
|
+
Internal::Types::Array[Candid::Events::V1::Types::Event]
|
|
11
|
+
}, optional: false, nullable: false
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Candid
|
|
4
|
+
module Events
|
|
5
|
+
module V1
|
|
6
|
+
module Types
|
|
7
|
+
class GetEventScanRequest < Internal::Types::Model
|
|
8
|
+
field :page_token, -> { String }, optional: true, nullable: false
|
|
9
|
+
field :limit, -> { Integer }, optional: true, nullable: false
|
|
10
|
+
field :event_types, -> { String }, optional: true, nullable: false
|
|
11
|
+
field :created_before, -> { String }, optional: true, nullable: false
|
|
12
|
+
field :created_after, -> { String }, optional: true, nullable: false
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
@@ -9,8 +9,6 @@ module Candid
|
|
|
9
9
|
@client = client
|
|
10
10
|
end
|
|
11
11
|
|
|
12
|
-
# NOTE: This service is in-development and can only be used by select partners. Please contact Candid Health to request access.
|
|
13
|
-
#
|
|
14
12
|
# Retrieve a list of inventory records based on the provided filters. Each inventory record provides the latest invoiceable status of the associated claim.
|
|
15
13
|
# The response is paginated, and the `page_token` can be used to retrieve subsequent pages. Initial requests should not include `page_token`.
|
|
16
14
|
#
|
|
@@ -41,8 +39,6 @@ module Candid
|
|
|
41
39
|
end
|
|
42
40
|
end
|
|
43
41
|
|
|
44
|
-
# NOTE: This service is in-development and can only be used by select partners. Please contact Candid Health to request access.
|
|
45
|
-
#
|
|
46
42
|
# Provides detailed itemization of invoice data for a specific claim.
|
|
47
43
|
#
|
|
48
44
|
# @return [Candid::PatientAr::V1::Types::InvoiceItemizationResponse]
|
data/lib/candid/version.rb
CHANGED
data/lib/candid.rb
CHANGED
|
@@ -160,6 +160,24 @@ require_relative "candid/contracts/v_2/types/contract"
|
|
|
160
160
|
require_relative "candid/contracts/v_2/types/contract_with_providers"
|
|
161
161
|
require_relative "candid/contracts/v_2/types/contracts_page"
|
|
162
162
|
require_relative "candid/contracts/v_2/types/contract_sort_field"
|
|
163
|
+
require_relative "candid/contracts/v_3/types/contract_type"
|
|
164
|
+
require_relative "candid/contracts/v_3/types/contract_service_facility_base"
|
|
165
|
+
require_relative "candid/contracts/v_3/types/contract_service_facility"
|
|
166
|
+
require_relative "candid/contracts/v_3/types/contract_base"
|
|
167
|
+
require_relative "candid/contracts/v_3/types/contract"
|
|
168
|
+
require_relative "candid/contracts/v_3/types/professional_contract"
|
|
169
|
+
require_relative "candid/contracts/v_3/types/institutional_contract"
|
|
170
|
+
require_relative "candid/contracts/v_3/types/contract_union"
|
|
171
|
+
require_relative "candid/contracts/v_3/types/contract_with_providers_union"
|
|
172
|
+
require_relative "candid/contracts/v_3/types/contract_create"
|
|
173
|
+
require_relative "candid/contracts/v_3/types/professional_contract_create"
|
|
174
|
+
require_relative "candid/contracts/v_3/types/institutional_contract_create"
|
|
175
|
+
require_relative "candid/contracts/v_3/types/contract_create_union"
|
|
176
|
+
require_relative "candid/contracts/v_3/types/contract_update"
|
|
177
|
+
require_relative "candid/contracts/v_3/types/professional_contract_update"
|
|
178
|
+
require_relative "candid/contracts/v_3/types/institutional_contract_update"
|
|
179
|
+
require_relative "candid/contracts/v_3/types/contract_update_union"
|
|
180
|
+
require_relative "candid/contracts/v_3/types/contracts_page"
|
|
163
181
|
require_relative "candid/credentialing/v_2/types/credentialing_span_status"
|
|
164
182
|
require_relative "candid/commons/types/date_range_optional_end"
|
|
165
183
|
require_relative "candid/identifiers/types/identifier_code"
|
|
@@ -381,6 +399,8 @@ require_relative "candid/encounters/v_4/types/schema_instance_validation_error"
|
|
|
381
399
|
require_relative "candid/encounters/v_4/types/schema_instance_validation_failure"
|
|
382
400
|
require_relative "candid/encounters/v_4/types/payer_plan_group_payer_does_not_match_insurance_card_error"
|
|
383
401
|
require_relative "candid/encounters/v_4/types/encounter_rendering_or_attending_provider_required_error"
|
|
402
|
+
require_relative "candid/events/v_1/types/event"
|
|
403
|
+
require_relative "candid/events/v_1/types/event_scan_page"
|
|
384
404
|
require_relative "candid/expected_network_status/v_1/types/expected_network_status"
|
|
385
405
|
require_relative "candid/expected_network_status/v_1/types/expected_network_status_response"
|
|
386
406
|
require_relative "candid/expected_network_status/v_2/types/line_of_business"
|
|
@@ -706,6 +726,8 @@ require_relative "candid/commons/types/http_service_unavailable_error_message"
|
|
|
706
726
|
require_relative "candid/commons/types/request_validation_error"
|
|
707
727
|
require_relative "candid/commons/types/updates_disabled_due_to_external_system_integration_error_message"
|
|
708
728
|
require_relative "candid/commons/types/organization_not_authorized_error_message"
|
|
729
|
+
require_relative "candid/commons/types/bad_request_error_message"
|
|
730
|
+
require_relative "candid/commons/types/internal_error_message"
|
|
709
731
|
require_relative "candid/diagnoses/types/diagnosis_not_found_error"
|
|
710
732
|
require_relative "candid/diagnoses/types/service_lines_must_have_at_least_one_diagnosis_error"
|
|
711
733
|
require_relative "candid/diagnoses/types/disallow_multiple_primary_diagnosis_error"
|
|
@@ -740,6 +762,10 @@ require_relative "candid/contracts/v_2/client"
|
|
|
740
762
|
require_relative "candid/contracts/v_2/types/get_multi_contracts_request"
|
|
741
763
|
require_relative "candid/contracts/v_2/types/contract_create"
|
|
742
764
|
require_relative "candid/contracts/v_2/types/contract_update"
|
|
765
|
+
require_relative "candid/contracts/v_3/client"
|
|
766
|
+
require_relative "candid/contracts/v_3/types/get_multi_contracts_request"
|
|
767
|
+
require_relative "candid/contracts/v_3/types/contract_service_facility_create"
|
|
768
|
+
require_relative "candid/contracts/v_3/types/contract_service_facility_update"
|
|
743
769
|
require_relative "candid/credentialing/client"
|
|
744
770
|
require_relative "candid/credentialing/v_2/client"
|
|
745
771
|
require_relative "candid/credentialing/v_2/types/facility_credentialing_span_create"
|
|
@@ -766,6 +792,9 @@ require_relative "candid/encounter_supplemental_information/v_1/client"
|
|
|
766
792
|
require_relative "candid/encounters/client"
|
|
767
793
|
require_relative "candid/encounters/v_4/client"
|
|
768
794
|
require_relative "candid/encounters/v_4/types/get_all_encounters_request"
|
|
795
|
+
require_relative "candid/events/client"
|
|
796
|
+
require_relative "candid/events/v_1/client"
|
|
797
|
+
require_relative "candid/events/v_1/types/get_event_scan_request"
|
|
769
798
|
require_relative "candid/expected_network_status/client"
|
|
770
799
|
require_relative "candid/expected_network_status/v_1/client"
|
|
771
800
|
require_relative "candid/expected_network_status/v_1/types/expected_network_status_request"
|