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,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CandidApiClient
4
+ class Commons
5
+ TASK_NOTE_ID = String
6
+ end
7
+ end
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CandidApiClient
4
+ class Commons
5
+ TAX_ID = String
6
+ end
7
+ end
@@ -0,0 +1,47 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "json"
4
+
5
+ module CandidApiClient
6
+ class Commons
7
+ class UnauthorizedErrorMessage
8
+ attr_reader :message, :additional_properties
9
+
10
+ # @param message [String]
11
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
12
+ # @return [Commons::UnauthorizedErrorMessage]
13
+ def initialize(message: nil, additional_properties: nil)
14
+ # @type [String]
15
+ @message = message
16
+ # @type [OpenStruct] Additional properties unmapped to the current class definition
17
+ @additional_properties = additional_properties
18
+ end
19
+
20
+ # Deserialize a JSON object to an instance of UnauthorizedErrorMessage
21
+ #
22
+ # @param json_object [JSON]
23
+ # @return [Commons::UnauthorizedErrorMessage]
24
+ def self.from_json(json_object:)
25
+ struct = JSON.parse(json_object, object_class: OpenStruct)
26
+ JSON.parse(json_object)
27
+ message = struct.message
28
+ new(message: message, additional_properties: struct)
29
+ end
30
+
31
+ # Serialize an instance of UnauthorizedErrorMessage to a JSON object
32
+ #
33
+ # @return [JSON]
34
+ def to_json(*_args)
35
+ { "message": @message }.to_json
36
+ end
37
+
38
+ # 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.
39
+ #
40
+ # @param obj [Object]
41
+ # @return [Void]
42
+ def self.validate_raw(obj:)
43
+ obj.message&.is_a?(String) != false || raise("Passed value for field obj.message is not the expected type, validation failed.")
44
+ end
45
+ end
46
+ end
47
+ end
@@ -0,0 +1,47 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "json"
4
+
5
+ module CandidApiClient
6
+ class Commons
7
+ class UnprocessableEntityErrorMessage
8
+ attr_reader :message, :additional_properties
9
+
10
+ # @param message [String]
11
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
12
+ # @return [Commons::UnprocessableEntityErrorMessage]
13
+ def initialize(message: nil, additional_properties: nil)
14
+ # @type [String]
15
+ @message = message
16
+ # @type [OpenStruct] Additional properties unmapped to the current class definition
17
+ @additional_properties = additional_properties
18
+ end
19
+
20
+ # Deserialize a JSON object to an instance of UnprocessableEntityErrorMessage
21
+ #
22
+ # @param json_object [JSON]
23
+ # @return [Commons::UnprocessableEntityErrorMessage]
24
+ def self.from_json(json_object:)
25
+ struct = JSON.parse(json_object, object_class: OpenStruct)
26
+ JSON.parse(json_object)
27
+ message = struct.message
28
+ new(message: message, additional_properties: struct)
29
+ end
30
+
31
+ # Serialize an instance of UnprocessableEntityErrorMessage to a JSON object
32
+ #
33
+ # @return [JSON]
34
+ def to_json(*_args)
35
+ { "message": @message }.to_json
36
+ end
37
+
38
+ # 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.
39
+ #
40
+ # @param obj [Object]
41
+ # @return [Void]
42
+ def self.validate_raw(obj:)
43
+ obj.message&.is_a?(String) != false || raise("Passed value for field obj.message is not the expected type, validation failed.")
44
+ end
45
+ end
46
+ end
47
+ end
@@ -0,0 +1,47 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "json"
4
+
5
+ module CandidApiClient
6
+ class Commons
7
+ class UpdatesDisabledDueToExternalSystemIntegrationErrorMessage
8
+ attr_reader :message, :additional_properties
9
+
10
+ # @param message [String]
11
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
12
+ # @return [Commons::UpdatesDisabledDueToExternalSystemIntegrationErrorMessage]
13
+ def initialize(message: nil, additional_properties: nil)
14
+ # @type [String]
15
+ @message = message
16
+ # @type [OpenStruct] Additional properties unmapped to the current class definition
17
+ @additional_properties = additional_properties
18
+ end
19
+
20
+ # Deserialize a JSON object to an instance of UpdatesDisabledDueToExternalSystemIntegrationErrorMessage
21
+ #
22
+ # @param json_object [JSON]
23
+ # @return [Commons::UpdatesDisabledDueToExternalSystemIntegrationErrorMessage]
24
+ def self.from_json(json_object:)
25
+ struct = JSON.parse(json_object, object_class: OpenStruct)
26
+ JSON.parse(json_object)
27
+ message = struct.message
28
+ new(message: message, additional_properties: struct)
29
+ end
30
+
31
+ # Serialize an instance of UpdatesDisabledDueToExternalSystemIntegrationErrorMessage to a JSON object
32
+ #
33
+ # @return [JSON]
34
+ def to_json(*_args)
35
+ { "message": @message }.to_json
36
+ end
37
+
38
+ # 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.
39
+ #
40
+ # @param obj [Object]
41
+ # @return [Void]
42
+ def self.validate_raw(obj:)
43
+ obj.message&.is_a?(String) != false || raise("Passed value for field obj.message is not the expected type, validation failed.")
44
+ end
45
+ end
46
+ end
47
+ end
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CandidApiClient
4
+ class Commons
5
+ USER_ID = String
6
+ end
7
+ end
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CandidApiClient
4
+ class Commons
5
+ WORK_QUEUE_ID = String
6
+ end
7
+ end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../../requests"
4
+ require_relative "v_2/client"
5
+
6
+ module CandidApiClient
7
+ module Contracts
8
+ class Client
9
+ attr_reader :v_2
10
+
11
+ # @param request_client [RequestClient]
12
+ # @return [Contracts::Client]
13
+ def initialize(request_client:)
14
+ @v_2 = Contracts::V2::V2Client.new(request_client: request_client)
15
+ end
16
+ end
17
+
18
+ class AsyncClient
19
+ attr_reader :v_2
20
+
21
+ # @param request_client [RequestClient]
22
+ # @return [Contracts::AsyncClient]
23
+ def initialize(request_client:)
24
+ @v_2 = Contracts::V2::AsyncV2Client.new(request_client: request_client)
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,336 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../../../requests"
4
+ require_relative "types/contract_id"
5
+ require_relative "types/contract_with_providers"
6
+ require_relative "../../commons/types/page_token"
7
+ require_relative "types/contracting_provider_id"
8
+ require_relative "types/rendering_providerid"
9
+ require_relative "../../commons/types/state"
10
+ require_relative "types/contract_status"
11
+ require_relative "types/contracts_page"
12
+ require_relative "../../commons/types/date"
13
+ require_relative "../../commons/types/regions"
14
+ require_relative "types/authorized_signatory"
15
+ require_relative "types/insurance_types"
16
+ require "set"
17
+ require_relative "types/date_update"
18
+ require_relative "types/regions_update"
19
+ require_relative "types/authorized_signatory_update"
20
+ require "async"
21
+
22
+ module CandidApiClient
23
+ module Contracts
24
+ module V2
25
+ class V2Client
26
+ attr_reader :request_client
27
+
28
+ # @param request_client [RequestClient]
29
+ # @return [Contracts::V2::V2Client]
30
+ def initialize(request_client:)
31
+ # @type [RequestClient]
32
+ @request_client = request_client
33
+ end
34
+
35
+ # @param contract_id [Contracts::V2::CONTRACT_ID]
36
+ # @param request_options [RequestOptions]
37
+ # @return [Contracts::V2::ContractWithProviders]
38
+ def get(contract_id:, request_options: nil)
39
+ response = @request_client.conn.get("/api/contracts/v2/#{contract_id}") 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
+ end
44
+ Contracts::V2::ContractWithProviders.from_json(json_object: response.body)
45
+ end
46
+
47
+ # @param page_token [Commons::PAGE_TOKEN]
48
+ # @param limit [Integer] Max number of contracts returned. Defaults to 1000. Max is 1000.
49
+ # @param contracting_provider_id [Contracts::V2::CONTRACTING_PROVIDER_ID]
50
+ # @param rendering_provider_ids [Contracts::V2::RENDERING_PROVIDERID]
51
+ # @param payer_names [String] Filter to contracts that include any of the included payer names.
52
+ # @param states [Commons::State]
53
+ # @param contract_status [Contracts::V2::ContractStatus] The status of the contract. Defaults to `pending`
54
+ # @param request_options [RequestOptions]
55
+ # @return [Contracts::V2::ContractsPage]
56
+ def get_multi(page_token: nil, limit: nil, contracting_provider_id: nil, rendering_provider_ids: nil,
57
+ payer_names: nil, states: nil, contract_status: nil, request_options: nil)
58
+ response = @request_client.conn.get("/api/contracts/v2") do |req|
59
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
60
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
61
+ req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
62
+ req.params = {
63
+ **(request_options&.additional_query_parameters || {}),
64
+ "page_token": page_token,
65
+ "limit": limit,
66
+ "contracting_provider_id": contracting_provider_id,
67
+ "rendering_provider_ids": rendering_provider_ids,
68
+ "payer_names": payer_names,
69
+ "states": states,
70
+ "contract_status": contract_status
71
+ }.compact
72
+ end
73
+ Contracts::V2::ContractsPage.from_json(json_object: response.body)
74
+ end
75
+
76
+ # Creates a new contract within the user's current organization
77
+ #
78
+ # @param effective_date [Commons::DATE] The starting day upon which the contract is effective
79
+ # @param expiration_date [Commons::DATE] An optional end day upon which the contract expires
80
+ # @param regions [Commons::Regions] The state(s) to which the contract's coverage extends.
81
+ # It may also be set to "national" for the entirety of the US.
82
+ # @param contract_status [Contracts::V2::ContractStatus]
83
+ # @param authorized_signatory [Hash] Request of type Contracts::V2::AuthorizedSignatory, as a Hash
84
+ # * :first_name (String)
85
+ # * :last_name (String)
86
+ # * :title (String)
87
+ # * :email (String)
88
+ # * :phone (String)
89
+ # * :fax (String)
90
+ # @param commercial_insurance_types [Contracts::V2::InsuranceTypes] The commercial plan insurance types this contract applies.
91
+ # @param medicare_insurance_types [Contracts::V2::InsuranceTypes] The Medicare plan insurance types this contract applies.
92
+ # @param medicaid_insurance_types [Contracts::V2::InsuranceTypes] The Medicaid plan insurance types this contract applies.
93
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
94
+ # @param contracting_provider_id [Contracts::V2::CONTRACTING_PROVIDER_ID] The String of the provider under agreement to the contract
95
+ # @param rendering_provider_ids [Set<Contracts::V2::RENDERING_PROVIDERID>] A rendering provider isn't contracted directly with the payer but can render
96
+ # services under the contract held by the contracting provider.
97
+ # Max items is 100.
98
+ # @param payer_uuid [String] The String of the insurance company under agreement to the contract
99
+ # @param request_options [RequestOptions]
100
+ # @return [Contracts::V2::ContractWithProviders]
101
+ def create(effective_date:, regions:, commercial_insurance_types:, medicare_insurance_types:,
102
+ medicaid_insurance_types:, contracting_provider_id:, rendering_provider_ids:, payer_uuid:, expiration_date: nil, contract_status: nil, authorized_signatory: nil, additional_properties: nil, request_options: nil)
103
+ response = @request_client.conn.post("/api/contracts/v2") do |req|
104
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
105
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
106
+ req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
107
+ req.body = {
108
+ **(request_options&.additional_body_parameters || {}),
109
+ effective_date: effective_date,
110
+ expiration_date: expiration_date,
111
+ regions: regions,
112
+ contract_status: contract_status,
113
+ authorized_signatory: authorized_signatory,
114
+ commercial_insurance_types: commercial_insurance_types,
115
+ medicare_insurance_types: medicare_insurance_types,
116
+ medicaid_insurance_types: medicaid_insurance_types,
117
+ additional_properties: additional_properties,
118
+ contracting_provider_id: contracting_provider_id,
119
+ rendering_provider_ids: rendering_provider_ids,
120
+ payer_uuid: payer_uuid
121
+ }.compact
122
+ end
123
+ Contracts::V2::ContractWithProviders.from_json(json_object: response.body)
124
+ end
125
+
126
+ # @param contract_id [Contracts::V2::CONTRACT_ID]
127
+ # @param request_options [RequestOptions]
128
+ # @return [Void]
129
+ def delete(contract_id:, request_options: nil)
130
+ @request_client.conn.delete("/api/contracts/v2/#{contract_id}") do |req|
131
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
132
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
133
+ req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
134
+ end
135
+ end
136
+
137
+ # @param contract_id [Contracts::V2::CONTRACT_ID]
138
+ # @param rendering_provider_ids [Set<Contracts::V2::RENDERING_PROVIDERID>] A rendering provider isn't contracted directly with the payer but can render
139
+ # services under the contract held by the contracting provider.
140
+ # Max items is 100.
141
+ # @param effective_date [Commons::DATE] The starting day upon which the contract is effective
142
+ # @param expiration_date [Contracts::V2::DateUpdate] An optional end day upon which the contract expires
143
+ # @param regions [Contracts::V2::RegionsUpdate] If present, the contract's rendering providers will be patched to this exact
144
+ # value, overriding what was set before.
145
+ # @param contract_status [Contracts::V2::ContractStatus]
146
+ # @param authorized_signatory [Contracts::V2::AuthorizedSignatoryUpdate]
147
+ # @param commercial_insurance_types [Contracts::V2::InsuranceTypes]
148
+ # @param medicare_insurance_types [Contracts::V2::InsuranceTypes]
149
+ # @param medicaid_insurance_types [Contracts::V2::InsuranceTypes]
150
+ # @param request_options [RequestOptions]
151
+ # @return [Contracts::V2::ContractWithProviders]
152
+ def update(contract_id:, rendering_provider_ids: nil, effective_date: nil, expiration_date: nil, regions: nil,
153
+ contract_status: nil, authorized_signatory: nil, commercial_insurance_types: nil, medicare_insurance_types: nil, medicaid_insurance_types: nil, request_options: nil)
154
+ response = @request_client.conn.patch("/api/contracts/v2/#{contract_id}") do |req|
155
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
156
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
157
+ req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
158
+ req.body = {
159
+ **(request_options&.additional_body_parameters || {}),
160
+ rendering_provider_ids: rendering_provider_ids,
161
+ effective_date: effective_date,
162
+ expiration_date: expiration_date,
163
+ regions: regions,
164
+ contract_status: contract_status,
165
+ authorized_signatory: authorized_signatory,
166
+ commercial_insurance_types: commercial_insurance_types,
167
+ medicare_insurance_types: medicare_insurance_types,
168
+ medicaid_insurance_types: medicaid_insurance_types
169
+ }.compact
170
+ end
171
+ Contracts::V2::ContractWithProviders.from_json(json_object: response.body)
172
+ end
173
+ end
174
+
175
+ class AsyncV2Client
176
+ attr_reader :request_client
177
+
178
+ # @param request_client [AsyncRequestClient]
179
+ # @return [Contracts::V2::AsyncV2Client]
180
+ def initialize(request_client:)
181
+ # @type [AsyncRequestClient]
182
+ @request_client = request_client
183
+ end
184
+
185
+ # @param contract_id [Contracts::V2::CONTRACT_ID]
186
+ # @param request_options [RequestOptions]
187
+ # @return [Contracts::V2::ContractWithProviders]
188
+ def get(contract_id:, request_options: nil)
189
+ Async do
190
+ response = @request_client.conn.get("/api/contracts/v2/#{contract_id}") do |req|
191
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
192
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
193
+ req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
194
+ end
195
+ Contracts::V2::ContractWithProviders.from_json(json_object: response.body)
196
+ end
197
+ end
198
+
199
+ # @param page_token [Commons::PAGE_TOKEN]
200
+ # @param limit [Integer] Max number of contracts returned. Defaults to 1000. Max is 1000.
201
+ # @param contracting_provider_id [Contracts::V2::CONTRACTING_PROVIDER_ID]
202
+ # @param rendering_provider_ids [Contracts::V2::RENDERING_PROVIDERID]
203
+ # @param payer_names [String] Filter to contracts that include any of the included payer names.
204
+ # @param states [Commons::State]
205
+ # @param contract_status [Contracts::V2::ContractStatus] The status of the contract. Defaults to `pending`
206
+ # @param request_options [RequestOptions]
207
+ # @return [Contracts::V2::ContractsPage]
208
+ def get_multi(page_token: nil, limit: nil, contracting_provider_id: nil, rendering_provider_ids: nil,
209
+ payer_names: nil, states: nil, contract_status: nil, request_options: nil)
210
+ Async do
211
+ response = @request_client.conn.get("/api/contracts/v2") do |req|
212
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
213
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
214
+ req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
215
+ req.params = {
216
+ **(request_options&.additional_query_parameters || {}),
217
+ "page_token": page_token,
218
+ "limit": limit,
219
+ "contracting_provider_id": contracting_provider_id,
220
+ "rendering_provider_ids": rendering_provider_ids,
221
+ "payer_names": payer_names,
222
+ "states": states,
223
+ "contract_status": contract_status
224
+ }.compact
225
+ end
226
+ Contracts::V2::ContractsPage.from_json(json_object: response.body)
227
+ end
228
+ end
229
+
230
+ # Creates a new contract within the user's current organization
231
+ #
232
+ # @param effective_date [Commons::DATE] The starting day upon which the contract is effective
233
+ # @param expiration_date [Commons::DATE] An optional end day upon which the contract expires
234
+ # @param regions [Commons::Regions] The state(s) to which the contract's coverage extends.
235
+ # It may also be set to "national" for the entirety of the US.
236
+ # @param contract_status [Contracts::V2::ContractStatus]
237
+ # @param authorized_signatory [Hash] Request of type Contracts::V2::AuthorizedSignatory, as a Hash
238
+ # * :first_name (String)
239
+ # * :last_name (String)
240
+ # * :title (String)
241
+ # * :email (String)
242
+ # * :phone (String)
243
+ # * :fax (String)
244
+ # @param commercial_insurance_types [Contracts::V2::InsuranceTypes] The commercial plan insurance types this contract applies.
245
+ # @param medicare_insurance_types [Contracts::V2::InsuranceTypes] The Medicare plan insurance types this contract applies.
246
+ # @param medicaid_insurance_types [Contracts::V2::InsuranceTypes] The Medicaid plan insurance types this contract applies.
247
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
248
+ # @param contracting_provider_id [Contracts::V2::CONTRACTING_PROVIDER_ID] The String of the provider under agreement to the contract
249
+ # @param rendering_provider_ids [Set<Contracts::V2::RENDERING_PROVIDERID>] A rendering provider isn't contracted directly with the payer but can render
250
+ # services under the contract held by the contracting provider.
251
+ # Max items is 100.
252
+ # @param payer_uuid [String] The String of the insurance company under agreement to the contract
253
+ # @param request_options [RequestOptions]
254
+ # @return [Contracts::V2::ContractWithProviders]
255
+ def create(effective_date:, regions:, commercial_insurance_types:, medicare_insurance_types:,
256
+ medicaid_insurance_types:, contracting_provider_id:, rendering_provider_ids:, payer_uuid:, expiration_date: nil, contract_status: nil, authorized_signatory: nil, additional_properties: nil, request_options: nil)
257
+ Async do
258
+ response = @request_client.conn.post("/api/contracts/v2") do |req|
259
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
260
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
261
+ req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
262
+ req.body = {
263
+ **(request_options&.additional_body_parameters || {}),
264
+ effective_date: effective_date,
265
+ expiration_date: expiration_date,
266
+ regions: regions,
267
+ contract_status: contract_status,
268
+ authorized_signatory: authorized_signatory,
269
+ commercial_insurance_types: commercial_insurance_types,
270
+ medicare_insurance_types: medicare_insurance_types,
271
+ medicaid_insurance_types: medicaid_insurance_types,
272
+ additional_properties: additional_properties,
273
+ contracting_provider_id: contracting_provider_id,
274
+ rendering_provider_ids: rendering_provider_ids,
275
+ payer_uuid: payer_uuid
276
+ }.compact
277
+ end
278
+ Contracts::V2::ContractWithProviders.from_json(json_object: response.body)
279
+ end
280
+ end
281
+
282
+ # @param contract_id [Contracts::V2::CONTRACT_ID]
283
+ # @param request_options [RequestOptions]
284
+ # @return [Void]
285
+ def delete(contract_id:, request_options: nil)
286
+ Async do
287
+ @request_client.conn.delete("/api/contracts/v2/#{contract_id}") do |req|
288
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
289
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
290
+ req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
291
+ end
292
+ end
293
+ end
294
+
295
+ # @param contract_id [Contracts::V2::CONTRACT_ID]
296
+ # @param rendering_provider_ids [Set<Contracts::V2::RENDERING_PROVIDERID>] A rendering provider isn't contracted directly with the payer but can render
297
+ # services under the contract held by the contracting provider.
298
+ # Max items is 100.
299
+ # @param effective_date [Commons::DATE] The starting day upon which the contract is effective
300
+ # @param expiration_date [Contracts::V2::DateUpdate] An optional end day upon which the contract expires
301
+ # @param regions [Contracts::V2::RegionsUpdate] If present, the contract's rendering providers will be patched to this exact
302
+ # value, overriding what was set before.
303
+ # @param contract_status [Contracts::V2::ContractStatus]
304
+ # @param authorized_signatory [Contracts::V2::AuthorizedSignatoryUpdate]
305
+ # @param commercial_insurance_types [Contracts::V2::InsuranceTypes]
306
+ # @param medicare_insurance_types [Contracts::V2::InsuranceTypes]
307
+ # @param medicaid_insurance_types [Contracts::V2::InsuranceTypes]
308
+ # @param request_options [RequestOptions]
309
+ # @return [Contracts::V2::ContractWithProviders]
310
+ def update(contract_id:, rendering_provider_ids: nil, effective_date: nil, expiration_date: nil, regions: nil,
311
+ contract_status: nil, authorized_signatory: nil, commercial_insurance_types: nil, medicare_insurance_types: nil, medicaid_insurance_types: nil, request_options: nil)
312
+ Async do
313
+ response = @request_client.conn.patch("/api/contracts/v2/#{contract_id}") do |req|
314
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
315
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
316
+ req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
317
+ req.body = {
318
+ **(request_options&.additional_body_parameters || {}),
319
+ rendering_provider_ids: rendering_provider_ids,
320
+ effective_date: effective_date,
321
+ expiration_date: expiration_date,
322
+ regions: regions,
323
+ contract_status: contract_status,
324
+ authorized_signatory: authorized_signatory,
325
+ commercial_insurance_types: commercial_insurance_types,
326
+ medicare_insurance_types: medicare_insurance_types,
327
+ medicaid_insurance_types: medicaid_insurance_types
328
+ }.compact
329
+ end
330
+ Contracts::V2::ContractWithProviders.from_json(json_object: response.body)
331
+ end
332
+ end
333
+ end
334
+ end
335
+ end
336
+ end
@@ -0,0 +1,83 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "json"
4
+
5
+ module CandidApiClient
6
+ module Contracts
7
+ module V2
8
+ class AuthorizedSignatory
9
+ attr_reader :first_name, :last_name, :title, :email, :phone, :fax, :additional_properties
10
+
11
+ # @param first_name [String]
12
+ # @param last_name [String]
13
+ # @param title [String]
14
+ # @param email [String]
15
+ # @param phone [String]
16
+ # @param fax [String]
17
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
18
+ # @return [Contracts::V2::AuthorizedSignatory]
19
+ def initialize(first_name: nil, last_name: nil, title: nil, email: nil, phone: nil, fax: nil,
20
+ additional_properties: nil)
21
+ # @type [String]
22
+ @first_name = first_name
23
+ # @type [String]
24
+ @last_name = last_name
25
+ # @type [String]
26
+ @title = title
27
+ # @type [String]
28
+ @email = email
29
+ # @type [String]
30
+ @phone = phone
31
+ # @type [String]
32
+ @fax = fax
33
+ # @type [OpenStruct] Additional properties unmapped to the current class definition
34
+ @additional_properties = additional_properties
35
+ end
36
+
37
+ # Deserialize a JSON object to an instance of AuthorizedSignatory
38
+ #
39
+ # @param json_object [JSON]
40
+ # @return [Contracts::V2::AuthorizedSignatory]
41
+ def self.from_json(json_object:)
42
+ struct = JSON.parse(json_object, object_class: OpenStruct)
43
+ JSON.parse(json_object)
44
+ first_name = struct.first_name
45
+ last_name = struct.last_name
46
+ title = struct.title
47
+ email = struct.email
48
+ phone = struct.phone
49
+ fax = struct.fax
50
+ new(first_name: first_name, last_name: last_name, title: title, email: email, phone: phone, fax: fax,
51
+ additional_properties: struct)
52
+ end
53
+
54
+ # Serialize an instance of AuthorizedSignatory to a JSON object
55
+ #
56
+ # @return [JSON]
57
+ def to_json(*_args)
58
+ {
59
+ "first_name": @first_name,
60
+ "last_name": @last_name,
61
+ "title": @title,
62
+ "email": @email,
63
+ "phone": @phone,
64
+ "fax": @fax
65
+ }.to_json
66
+ end
67
+
68
+ # 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.
69
+ #
70
+ # @param obj [Object]
71
+ # @return [Void]
72
+ def self.validate_raw(obj:)
73
+ obj.first_name&.is_a?(String) != false || raise("Passed value for field obj.first_name is not the expected type, validation failed.")
74
+ obj.last_name&.is_a?(String) != false || raise("Passed value for field obj.last_name is not the expected type, validation failed.")
75
+ obj.title&.is_a?(String) != false || raise("Passed value for field obj.title is not the expected type, validation failed.")
76
+ obj.email&.is_a?(String) != false || raise("Passed value for field obj.email is not the expected type, validation failed.")
77
+ obj.phone&.is_a?(String) != false || raise("Passed value for field obj.phone is not the expected type, validation failed.")
78
+ obj.fax&.is_a?(String) != false || raise("Passed value for field obj.fax is not the expected type, validation failed.")
79
+ end
80
+ end
81
+ end
82
+ end
83
+ end