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:, 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, 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, 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.

  • 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. Line-level place of service is not currently supported. 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. Line-level place of service is not currently supported. 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.

  • 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



397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
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
# File 'lib/candidhealth/encounters/v_4/types/encounter.rb', line 397

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:, 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, 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, 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
  @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
    @place_of_service_code_as_submitted = 
  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
  @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,
    "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,
    "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.



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

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



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

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.



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

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”).



182
183
184
# File 'lib/candidhealth/encounters/v_4/types/encounter.rb', line 182

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.



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

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.



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

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:



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

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.



61
62
63
# File 'lib/candidhealth/encounters/v_4/types/encounter.rb', line 61

def billing_provider
  @billing_provider
end

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



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

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:



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

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:



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

def coding_attribution
  @coding_attribution
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.



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

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:



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

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.



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

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.



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

def discharge_date
  @discharge_date
end

#encounter_idString (readonly)

Returns:

  • (String)


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

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.



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

def end_date_of_service
  @end_date_of_service
end

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



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

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.



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

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:



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

def guarantor
  @guarantor
end

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



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

def initial_referring_provider
  @initial_referring_provider
end

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



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

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.



234
235
236
# File 'lib/candidhealth/encounters/v_4/types/encounter.rb', line 234

def last_menstrual_period_date
  @last_menstrual_period_date
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.



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

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:



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

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:



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

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.



171
172
173
# File 'lib/candidhealth/encounters/v_4/types/encounter.rb', line 171

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.



42
43
44
# File 'lib/candidhealth/encounters/v_4/types/encounter.rb', line 42

def patient_control_number
  @patient_control_number
end

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



120
121
122
# File 'lib/candidhealth/encounters/v_4/types/encounter.rb', line 120

def patient_histories
  @patient_histories
end

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



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

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:



190
191
192
# File 'lib/candidhealth/encounters/v_4/types/encounter.rb', line 190

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. Line-level place of service is not currently supported. 02 for telemedicine, 11 for in-person. Full list //www.cms.gov/Medicare/Coding/place-of-service-codes/Place_of_Service_Code_Set).

Returns:



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

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. Line-level place of service is not currently supported. 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_as_submitted
end

#prior_authorization_numberString (readonly)

Returns Box 23 on the CMS-1500 claim form.

Returns:

  • (String)

    Box 23 on the CMS-1500 claim form.



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

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.



179
180
181
# File 'lib/candidhealth/encounters/v_4/types/encounter.rb', line 179

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.



145
146
147
# File 'lib/candidhealth/encounters/v_4/types/encounter.rb', line 145

def referral_number
  @referral_number
end

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



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

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.



67
68
69
# File 'lib/candidhealth/encounters/v_4/types/encounter.rb', line 67

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:



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

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:



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

def schema_instances
  @schema_instances
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:



213
214
215
# File 'lib/candidhealth/encounters/v_4/types/encounter.rb', line 213

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.



83
84
85
# File 'lib/candidhealth/encounters/v_4/types/encounter.rb', line 83

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:



139
140
141
# File 'lib/candidhealth/encounters/v_4/types/encounter.rb', line 139

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.



92
93
94
# File 'lib/candidhealth/encounters/v_4/types/encounter.rb', line 92

def subscriber_primary
  @subscriber_primary
end

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

Returns Contains details of the secondary insurance subscriber.

Returns:



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

def subscriber_secondary
  @subscriber_secondary
end

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



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

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.



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

def synchronicity
  @synchronicity
end

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



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

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.



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

def url
  @url
end

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



186
187
188
# File 'lib/candidhealth/encounters/v_4/types/encounter.rb', line 186

def vitals
  @vitals
end

#work_queue_idString (readonly)

Returns:

  • (String)


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

def work_queue_id
  @work_queue_id
end

#work_queue_membership_activated_atDateTime (readonly)

Returns:

  • (DateTime)


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

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:



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
553
554
555
556
557
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
# File 'lib/candidhealth/encounters/v_4/types/encounter.rb', line 520

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
  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"]
  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,
    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,
    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)


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
792
793
# File 'lib/candidhealth/encounters/v_4/types/encounter.rb', line 741

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.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.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)


731
732
733
# File 'lib/candidhealth/encounters/v_4/types/encounter.rb', line 731

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