candidhealth 1.5.0 → 1.7.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 (78) hide show
  1. checksums.yaml +4 -4
  2. data/lib/candidhealth/auth/default/client.rb +46 -0
  3. data/lib/candidhealth/credentialing/v_2/client.rb +342 -8
  4. data/lib/candidhealth/credentialing/v_2/types/base_credentialing_span.rb +143 -0
  5. data/lib/candidhealth/credentialing/v_2/types/facility_credentialing_span.rb +165 -0
  6. data/lib/candidhealth/credentialing/v_2/types/facility_credentialing_span_page.rb +88 -0
  7. data/lib/candidhealth/credentialing/v_2/types/provider_credentialing_span.rb +34 -34
  8. data/lib/candidhealth/health_care_code_information/client.rb +30 -0
  9. data/lib/candidhealth/health_care_code_information/v_1/client.rb +268 -0
  10. data/lib/candidhealth/health_care_code_information/v_1/types/admitting_diagnosis.rb +236 -0
  11. data/lib/candidhealth/health_care_code_information/v_1/types/admitting_diagnosis_code_qualifier.rb +14 -0
  12. data/lib/candidhealth/health_care_code_information/v_1/types/code_list_qualifier_code.rb +1068 -0
  13. data/lib/candidhealth/health_care_code_information/v_1/types/condition_code.rb +71 -0
  14. data/lib/candidhealth/health_care_code_information/v_1/types/condition_information.rb +237 -0
  15. data/lib/candidhealth/health_care_code_information/v_1/types/condition_information_code_qualifier.rb +13 -0
  16. data/lib/candidhealth/health_care_code_information/v_1/types/date_time_period_format_qualifier.rb +54 -0
  17. data/lib/candidhealth/health_care_code_information/v_1/types/diagnosis_related_group.rb +236 -0
  18. data/lib/candidhealth/health_care_code_information/v_1/types/diagnosis_related_group_code_qualifier.rb +13 -0
  19. data/lib/candidhealth/health_care_code_information/v_1/types/external_cause_of_injury.rb +245 -0
  20. data/lib/candidhealth/health_care_code_information/v_1/types/external_cause_of_injury_code_qualifier.rb +14 -0
  21. data/lib/candidhealth/health_care_code_information/v_1/types/health_care_code_information.rb +218 -0
  22. data/lib/candidhealth/health_care_code_information/v_1/types/health_care_code_information_get_all_response.rb +227 -0
  23. data/lib/candidhealth/health_care_code_information/v_1/types/health_care_code_information_new.rb +188 -0
  24. data/lib/candidhealth/health_care_code_information/v_1/types/health_care_code_information_update.rb +225 -0
  25. data/lib/candidhealth/health_care_code_information/v_1/types/occurrence_code.rb +71 -0
  26. data/lib/candidhealth/health_care_code_information/v_1/types/occurrence_information.rb +249 -0
  27. data/lib/candidhealth/health_care_code_information/v_1/types/occurrence_information_code_qualifier.rb +13 -0
  28. data/lib/candidhealth/health_care_code_information/v_1/types/occurrence_span_code.rb +25 -0
  29. data/lib/candidhealth/health_care_code_information/v_1/types/occurrence_span_code_qualifier.rb +13 -0
  30. data/lib/candidhealth/health_care_code_information/v_1/types/occurrence_span_information.rb +252 -0
  31. data/lib/candidhealth/health_care_code_information/v_1/types/other_diagnosis_information.rb +245 -0
  32. data/lib/candidhealth/health_care_code_information/v_1/types/other_diagnosis_information_code_qualifier.rb +14 -0
  33. data/lib/candidhealth/health_care_code_information/v_1/types/other_procedure_information.rb +248 -0
  34. data/lib/candidhealth/health_care_code_information/v_1/types/other_procedure_information_code_qualifier.rb +14 -0
  35. data/lib/candidhealth/health_care_code_information/v_1/types/patient_reason_for_visit.rb +236 -0
  36. data/lib/candidhealth/health_care_code_information/v_1/types/patient_reason_for_visit_code_qualifier.rb +14 -0
  37. data/lib/candidhealth/health_care_code_information/v_1/types/present_on_admission_indicator_code.rb +17 -0
  38. data/lib/candidhealth/health_care_code_information/v_1/types/principal_diagnosis.rb +245 -0
  39. data/lib/candidhealth/health_care_code_information/v_1/types/principal_diagnosis_code_qualifier.rb +14 -0
  40. data/lib/candidhealth/health_care_code_information/v_1/types/principal_procedure_information.rb +246 -0
  41. data/lib/candidhealth/health_care_code_information/v_1/types/principal_procedure_information_code_qualifier.rb +15 -0
  42. data/lib/candidhealth/health_care_code_information/v_1/types/rd_8_date.rb +72 -0
  43. data/lib/candidhealth/health_care_code_information/v_1/types/set_or_clear_admitting_diagnosis.rb +69 -0
  44. data/lib/candidhealth/health_care_code_information/v_1/types/set_or_clear_diagnosis_related_group.rb +69 -0
  45. data/lib/candidhealth/health_care_code_information/v_1/types/set_or_clear_principal_diagnosis.rb +69 -0
  46. data/lib/candidhealth/health_care_code_information/v_1/types/set_or_clear_principal_procedure_information.rb +71 -0
  47. data/lib/candidhealth/health_care_code_information/v_1/types/treatment_code_information.rb +236 -0
  48. data/lib/candidhealth/health_care_code_information/v_1/types/treatment_code_qualifier.rb +13 -0
  49. data/lib/candidhealth/health_care_code_information/v_1/types/value_code.rb +119 -0
  50. data/lib/candidhealth/health_care_code_information/v_1/types/value_code_qualifier.rb +13 -0
  51. data/lib/candidhealth/health_care_code_information/v_1/types/value_information.rb +245 -0
  52. data/lib/candidhealth/patient_ar/client.rb +30 -0
  53. data/lib/candidhealth/patient_ar/v_1/client.rb +161 -0
  54. data/lib/candidhealth/patient_ar/v_1/types/insurance_adjustment_info.rb +60 -0
  55. data/lib/candidhealth/patient_ar/v_1/types/insurance_payment_info.rb +60 -0
  56. data/lib/candidhealth/patient_ar/v_1/types/invalid_filters_error_type.rb +60 -0
  57. data/lib/candidhealth/patient_ar/v_1/types/inventory_record.rb +101 -0
  58. data/lib/candidhealth/patient_ar/v_1/types/invoice_itemization_response.rb +103 -0
  59. data/lib/candidhealth/patient_ar/v_1/types/list_inventory_paged_response.rb +77 -0
  60. data/lib/candidhealth/patient_ar/v_1/types/non_insurance_adjustment_info.rb +60 -0
  61. data/lib/candidhealth/patient_ar/v_1/types/non_insurance_payment_info.rb +60 -0
  62. data/lib/candidhealth/patient_ar/v_1/types/patient_adjustment_info.rb +60 -0
  63. data/lib/candidhealth/patient_ar/v_1/types/patient_ar_status.rb +14 -0
  64. data/lib/candidhealth/patient_ar/v_1/types/patient_payment_allocation.rb +76 -0
  65. data/lib/candidhealth/patient_ar/v_1/types/patient_payment_info.rb +75 -0
  66. data/lib/candidhealth/patient_ar/v_1/types/service_line_itemization.rb +210 -0
  67. data/lib/candidhealth/pre_encounter/patients/v_1/client.rb +132 -0
  68. data/lib/candidhealth/pre_encounter/patients/v_1/types/mutable_patient.rb +16 -2
  69. data/lib/candidhealth/pre_encounter/patients/v_1/types/mutable_patient_with_mrn.rb +16 -2
  70. data/lib/candidhealth/pre_encounter/patients/v_1/types/origination_detail.rb +104 -0
  71. data/lib/candidhealth/pre_encounter/patients/v_1/types/patient.rb +16 -2
  72. data/lib/candidhealth/pre_encounter/patients/v_1/types/referral_source.rb +18 -0
  73. data/lib/candidhealth/pre_encounter/patients/v_1/types/referral_type.rb +16 -0
  74. data/lib/candidhealth/pre_encounter/patients/v_1/types/specialization_category.rb +42 -0
  75. data/lib/candidhealth.rb +21 -7
  76. data/lib/requests.rb +2 -2
  77. data/lib/types_export.rb +72 -9
  78. metadata +68 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d72d7bfcb8477ee8b0f31ec08c51e60cb99f18a21d01a5c3a8cc7f2d57aca260
4
- data.tar.gz: 824d37aa00e5f6f5e8a43c3b19fb5afcf9b30c61fad635239e71fbf21b6f7d3a
3
+ metadata.gz: 641a2130fcb9bef954b62a76d54487929955f1fcb064567a412b515fd8eff879
4
+ data.tar.gz: 57509f499ae0e0cdb0a315da79a88e42a7748c827fd84e109982b51a9f1ab811
5
5
  SHA512:
6
- metadata.gz: 9144d2b91055c1f11e4e10bfea25978867573ded3ad77b69dcfbce221df8815e723da3d0c26424d6df9dbbb102ecc3007785e0a0ea54834516e0257008c6fd40
7
- data.tar.gz: dec4f6f806b1c1173174f2f3a8b3b96fa8fa6f32aae46a1c3b3a1a3cbdf00b171334350bbad4b66d67590920123775ae372542adcfb684980ab84e064d7c34a6
6
+ metadata.gz: e0929c7dab0c8a1d1289345e095981fe331e337c587652cf26ffce2cc9fd4b673a5a767521898098b2161fffd4432da7b2cc2af3f9e2e71fdeb5b39178619ea3
7
+ data.tar.gz: 1f2f3cf79efae4a09ea0c87f09a3a18804fd481f139bc31e2144cf7cfb62008a9ea42b655f4e812bba1c743a9662e989b3d6fe36f6e9bfda3126876c9c3bb5d6
@@ -83,6 +83,28 @@ module CandidApiClient
83
83
  end
84
84
  CandidApiClient::Auth::Default::Types::AuthGetTokenResponse.from_json(json_object: response.body)
85
85
  end
86
+
87
+ # @param org_id [String] Organization ID to generate token for.
88
+ # @param request_options [CandidApiClient::RequestOptions]
89
+ # @return [CandidApiClient::Auth::Default::Types::AuthGetTokenResponse]
90
+ # @example
91
+ # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
92
+ # api.auth.default.get_machine_token_for_org_id(org_id: "org_id")
93
+ def get_machine_token_for_org_id(org_id:, request_options: nil)
94
+ response = @request_client.conn.post do |req|
95
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
96
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
97
+ req.headers = {
98
+ **(req.headers || {}),
99
+ **@request_client.get_headers,
100
+ **(request_options&.additional_headers || {})
101
+ }.compact
102
+ req.body = { **(request_options&.additional_body_parameters || {}), org_id: org_id }.compact
103
+ req.url "#{@request_client.get_url(environment: CandidApi,
104
+ request_options: request_options)}/api/auth/v2/machine-token-for-org-id"
105
+ end
106
+ CandidApiClient::Auth::Default::Types::AuthGetTokenResponse.from_json(json_object: response.body)
107
+ end
86
108
  end
87
109
 
88
110
  class AsyncDefaultClient
@@ -163,6 +185,30 @@ module CandidApiClient
163
185
  CandidApiClient::Auth::Default::Types::AuthGetTokenResponse.from_json(json_object: response.body)
164
186
  end
165
187
  end
188
+
189
+ # @param org_id [String] Organization ID to generate token for.
190
+ # @param request_options [CandidApiClient::RequestOptions]
191
+ # @return [CandidApiClient::Auth::Default::Types::AuthGetTokenResponse]
192
+ # @example
193
+ # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
194
+ # api.auth.default.get_machine_token_for_org_id(org_id: "org_id")
195
+ def get_machine_token_for_org_id(org_id:, request_options: nil)
196
+ Async do
197
+ response = @request_client.conn.post do |req|
198
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
199
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
200
+ req.headers = {
201
+ **(req.headers || {}),
202
+ **@request_client.get_headers,
203
+ **(request_options&.additional_headers || {})
204
+ }.compact
205
+ req.body = { **(request_options&.additional_body_parameters || {}), org_id: org_id }.compact
206
+ req.url "#{@request_client.get_url(environment: CandidApi,
207
+ request_options: request_options)}/api/auth/v2/machine-token-for-org-id"
208
+ end
209
+ CandidApiClient::Auth::Default::Types::AuthGetTokenResponse.from_json(json_object: response.body)
210
+ end
211
+ end
166
212
  end
167
213
  end
168
214
  end
@@ -2,6 +2,8 @@
2
2
 
3
3
  require_relative "../../../requests"
4
4
  require "date"
5
+ require_relative "types/facility_credentialing_span"
6
+ require_relative "types/facility_credentialing_span_page"
5
7
  require_relative "../../commons/types/regions"
6
8
  require_relative "types/provider_credentialing_span"
7
9
  require_relative "types/provider_credentialing_span_page"
@@ -20,9 +22,170 @@ module CandidApiClient
20
22
  @request_client = request_client
21
23
  end
22
24
 
25
+ # @param service_facility_id [String] The ID of the service facility covered by the credentialing span.
26
+ # @param contracting_provider_id [String] The ID of the billing provider for which the service facility is covered by the
27
+ # credentialing span.
28
+ # @param payer_uuid [String] The ID of the payer covered by the credentialing span.
29
+ # @param start_date [Date] Start date of the credentialing span.
30
+ # @param end_date [Date] End date of the credentialing span.
31
+ # @param submitted_date [Date] Date that the credential paperwork was submitted.
32
+ # @param payer_loaded_date [Date] Date that the payer loaded the credentialing span into their system.
33
+ # @param request_options [CandidApiClient::RequestOptions]
34
+ # @return [CandidApiClient::Credentialing::V2::Types::FacilityCredentialingSpan]
35
+ # @example
36
+ # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
37
+ # api.credentialing.v_2.create_facility(
38
+ # service_facility_id: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32",
39
+ # contracting_provider_id: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32",
40
+ # payer_uuid: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32"
41
+ # )
42
+ def create_facility(service_facility_id:, contracting_provider_id:, payer_uuid:, start_date: nil,
43
+ end_date: nil, submitted_date: nil, payer_loaded_date: nil, request_options: nil)
44
+ response = @request_client.conn.post do |req|
45
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
46
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
47
+ req.headers = {
48
+ **(req.headers || {}),
49
+ **@request_client.get_headers,
50
+ **(request_options&.additional_headers || {})
51
+ }.compact
52
+ req.body = {
53
+ **(request_options&.additional_body_parameters || {}),
54
+ service_facility_id: service_facility_id,
55
+ contracting_provider_id: contracting_provider_id,
56
+ payer_uuid: payer_uuid,
57
+ start_date: start_date,
58
+ end_date: end_date,
59
+ submitted_date: submitted_date,
60
+ payer_loaded_date: payer_loaded_date
61
+ }.compact
62
+ req.url "#{@request_client.get_url(environment: CandidApi,
63
+ request_options: request_options)}/api/provider-credentialing-span/v2/facility"
64
+ end
65
+ CandidApiClient::Credentialing::V2::Types::FacilityCredentialingSpan.from_json(json_object: response.body)
66
+ end
67
+
68
+ # @param facility_credentialing_id [String]
69
+ # @param request_options [CandidApiClient::RequestOptions]
70
+ # @return [CandidApiClient::Credentialing::V2::Types::FacilityCredentialingSpan]
71
+ # @example
72
+ # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
73
+ # api.credentialing.v_2.get_facility(facility_credentialing_id: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32")
74
+ def get_facility(facility_credentialing_id:, request_options: nil)
75
+ response = @request_client.conn.get do |req|
76
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
77
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
78
+ req.headers = {
79
+ **(req.headers || {}),
80
+ **@request_client.get_headers,
81
+ **(request_options&.additional_headers || {})
82
+ }.compact
83
+ req.url "#{@request_client.get_url(environment: CandidApi,
84
+ request_options: request_options)}/api/provider-credentialing-span/v2/facility/#{facility_credentialing_id}"
85
+ end
86
+ CandidApiClient::Credentialing::V2::Types::FacilityCredentialingSpan.from_json(json_object: response.body)
87
+ end
88
+
89
+ # @param limit [Integer] Maximum number of entities per page, defaults to 100.
90
+ # @param page_token [String]
91
+ # @param payer_uuid [String] Filter by payer.
92
+ # @param contracting_provider_id [String] Filter to a particular contracting provider.
93
+ # @param service_facility_id [String] Filter to a particular service facility.
94
+ # @param request_options [CandidApiClient::RequestOptions]
95
+ # @return [CandidApiClient::Credentialing::V2::Types::FacilityCredentialingSpanPage]
96
+ # @example
97
+ # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
98
+ # api.credentialing.v_2.get_all_facilities
99
+ def get_all_facilities(limit: nil, page_token: nil, payer_uuid: nil, contracting_provider_id: nil,
100
+ service_facility_id: nil, request_options: nil)
101
+ response = @request_client.conn.get do |req|
102
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
103
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
104
+ req.headers = {
105
+ **(req.headers || {}),
106
+ **@request_client.get_headers,
107
+ **(request_options&.additional_headers || {})
108
+ }.compact
109
+ req.params = {
110
+ **(request_options&.additional_query_parameters || {}),
111
+ "limit": limit,
112
+ "page_token": page_token,
113
+ "payer_uuid": payer_uuid,
114
+ "contracting_provider_id": contracting_provider_id,
115
+ "service_facility_id": service_facility_id
116
+ }.compact
117
+ req.url "#{@request_client.get_url(environment: CandidApi,
118
+ request_options: request_options)}/api/provider-credentialing-span/v2/facility"
119
+ end
120
+ CandidApiClient::Credentialing::V2::Types::FacilityCredentialingSpanPage.from_json(json_object: response.body)
121
+ end
122
+
123
+ # Soft deletes a credentialing span rate from the system.
124
+ #
125
+ # @param facility_credentialing_id [String]
126
+ # @param request_options [CandidApiClient::RequestOptions]
127
+ # @return [Void]
128
+ # @example
129
+ # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
130
+ # api.credentialing.v_2.delete_facility(facility_credentialing_id: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32")
131
+ def delete_facility(facility_credentialing_id:, request_options: nil)
132
+ @request_client.conn.delete do |req|
133
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
134
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
135
+ req.headers = {
136
+ **(req.headers || {}),
137
+ **@request_client.get_headers,
138
+ **(request_options&.additional_headers || {})
139
+ }.compact
140
+ req.url "#{@request_client.get_url(environment: CandidApi,
141
+ request_options: request_options)}/api/provider-credentialing-span/v2/facility/#{facility_credentialing_id}"
142
+ end
143
+ end
144
+
145
+ # @param facility_credentialing_id [String]
146
+ # @param contracting_provider_id [String] The ID of the billing provider for which the service facility is covered by the
147
+ # credentialing span.
148
+ # @param payer_uuid [String] The ID of the payer doing the credentialing.
149
+ # @param start_date [Date] Start date of the credentialing span.
150
+ # @param end_date [Date] End date of the credentialing span.
151
+ # @param regions [CandidApiClient::Commons::Types::Regions] The states covered by the credentialing span. A span may be national and cover
152
+ # all states.
153
+ # @param submitted_date [Date] Date that the credential paperwork was submitted.
154
+ # @param payer_loaded_date [Date] Date that the payer loaded the credentialing span into their system.
155
+ # @param request_options [CandidApiClient::RequestOptions]
156
+ # @return [CandidApiClient::Credentialing::V2::Types::FacilityCredentialingSpan]
157
+ # @example
158
+ # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
159
+ # api.credentialing.v_2.update_facility(facility_credentialing_id: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", contracting_provider_id: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32")
160
+ def update_facility(facility_credentialing_id:, contracting_provider_id:, payer_uuid: nil, start_date: nil,
161
+ end_date: nil, regions: nil, submitted_date: nil, payer_loaded_date: nil, request_options: nil)
162
+ response = @request_client.conn.patch do |req|
163
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
164
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
165
+ req.headers = {
166
+ **(req.headers || {}),
167
+ **@request_client.get_headers,
168
+ **(request_options&.additional_headers || {})
169
+ }.compact
170
+ req.body = {
171
+ **(request_options&.additional_body_parameters || {}),
172
+ contracting_provider_id: contracting_provider_id,
173
+ payer_uuid: payer_uuid,
174
+ start_date: start_date,
175
+ end_date: end_date,
176
+ regions: regions,
177
+ submitted_date: submitted_date,
178
+ payer_loaded_date: payer_loaded_date
179
+ }.compact
180
+ req.url "#{@request_client.get_url(environment: CandidApi,
181
+ request_options: request_options)}/api/provider-credentialing-span/v2/facility/#{facility_credentialing_id}"
182
+ end
183
+ CandidApiClient::Credentialing::V2::Types::FacilityCredentialingSpan.from_json(json_object: response.body)
184
+ end
185
+
23
186
  # @param rendering_provider_id [String] The ID of the rendering provider covered by the credentialing span.
24
- # @param contracting_provider_id [String] The ID of the practice location at which the rendering provider is covered by
25
- # the credentialing span.
187
+ # @param contracting_provider_id [String] The ID of the billing provider for which the service facility is covered by the
188
+ # credentialing span.
26
189
  # @param payer_uuid [String] The ID of the payer covered by the credentialing span.
27
190
  # @param start_date [Date] Start date of the credentialing span.
28
191
  # @param end_date [Date] End date of the credentialing span.
@@ -149,8 +312,8 @@ module CandidApiClient
149
312
  end
150
313
 
151
314
  # @param provider_credentialing_id [String]
152
- # @param contracting_provider_id [String] The ID of the practice location at which the rendering provider is covered by
153
- # the credentialing span.
315
+ # @param contracting_provider_id [String] The ID of the billing provider for which the service facility is covered by the
316
+ # credentialing span.
154
317
  # @param payer_uuid [String] The ID of the payer doing the credentialing.
155
318
  # @param start_date [Date] Start date of the credentialing span.
156
319
  # @param end_date [Date] End date of the credentialing span.
@@ -200,9 +363,180 @@ module CandidApiClient
200
363
  @request_client = request_client
201
364
  end
202
365
 
366
+ # @param service_facility_id [String] The ID of the service facility covered by the credentialing span.
367
+ # @param contracting_provider_id [String] The ID of the billing provider for which the service facility is covered by the
368
+ # credentialing span.
369
+ # @param payer_uuid [String] The ID of the payer covered by the credentialing span.
370
+ # @param start_date [Date] Start date of the credentialing span.
371
+ # @param end_date [Date] End date of the credentialing span.
372
+ # @param submitted_date [Date] Date that the credential paperwork was submitted.
373
+ # @param payer_loaded_date [Date] Date that the payer loaded the credentialing span into their system.
374
+ # @param request_options [CandidApiClient::RequestOptions]
375
+ # @return [CandidApiClient::Credentialing::V2::Types::FacilityCredentialingSpan]
376
+ # @example
377
+ # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
378
+ # api.credentialing.v_2.create_facility(
379
+ # service_facility_id: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32",
380
+ # contracting_provider_id: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32",
381
+ # payer_uuid: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32"
382
+ # )
383
+ def create_facility(service_facility_id:, contracting_provider_id:, payer_uuid:, start_date: nil,
384
+ end_date: nil, submitted_date: nil, payer_loaded_date: nil, request_options: nil)
385
+ Async do
386
+ response = @request_client.conn.post do |req|
387
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
388
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
389
+ req.headers = {
390
+ **(req.headers || {}),
391
+ **@request_client.get_headers,
392
+ **(request_options&.additional_headers || {})
393
+ }.compact
394
+ req.body = {
395
+ **(request_options&.additional_body_parameters || {}),
396
+ service_facility_id: service_facility_id,
397
+ contracting_provider_id: contracting_provider_id,
398
+ payer_uuid: payer_uuid,
399
+ start_date: start_date,
400
+ end_date: end_date,
401
+ submitted_date: submitted_date,
402
+ payer_loaded_date: payer_loaded_date
403
+ }.compact
404
+ req.url "#{@request_client.get_url(environment: CandidApi,
405
+ request_options: request_options)}/api/provider-credentialing-span/v2/facility"
406
+ end
407
+ CandidApiClient::Credentialing::V2::Types::FacilityCredentialingSpan.from_json(json_object: response.body)
408
+ end
409
+ end
410
+
411
+ # @param facility_credentialing_id [String]
412
+ # @param request_options [CandidApiClient::RequestOptions]
413
+ # @return [CandidApiClient::Credentialing::V2::Types::FacilityCredentialingSpan]
414
+ # @example
415
+ # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
416
+ # api.credentialing.v_2.get_facility(facility_credentialing_id: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32")
417
+ def get_facility(facility_credentialing_id:, request_options: nil)
418
+ Async do
419
+ response = @request_client.conn.get do |req|
420
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
421
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
422
+ req.headers = {
423
+ **(req.headers || {}),
424
+ **@request_client.get_headers,
425
+ **(request_options&.additional_headers || {})
426
+ }.compact
427
+ req.url "#{@request_client.get_url(environment: CandidApi,
428
+ request_options: request_options)}/api/provider-credentialing-span/v2/facility/#{facility_credentialing_id}"
429
+ end
430
+ CandidApiClient::Credentialing::V2::Types::FacilityCredentialingSpan.from_json(json_object: response.body)
431
+ end
432
+ end
433
+
434
+ # @param limit [Integer] Maximum number of entities per page, defaults to 100.
435
+ # @param page_token [String]
436
+ # @param payer_uuid [String] Filter by payer.
437
+ # @param contracting_provider_id [String] Filter to a particular contracting provider.
438
+ # @param service_facility_id [String] Filter to a particular service facility.
439
+ # @param request_options [CandidApiClient::RequestOptions]
440
+ # @return [CandidApiClient::Credentialing::V2::Types::FacilityCredentialingSpanPage]
441
+ # @example
442
+ # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
443
+ # api.credentialing.v_2.get_all_facilities
444
+ def get_all_facilities(limit: nil, page_token: nil, payer_uuid: nil, contracting_provider_id: nil,
445
+ service_facility_id: nil, request_options: nil)
446
+ Async do
447
+ response = @request_client.conn.get do |req|
448
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
449
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
450
+ req.headers = {
451
+ **(req.headers || {}),
452
+ **@request_client.get_headers,
453
+ **(request_options&.additional_headers || {})
454
+ }.compact
455
+ req.params = {
456
+ **(request_options&.additional_query_parameters || {}),
457
+ "limit": limit,
458
+ "page_token": page_token,
459
+ "payer_uuid": payer_uuid,
460
+ "contracting_provider_id": contracting_provider_id,
461
+ "service_facility_id": service_facility_id
462
+ }.compact
463
+ req.url "#{@request_client.get_url(environment: CandidApi,
464
+ request_options: request_options)}/api/provider-credentialing-span/v2/facility"
465
+ end
466
+ CandidApiClient::Credentialing::V2::Types::FacilityCredentialingSpanPage.from_json(json_object: response.body)
467
+ end
468
+ end
469
+
470
+ # Soft deletes a credentialing span rate from the system.
471
+ #
472
+ # @param facility_credentialing_id [String]
473
+ # @param request_options [CandidApiClient::RequestOptions]
474
+ # @return [Void]
475
+ # @example
476
+ # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
477
+ # api.credentialing.v_2.delete_facility(facility_credentialing_id: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32")
478
+ def delete_facility(facility_credentialing_id:, request_options: nil)
479
+ Async do
480
+ @request_client.conn.delete do |req|
481
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
482
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
483
+ req.headers = {
484
+ **(req.headers || {}),
485
+ **@request_client.get_headers,
486
+ **(request_options&.additional_headers || {})
487
+ }.compact
488
+ req.url "#{@request_client.get_url(environment: CandidApi,
489
+ request_options: request_options)}/api/provider-credentialing-span/v2/facility/#{facility_credentialing_id}"
490
+ end
491
+ end
492
+ end
493
+
494
+ # @param facility_credentialing_id [String]
495
+ # @param contracting_provider_id [String] The ID of the billing provider for which the service facility is covered by the
496
+ # credentialing span.
497
+ # @param payer_uuid [String] The ID of the payer doing the credentialing.
498
+ # @param start_date [Date] Start date of the credentialing span.
499
+ # @param end_date [Date] End date of the credentialing span.
500
+ # @param regions [CandidApiClient::Commons::Types::Regions] The states covered by the credentialing span. A span may be national and cover
501
+ # all states.
502
+ # @param submitted_date [Date] Date that the credential paperwork was submitted.
503
+ # @param payer_loaded_date [Date] Date that the payer loaded the credentialing span into their system.
504
+ # @param request_options [CandidApiClient::RequestOptions]
505
+ # @return [CandidApiClient::Credentialing::V2::Types::FacilityCredentialingSpan]
506
+ # @example
507
+ # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
508
+ # api.credentialing.v_2.update_facility(facility_credentialing_id: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", contracting_provider_id: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32")
509
+ def update_facility(facility_credentialing_id:, contracting_provider_id:, payer_uuid: nil, start_date: nil,
510
+ end_date: nil, regions: nil, submitted_date: nil, payer_loaded_date: nil, request_options: nil)
511
+ Async do
512
+ response = @request_client.conn.patch do |req|
513
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
514
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
515
+ req.headers = {
516
+ **(req.headers || {}),
517
+ **@request_client.get_headers,
518
+ **(request_options&.additional_headers || {})
519
+ }.compact
520
+ req.body = {
521
+ **(request_options&.additional_body_parameters || {}),
522
+ contracting_provider_id: contracting_provider_id,
523
+ payer_uuid: payer_uuid,
524
+ start_date: start_date,
525
+ end_date: end_date,
526
+ regions: regions,
527
+ submitted_date: submitted_date,
528
+ payer_loaded_date: payer_loaded_date
529
+ }.compact
530
+ req.url "#{@request_client.get_url(environment: CandidApi,
531
+ request_options: request_options)}/api/provider-credentialing-span/v2/facility/#{facility_credentialing_id}"
532
+ end
533
+ CandidApiClient::Credentialing::V2::Types::FacilityCredentialingSpan.from_json(json_object: response.body)
534
+ end
535
+ end
536
+
203
537
  # @param rendering_provider_id [String] The ID of the rendering provider covered by the credentialing span.
204
- # @param contracting_provider_id [String] The ID of the practice location at which the rendering provider is covered by
205
- # the credentialing span.
538
+ # @param contracting_provider_id [String] The ID of the billing provider for which the service facility is covered by the
539
+ # credentialing span.
206
540
  # @param payer_uuid [String] The ID of the payer covered by the credentialing span.
207
541
  # @param start_date [Date] Start date of the credentialing span.
208
542
  # @param end_date [Date] End date of the credentialing span.
@@ -337,8 +671,8 @@ module CandidApiClient
337
671
  end
338
672
 
339
673
  # @param provider_credentialing_id [String]
340
- # @param contracting_provider_id [String] The ID of the practice location at which the rendering provider is covered by
341
- # the credentialing span.
674
+ # @param contracting_provider_id [String] The ID of the billing provider for which the service facility is covered by the
675
+ # credentialing span.
342
676
  # @param payer_uuid [String] The ID of the payer doing the credentialing.
343
677
  # @param start_date [Date] Start date of the credentialing span.
344
678
  # @param end_date [Date] End date of the credentialing span.
@@ -0,0 +1,143 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../../../organization_providers/v_3/types/organization_provider_v_2"
4
+ require_relative "../../../payers/v_3/types/payer"
5
+ require "date"
6
+ require_relative "credentialing_span_status"
7
+ require "ostruct"
8
+ require "json"
9
+
10
+ module CandidApiClient
11
+ module Credentialing
12
+ module V2
13
+ module Types
14
+ class BaseCredentialingSpan
15
+ # @return [CandidApiClient::OrganizationProviders::V3::Types::OrganizationProviderV2] The practice location at which the rendering provider is covered by the
16
+ # credentialing span.
17
+ attr_reader :contracting_provider
18
+ # @return [CandidApiClient::Payers::V3::Types::Payer] The payer doing the credentialing.
19
+ attr_reader :payer
20
+ # @return [Date] Start date of the credentialing span.
21
+ attr_reader :start_date
22
+ # @return [Date] End date of the credentialing span.
23
+ attr_reader :end_date
24
+ # @return [Date] Date that the credential paperwork was submitted.
25
+ attr_reader :submitted_date
26
+ # @return [CandidApiClient::Credentialing::V2::Types::CredentialingSpanStatus] Status of the credentialing span.
27
+ attr_reader :credentialing_status
28
+ # @return [Date] Date that the payer loaded the credentialing span into their system.
29
+ attr_reader :payer_loaded_date
30
+ # @return [Boolean] Is the credentialing span enabled?
31
+ attr_reader :is_enabled
32
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
33
+ attr_reader :additional_properties
34
+ # @return [Object]
35
+ attr_reader :_field_set
36
+ protected :_field_set
37
+
38
+ OMIT = Object.new
39
+
40
+ # @param contracting_provider [CandidApiClient::OrganizationProviders::V3::Types::OrganizationProviderV2] The practice location at which the rendering provider is covered by the
41
+ # credentialing span.
42
+ # @param payer [CandidApiClient::Payers::V3::Types::Payer] The payer doing the credentialing.
43
+ # @param start_date [Date] Start date of the credentialing span.
44
+ # @param end_date [Date] End date of the credentialing span.
45
+ # @param submitted_date [Date] Date that the credential paperwork was submitted.
46
+ # @param credentialing_status [CandidApiClient::Credentialing::V2::Types::CredentialingSpanStatus] Status of the credentialing span.
47
+ # @param payer_loaded_date [Date] Date that the payer loaded the credentialing span into their system.
48
+ # @param is_enabled [Boolean] Is the credentialing span enabled?
49
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
50
+ # @return [CandidApiClient::Credentialing::V2::Types::BaseCredentialingSpan]
51
+ def initialize(contracting_provider:, payer:, credentialing_status:, is_enabled:, start_date: OMIT,
52
+ end_date: OMIT, submitted_date: OMIT, payer_loaded_date: OMIT, additional_properties: nil)
53
+ @contracting_provider = contracting_provider
54
+ @payer = payer
55
+ @start_date = start_date if start_date != OMIT
56
+ @end_date = end_date if end_date != OMIT
57
+ @submitted_date = submitted_date if submitted_date != OMIT
58
+ @credentialing_status = credentialing_status
59
+ @payer_loaded_date = payer_loaded_date if payer_loaded_date != OMIT
60
+ @is_enabled = is_enabled
61
+ @additional_properties = additional_properties
62
+ @_field_set = {
63
+ "contracting_provider": contracting_provider,
64
+ "payer": payer,
65
+ "start_date": start_date,
66
+ "end_date": end_date,
67
+ "submitted_date": submitted_date,
68
+ "credentialing_status": credentialing_status,
69
+ "payer_loaded_date": payer_loaded_date,
70
+ "is_enabled": is_enabled
71
+ }.reject do |_k, v|
72
+ v == OMIT
73
+ end
74
+ end
75
+
76
+ # Deserialize a JSON object to an instance of BaseCredentialingSpan
77
+ #
78
+ # @param json_object [String]
79
+ # @return [CandidApiClient::Credentialing::V2::Types::BaseCredentialingSpan]
80
+ def self.from_json(json_object:)
81
+ struct = JSON.parse(json_object, object_class: OpenStruct)
82
+ parsed_json = JSON.parse(json_object)
83
+ if parsed_json["contracting_provider"].nil?
84
+ contracting_provider = nil
85
+ else
86
+ contracting_provider = parsed_json["contracting_provider"].to_json
87
+ contracting_provider = CandidApiClient::OrganizationProviders::V3::Types::OrganizationProviderV2.from_json(json_object: contracting_provider)
88
+ end
89
+ if parsed_json["payer"].nil?
90
+ payer = nil
91
+ else
92
+ payer = parsed_json["payer"].to_json
93
+ payer = CandidApiClient::Payers::V3::Types::Payer.from_json(json_object: payer)
94
+ end
95
+ start_date = (Date.parse(parsed_json["start_date"]) unless parsed_json["start_date"].nil?)
96
+ end_date = (Date.parse(parsed_json["end_date"]) unless parsed_json["end_date"].nil?)
97
+ submitted_date = (Date.parse(parsed_json["submitted_date"]) unless parsed_json["submitted_date"].nil?)
98
+ credentialing_status = struct["credentialing_status"]
99
+ payer_loaded_date = unless parsed_json["payer_loaded_date"].nil?
100
+ Date.parse(parsed_json["payer_loaded_date"])
101
+ end
102
+ is_enabled = struct["is_enabled"]
103
+ new(
104
+ contracting_provider: contracting_provider,
105
+ payer: payer,
106
+ start_date: start_date,
107
+ end_date: end_date,
108
+ submitted_date: submitted_date,
109
+ credentialing_status: credentialing_status,
110
+ payer_loaded_date: payer_loaded_date,
111
+ is_enabled: is_enabled,
112
+ additional_properties: struct
113
+ )
114
+ end
115
+
116
+ # Serialize an instance of BaseCredentialingSpan to a JSON object
117
+ #
118
+ # @return [String]
119
+ def to_json(*_args)
120
+ @_field_set&.to_json
121
+ end
122
+
123
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
124
+ # hash and check each fields type against the current object's property
125
+ # definitions.
126
+ #
127
+ # @param obj [Object]
128
+ # @return [Void]
129
+ def self.validate_raw(obj:)
130
+ CandidApiClient::OrganizationProviders::V3::Types::OrganizationProviderV2.validate_raw(obj: obj.contracting_provider)
131
+ CandidApiClient::Payers::V3::Types::Payer.validate_raw(obj: obj.payer)
132
+ obj.start_date&.is_a?(Date) != false || raise("Passed value for field obj.start_date is not the expected type, validation failed.")
133
+ obj.end_date&.is_a?(Date) != false || raise("Passed value for field obj.end_date is not the expected type, validation failed.")
134
+ obj.submitted_date&.is_a?(Date) != false || raise("Passed value for field obj.submitted_date is not the expected type, validation failed.")
135
+ obj.credentialing_status.is_a?(CandidApiClient::Credentialing::V2::Types::CredentialingSpanStatus) != false || raise("Passed value for field obj.credentialing_status is not the expected type, validation failed.")
136
+ obj.payer_loaded_date&.is_a?(Date) != false || raise("Passed value for field obj.payer_loaded_date is not the expected type, validation failed.")
137
+ obj.is_enabled.is_a?(Boolean) != false || raise("Passed value for field obj.is_enabled is not the expected type, validation failed.")
138
+ end
139
+ end
140
+ end
141
+ end
142
+ end
143
+ end