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 RefTypeCode string AllPaymentMethodCode string SEPRefTypeCode 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 RTCNone RefTypeCode = "none" // Tidak Ada RTCGov RefTypeCode = "gov" // Pemerintah RTCPrivate RefTypeCode = "private" // Swasta RTCBpjs RefTypeCode = "bpjs" // BPJS APMCJkn AllPaymentMethodCode = "jkn" // JKN APMCJkmm AllPaymentMethodCode = "jkmm" // JKMM APMCSpm AllPaymentMethodCode = "spm" // SPM APMCPks AllPaymentMethodCode = "pks" // PKS SRTCInternal SEPRefTypeCode = "internal" // Rujukan Internal SRTCExternal SEPRefTypeCode = "external" // Faskes Lain ) 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 } }