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,136 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../../../requests"
4
+ require "async"
5
+
6
+ module CandidApiClient
7
+ module Eligibility
8
+ module V2
9
+ class V2Client
10
+ attr_reader :request_client
11
+
12
+ # @param request_client [RequestClient]
13
+ # @return [Eligibility::V2::V2Client]
14
+ def initialize(request_client:)
15
+ # @type [RequestClient]
16
+ @request_client = request_client
17
+ end
18
+
19
+ # This API is a wrapper around Change Healthcare's eligibility API. Below are some helpful documentation links:
20
+ #
21
+ # - [Change Healthcare - Guides: Contents of the Eligibility Request Body](https://developers.changehealthcare.com/eligibilityandclaims/docs/contents-of-the-eligibility-request-body)
22
+ # - [Change Healthcare - Guides: Use "Bare Minimum" Eligibility Requests](https://developers.changehealthcare.com/eligibilityandclaims/docs/use-bare-minimum-eligibility-requests)
23
+ # - [Change Healthcare - Guides: Contents of the Eligibility Response](https://developers.changehealthcare.com/eligibilityandclaims/docs/contents-of-the-eligibility-response)
24
+ # - [Change Healthcare - Guides: Eligibility JSON-to-EDI API Contents](https://developers.changehealthcare.com/eligibilityandclaims/docs/eligibility-json-to-edi-api-contents)
25
+ # - [Change Healthcare - Guides: Eligibility Error Messages](https://developers.changehealthcare.com/eligibilityandclaims/docs/eligibility-error-messages)
26
+ # - [Change Healthcare - Guides: FAQ](https://developers.changehealthcare.com/eligibilityandclaims/docs/frequently-asked-questions)
27
+ # - [Change Healthcare - Guides: Eligibility FAQs](https://developers.changehealthcare.com/eligibilityandclaims/docs/eligibility-api-requests)
28
+ # - [Change Healthcare - Guides: Sandbox API Values and Test Responses](https://developers.changehealthcare.com/eligibilityandclaims/docs/eligibility-sandbox-api-values-and-test-responses)
29
+ # - [Change Healthcare - Guides: Sandbox Predefined Fields and Values](https://developers.changehealthcare.com/eligibilityandclaims/docs/sandbox-predefined-fields-and-values)
30
+ # - [Change Healthcare - Guides: Using Test Payers in the Sandbox](https://developers.changehealthcare.com/eligibilityandclaims/docs/use-the-test-payers-in-the-sandbox-api)
31
+ #
32
+ # A schema of the response object can be found here: [Change Healthcare Docs](https://developers.changehealthcare.com/eligibilityandclaims/reference/medicaleligibility)
33
+ #
34
+ # @param request [Object]
35
+ # @param request_options [RequestOptions]
36
+ # @return [Object]
37
+ def submit_eligibility_check(request: nil, request_options: nil)
38
+ response = @request_client.conn.post("/api/eligibility/v2") do |req|
39
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
40
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
41
+ req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
42
+ req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
43
+ end
44
+ response.body
45
+ end
46
+
47
+ # If you'd like access to this endpoint, please reach out to support@joincandidhealth.com with the subject line "Action: Activate Availity Eligibility API Endpoint
48
+ #
49
+ # This API is a wrapper around Availity's coverages API. Below are some helpful documentation links:
50
+ #
51
+ # - [Availity - Coverages 1.0.0 API](https://developer.availity.com/partner/documentation#c_coverages_references)
52
+ # - [Candid Availity Eligibility Integration Guide](https://support.joincandidhealth.com/hc/en-us/articles/24218441631892--Availity-Eligibility-Integration-Guide)
53
+ #
54
+ # A schema of the response object can be found here: [Availity Docs](https://developer.availity.com/partner/product/191210/api/190898#/Coverages_100/operation/%2Fcoverages/get)
55
+ #
56
+ # - Note Availity requires a free developer account to access this documentation.
57
+ #
58
+ # @param request_options [RequestOptions]
59
+ # @return [Object]
60
+ def submit_eligibility_check_availity(request_options: nil)
61
+ response = @request_client.conn.get("/api/eligibility/v2/availity") do |req|
62
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
63
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
64
+ req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
65
+ end
66
+ response.body
67
+ end
68
+ end
69
+
70
+ class AsyncV2Client
71
+ attr_reader :request_client
72
+
73
+ # @param request_client [AsyncRequestClient]
74
+ # @return [Eligibility::V2::AsyncV2Client]
75
+ def initialize(request_client:)
76
+ # @type [AsyncRequestClient]
77
+ @request_client = request_client
78
+ end
79
+
80
+ # This API is a wrapper around Change Healthcare's eligibility API. Below are some helpful documentation links:
81
+ #
82
+ # - [Change Healthcare - Guides: Contents of the Eligibility Request Body](https://developers.changehealthcare.com/eligibilityandclaims/docs/contents-of-the-eligibility-request-body)
83
+ # - [Change Healthcare - Guides: Use "Bare Minimum" Eligibility Requests](https://developers.changehealthcare.com/eligibilityandclaims/docs/use-bare-minimum-eligibility-requests)
84
+ # - [Change Healthcare - Guides: Contents of the Eligibility Response](https://developers.changehealthcare.com/eligibilityandclaims/docs/contents-of-the-eligibility-response)
85
+ # - [Change Healthcare - Guides: Eligibility JSON-to-EDI API Contents](https://developers.changehealthcare.com/eligibilityandclaims/docs/eligibility-json-to-edi-api-contents)
86
+ # - [Change Healthcare - Guides: Eligibility Error Messages](https://developers.changehealthcare.com/eligibilityandclaims/docs/eligibility-error-messages)
87
+ # - [Change Healthcare - Guides: FAQ](https://developers.changehealthcare.com/eligibilityandclaims/docs/frequently-asked-questions)
88
+ # - [Change Healthcare - Guides: Eligibility FAQs](https://developers.changehealthcare.com/eligibilityandclaims/docs/eligibility-api-requests)
89
+ # - [Change Healthcare - Guides: Sandbox API Values and Test Responses](https://developers.changehealthcare.com/eligibilityandclaims/docs/eligibility-sandbox-api-values-and-test-responses)
90
+ # - [Change Healthcare - Guides: Sandbox Predefined Fields and Values](https://developers.changehealthcare.com/eligibilityandclaims/docs/sandbox-predefined-fields-and-values)
91
+ # - [Change Healthcare - Guides: Using Test Payers in the Sandbox](https://developers.changehealthcare.com/eligibilityandclaims/docs/use-the-test-payers-in-the-sandbox-api)
92
+ #
93
+ # A schema of the response object can be found here: [Change Healthcare Docs](https://developers.changehealthcare.com/eligibilityandclaims/reference/medicaleligibility)
94
+ #
95
+ # @param request [Object]
96
+ # @param request_options [RequestOptions]
97
+ # @return [Object]
98
+ def submit_eligibility_check(request: nil, request_options: nil)
99
+ Async do
100
+ response = @request_client.conn.post("/api/eligibility/v2") do |req|
101
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
102
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
103
+ req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
104
+ req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
105
+ end
106
+ response.body
107
+ end
108
+ end
109
+
110
+ # If you'd like access to this endpoint, please reach out to support@joincandidhealth.com with the subject line "Action: Activate Availity Eligibility API Endpoint
111
+ #
112
+ # This API is a wrapper around Availity's coverages API. Below are some helpful documentation links:
113
+ #
114
+ # - [Availity - Coverages 1.0.0 API](https://developer.availity.com/partner/documentation#c_coverages_references)
115
+ # - [Candid Availity Eligibility Integration Guide](https://support.joincandidhealth.com/hc/en-us/articles/24218441631892--Availity-Eligibility-Integration-Guide)
116
+ #
117
+ # A schema of the response object can be found here: [Availity Docs](https://developer.availity.com/partner/product/191210/api/190898#/Coverages_100/operation/%2Fcoverages/get)
118
+ #
119
+ # - Note Availity requires a free developer account to access this documentation.
120
+ #
121
+ # @param request_options [RequestOptions]
122
+ # @return [Object]
123
+ def submit_eligibility_check_availity(request_options: nil)
124
+ Async do
125
+ response = @request_client.conn.get("/api/eligibility/v2/availity") do |req|
126
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
127
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
128
+ req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
129
+ end
130
+ response.body
131
+ end
132
+ end
133
+ end
134
+ end
135
+ end
136
+ end
@@ -0,0 +1,104 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../../../commons/types/street_address_long_zip"
4
+ require "json"
5
+
6
+ module CandidApiClient
7
+ module EncounterProviders
8
+ module V2
9
+ # The billing provider is the provider or business entity submitting the claim.
10
+ # Billing provider may be, but is not necessarily, the same person/NPI as the rendering provider.
11
+ # From a payer's perspective, this represents the person or entity being reimbursed.
12
+ # When a contract exists with the target payer, the billing provider should be the entity contracted with the payer.
13
+ # In some circumstances, this will be an individual provider. In that case, submit that provider's NPI and the
14
+ # tax ID (TIN) that the provider gave to the payer during contracting.
15
+ # In other cases, the billing entity will be a medical group. If so, submit the group NPI and the group's tax ID.
16
+ # Box 33 on the CMS-1500 claim form.
17
+ class BillingProvider
18
+ attr_reader :address, :tax_id, :npi, :taxonomy_code, :first_name, :last_name, :organization_name,
19
+ :additional_properties
20
+
21
+ # @param address [Commons::StreetAddressLongZip]
22
+ # @param tax_id [String] If the provider has a contract with insurance, this must be the same tax ID given to the payer on an IRS W-9 form completed during contracting.
23
+ # @param npi [String]
24
+ # @param taxonomy_code [String]
25
+ # @param first_name [String] If the provider is an individual, this should be set instead of organization name
26
+ # @param last_name [String] If the provider is an individual, this should be set instead of organization name
27
+ # @param organization_name [String] If the provider is an organization, this should be set instead of first + last name
28
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
29
+ # @return [EncounterProviders::V2::BillingProvider]
30
+ def initialize(address:, tax_id:, npi:, taxonomy_code: nil, first_name: nil, last_name: nil,
31
+ organization_name: nil, additional_properties: nil)
32
+ # @type [Commons::StreetAddressLongZip]
33
+ @address = address
34
+ # @type [String] If the provider has a contract with insurance, this must be the same tax ID given to the payer on an IRS W-9 form completed during contracting.
35
+ @tax_id = tax_id
36
+ # @type [String]
37
+ @npi = npi
38
+ # @type [String]
39
+ @taxonomy_code = taxonomy_code
40
+ # @type [String] If the provider is an individual, this should be set instead of organization name
41
+ @first_name = first_name
42
+ # @type [String] If the provider is an individual, this should be set instead of organization name
43
+ @last_name = last_name
44
+ # @type [String] If the provider is an organization, this should be set instead of first + last name
45
+ @organization_name = organization_name
46
+ # @type [OpenStruct] Additional properties unmapped to the current class definition
47
+ @additional_properties = additional_properties
48
+ end
49
+
50
+ # Deserialize a JSON object to an instance of BillingProvider
51
+ #
52
+ # @param json_object [JSON]
53
+ # @return [EncounterProviders::V2::BillingProvider]
54
+ def self.from_json(json_object:)
55
+ struct = JSON.parse(json_object, object_class: OpenStruct)
56
+ parsed_json = JSON.parse(json_object)
57
+ if parsed_json["address"].nil?
58
+ address = nil
59
+ else
60
+ address = parsed_json["address"].to_json
61
+ address = Commons::StreetAddressLongZip.from_json(json_object: address)
62
+ end
63
+ tax_id = struct.tax_id
64
+ npi = struct.npi
65
+ taxonomy_code = struct.taxonomy_code
66
+ first_name = struct.first_name
67
+ last_name = struct.last_name
68
+ organization_name = struct.organization_name
69
+ new(address: address, tax_id: tax_id, npi: npi, taxonomy_code: taxonomy_code, first_name: first_name,
70
+ last_name: last_name, organization_name: organization_name, additional_properties: struct)
71
+ end
72
+
73
+ # Serialize an instance of BillingProvider to a JSON object
74
+ #
75
+ # @return [JSON]
76
+ def to_json(*_args)
77
+ {
78
+ "address": @address,
79
+ "tax_id": @tax_id,
80
+ "npi": @npi,
81
+ "taxonomy_code": @taxonomy_code,
82
+ "first_name": @first_name,
83
+ "last_name": @last_name,
84
+ "organization_name": @organization_name
85
+ }.to_json
86
+ end
87
+
88
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given hash and check each fields type against the current object's property definitions.
89
+ #
90
+ # @param obj [Object]
91
+ # @return [Void]
92
+ def self.validate_raw(obj:)
93
+ Commons::StreetAddressLongZip.validate_raw(obj: obj.address)
94
+ obj.tax_id.is_a?(String) != false || raise("Passed value for field obj.tax_id is not the expected type, validation failed.")
95
+ obj.npi.is_a?(String) != false || raise("Passed value for field obj.npi is not the expected type, validation failed.")
96
+ obj.taxonomy_code&.is_a?(String) != false || raise("Passed value for field obj.taxonomy_code is not the expected type, validation failed.")
97
+ obj.first_name&.is_a?(String) != false || raise("Passed value for field obj.first_name is not the expected type, validation failed.")
98
+ obj.last_name&.is_a?(String) != false || raise("Passed value for field obj.last_name is not the expected type, validation failed.")
99
+ obj.organization_name&.is_a?(String) != false || raise("Passed value for field obj.organization_name is not the expected type, validation failed.")
100
+ end
101
+ end
102
+ end
103
+ end
104
+ end
@@ -0,0 +1,103 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "provider_id"
4
+ require_relative "../../../commons/types/street_address_long_zip"
5
+ require "json"
6
+
7
+ module CandidApiClient
8
+ module EncounterProviders
9
+ module V2
10
+ class EncounterProvider
11
+ attr_reader :provider_id, :address, :tax_id, :npi, :taxonomy_code, :first_name, :last_name, :organization_name,
12
+ :additional_properties
13
+
14
+ # @param provider_id [EncounterProviders::V2::PROVIDER_ID]
15
+ # @param address [Commons::StreetAddressLongZip]
16
+ # @param tax_id [String]
17
+ # @param npi [String]
18
+ # @param taxonomy_code [String]
19
+ # @param first_name [String] If the provider is an individual, this should be set instead of organization name
20
+ # @param last_name [String] If the provider is an individual, this should be set instead of organization name
21
+ # @param organization_name [String] If the provider is an organization, this should be set instead of first + last name
22
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
23
+ # @return [EncounterProviders::V2::EncounterProvider]
24
+ def initialize(provider_id:, address:, npi:, tax_id: nil, taxonomy_code: nil, first_name: nil, last_name: nil,
25
+ organization_name: nil, additional_properties: nil)
26
+ # @type [EncounterProviders::V2::PROVIDER_ID]
27
+ @provider_id = provider_id
28
+ # @type [Commons::StreetAddressLongZip]
29
+ @address = address
30
+ # @type [String]
31
+ @tax_id = tax_id
32
+ # @type [String]
33
+ @npi = npi
34
+ # @type [String]
35
+ @taxonomy_code = taxonomy_code
36
+ # @type [String] If the provider is an individual, this should be set instead of organization name
37
+ @first_name = first_name
38
+ # @type [String] If the provider is an individual, this should be set instead of organization name
39
+ @last_name = last_name
40
+ # @type [String] If the provider is an organization, this should be set instead of first + last name
41
+ @organization_name = organization_name
42
+ # @type [OpenStruct] Additional properties unmapped to the current class definition
43
+ @additional_properties = additional_properties
44
+ end
45
+
46
+ # Deserialize a JSON object to an instance of EncounterProvider
47
+ #
48
+ # @param json_object [JSON]
49
+ # @return [EncounterProviders::V2::EncounterProvider]
50
+ def self.from_json(json_object:)
51
+ struct = JSON.parse(json_object, object_class: OpenStruct)
52
+ parsed_json = JSON.parse(json_object)
53
+ provider_id = struct.provider_id
54
+ if parsed_json["address"].nil?
55
+ address = nil
56
+ else
57
+ address = parsed_json["address"].to_json
58
+ address = Commons::StreetAddressLongZip.from_json(json_object: address)
59
+ end
60
+ tax_id = struct.tax_id
61
+ npi = struct.npi
62
+ taxonomy_code = struct.taxonomy_code
63
+ first_name = struct.first_name
64
+ last_name = struct.last_name
65
+ organization_name = struct.organization_name
66
+ new(provider_id: provider_id, address: address, tax_id: tax_id, npi: npi, taxonomy_code: taxonomy_code,
67
+ first_name: first_name, last_name: last_name, organization_name: organization_name, additional_properties: struct)
68
+ end
69
+
70
+ # Serialize an instance of EncounterProvider to a JSON object
71
+ #
72
+ # @return [JSON]
73
+ def to_json(*_args)
74
+ {
75
+ "provider_id": @provider_id,
76
+ "address": @address,
77
+ "tax_id": @tax_id,
78
+ "npi": @npi,
79
+ "taxonomy_code": @taxonomy_code,
80
+ "first_name": @first_name,
81
+ "last_name": @last_name,
82
+ "organization_name": @organization_name
83
+ }.to_json
84
+ end
85
+
86
+ # 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.
87
+ #
88
+ # @param obj [Object]
89
+ # @return [Void]
90
+ def self.validate_raw(obj:)
91
+ obj.provider_id.is_a?(String) != false || raise("Passed value for field obj.provider_id is not the expected type, validation failed.")
92
+ Commons::StreetAddressLongZip.validate_raw(obj: obj.address)
93
+ obj.tax_id&.is_a?(String) != false || raise("Passed value for field obj.tax_id is not the expected type, validation failed.")
94
+ obj.npi.is_a?(String) != false || raise("Passed value for field obj.npi is not the expected type, validation failed.")
95
+ obj.taxonomy_code&.is_a?(String) != false || raise("Passed value for field obj.taxonomy_code is not the expected type, validation failed.")
96
+ obj.first_name&.is_a?(String) != false || raise("Passed value for field obj.first_name is not the expected type, validation failed.")
97
+ obj.last_name&.is_a?(String) != false || raise("Passed value for field obj.last_name is not the expected type, validation failed.")
98
+ obj.organization_name&.is_a?(String) != false || raise("Passed value for field obj.organization_name is not the expected type, validation failed.")
99
+ end
100
+ end
101
+ end
102
+ end
103
+ end
@@ -0,0 +1,60 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "json"
4
+
5
+ module CandidApiClient
6
+ module EncounterProviders
7
+ module V2
8
+ class EncounterProviderBase
9
+ attr_reader :first_name, :last_name, :organization_name, :additional_properties
10
+
11
+ # @param first_name [String] If the provider is an individual, this should be set instead of organization name
12
+ # @param last_name [String] If the provider is an individual, this should be set instead of organization name
13
+ # @param organization_name [String] If the provider is an organization, this should be set instead of first + last name
14
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
15
+ # @return [EncounterProviders::V2::EncounterProviderBase]
16
+ def initialize(first_name: nil, last_name: nil, organization_name: nil, additional_properties: nil)
17
+ # @type [String] If the provider is an individual, this should be set instead of organization name
18
+ @first_name = first_name
19
+ # @type [String] If the provider is an individual, this should be set instead of organization name
20
+ @last_name = last_name
21
+ # @type [String] If the provider is an organization, this should be set instead of first + last name
22
+ @organization_name = organization_name
23
+ # @type [OpenStruct] Additional properties unmapped to the current class definition
24
+ @additional_properties = additional_properties
25
+ end
26
+
27
+ # Deserialize a JSON object to an instance of EncounterProviderBase
28
+ #
29
+ # @param json_object [JSON]
30
+ # @return [EncounterProviders::V2::EncounterProviderBase]
31
+ def self.from_json(json_object:)
32
+ struct = JSON.parse(json_object, object_class: OpenStruct)
33
+ JSON.parse(json_object)
34
+ first_name = struct.first_name
35
+ last_name = struct.last_name
36
+ organization_name = struct.organization_name
37
+ new(first_name: first_name, last_name: last_name, organization_name: organization_name,
38
+ additional_properties: struct)
39
+ end
40
+
41
+ # Serialize an instance of EncounterProviderBase to a JSON object
42
+ #
43
+ # @return [JSON]
44
+ def to_json(*_args)
45
+ { "first_name": @first_name, "last_name": @last_name, "organization_name": @organization_name }.to_json
46
+ end
47
+
48
+ # 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.
49
+ #
50
+ # @param obj [Object]
51
+ # @return [Void]
52
+ def self.validate_raw(obj:)
53
+ obj.first_name&.is_a?(String) != false || raise("Passed value for field obj.first_name is not the expected type, validation failed.")
54
+ obj.last_name&.is_a?(String) != false || raise("Passed value for field obj.last_name is not the expected type, validation failed.")
55
+ obj.organization_name&.is_a?(String) != false || raise("Passed value for field obj.organization_name is not the expected type, validation failed.")
56
+ end
57
+ end
58
+ end
59
+ end
60
+ end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CandidApiClient
4
+ module EncounterProviders
5
+ module V2
6
+ PROVIDER_ID = String
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,91 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../../../commons/types/street_address_long_zip"
4
+ require "json"
5
+
6
+ module CandidApiClient
7
+ module EncounterProviders
8
+ module V2
9
+ class ReferringProvider
10
+ attr_reader :npi, :taxonomy_code, :address, :first_name, :last_name, :organization_name, :additional_properties
11
+
12
+ # @param npi [String] A National Provider Identifier is a unique 10-digit identification
13
+ # number issued to health care providers in the United States
14
+ # @param taxonomy_code [String]
15
+ # @param address [Commons::StreetAddressLongZip]
16
+ # @param first_name [String] If the provider is an individual, this should be set instead of organization name
17
+ # @param last_name [String] If the provider is an individual, this should be set instead of organization name
18
+ # @param organization_name [String] If the provider is an organization, this should be set instead of first + last name
19
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
20
+ # @return [EncounterProviders::V2::ReferringProvider]
21
+ def initialize(npi:, taxonomy_code: nil, address: nil, first_name: nil, last_name: nil, organization_name: nil,
22
+ additional_properties: nil)
23
+ # @type [String] A National Provider Identifier is a unique 10-digit identification
24
+ # number issued to health care providers in the United States
25
+ @npi = npi
26
+ # @type [String]
27
+ @taxonomy_code = taxonomy_code
28
+ # @type [Commons::StreetAddressLongZip]
29
+ @address = address
30
+ # @type [String] If the provider is an individual, this should be set instead of organization name
31
+ @first_name = first_name
32
+ # @type [String] If the provider is an individual, this should be set instead of organization name
33
+ @last_name = last_name
34
+ # @type [String] If the provider is an organization, this should be set instead of first + last name
35
+ @organization_name = organization_name
36
+ # @type [OpenStruct] Additional properties unmapped to the current class definition
37
+ @additional_properties = additional_properties
38
+ end
39
+
40
+ # Deserialize a JSON object to an instance of ReferringProvider
41
+ #
42
+ # @param json_object [JSON]
43
+ # @return [EncounterProviders::V2::ReferringProvider]
44
+ def self.from_json(json_object:)
45
+ struct = JSON.parse(json_object, object_class: OpenStruct)
46
+ parsed_json = JSON.parse(json_object)
47
+ npi = struct.npi
48
+ taxonomy_code = struct.taxonomy_code
49
+ if parsed_json["address"].nil?
50
+ address = nil
51
+ else
52
+ address = parsed_json["address"].to_json
53
+ address = Commons::StreetAddressLongZip.from_json(json_object: address)
54
+ end
55
+ first_name = struct.first_name
56
+ last_name = struct.last_name
57
+ organization_name = struct.organization_name
58
+ new(npi: npi, taxonomy_code: taxonomy_code, address: address, first_name: first_name, last_name: last_name,
59
+ organization_name: organization_name, additional_properties: struct)
60
+ end
61
+
62
+ # Serialize an instance of ReferringProvider to a JSON object
63
+ #
64
+ # @return [JSON]
65
+ def to_json(*_args)
66
+ {
67
+ "npi": @npi,
68
+ "taxonomy_code": @taxonomy_code,
69
+ "address": @address,
70
+ "first_name": @first_name,
71
+ "last_name": @last_name,
72
+ "organization_name": @organization_name
73
+ }.to_json
74
+ end
75
+
76
+ # 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.
77
+ #
78
+ # @param obj [Object]
79
+ # @return [Void]
80
+ def self.validate_raw(obj:)
81
+ obj.npi.is_a?(String) != false || raise("Passed value for field obj.npi is not the expected type, validation failed.")
82
+ obj.taxonomy_code&.is_a?(String) != false || raise("Passed value for field obj.taxonomy_code is not the expected type, validation failed.")
83
+ obj.address.nil? || Commons::StreetAddressLongZip.validate_raw(obj: obj.address)
84
+ obj.first_name&.is_a?(String) != false || raise("Passed value for field obj.first_name is not the expected type, validation failed.")
85
+ obj.last_name&.is_a?(String) != false || raise("Passed value for field obj.last_name is not the expected type, validation failed.")
86
+ obj.organization_name&.is_a?(String) != false || raise("Passed value for field obj.organization_name is not the expected type, validation failed.")
87
+ end
88
+ end
89
+ end
90
+ end
91
+ end
@@ -0,0 +1,91 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../../../commons/types/street_address_long_zip"
4
+ require "json"
5
+
6
+ module CandidApiClient
7
+ module EncounterProviders
8
+ module V2
9
+ class RenderingProvider
10
+ attr_reader :address, :npi, :taxonomy_code, :first_name, :last_name, :organization_name, :additional_properties
11
+
12
+ # @param address [Commons::StreetAddressLongZip]
13
+ # @param npi [String] A National Provider Identifier is a unique 10-digit identification
14
+ # number issued to health care providers in the United States
15
+ # @param taxonomy_code [String]
16
+ # @param first_name [String] If the provider is an individual, this should be set instead of organization name
17
+ # @param last_name [String] If the provider is an individual, this should be set instead of organization name
18
+ # @param organization_name [String] If the provider is an organization, this should be set instead of first + last name
19
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
20
+ # @return [EncounterProviders::V2::RenderingProvider]
21
+ def initialize(npi:, address: nil, taxonomy_code: nil, first_name: nil, last_name: nil, organization_name: nil,
22
+ additional_properties: nil)
23
+ # @type [Commons::StreetAddressLongZip]
24
+ @address = address
25
+ # @type [String] A National Provider Identifier is a unique 10-digit identification
26
+ # number issued to health care providers in the United States
27
+ @npi = npi
28
+ # @type [String]
29
+ @taxonomy_code = taxonomy_code
30
+ # @type [String] If the provider is an individual, this should be set instead of organization name
31
+ @first_name = first_name
32
+ # @type [String] If the provider is an individual, this should be set instead of organization name
33
+ @last_name = last_name
34
+ # @type [String] If the provider is an organization, this should be set instead of first + last name
35
+ @organization_name = organization_name
36
+ # @type [OpenStruct] Additional properties unmapped to the current class definition
37
+ @additional_properties = additional_properties
38
+ end
39
+
40
+ # Deserialize a JSON object to an instance of RenderingProvider
41
+ #
42
+ # @param json_object [JSON]
43
+ # @return [EncounterProviders::V2::RenderingProvider]
44
+ def self.from_json(json_object:)
45
+ struct = JSON.parse(json_object, object_class: OpenStruct)
46
+ parsed_json = JSON.parse(json_object)
47
+ if parsed_json["address"].nil?
48
+ address = nil
49
+ else
50
+ address = parsed_json["address"].to_json
51
+ address = Commons::StreetAddressLongZip.from_json(json_object: address)
52
+ end
53
+ npi = struct.npi
54
+ taxonomy_code = struct.taxonomy_code
55
+ first_name = struct.first_name
56
+ last_name = struct.last_name
57
+ organization_name = struct.organization_name
58
+ new(address: address, npi: npi, taxonomy_code: taxonomy_code, first_name: first_name, last_name: last_name,
59
+ organization_name: organization_name, additional_properties: struct)
60
+ end
61
+
62
+ # Serialize an instance of RenderingProvider to a JSON object
63
+ #
64
+ # @return [JSON]
65
+ def to_json(*_args)
66
+ {
67
+ "address": @address,
68
+ "npi": @npi,
69
+ "taxonomy_code": @taxonomy_code,
70
+ "first_name": @first_name,
71
+ "last_name": @last_name,
72
+ "organization_name": @organization_name
73
+ }.to_json
74
+ end
75
+
76
+ # 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.
77
+ #
78
+ # @param obj [Object]
79
+ # @return [Void]
80
+ def self.validate_raw(obj:)
81
+ obj.address.nil? || Commons::StreetAddressLongZip.validate_raw(obj: obj.address)
82
+ obj.npi.is_a?(String) != false || raise("Passed value for field obj.npi is not the expected type, validation failed.")
83
+ obj.taxonomy_code&.is_a?(String) != false || raise("Passed value for field obj.taxonomy_code is not the expected type, validation failed.")
84
+ obj.first_name&.is_a?(String) != false || raise("Passed value for field obj.first_name is not the expected type, validation failed.")
85
+ obj.last_name&.is_a?(String) != false || raise("Passed value for field obj.last_name is not the expected type, validation failed.")
86
+ obj.organization_name&.is_a?(String) != false || raise("Passed value for field obj.organization_name is not the expected type, validation failed.")
87
+ end
88
+ end
89
+ end
90
+ end
91
+ end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../../requests"
4
+ require_relative "v_4/client"
5
+
6
+ module CandidApiClient
7
+ module Encounters
8
+ class Client
9
+ attr_reader :v_4
10
+
11
+ # @param request_client [RequestClient]
12
+ # @return [Encounters::Client]
13
+ def initialize(request_client:)
14
+ @v_4 = Encounters::V4::V4Client.new(request_client: request_client)
15
+ end
16
+ end
17
+
18
+ class AsyncClient
19
+ attr_reader :v_4
20
+
21
+ # @param request_client [RequestClient]
22
+ # @return [Encounters::AsyncClient]
23
+ def initialize(request_client:)
24
+ @v_4 = Encounters::V4::AsyncV4Client.new(request_client: request_client)
25
+ end
26
+ end
27
+ end
28
+ end