candidhealth 0.21.0 → 0.24.0.pre.2a6d412

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