candidhealth 0.39.10 → 0.40.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. checksums.yaml +4 -4
  2. data/lib/candidhealth/charge_capture/v_1/client.rb +4 -0
  3. data/lib/candidhealth/charge_capture/v_1/types/charge_capture_data.rb +16 -2
  4. data/lib/candidhealth/clinical_trials/v_1/types/clinical_trial.rb +109 -0
  5. data/lib/candidhealth/clinical_trials/v_1/types/clinical_trial_phase.rb +15 -0
  6. data/lib/candidhealth/clinical_trials/v_1/types/mutable_clinical_trial.rb +84 -0
  7. data/lib/candidhealth/commons/types/procedure_modifier.rb +4 -0
  8. data/lib/candidhealth/encounters/v_4/client.rb +37 -10
  9. data/lib/candidhealth/encounters/v_4/types/claim_supplemental_information.rb +86 -0
  10. data/lib/candidhealth/encounters/v_4/types/encounter.rb +23 -1
  11. data/lib/candidhealth/encounters/v_4/types/encounter_optional.rb +16 -2
  12. data/lib/candidhealth/encounters/v_4/types/report_transmission_code.rb +14 -0
  13. data/lib/candidhealth/encounters/v_4/types/report_type_code.rb +73 -0
  14. data/lib/candidhealth/exports/v_3/client.rb +8 -0
  15. data/lib/candidhealth/individual/types/patient_clinical_trial_info.rb +80 -0
  16. data/lib/candidhealth/individual/types/patient_clinical_trial_info_create.rb +73 -0
  17. data/lib/candidhealth/individual/types/patient_non_insurance_payer_info.rb +17 -2
  18. data/lib/candidhealth/individual/types/patient_non_insurance_payer_info_create.rb +18 -2
  19. data/lib/candidhealth/non_insurance_payers/v_1/client.rb +4 -2
  20. data/lib/candidhealth/non_insurance_payers/v_1/types/create_non_insurance_payer_request.rb +15 -2
  21. data/lib/candidhealth/non_insurance_payers/v_1/types/non_insurance_payer.rb +15 -3
  22. data/lib/candidhealth/organization_providers/v_2/types/license_type.rb +3 -0
  23. data/lib/candidhealth/pre_encounter/appointments/v_1/client.rb +8 -4
  24. data/lib/candidhealth/pre_encounter/common/types/canonical_clinical_trial_association.rb +86 -0
  25. data/lib/candidhealth/pre_encounter/common/types/canonical_non_insurance_payer_association.rb +18 -2
  26. data/lib/candidhealth/pre_encounter/common/types/human_name.rb +15 -2
  27. data/lib/candidhealth/pre_encounter/coverages/v_1/client.rb +8 -4
  28. data/lib/candidhealth/pre_encounter/images/client.rb +32 -0
  29. data/lib/candidhealth/pre_encounter/images/v_1/client.rb +359 -0
  30. data/lib/candidhealth/pre_encounter/images/v_1/types/coverage_association.rb +74 -0
  31. data/lib/candidhealth/pre_encounter/images/v_1/types/coverage_image_side.rb +16 -0
  32. data/lib/candidhealth/pre_encounter/images/v_1/types/image.rb +188 -0
  33. data/lib/candidhealth/pre_encounter/images/v_1/types/image_status.rb +17 -0
  34. data/lib/candidhealth/pre_encounter/images/v_1/types/mutable_image.rb +125 -0
  35. data/lib/candidhealth/pre_encounter/images/v_1/types/patient_association.rb +75 -0
  36. data/lib/candidhealth/pre_encounter/patients/v_1/client.rb +89 -6
  37. data/lib/candidhealth/pre_encounter/patients/v_1/types/authorization.rb +11 -1
  38. data/lib/candidhealth/service_lines/v_2/types/service_line.rb +6 -4
  39. data/lib/candidhealth/service_lines/v_2/types/service_line_create.rb +6 -4
  40. data/lib/candidhealth/service_lines/v_2/types/service_line_create_standalone.rb +6 -4
  41. data/lib/candidhealth/service_lines/v_2/types/service_line_update.rb +10 -8
  42. data/lib/candidhealth/service_lines/v_2/types/test_result_type.rb +1 -0
  43. data/lib/candidhealth/write_offs/v_1/client.rb +98 -0
  44. data/lib/candidhealth/write_offs/v_1/types/non_insurance_payer_write_off.rb +143 -0
  45. data/lib/candidhealth/write_offs/v_1/types/non_insurance_payer_write_off_create.rb +113 -0
  46. data/lib/candidhealth/write_offs/v_1/types/write_off.rb +13 -0
  47. data/lib/candidhealth/write_offs/v_1/types/write_off_create.rb +13 -0
  48. data/lib/candidhealth/x_12/v_1/types/rarc.rb +114 -0
  49. data/lib/requests.rb +2 -2
  50. data/lib/types_export.rb +17 -0
  51. metadata +21 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 41be4e7c4e978c3c9069b6a189a6479f56b0ffd482a62cd5e16809888e2e406c
4
- data.tar.gz: 52b97def08c04beb4a9a7cfcf611bb0995847e7e41b8e4b49f07bcad2c235fa7
3
+ metadata.gz: f8a91b8d2c08a55de4d0521432bbdc353fa86c1990b8595ed87d3e514008f902
4
+ data.tar.gz: 96e4b0340792be17698a6c43203ecd62d2ea4d84062826ff0418d56087ed9cb7
5
5
  SHA512:
6
- metadata.gz: 87be14cc1f2c37da6fd8851e53c4359956835748e3e8db4db3b00a1da4cfe929709c3fce70d65ef6f44ef8ac6b1a7b3b86daaa6eea922e0163c19bb5404cfd69
7
- data.tar.gz: d25ee643e54c2d674ce64dd2ac32be51f2a7414e861c3e8f82e5496c0843c5d30480f226e8aa6d8a17cde00f5e028210726a99b287c701cb6ab905abddb9e7e2
6
+ metadata.gz: ed60e8fdaa98c35318617cd5a93a1dd27d8955d7133d8b48385928ee4df95e1cd4442560b6fd1b62575dfa8588448fca29bc35703690112d597f355c1f3c640b
7
+ data.tar.gz: 55a2be7ba42326b2bfdee8168c6f05b18451ae43f56f7268987ed7c1d6096e27705f5924a3148217df9e4a2e0e35ceea3e84722c04c2bdbfeec340dff5634aec
@@ -244,6 +244,7 @@ module CandidApiClient
244
244
  # * :condition_indicator_1 (CandidApiClient::Commons::Types::EpsdtReferralConditionIndicatorCode)
245
245
  # * :condition_indicator_2 (CandidApiClient::Commons::Types::EpsdtReferralConditionIndicatorCode)
246
246
  # * :condition_indicator_3 (CandidApiClient::Commons::Types::EpsdtReferralConditionIndicatorCode)
247
+ # * :claim_supplemental_information (Array<CandidApiClient::Encounters::V4::Types::ClaimSupplementalInformation>)
247
248
  # @param charge_external_id [String] A client-specified unique ID to associate with this encounter; for example, your
248
249
  # internal encounter ID or a Dr. Chrono encounter ID. This field should not
249
250
  # contain PHI.
@@ -533,6 +534,7 @@ module CandidApiClient
533
534
  # * :condition_indicator_1 (CandidApiClient::Commons::Types::EpsdtReferralConditionIndicatorCode)
534
535
  # * :condition_indicator_2 (CandidApiClient::Commons::Types::EpsdtReferralConditionIndicatorCode)
535
536
  # * :condition_indicator_3 (CandidApiClient::Commons::Types::EpsdtReferralConditionIndicatorCode)
537
+ # * :claim_supplemental_information (Array<CandidApiClient::Encounters::V4::Types::ClaimSupplementalInformation>)
536
538
  # @param charge_external_id [String] A client-specified unique ID to associate with this encounter;
537
539
  # for example, your internal encounter ID or a Dr. Chrono encounter ID.
538
540
  # This field should not contain PHI.
@@ -883,6 +885,7 @@ module CandidApiClient
883
885
  # * :condition_indicator_1 (CandidApiClient::Commons::Types::EpsdtReferralConditionIndicatorCode)
884
886
  # * :condition_indicator_2 (CandidApiClient::Commons::Types::EpsdtReferralConditionIndicatorCode)
885
887
  # * :condition_indicator_3 (CandidApiClient::Commons::Types::EpsdtReferralConditionIndicatorCode)
888
+ # * :claim_supplemental_information (Array<CandidApiClient::Encounters::V4::Types::ClaimSupplementalInformation>)
886
889
  # @param charge_external_id [String] A client-specified unique ID to associate with this encounter; for example, your
887
890
  # internal encounter ID or a Dr. Chrono encounter ID. This field should not
888
891
  # contain PHI.
@@ -1176,6 +1179,7 @@ module CandidApiClient
1176
1179
  # * :condition_indicator_1 (CandidApiClient::Commons::Types::EpsdtReferralConditionIndicatorCode)
1177
1180
  # * :condition_indicator_2 (CandidApiClient::Commons::Types::EpsdtReferralConditionIndicatorCode)
1178
1181
  # * :condition_indicator_3 (CandidApiClient::Commons::Types::EpsdtReferralConditionIndicatorCode)
1182
+ # * :claim_supplemental_information (Array<CandidApiClient::Encounters::V4::Types::ClaimSupplementalInformation>)
1179
1183
  # @param charge_external_id [String] A client-specified unique ID to associate with this encounter;
1180
1184
  # for example, your internal encounter ID or a Dr. Chrono encounter ID.
1181
1185
  # This field should not contain PHI.
@@ -28,6 +28,7 @@ require_relative "../../../encounter_providers/v_2/types/supervising_provider_up
28
28
  require_relative "../../../encounter_providers/v_2/types/referring_provider_update"
29
29
  require_relative "../../../encounter_providers/v_2/types/initial_referring_provider_update"
30
30
  require_relative "../../../encounters/v_4/types/epsdt_referral"
31
+ require_relative "../../../encounters/v_4/types/claim_supplemental_information"
31
32
  require "ostruct"
32
33
  require "json"
33
34
 
@@ -225,6 +226,9 @@ module CandidApiClient
225
226
  # @return [CandidApiClient::Encounters::V4::Types::EpsdtReferral] Refers Box 24H on the CMS1500 form and Loop 2300 CRC - EPSDT Referral on the
226
227
  # 837P form
227
228
  attr_reader :epsdt_referral
229
+ # @return [Array<CandidApiClient::Encounters::V4::Types::ClaimSupplementalInformation>] Refers to Loop 2300 - Segment PWK on the 837P form. No more than 10 entries are
230
+ # permitted.
231
+ attr_reader :claim_supplemental_information
228
232
  # @return [OpenStruct] Additional properties unmapped to the current class definition
229
233
  attr_reader :additional_properties
230
234
  # @return [Object]
@@ -379,10 +383,12 @@ module CandidApiClient
379
383
  # @param referral_number [String] Refers to REF\*9F on the 837p. Value cannot be greater than 50 characters.
380
384
  # @param epsdt_referral [CandidApiClient::Encounters::V4::Types::EpsdtReferral] Refers Box 24H on the CMS1500 form and Loop 2300 CRC - EPSDT Referral on the
381
385
  # 837P form
386
+ # @param claim_supplemental_information [Array<CandidApiClient::Encounters::V4::Types::ClaimSupplementalInformation>] Refers to Loop 2300 - Segment PWK on the 837P form. No more than 10 entries are
387
+ # permitted.
382
388
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
383
389
  # @return [CandidApiClient::ChargeCapture::V1::Types::ChargeCaptureData]
384
390
  def initialize(diagnoses: OMIT, interventions: OMIT, external_claim_submission: OMIT, service_lines: OMIT,
385
- patient_histories: OMIT, billing_notes: OMIT, benefits_assigned_to_provider: OMIT, prior_authorization_number: OMIT, external_id: OMIT, date_of_service: OMIT, tag_ids: OMIT, clinical_notes: OMIT, pay_to_address: OMIT, billable_status: OMIT, responsible_party: OMIT, provider_accepts_assignment: OMIT, synchronicity: OMIT, place_of_service_code: OMIT, appointment_type: OMIT, end_date_of_service: OMIT, subscriber_primary: OMIT, subscriber_secondary: OMIT, additional_information: OMIT, service_authorization_exception_code: OMIT, admission_date: OMIT, discharge_date: OMIT, onset_of_current_illness_or_symptom_date: OMIT, last_menstrual_period_date: OMIT, delay_reason_code: OMIT, patient: OMIT, patient_authorized_release: OMIT, schema_instances: OMIT, vitals: OMIT, existing_medications: OMIT, rendering_provider: OMIT, service_facility: OMIT, guarantor: OMIT, billing_provider: OMIT, supervising_provider: OMIT, referring_provider: OMIT, initial_referring_provider: OMIT, referral_number: OMIT, epsdt_referral: OMIT, additional_properties: nil)
391
+ patient_histories: OMIT, billing_notes: OMIT, benefits_assigned_to_provider: OMIT, prior_authorization_number: OMIT, external_id: OMIT, date_of_service: OMIT, tag_ids: OMIT, clinical_notes: OMIT, pay_to_address: OMIT, billable_status: OMIT, responsible_party: OMIT, provider_accepts_assignment: OMIT, synchronicity: OMIT, place_of_service_code: OMIT, appointment_type: OMIT, end_date_of_service: OMIT, subscriber_primary: OMIT, subscriber_secondary: OMIT, additional_information: OMIT, service_authorization_exception_code: OMIT, admission_date: OMIT, discharge_date: OMIT, onset_of_current_illness_or_symptom_date: OMIT, last_menstrual_period_date: OMIT, delay_reason_code: OMIT, patient: OMIT, patient_authorized_release: OMIT, schema_instances: OMIT, vitals: OMIT, existing_medications: OMIT, rendering_provider: OMIT, service_facility: OMIT, guarantor: OMIT, billing_provider: OMIT, supervising_provider: OMIT, referring_provider: OMIT, initial_referring_provider: OMIT, referral_number: OMIT, epsdt_referral: OMIT, claim_supplemental_information: OMIT, additional_properties: nil)
386
392
  @diagnoses = diagnoses if diagnoses != OMIT
387
393
  @interventions = interventions if interventions != OMIT
388
394
  @external_claim_submission = external_claim_submission if external_claim_submission != OMIT
@@ -430,6 +436,7 @@ module CandidApiClient
430
436
  @initial_referring_provider = initial_referring_provider if initial_referring_provider != OMIT
431
437
  @referral_number = referral_number if referral_number != OMIT
432
438
  @epsdt_referral = epsdt_referral if epsdt_referral != OMIT
439
+ @claim_supplemental_information = claim_supplemental_information if claim_supplemental_information != OMIT
433
440
  @additional_properties = additional_properties
434
441
  @_field_set = {
435
442
  "diagnoses": diagnoses,
@@ -474,7 +481,8 @@ module CandidApiClient
474
481
  "referring_provider": referring_provider,
475
482
  "initial_referring_provider": initial_referring_provider,
476
483
  "referral_number": referral_number,
477
- "epsdt_referral": epsdt_referral
484
+ "epsdt_referral": epsdt_referral,
485
+ "claim_supplemental_information": claim_supplemental_information
478
486
  }.reject do |_k, v|
479
487
  v == OMIT
480
488
  end
@@ -630,6 +638,10 @@ module CandidApiClient
630
638
  epsdt_referral = parsed_json["epsdt_referral"].to_json
631
639
  epsdt_referral = CandidApiClient::Encounters::V4::Types::EpsdtReferral.from_json(json_object: epsdt_referral)
632
640
  end
641
+ claim_supplemental_information = parsed_json["claim_supplemental_information"]&.map do |item|
642
+ item = item.to_json
643
+ CandidApiClient::Encounters::V4::Types::ClaimSupplementalInformation.from_json(json_object: item)
644
+ end
633
645
  new(
634
646
  diagnoses: diagnoses,
635
647
  interventions: interventions,
@@ -674,6 +686,7 @@ module CandidApiClient
674
686
  initial_referring_provider: initial_referring_provider,
675
687
  referral_number: referral_number,
676
688
  epsdt_referral: epsdt_referral,
689
+ claim_supplemental_information: claim_supplemental_information,
677
690
  additional_properties: struct
678
691
  )
679
692
  end
@@ -735,6 +748,7 @@ module CandidApiClient
735
748
  obj.initial_referring_provider.nil? || CandidApiClient::EncounterProviders::V2::Types::InitialReferringProviderUpdate.validate_raw(obj: obj.initial_referring_provider)
736
749
  obj.referral_number&.is_a?(String) != false || raise("Passed value for field obj.referral_number is not the expected type, validation failed.")
737
750
  obj.epsdt_referral.nil? || CandidApiClient::Encounters::V4::Types::EpsdtReferral.validate_raw(obj: obj.epsdt_referral)
751
+ obj.claim_supplemental_information&.is_a?(Array) != false || raise("Passed value for field obj.claim_supplemental_information is not the expected type, validation failed.")
738
752
  end
739
753
  end
740
754
  end
@@ -0,0 +1,109 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "clinical_trial_phase"
4
+ require "ostruct"
5
+ require "json"
6
+
7
+ module CandidApiClient
8
+ module ClinicalTrials
9
+ module V1
10
+ module Types
11
+ class ClinicalTrial
12
+ # @return [String]
13
+ attr_reader :clinical_trial_id
14
+ # @return [String]
15
+ attr_reader :non_insurance_payer_id
16
+ # @return [Boolean]
17
+ attr_reader :is_active
18
+ # @return [String]
19
+ attr_reader :name
20
+ # @return [String] Must be 8 characters long
21
+ attr_reader :clinical_trial_number
22
+ # @return [CandidApiClient::ClinicalTrials::V1::Types::ClinicalTrialPhase]
23
+ attr_reader :clinical_trial_phase
24
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
25
+ attr_reader :additional_properties
26
+ # @return [Object]
27
+ attr_reader :_field_set
28
+ protected :_field_set
29
+
30
+ OMIT = Object.new
31
+
32
+ # @param clinical_trial_id [String]
33
+ # @param non_insurance_payer_id [String]
34
+ # @param is_active [Boolean]
35
+ # @param name [String]
36
+ # @param clinical_trial_number [String] Must be 8 characters long
37
+ # @param clinical_trial_phase [CandidApiClient::ClinicalTrials::V1::Types::ClinicalTrialPhase]
38
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
39
+ # @return [CandidApiClient::ClinicalTrials::V1::Types::ClinicalTrial]
40
+ def initialize(clinical_trial_id:, non_insurance_payer_id:, is_active:, name:, clinical_trial_number:,
41
+ clinical_trial_phase: OMIT, additional_properties: nil)
42
+ @clinical_trial_id = clinical_trial_id
43
+ @non_insurance_payer_id = non_insurance_payer_id
44
+ @is_active = is_active
45
+ @name = name
46
+ @clinical_trial_number = clinical_trial_number
47
+ @clinical_trial_phase = clinical_trial_phase if clinical_trial_phase != OMIT
48
+ @additional_properties = additional_properties
49
+ @_field_set = {
50
+ "clinical_trial_id": clinical_trial_id,
51
+ "non_insurance_payer_id": non_insurance_payer_id,
52
+ "is_active": is_active,
53
+ "name": name,
54
+ "clinical_trial_number": clinical_trial_number,
55
+ "clinical_trial_phase": clinical_trial_phase
56
+ }.reject do |_k, v|
57
+ v == OMIT
58
+ end
59
+ end
60
+
61
+ # Deserialize a JSON object to an instance of ClinicalTrial
62
+ #
63
+ # @param json_object [String]
64
+ # @return [CandidApiClient::ClinicalTrials::V1::Types::ClinicalTrial]
65
+ def self.from_json(json_object:)
66
+ struct = JSON.parse(json_object, object_class: OpenStruct)
67
+ clinical_trial_id = struct["clinical_trial_id"]
68
+ non_insurance_payer_id = struct["non_insurance_payer_id"]
69
+ is_active = struct["is_active"]
70
+ name = struct["name"]
71
+ clinical_trial_number = struct["clinical_trial_number"]
72
+ clinical_trial_phase = struct["clinical_trial_phase"]
73
+ new(
74
+ clinical_trial_id: clinical_trial_id,
75
+ non_insurance_payer_id: non_insurance_payer_id,
76
+ is_active: is_active,
77
+ name: name,
78
+ clinical_trial_number: clinical_trial_number,
79
+ clinical_trial_phase: clinical_trial_phase,
80
+ additional_properties: struct
81
+ )
82
+ end
83
+
84
+ # Serialize an instance of ClinicalTrial to a JSON object
85
+ #
86
+ # @return [String]
87
+ def to_json(*_args)
88
+ @_field_set&.to_json
89
+ end
90
+
91
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
92
+ # hash and check each fields type against the current object's property
93
+ # definitions.
94
+ #
95
+ # @param obj [Object]
96
+ # @return [Void]
97
+ def self.validate_raw(obj:)
98
+ obj.clinical_trial_id.is_a?(String) != false || raise("Passed value for field obj.clinical_trial_id is not the expected type, validation failed.")
99
+ obj.non_insurance_payer_id.is_a?(String) != false || raise("Passed value for field obj.non_insurance_payer_id is not the expected type, validation failed.")
100
+ obj.is_active.is_a?(Boolean) != false || raise("Passed value for field obj.is_active is not the expected type, validation failed.")
101
+ obj.name.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
102
+ obj.clinical_trial_number.is_a?(String) != false || raise("Passed value for field obj.clinical_trial_number is not the expected type, validation failed.")
103
+ obj.clinical_trial_phase&.is_a?(CandidApiClient::ClinicalTrials::V1::Types::ClinicalTrialPhase) != false || raise("Passed value for field obj.clinical_trial_phase is not the expected type, validation failed.")
104
+ end
105
+ end
106
+ end
107
+ end
108
+ end
109
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CandidApiClient
4
+ module ClinicalTrials
5
+ module V1
6
+ module Types
7
+ class ClinicalTrialPhase
8
+ PHASE_ONE = "Phase 1"
9
+ PHASE_TWO = "Phase 2"
10
+ PHASE_THREE = "Phase 3"
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,84 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "clinical_trial_phase"
4
+ require "ostruct"
5
+ require "json"
6
+
7
+ module CandidApiClient
8
+ module ClinicalTrials
9
+ module V1
10
+ module Types
11
+ class MutableClinicalTrial
12
+ # @return [String]
13
+ attr_reader :name
14
+ # @return [String] Must be 8 characters long
15
+ attr_reader :clinical_trial_number
16
+ # @return [CandidApiClient::ClinicalTrials::V1::Types::ClinicalTrialPhase]
17
+ attr_reader :clinical_trial_phase
18
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
19
+ attr_reader :additional_properties
20
+ # @return [Object]
21
+ attr_reader :_field_set
22
+ protected :_field_set
23
+
24
+ OMIT = Object.new
25
+
26
+ # @param name [String]
27
+ # @param clinical_trial_number [String] Must be 8 characters long
28
+ # @param clinical_trial_phase [CandidApiClient::ClinicalTrials::V1::Types::ClinicalTrialPhase]
29
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
30
+ # @return [CandidApiClient::ClinicalTrials::V1::Types::MutableClinicalTrial]
31
+ def initialize(name:, clinical_trial_number:, clinical_trial_phase: OMIT, additional_properties: nil)
32
+ @name = name
33
+ @clinical_trial_number = clinical_trial_number
34
+ @clinical_trial_phase = clinical_trial_phase if clinical_trial_phase != OMIT
35
+ @additional_properties = additional_properties
36
+ @_field_set = {
37
+ "name": name,
38
+ "clinical_trial_number": clinical_trial_number,
39
+ "clinical_trial_phase": clinical_trial_phase
40
+ }.reject do |_k, v|
41
+ v == OMIT
42
+ end
43
+ end
44
+
45
+ # Deserialize a JSON object to an instance of MutableClinicalTrial
46
+ #
47
+ # @param json_object [String]
48
+ # @return [CandidApiClient::ClinicalTrials::V1::Types::MutableClinicalTrial]
49
+ def self.from_json(json_object:)
50
+ struct = JSON.parse(json_object, object_class: OpenStruct)
51
+ name = struct["name"]
52
+ clinical_trial_number = struct["clinical_trial_number"]
53
+ clinical_trial_phase = struct["clinical_trial_phase"]
54
+ new(
55
+ name: name,
56
+ clinical_trial_number: clinical_trial_number,
57
+ clinical_trial_phase: clinical_trial_phase,
58
+ additional_properties: struct
59
+ )
60
+ end
61
+
62
+ # Serialize an instance of MutableClinicalTrial to a JSON object
63
+ #
64
+ # @return [String]
65
+ def to_json(*_args)
66
+ @_field_set&.to_json
67
+ end
68
+
69
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
70
+ # hash and check each fields type against the current object's property
71
+ # definitions.
72
+ #
73
+ # @param obj [Object]
74
+ # @return [Void]
75
+ def self.validate_raw(obj:)
76
+ obj.name.is_a?(String) != false || raise("Passed value for field obj.name is not the expected type, validation failed.")
77
+ obj.clinical_trial_number.is_a?(String) != false || raise("Passed value for field obj.clinical_trial_number is not the expected type, validation failed.")
78
+ obj.clinical_trial_phase&.is_a?(CandidApiClient::ClinicalTrials::V1::Types::ClinicalTrialPhase) != false || raise("Passed value for field obj.clinical_trial_phase is not the expected type, validation failed.")
79
+ end
80
+ end
81
+ end
82
+ end
83
+ end
84
+ end
@@ -391,7 +391,11 @@ module CandidApiClient
391
391
  V_1 = "V1"
392
392
  V_2 = "V2"
393
393
  V_3 = "V3"
394
+ W_1 = "W1"
395
+ W_2 = "W2"
396
+ W_3 = "W3"
394
397
  XE = "XE"
398
+ XP = "XP"
395
399
  XS = "XS"
396
400
  XU = "XU"
397
401
  end
@@ -35,6 +35,7 @@ require_relative "../../guarantor/v_1/types/guarantor_create"
35
35
  require_relative "../../claim_submission/v_1/types/external_claim_submission_create"
36
36
  require_relative "../../custom_schemas/v_1/types/schema_instance"
37
37
  require_relative "types/epsdt_referral"
38
+ require_relative "types/claim_supplemental_information"
38
39
  require_relative "types/encounter_create_from_pre_encounter"
39
40
  require_relative "../../individual/types/patient_update"
40
41
  require_relative "types/vitals_update"
@@ -543,12 +544,17 @@ module CandidApiClient
543
544
  # * :condition_indicator_1 (CandidApiClient::Commons::Types::EpsdtReferralConditionIndicatorCode)
544
545
  # * :condition_indicator_2 (CandidApiClient::Commons::Types::EpsdtReferralConditionIndicatorCode)
545
546
  # * :condition_indicator_3 (CandidApiClient::Commons::Types::EpsdtReferralConditionIndicatorCode)
547
+ # @param claim_supplemental_information [Array<Hash>] Refers to Loop 2300 - Segment PWK on the 837P form. No more than 10 entries are
548
+ # permitted.Request of type Array<CandidApiClient::Encounters::V4::Types::ClaimSupplementalInformation>, as a Hash
549
+ # * :attachment_report_type_code (CandidApiClient::Encounters::V4::Types::ReportTypeCode)
550
+ # * :attachment_transmission_code (CandidApiClient::Encounters::V4::Types::ReportTransmissionCode)
551
+ # * :attachment_control_number (String)
546
552
  # @param request_options [CandidApiClient::RequestOptions]
547
553
  # @return [CandidApiClient::Encounters::V4::Types::Encounter]
548
554
  # @example
549
555
  # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
550
556
  # api.encounters.v_4.create(
551
- # patient: { phone_numbers: [{ number: "1234567890", type: HOME }], phone_consent: true, email: "johndoe@joincandidhealth.com", non_insurance_payers: ["d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32"], non_insurance_payers_info: [{ non_insurance_payer_id: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", member_id: "string" }], email_consent: true, external_id: "string", date_of_birth: DateTime.parse(2023-01-15), address: { address_1: "123 Main St", address_2: "Apt 1", city: "New York", state: NY, zip_code: "10001", zip_plus_four_code: "1234" }, first_name: "string", last_name: "string", gender: MALE },
557
+ # patient: { phone_numbers: [{ number: "1234567890", type: HOME }], phone_consent: true, email: "johndoe@joincandidhealth.com", non_insurance_payers: ["d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32"], non_insurance_payers_info: [{ non_insurance_payer_id: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", member_id: "string", clinical_trial_info: [{ clinical_trial_id: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32" }] }], email_consent: true, external_id: "string", date_of_birth: DateTime.parse(2023-01-15), address: { address_1: "123 Main St", address_2: "Apt 1", city: "New York", state: NY, zip_code: "10001", zip_plus_four_code: "1234" }, first_name: "string", last_name: "string", gender: MALE },
552
558
  # billing_provider: { address: { address_1: "123 Main St", address_2: "Apt 1", city: "New York", state: NY, zip_code: "10001", zip_plus_four_code: "1234" }, tax_id: "string", npi: "string", taxonomy_code: "string", provider_commercial_license_type: LICENSED_CLINICAL_SOCIAL_WORKER, first_name: "string", last_name: "string", organization_name: "string" },
553
559
  # rendering_provider: { npi: "string", taxonomy_code: "string", address: { address_1: "123 Main St", address_2: "Apt 1", city: "New York", state: NY, zip_code: "10001", zip_plus_four_code: "1234" }, first_name: "string", last_name: "string", organization_name: "string" },
554
560
  # referring_provider: { npi: "string", taxonomy_code: "string", address: { address_1: "123 Main St", address_2: "Apt 1", city: "New York", state: NY, zip_code: "10001", zip_plus_four_code: "1234" }, first_name: "string", last_name: "string", organization_name: "string" },
@@ -570,10 +576,11 @@ module CandidApiClient
570
576
  # tag_ids: ["string"],
571
577
  # schema_instances: [{ schema_id: "ec096b13-f80a-471d-aaeb-54b021c9d582", content: { "provider_category": "internist", "is_urgent_care": true, "bmi": 24.2, "age": 38 } }],
572
578
  # referral_number: "string",
573
- # epsdt_referral: { condition_indicator_1: AV, condition_indicator_2: AV, condition_indicator_3: AV }
579
+ # epsdt_referral: { condition_indicator_1: AV, condition_indicator_2: AV, condition_indicator_3: AV },
580
+ # claim_supplemental_information: [{ attachment_report_type_code: C_03, attachment_transmission_code: CBM }]
574
581
  # )
575
582
  def create(external_id:, patient_authorized_release:, benefits_assigned_to_provider:,
576
- provider_accepts_assignment:, billable_status:, patient:, billing_provider:, rendering_provider:, responsible_party:, diagnoses:, place_of_service_code:, date_of_service: nil, end_date_of_service: nil, appointment_type: nil, existing_medications: nil, vitals: nil, interventions: nil, pay_to_address: nil, synchronicity: nil, additional_information: nil, service_authorization_exception_code: nil, admission_date: nil, discharge_date: nil, onset_of_current_illness_or_symptom_date: nil, last_menstrual_period_date: nil, delay_reason_code: nil, additional_properties: nil, _field_set: nil, referring_provider: nil, initial_referring_provider: nil, supervising_provider: nil, service_facility: nil, subscriber_primary: nil, subscriber_secondary: nil, prior_authorization_number: nil, clinical_notes: nil, billing_notes: nil, patient_histories: nil, service_lines: nil, guarantor: nil, external_claim_submission: nil, tag_ids: nil, schema_instances: nil, referral_number: nil, epsdt_referral: nil, request_options: nil)
583
+ provider_accepts_assignment:, billable_status:, patient:, billing_provider:, rendering_provider:, responsible_party:, diagnoses:, place_of_service_code:, date_of_service: nil, end_date_of_service: nil, appointment_type: nil, existing_medications: nil, vitals: nil, interventions: nil, pay_to_address: nil, synchronicity: nil, additional_information: nil, service_authorization_exception_code: nil, admission_date: nil, discharge_date: nil, onset_of_current_illness_or_symptom_date: nil, last_menstrual_period_date: nil, delay_reason_code: nil, additional_properties: nil, _field_set: nil, referring_provider: nil, initial_referring_provider: nil, supervising_provider: nil, service_facility: nil, subscriber_primary: nil, subscriber_secondary: nil, prior_authorization_number: nil, clinical_notes: nil, billing_notes: nil, patient_histories: nil, service_lines: nil, guarantor: nil, external_claim_submission: nil, tag_ids: nil, schema_instances: nil, referral_number: nil, epsdt_referral: nil, claim_supplemental_information: nil, request_options: nil)
577
584
  response = @request_client.conn.post do |req|
578
585
  req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
579
586
  req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
@@ -628,7 +635,8 @@ module CandidApiClient
628
635
  tag_ids: tag_ids,
629
636
  schema_instances: schema_instances,
630
637
  referral_number: referral_number,
631
- epsdt_referral: epsdt_referral
638
+ epsdt_referral: epsdt_referral,
639
+ claim_supplemental_information: claim_supplemental_information
632
640
  }.compact
633
641
  req.url "#{@request_client.get_url(environment: CandidApi,
634
642
  request_options: request_options)}/api/encounters/v4"
@@ -1106,6 +1114,11 @@ module CandidApiClient
1106
1114
  # * :condition_indicator_1 (CandidApiClient::Commons::Types::EpsdtReferralConditionIndicatorCode)
1107
1115
  # * :condition_indicator_2 (CandidApiClient::Commons::Types::EpsdtReferralConditionIndicatorCode)
1108
1116
  # * :condition_indicator_3 (CandidApiClient::Commons::Types::EpsdtReferralConditionIndicatorCode)
1117
+ # @param claim_supplemental_information [Array<Hash>] Refers to Loop 2300 - Segment PWK on the 837P form. No more than 10 entries are
1118
+ # permitted.Request of type Array<CandidApiClient::Encounters::V4::Types::ClaimSupplementalInformation>, as a Hash
1119
+ # * :attachment_report_type_code (CandidApiClient::Encounters::V4::Types::ReportTypeCode)
1120
+ # * :attachment_transmission_code (CandidApiClient::Encounters::V4::Types::ReportTransmissionCode)
1121
+ # * :attachment_control_number (String)
1109
1122
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
1110
1123
  # @param _field_set [Object]
1111
1124
  # @param diagnosis_ids [Array<String>] Ideally, this field should contain no more than 12 diagnoses. However, more
@@ -1126,7 +1139,7 @@ module CandidApiClient
1126
1139
  # place_of_service_code_as_submitted: PHARMACY
1127
1140
  # )
1128
1141
  def update(encounter_id:, benefits_assigned_to_provider: nil, prior_authorization_number: nil,
1129
- external_id: nil, date_of_service: nil, tag_ids: nil, clinical_notes: nil, pay_to_address: nil, billable_status: nil, responsible_party: nil, provider_accepts_assignment: nil, synchronicity: nil, place_of_service_code: nil, appointment_type: nil, end_date_of_service: nil, subscriber_primary: nil, subscriber_secondary: nil, additional_information: nil, service_authorization_exception_code: nil, admission_date: nil, discharge_date: nil, onset_of_current_illness_or_symptom_date: nil, last_menstrual_period_date: nil, delay_reason_code: nil, patient: nil, patient_authorized_release: nil, schema_instances: nil, vitals: nil, existing_medications: nil, rendering_provider: nil, service_facility: nil, guarantor: nil, billing_provider: nil, supervising_provider: nil, referring_provider: nil, initial_referring_provider: nil, referral_number: nil, epsdt_referral: nil, additional_properties: nil, _field_set: nil, diagnosis_ids: nil, place_of_service_code_as_submitted: nil, request_options: nil)
1142
+ external_id: nil, date_of_service: nil, tag_ids: nil, clinical_notes: nil, pay_to_address: nil, billable_status: nil, responsible_party: nil, provider_accepts_assignment: nil, synchronicity: nil, place_of_service_code: nil, appointment_type: nil, end_date_of_service: nil, subscriber_primary: nil, subscriber_secondary: nil, additional_information: nil, service_authorization_exception_code: nil, admission_date: nil, discharge_date: nil, onset_of_current_illness_or_symptom_date: nil, last_menstrual_period_date: nil, delay_reason_code: nil, patient: nil, patient_authorized_release: nil, schema_instances: nil, vitals: nil, existing_medications: nil, rendering_provider: nil, service_facility: nil, guarantor: nil, billing_provider: nil, supervising_provider: nil, referring_provider: nil, initial_referring_provider: nil, referral_number: nil, epsdt_referral: nil, claim_supplemental_information: nil, additional_properties: nil, _field_set: nil, diagnosis_ids: nil, place_of_service_code_as_submitted: nil, request_options: nil)
1130
1143
  response = @request_client.conn.patch do |req|
1131
1144
  req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
1132
1145
  req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
@@ -1174,6 +1187,7 @@ module CandidApiClient
1174
1187
  initial_referring_provider: initial_referring_provider,
1175
1188
  referral_number: referral_number,
1176
1189
  epsdt_referral: epsdt_referral,
1190
+ claim_supplemental_information: claim_supplemental_information,
1177
1191
  additional_properties: additional_properties,
1178
1192
  _field_set: _field_set,
1179
1193
  diagnosis_ids: diagnosis_ids,
@@ -1683,12 +1697,17 @@ module CandidApiClient
1683
1697
  # * :condition_indicator_1 (CandidApiClient::Commons::Types::EpsdtReferralConditionIndicatorCode)
1684
1698
  # * :condition_indicator_2 (CandidApiClient::Commons::Types::EpsdtReferralConditionIndicatorCode)
1685
1699
  # * :condition_indicator_3 (CandidApiClient::Commons::Types::EpsdtReferralConditionIndicatorCode)
1700
+ # @param claim_supplemental_information [Array<Hash>] Refers to Loop 2300 - Segment PWK on the 837P form. No more than 10 entries are
1701
+ # permitted.Request of type Array<CandidApiClient::Encounters::V4::Types::ClaimSupplementalInformation>, as a Hash
1702
+ # * :attachment_report_type_code (CandidApiClient::Encounters::V4::Types::ReportTypeCode)
1703
+ # * :attachment_transmission_code (CandidApiClient::Encounters::V4::Types::ReportTransmissionCode)
1704
+ # * :attachment_control_number (String)
1686
1705
  # @param request_options [CandidApiClient::RequestOptions]
1687
1706
  # @return [CandidApiClient::Encounters::V4::Types::Encounter]
1688
1707
  # @example
1689
1708
  # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
1690
1709
  # api.encounters.v_4.create(
1691
- # patient: { phone_numbers: [{ number: "1234567890", type: HOME }], phone_consent: true, email: "johndoe@joincandidhealth.com", non_insurance_payers: ["d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32"], non_insurance_payers_info: [{ non_insurance_payer_id: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", member_id: "string" }], email_consent: true, external_id: "string", date_of_birth: DateTime.parse(2023-01-15), address: { address_1: "123 Main St", address_2: "Apt 1", city: "New York", state: NY, zip_code: "10001", zip_plus_four_code: "1234" }, first_name: "string", last_name: "string", gender: MALE },
1710
+ # patient: { phone_numbers: [{ number: "1234567890", type: HOME }], phone_consent: true, email: "johndoe@joincandidhealth.com", non_insurance_payers: ["d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32"], non_insurance_payers_info: [{ non_insurance_payer_id: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", member_id: "string", clinical_trial_info: [{ clinical_trial_id: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32" }] }], email_consent: true, external_id: "string", date_of_birth: DateTime.parse(2023-01-15), address: { address_1: "123 Main St", address_2: "Apt 1", city: "New York", state: NY, zip_code: "10001", zip_plus_four_code: "1234" }, first_name: "string", last_name: "string", gender: MALE },
1692
1711
  # billing_provider: { address: { address_1: "123 Main St", address_2: "Apt 1", city: "New York", state: NY, zip_code: "10001", zip_plus_four_code: "1234" }, tax_id: "string", npi: "string", taxonomy_code: "string", provider_commercial_license_type: LICENSED_CLINICAL_SOCIAL_WORKER, first_name: "string", last_name: "string", organization_name: "string" },
1693
1712
  # rendering_provider: { npi: "string", taxonomy_code: "string", address: { address_1: "123 Main St", address_2: "Apt 1", city: "New York", state: NY, zip_code: "10001", zip_plus_four_code: "1234" }, first_name: "string", last_name: "string", organization_name: "string" },
1694
1713
  # referring_provider: { npi: "string", taxonomy_code: "string", address: { address_1: "123 Main St", address_2: "Apt 1", city: "New York", state: NY, zip_code: "10001", zip_plus_four_code: "1234" }, first_name: "string", last_name: "string", organization_name: "string" },
@@ -1710,10 +1729,11 @@ module CandidApiClient
1710
1729
  # tag_ids: ["string"],
1711
1730
  # schema_instances: [{ schema_id: "ec096b13-f80a-471d-aaeb-54b021c9d582", content: { "provider_category": "internist", "is_urgent_care": true, "bmi": 24.2, "age": 38 } }],
1712
1731
  # referral_number: "string",
1713
- # epsdt_referral: { condition_indicator_1: AV, condition_indicator_2: AV, condition_indicator_3: AV }
1732
+ # epsdt_referral: { condition_indicator_1: AV, condition_indicator_2: AV, condition_indicator_3: AV },
1733
+ # claim_supplemental_information: [{ attachment_report_type_code: C_03, attachment_transmission_code: CBM }]
1714
1734
  # )
1715
1735
  def create(external_id:, patient_authorized_release:, benefits_assigned_to_provider:,
1716
- provider_accepts_assignment:, billable_status:, patient:, billing_provider:, rendering_provider:, responsible_party:, diagnoses:, place_of_service_code:, date_of_service: nil, end_date_of_service: nil, appointment_type: nil, existing_medications: nil, vitals: nil, interventions: nil, pay_to_address: nil, synchronicity: nil, additional_information: nil, service_authorization_exception_code: nil, admission_date: nil, discharge_date: nil, onset_of_current_illness_or_symptom_date: nil, last_menstrual_period_date: nil, delay_reason_code: nil, additional_properties: nil, _field_set: nil, referring_provider: nil, initial_referring_provider: nil, supervising_provider: nil, service_facility: nil, subscriber_primary: nil, subscriber_secondary: nil, prior_authorization_number: nil, clinical_notes: nil, billing_notes: nil, patient_histories: nil, service_lines: nil, guarantor: nil, external_claim_submission: nil, tag_ids: nil, schema_instances: nil, referral_number: nil, epsdt_referral: nil, request_options: nil)
1736
+ provider_accepts_assignment:, billable_status:, patient:, billing_provider:, rendering_provider:, responsible_party:, diagnoses:, place_of_service_code:, date_of_service: nil, end_date_of_service: nil, appointment_type: nil, existing_medications: nil, vitals: nil, interventions: nil, pay_to_address: nil, synchronicity: nil, additional_information: nil, service_authorization_exception_code: nil, admission_date: nil, discharge_date: nil, onset_of_current_illness_or_symptom_date: nil, last_menstrual_period_date: nil, delay_reason_code: nil, additional_properties: nil, _field_set: nil, referring_provider: nil, initial_referring_provider: nil, supervising_provider: nil, service_facility: nil, subscriber_primary: nil, subscriber_secondary: nil, prior_authorization_number: nil, clinical_notes: nil, billing_notes: nil, patient_histories: nil, service_lines: nil, guarantor: nil, external_claim_submission: nil, tag_ids: nil, schema_instances: nil, referral_number: nil, epsdt_referral: nil, claim_supplemental_information: nil, request_options: nil)
1717
1737
  Async do
1718
1738
  response = @request_client.conn.post do |req|
1719
1739
  req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
@@ -1769,7 +1789,8 @@ module CandidApiClient
1769
1789
  tag_ids: tag_ids,
1770
1790
  schema_instances: schema_instances,
1771
1791
  referral_number: referral_number,
1772
- epsdt_referral: epsdt_referral
1792
+ epsdt_referral: epsdt_referral,
1793
+ claim_supplemental_information: claim_supplemental_information
1773
1794
  }.compact
1774
1795
  req.url "#{@request_client.get_url(environment: CandidApi,
1775
1796
  request_options: request_options)}/api/encounters/v4"
@@ -2250,6 +2271,11 @@ module CandidApiClient
2250
2271
  # * :condition_indicator_1 (CandidApiClient::Commons::Types::EpsdtReferralConditionIndicatorCode)
2251
2272
  # * :condition_indicator_2 (CandidApiClient::Commons::Types::EpsdtReferralConditionIndicatorCode)
2252
2273
  # * :condition_indicator_3 (CandidApiClient::Commons::Types::EpsdtReferralConditionIndicatorCode)
2274
+ # @param claim_supplemental_information [Array<Hash>] Refers to Loop 2300 - Segment PWK on the 837P form. No more than 10 entries are
2275
+ # permitted.Request of type Array<CandidApiClient::Encounters::V4::Types::ClaimSupplementalInformation>, as a Hash
2276
+ # * :attachment_report_type_code (CandidApiClient::Encounters::V4::Types::ReportTypeCode)
2277
+ # * :attachment_transmission_code (CandidApiClient::Encounters::V4::Types::ReportTransmissionCode)
2278
+ # * :attachment_control_number (String)
2253
2279
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
2254
2280
  # @param _field_set [Object]
2255
2281
  # @param diagnosis_ids [Array<String>] Ideally, this field should contain no more than 12 diagnoses. However, more
@@ -2270,7 +2296,7 @@ module CandidApiClient
2270
2296
  # place_of_service_code_as_submitted: PHARMACY
2271
2297
  # )
2272
2298
  def update(encounter_id:, benefits_assigned_to_provider: nil, prior_authorization_number: nil,
2273
- external_id: nil, date_of_service: nil, tag_ids: nil, clinical_notes: nil, pay_to_address: nil, billable_status: nil, responsible_party: nil, provider_accepts_assignment: nil, synchronicity: nil, place_of_service_code: nil, appointment_type: nil, end_date_of_service: nil, subscriber_primary: nil, subscriber_secondary: nil, additional_information: nil, service_authorization_exception_code: nil, admission_date: nil, discharge_date: nil, onset_of_current_illness_or_symptom_date: nil, last_menstrual_period_date: nil, delay_reason_code: nil, patient: nil, patient_authorized_release: nil, schema_instances: nil, vitals: nil, existing_medications: nil, rendering_provider: nil, service_facility: nil, guarantor: nil, billing_provider: nil, supervising_provider: nil, referring_provider: nil, initial_referring_provider: nil, referral_number: nil, epsdt_referral: nil, additional_properties: nil, _field_set: nil, diagnosis_ids: nil, place_of_service_code_as_submitted: nil, request_options: nil)
2299
+ external_id: nil, date_of_service: nil, tag_ids: nil, clinical_notes: nil, pay_to_address: nil, billable_status: nil, responsible_party: nil, provider_accepts_assignment: nil, synchronicity: nil, place_of_service_code: nil, appointment_type: nil, end_date_of_service: nil, subscriber_primary: nil, subscriber_secondary: nil, additional_information: nil, service_authorization_exception_code: nil, admission_date: nil, discharge_date: nil, onset_of_current_illness_or_symptom_date: nil, last_menstrual_period_date: nil, delay_reason_code: nil, patient: nil, patient_authorized_release: nil, schema_instances: nil, vitals: nil, existing_medications: nil, rendering_provider: nil, service_facility: nil, guarantor: nil, billing_provider: nil, supervising_provider: nil, referring_provider: nil, initial_referring_provider: nil, referral_number: nil, epsdt_referral: nil, claim_supplemental_information: nil, additional_properties: nil, _field_set: nil, diagnosis_ids: nil, place_of_service_code_as_submitted: nil, request_options: nil)
2274
2300
  Async do
2275
2301
  response = @request_client.conn.patch do |req|
2276
2302
  req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
@@ -2319,6 +2345,7 @@ module CandidApiClient
2319
2345
  initial_referring_provider: initial_referring_provider,
2320
2346
  referral_number: referral_number,
2321
2347
  epsdt_referral: epsdt_referral,
2348
+ claim_supplemental_information: claim_supplemental_information,
2322
2349
  additional_properties: additional_properties,
2323
2350
  _field_set: _field_set,
2324
2351
  diagnosis_ids: diagnosis_ids,
@@ -0,0 +1,86 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "report_type_code"
4
+ require_relative "report_transmission_code"
5
+ require "ostruct"
6
+ require "json"
7
+
8
+ module CandidApiClient
9
+ module Encounters
10
+ module V4
11
+ module Types
12
+ class ClaimSupplementalInformation
13
+ # @return [CandidApiClient::Encounters::V4::Types::ReportTypeCode]
14
+ attr_reader :attachment_report_type_code
15
+ # @return [CandidApiClient::Encounters::V4::Types::ReportTransmissionCode]
16
+ attr_reader :attachment_transmission_code
17
+ # @return [String]
18
+ attr_reader :attachment_control_number
19
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
20
+ attr_reader :additional_properties
21
+ # @return [Object]
22
+ attr_reader :_field_set
23
+ protected :_field_set
24
+
25
+ OMIT = Object.new
26
+
27
+ # @param attachment_report_type_code [CandidApiClient::Encounters::V4::Types::ReportTypeCode]
28
+ # @param attachment_transmission_code [CandidApiClient::Encounters::V4::Types::ReportTransmissionCode]
29
+ # @param attachment_control_number [String]
30
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
31
+ # @return [CandidApiClient::Encounters::V4::Types::ClaimSupplementalInformation]
32
+ def initialize(attachment_report_type_code:, attachment_transmission_code:, attachment_control_number: OMIT,
33
+ additional_properties: nil)
34
+ @attachment_report_type_code = attachment_report_type_code
35
+ @attachment_transmission_code = attachment_transmission_code
36
+ @attachment_control_number = attachment_control_number if attachment_control_number != OMIT
37
+ @additional_properties = additional_properties
38
+ @_field_set = {
39
+ "attachment_report_type_code": attachment_report_type_code,
40
+ "attachment_transmission_code": attachment_transmission_code,
41
+ "attachment_control_number": attachment_control_number
42
+ }.reject do |_k, v|
43
+ v == OMIT
44
+ end
45
+ end
46
+
47
+ # Deserialize a JSON object to an instance of ClaimSupplementalInformation
48
+ #
49
+ # @param json_object [String]
50
+ # @return [CandidApiClient::Encounters::V4::Types::ClaimSupplementalInformation]
51
+ def self.from_json(json_object:)
52
+ struct = JSON.parse(json_object, object_class: OpenStruct)
53
+ attachment_report_type_code = struct["attachment_report_type_code"]
54
+ attachment_transmission_code = struct["attachment_transmission_code"]
55
+ attachment_control_number = struct["attachment_control_number"]
56
+ new(
57
+ attachment_report_type_code: attachment_report_type_code,
58
+ attachment_transmission_code: attachment_transmission_code,
59
+ attachment_control_number: attachment_control_number,
60
+ additional_properties: struct
61
+ )
62
+ end
63
+
64
+ # Serialize an instance of ClaimSupplementalInformation to a JSON object
65
+ #
66
+ # @return [String]
67
+ def to_json(*_args)
68
+ @_field_set&.to_json
69
+ end
70
+
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.attachment_report_type_code.is_a?(CandidApiClient::Encounters::V4::Types::ReportTypeCode) != false || raise("Passed value for field obj.attachment_report_type_code is not the expected type, validation failed.")
79
+ obj.attachment_transmission_code.is_a?(CandidApiClient::Encounters::V4::Types::ReportTransmissionCode) != false || raise("Passed value for field obj.attachment_transmission_code is not the expected type, validation failed.")
80
+ obj.attachment_control_number&.is_a?(String) != false || raise("Passed value for field obj.attachment_control_number is not the expected type, validation failed.")
81
+ end
82
+ end
83
+ end
84
+ end
85
+ end
86
+ end