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 "service_type"
4
+ require_relative "../../../commons/types/facility_type_code"
5
+ require_relative "expected_network_status_subscriber_information"
6
+ require_relative "../../../commons/types/street_address_short_zip"
7
+ require_relative "../../../organization_providers/v_2/types/organization_provider_id"
8
+ require_relative "../../../organization_service_facilities/v_2/types/organization_service_facility_id"
9
+ require "date"
10
+ require "json"
11
+
12
+ module CandidApiClient
13
+ module ExpectedNetworkStatus
14
+ module V2
15
+ class ComputeAllInNetworkProvidersRequest
16
+ attr_reader :service_type, :place_of_service_code, :subscriber_information, :patient_address,
17
+ :billing_provider_id, :organization_service_facility_id, :date_of_service, :additional_properties
18
+
19
+ # @param service_type [ExpectedNetworkStatus::V2::ServiceType] For some payers, payer routing depends on whether the rendered service qualifies as a behavioral health visit
20
+ # (e.g. Blue Shield of California routes to Magellan for behavioral health visits).
21
+ # For post appointment payer routing, Candid uses a CPT code list to determine whether the appointment qualifies as a
22
+ # behavioral health visit
23
+ # (see “Inputs: Service Type” in the appendix for list of qualifying CPT codes and behavioral health routing logic).
24
+ # Since CPT codes are not available pre-appointment, the service type input is used to determine whether the appointment is expected
25
+ # to qualify as behavioral health.
26
+ # @param place_of_service_code [Commons::FacilityTypeCode] Expected place of service
27
+ # @param subscriber_information [ExpectedNetworkStatus::V2::ExpectedNetworkStatusSubscriberInformation] Information present on the patient's insurance card
28
+ # @param patient_address [Commons::StreetAddressShortZip]
29
+ # @param billing_provider_id [OrganizationProviders::V2::ORGANIZATION_PROVIDER_ID]
30
+ # @param organization_service_facility_id [OrganizationServiceFacilities::V2::ORGANIZATION_SERVICE_FACILITY_ID] The id of the service facility where the appointment will be rendered
31
+ # @param date_of_service [Date] Expected date of service
32
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
33
+ # @return [ExpectedNetworkStatus::V2::ComputeAllInNetworkProvidersRequest]
34
+ def initialize(service_type:, place_of_service_code:, subscriber_information:, patient_address:,
35
+ billing_provider_id:, organization_service_facility_id:, date_of_service:, additional_properties: nil)
36
+ # @type [ExpectedNetworkStatus::V2::ServiceType] For some payers, payer routing depends on whether the rendered service qualifies as a behavioral health visit
37
+ # (e.g. Blue Shield of California routes to Magellan for behavioral health visits).
38
+ # For post appointment payer routing, Candid uses a CPT code list to determine whether the appointment qualifies as a
39
+ # behavioral health visit
40
+ # (see “Inputs: Service Type” in the appendix for list of qualifying CPT codes and behavioral health routing logic).
41
+ # Since CPT codes are not available pre-appointment, the service type input is used to determine whether the appointment is expected
42
+ # to qualify as behavioral health.
43
+ @service_type = service_type
44
+ # @type [Commons::FacilityTypeCode] Expected place of service
45
+ @place_of_service_code = place_of_service_code
46
+ # @type [ExpectedNetworkStatus::V2::ExpectedNetworkStatusSubscriberInformation] Information present on the patient's insurance card
47
+ @subscriber_information = subscriber_information
48
+ # @type [Commons::StreetAddressShortZip]
49
+ @patient_address = patient_address
50
+ # @type [OrganizationProviders::V2::ORGANIZATION_PROVIDER_ID]
51
+ @billing_provider_id = billing_provider_id
52
+ # @type [OrganizationServiceFacilities::V2::ORGANIZATION_SERVICE_FACILITY_ID] The id of the service facility where the appointment will be rendered
53
+ @organization_service_facility_id = organization_service_facility_id
54
+ # @type [Date] Expected date of service
55
+ @date_of_service = date_of_service
56
+ # @type [OpenStruct] Additional properties unmapped to the current class definition
57
+ @additional_properties = additional_properties
58
+ end
59
+
60
+ # Deserialize a JSON object to an instance of ComputeAllInNetworkProvidersRequest
61
+ #
62
+ # @param json_object [JSON]
63
+ # @return [ExpectedNetworkStatus::V2::ComputeAllInNetworkProvidersRequest]
64
+ def self.from_json(json_object:)
65
+ struct = JSON.parse(json_object, object_class: OpenStruct)
66
+ parsed_json = JSON.parse(json_object)
67
+ service_type = struct.service_type
68
+ place_of_service_code = struct.place_of_service_code
69
+ if parsed_json["subscriber_information"].nil?
70
+ subscriber_information = nil
71
+ else
72
+ subscriber_information = parsed_json["subscriber_information"].to_json
73
+ subscriber_information = ExpectedNetworkStatus::V2::ExpectedNetworkStatusSubscriberInformation.from_json(json_object: subscriber_information)
74
+ end
75
+ if parsed_json["patient_address"].nil?
76
+ patient_address = nil
77
+ else
78
+ patient_address = parsed_json["patient_address"].to_json
79
+ patient_address = Commons::StreetAddressShortZip.from_json(json_object: patient_address)
80
+ end
81
+ billing_provider_id = struct.billing_provider_id
82
+ organization_service_facility_id = struct.organization_service_facility_id
83
+ date_of_service = (Date.parse(parsed_json["date_of_service"]) unless parsed_json["date_of_service"].nil?)
84
+ new(service_type: service_type, place_of_service_code: place_of_service_code,
85
+ subscriber_information: subscriber_information, patient_address: patient_address, billing_provider_id: billing_provider_id, organization_service_facility_id: organization_service_facility_id, date_of_service: date_of_service, additional_properties: struct)
86
+ end
87
+
88
+ # Serialize an instance of ComputeAllInNetworkProvidersRequest to a JSON object
89
+ #
90
+ # @return [JSON]
91
+ def to_json(*_args)
92
+ {
93
+ "service_type": @service_type,
94
+ "place_of_service_code": @place_of_service_code,
95
+ "subscriber_information": @subscriber_information,
96
+ "patient_address": @patient_address,
97
+ "billing_provider_id": @billing_provider_id,
98
+ "organization_service_facility_id": @organization_service_facility_id,
99
+ "date_of_service": @date_of_service
100
+ }.to_json
101
+ end
102
+
103
+ # 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.
104
+ #
105
+ # @param obj [Object]
106
+ # @return [Void]
107
+ def self.validate_raw(obj:)
108
+ obj.service_type.is_a?(ExpectedNetworkStatus::V2::ServiceType) != false || raise("Passed value for field obj.service_type is not the expected type, validation failed.")
109
+ obj.place_of_service_code.is_a?(Commons::FacilityTypeCode) != false || raise("Passed value for field obj.place_of_service_code is not the expected type, validation failed.")
110
+ ExpectedNetworkStatus::V2::ExpectedNetworkStatusSubscriberInformation.validate_raw(obj: obj.subscriber_information)
111
+ Commons::StreetAddressShortZip.validate_raw(obj: obj.patient_address)
112
+ obj.billing_provider_id.is_a?(String) != false || raise("Passed value for field obj.billing_provider_id is not the expected type, validation failed.")
113
+ obj.organization_service_facility_id.is_a?(String) != false || raise("Passed value for field obj.organization_service_facility_id is not the expected type, validation failed.")
114
+ obj.date_of_service.is_a?(Date) != false || raise("Passed value for field obj.date_of_service is not the expected type, validation failed.")
115
+ end
116
+ end
117
+ end
118
+ end
119
+ end
@@ -0,0 +1,65 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "compute_all_in_network_rendering_providers_result"
4
+ require_relative "network_status_check_id"
5
+ require "json"
6
+
7
+ module CandidApiClient
8
+ module ExpectedNetworkStatus
9
+ module V2
10
+ class ComputeAllInNetworkProvidersResponse
11
+ attr_reader :computed_network_status, :network_status_check_id, :additional_properties
12
+
13
+ # @param computed_network_status [ExpectedNetworkStatus::V2::ComputeAllInNetworkRenderingProvidersResult]
14
+ # @param network_status_check_id [ExpectedNetworkStatus::V2::NETWORK_STATUS_CHECK_ID] Unique network status check ID for this request
15
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
16
+ # @return [ExpectedNetworkStatus::V2::ComputeAllInNetworkProvidersResponse]
17
+ def initialize(computed_network_status:, network_status_check_id:, additional_properties: nil)
18
+ # @type [ExpectedNetworkStatus::V2::ComputeAllInNetworkRenderingProvidersResult]
19
+ @computed_network_status = computed_network_status
20
+ # @type [ExpectedNetworkStatus::V2::NETWORK_STATUS_CHECK_ID] Unique network status check ID for this request
21
+ @network_status_check_id = network_status_check_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 ComputeAllInNetworkProvidersResponse
27
+ #
28
+ # @param json_object [JSON]
29
+ # @return [ExpectedNetworkStatus::V2::ComputeAllInNetworkProvidersResponse]
30
+ def self.from_json(json_object:)
31
+ struct = JSON.parse(json_object, object_class: OpenStruct)
32
+ parsed_json = JSON.parse(json_object)
33
+ if parsed_json["computed_network_status"].nil?
34
+ computed_network_status = nil
35
+ else
36
+ computed_network_status = parsed_json["computed_network_status"].to_json
37
+ computed_network_status = ExpectedNetworkStatus::V2::ComputeAllInNetworkRenderingProvidersResult.from_json(json_object: computed_network_status)
38
+ end
39
+ network_status_check_id = struct.network_status_check_id
40
+ new(computed_network_status: computed_network_status, network_status_check_id: network_status_check_id,
41
+ additional_properties: struct)
42
+ end
43
+
44
+ # Serialize an instance of ComputeAllInNetworkProvidersResponse to a JSON object
45
+ #
46
+ # @return [JSON]
47
+ def to_json(*_args)
48
+ {
49
+ "computed_network_status": @computed_network_status,
50
+ "network_status_check_id": @network_status_check_id
51
+ }.to_json
52
+ end
53
+
54
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given hash and check each fields type against the current object's property definitions.
55
+ #
56
+ # @param obj [Object]
57
+ # @return [Void]
58
+ def self.validate_raw(obj:)
59
+ ExpectedNetworkStatus::V2::ComputeAllInNetworkRenderingProvidersResult.validate_raw(obj: obj.computed_network_status)
60
+ obj.network_status_check_id.is_a?(String) != false || raise("Passed value for field obj.network_status_check_id is not the expected type, validation failed.")
61
+ end
62
+ end
63
+ end
64
+ end
65
+ end
@@ -0,0 +1,107 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "json"
4
+ require_relative "in_network_rendering_providers_detail"
5
+ require_relative "indeterminate_network_status"
6
+ require_relative "out_of_network_status"
7
+
8
+ module CandidApiClient
9
+ module ExpectedNetworkStatus
10
+ module V2
11
+ class ComputeAllInNetworkRenderingProvidersResult
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::ComputeAllInNetworkRenderingProvidersResult]
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 ComputeAllInNetworkRenderingProvidersResult
27
+ #
28
+ # @param json_object [JSON]
29
+ # @return [ExpectedNetworkStatus::V2::ComputeAllInNetworkRenderingProvidersResult]
30
+ def self.from_json(json_object:)
31
+ struct = JSON.parse(json_object, object_class: OpenStruct)
32
+ member = case struct.type
33
+ when "rendering_providers"
34
+ ExpectedNetworkStatus::V2::InNetworkRenderingProvidersDetail.from_json(json_object: json_object)
35
+ when "indeterminate"
36
+ ExpectedNetworkStatus::V2::IndeterminateNetworkStatus.from_json(json_object: json_object)
37
+ when "out_of_network"
38
+ ExpectedNetworkStatus::V2::OutOfNetworkStatus.from_json(json_object: json_object)
39
+ else
40
+ ExpectedNetworkStatus::V2::InNetworkRenderingProvidersDetail.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 "rendering_providers"
51
+ { **@member.to_json, type: @discriminant }.to_json
52
+ when "indeterminate"
53
+ { **@member.to_json, type: @discriminant }.to_json
54
+ when "out_of_network"
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 "rendering_providers"
69
+ ExpectedNetworkStatus::V2::InNetworkRenderingProvidersDetail.validate_raw(obj: obj)
70
+ when "indeterminate"
71
+ ExpectedNetworkStatus::V2::IndeterminateNetworkStatus.validate_raw(obj: obj)
72
+ when "out_of_network"
73
+ ExpectedNetworkStatus::V2::OutOfNetworkStatus.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::InNetworkRenderingProvidersDetail]
88
+ # @return [ExpectedNetworkStatus::V2::ComputeAllInNetworkRenderingProvidersResult]
89
+ def self.rendering_providers(member:)
90
+ new(member: member, discriminant: "rendering_providers")
91
+ end
92
+
93
+ # @param member [ExpectedNetworkStatus::V2::IndeterminateNetworkStatus]
94
+ # @return [ExpectedNetworkStatus::V2::ComputeAllInNetworkRenderingProvidersResult]
95
+ def self.indeterminate(member:)
96
+ new(member: member, discriminant: "indeterminate")
97
+ end
98
+
99
+ # @param member [ExpectedNetworkStatus::V2::OutOfNetworkStatus]
100
+ # @return [ExpectedNetworkStatus::V2::ComputeAllInNetworkRenderingProvidersResult]
101
+ def self.out_of_network(member:)
102
+ new(member: member, discriminant: "out_of_network")
103
+ end
104
+ end
105
+ end
106
+ end
107
+ end
@@ -0,0 +1,49 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "json"
4
+
5
+ module CandidApiClient
6
+ module ExpectedNetworkStatus
7
+ module V2
8
+ class ExpectedNetworkStatusCheckErrorMessage
9
+ attr_reader :message, :additional_properties
10
+
11
+ # @param message [String]
12
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
13
+ # @return [ExpectedNetworkStatus::V2::ExpectedNetworkStatusCheckErrorMessage]
14
+ def initialize(message:, additional_properties: nil)
15
+ # @type [String]
16
+ @message = message
17
+ # @type [OpenStruct] Additional properties unmapped to the current class definition
18
+ @additional_properties = additional_properties
19
+ end
20
+
21
+ # Deserialize a JSON object to an instance of ExpectedNetworkStatusCheckErrorMessage
22
+ #
23
+ # @param json_object [JSON]
24
+ # @return [ExpectedNetworkStatus::V2::ExpectedNetworkStatusCheckErrorMessage]
25
+ def self.from_json(json_object:)
26
+ struct = JSON.parse(json_object, object_class: OpenStruct)
27
+ JSON.parse(json_object)
28
+ message = struct.message
29
+ new(message: message, additional_properties: struct)
30
+ end
31
+
32
+ # Serialize an instance of ExpectedNetworkStatusCheckErrorMessage to a JSON object
33
+ #
34
+ # @return [JSON]
35
+ def to_json(*_args)
36
+ { "message": @message }.to_json
37
+ end
38
+
39
+ # 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.
40
+ #
41
+ # @param obj [Object]
42
+ # @return [Void]
43
+ def self.validate_raw(obj:)
44
+ obj.message.is_a?(String) != false || raise("Passed value for field obj.message is not the expected type, validation failed.")
45
+ end
46
+ end
47
+ end
48
+ end
49
+ end
@@ -0,0 +1,119 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "service_type"
4
+ require_relative "../../../commons/types/facility_type_code"
5
+ require_relative "expected_network_status_subscriber_information"
6
+ require_relative "../../../commons/types/street_address_short_zip"
7
+ require_relative "../../../organization_providers/v_2/types/organization_provider_id"
8
+ require_relative "../../../organization_service_facilities/v_2/types/organization_service_facility_id"
9
+ require "date"
10
+ require "json"
11
+
12
+ module CandidApiClient
13
+ module ExpectedNetworkStatus
14
+ module V2
15
+ class ExpectedNetworkStatusRequestV2
16
+ attr_reader :service_type, :place_of_service_code, :subscriber_information, :patient_address,
17
+ :billing_provider_id, :organization_service_facility_id, :date_of_service, :additional_properties
18
+
19
+ # @param service_type [ExpectedNetworkStatus::V2::ServiceType] For some payers, payer routing depends on whether the rendered service qualifies as a behavioral health visit
20
+ # (e.g. Blue Shield of California routes to Magellan for behavioral health visits).
21
+ # For post appointment payer routing, Candid uses a CPT code list to determine whether the appointment qualifies as a
22
+ # behavioral health visit
23
+ # (see “Inputs: Service Type” in the appendix for list of qualifying CPT codes and behavioral health routing logic).
24
+ # Since CPT codes are not available pre-appointment, the service type input is used to determine whether the appointment is expected
25
+ # to qualify as behavioral health.
26
+ # @param place_of_service_code [Commons::FacilityTypeCode] Expected place of service
27
+ # @param subscriber_information [ExpectedNetworkStatus::V2::ExpectedNetworkStatusSubscriberInformation] Information present on the patient's insurance card
28
+ # @param patient_address [Commons::StreetAddressShortZip]
29
+ # @param billing_provider_id [OrganizationProviders::V2::ORGANIZATION_PROVIDER_ID]
30
+ # @param organization_service_facility_id [OrganizationServiceFacilities::V2::ORGANIZATION_SERVICE_FACILITY_ID] The id of the service facility where the appointment will be rendered
31
+ # @param date_of_service [Date] Expected date of service
32
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
33
+ # @return [ExpectedNetworkStatus::V2::ExpectedNetworkStatusRequestV2]
34
+ def initialize(service_type:, place_of_service_code:, subscriber_information:, patient_address:,
35
+ billing_provider_id:, organization_service_facility_id:, date_of_service:, additional_properties: nil)
36
+ # @type [ExpectedNetworkStatus::V2::ServiceType] For some payers, payer routing depends on whether the rendered service qualifies as a behavioral health visit
37
+ # (e.g. Blue Shield of California routes to Magellan for behavioral health visits).
38
+ # For post appointment payer routing, Candid uses a CPT code list to determine whether the appointment qualifies as a
39
+ # behavioral health visit
40
+ # (see “Inputs: Service Type” in the appendix for list of qualifying CPT codes and behavioral health routing logic).
41
+ # Since CPT codes are not available pre-appointment, the service type input is used to determine whether the appointment is expected
42
+ # to qualify as behavioral health.
43
+ @service_type = service_type
44
+ # @type [Commons::FacilityTypeCode] Expected place of service
45
+ @place_of_service_code = place_of_service_code
46
+ # @type [ExpectedNetworkStatus::V2::ExpectedNetworkStatusSubscriberInformation] Information present on the patient's insurance card
47
+ @subscriber_information = subscriber_information
48
+ # @type [Commons::StreetAddressShortZip]
49
+ @patient_address = patient_address
50
+ # @type [OrganizationProviders::V2::ORGANIZATION_PROVIDER_ID]
51
+ @billing_provider_id = billing_provider_id
52
+ # @type [OrganizationServiceFacilities::V2::ORGANIZATION_SERVICE_FACILITY_ID] The id of the service facility where the appointment will be rendered
53
+ @organization_service_facility_id = organization_service_facility_id
54
+ # @type [Date] Expected date of service
55
+ @date_of_service = date_of_service
56
+ # @type [OpenStruct] Additional properties unmapped to the current class definition
57
+ @additional_properties = additional_properties
58
+ end
59
+
60
+ # Deserialize a JSON object to an instance of ExpectedNetworkStatusRequestV2
61
+ #
62
+ # @param json_object [JSON]
63
+ # @return [ExpectedNetworkStatus::V2::ExpectedNetworkStatusRequestV2]
64
+ def self.from_json(json_object:)
65
+ struct = JSON.parse(json_object, object_class: OpenStruct)
66
+ parsed_json = JSON.parse(json_object)
67
+ service_type = struct.service_type
68
+ place_of_service_code = struct.place_of_service_code
69
+ if parsed_json["subscriber_information"].nil?
70
+ subscriber_information = nil
71
+ else
72
+ subscriber_information = parsed_json["subscriber_information"].to_json
73
+ subscriber_information = ExpectedNetworkStatus::V2::ExpectedNetworkStatusSubscriberInformation.from_json(json_object: subscriber_information)
74
+ end
75
+ if parsed_json["patient_address"].nil?
76
+ patient_address = nil
77
+ else
78
+ patient_address = parsed_json["patient_address"].to_json
79
+ patient_address = Commons::StreetAddressShortZip.from_json(json_object: patient_address)
80
+ end
81
+ billing_provider_id = struct.billing_provider_id
82
+ organization_service_facility_id = struct.organization_service_facility_id
83
+ date_of_service = (Date.parse(parsed_json["date_of_service"]) unless parsed_json["date_of_service"].nil?)
84
+ new(service_type: service_type, place_of_service_code: place_of_service_code,
85
+ subscriber_information: subscriber_information, patient_address: patient_address, billing_provider_id: billing_provider_id, organization_service_facility_id: organization_service_facility_id, date_of_service: date_of_service, additional_properties: struct)
86
+ end
87
+
88
+ # Serialize an instance of ExpectedNetworkStatusRequestV2 to a JSON object
89
+ #
90
+ # @return [JSON]
91
+ def to_json(*_args)
92
+ {
93
+ "service_type": @service_type,
94
+ "place_of_service_code": @place_of_service_code,
95
+ "subscriber_information": @subscriber_information,
96
+ "patient_address": @patient_address,
97
+ "billing_provider_id": @billing_provider_id,
98
+ "organization_service_facility_id": @organization_service_facility_id,
99
+ "date_of_service": @date_of_service
100
+ }.to_json
101
+ end
102
+
103
+ # 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.
104
+ #
105
+ # @param obj [Object]
106
+ # @return [Void]
107
+ def self.validate_raw(obj:)
108
+ obj.service_type.is_a?(ExpectedNetworkStatus::V2::ServiceType) != false || raise("Passed value for field obj.service_type is not the expected type, validation failed.")
109
+ obj.place_of_service_code.is_a?(Commons::FacilityTypeCode) != false || raise("Passed value for field obj.place_of_service_code is not the expected type, validation failed.")
110
+ ExpectedNetworkStatus::V2::ExpectedNetworkStatusSubscriberInformation.validate_raw(obj: obj.subscriber_information)
111
+ Commons::StreetAddressShortZip.validate_raw(obj: obj.patient_address)
112
+ obj.billing_provider_id.is_a?(String) != false || raise("Passed value for field obj.billing_provider_id is not the expected type, validation failed.")
113
+ obj.organization_service_facility_id.is_a?(String) != false || raise("Passed value for field obj.organization_service_facility_id is not the expected type, validation failed.")
114
+ obj.date_of_service.is_a?(Date) != false || raise("Passed value for field obj.date_of_service is not the expected type, validation failed.")
115
+ end
116
+ end
117
+ end
118
+ end
119
+ end
@@ -0,0 +1,62 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "network_status_check_id"
4
+ require_relative "expected_network_status_v_2"
5
+ require "json"
6
+
7
+ module CandidApiClient
8
+ module ExpectedNetworkStatus
9
+ module V2
10
+ class ExpectedNetworkStatusResponseV2
11
+ attr_reader :network_status_check_id, :network_status, :additional_properties
12
+
13
+ # @param network_status_check_id [ExpectedNetworkStatus::V2::NETWORK_STATUS_CHECK_ID]
14
+ # @param network_status [ExpectedNetworkStatus::V2::ExpectedNetworkStatusV2]
15
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
16
+ # @return [ExpectedNetworkStatus::V2::ExpectedNetworkStatusResponseV2]
17
+ def initialize(network_status_check_id:, network_status:, additional_properties: nil)
18
+ # @type [ExpectedNetworkStatus::V2::NETWORK_STATUS_CHECK_ID]
19
+ @network_status_check_id = network_status_check_id
20
+ # @type [ExpectedNetworkStatus::V2::ExpectedNetworkStatusV2]
21
+ @network_status = network_status
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 ExpectedNetworkStatusResponseV2
27
+ #
28
+ # @param json_object [JSON]
29
+ # @return [ExpectedNetworkStatus::V2::ExpectedNetworkStatusResponseV2]
30
+ def self.from_json(json_object:)
31
+ struct = JSON.parse(json_object, object_class: OpenStruct)
32
+ parsed_json = JSON.parse(json_object)
33
+ network_status_check_id = struct.network_status_check_id
34
+ if parsed_json["network_status"].nil?
35
+ network_status = nil
36
+ else
37
+ network_status = parsed_json["network_status"].to_json
38
+ network_status = ExpectedNetworkStatus::V2::ExpectedNetworkStatusV2.from_json(json_object: network_status)
39
+ end
40
+ new(network_status_check_id: network_status_check_id, network_status: network_status,
41
+ additional_properties: struct)
42
+ end
43
+
44
+ # Serialize an instance of ExpectedNetworkStatusResponseV2 to a JSON object
45
+ #
46
+ # @return [JSON]
47
+ def to_json(*_args)
48
+ { "network_status_check_id": @network_status_check_id, "network_status": @network_status }.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.network_status_check_id.is_a?(String) != false || raise("Passed value for field obj.network_status_check_id is not the expected type, validation failed.")
57
+ ExpectedNetworkStatus::V2::ExpectedNetworkStatusV2.validate_raw(obj: obj.network_status)
58
+ end
59
+ end
60
+ end
61
+ end
62
+ end
@@ -0,0 +1,67 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../../../payers/v_3/types/payer_uuid"
4
+ require_relative "insurance_type"
5
+ require "json"
6
+
7
+ module CandidApiClient
8
+ module ExpectedNetworkStatus
9
+ module V2
10
+ class ExpectedNetworkStatusSubscriberInformation
11
+ attr_reader :payer_uuid, :member_id, :insurance_type, :additional_properties
12
+
13
+ # @param payer_uuid [Payers::V3::PAYER_String] The String that corresponds with the payer on the patient’s insurance card
14
+ # @param member_id [String] The member_id on the patient’s insurance card
15
+ # @param insurance_type [ExpectedNetworkStatus::V2::InsuranceType] The insurance information on the patient's insurance card
16
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
17
+ # @return [ExpectedNetworkStatus::V2::ExpectedNetworkStatusSubscriberInformation]
18
+ def initialize(payer_uuid:, member_id:, insurance_type:, additional_properties: nil)
19
+ # @type [Payers::V3::PAYER_String] The String that corresponds with the payer on the patient’s insurance card
20
+ @payer_uuid = payer_uuid
21
+ # @type [String] The member_id on the patient’s insurance card
22
+ @member_id = member_id
23
+ # @type [ExpectedNetworkStatus::V2::InsuranceType] The insurance information on the patient's insurance card
24
+ @insurance_type = insurance_type
25
+ # @type [OpenStruct] Additional properties unmapped to the current class definition
26
+ @additional_properties = additional_properties
27
+ end
28
+
29
+ # Deserialize a JSON object to an instance of ExpectedNetworkStatusSubscriberInformation
30
+ #
31
+ # @param json_object [JSON]
32
+ # @return [ExpectedNetworkStatus::V2::ExpectedNetworkStatusSubscriberInformation]
33
+ def self.from_json(json_object:)
34
+ struct = JSON.parse(json_object, object_class: OpenStruct)
35
+ parsed_json = JSON.parse(json_object)
36
+ payer_uuid = struct.payer_uuid
37
+ member_id = struct.member_id
38
+ if parsed_json["insurance_type"].nil?
39
+ insurance_type = nil
40
+ else
41
+ insurance_type = parsed_json["insurance_type"].to_json
42
+ insurance_type = ExpectedNetworkStatus::V2::InsuranceType.from_json(json_object: insurance_type)
43
+ end
44
+ new(payer_uuid: payer_uuid, member_id: member_id, insurance_type: insurance_type,
45
+ additional_properties: struct)
46
+ end
47
+
48
+ # Serialize an instance of ExpectedNetworkStatusSubscriberInformation to a JSON object
49
+ #
50
+ # @return [JSON]
51
+ def to_json(*_args)
52
+ { "payer_uuid": @payer_uuid, "member_id": @member_id, "insurance_type": @insurance_type }.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.payer_uuid.is_a?(String) != false || raise("Passed value for field obj.payer_uuid is not the expected type, validation failed.")
61
+ obj.member_id.is_a?(String) != false || raise("Passed value for field obj.member_id is not the expected type, validation failed.")
62
+ ExpectedNetworkStatus::V2::InsuranceType.validate_raw(obj: obj.insurance_type)
63
+ end
64
+ end
65
+ end
66
+ end
67
+ end