Class: CandidApiClient::ServiceLines::V2::Types::ServiceLineUpdate
- Inherits:
-
Object
- Object
- CandidApiClient::ServiceLines::V2::Types::ServiceLineUpdate
- Defined in:
- lib/candidhealth/service_lines/v_2/types/service_line_update.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.
-
#date_of_service ⇒ Date
readonly
Date_of_service must be defined on either the encounter or the service lines but not both.
- #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
- #edit_reason ⇒ String 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
-
#place_of_service_code ⇒ CandidApiClient::Commons::Types::FacilityTypeCode
readonly
837p Loop2300, SV105.
-
#procedure_code ⇒ String
readonly
If ‘procedure_code` is updated, and `charge_amount_cents` is not, then `charge_amount_cents` will be set by the system.
-
#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::ServiceLineUpdate
Deserialize a JSON object to an instance of ServiceLineUpdate.
-
.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(edit_reason: OMIT, modifiers: OMIT, charge_amount_cents: OMIT, diagnosis_id_zero: OMIT, diagnosis_id_one: OMIT, diagnosis_id_two: OMIT, diagnosis_id_three: OMIT, drug_identification: OMIT, denial_reason: OMIT, place_of_service_code: OMIT, units: OMIT, procedure_code: OMIT, quantity: OMIT, description: OMIT, date_of_service: OMIT, end_date_of_service: OMIT, test_results: OMIT, has_epsdt_indicator: OMIT, has_family_planning_indicator: OMIT, additional_properties: nil) ⇒ CandidApiClient::ServiceLines::V2::Types::ServiceLineUpdate constructor
-
#to_json(*_args) ⇒ String
Serialize an instance of ServiceLineUpdate to a JSON object.
Constructor Details
#initialize(edit_reason: OMIT, modifiers: OMIT, charge_amount_cents: OMIT, diagnosis_id_zero: OMIT, diagnosis_id_one: OMIT, diagnosis_id_two: OMIT, diagnosis_id_three: OMIT, drug_identification: OMIT, denial_reason: OMIT, place_of_service_code: OMIT, units: OMIT, procedure_code: OMIT, quantity: OMIT, description: OMIT, date_of_service: OMIT, end_date_of_service: OMIT, test_results: OMIT, has_epsdt_indicator: OMIT, has_family_planning_indicator: OMIT, additional_properties: nil) ⇒ CandidApiClient::ServiceLines::V2::Types::ServiceLineUpdate
127 128 129 130 131 132 133 134 135 136 137 138 139 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 |
# File 'lib/candidhealth/service_lines/v_2/types/service_line_update.rb', line 127 def initialize(edit_reason: OMIT, modifiers: OMIT, charge_amount_cents: OMIT, diagnosis_id_zero: OMIT, diagnosis_id_one: OMIT, diagnosis_id_two: OMIT, diagnosis_id_three: OMIT, drug_identification: OMIT, denial_reason: OMIT, place_of_service_code: OMIT, units: OMIT, procedure_code: OMIT, quantity: OMIT, description: OMIT, date_of_service: OMIT, end_date_of_service: OMIT, test_results: OMIT, has_epsdt_indicator: OMIT, has_family_planning_indicator: OMIT, additional_properties: nil) @edit_reason = edit_reason if edit_reason != OMIT @modifiers = modifiers if modifiers != OMIT @charge_amount_cents = charge_amount_cents if charge_amount_cents != OMIT @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 @drug_identification = drug_identification if drug_identification != OMIT @denial_reason = denial_reason if denial_reason != OMIT @place_of_service_code = place_of_service_code if place_of_service_code != OMIT @units = units if units != OMIT @procedure_code = procedure_code if procedure_code != OMIT @quantity = quantity if quantity != OMIT @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 @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 @additional_properties = additional_properties @_field_set = { "edit_reason": edit_reason, "modifiers": modifiers, "charge_amount_cents": charge_amount_cents, "diagnosis_id_zero": diagnosis_id_zero, "diagnosis_id_one": diagnosis_id_one, "diagnosis_id_two": diagnosis_id_two, "diagnosis_id_three": diagnosis_id_three, "drug_identification": drug_identification, "denial_reason": denial_reason, "place_of_service_code": place_of_service_code, "units": units, "procedure_code": procedure_code, "quantity": quantity, "description": description, "date_of_service": date_of_service, "end_date_of_service": end_date_of_service, "test_results": test_results, "has_epsdt_indicator": has_epsdt_indicator, "has_family_planning_indicator": has_family_planning_indicator }.reject do |_k, v| v == OMIT end end |
Instance Attribute Details
#additional_properties ⇒ OpenStruct (readonly)
Returns Additional properties unmapped to the current class definition.
78 79 80 |
# File 'lib/candidhealth/service_lines/v_2/types/service_line_update.rb', line 78 def additional_properties @additional_properties end |
#charge_amount_cents ⇒ Integer (readonly)
Returns The total amount charged for this service line, factoring in quantity. If ‘procedure_code` is updated and this is not, the system will attempt to set it based on chargemasters entries 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 this field is unfilled.
28 29 30 |
# File 'lib/candidhealth/service_lines/v_2/types/service_line_update.rb', line 28 def charge_amount_cents @charge_amount_cents end |
#date_of_service ⇒ Date (readonly)
Returns date_of_service must be defined on either the encounter or the service lines but not both.
60 61 62 |
# File 'lib/candidhealth/service_lines/v_2/types/service_line_update.rb', line 60 def date_of_service @date_of_service end |
#denial_reason ⇒ CandidApiClient::ServiceLines::V2::Types::ServiceLineDenialReason (readonly)
40 41 42 |
# File 'lib/candidhealth/service_lines/v_2/types/service_line_update.rb', line 40 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 the 837-P.
57 58 59 |
# File 'lib/candidhealth/service_lines/v_2/types/service_line_update.rb', line 57 def description @description end |
#diagnosis_id_one ⇒ String (readonly)
32 33 34 |
# File 'lib/candidhealth/service_lines/v_2/types/service_line_update.rb', line 32 def diagnosis_id_one @diagnosis_id_one end |
#diagnosis_id_three ⇒ String (readonly)
36 37 38 |
# File 'lib/candidhealth/service_lines/v_2/types/service_line_update.rb', line 36 def diagnosis_id_three @diagnosis_id_three end |
#diagnosis_id_two ⇒ String (readonly)
34 35 36 |
# File 'lib/candidhealth/service_lines/v_2/types/service_line_update.rb', line 34 def diagnosis_id_two @diagnosis_id_two end |
#diagnosis_id_zero ⇒ String (readonly)
30 31 32 |
# File 'lib/candidhealth/service_lines/v_2/types/service_line_update.rb', line 30 def diagnosis_id_zero @diagnosis_id_zero end |
#drug_identification ⇒ CandidApiClient::ServiceLines::V2::Types::DrugIdentification (readonly)
38 39 40 |
# File 'lib/candidhealth/service_lines/v_2/types/service_line_update.rb', line 38 def drug_identification @drug_identification end |
#edit_reason ⇒ String (readonly)
19 20 21 |
# File 'lib/candidhealth/service_lines/v_2/types/service_line_update.rb', line 19 def edit_reason @edit_reason end |
#end_date_of_service ⇒ Date (readonly)
62 63 64 |
# File 'lib/candidhealth/service_lines/v_2/types/service_line_update.rb', line 62 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.
72 73 74 |
# File 'lib/candidhealth/service_lines/v_2/types/service_line_update.rb', line 72 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.
76 77 78 |
# File 'lib/candidhealth/service_lines/v_2/types/service_line_update.rb', line 76 def has_family_planning_indicator @has_family_planning_indicator end |
#modifiers ⇒ Array<CandidApiClient::Commons::Types::ProcedureModifier> (readonly)
21 22 23 |
# File 'lib/candidhealth/service_lines/v_2/types/service_line_update.rb', line 21 def modifiers @modifiers end |
#place_of_service_code ⇒ CandidApiClient::Commons::Types::FacilityTypeCode (readonly)
Returns 837p Loop2300, SV105. 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_update.rb', line 45 def place_of_service_code @place_of_service_code end |
#procedure_code ⇒ String (readonly)
Returns If ‘procedure_code` is updated, and `charge_amount_cents` is not, then `charge_amount_cents` will be set by the system.
50 51 52 |
# File 'lib/candidhealth/service_lines/v_2/types/service_line_update.rb', line 50 def procedure_code @procedure_code end |
#quantity ⇒ String (readonly)
Returns String representation of a Decimal that can be parsed by most libraries. A ServiceLine quantity cannot contain more than one digit of precision. Example: 1.1 is valid, 1.11 is not.
54 55 56 |
# File 'lib/candidhealth/service_lines/v_2/types/service_line_update.rb', line 54 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). No more than 5 MEA-02 test results may be submitted per service line. Updating test results utilizes PUT semantics, so the test results on the service line will be set to whatever inputs are provided.
68 69 70 |
# File 'lib/candidhealth/service_lines/v_2/types/service_line_update.rb', line 68 def test_results @test_results end |
#units ⇒ CandidApiClient::Commons::Types::ServiceLineUnits (readonly)
47 48 49 |
# File 'lib/candidhealth/service_lines/v_2/types/service_line_update.rb', line 47 def units @units end |
Class Method Details
.from_json(json_object:) ⇒ CandidApiClient::ServiceLines::V2::Types::ServiceLineUpdate
Deserialize a JSON object to an instance of ServiceLineUpdate
178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 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 |
# File 'lib/candidhealth/service_lines/v_2/types/service_line_update.rb', line 178 def self.from_json(json_object:) struct = JSON.parse(json_object, object_class: OpenStruct) parsed_json = JSON.parse(json_object) edit_reason = struct["edit_reason"] modifiers = struct["modifiers"] charge_amount_cents = struct["charge_amount_cents"] 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"] 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["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"] units = struct["units"] procedure_code = struct["procedure_code"] quantity = struct["quantity"] 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 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"] new( edit_reason: edit_reason, modifiers: modifiers, charge_amount_cents: charge_amount_cents, diagnosis_id_zero: diagnosis_id_zero, diagnosis_id_one: diagnosis_id_one, diagnosis_id_two: diagnosis_id_two, diagnosis_id_three: diagnosis_id_three, drug_identification: drug_identification, denial_reason: denial_reason, place_of_service_code: place_of_service_code, units: units, procedure_code: procedure_code, quantity: quantity, description: description, date_of_service: date_of_service, end_date_of_service: end_date_of_service, test_results: test_results, has_epsdt_indicator: has_epsdt_indicator, has_family_planning_indicator: has_family_planning_indicator, 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.
252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 |
# File 'lib/candidhealth/service_lines/v_2/types/service_line_update.rb', line 252 def self.validate_raw(obj:) obj.edit_reason&.is_a?(String) != false || raise("Passed value for field obj.edit_reason 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.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.drug_identification.nil? || CandidApiClient::ServiceLines::V2::Types::DrugIdentification.validate_raw(obj: obj.drug_identification) 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.units&.is_a?(CandidApiClient::Commons::Types::ServiceLineUnits) != false || raise("Passed value for field obj.units 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.quantity&.is_a?(String) != false || raise("Passed value for field obj.quantity 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.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.") end |
Instance Method Details
#to_json(*_args) ⇒ String
Serialize an instance of ServiceLineUpdate to a JSON object
242 243 244 |
# File 'lib/candidhealth/service_lines/v_2/types/service_line_update.rb', line 242 def to_json(*_args) @_field_set&.to_json end |