Class: CandidApiClient::Encounters::V4::Types::Encounter

Inherits:
Object
  • Object
show all
Defined in:
lib/candidhealth/encounters/v_4/types/encounter.rb

Constant Summary collapse

OMIT =
Object.new

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(encounter_id:, claims:, patient:, billing_provider:, rendering_provider:, service_facility:, responsible_party:, url:, diagnoses:, clinical_notes:, patient_histories:, patient_payments:, tags:, owner_of_next_action:, submission_origin:, schema_instances:, created_at:, external_id:, patient_authorized_release:, benefits_assigned_to_provider:, provider_accepts_assignment:, billable_status:, patient_control_number: OMIT, guarantor: OMIT, referring_provider: OMIT, initial_referring_provider: OMIT, supervising_provider: OMIT, subscriber_primary: OMIT, subscriber_secondary: OMIT, subscriber_tertiary: OMIT, prior_authorization_number: OMIT, billing_notes: OMIT, place_of_service_code: OMIT, place_of_service_code_as_submitted: OMIT, coding_attribution: OMIT, work_queue_id: OMIT, work_queue_membership_activated_at: OMIT, referral_number: OMIT, epsdt_referral: OMIT, claim_supplemental_information: OMIT, secondary_payer_carrier_code: OMIT, last_submitted_at: OMIT, date_of_service: OMIT, end_date_of_service: OMIT, appointment_type: OMIT, existing_medications: OMIT, vitals: OMIT, interventions: OMIT, pay_to_address: OMIT, synchronicity: OMIT, additional_information: OMIT, service_authorization_exception_code: OMIT, admission_date: OMIT, discharge_date: OMIT, onset_of_current_illness_or_symptom_date: OMIT, last_menstrual_period_date: OMIT, delay_reason_code: OMIT, additional_properties: nil) ⇒ CandidApiClient::Encounters::V4::Types::Encounter

Parameters:

  • patient_control_number (String) (defaults to: OMIT)

    A patient control number (PCN) is a unique identifier assigned to a patient within a healthcare system or facility. It’s used to track and manage a patient’s medical records, treatments, and other healthcare-related information.

  • encounter_id (String)
  • claims (Array<CandidApiClient::Claims::Types::Claim>)
  • patient (CandidApiClient::Individual::Types::Patient)

    Contains the identification information of the individual receiving medical services.

  • guarantor (CandidApiClient::Guarantor::V1::Types::Guarantor) (defaults to: OMIT)

    Personal and contact info for the guarantor of the patient responsibility.

  • billing_provider (CandidApiClient::EncounterProviders::V2::Types::EncounterProvider)

    The billing provider is the provider or business entity submitting the claim. Billing provider may be, but is not necessarily, the same person/NPI as the rendering provider. From a payer’s perspective, this represents the person or entity being reimbursed. When a contract exists with the target payer, the billing provider should be the entity contracted with the payer. In some circumstances, this will be an individual provider. In that case, submit that provider’s NPI and the tax ID (TIN) that the provider gave to the payer during contracting. In other cases, the billing entity will be a medical group. If so, submit the group NPI and the group’s tax ID. Box 33 on the CMS-1500 claim form.

  • rendering_provider (CandidApiClient::EncounterProviders::V2::Types::EncounterProvider)

    The rendering provider is the practitioner – physician, nurse practitioner, etc. – performing the service. For telehealth services, the rendering provider performs the visit, asynchronous communication, or other service. The rendering provider address should generally be the same as the service facility address.

  • referring_provider (CandidApiClient::EncounterProviders::V2::Types::EncounterProvider) (defaults to: OMIT)
  • initial_referring_provider (CandidApiClient::EncounterProviders::V2::Types::EncounterProvider) (defaults to: OMIT)
  • supervising_provider (CandidApiClient::EncounterProviders::V2::Types::EncounterProvider) (defaults to: OMIT)
  • service_facility (CandidApiClient::ServiceFacility::Types::EncounterServiceFacility)

    Encounter Service facility is typically the location a medical service was rendered, such as a provider office or hospital. For telehealth, service facility can represent the provider’s location when the service was delivered (e.g., home), or the location where an in-person visit would have taken place, whichever is easier to identify. If the provider is in-network, service facility may be defined in payer contracts. Box 32 on the CMS-1500 claim form. Note that for an in-network claim to be successfully adjudicated, the service facility address listed on claims must match what was provided to the payer during the credentialing process.

  • subscriber_primary (CandidApiClient::Individual::Types::Subscriber) (defaults to: OMIT)

    Subscriber_primary is required when responsible_party is INSURANCE_PAY (i.e. when the claim should be billed to insurance). These are not required fields when responsible_party is SELF_PAY (i.e. when the claim should be billed to the patient). However, if you collect this for patients, even self-pay, we recommend including it when sending encounters to Candid. Note: Cash Pay is no longer a valid payer_id in v4, please use responsible party to define self-pay claims.

  • subscriber_secondary (CandidApiClient::Individual::Types::Subscriber) (defaults to: OMIT)

    Contains details of the secondary insurance subscriber.

  • subscriber_tertiary (CandidApiClient::Individual::Types::Subscriber) (defaults to: OMIT)

    Contains details of the tertiary insurance subscriber.

  • prior_authorization_number (String) (defaults to: OMIT)

    Box 23 on the CMS-1500 claim form.

  • responsible_party (CandidApiClient::Encounters::V4::Types::ResponsiblePartyType)

    Defines the party to be billed with the initial balance owed on the claim.

  • url (String)

    URL that links directly to the claim created in Candid.

  • diagnoses (Array<CandidApiClient::Diagnoses::Types::Diagnosis>)

    Ideally, this field should contain no more than 12 diagnoses. However, more diagnoses may be submitted at this time, and coders will later prioritize the 12 that will be submitted to the payor.

  • clinical_notes (Array<CandidApiClient::Encounters::V4::Types::ClinicalNoteCategory>)

    Holds a collection of clinical observations made by healthcare providers during patient encounters.

  • billing_notes (Array<CandidApiClient::BillingNotes::V2::Types::BillingNote>) (defaults to: OMIT)

    Spot to store misc, human-readable, notes about this encounter to be used in the billing process.

  • place_of_service_code (CandidApiClient::Commons::Types::FacilityTypeCode) (defaults to: OMIT)

    Box 24B on the CMS-1500 claim form. 837p Loop2300, CLM-05-1. 02 for telemedicine, 11 for in-person. Full list //www.cms.gov/Medicare/Coding/place-of-service-codes/Place_of_Service_Code_Set).

  • place_of_service_code_as_submitted (CandidApiClient::Commons::Types::FacilityTypeCode) (defaults to: OMIT)

    Box 24B on the CMS-1500 claim form. 837p Loop2300, CLM-05-1. 02 for telemedicine, 11 for in-person. Full list //www.cms.gov/Medicare/Coding/place-of-service-codes/Place_of_Service_Code_Set).

  • patient_histories (Array<CandidApiClient::Encounters::V4::Types::PatientHistoryCategory>)
  • patient_payments (Array<CandidApiClient::PatientPayments::V3::Types::PatientPayment>)
  • tags (Array<CandidApiClient::Tags::Types::Tag>)
  • coding_attribution (CandidApiClient::Encounters::V4::Types::CodingAttributionType) (defaults to: OMIT)

    The entity that performed the coding of medical services for the claim.

  • work_queue_id (String) (defaults to: OMIT)
  • work_queue_membership_activated_at (DateTime) (defaults to: OMIT)
  • owner_of_next_action (CandidApiClient::Encounters::V4::Types::EncounterOwnerOfNextActionType)

    The party who is responsible for taking the next action on an Encounter, as defined by ownership of open Tasks.

  • submission_origin (CandidApiClient::Encounters::V4::Types::EncounterSubmissionOriginType)

    The party who originally submitted the Claim. For Claims originating in Candid, this will be EncounterSubmissionOriginType.CANDID. For Encounters created with an external_claim_submission object, this will be EncounterSubmissionOriginType.EXTERNAL.

  • schema_instances (Array<CandidApiClient::CustomSchemas::V1::Types::SchemaInstance>)

    Key-value pairs that must adhere to a schema created via the Custom Schema API. Multiple schema instances cannot be created for the same schema on an encounter.

  • referral_number (String) (defaults to: OMIT)

    Refers to REF*9F on the 837p. Value cannot be greater than 50 characters.

  • epsdt_referral (CandidApiClient::Encounters::V4::Types::EpsdtReferral) (defaults to: OMIT)

    Refers Box 24H on the CMS1500 form and Loop 2300 CRC - EPSDT Referral on the 837P form

  • claim_supplemental_information (Array<CandidApiClient::Encounters::V4::Types::ClaimSupplementalInformation>) (defaults to: OMIT)

    Refers to Loop 2300 - Segment PWK on the 837P form. No more than 10 entries are permitted.

  • secondary_payer_carrier_code (String) (defaults to: OMIT)

    When Medicaid is billed as the secondary payer the Carrier Code is used to identify the primary payer. This is required for certain states.

  • last_submitted_at (DateTime) (defaults to: OMIT)

    The date and time the encounter was last submitted to a payer.

  • created_at (DateTime)

    The date and time the encounter was created.

  • external_id (String)

    A client-specified unique ID to associate with this encounter; for example, your internal encounter ID or a Dr. Chrono encounter ID. This field should not contain PHI.

  • date_of_service (Date) (defaults to: OMIT)

    Date formatted as YYYY-MM-DD; eg: 2019-08-24. This date must be the local date in the timezone where the service occurred. Box 24a on the CMS-1500 claim form. If service occurred over a range of dates, this should be the start date. date_of_service must be defined on either the encounter or the service lines but not both. If there are greater than zero service lines, it is recommended to specify date_of_service on the service_line instead of on the encounter to prepare for future API versions.

  • end_date_of_service (Date) (defaults to: OMIT)

    Date formatted as YYYY-MM-DD; eg: 2019-08-25. This date must be the local date in the timezone where the service occurred. If omitted, the Encounter is assumed to be for a single day. Must not be temporally before the date_of_service field. If there are greater than zero service lines, it is recommended to specify end_date_of_service on the service_line instead of on the encounter to prepare for future API versions.

  • patient_authorized_release (Boolean)

    Whether this patient has authorized the release of medical information for billing purpose. Box 12 on the CMS-1500 claim form.

  • benefits_assigned_to_provider (Boolean)

    Whether this patient has authorized insurance payments to be made to you, not them. If false, patient may receive reimbursement. Box 13 on the CMS-1500 claim form.

  • provider_accepts_assignment (Boolean)

    Whether you have accepted the patient’s authorization for insurance payments to be made to you, not them. Box 27 on the CMS-1500 claim form.

  • appointment_type (String) (defaults to: OMIT)

    Human-readable description of the appointment type (ex: “Acupuncture - Headaches”).

  • existing_medications (Array<CandidApiClient::Encounters::V4::Types::Medication>) (defaults to: OMIT)
  • vitals (CandidApiClient::Encounters::V4::Types::Vitals) (defaults to: OMIT)
  • interventions (Array<CandidApiClient::Encounters::V4::Types::Intervention>) (defaults to: OMIT)
  • pay_to_address (CandidApiClient::Commons::Types::StreetAddressLongZip) (defaults to: OMIT)

    Specifies the address to which payments for the claim should be sent.

  • synchronicity (CandidApiClient::Encounters::V4::Types::SynchronicityType) (defaults to: OMIT)

    Whether or not this was a synchronous or asynchronous encounter. Asynchronous encounters occur when providers and patients communicate online using forms, instant messaging, or other pre-recorded digital mediums. Synchronous encounters occur in live, real-time settings where the patient interacts directly with the provider, such as over video or a phone call.

  • billable_status (CandidApiClient::Encounters::V4::Types::BillableStatusType)

    Defines if the Encounter is to be billed by Candid to the responsible_party. Examples for when this should be set to NOT_BILLABLE include if the Encounter has not occurred yet or if there is no intention of ever billing the responsible_party.

  • additional_information (String) (defaults to: OMIT)

    Defines additional information on the claim needed by the payer. Box 19 on the CMS-1500 claim form.

  • service_authorization_exception_code (CandidApiClient::Encounters::V4::Types::ServiceAuthorizationExceptionCode) (defaults to: OMIT)

    837p Loop2300 REF*4N Required when mandated by government law or regulation to obtain authorization for specific service(s) but, for the reasons listed in one of the enum values of ServiceAuthorizationExceptionCode, the service was performed without obtaining the authorization.

  • admission_date (Date) (defaults to: OMIT)

    837p Loop2300 DTP*435, CMS-1500 Box 18 Required on all ambulance claims when the patient was known to be admitted to the hospital. OR Required on all claims involving inpatient medical visits.

  • discharge_date (Date) (defaults to: OMIT)

    837p Loop2300 DTP*096, CMS-1500 Box 18 Required for inpatient claims when the patient was discharged from the facility and the discharge date is known.

  • onset_of_current_illness_or_symptom_date (Date) (defaults to: OMIT)

    837p Loop2300 DTP*431, CMS-1500 Box 14 Required for the initial medical service or visit performed in response to a medical emergency when the date is available and is different than the date of service. OR This date is the onset of acute symptoms for the current illness or condition.

  • last_menstrual_period_date (Date) (defaults to: OMIT)

    837p Loop2300 DTP*484, CMS-1500 Box 14 Required when, in the judgment of the provider, the services on this claim are related to the patient’s pregnancy.

  • delay_reason_code (CandidApiClient::Commons::Types::DelayReasonCode) (defaults to: OMIT)

    837i Loop2300, CLM-1300 Box 20 Code indicating the reason why a request was delayed

  • additional_properties (OpenStruct) (defaults to: nil)

    Additional properties unmapped to the current class definition



423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
# File 'lib/candidhealth/encounters/v_4/types/encounter.rb', line 423

def initialize(encounter_id:, claims:, patient:, billing_provider:, rendering_provider:, service_facility:,
               responsible_party:, url:, diagnoses:, clinical_notes:, patient_histories:, patient_payments:, tags:, owner_of_next_action:, submission_origin:, schema_instances:, created_at:, external_id:, patient_authorized_release:, benefits_assigned_to_provider:, provider_accepts_assignment:, billable_status:, patient_control_number: OMIT, guarantor: OMIT, referring_provider: OMIT, initial_referring_provider: OMIT, supervising_provider: OMIT, subscriber_primary: OMIT, subscriber_secondary: OMIT, subscriber_tertiary: OMIT, prior_authorization_number: OMIT, billing_notes: OMIT, place_of_service_code: OMIT, place_of_service_code_as_submitted: OMIT, coding_attribution: OMIT, work_queue_id: OMIT, work_queue_membership_activated_at: OMIT, referral_number: OMIT, epsdt_referral: OMIT, claim_supplemental_information: OMIT, secondary_payer_carrier_code: OMIT, last_submitted_at: OMIT, date_of_service: OMIT, end_date_of_service: OMIT, appointment_type: OMIT, existing_medications: OMIT, vitals: OMIT, interventions: OMIT, pay_to_address: OMIT, synchronicity: OMIT, additional_information: OMIT, service_authorization_exception_code: OMIT, admission_date: OMIT, discharge_date: OMIT, onset_of_current_illness_or_symptom_date: OMIT, last_menstrual_period_date: OMIT, delay_reason_code: OMIT, additional_properties: nil)
  @patient_control_number = patient_control_number if patient_control_number != OMIT
  @encounter_id = encounter_id
  @claims = claims
  @patient = patient
  @guarantor = guarantor if guarantor != OMIT
  @billing_provider = billing_provider
  @rendering_provider = rendering_provider
  @referring_provider = referring_provider if referring_provider != OMIT
  @initial_referring_provider = initial_referring_provider if initial_referring_provider != OMIT
  @supervising_provider = supervising_provider if supervising_provider != OMIT
  @service_facility = service_facility
  @subscriber_primary = subscriber_primary if subscriber_primary != OMIT
  @subscriber_secondary = subscriber_secondary if subscriber_secondary != OMIT
  @subscriber_tertiary = subscriber_tertiary if subscriber_tertiary != OMIT
  @prior_authorization_number = prior_authorization_number if prior_authorization_number != OMIT
  @responsible_party = responsible_party
  @url = url
  @diagnoses = diagnoses
  @clinical_notes = clinical_notes
  @billing_notes = billing_notes if billing_notes != OMIT
  @place_of_service_code = place_of_service_code if place_of_service_code != OMIT
  if  != OMIT
     = 
  end
  @patient_histories = patient_histories
  @patient_payments = patient_payments
  @tags = tags
  @coding_attribution = coding_attribution if coding_attribution != OMIT
  @work_queue_id = work_queue_id if work_queue_id != OMIT
  if work_queue_membership_activated_at != OMIT
    @work_queue_membership_activated_at = work_queue_membership_activated_at
  end
  @owner_of_next_action = owner_of_next_action
  @submission_origin = submission_origin
  @schema_instances = schema_instances
  @referral_number = referral_number if referral_number != OMIT
  @epsdt_referral = epsdt_referral if epsdt_referral != OMIT
  @claim_supplemental_information = claim_supplemental_information if claim_supplemental_information != OMIT
  @secondary_payer_carrier_code = secondary_payer_carrier_code if secondary_payer_carrier_code != OMIT
   =  if  != OMIT
  @created_at = created_at
  @external_id = external_id
  @date_of_service = date_of_service if date_of_service != OMIT
  @end_date_of_service = end_date_of_service if end_date_of_service != OMIT
  @patient_authorized_release = patient_authorized_release
  @benefits_assigned_to_provider = benefits_assigned_to_provider
  @provider_accepts_assignment = provider_accepts_assignment
  @appointment_type = appointment_type if appointment_type != OMIT
  @existing_medications = existing_medications if existing_medications != OMIT
  @vitals = vitals if vitals != OMIT
  @interventions = interventions if interventions != OMIT
  @pay_to_address = pay_to_address if pay_to_address != OMIT
  @synchronicity = synchronicity if synchronicity != OMIT
  @billable_status = billable_status
  @additional_information = additional_information if additional_information != OMIT
  if service_authorization_exception_code != OMIT
    @service_authorization_exception_code = service_authorization_exception_code
  end
  @admission_date = admission_date if admission_date != OMIT
  @discharge_date = discharge_date if discharge_date != OMIT
  if onset_of_current_illness_or_symptom_date != OMIT
    @onset_of_current_illness_or_symptom_date = onset_of_current_illness_or_symptom_date
  end
  @last_menstrual_period_date = last_menstrual_period_date if last_menstrual_period_date != OMIT
  @delay_reason_code = delay_reason_code if delay_reason_code != OMIT
  @additional_properties = additional_properties
  @_field_set = {
    "patient_control_number": patient_control_number,
    "encounter_id": encounter_id,
    "claims": claims,
    "patient": patient,
    "guarantor": guarantor,
    "billing_provider": billing_provider,
    "rendering_provider": rendering_provider,
    "referring_provider": referring_provider,
    "initial_referring_provider": initial_referring_provider,
    "supervising_provider": supervising_provider,
    "service_facility": service_facility,
    "subscriber_primary": subscriber_primary,
    "subscriber_secondary": subscriber_secondary,
    "subscriber_tertiary": subscriber_tertiary,
    "prior_authorization_number": prior_authorization_number,
    "responsible_party": responsible_party,
    "url": url,
    "diagnoses": diagnoses,
    "clinical_notes": clinical_notes,
    "billing_notes": billing_notes,
    "place_of_service_code": place_of_service_code,
    "place_of_service_code_as_submitted": ,
    "patient_histories": patient_histories,
    "patient_payments": patient_payments,
    "tags": tags,
    "coding_attribution": coding_attribution,
    "work_queue_id": work_queue_id,
    "work_queue_membership_activated_at": work_queue_membership_activated_at,
    "owner_of_next_action": owner_of_next_action,
    "submission_origin": submission_origin,
    "schema_instances": schema_instances,
    "referral_number": referral_number,
    "epsdt_referral": epsdt_referral,
    "claim_supplemental_information": claim_supplemental_information,
    "secondary_payer_carrier_code": secondary_payer_carrier_code,
    "last_submitted_at": ,
    "created_at": created_at,
    "external_id": external_id,
    "date_of_service": date_of_service,
    "end_date_of_service": end_date_of_service,
    "patient_authorized_release": patient_authorized_release,
    "benefits_assigned_to_provider": benefits_assigned_to_provider,
    "provider_accepts_assignment": provider_accepts_assignment,
    "appointment_type": appointment_type,
    "existing_medications": existing_medications,
    "vitals": vitals,
    "interventions": interventions,
    "pay_to_address": pay_to_address,
    "synchronicity": synchronicity,
    "billable_status": billable_status,
    "additional_information": additional_information,
    "service_authorization_exception_code": service_authorization_exception_code,
    "admission_date": admission_date,
    "discharge_date": discharge_date,
    "onset_of_current_illness_or_symptom_date": onset_of_current_illness_or_symptom_date,
    "last_menstrual_period_date": last_menstrual_period_date,
    "delay_reason_code": delay_reason_code
  }.reject do |_k, v|
    v == OMIT
  end
end

Instance Attribute Details

#additional_informationString (readonly)

Returns Defines additional information on the claim needed by the payer. Box 19 on the CMS-1500 claim form.

Returns:

  • (String)

    Defines additional information on the claim needed by the payer. Box 19 on the CMS-1500 claim form.



223
224
225
# File 'lib/candidhealth/encounters/v_4/types/encounter.rb', line 223

def additional_information
  @additional_information
end

#additional_propertiesOpenStruct (readonly)

Returns Additional properties unmapped to the current class definition.

Returns:

  • (OpenStruct)

    Additional properties unmapped to the current class definition



256
257
258
# File 'lib/candidhealth/encounters/v_4/types/encounter.rb', line 256

def additional_properties
  @additional_properties
end

#admission_dateDate (readonly)

Returns 837p Loop2300 DTP*435, CMS-1500 Box 18 Required on all ambulance claims when the patient was known to be admitted to the hospital. OR Required on all claims involving inpatient medical visits.

Returns:

  • (Date)

    837p Loop2300 DTP*435, CMS-1500 Box 18 Required on all ambulance claims when the patient was known to be admitted to the hospital. OR Required on all claims involving inpatient medical visits.



236
237
238
# File 'lib/candidhealth/encounters/v_4/types/encounter.rb', line 236

def admission_date
  @admission_date
end

#appointment_typeString (readonly)

Returns Human-readable description of the appointment type (ex: “Acupuncture - Headaches”).

Returns:

  • (String)

    Human-readable description of the appointment type (ex: “Acupuncture - Headaches”).



199
200
201
# File 'lib/candidhealth/encounters/v_4/types/encounter.rb', line 199

def appointment_type
  @appointment_type
end

#benefits_assigned_to_providerBoolean (readonly)

Returns Whether this patient has authorized insurance payments to be made to you, not them. If false, patient may receive reimbursement. Box 13 on the CMS-1500 claim form.

Returns:

  • (Boolean)

    Whether this patient has authorized insurance payments to be made to you, not them. If false, patient may receive reimbursement. Box 13 on the CMS-1500 claim form.



192
193
194
# File 'lib/candidhealth/encounters/v_4/types/encounter.rb', line 192

def benefits_assigned_to_provider
  @benefits_assigned_to_provider
end

#billable_statusCandidApiClient::Encounters::V4::Types::BillableStatusType (readonly)

Returns Defines if the Encounter is to be billed by Candid to the responsible_party. Examples for when this should be set to NOT_BILLABLE include if the Encounter has not occurred yet or if there is no intention of ever billing the responsible_party.

Returns:

  • (CandidApiClient::Encounters::V4::Types::BillableStatusType)

    Defines if the Encounter is to be billed by Candid to the responsible_party. Examples for when this should be set to NOT_BILLABLE include if the Encounter has not occurred yet or if there is no intention of ever billing the responsible_party.



220
221
222
# File 'lib/candidhealth/encounters/v_4/types/encounter.rb', line 220

def billable_status
  @billable_status
end

#billing_notesArray<CandidApiClient::BillingNotes::V2::Types::BillingNote> (readonly)

Returns Spot to store misc, human-readable, notes about this encounter to be used in the billing process.

Returns:



114
115
116
# File 'lib/candidhealth/encounters/v_4/types/encounter.rb', line 114

def billing_notes
  @billing_notes
end

#billing_providerCandidApiClient::EncounterProviders::V2::Types::EncounterProvider (readonly)

Returns The billing provider is the provider or business entity submitting the claim. Billing provider may be, but is not necessarily, the same person/NPI as the rendering provider. From a payer’s perspective, this represents the person or entity being reimbursed. When a contract exists with the target payer, the billing provider should be the entity contracted with the payer. In some circumstances, this will be an individual provider. In that case, submit that provider’s NPI and the tax ID (TIN) that the provider gave to the payer during contracting. In other cases, the billing entity will be a medical group. If so, submit the group NPI and the group’s tax ID. Box 33 on the CMS-1500 claim form.

Returns:

  • (CandidApiClient::EncounterProviders::V2::Types::EncounterProvider)

    The billing provider is the provider or business entity submitting the claim. Billing provider may be, but is not necessarily, the same person/NPI as the rendering provider. From a payer’s perspective, this represents the person or entity being reimbursed. When a contract exists with the target payer, the billing provider should be the entity contracted with the payer. In some circumstances, this will be an individual provider. In that case, submit that provider’s NPI and the tax ID (TIN) that the provider gave to the payer during contracting. In other cases, the billing entity will be a medical group. If so, submit the group NPI and the group’s tax ID. Box 33 on the CMS-1500 claim form.



63
64
65
# File 'lib/candidhealth/encounters/v_4/types/encounter.rb', line 63

def billing_provider
  @billing_provider
end

#claim_supplemental_informationArray<CandidApiClient::Encounters::V4::Types::ClaimSupplementalInformation> (readonly)

Returns Refers to Loop 2300 - Segment PWK on the 837P form. No more than 10 entries are permitted.

Returns:



155
156
157
# File 'lib/candidhealth/encounters/v_4/types/encounter.rb', line 155

def claim_supplemental_information
  @claim_supplemental_information
end

#claimsArray<CandidApiClient::Claims::Types::Claim> (readonly)



48
49
50
# File 'lib/candidhealth/encounters/v_4/types/encounter.rb', line 48

def claims
  @claims
end

#clinical_notesArray<CandidApiClient::Encounters::V4::Types::ClinicalNoteCategory> (readonly)

Returns Holds a collection of clinical observations made by healthcare providers during patient encounters.

Returns:



111
112
113
# File 'lib/candidhealth/encounters/v_4/types/encounter.rb', line 111

def clinical_notes
  @clinical_notes
end

#coding_attributionCandidApiClient::Encounters::V4::Types::CodingAttributionType (readonly)

Returns The entity that performed the coding of medical services for the claim.

Returns:



130
131
132
# File 'lib/candidhealth/encounters/v_4/types/encounter.rb', line 130

def coding_attribution
  @coding_attribution
end

#created_atDateTime (readonly)

Returns The date and time the encounter was created.

Returns:

  • (DateTime)

    The date and time the encounter was created.



162
163
164
# File 'lib/candidhealth/encounters/v_4/types/encounter.rb', line 162

def created_at
  @created_at
end

#date_of_serviceDate (readonly)

Returns Date formatted as YYYY-MM-DD; eg: 2019-08-24. This date must be the local date in the timezone where the service occurred. Box 24a on the CMS-1500 claim form. If service occurred over a range of dates, this should be the start date. date_of_service must be defined on either the encounter or the service lines but not both. If there are greater than zero service lines, it is recommended to specify date_of_service on the service_line instead of on the encounter to prepare for future API versions.

Returns:

  • (Date)

    Date formatted as YYYY-MM-DD; eg: 2019-08-24. This date must be the local date in the timezone where the service occurred. Box 24a on the CMS-1500 claim form. If service occurred over a range of dates, this should be the start date. date_of_service must be defined on either the encounter or the service lines but not both. If there are greater than zero service lines, it is recommended to specify date_of_service on the service_line instead of on the encounter to prepare for future API versions.



176
177
178
# File 'lib/candidhealth/encounters/v_4/types/encounter.rb', line 176

def date_of_service
  @date_of_service
end

#delay_reason_codeCandidApiClient::Commons::Types::DelayReasonCode (readonly)

Returns 837i Loop2300, CLM-1300 Box 20 Code indicating the reason why a request was delayed.

Returns:



254
255
256
# File 'lib/candidhealth/encounters/v_4/types/encounter.rb', line 254

def delay_reason_code
  @delay_reason_code
end

#diagnosesArray<CandidApiClient::Diagnoses::Types::Diagnosis> (readonly)

Returns Ideally, this field should contain no more than 12 diagnoses. However, more diagnoses may be submitted at this time, and coders will later prioritize the 12 that will be submitted to the payor.

Returns:

  • (Array<CandidApiClient::Diagnoses::Types::Diagnosis>)

    Ideally, this field should contain no more than 12 diagnoses. However, more diagnoses may be submitted at this time, and coders will later prioritize the 12 that will be submitted to the payor.



108
109
110
# File 'lib/candidhealth/encounters/v_4/types/encounter.rb', line 108

def diagnoses
  @diagnoses
end

#discharge_dateDate (readonly)

Returns 837p Loop2300 DTP*096, CMS-1500 Box 18 Required for inpatient claims when the patient was discharged from the facility and the discharge date is known.

Returns:

  • (Date)

    837p Loop2300 DTP*096, CMS-1500 Box 18 Required for inpatient claims when the patient was discharged from the facility and the discharge date is known.



240
241
242
# File 'lib/candidhealth/encounters/v_4/types/encounter.rb', line 240

def discharge_date
  @discharge_date
end

#encounter_idString (readonly)

Returns:

  • (String)


46
47
48
# File 'lib/candidhealth/encounters/v_4/types/encounter.rb', line 46

def encounter_id
  @encounter_id
end

#end_date_of_serviceDate (readonly)

Returns Date formatted as YYYY-MM-DD; eg: 2019-08-25. This date must be the local date in the timezone where the service occurred. If omitted, the Encounter is assumed to be for a single day. Must not be temporally before the date_of_service field. If there are greater than zero service lines, it is recommended to specify end_date_of_service on the service_line instead of on the encounter to prepare for future API versions.

Returns:

  • (Date)

    Date formatted as YYYY-MM-DD; eg: 2019-08-25. This date must be the local date in the timezone where the service occurred. If omitted, the Encounter is assumed to be for a single day. Must not be temporally before the date_of_service field. If there are greater than zero service lines, it is recommended to specify end_date_of_service on the service_line instead of on the encounter to prepare for future API versions.



184
185
186
# File 'lib/candidhealth/encounters/v_4/types/encounter.rb', line 184

def end_date_of_service
  @end_date_of_service
end

#epsdt_referralCandidApiClient::Encounters::V4::Types::EpsdtReferral (readonly)

Returns Refers Box 24H on the CMS1500 form and Loop 2300 CRC - EPSDT Referral on the 837P form.

Returns:



152
153
154
# File 'lib/candidhealth/encounters/v_4/types/encounter.rb', line 152

def epsdt_referral
  @epsdt_referral
end

#existing_medicationsArray<CandidApiClient::Encounters::V4::Types::Medication> (readonly)



201
202
203
# File 'lib/candidhealth/encounters/v_4/types/encounter.rb', line 201

def existing_medications
  @existing_medications
end

#external_idString (readonly)

Returns A client-specified unique ID to associate with this encounter; for example, your internal encounter ID or a Dr. Chrono encounter ID. This field should not contain PHI.

Returns:

  • (String)

    A client-specified unique ID to associate with this encounter; for example, your internal encounter ID or a Dr. Chrono encounter ID. This field should not contain PHI.



166
167
168
# File 'lib/candidhealth/encounters/v_4/types/encounter.rb', line 166

def external_id
  @external_id
end

#guarantorCandidApiClient::Guarantor::V1::Types::Guarantor (readonly)

Returns Personal and contact info for the guarantor of the patient responsibility.

Returns:



53
54
55
# File 'lib/candidhealth/encounters/v_4/types/encounter.rb', line 53

def guarantor
  @guarantor
end

#initial_referring_providerCandidApiClient::EncounterProviders::V2::Types::EncounterProvider (readonly)



73
74
75
# File 'lib/candidhealth/encounters/v_4/types/encounter.rb', line 73

def initial_referring_provider
  @initial_referring_provider
end

#interventionsArray<CandidApiClient::Encounters::V4::Types::Intervention> (readonly)



205
206
207
# File 'lib/candidhealth/encounters/v_4/types/encounter.rb', line 205

def interventions
  @interventions
end

#last_menstrual_period_dateDate (readonly)

Returns 837p Loop2300 DTP*484, CMS-1500 Box 14 Required when, in the judgment of the provider, the services on this claim are related to the patient’s pregnancy.

Returns:

  • (Date)

    837p Loop2300 DTP*484, CMS-1500 Box 14 Required when, in the judgment of the provider, the services on this claim are related to the patient’s pregnancy.



251
252
253
# File 'lib/candidhealth/encounters/v_4/types/encounter.rb', line 251

def last_menstrual_period_date
  @last_menstrual_period_date
end

#last_submitted_atDateTime (readonly)

Returns The date and time the encounter was last submitted to a payer.

Returns:

  • (DateTime)

    The date and time the encounter was last submitted to a payer.



160
161
162
# File 'lib/candidhealth/encounters/v_4/types/encounter.rb', line 160

def 
  
end

#onset_of_current_illness_or_symptom_dateDate (readonly)

Returns 837p Loop2300 DTP*431, CMS-1500 Box 14 Required for the initial medical service or visit performed in response to a medical emergency when the date is available and is different than the date of service. OR This date is the onset of acute symptoms for the current illness or condition.

Returns:

  • (Date)

    837p Loop2300 DTP*431, CMS-1500 Box 14 Required for the initial medical service or visit performed in response to a medical emergency when the date is available and is different than the date of service. OR This date is the onset of acute symptoms for the current illness or condition.



247
248
249
# File 'lib/candidhealth/encounters/v_4/types/encounter.rb', line 247

def onset_of_current_illness_or_symptom_date
  @onset_of_current_illness_or_symptom_date
end

#owner_of_next_actionCandidApiClient::Encounters::V4::Types::EncounterOwnerOfNextActionType (readonly)

Returns The party who is responsible for taking the next action on an Encounter, as defined by ownership of open Tasks.

Returns:



137
138
139
# File 'lib/candidhealth/encounters/v_4/types/encounter.rb', line 137

def owner_of_next_action
  @owner_of_next_action
end

#patientCandidApiClient::Individual::Types::Patient (readonly)

Returns Contains the identification information of the individual receiving medical services.

Returns:



51
52
53
# File 'lib/candidhealth/encounters/v_4/types/encounter.rb', line 51

def patient
  @patient
end

#patient_authorized_releaseBoolean (readonly)

Returns Whether this patient has authorized the release of medical information for billing purpose. Box 12 on the CMS-1500 claim form.

Returns:

  • (Boolean)

    Whether this patient has authorized the release of medical information for billing purpose. Box 12 on the CMS-1500 claim form.



188
189
190
# File 'lib/candidhealth/encounters/v_4/types/encounter.rb', line 188

def patient_authorized_release
  @patient_authorized_release
end

#patient_control_numberString (readonly)

Returns A patient control number (PCN) is a unique identifier assigned to a patient within a healthcare system or facility. It’s used to track and manage a patient’s medical records, treatments, and other healthcare-related information.

Returns:

  • (String)

    A patient control number (PCN) is a unique identifier assigned to a patient within a healthcare system or facility. It’s used to track and manage a patient’s medical records, treatments, and other healthcare-related information.



44
45
46
# File 'lib/candidhealth/encounters/v_4/types/encounter.rb', line 44

def patient_control_number
  @patient_control_number
end

#patient_historiesArray<CandidApiClient::Encounters::V4::Types::PatientHistoryCategory> (readonly)



124
125
126
# File 'lib/candidhealth/encounters/v_4/types/encounter.rb', line 124

def patient_histories
  @patient_histories
end

#patient_paymentsArray<CandidApiClient::PatientPayments::V3::Types::PatientPayment> (readonly)



126
127
128
# File 'lib/candidhealth/encounters/v_4/types/encounter.rb', line 126

def patient_payments
  @patient_payments
end

#pay_to_addressCandidApiClient::Commons::Types::StreetAddressLongZip (readonly)

Returns Specifies the address to which payments for the claim should be sent.

Returns:



207
208
209
# File 'lib/candidhealth/encounters/v_4/types/encounter.rb', line 207

def pay_to_address
  @pay_to_address
end

#place_of_service_codeCandidApiClient::Commons::Types::FacilityTypeCode (readonly)

Returns Box 24B on the CMS-1500 claim form. 837p Loop2300, CLM-05-1. 02 for telemedicine, 11 for in-person. Full list //www.cms.gov/Medicare/Coding/place-of-service-codes/Place_of_Service_Code_Set).

Returns:



118
119
120
# File 'lib/candidhealth/encounters/v_4/types/encounter.rb', line 118

def place_of_service_code
  @place_of_service_code
end

#place_of_service_code_as_submittedCandidApiClient::Commons::Types::FacilityTypeCode (readonly)

Returns Box 24B on the CMS-1500 claim form. 837p Loop2300, CLM-05-1. 02 for telemedicine, 11 for in-person. Full list //www.cms.gov/Medicare/Coding/place-of-service-codes/Place_of_Service_Code_Set).

Returns:



122
123
124
# File 'lib/candidhealth/encounters/v_4/types/encounter.rb', line 122

def 
  
end

#prior_authorization_numberString (readonly)

Returns Box 23 on the CMS-1500 claim form.

Returns:

  • (String)

    Box 23 on the CMS-1500 claim form.



100
101
102
# File 'lib/candidhealth/encounters/v_4/types/encounter.rb', line 100

def prior_authorization_number
  @prior_authorization_number
end

#provider_accepts_assignmentBoolean (readonly)

Returns Whether you have accepted the patient’s authorization for insurance payments to be made to you, not them. Box 27 on the CMS-1500 claim form.

Returns:

  • (Boolean)

    Whether you have accepted the patient’s authorization for insurance payments to be made to you, not them. Box 27 on the CMS-1500 claim form.



196
197
198
# File 'lib/candidhealth/encounters/v_4/types/encounter.rb', line 196

def provider_accepts_assignment
  @provider_accepts_assignment
end

#referral_numberString (readonly)

Returns Refers to REF*9F on the 837p. Value cannot be greater than 50 characters.

Returns:

  • (String)

    Refers to REF*9F on the 837p. Value cannot be greater than 50 characters.



149
150
151
# File 'lib/candidhealth/encounters/v_4/types/encounter.rb', line 149

def referral_number
  @referral_number
end

#referring_providerCandidApiClient::EncounterProviders::V2::Types::EncounterProvider (readonly)



71
72
73
# File 'lib/candidhealth/encounters/v_4/types/encounter.rb', line 71

def referring_provider
  @referring_provider
end

#rendering_providerCandidApiClient::EncounterProviders::V2::Types::EncounterProvider (readonly)

Returns The rendering provider is the practitioner – physician, nurse practitioner, etc. – performing the service. For telehealth services, the rendering provider performs the visit, asynchronous communication, or other service. The rendering provider address should generally be the same as the service facility address.

Returns:

  • (CandidApiClient::EncounterProviders::V2::Types::EncounterProvider)

    The rendering provider is the practitioner – physician, nurse practitioner, etc. – performing the service. For telehealth services, the rendering provider performs the visit, asynchronous communication, or other service. The rendering provider address should generally be the same as the service facility address.



69
70
71
# File 'lib/candidhealth/encounters/v_4/types/encounter.rb', line 69

def rendering_provider
  @rendering_provider
end

#responsible_partyCandidApiClient::Encounters::V4::Types::ResponsiblePartyType (readonly)

Returns Defines the party to be billed with the initial balance owed on the claim.

Returns:



102
103
104
# File 'lib/candidhealth/encounters/v_4/types/encounter.rb', line 102

def responsible_party
  @responsible_party
end

#schema_instancesArray<CandidApiClient::CustomSchemas::V1::Types::SchemaInstance> (readonly)

Returns Key-value pairs that must adhere to a schema created via the Custom Schema API. Multiple schema instances cannot be created for the same schema on an encounter.

Returns:



147
148
149
# File 'lib/candidhealth/encounters/v_4/types/encounter.rb', line 147

def schema_instances
  @schema_instances
end

#secondary_payer_carrier_codeString (readonly)

Returns When Medicaid is billed as the secondary payer the Carrier Code is used to identify the primary payer. This is required for certain states.

Returns:

  • (String)

    When Medicaid is billed as the secondary payer the Carrier Code is used to identify the primary payer. This is required for certain states.



158
159
160
# File 'lib/candidhealth/encounters/v_4/types/encounter.rb', line 158

def secondary_payer_carrier_code
  @secondary_payer_carrier_code
end

#service_authorization_exception_codeCandidApiClient::Encounters::V4::Types::ServiceAuthorizationExceptionCode (readonly)

Returns 837p Loop2300 REF*4N Required when mandated by government law or regulation to obtain authorization for specific service(s) but, for the reasons listed in one of the enum values of ServiceAuthorizationExceptionCode, the service was performed without obtaining the authorization.

Returns:



230
231
232
# File 'lib/candidhealth/encounters/v_4/types/encounter.rb', line 230

def service_authorization_exception_code
  @service_authorization_exception_code
end

#service_facilityCandidApiClient::ServiceFacility::Types::EncounterServiceFacility (readonly)

Returns Encounter Service facility is typically the location a medical service was rendered, such as a provider office or hospital. For telehealth, service facility can represent the provider’s location when the service was delivered (e.g., home), or the location where an in-person visit would have taken place, whichever is easier to identify. If the provider is in-network, service facility may be defined in payer contracts. Box 32 on the CMS-1500 claim form. Note that for an in-network claim to be successfully adjudicated, the service facility address listed on claims must match what was provided to the payer during the credentialing process.

Returns:

  • (CandidApiClient::ServiceFacility::Types::EncounterServiceFacility)

    Encounter Service facility is typically the location a medical service was rendered, such as a provider office or hospital. For telehealth, service facility can represent the provider’s location when the service was delivered (e.g., home), or the location where an in-person visit would have taken place, whichever is easier to identify. If the provider is in-network, service facility may be defined in payer contracts. Box 32 on the CMS-1500 claim form. Note that for an in-network claim to be successfully adjudicated, the service facility address listed on claims must match what was provided to the payer during the credentialing process.



85
86
87
# File 'lib/candidhealth/encounters/v_4/types/encounter.rb', line 85

def service_facility
  @service_facility
end

#submission_originCandidApiClient::Encounters::V4::Types::EncounterSubmissionOriginType (readonly)

Returns The party who originally submitted the Claim. For Claims originating in Candid, this will be EncounterSubmissionOriginType.CANDID. For Encounters created with an external_claim_submission object, this will be EncounterSubmissionOriginType.EXTERNAL.

Returns:



143
144
145
# File 'lib/candidhealth/encounters/v_4/types/encounter.rb', line 143

def submission_origin
  @submission_origin
end

#subscriber_primaryCandidApiClient::Individual::Types::Subscriber (readonly)

Returns Subscriber_primary is required when responsible_party is INSURANCE_PAY (i.e. when the claim should be billed to insurance). These are not required fields when responsible_party is SELF_PAY (i.e. when the claim should be billed to the patient). However, if you collect this for patients, even self-pay, we recommend including it when sending encounters to Candid. Note: Cash Pay is no longer a valid payer_id in v4, please use responsible party to define self-pay claims.

Returns:

  • (CandidApiClient::Individual::Types::Subscriber)

    Subscriber_primary is required when responsible_party is INSURANCE_PAY (i.e. when the claim should be billed to insurance). These are not required fields when responsible_party is SELF_PAY (i.e. when the claim should be billed to the patient). However, if you collect this for patients, even self-pay, we recommend including it when sending encounters to Candid. Note: Cash Pay is no longer a valid payer_id in v4, please use responsible party to define self-pay claims.



94
95
96
# File 'lib/candidhealth/encounters/v_4/types/encounter.rb', line 94

def subscriber_primary
  @subscriber_primary
end

#subscriber_secondaryCandidApiClient::Individual::Types::Subscriber (readonly)

Returns Contains details of the secondary insurance subscriber.

Returns:



96
97
98
# File 'lib/candidhealth/encounters/v_4/types/encounter.rb', line 96

def subscriber_secondary
  @subscriber_secondary
end

#subscriber_tertiaryCandidApiClient::Individual::Types::Subscriber (readonly)

Returns Contains details of the tertiary insurance subscriber.

Returns:



98
99
100
# File 'lib/candidhealth/encounters/v_4/types/encounter.rb', line 98

def subscriber_tertiary
  @subscriber_tertiary
end

#supervising_providerCandidApiClient::EncounterProviders::V2::Types::EncounterProvider (readonly)



75
76
77
# File 'lib/candidhealth/encounters/v_4/types/encounter.rb', line 75

def supervising_provider
  @supervising_provider
end

#synchronicityCandidApiClient::Encounters::V4::Types::SynchronicityType (readonly)

Returns Whether or not this was a synchronous or asynchronous encounter. Asynchronous encounters occur when providers and patients communicate online using forms, instant messaging, or other pre-recorded digital mediums. Synchronous encounters occur in live, real-time settings where the patient interacts directly with the provider, such as over video or a phone call.

Returns:

  • (CandidApiClient::Encounters::V4::Types::SynchronicityType)

    Whether or not this was a synchronous or asynchronous encounter. Asynchronous encounters occur when providers and patients communicate online using forms, instant messaging, or other pre-recorded digital mediums. Synchronous encounters occur in live, real-time settings where the patient interacts directly with the provider, such as over video or a phone call.



215
216
217
# File 'lib/candidhealth/encounters/v_4/types/encounter.rb', line 215

def synchronicity
  @synchronicity
end

#tagsArray<CandidApiClient::Tags::Types::Tag> (readonly)



128
129
130
# File 'lib/candidhealth/encounters/v_4/types/encounter.rb', line 128

def tags
  @tags
end

#urlString (readonly)

Returns URL that links directly to the claim created in Candid.

Returns:

  • (String)

    URL that links directly to the claim created in Candid.



104
105
106
# File 'lib/candidhealth/encounters/v_4/types/encounter.rb', line 104

def url
  @url
end

#vitalsCandidApiClient::Encounters::V4::Types::Vitals (readonly)



203
204
205
# File 'lib/candidhealth/encounters/v_4/types/encounter.rb', line 203

def vitals
  @vitals
end

#work_queue_idString (readonly)

Returns:

  • (String)


132
133
134
# File 'lib/candidhealth/encounters/v_4/types/encounter.rb', line 132

def work_queue_id
  @work_queue_id
end

#work_queue_membership_activated_atDateTime (readonly)

Returns:

  • (DateTime)


134
135
136
# File 'lib/candidhealth/encounters/v_4/types/encounter.rb', line 134

def work_queue_membership_activated_at
  @work_queue_membership_activated_at
end

Class Method Details

.from_json(json_object:) ⇒ CandidApiClient::Encounters::V4::Types::Encounter

Deserialize a JSON object to an instance of Encounter

Parameters:

  • json_object (String)

Returns:



558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
# File 'lib/candidhealth/encounters/v_4/types/encounter.rb', line 558

def self.from_json(json_object:)
  struct = JSON.parse(json_object, object_class: OpenStruct)
  parsed_json = JSON.parse(json_object)
  patient_control_number = struct["patient_control_number"]
  encounter_id = struct["encounter_id"]
  claims = parsed_json["claims"]&.map do |item|
    item = item.to_json
    CandidApiClient::Claims::Types::Claim.from_json(json_object: item)
  end
  if parsed_json["patient"].nil?
    patient = nil
  else
    patient = parsed_json["patient"].to_json
    patient = CandidApiClient::Individual::Types::Patient.from_json(json_object: patient)
  end
  if parsed_json["guarantor"].nil?
    guarantor = nil
  else
    guarantor = parsed_json["guarantor"].to_json
    guarantor = CandidApiClient::Guarantor::V1::Types::Guarantor.from_json(json_object: guarantor)
  end
  if parsed_json["billing_provider"].nil?
    billing_provider = nil
  else
    billing_provider = parsed_json["billing_provider"].to_json
    billing_provider = CandidApiClient::EncounterProviders::V2::Types::EncounterProvider.from_json(json_object: billing_provider)
  end
  if parsed_json["rendering_provider"].nil?
    rendering_provider = nil
  else
    rendering_provider = parsed_json["rendering_provider"].to_json
    rendering_provider = CandidApiClient::EncounterProviders::V2::Types::EncounterProvider.from_json(json_object: rendering_provider)
  end
  if parsed_json["referring_provider"].nil?
    referring_provider = nil
  else
    referring_provider = parsed_json["referring_provider"].to_json
    referring_provider = CandidApiClient::EncounterProviders::V2::Types::EncounterProvider.from_json(json_object: referring_provider)
  end
  if parsed_json["initial_referring_provider"].nil?
    initial_referring_provider = nil
  else
    initial_referring_provider = parsed_json["initial_referring_provider"].to_json
    initial_referring_provider = CandidApiClient::EncounterProviders::V2::Types::EncounterProvider.from_json(json_object: initial_referring_provider)
  end
  if parsed_json["supervising_provider"].nil?
    supervising_provider = nil
  else
    supervising_provider = parsed_json["supervising_provider"].to_json
    supervising_provider = CandidApiClient::EncounterProviders::V2::Types::EncounterProvider.from_json(json_object: supervising_provider)
  end
  if parsed_json["service_facility"].nil?
    service_facility = nil
  else
    service_facility = parsed_json["service_facility"].to_json
    service_facility = CandidApiClient::ServiceFacility::Types::EncounterServiceFacility.from_json(json_object: service_facility)
  end
  if parsed_json["subscriber_primary"].nil?
    subscriber_primary = nil
  else
    subscriber_primary = parsed_json["subscriber_primary"].to_json
    subscriber_primary = CandidApiClient::Individual::Types::Subscriber.from_json(json_object: subscriber_primary)
  end
  if parsed_json["subscriber_secondary"].nil?
    subscriber_secondary = nil
  else
    subscriber_secondary = parsed_json["subscriber_secondary"].to_json
    subscriber_secondary = CandidApiClient::Individual::Types::Subscriber.from_json(json_object: subscriber_secondary)
  end
  if parsed_json["subscriber_tertiary"].nil?
    subscriber_tertiary = nil
  else
    subscriber_tertiary = parsed_json["subscriber_tertiary"].to_json
    subscriber_tertiary = CandidApiClient::Individual::Types::Subscriber.from_json(json_object: subscriber_tertiary)
  end
  prior_authorization_number = struct["prior_authorization_number"]
  responsible_party = struct["responsible_party"]
  url = struct["url"]
  diagnoses = parsed_json["diagnoses"]&.map do |item|
    item = item.to_json
    CandidApiClient::Diagnoses::Types::Diagnosis.from_json(json_object: item)
  end
  clinical_notes = parsed_json["clinical_notes"]&.map do |item|
    item = item.to_json
    CandidApiClient::Encounters::V4::Types::ClinicalNoteCategory.from_json(json_object: item)
  end
  billing_notes = parsed_json["billing_notes"]&.map do |item|
    item = item.to_json
    CandidApiClient::BillingNotes::V2::Types::BillingNote.from_json(json_object: item)
  end
  place_of_service_code = struct["place_of_service_code"]
   = struct["place_of_service_code_as_submitted"]
  patient_histories = parsed_json["patient_histories"]&.map do |item|
    item = item.to_json
    CandidApiClient::Encounters::V4::Types::PatientHistoryCategory.from_json(json_object: item)
  end
  patient_payments = parsed_json["patient_payments"]&.map do |item|
    item = item.to_json
    CandidApiClient::PatientPayments::V3::Types::PatientPayment.from_json(json_object: item)
  end
  tags = parsed_json["tags"]&.map do |item|
    item = item.to_json
    CandidApiClient::Tags::Types::Tag.from_json(json_object: item)
  end
  coding_attribution = struct["coding_attribution"]
  work_queue_id = struct["work_queue_id"]
  work_queue_membership_activated_at = unless parsed_json["work_queue_membership_activated_at"].nil?
                                         DateTime.parse(parsed_json["work_queue_membership_activated_at"])
                                       end
  owner_of_next_action = struct["owner_of_next_action"]
  submission_origin = struct["submission_origin"]
  schema_instances = parsed_json["schema_instances"]&.map do |item|
    item = item.to_json
    CandidApiClient::CustomSchemas::V1::Types::SchemaInstance.from_json(json_object: item)
  end
  referral_number = struct["referral_number"]
  if parsed_json["epsdt_referral"].nil?
    epsdt_referral = nil
  else
    epsdt_referral = parsed_json["epsdt_referral"].to_json
    epsdt_referral = CandidApiClient::Encounters::V4::Types::EpsdtReferral.from_json(json_object: epsdt_referral)
  end
  claim_supplemental_information = parsed_json["claim_supplemental_information"]&.map do |item|
    item = item.to_json
    CandidApiClient::Encounters::V4::Types::ClaimSupplementalInformation.from_json(json_object: item)
  end
  secondary_payer_carrier_code = struct["secondary_payer_carrier_code"]
   = unless parsed_json["last_submitted_at"].nil?
                        DateTime.parse(parsed_json["last_submitted_at"])
                      end
  created_at = (DateTime.parse(parsed_json["created_at"]) unless parsed_json["created_at"].nil?)
  external_id = struct["external_id"]
  date_of_service = (Date.parse(parsed_json["date_of_service"]) unless parsed_json["date_of_service"].nil?)
  end_date_of_service = unless parsed_json["end_date_of_service"].nil?
                          Date.parse(parsed_json["end_date_of_service"])
                        end
  patient_authorized_release = struct["patient_authorized_release"]
  benefits_assigned_to_provider = struct["benefits_assigned_to_provider"]
  provider_accepts_assignment = struct["provider_accepts_assignment"]
  appointment_type = struct["appointment_type"]
  existing_medications = parsed_json["existing_medications"]&.map do |item|
    item = item.to_json
    CandidApiClient::Encounters::V4::Types::Medication.from_json(json_object: item)
  end
  if parsed_json["vitals"].nil?
    vitals = nil
  else
    vitals = parsed_json["vitals"].to_json
    vitals = CandidApiClient::Encounters::V4::Types::Vitals.from_json(json_object: vitals)
  end
  interventions = parsed_json["interventions"]&.map do |item|
    item = item.to_json
    CandidApiClient::Encounters::V4::Types::Intervention.from_json(json_object: item)
  end
  if parsed_json["pay_to_address"].nil?
    pay_to_address = nil
  else
    pay_to_address = parsed_json["pay_to_address"].to_json
    pay_to_address = CandidApiClient::Commons::Types::StreetAddressLongZip.from_json(json_object: pay_to_address)
  end
  synchronicity = struct["synchronicity"]
  billable_status = struct["billable_status"]
  additional_information = struct["additional_information"]
  service_authorization_exception_code = struct["service_authorization_exception_code"]
  admission_date = (Date.parse(parsed_json["admission_date"]) unless parsed_json["admission_date"].nil?)
  discharge_date = (Date.parse(parsed_json["discharge_date"]) unless parsed_json["discharge_date"].nil?)
  onset_of_current_illness_or_symptom_date = unless parsed_json["onset_of_current_illness_or_symptom_date"].nil?
                                               Date.parse(parsed_json["onset_of_current_illness_or_symptom_date"])
                                             end
  last_menstrual_period_date = unless parsed_json["last_menstrual_period_date"].nil?
                                 Date.parse(parsed_json["last_menstrual_period_date"])
                               end
  delay_reason_code = struct["delay_reason_code"]
  new(
    patient_control_number: patient_control_number,
    encounter_id: encounter_id,
    claims: claims,
    patient: patient,
    guarantor: guarantor,
    billing_provider: billing_provider,
    rendering_provider: rendering_provider,
    referring_provider: referring_provider,
    initial_referring_provider: initial_referring_provider,
    supervising_provider: supervising_provider,
    service_facility: service_facility,
    subscriber_primary: subscriber_primary,
    subscriber_secondary: subscriber_secondary,
    subscriber_tertiary: subscriber_tertiary,
    prior_authorization_number: prior_authorization_number,
    responsible_party: responsible_party,
    url: url,
    diagnoses: diagnoses,
    clinical_notes: clinical_notes,
    billing_notes: billing_notes,
    place_of_service_code: place_of_service_code,
    place_of_service_code_as_submitted: ,
    patient_histories: patient_histories,
    patient_payments: patient_payments,
    tags: tags,
    coding_attribution: coding_attribution,
    work_queue_id: work_queue_id,
    work_queue_membership_activated_at: work_queue_membership_activated_at,
    owner_of_next_action: owner_of_next_action,
    submission_origin: submission_origin,
    schema_instances: schema_instances,
    referral_number: referral_number,
    epsdt_referral: epsdt_referral,
    claim_supplemental_information: claim_supplemental_information,
    secondary_payer_carrier_code: secondary_payer_carrier_code,
    last_submitted_at: ,
    created_at: created_at,
    external_id: external_id,
    date_of_service: date_of_service,
    end_date_of_service: end_date_of_service,
    patient_authorized_release: patient_authorized_release,
    benefits_assigned_to_provider: benefits_assigned_to_provider,
    provider_accepts_assignment: provider_accepts_assignment,
    appointment_type: appointment_type,
    existing_medications: existing_medications,
    vitals: vitals,
    interventions: interventions,
    pay_to_address: pay_to_address,
    synchronicity: synchronicity,
    billable_status: billable_status,
    additional_information: additional_information,
    service_authorization_exception_code: service_authorization_exception_code,
    admission_date: admission_date,
    discharge_date: discharge_date,
    onset_of_current_illness_or_symptom_date: onset_of_current_illness_or_symptom_date,
    last_menstrual_period_date: last_menstrual_period_date,
    delay_reason_code: delay_reason_code,
    additional_properties: struct
  )
end

.validate_raw(obj:) ⇒ Void

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.

Parameters:

  • obj (Object)

Returns:

  • (Void)


806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
# File 'lib/candidhealth/encounters/v_4/types/encounter.rb', line 806

def self.validate_raw(obj:)
  obj.patient_control_number&.is_a?(String) != false || raise("Passed value for field obj.patient_control_number is not the expected type, validation failed.")
  obj.encounter_id.is_a?(String) != false || raise("Passed value for field obj.encounter_id is not the expected type, validation failed.")
  obj.claims.is_a?(Array) != false || raise("Passed value for field obj.claims is not the expected type, validation failed.")
  CandidApiClient::Individual::Types::Patient.validate_raw(obj: obj.patient)
  obj.guarantor.nil? || CandidApiClient::Guarantor::V1::Types::Guarantor.validate_raw(obj: obj.guarantor)
  CandidApiClient::EncounterProviders::V2::Types::EncounterProvider.validate_raw(obj: obj.billing_provider)
  CandidApiClient::EncounterProviders::V2::Types::EncounterProvider.validate_raw(obj: obj.rendering_provider)
  obj.referring_provider.nil? || CandidApiClient::EncounterProviders::V2::Types::EncounterProvider.validate_raw(obj: obj.referring_provider)
  obj.initial_referring_provider.nil? || CandidApiClient::EncounterProviders::V2::Types::EncounterProvider.validate_raw(obj: obj.initial_referring_provider)
  obj.supervising_provider.nil? || CandidApiClient::EncounterProviders::V2::Types::EncounterProvider.validate_raw(obj: obj.supervising_provider)
  CandidApiClient::ServiceFacility::Types::EncounterServiceFacility.validate_raw(obj: obj.service_facility)
  obj.subscriber_primary.nil? || CandidApiClient::Individual::Types::Subscriber.validate_raw(obj: obj.subscriber_primary)
  obj.subscriber_secondary.nil? || CandidApiClient::Individual::Types::Subscriber.validate_raw(obj: obj.subscriber_secondary)
  obj.subscriber_tertiary.nil? || CandidApiClient::Individual::Types::Subscriber.validate_raw(obj: obj.subscriber_tertiary)
  obj.prior_authorization_number&.is_a?(String) != false || raise("Passed value for field obj.prior_authorization_number is not the expected type, validation failed.")
  obj.responsible_party.is_a?(CandidApiClient::Encounters::V4::Types::ResponsiblePartyType) != false || raise("Passed value for field obj.responsible_party is not the expected type, validation failed.")
  obj.url.is_a?(String) != false || raise("Passed value for field obj.url is not the expected type, validation failed.")
  obj.diagnoses.is_a?(Array) != false || raise("Passed value for field obj.diagnoses is not the expected type, validation failed.")
  obj.clinical_notes.is_a?(Array) != false || raise("Passed value for field obj.clinical_notes is not the expected type, validation failed.")
  obj.billing_notes&.is_a?(Array) != false || raise("Passed value for field obj.billing_notes is not the expected type, validation failed.")
  obj.place_of_service_code&.is_a?(CandidApiClient::Commons::Types::FacilityTypeCode) != false || raise("Passed value for field obj.place_of_service_code is not the expected type, validation failed.")
  obj.&.is_a?(CandidApiClient::Commons::Types::FacilityTypeCode) != false || raise("Passed value for field obj.place_of_service_code_as_submitted is not the expected type, validation failed.")
  obj.patient_histories.is_a?(Array) != false || raise("Passed value for field obj.patient_histories is not the expected type, validation failed.")
  obj.patient_payments.is_a?(Array) != false || raise("Passed value for field obj.patient_payments is not the expected type, validation failed.")
  obj.tags.is_a?(Array) != false || raise("Passed value for field obj.tags is not the expected type, validation failed.")
  obj.coding_attribution&.is_a?(CandidApiClient::Encounters::V4::Types::CodingAttributionType) != false || raise("Passed value for field obj.coding_attribution is not the expected type, validation failed.")
  obj.work_queue_id&.is_a?(String) != false || raise("Passed value for field obj.work_queue_id is not the expected type, validation failed.")
  obj.work_queue_membership_activated_at&.is_a?(DateTime) != false || raise("Passed value for field obj.work_queue_membership_activated_at is not the expected type, validation failed.")
  obj.owner_of_next_action.is_a?(CandidApiClient::Encounters::V4::Types::EncounterOwnerOfNextActionType) != false || raise("Passed value for field obj.owner_of_next_action is not the expected type, validation failed.")
  obj.submission_origin.is_a?(CandidApiClient::Encounters::V4::Types::EncounterSubmissionOriginType) != false || raise("Passed value for field obj.submission_origin is not the expected type, validation failed.")
  obj.schema_instances.is_a?(Array) != false || raise("Passed value for field obj.schema_instances is not the expected type, validation failed.")
  obj.referral_number&.is_a?(String) != false || raise("Passed value for field obj.referral_number is not the expected type, validation failed.")
  obj.epsdt_referral.nil? || CandidApiClient::Encounters::V4::Types::EpsdtReferral.validate_raw(obj: obj.epsdt_referral)
  obj.claim_supplemental_information&.is_a?(Array) != false || raise("Passed value for field obj.claim_supplemental_information is not the expected type, validation failed.")
  obj.secondary_payer_carrier_code&.is_a?(String) != false || raise("Passed value for field obj.secondary_payer_carrier_code is not the expected type, validation failed.")
  obj.&.is_a?(DateTime) != false || raise("Passed value for field obj.last_submitted_at is not the expected type, validation failed.")
  obj.created_at.is_a?(DateTime) != false || raise("Passed value for field obj.created_at is not the expected type, validation failed.")
  obj.external_id.is_a?(String) != false || raise("Passed value for field obj.external_id is not the expected type, validation failed.")
  obj.date_of_service&.is_a?(Date) != false || raise("Passed value for field obj.date_of_service is not the expected type, validation failed.")
  obj.end_date_of_service&.is_a?(Date) != false || raise("Passed value for field obj.end_date_of_service is not the expected type, validation failed.")
  obj.patient_authorized_release.is_a?(Boolean) != false || raise("Passed value for field obj.patient_authorized_release is not the expected type, validation failed.")
  obj.benefits_assigned_to_provider.is_a?(Boolean) != false || raise("Passed value for field obj.benefits_assigned_to_provider is not the expected type, validation failed.")
  obj.provider_accepts_assignment.is_a?(Boolean) != false || raise("Passed value for field obj.provider_accepts_assignment is not the expected type, validation failed.")
  obj.appointment_type&.is_a?(String) != false || raise("Passed value for field obj.appointment_type is not the expected type, validation failed.")
  obj.existing_medications&.is_a?(Array) != false || raise("Passed value for field obj.existing_medications is not the expected type, validation failed.")
  obj.vitals.nil? || CandidApiClient::Encounters::V4::Types::Vitals.validate_raw(obj: obj.vitals)
  obj.interventions&.is_a?(Array) != false || raise("Passed value for field obj.interventions is not the expected type, validation failed.")
  obj.pay_to_address.nil? || CandidApiClient::Commons::Types::StreetAddressLongZip.validate_raw(obj: obj.pay_to_address)
  obj.synchronicity&.is_a?(CandidApiClient::Encounters::V4::Types::SynchronicityType) != false || raise("Passed value for field obj.synchronicity is not the expected type, validation failed.")
  obj.billable_status.is_a?(CandidApiClient::Encounters::V4::Types::BillableStatusType) != false || raise("Passed value for field obj.billable_status is not the expected type, validation failed.")
  obj.additional_information&.is_a?(String) != false || raise("Passed value for field obj.additional_information is not the expected type, validation failed.")
  obj.service_authorization_exception_code&.is_a?(CandidApiClient::Encounters::V4::Types::ServiceAuthorizationExceptionCode) != false || raise("Passed value for field obj.service_authorization_exception_code is not the expected type, validation failed.")
  obj.admission_date&.is_a?(Date) != false || raise("Passed value for field obj.admission_date is not the expected type, validation failed.")
  obj.discharge_date&.is_a?(Date) != false || raise("Passed value for field obj.discharge_date is not the expected type, validation failed.")
  obj.onset_of_current_illness_or_symptom_date&.is_a?(Date) != false || raise("Passed value for field obj.onset_of_current_illness_or_symptom_date is not the expected type, validation failed.")
  obj.last_menstrual_period_date&.is_a?(Date) != false || raise("Passed value for field obj.last_menstrual_period_date is not the expected type, validation failed.")
  obj.delay_reason_code&.is_a?(CandidApiClient::Commons::Types::DelayReasonCode) != false || raise("Passed value for field obj.delay_reason_code is not the expected type, validation failed.")
end

Instance Method Details

#to_json(*_args) ⇒ String

Serialize an instance of Encounter to a JSON object

Returns:

  • (String)


796
797
798
# File 'lib/candidhealth/encounters/v_4/types/encounter.rb', line 796

def to_json(*_args)
  @_field_set&.to_json
end