candidhealth 0.39.5 → 0.39.7

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 (51) hide show
  1. checksums.yaml +4 -4
  2. data/lib/candidhealth/charge_capture/v_1/client.rb +8 -0
  3. data/lib/candidhealth/commons/types/procedure_modifier.rb +1 -0
  4. data/lib/candidhealth/encounters/v_4/client.rb +12 -4
  5. data/lib/candidhealth/encounters/v_4/types/payer_plan_group_payer_does_not_match_insurance_card_error.rb +77 -0
  6. data/lib/candidhealth/fee_schedules/v_3/client.rb +16 -4
  7. data/lib/candidhealth/fee_schedules/v_3/types/dimension_match.rb +16 -2
  8. data/lib/candidhealth/fee_schedules/v_3/types/dimensions.rb +16 -2
  9. data/lib/candidhealth/fee_schedules/v_3/types/match_payer_plan_groups.rb +85 -0
  10. data/lib/candidhealth/fee_schedules/v_3/types/optional_dimensions.rb +15 -2
  11. data/lib/candidhealth/fee_schedules/v_3/types/payer_plan_group_does_not_match_rate_payer_error.rb +75 -0
  12. data/lib/candidhealth/fee_schedules/v_3/types/validation_error.rb +39 -14
  13. data/lib/candidhealth/insurance_cards/v_2/types/insurance_card.rb +10 -2
  14. data/lib/candidhealth/insurance_cards/v_2/types/insurance_card_base.rb +10 -2
  15. data/lib/candidhealth/insurance_cards/v_2/types/insurance_card_create.rb +10 -2
  16. data/lib/candidhealth/organization_providers/v_2/types/license_type.rb +27 -0
  17. data/lib/candidhealth/pre_encounter/appointments/v_1/client.rb +98 -4
  18. data/lib/candidhealth/pre_encounter/appointments/v_1/types/appointment.rb +2 -2
  19. data/lib/candidhealth/pre_encounter/appointments/v_1/types/mutable_appointment.rb +2 -2
  20. data/lib/candidhealth/pre_encounter/appointments/v_1/types/visit.rb +96 -0
  21. data/lib/candidhealth/pre_encounter/appointments/v_1/types/visits_page.rb +98 -0
  22. data/lib/candidhealth/pre_encounter/common/types/external_identifier.rb +87 -0
  23. data/lib/candidhealth/pre_encounter/common/types/external_provider.rb +10 -2
  24. data/lib/candidhealth/pre_encounter/coverages/v_1/client.rb +89 -4
  25. data/lib/candidhealth/pre_encounter/coverages/v_1/types/address.rb +118 -0
  26. data/lib/candidhealth/pre_encounter/coverages/v_1/types/benefits_related_entity.rb +11 -2
  27. data/lib/candidhealth/pre_encounter/coverages/v_1/types/coverages_page.rb +98 -0
  28. data/lib/candidhealth/pre_encounter/coverages/v_1/types/expanded_member_info.rb +133 -0
  29. data/lib/candidhealth/pre_encounter/coverages/v_1/types/insurance_plan.rb +10 -2
  30. data/lib/candidhealth/pre_encounter/coverages/v_1/types/insurance_type_code.rb +1 -0
  31. data/lib/candidhealth/pre_encounter/coverages/v_1/types/member_info.rb +93 -0
  32. data/lib/candidhealth/pre_encounter/coverages/v_1/types/plan_metadata.rb +38 -3
  33. data/lib/candidhealth/pre_encounter/eligibility_checks/client.rb +32 -0
  34. data/lib/candidhealth/pre_encounter/eligibility_checks/v_1/client.rb +116 -0
  35. data/lib/candidhealth/pre_encounter/eligibility_checks/v_1/types/eligibility_check.rb +119 -0
  36. data/lib/candidhealth/pre_encounter/eligibility_checks/v_1/types/eligibility_request.rb +135 -0
  37. data/lib/candidhealth/pre_encounter/eligibility_checks/v_1/types/eligibility_response.rb +15 -0
  38. data/lib/candidhealth/pre_encounter/eligibility_checks/v_1/types/encounter.rb +83 -0
  39. data/lib/candidhealth/pre_encounter/eligibility_checks/v_1/types/individual_provider.rb +81 -0
  40. data/lib/candidhealth/pre_encounter/eligibility_checks/v_1/types/organization_provider.rb +74 -0
  41. data/lib/candidhealth/pre_encounter/eligibility_checks/v_1/types/parsed_response.rb +99 -0
  42. data/lib/candidhealth/pre_encounter/eligibility_checks/v_1/types/provider.rb +66 -0
  43. data/lib/candidhealth/pre_encounter/eligibility_checks/v_1/types/request_correction.rb +79 -0
  44. data/lib/candidhealth/pre_encounter/lists/v_1/types/appointment_list_item.rb +5 -5
  45. data/lib/candidhealth/pre_encounter/patients/v_1/client.rb +70 -14
  46. data/lib/candidhealth/pre_encounter/patients/v_1/types/mutable_patient.rb +14 -2
  47. data/lib/candidhealth/pre_encounter/patients/v_1/types/mutable_patient_with_mrn.rb +14 -2
  48. data/lib/candidhealth/pre_encounter/patients/v_1/types/patient.rb +13 -1
  49. data/lib/requests.rb +2 -2
  50. data/lib/types_export.rb +19 -0
  51. metadata +23 -2
@@ -1,6 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_relative "related_entity_contact"
4
+ require_relative "service_type_code"
4
5
  require "ostruct"
5
6
  require "json"
6
7
 
@@ -18,6 +19,8 @@ module CandidApiClient
18
19
  attr_reader :entity_name
19
20
  # @return [Array<CandidApiClient::PreEncounter::Coverages::V1::Types::RelatedEntityContact>]
20
21
  attr_reader :contact_information
22
+ # @return [Array<CandidApiClient::PreEncounter::Coverages::V1::Types::ServiceTypeCode>]
23
+ attr_reader :service_type_codes
21
24
  # @return [OpenStruct] Additional properties unmapped to the current class definition
22
25
  attr_reader :additional_properties
23
26
  # @return [Object]
@@ -30,20 +33,23 @@ module CandidApiClient
30
33
  # @param entity_type [String]
31
34
  # @param entity_name [String]
32
35
  # @param contact_information [Array<CandidApiClient::PreEncounter::Coverages::V1::Types::RelatedEntityContact>]
36
+ # @param service_type_codes [Array<CandidApiClient::PreEncounter::Coverages::V1::Types::ServiceTypeCode>]
33
37
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
34
38
  # @return [CandidApiClient::PreEncounter::Coverages::V1::Types::BenefitsRelatedEntity]
35
39
  def initialize(entity_identifier: OMIT, entity_type: OMIT, entity_name: OMIT, contact_information: OMIT,
36
- additional_properties: nil)
40
+ service_type_codes: OMIT, additional_properties: nil)
37
41
  @entity_identifier = entity_identifier if entity_identifier != OMIT
38
42
  @entity_type = entity_type if entity_type != OMIT
39
43
  @entity_name = entity_name if entity_name != OMIT
40
44
  @contact_information = contact_information if contact_information != OMIT
45
+ @service_type_codes = service_type_codes if service_type_codes != OMIT
41
46
  @additional_properties = additional_properties
42
47
  @_field_set = {
43
48
  "entityIdentifier": entity_identifier,
44
49
  "entityType": entity_type,
45
50
  "entityName": entity_name,
46
- "contactInformation": contact_information
51
+ "contactInformation": contact_information,
52
+ "serviceTypeCodes": service_type_codes
47
53
  }.reject do |_k, v|
48
54
  v == OMIT
49
55
  end
@@ -63,11 +69,13 @@ module CandidApiClient
63
69
  item = item.to_json
64
70
  CandidApiClient::PreEncounter::Coverages::V1::Types::RelatedEntityContact.from_json(json_object: item)
65
71
  end
72
+ service_type_codes = struct["serviceTypeCodes"]
66
73
  new(
67
74
  entity_identifier: entity_identifier,
68
75
  entity_type: entity_type,
69
76
  entity_name: entity_name,
70
77
  contact_information: contact_information,
78
+ service_type_codes: service_type_codes,
71
79
  additional_properties: struct
72
80
  )
73
81
  end
@@ -90,6 +98,7 @@ module CandidApiClient
90
98
  obj.entity_type&.is_a?(String) != false || raise("Passed value for field obj.entity_type is not the expected type, validation failed.")
91
99
  obj.entity_name&.is_a?(String) != false || raise("Passed value for field obj.entity_name is not the expected type, validation failed.")
92
100
  obj.contact_information&.is_a?(Array) != false || raise("Passed value for field obj.contact_information is not the expected type, validation failed.")
101
+ obj.service_type_codes&.is_a?(Array) != false || raise("Passed value for field obj.service_type_codes is not the expected type, validation failed.")
93
102
  end
94
103
  end
95
104
  end
@@ -0,0 +1,98 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "coverage"
4
+ require "ostruct"
5
+ require "json"
6
+
7
+ module CandidApiClient
8
+ module PreEncounter
9
+ module Coverages
10
+ module V1
11
+ module Types
12
+ class CoveragesPage
13
+ # @return [Array<CandidApiClient::PreEncounter::Coverages::V1::Types::Coverage>]
14
+ attr_reader :items
15
+ # @return [String]
16
+ attr_reader :next_page_token
17
+ # @return [String]
18
+ attr_reader :prev_page_token
19
+ # @return [Integer]
20
+ attr_reader :total
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 items [Array<CandidApiClient::PreEncounter::Coverages::V1::Types::Coverage>]
30
+ # @param next_page_token [String]
31
+ # @param prev_page_token [String]
32
+ # @param total [Integer]
33
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
34
+ # @return [CandidApiClient::PreEncounter::Coverages::V1::Types::CoveragesPage]
35
+ def initialize(items:, total:, next_page_token: OMIT, prev_page_token: OMIT, additional_properties: nil)
36
+ @items = items
37
+ @next_page_token = next_page_token if next_page_token != OMIT
38
+ @prev_page_token = prev_page_token if prev_page_token != OMIT
39
+ @total = total
40
+ @additional_properties = additional_properties
41
+ @_field_set = {
42
+ "items": items,
43
+ "next_page_token": next_page_token,
44
+ "prev_page_token": prev_page_token,
45
+ "total": total
46
+ }.reject do |_k, v|
47
+ v == OMIT
48
+ end
49
+ end
50
+
51
+ # Deserialize a JSON object to an instance of CoveragesPage
52
+ #
53
+ # @param json_object [String]
54
+ # @return [CandidApiClient::PreEncounter::Coverages::V1::Types::CoveragesPage]
55
+ def self.from_json(json_object:)
56
+ struct = JSON.parse(json_object, object_class: OpenStruct)
57
+ parsed_json = JSON.parse(json_object)
58
+ items = parsed_json["items"]&.map do |item|
59
+ item = item.to_json
60
+ CandidApiClient::PreEncounter::Coverages::V1::Types::Coverage.from_json(json_object: item)
61
+ end
62
+ next_page_token = struct["next_page_token"]
63
+ prev_page_token = struct["prev_page_token"]
64
+ total = struct["total"]
65
+ new(
66
+ items: items,
67
+ next_page_token: next_page_token,
68
+ prev_page_token: prev_page_token,
69
+ total: total,
70
+ additional_properties: struct
71
+ )
72
+ end
73
+
74
+ # Serialize an instance of CoveragesPage to a JSON object
75
+ #
76
+ # @return [String]
77
+ def to_json(*_args)
78
+ @_field_set&.to_json
79
+ end
80
+
81
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
82
+ # hash and check each fields type against the current object's property
83
+ # definitions.
84
+ #
85
+ # @param obj [Object]
86
+ # @return [Void]
87
+ def self.validate_raw(obj:)
88
+ obj.items.is_a?(Array) != false || raise("Passed value for field obj.items is not the expected type, validation failed.")
89
+ obj.next_page_token&.is_a?(String) != false || raise("Passed value for field obj.next_page_token is not the expected type, validation failed.")
90
+ obj.prev_page_token&.is_a?(String) != false || raise("Passed value for field obj.prev_page_token is not the expected type, validation failed.")
91
+ obj.total.is_a?(Integer) != false || raise("Passed value for field obj.total is not the expected type, validation failed.")
92
+ end
93
+ end
94
+ end
95
+ end
96
+ end
97
+ end
98
+ end
@@ -0,0 +1,133 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "address"
4
+ require "ostruct"
5
+ require "json"
6
+
7
+ module CandidApiClient
8
+ module PreEncounter
9
+ module Coverages
10
+ module V1
11
+ module Types
12
+ class ExpandedMemberInfo
13
+ # @return [String]
14
+ attr_reader :member_id
15
+ # @return [String]
16
+ attr_reader :group_number
17
+ # @return [String]
18
+ attr_reader :first_name
19
+ # @return [String]
20
+ attr_reader :middle_name
21
+ # @return [String]
22
+ attr_reader :last_name
23
+ # @return [String]
24
+ attr_reader :date_of_birth
25
+ # @return [String]
26
+ attr_reader :gender
27
+ # @return [CandidApiClient::PreEncounter::Coverages::V1::Types::Address]
28
+ attr_reader :address
29
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
30
+ attr_reader :additional_properties
31
+ # @return [Object]
32
+ attr_reader :_field_set
33
+ protected :_field_set
34
+
35
+ OMIT = Object.new
36
+
37
+ # @param member_id [String]
38
+ # @param group_number [String]
39
+ # @param first_name [String]
40
+ # @param middle_name [String]
41
+ # @param last_name [String]
42
+ # @param date_of_birth [String]
43
+ # @param gender [String]
44
+ # @param address [CandidApiClient::PreEncounter::Coverages::V1::Types::Address]
45
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
46
+ # @return [CandidApiClient::PreEncounter::Coverages::V1::Types::ExpandedMemberInfo]
47
+ def initialize(member_id: OMIT, group_number: OMIT, first_name: OMIT, middle_name: OMIT, last_name: OMIT,
48
+ date_of_birth: OMIT, gender: OMIT, address: OMIT, additional_properties: nil)
49
+ @member_id = member_id if member_id != OMIT
50
+ @group_number = group_number if group_number != OMIT
51
+ @first_name = first_name if first_name != OMIT
52
+ @middle_name = middle_name if middle_name != OMIT
53
+ @last_name = last_name if last_name != OMIT
54
+ @date_of_birth = date_of_birth if date_of_birth != OMIT
55
+ @gender = gender if gender != OMIT
56
+ @address = address if address != OMIT
57
+ @additional_properties = additional_properties
58
+ @_field_set = {
59
+ "member_id": member_id,
60
+ "group_number": group_number,
61
+ "first_name": first_name,
62
+ "middle_name": middle_name,
63
+ "last_name": last_name,
64
+ "date_of_birth": date_of_birth,
65
+ "gender": gender,
66
+ "address": address
67
+ }.reject do |_k, v|
68
+ v == OMIT
69
+ end
70
+ end
71
+
72
+ # Deserialize a JSON object to an instance of ExpandedMemberInfo
73
+ #
74
+ # @param json_object [String]
75
+ # @return [CandidApiClient::PreEncounter::Coverages::V1::Types::ExpandedMemberInfo]
76
+ def self.from_json(json_object:)
77
+ struct = JSON.parse(json_object, object_class: OpenStruct)
78
+ parsed_json = JSON.parse(json_object)
79
+ member_id = struct["member_id"]
80
+ group_number = struct["group_number"]
81
+ first_name = struct["first_name"]
82
+ middle_name = struct["middle_name"]
83
+ last_name = struct["last_name"]
84
+ date_of_birth = struct["date_of_birth"]
85
+ gender = struct["gender"]
86
+ if parsed_json["address"].nil?
87
+ address = nil
88
+ else
89
+ address = parsed_json["address"].to_json
90
+ address = CandidApiClient::PreEncounter::Coverages::V1::Types::Address.from_json(json_object: address)
91
+ end
92
+ new(
93
+ member_id: member_id,
94
+ group_number: group_number,
95
+ first_name: first_name,
96
+ middle_name: middle_name,
97
+ last_name: last_name,
98
+ date_of_birth: date_of_birth,
99
+ gender: gender,
100
+ address: address,
101
+ additional_properties: struct
102
+ )
103
+ end
104
+
105
+ # Serialize an instance of ExpandedMemberInfo to a JSON object
106
+ #
107
+ # @return [String]
108
+ def to_json(*_args)
109
+ @_field_set&.to_json
110
+ end
111
+
112
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
113
+ # hash and check each fields type against the current object's property
114
+ # definitions.
115
+ #
116
+ # @param obj [Object]
117
+ # @return [Void]
118
+ def self.validate_raw(obj:)
119
+ obj.member_id&.is_a?(String) != false || raise("Passed value for field obj.member_id is not the expected type, validation failed.")
120
+ obj.group_number&.is_a?(String) != false || raise("Passed value for field obj.group_number is not the expected type, validation failed.")
121
+ obj.first_name&.is_a?(String) != false || raise("Passed value for field obj.first_name is not the expected type, validation failed.")
122
+ obj.middle_name&.is_a?(String) != false || raise("Passed value for field obj.middle_name is not the expected type, validation failed.")
123
+ obj.last_name&.is_a?(String) != false || raise("Passed value for field obj.last_name is not the expected type, validation failed.")
124
+ obj.date_of_birth&.is_a?(String) != false || raise("Passed value for field obj.date_of_birth is not the expected type, validation failed.")
125
+ obj.gender&.is_a?(String) != false || raise("Passed value for field obj.gender is not the expected type, validation failed.")
126
+ obj.address.nil? || CandidApiClient::PreEncounter::Coverages::V1::Types::Address.validate_raw(obj: obj.address)
127
+ end
128
+ end
129
+ end
130
+ end
131
+ end
132
+ end
133
+ end
@@ -33,6 +33,8 @@ module CandidApiClient
33
33
  attr_reader :period
34
34
  # @return [String]
35
35
  attr_reader :insurance_card_image_locator
36
+ # @return [String] The ID of the Candid configured payer plan group associated with this coverage
37
+ attr_reader :payer_plan_group_id
36
38
  # @return [OpenStruct] Additional properties unmapped to the current class definition
37
39
  attr_reader :additional_properties
38
40
  # @return [Object]
@@ -51,10 +53,11 @@ module CandidApiClient
51
53
  # @param type [CandidApiClient::PreEncounter::Coverages::V1::Types::InsuranceTypeCode]
52
54
  # @param period [CandidApiClient::PreEncounter::Common::Types::Period]
53
55
  # @param insurance_card_image_locator [String]
56
+ # @param payer_plan_group_id [String] The ID of the Candid configured payer plan group associated with this coverage
54
57
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
55
58
  # @return [CandidApiClient::PreEncounter::Coverages::V1::Types::InsurancePlan]
56
59
  def initialize(member_id:, payer_id:, payer_name:, additional_payer_information: OMIT, group_number: OMIT,
57
- name: OMIT, plan_type: OMIT, type: OMIT, period: OMIT, insurance_card_image_locator: OMIT, additional_properties: nil)
60
+ name: OMIT, plan_type: OMIT, type: OMIT, period: OMIT, insurance_card_image_locator: OMIT, payer_plan_group_id: OMIT, additional_properties: nil)
58
61
  @member_id = member_id
59
62
  @payer_id = payer_id
60
63
  @payer_name = payer_name
@@ -65,6 +68,7 @@ module CandidApiClient
65
68
  @type = type if type != OMIT
66
69
  @period = period if period != OMIT
67
70
  @insurance_card_image_locator = insurance_card_image_locator if insurance_card_image_locator != OMIT
71
+ @payer_plan_group_id = payer_plan_group_id if payer_plan_group_id != OMIT
68
72
  @additional_properties = additional_properties
69
73
  @_field_set = {
70
74
  "member_id": member_id,
@@ -76,7 +80,8 @@ module CandidApiClient
76
80
  "plan_type": plan_type,
77
81
  "type": type,
78
82
  "period": period,
79
- "insurance_card_image_locator": insurance_card_image_locator
83
+ "insurance_card_image_locator": insurance_card_image_locator,
84
+ "payer_plan_group_id": payer_plan_group_id
80
85
  }.reject do |_k, v|
81
86
  v == OMIT
82
87
  end
@@ -109,6 +114,7 @@ module CandidApiClient
109
114
  period = CandidApiClient::PreEncounter::Common::Types::Period.from_json(json_object: period)
110
115
  end
111
116
  insurance_card_image_locator = struct["insurance_card_image_locator"]
117
+ payer_plan_group_id = struct["payer_plan_group_id"]
112
118
  new(
113
119
  member_id: member_id,
114
120
  payer_id: payer_id,
@@ -120,6 +126,7 @@ module CandidApiClient
120
126
  type: type,
121
127
  period: period,
122
128
  insurance_card_image_locator: insurance_card_image_locator,
129
+ payer_plan_group_id: payer_plan_group_id,
123
130
  additional_properties: struct
124
131
  )
125
132
  end
@@ -148,6 +155,7 @@ module CandidApiClient
148
155
  obj.type&.is_a?(CandidApiClient::PreEncounter::Coverages::V1::Types::InsuranceTypeCode) != false || raise("Passed value for field obj.type is not the expected type, validation failed.")
149
156
  obj.period.nil? || CandidApiClient::PreEncounter::Common::Types::Period.validate_raw(obj: obj.period)
150
157
  obj.insurance_card_image_locator&.is_a?(String) != false || raise("Passed value for field obj.insurance_card_image_locator is not the expected type, validation failed.")
158
+ obj.payer_plan_group_id&.is_a?(String) != false || raise("Passed value for field obj.payer_plan_group_id is not the expected type, validation failed.")
151
159
  end
152
160
  end
153
161
  end
@@ -66,6 +66,7 @@ module CandidApiClient
66
66
  CMV = "MV"
67
67
  COA = "OA"
68
68
  COT = "OT"
69
+ CPE = "PE"
69
70
  CPL = "PL"
70
71
  CPP = "PP"
71
72
  CPR = "PR"
@@ -0,0 +1,93 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "date"
4
+ require "ostruct"
5
+ require "json"
6
+
7
+ module CandidApiClient
8
+ module PreEncounter
9
+ module Coverages
10
+ module V1
11
+ module Types
12
+ class MemberInfo
13
+ # @return [String]
14
+ attr_reader :member_id
15
+ # @return [String]
16
+ attr_reader :first_name
17
+ # @return [String]
18
+ attr_reader :last_name
19
+ # @return [Date]
20
+ attr_reader :date_of_birth
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 member_id [String]
30
+ # @param first_name [String]
31
+ # @param last_name [String]
32
+ # @param date_of_birth [Date]
33
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
34
+ # @return [CandidApiClient::PreEncounter::Coverages::V1::Types::MemberInfo]
35
+ def initialize(member_id:, first_name:, last_name:, date_of_birth:, additional_properties: nil)
36
+ @member_id = member_id
37
+ @first_name = first_name
38
+ @last_name = last_name
39
+ @date_of_birth = date_of_birth
40
+ @additional_properties = additional_properties
41
+ @_field_set = {
42
+ "member_id": member_id,
43
+ "first_name": first_name,
44
+ "last_name": last_name,
45
+ "date_of_birth": date_of_birth
46
+ }
47
+ end
48
+
49
+ # Deserialize a JSON object to an instance of MemberInfo
50
+ #
51
+ # @param json_object [String]
52
+ # @return [CandidApiClient::PreEncounter::Coverages::V1::Types::MemberInfo]
53
+ def self.from_json(json_object:)
54
+ struct = JSON.parse(json_object, object_class: OpenStruct)
55
+ parsed_json = JSON.parse(json_object)
56
+ member_id = struct["member_id"]
57
+ first_name = struct["first_name"]
58
+ last_name = struct["last_name"]
59
+ date_of_birth = (Date.parse(parsed_json["date_of_birth"]) unless parsed_json["date_of_birth"].nil?)
60
+ new(
61
+ member_id: member_id,
62
+ first_name: first_name,
63
+ last_name: last_name,
64
+ date_of_birth: date_of_birth,
65
+ additional_properties: struct
66
+ )
67
+ end
68
+
69
+ # Serialize an instance of MemberInfo to a JSON object
70
+ #
71
+ # @return [String]
72
+ def to_json(*_args)
73
+ @_field_set&.to_json
74
+ end
75
+
76
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
77
+ # hash and check each fields type against the current object's property
78
+ # definitions.
79
+ #
80
+ # @param obj [Object]
81
+ # @return [Void]
82
+ def self.validate_raw(obj:)
83
+ obj.member_id.is_a?(String) != false || raise("Passed value for field obj.member_id is not the expected type, validation failed.")
84
+ obj.first_name.is_a?(String) != false || raise("Passed value for field obj.first_name is not the expected type, validation failed.")
85
+ obj.last_name.is_a?(String) != false || raise("Passed value for field obj.last_name is not the expected type, validation failed.")
86
+ obj.date_of_birth.is_a?(Date) != false || raise("Passed value for field obj.date_of_birth is not the expected type, validation failed.")
87
+ end
88
+ end
89
+ end
90
+ end
91
+ end
92
+ end
93
+ end
@@ -2,6 +2,7 @@
2
2
 
3
3
  require "date"
4
4
  require_relative "plan_date"
5
+ require_relative "expanded_member_info"
5
6
  require "ostruct"
6
7
  require "json"
7
8
 
@@ -11,6 +12,8 @@ module CandidApiClient
11
12
  module V1
12
13
  module Types
13
14
  class PlanMetadata
15
+ # @return [String]
16
+ attr_reader :payer_name
14
17
  # @return [String]
15
18
  attr_reader :insurance_type
16
19
  # @return [String]
@@ -27,6 +30,10 @@ module CandidApiClient
27
30
  attr_reader :end_date
28
31
  # @return [Array<CandidApiClient::PreEncounter::Coverages::V1::Types::PlanDate>]
29
32
  attr_reader :plan_dates
33
+ # @return [CandidApiClient::PreEncounter::Coverages::V1::Types::ExpandedMemberInfo]
34
+ attr_reader :subscriber
35
+ # @return [CandidApiClient::PreEncounter::Coverages::V1::Types::ExpandedMemberInfo]
36
+ attr_reader :dependent
30
37
  # @return [OpenStruct] Additional properties unmapped to the current class definition
31
38
  attr_reader :additional_properties
32
39
  # @return [Object]
@@ -35,6 +42,7 @@ module CandidApiClient
35
42
 
36
43
  OMIT = Object.new
37
44
 
45
+ # @param payer_name [String]
38
46
  # @param insurance_type [String]
39
47
  # @param insurance_type_code [String]
40
48
  # @param plan_name [String]
@@ -43,10 +51,13 @@ module CandidApiClient
43
51
  # @param start_date [Date]
44
52
  # @param end_date [Date]
45
53
  # @param plan_dates [Array<CandidApiClient::PreEncounter::Coverages::V1::Types::PlanDate>]
54
+ # @param subscriber [CandidApiClient::PreEncounter::Coverages::V1::Types::ExpandedMemberInfo]
55
+ # @param dependent [CandidApiClient::PreEncounter::Coverages::V1::Types::ExpandedMemberInfo]
46
56
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
47
57
  # @return [CandidApiClient::PreEncounter::Coverages::V1::Types::PlanMetadata]
48
- def initialize(insurance_type: OMIT, insurance_type_code: OMIT, plan_name: OMIT, member_id: OMIT,
49
- group_number: OMIT, start_date: OMIT, end_date: OMIT, plan_dates: OMIT, additional_properties: nil)
58
+ def initialize(payer_name: OMIT, insurance_type: OMIT, insurance_type_code: OMIT, plan_name: OMIT,
59
+ member_id: OMIT, group_number: OMIT, start_date: OMIT, end_date: OMIT, plan_dates: OMIT, subscriber: OMIT, dependent: OMIT, additional_properties: nil)
60
+ @payer_name = payer_name if payer_name != OMIT
50
61
  @insurance_type = insurance_type if insurance_type != OMIT
51
62
  @insurance_type_code = insurance_type_code if insurance_type_code != OMIT
52
63
  @plan_name = plan_name if plan_name != OMIT
@@ -55,8 +66,11 @@ module CandidApiClient
55
66
  @start_date = start_date if start_date != OMIT
56
67
  @end_date = end_date if end_date != OMIT
57
68
  @plan_dates = plan_dates if plan_dates != OMIT
69
+ @subscriber = subscriber if subscriber != OMIT
70
+ @dependent = dependent if dependent != OMIT
58
71
  @additional_properties = additional_properties
59
72
  @_field_set = {
73
+ "payer_name": payer_name,
60
74
  "insurance_type": insurance_type,
61
75
  "insurance_type_code": insurance_type_code,
62
76
  "plan_name": plan_name,
@@ -64,7 +78,9 @@ module CandidApiClient
64
78
  "group_number": group_number,
65
79
  "start_date": start_date,
66
80
  "end_date": end_date,
67
- "plan_dates": plan_dates
81
+ "plan_dates": plan_dates,
82
+ "subscriber": subscriber,
83
+ "dependent": dependent
68
84
  }.reject do |_k, v|
69
85
  v == OMIT
70
86
  end
@@ -77,6 +93,7 @@ module CandidApiClient
77
93
  def self.from_json(json_object:)
78
94
  struct = JSON.parse(json_object, object_class: OpenStruct)
79
95
  parsed_json = JSON.parse(json_object)
96
+ payer_name = struct["payer_name"]
80
97
  insurance_type = struct["insurance_type"]
81
98
  insurance_type_code = struct["insurance_type_code"]
82
99
  plan_name = struct["plan_name"]
@@ -88,7 +105,20 @@ module CandidApiClient
88
105
  item = item.to_json
89
106
  CandidApiClient::PreEncounter::Coverages::V1::Types::PlanDate.from_json(json_object: item)
90
107
  end
108
+ if parsed_json["subscriber"].nil?
109
+ subscriber = nil
110
+ else
111
+ subscriber = parsed_json["subscriber"].to_json
112
+ subscriber = CandidApiClient::PreEncounter::Coverages::V1::Types::ExpandedMemberInfo.from_json(json_object: subscriber)
113
+ end
114
+ if parsed_json["dependent"].nil?
115
+ dependent = nil
116
+ else
117
+ dependent = parsed_json["dependent"].to_json
118
+ dependent = CandidApiClient::PreEncounter::Coverages::V1::Types::ExpandedMemberInfo.from_json(json_object: dependent)
119
+ end
91
120
  new(
121
+ payer_name: payer_name,
92
122
  insurance_type: insurance_type,
93
123
  insurance_type_code: insurance_type_code,
94
124
  plan_name: plan_name,
@@ -97,6 +127,8 @@ module CandidApiClient
97
127
  start_date: start_date,
98
128
  end_date: end_date,
99
129
  plan_dates: plan_dates,
130
+ subscriber: subscriber,
131
+ dependent: dependent,
100
132
  additional_properties: struct
101
133
  )
102
134
  end
@@ -115,6 +147,7 @@ module CandidApiClient
115
147
  # @param obj [Object]
116
148
  # @return [Void]
117
149
  def self.validate_raw(obj:)
150
+ obj.payer_name&.is_a?(String) != false || raise("Passed value for field obj.payer_name is not the expected type, validation failed.")
118
151
  obj.insurance_type&.is_a?(String) != false || raise("Passed value for field obj.insurance_type is not the expected type, validation failed.")
119
152
  obj.insurance_type_code&.is_a?(String) != false || raise("Passed value for field obj.insurance_type_code is not the expected type, validation failed.")
120
153
  obj.plan_name&.is_a?(String) != false || raise("Passed value for field obj.plan_name is not the expected type, validation failed.")
@@ -123,6 +156,8 @@ module CandidApiClient
123
156
  obj.start_date&.is_a?(Date) != false || raise("Passed value for field obj.start_date is not the expected type, validation failed.")
124
157
  obj.end_date&.is_a?(Date) != false || raise("Passed value for field obj.end_date is not the expected type, validation failed.")
125
158
  obj.plan_dates&.is_a?(Array) != false || raise("Passed value for field obj.plan_dates is not the expected type, validation failed.")
159
+ obj.subscriber.nil? || CandidApiClient::PreEncounter::Coverages::V1::Types::ExpandedMemberInfo.validate_raw(obj: obj.subscriber)
160
+ obj.dependent.nil? || CandidApiClient::PreEncounter::Coverages::V1::Types::ExpandedMemberInfo.validate_raw(obj: obj.dependent)
126
161
  end
127
162
  end
128
163
  end
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../../../requests"
4
+ require_relative "v_1/client"
5
+
6
+ module CandidApiClient
7
+ module PreEncounter
8
+ module EligibilityChecks
9
+ class Client
10
+ # @return [CandidApiClient::PreEncounter::EligibilityChecks::V1::V1Client]
11
+ attr_reader :v_1
12
+
13
+ # @param request_client [CandidApiClient::RequestClient]
14
+ # @return [CandidApiClient::PreEncounter::EligibilityChecks::Client]
15
+ def initialize(request_client:)
16
+ @v_1 = CandidApiClient::PreEncounter::EligibilityChecks::V1::V1Client.new(request_client: request_client)
17
+ end
18
+ end
19
+
20
+ class AsyncClient
21
+ # @return [CandidApiClient::PreEncounter::EligibilityChecks::V1::AsyncV1Client]
22
+ attr_reader :v_1
23
+
24
+ # @param request_client [CandidApiClient::AsyncRequestClient]
25
+ # @return [CandidApiClient::PreEncounter::EligibilityChecks::AsyncClient]
26
+ def initialize(request_client:)
27
+ @v_1 = CandidApiClient::PreEncounter::EligibilityChecks::V1::AsyncV1Client.new(request_client: request_client)
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end