From 16bb34b8b404a3b947f0513d0df7438cc804bfc3 Mon Sep 17 00:00:00 2001 From: vanilia Date: Sun, 2 Nov 2025 20:58:13 +0700 Subject: [PATCH] add validation for class_code ambulatory --- .../encounter/request-validation.go | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/internal/interface/main-handler/encounter/request-validation.go b/internal/interface/main-handler/encounter/request-validation.go index 025298fc..5963abcb 100644 --- a/internal/interface/main-handler/encounter/request-validation.go +++ b/internal/interface/main-handler/encounter/request-validation.go @@ -63,3 +63,26 @@ func validateRequestCheckIn(w http.ResponseWriter, i e.CheckinDto) (valid bool) return true } + +func validateRequestCreate(w http.ResponseWriter, i e.CreateDto) (valid bool) { + switch { + case i.Class_Code == ere.ECAmbulatory: + if i.Ambulatory == nil { + rw.DataResponse(w, nil, d.FieldError{ + Code: dataValidationFail, + Message: "ambulatory required", + }) + } + } + + if i.Class_Code == ere.ECAmbulatory && i.Ambulatory.Class_Code == ere.ACCRme && i.Ambulatory.VisitMode_Code == ere.VMCAdm { + if *i.Rehab.AllocatedVisitCount == 0 { + rw.DataResponse(w, nil, d.FieldError{ + Code: dataValidationFail, + Message: "rehab.AllocatedVisitCode required", + }) + return + } + } + return +}