change_health 6.6.0 → 6.7.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: fa26ee3cf8170f5bfd5c11091b5649b7f06a1ead0f9283d492799cb9d48aab45
4
- data.tar.gz: f5e076cca0698d44f9a087411b9ae8324aaa49baaf3b634cedc1208b2480e62f
3
+ metadata.gz: 574aa6fc2074f3be0305a0bd3870e8afd78d0bf74a9df1f3531a6ec1c5766ef7
4
+ data.tar.gz: 197fe6736f9254267a14106c8167b2bfd4035794e778147e7250265ebf898c4b
5
5
  SHA512:
6
- metadata.gz: 608ff76666a58dcb35721c1adcf13d917b69418b402f4c6268abd40476860fa9698766f6d3fe000735359524db522f6a2f4eb9a3388dd8e4c1ce0dae52a9ab57
7
- data.tar.gz: d3da9abaa65f616ab64481aa7225360b69cf13c74ae55bf5f375512d96d514cd815c7a39e444c4eaf625e5db81d64fa4b4ff87c15b8299bc7143c24134d7502a
6
+ metadata.gz: 9b413b79d8ec7ce3177ee8bedbba4758726431a1b0e7ebcd3c24b295be5fff7cc8e354fc01dbe829586e0cf89950320d5f100645b28dba870c37531f35930226
7
+ data.tar.gz: 9b98cc07ef88fd48d9dedf69e8edee0b028896fea38d128e1dd4d6eec56ca155034e9e52c3592f8c95995c228bc3fed078f6981785e4d57cd6152d517579dafa
data/CHANGELOG.md CHANGED
@@ -5,6 +5,12 @@ 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.7.0] - 2026-10-20
9
+
10
+ ### Added
11
+
12
+ * Professional service line `test_results` (MEA) and `service_line_date_information` with `hemoglobin_test_date` (DTP 738)
13
+
8
14
  # [6.6.0] - 2026-03-11
9
15
 
10
16
  ### Changed
@@ -15,7 +15,7 @@ module ChangeHealth
15
15
 
16
16
  format :json
17
17
 
18
- # rubocop:disable Metrics/ParameterLists
18
+ # rubocop:disable-next Metrics/ParameterLists
19
19
  def request(
20
20
  endpoint:,
21
21
  query: nil,
@@ -33,7 +33,6 @@ module ChangeHealth
33
33
 
34
34
  self.class.send(verb.to_s, endpoint, query: query, body: body, headers: headers, base_uri: base_uri)
35
35
  end
36
- # rubocop:enable Metrics/ParameterLists
37
36
 
38
37
  def self.endpoint_for(klass, default_endpoint: nil)
39
38
  endpoint_options = ChangeHealth.configuration.endpoints || {}
@@ -13,6 +13,8 @@ module ChangeHealth
13
13
  property :renderingProvider, from: :rendering_provider
14
14
  property :serviceDate, from: :service_date
15
15
  property :serviceDateEnd, from: :service_date_end
16
+ property :serviceLineDateInformation, from: :service_line_date_information
17
+ property :testResults, from: :test_results
16
18
  end
17
19
  end
18
20
  end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ChangeHealth
4
+ module Models
5
+ module Claim
6
+ class ServiceLineDateInformation < Model
7
+ property :hemoglobinTestDate, from: :hemoglobin_test_date
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module ChangeHealth
4
+ module Models
5
+ module Claim
6
+ class TestResult < Model
7
+ property :measurementQualifier, from: :measurement_qualifier
8
+ property :measurementReferenceIdentificationCode, from: :measurement_reference_identification_code
9
+ property :testResults, from: :test_results
10
+ end
11
+ end
12
+ end
13
+ end
@@ -10,9 +10,8 @@ module ChangeHealth
10
10
  property :endDateOfService, from: :end_date_of_service, required: false
11
11
  property :serviceTypeCodes, from: :service_type_codes, required: false
12
12
 
13
- # rubocop:disable Naming/MethodName
13
+ # rubocop:disable-next Naming/MethodName
14
14
  alias dateRange? dateRange
15
- # rubocop:enable Naming/MethodName
16
15
  alias date_range? dateRange
17
16
  alias service_type_codes serviceTypeCodes
18
17
 
@@ -23,7 +23,7 @@ module ChangeHealth
23
23
  time_formatter(hour, HOUR_FORMAT)
24
24
  end
25
25
 
26
- # rubocop:disable Lint/SuppressedException
26
+ # rubocop:disable-next Lint/SuppressedException
27
27
  def self.time_formatter(time, format)
28
28
  begin
29
29
  time = Time.parse(time) if time.is_a?(String)
@@ -34,9 +34,8 @@ module ChangeHealth
34
34
 
35
35
  time
36
36
  end
37
- # rubocop:enable Lint/SuppressedException
38
37
 
39
- # rubocop:disable Lint/SuppressedException
38
+ # rubocop:disable-next Lint/SuppressedException
40
39
  PARSE_DATE = lambda { |d|
41
40
  begin
42
41
  d = Date.strptime(d.tr('-', ''), ChangeHealth::Models::DATE_FORMAT)
@@ -45,9 +44,8 @@ module ChangeHealth
45
44
 
46
45
  d
47
46
  }
48
- # rubocop:enable Lint/SuppressedException
49
47
 
50
- # rubocop:disable Lint/SuppressedException
48
+ # rubocop:disable-next Lint/SuppressedException
51
49
  POSTAL_CODE_FORMATTER = lambda { |postal_code|
52
50
  begin
53
51
  formatted_postal_code = postal_code&.to_s&.tr('-', '')
@@ -55,7 +53,6 @@ module ChangeHealth
55
53
  end
56
54
  formatted_postal_code || postal_code
57
55
  }
58
- # rubocop:enable Lint/SuppressedException
59
56
 
60
57
  CONTROL_NUMBER = -> { format('%09d', rand(1_000_000_000)) }
61
58
 
@@ -64,7 +61,7 @@ module ChangeHealth
64
61
  self.class.hashify(self)
65
62
  end
66
63
 
67
- # rubocop:disable Style/MapToHash
64
+ # rubocop:disable-next Style/MapToHash
68
65
  def self.hashify(model)
69
66
  model.map do |key, value|
70
67
  formatted_value = case value
@@ -84,7 +81,6 @@ module ChangeHealth
84
81
  [key, formatted_value]
85
82
  end.to_h
86
83
  end
87
- # rubocop:enable Style/MapToHash
88
84
 
89
85
  def self.format_value(key, value)
90
86
  return nil if value == ''
@@ -18,9 +18,8 @@ module ChangeHealth
18
18
  property :tradingPartnerId, from: :trading_partner_id, required: false
19
19
  property :tradingPartnerServiceId, from: :trading_partner_service_id, required: false
20
20
 
21
- # rubocop:disable Naming/MethodName
21
+ # rubocop:disable-next Naming/MethodName
22
22
  alias partnerId? partnerId
23
- # rubocop:enable Naming/MethodName
24
23
  alias partner_id? partnerId
25
24
 
26
25
  def add_dependent(dependent)
@@ -35,7 +35,7 @@ module ChangeHealth
35
35
  end
36
36
  end
37
37
 
38
- # rubocop:disable Metrics/BlockLength
38
+ # rubocop:disable-next Metrics/BlockLength
39
39
  %w[family individual employee child employee_and_child].each do |method|
40
40
  define_method(method) do
41
41
  send("#{method}s")
@@ -63,11 +63,10 @@ module ChangeHealth
63
63
  date_types.each do |time_mod|
64
64
  method_name = "#{method}_#{type_mod}_#{time_mod}"
65
65
 
66
- # rubocop:disable Layout/LineLength
66
+ # rubocop:disable-next Layout/LineLength
67
67
  define_method(method_name) do |**kwargs|
68
68
  send(method).send("#{type_mod}s").send("#{time_mod}s").where(**kwargs).first || send(method).send("#{type_mod}s").where(**kwargs).first
69
69
  end
70
- # rubocop:enable Layout/LineLength
71
70
 
72
71
  if 'out_of_pocket' == type_mod
73
72
  define_method(method_name.gsub('out_of_pocket', 'oop')) do |**kwargs|
@@ -89,7 +88,6 @@ module ChangeHealth
89
88
  end
90
89
  end
91
90
  end
92
- # rubocop:enable Metrics/BlockLength
93
91
 
94
92
  alias oops out_of_pockets
95
93
  alias copays copayments
@@ -5,7 +5,7 @@ module ChangeHealth
5
5
  class ResponseData
6
6
  attr_reader :response, :raw
7
7
 
8
- # rubocop:disable Lint/SuppressedException
8
+ # rubocop:disable-next Lint/SuppressedException
9
9
  def initialize(data: nil, response: nil)
10
10
  @response = response
11
11
  @raw = data
@@ -17,7 +17,6 @@ module ChangeHealth
17
17
 
18
18
  @raw ||= {}
19
19
  end
20
- # rubocop:enable Lint/SuppressedException
21
20
 
22
21
  def errors?
23
22
  field_error = errors.is_a?(Array) && false == errors.empty?
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ChangeHealth
4
- VERSION = '6.6.0'
4
+ VERSION = '6.7.0'
5
5
  end
data/lib/change_health.rb CHANGED
@@ -30,8 +30,10 @@ require 'change_health/models/claim/submission/receiver'
30
30
  require 'change_health/models/claim/submission/report_information'
31
31
  require 'change_health/models/claim/submission/service_facility_location'
32
32
  require 'change_health/models/claim/submission/service_line'
33
+ require 'change_health/models/claim/submission/service_line_date_information'
33
34
  require 'change_health/models/claim/submission/submitter'
34
35
  require 'change_health/models/claim/submission/subscriber'
36
+ require 'change_health/models/claim/submission/test_result'
35
37
  require 'change_health/models/eligibility/encounter'
36
38
  require 'change_health/models/eligibility/provider'
37
39
  require 'change_health/models/eligibility/subscriber'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: change_health
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.6.0
4
+ version: 6.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mike Crockett
@@ -91,8 +91,10 @@ files:
91
91
  - lib/change_health/models/claim/submission/report_information.rb
92
92
  - lib/change_health/models/claim/submission/service_facility_location.rb
93
93
  - lib/change_health/models/claim/submission/service_line.rb
94
+ - lib/change_health/models/claim/submission/service_line_date_information.rb
94
95
  - lib/change_health/models/claim/submission/submitter.rb
95
96
  - lib/change_health/models/claim/submission/subscriber.rb
97
+ - lib/change_health/models/claim/submission/test_result.rb
96
98
  - lib/change_health/models/eligibility/encounter.rb
97
99
  - lib/change_health/models/eligibility/provider.rb
98
100
  - lib/change_health/models/eligibility/subscriber.rb