candidhealth 0.21.0 → 0.24.0.pre.2a6d412

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 (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 +1056 -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 +732 -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 +44 -57
  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
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4e2b9e45ff99c41a146ed25541c02929775eb6adee44c7fde13754caa5dde3c6
4
- data.tar.gz: eec617c6b632b0092078fe9b614a6ba87148c8129d2ef89978c872bd81d73848
3
+ metadata.gz: 72fe9d3805ad059f12abb2e6ea629db4fec3117ee0438e8dd2e12bd24d4c8c39
4
+ data.tar.gz: 51cac8dd9657c3fa2eb718e35437171d0797c80894d26c7a75934d546f285947
5
5
  SHA512:
6
- metadata.gz: 5ede0cf3d8acfa994f8d14bbf97d9fb9af9d413f892c99a1f5086e9205eaa6c8e5e5cf0529891e65f88579d530774e22e2700f329f37a9ab1760e10c0bef8f8c
7
- data.tar.gz: 4220d63500d9a2c8e5937e822dfba737e295e4a66a7f3362421bb505f29e72677fb80a54a94e7b7c4eece6cd30cc22bfd47511f71b8919123fd42e0b336e666d
6
+ metadata.gz: 3892c45df0d807acb981ff7eb29b7793c4b270a0290960329d2bd7412aca0b1d21abdb5b38400385d63fe458affddc93f561bab69da091ff3bc96ff4fcfaabb7
7
+ data.tar.gz: a48add30c0dd8990a3c60053d911a128c352868a6ab251dce88792c58e49471442ec8b7c1623d6428463e6331833a6eb61e36eaa065141d2d041dac68692732f
@@ -6,22 +6,24 @@ require_relative "v_2/client"
6
6
  module CandidApiClient
7
7
  module Auth
8
8
  class Client
9
+ # @return [CandidApiClient::Auth::V2::V2Client]
9
10
  attr_reader :v_2
10
11
 
11
- # @param request_client [RequestClient]
12
- # @return [Auth::Client]
12
+ # @param request_client [CandidApiClient::RequestClient]
13
+ # @return [CandidApiClient::Auth::Client]
13
14
  def initialize(request_client:)
14
- @v_2 = Auth::V2::V2Client.new(request_client: request_client)
15
+ @v_2 = CandidApiClient::Auth::V2::V2Client.new(request_client: request_client)
15
16
  end
16
17
  end
17
18
 
18
19
  class AsyncClient
20
+ # @return [CandidApiClient::Auth::V2::AsyncV2Client]
19
21
  attr_reader :v_2
20
22
 
21
- # @param request_client [RequestClient]
22
- # @return [Auth::AsyncClient]
23
+ # @param request_client [CandidApiClient::AsyncRequestClient]
24
+ # @return [CandidApiClient::Auth::AsyncClient]
23
25
  def initialize(request_client:)
24
- @v_2 = Auth::V2::AsyncV2Client.new(request_client: request_client)
26
+ @v_2 = CandidApiClient::Auth::V2::AsyncV2Client.new(request_client: request_client)
25
27
  end
26
28
  end
27
29
  end
@@ -8,85 +8,133 @@ module CandidApiClient
8
8
  module Auth
9
9
  module V2
10
10
  class V2Client
11
+ # @return [CandidApiClient::RequestClient]
11
12
  attr_reader :request_client
12
13
 
13
- # @param request_client [RequestClient]
14
- # @return [Auth::V2::V2Client]
14
+ # @param request_client [CandidApiClient::RequestClient]
15
+ # @return [CandidApiClient::Auth::V2::V2Client]
15
16
  def initialize(request_client:)
16
- # @type [RequestClient]
17
17
  @request_client = request_client
18
18
  end
19
19
 
20
- # Authenticating with the Candid Health API.
21
- #
22
- # Candid Health utilizes the [OAuth 2.0 bearer token authentication scheme](https://developer.mozilla.org/en-US/docs/Web/HTTP/Authentication) in our auth flow. You obtain the bearer token for all
23
- # subsequent API requests via the `/auth/token` endpoint defined below, which requires you to provide your `client_id` and `client_secret`. Your `client_id` and `client_secret` can be [generated](https://support.joincandidhealth.com/hc/en-us/articles/23065219476244--Generating-Candid-API-Keys) from the "Users & Credentials" tab by your org admin.
24
- #
25
- # The bearer token should be provided in the `Authorization` header for all subsequent API calls.
26
- #
27
- # **Warning:**
28
- #
29
- # The bearer token expires 5 hours after it has been created. After it has expired, the client will receive an "HTTP 401
30
- # Unauthorized" error, at which point the client should generate a new token. It is important that tokens be reused between requests; if the client attempts to generate a token too often, it will be rate-limited and will receive an "HTTP 429 Too Many Requests" error.
20
+ # <Callout intent="info">
21
+ # Candid Health SDKs automatically handle authentication workflows after
22
+ # configuring them with the `client_id` and
23
+ # `client_secret`.
24
+ # </Callout>
25
+ # Candid Health utilizes the [OAuth 2.0 bearer token authentication
26
+ # scheme](https://developer.mozilla.org/en-US/docs/Web/HTTP/Authentication) in our
27
+ # auth flow. You obtain the bearer token for all
28
+ # subsequent API requests via the `/auth/token` endpoint defined below, which
29
+ # requires you to provide your `client_id` and `client_secret`. Your `client_id`
30
+ # and `client_secret` can be
31
+ # incandidhealth.com/hc/en-us/articles/23065219476244--Generating-Candid-API-Keys)
32
+ # from the "Users & Credentials" tab by your org admin.
33
+ # The bearer token is a signed [JWT](https://jwt.io/). The public key for the JWT
34
+ # can be found [here](https://candidhealth.auth0.com/pem) for any verification
35
+ # workflows.
36
+ # The bearer token should be provided in the `Authorization` header for all
37
+ # subsequent API calls.
38
+ # <Callout intent="warning">
39
+ # The bearer token expires 5 hours after it has been created. After it has
40
+ # expired, the client will receive an "HTTP 401
41
+ # Unauthorized" error, at which point the client should generate a new token. It
42
+ # is important that tokens be reused between
43
+ # requests; if the client attempts to generate a token too often, it will be
44
+ # rate-limited and will receive an `HTTP 429 Too Many Requests` error.
45
+ # </Callout>
31
46
  #
32
47
  # @param client_id [String] Your application's Client ID.
33
48
  # @param client_secret [String] Your application's Client Secret.
34
- # @param request_options [RequestOptions]
35
- # @return [Auth::V2::AuthGetTokenResponse]
49
+ # @param request_options [CandidApiClient::RequestOptions]
50
+ # @return [CandidApiClient::Auth::V2::Types::AuthGetTokenResponse]
51
+ # @example
52
+ # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
53
+ # api.auth.v_2.get_token(client_id: "YOUR_CLIENT_ID", client_secret: "YOUR_CLIENT_SECRET")
36
54
  def get_token(client_id:, client_secret:, request_options: nil)
37
- response = @request_client.conn.post("/api/auth/v2/token") do |req|
55
+ response = @request_client.conn.post do |req|
38
56
  req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
39
57
  req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
40
- req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
58
+ req.headers = {
59
+ **(req.headers || {}),
60
+ **@request_client.get_headers,
61
+ **(request_options&.additional_headers || {})
62
+ }.compact
41
63
  req.body = {
42
64
  **(request_options&.additional_body_parameters || {}),
43
65
  client_id: client_id,
44
66
  client_secret: client_secret
45
67
  }.compact
68
+ req.url "#{@request_client.get_url(environment: CandidApi,
69
+ request_options: request_options)}/api/auth/v2/token"
46
70
  end
47
- Auth::V2::AuthGetTokenResponse.from_json(json_object: response.body)
71
+ CandidApiClient::Auth::V2::Types::AuthGetTokenResponse.from_json(json_object: response.body)
48
72
  end
49
73
  end
50
74
 
51
75
  class AsyncV2Client
76
+ # @return [CandidApiClient::AsyncRequestClient]
52
77
  attr_reader :request_client
53
78
 
54
- # @param request_client [AsyncRequestClient]
55
- # @return [Auth::V2::AsyncV2Client]
79
+ # @param request_client [CandidApiClient::AsyncRequestClient]
80
+ # @return [CandidApiClient::Auth::V2::AsyncV2Client]
56
81
  def initialize(request_client:)
57
- # @type [AsyncRequestClient]
58
82
  @request_client = request_client
59
83
  end
60
84
 
61
- # Authenticating with the Candid Health API.
62
- #
63
- # Candid Health utilizes the [OAuth 2.0 bearer token authentication scheme](https://developer.mozilla.org/en-US/docs/Web/HTTP/Authentication) in our auth flow. You obtain the bearer token for all
64
- # subsequent API requests via the `/auth/token` endpoint defined below, which requires you to provide your `client_id` and `client_secret`. Your `client_id` and `client_secret` can be [generated](https://support.joincandidhealth.com/hc/en-us/articles/23065219476244--Generating-Candid-API-Keys) from the "Users & Credentials" tab by your org admin.
65
- #
66
- # The bearer token should be provided in the `Authorization` header for all subsequent API calls.
67
- #
68
- # **Warning:**
69
- #
70
- # The bearer token expires 5 hours after it has been created. After it has expired, the client will receive an "HTTP 401
71
- # Unauthorized" error, at which point the client should generate a new token. It is important that tokens be reused between requests; if the client attempts to generate a token too often, it will be rate-limited and will receive an "HTTP 429 Too Many Requests" error.
85
+ # <Callout intent="info">
86
+ # Candid Health SDKs automatically handle authentication workflows after
87
+ # configuring them with the `client_id` and
88
+ # `client_secret`.
89
+ # </Callout>
90
+ # Candid Health utilizes the [OAuth 2.0 bearer token authentication
91
+ # scheme](https://developer.mozilla.org/en-US/docs/Web/HTTP/Authentication) in our
92
+ # auth flow. You obtain the bearer token for all
93
+ # subsequent API requests via the `/auth/token` endpoint defined below, which
94
+ # requires you to provide your `client_id` and `client_secret`. Your `client_id`
95
+ # and `client_secret` can be
96
+ # incandidhealth.com/hc/en-us/articles/23065219476244--Generating-Candid-API-Keys)
97
+ # from the "Users & Credentials" tab by your org admin.
98
+ # The bearer token is a signed [JWT](https://jwt.io/). The public key for the JWT
99
+ # can be found [here](https://candidhealth.auth0.com/pem) for any verification
100
+ # workflows.
101
+ # The bearer token should be provided in the `Authorization` header for all
102
+ # subsequent API calls.
103
+ # <Callout intent="warning">
104
+ # The bearer token expires 5 hours after it has been created. After it has
105
+ # expired, the client will receive an "HTTP 401
106
+ # Unauthorized" error, at which point the client should generate a new token. It
107
+ # is important that tokens be reused between
108
+ # requests; if the client attempts to generate a token too often, it will be
109
+ # rate-limited and will receive an `HTTP 429 Too Many Requests` error.
110
+ # </Callout>
72
111
  #
73
112
  # @param client_id [String] Your application's Client ID.
74
113
  # @param client_secret [String] Your application's Client Secret.
75
- # @param request_options [RequestOptions]
76
- # @return [Auth::V2::AuthGetTokenResponse]
114
+ # @param request_options [CandidApiClient::RequestOptions]
115
+ # @return [CandidApiClient::Auth::V2::Types::AuthGetTokenResponse]
116
+ # @example
117
+ # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
118
+ # api.auth.v_2.get_token(client_id: "YOUR_CLIENT_ID", client_secret: "YOUR_CLIENT_SECRET")
77
119
  def get_token(client_id:, client_secret:, request_options: nil)
78
120
  Async do
79
- response = @request_client.conn.post("/api/auth/v2/token") do |req|
121
+ response = @request_client.conn.post do |req|
80
122
  req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
81
123
  req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
82
- req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
124
+ req.headers = {
125
+ **(req.headers || {}),
126
+ **@request_client.get_headers,
127
+ **(request_options&.additional_headers || {})
128
+ }.compact
83
129
  req.body = {
84
130
  **(request_options&.additional_body_parameters || {}),
85
131
  client_id: client_id,
86
132
  client_secret: client_secret
87
133
  }.compact
134
+ req.url "#{@request_client.get_url(environment: CandidApi,
135
+ request_options: request_options)}/api/auth/v2/token"
88
136
  end
89
- Auth::V2::AuthGetTokenResponse.from_json(json_object: response.body)
137
+ CandidApiClient::Auth::V2::Types::AuthGetTokenResponse.from_json(json_object: response.body)
90
138
  end
91
139
  end
92
140
  end
@@ -1,57 +1,75 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require "ostruct"
3
4
  require "json"
4
5
 
5
6
  module CandidApiClient
6
7
  module Auth
7
8
  module V2
8
- class AuthGetTokenResponse
9
- attr_reader :access_token, :expires_in, :token_type, :additional_properties
9
+ module Types
10
+ class AuthGetTokenResponse
11
+ # @return [String]
12
+ attr_reader :access_token
13
+ # @return [Integer] Time in seconds.
14
+ attr_reader :expires_in
15
+ # @return [String]
16
+ attr_reader :token_type
17
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
18
+ attr_reader :additional_properties
19
+ # @return [Object]
20
+ attr_reader :_field_set
21
+ protected :_field_set
10
22
 
11
- # @param access_token [String]
12
- # @param expires_in [Integer] Time in seconds.
13
- # @param token_type [String]
14
- # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
15
- # @return [Auth::V2::AuthGetTokenResponse]
16
- def initialize(access_token:, expires_in:, token_type:, additional_properties: nil)
17
- # @type [String]
18
- @access_token = access_token
19
- # @type [Integer] Time in seconds.
20
- @expires_in = expires_in
21
- # @type [String]
22
- @token_type = token_type
23
- # @type [OpenStruct] Additional properties unmapped to the current class definition
24
- @additional_properties = additional_properties
25
- end
23
+ OMIT = Object.new
26
24
 
27
- # Deserialize a JSON object to an instance of AuthGetTokenResponse
28
- #
29
- # @param json_object [JSON]
30
- # @return [Auth::V2::AuthGetTokenResponse]
31
- def self.from_json(json_object:)
32
- struct = JSON.parse(json_object, object_class: OpenStruct)
33
- JSON.parse(json_object)
34
- access_token = struct.access_token
35
- expires_in = struct.expires_in
36
- token_type = struct.token_type
37
- new(access_token: access_token, expires_in: expires_in, token_type: token_type, additional_properties: struct)
38
- end
25
+ # @param access_token [String]
26
+ # @param expires_in [Integer] Time in seconds.
27
+ # @param token_type [String]
28
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
29
+ # @return [CandidApiClient::Auth::V2::Types::AuthGetTokenResponse]
30
+ def initialize(access_token:, expires_in:, token_type:, additional_properties: nil)
31
+ @access_token = access_token
32
+ @expires_in = expires_in
33
+ @token_type = token_type
34
+ @additional_properties = additional_properties
35
+ @_field_set = { "access_token": access_token, "expires_in": expires_in, "token_type": token_type }
36
+ end
39
37
 
40
- # Serialize an instance of AuthGetTokenResponse to a JSON object
41
- #
42
- # @return [JSON]
43
- def to_json(*_args)
44
- { "access_token": @access_token, "expires_in": @expires_in, "token_type": @token_type }.to_json
45
- end
38
+ # Deserialize a JSON object to an instance of AuthGetTokenResponse
39
+ #
40
+ # @param json_object [String]
41
+ # @return [CandidApiClient::Auth::V2::Types::AuthGetTokenResponse]
42
+ def self.from_json(json_object:)
43
+ struct = JSON.parse(json_object, object_class: OpenStruct)
44
+ access_token = struct["access_token"]
45
+ expires_in = struct["expires_in"]
46
+ token_type = struct["token_type"]
47
+ new(
48
+ access_token: access_token,
49
+ expires_in: expires_in,
50
+ token_type: token_type,
51
+ additional_properties: struct
52
+ )
53
+ end
54
+
55
+ # Serialize an instance of AuthGetTokenResponse to a JSON object
56
+ #
57
+ # @return [String]
58
+ def to_json(*_args)
59
+ @_field_set&.to_json
60
+ end
46
61
 
47
- # 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.
48
- #
49
- # @param obj [Object]
50
- # @return [Void]
51
- def self.validate_raw(obj:)
52
- obj.access_token.is_a?(String) != false || raise("Passed value for field obj.access_token is not the expected type, validation failed.")
53
- obj.expires_in.is_a?(Integer) != false || raise("Passed value for field obj.expires_in is not the expected type, validation failed.")
54
- obj.token_type.is_a?(String) != false || raise("Passed value for field obj.token_type is not the expected type, validation failed.")
62
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
63
+ # hash and check each fields type against the current object's property
64
+ # definitions.
65
+ #
66
+ # @param obj [Object]
67
+ # @return [Void]
68
+ def self.validate_raw(obj:)
69
+ obj.access_token.is_a?(String) != false || raise("Passed value for field obj.access_token is not the expected type, validation failed.")
70
+ obj.expires_in.is_a?(Integer) != false || raise("Passed value for field obj.expires_in is not the expected type, validation failed.")
71
+ obj.token_type.is_a?(String) != false || raise("Passed value for field obj.token_type is not the expected type, validation failed.")
72
+ end
55
73
  end
56
74
  end
57
75
  end
@@ -1,47 +1,58 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require "ostruct"
3
4
  require "json"
4
5
 
5
6
  module CandidApiClient
6
7
  module Auth
7
8
  module V2
8
- class TooManyRequestsErrorType
9
- attr_reader :message, :additional_properties
9
+ module Types
10
+ class TooManyRequestsErrorType
11
+ # @return [String]
12
+ attr_reader :message
13
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
14
+ attr_reader :additional_properties
15
+ # @return [Object]
16
+ attr_reader :_field_set
17
+ protected :_field_set
10
18
 
11
- # @param message [String]
12
- # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
13
- # @return [Auth::V2::TooManyRequestsErrorType]
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
19
+ OMIT = Object.new
20
20
 
21
- # Deserialize a JSON object to an instance of TooManyRequestsErrorType
22
- #
23
- # @param json_object [JSON]
24
- # @return [Auth::V2::TooManyRequestsErrorType]
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
21
+ # @param message [String]
22
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
23
+ # @return [CandidApiClient::Auth::V2::Types::TooManyRequestsErrorType]
24
+ def initialize(message:, additional_properties: nil)
25
+ @message = message
26
+ @additional_properties = additional_properties
27
+ @_field_set = { "message": message }
28
+ end
31
29
 
32
- # Serialize an instance of TooManyRequestsErrorType to a JSON object
33
- #
34
- # @return [JSON]
35
- def to_json(*_args)
36
- { "message": @message }.to_json
37
- end
30
+ # Deserialize a JSON object to an instance of TooManyRequestsErrorType
31
+ #
32
+ # @param json_object [String]
33
+ # @return [CandidApiClient::Auth::V2::Types::TooManyRequestsErrorType]
34
+ def self.from_json(json_object:)
35
+ struct = JSON.parse(json_object, object_class: OpenStruct)
36
+ message = struct["message"]
37
+ new(message: message, additional_properties: struct)
38
+ end
39
+
40
+ # Serialize an instance of TooManyRequestsErrorType to a JSON object
41
+ #
42
+ # @return [String]
43
+ def to_json(*_args)
44
+ @_field_set&.to_json
45
+ end
38
46
 
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.")
47
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
48
+ # hash and check each fields type against the current object's property
49
+ # definitions.
50
+ #
51
+ # @param obj [Object]
52
+ # @return [Void]
53
+ def self.validate_raw(obj:)
54
+ obj.message.is_a?(String) != false || raise("Passed value for field obj.message is not the expected type, validation failed.")
55
+ end
45
56
  end
46
57
  end
47
58
  end
@@ -6,22 +6,24 @@ require_relative "v_2/client"
6
6
  module CandidApiClient
7
7
  module BillingNotes
8
8
  class Client
9
+ # @return [CandidApiClient::BillingNotes::V2::V2Client]
9
10
  attr_reader :v_2
10
11
 
11
- # @param request_client [RequestClient]
12
- # @return [BillingNotes::Client]
12
+ # @param request_client [CandidApiClient::RequestClient]
13
+ # @return [CandidApiClient::BillingNotes::Client]
13
14
  def initialize(request_client:)
14
- @v_2 = BillingNotes::V2::V2Client.new(request_client: request_client)
15
+ @v_2 = CandidApiClient::BillingNotes::V2::V2Client.new(request_client: request_client)
15
16
  end
16
17
  end
17
18
 
18
19
  class AsyncClient
20
+ # @return [CandidApiClient::BillingNotes::V2::AsyncV2Client]
19
21
  attr_reader :v_2
20
22
 
21
- # @param request_client [RequestClient]
22
- # @return [BillingNotes::AsyncClient]
23
+ # @param request_client [CandidApiClient::AsyncRequestClient]
24
+ # @return [CandidApiClient::BillingNotes::AsyncClient]
23
25
  def initialize(request_client:)
24
- @v_2 = BillingNotes::V2::AsyncV2Client.new(request_client: request_client)
26
+ @v_2 = CandidApiClient::BillingNotes::V2::AsyncV2Client.new(request_client: request_client)
25
27
  end
26
28
  end
27
29
  end
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_relative "../../../requests"
4
- require_relative "../../commons/types/encounter_id"
4
+ require "ostruct"
5
5
  require_relative "types/billing_note"
6
6
  require "async"
7
7
 
@@ -9,65 +9,87 @@ module CandidApiClient
9
9
  module BillingNotes
10
10
  module V2
11
11
  class V2Client
12
+ # @return [CandidApiClient::RequestClient]
12
13
  attr_reader :request_client
13
14
 
14
- # @param request_client [RequestClient]
15
- # @return [BillingNotes::V2::V2Client]
15
+ # @param request_client [CandidApiClient::RequestClient]
16
+ # @return [CandidApiClient::BillingNotes::V2::V2Client]
16
17
  def initialize(request_client:)
17
- # @type [RequestClient]
18
18
  @request_client = request_client
19
19
  end
20
20
 
21
21
  # @param text [String] Empty string not allowed.
22
22
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
23
- # @param encounter_id [Commons::ENCOUNTER_ID]
24
- # @param request_options [RequestOptions]
25
- # @return [BillingNotes::V2::BillingNote]
26
- def create(text:, encounter_id:, additional_properties: nil, request_options: nil)
27
- response = @request_client.conn.post("/api/billing_notes/v2") do |req|
23
+ # @param _field_set [Object]
24
+ # @param encounter_id [String]
25
+ # @param request_options [CandidApiClient::RequestOptions]
26
+ # @return [CandidApiClient::BillingNotes::V2::Types::BillingNote]
27
+ # @example
28
+ # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
29
+ # api.billing_notes.v_2.create(encounter_id: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32")
30
+ def create(text:, encounter_id:, additional_properties: nil, _field_set: nil, request_options: nil)
31
+ response = @request_client.conn.post do |req|
28
32
  req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
29
33
  req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
30
- req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
34
+ req.headers = {
35
+ **(req.headers || {}),
36
+ **@request_client.get_headers,
37
+ **(request_options&.additional_headers || {})
38
+ }.compact
31
39
  req.body = {
32
40
  **(request_options&.additional_body_parameters || {}),
33
41
  text: text,
34
42
  additional_properties: additional_properties,
43
+ _field_set: _field_set,
35
44
  encounter_id: encounter_id
36
45
  }.compact
46
+ req.url "#{@request_client.get_url(environment: CandidApi,
47
+ request_options: request_options)}/api/billing_notes/v2"
37
48
  end
38
- BillingNotes::V2::BillingNote.from_json(json_object: response.body)
49
+ CandidApiClient::BillingNotes::V2::Types::BillingNote.from_json(json_object: response.body)
39
50
  end
40
51
  end
41
52
 
42
53
  class AsyncV2Client
54
+ # @return [CandidApiClient::AsyncRequestClient]
43
55
  attr_reader :request_client
44
56
 
45
- # @param request_client [AsyncRequestClient]
46
- # @return [BillingNotes::V2::AsyncV2Client]
57
+ # @param request_client [CandidApiClient::AsyncRequestClient]
58
+ # @return [CandidApiClient::BillingNotes::V2::AsyncV2Client]
47
59
  def initialize(request_client:)
48
- # @type [AsyncRequestClient]
49
60
  @request_client = request_client
50
61
  end
51
62
 
52
63
  # @param text [String] Empty string not allowed.
53
64
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
54
- # @param encounter_id [Commons::ENCOUNTER_ID]
55
- # @param request_options [RequestOptions]
56
- # @return [BillingNotes::V2::BillingNote]
57
- def create(text:, encounter_id:, additional_properties: nil, request_options: nil)
65
+ # @param _field_set [Object]
66
+ # @param encounter_id [String]
67
+ # @param request_options [CandidApiClient::RequestOptions]
68
+ # @return [CandidApiClient::BillingNotes::V2::Types::BillingNote]
69
+ # @example
70
+ # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
71
+ # api.billing_notes.v_2.create(encounter_id: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32")
72
+ def create(text:, encounter_id:, additional_properties: nil, _field_set: nil, request_options: nil)
58
73
  Async do
59
- response = @request_client.conn.post("/api/billing_notes/v2") do |req|
74
+ response = @request_client.conn.post do |req|
60
75
  req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
61
76
  req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
62
- req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
77
+ req.headers = {
78
+ **(req.headers || {}),
79
+ **@request_client.get_headers,
80
+ **(request_options&.additional_headers || {})
81
+ }.compact
63
82
  req.body = {
64
83
  **(request_options&.additional_body_parameters || {}),
65
84
  text: text,
66
85
  additional_properties: additional_properties,
86
+ _field_set: _field_set,
67
87
  encounter_id: encounter_id
68
88
  }.compact
89
+ req.url "#{@request_client.get_url(environment: CandidApi,
90
+ request_options: request_options)}/api/billing_notes/v2"
69
91
  end
70
- BillingNotes::V2::BillingNote.from_json(json_object: response.body)
92
+ CandidApiClient::BillingNotes::V2::Types::BillingNote.from_json(json_object: response.body)
71
93
  end
72
94
  end
73
95
  end