candidhealth 0.17.5 → 0.18.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (43) hide show
  1. checksums.yaml +4 -4
  2. data/lib/candidhealth/claim_submission/v_1/types/claim_submission_record_create.rb +15 -4
  3. data/lib/candidhealth/commons/types/entity_conflict_error_message.rb +47 -0
  4. data/lib/candidhealth/commons/types/intended_submission_medium.rb +11 -0
  5. data/lib/candidhealth/commons/types/network_type.rb +27 -0
  6. data/lib/candidhealth/commons/types/rate_id.rb +7 -0
  7. data/lib/candidhealth/commons/types/source_of_payment_code.rb +1 -0
  8. data/lib/candidhealth/contracts/v_2/types/contract.rb +2 -2
  9. data/lib/candidhealth/contracts/v_2/types/contract_with_providers.rb +3 -3
  10. data/lib/candidhealth/eligibility/v_2/client.rb +2 -2
  11. data/lib/candidhealth/fee_schedules/client.rb +28 -0
  12. data/lib/candidhealth/fee_schedules/v_3/client.rb +499 -0
  13. data/lib/candidhealth/fee_schedules/v_3/types/dimension_match.rb +157 -0
  14. data/lib/candidhealth/fee_schedules/v_3/types/dimension_name.rb +14 -0
  15. data/lib/candidhealth/fee_schedules/v_3/types/dimensions.rb +136 -0
  16. data/lib/candidhealth/fee_schedules/v_3/types/dimensions_page.rb +69 -0
  17. data/lib/candidhealth/fee_schedules/v_3/types/match_cpt_code.rb +60 -0
  18. data/lib/candidhealth/fee_schedules/v_3/types/match_date.rb +61 -0
  19. data/lib/candidhealth/fee_schedules/v_3/types/match_facility_type_code.rb +61 -0
  20. data/lib/candidhealth/fee_schedules/v_3/types/match_geo.rb +66 -0
  21. data/lib/candidhealth/fee_schedules/v_3/types/match_license_type.rb +61 -0
  22. data/lib/candidhealth/fee_schedules/v_3/types/match_modifiers.rb +66 -0
  23. data/lib/candidhealth/fee_schedules/v_3/types/match_network_types.rb +66 -0
  24. data/lib/candidhealth/fee_schedules/v_3/types/match_payer.rb +61 -0
  25. data/lib/candidhealth/fee_schedules/v_3/types/match_provider.rb +61 -0
  26. data/lib/candidhealth/fee_schedules/v_3/types/match_result.rb +61 -0
  27. data/lib/candidhealth/fee_schedules/v_3/types/match_test_result.rb +66 -0
  28. data/lib/candidhealth/fee_schedules/v_3/types/new_rate.rb +64 -0
  29. data/lib/candidhealth/fee_schedules/v_3/types/new_rate_version.rb +64 -0
  30. data/lib/candidhealth/fee_schedules/v_3/types/optional_dimensions.rb +136 -0
  31. data/lib/candidhealth/fee_schedules/v_3/types/overlapping_rate_entries_error.rb +71 -0
  32. data/lib/candidhealth/fee_schedules/v_3/types/payer_threshold.rb +66 -0
  33. data/lib/candidhealth/fee_schedules/v_3/types/payer_thresholds_page.rb +68 -0
  34. data/lib/candidhealth/fee_schedules/v_3/types/rate.rb +96 -0
  35. data/lib/candidhealth/fee_schedules/v_3/types/rate_entry.rb +72 -0
  36. data/lib/candidhealth/fee_schedules/v_3/types/rate_upload.rb +94 -0
  37. data/lib/candidhealth/fee_schedules/v_3/types/rate_upload_with_possible_errors.rb +76 -0
  38. data/lib/candidhealth/fee_schedules/v_3/types/rates_page.rb +65 -0
  39. data/lib/candidhealth/fee_schedules/v_3/types/threshold_match.rb +72 -0
  40. data/lib/candidhealth/fee_schedules/v_3/types/validation_error.rb +129 -0
  41. data/lib/requests.rb +2 -2
  42. data/lib/types_export.rb +32 -0
  43. metadata +36 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f5f3548c53a29fefa3d69a5df618b6d1a972ea705cbce1894f84c5d21fb59196
4
- data.tar.gz: 45da861a9a0587a1aec4bd50f2c3f86a74f7d0f79ce19d611c7112fbd815d2ae
3
+ metadata.gz: add4ff09bdd3c10a36fe961b6e3ff99c29dfeae8685c5f69e4df44212f3624a4
4
+ data.tar.gz: 56d73c13afca1e3a7a7bd76c8502aa08c2f0b81429ddc028f13990fab9a3249e
5
5
  SHA512:
6
- metadata.gz: ceadc55e333bff54c8c2558019afcc99cf3df442e81486cfc5c6936afacf7d579b65844ab66660ca481554feb73c657142bbb8f97d872fa03a888671c3ce0663
7
- data.tar.gz: 956d715ea2f5b2368d28801daf81094576f2775ef91c3b92736f5d818a60442bffb69b09ec5a3cd1f767f1f5f351820c6d8251cb02c29825905afe8abecd6822
6
+ metadata.gz: 8b6597c1c014a1bba0a09e43d6b1c2f9893f6cd657d161cb28efe6bd457111720053c916302193a32ccafd1379ce48e932fee4516a3cc29919ad238459c0c6eb
7
+ data.tar.gz: 3f2ab5915a3bd5389a7d913acbc0c5d9af899113589deac233c67a102d56fdf230586c8f9e14ad969245559b87f37262e3364c8871f6c9b7f13a65009075da51
@@ -3,6 +3,7 @@
3
3
  require "date"
4
4
  require_relative "claim_frequency_type_code"
5
5
  require_relative "../../../commons/types/claim_submission_payer_responsibility_type"
6
+ require_relative "../../../commons/types/intended_submission_medium"
6
7
  require "json"
7
8
 
8
9
  module CandidApiClient
@@ -10,20 +11,27 @@ module CandidApiClient
10
11
  module V1
11
12
  # Data about each external submission.
12
13
  class ClaimSubmissionRecordCreate
13
- attr_reader :submitted_at, :claim_frequency_code, :payer_responsibility, :additional_properties
14
+ attr_reader :submitted_at, :claim_frequency_code, :payer_responsibility, :intended_submission_medium,
15
+ :additional_properties
14
16
 
15
17
  # @param submitted_at [DateTime] When the claim was submitted to the payer.
16
18
  # @param claim_frequency_code [ClaimSubmission::V1::ClaimFrequencyTypeCode]
17
19
  # @param payer_responsibility [Commons::ClaimSubmissionPayerResponsibilityType]
20
+ # @param intended_submission_medium [Commons::IntendedSubmissionMedium] The medium by which the claim was submitted to the payer: paper or electronic.
21
+ # If omitted, defaults to electronic.
18
22
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
19
23
  # @return [ClaimSubmission::V1::ClaimSubmissionRecordCreate]
20
- def initialize(submitted_at:, claim_frequency_code: nil, payer_responsibility: nil, additional_properties: nil)
24
+ def initialize(submitted_at:, claim_frequency_code: nil, payer_responsibility: nil,
25
+ intended_submission_medium: nil, additional_properties: nil)
21
26
  # @type [DateTime] When the claim was submitted to the payer.
22
27
  @submitted_at = submitted_at
23
28
  # @type [ClaimSubmission::V1::ClaimFrequencyTypeCode]
24
29
  @claim_frequency_code = claim_frequency_code
25
30
  # @type [Commons::ClaimSubmissionPayerResponsibilityType]
26
31
  @payer_responsibility = payer_responsibility
32
+ # @type [Commons::IntendedSubmissionMedium] The medium by which the claim was submitted to the payer: paper or electronic.
33
+ # If omitted, defaults to electronic.
34
+ @intended_submission_medium = intended_submission_medium
27
35
  # @type [OpenStruct] Additional properties unmapped to the current class definition
28
36
  @additional_properties = additional_properties
29
37
  end
@@ -38,8 +46,9 @@ module CandidApiClient
38
46
  submitted_at = (DateTime.parse(parsed_json["submitted_at"]) unless parsed_json["submitted_at"].nil?)
39
47
  claim_frequency_code = struct.claim_frequency_code
40
48
  payer_responsibility = struct.payer_responsibility
49
+ intended_submission_medium = struct.intended_submission_medium
41
50
  new(submitted_at: submitted_at, claim_frequency_code: claim_frequency_code,
42
- payer_responsibility: payer_responsibility, additional_properties: struct)
51
+ payer_responsibility: payer_responsibility, intended_submission_medium: intended_submission_medium, additional_properties: struct)
43
52
  end
44
53
 
45
54
  # Serialize an instance of ClaimSubmissionRecordCreate to a JSON object
@@ -49,7 +58,8 @@ module CandidApiClient
49
58
  {
50
59
  "submitted_at": @submitted_at,
51
60
  "claim_frequency_code": @claim_frequency_code,
52
- "payer_responsibility": @payer_responsibility
61
+ "payer_responsibility": @payer_responsibility,
62
+ "intended_submission_medium": @intended_submission_medium
53
63
  }.to_json
54
64
  end
55
65
 
@@ -61,6 +71,7 @@ module CandidApiClient
61
71
  obj.submitted_at.is_a?(DateTime) != false || raise("Passed value for field obj.submitted_at is not the expected type, validation failed.")
62
72
  obj.claim_frequency_code&.is_a?(ClaimSubmission::V1::ClaimFrequencyTypeCode) != false || raise("Passed value for field obj.claim_frequency_code is not the expected type, validation failed.")
63
73
  obj.payer_responsibility&.is_a?(Commons::ClaimSubmissionPayerResponsibilityType) != false || raise("Passed value for field obj.payer_responsibility is not the expected type, validation failed.")
74
+ obj.intended_submission_medium&.is_a?(Commons::IntendedSubmissionMedium) != false || raise("Passed value for field obj.intended_submission_medium is not the expected type, validation failed.")
64
75
  end
65
76
  end
66
77
  end
@@ -0,0 +1,47 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "json"
4
+
5
+ module CandidApiClient
6
+ class Commons
7
+ class EntityConflictErrorMessage
8
+ attr_reader :entity_name, :additional_properties
9
+
10
+ # @param entity_name [String]
11
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
12
+ # @return [Commons::EntityConflictErrorMessage]
13
+ def initialize(entity_name:, additional_properties: nil)
14
+ # @type [String]
15
+ @entity_name = entity_name
16
+ # @type [OpenStruct] Additional properties unmapped to the current class definition
17
+ @additional_properties = additional_properties
18
+ end
19
+
20
+ # Deserialize a JSON object to an instance of EntityConflictErrorMessage
21
+ #
22
+ # @param json_object [JSON]
23
+ # @return [Commons::EntityConflictErrorMessage]
24
+ def self.from_json(json_object:)
25
+ struct = JSON.parse(json_object, object_class: OpenStruct)
26
+ JSON.parse(json_object)
27
+ entity_name = struct.entity_name
28
+ new(entity_name: entity_name, additional_properties: struct)
29
+ end
30
+
31
+ # Serialize an instance of EntityConflictErrorMessage to a JSON object
32
+ #
33
+ # @return [JSON]
34
+ def to_json(*_args)
35
+ { "entity_name": @entity_name }.to_json
36
+ end
37
+
38
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given hash and check each fields type against the current object's property definitions.
39
+ #
40
+ # @param obj [Object]
41
+ # @return [Void]
42
+ def self.validate_raw(obj:)
43
+ obj.entity_name.is_a?(String) != false || raise("Passed value for field obj.entity_name is not the expected type, validation failed.")
44
+ end
45
+ end
46
+ end
47
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CandidApiClient
4
+ class Commons
5
+ # The medium (paper or electronic) via which we intended to submit the claim. The clearinghouse to which we sent the claim may use a different medium in certain cases, e.g., if the payer does not support electronic claims.
6
+ class IntendedSubmissionMedium
7
+ PAPER = "paper"
8
+ ELECTRONIC = "electronic"
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CandidApiClient
4
+ class Commons
5
+ class NetworkType
6
+ PPO = "12"
7
+ POS = "13"
8
+ EPO = "14"
9
+ INDEMNITY_INSURANCE = "15"
10
+ HMO_MEDICARE_RISK = "16"
11
+ DMO = "17"
12
+ AUTO = "AM"
13
+ CHAMPUS = "CH"
14
+ DISABILITY = "DS"
15
+ HMO = "HM"
16
+ LIABILITY = "LM"
17
+ MEDICARE_PART_A = "MA"
18
+ MEDICARE_PART_B = "MB"
19
+ MEDICAID = "MC"
20
+ OTHER_FEDERAL_PROGRAM = "OF"
21
+ TITLE_V = "TV"
22
+ VETERANS_AFFAIRS_PLAN = "VA"
23
+ WORKERS_COMP_HEALTH_CLAIM = "WC"
24
+ MUTUALLY_DEFINED = "ZZ"
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CandidApiClient
4
+ class Commons
5
+ RATE_ID = UUID
6
+ end
7
+ end
@@ -26,6 +26,7 @@ module CandidApiClient
26
26
  TITLE_V = "TV"
27
27
  VETERANS_AFFAIRS_PLAN = "VA"
28
28
  WORKERS_COMP_HEALTH_CLAIM = "WC"
29
+ MUTUALLY_DEFINED = "ZZ"
29
30
  end
30
31
  end
31
32
  end
@@ -32,7 +32,7 @@ module CandidApiClient
32
32
  # @param medicaid_insurance_types [Contracts::V2::InsuranceTypes] The Medicaid plan insurance types this contract applies.
33
33
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
34
34
  # @return [Contracts::V2::Contract]
35
- def initialize(contract_id:, contracting_provider:, provider_count:, effective_date:, regions:, commercial_insurance_types:, medicare_insurance_types:, medicaid_insurance_types:, payer: nil,
35
+ def initialize(contract_id:, contracting_provider:, provider_count:, payer:, effective_date:, regions:, commercial_insurance_types:, medicare_insurance_types:, medicaid_insurance_types:,
36
36
  expiration_date: nil, contract_status: nil, authorized_signatory: nil, additional_properties: nil)
37
37
  # @type [Contracts::V2::CONTRACT_ID]
38
38
  @contract_id = contract_id
@@ -149,7 +149,7 @@ module CandidApiClient
149
149
  obj.contract_id.is_a?(UUID) != false || raise("Passed value for field obj.contract_id is not the expected type, validation failed.")
150
150
  OrganizationProviders::V2::OrganizationProvider.validate_raw(obj: obj.contracting_provider)
151
151
  obj.provider_count.is_a?(Integer) != false || raise("Passed value for field obj.provider_count is not the expected type, validation failed.")
152
- obj.payer.nil? || Payers::V3::Payer.validate_raw(obj: obj.payer)
152
+ Payers::V3::Payer.validate_raw(obj: obj.payer)
153
153
  obj.effective_date.is_a?(String) != false || raise("Passed value for field obj.effective_date is not the expected type, validation failed.")
154
154
  obj.expiration_date&.is_a?(String) != false || raise("Passed value for field obj.expiration_date is not the expected type, validation failed.")
155
155
  Commons::Regions.validate_raw(obj: obj.regions)
@@ -34,8 +34,8 @@ module CandidApiClient
34
34
  # @param medicaid_insurance_types [Contracts::V2::InsuranceTypes] The Medicaid plan insurance types this contract applies.
35
35
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
36
36
  # @return [Contracts::V2::ContractWithProviders]
37
- def initialize(rendering_provider_ids:, contract_id:, contracting_provider:, provider_count:, effective_date:,
38
- regions:, commercial_insurance_types:, medicare_insurance_types:, medicaid_insurance_types:, payer: nil, expiration_date: nil, contract_status: nil, authorized_signatory: nil, additional_properties: nil)
37
+ def initialize(rendering_provider_ids:, contract_id:, contracting_provider:, provider_count:, payer:,
38
+ effective_date:, regions:, commercial_insurance_types:, medicare_insurance_types:, medicaid_insurance_types:, expiration_date: nil, contract_status: nil, authorized_signatory: nil, additional_properties: nil)
39
39
  # @type [Set<UUID>] The providers who can render medical services under the contract
40
40
  @rendering_provider_ids = rendering_provider_ids
41
41
  # @type [Contracts::V2::CONTRACT_ID]
@@ -161,7 +161,7 @@ module CandidApiClient
161
161
  obj.contract_id.is_a?(UUID) != false || raise("Passed value for field obj.contract_id is not the expected type, validation failed.")
162
162
  OrganizationProviders::V2::OrganizationProvider.validate_raw(obj: obj.contracting_provider)
163
163
  obj.provider_count.is_a?(Integer) != false || raise("Passed value for field obj.provider_count is not the expected type, validation failed.")
164
- obj.payer.nil? || Payers::V3::Payer.validate_raw(obj: obj.payer)
164
+ Payers::V3::Payer.validate_raw(obj: obj.payer)
165
165
  obj.effective_date.is_a?(String) != false || raise("Passed value for field obj.effective_date is not the expected type, validation failed.")
166
166
  obj.expiration_date&.is_a?(String) != false || raise("Passed value for field obj.expiration_date is not the expected type, validation failed.")
167
167
  Commons::Regions.validate_raw(obj: obj.regions)
@@ -51,7 +51,7 @@ module CandidApiClient
51
51
  # - [Availity - Coverages 1.0.0 API](https://developer.availity.com/partner/documentation#c_coverages_references)
52
52
  # - [Candid Availity Eligibility Integration Guide](https://support.joincandidhealth.com/hc/en-us/articles/24218441631892--Availity-Eligibility-Integration-Guide)
53
53
  #
54
- # A schema of the response object can be found here: [Availity Docs](https://developer.availity.com/partner/product/191210/api/190898#/Coverages_100/operation/%2Fcoverages/get)
54
+ # A schema of the response object can be found here: [Availity Docs](https://developer.availity.com/partner/product/191210/api/190898#/Coverages_100/operation/%2Fcoverages%2F{id}/get)
55
55
  #
56
56
  # - Note Availity requires a free developer account to access this documentation.
57
57
  #
@@ -114,7 +114,7 @@ module CandidApiClient
114
114
  # - [Availity - Coverages 1.0.0 API](https://developer.availity.com/partner/documentation#c_coverages_references)
115
115
  # - [Candid Availity Eligibility Integration Guide](https://support.joincandidhealth.com/hc/en-us/articles/24218441631892--Availity-Eligibility-Integration-Guide)
116
116
  #
117
- # A schema of the response object can be found here: [Availity Docs](https://developer.availity.com/partner/product/191210/api/190898#/Coverages_100/operation/%2Fcoverages/get)
117
+ # A schema of the response object can be found here: [Availity Docs](https://developer.availity.com/partner/product/191210/api/190898#/Coverages_100/operation/%2Fcoverages%2F{id}/get)
118
118
  #
119
119
  # - Note Availity requires a free developer account to access this documentation.
120
120
  #
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../../requests"
4
+ require_relative "v_3/client"
5
+
6
+ module CandidApiClient
7
+ module FeeSchedules
8
+ class Client
9
+ attr_reader :v_3
10
+
11
+ # @param request_client [RequestClient]
12
+ # @return [FeeSchedules::Client]
13
+ def initialize(request_client:)
14
+ @v_3 = FeeSchedules::V3::V3Client.new(request_client: request_client)
15
+ end
16
+ end
17
+
18
+ class AsyncClient
19
+ attr_reader :v_3
20
+
21
+ # @param request_client [RequestClient]
22
+ # @return [FeeSchedules::AsyncClient]
23
+ def initialize(request_client:)
24
+ @v_3 = FeeSchedules::V3::AsyncV3Client.new(request_client: request_client)
25
+ end
26
+ end
27
+ end
28
+ end