Files
simrsx-be/internal/domain/references/encounter/encounter.go

104 lines
3.9 KiB
Go

package encounter
type (
EncounterClassCode string
QueueStatusCode string
DischargeMethodCode string
TransportationCode string
PersonConditionCode string
EmergencyClassCode string
OutpatientClassCode string
CheckupScopeCode string
AmbulatoryClassCode string
InpatientClassCode string
UploadCode string
)
const (
ECAmbulatory EncounterClassCode = "ambulatory" // Rawat Jalan
ECEmergency EncounterClassCode = "emergency" // Gawat Darurat
ECInpatient EncounterClassCode = "inpatient" // Rawat Inap
QSCWait QueueStatusCode = "wait" // Tunggu
QSCProc QueueStatusCode = "proc" // Proses
QSCDone QueueStatusCode = "done" // Selesai
QSCCancel QueueStatusCode = "cancel" // Dibatalkan
QSCSkip QueueStatusCode = "skip" // Dilewati
DMCHome DischargeMethodCode = "home" // Pulang
DMCHomeReq DischargeMethodCode = "home-request" // Pulang Atas Permintaan Sendiri
DMCConsulBack DischargeMethodCode = "consul-back" // Konsultasi Balik / Lanjutan
DMCConsulPoly DischargeMethodCode = "consul-poly" // Konsultasi Poliklinik Lain
DMCConsulExecutive DischargeMethodCode = "consul-executive" // Konsultasi Antar Dokter Eksekutif
DMCConsulChDay DischargeMethodCode = "consul-ch-day" // Konsultasi Hari Lain
DMCEmergency DischargeMethodCode = "emergency" // Rujuk IGD
DMCEmergencyCovid DischargeMethodCode = "emergency-covid" // Rujuk IGD Covid
DMCInpatient DischargeMethodCode = "inpatient" // Rujuk Rawat Inap
DMCExtRef DischargeMethodCode = "external" // Rujuk Faskes Lain
DMCDeath DischargeMethodCode = "death" // Meninggal
DMCDeathOnArrival DischargeMethodCode = "death-on-arrival" // Meninggal Saat Tiba
TCAmbulance TransportationCode = "ambulance" // Ambulans
TCCar TransportationCode = "car" // Mobil
TCMotorCycle TransportationCode = "motor-cycle" // Motor
TCOther TransportationCode = "other" // Lainnya
PCCRes PersonConditionCode = "res" // Resutiasi
PCCEmg PersonConditionCode = "emg" // Darurat
PCCUrg PersonConditionCode = "urg" // Mendesak
PCCLurg PersonConditionCode = "lurg" // Kurang mendesak
PCCNurg PersonConditionCode = "nurg" // Mendesak
PCCDoa PersonConditionCode = "doa" // Meninggal saat tiba
ECCEmg EmergencyClassCode = "emg" // Darurat/Emergency biasa
ECCEon EmergencyClassCode = "eon" // Ponek/Emergency obstetri neonatal
OCCOp OutpatientClassCode = "op" // Rawat Jalan
OCCIcu OutpatientClassCode = "icu" // ICU
OCCHcu OutpatientClassCode = "hcu" // HCU
OCCVk OutpatientClassCode = "vk" // Verlos kamer
CSCLab CheckupScopeCode = "lab" // Laboratorium
CSCMLab CheckupScopeCode = "mic-lab" // Microbacterial Laboratorium
CSCPLab CheckupScopeCode = "pa-lab" // Patology Anatomy Laboratorium
CSCRad CheckupScopeCode = "radiology" // Radiology
ACCReg AmbulatoryClassCode = "reg" // Regular
ACCRme AmbulatoryClassCode = "rme" // Rehab Medik
ACCCad AmbulatoryClassCode = "chemo-adm" // Chemotherapy
ACCCac AmbulatoryClassCode = "chemo-act" // Chemotherapy
ICCIp InpatientClassCode = "ip" // Regular Rawat Inap
ICCICU InpatientClassCode = "icu" // ICU
ICCHCU InpatientClassCode = "hcu" // HCU
ICCVK InpatientClassCode = "vk" // Verlos kamer
UCPRN UploadCode = "person-resident-number" // Person Resident Number
UCPDL UploadCode = "person-driver-license" // Person Driver License
UCPP UploadCode = "person-passport" // Person Passport
UCPFC UploadCode = "person-family-card" // Person Family Card
UCMIR UploadCode = "mcu-item-result" // Mcu Item Result
)
func (ec EncounterClassCode) Code() string {
switch ec {
case ECAmbulatory:
return "AMB"
case ECInpatient:
return "IMP"
case ECEmergency:
return "EMER"
default:
return "UNKNOWN"
}
}
func IsValidUploadCode(code UploadCode) bool {
switch UploadCode(code) {
case UCPRN, UCPDL, UCPP, UCPFC, UCMIR:
return true
default:
return false
}
}