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"` }