candidhealth 0.24.3 → 0.24.5

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 (46) hide show
  1. checksums.yaml +4 -4
  2. data/lib/candidhealth/commons/types/procedure_modifier.rb +1 -0
  3. data/lib/candidhealth/custom_schemas/v_1/client.rb +20 -20
  4. data/lib/candidhealth/financials/types/account_type.rb +1 -0
  5. data/lib/candidhealth/pre_encounter/common/types/disability_status.rb +14 -0
  6. data/lib/candidhealth/pre_encounter/common/types/ethnicity.rb +16 -0
  7. data/lib/candidhealth/pre_encounter/common/types/gender.rb +5 -2
  8. data/lib/candidhealth/pre_encounter/common/types/race.rb +21 -0
  9. data/lib/candidhealth/pre_encounter/common/types/sex.rb +16 -0
  10. data/lib/candidhealth/pre_encounter/common/types/sexual_orientation.rb +19 -0
  11. data/lib/candidhealth/pre_encounter/coverages/client.rb +6 -6
  12. data/lib/candidhealth/pre_encounter/coverages/v_1/client.rb +464 -11
  13. data/lib/candidhealth/pre_encounter/coverages/v_1/types/coverage.rb +183 -0
  14. data/lib/candidhealth/pre_encounter/coverages/v_1/types/coverage_status.rb +20 -0
  15. data/lib/candidhealth/pre_encounter/coverages/v_1/types/insurance_plan.rb +134 -0
  16. data/lib/candidhealth/pre_encounter/coverages/v_1/types/mutable_coverage.rb +129 -0
  17. data/lib/candidhealth/pre_encounter/coverages/v_1/types/network_type.rb +33 -0
  18. data/lib/candidhealth/pre_encounter/coverages/v_1/types/subscriber.rb +88 -0
  19. data/lib/candidhealth/pre_encounter/patients/client.rb +6 -6
  20. data/lib/candidhealth/pre_encounter/patients/v_1/client.rb +607 -11
  21. data/lib/candidhealth/pre_encounter/patients/v_1/types/contact.rb +133 -0
  22. data/lib/candidhealth/pre_encounter/patients/v_1/types/external_provenance.rb +73 -0
  23. data/lib/candidhealth/pre_encounter/patients/v_1/types/external_provider.rb +122 -0
  24. data/lib/candidhealth/pre_encounter/patients/v_1/types/filing_order.rb +63 -0
  25. data/lib/candidhealth/pre_encounter/patients/v_1/types/marital_status.rb +26 -0
  26. data/lib/candidhealth/pre_encounter/patients/v_1/types/mutable_patient.rb +325 -0
  27. data/lib/candidhealth/pre_encounter/patients/v_1/types/patient.rb +389 -0
  28. data/lib/candidhealth/service_lines/v_2/types/service_line.rb +25 -1
  29. data/lib/candidhealth.rb +7 -7
  30. data/lib/requests.rb +2 -2
  31. data/lib/types_export.rb +18 -12
  32. metadata +20 -16
  33. data/lib/candidhealth/pre_encounter/coverages/v_1/coverages/client.rb +0 -487
  34. data/lib/candidhealth/pre_encounter/coverages/v_1/coverages/types/coverage.rb +0 -185
  35. data/lib/candidhealth/pre_encounter/coverages/v_1/coverages/types/coverage_status.rb +0 -22
  36. data/lib/candidhealth/pre_encounter/coverages/v_1/coverages/types/coverage_type.rb +0 -18
  37. data/lib/candidhealth/pre_encounter/coverages/v_1/coverages/types/insurance_plan.rb +0 -136
  38. data/lib/candidhealth/pre_encounter/coverages/v_1/coverages/types/mutable_coverage.rb +0 -131
  39. data/lib/candidhealth/pre_encounter/coverages/v_1/coverages/types/subscriber.rb +0 -90
  40. data/lib/candidhealth/pre_encounter/patients/v_1/patients/client.rb +0 -590
  41. data/lib/candidhealth/pre_encounter/patients/v_1/patients/types/contact.rb +0 -135
  42. data/lib/candidhealth/pre_encounter/patients/v_1/patients/types/external_provenance.rb +0 -75
  43. data/lib/candidhealth/pre_encounter/patients/v_1/patients/types/external_provider.rb +0 -116
  44. data/lib/candidhealth/pre_encounter/patients/v_1/patients/types/marital_status.rb +0 -28
  45. data/lib/candidhealth/pre_encounter/patients/v_1/patients/types/mutable_patient.rb +0 -242
  46. data/lib/candidhealth/pre_encounter/patients/v_1/patients/types/patient.rb +0 -294
@@ -1,135 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative "../../../../common/types/relationship"
4
- require_relative "../../../../common/types/human_name"
5
- require_relative "../../../../common/types/gender"
6
- require_relative "../../../../common/types/contact_point"
7
- require_relative "../../../../common/types/address"
8
- require_relative "../../../../common/types/period"
9
- require "ostruct"
10
- require "json"
11
-
12
- module CandidApiClient
13
- module PreEncounter
14
- module Patients
15
- module V1
16
- module Patients
17
- module Types
18
- class Contact
19
- # @return [Array<CandidApiClient::PreEncounter::Common::Types::Relationship>]
20
- attr_reader :relationship
21
- # @return [CandidApiClient::PreEncounter::Common::Types::HumanName]
22
- attr_reader :name
23
- # @return [CandidApiClient::PreEncounter::Common::Types::Gender]
24
- attr_reader :gender
25
- # @return [Array<CandidApiClient::PreEncounter::Common::Types::ContactPoint>]
26
- attr_reader :telecoms
27
- # @return [Array<CandidApiClient::PreEncounter::Common::Types::Address>]
28
- attr_reader :addresses
29
- # @return [CandidApiClient::PreEncounter::Common::Types::Period]
30
- attr_reader :period
31
- # @return [OpenStruct] Additional properties unmapped to the current class definition
32
- attr_reader :additional_properties
33
- # @return [Object]
34
- attr_reader :_field_set
35
- protected :_field_set
36
-
37
- OMIT = Object.new
38
-
39
- # @param relationship [Array<CandidApiClient::PreEncounter::Common::Types::Relationship>]
40
- # @param name [CandidApiClient::PreEncounter::Common::Types::HumanName]
41
- # @param gender [CandidApiClient::PreEncounter::Common::Types::Gender]
42
- # @param telecoms [Array<CandidApiClient::PreEncounter::Common::Types::ContactPoint>]
43
- # @param addresses [Array<CandidApiClient::PreEncounter::Common::Types::Address>]
44
- # @param period [CandidApiClient::PreEncounter::Common::Types::Period]
45
- # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
46
- # @return [CandidApiClient::PreEncounter::Patients::V1::Patients::Types::Contact]
47
- def initialize(relationship:, name:, telecoms:, addresses:, gender: OMIT, period: OMIT,
48
- additional_properties: nil)
49
- @relationship = relationship
50
- @name = name
51
- @gender = gender if gender != OMIT
52
- @telecoms = telecoms
53
- @addresses = addresses
54
- @period = period if period != OMIT
55
- @additional_properties = additional_properties
56
- @_field_set = {
57
- "relationship": relationship,
58
- "name": name,
59
- "gender": gender,
60
- "telecoms": telecoms,
61
- "addresses": addresses,
62
- "period": period
63
- }.reject do |_k, v|
64
- v == OMIT
65
- end
66
- end
67
-
68
- # Deserialize a JSON object to an instance of Contact
69
- #
70
- # @param json_object [String]
71
- # @return [CandidApiClient::PreEncounter::Patients::V1::Patients::Types::Contact]
72
- def self.from_json(json_object:)
73
- struct = JSON.parse(json_object, object_class: OpenStruct)
74
- parsed_json = JSON.parse(json_object)
75
- relationship = struct["relationship"]
76
- if parsed_json["name"].nil?
77
- name = nil
78
- else
79
- name = parsed_json["name"].to_json
80
- name = CandidApiClient::PreEncounter::Common::Types::HumanName.from_json(json_object: name)
81
- end
82
- gender = struct["gender"]
83
- telecoms = parsed_json["telecoms"]&.map do |item|
84
- item = item.to_json
85
- CandidApiClient::PreEncounter::Common::Types::ContactPoint.from_json(json_object: item)
86
- end
87
- addresses = parsed_json["addresses"]&.map do |item|
88
- item = item.to_json
89
- CandidApiClient::PreEncounter::Common::Types::Address.from_json(json_object: item)
90
- end
91
- if parsed_json["period"].nil?
92
- period = nil
93
- else
94
- period = parsed_json["period"].to_json
95
- period = CandidApiClient::PreEncounter::Common::Types::Period.from_json(json_object: period)
96
- end
97
- new(
98
- relationship: relationship,
99
- name: name,
100
- gender: gender,
101
- telecoms: telecoms,
102
- addresses: addresses,
103
- period: period,
104
- additional_properties: struct
105
- )
106
- end
107
-
108
- # Serialize an instance of Contact to a JSON object
109
- #
110
- # @return [String]
111
- def to_json(*_args)
112
- @_field_set&.to_json
113
- end
114
-
115
- # Leveraged for Union-type generation, validate_raw attempts to parse the given
116
- # hash and check each fields type against the current object's property
117
- # definitions.
118
- #
119
- # @param obj [Object]
120
- # @return [Void]
121
- def self.validate_raw(obj:)
122
- obj.relationship.is_a?(Array) != false || raise("Passed value for field obj.relationship is not the expected type, validation failed.")
123
- CandidApiClient::PreEncounter::Common::Types::HumanName.validate_raw(obj: obj.name)
124
- obj.gender&.is_a?(CandidApiClient::PreEncounter::Common::Types::Gender) != false || raise("Passed value for field obj.gender is not the expected type, validation failed.")
125
- obj.telecoms.is_a?(Array) != false || raise("Passed value for field obj.telecoms is not the expected type, validation failed.")
126
- obj.addresses.is_a?(Array) != false || raise("Passed value for field obj.addresses is not the expected type, validation failed.")
127
- obj.period.nil? || CandidApiClient::PreEncounter::Common::Types::Period.validate_raw(obj: obj.period)
128
- end
129
- end
130
- end
131
- end
132
- end
133
- end
134
- end
135
- end
@@ -1,75 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "ostruct"
4
- require "json"
5
-
6
- module CandidApiClient
7
- module PreEncounter
8
- module Patients
9
- module V1
10
- module Patients
11
- module Types
12
- # Information about the upstream system that owns this patient data.
13
- class ExternalProvenance
14
- # @return [String]
15
- attr_reader :external_id
16
- # @return [String]
17
- attr_reader :system_name
18
- # @return [OpenStruct] Additional properties unmapped to the current class definition
19
- attr_reader :additional_properties
20
- # @return [Object]
21
- attr_reader :_field_set
22
- protected :_field_set
23
-
24
- OMIT = Object.new
25
-
26
- # @param external_id [String]
27
- # @param system_name [String]
28
- # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
29
- # @return [CandidApiClient::PreEncounter::Patients::V1::Patients::Types::ExternalProvenance]
30
- def initialize(external_id:, system_name:, additional_properties: nil)
31
- @external_id = external_id
32
- @system_name = system_name
33
- @additional_properties = additional_properties
34
- @_field_set = { "external_id": external_id, "system_name": system_name }
35
- end
36
-
37
- # Deserialize a JSON object to an instance of ExternalProvenance
38
- #
39
- # @param json_object [String]
40
- # @return [CandidApiClient::PreEncounter::Patients::V1::Patients::Types::ExternalProvenance]
41
- def self.from_json(json_object:)
42
- struct = JSON.parse(json_object, object_class: OpenStruct)
43
- external_id = struct["external_id"]
44
- system_name = struct["system_name"]
45
- new(
46
- external_id: external_id,
47
- system_name: system_name,
48
- additional_properties: struct
49
- )
50
- end
51
-
52
- # Serialize an instance of ExternalProvenance to a JSON object
53
- #
54
- # @return [String]
55
- def to_json(*_args)
56
- @_field_set&.to_json
57
- end
58
-
59
- # Leveraged for Union-type generation, validate_raw attempts to parse the given
60
- # hash and check each fields type against the current object's property
61
- # definitions.
62
- #
63
- # @param obj [Object]
64
- # @return [Void]
65
- def self.validate_raw(obj:)
66
- obj.external_id.is_a?(String) != false || raise("Passed value for field obj.external_id is not the expected type, validation failed.")
67
- obj.system_name.is_a?(String) != false || raise("Passed value for field obj.system_name is not the expected type, validation failed.")
68
- end
69
- end
70
- end
71
- end
72
- end
73
- end
74
- end
75
- end
@@ -1,116 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative "../../../../common/types/human_name"
4
- require_relative "../../../../common/types/contact_point"
5
- require_relative "../../../../common/types/address"
6
- require_relative "../../../../common/types/period"
7
- require "ostruct"
8
- require "json"
9
-
10
- module CandidApiClient
11
- module PreEncounter
12
- module Patients
13
- module V1
14
- module Patients
15
- module Types
16
- class ExternalProvider
17
- # @return [CandidApiClient::PreEncounter::Common::Types::HumanName]
18
- attr_reader :name
19
- # @return [Array<CandidApiClient::PreEncounter::Common::Types::ContactPoint>]
20
- attr_reader :telecoms
21
- # @return [Array<CandidApiClient::PreEncounter::Common::Types::Address>]
22
- attr_reader :addresses
23
- # @return [CandidApiClient::PreEncounter::Common::Types::Period]
24
- attr_reader :period
25
- # @return [OpenStruct] Additional properties unmapped to the current class definition
26
- attr_reader :additional_properties
27
- # @return [Object]
28
- attr_reader :_field_set
29
- protected :_field_set
30
-
31
- OMIT = Object.new
32
-
33
- # @param name [CandidApiClient::PreEncounter::Common::Types::HumanName]
34
- # @param telecoms [Array<CandidApiClient::PreEncounter::Common::Types::ContactPoint>]
35
- # @param addresses [Array<CandidApiClient::PreEncounter::Common::Types::Address>]
36
- # @param period [CandidApiClient::PreEncounter::Common::Types::Period]
37
- # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
38
- # @return [CandidApiClient::PreEncounter::Patients::V1::Patients::Types::ExternalProvider]
39
- def initialize(name:, telecoms:, addresses:, period: OMIT, additional_properties: nil)
40
- @name = name
41
- @telecoms = telecoms
42
- @addresses = addresses
43
- @period = period if period != OMIT
44
- @additional_properties = additional_properties
45
- @_field_set = {
46
- "name": name,
47
- "telecoms": telecoms,
48
- "addresses": addresses,
49
- "period": period
50
- }.reject do |_k, v|
51
- v == OMIT
52
- end
53
- end
54
-
55
- # Deserialize a JSON object to an instance of ExternalProvider
56
- #
57
- # @param json_object [String]
58
- # @return [CandidApiClient::PreEncounter::Patients::V1::Patients::Types::ExternalProvider]
59
- def self.from_json(json_object:)
60
- struct = JSON.parse(json_object, object_class: OpenStruct)
61
- parsed_json = JSON.parse(json_object)
62
- if parsed_json["name"].nil?
63
- name = nil
64
- else
65
- name = parsed_json["name"].to_json
66
- name = CandidApiClient::PreEncounter::Common::Types::HumanName.from_json(json_object: name)
67
- end
68
- telecoms = parsed_json["telecoms"]&.map do |item|
69
- item = item.to_json
70
- CandidApiClient::PreEncounter::Common::Types::ContactPoint.from_json(json_object: item)
71
- end
72
- addresses = parsed_json["addresses"]&.map do |item|
73
- item = item.to_json
74
- CandidApiClient::PreEncounter::Common::Types::Address.from_json(json_object: item)
75
- end
76
- if parsed_json["period"].nil?
77
- period = nil
78
- else
79
- period = parsed_json["period"].to_json
80
- period = CandidApiClient::PreEncounter::Common::Types::Period.from_json(json_object: period)
81
- end
82
- new(
83
- name: name,
84
- telecoms: telecoms,
85
- addresses: addresses,
86
- period: period,
87
- additional_properties: struct
88
- )
89
- end
90
-
91
- # Serialize an instance of ExternalProvider to a JSON object
92
- #
93
- # @return [String]
94
- def to_json(*_args)
95
- @_field_set&.to_json
96
- end
97
-
98
- # Leveraged for Union-type generation, validate_raw attempts to parse the given
99
- # hash and check each fields type against the current object's property
100
- # definitions.
101
- #
102
- # @param obj [Object]
103
- # @return [Void]
104
- def self.validate_raw(obj:)
105
- CandidApiClient::PreEncounter::Common::Types::HumanName.validate_raw(obj: obj.name)
106
- obj.telecoms.is_a?(Array) != false || raise("Passed value for field obj.telecoms is not the expected type, validation failed.")
107
- obj.addresses.is_a?(Array) != false || raise("Passed value for field obj.addresses is not the expected type, validation failed.")
108
- obj.period.nil? || CandidApiClient::PreEncounter::Common::Types::Period.validate_raw(obj: obj.period)
109
- end
110
- end
111
- end
112
- end
113
- end
114
- end
115
- end
116
- end
@@ -1,28 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module CandidApiClient
4
- module PreEncounter
5
- module Patients
6
- module V1
7
- module Patients
8
- module Types
9
- class MaritalStatus
10
- ANNULLED = "ANNULLED"
11
- DIVORCED = "DIVORCED"
12
- INTERLOCUTORY = "INTERLOCUTORY"
13
- SEPARATED = "SEPARATED"
14
- MARRIED = "MARRIED"
15
- COMMON_LAW = "COMMON_LAW"
16
- POLYGAMOUS = "POLYGAMOUS"
17
- DOMESTIC_PARTNER = "DOMESTIC_PARTNER"
18
- UNMARRIED = "UNMARRIED"
19
- NEVER_MARRIED = "NEVER_MARRIED"
20
- WIDOWED = "WIDOWED"
21
- UNKNOWN = "UNKNOWN"
22
- end
23
- end
24
- end
25
- end
26
- end
27
- end
28
- end
@@ -1,242 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative "../../../../common/types/human_name"
4
- require_relative "../../../../common/types/gender"
5
- require "date"
6
- require_relative "marital_status"
7
- require_relative "../../../../common/types/address"
8
- require_relative "../../../../common/types/contact_point"
9
- require_relative "external_provenance"
10
- require_relative "contact"
11
- require_relative "external_provider"
12
- require "ostruct"
13
- require "json"
14
-
15
- module CandidApiClient
16
- module PreEncounter
17
- module Patients
18
- module V1
19
- module Patients
20
- module Types
21
- # An object representing patient demographics information.
22
- class MutablePatient
23
- # @return [CandidApiClient::PreEncounter::Common::Types::HumanName]
24
- attr_reader :name
25
- # @return [Array<CandidApiClient::PreEncounter::Common::Types::HumanName>] Other names for the patient.
26
- attr_reader :other_names
27
- # @return [CandidApiClient::PreEncounter::Common::Types::Gender]
28
- attr_reader :gender
29
- # @return [Date]
30
- attr_reader :birth_date
31
- # @return [CandidApiClient::PreEncounter::Patients::V1::Patients::Types::MaritalStatus]
32
- attr_reader :marital_status
33
- # @return [DateTime] Time of death for the patient. Leave unset if the patient is not deceased.
34
- attr_reader :deceased
35
- # @return [Integer] The number of siblings the patient was born with. Leave unset if the patient was
36
- # not part of a multiple birth.
37
- attr_reader :multiple_birth
38
- # @return [CandidApiClient::PreEncounter::Common::Types::Address] The primary address for the patient.
39
- attr_reader :primary_address
40
- # @return [Array<CandidApiClient::PreEncounter::Common::Types::Address>] Other addresses for the patient.
41
- attr_reader :other_addresses
42
- # @return [CandidApiClient::PreEncounter::Common::Types::ContactPoint] The primary phone number for the patient.
43
- attr_reader :primary_telecom
44
- # @return [Array<CandidApiClient::PreEncounter::Common::Types::ContactPoint>] Other phone numbers for the patient.
45
- attr_reader :other_telecoms
46
- # @return [String]
47
- attr_reader :photo
48
- # @return [String]
49
- attr_reader :language
50
- # @return [CandidApiClient::PreEncounter::Patients::V1::Patients::Types::ExternalProvenance] Information about the upstream system that owns this patient data. Leave unset
51
- # if Candid owns patient data.
52
- attr_reader :external_provenance
53
- # @return [Array<CandidApiClient::PreEncounter::Patients::V1::Patients::Types::Contact>] Contacts for the patient.
54
- attr_reader :contacts
55
- # @return [Array<CandidApiClient::PreEncounter::Patients::V1::Patients::Types::ExternalProvider>]
56
- attr_reader :general_practitioners
57
- # @return [OpenStruct] Additional properties unmapped to the current class definition
58
- attr_reader :additional_properties
59
- # @return [Object]
60
- attr_reader :_field_set
61
- protected :_field_set
62
-
63
- OMIT = Object.new
64
-
65
- # @param name [CandidApiClient::PreEncounter::Common::Types::HumanName]
66
- # @param other_names [Array<CandidApiClient::PreEncounter::Common::Types::HumanName>] Other names for the patient.
67
- # @param gender [CandidApiClient::PreEncounter::Common::Types::Gender]
68
- # @param birth_date [Date]
69
- # @param marital_status [CandidApiClient::PreEncounter::Patients::V1::Patients::Types::MaritalStatus]
70
- # @param deceased [DateTime] Time of death for the patient. Leave unset if the patient is not deceased.
71
- # @param multiple_birth [Integer] The number of siblings the patient was born with. Leave unset if the patient was
72
- # not part of a multiple birth.
73
- # @param primary_address [CandidApiClient::PreEncounter::Common::Types::Address] The primary address for the patient.
74
- # @param other_addresses [Array<CandidApiClient::PreEncounter::Common::Types::Address>] Other addresses for the patient.
75
- # @param primary_telecom [CandidApiClient::PreEncounter::Common::Types::ContactPoint] The primary phone number for the patient.
76
- # @param other_telecoms [Array<CandidApiClient::PreEncounter::Common::Types::ContactPoint>] Other phone numbers for the patient.
77
- # @param photo [String]
78
- # @param language [String]
79
- # @param external_provenance [CandidApiClient::PreEncounter::Patients::V1::Patients::Types::ExternalProvenance] Information about the upstream system that owns this patient data. Leave unset
80
- # if Candid owns patient data.
81
- # @param contacts [Array<CandidApiClient::PreEncounter::Patients::V1::Patients::Types::Contact>] Contacts for the patient.
82
- # @param general_practitioners [Array<CandidApiClient::PreEncounter::Patients::V1::Patients::Types::ExternalProvider>]
83
- # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
84
- # @return [CandidApiClient::PreEncounter::Patients::V1::Patients::Types::MutablePatient]
85
- def initialize(name:, other_names:, gender:, birth_date:, primary_address:, other_addresses:, primary_telecom:, other_telecoms:, contacts:, general_practitioners:, marital_status: OMIT, deceased: OMIT,
86
- multiple_birth: OMIT, photo: OMIT, language: OMIT, external_provenance: OMIT, additional_properties: nil)
87
- @name = name
88
- @other_names = other_names
89
- @gender = gender
90
- @birth_date = birth_date
91
- @marital_status = marital_status if marital_status != OMIT
92
- @deceased = deceased if deceased != OMIT
93
- @multiple_birth = multiple_birth if multiple_birth != OMIT
94
- @primary_address = primary_address
95
- @other_addresses = other_addresses
96
- @primary_telecom = primary_telecom
97
- @other_telecoms = other_telecoms
98
- @photo = photo if photo != OMIT
99
- @language = language if language != OMIT
100
- @external_provenance = external_provenance if external_provenance != OMIT
101
- @contacts = contacts
102
- @general_practitioners = general_practitioners
103
- @additional_properties = additional_properties
104
- @_field_set = {
105
- "name": name,
106
- "other_names": other_names,
107
- "gender": gender,
108
- "birth_date": birth_date,
109
- "marital_status": marital_status,
110
- "deceased": deceased,
111
- "multiple_birth": multiple_birth,
112
- "primary_address": primary_address,
113
- "other_addresses": other_addresses,
114
- "primary_telecom": primary_telecom,
115
- "other_telecoms": other_telecoms,
116
- "photo": photo,
117
- "language": language,
118
- "external_provenance": external_provenance,
119
- "contacts": contacts,
120
- "general_practitioners": general_practitioners
121
- }.reject do |_k, v|
122
- v == OMIT
123
- end
124
- end
125
-
126
- # Deserialize a JSON object to an instance of MutablePatient
127
- #
128
- # @param json_object [String]
129
- # @return [CandidApiClient::PreEncounter::Patients::V1::Patients::Types::MutablePatient]
130
- def self.from_json(json_object:)
131
- struct = JSON.parse(json_object, object_class: OpenStruct)
132
- parsed_json = JSON.parse(json_object)
133
- if parsed_json["name"].nil?
134
- name = nil
135
- else
136
- name = parsed_json["name"].to_json
137
- name = CandidApiClient::PreEncounter::Common::Types::HumanName.from_json(json_object: name)
138
- end
139
- other_names = parsed_json["other_names"]&.map do |item|
140
- item = item.to_json
141
- CandidApiClient::PreEncounter::Common::Types::HumanName.from_json(json_object: item)
142
- end
143
- gender = struct["gender"]
144
- birth_date = (Date.parse(parsed_json["birth_date"]) unless parsed_json["birth_date"].nil?)
145
- marital_status = struct["marital_status"]
146
- deceased = (DateTime.parse(parsed_json["deceased"]) unless parsed_json["deceased"].nil?)
147
- multiple_birth = struct["multiple_birth"]
148
- if parsed_json["primary_address"].nil?
149
- primary_address = nil
150
- else
151
- primary_address = parsed_json["primary_address"].to_json
152
- primary_address = CandidApiClient::PreEncounter::Common::Types::Address.from_json(json_object: primary_address)
153
- end
154
- other_addresses = parsed_json["other_addresses"]&.map do |item|
155
- item = item.to_json
156
- CandidApiClient::PreEncounter::Common::Types::Address.from_json(json_object: item)
157
- end
158
- if parsed_json["primary_telecom"].nil?
159
- primary_telecom = nil
160
- else
161
- primary_telecom = parsed_json["primary_telecom"].to_json
162
- primary_telecom = CandidApiClient::PreEncounter::Common::Types::ContactPoint.from_json(json_object: primary_telecom)
163
- end
164
- other_telecoms = parsed_json["other_telecoms"]&.map do |item|
165
- item = item.to_json
166
- CandidApiClient::PreEncounter::Common::Types::ContactPoint.from_json(json_object: item)
167
- end
168
- photo = struct["photo"]
169
- language = struct["language"]
170
- if parsed_json["external_provenance"].nil?
171
- external_provenance = nil
172
- else
173
- external_provenance = parsed_json["external_provenance"].to_json
174
- external_provenance = CandidApiClient::PreEncounter::Patients::V1::Patients::Types::ExternalProvenance.from_json(json_object: external_provenance)
175
- end
176
- contacts = parsed_json["contacts"]&.map do |item|
177
- item = item.to_json
178
- CandidApiClient::PreEncounter::Patients::V1::Patients::Types::Contact.from_json(json_object: item)
179
- end
180
- general_practitioners = parsed_json["general_practitioners"]&.map do |item|
181
- item = item.to_json
182
- CandidApiClient::PreEncounter::Patients::V1::Patients::Types::ExternalProvider.from_json(json_object: item)
183
- end
184
- new(
185
- name: name,
186
- other_names: other_names,
187
- gender: gender,
188
- birth_date: birth_date,
189
- marital_status: marital_status,
190
- deceased: deceased,
191
- multiple_birth: multiple_birth,
192
- primary_address: primary_address,
193
- other_addresses: other_addresses,
194
- primary_telecom: primary_telecom,
195
- other_telecoms: other_telecoms,
196
- photo: photo,
197
- language: language,
198
- external_provenance: external_provenance,
199
- contacts: contacts,
200
- general_practitioners: general_practitioners,
201
- additional_properties: struct
202
- )
203
- end
204
-
205
- # Serialize an instance of MutablePatient to a JSON object
206
- #
207
- # @return [String]
208
- def to_json(*_args)
209
- @_field_set&.to_json
210
- end
211
-
212
- # Leveraged for Union-type generation, validate_raw attempts to parse the given
213
- # hash and check each fields type against the current object's property
214
- # definitions.
215
- #
216
- # @param obj [Object]
217
- # @return [Void]
218
- def self.validate_raw(obj:)
219
- CandidApiClient::PreEncounter::Common::Types::HumanName.validate_raw(obj: obj.name)
220
- obj.other_names.is_a?(Array) != false || raise("Passed value for field obj.other_names is not the expected type, validation failed.")
221
- obj.gender.is_a?(CandidApiClient::PreEncounter::Common::Types::Gender) != false || raise("Passed value for field obj.gender is not the expected type, validation failed.")
222
- obj.birth_date.is_a?(Date) != false || raise("Passed value for field obj.birth_date is not the expected type, validation failed.")
223
- obj.marital_status&.is_a?(CandidApiClient::PreEncounter::Patients::V1::Patients::Types::MaritalStatus) != false || raise("Passed value for field obj.marital_status is not the expected type, validation failed.")
224
- obj.deceased&.is_a?(DateTime) != false || raise("Passed value for field obj.deceased is not the expected type, validation failed.")
225
- obj.multiple_birth&.is_a?(Integer) != false || raise("Passed value for field obj.multiple_birth is not the expected type, validation failed.")
226
- CandidApiClient::PreEncounter::Common::Types::Address.validate_raw(obj: obj.primary_address)
227
- obj.other_addresses.is_a?(Array) != false || raise("Passed value for field obj.other_addresses is not the expected type, validation failed.")
228
- CandidApiClient::PreEncounter::Common::Types::ContactPoint.validate_raw(obj: obj.primary_telecom)
229
- obj.other_telecoms.is_a?(Array) != false || raise("Passed value for field obj.other_telecoms is not the expected type, validation failed.")
230
- obj.photo&.is_a?(String) != false || raise("Passed value for field obj.photo is not the expected type, validation failed.")
231
- obj.language&.is_a?(String) != false || raise("Passed value for field obj.language is not the expected type, validation failed.")
232
- obj.external_provenance.nil? || CandidApiClient::PreEncounter::Patients::V1::Patients::Types::ExternalProvenance.validate_raw(obj: obj.external_provenance)
233
- obj.contacts.is_a?(Array) != false || raise("Passed value for field obj.contacts is not the expected type, validation failed.")
234
- obj.general_practitioners.is_a?(Array) != false || raise("Passed value for field obj.general_practitioners is not the expected type, validation failed.")
235
- end
236
- end
237
- end
238
- end
239
- end
240
- end
241
- end
242
- end