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