75 lines
2.6 KiB
Plaintext
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?
|
|
}
|