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,119 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../../commons/types/phone_number"
4
+ require_relative "../../commons/types/email"
5
+ require_relative "../../commons/types/date"
6
+ require_relative "../../commons/types/street_address_short_zip"
7
+ require_relative "gender"
8
+ require "json"
9
+
10
+ module CandidApiClient
11
+ class Individual
12
+ class PatientCreate
13
+ attr_reader :phone_numbers, :phone_consent, :email, :email_consent, :external_id, :date_of_birth, :address,
14
+ :first_name, :last_name, :gender, :additional_properties
15
+
16
+ # @param phone_numbers [Array<Commons::PhoneNumber>]
17
+ # @param phone_consent [Boolean] Defaults to false
18
+ # @param email [Commons::EMAIL]
19
+ # @param email_consent [Boolean] Defaults to false
20
+ # @param external_id [String] The ID used to identify this individual in your system. For example, your internal patient ID or an EHR patient ID.
21
+ # @param date_of_birth [Commons::DATE] Box 3 on the CMS-1500 claim form. The date format should be in ISO 8601 date; formatted YYYY-MM-DD (i.e. 2012-02-01)
22
+ # @param address [Commons::StreetAddressShortZip] Box 5 on the CMS-1500 claim form.
23
+ # @param first_name [String]
24
+ # @param last_name [String]
25
+ # @param gender [Individual::Gender]
26
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
27
+ # @return [Individual::PatientCreate]
28
+ def initialize(external_id:, date_of_birth:, address:, first_name:, last_name:, gender:, phone_numbers: nil,
29
+ phone_consent: nil, email: nil, email_consent: nil, additional_properties: nil)
30
+ # @type [Array<Commons::PhoneNumber>]
31
+ @phone_numbers = phone_numbers
32
+ # @type [Boolean] Defaults to false
33
+ @phone_consent = phone_consent
34
+ # @type [Commons::EMAIL]
35
+ @email = email
36
+ # @type [Boolean] Defaults to false
37
+ @email_consent = email_consent
38
+ # @type [String] The ID used to identify this individual in your system. For example, your internal patient ID or an EHR patient ID.
39
+ @external_id = external_id
40
+ # @type [Commons::DATE] Box 3 on the CMS-1500 claim form. The date format should be in ISO 8601 date; formatted YYYY-MM-DD (i.e. 2012-02-01)
41
+ @date_of_birth = date_of_birth
42
+ # @type [Commons::StreetAddressShortZip] Box 5 on the CMS-1500 claim form.
43
+ @address = address
44
+ # @type [String]
45
+ @first_name = first_name
46
+ # @type [String]
47
+ @last_name = last_name
48
+ # @type [Individual::Gender]
49
+ @gender = gender
50
+ # @type [OpenStruct] Additional properties unmapped to the current class definition
51
+ @additional_properties = additional_properties
52
+ end
53
+
54
+ # Deserialize a JSON object to an instance of PatientCreate
55
+ #
56
+ # @param json_object [JSON]
57
+ # @return [Individual::PatientCreate]
58
+ def self.from_json(json_object:)
59
+ struct = JSON.parse(json_object, object_class: OpenStruct)
60
+ parsed_json = JSON.parse(json_object)
61
+ phone_numbers = parsed_json["phone_numbers"]&.map do |v|
62
+ v = v.to_json
63
+ Commons::PhoneNumber.from_json(json_object: v)
64
+ end
65
+ phone_consent = struct.phone_consent
66
+ email = struct.email
67
+ email_consent = struct.email_consent
68
+ external_id = struct.external_id
69
+ date_of_birth = struct.date_of_birth
70
+ if parsed_json["address"].nil?
71
+ address = nil
72
+ else
73
+ address = parsed_json["address"].to_json
74
+ address = Commons::StreetAddressShortZip.from_json(json_object: address)
75
+ end
76
+ first_name = struct.first_name
77
+ last_name = struct.last_name
78
+ gender = struct.gender
79
+ new(phone_numbers: phone_numbers, phone_consent: phone_consent, email: email, email_consent: email_consent,
80
+ external_id: external_id, date_of_birth: date_of_birth, address: address, first_name: first_name, last_name: last_name, gender: gender, additional_properties: struct)
81
+ end
82
+
83
+ # Serialize an instance of PatientCreate to a JSON object
84
+ #
85
+ # @return [JSON]
86
+ def to_json(*_args)
87
+ {
88
+ "phone_numbers": @phone_numbers,
89
+ "phone_consent": @phone_consent,
90
+ "email": @email,
91
+ "email_consent": @email_consent,
92
+ "external_id": @external_id,
93
+ "date_of_birth": @date_of_birth,
94
+ "address": @address,
95
+ "first_name": @first_name,
96
+ "last_name": @last_name,
97
+ "gender": @gender
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.phone_numbers&.is_a?(Array) != false || raise("Passed value for field obj.phone_numbers is not the expected type, validation failed.")
107
+ obj.phone_consent&.is_a?(Boolean) != false || raise("Passed value for field obj.phone_consent is not the expected type, validation failed.")
108
+ obj.email&.is_a?(String) != false || raise("Passed value for field obj.email is not the expected type, validation failed.")
109
+ obj.email_consent&.is_a?(Boolean) != false || raise("Passed value for field obj.email_consent is not the expected type, validation failed.")
110
+ obj.external_id.is_a?(String) != false || raise("Passed value for field obj.external_id is not the expected type, validation failed.")
111
+ obj.date_of_birth.is_a?(String) != false || raise("Passed value for field obj.date_of_birth is not the expected type, validation failed.")
112
+ Commons::StreetAddressShortZip.validate_raw(obj: obj.address)
113
+ obj.first_name.is_a?(String) != false || raise("Passed value for field obj.first_name is not the expected type, validation failed.")
114
+ obj.last_name.is_a?(String) != false || raise("Passed value for field obj.last_name is not the expected type, validation failed.")
115
+ obj.gender.is_a?(Individual::Gender) != false || raise("Passed value for field obj.gender is not the expected type, validation failed.")
116
+ end
117
+ end
118
+ end
119
+ end
@@ -0,0 +1,110 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "individual_id"
4
+ require_relative "../../insurance_cards/v_2/types/insurance_card"
5
+ require_relative "../../commons/types/patient_relationship_to_insured_code_all"
6
+ require_relative "../../commons/types/date"
7
+ require_relative "../../commons/types/street_address_short_zip"
8
+ require_relative "gender"
9
+ require "json"
10
+
11
+ module CandidApiClient
12
+ class Individual
13
+ class Subscriber
14
+ attr_reader :individual_id, :insurance_card, :patient_relationship_to_subscriber_code, :date_of_birth, :address,
15
+ :first_name, :last_name, :gender, :additional_properties
16
+
17
+ # @param individual_id [Individual::INDIVIDUAL_ID]
18
+ # @param insurance_card [InsuranceCards::V2::InsuranceCard]
19
+ # @param patient_relationship_to_subscriber_code [Commons::PatientRelationshipToInsuredCodeAll]
20
+ # @param date_of_birth [Commons::DATE]
21
+ # @param address [Commons::StreetAddressShortZip]
22
+ # @param first_name [String]
23
+ # @param last_name [String]
24
+ # @param gender [Individual::Gender]
25
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
26
+ # @return [Individual::Subscriber]
27
+ def initialize(individual_id:, insurance_card:, patient_relationship_to_subscriber_code:, first_name:, last_name:, gender:, date_of_birth: nil,
28
+ address: nil, additional_properties: nil)
29
+ # @type [Individual::INDIVIDUAL_ID]
30
+ @individual_id = individual_id
31
+ # @type [InsuranceCards::V2::InsuranceCard]
32
+ @insurance_card = insurance_card
33
+ # @type [Commons::PatientRelationshipToInsuredCodeAll]
34
+ @patient_relationship_to_subscriber_code = patient_relationship_to_subscriber_code
35
+ # @type [Commons::DATE]
36
+ @date_of_birth = date_of_birth
37
+ # @type [Commons::StreetAddressShortZip]
38
+ @address = address
39
+ # @type [String]
40
+ @first_name = first_name
41
+ # @type [String]
42
+ @last_name = last_name
43
+ # @type [Individual::Gender]
44
+ @gender = gender
45
+ # @type [OpenStruct] Additional properties unmapped to the current class definition
46
+ @additional_properties = additional_properties
47
+ end
48
+
49
+ # Deserialize a JSON object to an instance of Subscriber
50
+ #
51
+ # @param json_object [JSON]
52
+ # @return [Individual::Subscriber]
53
+ def self.from_json(json_object:)
54
+ struct = JSON.parse(json_object, object_class: OpenStruct)
55
+ parsed_json = JSON.parse(json_object)
56
+ individual_id = struct.individual_id
57
+ if parsed_json["insurance_card"].nil?
58
+ insurance_card = nil
59
+ else
60
+ insurance_card = parsed_json["insurance_card"].to_json
61
+ insurance_card = InsuranceCards::V2::InsuranceCard.from_json(json_object: insurance_card)
62
+ end
63
+ patient_relationship_to_subscriber_code = struct.patient_relationship_to_subscriber_code
64
+ date_of_birth = struct.date_of_birth
65
+ if parsed_json["address"].nil?
66
+ address = nil
67
+ else
68
+ address = parsed_json["address"].to_json
69
+ address = Commons::StreetAddressShortZip.from_json(json_object: address)
70
+ end
71
+ first_name = struct.first_name
72
+ last_name = struct.last_name
73
+ gender = struct.gender
74
+ new(individual_id: individual_id, insurance_card: insurance_card,
75
+ patient_relationship_to_subscriber_code: patient_relationship_to_subscriber_code, date_of_birth: date_of_birth, address: address, first_name: first_name, last_name: last_name, gender: gender, additional_properties: struct)
76
+ end
77
+
78
+ # Serialize an instance of Subscriber to a JSON object
79
+ #
80
+ # @return [JSON]
81
+ def to_json(*_args)
82
+ {
83
+ "individual_id": @individual_id,
84
+ "insurance_card": @insurance_card,
85
+ "patient_relationship_to_subscriber_code": @patient_relationship_to_subscriber_code,
86
+ "date_of_birth": @date_of_birth,
87
+ "address": @address,
88
+ "first_name": @first_name,
89
+ "last_name": @last_name,
90
+ "gender": @gender
91
+ }.to_json
92
+ end
93
+
94
+ # 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.
95
+ #
96
+ # @param obj [Object]
97
+ # @return [Void]
98
+ def self.validate_raw(obj:)
99
+ obj.individual_id.is_a?(String) != false || raise("Passed value for field obj.individual_id is not the expected type, validation failed.")
100
+ InsuranceCards::V2::InsuranceCard.validate_raw(obj: obj.insurance_card)
101
+ obj.patient_relationship_to_subscriber_code.is_a?(Commons::PatientRelationshipToInsuredCodeAll) != false || raise("Passed value for field obj.patient_relationship_to_subscriber_code is not the expected type, validation failed.")
102
+ obj.date_of_birth&.is_a?(String) != false || raise("Passed value for field obj.date_of_birth is not the expected type, validation failed.")
103
+ obj.address.nil? || Commons::StreetAddressShortZip.validate_raw(obj: obj.address)
104
+ obj.first_name.is_a?(String) != false || raise("Passed value for field obj.first_name is not the expected type, validation failed.")
105
+ obj.last_name.is_a?(String) != false || raise("Passed value for field obj.last_name is not the expected type, validation failed.")
106
+ obj.gender.is_a?(Individual::Gender) != false || raise("Passed value for field obj.gender is not the expected type, validation failed.")
107
+ end
108
+ end
109
+ end
110
+ end
@@ -0,0 +1,91 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../../commons/types/patient_relationship_to_insured_code_all"
4
+ require_relative "../../commons/types/date"
5
+ require_relative "../../commons/types/street_address_short_zip"
6
+ require_relative "gender"
7
+ require "json"
8
+
9
+ module CandidApiClient
10
+ class Individual
11
+ class SubscriberBase
12
+ attr_reader :patient_relationship_to_subscriber_code, :date_of_birth, :address, :first_name, :last_name, :gender,
13
+ :additional_properties
14
+
15
+ # @param patient_relationship_to_subscriber_code [Commons::PatientRelationshipToInsuredCodeAll]
16
+ # @param date_of_birth [Commons::DATE]
17
+ # @param address [Commons::StreetAddressShortZip]
18
+ # @param first_name [String]
19
+ # @param last_name [String]
20
+ # @param gender [Individual::Gender]
21
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
22
+ # @return [Individual::SubscriberBase]
23
+ def initialize(patient_relationship_to_subscriber_code:, first_name:, last_name:, gender:, date_of_birth: nil,
24
+ address: nil, additional_properties: nil)
25
+ # @type [Commons::PatientRelationshipToInsuredCodeAll]
26
+ @patient_relationship_to_subscriber_code = patient_relationship_to_subscriber_code
27
+ # @type [Commons::DATE]
28
+ @date_of_birth = date_of_birth
29
+ # @type [Commons::StreetAddressShortZip]
30
+ @address = address
31
+ # @type [String]
32
+ @first_name = first_name
33
+ # @type [String]
34
+ @last_name = last_name
35
+ # @type [Individual::Gender]
36
+ @gender = gender
37
+ # @type [OpenStruct] Additional properties unmapped to the current class definition
38
+ @additional_properties = additional_properties
39
+ end
40
+
41
+ # Deserialize a JSON object to an instance of SubscriberBase
42
+ #
43
+ # @param json_object [JSON]
44
+ # @return [Individual::SubscriberBase]
45
+ def self.from_json(json_object:)
46
+ struct = JSON.parse(json_object, object_class: OpenStruct)
47
+ parsed_json = JSON.parse(json_object)
48
+ patient_relationship_to_subscriber_code = struct.patient_relationship_to_subscriber_code
49
+ date_of_birth = struct.date_of_birth
50
+ if parsed_json["address"].nil?
51
+ address = nil
52
+ else
53
+ address = parsed_json["address"].to_json
54
+ address = Commons::StreetAddressShortZip.from_json(json_object: address)
55
+ end
56
+ first_name = struct.first_name
57
+ last_name = struct.last_name
58
+ gender = struct.gender
59
+ new(patient_relationship_to_subscriber_code: patient_relationship_to_subscriber_code,
60
+ date_of_birth: date_of_birth, address: address, first_name: first_name, last_name: last_name, gender: gender, additional_properties: struct)
61
+ end
62
+
63
+ # Serialize an instance of SubscriberBase to a JSON object
64
+ #
65
+ # @return [JSON]
66
+ def to_json(*_args)
67
+ {
68
+ "patient_relationship_to_subscriber_code": @patient_relationship_to_subscriber_code,
69
+ "date_of_birth": @date_of_birth,
70
+ "address": @address,
71
+ "first_name": @first_name,
72
+ "last_name": @last_name,
73
+ "gender": @gender
74
+ }.to_json
75
+ end
76
+
77
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given hash and check each fields type against the current object's property definitions.
78
+ #
79
+ # @param obj [Object]
80
+ # @return [Void]
81
+ def self.validate_raw(obj:)
82
+ obj.patient_relationship_to_subscriber_code.is_a?(Commons::PatientRelationshipToInsuredCodeAll) != false || raise("Passed value for field obj.patient_relationship_to_subscriber_code is not the expected type, validation failed.")
83
+ obj.date_of_birth&.is_a?(String) != false || raise("Passed value for field obj.date_of_birth is not the expected type, validation failed.")
84
+ obj.address.nil? || Commons::StreetAddressShortZip.validate_raw(obj: obj.address)
85
+ obj.first_name.is_a?(String) != false || raise("Passed value for field obj.first_name is not the expected type, validation failed.")
86
+ obj.last_name.is_a?(String) != false || raise("Passed value for field obj.last_name is not the expected type, validation failed.")
87
+ obj.gender.is_a?(Individual::Gender) != false || raise("Passed value for field obj.gender is not the expected type, validation failed.")
88
+ end
89
+ end
90
+ end
91
+ end
@@ -0,0 +1,103 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../../insurance_cards/v_2/types/insurance_card_create"
4
+ require_relative "../../commons/types/patient_relationship_to_insured_code_all"
5
+ require_relative "../../commons/types/date"
6
+ require_relative "../../commons/types/street_address_short_zip"
7
+ require_relative "gender"
8
+ require "json"
9
+
10
+ module CandidApiClient
11
+ class Individual
12
+ class SubscriberCreate
13
+ attr_reader :insurance_card, :patient_relationship_to_subscriber_code, :date_of_birth, :address, :first_name,
14
+ :last_name, :gender, :additional_properties
15
+
16
+ # @param insurance_card [InsuranceCards::V2::InsuranceCardCreate]
17
+ # @param patient_relationship_to_subscriber_code [Commons::PatientRelationshipToInsuredCodeAll]
18
+ # @param date_of_birth [Commons::DATE]
19
+ # @param address [Commons::StreetAddressShortZip]
20
+ # @param first_name [String]
21
+ # @param last_name [String]
22
+ # @param gender [Individual::Gender]
23
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
24
+ # @return [Individual::SubscriberCreate]
25
+ def initialize(insurance_card:, patient_relationship_to_subscriber_code:, first_name:, last_name:, gender:,
26
+ date_of_birth: nil, address: nil, additional_properties: nil)
27
+ # @type [InsuranceCards::V2::InsuranceCardCreate]
28
+ @insurance_card = insurance_card
29
+ # @type [Commons::PatientRelationshipToInsuredCodeAll]
30
+ @patient_relationship_to_subscriber_code = patient_relationship_to_subscriber_code
31
+ # @type [Commons::DATE]
32
+ @date_of_birth = date_of_birth
33
+ # @type [Commons::StreetAddressShortZip]
34
+ @address = address
35
+ # @type [String]
36
+ @first_name = first_name
37
+ # @type [String]
38
+ @last_name = last_name
39
+ # @type [Individual::Gender]
40
+ @gender = gender
41
+ # @type [OpenStruct] Additional properties unmapped to the current class definition
42
+ @additional_properties = additional_properties
43
+ end
44
+
45
+ # Deserialize a JSON object to an instance of SubscriberCreate
46
+ #
47
+ # @param json_object [JSON]
48
+ # @return [Individual::SubscriberCreate]
49
+ def self.from_json(json_object:)
50
+ struct = JSON.parse(json_object, object_class: OpenStruct)
51
+ parsed_json = JSON.parse(json_object)
52
+ if parsed_json["insurance_card"].nil?
53
+ insurance_card = nil
54
+ else
55
+ insurance_card = parsed_json["insurance_card"].to_json
56
+ insurance_card = InsuranceCards::V2::InsuranceCardCreate.from_json(json_object: insurance_card)
57
+ end
58
+ patient_relationship_to_subscriber_code = struct.patient_relationship_to_subscriber_code
59
+ date_of_birth = struct.date_of_birth
60
+ if parsed_json["address"].nil?
61
+ address = nil
62
+ else
63
+ address = parsed_json["address"].to_json
64
+ address = Commons::StreetAddressShortZip.from_json(json_object: address)
65
+ end
66
+ first_name = struct.first_name
67
+ last_name = struct.last_name
68
+ gender = struct.gender
69
+ new(insurance_card: insurance_card,
70
+ patient_relationship_to_subscriber_code: patient_relationship_to_subscriber_code, date_of_birth: date_of_birth, address: address, first_name: first_name, last_name: last_name, gender: gender, additional_properties: struct)
71
+ end
72
+
73
+ # Serialize an instance of SubscriberCreate to a JSON object
74
+ #
75
+ # @return [JSON]
76
+ def to_json(*_args)
77
+ {
78
+ "insurance_card": @insurance_card,
79
+ "patient_relationship_to_subscriber_code": @patient_relationship_to_subscriber_code,
80
+ "date_of_birth": @date_of_birth,
81
+ "address": @address,
82
+ "first_name": @first_name,
83
+ "last_name": @last_name,
84
+ "gender": @gender
85
+ }.to_json
86
+ end
87
+
88
+ # 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.
89
+ #
90
+ # @param obj [Object]
91
+ # @return [Void]
92
+ def self.validate_raw(obj:)
93
+ InsuranceCards::V2::InsuranceCardCreate.validate_raw(obj: obj.insurance_card)
94
+ obj.patient_relationship_to_subscriber_code.is_a?(Commons::PatientRelationshipToInsuredCodeAll) != false || raise("Passed value for field obj.patient_relationship_to_subscriber_code is not the expected type, validation failed.")
95
+ obj.date_of_birth&.is_a?(String) != false || raise("Passed value for field obj.date_of_birth is not the expected type, validation failed.")
96
+ obj.address.nil? || Commons::StreetAddressShortZip.validate_raw(obj: obj.address)
97
+ obj.first_name.is_a?(String) != false || raise("Passed value for field obj.first_name is not the expected type, validation failed.")
98
+ obj.last_name.is_a?(String) != false || raise("Passed value for field obj.last_name is not the expected type, validation failed.")
99
+ obj.gender.is_a?(Individual::Gender) != false || raise("Passed value for field obj.gender is not the expected type, validation failed.")
100
+ end
101
+ end
102
+ end
103
+ 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 InsuranceAdjudications
8
+ class Client
9
+ attr_reader :v_1
10
+
11
+ # @param request_client [RequestClient]
12
+ # @return [InsuranceAdjudications::Client]
13
+ def initialize(request_client:)
14
+ @v_1 = InsuranceAdjudications::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 [InsuranceAdjudications::AsyncClient]
23
+ def initialize(request_client:)
24
+ @v_1 = InsuranceAdjudications::V1::AsyncV1Client.new(request_client: request_client)
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,143 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../../../requests"
4
+ require_relative "types/insurance_adjudication_id"
5
+ require_relative "types/insurance_adjudication"
6
+ require_relative "types/insurance_adjudication_create"
7
+ require "async"
8
+
9
+ module CandidApiClient
10
+ module InsuranceAdjudications
11
+ module V1
12
+ class V1Client
13
+ attr_reader :request_client
14
+
15
+ # @param request_client [RequestClient]
16
+ # @return [InsuranceAdjudications::V1::V1Client]
17
+ def initialize(request_client:)
18
+ # @type [RequestClient]
19
+ @request_client = request_client
20
+ end
21
+
22
+ # Retrieves a previously created insurance adjudication by its `insurance_adjudication_id`.
23
+ #
24
+ # @param insurance_adjudication_id [InsuranceAdjudications::V1::INSURANCE_ADJUDICATION_ID]
25
+ # @param request_options [RequestOptions]
26
+ # @return [InsuranceAdjudications::V1::InsuranceAdjudication]
27
+ def get(insurance_adjudication_id:, request_options: nil)
28
+ response = @request_client.conn.get("/api/insurance-adjudications/v1/#{insurance_adjudication_id}") do |req|
29
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
30
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
31
+ req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
32
+ end
33
+ InsuranceAdjudications::V1::InsuranceAdjudication.from_json(json_object: response.body)
34
+ end
35
+
36
+ # Creates a new insurance adjudication record and returns the newly created InsuranceAdjudication object.
37
+ #
38
+ # @param request [Hash] Request of type InsuranceAdjudications::V1::InsuranceAdjudicationCreate, as a Hash
39
+ # * :payer_identifier (Hash)
40
+ # * :payee (Hash)
41
+ # * :payee_name (String)
42
+ # * :payee_identifier (Hash)
43
+ # * :post_date (Date)
44
+ # * :check_number (String)
45
+ # * :check_date (Date)
46
+ # * :note (String)
47
+ # * :claims (Hash{Commons::CLAIM_ID => Array})
48
+ # @param request_options [RequestOptions]
49
+ # @return [InsuranceAdjudications::V1::InsuranceAdjudication]
50
+ def create(request:, request_options: nil)
51
+ response = @request_client.conn.post("/api/insurance-adjudications/v1") do |req|
52
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
53
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
54
+ req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
55
+ req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
56
+ end
57
+ InsuranceAdjudications::V1::InsuranceAdjudication.from_json(json_object: response.body)
58
+ end
59
+
60
+ # Deletes the insurance adjudication record matching the provided insurance_adjudication_id.
61
+ #
62
+ # @param insurance_adjudication_id [InsuranceAdjudications::V1::INSURANCE_ADJUDICATION_ID]
63
+ # @param request_options [RequestOptions]
64
+ # @return [Void]
65
+ def delete(insurance_adjudication_id:, request_options: nil)
66
+ @request_client.conn.delete("/api/insurance-adjudications/v1/#{insurance_adjudication_id}") do |req|
67
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
68
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
69
+ req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
70
+ end
71
+ end
72
+ end
73
+
74
+ class AsyncV1Client
75
+ attr_reader :request_client
76
+
77
+ # @param request_client [AsyncRequestClient]
78
+ # @return [InsuranceAdjudications::V1::AsyncV1Client]
79
+ def initialize(request_client:)
80
+ # @type [AsyncRequestClient]
81
+ @request_client = request_client
82
+ end
83
+
84
+ # Retrieves a previously created insurance adjudication by its `insurance_adjudication_id`.
85
+ #
86
+ # @param insurance_adjudication_id [InsuranceAdjudications::V1::INSURANCE_ADJUDICATION_ID]
87
+ # @param request_options [RequestOptions]
88
+ # @return [InsuranceAdjudications::V1::InsuranceAdjudication]
89
+ def get(insurance_adjudication_id:, request_options: nil)
90
+ Async do
91
+ response = @request_client.conn.get("/api/insurance-adjudications/v1/#{insurance_adjudication_id}") do |req|
92
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
93
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
94
+ req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
95
+ end
96
+ InsuranceAdjudications::V1::InsuranceAdjudication.from_json(json_object: response.body)
97
+ end
98
+ end
99
+
100
+ # Creates a new insurance adjudication record and returns the newly created InsuranceAdjudication object.
101
+ #
102
+ # @param request [Hash] Request of type InsuranceAdjudications::V1::InsuranceAdjudicationCreate, as a Hash
103
+ # * :payer_identifier (Hash)
104
+ # * :payee (Hash)
105
+ # * :payee_name (String)
106
+ # * :payee_identifier (Hash)
107
+ # * :post_date (Date)
108
+ # * :check_number (String)
109
+ # * :check_date (Date)
110
+ # * :note (String)
111
+ # * :claims (Hash{Commons::CLAIM_ID => Array})
112
+ # @param request_options [RequestOptions]
113
+ # @return [InsuranceAdjudications::V1::InsuranceAdjudication]
114
+ def create(request:, request_options: nil)
115
+ Async do
116
+ response = @request_client.conn.post("/api/insurance-adjudications/v1") do |req|
117
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
118
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
119
+ req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
120
+ req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
121
+ end
122
+ InsuranceAdjudications::V1::InsuranceAdjudication.from_json(json_object: response.body)
123
+ end
124
+ end
125
+
126
+ # Deletes the insurance adjudication record matching the provided insurance_adjudication_id.
127
+ #
128
+ # @param insurance_adjudication_id [InsuranceAdjudications::V1::INSURANCE_ADJUDICATION_ID]
129
+ # @param request_options [RequestOptions]
130
+ # @return [Void]
131
+ def delete(insurance_adjudication_id:, request_options: nil)
132
+ Async do
133
+ @request_client.conn.delete("/api/insurance-adjudications/v1/#{insurance_adjudication_id}") do |req|
134
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
135
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
136
+ req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
137
+ end
138
+ end
139
+ end
140
+ end
141
+ end
142
+ end
143
+ end