candidhealth 0.29.0 → 0.30.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.
Files changed (30) hide show
  1. checksums.yaml +4 -4
  2. data/lib/candidhealth/encounters/v_4/client.rb +6 -0
  3. data/lib/candidhealth/encounters/v_4/types/vitals.rb +18 -2
  4. data/lib/candidhealth/non_insurance_payer_payments/client.rb +30 -0
  5. data/lib/candidhealth/non_insurance_payer_payments/v_1/client.rb +360 -0
  6. data/lib/candidhealth/non_insurance_payer_payments/v_1/types/non_insurance_payer_payment.rb +138 -0
  7. data/lib/candidhealth/non_insurance_payer_payments/v_1/types/non_insurance_payer_payment_create.rb +124 -0
  8. data/lib/candidhealth/non_insurance_payer_payments/v_1/types/non_insurance_payer_payment_sort_field.rb +14 -0
  9. data/lib/candidhealth/non_insurance_payer_payments/v_1/types/non_insurance_payer_payments_page.rb +88 -0
  10. data/lib/candidhealth/non_insurance_payer_refunds/client.rb +30 -0
  11. data/lib/candidhealth/non_insurance_payer_refunds/v_1/client.rb +385 -0
  12. data/lib/candidhealth/non_insurance_payer_refunds/v_1/types/non_insurance_payer_refund.rb +139 -0
  13. data/lib/candidhealth/non_insurance_payer_refunds/v_1/types/non_insurance_payer_refund_create.rb +125 -0
  14. data/lib/candidhealth/non_insurance_payer_refunds/v_1/types/non_insurance_payer_refund_sort_field.rb +14 -0
  15. data/lib/candidhealth/non_insurance_payer_refunds/v_1/types/non_insurance_payer_refunds_page.rb +88 -0
  16. data/lib/candidhealth/non_insurance_payers/client.rb +30 -0
  17. data/lib/candidhealth/non_insurance_payers/v_1/client.rb +375 -0
  18. data/lib/candidhealth/non_insurance_payers/v_1/types/create_non_insurance_payer_request.rb +79 -0
  19. data/lib/candidhealth/non_insurance_payers/v_1/types/non_insurance_payer.rb +100 -0
  20. data/lib/candidhealth/non_insurance_payers/v_1/types/non_insurance_payer_category_update.rb +97 -0
  21. data/lib/candidhealth/non_insurance_payers/v_1/types/non_insurance_payer_description_update.rb +97 -0
  22. data/lib/candidhealth/non_insurance_payers/v_1/types/non_insurance_payer_page.rb +88 -0
  23. data/lib/candidhealth/non_insurance_payers/v_1/types/non_insurance_payer_sort_field.rb +16 -0
  24. data/lib/candidhealth/non_insurance_payers/v_1/types/non_insurance_payer_update_request.rb +92 -0
  25. data/lib/candidhealth/non_insurance_payers/v_1/types/toggle_non_insurance_payer_enablement_request.rb +62 -0
  26. data/lib/candidhealth/service_lines/v_2/types/drug_identification.rb +10 -2
  27. data/lib/candidhealth.rb +21 -0
  28. data/lib/requests.rb +2 -2
  29. data/lib/types_export.rb +16 -0
  30. metadata +24 -2
@@ -0,0 +1,139 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../../../non_insurance_payers/v_1/types/non_insurance_payer"
4
+ require "date"
5
+ require_relative "../../../financials/types/allocation"
6
+ require_relative "../../../financials/types/refund_reason"
7
+ require "ostruct"
8
+ require "json"
9
+
10
+ module CandidApiClient
11
+ module NonInsurancePayerRefunds
12
+ module V1
13
+ module Types
14
+ class NonInsurancePayerRefund
15
+ # @return [String]
16
+ attr_reader :non_insurance_payer_refund_id
17
+ # @return [CandidApiClient::NonInsurancePayers::V1::Types::NonInsurancePayer]
18
+ attr_reader :non_insurance_payer
19
+ # @return [Integer]
20
+ attr_reader :amount_cents
21
+ # @return [DateTime]
22
+ attr_reader :refund_timestamp
23
+ # @return [String]
24
+ attr_reader :refund_note
25
+ # @return [Array<CandidApiClient::Financials::Types::Allocation>]
26
+ attr_reader :allocations
27
+ # @return [CandidApiClient::Financials::Types::RefundReason]
28
+ attr_reader :refund_reason
29
+ # @return [String]
30
+ attr_reader :invoice_id
31
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
32
+ attr_reader :additional_properties
33
+ # @return [Object]
34
+ attr_reader :_field_set
35
+ protected :_field_set
36
+
37
+ OMIT = Object.new
38
+
39
+ # @param non_insurance_payer_refund_id [String]
40
+ # @param non_insurance_payer [CandidApiClient::NonInsurancePayers::V1::Types::NonInsurancePayer]
41
+ # @param amount_cents [Integer]
42
+ # @param refund_timestamp [DateTime]
43
+ # @param refund_note [String]
44
+ # @param allocations [Array<CandidApiClient::Financials::Types::Allocation>]
45
+ # @param refund_reason [CandidApiClient::Financials::Types::RefundReason]
46
+ # @param invoice_id [String]
47
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
48
+ # @return [CandidApiClient::NonInsurancePayerRefunds::V1::Types::NonInsurancePayerRefund]
49
+ def initialize(non_insurance_payer_refund_id:, non_insurance_payer:, amount_cents:, allocations:, refund_timestamp: OMIT,
50
+ refund_note: OMIT, refund_reason: OMIT, invoice_id: OMIT, additional_properties: nil)
51
+ @non_insurance_payer_refund_id = non_insurance_payer_refund_id
52
+ @non_insurance_payer = non_insurance_payer
53
+ @amount_cents = amount_cents
54
+ @refund_timestamp = refund_timestamp if refund_timestamp != OMIT
55
+ @refund_note = refund_note if refund_note != OMIT
56
+ @allocations = allocations
57
+ @refund_reason = refund_reason if refund_reason != OMIT
58
+ @invoice_id = invoice_id if invoice_id != OMIT
59
+ @additional_properties = additional_properties
60
+ @_field_set = {
61
+ "non_insurance_payer_refund_id": non_insurance_payer_refund_id,
62
+ "non_insurance_payer": non_insurance_payer,
63
+ "amount_cents": amount_cents,
64
+ "refund_timestamp": refund_timestamp,
65
+ "refund_note": refund_note,
66
+ "allocations": allocations,
67
+ "refund_reason": refund_reason,
68
+ "invoice_id": invoice_id
69
+ }.reject do |_k, v|
70
+ v == OMIT
71
+ end
72
+ end
73
+
74
+ # Deserialize a JSON object to an instance of NonInsurancePayerRefund
75
+ #
76
+ # @param json_object [String]
77
+ # @return [CandidApiClient::NonInsurancePayerRefunds::V1::Types::NonInsurancePayerRefund]
78
+ def self.from_json(json_object:)
79
+ struct = JSON.parse(json_object, object_class: OpenStruct)
80
+ parsed_json = JSON.parse(json_object)
81
+ non_insurance_payer_refund_id = struct["non_insurance_payer_refund_id"]
82
+ if parsed_json["non_insurance_payer"].nil?
83
+ non_insurance_payer = nil
84
+ else
85
+ non_insurance_payer = parsed_json["non_insurance_payer"].to_json
86
+ non_insurance_payer = CandidApiClient::NonInsurancePayers::V1::Types::NonInsurancePayer.from_json(json_object: non_insurance_payer)
87
+ end
88
+ amount_cents = struct["amount_cents"]
89
+ refund_timestamp = unless parsed_json["refund_timestamp"].nil?
90
+ DateTime.parse(parsed_json["refund_timestamp"])
91
+ end
92
+ refund_note = struct["refund_note"]
93
+ allocations = parsed_json["allocations"]&.map do |item|
94
+ item = item.to_json
95
+ CandidApiClient::Financials::Types::Allocation.from_json(json_object: item)
96
+ end
97
+ refund_reason = struct["refund_reason"]
98
+ invoice_id = struct["invoice_id"]
99
+ new(
100
+ non_insurance_payer_refund_id: non_insurance_payer_refund_id,
101
+ non_insurance_payer: non_insurance_payer,
102
+ amount_cents: amount_cents,
103
+ refund_timestamp: refund_timestamp,
104
+ refund_note: refund_note,
105
+ allocations: allocations,
106
+ refund_reason: refund_reason,
107
+ invoice_id: invoice_id,
108
+ additional_properties: struct
109
+ )
110
+ end
111
+
112
+ # Serialize an instance of NonInsurancePayerRefund to a JSON object
113
+ #
114
+ # @return [String]
115
+ def to_json(*_args)
116
+ @_field_set&.to_json
117
+ end
118
+
119
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
120
+ # hash and check each fields type against the current object's property
121
+ # definitions.
122
+ #
123
+ # @param obj [Object]
124
+ # @return [Void]
125
+ def self.validate_raw(obj:)
126
+ obj.non_insurance_payer_refund_id.is_a?(String) != false || raise("Passed value for field obj.non_insurance_payer_refund_id is not the expected type, validation failed.")
127
+ CandidApiClient::NonInsurancePayers::V1::Types::NonInsurancePayer.validate_raw(obj: obj.non_insurance_payer)
128
+ obj.amount_cents.is_a?(Integer) != false || raise("Passed value for field obj.amount_cents is not the expected type, validation failed.")
129
+ obj.refund_timestamp&.is_a?(DateTime) != false || raise("Passed value for field obj.refund_timestamp is not the expected type, validation failed.")
130
+ obj.refund_note&.is_a?(String) != false || raise("Passed value for field obj.refund_note is not the expected type, validation failed.")
131
+ obj.allocations.is_a?(Array) != false || raise("Passed value for field obj.allocations is not the expected type, validation failed.")
132
+ obj.refund_reason&.is_a?(CandidApiClient::Financials::Types::RefundReason) != false || raise("Passed value for field obj.refund_reason is not the expected type, validation failed.")
133
+ obj.invoice_id&.is_a?(String) != false || raise("Passed value for field obj.invoice_id is not the expected type, validation failed.")
134
+ end
135
+ end
136
+ end
137
+ end
138
+ end
139
+ end
@@ -0,0 +1,125 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "date"
4
+ require_relative "../../../financials/types/allocation_create"
5
+ require_relative "../../../financials/types/refund_reason"
6
+ require "ostruct"
7
+ require "json"
8
+
9
+ module CandidApiClient
10
+ module NonInsurancePayerRefunds
11
+ module V1
12
+ module Types
13
+ class NonInsurancePayerRefundCreate
14
+ # @return [String]
15
+ attr_reader :non_insurance_payer_id
16
+ # @return [String]
17
+ attr_reader :invoice_id
18
+ # @return [Integer]
19
+ attr_reader :amount_cents
20
+ # @return [DateTime]
21
+ attr_reader :refund_timestamp
22
+ # @return [String]
23
+ attr_reader :refund_note
24
+ # @return [Array<CandidApiClient::Financials::Types::AllocationCreate>]
25
+ attr_reader :allocations
26
+ # @return [CandidApiClient::Financials::Types::RefundReason]
27
+ attr_reader :refund_reason
28
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
29
+ attr_reader :additional_properties
30
+ # @return [Object]
31
+ attr_reader :_field_set
32
+ protected :_field_set
33
+
34
+ OMIT = Object.new
35
+
36
+ # @param non_insurance_payer_id [String]
37
+ # @param invoice_id [String]
38
+ # @param amount_cents [Integer]
39
+ # @param refund_timestamp [DateTime]
40
+ # @param refund_note [String]
41
+ # @param allocations [Array<CandidApiClient::Financials::Types::AllocationCreate>]
42
+ # @param refund_reason [CandidApiClient::Financials::Types::RefundReason]
43
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
44
+ # @return [CandidApiClient::NonInsurancePayerRefunds::V1::Types::NonInsurancePayerRefundCreate]
45
+ def initialize(non_insurance_payer_id:, amount_cents:, allocations:, invoice_id: OMIT, refund_timestamp: OMIT,
46
+ refund_note: OMIT, refund_reason: OMIT, additional_properties: nil)
47
+ @non_insurance_payer_id = non_insurance_payer_id
48
+ @invoice_id = invoice_id if invoice_id != OMIT
49
+ @amount_cents = amount_cents
50
+ @refund_timestamp = refund_timestamp if refund_timestamp != OMIT
51
+ @refund_note = refund_note if refund_note != OMIT
52
+ @allocations = allocations
53
+ @refund_reason = refund_reason if refund_reason != OMIT
54
+ @additional_properties = additional_properties
55
+ @_field_set = {
56
+ "non_insurance_payer_id": non_insurance_payer_id,
57
+ "invoice_id": invoice_id,
58
+ "amount_cents": amount_cents,
59
+ "refund_timestamp": refund_timestamp,
60
+ "refund_note": refund_note,
61
+ "allocations": allocations,
62
+ "refund_reason": refund_reason
63
+ }.reject do |_k, v|
64
+ v == OMIT
65
+ end
66
+ end
67
+
68
+ # Deserialize a JSON object to an instance of NonInsurancePayerRefundCreate
69
+ #
70
+ # @param json_object [String]
71
+ # @return [CandidApiClient::NonInsurancePayerRefunds::V1::Types::NonInsurancePayerRefundCreate]
72
+ def self.from_json(json_object:)
73
+ struct = JSON.parse(json_object, object_class: OpenStruct)
74
+ parsed_json = JSON.parse(json_object)
75
+ non_insurance_payer_id = struct["non_insurance_payer_id"]
76
+ invoice_id = struct["invoice_id"]
77
+ amount_cents = struct["amount_cents"]
78
+ refund_timestamp = unless parsed_json["refund_timestamp"].nil?
79
+ DateTime.parse(parsed_json["refund_timestamp"])
80
+ end
81
+ refund_note = struct["refund_note"]
82
+ allocations = parsed_json["allocations"]&.map do |item|
83
+ item = item.to_json
84
+ CandidApiClient::Financials::Types::AllocationCreate.from_json(json_object: item)
85
+ end
86
+ refund_reason = struct["refund_reason"]
87
+ new(
88
+ non_insurance_payer_id: non_insurance_payer_id,
89
+ invoice_id: invoice_id,
90
+ amount_cents: amount_cents,
91
+ refund_timestamp: refund_timestamp,
92
+ refund_note: refund_note,
93
+ allocations: allocations,
94
+ refund_reason: refund_reason,
95
+ additional_properties: struct
96
+ )
97
+ end
98
+
99
+ # Serialize an instance of NonInsurancePayerRefundCreate to a JSON object
100
+ #
101
+ # @return [String]
102
+ def to_json(*_args)
103
+ @_field_set&.to_json
104
+ end
105
+
106
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
107
+ # hash and check each fields type against the current object's property
108
+ # definitions.
109
+ #
110
+ # @param obj [Object]
111
+ # @return [Void]
112
+ def self.validate_raw(obj:)
113
+ obj.non_insurance_payer_id.is_a?(String) != false || raise("Passed value for field obj.non_insurance_payer_id is not the expected type, validation failed.")
114
+ obj.invoice_id&.is_a?(String) != false || raise("Passed value for field obj.invoice_id is not the expected type, validation failed.")
115
+ obj.amount_cents.is_a?(Integer) != false || raise("Passed value for field obj.amount_cents is not the expected type, validation failed.")
116
+ obj.refund_timestamp&.is_a?(DateTime) != false || raise("Passed value for field obj.refund_timestamp is not the expected type, validation failed.")
117
+ obj.refund_note&.is_a?(String) != false || raise("Passed value for field obj.refund_note is not the expected type, validation failed.")
118
+ obj.allocations.is_a?(Array) != false || raise("Passed value for field obj.allocations is not the expected type, validation failed.")
119
+ obj.refund_reason&.is_a?(CandidApiClient::Financials::Types::RefundReason) != false || raise("Passed value for field obj.refund_reason is not the expected type, validation failed.")
120
+ end
121
+ end
122
+ end
123
+ end
124
+ end
125
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CandidApiClient
4
+ module NonInsurancePayerRefunds
5
+ module V1
6
+ module Types
7
+ class NonInsurancePayerRefundSortField
8
+ AMOUNT_CENTS = "amount_cents"
9
+ REFUND_TIMESTAMP = "refund_timestamp"
10
+ end
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,88 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "non_insurance_payer_refund"
4
+ require "ostruct"
5
+ require "json"
6
+
7
+ module CandidApiClient
8
+ module NonInsurancePayerRefunds
9
+ module V1
10
+ module Types
11
+ class NonInsurancePayerRefundsPage
12
+ # @return [Array<CandidApiClient::NonInsurancePayerRefunds::V1::Types::NonInsurancePayerRefund>]
13
+ attr_reader :items
14
+ # @return [String]
15
+ attr_reader :prev_page_token
16
+ # @return [String]
17
+ attr_reader :next_page_token
18
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
19
+ attr_reader :additional_properties
20
+ # @return [Object]
21
+ attr_reader :_field_set
22
+ protected :_field_set
23
+
24
+ OMIT = Object.new
25
+
26
+ # @param items [Array<CandidApiClient::NonInsurancePayerRefunds::V1::Types::NonInsurancePayerRefund>]
27
+ # @param prev_page_token [String]
28
+ # @param next_page_token [String]
29
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
30
+ # @return [CandidApiClient::NonInsurancePayerRefunds::V1::Types::NonInsurancePayerRefundsPage]
31
+ def initialize(items:, prev_page_token: OMIT, next_page_token: OMIT, additional_properties: nil)
32
+ @items = items
33
+ @prev_page_token = prev_page_token if prev_page_token != OMIT
34
+ @next_page_token = next_page_token if next_page_token != OMIT
35
+ @additional_properties = additional_properties
36
+ @_field_set = {
37
+ "items": items,
38
+ "prev_page_token": prev_page_token,
39
+ "next_page_token": next_page_token
40
+ }.reject do |_k, v|
41
+ v == OMIT
42
+ end
43
+ end
44
+
45
+ # Deserialize a JSON object to an instance of NonInsurancePayerRefundsPage
46
+ #
47
+ # @param json_object [String]
48
+ # @return [CandidApiClient::NonInsurancePayerRefunds::V1::Types::NonInsurancePayerRefundsPage]
49
+ def self.from_json(json_object:)
50
+ struct = JSON.parse(json_object, object_class: OpenStruct)
51
+ parsed_json = JSON.parse(json_object)
52
+ items = parsed_json["items"]&.map do |item|
53
+ item = item.to_json
54
+ CandidApiClient::NonInsurancePayerRefunds::V1::Types::NonInsurancePayerRefund.from_json(json_object: item)
55
+ end
56
+ prev_page_token = struct["prev_page_token"]
57
+ next_page_token = struct["next_page_token"]
58
+ new(
59
+ items: items,
60
+ prev_page_token: prev_page_token,
61
+ next_page_token: next_page_token,
62
+ additional_properties: struct
63
+ )
64
+ end
65
+
66
+ # Serialize an instance of NonInsurancePayerRefundsPage to a JSON object
67
+ #
68
+ # @return [String]
69
+ def to_json(*_args)
70
+ @_field_set&.to_json
71
+ end
72
+
73
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
74
+ # hash and check each fields type against the current object's property
75
+ # definitions.
76
+ #
77
+ # @param obj [Object]
78
+ # @return [Void]
79
+ def self.validate_raw(obj:)
80
+ obj.items.is_a?(Array) != false || raise("Passed value for field obj.items is not the expected type, validation failed.")
81
+ obj.prev_page_token&.is_a?(String) != false || raise("Passed value for field obj.prev_page_token is not the expected type, validation failed.")
82
+ obj.next_page_token&.is_a?(String) != false || raise("Passed value for field obj.next_page_token is not the expected type, validation failed.")
83
+ end
84
+ end
85
+ end
86
+ end
87
+ end
88
+ end
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../../requests"
4
+ require_relative "v_1/client"
5
+
6
+ module CandidApiClient
7
+ module NonInsurancePayers
8
+ class Client
9
+ # @return [CandidApiClient::NonInsurancePayers::V1::V1Client]
10
+ attr_reader :v_1
11
+
12
+ # @param request_client [CandidApiClient::RequestClient]
13
+ # @return [CandidApiClient::NonInsurancePayers::Client]
14
+ def initialize(request_client:)
15
+ @v_1 = CandidApiClient::NonInsurancePayers::V1::V1Client.new(request_client: request_client)
16
+ end
17
+ end
18
+
19
+ class AsyncClient
20
+ # @return [CandidApiClient::NonInsurancePayers::V1::AsyncV1Client]
21
+ attr_reader :v_1
22
+
23
+ # @param request_client [CandidApiClient::AsyncRequestClient]
24
+ # @return [CandidApiClient::NonInsurancePayers::AsyncClient]
25
+ def initialize(request_client:)
26
+ @v_1 = CandidApiClient::NonInsurancePayers::V1::AsyncV1Client.new(request_client: request_client)
27
+ end
28
+ end
29
+ end
30
+ end