Files
api-poliklinik/pkg/models/mongo/encounter/encounter.go
T
2025-05-10 14:35:26 +07:00

66 lines
4.5 KiB
Go

package encounter
import (
_struct "api-poliklinik/pkg/models/struct"
"go.mongodb.org/mongo-driver/bson/primitive"
)
type Encounter struct {
ResourceType string `json:"resourceType,omitempty" bson:"resourceType,omitempty"`
ID primitive.ObjectID `json:"id,omitempty" bson:"_id,omitempty"`
Identifier []_struct.Identifier `json:"identifier,omitempty" bson:"identifier,omitempty"`
Status string `json:"status,omitempty" bson:"status,omitempty"`
Class _struct.CodeableConcept `json:"class,omitempty" bson:"class,omitempty"`
Type []_struct.CodeableConcept `json:"type,omitempty" bson:"type,omitempty"`
ServiceType _struct.CodeableConcept `json:"serviceType,omitempty" bson:"serviceType,omitempty"`
Priority _struct.CodeableConcept `json:"priority,omitempty" bson:"priority,omitempty"`
Subject _struct.Reference `json:"subject,omitempty" bson:"subject,omitempty"`
EpisodeOfCare []_struct.Reference `json:"episodeOfCare,omitempty" bson:"episodeOfCare,omitempty"`
BasedOn []_struct.Reference `json:"basedOn,omitempty" bson:"basedOn,omitempty"`
Participant []EncounterParticipant `json:"participant,omitempty" bson:"participant,omitempty"`
Appointment []_struct.Reference `json:"appointment,omitempty" bson:"appointment,omitempty"`
Period _struct.Period `json:"period,omitempty" bson:"period,omitempty"`
Length _struct.Quantity `json:"length,omitempty" bson:"length,omitempty"`
ReasonCode []_struct.CodeableConcept `json:"reasonCode,omitempty" bson:"reasonCode,omitempty"`
Diagnosis []EncounterDiagnosis `json:"diagnosis,omitempty" bson:"diagnosis,omitempty"`
Account []_struct.Reference `json:"account,omitempty" bson:"account,omitempty"`
Hospitalization Hospitalization `json:"hospitalization,omitempty" bson:"hospitalization,omitempty"`
Location []EncounterLocation `json:"location,omitempty" bson:"location,omitempty"`
ServiceProvider _struct.Reference `json:"serviceProvider,omitempty" bson:"serviceProvider,omitempty"`
PartOf _struct.Reference `json:"partOf,omitempty" bson:"partOf,omitempty"`
}
// EncounterParticipant mendefinisikan orang yang terlibat dalam pertemuan
type EncounterParticipant struct {
Type []_struct.CodeableConcept `json:"type,omitempty" bson:"type,omitempty"`
Period _struct.Period `json:"period,omitempty" bson:"period,omitempty"`
Individual _struct.Reference `json:"individual,omitempty" bson:"individual,omitempty"`
}
// EncounterDiagnosis mendefinisikan diagnosis yang terkait dengan pertemuan
type EncounterDiagnosis struct {
Condition _struct.Reference `json:"condition,omitempty" bson:"condition,omitempty"`
Use _struct.CodeableConcept `json:"use,omitempty" bson:"use,omitempty"`
Rank int `json:"rank,omitempty" bson:"rank,omitempty"`
}
// Hospitalization mendefinisikan detail tentang rawat inap yang terkait dengan pertemuan
type Hospitalization struct {
PreAdmissionIdentifier _struct.Identifier `json:"preAdmissionIdentifier,omitempty" bson:"preAdmissionIdentifier,omitempty"`
AdmitSource _struct.CodeableConcept `json:"admitSource,omitempty" bson:"admitSource,omitempty"`
ReAdmission _struct.CodeableConcept `json:"reAdmission,omitempty" bson:"reAdmission,omitempty"`
DietPreference []_struct.CodeableConcept `json:"dietPreference,omitempty" bson:"dietPreference,omitempty"`
SpecialCourtesy []_struct.CodeableConcept `json:"specialCourtesy,omitempty" bson:"specialCourtesy,omitempty"`
SpecialArrangement []_struct.CodeableConcept `json:"specialArrangement,omitempty" bson:"specialArrangement,omitempty"`
Destination _struct.Reference `json:"destination,omitempty" bson:"destination,omitempty"`
DischargeDisposition _struct.CodeableConcept `json:"dischargeDisposition,omitempty" bson:"dischargeDisposition,omitempty"`
}
// EncounterLocation mendefinisikan lokasi di mana pertemuan terjadi
type EncounterLocation struct {
Location _struct.Reference `json:"location,omitempty" bson:"location,omitempty"`
Status string `json:"status,omitempty" bson:"status,omitempty"`
PhysicalType _struct.CodeableConcept `json:"physicalType,omitempty" bson:"physicalType,omitempty"`
Period _struct.Period `json:"period,omitempty" bson:"period,omitempty"`
}