package main import ( "fmt" "log" "inou/lib" ) func main() { if err := lib.Init(); err != nil { log.Fatal("lib.Init failed:", err) } lib.ConfigInit() // Get all dossiers allDossiers, err := lib.DossierList(nil, nil) // nil ctx = system, nil filter = all if err != nil { log.Fatal("List dossiers:", err) } type dossierRow struct { DossierID string Count int } var dossiers []dossierRow for _, d := range allDossiers { count, _ := lib.EntryCount(nil, d.DossierID, lib.CategoryLab, "") if count > 0 { dossiers = append(dossiers, dossierRow{DossierID: d.DossierID, Count: count}) } } fmt.Printf("Found %d dossiers with lab data\n", len(dossiers)) for i, d := range dossiers { fmt.Printf("[%d/%d] Normalizing labs for dossier %s (%d entries)...\n", i+1, len(dossiers), d.DossierID, d.Count) if err := lib.Normalize(d.DossierID, lib.CategoryLab); err != nil { log.Printf("Warning: normalize failed for %s: %v", d.DossierID, err) continue } } fmt.Println("Done!") }