candidhealth 0.0.0

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 (647) hide show
  1. checksums.yaml +7 -0
  2. data/lib/candidhealth/auth/client.rb +30 -0
  3. data/lib/candidhealth/auth/default/client.rb +169 -0
  4. data/lib/candidhealth/auth/default/types/auth_get_token_response.rb +77 -0
  5. data/lib/candidhealth/auth/default/types/invalid_content_type_error_type.rb +60 -0
  6. data/lib/candidhealth/auth/default/types/too_many_requests_error_type.rb +60 -0
  7. data/lib/candidhealth/billing_notes/client.rb +30 -0
  8. data/lib/candidhealth/billing_notes/v_2/client.rb +188 -0
  9. data/lib/candidhealth/billing_notes/v_2/types/billing_note.rb +112 -0
  10. data/lib/candidhealth/billing_notes/v_2/types/billing_note_base.rb +60 -0
  11. data/lib/candidhealth/billing_notes/v_2/types/billing_note_base_optional.rb +62 -0
  12. data/lib/candidhealth/charge_capture/client.rb +30 -0
  13. data/lib/candidhealth/charge_capture/v_1/client.rb +1601 -0
  14. data/lib/candidhealth/charge_capture/v_1/types/charge_capture.rb +175 -0
  15. data/lib/candidhealth/charge_capture/v_1/types/charge_capture_data.rb +780 -0
  16. data/lib/candidhealth/charge_capture/v_1/types/charge_capture_error.rb +138 -0
  17. data/lib/candidhealth/charge_capture/v_1/types/charge_capture_page.rb +96 -0
  18. data/lib/candidhealth/charge_capture/v_1/types/charge_capture_post_billed_change.rb +80 -0
  19. data/lib/candidhealth/charge_capture/v_1/types/charge_capture_sort_field.rb +14 -0
  20. data/lib/candidhealth/charge_capture/v_1/types/charge_capture_status.rb +17 -0
  21. data/lib/candidhealth/charge_capture/v_1/types/charge_external_id_conflict_error_message.rb +62 -0
  22. data/lib/candidhealth/charge_capture_bundles/client.rb +30 -0
  23. data/lib/candidhealth/charge_capture_bundles/v_1/client.rb +356 -0
  24. data/lib/candidhealth/charge_capture_bundles/v_1/types/charge_capture_claim_creation.rb +132 -0
  25. data/lib/candidhealth/charge_capture_bundles/v_1/types/charge_capture_claim_creation_page.rb +88 -0
  26. data/lib/candidhealth/charge_capture_bundles/v_1/types/charge_capture_claim_creation_sort_field.rb +13 -0
  27. data/lib/candidhealth/charge_capture_bundles/v_1/types/charge_capture_claim_creation_status.rb +18 -0
  28. data/lib/candidhealth/charge_capture_bundles/v_1/types/charge_capture_claim_creation_summary.rb +100 -0
  29. data/lib/candidhealth/claim_submission/v_1/types/claim_frequency_type_code.rb +15 -0
  30. data/lib/candidhealth/claim_submission/v_1/types/claim_submission_record_create.rb +100 -0
  31. data/lib/candidhealth/claim_submission/v_1/types/claim_submission_record_create_optional.rb +100 -0
  32. data/lib/candidhealth/claim_submission/v_1/types/external_claim_submission_create.rb +97 -0
  33. data/lib/candidhealth/claim_submission/v_1/types/external_claim_submission_create_optional.rb +101 -0
  34. data/lib/candidhealth/claims/types/claim.rb +132 -0
  35. data/lib/candidhealth/claims/types/claim_status.rb +25 -0
  36. data/lib/candidhealth/clinical_trials/v_1/types/clinical_trial.rb +109 -0
  37. data/lib/candidhealth/clinical_trials/v_1/types/clinical_trial_phase.rb +15 -0
  38. data/lib/candidhealth/clinical_trials/v_1/types/mutable_clinical_trial.rb +84 -0
  39. data/lib/candidhealth/commons/types/billing_provider_commercial_license_type.rb +20 -0
  40. data/lib/candidhealth/commons/types/claim_adjustment_group_codes.rb +20 -0
  41. data/lib/candidhealth/commons/types/claim_submission_payer_responsibility_type.rb +12 -0
  42. data/lib/candidhealth/commons/types/date_range_optional_end.rb +70 -0
  43. data/lib/candidhealth/commons/types/delay_reason_code.rb +25 -0
  44. data/lib/candidhealth/commons/types/emr_payer_crosswalk.rb +12 -0
  45. data/lib/candidhealth/commons/types/entity_conflict_error_message.rb +58 -0
  46. data/lib/candidhealth/commons/types/entity_not_found_error_message.rb +58 -0
  47. data/lib/candidhealth/commons/types/epsdt_referral_condition_indicator_code.rb +14 -0
  48. data/lib/candidhealth/commons/types/facility_type_code.rb +64 -0
  49. data/lib/candidhealth/commons/types/http_service_unavailable_error_message.rb +60 -0
  50. data/lib/candidhealth/commons/types/insurance_type_code.rb +82 -0
  51. data/lib/candidhealth/commons/types/intended_submission_medium.rb +15 -0
  52. data/lib/candidhealth/commons/types/network_type.rb +31 -0
  53. data/lib/candidhealth/commons/types/next_responsible_party.rb +16 -0
  54. data/lib/candidhealth/commons/types/organization_not_authorized_error_message.rb +59 -0
  55. data/lib/candidhealth/commons/types/patient_relationship_to_insured_code_all.rb +34 -0
  56. data/lib/candidhealth/commons/types/phone_number.rb +69 -0
  57. data/lib/candidhealth/commons/types/phone_number_optional.rb +71 -0
  58. data/lib/candidhealth/commons/types/phone_number_type.rb +13 -0
  59. data/lib/candidhealth/commons/types/primitive.rb +17 -0
  60. data/lib/candidhealth/commons/types/procedure_modifier.rb +409 -0
  61. data/lib/candidhealth/commons/types/qualifier_code.rb +14 -0
  62. data/lib/candidhealth/commons/types/region_national.rb +51 -0
  63. data/lib/candidhealth/commons/types/region_states.rb +59 -0
  64. data/lib/candidhealth/commons/types/regions.rb +98 -0
  65. data/lib/candidhealth/commons/types/removable_date_range_optional_end.rb +96 -0
  66. data/lib/candidhealth/commons/types/request_validation_error.rb +70 -0
  67. data/lib/candidhealth/commons/types/resource_page.rb +70 -0
  68. data/lib/candidhealth/commons/types/service_line_units.rb +12 -0
  69. data/lib/candidhealth/commons/types/sort_direction.rb +12 -0
  70. data/lib/candidhealth/commons/types/source_of_payment_code.rb +34 -0
  71. data/lib/candidhealth/commons/types/state.rb +72 -0
  72. data/lib/candidhealth/commons/types/street_address_base.rb +98 -0
  73. data/lib/candidhealth/commons/types/street_address_long_zip.rb +107 -0
  74. data/lib/candidhealth/commons/types/street_address_long_zip_optional.rb +107 -0
  75. data/lib/candidhealth/commons/types/street_address_optional_base.rb +99 -0
  76. data/lib/candidhealth/commons/types/street_address_short_zip.rb +107 -0
  77. data/lib/candidhealth/commons/types/street_address_short_zip_optional.rb +107 -0
  78. data/lib/candidhealth/commons/types/unauthorized_error_message.rb +60 -0
  79. data/lib/candidhealth/commons/types/unprocessable_entity_error_message.rb +60 -0
  80. data/lib/candidhealth/commons/types/updates_disabled_due_to_external_system_integration_error_message.rb +62 -0
  81. data/lib/candidhealth/contracts/client.rb +30 -0
  82. data/lib/candidhealth/contracts/v_2/client.rb +444 -0
  83. data/lib/candidhealth/contracts/v_2/types/authorized_signatory.rb +108 -0
  84. data/lib/candidhealth/contracts/v_2/types/authorized_signatory_update.rb +98 -0
  85. data/lib/candidhealth/contracts/v_2/types/contract.rb +202 -0
  86. data/lib/candidhealth/contracts/v_2/types/contract_base.rb +156 -0
  87. data/lib/candidhealth/contracts/v_2/types/contract_invalid_expiration_date_error.rb +60 -0
  88. data/lib/candidhealth/contracts/v_2/types/contract_is_linked_to_fee_schedule_error.rb +60 -0
  89. data/lib/candidhealth/contracts/v_2/types/contract_sort_field.rb +18 -0
  90. data/lib/candidhealth/contracts/v_2/types/contract_status.rb +15 -0
  91. data/lib/candidhealth/contracts/v_2/types/contract_with_providers.rb +216 -0
  92. data/lib/candidhealth/contracts/v_2/types/contracts_page.rb +88 -0
  93. data/lib/candidhealth/contracts/v_2/types/date_update.rb +97 -0
  94. data/lib/candidhealth/contracts/v_2/types/insurance_types.rb +109 -0
  95. data/lib/candidhealth/contracts/v_2/types/regions_update.rb +98 -0
  96. data/lib/candidhealth/credentialing/client.rb +30 -0
  97. data/lib/candidhealth/credentialing/v_2/client.rb +384 -0
  98. data/lib/candidhealth/credentialing/v_2/types/credentialing_span_status.rb +17 -0
  99. data/lib/candidhealth/credentialing/v_2/types/provider_credentialing_span.rb +196 -0
  100. data/lib/candidhealth/credentialing/v_2/types/provider_credentialing_span_page.rb +88 -0
  101. data/lib/candidhealth/custom_schemas/client.rb +30 -0
  102. data/lib/candidhealth/custom_schemas/v_1/client.rb +291 -0
  103. data/lib/candidhealth/custom_schemas/v_1/types/key_with_name_already_exists_error.rb +71 -0
  104. data/lib/candidhealth/custom_schemas/v_1/types/schema.rb +91 -0
  105. data/lib/candidhealth/custom_schemas/v_1/types/schema_field.rb +71 -0
  106. data/lib/candidhealth/custom_schemas/v_1/types/schema_get_multi_response.rb +65 -0
  107. data/lib/candidhealth/custom_schemas/v_1/types/schema_instance.rb +76 -0
  108. data/lib/candidhealth/custom_schemas/v_1/types/schema_instance_optional.rb +78 -0
  109. data/lib/candidhealth/custom_schemas/v_1/types/schema_validation_error.rb +100 -0
  110. data/lib/candidhealth/custom_schemas/v_1/types/schema_validation_failure.rb +65 -0
  111. data/lib/candidhealth/custom_schemas/v_1/types/schema_with_name_already_exists_error.rb +70 -0
  112. data/lib/candidhealth/diagnoses/client.rb +243 -0
  113. data/lib/candidhealth/diagnoses/types/diagnosis.rb +160 -0
  114. data/lib/candidhealth/diagnoses/types/diagnosis_create.rb +125 -0
  115. data/lib/candidhealth/diagnoses/types/diagnosis_create_optional.rb +126 -0
  116. data/lib/candidhealth/diagnoses/types/diagnosis_not_found_error.rb +70 -0
  117. data/lib/candidhealth/diagnoses/types/diagnosis_type_code.rb +20 -0
  118. data/lib/candidhealth/diagnoses/types/standalone_diagnosis_create.rb +134 -0
  119. data/lib/candidhealth/eligibility/client.rb +30 -0
  120. data/lib/candidhealth/eligibility/v_2/client.rb +338 -0
  121. data/lib/candidhealth/encounter_attachments/client.rb +30 -0
  122. data/lib/candidhealth/encounter_attachments/v_1/client.rb +193 -0
  123. data/lib/candidhealth/encounter_attachments/v_1/types/base_attachment.rb +98 -0
  124. data/lib/candidhealth/encounter_attachments/v_1/types/encounter_attachment.rb +115 -0
  125. data/lib/candidhealth/encounter_attachments/v_1/types/encounter_attachment_type.rb +15 -0
  126. data/lib/candidhealth/encounter_providers/client.rb +30 -0
  127. data/lib/candidhealth/encounter_providers/v_2/client.rb +789 -0
  128. data/lib/candidhealth/encounter_providers/v_2/types/billing_provider.rb +157 -0
  129. data/lib/candidhealth/encounter_providers/v_2/types/billing_provider_update.rb +157 -0
  130. data/lib/candidhealth/encounter_providers/v_2/types/billing_provider_update_with_optional_address.rb +160 -0
  131. data/lib/candidhealth/encounter_providers/v_2/types/encounter_provider.rb +159 -0
  132. data/lib/candidhealth/encounter_providers/v_2/types/encounter_provider_base.rb +89 -0
  133. data/lib/candidhealth/encounter_providers/v_2/types/initial_referring_provider.rb +132 -0
  134. data/lib/candidhealth/encounter_providers/v_2/types/initial_referring_provider_update.rb +132 -0
  135. data/lib/candidhealth/encounter_providers/v_2/types/initial_referring_provider_update_with_optional_address.rb +134 -0
  136. data/lib/candidhealth/encounter_providers/v_2/types/ordering_provider.rb +123 -0
  137. data/lib/candidhealth/encounter_providers/v_2/types/ordering_provider_optional.rb +123 -0
  138. data/lib/candidhealth/encounter_providers/v_2/types/ordering_provider_update.rb +123 -0
  139. data/lib/candidhealth/encounter_providers/v_2/types/referring_provider.rb +123 -0
  140. data/lib/candidhealth/encounter_providers/v_2/types/referring_provider_update.rb +123 -0
  141. data/lib/candidhealth/encounter_providers/v_2/types/referring_provider_update_with_optional_address.rb +125 -0
  142. data/lib/candidhealth/encounter_providers/v_2/types/rendering_provider.rb +123 -0
  143. data/lib/candidhealth/encounter_providers/v_2/types/rendering_provider_update.rb +123 -0
  144. data/lib/candidhealth/encounter_providers/v_2/types/rendering_provider_update_with_optional_address.rb +125 -0
  145. data/lib/candidhealth/encounter_providers/v_2/types/supervising_provider.rb +123 -0
  146. data/lib/candidhealth/encounter_providers/v_2/types/supervising_provider_update.rb +123 -0
  147. data/lib/candidhealth/encounter_providers/v_2/types/supervising_provider_update_with_optional_address.rb +125 -0
  148. data/lib/candidhealth/encounters/client.rb +30 -0
  149. data/lib/candidhealth/encounters/v_4/client.rb +2451 -0
  150. data/lib/candidhealth/encounters/v_4/types/billable_status_type.rb +14 -0
  151. data/lib/candidhealth/encounters/v_4/types/cash_pay_payer_error_message.rb +60 -0
  152. data/lib/candidhealth/encounters/v_4/types/claim_supplemental_information.rb +86 -0
  153. data/lib/candidhealth/encounters/v_4/types/claim_supplemental_information_optional.rb +86 -0
  154. data/lib/candidhealth/encounters/v_4/types/clinical_note.rb +93 -0
  155. data/lib/candidhealth/encounters/v_4/types/clinical_note_category.rb +89 -0
  156. data/lib/candidhealth/encounters/v_4/types/clinical_note_category_create.rb +76 -0
  157. data/lib/candidhealth/encounters/v_4/types/clinical_note_category_create_optional.rb +78 -0
  158. data/lib/candidhealth/encounters/v_4/types/clinical_note_optional.rb +93 -0
  159. data/lib/candidhealth/encounters/v_4/types/coding_attribution_type.rb +16 -0
  160. data/lib/candidhealth/encounters/v_4/types/encounter.rb +892 -0
  161. data/lib/candidhealth/encounters/v_4/types/encounter_base.rb +360 -0
  162. data/lib/candidhealth/encounters/v_4/types/encounter_create_from_pre_encounter.rb +629 -0
  163. data/lib/candidhealth/encounters/v_4/types/encounter_deep_optional.rb +780 -0
  164. data/lib/candidhealth/encounters/v_4/types/encounter_external_id_uniqueness_error_type.rb +63 -0
  165. data/lib/candidhealth/encounters/v_4/types/encounter_guarantor_missing_contact_info_error_type.rb +62 -0
  166. data/lib/candidhealth/encounters/v_4/types/encounter_optional.rb +380 -0
  167. data/lib/candidhealth/encounters/v_4/types/encounter_owner_of_next_action_type.rb +16 -0
  168. data/lib/candidhealth/encounters/v_4/types/encounter_page.rb +88 -0
  169. data/lib/candidhealth/encounters/v_4/types/encounter_patient_control_number_uniqueness_error_type.rb +62 -0
  170. data/lib/candidhealth/encounters/v_4/types/encounter_sort_options.rb +16 -0
  171. data/lib/candidhealth/encounters/v_4/types/encounter_submission_origin_type.rb +14 -0
  172. data/lib/candidhealth/encounters/v_4/types/epsdt_referral.rb +85 -0
  173. data/lib/candidhealth/encounters/v_4/types/epsdt_referral_optional.rb +85 -0
  174. data/lib/candidhealth/encounters/v_4/types/intake_follow_up.rb +79 -0
  175. data/lib/candidhealth/encounters/v_4/types/intake_question.rb +84 -0
  176. data/lib/candidhealth/encounters/v_4/types/intake_question_optional.rb +84 -0
  177. data/lib/candidhealth/encounters/v_4/types/intake_response_and_follow_ups.rb +77 -0
  178. data/lib/candidhealth/encounters/v_4/types/intervention.rb +113 -0
  179. data/lib/candidhealth/encounters/v_4/types/intervention_category.rb +16 -0
  180. data/lib/candidhealth/encounters/v_4/types/intervention_optional.rb +114 -0
  181. data/lib/candidhealth/encounters/v_4/types/invalid_tag_names_error_type.rb +60 -0
  182. data/lib/candidhealth/encounters/v_4/types/key_does_not_exist_error.rb +70 -0
  183. data/lib/candidhealth/encounters/v_4/types/lab.rb +80 -0
  184. data/lib/candidhealth/encounters/v_4/types/lab_code_type.rb +14 -0
  185. data/lib/candidhealth/encounters/v_4/types/lab_optional.rb +80 -0
  186. data/lib/candidhealth/encounters/v_4/types/medication.rb +108 -0
  187. data/lib/candidhealth/encounters/v_4/types/medication_optional.rb +108 -0
  188. data/lib/candidhealth/encounters/v_4/types/multiple_instances_for_schema_error.rb +60 -0
  189. data/lib/candidhealth/encounters/v_4/types/note_category.rb +26 -0
  190. data/lib/candidhealth/encounters/v_4/types/patient_history_category.rb +76 -0
  191. data/lib/candidhealth/encounters/v_4/types/patient_history_category_enum.rb +16 -0
  192. data/lib/candidhealth/encounters/v_4/types/patient_history_category_optional.rb +78 -0
  193. data/lib/candidhealth/encounters/v_4/types/payer_plan_group_payer_does_not_match_insurance_card_error.rb +77 -0
  194. data/lib/candidhealth/encounters/v_4/types/report_transmission_code.rb +14 -0
  195. data/lib/candidhealth/encounters/v_4/types/report_type_code.rb +73 -0
  196. data/lib/candidhealth/encounters/v_4/types/responsible_party_type.rb +15 -0
  197. data/lib/candidhealth/encounters/v_4/types/schema_does_not_exist_error.rb +60 -0
  198. data/lib/candidhealth/encounters/v_4/types/schema_instance_validation_error.rb +139 -0
  199. data/lib/candidhealth/encounters/v_4/types/schema_instance_validation_failure.rb +65 -0
  200. data/lib/candidhealth/encounters/v_4/types/schema_unauthorized_access_error.rb +60 -0
  201. data/lib/candidhealth/encounters/v_4/types/service_authorization_exception_code.rb +23 -0
  202. data/lib/candidhealth/encounters/v_4/types/synchronicity_type.rb +14 -0
  203. data/lib/candidhealth/encounters/v_4/types/value_does_not_match_key_type_error.rb +90 -0
  204. data/lib/candidhealth/encounters/v_4/types/vitals.rb +116 -0
  205. data/lib/candidhealth/encounters/v_4/types/vitals_update.rb +116 -0
  206. data/lib/candidhealth/era/types/era.rb +75 -0
  207. data/lib/candidhealth/era/types/era_base.rb +68 -0
  208. data/lib/candidhealth/era/types/era_not_fully_processed_error_message.rb +68 -0
  209. data/lib/candidhealth/era_commons/types/claim_status_code_create.rb +20 -0
  210. data/lib/candidhealth/expected_network_status/client.rb +37 -0
  211. data/lib/candidhealth/expected_network_status/v_1/client.rb +153 -0
  212. data/lib/candidhealth/expected_network_status/v_1/types/expected_network_status.rb +15 -0
  213. data/lib/candidhealth/expected_network_status/v_1/types/expected_network_status_response.rb +86 -0
  214. data/lib/candidhealth/expected_network_status/v_2/client.rb +222 -0
  215. data/lib/candidhealth/expected_network_status/v_2/types/compute_all_in_network_providers_request.rb +152 -0
  216. data/lib/candidhealth/expected_network_status/v_2/types/compute_all_in_network_providers_response.rb +80 -0
  217. data/lib/candidhealth/expected_network_status/v_2/types/compute_all_in_network_rendering_providers_result.rb +114 -0
  218. data/lib/candidhealth/expected_network_status/v_2/types/empty_object.rb +53 -0
  219. data/lib/candidhealth/expected_network_status/v_2/types/expected_network_status_check_error_message.rb +61 -0
  220. data/lib/candidhealth/expected_network_status/v_2/types/expected_network_status_request_v_2.rb +152 -0
  221. data/lib/candidhealth/expected_network_status/v_2/types/expected_network_status_response_v_2.rb +77 -0
  222. data/lib/candidhealth/expected_network_status/v_2/types/expected_network_status_subscriber_information.rb +86 -0
  223. data/lib/candidhealth/expected_network_status/v_2/types/expected_network_status_v_2.rb +113 -0
  224. data/lib/candidhealth/expected_network_status/v_2/types/explanation.rb +20 -0
  225. data/lib/candidhealth/expected_network_status/v_2/types/in_network_rendering_providers_detail.rb +82 -0
  226. data/lib/candidhealth/expected_network_status/v_2/types/in_network_status.rb +73 -0
  227. data/lib/candidhealth/expected_network_status/v_2/types/indeterminate_network_status.rb +93 -0
  228. data/lib/candidhealth/expected_network_status/v_2/types/insurance_type.rb +78 -0
  229. data/lib/candidhealth/expected_network_status/v_2/types/insurance_type_codes.rb +112 -0
  230. data/lib/candidhealth/expected_network_status/v_2/types/line_of_business.rb +15 -0
  231. data/lib/candidhealth/expected_network_status/v_2/types/out_of_network_status.rb +82 -0
  232. data/lib/candidhealth/expected_network_status/v_2/types/service_type.rb +53 -0
  233. data/lib/candidhealth/exports/client.rb +30 -0
  234. data/lib/candidhealth/exports/v_3/client.rb +152 -0
  235. data/lib/candidhealth/exports/v_3/types/get_exports_response.rb +96 -0
  236. data/lib/candidhealth/external_payment_account_config/client.rb +30 -0
  237. data/lib/candidhealth/external_payment_account_config/v_1/client.rb +89 -0
  238. data/lib/candidhealth/external_payment_account_config/v_1/types/external_payment_account_config.rb +70 -0
  239. data/lib/candidhealth/external_payment_account_config/v_1/types/external_payment_account_config_page.rb +88 -0
  240. data/lib/candidhealth/fee_schedules/client.rb +30 -0
  241. data/lib/candidhealth/fee_schedules/v_3/client.rb +703 -0
  242. data/lib/candidhealth/fee_schedules/v_3/types/dimension_match.rb +200 -0
  243. data/lib/candidhealth/fee_schedules/v_3/types/dimension_name.rb +16 -0
  244. data/lib/candidhealth/fee_schedules/v_3/types/dimensions.rb +179 -0
  245. data/lib/candidhealth/fee_schedules/v_3/types/dimensions_page.rb +88 -0
  246. data/lib/candidhealth/fee_schedules/v_3/types/match_cpt_code.rb +78 -0
  247. data/lib/candidhealth/fee_schedules/v_3/types/match_date.rb +82 -0
  248. data/lib/candidhealth/fee_schedules/v_3/types/match_facility_type_code.rb +81 -0
  249. data/lib/candidhealth/fee_schedules/v_3/types/match_geo.rb +93 -0
  250. data/lib/candidhealth/fee_schedules/v_3/types/match_license_type.rb +81 -0
  251. data/lib/candidhealth/fee_schedules/v_3/types/match_modifiers.rb +85 -0
  252. data/lib/candidhealth/fee_schedules/v_3/types/match_network_types.rb +85 -0
  253. data/lib/candidhealth/fee_schedules/v_3/types/match_payer.rb +78 -0
  254. data/lib/candidhealth/fee_schedules/v_3/types/match_payer_plan_groups.rb +85 -0
  255. data/lib/candidhealth/fee_schedules/v_3/types/match_provider.rb +80 -0
  256. data/lib/candidhealth/fee_schedules/v_3/types/match_result.rb +77 -0
  257. data/lib/candidhealth/fee_schedules/v_3/types/match_test_result.rb +83 -0
  258. data/lib/candidhealth/fee_schedules/v_3/types/new_rate.rb +81 -0
  259. data/lib/candidhealth/fee_schedules/v_3/types/new_rate_version.rb +88 -0
  260. data/lib/candidhealth/fee_schedules/v_3/types/optional_dimensions.rb +180 -0
  261. data/lib/candidhealth/fee_schedules/v_3/types/overlapping_rate_entries_error.rb +90 -0
  262. data/lib/candidhealth/fee_schedules/v_3/types/payer_plan_group_does_not_match_rate_payer_error.rb +75 -0
  263. data/lib/candidhealth/fee_schedules/v_3/types/payer_threshold.rb +93 -0
  264. data/lib/candidhealth/fee_schedules/v_3/types/payer_thresholds_page.rb +87 -0
  265. data/lib/candidhealth/fee_schedules/v_3/types/rate.rb +121 -0
  266. data/lib/candidhealth/fee_schedules/v_3/types/rate_entry.rb +96 -0
  267. data/lib/candidhealth/fee_schedules/v_3/types/rate_upload.rb +100 -0
  268. data/lib/candidhealth/fee_schedules/v_3/types/rate_upload_with_possible_errors.rb +100 -0
  269. data/lib/candidhealth/fee_schedules/v_3/types/rates_page.rb +88 -0
  270. data/lib/candidhealth/fee_schedules/v_3/types/threshold_match.rb +97 -0
  271. data/lib/candidhealth/fee_schedules/v_3/types/validation_error.rb +160 -0
  272. data/lib/candidhealth/financials/types/account_type.rb +13 -0
  273. data/lib/candidhealth/financials/types/allocation.rb +75 -0
  274. data/lib/candidhealth/financials/types/allocation_create.rb +78 -0
  275. data/lib/candidhealth/financials/types/allocation_target.rb +138 -0
  276. data/lib/candidhealth/financials/types/allocation_target_create.rb +147 -0
  277. data/lib/candidhealth/financials/types/appointment_allocation_target.rb +68 -0
  278. data/lib/candidhealth/financials/types/appointment_by_id_and_patient_external_id.rb +68 -0
  279. data/lib/candidhealth/financials/types/billing_provider_allocation_target.rb +58 -0
  280. data/lib/candidhealth/financials/types/claim_allocation_target.rb +68 -0
  281. data/lib/candidhealth/financials/types/invoice_update.rb +95 -0
  282. data/lib/candidhealth/financials/types/note_update.rb +95 -0
  283. data/lib/candidhealth/financials/types/patient_transaction_source.rb +17 -0
  284. data/lib/candidhealth/financials/types/refund_reason.rb +11 -0
  285. data/lib/candidhealth/financials/types/refund_reason_update.rb +96 -0
  286. data/lib/candidhealth/financials/types/service_line_allocation_target.rb +75 -0
  287. data/lib/candidhealth/guarantor/client.rb +30 -0
  288. data/lib/candidhealth/guarantor/v_1/client.rb +247 -0
  289. data/lib/candidhealth/guarantor/v_1/types/encounter_has_existing_guarantor_error_type.rb +61 -0
  290. data/lib/candidhealth/guarantor/v_1/types/guarantor.rb +152 -0
  291. data/lib/candidhealth/guarantor/v_1/types/guarantor_base.rb +108 -0
  292. data/lib/candidhealth/guarantor/v_1/types/guarantor_create.rb +144 -0
  293. data/lib/candidhealth/guarantor/v_1/types/guarantor_optional.rb +144 -0
  294. data/lib/candidhealth/guarantor/v_1/types/guarantor_update.rb +144 -0
  295. data/lib/candidhealth/identifiers/types/identifier.rb +103 -0
  296. data/lib/candidhealth/identifiers/types/identifier_base.rb +95 -0
  297. data/lib/candidhealth/identifiers/types/identifier_code.rb +12 -0
  298. data/lib/candidhealth/identifiers/types/identifier_create.rb +95 -0
  299. data/lib/candidhealth/identifiers/types/identifier_update.rb +104 -0
  300. data/lib/candidhealth/identifiers/types/identifier_value.rb +98 -0
  301. data/lib/candidhealth/identifiers/types/medicaid_provider_identifier.rb +69 -0
  302. data/lib/candidhealth/identifiers/types/medicare_provider_identifier.rb +69 -0
  303. data/lib/candidhealth/identifiers/types/updatable_identifier.rb +110 -0
  304. data/lib/candidhealth/import_invoice/client.rb +30 -0
  305. data/lib/candidhealth/import_invoice/v_1/client.rb +320 -0
  306. data/lib/candidhealth/import_invoice/v_1/types/create_import_invoice_request.rb +143 -0
  307. data/lib/candidhealth/import_invoice/v_1/types/import_invoice.rb +165 -0
  308. data/lib/candidhealth/import_invoice/v_1/types/import_invoice_update_request.rb +109 -0
  309. data/lib/candidhealth/import_invoice/v_1/types/import_invoices_page.rb +88 -0
  310. data/lib/candidhealth/import_invoice/v_1/types/invoice_item_info_update.rb +80 -0
  311. data/lib/candidhealth/import_invoice/v_1/types/invoice_item_update_type.rb +14 -0
  312. data/lib/candidhealth/individual/types/gender.rb +15 -0
  313. data/lib/candidhealth/individual/types/individual_base.rb +76 -0
  314. data/lib/candidhealth/individual/types/individual_base_optional.rb +78 -0
  315. data/lib/candidhealth/individual/types/patient.rb +187 -0
  316. data/lib/candidhealth/individual/types/patient_base.rb +117 -0
  317. data/lib/candidhealth/individual/types/patient_clinical_trial_info.rb +80 -0
  318. data/lib/candidhealth/individual/types/patient_clinical_trial_info_create.rb +73 -0
  319. data/lib/candidhealth/individual/types/patient_create.rb +175 -0
  320. data/lib/candidhealth/individual/types/patient_non_insurance_payer_info.rb +92 -0
  321. data/lib/candidhealth/individual/types/patient_non_insurance_payer_info_create.rb +86 -0
  322. data/lib/candidhealth/individual/types/patient_non_insurance_payer_info_create_optional.rb +89 -0
  323. data/lib/candidhealth/individual/types/patient_update.rb +179 -0
  324. data/lib/candidhealth/individual/types/patient_update_with_optional_address.rb +179 -0
  325. data/lib/candidhealth/individual/types/subscriber.rb +138 -0
  326. data/lib/candidhealth/individual/types/subscriber_base.rb +116 -0
  327. data/lib/candidhealth/individual/types/subscriber_base_optional.rb +118 -0
  328. data/lib/candidhealth/individual/types/subscriber_create.rb +130 -0
  329. data/lib/candidhealth/individual/types/subscriber_create_optional.rb +132 -0
  330. data/lib/candidhealth/insurance_adjudications/client.rb +30 -0
  331. data/lib/candidhealth/insurance_adjudications/v_1/client.rb +206 -0
  332. data/lib/candidhealth/insurance_adjudications/v_1/types/claim_adjudication.rb +126 -0
  333. data/lib/candidhealth/insurance_adjudications/v_1/types/claim_adjudication_create.rb +119 -0
  334. data/lib/candidhealth/insurance_adjudications/v_1/types/insurance_adjudication.rb +123 -0
  335. data/lib/candidhealth/insurance_adjudications/v_1/types/insurance_adjudication_create.rb +151 -0
  336. data/lib/candidhealth/insurance_adjudications/v_1/types/service_line_adjudication.rb +142 -0
  337. data/lib/candidhealth/insurance_adjudications/v_1/types/service_line_adjudication_create.rb +134 -0
  338. data/lib/candidhealth/insurance_cards/v_2/types/insurance_card.rb +166 -0
  339. data/lib/candidhealth/insurance_cards/v_2/types/insurance_card_base.rb +102 -0
  340. data/lib/candidhealth/insurance_cards/v_2/types/insurance_card_create.rb +167 -0
  341. data/lib/candidhealth/insurance_cards/v_2/types/insurance_card_create_optional.rb +167 -0
  342. data/lib/candidhealth/insurance_payments/client.rb +30 -0
  343. data/lib/candidhealth/insurance_payments/v_1/client.rb +172 -0
  344. data/lib/candidhealth/insurance_payments/v_1/types/insurance_payment.rb +122 -0
  345. data/lib/candidhealth/insurance_payments/v_1/types/insurance_payment_sort_field.rb +15 -0
  346. data/lib/candidhealth/insurance_payments/v_1/types/insurance_payments_page.rb +88 -0
  347. data/lib/candidhealth/insurance_refunds/client.rb +30 -0
  348. data/lib/candidhealth/insurance_refunds/v_1/client.rb +372 -0
  349. data/lib/candidhealth/insurance_refunds/v_1/types/insurance_refund.rb +131 -0
  350. data/lib/candidhealth/insurance_refunds/v_1/types/insurance_refund_create.rb +123 -0
  351. data/lib/candidhealth/insurance_refunds/v_1/types/insurance_refund_sort_field.rb +16 -0
  352. data/lib/candidhealth/insurance_refunds/v_1/types/insurance_refunds_page.rb +88 -0
  353. data/lib/candidhealth/invoices/types/invoice.rb +169 -0
  354. data/lib/candidhealth/invoices/types/invoice_item.rb +68 -0
  355. data/lib/candidhealth/invoices/types/invoice_status.rb +16 -0
  356. data/lib/candidhealth/invoices/v_2/types/claim_invoice_item.rb +70 -0
  357. data/lib/candidhealth/invoices/v_2/types/claim_invoice_item_info.rb +85 -0
  358. data/lib/candidhealth/invoices/v_2/types/invoice.rb +173 -0
  359. data/lib/candidhealth/invoices/v_2/types/invoice_destination.rb +17 -0
  360. data/lib/candidhealth/invoices/v_2/types/invoice_destination_metadata.rb +95 -0
  361. data/lib/candidhealth/invoices/v_2/types/invoice_info.rb +85 -0
  362. data/lib/candidhealth/invoices/v_2/types/invoice_item_attribution_create.rb +110 -0
  363. data/lib/candidhealth/invoices/v_2/types/invoice_item_create.rb +77 -0
  364. data/lib/candidhealth/invoices/v_2/types/invoice_item_info.rb +78 -0
  365. data/lib/candidhealth/invoices/v_2/types/invoice_sort_field.rb +18 -0
  366. data/lib/candidhealth/invoices/v_2/types/invoice_status.rb +18 -0
  367. data/lib/candidhealth/invoices/v_2/types/service_line_invoice_item.rb +70 -0
  368. data/lib/candidhealth/invoices/v_2/types/unattributed_invoice_item.rb +60 -0
  369. data/lib/candidhealth/medication_dispense/client.rb +30 -0
  370. data/lib/candidhealth/medication_dispense/v_1/client.rb +114 -0
  371. data/lib/candidhealth/medication_dispense/v_1/types/medication_dispense_create.rb +142 -0
  372. data/lib/candidhealth/non_insurance_payer_payments/client.rb +30 -0
  373. data/lib/candidhealth/non_insurance_payer_payments/v_1/client.rb +344 -0
  374. data/lib/candidhealth/non_insurance_payer_payments/v_1/types/non_insurance_payer_payment.rb +138 -0
  375. data/lib/candidhealth/non_insurance_payer_payments/v_1/types/non_insurance_payer_payment_create.rb +124 -0
  376. data/lib/candidhealth/non_insurance_payer_payments/v_1/types/non_insurance_payer_payment_sort_field.rb +14 -0
  377. data/lib/candidhealth/non_insurance_payer_payments/v_1/types/non_insurance_payer_payments_page.rb +88 -0
  378. data/lib/candidhealth/non_insurance_payer_refunds/client.rb +30 -0
  379. data/lib/candidhealth/non_insurance_payer_refunds/v_1/client.rb +371 -0
  380. data/lib/candidhealth/non_insurance_payer_refunds/v_1/types/non_insurance_payer_refund.rb +147 -0
  381. data/lib/candidhealth/non_insurance_payer_refunds/v_1/types/non_insurance_payer_refund_create.rb +133 -0
  382. data/lib/candidhealth/non_insurance_payer_refunds/v_1/types/non_insurance_payer_refund_sort_field.rb +14 -0
  383. data/lib/candidhealth/non_insurance_payer_refunds/v_1/types/non_insurance_payer_refunds_page.rb +88 -0
  384. data/lib/candidhealth/non_insurance_payers/client.rb +30 -0
  385. data/lib/candidhealth/non_insurance_payers/v_1/client.rb +377 -0
  386. data/lib/candidhealth/non_insurance_payers/v_1/types/create_non_insurance_payer_request.rb +111 -0
  387. data/lib/candidhealth/non_insurance_payers/v_1/types/non_insurance_payer.rb +127 -0
  388. data/lib/candidhealth/non_insurance_payers/v_1/types/non_insurance_payer_address_update.rb +98 -0
  389. data/lib/candidhealth/non_insurance_payers/v_1/types/non_insurance_payer_category_update.rb +97 -0
  390. data/lib/candidhealth/non_insurance_payers/v_1/types/non_insurance_payer_description_update.rb +97 -0
  391. data/lib/candidhealth/non_insurance_payers/v_1/types/non_insurance_payer_page.rb +88 -0
  392. data/lib/candidhealth/non_insurance_payers/v_1/types/non_insurance_payer_sort_field.rb +16 -0
  393. data/lib/candidhealth/non_insurance_payers/v_1/types/non_insurance_payer_update_request.rb +110 -0
  394. data/lib/candidhealth/non_insurance_payers/v_1/types/toggle_non_insurance_payer_enablement_request.rb +62 -0
  395. data/lib/candidhealth/organization_providers/client.rb +30 -0
  396. data/lib/candidhealth/organization_providers/v_2/types/address_type.rb +13 -0
  397. data/lib/candidhealth/organization_providers/v_2/types/employment_status.rb +14 -0
  398. data/lib/candidhealth/organization_providers/v_2/types/license_type.rb +111 -0
  399. data/lib/candidhealth/organization_providers/v_2/types/organization_provider.rb +210 -0
  400. data/lib/candidhealth/organization_providers/v_2/types/organization_provider_address.rb +78 -0
  401. data/lib/candidhealth/organization_providers/v_2/types/organization_provider_base.rb +177 -0
  402. data/lib/candidhealth/organization_providers/v_2/types/organization_provider_sort_options.rb +16 -0
  403. data/lib/candidhealth/organization_providers/v_2/types/provider_type.rb +14 -0
  404. data/lib/candidhealth/organization_providers/v_3/client.rb +325 -0
  405. data/lib/candidhealth/organization_providers/v_3/types/organization_provider_create_v_2.rb +194 -0
  406. data/lib/candidhealth/organization_providers/v_3/types/organization_provider_page_v_2.rb +88 -0
  407. data/lib/candidhealth/organization_providers/v_3/types/organization_provider_update_v_2.rb +191 -0
  408. data/lib/candidhealth/organization_providers/v_3/types/organization_provider_v_2.rb +202 -0
  409. data/lib/candidhealth/organization_service_facilities/client.rb +30 -0
  410. data/lib/candidhealth/organization_service_facilities/v_2/client.rb +352 -0
  411. data/lib/candidhealth/organization_service_facilities/v_2/types/organization_service_facility.rb +172 -0
  412. data/lib/candidhealth/organization_service_facilities/v_2/types/organization_service_facility_create.rb +164 -0
  413. data/lib/candidhealth/organization_service_facilities/v_2/types/organization_service_facility_page.rb +88 -0
  414. data/lib/candidhealth/organization_service_facilities/v_2/types/organization_service_facility_update.rb +164 -0
  415. data/lib/candidhealth/organization_service_facilities/v_2/types/service_facility_mode.rb +14 -0
  416. data/lib/candidhealth/organization_service_facilities/v_2/types/service_facility_operational_status.rb +18 -0
  417. data/lib/candidhealth/organization_service_facilities/v_2/types/service_facility_physical_type.rb +26 -0
  418. data/lib/candidhealth/organization_service_facilities/v_2/types/service_facility_status.rb +15 -0
  419. data/lib/candidhealth/organization_service_facilities/v_2/types/service_facility_type.rb +135 -0
  420. data/lib/candidhealth/patient_payments/client.rb +30 -0
  421. data/lib/candidhealth/patient_payments/v_3/types/patient_payment.rb +162 -0
  422. data/lib/candidhealth/patient_payments/v_3/types/patient_payment_source.rb +21 -0
  423. data/lib/candidhealth/patient_payments/v_3/types/patient_payment_status.rb +23 -0
  424. data/lib/candidhealth/patient_payments/v_4/client.rb +401 -0
  425. data/lib/candidhealth/patient_payments/v_4/types/patient_payment.rb +149 -0
  426. data/lib/candidhealth/patient_payments/v_4/types/patient_payment_sort_field.rb +16 -0
  427. data/lib/candidhealth/patient_payments/v_4/types/patient_payments_page.rb +88 -0
  428. data/lib/candidhealth/patient_refunds/client.rb +30 -0
  429. data/lib/candidhealth/patient_refunds/v_1/client.rb +413 -0
  430. data/lib/candidhealth/patient_refunds/v_1/types/patient_refund.rb +158 -0
  431. data/lib/candidhealth/patient_refunds/v_1/types/patient_refund_sort_field.rb +17 -0
  432. data/lib/candidhealth/patient_refunds/v_1/types/patient_refunds_page.rb +88 -0
  433. data/lib/candidhealth/payer_plan_groups/client.rb +30 -0
  434. data/lib/candidhealth/payer_plan_groups/v_1/client.rb +356 -0
  435. data/lib/candidhealth/payer_plan_groups/v_1/types/mutable_payer_plan_group.rb +78 -0
  436. data/lib/candidhealth/payer_plan_groups/v_1/types/payer_plan_group.rb +114 -0
  437. data/lib/candidhealth/payer_plan_groups/v_1/types/payer_plan_group_already_exists_error.rb +70 -0
  438. data/lib/candidhealth/payer_plan_groups/v_1/types/payer_plan_group_page.rb +88 -0
  439. data/lib/candidhealth/payer_plan_groups/v_1/types/payer_plan_group_sort_field.rb +15 -0
  440. data/lib/candidhealth/payers/client.rb +30 -0
  441. data/lib/candidhealth/payers/v_3/client.rb +145 -0
  442. data/lib/candidhealth/payers/v_3/types/payer.rb +131 -0
  443. data/lib/candidhealth/payers/v_3/types/payer_identifier.rb +99 -0
  444. data/lib/candidhealth/payers/v_3/types/payer_info.rb +70 -0
  445. data/lib/candidhealth/payers/v_3/types/payer_page.rb +88 -0
  446. data/lib/candidhealth/pre_encounter/appointments/client.rb +32 -0
  447. data/lib/candidhealth/pre_encounter/appointments/v_1/client.rb +580 -0
  448. data/lib/candidhealth/pre_encounter/appointments/v_1/types/appointment.rb +283 -0
  449. data/lib/candidhealth/pre_encounter/appointments/v_1/types/appointment_status.rb +18 -0
  450. data/lib/candidhealth/pre_encounter/appointments/v_1/types/appointment_work_queue.rb +18 -0
  451. data/lib/candidhealth/pre_encounter/appointments/v_1/types/mutable_appointment.rb +231 -0
  452. data/lib/candidhealth/pre_encounter/appointments/v_1/types/service.rb +82 -0
  453. data/lib/candidhealth/pre_encounter/appointments/v_1/types/universal_service_identifier.rb +18 -0
  454. data/lib/candidhealth/pre_encounter/appointments/v_1/types/visit.rb +96 -0
  455. data/lib/candidhealth/pre_encounter/appointments/v_1/types/visits_page.rb +98 -0
  456. data/lib/candidhealth/pre_encounter/client.rb +30 -0
  457. data/lib/candidhealth/pre_encounter/common/types/additional_payer_information.rb +92 -0
  458. data/lib/candidhealth/pre_encounter/common/types/address.rb +123 -0
  459. data/lib/candidhealth/pre_encounter/common/types/address_use.rb +17 -0
  460. data/lib/candidhealth/pre_encounter/common/types/base_model.rb +104 -0
  461. data/lib/candidhealth/pre_encounter/common/types/canonical_clinical_trial_association.rb +86 -0
  462. data/lib/candidhealth/pre_encounter/common/types/canonical_non_insurance_payer_association.rb +103 -0
  463. data/lib/candidhealth/pre_encounter/common/types/contact_point.rb +87 -0
  464. data/lib/candidhealth/pre_encounter/common/types/contact_point_use.rb +17 -0
  465. data/lib/candidhealth/pre_encounter/common/types/disability_status.rb +14 -0
  466. data/lib/candidhealth/pre_encounter/common/types/error_base_4_xx.rb +72 -0
  467. data/lib/candidhealth/pre_encounter/common/types/ethnicity.rb +16 -0
  468. data/lib/candidhealth/pre_encounter/common/types/external_identifier.rb +87 -0
  469. data/lib/candidhealth/pre_encounter/common/types/external_provider.rb +146 -0
  470. data/lib/candidhealth/pre_encounter/common/types/external_provider_type.rb +15 -0
  471. data/lib/candidhealth/pre_encounter/common/types/gender.rb +21 -0
  472. data/lib/candidhealth/pre_encounter/common/types/human_name.rb +107 -0
  473. data/lib/candidhealth/pre_encounter/common/types/name_use.rb +19 -0
  474. data/lib/candidhealth/pre_encounter/common/types/period.rb +74 -0
  475. data/lib/candidhealth/pre_encounter/common/types/race.rb +21 -0
  476. data/lib/candidhealth/pre_encounter/common/types/relationship.rb +17 -0
  477. data/lib/candidhealth/pre_encounter/common/types/resource_page.rb +83 -0
  478. data/lib/candidhealth/pre_encounter/common/types/sex.rb +16 -0
  479. data/lib/candidhealth/pre_encounter/common/types/sexual_orientation.rb +19 -0
  480. data/lib/candidhealth/pre_encounter/common/types/sort_direction.rb +14 -0
  481. data/lib/candidhealth/pre_encounter/common/types/version_conflict_error_body.rb +79 -0
  482. data/lib/candidhealth/pre_encounter/coverages/client.rb +32 -0
  483. data/lib/candidhealth/pre_encounter/coverages/v_1/client.rb +1206 -0
  484. data/lib/candidhealth/pre_encounter/coverages/v_1/types/address.rb +118 -0
  485. data/lib/candidhealth/pre_encounter/coverages/v_1/types/benefit_type.rb +24 -0
  486. data/lib/candidhealth/pre_encounter/coverages/v_1/types/benefits_related_entity.rb +108 -0
  487. data/lib/candidhealth/pre_encounter/coverages/v_1/types/coverage.rb +225 -0
  488. data/lib/candidhealth/pre_encounter/coverages/v_1/types/coverage_benefits.rb +109 -0
  489. data/lib/candidhealth/pre_encounter/coverages/v_1/types/coverage_details.rb +104 -0
  490. data/lib/candidhealth/pre_encounter/coverages/v_1/types/coverage_eligibility_check_response.rb +87 -0
  491. data/lib/candidhealth/pre_encounter/coverages/v_1/types/coverage_level.rb +19 -0
  492. data/lib/candidhealth/pre_encounter/coverages/v_1/types/coverage_status.rb +20 -0
  493. data/lib/candidhealth/pre_encounter/coverages/v_1/types/coverage_value.rb +94 -0
  494. data/lib/candidhealth/pre_encounter/coverages/v_1/types/coverage_value_unit.rb +17 -0
  495. data/lib/candidhealth/pre_encounter/coverages/v_1/types/coverages_page.rb +98 -0
  496. data/lib/candidhealth/pre_encounter/coverages/v_1/types/expanded_member_info.rb +133 -0
  497. data/lib/candidhealth/pre_encounter/coverages/v_1/types/insurance_plan.rb +165 -0
  498. data/lib/candidhealth/pre_encounter/coverages/v_1/types/insurance_type_code.rb +86 -0
  499. data/lib/candidhealth/pre_encounter/coverages/v_1/types/latest_eligibility_check.rb +83 -0
  500. data/lib/candidhealth/pre_encounter/coverages/v_1/types/member_info.rb +111 -0
  501. data/lib/candidhealth/pre_encounter/coverages/v_1/types/mutable_coverage.rb +171 -0
  502. data/lib/candidhealth/pre_encounter/coverages/v_1/types/network_type.rb +38 -0
  503. data/lib/candidhealth/pre_encounter/coverages/v_1/types/payer_plan_group_fields.rb +92 -0
  504. data/lib/candidhealth/pre_encounter/coverages/v_1/types/plan_coverage.rb +113 -0
  505. data/lib/candidhealth/pre_encounter/coverages/v_1/types/plan_coverage_details.rb +176 -0
  506. data/lib/candidhealth/pre_encounter/coverages/v_1/types/plan_date.rb +87 -0
  507. data/lib/candidhealth/pre_encounter/coverages/v_1/types/plan_metadata.rb +167 -0
  508. data/lib/candidhealth/pre_encounter/coverages/v_1/types/related_entity_contact.rb +74 -0
  509. data/lib/candidhealth/pre_encounter/coverages/v_1/types/service_coverage.rb +122 -0
  510. data/lib/candidhealth/pre_encounter/coverages/v_1/types/service_coverage_details.rb +124 -0
  511. data/lib/candidhealth/pre_encounter/coverages/v_1/types/service_type_code.rb +203 -0
  512. data/lib/candidhealth/pre_encounter/coverages/v_1/types/subscriber.rb +108 -0
  513. data/lib/candidhealth/pre_encounter/eligibility_checks/client.rb +32 -0
  514. data/lib/candidhealth/pre_encounter/eligibility_checks/v_1/client.rb +264 -0
  515. data/lib/candidhealth/pre_encounter/eligibility_checks/v_1/types/batch_eligibility_response.rb +75 -0
  516. data/lib/candidhealth/pre_encounter/eligibility_checks/v_1/types/eligibility_check.rb +131 -0
  517. data/lib/candidhealth/pre_encounter/eligibility_checks/v_1/types/eligibility_check_error.rb +80 -0
  518. data/lib/candidhealth/pre_encounter/eligibility_checks/v_1/types/eligibility_check_error_details.rb +112 -0
  519. data/lib/candidhealth/pre_encounter/eligibility_checks/v_1/types/eligibility_check_error_source.rb +17 -0
  520. data/lib/candidhealth/pre_encounter/eligibility_checks/v_1/types/eligibility_check_metadata.rb +103 -0
  521. data/lib/candidhealth/pre_encounter/eligibility_checks/v_1/types/eligibility_check_page.rb +98 -0
  522. data/lib/candidhealth/pre_encounter/eligibility_checks/v_1/types/eligibility_check_status.rb +18 -0
  523. data/lib/candidhealth/pre_encounter/eligibility_checks/v_1/types/eligibility_request.rb +151 -0
  524. data/lib/candidhealth/pre_encounter/eligibility_checks/v_1/types/eligibility_response.rb +15 -0
  525. data/lib/candidhealth/pre_encounter/eligibility_checks/v_1/types/eligibility_status.rb +18 -0
  526. data/lib/candidhealth/pre_encounter/eligibility_checks/v_1/types/encounter.rb +83 -0
  527. data/lib/candidhealth/pre_encounter/eligibility_checks/v_1/types/individual_provider.rb +81 -0
  528. data/lib/candidhealth/pre_encounter/eligibility_checks/v_1/types/organization_provider.rb +74 -0
  529. data/lib/candidhealth/pre_encounter/eligibility_checks/v_1/types/parsed_response.rb +99 -0
  530. data/lib/candidhealth/pre_encounter/eligibility_checks/v_1/types/provider.rb +66 -0
  531. data/lib/candidhealth/pre_encounter/eligibility_checks/v_1/types/request_correction.rb +79 -0
  532. data/lib/candidhealth/pre_encounter/images/client.rb +32 -0
  533. data/lib/candidhealth/pre_encounter/images/v_1/client.rb +359 -0
  534. data/lib/candidhealth/pre_encounter/images/v_1/types/coverage_association.rb +74 -0
  535. data/lib/candidhealth/pre_encounter/images/v_1/types/coverage_image_side.rb +16 -0
  536. data/lib/candidhealth/pre_encounter/images/v_1/types/image.rb +188 -0
  537. data/lib/candidhealth/pre_encounter/images/v_1/types/image_status.rb +17 -0
  538. data/lib/candidhealth/pre_encounter/images/v_1/types/mutable_image.rb +125 -0
  539. data/lib/candidhealth/pre_encounter/images/v_1/types/patient_association.rb +75 -0
  540. data/lib/candidhealth/pre_encounter/lists/client.rb +32 -0
  541. data/lib/candidhealth/pre_encounter/lists/v_1/client.rb +187 -0
  542. data/lib/candidhealth/pre_encounter/lists/v_1/types/appointment_list_item.rb +114 -0
  543. data/lib/candidhealth/pre_encounter/lists/v_1/types/appointment_list_page.rb +98 -0
  544. data/lib/candidhealth/pre_encounter/lists/v_1/types/patient_list_item.rb +104 -0
  545. data/lib/candidhealth/pre_encounter/lists/v_1/types/patient_list_page.rb +98 -0
  546. data/lib/candidhealth/pre_encounter/notes/client.rb +32 -0
  547. data/lib/candidhealth/pre_encounter/notes/v_1/client.rb +257 -0
  548. data/lib/candidhealth/pre_encounter/notes/v_1/types/mutable_note.rb +86 -0
  549. data/lib/candidhealth/pre_encounter/notes/v_1/types/note.rb +149 -0
  550. data/lib/candidhealth/pre_encounter/patients/client.rb +32 -0
  551. data/lib/candidhealth/pre_encounter/patients/v_1/client.rb +1240 -0
  552. data/lib/candidhealth/pre_encounter/patients/v_1/types/authorization.rb +170 -0
  553. data/lib/candidhealth/pre_encounter/patients/v_1/types/authorization_unit.rb +16 -0
  554. data/lib/candidhealth/pre_encounter/patients/v_1/types/contact.rb +132 -0
  555. data/lib/candidhealth/pre_encounter/patients/v_1/types/do_not_invoice_reason.rb +18 -0
  556. data/lib/candidhealth/pre_encounter/patients/v_1/types/external_provenance.rb +73 -0
  557. data/lib/candidhealth/pre_encounter/patients/v_1/types/filing_order.rb +63 -0
  558. data/lib/candidhealth/pre_encounter/patients/v_1/types/guarantor.rb +121 -0
  559. data/lib/candidhealth/pre_encounter/patients/v_1/types/marital_status.rb +26 -0
  560. data/lib/candidhealth/pre_encounter/patients/v_1/types/mutable_patient.rb +450 -0
  561. data/lib/candidhealth/pre_encounter/patients/v_1/types/mutable_patient_with_mrn.rb +457 -0
  562. data/lib/candidhealth/pre_encounter/patients/v_1/types/patient.rb +516 -0
  563. data/lib/candidhealth/pre_encounter/patients/v_1/types/patient_page.rb +98 -0
  564. data/lib/candidhealth/pre_encounter/patients/v_1/types/referral.rb +106 -0
  565. data/lib/candidhealth/pre_encounter/tags/client.rb +32 -0
  566. data/lib/candidhealth/pre_encounter/tags/v_1/client.rb +311 -0
  567. data/lib/candidhealth/pre_encounter/tags/v_1/types/mutable_tag.rb +63 -0
  568. data/lib/candidhealth/pre_encounter/tags/v_1/types/tag.rb +123 -0
  569. data/lib/candidhealth/pre_encounter/tags/v_1/types/tag_page.rb +98 -0
  570. data/lib/candidhealth/remits/v_1/types/payee.rb +77 -0
  571. data/lib/candidhealth/remits/v_1/types/payee_identifier.rb +106 -0
  572. data/lib/candidhealth/service_facility/client.rb +98 -0
  573. data/lib/candidhealth/service_facility/types/encounter_service_facility.rb +119 -0
  574. data/lib/candidhealth/service_facility/types/encounter_service_facility_base.rb +123 -0
  575. data/lib/candidhealth/service_facility/types/encounter_service_facility_update.rb +111 -0
  576. data/lib/candidhealth/service_facility/types/encounter_service_facility_update_with_optional_address.rb +113 -0
  577. data/lib/candidhealth/service_lines/client.rb +30 -0
  578. data/lib/candidhealth/service_lines/v_2/client.rb +313 -0
  579. data/lib/candidhealth/service_lines/v_2/types/denial_reason_content.rb +44 -0
  580. data/lib/candidhealth/service_lines/v_2/types/drug_identification.rb +126 -0
  581. data/lib/candidhealth/service_lines/v_2/types/drug_identification_optional.rb +126 -0
  582. data/lib/candidhealth/service_lines/v_2/types/measurement_unit_code.rb +17 -0
  583. data/lib/candidhealth/service_lines/v_2/types/service_id_qualifier.rb +19 -0
  584. data/lib/candidhealth/service_lines/v_2/types/service_line.rb +463 -0
  585. data/lib/candidhealth/service_lines/v_2/types/service_line_adjustment.rb +102 -0
  586. data/lib/candidhealth/service_lines/v_2/types/service_line_create.rb +247 -0
  587. data/lib/candidhealth/service_lines/v_2/types/service_line_create_optional.rb +247 -0
  588. data/lib/candidhealth/service_lines/v_2/types/service_line_create_standalone.rb +293 -0
  589. data/lib/candidhealth/service_lines/v_2/types/service_line_denial_reason.rb +66 -0
  590. data/lib/candidhealth/service_lines/v_2/types/service_line_era_data.rb +78 -0
  591. data/lib/candidhealth/service_lines/v_2/types/service_line_update.rb +285 -0
  592. data/lib/candidhealth/service_lines/v_2/types/test_result.rb +71 -0
  593. data/lib/candidhealth/service_lines/v_2/types/test_result_optional.rb +73 -0
  594. data/lib/candidhealth/service_lines/v_2/types/test_result_type.rb +15 -0
  595. data/lib/candidhealth/superbills/client.rb +30 -0
  596. data/lib/candidhealth/superbills/v_1/client.rb +123 -0
  597. data/lib/candidhealth/superbills/v_1/types/superbill.rb +108 -0
  598. data/lib/candidhealth/superbills/v_1/types/superbill_response.rb +65 -0
  599. data/lib/candidhealth/tags/types/tag.rb +83 -0
  600. data/lib/candidhealth/tags/types/tag_color_enum.rb +20 -0
  601. data/lib/candidhealth/tags/types/tag_create.rb +76 -0
  602. data/lib/candidhealth/tasks/client.rb +30 -0
  603. data/lib/candidhealth/tasks/commons/types/task_category.rb +54 -0
  604. data/lib/candidhealth/tasks/commons/types/task_status.rb +19 -0
  605. data/lib/candidhealth/tasks/commons/types/task_type.rb +24 -0
  606. data/lib/candidhealth/tasks/v_3/client.rb +343 -0
  607. data/lib/candidhealth/tasks/v_3/types/task.rb +225 -0
  608. data/lib/candidhealth/tasks/v_3/types/task_action.rb +85 -0
  609. data/lib/candidhealth/tasks/v_3/types/task_action_execution_method.rb +85 -0
  610. data/lib/candidhealth/tasks/v_3/types/task_action_type.rb +14 -0
  611. data/lib/candidhealth/tasks/v_3/types/task_actions.rb +65 -0
  612. data/lib/candidhealth/tasks/v_3/types/task_assignment.rb +75 -0
  613. data/lib/candidhealth/tasks/v_3/types/task_create_v_3.rb +118 -0
  614. data/lib/candidhealth/tasks/v_3/types/task_note.rb +100 -0
  615. data/lib/candidhealth/tasks/v_3/types/task_page.rb +88 -0
  616. data/lib/candidhealth/tasks/v_3/types/task_sort_options.rb +34 -0
  617. data/lib/candidhealth/tasks/v_3/types/task_update_v_3.rb +85 -0
  618. data/lib/candidhealth/tasks/v_3/types/task_updated_to_deprecated_status_error_type.rb +64 -0
  619. data/lib/candidhealth/write_offs/client.rb +30 -0
  620. data/lib/candidhealth/write_offs/v_1/client.rb +379 -0
  621. data/lib/candidhealth/write_offs/v_1/types/create_write_offs_response.rb +65 -0
  622. data/lib/candidhealth/write_offs/v_1/types/insurance_write_off.rb +149 -0
  623. data/lib/candidhealth/write_offs/v_1/types/insurance_write_off_create.rb +125 -0
  624. data/lib/candidhealth/write_offs/v_1/types/insurance_write_off_reason.rb +29 -0
  625. data/lib/candidhealth/write_offs/v_1/types/insurance_write_off_target.rb +106 -0
  626. data/lib/candidhealth/write_offs/v_1/types/non_insurance_payer_write_off.rb +143 -0
  627. data/lib/candidhealth/write_offs/v_1/types/non_insurance_payer_write_off_create.rb +113 -0
  628. data/lib/candidhealth/write_offs/v_1/types/patient_write_off.rb +145 -0
  629. data/lib/candidhealth/write_offs/v_1/types/patient_write_off_create.rb +105 -0
  630. data/lib/candidhealth/write_offs/v_1/types/patient_write_off_reason.rb +24 -0
  631. data/lib/candidhealth/write_offs/v_1/types/write_off.rb +113 -0
  632. data/lib/candidhealth/write_offs/v_1/types/write_off_create.rb +113 -0
  633. data/lib/candidhealth/write_offs/v_1/types/write_off_sort_field.rb +15 -0
  634. data/lib/candidhealth/write_offs/v_1/types/write_offs_page.rb +88 -0
  635. data/lib/candidhealth/x_12/v_1/types/carc.rb +415 -0
  636. data/lib/candidhealth/x_12/v_1/types/claim_adjustment_reason_code.rb +79 -0
  637. data/lib/candidhealth/x_12/v_1/types/rarc.rb +1199 -0
  638. data/lib/candidhealth/x_12/v_1/types/remittance_advice_remark_code.rb +61 -0
  639. data/lib/candidhealth/yes_no_indicator/types/yes_no_indicator.rb +14 -0
  640. data/lib/candidhealth.rb +329 -0
  641. data/lib/core/file_utilities.rb +26 -0
  642. data/lib/core/oauth.rb +62 -0
  643. data/lib/environment.rb +18 -0
  644. data/lib/gemconfig.rb +14 -0
  645. data/lib/requests.rb +166 -0
  646. data/lib/types_export.rb +552 -0
  647. metadata +803 -0
@@ -0,0 +1,1240 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../../../../requests"
4
+ require_relative "types/mutable_patient"
5
+ require_relative "types/patient"
6
+ require_relative "types/mutable_patient_with_mrn"
7
+ require_relative "../../common/types/sort_direction"
8
+ require_relative "types/patient_page"
9
+ require_relative "../../common/types/external_provider"
10
+ require "json"
11
+ require "date"
12
+ require "async"
13
+
14
+ module CandidApiClient
15
+ module PreEncounter
16
+ module Patients
17
+ module V1
18
+ class V1Client
19
+ # @return [CandidApiClient::RequestClient]
20
+ attr_reader :request_client
21
+
22
+ # @param request_client [CandidApiClient::RequestClient]
23
+ # @return [CandidApiClient::PreEncounter::Patients::V1::V1Client]
24
+ def initialize(request_client:)
25
+ @request_client = request_client
26
+ end
27
+
28
+ # Adds a patient. VersionConflictError is returned when the patient's external ID
29
+ # is already in use.
30
+ #
31
+ # @param skip_duplicate_check [Boolean]
32
+ # @param request [Hash] Request of type CandidApiClient::PreEncounter::Patients::V1::Types::MutablePatient, as a Hash
33
+ # * :name (Hash)
34
+ # * :family (String)
35
+ # * :given (Array<String>)
36
+ # * :use (CandidApiClient::PreEncounter::Common::Types::NameUse)
37
+ # * :period (Hash)
38
+ # * :start (Date)
39
+ # * :end_ (Date)
40
+ # * :suffix (String)
41
+ # * :other_names (Array<CandidApiClient::PreEncounter::Common::Types::HumanName>)
42
+ # * :other_identifiers (Array<CandidApiClient::PreEncounter::Common::Types::ExternalIdentifier>)
43
+ # * :gender (CandidApiClient::PreEncounter::Common::Types::Gender)
44
+ # * :birth_date (Date)
45
+ # * :social_security_number (String)
46
+ # * :biological_sex (CandidApiClient::PreEncounter::Common::Types::Sex)
47
+ # * :sexual_orientation (CandidApiClient::PreEncounter::Common::Types::SexualOrientation)
48
+ # * :pronouns (Array<String>)
49
+ # * :race (CandidApiClient::PreEncounter::Common::Types::Race)
50
+ # * :ethnicity (CandidApiClient::PreEncounter::Common::Types::Ethnicity)
51
+ # * :disability_status (CandidApiClient::PreEncounter::Common::Types::DisabilityStatus)
52
+ # * :marital_status (CandidApiClient::PreEncounter::Patients::V1::Types::MaritalStatus)
53
+ # * :deceased (DateTime)
54
+ # * :multiple_birth (Integer)
55
+ # * :primary_address (Hash)
56
+ # * :use (CandidApiClient::PreEncounter::Common::Types::AddressUse)
57
+ # * :line (Array<String>)
58
+ # * :city (String)
59
+ # * :state (String)
60
+ # * :postal_code (String)
61
+ # * :country (String)
62
+ # * :period (Hash)
63
+ # * :start (Date)
64
+ # * :end_ (Date)
65
+ # * :other_addresses (Array<CandidApiClient::PreEncounter::Common::Types::Address>)
66
+ # * :primary_telecom (Hash)
67
+ # * :value (String)
68
+ # * :use (CandidApiClient::PreEncounter::Common::Types::ContactPointUse)
69
+ # * :period (Hash)
70
+ # * :start (Date)
71
+ # * :end_ (Date)
72
+ # * :other_telecoms (Array<CandidApiClient::PreEncounter::Common::Types::ContactPoint>)
73
+ # * :email (String)
74
+ # * :electronic_communication_opt_in (Boolean)
75
+ # * :photo (String)
76
+ # * :language (String)
77
+ # * :external_provenance (Hash)
78
+ # * :external_id (String)
79
+ # * :system_name (String)
80
+ # * :contacts (Array<CandidApiClient::PreEncounter::Patients::V1::Types::Contact>)
81
+ # * :general_practitioners (Array<CandidApiClient::PreEncounter::Common::Types::ExternalProvider>)
82
+ # * :filing_order (Hash)
83
+ # * :coverages (Array<String>)
84
+ # * :non_insurance_payers (Array<String>)
85
+ # * :non_insurance_payer_associations (Array<CandidApiClient::PreEncounter::Common::Types::CanonicalNonInsurancePayerAssociation>)
86
+ # * :guarantor (Hash)
87
+ # * :name (Hash)
88
+ # * :family (String)
89
+ # * :given (Array<String>)
90
+ # * :use (CandidApiClient::PreEncounter::Common::Types::NameUse)
91
+ # * :period (Hash)
92
+ # * :start (Date)
93
+ # * :end_ (Date)
94
+ # * :suffix (String)
95
+ # * :telecom (Hash)
96
+ # * :value (String)
97
+ # * :use (CandidApiClient::PreEncounter::Common::Types::ContactPointUse)
98
+ # * :period (Hash)
99
+ # * :start (Date)
100
+ # * :end_ (Date)
101
+ # * :email (String)
102
+ # * :birth_date (Date)
103
+ # * :address (Hash)
104
+ # * :use (CandidApiClient::PreEncounter::Common::Types::AddressUse)
105
+ # * :line (Array<String>)
106
+ # * :city (String)
107
+ # * :state (String)
108
+ # * :postal_code (String)
109
+ # * :country (String)
110
+ # * :period (Hash)
111
+ # * :start (Date)
112
+ # * :end_ (Date)
113
+ # * :self_pay (Boolean)
114
+ # * :authorizations (Array<CandidApiClient::PreEncounter::Patients::V1::Types::Authorization>)
115
+ # * :referrals (Array<CandidApiClient::PreEncounter::Patients::V1::Types::Referral>)
116
+ # * :primary_service_facility_id (String)
117
+ # * :do_not_invoice_reason (CandidApiClient::PreEncounter::Patients::V1::Types::DoNotInvoiceReason)
118
+ # * :note_ids (Array<String>)
119
+ # * :tag_ids (Array<String>)
120
+ # @param request_options [CandidApiClient::RequestOptions]
121
+ # @return [CandidApiClient::PreEncounter::Patients::V1::Types::Patient]
122
+ # @example
123
+ # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
124
+ # api.pre_encounter.patients.v_1.create(request: { name: { family: "family", given: ["given", "given"], use: USUAL }, other_names: [{ family: "family", given: ["given", "given"], use: USUAL }, { family: "family", given: ["given", "given"], use: USUAL }], birth_date: DateTime.parse(2023-01-15), biological_sex: FEMALE, primary_address: { use: HOME, line: ["line", "line"], city: "city", state: "state", postal_code: "postal_code", country: "country" }, other_addresses: [{ use: HOME, line: ["line", "line"], city: "city", state: "state", postal_code: "postal_code", country: "country" }, { use: HOME, line: ["line", "line"], city: "city", state: "state", postal_code: "postal_code", country: "country" }], primary_telecom: { value: "value", use: HOME }, other_telecoms: [{ value: "value", use: HOME }, { value: "value", use: HOME }], contacts: [{ relationship: [SELF, SELF], name: { family: "family", given: ["given", "given"], use: USUAL }, telecoms: [{ value: "value", use: HOME }, { value: "value", use: HOME }], addresses: [{ use: HOME, line: ["line", "line"], city: "city", state: "state", postal_code: "postal_code", country: "country" }, { use: HOME, line: ["line", "line"], city: "city", state: "state", postal_code: "postal_code", country: "country" }] }, { relationship: [SELF, SELF], name: { family: "family", given: ["given", "given"], use: USUAL }, telecoms: [{ value: "value", use: HOME }, { value: "value", use: HOME }], addresses: [{ use: HOME, line: ["line", "line"], city: "city", state: "state", postal_code: "postal_code", country: "country" }, { use: HOME, line: ["line", "line"], city: "city", state: "state", postal_code: "postal_code", country: "country" }] }], general_practitioners: [{ name: { family: "family", given: ["given", "given"], use: USUAL }, telecoms: [{ value: "value", use: HOME }, { value: "value", use: HOME }] }, { name: { family: "family", given: ["given", "given"], use: USUAL }, telecoms: [{ value: "value", use: HOME }, { value: "value", use: HOME }] }], filing_order: { coverages: ["d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32"] } })
125
+ def create(request:, skip_duplicate_check: nil, request_options: nil)
126
+ response = @request_client.conn.post do |req|
127
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
128
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
129
+ req.headers = {
130
+ **(req.headers || {}),
131
+ **@request_client.get_headers,
132
+ **(request_options&.additional_headers || {})
133
+ }.compact
134
+ req.params = {
135
+ **(request_options&.additional_query_parameters || {}),
136
+ "skip_duplicate_check": skip_duplicate_check
137
+ }.compact
138
+ req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
139
+ req.url "#{@request_client.get_url(environment: PreEncounter,
140
+ request_options: request_options)}/patients/v1"
141
+ end
142
+ CandidApiClient::PreEncounter::Patients::V1::Types::Patient.from_json(json_object: response.body)
143
+ end
144
+
145
+ # Adds a patient and hydrates their MRN with a pre-existing MRN. Once this
146
+ # patient is created their MRN will not be editable. BadRequestError is returned
147
+ # when the MRN is greater than 20 characters. VersionConflictError is returned
148
+ # when the patient's external ID is already in use.
149
+ #
150
+ # @param skip_duplicate_check [Boolean]
151
+ # @param request [Hash] Request of type CandidApiClient::PreEncounter::Patients::V1::Types::MutablePatientWithMrn, as a Hash
152
+ # * :mrn (String)
153
+ # * :name (Hash)
154
+ # * :family (String)
155
+ # * :given (Array<String>)
156
+ # * :use (CandidApiClient::PreEncounter::Common::Types::NameUse)
157
+ # * :period (Hash)
158
+ # * :start (Date)
159
+ # * :end_ (Date)
160
+ # * :suffix (String)
161
+ # * :other_names (Array<CandidApiClient::PreEncounter::Common::Types::HumanName>)
162
+ # * :other_identifiers (Array<CandidApiClient::PreEncounter::Common::Types::ExternalIdentifier>)
163
+ # * :gender (CandidApiClient::PreEncounter::Common::Types::Gender)
164
+ # * :birth_date (Date)
165
+ # * :social_security_number (String)
166
+ # * :biological_sex (CandidApiClient::PreEncounter::Common::Types::Sex)
167
+ # * :sexual_orientation (CandidApiClient::PreEncounter::Common::Types::SexualOrientation)
168
+ # * :pronouns (Array<String>)
169
+ # * :race (CandidApiClient::PreEncounter::Common::Types::Race)
170
+ # * :ethnicity (CandidApiClient::PreEncounter::Common::Types::Ethnicity)
171
+ # * :disability_status (CandidApiClient::PreEncounter::Common::Types::DisabilityStatus)
172
+ # * :marital_status (CandidApiClient::PreEncounter::Patients::V1::Types::MaritalStatus)
173
+ # * :deceased (DateTime)
174
+ # * :multiple_birth (Integer)
175
+ # * :primary_address (Hash)
176
+ # * :use (CandidApiClient::PreEncounter::Common::Types::AddressUse)
177
+ # * :line (Array<String>)
178
+ # * :city (String)
179
+ # * :state (String)
180
+ # * :postal_code (String)
181
+ # * :country (String)
182
+ # * :period (Hash)
183
+ # * :start (Date)
184
+ # * :end_ (Date)
185
+ # * :other_addresses (Array<CandidApiClient::PreEncounter::Common::Types::Address>)
186
+ # * :primary_telecom (Hash)
187
+ # * :value (String)
188
+ # * :use (CandidApiClient::PreEncounter::Common::Types::ContactPointUse)
189
+ # * :period (Hash)
190
+ # * :start (Date)
191
+ # * :end_ (Date)
192
+ # * :other_telecoms (Array<CandidApiClient::PreEncounter::Common::Types::ContactPoint>)
193
+ # * :email (String)
194
+ # * :electronic_communication_opt_in (Boolean)
195
+ # * :photo (String)
196
+ # * :language (String)
197
+ # * :external_provenance (Hash)
198
+ # * :external_id (String)
199
+ # * :system_name (String)
200
+ # * :contacts (Array<CandidApiClient::PreEncounter::Patients::V1::Types::Contact>)
201
+ # * :general_practitioners (Array<CandidApiClient::PreEncounter::Common::Types::ExternalProvider>)
202
+ # * :filing_order (Hash)
203
+ # * :coverages (Array<String>)
204
+ # * :non_insurance_payers (Array<String>)
205
+ # * :non_insurance_payer_associations (Array<CandidApiClient::PreEncounter::Common::Types::CanonicalNonInsurancePayerAssociation>)
206
+ # * :guarantor (Hash)
207
+ # * :name (Hash)
208
+ # * :family (String)
209
+ # * :given (Array<String>)
210
+ # * :use (CandidApiClient::PreEncounter::Common::Types::NameUse)
211
+ # * :period (Hash)
212
+ # * :start (Date)
213
+ # * :end_ (Date)
214
+ # * :suffix (String)
215
+ # * :telecom (Hash)
216
+ # * :value (String)
217
+ # * :use (CandidApiClient::PreEncounter::Common::Types::ContactPointUse)
218
+ # * :period (Hash)
219
+ # * :start (Date)
220
+ # * :end_ (Date)
221
+ # * :email (String)
222
+ # * :birth_date (Date)
223
+ # * :address (Hash)
224
+ # * :use (CandidApiClient::PreEncounter::Common::Types::AddressUse)
225
+ # * :line (Array<String>)
226
+ # * :city (String)
227
+ # * :state (String)
228
+ # * :postal_code (String)
229
+ # * :country (String)
230
+ # * :period (Hash)
231
+ # * :start (Date)
232
+ # * :end_ (Date)
233
+ # * :self_pay (Boolean)
234
+ # * :authorizations (Array<CandidApiClient::PreEncounter::Patients::V1::Types::Authorization>)
235
+ # * :referrals (Array<CandidApiClient::PreEncounter::Patients::V1::Types::Referral>)
236
+ # * :primary_service_facility_id (String)
237
+ # * :do_not_invoice_reason (CandidApiClient::PreEncounter::Patients::V1::Types::DoNotInvoiceReason)
238
+ # * :note_ids (Array<String>)
239
+ # * :tag_ids (Array<String>)
240
+ # @param request_options [CandidApiClient::RequestOptions]
241
+ # @return [CandidApiClient::PreEncounter::Patients::V1::Types::Patient]
242
+ # @example
243
+ # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
244
+ # api.pre_encounter.patients.v_1.create_with_mrn(request: { name: { family: "family", given: ["given", "given"], use: USUAL }, other_names: [{ family: "family", given: ["given", "given"], use: USUAL }, { family: "family", given: ["given", "given"], use: USUAL }], birth_date: DateTime.parse(2023-01-15), biological_sex: FEMALE, primary_address: { use: HOME, line: ["line", "line"], city: "city", state: "state", postal_code: "postal_code", country: "country" }, other_addresses: [{ use: HOME, line: ["line", "line"], city: "city", state: "state", postal_code: "postal_code", country: "country" }, { use: HOME, line: ["line", "line"], city: "city", state: "state", postal_code: "postal_code", country: "country" }], primary_telecom: { value: "value", use: HOME }, other_telecoms: [{ value: "value", use: HOME }, { value: "value", use: HOME }], contacts: [{ relationship: [SELF, SELF], name: { family: "family", given: ["given", "given"], use: USUAL }, telecoms: [{ value: "value", use: HOME }, { value: "value", use: HOME }], addresses: [{ use: HOME, line: ["line", "line"], city: "city", state: "state", postal_code: "postal_code", country: "country" }, { use: HOME, line: ["line", "line"], city: "city", state: "state", postal_code: "postal_code", country: "country" }] }, { relationship: [SELF, SELF], name: { family: "family", given: ["given", "given"], use: USUAL }, telecoms: [{ value: "value", use: HOME }, { value: "value", use: HOME }], addresses: [{ use: HOME, line: ["line", "line"], city: "city", state: "state", postal_code: "postal_code", country: "country" }, { use: HOME, line: ["line", "line"], city: "city", state: "state", postal_code: "postal_code", country: "country" }] }], general_practitioners: [{ name: { family: "family", given: ["given", "given"], use: USUAL }, telecoms: [{ value: "value", use: HOME }, { value: "value", use: HOME }] }, { name: { family: "family", given: ["given", "given"], use: USUAL }, telecoms: [{ value: "value", use: HOME }, { value: "value", use: HOME }] }], filing_order: { coverages: ["d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32"] }, mrn: "mrn" })
245
+ def create_with_mrn(request:, skip_duplicate_check: nil, request_options: nil)
246
+ response = @request_client.conn.post do |req|
247
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
248
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
249
+ req.headers = {
250
+ **(req.headers || {}),
251
+ **@request_client.get_headers,
252
+ **(request_options&.additional_headers || {})
253
+ }.compact
254
+ req.params = {
255
+ **(request_options&.additional_query_parameters || {}),
256
+ "skip_duplicate_check": skip_duplicate_check
257
+ }.compact
258
+ req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
259
+ req.url "#{@request_client.get_url(environment: PreEncounter,
260
+ request_options: request_options)}/patients/v1/with_mrn"
261
+ end
262
+ CandidApiClient::PreEncounter::Patients::V1::Types::Patient.from_json(json_object: response.body)
263
+ end
264
+
265
+ # Searches for patients that match the query parameters.
266
+ #
267
+ # @param limit [Integer]
268
+ # @param mrn [String]
269
+ # @param page_token [String]
270
+ # @param sort_field [String]
271
+ # @param sort_direction [CandidApiClient::PreEncounter::Common::Types::SortDirection] Defaults to ascending.
272
+ # @param request_options [CandidApiClient::RequestOptions]
273
+ # @return [CandidApiClient::PreEncounter::Patients::V1::Types::PatientPage]
274
+ # @example
275
+ # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
276
+ # api.pre_encounter.patients.v_1.get_multi
277
+ def get_multi(limit: nil, mrn: nil, page_token: nil, sort_field: nil, sort_direction: nil,
278
+ request_options: nil)
279
+ response = @request_client.conn.get do |req|
280
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
281
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
282
+ req.headers = {
283
+ **(req.headers || {}),
284
+ **@request_client.get_headers,
285
+ **(request_options&.additional_headers || {})
286
+ }.compact
287
+ req.params = {
288
+ **(request_options&.additional_query_parameters || {}),
289
+ "limit": limit,
290
+ "mrn": mrn,
291
+ "page_token": page_token,
292
+ "sort_field": sort_field,
293
+ "sort_direction": sort_direction
294
+ }.compact
295
+ req.url "#{@request_client.get_url(environment: PreEncounter,
296
+ request_options: request_options)}/patients/v1/get_multi"
297
+ end
298
+ CandidApiClient::PreEncounter::Patients::V1::Types::PatientPage.from_json(json_object: response.body)
299
+ end
300
+
301
+ # Searches for referring providers that match the query parameters. The search is
302
+ # case-insensitive, supports fuzzy matching, and matches against provider name and
303
+ # NPI. The search criteria must be an alphanumeric string, and the search is
304
+ # limited to the first 20 results.
305
+ #
306
+ # @param search_criteria [String]
307
+ # @param request_options [CandidApiClient::RequestOptions]
308
+ # @return [Array<CandidApiClient::PreEncounter::Common::Types::ExternalProvider>]
309
+ # @example
310
+ # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
311
+ # api.pre_encounter.patients.v_1.search_providers(search_criteria: "search_criteria")
312
+ def search_providers(search_criteria:, request_options: nil)
313
+ response = @request_client.conn.get do |req|
314
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
315
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
316
+ req.headers = {
317
+ **(req.headers || {}),
318
+ **@request_client.get_headers,
319
+ **(request_options&.additional_headers || {})
320
+ }.compact
321
+ req.params = {
322
+ **(request_options&.additional_query_parameters || {}),
323
+ "search_criteria": search_criteria
324
+ }.compact
325
+ req.url "#{@request_client.get_url(environment: PreEncounter,
326
+ request_options: request_options)}/patients/v1/search_providers"
327
+ end
328
+ parsed_json = JSON.parse(response.body)
329
+ parsed_json&.map do |item|
330
+ item = item.to_json
331
+ CandidApiClient::PreEncounter::Common::Types::ExternalProvider.from_json(json_object: item)
332
+ end
333
+ end
334
+
335
+ # Gets a patient.
336
+ #
337
+ # @param id [String]
338
+ # @param request_options [CandidApiClient::RequestOptions]
339
+ # @return [CandidApiClient::PreEncounter::Patients::V1::Types::Patient]
340
+ # @example
341
+ # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
342
+ # api.pre_encounter.patients.v_1.get(id: "id")
343
+ def get(id:, request_options: nil)
344
+ response = @request_client.conn.get do |req|
345
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
346
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
347
+ req.headers = {
348
+ **(req.headers || {}),
349
+ **@request_client.get_headers,
350
+ **(request_options&.additional_headers || {})
351
+ }.compact
352
+ req.url "#{@request_client.get_url(environment: PreEncounter,
353
+ request_options: request_options)}/patients/v1/#{id}"
354
+ end
355
+ CandidApiClient::PreEncounter::Patients::V1::Types::Patient.from_json(json_object: response.body)
356
+ end
357
+
358
+ # Gets a patient along with it's full history. The return list is ordered by
359
+ # version ascending.
360
+ #
361
+ # @param id [String]
362
+ # @param request_options [CandidApiClient::RequestOptions]
363
+ # @return [Array<CandidApiClient::PreEncounter::Patients::V1::Types::Patient>]
364
+ # @example
365
+ # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
366
+ # api.pre_encounter.patients.v_1.get_history(id: "id")
367
+ def get_history(id:, request_options: nil)
368
+ response = @request_client.conn.get do |req|
369
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
370
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
371
+ req.headers = {
372
+ **(req.headers || {}),
373
+ **@request_client.get_headers,
374
+ **(request_options&.additional_headers || {})
375
+ }.compact
376
+ req.url "#{@request_client.get_url(environment: PreEncounter,
377
+ request_options: request_options)}/patients/v1/#{id}/history"
378
+ end
379
+ parsed_json = JSON.parse(response.body)
380
+ parsed_json&.map do |item|
381
+ item = item.to_json
382
+ CandidApiClient::PreEncounter::Patients::V1::Types::Patient.from_json(json_object: item)
383
+ end
384
+ end
385
+
386
+ # Updates a patient. The path must contain the most recent version to prevent
387
+ # race conditions. Updating historic versions is not supported.
388
+ #
389
+ # @param id [String]
390
+ # @param version [String]
391
+ # @param request [Hash] Request of type CandidApiClient::PreEncounter::Patients::V1::Types::MutablePatient, as a Hash
392
+ # * :name (Hash)
393
+ # * :family (String)
394
+ # * :given (Array<String>)
395
+ # * :use (CandidApiClient::PreEncounter::Common::Types::NameUse)
396
+ # * :period (Hash)
397
+ # * :start (Date)
398
+ # * :end_ (Date)
399
+ # * :suffix (String)
400
+ # * :other_names (Array<CandidApiClient::PreEncounter::Common::Types::HumanName>)
401
+ # * :other_identifiers (Array<CandidApiClient::PreEncounter::Common::Types::ExternalIdentifier>)
402
+ # * :gender (CandidApiClient::PreEncounter::Common::Types::Gender)
403
+ # * :birth_date (Date)
404
+ # * :social_security_number (String)
405
+ # * :biological_sex (CandidApiClient::PreEncounter::Common::Types::Sex)
406
+ # * :sexual_orientation (CandidApiClient::PreEncounter::Common::Types::SexualOrientation)
407
+ # * :pronouns (Array<String>)
408
+ # * :race (CandidApiClient::PreEncounter::Common::Types::Race)
409
+ # * :ethnicity (CandidApiClient::PreEncounter::Common::Types::Ethnicity)
410
+ # * :disability_status (CandidApiClient::PreEncounter::Common::Types::DisabilityStatus)
411
+ # * :marital_status (CandidApiClient::PreEncounter::Patients::V1::Types::MaritalStatus)
412
+ # * :deceased (DateTime)
413
+ # * :multiple_birth (Integer)
414
+ # * :primary_address (Hash)
415
+ # * :use (CandidApiClient::PreEncounter::Common::Types::AddressUse)
416
+ # * :line (Array<String>)
417
+ # * :city (String)
418
+ # * :state (String)
419
+ # * :postal_code (String)
420
+ # * :country (String)
421
+ # * :period (Hash)
422
+ # * :start (Date)
423
+ # * :end_ (Date)
424
+ # * :other_addresses (Array<CandidApiClient::PreEncounter::Common::Types::Address>)
425
+ # * :primary_telecom (Hash)
426
+ # * :value (String)
427
+ # * :use (CandidApiClient::PreEncounter::Common::Types::ContactPointUse)
428
+ # * :period (Hash)
429
+ # * :start (Date)
430
+ # * :end_ (Date)
431
+ # * :other_telecoms (Array<CandidApiClient::PreEncounter::Common::Types::ContactPoint>)
432
+ # * :email (String)
433
+ # * :electronic_communication_opt_in (Boolean)
434
+ # * :photo (String)
435
+ # * :language (String)
436
+ # * :external_provenance (Hash)
437
+ # * :external_id (String)
438
+ # * :system_name (String)
439
+ # * :contacts (Array<CandidApiClient::PreEncounter::Patients::V1::Types::Contact>)
440
+ # * :general_practitioners (Array<CandidApiClient::PreEncounter::Common::Types::ExternalProvider>)
441
+ # * :filing_order (Hash)
442
+ # * :coverages (Array<String>)
443
+ # * :non_insurance_payers (Array<String>)
444
+ # * :non_insurance_payer_associations (Array<CandidApiClient::PreEncounter::Common::Types::CanonicalNonInsurancePayerAssociation>)
445
+ # * :guarantor (Hash)
446
+ # * :name (Hash)
447
+ # * :family (String)
448
+ # * :given (Array<String>)
449
+ # * :use (CandidApiClient::PreEncounter::Common::Types::NameUse)
450
+ # * :period (Hash)
451
+ # * :start (Date)
452
+ # * :end_ (Date)
453
+ # * :suffix (String)
454
+ # * :telecom (Hash)
455
+ # * :value (String)
456
+ # * :use (CandidApiClient::PreEncounter::Common::Types::ContactPointUse)
457
+ # * :period (Hash)
458
+ # * :start (Date)
459
+ # * :end_ (Date)
460
+ # * :email (String)
461
+ # * :birth_date (Date)
462
+ # * :address (Hash)
463
+ # * :use (CandidApiClient::PreEncounter::Common::Types::AddressUse)
464
+ # * :line (Array<String>)
465
+ # * :city (String)
466
+ # * :state (String)
467
+ # * :postal_code (String)
468
+ # * :country (String)
469
+ # * :period (Hash)
470
+ # * :start (Date)
471
+ # * :end_ (Date)
472
+ # * :self_pay (Boolean)
473
+ # * :authorizations (Array<CandidApiClient::PreEncounter::Patients::V1::Types::Authorization>)
474
+ # * :referrals (Array<CandidApiClient::PreEncounter::Patients::V1::Types::Referral>)
475
+ # * :primary_service_facility_id (String)
476
+ # * :do_not_invoice_reason (CandidApiClient::PreEncounter::Patients::V1::Types::DoNotInvoiceReason)
477
+ # * :note_ids (Array<String>)
478
+ # * :tag_ids (Array<String>)
479
+ # @param request_options [CandidApiClient::RequestOptions]
480
+ # @return [CandidApiClient::PreEncounter::Patients::V1::Types::Patient]
481
+ # @example
482
+ # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
483
+ # api.pre_encounter.patients.v_1.update(
484
+ # id: "id",
485
+ # version: "version",
486
+ # request: { name: { family: "family", given: ["given", "given"], use: USUAL }, other_names: [{ family: "family", given: ["given", "given"], use: USUAL }, { family: "family", given: ["given", "given"], use: USUAL }], birth_date: DateTime.parse(2023-01-15), biological_sex: FEMALE, primary_address: { use: HOME, line: ["line", "line"], city: "city", state: "state", postal_code: "postal_code", country: "country" }, other_addresses: [{ use: HOME, line: ["line", "line"], city: "city", state: "state", postal_code: "postal_code", country: "country" }, { use: HOME, line: ["line", "line"], city: "city", state: "state", postal_code: "postal_code", country: "country" }], primary_telecom: { value: "value", use: HOME }, other_telecoms: [{ value: "value", use: HOME }, { value: "value", use: HOME }], contacts: [{ relationship: [SELF, SELF], name: { family: "family", given: ["given", "given"], use: USUAL }, telecoms: [{ value: "value", use: HOME }, { value: "value", use: HOME }], addresses: [{ use: HOME, line: ["line", "line"], city: "city", state: "state", postal_code: "postal_code", country: "country" }, { use: HOME, line: ["line", "line"], city: "city", state: "state", postal_code: "postal_code", country: "country" }] }, { relationship: [SELF, SELF], name: { family: "family", given: ["given", "given"], use: USUAL }, telecoms: [{ value: "value", use: HOME }, { value: "value", use: HOME }], addresses: [{ use: HOME, line: ["line", "line"], city: "city", state: "state", postal_code: "postal_code", country: "country" }, { use: HOME, line: ["line", "line"], city: "city", state: "state", postal_code: "postal_code", country: "country" }] }], general_practitioners: [{ name: { family: "family", given: ["given", "given"], use: USUAL }, telecoms: [{ value: "value", use: HOME }, { value: "value", use: HOME }] }, { name: { family: "family", given: ["given", "given"], use: USUAL }, telecoms: [{ value: "value", use: HOME }, { value: "value", use: HOME }] }], filing_order: { coverages: ["d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32"] } }
487
+ # )
488
+ def update(id:, version:, request:, request_options: nil)
489
+ response = @request_client.conn.put do |req|
490
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
491
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
492
+ req.headers = {
493
+ **(req.headers || {}),
494
+ **@request_client.get_headers,
495
+ **(request_options&.additional_headers || {})
496
+ }.compact
497
+ req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
498
+ req.url "#{@request_client.get_url(environment: PreEncounter,
499
+ request_options: request_options)}/patients/v1/#{id}/#{version}"
500
+ end
501
+ CandidApiClient::PreEncounter::Patients::V1::Types::Patient.from_json(json_object: response.body)
502
+ end
503
+
504
+ # Sets a patient as deactivated. The path must contain the most recent version
505
+ # plus 1 to prevent race conditions. Deactivating historic versions is not
506
+ # supported.
507
+ #
508
+ # @param id [String]
509
+ # @param version [String]
510
+ # @param request_options [CandidApiClient::RequestOptions]
511
+ # @return [Void]
512
+ # @example
513
+ # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
514
+ # api.pre_encounter.patients.v_1.deactivate(id: "id", version: "version")
515
+ def deactivate(id:, version:, request_options: nil)
516
+ @request_client.conn.delete do |req|
517
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
518
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
519
+ req.headers = {
520
+ **(req.headers || {}),
521
+ **@request_client.get_headers,
522
+ **(request_options&.additional_headers || {})
523
+ }.compact
524
+ req.url "#{@request_client.get_url(environment: PreEncounter,
525
+ request_options: request_options)}/patients/v1/#{id}/#{version}"
526
+ end
527
+ end
528
+
529
+ # Removes the deactivated flag for a patient. The path must contain the most
530
+ # recent version plus 1 to prevent race conditions. Reactivating historic
531
+ # versions is not supported.
532
+ #
533
+ # @param id [String]
534
+ # @param version [String]
535
+ # @param request_options [CandidApiClient::RequestOptions]
536
+ # @return [Void]
537
+ # @example
538
+ # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
539
+ # api.pre_encounter.patients.v_1.reactivate(id: "id", version: "version")
540
+ def reactivate(id:, version:, request_options: nil)
541
+ @request_client.conn.patch do |req|
542
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
543
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
544
+ req.headers = {
545
+ **(req.headers || {}),
546
+ **@request_client.get_headers,
547
+ **(request_options&.additional_headers || {})
548
+ }.compact
549
+ req.url "#{@request_client.get_url(environment: PreEncounter,
550
+ request_options: request_options)}/patients/v1/#{id}/#{version}"
551
+ end
552
+ end
553
+
554
+ # Returns a list of Patients based on the search criteria.
555
+ #
556
+ # @param mrn [String]
557
+ # @param similar_name_ordering [String] A string that is used to order similar names in search results.
558
+ # @param request_options [CandidApiClient::RequestOptions]
559
+ # @return [Array<CandidApiClient::PreEncounter::Patients::V1::Types::Patient>]
560
+ # @example
561
+ # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
562
+ # api.pre_encounter.patients.v_1.search
563
+ def search(mrn: nil, similar_name_ordering: nil, request_options: nil)
564
+ response = @request_client.conn.get do |req|
565
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
566
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
567
+ req.headers = {
568
+ **(req.headers || {}),
569
+ **@request_client.get_headers,
570
+ **(request_options&.additional_headers || {})
571
+ }.compact
572
+ req.params = {
573
+ **(request_options&.additional_query_parameters || {}),
574
+ "mrn": mrn,
575
+ "similar_name_ordering": similar_name_ordering
576
+ }.compact
577
+ req.url "#{@request_client.get_url(environment: PreEncounter,
578
+ request_options: request_options)}/patients/v1"
579
+ end
580
+ parsed_json = JSON.parse(response.body)
581
+ parsed_json&.map do |item|
582
+ item = item.to_json
583
+ CandidApiClient::PreEncounter::Patients::V1::Types::Patient.from_json(json_object: item)
584
+ end
585
+ end
586
+
587
+ # Scans up to 100 patient updates. The since query parameter is inclusive, and
588
+ # the result list is ordered by updatedAt ascending.
589
+ #
590
+ # @param since [DateTime]
591
+ # @param request_options [CandidApiClient::RequestOptions]
592
+ # @return [Array<CandidApiClient::PreEncounter::Patients::V1::Types::Patient>]
593
+ # @example
594
+ # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
595
+ # api.pre_encounter.patients.v_1.scan(since: DateTime.parse(2024-01-15T09:30:00.000Z))
596
+ def scan(since:, request_options: nil)
597
+ response = @request_client.conn.get do |req|
598
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
599
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
600
+ req.headers = {
601
+ **(req.headers || {}),
602
+ **@request_client.get_headers,
603
+ **(request_options&.additional_headers || {})
604
+ }.compact
605
+ req.params = { **(request_options&.additional_query_parameters || {}), "since": since }.compact
606
+ req.url "#{@request_client.get_url(environment: PreEncounter,
607
+ request_options: request_options)}/patients/v1/updates/scan"
608
+ end
609
+ parsed_json = JSON.parse(response.body)
610
+ parsed_json&.map do |item|
611
+ item = item.to_json
612
+ CandidApiClient::PreEncounter::Patients::V1::Types::Patient.from_json(json_object: item)
613
+ end
614
+ end
615
+ end
616
+
617
+ class AsyncV1Client
618
+ # @return [CandidApiClient::AsyncRequestClient]
619
+ attr_reader :request_client
620
+
621
+ # @param request_client [CandidApiClient::AsyncRequestClient]
622
+ # @return [CandidApiClient::PreEncounter::Patients::V1::AsyncV1Client]
623
+ def initialize(request_client:)
624
+ @request_client = request_client
625
+ end
626
+
627
+ # Adds a patient. VersionConflictError is returned when the patient's external ID
628
+ # is already in use.
629
+ #
630
+ # @param skip_duplicate_check [Boolean]
631
+ # @param request [Hash] Request of type CandidApiClient::PreEncounter::Patients::V1::Types::MutablePatient, as a Hash
632
+ # * :name (Hash)
633
+ # * :family (String)
634
+ # * :given (Array<String>)
635
+ # * :use (CandidApiClient::PreEncounter::Common::Types::NameUse)
636
+ # * :period (Hash)
637
+ # * :start (Date)
638
+ # * :end_ (Date)
639
+ # * :suffix (String)
640
+ # * :other_names (Array<CandidApiClient::PreEncounter::Common::Types::HumanName>)
641
+ # * :other_identifiers (Array<CandidApiClient::PreEncounter::Common::Types::ExternalIdentifier>)
642
+ # * :gender (CandidApiClient::PreEncounter::Common::Types::Gender)
643
+ # * :birth_date (Date)
644
+ # * :social_security_number (String)
645
+ # * :biological_sex (CandidApiClient::PreEncounter::Common::Types::Sex)
646
+ # * :sexual_orientation (CandidApiClient::PreEncounter::Common::Types::SexualOrientation)
647
+ # * :pronouns (Array<String>)
648
+ # * :race (CandidApiClient::PreEncounter::Common::Types::Race)
649
+ # * :ethnicity (CandidApiClient::PreEncounter::Common::Types::Ethnicity)
650
+ # * :disability_status (CandidApiClient::PreEncounter::Common::Types::DisabilityStatus)
651
+ # * :marital_status (CandidApiClient::PreEncounter::Patients::V1::Types::MaritalStatus)
652
+ # * :deceased (DateTime)
653
+ # * :multiple_birth (Integer)
654
+ # * :primary_address (Hash)
655
+ # * :use (CandidApiClient::PreEncounter::Common::Types::AddressUse)
656
+ # * :line (Array<String>)
657
+ # * :city (String)
658
+ # * :state (String)
659
+ # * :postal_code (String)
660
+ # * :country (String)
661
+ # * :period (Hash)
662
+ # * :start (Date)
663
+ # * :end_ (Date)
664
+ # * :other_addresses (Array<CandidApiClient::PreEncounter::Common::Types::Address>)
665
+ # * :primary_telecom (Hash)
666
+ # * :value (String)
667
+ # * :use (CandidApiClient::PreEncounter::Common::Types::ContactPointUse)
668
+ # * :period (Hash)
669
+ # * :start (Date)
670
+ # * :end_ (Date)
671
+ # * :other_telecoms (Array<CandidApiClient::PreEncounter::Common::Types::ContactPoint>)
672
+ # * :email (String)
673
+ # * :electronic_communication_opt_in (Boolean)
674
+ # * :photo (String)
675
+ # * :language (String)
676
+ # * :external_provenance (Hash)
677
+ # * :external_id (String)
678
+ # * :system_name (String)
679
+ # * :contacts (Array<CandidApiClient::PreEncounter::Patients::V1::Types::Contact>)
680
+ # * :general_practitioners (Array<CandidApiClient::PreEncounter::Common::Types::ExternalProvider>)
681
+ # * :filing_order (Hash)
682
+ # * :coverages (Array<String>)
683
+ # * :non_insurance_payers (Array<String>)
684
+ # * :non_insurance_payer_associations (Array<CandidApiClient::PreEncounter::Common::Types::CanonicalNonInsurancePayerAssociation>)
685
+ # * :guarantor (Hash)
686
+ # * :name (Hash)
687
+ # * :family (String)
688
+ # * :given (Array<String>)
689
+ # * :use (CandidApiClient::PreEncounter::Common::Types::NameUse)
690
+ # * :period (Hash)
691
+ # * :start (Date)
692
+ # * :end_ (Date)
693
+ # * :suffix (String)
694
+ # * :telecom (Hash)
695
+ # * :value (String)
696
+ # * :use (CandidApiClient::PreEncounter::Common::Types::ContactPointUse)
697
+ # * :period (Hash)
698
+ # * :start (Date)
699
+ # * :end_ (Date)
700
+ # * :email (String)
701
+ # * :birth_date (Date)
702
+ # * :address (Hash)
703
+ # * :use (CandidApiClient::PreEncounter::Common::Types::AddressUse)
704
+ # * :line (Array<String>)
705
+ # * :city (String)
706
+ # * :state (String)
707
+ # * :postal_code (String)
708
+ # * :country (String)
709
+ # * :period (Hash)
710
+ # * :start (Date)
711
+ # * :end_ (Date)
712
+ # * :self_pay (Boolean)
713
+ # * :authorizations (Array<CandidApiClient::PreEncounter::Patients::V1::Types::Authorization>)
714
+ # * :referrals (Array<CandidApiClient::PreEncounter::Patients::V1::Types::Referral>)
715
+ # * :primary_service_facility_id (String)
716
+ # * :do_not_invoice_reason (CandidApiClient::PreEncounter::Patients::V1::Types::DoNotInvoiceReason)
717
+ # * :note_ids (Array<String>)
718
+ # * :tag_ids (Array<String>)
719
+ # @param request_options [CandidApiClient::RequestOptions]
720
+ # @return [CandidApiClient::PreEncounter::Patients::V1::Types::Patient]
721
+ # @example
722
+ # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
723
+ # api.pre_encounter.patients.v_1.create(request: { name: { family: "family", given: ["given", "given"], use: USUAL }, other_names: [{ family: "family", given: ["given", "given"], use: USUAL }, { family: "family", given: ["given", "given"], use: USUAL }], birth_date: DateTime.parse(2023-01-15), biological_sex: FEMALE, primary_address: { use: HOME, line: ["line", "line"], city: "city", state: "state", postal_code: "postal_code", country: "country" }, other_addresses: [{ use: HOME, line: ["line", "line"], city: "city", state: "state", postal_code: "postal_code", country: "country" }, { use: HOME, line: ["line", "line"], city: "city", state: "state", postal_code: "postal_code", country: "country" }], primary_telecom: { value: "value", use: HOME }, other_telecoms: [{ value: "value", use: HOME }, { value: "value", use: HOME }], contacts: [{ relationship: [SELF, SELF], name: { family: "family", given: ["given", "given"], use: USUAL }, telecoms: [{ value: "value", use: HOME }, { value: "value", use: HOME }], addresses: [{ use: HOME, line: ["line", "line"], city: "city", state: "state", postal_code: "postal_code", country: "country" }, { use: HOME, line: ["line", "line"], city: "city", state: "state", postal_code: "postal_code", country: "country" }] }, { relationship: [SELF, SELF], name: { family: "family", given: ["given", "given"], use: USUAL }, telecoms: [{ value: "value", use: HOME }, { value: "value", use: HOME }], addresses: [{ use: HOME, line: ["line", "line"], city: "city", state: "state", postal_code: "postal_code", country: "country" }, { use: HOME, line: ["line", "line"], city: "city", state: "state", postal_code: "postal_code", country: "country" }] }], general_practitioners: [{ name: { family: "family", given: ["given", "given"], use: USUAL }, telecoms: [{ value: "value", use: HOME }, { value: "value", use: HOME }] }, { name: { family: "family", given: ["given", "given"], use: USUAL }, telecoms: [{ value: "value", use: HOME }, { value: "value", use: HOME }] }], filing_order: { coverages: ["d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32"] } })
724
+ def create(request:, skip_duplicate_check: nil, request_options: nil)
725
+ Async do
726
+ response = @request_client.conn.post do |req|
727
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
728
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
729
+ req.headers = {
730
+ **(req.headers || {}),
731
+ **@request_client.get_headers,
732
+ **(request_options&.additional_headers || {})
733
+ }.compact
734
+ req.params = {
735
+ **(request_options&.additional_query_parameters || {}),
736
+ "skip_duplicate_check": skip_duplicate_check
737
+ }.compact
738
+ req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
739
+ req.url "#{@request_client.get_url(environment: PreEncounter,
740
+ request_options: request_options)}/patients/v1"
741
+ end
742
+ CandidApiClient::PreEncounter::Patients::V1::Types::Patient.from_json(json_object: response.body)
743
+ end
744
+ end
745
+
746
+ # Adds a patient and hydrates their MRN with a pre-existing MRN. Once this
747
+ # patient is created their MRN will not be editable. BadRequestError is returned
748
+ # when the MRN is greater than 20 characters. VersionConflictError is returned
749
+ # when the patient's external ID is already in use.
750
+ #
751
+ # @param skip_duplicate_check [Boolean]
752
+ # @param request [Hash] Request of type CandidApiClient::PreEncounter::Patients::V1::Types::MutablePatientWithMrn, as a Hash
753
+ # * :mrn (String)
754
+ # * :name (Hash)
755
+ # * :family (String)
756
+ # * :given (Array<String>)
757
+ # * :use (CandidApiClient::PreEncounter::Common::Types::NameUse)
758
+ # * :period (Hash)
759
+ # * :start (Date)
760
+ # * :end_ (Date)
761
+ # * :suffix (String)
762
+ # * :other_names (Array<CandidApiClient::PreEncounter::Common::Types::HumanName>)
763
+ # * :other_identifiers (Array<CandidApiClient::PreEncounter::Common::Types::ExternalIdentifier>)
764
+ # * :gender (CandidApiClient::PreEncounter::Common::Types::Gender)
765
+ # * :birth_date (Date)
766
+ # * :social_security_number (String)
767
+ # * :biological_sex (CandidApiClient::PreEncounter::Common::Types::Sex)
768
+ # * :sexual_orientation (CandidApiClient::PreEncounter::Common::Types::SexualOrientation)
769
+ # * :pronouns (Array<String>)
770
+ # * :race (CandidApiClient::PreEncounter::Common::Types::Race)
771
+ # * :ethnicity (CandidApiClient::PreEncounter::Common::Types::Ethnicity)
772
+ # * :disability_status (CandidApiClient::PreEncounter::Common::Types::DisabilityStatus)
773
+ # * :marital_status (CandidApiClient::PreEncounter::Patients::V1::Types::MaritalStatus)
774
+ # * :deceased (DateTime)
775
+ # * :multiple_birth (Integer)
776
+ # * :primary_address (Hash)
777
+ # * :use (CandidApiClient::PreEncounter::Common::Types::AddressUse)
778
+ # * :line (Array<String>)
779
+ # * :city (String)
780
+ # * :state (String)
781
+ # * :postal_code (String)
782
+ # * :country (String)
783
+ # * :period (Hash)
784
+ # * :start (Date)
785
+ # * :end_ (Date)
786
+ # * :other_addresses (Array<CandidApiClient::PreEncounter::Common::Types::Address>)
787
+ # * :primary_telecom (Hash)
788
+ # * :value (String)
789
+ # * :use (CandidApiClient::PreEncounter::Common::Types::ContactPointUse)
790
+ # * :period (Hash)
791
+ # * :start (Date)
792
+ # * :end_ (Date)
793
+ # * :other_telecoms (Array<CandidApiClient::PreEncounter::Common::Types::ContactPoint>)
794
+ # * :email (String)
795
+ # * :electronic_communication_opt_in (Boolean)
796
+ # * :photo (String)
797
+ # * :language (String)
798
+ # * :external_provenance (Hash)
799
+ # * :external_id (String)
800
+ # * :system_name (String)
801
+ # * :contacts (Array<CandidApiClient::PreEncounter::Patients::V1::Types::Contact>)
802
+ # * :general_practitioners (Array<CandidApiClient::PreEncounter::Common::Types::ExternalProvider>)
803
+ # * :filing_order (Hash)
804
+ # * :coverages (Array<String>)
805
+ # * :non_insurance_payers (Array<String>)
806
+ # * :non_insurance_payer_associations (Array<CandidApiClient::PreEncounter::Common::Types::CanonicalNonInsurancePayerAssociation>)
807
+ # * :guarantor (Hash)
808
+ # * :name (Hash)
809
+ # * :family (String)
810
+ # * :given (Array<String>)
811
+ # * :use (CandidApiClient::PreEncounter::Common::Types::NameUse)
812
+ # * :period (Hash)
813
+ # * :start (Date)
814
+ # * :end_ (Date)
815
+ # * :suffix (String)
816
+ # * :telecom (Hash)
817
+ # * :value (String)
818
+ # * :use (CandidApiClient::PreEncounter::Common::Types::ContactPointUse)
819
+ # * :period (Hash)
820
+ # * :start (Date)
821
+ # * :end_ (Date)
822
+ # * :email (String)
823
+ # * :birth_date (Date)
824
+ # * :address (Hash)
825
+ # * :use (CandidApiClient::PreEncounter::Common::Types::AddressUse)
826
+ # * :line (Array<String>)
827
+ # * :city (String)
828
+ # * :state (String)
829
+ # * :postal_code (String)
830
+ # * :country (String)
831
+ # * :period (Hash)
832
+ # * :start (Date)
833
+ # * :end_ (Date)
834
+ # * :self_pay (Boolean)
835
+ # * :authorizations (Array<CandidApiClient::PreEncounter::Patients::V1::Types::Authorization>)
836
+ # * :referrals (Array<CandidApiClient::PreEncounter::Patients::V1::Types::Referral>)
837
+ # * :primary_service_facility_id (String)
838
+ # * :do_not_invoice_reason (CandidApiClient::PreEncounter::Patients::V1::Types::DoNotInvoiceReason)
839
+ # * :note_ids (Array<String>)
840
+ # * :tag_ids (Array<String>)
841
+ # @param request_options [CandidApiClient::RequestOptions]
842
+ # @return [CandidApiClient::PreEncounter::Patients::V1::Types::Patient]
843
+ # @example
844
+ # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
845
+ # api.pre_encounter.patients.v_1.create_with_mrn(request: { name: { family: "family", given: ["given", "given"], use: USUAL }, other_names: [{ family: "family", given: ["given", "given"], use: USUAL }, { family: "family", given: ["given", "given"], use: USUAL }], birth_date: DateTime.parse(2023-01-15), biological_sex: FEMALE, primary_address: { use: HOME, line: ["line", "line"], city: "city", state: "state", postal_code: "postal_code", country: "country" }, other_addresses: [{ use: HOME, line: ["line", "line"], city: "city", state: "state", postal_code: "postal_code", country: "country" }, { use: HOME, line: ["line", "line"], city: "city", state: "state", postal_code: "postal_code", country: "country" }], primary_telecom: { value: "value", use: HOME }, other_telecoms: [{ value: "value", use: HOME }, { value: "value", use: HOME }], contacts: [{ relationship: [SELF, SELF], name: { family: "family", given: ["given", "given"], use: USUAL }, telecoms: [{ value: "value", use: HOME }, { value: "value", use: HOME }], addresses: [{ use: HOME, line: ["line", "line"], city: "city", state: "state", postal_code: "postal_code", country: "country" }, { use: HOME, line: ["line", "line"], city: "city", state: "state", postal_code: "postal_code", country: "country" }] }, { relationship: [SELF, SELF], name: { family: "family", given: ["given", "given"], use: USUAL }, telecoms: [{ value: "value", use: HOME }, { value: "value", use: HOME }], addresses: [{ use: HOME, line: ["line", "line"], city: "city", state: "state", postal_code: "postal_code", country: "country" }, { use: HOME, line: ["line", "line"], city: "city", state: "state", postal_code: "postal_code", country: "country" }] }], general_practitioners: [{ name: { family: "family", given: ["given", "given"], use: USUAL }, telecoms: [{ value: "value", use: HOME }, { value: "value", use: HOME }] }, { name: { family: "family", given: ["given", "given"], use: USUAL }, telecoms: [{ value: "value", use: HOME }, { value: "value", use: HOME }] }], filing_order: { coverages: ["d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32"] }, mrn: "mrn" })
846
+ def create_with_mrn(request:, skip_duplicate_check: nil, request_options: nil)
847
+ Async do
848
+ response = @request_client.conn.post do |req|
849
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
850
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
851
+ req.headers = {
852
+ **(req.headers || {}),
853
+ **@request_client.get_headers,
854
+ **(request_options&.additional_headers || {})
855
+ }.compact
856
+ req.params = {
857
+ **(request_options&.additional_query_parameters || {}),
858
+ "skip_duplicate_check": skip_duplicate_check
859
+ }.compact
860
+ req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
861
+ req.url "#{@request_client.get_url(environment: PreEncounter,
862
+ request_options: request_options)}/patients/v1/with_mrn"
863
+ end
864
+ CandidApiClient::PreEncounter::Patients::V1::Types::Patient.from_json(json_object: response.body)
865
+ end
866
+ end
867
+
868
+ # Searches for patients that match the query parameters.
869
+ #
870
+ # @param limit [Integer]
871
+ # @param mrn [String]
872
+ # @param page_token [String]
873
+ # @param sort_field [String]
874
+ # @param sort_direction [CandidApiClient::PreEncounter::Common::Types::SortDirection] Defaults to ascending.
875
+ # @param request_options [CandidApiClient::RequestOptions]
876
+ # @return [CandidApiClient::PreEncounter::Patients::V1::Types::PatientPage]
877
+ # @example
878
+ # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
879
+ # api.pre_encounter.patients.v_1.get_multi
880
+ def get_multi(limit: nil, mrn: nil, page_token: nil, sort_field: nil, sort_direction: nil,
881
+ request_options: nil)
882
+ Async do
883
+ response = @request_client.conn.get do |req|
884
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
885
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
886
+ req.headers = {
887
+ **(req.headers || {}),
888
+ **@request_client.get_headers,
889
+ **(request_options&.additional_headers || {})
890
+ }.compact
891
+ req.params = {
892
+ **(request_options&.additional_query_parameters || {}),
893
+ "limit": limit,
894
+ "mrn": mrn,
895
+ "page_token": page_token,
896
+ "sort_field": sort_field,
897
+ "sort_direction": sort_direction
898
+ }.compact
899
+ req.url "#{@request_client.get_url(environment: PreEncounter,
900
+ request_options: request_options)}/patients/v1/get_multi"
901
+ end
902
+ CandidApiClient::PreEncounter::Patients::V1::Types::PatientPage.from_json(json_object: response.body)
903
+ end
904
+ end
905
+
906
+ # Searches for referring providers that match the query parameters. The search is
907
+ # case-insensitive, supports fuzzy matching, and matches against provider name and
908
+ # NPI. The search criteria must be an alphanumeric string, and the search is
909
+ # limited to the first 20 results.
910
+ #
911
+ # @param search_criteria [String]
912
+ # @param request_options [CandidApiClient::RequestOptions]
913
+ # @return [Array<CandidApiClient::PreEncounter::Common::Types::ExternalProvider>]
914
+ # @example
915
+ # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
916
+ # api.pre_encounter.patients.v_1.search_providers(search_criteria: "search_criteria")
917
+ def search_providers(search_criteria:, request_options: nil)
918
+ Async do
919
+ response = @request_client.conn.get do |req|
920
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
921
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
922
+ req.headers = {
923
+ **(req.headers || {}),
924
+ **@request_client.get_headers,
925
+ **(request_options&.additional_headers || {})
926
+ }.compact
927
+ req.params = {
928
+ **(request_options&.additional_query_parameters || {}),
929
+ "search_criteria": search_criteria
930
+ }.compact
931
+ req.url "#{@request_client.get_url(environment: PreEncounter,
932
+ request_options: request_options)}/patients/v1/search_providers"
933
+ end
934
+ parsed_json = JSON.parse(response.body)
935
+ parsed_json&.map do |item|
936
+ item = item.to_json
937
+ CandidApiClient::PreEncounter::Common::Types::ExternalProvider.from_json(json_object: item)
938
+ end
939
+ end
940
+ end
941
+
942
+ # Gets a patient.
943
+ #
944
+ # @param id [String]
945
+ # @param request_options [CandidApiClient::RequestOptions]
946
+ # @return [CandidApiClient::PreEncounter::Patients::V1::Types::Patient]
947
+ # @example
948
+ # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
949
+ # api.pre_encounter.patients.v_1.get(id: "id")
950
+ def get(id:, request_options: nil)
951
+ Async do
952
+ response = @request_client.conn.get do |req|
953
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
954
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
955
+ req.headers = {
956
+ **(req.headers || {}),
957
+ **@request_client.get_headers,
958
+ **(request_options&.additional_headers || {})
959
+ }.compact
960
+ req.url "#{@request_client.get_url(environment: PreEncounter,
961
+ request_options: request_options)}/patients/v1/#{id}"
962
+ end
963
+ CandidApiClient::PreEncounter::Patients::V1::Types::Patient.from_json(json_object: response.body)
964
+ end
965
+ end
966
+
967
+ # Gets a patient along with it's full history. The return list is ordered by
968
+ # version ascending.
969
+ #
970
+ # @param id [String]
971
+ # @param request_options [CandidApiClient::RequestOptions]
972
+ # @return [Array<CandidApiClient::PreEncounter::Patients::V1::Types::Patient>]
973
+ # @example
974
+ # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
975
+ # api.pre_encounter.patients.v_1.get_history(id: "id")
976
+ def get_history(id:, request_options: nil)
977
+ Async do
978
+ response = @request_client.conn.get do |req|
979
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
980
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
981
+ req.headers = {
982
+ **(req.headers || {}),
983
+ **@request_client.get_headers,
984
+ **(request_options&.additional_headers || {})
985
+ }.compact
986
+ req.url "#{@request_client.get_url(environment: PreEncounter,
987
+ request_options: request_options)}/patients/v1/#{id}/history"
988
+ end
989
+ parsed_json = JSON.parse(response.body)
990
+ parsed_json&.map do |item|
991
+ item = item.to_json
992
+ CandidApiClient::PreEncounter::Patients::V1::Types::Patient.from_json(json_object: item)
993
+ end
994
+ end
995
+ end
996
+
997
+ # Updates a patient. The path must contain the most recent version to prevent
998
+ # race conditions. Updating historic versions is not supported.
999
+ #
1000
+ # @param id [String]
1001
+ # @param version [String]
1002
+ # @param request [Hash] Request of type CandidApiClient::PreEncounter::Patients::V1::Types::MutablePatient, as a Hash
1003
+ # * :name (Hash)
1004
+ # * :family (String)
1005
+ # * :given (Array<String>)
1006
+ # * :use (CandidApiClient::PreEncounter::Common::Types::NameUse)
1007
+ # * :period (Hash)
1008
+ # * :start (Date)
1009
+ # * :end_ (Date)
1010
+ # * :suffix (String)
1011
+ # * :other_names (Array<CandidApiClient::PreEncounter::Common::Types::HumanName>)
1012
+ # * :other_identifiers (Array<CandidApiClient::PreEncounter::Common::Types::ExternalIdentifier>)
1013
+ # * :gender (CandidApiClient::PreEncounter::Common::Types::Gender)
1014
+ # * :birth_date (Date)
1015
+ # * :social_security_number (String)
1016
+ # * :biological_sex (CandidApiClient::PreEncounter::Common::Types::Sex)
1017
+ # * :sexual_orientation (CandidApiClient::PreEncounter::Common::Types::SexualOrientation)
1018
+ # * :pronouns (Array<String>)
1019
+ # * :race (CandidApiClient::PreEncounter::Common::Types::Race)
1020
+ # * :ethnicity (CandidApiClient::PreEncounter::Common::Types::Ethnicity)
1021
+ # * :disability_status (CandidApiClient::PreEncounter::Common::Types::DisabilityStatus)
1022
+ # * :marital_status (CandidApiClient::PreEncounter::Patients::V1::Types::MaritalStatus)
1023
+ # * :deceased (DateTime)
1024
+ # * :multiple_birth (Integer)
1025
+ # * :primary_address (Hash)
1026
+ # * :use (CandidApiClient::PreEncounter::Common::Types::AddressUse)
1027
+ # * :line (Array<String>)
1028
+ # * :city (String)
1029
+ # * :state (String)
1030
+ # * :postal_code (String)
1031
+ # * :country (String)
1032
+ # * :period (Hash)
1033
+ # * :start (Date)
1034
+ # * :end_ (Date)
1035
+ # * :other_addresses (Array<CandidApiClient::PreEncounter::Common::Types::Address>)
1036
+ # * :primary_telecom (Hash)
1037
+ # * :value (String)
1038
+ # * :use (CandidApiClient::PreEncounter::Common::Types::ContactPointUse)
1039
+ # * :period (Hash)
1040
+ # * :start (Date)
1041
+ # * :end_ (Date)
1042
+ # * :other_telecoms (Array<CandidApiClient::PreEncounter::Common::Types::ContactPoint>)
1043
+ # * :email (String)
1044
+ # * :electronic_communication_opt_in (Boolean)
1045
+ # * :photo (String)
1046
+ # * :language (String)
1047
+ # * :external_provenance (Hash)
1048
+ # * :external_id (String)
1049
+ # * :system_name (String)
1050
+ # * :contacts (Array<CandidApiClient::PreEncounter::Patients::V1::Types::Contact>)
1051
+ # * :general_practitioners (Array<CandidApiClient::PreEncounter::Common::Types::ExternalProvider>)
1052
+ # * :filing_order (Hash)
1053
+ # * :coverages (Array<String>)
1054
+ # * :non_insurance_payers (Array<String>)
1055
+ # * :non_insurance_payer_associations (Array<CandidApiClient::PreEncounter::Common::Types::CanonicalNonInsurancePayerAssociation>)
1056
+ # * :guarantor (Hash)
1057
+ # * :name (Hash)
1058
+ # * :family (String)
1059
+ # * :given (Array<String>)
1060
+ # * :use (CandidApiClient::PreEncounter::Common::Types::NameUse)
1061
+ # * :period (Hash)
1062
+ # * :start (Date)
1063
+ # * :end_ (Date)
1064
+ # * :suffix (String)
1065
+ # * :telecom (Hash)
1066
+ # * :value (String)
1067
+ # * :use (CandidApiClient::PreEncounter::Common::Types::ContactPointUse)
1068
+ # * :period (Hash)
1069
+ # * :start (Date)
1070
+ # * :end_ (Date)
1071
+ # * :email (String)
1072
+ # * :birth_date (Date)
1073
+ # * :address (Hash)
1074
+ # * :use (CandidApiClient::PreEncounter::Common::Types::AddressUse)
1075
+ # * :line (Array<String>)
1076
+ # * :city (String)
1077
+ # * :state (String)
1078
+ # * :postal_code (String)
1079
+ # * :country (String)
1080
+ # * :period (Hash)
1081
+ # * :start (Date)
1082
+ # * :end_ (Date)
1083
+ # * :self_pay (Boolean)
1084
+ # * :authorizations (Array<CandidApiClient::PreEncounter::Patients::V1::Types::Authorization>)
1085
+ # * :referrals (Array<CandidApiClient::PreEncounter::Patients::V1::Types::Referral>)
1086
+ # * :primary_service_facility_id (String)
1087
+ # * :do_not_invoice_reason (CandidApiClient::PreEncounter::Patients::V1::Types::DoNotInvoiceReason)
1088
+ # * :note_ids (Array<String>)
1089
+ # * :tag_ids (Array<String>)
1090
+ # @param request_options [CandidApiClient::RequestOptions]
1091
+ # @return [CandidApiClient::PreEncounter::Patients::V1::Types::Patient]
1092
+ # @example
1093
+ # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
1094
+ # api.pre_encounter.patients.v_1.update(
1095
+ # id: "id",
1096
+ # version: "version",
1097
+ # request: { name: { family: "family", given: ["given", "given"], use: USUAL }, other_names: [{ family: "family", given: ["given", "given"], use: USUAL }, { family: "family", given: ["given", "given"], use: USUAL }], birth_date: DateTime.parse(2023-01-15), biological_sex: FEMALE, primary_address: { use: HOME, line: ["line", "line"], city: "city", state: "state", postal_code: "postal_code", country: "country" }, other_addresses: [{ use: HOME, line: ["line", "line"], city: "city", state: "state", postal_code: "postal_code", country: "country" }, { use: HOME, line: ["line", "line"], city: "city", state: "state", postal_code: "postal_code", country: "country" }], primary_telecom: { value: "value", use: HOME }, other_telecoms: [{ value: "value", use: HOME }, { value: "value", use: HOME }], contacts: [{ relationship: [SELF, SELF], name: { family: "family", given: ["given", "given"], use: USUAL }, telecoms: [{ value: "value", use: HOME }, { value: "value", use: HOME }], addresses: [{ use: HOME, line: ["line", "line"], city: "city", state: "state", postal_code: "postal_code", country: "country" }, { use: HOME, line: ["line", "line"], city: "city", state: "state", postal_code: "postal_code", country: "country" }] }, { relationship: [SELF, SELF], name: { family: "family", given: ["given", "given"], use: USUAL }, telecoms: [{ value: "value", use: HOME }, { value: "value", use: HOME }], addresses: [{ use: HOME, line: ["line", "line"], city: "city", state: "state", postal_code: "postal_code", country: "country" }, { use: HOME, line: ["line", "line"], city: "city", state: "state", postal_code: "postal_code", country: "country" }] }], general_practitioners: [{ name: { family: "family", given: ["given", "given"], use: USUAL }, telecoms: [{ value: "value", use: HOME }, { value: "value", use: HOME }] }, { name: { family: "family", given: ["given", "given"], use: USUAL }, telecoms: [{ value: "value", use: HOME }, { value: "value", use: HOME }] }], filing_order: { coverages: ["d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32"] } }
1098
+ # )
1099
+ def update(id:, version:, request:, request_options: nil)
1100
+ Async do
1101
+ response = @request_client.conn.put do |req|
1102
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
1103
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
1104
+ req.headers = {
1105
+ **(req.headers || {}),
1106
+ **@request_client.get_headers,
1107
+ **(request_options&.additional_headers || {})
1108
+ }.compact
1109
+ req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
1110
+ req.url "#{@request_client.get_url(environment: PreEncounter,
1111
+ request_options: request_options)}/patients/v1/#{id}/#{version}"
1112
+ end
1113
+ CandidApiClient::PreEncounter::Patients::V1::Types::Patient.from_json(json_object: response.body)
1114
+ end
1115
+ end
1116
+
1117
+ # Sets a patient as deactivated. The path must contain the most recent version
1118
+ # plus 1 to prevent race conditions. Deactivating historic versions is not
1119
+ # supported.
1120
+ #
1121
+ # @param id [String]
1122
+ # @param version [String]
1123
+ # @param request_options [CandidApiClient::RequestOptions]
1124
+ # @return [Void]
1125
+ # @example
1126
+ # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
1127
+ # api.pre_encounter.patients.v_1.deactivate(id: "id", version: "version")
1128
+ def deactivate(id:, version:, request_options: nil)
1129
+ Async do
1130
+ @request_client.conn.delete do |req|
1131
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
1132
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
1133
+ req.headers = {
1134
+ **(req.headers || {}),
1135
+ **@request_client.get_headers,
1136
+ **(request_options&.additional_headers || {})
1137
+ }.compact
1138
+ req.url "#{@request_client.get_url(environment: PreEncounter,
1139
+ request_options: request_options)}/patients/v1/#{id}/#{version}"
1140
+ end
1141
+ end
1142
+ end
1143
+
1144
+ # Removes the deactivated flag for a patient. The path must contain the most
1145
+ # recent version plus 1 to prevent race conditions. Reactivating historic
1146
+ # versions is not supported.
1147
+ #
1148
+ # @param id [String]
1149
+ # @param version [String]
1150
+ # @param request_options [CandidApiClient::RequestOptions]
1151
+ # @return [Void]
1152
+ # @example
1153
+ # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
1154
+ # api.pre_encounter.patients.v_1.reactivate(id: "id", version: "version")
1155
+ def reactivate(id:, version:, request_options: nil)
1156
+ Async do
1157
+ @request_client.conn.patch do |req|
1158
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
1159
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
1160
+ req.headers = {
1161
+ **(req.headers || {}),
1162
+ **@request_client.get_headers,
1163
+ **(request_options&.additional_headers || {})
1164
+ }.compact
1165
+ req.url "#{@request_client.get_url(environment: PreEncounter,
1166
+ request_options: request_options)}/patients/v1/#{id}/#{version}"
1167
+ end
1168
+ end
1169
+ end
1170
+
1171
+ # Returns a list of Patients based on the search criteria.
1172
+ #
1173
+ # @param mrn [String]
1174
+ # @param similar_name_ordering [String] A string that is used to order similar names in search results.
1175
+ # @param request_options [CandidApiClient::RequestOptions]
1176
+ # @return [Array<CandidApiClient::PreEncounter::Patients::V1::Types::Patient>]
1177
+ # @example
1178
+ # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
1179
+ # api.pre_encounter.patients.v_1.search
1180
+ def search(mrn: nil, similar_name_ordering: nil, request_options: nil)
1181
+ Async do
1182
+ response = @request_client.conn.get do |req|
1183
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
1184
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
1185
+ req.headers = {
1186
+ **(req.headers || {}),
1187
+ **@request_client.get_headers,
1188
+ **(request_options&.additional_headers || {})
1189
+ }.compact
1190
+ req.params = {
1191
+ **(request_options&.additional_query_parameters || {}),
1192
+ "mrn": mrn,
1193
+ "similar_name_ordering": similar_name_ordering
1194
+ }.compact
1195
+ req.url "#{@request_client.get_url(environment: PreEncounter,
1196
+ request_options: request_options)}/patients/v1"
1197
+ end
1198
+ parsed_json = JSON.parse(response.body)
1199
+ parsed_json&.map do |item|
1200
+ item = item.to_json
1201
+ CandidApiClient::PreEncounter::Patients::V1::Types::Patient.from_json(json_object: item)
1202
+ end
1203
+ end
1204
+ end
1205
+
1206
+ # Scans up to 100 patient updates. The since query parameter is inclusive, and
1207
+ # the result list is ordered by updatedAt ascending.
1208
+ #
1209
+ # @param since [DateTime]
1210
+ # @param request_options [CandidApiClient::RequestOptions]
1211
+ # @return [Array<CandidApiClient::PreEncounter::Patients::V1::Types::Patient>]
1212
+ # @example
1213
+ # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
1214
+ # api.pre_encounter.patients.v_1.scan(since: DateTime.parse(2024-01-15T09:30:00.000Z))
1215
+ def scan(since:, request_options: nil)
1216
+ Async do
1217
+ response = @request_client.conn.get do |req|
1218
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
1219
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
1220
+ req.headers = {
1221
+ **(req.headers || {}),
1222
+ **@request_client.get_headers,
1223
+ **(request_options&.additional_headers || {})
1224
+ }.compact
1225
+ req.params = { **(request_options&.additional_query_parameters || {}), "since": since }.compact
1226
+ req.url "#{@request_client.get_url(environment: PreEncounter,
1227
+ request_options: request_options)}/patients/v1/updates/scan"
1228
+ end
1229
+ parsed_json = JSON.parse(response.body)
1230
+ parsed_json&.map do |item|
1231
+ item = item.to_json
1232
+ CandidApiClient::PreEncounter::Patients::V1::Types::Patient.from_json(json_object: item)
1233
+ end
1234
+ end
1235
+ end
1236
+ end
1237
+ end
1238
+ end
1239
+ end
1240
+ end