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 ChemoClassCode string AmbulanceFacilityCode string AmbulanceNeedsCode 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 CCCAdm ChemoClassCode = "adm" // Administrasi CCCAct ChemoClassCode = "act" // Tindakan AFCStd AmbulanceFacilityCode = "std" // Standar AFCIcu AmbulanceFacilityCode = "icu" // ICU ANCAssist AmbulanceNeedsCode = "assist" // Dengan Pendampingan ANCNonassist AmbulanceNeedsCode = "non-assist" // Tanpa Pendampingan ) 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 } }