candidhealth 0.20.1 → 0.24.0.pre.2a6d412

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (439) hide show
  1. checksums.yaml +4 -4
  2. data/lib/candidhealth/auth/client.rb +8 -6
  3. data/lib/candidhealth/auth/v_2/client.rb +86 -38
  4. data/lib/candidhealth/auth/v_2/types/auth_get_token_response.rb +61 -43
  5. data/lib/candidhealth/auth/v_2/types/too_many_requests_error_type.rb +44 -33
  6. data/lib/candidhealth/billing_notes/client.rb +8 -6
  7. data/lib/candidhealth/billing_notes/v_2/client.rb +43 -21
  8. data/lib/candidhealth/billing_notes/v_2/types/billing_note.rb +95 -72
  9. data/lib/candidhealth/billing_notes/v_2/types/billing_note_base.rb +44 -33
  10. data/lib/candidhealth/claim_submission/v_1/types/claim_frequency_type_code.rb +6 -4
  11. data/lib/candidhealth/claim_submission/v_1/types/claim_submission_record_create.rb +80 -59
  12. data/lib/candidhealth/claim_submission/v_1/types/external_claim_submission_create.rb +78 -56
  13. data/lib/candidhealth/claims/types/claim.rb +114 -86
  14. data/lib/candidhealth/claims/types/claim_status.rb +19 -17
  15. data/lib/candidhealth/commons/types/claim_adjustment_group_codes.rb +14 -12
  16. data/lib/candidhealth/commons/types/claim_submission_payer_responsibility_type.rb +6 -4
  17. data/lib/candidhealth/commons/types/date_range_optional_end.rb +57 -40
  18. data/lib/candidhealth/commons/types/delay_reason_code.rb +19 -17
  19. data/lib/candidhealth/commons/types/emr_payer_crosswalk.rb +6 -4
  20. data/lib/candidhealth/commons/types/entity_conflict_error_message.rb +45 -34
  21. data/lib/candidhealth/commons/types/entity_not_found_error_message.rb +45 -34
  22. data/lib/candidhealth/commons/types/facility_type_code.rb +58 -55
  23. data/lib/candidhealth/commons/types/http_service_unavailable_error_message.rb +47 -34
  24. data/lib/candidhealth/commons/types/insurance_type_code.rb +76 -73
  25. data/lib/candidhealth/commons/types/intended_submission_medium.rb +9 -5
  26. data/lib/candidhealth/commons/types/network_type.rb +23 -21
  27. data/lib/candidhealth/commons/types/organization_not_authorized_error_message.rb +46 -34
  28. data/lib/candidhealth/commons/types/patient_relationship_to_insured_code_all.rb +28 -26
  29. data/lib/candidhealth/commons/types/phone_number.rb +55 -39
  30. data/lib/candidhealth/commons/types/phone_number_type.rb +7 -5
  31. data/lib/candidhealth/commons/types/procedure_modifier.rb +391 -389
  32. data/lib/candidhealth/commons/types/qualifier_code.rb +14 -0
  33. data/lib/candidhealth/commons/types/region_national.rb +39 -29
  34. data/lib/candidhealth/commons/types/region_states.rb +45 -34
  35. data/lib/candidhealth/commons/types/regions.rb +78 -72
  36. data/lib/candidhealth/commons/types/removable_date_range_optional_end.rb +77 -71
  37. data/lib/candidhealth/commons/types/request_validation_error.rb +57 -39
  38. data/lib/candidhealth/commons/types/resource_page.rb +57 -40
  39. data/lib/candidhealth/commons/types/service_line_units.rb +6 -4
  40. data/lib/candidhealth/commons/types/sort_direction.rb +6 -4
  41. data/lib/candidhealth/commons/types/source_of_payment_code.rb +28 -26
  42. data/lib/candidhealth/commons/types/state.rb +66 -64
  43. data/lib/candidhealth/commons/types/street_address_base.rb +84 -61
  44. data/lib/candidhealth/commons/types/street_address_long_zip.rb +93 -68
  45. data/lib/candidhealth/commons/types/street_address_short_zip.rb +93 -68
  46. data/lib/candidhealth/commons/types/unauthorized_error_message.rb +47 -34
  47. data/lib/candidhealth/commons/types/unprocessable_entity_error_message.rb +47 -34
  48. data/lib/candidhealth/commons/types/updates_disabled_due_to_external_system_integration_error_message.rb +49 -34
  49. data/lib/candidhealth/contracts/client.rb +8 -6
  50. data/lib/candidhealth/contracts/v_2/client.rb +251 -127
  51. data/lib/candidhealth/contracts/v_2/types/authorized_signatory.rb +92 -67
  52. data/lib/candidhealth/contracts/v_2/types/authorized_signatory_update.rb +76 -70
  53. data/lib/candidhealth/contracts/v_2/types/contract.rb +178 -141
  54. data/lib/candidhealth/contracts/v_2/types/contract_base.rb +134 -106
  55. data/lib/candidhealth/contracts/v_2/types/contract_is_linked_to_fee_schedule_error.rb +44 -33
  56. data/lib/candidhealth/contracts/v_2/types/contract_status.rb +6 -4
  57. data/lib/candidhealth/contracts/v_2/types/contract_with_providers.rb +191 -152
  58. data/lib/candidhealth/contracts/v_2/types/contracts_page.rb +70 -47
  59. data/lib/candidhealth/contracts/v_2/types/date_update.rb +76 -71
  60. data/lib/candidhealth/contracts/v_2/types/insurance_types.rb +86 -80
  61. data/lib/candidhealth/contracts/v_2/types/regions_update.rb +76 -70
  62. data/lib/candidhealth/diagnoses/types/diagnosis.rb +126 -91
  63. data/lib/candidhealth/diagnoses/types/diagnosis_create.rb +88 -58
  64. data/lib/candidhealth/diagnoses/types/diagnosis_type_code.rb +14 -12
  65. data/lib/candidhealth/diagnoses/types/standalone_diagnosis_create.rb +100 -64
  66. data/lib/candidhealth/eligibility/client.rb +8 -6
  67. data/lib/candidhealth/eligibility/v_2/client.rb +210 -124
  68. data/lib/candidhealth/encounter_providers/v_2/types/billing_provider.rb +126 -86
  69. data/lib/candidhealth/encounter_providers/v_2/types/encounter_provider.rb +128 -85
  70. data/lib/candidhealth/encounter_providers/v_2/types/encounter_provider_base.rb +73 -44
  71. data/lib/candidhealth/encounter_providers/v_2/types/initial_referring_provider.rb +132 -0
  72. data/lib/candidhealth/encounter_providers/v_2/types/ordering_provider.rb +123 -0
  73. data/lib/candidhealth/encounter_providers/v_2/types/referring_provider.rb +105 -73
  74. data/lib/candidhealth/encounter_providers/v_2/types/rendering_provider.rb +105 -73
  75. data/lib/candidhealth/encounter_providers/v_2/types/supervising_provider.rb +123 -0
  76. data/lib/candidhealth/encounters/client.rb +8 -6
  77. data/lib/candidhealth/encounters/v_4/client.rb +1056 -476
  78. data/lib/candidhealth/encounters/v_4/types/billable_status_type.rb +5 -3
  79. data/lib/candidhealth/encounters/v_4/types/cash_pay_payer_error_message.rb +44 -33
  80. data/lib/candidhealth/encounters/v_4/types/clinical_note.rb +76 -50
  81. data/lib/candidhealth/encounters/v_4/types/clinical_note_category.rb +70 -45
  82. data/lib/candidhealth/encounters/v_4/types/clinical_note_category_create.rb +57 -40
  83. data/lib/candidhealth/encounters/v_4/types/coding_attribution_type.rb +7 -5
  84. data/lib/candidhealth/encounters/v_4/types/encounter.rb +732 -482
  85. data/lib/candidhealth/encounters/v_4/types/encounter_base.rb +304 -223
  86. data/lib/candidhealth/encounters/v_4/types/encounter_external_id_uniqueness_error_type.rb +47 -34
  87. data/lib/candidhealth/encounters/v_4/types/encounter_guarantor_missing_contact_info_error_type.rb +46 -33
  88. data/lib/candidhealth/encounters/v_4/types/encounter_owner_of_next_action_type.rb +7 -5
  89. data/lib/candidhealth/encounters/v_4/types/encounter_page.rb +70 -47
  90. data/lib/candidhealth/encounters/v_4/types/encounter_patient_control_number_uniqueness_error_type.rb +46 -33
  91. data/lib/candidhealth/encounters/v_4/types/encounter_sort_options.rb +7 -5
  92. data/lib/candidhealth/encounters/v_4/types/encounter_submission_origin_type.rb +5 -3
  93. data/lib/candidhealth/encounters/v_4/types/intake_follow_up.rb +63 -44
  94. data/lib/candidhealth/encounters/v_4/types/intake_question.rb +66 -46
  95. data/lib/candidhealth/encounters/v_4/types/intake_response_and_follow_ups.rb +59 -40
  96. data/lib/candidhealth/encounters/v_4/types/intervention.rb +92 -66
  97. data/lib/candidhealth/encounters/v_4/types/intervention_category.rb +7 -5
  98. data/lib/candidhealth/encounters/v_4/types/lab.rb +63 -43
  99. data/lib/candidhealth/encounters/v_4/types/lab_code_type.rb +5 -3
  100. data/lib/candidhealth/encounters/v_4/types/medication.rb +92 -68
  101. data/lib/candidhealth/encounters/v_4/types/note_category.rb +17 -15
  102. data/lib/candidhealth/encounters/v_4/types/patient_history_category.rb +57 -40
  103. data/lib/candidhealth/encounters/v_4/types/patient_history_category_enum.rb +7 -5
  104. data/lib/candidhealth/encounters/v_4/types/responsible_party_type.rb +6 -4
  105. data/lib/candidhealth/encounters/v_4/types/service_authorization_exception_code.rb +14 -10
  106. data/lib/candidhealth/encounters/v_4/types/synchronicity_type.rb +5 -3
  107. data/lib/candidhealth/encounters/v_4/types/vitals.rb +84 -62
  108. data/lib/candidhealth/era/types/era.rb +62 -46
  109. data/lib/candidhealth/era/types/era_base.rb +55 -40
  110. data/lib/candidhealth/era/types/era_not_fully_processed_error_message.rb +55 -40
  111. data/lib/candidhealth/era_commons/types/claim_status_code_create.rb +14 -12
  112. data/lib/candidhealth/expected_network_status/client.rb +16 -10
  113. data/lib/candidhealth/expected_network_status/v_1/client.rb +76 -29
  114. data/lib/candidhealth/expected_network_status/v_1/types/expected_network_status.rb +6 -4
  115. data/lib/candidhealth/expected_network_status/v_1/types/expected_network_status_response.rb +69 -49
  116. data/lib/candidhealth/expected_network_status/v_2/client.rb +108 -69
  117. data/lib/candidhealth/expected_network_status/v_2/types/compute_all_in_network_providers_request.rb +129 -96
  118. data/lib/candidhealth/expected_network_status/v_2/types/compute_all_in_network_providers_response.rb +62 -47
  119. data/lib/candidhealth/expected_network_status/v_2/types/compute_all_in_network_rendering_providers_result.rb +89 -82
  120. data/lib/candidhealth/expected_network_status/v_2/types/expected_network_status_check_error_message.rb +45 -33
  121. data/lib/candidhealth/expected_network_status/v_2/types/expected_network_status_request_v_2.rb +129 -96
  122. data/lib/candidhealth/expected_network_status/v_2/types/expected_network_status_response_v_2.rb +59 -44
  123. data/lib/candidhealth/expected_network_status/v_2/types/expected_network_status_subscriber_information.rb +68 -49
  124. data/lib/candidhealth/expected_network_status/v_2/types/expected_network_status_v_2.rb +88 -82
  125. data/lib/candidhealth/expected_network_status/v_2/types/explanation.rb +11 -9
  126. data/lib/candidhealth/expected_network_status/v_2/types/in_network_rendering_providers_detail.rb +66 -51
  127. data/lib/candidhealth/expected_network_status/v_2/types/in_network_status.rb +57 -41
  128. data/lib/candidhealth/expected_network_status/v_2/types/indeterminate_network_status.rb +76 -57
  129. data/lib/candidhealth/expected_network_status/v_2/types/insurance_type.rb +59 -43
  130. data/lib/candidhealth/expected_network_status/v_2/types/insurance_type_codes.rb +86 -80
  131. data/lib/candidhealth/expected_network_status/v_2/types/line_of_business.rb +6 -4
  132. data/lib/candidhealth/expected_network_status/v_2/types/out_of_network_status.rb +65 -50
  133. data/lib/candidhealth/expected_network_status/v_2/types/service_type.rb +44 -42
  134. data/lib/candidhealth/exports/client.rb +8 -6
  135. data/lib/candidhealth/exports/v_3/client.rb +88 -48
  136. data/lib/candidhealth/exports/v_3/types/get_exports_response.rb +79 -58
  137. data/lib/candidhealth/external_payment_account_config/client.rb +30 -0
  138. data/lib/candidhealth/external_payment_account_config/v_1/client.rb +89 -0
  139. data/lib/candidhealth/external_payment_account_config/v_1/types/external_payment_account_config.rb +70 -0
  140. data/lib/candidhealth/external_payment_account_config/v_1/types/external_payment_account_config_page.rb +88 -0
  141. data/lib/candidhealth/fee_schedules/client.rb +8 -6
  142. data/lib/candidhealth/fee_schedules/v_3/client.rb +429 -181
  143. data/lib/candidhealth/fee_schedules/v_3/types/dimension_match.rb +159 -130
  144. data/lib/candidhealth/fee_schedules/v_3/types/dimension_name.rb +7 -5
  145. data/lib/candidhealth/fee_schedules/v_3/types/dimensions.rb +146 -117
  146. data/lib/candidhealth/fee_schedules/v_3/types/dimensions_page.rb +70 -51
  147. data/lib/candidhealth/fee_schedules/v_3/types/match_cpt_code.rb +62 -44
  148. data/lib/candidhealth/fee_schedules/v_3/types/match_date.rb +65 -44
  149. data/lib/candidhealth/fee_schedules/v_3/types/match_facility_type_code.rb +64 -44
  150. data/lib/candidhealth/fee_schedules/v_3/types/match_geo.rb +76 -49
  151. data/lib/candidhealth/fee_schedules/v_3/types/match_license_type.rb +64 -44
  152. data/lib/candidhealth/fee_schedules/v_3/types/match_modifiers.rb +67 -48
  153. data/lib/candidhealth/fee_schedules/v_3/types/match_network_types.rb +67 -48
  154. data/lib/candidhealth/fee_schedules/v_3/types/match_payer.rb +62 -45
  155. data/lib/candidhealth/fee_schedules/v_3/types/match_provider.rb +64 -45
  156. data/lib/candidhealth/fee_schedules/v_3/types/match_result.rb +59 -43
  157. data/lib/candidhealth/fee_schedules/v_3/types/match_test_result.rb +63 -46
  158. data/lib/candidhealth/fee_schedules/v_3/types/new_rate.rb +61 -44
  159. data/lib/candidhealth/fee_schedules/v_3/types/new_rate_version.rb +70 -46
  160. data/lib/candidhealth/fee_schedules/v_3/types/optional_dimensions.rb +148 -117
  161. data/lib/candidhealth/fee_schedules/v_3/types/overlapping_rate_entries_error.rb +71 -52
  162. data/lib/candidhealth/fee_schedules/v_3/types/payer_threshold.rb +77 -50
  163. data/lib/candidhealth/fee_schedules/v_3/types/payer_thresholds_page.rb +70 -51
  164. data/lib/candidhealth/fee_schedules/v_3/types/rate.rb +100 -75
  165. data/lib/candidhealth/fee_schedules/v_3/types/rate_entry.rb +79 -55
  166. data/lib/candidhealth/fee_schedules/v_3/types/rate_upload.rb +77 -71
  167. data/lib/candidhealth/fee_schedules/v_3/types/rate_upload_with_possible_errors.rb +79 -55
  168. data/lib/candidhealth/fee_schedules/v_3/types/rates_page.rb +70 -47
  169. data/lib/candidhealth/fee_schedules/v_3/types/threshold_match.rb +79 -54
  170. data/lib/candidhealth/fee_schedules/v_3/types/validation_error.rb +108 -102
  171. data/lib/candidhealth/financials/types/account_type.rb +6 -4
  172. data/lib/candidhealth/financials/types/allocation.rb +60 -43
  173. data/lib/candidhealth/financials/types/allocation_create.rb +63 -45
  174. data/lib/candidhealth/financials/types/allocation_target.rb +102 -95
  175. data/lib/candidhealth/financials/types/allocation_target_create.rb +113 -110
  176. data/lib/candidhealth/financials/types/billing_provider_allocation_target.rb +45 -35
  177. data/lib/candidhealth/financials/types/claim_allocation_target.rb +55 -41
  178. data/lib/candidhealth/financials/types/invoice_update.rb +77 -72
  179. data/lib/candidhealth/financials/types/note_update.rb +77 -71
  180. data/lib/candidhealth/financials/types/patient_transaction_source.rb +11 -9
  181. data/lib/candidhealth/financials/types/refund_reason.rb +5 -3
  182. data/lib/candidhealth/financials/types/refund_reason_update.rb +77 -71
  183. data/lib/candidhealth/financials/types/service_line_allocation_target.rb +62 -48
  184. data/lib/candidhealth/guarantor/client.rb +8 -6
  185. data/lib/candidhealth/guarantor/v_1/client.rb +136 -63
  186. data/lib/candidhealth/guarantor/v_1/types/encounter_has_existing_guarantor_error_type.rb +45 -33
  187. data/lib/candidhealth/guarantor/v_1/types/guarantor.rb +131 -100
  188. data/lib/candidhealth/guarantor/v_1/types/guarantor_base.rb +89 -65
  189. data/lib/candidhealth/guarantor/v_1/types/guarantor_create.rb +123 -93
  190. data/lib/candidhealth/identifiers/types/identifier.rb +85 -64
  191. data/lib/candidhealth/identifiers/types/identifier_base.rb +77 -53
  192. data/lib/candidhealth/identifiers/types/identifier_code.rb +6 -4
  193. data/lib/candidhealth/identifiers/types/identifier_create.rb +77 -53
  194. data/lib/candidhealth/identifiers/types/identifier_update.rb +86 -65
  195. data/lib/candidhealth/identifiers/types/identifier_value.rb +78 -72
  196. data/lib/candidhealth/identifiers/types/medicaid_provider_identifier.rb +55 -39
  197. data/lib/candidhealth/identifiers/types/medicare_provider_identifier.rb +55 -39
  198. data/lib/candidhealth/identifiers/types/updatable_identifier.rb +89 -84
  199. data/lib/candidhealth/import_invoice/client.rb +8 -6
  200. data/lib/candidhealth/import_invoice/v_1/client.rb +239 -59
  201. data/lib/candidhealth/import_invoice/v_1/types/create_import_invoice_request.rb +123 -83
  202. data/lib/candidhealth/import_invoice/v_1/types/import_invoice.rb +145 -110
  203. data/lib/candidhealth/import_invoice/v_1/types/import_invoice_update_request.rb +89 -65
  204. data/lib/candidhealth/import_invoice/v_1/types/import_invoices_page.rb +88 -0
  205. data/lib/candidhealth/import_invoice/v_1/types/invoice_item_info_update.rb +61 -42
  206. data/lib/candidhealth/import_invoice/v_1/types/invoice_item_update_type.rb +5 -3
  207. data/lib/candidhealth/individual/types/gender.rb +9 -7
  208. data/lib/candidhealth/individual/types/individual_base.rb +62 -44
  209. data/lib/candidhealth/individual/types/patient.rb +145 -108
  210. data/lib/candidhealth/individual/types/patient_base.rb +101 -73
  211. data/lib/candidhealth/individual/types/patient_create.rb +137 -101
  212. data/lib/candidhealth/individual/types/subscriber.rb +119 -91
  213. data/lib/candidhealth/individual/types/subscriber_base.rb +99 -74
  214. data/lib/candidhealth/individual/types/subscriber_create.rb +111 -84
  215. data/lib/candidhealth/insurance_adjudications/client.rb +8 -6
  216. data/lib/candidhealth/insurance_adjudications/v_1/client.rb +106 -47
  217. data/lib/candidhealth/insurance_adjudications/v_1/types/claim_adjudication.rb +106 -81
  218. data/lib/candidhealth/insurance_adjudications/v_1/types/claim_adjudication_create.rb +98 -74
  219. data/lib/candidhealth/insurance_adjudications/v_1/types/insurance_adjudication.rb +104 -80
  220. data/lib/candidhealth/insurance_adjudications/v_1/types/insurance_adjudication_create.rb +113 -87
  221. data/lib/candidhealth/insurance_adjudications/v_1/types/service_line_adjudication.rb +121 -91
  222. data/lib/candidhealth/insurance_adjudications/v_1/types/service_line_adjudication_create.rb +113 -84
  223. data/lib/candidhealth/insurance_cards/v_2/types/insurance_card.rb +140 -105
  224. data/lib/candidhealth/insurance_cards/v_2/types/insurance_card_base.rb +76 -55
  225. data/lib/candidhealth/insurance_cards/v_2/types/insurance_card_create.rb +140 -104
  226. data/lib/candidhealth/insurance_payments/client.rb +8 -6
  227. data/lib/candidhealth/insurance_payments/v_1/client.rb +214 -102
  228. data/lib/candidhealth/insurance_payments/v_1/types/insurance_payment.rb +101 -77
  229. data/lib/candidhealth/insurance_payments/v_1/types/insurance_payment_create.rb +93 -70
  230. data/lib/candidhealth/insurance_payments/v_1/types/insurance_payment_sort_field.rb +6 -4
  231. data/lib/candidhealth/insurance_payments/v_1/types/insurance_payments_page.rb +70 -47
  232. data/lib/candidhealth/insurance_refunds/client.rb +8 -6
  233. data/lib/candidhealth/insurance_refunds/v_1/client.rb +218 -108
  234. data/lib/candidhealth/insurance_refunds/v_1/types/insurance_refund.rb +109 -83
  235. data/lib/candidhealth/insurance_refunds/v_1/types/insurance_refund_create.rb +101 -76
  236. data/lib/candidhealth/insurance_refunds/v_1/types/insurance_refund_sort_field.rb +7 -5
  237. data/lib/candidhealth/insurance_refunds/v_1/types/insurance_refunds_page.rb +70 -47
  238. data/lib/candidhealth/invoices/types/invoice.rb +152 -117
  239. data/lib/candidhealth/invoices/types/invoice_item.rb +55 -40
  240. data/lib/candidhealth/invoices/types/invoice_status.rb +10 -8
  241. data/lib/candidhealth/invoices/v_2/types/claim_invoice_item.rb +54 -39
  242. data/lib/candidhealth/invoices/v_2/types/claim_invoice_item_info.rb +66 -48
  243. data/lib/candidhealth/invoices/v_2/types/invoice.rb +151 -114
  244. data/lib/candidhealth/invoices/v_2/types/invoice_destination.rb +8 -5
  245. data/lib/candidhealth/invoices/v_2/types/invoice_destination_metadata.rb +78 -55
  246. data/lib/candidhealth/invoices/v_2/types/invoice_info.rb +66 -48
  247. data/lib/candidhealth/invoices/v_2/types/invoice_item_attribution_create.rb +88 -84
  248. data/lib/candidhealth/invoices/v_2/types/invoice_item_create.rb +59 -42
  249. data/lib/candidhealth/invoices/v_2/types/invoice_item_info.rb +59 -43
  250. data/lib/candidhealth/invoices/v_2/types/invoice_sort_field.rb +18 -0
  251. data/lib/candidhealth/invoices/v_2/types/invoice_status.rb +9 -7
  252. data/lib/candidhealth/invoices/v_2/types/service_line_invoice_item.rb +54 -39
  253. data/lib/candidhealth/invoices/v_2/types/unattributed_invoice_item.rb +44 -33
  254. data/lib/candidhealth/organization_providers/client.rb +8 -6
  255. data/lib/candidhealth/organization_providers/v_2/types/address_type.rb +4 -2
  256. data/lib/candidhealth/organization_providers/v_2/types/employment_status.rb +5 -3
  257. data/lib/candidhealth/organization_providers/v_2/types/license_type.rb +71 -69
  258. data/lib/candidhealth/organization_providers/v_2/types/organization_provider.rb +189 -138
  259. data/lib/candidhealth/organization_providers/v_2/types/organization_provider_address.rb +59 -42
  260. data/lib/candidhealth/organization_providers/v_2/types/organization_provider_base.rb +157 -112
  261. data/lib/candidhealth/organization_providers/v_2/types/organization_provider_sort_options.rb +7 -5
  262. data/lib/candidhealth/organization_providers/v_2/types/provider_type.rb +5 -3
  263. data/lib/candidhealth/organization_providers/v_3/client.rb +166 -80
  264. data/lib/candidhealth/organization_providers/v_3/types/organization_provider_create_v_2.rb +171 -124
  265. data/lib/candidhealth/organization_providers/v_3/types/organization_provider_page_v_2.rb +70 -47
  266. data/lib/candidhealth/organization_providers/v_3/types/organization_provider_update_v_2.rb +169 -121
  267. data/lib/candidhealth/organization_providers/v_3/types/organization_provider_v_2.rb +179 -131
  268. data/lib/candidhealth/organization_service_facilities/client.rb +8 -6
  269. data/lib/candidhealth/organization_service_facilities/v_2/client.rb +186 -90
  270. data/lib/candidhealth/organization_service_facilities/v_2/types/organization_service_facility.rb +149 -111
  271. data/lib/candidhealth/organization_service_facilities/v_2/types/organization_service_facility_create.rb +141 -104
  272. data/lib/candidhealth/organization_service_facilities/v_2/types/organization_service_facility_page.rb +70 -47
  273. data/lib/candidhealth/organization_service_facilities/v_2/types/organization_service_facility_update.rb +141 -104
  274. data/lib/candidhealth/organization_service_facilities/v_2/types/service_facility_mode.rb +5 -3
  275. data/lib/candidhealth/organization_service_facilities/v_2/types/service_facility_operational_status.rb +9 -7
  276. data/lib/candidhealth/organization_service_facilities/v_2/types/service_facility_physical_type.rb +17 -15
  277. data/lib/candidhealth/organization_service_facilities/v_2/types/service_facility_status.rb +6 -4
  278. data/lib/candidhealth/organization_service_facilities/v_2/types/service_facility_type.rb +126 -124
  279. data/lib/candidhealth/patient_payments/client.rb +8 -6
  280. data/lib/candidhealth/patient_payments/v_3/types/patient_payment.rb +143 -111
  281. data/lib/candidhealth/patient_payments/v_3/types/patient_payment_source.rb +12 -10
  282. data/lib/candidhealth/patient_payments/v_3/types/patient_payment_status.rb +14 -12
  283. data/lib/candidhealth/patient_payments/v_4/client.rb +230 -103
  284. data/lib/candidhealth/patient_payments/v_4/types/patient_payment.rb +129 -100
  285. data/lib/candidhealth/patient_payments/v_4/types/patient_payment_sort_field.rb +7 -5
  286. data/lib/candidhealth/patient_payments/v_4/types/patient_payments_page.rb +70 -47
  287. data/lib/candidhealth/patient_refunds/client.rb +8 -6
  288. data/lib/candidhealth/patient_refunds/v_1/client.rb +236 -107
  289. data/lib/candidhealth/patient_refunds/v_1/types/patient_refund.rb +137 -106
  290. data/lib/candidhealth/patient_refunds/v_1/types/patient_refund_sort_field.rb +8 -6
  291. data/lib/candidhealth/patient_refunds/v_1/types/patient_refunds_page.rb +70 -47
  292. data/lib/candidhealth/payers/client.rb +8 -6
  293. data/lib/candidhealth/payers/v_3/client.rb +73 -32
  294. data/lib/candidhealth/payers/v_3/types/payer.rb +61 -44
  295. data/lib/candidhealth/payers/v_3/types/payer_identifier.rb +77 -72
  296. data/lib/candidhealth/payers/v_3/types/payer_info.rb +54 -40
  297. data/lib/candidhealth/payers/v_3/types/payer_page.rb +70 -47
  298. data/lib/candidhealth/pre_encounter/client.rb +30 -0
  299. data/lib/candidhealth/pre_encounter/common/types/address.rb +123 -0
  300. data/lib/candidhealth/pre_encounter/common/types/address_use.rb +17 -0
  301. data/lib/candidhealth/pre_encounter/common/types/contact_point.rb +87 -0
  302. data/lib/candidhealth/pre_encounter/common/types/contact_point_use.rb +17 -0
  303. data/lib/candidhealth/pre_encounter/common/types/error_base.rb +60 -0
  304. data/lib/candidhealth/pre_encounter/common/types/gender.rb +16 -0
  305. data/lib/candidhealth/pre_encounter/common/types/human_name.rb +94 -0
  306. data/lib/candidhealth/pre_encounter/common/types/name_use.rb +19 -0
  307. data/lib/candidhealth/pre_encounter/common/types/not_found_error_body.rb +70 -0
  308. data/lib/candidhealth/pre_encounter/common/types/period.rb +74 -0
  309. data/lib/candidhealth/pre_encounter/common/types/relationship.rb +17 -0
  310. data/lib/candidhealth/pre_encounter/common/types/version_conflict_error_body.rb +77 -0
  311. data/lib/candidhealth/pre_encounter/coverages/client.rb +32 -0
  312. data/lib/candidhealth/pre_encounter/coverages/v_1/client.rb +34 -0
  313. data/lib/candidhealth/pre_encounter/coverages/v_1/coverages/client.rb +487 -0
  314. data/lib/candidhealth/pre_encounter/coverages/v_1/coverages/types/coverage.rb +185 -0
  315. data/lib/candidhealth/pre_encounter/coverages/v_1/coverages/types/coverage_status.rb +22 -0
  316. data/lib/candidhealth/pre_encounter/coverages/v_1/coverages/types/coverage_type.rb +18 -0
  317. data/lib/candidhealth/pre_encounter/coverages/v_1/coverages/types/insurance_plan.rb +136 -0
  318. data/lib/candidhealth/pre_encounter/coverages/v_1/coverages/types/mutable_coverage.rb +131 -0
  319. data/lib/candidhealth/pre_encounter/coverages/v_1/coverages/types/subscriber.rb +90 -0
  320. data/lib/candidhealth/pre_encounter/patients/client.rb +32 -0
  321. data/lib/candidhealth/pre_encounter/patients/v_1/client.rb +34 -0
  322. data/lib/candidhealth/pre_encounter/patients/v_1/patients/client.rb +590 -0
  323. data/lib/candidhealth/pre_encounter/patients/v_1/patients/types/contact.rb +135 -0
  324. data/lib/candidhealth/pre_encounter/patients/v_1/patients/types/external_provenance.rb +75 -0
  325. data/lib/candidhealth/pre_encounter/patients/v_1/patients/types/external_provider.rb +116 -0
  326. data/lib/candidhealth/pre_encounter/patients/v_1/patients/types/marital_status.rb +28 -0
  327. data/lib/candidhealth/pre_encounter/patients/v_1/patients/types/mutable_patient.rb +242 -0
  328. data/lib/candidhealth/pre_encounter/patients/v_1/patients/types/patient.rb +294 -0
  329. data/lib/candidhealth/remits/v_1/types/payee.rb +59 -42
  330. data/lib/candidhealth/remits/v_1/types/payee_identifier.rb +84 -80
  331. data/lib/candidhealth/service_facility/client.rb +58 -27
  332. data/lib/candidhealth/service_facility/types/encounter_service_facility.rb +87 -62
  333. data/lib/candidhealth/service_facility/types/encounter_service_facility_base.rb +87 -57
  334. data/lib/candidhealth/service_lines/v_2/types/denial_reason_content.rb +33 -31
  335. data/lib/candidhealth/service_lines/v_2/types/drug_identification.rb +92 -68
  336. data/lib/candidhealth/service_lines/v_2/types/measurement_unit_code.rb +8 -6
  337. data/lib/candidhealth/service_lines/v_2/types/service_id_qualifier.rb +10 -8
  338. data/lib/candidhealth/service_lines/v_2/types/service_line.rb +352 -222
  339. data/lib/candidhealth/service_lines/v_2/types/service_line_adjustment.rb +85 -62
  340. data/lib/candidhealth/service_lines/v_2/types/service_line_create.rb +235 -113
  341. data/lib/candidhealth/service_lines/v_2/types/service_line_denial_reason.rb +49 -35
  342. data/lib/candidhealth/service_lines/v_2/types/service_line_era_data.rb +60 -44
  343. data/lib/candidhealth/tags/types/tag.rb +69 -51
  344. data/lib/candidhealth/tags/types/tag_color_enum.rb +14 -12
  345. data/lib/candidhealth/tags/types/tag_create.rb +62 -45
  346. data/lib/candidhealth/tasks/client.rb +8 -6
  347. data/lib/candidhealth/tasks/commons/types/task_category.rb +45 -43
  348. data/lib/candidhealth/tasks/commons/types/task_status.rb +11 -9
  349. data/lib/candidhealth/tasks/commons/types/task_type.rb +16 -14
  350. data/lib/candidhealth/tasks/v_3/client.rb +208 -96
  351. data/lib/candidhealth/tasks/v_3/types/task.rb +193 -146
  352. data/lib/candidhealth/tasks/v_3/types/task_action.rb +66 -47
  353. data/lib/candidhealth/tasks/v_3/types/task_action_execution_method.rb +65 -59
  354. data/lib/candidhealth/tasks/v_3/types/task_action_type.rb +5 -3
  355. data/lib/candidhealth/tasks/v_3/types/task_actions.rb +47 -35
  356. data/lib/candidhealth/tasks/v_3/types/task_assignment.rb +59 -40
  357. data/lib/candidhealth/tasks/v_3/types/task_create_v_3.rb +100 -77
  358. data/lib/candidhealth/tasks/v_3/types/task_note.rb +83 -62
  359. data/lib/candidhealth/tasks/v_3/types/task_page.rb +70 -47
  360. data/lib/candidhealth/tasks/v_3/types/task_sort_options.rb +25 -23
  361. data/lib/candidhealth/tasks/v_3/types/task_update_v_3.rb +68 -49
  362. data/lib/candidhealth/tasks/v_3/types/task_updated_to_deprecated_status_error_type.rb +47 -33
  363. data/lib/candidhealth/write_offs/client.rb +8 -6
  364. data/lib/candidhealth/write_offs/v_1/client.rb +168 -83
  365. data/lib/candidhealth/write_offs/v_1/types/create_write_offs_response.rb +47 -35
  366. data/lib/candidhealth/write_offs/v_1/types/insurance_write_off.rb +127 -97
  367. data/lib/candidhealth/write_offs/v_1/types/insurance_write_off_create.rb +103 -78
  368. data/lib/candidhealth/write_offs/v_1/types/insurance_write_off_reason.rb +19 -17
  369. data/lib/candidhealth/write_offs/v_1/types/insurance_write_off_target.rb +84 -81
  370. data/lib/candidhealth/write_offs/v_1/types/patient_write_off.rb +111 -84
  371. data/lib/candidhealth/write_offs/v_1/types/patient_write_off_create.rb +87 -65
  372. data/lib/candidhealth/write_offs/v_1/types/patient_write_off_reason.rb +12 -10
  373. data/lib/candidhealth/write_offs/v_1/types/write_off.rb +77 -71
  374. data/lib/candidhealth/write_offs/v_1/types/write_off_create.rb +77 -71
  375. data/lib/candidhealth/write_offs/v_1/types/write_off_sort_field.rb +6 -4
  376. data/lib/candidhealth/write_offs/v_1/types/write_offs_page.rb +70 -47
  377. data/lib/candidhealth/x_12/v_1/types/carc.rb +406 -404
  378. data/lib/candidhealth/x_12/v_1/types/claim_adjustment_reason_code.rb +61 -44
  379. data/lib/candidhealth/x_12/v_1/types/rarc.rb +1063 -1061
  380. data/lib/candidhealth/x_12/v_1/types/remittance_advice_remark_code.rb +44 -33
  381. data/lib/candidhealth.rb +189 -87
  382. data/lib/core/oauth.rb +62 -0
  383. data/lib/environment.rb +8 -2
  384. data/lib/requests.rb +98 -48
  385. data/lib/types_export.rb +32 -53
  386. metadata +46 -57
  387. data/lib/candidhealth/billing_notes/v_2/types/billing_note_id.rb +0 -9
  388. data/lib/candidhealth/commons/types/claim_id.rb +0 -7
  389. data/lib/candidhealth/commons/types/date.rb +0 -7
  390. data/lib/candidhealth/commons/types/decimal.rb +0 -7
  391. data/lib/candidhealth/commons/types/email.rb +0 -7
  392. data/lib/candidhealth/commons/types/encounter_external_id.rb +0 -7
  393. data/lib/candidhealth/commons/types/encounter_id.rb +0 -7
  394. data/lib/candidhealth/commons/types/error_message.rb +0 -7
  395. data/lib/candidhealth/commons/types/invoice_id.rb +0 -7
  396. data/lib/candidhealth/commons/types/link_url.rb +0 -7
  397. data/lib/candidhealth/commons/types/npi.rb +0 -7
  398. data/lib/candidhealth/commons/types/organization_id.rb +0 -7
  399. data/lib/candidhealth/commons/types/page_token.rb +0 -7
  400. data/lib/candidhealth/commons/types/patient_external_id.rb +0 -7
  401. data/lib/candidhealth/commons/types/provider_id.rb +0 -7
  402. data/lib/candidhealth/commons/types/rate_id.rb +0 -7
  403. data/lib/candidhealth/commons/types/service_line_id.rb +0 -7
  404. data/lib/candidhealth/commons/types/task_assignment_id.rb +0 -7
  405. data/lib/candidhealth/commons/types/task_id.rb +0 -7
  406. data/lib/candidhealth/commons/types/task_note_id.rb +0 -7
  407. data/lib/candidhealth/commons/types/tax_id.rb +0 -7
  408. data/lib/candidhealth/commons/types/user_id.rb +0 -7
  409. data/lib/candidhealth/commons/types/work_queue_id.rb +0 -7
  410. data/lib/candidhealth/contracts/v_2/types/contract_id.rb +0 -9
  411. data/lib/candidhealth/contracts/v_2/types/contracting_provider_id.rb +0 -9
  412. data/lib/candidhealth/contracts/v_2/types/rendering_providerid.rb +0 -9
  413. data/lib/candidhealth/diagnoses/types/diagnosis_id.rb +0 -7
  414. data/lib/candidhealth/encounter_providers/v_2/types/provider_id.rb +0 -9
  415. data/lib/candidhealth/encounters/v_4/types/intake_follow_up_id.rb +0 -9
  416. data/lib/candidhealth/encounters/v_4/types/intake_question_id.rb +0 -9
  417. data/lib/candidhealth/encounters/v_4/types/prior_authorization_number.rb +0 -9
  418. data/lib/candidhealth/encounters/v_4/types/rx_cui.rb +0 -9
  419. data/lib/candidhealth/era/types/era_id.rb +0 -7
  420. data/lib/candidhealth/expected_network_status/v_2/types/network_status_check_id.rb +0 -9
  421. data/lib/candidhealth/guarantor/v_1/types/guarantor_id.rb +0 -9
  422. data/lib/candidhealth/identifiers/types/identifier_id.rb +0 -7
  423. data/lib/candidhealth/individual/types/individual_id.rb +0 -7
  424. data/lib/candidhealth/insurance_adjudications/v_1/types/insurance_adjudication_id.rb +0 -9
  425. data/lib/candidhealth/insurance_adjudications/v_1/types/service_line_adjudication_id.rb +0 -9
  426. data/lib/candidhealth/insurance_cards/v_2/types/insurance_card_id.rb +0 -9
  427. data/lib/candidhealth/insurance_payments/v_1/types/insurance_payment_id.rb +0 -9
  428. data/lib/candidhealth/insurance_refunds/v_1/types/insurance_refund_id.rb +0 -9
  429. data/lib/candidhealth/organization_providers/v_2/types/organization_provider_id.rb +0 -9
  430. data/lib/candidhealth/organization_service_facilities/v_2/types/organization_service_facility_id.rb +0 -9
  431. data/lib/candidhealth/patient_payments/v_3/types/patient_payment_id.rb +0 -9
  432. data/lib/candidhealth/patient_payments/v_4/types/patient_payment_id.rb +0 -9
  433. data/lib/candidhealth/patient_refunds/v_1/types/patient_refund_id.rb +0 -9
  434. data/lib/candidhealth/payers/v_3/types/payer_id.rb +0 -9
  435. data/lib/candidhealth/payers/v_3/types/payer_name.rb +0 -9
  436. data/lib/candidhealth/payers/v_3/types/payer_uuid.rb +0 -9
  437. data/lib/candidhealth/service_facility/types/service_facility_id.rb +0 -7
  438. data/lib/candidhealth/tags/types/tag_id.rb +0 -7
  439. data/lib/candidhealth/write_offs/v_1/types/write_off_id.rb +0 -9
@@ -1,65 +1,83 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_relative "claim_invoice_item"
4
+ require "ostruct"
4
5
  require "json"
5
6
 
6
7
  module CandidApiClient
7
8
  module Invoices
8
9
  module V2
9
- class ClaimInvoiceItemInfo
10
- attr_reader :claim_invoice_item, :service_line_invoice_items, :additional_properties
10
+ module Types
11
+ class ClaimInvoiceItemInfo
12
+ # @return [CandidApiClient::Invoices::V2::Types::ClaimInvoiceItem]
13
+ attr_reader :claim_invoice_item
14
+ # @return [Hash{String => CandidApiClient::Invoices::V2::Types::ServiceLineInvoiceItem}]
15
+ attr_reader :service_line_invoice_items
16
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
17
+ attr_reader :additional_properties
18
+ # @return [Object]
19
+ attr_reader :_field_set
20
+ protected :_field_set
11
21
 
12
- # @param claim_invoice_item [Invoices::V2::ClaimInvoiceItem]
13
- # @param service_line_invoice_items [Hash{Commons::SERVICE_LINE_ID => Invoices::V2::ServiceLineInvoiceItem}]
14
- # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
15
- # @return [Invoices::V2::ClaimInvoiceItemInfo]
16
- def initialize(service_line_invoice_items:, claim_invoice_item: nil, additional_properties: nil)
17
- # @type [Invoices::V2::ClaimInvoiceItem]
18
- @claim_invoice_item = claim_invoice_item
19
- # @type [Hash{Commons::SERVICE_LINE_ID => Invoices::V2::ServiceLineInvoiceItem}]
20
- @service_line_invoice_items = service_line_invoice_items
21
- # @type [OpenStruct] Additional properties unmapped to the current class definition
22
- @additional_properties = additional_properties
23
- end
22
+ OMIT = Object.new
24
23
 
25
- # Deserialize a JSON object to an instance of ClaimInvoiceItemInfo
26
- #
27
- # @param json_object [JSON]
28
- # @return [Invoices::V2::ClaimInvoiceItemInfo]
29
- def self.from_json(json_object:)
30
- struct = JSON.parse(json_object, object_class: OpenStruct)
31
- parsed_json = JSON.parse(json_object)
32
- if parsed_json["claim_invoice_item"].nil?
33
- claim_invoice_item = nil
34
- else
35
- claim_invoice_item = parsed_json["claim_invoice_item"].to_json
36
- claim_invoice_item = Invoices::V2::ClaimInvoiceItem.from_json(json_object: claim_invoice_item)
24
+ # @param claim_invoice_item [CandidApiClient::Invoices::V2::Types::ClaimInvoiceItem]
25
+ # @param service_line_invoice_items [Hash{String => CandidApiClient::Invoices::V2::Types::ServiceLineInvoiceItem}]
26
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
27
+ # @return [CandidApiClient::Invoices::V2::Types::ClaimInvoiceItemInfo]
28
+ def initialize(service_line_invoice_items:, claim_invoice_item: OMIT, additional_properties: nil)
29
+ @claim_invoice_item = claim_invoice_item if claim_invoice_item != OMIT
30
+ @service_line_invoice_items = service_line_invoice_items
31
+ @additional_properties = additional_properties
32
+ @_field_set = {
33
+ "claim_invoice_item": claim_invoice_item,
34
+ "service_line_invoice_items": service_line_invoice_items
35
+ }.reject do |_k, v|
36
+ v == OMIT
37
+ end
37
38
  end
38
- service_line_invoice_items = parsed_json["service_line_invoice_items"]&.transform_values do |_k, v|
39
- v = v.to_json
40
- Invoices::V2::ServiceLineInvoiceItem.from_json(json_object: v)
39
+
40
+ # Deserialize a JSON object to an instance of ClaimInvoiceItemInfo
41
+ #
42
+ # @param json_object [String]
43
+ # @return [CandidApiClient::Invoices::V2::Types::ClaimInvoiceItemInfo]
44
+ def self.from_json(json_object:)
45
+ struct = JSON.parse(json_object, object_class: OpenStruct)
46
+ parsed_json = JSON.parse(json_object)
47
+ if parsed_json["claim_invoice_item"].nil?
48
+ claim_invoice_item = nil
49
+ else
50
+ claim_invoice_item = parsed_json["claim_invoice_item"].to_json
51
+ claim_invoice_item = CandidApiClient::Invoices::V2::Types::ClaimInvoiceItem.from_json(json_object: claim_invoice_item)
52
+ end
53
+ service_line_invoice_items = parsed_json["service_line_invoice_items"]&.transform_values do |value|
54
+ value = value.to_json
55
+ CandidApiClient::Invoices::V2::Types::ServiceLineInvoiceItem.from_json(json_object: value)
56
+ end
57
+ new(
58
+ claim_invoice_item: claim_invoice_item,
59
+ service_line_invoice_items: service_line_invoice_items,
60
+ additional_properties: struct
61
+ )
41
62
  end
42
- new(claim_invoice_item: claim_invoice_item, service_line_invoice_items: service_line_invoice_items,
43
- additional_properties: struct)
44
- end
45
63
 
46
- # Serialize an instance of ClaimInvoiceItemInfo to a JSON object
47
- #
48
- # @return [JSON]
49
- def to_json(*_args)
50
- {
51
- "claim_invoice_item": @claim_invoice_item,
52
- "service_line_invoice_items": @service_line_invoice_items
53
- }.to_json
54
- end
64
+ # Serialize an instance of ClaimInvoiceItemInfo to a JSON object
65
+ #
66
+ # @return [String]
67
+ def to_json(*_args)
68
+ @_field_set&.to_json
69
+ end
55
70
 
56
- # Leveraged for Union-type generation, validate_raw attempts to parse the given hash and check each fields type against the current object's property definitions.
57
- #
58
- # @param obj [Object]
59
- # @return [Void]
60
- def self.validate_raw(obj:)
61
- obj.claim_invoice_item.nil? || Invoices::V2::ClaimInvoiceItem.validate_raw(obj: obj.claim_invoice_item)
62
- obj.service_line_invoice_items.is_a?(Hash) != false || raise("Passed value for field obj.service_line_invoice_items is not the expected type, validation failed.")
71
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
72
+ # hash and check each fields type against the current object's property
73
+ # definitions.
74
+ #
75
+ # @param obj [Object]
76
+ # @return [Void]
77
+ def self.validate_raw(obj:)
78
+ obj.claim_invoice_item.nil? || CandidApiClient::Invoices::V2::Types::ClaimInvoiceItem.validate_raw(obj: obj.claim_invoice_item)
79
+ obj.service_line_invoice_items.is_a?(Hash) != false || raise("Passed value for field obj.service_line_invoice_items is not the expected type, validation failed.")
80
+ end
63
81
  end
64
82
  end
65
83
  end
@@ -1,134 +1,171 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require "date"
4
- require_relative "../../../commons/types/organization_id"
5
4
  require_relative "invoice_destination_metadata"
6
- require_relative "../../../commons/types/patient_external_id"
7
5
  require_relative "invoice_status"
8
6
  require_relative "invoice_item_info"
7
+ require "ostruct"
9
8
  require "json"
10
9
 
11
10
  module CandidApiClient
12
11
  module Invoices
13
12
  module V2
14
- class Invoice
15
- attr_reader :amount_cents, :created_at, :updated_at, :organization_id, :invoice_destination_metadata,
16
- :patient_external_id, :note, :due_date, :status, :url, :customer_invoice_url, :items, :additional_properties
13
+ module Types
14
+ class Invoice
15
+ # @return [Integer] Total monetary amount (in cents) of all Invoice Items
16
+ attr_reader :amount_cents
17
+ # @return [DateTime]
18
+ attr_reader :created_at
19
+ # @return [DateTime]
20
+ attr_reader :updated_at
21
+ # @return [String]
22
+ attr_reader :organization_id
23
+ # @return [CandidApiClient::Invoices::V2::Types::InvoiceDestinationMetadata] Contains all relevant information from the third-party service this invoice was
24
+ # created in
25
+ attr_reader :invoice_destination_metadata
26
+ # @return [String]
27
+ attr_reader :patient_external_id
28
+ # @return [String]
29
+ attr_reader :note
30
+ # @return [Date]
31
+ attr_reader :due_date
32
+ # @return [CandidApiClient::Invoices::V2::Types::InvoiceStatus]
33
+ attr_reader :status
34
+ # @return [String] Link to the admin view of the invoice in the third-party service
35
+ attr_reader :url
36
+ # @return [String] Link to the patient view of the invoice in the third-party service
37
+ attr_reader :customer_invoice_url
38
+ # @return [CandidApiClient::Invoices::V2::Types::InvoiceItemInfo] The InvoiceItem rollup which contains all claim and service line invoice items
39
+ attr_reader :items
40
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
41
+ attr_reader :additional_properties
42
+ # @return [Object]
43
+ attr_reader :_field_set
44
+ protected :_field_set
17
45
 
18
- # @param amount_cents [Integer] Total monetary amount (in cents) of all Invoice Items
19
- # @param created_at [DateTime]
20
- # @param updated_at [DateTime]
21
- # @param organization_id [Commons::ORGANIZATION_ID]
22
- # @param invoice_destination_metadata [Invoices::V2::InvoiceDestinationMetadata] Contains all relevant information from the third-party service this invoice was created in
23
- # @param patient_external_id [Commons::PATIENT_EXTERNAL_ID]
24
- # @param note [String]
25
- # @param due_date [Date]
26
- # @param status [Invoices::V2::InvoiceStatus]
27
- # @param url [String] Link to the admin view of the invoice in the third-party service
28
- # @param customer_invoice_url [String] Link to the patient view of the invoice in the third-party service
29
- # @param items [Invoices::V2::InvoiceItemInfo] The InvoiceItem rollup which contains all claim and service line invoice items
30
- # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
31
- # @return [Invoices::V2::Invoice]
32
- def initialize(amount_cents:, created_at:, updated_at:, organization_id:, invoice_destination_metadata:,
33
- patient_external_id:, due_date:, status:, items:, note: nil, url: nil, customer_invoice_url: nil, additional_properties: nil)
34
- # @type [Integer] Total monetary amount (in cents) of all Invoice Items
35
- @amount_cents = amount_cents
36
- # @type [DateTime]
37
- @created_at = created_at
38
- # @type [DateTime]
39
- @updated_at = updated_at
40
- # @type [Commons::ORGANIZATION_ID]
41
- @organization_id = organization_id
42
- # @type [Invoices::V2::InvoiceDestinationMetadata] Contains all relevant information from the third-party service this invoice was created in
43
- @invoice_destination_metadata = invoice_destination_metadata
44
- # @type [Commons::PATIENT_EXTERNAL_ID]
45
- @patient_external_id = patient_external_id
46
- # @type [String]
47
- @note = note
48
- # @type [Date]
49
- @due_date = due_date
50
- # @type [Invoices::V2::InvoiceStatus]
51
- @status = status
52
- # @type [String] Link to the admin view of the invoice in the third-party service
53
- @url = url
54
- # @type [String] Link to the patient view of the invoice in the third-party service
55
- @customer_invoice_url = customer_invoice_url
56
- # @type [Invoices::V2::InvoiceItemInfo] The InvoiceItem rollup which contains all claim and service line invoice items
57
- @items = items
58
- # @type [OpenStruct] Additional properties unmapped to the current class definition
59
- @additional_properties = additional_properties
60
- end
46
+ OMIT = Object.new
61
47
 
62
- # Deserialize a JSON object to an instance of Invoice
63
- #
64
- # @param json_object [JSON]
65
- # @return [Invoices::V2::Invoice]
66
- def self.from_json(json_object:)
67
- struct = JSON.parse(json_object, object_class: OpenStruct)
68
- parsed_json = JSON.parse(json_object)
69
- amount_cents = struct.amount_cents
70
- created_at = (DateTime.parse(parsed_json["created_at"]) unless parsed_json["created_at"].nil?)
71
- updated_at = (DateTime.parse(parsed_json["updated_at"]) unless parsed_json["updated_at"].nil?)
72
- organization_id = struct.organization_id
73
- if parsed_json["invoice_destination_metadata"].nil?
74
- invoice_destination_metadata = nil
75
- else
76
- invoice_destination_metadata = parsed_json["invoice_destination_metadata"].to_json
77
- invoice_destination_metadata = Invoices::V2::InvoiceDestinationMetadata.from_json(json_object: invoice_destination_metadata)
48
+ # @param amount_cents [Integer] Total monetary amount (in cents) of all Invoice Items
49
+ # @param created_at [DateTime]
50
+ # @param updated_at [DateTime]
51
+ # @param organization_id [String]
52
+ # @param invoice_destination_metadata [CandidApiClient::Invoices::V2::Types::InvoiceDestinationMetadata] Contains all relevant information from the third-party service this invoice was
53
+ # created in
54
+ # @param patient_external_id [String]
55
+ # @param note [String]
56
+ # @param due_date [Date]
57
+ # @param status [CandidApiClient::Invoices::V2::Types::InvoiceStatus]
58
+ # @param url [String] Link to the admin view of the invoice in the third-party service
59
+ # @param customer_invoice_url [String] Link to the patient view of the invoice in the third-party service
60
+ # @param items [CandidApiClient::Invoices::V2::Types::InvoiceItemInfo] The InvoiceItem rollup which contains all claim and service line invoice items
61
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
62
+ # @return [CandidApiClient::Invoices::V2::Types::Invoice]
63
+ def initialize(amount_cents:, created_at:, updated_at:, organization_id:, invoice_destination_metadata:,
64
+ patient_external_id:, due_date:, status:, items:, note: OMIT, url: OMIT, customer_invoice_url: OMIT, additional_properties: nil)
65
+ @amount_cents = amount_cents
66
+ @created_at = created_at
67
+ @updated_at = updated_at
68
+ @organization_id = organization_id
69
+ @invoice_destination_metadata = invoice_destination_metadata
70
+ @patient_external_id = patient_external_id
71
+ @note = note if note != OMIT
72
+ @due_date = due_date
73
+ @status = status
74
+ @url = url if url != OMIT
75
+ @customer_invoice_url = customer_invoice_url if customer_invoice_url != OMIT
76
+ @items = items
77
+ @additional_properties = additional_properties
78
+ @_field_set = {
79
+ "amount_cents": amount_cents,
80
+ "created_at": created_at,
81
+ "updated_at": updated_at,
82
+ "organization_id": organization_id,
83
+ "invoice_destination_metadata": invoice_destination_metadata,
84
+ "patient_external_id": patient_external_id,
85
+ "note": note,
86
+ "due_date": due_date,
87
+ "status": status,
88
+ "url": url,
89
+ "customer_invoice_url": customer_invoice_url,
90
+ "items": items
91
+ }.reject do |_k, v|
92
+ v == OMIT
93
+ end
78
94
  end
79
- patient_external_id = struct.patient_external_id
80
- note = struct.note
81
- due_date = (Date.parse(parsed_json["due_date"]) unless parsed_json["due_date"].nil?)
82
- status = struct.status
83
- url = struct.url
84
- customer_invoice_url = struct.customer_invoice_url
85
- if parsed_json["items"].nil?
86
- items = nil
87
- else
88
- items = parsed_json["items"].to_json
89
- items = Invoices::V2::InvoiceItemInfo.from_json(json_object: items)
95
+
96
+ # Deserialize a JSON object to an instance of Invoice
97
+ #
98
+ # @param json_object [String]
99
+ # @return [CandidApiClient::Invoices::V2::Types::Invoice]
100
+ def self.from_json(json_object:)
101
+ struct = JSON.parse(json_object, object_class: OpenStruct)
102
+ parsed_json = JSON.parse(json_object)
103
+ amount_cents = struct["amount_cents"]
104
+ created_at = (DateTime.parse(parsed_json["created_at"]) unless parsed_json["created_at"].nil?)
105
+ updated_at = (DateTime.parse(parsed_json["updated_at"]) unless parsed_json["updated_at"].nil?)
106
+ organization_id = struct["organization_id"]
107
+ if parsed_json["invoice_destination_metadata"].nil?
108
+ invoice_destination_metadata = nil
109
+ else
110
+ invoice_destination_metadata = parsed_json["invoice_destination_metadata"].to_json
111
+ invoice_destination_metadata = CandidApiClient::Invoices::V2::Types::InvoiceDestinationMetadata.from_json(json_object: invoice_destination_metadata)
112
+ end
113
+ patient_external_id = struct["patient_external_id"]
114
+ note = struct["note"]
115
+ due_date = (Date.parse(parsed_json["due_date"]) unless parsed_json["due_date"].nil?)
116
+ status = struct["status"]
117
+ url = struct["url"]
118
+ customer_invoice_url = struct["customer_invoice_url"]
119
+ if parsed_json["items"].nil?
120
+ items = nil
121
+ else
122
+ items = parsed_json["items"].to_json
123
+ items = CandidApiClient::Invoices::V2::Types::InvoiceItemInfo.from_json(json_object: items)
124
+ end
125
+ new(
126
+ amount_cents: amount_cents,
127
+ created_at: created_at,
128
+ updated_at: updated_at,
129
+ organization_id: organization_id,
130
+ invoice_destination_metadata: invoice_destination_metadata,
131
+ patient_external_id: patient_external_id,
132
+ note: note,
133
+ due_date: due_date,
134
+ status: status,
135
+ url: url,
136
+ customer_invoice_url: customer_invoice_url,
137
+ items: items,
138
+ additional_properties: struct
139
+ )
90
140
  end
91
- new(amount_cents: amount_cents, created_at: created_at, updated_at: updated_at,
92
- organization_id: organization_id, invoice_destination_metadata: invoice_destination_metadata, patient_external_id: patient_external_id, note: note, due_date: due_date, status: status, url: url, customer_invoice_url: customer_invoice_url, items: items, additional_properties: struct)
93
- end
94
141
 
95
- # Serialize an instance of Invoice to a JSON object
96
- #
97
- # @return [JSON]
98
- def to_json(*_args)
99
- {
100
- "amount_cents": @amount_cents,
101
- "created_at": @created_at,
102
- "updated_at": @updated_at,
103
- "organization_id": @organization_id,
104
- "invoice_destination_metadata": @invoice_destination_metadata,
105
- "patient_external_id": @patient_external_id,
106
- "note": @note,
107
- "due_date": @due_date,
108
- "status": @status,
109
- "url": @url,
110
- "customer_invoice_url": @customer_invoice_url,
111
- "items": @items
112
- }.to_json
113
- end
142
+ # Serialize an instance of Invoice to a JSON object
143
+ #
144
+ # @return [String]
145
+ def to_json(*_args)
146
+ @_field_set&.to_json
147
+ end
114
148
 
115
- # Leveraged for Union-type generation, validate_raw attempts to parse the given hash and check each fields type against the current object's property definitions.
116
- #
117
- # @param obj [Object]
118
- # @return [Void]
119
- def self.validate_raw(obj:)
120
- obj.amount_cents.is_a?(Integer) != false || raise("Passed value for field obj.amount_cents is not the expected type, validation failed.")
121
- obj.created_at.is_a?(DateTime) != false || raise("Passed value for field obj.created_at is not the expected type, validation failed.")
122
- obj.updated_at.is_a?(DateTime) != false || raise("Passed value for field obj.updated_at is not the expected type, validation failed.")
123
- obj.organization_id.is_a?(UUID) != false || raise("Passed value for field obj.organization_id is not the expected type, validation failed.")
124
- Invoices::V2::InvoiceDestinationMetadata.validate_raw(obj: obj.invoice_destination_metadata)
125
- obj.patient_external_id.is_a?(String) != false || raise("Passed value for field obj.patient_external_id is not the expected type, validation failed.")
126
- obj.note&.is_a?(String) != false || raise("Passed value for field obj.note is not the expected type, validation failed.")
127
- obj.due_date.is_a?(Date) != false || raise("Passed value for field obj.due_date is not the expected type, validation failed.")
128
- obj.status.is_a?(Invoices::V2::InvoiceStatus) != false || raise("Passed value for field obj.status is not the expected type, validation failed.")
129
- obj.url&.is_a?(String) != false || raise("Passed value for field obj.url is not the expected type, validation failed.")
130
- obj.customer_invoice_url&.is_a?(String) != false || raise("Passed value for field obj.customer_invoice_url is not the expected type, validation failed.")
131
- Invoices::V2::InvoiceItemInfo.validate_raw(obj: obj.items)
149
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
150
+ # hash and check each fields type against the current object's property
151
+ # definitions.
152
+ #
153
+ # @param obj [Object]
154
+ # @return [Void]
155
+ def self.validate_raw(obj:)
156
+ obj.amount_cents.is_a?(Integer) != false || raise("Passed value for field obj.amount_cents is not the expected type, validation failed.")
157
+ obj.created_at.is_a?(DateTime) != false || raise("Passed value for field obj.created_at is not the expected type, validation failed.")
158
+ obj.updated_at.is_a?(DateTime) != false || raise("Passed value for field obj.updated_at is not the expected type, validation failed.")
159
+ obj.organization_id.is_a?(String) != false || raise("Passed value for field obj.organization_id is not the expected type, validation failed.")
160
+ CandidApiClient::Invoices::V2::Types::InvoiceDestinationMetadata.validate_raw(obj: obj.invoice_destination_metadata)
161
+ obj.patient_external_id.is_a?(String) != false || raise("Passed value for field obj.patient_external_id is not the expected type, validation failed.")
162
+ obj.note&.is_a?(String) != false || raise("Passed value for field obj.note is not the expected type, validation failed.")
163
+ obj.due_date.is_a?(Date) != false || raise("Passed value for field obj.due_date is not the expected type, validation failed.")
164
+ obj.status.is_a?(CandidApiClient::Invoices::V2::Types::InvoiceStatus) != false || raise("Passed value for field obj.status is not the expected type, validation failed.")
165
+ obj.url&.is_a?(String) != false || raise("Passed value for field obj.url is not the expected type, validation failed.")
166
+ obj.customer_invoice_url&.is_a?(String) != false || raise("Passed value for field obj.customer_invoice_url is not the expected type, validation failed.")
167
+ CandidApiClient::Invoices::V2::Types::InvoiceItemInfo.validate_raw(obj: obj.items)
168
+ end
132
169
  end
133
170
  end
134
171
  end
@@ -3,11 +3,14 @@
3
3
  module CandidApiClient
4
4
  module Invoices
5
5
  module V2
6
- class InvoiceDestination
7
- STRIPE = "STRIPE"
8
- CEDAR = "CEDAR"
9
- HEALTHIE = "HEALTHIE"
10
- COLLECTLY = "COLLECTLY"
6
+ module Types
7
+ class InvoiceDestination
8
+ STRIPE = "STRIPE"
9
+ CEDAR = "CEDAR"
10
+ HEALTHIE = "HEALTHIE"
11
+ COLLECTLY = "COLLECTLY"
12
+ THIRD_PARTY_PAYERS = "THIRD_PARTY_PAYERS"
13
+ end
11
14
  end
12
15
  end
13
16
  end
@@ -1,70 +1,93 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_relative "invoice_destination"
4
+ require "ostruct"
4
5
  require "json"
5
6
 
6
7
  module CandidApiClient
7
8
  module Invoices
8
9
  module V2
9
- class InvoiceDestinationMetadata
10
- attr_reader :invoice_destination, :source_id, :source_customer_id, :destination_status, :additional_properties
10
+ module Types
11
+ class InvoiceDestinationMetadata
12
+ # @return [CandidApiClient::Invoices::V2::Types::InvoiceDestination] Defines which third-party service this invoice was created in
13
+ attr_reader :invoice_destination
14
+ # @return [String] The id of the invoice in the third-party service
15
+ attr_reader :source_id
16
+ # @return [String] The id of the customer that the invoice is attributed to in the third-party
17
+ # service
18
+ attr_reader :source_customer_id
19
+ # @return [String] The status of the invoice in the third-party service
20
+ attr_reader :destination_status
21
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
22
+ attr_reader :additional_properties
23
+ # @return [Object]
24
+ attr_reader :_field_set
25
+ protected :_field_set
11
26
 
12
- # @param invoice_destination [Invoices::V2::InvoiceDestination] Defines which third-party service this invoice was created in
13
- # @param source_id [String] The id of the invoice in the third-party service
14
- # @param source_customer_id [String] The id of the customer that the invoice is attributed to in the third-party service
15
- # @param destination_status [String] The status of the invoice in the third-party service
16
- # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
17
- # @return [Invoices::V2::InvoiceDestinationMetadata]
18
- def initialize(invoice_destination:, source_id:, source_customer_id:, destination_status: nil,
19
- additional_properties: nil)
20
- # @type [Invoices::V2::InvoiceDestination] Defines which third-party service this invoice was created in
21
- @invoice_destination = invoice_destination
22
- # @type [String] The id of the invoice in the third-party service
23
- @source_id = source_id
24
- # @type [String] The id of the customer that the invoice is attributed to in the third-party service
25
- @source_customer_id = source_customer_id
26
- # @type [String] The status of the invoice in the third-party service
27
- @destination_status = destination_status
28
- # @type [OpenStruct] Additional properties unmapped to the current class definition
29
- @additional_properties = additional_properties
30
- end
27
+ OMIT = Object.new
31
28
 
32
- # Deserialize a JSON object to an instance of InvoiceDestinationMetadata
33
- #
34
- # @param json_object [JSON]
35
- # @return [Invoices::V2::InvoiceDestinationMetadata]
36
- def self.from_json(json_object:)
37
- struct = JSON.parse(json_object, object_class: OpenStruct)
38
- JSON.parse(json_object)
39
- invoice_destination = struct.invoice_destination
40
- source_id = struct.source_id
41
- source_customer_id = struct.source_customer_id
42
- destination_status = struct.destination_status
43
- new(invoice_destination: invoice_destination, source_id: source_id, source_customer_id: source_customer_id,
44
- destination_status: destination_status, additional_properties: struct)
45
- end
29
+ # @param invoice_destination [CandidApiClient::Invoices::V2::Types::InvoiceDestination] Defines which third-party service this invoice was created in
30
+ # @param source_id [String] The id of the invoice in the third-party service
31
+ # @param source_customer_id [String] The id of the customer that the invoice is attributed to in the third-party
32
+ # service
33
+ # @param destination_status [String] The status of the invoice in the third-party service
34
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
35
+ # @return [CandidApiClient::Invoices::V2::Types::InvoiceDestinationMetadata]
36
+ def initialize(invoice_destination:, source_id:, source_customer_id:, destination_status: OMIT,
37
+ additional_properties: nil)
38
+ @invoice_destination = invoice_destination
39
+ @source_id = source_id
40
+ @source_customer_id = source_customer_id
41
+ @destination_status = destination_status if destination_status != OMIT
42
+ @additional_properties = additional_properties
43
+ @_field_set = {
44
+ "invoice_destination": invoice_destination,
45
+ "source_id": source_id,
46
+ "source_customer_id": source_customer_id,
47
+ "destination_status": destination_status
48
+ }.reject do |_k, v|
49
+ v == OMIT
50
+ end
51
+ end
46
52
 
47
- # Serialize an instance of InvoiceDestinationMetadata to a JSON object
48
- #
49
- # @return [JSON]
50
- def to_json(*_args)
51
- {
52
- "invoice_destination": @invoice_destination,
53
- "source_id": @source_id,
54
- "source_customer_id": @source_customer_id,
55
- "destination_status": @destination_status
56
- }.to_json
57
- end
53
+ # Deserialize a JSON object to an instance of InvoiceDestinationMetadata
54
+ #
55
+ # @param json_object [String]
56
+ # @return [CandidApiClient::Invoices::V2::Types::InvoiceDestinationMetadata]
57
+ def self.from_json(json_object:)
58
+ struct = JSON.parse(json_object, object_class: OpenStruct)
59
+ invoice_destination = struct["invoice_destination"]
60
+ source_id = struct["source_id"]
61
+ source_customer_id = struct["source_customer_id"]
62
+ destination_status = struct["destination_status"]
63
+ new(
64
+ invoice_destination: invoice_destination,
65
+ source_id: source_id,
66
+ source_customer_id: source_customer_id,
67
+ destination_status: destination_status,
68
+ additional_properties: struct
69
+ )
70
+ end
71
+
72
+ # Serialize an instance of InvoiceDestinationMetadata to a JSON object
73
+ #
74
+ # @return [String]
75
+ def to_json(*_args)
76
+ @_field_set&.to_json
77
+ end
58
78
 
59
- # Leveraged for Union-type generation, validate_raw attempts to parse the given hash and check each fields type against the current object's property definitions.
60
- #
61
- # @param obj [Object]
62
- # @return [Void]
63
- def self.validate_raw(obj:)
64
- obj.invoice_destination.is_a?(Invoices::V2::InvoiceDestination) != false || raise("Passed value for field obj.invoice_destination is not the expected type, validation failed.")
65
- obj.source_id.is_a?(String) != false || raise("Passed value for field obj.source_id is not the expected type, validation failed.")
66
- obj.source_customer_id.is_a?(String) != false || raise("Passed value for field obj.source_customer_id is not the expected type, validation failed.")
67
- obj.destination_status&.is_a?(String) != false || raise("Passed value for field obj.destination_status is not the expected type, validation failed.")
79
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
80
+ # hash and check each fields type against the current object's property
81
+ # definitions.
82
+ #
83
+ # @param obj [Object]
84
+ # @return [Void]
85
+ def self.validate_raw(obj:)
86
+ obj.invoice_destination.is_a?(CandidApiClient::Invoices::V2::Types::InvoiceDestination) != false || raise("Passed value for field obj.invoice_destination is not the expected type, validation failed.")
87
+ obj.source_id.is_a?(String) != false || raise("Passed value for field obj.source_id is not the expected type, validation failed.")
88
+ obj.source_customer_id.is_a?(String) != false || raise("Passed value for field obj.source_customer_id is not the expected type, validation failed.")
89
+ obj.destination_status&.is_a?(String) != false || raise("Passed value for field obj.destination_status is not the expected type, validation failed.")
90
+ end
68
91
  end
69
92
  end
70
93
  end