Files
simrsx-be/internal/domain/references/encounter/encounter.go
T
2025-10-27 14:52:55 +07:00

132 lines
5.0 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
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
}
}