candidhealth 0.39.6 → 0.39.8
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/procedure_modifier.rb +1 -0
- data/lib/candidhealth/eligibility/v_2/client.rb +48 -6
- data/lib/candidhealth/fee_schedules/v_3/client.rb +16 -4
- data/lib/candidhealth/fee_schedules/v_3/types/dimension_match.rb +16 -2
- data/lib/candidhealth/fee_schedules/v_3/types/dimensions.rb +16 -2
- data/lib/candidhealth/fee_schedules/v_3/types/match_payer_plan_groups.rb +85 -0
- data/lib/candidhealth/fee_schedules/v_3/types/optional_dimensions.rb +15 -2
- data/lib/candidhealth/fee_schedules/v_3/types/payer_plan_group_does_not_match_rate_payer_error.rb +75 -0
- data/lib/candidhealth/fee_schedules/v_3/types/validation_error.rb +39 -14
- data/lib/candidhealth/organization_providers/v_2/types/license_type.rb +4 -0
- data/lib/candidhealth/pre_encounter/appointments/v_1/client.rb +98 -4
- data/lib/candidhealth/pre_encounter/appointments/v_1/types/appointment.rb +2 -2
- data/lib/candidhealth/pre_encounter/appointments/v_1/types/mutable_appointment.rb +2 -2
- data/lib/candidhealth/pre_encounter/appointments/v_1/types/visit.rb +96 -0
- data/lib/candidhealth/pre_encounter/appointments/v_1/types/visits_page.rb +98 -0
- data/lib/candidhealth/pre_encounter/common/types/external_identifier.rb +87 -0
- data/lib/candidhealth/pre_encounter/common/types/external_provider.rb +10 -2
- data/lib/candidhealth/pre_encounter/coverages/v_1/client.rb +89 -4
- data/lib/candidhealth/pre_encounter/coverages/v_1/types/address.rb +118 -0
- data/lib/candidhealth/pre_encounter/coverages/v_1/types/benefits_related_entity.rb +11 -2
- data/lib/candidhealth/pre_encounter/coverages/v_1/types/coverages_page.rb +98 -0
- data/lib/candidhealth/pre_encounter/coverages/v_1/types/expanded_member_info.rb +133 -0
- data/lib/candidhealth/pre_encounter/coverages/v_1/types/insurance_plan.rb +10 -2
- data/lib/candidhealth/pre_encounter/coverages/v_1/types/insurance_type_code.rb +1 -0
- data/lib/candidhealth/pre_encounter/coverages/v_1/types/member_info.rb +93 -0
- data/lib/candidhealth/pre_encounter/coverages/v_1/types/plan_metadata.rb +38 -3
- data/lib/candidhealth/pre_encounter/eligibility_checks/client.rb +32 -0
- data/lib/candidhealth/pre_encounter/eligibility_checks/v_1/client.rb +124 -0
- data/lib/candidhealth/pre_encounter/eligibility_checks/v_1/types/eligibility_check.rb +119 -0
- data/lib/candidhealth/pre_encounter/eligibility_checks/v_1/types/eligibility_request.rb +135 -0
- data/lib/candidhealth/pre_encounter/eligibility_checks/v_1/types/eligibility_response.rb +15 -0
- data/lib/candidhealth/pre_encounter/eligibility_checks/v_1/types/encounter.rb +83 -0
- data/lib/candidhealth/pre_encounter/eligibility_checks/v_1/types/individual_provider.rb +81 -0
- data/lib/candidhealth/pre_encounter/eligibility_checks/v_1/types/organization_provider.rb +74 -0
- data/lib/candidhealth/pre_encounter/eligibility_checks/v_1/types/parsed_response.rb +99 -0
- data/lib/candidhealth/pre_encounter/eligibility_checks/v_1/types/provider.rb +66 -0
- data/lib/candidhealth/pre_encounter/eligibility_checks/v_1/types/request_correction.rb +79 -0
- data/lib/candidhealth/pre_encounter/lists/v_1/types/appointment_list_item.rb +5 -5
- data/lib/candidhealth/pre_encounter/patients/v_1/client.rb +70 -14
- data/lib/candidhealth/pre_encounter/patients/v_1/types/mutable_patient.rb +14 -2
- data/lib/candidhealth/pre_encounter/patients/v_1/types/mutable_patient_with_mrn.rb +14 -2
- data/lib/candidhealth/pre_encounter/patients/v_1/types/patient.rb +13 -1
- data/lib/requests.rb +2 -2
- data/lib/types_export.rb +18 -0
- metadata +22 -2
@@ -0,0 +1,135 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative "provider"
|
4
|
+
require_relative "../../../coverages/v_1/types/member_info"
|
5
|
+
require_relative "encounter"
|
6
|
+
require "ostruct"
|
7
|
+
require "json"
|
8
|
+
|
9
|
+
module CandidApiClient
|
10
|
+
module PreEncounter
|
11
|
+
module EligibilityChecks
|
12
|
+
module V1
|
13
|
+
module Types
|
14
|
+
# An object representing the data for an eligibility request.
|
15
|
+
class EligibilityRequest
|
16
|
+
# @return [String] Supported payer ID values can be found
|
17
|
+
# [here](https://www.stedi.com/healthcare/network).
|
18
|
+
attr_reader :payer_id
|
19
|
+
# @return [CandidApiClient::PreEncounter::EligibilityChecks::V1::Types::Provider]
|
20
|
+
attr_reader :provider
|
21
|
+
# @return [CandidApiClient::PreEncounter::Coverages::V1::Types::MemberInfo] The primary policyholder for the insurance plan or a dependent with a unique
|
22
|
+
# member ID. <Note>If a dependent has a unique member ID, include their
|
23
|
+
# information here and leave dependent undefined.</Note>
|
24
|
+
attr_reader :subscriber
|
25
|
+
# @return [CandidApiClient::PreEncounter::Coverages::V1::Types::MemberInfo] <Note>If a dependent has a unique member ID, include their information as
|
26
|
+
# subscriber and leave this field undefined.</Note>
|
27
|
+
attr_reader :dependent
|
28
|
+
# @return [CandidApiClient::PreEncounter::EligibilityChecks::V1::Types::Encounter]
|
29
|
+
attr_reader :encounter
|
30
|
+
# @return [OpenStruct] Additional properties unmapped to the current class definition
|
31
|
+
attr_reader :additional_properties
|
32
|
+
# @return [Object]
|
33
|
+
attr_reader :_field_set
|
34
|
+
protected :_field_set
|
35
|
+
|
36
|
+
OMIT = Object.new
|
37
|
+
|
38
|
+
# @param payer_id [String] Supported payer ID values can be found
|
39
|
+
# [here](https://www.stedi.com/healthcare/network).
|
40
|
+
# @param provider [CandidApiClient::PreEncounter::EligibilityChecks::V1::Types::Provider]
|
41
|
+
# @param subscriber [CandidApiClient::PreEncounter::Coverages::V1::Types::MemberInfo] The primary policyholder for the insurance plan or a dependent with a unique
|
42
|
+
# member ID. <Note>If a dependent has a unique member ID, include their
|
43
|
+
# information here and leave dependent undefined.</Note>
|
44
|
+
# @param dependent [CandidApiClient::PreEncounter::Coverages::V1::Types::MemberInfo] <Note>If a dependent has a unique member ID, include their information as
|
45
|
+
# subscriber and leave this field undefined.</Note>
|
46
|
+
# @param encounter [CandidApiClient::PreEncounter::EligibilityChecks::V1::Types::Encounter]
|
47
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
48
|
+
# @return [CandidApiClient::PreEncounter::EligibilityChecks::V1::Types::EligibilityRequest]
|
49
|
+
def initialize(payer_id:, provider:, subscriber:, dependent: OMIT, encounter: OMIT,
|
50
|
+
additional_properties: nil)
|
51
|
+
@payer_id = payer_id
|
52
|
+
@provider = provider
|
53
|
+
@subscriber = subscriber
|
54
|
+
@dependent = dependent if dependent != OMIT
|
55
|
+
@encounter = encounter if encounter != OMIT
|
56
|
+
@additional_properties = additional_properties
|
57
|
+
@_field_set = {
|
58
|
+
"payer_id": payer_id,
|
59
|
+
"provider": provider,
|
60
|
+
"subscriber": subscriber,
|
61
|
+
"dependent": dependent,
|
62
|
+
"encounter": encounter
|
63
|
+
}.reject do |_k, v|
|
64
|
+
v == OMIT
|
65
|
+
end
|
66
|
+
end
|
67
|
+
|
68
|
+
# Deserialize a JSON object to an instance of EligibilityRequest
|
69
|
+
#
|
70
|
+
# @param json_object [String]
|
71
|
+
# @return [CandidApiClient::PreEncounter::EligibilityChecks::V1::Types::EligibilityRequest]
|
72
|
+
def self.from_json(json_object:)
|
73
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
74
|
+
parsed_json = JSON.parse(json_object)
|
75
|
+
payer_id = struct["payer_id"]
|
76
|
+
if parsed_json["provider"].nil?
|
77
|
+
provider = nil
|
78
|
+
else
|
79
|
+
provider = parsed_json["provider"].to_json
|
80
|
+
provider = CandidApiClient::PreEncounter::EligibilityChecks::V1::Types::Provider.from_json(json_object: provider)
|
81
|
+
end
|
82
|
+
if parsed_json["subscriber"].nil?
|
83
|
+
subscriber = nil
|
84
|
+
else
|
85
|
+
subscriber = parsed_json["subscriber"].to_json
|
86
|
+
subscriber = CandidApiClient::PreEncounter::Coverages::V1::Types::MemberInfo.from_json(json_object: subscriber)
|
87
|
+
end
|
88
|
+
if parsed_json["dependent"].nil?
|
89
|
+
dependent = nil
|
90
|
+
else
|
91
|
+
dependent = parsed_json["dependent"].to_json
|
92
|
+
dependent = CandidApiClient::PreEncounter::Coverages::V1::Types::MemberInfo.from_json(json_object: dependent)
|
93
|
+
end
|
94
|
+
if parsed_json["encounter"].nil?
|
95
|
+
encounter = nil
|
96
|
+
else
|
97
|
+
encounter = parsed_json["encounter"].to_json
|
98
|
+
encounter = CandidApiClient::PreEncounter::EligibilityChecks::V1::Types::Encounter.from_json(json_object: encounter)
|
99
|
+
end
|
100
|
+
new(
|
101
|
+
payer_id: payer_id,
|
102
|
+
provider: provider,
|
103
|
+
subscriber: subscriber,
|
104
|
+
dependent: dependent,
|
105
|
+
encounter: encounter,
|
106
|
+
additional_properties: struct
|
107
|
+
)
|
108
|
+
end
|
109
|
+
|
110
|
+
# Serialize an instance of EligibilityRequest to a JSON object
|
111
|
+
#
|
112
|
+
# @return [String]
|
113
|
+
def to_json(*_args)
|
114
|
+
@_field_set&.to_json
|
115
|
+
end
|
116
|
+
|
117
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
118
|
+
# hash and check each fields type against the current object's property
|
119
|
+
# definitions.
|
120
|
+
#
|
121
|
+
# @param obj [Object]
|
122
|
+
# @return [Void]
|
123
|
+
def self.validate_raw(obj:)
|
124
|
+
obj.payer_id.is_a?(String) != false || raise("Passed value for field obj.payer_id is not the expected type, validation failed.")
|
125
|
+
CandidApiClient::PreEncounter::EligibilityChecks::V1::Types::Provider.validate_raw(obj: obj.provider)
|
126
|
+
CandidApiClient::PreEncounter::Coverages::V1::Types::MemberInfo.validate_raw(obj: obj.subscriber)
|
127
|
+
obj.dependent.nil? || CandidApiClient::PreEncounter::Coverages::V1::Types::MemberInfo.validate_raw(obj: obj.dependent)
|
128
|
+
obj.encounter.nil? || CandidApiClient::PreEncounter::EligibilityChecks::V1::Types::Encounter.validate_raw(obj: obj.encounter)
|
129
|
+
end
|
130
|
+
end
|
131
|
+
end
|
132
|
+
end
|
133
|
+
end
|
134
|
+
end
|
135
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative "eligibility_check"
|
4
|
+
|
5
|
+
module CandidApiClient
|
6
|
+
module PreEncounter
|
7
|
+
module EligibilityChecks
|
8
|
+
module V1
|
9
|
+
module Types
|
10
|
+
ELIGIBILITY_RESPONSE = CandidApiClient::PreEncounter::EligibilityChecks::V1::Types::EligibilityCheck
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,83 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "date"
|
4
|
+
require "ostruct"
|
5
|
+
require "json"
|
6
|
+
|
7
|
+
module CandidApiClient
|
8
|
+
module PreEncounter
|
9
|
+
module EligibilityChecks
|
10
|
+
module V1
|
11
|
+
module Types
|
12
|
+
class Encounter
|
13
|
+
# @return [Date] Defaults to the current date if not provided.
|
14
|
+
attr_reader :date_of_service
|
15
|
+
# @return [Array<String>] Defaults to HealthBenefitPlanCoverage (30) if not provided.
|
16
|
+
# <Note>Not all payers support multiple service type codes, so it is recommended
|
17
|
+
# to only include a single code per request.</Note>
|
18
|
+
attr_reader :service_type_codes
|
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 date_of_service [Date] Defaults to the current date if not provided.
|
28
|
+
# @param service_type_codes [Array<String>] Defaults to HealthBenefitPlanCoverage (30) if not provided.
|
29
|
+
# <Note>Not all payers support multiple service type codes, so it is recommended
|
30
|
+
# to only include a single code per request.</Note>
|
31
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
32
|
+
# @return [CandidApiClient::PreEncounter::EligibilityChecks::V1::Types::Encounter]
|
33
|
+
def initialize(date_of_service: OMIT, service_type_codes: OMIT, additional_properties: nil)
|
34
|
+
@date_of_service = date_of_service if date_of_service != OMIT
|
35
|
+
@service_type_codes = service_type_codes if service_type_codes != OMIT
|
36
|
+
@additional_properties = additional_properties
|
37
|
+
@_field_set = {
|
38
|
+
"date_of_service": date_of_service,
|
39
|
+
"service_type_codes": service_type_codes
|
40
|
+
}.reject do |_k, v|
|
41
|
+
v == OMIT
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
# Deserialize a JSON object to an instance of Encounter
|
46
|
+
#
|
47
|
+
# @param json_object [String]
|
48
|
+
# @return [CandidApiClient::PreEncounter::EligibilityChecks::V1::Types::Encounter]
|
49
|
+
def self.from_json(json_object:)
|
50
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
51
|
+
parsed_json = JSON.parse(json_object)
|
52
|
+
date_of_service = (Date.parse(parsed_json["date_of_service"]) unless parsed_json["date_of_service"].nil?)
|
53
|
+
service_type_codes = struct["service_type_codes"]
|
54
|
+
new(
|
55
|
+
date_of_service: date_of_service,
|
56
|
+
service_type_codes: service_type_codes,
|
57
|
+
additional_properties: struct
|
58
|
+
)
|
59
|
+
end
|
60
|
+
|
61
|
+
# Serialize an instance of Encounter to a JSON object
|
62
|
+
#
|
63
|
+
# @return [String]
|
64
|
+
def to_json(*_args)
|
65
|
+
@_field_set&.to_json
|
66
|
+
end
|
67
|
+
|
68
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
69
|
+
# hash and check each fields type against the current object's property
|
70
|
+
# definitions.
|
71
|
+
#
|
72
|
+
# @param obj [Object]
|
73
|
+
# @return [Void]
|
74
|
+
def self.validate_raw(obj:)
|
75
|
+
obj.date_of_service&.is_a?(Date) != false || raise("Passed value for field obj.date_of_service is not the expected type, validation failed.")
|
76
|
+
obj.service_type_codes&.is_a?(Array) != false || raise("Passed value for field obj.service_type_codes is not the expected type, validation failed.")
|
77
|
+
end
|
78
|
+
end
|
79
|
+
end
|
80
|
+
end
|
81
|
+
end
|
82
|
+
end
|
83
|
+
end
|
@@ -0,0 +1,81 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "ostruct"
|
4
|
+
require "json"
|
5
|
+
|
6
|
+
module CandidApiClient
|
7
|
+
module PreEncounter
|
8
|
+
module EligibilityChecks
|
9
|
+
module V1
|
10
|
+
module Types
|
11
|
+
class IndividualProvider
|
12
|
+
# @return [String]
|
13
|
+
attr_reader :first_name
|
14
|
+
# @return [String]
|
15
|
+
attr_reader :last_name
|
16
|
+
# @return [String]
|
17
|
+
attr_reader :npi
|
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 first_name [String]
|
27
|
+
# @param last_name [String]
|
28
|
+
# @param npi [String]
|
29
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
30
|
+
# @return [CandidApiClient::PreEncounter::EligibilityChecks::V1::Types::IndividualProvider]
|
31
|
+
def initialize(npi:, first_name: OMIT, last_name: OMIT, additional_properties: nil)
|
32
|
+
@first_name = first_name if first_name != OMIT
|
33
|
+
@last_name = last_name if last_name != OMIT
|
34
|
+
@npi = npi
|
35
|
+
@additional_properties = additional_properties
|
36
|
+
@_field_set = { "first_name": first_name, "last_name": last_name, "npi": npi }.reject do |_k, v|
|
37
|
+
v == OMIT
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
# Deserialize a JSON object to an instance of IndividualProvider
|
42
|
+
#
|
43
|
+
# @param json_object [String]
|
44
|
+
# @return [CandidApiClient::PreEncounter::EligibilityChecks::V1::Types::IndividualProvider]
|
45
|
+
def self.from_json(json_object:)
|
46
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
47
|
+
first_name = struct["first_name"]
|
48
|
+
last_name = struct["last_name"]
|
49
|
+
npi = struct["npi"]
|
50
|
+
new(
|
51
|
+
first_name: first_name,
|
52
|
+
last_name: last_name,
|
53
|
+
npi: npi,
|
54
|
+
additional_properties: struct
|
55
|
+
)
|
56
|
+
end
|
57
|
+
|
58
|
+
# Serialize an instance of IndividualProvider to a JSON object
|
59
|
+
#
|
60
|
+
# @return [String]
|
61
|
+
def to_json(*_args)
|
62
|
+
@_field_set&.to_json
|
63
|
+
end
|
64
|
+
|
65
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
66
|
+
# hash and check each fields type against the current object's property
|
67
|
+
# definitions.
|
68
|
+
#
|
69
|
+
# @param obj [Object]
|
70
|
+
# @return [Void]
|
71
|
+
def self.validate_raw(obj:)
|
72
|
+
obj.first_name&.is_a?(String) != false || raise("Passed value for field obj.first_name is not the expected type, validation failed.")
|
73
|
+
obj.last_name&.is_a?(String) != false || raise("Passed value for field obj.last_name is not the expected type, validation failed.")
|
74
|
+
obj.npi.is_a?(String) != false || raise("Passed value for field obj.npi is not the expected type, validation failed.")
|
75
|
+
end
|
76
|
+
end
|
77
|
+
end
|
78
|
+
end
|
79
|
+
end
|
80
|
+
end
|
81
|
+
end
|
@@ -0,0 +1,74 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "ostruct"
|
4
|
+
require "json"
|
5
|
+
|
6
|
+
module CandidApiClient
|
7
|
+
module PreEncounter
|
8
|
+
module EligibilityChecks
|
9
|
+
module V1
|
10
|
+
module Types
|
11
|
+
class OrganizationProvider
|
12
|
+
# @return [String]
|
13
|
+
attr_reader :organization_name
|
14
|
+
# @return [String]
|
15
|
+
attr_reader :npi
|
16
|
+
# @return [OpenStruct] Additional properties unmapped to the current class definition
|
17
|
+
attr_reader :additional_properties
|
18
|
+
# @return [Object]
|
19
|
+
attr_reader :_field_set
|
20
|
+
protected :_field_set
|
21
|
+
|
22
|
+
OMIT = Object.new
|
23
|
+
|
24
|
+
# @param organization_name [String]
|
25
|
+
# @param npi [String]
|
26
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
27
|
+
# @return [CandidApiClient::PreEncounter::EligibilityChecks::V1::Types::OrganizationProvider]
|
28
|
+
def initialize(npi:, organization_name: OMIT, additional_properties: nil)
|
29
|
+
@organization_name = organization_name if organization_name != OMIT
|
30
|
+
@npi = npi
|
31
|
+
@additional_properties = additional_properties
|
32
|
+
@_field_set = { "organization_name": organization_name, "npi": npi }.reject do |_k, v|
|
33
|
+
v == OMIT
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
# Deserialize a JSON object to an instance of OrganizationProvider
|
38
|
+
#
|
39
|
+
# @param json_object [String]
|
40
|
+
# @return [CandidApiClient::PreEncounter::EligibilityChecks::V1::Types::OrganizationProvider]
|
41
|
+
def self.from_json(json_object:)
|
42
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
43
|
+
organization_name = struct["organization_name"]
|
44
|
+
npi = struct["npi"]
|
45
|
+
new(
|
46
|
+
organization_name: organization_name,
|
47
|
+
npi: npi,
|
48
|
+
additional_properties: struct
|
49
|
+
)
|
50
|
+
end
|
51
|
+
|
52
|
+
# Serialize an instance of OrganizationProvider 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.organization_name&.is_a?(String) != false || raise("Passed value for field obj.organization_name is not the expected type, validation failed.")
|
67
|
+
obj.npi.is_a?(String) != false || raise("Passed value for field obj.npi is not the expected type, validation failed.")
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|
74
|
+
end
|
@@ -0,0 +1,99 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative "../../../coverages/v_1/types/eligibility_status"
|
4
|
+
require_relative "../../../coverages/v_1/types/plan_metadata"
|
5
|
+
require_relative "../../../coverages/v_1/types/coverage_benefits"
|
6
|
+
require "ostruct"
|
7
|
+
require "json"
|
8
|
+
|
9
|
+
module CandidApiClient
|
10
|
+
module PreEncounter
|
11
|
+
module EligibilityChecks
|
12
|
+
module V1
|
13
|
+
module Types
|
14
|
+
class ParsedResponse
|
15
|
+
# @return [CandidApiClient::PreEncounter::Coverages::V1::Types::EligibilityStatus]
|
16
|
+
attr_reader :eligibility_status
|
17
|
+
# @return [CandidApiClient::PreEncounter::Coverages::V1::Types::PlanMetadata]
|
18
|
+
attr_reader :plan_metadata
|
19
|
+
# @return [CandidApiClient::PreEncounter::Coverages::V1::Types::CoverageBenefits]
|
20
|
+
attr_reader :benefits
|
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 eligibility_status [CandidApiClient::PreEncounter::Coverages::V1::Types::EligibilityStatus]
|
30
|
+
# @param plan_metadata [CandidApiClient::PreEncounter::Coverages::V1::Types::PlanMetadata]
|
31
|
+
# @param benefits [CandidApiClient::PreEncounter::Coverages::V1::Types::CoverageBenefits]
|
32
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
33
|
+
# @return [CandidApiClient::PreEncounter::EligibilityChecks::V1::Types::ParsedResponse]
|
34
|
+
def initialize(eligibility_status:, plan_metadata: OMIT, benefits: OMIT, additional_properties: nil)
|
35
|
+
@eligibility_status = eligibility_status
|
36
|
+
@plan_metadata = plan_metadata if plan_metadata != OMIT
|
37
|
+
@benefits = benefits if benefits != OMIT
|
38
|
+
@additional_properties = additional_properties
|
39
|
+
@_field_set = {
|
40
|
+
"eligibility_status": eligibility_status,
|
41
|
+
"plan_metadata": plan_metadata,
|
42
|
+
"benefits": benefits
|
43
|
+
}.reject do |_k, v|
|
44
|
+
v == OMIT
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
# Deserialize a JSON object to an instance of ParsedResponse
|
49
|
+
#
|
50
|
+
# @param json_object [String]
|
51
|
+
# @return [CandidApiClient::PreEncounter::EligibilityChecks::V1::Types::ParsedResponse]
|
52
|
+
def self.from_json(json_object:)
|
53
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
54
|
+
parsed_json = JSON.parse(json_object)
|
55
|
+
eligibility_status = struct["eligibility_status"]
|
56
|
+
if parsed_json["plan_metadata"].nil?
|
57
|
+
plan_metadata = nil
|
58
|
+
else
|
59
|
+
plan_metadata = parsed_json["plan_metadata"].to_json
|
60
|
+
plan_metadata = CandidApiClient::PreEncounter::Coverages::V1::Types::PlanMetadata.from_json(json_object: plan_metadata)
|
61
|
+
end
|
62
|
+
if parsed_json["benefits"].nil?
|
63
|
+
benefits = nil
|
64
|
+
else
|
65
|
+
benefits = parsed_json["benefits"].to_json
|
66
|
+
benefits = CandidApiClient::PreEncounter::Coverages::V1::Types::CoverageBenefits.from_json(json_object: benefits)
|
67
|
+
end
|
68
|
+
new(
|
69
|
+
eligibility_status: eligibility_status,
|
70
|
+
plan_metadata: plan_metadata,
|
71
|
+
benefits: benefits,
|
72
|
+
additional_properties: struct
|
73
|
+
)
|
74
|
+
end
|
75
|
+
|
76
|
+
# Serialize an instance of ParsedResponse to a JSON object
|
77
|
+
#
|
78
|
+
# @return [String]
|
79
|
+
def to_json(*_args)
|
80
|
+
@_field_set&.to_json
|
81
|
+
end
|
82
|
+
|
83
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
84
|
+
# hash and check each fields type against the current object's property
|
85
|
+
# definitions.
|
86
|
+
#
|
87
|
+
# @param obj [Object]
|
88
|
+
# @return [Void]
|
89
|
+
def self.validate_raw(obj:)
|
90
|
+
obj.eligibility_status.is_a?(CandidApiClient::PreEncounter::Coverages::V1::Types::EligibilityStatus) != false || raise("Passed value for field obj.eligibility_status is not the expected type, validation failed.")
|
91
|
+
obj.plan_metadata.nil? || CandidApiClient::PreEncounter::Coverages::V1::Types::PlanMetadata.validate_raw(obj: obj.plan_metadata)
|
92
|
+
obj.benefits.nil? || CandidApiClient::PreEncounter::Coverages::V1::Types::CoverageBenefits.validate_raw(obj: obj.benefits)
|
93
|
+
end
|
94
|
+
end
|
95
|
+
end
|
96
|
+
end
|
97
|
+
end
|
98
|
+
end
|
99
|
+
end
|
@@ -0,0 +1,66 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "json"
|
4
|
+
require_relative "individual_provider"
|
5
|
+
require_relative "organization_provider"
|
6
|
+
|
7
|
+
module CandidApiClient
|
8
|
+
module PreEncounter
|
9
|
+
module EligibilityChecks
|
10
|
+
module V1
|
11
|
+
module Types
|
12
|
+
class Provider
|
13
|
+
# Deserialize a JSON object to an instance of Provider
|
14
|
+
#
|
15
|
+
# @param json_object [String]
|
16
|
+
# @return [CandidApiClient::PreEncounter::EligibilityChecks::V1::Types::Provider]
|
17
|
+
def self.from_json(json_object:)
|
18
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
19
|
+
begin
|
20
|
+
CandidApiClient::PreEncounter::EligibilityChecks::V1::Types::IndividualProvider.validate_raw(obj: struct)
|
21
|
+
unless json_object.nil?
|
22
|
+
return CandidApiClient::PreEncounter::EligibilityChecks::V1::Types::IndividualProvider.from_json(json_object: json_object)
|
23
|
+
end
|
24
|
+
|
25
|
+
return nil
|
26
|
+
rescue StandardError
|
27
|
+
# noop
|
28
|
+
end
|
29
|
+
begin
|
30
|
+
CandidApiClient::PreEncounter::EligibilityChecks::V1::Types::OrganizationProvider.validate_raw(obj: struct)
|
31
|
+
unless json_object.nil?
|
32
|
+
return CandidApiClient::PreEncounter::EligibilityChecks::V1::Types::OrganizationProvider.from_json(json_object: json_object)
|
33
|
+
end
|
34
|
+
|
35
|
+
return nil
|
36
|
+
rescue StandardError
|
37
|
+
# noop
|
38
|
+
end
|
39
|
+
struct
|
40
|
+
end
|
41
|
+
|
42
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
43
|
+
# hash and check each fields type against the current object's property
|
44
|
+
# definitions.
|
45
|
+
#
|
46
|
+
# @param obj [Object]
|
47
|
+
# @return [Void]
|
48
|
+
def self.validate_raw(obj:)
|
49
|
+
begin
|
50
|
+
return CandidApiClient::PreEncounter::EligibilityChecks::V1::Types::IndividualProvider.validate_raw(obj: obj)
|
51
|
+
rescue StandardError
|
52
|
+
# noop
|
53
|
+
end
|
54
|
+
begin
|
55
|
+
return CandidApiClient::PreEncounter::EligibilityChecks::V1::Types::OrganizationProvider.validate_raw(obj: obj)
|
56
|
+
rescue StandardError
|
57
|
+
# noop
|
58
|
+
end
|
59
|
+
raise("Passed value matched no type within the union, validation failed.")
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
@@ -0,0 +1,79 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "ostruct"
|
4
|
+
require "json"
|
5
|
+
|
6
|
+
module CandidApiClient
|
7
|
+
module PreEncounter
|
8
|
+
module EligibilityChecks
|
9
|
+
module V1
|
10
|
+
module Types
|
11
|
+
class RequestCorrection
|
12
|
+
# @return [String]
|
13
|
+
attr_reader :property
|
14
|
+
# @return [String]
|
15
|
+
attr_reader :request_value
|
16
|
+
# @return [String]
|
17
|
+
attr_reader :corrected_value
|
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 property [String]
|
27
|
+
# @param request_value [String]
|
28
|
+
# @param corrected_value [String]
|
29
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
30
|
+
# @return [CandidApiClient::PreEncounter::EligibilityChecks::V1::Types::RequestCorrection]
|
31
|
+
def initialize(property:, request_value:, corrected_value:, additional_properties: nil)
|
32
|
+
@property = property
|
33
|
+
@request_value = request_value
|
34
|
+
@corrected_value = corrected_value
|
35
|
+
@additional_properties = additional_properties
|
36
|
+
@_field_set = { "property": property, "request_value": request_value, "corrected_value": corrected_value }
|
37
|
+
end
|
38
|
+
|
39
|
+
# Deserialize a JSON object to an instance of RequestCorrection
|
40
|
+
#
|
41
|
+
# @param json_object [String]
|
42
|
+
# @return [CandidApiClient::PreEncounter::EligibilityChecks::V1::Types::RequestCorrection]
|
43
|
+
def self.from_json(json_object:)
|
44
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
45
|
+
property = struct["property"]
|
46
|
+
request_value = struct["request_value"]
|
47
|
+
corrected_value = struct["corrected_value"]
|
48
|
+
new(
|
49
|
+
property: property,
|
50
|
+
request_value: request_value,
|
51
|
+
corrected_value: corrected_value,
|
52
|
+
additional_properties: struct
|
53
|
+
)
|
54
|
+
end
|
55
|
+
|
56
|
+
# Serialize an instance of RequestCorrection to a JSON object
|
57
|
+
#
|
58
|
+
# @return [String]
|
59
|
+
def to_json(*_args)
|
60
|
+
@_field_set&.to_json
|
61
|
+
end
|
62
|
+
|
63
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
64
|
+
# hash and check each fields type against the current object's property
|
65
|
+
# definitions.
|
66
|
+
#
|
67
|
+
# @param obj [Object]
|
68
|
+
# @return [Void]
|
69
|
+
def self.validate_raw(obj:)
|
70
|
+
obj.property.is_a?(String) != false || raise("Passed value for field obj.property is not the expected type, validation failed.")
|
71
|
+
obj.request_value.is_a?(String) != false || raise("Passed value for field obj.request_value is not the expected type, validation failed.")
|
72
|
+
obj.corrected_value.is_a?(String) != false || raise("Passed value for field obj.corrected_value is not the expected type, validation failed.")
|
73
|
+
end
|
74
|
+
end
|
75
|
+
end
|
76
|
+
end
|
77
|
+
end
|
78
|
+
end
|
79
|
+
end
|