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,259 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../../../requests"
4
+ require_relative "../../commons/types/task_id"
5
+ require_relative "types/task_actions"
6
+ require_relative "../../commons/types/page_token"
7
+ require_relative "../commons/types/task_status"
8
+ require_relative "../commons/types/task_type"
9
+ require "date"
10
+ require_relative "../../commons/types/encounter_id"
11
+ require_relative "../../commons/types/user_id"
12
+ require_relative "types/task_sort_options"
13
+ require_relative "types/task_page"
14
+ require_relative "types/task"
15
+ require_relative "types/task_create_v_3"
16
+ require_relative "types/task_update_v_3"
17
+ require "async"
18
+
19
+ module CandidApiClient
20
+ module Tasks
21
+ module V3
22
+ class V3Client
23
+ attr_reader :request_client
24
+
25
+ # @param request_client [RequestClient]
26
+ # @return [Tasks::V3::V3Client]
27
+ def initialize(request_client:)
28
+ # @type [RequestClient]
29
+ @request_client = request_client
30
+ end
31
+
32
+ # @param task_id [Commons::TASK_ID]
33
+ # @param request_options [RequestOptions]
34
+ # @return [Tasks::V3::TaskActions]
35
+ def get_actions(task_id:, request_options: nil)
36
+ response = @request_client.conn.get("/api/tasks/v3/#{task_id}/actions") do |req|
37
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
38
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
39
+ req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
40
+ end
41
+ Tasks::V3::TaskActions.from_json(json_object: response.body)
42
+ end
43
+
44
+ # @param limit [Integer] Defaults to 100
45
+ # @param page_token [Commons::PAGE_TOKEN]
46
+ # @param status [Tasks::Commons::TaskStatus]
47
+ # @param task_type [Tasks::Commons::TaskType]
48
+ # @param categories [String] Only return tasks with categories that match one in this comma-separated list.
49
+ # @param updated_since [DateTime] Only return tasks updated on or after this date-time
50
+ # @param encounter_id [Commons::ENCOUNTER_ID] Only return tasks associated with this encounter
51
+ # @param search_term [String] Query tasks by encounter_id, claim_id, task_id, or external_id
52
+ # @param assigned_to_id [Commons::USER_ID] Only return tasks assigned to this user
53
+ # @param date_of_service_min [Date] The minimum date of service for the linked encounter
54
+ # @param date_of_service_max [Date] The maximum date of service for the linked encounter
55
+ # @param billing_provider_npi [String] The NPI of the billing provider associated with the task's claim
56
+ # @param sort [Tasks::V3::TaskSortOptions] Defaults to updated_at:desc
57
+ # @param request_options [RequestOptions]
58
+ # @return [Tasks::V3::TaskPage]
59
+ def get_multi(limit: nil, page_token: nil, status: nil, task_type: nil, categories: nil, updated_since: nil,
60
+ encounter_id: nil, search_term: nil, assigned_to_id: nil, date_of_service_min: nil, date_of_service_max: nil, billing_provider_npi: nil, sort: nil, request_options: nil)
61
+ response = @request_client.conn.get("/api/tasks/v3") do |req|
62
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
63
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
64
+ req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
65
+ req.params = {
66
+ **(request_options&.additional_query_parameters || {}),
67
+ "limit": limit,
68
+ "page_token": page_token,
69
+ "status": status,
70
+ "task_type": task_type,
71
+ "categories": categories,
72
+ "updated_since": updated_since,
73
+ "encounter_id": encounter_id,
74
+ "search_term": search_term,
75
+ "assigned_to_id": assigned_to_id,
76
+ "date_of_service_min": date_of_service_min,
77
+ "date_of_service_max": date_of_service_max,
78
+ "billing_provider_npi": billing_provider_npi,
79
+ "sort": sort
80
+ }.compact
81
+ end
82
+ Tasks::V3::TaskPage.from_json(json_object: response.body)
83
+ end
84
+
85
+ # @param task_id [Commons::TASK_ID]
86
+ # @param request_options [RequestOptions]
87
+ # @return [Tasks::V3::Task]
88
+ def get(task_id:, request_options: nil)
89
+ response = @request_client.conn.get("/api/tasks/v3/#{task_id}") do |req|
90
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
91
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
92
+ req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
93
+ end
94
+ Tasks::V3::Task.from_json(json_object: response.body)
95
+ end
96
+
97
+ # @param request [Hash] Request of type Tasks::V3::TaskCreateV3, as a Hash
98
+ # * :encounter_id (Commons::ENCOUNTER_ID)
99
+ # * :task_type (Tasks::Commons::TaskType)
100
+ # * :description (String)
101
+ # * :blocks_claim_submission (Boolean)
102
+ # * :assignee_user_id (Commons::USER_ID)
103
+ # * :category (Tasks::Commons::TaskCategory)
104
+ # * :work_queue_id (Commons::WORK_QUEUE_ID)
105
+ # @param request_options [RequestOptions]
106
+ # @return [Tasks::V3::Task]
107
+ def create(request:, request_options: nil)
108
+ response = @request_client.conn.post("/api/tasks/v3") do |req|
109
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
110
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
111
+ req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
112
+ req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
113
+ end
114
+ Tasks::V3::Task.from_json(json_object: response.body)
115
+ end
116
+
117
+ # @param task_id [Commons::TASK_ID]
118
+ # @param request [Hash] Request of type Tasks::V3::TaskUpdateV3, as a Hash
119
+ # * :status (Tasks::Commons::TaskStatus)
120
+ # * :assignee_user_id (Commons::USER_ID)
121
+ # * :blocks_claim_submission (Boolean)
122
+ # @param request_options [RequestOptions]
123
+ # @return [Tasks::V3::Task]
124
+ def update(task_id:, request:, request_options: nil)
125
+ response = @request_client.conn.patch("/api/tasks/v3/#{task_id}") do |req|
126
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
127
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
128
+ req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
129
+ req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
130
+ end
131
+ Tasks::V3::Task.from_json(json_object: response.body)
132
+ end
133
+ end
134
+
135
+ class AsyncV3Client
136
+ attr_reader :request_client
137
+
138
+ # @param request_client [AsyncRequestClient]
139
+ # @return [Tasks::V3::AsyncV3Client]
140
+ def initialize(request_client:)
141
+ # @type [AsyncRequestClient]
142
+ @request_client = request_client
143
+ end
144
+
145
+ # @param task_id [Commons::TASK_ID]
146
+ # @param request_options [RequestOptions]
147
+ # @return [Tasks::V3::TaskActions]
148
+ def get_actions(task_id:, request_options: nil)
149
+ Async do
150
+ response = @request_client.conn.get("/api/tasks/v3/#{task_id}/actions") do |req|
151
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
152
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
153
+ req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
154
+ end
155
+ Tasks::V3::TaskActions.from_json(json_object: response.body)
156
+ end
157
+ end
158
+
159
+ # @param limit [Integer] Defaults to 100
160
+ # @param page_token [Commons::PAGE_TOKEN]
161
+ # @param status [Tasks::Commons::TaskStatus]
162
+ # @param task_type [Tasks::Commons::TaskType]
163
+ # @param categories [String] Only return tasks with categories that match one in this comma-separated list.
164
+ # @param updated_since [DateTime] Only return tasks updated on or after this date-time
165
+ # @param encounter_id [Commons::ENCOUNTER_ID] Only return tasks associated with this encounter
166
+ # @param search_term [String] Query tasks by encounter_id, claim_id, task_id, or external_id
167
+ # @param assigned_to_id [Commons::USER_ID] Only return tasks assigned to this user
168
+ # @param date_of_service_min [Date] The minimum date of service for the linked encounter
169
+ # @param date_of_service_max [Date] The maximum date of service for the linked encounter
170
+ # @param billing_provider_npi [String] The NPI of the billing provider associated with the task's claim
171
+ # @param sort [Tasks::V3::TaskSortOptions] Defaults to updated_at:desc
172
+ # @param request_options [RequestOptions]
173
+ # @return [Tasks::V3::TaskPage]
174
+ def get_multi(limit: nil, page_token: nil, status: nil, task_type: nil, categories: nil, updated_since: nil,
175
+ encounter_id: nil, search_term: nil, assigned_to_id: nil, date_of_service_min: nil, date_of_service_max: nil, billing_provider_npi: nil, sort: nil, request_options: nil)
176
+ Async do
177
+ response = @request_client.conn.get("/api/tasks/v3") do |req|
178
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
179
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
180
+ req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
181
+ req.params = {
182
+ **(request_options&.additional_query_parameters || {}),
183
+ "limit": limit,
184
+ "page_token": page_token,
185
+ "status": status,
186
+ "task_type": task_type,
187
+ "categories": categories,
188
+ "updated_since": updated_since,
189
+ "encounter_id": encounter_id,
190
+ "search_term": search_term,
191
+ "assigned_to_id": assigned_to_id,
192
+ "date_of_service_min": date_of_service_min,
193
+ "date_of_service_max": date_of_service_max,
194
+ "billing_provider_npi": billing_provider_npi,
195
+ "sort": sort
196
+ }.compact
197
+ end
198
+ Tasks::V3::TaskPage.from_json(json_object: response.body)
199
+ end
200
+ end
201
+
202
+ # @param task_id [Commons::TASK_ID]
203
+ # @param request_options [RequestOptions]
204
+ # @return [Tasks::V3::Task]
205
+ def get(task_id:, request_options: nil)
206
+ Async do
207
+ response = @request_client.conn.get("/api/tasks/v3/#{task_id}") do |req|
208
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
209
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
210
+ req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
211
+ end
212
+ Tasks::V3::Task.from_json(json_object: response.body)
213
+ end
214
+ end
215
+
216
+ # @param request [Hash] Request of type Tasks::V3::TaskCreateV3, as a Hash
217
+ # * :encounter_id (Commons::ENCOUNTER_ID)
218
+ # * :task_type (Tasks::Commons::TaskType)
219
+ # * :description (String)
220
+ # * :blocks_claim_submission (Boolean)
221
+ # * :assignee_user_id (Commons::USER_ID)
222
+ # * :category (Tasks::Commons::TaskCategory)
223
+ # * :work_queue_id (Commons::WORK_QUEUE_ID)
224
+ # @param request_options [RequestOptions]
225
+ # @return [Tasks::V3::Task]
226
+ def create(request:, request_options: nil)
227
+ Async do
228
+ response = @request_client.conn.post("/api/tasks/v3") do |req|
229
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
230
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
231
+ req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
232
+ req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
233
+ end
234
+ Tasks::V3::Task.from_json(json_object: response.body)
235
+ end
236
+ end
237
+
238
+ # @param task_id [Commons::TASK_ID]
239
+ # @param request [Hash] Request of type Tasks::V3::TaskUpdateV3, as a Hash
240
+ # * :status (Tasks::Commons::TaskStatus)
241
+ # * :assignee_user_id (Commons::USER_ID)
242
+ # * :blocks_claim_submission (Boolean)
243
+ # @param request_options [RequestOptions]
244
+ # @return [Tasks::V3::Task]
245
+ def update(task_id:, request:, request_options: nil)
246
+ Async do
247
+ response = @request_client.conn.patch("/api/tasks/v3/#{task_id}") do |req|
248
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
249
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
250
+ req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
251
+ req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
252
+ end
253
+ Tasks::V3::Task.from_json(json_object: response.body)
254
+ end
255
+ end
256
+ end
257
+ end
258
+ end
259
+ end
@@ -0,0 +1,170 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../../../commons/types/task_id"
4
+ require_relative "../../../commons/types/encounter_id"
5
+ require_relative "../../commons/types/task_type"
6
+ require_relative "../../commons/types/task_status"
7
+ require_relative "task_note"
8
+ require "date"
9
+ require_relative "task_assignment"
10
+ require_relative "../../commons/types/task_category"
11
+ require "json"
12
+
13
+ module CandidApiClient
14
+ module Tasks
15
+ module V3
16
+ class Task
17
+ attr_reader :task_id, :encounter_id, :task_type, :description, :blocks_claim_submission, :external_id,
18
+ :patient_name, :patient_external_id, :payer_name, :payer_id, :status, :notes, :created_at, :updated_at, :agg_updated_at, :date_of_service, :assignments, :category, :additional_properties
19
+
20
+ # @param task_id [Commons::TASK_ID]
21
+ # @param encounter_id [Commons::ENCOUNTER_ID]
22
+ # @param task_type [Tasks::Commons::TaskType]
23
+ # @param description [String]
24
+ # @param blocks_claim_submission [Boolean]
25
+ # @param external_id [String]
26
+ # @param patient_name [String]
27
+ # @param patient_external_id [String]
28
+ # @param payer_name [String]
29
+ # @param payer_id [String]
30
+ # @param status [Tasks::Commons::TaskStatus]
31
+ # @param notes [Array<Tasks::V3::TaskNote>]
32
+ # @param created_at [DateTime]
33
+ # @param updated_at [DateTime] The time of most recent update to the task only
34
+ # @param agg_updated_at [DateTime] The time of most recent update to the task or any of its notes
35
+ # @param date_of_service [Date]
36
+ # @param assignments [Array<Tasks::V3::TaskAssignment>]
37
+ # @param category [Tasks::Commons::TaskCategory]
38
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
39
+ # @return [Tasks::V3::Task]
40
+ def initialize(task_id:, encounter_id:, task_type:, description:, blocks_claim_submission:, external_id:,
41
+ patient_name:, patient_external_id:, status:, notes:, created_at:, updated_at:, agg_updated_at:, date_of_service:, assignments:, payer_name: nil, payer_id: nil, category: nil, additional_properties: nil)
42
+ # @type [Commons::TASK_ID]
43
+ @task_id = task_id
44
+ # @type [Commons::ENCOUNTER_ID]
45
+ @encounter_id = encounter_id
46
+ # @type [Tasks::Commons::TaskType]
47
+ @task_type = task_type
48
+ # @type [String]
49
+ @description = description
50
+ # @type [Boolean]
51
+ @blocks_claim_submission = blocks_claim_submission
52
+ # @type [String]
53
+ @external_id = external_id
54
+ # @type [String]
55
+ @patient_name = patient_name
56
+ # @type [String]
57
+ @patient_external_id = patient_external_id
58
+ # @type [String]
59
+ @payer_name = payer_name
60
+ # @type [String]
61
+ @payer_id = payer_id
62
+ # @type [Tasks::Commons::TaskStatus]
63
+ @status = status
64
+ # @type [Array<Tasks::V3::TaskNote>]
65
+ @notes = notes
66
+ # @type [DateTime]
67
+ @created_at = created_at
68
+ # @type [DateTime] The time of most recent update to the task only
69
+ @updated_at = updated_at
70
+ # @type [DateTime] The time of most recent update to the task or any of its notes
71
+ @agg_updated_at = agg_updated_at
72
+ # @type [Date]
73
+ @date_of_service = date_of_service
74
+ # @type [Array<Tasks::V3::TaskAssignment>]
75
+ @assignments = assignments
76
+ # @type [Tasks::Commons::TaskCategory]
77
+ @category = category
78
+ # @type [OpenStruct] Additional properties unmapped to the current class definition
79
+ @additional_properties = additional_properties
80
+ end
81
+
82
+ # Deserialize a JSON object to an instance of Task
83
+ #
84
+ # @param json_object [JSON]
85
+ # @return [Tasks::V3::Task]
86
+ def self.from_json(json_object:)
87
+ struct = JSON.parse(json_object, object_class: OpenStruct)
88
+ parsed_json = JSON.parse(json_object)
89
+ task_id = struct.task_id
90
+ encounter_id = struct.encounter_id
91
+ task_type = struct.task_type
92
+ description = struct.description
93
+ blocks_claim_submission = struct.blocks_claim_submission
94
+ external_id = struct.external_id
95
+ patient_name = struct.patient_name
96
+ patient_external_id = struct.patient_external_id
97
+ payer_name = struct.payer_name
98
+ payer_id = struct.payer_id
99
+ status = struct.status
100
+ notes = parsed_json["notes"]&.map do |v|
101
+ v = v.to_json
102
+ Tasks::V3::TaskNote.from_json(json_object: v)
103
+ end
104
+ created_at = (DateTime.parse(parsed_json["created_at"]) unless parsed_json["created_at"].nil?)
105
+ updated_at = (DateTime.parse(parsed_json["updated_at"]) unless parsed_json["updated_at"].nil?)
106
+ agg_updated_at = (DateTime.parse(parsed_json["agg_updated_at"]) unless parsed_json["agg_updated_at"].nil?)
107
+ date_of_service = (Date.parse(parsed_json["date_of_service"]) unless parsed_json["date_of_service"].nil?)
108
+ assignments = parsed_json["assignments"]&.map do |v|
109
+ v = v.to_json
110
+ Tasks::V3::TaskAssignment.from_json(json_object: v)
111
+ end
112
+ category = struct.category
113
+ new(task_id: task_id, encounter_id: encounter_id, task_type: task_type, description: description,
114
+ blocks_claim_submission: blocks_claim_submission, external_id: external_id, patient_name: patient_name, patient_external_id: patient_external_id, payer_name: payer_name, payer_id: payer_id, status: status, notes: notes, created_at: created_at, updated_at: updated_at, agg_updated_at: agg_updated_at, date_of_service: date_of_service, assignments: assignments, category: category, additional_properties: struct)
115
+ end
116
+
117
+ # Serialize an instance of Task to a JSON object
118
+ #
119
+ # @return [JSON]
120
+ def to_json(*_args)
121
+ {
122
+ "task_id": @task_id,
123
+ "encounter_id": @encounter_id,
124
+ "task_type": @task_type,
125
+ "description": @description,
126
+ "blocks_claim_submission": @blocks_claim_submission,
127
+ "external_id": @external_id,
128
+ "patient_name": @patient_name,
129
+ "patient_external_id": @patient_external_id,
130
+ "payer_name": @payer_name,
131
+ "payer_id": @payer_id,
132
+ "status": @status,
133
+ "notes": @notes,
134
+ "created_at": @created_at,
135
+ "updated_at": @updated_at,
136
+ "agg_updated_at": @agg_updated_at,
137
+ "date_of_service": @date_of_service,
138
+ "assignments": @assignments,
139
+ "category": @category
140
+ }.to_json
141
+ end
142
+
143
+ # 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.
144
+ #
145
+ # @param obj [Object]
146
+ # @return [Void]
147
+ def self.validate_raw(obj:)
148
+ obj.task_id.is_a?(String) != false || raise("Passed value for field obj.task_id is not the expected type, validation failed.")
149
+ obj.encounter_id.is_a?(String) != false || raise("Passed value for field obj.encounter_id is not the expected type, validation failed.")
150
+ obj.task_type.is_a?(Tasks::Commons::TaskType) != false || raise("Passed value for field obj.task_type is not the expected type, validation failed.")
151
+ obj.description.is_a?(String) != false || raise("Passed value for field obj.description is not the expected type, validation failed.")
152
+ obj.blocks_claim_submission.is_a?(Boolean) != false || raise("Passed value for field obj.blocks_claim_submission is not the expected type, validation failed.")
153
+ obj.external_id.is_a?(String) != false || raise("Passed value for field obj.external_id is not the expected type, validation failed.")
154
+ obj.patient_name.is_a?(String) != false || raise("Passed value for field obj.patient_name is not the expected type, validation failed.")
155
+ obj.patient_external_id.is_a?(String) != false || raise("Passed value for field obj.patient_external_id is not the expected type, validation failed.")
156
+ obj.payer_name&.is_a?(String) != false || raise("Passed value for field obj.payer_name is not the expected type, validation failed.")
157
+ obj.payer_id&.is_a?(String) != false || raise("Passed value for field obj.payer_id is not the expected type, validation failed.")
158
+ obj.status.is_a?(Tasks::Commons::TaskStatus) != false || raise("Passed value for field obj.status is not the expected type, validation failed.")
159
+ obj.notes.is_a?(Array) != false || raise("Passed value for field obj.notes is not the expected type, validation failed.")
160
+ obj.created_at.is_a?(DateTime) != false || raise("Passed value for field obj.created_at is not the expected type, validation failed.")
161
+ obj.updated_at.is_a?(DateTime) != false || raise("Passed value for field obj.updated_at is not the expected type, validation failed.")
162
+ obj.agg_updated_at.is_a?(DateTime) != false || raise("Passed value for field obj.agg_updated_at is not the expected type, validation failed.")
163
+ obj.date_of_service.is_a?(Date) != false || raise("Passed value for field obj.date_of_service is not the expected type, validation failed.")
164
+ obj.assignments.is_a?(Array) != false || raise("Passed value for field obj.assignments is not the expected type, validation failed.")
165
+ obj.category&.is_a?(Tasks::Commons::TaskCategory) != false || raise("Passed value for field obj.category is not the expected type, validation failed.")
166
+ end
167
+ end
168
+ end
169
+ end
170
+ end
@@ -0,0 +1,66 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "task_action_execution_method"
4
+ require_relative "task_action_type"
5
+ require "json"
6
+
7
+ module CandidApiClient
8
+ module Tasks
9
+ module V3
10
+ class TaskAction
11
+ attr_reader :display_name, :execution_method, :type, :additional_properties
12
+
13
+ # @param display_name [String]
14
+ # @param execution_method [Tasks::V3::TaskActionExecutionMethod]
15
+ # @param type [Tasks::V3::TaskActionType]
16
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
17
+ # @return [Tasks::V3::TaskAction]
18
+ def initialize(display_name:, execution_method:, type:, additional_properties: nil)
19
+ # @type [String]
20
+ @display_name = display_name
21
+ # @type [Tasks::V3::TaskActionExecutionMethod]
22
+ @execution_method = execution_method
23
+ # @type [Tasks::V3::TaskActionType]
24
+ @type = type
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 TaskAction
30
+ #
31
+ # @param json_object [JSON]
32
+ # @return [Tasks::V3::TaskAction]
33
+ def self.from_json(json_object:)
34
+ struct = JSON.parse(json_object, object_class: OpenStruct)
35
+ parsed_json = JSON.parse(json_object)
36
+ display_name = struct.display_name
37
+ if parsed_json["execution_method"].nil?
38
+ execution_method = nil
39
+ else
40
+ execution_method = parsed_json["execution_method"].to_json
41
+ execution_method = Tasks::V3::TaskActionExecutionMethod.from_json(json_object: execution_method)
42
+ end
43
+ type = struct.type
44
+ new(display_name: display_name, execution_method: execution_method, type: type, additional_properties: struct)
45
+ end
46
+
47
+ # Serialize an instance of TaskAction to a JSON object
48
+ #
49
+ # @return [JSON]
50
+ def to_json(*_args)
51
+ { "display_name": @display_name, "execution_method": @execution_method, "type": @type }.to_json
52
+ end
53
+
54
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given hash and check each fields type against the current object's property definitions.
55
+ #
56
+ # @param obj [Object]
57
+ # @return [Void]
58
+ def self.validate_raw(obj:)
59
+ obj.display_name.is_a?(String) != false || raise("Passed value for field obj.display_name is not the expected type, validation failed.")
60
+ Tasks::V3::TaskActionExecutionMethod.validate_raw(obj: obj.execution_method)
61
+ obj.type.is_a?(Tasks::V3::TaskActionType) != false || raise("Passed value for field obj.type is not the expected type, validation failed.")
62
+ end
63
+ end
64
+ end
65
+ end
66
+ end
@@ -0,0 +1,79 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "json"
4
+
5
+ module CandidApiClient
6
+ module Tasks
7
+ module V3
8
+ class TaskActionExecutionMethod
9
+ attr_reader :member, :discriminant
10
+
11
+ private_class_method :new
12
+ alias kind_of? is_a?
13
+ # @param member [Object]
14
+ # @param discriminant [String]
15
+ # @return [Tasks::V3::TaskActionExecutionMethod]
16
+ def initialize(member:, discriminant:)
17
+ # @type [Object]
18
+ @member = member
19
+ # @type [String]
20
+ @discriminant = discriminant
21
+ end
22
+
23
+ # Deserialize a JSON object to an instance of TaskActionExecutionMethod
24
+ #
25
+ # @param json_object [JSON]
26
+ # @return [Tasks::V3::TaskActionExecutionMethod]
27
+ def self.from_json(json_object:)
28
+ struct = JSON.parse(json_object, object_class: OpenStruct)
29
+ member = case struct.type
30
+ when "close_task"
31
+ nil
32
+ else
33
+ json_object
34
+ end
35
+ new(member: member, discriminant: struct.type)
36
+ end
37
+
38
+ # For Union Types, to_json functionality is delegated to the wrapped member.
39
+ #
40
+ # @return [JSON]
41
+ def to_json(*_args)
42
+ case @discriminant
43
+ when "close_task"
44
+ { type: @discriminant }.to_json
45
+ else
46
+ { "type": @discriminant, value: @member }.to_json
47
+ end
48
+ @member.to_json
49
+ end
50
+
51
+ # 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.
52
+ #
53
+ # @param obj [Object]
54
+ # @return [Void]
55
+ def self.validate_raw(obj:)
56
+ case obj.type
57
+ when "close_task"
58
+ # noop
59
+ else
60
+ raise("Passed value matched no type within the union, validation failed.")
61
+ end
62
+ end
63
+
64
+ # For Union Types, is_a? functionality is delegated to the wrapped member.
65
+ #
66
+ # @param obj [Object]
67
+ # @return [Boolean]
68
+ def is_a?(obj)
69
+ @member.is_a?(obj)
70
+ end
71
+
72
+ # @return [Tasks::V3::TaskActionExecutionMethod]
73
+ def self.close_task
74
+ new(member: nil, discriminant: "close_task")
75
+ end
76
+ end
77
+ end
78
+ end
79
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CandidApiClient
4
+ module Tasks
5
+ module V3
6
+ class TaskActionType
7
+ CLOSE_TASK = "close_task"
8
+ CLOSE_TASK_AND_REPROCESS = "close_task_and_reprocess"
9
+ end
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,53 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "task_action"
4
+ require "json"
5
+
6
+ module CandidApiClient
7
+ module Tasks
8
+ module V3
9
+ class TaskActions
10
+ attr_reader :actions, :additional_properties
11
+
12
+ # @param actions [Array<Tasks::V3::TaskAction>]
13
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
14
+ # @return [Tasks::V3::TaskActions]
15
+ def initialize(actions:, additional_properties: nil)
16
+ # @type [Array<Tasks::V3::TaskAction>]
17
+ @actions = actions
18
+ # @type [OpenStruct] Additional properties unmapped to the current class definition
19
+ @additional_properties = additional_properties
20
+ end
21
+
22
+ # Deserialize a JSON object to an instance of TaskActions
23
+ #
24
+ # @param json_object [JSON]
25
+ # @return [Tasks::V3::TaskActions]
26
+ def self.from_json(json_object:)
27
+ struct = JSON.parse(json_object, object_class: OpenStruct)
28
+ parsed_json = JSON.parse(json_object)
29
+ actions = parsed_json["actions"]&.map do |v|
30
+ v = v.to_json
31
+ Tasks::V3::TaskAction.from_json(json_object: v)
32
+ end
33
+ new(actions: actions, additional_properties: struct)
34
+ end
35
+
36
+ # Serialize an instance of TaskActions to a JSON object
37
+ #
38
+ # @return [JSON]
39
+ def to_json(*_args)
40
+ { "actions": @actions }.to_json
41
+ end
42
+
43
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given hash and check each fields type against the current object's property definitions.
44
+ #
45
+ # @param obj [Object]
46
+ # @return [Void]
47
+ def self.validate_raw(obj:)
48
+ obj.actions.is_a?(Array) != false || raise("Passed value for field obj.actions is not the expected type, validation failed.")
49
+ end
50
+ end
51
+ end
52
+ end
53
+ end