candidhealth 0.24.2 → 0.24.4
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.
- checksums.yaml +4 -4
- data/lib/candidhealth/commons/types/primitive.rb +17 -0
- data/lib/candidhealth/custom_schemas/client.rb +30 -0
- data/lib/candidhealth/custom_schemas/v_1/client.rb +291 -0
- data/lib/candidhealth/custom_schemas/v_1/types/key_with_name_already_exists_error.rb +71 -0
- data/lib/candidhealth/custom_schemas/v_1/types/schema.rb +91 -0
- data/lib/candidhealth/custom_schemas/v_1/types/schema_field.rb +71 -0
- data/lib/candidhealth/custom_schemas/v_1/types/schema_get_multi_response.rb +65 -0
- data/lib/candidhealth/custom_schemas/v_1/types/schema_instance.rb +76 -0
- data/lib/candidhealth/custom_schemas/v_1/types/schema_validation_error.rb +100 -0
- data/lib/candidhealth/custom_schemas/v_1/types/schema_validation_failure.rb +65 -0
- data/lib/candidhealth/custom_schemas/v_1/types/schema_with_name_already_exists_error.rb +70 -0
- data/lib/candidhealth/encounters/v_4/client.rb +49 -12
- data/lib/candidhealth/encounters/v_4/types/encounter.rb +17 -1
- data/lib/candidhealth/encounters/v_4/types/key_does_not_exist_error.rb +70 -0
- data/lib/candidhealth/encounters/v_4/types/multiple_instances_for_schema_error.rb +60 -0
- data/lib/candidhealth/encounters/v_4/types/schema_does_not_exist_error.rb +60 -0
- data/lib/candidhealth/encounters/v_4/types/schema_instance_validation_error.rb +139 -0
- data/lib/candidhealth/encounters/v_4/types/schema_instance_validation_failure.rb +65 -0
- data/lib/candidhealth/encounters/v_4/types/schema_unauthorized_access_error.rb +60 -0
- data/lib/candidhealth/encounters/v_4/types/value_does_not_match_key_type_error.rb +90 -0
- data/lib/candidhealth/pre_encounter/common/types/disability_status.rb +14 -0
- data/lib/candidhealth/pre_encounter/common/types/ethnicity.rb +16 -0
- data/lib/candidhealth/pre_encounter/common/types/gender.rb +5 -2
- data/lib/candidhealth/pre_encounter/common/types/race.rb +21 -0
- data/lib/candidhealth/pre_encounter/common/types/sex.rb +16 -0
- data/lib/candidhealth/pre_encounter/common/types/sexual_orientation.rb +19 -0
- data/lib/candidhealth/pre_encounter/coverages/client.rb +6 -6
- data/lib/candidhealth/pre_encounter/coverages/v_1/client.rb +464 -11
- data/lib/candidhealth/pre_encounter/coverages/v_1/types/coverage.rb +183 -0
- data/lib/candidhealth/pre_encounter/coverages/v_1/types/coverage_status.rb +20 -0
- data/lib/candidhealth/pre_encounter/coverages/v_1/types/insurance_plan.rb +134 -0
- data/lib/candidhealth/pre_encounter/coverages/v_1/types/mutable_coverage.rb +129 -0
- data/lib/candidhealth/pre_encounter/coverages/v_1/types/network_type.rb +33 -0
- data/lib/candidhealth/pre_encounter/coverages/v_1/types/subscriber.rb +88 -0
- data/lib/candidhealth/pre_encounter/patients/client.rb +6 -6
- data/lib/candidhealth/pre_encounter/patients/v_1/client.rb +607 -11
- data/lib/candidhealth/pre_encounter/patients/v_1/types/contact.rb +133 -0
- data/lib/candidhealth/pre_encounter/patients/v_1/types/external_provenance.rb +73 -0
- data/lib/candidhealth/pre_encounter/patients/v_1/types/external_provider.rb +122 -0
- data/lib/candidhealth/pre_encounter/patients/v_1/types/filing_order.rb +63 -0
- data/lib/candidhealth/pre_encounter/patients/v_1/types/marital_status.rb +26 -0
- data/lib/candidhealth/pre_encounter/patients/v_1/types/mutable_patient.rb +325 -0
- data/lib/candidhealth/pre_encounter/patients/v_1/types/patient.rb +389 -0
- data/lib/candidhealth.rb +14 -7
- data/lib/requests.rb +2 -2
- data/lib/types_export.rb +34 -12
- metadata +38 -16
- data/lib/candidhealth/pre_encounter/coverages/v_1/coverages/client.rb +0 -487
- data/lib/candidhealth/pre_encounter/coverages/v_1/coverages/types/coverage.rb +0 -185
- data/lib/candidhealth/pre_encounter/coverages/v_1/coverages/types/coverage_status.rb +0 -22
- data/lib/candidhealth/pre_encounter/coverages/v_1/coverages/types/coverage_type.rb +0 -18
- data/lib/candidhealth/pre_encounter/coverages/v_1/coverages/types/insurance_plan.rb +0 -136
- data/lib/candidhealth/pre_encounter/coverages/v_1/coverages/types/mutable_coverage.rb +0 -131
- data/lib/candidhealth/pre_encounter/coverages/v_1/coverages/types/subscriber.rb +0 -90
- data/lib/candidhealth/pre_encounter/patients/v_1/patients/client.rb +0 -590
- data/lib/candidhealth/pre_encounter/patients/v_1/patients/types/contact.rb +0 -135
- data/lib/candidhealth/pre_encounter/patients/v_1/patients/types/external_provenance.rb +0 -75
- data/lib/candidhealth/pre_encounter/patients/v_1/patients/types/external_provider.rb +0 -116
- data/lib/candidhealth/pre_encounter/patients/v_1/patients/types/marital_status.rb +0 -28
- data/lib/candidhealth/pre_encounter/patients/v_1/patients/types/mutable_patient.rb +0 -242
- 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
|