candidhealth 1.6.0 → 1.8.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 (151) hide show
  1. checksums.yaml +4 -4
  2. data/lib/candidhealth/auth/default/client.rb +74 -0
  3. data/lib/candidhealth/charge_capture/v_1/client.rb +48 -48
  4. data/lib/candidhealth/charge_capture/v_1/types/charge_capture_data.rb +70 -56
  5. data/lib/candidhealth/commons/types/clearinghouse.rb +18 -0
  6. data/lib/candidhealth/commons/types/procedure_modifier.rb +11 -0
  7. data/lib/candidhealth/credentialing/v_2/client.rb +342 -8
  8. data/lib/candidhealth/credentialing/v_2/types/base_credentialing_span.rb +143 -0
  9. data/lib/candidhealth/credentialing/v_2/types/facility_credentialing_span.rb +165 -0
  10. data/lib/candidhealth/credentialing/v_2/types/facility_credentialing_span_page.rb +88 -0
  11. data/lib/candidhealth/credentialing/v_2/types/provider_credentialing_span.rb +34 -34
  12. data/lib/candidhealth/encounter_providers/v_2/types/billing_provider.rb +1 -1
  13. data/lib/candidhealth/encounter_providers/v_2/types/billing_provider_update.rb +1 -1
  14. data/lib/candidhealth/encounter_providers/v_2/types/billing_provider_update_with_optional_address.rb +1 -1
  15. data/lib/candidhealth/encounters/v_4/client.rb +3253 -2040
  16. data/lib/candidhealth/encounters/v_4/types/encounter.rb +111 -86
  17. data/lib/candidhealth/encounters/v_4/types/encounter_base.rb +39 -33
  18. data/lib/candidhealth/encounters/v_4/types/encounter_create.rb +796 -0
  19. data/lib/candidhealth/encounters/v_4/types/encounter_create_from_pre_encounter.rb +131 -117
  20. data/lib/candidhealth/encounters/v_4/types/encounter_deep_optional.rb +70 -56
  21. data/lib/candidhealth/encounters/v_4/types/encounter_optional.rb +29 -39
  22. data/lib/candidhealth/encounters/v_4/types/encounter_rendering_or_attending_provider_required_error.rb +55 -0
  23. data/lib/candidhealth/encounters/v_4/types/encounter_update.rb +736 -0
  24. data/lib/candidhealth/encounters_universal/types/universal_encounter_create.rb +944 -0
  25. data/lib/candidhealth/encounters_universal/types/universal_encounter_create_base.rb +691 -0
  26. data/lib/candidhealth/encounters_universal/types/universal_encounter_create_from_pre_encounter.rb +791 -0
  27. data/lib/candidhealth/encounters_universal/types/universal_encounter_create_from_pre_encounter_base.rb +572 -0
  28. data/lib/candidhealth/encounters_universal/types/universal_encounter_update.rb +872 -0
  29. data/lib/candidhealth/encounters_universal/types/universal_encounter_update_base.rb +700 -0
  30. data/lib/candidhealth/fee_schedules/v_3/client.rb +57 -0
  31. data/lib/candidhealth/fee_schedules/v_3/types/validation_error.rb +12 -0
  32. data/lib/candidhealth/financials/types/patient_transaction_source.rb +1 -0
  33. data/lib/candidhealth/health_care_code_information/client.rb +30 -0
  34. data/lib/candidhealth/health_care_code_information/v_1/client.rb +268 -0
  35. data/lib/candidhealth/health_care_code_information/v_1/types/admitting_diagnosis.rb +236 -0
  36. data/lib/candidhealth/health_care_code_information/v_1/types/admitting_diagnosis_code_qualifier.rb +14 -0
  37. data/lib/candidhealth/health_care_code_information/v_1/types/admitting_diagnosis_new.rb +206 -0
  38. data/lib/candidhealth/health_care_code_information/v_1/types/code_list_qualifier_code.rb +1068 -0
  39. data/lib/candidhealth/health_care_code_information/v_1/types/condition_code.rb +71 -0
  40. data/lib/candidhealth/health_care_code_information/v_1/types/condition_information.rb +237 -0
  41. data/lib/candidhealth/health_care_code_information/v_1/types/condition_information_code_qualifier.rb +13 -0
  42. data/lib/candidhealth/health_care_code_information/v_1/types/condition_information_new.rb +207 -0
  43. data/lib/candidhealth/health_care_code_information/v_1/types/date_time_period_format_qualifier.rb +54 -0
  44. data/lib/candidhealth/health_care_code_information/v_1/types/diagnosis_related_group.rb +236 -0
  45. data/lib/candidhealth/health_care_code_information/v_1/types/diagnosis_related_group_code_qualifier.rb +13 -0
  46. data/lib/candidhealth/health_care_code_information/v_1/types/diagnosis_related_group_new.rb +206 -0
  47. data/lib/candidhealth/health_care_code_information/v_1/types/external_cause_of_injury.rb +245 -0
  48. data/lib/candidhealth/health_care_code_information/v_1/types/external_cause_of_injury_code_qualifier.rb +14 -0
  49. data/lib/candidhealth/health_care_code_information/v_1/types/external_cause_of_injury_new.rb +245 -0
  50. data/lib/candidhealth/health_care_code_information/v_1/types/health_care_code_information.rb +218 -0
  51. data/lib/candidhealth/health_care_code_information/v_1/types/health_care_code_information_create.rb +225 -0
  52. data/lib/candidhealth/health_care_code_information/v_1/types/health_care_code_information_get_all_response.rb +227 -0
  53. data/lib/candidhealth/health_care_code_information/v_1/types/health_care_code_information_new.rb +188 -0
  54. data/lib/candidhealth/health_care_code_information/v_1/types/health_care_code_information_update.rb +225 -0
  55. data/lib/candidhealth/health_care_code_information/v_1/types/occurrence_code.rb +71 -0
  56. data/lib/candidhealth/health_care_code_information/v_1/types/occurrence_information.rb +249 -0
  57. data/lib/candidhealth/health_care_code_information/v_1/types/occurrence_information_code_qualifier.rb +13 -0
  58. data/lib/candidhealth/health_care_code_information/v_1/types/occurrence_information_new.rb +219 -0
  59. data/lib/candidhealth/health_care_code_information/v_1/types/occurrence_span_code.rb +25 -0
  60. data/lib/candidhealth/health_care_code_information/v_1/types/occurrence_span_code_qualifier.rb +13 -0
  61. data/lib/candidhealth/health_care_code_information/v_1/types/occurrence_span_information.rb +252 -0
  62. data/lib/candidhealth/health_care_code_information/v_1/types/occurrence_span_information_new.rb +222 -0
  63. data/lib/candidhealth/health_care_code_information/v_1/types/other_diagnosis_information.rb +245 -0
  64. data/lib/candidhealth/health_care_code_information/v_1/types/other_diagnosis_information_code_qualifier.rb +14 -0
  65. data/lib/candidhealth/health_care_code_information/v_1/types/other_diagnosis_information_new.rb +215 -0
  66. data/lib/candidhealth/health_care_code_information/v_1/types/other_procedure_information.rb +248 -0
  67. data/lib/candidhealth/health_care_code_information/v_1/types/other_procedure_information_code_qualifier.rb +14 -0
  68. data/lib/candidhealth/health_care_code_information/v_1/types/other_procedure_information_new.rb +218 -0
  69. data/lib/candidhealth/health_care_code_information/v_1/types/patient_reason_for_visit.rb +236 -0
  70. data/lib/candidhealth/health_care_code_information/v_1/types/patient_reason_for_visit_code_qualifier.rb +14 -0
  71. data/lib/candidhealth/health_care_code_information/v_1/types/patient_reason_for_visit_new.rb +206 -0
  72. data/lib/candidhealth/health_care_code_information/v_1/types/present_on_admission_indicator_code.rb +17 -0
  73. data/lib/candidhealth/health_care_code_information/v_1/types/principal_diagnosis.rb +245 -0
  74. data/lib/candidhealth/health_care_code_information/v_1/types/principal_diagnosis_code_qualifier.rb +14 -0
  75. data/lib/candidhealth/health_care_code_information/v_1/types/principal_diagnosis_new.rb +215 -0
  76. data/lib/candidhealth/health_care_code_information/v_1/types/principal_procedure_information.rb +246 -0
  77. data/lib/candidhealth/health_care_code_information/v_1/types/principal_procedure_information_code_qualifier.rb +15 -0
  78. data/lib/candidhealth/health_care_code_information/v_1/types/principal_procedure_information_new.rb +216 -0
  79. data/lib/candidhealth/health_care_code_information/v_1/types/rd_8_date.rb +72 -0
  80. data/lib/candidhealth/health_care_code_information/v_1/types/set_or_clear_admitting_diagnosis.rb +69 -0
  81. data/lib/candidhealth/health_care_code_information/v_1/types/set_or_clear_diagnosis_related_group.rb +69 -0
  82. data/lib/candidhealth/health_care_code_information/v_1/types/set_or_clear_principal_diagnosis.rb +69 -0
  83. data/lib/candidhealth/health_care_code_information/v_1/types/set_or_clear_principal_procedure_information.rb +71 -0
  84. data/lib/candidhealth/health_care_code_information/v_1/types/treatment_code_information.rb +236 -0
  85. data/lib/candidhealth/health_care_code_information/v_1/types/treatment_code_information_new.rb +206 -0
  86. data/lib/candidhealth/health_care_code_information/v_1/types/treatment_code_qualifier.rb +13 -0
  87. data/lib/candidhealth/health_care_code_information/v_1/types/value_code.rb +119 -0
  88. data/lib/candidhealth/health_care_code_information/v_1/types/value_code_qualifier.rb +13 -0
  89. data/lib/candidhealth/health_care_code_information/v_1/types/value_information.rb +245 -0
  90. data/lib/candidhealth/health_care_code_information/v_1/types/value_information_new.rb +215 -0
  91. data/lib/candidhealth/individual/types/patient.rb +6 -6
  92. data/lib/candidhealth/individual/types/patient_base.rb +6 -6
  93. data/lib/candidhealth/individual/types/patient_create.rb +6 -6
  94. data/lib/candidhealth/individual/types/patient_update.rb +6 -6
  95. data/lib/candidhealth/individual/types/patient_update_with_optional_address.rb +6 -6
  96. data/lib/candidhealth/organization_providers/v_2/types/license_type.rb +2 -0
  97. data/lib/candidhealth/patient_ar/client.rb +30 -0
  98. data/lib/candidhealth/patient_ar/v_1/client.rb +161 -0
  99. data/lib/candidhealth/patient_ar/v_1/types/insurance_adjustment_info.rb +60 -0
  100. data/lib/candidhealth/patient_ar/v_1/types/insurance_payment_info.rb +60 -0
  101. data/lib/candidhealth/patient_ar/v_1/types/invalid_filters_error_type.rb +60 -0
  102. data/lib/candidhealth/patient_ar/v_1/types/inventory_record.rb +101 -0
  103. data/lib/candidhealth/patient_ar/v_1/types/invoice_itemization_response.rb +103 -0
  104. data/lib/candidhealth/patient_ar/v_1/types/list_inventory_paged_response.rb +77 -0
  105. data/lib/candidhealth/patient_ar/v_1/types/non_insurance_adjustment_info.rb +60 -0
  106. data/lib/candidhealth/patient_ar/v_1/types/non_insurance_payment_info.rb +60 -0
  107. data/lib/candidhealth/patient_ar/v_1/types/patient_adjustment_info.rb +60 -0
  108. data/lib/candidhealth/patient_ar/v_1/types/patient_ar_status.rb +14 -0
  109. data/lib/candidhealth/patient_ar/v_1/types/patient_payment_allocation.rb +76 -0
  110. data/lib/candidhealth/patient_ar/v_1/types/patient_payment_info.rb +75 -0
  111. data/lib/candidhealth/patient_ar/v_1/types/service_line_itemization.rb +210 -0
  112. data/lib/candidhealth/payers/client.rb +7 -0
  113. data/lib/candidhealth/payers/v_4/client.rb +137 -0
  114. data/lib/candidhealth/payers/v_4/types/clearinghouse_payer_info.rb +93 -0
  115. data/lib/candidhealth/payers/v_4/types/payer.rb +116 -0
  116. data/lib/candidhealth/payers/v_4/types/payer_ids.rb +107 -0
  117. data/lib/candidhealth/payers/v_4/types/payer_page.rb +88 -0
  118. data/lib/candidhealth/payers/v_4/types/support_state.rb +15 -0
  119. data/lib/candidhealth/pre_encounter/coverages/v_1/client.rb +4 -4
  120. data/lib/candidhealth/pre_encounter/coverages/v_1/types/subscriber.rb +3 -3
  121. data/lib/candidhealth/pre_encounter/patients/v_1/client.rb +204 -6
  122. data/lib/candidhealth/pre_encounter/patients/v_1/types/guarantor.rb +3 -3
  123. data/lib/candidhealth/pre_encounter/patients/v_1/types/inferred_patient_metadata.rb +80 -0
  124. data/lib/candidhealth/pre_encounter/patients/v_1/types/mutable_patient.rb +33 -5
  125. data/lib/candidhealth/pre_encounter/patients/v_1/types/mutable_patient_with_mrn.rb +33 -5
  126. data/lib/candidhealth/pre_encounter/patients/v_1/types/origination_detail.rb +104 -0
  127. data/lib/candidhealth/pre_encounter/patients/v_1/types/patient.rb +32 -4
  128. data/lib/candidhealth/pre_encounter/patients/v_1/types/referral_source.rb +18 -0
  129. data/lib/candidhealth/pre_encounter/patients/v_1/types/referral_type.rb +17 -0
  130. data/lib/candidhealth/pre_encounter/patients/v_1/types/specialization_category.rb +42 -0
  131. data/lib/candidhealth/service_lines/v_2/client.rb +252 -10
  132. data/lib/candidhealth/service_lines/v_2/types/service_line.rb +28 -10
  133. data/lib/candidhealth/service_lines/v_2/types/service_line_create.rb +52 -40
  134. data/lib/candidhealth/service_lines/v_2/types/service_line_create_base.rb +251 -0
  135. data/lib/candidhealth/service_lines/v_2/types/service_line_create_base_base.rb +243 -0
  136. data/lib/candidhealth/service_lines/v_2/types/service_line_create_optional.rb +48 -24
  137. data/lib/candidhealth/service_lines/v_2/types/service_line_create_standalone.rb +58 -46
  138. data/lib/candidhealth/service_lines/v_2/types/service_line_create_standalone_base.rb +273 -0
  139. data/lib/candidhealth/service_lines/v_2/types/service_line_create_standalone_base_base.rb +265 -0
  140. data/lib/candidhealth/service_lines/v_2/types/service_line_update.rb +64 -54
  141. data/lib/candidhealth/service_lines/v_2/types/service_line_update_base.rb +263 -0
  142. data/lib/candidhealth/service_lines/v_2/types/universal_service_line_create.rb +271 -0
  143. data/lib/candidhealth/service_lines/v_2/types/universal_service_line_create_standalone.rb +317 -0
  144. data/lib/candidhealth/service_lines/v_2/types/universal_service_line_update.rb +307 -0
  145. data/lib/candidhealth/x_12/v_1/types/type_of_bill_composite.rb +2 -2
  146. data/lib/candidhealth/x_12/v_1/types/type_of_bill_composite_base.rb +90 -0
  147. data/lib/candidhealth/x_12/v_1/types/type_of_bill_composite_update.rb +112 -0
  148. data/lib/candidhealth.rb +21 -7
  149. data/lib/requests.rb +2 -2
  150. data/lib/types_export.rb +116 -13
  151. metadata +109 -2
@@ -38,11 +38,11 @@ module CandidApiClient
38
38
  # @param address [CandidApiClient::PreEncounter::Common::Types::Address]
39
39
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
40
40
  # @return [CandidApiClient::PreEncounter::Patients::V1::Types::Guarantor]
41
- def initialize(name:, birth_date:, address:, telecom: OMIT, email: OMIT, additional_properties: nil)
41
+ def initialize(name:, address:, telecom: OMIT, email: OMIT, birth_date: OMIT, additional_properties: nil)
42
42
  @name = name
43
43
  @telecom = telecom if telecom != OMIT
44
44
  @email = email if email != OMIT
45
- @birth_date = birth_date
45
+ @birth_date = birth_date if birth_date != OMIT
46
46
  @address = address
47
47
  @additional_properties = additional_properties
48
48
  @_field_set = {
@@ -110,7 +110,7 @@ module CandidApiClient
110
110
  CandidApiClient::PreEncounter::Common::Types::HumanName.validate_raw(obj: obj.name)
111
111
  obj.telecom.nil? || CandidApiClient::PreEncounter::Common::Types::ContactPoint.validate_raw(obj: obj.telecom)
112
112
  obj.email&.is_a?(String) != false || raise("Passed value for field obj.email is not the expected type, validation failed.")
113
- obj.birth_date.is_a?(Date) != false || raise("Passed value for field obj.birth_date is not the expected type, validation failed.")
113
+ obj.birth_date&.is_a?(Date) != false || raise("Passed value for field obj.birth_date is not the expected type, validation failed.")
114
114
  CandidApiClient::PreEncounter::Common::Types::Address.validate_raw(obj: obj.address)
115
115
  end
116
116
  end
@@ -0,0 +1,80 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "date"
4
+ require "ostruct"
5
+ require "json"
6
+
7
+ module CandidApiClient
8
+ module PreEncounter
9
+ module Patients
10
+ module V1
11
+ module Types
12
+ class InferredPatientMetadata
13
+ # @return [String]
14
+ attr_reader :inferred_encounter_id
15
+ # @return [Date]
16
+ attr_reader :inferred_encounter_latest_date_of_service
17
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
18
+ attr_reader :additional_properties
19
+ # @return [Object]
20
+ attr_reader :_field_set
21
+ protected :_field_set
22
+
23
+ OMIT = Object.new
24
+
25
+ # @param inferred_encounter_id [String]
26
+ # @param inferred_encounter_latest_date_of_service [Date]
27
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
28
+ # @return [CandidApiClient::PreEncounter::Patients::V1::Types::InferredPatientMetadata]
29
+ def initialize(inferred_encounter_id:, inferred_encounter_latest_date_of_service:,
30
+ additional_properties: nil)
31
+ @inferred_encounter_id = inferred_encounter_id
32
+ @inferred_encounter_latest_date_of_service = inferred_encounter_latest_date_of_service
33
+ @additional_properties = additional_properties
34
+ @_field_set = {
35
+ "inferred_encounter_id": inferred_encounter_id,
36
+ "inferred_encounter_latest_date_of_service": inferred_encounter_latest_date_of_service
37
+ }
38
+ end
39
+
40
+ # Deserialize a JSON object to an instance of InferredPatientMetadata
41
+ #
42
+ # @param json_object [String]
43
+ # @return [CandidApiClient::PreEncounter::Patients::V1::Types::InferredPatientMetadata]
44
+ def self.from_json(json_object:)
45
+ struct = JSON.parse(json_object, object_class: OpenStruct)
46
+ parsed_json = JSON.parse(json_object)
47
+ inferred_encounter_id = struct["inferred_encounter_id"]
48
+ inferred_encounter_latest_date_of_service = unless parsed_json["inferred_encounter_latest_date_of_service"].nil?
49
+ Date.parse(parsed_json["inferred_encounter_latest_date_of_service"])
50
+ end
51
+ new(
52
+ inferred_encounter_id: inferred_encounter_id,
53
+ inferred_encounter_latest_date_of_service: inferred_encounter_latest_date_of_service,
54
+ additional_properties: struct
55
+ )
56
+ end
57
+
58
+ # Serialize an instance of InferredPatientMetadata to a JSON object
59
+ #
60
+ # @return [String]
61
+ def to_json(*_args)
62
+ @_field_set&.to_json
63
+ end
64
+
65
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
66
+ # hash and check each fields type against the current object's property
67
+ # definitions.
68
+ #
69
+ # @param obj [Object]
70
+ # @return [Void]
71
+ def self.validate_raw(obj:)
72
+ obj.inferred_encounter_id.is_a?(String) != false || raise("Passed value for field obj.inferred_encounter_id is not the expected type, validation failed.")
73
+ obj.inferred_encounter_latest_date_of_service.is_a?(Date) != false || raise("Passed value for field obj.inferred_encounter_latest_date_of_service is not the expected type, validation failed.")
74
+ end
75
+ end
76
+ end
77
+ end
78
+ end
79
+ end
80
+ end
@@ -21,6 +21,8 @@ require_relative "guarantor"
21
21
  require_relative "authorization"
22
22
  require_relative "referral"
23
23
  require_relative "do_not_invoice_reason"
24
+ require_relative "origination_detail"
25
+ require_relative "inferred_patient_metadata"
24
26
  require "ostruct"
25
27
  require "json"
26
28
 
@@ -109,6 +111,10 @@ module CandidApiClient
109
111
  attr_reader :note_ids
110
112
  # @return [Array<String>]
111
113
  attr_reader :tag_ids
114
+ # @return [CandidApiClient::PreEncounter::Patients::V1::Types::OriginationDetail] Information about the patient source, if applicable.
115
+ attr_reader :origination_detail
116
+ # @return [CandidApiClient::PreEncounter::Patients::V1::Types::InferredPatientMetadata] Metadata for the patient used for patient inference from encounters.
117
+ attr_reader :inferred_patient_metadata
112
118
  # @return [OpenStruct] Additional properties unmapped to the current class definition
113
119
  attr_reader :additional_properties
114
120
  # @return [Object]
@@ -158,10 +164,12 @@ module CandidApiClient
158
164
  # @param do_not_invoice_reason [CandidApiClient::PreEncounter::Patients::V1::Types::DoNotInvoiceReason] If this value is defined, the customer will not be invoiced.
159
165
  # @param note_ids [Array<String>]
160
166
  # @param tag_ids [Array<String>]
167
+ # @param origination_detail [CandidApiClient::PreEncounter::Patients::V1::Types::OriginationDetail] Information about the patient source, if applicable.
168
+ # @param inferred_patient_metadata [CandidApiClient::PreEncounter::Patients::V1::Types::InferredPatientMetadata] Metadata for the patient used for patient inference from encounters.
161
169
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
162
170
  # @return [CandidApiClient::PreEncounter::Patients::V1::Types::MutablePatient]
163
- def initialize(name:, other_names:, birth_date:, biological_sex:, primary_address:, other_addresses:, primary_telecom:, other_telecoms:, contacts:, general_practitioners:, filing_order:, other_identifiers: OMIT, gender: OMIT,
164
- social_security_number: OMIT, sexual_orientation: OMIT, pronouns: OMIT, race: OMIT, ethnicity: OMIT, disability_status: OMIT, marital_status: OMIT, deceased: OMIT, multiple_birth: OMIT, email: OMIT, electronic_communication_opt_in: OMIT, photo: OMIT, language: OMIT, external_provenance: OMIT, non_insurance_payers: OMIT, non_insurance_payer_associations: OMIT, guarantor: OMIT, self_pay: OMIT, authorizations: OMIT, referrals: OMIT, primary_service_facility_id: OMIT, do_not_invoice_reason: OMIT, note_ids: OMIT, tag_ids: OMIT, additional_properties: nil)
171
+ def initialize(name:, other_names:, birth_date:, biological_sex:, primary_address:, other_addresses:, other_telecoms:, contacts:, general_practitioners:, filing_order:, other_identifiers: OMIT, gender: OMIT,
172
+ social_security_number: OMIT, sexual_orientation: OMIT, pronouns: OMIT, race: OMIT, ethnicity: OMIT, disability_status: OMIT, marital_status: OMIT, deceased: OMIT, multiple_birth: OMIT, primary_telecom: OMIT, email: OMIT, electronic_communication_opt_in: OMIT, photo: OMIT, language: OMIT, external_provenance: OMIT, non_insurance_payers: OMIT, non_insurance_payer_associations: OMIT, guarantor: OMIT, self_pay: OMIT, authorizations: OMIT, referrals: OMIT, primary_service_facility_id: OMIT, do_not_invoice_reason: OMIT, note_ids: OMIT, tag_ids: OMIT, origination_detail: OMIT, inferred_patient_metadata: OMIT, additional_properties: nil)
165
173
  @name = name
166
174
  @other_names = other_names
167
175
  @other_identifiers = other_identifiers if other_identifiers != OMIT
@@ -179,7 +187,7 @@ module CandidApiClient
179
187
  @multiple_birth = multiple_birth if multiple_birth != OMIT
180
188
  @primary_address = primary_address
181
189
  @other_addresses = other_addresses
182
- @primary_telecom = primary_telecom
190
+ @primary_telecom = primary_telecom if primary_telecom != OMIT
183
191
  @other_telecoms = other_telecoms
184
192
  @email = email if email != OMIT
185
193
  if electronic_communication_opt_in != OMIT
@@ -203,6 +211,8 @@ module CandidApiClient
203
211
  @do_not_invoice_reason = do_not_invoice_reason if do_not_invoice_reason != OMIT
204
212
  @note_ids = note_ids if note_ids != OMIT
205
213
  @tag_ids = tag_ids if tag_ids != OMIT
214
+ @origination_detail = origination_detail if origination_detail != OMIT
215
+ @inferred_patient_metadata = inferred_patient_metadata if inferred_patient_metadata != OMIT
206
216
  @additional_properties = additional_properties
207
217
  @_field_set = {
208
218
  "name": name,
@@ -241,7 +251,9 @@ module CandidApiClient
241
251
  "primary_service_facility_id": primary_service_facility_id,
242
252
  "do_not_invoice_reason": do_not_invoice_reason,
243
253
  "note_ids": note_ids,
244
- "tag_ids": tag_ids
254
+ "tag_ids": tag_ids,
255
+ "origination_detail": origination_detail,
256
+ "inferred_patient_metadata": inferred_patient_metadata
245
257
  }.reject do |_k, v|
246
258
  v == OMIT
247
259
  end
@@ -348,6 +360,18 @@ module CandidApiClient
348
360
  do_not_invoice_reason = struct["do_not_invoice_reason"]
349
361
  note_ids = struct["note_ids"]
350
362
  tag_ids = struct["tag_ids"]
363
+ if parsed_json["origination_detail"].nil?
364
+ origination_detail = nil
365
+ else
366
+ origination_detail = parsed_json["origination_detail"].to_json
367
+ origination_detail = CandidApiClient::PreEncounter::Patients::V1::Types::OriginationDetail.from_json(json_object: origination_detail)
368
+ end
369
+ if parsed_json["inferred_patient_metadata"].nil?
370
+ inferred_patient_metadata = nil
371
+ else
372
+ inferred_patient_metadata = parsed_json["inferred_patient_metadata"].to_json
373
+ inferred_patient_metadata = CandidApiClient::PreEncounter::Patients::V1::Types::InferredPatientMetadata.from_json(json_object: inferred_patient_metadata)
374
+ end
351
375
  new(
352
376
  name: name,
353
377
  other_names: other_names,
@@ -386,6 +410,8 @@ module CandidApiClient
386
410
  do_not_invoice_reason: do_not_invoice_reason,
387
411
  note_ids: note_ids,
388
412
  tag_ids: tag_ids,
413
+ origination_detail: origination_detail,
414
+ inferred_patient_metadata: inferred_patient_metadata,
389
415
  additional_properties: struct
390
416
  )
391
417
  end
@@ -421,7 +447,7 @@ module CandidApiClient
421
447
  obj.multiple_birth&.is_a?(Integer) != false || raise("Passed value for field obj.multiple_birth is not the expected type, validation failed.")
422
448
  CandidApiClient::PreEncounter::Common::Types::Address.validate_raw(obj: obj.primary_address)
423
449
  obj.other_addresses.is_a?(Array) != false || raise("Passed value for field obj.other_addresses is not the expected type, validation failed.")
424
- CandidApiClient::PreEncounter::Common::Types::ContactPoint.validate_raw(obj: obj.primary_telecom)
450
+ obj.primary_telecom.nil? || CandidApiClient::PreEncounter::Common::Types::ContactPoint.validate_raw(obj: obj.primary_telecom)
425
451
  obj.other_telecoms.is_a?(Array) != false || raise("Passed value for field obj.other_telecoms is not the expected type, validation failed.")
426
452
  obj.email&.is_a?(String) != false || raise("Passed value for field obj.email is not the expected type, validation failed.")
427
453
  obj.electronic_communication_opt_in&.is_a?(Boolean) != false || raise("Passed value for field obj.electronic_communication_opt_in is not the expected type, validation failed.")
@@ -441,6 +467,8 @@ module CandidApiClient
441
467
  obj.do_not_invoice_reason&.is_a?(CandidApiClient::PreEncounter::Patients::V1::Types::DoNotInvoiceReason) != false || raise("Passed value for field obj.do_not_invoice_reason is not the expected type, validation failed.")
442
468
  obj.note_ids&.is_a?(Array) != false || raise("Passed value for field obj.note_ids is not the expected type, validation failed.")
443
469
  obj.tag_ids&.is_a?(Array) != false || raise("Passed value for field obj.tag_ids is not the expected type, validation failed.")
470
+ obj.origination_detail.nil? || CandidApiClient::PreEncounter::Patients::V1::Types::OriginationDetail.validate_raw(obj: obj.origination_detail)
471
+ obj.inferred_patient_metadata.nil? || CandidApiClient::PreEncounter::Patients::V1::Types::InferredPatientMetadata.validate_raw(obj: obj.inferred_patient_metadata)
444
472
  end
445
473
  end
446
474
  end
@@ -21,6 +21,8 @@ require_relative "guarantor"
21
21
  require_relative "authorization"
22
22
  require_relative "referral"
23
23
  require_relative "do_not_invoice_reason"
24
+ require_relative "origination_detail"
25
+ require_relative "inferred_patient_metadata"
24
26
  require "ostruct"
25
27
  require "json"
26
28
 
@@ -110,6 +112,10 @@ module CandidApiClient
110
112
  attr_reader :note_ids
111
113
  # @return [Array<String>]
112
114
  attr_reader :tag_ids
115
+ # @return [CandidApiClient::PreEncounter::Patients::V1::Types::OriginationDetail] Information about the patient source, if applicable.
116
+ attr_reader :origination_detail
117
+ # @return [CandidApiClient::PreEncounter::Patients::V1::Types::InferredPatientMetadata] Metadata for the patient used for patient inference from encounters.
118
+ attr_reader :inferred_patient_metadata
113
119
  # @return [OpenStruct] Additional properties unmapped to the current class definition
114
120
  attr_reader :additional_properties
115
121
  # @return [Object]
@@ -160,10 +166,12 @@ module CandidApiClient
160
166
  # @param do_not_invoice_reason [CandidApiClient::PreEncounter::Patients::V1::Types::DoNotInvoiceReason] If this value is defined, the customer will not be invoiced.
161
167
  # @param note_ids [Array<String>]
162
168
  # @param tag_ids [Array<String>]
169
+ # @param origination_detail [CandidApiClient::PreEncounter::Patients::V1::Types::OriginationDetail] Information about the patient source, if applicable.
170
+ # @param inferred_patient_metadata [CandidApiClient::PreEncounter::Patients::V1::Types::InferredPatientMetadata] Metadata for the patient used for patient inference from encounters.
163
171
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
164
172
  # @return [CandidApiClient::PreEncounter::Patients::V1::Types::MutablePatientWithMrn]
165
- def initialize(mrn:, name:, other_names:, birth_date:, biological_sex:, primary_address:, other_addresses:, primary_telecom:, other_telecoms:, contacts:, general_practitioners:, filing_order:, other_identifiers: OMIT, gender: OMIT,
166
- social_security_number: OMIT, sexual_orientation: OMIT, pronouns: OMIT, race: OMIT, ethnicity: OMIT, disability_status: OMIT, marital_status: OMIT, deceased: OMIT, multiple_birth: OMIT, email: OMIT, electronic_communication_opt_in: OMIT, photo: OMIT, language: OMIT, external_provenance: OMIT, non_insurance_payers: OMIT, non_insurance_payer_associations: OMIT, guarantor: OMIT, self_pay: OMIT, authorizations: OMIT, referrals: OMIT, primary_service_facility_id: OMIT, do_not_invoice_reason: OMIT, note_ids: OMIT, tag_ids: OMIT, additional_properties: nil)
173
+ def initialize(mrn:, name:, other_names:, birth_date:, biological_sex:, primary_address:, other_addresses:, other_telecoms:, contacts:, general_practitioners:, filing_order:, other_identifiers: OMIT, gender: OMIT,
174
+ social_security_number: OMIT, sexual_orientation: OMIT, pronouns: OMIT, race: OMIT, ethnicity: OMIT, disability_status: OMIT, marital_status: OMIT, deceased: OMIT, multiple_birth: OMIT, primary_telecom: OMIT, email: OMIT, electronic_communication_opt_in: OMIT, photo: OMIT, language: OMIT, external_provenance: OMIT, non_insurance_payers: OMIT, non_insurance_payer_associations: OMIT, guarantor: OMIT, self_pay: OMIT, authorizations: OMIT, referrals: OMIT, primary_service_facility_id: OMIT, do_not_invoice_reason: OMIT, note_ids: OMIT, tag_ids: OMIT, origination_detail: OMIT, inferred_patient_metadata: OMIT, additional_properties: nil)
167
175
  @mrn = mrn
168
176
  @name = name
169
177
  @other_names = other_names
@@ -182,7 +190,7 @@ module CandidApiClient
182
190
  @multiple_birth = multiple_birth if multiple_birth != OMIT
183
191
  @primary_address = primary_address
184
192
  @other_addresses = other_addresses
185
- @primary_telecom = primary_telecom
193
+ @primary_telecom = primary_telecom if primary_telecom != OMIT
186
194
  @other_telecoms = other_telecoms
187
195
  @email = email if email != OMIT
188
196
  if electronic_communication_opt_in != OMIT
@@ -206,6 +214,8 @@ module CandidApiClient
206
214
  @do_not_invoice_reason = do_not_invoice_reason if do_not_invoice_reason != OMIT
207
215
  @note_ids = note_ids if note_ids != OMIT
208
216
  @tag_ids = tag_ids if tag_ids != OMIT
217
+ @origination_detail = origination_detail if origination_detail != OMIT
218
+ @inferred_patient_metadata = inferred_patient_metadata if inferred_patient_metadata != OMIT
209
219
  @additional_properties = additional_properties
210
220
  @_field_set = {
211
221
  "mrn": mrn,
@@ -245,7 +255,9 @@ module CandidApiClient
245
255
  "primary_service_facility_id": primary_service_facility_id,
246
256
  "do_not_invoice_reason": do_not_invoice_reason,
247
257
  "note_ids": note_ids,
248
- "tag_ids": tag_ids
258
+ "tag_ids": tag_ids,
259
+ "origination_detail": origination_detail,
260
+ "inferred_patient_metadata": inferred_patient_metadata
249
261
  }.reject do |_k, v|
250
262
  v == OMIT
251
263
  end
@@ -353,6 +365,18 @@ module CandidApiClient
353
365
  do_not_invoice_reason = struct["do_not_invoice_reason"]
354
366
  note_ids = struct["note_ids"]
355
367
  tag_ids = struct["tag_ids"]
368
+ if parsed_json["origination_detail"].nil?
369
+ origination_detail = nil
370
+ else
371
+ origination_detail = parsed_json["origination_detail"].to_json
372
+ origination_detail = CandidApiClient::PreEncounter::Patients::V1::Types::OriginationDetail.from_json(json_object: origination_detail)
373
+ end
374
+ if parsed_json["inferred_patient_metadata"].nil?
375
+ inferred_patient_metadata = nil
376
+ else
377
+ inferred_patient_metadata = parsed_json["inferred_patient_metadata"].to_json
378
+ inferred_patient_metadata = CandidApiClient::PreEncounter::Patients::V1::Types::InferredPatientMetadata.from_json(json_object: inferred_patient_metadata)
379
+ end
356
380
  new(
357
381
  mrn: mrn,
358
382
  name: name,
@@ -392,6 +416,8 @@ module CandidApiClient
392
416
  do_not_invoice_reason: do_not_invoice_reason,
393
417
  note_ids: note_ids,
394
418
  tag_ids: tag_ids,
419
+ origination_detail: origination_detail,
420
+ inferred_patient_metadata: inferred_patient_metadata,
395
421
  additional_properties: struct
396
422
  )
397
423
  end
@@ -428,7 +454,7 @@ module CandidApiClient
428
454
  obj.multiple_birth&.is_a?(Integer) != false || raise("Passed value for field obj.multiple_birth is not the expected type, validation failed.")
429
455
  CandidApiClient::PreEncounter::Common::Types::Address.validate_raw(obj: obj.primary_address)
430
456
  obj.other_addresses.is_a?(Array) != false || raise("Passed value for field obj.other_addresses is not the expected type, validation failed.")
431
- CandidApiClient::PreEncounter::Common::Types::ContactPoint.validate_raw(obj: obj.primary_telecom)
457
+ obj.primary_telecom.nil? || CandidApiClient::PreEncounter::Common::Types::ContactPoint.validate_raw(obj: obj.primary_telecom)
432
458
  obj.other_telecoms.is_a?(Array) != false || raise("Passed value for field obj.other_telecoms is not the expected type, validation failed.")
433
459
  obj.email&.is_a?(String) != false || raise("Passed value for field obj.email is not the expected type, validation failed.")
434
460
  obj.electronic_communication_opt_in&.is_a?(Boolean) != false || raise("Passed value for field obj.electronic_communication_opt_in is not the expected type, validation failed.")
@@ -448,6 +474,8 @@ module CandidApiClient
448
474
  obj.do_not_invoice_reason&.is_a?(CandidApiClient::PreEncounter::Patients::V1::Types::DoNotInvoiceReason) != false || raise("Passed value for field obj.do_not_invoice_reason is not the expected type, validation failed.")
449
475
  obj.note_ids&.is_a?(Array) != false || raise("Passed value for field obj.note_ids is not the expected type, validation failed.")
450
476
  obj.tag_ids&.is_a?(Array) != false || raise("Passed value for field obj.tag_ids is not the expected type, validation failed.")
477
+ obj.origination_detail.nil? || CandidApiClient::PreEncounter::Patients::V1::Types::OriginationDetail.validate_raw(obj: obj.origination_detail)
478
+ obj.inferred_patient_metadata.nil? || CandidApiClient::PreEncounter::Patients::V1::Types::InferredPatientMetadata.validate_raw(obj: obj.inferred_patient_metadata)
451
479
  end
452
480
  end
453
481
  end
@@ -0,0 +1,104 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "referral_source"
4
+ require_relative "../../../common/types/external_provider"
5
+ require_relative "specialization_category"
6
+ require_relative "referral_type"
7
+ require "ostruct"
8
+ require "json"
9
+
10
+ module CandidApiClient
11
+ module PreEncounter
12
+ module Patients
13
+ module V1
14
+ module Types
15
+ class OriginationDetail
16
+ # @return [CandidApiClient::PreEncounter::Patients::V1::Types::ReferralSource]
17
+ attr_reader :referral_source
18
+ # @return [CandidApiClient::PreEncounter::Common::Types::ExternalProvider]
19
+ attr_reader :referring_provider
20
+ # @return [Array<CandidApiClient::PreEncounter::Patients::V1::Types::SpecializationCategory>]
21
+ attr_reader :specialization_categories
22
+ # @return [CandidApiClient::PreEncounter::Patients::V1::Types::ReferralType]
23
+ attr_reader :referral_type
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 referral_source [CandidApiClient::PreEncounter::Patients::V1::Types::ReferralSource]
33
+ # @param referring_provider [CandidApiClient::PreEncounter::Common::Types::ExternalProvider]
34
+ # @param specialization_categories [Array<CandidApiClient::PreEncounter::Patients::V1::Types::SpecializationCategory>]
35
+ # @param referral_type [CandidApiClient::PreEncounter::Patients::V1::Types::ReferralType]
36
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
37
+ # @return [CandidApiClient::PreEncounter::Patients::V1::Types::OriginationDetail]
38
+ def initialize(referral_source:, referring_provider: OMIT, specialization_categories: OMIT,
39
+ referral_type: OMIT, additional_properties: nil)
40
+ @referral_source = referral_source
41
+ @referring_provider = referring_provider if referring_provider != OMIT
42
+ @specialization_categories = specialization_categories if specialization_categories != OMIT
43
+ @referral_type = referral_type if referral_type != OMIT
44
+ @additional_properties = additional_properties
45
+ @_field_set = {
46
+ "referral_source": referral_source,
47
+ "referring_provider": referring_provider,
48
+ "specialization_categories": specialization_categories,
49
+ "referral_type": referral_type
50
+ }.reject do |_k, v|
51
+ v == OMIT
52
+ end
53
+ end
54
+
55
+ # Deserialize a JSON object to an instance of OriginationDetail
56
+ #
57
+ # @param json_object [String]
58
+ # @return [CandidApiClient::PreEncounter::Patients::V1::Types::OriginationDetail]
59
+ def self.from_json(json_object:)
60
+ struct = JSON.parse(json_object, object_class: OpenStruct)
61
+ parsed_json = JSON.parse(json_object)
62
+ referral_source = struct["referral_source"]
63
+ if parsed_json["referring_provider"].nil?
64
+ referring_provider = nil
65
+ else
66
+ referring_provider = parsed_json["referring_provider"].to_json
67
+ referring_provider = CandidApiClient::PreEncounter::Common::Types::ExternalProvider.from_json(json_object: referring_provider)
68
+ end
69
+ specialization_categories = struct["specialization_categories"]
70
+ referral_type = struct["referral_type"]
71
+ new(
72
+ referral_source: referral_source,
73
+ referring_provider: referring_provider,
74
+ specialization_categories: specialization_categories,
75
+ referral_type: referral_type,
76
+ additional_properties: struct
77
+ )
78
+ end
79
+
80
+ # Serialize an instance of OriginationDetail to a JSON object
81
+ #
82
+ # @return [String]
83
+ def to_json(*_args)
84
+ @_field_set&.to_json
85
+ end
86
+
87
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
88
+ # hash and check each fields type against the current object's property
89
+ # definitions.
90
+ #
91
+ # @param obj [Object]
92
+ # @return [Void]
93
+ def self.validate_raw(obj:)
94
+ obj.referral_source.is_a?(CandidApiClient::PreEncounter::Patients::V1::Types::ReferralSource) != false || raise("Passed value for field obj.referral_source is not the expected type, validation failed.")
95
+ obj.referring_provider.nil? || CandidApiClient::PreEncounter::Common::Types::ExternalProvider.validate_raw(obj: obj.referring_provider)
96
+ obj.specialization_categories&.is_a?(Array) != false || raise("Passed value for field obj.specialization_categories is not the expected type, validation failed.")
97
+ obj.referral_type&.is_a?(CandidApiClient::PreEncounter::Patients::V1::Types::ReferralType) != false || raise("Passed value for field obj.referral_type is not the expected type, validation failed.")
98
+ end
99
+ end
100
+ end
101
+ end
102
+ end
103
+ end
104
+ end
@@ -21,6 +21,8 @@ require_relative "guarantor"
21
21
  require_relative "authorization"
22
22
  require_relative "referral"
23
23
  require_relative "do_not_invoice_reason"
24
+ require_relative "origination_detail"
25
+ require_relative "inferred_patient_metadata"
24
26
  require "ostruct"
25
27
  require "json"
26
28
 
@@ -128,6 +130,10 @@ module CandidApiClient
128
130
  attr_reader :note_ids
129
131
  # @return [Array<String>]
130
132
  attr_reader :tag_ids
133
+ # @return [CandidApiClient::PreEncounter::Patients::V1::Types::OriginationDetail] Information about the patient source, if applicable.
134
+ attr_reader :origination_detail
135
+ # @return [CandidApiClient::PreEncounter::Patients::V1::Types::InferredPatientMetadata] Metadata for the patient used for patient inference from encounters.
136
+ attr_reader :inferred_patient_metadata
131
137
  # @return [OpenStruct] Additional properties unmapped to the current class definition
132
138
  attr_reader :additional_properties
133
139
  # @return [Object]
@@ -189,10 +195,12 @@ module CandidApiClient
189
195
  # @param do_not_invoice_reason [CandidApiClient::PreEncounter::Patients::V1::Types::DoNotInvoiceReason] If this value is defined, the customer will not be invoiced.
190
196
  # @param note_ids [Array<String>]
191
197
  # @param tag_ids [Array<String>]
198
+ # @param origination_detail [CandidApiClient::PreEncounter::Patients::V1::Types::OriginationDetail] Information about the patient source, if applicable.
199
+ # @param inferred_patient_metadata [CandidApiClient::PreEncounter::Patients::V1::Types::InferredPatientMetadata] Metadata for the patient used for patient inference from encounters.
192
200
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
193
201
  # @return [CandidApiClient::PreEncounter::Patients::V1::Types::Patient]
194
202
  def initialize(id:, mrn:, organization_id:, deactivated:, version:, updated_at:, updating_user_id:, name:,
195
- other_names:, birth_date:, biological_sex:, primary_address:, other_addresses:, primary_telecom:, other_telecoms:, contacts:, general_practitioners:, filing_order:, other_identifiers: OMIT, gender: OMIT, social_security_number: OMIT, sexual_orientation: OMIT, pronouns: OMIT, race: OMIT, ethnicity: OMIT, disability_status: OMIT, marital_status: OMIT, deceased: OMIT, multiple_birth: OMIT, email: OMIT, electronic_communication_opt_in: OMIT, photo: OMIT, language: OMIT, external_provenance: OMIT, non_insurance_payers: OMIT, non_insurance_payer_associations: OMIT, guarantor: OMIT, self_pay: OMIT, authorizations: OMIT, referrals: OMIT, primary_service_facility_id: OMIT, do_not_invoice_reason: OMIT, note_ids: OMIT, tag_ids: OMIT, additional_properties: nil)
203
+ other_names:, birth_date:, biological_sex:, primary_address:, other_addresses:, other_telecoms:, contacts:, general_practitioners:, filing_order:, other_identifiers: OMIT, gender: OMIT, social_security_number: OMIT, sexual_orientation: OMIT, pronouns: OMIT, race: OMIT, ethnicity: OMIT, disability_status: OMIT, marital_status: OMIT, deceased: OMIT, multiple_birth: OMIT, primary_telecom: OMIT, email: OMIT, electronic_communication_opt_in: OMIT, photo: OMIT, language: OMIT, external_provenance: OMIT, non_insurance_payers: OMIT, non_insurance_payer_associations: OMIT, guarantor: OMIT, self_pay: OMIT, authorizations: OMIT, referrals: OMIT, primary_service_facility_id: OMIT, do_not_invoice_reason: OMIT, note_ids: OMIT, tag_ids: OMIT, origination_detail: OMIT, inferred_patient_metadata: OMIT, additional_properties: nil)
196
204
  @id = id
197
205
  @mrn = mrn
198
206
  @organization_id = organization_id
@@ -217,7 +225,7 @@ module CandidApiClient
217
225
  @multiple_birth = multiple_birth if multiple_birth != OMIT
218
226
  @primary_address = primary_address
219
227
  @other_addresses = other_addresses
220
- @primary_telecom = primary_telecom
228
+ @primary_telecom = primary_telecom if primary_telecom != OMIT
221
229
  @other_telecoms = other_telecoms
222
230
  @email = email if email != OMIT
223
231
  if electronic_communication_opt_in != OMIT
@@ -241,6 +249,8 @@ module CandidApiClient
241
249
  @do_not_invoice_reason = do_not_invoice_reason if do_not_invoice_reason != OMIT
242
250
  @note_ids = note_ids if note_ids != OMIT
243
251
  @tag_ids = tag_ids if tag_ids != OMIT
252
+ @origination_detail = origination_detail if origination_detail != OMIT
253
+ @inferred_patient_metadata = inferred_patient_metadata if inferred_patient_metadata != OMIT
244
254
  @additional_properties = additional_properties
245
255
  @_field_set = {
246
256
  "id": id,
@@ -286,7 +296,9 @@ module CandidApiClient
286
296
  "primary_service_facility_id": primary_service_facility_id,
287
297
  "do_not_invoice_reason": do_not_invoice_reason,
288
298
  "note_ids": note_ids,
289
- "tag_ids": tag_ids
299
+ "tag_ids": tag_ids,
300
+ "origination_detail": origination_detail,
301
+ "inferred_patient_metadata": inferred_patient_metadata
290
302
  }.reject do |_k, v|
291
303
  v == OMIT
292
304
  end
@@ -400,6 +412,18 @@ module CandidApiClient
400
412
  do_not_invoice_reason = struct["do_not_invoice_reason"]
401
413
  note_ids = struct["note_ids"]
402
414
  tag_ids = struct["tag_ids"]
415
+ if parsed_json["origination_detail"].nil?
416
+ origination_detail = nil
417
+ else
418
+ origination_detail = parsed_json["origination_detail"].to_json
419
+ origination_detail = CandidApiClient::PreEncounter::Patients::V1::Types::OriginationDetail.from_json(json_object: origination_detail)
420
+ end
421
+ if parsed_json["inferred_patient_metadata"].nil?
422
+ inferred_patient_metadata = nil
423
+ else
424
+ inferred_patient_metadata = parsed_json["inferred_patient_metadata"].to_json
425
+ inferred_patient_metadata = CandidApiClient::PreEncounter::Patients::V1::Types::InferredPatientMetadata.from_json(json_object: inferred_patient_metadata)
426
+ end
403
427
  new(
404
428
  id: id,
405
429
  mrn: mrn,
@@ -445,6 +469,8 @@ module CandidApiClient
445
469
  do_not_invoice_reason: do_not_invoice_reason,
446
470
  note_ids: note_ids,
447
471
  tag_ids: tag_ids,
472
+ origination_detail: origination_detail,
473
+ inferred_patient_metadata: inferred_patient_metadata,
448
474
  additional_properties: struct
449
475
  )
450
476
  end
@@ -487,7 +513,7 @@ module CandidApiClient
487
513
  obj.multiple_birth&.is_a?(Integer) != false || raise("Passed value for field obj.multiple_birth is not the expected type, validation failed.")
488
514
  CandidApiClient::PreEncounter::Common::Types::Address.validate_raw(obj: obj.primary_address)
489
515
  obj.other_addresses.is_a?(Array) != false || raise("Passed value for field obj.other_addresses is not the expected type, validation failed.")
490
- CandidApiClient::PreEncounter::Common::Types::ContactPoint.validate_raw(obj: obj.primary_telecom)
516
+ obj.primary_telecom.nil? || CandidApiClient::PreEncounter::Common::Types::ContactPoint.validate_raw(obj: obj.primary_telecom)
491
517
  obj.other_telecoms.is_a?(Array) != false || raise("Passed value for field obj.other_telecoms is not the expected type, validation failed.")
492
518
  obj.email&.is_a?(String) != false || raise("Passed value for field obj.email is not the expected type, validation failed.")
493
519
  obj.electronic_communication_opt_in&.is_a?(Boolean) != false || raise("Passed value for field obj.electronic_communication_opt_in is not the expected type, validation failed.")
@@ -507,6 +533,8 @@ module CandidApiClient
507
533
  obj.do_not_invoice_reason&.is_a?(CandidApiClient::PreEncounter::Patients::V1::Types::DoNotInvoiceReason) != false || raise("Passed value for field obj.do_not_invoice_reason is not the expected type, validation failed.")
508
534
  obj.note_ids&.is_a?(Array) != false || raise("Passed value for field obj.note_ids is not the expected type, validation failed.")
509
535
  obj.tag_ids&.is_a?(Array) != false || raise("Passed value for field obj.tag_ids is not the expected type, validation failed.")
536
+ obj.origination_detail.nil? || CandidApiClient::PreEncounter::Patients::V1::Types::OriginationDetail.validate_raw(obj: obj.origination_detail)
537
+ obj.inferred_patient_metadata.nil? || CandidApiClient::PreEncounter::Patients::V1::Types::InferredPatientMetadata.validate_raw(obj: obj.inferred_patient_metadata)
510
538
  end
511
539
  end
512
540
  end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CandidApiClient
4
+ module PreEncounter
5
+ module Patients
6
+ module V1
7
+ module Types
8
+ class ReferralSource
9
+ HOSPITAL = "HOSPITAL"
10
+ REFERRING_MD = "REFERRING_MD"
11
+ SELF = "SELF"
12
+ OTHER = "OTHER"
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CandidApiClient
4
+ module PreEncounter
5
+ module Patients
6
+ module V1
7
+ module Types
8
+ class ReferralType
9
+ DIRECTED = "DIRECTED"
10
+ ROTATION = "ROTATION"
11
+ OVERNIGHT = "OVERNIGHT"
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,42 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CandidApiClient
4
+ module PreEncounter
5
+ module Patients
6
+ module V1
7
+ module Types
8
+ class SpecializationCategory
9
+ BEHAVIORAL_HEALTH_THERAPY = "BEHAVIORAL_HEALTH_THERAPY"
10
+ CARDIOLOGY = "CARDIOLOGY"
11
+ DERMATOLOGY = "DERMATOLOGY"
12
+ ENDOCRINOLOGY = "ENDOCRINOLOGY"
13
+ ENT = "ENT"
14
+ GASTROENTEROLOGY = "GASTROENTEROLOGY"
15
+ GENERAL_SURGERY = "GENERAL_SURGERY"
16
+ GENETICS = "GENETICS"
17
+ HEMATOLOGY = "HEMATOLOGY"
18
+ INFECTIOUS_DISEASE = "INFECTIOUS_DISEASE"
19
+ NEUROLOGY = "NEUROLOGY"
20
+ NUTRITIONAL_THERAPY = "NUTRITIONAL_THERAPY"
21
+ OB_GYN = "OB_GYN"
22
+ ONCOLOGY = "ONCOLOGY"
23
+ OPHTHALMOLOGY = "OPHTHALMOLOGY"
24
+ ORTHOPEDICS = "ORTHOPEDICS"
25
+ PAIN_MANAGEMENT = "PAIN_MANAGEMENT"
26
+ PEDIATRICS = "PEDIATRICS"
27
+ PHYSICAL_THERAPY = "PHYSICAL_THERAPY"
28
+ PODIATRY = "PODIATRY"
29
+ PRIMARY_CARE = "PRIMARY_CARE"
30
+ PSYCHIATRY = "PSYCHIATRY"
31
+ PULMONOLOGY = "PULMONOLOGY"
32
+ RADIOLOGY = "RADIOLOGY"
33
+ RHEUMATOLOGY = "RHEUMATOLOGY"
34
+ SCREENING = "SCREENING"
35
+ UROLOGY = "UROLOGY"
36
+ OTHER = "OTHER"
37
+ end
38
+ end
39
+ end
40
+ end
41
+ end
42
+ end