From fb437127dc1773943a17155cc48a5f52057ea5ab Mon Sep 17 00:00:00 2001 From: dpurbosakti Date: Thu, 2 Oct 2025 08:11:24 +0700 Subject: [PATCH] update soapi struct --- .../domain/references/clinical/clinical.go | 144 +++++++++++------- 1 file changed, 86 insertions(+), 58 deletions(-) diff --git a/internal/domain/references/clinical/clinical.go b/internal/domain/references/clinical/clinical.go index 81eddb12..5a9fc280 100644 --- a/internal/domain/references/clinical/clinical.go +++ b/internal/domain/references/clinical/clinical.go @@ -113,80 +113,108 @@ type Soapi struct { // ---------------- 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"` + 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 { - 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"` - HeadToToe string `json:"head-to-toe"` + 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"` - - 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"` + 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"` - Name string `json:"name"` + 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"` }