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.
Files changed (38) hide show
  1. checksums.yaml +4 -4
  2. data/lib/candid/client.rb +6 -1
  3. data/lib/candid/commons/types/bad_request_error_message.rb +11 -0
  4. data/lib/candid/commons/types/internal_error_message.rb +11 -0
  5. data/lib/candid/contracts/client.rb +5 -0
  6. data/lib/candid/contracts/v_2/client.rb +4 -0
  7. data/lib/candid/contracts/v_3/client.rb +176 -0
  8. data/lib/candid/contracts/v_3/types/contract.rb +18 -0
  9. data/lib/candid/contracts/v_3/types/contract_base.rb +28 -0
  10. data/lib/candid/contracts/v_3/types/contract_create.rb +15 -0
  11. data/lib/candid/contracts/v_3/types/contract_create_union.rb +18 -0
  12. data/lib/candid/contracts/v_3/types/contract_service_facility.rb +14 -0
  13. data/lib/candid/contracts/v_3/types/contract_service_facility_base.rb +14 -0
  14. data/lib/candid/contracts/v_3/types/contract_service_facility_create.rb +15 -0
  15. data/lib/candid/contracts/v_3/types/contract_service_facility_update.rb +16 -0
  16. data/lib/candid/contracts/v_3/types/contract_type.rb +16 -0
  17. data/lib/candid/contracts/v_3/types/contract_union.rb +18 -0
  18. data/lib/candid/contracts/v_3/types/contract_update.rb +28 -0
  19. data/lib/candid/contracts/v_3/types/contract_update_union.rb +18 -0
  20. data/lib/candid/contracts/v_3/types/contract_with_providers_union.rb +18 -0
  21. data/lib/candid/contracts/v_3/types/contracts_page.rb +15 -0
  22. data/lib/candid/contracts/v_3/types/get_multi_contracts_request.rb +22 -0
  23. data/lib/candid/contracts/v_3/types/institutional_contract.rb +15 -0
  24. data/lib/candid/contracts/v_3/types/institutional_contract_create.rb +15 -0
  25. data/lib/candid/contracts/v_3/types/institutional_contract_update.rb +13 -0
  26. data/lib/candid/contracts/v_3/types/professional_contract.rb +13 -0
  27. data/lib/candid/contracts/v_3/types/professional_contract_create.rb +13 -0
  28. data/lib/candid/contracts/v_3/types/professional_contract_update.rb +13 -0
  29. data/lib/candid/events/client.rb +17 -0
  30. data/lib/candid/events/v_1/client.rb +64 -0
  31. data/lib/candid/events/v_1/types/event.rb +18 -0
  32. data/lib/candid/events/v_1/types/event_scan_page.rb +16 -0
  33. data/lib/candid/events/v_1/types/get_event_scan_request.rb +17 -0
  34. data/lib/candid/patient_ar/v_1/client.rb +0 -4
  35. data/lib/candid/version.rb +1 -1
  36. data/lib/candid.rb +29 -0
  37. data/reference.md +617 -60
  38. 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]
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Candid
4
- VERSION = "1.15.0"
4
+ VERSION = "1.17.0"
5
5
  end
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"