Kalkulator BMI dzieci
BMI i percentyl w jednym narzędziu. Edukacyjny kalkulator dla rodziców i opiekunów. Nie zastępuje diagnozy medycznej.
Kalkulator BMI dzieci
Wynik dla wieku 2-20 lat. Szacunek percentyla przybliżony.
- niedowaga: poniżej 5 pc
- norma: 5-85 pc
- nadwaga: 85-95 pc
- otyłość: 95 pc i więcej
Uwaga: percentyle przybliżone. Do diagnozy medycznej wymagane są oficjalne siatki centylowe WHO/CDC.
Kalkulator BMI dzieci 2–20 lat online. Opis działania addonu, algorytm i ograniczenia
Narzędzie przyjmuje wiek w latach i miesiącach, płeć, wzrost oraz masę dziecka. Oblicza BMI, przypisuje klasę wagową według uproszczonych progów percentylowych oraz podaje orientacyjny percentyl. Znajdziesz tu szczegółową specyfikację pól, algorytm krok po kroku, przykłady, checklistę poprawnych pomiarów, notatki medyczno edukacyjne, mikrocopy interfejsu, rozszerzenia dla dewelopera i scenariusze testowe. Model w tej wersji jest edukacyjny i nie zastępuje oficjalnych siatek centylowych WHO lub CDC.
Zakres i przeznaczenie
Kalkulator służy do szybkiego oszacowania relacji masy do wzrostu u dzieci i nastolatków. Wynik BMI jest liczony standardową formułą. Klasyfikacja niedowaga, norma, nadwaga, otyłość opiera się o progi percentylowe zależne od wieku i płci. W tym addonie progi są tablicą uproszczoną dla pełnych lat. Oznacza to, że percentyl jest przybliżony i może różnić się od wyniku wyliczonego z oficjalnych tabel i siatek. Narzędzie wspiera edukację rodziców oraz wstępną samoocenę ryzyka i nie pełni funkcji diagnostycznej.
Pola formularza i walidacja
Pole | Opis | Zakres |
---|---|---|
sex | Płeć biologiczna dziecka | m lub f |
age_years | Wiek w pełnych latach | 2 do 20 |
age_months | Dodatkowe miesiące | 0 do 11 |
height_cm | Wzrost w centymetrach | 40 do 220 |
weight_kg | Masa w kilogramach | 5 do 200 |
Walidacja odbywa się metodą validateOnly
po polu oraz całościowo w updated
. Zmiana dowolnej wartości wywołuje compute
, co zapewnia natychmiastową aktualizację wyników. Interfejs wykorzystuje segmenty dla płci i przyciski pigułki dla miesięcy, co redukuje liczbę błędów użytkownika.
Algorytm obliczeń i klasyfikacji
// 1) BMI klasyczne
h_m = height_cm / 100
bmi = round(weight_kg / (h_m * h_m), 2)
// 2) Wybór tablicy progów percentylowych dla płci i roku
age_y = clamp(age_years, 2, 20)
prog = sex == 'm' ? data_m[age_y] : data_f[age_y] // {p5, p85, p95}
// 3) Klasyfikacja i przypisanie percentyla przybliżonego
if (bmi < prog.p5) { class = 'niedowaga'; percentile = 3 }
else if (bmi < p85) { class = 'norma'; percentile = 50 }
else if (bmi < p95) { class = 'nadwaga'; percentile = 90 }
else { class = 'otyłość'; percentile = 97 }
Progi p5
, p85
i p95
są zakodowane w dwóch mapach dla chłopców i dziewczynek w wieku 2 do 20 lat. Miesiące nie są interpolowane. Rozszerzenie o interpolację liniową między rokiem urodzenia a kolejnym rokiem opisujemy w sekcji dla dewelopera. Percentyl zwracamy jako wartość przybliżoną powiązaną z klasą, co komunikujemy w UI.
Interfejs i komunikaty
- Nagłówek karty: Kalkulator BMI dzieci. Podtytuł: Wynik edukacyjny, percentyl przybliżony.
- Etykieta pola wieku: Wiek w latach i miesiącach. Months jako pigułki od 0 do 11.
- Wynik BMI w dużej typografii i wyróżniona plakietka klasy: niedowaga, norma, nadwaga, otyłość.
- Pod wynikami sekcja Zakresy z opisem percentyli oraz notą o charakterze informacyjnym.
Jak poprawnie zmierzyć wzrost i masę
- Masa: poranny pomiar po toalecie, w lekkiej bieliźnie, bez butów i bez ciężkich ubrań. Stój na środku wagi, równomiernie rozkładając ciężar.
- Wzrost: stań przy ścianie piętami, pośladkami i łopatkami, głowa w płaszczyźnie frankfurckiej. Użyj twardej książki jako ekierki i zmierz do milimetra.
- Wiek: liczymy pełne lata i dodajemy miesiące od ostatnich urodzin. Wpisz oba pola, aby uzyskać lepsze dopasowanie do progów.
- Powtórz pomiar dwa lub trzy razy i uśrednij. Pojedynczy odczyt bywa obciążony błędem.
Przykłady i interpretacja
Chłopiec 8 lat i 3 miesiące, 134 cm, 30 kg
Wzrost 1.34 m, BMI = 30 ÷ (1.34²) równa się około 16.7. W tablicy dla 8 lat p5 14.3, p85 19.3, p95 22.3. 16.7 mieści się między p5 a p85, więc klasa norma i percentyl zwracany 50. Warto pamiętać, że miesiące nie są interpolowane, więc przy 8 latach i 11 miesiącach wynik może być bliżej progów dla 9 lat.
Dziewczynka 12 lat, 155 cm, 58 kg
Wzrost 1.55 m, BMI ≈ 58 ÷ 2.4025 = 24.1. Dla 12 lat p5 16.2, p85 23.6, p95 27.8. 24.1 przekracza p85 i jest poniżej p95, dlatego klasa nadwaga i percentyl zwracany 90. Zalecana konsultacja profilu żywieniowego i aktywności z pediatrą lub dietetykiem dziecięcym.
Chłopiec 5 lat, 111 cm, 14.5 kg
Wzrost 1.11 m, BMI ≈ 14.5 ÷ 1.2321 = 11.8. Dla 5 lat p5 13.6, p85 17.1, p95 19.0. 11.8 jest poniżej p5, więc klasa niedowaga i percentyl zwracany 3. Przy tak niskim BMI wskazana weryfikacja pomiaru wzrostu i masy, a następnie ewentualna konsultacja lekarska.
Ograniczenia modelu i znaczenie percentyli
- Percentyle w narzędziu są przybliżone i oparte o roczne progi. Oficjalna diagnoza wymaga siatek centylowych dla wieku w miesiącach i płci.
- Okres dojrzewania wprowadza duże różnice osobnicze. Dwoje dzieci w tym samym wieku może znajdować się w różnych fazach wzrostu.
- BMI nie ocenia składu ciała. Dzieci aktywne sportowo mogą mieć wyższe BMI przy prawidłowym poziomie tkanki tłuszczowej.
- Hydratacja, ubiór i błąd pomiaru wpływają na wynik. Dlatego powtarzamy pomiary i uśredniamy.
Mikrocopy dla interfejsu
- Pod tytułem: Wynik edukacyjny. Do diagnozy użyj oficjalnych siatek centylowych.
- Przy wyniku: Percentyl przybliżony na podstawie progów rocznych.
- Przy polach wzrost i masa: Zmierz dokładnie. Najlepiej rano.
- Przy wieku: Dodaj miesiące, aby lepiej dopasować klasę.
Rozszerzenia dla dewelopera
Interpolacja progów po miesiącach
Aby poprawić dokładność, wprowadź interpolację liniową między rokiem y
a y+1
dla każdego progu. Dla miesięcy m
w zakresie 0 do 11 mnożymy wagę w = m/12
i liczymy p5 = p5_y * (1 - w) + p5_y1 * w
, analogicznie dla p85 i p95. Zwrócony percentyl można także doprecyzować, interpolując w obrębie klasy. Przykładowy szkic:
function interp(th, tl, w){ return tl*(1-w) + th*w }
const y0 = clamp(age_years, 2, 19)
const y1 = y0 + 1
const w = age_months / 12
const t0 = sex=='m' ? data_m[y0] : data_f[y0]
const t1 = sex=='m' ? data_m[y1] : data_f[y1]
const p5 = interp(t1.p5, t0.p5, w)
const p85 = interp(t1.p85, t0.p85, w)
const p95 = interp(t1.p95, t0.p95, w)
Obsługa siatek WHO lub CDC
Jeżeli chcesz zbliżyć się do standardu klinicznego, załaduj oficjalne tabele LMS i wylicz SDS oraz percentyl funkcją Box Cox Cole Green. To przekracza zakres szybkiego addonu, ale jest wykonalne w osobnym komponencie serwerowym. Ten kalkulator może wtedy pełnić rolę trybu uproszczonego.
Checklisty kontroli jakości
- Sprawdź, czy płeć jest zaznaczona i wartości wieku są w zakresie.
- Zablokuj zapis historii, jeśli brakuje wyniku BMI, aby nie generować pustych rekordów.
- Zaokrąglenie BMI do dwóch miejsc po przecinku trzymane w logice komponentu, prezentacja zgodna w UI.
- Klasy CSS plakietek dopasowane do stringów klas: niedowaga, norma, nadwaga, otyłość.
Bezpieczeństwo i odpowiedzialne użycie
Scenariusze testowe
Scenariusz | Dane wejściowe | Spodziewany wynik |
---|---|---|
Norma 8 lat m | sex m, 8 lat, 0 mies., 134 cm, 30 kg | BMI ≈ 16.7, klasa norma, percentyl 50 |
Nadwaga 12 lat f | sex f, 12 lat, 0 mies., 155 cm, 58 kg | BMI ≈ 24.1, klasa nadwaga, percentyl 90 |
Niedowaga 5 lat m | sex m, 5 lat, 0 mies., 111 cm, 14.5 kg | BMI ≈ 11.8, klasa niedowaga, percentyl 3 |
Otyłość 15 lat f | sex f, 15 lat, 0 mies., 165 cm, 85 kg | BMI ≈ 31.2, klasa otyłość, percentyl 97 |
Wdrożenie i integracje
- Metoda
saveHistory
zapisuje metadane wraz z opcjonalnym oznaczeniem kraju z GeoLite2. Błędy są wyciszane, aby nie psuć UX. - Obsłuż tłumaczenia etykiet z plików i18n, tak jak w innych Twoich komponentach.
- Rozważ dodanie przycisku kopiuj wynik do schowka. Ułatwia to przekazanie danych opiekunowi.
- Dodaj aria label do segmentów płci i pigułek miesięcy, aby ułatwić pracę czytnikom ekranu.
FAQ
Dlaczego percentyl jest opisany jako przybliżony
Ponieważ progi w tym addonie są roczne. Oficjalne siatki są miesięczne i dodatkowo bazują na parametrach populacyjnych. Przybliżenie jest wystarczające do edukacji, ale nie do diagnozy.
Czy wynik zależy od miesiąca urodzenia
W tej wersji miesiące nie zmieniają progów, ale możesz dodać interpolację opisaną wyżej. Dzięki temu dzieci z końca roku osiągną precyzyjniejsze dopasowanie.
Czy BMI jest dobre dla młodych sportowców
Jest ograniczone. Dzieci z dużą masą mięśniową mogą mieć wyższy BMI przy prawidłowej masie tłuszczowej. Traktuj wynik jako punkt startowy rozmowy ze specjalistą.
Podsumowanie i następne kroki
Addon Kalkulator BMI dzieci dostarcza natychmiastowego odczytu BMI wraz z klasą i uproszczonym percentilem. Interfejs jest czytelny, a logika przejrzysta i otwarta na rozbudowę. Wdrożenie interpolacji po miesiącach oraz integracja z oficjalnymi tabelami zwiększą dokładność, jeżeli Twoim celem jest wykorzystanie narzędzia w praktyce klinicznej. Już teraz jednak komponent spełnia funkcję edukacyjną i porządkuje rozmowę o wzroście, masie i zdrowych nawykach.