change_health 3.3.0 → 3.4.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
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 222248c389fc002887ea5d18a7816f09c0f101cf8d17d08881187b865dc0eb02
|
4
|
+
data.tar.gz: 4d25ff11a0b92fce81ca5945a659ecbf3e9c36249ff4bbaae638a7ae40efe951
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0f2f0cb83a1d1145bad8ced944e9d460c78956ef46a8559bf7aedad70861a469a9f18671b6f9ca497ea9ad8ef64e82e13ac6d341fa0e34a5f86ee195de52e006
|
7
|
+
data.tar.gz: dac851fb3820730a9856fe714e6ab0f923db17a00cc76f4886053fc5c50492fae0cc54d4cd38d4cefed0add480dfd3af70abc0e4d7c2006d36147c92fd03dd4b
|
data/CHANGELOG.md
CHANGED
@@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file.
|
|
4
4
|
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
|
5
5
|
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
|
6
6
|
|
7
|
+
# [3.4.0] - 2022-03-23
|
8
|
+
### Added
|
9
|
+
* Report835Claim - check_or_eft_trace_number & check_issue_or_eft_effective_date
|
10
|
+
|
7
11
|
# [3.3.0] - 2022-02-11
|
8
12
|
### Added
|
9
13
|
* Report277Claim - 'message' from informationClaimStatuses, clearinghouse_trace_number, patient_account_number, referenced_transaction_trace_number, trading_partner_claim_number
|
@@ -236,6 +240,7 @@ Added the ability to hit professional claim submission API. For more details, se
|
|
236
240
|
- Authentication
|
237
241
|
- Configuration
|
238
242
|
|
243
|
+
[3.4.0]: https://github.com/WeInfuse/change_health/compare/v3.3.0...v3.4.0
|
239
244
|
[3.3.0]: https://github.com/WeInfuse/change_health/compare/v3.2.0...v3.3.0
|
240
245
|
[3.2.0]: https://github.com/WeInfuse/change_health/compare/v3.1.0...v3.2.0
|
241
246
|
[3.1.0]: https://github.com/WeInfuse/change_health/compare/v3.0.0...v3.1.0
|
@@ -2,6 +2,8 @@ module ChangeHealth
|
|
2
2
|
module Response
|
3
3
|
module Claim
|
4
4
|
class Report835Claim < ReportClaim
|
5
|
+
property :check_issue_or_eft_effective_date, required: false
|
6
|
+
property :check_or_eft_trace_number, required: false
|
5
7
|
property :claim_payment_remark_codes, required: false
|
6
8
|
property :patient_control_number, required: false
|
7
9
|
property :payer_claim_control_number, required: false
|
@@ -7,6 +7,18 @@ module ChangeHealth
|
|
7
7
|
@raw['transactions']
|
8
8
|
end
|
9
9
|
|
10
|
+
def check_or_eft_trace_number
|
11
|
+
transactions&.first&.dig('paymentAndRemitReassociationDetails', 'checkOrEFTTraceNumber')
|
12
|
+
end
|
13
|
+
|
14
|
+
def check_issue_or_eft_effective_date
|
15
|
+
ChangeHealth::Models::PARSE_DATE.call(transactions&.first&.dig('financialInformation', 'checkIssueOrEFTEffectiveDate'))
|
16
|
+
end
|
17
|
+
|
18
|
+
def payer_identification
|
19
|
+
transactions&.first&.dig('payer', 'payerIdentificationNumber')
|
20
|
+
end
|
21
|
+
|
10
22
|
# Only one payer per report
|
11
23
|
def payer_name
|
12
24
|
transactions&.first&.dig('payer')&.dig('name')
|
@@ -28,13 +40,6 @@ module ChangeHealth
|
|
28
40
|
report_claims = []
|
29
41
|
|
30
42
|
transactions&.each do |transaction|
|
31
|
-
payment_method_code = transaction.dig('financialInformation', 'paymentMethodCode')
|
32
|
-
payer_name = transaction.dig('payer', 'name')
|
33
|
-
payer_identification = transaction.dig('payer', 'payerIdentificationNumber')
|
34
|
-
report_creation_date = ChangeHealth::Models::PARSE_DATE.call(transaction['productionDate'])
|
35
|
-
total_actual_provider_payment_amount = transaction.dig('financialInformation',
|
36
|
-
'totalActualProviderPaymentAmount')
|
37
|
-
|
38
43
|
transaction['detailInfo']&.each do |detail_info|
|
39
44
|
detail_info['paymentInfo']&.each do |payment_info|
|
40
45
|
patient_control_number = payment_info.dig('claimPaymentInfo', 'patientControlNumber')
|
@@ -56,8 +61,7 @@ module ChangeHealth
|
|
56
61
|
|
57
62
|
service_date_begin = nil
|
58
63
|
service_date_end = nil
|
59
|
-
service_lines = []
|
60
|
-
payment_info['serviceLines']&.each do |service_line|
|
64
|
+
service_lines = payment_info['serviceLines']&.map do |service_line|
|
61
65
|
service_line_date = ChangeHealth::Models::PARSE_DATE.call(service_line['serviceDate'])
|
62
66
|
if service_date_begin.nil? || service_line_date < service_date_begin
|
63
67
|
service_date_begin = service_line_date
|
@@ -70,8 +74,7 @@ module ChangeHealth
|
|
70
74
|
line_item_provider_payment_amount = service_line.dig('servicePaymentInformation',
|
71
75
|
'lineItemProviderPaymentAmount')
|
72
76
|
|
73
|
-
service_adjustments = []
|
74
|
-
service_line['serviceAdjustments']&.each do |service_adjustment|
|
77
|
+
service_adjustments = service_line['serviceAdjustments']&.map do |service_adjustment|
|
75
78
|
adjustments = {}
|
76
79
|
service_adjustment_index = 1
|
77
80
|
while service_adjustment["adjustmentReasonCode#{service_adjustment_index}"]
|
@@ -83,22 +86,21 @@ module ChangeHealth
|
|
83
86
|
|
84
87
|
claim_adjustment_group_code = service_adjustment['claimAdjustmentGroupCode']
|
85
88
|
|
86
|
-
|
89
|
+
Report835ServiceAdjustment.new(
|
87
90
|
adjustments: adjustments,
|
88
91
|
claim_adjustment_group_code: claim_adjustment_group_code
|
89
92
|
)
|
90
93
|
end
|
91
94
|
|
92
|
-
health_care_check_remark_codes = []
|
93
|
-
|
94
|
-
health_care_check_remark_codes << Report835HealthCareCheckRemarkCode.new(
|
95
|
+
health_care_check_remark_codes = service_line['healthCareCheckRemarkCodes']&.map do |health_care_check_remark_code|
|
96
|
+
Report835HealthCareCheckRemarkCode.new(
|
95
97
|
code_list_qualifier_code: health_care_check_remark_code['codeListQualifierCode'],
|
96
98
|
code_list_qualifier_code_value: health_care_check_remark_code['codeListQualifierCodeValue'],
|
97
99
|
remark_code: health_care_check_remark_code['remarkCode']
|
98
100
|
)
|
99
101
|
end
|
100
102
|
|
101
|
-
|
103
|
+
Report835ServiceLine.new(
|
102
104
|
adjudicated_procedure_code: adjudicated_procedure_code,
|
103
105
|
allowed_actual: allowed_actual,
|
104
106
|
line_item_charge_amount: line_item_charge_amount,
|
@@ -109,6 +111,8 @@ module ChangeHealth
|
|
109
111
|
end
|
110
112
|
|
111
113
|
report_claims << Report835Claim.new(
|
114
|
+
check_issue_or_eft_effective_date: check_issue_or_eft_effective_date,
|
115
|
+
check_or_eft_trace_number: check_or_eft_trace_number,
|
112
116
|
claim_payment_remark_codes: claim_payment_remark_codes,
|
113
117
|
patient_control_number: patient_control_number,
|
114
118
|
patient_first_name: patient_first_name,
|
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: 3.
|
4
|
+
version: 3.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mike Crockett
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-03-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: httparty
|