Nutriční katalog a párování
Nutriční hodnoty jídel se počítají z centrálního nutričního katalogu - sdílené databáze potravin s energetickou a makroživinovou hodnotou. Aby se hodnoty propsaly do jídel konkrétního provozu, musí být jeho suroviny spárovány s položkami katalogu. Administrátor k tomu má dvě záložky.
Párování surovin
Záložka Párování surovin (/admin/nutrition) slouží k propojení surovin jednotlivých provozů s položkami centrálního nutričního katalogu.
Pokrytí podle tenanta
Nahoře je tabulka pokrytí po provozech: pro každý tenant je vidět počet napárováno, celkem a procento pokrytí (barevně - vysoké zeleně, nízké červeně). Kliknutím na řádek se seznam níže vyfiltruje na daný provoz; k dispozici je i samostatný výběr provozu (nebo Všichni tenanti).
Nespárované vs. napárované
Pod přehledem jsou dvě záložky:
- Nenamatchované - fronta surovin, které ještě nemají vazbu na katalog. Zobrazuje surovinu, provoz a potravinovou skupinu.
- Namatchované - už spárované suroviny s uvedenou položkou katalogu; u každé je tlačítko Odpojit pro zrušení vazby.
Panel párování
Kliknutím na nespárovanou surovinu se otevře panel s automaticky navrženými kandidáty, seřazenými podle typu shody:
- Přesná shoda - název odpovídá přesně
- Alias - shoda přes evidovaný alias
- Alias (podobný) - přibližná (fuzzy) shoda přes alias
- Podobnost - obecná textová podobnost (u každého kandidáta je uvedeno procento)
Kromě navržených kandidátů lze procházet celý katalog a filtrovat ho podle názvu, takže lze vybrat libovolnou položku, nejen navrženou. Vazbu potvrdíte tlačítkem Potvrdit; existující vazbu zrušíte tlačítkem Odpojit v záložce Namatchované.
Nutriční katalog
Záložka Nutriční katalog (/admin/nutrition/catalog) je samotná centrální databáze nutričních hodnot.
Seznam a hledání
Tabulka zobrazuje potraviny s hodnotami kcal a bílkovinami / tuky / sacharidy, potravinovou skupinou, zdrojem záznamu a stavem ověření. K dispozici je fulltextové hledání a filtry Jen ručně upravené a Jen neověřené.
Základ hodnot: 100 g nebo 100 ml
Etikety kapalin (mléko, oleje, octy, nápoje) uvádějí hodnoty na 100 ml, ne na 100 g. Sloupec Základ říká, co pro danou položku platí, a hodnota se ukládá přesně tak, jak je na obalu - nepřepočítává se hustotou. Výpočet spotřeby totiž počítá 1 ml jako 1 g, takže hodnota z etikety na 100 ml sedí; přepočet by chybu naopak zdvojnásobil.
Vytvoření a úprava
Tlačítkem Přidat položku založíte novou potravinu; kliknutím na řádek ji otevřete k úpravě. Zadává se název, potravinová skupina, základ hodnot, energie a bílkoviny / tuky / sacharidy.
Fotka etikety a ověření
Do detailu položky lze nahrát fotku etikety (JPEG, PNG, WebP nebo HEIC). Fotka se v panelu zobrazí nad hodnotami, takže administrátor vidí obal a vytěžená čísla vedle sebe a může je porovnat. Tlačítko Ověřit podle fotky zaznamená, kdo a kdy hodnoty zkontroloval; v seznamu pak položka dostane štítek Ověřeno.
Položka, která má fotku a nikdo ji ještě neprošel, nese štítek K ověření. Filtr Jen neověřené je širší: vypíše všechno neověřené, tedy i položky, u kterých zatím žádná fotka není (ty mají ve sloupci Ověřeno pomlčku). Hned po importu tedy vrátí prakticky celý katalog.
Pozor: uložení změny hodnot ověření zruší. Ověření platilo pro předchozí čísla, ne pro nová. Pokud hodnoty s fotkou sedí, ověřte je bez úpravy. Stejně se chová i import: pokud opravená dávka nějakou hodnotu změní, ověření té položky se zruší a položka se vrátí do fronty. Dávka, která hodnoty nemění, ověření nechává být.
Import z CSV
Tlačítkem Importovat z CSV nahrajete dávku hodnot vytěžených z etiket. Soubor je oddělený středníkem a uložený v kódování Windows-1250; první řádek musí být hlavička s názvy sloupců (na jejich pořadí nezáleží).
Povinné sloupce - bez kteréhokoli z nich se odmítne celý soubor:
| Sloupec | Význam |
|---|---|
OrigFdCd | vlastní kód položky, slouží k dohledání zdroje |
OrigFdNm | název, pod kterým se položka v katalogu založí |
ENERC [kcal] | energie |
PROT [g] | bílkoviny |
FAT [g] | tuky |
CHO [g] | sacharidy |
Volitelné: BASIS (g nebo ml; když chybí, bere se g - u kapalin ho tedy vyplňte), ENERC [kJ], FASAT [g] (nasycené), SUGAR [g] (cukry), FIBT [g] (vláknina), NACL [g] (sůl), NA [mg], WATER [g].
Po importu se zobrazí souhrn (vytvořeno / aktualizováno / přeskočeno / neplatné) a případný seznam chybných řádků. Nově založené položky přicházejí jako neověřené - projdou se proti fotkám.
Zdroj záznamu a co koho přepíše
Každá položka nese zdroj a ten rozhoduje, co smí import přepsat:
| Zdroj | Odkud je | Přednost |
|---|---|---|
| Z etikety | vytěženo z obalu, tedy import z CSV | nižší |
| Ručně | zadal nebo opravil člověk v aplikaci | vyšší |
Import zapisuje položky jako Z etikety a smí přepsat jen položku se stejným nebo nižším zdrojem. Prakticky to znamená dvě věci:
- Ruční korekci import nepřepíše. Jakmile položku upravíte v aplikaci, stane se z ní Ručně a další nahrání souboru ji přeskočí (v souhrnu se objeví mezi „přeskočeno”).
- Vlastní položky import přepsat smí. Opětovné nahrání opraveného souboru je běžná cesta, jak spravit špatně opsanou hodnotu - kdyby to nešlo, nebylo by jak opravu doručit.