candidhealth 1.16.0 → 1.17.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.
Files changed (55) hide show
  1. checksums.yaml +4 -4
  2. data/lib/candid/client.rb +1 -6
  3. data/lib/candid/contracts/client.rb +5 -0
  4. data/lib/candid/contracts/v_2/client.rb +4 -0
  5. data/lib/candid/contracts/v_3/client.rb +176 -0
  6. data/lib/candid/contracts/v_3/types/contract.rb +18 -0
  7. data/lib/candid/contracts/v_3/types/contract_base.rb +28 -0
  8. data/lib/candid/contracts/v_3/types/contract_create.rb +15 -0
  9. data/lib/candid/contracts/v_3/types/contract_create_union.rb +18 -0
  10. data/lib/candid/contracts/v_3/types/contract_service_facility.rb +14 -0
  11. data/lib/candid/contracts/v_3/types/contract_service_facility_base.rb +14 -0
  12. data/lib/candid/contracts/v_3/types/contract_service_facility_create.rb +15 -0
  13. data/lib/candid/contracts/v_3/types/contract_service_facility_update.rb +16 -0
  14. data/lib/candid/contracts/v_3/types/contract_type.rb +16 -0
  15. data/lib/candid/contracts/v_3/types/contract_union.rb +18 -0
  16. data/lib/candid/contracts/v_3/types/contract_update.rb +28 -0
  17. data/lib/candid/contracts/v_3/types/contract_update_union.rb +18 -0
  18. data/lib/candid/contracts/v_3/types/contract_with_providers_union.rb +18 -0
  19. data/lib/candid/contracts/v_3/types/contracts_page.rb +15 -0
  20. data/lib/candid/contracts/v_3/types/get_multi_contracts_request.rb +22 -0
  21. data/lib/candid/contracts/v_3/types/institutional_contract.rb +15 -0
  22. data/lib/candid/contracts/v_3/types/institutional_contract_create.rb +15 -0
  23. data/lib/candid/contracts/v_3/types/institutional_contract_update.rb +13 -0
  24. data/lib/candid/contracts/v_3/types/professional_contract.rb +13 -0
  25. data/lib/candid/contracts/v_3/types/professional_contract_create.rb +13 -0
  26. data/lib/candid/contracts/v_3/types/professional_contract_update.rb +13 -0
  27. data/lib/candid/encounter_providers/v_2/types/billing_provider.rb +3 -0
  28. data/lib/candid/encounter_providers/v_2/types/billing_provider_update.rb +3 -0
  29. data/lib/candid/encounter_providers/v_2/types/billing_provider_update_with_optional_address.rb +3 -0
  30. data/lib/candid/encounter_providers/v_2/types/encounter_provider.rb +3 -0
  31. data/lib/candid/encounter_providers/v_2/types/provider_secondary_identification.rb +13 -0
  32. data/lib/candid/encounter_providers/v_2/types/rendering_provider.rb +3 -0
  33. data/lib/candid/encounter_providers/v_2/types/rendering_provider_update.rb +3 -0
  34. data/lib/candid/encounter_providers/v_2/types/rendering_provider_update_with_optional_address.rb +3 -0
  35. data/lib/candid/encounters/v_4/client.rb +15 -0
  36. data/lib/candid/encounters/v_4/types/encounter.rb +3 -0
  37. data/lib/candid/encounters_universal/types/universal_encounter_create_base.rb +3 -0
  38. data/lib/candid/encounters_universal/types/universal_encounter_create_from_pre_encounter_base.rb +3 -0
  39. data/lib/candid/encounters_universal/types/universal_encounter_update_base.rb +3 -0
  40. data/lib/candid/fee_schedules/v_3/client.rb +9 -1
  41. data/lib/candid/fee_schedules/v_3/types/payer_threshold.rb +6 -1
  42. data/lib/candid/related_causes_information/v_1/types/related_causes_code.rb +20 -0
  43. data/lib/candid/related_causes_information/v_1/types/related_causes_information.rb +19 -0
  44. data/lib/candid/related_causes_information/v_1/types/related_causes_information_create.rb +11 -0
  45. data/lib/candid/related_causes_information/v_1/types/related_causes_information_update.rb +11 -0
  46. data/lib/candid/version.rb +1 -1
  47. data/lib/candid.rb +28 -7
  48. data/reference.md +541 -213
  49. metadata +28 -7
  50. data/lib/candid/insurance_payments/client.rb +0 -17
  51. data/lib/candid/insurance_payments/v_1/client.rb +0 -68
  52. data/lib/candid/insurance_payments/v_1/types/get_multi_insurance_payment_request.rb +0 -22
  53. data/lib/candid/insurance_payments/v_1/types/insurance_payment.rb +0 -20
  54. data/lib/candid/insurance_payments/v_1/types/insurance_payment_sort_field.rb +0 -17
  55. data/lib/candid/insurance_payments/v_1/types/insurance_payments_page.rb +0 -15
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6895f5f4be310fc99a79e4a950741d7a52ab05cc8e15a1d62d7a7fea6f63a344
4
- data.tar.gz: 1ffc220cda0f77fa7f57e9d7e78748d1eb1384ef0d69522c533f51086b7d99f8
3
+ metadata.gz: 6216b846646f6d4f67bf117597fba91822a5055020bd90b7e5fe8dd437cba1af
4
+ data.tar.gz: 4b8061c0931b7076543f6c629a71f7b85410c9d4b8af7f01a721428e66904dd2
5
5
  SHA512:
6
- metadata.gz: ee354cd3227e7868dbda9c9a4342dbafcd75ee316cde74ecb763f33c1f8819e3d8a149f847ee45da4aab45f323d952410df06c4d06395a840be8fafe209e79b1
7
- data.tar.gz: 7dff42df91a60ee25188ef4832100e616b8713514465b74056fb238ff8145f3a9cd71f23b23c29da54d598c432498da9119eee3cd6fb39b31b62c56b503263ec
6
+ metadata.gz: 95d0909dc1a1bcaa14953cfab64acb80c06704a412371ce0bb28be99d875a3ca0a402a833b8b2efd1c64064a1b68b785076ca86ac6e71896ece655aea2baec1a
7
+ data.tar.gz: ba7a7847a5bbbd6344cc846378d5d2bccd4ea7fca3817db140a55c6c7487649208360da9c8b85c72fc859598a66f1a7ca46d19611f02c3e477a5186bdd562ab4
data/lib/candid/client.rb CHANGED
@@ -7,7 +7,7 @@ module Candid
7
7
  @raw_client = Candid::Internal::Http::RawClient.new(
8
8
  base_url: base_url,
9
9
  headers: {
10
- "User-Agent": "candidhealth/1.16.0",
10
+ "User-Agent": "candidhealth/1.17.1",
11
11
  "X-Fern-Language": "Ruby"
12
12
  }
13
13
  )
@@ -118,11 +118,6 @@ module Candid
118
118
  @insurance_adjudications ||= Candid::InsuranceAdjudications::Client.new(client: @raw_client)
119
119
  end
120
120
 
121
- # @return [Candid::InsurancePayments::Client]
122
- def insurance_payments
123
- @insurance_payments ||= Candid::InsurancePayments::Client.new(client: @raw_client)
124
- end
125
-
126
121
  # @return [Candid::InsuranceRefunds::Client]
127
122
  def insurance_refunds
128
123
  @insurance_refunds ||= Candid::InsuranceRefunds::Client.new(client: @raw_client)
@@ -12,6 +12,11 @@ module Candid
12
12
  def v_2
13
13
  @v_2 ||= Candid::Contracts::V2::Client.new(client: @client)
14
14
  end
15
+
16
+ # @return [Candid::V3::Client]
17
+ def v_3
18
+ @v_3 ||= Candid::Contracts::V3::Client.new(client: @client)
19
+ end
15
20
  end
16
21
  end
17
22
  end
@@ -9,6 +9,8 @@ module Candid
9
9
  @client = client
10
10
  end
11
11
 
12
+ # This API provides access to Professional Contracts. For Professional and Institutional Contracts use Contracts V3.
13
+ #
12
14
  # @return [Candid::Contracts::V2::Types::ContractWithProviders]
13
15
  def get(request_options: {}, **params)
14
16
  _request = Candid::Internal::JSON::Request.new(
@@ -30,6 +32,8 @@ module Candid
30
32
  end
31
33
  end
32
34
 
35
+ # This API provides access to Professional Contracts. For Professional and Institutional Contracts use Contracts V3.
36
+ #
33
37
  # @return [Candid::Contracts::V2::Types::ContractsPage]
34
38
  def get_multi(request_options: {}, **params)
35
39
  params = Candid::Internal::Types::Utils.symbolize_keys(params)
@@ -0,0 +1,176 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Candid
4
+ module Contracts
5
+ module V3
6
+ class Client
7
+ # @return [Candid::Contracts::V3::Client]
8
+ def initialize(client:)
9
+ @client = client
10
+ end
11
+
12
+ # @return [Candid::Contracts::V3::Types::ContractWithProvidersUnion]
13
+ def get(request_options: {}, **params)
14
+ _request = Candid::Internal::JSON::Request.new(
15
+ base_url: request_options[:base_url] || Candid::Environment::PRODUCTION,
16
+ method: "GET",
17
+ path: "/api/contracts/v3/#{params[:contract_id]}"
18
+ )
19
+ begin
20
+ _response = @client.send(_request)
21
+ rescue Net::HTTPRequestTimeout
22
+ raise Candid::Errors::TimeoutError
23
+ end
24
+ code = _response.code.to_i
25
+ if code.between?(200, 299)
26
+ Candid::Contracts::V3::Types::ContractWithProvidersUnion.load(_response.body)
27
+ else
28
+ error_class = Candid::Errors::ResponseError.subclass_for_code(code)
29
+ raise error_class.new(_response.body, code: code)
30
+ end
31
+ end
32
+
33
+ # @return [Candid::Contracts::V3::Types::ContractsPage]
34
+ def get_multi(request_options: {}, **params)
35
+ params = Candid::Internal::Types::Utils.symbolize_keys(params)
36
+ _query_param_names = %i[page_token limit type contracting_provider_id rendering_provider_ids payer_names
37
+ states contract_status sort sort_direction]
38
+ _query = params.slice(*_query_param_names)
39
+ params.except(*_query_param_names)
40
+
41
+ _request = Candid::Internal::JSON::Request.new(
42
+ base_url: request_options[:base_url] || Candid::Environment::PRODUCTION,
43
+ method: "GET",
44
+ path: "/api/contracts/v3",
45
+ query: _query
46
+ )
47
+ begin
48
+ _response = @client.send(_request)
49
+ rescue Net::HTTPRequestTimeout
50
+ raise Candid::Errors::TimeoutError
51
+ end
52
+ code = _response.code.to_i
53
+ if code.between?(200, 299)
54
+ Candid::Contracts::V3::Types::ContractsPage.load(_response.body)
55
+ else
56
+ error_class = Candid::Errors::ResponseError.subclass_for_code(code)
57
+ raise error_class.new(_response.body, code: code)
58
+ end
59
+ end
60
+
61
+ # Creates a new contract within the user's current organization
62
+ #
63
+ # @return [Candid::Contracts::V3::Types::ContractWithProvidersUnion]
64
+ def create(request_options: {}, **params)
65
+ _request = Candid::Internal::JSON::Request.new(
66
+ base_url: request_options[:base_url] || Candid::Environment::PRODUCTION,
67
+ method: "POST",
68
+ path: "/api/contracts/v3",
69
+ body: Candid::Contracts::V3::Types::ContractCreateUnion.new(params).to_h
70
+ )
71
+ begin
72
+ _response = @client.send(_request)
73
+ rescue Net::HTTPRequestTimeout
74
+ raise Candid::Errors::TimeoutError
75
+ end
76
+ code = _response.code.to_i
77
+ if code.between?(200, 299)
78
+ Candid::Contracts::V3::Types::ContractWithProvidersUnion.load(_response.body)
79
+ else
80
+ error_class = Candid::Errors::ResponseError.subclass_for_code(code)
81
+ raise error_class.new(_response.body, code: code)
82
+ end
83
+ end
84
+
85
+ # @return [untyped]
86
+ def delete(request_options: {}, **params)
87
+ _request = Candid::Internal::JSON::Request.new(
88
+ base_url: request_options[:base_url] || Candid::Environment::PRODUCTION,
89
+ method: "DELETE",
90
+ path: "/api/contracts/v3/#{params[:contract_id]}"
91
+ )
92
+ begin
93
+ _response = @client.send(_request)
94
+ rescue Net::HTTPRequestTimeout
95
+ raise Candid::Errors::TimeoutError
96
+ end
97
+ code = _response.code.to_i
98
+ return if code.between?(200, 299)
99
+
100
+ error_class = Candid::Errors::ResponseError.subclass_for_code(code)
101
+ raise error_class.new(_response.body, code: code)
102
+ end
103
+
104
+ # @return [Candid::Contracts::V3::Types::ContractWithProvidersUnion]
105
+ def update(request_options: {}, **params)
106
+ _request = Candid::Internal::JSON::Request.new(
107
+ base_url: request_options[:base_url] || Candid::Environment::PRODUCTION,
108
+ method: "PATCH",
109
+ path: "/api/contracts/v3/#{params[:contract_id]}",
110
+ body: Candid::Contracts::V3::Types::ContractUpdateUnion.new(params).to_h
111
+ )
112
+ begin
113
+ _response = @client.send(_request)
114
+ rescue Net::HTTPRequestTimeout
115
+ raise Candid::Errors::TimeoutError
116
+ end
117
+ code = _response.code.to_i
118
+ if code.between?(200, 299)
119
+ Candid::Contracts::V3::Types::ContractWithProvidersUnion.load(_response.body)
120
+ else
121
+ error_class = Candid::Errors::ResponseError.subclass_for_code(code)
122
+ raise error_class.new(_response.body, code: code)
123
+ end
124
+ end
125
+
126
+ # @return [Candid::Contracts::V3::Types::ContractServiceFacility]
127
+ def create_contract_service_facility(request_options: {}, **params)
128
+ _path_param_names = ["contract_id"]
129
+
130
+ _request = Candid::Internal::JSON::Request.new(
131
+ base_url: request_options[:base_url] || Candid::Environment::PRODUCTION,
132
+ method: "POST",
133
+ path: "/api/contracts/v3/#{params[:contract_id]}/service-facilities",
134
+ body: params.except(*_path_param_names)
135
+ )
136
+ begin
137
+ _response = @client.send(_request)
138
+ rescue Net::HTTPRequestTimeout
139
+ raise Candid::Errors::TimeoutError
140
+ end
141
+ code = _response.code.to_i
142
+ if code.between?(200, 299)
143
+ Candid::Contracts::V3::Types::ContractServiceFacility.load(_response.body)
144
+ else
145
+ error_class = Candid::Errors::ResponseError.subclass_for_code(code)
146
+ raise error_class.new(_response.body, code: code)
147
+ end
148
+ end
149
+
150
+ # @return [Candid::Contracts::V3::Types::ContractServiceFacility]
151
+ def update_contract_service_facility(request_options: {}, **params)
152
+ _path_param_names = %w[contract_id contract_service_facility_id]
153
+
154
+ _request = Candid::Internal::JSON::Request.new(
155
+ base_url: request_options[:base_url] || Candid::Environment::PRODUCTION,
156
+ method: "PATCH",
157
+ path: "/api/contracts/v3/#{params[:contract_id]}/service-facilities/#{params[:contract_service_facility_id]}",
158
+ body: params.except(*_path_param_names)
159
+ )
160
+ begin
161
+ _response = @client.send(_request)
162
+ rescue Net::HTTPRequestTimeout
163
+ raise Candid::Errors::TimeoutError
164
+ end
165
+ code = _response.code.to_i
166
+ if code.between?(200, 299)
167
+ Candid::Contracts::V3::Types::ContractServiceFacility.load(_response.body)
168
+ else
169
+ error_class = Candid::Errors::ResponseError.subclass_for_code(code)
170
+ raise error_class.new(_response.body, code: code)
171
+ end
172
+ end
173
+ end
174
+ end
175
+ end
176
+ end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Candid
4
+ module Contracts
5
+ module V3
6
+ module Types
7
+ class Contract < Internal::Types::Model
8
+ field :contract_id, -> { String }, optional: false, nullable: false
9
+ field :contracting_provider, lambda {
10
+ Candid::OrganizationProviders::V2::Types::OrganizationProvider
11
+ }, optional: false, nullable: false
12
+ field :provider_count, -> { Integer }, optional: false, nullable: false
13
+ field :payer, -> { Candid::Payers::V3::Types::Payer }, optional: false, nullable: false
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Candid
4
+ module Contracts
5
+ module V3
6
+ module Types
7
+ class ContractBase < Internal::Types::Model
8
+ field :effective_date, -> { String }, optional: false, nullable: false
9
+ field :expiration_date, -> { String }, optional: true, nullable: false
10
+ field :regions, -> { Candid::Commons::Types::Regions }, optional: false, nullable: false
11
+ field :contract_status, -> { Candid::Contracts::V2::Types::ContractStatus }, optional: true, nullable: false
12
+ field :authorized_signatory, lambda {
13
+ Candid::Contracts::V2::Types::AuthorizedSignatory
14
+ }, optional: true, nullable: false
15
+ field :commercial_insurance_types, lambda {
16
+ Candid::Contracts::V2::Types::InsuranceTypes
17
+ }, optional: false, nullable: false
18
+ field :medicare_insurance_types, lambda {
19
+ Candid::Contracts::V2::Types::InsuranceTypes
20
+ }, optional: false, nullable: false
21
+ field :medicaid_insurance_types, lambda {
22
+ Candid::Contracts::V2::Types::InsuranceTypes
23
+ }, optional: false, nullable: false
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Candid
4
+ module Contracts
5
+ module V3
6
+ module Types
7
+ class ContractCreate < Internal::Types::Model
8
+ field :contract_type, -> { Candid::Contracts::V3::Types::ContractType }, optional: false, nullable: false
9
+ field :contracting_provider_id, -> { String }, optional: false, nullable: false
10
+ field :payer_uuid, -> { String }, optional: false, nullable: false
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Candid
4
+ module Contracts
5
+ module V3
6
+ module Types
7
+ class ContractCreateUnion < Internal::Types::Model
8
+ extend Candid::Internal::Types::Union
9
+
10
+ discriminant :type
11
+
12
+ member -> { Candid::Contracts::V3::Types::ProfessionalContractCreate }, key: "PROFESSIONAL"
13
+ member -> { Candid::Contracts::V3::Types::InstitutionalContractCreate }, key: "INSTITUTIONAL"
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Candid
4
+ module Contracts
5
+ module V3
6
+ module Types
7
+ class ContractServiceFacility < Internal::Types::Model
8
+ field :contract_id, -> { String }, optional: false, nullable: false
9
+ field :contract_service_facility_id, -> { String }, optional: false, nullable: false
10
+ end
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Candid
4
+ module Contracts
5
+ module V3
6
+ module Types
7
+ class ContractServiceFacilityBase < Internal::Types::Model
8
+ field :service_facility_id, -> { String }, optional: false, nullable: false
9
+ field :provider_ids, -> { Internal::Types::Array[String] }, optional: false, nullable: false
10
+ end
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Candid
4
+ module Contracts
5
+ module V3
6
+ module Types
7
+ class ContractServiceFacilityCreate < Internal::Types::Model
8
+ field :contract_id, -> { String }, optional: false, nullable: false
9
+ field :service_facility_id, -> { String }, optional: false, nullable: false
10
+ field :provider_ids, -> { Internal::Types::Array[String] }, optional: false, nullable: false
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Candid
4
+ module Contracts
5
+ module V3
6
+ module Types
7
+ class ContractServiceFacilityUpdate < Internal::Types::Model
8
+ field :contract_id, -> { String }, optional: false, nullable: false
9
+ field :contract_service_facility_id, -> { String }, optional: false, nullable: false
10
+ field :service_facility_id, -> { String }, optional: true, nullable: false
11
+ field :provider_ids, -> { Internal::Types::Array[String] }, optional: true, nullable: false
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Candid
4
+ module Contracts
5
+ module V3
6
+ module Types
7
+ module ContractType
8
+ extend Candid::Internal::Types::Enum
9
+
10
+ PROFESSIONAL = "professional"
11
+ INSTITUTIONAL = "institutional"
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Candid
4
+ module Contracts
5
+ module V3
6
+ module Types
7
+ class ContractUnion < Internal::Types::Model
8
+ extend Candid::Internal::Types::Union
9
+
10
+ discriminant :type
11
+
12
+ member -> { Candid::Contracts::V3::Types::Contract }, key: "PROFESSIONAL"
13
+ member -> { Candid::Contracts::V3::Types::Contract }, key: "INSTITUTIONAL"
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Candid
4
+ module Contracts
5
+ module V3
6
+ module Types
7
+ class ContractUpdate < Internal::Types::Model
8
+ field :effective_date, -> { String }, optional: true, nullable: false
9
+ field :expiration_date, -> { Candid::Contracts::V2::Types::DateUpdate }, optional: true, nullable: false
10
+ field :regions, -> { Candid::Contracts::V2::Types::RegionsUpdate }, optional: true, nullable: false
11
+ field :contract_status, -> { Candid::Contracts::V2::Types::ContractStatus }, optional: true, nullable: false
12
+ field :authorized_signatory, lambda {
13
+ Candid::Contracts::V2::Types::AuthorizedSignatoryUpdate
14
+ }, optional: true, nullable: false
15
+ field :commercial_insurance_types, lambda {
16
+ Candid::Contracts::V2::Types::InsuranceTypes
17
+ }, optional: true, nullable: false
18
+ field :medicare_insurance_types, lambda {
19
+ Candid::Contracts::V2::Types::InsuranceTypes
20
+ }, optional: true, nullable: false
21
+ field :medicaid_insurance_types, lambda {
22
+ Candid::Contracts::V2::Types::InsuranceTypes
23
+ }, optional: true, nullable: false
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Candid
4
+ module Contracts
5
+ module V3
6
+ module Types
7
+ class ContractUpdateUnion < Internal::Types::Model
8
+ extend Candid::Internal::Types::Union
9
+
10
+ discriminant :type
11
+
12
+ member -> { Candid::Contracts::V3::Types::ProfessionalContractUpdate }, key: "PROFESSIONAL"
13
+ member -> { Candid::Contracts::V3::Types::InstitutionalContractUpdate }, key: "INSTITUTIONAL"
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Candid
4
+ module Contracts
5
+ module V3
6
+ module Types
7
+ class ContractWithProvidersUnion < Internal::Types::Model
8
+ extend Candid::Internal::Types::Union
9
+
10
+ discriminant :type
11
+
12
+ member -> { Candid::Contracts::V3::Types::ProfessionalContract }, key: "PROFESSIONAL"
13
+ member -> { Candid::Contracts::V3::Types::InstitutionalContract }, key: "INSTITUTIONAL"
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Candid
4
+ module Contracts
5
+ module V3
6
+ module Types
7
+ class ContractsPage < Internal::Types::Model
8
+ field :items, lambda {
9
+ Internal::Types::Array[Candid::Contracts::V3::Types::ContractUnion]
10
+ }, optional: false, nullable: false
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Candid
4
+ module Contracts
5
+ module V3
6
+ module Types
7
+ class GetMultiContractsRequest < Internal::Types::Model
8
+ field :page_token, -> { String }, optional: true, nullable: false
9
+ field :limit, -> { Integer }, optional: true, nullable: false
10
+ field :type, -> { Candid::Contracts::V3::Types::ContractType }, optional: true, nullable: false
11
+ field :contracting_provider_id, -> { String }, optional: true, nullable: false
12
+ field :rendering_provider_ids, -> { String }, optional: true, nullable: false
13
+ field :payer_names, -> { String }, optional: true, nullable: false
14
+ field :states, -> { Candid::Commons::Types::State }, optional: true, nullable: false
15
+ field :contract_status, -> { Candid::Contracts::V2::Types::ContractStatus }, optional: true, nullable: false
16
+ field :sort, -> { Candid::Contracts::V2::Types::ContractSortField }, optional: true, nullable: false
17
+ field :sort_direction, -> { Candid::Commons::Types::SortDirection }, optional: true, nullable: false
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Candid
4
+ module Contracts
5
+ module V3
6
+ module Types
7
+ class InstitutionalContract < Internal::Types::Model
8
+ field :contract_service_facilities, lambda {
9
+ Internal::Types::Array[Candid::Contracts::V3::Types::ContractServiceFacility]
10
+ }, optional: false, nullable: false
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Candid
4
+ module Contracts
5
+ module V3
6
+ module Types
7
+ class InstitutionalContractCreate < Internal::Types::Model
8
+ field :contract_service_facilities, lambda {
9
+ Internal::Types::Array[Candid::Contracts::V3::Types::ContractServiceFacilityBase]
10
+ }, optional: false, nullable: false
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Candid
4
+ module Contracts
5
+ module V3
6
+ module Types
7
+ class InstitutionalContractUpdate < Internal::Types::Model
8
+ field :contract_service_facility_ids, -> { Internal::Types::Array[String] }, optional: true, nullable: false
9
+ end
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Candid
4
+ module Contracts
5
+ module V3
6
+ module Types
7
+ class ProfessionalContract < Internal::Types::Model
8
+ field :rendering_provider_ids, -> { Internal::Types::Array[String] }, optional: false, nullable: false
9
+ end
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Candid
4
+ module Contracts
5
+ module V3
6
+ module Types
7
+ class ProfessionalContractCreate < Internal::Types::Model
8
+ field :rendering_provider_ids, -> { Internal::Types::Array[String] }, optional: false, nullable: false
9
+ end
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Candid
4
+ module Contracts
5
+ module V3
6
+ module Types
7
+ class ProfessionalContractUpdate < Internal::Types::Model
8
+ field :rendering_provider_ids, -> { Internal::Types::Array[String] }, optional: true, nullable: false
9
+ end
10
+ end
11
+ end
12
+ end
13
+ end
@@ -20,6 +20,9 @@ module Candid
20
20
  field :provider_commercial_license_type, lambda {
21
21
  Candid::Commons::Types::BillingProviderCommercialLicenseType
22
22
  }, optional: true, nullable: false
23
+ field :secondary_identification, lambda {
24
+ Candid::EncounterProviders::V2::Types::ProviderSecondaryIdentification
25
+ }, optional: true, nullable: false
23
26
  end
24
27
  end
25
28
  end
@@ -20,6 +20,9 @@ module Candid
20
20
  field :provider_commercial_license_type, lambda {
21
21
  Candid::Commons::Types::BillingProviderCommercialLicenseType
22
22
  }, optional: true, nullable: false
23
+ field :secondary_identification, lambda {
24
+ Candid::EncounterProviders::V2::Types::ProviderSecondaryIdentification
25
+ }, optional: true, nullable: false
23
26
  end
24
27
  end
25
28
  end
@@ -21,6 +21,9 @@ module Candid
21
21
  field :provider_commercial_license_type, lambda {
22
22
  Candid::Commons::Types::BillingProviderCommercialLicenseType
23
23
  }, optional: true, nullable: false
24
+ field :secondary_identification, lambda {
25
+ Candid::EncounterProviders::V2::Types::ProviderSecondaryIdentification
26
+ }, optional: true, nullable: false
24
27
  end
25
28
  end
26
29
  end