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
@@ -28,28 +28,33 @@ module CandidApiClient
|
|
28
28
|
# @return [String]
|
29
29
|
attr_reader :procedure_code
|
30
30
|
# @return [String] String representation of a Decimal that can be parsed by most libraries.
|
31
|
-
#
|
32
|
-
#
|
31
|
+
# For professional claims, a ServiceLine quantity cannot contain more than one
|
32
|
+
# digit of precision
|
33
|
+
# (Example: 1.1 is valid, 1.11 is not). For institutional claims, a ServiceLine
|
34
|
+
# quantity cannot contain
|
35
|
+
# more than three decimal digits of precision.
|
33
36
|
attr_reader :quantity
|
34
37
|
# @return [CandidApiClient::Commons::Types::ServiceLineUnits]
|
35
38
|
attr_reader :units
|
36
|
-
# @return [Integer] The total amount charged for this service line
|
37
|
-
#
|
38
|
-
#
|
39
|
-
#
|
40
|
-
#
|
39
|
+
# @return [Integer] The total amount charged for this service line, factoring in quantity. If
|
40
|
+
# procedure_code is updated and this is not, the system will attempt to set it
|
41
|
+
# based on chargemasters entries and the service line’s quantity. For example, if
|
42
|
+
# a single unit has an entry of 100 cents and 2 units were rendered, the
|
43
|
+
# charge_amount_cents will be set to 200, if there is no chargemaster entry, it
|
44
|
+
# will default to the amount set in this field.
|
41
45
|
attr_reader :charge_amount_cents
|
42
46
|
# @return [Array<Integer>] Indices (zero-indexed) of all the diagnoses this service line references
|
43
47
|
attr_reader :diagnosis_pointers
|
44
48
|
# @return [CandidApiClient::ServiceLines::V2::Types::DrugIdentificationOptional]
|
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 in 837i claims. If your
|
51
|
+
# organization does not intend to submit claims with a different place of service
|
52
|
+
# at the service line level, this field should not be populated. 02 for
|
53
|
+
# 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,10 +66,15 @@ module CandidApiClient
|
|
61
66
|
attr_reader :ordering_provider
|
62
67
|
# @return [Array<CandidApiClient::ServiceLines::V2::Types::TestResultOptional>] 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.
|
67
73
|
attr_reader :note
|
74
|
+
# @return [String] A 4 digit code that specifies facility department or type of service arrangement
|
75
|
+
# for institutional service line items (837i). This code is not required for
|
76
|
+
# professional claim billing (837p).
|
77
|
+
attr_reader :revenue_code
|
68
78
|
# @return [OpenStruct] Additional properties unmapped to the current class definition
|
69
79
|
attr_reader :additional_properties
|
70
80
|
# @return [Object]
|
@@ -82,22 +92,27 @@ module CandidApiClient
|
|
82
92
|
# will not be populated.
|
83
93
|
# @param procedure_code [String]
|
84
94
|
# @param quantity [String] String representation of a Decimal that can be parsed by most libraries.
|
85
|
-
#
|
86
|
-
#
|
95
|
+
# For professional claims, a ServiceLine quantity cannot contain more than one
|
96
|
+
# digit of precision
|
97
|
+
# (Example: 1.1 is valid, 1.11 is not). For institutional claims, a ServiceLine
|
98
|
+
# quantity cannot contain
|
99
|
+
# more than three decimal digits of precision.
|
87
100
|
# @param units [CandidApiClient::Commons::Types::ServiceLineUnits]
|
88
|
-
# @param charge_amount_cents [Integer] The total amount charged for this service line
|
89
|
-
#
|
90
|
-
#
|
91
|
-
#
|
92
|
-
#
|
101
|
+
# @param charge_amount_cents [Integer] The total amount charged for this service line, factoring in quantity. If
|
102
|
+
# procedure_code is updated and this is not, the system will attempt to set it
|
103
|
+
# based on chargemasters entries and the service line’s quantity. For example, if
|
104
|
+
# a single unit has an entry of 100 cents and 2 units were rendered, the
|
105
|
+
# charge_amount_cents will be set to 200, if there is no chargemaster entry, it
|
106
|
+
# will default to the amount set in this field.
|
93
107
|
# @param diagnosis_pointers [Array<Integer>] Indices (zero-indexed) of all the diagnoses this service line references
|
94
108
|
# @param drug_identification [CandidApiClient::ServiceLines::V2::Types::DrugIdentificationOptional]
|
95
|
-
# @param place_of_service_code [CandidApiClient::Commons::Types::FacilityTypeCode] 837p Loop2300, SV105.
|
96
|
-
#
|
97
|
-
#
|
109
|
+
# @param place_of_service_code [CandidApiClient::Commons::Types::FacilityTypeCode] 837p Loop2300, SV105. This enum is not used or required in 837i claims. If your
|
110
|
+
# organization does not intend to submit claims with a different place of service
|
111
|
+
# at the service line level, this field should not be populated. 02 for
|
112
|
+
# telemedicine, 11 for in-person. Full list
|
98
113
|
# //www.cms.gov/Medicare/Coding/place-of-service-codes/Place_of_Service_Code_Set).
|
99
114
|
# @param description [String] A free-form description to clarify the related data elements and their content.
|
100
|
-
# Maps to SV1-01, C003-07 on
|
115
|
+
# Maps to SV1-01, C003-07 on a 837-P and SV2-02, C003-07 on a 837-I form.
|
101
116
|
# @param date_of_service [Date]
|
102
117
|
# @param end_date_of_service [Date]
|
103
118
|
# @param ordering_provider [CandidApiClient::EncounterProviders::V2::Types::OrderingProviderOptional] Required when the service or supply was ordered by a provider who is different
|
@@ -105,12 +120,16 @@ module CandidApiClient
|
|
105
120
|
# If not required by this implementation guide, do not send.
|
106
121
|
# @param test_results [Array<CandidApiClient::ServiceLines::V2::Types::TestResultOptional>] Contains a list of test results. Test result types may map to MEA-02 on the
|
107
122
|
# 837-P (ex: Hemoglobin, Hematocrit).
|
123
|
+
# This is unused by 837-i and ignored for institutional service lines.
|
108
124
|
# No more than 5 MEA-02 test results may be submitted per service line.
|
109
125
|
# @param note [String] Maps to NTE02 loop 2400 on the EDI 837.
|
126
|
+
# @param revenue_code [String] A 4 digit code that specifies facility department or type of service arrangement
|
127
|
+
# for institutional service line items (837i). This code is not required for
|
128
|
+
# professional claim billing (837p).
|
110
129
|
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
111
130
|
# @return [CandidApiClient::ServiceLines::V2::Types::ServiceLineCreateOptional]
|
112
131
|
def initialize(modifiers: OMIT, has_epsdt_indicator: OMIT, has_family_planning_indicator: OMIT,
|
113
|
-
procedure_code: OMIT, quantity: OMIT, units: OMIT, charge_amount_cents: OMIT, diagnosis_pointers: 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)
|
132
|
+
procedure_code: OMIT, quantity: OMIT, units: OMIT, charge_amount_cents: OMIT, diagnosis_pointers: 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, revenue_code: OMIT, additional_properties: nil)
|
114
133
|
@modifiers = modifiers if modifiers != OMIT
|
115
134
|
@has_epsdt_indicator = has_epsdt_indicator if has_epsdt_indicator != OMIT
|
116
135
|
@has_family_planning_indicator = has_family_planning_indicator if has_family_planning_indicator != OMIT
|
@@ -127,6 +146,7 @@ module CandidApiClient
|
|
127
146
|
@ordering_provider = ordering_provider if ordering_provider != OMIT
|
128
147
|
@test_results = test_results if test_results != OMIT
|
129
148
|
@note = note if note != OMIT
|
149
|
+
@revenue_code = revenue_code if revenue_code != OMIT
|
130
150
|
@additional_properties = additional_properties
|
131
151
|
@_field_set = {
|
132
152
|
"modifiers": modifiers,
|
@@ -144,7 +164,8 @@ module CandidApiClient
|
|
144
164
|
"end_date_of_service": end_date_of_service,
|
145
165
|
"ordering_provider": ordering_provider,
|
146
166
|
"test_results": test_results,
|
147
|
-
"note": note
|
167
|
+
"note": note,
|
168
|
+
"revenue_code": revenue_code
|
148
169
|
}.reject do |_k, v|
|
149
170
|
v == OMIT
|
150
171
|
end
|
@@ -188,6 +209,7 @@ module CandidApiClient
|
|
188
209
|
CandidApiClient::ServiceLines::V2::Types::TestResultOptional.from_json(json_object: item)
|
189
210
|
end
|
190
211
|
note = struct["note"]
|
212
|
+
revenue_code = struct["revenue_code"]
|
191
213
|
new(
|
192
214
|
modifiers: modifiers,
|
193
215
|
has_epsdt_indicator: has_epsdt_indicator,
|
@@ -205,6 +227,7 @@ module CandidApiClient
|
|
205
227
|
ordering_provider: ordering_provider,
|
206
228
|
test_results: test_results,
|
207
229
|
note: note,
|
230
|
+
revenue_code: revenue_code,
|
208
231
|
additional_properties: struct
|
209
232
|
)
|
210
233
|
end
|
@@ -239,6 +262,7 @@ module CandidApiClient
|
|
239
262
|
obj.ordering_provider.nil? || CandidApiClient::EncounterProviders::V2::Types::OrderingProviderOptional.validate_raw(obj: obj.ordering_provider)
|
240
263
|
obj.test_results&.is_a?(Array) != false || raise("Passed value for field obj.test_results is not the expected type, validation failed.")
|
241
264
|
obj.note&.is_a?(String) != false || raise("Passed value for field obj.note is not the expected type, validation failed.")
|
265
|
+
obj.revenue_code&.is_a?(String) != false || raise("Passed value for field obj.revenue_code is not the expected type, validation failed.")
|
242
266
|
end
|
243
267
|
end
|
244
268
|
end
|
@@ -16,14 +16,6 @@ module CandidApiClient
|
|
16
16
|
module V2
|
17
17
|
module Types
|
18
18
|
class ServiceLineCreateStandalone
|
19
|
-
# @return [Array<CandidApiClient::Commons::Types::ProcedureModifier>]
|
20
|
-
attr_reader :modifiers
|
21
|
-
# @return [Integer] The total amount charged for this service line, factoring in quantity. If left
|
22
|
-
# unfilled, the system will attempt to set it based on
|
23
|
-
# chargemasters entries and the service line's quantity. For example, if a single
|
24
|
-
# unit has an entry of 100 cents and 2 units were rendered,
|
25
|
-
# the `charge_amount_cents` will be set to 200, if this field is unfilled.
|
26
|
-
attr_reader :charge_amount_cents
|
27
19
|
# @return [String]
|
28
20
|
attr_reader :diagnosis_id_zero
|
29
21
|
# @return [String]
|
@@ -32,25 +24,38 @@ module CandidApiClient
|
|
32
24
|
attr_reader :diagnosis_id_two
|
33
25
|
# @return [String]
|
34
26
|
attr_reader :diagnosis_id_three
|
27
|
+
# @return [String]
|
28
|
+
attr_reader :procedure_code
|
29
|
+
# @return [Array<CandidApiClient::Commons::Types::ProcedureModifier>]
|
30
|
+
attr_reader :modifiers
|
31
|
+
# @return [Integer] The total amount charged for this service line, factoring in quantity. The
|
32
|
+
# system will attempt to set it based on the chargemaster configuration and the
|
33
|
+
# service line’s quantity. For example, if a single unit has an entry of 100 cents
|
34
|
+
# and 2 units were rendered, the charge_amount_cents will be set to 200. If there
|
35
|
+
# is no chargemaster entry, the system will default to the amount set via this
|
36
|
+
# field.
|
37
|
+
attr_reader :charge_amount_cents
|
35
38
|
# @return [CandidApiClient::ServiceLines::V2::Types::ServiceLineDenialReason]
|
36
39
|
attr_reader :denial_reason
|
37
|
-
# @return [CandidApiClient::Commons::Types::FacilityTypeCode] 837p Loop2300, SV105.
|
38
|
-
#
|
39
|
-
#
|
40
|
+
# @return [CandidApiClient::Commons::Types::FacilityTypeCode] 837p Loop2300, SV105. This enum is not used or required in 837i claims. If your
|
41
|
+
# organization does not intend to submit claims with a different place of service
|
42
|
+
# at the service line level, this field should not be populated. 02 for
|
43
|
+
# telemedicine, 11 for in-person. Full list
|
40
44
|
# //www.cms.gov/Medicare/Coding/place-of-service-codes/Place_of_Service_Code_Set).
|
41
45
|
attr_reader :place_of_service_code
|
42
|
-
# @return [String]
|
43
|
-
attr_reader :procedure_code
|
44
46
|
# @return [String] String representation of a Decimal that can be parsed by most libraries.
|
45
|
-
#
|
46
|
-
#
|
47
|
+
# For professional claims, a ServiceLine quantity cannot contain more than one
|
48
|
+
# digit of precision
|
49
|
+
# (Example: 1.1 is valid, 1.11 is not). For institutional claims, a ServiceLine
|
50
|
+
# quantity cannot contain
|
51
|
+
# more than three decimal digits of precision.
|
47
52
|
attr_reader :quantity
|
48
53
|
# @return [CandidApiClient::Commons::Types::ServiceLineUnits]
|
49
54
|
attr_reader :units
|
50
55
|
# @return [String]
|
51
56
|
attr_reader :claim_id
|
52
57
|
# @return [String] A free-form description to clarify the related data elements and their content.
|
53
|
-
# Maps to SV1-01, C003-07 on
|
58
|
+
# Maps to SV1-01, C003-07 on a 837-P and SV2-02, C003-07 on a 837-I form.
|
54
59
|
attr_reader :description
|
55
60
|
# @return [Date]
|
56
61
|
attr_reader :date_of_service
|
@@ -64,6 +69,7 @@ module CandidApiClient
|
|
64
69
|
attr_reader :ordering_provider
|
65
70
|
# @return [Array<CandidApiClient::ServiceLines::V2::Types::TestResult>] Contains a list of test results. Test result types may map to MEA-02 on the
|
66
71
|
# 837-P (ex: Hemoglobin, Hematocrit).
|
72
|
+
# This is unused by 837-i and ignored for institutional service lines.
|
67
73
|
# No more than 5 MEA-02 test results may be submitted per service line.
|
68
74
|
attr_reader :test_results
|
69
75
|
# @return [Boolean] Maps to SV1-11 on the 837-P and Box 24H on the CMS-1500.
|
@@ -84,29 +90,34 @@ module CandidApiClient
|
|
84
90
|
|
85
91
|
OMIT = Object.new
|
86
92
|
|
87
|
-
# @param modifiers [Array<CandidApiClient::Commons::Types::ProcedureModifier>]
|
88
|
-
# @param charge_amount_cents [Integer] The total amount charged for this service line, factoring in quantity. If left
|
89
|
-
# unfilled, the system will attempt to set it based on
|
90
|
-
# chargemasters entries and the service line's quantity. For example, if a single
|
91
|
-
# unit has an entry of 100 cents and 2 units were rendered,
|
92
|
-
# the `charge_amount_cents` will be set to 200, if this field is unfilled.
|
93
93
|
# @param diagnosis_id_zero [String]
|
94
94
|
# @param diagnosis_id_one [String]
|
95
95
|
# @param diagnosis_id_two [String]
|
96
96
|
# @param diagnosis_id_three [String]
|
97
|
+
# @param procedure_code [String]
|
98
|
+
# @param modifiers [Array<CandidApiClient::Commons::Types::ProcedureModifier>]
|
99
|
+
# @param charge_amount_cents [Integer] The total amount charged for this service line, factoring in quantity. The
|
100
|
+
# system will attempt to set it based on the chargemaster configuration and the
|
101
|
+
# service line’s quantity. For example, if a single unit has an entry of 100 cents
|
102
|
+
# and 2 units were rendered, the charge_amount_cents will be set to 200. If there
|
103
|
+
# is no chargemaster entry, the system will default to the amount set via this
|
104
|
+
# field.
|
97
105
|
# @param denial_reason [CandidApiClient::ServiceLines::V2::Types::ServiceLineDenialReason]
|
98
|
-
# @param place_of_service_code [CandidApiClient::Commons::Types::FacilityTypeCode] 837p Loop2300, SV105.
|
99
|
-
#
|
100
|
-
#
|
106
|
+
# @param place_of_service_code [CandidApiClient::Commons::Types::FacilityTypeCode] 837p Loop2300, SV105. This enum is not used or required in 837i claims. If your
|
107
|
+
# organization does not intend to submit claims with a different place of service
|
108
|
+
# at the service line level, this field should not be populated. 02 for
|
109
|
+
# telemedicine, 11 for in-person. Full list
|
101
110
|
# //www.cms.gov/Medicare/Coding/place-of-service-codes/Place_of_Service_Code_Set).
|
102
|
-
# @param procedure_code [String]
|
103
111
|
# @param quantity [String] String representation of a Decimal that can be parsed by most libraries.
|
104
|
-
#
|
105
|
-
#
|
112
|
+
# For professional claims, a ServiceLine quantity cannot contain more than one
|
113
|
+
# digit of precision
|
114
|
+
# (Example: 1.1 is valid, 1.11 is not). For institutional claims, a ServiceLine
|
115
|
+
# quantity cannot contain
|
116
|
+
# more than three decimal digits of precision.
|
106
117
|
# @param units [CandidApiClient::Commons::Types::ServiceLineUnits]
|
107
118
|
# @param claim_id [String]
|
108
119
|
# @param description [String] A free-form description to clarify the related data elements and their content.
|
109
|
-
# Maps to SV1-01, C003-07 on
|
120
|
+
# Maps to SV1-01, C003-07 on a 837-P and SV2-02, C003-07 on a 837-I form.
|
110
121
|
# @param date_of_service [Date]
|
111
122
|
# @param end_date_of_service [Date]
|
112
123
|
# @param drug_identification [CandidApiClient::ServiceLines::V2::Types::DrugIdentification]
|
@@ -115,6 +126,7 @@ module CandidApiClient
|
|
115
126
|
# If not required by this implementation guide, do not send.
|
116
127
|
# @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
|
117
128
|
# 837-P (ex: Hemoglobin, Hematocrit).
|
129
|
+
# This is unused by 837-i and ignored for institutional service lines.
|
118
130
|
# No more than 5 MEA-02 test results may be submitted per service line.
|
119
131
|
# @param has_epsdt_indicator [Boolean] Maps to SV1-11 on the 837-P and Box 24H on the CMS-1500.
|
120
132
|
# If the value is true, the box will be populated with "Y". Otherwise, the box
|
@@ -125,17 +137,17 @@ module CandidApiClient
|
|
125
137
|
# @param note [String] Maps to NTE02 loop 2400 on the EDI 837.
|
126
138
|
# @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
|
127
139
|
# @return [CandidApiClient::ServiceLines::V2::Types::ServiceLineCreateStandalone]
|
128
|
-
def initialize(procedure_code:, quantity:, units:, claim_id:,
|
129
|
-
|
130
|
-
@modifiers = modifiers if modifiers != OMIT
|
131
|
-
@charge_amount_cents = charge_amount_cents if charge_amount_cents != OMIT
|
140
|
+
def initialize(procedure_code:, quantity:, units:, claim_id:, diagnosis_id_zero: OMIT, diagnosis_id_one: OMIT, diagnosis_id_two: OMIT,
|
141
|
+
diagnosis_id_three: OMIT, modifiers: OMIT, charge_amount_cents: OMIT, denial_reason: OMIT, place_of_service_code: OMIT, description: OMIT, date_of_service: OMIT, end_date_of_service: OMIT, drug_identification: OMIT, ordering_provider: OMIT, test_results: OMIT, has_epsdt_indicator: OMIT, has_family_planning_indicator: OMIT, note: OMIT, additional_properties: nil)
|
132
142
|
@diagnosis_id_zero = diagnosis_id_zero if diagnosis_id_zero != OMIT
|
133
143
|
@diagnosis_id_one = diagnosis_id_one if diagnosis_id_one != OMIT
|
134
144
|
@diagnosis_id_two = diagnosis_id_two if diagnosis_id_two != OMIT
|
135
145
|
@diagnosis_id_three = diagnosis_id_three if diagnosis_id_three != OMIT
|
146
|
+
@procedure_code = procedure_code
|
147
|
+
@modifiers = modifiers if modifiers != OMIT
|
148
|
+
@charge_amount_cents = charge_amount_cents if charge_amount_cents != OMIT
|
136
149
|
@denial_reason = denial_reason if denial_reason != OMIT
|
137
150
|
@place_of_service_code = place_of_service_code if place_of_service_code != OMIT
|
138
|
-
@procedure_code = procedure_code
|
139
151
|
@quantity = quantity
|
140
152
|
@units = units
|
141
153
|
@claim_id = claim_id
|
@@ -150,15 +162,15 @@ module CandidApiClient
|
|
150
162
|
@note = note if note != OMIT
|
151
163
|
@additional_properties = additional_properties
|
152
164
|
@_field_set = {
|
153
|
-
"modifiers": modifiers,
|
154
|
-
"charge_amount_cents": charge_amount_cents,
|
155
165
|
"diagnosis_id_zero": diagnosis_id_zero,
|
156
166
|
"diagnosis_id_one": diagnosis_id_one,
|
157
167
|
"diagnosis_id_two": diagnosis_id_two,
|
158
168
|
"diagnosis_id_three": diagnosis_id_three,
|
169
|
+
"procedure_code": procedure_code,
|
170
|
+
"modifiers": modifiers,
|
171
|
+
"charge_amount_cents": charge_amount_cents,
|
159
172
|
"denial_reason": denial_reason,
|
160
173
|
"place_of_service_code": place_of_service_code,
|
161
|
-
"procedure_code": procedure_code,
|
162
174
|
"quantity": quantity,
|
163
175
|
"units": units,
|
164
176
|
"claim_id": claim_id,
|
@@ -183,12 +195,13 @@ module CandidApiClient
|
|
183
195
|
def self.from_json(json_object:)
|
184
196
|
struct = JSON.parse(json_object, object_class: OpenStruct)
|
185
197
|
parsed_json = JSON.parse(json_object)
|
186
|
-
modifiers = struct["modifiers"]
|
187
|
-
charge_amount_cents = struct["charge_amount_cents"]
|
188
198
|
diagnosis_id_zero = struct["diagnosis_id_zero"]
|
189
199
|
diagnosis_id_one = struct["diagnosis_id_one"]
|
190
200
|
diagnosis_id_two = struct["diagnosis_id_two"]
|
191
201
|
diagnosis_id_three = struct["diagnosis_id_three"]
|
202
|
+
procedure_code = struct["procedure_code"]
|
203
|
+
modifiers = struct["modifiers"]
|
204
|
+
charge_amount_cents = struct["charge_amount_cents"]
|
192
205
|
if parsed_json["denial_reason"].nil?
|
193
206
|
denial_reason = nil
|
194
207
|
else
|
@@ -196,7 +209,6 @@ module CandidApiClient
|
|
196
209
|
denial_reason = CandidApiClient::ServiceLines::V2::Types::ServiceLineDenialReason.from_json(json_object: denial_reason)
|
197
210
|
end
|
198
211
|
place_of_service_code = struct["place_of_service_code"]
|
199
|
-
procedure_code = struct["procedure_code"]
|
200
212
|
quantity = struct["quantity"]
|
201
213
|
units = struct["units"]
|
202
214
|
claim_id = struct["claim_id"]
|
@@ -225,15 +237,15 @@ module CandidApiClient
|
|
225
237
|
has_family_planning_indicator = struct["has_family_planning_indicator"]
|
226
238
|
note = struct["note"]
|
227
239
|
new(
|
228
|
-
modifiers: modifiers,
|
229
|
-
charge_amount_cents: charge_amount_cents,
|
230
240
|
diagnosis_id_zero: diagnosis_id_zero,
|
231
241
|
diagnosis_id_one: diagnosis_id_one,
|
232
242
|
diagnosis_id_two: diagnosis_id_two,
|
233
243
|
diagnosis_id_three: diagnosis_id_three,
|
244
|
+
procedure_code: procedure_code,
|
245
|
+
modifiers: modifiers,
|
246
|
+
charge_amount_cents: charge_amount_cents,
|
234
247
|
denial_reason: denial_reason,
|
235
248
|
place_of_service_code: place_of_service_code,
|
236
|
-
procedure_code: procedure_code,
|
237
249
|
quantity: quantity,
|
238
250
|
units: units,
|
239
251
|
claim_id: claim_id,
|
@@ -264,15 +276,15 @@ module CandidApiClient
|
|
264
276
|
# @param obj [Object]
|
265
277
|
# @return [Void]
|
266
278
|
def self.validate_raw(obj:)
|
267
|
-
obj.modifiers&.is_a?(Array) != false || raise("Passed value for field obj.modifiers is not the expected type, validation failed.")
|
268
|
-
obj.charge_amount_cents&.is_a?(Integer) != false || raise("Passed value for field obj.charge_amount_cents is not the expected type, validation failed.")
|
269
279
|
obj.diagnosis_id_zero&.is_a?(String) != false || raise("Passed value for field obj.diagnosis_id_zero is not the expected type, validation failed.")
|
270
280
|
obj.diagnosis_id_one&.is_a?(String) != false || raise("Passed value for field obj.diagnosis_id_one is not the expected type, validation failed.")
|
271
281
|
obj.diagnosis_id_two&.is_a?(String) != false || raise("Passed value for field obj.diagnosis_id_two is not the expected type, validation failed.")
|
272
282
|
obj.diagnosis_id_three&.is_a?(String) != false || raise("Passed value for field obj.diagnosis_id_three is not the expected type, validation failed.")
|
283
|
+
obj.procedure_code.is_a?(String) != false || raise("Passed value for field obj.procedure_code is not the expected type, validation failed.")
|
284
|
+
obj.modifiers&.is_a?(Array) != false || raise("Passed value for field obj.modifiers is not the expected type, validation failed.")
|
285
|
+
obj.charge_amount_cents&.is_a?(Integer) != false || raise("Passed value for field obj.charge_amount_cents is not the expected type, validation failed.")
|
273
286
|
obj.denial_reason.nil? || CandidApiClient::ServiceLines::V2::Types::ServiceLineDenialReason.validate_raw(obj: obj.denial_reason)
|
274
287
|
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.")
|
275
|
-
obj.procedure_code.is_a?(String) != false || raise("Passed value for field obj.procedure_code is not the expected type, validation failed.")
|
276
288
|
obj.quantity.is_a?(String) != false || raise("Passed value for field obj.quantity is not the expected type, validation failed.")
|
277
289
|
obj.units.is_a?(CandidApiClient::Commons::Types::ServiceLineUnits) != false || raise("Passed value for field obj.units is not the expected type, validation failed.")
|
278
290
|
obj.claim_id.is_a?(String) != false || raise("Passed value for field obj.claim_id is not the expected type, validation failed.")
|