revise encounter

This commit is contained in:
vanilia
2025-11-10 15:42:15 +07:00
parent 008bbfcc8c
commit 850dce87cd
2 changed files with 13 additions and 4 deletions
@@ -559,7 +559,6 @@ func getSoapiByResponsibleDoctor(enc e.Encounter, event *pl.Event) (data []es.So
} }
err = dg.I. err = dg.I.
Debug().
Model(&es.Soapi{}). Model(&es.Soapi{}).
Joins("JOIN \"Employee\" ON \"Employee\".\"Id\" = \"Soapi\".\"Employee_Id\""). Joins("JOIN \"Employee\" ON \"Employee\".\"Id\" = \"Soapi\".\"Employee_Id\"").
Where("\"Encounter_Id\" = ?", enc.Id). Where("\"Encounter_Id\" = ?", enc.Id).
@@ -723,16 +722,26 @@ func determineVisitMode(recentRehabData *er.Rehab, input e.CreateDto, event *pl.
return "", nil, err return "", nil, err
} }
if !isQuotaValid || recentRehabData.ExpiredAt.Before(*pu.GetTimeNow()) { if !isQuotaValid {
event.Status = "failed" event.Status = "failed"
event.ErrInfo = pl.ErrorInfo{ event.ErrInfo = pl.ErrorInfo{
Code: "visit-limit-exceeded", Code: "visit-limit-exceeded",
Detail: "Encounter has exceeded the allowed number of visits or expired", Detail: "Encounter has exceeded the allowed number of visits",
Raw: errors.New("visit count exceeds allowed limit"), Raw: errors.New("visit count exceeds allowed limit"),
} }
return "", nil, pl.SetLogError(event, input) return "", nil, pl.SetLogError(event, input)
} }
if recentRehabData.ExpiredAt != nil && recentRehabData.ExpiredAt.Before(*pu.GetTimeNow()) {
event.Status = "failed"
event.ErrInfo = pl.ErrorInfo{
Code: "visit-limit-exceeded",
Detail: "Encounter period has expired",
Raw: errors.New("encounter expired"),
}
return "", nil, pl.SetLogError(event, input)
}
case erc.DSCDone: case erc.DSCDone:
visitModeCode = ere.VMCAdm visitModeCode = ere.VMCAdm
@@ -312,7 +312,7 @@ func verifyAllocatedVisitCount(i e.CreateDto, event *pl.Event) (e.Encounter, boo
} }
// validate count rehab children // validate count rehab children
if recentEncounterAdm.RehabChildren != nil { if recentEncounterAdm.RehabChildren != nil && len(*recentEncounterAdm.RehabChildren) > 0 {
valid = len(*recentEncounterAdm.RehabChildren) < *recentEncounterAdm.Rehab.AllocatedVisitCount valid = len(*recentEncounterAdm.RehabChildren) < *recentEncounterAdm.Rehab.AllocatedVisitCount
} }