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