candidhealth 0.39.6 → 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 (45) hide show
  1. checksums.yaml +4 -4
  2. data/lib/candidhealth/commons/types/procedure_modifier.rb +1 -0
  3. data/lib/candidhealth/fee_schedules/v_3/client.rb +16 -4
  4. data/lib/candidhealth/fee_schedules/v_3/types/dimension_match.rb +16 -2
  5. data/lib/candidhealth/fee_schedules/v_3/types/dimensions.rb +16 -2
  6. data/lib/candidhealth/fee_schedules/v_3/types/match_payer_plan_groups.rb +85 -0
  7. data/lib/candidhealth/fee_schedules/v_3/types/optional_dimensions.rb +15 -2
  8. data/lib/candidhealth/fee_schedules/v_3/types/payer_plan_group_does_not_match_rate_payer_error.rb +75 -0
  9. data/lib/candidhealth/fee_schedules/v_3/types/validation_error.rb +39 -14
  10. data/lib/candidhealth/organization_providers/v_2/types/license_type.rb +4 -0
  11. data/lib/candidhealth/pre_encounter/appointments/v_1/client.rb +98 -4
  12. data/lib/candidhealth/pre_encounter/appointments/v_1/types/appointment.rb +2 -2
  13. data/lib/candidhealth/pre_encounter/appointments/v_1/types/mutable_appointment.rb +2 -2
  14. data/lib/candidhealth/pre_encounter/appointments/v_1/types/visit.rb +96 -0
  15. data/lib/candidhealth/pre_encounter/appointments/v_1/types/visits_page.rb +98 -0
  16. data/lib/candidhealth/pre_encounter/common/types/external_identifier.rb +87 -0
  17. data/lib/candidhealth/pre_encounter/common/types/external_provider.rb +10 -2
  18. data/lib/candidhealth/pre_encounter/coverages/v_1/client.rb +89 -4
  19. data/lib/candidhealth/pre_encounter/coverages/v_1/types/address.rb +118 -0
  20. data/lib/candidhealth/pre_encounter/coverages/v_1/types/benefits_related_entity.rb +11 -2
  21. data/lib/candidhealth/pre_encounter/coverages/v_1/types/coverages_page.rb +98 -0
  22. data/lib/candidhealth/pre_encounter/coverages/v_1/types/expanded_member_info.rb +133 -0
  23. data/lib/candidhealth/pre_encounter/coverages/v_1/types/insurance_plan.rb +10 -2
  24. data/lib/candidhealth/pre_encounter/coverages/v_1/types/insurance_type_code.rb +1 -0
  25. data/lib/candidhealth/pre_encounter/coverages/v_1/types/member_info.rb +93 -0
  26. data/lib/candidhealth/pre_encounter/coverages/v_1/types/plan_metadata.rb +38 -3
  27. data/lib/candidhealth/pre_encounter/eligibility_checks/client.rb +32 -0
  28. data/lib/candidhealth/pre_encounter/eligibility_checks/v_1/client.rb +116 -0
  29. data/lib/candidhealth/pre_encounter/eligibility_checks/v_1/types/eligibility_check.rb +119 -0
  30. data/lib/candidhealth/pre_encounter/eligibility_checks/v_1/types/eligibility_request.rb +135 -0
  31. data/lib/candidhealth/pre_encounter/eligibility_checks/v_1/types/eligibility_response.rb +15 -0
  32. data/lib/candidhealth/pre_encounter/eligibility_checks/v_1/types/encounter.rb +83 -0
  33. data/lib/candidhealth/pre_encounter/eligibility_checks/v_1/types/individual_provider.rb +81 -0
  34. data/lib/candidhealth/pre_encounter/eligibility_checks/v_1/types/organization_provider.rb +74 -0
  35. data/lib/candidhealth/pre_encounter/eligibility_checks/v_1/types/parsed_response.rb +99 -0
  36. data/lib/candidhealth/pre_encounter/eligibility_checks/v_1/types/provider.rb +66 -0
  37. data/lib/candidhealth/pre_encounter/eligibility_checks/v_1/types/request_correction.rb +79 -0
  38. data/lib/candidhealth/pre_encounter/lists/v_1/types/appointment_list_item.rb +5 -5
  39. data/lib/candidhealth/pre_encounter/patients/v_1/client.rb +70 -14
  40. data/lib/candidhealth/pre_encounter/patients/v_1/types/mutable_patient.rb +14 -2
  41. data/lib/candidhealth/pre_encounter/patients/v_1/types/mutable_patient_with_mrn.rb +14 -2
  42. data/lib/candidhealth/pre_encounter/patients/v_1/types/patient.rb +13 -1
  43. data/lib/requests.rb +2 -2
  44. data/lib/types_export.rb +18 -0
  45. metadata +22 -2
@@ -3,6 +3,7 @@
3
3
  require_relative "../../../../requests"
4
4
  require_relative "types/mutable_coverage"
5
5
  require_relative "types/coverage"
6
+ require_relative "types/coverages_page"
6
7
  require "json"
7
8
  require "date"
8
9
  require_relative "types/service_type_code"
@@ -71,6 +72,7 @@ module CandidApiClient
71
72
  # * :start (Date)
72
73
  # * :end_ (Date)
73
74
  # * :insurance_card_image_locator (String)
75
+ # * :payer_plan_group_id (String)
74
76
  # * :verified (Boolean)
75
77
  # * :eligibility_checks (Array<CandidApiClient::PreEncounter::Coverages::V1::Types::EligibilityCheckMetadata>)
76
78
  # * :latest_eligibility_check (Hash)
@@ -172,7 +174,7 @@ module CandidApiClient
172
174
  # @return [CandidApiClient::PreEncounter::Coverages::V1::Types::Coverage]
173
175
  # @example
174
176
  # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
175
- # api.pre_encounter.coverages.v_1.create(request: { status: ACTIVE, subscriber: { name: { family: "string", given: ["string"], use: USUAL, period: { } }, date_of_birth: DateTime.parse(2023-01-15), biological_sex: FEMALE, address: { use: HOME, line: ["string"], city: "string", state: "string", postal_code: "string", country: "string", period: { } } }, relationship: SELF, patient: "string", insurance_plan: { member_id: "string", payer_id: "string", payer_name: "string", additional_payer_information: { }, group_number: "string", name: "string", plan_type: SELF_PAY, type: C_01, period: { }, insurance_card_image_locator: "string" }, verified: true, eligibility_checks: [{ check_id: "string", service_code: MEDICAL_CARE, status: COMPLETED, initiated_by: "string", initiated_at: DateTime.parse(2024-01-15T09:30:00.000Z) }], latest_eligibility_check: { check_id: "string", status: ACTIVE, initiated_at: DateTime.parse(2024-01-15T09:30:00.000Z) }, benefits: { } })
177
+ # api.pre_encounter.coverages.v_1.create(request: { status: ACTIVE, subscriber: { name: { family: "string", given: ["string"], use: USUAL, period: { } }, date_of_birth: DateTime.parse(2023-01-15), biological_sex: FEMALE, address: { use: HOME, line: ["string"], city: "string", state: "string", postal_code: "string", country: "string", period: { } } }, relationship: SELF, patient: "string", insurance_plan: { member_id: "string", payer_id: "string", payer_name: "string", additional_payer_information: { }, group_number: "string", name: "string", plan_type: SELF_PAY, type: C_01, period: { }, insurance_card_image_locator: "string", payer_plan_group_id: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32" }, verified: true, eligibility_checks: , latest_eligibility_check: { check_id: "string", status: ACTIVE, initiated_at: DateTime.parse(2024-01-15T09:30:00.000Z) }, benefits: { } })
176
178
  def create(request:, request_options: nil)
177
179
  response = @request_client.conn.post do |req|
178
180
  req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
@@ -235,6 +237,7 @@ module CandidApiClient
235
237
  # * :start (Date)
236
238
  # * :end_ (Date)
237
239
  # * :insurance_card_image_locator (String)
240
+ # * :payer_plan_group_id (String)
238
241
  # * :verified (Boolean)
239
242
  # * :eligibility_checks (Array<CandidApiClient::PreEncounter::Coverages::V1::Types::EligibilityCheckMetadata>)
240
243
  # * :latest_eligibility_check (Hash)
@@ -339,7 +342,7 @@ module CandidApiClient
339
342
  # api.pre_encounter.coverages.v_1.update(
340
343
  # id: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32",
341
344
  # version: "string",
342
- # request: { status: ACTIVE, subscriber: { name: { family: "string", given: ["string"], use: USUAL, period: { } }, date_of_birth: DateTime.parse(2023-01-15), biological_sex: FEMALE, address: { use: HOME, line: ["string"], city: "string", state: "string", postal_code: "string", country: "string", period: { } } }, relationship: SELF, patient: "string", insurance_plan: { member_id: "string", payer_id: "string", payer_name: "string", additional_payer_information: { }, group_number: "string", name: "string", plan_type: SELF_PAY, type: C_01, period: { }, insurance_card_image_locator: "string" }, verified: true, eligibility_checks: [{ check_id: "string", service_code: MEDICAL_CARE, status: COMPLETED, initiated_by: "string", initiated_at: DateTime.parse(2024-01-15T09:30:00.000Z) }], latest_eligibility_check: { check_id: "string", status: ACTIVE, initiated_at: DateTime.parse(2024-01-15T09:30:00.000Z) }, benefits: { } }
345
+ # request: { status: ACTIVE, subscriber: { name: { family: "string", given: ["string"], use: USUAL, period: { } }, date_of_birth: DateTime.parse(2023-01-15), biological_sex: FEMALE, address: { use: HOME, line: ["string"], city: "string", state: "string", postal_code: "string", country: "string", period: { } } }, relationship: SELF, patient: "string", insurance_plan: { member_id: "string", payer_id: "string", payer_name: "string", additional_payer_information: { }, group_number: "string", name: "string", plan_type: SELF_PAY, type: C_01, period: { }, insurance_card_image_locator: "string", payer_plan_group_id: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32" }, verified: true, eligibility_checks: , latest_eligibility_check: { check_id: "string", status: ACTIVE, initiated_at: DateTime.parse(2024-01-15T09:30:00.000Z) }, benefits: { } }
343
346
  # )
344
347
  def update(id:, version:, request:, request_options: nil)
345
348
  response = @request_client.conn.put do |req|
@@ -357,6 +360,45 @@ module CandidApiClient
357
360
  CandidApiClient::PreEncounter::Coverages::V1::Types::Coverage.from_json(json_object: response.body)
358
361
  end
359
362
 
363
+ # Returns a page of Coverages based on the search criteria.
364
+ #
365
+ # @param patient_id [String]
366
+ # @param payer_plan_group_id [String]
367
+ # @param page_token [String]
368
+ # @param limit [Integer] Must be between 0 and 1000. Defaults to 100
369
+ # @param request_options [CandidApiClient::RequestOptions]
370
+ # @return [CandidApiClient::PreEncounter::Coverages::V1::Types::CoveragesPage]
371
+ # @example
372
+ # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
373
+ # api.pre_encounter.coverages.v_1.get_multi_paginated(
374
+ # patient_id: "string",
375
+ # payer_plan_group_id: "string",
376
+ # page_token: "string",
377
+ # limit: 1
378
+ # )
379
+ def get_multi_paginated(patient_id: nil, payer_plan_group_id: nil, page_token: nil, limit: nil,
380
+ request_options: nil)
381
+ response = @request_client.conn.get do |req|
382
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
383
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
384
+ req.headers = {
385
+ **(req.headers || {}),
386
+ **@request_client.get_headers,
387
+ **(request_options&.additional_headers || {})
388
+ }.compact
389
+ req.params = {
390
+ **(request_options&.additional_query_parameters || {}),
391
+ "patient_id": patient_id,
392
+ "payer_plan_group_id": payer_plan_group_id,
393
+ "page_token": page_token,
394
+ "limit": limit
395
+ }.compact
396
+ req.url "#{@request_client.get_url(environment: PreEncounter,
397
+ request_options: request_options)}/coverages/v1/get-multi-paginated"
398
+ end
399
+ CandidApiClient::PreEncounter::Coverages::V1::Types::CoveragesPage.from_json(json_object: response.body)
400
+ end
401
+
360
402
  # gets a specific Coverage
361
403
  #
362
404
  # @param id [String]
@@ -585,6 +627,7 @@ module CandidApiClient
585
627
  # * :start (Date)
586
628
  # * :end_ (Date)
587
629
  # * :insurance_card_image_locator (String)
630
+ # * :payer_plan_group_id (String)
588
631
  # * :verified (Boolean)
589
632
  # * :eligibility_checks (Array<CandidApiClient::PreEncounter::Coverages::V1::Types::EligibilityCheckMetadata>)
590
633
  # * :latest_eligibility_check (Hash)
@@ -686,7 +729,7 @@ module CandidApiClient
686
729
  # @return [CandidApiClient::PreEncounter::Coverages::V1::Types::Coverage]
687
730
  # @example
688
731
  # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
689
- # api.pre_encounter.coverages.v_1.create(request: { status: ACTIVE, subscriber: { name: { family: "string", given: ["string"], use: USUAL, period: { } }, date_of_birth: DateTime.parse(2023-01-15), biological_sex: FEMALE, address: { use: HOME, line: ["string"], city: "string", state: "string", postal_code: "string", country: "string", period: { } } }, relationship: SELF, patient: "string", insurance_plan: { member_id: "string", payer_id: "string", payer_name: "string", additional_payer_information: { }, group_number: "string", name: "string", plan_type: SELF_PAY, type: C_01, period: { }, insurance_card_image_locator: "string" }, verified: true, eligibility_checks: [{ check_id: "string", service_code: MEDICAL_CARE, status: COMPLETED, initiated_by: "string", initiated_at: DateTime.parse(2024-01-15T09:30:00.000Z) }], latest_eligibility_check: { check_id: "string", status: ACTIVE, initiated_at: DateTime.parse(2024-01-15T09:30:00.000Z) }, benefits: { } })
732
+ # api.pre_encounter.coverages.v_1.create(request: { status: ACTIVE, subscriber: { name: { family: "string", given: ["string"], use: USUAL, period: { } }, date_of_birth: DateTime.parse(2023-01-15), biological_sex: FEMALE, address: { use: HOME, line: ["string"], city: "string", state: "string", postal_code: "string", country: "string", period: { } } }, relationship: SELF, patient: "string", insurance_plan: { member_id: "string", payer_id: "string", payer_name: "string", additional_payer_information: { }, group_number: "string", name: "string", plan_type: SELF_PAY, type: C_01, period: { }, insurance_card_image_locator: "string", payer_plan_group_id: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32" }, verified: true, eligibility_checks: , latest_eligibility_check: { check_id: "string", status: ACTIVE, initiated_at: DateTime.parse(2024-01-15T09:30:00.000Z) }, benefits: { } })
690
733
  def create(request:, request_options: nil)
691
734
  Async do
692
735
  response = @request_client.conn.post do |req|
@@ -751,6 +794,7 @@ module CandidApiClient
751
794
  # * :start (Date)
752
795
  # * :end_ (Date)
753
796
  # * :insurance_card_image_locator (String)
797
+ # * :payer_plan_group_id (String)
754
798
  # * :verified (Boolean)
755
799
  # * :eligibility_checks (Array<CandidApiClient::PreEncounter::Coverages::V1::Types::EligibilityCheckMetadata>)
756
800
  # * :latest_eligibility_check (Hash)
@@ -855,7 +899,7 @@ module CandidApiClient
855
899
  # api.pre_encounter.coverages.v_1.update(
856
900
  # id: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32",
857
901
  # version: "string",
858
- # request: { status: ACTIVE, subscriber: { name: { family: "string", given: ["string"], use: USUAL, period: { } }, date_of_birth: DateTime.parse(2023-01-15), biological_sex: FEMALE, address: { use: HOME, line: ["string"], city: "string", state: "string", postal_code: "string", country: "string", period: { } } }, relationship: SELF, patient: "string", insurance_plan: { member_id: "string", payer_id: "string", payer_name: "string", additional_payer_information: { }, group_number: "string", name: "string", plan_type: SELF_PAY, type: C_01, period: { }, insurance_card_image_locator: "string" }, verified: true, eligibility_checks: [{ check_id: "string", service_code: MEDICAL_CARE, status: COMPLETED, initiated_by: "string", initiated_at: DateTime.parse(2024-01-15T09:30:00.000Z) }], latest_eligibility_check: { check_id: "string", status: ACTIVE, initiated_at: DateTime.parse(2024-01-15T09:30:00.000Z) }, benefits: { } }
902
+ # request: { status: ACTIVE, subscriber: { name: { family: "string", given: ["string"], use: USUAL, period: { } }, date_of_birth: DateTime.parse(2023-01-15), biological_sex: FEMALE, address: { use: HOME, line: ["string"], city: "string", state: "string", postal_code: "string", country: "string", period: { } } }, relationship: SELF, patient: "string", insurance_plan: { member_id: "string", payer_id: "string", payer_name: "string", additional_payer_information: { }, group_number: "string", name: "string", plan_type: SELF_PAY, type: C_01, period: { }, insurance_card_image_locator: "string", payer_plan_group_id: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32" }, verified: true, eligibility_checks: , latest_eligibility_check: { check_id: "string", status: ACTIVE, initiated_at: DateTime.parse(2024-01-15T09:30:00.000Z) }, benefits: { } }
859
903
  # )
860
904
  def update(id:, version:, request:, request_options: nil)
861
905
  Async do
@@ -875,6 +919,47 @@ module CandidApiClient
875
919
  end
876
920
  end
877
921
 
922
+ # Returns a page of Coverages based on the search criteria.
923
+ #
924
+ # @param patient_id [String]
925
+ # @param payer_plan_group_id [String]
926
+ # @param page_token [String]
927
+ # @param limit [Integer] Must be between 0 and 1000. Defaults to 100
928
+ # @param request_options [CandidApiClient::RequestOptions]
929
+ # @return [CandidApiClient::PreEncounter::Coverages::V1::Types::CoveragesPage]
930
+ # @example
931
+ # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
932
+ # api.pre_encounter.coverages.v_1.get_multi_paginated(
933
+ # patient_id: "string",
934
+ # payer_plan_group_id: "string",
935
+ # page_token: "string",
936
+ # limit: 1
937
+ # )
938
+ def get_multi_paginated(patient_id: nil, payer_plan_group_id: nil, page_token: nil, limit: nil,
939
+ request_options: nil)
940
+ Async do
941
+ response = @request_client.conn.get do |req|
942
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
943
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
944
+ req.headers = {
945
+ **(req.headers || {}),
946
+ **@request_client.get_headers,
947
+ **(request_options&.additional_headers || {})
948
+ }.compact
949
+ req.params = {
950
+ **(request_options&.additional_query_parameters || {}),
951
+ "patient_id": patient_id,
952
+ "payer_plan_group_id": payer_plan_group_id,
953
+ "page_token": page_token,
954
+ "limit": limit
955
+ }.compact
956
+ req.url "#{@request_client.get_url(environment: PreEncounter,
957
+ request_options: request_options)}/coverages/v1/get-multi-paginated"
958
+ end
959
+ CandidApiClient::PreEncounter::Coverages::V1::Types::CoveragesPage.from_json(json_object: response.body)
960
+ end
961
+ end
962
+
878
963
  # gets a specific Coverage
879
964
  #
880
965
  # @param id [String]
@@ -0,0 +1,118 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "ostruct"
4
+ require "json"
5
+
6
+ module CandidApiClient
7
+ module PreEncounter
8
+ module Coverages
9
+ module V1
10
+ module Types
11
+ class Address
12
+ # @return [String]
13
+ attr_reader :address_1
14
+ # @return [String]
15
+ attr_reader :address_2
16
+ # @return [String]
17
+ attr_reader :city
18
+ # @return [String]
19
+ attr_reader :state
20
+ # @return [String]
21
+ attr_reader :postal_code
22
+ # @return [String]
23
+ attr_reader :country_code
24
+ # @return [String]
25
+ attr_reader :country_sub_division_code
26
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
27
+ attr_reader :additional_properties
28
+ # @return [Object]
29
+ attr_reader :_field_set
30
+ protected :_field_set
31
+
32
+ OMIT = Object.new
33
+
34
+ # @param address_1 [String]
35
+ # @param address_2 [String]
36
+ # @param city [String]
37
+ # @param state [String]
38
+ # @param postal_code [String]
39
+ # @param country_code [String]
40
+ # @param country_sub_division_code [String]
41
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
42
+ # @return [CandidApiClient::PreEncounter::Coverages::V1::Types::Address]
43
+ def initialize(address_1: OMIT, address_2: OMIT, city: OMIT, state: OMIT, postal_code: OMIT,
44
+ country_code: OMIT, country_sub_division_code: OMIT, additional_properties: nil)
45
+ @address_1 = address_1 if address_1 != OMIT
46
+ @address_2 = address_2 if address_2 != OMIT
47
+ @city = city if city != OMIT
48
+ @state = state if state != OMIT
49
+ @postal_code = postal_code if postal_code != OMIT
50
+ @country_code = country_code if country_code != OMIT
51
+ @country_sub_division_code = country_sub_division_code if country_sub_division_code != OMIT
52
+ @additional_properties = additional_properties
53
+ @_field_set = {
54
+ "address1": address_1,
55
+ "address2": address_2,
56
+ "city": city,
57
+ "state": state,
58
+ "postal_code": postal_code,
59
+ "country_code": country_code,
60
+ "country_sub_division_code": country_sub_division_code
61
+ }.reject do |_k, v|
62
+ v == OMIT
63
+ end
64
+ end
65
+
66
+ # Deserialize a JSON object to an instance of Address
67
+ #
68
+ # @param json_object [String]
69
+ # @return [CandidApiClient::PreEncounter::Coverages::V1::Types::Address]
70
+ def self.from_json(json_object:)
71
+ struct = JSON.parse(json_object, object_class: OpenStruct)
72
+ address_1 = struct["address1"]
73
+ address_2 = struct["address2"]
74
+ city = struct["city"]
75
+ state = struct["state"]
76
+ postal_code = struct["postal_code"]
77
+ country_code = struct["country_code"]
78
+ country_sub_division_code = struct["country_sub_division_code"]
79
+ new(
80
+ address_1: address_1,
81
+ address_2: address_2,
82
+ city: city,
83
+ state: state,
84
+ postal_code: postal_code,
85
+ country_code: country_code,
86
+ country_sub_division_code: country_sub_division_code,
87
+ additional_properties: struct
88
+ )
89
+ end
90
+
91
+ # Serialize an instance of Address 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
+ obj.address_1&.is_a?(String) != false || raise("Passed value for field obj.address_1 is not the expected type, validation failed.")
106
+ obj.address_2&.is_a?(String) != false || raise("Passed value for field obj.address_2 is not the expected type, validation failed.")
107
+ obj.city&.is_a?(String) != false || raise("Passed value for field obj.city is not the expected type, validation failed.")
108
+ obj.state&.is_a?(String) != false || raise("Passed value for field obj.state is not the expected type, validation failed.")
109
+ obj.postal_code&.is_a?(String) != false || raise("Passed value for field obj.postal_code is not the expected type, validation failed.")
110
+ obj.country_code&.is_a?(String) != false || raise("Passed value for field obj.country_code is not the expected type, validation failed.")
111
+ obj.country_sub_division_code&.is_a?(String) != false || raise("Passed value for field obj.country_sub_division_code is not the expected type, validation failed.")
112
+ end
113
+ end
114
+ end
115
+ end
116
+ end
117
+ end
118
+ end
@@ -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"