This commit is contained in:
vanilia
2025-12-06 05:06:58 +07:00
parent b454f52039
commit cb950e63e9
12 changed files with 805 additions and 22 deletions
@@ -3,7 +3,6 @@ package chemo_protocol
import (
"errors"
erc "simrs-vx/internal/domain/references/common"
ere "simrs-vx/internal/domain/references/encounter"
"strconv"
dg "github.com/karincake/apem/db-gorm-pg"
@@ -15,6 +14,9 @@ import (
"gorm.io/gorm"
e "simrs-vx/internal/domain/main-entities/chemo-protocol"
ee "simrs-vx/internal/domain/main-entities/encounter"
ue "simrs-vx/internal/use-case/main-use-case/encounter"
)
const source = "chemo-protocol"
@@ -38,22 +40,33 @@ func Create(input e.CreateDto) (*d.Data, error) {
return err
}
// get chemo data from latest encounter
dataChemo, err := getChemoEncounter(input.Encounter_Id, &event)
if err != nil {
return err
if input.Patient_Id == nil {
// get encounter
dataEncounter, err := ue.ReadDetailData(ee.ReadDetailDto{Id: *input.Encounter_Id}, &event)
if err != nil {
return err
}
input.Patient_Id = dataEncounter.Patient_Id
}
input.Chemo_Id = &dataChemo.Id
// get chemo data from encounter
//dataChemo, err := getChemoEncounter(input.Encounter_Id, &event)
//if err != nil {
// return err
//}
//input.Chemo_Id = &dataChemo.Id
// determine status code chemo-protocol
switch dataChemo.Encounter.Ambulatory.Class_Code {
case ere.ACCChemo:
input.Status_Code = erc.DVCVerified
default:
input.Status_Code = erc.DVCNew
//switch dataChemo.Encounter.Ambulatory.Class_Code {
//case ere.ACCChemo:
// input.Status_Code = erc.DVCVerified
//default:
// input.Status_Code = erc.DVCNew
//}
}
input.Status_Code = erc.DVCNew
if resData, err := CreateData(input, &event, tx); err != nil {
return err
@@ -35,6 +35,7 @@ func setData[T *e.CreateDto | *e.UpdateDto](input T, data *e.ChemoProtocol) {
data.StartDate = inputSrc.StartDate
data.EndDate = inputSrc.EndDate
data.Status_Code = inputSrc.Status_Code
data
}
func getChemoEncounterReg(event *pl.Event) (*ec.Chemo, error) {