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,159 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "organization_provider_id"
4
+ require_relative "employment_status"
5
+ require_relative "../../../commons/types/date"
6
+ require_relative "provider_type"
7
+ require_relative "license_type"
8
+ require_relative "organization_provider_address"
9
+ require "json"
10
+
11
+ module CandidApiClient
12
+ module OrganizationProviders
13
+ module V2
14
+ class OrganizationProvider
15
+ attr_reader :organization_provider_id, :employment_status, :employment_start_date,
16
+ :employment_termination_date, :npi, :is_rendering, :is_billing, :first_name, :last_name, :organization_name, :provider_type, :tax_id, :taxonomy_code, :license_type, :ptan, :medicaid_provider_id, :addresses, :additional_properties
17
+
18
+ # @param organization_provider_id [OrganizationProviders::V2::ORGANIZATION_PROVIDER_ID] Auto-generated ID set on creation
19
+ # @param employment_status [OrganizationProviders::V2::EmploymentStatus] The employment status for the provider.
20
+ # @param employment_start_date [Commons::DATE] The employment start date for the provider.
21
+ # @param employment_termination_date [Commons::DATE] The employment termination date for the provider.
22
+ # @param npi [String] The NPI of the provider. This must be all digits [0-9] and exactly 10 characters long.
23
+ # @param is_rendering [Boolean] Whether the provider can be used to render services.
24
+ # @param is_billing [Boolean] Whether the provider can be used to bill services.
25
+ # @param first_name [String] The first name of the provider, if the provider is an individual.
26
+ # @param last_name [String] The last name of the provider, if the provider is an individual.
27
+ # @param organization_name [String] The name of the provider, if the provider is an organization.
28
+ # @param provider_type [OrganizationProviders::V2::ProviderType] Whether the provider is an individual (NPPES Type 1) or organization (NPPES Type 2) provider.
29
+ # @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.
30
+ # @param taxonomy_code [String] A code designating classification and specialization.
31
+ # @param license_type [OrganizationProviders::V2::LicenseType] The type of license that the provider holds.
32
+ # @param ptan [String] The Provider Transaction Access Number for the provider.
33
+ # @param medicaid_provider_id [String] The medicaid provider ID for the provider.
34
+ # @param addresses [Array<OrganizationProviders::V2::OrganizationProviderAddress>] The addresses associated with this provider.
35
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
36
+ # @return [OrganizationProviders::V2::OrganizationProvider]
37
+ def initialize(organization_provider_id:, employment_status:, npi:, is_rendering:, is_billing:, provider_type:, license_type:, employment_start_date: nil,
38
+ employment_termination_date: nil, first_name: nil, last_name: nil, organization_name: nil, tax_id: nil, taxonomy_code: nil, ptan: nil, medicaid_provider_id: nil, addresses: nil, additional_properties: nil)
39
+ # @type [OrganizationProviders::V2::ORGANIZATION_PROVIDER_ID] Auto-generated ID set on creation
40
+ @organization_provider_id = organization_provider_id
41
+ # @type [OrganizationProviders::V2::EmploymentStatus] The employment status for the provider.
42
+ @employment_status = employment_status
43
+ # @type [Commons::DATE] The employment start date for the provider.
44
+ @employment_start_date = employment_start_date
45
+ # @type [Commons::DATE] The employment termination date for the provider.
46
+ @employment_termination_date = employment_termination_date
47
+ # @type [String] The NPI of the provider. This must be all digits [0-9] and exactly 10 characters long.
48
+ @npi = npi
49
+ # @type [Boolean] Whether the provider can be used to render services.
50
+ @is_rendering = is_rendering
51
+ # @type [Boolean] Whether the provider can be used to bill services.
52
+ @is_billing = is_billing
53
+ # @type [String] The first name of the provider, if the provider is an individual.
54
+ @first_name = first_name
55
+ # @type [String] The last name of the provider, if the provider is an individual.
56
+ @last_name = last_name
57
+ # @type [String] The name of the provider, if the provider is an organization.
58
+ @organization_name = organization_name
59
+ # @type [OrganizationProviders::V2::ProviderType] Whether the provider is an individual (NPPES Type 1) or organization (NPPES Type 2) provider.
60
+ @provider_type = provider_type
61
+ # @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.
62
+ @tax_id = tax_id
63
+ # @type [String] A code designating classification and specialization.
64
+ @taxonomy_code = taxonomy_code
65
+ # @type [OrganizationProviders::V2::LicenseType] The type of license that the provider holds.
66
+ @license_type = license_type
67
+ # @type [String] The Provider Transaction Access Number for the provider.
68
+ @ptan = ptan
69
+ # @type [String] The medicaid provider ID for the provider.
70
+ @medicaid_provider_id = medicaid_provider_id
71
+ # @type [Array<OrganizationProviders::V2::OrganizationProviderAddress>] The addresses associated with this provider.
72
+ @addresses = addresses
73
+ # @type [OpenStruct] Additional properties unmapped to the current class definition
74
+ @additional_properties = additional_properties
75
+ end
76
+
77
+ # Deserialize a JSON object to an instance of OrganizationProvider
78
+ #
79
+ # @param json_object [JSON]
80
+ # @return [OrganizationProviders::V2::OrganizationProvider]
81
+ def self.from_json(json_object:)
82
+ struct = JSON.parse(json_object, object_class: OpenStruct)
83
+ parsed_json = JSON.parse(json_object)
84
+ organization_provider_id = struct.organization_provider_id
85
+ employment_status = struct.employment_status
86
+ employment_start_date = struct.employment_start_date
87
+ employment_termination_date = struct.employment_termination_date
88
+ npi = struct.npi
89
+ is_rendering = struct.is_rendering
90
+ is_billing = struct.is_billing
91
+ first_name = struct.first_name
92
+ last_name = struct.last_name
93
+ organization_name = struct.organization_name
94
+ provider_type = struct.provider_type
95
+ tax_id = struct.tax_id
96
+ taxonomy_code = struct.taxonomy_code
97
+ license_type = struct.license_type
98
+ ptan = struct.ptan
99
+ medicaid_provider_id = struct.medicaid_provider_id
100
+ addresses = parsed_json["addresses"]&.map do |v|
101
+ v = v.to_json
102
+ OrganizationProviders::V2::OrganizationProviderAddress.from_json(json_object: v)
103
+ end
104
+ new(organization_provider_id: organization_provider_id, employment_status: employment_status,
105
+ employment_start_date: employment_start_date, employment_termination_date: employment_termination_date, npi: npi, is_rendering: is_rendering, is_billing: is_billing, first_name: first_name, last_name: last_name, organization_name: organization_name, provider_type: provider_type, tax_id: tax_id, taxonomy_code: taxonomy_code, license_type: license_type, ptan: ptan, medicaid_provider_id: medicaid_provider_id, addresses: addresses, additional_properties: struct)
106
+ end
107
+
108
+ # Serialize an instance of OrganizationProvider to a JSON object
109
+ #
110
+ # @return [JSON]
111
+ def to_json(*_args)
112
+ {
113
+ "organization_provider_id": @organization_provider_id,
114
+ "employment_status": @employment_status,
115
+ "employment_start_date": @employment_start_date,
116
+ "employment_termination_date": @employment_termination_date,
117
+ "npi": @npi,
118
+ "is_rendering": @is_rendering,
119
+ "is_billing": @is_billing,
120
+ "first_name": @first_name,
121
+ "last_name": @last_name,
122
+ "organization_name": @organization_name,
123
+ "provider_type": @provider_type,
124
+ "tax_id": @tax_id,
125
+ "taxonomy_code": @taxonomy_code,
126
+ "license_type": @license_type,
127
+ "ptan": @ptan,
128
+ "medicaid_provider_id": @medicaid_provider_id,
129
+ "addresses": @addresses
130
+ }.to_json
131
+ end
132
+
133
+ # 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.
134
+ #
135
+ # @param obj [Object]
136
+ # @return [Void]
137
+ def self.validate_raw(obj:)
138
+ obj.organization_provider_id.is_a?(String) != false || raise("Passed value for field obj.organization_provider_id is not the expected type, validation failed.")
139
+ obj.employment_status.is_a?(OrganizationProviders::V2::EmploymentStatus) != false || raise("Passed value for field obj.employment_status is not the expected type, validation failed.")
140
+ obj.employment_start_date&.is_a?(String) != false || raise("Passed value for field obj.employment_start_date is not the expected type, validation failed.")
141
+ obj.employment_termination_date&.is_a?(String) != false || raise("Passed value for field obj.employment_termination_date is not the expected type, validation failed.")
142
+ obj.npi.is_a?(String) != false || raise("Passed value for field obj.npi is not the expected type, validation failed.")
143
+ obj.is_rendering.is_a?(Boolean) != false || raise("Passed value for field obj.is_rendering is not the expected type, validation failed.")
144
+ obj.is_billing.is_a?(Boolean) != false || raise("Passed value for field obj.is_billing is not the expected type, validation failed.")
145
+ obj.first_name&.is_a?(String) != false || raise("Passed value for field obj.first_name is not the expected type, validation failed.")
146
+ obj.last_name&.is_a?(String) != false || raise("Passed value for field obj.last_name is not the expected type, validation failed.")
147
+ obj.organization_name&.is_a?(String) != false || raise("Passed value for field obj.organization_name is not the expected type, validation failed.")
148
+ obj.provider_type.is_a?(OrganizationProviders::V2::ProviderType) != false || raise("Passed value for field obj.provider_type is not the expected type, validation failed.")
149
+ obj.tax_id&.is_a?(String) != false || raise("Passed value for field obj.tax_id is not the expected type, validation failed.")
150
+ obj.taxonomy_code&.is_a?(String) != false || raise("Passed value for field obj.taxonomy_code is not the expected type, validation failed.")
151
+ obj.license_type.is_a?(OrganizationProviders::V2::LicenseType) != false || raise("Passed value for field obj.license_type is not the expected type, validation failed.")
152
+ obj.ptan&.is_a?(String) != false || raise("Passed value for field obj.ptan is not the expected type, validation failed.")
153
+ obj.medicaid_provider_id&.is_a?(String) != false || raise("Passed value for field obj.medicaid_provider_id is not the expected type, validation failed.")
154
+ obj.addresses&.is_a?(Array) != false || raise("Passed value for field obj.addresses is not the expected type, validation failed.")
155
+ end
156
+ end
157
+ end
158
+ end
159
+ end
@@ -0,0 +1,61 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../../../commons/types/street_address_long_zip"
4
+ require_relative "address_type"
5
+ require "json"
6
+
7
+ module CandidApiClient
8
+ module OrganizationProviders
9
+ module V2
10
+ class OrganizationProviderAddress
11
+ attr_reader :address, :address_type, :additional_properties
12
+
13
+ # @param address [Commons::StreetAddressLongZip] The address of the provider
14
+ # @param address_type [OrganizationProviders::V2::AddressType] The address type of the provider
15
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
16
+ # @return [OrganizationProviders::V2::OrganizationProviderAddress]
17
+ def initialize(address:, address_type:, additional_properties: nil)
18
+ # @type [Commons::StreetAddressLongZip] The address of the provider
19
+ @address = address
20
+ # @type [OrganizationProviders::V2::AddressType] The address type of the provider
21
+ @address_type = address_type
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 OrganizationProviderAddress
27
+ #
28
+ # @param json_object [JSON]
29
+ # @return [OrganizationProviders::V2::OrganizationProviderAddress]
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["address"].nil?
34
+ address = nil
35
+ else
36
+ address = parsed_json["address"].to_json
37
+ address = Commons::StreetAddressLongZip.from_json(json_object: address)
38
+ end
39
+ address_type = struct.address_type
40
+ new(address: address, address_type: address_type, additional_properties: struct)
41
+ end
42
+
43
+ # Serialize an instance of OrganizationProviderAddress to a JSON object
44
+ #
45
+ # @return [JSON]
46
+ def to_json(*_args)
47
+ { "address": @address, "address_type": @address_type }.to_json
48
+ end
49
+
50
+ # 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.
51
+ #
52
+ # @param obj [Object]
53
+ # @return [Void]
54
+ def self.validate_raw(obj:)
55
+ Commons::StreetAddressLongZip.validate_raw(obj: obj.address)
56
+ obj.address_type.is_a?(OrganizationProviders::V2::AddressType) != false || raise("Passed value for field obj.address_type is not the expected type, validation failed.")
57
+ end
58
+ end
59
+ end
60
+ end
61
+ end
@@ -0,0 +1,132 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "provider_type"
4
+ require_relative "license_type"
5
+ require_relative "organization_provider_address"
6
+ require "json"
7
+
8
+ module CandidApiClient
9
+ module OrganizationProviders
10
+ module V2
11
+ class OrganizationProviderBase
12
+ attr_reader :npi, :is_rendering, :is_billing, :first_name, :last_name, :organization_name, :provider_type,
13
+ :tax_id, :taxonomy_code, :license_type, :ptan, :medicaid_provider_id, :addresses, :additional_properties
14
+
15
+ # @param npi [String] The NPI of the provider. This must be all digits [0-9] and exactly 10 characters long.
16
+ # @param is_rendering [Boolean] Whether the provider can be used to render services.
17
+ # @param is_billing [Boolean] Whether the provider can be used to bill services.
18
+ # @param first_name [String] The first name of the provider, if the provider is an individual.
19
+ # @param last_name [String] The last name of the provider, if the provider is an individual.
20
+ # @param organization_name [String] The name of the provider, if the provider is an organization.
21
+ # @param provider_type [OrganizationProviders::V2::ProviderType] Whether the provider is an individual (NPPES Type 1) or organization (NPPES Type 2) provider.
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 taxonomy_code [String] A code designating classification and specialization.
24
+ # @param license_type [OrganizationProviders::V2::LicenseType] The type of license that the provider holds.
25
+ # @param ptan [String] The Provider Transaction Access Number for the provider.
26
+ # @param medicaid_provider_id [String] The medicaid provider ID for the provider.
27
+ # @param addresses [Array<OrganizationProviders::V2::OrganizationProviderAddress>] The addresses associated with this provider.
28
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
29
+ # @return [OrganizationProviders::V2::OrganizationProviderBase]
30
+ def initialize(npi:, is_rendering:, is_billing:, provider_type:, license_type:, first_name: nil,
31
+ last_name: nil, organization_name: nil, tax_id: nil, taxonomy_code: nil, ptan: nil, medicaid_provider_id: nil, addresses: nil, additional_properties: nil)
32
+ # @type [String] The NPI of the provider. This must be all digits [0-9] and exactly 10 characters long.
33
+ @npi = npi
34
+ # @type [Boolean] Whether the provider can be used to render services.
35
+ @is_rendering = is_rendering
36
+ # @type [Boolean] Whether the provider can be used to bill services.
37
+ @is_billing = is_billing
38
+ # @type [String] The first name of the provider, if the provider is an individual.
39
+ @first_name = first_name
40
+ # @type [String] The last name of the provider, if the provider is an individual.
41
+ @last_name = last_name
42
+ # @type [String] The name of the provider, if the provider is an organization.
43
+ @organization_name = organization_name
44
+ # @type [OrganizationProviders::V2::ProviderType] Whether the provider is an individual (NPPES Type 1) or organization (NPPES Type 2) provider.
45
+ @provider_type = provider_type
46
+ # @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.
47
+ @tax_id = tax_id
48
+ # @type [String] A code designating classification and specialization.
49
+ @taxonomy_code = taxonomy_code
50
+ # @type [OrganizationProviders::V2::LicenseType] The type of license that the provider holds.
51
+ @license_type = license_type
52
+ # @type [String] The Provider Transaction Access Number for the provider.
53
+ @ptan = ptan
54
+ # @type [String] The medicaid provider ID for the provider.
55
+ @medicaid_provider_id = medicaid_provider_id
56
+ # @type [Array<OrganizationProviders::V2::OrganizationProviderAddress>] The addresses associated with this provider.
57
+ @addresses = addresses
58
+ # @type [OpenStruct] Additional properties unmapped to the current class definition
59
+ @additional_properties = additional_properties
60
+ end
61
+
62
+ # Deserialize a JSON object to an instance of OrganizationProviderBase
63
+ #
64
+ # @param json_object [JSON]
65
+ # @return [OrganizationProviders::V2::OrganizationProviderBase]
66
+ def self.from_json(json_object:)
67
+ struct = JSON.parse(json_object, object_class: OpenStruct)
68
+ parsed_json = JSON.parse(json_object)
69
+ npi = struct.npi
70
+ is_rendering = struct.is_rendering
71
+ is_billing = struct.is_billing
72
+ first_name = struct.first_name
73
+ last_name = struct.last_name
74
+ organization_name = struct.organization_name
75
+ provider_type = struct.provider_type
76
+ tax_id = struct.tax_id
77
+ taxonomy_code = struct.taxonomy_code
78
+ license_type = struct.license_type
79
+ ptan = struct.ptan
80
+ medicaid_provider_id = struct.medicaid_provider_id
81
+ addresses = parsed_json["addresses"]&.map do |v|
82
+ v = v.to_json
83
+ OrganizationProviders::V2::OrganizationProviderAddress.from_json(json_object: v)
84
+ end
85
+ new(npi: npi, is_rendering: is_rendering, is_billing: is_billing, first_name: first_name,
86
+ last_name: last_name, organization_name: organization_name, provider_type: provider_type, tax_id: tax_id, taxonomy_code: taxonomy_code, license_type: license_type, ptan: ptan, medicaid_provider_id: medicaid_provider_id, addresses: addresses, additional_properties: struct)
87
+ end
88
+
89
+ # Serialize an instance of OrganizationProviderBase to a JSON object
90
+ #
91
+ # @return [JSON]
92
+ def to_json(*_args)
93
+ {
94
+ "npi": @npi,
95
+ "is_rendering": @is_rendering,
96
+ "is_billing": @is_billing,
97
+ "first_name": @first_name,
98
+ "last_name": @last_name,
99
+ "organization_name": @organization_name,
100
+ "provider_type": @provider_type,
101
+ "tax_id": @tax_id,
102
+ "taxonomy_code": @taxonomy_code,
103
+ "license_type": @license_type,
104
+ "ptan": @ptan,
105
+ "medicaid_provider_id": @medicaid_provider_id,
106
+ "addresses": @addresses
107
+ }.to_json
108
+ end
109
+
110
+ # 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.
111
+ #
112
+ # @param obj [Object]
113
+ # @return [Void]
114
+ def self.validate_raw(obj:)
115
+ obj.npi.is_a?(String) != false || raise("Passed value for field obj.npi is not the expected type, validation failed.")
116
+ obj.is_rendering.is_a?(Boolean) != false || raise("Passed value for field obj.is_rendering is not the expected type, validation failed.")
117
+ obj.is_billing.is_a?(Boolean) != false || raise("Passed value for field obj.is_billing is not the expected type, validation failed.")
118
+ obj.first_name&.is_a?(String) != false || raise("Passed value for field obj.first_name is not the expected type, validation failed.")
119
+ obj.last_name&.is_a?(String) != false || raise("Passed value for field obj.last_name is not the expected type, validation failed.")
120
+ obj.organization_name&.is_a?(String) != false || raise("Passed value for field obj.organization_name is not the expected type, validation failed.")
121
+ obj.provider_type.is_a?(OrganizationProviders::V2::ProviderType) != false || raise("Passed value for field obj.provider_type is not the expected type, validation failed.")
122
+ obj.tax_id&.is_a?(String) != false || raise("Passed value for field obj.tax_id is not the expected type, validation failed.")
123
+ obj.taxonomy_code&.is_a?(String) != false || raise("Passed value for field obj.taxonomy_code is not the expected type, validation failed.")
124
+ obj.license_type.is_a?(OrganizationProviders::V2::LicenseType) != false || raise("Passed value for field obj.license_type is not the expected type, validation failed.")
125
+ obj.ptan&.is_a?(String) != false || raise("Passed value for field obj.ptan is not the expected type, validation failed.")
126
+ obj.medicaid_provider_id&.is_a?(String) != false || raise("Passed value for field obj.medicaid_provider_id is not the expected type, validation failed.")
127
+ obj.addresses&.is_a?(Array) != false || raise("Passed value for field obj.addresses is not the expected type, validation failed.")
128
+ end
129
+ end
130
+ end
131
+ end
132
+ end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CandidApiClient
4
+ module OrganizationProviders
5
+ module V2
6
+ ORGANIZATION_PROVIDER_ID = String
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CandidApiClient
4
+ module OrganizationProviders
5
+ module V2
6
+ class OrganizationProviderSortOptions
7
+ PROVIDER_NAME_ASC = "provider_name:asc"
8
+ PROVIDER_NAME_DESC = "provider_name:desc"
9
+ NPI_ASC = "npi:asc"
10
+ NPI_DESC = "npi:desc"
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CandidApiClient
4
+ module OrganizationProviders
5
+ module V2
6
+ class ProviderType
7
+ INDIVIDUAL = "INDIVIDUAL"
8
+ ORGANIZATION = "ORGANIZATION"
9
+ end
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,239 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../../../requests"
4
+ require_relative "../v_2/types/organization_provider_id"
5
+ require_relative "types/organization_provider_v_2"
6
+ require_relative "../../commons/types/page_token"
7
+ require_relative "../v_2/types/organization_provider_sort_options"
8
+ require_relative "types/organization_provider_page_v_2"
9
+ require_relative "types/organization_provider_create_v_2"
10
+ require_relative "types/organization_provider_update_v_2"
11
+ require "async"
12
+
13
+ module CandidApiClient
14
+ module OrganizationProviders
15
+ module V3
16
+ class V3Client
17
+ attr_reader :request_client
18
+
19
+ # @param request_client [RequestClient]
20
+ # @return [OrganizationProviders::V3::V3Client]
21
+ def initialize(request_client:)
22
+ # @type [RequestClient]
23
+ @request_client = request_client
24
+ end
25
+
26
+ # @param organization_provider_id [OrganizationProviders::V2::ORGANIZATION_PROVIDER_ID]
27
+ # @param request_options [RequestOptions]
28
+ # @return [OrganizationProviders::V3::OrganizationProviderV2]
29
+ def get(organization_provider_id:, request_options: nil)
30
+ response = @request_client.conn.get("/api/organization-providers/v3/#{organization_provider_id}") do |req|
31
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
32
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
33
+ req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
34
+ end
35
+ OrganizationProviders::V3::OrganizationProviderV2.from_json(json_object: response.body)
36
+ end
37
+
38
+ # @param limit [Integer] Limit the number of results returned. Defaults to 100.
39
+ # @param search_term [String] Filter to a name or a part of a name.
40
+ # @param npi [String] Filter to a specific NPI.
41
+ # @param is_rendering [Boolean] Filter to only rendering providers.
42
+ # @param is_billing [Boolean] Filter to only billing providers.
43
+ # @param page_token [Commons::PAGE_TOKEN] The page token to continue paging through a previous request.
44
+ # @param sort [OrganizationProviders::V2::OrganizationProviderSortOptions] Defaults to PROVIDER_NAME_ASC.
45
+ # @param request_options [RequestOptions]
46
+ # @return [OrganizationProviders::V3::OrganizationProviderPageV2]
47
+ def get_multi(limit: nil, search_term: nil, npi: nil, is_rendering: nil, is_billing: nil, page_token: nil,
48
+ sort: nil, request_options: nil)
49
+ response = @request_client.conn.get("/api/organization-providers/v3") do |req|
50
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
51
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
52
+ req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
53
+ req.params = {
54
+ **(request_options&.additional_query_parameters || {}),
55
+ "limit": limit,
56
+ "search_term": search_term,
57
+ "npi": npi,
58
+ "is_rendering": is_rendering,
59
+ "is_billing": is_billing,
60
+ "page_token": page_token,
61
+ "sort": sort
62
+ }.compact
63
+ end
64
+ OrganizationProviders::V3::OrganizationProviderPageV2.from_json(json_object: response.body)
65
+ end
66
+
67
+ # @param request [Hash] Request of type OrganizationProviders::V3::OrganizationProviderCreateV2, as a Hash
68
+ # * :npi (String)
69
+ # * :is_rendering (Boolean)
70
+ # * :is_billing (Boolean)
71
+ # * :first_name (String)
72
+ # * :last_name (String)
73
+ # * :organization_name (String)
74
+ # * :provider_type (OrganizationProviders::V2::ProviderType)
75
+ # * :tax_id (String)
76
+ # * :taxonomy_code (String)
77
+ # * :license_type (OrganizationProviders::V2::LicenseType)
78
+ # * :addresses (Array<OrganizationProviders::V2::OrganizationProviderAddress>)
79
+ # * :employment_start_date (Date)
80
+ # * :employment_termination_date (Date)
81
+ # * :qualifications (Array<Identifiers::IdentifierCreate>)
82
+ # @param request_options [RequestOptions]
83
+ # @return [OrganizationProviders::V3::OrganizationProviderV2]
84
+ def create(request:, request_options: nil)
85
+ response = @request_client.conn.post("/api/organization-providers/v3") do |req|
86
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
87
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
88
+ req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
89
+ req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
90
+ end
91
+ OrganizationProviders::V3::OrganizationProviderV2.from_json(json_object: response.body)
92
+ end
93
+
94
+ # @param organization_provider_id [OrganizationProviders::V2::ORGANIZATION_PROVIDER_ID]
95
+ # @param request [Hash] Request of type OrganizationProviders::V3::OrganizationProviderUpdateV2, as a Hash
96
+ # * :npi (String)
97
+ # * :is_rendering (Boolean)
98
+ # * :is_billing (Boolean)
99
+ # * :first_name (String)
100
+ # * :last_name (String)
101
+ # * :organization_name (String)
102
+ # * :provider_type (OrganizationProviders::V2::ProviderType)
103
+ # * :tax_id (String)
104
+ # * :taxonomy_code (String)
105
+ # * :license_type (OrganizationProviders::V2::LicenseType)
106
+ # * :addresses (Array<OrganizationProviders::V2::OrganizationProviderAddress>)
107
+ # * :employment_start_date (Commons::DATE)
108
+ # * :employment_termination_date (Commons::DATE)
109
+ # * :qualifications (Array<Identifiers::UpdatableIdentifier>)
110
+ # @param request_options [RequestOptions]
111
+ # @return [OrganizationProviders::V3::OrganizationProviderV2]
112
+ def update(organization_provider_id:, request:, request_options: nil)
113
+ response = @request_client.conn.patch("/api/organization-providers/v3/#{organization_provider_id}") do |req|
114
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
115
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
116
+ req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
117
+ req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
118
+ end
119
+ OrganizationProviders::V3::OrganizationProviderV2.from_json(json_object: response.body)
120
+ end
121
+ end
122
+
123
+ class AsyncV3Client
124
+ attr_reader :request_client
125
+
126
+ # @param request_client [AsyncRequestClient]
127
+ # @return [OrganizationProviders::V3::AsyncV3Client]
128
+ def initialize(request_client:)
129
+ # @type [AsyncRequestClient]
130
+ @request_client = request_client
131
+ end
132
+
133
+ # @param organization_provider_id [OrganizationProviders::V2::ORGANIZATION_PROVIDER_ID]
134
+ # @param request_options [RequestOptions]
135
+ # @return [OrganizationProviders::V3::OrganizationProviderV2]
136
+ def get(organization_provider_id:, request_options: nil)
137
+ Async do
138
+ response = @request_client.conn.get("/api/organization-providers/v3/#{organization_provider_id}") do |req|
139
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
140
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
141
+ req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
142
+ end
143
+ OrganizationProviders::V3::OrganizationProviderV2.from_json(json_object: response.body)
144
+ end
145
+ end
146
+
147
+ # @param limit [Integer] Limit the number of results returned. Defaults to 100.
148
+ # @param search_term [String] Filter to a name or a part of a name.
149
+ # @param npi [String] Filter to a specific NPI.
150
+ # @param is_rendering [Boolean] Filter to only rendering providers.
151
+ # @param is_billing [Boolean] Filter to only billing providers.
152
+ # @param page_token [Commons::PAGE_TOKEN] The page token to continue paging through a previous request.
153
+ # @param sort [OrganizationProviders::V2::OrganizationProviderSortOptions] Defaults to PROVIDER_NAME_ASC.
154
+ # @param request_options [RequestOptions]
155
+ # @return [OrganizationProviders::V3::OrganizationProviderPageV2]
156
+ def get_multi(limit: nil, search_term: nil, npi: nil, is_rendering: nil, is_billing: nil, page_token: nil,
157
+ sort: nil, request_options: nil)
158
+ Async do
159
+ response = @request_client.conn.get("/api/organization-providers/v3") do |req|
160
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
161
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
162
+ req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
163
+ req.params = {
164
+ **(request_options&.additional_query_parameters || {}),
165
+ "limit": limit,
166
+ "search_term": search_term,
167
+ "npi": npi,
168
+ "is_rendering": is_rendering,
169
+ "is_billing": is_billing,
170
+ "page_token": page_token,
171
+ "sort": sort
172
+ }.compact
173
+ end
174
+ OrganizationProviders::V3::OrganizationProviderPageV2.from_json(json_object: response.body)
175
+ end
176
+ end
177
+
178
+ # @param request [Hash] Request of type OrganizationProviders::V3::OrganizationProviderCreateV2, as a Hash
179
+ # * :npi (String)
180
+ # * :is_rendering (Boolean)
181
+ # * :is_billing (Boolean)
182
+ # * :first_name (String)
183
+ # * :last_name (String)
184
+ # * :organization_name (String)
185
+ # * :provider_type (OrganizationProviders::V2::ProviderType)
186
+ # * :tax_id (String)
187
+ # * :taxonomy_code (String)
188
+ # * :license_type (OrganizationProviders::V2::LicenseType)
189
+ # * :addresses (Array<OrganizationProviders::V2::OrganizationProviderAddress>)
190
+ # * :employment_start_date (Date)
191
+ # * :employment_termination_date (Date)
192
+ # * :qualifications (Array<Identifiers::IdentifierCreate>)
193
+ # @param request_options [RequestOptions]
194
+ # @return [OrganizationProviders::V3::OrganizationProviderV2]
195
+ def create(request:, request_options: nil)
196
+ Async do
197
+ response = @request_client.conn.post("/api/organization-providers/v3") do |req|
198
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
199
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
200
+ req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
201
+ req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
202
+ end
203
+ OrganizationProviders::V3::OrganizationProviderV2.from_json(json_object: response.body)
204
+ end
205
+ end
206
+
207
+ # @param organization_provider_id [OrganizationProviders::V2::ORGANIZATION_PROVIDER_ID]
208
+ # @param request [Hash] Request of type OrganizationProviders::V3::OrganizationProviderUpdateV2, as a Hash
209
+ # * :npi (String)
210
+ # * :is_rendering (Boolean)
211
+ # * :is_billing (Boolean)
212
+ # * :first_name (String)
213
+ # * :last_name (String)
214
+ # * :organization_name (String)
215
+ # * :provider_type (OrganizationProviders::V2::ProviderType)
216
+ # * :tax_id (String)
217
+ # * :taxonomy_code (String)
218
+ # * :license_type (OrganizationProviders::V2::LicenseType)
219
+ # * :addresses (Array<OrganizationProviders::V2::OrganizationProviderAddress>)
220
+ # * :employment_start_date (Commons::DATE)
221
+ # * :employment_termination_date (Commons::DATE)
222
+ # * :qualifications (Array<Identifiers::UpdatableIdentifier>)
223
+ # @param request_options [RequestOptions]
224
+ # @return [OrganizationProviders::V3::OrganizationProviderV2]
225
+ def update(organization_provider_id:, request:, request_options: nil)
226
+ Async do
227
+ response = @request_client.conn.patch("/api/organization-providers/v3/#{organization_provider_id}") do |req|
228
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
229
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
230
+ req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
231
+ req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
232
+ end
233
+ OrganizationProviders::V3::OrganizationProviderV2.from_json(json_object: response.body)
234
+ end
235
+ end
236
+ end
237
+ end
238
+ end
239
+ end