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,147 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../../v_2/types/provider_type"
4
+ require_relative "../../v_2/types/license_type"
5
+ require_relative "../../v_2/types/organization_provider_address"
6
+ require "date"
7
+ require_relative "../../../identifiers/types/identifier_create"
8
+ require "json"
9
+
10
+ module CandidApiClient
11
+ module OrganizationProviders
12
+ module V3
13
+ class OrganizationProviderCreateV2
14
+ attr_reader :npi, :is_rendering, :is_billing, :first_name, :last_name, :organization_name, :provider_type,
15
+ :tax_id, :taxonomy_code, :license_type, :addresses, :employment_start_date, :employment_termination_date, :qualifications, :additional_properties
16
+
17
+ # @param npi [String] The NPI of the provider. This must be all digits [0-9] and exactly 10 characters long.
18
+ # @param is_rendering [Boolean] Whether the provider can be used to render services.
19
+ # @param is_billing [Boolean] Whether the provider can be used to bill services.
20
+ # @param first_name [String] The first name of the provider, if the provider is an individual.
21
+ # @param last_name [String] The last name of the provider, if the provider is an individual.
22
+ # @param organization_name [String] The name of the provider, if the provider is an organization.
23
+ # @param provider_type [OrganizationProviders::V2::ProviderType] Whether the provider is an individual (NPPES Type 1) or organization (NPPES Type 2) provider.
24
+ # @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.
25
+ # @param taxonomy_code [String] A code designating classification and specialization.
26
+ # @param license_type [OrganizationProviders::V2::LicenseType] The type of license that the provider holds.
27
+ # @param addresses [Array<OrganizationProviders::V2::OrganizationProviderAddress>] The addresses associated with this provider.
28
+ # @param employment_start_date [Date] The employment start date for the provider.
29
+ # @param employment_termination_date [Date] The employment termination date for the provider.
30
+ # @param qualifications [Array<Identifiers::IdentifierCreate>] A provider's qualifications such as PTAN, Medicaid Provider Id, etc.
31
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
32
+ # @return [OrganizationProviders::V3::OrganizationProviderCreateV2]
33
+ def initialize(npi:, is_rendering:, is_billing:, provider_type:, license_type:, qualifications:,
34
+ first_name: nil, last_name: nil, organization_name: nil, tax_id: nil, taxonomy_code: nil, addresses: nil, employment_start_date: nil, employment_termination_date: nil, additional_properties: nil)
35
+ # @type [String] The NPI of the provider. This must be all digits [0-9] and exactly 10 characters long.
36
+ @npi = npi
37
+ # @type [Boolean] Whether the provider can be used to render services.
38
+ @is_rendering = is_rendering
39
+ # @type [Boolean] Whether the provider can be used to bill services.
40
+ @is_billing = is_billing
41
+ # @type [String] The first name of the provider, if the provider is an individual.
42
+ @first_name = first_name
43
+ # @type [String] The last name of the provider, if the provider is an individual.
44
+ @last_name = last_name
45
+ # @type [String] The name of the provider, if the provider is an organization.
46
+ @organization_name = organization_name
47
+ # @type [OrganizationProviders::V2::ProviderType] Whether the provider is an individual (NPPES Type 1) or organization (NPPES Type 2) provider.
48
+ @provider_type = provider_type
49
+ # @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.
50
+ @tax_id = tax_id
51
+ # @type [String] A code designating classification and specialization.
52
+ @taxonomy_code = taxonomy_code
53
+ # @type [OrganizationProviders::V2::LicenseType] The type of license that the provider holds.
54
+ @license_type = license_type
55
+ # @type [Array<OrganizationProviders::V2::OrganizationProviderAddress>] The addresses associated with this provider.
56
+ @addresses = addresses
57
+ # @type [Date] The employment start date for the provider.
58
+ @employment_start_date = employment_start_date
59
+ # @type [Date] The employment termination date for the provider.
60
+ @employment_termination_date = employment_termination_date
61
+ # @type [Array<Identifiers::IdentifierCreate>] A provider's qualifications such as PTAN, Medicaid Provider Id, etc.
62
+ @qualifications = qualifications
63
+ # @type [OpenStruct] Additional properties unmapped to the current class definition
64
+ @additional_properties = additional_properties
65
+ end
66
+
67
+ # Deserialize a JSON object to an instance of OrganizationProviderCreateV2
68
+ #
69
+ # @param json_object [JSON]
70
+ # @return [OrganizationProviders::V3::OrganizationProviderCreateV2]
71
+ def self.from_json(json_object:)
72
+ struct = JSON.parse(json_object, object_class: OpenStruct)
73
+ parsed_json = JSON.parse(json_object)
74
+ npi = struct.npi
75
+ is_rendering = struct.is_rendering
76
+ is_billing = struct.is_billing
77
+ first_name = struct.first_name
78
+ last_name = struct.last_name
79
+ organization_name = struct.organization_name
80
+ provider_type = struct.provider_type
81
+ tax_id = struct.tax_id
82
+ taxonomy_code = struct.taxonomy_code
83
+ license_type = struct.license_type
84
+ addresses = parsed_json["addresses"]&.map do |v|
85
+ v = v.to_json
86
+ OrganizationProviders::V2::OrganizationProviderAddress.from_json(json_object: v)
87
+ end
88
+ employment_start_date = unless parsed_json["employment_start_date"].nil?
89
+ Date.parse(parsed_json["employment_start_date"])
90
+ end
91
+ employment_termination_date = unless parsed_json["employment_termination_date"].nil?
92
+ Date.parse(parsed_json["employment_termination_date"])
93
+ end
94
+ qualifications = parsed_json["qualifications"]&.map do |v|
95
+ v = v.to_json
96
+ Identifiers::IdentifierCreate.from_json(json_object: v)
97
+ end
98
+ new(npi: npi, is_rendering: is_rendering, is_billing: is_billing, first_name: first_name,
99
+ last_name: last_name, organization_name: organization_name, provider_type: provider_type, tax_id: tax_id, taxonomy_code: taxonomy_code, license_type: license_type, addresses: addresses, employment_start_date: employment_start_date, employment_termination_date: employment_termination_date, qualifications: qualifications, additional_properties: struct)
100
+ end
101
+
102
+ # Serialize an instance of OrganizationProviderCreateV2 to a JSON object
103
+ #
104
+ # @return [JSON]
105
+ def to_json(*_args)
106
+ {
107
+ "npi": @npi,
108
+ "is_rendering": @is_rendering,
109
+ "is_billing": @is_billing,
110
+ "first_name": @first_name,
111
+ "last_name": @last_name,
112
+ "organization_name": @organization_name,
113
+ "provider_type": @provider_type,
114
+ "tax_id": @tax_id,
115
+ "taxonomy_code": @taxonomy_code,
116
+ "license_type": @license_type,
117
+ "addresses": @addresses,
118
+ "employment_start_date": @employment_start_date,
119
+ "employment_termination_date": @employment_termination_date,
120
+ "qualifications": @qualifications
121
+ }.to_json
122
+ end
123
+
124
+ # 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.
125
+ #
126
+ # @param obj [Object]
127
+ # @return [Void]
128
+ def self.validate_raw(obj:)
129
+ obj.npi.is_a?(String) != false || raise("Passed value for field obj.npi is not the expected type, validation failed.")
130
+ obj.is_rendering.is_a?(Boolean) != false || raise("Passed value for field obj.is_rendering is not the expected type, validation failed.")
131
+ obj.is_billing.is_a?(Boolean) != false || raise("Passed value for field obj.is_billing is not the expected type, validation failed.")
132
+ obj.first_name&.is_a?(String) != false || raise("Passed value for field obj.first_name is not the expected type, validation failed.")
133
+ obj.last_name&.is_a?(String) != false || raise("Passed value for field obj.last_name is not the expected type, validation failed.")
134
+ obj.organization_name&.is_a?(String) != false || raise("Passed value for field obj.organization_name is not the expected type, validation failed.")
135
+ obj.provider_type.is_a?(OrganizationProviders::V2::ProviderType) != false || raise("Passed value for field obj.provider_type is not the expected type, validation failed.")
136
+ obj.tax_id&.is_a?(String) != false || raise("Passed value for field obj.tax_id is not the expected type, validation failed.")
137
+ obj.taxonomy_code&.is_a?(String) != false || raise("Passed value for field obj.taxonomy_code is not the expected type, validation failed.")
138
+ obj.license_type.is_a?(OrganizationProviders::V2::LicenseType) != false || raise("Passed value for field obj.license_type is not the expected type, validation failed.")
139
+ obj.addresses&.is_a?(Array) != false || raise("Passed value for field obj.addresses is not the expected type, validation failed.")
140
+ obj.employment_start_date&.is_a?(Date) != false || raise("Passed value for field obj.employment_start_date is not the expected type, validation failed.")
141
+ obj.employment_termination_date&.is_a?(Date) != false || raise("Passed value for field obj.employment_termination_date is not the expected type, validation failed.")
142
+ obj.qualifications.is_a?(Array) != false || raise("Passed value for field obj.qualifications is not the expected type, validation failed.")
143
+ end
144
+ end
145
+ end
146
+ end
147
+ end
@@ -0,0 +1,65 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "organization_provider_v_2"
4
+ require_relative "../../../commons/types/page_token"
5
+ require "json"
6
+
7
+ module CandidApiClient
8
+ module OrganizationProviders
9
+ module V3
10
+ class OrganizationProviderPageV2
11
+ attr_reader :items, :prev_page_token, :next_page_token, :additional_properties
12
+
13
+ # @param items [Array<OrganizationProviders::V3::OrganizationProviderV2>]
14
+ # @param prev_page_token [Commons::PAGE_TOKEN]
15
+ # @param next_page_token [Commons::PAGE_TOKEN]
16
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
17
+ # @return [OrganizationProviders::V3::OrganizationProviderPageV2]
18
+ def initialize(items:, prev_page_token: nil, next_page_token: nil, additional_properties: nil)
19
+ # @type [Array<OrganizationProviders::V3::OrganizationProviderV2>]
20
+ @items = items
21
+ # @type [Commons::PAGE_TOKEN]
22
+ @prev_page_token = prev_page_token
23
+ # @type [Commons::PAGE_TOKEN]
24
+ @next_page_token = next_page_token
25
+ # @type [OpenStruct] Additional properties unmapped to the current class definition
26
+ @additional_properties = additional_properties
27
+ end
28
+
29
+ # Deserialize a JSON object to an instance of OrganizationProviderPageV2
30
+ #
31
+ # @param json_object [JSON]
32
+ # @return [OrganizationProviders::V3::OrganizationProviderPageV2]
33
+ def self.from_json(json_object:)
34
+ struct = JSON.parse(json_object, object_class: OpenStruct)
35
+ parsed_json = JSON.parse(json_object)
36
+ items = parsed_json["items"]&.map do |v|
37
+ v = v.to_json
38
+ OrganizationProviders::V3::OrganizationProviderV2.from_json(json_object: v)
39
+ end
40
+ prev_page_token = struct.prev_page_token
41
+ next_page_token = struct.next_page_token
42
+ new(items: items, prev_page_token: prev_page_token, next_page_token: next_page_token,
43
+ additional_properties: struct)
44
+ end
45
+
46
+ # Serialize an instance of OrganizationProviderPageV2 to a JSON object
47
+ #
48
+ # @return [JSON]
49
+ def to_json(*_args)
50
+ { "items": @items, "prev_page_token": @prev_page_token, "next_page_token": @next_page_token }.to_json
51
+ end
52
+
53
+ # 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.
54
+ #
55
+ # @param obj [Object]
56
+ # @return [Void]
57
+ def self.validate_raw(obj:)
58
+ obj.items.is_a?(Array) != false || raise("Passed value for field obj.items is not the expected type, validation failed.")
59
+ obj.prev_page_token&.is_a?(String) != false || raise("Passed value for field obj.prev_page_token is not the expected type, validation failed.")
60
+ obj.next_page_token&.is_a?(String) != false || raise("Passed value for field obj.next_page_token is not the expected type, validation failed.")
61
+ end
62
+ end
63
+ end
64
+ end
65
+ end
@@ -0,0 +1,143 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../../v_2/types/provider_type"
4
+ require_relative "../../v_2/types/license_type"
5
+ require_relative "../../v_2/types/organization_provider_address"
6
+ require_relative "../../../commons/types/date"
7
+ require_relative "../../../identifiers/types/updatable_identifier"
8
+ require "json"
9
+
10
+ module CandidApiClient
11
+ module OrganizationProviders
12
+ module V3
13
+ class OrganizationProviderUpdateV2
14
+ attr_reader :npi, :is_rendering, :is_billing, :first_name, :last_name, :organization_name, :provider_type,
15
+ :tax_id, :taxonomy_code, :license_type, :addresses, :employment_start_date, :employment_termination_date, :qualifications, :additional_properties
16
+
17
+ # @param npi [String] The NPI of the provider. This must be all digits [0-9] and exactly 10 characters long.
18
+ # @param is_rendering [Boolean] Whether the provider can be used to render services.
19
+ # @param is_billing [Boolean] Whether the provider can be used to bill services.
20
+ # @param first_name [String] The first name of the provider, if the provider is an individual.
21
+ # @param last_name [String] The last name of the provider, if the provider is an individual.
22
+ # @param organization_name [String] The name of the provider, if the provider is an organization.
23
+ # @param provider_type [OrganizationProviders::V2::ProviderType] Whether the provider is an individual (NPPES Type 1) or organization (NPPES Type 2) provider.
24
+ # @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.
25
+ # @param taxonomy_code [String] A code designating classification and specialization.
26
+ # @param license_type [OrganizationProviders::V2::LicenseType] The type of license that the provider holds.
27
+ # @param addresses [Array<OrganizationProviders::V2::OrganizationProviderAddress>] The addresses associated with this provider.
28
+ # @param employment_start_date [Commons::DATE] The employment start date for the provider.
29
+ # @param employment_termination_date [Commons::DATE] The employment termination date for the provider.
30
+ # @param qualifications [Array<Identifiers::UpdatableIdentifier>] Provider's qualifications (medicare provider number, medicaid provider number, etc.)
31
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
32
+ # @return [OrganizationProviders::V3::OrganizationProviderUpdateV2]
33
+ def initialize(npi: nil, is_rendering: nil, is_billing: nil, first_name: nil, last_name: nil,
34
+ organization_name: nil, provider_type: nil, tax_id: nil, taxonomy_code: nil, license_type: nil, addresses: nil, employment_start_date: nil, employment_termination_date: nil, qualifications: nil, additional_properties: nil)
35
+ # @type [String] The NPI of the provider. This must be all digits [0-9] and exactly 10 characters long.
36
+ @npi = npi
37
+ # @type [Boolean] Whether the provider can be used to render services.
38
+ @is_rendering = is_rendering
39
+ # @type [Boolean] Whether the provider can be used to bill services.
40
+ @is_billing = is_billing
41
+ # @type [String] The first name of the provider, if the provider is an individual.
42
+ @first_name = first_name
43
+ # @type [String] The last name of the provider, if the provider is an individual.
44
+ @last_name = last_name
45
+ # @type [String] The name of the provider, if the provider is an organization.
46
+ @organization_name = organization_name
47
+ # @type [OrganizationProviders::V2::ProviderType] Whether the provider is an individual (NPPES Type 1) or organization (NPPES Type 2) provider.
48
+ @provider_type = provider_type
49
+ # @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.
50
+ @tax_id = tax_id
51
+ # @type [String] A code designating classification and specialization.
52
+ @taxonomy_code = taxonomy_code
53
+ # @type [OrganizationProviders::V2::LicenseType] The type of license that the provider holds.
54
+ @license_type = license_type
55
+ # @type [Array<OrganizationProviders::V2::OrganizationProviderAddress>] The addresses associated with this provider.
56
+ @addresses = addresses
57
+ # @type [Commons::DATE] The employment start date for the provider.
58
+ @employment_start_date = employment_start_date
59
+ # @type [Commons::DATE] The employment termination date for the provider.
60
+ @employment_termination_date = employment_termination_date
61
+ # @type [Array<Identifiers::UpdatableIdentifier>] Provider's qualifications (medicare provider number, medicaid provider number, etc.)
62
+ @qualifications = qualifications
63
+ # @type [OpenStruct] Additional properties unmapped to the current class definition
64
+ @additional_properties = additional_properties
65
+ end
66
+
67
+ # Deserialize a JSON object to an instance of OrganizationProviderUpdateV2
68
+ #
69
+ # @param json_object [JSON]
70
+ # @return [OrganizationProviders::V3::OrganizationProviderUpdateV2]
71
+ def self.from_json(json_object:)
72
+ struct = JSON.parse(json_object, object_class: OpenStruct)
73
+ parsed_json = JSON.parse(json_object)
74
+ npi = struct.npi
75
+ is_rendering = struct.is_rendering
76
+ is_billing = struct.is_billing
77
+ first_name = struct.first_name
78
+ last_name = struct.last_name
79
+ organization_name = struct.organization_name
80
+ provider_type = struct.provider_type
81
+ tax_id = struct.tax_id
82
+ taxonomy_code = struct.taxonomy_code
83
+ license_type = struct.license_type
84
+ addresses = parsed_json["addresses"]&.map do |v|
85
+ v = v.to_json
86
+ OrganizationProviders::V2::OrganizationProviderAddress.from_json(json_object: v)
87
+ end
88
+ employment_start_date = struct.employment_start_date
89
+ employment_termination_date = struct.employment_termination_date
90
+ qualifications = parsed_json["qualifications"]&.map do |v|
91
+ v = v.to_json
92
+ Identifiers::UpdatableIdentifier.from_json(json_object: v)
93
+ end
94
+ new(npi: npi, is_rendering: is_rendering, is_billing: is_billing, first_name: first_name,
95
+ last_name: last_name, organization_name: organization_name, provider_type: provider_type, tax_id: tax_id, taxonomy_code: taxonomy_code, license_type: license_type, addresses: addresses, employment_start_date: employment_start_date, employment_termination_date: employment_termination_date, qualifications: qualifications, additional_properties: struct)
96
+ end
97
+
98
+ # Serialize an instance of OrganizationProviderUpdateV2 to a JSON object
99
+ #
100
+ # @return [JSON]
101
+ def to_json(*_args)
102
+ {
103
+ "npi": @npi,
104
+ "is_rendering": @is_rendering,
105
+ "is_billing": @is_billing,
106
+ "first_name": @first_name,
107
+ "last_name": @last_name,
108
+ "organization_name": @organization_name,
109
+ "provider_type": @provider_type,
110
+ "tax_id": @tax_id,
111
+ "taxonomy_code": @taxonomy_code,
112
+ "license_type": @license_type,
113
+ "addresses": @addresses,
114
+ "employment_start_date": @employment_start_date,
115
+ "employment_termination_date": @employment_termination_date,
116
+ "qualifications": @qualifications
117
+ }.to_json
118
+ end
119
+
120
+ # 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.
121
+ #
122
+ # @param obj [Object]
123
+ # @return [Void]
124
+ def self.validate_raw(obj:)
125
+ obj.npi&.is_a?(String) != false || raise("Passed value for field obj.npi is not the expected type, validation failed.")
126
+ obj.is_rendering&.is_a?(Boolean) != false || raise("Passed value for field obj.is_rendering is not the expected type, validation failed.")
127
+ obj.is_billing&.is_a?(Boolean) != false || raise("Passed value for field obj.is_billing is not the expected type, validation failed.")
128
+ obj.first_name&.is_a?(String) != false || raise("Passed value for field obj.first_name is not the expected type, validation failed.")
129
+ obj.last_name&.is_a?(String) != false || raise("Passed value for field obj.last_name is not the expected type, validation failed.")
130
+ obj.organization_name&.is_a?(String) != false || raise("Passed value for field obj.organization_name is not the expected type, validation failed.")
131
+ obj.provider_type&.is_a?(OrganizationProviders::V2::ProviderType) != false || raise("Passed value for field obj.provider_type is not the expected type, validation failed.")
132
+ obj.tax_id&.is_a?(String) != false || raise("Passed value for field obj.tax_id is not the expected type, validation failed.")
133
+ obj.taxonomy_code&.is_a?(String) != false || raise("Passed value for field obj.taxonomy_code is not the expected type, validation failed.")
134
+ obj.license_type&.is_a?(OrganizationProviders::V2::LicenseType) != false || raise("Passed value for field obj.license_type is not the expected type, validation failed.")
135
+ obj.addresses&.is_a?(Array) != false || raise("Passed value for field obj.addresses is not the expected type, validation failed.")
136
+ obj.employment_start_date&.is_a?(String) != false || raise("Passed value for field obj.employment_start_date is not the expected type, validation failed.")
137
+ obj.employment_termination_date&.is_a?(String) != false || raise("Passed value for field obj.employment_termination_date is not the expected type, validation failed.")
138
+ obj.qualifications&.is_a?(Array) != false || raise("Passed value for field obj.qualifications is not the expected type, validation failed.")
139
+ end
140
+ end
141
+ end
142
+ end
143
+ end
@@ -0,0 +1,154 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../../v_2/types/provider_type"
4
+ require_relative "../../v_2/types/license_type"
5
+ require_relative "../../v_2/types/organization_provider_address"
6
+ require "date"
7
+ require_relative "../../v_2/types/organization_provider_id"
8
+ require_relative "../../../identifiers/types/identifier"
9
+ require "json"
10
+
11
+ module CandidApiClient
12
+ module OrganizationProviders
13
+ module V3
14
+ class OrganizationProviderV2
15
+ attr_reader :npi, :is_rendering, :is_billing, :first_name, :last_name, :organization_name, :provider_type,
16
+ :tax_id, :taxonomy_code, :license_type, :addresses, :employment_start_date, :employment_termination_date, :organization_provider_id, :qualifications, :additional_properties
17
+
18
+ # @param npi [String] The NPI of the provider. This must be all digits [0-9] and exactly 10 characters long.
19
+ # @param is_rendering [Boolean] Whether the provider can be used to render services.
20
+ # @param is_billing [Boolean] Whether the provider can be used to bill services.
21
+ # @param first_name [String] The first name of the provider, if the provider is an individual.
22
+ # @param last_name [String] The last name of the provider, if the provider is an individual.
23
+ # @param organization_name [String] The name of the provider, if the provider is an organization.
24
+ # @param provider_type [OrganizationProviders::V2::ProviderType] Whether the provider is an individual (NPPES Type 1) or organization (NPPES Type 2) provider.
25
+ # @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.
26
+ # @param taxonomy_code [String] A code designating classification and specialization.
27
+ # @param license_type [OrganizationProviders::V2::LicenseType] The type of license that the provider holds.
28
+ # @param addresses [Array<OrganizationProviders::V2::OrganizationProviderAddress>] The addresses associated with this provider.
29
+ # @param employment_start_date [Date] The employment start date for the provider.
30
+ # @param employment_termination_date [Date] The employment termination date for the provider.
31
+ # @param organization_provider_id [OrganizationProviders::V2::ORGANIZATION_PROVIDER_ID] Auto-generated ID set on creation.
32
+ # @param qualifications [Array<Identifiers::Identifier>] Qualification given to a provider (PTAN, Medicaid Provider Id etc.).
33
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
34
+ # @return [OrganizationProviders::V3::OrganizationProviderV2]
35
+ def initialize(npi:, is_rendering:, is_billing:, provider_type:, license_type:, organization_provider_id:,
36
+ qualifications:, first_name: nil, last_name: nil, organization_name: nil, tax_id: nil, taxonomy_code: nil, addresses: nil, employment_start_date: nil, employment_termination_date: nil, additional_properties: nil)
37
+ # @type [String] The NPI of the provider. This must be all digits [0-9] and exactly 10 characters long.
38
+ @npi = npi
39
+ # @type [Boolean] Whether the provider can be used to render services.
40
+ @is_rendering = is_rendering
41
+ # @type [Boolean] Whether the provider can be used to bill services.
42
+ @is_billing = is_billing
43
+ # @type [String] The first name of the provider, if the provider is an individual.
44
+ @first_name = first_name
45
+ # @type [String] The last name of the provider, if the provider is an individual.
46
+ @last_name = last_name
47
+ # @type [String] The name of the provider, if the provider is an organization.
48
+ @organization_name = organization_name
49
+ # @type [OrganizationProviders::V2::ProviderType] Whether the provider is an individual (NPPES Type 1) or organization (NPPES Type 2) provider.
50
+ @provider_type = provider_type
51
+ # @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.
52
+ @tax_id = tax_id
53
+ # @type [String] A code designating classification and specialization.
54
+ @taxonomy_code = taxonomy_code
55
+ # @type [OrganizationProviders::V2::LicenseType] The type of license that the provider holds.
56
+ @license_type = license_type
57
+ # @type [Array<OrganizationProviders::V2::OrganizationProviderAddress>] The addresses associated with this provider.
58
+ @addresses = addresses
59
+ # @type [Date] The employment start date for the provider.
60
+ @employment_start_date = employment_start_date
61
+ # @type [Date] The employment termination date for the provider.
62
+ @employment_termination_date = employment_termination_date
63
+ # @type [OrganizationProviders::V2::ORGANIZATION_PROVIDER_ID] Auto-generated ID set on creation.
64
+ @organization_provider_id = organization_provider_id
65
+ # @type [Array<Identifiers::Identifier>] Qualification given to a provider (PTAN, Medicaid Provider Id etc.).
66
+ @qualifications = qualifications
67
+ # @type [OpenStruct] Additional properties unmapped to the current class definition
68
+ @additional_properties = additional_properties
69
+ end
70
+
71
+ # Deserialize a JSON object to an instance of OrganizationProviderV2
72
+ #
73
+ # @param json_object [JSON]
74
+ # @return [OrganizationProviders::V3::OrganizationProviderV2]
75
+ def self.from_json(json_object:)
76
+ struct = JSON.parse(json_object, object_class: OpenStruct)
77
+ parsed_json = JSON.parse(json_object)
78
+ npi = struct.npi
79
+ is_rendering = struct.is_rendering
80
+ is_billing = struct.is_billing
81
+ first_name = struct.first_name
82
+ last_name = struct.last_name
83
+ organization_name = struct.organization_name
84
+ provider_type = struct.provider_type
85
+ tax_id = struct.tax_id
86
+ taxonomy_code = struct.taxonomy_code
87
+ license_type = struct.license_type
88
+ addresses = parsed_json["addresses"]&.map do |v|
89
+ v = v.to_json
90
+ OrganizationProviders::V2::OrganizationProviderAddress.from_json(json_object: v)
91
+ end
92
+ employment_start_date = unless parsed_json["employment_start_date"].nil?
93
+ Date.parse(parsed_json["employment_start_date"])
94
+ end
95
+ employment_termination_date = unless parsed_json["employment_termination_date"].nil?
96
+ Date.parse(parsed_json["employment_termination_date"])
97
+ end
98
+ organization_provider_id = struct.organization_provider_id
99
+ qualifications = parsed_json["qualifications"]&.map do |v|
100
+ v = v.to_json
101
+ Identifiers::Identifier.from_json(json_object: v)
102
+ end
103
+ new(npi: npi, is_rendering: is_rendering, is_billing: is_billing, first_name: first_name,
104
+ last_name: last_name, organization_name: organization_name, provider_type: provider_type, tax_id: tax_id, taxonomy_code: taxonomy_code, license_type: license_type, addresses: addresses, employment_start_date: employment_start_date, employment_termination_date: employment_termination_date, organization_provider_id: organization_provider_id, qualifications: qualifications, additional_properties: struct)
105
+ end
106
+
107
+ # Serialize an instance of OrganizationProviderV2 to a JSON object
108
+ #
109
+ # @return [JSON]
110
+ def to_json(*_args)
111
+ {
112
+ "npi": @npi,
113
+ "is_rendering": @is_rendering,
114
+ "is_billing": @is_billing,
115
+ "first_name": @first_name,
116
+ "last_name": @last_name,
117
+ "organization_name": @organization_name,
118
+ "provider_type": @provider_type,
119
+ "tax_id": @tax_id,
120
+ "taxonomy_code": @taxonomy_code,
121
+ "license_type": @license_type,
122
+ "addresses": @addresses,
123
+ "employment_start_date": @employment_start_date,
124
+ "employment_termination_date": @employment_termination_date,
125
+ "organization_provider_id": @organization_provider_id,
126
+ "qualifications": @qualifications
127
+ }.to_json
128
+ end
129
+
130
+ # 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.
131
+ #
132
+ # @param obj [Object]
133
+ # @return [Void]
134
+ def self.validate_raw(obj:)
135
+ obj.npi.is_a?(String) != false || raise("Passed value for field obj.npi is not the expected type, validation failed.")
136
+ obj.is_rendering.is_a?(Boolean) != false || raise("Passed value for field obj.is_rendering is not the expected type, validation failed.")
137
+ obj.is_billing.is_a?(Boolean) != false || raise("Passed value for field obj.is_billing is not the expected type, validation failed.")
138
+ obj.first_name&.is_a?(String) != false || raise("Passed value for field obj.first_name is not the expected type, validation failed.")
139
+ obj.last_name&.is_a?(String) != false || raise("Passed value for field obj.last_name is not the expected type, validation failed.")
140
+ obj.organization_name&.is_a?(String) != false || raise("Passed value for field obj.organization_name is not the expected type, validation failed.")
141
+ obj.provider_type.is_a?(OrganizationProviders::V2::ProviderType) != false || raise("Passed value for field obj.provider_type is not the expected type, validation failed.")
142
+ obj.tax_id&.is_a?(String) != false || raise("Passed value for field obj.tax_id is not the expected type, validation failed.")
143
+ obj.taxonomy_code&.is_a?(String) != false || raise("Passed value for field obj.taxonomy_code is not the expected type, validation failed.")
144
+ obj.license_type.is_a?(OrganizationProviders::V2::LicenseType) != false || raise("Passed value for field obj.license_type is not the expected type, validation failed.")
145
+ obj.addresses&.is_a?(Array) != false || raise("Passed value for field obj.addresses is not the expected type, validation failed.")
146
+ obj.employment_start_date&.is_a?(Date) != false || raise("Passed value for field obj.employment_start_date is not the expected type, validation failed.")
147
+ obj.employment_termination_date&.is_a?(Date) != false || raise("Passed value for field obj.employment_termination_date is not the expected type, validation failed.")
148
+ obj.organization_provider_id.is_a?(String) != false || raise("Passed value for field obj.organization_provider_id is not the expected type, validation failed.")
149
+ obj.qualifications.is_a?(Array) != false || raise("Passed value for field obj.qualifications is not the expected type, validation failed.")
150
+ end
151
+ end
152
+ end
153
+ end
154
+ end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../../requests"
4
+ require_relative "v_2/client"
5
+
6
+ module CandidApiClient
7
+ module OrganizationServiceFacilities
8
+ class Client
9
+ attr_reader :v_2
10
+
11
+ # @param request_client [RequestClient]
12
+ # @return [OrganizationServiceFacilities::Client]
13
+ def initialize(request_client:)
14
+ @v_2 = OrganizationServiceFacilities::V2::V2Client.new(request_client: request_client)
15
+ end
16
+ end
17
+
18
+ class AsyncClient
19
+ attr_reader :v_2
20
+
21
+ # @param request_client [RequestClient]
22
+ # @return [OrganizationServiceFacilities::AsyncClient]
23
+ def initialize(request_client:)
24
+ @v_2 = OrganizationServiceFacilities::V2::AsyncV2Client.new(request_client: request_client)
25
+ end
26
+ end
27
+ end
28
+ end