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