package mapping import ( "crypto/sha1" "encoding/hex" "strings" ) func GenerateCheckID(sourceSystem, dataType, sourceRecordID, version string) string { parts := []string{sourceSystem, dataType, sourceRecordID} if version != "" { parts = append(parts, version) } sum := sha1.Sum([]byte(strings.Join(parts, "|"))) return hex.EncodeToString(sum[:])[:20] }