Hướng dẫn đánh giá tình trạng dinh dưỡng trẻ em

Hệ thống đánh giá dựa trên chuẩn WHO Child Growth Standards 2006 (0–5 tuổi) và WHO Growth Reference 2007 (5–19 tuổi)

Mục lục
Tổng quan về chuẩn WHO Đối tượng và chuẩn WHO áp dụng Cách tính Z-Score và bảng ngưỡng phân loại Quy tắc xác định tình trạng dinh dưỡng Ví dụ thực tế và giải thích Từ điển thuật ngữ

Tổng quan

WHO Child Growth Standards 2006

WHO 2006 là tiêu chuẩn toàn cầu được phát triển từ nghiên cứu đa quốc gia với:

  • 6 quốc gia: Brazil, Ghana, India, Norway, Oman, USA
  • 8,500+ trẻ: Được nuôi dưỡng tối ưu (breastfeeding, no smoking, adequate nutrition)
  • Khác biệt: Mô tả "trẻ nên phát triển như thế nào" thay vì "trẻ đang phát triển như thế nào"
Kết quả: Tiêu chuẩn chính xác và có thể áp dụng toàn cầu cho trẻ 0-5 tuổi
WHO Growth Reference 2007 (5–19 tuổi)

Với trẻ từ 5 đến dưới 19 tuổi, hệ thống dùng WHO Growth Reference 2007 — bộ tham chiếu WHO công bố cho lứa tuổi học đường, nối tiếp liền mạch với chuẩn 2006 tại mốc 5 tuổi. Lứa tuổi này chỉ đánh giá chiều cao theo tuổi, BMI theo tuổi và cân nặng theo tuổi (chỉ tới 10 tuổi); WHO không có chuẩn cân nặng theo chiều cao cho trẻ trên 5 tuổi.

Với trẻ 0–5 tuổi, hệ thống đánh giá 4 chỉ số theo chuẩn WHO Child Growth Standards 2006 bằng phương pháp LMS (Lambda-Mu-Sigma):

1. Cân nặng theo tuổi (W/A)
Weight-for-Age - Đánh giá suy dinh dưỡng nhẹ cân
2. Chiều cao theo tuổi (H/A)
Height-for-Age - Đánh giá suy dinh dưỡng thấp còi
3. Cân nặng theo chiều cao (W/H)
Weight-for-Height - Đánh giá suy dinh dưỡng gầy còm
4. BMI theo tuổi (BMI/A)
BMI-for-Age - Đánh giá chỉ số khối cơ thể
Điểm mạnh của hệ thống:
  • Tự động chọn chuẩn: 0–5 tuổi dùng WHO 2006, 5–19 tuổi dùng WHO 2007
  • Tham số chính thức: Bộ LMS gốc của WHO — 13.366 dòng (2006) và 798 dòng (2007)
  • Tra theo ngày tuổi: Trẻ 0–5 tuổi được tra đúng ngày tuổi như phần mềm WHO Anthro
  • Kết quả cố định: Z-score tính một lần khi lưu phiếu và giữ nguyên về sau
  • Đa chỉ số: Chỉ đánh giá các chỉ số WHO có chuẩn cho lứa tuổi của trẻ
  • Thuật toán ưu tiên: Kết luận tổng hợp dựa trên tổ hợp các chỉ số

Đối tượng và chuẩn WHO áp dụng

Chuẩn WHO được chọn tự động theo tuổi của trẻ tại ngày cân đo, tính từ ngày sinh:

0 – dưới 5 tuổi
WHO 2006
WHO Child Growth Standards 2006 — dưới 60 tháng tuổi
  • Chỉ số: cân nặng/tuổi, chiều cao/tuổi, cân nặng/chiều cao, BMI/tuổi
  • Tra tham số theo NGÀY tuổi (bảng WHO có từng ngày, từ 0 đến 1.826 ngày) — không làm tròn theo tháng
  • Tuổi theo tháng = số ngày tuổi ÷ 30,4375 (365,25 ÷ 12), chỉ dùng để hiển thị và xét phạm vi
5 – dưới 19 tuổi
WHO 2007
WHO Growth Reference 2007 — từ 60 đến dưới 229 tháng tuổi
  • Chỉ số: chiều cao/tuổi và BMI/tuổi (tới 19 tuổi); cân nặng/tuổi chỉ tới 10 tuổi (dưới 121 tháng)
  • Không có cân nặng theo chiều cao — BMI theo tuổi thay thế vai trò này
  • Bảng WHO có theo từng tháng, nên tham số được nội suy tuyến tính giữa 2 tháng liền kề
Từ 19 tuổi trở lên

Không có chuẩn WHO trẻ em áp dụng. Phiếu vẫn được lưu nhưng các chỉ số hiển thị "Chưa có dữ liệu".

Cân nặng theo chiều dài hay theo chiều cao (trẻ 0–5 tuổi)
Dưới 731 ngày tuổi: WFL — cân nặng theo chiều dài nằm, bảng 45–110 cm
Từ 731 ngày tuổi: WFH — cân nặng theo chiều cao đứng, bảng 65–120 cm

Mốc chuyển là 731 ngày (đúng như WHO Anthro), không phải "24 tháng" làm tròn. Bảng WHO có tham số cho từng 0,1 cm; chiều cao lẻ hơn 0,1 cm được nội suy tuyến tính giữa 2 mốc 0,1 cm liền kề.

Lưu ý
  • Giới tính: bé trai (M) và bé gái (F) có bộ tham số riêng
  • Ngày sinh và ngày cân đo là đầu vào chính xác nhất; nếu thiếu, hệ thống quy đổi từ tuổi theo tháng đã nhập
  • Số đo ≤ 0 được coi là không có dữ liệu, chỉ số tương ứng để trống

Cách tính Z-Score và bảng ngưỡng phân loại

Công thức tính Z-Score (WHO LMS Method)
Tại sao cần phương pháp LMS?

Phương pháp LMS (Lambda-Mu-Sigma) được phát triển bởi Cole & Green (1992) để xử lý phân phối không chuẩn trong dữ liệu tăng trưởng trẻ em:

L (Lambda):
Tham số độ lệch (skewness) - xử lý phân phối không đối xứng
M (Mu):
Trung vị (median) - điểm trung tâm của phân phối
S (Sigma):
Hệ số biến thiên - đo độ phân tán của dữ liệu
📐 Công thức toán học WHO:
Khi L ≠ 0:
Z = [(X/M)^L - 1] / (L × S)

Khi L ≈ 0:
Z = ln(X/M) / S
Trong đó: X = giá trị đo (cân nặng/chiều cao/BMI), L/M/S = tham số WHO LMS
💻 Cài đặt trong hệ thống:
// app/Services/WHO2006ZScoreService.php
public static function zPlain(float $x, float $l, float $m, float $s): ?float
{
    if ($x <= 0 || $m <= 0 || $s <= 0) return null;
    return abs($l) < 1e-7
        ? log($x / $m) / $s
        : ((($x / $m) ** $l) - 1) / ($l * $s);
}
📚 Tài liệu tham chiếu WHO:
  • Child Growth Standards (2006) - Length/height-for-age, weight-for-age, weight-for-length, weight-for-height and body mass index-for-age: Methods and development
  • LMS Method - Cole, T. J., & Green, P. J. (1992). Smoothing reference centile curves: the LMS method and penalized likelihood. Statistics in Medicine, 11(10), 1305-1319.
  • Nguồn tham số: bộ LMS gốc trong phần mềm chính thức của WHO — gói R anthro (0–5 tuổi) và anthroplus (5–19 tuổi)
Quy trình tính Z-Score khi lưu phiếu
// app/Services/WHO2006ZScoreService.php — trẻ 0-5 tuổi
$ngay = ageInDaysBetween($ngaySinh, $ngayCan);   // số ngày tuổi
$lms  = lmsByDay('wfa', $gioi, $ngay);         // tra đúng ngày, không nội suy
$z    = zAdjusted($canNang, $lms['L'], $lms['M'], $lms['S']);

// Cân nặng theo chiều dài / chiều cao: chọn bảng theo mốc 731 ngày
$bang = $ngay < 731 ? 'wfl' : 'wfh';
$lms  = lmsByLenHei($bang, $gioi, $chieuCao);     // nội suy trên lưới 0,1 cm

// app/Services/WHO2007ZScoreService.php — trẻ 5-19 tuổi
$lms  = lmsInterpolated('bmi', $gioi, $thangTuoi); // nội suy giữa 2 tháng
🧮 Các bước:
  1. Tính tuổi: số ngày giữa ngày sinh và ngày cân đo
  2. Chọn chuẩn: dưới 60 tháng → WHO 2006; 60 đến dưới 229 tháng → WHO 2007
  3. Tra tham số L, M, S theo chỉ số, giới tính và tuổi (hoặc chiều dài/cao)
  4. Tính Z-score theo công thức LMS, hiệu chỉnh ngoài ±3SD khi cần
  5. Làm tròn 2 chữ số rồi lưu cố định vào phiếu
  6. Phân loại theo bảng ngưỡng bên dưới
Hiệu chỉnh Z-score ngoài khoảng ±3SD

Ở hai đầu phân phối, đường cong LMS không còn mô tả tốt số liệu thực. WHO quy định: với cân nặng theo tuổi, BMI theo tuổi và cân nặng theo chiều dài/cao, khi Z vượt ±3 thì tính lại theo khoảng cách tuyến tính tới mốc ±3SD:

Z > 3:  Z* = 3 + (X − SD3pos) / (SD3pos − SD2pos)
Z < −3: Z* = −3 + (X − SD3neg) / (SD2neg − SD3neg)
Trong đó SDk là giá trị đo tại mốc Z = k: SDk = M × (1 + L × S × k)^(1/L). Chiều cao theo tuổi không hiệu chỉnh.
Bảng ngưỡng phân loại — trẻ 0–5 tuổi (WHO 2006)
Cân nặng theo tuổi (W/A)
Khoảng Z-Score Mã phân loại Kết luận hiển thị Màu
Z > +3SD obese Trẻ béo phì 🔴 Đỏ
+2SD < Z ≤ +3SD overweight Trẻ thừa cân 🟠 Cam
-2SD ≤ Z ≤ +2SD normal Trẻ bình thường 🟢 Xanh
-3SD ≤ Z < -2SD underweight_moderate Trẻ suy dinh dưỡng thể nhẹ cân, mức độ vừa 🟠 Cam
Z < -3SD underweight_severe Trẻ suy dinh dưỡng thể nhẹ cân, mức độ nặng 🔴 Đỏ
Chiều cao theo tuổi (H/A)
Khoảng Z-Score Mã phân loại Kết luận hiển thị Màu
Z > +3SD above_3sd Trẻ cao bất thường 🔵 Xanh dương
+2SD < Z ≤ +3SD above_2sd Trẻ cao hơn bình thường 🔵 Xanh ngọc
-2SD ≤ Z ≤ +2SD normal Trẻ bình thường 🟢 Xanh
-3SD ≤ Z < -2SD stunted_moderate Trẻ suy dinh dưỡng thể thấp còi, mức độ vừa 🟠 Cam
Z < -3SD stunted_severe Trẻ suy dinh dưỡng thể thấp còi, mức độ nặng 🔴 Đỏ
Cân nặng theo chiều cao/chiều dài (W/H) và BMI theo tuổi (BMI/A)
Khoảng Z-Score Mã phân loại Kết luận hiển thị Màu
Z > +3SD obese Trẻ béo phì 🔴 Đỏ
+2SD < Z ≤ +3SD overweight Trẻ thừa cân 🟠 Cam
-2SD ≤ Z ≤ +2SD normal Trẻ bình thường 🟢 Xanh
-3SD ≤ Z < -2SD wasted_moderate Trẻ suy dinh dưỡng thể gầy còm, mức độ vừa 🟠 Cam
Z < -3SD wasted_severe Trẻ suy dinh dưỡng thể gầy còm, mức độ nặng 🔴 Đỏ
Bảng ngưỡng phân loại — trẻ 5–19 tuổi (WHO 2007)
Chiều cao theo tuổi (H/A)
Khoảng Z-Score Mã phân loại Kết luận hiển thị Màu
Z > +3SD above_3sd Cao vượt trội 🔵 Xanh dương
+2SD < Z ≤ +3SD above_2sd Cao hơn bình thường 🔵 Xanh ngọc
-2SD ≤ Z ≤ +2SD normal Chiều cao bình thường 🟢 Xanh
-3SD ≤ Z < -2SD stunted_moderate Thấp còi 🟠 Cam
Z < -3SD stunted_severe Thấp còi, mức độ nặng 🔴 Đỏ
BMI theo tuổi (BMI/A) — ngưỡng thừa cân từ +1SD
Khoảng Z-Score Mã phân loại Kết luận hiển thị Màu
Z > +2SD obese Béo phì 🔴 Đỏ
+1SD < Z ≤ +2SD overweight Thừa cân 🟠 Cam
-2SD ≤ Z ≤ +1SD normal Bình thường 🟢 Xanh
-3SD ≤ Z < -2SD wasted_moderate Gầy còm 🟠 Cam
Z < -3SD wasted_severe Gầy còm, mức độ nặng 🔴 Đỏ
Cân nặng theo tuổi (W/A) — chỉ tới 10 tuổi, không dùng để xét thừa cân
Khoảng Z-Score Mã phân loại Kết luận hiển thị Màu
Z ≥ -2SD normal Cân nặng theo tuổi bình thường 🟢 Xanh
-3SD ≤ Z < -2SD underweight_moderate Nhẹ cân 🟠 Cam
Z < -3SD underweight_severe Nhẹ cân, mức độ nặng 🔴 Đỏ
Tích hợp với History Model - Tính một lần, đóng băng trong phiếu
// Lúc lưu phiếu (WebController::form_post) — tính MỘT lần rồi lưu vào phiếu
if (WHO2006ZScoreService::isInRange($ageInDays)) {
    $history->applyWho2006Snapshot();   // 0-5 tuổi: LMS tra theo NGÀY tuổi
} elseif (WHO2007ZScoreService::isInRange($ageInMonths)) {
    $history->applyWho2007Snapshot();   // 5-19 tuổi: WHO Reference 2007
}
$history->save();   // ghi z_hfa, z_wfa, z_bmi, z_wfh, who_standard, z_engine

// Mọi trang (kết quả, bản in, danh sách, thống kê, Excel) chỉ ĐỌC lại snapshot,
// không tính lại — sửa engine về sau không làm thay đổi phiếu đã lập
$kq = $history->check_weight_for_age_auto();   // [result, text, color, zscore, ...]
$tt = $history->get_nutrition_status_auto();    // tình trạng dinh dưỡng tổng hợp
🎯 Hàm dùng trong giao diện:
  • $history->check_weight_for_age_auto() → W/A
  • $history->check_height_for_age_auto() → H/A
  • $history->check_bmi_for_age_auto() → BMI/A
  • $history->check_weight_for_height_auto() → W/H (tự chọn WFL/WFH theo mốc 731 ngày)
  • $history->ketQuaChiSo() → các chỉ số có chuẩn cho lứa tuổi
📊 Output format:
  • Z-Score: float, làm tròn 2 chữ số
  • Null nếu thiếu dữ liệu hoặc chỉ số không có chuẩn cho lứa tuổi
  • Nguồn LMS: bộ chính thức của WHO (zscore/who2006, zscore/who2007)

Quy tắc xác định tình trạng dinh dưỡng tổng hợp

Kết luận tổng hợp được xác định bằng cách xét lần lượt từ trên xuống, gặp điều kiện đầu tiên thỏa mãn thì dừng. Trong mỗi dòng "< -2SD", nếu chỉ số tương ứng < -3SD thì kết luận thêm chữ "nặng" và tô đỏ.

Trẻ 0–5 tuổi — dựa trên W/A, H/A, W/H
Thứ tự xét Điều kiện Kết luận Màu
1 Thiếu một trong ba chỉ số W/A, H/A, W/H Chưa có đủ dữ liệu ⚪ Xám
2 H/A < -2SD VÀ W/H < -2SD Suy dinh dưỡng phối hợp 🔴 Đỏ
3 W/H < -2SD Suy dinh dưỡng gầy còm (nặng) 🟠 Cam / 🔴 Đỏ nếu < -3SD
4 H/A < -2SD Suy dinh dưỡng thấp còi (nặng) 🟠 Cam / 🔴 Đỏ nếu < -3SD
5 W/A < -2SD Suy dinh dưỡng nhẹ cân (nặng) 🟠 Cam / 🔴 Đỏ nếu < -3SD
6 W/A > +3SD HOẶC W/H > +3SD Béo phì 🔴 Đỏ
7 W/A > +2SD HOẶC W/H > +2SD Thừa cân 🟠 Cam
8 H/A > +2SD Trẻ bình thường, và có chỉ số vượt tiêu chuẩn 🔵 Xanh ngọc
9 Còn lại (cả 3 chỉ số bình thường) Bình thường 🟢 Xanh

BMI theo tuổi được hiển thị và phân loại riêng nhưng không tham gia kết luận tổng hợp của trẻ 0–5 tuổi.

Trẻ 5–19 tuổi — dựa trên BMI/A và H/A
Thứ tự xét Điều kiện Kết luận Màu
1 Thiếu cả BMI/A và H/A Chưa có đủ dữ liệu ⚪ Xám
2 H/A < -2SD VÀ BMI/A < -2SD Suy dinh dưỡng phối hợp 🔴 Đỏ
3 BMI/A < -2SD Suy dinh dưỡng gầy còm (nặng) 🟠 Cam / 🔴 Đỏ nếu < -3SD
4 H/A < -2SD Suy dinh dưỡng thấp còi (nặng) 🟠 Cam / 🔴 Đỏ nếu < -3SD
5 BMI/A > +2SD Béo phì 🔴 Đỏ
6 BMI/A > +1SD Thừa cân 🟠 Cam
7 H/A > +2SD Bình thường, chiều cao vượt chuẩn 🔵 Xanh ngọc
8 Thiếu một trong hai chỉ số Chưa có đủ dữ liệu ⚪ Xám
9 Còn lại Bình thường 🟢 Xanh

Cân nặng theo tuổi (tới 10 tuổi) được hiển thị để tham khảo nhưng không dùng cho kết luận tổng hợp — đúng khuyến cáo của WHO.

Ví dụ tính toán Z-Score chi tiết

Bé gái sinh 10/12/2024, cân đo 10/09/2026 — cân nặng 7,9 kg, chiều dài 75 cm
🎯 Bước 0: Tính tuổi và chọn chuẩn
Số ngày tuổi = 10/09/2026 − 10/12/2024 = 639 ngày
Tuổi theo tháng = 639 ÷ 30,4375 = 20,99 tháng < 60 → chuẩn WHO 2006
639 < 731 ngày → cân nặng theo chiều dài (WFL)
🔍 Bước 1: Tra tham số L, M, S (cân nặng theo tuổi)
who2006_lms WHERE
  indicator = 'wfa'
  sex = 'F'
  age_in_days = 639

Kết quả:
  L = -0,2814
  M = 10,8521 kg
  S = 0,12335
🧮 Bước 2: Áp dụng công thức
Z = [(X/M)^L − 1] / (L × S)
  = [(7,9/10,8521)^(−0,2814) − 1]
    / (−0,2814 × 0,12335)
  = 0,09346 / −0,03471
  = −2,69

−3 ≤ Z < −2 → không cần hiệu chỉnh ±3SD
→ Suy dinh dưỡng thể nhẹ cân, mức độ vừa
Chỉ sốBảng traLMSZ-ScorePhân loại
Cân nặng/tuổiwfa, ngày 639-0,281410,8521 kg0,12335-2,69Nhẹ cân, mức độ vừa
Chiều cao/tuổihfa, ngày 639183,6595 cm0,03665-2,82Thấp còi, mức độ vừa
Cân nặng/chiều dàiwfl, 75,0 cm-0,38339,1490 kg0,09005-1,68Bình thường
BMI/tuổi (14,04)bmi, ngày 639-0,553615,52810,08594-1,20Bình thường

BMI được tính với độ chính xác đầy đủ (7,9 ÷ 0,75² = 14,044…), không làm tròn trước khi tính Z-score.

Ví dụ thực tế

Trường hợp minh hoạ: Bé A (nữ, 21 tháng — số liệu giả định)

Thông tin cơ bản:
  • Tuổi: 639 ngày (20,99 tháng)
  • Giới tính: Nữ
  • Cân nặng: 7,9 kg
  • Chiều dài: 75 cm
Kết quả tính toán:
Chỉ số Z-Score Kết luận
W/A -2.69 SDD nhẹ cân vừa
H/A -2.82 SDD thấp còi vừa
W/H -1.68 Bình thường
Áp dụng quy tắc tổng hợp (xét từ trên xuống):
  1. ✅ Có đủ W/A, H/A, W/H → tiếp tục
  2. ❌ H/A < -2SD VÀ W/H < -2SD? → KHÔNG (W/H = -1.68)
  3. ❌ W/H < -2SD? → KHÔNG (-1.68)
  4. ✅ H/A < -2SD? → ĐÚNG (-2.82); không dưới -3SD nên mức độ vừa
Kết luận cuối cùng: "Suy dinh dưỡng thấp còi" 🟠
Hướng dẫn giải thích kết quả cho phụ huynh:
📊 Ý nghĩa Z-Score:
  • Z = -2.69 (W/A): Cân nặng thấp hơn 99.6% trẻ cùng tuổi
  • Z = -2.82 (H/A): Chiều cao thấp hơn 99.8% trẻ cùng tuổi
  • Z = -1.68 (W/H): Tỷ lệ cân nặng/chiều cao bình thường
💡 Lời khuyên thực tế:
  • Nguyên nhân: Thiếu dinh dưỡng kéo dài (chronic malnutrition)
  • Ưu tiên: Cải thiện chế độ ăn tăng chiều cao
  • Theo dõi: Đo lường định kỳ 3-6 tháng
  • Tham khảo: Bác sĩ dinh dưỡng nhi khoa

Tài liệu tham chiếu WHO chính thức

WHO Growth Standards 2006
  • Title: WHO Child Growth Standards - Length/height-for-age, weight-for-age, weight-for-length, weight-for-height and body mass index-for-age
  • Subtitle: Methods and development
  • Published: Geneva, World Health Organization, 2006
  • ISBN: 92 4 154693 X
  • Pages: 312 pages
Dữ liệu tham số LMS trong hệ thống
  • 0–5 tuổi: bảng who2006_lms — 13.366 dòng; W/A, H/A, BMI/A theo từng ngày (0–1.826), WFL 45–110 cm và WFH 65–120 cm theo từng 0,1 cm
  • 5–19 tuổi: bảng who_zscore_lms (chuẩn who2007) — 798 dòng theo từng tháng
  • Nguồn: gói R chính thức anthro / anthroplus của WHO, lưu tại thư mục zscore/
  • Nạp lại: php artisan who:import-2006, php artisan who:import-2007
Links tải tài liệu WHO chính thức:

Từ điển thuật ngữ chuyên môn

Thuật ngữ WHO:
LMS Method
Phương pháp Lambda-Mu-Sigma để tính Z-Score trên phân phối không chuẩn
WFA (Weight-for-Age)
Cân nặng theo tuổi - chỉ số đánh giá suy dinh dưỡng nhẹ cân
HFA (Height-for-Age)
Chiều cao theo tuổi - chỉ số đánh giá suy dinh dưỡng thấp còi
WFH/WFL
Cân nặng theo chiều cao/chiều dài - đánh giá suy dinh dưỡng gầy còm
BMI-for-Age
Chỉ số khối cơ thể theo tuổi - đánh giá béo phì hoặc gầy còm
Thuật ngữ kỹ thuật:
Z-Score (SD-Score)
Điểm chuẩn cho biết trẻ ở vị trí nào so với trẻ cùng tuổi và giới
Skewness (L)
Tham số độ lệch - xử lý phân phối không đối xứng
Median (M)
Trung vị - điểm 50% của phân phối chuẩn
Coefficient of Variation (S)
Hệ số biến thiên - đo độ phân tán của dữ liệu
Nội suy (Interpolation)
Tính L, M, S nằm giữa 2 mốc của bảng WHO: giữa 2 tháng (trẻ 5–19 tuổi) hoặc giữa 2 mốc 0,1 cm (cân nặng theo chiều dài/cao)
Hiệu chỉnh ±3SD
Cách WHO tính lại Z-score ở hai đầu phân phối (ngoài ±3SD) cho các chỉ số liên quan cân nặng
Snapshot Z-score
Z-score được tính một lần khi lưu phiếu và lưu cố định, mọi màn hình đọc lại giá trị này