candidhealth 0.17.5 → 0.18.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/candidhealth/claim_submission/v_1/types/claim_submission_record_create.rb +15 -4
- data/lib/candidhealth/commons/types/entity_conflict_error_message.rb +47 -0
- data/lib/candidhealth/commons/types/intended_submission_medium.rb +11 -0
- data/lib/candidhealth/commons/types/network_type.rb +27 -0
- data/lib/candidhealth/commons/types/rate_id.rb +7 -0
- data/lib/candidhealth/commons/types/source_of_payment_code.rb +1 -0
- data/lib/candidhealth/contracts/v_2/types/contract.rb +2 -2
- data/lib/candidhealth/contracts/v_2/types/contract_with_providers.rb +3 -3
- data/lib/candidhealth/eligibility/v_2/client.rb +2 -2
- data/lib/candidhealth/fee_schedules/client.rb +28 -0
- data/lib/candidhealth/fee_schedules/v_3/client.rb +499 -0
- data/lib/candidhealth/fee_schedules/v_3/types/dimension_match.rb +157 -0
- data/lib/candidhealth/fee_schedules/v_3/types/dimension_name.rb +14 -0
- data/lib/candidhealth/fee_schedules/v_3/types/dimensions.rb +136 -0
- data/lib/candidhealth/fee_schedules/v_3/types/dimensions_page.rb +69 -0
- data/lib/candidhealth/fee_schedules/v_3/types/match_cpt_code.rb +60 -0
- data/lib/candidhealth/fee_schedules/v_3/types/match_date.rb +61 -0
- data/lib/candidhealth/fee_schedules/v_3/types/match_facility_type_code.rb +61 -0
- data/lib/candidhealth/fee_schedules/v_3/types/match_geo.rb +66 -0
- data/lib/candidhealth/fee_schedules/v_3/types/match_license_type.rb +61 -0
- data/lib/candidhealth/fee_schedules/v_3/types/match_modifiers.rb +66 -0
- data/lib/candidhealth/fee_schedules/v_3/types/match_network_types.rb +66 -0
- data/lib/candidhealth/fee_schedules/v_3/types/match_payer.rb +61 -0
- data/lib/candidhealth/fee_schedules/v_3/types/match_provider.rb +61 -0
- data/lib/candidhealth/fee_schedules/v_3/types/match_result.rb +61 -0
- data/lib/candidhealth/fee_schedules/v_3/types/match_test_result.rb +66 -0
- data/lib/candidhealth/fee_schedules/v_3/types/new_rate.rb +64 -0
- data/lib/candidhealth/fee_schedules/v_3/types/new_rate_version.rb +64 -0
- data/lib/candidhealth/fee_schedules/v_3/types/optional_dimensions.rb +136 -0
- data/lib/candidhealth/fee_schedules/v_3/types/overlapping_rate_entries_error.rb +71 -0
- data/lib/candidhealth/fee_schedules/v_3/types/payer_threshold.rb +66 -0
- data/lib/candidhealth/fee_schedules/v_3/types/payer_thresholds_page.rb +68 -0
- data/lib/candidhealth/fee_schedules/v_3/types/rate.rb +96 -0
- data/lib/candidhealth/fee_schedules/v_3/types/rate_entry.rb +72 -0
- data/lib/candidhealth/fee_schedules/v_3/types/rate_upload.rb +94 -0
- data/lib/candidhealth/fee_schedules/v_3/types/rate_upload_with_possible_errors.rb +76 -0
- data/lib/candidhealth/fee_schedules/v_3/types/rates_page.rb +65 -0
- data/lib/candidhealth/fee_schedules/v_3/types/threshold_match.rb +72 -0
- data/lib/candidhealth/fee_schedules/v_3/types/validation_error.rb +129 -0
- data/lib/requests.rb +2 -2
- data/lib/types_export.rb +32 -0
- metadata +36 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: add4ff09bdd3c10a36fe961b6e3ff99c29dfeae8685c5f69e4df44212f3624a4
|
4
|
+
data.tar.gz: 56d73c13afca1e3a7a7bd76c8502aa08c2f0b81429ddc028f13990fab9a3249e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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, :
|
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,
|
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
|
@@ -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:,
|
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
|
-
|
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:,
|
38
|
-
regions:, commercial_insurance_types:, medicare_insurance_types:, medicaid_insurance_types:,
|
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
|
-
|
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
|