diff --git a/internal/domain/references/clinical/clinical.go b/internal/domain/references/clinical/clinical.go index 6420d2a1..81eddb12 100644 --- a/internal/domain/references/clinical/clinical.go +++ b/internal/domain/references/clinical/clinical.go @@ -7,29 +7,50 @@ type ( AssessmentCode string PlanCode string InstructionCode string + HeadToToeCode string McuUrgencyLevelCode string SoapiTypeCode string ) const ( - SCPrimaryComplaint SubjectCode = "pri-complain" // Keluhan Utama - SCSecComplaint SubjectCode = "sec-complain" // Secondary Complaint + SCPrimaryComplain SubjectCode = "pri-complain" // Keluhan Utama + SCSecComplain SubjectCode = "sec-complain" // Secondary Complaint SCCurrentDiseaseHistory SubjectCode = "cur-disea-hist" // Current Disease History SCPastDiseaseHistory SubjectCode = "pas-disea-hist" // Past Disease History SCFamilyDiseaseHistory SubjectCode = "fam-disea-hist" // Family Disease History SCAllergyHistory SubjectCode = "alg-hist" // Allergic History SCAllergyReaction SubjectCode = "alg-react" // Allergic Reaction SCMedicationHistory SubjectCode = "med-hist" // Medication History + SCBloodType SubjectCode = "blood-type" // Blood Type - OCConsciousnessLevel ObjectCode = "consc-level" // Tingkat Kesadaran - OCConsciousnessLevelDet ObjectCode = "consc-level-det" // Detail Tingkat Kesadaran - OCSystolicBloodPressure ObjectCode = "syst-bp" // Tekanan Darah Systolic - OCDiastolicBloodPressure ObjectCode = "diast-bp" // Tekanan Darah Diastolic - OCHeartRate ObjectCode = "hear-rt" // Detak Jantung - OCTemperature ObjectCode = "temp" // Suhu - OCSpO2 ObjectCode = "spo2" // SpO2 - OCWeight ObjectCode = "weight" // Berat Badan - OCHeight ObjectCode = "height" // Tinggi Badan + OCConsciousnessLevel ObjectCode = "consc-level" // Tingkat Kesadaran + OCConsciousnessLevelDet ObjectCode = "consc-level-det" // Detail Tingkat Kesadaran + OCSystolicBloodPressure ObjectCode = "syst-bp" // Tekanan Darah Systolic + OCDiastolicBloodPressure ObjectCode = "diast-bp" // Tekanan Darah Diastolic + OCPulse ObjectCode = "pulse" // Nadi + OCRespiratoryRate ObjectCode = "resp-rate" // Pernafasan + OCHeartRate ObjectCode = "hear-rt" // Detak Jantung + OCNeuroCranialis ObjectCode = "neuro-cranialis" // Neurologist Cranialist + OCSensoris ObjectCode = "sensoris" // Sensoris + OCReflectFisio ObjectCode = "reflect-fisio" // Refleks Fisiologi + OCReflectPato ObjectCode = "reflect-pato" // Refleks Patologi + OCAutonomNeuron ObjectCode = "autonom-neuron" // Saraf Otonom + OCNeckRom ObjectCode = "neck-rom" // ROM Leher + OCBodyRom ObjectCode = "body-rom" // ROM Batang Tubuh + OCAgaRom ObjectCode = "aga-rom" // ROM AGA + OCAgbRom ObjectCode = "agb-rom" // ROM AGB + OCNeckMmt ObjectCode = "neck-mmt" // MMT Leher + OCBodyMmt ObjectCode = "body-mmt" // MMT Batang Tubuh + OCAgaMmt ObjectCode = "aga-mmt" // MMT AGA + OCAgbMmt ObjectCode = "agb-mmt" // MMT AGB + OCLocalis ObjectCode = "localis" // Status Lokalis + OCMedicalTrouble ObjectCode = "medical-trouble" // Masalah Medis + OCRehabMedicTrouble ObjectCode = "rehab-medic-trouble" // Masalah Rehab Medik + OCTemperature ObjectCode = "temp" // Suhu + OCSpO2 ObjectCode = "spo2" // SpO2 + OCWeight ObjectCode = "weight" // Berat Badan + OCHeight ObjectCode = "height" // Tinggi Badan + OCHeadToToe ObjectCode = "head-to-toe" // Kepala Sampai Kaki ACEarlyDiag AssessmentCode = "early-diag" // Diagnosis Awal ACLateDiag AssessmentCode = "late-diag" // Diagnosis Akhir @@ -37,56 +58,135 @@ const ( PCPlan PlanCode = "plan" // Rencana - ICDetail InstructionCode = "detail" // Detail instruksi - ICMedAct InstructionCode = "med-act" // Tindakan medis - ICMedication InstructionCode = "medication" // Obat - ICMaterial InstructionCode = "material" // BMHP + ICDetail InstructionCode = "detail" // Detail Instruksi + ICMedAct InstructionCode = "medical-act" // Tindakan Medis + ICSupExam InstructionCode = "supporting-exam" // Pemeriksaan Penunjang + ICTherapy InstructionCode = "therapy" // Terapi + ICMedication InstructionCode = "medication" // Obat + ICMaterial InstructionCode = "material" // BMHP + ICREhabProg InstructionCode = "rehab-program" // Program Rehab + ICPhyMod InstructionCode = "physic-modal" // Modalitas Fisik + ICExcercise InstructionCode = "exercise" // Latihan + ICOrtPro InstructionCode = "ortes-protesa" // Ortesa Protesa + ICEducation InstructionCode = "education" // Edukasi + ICOther InstructionCode = "other" // Lain-lain - MULCCITO McuUrgencyLevelCode = "cito" - MULCCITOIGD McuUrgencyLevelCode = "cito-igd" - MULCPonek McuUrgencyLevelCode = "ponek" - MULCBG McuUrgencyLevelCode = "blood-gas" - MULCPF McuUrgencyLevelCode = "priority-form" - MULCRT McuUrgencyLevelCode = "routine" + HTTHead HeadToToeCode = "head" + HTTEye HeadToToeCode = "eye" + HTTEar HeadToToeCode = "ear" + HTTNose HeadToToeCode = "nose" + HTTMouthThroat HeadToToeCode = "mouth-throat" + HTTHeadOthers HeadToToeCode = "head-others" + HTTThorax HeadToToeCode = "thorax" + HTTHeart HeadToToeCode = "heart" + HTTLung HeadToToeCode = "lung" + HTTAbdomen HeadToToeCode = "abdomen" + HTTLiver HeadToToeCode = "liver" + HTTBack HeadToToeCode = "back" + HTTEkstremitas HeadToToeCode = "ekstremitas" + HTTGender HeadToToeCode = "gender" + HTTRectum HeadToToeCode = "rectum" + HTTNeuron HeadToToeCode = "neuron" + HTTBodyOthers HeadToToeCode = "body-others" - STCEarly SoapiTypeCode = "early" // Kajian Awal Medis - STCERehab SoapiTypeCode = "early-rehab" // Kajian Awal Rehab Medik - STCFunc SoapiTypeCode = "function" // Assessment Fungsi + MULCCITO McuUrgencyLevelCode = "cito" // CITO + MULCCITOIGD McuUrgencyLevelCode = "cito-igd" // CITO IGD + MULCPonek McuUrgencyLevelCode = "ponek" // PONEK + MULCBG McuUrgencyLevelCode = "blood-gas" // Analisa Gas Darah + MULCPF McuUrgencyLevelCode = "priority-form" // Form Prioritas + MULCRT McuUrgencyLevelCode = "routine" // Pemeriksaan Rutin + + STCEarlyNurse SoapiTypeCode = "early-nurse" // Kajian Awal Medis + STCEEarlyMedic SoapiTypeCode = "early-medic" // Kajian Awal Rehab Medis + STCEarlyRehab SoapiTypeCode = "early-rehab" // Kajian Awal Rehab Medik + STCFunc SoapiTypeCode = "function" // Assessment Fungsi + STCProgress SoapiTypeCode = "progress" // CPPT ) type Soapi struct { - // Subject - PrimaryComplaint string `json:"pri-compl"` - SecondaryComplaint string `json:"sec-compl"` + Subject SubjectSection `json:"subject"` + Object ObjectSection `json:"object"` + Assessment AssessmentSection `json:"assessment"` + Plan string `json:"plan"` + Instruction InstructionSection `json:"instruction"` +} + +// ---------------- SUBJECT ---------------- +type SubjectSection struct { + PrimaryComplain string `json:"pri-complain"` + SecondaryComplain string `json:"sec-complain"` CurrentDiseaseHistory string `json:"cur-disea-hist"` PastDiseaseHistory string `json:"pas-disea-hist"` FamilyDiseaseHistory string `json:"fam-disea-hist"` AllergyHistory string `json:"alg-hist"` AllergyReaction string `json:"alg-react"` MedicationHistory string `json:"med-hist"` + BloodType string `json:"blood-type"` +} - // Object +// ---------------- OBJECT ---------------- +type ObjectSection struct { ConsciousnessLevel string `json:"consc-level"` ConsciousnessLevelDet string `json:"consc-level-det"` SystolicBloodPressure string `json:"syst-bp"` DiastolicBloodPressure string `json:"diast-bp"` + Pulse string `json:"pulse"` + RespiratoryRate string `json:"resp-rate"` HeartRate string `json:"hear-rt"` + NeuroCranialis string `json:"neuro-cranialis"` + Sensoris string `json:"sensoris"` + ReflectFisio string `json:"reflect-fisio"` + ReflectPato string `json:"reflect-pato"` + AutonomNeuron string `json:"autonom-neuron"` + NeckRom string `json:"neck-rom"` + BodyRom string `json:"body-rom"` + AgaRom string `json:"aga-rom"` + AgbRom string `json:"agb-rom"` + NeckMmt string `json:"neck-mmt"` + BodyMmt string `json:"body-mmt"` + AgaMmt string `json:"aga-mmt"` + AgbMmt string `json:"agb-mmt"` + Localis string `json:"localis"` + MedicalTrouble string `json:"medical-trouble"` + RehabMedicTrouble string `json:"rehab-medic-trouble"` Temperature string `json:"temp"` SpO2 string `json:"spo2"` Weight string `json:"weight"` Height string `json:"height"` - - // Assessment - EarlyDiagnosis string `json:"early-diag"` - LateDiagnosis string `json:"late-diag"` - SecondaryDiag string `json:"sec-diag"` - - // Plan - Plan string `json:"plan"` - - // Instruction - InstructionDetail string `json:"detail"` - MedicalAction string `json:"med-act"` - Medication string `json:"medication"` - Material string `json:"material"` + HeadToToe string `json:"head-to-toe"` +} + +// ---------------- ASSESSMENT ---------------- +type AssessmentSection struct { + Note string `json:"note,omitempty"` + Codes []CodeWithName `json:"codes,omitempty"` + + EarlyDiagnosis string `json:"early-diag,omitempty"` + LateDiagnosis string `json:"late-diag,omitempty"` + SecondaryDiag string `json:"sec-diag,omitempty"` +} + +// ---------------- INSTRUCTION ---------------- +type InstructionSection struct { + Note string `json:"note,omitempty"` + Codes []CodeWithName `json:"codes,omitempty"` + + InstructionDetail string `json:"detail,omitempty"` + MedicalAction string `json:"medical-act,omitempty"` + SupportingExam string `json:"supporting-exam,omitempty"` + Therapy string `json:"therapy,omitempty"` + Medication string `json:"medication,omitempty"` + Material string `json:"material,omitempty"` + RehabProgram string `json:"rehab-program,omitempty"` + PhysicModal string `json:"physic-modal,omitempty"` + Exercise string `json:"exercise,omitempty"` + OrtesProsthesis string `json:"ortes-protesa,omitempty"` + Education string `json:"education,omitempty"` + InstructionOther string `json:"other,omitempty"` +} + +// ---------------- CODES ---------------- +type CodeWithName struct { + Code string `json:"code"` + Name string `json:"name"` } diff --git a/internal/domain/references/common/common.go b/internal/domain/references/common/common.go index d60ee8a3..2970e2a8 100644 --- a/internal/domain/references/common/common.go +++ b/internal/domain/references/common/common.go @@ -1,17 +1,19 @@ package common type ( - YaTidakCode byte - SudahBelumCode byte - AktifSimpelCode byte - AktifAdvanceCode byte - TersediaCode byte - DayCode byte - ActiveStatusCode string - DataStatusCode string - UserStatusCode string - TimeUnitCode string - PaymentMethodCode string + YaTidakCode byte + SudahBelumCode byte + AktifSimpelCode byte + AktifAdvanceCode byte + TersediaCode byte + DayCode byte + ActiveStatusCode string + DataStatusCode string + UserStatusCode string + TimeUnitCode string + PaymentMethodCode string + DataAvailabilityCode string + DataVerifiedCode string ) const ( @@ -61,6 +63,14 @@ const ( DSCRejected DataStatusCode = "rejected" // Ditolak DSCSkipped DataStatusCode = "skipped" // Dilewati + DACReview DataAvailabilityCode = "review" // Konfirmasi + DACAvailable DataAvailabilityCode = "available" // Tersedia + DACUnavailable DataAvailabilityCode = "unavailable" // Tidak Tersedia + + DVCNew DataVerifiedCode = "new" // Baru + DVCVerified DataVerifiedCode = "verified" // Terverifikasi + DVCRejected DataVerifiedCode = "rejected" // Ditolak + USCNew UserStatusCode = "new" // Baru USCActive UserStatusCode = "active" // Aktif USCInactive UserStatusCode = "inactive" // Tidak aktif diff --git a/internal/domain/references/encounter/encounter.go b/internal/domain/references/encounter/encounter.go index 14e6a269..4819ee17 100644 --- a/internal/domain/references/encounter/encounter.go +++ b/internal/domain/references/encounter/encounter.go @@ -15,9 +15,9 @@ type ( ) const ( - ECAmbulatory EncounterClassCode = "ambulatory" - ECEmergency EncounterClassCode = "emergency" - ECInpatient EncounterClassCode = "inpatient" + ECAmbulatory EncounterClassCode = "ambulatory" // Rawat Jalan + ECEmergency EncounterClassCode = "emergency" // Gawat Darurat + ECInpatient EncounterClassCode = "inpatient" // Rawat Inap QSCWait QueueStatusCode = "wait" // Tunggu QSCProc QueueStatusCode = "proc" // Proses @@ -33,16 +33,16 @@ const ( DMCIntRef DischargeMethodCode = "internal-ref" // Rujuk Internal DMCDeath DischargeMethodCode = "death" // Meninggal - TCAmbulance TransportationCode = "ambulance" - TCCar TransportationCode = "car" - TCMotorCycle TransportationCode = "motor-cycle" - TCOther TransportationCode = "other" + 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" // + PCCNurg PersonConditionCode = "nurg" // Mendesak PCCDoa PersonConditionCode = "doa" // Meninggal saat tiba ECCEmg EmergencyClassCode = "emg" // Darurat/Emergency biasa @@ -58,8 +58,9 @@ const ( CSCPLab CheckupScopeCode = "pa-lab" // Patology Anatomy Laboratorium CSCRad CheckupScopeCode = "radiology" // Radiology - ACCReg AmbulatoryClassCode = "reg" // Regular - ACCRme AmbulatoryClassCode = "rme" // Rehab Medik + ACCReg AmbulatoryClassCode = "reg" // Regular + ACCRme AmbulatoryClassCode = "rme" // Rehab Medik + ACCChe AmbulatoryClassCode = "chemo" // Chemotherapy ICCIp InpatientClassCode = "ip" // Regular Rawat Inap ICCICU InpatientClassCode = "icu" // ICU diff --git a/internal/domain/references/organization/organization.go b/internal/domain/references/organization/organization.go index db2afe55..68edc332 100644 --- a/internal/domain/references/organization/organization.go +++ b/internal/domain/references/organization/organization.go @@ -9,17 +9,18 @@ type ( ) const ( - UPCDoc UserPosisitionCode = "doctor" // Dokter - UPCNur UserPosisitionCode = "nurse" // Perawat - UPCNut UserPosisitionCode = "nutritionist" // Ahli gizi - UPCLab UserPosisitionCode = "laborant" // Laboran - UPCPha UserPosisitionCode = "pharmacy" // Farmasi - UPCPay UserPosisitionCode = "payment" // Pembayaran - UPCHur UserPosisitionCode = "human-resource" // Sumber Daya Manusia - UPCGea UserPosisitionCode = "general-affair" // Bagian Umu - UPCPav UserPosisitionCode = "payment-verificator" // Konfirmasi pembayaran - UPCMan UserPosisitionCode = "management" // Manajemen - UPCInt UserPosisitionCode = "specialist-intern" // PPDS + UPCReg UserPosisitionCode = "registration" // Admisi/Pendaftaran + UPCNur UserPosisitionCode = "nurse" // Perawat + UPCDoc UserPosisitionCode = "doctor" // Dokter + UPCNut UserPosisitionCode = "nutritionist" // Ahli gizi + UPCMwi UserPosisitionCode = "mid-wife" // Bidan + UPCLab UserPosisitionCode = "laborant" // Laboran + UPCPha UserPosisitionCode = "pharmacy" // Farmasi + UPCPay UserPosisitionCode = "payment" // Pembayaran + UPCHur UserPosisitionCode = "human-resource" // Sumber Daya Manusia + UPCGea UserPosisitionCode = "general-affair" // Bagian Umum + UPCInt UserPosisitionCode = "specialist-intern" // PPDS + UPCMan UserPosisitionCode = "management" // Manajemen ITGCInfra ItemGroupCode = "infra" ITGCMedicine ItemGroupCode = "medicine" @@ -30,12 +31,12 @@ const ( ITGCEmpFee ItemGroupCode = "employee-fee" ITGCDocFee ItemGroupCode = "doctor-fee" - IFGCBuilding InfraGroupCode = "building" - IFGCFloor InfraGroupCode = "floor" - IFGCRoom InfraGroupCode = "room" - IFGCChamber InfraGroupCode = "chamber" - IFGCBed InfraGroupCode = "bed" - IFGCWarehouse InfraGroupCode = "warehouse" + IFGCBuilding InfraGroupCode = "building" // Bangunan + IFGCFloor InfraGroupCode = "floor" // Lantai + IFGCRoom InfraGroupCode = "room" // Ruang + IFGCChamber InfraGroupCode = "chamber" // Kamar + IFGCBed InfraGroupCode = "bed" // Ranjang + IFGCWarehouse InfraGroupCode = "warehouse" // Gudang/Depo UTCReg UnitTypeCode = "reg" // Registrasi UTCExa UnitTypeCode = "exa" // Pemeriksaan