import type { DeathCause } from "./death-cause" import { type Doctor, genDoctor } from "./doctor" import { genEmployee, type Employee } from "./employee" import type { EncounterDocument } from "./encounter-document" import type { InternalReference } from "./internal-reference" import type { Nurse } from "./nurse" import { type Patient, genPatient } from "./patient" import type { Person } from "./person" import type { PersonAddress } from "./person-address" import type { PersonContact } from "./person-contact" import type { PersonRelative } from "./person-relative" import type { Specialist } from "./specialist" import type { Subspecialist } from "./subspecialist" import { genUnit, type Unit } from "./unit" export interface Encounter { id: number patient_id: number patient: Patient registeredAt: string class_code: string unit_code: string unit: Unit specialist_code?: string specilist?: Specialist subspecialist_code?: string subspecialist?: Subspecialist visitDate: string adm_employee_id: number adm_employee: Employee responsible_nurse_code?: string responsible_nurse?: Nurse appointment_doctor_code: string appointment_doctor: Doctor responsible_doctor_code?: string responsible_doctor?: Doctor refSource_name?: string appointment_id?: number earlyEducation?: string medicalDischargeEducation: string admDischargeEducation?: string discharge_method_code?: string discharge_reason?: string discharge_date?: string internalReferences?: InternalReference[] deathCause?: DeathCause paymentMethod_code?: string status_code: string encounterDocuments: EncounterDocument[] } export interface CreateDtoWithPatient { encounter: Encounter patient: { person: Person personAddresses: PersonAddress[] personContacts: PersonContact[] personRelatives: PersonRelative[] } } export function genEncounter(): Encounter { return { id: 0, patient_id: 0, patient: genPatient(), registeredAt: '', class_code: '', unit_code: '', unit: genUnit(), visitDate: '', adm_employee_id: 0, adm_employee: genEmployee(), appointment_doctor_code: '', appointment_doctor: genDoctor(), medicalDischargeEducation: '', status_code: '', encounterDocuments: [], } } export interface EncounterCheckInDto { responsible_doctor_id: number responsibleArea_employee_id: number }