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. U každé je vidět provoz, potravinová skupina a nejlepší návrh z katalogu s typem shody a procentem.
- Namatchované - už spárované suroviny s uvedenou položkou katalogu; u každé je tlačítko Odpojit pro zrušení vazby.
Fronta seřazená podle návrhu
Fronta začíná surovinami, u kterých si je párování nejjistější: nahoře jsou přesné shody a aliasy, pod nimi návrhy podle podobnosti od nejvyšší. Přepínač nad tabulkou ji dělí na:
- S návrhem (výchozí) - suroviny, ke kterým katalog něco nabízí; tady je práce s párováním,
- Bez návrhu - suroviny, pro které v katalogu zatím nic není; takovou surovinu nespárujete, dokud do katalogu nepřibude odpovídající položka (typicky z další dávky etiket),
- Vše.
U návrhu s podobností aspoň 60 % je v řádku tlačítko Potvrdit: surovina se spáruje jedním klikem, bez otevírání panelu, a fronta zůstane na stejném místě. Slabší návrh nese štítek Slabý návrh a páruje se přes panel, kde vidíte i ostatní kandidáty.
Pozor: každé potvrzení si systém zapamatuje jako alias a nabídne ho i stejně pojmenované surovině v jiném provozu. Před potvrzením proto zkontrolujte, že jde opravdu o stejný výrobek - například Máslo pomazánkové dostane návrh Máslo se 100 %, protože název položky je v názvu suroviny celý obsažen.
Panel párování
Kliknutím na nespárovanou surovinu (mimo tlačítko Potvrdit) se otevře panel s automaticky navrženými kandidáty. Přesná shoda a alias jsou vždy nahoře, ostatní návrhy se řadí podle procenta podobnosti:
- 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
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.