Files
ris-backend-go/services/person/person.services.go
2024-12-09 09:51:19 +07:00

67 lines
1.7 KiB
Go

package person
import (
"fmt"
"sismedika.com/sas/westone/types"
"sismedika.com/sas/westone/utils"
)
func (h *Handler) getDisplayTerminology(person types.Person) (*types.PersonJSON, error) {
ret := new(types.PersonJSON)
err := utils.MatchStruct(person, ret)
if err != nil {
return nil, err
}
if person.PersonBloodTypeCode != "" {
blood, err := h.terminology.GetTerminologyDisplay(person.PersonBloodTypeCode, person.PersonBloodTypeSystem)
if err != nil {
return nil, fmt.Errorf("blood")
}
ret.PersonBlood = *blood
}
if person.PersonEducationCode != "" {
education, err := h.terminology.GetTerminologyDisplay(person.PersonEducationCode, person.PersonEducationSystem)
if err != nil {
return nil, fmt.Errorf("edu")
}
ret.PersonEducation = *education
}
if person.PersonEtnicityCode != "" {
etnicity, err := h.terminology.GetTerminologyDisplay(person.PersonEtnicityCode, person.PersonEtnicitySystem)
if err != nil {
return nil, fmt.Errorf("etni")
}
ret.PersonEtnicity = *etnicity
}
if person.PersonJobClassCode != "" {
job, err := h.terminology.GetTerminologyDisplay(person.PersonJobClassCode, person.PersonJobClassSystem)
if err != nil {
return nil, fmt.Errorf("job")
}
ret.PersonJobClass = *job
}
if person.PersonReligionCode != "" {
religion, err := h.terminology.GetTerminologyDisplay(person.PersonReligionCode, person.PersonReligionSystem)
if err != nil {
return nil, fmt.Errorf("reli")
}
ret.PersonReligion = *religion
}
if person.PersonRhesusCode != "" {
rhesus, err := h.terminology.GetTerminologyDisplay(person.PersonRhesusCode, person.PersonRhesusSystem)
if err != nil {
return nil, fmt.Errorf("rhes")
}
ret.PersonRhesus = *rhesus
}
return ret, nil
}