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,107 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "json"
4
+ require_relative "in_network_status"
5
+ require_relative "out_of_network_status"
6
+ require_relative "indeterminate_network_status"
7
+
8
+ module CandidApiClient
9
+ module ExpectedNetworkStatus
10
+ module V2
11
+ class ExpectedNetworkStatusV2
12
+ attr_reader :member, :discriminant
13
+
14
+ private_class_method :new
15
+ alias kind_of? is_a?
16
+ # @param member [Object]
17
+ # @param discriminant [String]
18
+ # @return [ExpectedNetworkStatus::V2::ExpectedNetworkStatusV2]
19
+ def initialize(member:, discriminant:)
20
+ # @type [Object]
21
+ @member = member
22
+ # @type [String]
23
+ @discriminant = discriminant
24
+ end
25
+
26
+ # Deserialize a JSON object to an instance of ExpectedNetworkStatusV2
27
+ #
28
+ # @param json_object [JSON]
29
+ # @return [ExpectedNetworkStatus::V2::ExpectedNetworkStatusV2]
30
+ def self.from_json(json_object:)
31
+ struct = JSON.parse(json_object, object_class: OpenStruct)
32
+ member = case struct.type
33
+ when "in_network"
34
+ ExpectedNetworkStatus::V2::InNetworkStatus.from_json(json_object: json_object)
35
+ when "out_of_network"
36
+ ExpectedNetworkStatus::V2::OutOfNetworkStatus.from_json(json_object: json_object)
37
+ when "indeterminate"
38
+ ExpectedNetworkStatus::V2::IndeterminateNetworkStatus.from_json(json_object: json_object)
39
+ else
40
+ ExpectedNetworkStatus::V2::InNetworkStatus.from_json(json_object: json_object)
41
+ end
42
+ new(member: member, discriminant: struct.type)
43
+ end
44
+
45
+ # For Union Types, to_json functionality is delegated to the wrapped member.
46
+ #
47
+ # @return [JSON]
48
+ def to_json(*_args)
49
+ case @discriminant
50
+ when "in_network"
51
+ { **@member.to_json, type: @discriminant }.to_json
52
+ when "out_of_network"
53
+ { **@member.to_json, type: @discriminant }.to_json
54
+ when "indeterminate"
55
+ { **@member.to_json, type: @discriminant }.to_json
56
+ else
57
+ { "type": @discriminant, value: @member }.to_json
58
+ end
59
+ @member.to_json
60
+ end
61
+
62
+ # 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.
63
+ #
64
+ # @param obj [Object]
65
+ # @return [Void]
66
+ def self.validate_raw(obj:)
67
+ case obj.type
68
+ when "in_network"
69
+ ExpectedNetworkStatus::V2::InNetworkStatus.validate_raw(obj: obj)
70
+ when "out_of_network"
71
+ ExpectedNetworkStatus::V2::OutOfNetworkStatus.validate_raw(obj: obj)
72
+ when "indeterminate"
73
+ ExpectedNetworkStatus::V2::IndeterminateNetworkStatus.validate_raw(obj: obj)
74
+ else
75
+ raise("Passed value matched no type within the union, validation failed.")
76
+ end
77
+ end
78
+
79
+ # For Union Types, is_a? functionality is delegated to the wrapped member.
80
+ #
81
+ # @param obj [Object]
82
+ # @return [Boolean]
83
+ def is_a?(obj)
84
+ @member.is_a?(obj)
85
+ end
86
+
87
+ # @param member [ExpectedNetworkStatus::V2::InNetworkStatus]
88
+ # @return [ExpectedNetworkStatus::V2::ExpectedNetworkStatusV2]
89
+ def self.in_network(member:)
90
+ new(member: member, discriminant: "in_network")
91
+ end
92
+
93
+ # @param member [ExpectedNetworkStatus::V2::OutOfNetworkStatus]
94
+ # @return [ExpectedNetworkStatus::V2::ExpectedNetworkStatusV2]
95
+ def self.out_of_network(member:)
96
+ new(member: member, discriminant: "out_of_network")
97
+ end
98
+
99
+ # @param member [ExpectedNetworkStatus::V2::IndeterminateNetworkStatus]
100
+ # @return [ExpectedNetworkStatus::V2::ExpectedNetworkStatusV2]
101
+ def self.indeterminate(member:)
102
+ new(member: member, discriminant: "indeterminate")
103
+ end
104
+ end
105
+ end
106
+ end
107
+ end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CandidApiClient
4
+ module ExpectedNetworkStatus
5
+ module V2
6
+ class Explanation
7
+ ROUTING_FAILED = "Payer Routing and/or Billing Provider Routing Failed"
8
+ PAYER_MATCH_FAILED = "No Effective Contract with Payer"
9
+ BILLING_PROVIDER_MATCH_FAILED = "No Effective Contract with Billing Provider"
10
+ COVERED_GEOGRAPHY_MATCH_FAILED = "No Effective Contract with Covered Geography"
11
+ LINE_OF_BUSINESS_MATCH_FAILED = "No Effective Contract with Line of Business"
12
+ INSURANCE_TYPE_MATCH_FAILED = "No Effective Contract with Insurance Type"
13
+ RENDERING_PROVIDER_MATCH_FAILED = "No Effective Contract with Rendering Provider"
14
+ RENDERING_PROVIDER_CREDENTIALING_CHECK_FAILED = "Rendering Provider Not Credentialed"
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,67 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../../../organization_providers/v_2/types/organization_provider_id"
4
+ require_relative "../../../payers/v_3/types/payer_uuid"
5
+ require "json"
6
+
7
+ module CandidApiClient
8
+ module ExpectedNetworkStatus
9
+ module V2
10
+ class InNetworkRenderingProvidersDetail
11
+ attr_reader :rendering_providers, :routed_payer_uuid, :routed_billing_provider_id, :additional_properties
12
+
13
+ # @param rendering_providers [Array<OrganizationProviders::V2::ORGANIZATION_PROVIDER_ID>]
14
+ # @param routed_payer_uuid [Payers::V3::PAYER_String]
15
+ # @param routed_billing_provider_id [OrganizationProviders::V2::ORGANIZATION_PROVIDER_ID]
16
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
17
+ # @return [ExpectedNetworkStatus::V2::InNetworkRenderingProvidersDetail]
18
+ def initialize(rendering_providers:, routed_payer_uuid:, routed_billing_provider_id:,
19
+ additional_properties: nil)
20
+ # @type [Array<OrganizationProviders::V2::ORGANIZATION_PROVIDER_ID>]
21
+ @rendering_providers = rendering_providers
22
+ # @type [Payers::V3::PAYER_String]
23
+ @routed_payer_uuid = routed_payer_uuid
24
+ # @type [OrganizationProviders::V2::ORGANIZATION_PROVIDER_ID]
25
+ @routed_billing_provider_id = routed_billing_provider_id
26
+ # @type [OpenStruct] Additional properties unmapped to the current class definition
27
+ @additional_properties = additional_properties
28
+ end
29
+
30
+ # Deserialize a JSON object to an instance of InNetworkRenderingProvidersDetail
31
+ #
32
+ # @param json_object [JSON]
33
+ # @return [ExpectedNetworkStatus::V2::InNetworkRenderingProvidersDetail]
34
+ def self.from_json(json_object:)
35
+ struct = JSON.parse(json_object, object_class: OpenStruct)
36
+ JSON.parse(json_object)
37
+ rendering_providers = struct.rendering_providers
38
+ routed_payer_uuid = struct.routed_payer_uuid
39
+ routed_billing_provider_id = struct.routed_billing_provider_id
40
+ new(rendering_providers: rendering_providers, routed_payer_uuid: routed_payer_uuid,
41
+ routed_billing_provider_id: routed_billing_provider_id, additional_properties: struct)
42
+ end
43
+
44
+ # Serialize an instance of InNetworkRenderingProvidersDetail to a JSON object
45
+ #
46
+ # @return [JSON]
47
+ def to_json(*_args)
48
+ {
49
+ "rendering_providers": @rendering_providers,
50
+ "routed_payer_uuid": @routed_payer_uuid,
51
+ "routed_billing_provider_id": @routed_billing_provider_id
52
+ }.to_json
53
+ end
54
+
55
+ # 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.
56
+ #
57
+ # @param obj [Object]
58
+ # @return [Void]
59
+ def self.validate_raw(obj:)
60
+ obj.rendering_providers.is_a?(Array) != false || raise("Passed value for field obj.rendering_providers is not the expected type, validation failed.")
61
+ obj.routed_payer_uuid.is_a?(String) != false || raise("Passed value for field obj.routed_payer_uuid is not the expected type, validation failed.")
62
+ obj.routed_billing_provider_id.is_a?(String) != false || raise("Passed value for field obj.routed_billing_provider_id is not the expected type, validation failed.")
63
+ end
64
+ end
65
+ end
66
+ end
67
+ end
@@ -0,0 +1,57 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../../../payers/v_3/types/payer_uuid"
4
+ require_relative "../../../organization_providers/v_2/types/organization_provider_id"
5
+ require "json"
6
+
7
+ module CandidApiClient
8
+ module ExpectedNetworkStatus
9
+ module V2
10
+ class InNetworkStatus
11
+ attr_reader :routed_payer_uuid, :routed_billing_provider_id, :additional_properties
12
+
13
+ # @param routed_payer_uuid [Payers::V3::PAYER_String]
14
+ # @param routed_billing_provider_id [OrganizationProviders::V2::ORGANIZATION_PROVIDER_ID]
15
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
16
+ # @return [ExpectedNetworkStatus::V2::InNetworkStatus]
17
+ def initialize(routed_payer_uuid:, routed_billing_provider_id:, additional_properties: nil)
18
+ # @type [Payers::V3::PAYER_String]
19
+ @routed_payer_uuid = routed_payer_uuid
20
+ # @type [OrganizationProviders::V2::ORGANIZATION_PROVIDER_ID]
21
+ @routed_billing_provider_id = routed_billing_provider_id
22
+ # @type [OpenStruct] Additional properties unmapped to the current class definition
23
+ @additional_properties = additional_properties
24
+ end
25
+
26
+ # Deserialize a JSON object to an instance of InNetworkStatus
27
+ #
28
+ # @param json_object [JSON]
29
+ # @return [ExpectedNetworkStatus::V2::InNetworkStatus]
30
+ def self.from_json(json_object:)
31
+ struct = JSON.parse(json_object, object_class: OpenStruct)
32
+ JSON.parse(json_object)
33
+ routed_payer_uuid = struct.routed_payer_uuid
34
+ routed_billing_provider_id = struct.routed_billing_provider_id
35
+ new(routed_payer_uuid: routed_payer_uuid, routed_billing_provider_id: routed_billing_provider_id,
36
+ additional_properties: struct)
37
+ end
38
+
39
+ # Serialize an instance of InNetworkStatus to a JSON object
40
+ #
41
+ # @return [JSON]
42
+ def to_json(*_args)
43
+ { "routed_payer_uuid": @routed_payer_uuid, "routed_billing_provider_id": @routed_billing_provider_id }.to_json
44
+ end
45
+
46
+ # 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.
47
+ #
48
+ # @param obj [Object]
49
+ # @return [Void]
50
+ def self.validate_raw(obj:)
51
+ obj.routed_payer_uuid.is_a?(String) != false || raise("Passed value for field obj.routed_payer_uuid is not the expected type, validation failed.")
52
+ obj.routed_billing_provider_id.is_a?(String) != false || raise("Passed value for field obj.routed_billing_provider_id is not the expected type, validation failed.")
53
+ end
54
+ end
55
+ end
56
+ end
57
+ end
@@ -0,0 +1,74 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "explanation"
4
+ require_relative "../../../payers/v_3/types/payer_uuid"
5
+ require_relative "../../../organization_providers/v_2/types/organization_provider_id"
6
+ require "json"
7
+
8
+ module CandidApiClient
9
+ module ExpectedNetworkStatus
10
+ module V2
11
+ class IndeterminateNetworkStatus
12
+ attr_reader :error, :explanation, :routed_payer_uuid, :routed_billing_provider_id, :additional_properties
13
+
14
+ # @param error [String]
15
+ # @param explanation [ExpectedNetworkStatus::V2::Explanation]
16
+ # @param routed_payer_uuid [Payers::V3::PAYER_String]
17
+ # @param routed_billing_provider_id [OrganizationProviders::V2::ORGANIZATION_PROVIDER_ID]
18
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
19
+ # @return [ExpectedNetworkStatus::V2::IndeterminateNetworkStatus]
20
+ def initialize(error:, explanation:, routed_payer_uuid: nil, routed_billing_provider_id: nil,
21
+ additional_properties: nil)
22
+ # @type [String]
23
+ @error = error
24
+ # @type [ExpectedNetworkStatus::V2::Explanation]
25
+ @explanation = explanation
26
+ # @type [Payers::V3::PAYER_String]
27
+ @routed_payer_uuid = routed_payer_uuid
28
+ # @type [OrganizationProviders::V2::ORGANIZATION_PROVIDER_ID]
29
+ @routed_billing_provider_id = routed_billing_provider_id
30
+ # @type [OpenStruct] Additional properties unmapped to the current class definition
31
+ @additional_properties = additional_properties
32
+ end
33
+
34
+ # Deserialize a JSON object to an instance of IndeterminateNetworkStatus
35
+ #
36
+ # @param json_object [JSON]
37
+ # @return [ExpectedNetworkStatus::V2::IndeterminateNetworkStatus]
38
+ def self.from_json(json_object:)
39
+ struct = JSON.parse(json_object, object_class: OpenStruct)
40
+ JSON.parse(json_object)
41
+ error = struct.error
42
+ explanation = struct.explanation
43
+ routed_payer_uuid = struct.routed_payer_uuid
44
+ routed_billing_provider_id = struct.routed_billing_provider_id
45
+ new(error: error, explanation: explanation, routed_payer_uuid: routed_payer_uuid,
46
+ routed_billing_provider_id: routed_billing_provider_id, additional_properties: struct)
47
+ end
48
+
49
+ # Serialize an instance of IndeterminateNetworkStatus to a JSON object
50
+ #
51
+ # @return [JSON]
52
+ def to_json(*_args)
53
+ {
54
+ "error": @error,
55
+ "explanation": @explanation,
56
+ "routed_payer_uuid": @routed_payer_uuid,
57
+ "routed_billing_provider_id": @routed_billing_provider_id
58
+ }.to_json
59
+ end
60
+
61
+ # 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.
62
+ #
63
+ # @param obj [Object]
64
+ # @return [Void]
65
+ def self.validate_raw(obj:)
66
+ obj.error.is_a?(String) != false || raise("Passed value for field obj.error is not the expected type, validation failed.")
67
+ obj.explanation.is_a?(ExpectedNetworkStatus::V2::Explanation) != false || raise("Passed value for field obj.explanation is not the expected type, validation failed.")
68
+ obj.routed_payer_uuid&.is_a?(String) != false || raise("Passed value for field obj.routed_payer_uuid is not the expected type, validation failed.")
69
+ obj.routed_billing_provider_id&.is_a?(String) != false || raise("Passed value for field obj.routed_billing_provider_id is not the expected type, validation failed.")
70
+ end
71
+ end
72
+ end
73
+ end
74
+ end
@@ -0,0 +1,62 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "line_of_business"
4
+ require_relative "insurance_type_codes"
5
+ require "json"
6
+
7
+ module CandidApiClient
8
+ module ExpectedNetworkStatus
9
+ module V2
10
+ class InsuranceType
11
+ attr_reader :line_of_business, :insurance_type_codes, :additional_properties
12
+
13
+ # @param line_of_business [ExpectedNetworkStatus::V2::LineOfBusiness] The line of business associated with the patient’s insurance
14
+ # @param insurance_type_codes [ExpectedNetworkStatus::V2::InsuranceTypeCodes]
15
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
16
+ # @return [ExpectedNetworkStatus::V2::InsuranceType]
17
+ def initialize(line_of_business:, insurance_type_codes:, additional_properties: nil)
18
+ # @type [ExpectedNetworkStatus::V2::LineOfBusiness] The line of business associated with the patient’s insurance
19
+ @line_of_business = line_of_business
20
+ # @type [ExpectedNetworkStatus::V2::InsuranceTypeCodes]
21
+ @insurance_type_codes = insurance_type_codes
22
+ # @type [OpenStruct] Additional properties unmapped to the current class definition
23
+ @additional_properties = additional_properties
24
+ end
25
+
26
+ # Deserialize a JSON object to an instance of InsuranceType
27
+ #
28
+ # @param json_object [JSON]
29
+ # @return [ExpectedNetworkStatus::V2::InsuranceType]
30
+ def self.from_json(json_object:)
31
+ struct = JSON.parse(json_object, object_class: OpenStruct)
32
+ parsed_json = JSON.parse(json_object)
33
+ line_of_business = struct.line_of_business
34
+ if parsed_json["insurance_type_codes"].nil?
35
+ insurance_type_codes = nil
36
+ else
37
+ insurance_type_codes = parsed_json["insurance_type_codes"].to_json
38
+ insurance_type_codes = ExpectedNetworkStatus::V2::InsuranceTypeCodes.from_json(json_object: insurance_type_codes)
39
+ end
40
+ new(line_of_business: line_of_business, insurance_type_codes: insurance_type_codes,
41
+ additional_properties: struct)
42
+ end
43
+
44
+ # Serialize an instance of InsuranceType to a JSON object
45
+ #
46
+ # @return [JSON]
47
+ def to_json(*_args)
48
+ { "line_of_business": @line_of_business, "insurance_type_codes": @insurance_type_codes }.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
+ obj.line_of_business.is_a?(ExpectedNetworkStatus::V2::LineOfBusiness) != false || raise("Passed value for field obj.line_of_business is not the expected type, validation failed.")
57
+ ExpectedNetworkStatus::V2::InsuranceTypeCodes.validate_raw(obj: obj.insurance_type_codes)
58
+ end
59
+ end
60
+ end
61
+ end
62
+ end
@@ -0,0 +1,103 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "json"
4
+ require_relative "../../../commons/types/insurance_type_code"
5
+
6
+ module CandidApiClient
7
+ module ExpectedNetworkStatus
8
+ module V2
9
+ class InsuranceTypeCodes
10
+ attr_reader :member, :discriminant
11
+
12
+ private_class_method :new
13
+ alias kind_of? is_a?
14
+ # @param member [Object]
15
+ # @param discriminant [String]
16
+ # @return [ExpectedNetworkStatus::V2::InsuranceTypeCodes]
17
+ def initialize(member:, discriminant:)
18
+ # @type [Object]
19
+ @member = member
20
+ # @type [String]
21
+ @discriminant = discriminant
22
+ end
23
+
24
+ # Deserialize a JSON object to an instance of InsuranceTypeCodes
25
+ #
26
+ # @param json_object [JSON]
27
+ # @return [ExpectedNetworkStatus::V2::InsuranceTypeCodes]
28
+ def self.from_json(json_object:)
29
+ struct = JSON.parse(json_object, object_class: OpenStruct)
30
+ member = case struct.type
31
+ when "insurance_type_code"
32
+ json_object.value
33
+ when "unknown_insurance_type_code"
34
+ nil
35
+ when "not_applicable"
36
+ nil
37
+ else
38
+ json_object
39
+ end
40
+ new(member: member, discriminant: struct.type)
41
+ end
42
+
43
+ # For Union Types, to_json functionality is delegated to the wrapped member.
44
+ #
45
+ # @return [JSON]
46
+ def to_json(*_args)
47
+ case @discriminant
48
+ when "insurance_type_code"
49
+ { "type": @discriminant, "value": @member }.to_json
50
+ when "unknown_insurance_type_code"
51
+ { type: @discriminant }.to_json
52
+ when "not_applicable"
53
+ { type: @discriminant }.to_json
54
+ else
55
+ { "type": @discriminant, value: @member }.to_json
56
+ end
57
+ @member.to_json
58
+ end
59
+
60
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given hash and check each fields type against the current object's property definitions.
61
+ #
62
+ # @param obj [Object]
63
+ # @return [Void]
64
+ def self.validate_raw(obj:)
65
+ case obj.type
66
+ when "insurance_type_code"
67
+ obj.is_a?(Commons::InsuranceTypeCode) != false || raise("Passed value for field obj is not the expected type, validation failed.")
68
+ when "unknown_insurance_type_code"
69
+ # noop
70
+ when "not_applicable"
71
+ # noop
72
+ else
73
+ raise("Passed value matched no type within the union, validation failed.")
74
+ end
75
+ end
76
+
77
+ # For Union Types, is_a? functionality is delegated to the wrapped member.
78
+ #
79
+ # @param obj [Object]
80
+ # @return [Boolean]
81
+ def is_a?(obj)
82
+ @member.is_a?(obj)
83
+ end
84
+
85
+ # @param member [Commons::InsuranceTypeCode]
86
+ # @return [ExpectedNetworkStatus::V2::InsuranceTypeCodes]
87
+ def self.insurance_type_code(member:)
88
+ new(member: member, discriminant: "insurance_type_code")
89
+ end
90
+
91
+ # @return [ExpectedNetworkStatus::V2::InsuranceTypeCodes]
92
+ def self.unknown_insurance_type_code
93
+ new(member: nil, discriminant: "unknown_insurance_type_code")
94
+ end
95
+
96
+ # @return [ExpectedNetworkStatus::V2::InsuranceTypeCodes]
97
+ def self.not_applicable
98
+ new(member: nil, discriminant: "not_applicable")
99
+ end
100
+ end
101
+ end
102
+ end
103
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CandidApiClient
4
+ module ExpectedNetworkStatus
5
+ module V2
6
+ class LineOfBusiness
7
+ MEDICARE = "medicare"
8
+ MEDICAID = "medicaid"
9
+ COMMERCIAL = "commercial"
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CandidApiClient
4
+ module ExpectedNetworkStatus
5
+ module V2
6
+ NETWORK_STATUS_CHECK_ID = String
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,67 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "explanation"
4
+ require_relative "../../../payers/v_3/types/payer_uuid"
5
+ require_relative "../../../organization_providers/v_2/types/organization_provider_id"
6
+ require "json"
7
+
8
+ module CandidApiClient
9
+ module ExpectedNetworkStatus
10
+ module V2
11
+ class OutOfNetworkStatus
12
+ attr_reader :explanation, :routed_payer_uuid, :routed_billing_provider_id, :additional_properties
13
+
14
+ # @param explanation [ExpectedNetworkStatus::V2::Explanation]
15
+ # @param routed_payer_uuid [Payers::V3::PAYER_String]
16
+ # @param routed_billing_provider_id [OrganizationProviders::V2::ORGANIZATION_PROVIDER_ID]
17
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
18
+ # @return [ExpectedNetworkStatus::V2::OutOfNetworkStatus]
19
+ def initialize(explanation:, routed_payer_uuid:, routed_billing_provider_id:, additional_properties: nil)
20
+ # @type [ExpectedNetworkStatus::V2::Explanation]
21
+ @explanation = explanation
22
+ # @type [Payers::V3::PAYER_String]
23
+ @routed_payer_uuid = routed_payer_uuid
24
+ # @type [OrganizationProviders::V2::ORGANIZATION_PROVIDER_ID]
25
+ @routed_billing_provider_id = routed_billing_provider_id
26
+ # @type [OpenStruct] Additional properties unmapped to the current class definition
27
+ @additional_properties = additional_properties
28
+ end
29
+
30
+ # Deserialize a JSON object to an instance of OutOfNetworkStatus
31
+ #
32
+ # @param json_object [JSON]
33
+ # @return [ExpectedNetworkStatus::V2::OutOfNetworkStatus]
34
+ def self.from_json(json_object:)
35
+ struct = JSON.parse(json_object, object_class: OpenStruct)
36
+ JSON.parse(json_object)
37
+ explanation = struct.explanation
38
+ routed_payer_uuid = struct.routed_payer_uuid
39
+ routed_billing_provider_id = struct.routed_billing_provider_id
40
+ new(explanation: explanation, routed_payer_uuid: routed_payer_uuid,
41
+ routed_billing_provider_id: routed_billing_provider_id, additional_properties: struct)
42
+ end
43
+
44
+ # Serialize an instance of OutOfNetworkStatus to a JSON object
45
+ #
46
+ # @return [JSON]
47
+ def to_json(*_args)
48
+ {
49
+ "explanation": @explanation,
50
+ "routed_payer_uuid": @routed_payer_uuid,
51
+ "routed_billing_provider_id": @routed_billing_provider_id
52
+ }.to_json
53
+ end
54
+
55
+ # 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.
56
+ #
57
+ # @param obj [Object]
58
+ # @return [Void]
59
+ def self.validate_raw(obj:)
60
+ obj.explanation.is_a?(ExpectedNetworkStatus::V2::Explanation) != false || raise("Passed value for field obj.explanation is not the expected type, validation failed.")
61
+ obj.routed_payer_uuid.is_a?(String) != false || raise("Passed value for field obj.routed_payer_uuid is not the expected type, validation failed.")
62
+ obj.routed_billing_provider_id.is_a?(String) != false || raise("Passed value for field obj.routed_billing_provider_id is not the expected type, validation failed.")
63
+ end
64
+ end
65
+ end
66
+ end
67
+ end
@@ -0,0 +1,51 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CandidApiClient
4
+ module ExpectedNetworkStatus
5
+ module V2
6
+ class ServiceType
7
+ NEW_PATIENT_VIDEO_APPT = "new_patient_video_appt"
8
+ NEW_PATIENT_PREV_VIDEO_APPT = "new_patient_prev_video_appt"
9
+ NEW_PATIENT_OFFICE_APPT = "new_patient_office_appt"
10
+ ESTABLISHED_PATIENT_VIDEO_APPT = "established_patient_video_appt"
11
+ ESTABLISHED_PATIENT_PREV_VIDEO_APPT = "established_patient_prev_video_appt"
12
+ ESTABLISHED_PATIENT_OFFICE_APPT = "established_patient_office_appt"
13
+ PATIENT_PORTAL_WITH_QUALIFIED_PHYSICIAN = "patient_portal_with_qualified_physician"
14
+ PATIENT_PORTAL_WITH_NON_QUALIFIED_PHYSICIAN = "patient_portal_with_non_qualified_physician"
15
+ GROUP_THERAPY = "group_therapy"
16
+ PHONE_APPT = "phone_appt"
17
+ ANNUAL_WELLNESS_VISIT = "annual_wellness_visit"
18
+ REMOTE_PATIENT_MONITORING = "remote_patient_monitoring"
19
+ DIAGNOSTIC = "diagnostic"
20
+ CARDIAC_MONITORING = "cardiac_monitoring"
21
+ CARDIAC_CODES = "cardiac_codes"
22
+ PSYCHOTHERAPY = "psychotherapy"
23
+ PHONE_THERAPY = "phone_therapy"
24
+ ALCOHOL_ABUSE = "alcohol_abuse"
25
+ SMOKING_CESSATION = "smoking_cessation"
26
+ SPEECH_THERAPY = "speech_therapy"
27
+ HOME_VISIT = "home_visit"
28
+ MEDICAL_NUTRITION_THERAPY = "medical_nutrition_therapy"
29
+ NUTRITIONAL_COUNSELING = "nutritional_counseling"
30
+ DIETITIAN_VISIT = "dietitian_visit"
31
+ PREVENTATIVE_MEDICINE_COUNSELING = "preventative_medicine_counseling"
32
+ CHRONIC_CARE = "chronic_care"
33
+ ADVANCE_CARE = "advance_care"
34
+ COLLABORATIVE_CARE_MANAGEMENT = "collaborative_care_management"
35
+ ABORTION_CARE = "abortion_care"
36
+ ABORTION_DRUGS = "abortion_drugs"
37
+ REMOTE_THERAPEUTIC_MONITORING = "remote_therapeutic_monitoring"
38
+ PRINCIPAL_CARE_MGMT = "principal_care_mgmt"
39
+ OTHER_EM = "other_em"
40
+ TELEHEALTH_OUD = "telehealth_oud"
41
+ SUBSTANCE_ABUSE_TREATMENT = "substance_abuse_treatment"
42
+ ACUPUNCTURE = "acupuncture"
43
+ PHYSICAL_THERAPY = "physical_therapy"
44
+ LACTATION_CONSULTING = "lactation_consulting"
45
+ SLEEP_STUDY = "sleep_study"
46
+ CMS_TELEHEALTH_CODES = "cms_telehealth_codes"
47
+ CMS_TELEHEALTH_AUDIO_CODES = "cms_telehealth_audio_codes"
48
+ end
49
+ end
50
+ end
51
+ end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../../requests"
4
+ require_relative "v_3/client"
5
+
6
+ module CandidApiClient
7
+ module Exports
8
+ class Client
9
+ attr_reader :v_3
10
+
11
+ # @param request_client [RequestClient]
12
+ # @return [Exports::Client]
13
+ def initialize(request_client:)
14
+ @v_3 = Exports::V3::V3Client.new(request_client: request_client)
15
+ end
16
+ end
17
+
18
+ class AsyncClient
19
+ attr_reader :v_3
20
+
21
+ # @param request_client [RequestClient]
22
+ # @return [Exports::AsyncClient]
23
+ def initialize(request_client:)
24
+ @v_3 = Exports::V3::AsyncV3Client.new(request_client: request_client)
25
+ end
26
+ end
27
+ end
28
+ end