candidhealth 1.6.0 → 1.8.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/auth/default/client.rb +74 -0
- data/lib/candidhealth/charge_capture/v_1/client.rb +48 -48
- data/lib/candidhealth/charge_capture/v_1/types/charge_capture_data.rb +70 -56
- data/lib/candidhealth/commons/types/clearinghouse.rb +18 -0
- data/lib/candidhealth/commons/types/procedure_modifier.rb +11 -0
- data/lib/candidhealth/credentialing/v_2/client.rb +342 -8
- data/lib/candidhealth/credentialing/v_2/types/base_credentialing_span.rb +143 -0
- data/lib/candidhealth/credentialing/v_2/types/facility_credentialing_span.rb +165 -0
- data/lib/candidhealth/credentialing/v_2/types/facility_credentialing_span_page.rb +88 -0
- data/lib/candidhealth/credentialing/v_2/types/provider_credentialing_span.rb +34 -34
- data/lib/candidhealth/encounter_providers/v_2/types/billing_provider.rb +1 -1
- data/lib/candidhealth/encounter_providers/v_2/types/billing_provider_update.rb +1 -1
- data/lib/candidhealth/encounter_providers/v_2/types/billing_provider_update_with_optional_address.rb +1 -1
- data/lib/candidhealth/encounters/v_4/client.rb +3253 -2040
- data/lib/candidhealth/encounters/v_4/types/encounter.rb +111 -86
- data/lib/candidhealth/encounters/v_4/types/encounter_base.rb +39 -33
- data/lib/candidhealth/encounters/v_4/types/encounter_create.rb +796 -0
- data/lib/candidhealth/encounters/v_4/types/encounter_create_from_pre_encounter.rb +131 -117
- data/lib/candidhealth/encounters/v_4/types/encounter_deep_optional.rb +70 -56
- data/lib/candidhealth/encounters/v_4/types/encounter_optional.rb +29 -39
- data/lib/candidhealth/encounters/v_4/types/encounter_rendering_or_attending_provider_required_error.rb +55 -0
- data/lib/candidhealth/encounters/v_4/types/encounter_update.rb +736 -0
- data/lib/candidhealth/encounters_universal/types/universal_encounter_create.rb +944 -0
- data/lib/candidhealth/encounters_universal/types/universal_encounter_create_base.rb +691 -0
- data/lib/candidhealth/encounters_universal/types/universal_encounter_create_from_pre_encounter.rb +791 -0
- data/lib/candidhealth/encounters_universal/types/universal_encounter_create_from_pre_encounter_base.rb +572 -0
- data/lib/candidhealth/encounters_universal/types/universal_encounter_update.rb +872 -0
- data/lib/candidhealth/encounters_universal/types/universal_encounter_update_base.rb +700 -0
- data/lib/candidhealth/fee_schedules/v_3/client.rb +57 -0
- data/lib/candidhealth/fee_schedules/v_3/types/validation_error.rb +12 -0
- data/lib/candidhealth/financials/types/patient_transaction_source.rb +1 -0
- data/lib/candidhealth/health_care_code_information/client.rb +30 -0
- data/lib/candidhealth/health_care_code_information/v_1/client.rb +268 -0
- data/lib/candidhealth/health_care_code_information/v_1/types/admitting_diagnosis.rb +236 -0
- data/lib/candidhealth/health_care_code_information/v_1/types/admitting_diagnosis_code_qualifier.rb +14 -0
- data/lib/candidhealth/health_care_code_information/v_1/types/admitting_diagnosis_new.rb +206 -0
- data/lib/candidhealth/health_care_code_information/v_1/types/code_list_qualifier_code.rb +1068 -0
- data/lib/candidhealth/health_care_code_information/v_1/types/condition_code.rb +71 -0
- data/lib/candidhealth/health_care_code_information/v_1/types/condition_information.rb +237 -0
- data/lib/candidhealth/health_care_code_information/v_1/types/condition_information_code_qualifier.rb +13 -0
- data/lib/candidhealth/health_care_code_information/v_1/types/condition_information_new.rb +207 -0
- data/lib/candidhealth/health_care_code_information/v_1/types/date_time_period_format_qualifier.rb +54 -0
- data/lib/candidhealth/health_care_code_information/v_1/types/diagnosis_related_group.rb +236 -0
- data/lib/candidhealth/health_care_code_information/v_1/types/diagnosis_related_group_code_qualifier.rb +13 -0
- data/lib/candidhealth/health_care_code_information/v_1/types/diagnosis_related_group_new.rb +206 -0
- data/lib/candidhealth/health_care_code_information/v_1/types/external_cause_of_injury.rb +245 -0
- data/lib/candidhealth/health_care_code_information/v_1/types/external_cause_of_injury_code_qualifier.rb +14 -0
- data/lib/candidhealth/health_care_code_information/v_1/types/external_cause_of_injury_new.rb +245 -0
- data/lib/candidhealth/health_care_code_information/v_1/types/health_care_code_information.rb +218 -0
- data/lib/candidhealth/health_care_code_information/v_1/types/health_care_code_information_create.rb +225 -0
- data/lib/candidhealth/health_care_code_information/v_1/types/health_care_code_information_get_all_response.rb +227 -0
- data/lib/candidhealth/health_care_code_information/v_1/types/health_care_code_information_new.rb +188 -0
- data/lib/candidhealth/health_care_code_information/v_1/types/health_care_code_information_update.rb +225 -0
- data/lib/candidhealth/health_care_code_information/v_1/types/occurrence_code.rb +71 -0
- data/lib/candidhealth/health_care_code_information/v_1/types/occurrence_information.rb +249 -0
- data/lib/candidhealth/health_care_code_information/v_1/types/occurrence_information_code_qualifier.rb +13 -0
- data/lib/candidhealth/health_care_code_information/v_1/types/occurrence_information_new.rb +219 -0
- data/lib/candidhealth/health_care_code_information/v_1/types/occurrence_span_code.rb +25 -0
- data/lib/candidhealth/health_care_code_information/v_1/types/occurrence_span_code_qualifier.rb +13 -0
- data/lib/candidhealth/health_care_code_information/v_1/types/occurrence_span_information.rb +252 -0
- data/lib/candidhealth/health_care_code_information/v_1/types/occurrence_span_information_new.rb +222 -0
- data/lib/candidhealth/health_care_code_information/v_1/types/other_diagnosis_information.rb +245 -0
- data/lib/candidhealth/health_care_code_information/v_1/types/other_diagnosis_information_code_qualifier.rb +14 -0
- data/lib/candidhealth/health_care_code_information/v_1/types/other_diagnosis_information_new.rb +215 -0
- data/lib/candidhealth/health_care_code_information/v_1/types/other_procedure_information.rb +248 -0
- data/lib/candidhealth/health_care_code_information/v_1/types/other_procedure_information_code_qualifier.rb +14 -0
- data/lib/candidhealth/health_care_code_information/v_1/types/other_procedure_information_new.rb +218 -0
- data/lib/candidhealth/health_care_code_information/v_1/types/patient_reason_for_visit.rb +236 -0
- data/lib/candidhealth/health_care_code_information/v_1/types/patient_reason_for_visit_code_qualifier.rb +14 -0
- data/lib/candidhealth/health_care_code_information/v_1/types/patient_reason_for_visit_new.rb +206 -0
- data/lib/candidhealth/health_care_code_information/v_1/types/present_on_admission_indicator_code.rb +17 -0
- data/lib/candidhealth/health_care_code_information/v_1/types/principal_diagnosis.rb +245 -0
- data/lib/candidhealth/health_care_code_information/v_1/types/principal_diagnosis_code_qualifier.rb +14 -0
- data/lib/candidhealth/health_care_code_information/v_1/types/principal_diagnosis_new.rb +215 -0
- data/lib/candidhealth/health_care_code_information/v_1/types/principal_procedure_information.rb +246 -0
- data/lib/candidhealth/health_care_code_information/v_1/types/principal_procedure_information_code_qualifier.rb +15 -0
- data/lib/candidhealth/health_care_code_information/v_1/types/principal_procedure_information_new.rb +216 -0
- data/lib/candidhealth/health_care_code_information/v_1/types/rd_8_date.rb +72 -0
- data/lib/candidhealth/health_care_code_information/v_1/types/set_or_clear_admitting_diagnosis.rb +69 -0
- data/lib/candidhealth/health_care_code_information/v_1/types/set_or_clear_diagnosis_related_group.rb +69 -0
- data/lib/candidhealth/health_care_code_information/v_1/types/set_or_clear_principal_diagnosis.rb +69 -0
- data/lib/candidhealth/health_care_code_information/v_1/types/set_or_clear_principal_procedure_information.rb +71 -0
- data/lib/candidhealth/health_care_code_information/v_1/types/treatment_code_information.rb +236 -0
- data/lib/candidhealth/health_care_code_information/v_1/types/treatment_code_information_new.rb +206 -0
- data/lib/candidhealth/health_care_code_information/v_1/types/treatment_code_qualifier.rb +13 -0
- data/lib/candidhealth/health_care_code_information/v_1/types/value_code.rb +119 -0
- data/lib/candidhealth/health_care_code_information/v_1/types/value_code_qualifier.rb +13 -0
- data/lib/candidhealth/health_care_code_information/v_1/types/value_information.rb +245 -0
- data/lib/candidhealth/health_care_code_information/v_1/types/value_information_new.rb +215 -0
- data/lib/candidhealth/individual/types/patient.rb +6 -6
- data/lib/candidhealth/individual/types/patient_base.rb +6 -6
- data/lib/candidhealth/individual/types/patient_create.rb +6 -6
- data/lib/candidhealth/individual/types/patient_update.rb +6 -6
- data/lib/candidhealth/individual/types/patient_update_with_optional_address.rb +6 -6
- data/lib/candidhealth/organization_providers/v_2/types/license_type.rb +2 -0
- data/lib/candidhealth/patient_ar/client.rb +30 -0
- data/lib/candidhealth/patient_ar/v_1/client.rb +161 -0
- data/lib/candidhealth/patient_ar/v_1/types/insurance_adjustment_info.rb +60 -0
- data/lib/candidhealth/patient_ar/v_1/types/insurance_payment_info.rb +60 -0
- data/lib/candidhealth/patient_ar/v_1/types/invalid_filters_error_type.rb +60 -0
- data/lib/candidhealth/patient_ar/v_1/types/inventory_record.rb +101 -0
- data/lib/candidhealth/patient_ar/v_1/types/invoice_itemization_response.rb +103 -0
- data/lib/candidhealth/patient_ar/v_1/types/list_inventory_paged_response.rb +77 -0
- data/lib/candidhealth/patient_ar/v_1/types/non_insurance_adjustment_info.rb +60 -0
- data/lib/candidhealth/patient_ar/v_1/types/non_insurance_payment_info.rb +60 -0
- data/lib/candidhealth/patient_ar/v_1/types/patient_adjustment_info.rb +60 -0
- data/lib/candidhealth/patient_ar/v_1/types/patient_ar_status.rb +14 -0
- data/lib/candidhealth/patient_ar/v_1/types/patient_payment_allocation.rb +76 -0
- data/lib/candidhealth/patient_ar/v_1/types/patient_payment_info.rb +75 -0
- data/lib/candidhealth/patient_ar/v_1/types/service_line_itemization.rb +210 -0
- data/lib/candidhealth/payers/client.rb +7 -0
- data/lib/candidhealth/payers/v_4/client.rb +137 -0
- data/lib/candidhealth/payers/v_4/types/clearinghouse_payer_info.rb +93 -0
- data/lib/candidhealth/payers/v_4/types/payer.rb +116 -0
- data/lib/candidhealth/payers/v_4/types/payer_ids.rb +107 -0
- data/lib/candidhealth/payers/v_4/types/payer_page.rb +88 -0
- data/lib/candidhealth/payers/v_4/types/support_state.rb +15 -0
- data/lib/candidhealth/pre_encounter/coverages/v_1/client.rb +4 -4
- data/lib/candidhealth/pre_encounter/coverages/v_1/types/subscriber.rb +3 -3
- data/lib/candidhealth/pre_encounter/patients/v_1/client.rb +204 -6
- data/lib/candidhealth/pre_encounter/patients/v_1/types/guarantor.rb +3 -3
- data/lib/candidhealth/pre_encounter/patients/v_1/types/inferred_patient_metadata.rb +80 -0
- data/lib/candidhealth/pre_encounter/patients/v_1/types/mutable_patient.rb +33 -5
- data/lib/candidhealth/pre_encounter/patients/v_1/types/mutable_patient_with_mrn.rb +33 -5
- data/lib/candidhealth/pre_encounter/patients/v_1/types/origination_detail.rb +104 -0
- data/lib/candidhealth/pre_encounter/patients/v_1/types/patient.rb +32 -4
- data/lib/candidhealth/pre_encounter/patients/v_1/types/referral_source.rb +18 -0
- data/lib/candidhealth/pre_encounter/patients/v_1/types/referral_type.rb +17 -0
- data/lib/candidhealth/pre_encounter/patients/v_1/types/specialization_category.rb +42 -0
- data/lib/candidhealth/service_lines/v_2/client.rb +252 -10
- data/lib/candidhealth/service_lines/v_2/types/service_line.rb +28 -10
- data/lib/candidhealth/service_lines/v_2/types/service_line_create.rb +52 -40
- data/lib/candidhealth/service_lines/v_2/types/service_line_create_base.rb +251 -0
- data/lib/candidhealth/service_lines/v_2/types/service_line_create_base_base.rb +243 -0
- data/lib/candidhealth/service_lines/v_2/types/service_line_create_optional.rb +48 -24
- data/lib/candidhealth/service_lines/v_2/types/service_line_create_standalone.rb +58 -46
- data/lib/candidhealth/service_lines/v_2/types/service_line_create_standalone_base.rb +273 -0
- data/lib/candidhealth/service_lines/v_2/types/service_line_create_standalone_base_base.rb +265 -0
- data/lib/candidhealth/service_lines/v_2/types/service_line_update.rb +64 -54
- data/lib/candidhealth/service_lines/v_2/types/service_line_update_base.rb +263 -0
- data/lib/candidhealth/service_lines/v_2/types/universal_service_line_create.rb +271 -0
- data/lib/candidhealth/service_lines/v_2/types/universal_service_line_create_standalone.rb +317 -0
- data/lib/candidhealth/service_lines/v_2/types/universal_service_line_update.rb +307 -0
- data/lib/candidhealth/x_12/v_1/types/type_of_bill_composite.rb +2 -2
- data/lib/candidhealth/x_12/v_1/types/type_of_bill_composite_base.rb +90 -0
- data/lib/candidhealth/x_12/v_1/types/type_of_bill_composite_update.rb +112 -0
- data/lib/candidhealth.rb +21 -7
- data/lib/requests.rb +2 -2
- data/lib/types_export.rb +116 -13
- metadata +109 -2
@@ -3,6 +3,8 @@
|
|
3
3
|
require_relative "../../../requests"
|
4
4
|
require_relative "types/service_line_create_standalone"
|
5
5
|
require_relative "types/service_line"
|
6
|
+
require_relative "types/universal_service_line_create_standalone"
|
7
|
+
require_relative "types/universal_service_line_update"
|
6
8
|
require_relative "types/service_line_update"
|
7
9
|
require "async"
|
8
10
|
|
@@ -20,16 +22,16 @@ module CandidApiClient
|
|
20
22
|
end
|
21
23
|
|
22
24
|
# @param request [Hash] Request of type CandidApiClient::ServiceLines::V2::Types::ServiceLineCreateStandalone, as a Hash
|
23
|
-
# * :modifiers (Array<CandidApiClient::Commons::Types::ProcedureModifier>)
|
24
|
-
# * :charge_amount_cents (Integer)
|
25
25
|
# * :diagnosis_id_zero (String)
|
26
26
|
# * :diagnosis_id_one (String)
|
27
27
|
# * :diagnosis_id_two (String)
|
28
28
|
# * :diagnosis_id_three (String)
|
29
|
+
# * :procedure_code (String)
|
30
|
+
# * :modifiers (Array<CandidApiClient::Commons::Types::ProcedureModifier>)
|
31
|
+
# * :charge_amount_cents (Integer)
|
29
32
|
# * :denial_reason (Hash)
|
30
33
|
# * :reason (CandidApiClient::ServiceLines::V2::Types::DenialReasonContent)
|
31
34
|
# * :place_of_service_code (CandidApiClient::Commons::Types::FacilityTypeCode)
|
32
|
-
# * :procedure_code (String)
|
33
35
|
# * :quantity (String)
|
34
36
|
# * :units (CandidApiClient::Commons::Types::ServiceLineUnits)
|
35
37
|
# * :claim_id (String)
|
@@ -66,7 +68,7 @@ module CandidApiClient
|
|
66
68
|
# @return [CandidApiClient::ServiceLines::V2::Types::ServiceLine]
|
67
69
|
# @example
|
68
70
|
# api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
|
69
|
-
# api.service_lines.v_2.create(request: {
|
71
|
+
# api.service_lines.v_2.create(request: { quantity: "quantity", units: MJ, claim_id: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", procedure_code: "procedure_code" })
|
70
72
|
def create(request:, request_options: nil)
|
71
73
|
response = @request_client.conn.post do |req|
|
72
74
|
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
@@ -83,15 +85,133 @@ module CandidApiClient
|
|
83
85
|
CandidApiClient::ServiceLines::V2::Types::ServiceLine.from_json(json_object: response.body)
|
84
86
|
end
|
85
87
|
|
88
|
+
# @param request [Hash] Request of type CandidApiClient::ServiceLines::V2::Types::UniversalServiceLineCreateStandalone, as a Hash
|
89
|
+
# * :diagnosis_id_zero (String)
|
90
|
+
# * :diagnosis_id_one (String)
|
91
|
+
# * :diagnosis_id_two (String)
|
92
|
+
# * :diagnosis_id_three (String)
|
93
|
+
# * :revenue_code (String)
|
94
|
+
# * :procedure_code (String)
|
95
|
+
# * :modifiers (Array<CandidApiClient::Commons::Types::ProcedureModifier>)
|
96
|
+
# * :charge_amount_cents (Integer)
|
97
|
+
# * :denial_reason (Hash)
|
98
|
+
# * :reason (CandidApiClient::ServiceLines::V2::Types::DenialReasonContent)
|
99
|
+
# * :place_of_service_code (CandidApiClient::Commons::Types::FacilityTypeCode)
|
100
|
+
# * :quantity (String)
|
101
|
+
# * :units (CandidApiClient::Commons::Types::ServiceLineUnits)
|
102
|
+
# * :claim_id (String)
|
103
|
+
# * :description (String)
|
104
|
+
# * :date_of_service (Date)
|
105
|
+
# * :end_date_of_service (Date)
|
106
|
+
# * :drug_identification (Hash)
|
107
|
+
# * :service_id_qualifier (CandidApiClient::ServiceLines::V2::Types::ServiceIdQualifier)
|
108
|
+
# * :national_drug_code (String)
|
109
|
+
# * :national_drug_unit_count (String)
|
110
|
+
# * :measurement_unit_code (CandidApiClient::ServiceLines::V2::Types::MeasurementUnitCode)
|
111
|
+
# * :link_sequence_number (String)
|
112
|
+
# * :pharmacy_prescription_number (String)
|
113
|
+
# * :conversion_formula (String)
|
114
|
+
# * :drug_description (String)
|
115
|
+
# * :ordering_provider (Hash)
|
116
|
+
# * :npi (String)
|
117
|
+
# * :taxonomy_code (String)
|
118
|
+
# * :address (Hash)
|
119
|
+
# * :zip_plus_four_code (String)
|
120
|
+
# * :address_1 (String)
|
121
|
+
# * :address_2 (String)
|
122
|
+
# * :city (String)
|
123
|
+
# * :state (CandidApiClient::Commons::Types::State)
|
124
|
+
# * :zip_code (String)
|
125
|
+
# * :first_name (String)
|
126
|
+
# * :last_name (String)
|
127
|
+
# * :organization_name (String)
|
128
|
+
# * :test_results (Array<CandidApiClient::ServiceLines::V2::Types::TestResult>)
|
129
|
+
# * :has_epsdt_indicator (Boolean)
|
130
|
+
# * :has_family_planning_indicator (Boolean)
|
131
|
+
# * :note (String)
|
132
|
+
# @param request_options [CandidApiClient::RequestOptions]
|
133
|
+
# @return [CandidApiClient::ServiceLines::V2::Types::ServiceLine]
|
134
|
+
# @example
|
135
|
+
# api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
|
136
|
+
# api.service_lines.v_2.create_universal(request: { quantity: "quantity", units: MJ, claim_id: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32" })
|
137
|
+
def create_universal(request:, request_options: nil)
|
138
|
+
response = @request_client.conn.post do |req|
|
139
|
+
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
140
|
+
req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
|
141
|
+
req.headers = {
|
142
|
+
**(req.headers || {}),
|
143
|
+
**@request_client.get_headers,
|
144
|
+
**(request_options&.additional_headers || {})
|
145
|
+
}.compact
|
146
|
+
req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
|
147
|
+
req.url "#{@request_client.get_url(environment: CandidApi,
|
148
|
+
request_options: request_options)}/api/service-lines/v2/universal"
|
149
|
+
end
|
150
|
+
CandidApiClient::ServiceLines::V2::Types::ServiceLine.from_json(json_object: response.body)
|
151
|
+
end
|
152
|
+
|
86
153
|
# @param service_line_id [String]
|
87
|
-
# @param request [Hash] Request of type CandidApiClient::ServiceLines::V2::Types::
|
154
|
+
# @param request [Hash] Request of type CandidApiClient::ServiceLines::V2::Types::UniversalServiceLineUpdate, as a Hash
|
155
|
+
# * :revenue_code (String)
|
156
|
+
# * :diagnosis_id_zero (String)
|
157
|
+
# * :diagnosis_id_one (String)
|
158
|
+
# * :diagnosis_id_two (String)
|
159
|
+
# * :diagnosis_id_three (String)
|
88
160
|
# * :edit_reason (String)
|
89
161
|
# * :modifiers (Array<CandidApiClient::Commons::Types::ProcedureModifier>)
|
90
162
|
# * :charge_amount_cents (Integer)
|
163
|
+
# * :drug_identification (Hash)
|
164
|
+
# * :service_id_qualifier (CandidApiClient::ServiceLines::V2::Types::ServiceIdQualifier)
|
165
|
+
# * :national_drug_code (String)
|
166
|
+
# * :national_drug_unit_count (String)
|
167
|
+
# * :measurement_unit_code (CandidApiClient::ServiceLines::V2::Types::MeasurementUnitCode)
|
168
|
+
# * :link_sequence_number (String)
|
169
|
+
# * :pharmacy_prescription_number (String)
|
170
|
+
# * :conversion_formula (String)
|
171
|
+
# * :drug_description (String)
|
172
|
+
# * :denial_reason (Hash)
|
173
|
+
# * :reason (CandidApiClient::ServiceLines::V2::Types::DenialReasonContent)
|
174
|
+
# * :place_of_service_code (CandidApiClient::Commons::Types::FacilityTypeCode)
|
175
|
+
# * :units (CandidApiClient::Commons::Types::ServiceLineUnits)
|
176
|
+
# * :procedure_code (String)
|
177
|
+
# * :quantity (String)
|
178
|
+
# * :description (String)
|
179
|
+
# * :date_of_service (Date)
|
180
|
+
# * :end_date_of_service (Date)
|
181
|
+
# * :test_results (Array<CandidApiClient::ServiceLines::V2::Types::TestResult>)
|
182
|
+
# * :has_epsdt_indicator (Boolean)
|
183
|
+
# * :has_family_planning_indicator (Boolean)
|
184
|
+
# * :note (String)
|
185
|
+
# @param request_options [CandidApiClient::RequestOptions]
|
186
|
+
# @return [CandidApiClient::ServiceLines::V2::Types::ServiceLine]
|
187
|
+
# @example
|
188
|
+
# api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
|
189
|
+
# api.service_lines.v_2.update_universal(service_line_id: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", request: { })
|
190
|
+
def update_universal(service_line_id:, request:, request_options: nil)
|
191
|
+
response = @request_client.conn.patch do |req|
|
192
|
+
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
193
|
+
req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
|
194
|
+
req.headers = {
|
195
|
+
**(req.headers || {}),
|
196
|
+
**@request_client.get_headers,
|
197
|
+
**(request_options&.additional_headers || {})
|
198
|
+
}.compact
|
199
|
+
req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
|
200
|
+
req.url "#{@request_client.get_url(environment: CandidApi,
|
201
|
+
request_options: request_options)}/api/service-lines/v2/#{service_line_id}/universal"
|
202
|
+
end
|
203
|
+
CandidApiClient::ServiceLines::V2::Types::ServiceLine.from_json(json_object: response.body)
|
204
|
+
end
|
205
|
+
|
206
|
+
# @param service_line_id [String]
|
207
|
+
# @param request [Hash] Request of type CandidApiClient::ServiceLines::V2::Types::ServiceLineUpdate, as a Hash
|
91
208
|
# * :diagnosis_id_zero (String)
|
92
209
|
# * :diagnosis_id_one (String)
|
93
210
|
# * :diagnosis_id_two (String)
|
94
211
|
# * :diagnosis_id_three (String)
|
212
|
+
# * :edit_reason (String)
|
213
|
+
# * :modifiers (Array<CandidApiClient::Commons::Types::ProcedureModifier>)
|
214
|
+
# * :charge_amount_cents (Integer)
|
95
215
|
# * :drug_identification (Hash)
|
96
216
|
# * :service_id_qualifier (CandidApiClient::ServiceLines::V2::Types::ServiceIdQualifier)
|
97
217
|
# * :national_drug_code (String)
|
@@ -167,16 +287,16 @@ module CandidApiClient
|
|
167
287
|
end
|
168
288
|
|
169
289
|
# @param request [Hash] Request of type CandidApiClient::ServiceLines::V2::Types::ServiceLineCreateStandalone, as a Hash
|
170
|
-
# * :modifiers (Array<CandidApiClient::Commons::Types::ProcedureModifier>)
|
171
|
-
# * :charge_amount_cents (Integer)
|
172
290
|
# * :diagnosis_id_zero (String)
|
173
291
|
# * :diagnosis_id_one (String)
|
174
292
|
# * :diagnosis_id_two (String)
|
175
293
|
# * :diagnosis_id_three (String)
|
294
|
+
# * :procedure_code (String)
|
295
|
+
# * :modifiers (Array<CandidApiClient::Commons::Types::ProcedureModifier>)
|
296
|
+
# * :charge_amount_cents (Integer)
|
176
297
|
# * :denial_reason (Hash)
|
177
298
|
# * :reason (CandidApiClient::ServiceLines::V2::Types::DenialReasonContent)
|
178
299
|
# * :place_of_service_code (CandidApiClient::Commons::Types::FacilityTypeCode)
|
179
|
-
# * :procedure_code (String)
|
180
300
|
# * :quantity (String)
|
181
301
|
# * :units (CandidApiClient::Commons::Types::ServiceLineUnits)
|
182
302
|
# * :claim_id (String)
|
@@ -213,7 +333,7 @@ module CandidApiClient
|
|
213
333
|
# @return [CandidApiClient::ServiceLines::V2::Types::ServiceLine]
|
214
334
|
# @example
|
215
335
|
# api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
|
216
|
-
# api.service_lines.v_2.create(request: {
|
336
|
+
# api.service_lines.v_2.create(request: { quantity: "quantity", units: MJ, claim_id: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", procedure_code: "procedure_code" })
|
217
337
|
def create(request:, request_options: nil)
|
218
338
|
Async do
|
219
339
|
response = @request_client.conn.post do |req|
|
@@ -232,15 +352,137 @@ module CandidApiClient
|
|
232
352
|
end
|
233
353
|
end
|
234
354
|
|
355
|
+
# @param request [Hash] Request of type CandidApiClient::ServiceLines::V2::Types::UniversalServiceLineCreateStandalone, as a Hash
|
356
|
+
# * :diagnosis_id_zero (String)
|
357
|
+
# * :diagnosis_id_one (String)
|
358
|
+
# * :diagnosis_id_two (String)
|
359
|
+
# * :diagnosis_id_three (String)
|
360
|
+
# * :revenue_code (String)
|
361
|
+
# * :procedure_code (String)
|
362
|
+
# * :modifiers (Array<CandidApiClient::Commons::Types::ProcedureModifier>)
|
363
|
+
# * :charge_amount_cents (Integer)
|
364
|
+
# * :denial_reason (Hash)
|
365
|
+
# * :reason (CandidApiClient::ServiceLines::V2::Types::DenialReasonContent)
|
366
|
+
# * :place_of_service_code (CandidApiClient::Commons::Types::FacilityTypeCode)
|
367
|
+
# * :quantity (String)
|
368
|
+
# * :units (CandidApiClient::Commons::Types::ServiceLineUnits)
|
369
|
+
# * :claim_id (String)
|
370
|
+
# * :description (String)
|
371
|
+
# * :date_of_service (Date)
|
372
|
+
# * :end_date_of_service (Date)
|
373
|
+
# * :drug_identification (Hash)
|
374
|
+
# * :service_id_qualifier (CandidApiClient::ServiceLines::V2::Types::ServiceIdQualifier)
|
375
|
+
# * :national_drug_code (String)
|
376
|
+
# * :national_drug_unit_count (String)
|
377
|
+
# * :measurement_unit_code (CandidApiClient::ServiceLines::V2::Types::MeasurementUnitCode)
|
378
|
+
# * :link_sequence_number (String)
|
379
|
+
# * :pharmacy_prescription_number (String)
|
380
|
+
# * :conversion_formula (String)
|
381
|
+
# * :drug_description (String)
|
382
|
+
# * :ordering_provider (Hash)
|
383
|
+
# * :npi (String)
|
384
|
+
# * :taxonomy_code (String)
|
385
|
+
# * :address (Hash)
|
386
|
+
# * :zip_plus_four_code (String)
|
387
|
+
# * :address_1 (String)
|
388
|
+
# * :address_2 (String)
|
389
|
+
# * :city (String)
|
390
|
+
# * :state (CandidApiClient::Commons::Types::State)
|
391
|
+
# * :zip_code (String)
|
392
|
+
# * :first_name (String)
|
393
|
+
# * :last_name (String)
|
394
|
+
# * :organization_name (String)
|
395
|
+
# * :test_results (Array<CandidApiClient::ServiceLines::V2::Types::TestResult>)
|
396
|
+
# * :has_epsdt_indicator (Boolean)
|
397
|
+
# * :has_family_planning_indicator (Boolean)
|
398
|
+
# * :note (String)
|
399
|
+
# @param request_options [CandidApiClient::RequestOptions]
|
400
|
+
# @return [CandidApiClient::ServiceLines::V2::Types::ServiceLine]
|
401
|
+
# @example
|
402
|
+
# api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
|
403
|
+
# api.service_lines.v_2.create_universal(request: { quantity: "quantity", units: MJ, claim_id: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32" })
|
404
|
+
def create_universal(request:, request_options: nil)
|
405
|
+
Async do
|
406
|
+
response = @request_client.conn.post do |req|
|
407
|
+
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
408
|
+
req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
|
409
|
+
req.headers = {
|
410
|
+
**(req.headers || {}),
|
411
|
+
**@request_client.get_headers,
|
412
|
+
**(request_options&.additional_headers || {})
|
413
|
+
}.compact
|
414
|
+
req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
|
415
|
+
req.url "#{@request_client.get_url(environment: CandidApi,
|
416
|
+
request_options: request_options)}/api/service-lines/v2/universal"
|
417
|
+
end
|
418
|
+
CandidApiClient::ServiceLines::V2::Types::ServiceLine.from_json(json_object: response.body)
|
419
|
+
end
|
420
|
+
end
|
421
|
+
|
235
422
|
# @param service_line_id [String]
|
236
|
-
# @param request [Hash] Request of type CandidApiClient::ServiceLines::V2::Types::
|
423
|
+
# @param request [Hash] Request of type CandidApiClient::ServiceLines::V2::Types::UniversalServiceLineUpdate, as a Hash
|
424
|
+
# * :revenue_code (String)
|
425
|
+
# * :diagnosis_id_zero (String)
|
426
|
+
# * :diagnosis_id_one (String)
|
427
|
+
# * :diagnosis_id_two (String)
|
428
|
+
# * :diagnosis_id_three (String)
|
237
429
|
# * :edit_reason (String)
|
238
430
|
# * :modifiers (Array<CandidApiClient::Commons::Types::ProcedureModifier>)
|
239
431
|
# * :charge_amount_cents (Integer)
|
432
|
+
# * :drug_identification (Hash)
|
433
|
+
# * :service_id_qualifier (CandidApiClient::ServiceLines::V2::Types::ServiceIdQualifier)
|
434
|
+
# * :national_drug_code (String)
|
435
|
+
# * :national_drug_unit_count (String)
|
436
|
+
# * :measurement_unit_code (CandidApiClient::ServiceLines::V2::Types::MeasurementUnitCode)
|
437
|
+
# * :link_sequence_number (String)
|
438
|
+
# * :pharmacy_prescription_number (String)
|
439
|
+
# * :conversion_formula (String)
|
440
|
+
# * :drug_description (String)
|
441
|
+
# * :denial_reason (Hash)
|
442
|
+
# * :reason (CandidApiClient::ServiceLines::V2::Types::DenialReasonContent)
|
443
|
+
# * :place_of_service_code (CandidApiClient::Commons::Types::FacilityTypeCode)
|
444
|
+
# * :units (CandidApiClient::Commons::Types::ServiceLineUnits)
|
445
|
+
# * :procedure_code (String)
|
446
|
+
# * :quantity (String)
|
447
|
+
# * :description (String)
|
448
|
+
# * :date_of_service (Date)
|
449
|
+
# * :end_date_of_service (Date)
|
450
|
+
# * :test_results (Array<CandidApiClient::ServiceLines::V2::Types::TestResult>)
|
451
|
+
# * :has_epsdt_indicator (Boolean)
|
452
|
+
# * :has_family_planning_indicator (Boolean)
|
453
|
+
# * :note (String)
|
454
|
+
# @param request_options [CandidApiClient::RequestOptions]
|
455
|
+
# @return [CandidApiClient::ServiceLines::V2::Types::ServiceLine]
|
456
|
+
# @example
|
457
|
+
# api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
|
458
|
+
# api.service_lines.v_2.update_universal(service_line_id: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", request: { })
|
459
|
+
def update_universal(service_line_id:, request:, request_options: nil)
|
460
|
+
Async do
|
461
|
+
response = @request_client.conn.patch do |req|
|
462
|
+
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
463
|
+
req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
|
464
|
+
req.headers = {
|
465
|
+
**(req.headers || {}),
|
466
|
+
**@request_client.get_headers,
|
467
|
+
**(request_options&.additional_headers || {})
|
468
|
+
}.compact
|
469
|
+
req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
|
470
|
+
req.url "#{@request_client.get_url(environment: CandidApi,
|
471
|
+
request_options: request_options)}/api/service-lines/v2/#{service_line_id}/universal"
|
472
|
+
end
|
473
|
+
CandidApiClient::ServiceLines::V2::Types::ServiceLine.from_json(json_object: response.body)
|
474
|
+
end
|
475
|
+
end
|
476
|
+
|
477
|
+
# @param service_line_id [String]
|
478
|
+
# @param request [Hash] Request of type CandidApiClient::ServiceLines::V2::Types::ServiceLineUpdate, as a Hash
|
240
479
|
# * :diagnosis_id_zero (String)
|
241
480
|
# * :diagnosis_id_one (String)
|
242
481
|
# * :diagnosis_id_two (String)
|
243
482
|
# * :diagnosis_id_three (String)
|
483
|
+
# * :edit_reason (String)
|
484
|
+
# * :modifiers (Array<CandidApiClient::Commons::Types::ProcedureModifier>)
|
485
|
+
# * :charge_amount_cents (Integer)
|
244
486
|
# * :drug_identification (Hash)
|
245
487
|
# * :service_id_qualifier (CandidApiClient::ServiceLines::V2::Types::ServiceIdQualifier)
|
246
488
|
# * :national_drug_code (String)
|
@@ -69,7 +69,10 @@ module CandidApiClient
|
|
69
69
|
attr_reader :related_invoice_info
|
70
70
|
# @return [CandidApiClient::ServiceLines::V2::Types::ServiceLineDenialReason]
|
71
71
|
attr_reader :denial_reason
|
72
|
-
# @return [CandidApiClient::Commons::Types::FacilityTypeCode] 837p Loop2300, SV105.
|
72
|
+
# @return [CandidApiClient::Commons::Types::FacilityTypeCode] 837p Loop2300, SV105. This enum is not used or required in 837i claims. If your
|
73
|
+
# organization does not intend to submit claims with a different place of service
|
74
|
+
# at the service line level, this field should not be populated. 02 for
|
75
|
+
# telemedicine, 11 for in-person. Full list
|
73
76
|
# //www.cms.gov/Medicare/Coding/place-of-service-codes/Place_of_Service_Code_Set).
|
74
77
|
attr_reader :place_of_service_code
|
75
78
|
# @return [CandidApiClient::Commons::Types::FacilityTypeCode] 837p Loop2300, SV105. 02 for telemedicine, 11 for in-person. Full list
|
@@ -81,11 +84,16 @@ module CandidApiClient
|
|
81
84
|
attr_reader :procedure_code
|
82
85
|
# @return [CandidApiClient::EncounterProviders::V2::Types::EncounterProvider]
|
83
86
|
attr_reader :ordering_provider
|
84
|
-
# @return [String]
|
87
|
+
# @return [String] A 4 digit code that specifies facility department or type of service arrangement
|
88
|
+
# for institutional service line items (837i). This code is not required for
|
89
|
+
# professional claim billing (837p).
|
85
90
|
attr_reader :revenue_code
|
86
91
|
# @return [String] String representation of a Decimal that can be parsed by most libraries.
|
87
|
-
#
|
88
|
-
#
|
92
|
+
# For professional claims, a ServiceLine quantity cannot contain more than one
|
93
|
+
# digit of precision
|
94
|
+
# (Example: 1.1 is valid, 1.11 is not). For institutional claims, a ServiceLine
|
95
|
+
# quantity cannot contain
|
96
|
+
# more than three decimal digits of precision.
|
89
97
|
attr_reader :quantity
|
90
98
|
# @return [CandidApiClient::Commons::Types::ServiceLineUnits]
|
91
99
|
attr_reader :units
|
@@ -96,7 +104,7 @@ module CandidApiClient
|
|
96
104
|
# will be empty.
|
97
105
|
attr_reader :date_of_service_range
|
98
106
|
# @return [String] A free-form description to clarify the related data elements and their content.
|
99
|
-
# Maps to SV1-01, C003-07 on
|
107
|
+
# Maps to SV1-01, C003-07 on a 837-P and SV2-02, C003-07 on a 837-I form.
|
100
108
|
attr_reader :description
|
101
109
|
# @return [Date]
|
102
110
|
attr_reader :date_of_service
|
@@ -104,6 +112,7 @@ module CandidApiClient
|
|
104
112
|
attr_reader :end_date_of_service
|
105
113
|
# @return [Array<CandidApiClient::ServiceLines::V2::Types::TestResult>] Contains a list of test results. Test result types may map to MEA-02 on the
|
106
114
|
# 837-P (ex: Hemoglobin, Hematocrit).
|
115
|
+
# This is unused by 837-i and ignored for institutional service lines.
|
107
116
|
# No more than 5 MEA-02 test results may be submitted per service line.
|
108
117
|
attr_reader :test_results
|
109
118
|
# @return [Boolean] Maps to SV1-11 on the 837-P and Box 24H on the CMS-1500.
|
@@ -148,28 +157,37 @@ module CandidApiClient
|
|
148
157
|
# @param related_invoices [Array<CandidApiClient::Invoices::Types::Invoice>]
|
149
158
|
# @param related_invoice_info [Array<CandidApiClient::Invoices::V2::Types::InvoiceInfo>]
|
150
159
|
# @param denial_reason [CandidApiClient::ServiceLines::V2::Types::ServiceLineDenialReason]
|
151
|
-
# @param place_of_service_code [CandidApiClient::Commons::Types::FacilityTypeCode] 837p Loop2300, SV105.
|
160
|
+
# @param place_of_service_code [CandidApiClient::Commons::Types::FacilityTypeCode] 837p Loop2300, SV105. This enum is not used or required in 837i claims. If your
|
161
|
+
# organization does not intend to submit claims with a different place of service
|
162
|
+
# at the service line level, this field should not be populated. 02 for
|
163
|
+
# telemedicine, 11 for in-person. Full list
|
152
164
|
# //www.cms.gov/Medicare/Coding/place-of-service-codes/Place_of_Service_Code_Set).
|
153
165
|
# @param place_of_service_code_as_submitted [CandidApiClient::Commons::Types::FacilityTypeCode] 837p Loop2300, SV105. 02 for telemedicine, 11 for in-person. Full list
|
154
166
|
# //www.cms.gov/Medicare/Coding/place-of-service-codes/Place_of_Service_Code_Set).
|
155
167
|
# @param service_line_id [String]
|
156
168
|
# @param procedure_code [String]
|
157
169
|
# @param ordering_provider [CandidApiClient::EncounterProviders::V2::Types::EncounterProvider]
|
158
|
-
# @param revenue_code [String]
|
170
|
+
# @param revenue_code [String] A 4 digit code that specifies facility department or type of service arrangement
|
171
|
+
# for institutional service line items (837i). This code is not required for
|
172
|
+
# professional claim billing (837p).
|
159
173
|
# @param quantity [String] String representation of a Decimal that can be parsed by most libraries.
|
160
|
-
#
|
161
|
-
#
|
174
|
+
# For professional claims, a ServiceLine quantity cannot contain more than one
|
175
|
+
# digit of precision
|
176
|
+
# (Example: 1.1 is valid, 1.11 is not). For institutional claims, a ServiceLine
|
177
|
+
# quantity cannot contain
|
178
|
+
# more than three decimal digits of precision.
|
162
179
|
# @param units [CandidApiClient::Commons::Types::ServiceLineUnits]
|
163
180
|
# @param claim_id [String]
|
164
181
|
# @param date_of_service_range [CandidApiClient::Commons::Types::DateRangeOptionalEnd] A range of dates of service for this service line. If the service line is for a
|
165
182
|
# single date, the end date
|
166
183
|
# will be empty.
|
167
184
|
# @param description [String] A free-form description to clarify the related data elements and their content.
|
168
|
-
# Maps to SV1-01, C003-07 on
|
185
|
+
# Maps to SV1-01, C003-07 on a 837-P and SV2-02, C003-07 on a 837-I form.
|
169
186
|
# @param date_of_service [Date]
|
170
187
|
# @param end_date_of_service [Date]
|
171
188
|
# @param test_results [Array<CandidApiClient::ServiceLines::V2::Types::TestResult>] Contains a list of test results. Test result types may map to MEA-02 on the
|
172
189
|
# 837-P (ex: Hemoglobin, Hematocrit).
|
190
|
+
# This is unused by 837-i and ignored for institutional service lines.
|
173
191
|
# No more than 5 MEA-02 test results may be submitted per service line.
|
174
192
|
# @param has_epsdt_indicator [Boolean] Maps to SV1-11 on the 837-P and Box 24H on the CMS-1500.
|
175
193
|
# If the value is true, the box will be populated with "Y". Otherwise, the box
|
@@ -15,6 +15,10 @@ module CandidApiClient
|
|
15
15
|
module V2
|
16
16
|
module Types
|
17
17
|
class ServiceLineCreate
|
18
|
+
# @return [Array<Integer>] Indices (zero-indexed) of all the diagnoses this service line references
|
19
|
+
attr_reader :diagnosis_pointers
|
20
|
+
# @return [String]
|
21
|
+
attr_reader :procedure_code
|
18
22
|
# @return [Array<CandidApiClient::Commons::Types::ProcedureModifier>]
|
19
23
|
attr_reader :modifiers
|
20
24
|
# @return [Boolean] Maps to SV1-11 on the 837-P and Box 24H on the CMS-1500.
|
@@ -25,31 +29,32 @@ module CandidApiClient
|
|
25
29
|
# If the value is true, the box will be populated with "Y". Otherwise, the box
|
26
30
|
# will not be populated.
|
27
31
|
attr_reader :has_family_planning_indicator
|
28
|
-
# @return [String]
|
29
|
-
attr_reader :procedure_code
|
30
32
|
# @return [String] String representation of a Decimal that can be parsed by most libraries.
|
31
|
-
#
|
32
|
-
#
|
33
|
+
# For professional claims, a ServiceLine quantity cannot contain more than one
|
34
|
+
# digit of precision
|
35
|
+
# (Example: 1.1 is valid, 1.11 is not). For institutional claims, a ServiceLine
|
36
|
+
# quantity cannot contain
|
37
|
+
# more than three decimal digits of precision.
|
33
38
|
attr_reader :quantity
|
34
39
|
# @return [CandidApiClient::Commons::Types::ServiceLineUnits]
|
35
40
|
attr_reader :units
|
36
|
-
# @return [Integer] The total amount charged for this service line
|
37
|
-
#
|
38
|
-
#
|
39
|
-
#
|
40
|
-
#
|
41
|
+
# @return [Integer] The total amount charged for this service line, factoring in quantity. If
|
42
|
+
# procedure_code is updated and this is not, the system will attempt to set it
|
43
|
+
# based on chargemasters entries and the service line’s quantity. For example, if
|
44
|
+
# a single unit has an entry of 100 cents and 2 units were rendered, the
|
45
|
+
# charge_amount_cents will be set to 200, if there is no chargemaster entry, it
|
46
|
+
# will default to the amount set in this field.
|
41
47
|
attr_reader :charge_amount_cents
|
42
|
-
# @return [Array<Integer>] Indices (zero-indexed) of all the diagnoses this service line references
|
43
|
-
attr_reader :diagnosis_pointers
|
44
48
|
# @return [CandidApiClient::ServiceLines::V2::Types::DrugIdentification]
|
45
49
|
attr_reader :drug_identification
|
46
|
-
# @return [CandidApiClient::Commons::Types::FacilityTypeCode] 837p Loop2300, SV105.
|
47
|
-
#
|
48
|
-
#
|
50
|
+
# @return [CandidApiClient::Commons::Types::FacilityTypeCode] 837p Loop2300, SV105. This enum is not used or required for institutional
|
51
|
+
# claims. If your organization does not intend to submit claims with a different
|
52
|
+
# place of service at the service line level, this field should not be populated.
|
53
|
+
# 02 for telemedicine, 11 for in-person. Full list
|
49
54
|
# //www.cms.gov/Medicare/Coding/place-of-service-codes/Place_of_Service_Code_Set).
|
50
55
|
attr_reader :place_of_service_code
|
51
56
|
# @return [String] A free-form description to clarify the related data elements and their content.
|
52
|
-
# Maps to SV1-01, C003-07 on
|
57
|
+
# Maps to SV1-01, C003-07 on a 837-P and SV2-02, C003-07 on a 837-I form.
|
53
58
|
attr_reader :description
|
54
59
|
# @return [Date]
|
55
60
|
attr_reader :date_of_service
|
@@ -61,6 +66,7 @@ module CandidApiClient
|
|
61
66
|
attr_reader :ordering_provider
|
62
67
|
# @return [Array<CandidApiClient::ServiceLines::V2::Types::TestResult>] Contains a list of test results. Test result types may map to MEA-02 on the
|
63
68
|
# 837-P (ex: Hemoglobin, Hematocrit).
|
69
|
+
# This is unused by 837-i and ignored for institutional service lines.
|
64
70
|
# No more than 5 MEA-02 test results may be submitted per service line.
|
65
71
|
attr_reader :test_results
|
66
72
|
# @return [String] Maps to NTE02 loop 2400 on the EDI 837.
|
@@ -73,6 +79,8 @@ module CandidApiClient
|
|
73
79
|
|
74
80
|
OMIT = Object.new
|
75
81
|
|
82
|
+
# @param diagnosis_pointers [Array<Integer>] Indices (zero-indexed) of all the diagnoses this service line references
|
83
|
+
# @param procedure_code [String]
|
76
84
|
# @param modifiers [Array<CandidApiClient::Commons::Types::ProcedureModifier>]
|
77
85
|
# @param has_epsdt_indicator [Boolean] Maps to SV1-11 on the 837-P and Box 24H on the CMS-1500.
|
78
86
|
# If the value is true, the box will be populated with "Y". Otherwise, the box
|
@@ -80,24 +88,27 @@ module CandidApiClient
|
|
80
88
|
# @param has_family_planning_indicator [Boolean] Maps to SV1-12 on the 837-P and Box 24I on the CMS-1500.
|
81
89
|
# If the value is true, the box will be populated with "Y". Otherwise, the box
|
82
90
|
# will not be populated.
|
83
|
-
# @param procedure_code [String]
|
84
91
|
# @param quantity [String] String representation of a Decimal that can be parsed by most libraries.
|
85
|
-
#
|
86
|
-
#
|
92
|
+
# For professional claims, a ServiceLine quantity cannot contain more than one
|
93
|
+
# digit of precision
|
94
|
+
# (Example: 1.1 is valid, 1.11 is not). For institutional claims, a ServiceLine
|
95
|
+
# quantity cannot contain
|
96
|
+
# more than three decimal digits of precision.
|
87
97
|
# @param units [CandidApiClient::Commons::Types::ServiceLineUnits]
|
88
|
-
# @param charge_amount_cents [Integer] The total amount charged for this service line
|
89
|
-
#
|
90
|
-
#
|
91
|
-
#
|
92
|
-
#
|
93
|
-
#
|
98
|
+
# @param charge_amount_cents [Integer] The total amount charged for this service line, factoring in quantity. If
|
99
|
+
# procedure_code is updated and this is not, the system will attempt to set it
|
100
|
+
# based on chargemasters entries and the service line’s quantity. For example, if
|
101
|
+
# a single unit has an entry of 100 cents and 2 units were rendered, the
|
102
|
+
# charge_amount_cents will be set to 200, if there is no chargemaster entry, it
|
103
|
+
# will default to the amount set in this field.
|
94
104
|
# @param drug_identification [CandidApiClient::ServiceLines::V2::Types::DrugIdentification]
|
95
|
-
# @param place_of_service_code [CandidApiClient::Commons::Types::FacilityTypeCode] 837p Loop2300, SV105.
|
96
|
-
#
|
97
|
-
#
|
105
|
+
# @param place_of_service_code [CandidApiClient::Commons::Types::FacilityTypeCode] 837p Loop2300, SV105. This enum is not used or required for institutional
|
106
|
+
# claims. If your organization does not intend to submit claims with a different
|
107
|
+
# place of service at the service line level, this field should not be populated.
|
108
|
+
# 02 for telemedicine, 11 for in-person. Full list
|
98
109
|
# //www.cms.gov/Medicare/Coding/place-of-service-codes/Place_of_Service_Code_Set).
|
99
110
|
# @param description [String] A free-form description to clarify the related data elements and their content.
|
100
|
-
# Maps to SV1-01, C003-07 on
|
111
|
+
# Maps to SV1-01, C003-07 on a 837-P and SV2-02, C003-07 on a 837-I form.
|
101
112
|
# @param date_of_service [Date]
|
102
113
|
# @param end_date_of_service [Date]
|
103
114
|
# @param ordering_provider [CandidApiClient::EncounterProviders::V2::Types::OrderingProvider] Required when the service or supply was ordered by a provider who is different
|
@@ -105,20 +116,21 @@ module CandidApiClient
|
|
105
116
|
# If not required by this implementation guide, do not send.
|
106
117
|
# @param test_results [Array<CandidApiClient::ServiceLines::V2::Types::TestResult>] Contains a list of test results. Test result types may map to MEA-02 on the
|
107
118
|
# 837-P (ex: Hemoglobin, Hematocrit).
|
119
|
+
# This is unused by 837-i and ignored for institutional service lines.
|
108
120
|
# No more than 5 MEA-02 test results may be submitted per service line.
|
109
121
|
# @param note [String] Maps to NTE02 loop 2400 on the EDI 837.
|
110
122
|
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
111
123
|
# @return [CandidApiClient::ServiceLines::V2::Types::ServiceLineCreate]
|
112
|
-
def initialize(procedure_code:, quantity:, units:,
|
113
|
-
|
124
|
+
def initialize(diagnosis_pointers:, procedure_code:, quantity:, units:, modifiers: OMIT, has_epsdt_indicator: OMIT,
|
125
|
+
has_family_planning_indicator: OMIT, charge_amount_cents: OMIT, drug_identification: OMIT, place_of_service_code: OMIT, description: OMIT, date_of_service: OMIT, end_date_of_service: OMIT, ordering_provider: OMIT, test_results: OMIT, note: OMIT, additional_properties: nil)
|
126
|
+
@diagnosis_pointers = diagnosis_pointers
|
127
|
+
@procedure_code = procedure_code
|
114
128
|
@modifiers = modifiers if modifiers != OMIT
|
115
129
|
@has_epsdt_indicator = has_epsdt_indicator if has_epsdt_indicator != OMIT
|
116
130
|
@has_family_planning_indicator = has_family_planning_indicator if has_family_planning_indicator != OMIT
|
117
|
-
@procedure_code = procedure_code
|
118
131
|
@quantity = quantity
|
119
132
|
@units = units
|
120
133
|
@charge_amount_cents = charge_amount_cents if charge_amount_cents != OMIT
|
121
|
-
@diagnosis_pointers = diagnosis_pointers
|
122
134
|
@drug_identification = drug_identification if drug_identification != OMIT
|
123
135
|
@place_of_service_code = place_of_service_code if place_of_service_code != OMIT
|
124
136
|
@description = description if description != OMIT
|
@@ -129,14 +141,14 @@ module CandidApiClient
|
|
129
141
|
@note = note if note != OMIT
|
130
142
|
@additional_properties = additional_properties
|
131
143
|
@_field_set = {
|
144
|
+
"diagnosis_pointers": diagnosis_pointers,
|
145
|
+
"procedure_code": procedure_code,
|
132
146
|
"modifiers": modifiers,
|
133
147
|
"has_epsdt_indicator": has_epsdt_indicator,
|
134
148
|
"has_family_planning_indicator": has_family_planning_indicator,
|
135
|
-
"procedure_code": procedure_code,
|
136
149
|
"quantity": quantity,
|
137
150
|
"units": units,
|
138
151
|
"charge_amount_cents": charge_amount_cents,
|
139
|
-
"diagnosis_pointers": diagnosis_pointers,
|
140
152
|
"drug_identification": drug_identification,
|
141
153
|
"place_of_service_code": place_of_service_code,
|
142
154
|
"description": description,
|
@@ -157,14 +169,14 @@ module CandidApiClient
|
|
157
169
|
def self.from_json(json_object:)
|
158
170
|
struct = JSON.parse(json_object, object_class: OpenStruct)
|
159
171
|
parsed_json = JSON.parse(json_object)
|
172
|
+
diagnosis_pointers = struct["diagnosis_pointers"]
|
173
|
+
procedure_code = struct["procedure_code"]
|
160
174
|
modifiers = struct["modifiers"]
|
161
175
|
has_epsdt_indicator = struct["has_epsdt_indicator"]
|
162
176
|
has_family_planning_indicator = struct["has_family_planning_indicator"]
|
163
|
-
procedure_code = struct["procedure_code"]
|
164
177
|
quantity = struct["quantity"]
|
165
178
|
units = struct["units"]
|
166
179
|
charge_amount_cents = struct["charge_amount_cents"]
|
167
|
-
diagnosis_pointers = struct["diagnosis_pointers"]
|
168
180
|
if parsed_json["drug_identification"].nil?
|
169
181
|
drug_identification = nil
|
170
182
|
else
|
@@ -189,14 +201,14 @@ module CandidApiClient
|
|
189
201
|
end
|
190
202
|
note = struct["note"]
|
191
203
|
new(
|
204
|
+
diagnosis_pointers: diagnosis_pointers,
|
205
|
+
procedure_code: procedure_code,
|
192
206
|
modifiers: modifiers,
|
193
207
|
has_epsdt_indicator: has_epsdt_indicator,
|
194
208
|
has_family_planning_indicator: has_family_planning_indicator,
|
195
|
-
procedure_code: procedure_code,
|
196
209
|
quantity: quantity,
|
197
210
|
units: units,
|
198
211
|
charge_amount_cents: charge_amount_cents,
|
199
|
-
diagnosis_pointers: diagnosis_pointers,
|
200
212
|
drug_identification: drug_identification,
|
201
213
|
place_of_service_code: place_of_service_code,
|
202
214
|
description: description,
|
@@ -223,14 +235,14 @@ module CandidApiClient
|
|
223
235
|
# @param obj [Object]
|
224
236
|
# @return [Void]
|
225
237
|
def self.validate_raw(obj:)
|
238
|
+
obj.diagnosis_pointers.is_a?(Array) != false || raise("Passed value for field obj.diagnosis_pointers is not the expected type, validation failed.")
|
239
|
+
obj.procedure_code.is_a?(String) != false || raise("Passed value for field obj.procedure_code is not the expected type, validation failed.")
|
226
240
|
obj.modifiers&.is_a?(Array) != false || raise("Passed value for field obj.modifiers is not the expected type, validation failed.")
|
227
241
|
obj.has_epsdt_indicator&.is_a?(Boolean) != false || raise("Passed value for field obj.has_epsdt_indicator is not the expected type, validation failed.")
|
228
242
|
obj.has_family_planning_indicator&.is_a?(Boolean) != false || raise("Passed value for field obj.has_family_planning_indicator is not the expected type, validation failed.")
|
229
|
-
obj.procedure_code.is_a?(String) != false || raise("Passed value for field obj.procedure_code is not the expected type, validation failed.")
|
230
243
|
obj.quantity.is_a?(String) != false || raise("Passed value for field obj.quantity is not the expected type, validation failed.")
|
231
244
|
obj.units.is_a?(CandidApiClient::Commons::Types::ServiceLineUnits) != false || raise("Passed value for field obj.units is not the expected type, validation failed.")
|
232
245
|
obj.charge_amount_cents&.is_a?(Integer) != false || raise("Passed value for field obj.charge_amount_cents is not the expected type, validation failed.")
|
233
|
-
obj.diagnosis_pointers.is_a?(Array) != false || raise("Passed value for field obj.diagnosis_pointers is not the expected type, validation failed.")
|
234
246
|
obj.drug_identification.nil? || CandidApiClient::ServiceLines::V2::Types::DrugIdentification.validate_raw(obj: obj.drug_identification)
|
235
247
|
obj.place_of_service_code&.is_a?(CandidApiClient::Commons::Types::FacilityTypeCode) != false || raise("Passed value for field obj.place_of_service_code is not the expected type, validation failed.")
|
236
248
|
obj.description&.is_a?(String) != false || raise("Passed value for field obj.description is not the expected type, validation failed.")
|