on going chemo plan
This commit is contained in:
@@ -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{}
|
||||
|
||||
Reference in New Issue
Block a user