Files
simrsx-be/internal/domain/references/clinical/clinical.go
T
2025-10-02 08:11:24 +07:00

221 lines
11 KiB
Go

// Package clinical mostly about SOAPI
package clinical
type (
SubjectCode string
ObjectCode string
AssessmentCode string
PlanCode string
InstructionCode string
HeadToToeCode string
McuUrgencyLevelCode string
SoapiTypeCode string
)
const (
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
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
ACSecDiag AssessmentCode = "sec-diag" // Diagnosis Sekunder
PCPlan PlanCode = "plan" // Rencana
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
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"
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 SubjectSection `json:"subject"`
Object ObjectSection `json:"object"`
Assessment AssessmentSection `json:"assessment"`
Plan string `json:"plan"`
Instruction InstructionSection `json:"instruction"`
}
// ---------------- SUBJECT ----------------
type SubjectSection struct {
Note string `json:"note,omitempty"`
PrimComplain string `json:"prim-compl,omitempty"`
SecComplainQ string `json:"sec-compl,omitempty"`
PrimaryComplain string `json:"pri-complain,omitempty"`
SecondaryComplain string `json:"sec-complain,omitempty"`
CurrentDiseaseHistory string `json:"cur-disea-hist,omitempty"`
PastDiseaseHistory string `json:"pas-disea-hist,omitempty"`
FamilyDiseaseHistory string `json:"fam-disea-hist,omitempty"`
AllergyHistory string `json:"alg-hist,omitempty"`
AllergyReaction string `json:"alg-react,omitempty"`
MedicationHistory string `json:"med-hist,omitempty"`
BloodType string `json:"blood-type,omitempty"`
}
// ---------------- OBJECT ----------------
type ObjectSection struct {
Note string `json:"note,omitempty"`
ConsciousnessLevel string `json:"consc-level,omitempty"`
ConsciousnessLevelDet string `json:"consc-level-det,omitempty"`
SystolicBloodPressure string `json:"syst-bp,omitempty"`
DiastolicBloodPressure string `json:"diast-bp,omitempty"`
Pulse string `json:"pulse,omitempty"`
RespiratoryRate string `json:"resp-rate,omitempty"`
HeartRate string `json:"hear-rt,omitempty"`
NeuroCranialis string `json:"neuro-cranialis,omitempty"`
Sensoris string `json:"sensoris,omitempty"`
ReflectFisio string `json:"reflect-fisio,omitempty"`
ReflectPato string `json:"reflect-pato,omitempty"`
AutonomNeuron string `json:"autonom-neuron,omitempty"`
NeckRom string `json:"neck-rom,omitempty"`
BodyRom string `json:"body-rom,omitempty"`
AgaRom string `json:"aga-rom,omitempty"`
AgbRom string `json:"agb-rom,omitempty"`
NeckMmt string `json:"neck-mmt,omitempty"`
BodyMmt string `json:"body-mmt,omitempty"`
AgaMmt string `json:"aga-mmt,omitempty"`
AgbMmt string `json:"agb-mmt,omitempty"`
Localis string `json:"localis,omitempty"`
MedicalTrouble string `json:"medical-trouble,omitempty"`
RehabMedicTrouble string `json:"rehab-medic-trouble,omitempty"`
Temperature string `json:"temp,omitempty"`
SpO2 string `json:"spo2,omitempty"`
Weight string `json:"weight,omitempty"`
Height string `json:"height,omitempty"`
HeadToToe HeadToToe `json:"head-to-toe,omitempty"`
}
// ---------------- ASSESSMENT ----------------
type AssessmentSection struct {
EarlyDiagnosis DiagnosisDetail `json:"early-diag,omitempty"`
LateDiagnosis DiagnosisDetail `json:"late-diag,omitempty"`
SecondaryDiag DiagnosisDetail `json:"sec-diag,omitempty"`
}
// nested object {note, codes}
type DiagnosisDetail struct {
Note string `json:"note,omitempty"`
Codes []CodeWithName `json:"codes,omitempty"`
}
// ---------------- INSTRUCTION ----------------
type InstructionSection struct {
Detail string `json:"detail,omitempty"`
MedicalAction CodesWithNote `json:"medical-act,omitempty"`
SupportingExam []CodeWithName `json:"supporting-exam,omitempty"`
Therapy string `json:"therapy,omitempty"`
Medication []CodeWithName `json:"medication,omitempty"`
Material []CodeWithName `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"`
Other string `json:"other,omitempty"`
}
// ---------------- CODES ----------------
type CodeWithName struct {
Code string `json:"code,omitempty"`
Name string `json:"name,omitempty"`
}
type CodesWithNote struct {
Note string `json:"note,omitempty"`
Codes []CodeWithName `json:"codes,omitempty"`
}
type HeadToToe struct {
Head string `json:"head,omitempty"`
Eye string `json:"eye,omitempty"`
Ear string `json:"ear,omitempty"`
Nose string `json:"nose,omitempty"`
MouthThroat string `json:"mouth-throat,omitempty"`
HeadOthers string `json:"head-others,omitempty"`
Thorax string `json:"thorax,omitempty"`
Heart string `json:"heart,omitempty"`
Lung string `json:"lung,omitempty"`
Abdomen string `json:"abdomen,omitempty"`
Liver string `json:"liver,omitempty"`
Back string `json:"back,omitempty"`
Ekstremitas string `json:"ekstremitas,omitempty"`
Gender string `json:"gender,omitempty"`
Rectum string `json:"rectum,omitempty"`
Neuron string `json:"neuron,omitempty"`
BodyOthers string `json:"body-others,omitempty"`
}