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,92 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "json"
4
+ require_relative "authorized_signatory"
5
+
6
+ module CandidApiClient
7
+ module Contracts
8
+ module V2
9
+ class AuthorizedSignatoryUpdate
10
+ attr_reader :member, :discriminant
11
+
12
+ private_class_method :new
13
+ alias kind_of? is_a?
14
+ # @param member [Object]
15
+ # @param discriminant [String]
16
+ # @return [Contracts::V2::AuthorizedSignatoryUpdate]
17
+ def initialize(member:, discriminant:)
18
+ # @type [Object]
19
+ @member = member
20
+ # @type [String]
21
+ @discriminant = discriminant
22
+ end
23
+
24
+ # Deserialize a JSON object to an instance of AuthorizedSignatoryUpdate
25
+ #
26
+ # @param json_object [JSON]
27
+ # @return [Contracts::V2::AuthorizedSignatoryUpdate]
28
+ def self.from_json(json_object:)
29
+ struct = JSON.parse(json_object, object_class: OpenStruct)
30
+ member = case struct.type
31
+ when "set"
32
+ Contracts::V2::AuthorizedSignatory.from_json(json_object: json_object)
33
+ when "remove"
34
+ nil
35
+ else
36
+ Contracts::V2::AuthorizedSignatory.from_json(json_object: json_object)
37
+ end
38
+ new(member: member, discriminant: struct.type)
39
+ end
40
+
41
+ # For Union Types, to_json functionality is delegated to the wrapped member.
42
+ #
43
+ # @return [JSON]
44
+ def to_json(*_args)
45
+ case @discriminant
46
+ when "set"
47
+ { **@member.to_json, type: @discriminant }.to_json
48
+ when "remove"
49
+ { type: @discriminant }.to_json
50
+ else
51
+ { "type": @discriminant, value: @member }.to_json
52
+ end
53
+ @member.to_json
54
+ end
55
+
56
+ # 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.
57
+ #
58
+ # @param obj [Object]
59
+ # @return [Void]
60
+ def self.validate_raw(obj:)
61
+ case obj.type
62
+ when "set"
63
+ Contracts::V2::AuthorizedSignatory.validate_raw(obj: obj)
64
+ when "remove"
65
+ # noop
66
+ else
67
+ raise("Passed value matched no type within the union, validation failed.")
68
+ end
69
+ end
70
+
71
+ # For Union Types, is_a? functionality is delegated to the wrapped member.
72
+ #
73
+ # @param obj [Object]
74
+ # @return [Boolean]
75
+ def is_a?(obj)
76
+ @member.is_a?(obj)
77
+ end
78
+
79
+ # @param member [Contracts::V2::AuthorizedSignatory]
80
+ # @return [Contracts::V2::AuthorizedSignatoryUpdate]
81
+ def self.set(member:)
82
+ new(member: member, discriminant: "set")
83
+ end
84
+
85
+ # @return [Contracts::V2::AuthorizedSignatoryUpdate]
86
+ def self.remove
87
+ new(member: nil, discriminant: "remove")
88
+ end
89
+ end
90
+ end
91
+ end
92
+ end
@@ -0,0 +1,165 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "contract_id"
4
+ require_relative "../../../organization_providers/v_2/types/organization_provider"
5
+ require_relative "../../../payers/v_3/types/payer"
6
+ require_relative "../../../commons/types/date"
7
+ require_relative "../../../commons/types/regions"
8
+ require_relative "contract_status"
9
+ require_relative "authorized_signatory"
10
+ require_relative "insurance_types"
11
+ require "json"
12
+
13
+ module CandidApiClient
14
+ module Contracts
15
+ module V2
16
+ class Contract
17
+ attr_reader :contract_id, :contracting_provider, :provider_count, :payer, :effective_date, :expiration_date,
18
+ :regions, :contract_status, :authorized_signatory, :commercial_insurance_types, :medicare_insurance_types, :medicaid_insurance_types, :additional_properties
19
+
20
+ # @param contract_id [Contracts::V2::CONTRACT_ID]
21
+ # @param contracting_provider [OrganizationProviders::V2::OrganizationProvider] The provider under contract
22
+ # @param provider_count [Integer] The number of linked providers who can render medical services under this contract
23
+ # @param payer [Payers::V3::Payer] The insurance company under contract
24
+ # @param effective_date [Commons::DATE] The starting day upon which the contract is effective
25
+ # @param expiration_date [Commons::DATE] An optional end day upon which the contract expires
26
+ # @param regions [Commons::Regions] The state(s) to which the contract's coverage extends.
27
+ # It may also be set to "national" for the entirety of the US.
28
+ # @param contract_status [Contracts::V2::ContractStatus]
29
+ # @param authorized_signatory [Contracts::V2::AuthorizedSignatory]
30
+ # @param commercial_insurance_types [Contracts::V2::InsuranceTypes] The commercial plan insurance types this contract applies.
31
+ # @param medicare_insurance_types [Contracts::V2::InsuranceTypes] The Medicare plan insurance types this contract applies.
32
+ # @param medicaid_insurance_types [Contracts::V2::InsuranceTypes] The Medicaid plan insurance types this contract applies.
33
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
34
+ # @return [Contracts::V2::Contract]
35
+ def initialize(contract_id:, contracting_provider:, provider_count:, effective_date:, regions:, commercial_insurance_types:, medicare_insurance_types:, medicaid_insurance_types:, payer: nil,
36
+ expiration_date: nil, contract_status: nil, authorized_signatory: nil, additional_properties: nil)
37
+ # @type [Contracts::V2::CONTRACT_ID]
38
+ @contract_id = contract_id
39
+ # @type [OrganizationProviders::V2::OrganizationProvider] The provider under contract
40
+ @contracting_provider = contracting_provider
41
+ # @type [Integer] The number of linked providers who can render medical services under this contract
42
+ @provider_count = provider_count
43
+ # @type [Payers::V3::Payer] The insurance company under contract
44
+ @payer = payer
45
+ # @type [Commons::DATE] The starting day upon which the contract is effective
46
+ @effective_date = effective_date
47
+ # @type [Commons::DATE] An optional end day upon which the contract expires
48
+ @expiration_date = expiration_date
49
+ # @type [Commons::Regions] The state(s) to which the contract's coverage extends.
50
+ # It may also be set to "national" for the entirety of the US.
51
+ @regions = regions
52
+ # @type [Contracts::V2::ContractStatus]
53
+ @contract_status = contract_status
54
+ # @type [Contracts::V2::AuthorizedSignatory]
55
+ @authorized_signatory = authorized_signatory
56
+ # @type [Contracts::V2::InsuranceTypes] The commercial plan insurance types this contract applies.
57
+ @commercial_insurance_types = commercial_insurance_types
58
+ # @type [Contracts::V2::InsuranceTypes] The Medicare plan insurance types this contract applies.
59
+ @medicare_insurance_types = medicare_insurance_types
60
+ # @type [Contracts::V2::InsuranceTypes] The Medicaid plan insurance types this contract applies.
61
+ @medicaid_insurance_types = medicaid_insurance_types
62
+ # @type [OpenStruct] Additional properties unmapped to the current class definition
63
+ @additional_properties = additional_properties
64
+ end
65
+
66
+ # Deserialize a JSON object to an instance of Contract
67
+ #
68
+ # @param json_object [JSON]
69
+ # @return [Contracts::V2::Contract]
70
+ def self.from_json(json_object:)
71
+ struct = JSON.parse(json_object, object_class: OpenStruct)
72
+ parsed_json = JSON.parse(json_object)
73
+ contract_id = struct.contract_id
74
+ if parsed_json["contracting_provider"].nil?
75
+ contracting_provider = nil
76
+ else
77
+ contracting_provider = parsed_json["contracting_provider"].to_json
78
+ contracting_provider = OrganizationProviders::V2::OrganizationProvider.from_json(json_object: contracting_provider)
79
+ end
80
+ provider_count = struct.provider_count
81
+ if parsed_json["payer"].nil?
82
+ payer = nil
83
+ else
84
+ payer = parsed_json["payer"].to_json
85
+ payer = Payers::V3::Payer.from_json(json_object: payer)
86
+ end
87
+ effective_date = struct.effective_date
88
+ expiration_date = struct.expiration_date
89
+ if parsed_json["regions"].nil?
90
+ regions = nil
91
+ else
92
+ regions = parsed_json["regions"].to_json
93
+ regions = Commons::Regions.from_json(json_object: regions)
94
+ end
95
+ contract_status = struct.contract_status
96
+ if parsed_json["authorized_signatory"].nil?
97
+ authorized_signatory = nil
98
+ else
99
+ authorized_signatory = parsed_json["authorized_signatory"].to_json
100
+ authorized_signatory = Contracts::V2::AuthorizedSignatory.from_json(json_object: authorized_signatory)
101
+ end
102
+ if parsed_json["commercial_insurance_types"].nil?
103
+ commercial_insurance_types = nil
104
+ else
105
+ commercial_insurance_types = parsed_json["commercial_insurance_types"].to_json
106
+ commercial_insurance_types = Contracts::V2::InsuranceTypes.from_json(json_object: commercial_insurance_types)
107
+ end
108
+ if parsed_json["medicare_insurance_types"].nil?
109
+ medicare_insurance_types = nil
110
+ else
111
+ medicare_insurance_types = parsed_json["medicare_insurance_types"].to_json
112
+ medicare_insurance_types = Contracts::V2::InsuranceTypes.from_json(json_object: medicare_insurance_types)
113
+ end
114
+ if parsed_json["medicaid_insurance_types"].nil?
115
+ medicaid_insurance_types = nil
116
+ else
117
+ medicaid_insurance_types = parsed_json["medicaid_insurance_types"].to_json
118
+ medicaid_insurance_types = Contracts::V2::InsuranceTypes.from_json(json_object: medicaid_insurance_types)
119
+ end
120
+ new(contract_id: contract_id, contracting_provider: contracting_provider, provider_count: provider_count,
121
+ payer: payer, effective_date: effective_date, expiration_date: expiration_date, regions: regions, contract_status: contract_status, authorized_signatory: authorized_signatory, commercial_insurance_types: commercial_insurance_types, medicare_insurance_types: medicare_insurance_types, medicaid_insurance_types: medicaid_insurance_types, additional_properties: struct)
122
+ end
123
+
124
+ # Serialize an instance of Contract to a JSON object
125
+ #
126
+ # @return [JSON]
127
+ def to_json(*_args)
128
+ {
129
+ "contract_id": @contract_id,
130
+ "contracting_provider": @contracting_provider,
131
+ "provider_count": @provider_count,
132
+ "payer": @payer,
133
+ "effective_date": @effective_date,
134
+ "expiration_date": @expiration_date,
135
+ "regions": @regions,
136
+ "contract_status": @contract_status,
137
+ "authorized_signatory": @authorized_signatory,
138
+ "commercial_insurance_types": @commercial_insurance_types,
139
+ "medicare_insurance_types": @medicare_insurance_types,
140
+ "medicaid_insurance_types": @medicaid_insurance_types
141
+ }.to_json
142
+ end
143
+
144
+ # 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.
145
+ #
146
+ # @param obj [Object]
147
+ # @return [Void]
148
+ def self.validate_raw(obj:)
149
+ obj.contract_id.is_a?(String) != false || raise("Passed value for field obj.contract_id is not the expected type, validation failed.")
150
+ OrganizationProviders::V2::OrganizationProvider.validate_raw(obj: obj.contracting_provider)
151
+ obj.provider_count.is_a?(Integer) != false || raise("Passed value for field obj.provider_count is not the expected type, validation failed.")
152
+ obj.payer.nil? || Payers::V3::Payer.validate_raw(obj: obj.payer)
153
+ obj.effective_date.is_a?(String) != false || raise("Passed value for field obj.effective_date is not the expected type, validation failed.")
154
+ obj.expiration_date&.is_a?(String) != false || raise("Passed value for field obj.expiration_date is not the expected type, validation failed.")
155
+ Commons::Regions.validate_raw(obj: obj.regions)
156
+ obj.contract_status&.is_a?(Contracts::V2::ContractStatus) != false || raise("Passed value for field obj.contract_status is not the expected type, validation failed.")
157
+ obj.authorized_signatory.nil? || Contracts::V2::AuthorizedSignatory.validate_raw(obj: obj.authorized_signatory)
158
+ Contracts::V2::InsuranceTypes.validate_raw(obj: obj.commercial_insurance_types)
159
+ Contracts::V2::InsuranceTypes.validate_raw(obj: obj.medicare_insurance_types)
160
+ Contracts::V2::InsuranceTypes.validate_raw(obj: obj.medicaid_insurance_types)
161
+ end
162
+ end
163
+ end
164
+ end
165
+ end
@@ -0,0 +1,128 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../../../commons/types/date"
4
+ require_relative "../../../commons/types/regions"
5
+ require_relative "contract_status"
6
+ require_relative "authorized_signatory"
7
+ require_relative "insurance_types"
8
+ require "json"
9
+
10
+ module CandidApiClient
11
+ module Contracts
12
+ module V2
13
+ class ContractBase
14
+ attr_reader :effective_date, :expiration_date, :regions, :contract_status, :authorized_signatory,
15
+ :commercial_insurance_types, :medicare_insurance_types, :medicaid_insurance_types, :additional_properties
16
+
17
+ # @param effective_date [Commons::DATE] The starting day upon which the contract is effective
18
+ # @param expiration_date [Commons::DATE] An optional end day upon which the contract expires
19
+ # @param regions [Commons::Regions] The state(s) to which the contract's coverage extends.
20
+ # It may also be set to "national" for the entirety of the US.
21
+ # @param contract_status [Contracts::V2::ContractStatus]
22
+ # @param authorized_signatory [Contracts::V2::AuthorizedSignatory]
23
+ # @param commercial_insurance_types [Contracts::V2::InsuranceTypes] The commercial plan insurance types this contract applies.
24
+ # @param medicare_insurance_types [Contracts::V2::InsuranceTypes] The Medicare plan insurance types this contract applies.
25
+ # @param medicaid_insurance_types [Contracts::V2::InsuranceTypes] The Medicaid plan insurance types this contract applies.
26
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
27
+ # @return [Contracts::V2::ContractBase]
28
+ def initialize(effective_date:, regions:, commercial_insurance_types:, medicare_insurance_types:, medicaid_insurance_types:, expiration_date: nil, contract_status: nil,
29
+ authorized_signatory: nil, additional_properties: nil)
30
+ # @type [Commons::DATE] The starting day upon which the contract is effective
31
+ @effective_date = effective_date
32
+ # @type [Commons::DATE] An optional end day upon which the contract expires
33
+ @expiration_date = expiration_date
34
+ # @type [Commons::Regions] The state(s) to which the contract's coverage extends.
35
+ # It may also be set to "national" for the entirety of the US.
36
+ @regions = regions
37
+ # @type [Contracts::V2::ContractStatus]
38
+ @contract_status = contract_status
39
+ # @type [Contracts::V2::AuthorizedSignatory]
40
+ @authorized_signatory = authorized_signatory
41
+ # @type [Contracts::V2::InsuranceTypes] The commercial plan insurance types this contract applies.
42
+ @commercial_insurance_types = commercial_insurance_types
43
+ # @type [Contracts::V2::InsuranceTypes] The Medicare plan insurance types this contract applies.
44
+ @medicare_insurance_types = medicare_insurance_types
45
+ # @type [Contracts::V2::InsuranceTypes] The Medicaid plan insurance types this contract applies.
46
+ @medicaid_insurance_types = medicaid_insurance_types
47
+ # @type [OpenStruct] Additional properties unmapped to the current class definition
48
+ @additional_properties = additional_properties
49
+ end
50
+
51
+ # Deserialize a JSON object to an instance of ContractBase
52
+ #
53
+ # @param json_object [JSON]
54
+ # @return [Contracts::V2::ContractBase]
55
+ def self.from_json(json_object:)
56
+ struct = JSON.parse(json_object, object_class: OpenStruct)
57
+ parsed_json = JSON.parse(json_object)
58
+ effective_date = struct.effective_date
59
+ expiration_date = struct.expiration_date
60
+ if parsed_json["regions"].nil?
61
+ regions = nil
62
+ else
63
+ regions = parsed_json["regions"].to_json
64
+ regions = Commons::Regions.from_json(json_object: regions)
65
+ end
66
+ contract_status = struct.contract_status
67
+ if parsed_json["authorized_signatory"].nil?
68
+ authorized_signatory = nil
69
+ else
70
+ authorized_signatory = parsed_json["authorized_signatory"].to_json
71
+ authorized_signatory = Contracts::V2::AuthorizedSignatory.from_json(json_object: authorized_signatory)
72
+ end
73
+ if parsed_json["commercial_insurance_types"].nil?
74
+ commercial_insurance_types = nil
75
+ else
76
+ commercial_insurance_types = parsed_json["commercial_insurance_types"].to_json
77
+ commercial_insurance_types = Contracts::V2::InsuranceTypes.from_json(json_object: commercial_insurance_types)
78
+ end
79
+ if parsed_json["medicare_insurance_types"].nil?
80
+ medicare_insurance_types = nil
81
+ else
82
+ medicare_insurance_types = parsed_json["medicare_insurance_types"].to_json
83
+ medicare_insurance_types = Contracts::V2::InsuranceTypes.from_json(json_object: medicare_insurance_types)
84
+ end
85
+ if parsed_json["medicaid_insurance_types"].nil?
86
+ medicaid_insurance_types = nil
87
+ else
88
+ medicaid_insurance_types = parsed_json["medicaid_insurance_types"].to_json
89
+ medicaid_insurance_types = Contracts::V2::InsuranceTypes.from_json(json_object: medicaid_insurance_types)
90
+ end
91
+ new(effective_date: effective_date, expiration_date: expiration_date, regions: regions,
92
+ contract_status: contract_status, authorized_signatory: authorized_signatory, commercial_insurance_types: commercial_insurance_types, medicare_insurance_types: medicare_insurance_types, medicaid_insurance_types: medicaid_insurance_types, additional_properties: struct)
93
+ end
94
+
95
+ # Serialize an instance of ContractBase to a JSON object
96
+ #
97
+ # @return [JSON]
98
+ def to_json(*_args)
99
+ {
100
+ "effective_date": @effective_date,
101
+ "expiration_date": @expiration_date,
102
+ "regions": @regions,
103
+ "contract_status": @contract_status,
104
+ "authorized_signatory": @authorized_signatory,
105
+ "commercial_insurance_types": @commercial_insurance_types,
106
+ "medicare_insurance_types": @medicare_insurance_types,
107
+ "medicaid_insurance_types": @medicaid_insurance_types
108
+ }.to_json
109
+ end
110
+
111
+ # 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.
112
+ #
113
+ # @param obj [Object]
114
+ # @return [Void]
115
+ def self.validate_raw(obj:)
116
+ obj.effective_date.is_a?(String) != false || raise("Passed value for field obj.effective_date is not the expected type, validation failed.")
117
+ obj.expiration_date&.is_a?(String) != false || raise("Passed value for field obj.expiration_date is not the expected type, validation failed.")
118
+ Commons::Regions.validate_raw(obj: obj.regions)
119
+ obj.contract_status&.is_a?(Contracts::V2::ContractStatus) != false || raise("Passed value for field obj.contract_status is not the expected type, validation failed.")
120
+ obj.authorized_signatory.nil? || Contracts::V2::AuthorizedSignatory.validate_raw(obj: obj.authorized_signatory)
121
+ Contracts::V2::InsuranceTypes.validate_raw(obj: obj.commercial_insurance_types)
122
+ Contracts::V2::InsuranceTypes.validate_raw(obj: obj.medicare_insurance_types)
123
+ Contracts::V2::InsuranceTypes.validate_raw(obj: obj.medicaid_insurance_types)
124
+ end
125
+ end
126
+ end
127
+ end
128
+ end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CandidApiClient
4
+ module Contracts
5
+ module V2
6
+ CONTRACT_ID = String
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,49 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "json"
4
+
5
+ module CandidApiClient
6
+ module Contracts
7
+ module V2
8
+ class ContractIsLinkedToFeeScheduleError
9
+ attr_reader :message, :additional_properties
10
+
11
+ # @param message [String]
12
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
13
+ # @return [Contracts::V2::ContractIsLinkedToFeeScheduleError]
14
+ def initialize(message:, additional_properties: nil)
15
+ # @type [String]
16
+ @message = message
17
+ # @type [OpenStruct] Additional properties unmapped to the current class definition
18
+ @additional_properties = additional_properties
19
+ end
20
+
21
+ # Deserialize a JSON object to an instance of ContractIsLinkedToFeeScheduleError
22
+ #
23
+ # @param json_object [JSON]
24
+ # @return [Contracts::V2::ContractIsLinkedToFeeScheduleError]
25
+ def self.from_json(json_object:)
26
+ struct = JSON.parse(json_object, object_class: OpenStruct)
27
+ JSON.parse(json_object)
28
+ message = struct.message
29
+ new(message: message, additional_properties: struct)
30
+ end
31
+
32
+ # Serialize an instance of ContractIsLinkedToFeeScheduleError to a JSON object
33
+ #
34
+ # @return [JSON]
35
+ def to_json(*_args)
36
+ { "message": @message }.to_json
37
+ end
38
+
39
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given hash and check each fields type against the current object's property definitions.
40
+ #
41
+ # @param obj [Object]
42
+ # @return [Void]
43
+ def self.validate_raw(obj:)
44
+ obj.message.is_a?(String) != false || raise("Passed value for field obj.message is not the expected type, validation failed.")
45
+ end
46
+ end
47
+ end
48
+ end
49
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CandidApiClient
4
+ module Contracts
5
+ module V2
6
+ class ContractStatus
7
+ PENDING = "pending"
8
+ EFFECTIVE = "effective"
9
+ CANCELLED = "cancelled"
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,177 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "set"
4
+ require_relative "contract_id"
5
+ require_relative "../../../organization_providers/v_2/types/organization_provider"
6
+ require_relative "../../../payers/v_3/types/payer"
7
+ require_relative "../../../commons/types/date"
8
+ require_relative "../../../commons/types/regions"
9
+ require_relative "contract_status"
10
+ require_relative "authorized_signatory"
11
+ require_relative "insurance_types"
12
+ require "json"
13
+
14
+ module CandidApiClient
15
+ module Contracts
16
+ module V2
17
+ class ContractWithProviders
18
+ attr_reader :rendering_provider_ids, :contract_id, :contracting_provider, :provider_count, :payer,
19
+ :effective_date, :expiration_date, :regions, :contract_status, :authorized_signatory, :commercial_insurance_types, :medicare_insurance_types, :medicaid_insurance_types, :additional_properties
20
+
21
+ # @param rendering_provider_ids [Set<String>] The providers who can render medical services under the contract
22
+ # @param contract_id [Contracts::V2::CONTRACT_ID]
23
+ # @param contracting_provider [OrganizationProviders::V2::OrganizationProvider] The provider under contract
24
+ # @param provider_count [Integer] The number of linked providers who can render medical services under this contract
25
+ # @param payer [Payers::V3::Payer] The insurance company under contract
26
+ # @param effective_date [Commons::DATE] The starting day upon which the contract is effective
27
+ # @param expiration_date [Commons::DATE] An optional end day upon which the contract expires
28
+ # @param regions [Commons::Regions] The state(s) to which the contract's coverage extends.
29
+ # It may also be set to "national" for the entirety of the US.
30
+ # @param contract_status [Contracts::V2::ContractStatus]
31
+ # @param authorized_signatory [Contracts::V2::AuthorizedSignatory]
32
+ # @param commercial_insurance_types [Contracts::V2::InsuranceTypes] The commercial plan insurance types this contract applies.
33
+ # @param medicare_insurance_types [Contracts::V2::InsuranceTypes] The Medicare plan insurance types this contract applies.
34
+ # @param medicaid_insurance_types [Contracts::V2::InsuranceTypes] The Medicaid plan insurance types this contract applies.
35
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
36
+ # @return [Contracts::V2::ContractWithProviders]
37
+ def initialize(rendering_provider_ids:, contract_id:, contracting_provider:, provider_count:, effective_date:,
38
+ regions:, commercial_insurance_types:, medicare_insurance_types:, medicaid_insurance_types:, payer: nil, expiration_date: nil, contract_status: nil, authorized_signatory: nil, additional_properties: nil)
39
+ # @type [Set<String>] The providers who can render medical services under the contract
40
+ @rendering_provider_ids = rendering_provider_ids
41
+ # @type [Contracts::V2::CONTRACT_ID]
42
+ @contract_id = contract_id
43
+ # @type [OrganizationProviders::V2::OrganizationProvider] The provider under contract
44
+ @contracting_provider = contracting_provider
45
+ # @type [Integer] The number of linked providers who can render medical services under this contract
46
+ @provider_count = provider_count
47
+ # @type [Payers::V3::Payer] The insurance company under contract
48
+ @payer = payer
49
+ # @type [Commons::DATE] The starting day upon which the contract is effective
50
+ @effective_date = effective_date
51
+ # @type [Commons::DATE] An optional end day upon which the contract expires
52
+ @expiration_date = expiration_date
53
+ # @type [Commons::Regions] The state(s) to which the contract's coverage extends.
54
+ # It may also be set to "national" for the entirety of the US.
55
+ @regions = regions
56
+ # @type [Contracts::V2::ContractStatus]
57
+ @contract_status = contract_status
58
+ # @type [Contracts::V2::AuthorizedSignatory]
59
+ @authorized_signatory = authorized_signatory
60
+ # @type [Contracts::V2::InsuranceTypes] The commercial plan insurance types this contract applies.
61
+ @commercial_insurance_types = commercial_insurance_types
62
+ # @type [Contracts::V2::InsuranceTypes] The Medicare plan insurance types this contract applies.
63
+ @medicare_insurance_types = medicare_insurance_types
64
+ # @type [Contracts::V2::InsuranceTypes] The Medicaid plan insurance types this contract applies.
65
+ @medicaid_insurance_types = medicaid_insurance_types
66
+ # @type [OpenStruct] Additional properties unmapped to the current class definition
67
+ @additional_properties = additional_properties
68
+ end
69
+
70
+ # Deserialize a JSON object to an instance of ContractWithProviders
71
+ #
72
+ # @param json_object [JSON]
73
+ # @return [Contracts::V2::ContractWithProviders]
74
+ def self.from_json(json_object:)
75
+ struct = JSON.parse(json_object, object_class: OpenStruct)
76
+ parsed_json = JSON.parse(json_object)
77
+ if parsed_json["rendering_provider_ids"].nil?
78
+ rendering_provider_ids = nil
79
+ else
80
+ rendering_provider_ids = parsed_json["rendering_provider_ids"].to_json
81
+ rendering_provider_ids = Set.new(rendering_provider_ids)
82
+ end
83
+ contract_id = struct.contract_id
84
+ if parsed_json["contracting_provider"].nil?
85
+ contracting_provider = nil
86
+ else
87
+ contracting_provider = parsed_json["contracting_provider"].to_json
88
+ contracting_provider = OrganizationProviders::V2::OrganizationProvider.from_json(json_object: contracting_provider)
89
+ end
90
+ provider_count = struct.provider_count
91
+ if parsed_json["payer"].nil?
92
+ payer = nil
93
+ else
94
+ payer = parsed_json["payer"].to_json
95
+ payer = Payers::V3::Payer.from_json(json_object: payer)
96
+ end
97
+ effective_date = struct.effective_date
98
+ expiration_date = struct.expiration_date
99
+ if parsed_json["regions"].nil?
100
+ regions = nil
101
+ else
102
+ regions = parsed_json["regions"].to_json
103
+ regions = Commons::Regions.from_json(json_object: regions)
104
+ end
105
+ contract_status = struct.contract_status
106
+ if parsed_json["authorized_signatory"].nil?
107
+ authorized_signatory = nil
108
+ else
109
+ authorized_signatory = parsed_json["authorized_signatory"].to_json
110
+ authorized_signatory = Contracts::V2::AuthorizedSignatory.from_json(json_object: authorized_signatory)
111
+ end
112
+ if parsed_json["commercial_insurance_types"].nil?
113
+ commercial_insurance_types = nil
114
+ else
115
+ commercial_insurance_types = parsed_json["commercial_insurance_types"].to_json
116
+ commercial_insurance_types = Contracts::V2::InsuranceTypes.from_json(json_object: commercial_insurance_types)
117
+ end
118
+ if parsed_json["medicare_insurance_types"].nil?
119
+ medicare_insurance_types = nil
120
+ else
121
+ medicare_insurance_types = parsed_json["medicare_insurance_types"].to_json
122
+ medicare_insurance_types = Contracts::V2::InsuranceTypes.from_json(json_object: medicare_insurance_types)
123
+ end
124
+ if parsed_json["medicaid_insurance_types"].nil?
125
+ medicaid_insurance_types = nil
126
+ else
127
+ medicaid_insurance_types = parsed_json["medicaid_insurance_types"].to_json
128
+ medicaid_insurance_types = Contracts::V2::InsuranceTypes.from_json(json_object: medicaid_insurance_types)
129
+ end
130
+ new(rendering_provider_ids: rendering_provider_ids, contract_id: contract_id,
131
+ contracting_provider: contracting_provider, provider_count: provider_count, payer: payer, effective_date: effective_date, expiration_date: expiration_date, regions: regions, contract_status: contract_status, authorized_signatory: authorized_signatory, commercial_insurance_types: commercial_insurance_types, medicare_insurance_types: medicare_insurance_types, medicaid_insurance_types: medicaid_insurance_types, additional_properties: struct)
132
+ end
133
+
134
+ # Serialize an instance of ContractWithProviders to a JSON object
135
+ #
136
+ # @return [JSON]
137
+ def to_json(*_args)
138
+ {
139
+ "rendering_provider_ids": @rendering_provider_ids,
140
+ "contract_id": @contract_id,
141
+ "contracting_provider": @contracting_provider,
142
+ "provider_count": @provider_count,
143
+ "payer": @payer,
144
+ "effective_date": @effective_date,
145
+ "expiration_date": @expiration_date,
146
+ "regions": @regions,
147
+ "contract_status": @contract_status,
148
+ "authorized_signatory": @authorized_signatory,
149
+ "commercial_insurance_types": @commercial_insurance_types,
150
+ "medicare_insurance_types": @medicare_insurance_types,
151
+ "medicaid_insurance_types": @medicaid_insurance_types
152
+ }.to_json
153
+ end
154
+
155
+ # 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.
156
+ #
157
+ # @param obj [Object]
158
+ # @return [Void]
159
+ def self.validate_raw(obj:)
160
+ obj.rendering_provider_ids.is_a?(Set) != false || raise("Passed value for field obj.rendering_provider_ids is not the expected type, validation failed.")
161
+ obj.contract_id.is_a?(String) != false || raise("Passed value for field obj.contract_id is not the expected type, validation failed.")
162
+ OrganizationProviders::V2::OrganizationProvider.validate_raw(obj: obj.contracting_provider)
163
+ obj.provider_count.is_a?(Integer) != false || raise("Passed value for field obj.provider_count is not the expected type, validation failed.")
164
+ obj.payer.nil? || Payers::V3::Payer.validate_raw(obj: obj.payer)
165
+ obj.effective_date.is_a?(String) != false || raise("Passed value for field obj.effective_date is not the expected type, validation failed.")
166
+ obj.expiration_date&.is_a?(String) != false || raise("Passed value for field obj.expiration_date is not the expected type, validation failed.")
167
+ Commons::Regions.validate_raw(obj: obj.regions)
168
+ obj.contract_status&.is_a?(Contracts::V2::ContractStatus) != false || raise("Passed value for field obj.contract_status is not the expected type, validation failed.")
169
+ obj.authorized_signatory.nil? || Contracts::V2::AuthorizedSignatory.validate_raw(obj: obj.authorized_signatory)
170
+ Contracts::V2::InsuranceTypes.validate_raw(obj: obj.commercial_insurance_types)
171
+ Contracts::V2::InsuranceTypes.validate_raw(obj: obj.medicare_insurance_types)
172
+ Contracts::V2::InsuranceTypes.validate_raw(obj: obj.medicaid_insurance_types)
173
+ end
174
+ end
175
+ end
176
+ end
177
+ end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CandidApiClient
4
+ module Contracts
5
+ module V2
6
+ CONTRACTING_PROVIDER_ID = String
7
+ end
8
+ end
9
+ end