98 lines
3.4 KiB
Go
98 lines
3.4 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" // Rumah
|
|
DMCHomeReq DischargeMethodCode = "home-request" // Rumah (Dibutuhkan)
|
|
DMCConsulation DischargeMethodCode = "consulation" // Konsultasi Lanjutan
|
|
DMCInpatient DischargeMethodCode = "inpatient" // Inpatient
|
|
DMCExtRef DischargeMethodCode = "external-ref" // Rujuk Eksternal
|
|
DMCIntRef DischargeMethodCode = "internal-ref" // Rujuk Internal
|
|
DMCDeath DischargeMethodCode = "death" // Meninggal
|
|
|
|
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
|
|
ACCChe AmbulatoryClassCode = "chemo" // 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
|
|
}
|
|
}
|