candidhealth 1.14.4 → 1.15.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/candid/client.rb +6 -1
  3. data/lib/candid/commons/types/claim_adjustment_group_codes.rb +22 -0
  4. data/lib/candid/commons/types/procedure_modifier.rb +1 -0
  5. data/lib/candid/insurance_adjudications/client.rb +17 -0
  6. data/lib/candid/insurance_adjudications/v_1/client.rb +37 -0
  7. data/lib/candid/insurance_adjudications/v_1/types/claim_adjudication.rb +23 -0
  8. data/lib/candid/insurance_adjudications/v_1/types/insurance_adjudication.rb +21 -0
  9. data/lib/candid/insurance_adjudications/v_1/types/service_line_adjudication.rb +27 -0
  10. data/lib/candid/patient_payments/v_4/types/card_payment_method.rb +11 -0
  11. data/lib/candid/patient_payments/v_4/types/cash_payment_method.rb +11 -0
  12. data/lib/candid/patient_payments/v_4/types/check_payment_method.rb +13 -0
  13. data/lib/candid/patient_payments/v_4/types/patient_payment.rb +3 -0
  14. data/lib/candid/patient_payments/v_4/types/payment_method.rb +19 -0
  15. data/lib/candid/patient_payments/v_4/types/payment_method_detail.rb +18 -0
  16. data/lib/candid/pre_encounter/eligibility_checks/v_1/types/eligibility_request.rb +2 -0
  17. data/lib/candid/service_lines/v_2/types/service_line.rb +1 -0
  18. data/lib/candid/service_lines/v_2/types/service_line_create_base_base.rb +1 -0
  19. data/lib/candid/service_lines/v_2/types/service_line_create_optional.rb +1 -0
  20. data/lib/candid/service_lines/v_2/types/service_line_create_standalone.rb +1 -0
  21. data/lib/candid/service_lines/v_2/types/service_line_update_base.rb +1 -0
  22. data/lib/candid/service_lines/v_2/types/universal_service_line_create_standalone.rb +1 -0
  23. data/lib/candid/version.rb +1 -1
  24. data/lib/candid/x_12/v_1/types/carc.rb +418 -0
  25. data/lib/candid/x_12/v_1/types/claim_adjustment_reason_code.rb +15 -0
  26. data/lib/candid/x_12/v_1/types/rarc.rb +1201 -0
  27. data/lib/candid/x_12/v_1/types/remittance_advice_remark_code.rb +13 -0
  28. data/lib/candid.rb +15 -0
  29. data/reference.md +55 -0
  30. metadata +16 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: da06a46cb4e28ba96a14906ab8bb85a9b4c562b7894714f781ac6f82e310d320
4
- data.tar.gz: dbbeedd36d9c2095fc794aa427a43652e51f76ef1f8f5d2130369e965da5d4a6
3
+ metadata.gz: f97511828261e1d92b7ebd79bbac031b5f3748608ed9f7195a0fbdc2a50331b7
4
+ data.tar.gz: f946dc477b922bee9d9d1f7e0081a8df6ad3397b5ae18b35d643c6df86f327d0
5
5
  SHA512:
6
- metadata.gz: 6cf4f2fdf493a4a2f92793d2af9b1a5a96a9ba044ff4fa15843b2728914ae2079ae1f1e8c2844751f039b8059c987e4c390990e4aef0be58caa7425a66635dd5
7
- data.tar.gz: a52bd419c6242903f74730ae026b63d6a042ac7570d42aca7171170b4087d4ceda0cf4deb52e0c86981e8a5425962bd9f2eb1db0cb521d3a8459ad57d55cdd6f
6
+ metadata.gz: ac693074053535d604c90472213b42f24b5ef647563b5b22b3a83620cae6efb87a30884ea00b54368522741de8284a376b3789a4126cfd52208dd91afa7f199b
7
+ data.tar.gz: a331f4d044e638060d5fc375d911efa0998318e3a2ce925247a658c84ad377101cf034c97985e9a1a6e6b83755b95bb4b8ce539173c707d3cefa88d376404f60
data/lib/candid/client.rb CHANGED
@@ -7,7 +7,7 @@ module Candid
7
7
  @raw_client = Candid::Internal::Http::RawClient.new(
8
8
  base_url: base_url,
9
9
  headers: {
10
- "User-Agent": "candidhealth/1.14.4",
10
+ "User-Agent": "candidhealth/1.15.0",
11
11
  "X-Fern-Language": "Ruby"
12
12
  }
13
13
  )
@@ -108,6 +108,11 @@ module Candid
108
108
  @import_invoice ||= Candid::ImportInvoice::Client.new(client: @raw_client)
109
109
  end
110
110
 
111
+ # @return [Candid::InsuranceAdjudications::Client]
112
+ def insurance_adjudications
113
+ @insurance_adjudications ||= Candid::InsuranceAdjudications::Client.new(client: @raw_client)
114
+ end
115
+
111
116
  # @return [Candid::InsurancePayments::Client]
112
117
  def insurance_payments
113
118
  @insurance_payments ||= Candid::InsurancePayments::Client.new(client: @raw_client)
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Candid
4
+ module Commons
5
+ module Types
6
+ module ClaimAdjustmentGroupCodes
7
+ extend Candid::Internal::Types::Enum
8
+
9
+ CO = "CO"
10
+ CR = "CR"
11
+ DE = "DE"
12
+ MA = "MA"
13
+ OA = "OA"
14
+ PI = "PI"
15
+ PR = "PR"
16
+ RR = "RR"
17
+ NC = "NC"
18
+ UNKNOWN = "UNKNOWN"
19
+ end
20
+ end
21
+ end
22
+ end
@@ -417,6 +417,7 @@ module Candid
417
417
  XS = "XS"
418
418
  XU = "XU"
419
419
  XY = "XY"
420
+ ZZ = "ZZ"
420
421
  end
421
422
  end
422
423
  end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Candid
4
+ module InsuranceAdjudications
5
+ class Client
6
+ # @return [Candid::InsuranceAdjudications::Client]
7
+ def initialize(client:)
8
+ @client = client
9
+ end
10
+
11
+ # @return [Candid::V1::Client]
12
+ def v_1
13
+ @v_1 ||= Candid::InsuranceAdjudications::V1::Client.new(client: @client)
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,37 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Candid
4
+ module InsuranceAdjudications
5
+ module V1
6
+ class Client
7
+ # @return [Candid::InsuranceAdjudications::V1::Client]
8
+ def initialize(client:)
9
+ @client = client
10
+ end
11
+
12
+ # Retrieves a previously created insurance adjudication by its `insurance_adjudication_id`.
13
+ #
14
+ # @return [Candid::InsuranceAdjudications::V1::Types::InsuranceAdjudication]
15
+ def get(request_options: {}, **params)
16
+ _request = Candid::Internal::JSON::Request.new(
17
+ base_url: request_options[:base_url] || Candid::Environment::PRODUCTION,
18
+ method: "GET",
19
+ path: "/api/insurance-adjudications/v1/#{params[:insurance_adjudication_id]}"
20
+ )
21
+ begin
22
+ _response = @client.send(_request)
23
+ rescue Net::HTTPRequestTimeout
24
+ raise Candid::Errors::TimeoutError
25
+ end
26
+ code = _response.code.to_i
27
+ if code.between?(200, 299)
28
+ Candid::InsuranceAdjudications::V1::Types::InsuranceAdjudication.load(_response.body)
29
+ else
30
+ error_class = Candid::Errors::ResponseError.subclass_for_code(code)
31
+ raise error_class.new(_response.body, code: code)
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Candid
4
+ module InsuranceAdjudications
5
+ module V1
6
+ module Types
7
+ class ClaimAdjudication < Internal::Types::Model
8
+ field :claim_id, -> { String }, optional: false, nullable: false
9
+ field :insurance_allowed_amount_cents, -> { Integer }, optional: true, nullable: false
10
+ field :insurance_paid_amount_cents, -> { Integer }, optional: true, nullable: false
11
+ field :charge_amount_cents, -> { Integer }, optional: true, nullable: false
12
+ field :service_lines, lambda {
13
+ Internal::Types::Hash[String, Internal::Types::Array[Candid::InsuranceAdjudications::V1::Types::ServiceLineAdjudication]]
14
+ }, optional: false, nullable: false
15
+ field :payer_claim_number, -> { String }, optional: true, nullable: false
16
+ field :carcs, lambda {
17
+ Internal::Types::Array[Candid::X12::V1::Types::ClaimAdjustmentReasonCode]
18
+ }, optional: false, nullable: false
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Candid
4
+ module InsuranceAdjudications
5
+ module V1
6
+ module Types
7
+ class InsuranceAdjudication < Internal::Types::Model
8
+ field :insurance_adjudication_id, -> { String }, optional: false, nullable: false
9
+ field :payer_uuid, -> { String }, optional: false, nullable: false
10
+ field :post_date, -> { String }, optional: true, nullable: false
11
+ field :check_number, -> { String }, optional: true, nullable: false
12
+ field :check_date, -> { String }, optional: false, nullable: false
13
+ field :note, -> { String }, optional: true, nullable: false
14
+ field :claims, lambda {
15
+ Internal::Types::Hash[String, Internal::Types::Array[Candid::InsuranceAdjudications::V1::Types::ClaimAdjudication]]
16
+ }, optional: false, nullable: false
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Candid
4
+ module InsuranceAdjudications
5
+ module V1
6
+ module Types
7
+ class ServiceLineAdjudication < Internal::Types::Model
8
+ field :service_line_adjudication_id, -> { String }, optional: false, nullable: false
9
+ field :denial_reason, lambda {
10
+ Candid::ServiceLines::V2::Types::DenialReasonContent
11
+ }, optional: true, nullable: false
12
+ field :insurance_allowed_amount_cents, -> { Integer }, optional: true, nullable: false
13
+ field :insurance_paid_amount_cents, -> { Integer }, optional: true, nullable: false
14
+ field :deductible_amount_cents, -> { Integer }, optional: true, nullable: false
15
+ field :coinsurance_amount_cents, -> { Integer }, optional: true, nullable: false
16
+ field :copay_amount_cents, -> { Integer }, optional: true, nullable: false
17
+ field :carcs, lambda {
18
+ Internal::Types::Array[Candid::X12::V1::Types::ClaimAdjustmentReasonCode]
19
+ }, optional: false, nullable: false
20
+ field :rarcs, lambda {
21
+ Internal::Types::Array[Candid::X12::V1::Types::RemittanceAdviceRemarkCode]
22
+ }, optional: false, nullable: false
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Candid
4
+ module PatientPayments
5
+ module V4
6
+ module Types
7
+ class CardPaymentMethod < Internal::Types::Model; end
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Candid
4
+ module PatientPayments
5
+ module V4
6
+ module Types
7
+ class CashPaymentMethod < Internal::Types::Model; end
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Candid
4
+ module PatientPayments
5
+ module V4
6
+ module Types
7
+ class CheckPaymentMethod < Internal::Types::Model
8
+ field :check_number, -> { String }, optional: false, nullable: false
9
+ end
10
+ end
11
+ end
12
+ end
13
+ end
@@ -19,6 +19,9 @@ module Candid
19
19
  Internal::Types::Array[Candid::Financials::Types::Allocation]
20
20
  }, optional: false, nullable: false
21
21
  field :invoice, -> { String }, optional: true, nullable: false
22
+ field :payment_method_detail, lambda {
23
+ Candid::PatientPayments::V4::Types::PaymentMethodDetail
24
+ }, optional: true, nullable: false
22
25
  end
23
26
  end
24
27
  end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Candid
4
+ module PatientPayments
5
+ module V4
6
+ module Types
7
+ class PaymentMethod < Internal::Types::Model
8
+ extend Candid::Internal::Types::Union
9
+
10
+ discriminant :type
11
+
12
+ member -> { Candid::PatientPayments::V4::Types::CashPaymentMethod }, key: "CASH"
13
+ member -> { Candid::PatientPayments::V4::Types::CheckPaymentMethod }, key: "CHECK"
14
+ member -> { Candid::PatientPayments::V4::Types::CardPaymentMethod }, key: "CARD"
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Candid
4
+ module PatientPayments
5
+ module V4
6
+ module Types
7
+ class PaymentMethodDetail < Internal::Types::Model
8
+ field :payment_method, lambda {
9
+ Candid::PatientPayments::V4::Types::PaymentMethod
10
+ }, optional: false, nullable: false
11
+ field :collected_at_address, lambda {
12
+ Candid::Commons::Types::StreetAddressShortZip
13
+ }, optional: true, nullable: false
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
@@ -21,6 +21,8 @@ module Candid
21
21
  field :encounter, lambda {
22
22
  Candid::PreEncounter::EligibilityChecks::V1::Types::Encounter
23
23
  }, optional: true, nullable: false
24
+ field :get_existing_check_initiated_after, -> { String }, optional: true, nullable: false
25
+ field :source, -> { String }, optional: true, nullable: false
24
26
  end
25
27
  end
26
28
  end
@@ -68,6 +68,7 @@ module Candid
68
68
  field :has_epsdt_indicator, -> { Internal::Types::Boolean }, optional: true, nullable: false
69
69
  field :has_family_planning_indicator, -> { Internal::Types::Boolean }, optional: true, nullable: false
70
70
  field :note, -> { String }, optional: true, nullable: false
71
+ field :prior_authorization_number, -> { String }, optional: true, nullable: false
71
72
  end
72
73
  end
73
74
  end
@@ -27,6 +27,7 @@ module Candid
27
27
  Internal::Types::Array[Candid::ServiceLines::V2::Types::TestResult]
28
28
  }, optional: true, nullable: false
29
29
  field :note, -> { String }, optional: true, nullable: false
30
+ field :prior_authorization_number, -> { String }, optional: true, nullable: false
30
31
  end
31
32
  end
32
33
  end
@@ -30,6 +30,7 @@ module Candid
30
30
  }, optional: true, nullable: false
31
31
  field :note, -> { String }, optional: true, nullable: false
32
32
  field :revenue_code, -> { String }, optional: true, nullable: false
33
+ field :prior_authorization_number, -> { String }, optional: true, nullable: false
33
34
  end
34
35
  end
35
36
  end
@@ -9,6 +9,7 @@ module Candid
9
9
  field :diagnosis_id_one, -> { String }, optional: true, nullable: false
10
10
  field :diagnosis_id_two, -> { String }, optional: true, nullable: false
11
11
  field :diagnosis_id_three, -> { String }, optional: true, nullable: false
12
+ field :prior_authorization_number, -> { String }, optional: true, nullable: false
12
13
  end
13
14
  end
14
15
  end
@@ -29,6 +29,7 @@ module Candid
29
29
  field :has_epsdt_indicator, -> { Internal::Types::Boolean }, optional: true, nullable: false
30
30
  field :has_family_planning_indicator, -> { Internal::Types::Boolean }, optional: true, nullable: false
31
31
  field :note, -> { String }, optional: true, nullable: false
32
+ field :prior_authorization_number, -> { String }, optional: true, nullable: false
32
33
  end
33
34
  end
34
35
  end
@@ -11,6 +11,7 @@ module Candid
11
11
  field :diagnosis_id_three, -> { String }, optional: true, nullable: false
12
12
  field :revenue_code, -> { String }, optional: true, nullable: false
13
13
  field :procedure_code, -> { String }, optional: true, nullable: false
14
+ field :prior_authorization_number, -> { String }, optional: true, nullable: false
14
15
  end
15
16
  end
16
17
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Candid
4
- VERSION = "1.14.4"
4
+ VERSION = "1.15.0"
5
5
  end