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,98 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "insurance_payment_id"
4
+ require_relative "../../../payers/v_3/types/payer"
5
+ require "date"
6
+ require_relative "../../../financials/types/allocation"
7
+ require "json"
8
+
9
+ module CandidApiClient
10
+ module InsurancePayments
11
+ module V1
12
+ class InsurancePayment
13
+ attr_reader :insurance_payment_id, :payer, :amount_cents, :payment_timestamp, :payment_note, :allocations,
14
+ :additional_properties
15
+
16
+ # @param insurance_payment_id [InsurancePayments::V1::INSURANCE_PAYMENT_ID]
17
+ # @param payer [Payers::V3::Payer]
18
+ # @param amount_cents [Integer]
19
+ # @param payment_timestamp [DateTime]
20
+ # @param payment_note [String]
21
+ # @param allocations [Array<Financials::Allocation>]
22
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
23
+ # @return [InsurancePayments::V1::InsurancePayment]
24
+ def initialize(insurance_payment_id:, payer:, amount_cents:, allocations:, payment_timestamp: nil,
25
+ payment_note: nil, additional_properties: nil)
26
+ # @type [InsurancePayments::V1::INSURANCE_PAYMENT_ID]
27
+ @insurance_payment_id = insurance_payment_id
28
+ # @type [Payers::V3::Payer]
29
+ @payer = payer
30
+ # @type [Integer]
31
+ @amount_cents = amount_cents
32
+ # @type [DateTime]
33
+ @payment_timestamp = payment_timestamp
34
+ # @type [String]
35
+ @payment_note = payment_note
36
+ # @type [Array<Financials::Allocation>]
37
+ @allocations = allocations
38
+ # @type [OpenStruct] Additional properties unmapped to the current class definition
39
+ @additional_properties = additional_properties
40
+ end
41
+
42
+ # Deserialize a JSON object to an instance of InsurancePayment
43
+ #
44
+ # @param json_object [JSON]
45
+ # @return [InsurancePayments::V1::InsurancePayment]
46
+ def self.from_json(json_object:)
47
+ struct = JSON.parse(json_object, object_class: OpenStruct)
48
+ parsed_json = JSON.parse(json_object)
49
+ insurance_payment_id = struct.insurance_payment_id
50
+ if parsed_json["payer"].nil?
51
+ payer = nil
52
+ else
53
+ payer = parsed_json["payer"].to_json
54
+ payer = Payers::V3::Payer.from_json(json_object: payer)
55
+ end
56
+ amount_cents = struct.amount_cents
57
+ payment_timestamp = unless parsed_json["payment_timestamp"].nil?
58
+ DateTime.parse(parsed_json["payment_timestamp"])
59
+ end
60
+ payment_note = struct.payment_note
61
+ allocations = parsed_json["allocations"]&.map do |v|
62
+ v = v.to_json
63
+ Financials::Allocation.from_json(json_object: v)
64
+ end
65
+ new(insurance_payment_id: insurance_payment_id, payer: payer, amount_cents: amount_cents,
66
+ payment_timestamp: payment_timestamp, payment_note: payment_note, allocations: allocations, additional_properties: struct)
67
+ end
68
+
69
+ # Serialize an instance of InsurancePayment to a JSON object
70
+ #
71
+ # @return [JSON]
72
+ def to_json(*_args)
73
+ {
74
+ "insurance_payment_id": @insurance_payment_id,
75
+ "payer": @payer,
76
+ "amount_cents": @amount_cents,
77
+ "payment_timestamp": @payment_timestamp,
78
+ "payment_note": @payment_note,
79
+ "allocations": @allocations
80
+ }.to_json
81
+ end
82
+
83
+ # 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.
84
+ #
85
+ # @param obj [Object]
86
+ # @return [Void]
87
+ def self.validate_raw(obj:)
88
+ obj.insurance_payment_id.is_a?(String) != false || raise("Passed value for field obj.insurance_payment_id is not the expected type, validation failed.")
89
+ Payers::V3::Payer.validate_raw(obj: obj.payer)
90
+ obj.amount_cents.is_a?(Integer) != false || raise("Passed value for field obj.amount_cents is not the expected type, validation failed.")
91
+ obj.payment_timestamp&.is_a?(DateTime) != false || raise("Passed value for field obj.payment_timestamp is not the expected type, validation failed.")
92
+ obj.payment_note&.is_a?(String) != false || raise("Passed value for field obj.payment_note is not the expected type, validation failed.")
93
+ obj.allocations.is_a?(Array) != false || raise("Passed value for field obj.allocations is not the expected type, validation failed.")
94
+ end
95
+ end
96
+ end
97
+ end
98
+ end
@@ -0,0 +1,91 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../../../payers/v_3/types/payer_identifier"
4
+ require "date"
5
+ require_relative "../../../financials/types/allocation_create"
6
+ require "json"
7
+
8
+ module CandidApiClient
9
+ module InsurancePayments
10
+ module V1
11
+ class InsurancePaymentCreate
12
+ attr_reader :payer_identifier, :amount_cents, :payment_timestamp, :payment_note, :allocations,
13
+ :additional_properties
14
+
15
+ # @param payer_identifier [Payers::V3::PayerIdentifier]
16
+ # @param amount_cents [Integer]
17
+ # @param payment_timestamp [DateTime]
18
+ # @param payment_note [String]
19
+ # @param allocations [Array<Financials::AllocationCreate>]
20
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
21
+ # @return [InsurancePayments::V1::InsurancePaymentCreate]
22
+ def initialize(payer_identifier:, amount_cents:, allocations:, payment_timestamp: nil, payment_note: nil,
23
+ additional_properties: nil)
24
+ # @type [Payers::V3::PayerIdentifier]
25
+ @payer_identifier = payer_identifier
26
+ # @type [Integer]
27
+ @amount_cents = amount_cents
28
+ # @type [DateTime]
29
+ @payment_timestamp = payment_timestamp
30
+ # @type [String]
31
+ @payment_note = payment_note
32
+ # @type [Array<Financials::AllocationCreate>]
33
+ @allocations = allocations
34
+ # @type [OpenStruct] Additional properties unmapped to the current class definition
35
+ @additional_properties = additional_properties
36
+ end
37
+
38
+ # Deserialize a JSON object to an instance of InsurancePaymentCreate
39
+ #
40
+ # @param json_object [JSON]
41
+ # @return [InsurancePayments::V1::InsurancePaymentCreate]
42
+ def self.from_json(json_object:)
43
+ struct = JSON.parse(json_object, object_class: OpenStruct)
44
+ parsed_json = JSON.parse(json_object)
45
+ if parsed_json["payer_identifier"].nil?
46
+ payer_identifier = nil
47
+ else
48
+ payer_identifier = parsed_json["payer_identifier"].to_json
49
+ payer_identifier = Payers::V3::PayerIdentifier.from_json(json_object: payer_identifier)
50
+ end
51
+ amount_cents = struct.amount_cents
52
+ payment_timestamp = unless parsed_json["payment_timestamp"].nil?
53
+ DateTime.parse(parsed_json["payment_timestamp"])
54
+ end
55
+ payment_note = struct.payment_note
56
+ allocations = parsed_json["allocations"]&.map do |v|
57
+ v = v.to_json
58
+ Financials::AllocationCreate.from_json(json_object: v)
59
+ end
60
+ new(payer_identifier: payer_identifier, amount_cents: amount_cents, payment_timestamp: payment_timestamp,
61
+ payment_note: payment_note, allocations: allocations, additional_properties: struct)
62
+ end
63
+
64
+ # Serialize an instance of InsurancePaymentCreate to a JSON object
65
+ #
66
+ # @return [JSON]
67
+ def to_json(*_args)
68
+ {
69
+ "payer_identifier": @payer_identifier,
70
+ "amount_cents": @amount_cents,
71
+ "payment_timestamp": @payment_timestamp,
72
+ "payment_note": @payment_note,
73
+ "allocations": @allocations
74
+ }.to_json
75
+ end
76
+
77
+ # 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.
78
+ #
79
+ # @param obj [Object]
80
+ # @return [Void]
81
+ def self.validate_raw(obj:)
82
+ Payers::V3::PayerIdentifier.validate_raw(obj: obj.payer_identifier)
83
+ obj.amount_cents.is_a?(Integer) != false || raise("Passed value for field obj.amount_cents is not the expected type, validation failed.")
84
+ obj.payment_timestamp&.is_a?(DateTime) != false || raise("Passed value for field obj.payment_timestamp is not the expected type, validation failed.")
85
+ obj.payment_note&.is_a?(String) != false || raise("Passed value for field obj.payment_note is not the expected type, validation failed.")
86
+ obj.allocations.is_a?(Array) != false || raise("Passed value for field obj.allocations is not the expected type, validation failed.")
87
+ end
88
+ end
89
+ end
90
+ end
91
+ end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CandidApiClient
4
+ module InsurancePayments
5
+ module V1
6
+ INSURANCE_PAYMENT_ID = String
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CandidApiClient
4
+ module InsurancePayments
5
+ module V1
6
+ class InsurancePaymentSortField
7
+ AMOUNT_CENTS = "amount_cents"
8
+ PAYMENT_TIMESTAMP = "payment_timestamp"
9
+ PAYMENT_NOTE = "payment_note"
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,65 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "insurance_payment"
4
+ require_relative "../../../commons/types/page_token"
5
+ require "json"
6
+
7
+ module CandidApiClient
8
+ module InsurancePayments
9
+ module V1
10
+ class InsurancePaymentsPage
11
+ attr_reader :items, :prev_page_token, :next_page_token, :additional_properties
12
+
13
+ # @param items [Array<InsurancePayments::V1::InsurancePayment>]
14
+ # @param prev_page_token [Commons::PAGE_TOKEN]
15
+ # @param next_page_token [Commons::PAGE_TOKEN]
16
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
17
+ # @return [InsurancePayments::V1::InsurancePaymentsPage]
18
+ def initialize(items:, prev_page_token: nil, next_page_token: nil, additional_properties: nil)
19
+ # @type [Array<InsurancePayments::V1::InsurancePayment>]
20
+ @items = items
21
+ # @type [Commons::PAGE_TOKEN]
22
+ @prev_page_token = prev_page_token
23
+ # @type [Commons::PAGE_TOKEN]
24
+ @next_page_token = next_page_token
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 InsurancePaymentsPage
30
+ #
31
+ # @param json_object [JSON]
32
+ # @return [InsurancePayments::V1::InsurancePaymentsPage]
33
+ def self.from_json(json_object:)
34
+ struct = JSON.parse(json_object, object_class: OpenStruct)
35
+ parsed_json = JSON.parse(json_object)
36
+ items = parsed_json["items"]&.map do |v|
37
+ v = v.to_json
38
+ InsurancePayments::V1::InsurancePayment.from_json(json_object: v)
39
+ end
40
+ prev_page_token = struct.prev_page_token
41
+ next_page_token = struct.next_page_token
42
+ new(items: items, prev_page_token: prev_page_token, next_page_token: next_page_token,
43
+ additional_properties: struct)
44
+ end
45
+
46
+ # Serialize an instance of InsurancePaymentsPage to a JSON object
47
+ #
48
+ # @return [JSON]
49
+ def to_json(*_args)
50
+ { "items": @items, "prev_page_token": @prev_page_token, "next_page_token": @next_page_token }.to_json
51
+ end
52
+
53
+ # 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.
54
+ #
55
+ # @param obj [Object]
56
+ # @return [Void]
57
+ def self.validate_raw(obj:)
58
+ obj.items.is_a?(Array) != false || raise("Passed value for field obj.items is not the expected type, validation failed.")
59
+ obj.prev_page_token&.is_a?(String) != false || raise("Passed value for field obj.prev_page_token is not the expected type, validation failed.")
60
+ obj.next_page_token&.is_a?(String) != false || raise("Passed value for field obj.next_page_token is not the expected type, validation failed.")
61
+ end
62
+ end
63
+ end
64
+ end
65
+ end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../../requests"
4
+ require_relative "v_1/client"
5
+
6
+ module CandidApiClient
7
+ module InsuranceRefunds
8
+ class Client
9
+ attr_reader :v_1
10
+
11
+ # @param request_client [RequestClient]
12
+ # @return [InsuranceRefunds::Client]
13
+ def initialize(request_client:)
14
+ @v_1 = InsuranceRefunds::V1::V1Client.new(request_client: request_client)
15
+ end
16
+ end
17
+
18
+ class AsyncClient
19
+ attr_reader :v_1
20
+
21
+ # @param request_client [RequestClient]
22
+ # @return [InsuranceRefunds::AsyncClient]
23
+ def initialize(request_client:)
24
+ @v_1 = InsuranceRefunds::V1::AsyncV1Client.new(request_client: request_client)
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,280 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../../../requests"
4
+ require_relative "../../payers/v_3/types/payer_uuid"
5
+ require_relative "../../commons/types/claim_id"
6
+ require_relative "../../commons/types/service_line_id"
7
+ require_relative "../../commons/types/provider_id"
8
+ require_relative "types/insurance_refund_sort_field"
9
+ require_relative "../../commons/types/sort_direction"
10
+ require_relative "../../commons/types/page_token"
11
+ require_relative "types/insurance_refunds_page"
12
+ require_relative "types/insurance_refund_id"
13
+ require_relative "types/insurance_refund"
14
+ require_relative "types/insurance_refund_create"
15
+ require "date"
16
+ require_relative "../../financials/types/note_update"
17
+ require_relative "../../financials/types/refund_reason_update"
18
+ require "async"
19
+
20
+ module CandidApiClient
21
+ module InsuranceRefunds
22
+ module V1
23
+ class V1Client
24
+ attr_reader :request_client
25
+
26
+ # @param request_client [RequestClient]
27
+ # @return [InsuranceRefunds::V1::V1Client]
28
+ def initialize(request_client:)
29
+ # @type [RequestClient]
30
+ @request_client = request_client
31
+ end
32
+
33
+ # Returns all insurance refunds satisfying the search criteria AND whose organization_id matches
34
+ # the current organization_id of the authenticated user.
35
+ #
36
+ # @param limit [Integer] Defaults to 100. The value must be greater than 0 and less than 1000.
37
+ # @param payer_uuid [Payers::V3::PAYER_String]
38
+ # @param claim_id [Commons::CLAIM_ID]
39
+ # @param service_line_id [Commons::SERVICE_LINE_ID]
40
+ # @param billing_provider_id [Commons::PROVIDER_ID]
41
+ # @param sort [InsuranceRefunds::V1::InsuranceRefundSortField] Defaults to refund_timestamp
42
+ # @param sort_direction [Commons::SortDirection] Sort direction. Defaults to descending order if not provided.
43
+ # @param page_token [Commons::PAGE_TOKEN]
44
+ # @param request_options [RequestOptions]
45
+ # @return [InsuranceRefunds::V1::InsuranceRefundsPage]
46
+ def get_multi(limit: nil, payer_uuid: nil, claim_id: nil, service_line_id: nil, billing_provider_id: nil,
47
+ sort: nil, sort_direction: nil, page_token: nil, request_options: nil)
48
+ response = @request_client.conn.get("/api/insurance-refunds/v1") do |req|
49
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
50
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
51
+ req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
52
+ req.params = {
53
+ **(request_options&.additional_query_parameters || {}),
54
+ "limit": limit,
55
+ "payer_uuid": payer_uuid,
56
+ "claim_id": claim_id,
57
+ "service_line_id": service_line_id,
58
+ "billing_provider_id": billing_provider_id,
59
+ "sort": sort,
60
+ "sort_direction": sort_direction,
61
+ "page_token": page_token
62
+ }.compact
63
+ end
64
+ InsuranceRefunds::V1::InsuranceRefundsPage.from_json(json_object: response.body)
65
+ end
66
+
67
+ # Retrieves a previously created insurance refund by its `insurance_refund_id`.
68
+ # If the refund does not exist, a `403` will be thrown.
69
+ #
70
+ # @param insurance_refund_id [InsuranceRefunds::V1::INSURANCE_REFUND_ID]
71
+ # @param request_options [RequestOptions]
72
+ # @return [InsuranceRefunds::V1::InsuranceRefund]
73
+ def get(insurance_refund_id:, request_options: nil)
74
+ response = @request_client.conn.get("/api/insurance-refunds/v1/#{insurance_refund_id}") do |req|
75
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
76
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
77
+ req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
78
+ end
79
+ InsuranceRefunds::V1::InsuranceRefund.from_json(json_object: response.body)
80
+ end
81
+
82
+ # Creates a new insurance refund record and returns the newly created `InsuranceRefund` object.
83
+ # The allocations can describe whether the refund is being applied toward a specific service line,
84
+ # claim, or billing provider.
85
+ #
86
+ # @param request [Hash] Request of type InsuranceRefunds::V1::InsuranceRefundCreate, as a Hash
87
+ # * :payer_identifier (Hash)
88
+ # * :amount_cents (Integer)
89
+ # * :refund_timestamp (DateTime)
90
+ # * :refund_note (String)
91
+ # * :allocations (Array<Financials::AllocationCreate>)
92
+ # * :refund_reason (Financials::RefundReason)
93
+ # @param request_options [RequestOptions]
94
+ # @return [InsuranceRefunds::V1::InsuranceRefund]
95
+ def create(request:, request_options: nil)
96
+ response = @request_client.conn.post("/api/insurance-refunds/v1") do |req|
97
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
98
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
99
+ req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
100
+ req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
101
+ end
102
+ InsuranceRefunds::V1::InsuranceRefund.from_json(json_object: response.body)
103
+ end
104
+
105
+ # Updates the patient refund record matching the provided insurance_refund_id. If updating the refund amount,
106
+ # then the allocations must be appropriately updated as well.
107
+ #
108
+ # @param insurance_refund_id [InsuranceRefunds::V1::INSURANCE_REFUND_ID]
109
+ # @param refund_timestamp [DateTime]
110
+ # @param refund_note [Financials::NoteUpdate]
111
+ # @param refund_reason [Financials::RefundReasonUpdate]
112
+ # @param request_options [RequestOptions]
113
+ # @return [InsuranceRefunds::V1::InsuranceRefund]
114
+ def update(insurance_refund_id:, refund_timestamp: nil, refund_note: nil, refund_reason: nil,
115
+ request_options: nil)
116
+ response = @request_client.conn.patch("/api/insurance-refunds/v1/#{insurance_refund_id}") do |req|
117
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
118
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
119
+ req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
120
+ req.body = {
121
+ **(request_options&.additional_body_parameters || {}),
122
+ refund_timestamp: refund_timestamp,
123
+ refund_note: refund_note,
124
+ refund_reason: refund_reason
125
+ }.compact
126
+ end
127
+ InsuranceRefunds::V1::InsuranceRefund.from_json(json_object: response.body)
128
+ end
129
+
130
+ # Deletes the insurance refund record matching the provided `insurance_refund_id`.
131
+ # If the matching record's organization_id does not match the authenticated user's
132
+ # current organization_id, then a response code of `403` will be returned.
133
+ #
134
+ # @param insurance_refund_id [InsuranceRefunds::V1::INSURANCE_REFUND_ID]
135
+ # @param request_options [RequestOptions]
136
+ # @return [Void]
137
+ def delete(insurance_refund_id:, request_options: nil)
138
+ @request_client.conn.delete("/api/insurance-refunds/v1/#{insurance_refund_id}") do |req|
139
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
140
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
141
+ req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
142
+ end
143
+ end
144
+ end
145
+
146
+ class AsyncV1Client
147
+ attr_reader :request_client
148
+
149
+ # @param request_client [AsyncRequestClient]
150
+ # @return [InsuranceRefunds::V1::AsyncV1Client]
151
+ def initialize(request_client:)
152
+ # @type [AsyncRequestClient]
153
+ @request_client = request_client
154
+ end
155
+
156
+ # Returns all insurance refunds satisfying the search criteria AND whose organization_id matches
157
+ # the current organization_id of the authenticated user.
158
+ #
159
+ # @param limit [Integer] Defaults to 100. The value must be greater than 0 and less than 1000.
160
+ # @param payer_uuid [Payers::V3::PAYER_String]
161
+ # @param claim_id [Commons::CLAIM_ID]
162
+ # @param service_line_id [Commons::SERVICE_LINE_ID]
163
+ # @param billing_provider_id [Commons::PROVIDER_ID]
164
+ # @param sort [InsuranceRefunds::V1::InsuranceRefundSortField] Defaults to refund_timestamp
165
+ # @param sort_direction [Commons::SortDirection] Sort direction. Defaults to descending order if not provided.
166
+ # @param page_token [Commons::PAGE_TOKEN]
167
+ # @param request_options [RequestOptions]
168
+ # @return [InsuranceRefunds::V1::InsuranceRefundsPage]
169
+ def get_multi(limit: nil, payer_uuid: nil, claim_id: nil, service_line_id: nil, billing_provider_id: nil,
170
+ sort: nil, sort_direction: nil, page_token: nil, request_options: nil)
171
+ Async do
172
+ response = @request_client.conn.get("/api/insurance-refunds/v1") do |req|
173
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
174
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
175
+ req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
176
+ req.params = {
177
+ **(request_options&.additional_query_parameters || {}),
178
+ "limit": limit,
179
+ "payer_uuid": payer_uuid,
180
+ "claim_id": claim_id,
181
+ "service_line_id": service_line_id,
182
+ "billing_provider_id": billing_provider_id,
183
+ "sort": sort,
184
+ "sort_direction": sort_direction,
185
+ "page_token": page_token
186
+ }.compact
187
+ end
188
+ InsuranceRefunds::V1::InsuranceRefundsPage.from_json(json_object: response.body)
189
+ end
190
+ end
191
+
192
+ # Retrieves a previously created insurance refund by its `insurance_refund_id`.
193
+ # If the refund does not exist, a `403` will be thrown.
194
+ #
195
+ # @param insurance_refund_id [InsuranceRefunds::V1::INSURANCE_REFUND_ID]
196
+ # @param request_options [RequestOptions]
197
+ # @return [InsuranceRefunds::V1::InsuranceRefund]
198
+ def get(insurance_refund_id:, request_options: nil)
199
+ Async do
200
+ response = @request_client.conn.get("/api/insurance-refunds/v1/#{insurance_refund_id}") do |req|
201
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
202
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
203
+ req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
204
+ end
205
+ InsuranceRefunds::V1::InsuranceRefund.from_json(json_object: response.body)
206
+ end
207
+ end
208
+
209
+ # Creates a new insurance refund record and returns the newly created `InsuranceRefund` object.
210
+ # The allocations can describe whether the refund is being applied toward a specific service line,
211
+ # claim, or billing provider.
212
+ #
213
+ # @param request [Hash] Request of type InsuranceRefunds::V1::InsuranceRefundCreate, as a Hash
214
+ # * :payer_identifier (Hash)
215
+ # * :amount_cents (Integer)
216
+ # * :refund_timestamp (DateTime)
217
+ # * :refund_note (String)
218
+ # * :allocations (Array<Financials::AllocationCreate>)
219
+ # * :refund_reason (Financials::RefundReason)
220
+ # @param request_options [RequestOptions]
221
+ # @return [InsuranceRefunds::V1::InsuranceRefund]
222
+ def create(request:, request_options: nil)
223
+ Async do
224
+ response = @request_client.conn.post("/api/insurance-refunds/v1") do |req|
225
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
226
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
227
+ req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
228
+ req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
229
+ end
230
+ InsuranceRefunds::V1::InsuranceRefund.from_json(json_object: response.body)
231
+ end
232
+ end
233
+
234
+ # Updates the patient refund record matching the provided insurance_refund_id. If updating the refund amount,
235
+ # then the allocations must be appropriately updated as well.
236
+ #
237
+ # @param insurance_refund_id [InsuranceRefunds::V1::INSURANCE_REFUND_ID]
238
+ # @param refund_timestamp [DateTime]
239
+ # @param refund_note [Financials::NoteUpdate]
240
+ # @param refund_reason [Financials::RefundReasonUpdate]
241
+ # @param request_options [RequestOptions]
242
+ # @return [InsuranceRefunds::V1::InsuranceRefund]
243
+ def update(insurance_refund_id:, refund_timestamp: nil, refund_note: nil, refund_reason: nil,
244
+ request_options: nil)
245
+ Async do
246
+ response = @request_client.conn.patch("/api/insurance-refunds/v1/#{insurance_refund_id}") do |req|
247
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
248
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
249
+ req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
250
+ req.body = {
251
+ **(request_options&.additional_body_parameters || {}),
252
+ refund_timestamp: refund_timestamp,
253
+ refund_note: refund_note,
254
+ refund_reason: refund_reason
255
+ }.compact
256
+ end
257
+ InsuranceRefunds::V1::InsuranceRefund.from_json(json_object: response.body)
258
+ end
259
+ end
260
+
261
+ # Deletes the insurance refund record matching the provided `insurance_refund_id`.
262
+ # If the matching record's organization_id does not match the authenticated user's
263
+ # current organization_id, then a response code of `403` will be returned.
264
+ #
265
+ # @param insurance_refund_id [InsuranceRefunds::V1::INSURANCE_REFUND_ID]
266
+ # @param request_options [RequestOptions]
267
+ # @return [Void]
268
+ def delete(insurance_refund_id:, request_options: nil)
269
+ Async do
270
+ @request_client.conn.delete("/api/insurance-refunds/v1/#{insurance_refund_id}") do |req|
271
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
272
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
273
+ req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
274
+ end
275
+ end
276
+ end
277
+ end
278
+ end
279
+ end
280
+ end