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.
Debug().
Model(&es.Soapi{}).
Joins("JOIN \"Employee\" ON \"Employee\".\"Id\" = \"Soapi\".\"Employee_Id\"").
Where("\"Encounter_Id\" = ?", enc.Id).
@@ -723,16 +722,26 @@ func determineVisitMode(recentRehabData *er.Rehab, input e.CreateDto, event *pl.
return "", nil, err
}
if !isQuotaValid || recentRehabData.ExpiredAt.Before(*pu.GetTimeNow()) {
if !isQuotaValid {
event.Status = "failed"
event.ErrInfo = pl.ErrorInfo{
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"),
}
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:
visitModeCode = ere.VMCAdm
@@ -312,7 +312,7 @@ func verifyAllocatedVisitCount(i e.CreateDto, event *pl.Event) (e.Encounter, boo
}
// validate count rehab children
if recentEncounterAdm.RehabChildren != nil {
if recentEncounterAdm.RehabChildren != nil && len(*recentEncounterAdm.RehabChildren) > 0 {
valid = len(*recentEncounterAdm.RehabChildren) < *recentEncounterAdm.Rehab.AllocatedVisitCount
}