Files
vitify-nuxt/prisma/encounter.prisma
2025-04-22 11:06:33 +07:00

75 lines
2.6 KiB
Plaintext

// FHIR Encounter Resource Prisma Schema
// Based on https://www.hl7.org/fhir/encounter.html
// Reusing composite types defined previously
model Encounter {
id String @id @map("_id")
identifier Identifier[]
status String // planned | arrived | triaged | in-progress | onleave | finished | cancelled
statusHistory EncounterStatusHistory[]
class Coding
classHistory EncounterClassHistory[]
type CodeableConcept[]
serviceType CodeableConcept?
priority CodeableConcept?
subject Reference? // Reference to Patient, Group, Device, etc.
episodeOfCare Reference[] // Reference to EpisodeOfCare
basedOn Reference[] // Reference to ServiceRequest
participant EncounterParticipant[]
appointment Reference[] // Reference to Appointment
period Period?
length Duration?
reasonCode CodeableConcept[]
reasonReference Reference[] // Reference to Condition, Procedure, etc.
diagnosis EncounterDiagnosis[]
account Reference[] // Reference to Account
hospitalization EncounterHospitalization?
location EncounterLocation[]
serviceProvider Reference? // Reference to Organization
partOf Reference? // Reference to another Encounter
}
// Encounter-specific composite types
type EncounterStatusHistory {
status String // planned | arrived | triaged | in-progress | onleave | finished | cancelled
period Period
}
type EncounterClassHistory {
class Coding
period Period
}
type EncounterParticipant {
type CodeableConcept[]
period Period?
individual Reference? // Reference to Practitioner, PractitionerRole, RelatedPerson
}
type EncounterDiagnosis {
condition Reference // Reference to Condition, Procedure
use CodeableConcept?
rank Int?
}
type EncounterHospitalization {
preAdmissionIdentifier Identifier?
origin Reference? // Reference to Location, Organization
admitSource CodeableConcept?
reAdmission CodeableConcept?
dietPreference CodeableConcept[]
specialCourtesy CodeableConcept[]
specialArrangement CodeableConcept[]
destination Reference? // Reference to Location, Organization
dischargeDisposition CodeableConcept?
}
type EncounterLocation {
location Reference // Reference to Location
status String? // planned | active | reserved | completed
physicalType CodeableConcept?
period Period?
}