candidhealth 0.21.0 → 0.24.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (439) hide show
  1. checksums.yaml +4 -4
  2. data/lib/candidhealth/auth/client.rb +8 -6
  3. data/lib/candidhealth/auth/v_2/client.rb +86 -38
  4. data/lib/candidhealth/auth/v_2/types/auth_get_token_response.rb +61 -43
  5. data/lib/candidhealth/auth/v_2/types/too_many_requests_error_type.rb +44 -33
  6. data/lib/candidhealth/billing_notes/client.rb +8 -6
  7. data/lib/candidhealth/billing_notes/v_2/client.rb +43 -21
  8. data/lib/candidhealth/billing_notes/v_2/types/billing_note.rb +95 -72
  9. data/lib/candidhealth/billing_notes/v_2/types/billing_note_base.rb +44 -33
  10. data/lib/candidhealth/claim_submission/v_1/types/claim_frequency_type_code.rb +6 -4
  11. data/lib/candidhealth/claim_submission/v_1/types/claim_submission_record_create.rb +80 -59
  12. data/lib/candidhealth/claim_submission/v_1/types/external_claim_submission_create.rb +78 -56
  13. data/lib/candidhealth/claims/types/claim.rb +114 -86
  14. data/lib/candidhealth/claims/types/claim_status.rb +19 -17
  15. data/lib/candidhealth/commons/types/claim_adjustment_group_codes.rb +14 -12
  16. data/lib/candidhealth/commons/types/claim_submission_payer_responsibility_type.rb +6 -4
  17. data/lib/candidhealth/commons/types/date_range_optional_end.rb +57 -40
  18. data/lib/candidhealth/commons/types/delay_reason_code.rb +19 -17
  19. data/lib/candidhealth/commons/types/emr_payer_crosswalk.rb +6 -4
  20. data/lib/candidhealth/commons/types/entity_conflict_error_message.rb +45 -34
  21. data/lib/candidhealth/commons/types/entity_not_found_error_message.rb +45 -34
  22. data/lib/candidhealth/commons/types/facility_type_code.rb +58 -55
  23. data/lib/candidhealth/commons/types/http_service_unavailable_error_message.rb +47 -34
  24. data/lib/candidhealth/commons/types/insurance_type_code.rb +76 -73
  25. data/lib/candidhealth/commons/types/intended_submission_medium.rb +9 -5
  26. data/lib/candidhealth/commons/types/network_type.rb +23 -21
  27. data/lib/candidhealth/commons/types/organization_not_authorized_error_message.rb +46 -34
  28. data/lib/candidhealth/commons/types/patient_relationship_to_insured_code_all.rb +28 -26
  29. data/lib/candidhealth/commons/types/phone_number.rb +55 -39
  30. data/lib/candidhealth/commons/types/phone_number_type.rb +7 -5
  31. data/lib/candidhealth/commons/types/procedure_modifier.rb +391 -389
  32. data/lib/candidhealth/commons/types/qualifier_code.rb +14 -0
  33. data/lib/candidhealth/commons/types/region_national.rb +39 -29
  34. data/lib/candidhealth/commons/types/region_states.rb +45 -34
  35. data/lib/candidhealth/commons/types/regions.rb +78 -72
  36. data/lib/candidhealth/commons/types/removable_date_range_optional_end.rb +77 -71
  37. data/lib/candidhealth/commons/types/request_validation_error.rb +57 -39
  38. data/lib/candidhealth/commons/types/resource_page.rb +57 -40
  39. data/lib/candidhealth/commons/types/service_line_units.rb +6 -4
  40. data/lib/candidhealth/commons/types/sort_direction.rb +6 -4
  41. data/lib/candidhealth/commons/types/source_of_payment_code.rb +28 -26
  42. data/lib/candidhealth/commons/types/state.rb +66 -64
  43. data/lib/candidhealth/commons/types/street_address_base.rb +84 -61
  44. data/lib/candidhealth/commons/types/street_address_long_zip.rb +93 -68
  45. data/lib/candidhealth/commons/types/street_address_short_zip.rb +93 -68
  46. data/lib/candidhealth/commons/types/unauthorized_error_message.rb +47 -34
  47. data/lib/candidhealth/commons/types/unprocessable_entity_error_message.rb +47 -34
  48. data/lib/candidhealth/commons/types/updates_disabled_due_to_external_system_integration_error_message.rb +49 -34
  49. data/lib/candidhealth/contracts/client.rb +8 -6
  50. data/lib/candidhealth/contracts/v_2/client.rb +251 -127
  51. data/lib/candidhealth/contracts/v_2/types/authorized_signatory.rb +92 -67
  52. data/lib/candidhealth/contracts/v_2/types/authorized_signatory_update.rb +76 -70
  53. data/lib/candidhealth/contracts/v_2/types/contract.rb +178 -141
  54. data/lib/candidhealth/contracts/v_2/types/contract_base.rb +134 -106
  55. data/lib/candidhealth/contracts/v_2/types/contract_is_linked_to_fee_schedule_error.rb +44 -33
  56. data/lib/candidhealth/contracts/v_2/types/contract_status.rb +6 -4
  57. data/lib/candidhealth/contracts/v_2/types/contract_with_providers.rb +191 -152
  58. data/lib/candidhealth/contracts/v_2/types/contracts_page.rb +70 -47
  59. data/lib/candidhealth/contracts/v_2/types/date_update.rb +76 -71
  60. data/lib/candidhealth/contracts/v_2/types/insurance_types.rb +86 -80
  61. data/lib/candidhealth/contracts/v_2/types/regions_update.rb +76 -70
  62. data/lib/candidhealth/diagnoses/types/diagnosis.rb +126 -91
  63. data/lib/candidhealth/diagnoses/types/diagnosis_create.rb +88 -58
  64. data/lib/candidhealth/diagnoses/types/diagnosis_type_code.rb +14 -12
  65. data/lib/candidhealth/diagnoses/types/standalone_diagnosis_create.rb +100 -64
  66. data/lib/candidhealth/eligibility/client.rb +8 -6
  67. data/lib/candidhealth/eligibility/v_2/client.rb +210 -124
  68. data/lib/candidhealth/encounter_providers/v_2/types/billing_provider.rb +126 -86
  69. data/lib/candidhealth/encounter_providers/v_2/types/encounter_provider.rb +128 -85
  70. data/lib/candidhealth/encounter_providers/v_2/types/encounter_provider_base.rb +73 -44
  71. data/lib/candidhealth/encounter_providers/v_2/types/initial_referring_provider.rb +132 -0
  72. data/lib/candidhealth/encounter_providers/v_2/types/ordering_provider.rb +123 -0
  73. data/lib/candidhealth/encounter_providers/v_2/types/referring_provider.rb +105 -73
  74. data/lib/candidhealth/encounter_providers/v_2/types/rendering_provider.rb +105 -73
  75. data/lib/candidhealth/encounter_providers/v_2/types/supervising_provider.rb +123 -0
  76. data/lib/candidhealth/encounters/client.rb +8 -6
  77. data/lib/candidhealth/encounters/v_4/client.rb +1021 -476
  78. data/lib/candidhealth/encounters/v_4/types/billable_status_type.rb +5 -3
  79. data/lib/candidhealth/encounters/v_4/types/cash_pay_payer_error_message.rb +44 -33
  80. data/lib/candidhealth/encounters/v_4/types/clinical_note.rb +76 -50
  81. data/lib/candidhealth/encounters/v_4/types/clinical_note_category.rb +70 -45
  82. data/lib/candidhealth/encounters/v_4/types/clinical_note_category_create.rb +57 -40
  83. data/lib/candidhealth/encounters/v_4/types/coding_attribution_type.rb +7 -5
  84. data/lib/candidhealth/encounters/v_4/types/encounter.rb +719 -482
  85. data/lib/candidhealth/encounters/v_4/types/encounter_base.rb +304 -223
  86. data/lib/candidhealth/encounters/v_4/types/encounter_external_id_uniqueness_error_type.rb +47 -34
  87. data/lib/candidhealth/encounters/v_4/types/encounter_guarantor_missing_contact_info_error_type.rb +46 -33
  88. data/lib/candidhealth/encounters/v_4/types/encounter_owner_of_next_action_type.rb +7 -5
  89. data/lib/candidhealth/encounters/v_4/types/encounter_page.rb +70 -47
  90. data/lib/candidhealth/encounters/v_4/types/encounter_patient_control_number_uniqueness_error_type.rb +46 -33
  91. data/lib/candidhealth/encounters/v_4/types/encounter_sort_options.rb +7 -5
  92. data/lib/candidhealth/encounters/v_4/types/encounter_submission_origin_type.rb +5 -3
  93. data/lib/candidhealth/encounters/v_4/types/intake_follow_up.rb +63 -44
  94. data/lib/candidhealth/encounters/v_4/types/intake_question.rb +66 -46
  95. data/lib/candidhealth/encounters/v_4/types/intake_response_and_follow_ups.rb +59 -40
  96. data/lib/candidhealth/encounters/v_4/types/intervention.rb +92 -66
  97. data/lib/candidhealth/encounters/v_4/types/intervention_category.rb +7 -5
  98. data/lib/candidhealth/encounters/v_4/types/lab.rb +63 -43
  99. data/lib/candidhealth/encounters/v_4/types/lab_code_type.rb +5 -3
  100. data/lib/candidhealth/encounters/v_4/types/medication.rb +92 -68
  101. data/lib/candidhealth/encounters/v_4/types/note_category.rb +17 -15
  102. data/lib/candidhealth/encounters/v_4/types/patient_history_category.rb +57 -40
  103. data/lib/candidhealth/encounters/v_4/types/patient_history_category_enum.rb +7 -5
  104. data/lib/candidhealth/encounters/v_4/types/responsible_party_type.rb +6 -4
  105. data/lib/candidhealth/encounters/v_4/types/service_authorization_exception_code.rb +14 -10
  106. data/lib/candidhealth/encounters/v_4/types/synchronicity_type.rb +5 -3
  107. data/lib/candidhealth/encounters/v_4/types/vitals.rb +84 -62
  108. data/lib/candidhealth/era/types/era.rb +62 -46
  109. data/lib/candidhealth/era/types/era_base.rb +55 -40
  110. data/lib/candidhealth/era/types/era_not_fully_processed_error_message.rb +55 -40
  111. data/lib/candidhealth/era_commons/types/claim_status_code_create.rb +14 -12
  112. data/lib/candidhealth/expected_network_status/client.rb +16 -10
  113. data/lib/candidhealth/expected_network_status/v_1/client.rb +76 -29
  114. data/lib/candidhealth/expected_network_status/v_1/types/expected_network_status.rb +6 -4
  115. data/lib/candidhealth/expected_network_status/v_1/types/expected_network_status_response.rb +69 -49
  116. data/lib/candidhealth/expected_network_status/v_2/client.rb +108 -69
  117. data/lib/candidhealth/expected_network_status/v_2/types/compute_all_in_network_providers_request.rb +129 -96
  118. data/lib/candidhealth/expected_network_status/v_2/types/compute_all_in_network_providers_response.rb +62 -47
  119. data/lib/candidhealth/expected_network_status/v_2/types/compute_all_in_network_rendering_providers_result.rb +89 -82
  120. data/lib/candidhealth/expected_network_status/v_2/types/expected_network_status_check_error_message.rb +45 -33
  121. data/lib/candidhealth/expected_network_status/v_2/types/expected_network_status_request_v_2.rb +129 -96
  122. data/lib/candidhealth/expected_network_status/v_2/types/expected_network_status_response_v_2.rb +59 -44
  123. data/lib/candidhealth/expected_network_status/v_2/types/expected_network_status_subscriber_information.rb +68 -49
  124. data/lib/candidhealth/expected_network_status/v_2/types/expected_network_status_v_2.rb +88 -82
  125. data/lib/candidhealth/expected_network_status/v_2/types/explanation.rb +11 -9
  126. data/lib/candidhealth/expected_network_status/v_2/types/in_network_rendering_providers_detail.rb +66 -51
  127. data/lib/candidhealth/expected_network_status/v_2/types/in_network_status.rb +57 -41
  128. data/lib/candidhealth/expected_network_status/v_2/types/indeterminate_network_status.rb +76 -57
  129. data/lib/candidhealth/expected_network_status/v_2/types/insurance_type.rb +59 -43
  130. data/lib/candidhealth/expected_network_status/v_2/types/insurance_type_codes.rb +86 -80
  131. data/lib/candidhealth/expected_network_status/v_2/types/line_of_business.rb +6 -4
  132. data/lib/candidhealth/expected_network_status/v_2/types/out_of_network_status.rb +65 -50
  133. data/lib/candidhealth/expected_network_status/v_2/types/service_type.rb +44 -42
  134. data/lib/candidhealth/exports/client.rb +8 -6
  135. data/lib/candidhealth/exports/v_3/client.rb +88 -48
  136. data/lib/candidhealth/exports/v_3/types/get_exports_response.rb +79 -58
  137. data/lib/candidhealth/external_payment_account_config/client.rb +30 -0
  138. data/lib/candidhealth/external_payment_account_config/v_1/client.rb +89 -0
  139. data/lib/candidhealth/external_payment_account_config/v_1/types/external_payment_account_config.rb +70 -0
  140. data/lib/candidhealth/external_payment_account_config/v_1/types/external_payment_account_config_page.rb +88 -0
  141. data/lib/candidhealth/fee_schedules/client.rb +8 -6
  142. data/lib/candidhealth/fee_schedules/v_3/client.rb +429 -181
  143. data/lib/candidhealth/fee_schedules/v_3/types/dimension_match.rb +159 -130
  144. data/lib/candidhealth/fee_schedules/v_3/types/dimension_name.rb +7 -5
  145. data/lib/candidhealth/fee_schedules/v_3/types/dimensions.rb +146 -117
  146. data/lib/candidhealth/fee_schedules/v_3/types/dimensions_page.rb +70 -51
  147. data/lib/candidhealth/fee_schedules/v_3/types/match_cpt_code.rb +62 -44
  148. data/lib/candidhealth/fee_schedules/v_3/types/match_date.rb +65 -44
  149. data/lib/candidhealth/fee_schedules/v_3/types/match_facility_type_code.rb +64 -44
  150. data/lib/candidhealth/fee_schedules/v_3/types/match_geo.rb +76 -49
  151. data/lib/candidhealth/fee_schedules/v_3/types/match_license_type.rb +64 -44
  152. data/lib/candidhealth/fee_schedules/v_3/types/match_modifiers.rb +67 -48
  153. data/lib/candidhealth/fee_schedules/v_3/types/match_network_types.rb +67 -48
  154. data/lib/candidhealth/fee_schedules/v_3/types/match_payer.rb +62 -45
  155. data/lib/candidhealth/fee_schedules/v_3/types/match_provider.rb +64 -45
  156. data/lib/candidhealth/fee_schedules/v_3/types/match_result.rb +59 -43
  157. data/lib/candidhealth/fee_schedules/v_3/types/match_test_result.rb +63 -46
  158. data/lib/candidhealth/fee_schedules/v_3/types/new_rate.rb +61 -44
  159. data/lib/candidhealth/fee_schedules/v_3/types/new_rate_version.rb +70 -46
  160. data/lib/candidhealth/fee_schedules/v_3/types/optional_dimensions.rb +148 -117
  161. data/lib/candidhealth/fee_schedules/v_3/types/overlapping_rate_entries_error.rb +71 -52
  162. data/lib/candidhealth/fee_schedules/v_3/types/payer_threshold.rb +77 -50
  163. data/lib/candidhealth/fee_schedules/v_3/types/payer_thresholds_page.rb +70 -51
  164. data/lib/candidhealth/fee_schedules/v_3/types/rate.rb +100 -75
  165. data/lib/candidhealth/fee_schedules/v_3/types/rate_entry.rb +79 -55
  166. data/lib/candidhealth/fee_schedules/v_3/types/rate_upload.rb +77 -71
  167. data/lib/candidhealth/fee_schedules/v_3/types/rate_upload_with_possible_errors.rb +79 -55
  168. data/lib/candidhealth/fee_schedules/v_3/types/rates_page.rb +70 -47
  169. data/lib/candidhealth/fee_schedules/v_3/types/threshold_match.rb +79 -54
  170. data/lib/candidhealth/fee_schedules/v_3/types/validation_error.rb +108 -102
  171. data/lib/candidhealth/financials/types/account_type.rb +6 -4
  172. data/lib/candidhealth/financials/types/allocation.rb +60 -43
  173. data/lib/candidhealth/financials/types/allocation_create.rb +63 -45
  174. data/lib/candidhealth/financials/types/allocation_target.rb +102 -95
  175. data/lib/candidhealth/financials/types/allocation_target_create.rb +113 -110
  176. data/lib/candidhealth/financials/types/billing_provider_allocation_target.rb +45 -35
  177. data/lib/candidhealth/financials/types/claim_allocation_target.rb +55 -41
  178. data/lib/candidhealth/financials/types/invoice_update.rb +77 -72
  179. data/lib/candidhealth/financials/types/note_update.rb +77 -71
  180. data/lib/candidhealth/financials/types/patient_transaction_source.rb +11 -9
  181. data/lib/candidhealth/financials/types/refund_reason.rb +5 -3
  182. data/lib/candidhealth/financials/types/refund_reason_update.rb +77 -71
  183. data/lib/candidhealth/financials/types/service_line_allocation_target.rb +62 -48
  184. data/lib/candidhealth/guarantor/client.rb +8 -6
  185. data/lib/candidhealth/guarantor/v_1/client.rb +136 -63
  186. data/lib/candidhealth/guarantor/v_1/types/encounter_has_existing_guarantor_error_type.rb +45 -33
  187. data/lib/candidhealth/guarantor/v_1/types/guarantor.rb +131 -100
  188. data/lib/candidhealth/guarantor/v_1/types/guarantor_base.rb +89 -65
  189. data/lib/candidhealth/guarantor/v_1/types/guarantor_create.rb +123 -93
  190. data/lib/candidhealth/identifiers/types/identifier.rb +85 -64
  191. data/lib/candidhealth/identifiers/types/identifier_base.rb +77 -53
  192. data/lib/candidhealth/identifiers/types/identifier_code.rb +6 -4
  193. data/lib/candidhealth/identifiers/types/identifier_create.rb +77 -53
  194. data/lib/candidhealth/identifiers/types/identifier_update.rb +86 -65
  195. data/lib/candidhealth/identifiers/types/identifier_value.rb +78 -72
  196. data/lib/candidhealth/identifiers/types/medicaid_provider_identifier.rb +55 -39
  197. data/lib/candidhealth/identifiers/types/medicare_provider_identifier.rb +55 -39
  198. data/lib/candidhealth/identifiers/types/updatable_identifier.rb +89 -84
  199. data/lib/candidhealth/import_invoice/client.rb +8 -6
  200. data/lib/candidhealth/import_invoice/v_1/client.rb +182 -86
  201. data/lib/candidhealth/import_invoice/v_1/types/create_import_invoice_request.rb +123 -83
  202. data/lib/candidhealth/import_invoice/v_1/types/import_invoice.rb +145 -110
  203. data/lib/candidhealth/import_invoice/v_1/types/import_invoice_update_request.rb +89 -65
  204. data/lib/candidhealth/import_invoice/v_1/types/import_invoices_page.rb +70 -47
  205. data/lib/candidhealth/import_invoice/v_1/types/invoice_item_info_update.rb +61 -42
  206. data/lib/candidhealth/import_invoice/v_1/types/invoice_item_update_type.rb +5 -3
  207. data/lib/candidhealth/individual/types/gender.rb +9 -7
  208. data/lib/candidhealth/individual/types/individual_base.rb +62 -44
  209. data/lib/candidhealth/individual/types/patient.rb +145 -108
  210. data/lib/candidhealth/individual/types/patient_base.rb +101 -73
  211. data/lib/candidhealth/individual/types/patient_create.rb +137 -101
  212. data/lib/candidhealth/individual/types/subscriber.rb +119 -91
  213. data/lib/candidhealth/individual/types/subscriber_base.rb +99 -74
  214. data/lib/candidhealth/individual/types/subscriber_create.rb +111 -84
  215. data/lib/candidhealth/insurance_adjudications/client.rb +8 -6
  216. data/lib/candidhealth/insurance_adjudications/v_1/client.rb +106 -47
  217. data/lib/candidhealth/insurance_adjudications/v_1/types/claim_adjudication.rb +106 -81
  218. data/lib/candidhealth/insurance_adjudications/v_1/types/claim_adjudication_create.rb +98 -74
  219. data/lib/candidhealth/insurance_adjudications/v_1/types/insurance_adjudication.rb +104 -80
  220. data/lib/candidhealth/insurance_adjudications/v_1/types/insurance_adjudication_create.rb +113 -87
  221. data/lib/candidhealth/insurance_adjudications/v_1/types/service_line_adjudication.rb +121 -91
  222. data/lib/candidhealth/insurance_adjudications/v_1/types/service_line_adjudication_create.rb +113 -84
  223. data/lib/candidhealth/insurance_cards/v_2/types/insurance_card.rb +140 -105
  224. data/lib/candidhealth/insurance_cards/v_2/types/insurance_card_base.rb +76 -55
  225. data/lib/candidhealth/insurance_cards/v_2/types/insurance_card_create.rb +140 -104
  226. data/lib/candidhealth/insurance_payments/client.rb +8 -6
  227. data/lib/candidhealth/insurance_payments/v_1/client.rb +214 -102
  228. data/lib/candidhealth/insurance_payments/v_1/types/insurance_payment.rb +101 -77
  229. data/lib/candidhealth/insurance_payments/v_1/types/insurance_payment_create.rb +93 -70
  230. data/lib/candidhealth/insurance_payments/v_1/types/insurance_payment_sort_field.rb +6 -4
  231. data/lib/candidhealth/insurance_payments/v_1/types/insurance_payments_page.rb +70 -47
  232. data/lib/candidhealth/insurance_refunds/client.rb +8 -6
  233. data/lib/candidhealth/insurance_refunds/v_1/client.rb +218 -108
  234. data/lib/candidhealth/insurance_refunds/v_1/types/insurance_refund.rb +109 -83
  235. data/lib/candidhealth/insurance_refunds/v_1/types/insurance_refund_create.rb +101 -76
  236. data/lib/candidhealth/insurance_refunds/v_1/types/insurance_refund_sort_field.rb +7 -5
  237. data/lib/candidhealth/insurance_refunds/v_1/types/insurance_refunds_page.rb +70 -47
  238. data/lib/candidhealth/invoices/types/invoice.rb +152 -117
  239. data/lib/candidhealth/invoices/types/invoice_item.rb +55 -40
  240. data/lib/candidhealth/invoices/types/invoice_status.rb +10 -8
  241. data/lib/candidhealth/invoices/v_2/types/claim_invoice_item.rb +54 -39
  242. data/lib/candidhealth/invoices/v_2/types/claim_invoice_item_info.rb +66 -48
  243. data/lib/candidhealth/invoices/v_2/types/invoice.rb +151 -114
  244. data/lib/candidhealth/invoices/v_2/types/invoice_destination.rb +8 -5
  245. data/lib/candidhealth/invoices/v_2/types/invoice_destination_metadata.rb +78 -55
  246. data/lib/candidhealth/invoices/v_2/types/invoice_info.rb +66 -48
  247. data/lib/candidhealth/invoices/v_2/types/invoice_item_attribution_create.rb +88 -84
  248. data/lib/candidhealth/invoices/v_2/types/invoice_item_create.rb +59 -42
  249. data/lib/candidhealth/invoices/v_2/types/invoice_item_info.rb +59 -43
  250. data/lib/candidhealth/invoices/v_2/types/invoice_sort_field.rb +9 -7
  251. data/lib/candidhealth/invoices/v_2/types/invoice_status.rb +9 -7
  252. data/lib/candidhealth/invoices/v_2/types/service_line_invoice_item.rb +54 -39
  253. data/lib/candidhealth/invoices/v_2/types/unattributed_invoice_item.rb +44 -33
  254. data/lib/candidhealth/organization_providers/client.rb +8 -6
  255. data/lib/candidhealth/organization_providers/v_2/types/address_type.rb +4 -2
  256. data/lib/candidhealth/organization_providers/v_2/types/employment_status.rb +5 -3
  257. data/lib/candidhealth/organization_providers/v_2/types/license_type.rb +71 -69
  258. data/lib/candidhealth/organization_providers/v_2/types/organization_provider.rb +189 -138
  259. data/lib/candidhealth/organization_providers/v_2/types/organization_provider_address.rb +59 -42
  260. data/lib/candidhealth/organization_providers/v_2/types/organization_provider_base.rb +157 -112
  261. data/lib/candidhealth/organization_providers/v_2/types/organization_provider_sort_options.rb +7 -5
  262. data/lib/candidhealth/organization_providers/v_2/types/provider_type.rb +5 -3
  263. data/lib/candidhealth/organization_providers/v_3/client.rb +166 -80
  264. data/lib/candidhealth/organization_providers/v_3/types/organization_provider_create_v_2.rb +171 -124
  265. data/lib/candidhealth/organization_providers/v_3/types/organization_provider_page_v_2.rb +70 -47
  266. data/lib/candidhealth/organization_providers/v_3/types/organization_provider_update_v_2.rb +169 -121
  267. data/lib/candidhealth/organization_providers/v_3/types/organization_provider_v_2.rb +179 -131
  268. data/lib/candidhealth/organization_service_facilities/client.rb +8 -6
  269. data/lib/candidhealth/organization_service_facilities/v_2/client.rb +186 -90
  270. data/lib/candidhealth/organization_service_facilities/v_2/types/organization_service_facility.rb +149 -111
  271. data/lib/candidhealth/organization_service_facilities/v_2/types/organization_service_facility_create.rb +141 -104
  272. data/lib/candidhealth/organization_service_facilities/v_2/types/organization_service_facility_page.rb +70 -47
  273. data/lib/candidhealth/organization_service_facilities/v_2/types/organization_service_facility_update.rb +141 -104
  274. data/lib/candidhealth/organization_service_facilities/v_2/types/service_facility_mode.rb +5 -3
  275. data/lib/candidhealth/organization_service_facilities/v_2/types/service_facility_operational_status.rb +9 -7
  276. data/lib/candidhealth/organization_service_facilities/v_2/types/service_facility_physical_type.rb +17 -15
  277. data/lib/candidhealth/organization_service_facilities/v_2/types/service_facility_status.rb +6 -4
  278. data/lib/candidhealth/organization_service_facilities/v_2/types/service_facility_type.rb +126 -124
  279. data/lib/candidhealth/patient_payments/client.rb +8 -6
  280. data/lib/candidhealth/patient_payments/v_3/types/patient_payment.rb +143 -111
  281. data/lib/candidhealth/patient_payments/v_3/types/patient_payment_source.rb +12 -10
  282. data/lib/candidhealth/patient_payments/v_3/types/patient_payment_status.rb +14 -12
  283. data/lib/candidhealth/patient_payments/v_4/client.rb +230 -103
  284. data/lib/candidhealth/patient_payments/v_4/types/patient_payment.rb +129 -100
  285. data/lib/candidhealth/patient_payments/v_4/types/patient_payment_sort_field.rb +7 -5
  286. data/lib/candidhealth/patient_payments/v_4/types/patient_payments_page.rb +70 -47
  287. data/lib/candidhealth/patient_refunds/client.rb +8 -6
  288. data/lib/candidhealth/patient_refunds/v_1/client.rb +236 -107
  289. data/lib/candidhealth/patient_refunds/v_1/types/patient_refund.rb +137 -106
  290. data/lib/candidhealth/patient_refunds/v_1/types/patient_refund_sort_field.rb +8 -6
  291. data/lib/candidhealth/patient_refunds/v_1/types/patient_refunds_page.rb +70 -47
  292. data/lib/candidhealth/payers/client.rb +8 -6
  293. data/lib/candidhealth/payers/v_3/client.rb +73 -32
  294. data/lib/candidhealth/payers/v_3/types/payer.rb +61 -44
  295. data/lib/candidhealth/payers/v_3/types/payer_identifier.rb +77 -72
  296. data/lib/candidhealth/payers/v_3/types/payer_info.rb +54 -40
  297. data/lib/candidhealth/payers/v_3/types/payer_page.rb +70 -47
  298. data/lib/candidhealth/pre_encounter/client.rb +30 -0
  299. data/lib/candidhealth/pre_encounter/common/types/address.rb +123 -0
  300. data/lib/candidhealth/pre_encounter/common/types/address_use.rb +17 -0
  301. data/lib/candidhealth/pre_encounter/common/types/contact_point.rb +87 -0
  302. data/lib/candidhealth/pre_encounter/common/types/contact_point_use.rb +17 -0
  303. data/lib/candidhealth/pre_encounter/common/types/error_base.rb +60 -0
  304. data/lib/candidhealth/pre_encounter/common/types/gender.rb +16 -0
  305. data/lib/candidhealth/pre_encounter/common/types/human_name.rb +94 -0
  306. data/lib/candidhealth/pre_encounter/common/types/name_use.rb +19 -0
  307. data/lib/candidhealth/pre_encounter/common/types/not_found_error_body.rb +70 -0
  308. data/lib/candidhealth/pre_encounter/common/types/period.rb +74 -0
  309. data/lib/candidhealth/pre_encounter/common/types/relationship.rb +17 -0
  310. data/lib/candidhealth/pre_encounter/common/types/version_conflict_error_body.rb +77 -0
  311. data/lib/candidhealth/pre_encounter/coverages/client.rb +32 -0
  312. data/lib/candidhealth/pre_encounter/coverages/v_1/client.rb +34 -0
  313. data/lib/candidhealth/pre_encounter/coverages/v_1/coverages/client.rb +487 -0
  314. data/lib/candidhealth/pre_encounter/coverages/v_1/coverages/types/coverage.rb +185 -0
  315. data/lib/candidhealth/pre_encounter/coverages/v_1/coverages/types/coverage_status.rb +22 -0
  316. data/lib/candidhealth/pre_encounter/coverages/v_1/coverages/types/coverage_type.rb +18 -0
  317. data/lib/candidhealth/pre_encounter/coverages/v_1/coverages/types/insurance_plan.rb +136 -0
  318. data/lib/candidhealth/pre_encounter/coverages/v_1/coverages/types/mutable_coverage.rb +131 -0
  319. data/lib/candidhealth/pre_encounter/coverages/v_1/coverages/types/subscriber.rb +90 -0
  320. data/lib/candidhealth/pre_encounter/patients/client.rb +32 -0
  321. data/lib/candidhealth/pre_encounter/patients/v_1/client.rb +34 -0
  322. data/lib/candidhealth/pre_encounter/patients/v_1/patients/client.rb +590 -0
  323. data/lib/candidhealth/pre_encounter/patients/v_1/patients/types/contact.rb +135 -0
  324. data/lib/candidhealth/pre_encounter/patients/v_1/patients/types/external_provenance.rb +75 -0
  325. data/lib/candidhealth/pre_encounter/patients/v_1/patients/types/external_provider.rb +116 -0
  326. data/lib/candidhealth/pre_encounter/patients/v_1/patients/types/marital_status.rb +28 -0
  327. data/lib/candidhealth/pre_encounter/patients/v_1/patients/types/mutable_patient.rb +242 -0
  328. data/lib/candidhealth/pre_encounter/patients/v_1/patients/types/patient.rb +294 -0
  329. data/lib/candidhealth/remits/v_1/types/payee.rb +59 -42
  330. data/lib/candidhealth/remits/v_1/types/payee_identifier.rb +84 -80
  331. data/lib/candidhealth/service_facility/client.rb +58 -27
  332. data/lib/candidhealth/service_facility/types/encounter_service_facility.rb +87 -62
  333. data/lib/candidhealth/service_facility/types/encounter_service_facility_base.rb +87 -57
  334. data/lib/candidhealth/service_lines/v_2/types/denial_reason_content.rb +33 -31
  335. data/lib/candidhealth/service_lines/v_2/types/drug_identification.rb +92 -68
  336. data/lib/candidhealth/service_lines/v_2/types/measurement_unit_code.rb +8 -6
  337. data/lib/candidhealth/service_lines/v_2/types/service_id_qualifier.rb +10 -8
  338. data/lib/candidhealth/service_lines/v_2/types/service_line.rb +352 -222
  339. data/lib/candidhealth/service_lines/v_2/types/service_line_adjustment.rb +85 -62
  340. data/lib/candidhealth/service_lines/v_2/types/service_line_create.rb +235 -113
  341. data/lib/candidhealth/service_lines/v_2/types/service_line_denial_reason.rb +49 -35
  342. data/lib/candidhealth/service_lines/v_2/types/service_line_era_data.rb +60 -44
  343. data/lib/candidhealth/tags/types/tag.rb +69 -51
  344. data/lib/candidhealth/tags/types/tag_color_enum.rb +14 -12
  345. data/lib/candidhealth/tags/types/tag_create.rb +62 -45
  346. data/lib/candidhealth/tasks/client.rb +8 -6
  347. data/lib/candidhealth/tasks/commons/types/task_category.rb +45 -43
  348. data/lib/candidhealth/tasks/commons/types/task_status.rb +11 -9
  349. data/lib/candidhealth/tasks/commons/types/task_type.rb +16 -14
  350. data/lib/candidhealth/tasks/v_3/client.rb +208 -96
  351. data/lib/candidhealth/tasks/v_3/types/task.rb +193 -146
  352. data/lib/candidhealth/tasks/v_3/types/task_action.rb +66 -47
  353. data/lib/candidhealth/tasks/v_3/types/task_action_execution_method.rb +65 -59
  354. data/lib/candidhealth/tasks/v_3/types/task_action_type.rb +5 -3
  355. data/lib/candidhealth/tasks/v_3/types/task_actions.rb +47 -35
  356. data/lib/candidhealth/tasks/v_3/types/task_assignment.rb +59 -40
  357. data/lib/candidhealth/tasks/v_3/types/task_create_v_3.rb +100 -77
  358. data/lib/candidhealth/tasks/v_3/types/task_note.rb +83 -62
  359. data/lib/candidhealth/tasks/v_3/types/task_page.rb +70 -47
  360. data/lib/candidhealth/tasks/v_3/types/task_sort_options.rb +25 -23
  361. data/lib/candidhealth/tasks/v_3/types/task_update_v_3.rb +68 -49
  362. data/lib/candidhealth/tasks/v_3/types/task_updated_to_deprecated_status_error_type.rb +47 -33
  363. data/lib/candidhealth/write_offs/client.rb +8 -6
  364. data/lib/candidhealth/write_offs/v_1/client.rb +168 -83
  365. data/lib/candidhealth/write_offs/v_1/types/create_write_offs_response.rb +47 -35
  366. data/lib/candidhealth/write_offs/v_1/types/insurance_write_off.rb +127 -97
  367. data/lib/candidhealth/write_offs/v_1/types/insurance_write_off_create.rb +103 -78
  368. data/lib/candidhealth/write_offs/v_1/types/insurance_write_off_reason.rb +19 -17
  369. data/lib/candidhealth/write_offs/v_1/types/insurance_write_off_target.rb +84 -81
  370. data/lib/candidhealth/write_offs/v_1/types/patient_write_off.rb +111 -84
  371. data/lib/candidhealth/write_offs/v_1/types/patient_write_off_create.rb +87 -65
  372. data/lib/candidhealth/write_offs/v_1/types/patient_write_off_reason.rb +12 -10
  373. data/lib/candidhealth/write_offs/v_1/types/write_off.rb +77 -71
  374. data/lib/candidhealth/write_offs/v_1/types/write_off_create.rb +77 -71
  375. data/lib/candidhealth/write_offs/v_1/types/write_off_sort_field.rb +6 -4
  376. data/lib/candidhealth/write_offs/v_1/types/write_offs_page.rb +70 -47
  377. data/lib/candidhealth/x_12/v_1/types/carc.rb +406 -404
  378. data/lib/candidhealth/x_12/v_1/types/claim_adjustment_reason_code.rb +61 -44
  379. data/lib/candidhealth/x_12/v_1/types/rarc.rb +1063 -1061
  380. data/lib/candidhealth/x_12/v_1/types/remittance_advice_remark_code.rb +44 -33
  381. data/lib/candidhealth.rb +189 -87
  382. data/lib/core/oauth.rb +62 -0
  383. data/lib/environment.rb +8 -2
  384. data/lib/requests.rb +98 -48
  385. data/lib/types_export.rb +30 -53
  386. metadata +42 -55
  387. data/lib/candidhealth/billing_notes/v_2/types/billing_note_id.rb +0 -9
  388. data/lib/candidhealth/commons/types/claim_id.rb +0 -7
  389. data/lib/candidhealth/commons/types/date.rb +0 -7
  390. data/lib/candidhealth/commons/types/decimal.rb +0 -7
  391. data/lib/candidhealth/commons/types/email.rb +0 -7
  392. data/lib/candidhealth/commons/types/encounter_external_id.rb +0 -7
  393. data/lib/candidhealth/commons/types/encounter_id.rb +0 -7
  394. data/lib/candidhealth/commons/types/error_message.rb +0 -7
  395. data/lib/candidhealth/commons/types/invoice_id.rb +0 -7
  396. data/lib/candidhealth/commons/types/link_url.rb +0 -7
  397. data/lib/candidhealth/commons/types/npi.rb +0 -7
  398. data/lib/candidhealth/commons/types/organization_id.rb +0 -7
  399. data/lib/candidhealth/commons/types/page_token.rb +0 -7
  400. data/lib/candidhealth/commons/types/patient_external_id.rb +0 -7
  401. data/lib/candidhealth/commons/types/provider_id.rb +0 -7
  402. data/lib/candidhealth/commons/types/rate_id.rb +0 -7
  403. data/lib/candidhealth/commons/types/service_line_id.rb +0 -7
  404. data/lib/candidhealth/commons/types/task_assignment_id.rb +0 -7
  405. data/lib/candidhealth/commons/types/task_id.rb +0 -7
  406. data/lib/candidhealth/commons/types/task_note_id.rb +0 -7
  407. data/lib/candidhealth/commons/types/tax_id.rb +0 -7
  408. data/lib/candidhealth/commons/types/user_id.rb +0 -7
  409. data/lib/candidhealth/commons/types/work_queue_id.rb +0 -7
  410. data/lib/candidhealth/contracts/v_2/types/contract_id.rb +0 -9
  411. data/lib/candidhealth/contracts/v_2/types/contracting_provider_id.rb +0 -9
  412. data/lib/candidhealth/contracts/v_2/types/rendering_providerid.rb +0 -9
  413. data/lib/candidhealth/diagnoses/types/diagnosis_id.rb +0 -7
  414. data/lib/candidhealth/encounter_providers/v_2/types/provider_id.rb +0 -9
  415. data/lib/candidhealth/encounters/v_4/types/intake_follow_up_id.rb +0 -9
  416. data/lib/candidhealth/encounters/v_4/types/intake_question_id.rb +0 -9
  417. data/lib/candidhealth/encounters/v_4/types/prior_authorization_number.rb +0 -9
  418. data/lib/candidhealth/encounters/v_4/types/rx_cui.rb +0 -9
  419. data/lib/candidhealth/era/types/era_id.rb +0 -7
  420. data/lib/candidhealth/expected_network_status/v_2/types/network_status_check_id.rb +0 -9
  421. data/lib/candidhealth/guarantor/v_1/types/guarantor_id.rb +0 -9
  422. data/lib/candidhealth/identifiers/types/identifier_id.rb +0 -7
  423. data/lib/candidhealth/individual/types/individual_id.rb +0 -7
  424. data/lib/candidhealth/insurance_adjudications/v_1/types/insurance_adjudication_id.rb +0 -9
  425. data/lib/candidhealth/insurance_adjudications/v_1/types/service_line_adjudication_id.rb +0 -9
  426. data/lib/candidhealth/insurance_cards/v_2/types/insurance_card_id.rb +0 -9
  427. data/lib/candidhealth/insurance_payments/v_1/types/insurance_payment_id.rb +0 -9
  428. data/lib/candidhealth/insurance_refunds/v_1/types/insurance_refund_id.rb +0 -9
  429. data/lib/candidhealth/organization_providers/v_2/types/organization_provider_id.rb +0 -9
  430. data/lib/candidhealth/organization_service_facilities/v_2/types/organization_service_facility_id.rb +0 -9
  431. data/lib/candidhealth/patient_payments/v_3/types/patient_payment_id.rb +0 -9
  432. data/lib/candidhealth/patient_payments/v_4/types/patient_payment_id.rb +0 -9
  433. data/lib/candidhealth/patient_refunds/v_1/types/patient_refund_id.rb +0 -9
  434. data/lib/candidhealth/payers/v_3/types/payer_id.rb +0 -9
  435. data/lib/candidhealth/payers/v_3/types/payer_name.rb +0 -9
  436. data/lib/candidhealth/payers/v_3/types/payer_uuid.rb +0 -9
  437. data/lib/candidhealth/service_facility/types/service_facility_id.rb +0 -7
  438. data/lib/candidhealth/tags/types/tag_id.rb +0 -7
  439. data/lib/candidhealth/write_offs/v_1/types/write_off_id.rb +0 -9
@@ -1,14 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_relative "../../../requests"
4
- require_relative "../../commons/types/service_line_id"
5
4
  require_relative "types/match_result"
6
- require_relative "../../commons/types/rate_id"
7
5
  require_relative "types/match_test_result"
8
- require_relative "../../commons/types/page_token"
9
6
  require "date"
10
- require_relative "../../payers/v_3/types/payer_uuid"
11
- require_relative "../../organization_providers/v_2/types/organization_provider_id"
12
7
  require_relative "../../commons/types/state"
13
8
  require_relative "../../organization_providers/v_2/types/license_type"
14
9
  require_relative "../../commons/types/facility_type_code"
@@ -18,6 +13,7 @@ require_relative "types/rates_page"
18
13
  require_relative "types/dimension_name"
19
14
  require_relative "types/dimensions_page"
20
15
  require_relative "types/rate"
16
+ require "json"
21
17
  require_relative "types/rate_upload"
22
18
  require_relative "types/payer_threshold"
23
19
  require_relative "types/payer_thresholds_page"
@@ -27,66 +23,106 @@ module CandidApiClient
27
23
  module FeeSchedules
28
24
  module V3
29
25
  class V3Client
26
+ # @return [CandidApiClient::RequestClient]
30
27
  attr_reader :request_client
31
28
 
32
- # @param request_client [RequestClient]
33
- # @return [FeeSchedules::V3::V3Client]
29
+ # @param request_client [CandidApiClient::RequestClient]
30
+ # @return [CandidApiClient::FeeSchedules::V3::V3Client]
34
31
  def initialize(request_client:)
35
- # @type [RequestClient]
36
32
  @request_client = request_client
37
33
  end
38
34
 
39
- # Gets the rate that matches a service line. No result means no rate exists matching the service line's dimensions.
35
+ # Gets the rate that matches a service line. No result means no rate exists
36
+ # matching the service line's dimensions.
40
37
  #
41
- # @param service_line_id [Commons::SERVICE_LINE_ID]
42
- # @param request_options [RequestOptions]
43
- # @return [FeeSchedules::V3::MatchResult]
38
+ # @param service_line_id [String]
39
+ # @param request_options [CandidApiClient::RequestOptions]
40
+ # @return [CandidApiClient::FeeSchedules::V3::Types::MatchResult]
41
+ # @example
42
+ # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
43
+ # api.fee_schedules.v_3.get_match(service_line_id: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32")
44
44
  def get_match(service_line_id:, request_options: nil)
45
- response = @request_client.conn.get("/api/fee-schedules/v3/service-line/#{service_line_id}/match") do |req|
45
+ response = @request_client.conn.get do |req|
46
46
  req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
47
47
  req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
48
- req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
48
+ req.headers = {
49
+ **(req.headers || {}),
50
+ **@request_client.get_headers,
51
+ **(request_options&.additional_headers || {})
52
+ }.compact
53
+ req.url "#{@request_client.get_url(environment: CandidApi,
54
+ request_options: request_options)}/api/fee-schedules/v3/service-line/#{service_line_id}/match"
49
55
  end
50
- FeeSchedules::V3::MatchResult.from_json(json_object: response.body)
56
+ CandidApiClient::FeeSchedules::V3::Types::MatchResult.from_json(json_object: response.body)
51
57
  end
52
58
 
53
59
  # Tests a service line against a rate to see if it matches.
54
60
  #
55
- # @param service_line_id [Commons::SERVICE_LINE_ID]
56
- # @param rate_id [Commons::RATE_ID]
57
- # @param request_options [RequestOptions]
58
- # @return [FeeSchedules::V3::MatchTestResult]
61
+ # @param service_line_id [String]
62
+ # @param rate_id [String]
63
+ # @param request_options [CandidApiClient::RequestOptions]
64
+ # @return [CandidApiClient::FeeSchedules::V3::Types::MatchTestResult]
65
+ # @example
66
+ # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
67
+ # api.fee_schedules.v_3.test_match(service_line_id: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", rate_id: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32")
59
68
  def test_match(service_line_id:, rate_id:, request_options: nil)
60
- response = @request_client.conn.get("/api/fee-schedules/v3/service-line/#{service_line_id}/match/#{rate_id}") do |req|
69
+ response = @request_client.conn.get do |req|
61
70
  req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
62
71
  req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
63
- req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
72
+ req.headers = {
73
+ **(req.headers || {}),
74
+ **@request_client.get_headers,
75
+ **(request_options&.additional_headers || {})
76
+ }.compact
77
+ req.url "#{@request_client.get_url(environment: CandidApi,
78
+ request_options: request_options)}/api/fee-schedules/v3/service-line/#{service_line_id}/match/#{rate_id}"
64
79
  end
65
- FeeSchedules::V3::MatchTestResult.from_json(json_object: response.body)
80
+ CandidApiClient::FeeSchedules::V3::Types::MatchTestResult.from_json(json_object: response.body)
66
81
  end
67
82
 
68
- # Gets a list of dimensions with their rates. The rates returned will always be the most recent versions of those rates.
83
+ # Gets a list of dimensions with their rates. The rates returned will always be
84
+ # the most recent versions of those rates.
69
85
  #
70
- # @param page_token [Commons::PAGE_TOKEN]
86
+ # @param page_token [String]
71
87
  # @param limit [Integer] Max number of dimensions returned. Defaults to 100. Max is 100.
72
88
  # @param active_date [Date]
73
- # @param payer_uuid [Payers::V3::PAYER_UUID]
74
- # @param organization_billing_provider_id [OrganizationProviders::V2::ORGANIZATION_PROVIDER_ID]
75
- # @param states [Commons::State]
89
+ # @param payer_uuid [String]
90
+ # @param organization_billing_provider_id [String]
91
+ # @param states [CandidApiClient::Commons::Types::State]
76
92
  # @param zip_codes [String]
77
- # @param license_types [OrganizationProviders::V2::LicenseType]
78
- # @param facility_type_codes [Commons::FacilityTypeCode]
79
- # @param network_types [Commons::NetworkType]
93
+ # @param license_types [CandidApiClient::OrganizationProviders::V2::Types::LicenseType]
94
+ # @param facility_type_codes [CandidApiClient::Commons::Types::FacilityTypeCode]
95
+ # @param network_types [CandidApiClient::Commons::Types::NetworkType]
80
96
  # @param cpt_code [String]
81
- # @param modifiers [Commons::ProcedureModifier]
82
- # @param request_options [RequestOptions]
83
- # @return [FeeSchedules::V3::RatesPage]
97
+ # @param modifiers [CandidApiClient::Commons::Types::ProcedureModifier]
98
+ # @param request_options [CandidApiClient::RequestOptions]
99
+ # @return [CandidApiClient::FeeSchedules::V3::Types::RatesPage]
100
+ # @example
101
+ # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
102
+ # api.fee_schedules.v_3.get_multi(
103
+ # page_token: "eyJ0b2tlbiI6IjEiLCJwYWdlX3Rva2VuIjoiMiJ9",
104
+ # limit: 1,
105
+ # active_date: DateTime.parse(2023-01-15),
106
+ # payer_uuid: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32",
107
+ # organization_billing_provider_id: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32",
108
+ # states: AA,
109
+ # zip_codes: "string",
110
+ # license_types: MD,
111
+ # facility_type_codes: PHARMACY,
112
+ # network_types: PPO,
113
+ # cpt_code: "string",
114
+ # modifiers: TWENTY_TWO
115
+ # )
84
116
  def get_multi(page_token: nil, limit: nil, active_date: nil, payer_uuid: nil,
85
117
  organization_billing_provider_id: nil, states: nil, zip_codes: nil, license_types: nil, facility_type_codes: nil, network_types: nil, cpt_code: nil, modifiers: nil, request_options: nil)
86
- response = @request_client.conn.get("/api/fee-schedules/v3") do |req|
118
+ response = @request_client.conn.get do |req|
87
119
  req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
88
120
  req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
89
- req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
121
+ req.headers = {
122
+ **(req.headers || {}),
123
+ **@request_client.get_headers,
124
+ **(request_options&.additional_headers || {})
125
+ }.compact
90
126
  req.params = {
91
127
  **(request_options&.additional_query_parameters || {}),
92
128
  "page_token": page_token,
@@ -102,32 +138,56 @@ module CandidApiClient
102
138
  "cpt_code": cpt_code,
103
139
  "modifiers": modifiers
104
140
  }.compact
141
+ req.url "#{@request_client.get_url(environment: CandidApi,
142
+ request_options: request_options)}/api/fee-schedules/v3"
105
143
  end
106
- FeeSchedules::V3::RatesPage.from_json(json_object: response.body)
144
+ CandidApiClient::FeeSchedules::V3::Types::RatesPage.from_json(json_object: response.body)
107
145
  end
108
146
 
109
- # Gets unique values for a dimension based on other selection criteria. The response is a list of dimensions with your criteria and the unique values populated. This API is useful for driving pivots on dimension values.
147
+ # Gets unique values for a dimension based on other selection criteria. The
148
+ # response is a list of dimensions with your criteria and the unique values
149
+ # populated. This API is useful for driving pivots on dimension values.
110
150
  #
111
- # @param page_token [Commons::PAGE_TOKEN]
151
+ # @param page_token [String]
112
152
  # @param limit [Integer] Max number of values returned. Defaults to 1000. Max is 1000.
113
- # @param pivot_dimension [FeeSchedules::V3::DimensionName] The name of the dimension to fetch unique values for.
114
- # @param payer_uuid [Payers::V3::PAYER_UUID]
115
- # @param organization_billing_provider_id [OrganizationProviders::V2::ORGANIZATION_PROVIDER_ID]
116
- # @param states [Commons::State]
153
+ # @param pivot_dimension [CandidApiClient::FeeSchedules::V3::Types::DimensionName] The name of the dimension to fetch unique values for.
154
+ # @param payer_uuid [String]
155
+ # @param organization_billing_provider_id [String]
156
+ # @param states [CandidApiClient::Commons::Types::State]
117
157
  # @param zip_codes [String]
118
- # @param license_types [OrganizationProviders::V2::LicenseType]
119
- # @param facility_type_codes [Commons::FacilityTypeCode]
120
- # @param network_types [Commons::NetworkType]
158
+ # @param license_types [CandidApiClient::OrganizationProviders::V2::Types::LicenseType]
159
+ # @param facility_type_codes [CandidApiClient::Commons::Types::FacilityTypeCode]
160
+ # @param network_types [CandidApiClient::Commons::Types::NetworkType]
121
161
  # @param cpt_code [String]
122
- # @param modifiers [Commons::ProcedureModifier]
123
- # @param request_options [RequestOptions]
124
- # @return [FeeSchedules::V3::DimensionsPage]
162
+ # @param modifiers [CandidApiClient::Commons::Types::ProcedureModifier]
163
+ # @param request_options [CandidApiClient::RequestOptions]
164
+ # @return [CandidApiClient::FeeSchedules::V3::Types::DimensionsPage]
165
+ # @example
166
+ # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
167
+ # api.fee_schedules.v_3.get_unique_values_for_dimension(
168
+ # page_token: "eyJ0b2tlbiI6IjEiLCJwYWdlX3Rva2VuIjoiMiJ9",
169
+ # limit: 1,
170
+ # pivot_dimension: PAYER_UUID,
171
+ # payer_uuid: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32",
172
+ # organization_billing_provider_id: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32",
173
+ # states: AA,
174
+ # zip_codes: "string",
175
+ # license_types: MD,
176
+ # facility_type_codes: PHARMACY,
177
+ # network_types: PPO,
178
+ # cpt_code: "string",
179
+ # modifiers: TWENTY_TWO
180
+ # )
125
181
  def get_unique_values_for_dimension(pivot_dimension:, page_token: nil, limit: nil, payer_uuid: nil,
126
182
  organization_billing_provider_id: nil, states: nil, zip_codes: nil, license_types: nil, facility_type_codes: nil, network_types: nil, cpt_code: nil, modifiers: nil, request_options: nil)
127
- response = @request_client.conn.get("/api/fee-schedules/v3/unique-dimension-values") do |req|
183
+ response = @request_client.conn.get do |req|
128
184
  req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
129
185
  req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
130
- req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
186
+ req.headers = {
187
+ **(req.headers || {}),
188
+ **@request_client.get_headers,
189
+ **(request_options&.additional_headers || {})
190
+ }.compact
131
191
  req.params = {
132
192
  **(request_options&.additional_query_parameters || {}),
133
193
  "page_token": page_token,
@@ -143,178 +203,278 @@ module CandidApiClient
143
203
  "cpt_code": cpt_code,
144
204
  "modifiers": modifiers
145
205
  }.compact
206
+ req.url "#{@request_client.get_url(environment: CandidApi,
207
+ request_options: request_options)}/api/fee-schedules/v3/unique-dimension-values"
146
208
  end
147
- FeeSchedules::V3::DimensionsPage.from_json(json_object: response.body)
209
+ CandidApiClient::FeeSchedules::V3::Types::DimensionsPage.from_json(json_object: response.body)
148
210
  end
149
211
 
150
212
  # Gets every version of a rate.
151
213
  #
152
- # @param rate_id [Commons::RATE_ID]
153
- # @param request_options [RequestOptions]
154
- # @return [Array<FeeSchedules::V3::Rate>]
214
+ # @param rate_id [String]
215
+ # @param request_options [CandidApiClient::RequestOptions]
216
+ # @return [Array<CandidApiClient::FeeSchedules::V3::Types::Rate>]
217
+ # @example
218
+ # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
219
+ # api.fee_schedules.v_3.get_rate_history(rate_id: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32")
155
220
  def get_rate_history(rate_id:, request_options: nil)
156
- response = @request_client.conn.get("/api/fee-schedules/v3/#{rate_id}/history") do |req|
221
+ response = @request_client.conn.get do |req|
157
222
  req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
158
223
  req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
159
- req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
224
+ req.headers = {
225
+ **(req.headers || {}),
226
+ **@request_client.get_headers,
227
+ **(request_options&.additional_headers || {})
228
+ }.compact
229
+ req.url "#{@request_client.get_url(environment: CandidApi,
230
+ request_options: request_options)}/api/fee-schedules/v3/#{rate_id}/history"
160
231
  end
161
- return if response.body.nil?
162
-
163
- response.body.map do |v|
164
- v = v.to_json
165
- FeeSchedules::V3::Rate.from_json(json_object: v)
232
+ parsed_json = JSON.parse(response.body)
233
+ parsed_json&.map do |item|
234
+ item = item.to_json
235
+ CandidApiClient::FeeSchedules::V3::Types::Rate.from_json(json_object: item)
166
236
  end
167
237
  end
168
238
 
169
- # Uploads a new fee schedule.\n Each rate may either be totally new as qualified by it's dimensions or a new version for an existing rate.\n If adding a new version to an existing rate, the rate must be posted with the next version number (previous version + 1) or a EntityConflictError will be returned.\n Use the dry run flag to discover already existing rates and to run validations. If validations for any rate fail, no rates will be saved to the system.
239
+ # Uploads a new fee schedule.\n Each rate may either be totally new as qualified
240
+ # by it's dimensions or a new version for an existing rate.\n If adding a new
241
+ # version to an existing rate, the rate must be posted with the next version
242
+ # number (previous version + 1) or a EntityConflictError will be returned.\n Use
243
+ # the dry run flag to discover already existing rates and to run validations. If
244
+ # validations for any rate fail, no rates will be saved to the system.
170
245
  #
171
246
  # @param dry_run [Boolean]
172
- # @param rates [Array<Hash>] Request of type Array<FeeSchedules::V3::RateUpload>, as a Hash
173
- # @param request_options [RequestOptions]
174
- # @return [Array<FeeSchedules::V3::Rate>]
247
+ # @param rates [Array<Hash>] Request of type Array<CandidApiClient::FeeSchedules::V3::Types::RateUpload>, as a Hash
248
+ # @param request_options [CandidApiClient::RequestOptions]
249
+ # @return [Array<CandidApiClient::FeeSchedules::V3::Types::Rate>]
250
+ # @example
251
+ # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
252
+ # api.fee_schedules.v_3.upload_fee_schedule(dry_run: true, rates: )
175
253
  def upload_fee_schedule(dry_run:, rates:, request_options: nil)
176
- response = @request_client.conn.post("/api/fee-schedules/v3") do |req|
254
+ response = @request_client.conn.post do |req|
177
255
  req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
178
256
  req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
179
- req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
257
+ req.headers = {
258
+ **(req.headers || {}),
259
+ **@request_client.get_headers,
260
+ **(request_options&.additional_headers || {})
261
+ }.compact
180
262
  req.body = { **(request_options&.additional_body_parameters || {}), dry_run: dry_run, rates: rates }.compact
263
+ req.url "#{@request_client.get_url(environment: CandidApi,
264
+ request_options: request_options)}/api/fee-schedules/v3"
181
265
  end
182
- return if response.body.nil?
183
-
184
- response.body.map do |v|
185
- v = v.to_json
186
- FeeSchedules::V3::Rate.from_json(json_object: v)
266
+ parsed_json = JSON.parse(response.body)
267
+ parsed_json&.map do |item|
268
+ item = item.to_json
269
+ CandidApiClient::FeeSchedules::V3::Types::Rate.from_json(json_object: item)
187
270
  end
188
271
  end
189
272
 
190
- # Soft deletes a rate from the system. Only the most recent version of a rate can be deleted.
273
+ # Soft deletes a rate from the system. Only the most recent version of a rate can
274
+ # be deleted.
191
275
  #
192
- # @param rate_id [Commons::RATE_ID]
276
+ # @param rate_id [String]
193
277
  # @param version [Integer]
194
- # @param request_options [RequestOptions]
278
+ # @param request_options [CandidApiClient::RequestOptions]
195
279
  # @return [Void]
280
+ # @example
281
+ # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
282
+ # api.fee_schedules.v_3.delete_rate(rate_id: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", version: 1)
196
283
  def delete_rate(rate_id:, version:, request_options: nil)
197
- @request_client.conn.delete("/api/fee-schedules/v3/#{rate_id}/#{version}") do |req|
284
+ @request_client.conn.delete do |req|
198
285
  req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
199
286
  req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
200
- req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
287
+ req.headers = {
288
+ **(req.headers || {}),
289
+ **@request_client.get_headers,
290
+ **(request_options&.additional_headers || {})
291
+ }.compact
292
+ req.url "#{@request_client.get_url(environment: CandidApi,
293
+ request_options: request_options)}/api/fee-schedules/v3/#{rate_id}/#{version}"
201
294
  end
202
295
  end
203
296
 
204
297
  # Gets the default payer threshold
205
298
  #
206
- # @param request_options [RequestOptions]
207
- # @return [FeeSchedules::V3::PayerThreshold]
299
+ # @param request_options [CandidApiClient::RequestOptions]
300
+ # @return [CandidApiClient::FeeSchedules::V3::Types::PayerThreshold]
301
+ # @example
302
+ # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
303
+ # api.fee_schedules.v_3.get_payer_thresholds_default
208
304
  def get_payer_thresholds_default(request_options: nil)
209
- response = @request_client.conn.get("/api/fee-schedules/v3/payer-threshold/default") do |req|
305
+ response = @request_client.conn.get do |req|
210
306
  req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
211
307
  req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
212
- req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
308
+ req.headers = {
309
+ **(req.headers || {}),
310
+ **@request_client.get_headers,
311
+ **(request_options&.additional_headers || {})
312
+ }.compact
313
+ req.url "#{@request_client.get_url(environment: CandidApi,
314
+ request_options: request_options)}/api/fee-schedules/v3/payer-threshold/default"
213
315
  end
214
- FeeSchedules::V3::PayerThreshold.from_json(json_object: response.body)
316
+ CandidApiClient::FeeSchedules::V3::Types::PayerThreshold.from_json(json_object: response.body)
215
317
  end
216
318
 
217
319
  # Gets a list of payers and thresholds by their uuids
218
320
  #
219
- # @param payer_uuids [Payers::V3::PAYER_UUID]
220
- # @param request_options [RequestOptions]
221
- # @return [FeeSchedules::V3::PayerThresholdsPage]
321
+ # @param payer_uuids [String]
322
+ # @param request_options [CandidApiClient::RequestOptions]
323
+ # @return [CandidApiClient::FeeSchedules::V3::Types::PayerThresholdsPage]
324
+ # @example
325
+ # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
326
+ # api.fee_schedules.v_3.get_payer_thresholds(payer_uuids: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32")
222
327
  def get_payer_thresholds(payer_uuids:, request_options: nil)
223
- response = @request_client.conn.get("/api/fee-schedules/v3/payer-threshold") do |req|
328
+ response = @request_client.conn.get do |req|
224
329
  req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
225
330
  req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
226
- req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
331
+ req.headers = {
332
+ **(req.headers || {}),
333
+ **@request_client.get_headers,
334
+ **(request_options&.additional_headers || {})
335
+ }.compact
227
336
  req.params = { **(request_options&.additional_query_parameters || {}), "payer_uuids": payer_uuids }.compact
337
+ req.url "#{@request_client.get_url(environment: CandidApi,
338
+ request_options: request_options)}/api/fee-schedules/v3/payer-threshold"
228
339
  end
229
- FeeSchedules::V3::PayerThresholdsPage.from_json(json_object: response.body)
340
+ CandidApiClient::FeeSchedules::V3::Types::PayerThresholdsPage.from_json(json_object: response.body)
230
341
  end
231
342
 
232
343
  # Sets the threshold information for a payer
233
344
  #
234
- # @param payer_uuid [Payers::V3::PAYER_UUID]
235
- # @param request [Hash] Request of type FeeSchedules::V3::PayerThreshold, as a Hash
345
+ # @param payer_uuid [String]
346
+ # @param request [Hash] Request of type CandidApiClient::FeeSchedules::V3::Types::PayerThreshold, as a Hash
236
347
  # * :upper_threshold_cents (Integer)
237
348
  # * :lower_threshold_cents (Integer)
238
349
  # * :disable_paid_incorrectly (Boolean)
239
- # @param request_options [RequestOptions]
240
- # @return [FeeSchedules::V3::PayerThreshold]
350
+ # @param request_options [CandidApiClient::RequestOptions]
351
+ # @return [CandidApiClient::FeeSchedules::V3::Types::PayerThreshold]
352
+ # @example
353
+ # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
354
+ # api.fee_schedules.v_3.set_payer_threshold(payer_uuid: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", request: { upper_threshold_cents: 1, lower_threshold_cents: 1, disable_paid_incorrectly: true })
241
355
  def set_payer_threshold(payer_uuid:, request:, request_options: nil)
242
- response = @request_client.conn.put("/api/fee-schedules/v3/payer-threshold/#{payer_uuid}") do |req|
356
+ response = @request_client.conn.put do |req|
243
357
  req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
244
358
  req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
245
- req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
359
+ req.headers = {
360
+ **(req.headers || {}),
361
+ **@request_client.get_headers,
362
+ **(request_options&.additional_headers || {})
363
+ }.compact
246
364
  req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
365
+ req.url "#{@request_client.get_url(environment: CandidApi,
366
+ request_options: request_options)}/api/fee-schedules/v3/payer-threshold/#{payer_uuid}"
247
367
  end
248
- FeeSchedules::V3::PayerThreshold.from_json(json_object: response.body)
368
+ CandidApiClient::FeeSchedules::V3::Types::PayerThreshold.from_json(json_object: response.body)
249
369
  end
250
370
  end
251
371
 
252
372
  class AsyncV3Client
373
+ # @return [CandidApiClient::AsyncRequestClient]
253
374
  attr_reader :request_client
254
375
 
255
- # @param request_client [AsyncRequestClient]
256
- # @return [FeeSchedules::V3::AsyncV3Client]
376
+ # @param request_client [CandidApiClient::AsyncRequestClient]
377
+ # @return [CandidApiClient::FeeSchedules::V3::AsyncV3Client]
257
378
  def initialize(request_client:)
258
- # @type [AsyncRequestClient]
259
379
  @request_client = request_client
260
380
  end
261
381
 
262
- # Gets the rate that matches a service line. No result means no rate exists matching the service line's dimensions.
382
+ # Gets the rate that matches a service line. No result means no rate exists
383
+ # matching the service line's dimensions.
263
384
  #
264
- # @param service_line_id [Commons::SERVICE_LINE_ID]
265
- # @param request_options [RequestOptions]
266
- # @return [FeeSchedules::V3::MatchResult]
385
+ # @param service_line_id [String]
386
+ # @param request_options [CandidApiClient::RequestOptions]
387
+ # @return [CandidApiClient::FeeSchedules::V3::Types::MatchResult]
388
+ # @example
389
+ # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
390
+ # api.fee_schedules.v_3.get_match(service_line_id: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32")
267
391
  def get_match(service_line_id:, request_options: nil)
268
392
  Async do
269
- response = @request_client.conn.get("/api/fee-schedules/v3/service-line/#{service_line_id}/match") do |req|
393
+ response = @request_client.conn.get do |req|
270
394
  req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
271
395
  req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
272
- req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
396
+ req.headers = {
397
+ **(req.headers || {}),
398
+ **@request_client.get_headers,
399
+ **(request_options&.additional_headers || {})
400
+ }.compact
401
+ req.url "#{@request_client.get_url(environment: CandidApi,
402
+ request_options: request_options)}/api/fee-schedules/v3/service-line/#{service_line_id}/match"
273
403
  end
274
- FeeSchedules::V3::MatchResult.from_json(json_object: response.body)
404
+ CandidApiClient::FeeSchedules::V3::Types::MatchResult.from_json(json_object: response.body)
275
405
  end
276
406
  end
277
407
 
278
408
  # Tests a service line against a rate to see if it matches.
279
409
  #
280
- # @param service_line_id [Commons::SERVICE_LINE_ID]
281
- # @param rate_id [Commons::RATE_ID]
282
- # @param request_options [RequestOptions]
283
- # @return [FeeSchedules::V3::MatchTestResult]
410
+ # @param service_line_id [String]
411
+ # @param rate_id [String]
412
+ # @param request_options [CandidApiClient::RequestOptions]
413
+ # @return [CandidApiClient::FeeSchedules::V3::Types::MatchTestResult]
414
+ # @example
415
+ # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
416
+ # api.fee_schedules.v_3.test_match(service_line_id: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", rate_id: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32")
284
417
  def test_match(service_line_id:, rate_id:, request_options: nil)
285
418
  Async do
286
- response = @request_client.conn.get("/api/fee-schedules/v3/service-line/#{service_line_id}/match/#{rate_id}") do |req|
419
+ response = @request_client.conn.get do |req|
287
420
  req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
288
421
  req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
289
- req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
422
+ req.headers = {
423
+ **(req.headers || {}),
424
+ **@request_client.get_headers,
425
+ **(request_options&.additional_headers || {})
426
+ }.compact
427
+ req.url "#{@request_client.get_url(environment: CandidApi,
428
+ request_options: request_options)}/api/fee-schedules/v3/service-line/#{service_line_id}/match/#{rate_id}"
290
429
  end
291
- FeeSchedules::V3::MatchTestResult.from_json(json_object: response.body)
430
+ CandidApiClient::FeeSchedules::V3::Types::MatchTestResult.from_json(json_object: response.body)
292
431
  end
293
432
  end
294
433
 
295
- # Gets a list of dimensions with their rates. The rates returned will always be the most recent versions of those rates.
434
+ # Gets a list of dimensions with their rates. The rates returned will always be
435
+ # the most recent versions of those rates.
296
436
  #
297
- # @param page_token [Commons::PAGE_TOKEN]
437
+ # @param page_token [String]
298
438
  # @param limit [Integer] Max number of dimensions returned. Defaults to 100. Max is 100.
299
439
  # @param active_date [Date]
300
- # @param payer_uuid [Payers::V3::PAYER_UUID]
301
- # @param organization_billing_provider_id [OrganizationProviders::V2::ORGANIZATION_PROVIDER_ID]
302
- # @param states [Commons::State]
440
+ # @param payer_uuid [String]
441
+ # @param organization_billing_provider_id [String]
442
+ # @param states [CandidApiClient::Commons::Types::State]
303
443
  # @param zip_codes [String]
304
- # @param license_types [OrganizationProviders::V2::LicenseType]
305
- # @param facility_type_codes [Commons::FacilityTypeCode]
306
- # @param network_types [Commons::NetworkType]
444
+ # @param license_types [CandidApiClient::OrganizationProviders::V2::Types::LicenseType]
445
+ # @param facility_type_codes [CandidApiClient::Commons::Types::FacilityTypeCode]
446
+ # @param network_types [CandidApiClient::Commons::Types::NetworkType]
307
447
  # @param cpt_code [String]
308
- # @param modifiers [Commons::ProcedureModifier]
309
- # @param request_options [RequestOptions]
310
- # @return [FeeSchedules::V3::RatesPage]
448
+ # @param modifiers [CandidApiClient::Commons::Types::ProcedureModifier]
449
+ # @param request_options [CandidApiClient::RequestOptions]
450
+ # @return [CandidApiClient::FeeSchedules::V3::Types::RatesPage]
451
+ # @example
452
+ # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
453
+ # api.fee_schedules.v_3.get_multi(
454
+ # page_token: "eyJ0b2tlbiI6IjEiLCJwYWdlX3Rva2VuIjoiMiJ9",
455
+ # limit: 1,
456
+ # active_date: DateTime.parse(2023-01-15),
457
+ # payer_uuid: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32",
458
+ # organization_billing_provider_id: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32",
459
+ # states: AA,
460
+ # zip_codes: "string",
461
+ # license_types: MD,
462
+ # facility_type_codes: PHARMACY,
463
+ # network_types: PPO,
464
+ # cpt_code: "string",
465
+ # modifiers: TWENTY_TWO
466
+ # )
311
467
  def get_multi(page_token: nil, limit: nil, active_date: nil, payer_uuid: nil,
312
468
  organization_billing_provider_id: nil, states: nil, zip_codes: nil, license_types: nil, facility_type_codes: nil, network_types: nil, cpt_code: nil, modifiers: nil, request_options: nil)
313
469
  Async do
314
- response = @request_client.conn.get("/api/fee-schedules/v3") do |req|
470
+ response = @request_client.conn.get do |req|
315
471
  req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
316
472
  req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
317
- req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
473
+ req.headers = {
474
+ **(req.headers || {}),
475
+ **@request_client.get_headers,
476
+ **(request_options&.additional_headers || {})
477
+ }.compact
318
478
  req.params = {
319
479
  **(request_options&.additional_query_parameters || {}),
320
480
  "page_token": page_token,
@@ -330,34 +490,58 @@ module CandidApiClient
330
490
  "cpt_code": cpt_code,
331
491
  "modifiers": modifiers
332
492
  }.compact
493
+ req.url "#{@request_client.get_url(environment: CandidApi,
494
+ request_options: request_options)}/api/fee-schedules/v3"
333
495
  end
334
- FeeSchedules::V3::RatesPage.from_json(json_object: response.body)
496
+ CandidApiClient::FeeSchedules::V3::Types::RatesPage.from_json(json_object: response.body)
335
497
  end
336
498
  end
337
499
 
338
- # Gets unique values for a dimension based on other selection criteria. The response is a list of dimensions with your criteria and the unique values populated. This API is useful for driving pivots on dimension values.
500
+ # Gets unique values for a dimension based on other selection criteria. The
501
+ # response is a list of dimensions with your criteria and the unique values
502
+ # populated. This API is useful for driving pivots on dimension values.
339
503
  #
340
- # @param page_token [Commons::PAGE_TOKEN]
504
+ # @param page_token [String]
341
505
  # @param limit [Integer] Max number of values returned. Defaults to 1000. Max is 1000.
342
- # @param pivot_dimension [FeeSchedules::V3::DimensionName] The name of the dimension to fetch unique values for.
343
- # @param payer_uuid [Payers::V3::PAYER_UUID]
344
- # @param organization_billing_provider_id [OrganizationProviders::V2::ORGANIZATION_PROVIDER_ID]
345
- # @param states [Commons::State]
506
+ # @param pivot_dimension [CandidApiClient::FeeSchedules::V3::Types::DimensionName] The name of the dimension to fetch unique values for.
507
+ # @param payer_uuid [String]
508
+ # @param organization_billing_provider_id [String]
509
+ # @param states [CandidApiClient::Commons::Types::State]
346
510
  # @param zip_codes [String]
347
- # @param license_types [OrganizationProviders::V2::LicenseType]
348
- # @param facility_type_codes [Commons::FacilityTypeCode]
349
- # @param network_types [Commons::NetworkType]
511
+ # @param license_types [CandidApiClient::OrganizationProviders::V2::Types::LicenseType]
512
+ # @param facility_type_codes [CandidApiClient::Commons::Types::FacilityTypeCode]
513
+ # @param network_types [CandidApiClient::Commons::Types::NetworkType]
350
514
  # @param cpt_code [String]
351
- # @param modifiers [Commons::ProcedureModifier]
352
- # @param request_options [RequestOptions]
353
- # @return [FeeSchedules::V3::DimensionsPage]
515
+ # @param modifiers [CandidApiClient::Commons::Types::ProcedureModifier]
516
+ # @param request_options [CandidApiClient::RequestOptions]
517
+ # @return [CandidApiClient::FeeSchedules::V3::Types::DimensionsPage]
518
+ # @example
519
+ # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
520
+ # api.fee_schedules.v_3.get_unique_values_for_dimension(
521
+ # page_token: "eyJ0b2tlbiI6IjEiLCJwYWdlX3Rva2VuIjoiMiJ9",
522
+ # limit: 1,
523
+ # pivot_dimension: PAYER_UUID,
524
+ # payer_uuid: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32",
525
+ # organization_billing_provider_id: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32",
526
+ # states: AA,
527
+ # zip_codes: "string",
528
+ # license_types: MD,
529
+ # facility_type_codes: PHARMACY,
530
+ # network_types: PPO,
531
+ # cpt_code: "string",
532
+ # modifiers: TWENTY_TWO
533
+ # )
354
534
  def get_unique_values_for_dimension(pivot_dimension:, page_token: nil, limit: nil, payer_uuid: nil,
355
535
  organization_billing_provider_id: nil, states: nil, zip_codes: nil, license_types: nil, facility_type_codes: nil, network_types: nil, cpt_code: nil, modifiers: nil, request_options: nil)
356
536
  Async do
357
- response = @request_client.conn.get("/api/fee-schedules/v3/unique-dimension-values") do |req|
537
+ response = @request_client.conn.get do |req|
358
538
  req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
359
539
  req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
360
- req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
540
+ req.headers = {
541
+ **(req.headers || {}),
542
+ **@request_client.get_headers,
543
+ **(request_options&.additional_headers || {})
544
+ }.compact
361
545
  req.params = {
362
546
  **(request_options&.additional_query_parameters || {}),
363
547
  "page_token": page_token,
@@ -373,124 +557,188 @@ module CandidApiClient
373
557
  "cpt_code": cpt_code,
374
558
  "modifiers": modifiers
375
559
  }.compact
560
+ req.url "#{@request_client.get_url(environment: CandidApi,
561
+ request_options: request_options)}/api/fee-schedules/v3/unique-dimension-values"
376
562
  end
377
- FeeSchedules::V3::DimensionsPage.from_json(json_object: response.body)
563
+ CandidApiClient::FeeSchedules::V3::Types::DimensionsPage.from_json(json_object: response.body)
378
564
  end
379
565
  end
380
566
 
381
567
  # Gets every version of a rate.
382
568
  #
383
- # @param rate_id [Commons::RATE_ID]
384
- # @param request_options [RequestOptions]
385
- # @return [Array<FeeSchedules::V3::Rate>]
569
+ # @param rate_id [String]
570
+ # @param request_options [CandidApiClient::RequestOptions]
571
+ # @return [Array<CandidApiClient::FeeSchedules::V3::Types::Rate>]
572
+ # @example
573
+ # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
574
+ # api.fee_schedules.v_3.get_rate_history(rate_id: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32")
386
575
  def get_rate_history(rate_id:, request_options: nil)
387
576
  Async do
388
- response = @request_client.conn.get("/api/fee-schedules/v3/#{rate_id}/history") do |req|
577
+ response = @request_client.conn.get do |req|
389
578
  req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
390
579
  req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
391
- req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
580
+ req.headers = {
581
+ **(req.headers || {}),
582
+ **@request_client.get_headers,
583
+ **(request_options&.additional_headers || {})
584
+ }.compact
585
+ req.url "#{@request_client.get_url(environment: CandidApi,
586
+ request_options: request_options)}/api/fee-schedules/v3/#{rate_id}/history"
392
587
  end
393
- response.body&.map do |v|
394
- v = v.to_json
395
- FeeSchedules::V3::Rate.from_json(json_object: v)
588
+ parsed_json = JSON.parse(response.body)
589
+ parsed_json&.map do |item|
590
+ item = item.to_json
591
+ CandidApiClient::FeeSchedules::V3::Types::Rate.from_json(json_object: item)
396
592
  end
397
593
  end
398
594
  end
399
595
 
400
- # Uploads a new fee schedule.\n Each rate may either be totally new as qualified by it's dimensions or a new version for an existing rate.\n If adding a new version to an existing rate, the rate must be posted with the next version number (previous version + 1) or a EntityConflictError will be returned.\n Use the dry run flag to discover already existing rates and to run validations. If validations for any rate fail, no rates will be saved to the system.
596
+ # Uploads a new fee schedule.\n Each rate may either be totally new as qualified
597
+ # by it's dimensions or a new version for an existing rate.\n If adding a new
598
+ # version to an existing rate, the rate must be posted with the next version
599
+ # number (previous version + 1) or a EntityConflictError will be returned.\n Use
600
+ # the dry run flag to discover already existing rates and to run validations. If
601
+ # validations for any rate fail, no rates will be saved to the system.
401
602
  #
402
603
  # @param dry_run [Boolean]
403
- # @param rates [Array<Hash>] Request of type Array<FeeSchedules::V3::RateUpload>, as a Hash
404
- # @param request_options [RequestOptions]
405
- # @return [Array<FeeSchedules::V3::Rate>]
604
+ # @param rates [Array<Hash>] Request of type Array<CandidApiClient::FeeSchedules::V3::Types::RateUpload>, as a Hash
605
+ # @param request_options [CandidApiClient::RequestOptions]
606
+ # @return [Array<CandidApiClient::FeeSchedules::V3::Types::Rate>]
607
+ # @example
608
+ # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
609
+ # api.fee_schedules.v_3.upload_fee_schedule(dry_run: true, rates: )
406
610
  def upload_fee_schedule(dry_run:, rates:, request_options: nil)
407
611
  Async do
408
- response = @request_client.conn.post("/api/fee-schedules/v3") do |req|
612
+ response = @request_client.conn.post do |req|
409
613
  req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
410
614
  req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
411
- req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
615
+ req.headers = {
616
+ **(req.headers || {}),
617
+ **@request_client.get_headers,
618
+ **(request_options&.additional_headers || {})
619
+ }.compact
412
620
  req.body = {
413
621
  **(request_options&.additional_body_parameters || {}),
414
622
  dry_run: dry_run,
415
623
  rates: rates
416
624
  }.compact
625
+ req.url "#{@request_client.get_url(environment: CandidApi,
626
+ request_options: request_options)}/api/fee-schedules/v3"
417
627
  end
418
- response.body&.map do |v|
419
- v = v.to_json
420
- FeeSchedules::V3::Rate.from_json(json_object: v)
628
+ parsed_json = JSON.parse(response.body)
629
+ parsed_json&.map do |item|
630
+ item = item.to_json
631
+ CandidApiClient::FeeSchedules::V3::Types::Rate.from_json(json_object: item)
421
632
  end
422
633
  end
423
634
  end
424
635
 
425
- # Soft deletes a rate from the system. Only the most recent version of a rate can be deleted.
636
+ # Soft deletes a rate from the system. Only the most recent version of a rate can
637
+ # be deleted.
426
638
  #
427
- # @param rate_id [Commons::RATE_ID]
639
+ # @param rate_id [String]
428
640
  # @param version [Integer]
429
- # @param request_options [RequestOptions]
641
+ # @param request_options [CandidApiClient::RequestOptions]
430
642
  # @return [Void]
643
+ # @example
644
+ # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
645
+ # api.fee_schedules.v_3.delete_rate(rate_id: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", version: 1)
431
646
  def delete_rate(rate_id:, version:, request_options: nil)
432
647
  Async do
433
- @request_client.conn.delete("/api/fee-schedules/v3/#{rate_id}/#{version}") do |req|
648
+ @request_client.conn.delete do |req|
434
649
  req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
435
650
  req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
436
- req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
651
+ req.headers = {
652
+ **(req.headers || {}),
653
+ **@request_client.get_headers,
654
+ **(request_options&.additional_headers || {})
655
+ }.compact
656
+ req.url "#{@request_client.get_url(environment: CandidApi,
657
+ request_options: request_options)}/api/fee-schedules/v3/#{rate_id}/#{version}"
437
658
  end
438
659
  end
439
660
  end
440
661
 
441
662
  # Gets the default payer threshold
442
663
  #
443
- # @param request_options [RequestOptions]
444
- # @return [FeeSchedules::V3::PayerThreshold]
664
+ # @param request_options [CandidApiClient::RequestOptions]
665
+ # @return [CandidApiClient::FeeSchedules::V3::Types::PayerThreshold]
666
+ # @example
667
+ # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
668
+ # api.fee_schedules.v_3.get_payer_thresholds_default
445
669
  def get_payer_thresholds_default(request_options: nil)
446
670
  Async do
447
- response = @request_client.conn.get("/api/fee-schedules/v3/payer-threshold/default") do |req|
671
+ response = @request_client.conn.get do |req|
448
672
  req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
449
673
  req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
450
- req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
674
+ req.headers = {
675
+ **(req.headers || {}),
676
+ **@request_client.get_headers,
677
+ **(request_options&.additional_headers || {})
678
+ }.compact
679
+ req.url "#{@request_client.get_url(environment: CandidApi,
680
+ request_options: request_options)}/api/fee-schedules/v3/payer-threshold/default"
451
681
  end
452
- FeeSchedules::V3::PayerThreshold.from_json(json_object: response.body)
682
+ CandidApiClient::FeeSchedules::V3::Types::PayerThreshold.from_json(json_object: response.body)
453
683
  end
454
684
  end
455
685
 
456
686
  # Gets a list of payers and thresholds by their uuids
457
687
  #
458
- # @param payer_uuids [Payers::V3::PAYER_UUID]
459
- # @param request_options [RequestOptions]
460
- # @return [FeeSchedules::V3::PayerThresholdsPage]
688
+ # @param payer_uuids [String]
689
+ # @param request_options [CandidApiClient::RequestOptions]
690
+ # @return [CandidApiClient::FeeSchedules::V3::Types::PayerThresholdsPage]
691
+ # @example
692
+ # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
693
+ # api.fee_schedules.v_3.get_payer_thresholds(payer_uuids: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32")
461
694
  def get_payer_thresholds(payer_uuids:, request_options: nil)
462
695
  Async do
463
- response = @request_client.conn.get("/api/fee-schedules/v3/payer-threshold") do |req|
696
+ response = @request_client.conn.get do |req|
464
697
  req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
465
698
  req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
466
- req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
699
+ req.headers = {
700
+ **(req.headers || {}),
701
+ **@request_client.get_headers,
702
+ **(request_options&.additional_headers || {})
703
+ }.compact
467
704
  req.params = {
468
705
  **(request_options&.additional_query_parameters || {}),
469
706
  "payer_uuids": payer_uuids
470
707
  }.compact
708
+ req.url "#{@request_client.get_url(environment: CandidApi,
709
+ request_options: request_options)}/api/fee-schedules/v3/payer-threshold"
471
710
  end
472
- FeeSchedules::V3::PayerThresholdsPage.from_json(json_object: response.body)
711
+ CandidApiClient::FeeSchedules::V3::Types::PayerThresholdsPage.from_json(json_object: response.body)
473
712
  end
474
713
  end
475
714
 
476
715
  # Sets the threshold information for a payer
477
716
  #
478
- # @param payer_uuid [Payers::V3::PAYER_UUID]
479
- # @param request [Hash] Request of type FeeSchedules::V3::PayerThreshold, as a Hash
717
+ # @param payer_uuid [String]
718
+ # @param request [Hash] Request of type CandidApiClient::FeeSchedules::V3::Types::PayerThreshold, as a Hash
480
719
  # * :upper_threshold_cents (Integer)
481
720
  # * :lower_threshold_cents (Integer)
482
721
  # * :disable_paid_incorrectly (Boolean)
483
- # @param request_options [RequestOptions]
484
- # @return [FeeSchedules::V3::PayerThreshold]
722
+ # @param request_options [CandidApiClient::RequestOptions]
723
+ # @return [CandidApiClient::FeeSchedules::V3::Types::PayerThreshold]
724
+ # @example
725
+ # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
726
+ # api.fee_schedules.v_3.set_payer_threshold(payer_uuid: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", request: { upper_threshold_cents: 1, lower_threshold_cents: 1, disable_paid_incorrectly: true })
485
727
  def set_payer_threshold(payer_uuid:, request:, request_options: nil)
486
728
  Async do
487
- response = @request_client.conn.put("/api/fee-schedules/v3/payer-threshold/#{payer_uuid}") do |req|
729
+ response = @request_client.conn.put do |req|
488
730
  req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
489
731
  req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
490
- req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
732
+ req.headers = {
733
+ **(req.headers || {}),
734
+ **@request_client.get_headers,
735
+ **(request_options&.additional_headers || {})
736
+ }.compact
491
737
  req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
738
+ req.url "#{@request_client.get_url(environment: CandidApi,
739
+ request_options: request_options)}/api/fee-schedules/v3/payer-threshold/#{payer_uuid}"
492
740
  end
493
- FeeSchedules::V3::PayerThreshold.from_json(json_object: response.body)
741
+ CandidApiClient::FeeSchedules::V3::Types::PayerThreshold.from_json(json_object: response.body)
494
742
  end
495
743
  end
496
744
  end