encounter-adjustment-finish
This commit is contained in:
@@ -75,7 +75,13 @@ func Create(input e.CreateDto) (*d.Data, error) {
|
||||
}
|
||||
|
||||
if !valid {
|
||||
return nil, err
|
||||
event.Status = "failed"
|
||||
event.ErrInfo = pl.ErrorInfo{
|
||||
Code: "visit-limit-exceeded",
|
||||
Detail: "Encounter has exceeded the allowed number of visits",
|
||||
Raw: errors.New("visit count exceeds allowed limit"),
|
||||
}
|
||||
return nil, pl.SetLogError(&event, input)
|
||||
}
|
||||
|
||||
// get data soapi
|
||||
|
||||
@@ -370,11 +370,12 @@ func verifyAllocatedVisitCount(i e.CreateDto, event *pl.Event) (e.Encounter, boo
|
||||
}
|
||||
|
||||
err = tx.
|
||||
Debug().
|
||||
Model(&e.Encounter{}).
|
||||
Joins("JOIN \"Ambulatory\" ON \"Ambulatory\".\"Encounter_Id\" = \"Encounter\".\"Id\"").
|
||||
Where("\"Patient_Id\" = ?", i.Patient_Id).
|
||||
Where("\"Ambulatory\".\"Class_Code\" = ? AND \"Ambulatory\".\"VisitMode_Code\" = ?", ere.ECAmbulatory, ere.VMCSeries).
|
||||
Where("\"CreatedAt\" > ?", recentEncounterAdm.CreatedAt).
|
||||
Where("\"Ambulatory\".\"Class_Code\" = ? AND \"Ambulatory\".\"VisitMode_Code\" = ?", ere.ACCRme, ere.VMCSeries).
|
||||
Where("\"Encounter\".\"CreatedAt\" > ?", recentEncounterAdm.CreatedAt).
|
||||
Count(&countEncounterSeries).Error
|
||||
if err != nil {
|
||||
event.Status = "failed"
|
||||
@@ -402,7 +403,7 @@ func getSoapiEncounterAdm(enc e.Encounter, event *pl.Event) (dataSoapi []es.Crea
|
||||
}
|
||||
}
|
||||
|
||||
err = dg.I.
|
||||
err = dg.I.Debug().
|
||||
Model(&es.Soapi{}).
|
||||
Joins("JOIN \"Employee\" ON \"Employee\".\"Id\" = \"Soapi\".\"Employee_Id\"").
|
||||
Where("\"Encounter_Id\" = ?", enc.Id).
|
||||
@@ -478,7 +479,7 @@ func getSoapiByTypeCode(encounterId uint, event *pl.Event, mode string) (err err
|
||||
case dataAmbulatory.Class_Code == ere.ACCReg:
|
||||
tx = tx.Where("\"Soapi\".\"TypeCode\" = ?", erc.STCEEarlyMedic)
|
||||
case dataAmbulatory.Class_Code == ere.ACCRme && dataAmbulatory.VisitMode_Code == ere.VMCAdm:
|
||||
tx = tx.Where("\"Soapi\".\"TypeCode\" IN ?", []erc.SoapiTypeCode{erc.STCEEarlyMedic, erc.STCFunc})
|
||||
tx = tx.Where("\"Soapi\".\"TypeCode\" IN ?", []erc.SoapiTypeCode{erc.STCEEarlyMedic, erc.STCFunc, erc.STCEarlyRehab})
|
||||
case dataAmbulatory.Class_Code == ere.ACCRme && dataAmbulatory.VisitMode_Code == ere.VMCSeries:
|
||||
tx = tx.Where("\"Soapi\".\"TypeCode\" = ?", erc.STCEarlyRehab)
|
||||
}
|
||||
@@ -503,7 +504,7 @@ func validateExistedSoapi(dataSoapi []es.Soapi, dataAmbulatory *ea.Ambulatory, e
|
||||
case dataAmbulatory.Class_Code == ere.ACCReg:
|
||||
required = []erc.SoapiTypeCode{erc.STCEEarlyMedic}
|
||||
case dataAmbulatory.Class_Code == ere.ACCRme && dataAmbulatory.VisitMode_Code == ere.VMCAdm:
|
||||
required = []erc.SoapiTypeCode{erc.STCEEarlyMedic, erc.STCEarlyRehab, erc.STCFunc}
|
||||
required = []erc.SoapiTypeCode{erc.STCEEarlyMedic, erc.STCFunc, erc.STCEarlyRehab}
|
||||
case dataAmbulatory.Class_Code == ere.ACCRme && dataAmbulatory.VisitMode_Code == ere.VMCSeries:
|
||||
required = []erc.SoapiTypeCode{erc.STCEarlyRehab}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user