candidhealth 1.14.3 → 1.17.2

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 (116) hide show
  1. checksums.yaml +4 -4
  2. data/lib/candid/claims/types/claim.rb +1 -1
  3. data/lib/candid/client.rb +7 -7
  4. data/lib/candid/commons/types/{http_service_unavailable_error_message.rb → bad_request_error_message.rb} +1 -1
  5. data/lib/candid/commons/types/claim_adjustment_group_codes.rb +22 -0
  6. data/lib/candid/commons/types/internal_error_message.rb +11 -0
  7. data/lib/candid/commons/types/procedure_modifier.rb +1 -0
  8. data/lib/candid/contracts/client.rb +5 -0
  9. data/lib/candid/contracts/v_2/client.rb +4 -0
  10. data/lib/candid/contracts/v_3/client.rb +176 -0
  11. data/lib/candid/contracts/v_3/types/contract.rb +18 -0
  12. data/lib/candid/contracts/v_3/types/contract_base.rb +28 -0
  13. data/lib/candid/contracts/v_3/types/contract_create.rb +15 -0
  14. data/lib/candid/contracts/v_3/types/contract_create_union.rb +18 -0
  15. data/lib/candid/contracts/v_3/types/contract_service_facility.rb +14 -0
  16. data/lib/candid/contracts/v_3/types/contract_service_facility_base.rb +14 -0
  17. data/lib/candid/contracts/v_3/types/contract_service_facility_create.rb +15 -0
  18. data/lib/candid/contracts/v_3/types/contract_service_facility_update.rb +16 -0
  19. data/lib/candid/contracts/v_3/types/contract_type.rb +16 -0
  20. data/lib/candid/contracts/v_3/types/contract_union.rb +18 -0
  21. data/lib/candid/contracts/v_3/types/contract_update.rb +28 -0
  22. data/lib/candid/contracts/v_3/types/contract_update_union.rb +18 -0
  23. data/lib/candid/contracts/v_3/types/contract_with_providers_union.rb +18 -0
  24. data/lib/candid/contracts/v_3/types/contracts_page.rb +15 -0
  25. data/lib/candid/contracts/v_3/types/get_multi_contracts_request.rb +22 -0
  26. data/lib/candid/contracts/v_3/types/institutional_contract.rb +15 -0
  27. data/lib/candid/contracts/v_3/types/institutional_contract_create.rb +15 -0
  28. data/lib/candid/contracts/v_3/types/institutional_contract_update.rb +13 -0
  29. data/lib/candid/contracts/v_3/types/professional_contract.rb +13 -0
  30. data/lib/candid/contracts/v_3/types/professional_contract_create.rb +13 -0
  31. data/lib/candid/contracts/v_3/types/professional_contract_update.rb +13 -0
  32. data/lib/candid/eligibility/v_2/client.rb +0 -38
  33. data/lib/candid/encounter_providers/v_2/types/billing_provider.rb +3 -0
  34. data/lib/candid/encounter_providers/v_2/types/billing_provider_update.rb +3 -0
  35. data/lib/candid/encounter_providers/v_2/types/billing_provider_update_with_optional_address.rb +3 -0
  36. data/lib/candid/encounter_providers/v_2/types/encounter_provider.rb +3 -0
  37. data/lib/candid/encounter_providers/v_2/types/provider_secondary_identification.rb +13 -0
  38. data/lib/candid/encounter_providers/v_2/types/rendering_provider.rb +3 -0
  39. data/lib/candid/encounter_providers/v_2/types/rendering_provider_update.rb +3 -0
  40. data/lib/candid/encounter_providers/v_2/types/rendering_provider_update_with_optional_address.rb +3 -0
  41. data/lib/candid/encounters/v_4/client.rb +15 -0
  42. data/lib/candid/encounters/v_4/types/encounter.rb +3 -0
  43. data/lib/candid/encounters/v_4/types/encounter_deep_optional.rb +3 -0
  44. data/lib/candid/encounters_universal/types/universal_encounter_create_base.rb +3 -0
  45. data/lib/candid/encounters_universal/types/universal_encounter_create_from_pre_encounter_base.rb +3 -0
  46. data/lib/candid/encounters_universal/types/universal_encounter_update_base.rb +3 -0
  47. data/lib/candid/{era → eras}/types/era.rb +1 -1
  48. data/lib/candid/{era → eras}/types/era_base.rb +1 -1
  49. data/lib/candid/{insurance_payments → events}/client.rb +3 -3
  50. data/lib/candid/{insurance_payments → events}/v_1/client.rb +11 -15
  51. data/lib/candid/events/v_1/types/event.rb +18 -0
  52. data/lib/candid/events/v_1/types/event_scan_page.rb +16 -0
  53. data/lib/candid/events/v_1/types/get_event_scan_request.rb +17 -0
  54. data/lib/candid/fee_schedules/v_3/client.rb +9 -1
  55. data/lib/candid/fee_schedules/v_3/types/payer_threshold.rb +6 -1
  56. data/lib/candid/financials/types/allocation_create.rb +1 -0
  57. data/lib/candid/financials/types/allocation_earmark_type.rb +19 -0
  58. data/lib/candid/insurance_adjudications/client.rb +17 -0
  59. data/lib/candid/{expected_network_status → insurance_adjudications}/v_1/client.rb +8 -9
  60. data/lib/candid/insurance_adjudications/v_1/types/claim_adjudication.rb +23 -0
  61. data/lib/candid/insurance_adjudications/v_1/types/insurance_adjudication.rb +21 -0
  62. data/lib/candid/insurance_adjudications/v_1/types/service_line_adjudication.rb +27 -0
  63. data/lib/candid/patient_ar/v_1/client.rb +0 -4
  64. data/lib/candid/patient_payments/v_4/types/card_payment_method.rb +11 -0
  65. data/lib/candid/patient_payments/v_4/types/cash_payment_method.rb +11 -0
  66. data/lib/candid/patient_payments/v_4/types/check_payment_method.rb +13 -0
  67. data/lib/candid/patient_payments/v_4/types/patient_payment.rb +3 -0
  68. data/lib/candid/patient_payments/v_4/types/payment_method.rb +19 -0
  69. data/lib/candid/patient_payments/v_4/types/payment_method_detail.rb +18 -0
  70. data/lib/candid/pre_encounter/eligibility_checks/v_1/types/eligibility_request.rb +2 -0
  71. data/lib/candid/related_causes_information/v_1/types/related_causes_code.rb +20 -0
  72. data/lib/candid/related_causes_information/v_1/types/related_causes_information.rb +19 -0
  73. data/lib/candid/related_causes_information/v_1/types/related_causes_information_create.rb +11 -0
  74. data/lib/candid/related_causes_information/v_1/types/related_causes_information_update.rb +11 -0
  75. data/lib/candid/service_lines/v_2/types/service_line.rb +2 -0
  76. data/lib/candid/service_lines/v_2/types/service_line_create_base_base.rb +2 -0
  77. data/lib/candid/service_lines/v_2/types/service_line_create_optional.rb +2 -0
  78. data/lib/candid/service_lines/v_2/types/service_line_create_standalone.rb +2 -0
  79. data/lib/candid/service_lines/v_2/types/service_line_update_base.rb +2 -0
  80. data/lib/candid/service_lines/v_2/types/test_result_type.rb +1 -0
  81. data/lib/candid/service_lines/v_2/types/universal_service_line_create_standalone.rb +2 -0
  82. data/lib/candid/version.rb +1 -1
  83. data/lib/candid/x_12/v_1/types/carc.rb +418 -0
  84. data/lib/candid/x_12/v_1/types/claim_adjustment_reason_code.rb +15 -0
  85. data/lib/candid/x_12/v_1/types/rarc.rb +1201 -0
  86. data/lib/candid/x_12/v_1/types/remittance_advice_remark_code.rb +13 -0
  87. data/lib/candid.rb +53 -34
  88. data/reference.md +515 -363
  89. metadata +53 -34
  90. data/lib/candid/expected_network_status/client.rb +0 -22
  91. data/lib/candid/expected_network_status/v_1/types/expected_network_status.rb +0 -17
  92. data/lib/candid/expected_network_status/v_1/types/expected_network_status_request.rb +0 -24
  93. data/lib/candid/expected_network_status/v_1/types/expected_network_status_response.rb +0 -17
  94. data/lib/candid/expected_network_status/v_2/client.rb +0 -66
  95. data/lib/candid/expected_network_status/v_2/types/compute_all_in_network_providers_request.rb +0 -25
  96. data/lib/candid/expected_network_status/v_2/types/compute_all_in_network_providers_response.rb +0 -16
  97. data/lib/candid/expected_network_status/v_2/types/compute_all_in_network_rendering_providers_result.rb +0 -21
  98. data/lib/candid/expected_network_status/v_2/types/empty_object.rb +0 -11
  99. data/lib/candid/expected_network_status/v_2/types/expected_network_status_check_error_message.rb +0 -13
  100. data/lib/candid/expected_network_status/v_2/types/expected_network_status_request_v_2.rb +0 -25
  101. data/lib/candid/expected_network_status/v_2/types/expected_network_status_response_v_2.rb +0 -16
  102. data/lib/candid/expected_network_status/v_2/types/expected_network_status_subscriber_information.rb +0 -17
  103. data/lib/candid/expected_network_status/v_2/types/expected_network_status_v_2.rb +0 -19
  104. data/lib/candid/expected_network_status/v_2/types/explanation.rb +0 -22
  105. data/lib/candid/expected_network_status/v_2/types/in_network_rendering_providers_detail.rb +0 -15
  106. data/lib/candid/expected_network_status/v_2/types/in_network_status.rb +0 -14
  107. data/lib/candid/expected_network_status/v_2/types/indeterminate_network_status.rb +0 -18
  108. data/lib/candid/expected_network_status/v_2/types/insurance_type.rb +0 -18
  109. data/lib/candid/expected_network_status/v_2/types/insurance_type_codes.rb +0 -19
  110. data/lib/candid/expected_network_status/v_2/types/line_of_business.rb +0 -17
  111. data/lib/candid/expected_network_status/v_2/types/out_of_network_status.rb +0 -17
  112. data/lib/candid/expected_network_status/v_2/types/service_type.rb +0 -55
  113. data/lib/candid/insurance_payments/v_1/types/get_multi_insurance_payment_request.rb +0 -22
  114. data/lib/candid/insurance_payments/v_1/types/insurance_payment.rb +0 -20
  115. data/lib/candid/insurance_payments/v_1/types/insurance_payment_sort_field.rb +0 -17
  116. 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: 268d3b96d7ce14f8e3840b82f54c75b1afc4bde41f18354051decfe45df5148d
4
- data.tar.gz: 36241f5cddbc999ac0eba9f5dd1801e8b7dd9c3231e314c02eb35f1716a4b58f
3
+ metadata.gz: f3eb7a40db31098feb00087d7c723d1b7591fab773c2be2888a91ddf1d0c184a
4
+ data.tar.gz: 5d0364b74a509eef5b7a086469c27db74579f2fd31bec58a24465a8b7317e51e
5
5
  SHA512:
6
- metadata.gz: 155a2fa0a4949376abeae7eba3a23eba05d7045bbe5e7750735d3f8157f16c120ba39699b70d36e57470c18128972339eed83c441cbbdd8e45d41a4f117bf01a
7
- data.tar.gz: e465f77c8c2a235a285e5f0b5f1d1d660b8f7e176b948e8eb8b70e86239b8e70fc05f35c74b958efcefe7aeb283d48a4972b2b1e4b0f4450a3d7efdd65eedc4c
6
+ metadata.gz: 864a5f17ec17836105e54c80a340bd95f052550684e4dd00998b1778b9c9d42b59e365725ddd622401433affa3b44a24ecc07ea166948024a4e3c1dced864433
7
+ data.tar.gz: be0a035e096169ccc7bff6a2fb7ba5580ceb8e90d0b3e981b6cfa2ae077c8194b3d4db409101008985422cbba109d55bc593759e70627948df72daa4661ed444
@@ -13,7 +13,7 @@ module Candid
13
13
  field :service_lines, lambda {
14
14
  Internal::Types::Array[Candid::ServiceLines::V2::Types::ServiceLine]
15
15
  }, optional: false, nullable: false
16
- field :eras, -> { Internal::Types::Array[Candid::Era::Types::Era] }, optional: false, nullable: false
16
+ field :eras, -> { Internal::Types::Array[Candid::Eras::Types::Era] }, optional: false, nullable: false
17
17
  end
18
18
  end
19
19
  end
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.14.3",
10
+ "User-Agent": "candidhealth/1.17.2",
11
11
  "X-Fern-Language": "Ruby"
12
12
  }
13
13
  )
@@ -73,9 +73,9 @@ module Candid
73
73
  @encounters ||= Candid::Encounters::Client.new(client: @raw_client)
74
74
  end
75
75
 
76
- # @return [Candid::ExpectedNetworkStatus::Client]
77
- def expected_network_status
78
- @expected_network_status ||= Candid::ExpectedNetworkStatus::Client.new(client: @raw_client)
76
+ # @return [Candid::Events::Client]
77
+ def events
78
+ @events ||= Candid::Events::Client.new(client: @raw_client)
79
79
  end
80
80
 
81
81
  # @return [Candid::Exports::Client]
@@ -108,9 +108,9 @@ module Candid
108
108
  @import_invoice ||= Candid::ImportInvoice::Client.new(client: @raw_client)
109
109
  end
110
110
 
111
- # @return [Candid::InsurancePayments::Client]
112
- def insurance_payments
113
- @insurance_payments ||= Candid::InsurancePayments::Client.new(client: @raw_client)
111
+ # @return [Candid::InsuranceAdjudications::Client]
112
+ def insurance_adjudications
113
+ @insurance_adjudications ||= Candid::InsuranceAdjudications::Client.new(client: @raw_client)
114
114
  end
115
115
 
116
116
  # @return [Candid::InsuranceRefunds::Client]
@@ -3,7 +3,7 @@
3
3
  module Candid
4
4
  module Commons
5
5
  module Types
6
- class HttpServiceUnavailableErrorMessage < Internal::Types::Model
6
+ class BadRequestErrorMessage < Internal::Types::Model
7
7
  field :message, -> { String }, optional: true, nullable: false
8
8
  end
9
9
  end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Candid
4
+ module Commons
5
+ module Types
6
+ module ClaimAdjustmentGroupCodes
7
+ extend Candid::Internal::Types::Enum
8
+
9
+ CO = "CO"
10
+ CR = "CR"
11
+ DE = "DE"
12
+ MA = "MA"
13
+ OA = "OA"
14
+ PI = "PI"
15
+ PR = "PR"
16
+ RR = "RR"
17
+ NC = "NC"
18
+ UNKNOWN = "UNKNOWN"
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Candid
4
+ module Commons
5
+ module Types
6
+ class InternalErrorMessage < Internal::Types::Model
7
+ field :message, -> { String }, optional: true, nullable: false
8
+ end
9
+ end
10
+ end
11
+ end
@@ -417,6 +417,7 @@ module Candid
417
417
  XS = "XS"
418
418
  XU = "XU"
419
419
  XY = "XY"
420
+ ZZ = "ZZ"
420
421
  end
421
422
  end
422
423
  end
@@ -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