Class: CandidApiClient::ServiceLines::V2::Types::ServiceLineCreateStandalone
- Inherits:
-
Object
- Object
- CandidApiClient::ServiceLines::V2::Types::ServiceLineCreateStandalone
- Defined in:
- lib/candidhealth/service_lines/v_2/types/service_line_create_standalone.rb
Constant Summary collapse
- OMIT =
Object.new
Instance Attribute Summary collapse
-
#additional_properties ⇒ OpenStruct
readonly
Additional properties unmapped to the current class definition.
-
#charge_amount_cents ⇒ Integer
readonly
The total amount charged for this service line, factoring in quantity.
- #claim_id ⇒ String readonly
- #date_of_service ⇒ Date readonly
- #denial_reason ⇒ CandidApiClient::ServiceLines::V2::Types::ServiceLineDenialReason readonly
-
#description ⇒ String
readonly
A free-form description to clarify the related data elements and their content.
- #diagnosis_id_one ⇒ String readonly
- #diagnosis_id_three ⇒ String readonly
- #diagnosis_id_two ⇒ String readonly
- #diagnosis_id_zero ⇒ String readonly
- #drug_identification ⇒ CandidApiClient::ServiceLines::V2::Types::DrugIdentification readonly
- #end_date_of_service ⇒ Date readonly
-
#has_epsdt_indicator ⇒ Boolean
readonly
Maps to SV1-11 on the 837-P and Box 24H on the CMS-1500.
-
#has_family_planning_indicator ⇒ Boolean
readonly
Maps to SV1-12 on the 837-P and Box 24I on the CMS-1500.
- #modifiers ⇒ Array<CandidApiClient::Commons::Types::ProcedureModifier> readonly
-
#note ⇒ String
readonly
Maps to NTE02 loop 2400 on the EDI 837.
-
#ordering_provider ⇒ CandidApiClient::EncounterProviders::V2::Types::OrderingProvider
readonly
Required when the service or supply was ordered by a provider who is different than the rendering provider for this service line.
-
#place_of_service_code ⇒ CandidApiClient::Commons::Types::FacilityTypeCode
readonly
837p Loop2300, SV105.
- #procedure_code ⇒ String readonly
-
#quantity ⇒ String
readonly
String representation of a Decimal that can be parsed by most libraries.
-
#test_results ⇒ Array<CandidApiClient::ServiceLines::V2::Types::TestResult>
readonly
Contains a list of test results.
- #units ⇒ CandidApiClient::Commons::Types::ServiceLineUnits readonly
Class Method Summary collapse
-
.from_json(json_object:) ⇒ CandidApiClient::ServiceLines::V2::Types::ServiceLineCreateStandalone
Deserialize a JSON object to an instance of ServiceLineCreateStandalone.
-
.validate_raw(obj:) ⇒ Void
Leveraged for Union-type generation, validate_raw attempts to parse the given hash and check each fields type against the current object’s property definitions.
Instance Method Summary collapse
- #initialize(procedure_code:, quantity:, units:, claim_id:, diagnosis_id_zero: OMIT, diagnosis_id_one: OMIT, diagnosis_id_two: OMIT, 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) ⇒ CandidApiClient::ServiceLines::V2::Types::ServiceLineCreateStandalone constructor
-
#to_json(*_args) ⇒ String
Serialize an instance of ServiceLineCreateStandalone to a JSON object.
Constructor Details
#initialize(procedure_code:, quantity:, units:, claim_id:, diagnosis_id_zero: OMIT, diagnosis_id_one: OMIT, diagnosis_id_two: OMIT, 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) ⇒ CandidApiClient::ServiceLines::V2::Types::ServiceLineCreateStandalone
140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 |
# File 'lib/candidhealth/service_lines/v_2/types/service_line_create_standalone.rb', line 140 def initialize(procedure_code:, quantity:, units:, claim_id:, diagnosis_id_zero: OMIT, diagnosis_id_one: OMIT, diagnosis_id_two: OMIT, 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) @diagnosis_id_zero = diagnosis_id_zero if diagnosis_id_zero != OMIT @diagnosis_id_one = diagnosis_id_one if diagnosis_id_one != OMIT @diagnosis_id_two = diagnosis_id_two if diagnosis_id_two != OMIT @diagnosis_id_three = diagnosis_id_three if diagnosis_id_three != OMIT @procedure_code = procedure_code @modifiers = modifiers if modifiers != OMIT @charge_amount_cents = charge_amount_cents if charge_amount_cents != OMIT @denial_reason = denial_reason if denial_reason != OMIT @place_of_service_code = place_of_service_code if place_of_service_code != OMIT @quantity = quantity @units = units @claim_id = claim_id @description = description if description != OMIT @date_of_service = date_of_service if date_of_service != OMIT @end_date_of_service = end_date_of_service if end_date_of_service != OMIT @drug_identification = drug_identification if drug_identification != OMIT @ordering_provider = ordering_provider if ordering_provider != OMIT @test_results = test_results if test_results != OMIT @has_epsdt_indicator = has_epsdt_indicator if has_epsdt_indicator != OMIT @has_family_planning_indicator = has_family_planning_indicator if has_family_planning_indicator != OMIT @note = note if note != OMIT @additional_properties = additional_properties @_field_set = { "diagnosis_id_zero": diagnosis_id_zero, "diagnosis_id_one": diagnosis_id_one, "diagnosis_id_two": diagnosis_id_two, "diagnosis_id_three": diagnosis_id_three, "procedure_code": procedure_code, "modifiers": modifiers, "charge_amount_cents": charge_amount_cents, "denial_reason": denial_reason, "place_of_service_code": place_of_service_code, "quantity": quantity, "units": units, "claim_id": claim_id, "description": description, "date_of_service": date_of_service, "end_date_of_service": end_date_of_service, "drug_identification": drug_identification, "ordering_provider": ordering_provider, "test_results": test_results, "has_epsdt_indicator": has_epsdt_indicator, "has_family_planning_indicator": has_family_planning_indicator, "note": note }.reject do |_k, v| v == OMIT end end |
Instance Attribute Details
#additional_properties ⇒ OpenStruct (readonly)
Returns Additional properties unmapped to the current class definition.
86 87 88 |
# File 'lib/candidhealth/service_lines/v_2/types/service_line_create_standalone.rb', line 86 def additional_properties @additional_properties end |
#charge_amount_cents ⇒ Integer (readonly)
Returns The total amount charged for this service line, factoring in quantity. The system will attempt to set it based on the chargemaster configuration and the service line’s quantity. For example, if a single unit has an entry of 100 cents and 2 units were rendered, the charge_amount_cents will be set to 200. If there is no chargemaster entry, the system will default to the amount set via this field.
37 38 39 |
# File 'lib/candidhealth/service_lines/v_2/types/service_line_create_standalone.rb', line 37 def charge_amount_cents @charge_amount_cents end |
#claim_id ⇒ String (readonly)
56 57 58 |
# File 'lib/candidhealth/service_lines/v_2/types/service_line_create_standalone.rb', line 56 def claim_id @claim_id end |
#date_of_service ⇒ Date (readonly)
61 62 63 |
# File 'lib/candidhealth/service_lines/v_2/types/service_line_create_standalone.rb', line 61 def date_of_service @date_of_service end |
#denial_reason ⇒ CandidApiClient::ServiceLines::V2::Types::ServiceLineDenialReason (readonly)
39 40 41 |
# File 'lib/candidhealth/service_lines/v_2/types/service_line_create_standalone.rb', line 39 def denial_reason @denial_reason end |
#description ⇒ String (readonly)
Returns A free-form description to clarify the related data elements and their content. Maps to SV1-01, C003-07 on a 837-P and SV2-02, C003-07 on a 837-I form.
59 60 61 |
# File 'lib/candidhealth/service_lines/v_2/types/service_line_create_standalone.rb', line 59 def description @description end |
#diagnosis_id_one ⇒ String (readonly)
22 23 24 |
# File 'lib/candidhealth/service_lines/v_2/types/service_line_create_standalone.rb', line 22 def diagnosis_id_one @diagnosis_id_one end |
#diagnosis_id_three ⇒ String (readonly)
26 27 28 |
# File 'lib/candidhealth/service_lines/v_2/types/service_line_create_standalone.rb', line 26 def diagnosis_id_three @diagnosis_id_three end |
#diagnosis_id_two ⇒ String (readonly)
24 25 26 |
# File 'lib/candidhealth/service_lines/v_2/types/service_line_create_standalone.rb', line 24 def diagnosis_id_two @diagnosis_id_two end |
#diagnosis_id_zero ⇒ String (readonly)
20 21 22 |
# File 'lib/candidhealth/service_lines/v_2/types/service_line_create_standalone.rb', line 20 def diagnosis_id_zero @diagnosis_id_zero end |
#drug_identification ⇒ CandidApiClient::ServiceLines::V2::Types::DrugIdentification (readonly)
65 66 67 |
# File 'lib/candidhealth/service_lines/v_2/types/service_line_create_standalone.rb', line 65 def drug_identification @drug_identification end |
#end_date_of_service ⇒ Date (readonly)
63 64 65 |
# File 'lib/candidhealth/service_lines/v_2/types/service_line_create_standalone.rb', line 63 def end_date_of_service @end_date_of_service end |
#has_epsdt_indicator ⇒ Boolean (readonly)
Returns Maps to SV1-11 on the 837-P and Box 24H on the CMS-1500. If the value is true, the box will be populated with “Y”. Otherwise, the box will not be populated.
78 79 80 |
# File 'lib/candidhealth/service_lines/v_2/types/service_line_create_standalone.rb', line 78 def has_epsdt_indicator @has_epsdt_indicator end |
#has_family_planning_indicator ⇒ Boolean (readonly)
Returns Maps to SV1-12 on the 837-P and Box 24I on the CMS-1500. If the value is true, the box will be populated with “Y”. Otherwise, the box will not be populated.
82 83 84 |
# File 'lib/candidhealth/service_lines/v_2/types/service_line_create_standalone.rb', line 82 def has_family_planning_indicator @has_family_planning_indicator end |
#modifiers ⇒ Array<CandidApiClient::Commons::Types::ProcedureModifier> (readonly)
30 31 32 |
# File 'lib/candidhealth/service_lines/v_2/types/service_line_create_standalone.rb', line 30 def modifiers @modifiers end |
#note ⇒ String (readonly)
Returns Maps to NTE02 loop 2400 on the EDI 837.
84 85 86 |
# File 'lib/candidhealth/service_lines/v_2/types/service_line_create_standalone.rb', line 84 def note @note end |
#ordering_provider ⇒ CandidApiClient::EncounterProviders::V2::Types::OrderingProvider (readonly)
Returns Required when the service or supply was ordered by a provider who is different than the rendering provider for this service line. If not required by this implementation guide, do not send.
69 70 71 |
# File 'lib/candidhealth/service_lines/v_2/types/service_line_create_standalone.rb', line 69 def ordering_provider @ordering_provider end |
#place_of_service_code ⇒ CandidApiClient::Commons::Types::FacilityTypeCode (readonly)
Returns 837p Loop2300, SV105. This enum is not used or required in 837i claims. If your organization does not intend to submit claims with a different place of service at the service line level, this field should not be populated. 02 for telemedicine, 11 for in-person. Full list //www.cms.gov/Medicare/Coding/place-of-service-codes/Place_of_Service_Code_Set).
45 46 47 |
# File 'lib/candidhealth/service_lines/v_2/types/service_line_create_standalone.rb', line 45 def place_of_service_code @place_of_service_code end |
#procedure_code ⇒ String (readonly)
28 29 30 |
# File 'lib/candidhealth/service_lines/v_2/types/service_line_create_standalone.rb', line 28 def procedure_code @procedure_code end |
#quantity ⇒ String (readonly)
Returns String representation of a Decimal that can be parsed by most libraries. For professional claims, a ServiceLine quantity cannot contain more than one digit of precision (Example: 1.1 is valid, 1.11 is not). For institutional claims, a ServiceLine quantity cannot contain more than three decimal digits of precision.
52 53 54 |
# File 'lib/candidhealth/service_lines/v_2/types/service_line_create_standalone.rb', line 52 def quantity @quantity end |
#test_results ⇒ Array<CandidApiClient::ServiceLines::V2::Types::TestResult> (readonly)
Returns Contains a list of test results. Test result types may map to MEA-02 on the 837-P (ex: Hemoglobin, Hematocrit). This is unused by 837-i and ignored for institutional service lines. No more than 5 MEA-02 test results may be submitted per service line.
74 75 76 |
# File 'lib/candidhealth/service_lines/v_2/types/service_line_create_standalone.rb', line 74 def test_results @test_results end |
#units ⇒ CandidApiClient::Commons::Types::ServiceLineUnits (readonly)
54 55 56 |
# File 'lib/candidhealth/service_lines/v_2/types/service_line_create_standalone.rb', line 54 def units @units end |
Class Method Details
.from_json(json_object:) ⇒ CandidApiClient::ServiceLines::V2::Types::ServiceLineCreateStandalone
Deserialize a JSON object to an instance of ServiceLineCreateStandalone
195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 |
# File 'lib/candidhealth/service_lines/v_2/types/service_line_create_standalone.rb', line 195 def self.from_json(json_object:) struct = JSON.parse(json_object, object_class: OpenStruct) parsed_json = JSON.parse(json_object) diagnosis_id_zero = struct["diagnosis_id_zero"] diagnosis_id_one = struct["diagnosis_id_one"] diagnosis_id_two = struct["diagnosis_id_two"] diagnosis_id_three = struct["diagnosis_id_three"] procedure_code = struct["procedure_code"] modifiers = struct["modifiers"] charge_amount_cents = struct["charge_amount_cents"] if parsed_json["denial_reason"].nil? denial_reason = nil else denial_reason = parsed_json["denial_reason"].to_json denial_reason = CandidApiClient::ServiceLines::V2::Types::ServiceLineDenialReason.from_json(json_object: denial_reason) end place_of_service_code = struct["place_of_service_code"] quantity = struct["quantity"] units = struct["units"] claim_id = struct["claim_id"] description = struct["description"] date_of_service = (Date.parse(parsed_json["date_of_service"]) unless parsed_json["date_of_service"].nil?) end_date_of_service = unless parsed_json["end_date_of_service"].nil? Date.parse(parsed_json["end_date_of_service"]) end if parsed_json["drug_identification"].nil? drug_identification = nil else drug_identification = parsed_json["drug_identification"].to_json drug_identification = CandidApiClient::ServiceLines::V2::Types::DrugIdentification.from_json(json_object: drug_identification) end if parsed_json["ordering_provider"].nil? ordering_provider = nil else ordering_provider = parsed_json["ordering_provider"].to_json ordering_provider = CandidApiClient::EncounterProviders::V2::Types::OrderingProvider.from_json(json_object: ordering_provider) end test_results = parsed_json["test_results"]&.map do |item| item = item.to_json CandidApiClient::ServiceLines::V2::Types::TestResult.from_json(json_object: item) end has_epsdt_indicator = struct["has_epsdt_indicator"] has_family_planning_indicator = struct["has_family_planning_indicator"] note = struct["note"] new( diagnosis_id_zero: diagnosis_id_zero, diagnosis_id_one: diagnosis_id_one, diagnosis_id_two: diagnosis_id_two, diagnosis_id_three: diagnosis_id_three, procedure_code: procedure_code, modifiers: modifiers, charge_amount_cents: charge_amount_cents, denial_reason: denial_reason, place_of_service_code: place_of_service_code, quantity: quantity, units: units, claim_id: claim_id, description: description, date_of_service: date_of_service, end_date_of_service: end_date_of_service, drug_identification: drug_identification, ordering_provider: ordering_provider, test_results: test_results, has_epsdt_indicator: has_epsdt_indicator, has_family_planning_indicator: has_family_planning_indicator, note: note, additional_properties: struct ) end |
.validate_raw(obj:) ⇒ Void
Leveraged for Union-type generation, validate_raw attempts to parse the given
hash and check each fields type against the current object's property
definitions.
278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 |
# File 'lib/candidhealth/service_lines/v_2/types/service_line_create_standalone.rb', line 278 def self.validate_raw(obj:) obj.diagnosis_id_zero&.is_a?(String) != false || raise("Passed value for field obj.diagnosis_id_zero is not the expected type, validation failed.") obj.diagnosis_id_one&.is_a?(String) != false || raise("Passed value for field obj.diagnosis_id_one is not the expected type, validation failed.") obj.diagnosis_id_two&.is_a?(String) != false || raise("Passed value for field obj.diagnosis_id_two is not the expected type, validation failed.") obj.diagnosis_id_three&.is_a?(String) != false || raise("Passed value for field obj.diagnosis_id_three is not the expected type, validation failed.") obj.procedure_code.is_a?(String) != false || raise("Passed value for field obj.procedure_code is not the expected type, validation failed.") obj.modifiers&.is_a?(Array) != false || raise("Passed value for field obj.modifiers is not the expected type, validation failed.") obj.charge_amount_cents&.is_a?(Integer) != false || raise("Passed value for field obj.charge_amount_cents is not the expected type, validation failed.") obj.denial_reason.nil? || CandidApiClient::ServiceLines::V2::Types::ServiceLineDenialReason.validate_raw(obj: obj.denial_reason) 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.") obj.quantity.is_a?(String) != false || raise("Passed value for field obj.quantity is not the expected type, validation failed.") obj.units.is_a?(CandidApiClient::Commons::Types::ServiceLineUnits) != false || raise("Passed value for field obj.units is not the expected type, validation failed.") obj.claim_id.is_a?(String) != false || raise("Passed value for field obj.claim_id is not the expected type, validation failed.") obj.description&.is_a?(String) != false || raise("Passed value for field obj.description is not the expected type, validation failed.") obj.date_of_service&.is_a?(Date) != false || raise("Passed value for field obj.date_of_service is not the expected type, validation failed.") obj.end_date_of_service&.is_a?(Date) != false || raise("Passed value for field obj.end_date_of_service is not the expected type, validation failed.") obj.drug_identification.nil? || CandidApiClient::ServiceLines::V2::Types::DrugIdentification.validate_raw(obj: obj.drug_identification) obj.ordering_provider.nil? || CandidApiClient::EncounterProviders::V2::Types::OrderingProvider.validate_raw(obj: obj.ordering_provider) obj.test_results&.is_a?(Array) != false || raise("Passed value for field obj.test_results is not the expected type, validation failed.") obj.has_epsdt_indicator&.is_a?(Boolean) != false || raise("Passed value for field obj.has_epsdt_indicator is not the expected type, validation failed.") 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.") obj.note&.is_a?(String) != false || raise("Passed value for field obj.note is not the expected type, validation failed.") end |
Instance Method Details
#to_json(*_args) ⇒ String
Serialize an instance of ServiceLineCreateStandalone to a JSON object
268 269 270 |
# File 'lib/candidhealth/service_lines/v_2/types/service_line_create_standalone.rb', line 268 def to_json(*_args) @_field_set&.to_json end |