change_health 6.0.0 → 6.1.1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 66def9e3771bb4505b20a0f8f88b466392412d1809d8ad9723e745f3aed5b8f5
4
- data.tar.gz: a068c87e20968ed65259bda5cba2206f57f1e0ddd40f2bc2ced7b42e60d4ea55
3
+ metadata.gz: c48e5a833ac4455745b3bc9a78e4f928a225a094cfc22b905495a00a6bd59a60
4
+ data.tar.gz: 0fffec97226198d5a9d778a4431ebad2ee4323f403ce2c5bf3f8f2b408f3cb68
5
5
  SHA512:
6
- metadata.gz: 7eff4864dbfb4b5667d62c48b217135d5753adcbe7c3c97d4e2af0e345a769437958db55310862b497f77701ab6c8c85ce2d8ea0fdf37c16984f7ecc33b2269a
7
- data.tar.gz: 8d66c046817a12d23a2b482b49d4d4a77290b73739950a99689d3de9e5466bbbd1057f90ef1bd4858c5b474486f39551be8c23ac346530d7f7762dfed041621c
6
+ metadata.gz: 4aaddd07aa48dad10b0fd70d6b75cbe0894d14f05b33ee4f0281826b5b4a676ad0160da7a07b6b0cd9c6f201b1bdf689d766904b248c5f601ea768bc03937b97
7
+ data.tar.gz: '0999b19cdb5eb21c0d1c5c647bef7d38748049d82a8cf67080d90235319e311ecf83e8237e755af664e00868d5b940355f1ca86b46a626cfb15bdd57c58bdc65'
data/CHANGELOG.md CHANGED
@@ -5,6 +5,20 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
6
6
  and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
7
7
 
8
+ # [6.1.1] - 2025-01-30
9
+
10
+ ### Bug Fix
11
+
12
+ * Fixed bug when dates on 835 reports were ""
13
+
14
+ # [6.1.0] - 2025-01-24
15
+
16
+ ### Added
17
+
18
+ * `Report835ServiceLine#service_date`
19
+ * `Report835ServiceLine#service_date_begin`
20
+ * `Report835ServiceLine#service_date_end`
21
+
8
22
  # [6.0.0] - 2024-11-22
9
23
 
10
24
  Previously the only field extracted from the `informationStatuses` section of the 277 report JSON was `healthCareClaimStatusCategoryCode`. This version includes the following additional fields from this section: `healthCareClaimStatusCategoryCodeValue`, `statusCode` & `statusCodeValue`.
@@ -766,6 +780,8 @@ Added the ability to hit professional claim submission API. For more details, se
766
780
  * Authentication
767
781
  * Configuration
768
782
 
783
+ [6.1.1]: https://github.com/WeInfuse/change_health/compare/v6.1.0...v6.1.1
784
+ [6.1.0]: https://github.com/WeInfuse/change_health/compare/v6.0.0...v6.1.0
769
785
  [6.0.0]: https://github.com/WeInfuse/change_health/compare/v5.18.0...v6.0.0
770
786
  [5.18.0]: https://github.com/WeInfuse/change_health/compare/v5.17.0...v5.18.0
771
787
  [5.17.0]: https://github.com/WeInfuse/change_health/compare/v5.16.0...v5.17.0
@@ -10,7 +10,7 @@ module ChangeHealth
10
10
  property :professionalService, from: :professional_service
11
11
  property :renderingProvider, from: :rendering_provider
12
12
  property :serviceDate, from: :service_date
13
- property :serviceDateEnd, from: :service_date_end, required: false
13
+ property :serviceDateEnd, from: :service_date_end
14
14
  end
15
15
  end
16
16
  end
@@ -93,15 +93,18 @@ module ChangeHealth
93
93
  service_date_begin = nil
94
94
  service_date_end = nil
95
95
  service_lines = payment_info['serviceLines']&.map do |service_line|
96
- service_line_date = ChangeHealth::Models::PARSE_DATE.call(service_line['serviceDate'])
97
- unless service_line_date.nil?
98
- if service_date_begin.nil? || service_line_date < service_date_begin
99
- service_date_begin = service_line_date
100
- end
101
- if service_date_end.nil? || service_date_end < service_line_date
102
- service_date_end = service_line_date
103
- end
104
- end
96
+ service_line_date_parsed = ChangeHealth::Models::PARSE_DATE.call(service_line['serviceDate'])
97
+ service_line_date_begin_parsed = ChangeHealth::Models::PARSE_DATE.call(service_line['serviceStartDate'])
98
+ service_line_date_end_parsed = ChangeHealth::Models::PARSE_DATE.call(service_line['serviceEndDate'])
99
+
100
+ all_dates = [service_line_date_parsed, service_line_date_begin_parsed, service_line_date_end_parsed].select{|date| date.is_a?(Date)}
101
+
102
+ service_line_date_begin = all_dates.min
103
+ service_line_date = service_line_date_begin
104
+ service_line_date_end = all_dates.max
105
+
106
+ service_date_begin = [service_date_begin, service_line_date_begin].compact.min
107
+ service_date_end = [service_date_end, service_line_date_end].compact.max
105
108
 
106
109
  adjudicated_procedure_code = service_line.dig('servicePaymentInformation', 'adjudicatedProcedureCode')
107
110
  allowed_actual = service_line.dig('serviceSupplementalAmounts', 'allowedActual')
@@ -125,15 +128,21 @@ module ChangeHealth
125
128
  Report835ServiceLine.new(
126
129
  adjudicated_procedure_code: adjudicated_procedure_code,
127
130
  allowed_actual: allowed_actual,
131
+ health_care_check_remark_codes: health_care_check_remark_codes,
128
132
  line_item_charge_amount: line_item_charge_amount,
129
133
  line_item_provider_payment_amount: line_item_provider_payment_amount,
130
134
  service_adjustments: service_adjustments,
131
- health_care_check_remark_codes: health_care_check_remark_codes
135
+ service_date: service_line_date,
136
+ service_date_begin: service_line_date_begin,
137
+ service_date_end: service_line_date_end
132
138
  )
133
139
  end
134
140
 
135
- if service_date_begin.nil? && service_date_end.nil?
141
+ if service_date_begin.nil?
136
142
  service_date_begin = ChangeHealth::Models::PARSE_DATE.call(payment_info['claimStatementPeriodStart'])
143
+ end
144
+
145
+ if service_date_end.nil?
137
146
  service_date_end = ChangeHealth::Models::PARSE_DATE.call(payment_info['claimStatementPeriodEnd'])
138
147
  end
139
148
 
@@ -2,12 +2,15 @@ module ChangeHealth
2
2
  module Response
3
3
  module Claim
4
4
  class Report835ServiceLine < Hashie::Trash
5
- property :adjudicated_procedure_code, required: false
6
- property :allowed_actual, required: false
7
- property :health_care_check_remark_codes, required: false
8
- property :line_item_charge_amount, required: false
9
- property :line_item_provider_payment_amount, required: false
10
- property :service_adjustments, required: false
5
+ property :adjudicated_procedure_code
6
+ property :allowed_actual
7
+ property :health_care_check_remark_codes
8
+ property :line_item_charge_amount
9
+ property :line_item_provider_payment_amount
10
+ property :service_adjustments
11
+ property :service_date
12
+ property :service_date_begin
13
+ property :service_date_end
11
14
 
12
15
  def create_group_adjustments(service_adjustments)
13
16
  adjustment_array = service_adjustments[:adjustments].map do |key, value|
@@ -1,3 +1,3 @@
1
1
  module ChangeHealth
2
- VERSION = '6.0.0'.freeze
2
+ VERSION = '6.1.1'.freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: change_health
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.0.0
4
+ version: 6.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mike Crockett
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-11-25 00:00:00.000000000 Z
11
+ date: 2025-01-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: httparty