candidhealth 0.33.0 → 0.34.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (28) hide show
  1. checksums.yaml +4 -4
  2. data/lib/candidhealth/encounters/v_4/client.rb +1166 -442
  3. data/lib/candidhealth/encounters/v_4/types/encounter.rb +76 -64
  4. data/lib/candidhealth/encounters/v_4/types/encounter_base.rb +48 -29
  5. data/lib/candidhealth/pre_encounter/appointments/v_1/client.rb +32 -270
  6. data/lib/candidhealth/pre_encounter/appointments/v_1/types/appointment.rb +87 -75
  7. data/lib/candidhealth/pre_encounter/appointments/v_1/types/{appointment_sort_field.rb → appointment_status.rb} +5 -3
  8. data/lib/candidhealth/pre_encounter/appointments/v_1/types/mutable_appointment.rb +87 -75
  9. data/lib/candidhealth/pre_encounter/coverages/v_1/client.rb +4 -4
  10. data/lib/candidhealth/pre_encounter/coverages/v_1/types/plan_date.rb +87 -0
  11. data/lib/candidhealth/pre_encounter/coverages/v_1/types/plan_metadata.rb +13 -10
  12. data/lib/candidhealth/pre_encounter/lists/client.rb +32 -0
  13. data/lib/candidhealth/pre_encounter/lists/v_1/client.rb +213 -0
  14. data/lib/candidhealth/pre_encounter/lists/v_1/types/appointment_list_item.rb +104 -0
  15. data/lib/candidhealth/pre_encounter/lists/v_1/types/appointment_list_page.rb +90 -0
  16. data/lib/candidhealth/pre_encounter/lists/v_1/types/patient_list_item.rb +104 -0
  17. data/lib/candidhealth/pre_encounter/lists/v_1/types/patient_list_page.rb +90 -0
  18. data/lib/candidhealth/pre_encounter/patients/v_1/client.rb +126 -150
  19. data/lib/candidhealth/pre_encounter/patients/v_1/types/guarantor.rb +121 -0
  20. data/lib/candidhealth/pre_encounter/patients/v_1/types/mutable_patient.rb +32 -2
  21. data/lib/candidhealth/pre_encounter/patients/v_1/types/patient.rb +32 -2
  22. data/lib/candidhealth/pre_encounter/patients/v_1/types/potential_duplicate_patient.rb +72 -0
  23. data/lib/candidhealth/pre_encounter/patients/v_1/types/potential_duplicate_patients_error_body.rb +84 -0
  24. data/lib/requests.rb +2 -2
  25. data/lib/types_export.rb +9 -3
  26. metadata +13 -5
  27. data/lib/candidhealth/pre_encounter/appointments/v_1/types/appointment_reason.rb +0 -19
  28. data/lib/candidhealth/pre_encounter/appointments/v_1/types/appointment_type.rb +0 -17
@@ -0,0 +1,104 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../../../patients/v_1/types/patient"
4
+ require_relative "../../../coverages/v_1/types/mutable_coverage"
5
+ require_relative "../../../appointments/v_1/types/mutable_appointment"
6
+ require "ostruct"
7
+ require "json"
8
+
9
+ module CandidApiClient
10
+ module PreEncounter
11
+ module Lists
12
+ module V1
13
+ module Types
14
+ class PatientListItem
15
+ # @return [CandidApiClient::PreEncounter::Patients::V1::Types::Patient]
16
+ attr_reader :patient
17
+ # @return [CandidApiClient::PreEncounter::Coverages::V1::Types::MutableCoverage]
18
+ attr_reader :primary_coverage
19
+ # @return [CandidApiClient::PreEncounter::Appointments::V1::Types::MutableAppointment]
20
+ attr_reader :next_appointment
21
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
22
+ attr_reader :additional_properties
23
+ # @return [Object]
24
+ attr_reader :_field_set
25
+ protected :_field_set
26
+
27
+ OMIT = Object.new
28
+
29
+ # @param patient [CandidApiClient::PreEncounter::Patients::V1::Types::Patient]
30
+ # @param primary_coverage [CandidApiClient::PreEncounter::Coverages::V1::Types::MutableCoverage]
31
+ # @param next_appointment [CandidApiClient::PreEncounter::Appointments::V1::Types::MutableAppointment]
32
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
33
+ # @return [CandidApiClient::PreEncounter::Lists::V1::Types::PatientListItem]
34
+ def initialize(patient:, primary_coverage: OMIT, next_appointment: OMIT, additional_properties: nil)
35
+ @patient = patient
36
+ @primary_coverage = primary_coverage if primary_coverage != OMIT
37
+ @next_appointment = next_appointment if next_appointment != OMIT
38
+ @additional_properties = additional_properties
39
+ @_field_set = {
40
+ "patient": patient,
41
+ "primary_coverage": primary_coverage,
42
+ "next_appointment": next_appointment
43
+ }.reject do |_k, v|
44
+ v == OMIT
45
+ end
46
+ end
47
+
48
+ # Deserialize a JSON object to an instance of PatientListItem
49
+ #
50
+ # @param json_object [String]
51
+ # @return [CandidApiClient::PreEncounter::Lists::V1::Types::PatientListItem]
52
+ def self.from_json(json_object:)
53
+ struct = JSON.parse(json_object, object_class: OpenStruct)
54
+ parsed_json = JSON.parse(json_object)
55
+ if parsed_json["patient"].nil?
56
+ patient = nil
57
+ else
58
+ patient = parsed_json["patient"].to_json
59
+ patient = CandidApiClient::PreEncounter::Patients::V1::Types::Patient.from_json(json_object: patient)
60
+ end
61
+ if parsed_json["primary_coverage"].nil?
62
+ primary_coverage = nil
63
+ else
64
+ primary_coverage = parsed_json["primary_coverage"].to_json
65
+ primary_coverage = CandidApiClient::PreEncounter::Coverages::V1::Types::MutableCoverage.from_json(json_object: primary_coverage)
66
+ end
67
+ if parsed_json["next_appointment"].nil?
68
+ next_appointment = nil
69
+ else
70
+ next_appointment = parsed_json["next_appointment"].to_json
71
+ next_appointment = CandidApiClient::PreEncounter::Appointments::V1::Types::MutableAppointment.from_json(json_object: next_appointment)
72
+ end
73
+ new(
74
+ patient: patient,
75
+ primary_coverage: primary_coverage,
76
+ next_appointment: next_appointment,
77
+ additional_properties: struct
78
+ )
79
+ end
80
+
81
+ # Serialize an instance of PatientListItem to a JSON object
82
+ #
83
+ # @return [String]
84
+ def to_json(*_args)
85
+ @_field_set&.to_json
86
+ end
87
+
88
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
89
+ # hash and check each fields type against the current object's property
90
+ # definitions.
91
+ #
92
+ # @param obj [Object]
93
+ # @return [Void]
94
+ def self.validate_raw(obj:)
95
+ CandidApiClient::PreEncounter::Patients::V1::Types::Patient.validate_raw(obj: obj.patient)
96
+ obj.primary_coverage.nil? || CandidApiClient::PreEncounter::Coverages::V1::Types::MutableCoverage.validate_raw(obj: obj.primary_coverage)
97
+ obj.next_appointment.nil? || CandidApiClient::PreEncounter::Appointments::V1::Types::MutableAppointment.validate_raw(obj: obj.next_appointment)
98
+ end
99
+ end
100
+ end
101
+ end
102
+ end
103
+ end
104
+ end
@@ -0,0 +1,90 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "patient_list_item"
4
+ require "ostruct"
5
+ require "json"
6
+
7
+ module CandidApiClient
8
+ module PreEncounter
9
+ module Lists
10
+ module V1
11
+ module Types
12
+ class PatientListPage
13
+ # @return [Array<CandidApiClient::PreEncounter::Lists::V1::Types::PatientListItem>]
14
+ attr_reader :items
15
+ # @return [String]
16
+ attr_reader :next_page_token
17
+ # @return [String]
18
+ attr_reader :prev_page_token
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 items [Array<CandidApiClient::PreEncounter::Lists::V1::Types::PatientListItem>]
28
+ # @param next_page_token [String]
29
+ # @param prev_page_token [String]
30
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
31
+ # @return [CandidApiClient::PreEncounter::Lists::V1::Types::PatientListPage]
32
+ def initialize(items:, next_page_token: OMIT, prev_page_token: OMIT, additional_properties: nil)
33
+ @items = items
34
+ @next_page_token = next_page_token if next_page_token != OMIT
35
+ @prev_page_token = prev_page_token if prev_page_token != OMIT
36
+ @additional_properties = additional_properties
37
+ @_field_set = {
38
+ "items": items,
39
+ "next_page_token": next_page_token,
40
+ "prev_page_token": prev_page_token
41
+ }.reject do |_k, v|
42
+ v == OMIT
43
+ end
44
+ end
45
+
46
+ # Deserialize a JSON object to an instance of PatientListPage
47
+ #
48
+ # @param json_object [String]
49
+ # @return [CandidApiClient::PreEncounter::Lists::V1::Types::PatientListPage]
50
+ def self.from_json(json_object:)
51
+ struct = JSON.parse(json_object, object_class: OpenStruct)
52
+ parsed_json = JSON.parse(json_object)
53
+ items = parsed_json["items"]&.map do |item|
54
+ item = item.to_json
55
+ CandidApiClient::PreEncounter::Lists::V1::Types::PatientListItem.from_json(json_object: item)
56
+ end
57
+ next_page_token = struct["next_page_token"]
58
+ prev_page_token = struct["prev_page_token"]
59
+ new(
60
+ items: items,
61
+ next_page_token: next_page_token,
62
+ prev_page_token: prev_page_token,
63
+ additional_properties: struct
64
+ )
65
+ end
66
+
67
+ # Serialize an instance of PatientListPage to a JSON object
68
+ #
69
+ # @return [String]
70
+ def to_json(*_args)
71
+ @_field_set&.to_json
72
+ end
73
+
74
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
75
+ # hash and check each fields type against the current object's property
76
+ # definitions.
77
+ #
78
+ # @param obj [Object]
79
+ # @return [Void]
80
+ def self.validate_raw(obj:)
81
+ obj.items.is_a?(Array) != false || raise("Passed value for field obj.items is not the expected type, validation failed.")
82
+ obj.next_page_token&.is_a?(String) != false || raise("Passed value for field obj.next_page_token is not the expected type, validation failed.")
83
+ obj.prev_page_token&.is_a?(String) != false || raise("Passed value for field obj.prev_page_token is not the expected type, validation failed.")
84
+ end
85
+ end
86
+ end
87
+ end
88
+ end
89
+ end
90
+ end
@@ -26,6 +26,7 @@ module CandidApiClient
26
26
  # Adds a patient. VersionConflictError is returned when the patient's external ID
27
27
  # is already in use.
28
28
  #
29
+ # @param skip_duplicate_check [Boolean]
29
30
  # @param request [Hash] Request of type CandidApiClient::PreEncounter::Patients::V1::Types::MutablePatient, as a Hash
30
31
  # * :name (Hash)
31
32
  # * :family (String)
@@ -75,12 +76,40 @@ module CandidApiClient
75
76
  # * :general_practitioners (Array<CandidApiClient::PreEncounter::Common::Types::ExternalProvider>)
76
77
  # * :filing_order (Hash)
77
78
  # * :coverages (Array<String>)
79
+ # * :non_insurance_payers (Array<String>)
80
+ # * :guarantor (Hash)
81
+ # * :name (Hash)
82
+ # * :family (String)
83
+ # * :given (Array<String>)
84
+ # * :use (CandidApiClient::PreEncounter::Common::Types::NameUse)
85
+ # * :period (Hash)
86
+ # * :start (Date)
87
+ # * :end_ (Date)
88
+ # * :telecom (Hash)
89
+ # * :value (String)
90
+ # * :use (CandidApiClient::PreEncounter::Common::Types::ContactPointUse)
91
+ # * :period (Hash)
92
+ # * :start (Date)
93
+ # * :end_ (Date)
94
+ # * :email (String)
95
+ # * :birth_date (Date)
96
+ # * :address (Hash)
97
+ # * :use (CandidApiClient::PreEncounter::Common::Types::AddressUse)
98
+ # * :line (Array<String>)
99
+ # * :city (String)
100
+ # * :state (String)
101
+ # * :postal_code (String)
102
+ # * :country (String)
103
+ # * :period (Hash)
104
+ # * :start (Date)
105
+ # * :end_ (Date)
106
+ # * :self_pay (Boolean)
78
107
  # @param request_options [CandidApiClient::RequestOptions]
79
108
  # @return [CandidApiClient::PreEncounter::Patients::V1::Types::Patient]
80
109
  # @example
81
110
  # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
82
- # api.pre_encounter.patients.v_1.create(request: { name: { family: "string", given: ["string"], use: USUAL, period: { start: {"key":"value"}, end_: {"key":"value"} } }, other_names: [{ family: "string", given: ["string"], use: USUAL, period: { start: {"key":"value"}, end_: {"key":"value"} } }], gender: MAN, birth_date: DateTime.parse(2023-01-15), social_security_number: "string", biological_sex: FEMALE, sexual_orientation: HETEROSEXUAL, race: AMERICAN_INDIAN_OR_ALASKA_NATIVE, ethnicity: HISPANIC_OR_LATINO, disability_status: DISABLED, marital_status: ANNULLED, deceased: DateTime.parse(2024-01-15T09:30:00.000Z), multiple_birth: 1, primary_address: { use: HOME, line: ["string"], city: "string", state: "string", postal_code: "string", country: "string", period: { start: {"key":"value"}, end_: {"key":"value"} } }, other_addresses: [{ use: HOME, line: ["string"], city: "string", state: "string", postal_code: "string", country: "string", period: { start: {"key":"value"}, end_: {"key":"value"} } }], primary_telecom: { value: "string", use: HOME, period: {"key":"value"} }, other_telecoms: [{ value: "string", use: HOME, period: {"key":"value"} }], email: "string", electronic_communication_opt_in: true, photo: "string", language: "string", external_provenance: { external_id: "string", system_name: "string" }, contacts: [{ relationship: [SELF], name: { family: "string", given: ["string"], use: USUAL, period: { start: {"key":"value"}, end_: {"key":"value"} } }, telecoms: [{ value: "string", use: HOME, period: {"key":"value"} }], addresses: [{ use: HOME, line: ["string"], city: "string", state: "string", postal_code: "string", country: "string", period: { start: {"key":"value"}, end_: {"key":"value"} } }], period: { start: {"key":"value"}, end_: {"key":"value"} }, hipaa_authorization: true }], general_practitioners: [{ name: { family: "string", given: ["string"], use: USUAL, period: { start: {"key":"value"}, end_: {"key":"value"} } }, type: PRIMARY, npi: "string", telecoms: [{ value: "string", use: HOME, period: {"key":"value"} }], addresses: [{"key":"value"}], period: { start: {"key":"value"}, end_: {"key":"value"} }, canonical_id: "string" }], filing_order: { coverages: ["d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32"] } })
83
- def create(request:, request_options: nil)
111
+ # api.pre_encounter.patients.v_1.create(skip_duplicate_check: true, request: { name: { family: "string", given: ["string"], use: USUAL, period: { start: DateTime.parse(2023-01-15), end_: DateTime.parse(2023-01-15) } }, other_names: [{ family: "string", given: ["string"], use: USUAL, period: { start: DateTime.parse(2023-01-15), end_: DateTime.parse(2023-01-15) } }], gender: MAN, birth_date: DateTime.parse(2023-01-15), social_security_number: "string", biological_sex: FEMALE, sexual_orientation: HETEROSEXUAL, race: AMERICAN_INDIAN_OR_ALASKA_NATIVE, ethnicity: HISPANIC_OR_LATINO, disability_status: DISABLED, marital_status: ANNULLED, deceased: DateTime.parse(2024-01-15T09:30:00.000Z), multiple_birth: 1, primary_address: { use: HOME, line: ["string"], city: "string", state: "string", postal_code: "string", country: "string", period: { start: DateTime.parse(2023-01-15), end_: DateTime.parse(2023-01-15) } }, other_addresses: [{ use: HOME, line: ["string"], city: "string", state: "string", postal_code: "string", country: "string", period: { start: DateTime.parse(2023-01-15), end_: DateTime.parse(2023-01-15) } }], primary_telecom: { value: "string", use: HOME, period: { start: DateTime.parse(2023-01-15), end_: DateTime.parse(2023-01-15) } }, other_telecoms: [{ value: "string", use: HOME, period: { start: DateTime.parse(2023-01-15), end_: DateTime.parse(2023-01-15) } }], email: "string", electronic_communication_opt_in: true, photo: "string", language: "string", external_provenance: { external_id: "string", system_name: "string" }, contacts: [{ relationship: [SELF], name: { family: "string", given: ["string"], use: USUAL, period: { start: DateTime.parse(2023-01-15), end_: DateTime.parse(2023-01-15) } }, telecoms: [{ value: "string", use: HOME, period: { start: DateTime.parse(2023-01-15), end_: DateTime.parse(2023-01-15) } }], addresses: [{ use: HOME, line: ["string"], city: "string", state: "string", postal_code: "string", country: "string", period: { start: DateTime.parse(2023-01-15), end_: DateTime.parse(2023-01-15) } }], period: { start: DateTime.parse(2023-01-15), end_: DateTime.parse(2023-01-15) }, hipaa_authorization: true }], general_practitioners: [{ name: { family: "string", given: ["string"], use: USUAL, period: { start: DateTime.parse(2023-01-15), end_: DateTime.parse(2023-01-15) } }, type: PRIMARY, npi: "string", telecoms: [{ value: "string", use: HOME, period: { start: DateTime.parse(2023-01-15), end_: DateTime.parse(2023-01-15) } }], addresses: [{"key":"value"}], period: { start: DateTime.parse(2023-01-15), end_: DateTime.parse(2023-01-15) }, canonical_id: "string" }], filing_order: { coverages: ["d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32"] }, non_insurance_payers: ["string"], guarantor: { name: { family: "string", given: ["string"], use: USUAL, period: { start: DateTime.parse(2023-01-15), end_: DateTime.parse(2023-01-15) } }, telecom: { value: "string", use: HOME, period: { start: DateTime.parse(2023-01-15), end_: DateTime.parse(2023-01-15) } }, email: "string", birth_date: DateTime.parse(2023-01-15), address: { use: HOME, line: ["string"], city: "string", state: "string", postal_code: "string", country: "string", period: { start: DateTime.parse(2023-01-15), end_: DateTime.parse(2023-01-15) } } }, self_pay: true })
112
+ def create(request:, skip_duplicate_check: nil, request_options: nil)
84
113
  response = @request_client.conn.post do |req|
85
114
  req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
86
115
  req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
@@ -89,77 +118,9 @@ module CandidApiClient
89
118
  **@request_client.get_headers,
90
119
  **(request_options&.additional_headers || {})
91
120
  }.compact
92
- req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
93
- req.url "#{@request_client.get_url(environment: PreEncounter,
94
- request_options: request_options)}/patients/v1"
95
- end
96
- CandidApiClient::PreEncounter::Patients::V1::Types::Patient.from_json(json_object: response.body)
97
- end
98
-
99
- # Adds a patient without checking for duplicates.
100
- #
101
- # @param request [Hash] Request of type CandidApiClient::PreEncounter::Patients::V1::Types::MutablePatient, as a Hash
102
- # * :name (Hash)
103
- # * :family (String)
104
- # * :given (Array<String>)
105
- # * :use (CandidApiClient::PreEncounter::Common::Types::NameUse)
106
- # * :period (Hash)
107
- # * :start (Date)
108
- # * :end_ (Date)
109
- # * :other_names (Array<CandidApiClient::PreEncounter::Common::Types::HumanName>)
110
- # * :gender (CandidApiClient::PreEncounter::Common::Types::Gender)
111
- # * :birth_date (Date)
112
- # * :social_security_number (String)
113
- # * :biological_sex (CandidApiClient::PreEncounter::Common::Types::Sex)
114
- # * :sexual_orientation (CandidApiClient::PreEncounter::Common::Types::SexualOrientation)
115
- # * :race (CandidApiClient::PreEncounter::Common::Types::Race)
116
- # * :ethnicity (CandidApiClient::PreEncounter::Common::Types::Ethnicity)
117
- # * :disability_status (CandidApiClient::PreEncounter::Common::Types::DisabilityStatus)
118
- # * :marital_status (CandidApiClient::PreEncounter::Patients::V1::Types::MaritalStatus)
119
- # * :deceased (DateTime)
120
- # * :multiple_birth (Integer)
121
- # * :primary_address (Hash)
122
- # * :use (CandidApiClient::PreEncounter::Common::Types::AddressUse)
123
- # * :line (Array<String>)
124
- # * :city (String)
125
- # * :state (String)
126
- # * :postal_code (String)
127
- # * :country (String)
128
- # * :period (Hash)
129
- # * :start (Date)
130
- # * :end_ (Date)
131
- # * :other_addresses (Array<CandidApiClient::PreEncounter::Common::Types::Address>)
132
- # * :primary_telecom (Hash)
133
- # * :value (String)
134
- # * :use (CandidApiClient::PreEncounter::Common::Types::ContactPointUse)
135
- # * :period (Hash)
136
- # * :start (Date)
137
- # * :end_ (Date)
138
- # * :other_telecoms (Array<CandidApiClient::PreEncounter::Common::Types::ContactPoint>)
139
- # * :email (String)
140
- # * :electronic_communication_opt_in (Boolean)
141
- # * :photo (String)
142
- # * :language (String)
143
- # * :external_provenance (Hash)
144
- # * :external_id (String)
145
- # * :system_name (String)
146
- # * :contacts (Array<CandidApiClient::PreEncounter::Patients::V1::Types::Contact>)
147
- # * :general_practitioners (Array<CandidApiClient::PreEncounter::Common::Types::ExternalProvider>)
148
- # * :filing_order (Hash)
149
- # * :coverages (Array<String>)
150
- # @param request_options [CandidApiClient::RequestOptions]
151
- # @return [CandidApiClient::PreEncounter::Patients::V1::Types::Patient]
152
- # @example
153
- # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
154
- # api.pre_encounter.patients.v_1.create_no_duplicate_check(request: { name: { family: "string", given: ["string"], use: USUAL, period: { start: {"key":"value"}, end_: {"key":"value"} } }, other_names: [{ family: "string", given: ["string"], use: USUAL, period: { start: {"key":"value"}, end_: {"key":"value"} } }], gender: MAN, birth_date: DateTime.parse(2023-01-15), social_security_number: "string", biological_sex: FEMALE, sexual_orientation: HETEROSEXUAL, race: AMERICAN_INDIAN_OR_ALASKA_NATIVE, ethnicity: HISPANIC_OR_LATINO, disability_status: DISABLED, marital_status: ANNULLED, deceased: DateTime.parse(2024-01-15T09:30:00.000Z), multiple_birth: 1, primary_address: { use: HOME, line: ["string"], city: "string", state: "string", postal_code: "string", country: "string", period: { start: {"key":"value"}, end_: {"key":"value"} } }, other_addresses: [{ use: HOME, line: ["string"], city: "string", state: "string", postal_code: "string", country: "string", period: { start: {"key":"value"}, end_: {"key":"value"} } }], primary_telecom: { value: "string", use: HOME, period: {"key":"value"} }, other_telecoms: [{ value: "string", use: HOME, period: {"key":"value"} }], email: "string", electronic_communication_opt_in: true, photo: "string", language: "string", external_provenance: { external_id: "string", system_name: "string" }, contacts: [{ relationship: [SELF], name: { family: "string", given: ["string"], use: USUAL, period: { start: {"key":"value"}, end_: {"key":"value"} } }, telecoms: [{ value: "string", use: HOME, period: {"key":"value"} }], addresses: [{ use: HOME, line: ["string"], city: "string", state: "string", postal_code: "string", country: "string", period: { start: {"key":"value"}, end_: {"key":"value"} } }], period: { start: {"key":"value"}, end_: {"key":"value"} }, hipaa_authorization: true }], general_practitioners: [{ name: { family: "string", given: ["string"], use: USUAL, period: { start: {"key":"value"}, end_: {"key":"value"} } }, type: PRIMARY, npi: "string", telecoms: [{ value: "string", use: HOME, period: {"key":"value"} }], addresses: [{"key":"value"}], period: { start: {"key":"value"}, end_: {"key":"value"} }, canonical_id: "string" }], filing_order: { coverages: ["d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32"] } })
155
- def create_no_duplicate_check(request:, request_options: nil)
156
- response = @request_client.conn.post do |req|
157
- req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
158
- req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
159
- req.headers = {
160
- **(req.headers || {}),
161
- **@request_client.get_headers,
162
- **(request_options&.additional_headers || {})
121
+ req.params = {
122
+ **(request_options&.additional_query_parameters || {}),
123
+ "skip_duplicate_check": skip_duplicate_check
163
124
  }.compact
164
125
  req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
165
126
  req.url "#{@request_client.get_url(environment: PreEncounter,
@@ -315,6 +276,34 @@ module CandidApiClient
315
276
  # * :general_practitioners (Array<CandidApiClient::PreEncounter::Common::Types::ExternalProvider>)
316
277
  # * :filing_order (Hash)
317
278
  # * :coverages (Array<String>)
279
+ # * :non_insurance_payers (Array<String>)
280
+ # * :guarantor (Hash)
281
+ # * :name (Hash)
282
+ # * :family (String)
283
+ # * :given (Array<String>)
284
+ # * :use (CandidApiClient::PreEncounter::Common::Types::NameUse)
285
+ # * :period (Hash)
286
+ # * :start (Date)
287
+ # * :end_ (Date)
288
+ # * :telecom (Hash)
289
+ # * :value (String)
290
+ # * :use (CandidApiClient::PreEncounter::Common::Types::ContactPointUse)
291
+ # * :period (Hash)
292
+ # * :start (Date)
293
+ # * :end_ (Date)
294
+ # * :email (String)
295
+ # * :birth_date (Date)
296
+ # * :address (Hash)
297
+ # * :use (CandidApiClient::PreEncounter::Common::Types::AddressUse)
298
+ # * :line (Array<String>)
299
+ # * :city (String)
300
+ # * :state (String)
301
+ # * :postal_code (String)
302
+ # * :country (String)
303
+ # * :period (Hash)
304
+ # * :start (Date)
305
+ # * :end_ (Date)
306
+ # * :self_pay (Boolean)
318
307
  # @param request_options [CandidApiClient::RequestOptions]
319
308
  # @return [CandidApiClient::PreEncounter::Patients::V1::Types::Patient]
320
309
  # @example
@@ -322,7 +311,7 @@ module CandidApiClient
322
311
  # api.pre_encounter.patients.v_1.update(
323
312
  # id: "string",
324
313
  # version: "string",
325
- # request: { name: { family: "string", given: ["string"], use: USUAL, period: { start: {"key":"value"}, end_: {"key":"value"} } }, other_names: [{ family: "string", given: ["string"], use: USUAL, period: { start: {"key":"value"}, end_: {"key":"value"} } }], gender: MAN, birth_date: DateTime.parse(2023-01-15), social_security_number: "string", biological_sex: FEMALE, sexual_orientation: HETEROSEXUAL, race: AMERICAN_INDIAN_OR_ALASKA_NATIVE, ethnicity: HISPANIC_OR_LATINO, disability_status: DISABLED, marital_status: ANNULLED, deceased: DateTime.parse(2024-01-15T09:30:00.000Z), multiple_birth: 1, primary_address: { use: HOME, line: ["string"], city: "string", state: "string", postal_code: "string", country: "string", period: { start: {"key":"value"}, end_: {"key":"value"} } }, other_addresses: [{ use: HOME, line: ["string"], city: "string", state: "string", postal_code: "string", country: "string", period: { start: {"key":"value"}, end_: {"key":"value"} } }], primary_telecom: { value: "string", use: HOME, period: {"key":"value"} }, other_telecoms: [{ value: "string", use: HOME, period: {"key":"value"} }], email: "string", electronic_communication_opt_in: true, photo: "string", language: "string", external_provenance: { external_id: "string", system_name: "string" }, contacts: [{ relationship: [SELF], name: { family: "string", given: ["string"], use: USUAL, period: { start: {"key":"value"}, end_: {"key":"value"} } }, telecoms: [{ value: "string", use: HOME, period: {"key":"value"} }], addresses: [{ use: HOME, line: ["string"], city: "string", state: "string", postal_code: "string", country: "string", period: { start: {"key":"value"}, end_: {"key":"value"} } }], period: { start: {"key":"value"}, end_: {"key":"value"} }, hipaa_authorization: true }], general_practitioners: [{ name: { family: "string", given: ["string"], use: USUAL, period: { start: {"key":"value"}, end_: {"key":"value"} } }, type: PRIMARY, npi: "string", telecoms: [{ value: "string", use: HOME, period: {"key":"value"} }], addresses: [{"key":"value"}], period: { start: {"key":"value"}, end_: {"key":"value"} }, canonical_id: "string" }], filing_order: { coverages: ["d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32"] } }
314
+ # request: { name: { family: "string", given: ["string"], use: USUAL, period: { start: DateTime.parse(2023-01-15), end_: DateTime.parse(2023-01-15) } }, other_names: [{ family: "string", given: ["string"], use: USUAL, period: { start: DateTime.parse(2023-01-15), end_: DateTime.parse(2023-01-15) } }], gender: MAN, birth_date: DateTime.parse(2023-01-15), social_security_number: "string", biological_sex: FEMALE, sexual_orientation: HETEROSEXUAL, race: AMERICAN_INDIAN_OR_ALASKA_NATIVE, ethnicity: HISPANIC_OR_LATINO, disability_status: DISABLED, marital_status: ANNULLED, deceased: DateTime.parse(2024-01-15T09:30:00.000Z), multiple_birth: 1, primary_address: { use: HOME, line: ["string"], city: "string", state: "string", postal_code: "string", country: "string", period: { start: DateTime.parse(2023-01-15), end_: DateTime.parse(2023-01-15) } }, other_addresses: [{ use: HOME, line: ["string"], city: "string", state: "string", postal_code: "string", country: "string", period: { start: DateTime.parse(2023-01-15), end_: DateTime.parse(2023-01-15) } }], primary_telecom: { value: "string", use: HOME, period: { start: DateTime.parse(2023-01-15), end_: DateTime.parse(2023-01-15) } }, other_telecoms: [{ value: "string", use: HOME, period: { start: DateTime.parse(2023-01-15), end_: DateTime.parse(2023-01-15) } }], email: "string", electronic_communication_opt_in: true, photo: "string", language: "string", external_provenance: { external_id: "string", system_name: "string" }, contacts: [{ relationship: [SELF], name: { family: "string", given: ["string"], use: USUAL, period: { start: DateTime.parse(2023-01-15), end_: DateTime.parse(2023-01-15) } }, telecoms: [{ value: "string", use: HOME, period: { start: DateTime.parse(2023-01-15), end_: DateTime.parse(2023-01-15) } }], addresses: [{ use: HOME, line: ["string"], city: "string", state: "string", postal_code: "string", country: "string", period: { start: DateTime.parse(2023-01-15), end_: DateTime.parse(2023-01-15) } }], period: { start: DateTime.parse(2023-01-15), end_: DateTime.parse(2023-01-15) }, hipaa_authorization: true }], general_practitioners: [{ name: { family: "string", given: ["string"], use: USUAL, period: { start: DateTime.parse(2023-01-15), end_: DateTime.parse(2023-01-15) } }, type: PRIMARY, npi: "string", telecoms: [{ value: "string", use: HOME, period: { start: DateTime.parse(2023-01-15), end_: DateTime.parse(2023-01-15) } }], addresses: [{"key":"value"}], period: { start: DateTime.parse(2023-01-15), end_: DateTime.parse(2023-01-15) }, canonical_id: "string" }], filing_order: { coverages: ["d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32"] }, non_insurance_payers: ["string"], guarantor: { name: { family: "string", given: ["string"], use: USUAL, period: { start: DateTime.parse(2023-01-15), end_: DateTime.parse(2023-01-15) } }, telecom: { value: "string", use: HOME, period: { start: DateTime.parse(2023-01-15), end_: DateTime.parse(2023-01-15) } }, email: "string", birth_date: DateTime.parse(2023-01-15), address: { use: HOME, line: ["string"], city: "string", state: "string", postal_code: "string", country: "string", period: { start: DateTime.parse(2023-01-15), end_: DateTime.parse(2023-01-15) } } }, self_pay: true }
326
315
  # )
327
316
  def update(id:, version:, request:, request_options: nil)
328
317
  response = @request_client.conn.put do |req|
@@ -442,6 +431,7 @@ module CandidApiClient
442
431
  # Adds a patient. VersionConflictError is returned when the patient's external ID
443
432
  # is already in use.
444
433
  #
434
+ # @param skip_duplicate_check [Boolean]
445
435
  # @param request [Hash] Request of type CandidApiClient::PreEncounter::Patients::V1::Types::MutablePatient, as a Hash
446
436
  # * :name (Hash)
447
437
  # * :family (String)
@@ -491,12 +481,40 @@ module CandidApiClient
491
481
  # * :general_practitioners (Array<CandidApiClient::PreEncounter::Common::Types::ExternalProvider>)
492
482
  # * :filing_order (Hash)
493
483
  # * :coverages (Array<String>)
484
+ # * :non_insurance_payers (Array<String>)
485
+ # * :guarantor (Hash)
486
+ # * :name (Hash)
487
+ # * :family (String)
488
+ # * :given (Array<String>)
489
+ # * :use (CandidApiClient::PreEncounter::Common::Types::NameUse)
490
+ # * :period (Hash)
491
+ # * :start (Date)
492
+ # * :end_ (Date)
493
+ # * :telecom (Hash)
494
+ # * :value (String)
495
+ # * :use (CandidApiClient::PreEncounter::Common::Types::ContactPointUse)
496
+ # * :period (Hash)
497
+ # * :start (Date)
498
+ # * :end_ (Date)
499
+ # * :email (String)
500
+ # * :birth_date (Date)
501
+ # * :address (Hash)
502
+ # * :use (CandidApiClient::PreEncounter::Common::Types::AddressUse)
503
+ # * :line (Array<String>)
504
+ # * :city (String)
505
+ # * :state (String)
506
+ # * :postal_code (String)
507
+ # * :country (String)
508
+ # * :period (Hash)
509
+ # * :start (Date)
510
+ # * :end_ (Date)
511
+ # * :self_pay (Boolean)
494
512
  # @param request_options [CandidApiClient::RequestOptions]
495
513
  # @return [CandidApiClient::PreEncounter::Patients::V1::Types::Patient]
496
514
  # @example
497
515
  # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
498
- # api.pre_encounter.patients.v_1.create(request: { name: { family: "string", given: ["string"], use: USUAL, period: { start: {"key":"value"}, end_: {"key":"value"} } }, other_names: [{ family: "string", given: ["string"], use: USUAL, period: { start: {"key":"value"}, end_: {"key":"value"} } }], gender: MAN, birth_date: DateTime.parse(2023-01-15), social_security_number: "string", biological_sex: FEMALE, sexual_orientation: HETEROSEXUAL, race: AMERICAN_INDIAN_OR_ALASKA_NATIVE, ethnicity: HISPANIC_OR_LATINO, disability_status: DISABLED, marital_status: ANNULLED, deceased: DateTime.parse(2024-01-15T09:30:00.000Z), multiple_birth: 1, primary_address: { use: HOME, line: ["string"], city: "string", state: "string", postal_code: "string", country: "string", period: { start: {"key":"value"}, end_: {"key":"value"} } }, other_addresses: [{ use: HOME, line: ["string"], city: "string", state: "string", postal_code: "string", country: "string", period: { start: {"key":"value"}, end_: {"key":"value"} } }], primary_telecom: { value: "string", use: HOME, period: {"key":"value"} }, other_telecoms: [{ value: "string", use: HOME, period: {"key":"value"} }], email: "string", electronic_communication_opt_in: true, photo: "string", language: "string", external_provenance: { external_id: "string", system_name: "string" }, contacts: [{ relationship: [SELF], name: { family: "string", given: ["string"], use: USUAL, period: { start: {"key":"value"}, end_: {"key":"value"} } }, telecoms: [{ value: "string", use: HOME, period: {"key":"value"} }], addresses: [{ use: HOME, line: ["string"], city: "string", state: "string", postal_code: "string", country: "string", period: { start: {"key":"value"}, end_: {"key":"value"} } }], period: { start: {"key":"value"}, end_: {"key":"value"} }, hipaa_authorization: true }], general_practitioners: [{ name: { family: "string", given: ["string"], use: USUAL, period: { start: {"key":"value"}, end_: {"key":"value"} } }, type: PRIMARY, npi: "string", telecoms: [{ value: "string", use: HOME, period: {"key":"value"} }], addresses: [{"key":"value"}], period: { start: {"key":"value"}, end_: {"key":"value"} }, canonical_id: "string" }], filing_order: { coverages: ["d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32"] } })
499
- def create(request:, request_options: nil)
516
+ # api.pre_encounter.patients.v_1.create(skip_duplicate_check: true, request: { name: { family: "string", given: ["string"], use: USUAL, period: { start: DateTime.parse(2023-01-15), end_: DateTime.parse(2023-01-15) } }, other_names: [{ family: "string", given: ["string"], use: USUAL, period: { start: DateTime.parse(2023-01-15), end_: DateTime.parse(2023-01-15) } }], gender: MAN, birth_date: DateTime.parse(2023-01-15), social_security_number: "string", biological_sex: FEMALE, sexual_orientation: HETEROSEXUAL, race: AMERICAN_INDIAN_OR_ALASKA_NATIVE, ethnicity: HISPANIC_OR_LATINO, disability_status: DISABLED, marital_status: ANNULLED, deceased: DateTime.parse(2024-01-15T09:30:00.000Z), multiple_birth: 1, primary_address: { use: HOME, line: ["string"], city: "string", state: "string", postal_code: "string", country: "string", period: { start: DateTime.parse(2023-01-15), end_: DateTime.parse(2023-01-15) } }, other_addresses: [{ use: HOME, line: ["string"], city: "string", state: "string", postal_code: "string", country: "string", period: { start: DateTime.parse(2023-01-15), end_: DateTime.parse(2023-01-15) } }], primary_telecom: { value: "string", use: HOME, period: { start: DateTime.parse(2023-01-15), end_: DateTime.parse(2023-01-15) } }, other_telecoms: [{ value: "string", use: HOME, period: { start: DateTime.parse(2023-01-15), end_: DateTime.parse(2023-01-15) } }], email: "string", electronic_communication_opt_in: true, photo: "string", language: "string", external_provenance: { external_id: "string", system_name: "string" }, contacts: [{ relationship: [SELF], name: { family: "string", given: ["string"], use: USUAL, period: { start: DateTime.parse(2023-01-15), end_: DateTime.parse(2023-01-15) } }, telecoms: [{ value: "string", use: HOME, period: { start: DateTime.parse(2023-01-15), end_: DateTime.parse(2023-01-15) } }], addresses: [{ use: HOME, line: ["string"], city: "string", state: "string", postal_code: "string", country: "string", period: { start: DateTime.parse(2023-01-15), end_: DateTime.parse(2023-01-15) } }], period: { start: DateTime.parse(2023-01-15), end_: DateTime.parse(2023-01-15) }, hipaa_authorization: true }], general_practitioners: [{ name: { family: "string", given: ["string"], use: USUAL, period: { start: DateTime.parse(2023-01-15), end_: DateTime.parse(2023-01-15) } }, type: PRIMARY, npi: "string", telecoms: [{ value: "string", use: HOME, period: { start: DateTime.parse(2023-01-15), end_: DateTime.parse(2023-01-15) } }], addresses: [{"key":"value"}], period: { start: DateTime.parse(2023-01-15), end_: DateTime.parse(2023-01-15) }, canonical_id: "string" }], filing_order: { coverages: ["d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32"] }, non_insurance_payers: ["string"], guarantor: { name: { family: "string", given: ["string"], use: USUAL, period: { start: DateTime.parse(2023-01-15), end_: DateTime.parse(2023-01-15) } }, telecom: { value: "string", use: HOME, period: { start: DateTime.parse(2023-01-15), end_: DateTime.parse(2023-01-15) } }, email: "string", birth_date: DateTime.parse(2023-01-15), address: { use: HOME, line: ["string"], city: "string", state: "string", postal_code: "string", country: "string", period: { start: DateTime.parse(2023-01-15), end_: DateTime.parse(2023-01-15) } } }, self_pay: true })
517
+ def create(request:, skip_duplicate_check: nil, request_options: nil)
500
518
  Async do
501
519
  response = @request_client.conn.post do |req|
502
520
  req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
@@ -506,79 +524,9 @@ module CandidApiClient
506
524
  **@request_client.get_headers,
507
525
  **(request_options&.additional_headers || {})
508
526
  }.compact
509
- req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
510
- req.url "#{@request_client.get_url(environment: PreEncounter,
511
- request_options: request_options)}/patients/v1"
512
- end
513
- CandidApiClient::PreEncounter::Patients::V1::Types::Patient.from_json(json_object: response.body)
514
- end
515
- end
516
-
517
- # Adds a patient without checking for duplicates.
518
- #
519
- # @param request [Hash] Request of type CandidApiClient::PreEncounter::Patients::V1::Types::MutablePatient, as a Hash
520
- # * :name (Hash)
521
- # * :family (String)
522
- # * :given (Array<String>)
523
- # * :use (CandidApiClient::PreEncounter::Common::Types::NameUse)
524
- # * :period (Hash)
525
- # * :start (Date)
526
- # * :end_ (Date)
527
- # * :other_names (Array<CandidApiClient::PreEncounter::Common::Types::HumanName>)
528
- # * :gender (CandidApiClient::PreEncounter::Common::Types::Gender)
529
- # * :birth_date (Date)
530
- # * :social_security_number (String)
531
- # * :biological_sex (CandidApiClient::PreEncounter::Common::Types::Sex)
532
- # * :sexual_orientation (CandidApiClient::PreEncounter::Common::Types::SexualOrientation)
533
- # * :race (CandidApiClient::PreEncounter::Common::Types::Race)
534
- # * :ethnicity (CandidApiClient::PreEncounter::Common::Types::Ethnicity)
535
- # * :disability_status (CandidApiClient::PreEncounter::Common::Types::DisabilityStatus)
536
- # * :marital_status (CandidApiClient::PreEncounter::Patients::V1::Types::MaritalStatus)
537
- # * :deceased (DateTime)
538
- # * :multiple_birth (Integer)
539
- # * :primary_address (Hash)
540
- # * :use (CandidApiClient::PreEncounter::Common::Types::AddressUse)
541
- # * :line (Array<String>)
542
- # * :city (String)
543
- # * :state (String)
544
- # * :postal_code (String)
545
- # * :country (String)
546
- # * :period (Hash)
547
- # * :start (Date)
548
- # * :end_ (Date)
549
- # * :other_addresses (Array<CandidApiClient::PreEncounter::Common::Types::Address>)
550
- # * :primary_telecom (Hash)
551
- # * :value (String)
552
- # * :use (CandidApiClient::PreEncounter::Common::Types::ContactPointUse)
553
- # * :period (Hash)
554
- # * :start (Date)
555
- # * :end_ (Date)
556
- # * :other_telecoms (Array<CandidApiClient::PreEncounter::Common::Types::ContactPoint>)
557
- # * :email (String)
558
- # * :electronic_communication_opt_in (Boolean)
559
- # * :photo (String)
560
- # * :language (String)
561
- # * :external_provenance (Hash)
562
- # * :external_id (String)
563
- # * :system_name (String)
564
- # * :contacts (Array<CandidApiClient::PreEncounter::Patients::V1::Types::Contact>)
565
- # * :general_practitioners (Array<CandidApiClient::PreEncounter::Common::Types::ExternalProvider>)
566
- # * :filing_order (Hash)
567
- # * :coverages (Array<String>)
568
- # @param request_options [CandidApiClient::RequestOptions]
569
- # @return [CandidApiClient::PreEncounter::Patients::V1::Types::Patient]
570
- # @example
571
- # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
572
- # api.pre_encounter.patients.v_1.create_no_duplicate_check(request: { name: { family: "string", given: ["string"], use: USUAL, period: { start: {"key":"value"}, end_: {"key":"value"} } }, other_names: [{ family: "string", given: ["string"], use: USUAL, period: { start: {"key":"value"}, end_: {"key":"value"} } }], gender: MAN, birth_date: DateTime.parse(2023-01-15), social_security_number: "string", biological_sex: FEMALE, sexual_orientation: HETEROSEXUAL, race: AMERICAN_INDIAN_OR_ALASKA_NATIVE, ethnicity: HISPANIC_OR_LATINO, disability_status: DISABLED, marital_status: ANNULLED, deceased: DateTime.parse(2024-01-15T09:30:00.000Z), multiple_birth: 1, primary_address: { use: HOME, line: ["string"], city: "string", state: "string", postal_code: "string", country: "string", period: { start: {"key":"value"}, end_: {"key":"value"} } }, other_addresses: [{ use: HOME, line: ["string"], city: "string", state: "string", postal_code: "string", country: "string", period: { start: {"key":"value"}, end_: {"key":"value"} } }], primary_telecom: { value: "string", use: HOME, period: {"key":"value"} }, other_telecoms: [{ value: "string", use: HOME, period: {"key":"value"} }], email: "string", electronic_communication_opt_in: true, photo: "string", language: "string", external_provenance: { external_id: "string", system_name: "string" }, contacts: [{ relationship: [SELF], name: { family: "string", given: ["string"], use: USUAL, period: { start: {"key":"value"}, end_: {"key":"value"} } }, telecoms: [{ value: "string", use: HOME, period: {"key":"value"} }], addresses: [{ use: HOME, line: ["string"], city: "string", state: "string", postal_code: "string", country: "string", period: { start: {"key":"value"}, end_: {"key":"value"} } }], period: { start: {"key":"value"}, end_: {"key":"value"} }, hipaa_authorization: true }], general_practitioners: [{ name: { family: "string", given: ["string"], use: USUAL, period: { start: {"key":"value"}, end_: {"key":"value"} } }, type: PRIMARY, npi: "string", telecoms: [{ value: "string", use: HOME, period: {"key":"value"} }], addresses: [{"key":"value"}], period: { start: {"key":"value"}, end_: {"key":"value"} }, canonical_id: "string" }], filing_order: { coverages: ["d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32"] } })
573
- def create_no_duplicate_check(request:, request_options: nil)
574
- Async do
575
- response = @request_client.conn.post do |req|
576
- req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
577
- req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
578
- req.headers = {
579
- **(req.headers || {}),
580
- **@request_client.get_headers,
581
- **(request_options&.additional_headers || {})
527
+ req.params = {
528
+ **(request_options&.additional_query_parameters || {}),
529
+ "skip_duplicate_check": skip_duplicate_check
582
530
  }.compact
583
531
  req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
584
532
  req.url "#{@request_client.get_url(environment: PreEncounter,
@@ -741,6 +689,34 @@ module CandidApiClient
741
689
  # * :general_practitioners (Array<CandidApiClient::PreEncounter::Common::Types::ExternalProvider>)
742
690
  # * :filing_order (Hash)
743
691
  # * :coverages (Array<String>)
692
+ # * :non_insurance_payers (Array<String>)
693
+ # * :guarantor (Hash)
694
+ # * :name (Hash)
695
+ # * :family (String)
696
+ # * :given (Array<String>)
697
+ # * :use (CandidApiClient::PreEncounter::Common::Types::NameUse)
698
+ # * :period (Hash)
699
+ # * :start (Date)
700
+ # * :end_ (Date)
701
+ # * :telecom (Hash)
702
+ # * :value (String)
703
+ # * :use (CandidApiClient::PreEncounter::Common::Types::ContactPointUse)
704
+ # * :period (Hash)
705
+ # * :start (Date)
706
+ # * :end_ (Date)
707
+ # * :email (String)
708
+ # * :birth_date (Date)
709
+ # * :address (Hash)
710
+ # * :use (CandidApiClient::PreEncounter::Common::Types::AddressUse)
711
+ # * :line (Array<String>)
712
+ # * :city (String)
713
+ # * :state (String)
714
+ # * :postal_code (String)
715
+ # * :country (String)
716
+ # * :period (Hash)
717
+ # * :start (Date)
718
+ # * :end_ (Date)
719
+ # * :self_pay (Boolean)
744
720
  # @param request_options [CandidApiClient::RequestOptions]
745
721
  # @return [CandidApiClient::PreEncounter::Patients::V1::Types::Patient]
746
722
  # @example
@@ -748,7 +724,7 @@ module CandidApiClient
748
724
  # api.pre_encounter.patients.v_1.update(
749
725
  # id: "string",
750
726
  # version: "string",
751
- # request: { name: { family: "string", given: ["string"], use: USUAL, period: { start: {"key":"value"}, end_: {"key":"value"} } }, other_names: [{ family: "string", given: ["string"], use: USUAL, period: { start: {"key":"value"}, end_: {"key":"value"} } }], gender: MAN, birth_date: DateTime.parse(2023-01-15), social_security_number: "string", biological_sex: FEMALE, sexual_orientation: HETEROSEXUAL, race: AMERICAN_INDIAN_OR_ALASKA_NATIVE, ethnicity: HISPANIC_OR_LATINO, disability_status: DISABLED, marital_status: ANNULLED, deceased: DateTime.parse(2024-01-15T09:30:00.000Z), multiple_birth: 1, primary_address: { use: HOME, line: ["string"], city: "string", state: "string", postal_code: "string", country: "string", period: { start: {"key":"value"}, end_: {"key":"value"} } }, other_addresses: [{ use: HOME, line: ["string"], city: "string", state: "string", postal_code: "string", country: "string", period: { start: {"key":"value"}, end_: {"key":"value"} } }], primary_telecom: { value: "string", use: HOME, period: {"key":"value"} }, other_telecoms: [{ value: "string", use: HOME, period: {"key":"value"} }], email: "string", electronic_communication_opt_in: true, photo: "string", language: "string", external_provenance: { external_id: "string", system_name: "string" }, contacts: [{ relationship: [SELF], name: { family: "string", given: ["string"], use: USUAL, period: { start: {"key":"value"}, end_: {"key":"value"} } }, telecoms: [{ value: "string", use: HOME, period: {"key":"value"} }], addresses: [{ use: HOME, line: ["string"], city: "string", state: "string", postal_code: "string", country: "string", period: { start: {"key":"value"}, end_: {"key":"value"} } }], period: { start: {"key":"value"}, end_: {"key":"value"} }, hipaa_authorization: true }], general_practitioners: [{ name: { family: "string", given: ["string"], use: USUAL, period: { start: {"key":"value"}, end_: {"key":"value"} } }, type: PRIMARY, npi: "string", telecoms: [{ value: "string", use: HOME, period: {"key":"value"} }], addresses: [{"key":"value"}], period: { start: {"key":"value"}, end_: {"key":"value"} }, canonical_id: "string" }], filing_order: { coverages: ["d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32"] } }
727
+ # request: { name: { family: "string", given: ["string"], use: USUAL, period: { start: DateTime.parse(2023-01-15), end_: DateTime.parse(2023-01-15) } }, other_names: [{ family: "string", given: ["string"], use: USUAL, period: { start: DateTime.parse(2023-01-15), end_: DateTime.parse(2023-01-15) } }], gender: MAN, birth_date: DateTime.parse(2023-01-15), social_security_number: "string", biological_sex: FEMALE, sexual_orientation: HETEROSEXUAL, race: AMERICAN_INDIAN_OR_ALASKA_NATIVE, ethnicity: HISPANIC_OR_LATINO, disability_status: DISABLED, marital_status: ANNULLED, deceased: DateTime.parse(2024-01-15T09:30:00.000Z), multiple_birth: 1, primary_address: { use: HOME, line: ["string"], city: "string", state: "string", postal_code: "string", country: "string", period: { start: DateTime.parse(2023-01-15), end_: DateTime.parse(2023-01-15) } }, other_addresses: [{ use: HOME, line: ["string"], city: "string", state: "string", postal_code: "string", country: "string", period: { start: DateTime.parse(2023-01-15), end_: DateTime.parse(2023-01-15) } }], primary_telecom: { value: "string", use: HOME, period: { start: DateTime.parse(2023-01-15), end_: DateTime.parse(2023-01-15) } }, other_telecoms: [{ value: "string", use: HOME, period: { start: DateTime.parse(2023-01-15), end_: DateTime.parse(2023-01-15) } }], email: "string", electronic_communication_opt_in: true, photo: "string", language: "string", external_provenance: { external_id: "string", system_name: "string" }, contacts: [{ relationship: [SELF], name: { family: "string", given: ["string"], use: USUAL, period: { start: DateTime.parse(2023-01-15), end_: DateTime.parse(2023-01-15) } }, telecoms: [{ value: "string", use: HOME, period: { start: DateTime.parse(2023-01-15), end_: DateTime.parse(2023-01-15) } }], addresses: [{ use: HOME, line: ["string"], city: "string", state: "string", postal_code: "string", country: "string", period: { start: DateTime.parse(2023-01-15), end_: DateTime.parse(2023-01-15) } }], period: { start: DateTime.parse(2023-01-15), end_: DateTime.parse(2023-01-15) }, hipaa_authorization: true }], general_practitioners: [{ name: { family: "string", given: ["string"], use: USUAL, period: { start: DateTime.parse(2023-01-15), end_: DateTime.parse(2023-01-15) } }, type: PRIMARY, npi: "string", telecoms: [{ value: "string", use: HOME, period: { start: DateTime.parse(2023-01-15), end_: DateTime.parse(2023-01-15) } }], addresses: [{"key":"value"}], period: { start: DateTime.parse(2023-01-15), end_: DateTime.parse(2023-01-15) }, canonical_id: "string" }], filing_order: { coverages: ["d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32"] }, non_insurance_payers: ["string"], guarantor: { name: { family: "string", given: ["string"], use: USUAL, period: { start: DateTime.parse(2023-01-15), end_: DateTime.parse(2023-01-15) } }, telecom: { value: "string", use: HOME, period: { start: DateTime.parse(2023-01-15), end_: DateTime.parse(2023-01-15) } }, email: "string", birth_date: DateTime.parse(2023-01-15), address: { use: HOME, line: ["string"], city: "string", state: "string", postal_code: "string", country: "string", period: { start: DateTime.parse(2023-01-15), end_: DateTime.parse(2023-01-15) } } }, self_pay: true }
752
728
  # )
753
729
  def update(id:, version:, request:, request_options: nil)
754
730
  Async do