candidhealth 0.18.2 → 0.19.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 90993023bc842df7ca7f776af7dfb84e6a88f49a22cec6194d94683bda4ca58d
4
- data.tar.gz: c76d2e483062d0372477cdd1f899284a6f9c1a892032da95f5b4076aabe6788b
3
+ metadata.gz: e492b95159333e559584834efc346ede4d645fb9f4a121f5bcd9d6f3477f84a1
4
+ data.tar.gz: cd48bd53a9b70abde90001e5ad46af279b82bc1809cb0804082d3792066f58c8
5
5
  SHA512:
6
- metadata.gz: 311657aa83abffe1f96d47404c6fbd9e3cbf814a5993ac6185cb7442f74440c6747a5406082ed550dbde471d3cbb589d7dbc554c931cced780dafc7e4b287bb1
7
- data.tar.gz: 85cc2cd24f7295c20e3b4b88e21a52fcd1575df42f946e8fc2b7d56e59d68b6052fe8a30f9ee8ba02bfe59220045a0c7491bd8917524474aa9684eb5d15d7b26
6
+ metadata.gz: e2d7f02a1bad2064c0d3c104f247a51643eb7c66056e4ddf09664268be6f6c27321e6f71b3b382ddfea63109f59537c56eb160073b8c37f5d605dfdf433368e5
7
+ data.tar.gz: 6c91c314676ab0b6a74c172c6c4ef1bacf45a7d395aa84b6617db568f3f48ca217aae619c0a5b133cf0fe4485c353b4c68aa03c252193ce8d44ff9b9e709b870
@@ -9,20 +9,21 @@ require "json"
9
9
  module CandidApiClient
10
10
  class Claims
11
11
  class Claim
12
- attr_reader :claim_id, :status, :clearinghouse, :clearinghouse_claim_id, :payer_claim_id, :service_lines, :eras,
13
- :additional_properties
12
+ attr_reader :claim_id, :status, :clearinghouse, :clearinghouse_claim_id, :payer_claim_id, :clia_number,
13
+ :service_lines, :eras, :additional_properties
14
14
 
15
15
  # @param claim_id [Commons::CLAIM_ID]
16
16
  # @param status [Claims::ClaimStatus]
17
17
  # @param clearinghouse [String]
18
18
  # @param clearinghouse_claim_id [String]
19
19
  # @param payer_claim_id [String]
20
+ # @param clia_number [String]
20
21
  # @param service_lines [Array<ServiceLines::V2::ServiceLine>]
21
22
  # @param eras [Array<Era::Era>]
22
23
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
23
24
  # @return [Claims::Claim]
24
- def initialize(claim_id:, status:, service_lines:, eras:, clearinghouse: nil, clearinghouse_claim_id: nil,
25
- payer_claim_id: nil, additional_properties: nil)
25
+ def initialize(claim_id:, status:, service_lines:, eras:, clearinghouse: nil, clearinghouse_claim_id: nil, payer_claim_id: nil,
26
+ clia_number: nil, additional_properties: nil)
26
27
  # @type [Commons::CLAIM_ID]
27
28
  @claim_id = claim_id
28
29
  # @type [Claims::ClaimStatus]
@@ -33,6 +34,8 @@ module CandidApiClient
33
34
  @clearinghouse_claim_id = clearinghouse_claim_id
34
35
  # @type [String]
35
36
  @payer_claim_id = payer_claim_id
37
+ # @type [String]
38
+ @clia_number = clia_number
36
39
  # @type [Array<ServiceLines::V2::ServiceLine>]
37
40
  @service_lines = service_lines
38
41
  # @type [Array<Era::Era>]
@@ -53,6 +56,7 @@ module CandidApiClient
53
56
  clearinghouse = struct.clearinghouse
54
57
  clearinghouse_claim_id = struct.clearinghouse_claim_id
55
58
  payer_claim_id = struct.payer_claim_id
59
+ clia_number = struct.clia_number
56
60
  service_lines = parsed_json["service_lines"]&.map do |v|
57
61
  v = v.to_json
58
62
  ServiceLines::V2::ServiceLine.from_json(json_object: v)
@@ -62,7 +66,7 @@ module CandidApiClient
62
66
  Era::Era.from_json(json_object: v)
63
67
  end
64
68
  new(claim_id: claim_id, status: status, clearinghouse: clearinghouse,
65
- clearinghouse_claim_id: clearinghouse_claim_id, payer_claim_id: payer_claim_id, service_lines: service_lines, eras: eras, additional_properties: struct)
69
+ clearinghouse_claim_id: clearinghouse_claim_id, payer_claim_id: payer_claim_id, clia_number: clia_number, service_lines: service_lines, eras: eras, additional_properties: struct)
66
70
  end
67
71
 
68
72
  # Serialize an instance of Claim to a JSON object
@@ -75,6 +79,7 @@ module CandidApiClient
75
79
  "clearinghouse": @clearinghouse,
76
80
  "clearinghouse_claim_id": @clearinghouse_claim_id,
77
81
  "payer_claim_id": @payer_claim_id,
82
+ "clia_number": @clia_number,
78
83
  "service_lines": @service_lines,
79
84
  "eras": @eras
80
85
  }.to_json
@@ -90,6 +95,7 @@ module CandidApiClient
90
95
  obj.clearinghouse&.is_a?(String) != false || raise("Passed value for field obj.clearinghouse is not the expected type, validation failed.")
91
96
  obj.clearinghouse_claim_id&.is_a?(String) != false || raise("Passed value for field obj.clearinghouse_claim_id is not the expected type, validation failed.")
92
97
  obj.payer_claim_id&.is_a?(String) != false || raise("Passed value for field obj.payer_claim_id is not the expected type, validation failed.")
98
+ obj.clia_number&.is_a?(String) != false || raise("Passed value for field obj.clia_number is not the expected type, validation failed.")
93
99
  obj.service_lines.is_a?(Array) != false || raise("Passed value for field obj.service_lines is not the expected type, validation failed.")
94
100
  obj.eras.is_a?(Array) != false || raise("Passed value for field obj.eras is not the expected type, validation failed.")
95
101
  end
@@ -69,6 +69,34 @@ module CandidApiClient
69
69
  end
70
70
  response.body
71
71
  end
72
+
73
+ # If you'd like access to this endpoint, please reach out to support@joincandidhealth.com with the subject line "Action: Activate Availity Eligibility API Endpoint
74
+ #
75
+ # This API is a wrapper around Availity's coverages API. Below are some helpful documentation links:
76
+ #
77
+ # - [Availity - Coverages 1.0.0 API](https://developer.availity.com/partner/documentation#c_coverages_references)
78
+ # - [Candid Availity Eligibility Integration Guide](https://support.joincandidhealth.com/hc/en-us/articles/24218441631892--Availity-Eligibility-Integration-Guide)
79
+ #
80
+ # A schema of the response object can be found here: [Availity Docs](https://developer.availity.com/partner/product/191210/api/190898#/Coverages_100/operation/%2Fcoverages%2F{id}/get)
81
+ #
82
+ # - Note Availity requires a free developer account to access this documentation.
83
+ #
84
+ # Check connection status of Availity API and partners here:
85
+ #
86
+ # - [Availity Trading Partner Connection Status](https://www.availity.com/status/)
87
+ #
88
+ # @param request [Object]
89
+ # @param request_options [RequestOptions]
90
+ # @return [Object]
91
+ def submit_eligibility_check_availity_post(request: nil, request_options: nil)
92
+ response = @request_client.conn.post("/api/eligibility/v2/availity") do |req|
93
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
94
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
95
+ req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
96
+ req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
97
+ end
98
+ response.body
99
+ end
72
100
  end
73
101
 
74
102
  class AsyncV2Client
@@ -138,6 +166,36 @@ module CandidApiClient
138
166
  response.body
139
167
  end
140
168
  end
169
+
170
+ # If you'd like access to this endpoint, please reach out to support@joincandidhealth.com with the subject line "Action: Activate Availity Eligibility API Endpoint
171
+ #
172
+ # This API is a wrapper around Availity's coverages API. Below are some helpful documentation links:
173
+ #
174
+ # - [Availity - Coverages 1.0.0 API](https://developer.availity.com/partner/documentation#c_coverages_references)
175
+ # - [Candid Availity Eligibility Integration Guide](https://support.joincandidhealth.com/hc/en-us/articles/24218441631892--Availity-Eligibility-Integration-Guide)
176
+ #
177
+ # A schema of the response object can be found here: [Availity Docs](https://developer.availity.com/partner/product/191210/api/190898#/Coverages_100/operation/%2Fcoverages%2F{id}/get)
178
+ #
179
+ # - Note Availity requires a free developer account to access this documentation.
180
+ #
181
+ # Check connection status of Availity API and partners here:
182
+ #
183
+ # - [Availity Trading Partner Connection Status](https://www.availity.com/status/)
184
+ #
185
+ # @param request [Object]
186
+ # @param request_options [RequestOptions]
187
+ # @return [Object]
188
+ def submit_eligibility_check_availity_post(request: nil, request_options: nil)
189
+ Async do
190
+ response = @request_client.conn.post("/api/eligibility/v2/availity") do |req|
191
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
192
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
193
+ req.headers = { **req.headers, **(request_options&.additional_headers || {}) }.compact
194
+ req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
195
+ end
196
+ response.body
197
+ end
198
+ end
141
199
  end
142
200
  end
143
201
  end
@@ -3,6 +3,7 @@
3
3
  require "json"
4
4
  require_relative "../../commons/types/service_line_id"
5
5
  require_relative "../../commons/types/claim_id"
6
+ require_relative "../../commons/types/encounter_external_id"
6
7
  require_relative "../../commons/types/provider_id"
7
8
 
8
9
  module CandidApiClient
@@ -35,6 +36,8 @@ module CandidApiClient
35
36
  json_object.value
36
37
  when "claim_by_id"
37
38
  json_object.value
39
+ when "claim_by_encounter_external_id"
40
+ json_object.value
38
41
  when "billing_provider_by_id"
39
42
  json_object.value
40
43
  when "unattributed"
@@ -54,6 +57,8 @@ module CandidApiClient
54
57
  { "type": @discriminant, "value": @member }.to_json
55
58
  when "claim_by_id"
56
59
  { "type": @discriminant, "value": @member }.to_json
60
+ when "claim_by_encounter_external_id"
61
+ { "type": @discriminant, "value": @member }.to_json
57
62
  when "billing_provider_by_id"
58
63
  { "type": @discriminant, "value": @member }.to_json
59
64
  when "unattributed"
@@ -74,6 +79,8 @@ module CandidApiClient
74
79
  obj.is_a?(UUID) != false || raise("Passed value for field obj is not the expected type, validation failed.")
75
80
  when "claim_by_id"
76
81
  obj.is_a?(UUID) != false || raise("Passed value for field obj is not the expected type, validation failed.")
82
+ when "claim_by_encounter_external_id"
83
+ obj.is_a?(String) != false || raise("Passed value for field obj is not the expected type, validation failed.")
77
84
  when "billing_provider_by_id"
78
85
  obj.is_a?(UUID) != false || raise("Passed value for field obj is not the expected type, validation failed.")
79
86
  when "unattributed"
@@ -103,6 +110,12 @@ module CandidApiClient
103
110
  new(member: member, discriminant: "claim_by_id")
104
111
  end
105
112
 
113
+ # @param member [Commons::ENCOUNTER_EXTERNAL_ID]
114
+ # @return [Financials::AllocationTargetCreate]
115
+ def self.claim_by_encounter_external_id(member:)
116
+ new(member: member, discriminant: "claim_by_encounter_external_id")
117
+ end
118
+
106
119
  # @param member [Commons::PROVIDER_ID]
107
120
  # @return [Financials::AllocationTargetCreate]
108
121
  def self.billing_provider_by_id(member:)
@@ -0,0 +1,55 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../../../commons/types/claim_id"
4
+ require "json"
5
+
6
+ module CandidApiClient
7
+ module Invoices
8
+ module V2
9
+ class ClaimInvoiceItem
10
+ attr_reader :claim_id, :amount_cents, :additional_properties
11
+
12
+ # @param claim_id [Commons::CLAIM_ID]
13
+ # @param amount_cents [Integer]
14
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
15
+ # @return [Invoices::V2::ClaimInvoiceItem]
16
+ def initialize(claim_id:, amount_cents:, additional_properties: nil)
17
+ # @type [Commons::CLAIM_ID]
18
+ @claim_id = claim_id
19
+ # @type [Integer]
20
+ @amount_cents = amount_cents
21
+ # @type [OpenStruct] Additional properties unmapped to the current class definition
22
+ @additional_properties = additional_properties
23
+ end
24
+
25
+ # Deserialize a JSON object to an instance of ClaimInvoiceItem
26
+ #
27
+ # @param json_object [JSON]
28
+ # @return [Invoices::V2::ClaimInvoiceItem]
29
+ def self.from_json(json_object:)
30
+ struct = JSON.parse(json_object, object_class: OpenStruct)
31
+ JSON.parse(json_object)
32
+ claim_id = struct.claim_id
33
+ amount_cents = struct.amount_cents
34
+ new(claim_id: claim_id, amount_cents: amount_cents, additional_properties: struct)
35
+ end
36
+
37
+ # Serialize an instance of ClaimInvoiceItem to a JSON object
38
+ #
39
+ # @return [JSON]
40
+ def to_json(*_args)
41
+ { "claim_id": @claim_id, "amount_cents": @amount_cents }.to_json
42
+ end
43
+
44
+ # 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.
45
+ #
46
+ # @param obj [Object]
47
+ # @return [Void]
48
+ def self.validate_raw(obj:)
49
+ obj.claim_id.is_a?(UUID) != false || raise("Passed value for field obj.claim_id is not the expected type, validation failed.")
50
+ obj.amount_cents.is_a?(Integer) != false || raise("Passed value for field obj.amount_cents is not the expected type, validation failed.")
51
+ end
52
+ end
53
+ end
54
+ end
55
+ end
@@ -0,0 +1,67 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "claim_invoice_item"
4
+ require "json"
5
+
6
+ module CandidApiClient
7
+ module Invoices
8
+ module V2
9
+ class ClaimInvoiceItemInfo
10
+ attr_reader :claim_invoice_item, :service_line_invoice_items, :additional_properties
11
+
12
+ # @param claim_invoice_item [Invoices::V2::ClaimInvoiceItem]
13
+ # @param service_line_invoice_items [Hash{Commons::SERVICE_LINE_ID => Invoices::V2::ServiceLineInvoiceItem}]
14
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
15
+ # @return [Invoices::V2::ClaimInvoiceItemInfo]
16
+ def initialize(service_line_invoice_items:, claim_invoice_item: nil, additional_properties: nil)
17
+ # @type [Invoices::V2::ClaimInvoiceItem]
18
+ @claim_invoice_item = claim_invoice_item
19
+ # @type [Hash{Commons::SERVICE_LINE_ID => Invoices::V2::ServiceLineInvoiceItem}]
20
+ @service_line_invoice_items = service_line_invoice_items
21
+ # @type [OpenStruct] Additional properties unmapped to the current class definition
22
+ @additional_properties = additional_properties
23
+ end
24
+
25
+ # Deserialize a JSON object to an instance of ClaimInvoiceItemInfo
26
+ #
27
+ # @param json_object [JSON]
28
+ # @return [Invoices::V2::ClaimInvoiceItemInfo]
29
+ def self.from_json(json_object:)
30
+ struct = JSON.parse(json_object, object_class: OpenStruct)
31
+ parsed_json = JSON.parse(json_object)
32
+ if parsed_json["claim_invoice_item"].nil?
33
+ claim_invoice_item = nil
34
+ else
35
+ claim_invoice_item = parsed_json["claim_invoice_item"].to_json
36
+ claim_invoice_item = Invoices::V2::ClaimInvoiceItem.from_json(json_object: claim_invoice_item)
37
+ end
38
+ service_line_invoice_items = parsed_json["service_line_invoice_items"]&.transform_values do |_k, v|
39
+ v = v.to_json
40
+ Invoices::V2::ServiceLineInvoiceItem.from_json(json_object: v)
41
+ end
42
+ new(claim_invoice_item: claim_invoice_item, service_line_invoice_items: service_line_invoice_items,
43
+ additional_properties: struct)
44
+ end
45
+
46
+ # Serialize an instance of ClaimInvoiceItemInfo to a JSON object
47
+ #
48
+ # @return [JSON]
49
+ def to_json(*_args)
50
+ {
51
+ "claim_invoice_item": @claim_invoice_item,
52
+ "service_line_invoice_items": @service_line_invoice_items
53
+ }.to_json
54
+ end
55
+
56
+ # 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.
57
+ #
58
+ # @param obj [Object]
59
+ # @return [Void]
60
+ def self.validate_raw(obj:)
61
+ obj.claim_invoice_item.nil? || Invoices::V2::ClaimInvoiceItem.validate_raw(obj: obj.claim_invoice_item)
62
+ obj.service_line_invoice_items.is_a?(Hash) != false || raise("Passed value for field obj.service_line_invoice_items is not the expected type, validation failed.")
63
+ end
64
+ end
65
+ end
66
+ end
67
+ end
@@ -0,0 +1,136 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "date"
4
+ require_relative "../../../commons/types/organization_id"
5
+ require_relative "invoice_destination_metadata"
6
+ require_relative "../../../commons/types/patient_external_id"
7
+ require_relative "invoice_status"
8
+ require_relative "invoice_item_info"
9
+ require "json"
10
+
11
+ module CandidApiClient
12
+ module Invoices
13
+ module V2
14
+ class Invoice
15
+ attr_reader :amount_cents, :created_at, :updated_at, :organization_id, :invoice_destination_metadata,
16
+ :patient_external_id, :note, :due_date, :status, :url, :customer_invoice_url, :items, :additional_properties
17
+
18
+ # @param amount_cents [Integer] Total monetary amount (in cents) of all Invoice Items
19
+ # @param created_at [DateTime]
20
+ # @param updated_at [DateTime]
21
+ # @param organization_id [Commons::ORGANIZATION_ID]
22
+ # @param invoice_destination_metadata [Invoices::V2::InvoiceDestinationMetadata] Contains all relevant information from the third-party service this invoice was created in
23
+ # @param patient_external_id [Commons::PATIENT_EXTERNAL_ID]
24
+ # @param note [String]
25
+ # @param due_date [Date]
26
+ # @param status [Invoices::V2::InvoiceStatus]
27
+ # @param url [String] Link to the admin view of the invoice in the third-party service
28
+ # @param customer_invoice_url [String] Link to the patient view of the invoice in the third-party service
29
+ # @param items [Invoices::V2::InvoiceItemInfo] The InvoiceItem rollup which contains all claim and service line invoice items
30
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
31
+ # @return [Invoices::V2::Invoice]
32
+ def initialize(amount_cents:, created_at:, updated_at:, organization_id:, invoice_destination_metadata:,
33
+ patient_external_id:, due_date:, status:, items:, note: nil, url: nil, customer_invoice_url: nil, additional_properties: nil)
34
+ # @type [Integer] Total monetary amount (in cents) of all Invoice Items
35
+ @amount_cents = amount_cents
36
+ # @type [DateTime]
37
+ @created_at = created_at
38
+ # @type [DateTime]
39
+ @updated_at = updated_at
40
+ # @type [Commons::ORGANIZATION_ID]
41
+ @organization_id = organization_id
42
+ # @type [Invoices::V2::InvoiceDestinationMetadata] Contains all relevant information from the third-party service this invoice was created in
43
+ @invoice_destination_metadata = invoice_destination_metadata
44
+ # @type [Commons::PATIENT_EXTERNAL_ID]
45
+ @patient_external_id = patient_external_id
46
+ # @type [String]
47
+ @note = note
48
+ # @type [Date]
49
+ @due_date = due_date
50
+ # @type [Invoices::V2::InvoiceStatus]
51
+ @status = status
52
+ # @type [String] Link to the admin view of the invoice in the third-party service
53
+ @url = url
54
+ # @type [String] Link to the patient view of the invoice in the third-party service
55
+ @customer_invoice_url = customer_invoice_url
56
+ # @type [Invoices::V2::InvoiceItemInfo] The InvoiceItem rollup which contains all claim and service line invoice items
57
+ @items = items
58
+ # @type [OpenStruct] Additional properties unmapped to the current class definition
59
+ @additional_properties = additional_properties
60
+ end
61
+
62
+ # Deserialize a JSON object to an instance of Invoice
63
+ #
64
+ # @param json_object [JSON]
65
+ # @return [Invoices::V2::Invoice]
66
+ def self.from_json(json_object:)
67
+ struct = JSON.parse(json_object, object_class: OpenStruct)
68
+ parsed_json = JSON.parse(json_object)
69
+ amount_cents = struct.amount_cents
70
+ created_at = (DateTime.parse(parsed_json["created_at"]) unless parsed_json["created_at"].nil?)
71
+ updated_at = (DateTime.parse(parsed_json["updated_at"]) unless parsed_json["updated_at"].nil?)
72
+ organization_id = struct.organization_id
73
+ if parsed_json["invoice_destination_metadata"].nil?
74
+ invoice_destination_metadata = nil
75
+ else
76
+ invoice_destination_metadata = parsed_json["invoice_destination_metadata"].to_json
77
+ invoice_destination_metadata = Invoices::V2::InvoiceDestinationMetadata.from_json(json_object: invoice_destination_metadata)
78
+ end
79
+ patient_external_id = struct.patient_external_id
80
+ note = struct.note
81
+ due_date = (Date.parse(parsed_json["due_date"]) unless parsed_json["due_date"].nil?)
82
+ status = struct.status
83
+ url = struct.url
84
+ customer_invoice_url = struct.customer_invoice_url
85
+ if parsed_json["items"].nil?
86
+ items = nil
87
+ else
88
+ items = parsed_json["items"].to_json
89
+ items = Invoices::V2::InvoiceItemInfo.from_json(json_object: items)
90
+ end
91
+ new(amount_cents: amount_cents, created_at: created_at, updated_at: updated_at,
92
+ organization_id: organization_id, invoice_destination_metadata: invoice_destination_metadata, patient_external_id: patient_external_id, note: note, due_date: due_date, status: status, url: url, customer_invoice_url: customer_invoice_url, items: items, additional_properties: struct)
93
+ end
94
+
95
+ # Serialize an instance of Invoice to a JSON object
96
+ #
97
+ # @return [JSON]
98
+ def to_json(*_args)
99
+ {
100
+ "amount_cents": @amount_cents,
101
+ "created_at": @created_at,
102
+ "updated_at": @updated_at,
103
+ "organization_id": @organization_id,
104
+ "invoice_destination_metadata": @invoice_destination_metadata,
105
+ "patient_external_id": @patient_external_id,
106
+ "note": @note,
107
+ "due_date": @due_date,
108
+ "status": @status,
109
+ "url": @url,
110
+ "customer_invoice_url": @customer_invoice_url,
111
+ "items": @items
112
+ }.to_json
113
+ end
114
+
115
+ # 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.
116
+ #
117
+ # @param obj [Object]
118
+ # @return [Void]
119
+ def self.validate_raw(obj:)
120
+ obj.amount_cents.is_a?(Integer) != false || raise("Passed value for field obj.amount_cents is not the expected type, validation failed.")
121
+ obj.created_at.is_a?(DateTime) != false || raise("Passed value for field obj.created_at is not the expected type, validation failed.")
122
+ obj.updated_at.is_a?(DateTime) != false || raise("Passed value for field obj.updated_at is not the expected type, validation failed.")
123
+ obj.organization_id.is_a?(UUID) != false || raise("Passed value for field obj.organization_id is not the expected type, validation failed.")
124
+ Invoices::V2::InvoiceDestinationMetadata.validate_raw(obj: obj.invoice_destination_metadata)
125
+ obj.patient_external_id.is_a?(String) != false || raise("Passed value for field obj.patient_external_id is not the expected type, validation failed.")
126
+ obj.note&.is_a?(String) != false || raise("Passed value for field obj.note is not the expected type, validation failed.")
127
+ obj.due_date.is_a?(Date) != false || raise("Passed value for field obj.due_date is not the expected type, validation failed.")
128
+ obj.status.is_a?(Invoices::V2::InvoiceStatus) != false || raise("Passed value for field obj.status is not the expected type, validation failed.")
129
+ obj.url&.is_a?(String) != false || raise("Passed value for field obj.url is not the expected type, validation failed.")
130
+ obj.customer_invoice_url&.is_a?(String) != false || raise("Passed value for field obj.customer_invoice_url is not the expected type, validation failed.")
131
+ Invoices::V2::InvoiceItemInfo.validate_raw(obj: obj.items)
132
+ end
133
+ end
134
+ end
135
+ end
136
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CandidApiClient
4
+ module Invoices
5
+ module V2
6
+ class InvoiceDestination
7
+ STRIPE = "STRIPE"
8
+ CEDAR = "CEDAR"
9
+ HEALTHIE = "HEALTHIE"
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,72 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "invoice_destination"
4
+ require "json"
5
+
6
+ module CandidApiClient
7
+ module Invoices
8
+ module V2
9
+ class InvoiceDestinationMetadata
10
+ attr_reader :invoice_destination, :source_id, :source_customer_id, :destination_status, :additional_properties
11
+
12
+ # @param invoice_destination [Invoices::V2::InvoiceDestination] Defines which third-party service this invoice was created in
13
+ # @param source_id [String] The id of the invoice in the third-party service
14
+ # @param source_customer_id [String] The id of the customer that the invoice is attributed to in the third-party service
15
+ # @param destination_status [String] The status of the invoice in the third-party service
16
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
17
+ # @return [Invoices::V2::InvoiceDestinationMetadata]
18
+ def initialize(invoice_destination:, source_id:, source_customer_id:, destination_status: nil,
19
+ additional_properties: nil)
20
+ # @type [Invoices::V2::InvoiceDestination] Defines which third-party service this invoice was created in
21
+ @invoice_destination = invoice_destination
22
+ # @type [String] The id of the invoice in the third-party service
23
+ @source_id = source_id
24
+ # @type [String] The id of the customer that the invoice is attributed to in the third-party service
25
+ @source_customer_id = source_customer_id
26
+ # @type [String] The status of the invoice in the third-party service
27
+ @destination_status = destination_status
28
+ # @type [OpenStruct] Additional properties unmapped to the current class definition
29
+ @additional_properties = additional_properties
30
+ end
31
+
32
+ # Deserialize a JSON object to an instance of InvoiceDestinationMetadata
33
+ #
34
+ # @param json_object [JSON]
35
+ # @return [Invoices::V2::InvoiceDestinationMetadata]
36
+ def self.from_json(json_object:)
37
+ struct = JSON.parse(json_object, object_class: OpenStruct)
38
+ JSON.parse(json_object)
39
+ invoice_destination = struct.invoice_destination
40
+ source_id = struct.source_id
41
+ source_customer_id = struct.source_customer_id
42
+ destination_status = struct.destination_status
43
+ new(invoice_destination: invoice_destination, source_id: source_id, source_customer_id: source_customer_id,
44
+ destination_status: destination_status, additional_properties: struct)
45
+ end
46
+
47
+ # Serialize an instance of InvoiceDestinationMetadata to a JSON object
48
+ #
49
+ # @return [JSON]
50
+ def to_json(*_args)
51
+ {
52
+ "invoice_destination": @invoice_destination,
53
+ "source_id": @source_id,
54
+ "source_customer_id": @source_customer_id,
55
+ "destination_status": @destination_status
56
+ }.to_json
57
+ end
58
+
59
+ # 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.
60
+ #
61
+ # @param obj [Object]
62
+ # @return [Void]
63
+ def self.validate_raw(obj:)
64
+ obj.invoice_destination.is_a?(Invoices::V2::InvoiceDestination) != false || raise("Passed value for field obj.invoice_destination is not the expected type, validation failed.")
65
+ obj.source_id.is_a?(String) != false || raise("Passed value for field obj.source_id is not the expected type, validation failed.")
66
+ obj.source_customer_id.is_a?(String) != false || raise("Passed value for field obj.source_customer_id is not the expected type, validation failed.")
67
+ obj.destination_status&.is_a?(String) != false || raise("Passed value for field obj.destination_status is not the expected type, validation failed.")
68
+ end
69
+ end
70
+ end
71
+ end
72
+ end
@@ -0,0 +1,67 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../../../commons/types/invoice_id"
4
+ require_relative "invoice"
5
+ require_relative "invoice_destination"
6
+ require "json"
7
+
8
+ module CandidApiClient
9
+ module Invoices
10
+ module V2
11
+ class InvoiceInfo
12
+ attr_reader :id, :invoice, :invoice_type, :additional_properties
13
+
14
+ # @param id [Commons::INVOICE_ID]
15
+ # @param invoice [Invoices::V2::Invoice]
16
+ # @param invoice_type [Invoices::V2::InvoiceDestination]
17
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
18
+ # @return [Invoices::V2::InvoiceInfo]
19
+ def initialize(id:, invoice:, invoice_type:, additional_properties: nil)
20
+ # @type [Commons::INVOICE_ID]
21
+ @id = id
22
+ # @type [Invoices::V2::Invoice]
23
+ @invoice = invoice
24
+ # @type [Invoices::V2::InvoiceDestination]
25
+ @invoice_type = invoice_type
26
+ # @type [OpenStruct] Additional properties unmapped to the current class definition
27
+ @additional_properties = additional_properties
28
+ end
29
+
30
+ # Deserialize a JSON object to an instance of InvoiceInfo
31
+ #
32
+ # @param json_object [JSON]
33
+ # @return [Invoices::V2::InvoiceInfo]
34
+ def self.from_json(json_object:)
35
+ struct = JSON.parse(json_object, object_class: OpenStruct)
36
+ parsed_json = JSON.parse(json_object)
37
+ id = struct.id
38
+ if parsed_json["invoice"].nil?
39
+ invoice = nil
40
+ else
41
+ invoice = parsed_json["invoice"].to_json
42
+ invoice = Invoices::V2::Invoice.from_json(json_object: invoice)
43
+ end
44
+ invoice_type = struct.invoice_type
45
+ new(id: id, invoice: invoice, invoice_type: invoice_type, additional_properties: struct)
46
+ end
47
+
48
+ # Serialize an instance of InvoiceInfo to a JSON object
49
+ #
50
+ # @return [JSON]
51
+ def to_json(*_args)
52
+ { "id": @id, "invoice": @invoice, "invoice_type": @invoice_type }.to_json
53
+ end
54
+
55
+ # 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.
56
+ #
57
+ # @param obj [Object]
58
+ # @return [Void]
59
+ def self.validate_raw(obj:)
60
+ obj.id.is_a?(UUID) != false || raise("Passed value for field obj.id is not the expected type, validation failed.")
61
+ Invoices::V2::Invoice.validate_raw(obj: obj.invoice)
62
+ obj.invoice_type.is_a?(Invoices::V2::InvoiceDestination) != false || raise("Passed value for field obj.invoice_type is not the expected type, validation failed.")
63
+ end
64
+ end
65
+ end
66
+ end
67
+ end
@@ -0,0 +1,62 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "unattributed_invoice_item"
4
+ require "json"
5
+
6
+ module CandidApiClient
7
+ module Invoices
8
+ module V2
9
+ class InvoiceItemInfo
10
+ attr_reader :claim_invoice_items, :unattributed_items, :additional_properties
11
+
12
+ # @param claim_invoice_items [Hash{Commons::CLAIM_ID => Invoices::V2::ClaimInvoiceItemInfo}]
13
+ # @param unattributed_items [Array<Invoices::V2::UnattributedInvoiceItem>]
14
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
15
+ # @return [Invoices::V2::InvoiceItemInfo]
16
+ def initialize(claim_invoice_items:, unattributed_items:, additional_properties: nil)
17
+ # @type [Hash{Commons::CLAIM_ID => Invoices::V2::ClaimInvoiceItemInfo}]
18
+ @claim_invoice_items = claim_invoice_items
19
+ # @type [Array<Invoices::V2::UnattributedInvoiceItem>]
20
+ @unattributed_items = unattributed_items
21
+ # @type [OpenStruct] Additional properties unmapped to the current class definition
22
+ @additional_properties = additional_properties
23
+ end
24
+
25
+ # Deserialize a JSON object to an instance of InvoiceItemInfo
26
+ #
27
+ # @param json_object [JSON]
28
+ # @return [Invoices::V2::InvoiceItemInfo]
29
+ def self.from_json(json_object:)
30
+ struct = JSON.parse(json_object, object_class: OpenStruct)
31
+ parsed_json = JSON.parse(json_object)
32
+ claim_invoice_items = parsed_json["claim_invoice_items"]&.transform_values do |_k, v|
33
+ v = v.to_json
34
+ Invoices::V2::ClaimInvoiceItemInfo.from_json(json_object: v)
35
+ end
36
+ unattributed_items = parsed_json["unattributed_items"]&.map do |v|
37
+ v = v.to_json
38
+ Invoices::V2::UnattributedInvoiceItem.from_json(json_object: v)
39
+ end
40
+ new(claim_invoice_items: claim_invoice_items, unattributed_items: unattributed_items,
41
+ additional_properties: struct)
42
+ end
43
+
44
+ # Serialize an instance of InvoiceItemInfo to a JSON object
45
+ #
46
+ # @return [JSON]
47
+ def to_json(*_args)
48
+ { "claim_invoice_items": @claim_invoice_items, "unattributed_items": @unattributed_items }.to_json
49
+ end
50
+
51
+ # 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.
52
+ #
53
+ # @param obj [Object]
54
+ # @return [Void]
55
+ def self.validate_raw(obj:)
56
+ obj.claim_invoice_items.is_a?(Hash) != false || raise("Passed value for field obj.claim_invoice_items is not the expected type, validation failed.")
57
+ obj.unattributed_items.is_a?(Array) != false || raise("Passed value for field obj.unattributed_items is not the expected type, validation failed.")
58
+ end
59
+ end
60
+ end
61
+ end
62
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CandidApiClient
4
+ module Invoices
5
+ module V2
6
+ class InvoiceStatus
7
+ DRAFT = "DRAFT"
8
+ OPEN = "OPEN"
9
+ PAID = "PAID"
10
+ VOID = "VOID"
11
+ UNCOLLECTIBLE = "UNCOLLECTIBLE"
12
+ HELD = "HELD"
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,55 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../../../commons/types/service_line_id"
4
+ require "json"
5
+
6
+ module CandidApiClient
7
+ module Invoices
8
+ module V2
9
+ class ServiceLineInvoiceItem
10
+ attr_reader :service_line_id, :amount_cents, :additional_properties
11
+
12
+ # @param service_line_id [Commons::SERVICE_LINE_ID]
13
+ # @param amount_cents [Integer]
14
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
15
+ # @return [Invoices::V2::ServiceLineInvoiceItem]
16
+ def initialize(service_line_id:, amount_cents:, additional_properties: nil)
17
+ # @type [Commons::SERVICE_LINE_ID]
18
+ @service_line_id = service_line_id
19
+ # @type [Integer]
20
+ @amount_cents = amount_cents
21
+ # @type [OpenStruct] Additional properties unmapped to the current class definition
22
+ @additional_properties = additional_properties
23
+ end
24
+
25
+ # Deserialize a JSON object to an instance of ServiceLineInvoiceItem
26
+ #
27
+ # @param json_object [JSON]
28
+ # @return [Invoices::V2::ServiceLineInvoiceItem]
29
+ def self.from_json(json_object:)
30
+ struct = JSON.parse(json_object, object_class: OpenStruct)
31
+ JSON.parse(json_object)
32
+ service_line_id = struct.service_line_id
33
+ amount_cents = struct.amount_cents
34
+ new(service_line_id: service_line_id, amount_cents: amount_cents, additional_properties: struct)
35
+ end
36
+
37
+ # Serialize an instance of ServiceLineInvoiceItem to a JSON object
38
+ #
39
+ # @return [JSON]
40
+ def to_json(*_args)
41
+ { "service_line_id": @service_line_id, "amount_cents": @amount_cents }.to_json
42
+ end
43
+
44
+ # 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.
45
+ #
46
+ # @param obj [Object]
47
+ # @return [Void]
48
+ def self.validate_raw(obj:)
49
+ obj.service_line_id.is_a?(UUID) != false || raise("Passed value for field obj.service_line_id is not the expected type, validation failed.")
50
+ obj.amount_cents.is_a?(Integer) != false || raise("Passed value for field obj.amount_cents is not the expected type, validation failed.")
51
+ end
52
+ end
53
+ end
54
+ end
55
+ end
@@ -0,0 +1,49 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "json"
4
+
5
+ module CandidApiClient
6
+ module Invoices
7
+ module V2
8
+ class UnattributedInvoiceItem
9
+ attr_reader :amount_cents, :additional_properties
10
+
11
+ # @param amount_cents [Integer]
12
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
13
+ # @return [Invoices::V2::UnattributedInvoiceItem]
14
+ def initialize(amount_cents:, additional_properties: nil)
15
+ # @type [Integer]
16
+ @amount_cents = amount_cents
17
+ # @type [OpenStruct] Additional properties unmapped to the current class definition
18
+ @additional_properties = additional_properties
19
+ end
20
+
21
+ # Deserialize a JSON object to an instance of UnattributedInvoiceItem
22
+ #
23
+ # @param json_object [JSON]
24
+ # @return [Invoices::V2::UnattributedInvoiceItem]
25
+ def self.from_json(json_object:)
26
+ struct = JSON.parse(json_object, object_class: OpenStruct)
27
+ JSON.parse(json_object)
28
+ amount_cents = struct.amount_cents
29
+ new(amount_cents: amount_cents, additional_properties: struct)
30
+ end
31
+
32
+ # Serialize an instance of UnattributedInvoiceItem to a JSON object
33
+ #
34
+ # @return [JSON]
35
+ def to_json(*_args)
36
+ { "amount_cents": @amount_cents }.to_json
37
+ end
38
+
39
+ # 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.
40
+ #
41
+ # @param obj [Object]
42
+ # @return [Void]
43
+ def self.validate_raw(obj:)
44
+ obj.amount_cents.is_a?(Integer) != false || raise("Passed value for field obj.amount_cents is not the expected type, validation failed.")
45
+ end
46
+ end
47
+ end
48
+ end
49
+ end
@@ -5,6 +5,7 @@ require_relative "../../../diagnoses/types/diagnosis_id"
5
5
  require_relative "service_line_era_data"
6
6
  require_relative "service_line_adjustment"
7
7
  require_relative "../../../invoices/types/invoice"
8
+ require_relative "../../../invoices/v_2/types/invoice_info"
8
9
  require_relative "service_line_denial_reason"
9
10
  require_relative "../../../commons/types/facility_type_code"
10
11
  require_relative "../../../commons/types/service_line_id"
@@ -20,7 +21,7 @@ module CandidApiClient
20
21
  module V2
21
22
  class ServiceLine
22
23
  attr_reader :modifiers, :charge_amount_cents, :allowed_amount_cents, :insurance_balance_cents,
23
- :patient_balance_cents, :paid_amount_cents, :patient_responsibility_cents, :diagnosis_id_zero, :diagnosis_id_one, :diagnosis_id_two, :diagnosis_id_three, :service_line_era_data, :service_line_manual_adjustments, :related_invoices, :denial_reason, :place_of_service_code, :service_line_id, :procedure_code, :quantity, :units, :claim_id, :date_of_service_range, :description, :date_of_service, :end_date_of_service, :additional_properties
24
+ :patient_balance_cents, :paid_amount_cents, :patient_responsibility_cents, :diagnosis_id_zero, :diagnosis_id_one, :diagnosis_id_two, :diagnosis_id_three, :service_line_era_data, :service_line_manual_adjustments, :related_invoices, :related_invoice_info, :denial_reason, :place_of_service_code, :service_line_id, :procedure_code, :quantity, :units, :claim_id, :date_of_service_range, :description, :date_of_service, :end_date_of_service, :additional_properties
24
25
 
25
26
  # @param modifiers [Array<Commons::ProcedureModifier>]
26
27
  # @param charge_amount_cents [Integer]
@@ -36,6 +37,7 @@ module CandidApiClient
36
37
  # @param service_line_era_data [ServiceLines::V2::ServiceLineEraData]
37
38
  # @param service_line_manual_adjustments [Array<ServiceLines::V2::ServiceLineAdjustment>]
38
39
  # @param related_invoices [Array<Invoices::Invoice>]
40
+ # @param related_invoice_info [Array<Invoices::V2::InvoiceInfo>]
39
41
  # @param denial_reason [ServiceLines::V2::ServiceLineDenialReason]
40
42
  # @param place_of_service_code [Commons::FacilityTypeCode]
41
43
  # @param service_line_id [Commons::SERVICE_LINE_ID]
@@ -53,7 +55,7 @@ module CandidApiClient
53
55
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
54
56
  # @return [ServiceLines::V2::ServiceLine]
55
57
  def initialize(service_line_id:, procedure_code:, quantity:, units:, claim_id:, date_of_service_range:, date_of_service:, modifiers: nil, charge_amount_cents: nil, allowed_amount_cents: nil,
56
- insurance_balance_cents: nil, patient_balance_cents: nil, paid_amount_cents: nil, patient_responsibility_cents: nil, diagnosis_id_zero: nil, diagnosis_id_one: nil, diagnosis_id_two: nil, diagnosis_id_three: nil, service_line_era_data: nil, service_line_manual_adjustments: nil, related_invoices: nil, denial_reason: nil, place_of_service_code: nil, description: nil, end_date_of_service: nil, additional_properties: nil)
58
+ insurance_balance_cents: nil, patient_balance_cents: nil, paid_amount_cents: nil, patient_responsibility_cents: nil, diagnosis_id_zero: nil, diagnosis_id_one: nil, diagnosis_id_two: nil, diagnosis_id_three: nil, service_line_era_data: nil, service_line_manual_adjustments: nil, related_invoices: nil, related_invoice_info: nil, denial_reason: nil, place_of_service_code: nil, description: nil, end_date_of_service: nil, additional_properties: nil)
57
59
  # @type [Array<Commons::ProcedureModifier>]
58
60
  @modifiers = modifiers
59
61
  # @type [Integer]
@@ -82,6 +84,8 @@ module CandidApiClient
82
84
  @service_line_manual_adjustments = service_line_manual_adjustments
83
85
  # @type [Array<Invoices::Invoice>]
84
86
  @related_invoices = related_invoices
87
+ # @type [Array<Invoices::V2::InvoiceInfo>]
88
+ @related_invoice_info = related_invoice_info
85
89
  # @type [ServiceLines::V2::ServiceLineDenialReason]
86
90
  @denial_reason = denial_reason
87
91
  # @type [Commons::FacilityTypeCode]
@@ -143,6 +147,10 @@ module CandidApiClient
143
147
  v = v.to_json
144
148
  Invoices::Invoice.from_json(json_object: v)
145
149
  end
150
+ related_invoice_info = parsed_json["related_invoice_info"]&.map do |v|
151
+ v = v.to_json
152
+ Invoices::V2::InvoiceInfo.from_json(json_object: v)
153
+ end
146
154
  if parsed_json["denial_reason"].nil?
147
155
  denial_reason = nil
148
156
  else
@@ -167,7 +175,7 @@ module CandidApiClient
167
175
  Date.parse(parsed_json["end_date_of_service"])
168
176
  end
169
177
  new(modifiers: modifiers, charge_amount_cents: charge_amount_cents,
170
- allowed_amount_cents: allowed_amount_cents, insurance_balance_cents: insurance_balance_cents, patient_balance_cents: patient_balance_cents, paid_amount_cents: paid_amount_cents, patient_responsibility_cents: patient_responsibility_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, service_line_era_data: service_line_era_data, service_line_manual_adjustments: service_line_manual_adjustments, related_invoices: related_invoices, denial_reason: denial_reason, place_of_service_code: place_of_service_code, service_line_id: service_line_id, procedure_code: procedure_code, quantity: quantity, units: units, claim_id: claim_id, date_of_service_range: date_of_service_range, description: description, date_of_service: date_of_service, end_date_of_service: end_date_of_service, additional_properties: struct)
178
+ allowed_amount_cents: allowed_amount_cents, insurance_balance_cents: insurance_balance_cents, patient_balance_cents: patient_balance_cents, paid_amount_cents: paid_amount_cents, patient_responsibility_cents: patient_responsibility_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, service_line_era_data: service_line_era_data, service_line_manual_adjustments: service_line_manual_adjustments, related_invoices: related_invoices, related_invoice_info: related_invoice_info, denial_reason: denial_reason, place_of_service_code: place_of_service_code, service_line_id: service_line_id, procedure_code: procedure_code, quantity: quantity, units: units, claim_id: claim_id, date_of_service_range: date_of_service_range, description: description, date_of_service: date_of_service, end_date_of_service: end_date_of_service, additional_properties: struct)
171
179
  end
172
180
 
173
181
  # Serialize an instance of ServiceLine to a JSON object
@@ -189,6 +197,7 @@ module CandidApiClient
189
197
  "service_line_era_data": @service_line_era_data,
190
198
  "service_line_manual_adjustments": @service_line_manual_adjustments,
191
199
  "related_invoices": @related_invoices,
200
+ "related_invoice_info": @related_invoice_info,
192
201
  "denial_reason": @denial_reason,
193
202
  "place_of_service_code": @place_of_service_code,
194
203
  "service_line_id": @service_line_id,
@@ -222,6 +231,7 @@ module CandidApiClient
222
231
  obj.service_line_era_data.nil? || ServiceLines::V2::ServiceLineEraData.validate_raw(obj: obj.service_line_era_data)
223
232
  obj.service_line_manual_adjustments&.is_a?(Array) != false || raise("Passed value for field obj.service_line_manual_adjustments is not the expected type, validation failed.")
224
233
  obj.related_invoices&.is_a?(Array) != false || raise("Passed value for field obj.related_invoices is not the expected type, validation failed.")
234
+ obj.related_invoice_info&.is_a?(Array) != false || raise("Passed value for field obj.related_invoice_info is not the expected type, validation failed.")
225
235
  obj.denial_reason.nil? || ServiceLines::V2::ServiceLineDenialReason.validate_raw(obj: obj.denial_reason)
226
236
  obj.place_of_service_code&.is_a?(Commons::FacilityTypeCode) != false || raise("Passed value for field obj.place_of_service_code is not the expected type, validation failed.")
227
237
  obj.service_line_id.is_a?(UUID) != false || raise("Passed value for field obj.service_line_id is not the expected type, validation failed.")
data/lib/requests.rb CHANGED
@@ -20,7 +20,7 @@ module CandidApiClient
20
20
  @headers = {
21
21
  "X-Fern-Language": "Ruby",
22
22
  "X-Fern-SDK-Name": "candidhealth",
23
- "X-Fern-SDK-Version": "0.18.2",
23
+ "X-Fern-SDK-Version": "0.19.0",
24
24
  "Authorization": "Bearer #{token}"
25
25
  }
26
26
  @conn = Faraday.new(@base_url, headers: @headers) do |faraday|
@@ -46,7 +46,7 @@ module CandidApiClient
46
46
  @headers = {
47
47
  "X-Fern-Language": "Ruby",
48
48
  "X-Fern-SDK-Name": "candidhealth",
49
- "X-Fern-SDK-Version": "0.18.2",
49
+ "X-Fern-SDK-Version": "0.19.0",
50
50
  "Authorization": "Bearer #{token}"
51
51
  }
52
52
  @conn = Faraday.new(@base_url, headers: @headers) do |faraday|
data/lib/types_export.rb CHANGED
@@ -139,6 +139,16 @@ require_relative "candidhealth/insurance_refunds/v_1/types/insurance_refund"
139
139
  require_relative "candidhealth/insurance_refunds/v_1/types/insurance_refund_create"
140
140
  require_relative "candidhealth/insurance_refunds/v_1/types/insurance_refunds_page"
141
141
  require_relative "candidhealth/insurance_refunds/v_1/types/insurance_refund_sort_field"
142
+ require_relative "candidhealth/invoices/v_2/types/invoice_destination"
143
+ require_relative "candidhealth/invoices/v_2/types/invoice_status"
144
+ require_relative "candidhealth/invoices/v_2/types/invoice_destination_metadata"
145
+ require_relative "candidhealth/invoices/v_2/types/invoice"
146
+ require_relative "candidhealth/invoices/v_2/types/invoice_info"
147
+ require_relative "candidhealth/invoices/v_2/types/service_line_invoice_item"
148
+ require_relative "candidhealth/invoices/v_2/types/claim_invoice_item"
149
+ require_relative "candidhealth/invoices/v_2/types/claim_invoice_item_info"
150
+ require_relative "candidhealth/invoices/v_2/types/unattributed_invoice_item"
151
+ require_relative "candidhealth/invoices/v_2/types/invoice_item_info"
142
152
  require_relative "candidhealth/organization_service_facilities/v_2/types/service_facility_status"
143
153
  require_relative "candidhealth/organization_service_facilities/v_2/types/service_facility_operational_status"
144
154
  require_relative "candidhealth/organization_service_facilities/v_2/types/service_facility_mode"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: candidhealth
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.18.2
4
+ version: 0.19.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - ''
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-05-16 00:00:00.000000000 Z
11
+ date: 2024-05-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: async-http-faraday
@@ -363,6 +363,16 @@ files:
363
363
  - lib/candidhealth/invoices/types/invoice.rb
364
364
  - lib/candidhealth/invoices/types/invoice_item.rb
365
365
  - lib/candidhealth/invoices/types/invoice_status.rb
366
+ - lib/candidhealth/invoices/v_2/types/claim_invoice_item.rb
367
+ - lib/candidhealth/invoices/v_2/types/claim_invoice_item_info.rb
368
+ - lib/candidhealth/invoices/v_2/types/invoice.rb
369
+ - lib/candidhealth/invoices/v_2/types/invoice_destination.rb
370
+ - lib/candidhealth/invoices/v_2/types/invoice_destination_metadata.rb
371
+ - lib/candidhealth/invoices/v_2/types/invoice_info.rb
372
+ - lib/candidhealth/invoices/v_2/types/invoice_item_info.rb
373
+ - lib/candidhealth/invoices/v_2/types/invoice_status.rb
374
+ - lib/candidhealth/invoices/v_2/types/service_line_invoice_item.rb
375
+ - lib/candidhealth/invoices/v_2/types/unattributed_invoice_item.rb
366
376
  - lib/candidhealth/organization_providers/client.rb
367
377
  - lib/candidhealth/organization_providers/v_2/types/address_type.rb
368
378
  - lib/candidhealth/organization_providers/v_2/types/employment_status.rb