candidhealth 0.43.0 → 0.45.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/candidhealth/charge_capture/v_1/client.rb +506 -483
- data/lib/candidhealth/charge_capture/v_1/types/charge_capture_data.rb +184 -174
- data/lib/candidhealth/charge_capture/v_1/types/charge_external_id_conflict_error_message.rb +62 -0
- data/lib/candidhealth/charge_capture_bundles/v_1/types/charge_capture_claim_creation.rb +20 -4
- data/lib/candidhealth/commons/types/street_address_optional_base.rb +99 -0
- data/lib/candidhealth/commons/types/street_address_short_zip_optional.rb +107 -0
- data/lib/candidhealth/encounter_attachments/v_1/client.rb +2 -2
- data/lib/candidhealth/encounter_attachments/v_1/types/encounter_attachment_type.rb +2 -0
- data/lib/candidhealth/encounter_providers/v_2/client.rb +16 -16
- data/lib/candidhealth/encounter_providers/v_2/types/billing_provider_update_with_optional_address.rb +160 -0
- data/lib/candidhealth/encounter_providers/v_2/types/initial_referring_provider_update_with_optional_address.rb +134 -0
- data/lib/candidhealth/encounter_providers/v_2/types/referring_provider_update_with_optional_address.rb +125 -0
- data/lib/candidhealth/encounter_providers/v_2/types/rendering_provider_update_with_optional_address.rb +125 -0
- data/lib/candidhealth/encounter_providers/v_2/types/supervising_provider_update_with_optional_address.rb +125 -0
- data/lib/candidhealth/encounters/v_4/client.rb +263 -233
- data/lib/candidhealth/encounters/v_4/types/encounter.rb +11 -1
- data/lib/candidhealth/encounters/v_4/types/encounter_optional.rb +12 -170
- data/lib/candidhealth/guarantor/v_1/client.rb +2 -2
- data/lib/candidhealth/individual/types/patient_update_with_optional_address.rb +179 -0
- data/lib/candidhealth/service_facility/types/encounter_service_facility_update_with_optional_address.rb +113 -0
- data/lib/candidhealth/service_lines/v_2/client.rb +2 -2
- data/lib/requests.rb +2 -2
- data/lib/types_export.rb +10 -1
- metadata +12 -3
- data/lib/candidhealth/billing_notes/v_2/types/billing_note_optional.rb +0 -112
@@ -0,0 +1,179 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative "gender"
|
4
|
+
require "date"
|
5
|
+
require_relative "../../commons/types/street_address_short_zip_optional"
|
6
|
+
require_relative "../../commons/types/phone_number"
|
7
|
+
require_relative "patient_non_insurance_payer_info_create"
|
8
|
+
require "ostruct"
|
9
|
+
require "json"
|
10
|
+
|
11
|
+
module CandidApiClient
|
12
|
+
module Individual
|
13
|
+
module Types
|
14
|
+
class PatientUpdateWithOptionalAddress
|
15
|
+
# @return [String]
|
16
|
+
attr_reader :first_name
|
17
|
+
# @return [String]
|
18
|
+
attr_reader :last_name
|
19
|
+
# @return [CandidApiClient::Individual::Types::Gender]
|
20
|
+
attr_reader :gender
|
21
|
+
# @return [String] The ID used to identify this individual in your system. For example, your
|
22
|
+
# internal patient ID or an EHR patient ID.
|
23
|
+
attr_reader :external_id
|
24
|
+
# @return [Date] Box 3 on the CMS-1500 claim form. The date format should be in ISO 8601 date;
|
25
|
+
# formatted YYYY-MM-DD (i.e. 2012-02-01)
|
26
|
+
attr_reader :date_of_birth
|
27
|
+
# @return [CandidApiClient::Commons::Types::StreetAddressShortZipOptional] Box 5 on the CMS-1500 claim form.
|
28
|
+
attr_reader :address
|
29
|
+
# @return [Array<CandidApiClient::Commons::Types::PhoneNumber>]
|
30
|
+
attr_reader :phone_numbers
|
31
|
+
# @return [Boolean]
|
32
|
+
attr_reader :phone_consent
|
33
|
+
# @return [String]
|
34
|
+
attr_reader :email
|
35
|
+
# @return [Boolean]
|
36
|
+
attr_reader :email_consent
|
37
|
+
# @return [Array<String>] On update, we will replace the existing list of non-insurance payers with the
|
38
|
+
# new list if populated.
|
39
|
+
attr_reader :non_insurance_payers
|
40
|
+
# @return [Array<CandidApiClient::Individual::Types::PatientNonInsurancePayerInfoCreate>] On update, we will replace the existing list of non-insurance payers with the
|
41
|
+
# new list if populated.
|
42
|
+
attr_reader :non_insurance_payers_info
|
43
|
+
# @return [OpenStruct] Additional properties unmapped to the current class definition
|
44
|
+
attr_reader :additional_properties
|
45
|
+
# @return [Object]
|
46
|
+
attr_reader :_field_set
|
47
|
+
protected :_field_set
|
48
|
+
|
49
|
+
OMIT = Object.new
|
50
|
+
|
51
|
+
# @param first_name [String]
|
52
|
+
# @param last_name [String]
|
53
|
+
# @param gender [CandidApiClient::Individual::Types::Gender]
|
54
|
+
# @param external_id [String] The ID used to identify this individual in your system. For example, your
|
55
|
+
# internal patient ID or an EHR patient ID.
|
56
|
+
# @param date_of_birth [Date] Box 3 on the CMS-1500 claim form. The date format should be in ISO 8601 date;
|
57
|
+
# formatted YYYY-MM-DD (i.e. 2012-02-01)
|
58
|
+
# @param address [CandidApiClient::Commons::Types::StreetAddressShortZipOptional] Box 5 on the CMS-1500 claim form.
|
59
|
+
# @param phone_numbers [Array<CandidApiClient::Commons::Types::PhoneNumber>]
|
60
|
+
# @param phone_consent [Boolean]
|
61
|
+
# @param email [String]
|
62
|
+
# @param email_consent [Boolean]
|
63
|
+
# @param non_insurance_payers [Array<String>] On update, we will replace the existing list of non-insurance payers with the
|
64
|
+
# new list if populated.
|
65
|
+
# @param non_insurance_payers_info [Array<CandidApiClient::Individual::Types::PatientNonInsurancePayerInfoCreate>] On update, we will replace the existing list of non-insurance payers with the
|
66
|
+
# new list if populated.
|
67
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
68
|
+
# @return [CandidApiClient::Individual::Types::PatientUpdateWithOptionalAddress]
|
69
|
+
def initialize(first_name: OMIT, last_name: OMIT, gender: OMIT, external_id: OMIT, date_of_birth: OMIT,
|
70
|
+
address: OMIT, phone_numbers: OMIT, phone_consent: OMIT, email: OMIT, email_consent: OMIT, non_insurance_payers: OMIT, non_insurance_payers_info: OMIT, additional_properties: nil)
|
71
|
+
@first_name = first_name if first_name != OMIT
|
72
|
+
@last_name = last_name if last_name != OMIT
|
73
|
+
@gender = gender if gender != OMIT
|
74
|
+
@external_id = external_id if external_id != OMIT
|
75
|
+
@date_of_birth = date_of_birth if date_of_birth != OMIT
|
76
|
+
@address = address if address != OMIT
|
77
|
+
@phone_numbers = phone_numbers if phone_numbers != OMIT
|
78
|
+
@phone_consent = phone_consent if phone_consent != OMIT
|
79
|
+
@email = email if email != OMIT
|
80
|
+
@email_consent = email_consent if email_consent != OMIT
|
81
|
+
@non_insurance_payers = non_insurance_payers if non_insurance_payers != OMIT
|
82
|
+
@non_insurance_payers_info = non_insurance_payers_info if non_insurance_payers_info != OMIT
|
83
|
+
@additional_properties = additional_properties
|
84
|
+
@_field_set = {
|
85
|
+
"first_name": first_name,
|
86
|
+
"last_name": last_name,
|
87
|
+
"gender": gender,
|
88
|
+
"external_id": external_id,
|
89
|
+
"date_of_birth": date_of_birth,
|
90
|
+
"address": address,
|
91
|
+
"phone_numbers": phone_numbers,
|
92
|
+
"phone_consent": phone_consent,
|
93
|
+
"email": email,
|
94
|
+
"email_consent": email_consent,
|
95
|
+
"non_insurance_payers": non_insurance_payers,
|
96
|
+
"non_insurance_payers_info": non_insurance_payers_info
|
97
|
+
}.reject do |_k, v|
|
98
|
+
v == OMIT
|
99
|
+
end
|
100
|
+
end
|
101
|
+
|
102
|
+
# Deserialize a JSON object to an instance of PatientUpdateWithOptionalAddress
|
103
|
+
#
|
104
|
+
# @param json_object [String]
|
105
|
+
# @return [CandidApiClient::Individual::Types::PatientUpdateWithOptionalAddress]
|
106
|
+
def self.from_json(json_object:)
|
107
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
108
|
+
parsed_json = JSON.parse(json_object)
|
109
|
+
first_name = struct["first_name"]
|
110
|
+
last_name = struct["last_name"]
|
111
|
+
gender = struct["gender"]
|
112
|
+
external_id = struct["external_id"]
|
113
|
+
date_of_birth = (Date.parse(parsed_json["date_of_birth"]) unless parsed_json["date_of_birth"].nil?)
|
114
|
+
if parsed_json["address"].nil?
|
115
|
+
address = nil
|
116
|
+
else
|
117
|
+
address = parsed_json["address"].to_json
|
118
|
+
address = CandidApiClient::Commons::Types::StreetAddressShortZipOptional.from_json(json_object: address)
|
119
|
+
end
|
120
|
+
phone_numbers = parsed_json["phone_numbers"]&.map do |item|
|
121
|
+
item = item.to_json
|
122
|
+
CandidApiClient::Commons::Types::PhoneNumber.from_json(json_object: item)
|
123
|
+
end
|
124
|
+
phone_consent = struct["phone_consent"]
|
125
|
+
email = struct["email"]
|
126
|
+
email_consent = struct["email_consent"]
|
127
|
+
non_insurance_payers = struct["non_insurance_payers"]
|
128
|
+
non_insurance_payers_info = parsed_json["non_insurance_payers_info"]&.map do |item|
|
129
|
+
item = item.to_json
|
130
|
+
CandidApiClient::Individual::Types::PatientNonInsurancePayerInfoCreate.from_json(json_object: item)
|
131
|
+
end
|
132
|
+
new(
|
133
|
+
first_name: first_name,
|
134
|
+
last_name: last_name,
|
135
|
+
gender: gender,
|
136
|
+
external_id: external_id,
|
137
|
+
date_of_birth: date_of_birth,
|
138
|
+
address: address,
|
139
|
+
phone_numbers: phone_numbers,
|
140
|
+
phone_consent: phone_consent,
|
141
|
+
email: email,
|
142
|
+
email_consent: email_consent,
|
143
|
+
non_insurance_payers: non_insurance_payers,
|
144
|
+
non_insurance_payers_info: non_insurance_payers_info,
|
145
|
+
additional_properties: struct
|
146
|
+
)
|
147
|
+
end
|
148
|
+
|
149
|
+
# Serialize an instance of PatientUpdateWithOptionalAddress to a JSON object
|
150
|
+
#
|
151
|
+
# @return [String]
|
152
|
+
def to_json(*_args)
|
153
|
+
@_field_set&.to_json
|
154
|
+
end
|
155
|
+
|
156
|
+
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
157
|
+
# hash and check each fields type against the current object's property
|
158
|
+
# definitions.
|
159
|
+
#
|
160
|
+
# @param obj [Object]
|
161
|
+
# @return [Void]
|
162
|
+
def self.validate_raw(obj:)
|
163
|
+
obj.first_name&.is_a?(String) != false || raise("Passed value for field obj.first_name is not the expected type, validation failed.")
|
164
|
+
obj.last_name&.is_a?(String) != false || raise("Passed value for field obj.last_name is not the expected type, validation failed.")
|
165
|
+
obj.gender&.is_a?(CandidApiClient::Individual::Types::Gender) != false || raise("Passed value for field obj.gender is not the expected type, validation failed.")
|
166
|
+
obj.external_id&.is_a?(String) != false || raise("Passed value for field obj.external_id is not the expected type, validation failed.")
|
167
|
+
obj.date_of_birth&.is_a?(Date) != false || raise("Passed value for field obj.date_of_birth is not the expected type, validation failed.")
|
168
|
+
obj.address.nil? || CandidApiClient::Commons::Types::StreetAddressShortZipOptional.validate_raw(obj: obj.address)
|
169
|
+
obj.phone_numbers&.is_a?(Array) != false || raise("Passed value for field obj.phone_numbers is not the expected type, validation failed.")
|
170
|
+
obj.phone_consent&.is_a?(Boolean) != false || raise("Passed value for field obj.phone_consent is not the expected type, validation failed.")
|
171
|
+
obj.email&.is_a?(String) != false || raise("Passed value for field obj.email is not the expected type, validation failed.")
|
172
|
+
obj.email_consent&.is_a?(Boolean) != false || raise("Passed value for field obj.email_consent is not the expected type, validation failed.")
|
173
|
+
obj.non_insurance_payers&.is_a?(Array) != false || raise("Passed value for field obj.non_insurance_payers is not the expected type, validation failed.")
|
174
|
+
obj.non_insurance_payers_info&.is_a?(Array) != false || raise("Passed value for field obj.non_insurance_payers_info is not the expected type, validation failed.")
|
175
|
+
end
|
176
|
+
end
|
177
|
+
end
|
178
|
+
end
|
179
|
+
end
|
@@ -0,0 +1,113 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative "../../commons/types/street_address_short_zip_optional"
|
4
|
+
require "ostruct"
|
5
|
+
require "json"
|
6
|
+
|
7
|
+
module CandidApiClient
|
8
|
+
module ServiceFacility
|
9
|
+
module Types
|
10
|
+
class EncounterServiceFacilityUpdateWithOptionalAddress
|
11
|
+
# @return [String]
|
12
|
+
attr_reader :organization_name
|
13
|
+
# @return [String] An NPI specific to the service facility if applicable, i.e. if it has one and is
|
14
|
+
# not under the billing provider's NPI.
|
15
|
+
# Box 32 section (a) of the CMS-1500 claim form.
|
16
|
+
attr_reader :npi
|
17
|
+
# @return [CandidApiClient::Commons::Types::StreetAddressShortZipOptional] zip_plus_four_code is required for service facility address. When the
|
18
|
+
# zip_plus_four_code is not available use "9998" as per CMS documentation.
|
19
|
+
attr_reader :address
|
20
|
+
# @return [String] An additional identifier for the service facility other than the facility's NPI.
|
21
|
+
# Some payers may require this field.
|
22
|
+
# Potential examples: state license number, provider commercial number, or
|
23
|
+
# location number.
|
24
|
+
# Box 32 section (b) of the CMS-1500 claim form.
|
25
|
+
attr_reader :secondary_identification
|
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 organization_name [String]
|
35
|
+
# @param npi [String] An NPI specific to the service facility if applicable, i.e. if it has one and is
|
36
|
+
# not under the billing provider's NPI.
|
37
|
+
# Box 32 section (a) of the CMS-1500 claim form.
|
38
|
+
# @param address [CandidApiClient::Commons::Types::StreetAddressShortZipOptional] zip_plus_four_code is required for service facility address. When the
|
39
|
+
# zip_plus_four_code is not available use "9998" as per CMS documentation.
|
40
|
+
# @param secondary_identification [String] An additional identifier for the service facility other than the facility's NPI.
|
41
|
+
# Some payers may require this field.
|
42
|
+
# Potential examples: state license number, provider commercial number, or
|
43
|
+
# location number.
|
44
|
+
# Box 32 section (b) of the CMS-1500 claim form.
|
45
|
+
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
46
|
+
# @return [CandidApiClient::ServiceFacility::Types::EncounterServiceFacilityUpdateWithOptionalAddress]
|
47
|
+
def initialize(organization_name: OMIT, npi: OMIT, address: OMIT, secondary_identification: OMIT,
|
48
|
+
additional_properties: nil)
|
49
|
+
@organization_name = organization_name if organization_name != OMIT
|
50
|
+
@npi = npi if npi != OMIT
|
51
|
+
@address = address if address != OMIT
|
52
|
+
@secondary_identification = secondary_identification if secondary_identification != OMIT
|
53
|
+
@additional_properties = additional_properties
|
54
|
+
@_field_set = {
|
55
|
+
"organization_name": organization_name,
|
56
|
+
"npi": npi,
|
57
|
+
"address": address,
|
58
|
+
"secondary_identification": secondary_identification
|
59
|
+
}.reject do |_k, v|
|
60
|
+
v == OMIT
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
64
|
+
# Deserialize a JSON object to an instance of
|
65
|
+
# EncounterServiceFacilityUpdateWithOptionalAddress
|
66
|
+
#
|
67
|
+
# @param json_object [String]
|
68
|
+
# @return [CandidApiClient::ServiceFacility::Types::EncounterServiceFacilityUpdateWithOptionalAddress]
|
69
|
+
def self.from_json(json_object:)
|
70
|
+
struct = JSON.parse(json_object, object_class: OpenStruct)
|
71
|
+
parsed_json = JSON.parse(json_object)
|
72
|
+
organization_name = struct["organization_name"]
|
73
|
+
npi = struct["npi"]
|
74
|
+
if parsed_json["address"].nil?
|
75
|
+
address = nil
|
76
|
+
else
|
77
|
+
address = parsed_json["address"].to_json
|
78
|
+
address = CandidApiClient::Commons::Types::StreetAddressShortZipOptional.from_json(json_object: address)
|
79
|
+
end
|
80
|
+
secondary_identification = struct["secondary_identification"]
|
81
|
+
new(
|
82
|
+
organization_name: organization_name,
|
83
|
+
npi: npi,
|
84
|
+
address: address,
|
85
|
+
secondary_identification: secondary_identification,
|
86
|
+
additional_properties: struct
|
87
|
+
)
|
88
|
+
end
|
89
|
+
|
90
|
+
# Serialize an instance of EncounterServiceFacilityUpdateWithOptionalAddress to a
|
91
|
+
# 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.organization_name&.is_a?(String) != false || raise("Passed value for field obj.organization_name is not the expected type, validation failed.")
|
106
|
+
obj.npi&.is_a?(String) != false || raise("Passed value for field obj.npi is not the expected type, validation failed.")
|
107
|
+
obj.address.nil? || CandidApiClient::Commons::Types::StreetAddressShortZipOptional.validate_raw(obj: obj.address)
|
108
|
+
obj.secondary_identification&.is_a?(String) != false || raise("Passed value for field obj.secondary_identification is not the expected type, validation failed.")
|
109
|
+
end
|
110
|
+
end
|
111
|
+
end
|
112
|
+
end
|
113
|
+
end
|
@@ -65,7 +65,7 @@ module CandidApiClient
|
|
65
65
|
# @return [CandidApiClient::ServiceLines::V2::Types::ServiceLine]
|
66
66
|
# @example
|
67
67
|
# api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
|
68
|
-
# api.service_lines.v_2.create(request: { modifiers: [AV], charge_amount_cents: 1, diagnosis_id_zero: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", diagnosis_id_one: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", diagnosis_id_two: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", diagnosis_id_three: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", denial_reason: { reason: AUTHORIZATION_REQUIRED }, place_of_service_code: PHARMACY, procedure_code: "string", quantity: "string", units: MJ, claim_id: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", description: "string", date_of_service: DateTime.parse(2023-01-15), end_date_of_service: DateTime.parse(2023-01-15), drug_identification: { service_id_qualifier: EAN_UCC_13, national_drug_code: "string", national_drug_unit_count: "string", measurement_unit_code: MILLILITERS, link_sequence_number: "string", pharmacy_prescription_number: "string", conversion_formula: "string", drug_description: "string" }, ordering_provider: { npi: "string", taxonomy_code: "string", address: { address_1: "123 Main St", address_2: "Apt 1", city: "New York", state: NY, zip_code: "10001", zip_plus_four_code: "1234" } }, test_results: [{ value: 1.1, result_type: HEMATOCRIT }], has_epsdt_indicator: true, has_family_planning_indicator: true })
|
68
|
+
# api.service_lines.v_2.create(request: { modifiers: [AV], charge_amount_cents: 1, diagnosis_id_zero: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", diagnosis_id_one: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", diagnosis_id_two: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", diagnosis_id_three: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", denial_reason: { reason: AUTHORIZATION_REQUIRED }, place_of_service_code: PHARMACY, procedure_code: "string", quantity: "string", units: MJ, claim_id: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", description: "string", date_of_service: DateTime.parse(2023-01-15), end_date_of_service: DateTime.parse(2023-01-15), drug_identification: { service_id_qualifier: EAN_UCC_13, national_drug_code: "string", national_drug_unit_count: "string", measurement_unit_code: MILLILITERS, link_sequence_number: "string", pharmacy_prescription_number: "string", conversion_formula: "string", drug_description: "string" }, ordering_provider: { npi: "string", taxonomy_code: "string", address: { address_1: "123 Main St", address_2: "Apt 1", city: "New York", state: NY, zip_code: "10001", zip_plus_four_code: "1234" }, first_name: "string", last_name: "string", organization_name: "string" }, test_results: [{ value: 1.1, result_type: HEMATOCRIT }], has_epsdt_indicator: true, has_family_planning_indicator: true })
|
69
69
|
def create(request:, request_options: nil)
|
70
70
|
response = @request_client.conn.post do |req|
|
71
71
|
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
@@ -210,7 +210,7 @@ module CandidApiClient
|
|
210
210
|
# @return [CandidApiClient::ServiceLines::V2::Types::ServiceLine]
|
211
211
|
# @example
|
212
212
|
# api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
|
213
|
-
# api.service_lines.v_2.create(request: { modifiers: [AV], charge_amount_cents: 1, diagnosis_id_zero: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", diagnosis_id_one: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", diagnosis_id_two: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", diagnosis_id_three: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", denial_reason: { reason: AUTHORIZATION_REQUIRED }, place_of_service_code: PHARMACY, procedure_code: "string", quantity: "string", units: MJ, claim_id: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", description: "string", date_of_service: DateTime.parse(2023-01-15), end_date_of_service: DateTime.parse(2023-01-15), drug_identification: { service_id_qualifier: EAN_UCC_13, national_drug_code: "string", national_drug_unit_count: "string", measurement_unit_code: MILLILITERS, link_sequence_number: "string", pharmacy_prescription_number: "string", conversion_formula: "string", drug_description: "string" }, ordering_provider: { npi: "string", taxonomy_code: "string", address: { address_1: "123 Main St", address_2: "Apt 1", city: "New York", state: NY, zip_code: "10001", zip_plus_four_code: "1234" } }, test_results: [{ value: 1.1, result_type: HEMATOCRIT }], has_epsdt_indicator: true, has_family_planning_indicator: true })
|
213
|
+
# api.service_lines.v_2.create(request: { modifiers: [AV], charge_amount_cents: 1, diagnosis_id_zero: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", diagnosis_id_one: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", diagnosis_id_two: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", diagnosis_id_three: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", denial_reason: { reason: AUTHORIZATION_REQUIRED }, place_of_service_code: PHARMACY, procedure_code: "string", quantity: "string", units: MJ, claim_id: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", description: "string", date_of_service: DateTime.parse(2023-01-15), end_date_of_service: DateTime.parse(2023-01-15), drug_identification: { service_id_qualifier: EAN_UCC_13, national_drug_code: "string", national_drug_unit_count: "string", measurement_unit_code: MILLILITERS, link_sequence_number: "string", pharmacy_prescription_number: "string", conversion_formula: "string", drug_description: "string" }, ordering_provider: { npi: "string", taxonomy_code: "string", address: { address_1: "123 Main St", address_2: "Apt 1", city: "New York", state: NY, zip_code: "10001", zip_plus_four_code: "1234" }, first_name: "string", last_name: "string", organization_name: "string" }, test_results: [{ value: 1.1, result_type: HEMATOCRIT }], has_epsdt_indicator: true, has_family_planning_indicator: true })
|
214
214
|
def create(request:, request_options: nil)
|
215
215
|
Async do
|
216
216
|
response = @request_client.conn.post do |req|
|
data/lib/requests.rb
CHANGED
@@ -45,7 +45,7 @@ module CandidApiClient
|
|
45
45
|
|
46
46
|
# @return [Hash{String => String}]
|
47
47
|
def get_headers
|
48
|
-
headers = { "X-Fern-Language": "Ruby", "X-Fern-SDK-Name": "candidhealth", "X-Fern-SDK-Version": "0.
|
48
|
+
headers = { "X-Fern-Language": "Ruby", "X-Fern-SDK-Name": "candidhealth", "X-Fern-SDK-Version": "0.45.0" }
|
49
49
|
headers["Authorization"] = ((@token.is_a? Method) ? @token.call : @token) unless token.nil?
|
50
50
|
headers
|
51
51
|
end
|
@@ -90,7 +90,7 @@ module CandidApiClient
|
|
90
90
|
|
91
91
|
# @return [Hash{String => String}]
|
92
92
|
def get_headers
|
93
|
-
headers = { "X-Fern-Language": "Ruby", "X-Fern-SDK-Name": "candidhealth", "X-Fern-SDK-Version": "0.
|
93
|
+
headers = { "X-Fern-Language": "Ruby", "X-Fern-SDK-Name": "candidhealth", "X-Fern-SDK-Version": "0.45.0" }
|
94
94
|
headers["Authorization"] = ((@token.is_a? Method) ? @token.call : @token) unless token.nil?
|
95
95
|
headers
|
96
96
|
end
|
data/lib/types_export.rb
CHANGED
@@ -3,7 +3,6 @@
|
|
3
3
|
require_relative "candidhealth/auth/v_2/types/auth_get_token_response"
|
4
4
|
require_relative "candidhealth/auth/v_2/types/too_many_requests_error_type"
|
5
5
|
require_relative "candidhealth/billing_notes/v_2/types/billing_note_base"
|
6
|
-
require_relative "candidhealth/billing_notes/v_2/types/billing_note_optional"
|
7
6
|
require_relative "candidhealth/billing_notes/v_2/types/billing_note"
|
8
7
|
require_relative "candidhealth/charge_capture_bundles/v_1/types/charge_capture_claim_creation_page"
|
9
8
|
require_relative "candidhealth/charge_capture_bundles/v_1/types/charge_capture_claim_creation"
|
@@ -17,6 +16,7 @@ require_relative "candidhealth/charge_capture/v_1/types/charge_capture_error"
|
|
17
16
|
require_relative "candidhealth/charge_capture/v_1/types/charge_capture_sort_field"
|
18
17
|
require_relative "candidhealth/charge_capture/v_1/types/charge_capture_status"
|
19
18
|
require_relative "candidhealth/charge_capture/v_1/types/charge_capture_post_billed_change"
|
19
|
+
require_relative "candidhealth/charge_capture/v_1/types/charge_external_id_conflict_error_message"
|
20
20
|
require_relative "candidhealth/claim_submission/v_1/types/claim_frequency_type_code"
|
21
21
|
require_relative "candidhealth/claim_submission/v_1/types/external_claim_submission_create"
|
22
22
|
require_relative "candidhealth/claim_submission/v_1/types/claim_submission_record_create"
|
@@ -62,6 +62,11 @@ require_relative "candidhealth/encounter_providers/v_2/types/ordering_provider"
|
|
62
62
|
require_relative "candidhealth/encounter_providers/v_2/types/ordering_provider_update"
|
63
63
|
require_relative "candidhealth/encounter_providers/v_2/types/billing_provider"
|
64
64
|
require_relative "candidhealth/encounter_providers/v_2/types/billing_provider_update"
|
65
|
+
require_relative "candidhealth/encounter_providers/v_2/types/billing_provider_update_with_optional_address"
|
66
|
+
require_relative "candidhealth/encounter_providers/v_2/types/rendering_provider_update_with_optional_address"
|
67
|
+
require_relative "candidhealth/encounter_providers/v_2/types/initial_referring_provider_update_with_optional_address"
|
68
|
+
require_relative "candidhealth/encounter_providers/v_2/types/referring_provider_update_with_optional_address"
|
69
|
+
require_relative "candidhealth/encounter_providers/v_2/types/supervising_provider_update_with_optional_address"
|
65
70
|
require_relative "candidhealth/encounter_providers/v_2/types/encounter_provider"
|
66
71
|
require_relative "candidhealth/encounters/v_4/types/encounter_create_from_pre_encounter"
|
67
72
|
require_relative "candidhealth/encounters/v_4/types/encounter_base"
|
@@ -392,6 +397,8 @@ require_relative "candidhealth/commons/types/date_range_optional_end"
|
|
392
397
|
require_relative "candidhealth/commons/types/removable_date_range_optional_end"
|
393
398
|
require_relative "candidhealth/commons/types/resource_page"
|
394
399
|
require_relative "candidhealth/commons/types/street_address_base"
|
400
|
+
require_relative "candidhealth/commons/types/street_address_optional_base"
|
401
|
+
require_relative "candidhealth/commons/types/street_address_short_zip_optional"
|
395
402
|
require_relative "candidhealth/commons/types/street_address_short_zip"
|
396
403
|
require_relative "candidhealth/commons/types/street_address_long_zip"
|
397
404
|
require_relative "candidhealth/commons/types/regions"
|
@@ -466,12 +473,14 @@ require_relative "candidhealth/individual/types/patient_non_insurance_payer_info
|
|
466
473
|
require_relative "candidhealth/individual/types/patient_create"
|
467
474
|
require_relative "candidhealth/individual/types/patient_update"
|
468
475
|
require_relative "candidhealth/individual/types/patient_base"
|
476
|
+
require_relative "candidhealth/individual/types/patient_update_with_optional_address"
|
469
477
|
require_relative "candidhealth/individual/types/patient"
|
470
478
|
require_relative "candidhealth/individual/types/gender"
|
471
479
|
require_relative "candidhealth/invoices/types/invoice"
|
472
480
|
require_relative "candidhealth/invoices/types/invoice_item"
|
473
481
|
require_relative "candidhealth/invoices/types/invoice_status"
|
474
482
|
require_relative "candidhealth/service_facility/types/encounter_service_facility_base"
|
483
|
+
require_relative "candidhealth/service_facility/types/encounter_service_facility_update_with_optional_address"
|
475
484
|
require_relative "candidhealth/service_facility/types/encounter_service_facility"
|
476
485
|
require_relative "candidhealth/service_facility/types/encounter_service_facility_update"
|
477
486
|
require_relative "candidhealth/tags/types/tag_create"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: candidhealth
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.45.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- ''
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2025-05-
|
11
|
+
date: 2025-05-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: async-http-faraday
|
@@ -139,7 +139,6 @@ files:
|
|
139
139
|
- lib/candidhealth/billing_notes/v_2/client.rb
|
140
140
|
- lib/candidhealth/billing_notes/v_2/types/billing_note.rb
|
141
141
|
- lib/candidhealth/billing_notes/v_2/types/billing_note_base.rb
|
142
|
-
- lib/candidhealth/billing_notes/v_2/types/billing_note_optional.rb
|
143
142
|
- lib/candidhealth/charge_capture/client.rb
|
144
143
|
- lib/candidhealth/charge_capture/v_1/client.rb
|
145
144
|
- lib/candidhealth/charge_capture/v_1/types/charge_capture.rb
|
@@ -149,6 +148,7 @@ files:
|
|
149
148
|
- lib/candidhealth/charge_capture/v_1/types/charge_capture_post_billed_change.rb
|
150
149
|
- lib/candidhealth/charge_capture/v_1/types/charge_capture_sort_field.rb
|
151
150
|
- lib/candidhealth/charge_capture/v_1/types/charge_capture_status.rb
|
151
|
+
- lib/candidhealth/charge_capture/v_1/types/charge_external_id_conflict_error_message.rb
|
152
152
|
- lib/candidhealth/charge_capture_bundles/client.rb
|
153
153
|
- lib/candidhealth/charge_capture_bundles/v_1/client.rb
|
154
154
|
- lib/candidhealth/charge_capture_bundles/v_1/types/charge_capture_claim_creation.rb
|
@@ -197,7 +197,9 @@ files:
|
|
197
197
|
- lib/candidhealth/commons/types/state.rb
|
198
198
|
- lib/candidhealth/commons/types/street_address_base.rb
|
199
199
|
- lib/candidhealth/commons/types/street_address_long_zip.rb
|
200
|
+
- lib/candidhealth/commons/types/street_address_optional_base.rb
|
200
201
|
- lib/candidhealth/commons/types/street_address_short_zip.rb
|
202
|
+
- lib/candidhealth/commons/types/street_address_short_zip_optional.rb
|
201
203
|
- lib/candidhealth/commons/types/unauthorized_error_message.rb
|
202
204
|
- lib/candidhealth/commons/types/unprocessable_entity_error_message.rb
|
203
205
|
- lib/candidhealth/commons/types/updates_disabled_due_to_external_system_integration_error_message.rb
|
@@ -247,18 +249,23 @@ files:
|
|
247
249
|
- lib/candidhealth/encounter_providers/v_2/client.rb
|
248
250
|
- lib/candidhealth/encounter_providers/v_2/types/billing_provider.rb
|
249
251
|
- lib/candidhealth/encounter_providers/v_2/types/billing_provider_update.rb
|
252
|
+
- lib/candidhealth/encounter_providers/v_2/types/billing_provider_update_with_optional_address.rb
|
250
253
|
- lib/candidhealth/encounter_providers/v_2/types/encounter_provider.rb
|
251
254
|
- lib/candidhealth/encounter_providers/v_2/types/encounter_provider_base.rb
|
252
255
|
- lib/candidhealth/encounter_providers/v_2/types/initial_referring_provider.rb
|
253
256
|
- lib/candidhealth/encounter_providers/v_2/types/initial_referring_provider_update.rb
|
257
|
+
- lib/candidhealth/encounter_providers/v_2/types/initial_referring_provider_update_with_optional_address.rb
|
254
258
|
- lib/candidhealth/encounter_providers/v_2/types/ordering_provider.rb
|
255
259
|
- lib/candidhealth/encounter_providers/v_2/types/ordering_provider_update.rb
|
256
260
|
- lib/candidhealth/encounter_providers/v_2/types/referring_provider.rb
|
257
261
|
- lib/candidhealth/encounter_providers/v_2/types/referring_provider_update.rb
|
262
|
+
- lib/candidhealth/encounter_providers/v_2/types/referring_provider_update_with_optional_address.rb
|
258
263
|
- lib/candidhealth/encounter_providers/v_2/types/rendering_provider.rb
|
259
264
|
- lib/candidhealth/encounter_providers/v_2/types/rendering_provider_update.rb
|
265
|
+
- lib/candidhealth/encounter_providers/v_2/types/rendering_provider_update_with_optional_address.rb
|
260
266
|
- lib/candidhealth/encounter_providers/v_2/types/supervising_provider.rb
|
261
267
|
- lib/candidhealth/encounter_providers/v_2/types/supervising_provider_update.rb
|
268
|
+
- lib/candidhealth/encounter_providers/v_2/types/supervising_provider_update_with_optional_address.rb
|
262
269
|
- lib/candidhealth/encounters/client.rb
|
263
270
|
- lib/candidhealth/encounters/v_4/client.rb
|
264
271
|
- lib/candidhealth/encounters/v_4/types/billable_status_type.rb
|
@@ -421,6 +428,7 @@ files:
|
|
421
428
|
- lib/candidhealth/individual/types/patient_non_insurance_payer_info.rb
|
422
429
|
- lib/candidhealth/individual/types/patient_non_insurance_payer_info_create.rb
|
423
430
|
- lib/candidhealth/individual/types/patient_update.rb
|
431
|
+
- lib/candidhealth/individual/types/patient_update_with_optional_address.rb
|
424
432
|
- lib/candidhealth/individual/types/subscriber.rb
|
425
433
|
- lib/candidhealth/individual/types/subscriber_base.rb
|
426
434
|
- lib/candidhealth/individual/types/subscriber_create.rb
|
@@ -665,6 +673,7 @@ files:
|
|
665
673
|
- lib/candidhealth/service_facility/types/encounter_service_facility.rb
|
666
674
|
- lib/candidhealth/service_facility/types/encounter_service_facility_base.rb
|
667
675
|
- lib/candidhealth/service_facility/types/encounter_service_facility_update.rb
|
676
|
+
- lib/candidhealth/service_facility/types/encounter_service_facility_update_with_optional_address.rb
|
668
677
|
- lib/candidhealth/service_lines/client.rb
|
669
678
|
- lib/candidhealth/service_lines/v_2/client.rb
|
670
679
|
- lib/candidhealth/service_lines/v_2/types/denial_reason_content.rb
|
@@ -1,112 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require "date"
|
4
|
-
require "ostruct"
|
5
|
-
require "json"
|
6
|
-
|
7
|
-
module CandidApiClient
|
8
|
-
module BillingNotes
|
9
|
-
module V2
|
10
|
-
module Types
|
11
|
-
class BillingNoteOptional
|
12
|
-
# @return [String]
|
13
|
-
attr_reader :billing_note_id
|
14
|
-
# @return [String]
|
15
|
-
attr_reader :encounter_id
|
16
|
-
# @return [DateTime] An [RFC 3339, section 5.6 datetime](https://ijmacd.github.io/rfc3339-iso8601/).
|
17
|
-
# For example, 2017-07-21T17:32:28Z.
|
18
|
-
attr_reader :created_at
|
19
|
-
# @return [String]
|
20
|
-
attr_reader :author_auth_0_id
|
21
|
-
# @return [String]
|
22
|
-
attr_reader :author_name
|
23
|
-
# @return [String] Empty string not allowed.
|
24
|
-
attr_reader :text
|
25
|
-
# @return [OpenStruct] Additional properties unmapped to the current class definition
|
26
|
-
attr_reader :additional_properties
|
27
|
-
# @return [Object]
|
28
|
-
attr_reader :_field_set
|
29
|
-
protected :_field_set
|
30
|
-
|
31
|
-
OMIT = Object.new
|
32
|
-
|
33
|
-
# @param billing_note_id [String]
|
34
|
-
# @param encounter_id [String]
|
35
|
-
# @param created_at [DateTime] An [RFC 3339, section 5.6 datetime](https://ijmacd.github.io/rfc3339-iso8601/).
|
36
|
-
# For example, 2017-07-21T17:32:28Z.
|
37
|
-
# @param author_auth_0_id [String]
|
38
|
-
# @param author_name [String]
|
39
|
-
# @param text [String] Empty string not allowed.
|
40
|
-
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
41
|
-
# @return [CandidApiClient::BillingNotes::V2::Types::BillingNoteOptional]
|
42
|
-
def initialize(billing_note_id:, created_at:, text:, encounter_id: OMIT, author_auth_0_id: OMIT,
|
43
|
-
author_name: OMIT, additional_properties: nil)
|
44
|
-
@billing_note_id = billing_note_id
|
45
|
-
@encounter_id = encounter_id if encounter_id != OMIT
|
46
|
-
@created_at = created_at
|
47
|
-
@author_auth_0_id = author_auth_0_id if author_auth_0_id != OMIT
|
48
|
-
@author_name = author_name if author_name != OMIT
|
49
|
-
@text = text
|
50
|
-
@additional_properties = additional_properties
|
51
|
-
@_field_set = {
|
52
|
-
"billing_note_id": billing_note_id,
|
53
|
-
"encounter_id": encounter_id,
|
54
|
-
"created_at": created_at,
|
55
|
-
"author_auth0_id": author_auth_0_id,
|
56
|
-
"author_name": author_name,
|
57
|
-
"text": text
|
58
|
-
}.reject do |_k, v|
|
59
|
-
v == OMIT
|
60
|
-
end
|
61
|
-
end
|
62
|
-
|
63
|
-
# Deserialize a JSON object to an instance of BillingNoteOptional
|
64
|
-
#
|
65
|
-
# @param json_object [String]
|
66
|
-
# @return [CandidApiClient::BillingNotes::V2::Types::BillingNoteOptional]
|
67
|
-
def self.from_json(json_object:)
|
68
|
-
struct = JSON.parse(json_object, object_class: OpenStruct)
|
69
|
-
parsed_json = JSON.parse(json_object)
|
70
|
-
billing_note_id = struct["billing_note_id"]
|
71
|
-
encounter_id = struct["encounter_id"]
|
72
|
-
created_at = (DateTime.parse(parsed_json["created_at"]) unless parsed_json["created_at"].nil?)
|
73
|
-
author_auth_0_id = struct["author_auth0_id"]
|
74
|
-
author_name = struct["author_name"]
|
75
|
-
text = struct["text"]
|
76
|
-
new(
|
77
|
-
billing_note_id: billing_note_id,
|
78
|
-
encounter_id: encounter_id,
|
79
|
-
created_at: created_at,
|
80
|
-
author_auth_0_id: author_auth_0_id,
|
81
|
-
author_name: author_name,
|
82
|
-
text: text,
|
83
|
-
additional_properties: struct
|
84
|
-
)
|
85
|
-
end
|
86
|
-
|
87
|
-
# Serialize an instance of BillingNoteOptional to a JSON object
|
88
|
-
#
|
89
|
-
# @return [String]
|
90
|
-
def to_json(*_args)
|
91
|
-
@_field_set&.to_json
|
92
|
-
end
|
93
|
-
|
94
|
-
# Leveraged for Union-type generation, validate_raw attempts to parse the given
|
95
|
-
# hash and check each fields type against the current object's property
|
96
|
-
# definitions.
|
97
|
-
#
|
98
|
-
# @param obj [Object]
|
99
|
-
# @return [Void]
|
100
|
-
def self.validate_raw(obj:)
|
101
|
-
obj.billing_note_id.is_a?(String) != false || raise("Passed value for field obj.billing_note_id is not the expected type, validation failed.")
|
102
|
-
obj.encounter_id&.is_a?(String) != false || raise("Passed value for field obj.encounter_id is not the expected type, validation failed.")
|
103
|
-
obj.created_at.is_a?(DateTime) != false || raise("Passed value for field obj.created_at is not the expected type, validation failed.")
|
104
|
-
obj.author_auth_0_id&.is_a?(String) != false || raise("Passed value for field obj.author_auth_0_id is not the expected type, validation failed.")
|
105
|
-
obj.author_name&.is_a?(String) != false || raise("Passed value for field obj.author_name is not the expected type, validation failed.")
|
106
|
-
obj.text.is_a?(String) != false || raise("Passed value for field obj.text is not the expected type, validation failed.")
|
107
|
-
end
|
108
|
-
end
|
109
|
-
end
|
110
|
-
end
|
111
|
-
end
|
112
|
-
end
|