on going chemo plan

This commit is contained in:
vanilia
2025-12-09 15:07:01 +07:00
parent 69cfda6f63
commit be34c66ffd
4 changed files with 172 additions and 43 deletions
+27 -12
View File
@@ -77,20 +77,10 @@ func validateIfEncounterIsChemo(encounterId uint, event *pl.Event) (*ecpl.ChemoP
return nil, pl.SetLogError(event, nil)
}
if chemo.Status_Code != erc.DVCVerified {
event.Status = "failed"
event.ErrInfo = pl.ErrorInfo{
Code: "data-not-match",
Detail: fmt.Sprintf("protocol chemo not yet verified"),
}
if err = chemoProtocoValidation(chemo, event); err != nil {
}
now := time.Now()
if now.Before(*chemo.StartDate) || now.After(*chemo.EndDate) {
return nil, nil
}
// --- 3. Must have at least one ChemoPlan ---
if chemo.ChemoPlans == nil || len(*chemo.ChemoPlans) == 0 {
return nil, nil
}
@@ -99,6 +89,31 @@ func validateIfEncounterIsChemo(encounterId uint, event *pl.Event) (*ecpl.ChemoP
return &(*chemo.ChemoPlans)[0], nil
}
func chemoProtocoValidation(chemo *ecp.ChemoProtocol, event *pl.Event) error {
if chemo.Status_Code != erc.DVCVerified {
event.Status = "failed"
event.ErrInfo = pl.ErrorInfo{
Code: "data-not-match",
Detail: fmt.Sprintf("protocol chemo not yet verified"),
}
return pl.SetLogError(event, chemo)
}
now := time.Now()
if now.Before(*chemo.StartDate) || now.After(*chemo.EndDate) {
event.Status = "failed"
event.ErrInfo = pl.ErrorInfo{
Code: "invalid-date-range",
Detail: "chemo cannot be performed because the current date is outside the allowed treatment window.",
}
return pl.SetLogError(event, chemo)
}
return nil
}
func getEncounter(encounterId uint, event *pl.Event) (*ee.Encounter, error) {
pl.SetLogInfo(event, nil, "started", "getEncounter")
data := ee.Encounter{}