candidhealth 0.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 (346) hide show
  1. checksums.yaml +7 -0
  2. data/lib/candidhealth/auth/client.rb +28 -0
  3. data/lib/candidhealth/auth/v_2/client.rb +90 -0
  4. data/lib/candidhealth/auth/v_2/types/auth_get_token_request.rb +54 -0
  5. data/lib/candidhealth/auth/v_2/types/auth_get_token_response.rb +59 -0
  6. data/lib/candidhealth/auth/v_2/types/too_many_requests_error_type.rb +49 -0
  7. data/lib/candidhealth/billing_notes/client.rb +28 -0
  8. data/lib/candidhealth/billing_notes/v_2/client.rb +76 -0
  9. data/lib/candidhealth/billing_notes/v_2/types/billing_note.rb +89 -0
  10. data/lib/candidhealth/billing_notes/v_2/types/billing_note_base.rb +49 -0
  11. data/lib/candidhealth/billing_notes/v_2/types/billing_note_id.rb +9 -0
  12. data/lib/candidhealth/claim_submission/v_1/types/claim_frequency_type_code.rb +14 -0
  13. data/lib/candidhealth/claim_submission/v_1/types/claim_submission_record_create.rb +68 -0
  14. data/lib/candidhealth/claim_submission/v_1/types/external_claim_submission_create.rb +75 -0
  15. data/lib/candidhealth/claims/types/claim.rb +98 -0
  16. data/lib/candidhealth/claims/types/claim_status.rb +23 -0
  17. data/lib/candidhealth/commons/types/claim_adjustment_group_codes.rb +17 -0
  18. data/lib/candidhealth/commons/types/claim_id.rb +7 -0
  19. data/lib/candidhealth/commons/types/claim_submission_payer_responsibility_type.rb +10 -0
  20. data/lib/candidhealth/commons/types/date.rb +7 -0
  21. data/lib/candidhealth/commons/types/date_range_optional_end.rb +53 -0
  22. data/lib/candidhealth/commons/types/decimal.rb +7 -0
  23. data/lib/candidhealth/commons/types/delay_reason_code.rb +23 -0
  24. data/lib/candidhealth/commons/types/email.rb +7 -0
  25. data/lib/candidhealth/commons/types/emr_payer_crosswalk.rb +10 -0
  26. data/lib/candidhealth/commons/types/encounter_external_id.rb +7 -0
  27. data/lib/candidhealth/commons/types/encounter_id.rb +7 -0
  28. data/lib/candidhealth/commons/types/entity_not_found_error_message.rb +47 -0
  29. data/lib/candidhealth/commons/types/error_message.rb +7 -0
  30. data/lib/candidhealth/commons/types/facility_type_code.rb +61 -0
  31. data/lib/candidhealth/commons/types/http_service_unavailable_error_message.rb +47 -0
  32. data/lib/candidhealth/commons/types/insurance_type_code.rb +79 -0
  33. data/lib/candidhealth/commons/types/invoice_id.rb +7 -0
  34. data/lib/candidhealth/commons/types/link_url.rb +7 -0
  35. data/lib/candidhealth/commons/types/npi.rb +7 -0
  36. data/lib/candidhealth/commons/types/organization_id.rb +7 -0
  37. data/lib/candidhealth/commons/types/organization_not_authorized_error_message.rb +47 -0
  38. data/lib/candidhealth/commons/types/page_token.rb +7 -0
  39. data/lib/candidhealth/commons/types/patient_external_id.rb +7 -0
  40. data/lib/candidhealth/commons/types/patient_relationship_to_insured_code_all.rb +32 -0
  41. data/lib/candidhealth/commons/types/phone_number.rb +53 -0
  42. data/lib/candidhealth/commons/types/phone_number_type.rb +11 -0
  43. data/lib/candidhealth/commons/types/procedure_modifier.rb +395 -0
  44. data/lib/candidhealth/commons/types/provider_id.rb +7 -0
  45. data/lib/candidhealth/commons/types/region_national.rb +41 -0
  46. data/lib/candidhealth/commons/types/region_states.rb +48 -0
  47. data/lib/candidhealth/commons/types/regions.rb +92 -0
  48. data/lib/candidhealth/commons/types/removable_date_range_optional_end.rb +90 -0
  49. data/lib/candidhealth/commons/types/request_validation_error.rb +52 -0
  50. data/lib/candidhealth/commons/types/resource_page.rb +53 -0
  51. data/lib/candidhealth/commons/types/service_line_id.rb +7 -0
  52. data/lib/candidhealth/commons/types/service_line_units.rb +10 -0
  53. data/lib/candidhealth/commons/types/sort_direction.rb +10 -0
  54. data/lib/candidhealth/commons/types/source_of_payment_code.rb +31 -0
  55. data/lib/candidhealth/commons/types/state.rb +70 -0
  56. data/lib/candidhealth/commons/types/street_address_base.rb +75 -0
  57. data/lib/candidhealth/commons/types/street_address_long_zip.rb +82 -0
  58. data/lib/candidhealth/commons/types/street_address_short_zip.rb +82 -0
  59. data/lib/candidhealth/commons/types/task_assignment_id.rb +7 -0
  60. data/lib/candidhealth/commons/types/task_id.rb +7 -0
  61. data/lib/candidhealth/commons/types/task_note_id.rb +7 -0
  62. data/lib/candidhealth/commons/types/tax_id.rb +7 -0
  63. data/lib/candidhealth/commons/types/unauthorized_error_message.rb +47 -0
  64. data/lib/candidhealth/commons/types/unprocessable_entity_error_message.rb +47 -0
  65. data/lib/candidhealth/commons/types/updates_disabled_due_to_external_system_integration_error_message.rb +47 -0
  66. data/lib/candidhealth/commons/types/user_id.rb +7 -0
  67. data/lib/candidhealth/commons/types/work_queue_id.rb +7 -0
  68. data/lib/candidhealth/contracts/client.rb +28 -0
  69. data/lib/candidhealth/contracts/v_2/client.rb +336 -0
  70. data/lib/candidhealth/contracts/v_2/types/authorized_signatory.rb +83 -0
  71. data/lib/candidhealth/contracts/v_2/types/authorized_signatory_update.rb +92 -0
  72. data/lib/candidhealth/contracts/v_2/types/contract.rb +165 -0
  73. data/lib/candidhealth/contracts/v_2/types/contract_base.rb +128 -0
  74. data/lib/candidhealth/contracts/v_2/types/contract_id.rb +9 -0
  75. data/lib/candidhealth/contracts/v_2/types/contract_is_linked_to_fee_schedule_error.rb +49 -0
  76. data/lib/candidhealth/contracts/v_2/types/contract_status.rb +13 -0
  77. data/lib/candidhealth/contracts/v_2/types/contract_with_providers.rb +177 -0
  78. data/lib/candidhealth/contracts/v_2/types/contracting_provider_id.rb +9 -0
  79. data/lib/candidhealth/contracts/v_2/types/contracts_page.rb +65 -0
  80. data/lib/candidhealth/contracts/v_2/types/date_update.rb +92 -0
  81. data/lib/candidhealth/contracts/v_2/types/insurance_types.rb +103 -0
  82. data/lib/candidhealth/contracts/v_2/types/regions_update.rb +92 -0
  83. data/lib/candidhealth/contracts/v_2/types/rendering_providerid.rb +9 -0
  84. data/lib/candidhealth/diagnoses/types/diagnosis.rb +106 -0
  85. data/lib/candidhealth/diagnoses/types/diagnosis_create.rb +72 -0
  86. data/lib/candidhealth/diagnoses/types/diagnosis_id.rb +7 -0
  87. data/lib/candidhealth/diagnoses/types/diagnosis_type_code.rb +18 -0
  88. data/lib/candidhealth/diagnoses/types/standalone_diagnosis_create.rb +78 -0
  89. data/lib/candidhealth/eligibility/client.rb +28 -0
  90. data/lib/candidhealth/eligibility/v_2/client.rb +136 -0
  91. data/lib/candidhealth/encounter_providers/v_2/types/billing_provider.rb +104 -0
  92. data/lib/candidhealth/encounter_providers/v_2/types/encounter_provider.rb +103 -0
  93. data/lib/candidhealth/encounter_providers/v_2/types/encounter_provider_base.rb +60 -0
  94. data/lib/candidhealth/encounter_providers/v_2/types/provider_id.rb +9 -0
  95. data/lib/candidhealth/encounter_providers/v_2/types/referring_provider.rb +91 -0
  96. data/lib/candidhealth/encounter_providers/v_2/types/rendering_provider.rb +91 -0
  97. data/lib/candidhealth/encounters/client.rb +28 -0
  98. data/lib/candidhealth/encounters/v_4/client.rb +1125 -0
  99. data/lib/candidhealth/encounters/v_4/types/billable_status_type.rb +12 -0
  100. data/lib/candidhealth/encounters/v_4/types/cash_pay_payer_error_message.rb +49 -0
  101. data/lib/candidhealth/encounters/v_4/types/clinical_note.rb +67 -0
  102. data/lib/candidhealth/encounters/v_4/types/clinical_note_category.rb +64 -0
  103. data/lib/candidhealth/encounters/v_4/types/clinical_note_category_create.rb +59 -0
  104. data/lib/candidhealth/encounters/v_4/types/coding_attribution_type.rb +14 -0
  105. data/lib/candidhealth/encounters/v_4/types/encounter.rb +515 -0
  106. data/lib/candidhealth/encounters/v_4/types/encounter_base.rb +274 -0
  107. data/lib/candidhealth/encounters/v_4/types/encounter_external_id_uniqueness_error_type.rb +50 -0
  108. data/lib/candidhealth/encounters/v_4/types/encounter_guarantor_missing_contact_info_error_type.rb +49 -0
  109. data/lib/candidhealth/encounters/v_4/types/encounter_owner_of_next_action_type.rb +14 -0
  110. data/lib/candidhealth/encounters/v_4/types/encounter_page.rb +65 -0
  111. data/lib/candidhealth/encounters/v_4/types/encounter_patient_control_number_uniqueness_error_type.rb +49 -0
  112. data/lib/candidhealth/encounters/v_4/types/encounter_sort_options.rb +14 -0
  113. data/lib/candidhealth/encounters/v_4/types/encounter_submission_origin_type.rb +12 -0
  114. data/lib/candidhealth/encounters/v_4/types/intake_follow_up.rb +60 -0
  115. data/lib/candidhealth/encounters/v_4/types/intake_follow_up_id.rb +9 -0
  116. data/lib/candidhealth/encounters/v_4/types/intake_question.rb +64 -0
  117. data/lib/candidhealth/encounters/v_4/types/intake_question_id.rb +9 -0
  118. data/lib/candidhealth/encounters/v_4/types/intake_response_and_follow_ups.rb +58 -0
  119. data/lib/candidhealth/encounters/v_4/types/intervention.rb +87 -0
  120. data/lib/candidhealth/encounters/v_4/types/intervention_category.rb +14 -0
  121. data/lib/candidhealth/encounters/v_4/types/lab.rb +60 -0
  122. data/lib/candidhealth/encounters/v_4/types/lab_code_type.rb +12 -0
  123. data/lib/candidhealth/encounters/v_4/types/medication.rb +84 -0
  124. data/lib/candidhealth/encounters/v_4/types/note_category.rb +24 -0
  125. data/lib/candidhealth/encounters/v_4/types/patient_history_category.rb +59 -0
  126. data/lib/candidhealth/encounters/v_4/types/patient_history_category_enum.rb +14 -0
  127. data/lib/candidhealth/encounters/v_4/types/prior_authorization_number.rb +9 -0
  128. data/lib/candidhealth/encounters/v_4/types/responsible_party_type.rb +13 -0
  129. data/lib/candidhealth/encounters/v_4/types/rx_cui.rb +9 -0
  130. data/lib/candidhealth/encounters/v_4/types/service_authorization_exception_code.rb +19 -0
  131. data/lib/candidhealth/encounters/v_4/types/synchronicity_type.rb +12 -0
  132. data/lib/candidhealth/encounters/v_4/types/vitals.rb +78 -0
  133. data/lib/candidhealth/era/types/era.rb +59 -0
  134. data/lib/candidhealth/era/types/era_base.rb +53 -0
  135. data/lib/candidhealth/era/types/era_id.rb +7 -0
  136. data/lib/candidhealth/era/types/era_not_fully_processed_error_message.rb +53 -0
  137. data/lib/candidhealth/era_commons/types/claim_status_code_create.rb +18 -0
  138. data/lib/candidhealth/expected_network_status/client.rb +31 -0
  139. data/lib/candidhealth/expected_network_status/v_1/client.rb +112 -0
  140. data/lib/candidhealth/expected_network_status/v_1/types/expected_network_status.rb +13 -0
  141. data/lib/candidhealth/expected_network_status/v_1/types/expected_network_status_response.rb +66 -0
  142. data/lib/candidhealth/expected_network_status/v_2/client.rb +183 -0
  143. data/lib/candidhealth/expected_network_status/v_2/types/compute_all_in_network_providers_request.rb +119 -0
  144. data/lib/candidhealth/expected_network_status/v_2/types/compute_all_in_network_providers_response.rb +65 -0
  145. data/lib/candidhealth/expected_network_status/v_2/types/compute_all_in_network_rendering_providers_result.rb +107 -0
  146. data/lib/candidhealth/expected_network_status/v_2/types/expected_network_status_check_error_message.rb +49 -0
  147. data/lib/candidhealth/expected_network_status/v_2/types/expected_network_status_request_v_2.rb +119 -0
  148. data/lib/candidhealth/expected_network_status/v_2/types/expected_network_status_response_v_2.rb +62 -0
  149. data/lib/candidhealth/expected_network_status/v_2/types/expected_network_status_subscriber_information.rb +67 -0
  150. data/lib/candidhealth/expected_network_status/v_2/types/expected_network_status_v_2.rb +107 -0
  151. data/lib/candidhealth/expected_network_status/v_2/types/explanation.rb +18 -0
  152. data/lib/candidhealth/expected_network_status/v_2/types/in_network_rendering_providers_detail.rb +67 -0
  153. data/lib/candidhealth/expected_network_status/v_2/types/in_network_status.rb +57 -0
  154. data/lib/candidhealth/expected_network_status/v_2/types/indeterminate_network_status.rb +74 -0
  155. data/lib/candidhealth/expected_network_status/v_2/types/insurance_type.rb +62 -0
  156. data/lib/candidhealth/expected_network_status/v_2/types/insurance_type_codes.rb +103 -0
  157. data/lib/candidhealth/expected_network_status/v_2/types/line_of_business.rb +13 -0
  158. data/lib/candidhealth/expected_network_status/v_2/types/network_status_check_id.rb +9 -0
  159. data/lib/candidhealth/expected_network_status/v_2/types/out_of_network_status.rb +67 -0
  160. data/lib/candidhealth/expected_network_status/v_2/types/service_type.rb +51 -0
  161. data/lib/candidhealth/exports/client.rb +28 -0
  162. data/lib/candidhealth/exports/v_3/client.rb +102 -0
  163. data/lib/candidhealth/exports/v_3/types/get_exports_response.rb +75 -0
  164. data/lib/candidhealth/financials/types/account_type.rb +10 -0
  165. data/lib/candidhealth/financials/types/allocation.rb +58 -0
  166. data/lib/candidhealth/financials/types/allocation_create.rb +60 -0
  167. data/lib/candidhealth/financials/types/allocation_target.rb +118 -0
  168. data/lib/candidhealth/financials/types/allocation_target_create.rb +118 -0
  169. data/lib/candidhealth/financials/types/billing_provider_allocation_target.rb +48 -0
  170. data/lib/candidhealth/financials/types/claim_allocation_target.rb +54 -0
  171. data/lib/candidhealth/financials/types/invoice_update.rb +90 -0
  172. data/lib/candidhealth/financials/types/note_update.rb +89 -0
  173. data/lib/candidhealth/financials/types/patient_transaction_source.rb +15 -0
  174. data/lib/candidhealth/financials/types/refund_reason.rb +9 -0
  175. data/lib/candidhealth/financials/types/refund_reason_update.rb +90 -0
  176. data/lib/candidhealth/financials/types/service_line_allocation_target.rb +61 -0
  177. data/lib/candidhealth/guarantor/client.rb +28 -0
  178. data/lib/candidhealth/guarantor/v_1/client.rb +224 -0
  179. data/lib/candidhealth/guarantor/v_1/types/encounter_has_existing_guarantor_error_type.rb +49 -0
  180. data/lib/candidhealth/guarantor/v_1/types/guarantor.rb +121 -0
  181. data/lib/candidhealth/guarantor/v_1/types/guarantor_base.rb +84 -0
  182. data/lib/candidhealth/guarantor/v_1/types/guarantor_create.rb +114 -0
  183. data/lib/candidhealth/guarantor/v_1/types/guarantor_id.rb +9 -0
  184. data/lib/candidhealth/identifiers/types/identifier.rb +82 -0
  185. data/lib/candidhealth/identifiers/types/identifier_base.rb +71 -0
  186. data/lib/candidhealth/identifiers/types/identifier_code.rb +10 -0
  187. data/lib/candidhealth/identifiers/types/identifier_create.rb +71 -0
  188. data/lib/candidhealth/identifiers/types/identifier_id.rb +7 -0
  189. data/lib/candidhealth/identifiers/types/identifier_update.rb +83 -0
  190. data/lib/candidhealth/identifiers/types/identifier_value.rb +92 -0
  191. data/lib/candidhealth/identifiers/types/medicaid_provider_identifier.rb +53 -0
  192. data/lib/candidhealth/identifiers/types/medicare_provider_identifier.rb +53 -0
  193. data/lib/candidhealth/identifiers/types/updatable_identifier.rb +105 -0
  194. data/lib/candidhealth/individual/types/gender.rb +13 -0
  195. data/lib/candidhealth/individual/types/individual_base.rb +58 -0
  196. data/lib/candidhealth/individual/types/individual_id.rb +7 -0
  197. data/lib/candidhealth/individual/types/patient.rb +126 -0
  198. data/lib/candidhealth/individual/types/patient_base.rb +89 -0
  199. data/lib/candidhealth/individual/types/patient_create.rb +119 -0
  200. data/lib/candidhealth/individual/types/subscriber.rb +110 -0
  201. data/lib/candidhealth/individual/types/subscriber_base.rb +91 -0
  202. data/lib/candidhealth/individual/types/subscriber_create.rb +103 -0
  203. data/lib/candidhealth/insurance_adjudications/client.rb +28 -0
  204. data/lib/candidhealth/insurance_adjudications/v_1/client.rb +143 -0
  205. data/lib/candidhealth/insurance_adjudications/v_1/types/claim_adjudication.rb +101 -0
  206. data/lib/candidhealth/insurance_adjudications/v_1/types/claim_adjudication_create.rb +95 -0
  207. data/lib/candidhealth/insurance_adjudications/v_1/types/insurance_adjudication.rb +99 -0
  208. data/lib/candidhealth/insurance_adjudications/v_1/types/insurance_adjudication_create.rb +109 -0
  209. data/lib/candidhealth/insurance_adjudications/v_1/types/insurance_adjudication_id.rb +9 -0
  210. data/lib/candidhealth/insurance_adjudications/v_1/types/service_line_adjudication.rb +112 -0
  211. data/lib/candidhealth/insurance_adjudications/v_1/types/service_line_adjudication_create.rb +105 -0
  212. data/lib/candidhealth/insurance_adjudications/v_1/types/service_line_adjudication_id.rb +9 -0
  213. data/lib/candidhealth/insurance_cards/v_2/types/insurance_card.rb +123 -0
  214. data/lib/candidhealth/insurance_cards/v_2/types/insurance_card_base.rb +73 -0
  215. data/lib/candidhealth/insurance_cards/v_2/types/insurance_card_create.rb +123 -0
  216. data/lib/candidhealth/insurance_cards/v_2/types/insurance_card_id.rb +9 -0
  217. data/lib/candidhealth/insurance_payments/client.rb +28 -0
  218. data/lib/candidhealth/insurance_payments/v_1/client.rb +269 -0
  219. data/lib/candidhealth/insurance_payments/v_1/types/insurance_payment.rb +98 -0
  220. data/lib/candidhealth/insurance_payments/v_1/types/insurance_payment_create.rb +91 -0
  221. data/lib/candidhealth/insurance_payments/v_1/types/insurance_payment_id.rb +9 -0
  222. data/lib/candidhealth/insurance_payments/v_1/types/insurance_payment_sort_field.rb +13 -0
  223. data/lib/candidhealth/insurance_payments/v_1/types/insurance_payments_page.rb +65 -0
  224. data/lib/candidhealth/insurance_refunds/client.rb +28 -0
  225. data/lib/candidhealth/insurance_refunds/v_1/client.rb +280 -0
  226. data/lib/candidhealth/insurance_refunds/v_1/types/insurance_refund.rb +105 -0
  227. data/lib/candidhealth/insurance_refunds/v_1/types/insurance_refund_create.rb +98 -0
  228. data/lib/candidhealth/insurance_refunds/v_1/types/insurance_refund_id.rb +9 -0
  229. data/lib/candidhealth/insurance_refunds/v_1/types/insurance_refund_sort_field.rb +14 -0
  230. data/lib/candidhealth/insurance_refunds/v_1/types/insurance_refunds_page.rb +65 -0
  231. data/lib/candidhealth/invoices/types/invoice.rb +134 -0
  232. data/lib/candidhealth/invoices/types/invoice_item.rb +53 -0
  233. data/lib/candidhealth/invoices/types/invoice_status.rb +13 -0
  234. data/lib/candidhealth/organization_providers/client.rb +28 -0
  235. data/lib/candidhealth/organization_providers/v_2/types/address_type.rb +11 -0
  236. data/lib/candidhealth/organization_providers/v_2/types/employment_status.rb +12 -0
  237. data/lib/candidhealth/organization_providers/v_2/types/license_type.rb +78 -0
  238. data/lib/candidhealth/organization_providers/v_2/types/organization_provider.rb +159 -0
  239. data/lib/candidhealth/organization_providers/v_2/types/organization_provider_address.rb +61 -0
  240. data/lib/candidhealth/organization_providers/v_2/types/organization_provider_base.rb +132 -0
  241. data/lib/candidhealth/organization_providers/v_2/types/organization_provider_id.rb +9 -0
  242. data/lib/candidhealth/organization_providers/v_2/types/organization_provider_sort_options.rb +14 -0
  243. data/lib/candidhealth/organization_providers/v_2/types/provider_type.rb +12 -0
  244. data/lib/candidhealth/organization_providers/v_3/client.rb +239 -0
  245. data/lib/candidhealth/organization_providers/v_3/types/organization_provider_create_v_2.rb +147 -0
  246. data/lib/candidhealth/organization_providers/v_3/types/organization_provider_page_v_2.rb +65 -0
  247. data/lib/candidhealth/organization_providers/v_3/types/organization_provider_update_v_2.rb +143 -0
  248. data/lib/candidhealth/organization_providers/v_3/types/organization_provider_v_2.rb +154 -0
  249. data/lib/candidhealth/organization_service_facilities/client.rb +28 -0
  250. data/lib/candidhealth/organization_service_facilities/v_2/client.rb +256 -0
  251. data/lib/candidhealth/organization_service_facilities/v_2/types/organization_service_facility.rb +134 -0
  252. data/lib/candidhealth/organization_service_facilities/v_2/types/organization_service_facility_create.rb +127 -0
  253. data/lib/candidhealth/organization_service_facilities/v_2/types/organization_service_facility_id.rb +9 -0
  254. data/lib/candidhealth/organization_service_facilities/v_2/types/organization_service_facility_page.rb +65 -0
  255. data/lib/candidhealth/organization_service_facilities/v_2/types/organization_service_facility_update.rb +127 -0
  256. data/lib/candidhealth/organization_service_facilities/v_2/types/service_facility_mode.rb +12 -0
  257. data/lib/candidhealth/organization_service_facilities/v_2/types/service_facility_operational_status.rb +16 -0
  258. data/lib/candidhealth/organization_service_facilities/v_2/types/service_facility_physical_type.rb +24 -0
  259. data/lib/candidhealth/organization_service_facilities/v_2/types/service_facility_status.rb +13 -0
  260. data/lib/candidhealth/organization_service_facilities/v_2/types/service_facility_type.rb +133 -0
  261. data/lib/candidhealth/patient_payments/client.rb +28 -0
  262. data/lib/candidhealth/patient_payments/v_3/types/patient_payment.rb +130 -0
  263. data/lib/candidhealth/patient_payments/v_3/types/patient_payment_id.rb +9 -0
  264. data/lib/candidhealth/patient_payments/v_3/types/patient_payment_source.rb +19 -0
  265. data/lib/candidhealth/patient_payments/v_3/types/patient_payment_status.rb +21 -0
  266. data/lib/candidhealth/patient_payments/v_4/client.rb +304 -0
  267. data/lib/candidhealth/patient_payments/v_4/types/patient_payment.rb +120 -0
  268. data/lib/candidhealth/patient_payments/v_4/types/patient_payment_id.rb +9 -0
  269. data/lib/candidhealth/patient_payments/v_4/types/patient_payment_sort_field.rb +14 -0
  270. data/lib/candidhealth/patient_payments/v_4/types/patient_payments_page.rb +65 -0
  271. data/lib/candidhealth/patient_refunds/client.rb +28 -0
  272. data/lib/candidhealth/patient_refunds/v_1/client.rb +316 -0
  273. data/lib/candidhealth/patient_refunds/v_1/types/patient_refund.rb +127 -0
  274. data/lib/candidhealth/patient_refunds/v_1/types/patient_refund_id.rb +9 -0
  275. data/lib/candidhealth/patient_refunds/v_1/types/patient_refund_sort_field.rb +15 -0
  276. data/lib/candidhealth/patient_refunds/v_1/types/patient_refunds_page.rb +65 -0
  277. data/lib/candidhealth/payers/client.rb +28 -0
  278. data/lib/candidhealth/payers/v_3/client.rb +104 -0
  279. data/lib/candidhealth/payers/v_3/types/payer.rb +60 -0
  280. data/lib/candidhealth/payers/v_3/types/payer_id.rb +9 -0
  281. data/lib/candidhealth/payers/v_3/types/payer_identifier.rb +94 -0
  282. data/lib/candidhealth/payers/v_3/types/payer_info.rb +56 -0
  283. data/lib/candidhealth/payers/v_3/types/payer_name.rb +9 -0
  284. data/lib/candidhealth/payers/v_3/types/payer_page.rb +65 -0
  285. data/lib/candidhealth/payers/v_3/types/payer_uuid.rb +9 -0
  286. data/lib/candidhealth/remits/v_1/types/payee.rb +60 -0
  287. data/lib/candidhealth/remits/v_1/types/payee_identifier.rb +102 -0
  288. data/lib/candidhealth/service_facility/client.rb +89 -0
  289. data/lib/candidhealth/service_facility/types/encounter_service_facility.rb +77 -0
  290. data/lib/candidhealth/service_facility/types/encounter_service_facility_base.rb +72 -0
  291. data/lib/candidhealth/service_facility/types/service_facility_id.rb +7 -0
  292. data/lib/candidhealth/service_lines/v_2/types/denial_reason_content.rb +40 -0
  293. data/lib/candidhealth/service_lines/v_2/types/drug_identification.rb +86 -0
  294. data/lib/candidhealth/service_lines/v_2/types/measurement_unit_code.rb +15 -0
  295. data/lib/candidhealth/service_lines/v_2/types/service_id_qualifier.rb +17 -0
  296. data/lib/candidhealth/service_lines/v_2/types/service_line.rb +225 -0
  297. data/lib/candidhealth/service_lines/v_2/types/service_line_adjustment.rb +79 -0
  298. data/lib/candidhealth/service_lines/v_2/types/service_line_create.rb +120 -0
  299. data/lib/candidhealth/service_lines/v_2/types/service_line_denial_reason.rb +52 -0
  300. data/lib/candidhealth/service_lines/v_2/types/service_line_era_data.rb +62 -0
  301. data/lib/candidhealth/tags/types/tag.rb +65 -0
  302. data/lib/candidhealth/tags/types/tag_color_enum.rb +18 -0
  303. data/lib/candidhealth/tags/types/tag_create.rb +59 -0
  304. data/lib/candidhealth/tags/types/tag_id.rb +7 -0
  305. data/lib/candidhealth/tasks/client.rb +28 -0
  306. data/lib/candidhealth/tasks/commons/types/task_category.rb +50 -0
  307. data/lib/candidhealth/tasks/commons/types/task_status.rb +17 -0
  308. data/lib/candidhealth/tasks/commons/types/task_type.rb +22 -0
  309. data/lib/candidhealth/tasks/v_3/client.rb +259 -0
  310. data/lib/candidhealth/tasks/v_3/types/task.rb +170 -0
  311. data/lib/candidhealth/tasks/v_3/types/task_action.rb +66 -0
  312. data/lib/candidhealth/tasks/v_3/types/task_action_execution_method.rb +79 -0
  313. data/lib/candidhealth/tasks/v_3/types/task_action_type.rb +12 -0
  314. data/lib/candidhealth/tasks/v_3/types/task_actions.rb +53 -0
  315. data/lib/candidhealth/tasks/v_3/types/task_assignment.rb +56 -0
  316. data/lib/candidhealth/tasks/v_3/types/task_create_v_3.rb +95 -0
  317. data/lib/candidhealth/tasks/v_3/types/task_note.rb +79 -0
  318. data/lib/candidhealth/tasks/v_3/types/task_page.rb +65 -0
  319. data/lib/candidhealth/tasks/v_3/types/task_sort_options.rb +32 -0
  320. data/lib/candidhealth/tasks/v_3/types/task_update_v_3.rb +66 -0
  321. data/lib/candidhealth/tasks/v_3/types/task_updated_to_deprecated_status_error_type.rb +50 -0
  322. data/lib/candidhealth/write_offs/client.rb +28 -0
  323. data/lib/candidhealth/write_offs/v_1/client.rb +218 -0
  324. data/lib/candidhealth/write_offs/v_1/types/create_write_offs_response.rb +53 -0
  325. data/lib/candidhealth/write_offs/v_1/types/insurance_write_off.rb +119 -0
  326. data/lib/candidhealth/write_offs/v_1/types/insurance_write_off_create.rb +100 -0
  327. data/lib/candidhealth/write_offs/v_1/types/insurance_write_off_reason.rb +25 -0
  328. data/lib/candidhealth/write_offs/v_1/types/insurance_write_off_target.rb +103 -0
  329. data/lib/candidhealth/write_offs/v_1/types/patient_write_off.rb +102 -0
  330. data/lib/candidhealth/write_offs/v_1/types/patient_write_off_create.rb +83 -0
  331. data/lib/candidhealth/write_offs/v_1/types/patient_write_off_reason.rb +19 -0
  332. data/lib/candidhealth/write_offs/v_1/types/write_off.rb +94 -0
  333. data/lib/candidhealth/write_offs/v_1/types/write_off_create.rb +94 -0
  334. data/lib/candidhealth/write_offs/v_1/types/write_off_id.rb +9 -0
  335. data/lib/candidhealth/write_offs/v_1/types/write_off_sort_field.rb +13 -0
  336. data/lib/candidhealth/write_offs/v_1/types/write_offs_page.rb +65 -0
  337. data/lib/candidhealth/x_12/v_1/types/carc.rb +412 -0
  338. data/lib/candidhealth/x_12/v_1/types/claim_adjustment_reason_code.rb +62 -0
  339. data/lib/candidhealth/x_12/v_1/types/rarc.rb +1070 -0
  340. data/lib/candidhealth/x_12/v_1/types/remittance_advice_remark_code.rb +50 -0
  341. data/lib/candidhealth.rb +129 -0
  342. data/lib/environment.rb +8 -0
  343. data/lib/gemconfig.rb +14 -0
  344. data/lib/requests.rb +113 -0
  345. data/lib/types_export.rb +303 -0
  346. metadata +468 -0
@@ -0,0 +1,59 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "era_id"
4
+ require_relative "../../commons/types/date"
5
+ require "json"
6
+
7
+ module CandidApiClient
8
+ class Era
9
+ class Era
10
+ attr_reader :era_id, :check_number, :check_date, :additional_properties
11
+
12
+ # @param era_id [Era::ERA_ID]
13
+ # @param check_number [String]
14
+ # @param check_date [Commons::DATE]
15
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
16
+ # @return [Era::Era]
17
+ def initialize(era_id:, check_number:, check_date:, additional_properties: nil)
18
+ # @type [Era::ERA_ID]
19
+ @era_id = era_id
20
+ # @type [String]
21
+ @check_number = check_number
22
+ # @type [Commons::DATE]
23
+ @check_date = check_date
24
+ # @type [OpenStruct] Additional properties unmapped to the current class definition
25
+ @additional_properties = additional_properties
26
+ end
27
+
28
+ # Deserialize a JSON object to an instance of Era
29
+ #
30
+ # @param json_object [JSON]
31
+ # @return [Era::Era]
32
+ def self.from_json(json_object:)
33
+ struct = JSON.parse(json_object, object_class: OpenStruct)
34
+ JSON.parse(json_object)
35
+ era_id = struct.era_id
36
+ check_number = struct.check_number
37
+ check_date = struct.check_date
38
+ new(era_id: era_id, check_number: check_number, check_date: check_date, additional_properties: struct)
39
+ end
40
+
41
+ # Serialize an instance of Era to a JSON object
42
+ #
43
+ # @return [JSON]
44
+ def to_json(*_args)
45
+ { "era_id": @era_id, "check_number": @check_number, "check_date": @check_date }.to_json
46
+ end
47
+
48
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given hash and check each fields type against the current object's property definitions.
49
+ #
50
+ # @param obj [Object]
51
+ # @return [Void]
52
+ def self.validate_raw(obj:)
53
+ obj.era_id.is_a?(String) != false || raise("Passed value for field obj.era_id is not the expected type, validation failed.")
54
+ obj.check_number.is_a?(String) != false || raise("Passed value for field obj.check_number is not the expected type, validation failed.")
55
+ obj.check_date.is_a?(String) != false || raise("Passed value for field obj.check_date is not the expected type, validation failed.")
56
+ end
57
+ end
58
+ end
59
+ end
@@ -0,0 +1,53 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../../commons/types/date"
4
+ require "json"
5
+
6
+ module CandidApiClient
7
+ class Era
8
+ class EraBase
9
+ attr_reader :check_number, :check_date, :additional_properties
10
+
11
+ # @param check_number [String]
12
+ # @param check_date [Commons::DATE]
13
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
14
+ # @return [Era::EraBase]
15
+ def initialize(check_number:, check_date:, additional_properties: nil)
16
+ # @type [String]
17
+ @check_number = check_number
18
+ # @type [Commons::DATE]
19
+ @check_date = check_date
20
+ # @type [OpenStruct] Additional properties unmapped to the current class definition
21
+ @additional_properties = additional_properties
22
+ end
23
+
24
+ # Deserialize a JSON object to an instance of EraBase
25
+ #
26
+ # @param json_object [JSON]
27
+ # @return [Era::EraBase]
28
+ def self.from_json(json_object:)
29
+ struct = JSON.parse(json_object, object_class: OpenStruct)
30
+ JSON.parse(json_object)
31
+ check_number = struct.check_number
32
+ check_date = struct.check_date
33
+ new(check_number: check_number, check_date: check_date, additional_properties: struct)
34
+ end
35
+
36
+ # Serialize an instance of EraBase to a JSON object
37
+ #
38
+ # @return [JSON]
39
+ def to_json(*_args)
40
+ { "check_number": @check_number, "check_date": @check_date }.to_json
41
+ end
42
+
43
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given hash and check each fields type against the current object's property definitions.
44
+ #
45
+ # @param obj [Object]
46
+ # @return [Void]
47
+ def self.validate_raw(obj:)
48
+ obj.check_number.is_a?(String) != false || raise("Passed value for field obj.check_number is not the expected type, validation failed.")
49
+ obj.check_date.is_a?(String) != false || raise("Passed value for field obj.check_date is not the expected type, validation failed.")
50
+ end
51
+ end
52
+ end
53
+ end
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CandidApiClient
4
+ class Era
5
+ ERA_ID = String
6
+ end
7
+ end
@@ -0,0 +1,53 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../../commons/types/claim_id"
4
+ require "json"
5
+
6
+ module CandidApiClient
7
+ class Era
8
+ class EraNotFullyProcessedErrorMessage
9
+ attr_reader :claim_id, :message, :additional_properties
10
+
11
+ # @param claim_id [Commons::CLAIM_ID]
12
+ # @param message [String]
13
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
14
+ # @return [Era::EraNotFullyProcessedErrorMessage]
15
+ def initialize(claim_id:, message:, additional_properties: nil)
16
+ # @type [Commons::CLAIM_ID]
17
+ @claim_id = claim_id
18
+ # @type [String]
19
+ @message = message
20
+ # @type [OpenStruct] Additional properties unmapped to the current class definition
21
+ @additional_properties = additional_properties
22
+ end
23
+
24
+ # Deserialize a JSON object to an instance of EraNotFullyProcessedErrorMessage
25
+ #
26
+ # @param json_object [JSON]
27
+ # @return [Era::EraNotFullyProcessedErrorMessage]
28
+ def self.from_json(json_object:)
29
+ struct = JSON.parse(json_object, object_class: OpenStruct)
30
+ JSON.parse(json_object)
31
+ claim_id = struct.claim_id
32
+ message = struct.message
33
+ new(claim_id: claim_id, message: message, additional_properties: struct)
34
+ end
35
+
36
+ # Serialize an instance of EraNotFullyProcessedErrorMessage to a JSON object
37
+ #
38
+ # @return [JSON]
39
+ def to_json(*_args)
40
+ { "claim_id": @claim_id, "message": @message }.to_json
41
+ end
42
+
43
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given hash and check each fields type against the current object's property definitions.
44
+ #
45
+ # @param obj [Object]
46
+ # @return [Void]
47
+ def self.validate_raw(obj:)
48
+ obj.claim_id.is_a?(String) != false || raise("Passed value for field obj.claim_id is not the expected type, validation failed.")
49
+ obj.message.is_a?(String) != false || raise("Passed value for field obj.message is not the expected type, validation failed.")
50
+ end
51
+ end
52
+ end
53
+ end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CandidApiClient
4
+ class EraCommons
5
+ # See https://www.stedi.com/edi/x12/element/1029
6
+ class ClaimStatusCodeCreate
7
+ PROCESSED_AS_PRIMARY = "1"
8
+ PROCESSED_AS_SECONDARY = "2"
9
+ PROCESSED_AS_TERTIARY = "3"
10
+ DENIED = "4"
11
+ PROCESSED_AS_PRIMARY_FORWARDED = "19"
12
+ PROCESSED_AS_SECONDARY_FORWARDED = "20"
13
+ PROCESSED_AS_TERTIARY_FORWARDED = "21"
14
+ REVERSAL_OF_PREVIOUS_PAYMENT = "22"
15
+ NOT_OUR_CLAIM_FORWARDED = "23"
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../../requests"
4
+ require_relative "v_1/client"
5
+ require_relative "v_2/client"
6
+
7
+ module CandidApiClient
8
+ module ExpectedNetworkStatus
9
+ class Client
10
+ attr_reader :v_1, :v_2
11
+
12
+ # @param request_client [RequestClient]
13
+ # @return [ExpectedNetworkStatus::Client]
14
+ def initialize(request_client:)
15
+ @v_1 = ExpectedNetworkStatus::V1::V1Client.new(request_client: request_client)
16
+ @v_2 = ExpectedNetworkStatus::V2::V2Client.new(request_client: request_client)
17
+ end
18
+ end
19
+
20
+ class AsyncClient
21
+ attr_reader :v_1, :v_2
22
+
23
+ # @param request_client [RequestClient]
24
+ # @return [ExpectedNetworkStatus::AsyncClient]
25
+ def initialize(request_client:)
26
+ @v_1 = ExpectedNetworkStatus::V1::AsyncV1Client.new(request_client: request_client)
27
+ @v_2 = ExpectedNetworkStatus::V2::AsyncV2Client.new(request_client: request_client)
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,112 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../../../requests"
4
+ require_relative "../../commons/types/insurance_type_code"
5
+ require_relative "../../commons/types/state"
6
+ require_relative "../../commons/types/date"
7
+ require_relative "types/expected_network_status_response"
8
+ require "async"
9
+
10
+ module CandidApiClient
11
+ module ExpectedNetworkStatus
12
+ module V1
13
+ class V1Client
14
+ attr_reader :request_client
15
+
16
+ # @param request_client [RequestClient]
17
+ # @return [ExpectedNetworkStatus::V1::V1Client]
18
+ def initialize(request_client:)
19
+ # @type [RequestClient]
20
+ @request_client = request_client
21
+ end
22
+
23
+ # Computes the expected network status given the provided information.
24
+ #
25
+ # @param external_patient_id [String]
26
+ # @param subscriber_payer_id [String]
27
+ # @param subscriber_payer_name [String]
28
+ # @param subscriber_insurance_type [Commons::InsuranceTypeCode]
29
+ # @param subscriber_plan_name [String] The descriptive name of the insurance plan selected by the subscriber, often indicating coverage specifics or tier.
30
+ # @param billing_provider_npi [String] The National Provider Identifier (NPI) of the healthcare provider responsible for billing. A unique 10-digit identification number.
31
+ # @param billing_provider_tin [String] Follow the 9-digit format of the Taxpayer Identification Number (TIN).
32
+ # @param rendering_provider_npi [String] The National Provider Identifier (NPI) of the healthcare provider who delivered the services. A unique 10-digit identification number.
33
+ # @param contracted_state [Commons::State] The state in which the healthcare provider has a contractual agreement with the insurance payer.
34
+ # @param date_of_service [Commons::DATE] Date formatted as YYYY-MM-DD; eg: 2019-08-25.
35
+ # @param request_options [RequestOptions]
36
+ # @return [ExpectedNetworkStatus::V1::ExpectedNetworkStatusResponse]
37
+ def compute(subscriber_payer_id:, subscriber_payer_name:, billing_provider_npi:, billing_provider_tin:, rendering_provider_npi:, contracted_state:, date_of_service:, external_patient_id: nil,
38
+ subscriber_insurance_type: nil, subscriber_plan_name: nil, request_options: nil)
39
+ response = @request_client.conn.post("/api/expected-network-status/v1") do |req|
40
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
41
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
42
+ req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
43
+ req.body = {
44
+ **(request_options&.additional_body_parameters || {}),
45
+ external_patient_id: external_patient_id,
46
+ subscriber_payer_id: subscriber_payer_id,
47
+ subscriber_payer_name: subscriber_payer_name,
48
+ subscriber_insurance_type: subscriber_insurance_type,
49
+ subscriber_plan_name: subscriber_plan_name,
50
+ billing_provider_npi: billing_provider_npi,
51
+ billing_provider_tin: billing_provider_tin,
52
+ rendering_provider_npi: rendering_provider_npi,
53
+ contracted_state: contracted_state,
54
+ date_of_service: date_of_service
55
+ }.compact
56
+ end
57
+ ExpectedNetworkStatus::V1::ExpectedNetworkStatusResponse.from_json(json_object: response.body)
58
+ end
59
+ end
60
+
61
+ class AsyncV1Client
62
+ attr_reader :request_client
63
+
64
+ # @param request_client [AsyncRequestClient]
65
+ # @return [ExpectedNetworkStatus::V1::AsyncV1Client]
66
+ def initialize(request_client:)
67
+ # @type [AsyncRequestClient]
68
+ @request_client = request_client
69
+ end
70
+
71
+ # Computes the expected network status given the provided information.
72
+ #
73
+ # @param external_patient_id [String]
74
+ # @param subscriber_payer_id [String]
75
+ # @param subscriber_payer_name [String]
76
+ # @param subscriber_insurance_type [Commons::InsuranceTypeCode]
77
+ # @param subscriber_plan_name [String] The descriptive name of the insurance plan selected by the subscriber, often indicating coverage specifics or tier.
78
+ # @param billing_provider_npi [String] The National Provider Identifier (NPI) of the healthcare provider responsible for billing. A unique 10-digit identification number.
79
+ # @param billing_provider_tin [String] Follow the 9-digit format of the Taxpayer Identification Number (TIN).
80
+ # @param rendering_provider_npi [String] The National Provider Identifier (NPI) of the healthcare provider who delivered the services. A unique 10-digit identification number.
81
+ # @param contracted_state [Commons::State] The state in which the healthcare provider has a contractual agreement with the insurance payer.
82
+ # @param date_of_service [Commons::DATE] Date formatted as YYYY-MM-DD; eg: 2019-08-25.
83
+ # @param request_options [RequestOptions]
84
+ # @return [ExpectedNetworkStatus::V1::ExpectedNetworkStatusResponse]
85
+ def compute(subscriber_payer_id:, subscriber_payer_name:, billing_provider_npi:, billing_provider_tin:, rendering_provider_npi:, contracted_state:, date_of_service:, external_patient_id: nil,
86
+ subscriber_insurance_type: nil, subscriber_plan_name: nil, request_options: nil)
87
+ Async do
88
+ response = @request_client.conn.post("/api/expected-network-status/v1") do |req|
89
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
90
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
91
+ req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
92
+ req.body = {
93
+ **(request_options&.additional_body_parameters || {}),
94
+ external_patient_id: external_patient_id,
95
+ subscriber_payer_id: subscriber_payer_id,
96
+ subscriber_payer_name: subscriber_payer_name,
97
+ subscriber_insurance_type: subscriber_insurance_type,
98
+ subscriber_plan_name: subscriber_plan_name,
99
+ billing_provider_npi: billing_provider_npi,
100
+ billing_provider_tin: billing_provider_tin,
101
+ rendering_provider_npi: rendering_provider_npi,
102
+ contracted_state: contracted_state,
103
+ date_of_service: date_of_service
104
+ }.compact
105
+ end
106
+ ExpectedNetworkStatus::V1::ExpectedNetworkStatusResponse.from_json(json_object: response.body)
107
+ end
108
+ end
109
+ end
110
+ end
111
+ end
112
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CandidApiClient
4
+ module ExpectedNetworkStatus
5
+ module V1
6
+ class ExpectedNetworkStatus
7
+ IN_NETWORK = "in_network"
8
+ OUT_OF_NETWORK = "out_of_network"
9
+ UNKNOWN = "unknown"
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,66 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "expected_network_status"
4
+ require_relative "../../../contracts/v_2/types/contract_id"
5
+ require "json"
6
+
7
+ module CandidApiClient
8
+ module ExpectedNetworkStatus
9
+ module V1
10
+ class ExpectedNetworkStatusResponse
11
+ attr_reader :expected_network_status, :explanation, :contract_id, :additional_properties
12
+
13
+ # @param expected_network_status [ExpectedNetworkStatus::V1::ExpectedNetworkStatus] The anticipated classification of a healthcare provider within the insurance plan's network.
14
+ # @param explanation [String]
15
+ # @param contract_id [Contracts::V2::CONTRACT_ID]
16
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
17
+ # @return [ExpectedNetworkStatus::V1::ExpectedNetworkStatusResponse]
18
+ def initialize(expected_network_status:, explanation:, contract_id: nil, additional_properties: nil)
19
+ # @type [ExpectedNetworkStatus::V1::ExpectedNetworkStatus] The anticipated classification of a healthcare provider within the insurance plan's network.
20
+ @expected_network_status = expected_network_status
21
+ # @type [String]
22
+ @explanation = explanation
23
+ # @type [Contracts::V2::CONTRACT_ID]
24
+ @contract_id = contract_id
25
+ # @type [OpenStruct] Additional properties unmapped to the current class definition
26
+ @additional_properties = additional_properties
27
+ end
28
+
29
+ # Deserialize a JSON object to an instance of ExpectedNetworkStatusResponse
30
+ #
31
+ # @param json_object [JSON]
32
+ # @return [ExpectedNetworkStatus::V1::ExpectedNetworkStatusResponse]
33
+ def self.from_json(json_object:)
34
+ struct = JSON.parse(json_object, object_class: OpenStruct)
35
+ JSON.parse(json_object)
36
+ expected_network_status = struct.expected_network_status
37
+ explanation = struct.explanation
38
+ contract_id = struct.contract_id
39
+ new(expected_network_status: expected_network_status, explanation: explanation, contract_id: contract_id,
40
+ additional_properties: struct)
41
+ end
42
+
43
+ # Serialize an instance of ExpectedNetworkStatusResponse to a JSON object
44
+ #
45
+ # @return [JSON]
46
+ def to_json(*_args)
47
+ {
48
+ "expected_network_status": @expected_network_status,
49
+ "explanation": @explanation,
50
+ "contract_id": @contract_id
51
+ }.to_json
52
+ end
53
+
54
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given hash and check each fields type against the current object's property definitions.
55
+ #
56
+ # @param obj [Object]
57
+ # @return [Void]
58
+ def self.validate_raw(obj:)
59
+ obj.expected_network_status.is_a?(ExpectedNetworkStatus::V1::ExpectedNetworkStatus) != false || raise("Passed value for field obj.expected_network_status is not the expected type, validation failed.")
60
+ obj.explanation.is_a?(String) != false || raise("Passed value for field obj.explanation is not the expected type, validation failed.")
61
+ obj.contract_id&.is_a?(String) != false || raise("Passed value for field obj.contract_id is not the expected type, validation failed.")
62
+ end
63
+ end
64
+ end
65
+ end
66
+ end
@@ -0,0 +1,183 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../../../requests"
4
+ require_relative "../../organization_providers/v_2/types/organization_provider_id"
5
+ require_relative "types/expected_network_status_request_v_2"
6
+ require_relative "types/expected_network_status_response_v_2"
7
+ require_relative "types/compute_all_in_network_providers_request"
8
+ require_relative "types/compute_all_in_network_providers_response"
9
+ require "async"
10
+
11
+ module CandidApiClient
12
+ module ExpectedNetworkStatus
13
+ module V2
14
+ class V2Client
15
+ attr_reader :request_client
16
+
17
+ # @param request_client [RequestClient]
18
+ # @return [ExpectedNetworkStatus::V2::V2Client]
19
+ def initialize(request_client:)
20
+ # @type [RequestClient]
21
+ @request_client = request_client
22
+ end
23
+
24
+ # Computes the expected network status for a given rendering provider.
25
+ # This endpoint is not available to all customers. Reach out to the Candid sales team
26
+ # to discuss enabling this endpoint if it is not available for your organization.
27
+ #
28
+ # @param rendering_provider_id [OrganizationProviders::V2::ORGANIZATION_PROVIDER_ID]
29
+ # @param request [Hash] Request of type ExpectedNetworkStatus::V2::ExpectedNetworkStatusRequestV2, as a Hash
30
+ # * :service_type (ExpectedNetworkStatus::V2::ServiceType)
31
+ # * :place_of_service_code (Commons::FacilityTypeCode)
32
+ # * :subscriber_information (Hash)
33
+ # * :payer_uuid (Payers::V3::PAYER_String)
34
+ # * :member_id (String)
35
+ # * :insurance_type (Hash)
36
+ # * :line_of_business (ExpectedNetworkStatus::V2::LineOfBusiness)
37
+ # * :insurance_type_codes (Hash)
38
+ # * :patient_address (Hash)
39
+ # * :zip_plus_four_code (String)
40
+ # * :address_1 (String)
41
+ # * :address_2 (String)
42
+ # * :city (String)
43
+ # * :state (Commons::State)
44
+ # * :zip_code (String)
45
+ # * :billing_provider_id (OrganizationProviders::V2::ORGANIZATION_PROVIDER_ID)
46
+ # * :organization_service_facility_id (OrganizationServiceFacilities::V2::ORGANIZATION_SERVICE_FACILITY_ID)
47
+ # * :date_of_service (Date)
48
+ # @param request_options [RequestOptions]
49
+ # @return [ExpectedNetworkStatus::V2::ExpectedNetworkStatusResponseV2]
50
+ def compute_for_rendering_provider(rendering_provider_id:, request:, request_options: nil)
51
+ response = @request_client.conn.post("/api/expected-network-status/v2/compute/#{rendering_provider_id}") do |req|
52
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
53
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
54
+ req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
55
+ req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
56
+ end
57
+ ExpectedNetworkStatus::V2::ExpectedNetworkStatusResponseV2.from_json(json_object: response.body)
58
+ end
59
+
60
+ # Computes all the in network providers for a given set of inputs.
61
+ # This endpoint is not available to all customers. Reach out to the Candid sales team
62
+ # to discuss enabling this endpoint if it is not available for your organization.
63
+ #
64
+ # @param request [Hash] Request of type ExpectedNetworkStatus::V2::ComputeAllInNetworkProvidersRequest, as a Hash
65
+ # * :service_type (ExpectedNetworkStatus::V2::ServiceType)
66
+ # * :place_of_service_code (Commons::FacilityTypeCode)
67
+ # * :subscriber_information (Hash)
68
+ # * :payer_uuid (Payers::V3::PAYER_String)
69
+ # * :member_id (String)
70
+ # * :insurance_type (Hash)
71
+ # * :line_of_business (ExpectedNetworkStatus::V2::LineOfBusiness)
72
+ # * :insurance_type_codes (Hash)
73
+ # * :patient_address (Hash)
74
+ # * :zip_plus_four_code (String)
75
+ # * :address_1 (String)
76
+ # * :address_2 (String)
77
+ # * :city (String)
78
+ # * :state (Commons::State)
79
+ # * :zip_code (String)
80
+ # * :billing_provider_id (OrganizationProviders::V2::ORGANIZATION_PROVIDER_ID)
81
+ # * :organization_service_facility_id (OrganizationServiceFacilities::V2::ORGANIZATION_SERVICE_FACILITY_ID)
82
+ # * :date_of_service (Date)
83
+ # @param request_options [RequestOptions]
84
+ # @return [ExpectedNetworkStatus::V2::ComputeAllInNetworkProvidersResponse]
85
+ def compute_all_in_network_providers(request:, request_options: nil)
86
+ response = @request_client.conn.post("/api/expected-network-status/v2/compute") do |req|
87
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
88
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
89
+ req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
90
+ req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
91
+ end
92
+ ExpectedNetworkStatus::V2::ComputeAllInNetworkProvidersResponse.from_json(json_object: response.body)
93
+ end
94
+ end
95
+
96
+ class AsyncV2Client
97
+ attr_reader :request_client
98
+
99
+ # @param request_client [AsyncRequestClient]
100
+ # @return [ExpectedNetworkStatus::V2::AsyncV2Client]
101
+ def initialize(request_client:)
102
+ # @type [AsyncRequestClient]
103
+ @request_client = request_client
104
+ end
105
+
106
+ # Computes the expected network status for a given rendering provider.
107
+ # This endpoint is not available to all customers. Reach out to the Candid sales team
108
+ # to discuss enabling this endpoint if it is not available for your organization.
109
+ #
110
+ # @param rendering_provider_id [OrganizationProviders::V2::ORGANIZATION_PROVIDER_ID]
111
+ # @param request [Hash] Request of type ExpectedNetworkStatus::V2::ExpectedNetworkStatusRequestV2, as a Hash
112
+ # * :service_type (ExpectedNetworkStatus::V2::ServiceType)
113
+ # * :place_of_service_code (Commons::FacilityTypeCode)
114
+ # * :subscriber_information (Hash)
115
+ # * :payer_uuid (Payers::V3::PAYER_String)
116
+ # * :member_id (String)
117
+ # * :insurance_type (Hash)
118
+ # * :line_of_business (ExpectedNetworkStatus::V2::LineOfBusiness)
119
+ # * :insurance_type_codes (Hash)
120
+ # * :patient_address (Hash)
121
+ # * :zip_plus_four_code (String)
122
+ # * :address_1 (String)
123
+ # * :address_2 (String)
124
+ # * :city (String)
125
+ # * :state (Commons::State)
126
+ # * :zip_code (String)
127
+ # * :billing_provider_id (OrganizationProviders::V2::ORGANIZATION_PROVIDER_ID)
128
+ # * :organization_service_facility_id (OrganizationServiceFacilities::V2::ORGANIZATION_SERVICE_FACILITY_ID)
129
+ # * :date_of_service (Date)
130
+ # @param request_options [RequestOptions]
131
+ # @return [ExpectedNetworkStatus::V2::ExpectedNetworkStatusResponseV2]
132
+ def compute_for_rendering_provider(rendering_provider_id:, request:, request_options: nil)
133
+ Async do
134
+ response = @request_client.conn.post("/api/expected-network-status/v2/compute/#{rendering_provider_id}") do |req|
135
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
136
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
137
+ req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
138
+ req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
139
+ end
140
+ ExpectedNetworkStatus::V2::ExpectedNetworkStatusResponseV2.from_json(json_object: response.body)
141
+ end
142
+ end
143
+
144
+ # Computes all the in network providers for a given set of inputs.
145
+ # This endpoint is not available to all customers. Reach out to the Candid sales team
146
+ # to discuss enabling this endpoint if it is not available for your organization.
147
+ #
148
+ # @param request [Hash] Request of type ExpectedNetworkStatus::V2::ComputeAllInNetworkProvidersRequest, as a Hash
149
+ # * :service_type (ExpectedNetworkStatus::V2::ServiceType)
150
+ # * :place_of_service_code (Commons::FacilityTypeCode)
151
+ # * :subscriber_information (Hash)
152
+ # * :payer_uuid (Payers::V3::PAYER_String)
153
+ # * :member_id (String)
154
+ # * :insurance_type (Hash)
155
+ # * :line_of_business (ExpectedNetworkStatus::V2::LineOfBusiness)
156
+ # * :insurance_type_codes (Hash)
157
+ # * :patient_address (Hash)
158
+ # * :zip_plus_four_code (String)
159
+ # * :address_1 (String)
160
+ # * :address_2 (String)
161
+ # * :city (String)
162
+ # * :state (Commons::State)
163
+ # * :zip_code (String)
164
+ # * :billing_provider_id (OrganizationProviders::V2::ORGANIZATION_PROVIDER_ID)
165
+ # * :organization_service_facility_id (OrganizationServiceFacilities::V2::ORGANIZATION_SERVICE_FACILITY_ID)
166
+ # * :date_of_service (Date)
167
+ # @param request_options [RequestOptions]
168
+ # @return [ExpectedNetworkStatus::V2::ComputeAllInNetworkProvidersResponse]
169
+ def compute_all_in_network_providers(request:, request_options: nil)
170
+ Async do
171
+ response = @request_client.conn.post("/api/expected-network-status/v2/compute") do |req|
172
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
173
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
174
+ req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
175
+ req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
176
+ end
177
+ ExpectedNetworkStatus::V2::ComputeAllInNetworkProvidersResponse.from_json(json_object: response.body)
178
+ end
179
+ end
180
+ end
181
+ end
182
+ end
183
+ end