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,283 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "date"
4
+ require_relative "appointment_status"
5
+ require_relative "service"
6
+ require_relative "../../../common/types/external_provider"
7
+ require_relative "appointment_work_queue"
8
+ require "ostruct"
9
+ require "json"
10
+
11
+ module CandidApiClient
12
+ module PreEncounter
13
+ module Appointments
14
+ module V1
15
+ module Types
16
+ # An appointment object with immutable server-owned properties.
17
+ class Appointment
18
+ # @return [String]
19
+ attr_reader :id
20
+ # @return [String] The organization that owns this object.
21
+ attr_reader :organization_id
22
+ # @return [Boolean] True if the object is deactivated. Deactivated objects are not returned in
23
+ # search results but are returned in all other endpoints including scan.
24
+ attr_reader :deactivated
25
+ # @return [Integer] The version of the object. Any update to any property of an object object will
26
+ # create a new version.
27
+ attr_reader :version
28
+ # @return [DateTime]
29
+ attr_reader :updated_at
30
+ # @return [String] The user ID of the user who last updated the object.
31
+ attr_reader :updating_user_id
32
+ # @return [String] The Candid-defined patient identifier.
33
+ attr_reader :patient_id
34
+ # @return [DateTime]
35
+ attr_reader :start_timestamp
36
+ # @return [CandidApiClient::PreEncounter::Appointments::V1::Types::AppointmentStatus] Defaults to PENDING. If status is NOT_READY, work_queue must be set. If status
37
+ # is READY or CHECKED_IN, work_queue must be null. If status is CHECKED_IN,
38
+ # checked_in_timestamp must be set. If checked_in_timestamp is set, status must be
39
+ # CHECKED_IN.
40
+ attr_reader :status
41
+ # @return [Integer] The requested length of time allotted for the appointment. The units are in
42
+ # minutes.
43
+ attr_reader :service_duration
44
+ # @return [Array<CandidApiClient::PreEncounter::Appointments::V1::Types::Service>]
45
+ attr_reader :services
46
+ # @return [String] ID for the appointment/order for the event.
47
+ attr_reader :placer_appointment_id
48
+ # @return [CandidApiClient::PreEncounter::Common::Types::ExternalProvider] Attending physician information. The attending physician will be stored as the
49
+ # Current MD for the patient.
50
+ attr_reader :attending_doctor
51
+ # @return [Integer]
52
+ attr_reader :estimated_copay_cents
53
+ # @return [Integer]
54
+ attr_reader :estimated_patient_responsibility_cents
55
+ # @return [Integer]
56
+ attr_reader :patient_deposit_cents
57
+ # @return [DateTime] The timestamp when the patient checked in for their appointment. If status is
58
+ # CHECKED_IN, checked_in_timestamp must be set. If checked_in_timestamp is set,
59
+ # status must be CHECKED_IN.
60
+ attr_reader :checked_in_timestamp
61
+ # @return [String]
62
+ attr_reader :notes
63
+ # @return [String] Contains the coded identification of the location being scheduled. Components:
64
+ # <Identifier (ST)>^<Text (ST)>
65
+ attr_reader :location_resource_id
66
+ # @return [Boolean] True if the automated eligibility check has been completed. It is not
67
+ # recommended to change this value manually via API. This refers explicitly to the
68
+ # automated eligibility check that occurs a specific number of days before the
69
+ # appointment.
70
+ attr_reader :automated_eligibility_check_complete
71
+ # @return [CandidApiClient::PreEncounter::Appointments::V1::Types::AppointmentWorkQueue] The work queue that the appointment belongs to. It is not recommended to change
72
+ # this value manually via API. If status is NOT_READY, work_queue must be set. If
73
+ # status is READY, work_queue must be null.
74
+ attr_reader :work_queue
75
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
76
+ attr_reader :additional_properties
77
+ # @return [Object]
78
+ attr_reader :_field_set
79
+ protected :_field_set
80
+
81
+ OMIT = Object.new
82
+
83
+ # @param id [String]
84
+ # @param organization_id [String] The organization that owns this object.
85
+ # @param deactivated [Boolean] True if the object is deactivated. Deactivated objects are not returned in
86
+ # search results but are returned in all other endpoints including scan.
87
+ # @param version [Integer] The version of the object. Any update to any property of an object object will
88
+ # create a new version.
89
+ # @param updated_at [DateTime]
90
+ # @param updating_user_id [String] The user ID of the user who last updated the object.
91
+ # @param patient_id [String] The Candid-defined patient identifier.
92
+ # @param start_timestamp [DateTime]
93
+ # @param status [CandidApiClient::PreEncounter::Appointments::V1::Types::AppointmentStatus] Defaults to PENDING. If status is NOT_READY, work_queue must be set. If status
94
+ # is READY or CHECKED_IN, work_queue must be null. If status is CHECKED_IN,
95
+ # checked_in_timestamp must be set. If checked_in_timestamp is set, status must be
96
+ # CHECKED_IN.
97
+ # @param service_duration [Integer] The requested length of time allotted for the appointment. The units are in
98
+ # minutes.
99
+ # @param services [Array<CandidApiClient::PreEncounter::Appointments::V1::Types::Service>]
100
+ # @param placer_appointment_id [String] ID for the appointment/order for the event.
101
+ # @param attending_doctor [CandidApiClient::PreEncounter::Common::Types::ExternalProvider] Attending physician information. The attending physician will be stored as the
102
+ # Current MD for the patient.
103
+ # @param estimated_copay_cents [Integer]
104
+ # @param estimated_patient_responsibility_cents [Integer]
105
+ # @param patient_deposit_cents [Integer]
106
+ # @param checked_in_timestamp [DateTime] The timestamp when the patient checked in for their appointment. If status is
107
+ # CHECKED_IN, checked_in_timestamp must be set. If checked_in_timestamp is set,
108
+ # status must be CHECKED_IN.
109
+ # @param notes [String]
110
+ # @param location_resource_id [String] Contains the coded identification of the location being scheduled. Components:
111
+ # <Identifier (ST)>^<Text (ST)>
112
+ # @param automated_eligibility_check_complete [Boolean] True if the automated eligibility check has been completed. It is not
113
+ # recommended to change this value manually via API. This refers explicitly to the
114
+ # automated eligibility check that occurs a specific number of days before the
115
+ # appointment.
116
+ # @param work_queue [CandidApiClient::PreEncounter::Appointments::V1::Types::AppointmentWorkQueue] The work queue that the appointment belongs to. It is not recommended to change
117
+ # this value manually via API. If status is NOT_READY, work_queue must be set. If
118
+ # status is READY, work_queue must be null.
119
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
120
+ # @return [CandidApiClient::PreEncounter::Appointments::V1::Types::Appointment]
121
+ def initialize(id:, organization_id:, deactivated:, version:, updated_at:, updating_user_id:, patient_id:,
122
+ start_timestamp:, service_duration:, services:, status: OMIT, placer_appointment_id: OMIT, attending_doctor: OMIT, estimated_copay_cents: OMIT, estimated_patient_responsibility_cents: OMIT, patient_deposit_cents: OMIT, checked_in_timestamp: OMIT, notes: OMIT, location_resource_id: OMIT, automated_eligibility_check_complete: OMIT, work_queue: OMIT, additional_properties: nil)
123
+ @id = id
124
+ @organization_id = organization_id
125
+ @deactivated = deactivated
126
+ @version = version
127
+ @updated_at = updated_at
128
+ @updating_user_id = updating_user_id
129
+ @patient_id = patient_id
130
+ @start_timestamp = start_timestamp
131
+ @status = status if status != OMIT
132
+ @service_duration = service_duration
133
+ @services = services
134
+ @placer_appointment_id = placer_appointment_id if placer_appointment_id != OMIT
135
+ @attending_doctor = attending_doctor if attending_doctor != OMIT
136
+ @estimated_copay_cents = estimated_copay_cents if estimated_copay_cents != OMIT
137
+ if estimated_patient_responsibility_cents != OMIT
138
+ @estimated_patient_responsibility_cents = estimated_patient_responsibility_cents
139
+ end
140
+ @patient_deposit_cents = patient_deposit_cents if patient_deposit_cents != OMIT
141
+ @checked_in_timestamp = checked_in_timestamp if checked_in_timestamp != OMIT
142
+ @notes = notes if notes != OMIT
143
+ @location_resource_id = location_resource_id if location_resource_id != OMIT
144
+ if automated_eligibility_check_complete != OMIT
145
+ @automated_eligibility_check_complete = automated_eligibility_check_complete
146
+ end
147
+ @work_queue = work_queue if work_queue != OMIT
148
+ @additional_properties = additional_properties
149
+ @_field_set = {
150
+ "id": id,
151
+ "organization_id": organization_id,
152
+ "deactivated": deactivated,
153
+ "version": version,
154
+ "updated_at": updated_at,
155
+ "updating_user_id": updating_user_id,
156
+ "patient_id": patient_id,
157
+ "start_timestamp": start_timestamp,
158
+ "status": status,
159
+ "service_duration": service_duration,
160
+ "services": services,
161
+ "placer_appointment_id": placer_appointment_id,
162
+ "attending_doctor": attending_doctor,
163
+ "estimated_copay_cents": estimated_copay_cents,
164
+ "estimated_patient_responsibility_cents": estimated_patient_responsibility_cents,
165
+ "patient_deposit_cents": patient_deposit_cents,
166
+ "checked_in_timestamp": checked_in_timestamp,
167
+ "notes": notes,
168
+ "location_resource_id": location_resource_id,
169
+ "automated_eligibility_check_complete": automated_eligibility_check_complete,
170
+ "work_queue": work_queue
171
+ }.reject do |_k, v|
172
+ v == OMIT
173
+ end
174
+ end
175
+
176
+ # Deserialize a JSON object to an instance of Appointment
177
+ #
178
+ # @param json_object [String]
179
+ # @return [CandidApiClient::PreEncounter::Appointments::V1::Types::Appointment]
180
+ def self.from_json(json_object:)
181
+ struct = JSON.parse(json_object, object_class: OpenStruct)
182
+ parsed_json = JSON.parse(json_object)
183
+ id = struct["id"]
184
+ organization_id = struct["organization_id"]
185
+ deactivated = struct["deactivated"]
186
+ version = struct["version"]
187
+ updated_at = (DateTime.parse(parsed_json["updated_at"]) unless parsed_json["updated_at"].nil?)
188
+ updating_user_id = struct["updating_user_id"]
189
+ patient_id = struct["patient_id"]
190
+ start_timestamp = unless parsed_json["start_timestamp"].nil?
191
+ DateTime.parse(parsed_json["start_timestamp"])
192
+ end
193
+ status = struct["status"]
194
+ service_duration = struct["service_duration"]
195
+ services = parsed_json["services"]&.map do |item|
196
+ item = item.to_json
197
+ CandidApiClient::PreEncounter::Appointments::V1::Types::Service.from_json(json_object: item)
198
+ end
199
+ placer_appointment_id = struct["placer_appointment_id"]
200
+ if parsed_json["attending_doctor"].nil?
201
+ attending_doctor = nil
202
+ else
203
+ attending_doctor = parsed_json["attending_doctor"].to_json
204
+ attending_doctor = CandidApiClient::PreEncounter::Common::Types::ExternalProvider.from_json(json_object: attending_doctor)
205
+ end
206
+ estimated_copay_cents = struct["estimated_copay_cents"]
207
+ estimated_patient_responsibility_cents = struct["estimated_patient_responsibility_cents"]
208
+ patient_deposit_cents = struct["patient_deposit_cents"]
209
+ checked_in_timestamp = unless parsed_json["checked_in_timestamp"].nil?
210
+ DateTime.parse(parsed_json["checked_in_timestamp"])
211
+ end
212
+ notes = struct["notes"]
213
+ location_resource_id = struct["location_resource_id"]
214
+ automated_eligibility_check_complete = struct["automated_eligibility_check_complete"]
215
+ work_queue = struct["work_queue"]
216
+ new(
217
+ id: id,
218
+ organization_id: organization_id,
219
+ deactivated: deactivated,
220
+ version: version,
221
+ updated_at: updated_at,
222
+ updating_user_id: updating_user_id,
223
+ patient_id: patient_id,
224
+ start_timestamp: start_timestamp,
225
+ status: status,
226
+ service_duration: service_duration,
227
+ services: services,
228
+ placer_appointment_id: placer_appointment_id,
229
+ attending_doctor: attending_doctor,
230
+ estimated_copay_cents: estimated_copay_cents,
231
+ estimated_patient_responsibility_cents: estimated_patient_responsibility_cents,
232
+ patient_deposit_cents: patient_deposit_cents,
233
+ checked_in_timestamp: checked_in_timestamp,
234
+ notes: notes,
235
+ location_resource_id: location_resource_id,
236
+ automated_eligibility_check_complete: automated_eligibility_check_complete,
237
+ work_queue: work_queue,
238
+ additional_properties: struct
239
+ )
240
+ end
241
+
242
+ # Serialize an instance of Appointment to a JSON object
243
+ #
244
+ # @return [String]
245
+ def to_json(*_args)
246
+ @_field_set&.to_json
247
+ end
248
+
249
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
250
+ # hash and check each fields type against the current object's property
251
+ # definitions.
252
+ #
253
+ # @param obj [Object]
254
+ # @return [Void]
255
+ def self.validate_raw(obj:)
256
+ obj.id.is_a?(String) != false || raise("Passed value for field obj.id is not the expected type, validation failed.")
257
+ obj.organization_id.is_a?(String) != false || raise("Passed value for field obj.organization_id is not the expected type, validation failed.")
258
+ obj.deactivated.is_a?(Boolean) != false || raise("Passed value for field obj.deactivated is not the expected type, validation failed.")
259
+ obj.version.is_a?(Integer) != false || raise("Passed value for field obj.version is not the expected type, validation failed.")
260
+ obj.updated_at.is_a?(DateTime) != false || raise("Passed value for field obj.updated_at is not the expected type, validation failed.")
261
+ obj.updating_user_id.is_a?(String) != false || raise("Passed value for field obj.updating_user_id is not the expected type, validation failed.")
262
+ obj.patient_id.is_a?(String) != false || raise("Passed value for field obj.patient_id is not the expected type, validation failed.")
263
+ obj.start_timestamp.is_a?(DateTime) != false || raise("Passed value for field obj.start_timestamp is not the expected type, validation failed.")
264
+ obj.status&.is_a?(CandidApiClient::PreEncounter::Appointments::V1::Types::AppointmentStatus) != false || raise("Passed value for field obj.status is not the expected type, validation failed.")
265
+ obj.service_duration.is_a?(Integer) != false || raise("Passed value for field obj.service_duration is not the expected type, validation failed.")
266
+ obj.services.is_a?(Array) != false || raise("Passed value for field obj.services is not the expected type, validation failed.")
267
+ obj.placer_appointment_id&.is_a?(String) != false || raise("Passed value for field obj.placer_appointment_id is not the expected type, validation failed.")
268
+ obj.attending_doctor.nil? || CandidApiClient::PreEncounter::Common::Types::ExternalProvider.validate_raw(obj: obj.attending_doctor)
269
+ obj.estimated_copay_cents&.is_a?(Integer) != false || raise("Passed value for field obj.estimated_copay_cents is not the expected type, validation failed.")
270
+ obj.estimated_patient_responsibility_cents&.is_a?(Integer) != false || raise("Passed value for field obj.estimated_patient_responsibility_cents is not the expected type, validation failed.")
271
+ obj.patient_deposit_cents&.is_a?(Integer) != false || raise("Passed value for field obj.patient_deposit_cents is not the expected type, validation failed.")
272
+ obj.checked_in_timestamp&.is_a?(DateTime) != false || raise("Passed value for field obj.checked_in_timestamp is not the expected type, validation failed.")
273
+ obj.notes&.is_a?(String) != false || raise("Passed value for field obj.notes is not the expected type, validation failed.")
274
+ obj.location_resource_id&.is_a?(String) != false || raise("Passed value for field obj.location_resource_id is not the expected type, validation failed.")
275
+ obj.automated_eligibility_check_complete&.is_a?(Boolean) != false || raise("Passed value for field obj.automated_eligibility_check_complete is not the expected type, validation failed.")
276
+ obj.work_queue&.is_a?(CandidApiClient::PreEncounter::Appointments::V1::Types::AppointmentWorkQueue) != false || raise("Passed value for field obj.work_queue is not the expected type, validation failed.")
277
+ end
278
+ end
279
+ end
280
+ end
281
+ end
282
+ end
283
+ end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CandidApiClient
4
+ module PreEncounter
5
+ module Appointments
6
+ module V1
7
+ module Types
8
+ class AppointmentStatus
9
+ PENDING = "PENDING"
10
+ NOT_READY = "NOT_READY"
11
+ READY = "READY"
12
+ CHECKED_IN = "CHECKED_IN"
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CandidApiClient
4
+ module PreEncounter
5
+ module Appointments
6
+ module V1
7
+ module Types
8
+ class AppointmentWorkQueue
9
+ EMERGENT_ISSUE = "EMERGENT_ISSUE"
10
+ NEW_PATIENT = "NEW_PATIENT"
11
+ RETURNING_PATIENT = "RETURNING_PATIENT"
12
+ MANUAL_ESCALATION = "MANUAL_ESCALATION"
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,231 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "date"
4
+ require_relative "appointment_status"
5
+ require_relative "service"
6
+ require_relative "../../../common/types/external_provider"
7
+ require_relative "appointment_work_queue"
8
+ require "ostruct"
9
+ require "json"
10
+
11
+ module CandidApiClient
12
+ module PreEncounter
13
+ module Appointments
14
+ module V1
15
+ module Types
16
+ # An object representing a appointment.
17
+ class MutableAppointment
18
+ # @return [String] The Candid-defined patient identifier.
19
+ attr_reader :patient_id
20
+ # @return [DateTime]
21
+ attr_reader :start_timestamp
22
+ # @return [CandidApiClient::PreEncounter::Appointments::V1::Types::AppointmentStatus] Defaults to PENDING. If status is NOT_READY, work_queue must be set. If status
23
+ # is READY or CHECKED_IN, work_queue must be null. If status is CHECKED_IN,
24
+ # checked_in_timestamp must be set. If checked_in_timestamp is set, status must be
25
+ # CHECKED_IN.
26
+ attr_reader :status
27
+ # @return [Integer] The requested length of time allotted for the appointment. The units are in
28
+ # minutes.
29
+ attr_reader :service_duration
30
+ # @return [Array<CandidApiClient::PreEncounter::Appointments::V1::Types::Service>]
31
+ attr_reader :services
32
+ # @return [String] ID for the appointment/order for the event.
33
+ attr_reader :placer_appointment_id
34
+ # @return [CandidApiClient::PreEncounter::Common::Types::ExternalProvider] Attending physician information. The attending physician will be stored as the
35
+ # Current MD for the patient.
36
+ attr_reader :attending_doctor
37
+ # @return [Integer]
38
+ attr_reader :estimated_copay_cents
39
+ # @return [Integer]
40
+ attr_reader :estimated_patient_responsibility_cents
41
+ # @return [Integer]
42
+ attr_reader :patient_deposit_cents
43
+ # @return [DateTime] The timestamp when the patient checked in for their appointment. If status is
44
+ # CHECKED_IN, checked_in_timestamp must be set. If checked_in_timestamp is set,
45
+ # status must be CHECKED_IN.
46
+ attr_reader :checked_in_timestamp
47
+ # @return [String]
48
+ attr_reader :notes
49
+ # @return [String] Contains the coded identification of the location being scheduled. Components:
50
+ # <Identifier (ST)>^<Text (ST)>
51
+ attr_reader :location_resource_id
52
+ # @return [Boolean] True if the automated eligibility check has been completed. It is not
53
+ # recommended to change this value manually via API. This refers explicitly to the
54
+ # automated eligibility check that occurs a specific number of days before the
55
+ # appointment.
56
+ attr_reader :automated_eligibility_check_complete
57
+ # @return [CandidApiClient::PreEncounter::Appointments::V1::Types::AppointmentWorkQueue] The work queue that the appointment belongs to. It is not recommended to change
58
+ # this value manually via API. If status is NOT_READY, work_queue must be set. If
59
+ # status is READY, work_queue must be null.
60
+ attr_reader :work_queue
61
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
62
+ attr_reader :additional_properties
63
+ # @return [Object]
64
+ attr_reader :_field_set
65
+ protected :_field_set
66
+
67
+ OMIT = Object.new
68
+
69
+ # @param patient_id [String] The Candid-defined patient identifier.
70
+ # @param start_timestamp [DateTime]
71
+ # @param status [CandidApiClient::PreEncounter::Appointments::V1::Types::AppointmentStatus] Defaults to PENDING. If status is NOT_READY, work_queue must be set. If status
72
+ # is READY or CHECKED_IN, work_queue must be null. If status is CHECKED_IN,
73
+ # checked_in_timestamp must be set. If checked_in_timestamp is set, status must be
74
+ # CHECKED_IN.
75
+ # @param service_duration [Integer] The requested length of time allotted for the appointment. The units are in
76
+ # minutes.
77
+ # @param services [Array<CandidApiClient::PreEncounter::Appointments::V1::Types::Service>]
78
+ # @param placer_appointment_id [String] ID for the appointment/order for the event.
79
+ # @param attending_doctor [CandidApiClient::PreEncounter::Common::Types::ExternalProvider] Attending physician information. The attending physician will be stored as the
80
+ # Current MD for the patient.
81
+ # @param estimated_copay_cents [Integer]
82
+ # @param estimated_patient_responsibility_cents [Integer]
83
+ # @param patient_deposit_cents [Integer]
84
+ # @param checked_in_timestamp [DateTime] The timestamp when the patient checked in for their appointment. If status is
85
+ # CHECKED_IN, checked_in_timestamp must be set. If checked_in_timestamp is set,
86
+ # status must be CHECKED_IN.
87
+ # @param notes [String]
88
+ # @param location_resource_id [String] Contains the coded identification of the location being scheduled. Components:
89
+ # <Identifier (ST)>^<Text (ST)>
90
+ # @param automated_eligibility_check_complete [Boolean] True if the automated eligibility check has been completed. It is not
91
+ # recommended to change this value manually via API. This refers explicitly to the
92
+ # automated eligibility check that occurs a specific number of days before the
93
+ # appointment.
94
+ # @param work_queue [CandidApiClient::PreEncounter::Appointments::V1::Types::AppointmentWorkQueue] The work queue that the appointment belongs to. It is not recommended to change
95
+ # this value manually via API. If status is NOT_READY, work_queue must be set. If
96
+ # status is READY, work_queue must be null.
97
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
98
+ # @return [CandidApiClient::PreEncounter::Appointments::V1::Types::MutableAppointment]
99
+ def initialize(patient_id:, start_timestamp:, service_duration:, services:, status: OMIT,
100
+ placer_appointment_id: OMIT, attending_doctor: OMIT, estimated_copay_cents: OMIT, estimated_patient_responsibility_cents: OMIT, patient_deposit_cents: OMIT, checked_in_timestamp: OMIT, notes: OMIT, location_resource_id: OMIT, automated_eligibility_check_complete: OMIT, work_queue: OMIT, additional_properties: nil)
101
+ @patient_id = patient_id
102
+ @start_timestamp = start_timestamp
103
+ @status = status if status != OMIT
104
+ @service_duration = service_duration
105
+ @services = services
106
+ @placer_appointment_id = placer_appointment_id if placer_appointment_id != OMIT
107
+ @attending_doctor = attending_doctor if attending_doctor != OMIT
108
+ @estimated_copay_cents = estimated_copay_cents if estimated_copay_cents != OMIT
109
+ if estimated_patient_responsibility_cents != OMIT
110
+ @estimated_patient_responsibility_cents = estimated_patient_responsibility_cents
111
+ end
112
+ @patient_deposit_cents = patient_deposit_cents if patient_deposit_cents != OMIT
113
+ @checked_in_timestamp = checked_in_timestamp if checked_in_timestamp != OMIT
114
+ @notes = notes if notes != OMIT
115
+ @location_resource_id = location_resource_id if location_resource_id != OMIT
116
+ if automated_eligibility_check_complete != OMIT
117
+ @automated_eligibility_check_complete = automated_eligibility_check_complete
118
+ end
119
+ @work_queue = work_queue if work_queue != OMIT
120
+ @additional_properties = additional_properties
121
+ @_field_set = {
122
+ "patient_id": patient_id,
123
+ "start_timestamp": start_timestamp,
124
+ "status": status,
125
+ "service_duration": service_duration,
126
+ "services": services,
127
+ "placer_appointment_id": placer_appointment_id,
128
+ "attending_doctor": attending_doctor,
129
+ "estimated_copay_cents": estimated_copay_cents,
130
+ "estimated_patient_responsibility_cents": estimated_patient_responsibility_cents,
131
+ "patient_deposit_cents": patient_deposit_cents,
132
+ "checked_in_timestamp": checked_in_timestamp,
133
+ "notes": notes,
134
+ "location_resource_id": location_resource_id,
135
+ "automated_eligibility_check_complete": automated_eligibility_check_complete,
136
+ "work_queue": work_queue
137
+ }.reject do |_k, v|
138
+ v == OMIT
139
+ end
140
+ end
141
+
142
+ # Deserialize a JSON object to an instance of MutableAppointment
143
+ #
144
+ # @param json_object [String]
145
+ # @return [CandidApiClient::PreEncounter::Appointments::V1::Types::MutableAppointment]
146
+ def self.from_json(json_object:)
147
+ struct = JSON.parse(json_object, object_class: OpenStruct)
148
+ parsed_json = JSON.parse(json_object)
149
+ patient_id = struct["patient_id"]
150
+ start_timestamp = unless parsed_json["start_timestamp"].nil?
151
+ DateTime.parse(parsed_json["start_timestamp"])
152
+ end
153
+ status = struct["status"]
154
+ service_duration = struct["service_duration"]
155
+ services = parsed_json["services"]&.map do |item|
156
+ item = item.to_json
157
+ CandidApiClient::PreEncounter::Appointments::V1::Types::Service.from_json(json_object: item)
158
+ end
159
+ placer_appointment_id = struct["placer_appointment_id"]
160
+ if parsed_json["attending_doctor"].nil?
161
+ attending_doctor = nil
162
+ else
163
+ attending_doctor = parsed_json["attending_doctor"].to_json
164
+ attending_doctor = CandidApiClient::PreEncounter::Common::Types::ExternalProvider.from_json(json_object: attending_doctor)
165
+ end
166
+ estimated_copay_cents = struct["estimated_copay_cents"]
167
+ estimated_patient_responsibility_cents = struct["estimated_patient_responsibility_cents"]
168
+ patient_deposit_cents = struct["patient_deposit_cents"]
169
+ checked_in_timestamp = unless parsed_json["checked_in_timestamp"].nil?
170
+ DateTime.parse(parsed_json["checked_in_timestamp"])
171
+ end
172
+ notes = struct["notes"]
173
+ location_resource_id = struct["location_resource_id"]
174
+ automated_eligibility_check_complete = struct["automated_eligibility_check_complete"]
175
+ work_queue = struct["work_queue"]
176
+ new(
177
+ patient_id: patient_id,
178
+ start_timestamp: start_timestamp,
179
+ status: status,
180
+ service_duration: service_duration,
181
+ services: services,
182
+ placer_appointment_id: placer_appointment_id,
183
+ attending_doctor: attending_doctor,
184
+ estimated_copay_cents: estimated_copay_cents,
185
+ estimated_patient_responsibility_cents: estimated_patient_responsibility_cents,
186
+ patient_deposit_cents: patient_deposit_cents,
187
+ checked_in_timestamp: checked_in_timestamp,
188
+ notes: notes,
189
+ location_resource_id: location_resource_id,
190
+ automated_eligibility_check_complete: automated_eligibility_check_complete,
191
+ work_queue: work_queue,
192
+ additional_properties: struct
193
+ )
194
+ end
195
+
196
+ # Serialize an instance of MutableAppointment to a JSON object
197
+ #
198
+ # @return [String]
199
+ def to_json(*_args)
200
+ @_field_set&.to_json
201
+ end
202
+
203
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
204
+ # hash and check each fields type against the current object's property
205
+ # definitions.
206
+ #
207
+ # @param obj [Object]
208
+ # @return [Void]
209
+ def self.validate_raw(obj:)
210
+ obj.patient_id.is_a?(String) != false || raise("Passed value for field obj.patient_id is not the expected type, validation failed.")
211
+ obj.start_timestamp.is_a?(DateTime) != false || raise("Passed value for field obj.start_timestamp is not the expected type, validation failed.")
212
+ obj.status&.is_a?(CandidApiClient::PreEncounter::Appointments::V1::Types::AppointmentStatus) != false || raise("Passed value for field obj.status is not the expected type, validation failed.")
213
+ obj.service_duration.is_a?(Integer) != false || raise("Passed value for field obj.service_duration is not the expected type, validation failed.")
214
+ obj.services.is_a?(Array) != false || raise("Passed value for field obj.services is not the expected type, validation failed.")
215
+ obj.placer_appointment_id&.is_a?(String) != false || raise("Passed value for field obj.placer_appointment_id is not the expected type, validation failed.")
216
+ obj.attending_doctor.nil? || CandidApiClient::PreEncounter::Common::Types::ExternalProvider.validate_raw(obj: obj.attending_doctor)
217
+ obj.estimated_copay_cents&.is_a?(Integer) != false || raise("Passed value for field obj.estimated_copay_cents is not the expected type, validation failed.")
218
+ obj.estimated_patient_responsibility_cents&.is_a?(Integer) != false || raise("Passed value for field obj.estimated_patient_responsibility_cents is not the expected type, validation failed.")
219
+ obj.patient_deposit_cents&.is_a?(Integer) != false || raise("Passed value for field obj.patient_deposit_cents is not the expected type, validation failed.")
220
+ obj.checked_in_timestamp&.is_a?(DateTime) != false || raise("Passed value for field obj.checked_in_timestamp is not the expected type, validation failed.")
221
+ obj.notes&.is_a?(String) != false || raise("Passed value for field obj.notes is not the expected type, validation failed.")
222
+ obj.location_resource_id&.is_a?(String) != false || raise("Passed value for field obj.location_resource_id is not the expected type, validation failed.")
223
+ obj.automated_eligibility_check_complete&.is_a?(Boolean) != false || raise("Passed value for field obj.automated_eligibility_check_complete is not the expected type, validation failed.")
224
+ obj.work_queue&.is_a?(CandidApiClient::PreEncounter::Appointments::V1::Types::AppointmentWorkQueue) != false || raise("Passed value for field obj.work_queue is not the expected type, validation failed.")
225
+ end
226
+ end
227
+ end
228
+ end
229
+ end
230
+ end
231
+ end
@@ -0,0 +1,82 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "universal_service_identifier"
4
+ require "date"
5
+ require "ostruct"
6
+ require "json"
7
+
8
+ module CandidApiClient
9
+ module PreEncounter
10
+ module Appointments
11
+ module V1
12
+ module Types
13
+ class Service
14
+ # @return [CandidApiClient::PreEncounter::Appointments::V1::Types::UniversalServiceIdentifier] Contains the code describing the activity type that is being scheduled.
15
+ attr_reader :universal_service_identifier
16
+ # @return [DateTime]
17
+ attr_reader :start_timestamp
18
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
19
+ attr_reader :additional_properties
20
+ # @return [Object]
21
+ attr_reader :_field_set
22
+ protected :_field_set
23
+
24
+ OMIT = Object.new
25
+
26
+ # @param universal_service_identifier [CandidApiClient::PreEncounter::Appointments::V1::Types::UniversalServiceIdentifier] Contains the code describing the activity type that is being scheduled.
27
+ # @param start_timestamp [DateTime]
28
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
29
+ # @return [CandidApiClient::PreEncounter::Appointments::V1::Types::Service]
30
+ def initialize(universal_service_identifier: OMIT, start_timestamp: OMIT, additional_properties: nil)
31
+ @universal_service_identifier = universal_service_identifier if universal_service_identifier != OMIT
32
+ @start_timestamp = start_timestamp if start_timestamp != OMIT
33
+ @additional_properties = additional_properties
34
+ @_field_set = {
35
+ "universal_service_identifier": universal_service_identifier,
36
+ "start_timestamp": start_timestamp
37
+ }.reject do |_k, v|
38
+ v == OMIT
39
+ end
40
+ end
41
+
42
+ # Deserialize a JSON object to an instance of Service
43
+ #
44
+ # @param json_object [String]
45
+ # @return [CandidApiClient::PreEncounter::Appointments::V1::Types::Service]
46
+ def self.from_json(json_object:)
47
+ struct = JSON.parse(json_object, object_class: OpenStruct)
48
+ parsed_json = JSON.parse(json_object)
49
+ universal_service_identifier = struct["universal_service_identifier"]
50
+ start_timestamp = unless parsed_json["start_timestamp"].nil?
51
+ DateTime.parse(parsed_json["start_timestamp"])
52
+ end
53
+ new(
54
+ universal_service_identifier: universal_service_identifier,
55
+ start_timestamp: start_timestamp,
56
+ additional_properties: struct
57
+ )
58
+ end
59
+
60
+ # Serialize an instance of Service to a JSON object
61
+ #
62
+ # @return [String]
63
+ def to_json(*_args)
64
+ @_field_set&.to_json
65
+ end
66
+
67
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
68
+ # hash and check each fields type against the current object's property
69
+ # definitions.
70
+ #
71
+ # @param obj [Object]
72
+ # @return [Void]
73
+ def self.validate_raw(obj:)
74
+ obj.universal_service_identifier&.is_a?(CandidApiClient::PreEncounter::Appointments::V1::Types::UniversalServiceIdentifier) != false || raise("Passed value for field obj.universal_service_identifier is not the expected type, validation failed.")
75
+ obj.start_timestamp&.is_a?(DateTime) != false || raise("Passed value for field obj.start_timestamp is not the expected type, validation failed.")
76
+ end
77
+ end
78
+ end
79
+ end
80
+ end
81
+ end
82
+ end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CandidApiClient
4
+ module PreEncounter
5
+ module Appointments
6
+ module V1
7
+ module Types
8
+ class UniversalServiceIdentifier
9
+ MD_VISIT = "MD_Visit"
10
+ TREATMENT = "Treatment"
11
+ TESTS = "Tests"
12
+ ACTIVITY = "Activity"
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end