candidhealth 0.30.0 → 0.32.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (32) hide show
  1. checksums.yaml +4 -4
  2. data/lib/candidhealth/encounters/v_4/client.rb +45 -106
  3. data/lib/candidhealth/encounters/v_4/types/vitals_update.rb +116 -0
  4. data/lib/candidhealth/expected_network_status/v_2/client.rb +4 -4
  5. data/lib/candidhealth/financials/types/allocation_target_create.rb +10 -9
  6. data/lib/candidhealth/financials/types/appointment_allocation_target.rb +13 -3
  7. data/lib/candidhealth/financials/types/appointment_by_id_and_patient_external_id.rb +68 -0
  8. data/lib/candidhealth/import_invoice/v_1/client.rb +4 -4
  9. data/lib/candidhealth/individual/types/patient.rb +14 -2
  10. data/lib/candidhealth/individual/types/patient_create.rb +10 -2
  11. data/lib/candidhealth/insurance_adjudications/v_1/client.rb +2 -2
  12. data/lib/candidhealth/insurance_payments/v_1/client.rb +2 -2
  13. data/lib/candidhealth/insurance_refunds/v_1/client.rb +2 -2
  14. data/lib/candidhealth/medication_dispense/client.rb +30 -0
  15. data/lib/candidhealth/medication_dispense/v_1/client.rb +112 -0
  16. data/lib/candidhealth/medication_dispense/v_1/types/medication_dispense_create.rb +142 -0
  17. data/lib/candidhealth/non_insurance_payer_payments/v_1/client.rb +2 -2
  18. data/lib/candidhealth/non_insurance_payer_refunds/v_1/client.rb +2 -2
  19. data/lib/candidhealth/organization_providers/v_3/client.rb +2 -2
  20. data/lib/candidhealth/pre_encounter/appointments/v_1/client.rb +4 -4
  21. data/lib/candidhealth/pre_encounter/coverages/v_1/client.rb +4 -4
  22. data/lib/candidhealth/pre_encounter/patients/v_1/client.rb +6 -6
  23. data/lib/candidhealth/service_lines/v_2/client.rb +20 -4
  24. data/lib/candidhealth/service_lines/v_2/types/service_line.rb +15 -40
  25. data/lib/candidhealth/service_lines/v_2/types/service_line_create.rb +1 -65
  26. data/lib/candidhealth/service_lines/v_2/types/service_line_update.rb +15 -1
  27. data/lib/candidhealth/third_party_payer_payments/v_1/client.rb +2 -2
  28. data/lib/candidhealth/third_party_payer_refunds/v_1/client.rb +2 -2
  29. data/lib/candidhealth.rb +7 -0
  30. data/lib/requests.rb +2 -2
  31. data/lib/types_export.rb +3 -0
  32. metadata +7 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7dc3837b0ca573016c14778b36c302ea879990bcdca8e98c50c240c3702d6a6d
4
- data.tar.gz: 3c02048cb7203e632e1533d820827231784112d2f018950f473c5b015a5603a6
3
+ metadata.gz: bec9a5c208037d7c187d5957cf81830ad65f75b9d8bbf31701e26e35aa86724c
4
+ data.tar.gz: 7b75b2f7c87bedda01c251e8321f381f23815005e7a820a37cb585a298d5d46a
5
5
  SHA512:
6
- metadata.gz: 8c729973b43b11320ee00757d9bd2083d48d46da81f2655822c661b4f44aba2272671a7ac3f9d8d13f758952da625698f0f523e512bc7a3a09aac1b979bb7f02
7
- data.tar.gz: d9d9c8b36d05ac029b0656b6f782b59da026a1af706433e1a061bd04d9bb6c965acb262e779fbd2d4ffeff3426d851fa5af87e6d3ac58094afdef90722c8ef32
6
+ metadata.gz: 4dfe96a5a38012308d23702a8eba72658995c45981b5fd3dc2731d67ef323adbf01dd52ede5c253c0b893ff204922bb4dbfa9efc1d7bd3d7ae0299466d2081d8
7
+ data.tar.gz: 6fc4fdba73c3be2fac3d9ef609d657c0afd1d004d0694e5c59e74f3348151903e67423919eae3cda509a1edbe0759996eeb792e0cf8d4881db97deef4e5ff076
@@ -34,6 +34,7 @@ require_relative "../../service_lines/v_2/types/service_line_create"
34
34
  require_relative "../../guarantor/v_1/types/guarantor_create"
35
35
  require_relative "../../claim_submission/v_1/types/external_claim_submission_create"
36
36
  require_relative "../../custom_schemas/v_1/types/schema_instance"
37
+ require_relative "types/vitals_update"
37
38
  require "async"
38
39
 
39
40
  module CandidApiClient
@@ -257,6 +258,7 @@ module CandidApiClient
257
258
  # * :phone_numbers (Array<CandidApiClient::Commons::Types::PhoneNumber>)
258
259
  # * :phone_consent (Boolean)
259
260
  # * :email (String)
261
+ # * :non_insurance_payers (Array<String>)
260
262
  # * :email_consent (Boolean)
261
263
  # * :external_id (String)
262
264
  # * :date_of_birth (Date)
@@ -328,9 +330,7 @@ module CandidApiClient
328
330
  # this loop to
329
331
  # indicate the initial referral from the primary care provider or whatever
330
332
  # provider wrote the initial referral for this patient's episode of care being
331
- # billed/reported in this transaction.
332
- # Information in Loop ID-2310 applies to the entire claim unless overridden on a
333
- # service line by the presence of Loop ID-2420 with the same value in NM101.Request of type CandidApiClient::EncounterProviders::V2::Types::InitialReferringProvider, as a Hash
333
+ # billed/reported in this transaction.Request of type CandidApiClient::EncounterProviders::V2::Types::InitialReferringProvider, as a Hash
334
334
  # * :npi (String)
335
335
  # * :taxonomy_code (String)
336
336
  # * :address (Hash)
@@ -345,9 +345,7 @@ module CandidApiClient
345
345
  # * :last_name (String)
346
346
  # * :organization_name (String)
347
347
  # @param supervising_provider [Hash] Required when the rendering provider is supervised by a physician. If not
348
- # required by this implementation guide, do not send.
349
- # Information in Loop ID-2310 applies to the entire claim unless overridden on a
350
- # service line by the presence of Loop ID-2420 with the same value in NM101.Request of type CandidApiClient::EncounterProviders::V2::Types::SupervisingProvider, as a Hash
348
+ # required by this implementation guide, do not send.Request of type CandidApiClient::EncounterProviders::V2::Types::SupervisingProvider, as a Hash
351
349
  # * :npi (String)
352
350
  # * :taxonomy_code (String)
353
351
  # * :address (Hash)
@@ -479,46 +477,6 @@ module CandidApiClient
479
477
  # * :description (String)
480
478
  # * :date_of_service (Date)
481
479
  # * :end_date_of_service (Date)
482
- # * :referring_provider (Hash)
483
- # * :npi (String)
484
- # * :taxonomy_code (String)
485
- # * :address (Hash)
486
- # * :zip_plus_four_code (String)
487
- # * :address_1 (String)
488
- # * :address_2 (String)
489
- # * :city (String)
490
- # * :state (CandidApiClient::Commons::Types::State)
491
- # * :zip_code (String)
492
- # * :first_name (String)
493
- # * :last_name (String)
494
- # * :organization_name (String)
495
- # * :initial_referring_provider (Hash)
496
- # * :npi (String)
497
- # * :taxonomy_code (String)
498
- # * :address (Hash)
499
- # * :zip_plus_four_code (String)
500
- # * :address_1 (String)
501
- # * :address_2 (String)
502
- # * :city (String)
503
- # * :state (CandidApiClient::Commons::Types::State)
504
- # * :zip_code (String)
505
- # * :qualifier (CandidApiClient::Commons::Types::QualifierCode)
506
- # * :first_name (String)
507
- # * :last_name (String)
508
- # * :organization_name (String)
509
- # * :supervising_provider (Hash)
510
- # * :npi (String)
511
- # * :taxonomy_code (String)
512
- # * :address (Hash)
513
- # * :zip_plus_four_code (String)
514
- # * :address_1 (String)
515
- # * :address_2 (String)
516
- # * :city (String)
517
- # * :state (CandidApiClient::Commons::Types::State)
518
- # * :zip_code (String)
519
- # * :first_name (String)
520
- # * :last_name (String)
521
- # * :organization_name (String)
522
480
  # * :ordering_provider (Hash)
523
481
  # * :npi (String)
524
482
  # * :taxonomy_code (String)
@@ -568,7 +526,7 @@ module CandidApiClient
568
526
  # api.encounters.v_4.create(
569
527
  # date_of_service: DateTime.parse(2023-01-15),
570
528
  # end_date_of_service: DateTime.parse(2023-01-15),
571
- # patient: { phone_numbers: [{ number: "1234567890", type: HOME }], phone_consent: true, email: "johndoe@joincandidhealth.com", email_consent: true, external_id: "string", date_of_birth: DateTime.parse(2023-01-15), address: { address_1: "123 Main St", address_2: "Apt 1", city: "New York", state: NY, zip_code: "10001", zip_plus_four_code: "1234" }, first_name: "string", last_name: "string", gender: MALE },
529
+ # patient: { phone_numbers: [{ number: "1234567890", type: HOME }], phone_consent: true, email: "johndoe@joincandidhealth.com", non_insurance_payers: ["d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32"], email_consent: true, external_id: "string", date_of_birth: DateTime.parse(2023-01-15), address: { address_1: "123 Main St", address_2: "Apt 1", city: "New York", state: NY, zip_code: "10001", zip_plus_four_code: "1234" }, first_name: "string", last_name: "string", gender: MALE },
572
530
  # billing_provider: { address: { address_1: "123 Main St", address_2: "Apt 1", city: "New York", state: NY, zip_code: "10001", zip_plus_four_code: "1234" }, tax_id: "string", npi: "string", taxonomy_code: "string", first_name: "string", last_name: "string", organization_name: "string" },
573
531
  # rendering_provider: { address: { address_1: "123 Main St", address_2: "Apt 1", city: "New York", state: NY, zip_code: "10001", zip_plus_four_code: "1234" }, npi: "string", taxonomy_code: "string", first_name: "string", last_name: "string", organization_name: "string" },
574
532
  # referring_provider: { npi: "string", taxonomy_code: "string", address: { address_1: "123 Main St", address_2: "Apt 1", city: "New York", state: NY, zip_code: "10001", zip_plus_four_code: "1234" }, first_name: "string", last_name: "string", organization_name: "string" },
@@ -578,11 +536,11 @@ module CandidApiClient
578
536
  # subscriber_primary: { insurance_card: { member_id: "string", payer_name: "string", payer_id: "string", rx_bin: "string", rx_pcn: "string", image_url_front: "string", image_url_back: "string", emr_payer_crosswalk: HEALTHIE, group_number: "string", plan_name: "string", plan_type: SELF_PAY, insurance_type: C_01 }, patient_relationship_to_subscriber_code: SPOUSE, date_of_birth: DateTime.parse(2023-01-15), address: { address_1: "123 Main St", address_2: "Apt 1", city: "New York", state: NY, zip_code: "10001", zip_plus_four_code: "1234" }, first_name: "string", last_name: "string", gender: MALE },
579
537
  # subscriber_secondary: { insurance_card: { member_id: "string", payer_name: "string", payer_id: "string", rx_bin: "string", rx_pcn: "string", image_url_front: "string", image_url_back: "string", emr_payer_crosswalk: HEALTHIE, group_number: "string", plan_name: "string", plan_type: SELF_PAY, insurance_type: C_01 }, patient_relationship_to_subscriber_code: SPOUSE, date_of_birth: DateTime.parse(2023-01-15), address: { address_1: "123 Main St", address_2: "Apt 1", city: "New York", state: NY, zip_code: "10001", zip_plus_four_code: "1234" }, first_name: "string", last_name: "string", gender: MALE },
580
538
  # diagnoses: [{ name: "string", code_type: ABF, code: "string" }],
581
- # clinical_notes: [{ category: CLINICAL, notes: [{ }] }],
539
+ # clinical_notes: [{ category: CLINICAL, notes: [{ text: "string", author_name: "string", author_npi: "string", timestamp: DateTime.parse(2024-01-15T09:30:00.000Z) }] }],
582
540
  # billing_notes: [{ text: "string" }],
583
541
  # place_of_service_code: PHARMACY,
584
542
  # patient_histories: [{ category: PRESENT_ILLNESS, questions: [{ id: "6E7FBCE4-A8EA-46D0-A8D8-FF83CA3BB176", text: "Do you have any allergies?", responses: [{ response: "No allergies", follow_ups: [{ id: "4F3D57F9-AC94-49D6-87E4-E804B709917A", text: "Do you have any allergies?", response: "No allergies" }] }] }] }],
585
- # service_lines: [{ modifiers: [TWENTY_TWO], procedure_code: "string", quantity: "string", units: MJ, charge_amount_cents: 1, diagnosis_pointers: [1], drug_identification: { }, place_of_service_code: PHARMACY, description: "string", date_of_service: DateTime.parse(2023-01-15), end_date_of_service: DateTime.parse(2023-01-15), referring_provider: { npi: "string", taxonomy_code: "string", address: { address_1: "123 Main St", address_2: "Apt 1", city: "New York", state: NY, zip_code: "10001", zip_plus_four_code: "1234" }, first_name: "string", last_name: "string", organization_name: "string" }, initial_referring_provider: { npi: "string", taxonomy_code: "string", address: { address_1: "123 Main St", address_2: "Apt 1", city: "New York", state: NY, zip_code: "10001", zip_plus_four_code: "1234" }, qualifier: DQ, first_name: "string", last_name: "string", organization_name: "string" }, supervising_provider: { npi: "string", taxonomy_code: "string", address: { address_1: "123 Main St", address_2: "Apt 1", city: "New York", state: NY, zip_code: "10001", zip_plus_four_code: "1234" }, first_name: "string", last_name: "string", organization_name: "string" }, ordering_provider: { npi: "string", taxonomy_code: "string", address: { address_1: "123 Main St", address_2: "Apt 1", city: "New York", state: NY, zip_code: "10001", zip_plus_four_code: "1234" }, first_name: "string", last_name: "string", organization_name: "string" } }],
543
+ # service_lines: [{ modifiers: [TWENTY_TWO], procedure_code: "string", quantity: "string", units: MJ, charge_amount_cents: 1, diagnosis_pointers: [1], drug_identification: { service_id_qualifier: EAN_UCC_13, national_drug_code: "string", national_drug_unit_count: "string", measurement_unit_code: MILLILITERS, link_sequence_number: "string", pharmacy_prescription_number: "string", conversion_formula: "string" }, place_of_service_code: PHARMACY, description: "string", date_of_service: DateTime.parse(2023-01-15), end_date_of_service: DateTime.parse(2023-01-15), ordering_provider: { npi: "string", taxonomy_code: "string", address: { address_1: "123 Main St", address_2: "Apt 1", city: "New York", state: NY, zip_code: "10001", zip_plus_four_code: "1234" }, first_name: "string", last_name: "string", organization_name: "string" } }],
586
544
  # guarantor: { phone_numbers: [{ number: "1234567890", type: HOME }], phone_consent: true, email: "johndoe@joincandidhealth.com", email_consent: true, first_name: "string", last_name: "string", external_id: "string", date_of_birth: DateTime.parse(2023-01-15), address: { address_1: "123 Main St", address_2: "Apt 1", city: "New York", state: NY, zip_code: "10001", zip_plus_four_code: "1234" } },
587
545
  # external_claim_submission: { claim_created_at: DateTime.parse(2023-01-01T12:00:00.000Z), patient_control_number: "PATIENT_CONTROL_NUMBER", submission_records: [{ submitted_at: DateTime.parse(2023-01-01T13:00:00.000Z), claim_frequency_code: ORIGINAL, payer_responsibility: PRIMARY, intended_submission_medium: ELECTRONIC }, { submitted_at: DateTime.parse(2023-01-04T12:00:00.000Z), claim_frequency_code: REPLACEMENT, payer_responsibility: PRIMARY, intended_submission_medium: PAPER }] },
588
546
  # tag_ids: ["string"],
@@ -804,6 +762,16 @@ module CandidApiClient
804
762
  # is provided as an input, then the encounter's schema instances will be cleared.Request of type Array<CandidApiClient::CustomSchemas::V1::Types::SchemaInstance>, as a Hash
805
763
  # * :schema_id (String)
806
764
  # * :content (Hash{String => Object})
765
+ # @param vitals [Hash] If a vitals entity already exists for the encounter, then all values will be
766
+ # updated to the provided values.
767
+ # Otherwise, a new vitals object will be created for the encounter.Request of type CandidApiClient::Encounters::V4::Types::VitalsUpdate, as a Hash
768
+ # * :height_in (Integer)
769
+ # * :weight_lbs (Integer)
770
+ # * :blood_pressure_systolic_mmhg (Integer)
771
+ # * :blood_pressure_diastolic_mmhg (Integer)
772
+ # * :body_temperature_f (Float)
773
+ # * :hemoglobin_gdl (Float)
774
+ # * :hematocrit_pct (Float)
807
775
  # @param request_options [CandidApiClient::RequestOptions]
808
776
  # @return [CandidApiClient::Encounters::V4::Types::Encounter]
809
777
  # @example
@@ -815,7 +783,7 @@ module CandidApiClient
815
783
  # date_of_service: DateTime.parse(2023-01-15),
816
784
  # diagnosis_ids: ["d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32"],
817
785
  # tag_ids: ["string"],
818
- # clinical_notes: [{ category: CLINICAL, notes: [{ }] }],
786
+ # clinical_notes: [{ category: CLINICAL, notes: [{ text: "string", author_name: "string", author_npi: "string", timestamp: DateTime.parse(2024-01-15T09:30:00.000Z) }] }],
819
787
  # pay_to_address: { address_1: "123 Main St", address_2: "Apt 1", city: "New York", state: NY, zip_code: "10001", zip_plus_four_code: "1234" },
820
788
  # billable_status: BILLABLE,
821
789
  # responsible_party: INSURANCE_PAY,
@@ -836,10 +804,11 @@ module CandidApiClient
836
804
  # last_menstrual_period_date: DateTime.parse(2023-01-15),
837
805
  # delay_reason_code: C_1,
838
806
  # patient_authorized_release: true,
839
- # schema_instances: [{ schema_id: "ec096b13-f80a-471d-aaeb-54b021c9d582", content: { "provider_category": "internist", "is_urgent_care": true, "bmi": 24.2, "age": 38 } }]
807
+ # schema_instances: [{ schema_id: "ec096b13-f80a-471d-aaeb-54b021c9d582", content: { "provider_category": "internist", "is_urgent_care": true, "bmi": 24.2, "age": 38 } }],
808
+ # vitals: { height_in: 70, weight_lbs: 165, blood_pressure_systolic_mmhg: 115, blood_pressure_diastolic_mmhg: 85, body_temperature_f: 98, hemoglobin_gdl: 15.1, hematocrit_pct: 51.2 }
840
809
  # )
841
810
  def update(encounter_id:, prior_authorization_number: nil, external_id: nil, date_of_service: nil,
842
- diagnosis_ids: nil, tag_ids: nil, clinical_notes: nil, pay_to_address: nil, billable_status: nil, responsible_party: nil, provider_accepts_assignment: nil, benefits_assigned_to_provider: nil, synchronicity: nil, place_of_service_code: nil, place_of_service_code_as_submitted: nil, appointment_type: nil, end_date_of_service: nil, subscriber_primary: nil, subscriber_secondary: nil, additional_information: nil, service_authorization_exception_code: nil, admission_date: nil, discharge_date: nil, onset_of_current_illness_or_symptom_date: nil, last_menstrual_period_date: nil, delay_reason_code: nil, patient_authorized_release: nil, schema_instances: nil, request_options: nil)
811
+ diagnosis_ids: nil, tag_ids: nil, clinical_notes: nil, pay_to_address: nil, billable_status: nil, responsible_party: nil, provider_accepts_assignment: nil, benefits_assigned_to_provider: nil, synchronicity: nil, place_of_service_code: nil, place_of_service_code_as_submitted: nil, appointment_type: nil, end_date_of_service: nil, subscriber_primary: nil, subscriber_secondary: nil, additional_information: nil, service_authorization_exception_code: nil, admission_date: nil, discharge_date: nil, onset_of_current_illness_or_symptom_date: nil, last_menstrual_period_date: nil, delay_reason_code: nil, patient_authorized_release: nil, schema_instances: nil, vitals: nil, request_options: nil)
843
812
  response = @request_client.conn.patch do |req|
844
813
  req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
845
814
  req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
@@ -876,7 +845,8 @@ module CandidApiClient
876
845
  last_menstrual_period_date: last_menstrual_period_date,
877
846
  delay_reason_code: delay_reason_code,
878
847
  patient_authorized_release: patient_authorized_release,
879
- schema_instances: schema_instances
848
+ schema_instances: schema_instances,
849
+ vitals: vitals
880
850
  }.compact
881
851
  req.url "#{@request_client.get_url(environment: CandidApi,
882
852
  request_options: request_options)}/api/encounters/v4/#{encounter_id}"
@@ -1107,6 +1077,7 @@ module CandidApiClient
1107
1077
  # * :phone_numbers (Array<CandidApiClient::Commons::Types::PhoneNumber>)
1108
1078
  # * :phone_consent (Boolean)
1109
1079
  # * :email (String)
1080
+ # * :non_insurance_payers (Array<String>)
1110
1081
  # * :email_consent (Boolean)
1111
1082
  # * :external_id (String)
1112
1083
  # * :date_of_birth (Date)
@@ -1178,9 +1149,7 @@ module CandidApiClient
1178
1149
  # this loop to
1179
1150
  # indicate the initial referral from the primary care provider or whatever
1180
1151
  # provider wrote the initial referral for this patient's episode of care being
1181
- # billed/reported in this transaction.
1182
- # Information in Loop ID-2310 applies to the entire claim unless overridden on a
1183
- # service line by the presence of Loop ID-2420 with the same value in NM101.Request of type CandidApiClient::EncounterProviders::V2::Types::InitialReferringProvider, as a Hash
1152
+ # billed/reported in this transaction.Request of type CandidApiClient::EncounterProviders::V2::Types::InitialReferringProvider, as a Hash
1184
1153
  # * :npi (String)
1185
1154
  # * :taxonomy_code (String)
1186
1155
  # * :address (Hash)
@@ -1195,9 +1164,7 @@ module CandidApiClient
1195
1164
  # * :last_name (String)
1196
1165
  # * :organization_name (String)
1197
1166
  # @param supervising_provider [Hash] Required when the rendering provider is supervised by a physician. If not
1198
- # required by this implementation guide, do not send.
1199
- # Information in Loop ID-2310 applies to the entire claim unless overridden on a
1200
- # service line by the presence of Loop ID-2420 with the same value in NM101.Request of type CandidApiClient::EncounterProviders::V2::Types::SupervisingProvider, as a Hash
1167
+ # required by this implementation guide, do not send.Request of type CandidApiClient::EncounterProviders::V2::Types::SupervisingProvider, as a Hash
1201
1168
  # * :npi (String)
1202
1169
  # * :taxonomy_code (String)
1203
1170
  # * :address (Hash)
@@ -1329,46 +1296,6 @@ module CandidApiClient
1329
1296
  # * :description (String)
1330
1297
  # * :date_of_service (Date)
1331
1298
  # * :end_date_of_service (Date)
1332
- # * :referring_provider (Hash)
1333
- # * :npi (String)
1334
- # * :taxonomy_code (String)
1335
- # * :address (Hash)
1336
- # * :zip_plus_four_code (String)
1337
- # * :address_1 (String)
1338
- # * :address_2 (String)
1339
- # * :city (String)
1340
- # * :state (CandidApiClient::Commons::Types::State)
1341
- # * :zip_code (String)
1342
- # * :first_name (String)
1343
- # * :last_name (String)
1344
- # * :organization_name (String)
1345
- # * :initial_referring_provider (Hash)
1346
- # * :npi (String)
1347
- # * :taxonomy_code (String)
1348
- # * :address (Hash)
1349
- # * :zip_plus_four_code (String)
1350
- # * :address_1 (String)
1351
- # * :address_2 (String)
1352
- # * :city (String)
1353
- # * :state (CandidApiClient::Commons::Types::State)
1354
- # * :zip_code (String)
1355
- # * :qualifier (CandidApiClient::Commons::Types::QualifierCode)
1356
- # * :first_name (String)
1357
- # * :last_name (String)
1358
- # * :organization_name (String)
1359
- # * :supervising_provider (Hash)
1360
- # * :npi (String)
1361
- # * :taxonomy_code (String)
1362
- # * :address (Hash)
1363
- # * :zip_plus_four_code (String)
1364
- # * :address_1 (String)
1365
- # * :address_2 (String)
1366
- # * :city (String)
1367
- # * :state (CandidApiClient::Commons::Types::State)
1368
- # * :zip_code (String)
1369
- # * :first_name (String)
1370
- # * :last_name (String)
1371
- # * :organization_name (String)
1372
1299
  # * :ordering_provider (Hash)
1373
1300
  # * :npi (String)
1374
1301
  # * :taxonomy_code (String)
@@ -1418,7 +1345,7 @@ module CandidApiClient
1418
1345
  # api.encounters.v_4.create(
1419
1346
  # date_of_service: DateTime.parse(2023-01-15),
1420
1347
  # end_date_of_service: DateTime.parse(2023-01-15),
1421
- # patient: { phone_numbers: [{ number: "1234567890", type: HOME }], phone_consent: true, email: "johndoe@joincandidhealth.com", email_consent: true, external_id: "string", date_of_birth: DateTime.parse(2023-01-15), address: { address_1: "123 Main St", address_2: "Apt 1", city: "New York", state: NY, zip_code: "10001", zip_plus_four_code: "1234" }, first_name: "string", last_name: "string", gender: MALE },
1348
+ # patient: { phone_numbers: [{ number: "1234567890", type: HOME }], phone_consent: true, email: "johndoe@joincandidhealth.com", non_insurance_payers: ["d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32"], email_consent: true, external_id: "string", date_of_birth: DateTime.parse(2023-01-15), address: { address_1: "123 Main St", address_2: "Apt 1", city: "New York", state: NY, zip_code: "10001", zip_plus_four_code: "1234" }, first_name: "string", last_name: "string", gender: MALE },
1422
1349
  # billing_provider: { address: { address_1: "123 Main St", address_2: "Apt 1", city: "New York", state: NY, zip_code: "10001", zip_plus_four_code: "1234" }, tax_id: "string", npi: "string", taxonomy_code: "string", first_name: "string", last_name: "string", organization_name: "string" },
1423
1350
  # rendering_provider: { address: { address_1: "123 Main St", address_2: "Apt 1", city: "New York", state: NY, zip_code: "10001", zip_plus_four_code: "1234" }, npi: "string", taxonomy_code: "string", first_name: "string", last_name: "string", organization_name: "string" },
1424
1351
  # referring_provider: { npi: "string", taxonomy_code: "string", address: { address_1: "123 Main St", address_2: "Apt 1", city: "New York", state: NY, zip_code: "10001", zip_plus_four_code: "1234" }, first_name: "string", last_name: "string", organization_name: "string" },
@@ -1428,11 +1355,11 @@ module CandidApiClient
1428
1355
  # subscriber_primary: { insurance_card: { member_id: "string", payer_name: "string", payer_id: "string", rx_bin: "string", rx_pcn: "string", image_url_front: "string", image_url_back: "string", emr_payer_crosswalk: HEALTHIE, group_number: "string", plan_name: "string", plan_type: SELF_PAY, insurance_type: C_01 }, patient_relationship_to_subscriber_code: SPOUSE, date_of_birth: DateTime.parse(2023-01-15), address: { address_1: "123 Main St", address_2: "Apt 1", city: "New York", state: NY, zip_code: "10001", zip_plus_four_code: "1234" }, first_name: "string", last_name: "string", gender: MALE },
1429
1356
  # subscriber_secondary: { insurance_card: { member_id: "string", payer_name: "string", payer_id: "string", rx_bin: "string", rx_pcn: "string", image_url_front: "string", image_url_back: "string", emr_payer_crosswalk: HEALTHIE, group_number: "string", plan_name: "string", plan_type: SELF_PAY, insurance_type: C_01 }, patient_relationship_to_subscriber_code: SPOUSE, date_of_birth: DateTime.parse(2023-01-15), address: { address_1: "123 Main St", address_2: "Apt 1", city: "New York", state: NY, zip_code: "10001", zip_plus_four_code: "1234" }, first_name: "string", last_name: "string", gender: MALE },
1430
1357
  # diagnoses: [{ name: "string", code_type: ABF, code: "string" }],
1431
- # clinical_notes: [{ category: CLINICAL, notes: [{ }] }],
1358
+ # clinical_notes: [{ category: CLINICAL, notes: [{ text: "string", author_name: "string", author_npi: "string", timestamp: DateTime.parse(2024-01-15T09:30:00.000Z) }] }],
1432
1359
  # billing_notes: [{ text: "string" }],
1433
1360
  # place_of_service_code: PHARMACY,
1434
1361
  # patient_histories: [{ category: PRESENT_ILLNESS, questions: [{ id: "6E7FBCE4-A8EA-46D0-A8D8-FF83CA3BB176", text: "Do you have any allergies?", responses: [{ response: "No allergies", follow_ups: [{ id: "4F3D57F9-AC94-49D6-87E4-E804B709917A", text: "Do you have any allergies?", response: "No allergies" }] }] }] }],
1435
- # service_lines: [{ modifiers: [TWENTY_TWO], procedure_code: "string", quantity: "string", units: MJ, charge_amount_cents: 1, diagnosis_pointers: [1], drug_identification: { }, place_of_service_code: PHARMACY, description: "string", date_of_service: DateTime.parse(2023-01-15), end_date_of_service: DateTime.parse(2023-01-15), referring_provider: { npi: "string", taxonomy_code: "string", address: { address_1: "123 Main St", address_2: "Apt 1", city: "New York", state: NY, zip_code: "10001", zip_plus_four_code: "1234" }, first_name: "string", last_name: "string", organization_name: "string" }, initial_referring_provider: { npi: "string", taxonomy_code: "string", address: { address_1: "123 Main St", address_2: "Apt 1", city: "New York", state: NY, zip_code: "10001", zip_plus_four_code: "1234" }, qualifier: DQ, first_name: "string", last_name: "string", organization_name: "string" }, supervising_provider: { npi: "string", taxonomy_code: "string", address: { address_1: "123 Main St", address_2: "Apt 1", city: "New York", state: NY, zip_code: "10001", zip_plus_four_code: "1234" }, first_name: "string", last_name: "string", organization_name: "string" }, ordering_provider: { npi: "string", taxonomy_code: "string", address: { address_1: "123 Main St", address_2: "Apt 1", city: "New York", state: NY, zip_code: "10001", zip_plus_four_code: "1234" }, first_name: "string", last_name: "string", organization_name: "string" } }],
1362
+ # service_lines: [{ modifiers: [TWENTY_TWO], procedure_code: "string", quantity: "string", units: MJ, charge_amount_cents: 1, diagnosis_pointers: [1], drug_identification: { service_id_qualifier: EAN_UCC_13, national_drug_code: "string", national_drug_unit_count: "string", measurement_unit_code: MILLILITERS, link_sequence_number: "string", pharmacy_prescription_number: "string", conversion_formula: "string" }, place_of_service_code: PHARMACY, description: "string", date_of_service: DateTime.parse(2023-01-15), end_date_of_service: DateTime.parse(2023-01-15), ordering_provider: { npi: "string", taxonomy_code: "string", address: { address_1: "123 Main St", address_2: "Apt 1", city: "New York", state: NY, zip_code: "10001", zip_plus_four_code: "1234" }, first_name: "string", last_name: "string", organization_name: "string" } }],
1436
1363
  # guarantor: { phone_numbers: [{ number: "1234567890", type: HOME }], phone_consent: true, email: "johndoe@joincandidhealth.com", email_consent: true, first_name: "string", last_name: "string", external_id: "string", date_of_birth: DateTime.parse(2023-01-15), address: { address_1: "123 Main St", address_2: "Apt 1", city: "New York", state: NY, zip_code: "10001", zip_plus_four_code: "1234" } },
1437
1364
  # external_claim_submission: { claim_created_at: DateTime.parse(2023-01-01T12:00:00.000Z), patient_control_number: "PATIENT_CONTROL_NUMBER", submission_records: [{ submitted_at: DateTime.parse(2023-01-01T13:00:00.000Z), claim_frequency_code: ORIGINAL, payer_responsibility: PRIMARY, intended_submission_medium: ELECTRONIC }, { submitted_at: DateTime.parse(2023-01-04T12:00:00.000Z), claim_frequency_code: REPLACEMENT, payer_responsibility: PRIMARY, intended_submission_medium: PAPER }] },
1438
1365
  # tag_ids: ["string"],
@@ -1656,6 +1583,16 @@ module CandidApiClient
1656
1583
  # is provided as an input, then the encounter's schema instances will be cleared.Request of type Array<CandidApiClient::CustomSchemas::V1::Types::SchemaInstance>, as a Hash
1657
1584
  # * :schema_id (String)
1658
1585
  # * :content (Hash{String => Object})
1586
+ # @param vitals [Hash] If a vitals entity already exists for the encounter, then all values will be
1587
+ # updated to the provided values.
1588
+ # Otherwise, a new vitals object will be created for the encounter.Request of type CandidApiClient::Encounters::V4::Types::VitalsUpdate, as a Hash
1589
+ # * :height_in (Integer)
1590
+ # * :weight_lbs (Integer)
1591
+ # * :blood_pressure_systolic_mmhg (Integer)
1592
+ # * :blood_pressure_diastolic_mmhg (Integer)
1593
+ # * :body_temperature_f (Float)
1594
+ # * :hemoglobin_gdl (Float)
1595
+ # * :hematocrit_pct (Float)
1659
1596
  # @param request_options [CandidApiClient::RequestOptions]
1660
1597
  # @return [CandidApiClient::Encounters::V4::Types::Encounter]
1661
1598
  # @example
@@ -1667,7 +1604,7 @@ module CandidApiClient
1667
1604
  # date_of_service: DateTime.parse(2023-01-15),
1668
1605
  # diagnosis_ids: ["d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32"],
1669
1606
  # tag_ids: ["string"],
1670
- # clinical_notes: [{ category: CLINICAL, notes: [{ }] }],
1607
+ # clinical_notes: [{ category: CLINICAL, notes: [{ text: "string", author_name: "string", author_npi: "string", timestamp: DateTime.parse(2024-01-15T09:30:00.000Z) }] }],
1671
1608
  # pay_to_address: { address_1: "123 Main St", address_2: "Apt 1", city: "New York", state: NY, zip_code: "10001", zip_plus_four_code: "1234" },
1672
1609
  # billable_status: BILLABLE,
1673
1610
  # responsible_party: INSURANCE_PAY,
@@ -1688,10 +1625,11 @@ module CandidApiClient
1688
1625
  # last_menstrual_period_date: DateTime.parse(2023-01-15),
1689
1626
  # delay_reason_code: C_1,
1690
1627
  # patient_authorized_release: true,
1691
- # schema_instances: [{ schema_id: "ec096b13-f80a-471d-aaeb-54b021c9d582", content: { "provider_category": "internist", "is_urgent_care": true, "bmi": 24.2, "age": 38 } }]
1628
+ # schema_instances: [{ schema_id: "ec096b13-f80a-471d-aaeb-54b021c9d582", content: { "provider_category": "internist", "is_urgent_care": true, "bmi": 24.2, "age": 38 } }],
1629
+ # vitals: { height_in: 70, weight_lbs: 165, blood_pressure_systolic_mmhg: 115, blood_pressure_diastolic_mmhg: 85, body_temperature_f: 98, hemoglobin_gdl: 15.1, hematocrit_pct: 51.2 }
1692
1630
  # )
1693
1631
  def update(encounter_id:, prior_authorization_number: nil, external_id: nil, date_of_service: nil,
1694
- diagnosis_ids: nil, tag_ids: nil, clinical_notes: nil, pay_to_address: nil, billable_status: nil, responsible_party: nil, provider_accepts_assignment: nil, benefits_assigned_to_provider: nil, synchronicity: nil, place_of_service_code: nil, place_of_service_code_as_submitted: nil, appointment_type: nil, end_date_of_service: nil, subscriber_primary: nil, subscriber_secondary: nil, additional_information: nil, service_authorization_exception_code: nil, admission_date: nil, discharge_date: nil, onset_of_current_illness_or_symptom_date: nil, last_menstrual_period_date: nil, delay_reason_code: nil, patient_authorized_release: nil, schema_instances: nil, request_options: nil)
1632
+ diagnosis_ids: nil, tag_ids: nil, clinical_notes: nil, pay_to_address: nil, billable_status: nil, responsible_party: nil, provider_accepts_assignment: nil, benefits_assigned_to_provider: nil, synchronicity: nil, place_of_service_code: nil, place_of_service_code_as_submitted: nil, appointment_type: nil, end_date_of_service: nil, subscriber_primary: nil, subscriber_secondary: nil, additional_information: nil, service_authorization_exception_code: nil, admission_date: nil, discharge_date: nil, onset_of_current_illness_or_symptom_date: nil, last_menstrual_period_date: nil, delay_reason_code: nil, patient_authorized_release: nil, schema_instances: nil, vitals: nil, request_options: nil)
1695
1633
  Async do
1696
1634
  response = @request_client.conn.patch do |req|
1697
1635
  req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
@@ -1729,7 +1667,8 @@ module CandidApiClient
1729
1667
  last_menstrual_period_date: last_menstrual_period_date,
1730
1668
  delay_reason_code: delay_reason_code,
1731
1669
  patient_authorized_release: patient_authorized_release,
1732
- schema_instances: schema_instances
1670
+ schema_instances: schema_instances,
1671
+ vitals: vitals
1733
1672
  }.compact
1734
1673
  req.url "#{@request_client.get_url(environment: CandidApi,
1735
1674
  request_options: request_options)}/api/encounters/v4/#{encounter_id}"
@@ -0,0 +1,116 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "ostruct"
4
+ require "json"
5
+
6
+ module CandidApiClient
7
+ module Encounters
8
+ module V4
9
+ module Types
10
+ class VitalsUpdate
11
+ # @return [Integer]
12
+ attr_reader :height_in
13
+ # @return [Integer]
14
+ attr_reader :weight_lbs
15
+ # @return [Integer]
16
+ attr_reader :blood_pressure_systolic_mmhg
17
+ # @return [Integer]
18
+ attr_reader :blood_pressure_diastolic_mmhg
19
+ # @return [Float]
20
+ attr_reader :body_temperature_f
21
+ # @return [Float]
22
+ attr_reader :hemoglobin_gdl
23
+ # @return [Float]
24
+ attr_reader :hematocrit_pct
25
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
26
+ attr_reader :additional_properties
27
+ # @return [Object]
28
+ attr_reader :_field_set
29
+ protected :_field_set
30
+
31
+ OMIT = Object.new
32
+
33
+ # @param height_in [Integer]
34
+ # @param weight_lbs [Integer]
35
+ # @param blood_pressure_systolic_mmhg [Integer]
36
+ # @param blood_pressure_diastolic_mmhg [Integer]
37
+ # @param body_temperature_f [Float]
38
+ # @param hemoglobin_gdl [Float]
39
+ # @param hematocrit_pct [Float]
40
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
41
+ # @return [CandidApiClient::Encounters::V4::Types::VitalsUpdate]
42
+ def initialize(height_in: OMIT, weight_lbs: OMIT, blood_pressure_systolic_mmhg: OMIT,
43
+ blood_pressure_diastolic_mmhg: OMIT, body_temperature_f: OMIT, hemoglobin_gdl: OMIT, hematocrit_pct: OMIT, additional_properties: nil)
44
+ @height_in = height_in if height_in != OMIT
45
+ @weight_lbs = weight_lbs if weight_lbs != OMIT
46
+ @blood_pressure_systolic_mmhg = blood_pressure_systolic_mmhg if blood_pressure_systolic_mmhg != OMIT
47
+ @blood_pressure_diastolic_mmhg = blood_pressure_diastolic_mmhg if blood_pressure_diastolic_mmhg != OMIT
48
+ @body_temperature_f = body_temperature_f if body_temperature_f != OMIT
49
+ @hemoglobin_gdl = hemoglobin_gdl if hemoglobin_gdl != OMIT
50
+ @hematocrit_pct = hematocrit_pct if hematocrit_pct != OMIT
51
+ @additional_properties = additional_properties
52
+ @_field_set = {
53
+ "height_in": height_in,
54
+ "weight_lbs": weight_lbs,
55
+ "blood_pressure_systolic_mmhg": blood_pressure_systolic_mmhg,
56
+ "blood_pressure_diastolic_mmhg": blood_pressure_diastolic_mmhg,
57
+ "body_temperature_f": body_temperature_f,
58
+ "hemoglobin_gdl": hemoglobin_gdl,
59
+ "hematocrit_pct": hematocrit_pct
60
+ }.reject do |_k, v|
61
+ v == OMIT
62
+ end
63
+ end
64
+
65
+ # Deserialize a JSON object to an instance of VitalsUpdate
66
+ #
67
+ # @param json_object [String]
68
+ # @return [CandidApiClient::Encounters::V4::Types::VitalsUpdate]
69
+ def self.from_json(json_object:)
70
+ struct = JSON.parse(json_object, object_class: OpenStruct)
71
+ height_in = struct["height_in"]
72
+ weight_lbs = struct["weight_lbs"]
73
+ blood_pressure_systolic_mmhg = struct["blood_pressure_systolic_mmhg"]
74
+ blood_pressure_diastolic_mmhg = struct["blood_pressure_diastolic_mmhg"]
75
+ body_temperature_f = struct["body_temperature_f"]
76
+ hemoglobin_gdl = struct["hemoglobin_gdl"]
77
+ hematocrit_pct = struct["hematocrit_pct"]
78
+ new(
79
+ height_in: height_in,
80
+ weight_lbs: weight_lbs,
81
+ blood_pressure_systolic_mmhg: blood_pressure_systolic_mmhg,
82
+ blood_pressure_diastolic_mmhg: blood_pressure_diastolic_mmhg,
83
+ body_temperature_f: body_temperature_f,
84
+ hemoglobin_gdl: hemoglobin_gdl,
85
+ hematocrit_pct: hematocrit_pct,
86
+ additional_properties: struct
87
+ )
88
+ end
89
+
90
+ # Serialize an instance of VitalsUpdate to a JSON object
91
+ #
92
+ # @return [String]
93
+ def to_json(*_args)
94
+ @_field_set&.to_json
95
+ end
96
+
97
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
98
+ # hash and check each fields type against the current object's property
99
+ # definitions.
100
+ #
101
+ # @param obj [Object]
102
+ # @return [Void]
103
+ def self.validate_raw(obj:)
104
+ obj.height_in&.is_a?(Integer) != false || raise("Passed value for field obj.height_in is not the expected type, validation failed.")
105
+ obj.weight_lbs&.is_a?(Integer) != false || raise("Passed value for field obj.weight_lbs is not the expected type, validation failed.")
106
+ obj.blood_pressure_systolic_mmhg&.is_a?(Integer) != false || raise("Passed value for field obj.blood_pressure_systolic_mmhg is not the expected type, validation failed.")
107
+ obj.blood_pressure_diastolic_mmhg&.is_a?(Integer) != false || raise("Passed value for field obj.blood_pressure_diastolic_mmhg is not the expected type, validation failed.")
108
+ obj.body_temperature_f&.is_a?(Float) != false || raise("Passed value for field obj.body_temperature_f is not the expected type, validation failed.")
109
+ obj.hemoglobin_gdl&.is_a?(Float) != false || raise("Passed value for field obj.hemoglobin_gdl is not the expected type, validation failed.")
110
+ obj.hematocrit_pct&.is_a?(Float) != false || raise("Passed value for field obj.hematocrit_pct is not the expected type, validation failed.")
111
+ end
112
+ end
113
+ end
114
+ end
115
+ end
116
+ end
@@ -49,7 +49,7 @@ module CandidApiClient
49
49
  # @return [CandidApiClient::ExpectedNetworkStatus::V2::Types::ExpectedNetworkStatusResponseV2]
50
50
  # @example
51
51
  # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
52
- # api.expected_network_status.v_2.compute_for_rendering_provider(rendering_provider_id: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", request: { service_type: NEW_PATIENT_VIDEO_APPT, place_of_service_code: PHARMACY, subscriber_information: { }, patient_address: { address_1: "123 Main St", address_2: "Apt 1", city: "New York", state: NY, zip_code: "10001", zip_plus_four_code: "1234" }, billing_provider_id: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", organization_service_facility_id: "30F55EE6-8C0E-43FC-A7FC-DAC00D5BF569", date_of_service: DateTime.parse(2023-01-15) })
52
+ # api.expected_network_status.v_2.compute_for_rendering_provider(rendering_provider_id: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", request: { service_type: NEW_PATIENT_VIDEO_APPT, place_of_service_code: PHARMACY, subscriber_information: { payer_uuid: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", member_id: "string", insurance_type: { line_of_business: MEDICARE } }, patient_address: { address_1: "123 Main St", address_2: "Apt 1", city: "New York", state: NY, zip_code: "10001", zip_plus_four_code: "1234" }, billing_provider_id: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", organization_service_facility_id: "30F55EE6-8C0E-43FC-A7FC-DAC00D5BF569", date_of_service: DateTime.parse(2023-01-15) })
53
53
  def compute_for_rendering_provider(rendering_provider_id:, request:, request_options: nil)
54
54
  response = @request_client.conn.post do |req|
55
55
  req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
@@ -94,7 +94,7 @@ module CandidApiClient
94
94
  # @return [CandidApiClient::ExpectedNetworkStatus::V2::Types::ComputeAllInNetworkProvidersResponse]
95
95
  # @example
96
96
  # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
97
- # api.expected_network_status.v_2.compute_all_in_network_providers(request: { service_type: NEW_PATIENT_VIDEO_APPT, place_of_service_code: PHARMACY, subscriber_information: { }, patient_address: { address_1: "123 Main St", address_2: "Apt 1", city: "New York", state: NY, zip_code: "10001", zip_plus_four_code: "1234" }, billing_provider_id: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", organization_service_facility_id: "30F55EE6-8C0E-43FC-A7FC-DAC00D5BF569", date_of_service: DateTime.parse(2023-01-15) })
97
+ # api.expected_network_status.v_2.compute_all_in_network_providers(request: { service_type: NEW_PATIENT_VIDEO_APPT, place_of_service_code: PHARMACY, subscriber_information: { payer_uuid: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", member_id: "string", insurance_type: { line_of_business: MEDICARE } }, patient_address: { address_1: "123 Main St", address_2: "Apt 1", city: "New York", state: NY, zip_code: "10001", zip_plus_four_code: "1234" }, billing_provider_id: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", organization_service_facility_id: "30F55EE6-8C0E-43FC-A7FC-DAC00D5BF569", date_of_service: DateTime.parse(2023-01-15) })
98
98
  def compute_all_in_network_providers(request:, request_options: nil)
99
99
  response = @request_client.conn.post do |req|
100
100
  req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
@@ -151,7 +151,7 @@ module CandidApiClient
151
151
  # @return [CandidApiClient::ExpectedNetworkStatus::V2::Types::ExpectedNetworkStatusResponseV2]
152
152
  # @example
153
153
  # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
154
- # api.expected_network_status.v_2.compute_for_rendering_provider(rendering_provider_id: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", request: { service_type: NEW_PATIENT_VIDEO_APPT, place_of_service_code: PHARMACY, subscriber_information: { }, patient_address: { address_1: "123 Main St", address_2: "Apt 1", city: "New York", state: NY, zip_code: "10001", zip_plus_four_code: "1234" }, billing_provider_id: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", organization_service_facility_id: "30F55EE6-8C0E-43FC-A7FC-DAC00D5BF569", date_of_service: DateTime.parse(2023-01-15) })
154
+ # api.expected_network_status.v_2.compute_for_rendering_provider(rendering_provider_id: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", request: { service_type: NEW_PATIENT_VIDEO_APPT, place_of_service_code: PHARMACY, subscriber_information: { payer_uuid: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", member_id: "string", insurance_type: { line_of_business: MEDICARE } }, patient_address: { address_1: "123 Main St", address_2: "Apt 1", city: "New York", state: NY, zip_code: "10001", zip_plus_four_code: "1234" }, billing_provider_id: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", organization_service_facility_id: "30F55EE6-8C0E-43FC-A7FC-DAC00D5BF569", date_of_service: DateTime.parse(2023-01-15) })
155
155
  def compute_for_rendering_provider(rendering_provider_id:, request:, request_options: nil)
156
156
  Async do
157
157
  response = @request_client.conn.post do |req|
@@ -198,7 +198,7 @@ module CandidApiClient
198
198
  # @return [CandidApiClient::ExpectedNetworkStatus::V2::Types::ComputeAllInNetworkProvidersResponse]
199
199
  # @example
200
200
  # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
201
- # api.expected_network_status.v_2.compute_all_in_network_providers(request: { service_type: NEW_PATIENT_VIDEO_APPT, place_of_service_code: PHARMACY, subscriber_information: { }, patient_address: { address_1: "123 Main St", address_2: "Apt 1", city: "New York", state: NY, zip_code: "10001", zip_plus_four_code: "1234" }, billing_provider_id: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", organization_service_facility_id: "30F55EE6-8C0E-43FC-A7FC-DAC00D5BF569", date_of_service: DateTime.parse(2023-01-15) })
201
+ # api.expected_network_status.v_2.compute_all_in_network_providers(request: { service_type: NEW_PATIENT_VIDEO_APPT, place_of_service_code: PHARMACY, subscriber_information: { payer_uuid: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", member_id: "string", insurance_type: { line_of_business: MEDICARE } }, patient_address: { address_1: "123 Main St", address_2: "Apt 1", city: "New York", state: NY, zip_code: "10001", zip_plus_four_code: "1234" }, billing_provider_id: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", organization_service_facility_id: "30F55EE6-8C0E-43FC-A7FC-DAC00D5BF569", date_of_service: DateTime.parse(2023-01-15) })
202
202
  def compute_all_in_network_providers(request:, request_options: nil)
203
203
  Async do
204
204
  response = @request_client.conn.post do |req|
@@ -1,6 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require "json"
4
+ require_relative "appointment_by_id_and_patient_external_id"
4
5
 
5
6
  module CandidApiClient
6
7
  module Financials
@@ -40,8 +41,8 @@ module CandidApiClient
40
41
  json_object.value
41
42
  when "billing_provider_by_id"
42
43
  json_object.value
43
- when "appointment_by_id"
44
- json_object.value
44
+ when "appointment_by_id_and_patient_external_id"
45
+ CandidApiClient::Financials::Types::AppointmentByIdAndPatientExternalId.from_json(json_object: json_object)
45
46
  when "unattributed"
46
47
  nil
47
48
  else
@@ -63,8 +64,8 @@ module CandidApiClient
63
64
  { "type": @discriminant, "value": @member }.to_json
64
65
  when "billing_provider_by_id"
65
66
  { "type": @discriminant, "value": @member }.to_json
66
- when "appointment_by_id"
67
- { "type": @discriminant, "value": @member }.to_json
67
+ when "appointment_by_id_and_patient_external_id"
68
+ { **@member.to_json, type: @discriminant }.to_json
68
69
  when "unattributed"
69
70
  { type: @discriminant }.to_json
70
71
  else
@@ -89,8 +90,8 @@ module CandidApiClient
89
90
  obj.is_a?(String) != false || raise("Passed value for field obj is not the expected type, validation failed.")
90
91
  when "billing_provider_by_id"
91
92
  obj.is_a?(String) != false || raise("Passed value for field obj is not the expected type, validation failed.")
92
- when "appointment_by_id"
93
- obj.is_a?(String) != false || raise("Passed value for field obj is not the expected type, validation failed.")
93
+ when "appointment_by_id_and_patient_external_id"
94
+ CandidApiClient::Financials::Types::AppointmentByIdAndPatientExternalId.validate_raw(obj: obj)
94
95
  when "unattributed"
95
96
  # noop
96
97
  else
@@ -130,10 +131,10 @@ module CandidApiClient
130
131
  new(member: member, discriminant: "billing_provider_by_id")
131
132
  end
132
133
 
133
- # @param member [String]
134
+ # @param member [CandidApiClient::Financials::Types::AppointmentByIdAndPatientExternalId]
134
135
  # @return [CandidApiClient::Financials::Types::AllocationTargetCreate]
135
- def self.appointment_by_id(member:)
136
- new(member: member, discriminant: "appointment_by_id")
136
+ def self.appointment_by_id_and_patient_external_id(member:)
137
+ new(member: member, discriminant: "appointment_by_id_and_patient_external_id")
137
138
  end
138
139
 
139
140
  # @return [CandidApiClient::Financials::Types::AllocationTargetCreate]
@@ -9,6 +9,8 @@ module CandidApiClient
9
9
  class AppointmentAllocationTarget
10
10
  # @return [String]
11
11
  attr_reader :appointment_id
12
+ # @return [String]
13
+ attr_reader :patient_external_id
12
14
  # @return [OpenStruct] Additional properties unmapped to the current class definition
13
15
  attr_reader :additional_properties
14
16
  # @return [Object]
@@ -18,12 +20,14 @@ module CandidApiClient
18
20
  OMIT = Object.new
19
21
 
20
22
  # @param appointment_id [String]
23
+ # @param patient_external_id [String]
21
24
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
22
25
  # @return [CandidApiClient::Financials::Types::AppointmentAllocationTarget]
23
- def initialize(appointment_id:, additional_properties: nil)
26
+ def initialize(appointment_id:, patient_external_id:, additional_properties: nil)
24
27
  @appointment_id = appointment_id
28
+ @patient_external_id = patient_external_id
25
29
  @additional_properties = additional_properties
26
- @_field_set = { "appointment_id": appointment_id }
30
+ @_field_set = { "appointment_id": appointment_id, "patient_external_id": patient_external_id }
27
31
  end
28
32
 
29
33
  # Deserialize a JSON object to an instance of AppointmentAllocationTarget
@@ -33,7 +37,12 @@ module CandidApiClient
33
37
  def self.from_json(json_object:)
34
38
  struct = JSON.parse(json_object, object_class: OpenStruct)
35
39
  appointment_id = struct["appointment_id"]
36
- new(appointment_id: appointment_id, additional_properties: struct)
40
+ patient_external_id = struct["patient_external_id"]
41
+ new(
42
+ appointment_id: appointment_id,
43
+ patient_external_id: patient_external_id,
44
+ additional_properties: struct
45
+ )
37
46
  end
38
47
 
39
48
  # Serialize an instance of AppointmentAllocationTarget to a JSON object
@@ -51,6 +60,7 @@ module CandidApiClient
51
60
  # @return [Void]
52
61
  def self.validate_raw(obj:)
53
62
  obj.appointment_id.is_a?(String) != false || raise("Passed value for field obj.appointment_id is not the expected type, validation failed.")
63
+ obj.patient_external_id.is_a?(String) != false || raise("Passed value for field obj.patient_external_id is not the expected type, validation failed.")
54
64
  end
55
65
  end
56
66
  end