- Kate C. Wilde – Hỗ trợ trẻ tự kỷ: Giúp trẻ vượt qua các khó khăn trong sinh hoạt hằng ngày
- Tài liệu Bệnh viện E: Phổ tự kỷ là gì? Chuẩn đoán và điều trị
- Ngôn Ngữ Và Hoạt Động Thường Ngày – Trinh Foundation Australia
- Tài liệu lưu hành nội bộ: Muốn trò chuyện phải có hai người
- Sách: Hướng dẫn cha mẹ thực hành trị liệu hoạt động cho trẻ tự kỷ
- Sách: Nuôi dạy trẻ có rối loạn phổ tự kỷ trong môi trường gia đình
- Sách: Nuôi dạy trẻ mắc chứng rối loạn tăng động giảm chú ý ADHD – Russell A. Barkley
- Hướng dẫn Trị Liệu Rối Loạn Ăn Uống Cho Một Trẻ Tự Kỷ Điển Hình
- Sổ tay điều trị rối loạn phổ tự kỷ – OHSU
- Rối loạn giác quan ở trẻ tự kỷ – Bác sĩ Thảo biên soạn
- 100 Bài can thiệp hành vi cho trẻ ptk
- Các hoạt động điều hòa giác quan
Kiến Thức
Danh mục kiến thức và tài liệu được sắp xếp khoa học vào từng loại dưới đây
Bài Viết
Tài Liệu
Các tài liệu chính thống về nuôi dạy và can thiệp trẻ phổ tự kỷ dưới định dạng PDF sẽ được chia sẻ bên dưới. Tất cả tài liệu PDF đều được chia sẻ bởi các bố mẹ trên các hội nhóm, nếu bạn thấy hữu ích, hãy mua bản giấy để ủng hộ tác giả. Nếu có bất kỳ vấn đề nào về tác quyền, hãy liên hệ với chúng tôi tại đây.
[PDF] Kate C. Wilde - Hỗ trợ trẻ tự kỷ: Giúp trẻ vượt qua các khó khăn trong sinh hoạt hằng ngày
Kate C. Wilde – Hỗ trợ trẻ tự kỷ – PDF, đây là cuốn sách dưới dạng mà tác giả dựa trên trên nền tảng The Son-Rise Program, cùng với nghiên cứu các phương pháp khác như ABA, Floortime, RDI hay liệu pháp trò chơi, đưa ra cách can thiệp cho bố mẹ có con bị phổ tự kỷ tại nhà. Cuốn sách này sẽ giúp các bố mẹ tháo gỡ các khó khăn dưới đây của con:
-
- Đánh răng và cắt tóc.
- Mặc quần áo.
- Các khó khăn về giấc ngủ.
- Kiểm soát hành vi đánh người và các cơn bùng nổ cảm xúc.
- Hướng dẫn đi vệ sinh và làm quen với thức ăn mới.

Tài liệu Bệnh viện E: Phổ tự kỷ là gì? Chuẩn đoán và điều trị
Đây là slide được thực hiện bởi Th.s Lê Quỳnh Quyên, khoa sức khoẻ tâm thần Bệnh viện E Hà Nội. Nội dung của tài liệu rất xúc tích và dễ hiểu giúp bố mẹ trả lời câu hỏi phổ tự kỷ là gì, và sẽ có phương hướng cơ bản về hướng trị liệu.
Ngôn Ngữ Và Hoạt Động Thường Ngày - Trinh Foundation Australia
Cuốn sách PDF này được biên tập bởi Đại học Y khoa Phạm Ngọc Thạch phối hợp với Trinh Foundation Australia. Ấn bản màu kèm hình ảnh minh hoạ sẽ giúp bố mẹ rất chi tiết trong cách can thiệp, dạy con học nói gắn với các hoạt động thường ngày. Cám ơn BS.Phan Thiệu Xuân Giang cho sự đóng góp đầy giá trị này.
Tài liệu lưu hành nội bộ: Muốn trò chuyện phải có hai người
Đây là tài liệu phát hành nội bộ của Trung Tâm Hỗ Trợ Phát Triển Giáo Dục Hoà Nhập Cho Người Khuyết Tật TPHCM.

Sách: Hướng dẫn cha mẹ thực hành trị liệu hoạt động cho trẻ tự kỷ
Đây là cuốn sách Hướng dẫn cha mẹ thực hành trị liệu hoạt động cho trẻ tự kỷ (thực hành kỹ năng vận động, phối hợp cảm giác, tự đi vệ sinh) do Trần Thị Bích Ngọc và Đỗ Tiến Sơn dịch.
Sách: Son-Rise: Phép màu cho trẻ tự kỷ - Barry Neil Kaufman và Raun Kaufman
Đây là cuốn sách Son-Rise: Phép màu cho trẻ tự kỷ của hai tác giả Barry Neil Kaufman và Raun Kaufman. Cuốn sách này kể về câu chuyện thực tế họ đã giúp con trai của mình chiến thắng chứng tự kỷ rất nặng như thế nào. Hành trình của họ sẽ giúp bố mẹ rất nhiều.
Dưới đây là danh sách các file tài liệu PDF được chia sẻ trong cùng chủ đề nuôi dạy và can thiệp trẻ tự kỷ:
Sách: Nuôi dạy trẻ có rối loạn phổ tự kỷ trong môi trường gia đình
Nuôi dạy trẻ có rối loạn phổ tự kỷ trong môi trường gia đình là ấn phẩm nhiều tác giả. Cuốn sách này cung cấp cho bố mẹ một bức tranh toàn cảnh nhất, thực tế nhất, mà cũng dễ áp dụng nhất để có thể hướng dẫn, giáo dục can thiệp trẻ tại nhà gắn với các hoạt động chăm sóc thường ngày.

Sách: Nuôi dạy trẻ mắc chứng rối loạn tăng động giảm chú ý ADHD - Russell A. Barkley
Đây bản PDF của cuốn sách “Nuôi dạy trẻ mắc chứng rối loạn tăng động giảm chú ý ADHD – tác giả Russell A. Barkley”.

Trẻ tự kỷ thường đi kèm với hội chứng ADHD dù nặng hay nhẹ. 12 nguyên tắc trong cuốn sách này được đúc kết từ chính những công trình nghiên cứu mà tác giả đã dành cả đời để thực hiện. Hiểu về hội chứng ADHD, và sử dụng các chìa khóa thành công mà ông đã xác định để nuôi dạy trẻ trở nên hạnh phúc, khỏe mạnh dù mắc hội chứng ADHD.
Hướng dẫn Trị Liệu Rối Loạn Ăn Uống Cho Một Trẻ Tự Kỷ Điển Hình
Chia sẻ dưới đây là tài liệu hướng dẫn trị liệu rối loạn ăn uống cho một trường hợp trẻ tự kỷ điển hình do bs- thạc sĩ Nguyễn Thị Hạnh tổng hợp lại.
Sổ tay điều trị rối loạn phổ tự kỷ - OHSU
Đây là tài liệu được tổng hợp và phát hành bởi. Autism Clinic (Phòng Khám Bệnh Tự Kỷ) tại OHSU Doernbecher’s Child Development and Rehabilitation Center (CDRC).
Rối loạn giác quan ở trẻ tự kỷ - Bác sĩ Thảo biên soạn
Trong tài liệu này, bác sĩ Thảo đã phân tích rõ 8 rối loạn giác quan mà trẻ phổ tự kỷ mắc phải. Rất hữu ích với tất cả phụ huynh muốn can thiệp thành công cho con tại nhà.
100 Bài can thiệp hành vi cho trẻ ptk
Đây là tài liệu được chia sẻ khá phổ biến và hữu ích cho bố mẹ nào muốn can thiệp cho con tại nhà.
Các hoạt động điều hòa giác quan
Dưới đây là danh sách các hoạt động giúp điều hòa giác quan cho trẻ tự kỷ, có thể áp dụng bổ sung vào các hoạt động thường ngày với trẻ mà bố mẹ nên biết.
Danh Mục Học Nói
Danh mục này cũng liệt kê ra Những nguyên tắc, kỹ thuật sống còn cùng đề mục tổng quan cần thiết và cần được ưu tiên thực hiện nhằm giúp bố mẹ có lộ trình và định hướng căn bản trong việc dạy bé rối loạn ngôn ngữ, chậm phát triển học nói.
Giải Mã 6 Dạng "Nói Lặp, Độc Thoại" Ở Trẻ Tự Kỷ, Chậm Nói Và Cách Hỗ Trợ Đúng Đắn
Khi thấy con hay nói lẩm bẩm một mình, phát ra âm thanh vô nghĩa hoặc lặp đi lặp lại một câu nói, nhiều cha mẹ thường gọi đó là “nói nhảm” và tìm cách bắt con im lặng.
Thực chất, ở trẻ rối loạn phổ tự kỷ, chậm phát triển hay rối loạn ngôn ngữ, mỗi âm thanh phát ra đều có một “nhiệm vụ” riêng đối với não bộ và cảm xúc của trẻ. Thay vì dập tắt, cha mẹ hãy phân biệt 6 dạng dưới đây để giúp con chuyển hóa thành ngôn ngữ giao tiếp thực sự:
1. Phát âm thanh lặp lại để tự kích thích giác quan (Vocal Stimming)
-
Biểu hiện: Trẻ phát ra các chuỗi âm thanh (“a a a…”, “ư ư…”), tiếng động cơ, hoặc lặp đi lặp lại một từ (“xe chạy xe chạy…”) khi ngồi chơi một mình hoặc lúc rảnh rỗi, buồn chán.
-
Nguyên nhân: Hệ thần kinh của trẻ đang “đói” cảm giác. Trẻ dùng âm thanh và độ rung của dây thanh quản để tự kích thích thính giác và cảm giác vùng miệng.
-
Cách hỗ trợ: Đừng bắt con nín. Hãy đáp ứng đúng nhu cầu giác quan của con bằng cách:
-
Kích thích vận động vùng miệng: Cho con thổi bong bóng xà phòng, thổi còi, uống sữa/sinh tố đặc qua ống hút nhỏ, ăn thức ăn giòn/dai.
-
Chuyển hóa thành trò chơi âm thanh: Bắt chước lại chính âm thanh của con nhưng biến tấu cao độ (to – nhỏ, nhanh – chậm) hoặc lồng vào giai điệu bài hát để kéo sự chú ý của con về phía mẹ.
-
Tăng vận động thô (10–15 phút): Nhảy bạt nhún, leo trèo, đẩy vật nặng để giải tỏa năng lượng dư thừa.
-
2. Nhại lời tức thì (Immediate Echolalia)
-
Biểu hiện: Con lặp lại y hệt những gì người khác vừa nói như một cái máy ghi âm. Ví dụ: Mẹ hỏi “Con ăn cơm chưa?”, bé đáp “Ăn cơm chưa?”.
-
Nguyên nhân: Trẻ nghe được nhưng chưa kịp xử lý ý nghĩa câu hỏi, hoặc chưa đủ vốn từ để tự tạo câu trả lời, nên dùng cách lặp lại để duy trì tương tác.
-
Cách hỗ trợ: Tuyệt đối không dùng mệnh lệnh “Con nói đi: Con ăn rồi” (vì trẻ sẽ nhại luôn cả câu “Con nói đi”).
-
Dùng câu hỏi lựa chọn kèm vật thật: Giơ 2 món đồ lên và hỏi “Con ăn bánh hay uống sữa?” (trẻ thường sẽ nhại từ cuối cùng, hãy đưa món con thích ra sau).
-
Làm mẫu từ góc nhìn của con: Mẹ chỉ vào bát cơm trống và nói chậm rãi câu của con: “Con ăn rồi”(không thêm từ dư thừa), chờ 3–5 giây để con bật theo mà không ép buộc.
-
3. Nói theo kịch bản có sẵn (Delayed Echolalia / Scripting)
-
Biểu hiện: Trẻ tự nhiên đọc vanh vách một đoạn quảng cáo, lời thoại phim hoạt hình hoặc câu nói của người lớn từ nhiều ngày trước.
-
Nguyên nhân: Trẻ tự kỷ thường học ngôn ngữ theo cả cụm (Gestalt) thay vì từng từ đơn. Trẻ gắn nguyên một câu thoại trong phim với một cảm xúc hoặc tình huống tương tự ngoài đời thực, nhưng chưa biết cách tách từ để nói theo ý mình.
-
Cách hỗ trợ:
-
Làm “thám tử” tìm ý nghĩa: Quan sát xem con hay nói câu đó khi nào (khi vui, khi sợ, hay khi đòi đồ ăn) để dịch sang câu giao tiếp đúng.
-
Nhập vai và mở rộng hội thoại: Nếu con hô “Siêu nhân xuất hiện!”, đừng phớt lờ. Hãy hưởng ứng: “Wow, siêu nhân bay đi đâu thế?” hoặc “Siêu nhân cứu mẹ với!” để biến câu độc thoại của con thành cuộc trò chuyện hai chiều.
-
4. Độc thoại nhưng thiếu tính hướng đích (Chưa biết giao tiếp hai chiều)
-
Biểu hiện: Trẻ nói rất nhiều, kể lể liên tục hoặc gọi tên đồ vật nhưng mắt không nhìn người nghe, không quan tâm người khác có hiểu hay phản hồi hay không.
-
Nguyên nhân: Trẻ đã có vốn từ nhưng gặp khó khăn về ngôn ngữ xã hội (ngữ dụng) — chưa hiểu rằng ngôn ngữ dùng để kết nối và chia sẻ thông tin với người khác.
-
Cách hỗ trợ:
-
Hạ thấp tầm mắt ngang bằng với con, đưa đồ vật con đang nói tới lên ngang tầm mắt của cha mẹ để thu hút ánh nhìn.
-
Xây dựng các trò chơi cần sự chờ đợi và luân phiên (turn-taking): Chuyền bóng, xếp gỗ từng người một lượt, ú òa, hoặc cố tình làm sai/giấu bớt một chi tiết trong trò chơi quen thuộc để con phải nhìn mẹ và lên tiếng yêu cầu.
-
5. Nói lẩm bẩm khi căng thẳng, lo âu
-
Biểu hiện: Trẻ nói liên hồi, tốc độ nhanh hoặc lặp đi lặp lại một câu hỏi khi đến nơi đông người, vào môi trường lạ, nghe tiếng ồn lớn hoặc khi bị la mắng.
-
Nguyên nhân: Hệ thần kinh của trẻ đang bị quá tải. Việc phát ra những âm thanh quen thuộc giống như một “chiếc chăn an toàn” giúp não bộ tự trấn an và đẩy lùi sự sợ hãi.
-
Cách hỗ trợ: Lúc này không phải là lúc dạy nói, mà là lúc cấp cứu cảm xúc:
-
Đưa con ra góc yên tĩnh, giảm ánh sáng và tiếng ồn.
-
Tác động cảm giác sâu (Deep Pressure) giúp hệ thần kinh dịu lại: Ôm chặt con (nếu con thích), massage ép sâu dọc hai cánh tay và bả vai, hoặc cho con cầm bóng gai, đất nặn để bóp.
-
Nói với con bằng giọng trầm, ngắn gọn và chậm rãi: “Con an toàn rồi, có mẹ ở đây”.
-
6. Nói huyên thuyên do quá phấn khích hoặc trước giờ đi ngủ
-
Biểu hiện: Trẻ nói không ngừng nghỉ, la hét, cười đùa quá mức sau khi xem tivi/điện thoại, khi chơi trò kích thích, hoặc nằm trên giường độc thoại rất lâu không chịu ngủ.
-
Nguyên nhân: Hệ thần kinh giao cảm đang bị kích thích quá mức (hưng phấn cao), não bộ chưa biết cách tự “đạp phanh” để chuyển sang trạng thái nghỉ ngơi. (Riêng việc độc thoại trước khi ngủ đôi khi còn là cách não trẻ tự ôn lại dữ liệu ngôn ngữ đã nghe trong ngày).
-
Cách hỗ trợ: Thiết lập quy trình “hạ nhiệt” cho não bộ:
-
Cắt hoàn toàn thiết bị điện tử (tivi, điện thoại) và các trò chơi đuổi bắt mạnh ít nhất 1–2 giờ trước khi ngủ.
-
Thực hiện chuỗi hoạt động thư giãn cố định: Tắm nước ấm -> Massage nhẹ nhàng lòng bàn chân, lưng -> Đọc sách với giọng đều đều, trầm ấm trong ánh đèn vàng dịu.
-
Tập cho con trò chơi hít thở sâu (ví dụ: hít vào ngửi bông hoa, thở ra thổi tắt ngọn nến).
-
Nguồn: Từ kiến thức can thiệp thực chiến và tổng hợp lại với AI.
Tư duy cốt lõi nhất khi dạy ngôn ngữ cho trẻ cùng các hoạt động thường ngày
Tư duy cốt lõi nhất khi dạy ngôn ngữ cho trẻ (đặc biệt là trẻ mang phổ tự kỷ có sự nhạy cảm về giác quan và dễ bị quá tải) là chuyển từ vai trò “người khảo bài” sang vai trò “bình luận viên”. Thay vì liên tục đặt câu hỏi mang tính ép buộc như “Đây là cái gì?”, “Nói đi con”, bạn hãy chủ động biến mọi hành động đang diễn ra thành âm thanh để não bộ của bé tự động thu nạp một cách tự nhiên, không áp lực.
Để áp dụng tư duy này vào sinh hoạt hàng ngày, bạn hãy bám sát 4 nguyên tắc hành động sau:
1. Tư duy “Bình luận viên” (Nói về những gì đang xảy ra) Khi chăm sóc bé, hãy dùng những câu ngắn để mô tả chính xác những gì bạn và bé đang làm, đang nhìn thấy hoặc đang chạm vào. Việc này giúp não bé gắn kết từ vựng với hành động thực tế ngay tại thời điểm đó.
-
Khi chăm sóc vệ sinh: Thay vì nói “Con đứng im để mẹ mặc đồ nào”, hãy mô tả “Xỏ tay vào”, “Mặc quần”, “Cài cúc”.
-
Khi đi trên đường: “Xe chạy”, “Dừng lại”, “Đèn đỏ rồi”, “Ồ, xe máy kìa”. Bạn cứ nói dù bé có phản hồi hay không, ngôn ngữ sẽ từ từ “ngấm” vào vùng trí nhớ của con.
2. Tư duy “Ngôn ngữ Cộng 1” (Nói ở ngưỡng tiếp thu của con) Trẻ sẽ lập tức “đóng cửa” giao tiếp nếu bạn nói những câu quá dài và phức tạp. Hãy quan sát mức độ ngôn ngữ hiện tại của con và chỉ nói dài hơn con đúng một từ.
-
Nếu bé chưa biết nói: Bạn chỉ dùng từ đơn đi kèm hành động mạnh (ví dụ: đưa giày cho bé và nhấn mạnh “Giày!”, mở cửa và nói “Mở!”).
-
Nếu bé đã nói được từ đơn (ví dụ bé nói “Bánh”): Bạn đáp lại bằng câu 2 từ (“Ăn bánh” hoặc “Bánh quy”).
3. Tư duy “Tạo khoảng trống” (Sức mạnh của sự chờ đợi) Sai lầm lớn nhất của cha mẹ là quá hiểu ý con, dẫn đến việc làm hộ con mọi thứ trước cả khi bé kịp phát ra nhu cầu giao tiếp. Hãy chủ động “tạo ra một chút rào cản” trong các thói quen hàng ngày để khơi gợi lý do bắt buộc bé phải phát ra âm thanh.
-
Khi rót nước cho bé, bạn chỉ rót một chút xíu. Khi bé uống hết và muốn nữa, hãy cầm bình nước lên, nhìn vào mắt bé và chờ đợi 5 đến 10 giây. Nếu bé không nói, bạn làm mẫu từ “Nữa” hoặc “Rót”, đợi bé nhại lại (hoặc có cử chỉ bằng mắt/tay) rồi mới rót tiếp.
-
Khi mặc áo, bạn trùm áo qua đầu bé rồi… dừng lại. Bé sẽ bứt rứt muốn kéo xuống. Lúc này bạn nói “Kéo” và chờ bé có phản xạ.
4. Tư duy “Kịch bản đóng gói” (Lặp lại từ vựng theo bối cảnh) Trẻ phổ tự kỷ học tốt nhất qua sự lặp đi lặp lại vì nó tạo ra sự an toàn, dễ đoán. Bạn hãy chọn ra vài sinh hoạt cố định (như đi tắm, mang giày đi học) và sử dụng đúng một bộ từ vựng y hệt nhau mỗi ngày.
-
Ví dụ việc đưa đón đi học: Mở cửa xe bạn nói “Lên xe”. Thắt dây an toàn bạn làm tiếng động “Tạch!”. Đến trường bạn vẫy tay “Chào cô”. Ngày nào bạn cũng dùng đúng những từ đó ở đúng thời điểm đó. Sau một thời gian, não bé sẽ ghi nhận đây là “kịch bản ngôn ngữ” của việc đi học. Dần dần, bạn chỉ cần mở cửa, bé sẽ tự bật ra chữ “Lên xe”.
Nguồn tham khảo: AI
Danh sách câu hỏi cơ bản nhất liên quan đến cuộc sống thường dậy bé nói
-
Nhóm khám phá thế giới: Cái gì đây ạ? (Vật) – Ai đây ạ? (Người) – [Tên vật] ở đâu rồi ạ? (Vị trí) – Tại sao lại thế ạ? (Nguyên nhân).
-
Nhóm ranh giới & tương tác xã hội: Cái này của ai? (Sở hữu) – Con mượn cái này được không ạ? (Xin phép) – Đến lượt con chưa ạ? (Luân phiên & Chờ đợi).
1. Nhóm câu hỏi về nhu cầu và xin giúp đỡ
-
“Mẹ/Bố ơi, giúp con?” (Dùng khi bé không mở được hộp sữa, không lấy được đồ trên cao, hoặc bị kẹt đồ chơi).
2. Nhóm câu hỏi khám phá thế giới
-
“Cái gì đây ạ?“ (Câu hỏi “kinh điển” khi bé nhìn thấy đồ vật mới, con vật mới).
-
“Ai đây ạ?“ (Giúp bé nhận diện người thân, hàng xóm, hoặc các nhân vật khi cùng mẹ đọc sách truyện).
-
“Tại sao lại thế ạ?” (Câu hỏi vàng kích thích tư duy logic. Dù đôi khi sẽ khiến người lớn đau đầu để giải thích, nhưng nó chứng tỏ não bộ của bé đang phát triển rất tốt).
3. Nhóm câu hỏi về vị trí và sở hữu
-
“[Tên đồ vật] ở đâu rồi ạ?“ (Ví dụ: “Dép của con ở đâu?”. Câu hỏi này giúp bé chủ động tìm kiếm đồ cá nhân thay vì khóc lóc bắt người lớn tìm hộ).
-
“Cái này của ai ạ?“ (Giúp bé hiểu về khái niệm sở hữu, biết phân biệt đồ của mình và đồ của người khác).
4. Nhóm câu hỏi xin phép và tương tác xã hội
-
“Con mượn cái này được không?“ (Dạy bé nguyên tắc phải xin phép trước khi lấy đồ không thuộc về mình).
5. Câu hỏi về xếp lượt, luân phiên và chờ đợi
- “Đến lượt con chưa?“ (Cực kỳ hữu ích khi bé ra sân chơi chung với các bạn, giúp rèn luyện sự kiên nhẫn và hiểu về luật luân phiên). Tình huống này rèn luyện sự luân phiên (turn-taking) – một kỹ năng xã hội rất khó với trẻ tự kỷ.
Học nói: 6 nhóm danh mục lớn được chia theo mục đích giao tiếp và môi trường sinh hoạt của bé.
Nếu bạn đang muốn dạy bé chậm nói, trẻ rối loạn phổ tự kỷ, hay rối loạn ngôn ngữ, bạn nên bắt đầu từ những câu căn bản nhất gắn liền với hoạt động của bé tại nhà, trường mầm non và khi vui chơi ngoài trời (công viên, nhà bóng). Nguyên tắc quan trọng nhất là ngôn ngữ chức năng — tức là dạy những từ/câu giúp con giải quyết ngay nhu cầu thực tế để giảm thiểu sự cáu gắt (meltdown) do không thể giao tiếp. Dưới đây là 7 nhóm danh mục lớn được chia theo mục đích giao tiếp và môi trường sinh hoạt của bé.
1. Nhóm Bày tỏ Nhu cầu Thiết yếu (Ăn, uống, vệ sinh) ↗
Đây là nhóm cần ưu tiên số 1 để con sinh tồn và cảm thấy thoải mái.
- Mục tiêu: Con biết cách xin đồ ăn, thức uống mình thích hoặc thông báo khi có nhu cầu sinh lý.
- Ví dụ bối cảnh: Giờ ăn cơm ở nhà/trường, khi khát nước, khi buồn đi vệ sinh, khi muốn lấy đồ chơi ngoài tầm với.
2. Nhóm Yêu cầu Sự trợ giúp & Giao tiếp Cốt lõi ↗
Trẻ tự kỷ thường gặp khó khăn trong việc nhờ vả và có xu hướng tự làm (hoặc kéo tay người lớn thay vì nói). Nhóm này giúp con bật âm để tương tác.
- Mục tiêu: Con biết gọi người khác, nhờ giúp đỡ và biết trả lời “Có/Không”.
- Ví dụ bối cảnh: Không mở được hộp đồ chơi, không với được đồ, mặc/cởi quần áo khó, hoặc phản hồi khi mẹ/cô giáo gọi tên.
3. Nhóm Từ chối & Bảo vệ bản thân (Kỹ năng khước từ) ↗
Nhóm này cực kỳ quan trọng nhưng hay bị bỏ quên. Khi trẻ không biết nói “Không”, trẻ sẽ dùng hành vi (la hét, ném đồ, cắn) để phản đối.
- Mục tiêu: Con biết cách từ chối một cách an toàn và được chấp nhận.
- Ví dụ bối cảnh: Bị bạn giành đồ chơi, không muốn ăn món nào đó, tiếng ồn quá to, hoặc khi con đã mệt/đủ rồi không muốn chơi nữa.
4. Nhóm Sinh hoạt Hàng ngày tại Nhà (Routine Words) ↗
Trẻ tự kỷ học rất tốt qua các thói quen lặp đi lặp lại (routines). Từ vựng gắn liền với các bước sinh hoạt sẽ giúp con dễ nhớ nhất.
- Mục tiêu: Giao tiếp trong các hoạt động quen thuộc cùng gia đình.
- Ví dụ bối cảnh: Lúc thức dậy, đi tắm (các bộ phận cơ thể, xà phòng, nước), đánh răng, mặc quần áo, dọn đồ chơi, đi ngủ.
5. Nhóm Hoạt động & Tương tác tại Trường Mầm non ↗
Môi trường trường học đòi hỏi con phải tuân thủ nề nếp và chú ý chung với các bạn.
- Mục tiêu: Giúp con hiểu lệnh của cô, tương tác cơ bản với bạn bè và tham gia hoạt động chung.
- Ví dụ bối cảnh: Giờ vòng tròn (chào hỏi), cất ba lô, chia sẻ đồ chơi (xin bạn, đợi đến lượt), giờ ra chơi, hoặc lúc đợi mẹ đón về.
6. Nhóm Nhận diện Trạng thái Cơ thể & Cảm xúc ↗
Trẻ tự kỷ thường rối loạn cảm giác nên việc gọi tên được sự khó chịu trong cơ thể sẽ giúp con bình tĩnh lại.
- Mục tiêu: Con báo được cho người lớn khi bị đau, khó chịu, hoặc biểu đạt cảm xúc vui/buồn.
- Ví dụ bối cảnh: Bị té ngã (chỉ chỗ đau), buồn ngủ, nóng/lạnh, tức giận, hoặc vui vẻ khi được chơi trò yêu thích.
7. Nhóm Vui chơi, Vận động & Tương tác xã hội (Công viên, nhà bóng, sân chơi) ↗
- Mục tiêu: Con biết yêu cầu trò chơi mình muốn, mô tả hành động, học cách chờ đến lượt cơ bản và tuân thủ tín hiệu chuyển đổi/an toàn của người lớn.
- Ví dụ bối cảnh & Từ vựng tiềm năng:
- Yêu cầu trò chơi/hành động: Đẩy (nhờ mẹ đẩy xích đu), thả (bóng), ném, trượt, nhảy, thổi (bong bóng xà phòng).
- Tương tác/Luân phiên: Lượt của con, chờ một chút, nhường bạn, xin chơi chung.
- Từ chỉ vị trí/cảm giác: Lên, xuống, cao quá, nhanh, chậm.
- Chuyển đổi hoạt động & An toàn: Dừng lại, đi về, đổi trò, mệt rồi.
💡 Mẹo thực hành hiệu quả:
Việc dạy ngôn ngữ ở khu vui chơi cực kỳ hiệu quả vì bạn có thể kết hợp vận động + phát âm. Ví dụ: Khi con đang chơi xích đu, bạn giữ xích đu lại, chờ con bật âm “Đẩy” (hoặc chỉ tay/giao tiếp mắt) rồi mới đẩy tiếp.
📌 Thứ tự ưu tiên: Trong các nhóm trên, Nhóm 1, 2 và 3 là quan trọng nhất và nên được ưu tiên dạy trước để giúp bé giải tỏa bức xúc khi chưa thể nói ra nhu cầu của bản thân.
Nguồn tham khảo: Kiến thức thực tế dạy con và những gợi ý từ AI.
Dạy Nói Chi Tiết
Sau khi đã có định hướng và nắm được các nguyên tắc căn bản từ danh mục học nói, chúng ta sẽ đi vào dạy con nói theo các hướng dẫn rất chi tiết và cụ thể cùng các tình huống sắp đặt phù hợp hoặc thực tế trong quá trình chăm sóc trẻ.
Dậy bé hỏi "Cái gì đây?"
Đây là câu hỏi “kinh điển” khi bé nhìn thấy đồ vật mới, con vật mới. Khi bé hiểu được bản chất câu hỏi sẽ nhận được câu trả lời như thế nào, bé sẽ tự kết hợp chỉ tay và hỏi rất nhiều.
Để dạy trẻ tự kỷ, rối loạn ngôn ngữ hoặc chậm phát triển bật ra câu hỏi “Cái gì đây?”, nguyên tắc cốt lõi là tạo ra sự tò mò (động lực giao tiếp): trẻ phải thực sự muốn biết hoặc muốn lấy vật bị giấu, thay vì bị ép lặp lại câu hỏi về một món đồ trẻ đã biết thừa (như chỉ vào quả bóng quen thuộc và bắt trẻ hỏi).
1. Điều kiện cần trước khi dạy
Trước khi dạy câu hoàn chỉnh “Cái gì đây?”, hãy đảm bảo bé đã có:
-
Khả năng bắt chước âm thanh hoặc từ đơn/cụm từ ngắn.
-
Kỹ năng chỉ tay (pointing) hoặc hướng ánh mắt về vật mình muốn.
-
(Lưu ý: Nếu bé mới chỉ nói được 1-2 từ, hãy rút ngắn mục tiêu xuống còn “Gì đây?” hoặc “Cái gì?” trước, sau đó mới mở rộng thêm chữ “ạ”).
2. Công tác chuẩn bị
-
1 chiếc túi vải không nhìn xuyên thấu (túi thần kỳ) hoặc 1 chiếc hộp có nắp đậy kín.
-
5 – 7 món đồ chơi/đồ ăn bé cực kỳ thích hoặc những món đồ phát sáng, phát nhạc lạ mắt mà bé chưa biết tên(tránh dùng đồ quá quen thuộc vì bé sẽ gọi thẳng tên món đồ thay vì đặt câu hỏi).
3. Quy trình 4 bước thực hiện (Tình huống: Chiếc túi thần kỳ)
Bước 1: Tạo sự chú ý và tò mò
-
Ngồi đối diện ngang tầm mắt với bé.
-
Cho 1 món đồ (ví dụ: con sâu vặn dây cót hoặc bánh quy bé thích) vào túi.
-
Lắc nhẹ chiếc túi tạo âm thanh sột soạt hoặc cho đồ chơi phát tiếng kêu bên trong. Mở hé miệng túi cho bé nhìn thoáng qua (nhưng chưa cho lấy) và thể hiện biểu cảm ngạc nhiên: “Ồ! Có cái gì trong này nhỉ?”
Bước 2: Làm mẫu và Nhắc (Prompting) ngay khi bé có phản ứng
-
Ngay khoảnh khắc bé với tay đòi mở túi hoặc nhìn chằm chằm vào túi, bạn giữ nhẹ tay bé lại hoặc đưa ngón trỏ của bé chạm vào túi.
-
Bạn nói mẫu thật rõ ràng, chậm rãi và nhấn giọng ngay lập tức: “Cái gì đây ạ?”
-
Chờ 2–3 giây để bé bắt chước nói theo (Ví dụ: “Cái gì đây ạ?” hoặc “Gì đây?”).
Bước 3: Củng cố (Khen thưởng lập tức)
-
Ngay khi bé phát âm theo (dù hơi ngọng), bạn lập tức mở túi lấy món đồ ra, gọi to tên món đồ với giọng hào hứng: “À! Là ô tô!”
-
Đưa ngay món đồ cho bé chơi 15–30 giây (hoặc cho bé ăn nếu là bánh). Nhờ vậy, bé hiểu rằng: Hỏi câu này = Mở được túi + Nhận được đồ thích.
Bước 4: Giảm dần sự trợ giúp (Fading) Sau khi lặp lại khoảng 5–10 lần với các món đồ khác nhau trong túi và bé đã quen nhịp, bạn bắt đầu rút dần lời nhắc để bé tự hỏi:
-
Mức 1 (Nhắc toàn phần): Bạn nói “Cái gì đây ạ?” -> Bé lặp lại “Cái gì đây ạ?”
-
Mức 2 (Nhắc một phần): Bạn chỉ vào túi và chỉ gợi ý chữ đầu “Cái…” -> Bé tự nối tiếp “…gì đây ạ?”
-
Mức 3 (Nhắc bằng cử chỉ/chờ đợi): Bạn lắc túi, chỉ tay vào túi, nhướng mày nhìn bé đầy mong đợi (im lặng chờ 3–5 giây) -> Bé tự bật ra “Cái gì đây ạ?”
4. Ba tình huống mở rộng trong sinh hoạt hàng ngày
Để bé không bị rập khuôn (chỉ biết hỏi khi thấy cái túi), hãy áp dụng sang các bối cảnh tự nhiên:
5. Hai lỗi phổ biến cần tránh
-
Hỏi ngược lại bé: Tuyệt đối không hỏi “Con hỏi mẹ đi, con nói cái gì đây ạ đi”. Trẻ tự kỷ có xu hướng nhại lời (echolalia), nếu bạn nói câu dài như vậy, bé sẽ nhại lại nguyên cụm “Con hỏi mẹ đi”. Chỉ làm mẫu đúng câu bé cần nói (“Cái gì đây ạ?”).
-
Làm mẫu sai thời điểm: Nếu bé đang nhìn đi chỗ khác hoặc không hứng thú với chiếc túi mà bạn ép bé nói, bé sẽ chỉ nhại lại một cách máy móc mà không hiểu ý nghĩa của câu hỏi. Chỉ làm mẫu khi mắt bé đang nhìn vào vật và tay bé đang muốn lấy.
Nguồn tham khảo và tổng hợp: AI
Dạy bé hỏi câu "Ai đây?"
Để dạy câu hỏi “Ai đây ạ?”, nguyên tắc vẫn là tạo sự tò mò về sự xuất hiện của một người (hoặc nhân vật) mà bé yêu thích nhưng đang bị che khuất. Trẻ cần hiểu rằng câu hỏi này dùng cho người/nhân vật, khác với “Cái gì đây ạ?”dùng cho đồ vật.
1. Công tác chuẩn bị
-
1 chiếc khăn lớn (khăn tắm hoặc chăn mỏng không nhìn xuyên thấu) để chơi trò ú òa.
-
Ảnh in rời của những người thân quen (bố, mẹ, ông, bà, cô giáo, chính bé) hoặc các nhân vật hoạt hình bé cực kỳ yêu thích, đặt úp mặt xuống bàn hoặc cho vào phong bì/hộp.
-
Sự phối hợp của người thứ 3 (bố, bà, anh chị trong nhà) nếu có thể, để tạo tình huống thực tế sinh động nhất.
2. Quy trình 4 bước thực hiện (Tình huống: Trốn tìm dưới khăn / Ú òa)
Lưu ý: Nếu bé mới nói được câu ngắn, bạn có thể rút gọn mục tiêu thành “Ai đây?” trước, khi bé đã thành thạo mới thêm chữ “ạ”.
Bước 1: Tạo sự chú ý và bất ngờ
-
Nhờ một người thân (ví dụ: Bố – người bé rất thích chơi cùng) ngồi trước mặt bé và trùm kín khăn tắm lên đầu, hoặc nấp ngay sau cánh cửa hé mở. (Nếu chỉ có 2 mẹ con, bạn có thể tự lấy khăn trùm lên đầu mình hoặc dùng thú bông che kín mặt).
-
Người dưới khăn tạo ra âm thanh vui nhộn (tiếng cười khúc khích, tiếng giả giọng con vật, hoặc gọi tên bé “Ú òa, đố biết…”) và cử động nhẹ để thu hút sự chú ý của bé.
Bước 2: Làm mẫu và Nhắc (Prompting) đúng thời điểm
-
Ngay khoảnh khắc bé nhìn chằm chằm vào chiếc khăn hoặc đưa tay định kéo khăn ra, bạn giữ nhẹ tay bé lại, hướng ngón trỏ của bé chỉ vào người đang trùm khăn.
-
Nói mẫu ngay lập tức, to, rõ và nhấn giọng: “Ai đây ạ?”
-
Chờ 2–3 giây để bé bắt chước nói theo.
Bước 3: Củng cố (Khen thưởng bằng tương tác xã hội)
-
Ngay khi bé phát âm “Ai đây ạ?” (hoặc “Ai đây?”), lập tức kéo tung chiếc khăn ra.
-
Người dưới khăn reo to với biểu cảm thật vui: “À! Là Bố đây!” rồi cù lét, bế bổng hoặc ôm hôn bé (tạo niềm vui tức thì để bé thấy việc đặt câu hỏi mang lại kết quả cực kỳ thú vị).
Bước 4: Giảm dần sự trợ giúp (Fading) Sau khoảng 5–7 lượt chơi lặp lại (đổi người trùm khăn hoặc đổi vị trí nấp), bạn giảm dần việc nhắc lời:
-
Mức 1 (Nhắc toàn câu): Bạn chỉ tay và nói “Ai đây ạ?” -> Bé nói theo.
-
Mức 2 (Nhắc từ đầu): Khi bé định kéo khăn, bạn chỉ tay và gợi ý khẩu hình “Ai…” -> Bé tự bật ra “…đây ạ?”
-
Mức 3 (Tự chủ động): Người thân trùm khăn trước mặt bé, bạn chỉ tay vào chiếc khăn, nhìn bé với ánh mắt chờ đợi (im lặng 3–5 giây) -> Bé tự hỏi “Ai đây ạ?” để được kéo khăn.
3. Bốn tình huống mở rộng trong sinh hoạt hàng ngày
Để bé hiểu khái niệm “Ai” dùng trong nhiều hoàn cảnh khác nhau, bạn hãy lồng ghép vào các hoạt động sau:
4. Mẹo giúp bé phân biệt “Cái gì đây ạ?” và “Ai đây ạ?”
Khi bé đã biết nói cả hai câu, trẻ tự kỷ rất dễ bị nhầm lẫn (chỉ vào mẹ nhưng lại hỏi “Cái gì đây ạ?”). Để giúp bé phân biệt:
-
Giai đoạn đầu: Tách biệt rõ thời gian dạy. Chỉ chuyển sang dạy “Ai đây ạ?” khi bé đã tương đối vững câu “Cái gì đây ạ?”.
-
Giai đoạn kết hợp (Trò chơi xen kẽ): Chuẩn bị 1 chiếc hộp lớn (hoặc sau cánh cửa). Lượt 1: Giấu một món đồ chơi -> Nhắc bé hỏi “Cái gì đây ạ?”. Lượt 2: Bố nấp sau cửa -> Nhắc bé hỏi “Ai đây ạ?”.
-
Sửa lỗi nhẹ nhàng (Không chê trách): Nếu bé chỉ vào bức ảnh của bố mà hỏi “Cái gì đây ạ?”, bạn đừng nói “Sai rồi”, hãy lập tức làm mẫu đè lên bằng câu đúng với giọng nhấn mạnh từ đầu: “Ai đây ạ? -> À, là Bố!”, rồi khuyến khích bé lặp lại câu đúng.
Dạy bé hỏi câu hỏi “Tại sao?”
Để dạy câu hỏi “Tại sao lại thế ạ?” (hoặc rút gọn là “Sao thế ạ?” / “Tại sao?”), cấp độ nhận thức đã nâng lên một bậc so với câu hỏi “Cái gì” và “Ai”.
Nguyên tắc cốt lõi để trẻ bật ra câu hỏi này là phá vỡ quy luật quen thuộc (tạo ra sự cố hoặc sự bất thường). Trẻ tự kỷ vốn rất nhạy cảm với các quy trình cố định; khi một món đồ chơi bỗng dưng không hoạt động, hoặc người lớn có một hành động “kỳ quặc” trái với thường ngày, trẻ sẽ khựng lại vì thắc mắc. Đó chính là thời điểm vàng để dạy.
1. Điều kiện cần trước khi dạy
-
Bé đã biết nhận ra sự bất thường trong môi trường (ví dụ: thấy đồ chơi không chạy thì ngẩng lên nhìn mẹ, hoặc thấy cửa khóa thì kéo tay mẹ).
-
Bé đã hiểu được các câu giải thích nguyên nhân – kết quả ngắn gọn (ví dụ: “Hết pin rồi”, “Bị ướt rồi”, “Đau tay”).
-
(Mẹo: Câu “Tại sao lại thế ạ?” khá dài (5 âm tiết). Nếu bé nói chưa sõi, hãy rút gọn mục tiêu thành “Sao thế ạ?”hoặc “Tại sao ạ?” trước).
2. Quy trình 4 bước thực hiện (Tình huống: Đồ chơi “bỗng dưng” bị hỏng)
Chuẩn bị: Một món đồ chơi phát nhạc/phát sáng mà bé cực kỳ thích (đã được bạn tháo pin ra trước), và giấu sẵn viên pin trong túi áo.
Bước 1: Tạo “sự cố” bất ngờ
-
Đưa món đồ chơi cho bé như bình thường.
-
Bé bấm nút nhưng đồ chơi không kêu, không sáng đèn.
-
Bạn cầm lấy đồ chơi, bấm thử vài lần rồi xòe hai tay ra, nhún vai, nhăn mặt với biểu cảm ngạc nhiên phóng đại: “Ơ! Không kêu!”
Bước 2: Làm mẫu và Nhắc (Prompting) ngay khi bé thắc mắc
-
Ngay khoảnh khắc bé nhìn vào món đồ chơi rồi ngước nhìn bạn với vẻ mặt khó hiểu (hoặc sốt ruột đưa đồ chơi cho bạn sửa), bạn đặt tay lên cằm hoặc xòe tay ra.
-
Nói mẫu thật rõ ràng, chậm rãi với ngữ điệu thắc mắc: “Tại sao lại thế ạ?” (hoặc “Sao thế ạ?”).
-
Chờ 2–3 giây để bé lặp lại câu hỏi.
Bước 3: Giải thích ngắn gọn + Khắc phục sự cố ngay lập tức (Củng cố)
-
Ngay khi bé nói theo “Tại sao lại thế ạ?”, bạn lập tức lật mặt sau của đồ chơi ra chỉ vào ổ trống và giải thích thật ngắn gọn, trực quan: “À! Vì hết pin rồi!” (hoặc “Vì chưa lắp pin!”).
-
Lấy ngay viên pin trong túi lắp vào, bật công tắc cho đồ chơi phát sáng/kêu nhạc và trả lại cho bé chơi. (Việc lắp pin ngay giúp bé hiểu rằng: Đặt câu hỏi “Tại sao” sẽ tìm ra nguyên nhân và giải quyết được vấn đề để tiếp tục cuộc chơi).
Bước 4: Giảm dần sự trợ giúp (Fading) Lặp lại tình huống với các đồ vật bị “trục trặc” khác (bút lông bị đóng nắp không vẽ được, hộp bánh bị dán băng dính chặt không mở được…):
-
Mức 1 (Nhắc toàn câu): Bạn xòe tay làm mẫu “Tại sao lại thế ạ?” -> Bé nói theo.
-
Mức 2 (Nhắc cử chỉ + 1 từ đầu): Khi đồ chơi không chạy, bạn xòe hai tay, nhướng mày và mớm từ “Tại…” -> Bé tự nói tiếp “…sao lại thế ạ?”.
-
Mức 3 (Tự chủ động): Khi gặp sự cố, bạn chỉ xòe tay và nhìn bé với vẻ mặt ngạc nhiên, im lặng chờ 3–5 giây -> Bé tự bật ra câu hỏi.
3. Bốn tình huống mở rộng cực kỳ hiệu quả trong sinh hoạt
Trẻ sẽ hiểu sâu câu hỏi “Tại sao” nhất khi được đặt vào các tình huống hài hước hoặc cản trở nhẹ trong đời sống hàng ngày:
4. Ba lưu ý quan trọng khi dạy câu hỏi “Tại sao”
-
Câu trả lời phải cực kỳ ngắn gọn và nhìn thấy bằng mắt (Trực quan): Trẻ tự kỷ và rối loạn ngôn ngữ rất khó hiểu những lời giải thích trừu tượng dài dòng. Hãy luôn bắt đầu câu trả lời bằng chữ “Vì…” kèm theo hành động chỉ vào bằng chứng cụ thể (Ví dụ: “Vì hết pin” -> chỉ vào ổ pin trống; “Vì bàn bị ướt” -> đặt tay bé chạm vào vũng nước trên bàn).
-
Đừng biến thành bài kiểm tra lý thuyết: Ở giai đoạn đầu, tránh dùng tranh ảnh tĩnh để hỏi kiểu học thuật trước khi bé biết dùng câu hỏi trong thực tế. Hãy để bé trải nghiệm cảm giác “thắc mắc thật” qua trò chơi trước.
-
Kiên nhẫn với ngữ điệu: Khi làm mẫu câu “Tại sao lại thế ạ?”, hãy cố gắng kết hợp ngôn ngữ cơ thể (nghiêng đầu, nhướng mày, xòe hai bàn tay). Trẻ tự kỷ học qua thị giác rất tốt; cử chỉ xòe tay của bạn sau này sẽ trở thành dấu hiệu nhắc nhở tuyệt vời mà không cần dùng lời nói.
Kiến thức có tham khảo từ AI.
Dạy bé nói câu hỏi “[Tên đồ vật] ở đâu?”
Để dạy câu hỏi “[Tên đồ vật] ở đâu rồi ạ?” (hoặc rút gọn là “[Tên đồ vật] đâu rồi?”), nguyên tắc vàng là “Làm thiếu hụt một phần không thể thiếu” (Sabotage the environment).
Thay vì giấu một món đồ ngẫu nhiên và bắt bé đi tìm (khi bé chẳng có nhu cầu tìm nó), bạn hãy đưa cho bé một hoạt động bé cực kỳ thích nhưng cố tình cất đi công cụ quan trọng nhất. Khi bé đang rất cần món đồ đó để hoàn thành trò chơi hoặc việc ăn uống, động lực bật ra câu hỏi “Ở đâu rồi?” sẽ đạt mức cao nhất.
1. Điều kiện cần trước khi dạy
-
Bé đã biết gọi tên một số đồ vật quen thuộc (bóng, giày, thìa, sữa, ô tô…).
-
Bé hiểu được các chỉ dẫn vị trí đơn giản hoặc biết nhìn theo hướng tay chỉ của người lớn để lấy đồ.
-
(Lưu ý rút gọn: Nếu câu “[Tên đồ vật] + ở đâu rồi ạ?” quá dài so với hơi thở của bé, hãy dạy cấu trúc ngắn “Bóng đâu rồi?” hoặc “Thìa đâu ạ?” trước, sau đó mới kéo dài câu).
2. Quy trình 4 bước thực hiện (Tình huống: Thiếu mảnh ghép cuối cùng)
Chuẩn bị: Một bảng ghép hình (hoặc tháp xếp chồng, hộp thả hình) mà bé rất thích chơi. Bạn giữ lại mảnh ghép cuối cùng (ví dụ: hình con cá) và giấu dưới đùi mình hoặc dưới một chiếc khăn ngay gần đó.
Bước 1: Tạo tình huống “thiếu đồ”
-
Cùng bé ghép lần lượt các mảnh ghép lên bảng.
-
Đến ô trống cuối cùng, bé nhìn quanh mặt sàn để tìm mảnh ghép “con cá” nhưng không thấy.
-
Bạn xòe hai tay ra, nghiêng đầu ngó nghiêng tìm kiếm quanh sàn với vẻ mặt ngạc nhiên: “Ơ! Hết rồi à?”
Bước 2: Làm mẫu và Nhắc (Prompting) ngay khi bé ngơ ngác tìm
-
Ngay khoảnh khắc mắt bé đảo quanh tìm kiếm hoặc bé nhìn vào ô trống rồi ngước nhìn bạn, bạn lập tức xòe hai bàn tay (ngửa lòng bàn tay lên, nhún vai) và nói mẫu thật rõ: “Con cá ở đâu rồi ạ?” (hoặc “Cá đâu rồi ạ?”).
-
Chờ 2–3 giây để bé bắt chước nói theo.
Bước 3: Chỉ chỗ + Cho bé tìm thấy ngay lập tức (Củng cố)
-
Ngay khi bé phát âm câu hỏi, bạn lập tức chỉ tay vào chiếc khăn (hoặc gầm bàn ngay cạnh) và reo lên: “Ở dưới khăn kìa!” (hoặc “Ở đây này!”).
-
Để bé tự tay lật khăn lấy mảnh ghép lắp vào ô cuối cùng và vỗ tay khen thưởng. (Bé sẽ hiểu: Hỏi “ở đâu” = Được chỉ chỗ = Tìm thấy món đồ đang cần).
Bước 4: Giảm dần sự trợ giúp (Fading) Lặp lại trong các lượt chơi tiếp theo hoặc với các đồ vật khác:
-
Mức 1 (Nhắc toàn câu): Bạn xòe tay làm mẫu “Con cá ở đâu rồi ạ?” -> Bé lặp lại cả câu.
-
Mức 2 (Nhắc tên đồ vật + cử chỉ): Bạn chỉ vào ô trống, xòe tay và gợi ý từ đầu: “Con cá…” -> Bé tự nối tiếp “…ở đâu rồi ạ?”
-
Mức 3 (Chỉ dùng cử chỉ): Khi bé đang tìm đồ, bạn chỉ xòe hai bàn tay ra và nhìn bé chờ đợi (im lặng 3–5 giây) -> Bé tự bật ra câu hỏi.
3. Bốn tình huống “thiếu hụt” cực nhạy trong sinh hoạt hàng ngày
Đây là những khoảnh khắc bé có nhu cầu tìm đồ thật sự 100%, giúp câu hỏi trở nên tự nhiên mà không cần ngồi vào bàn học:
4. Ba lưu ý quan trọng để bé không bị nản hoặc cáu gắt
-
Giấu ở nơi “dễ tìm” trong giai đoạn đầu: Mục tiêu là dạy bé đặt câu hỏi, không phải thử thách khả năng tìm kiếm. Hãy để món đồ bị giấu lộ ra một góc (ví dụ: chiếc xe ô tô thò bánh xe ra khỏi rìa khăn) hoặc ở ngay gần tầm mắt để ngay khi bé hỏi xong, bạn chỉ tay là bé nhìn thấy ngay.
-
Thống nhất cử chỉ “Xòe hai bàn tay”: Cử chỉ xòe hai tay, nhún vai là ký hiệu hình ảnh toàn cầu cho câu hỏi “Ở đâu?”. Khi bạn luôn làm cử chỉ này kèm câu nói mẫu, chỉ sau một thời gian ngắn, mỗi khi bạn xòe tay ra là bé sẽ tự động bật ra câu hỏi mà không cần bạn phải nhắc lời.
-
Dạy song song cách trả lời (Chỉ vị trí): Sau khi bé hỏi “Ở đâu rồi ạ?”, câu trả lời của bạn nên nhấn mạnh vào các từ chỉ vị trí đơn giản (Trên bàn, Dưới ghế, Trong hộp) kèm theo ngón tay chỉ thật rõ ràng. Điều này giúp bé vừa học được cách hỏi, vừa mở rộng vốn từ về không gian.
Bảng tổng kết phân biệt 4 câu hỏi đã học
Để bạn dễ dàng ôn tập xen kẽ cho bé trong ngày mà không bị rối:
-
Cái gì đây ạ? -> Khi thấy vật bị che khuất một phần / trong túi kín (Kích thích bởi sự tò mò về đồ vật).
-
Ai đây ạ? -> Khi thấy người trùm khăn / gõ cửa / ảnh úp (Kích thích bởi sự tò mò về người).
-
Tại sao lại thế ạ? -> Khi đồ vật bị hỏng / quy trình bị cản trở / hành động ngược đời (Kích thích bởi sự cố bất thường).
-
[Tên vật] ở đâu rồi ạ? -> Khi thiếu mất công cụ quen thuộc để hoàn thành việc đang làm (Kích thích bởi nhu cầu tìm kiếm).
Nguồn: Kiến thức can thiệp thực tế và hỗ trợ từ AI.
Dậy bé hỏi câu “Cái này của ai?”
Để dạy câu hỏi “Cái này của ai?” (hoặc “Của ai đây ạ?”), trẻ cần bước đầu hiểu về khái niệm sở hữu (đồ vật gắn liền với một chủ nhân cụ thể).
Nguyên tắc cốt lõi để kích thích trẻ bật ra câu hỏi này là “Sự xuất hiện của đồ vật đặt nhầm chỗ” hoặc “Trò chơi phân phát đồ”. Nếu chỉ cầm một chiếc áo bất kỳ giơ lên hỏi, trẻ sẽ không có động lực quan tâm. Nhưng nếu trẻ thấy chiếc kính to đùng của bố lại nằm trong rổ đồ chơi của mình, hoặc trẻ được giao nhiệm vụ làm “người phát quà” cho cả nhà, trẻ sẽ có nhu cầu tìm chủ nhân thực sự của món đồ.
1. Điều kiện cần trước khi dạy
-
Bé đã nhận biết được tên các thành viên trong gia đình (Bố, Mẹ, Bà, anh/chị…) và biết chỉ vào bản thân mình.
-
Bé đã hiểu câu trả lời chỉ sự sở hữu đơn giản (Ví dụ: “Của bố”, “Của mẹ”, “Của con”).
-
(Mẹo rút gọn: Nếu câu “Cái này của ai ạ?” hơi dài, bạn có thể rút ngắn thành “Của ai đây?” hoặc “Của ai ạ?”, hoặc “[Tên đồ vật] của ai?” như “Giày của ai?”).
2. Quy trình 4 bước thực hiện (Tình huống: Chiếc giỏ phân loại đồ)
Chuẩn bị:
-
Ngồi chơi cùng 2–3 thành viên trong gia đình (ví dụ: Bố, Mẹ và Bé). (Nếu chỉ có 2 mẹ con, bạn có thể đặt thêm 1–2 bạn thú bông/búp bê ngồi bên cạnh hoặc dùng ảnh của Bố, Bà đặt trước mặt).
-
1 chiếc giỏ đựng các món đồ cá nhân đặc trưng, rõ ràng nhất của từng người: Kính mắt/đồng hồ của bố, kẹp tóc/túi xách của mẹ, và bình sữa/món đồ chơi yêu thích của bé.
Bước 1: Tạo tình huống cần tìm chủ nhân
-
Bạn lấy từ trong giỏ ra một món đồ của Bố (ví dụ: chiếc kính mắt to), cố tình ướm thử lên mặt bé (hoặc đặt vào lòng bé) làm chiếc kính bị rộng tuột xuống trông rất buồn cười.
-
Bạn tỏ vẻ ngạc nhiên, lắc đầu: “Ơ! Không vừa rồi! Cái kính to quá!”
Bước 2: Làm mẫu và Nhắc (Prompting) ngay khi bé bối rối
-
Ngay khi bé cầm chiếc kính nhìn ngắm hoặc đưa trả lại cho bạn, bạn chỉ ngón tay vào chiếc kính (hoặc cầm tay bé giơ chiếc kính lên) và nói mẫu thật rõ ràng, nhấn giọng ở cuối câu: “Cái này của ai?” (hoặc “Của ai đây ạ?”).
-
Chờ 2–3 giây để bé bắt chước nói theo.
Bước 3: Trả lời + Trao trả đồ để nhận tương tác vui (Củng cố)
-
Ngay khi bé phát âm câu hỏi, bạn chỉ ngay về phía Bố và trả lời hào hứng: “À! Của Bố đấy!”
-
Hướng dẫn bé mang chiếc kính đưa tận tay cho Bố đeo. Khi nhận kính, Bố lập tức khen ngợi, vỗ tay, thơm má hoặc cù lét bé. (Trẻ tự kỷ rất thích cảm giác hoàn thành nhiệm vụ — đặt đồ đúng chỗ và nhận được phản ứng tán thưởng mạnh mẽ từ người nhận).
Bước 4: Giảm dần sự trợ giúp (Fading) Lần lượt lấy các món đồ tiếp theo trong giỏ ra (kẹp tóc của mẹ, mũ của bé…):
-
Mức 1 (Nhắc toàn câu): Giơ món đồ lên và làm mẫu “Cái này của ai?” -> Bé nói theo.
-
Mức 2 (Nhắc từ đầu): Khi bé cầm món đồ lên, bạn chỉ vào món đồ và gợi ý khẩu hình “Cái này của…” -> Bé tự bật ra “…ai?”.
-
Mức 3 (Tự chủ động): Đưa cho bé lấy 1 món đồ trong giỏ, bạn nghiêng đầu, nhướng mày nhìn bé và nhìn sang mọi người xung quanh (im lặng chờ 3–5 giây) -> Bé tự giơ đồ lên hỏi “Cái này của ai?” trước khi mang đi phát.
3. Bốn tình huống thực tế giúp bé ứng dụng tự nhiên mỗi ngày
4. Hai lưu ý quan trọng khi dạy câu hỏi về sự sở hữu
-
Tránh nhầm lẫn đại từ (“Của con” và “Của mẹ”): Trẻ tự kỷ rất dễ nhại lời nguyên xi. Khi bé hỏi “Cái này của ai?”, nếu món đồ đó là của chính bé và bạn trả lời “Của con”, bé có thể hiểu nhầm chữ “con” dùng cho tất cả mọi thứ.
-
Cách khắc phục: Trong giai đoạn đầu, khi trả lời hãy dùng Tên riêng / Danh từ xưng hô cố định (Ví dụ: “Của Bố”, “Của Mẹ”, “Của Bi [tên bé]”) kèm theo hành động vỗ nhẹ vào ngực người đó. Khi bé đã phân biệt vững rồi mới đổi sang dạy đại từ “Của con / Của tớ”.
-
-
Đừng hỏi khi bé đang muốn chiếm hữu món đồ: Nếu bạn cầm một món đồ chơi mới tinh hoặc viên kẹo hấp dẫn rồi bắt bé hỏi “Cái này của ai?”, bé sẽ chỉ tập trung đòi lấy bằng được (“Của con! Cho con!”) mà không học được cách đặt câu hỏi. Hãy bắt đầu bằng những đồ dùng cá nhân quen thuộc của người lớn (kính, mũ, dép, cặp tóc, khẩu trang) để bé đóng vai “người giúp đỡ trả lại đồ” một cách vui vẻ.
Hệ thống 5 câu hỏi nền tảng cho bé (Từ dễ đến khó)
Vậy là bạn đã có trọn bộ 5 tình huống cốt lõi để phát triển tư duy đặt câu hỏi cho bé:
-
Cái gì đây ạ? (Khám phá tên đồ vật bị giấu)
-
Ai đây ạ? (Khám phá người/nhân vật đang trốn)
-
[Tên vật] ở đâu rồi ạ? (Tìm kiếm vật bị thiếu trong hoạt động)
-
Cái này của ai? (Xác định chủ nhân của đồ vật đặt nhầm chỗ)
-
Tại sao lại thế ạ? (Tìm nguyên nhân khi có sự cố bất thường)
Nguồn: Can thiệp thực chiến và hỗ trợ tổng hợp từ AI.
Dạy bé hỏi câu “Con mượn cái này được không ạ?”
Để dạy câu hỏi “Con mượn cái này được không ạ?” (hoặc rút gọn là “Cho con mượn?” / “Mượn được không ạ?”), bản chất giao tiếp đã chuyển từ tìm kiếm thông tin sang xin phép và thương lượng xã hội.
Thử thách lớn nhất ở trẻ tự kỷ, chậm phát triển là tính xung động: khi thích một món đồ người khác đang cầm, trẻ thường lao vào giật lấy ngay hoặc ăn vạ nếu không lấy được. Vì vậy, nguyên tắc cốt lõi là “Chặn nhẹ hành vi giật đồ + Trao quyền sở hữu ngay lập tức khi bé dùng lời nói” để bé nhận ra: Hỏi mượn bằng lời là cách nhanh nhất và dễ nhất để có được món đồ, nhanh hơn cả việc giằng co hay khóc lóc.
1. Điều kiện cần & Rút gọn câu theo khả năng của bé
Câu “Con mượn cái này được không ạ?” dài tới 7 âm tiết. Khi bé đang rất thèm món đồ trên tay bạn, việc bắt bé nói một câu quá dài sẽ dễ làm bé cáu gắt và bùng nổ hành vi. Hãy chia nấc thang độ dài phù hợp với bé hiện tại:
-
Mức cơ bản (2–3 từ): “Cho mượn ạ” / “Mượn nhé ạ” / “Con mượn nhé”.
-
Mức trung bình (4–5 từ): “Cho con mượn nhé ạ?” / “Mượn cái này nhé?”.
-
Mức hoàn chỉnh (6–7 từ): “Con mượn cái này được không ạ?”
2. Quy trình 4 bước thực hiện (Tình huống: Chơi song song)
Chuẩn bị: 2–3 món đồ chơi phát sáng, phát nhạc hoặc đất nặn, bút màu mà bé thích. Bạn ngồi ngay cạnh bé và tự chơi một món đồ thật hào hứng, tạo âm thanh vui nhộn để thu hút sự chú ý của bé.
Bước 1: Thu hút và Chặn nhẹ hành vi giật đồ (Blocking)
-
Bạn cầm món đồ chơi (ví dụ: máy bấm nhạc hoặc xe ô tô dây cót) chơi một cách say sưa: “Ôi, xe chạy nhanh chưa này, thích quá!”
-
Khi bé nhìn thấy và đưa tay định giằng lấy món đồ trên tay bạn, bạn giữ chắc món đồ lại (hoặc hơi thu nhẹ tay về phía ngực, đặt bàn tay còn lại chạm nhẹ vào tay bé để ngăn bé giật), nhưng gương mặt vẫn thật vui vẻ, thân thiện (không cau mày hay mắng “Không được giật!”).
Bước 2: Làm mẫu cử chỉ + Lời nói ngay lập tức
-
Ngay khoảnh khắc tay bé bị chặn lại và bé nhìn bạn, bạn hướng dẫn hai bàn tay bé mở ra (hoặc chỉ vào món đồ) và nói mẫu thật rõ ràng, chậm rãi: “Con mượn cái này được không ạ?” (hoặc “Cho con mượn nhé ạ?”).
-
Chờ 2–3 giây để bé bắt chước nói theo.
Bước 3: Đưa đồ ngay lập tức (Củng cố tức thì)
-
Ngay giây phút bé phát âm theo (dù chưa tròn vành rõ chữ), bạn lập tức nở nụ cười tươi, gật đầu cái rụp: “Được chứ! Cho con mượn này!” và trao ngay món đồ vào tay bé.
-
Để bé thoải mái chơi món đồ đó trong 30–60 giây. (Bước này cực kỳ quan trọng: Ở giai đoạn đầu mới học câu hỏi, 100% số lần bé hỏi mượn đều phải được đồng ý ngay để não bộ bé ghi nhận rằng câu hỏi này có “sức mạnh” mang lại đồ chơi).
Bước 4: Đổi lượt và Giảm dần sự trợ giúp (Fading) Sau khi bé chơi khoảng 1 phút, bạn lấy một món đồ chơi thứ hai còn hấp dẫn hơn ra chơi để bé lại muốn đổi, hoặc chính bạn làm mẫu hỏi bé: “Mẹ mượn cái này được không?” rồi cầm lại đồ chơi để bắt đầu lượt tập tiếp theo:
-
Mức 1 (Nhắc toàn câu): Chặn nhẹ tay -> Làm mẫu cả câu -> Bé nói theo -> Trao đồ.
-
Mức 2 (Nhắc từ mở đầu): Khi bé đưa tay ra xin, bạn giữ nhẹ đồ chơi, nhướng mày và mớm từ “Con mượn…” -> Bé tự nối tiếp “…cái này được không ạ?”.
-
Mức 3 (Nhắc bằng cử chỉ chờ đợi): Khi bé tiến lại gần muốn lấy đồ trên tay bạn, bạn hơi giữ đồ lại và nhìn bé với ánh mắt mong đợi (im lặng 3 giây) -> Bé tự bật ra câu hỏi mượn trước khi chạm vào đồ.
3. Bốn tình huống “Vàng” để luyện tập trong sinh hoạt hàng ngày
Để bé không nghĩ đây chỉ là bài tập với mẹ, hãy tạo ra các tình huống cần “mượn công cụ” trong đời sống:
4. Ba lưu ý sống còn để tránh bé ăn vạ khi học câu này
-
Tuyệt đối không từ chối (“Không được!”) ở giai đoạn mới dạy: Nhiều phụ huynh muốn rèn tính kiên nhẫn nên khi bé vừa vất vả nói được câu “Con mượn được không ạ?”, bố mẹ lại trả lời “Không được, mẹ đang chơi mà!”. Điều này sẽ dập tắt ngay lập tức động lực nói của trẻ tự kỷ (bé sẽ nghĩ: “Nói mỏi cả miệng mà cũng chẳng lấy được đồ, thà giật luôn cho nhanh”). Chỉ tập cho bé làm quen vớiคำ trả lời “Chờ một chút nhé” khi bé đã nói câu hỏi mượn cực kỳ thành thạo và tự giác trong ít nhất 2–3 tuần.
-
Đừng đợi đến khi bé đã khóc gào mới bắt nói: Nếu bạn giữ đồ quá lâu khiến bé cáu gắt, lăn ra đất ăn vạ rồi mới ép bé nói “Con nói cho mượn đi rồi mẹ đưa”, bé sẽ liên kết câu nói này với sự ức chế. Hãy chặn nhẹ và làm mẫu ngay ở giây đầu tiên khi bé vừa đưa tay ra và tâm trạng vẫn đang bình tĩnh, vui vẻ.
-
Làm gương ngược lại cho bé: Hàng ngày, mỗi khi bạn muốn cầm vào món đồ chơi bé đang cầm trên tay, bạn cũng hãy hỏi bé thật rõ ràng: “Mẹ mượn cái này được không?”, chờ 1–2 giây rồi mới cầm lấy, chơi một chút khoảng 5 giây rồi trả lại ngay cho bé kèm lời cảm ơn. Bé sẽ học được hai điều: câu hỏi đó dùng như thế nào, và việc “cho mượn” không có nghĩa là “mất luôn”.
Nguồn: AI và kinh nghiệm can thiệp thực tế.
Dạy con hỏi câu Đến lượt con chưa?”
Để dạy câu hỏi “Đến lượt con chưa ạ?” (hoặc rút gọn là “Đến lượt con chưa?” / “Lượt con chưa?”), mục tiêu cốt lõi là giúp trẻ làm chủ kỹ năng luân phiên (Turn-taking) và kiểm soát sự bốc đồng (chờ đợi).
Trẻ tự kỷ, rối loạn ngôn ngữ thường gặp khó khăn với khái niệm thời gian trừu tượng — khi người khác đang chơi, trẻ dễ nghĩ rằng mình bị tước mất đồ chơi vĩnh viễn nên sẽ lao vào giật lại hoặc khóc ăn vạ. Nguyên tắc vàng để dạy câu này là “Lượt của người lớn phải cực kỳ ngắn (chỉ 3–5 giây) + Dùng dấu hiệu đếm ngược rõ ràng” để bé hiểu rằng: Chờ một chút xíu rồi hỏi câu này là sẽ đến lượt mình ngay.
1. Điều kiện cần & Rút gọn câu theo khả năng của bé
-
Bé đã có thể ngồi chơi chung một hoạt động với người lớn trong khoảng 2–3 phút.
-
Bé đã quen với khái niệm luân phiên cơ bản qua hành động (Mẹ làm 1 lần – Con làm 1 lần).
-
Chia bậc độ dài câu nói:
-
Mức cơ bản (2 từ): “Lượt con?” / “Con nhé?” (kèm cử chỉ vỗ nhẹ vào ngực mình).
-
Mức trung bình (3–4 từ): “Đến lượt con chưa?”
-
Mức hoàn chỉnh (5 từ): “Đến lượt con chưa ạ?”
-
2. Quy trình 4 bước thực hiện (Tình huống: Trò chơi có điểm dừng ngắn)
Chuẩn bị: Chọn những trò chơi có hành động ngắn, dứt khoát và tạo hiệu ứng vui mắt ngay lập tức (Ví dụ: Cầu trượt thả bóng/thả xe ô tô, đập bóng xuống lỗ, thổi bong bóng xà phòng, bấm nút đồ chơi bật nhảy như chú hải tặc đâm kiếm, hoặc xếp tháp gỗ). Tránh dùng các trò chơi kéo dài không có điểm dừng rõ ràng (như tô màu hay ôm thú bông).
Bước 1: Thực hiện lượt của người lớn thật nhanh và hấp dẫn
-
Bạn cầm quả bóng (hoặc chiếc xe), vỗ nhẹ vào ngực mình và tuyên bố rõ ràng: “Lượt của mẹ!”
-
Thả quả bóng lăn xuống cầu trượt (chỉ mất khoảng 3 giây) và reo vui: “Chíuuu! Xong rồi!”
-
Cầm ngay quả bóng tiếp theo lên đặt ở đầu cầu trượt nhưng giữ nguyên tay ở đó (chưa thả) và nhìn về phía bé.
Bước 2: Chặn nhẹ + Làm mẫu câu hỏi kèm cử chỉ vỗ ngực
-
Ngay khoảnh khắc bé nhổm người lên, vươn tay định lấy quả bóng để thả, bạn hơi giữ nhẹ bóng lại.
-
Tay kia của bạn cầm nhẹ bàn tay bé vỗ vào ngực bé (cử chỉ báo hiệu “con/tớ”), đồng thời nói mẫu thật rõ ràng với ngữ điệu hỏi: “Đến lượt con chưa ạ?”
-
Chờ 2–3 giây để bé bắt chước nói theo (và vỗ vào ngực).
Bước 3: Trao quyền chơi ngay lập tức (Củng cố tức thì)
-
Ngay giây phút bé bật ra câu hỏi “Đến lượt con chưa ạ?”, bạn lập tức buông tay, đưa ngay quả bóng cho bé và reo lên hào hứng: “Rồi! Đến lượt con đấy!”
-
Để bé tự tay thả quả bóng và tận hưởng niềm vui. (Việc được chơi ngay lập tức sau khi hỏi giúp não bộ của bé liên kết chặt chẽ: Hỏi câu này = Được nhận lượt chơi hợp pháp mà không cần tranh giành).
Bước 4: Lặp lại luân phiên và Giảm dần lời nhắc (Fading) Cứ 1 lượt mẹ (3 giây) lại đến 1 lượt con. Sau 5–7 vòng luân phiên:
-
Mức 1 (Nhắc toàn câu + Cử chỉ): Bạn hướng dẫn bé vỗ ngực và nói mẫu “Đến lượt con chưa ạ?” -> Bé làm và nói theo.
-
Mức 2 (Nhắc cử chỉ + Từ mở đầu): Khi mẹ vừa thả bóng xong, bạn vỗ nhẹ vào ngực bé và mớm lời “Đến lượt…” -> Bé tự nói tiếp “…con chưa ạ?”.
-
Mức 3 (Tự chủ động): Mẹ vừa chơi xong lượt của mình thì cầm bóng dừng lại, nhìn bé với ánh mắt chờ đợi (im lặng 3 giây) -> Bé tự vỗ ngực và hỏi “Đến lượt con chưa ạ?”.
3. Bốn tình huống mở rộng cực kỳ hiệu quả trong sinh hoạt & vận động
Trẻ tự kỷ học câu hỏi này nhanh nhất khi được kết hợp với vận động thể chất (vì vận động mang lại cảm giác hưng phấn cao):
4. Ba bí quyết giúp bé không bị mất kiên nhẫn khi chờ đến lượt
-
Quy tắc “3 giây cho người lớn – 15 giây cho bé”: Ở giai đoạn đầu, khả năng chịu đựng sự chờ đợi của trẻ rất thấp. Lượt của bạn chỉ nên diễn ra chớp nhoáng (2–3 giây) như một cái cớ để tạo tình huống cho bé hỏi, còn khi đến lượt bé, hãy để bé tận hưởng lâu hơn (10–15 giây). Khi bé đã thành thạo việc đặt câu hỏi, bạn mới kéo dài dần lượt của mình lên 5 giây, 10 giây.
-
Sử dụng “Thẻ lượt chơi” (Visual Turn Card) nếu bé khó nhớ bằng lời: Với những bé có xu hướng thị giác mạnh, bạn có thể dùng một vật làm biểu tượng (ví dụ: một chiếc vòng tay to hoặc một tấm thẻ dán hình mặt cười). Ai cầm thẻ người đó được chơi. Khi bạn vừa chơi xong và cầm tấm thẻ giơ lên trước mặt bé, đó là tín hiệu trực quan cực kỳ rõ ràng để bé bật ra câu hỏi “Đến lượt con chưa ạ?” và nhận lấy tấm thẻ cùng đồ chơi.
-
Phân biệt rõ “Con” và “Mẹ” trong cử chỉ: Khi bạn nói “Lượt của mẹ”, hãy lấy tay bạn vỗ vào ngực bạn. Khi bạn làm mẫu cho bé câu “Đến lượt con chưa ạ?”, hãy cầm tay của chính bé vỗ vào ngực của bé (tuyệt đối không lấy tay bạn vỗ vào ngực bạn khi đang nói chữ “con”, vì bé sẽ bắt chước y hệt cử chỉ đó hoặc hiểu nhầm chữ “con” là chỉ mẹ).
Tổng kết lộ trình 6 câu hỏi giao tiếp xã hội của bé
Đến đây, bạn đã trang bị cho bé một bộ công cụ giao tiếp rất toàn diện từ cơ bản đến nâng cao:
-
Nhóm khám phá thế giới: Cái gì đây ạ? (Vật) – Ai đây ạ? (Người) – [Tên vật] ở đâu rồi ạ? (Vị trí) – Tại sao lại thế ạ? (Nguyên nhân).
-
Nhóm ranh giới & tương tác xã hội: Cái này của ai? (Sở hữu) – Con mượn cái này được không ạ? (Xin phép) – Đến lượt con chưa ạ? (Luân phiên & Chờ đợi).
Tham khảo: Kiến thức can thiệp thực tế và hỗ trợ từ AI.
Dậy con nói Nhu cầu Thiết yếu (Ăn, uống, vệ sinh)
Dưới đây là danh sách chi tiết và mở rộng cho Nhóm 1: Nhu cầu Thiết yếu, một trong 6 nhóm nên học đầu tiên, được chia theo mục đích giao tiếp và môi trường sinh hoạt của bé, giúp bé bị chậm nói, rối loạn ngôn ngữ nhanh hoà nhập với môi trường gia đình.
I. ĂN UỐNG
1. Từ đơn (1 âm tiết)
-
Nhóm Danh từ (Đồ vật, thức ăn):
-
Đồ ăn/uống: Cơm, cháo, sữa, nước, bánh, kẹo, thịt, cá, canh, bánh kem, chocolate, sữa chua, phô mai,…
📌 Lưu ý: Khi bạn cho con ăn hay uống bất cứ cái gì, hãy dạy con luôn từ đấy. Lưu ý chỉ nói từ đơn và chỉ vào đồ vật; nếu nói nhiều từ thì cần luôn nhấn mạnh khi nói đến danh từ cần dạy.
- Đồ dùng: Bát (chén), thìa (muỗng), cốc (ly), đũa, đĩa, yếm.
-
Đồ ăn/uống: Cơm, cháo, sữa, nước, bánh, kẹo, thịt, cá, canh, bánh kem, chocolate, sữa chua, phô mai,…
-
Nhóm Động từ (Hành động) – Cần ưu tiên dạy mạnh:
- Ăn, măm, uống, hút (ống hút), gạt, xúc, mút,…
- Bóc (bánh, kẹo), mở (hộp), đậy (nắp).
- Lấy, xin, cho, đút, cắn, nhai, nuốt.
- Thổi (khi nóng), cất, lau.
-
Nhóm Tính từ/Trạng từ (Trạng thái, cảm giác):
- Nóng, lạnh, ngon, chua, ngọt, cay, đắng, mặn,…
- Nữa (muốn thêm), hết (đã xong/hết sạch), no.
2. Câu 2 từ (Nguyên tắc ghép: Động/Tính từ + Danh từ)
- Yêu cầu hành động: Lấy thìa, bóc sữa, mở hộp, đút cơm, rót nước, lấy bánh, xé giấy.
- Bày tỏ nhu cầu: Uống nước, ăn cơm, uống sữa, măm cháo, xin bánh.
- Nêu tình trạng: Nóng quá, hết rồi, no rồi, ngon quá, rớt/rơi rồi, đổ nước, tay bẩn.
- Đòi hỏi thêm: Ăn nữa, sữa nữa, uống nữa.
II. VỆ SINH CÁ NHÂN
1. Từ đơn (1 âm tiết)
-
Nhóm Danh từ:
- Bô, bồn, nước, vòi.
- Giấy, khăn, tã (bỉm), quần, áo.
- Tay, mặt, mũi, miệng (những chỗ hay bị bẩn lúc ăn/chơi).
- Xà phòng (bông), dầu gội, sữa tắm.
-
Nhóm Động từ:
- Tè, ị, rặn.
- Rửa, lau, chùi, xoa.
- Cởi (quần, áo), mặc, kéo (khóa/quần).
- Xả (nước), vứt (rác).
-
Nhóm Tính từ/Trạng từ:
- Ướt, dơ (bẩn), thúi (hôi), sạch.
- Đau, ngứa, buồn.
2. Câu 2 từ (Nguyên tắc ghép: Động/Tính từ + Danh từ)
- Báo cáo nhu cầu: Đi tè, ị bô, đau bụng, buồn tè.
- Yêu cầu trợ giúp vệ sinh: Cởi quần, kéo quần, mặc áo, thay bỉm.
- Thực hiện hành động: Rửa tay, lau miệng, xả nước, vứt rác, lau mặt, rửa đít.
- Nêu tình trạng: Ướt quần, tay bẩn, thúi quá, ướt áo.
💡 Chiến lược dạy “Từ bản lề” (Pivot Words)
Với danh sách mở rộng này, bạn có thể áp dụng chiến lược Từ bản lề. Bạn chọn 1 Động từ cốt lõi (ví dụ từ MỞ) và ghép với nhiều Danh từ khác nhau trong ngày để dạy con:
- Đứng trước cửa phòng: “MỞ… cửa”
- Ăn vặt: “MỞ… hộp”
- Uống nước: “MỞ… nắp”
- Lấy đồ trong balo: “MỞ… cặp”
👉 Việc lặp lại động từ “MỞ” ở nhiều bối cảnh sẽ giúp não bộ của bé tự kỷ hiểu được chức năng của từ này nhanh hơn rất nhiều.
Nguồn tham khảo: Kiến thức thực tế dạy con và những gợi ý từ AI.
Dậy con nói Nhóm câu Yêu cầu Sự trợ giúp & Giao tiếp Cốt lõi
Nhóm này đóng vai trò như một “chiếc chìa khóa” để mở ra sự tương tác. Trẻ tự kỷ thường có xu hướng tự giải quyết vấn đề (kéo ghế để với đồ, tự cạy hộp) hoặc kéo tay người lớn đặt vào đồ vật thay vì dùng lời nói (đây gọi là dùng người lớn như một công cụ). Việc dạy từ vựng ở nhóm này sẽ giúp con phá vỡ thói quen đó.
Chúng ta sẽ chia Nhóm 2 thành 3 tiểu mục cực kỳ quan trọng:
I, GỌI NGƯỜI & THU HÚT SỰ CHÚ Ý
Đây là bước đầu tiên để giao tiếp: Phải gọi được người khác thì mới nhờ được.
1. Từ đơn (1 âm tiết)
-
Nhóm Danh từ (Đại từ chỉ người):
-
Mẹ, Ba (Bố), Bà, Ông, Cô (cô giáo), Anh, Chị.
-
Tên của con (để con nhận biết khi được gọi).
-
-
Nhóm Động từ:
-
Bế, ẵm, cõng, ôm.
-
Nhìn, xem, ra (đây).
-
-
Nhóm Từ chức năng/Cảm thán:
-
Ơi, Dạ, Có, Đây.
-
2. Câu 2 từ (Ghép Người + Hành động / Cảm thán)
-
Gọi người: Mẹ ơi, Ba ơi, Cô ơi, Bà ơi, Chị ơi
-
Đòi hỏi sự chú ý/âu yếm: Bế con, mẹ bế, ôm con, cõng con, dắt tay con,…
-
Kéo sự chú ý vào đồ vật: Nhìn này, xem này, ra đây, mẹ ra.
II, YÊU CẦU TRỢ GIÚP THAO TÁC (Khi gặp khó khăn)
Được dùng khi đồ chơi bị hỏng, đồ ăn trong hộp đậy chặt, hoặc đồ để trên cao ngoài tầm với.
1. Từ đơn (1 âm tiết)
-
Nhóm Động từ (Chìa khóa của nhóm này):
-
Giúp (từ này cực kỳ quan trọng).
-
Mở, bóc, vặn (nắp), tháo, gỡ (khi bị rối/kẹt).
-
Lấy, nhặt, cất.
-
Bật, tắt (tivi, quạt, đèn, đồ chơi phát nhạc).
-
Xỏ (giày/dép), mặc, cài (khuy áo).
-
-
Nhóm Danh từ:
-
Tay, chân (ví dụ: bị kẹt tay).
-
Đồ chơi, tivi, đèn, quạt, cửa, giày, tất (vớ).
-
-
Nhóm Tính từ / Trạng thái:
-
Khó, kẹt, hỏng, cao.
-
2. Câu 2 từ (Ghép Động/Tính từ + Danh từ)
-
Xin giúp đỡ chung: Giúp con, giúp bé, làm giúp.
-
Trợ giúp thao tác: Mở hộp, bóc kẹo, vặn nắp, bật lên, tắt đi, tháo ra.
-
Trợ giúp lấy đồ: Lấy đồ, lấy bóng, nhặt lên.
-
Báo cáo tình trạng để nhờ vả: Khó quá, kẹt rồi, hỏng rồi, cao quá.
III, GIAO TIẾP CỐT LÕI (Điều hướng hoạt động)
Giúp con thể hiện ý chí của mình: Có muốn làm tiếp không? Có thích không?
1. Từ đơn (1 âm tiết)
-
Nhóm Động từ (Thể hiện mong muốn):
-
Muốn, thích, cần.
-
-
Nhóm Từ chức năng (Khẳng định/Phủ định/Tình trạng):
-
Có, không.
-
Nữa (muốn thêm/lặp lại).
-
Rồi (đã xong), chưa, hết.
-
Xong, dừng.
-
2. Câu 2 từ
-
Đồng ý / Từ chối nhẹ nhàng: Có ạ, không ạ, muốn chơi, không thích, không muốn.
-
Điều khiển tiến độ: Chơi nữa, làm nữa, hát nữa, xem nữa.
-
Kết thúc hoạt động: Xong rồi, hết rồi, chưa xong, cất đi, dừng lại.
💡 Chiến lược dạy “Kéo tay thành Bật âm” (Từ Hành vi sang Ngôn ngữ)
Với nhóm này, lỗi hay gặp nhất là bé sẽ cầm tay mẹ, kéo lại chỗ cái hộp đồ chơi, đặt tay mẹ lên nắp hộp để mẹ mở (mà không nhìn mẹ, không nói gì).
Cách xử lý để gài bẫy dạy ngôn ngữ:
-
Khi con kéo tay mẹ đặt lên hộp, mẹ hãy nắm chặt tay lại, không mở hộp ngay.
-
Đưa hộp lên ngang tầm mắt mẹ để kích thích con giao tiếp mắt với mẹ.
-
Mẹ làm mẫu từ: “MỞ” (hoặc “Mẹ mở”). Nói to, rõ ràng, chậm rãi 1 lần.
-
Chờ 3-5 giây xem con có cố gắng phát âm theo không (dù chỉ là âm “M”, âm “Ơ” hoặc mấp máy môi).
-
Nếu con phát âm (hoặc có cố gắng) Lập tức mở hộp ngay và khen ngợi: “À đúng rồi, MỞ hộp! Mẹ mở nhé!”.
-
Nếu con khóc/cáu Mẹ nói lại chữ “MỞ” lần 2 rồi mở hộp, không ép quá lâu tránh meltdown, nhưng vẫn cho con thấy quy luật là “phải có âm thanh ‘mở’ thì hộp mới mở”.
Nguồn tham khảo: Kiến thức thực tế dạy con và những gợi ý từ AI.
Dậy con nói Nhóm câu Từ chối & Bảo vệ bản thân (Kỹ năng khước từ)
Trẻ tự kỷ nếu không biết cách dùng lời nói để từ chối sẽ rất dễ chuyển sang dùng hành vi tiêu cực (ném đồ, cắn, đập đầu, gạt phắt tay người lớn, la hét). Khi con học được cách nói “Không” hoặc “Thôi”, mức độ ăn vạ và căng thẳng của con sẽ giảm đi rõ rệt.
Dưới đây là 3 tiểu mục chi tiết cho nhóm này:
I, TỪ CHỐI MÓN ĂN, ĐỒ VẬT & HOẠT ĐỘNG
Giúp con nói lên nguyện vọng khi bị ép ăn món không thích hoặc khi con đã chơi đủ, muốn dừng lại.
1. Từ đơn (1 âm tiết)
-
Nhóm Từ chức năng / Phủ định (Nền tảng quan trọng nhất):
-
Không, Thôi, Đủ, Xong.
-
-
Nhóm Động từ:
-
Trả, Cất, Dừng, Bỏ, Buông.
-
-
Nhóm Tính từ / Trạng thái cơ thể (Giải thích lý do từ chối):
-
No, Mệt, Đắng, Cay, Nóng, Bẩn.
-
2. Câu 2 từ (Nguyên tắc ghép: Phủ định + Động từ / Trạng thái)
-
Phủ định trực tiếp: Không ăn, không uống, không chơi, không thích, không muốn.
-
Thông báo điểm dừng: Đủ rồi, thôi mà, xong rồi, cất đi, no rồi, mệt rồi.
-
Từ chối món ăn/đồ vật: Không lấy, bỏ ra, cất đồ.
II, BẢO VỆ ĐỒ CHƠI & RANH GIỚI CÁ NHÂN
Sử dụng khi bị bạn ở trường giật đồ chơi, bị người khác đụng vào người khi con chưa sẵn sàng, hoặc muốn giữ đồ của mình.
1. Từ đơn (1 âm tiết)
-
Nhóm Danh từ / Đại từ:
-
Con, Mẹ, [Tên của bé], Bạn.
-
-
Nhóm Động từ / Sở hữu:
-
Của (chỉ sự sở hữu), Giữ, Giành, Tránh, Buông.
-
-
Nhóm Từ chức năng / Mệnh lệnh:
-
Đừng, Thôi, Trả.
-
2. Câu 2 từ
-
Khẳng định quyền sở hữu: Của con, của [Tên bé], đồ con, bóng con.
-
Yêu cầu bạn/người khác dừng lại: Đừng giành, đừng lấy, trả con, đừng kéo, buông ra.
-
Yêu cầu khoảng cách: Đi ra, tránh ra, đừng đụng.
III, THÔNG BÁO QUÁ TẢI CẢM GIÁC & MỆT MỎI (Báo dừng kích thích)
Trẻ tự kỷ rất nhạy cảm với giác quan (âm thanh to, ánh sáng chói, chỗ đông người). Nhóm này giúp con báo động cho cha mẹ trước khi xảy ra tình trạng bùng nổ cảm xúc (meltdown).
1. Từ đơn (1 âm tiết)
-
Nhóm Tính từ / Cảm giác quá tải:
-
Ồn, Chói, Sợ, Đau, Mệt, Nóng, Lạnh.
-
-
Nhóm Động từ hành động:
-
Tắt, Che (mắt/tai), Đi (về), Bế.
-
2. Câu 2 từ
-
Báo cáo cảm giác khó chịu: Ồn quá, sợ quá, đau quá, chói quá, mệt rồi.
-
Yêu cầu thoát khỏi hoàn cảnh: Đi về, ra ngoài, tắt đi (tắt nhạc/tivi), mẹ bế.
💡 Chiến lược dạy “Đáp ứng ngay lập tức” (Huấn luyện Giao tiếp Chức năng)
Để con tin rằng “Dùng lời nói có hiệu quả hơn dùng hành vi”, trong thời gian đầu mới dạy:
-
Gài bẫy nhẹ: Đưa cho con một món ăn con không thích (hoặc một đồ chơi con đã chán).
-
Khi thấy con có dấu hiệu sắp đẩy tay mẹ hoặc nhăn mặt, bạn nhanh chóng làm mẫu cử chỉ (lắc đầu nhẹ) và nói to rõ: “KHÔNG” (hoặc “Không ăn”).
-
Ngay khi con lặp lại âm “Không” (dù chỉ là âm “K…” hoặc lắc đầu có bật âm), bạn hãy cất ngay món đó đi lập tức và khen: “Đúng rồi, không ăn thì cất đi!”.
-
Lưu ý vàng: Khi con đã dùng lời nói/bật âm từ chối đúng cách, người lớn phải tôn trọng lời từ chối đó ngay lập tức (ít nhất là trong giai đoạn học bật âm này). Nếu con nói “Không” mà mẹ vẫn cố ép ăn, con sẽ hiểu rằng lời nói vô tác dụng và sẽ quay lại dùng cách la hét hoặc ném chén.
Nguồn tham khảo: Kiến thức thực tế dạy con và những gợi ý từ AI.
Dạy con nói nhóm câu Hoạt động & Tương tác tại Trường Mầm non
Môi trường mầm non có mật độ kích thích giác quan cao và nhiều quy tắc tập thể. Việc dạy từ vựng cho nhóm này giúp con giảm bớt lo âu, biết cách tuân thủ nề nếp và bắt đầu xây dựng những mối quan hệ xã hội đầu đời với cô giáo, bạn bè.
I, ĐÓN – TRẢ TRẺ & CHÀO HỎI (Nghi thức xã hội đầu/cuối ngày)
Giúp con nhận biết sự chuyển giao giữa môi trường nhà và trường, giảm bớt cảm giác bị bỏ rơi khi cha mẹ đi về.
1. Từ đơn (1 âm tiết)
-
Nhóm Danh từ (Đại từ & Đồ dùng):
-
Cô, bạn, mẹ, ba, cặp (balo), dép, tủ.
-
-
Nhóm Động từ (Hành động xã hội):
-
Chào, về, cất, vào, bế, vẫy (tay), khoanh (tay).
-
-
Nhóm Từ chức năng / Lịch sự:
-
Ạ, dạ, ngoan.
-
2. Câu 2 từ
-
Chào hỏi khi đến/về: Chào cô, chào bạn, chào mẹ, con về.
-
Thực hiện thủ tục: Cất cặp, cất dép, vào lớp, vẫy tay.
-
Biểu lộ tình cảm/Nhu cầu: Mẹ đón, cô bế.
II, GIỜ HỌC, GIỜ VÒNG TRÒN & TUÂN THỦ NỀ NẾP
Giúp con hiểu các câu lệnh tập thể của cô giáo và tham gia vào hoạt động chung cùng các bạn.
1. Từ đơn (1 âm tiết)
-
Nhóm Danh từ:
-
Ghế, bàn, tranh, màu, kéo, giấy, đất (nặn), sách.
-
-
Nhóm Động từ (Lệnh tập thể):
-
Ngồi, đứng, hát, múa, vẽ, nặn, cất, nghe, nhìn, giơ (tay).
-
-
Nhóm Tính từ / Trạng thái:
-
Im (lặng), trật (tự), ngoan, đẹp.
-
2. Câu 2 từ (Nguyên tắc: Động từ + Danh từ / Mệnh lệnh)
-
Tuân thủ nề nếp: Ngồi xuống, đứng dậy, im lặng, khoanh tay, nhìn cô, lắng nghe.
-
Thực hiện hoạt động học: Tập vẽ, nặn đất, cất ghế, cất đồ.
-
Tương tác giờ học: Giơ tay, xin phát (giấy/màu).
III, GIỜ RA CHƠI & TƯƠNG TÁC CÙNG BẠN BÈ (Luân phiên & Chia sẻ)
Trẻ tự kỷ thường chơi song song (chơi một mình bên cạnh bạn) chứ chưa biết chơi tương tác. Nhóm này dạy con các từ chìa khóa để bắt đầu “chơi chung”.
1. Từ đơn (1 âm tiết)
-
Nhóm Danh từ:
-
Bạn, đồ (chơi), xe, bóng, lượt.
-
-
Nhóm Động từ (Hành động tương tác):
-
Cho, xin, mượn, trả, chơi, nhường, đẩy, đuổi.
-
-
Nhóm Từ chức năng (Chỉ lượt & Tương tác):
-
Cùng, chung, trước, sau, nữa.
-
2. Câu 2 từ
-
Kỹ năng xin xỏ / Mượn đồ: Xin bạn, cho con, mượn xe, mượn bóng.
-
Kỹ năng rủ rê / Chơi chung: Chơi chung, chơi cùng, chạy theo, đuổi bắt.
-
Kỹ năng luân phiên: Đến lượt, đợi chút, nhường bạn, xếp hàng.
IV, GIỜ ĂN & GIỜ NGỦ TRƯA TẠI TRƯỜNG
Giúp con tự lập trong các sinh hoạt tập thể tại lớp.
1. Từ đơn (1 âm tiết)
-
Nhóm Danh từ:
-
Khay, cơm, canh, thìa, đệm (chiếu), chăn, gối.
-
-
Nhóm Động từ:
-
Ăn, xúc, uống, nằm, ngủ, cất, lấy.
-
2. Câu 2 từ
-
Giờ ăn: Tự xúc, ăn hết, cất khay, lấy nước.
-
Giờ ngủ: Lấy gối, đắp chăn, nằm xuống, ngủ ngoan.
💡 Chiến lược phối hợp Nhà – Trường: “Bộ thẻ Visual Schedule & Đồng hành cùng cô giáo”
Trẻ tự kỷ học tốt nhất qua thị giác. Để giúp con tự tin giao tiếp ở trường, bạn có thể áp dụng 2 bước:
-
Tạo lịch trình bằng hình ảnh (Visual Schedule): Chụp ảnh thực tế các góc ở lớp của con (Góc dép, Tủ balo, Bàn ăn, Giường ngủ, Cô giáo). Ở nhà, mỗi tối hoặc sáng trước khi đi học, bạn giơ từng tấm ảnh ra và cùng con nói từ vựng tương ứng (Ví dụ: Chỉ vào ảnh tủ dép Nói: “CẤT DÉP”; Chỉ vào ảnh cô giáo Nói: “CHÀO CÔ”).
-
“Ủy quyền” cho cô giáo trao cơ hội bật âm: Nhờ cô giáo ở lớp không làm hộ con hoàn toàn. Ví dụ: Khi con muốn uống nước hoặc ăn thêm cơm, cô hãy đợi con mấp máy môi hoặc phát ra âm “NƯỚC” / “CƠM” mới đưa cho con, thay vì thấy con đứng nhìn là cô tự lấy giúp.
Nguồn tham khảo: Kiến thức thực tế dạy con và những gợi ý từ AI.
Dậy con nói Nhóm câu Sinh hoạt Hàng ngày tại Nhà (Routine Words)
Trẻ tự kỷ là những đứa trẻ của “thói quen” (routines). Các con học và ghi nhớ cực kỳ tốt nếu các sự việc diễn ra theo một trình tự có thể đoán trước. Vì vậy, lồng ghép từ vựng vào các nếp sinh hoạt hàng ngày là cách dạy tự nhiên nhất, ít áp lực nhất và có tần suất lặp lại cao nhất.
Chúng ta sẽ chia Nhóm 4 thành 4 tiểu mục dựa trên các khung giờ sinh hoạt cố định trong ngày:
I, TẮM RỬA & ĐÁNH RĂNG (Vệ sinh thân thể)
Đây là hoạt động tiếp xúc với nhiều cảm giác (nước, nhiệt độ, bọt), rất dễ để dạy các từ miêu tả trạng thái.
1. Từ đơn (1 âm tiết)
-
Nhóm Danh từ (Đồ dùng & Bộ phận cơ thể):
-
Nước, chậu (thau), vòi, khăn.
-
Xà phòng (bông), kem, bàn chải.
-
Đầu, tóc, mặt, tay, chân, răng.
-
-
Nhóm Động từ (Hành động):
-
Tắm, gội, rửa, lau.
-
Chà (đánh), xoa, dội, xả.
-
Bật, tắt (vòi nước).
-
-
Nhóm Tính từ / Cảm giác:
-
Sạch, bẩn (dơ), ướt, khô.
-
Ấm, lạnh, nóng.
-
2. Câu 2 từ (Ghép Động từ/Tính từ + Danh từ)
-
Gọi tên hoạt động: Đi tắm, rửa mặt, đánh răng, gội đầu, rửa tay.
-
Yêu cầu/Miêu tả hành động: Bật nước, tắt nước, xoa xà phòng, lau mặt, lau khô.
-
Nêu cảm giác: Nước lạnh, nước nóng, tay sạch, mặt bẩn, ướt rồi.
II, THAY & MẶC QUẦN ÁO
Hoạt động này rèn luyện cả vận động tinh (kéo, xỏ) và ngôn ngữ.
1. Từ đơn (1 âm tiết)
-
Nhóm Danh từ:
-
Quần, áo, bỉm (tã), tất (vớ), giày, dép, mũ (nón).
-
-
Nhóm Động từ:
-
Mặc, cởi, xỏ, kéo, cài, tháo.
-
Lấy, cất.
-
-
Nhóm Tính từ:
-
Chật, rộng, đẹp.
-
2. Câu 2 từ
-
Yêu cầu trợ giúp/Thực hiện: Mặc áo, cởi quần, xỏ tất, đi giày, đội mũ.
-
Chi tiết hành động: Kéo lên, kéo xuống, cài cúc (nút).
-
Đánh giá tình trạng: Áo bẩn, quần ướt, áo đẹp, chật quá.
III, CHUẨN BỊ ĐI NGỦ & THỨC DẬY
Giờ đi ngủ cần sự tĩnh lặng, từ vựng nên ngắn gọn, êm ái để tạo nếp thư giãn cho não bộ của con.
1. Từ đơn (1 âm tiết)
-
Nhóm Danh từ:
-
Giường, gối, chăn (mền), quạt, đèn.
-
Gấu (bông), sách, truyện.
-
-
Nhóm Động từ:
-
Ngủ, thức, dậy, nằm.
-
Đắp (chăn), ôm, nhắm (mắt).
-
Tắt, bật (đèn).
-
Đọc, kể.
-
-
Nhóm Tính từ / Trạng thái:
-
Tối, sáng, mệt.
-
2. Câu 2 từ
-
Chuẩn bị môi trường: Tắt đèn, bật quạt, đắp chăn, lên giường.
-
Hành động đi ngủ: Đi ngủ, nằm xuống, nhắm mắt, ôm gấu.
-
Giao tiếp trước/sau khi ngủ: Đọc truyện, ngủ ngon, dậy đi, sáng rồi.
IV, DỌN DẸP & KẾT THÚC HOẠT ĐỘNG
Giúp con thiết lập tính kỷ luật và hiểu rõ quy luật “Có bắt đầu thì phải có kết thúc”.
1. Từ đơn (1 âm tiết)
-
Nhóm Danh từ:
-
Đồ chơi, rổ (giỏ), thùng, rác.
-
-
Nhóm Động từ:
-
Cất, dọn, nhặt, vứt.
-
Xếp, bỏ.
-
-
Nhóm Từ chức năng / Đánh giá:
-
Xong, hết, gọn, sạch.
-
2. Câu 2 từ
-
Thực hiện lệnh: Cất đồ, dọn đi, vứt rác, nhặt lên.
-
Thông báo hoàn thành: Xong rồi, hết rồi, sạch rồi.
💡 Chiến lược dạy: “Tạm dừng chuỗi hành động quen thuộc” (Sabotage the Routine)
Bởi vì sinh hoạt hàng ngày lặp đi lặp lại như một cái máy, trẻ sẽ quen thuộc đến mức… không cần mở miệng nói cũng được việc. Để kích thích con bật âm, cha mẹ cần phải “phá bĩnh” (sabotage) thói quen đó một chút.
Cách thực hiện (Ví dụ với việc mặc áo/quần):
-
Bình thường bạn sẽ tròng áo qua đầu rồi kéo xuống luôn cho con.
-
Hôm nay, bạn tròng áo qua đầu con (che khuất mắt) và DỪNG LẠI, giữ nguyên tay không kéo xuống.
-
Con bị vướng, con sẽ khó chịu và cố kéo áo xuống hoặc ớ lên.
-
Ngay lúc đó, bạn làm mẫu từ: “KÉO” (hoặc “Cởi”).
-
Nếu con cố gắng bắt chước nói “Kéo” (hoặc chỉ phát âm “K..”, “E…”), bạn lập tức kéo áo xuống giúp con và cười tươi: “Đúng rồi, Kéo xuống!”.
Hoặc ví dụ với việc tắm:
-
Đưa xà phòng cho con nhưng chưa xả nước, chờ con đòi hỏi hoặc nhìn bạn thắc mắc. Bạn làm mẫu từ “BẬT” (bật nước) hoặc “NƯỚC”.
Nguyên lý ở đây là: Tạo ra một sự “chướng ngại” nhỏ, an toàn và hài hước trong một nếp sinh hoạt quen thuộc để con có lý do phải mở lời nhờ bạn giúp đỡ.
Ở nhà, trong 4 hoạt động trên (Tắm, Mặc đồ, Ngủ, Dọn đồ), bé nhà bạn thích thú (hoặc ít chống đối) hoạt động nào nhất? Chúng ta nên bắt đầu áp dụng chiến lược “Tạm dừng” ở hoạt động con thoải mái nhất nhé!
Nguồn tham khảo: Kiến thức thực tế dạy con và những gợi ý từ AI.
Dạy con nói nhóm câu Nhận diện Trạng thái Cơ thể & Cảm xúc
Trẻ tự kỷ thường gặp rất nhiều khó khăn trong việc nhận biết và gọi tên những gì đang diễn ra bên trong cơ thể mình (cảm giác giác quan, cơn đau, hoặc cảm xúc dâng trào). Khi không thể nói ra là mình đang “đau bụng”, “sợ tiếng ồn” hay “quá tải”, trẻ chỉ có một cách duy nhất để giải tỏa: khóc lóc, ăn vạ hoặc bùng nổ cảm xúc (meltdown).
Nhóm này giúp chuyển hóa những cảm giác mơ hồ bên trong thành từ ngữ cụ thể để trẻ gọi tên và nhờ cha mẹ giúp đỡ. Dưới đây là 3 tiểu mục chi tiết:
I, BÁO CÁO CẢM GIÁC CƠ THỂ & CƠN ĐAU (Physical Sensations)
Giúp con chỉ ra chính xác vị trí bị đau hoặc cảm giác khó chịu trên cơ thể thay vì chỉ khóc.
1. Từ đơn (1 âm tiết)
-
Nhóm Danh từ (Các bộ phận cơ thể dễ bị đau/mệt):
-
Bụng, đầu, tay, chân, mắt, tai, răng, họng, lưng, đít.
-
-
Nhóm Tính từ / Trạng thái cảm giác cơ thể:
-
Đau, ngứa, rát, tê, mệt, đói, khát, no.
-
Nóng, lạnh, cay, đắng.
-
-
Nhóm Động từ đi kèm:
-
Té (ngã), va, dập, kẹt, muỗi (đốt/chít).
-
2. Câu 2 từ (Nguyên tắc ghép: Trạng thái + Bộ phận cơ thể / Đại từ)
-
Báo vị trí đau/khó chịu: Đau bụng, đau tay, đau đầu, đau răng, ngứa chân, rát cổ, mệt quá.
-
Báo nhu cầu sinh lý cơ thể: Đói rồi, khát quá, nóng quá, lạnh quá, mệt rồi.
-
Giải thích nguyên nhân: Té ngã, muỗi đốt, kẹt tay, va bàn.
II, GỌI TÊN CẢM XÚC NỀN TẢNG (Basic Emotions)
Cảm xúc là thứ rất mơ hồ đối với trẻ tự kỷ. Chúng ta chỉ nên bắt đầu với 4 cảm xúc cơ bản nhất: Vui, Buồn, Sợ, Giận.
1. Từ đơn (1 âm tiết)
-
Nhóm Tính từ chỉ cảm xúc:
-
Vui, buồn, sợ, giận (tức), thích, ghét.
-
-
Nhóm Động từ biểu hiện cảm xúc:
-
Khóc, cười, sợ, hét, ôm.
-
-
Nhóm Trạng thái giác quan / Tâm lý:
-
Chói, ồn, hoảng, giật (mình).
-
2. Câu 2 từ
-
Gọi tên trạng thái bản thân: Con vui, con buồn, sợ quá, giận rồi, thích lắm, không thích.
-
Mô tả biểu hiện: Khóc rồi, cười to, sợ ma, ồn quá, chói quá.
III, YÊU CẦU XOA DỊU & ĐIỀU HOÀ CẢM XÚC (Co-regulation Requests)
Sau khi nhận biết được cảm xúc/sự khó chịu, con cần biết từ vựng để yêu cầu người lớn hỗ trợ mình bình tĩnh lại.
1. Từ đơn (1 âm tiết)
-
Nhóm Động từ (Hành động xoa dịu):
-
Thổi (cho bớt đau), xoa, ôm, gãi, vuốt, nắm (tay).
-
Dán (băng cá nhân), bôi (thuốc).
-
Bế, ra (ngoài), dỗ.
-
-
Nhóm Danh từ (Đồ vật giúp bình tĩnh):
-
Mẹ, ba, gấu, chăn, nước, thuốc.
-
2. Câu 2 từ
-
Yêu cầu hỗ trợ thể chất: Thổi đau, xoa bụng, gãi lưng, bôi thuốc, dán dán (băng gạc).
-
Yêu cầu xoa dịu tinh thần: Mẹ ôm, nắm tay, bế con, ôm gấu, đi ra.
IV, BẬT MÍ “BỘ THẺ CẢM XÚC & BẢNG CHỈ VỊ TRÍ ĐAU” (Body & Emotion Map)
Vì khi đau hoặc bùng nổ cảm xúc, não bộ của trẻ tự kỷ rơi vào trạng thái “quá tải” (stress), việc nhớ và phát âm ra từ ngữ rất khó khăn. Bạn nên làm sẵn 2 công cụ đơn giản này ở nhà:
-
Hình vẽ Cơ thể người đơn giản (Body Map): Vẽ hoặc in hình một bé trai đơn giản. Khi con ngã hoặc khóc gắt mà chưa nói được, bạn giơ hình ra và hỏi: “Đau ở đâu?”. Bạn chỉ vào bụng, tay, chân… Con chỉ cần chỉ tay vào vị trí đó trên hình, sau đó bạn hỗ trợ con bật âm: “ĐAU BỤNG” hoặc “ĐAU TAY”.
-
Dạy “Thổi” và “Xoa” làm hành vi thay thế: Khi con bị đau nhẹ, trẻ tự kỷ hay đập tay hoặc khóc ngất. Bạn hãy lập tức nắm nhẹ tay con, thổi nhẹ vào chỗ đau và nói: “Thổi… hết đau”. Dần dần, con sẽ học được cách chủ động đưa chỗ đau ra cho bạn và nói âm “THỔI” hoặc “XOA” để nhờ bạn giúp đỡ thay vì ngồi khóc.
Nguồn tham khảo: Kiến thức thực tế dạy con và những gợi ý từ AI.
Dạy con nói nhóm câu Vui chơi, Vận động & Tương tác xã hội
Môi trường ngoài trời và khu vui chơi là nơi trẻ có động lực giao tiếp cao nhất vì não bộ đang giải phóng dopamine qua các hoạt động vận động thô (chạy, nhảy, trượt). Đây là cơ hội vàng để biến sự hào hứng của con thành từ vựng thực tế.
I, TRÒ CHƠI VẬN ĐỘNG & THIẾT BỊ SÂN CHƠI
Dạy từ vựng gắn liền với các thiết bị quen thuộc tại sân chơi và hành động tương ứng.
1. Từ đơn (1 âm tiết)
-
Nhóm Danh từ (Thiết bị & Vật liệu):
-
Bóng, cầu (trượt), xích (đũ), nhún (bập bênh), cát, cỏ, nước, xe, thang.
-
-
Nhóm Động từ (Hành động vận động) – Ưu tiên dạy mạnh:
-
Đẩy, trượt, nhún, trèo, nhảy, chạy, ngã, quay, leo, thả.
-
-
Nhóm Tính từ / Trạng thái (Cảm giác vận động):
-
Cao, dốc, nhanh, chậm, mạnh, êm, sợ.
-
2. Câu 2 từ (Nguyên tắc ghép: Động từ + Danh từ / Trạng thái)
-
Yêu cầu hành động: Đẩy con, trượt xuống, trèo lên, nhún nhún, chạy nhanh, nhảy cao, leo thang.
-
Miêu tả cảm giác / Tình trạng: Cao quá, nhanh quá, dốc quá, ngã rồi, sợ quá.
II, TRÒ CHƠI TƯƠNG TÁC (Bong bóng xà phòng, đá bóng, trốn tìm)
Các trò chơi có tính luân phiên và tương tác qua lại giữa cha mẹ và con hoặc giữa con và bạn bè.
1. Từ đơn (1 âm tiết)
-
Nhóm Danh từ:
-
Bóng, bong (bóng), súng (súng nước/xà phòng), que, nước, bạn.
-
-
Nhóm Động từ:
-
Thổi, ném, đá, bắt, đập (vỡ), vỡ, tìm, trốn, đuổi, bắt.
-
-
Nhóm Tính từ / Từ chức năng:
-
To, bay, nhiều, hết, mất (rồi).
-
2. Câu 2 từ
-
Tạo tương tác / Đòi hỏi: Thổi bóng, đập vỡ, đá bóng, bắt bóng, ném đi, tìm con.
-
Miêu tả hiện tượng: Bóng bay, bóng to, hết bóng, mất rồi, vỡ rồi.
III, LUÂN PHIÊN, AN TOÀN & CHUYỂN ĐỔI HOẠT ĐỘNG
Giúp con học nề nếp công cộng, đảm bảo an toàn và không bị bùng nổ cảm xúc khi đến giờ phải đi về.
1. Từ đơn (1 âm tiết)
-
Nhóm Danh từ:
-
Lượt, bạn, đường, xe, cổng, tay.
-
-
Nhóm Động từ (Chỉ dẫn & An toàn):
-
Đợi, chờ, nhường, dừng, nắm (tay), buông, về, đổi (trò).
-
-
Nhóm Tính từ / Trạng thái:
-
Mệt, nóng, mồ (hôi), đau, xong.
-
2. Câu 2 từ
-
Quy tắc luân phiên & Tương tác: Đợi chút, đến lượt, nhường bạn, đổi trò.
-
An toàn & Chuyển đổi: Dừng lại, nắm tay, đi chậm, nguy hiểm, mệt rồi, đi về, cất xe.
💡 Chiến lược dạy: “Tạm dừng chuyển động” (The Pause & Wait Technique)
Hoạt động vận động có nhịp điệu (xích đu, bập bênh, trượt) là bối cảnh dễ dạy bật âm nhất trên đời. Bạn có thể áp dụng chiến lược này ngay chiều nay:
-
Với xích đu: Khi con đang ngồi trên xích đu và rất thích thú, bạn kéo xích đu về phía sau, giơ lên cao và DỪNG LẠI (không đẩy).
-
Con sẽ quay lại nhìn bạn với ánh mắt chờ đợi hoặc nhún nhảy đòi đẩy.
-
Bạn nhìn thẳng vào mắt con, cười tươi và nói rõ ràng từ: “ĐẨY” (hoặc “Đẩy con”).
-
Chờ 3 giây. Ngay khi con mấp máy môi hoặc phát ra bất kỳ âm thanh nào (dù chỉ là “Đ…”), bạn hãy đẩy xích đu ngay lập tức và reo hò: “ĐÚNG RỒI! ĐẨY NÈ!”.
-
Với cầu trượt: Giữ con lại ở đỉnh cầu trượt hoặc chắn ở chân cầu trượt, yêu cầu con bật âm “TRƯỢT” hoặc “XUỐNG” mới thả cho con trượt.
Nguồn tham khảo: Kiến thức thực tế dạy con và những gợi ý từ AI.
Dinh Dưỡng - Não Bộ
Trẻ tự kỷ thường gặp vấn đề về trục kết nối giữa não bộ và ruột non, dẫn đến không hấp thụ đủ dinh dưỡng cần thiết cho sự phát triển và hoạt động bình thường của não bộ. Với sự hỗ trợ hữu ích từ AI, chúng ta sẽ cùng nhau học tập về kiến thức chung về dinh dưỡng cho não bộ, để có định hướng bổ sung cần thiết và phù hợp cho con.
Nhóm dưỡng chất đóng vai trò sống còn cho sự phát triển não bộ trẻ
🧱 Đang xem Nhóm 1: "Gạch ngói" xây dựng cấu trúc não – Omega-3 (DHA và EPA)
• EPA (một dạng Omega-3 khác): Đóng vai trò chống viêm tuyệt vời, bảo vệ não khỏi các tổn thương.
• Ở trẻ tự kỷ: Bổ sung đủ Omega-3 thường được ghi nhận giúp cải thiện giao tiếp mắt và sự tập trung.
Các hợp chất điều phối toàn bộ hệ thống vận hành, bảo trì và cung cấp năng lượng cho não bộ
🛡️ Đang xem Chất quản lý số 1: Glutathione – "Hệ thống làm mát và dọn rác" vĩ đại nhất
Phổ Tự Kỷ Là Gì?
"Hiệu ứng sốt" (Fever effect) trong Rối loạn phổ tự kỷ
“Hiệu ứng sốt” (Fever effect) trong Rối loạn phổ tự kỷ (ASD – Autism Spectrum Disorder) là hiện tượng một bộ phận trẻ tự kỷ có sự thuyên giảm rõ rệt các triệu chứng cốt lõi khi cơ thể bị sốt (thường từ 38°C trở lên). Trẻ bất ngờ giao tiếp mắt sâu hơn, bật âm hoặc nói câu dài hơn, bình tĩnh, kết nối cảm xúc tốt hơn và giảm hẳn các hành vi định hình lặp đi lặp lại.
Ý nghĩa y học cốt lõi: Đối với cả giới khoa học lẫn các bậc phụ huynh, đây không chỉ là một hiện tượng sinh học kỳ lạ mà còn là bằng chứng sống động nhất cho thấy não bộ của trẻ tự kỷ không bị “tổn thương cấu trúc vĩnh viễn”. Các mạng lưới thần kinh đảm nhiệm ngôn ngữ và giao tiếp xã hội vẫn tồn tại nguyên vẹn trong não trẻ; chúng chỉ đang bị “kẹt” về mặt chức năng sinh hóa và hoàn toàn có thể vận hành trơn tru khi có một tác nhân mở khóa phù hợp.
Phần 1: Bức tranh Dịch tễ học – Hiệu ứng sốt phổ biến đến đâu và ai là người đáp ứng?
Lịch sử nghiên cứu hiệu ứng sốt trải qua hơn 40 năm, đi từ những ghi nhận truyền miệng đến các cuộc tranh luận dữ dội bằng dữ liệu lớn để trả lời câu hỏi: Bao nhiêu phần trăm trẻ tự kỷ thực sự có hiện tượng này?
- Giai đoạn ghi nhận sơ khai (1980–2012): Y văn thế giới lần đầu tiên ghi nhận chính thức hiện tượng này qua báo cáo của Sullivan (1980) và Cotterill (1985) khi chứng kiến trẻ tự kỷ trở nên hoạt ngôn và gắn kết lạ thường trong đợt sốt virus. Đến năm 2012, Fisch chứng minh hiệu ứng này còn xuất hiện ở cả trẻ mắc Hội chứng nhiễm sắc thể X dễ gãy (Fragile X syndrome).
- Nghiên cứu tiến cứu đầu tiên của Curran, Zimmerman và cộng sự (2007): Theo dõi 30 trẻ ASD trong cơn sốt ≥ 38°C và so sánh với 30 trẻ đối chứng. Kết quả gây tiếng vang lớn khi ghi nhận 83% (25/30) trẻ tự kỷ có cải thiện ít nhất một khía cạnh hành vi (giảm tăng động, giảm cáu kỉnh, giảm hành vi rập khuôn và tăng lời nói), nhưng các cải thiện này biến mất khi trẻ hạ sốt.
- Khảo sát dữ liệu lớn của UCSF – Grzadzinski, Catherine Lord và cộng sự (2018): Phân tích hồi cứu trên 2.152 trẻ tự kỷ từ kho dữ liệu di truyền Simons Simplex Collection cho thấy khoảng 17% (tương đương 1/6 số trẻ) có biểu hiện tốt lên khi sốt. Phân tích di truyền của UCSF chỉ ra nhóm này không có sự khác biệt về tỷ lệ đột biến gen mới (de novo mutations), nhưng về mặt lâm sàng, đây là những trẻ có năng lực nhận thức phi ngôn ngữ thấp hơn, ngôn ngữ hạn chế hơn và hành vi lặp lại nặng hơn.
- Cú “phản biện” bằng theo dõi thời gian thực của UCLA & UCSF – Byrne, Lord, Bishop và cộng sự (2022–2023): Nghi ngờ con số 17%–83% trước đó bị ảnh hưởng bởi sai số hồi tưởng (phụ huynh chỉ nhớ những lần hiếm hoi con ngoan đột xuất khi ốm), nhóm nghiên cứu theo dõi trực tiếp theo thời gian thực trên 141 trẻ ASD và 103 trẻ bình thường ngay lúc trẻ đang sốt. Kết quả cho thấy đại đa số trẻ tự kỷ cũng mệt mỏi, cáu gắt và thu mình hơn khi ốm giống như trẻ bình thường; chỉ có khoảng 2–6% (3/141 trẻ) thực sự cải thiện hành vi. Tuy nhiên, khi phân tích tiếp trên 3.687 gia đình, nhóm UCLA/UCSF khẳng định: Dù hiếm hơn suy nghĩ trước đây, hiệu ứng sốt là có thật 100% ở một “phân nhóm sinh học đặc thù” (neuroimmune subtype) – những trẻ có mẹ từng bị sốt/nhiễm trùng khi mang thai (MIA), gia đình có bệnh tự miễn, và bản thân trẻ hay bị rối loạn tiêu hóa, rối loạn giấc ngủ.
- Phát hiện mới nhất tại Bệnh viện Nhi Tây An, Trung Quốc – Chunyang Li và cộng sự (2026): Đánh giá mù đôi bằng thang đo ADOS-2 trên trẻ em tự kỷ Trung Quốc đã mang lại một phát hiện rất đáng khích lệ: Trong số những trẻ đáp ứng tích cực với sốt, có 76,92% chỉ cải thiện tạm thời, nhưng có tới 23,08% duy trì được các kỹ năng và sự tiến bộ hành vi ngay cả sau khi cơn sốt đã kết thúc.
Phần 2: Giải mã Cơ chế Sinh học – Điều gì thực sự diễn ra trong não trẻ khi sốt?
Khi một đứa trẻ bị sốt, có hai sự kiện diễn ra đồng thời: Hệ miễn dịch tiết ra các phân tử chống viêm và Nhiệt độ vật lý của cơ thể tăng lên. Giới khoa học hiện nay chia làm 3 nhánh nghiên cứu lớn giải thích cách hai yếu tố này “sửa lỗi” tạm thời cho não bộ tự kỷ:
1. Nhánh Miễn dịch – Thần kinh: Chìa khóa mang tên Cytokine IL-17A
- Đột phá từ MIT & Harvard (Reed, Gloria Choi, Jun Huh – Nature 2019, 2020): Thử nghiệm trên chuột tự kỷ cho thấy nếu chỉ làm tăng thân nhiệt đơn thuần ở nhóm chuột tự kỷ do miễn dịch thai kỳ (MIA) thì hành vi không đổi, nhưng khi gây sốt bằng phản ứng viêm (LPS), chuột lập tức khôi phục giao tiếp xã hội. Thủ phạm tạo nên phép màu này là phân tử miễn dịch Interleukin-17A (IL-17A). Khi sốt, tế bào miễn dịch tiết ra IL-17A đi qua hàng rào máu não, gắn thẳng vào các thụ thể tại vùng vỏ não cảm giác thân thể sơ cấp (S1DZ) – vùng não vốn bị kích thích quá mức ở trẻ tự kỷ. IL-17A đóng vai trò như một “chiếc phanh” làm dịu vùng S1DZ, trả lại sự cân bằng cho toàn bộ mạng lưới xã hội. Năm 2020, nhóm MIT chứng minh thêm: ở các dòng chuột tự kỷ do đột biến gen (Shank3, Cntnap2, Fmr1), cơ thể không tự tiết đủ IL-17A khi sốt, nhưng nếu đưa trực tiếp IL-17A vào não, triệu chứng tự kỷ của chúng cũng biến mất.
- Cơ chế Tiểu não từ Đại học Nam Kinh & ĐH Y Thủ Đô (Jun Yin, Chen Zhang et al., Molecular Psychiatry 6/2026): Mở rộng phát hiện của MIT, các nhà khoa học Trung Quốc phát hiện ngay tại tiểu não, các tế bào miễn dịch nội khu (Microglia) cũng tự tiết ra IL-17A tác động lên tế bào thần kinh Purkinje, giúp sửa chữa trực tiếp lỗi dẫn truyền khớp thần kinh và phục hồi hành vi xã hội.
2. Nhánh Nhiệt độ Vật lý & Kênh Ion: Khi sức nóng trực tiếp “hạ nhiệt” não bộ
Không phải mọi ca cải thiện đều nhờ hệ miễn dịch; nhiều dạng tự kỷ do gen lại đáp ứng trực tiếp với nhiệt độ vật lý:
- Cơ chế Kênh Kali trên gen Scn2a (Yiming Shen et al. – Viện Y tế Quốc gia Mỹ NIH, Molecular Psychiatry 7/2026): Ở mô hình tự kỷ mang đột biến gen Scn2a, các tế bào thần kinh vỏ não bị phóng điện hỗn loạn (excess spiking). Khi nhiệt độ não tăng lên mức sốt (38.5–39.5°C), sức nóng kích hoạt kênh cảm nhận nhiệt TRPV3 và mở kênh Kali, giúp dập tắt sự phóng điện quá mức và phục hồi hoàn toàn khả năng nhận thức, học tập mà không cần đến phản ứng nhiễm trùng.
- Cơ chế Phản ứng sốc nhiệt (HSPs) & Thụ thể AMPA trên gen IQSEC2 (Levy, Wagner et al. – Viện Technion Israel & UConn, 2021–2023): Nhiệt độ cao kích hoạt các Protein sốc nhiệt (Heat Shock Proteins) hoạt động như những “người thợ bảo trì” tế bào, làm giảm 50–60% protein Arf6-GTP dư thừa và khôi phục các thụ thể AMPA (GluA2) tại khớp thần kinh đồi thị, giúp cắt cơn co giật và giúp trẻ bật âm giao tiếp.
- Thử nghiệm thủy trị liệu trên người (Hollander et al. – ĐH Y Albert Einstein, 2013–2015): Ngâm 15 trẻ tự kỷ trong bồn nước ấm để nâng thân nhiệt nhẹ tương đương sốt (lên tới 38.9°C) mà không có nhiễm trùng vẫn giúp trẻ tăng rõ rệt khả năng tương tác xã hội và giảm hành vi định hình.
3. Nhánh Dẫn truyền Thần kinh & Chuyển hóa Tế bào
- Hệ thống Nhân lục – Noradrenaline (LC-NA) (Mehler & Purpura, 2009): Cơn sốt kích thích nhân lục (Locus Coeruleus) ở thân não tiết ra Noradrenaline, giúp trẻ thoát khỏi trạng thái quá tải cảm giác, tăng sự tập trung và điều tiết cảm xúc.
- Đánh thức Hormone gắn kết Oxytocin (Catherine Dulac Lab – Đại học Harvard, 2022–2025): Vùng dưới đồi trước vừa là trung tâm gây sốt của cơ thể, vừa là nơi chứa các tế bào tiết Oxytocin (hormone tình yêu và gắn kết xã hội). Khi cơn sốt khởi phát tại vùng dưới đồi, nó vô tình kích hoạt lại các tế bào thần kinh Oxytocin đang bị suy giảm chức năng ở trẻ tự kỷ.
- Khởi động lại “Phản ứng Nguy hiểm Tế bào” – CDR (Naviaux et al. – UC San Diego, 2017): Tế bào của trẻ tự kỷ bị kẹt trong trạng thái phòng vệ mãn tính (CDR) làm gián đoạn giao tiếp giữa các tế bào. Cơn sốt cấp tính hoặc thuốc Suramin giúp thiết lập lại quá trình chuyển hóa purin của ty thể, đưa tế bào về trạng thái bình thường.
- Giảm độc tính Glutamate & Hệ Endocannabinoid (Good 2011; Kerr 2013; Singh & Zimmerman 2014): Sốt làm tăng lưu lượng máu não, giảm nồng độ chất kích thích Glutamate dư thừa, tăng tiết Anandamide (chất tạo cảm giác bình an nội sinh) và kích hoạt con đường chống oxy hóa Nrf2.
Bảng Tổng hợp Các Cột mốc Nghiên cứu Khoa học về Hiệu ứng Sốt ở Trẻ Tự kỷ
| Nhóm Nghiên cứu / Cơ quan | Năm | Hướng tiếp cận | Cơ chế / Kết quả cốt lõi được chứng minh |
|---|---|---|---|
| Curran, Zimmerman et al. | 2007 | Lâm sàng tiến cứu | 83% (25/30) trẻ cải thiện hành vi khi sốt ≥ 38°C. |
| Mehler & Purpura | 2009 | Giải phẫu thần kinh | Sốt kích hoạt hệ thống Locus Coeruleus – Noradrenaline tái cân bằng mạng lưới não. |
| Singh, Zimmerman (Johns Hopkins) | 2014 | Thử nghiệm lâm sàng | Dùng Sulforaphane (bông cải xanh) giả lập phản ứng sốc nhiệt, cải thiện 34% hành vi bất thường. |
| Hollander et al. (Albert Einstein) | 2015 | Thử nghiệm lâm sàng | Ngâm nước ấm nâng thân nhiệt vật lý giúp giảm hành vi lặp lại, tăng giao tiếp. |
| Naviaux et al. (UC San Diego) | 2017 | Chuyển hóa tế bào | Thử nghiệm thuốc Suramin gỡ bỏ trạng thái “Phản ứng nguy hiểm tế bào” (CDR). |
| Grzadzinski, Lord et al. (UCSF) | 2018 | Dịch tễ & Di truyền | 17% trên 2.152 trẻ đáp ứng sốt; thường là trẻ có nhận thức phi ngôn ngữ thấp và hành vi nặng. |
| Reed, Choi, Huh (MIT & Harvard) | 2019, 2020 | Miễn dịch thần kinh | Phân tử miễn dịch IL-17A gắn vào vỏ não S1DZ giúp phục hồi giao tiếp ở chuột MIA và đột biến gen. |
| Byrne, Lord, Bishop (UCLA & UCSF) | 2022, 2023 | Theo dõi thời gian thực | Tỷ lệ thực tế không bị nhiễu trí nhớ là 2–6%, định hình phân nhóm “tự kỷ miễn dịch – thần kinh”. |
| Levy, Wagner et al. (Technion) | 2021–2023 | Gen & Liệu pháp nhiệt | Nhiệt độ cao làm giảm Arf6-GTP, phục hồi thụ thể AMPA trên mô hình đột biến gen IQSEC2. |
| Catherine Dulac Lab (Harvard) | 2022–2025 | Mạch thần kinh | Trung tâm gây sốt ở vùng dưới đồi kích hoạt lại mạng lưới tiết Oxytocin xã hội. |
| Chunyang Li et al. (BV Nhi Tây An) | 2026 | Lâm sàng mù đôi | 23,08% trẻ có hiệu ứng sốt giữ được đà tiến bộ hành vi ngay cả sau khi đã hết sốt. |
| Jun Yin et al. (ĐH Nam Kinh) | 2026 | Sinh học phân tử | Tế bào Microglia ở tiểu não tiết IL-17A tác động lên tế bào Purkinje giúp phục hồi hành vi xã hội. |
| Yiming Shen et al. (NIH – Mỹ) | 2026 | Điện sinh lý thần kinh | Nhiệt độ sốt kích hoạt kênh Kali & TRPV3, dập tắt phóng điện quá mức ở mô hình gen Scn2a. |
Phần 3: Giải pháp Thực tiễn và Chiến lược An toàn cho Cha mẹ có con Tự kỷ
Hiểu được cơ chế của hiệu ứng sốt mang lại cho cha mẹ một góc nhìn hoàn toàn mới để hỗ trợ con. Tuy nhiên, ranh giới giữa ứng dụng khoa học và sự nguy hiểm cho sức khỏe của trẻ rất mong manh, đòi hỏi cha mẹ phải tuân thủ các nguyên tắc y khoa nghiêm ngặt:
1. Nguyên tắc An toàn Tối thượng: Những điều TUYỆT ĐỐI KHÔNG LÀM
- Tuyệt đối không cố tình làm con bị ốm hoặc nhiễm trùng: Việc cho trẻ tiếp xúc với mầm bệnh để mong có “hiệu ứng sốt” là vô cùng nguy hiểm, có thể dẫn đến biến chứng viêm phổi, nhiễm trùng huyết hoặc thậm chí là hội chứng PANDAS/PANS (rối loạn thần kinh tự miễn sau nhiễm khuẩn làm triệu chứng tự kỷ và tic thần kinh nặng lên gấp bội).
- Không bỏ thuốc hạ sốt khi trẻ sốt cao hoặc có nguy cơ co giật: Khoảng 20–30% trẻ tự kỷ có sóng động kinh tiềm ẩn trên điện não đồ hoặc tiền sử co giật do sốt. Nếu trẻ sốt cao trên 38.5°C kèm theo mệt lả, đau đớn hoặc có tiền sử co giật, cha mẹ bắt buộc phải hạ sốt và chăm sóc y tế theo đúng chỉ định của bác sĩ nhi khoa.
2. Tạo “Nhật ký Theo dõi Sốt” để xác định Phân nhóm Sinh học của con
Cha mẹ hãy chuẩn bị một cuốn sổ hoặc ghi chú trên điện thoại để quan sát mỗi khi con vô tình bị sốt tự nhiên:
- Ghi chép chi tiết: Mức nhiệt độ (ví dụ: 38.2°C), nguyên nhân sốt (viêm họng, sốt virus, sau tiêm chủng), và những thay đổi cụ thể (con có nhìn mắt lâu hơn không, có gọi mẹ hay nói câu dài hơn không, có đỡ chạy nhảy quay tròn không, và trạng thái đó kéo dài bao lâu sau khi hạ sốt).
- Ý nghĩa chẩn đoán: Nếu con bạn thực sự nằm trong nhóm có cải thiện rõ rệt khi sốt, đây là một chỉ điểm sinh học (biomarker) vô giá. Hãy cung cấp thông tin này cho bác sĩ thần kinh hoặc chuyên gia y sinh đang theo dõi cho bé. Điều này báo hiệu bé có khả năng cao thuộc “phân nhóm tự kỷ miễn dịch – chuyển hóa” (thường đi kèm viêm ruột, dị ứng thực phẩm, rối loạn ty thể hoặc thiếu hụt folate não) và sẽ đáp ứng rất tốt với các can thiệp y sinh nhắm vào chống viêm và chống oxy hóa.
3. Nắm bắt “Cửa sổ Vàng” khi trẻ sốt nhẹ (Theo phát hiện của nghiên cứu Tây An 2026)
Nghiên cứu năm 2026 tại Bệnh viện Nhi Tây An chỉ ra rằng gần 1/4 số trẻ có thể giữ lại được các kỹ năng sau khi hết sốt. Khi trẻ chỉ hơi ấm người hoặc sốt nhẹ (37.8°C – 38.2°C), trẻ vẫn tỉnh táo, không đau đớn hay mệt lả và bắt đầu xuất hiện “hiệu ứng sốt” (mắt sáng, tập trung, thích tương tác):
- Tận dụng tương tác nhẹ nhàng tại chỗ: Khi các mạch thần kinh ở vùng vỏ não S1DZ và tiểu não đang tạm thời được “mở khóa”, trẻ tiếp thu ngôn ngữ và cảm xúc xã hội nhạy bén gấp nhiều lần ngày thường. Cha mẹ đừng ép trẻ học bàn giấy mệt mỏi, mà hãy trò chuyện thủ thỉ, đọc sách tranh, gọi tên cảm xúc, chơi các trò chơi luân phiên nhẹ nhàng trên giường để củng cố đường mòn thần kinh (neuroplasticity) ngay trong lúc não trẻ đang kết nối tốt nhất.
4. Áp dụng Liệu pháp Nhiệt ấm An toàn & Điều hòa Cảm giác tại nhà
Dựa trên thử nghiệm của Đại học Y Albert Einstein (Hollander et al.) và Viện Technion (Levy et al.) về tác động của nhiệt độ ấm lên kênh ion và hệ thống Oxytocin vùng dưới đồi:
- Tắm bồn nước ấm mỗi tối (Warm Hydrotherapy): Cho trẻ ngâm mình thư giãn trong bồn nước ấm ở mức nhiệt độ an toàn (khoảng 37.5°C – 38.5°C, tuyệt đối không dùng nước quá nóng gây bỏng hoặc sốc nhiệt) trong khoảng 15–20 phút trước khi đi ngủ hoặc trước giờ tương tác cùng bố mẹ.
- Lợi ích kép: Nước ấm vừa tạo áp lực sâu (deep pressure) lên hệ xúc giác giúp làm dịu vùng vỏ não cảm giác, vừa tăng nhẹ tuần hoàn máu ngoại vi, kích thích tiết Oxytocin tự nhiên, giảm nồng độ Glutamate gây căng thẳng và giúp trẻ đi vào giấc ngủ sâu hơn. Luôn cho trẻ uống đủ nước lọc hoặc điện giải trước và sau khi tắm ấm.
5. Can thiệp Dinh dưỡng – Sinh hóa mô phỏng “Phản ứng Sốc nhiệt” (Sulforaphane)
Đây là giải pháp có bằng chứng lâm sàng vững chắc nhất hiện nay mà phụ huynh có thể tham khảo ý kiến bác sĩ để áp dụng mà không cần trẻ phải chịu đựng cơn sốt:
- Cơ chế: Trong nghiên cứu nổi tiếng của Đại học Johns Hopkins và Harvard (Singh, Zimmerman et al., 2014 & 2021), hoạt chất Sulforaphane chiết xuất từ mầm bông cải xanh (Broccoli Sprout Extract) đã được chứng minh có khả năng bật công tắc Protein sốc nhiệt (HSPs) và kích hoạt con đường Nrf2 bảo vệ ty thể, giảm viêm thần kinh – mô phỏng lại chính xác những lợi ích sinh hóa của một cơn sốt ở cấp độ tế bào.
- Cách áp dụng thực tế: Cha mẹ có thể bổ sung thực phẩm giàu tiền chất sulforaphane (như mầm bông cải xanh tươi, súp lơ xanh hấp chín tới kết hợp một chút bột hạt cải bẹ/mù tạt để cung cấp enzyme myrosinase giúp chuyển hóa hoạt chất) vào thực đơn của trẻ, hoặc trao đổi với bác sĩ chuyên khoa để sử dụng các thực phẩm bảo vệ sức khỏe chứa chiết xuất Sulforaphane đã được chuẩn hóa liều lượng theo cân nặng của bé.
6. Chăm sóc Trục Ruột – Não – Miễn dịch và Giấc ngủ
Vì nhóm trẻ có hiệu ứng sốt gắn liền mật thiết với sự rối loạn hệ miễn dịch (IL-17A) và chuyển hóa năng lượng tế bào:
- Kiểm soát tình trạng viêm mạn tính từ đường ruột: Khoảng 70% tế bào miễn dịch (bao gồm cả các tế bào Th17 tiết ra IL-17A) nằm ở hệ bạch huyết đường ruột. Việc xử lý triệt để tình trạng táo bón, tiêu chảy, loạn khuẩn đường ruột thông qua chế độ ăn lành mạnh, hạn chế đường tinh luyện/thực phẩm chế biến sẵn và bổ sung lợi khuẩn (Probiotics), Omega-3 (EPA/DHA) sẽ giúp ổn định hệ trục miễn dịch – thần kinh từ gốc.
- Bảo vệ giấc ngủ và vận động thể chất: Các bài tập vận động thể chất vừa sức mỗi ngày (chạy bộ, bơi lội, nhảy bạt nhún) cũng là một cách tự nhiên và an toàn nhất để làm tăng nhẹ thân nhiệt sinh lý, kích thích nhân lục tiết Noradrenaline và thúc đẩy sản sinh yếu tố dinh dưỡng thần kinh (BDNF) giúp não bộ của trẻ phát triển bền vững mỗi ngày.
Dấu hiệu nhận biết trẻ tự kỷ
Trẻ mang hội chứng phổ tự kỷ có những dấu hiệu nào? Làm sao để nhận biết theo từng giai đoạn của trẻ từ 6 tháng đến 5 tuổi? Làm sao để phân biệt quyết định giữa tự kỷ với Tăng động giảm chú ý (ADHD) hay chậm nói thông thường? Bài viết dưới đây sẽ làm rõ những câu trả lời cho bố mẹ.
Rối loạn phổ tự kỷ (ASD) đi kèm chậm phát triển được đặc trưng bởi hai trụ cột cốt lõi theo tiêu chuẩn y khoa DSM-5: khiếm khuyết về giao tiếp – tương tác xã hội và các mẫu hành vi, sở thích rập khuôn, lặp đi lặp lại (kèm theo rối loạn xử lý giác quan). Điểm phân biệt quyết định giữa tự kỷ với Tăng động giảm chú ý (ADHD) hay chậm nói thông thường không nằm ở việc “trẻ nói được bao nhiêu từ” hay “nghịch ngợm mức nào”, mà nằm ở động cơ kết nối xã hội và khả năng chú ý chung (Joint Attention).
1. Dấu hiệu nhận biết theo từng mốc tuổi (Từ 6 tháng đến 5 tuổi)
Sự khác biệt của trẻ phổ tự kỷ kèm chậm phát triển thường bộc lộ qua sự thiếu hụt các kỹ năng tiền ngôn ngữ trước khi biểu hiện thành chậm nói.
Giai đoạn 6 – 12 tháng: Thiếu tương tác nền tảng
-
Giao tiếp mắt và biểu cảm: Ít hoặc không nhìn vào mắt người chăm sóc khi bú, khi được bế hoặc trò chuyện. Hiếm khi nở “nụ cười xã hội” (cười đáp lại khi người khác trêu đùa).
-
Phản ứng âm thanh: Không quay đầu khi được gọi tên (ở mốc 9–12 tháng), dù trẻ vẫn giật mình hoặc chạy ra xem khi nghe tiếng nhạc quảng cáo, tiếng mở gói bánh (thính lực hoàn toàn bình thường nhưng chọn lọc âm thanh).
-
Cử chỉ: Không biết vẫy tay chào, vỗ tay, hoặc giơ hai tay đòi bế. Không bập bẹ các âm đa dạng (ba-ba, ma-ma) mang tính chất gọi hỏi.
Giai đoạn 12 – 18 tháng: Đứt gãy “Chú ý chung” (Mốc sàng lọc vàng)
-
Không chỉ tay bằng ngón trỏ (Pointing): Ở tuổi này, trẻ bình thường biết dùng ngón trỏ chỉ vào đồ vật để xin(Imperative pointing) và quan trọng hơn là chỉ để khoe/chia sẻ sự thích thú (Declarative pointing) rồi quay lại nhìn mắt bố mẹ. Trẻ tự kỷ thường không chỉ ngón trỏ mà kéo tay người lớn đặt lên đồ vật như một công cụ để mở nắp hoặc lấy hộ.
-
Không bắt chước: Không bắt chước các hành động đơn giản như chải đầu, nghe điện thoại đồ chơi, hoặc làm theo khẩu hình.
-
Từ đơn: Chưa có từ đơn có nghĩa khi 16 tháng tuổi.
Giai đoạn 18 – 24 tháng: Hành vi rập khuôn & Chơi đơn độc
-
Thiếu chơi giả vờ (Pretend Play): Không biết chơi đóng vai (cho búp bê ăn, giả làm bác sĩ, nấu ăn). Thay vào đó, trẻ chơi đồ chơi theo cách phi chức năng: lật ngửa ô tô để quay bánh xe liên tục, xếp hàng dài đồ vật theo một đường thẳng cố định (ai làm lệch sẽ gào khóc dữ dội).
-
Thoái lui phát triển (Regression): Khoảng 25–30% trẻ tự kỷ từng nói được vài từ hoặc biết vẫy tay lúc 12–15 tháng nhưng đột ngột mất hẳn ngôn ngữ và thu mình lại trong giai đoạn 18–24 tháng.
-
Kích thích giác quan (Stimming): Đi nhón gót thường xuyên, vẫy tay trước mặt, xoay tròn người mà không chóng mặt, nhìn nghiêng (liếc mắt) vào các vật chuyển động hoặc khe sáng.
Giai đoạn 2 – 3 tuổi: Bất thường ngôn ngữ & Cảm xúc
-
Nhại lời (Echolalia): Trẻ có thể không nói hoặc nói được nhưng chỉ lặp lại nguyên văn câu hỏi của người lớn (Hỏi: “Con ăn cơm chưa?” – Đáp: “Con ăn cơm chưa?”) hoặc đọc thuộc lòng lời thoại tiếng Anh, bài hát trên tivi nhưng không dùng được ngôn ngữ để xin uống nước hay diễn đạt nhu cầu.
-
Khủng hoảng (Meltdown) khi thay đổi: Rất cứng nhắc với trình tự sinh hoạt (phải đi đúng một con đường về nhà, mặc đúng một chiếc áo, ăn đúng một loại thức ăn có kết cấu nhất định).
Giai đoạn 3 – 5 tuổi: Rào cản hòa nhập xã hội
-
Không kết bạn: Chơi cạnh các bạn nhưng không chơi cùng (không hiểu luật chơi luân phiên, không quan tâm cảm xúc vui buồn của người khác).
-
Ngôn ngữ thiếu ngữ cảnh: Nếu có ngôn ngữ, giọng nói thường đều đều như robot (thiếu ngữ điệu), sai đại từ nhân xưng (gọi bản thân là “bạn”, “con” theo cách người lớn gọi mình), hiểu mọi thứ theo nghĩa đen tuyệt đối.
2. Phân biệt rõ ràng: Tự kỷ (ASD) vs. Tăng động giảm chú ý (ADHD) vs. Chậm nói đơn thuần
Rất nhiều phụ huynh nhầm lẫn giữa các hội chứng này vì bên ngoài trẻ đều có biểu hiện “gọi không thưa”, “chạy nhảy liên tục” hoặc “ăn vạ”. Bảng dưới đây vạch rõ nguyên nhân gốc rễ (luận điểm phân biệt) của từng hành vi:
Lưu ý lâm sàng: Khoảng 30–50% trẻ tự kỷ có đi kèm các triệu chứng của ADHD (gọi là đồng mắc AuDHD). Tuy nhiên, ADHD đơn thuần thường không gây chậm nói nặng và trẻ ADHD luôn hiểu rõ cảm xúc, nét mặt của người khác.
3. Các dấu hiệu ở “Trẻ bình thường” rất dễ bị hiểu nhầm là Tự kỷ
Đừng vội kết luận trẻ tự kỷ nếu chỉ thấy một vài hành vi bề nổi nhưng kỹ năng giao tiếp mắt và chú ý chung của trẻ vẫn tốt:
-
Đi nhón gót (Toe-walking): Khá phổ biến ở trẻ mới tập đi (12–24 tháng) do đang khám phá thăng bằng hoặc có gân gót chân hơi ngắn (Idiopathic toe-walking). Nếu trẻ đi nhón gót nhưng vẫn cười đùa, chỉ trỏ, nói chuyện bình thường thì đây chỉ là thói quen vận động.
-
Xếp đồ chơi thành hàng hoặc thích quay đồ vật (Giai đoạn 18–30 tháng): Trong tâm lý học phát triển, đây là giai đoạn trẻ hình thành “Sơ đồ nhận thức” (Play Schemas) về quỹ đạo chuyển động (Rotation schema) và trật tự không gian (Positioning schema).
-
Điểm khác biệt: Trẻ bình thường xếp hàng xong sẽ gọi bố mẹ xem và nếu bạn thêm một chiếc xe vào hàng, trẻ sẽ hào hứng chơi tiếp. Trẻ tự kỷ xếp hàng trong trạng thái đắm chìm, không cho ai can thiệp.
-
-
Vẫy tay khi phấn khích (Hand-flapping): Trẻ dưới 2 tuổi hệ thần kinh vận động chưa hoàn thiện nên khi quá vui mừng thường vung vẩy hai tay hoặc dậm chân. Hành vi này ở trẻ bình thường chỉ xuất hiện đúng lúc có cảm xúc vui sướng và nhìn thẳng vào bố mẹ, trong khi ở trẻ tự kỷ, vẫy tay xảy ra tự phát ngay cả khi ngồi một mình để tự kích thích thị giác/cảm giác cơ khớp.
-
“Loạn ngôn ngữ giả tự kỷ” do xem tivi/điện thoại sớm (Virtual Autism): Trẻ dưới 2 tuổi xem màn hình quá nhiều (trên 2–3 giờ/ngày) có thể bị thụ động hóa: gọi không quay lại, nhại tiếng Anh vô nghĩa, cáu gắt khi bị tịch thu điện thoại.
-
Điểm khác biệt: Khi cắt tuyệt đối màn hình và tăng tương tác trực tiếp trong 1–2 tháng, trẻ bị ảnh hưởng bởi màn hình sẽ phục hồi giao tiếp mắt và bật âm rất nhanh, trong khi trẻ tự kỷ thực sự (do nguyên nhân thần kinh bẩm sinh) cần can thiệp chuyên sâu dài hạn.
-
-
Khủng hoảng tuổi lên 2 (Terrible Twos Tantrum) vs. Quá tải giác quan (Autistic Meltdown):
-
Ăn vạ thông thường (Tantrum): Có mục đích (đòi mua đồ chơi, đòi xem điện thoại). Trẻ vừa khóc vừa liếc nhìn xem bố mẹ có nhượng bộ không; khi được đáp ứng hoặc được đánh lạc hướng thì nín ngay.
-
Cơn bùng nổ tự kỷ (Meltdown): Xảy ra do quá tải âm thanh, ánh sáng hoặc thay đổi đột ngột. Trẻ mất kiểm soát hoàn toàn, không quan tâm có ai nhìn hay không, và dù có đưa đồ trẻ thích thì cơn hoảng loạn cũng không dừng lại ngay được.
-
Công cụ đối chiếu & Sàng lọc phân biệt trực quan
Sử dụng bảng điều khiển tương tác dưới đây được tạ bởi Google Gemini dựa trên dữ liệu khoa học công bố để đưa ra giao diện trực quan giúp lọc theo từng độ tuổi hoặc đối chiếu trực tiếp mức độ biểu hiện qua 6 trục hành vi cốt lõi giữa Tự kỷ (ASD), Tăng động giảm chú ý (ADHD), Chậm nói đơn thuần, và Trẻ phát triển điển hình:
(function() { const host = document.getElementById('asd-chart-wp-host'); if (!host) return; // Thẻ giữ chỗ (Placeholder) để khi nhấc bảng ra document.body không làm giật trang WordPress const placeholder = document.createComment('asd-chart-portal-placeholder'); // Khởi tạo Shadow DOM cách ly 100% với CSS của Theme WordPress const shadow = host.attachShadow({ mode: 'open' }); const groups = [ { id: 'typical', name: 'Phát triển điển hình', color: '#10b981', active: true }, { id: 'speech', name: 'Chậm nói đơn thuần', color: '#3b82f6', active: true }, { id: 'adhd', name: 'Tăng động (ADHD)', color: '#f59e0b', active: true }, { id: 'asd', name: 'Phổ tự kỷ (ASD)', color: '#ef4444', active: true } ]; const metrics = [ '1. Giao tiếp mắt & Nụ cười xã hội', '2. Chú ý chung & Chỉ trỏ chia sẻ', '3. Ngôn ngữ diễn đạt & Hiểu lời', '4. Chơi giả vờ & Tưởng tượng', '5. Tập trung & Kiểm soát xung động', '6. Linh hoạt trước thay đổi & Giác quan' ]; const dataset = { age1: { scores: { typical: [95, 90, 85, 80, 75, 85], speech: [95, 90, 30, 80, 75, 80], adhd: [80, 75, 80, 75, 35, 70], asd: [25, 15, 25, 20, 40, 25] }, insight: 'Ở mốc 12–18 tháng (Mốc vàng sàng lọc): Trẻ Chậm nói đơn thuần có điểm Ngôn ngữ thấp (30%) nhưng dùng Giao tiếp mắt (95%) và Chỉ trỏ (90%) cực tốt để bù đắp. Ngược lại, trẻ Phổ tự kỷ suy giảm đồng loạt cả Giao tiếp mắt lẫn Chú ý chung (15–25%).' }, age2: { scores: { typical: [95, 95, 90, 90, 80, 85], speech: [95, 90, 40, 85, 75, 80], adhd: [80, 80, 80, 80, 25, 65], asd: [30, 20, 30, 20, 35, 20] }, insight: 'Ở mốc 24–36 tháng: Sự khác biệt bộc lộ rõ ở kỹ năng Chơi giả vờ và Tính linh hoạt. Trẻ Tự kỷ thường xếp hàng đồ vật, quay bánh xe và hoảng loạn khi thay đổi thói quen (20%), trong khi trẻ ADHD chơi đúng chức năng nhưng nhanh chán và khó ngồi yên (25%).' }, age3: { scores: { typical: [95, 95, 95, 95, 85, 90], speech: [95, 95, 70, 90, 80, 85], adhd: [85, 85, 85, 85, 20, 60], asd: [35, 25, 40, 25, 35, 25] }, insight: 'Ở mốc 3–5 tuổi: Trẻ Chậm nói đơn thuần bắt đầu đuổi kịp ngôn ngữ (70%) và hòa nhập bạn bè tốt. Ranh giới giữa Tự kỷ và ADHD lúc này nằm ở Động lực xã hội: trẻ ADHD rất thích kết bạn nhưng bốc đồng (20% kiểm soát), còn trẻ Tự kỷ gặp rào cản trong giao tiếp hai chiều.' } }; let currentAge = 'age1'; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .acw-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 14px; box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06); overflow: hidden; position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .acw-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .acw-inner { padding: 24px; max-width: 900px; margin: 0 auto; background: #ffffff; } .acw-wrap.is-fullscreen .acw-inner { min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng khi cuộn */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .acw-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(2, 132, 199, 0.45), 0 0 0 0 rgba(2, 132, 199, 0.4); } 70% { box-shadow: 0 6px 20px rgba(2, 132, 199, 0.45), 0 0 0 10px rgba(2, 132, 199, 0); } 100% { box-shadow: 0 6px 20px rgba(2, 132, 199, 0.45), 0 0 0 0 rgba(2, 132, 199, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #0369a1 0%, #0284c7 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(2, 132, 199, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Header của bảng */ .acw-header-row { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; margin-bottom: 16px; } .acw-header-text { flex: 1 1 260px; } .acw-title { font-size: 20px; font-weight: 700; margin: 0 0 6px 0; color: #0f172a; line-height: 1.35; } .acw-subtitle { font-size: 14px; color: #64748b; margin: 0; line-height: 1.5; } .btn-fullscreen-top { background: #f0f9ff; color: #0369a1; border: 1px solid #bae6fd; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #0284c7; color: #ffffff; border-color: #0284c7; } /* Bộ lọc độ tuổi */ .acw-age-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; background: #f1f5f9; padding: 6px; border-radius: 10px; } .acw-age-btn { flex: 1; min-width: 105px; padding: 9px 12px; border: none; background: transparent; border-radius: 7px; font-size: 14px; font-weight: 600; color: #475569; cursor: pointer; transition: all 0.2s ease; text-align: center; touch-action: manipulation; } .acw-age-btn:hover { color: #0f172a; } .acw-age-btn.active { background: #ffffff; color: #0284c7; box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08); } /* Bộ lọc nhóm trẻ */ .acw-group-toggles { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 22px; padding-bottom: 16px; border-bottom: 1px solid #f1f5f9; } .acw-toggle-btn { display: inline-flex; align-items: center; gap: 8px; padding: 6px 12px; border-radius: 20px; font-size: 13px; font-weight: 600; cursor: pointer; border: 1.5px solid #cbd5e1; background: #ffffff; color: #334155; transition: all 0.2s ease; user-select: none; touch-action: manipulation; } .acw-toggle-btn.off { opacity: 0.4; background: #f8fafc; text-decoration: line-through; } .acw-dot { width: 10px; height: 10px; border-radius: 50%; display: inline-block; flex-shrink: 0; } /* Khu vực biểu đồ */ .acw-metric-row { margin-bottom: 18px; } .acw-metric-label { font-size: 14px; font-weight: 700; color: #1e293b; margin-bottom: 8px; display: flex; justify-content: space-between; align-items: baseline; } .acw-bars-wrap { display: flex; flex-direction: column; gap: 7px; background: #f8fafc; padding: 10px 12px; border-radius: 8px; border: 1px solid #f1f5f9; } .acw-bar-item { display: flex; align-items: center; gap: 10px; font-size: 12.5px; } .acw-bar-name { width: 140px; flex-shrink: 0; color: #475569; font-weight: 500; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .acw-bar-track { flex: 1; height: 18px; background: #e2e8f0; border-radius: 9px; overflow: hidden; position: relative; } .acw-bar-fill { height: 100%; border-radius: 9px; transition: width 0.45s cubic-bezier(0.22, 1, 0.36, 1); position: relative; } .acw-bar-val { width: 42px; text-align: right; font-weight: 700; color: #334155; flex-shrink: 0; } /* Hộp luận điểm phân biệt */ .acw-insight-box { margin-top: 22px; background: #f0f9ff; border-left: 4px solid #0284c7; padding: 14px 16px; border-radius: 6px; font-size: 13.5px; line-height: 1.6; color: #0c4a6e; } .acw-insight-title { font-weight: 700; margin-bottom: 4px; color: #0369a1; display: block; } @media (max-width: 560px) { .acw-inner { padding: 16px; } .acw-title { font-size: 17.5px; } .acw-bar-name { width: 108px; font-size: 11.5px; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
Bảng Đối Chiếu 6 Trục Hành Vi Phát Triển Theo Độ Tuổi
Chọn mốc tuổi và bật/tắt các nhóm bên dưới để so sánh mức độ đáp ứng kỹ năng (thang 0 – 100%).
(function() { const host = document.getElementById('mchat-wp-host'); if (!host) return; // Thẻ giữ chỗ (Placeholder) để khi nhấc bảng ra document.body không làm giật trang WordPress const placeholder = document.createComment('mchat-portal-placeholder'); // Khởi tạo Shadow DOM cách ly 100% với CSS của Theme WordPress const shadow = host.attachShadow({ mode: 'open' }); // Dữ liệu 20 câu hỏi M-CHAT-R chuẩn y khoa const questions = [ { id: 1, t: 'Nếu bạn chỉ tay vào một vật gì đó trong phòng, bé có nhìn theo hướng bạn chỉ không?', r: 'NO', c: 'crit', cat: 'Đáp ứng chú ý chung' }, { id: 2, t: 'Bạn có bao giờ tự hỏi liệu con mình có bị điếc (nghe kém) không?', r: 'YES', c: 'sen', cat: 'Phản ứng âm thanh (Câu đảo ngược)' }, { id: 3, t: 'Bé có biết chơi trò giả vờ không? (VD: giả vờ uống nước từ cốc rỗng, nghe điện thoại, cho búp bê ăn)', r: 'NO', c: 'soc', cat: 'Tư duy chơi giả vờ' }, { id: 4, t: 'Bé có thích leo trèo lên đồ vật không? (VD: bàn ghế, cầu thang, đồ chơi vận động)', r: 'NO', c: 'sen', cat: 'Vận động thô' }, { id: 5, t: 'Bé có những cử động ngón tay bất thường ở ngay sát trước mắt mình không? (VD: vẫy/búng ngón tay sát mắt)', r: 'YES', c: 'sen', cat: 'Kích thích thị giác - Stimming (Câu đảo ngược)' }, { id: 6, t: 'Bé có dùng một ngón tay (ngón trỏ) để chỉ vào thứ bé muốn XIN hoặc nhờ lấy giúp không?', r: 'NO', c: 'crit', cat: 'Chỉ trỏ yêu cầu' }, { id: 7, t: 'Bé có dùng một ngón tay để chỉ vào thứ gì đó thú vị chỉ để KHOE / CHIA SẺ với bạn không? (VD: chỉ máy bay, con chó)', r: 'NO', c: 'crit', cat: 'Khởi xướng chú ý chung (Quan trọng nhất)' }, { id: 8, t: 'Bé có quan tâm đến những đứa trẻ khác không? (VD: nhìn các bạn chơi, cười hoặc đi tới gần bạn)', r: 'NO', c: 'soc', cat: 'Động lực xã hội' }, { id: 9, t: 'Bé có mang đồ vật lại đưa cho bạn xem chỉ để KHOE (chứ không phải để nhờ mở giúp) không?', r: 'NO', c: 'crit', cat: 'Chia sẻ niềm vui hai chiều' }, { id: 10, t: 'Bé có phản ứng (ngẩng lên nhìn, bập bẹ, ngừng chơi) khi bạn gọi tên bé không?', r: 'NO', c: 'soc', cat: 'Định hướng tên gọi' }, { id: 11, t: 'Khi bạn mỉm cười với bé, bé có mỉm cười đáp lại bạn không?', r: 'NO', c: 'soc', cat: 'Nụ cười xã hội' }, { id: 12, t: 'Bé có tỏ ra khó chịu quá mức, bịt tai hoặc hoảng loạn trước những tiếng ồn thông thường hàng ngày không?', r: 'YES', c: 'sen', cat: 'Nhạy cảm thính giác (Câu đảo ngược)' }, { id: 13, t: 'Bé đã biết đi chưa?', r: 'NO', c: 'sen', cat: 'Vận động cơ bản' }, { id: 14, t: 'Bé có nhìn vào mắt bạn khi bạn đang nói chuyện, chơi đùa hoặc mặc quần áo cho bé không?', r: 'NO', c: 'crit', cat: 'Giao tiếp mắt trực diện' }, { id: 15, t: 'Bé có cố gắng bắt chước những gì bạn làm không? (VD: vẫy tay bye-bye, vỗ tay, làm tiếng động vui nhộn)', r: 'NO', c: 'crit', cat: 'Bắt chước xã hội' }, { id: 16, t: 'Nếu bạn quay đầu nhìn thứ gì đó, bé có nhìn quanh để xem bạn đang nhìn cái gì không?', r: 'NO', c: 'soc', cat: 'Theo dõi ánh mắt' }, { id: 17, t: 'Bé có cố gắng thu hút sự chú ý để bạn nhìn vào bé không? (VD: nhìn bạn chờ khen hoặc kêu "Mẹ nhìn này")', r: 'NO', c: 'soc', cat: 'Tìm kiếm sự công nhận' }, { id: 18, t: 'Bé có hiểu khi bạn bảo bé làm một việc gì đó không? (VD: không chỉ tay mà nói "Con lấy cho mẹ cái chăn")', r: 'NO', c: 'sen', cat: 'Ngôn ngữ tiếp nhận (Hiểu lời)' }, { id: 19, t: 'Nếu có điều gì mới lạ xảy ra, bé có nhìn lên mặt bạn để xem bạn phản ứng thế nào về việc đó không?', r: 'NO', c: 'crit', cat: 'Tham chiếu xã hội' }, { id: 20, t: 'Bé có thích các hoạt động chuyển động có tương tác không? (VD: được đung đưa, nhún nhảy trên đùi bạn)', r: 'NO', c: 'soc', cat: 'Tương tác cảm xúc - vận động' } ]; let answers = {}; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .mc-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (ĐÃ ĐƯỢC PORTAL RA BODY) */ .mc-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .mc-inner { padding: 24px; max-width: 900px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .mc-wrap.is-fullscreen .mc-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng khi cuộn */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .mc-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(3, 105, 161, 0.45), 0 0 0 0 rgba(3, 105, 161, 0.4); } 70% { box-shadow: 0 6px 20px rgba(3, 105, 161, 0.45), 0 0 0 10px rgba(3, 105, 161, 0); } 100% { box-shadow: 0 6px 20px rgba(3, 105, 161, 0.45), 0 0 0 0 rgba(3, 105, 161, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #0369a1 0%, #0284c7 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(3, 105, 161, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Phần tiêu đề */ .mc-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 18px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .mc-header-text { flex: 1 1 260px; } .mc-title { font-size: 21px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .mc-desc { font-size: 14px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #f0f9ff; color: #0369a1; border: 1px solid #bae6fd; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #0284c7; color: #ffffff; border-color: #0284c7; } /* Thanh nút kịch bản mẫu */ .mc-presets { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; } .mc-preset-lbl { font-size: 12.5px; font-weight: 700; color: #475569; margin-right: 4px; } .mc-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; transition: all 0.15s ease; touch-action: manipulation; } .mc-pbtn:hover { background: #f1f5f9; border-color: #94a3b8; } .mc-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } /* Bảng điểm nổi (Sticky Dashboard) */ .mc-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } /* Khi ở chế độ toàn màn hình, đẩy bảng điểm xuống ngay dưới thanh thoát toàn màn hình */ .mc-wrap.is-fullscreen .mc-dash { top: 58px; } .mc-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .mc-score-big { font-size: 24px; font-weight: 800; line-height: 1; } .mc-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .mc-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .mc-bar-bg { height: 10px; background: #334155; border-radius: 5px; overflow: hidden; margin-bottom: 12px; } .mc-bar-fill { height: 100%; width: 0%; background: #10b981; transition: width 0.35s ease, background 0.35s ease; } .mc-pillars { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; font-size: 12px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .mc-pillar-box { background: #1e293b; padding: 7px 10px; border-radius: 8px; } .mc-pillar-val { font-weight: 700; color: #ffffff; font-size: 13.5px; display: block; margin-top: 2px; } /* Danh sách 20 câu hỏi */ .mc-q-item { border: 1px solid #e2e8f0; border-radius: 10px; padding: 14px 16px; margin-bottom: 12px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 10px; } .mc-q-item.risk-flagged { border-color: #fca5a5; background: #fff5f5; } .mc-q-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; } .mc-q-text { font-size: 14.5px; font-weight: 600; color: #1e293b; line-height: 1.5; flex: 1; } .mc-q-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; } .mc-tag { font-size: 11px; font-weight: 600; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .mc-tag.crit { background: #e0f2fe; color: #0369a1; } .mc-tag.rev { background: #fef3c7; color: #b45309; } /* Nút chọn CÓ / KHÔNG */ .mc-ans-group { display: flex; gap: 8px; flex-shrink: 0; } .mc-abtn { min-width: 78px; padding: 8px 14px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 13.5px; font-weight: 700; color: #334155; cursor: pointer; transition: all 0.15s ease; touch-action: manipulation; } .mc-abtn:hover { border-color: #64748b; } .mc-abtn.sel-safe { background: #10b981; border-color: #10b981; color: #ffffff; } .mc-abtn.sel-risk { background: #ef4444; border-color: #ef4444; color: #ffffff; } /* Hộp phân tích kết quả cuối bảng */ .mc-result-box { margin-top: 20px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #64748b; font-size: 14px; line-height: 1.65; color: #1e293b; } /* Tối ưu giao diện điện thoại */ @media (max-width: 600px) { .mc-inner { padding: 14px; } .mc-title { font-size: 18px; } .mc-q-head { flex-direction: column; } .mc-ans-group { width: 100%; } .mc-abtn { flex: 1; padding: 10px 14px; } .mc-pillars { grid-template-columns: 1fr; } .mc-pbtn.reset { margin-left: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
Bảng Chấm Điểm Sàng Lọc Tự Kỷ Chuẩn Y Khoa M-CHAT-R/F (16 – 30 tháng)
Hãy chọn CÓ hoặc KHÔNG dựa trên hành vi thường xuyên của bé. Hệ thống tự động đảo chiều điểm ở câu 2, 5, 12 và đối chiếu nhóm kỹ năng Chú ý chung để phân biệt với Chậm nói đơn thuần / ADHD.
• Hệ thống Chú ý chung và Giao tiếp phi ngôn ngữ của bé hoạt động tốt (${crit}/7 điểm rủi ro nhóm cốt lõi).
• Phân biệt với Chậm nói đơn thuần: Nếu bé hiện tại chưa nói được nhiều từ nhưng đạt mức điểm này (biết chỉ trỏ khoe đồ, nhìn mắt, hiểu lời nói), khả năng rất cao bé chỉ bị chậm nói diễn đạt đơn thuần. Nếu bé dưới 24 tháng tuổi, hãy sàng lọc lại khi bé tròn 24 tháng. `; } else if (total = 2) ? `Bé có ${crit}/7 dấu hiệu rủi ro ở nhóm Chú ý chung cốt lõi (chỉ trỏ, giao tiếp mắt, khoe đồ vật). Đây là dấu hiệu cảnh báo sớm của phổ tự kỷ chứ không chỉ là chậm nói hay hiếu động đơn thuần.` : `Điểm rủi ro của bé chủ yếu nằm ở nhóm Giác quan/Ngôn ngữ hoặc Mất tập trung, trong khi Chú ý chung cốt lõi khá tốt (${crit}/7). Trường hợp này rất dễ gặp ở trẻ Tăng động giảm chú ý (ADHD) hoặc chậm nói kèm nhạy cảm giác quan.`; analysis = ` Kết luận sàng lọc — Nguy cơ TRUNG BÌNH (${total}/20 điểm):
• ${diffNote}
• Hướng xử trí chuẩn M-CHAT-R/F: Cần thực hiện bước 2 — Phỏng vấn theo dõi (Follow-Up) cho ${total} câu có điểm rủi ro để làm rõ ngữ cảnh. Nếu sau khi kiểm tra kỹ vẫn còn từ 2 điểm trở lên, cần đưa bé đi khám chuyên khoa Tâm bệnh / Nhi phát triển hành vi. `; } else { color = '#ef4444'; badgeTxt = 'NGUY CƠ CAO (8 – 20 điểm)'; analysis = ` Kết luận sàng lọc — Nguy cơ CAO (${total}/20 điểm, trong đó có ${crit}/7 câu cốt lõi):
• Bé biểu hiện sự suy giảm rõ rệt ở cả hai trụ cột: Chú ý chung (Joint Attention) và Tương tác xã hội hai chiều.
• Hướng xử trí chuẩn M-CHAT-R/F: Với mức điểm từ 8 trở lên, gia đình có thể bỏ qua bước phỏng vấn phụ và đưa bé đi khám chẩn đoán chuyên sâu ngay (bằng thang ADOS-2, DSM-5) tại khoa Tâm bệnh / Phát triển hành vi Nhi để bắt đầu can thiệp sớm trong giai đoạn vàng. `; } barFillEl.style.background = color; badgeEl.textContent = badgeTxt; badgeEl.style.background = color; badgeEl.style.color = '#ffffff'; resBoxEl.style.borderLeftColor = color; resBoxEl.innerHTML = analysis; updateFloatingFabVisibility(); } // Kiểm tra vùng cuộn để hiện/ẩn nút nổi thông minh function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; // Hiện nút nổi khi người đọc đang lướt ngang qua vùng bảng M-CHAT-R/F const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } // KỸ THUẬT DOM PORTAL: Nhấc thẳng #mchat-wp-host ra trực tiếp document.body khi phóng to function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); mcWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { mcWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 880px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } // Gắn sự kiện cho các nút Kịch bản mẫu const presetBtns = shadow.querySelectorAll('.mc-pbtn'); presetBtns.forEach(function(btn) { btn.onclick = function() { const type = this.getAttribute('data-preset'); answers = {}; if (type === 'speech') { questions.forEach(function(q) { answers[q.id] = (q.r === 'YES' ? 'NO' : 'YES'); }); answers[18] = 'NO'; } else if (type === 'adhd') { questions.forEach(function(q) { answers[q.id] = (q.r === 'YES' ? 'NO' : 'YES'); }); answers[2] = 'YES'; answers[10] = 'NO'; answers[12] = 'YES'; } else if (type === 'asd') { questions.forEach(function(q) { answers[q.id] = (q.r === 'YES' ? 'NO' : 'YES'); }); [1, 2, 3, 5, 6, 7, 8, 9, 10, 14, 15, 16, 19].forEach(function(id) { const qObj = questions[id - 1]; answers[id] = qObj.r; }); } renderQuestions(); updateSummary(); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); renderQuestions(); updateSummary(); })();
Dấu hiệu động kinh ngầm ở trẻ tự kỷ - Khi nào nên làm?
📋 BẢNG ĐÁNH GIÁ CHUYÊN SÂU: DẤU HIỆU ĐỘNG KINH NGẦM (SEDs) & CƠN ĐỘNG KINH CỤC BỘ Ở TRẺ TỰ KỶ
Được thiết kế dựa trên phân loại cơn động kinh của Liên đoàn Quốc tế Chống Động kinh (ILAE) và các hội chứng điện não đồ đặc thù ở trẻ rối loạn phát triển (Landau-Kleffner, ESES/CSWS, Động kinh thùy thái dương & thùy trán).
PHẦN I: THOÁI LUI PHÁT TRIỂN & HỘI CHỨNG MẤT NGÔN NGỮ (Landau-Kleffner / ESES)
Đánh giá nguy cơ sóng động kinh ngầm phát sinh liên tục trong giấc ngủ gây phá hủy vùng ngôn ngữ và nhận thức.
1. Mất ngôn ngữ và kỹ năng giao tiếp đã từng có (Thoái lui phát triển):
Trẻ trước đó đã nói được từ đơn/từ ghép, biết chỉ tay, vẫy chào, giao tiếp mắt bình thường nhưng bỗng nhiên mất dần hoặc mất hẳn (đặc biệt lưu ý nếu xảy ra sau mốc 2 tuổi).
2. Hiện tượng "Điếc từ vựng" (Auditory Verbal Agnosia):
Trẻ vẫn nghe rất rõ tiếng động môi trường (tiếng mở gói bánh, tiếng nhạc, tiếng gọi từ xa vẫn quay lại) nhưng lại hoàn toàn ngơ ngác, không hiểu nghĩa các câu nói quen thuộc hàng ngày của bố mẹ.
3. Sự dao động nhận thức bất thường theo chu kỳ ("Lúc nhớ lúc quên"):
Trẻ có những tuần/ngày rất lanh lợi, học rất nhanh, nhưng đột nhiên rơi vào những đợt "chững lại", ngơ ngác, quên sạch các bài học/kỹ năng đã thuộc lòng trước đó mà không rõ lý do.
PHẦN II: CƠN VẮNG Ý THỨC & CỬ ĐỘNG TỰ ĐỘNG VÔ THỨC (Absence & Focal Impaired Awareness)
Phân biệt giữa sự mất tập trung/tự kích thích (Stimming) của tự kỷ và cơn "ngắt kết nối" do phóng điện não.
4. Cơn "đứng hình" – Đờ người không thể cắt ngang:
Đang nhai cơm, đang bước đi hoặc đang chơi, trẻ đột ngột khựng lại, nhìn xuyên thấu vào khoảng không từ 5–30 giây. Dù bố mẹ vẫy tay sát mắt, búng tay hay chạm mạnh vào người trẻ cũng không phản ứng trong vài giây đó.
5. Hành vi tự động vùng miệng – mặt trong lúc đờ đẫn (Oroalimentary Automatisms):
Khi đang nhìn vô hồn, trẻ có kèm theo chép miệng liên tục, nhai tóp tép dù trong miệng không có thức ăn, nuốt nước bọt liên hồi, chảy dãi đột ngột hoặc mấp máy môi vô thức?
6. Nháy mắt rung giật hoặc tay xoắn vặn vô thức kèm mất tập trung:
Hai mí mắt nháy liên hồi với tốc độ rất nhanh (như cánh bướm rung), hoặc một bên tay cứ tự động cấu véo, xoắn vặn vạt áo, hoặc đột ngột buông rơi thìa/đồ chơi đang cầm trên tay mà không biết.
PHẦN III: VẬN ĐỘNG VI THỂ, GIẬT CƠ & MẤT TRƯƠNG LỰC CƠ (Myoclonic, Atonic & Tonic)
Các cơn động kinh vận động cực ngắn (1–3 giây) rất dễ bị nhầm với tật máy cơ (Tics) hoặc trẻ hậu đậu hay vấp ngã.
7. Cơn gục đầu đột ngột hoặc ngã khuỵu gối (Atonic / Drop Attacks):
Trẻ đang ngồi ăn/học bỗng nhiên đầu gục mạnh xuống bàn cái "rụp" (như người ngủ gật bị rơi đầu), hoặc đang đứng/đi tự dưng hai đầu gối mềm nhũn làm ngã sập xuống đất trong tích tắc rồi đứng dậy ngay.
8. Giật cơ từng chuỗi ngắn như điện giật (Myoclonic Jerks):
Hai vai, cánh tay hoặc toàn thân trẻ giật nảy lên một cái (giống hệt phản xạ giật mình khi bước hụt cầu thang), thường xảy ra thành từng cụm 3–5 cái liên tiếp, đặc biệt hay gặp vào lúc vừa mới ngủ dậy hoặc đang thiu thiu ngủ.
9. Cơn đảo mắt, trợn ngược mắt hoặc quay cứng đầu – cổ sang một bên (Versive / Tonic):
Hai tròng mắt đột ngột đảo ngược lên trên (chỉ thấy lòng trắng) hoặc mắt và đầu cùng quay cứng sang một bên trong vài giây kèm theo một bên tay co/duỗi cứng (khác với hành vi liếc mắt ngắm đồ vật của trẻ tự kỷ).
PHẦN IV: BIỂU HIỆN BẤT THƯỜNG TRONG GIẤC NGỦ (Nocturnal Frontal Lobe & Sleep Epilepsy)
70% sóng động kinh ngầm ở trẻ tự kỷ chỉ kích hoạt mạnh khi não bước vào giấc ngủ sâu (Non-REM).
10. Cơn thức giấc kịch phát định hình vào khung giờ cố định ban đêm:
Trẻ đang ngủ bỗng bật dậy, mắt mở trừng trừng, vẻ mặt hoảng loạn, hai chân đạp như đạp xe hoặc tay chân vung vẩy/gồng cứng. Đặc điểm nhận diện là kịch bản cử động đêm nào cũng giống hệt nhau và thường xảy ra sau khi ngủ khoảng 30–90 phút hoặc gần sáng.
11. Giật mép, cứng hàm, phát âm thanh lạ hoặc chảy nhiều nước bọt khi đang ngủ (Rolandic Seizures):
Khi đang ngủ (nhất là lúc mới ngủ hoặc gần sáng), trẻ có tiếng khò khè ở họng như mắc nghẹn, một bên mép/má giật nhẹ, nghiến hàm cứng kèm chảy ướt đẫm nước bọt ra gối?
12. Dấu vết để lại vào buổi sáng sau những cơn động kinh đêm thầm lặng:
Buổi sáng thức dậy trẻ có vết cắn rách/bầm ở rìa lưỡi hoặc niêm mạc má, tiểu dầm bất thường (ở trẻ đã bỏ bỉm đêm từ lâu), hoặc trẻ lừ đừ, đau đầu, đi đứng loạng choạng/yếu nhẹ một bên tay chân trong 15–30 phút đầu mới dậy?
PHẦN V: CẢM XÚC KỊCH PHÁT, THẦN KINH THỰC VẬT & GIÁC QUAN (Temporal & Occipital Lobe)
Động kinh thùy thái dương và thùy chẩm ở trẻ tự kỷ thường tạo ra cơn hoảng sợ, cười khóc vô cớ, ảo giác hoặc rối loạn thực vật.
13. Cơn hoảng sợ tột độ hoặc cười/khóc sặc sụa hoàn toàn vô cớ (Gelastic / Dacrystic / Ictal Fear):
Đang ngồi yên tĩnh, không hề có tác nhân gây sợ hay bị trêu đùa, trẻ bỗng nhiên ôm chặt bố mẹ hoặc chạy trốn với vẻ mặt kinh hoàng tột độ; hoặc tự dưng bật cười khanh khách / khóc nức nở một cách cơ học, vô hồn trong 30 giây – 2 phút rồi tự tắt hẳn.
14. Biểu hiện Thần kinh thực vật đi kèm cơn (Autonomic Seizures):
Ngay trước hoặc trong lúc trẻ đờ người/hoảng sợ, cha mẹ quan sát thấy trẻ đột ngột tái mét mặt hoặc đỏ bừng mặt, vã mồ hôi lạnh, tim đập thình thịch, hai đồng tử mắt giãn to, hoặc trẻ tự nhiên ôm bụng/nôn khan vài tiếng rồi hết ngay (không phải bệnh tiêu hóa)?
15. Phản ứng với ảo giác giác quan thoáng qua (Sensory Aura – Thùy chẩm / Thùy thái dương):
Trong phòng hoàn toàn yên tĩnh và ánh sáng bình thường, trẻ đột ngột ôm đầu, lấy tay dụi mắt/che chặt mắt, bịt chặt tai la hét, hoặc nhìn đuổi theo một điểm vô hình trong không trung (do nhìn thấy đốm sáng nhấp nháy hoặc nghe tiếng ù trong đầu trước cơn)?
PHẦN VI: ĐẶC ĐIỂM SAU CƠN & YẾU TỐ NGUY CƠ Y KHOA (Post-ictal State & Risk Factors)
Trạng thái "sau cơn" (Post-ictal) là tiêu chuẩn vàng để phân biệt cơn động kinh thực sự với hành vi tự kỷ.
16. Trạng thái của trẻ NGAY SAU KHI kết thúc các biểu hiện lạ (Post-ictal Phase):
Sau một cơn phóng điện não, tế bào thần kinh bị cạn kiệt năng lượng tạm thời. Ngay sau khi hết đờ người, giật cơ hoặc la hét vô cớ, trẻ có biểu hiện thế nào?
17. Hoàn cảnh xuất hiện & Yếu tố kích khởi ánh sáng/nhiệt độ:
Hành vi tự kỷ thường xuất hiện khi trẻ rảnh rỗi/căng thẳng. Ngược lại, các biểu hiện lạ của con bạn có xuất hiện bất kể hoàn cảnh (kể cả khi đang nhai món rất thích, đang đi cầu thang) hoặc dễ bùng phát khi nhìn ánh sáng nhấp nháy (đèn LED, nắng xuyên qua hàng cây), khi sốt/thiếu ngủ không?
18. Tiền sử y khoa của bản thân trẻ và gia đình:
Trẻ có từng bị co giật do sốt cao (nhất là sốt co giật phức tạp kéo dài >15 phút hoặc tái phát nhiều lần), tiền sử sinh ngạt/sinh non nhẹ cân, hoặc trong gia đình có người mắc động kinh / rối loạn thần kinh không?
*Miễn trừ trách nhiệm y khoa: Bảng đánh giá 18 tiêu chí này là công cụ sàng lọc lâm sàng hỗ trợ phụ huynh quan sát có hệ thống, không thay thế cho chẩn đoán của bác sĩ chuyên khoa Thần kinh nhi và kết quả đo Điện não đồ (EEG).
⚠️ Cha mẹ vui lòng hoàn thành đủ 18 câu hỏi (Hiện đã chọn '+answered+'/18 câu) để hệ thống lập biểu đồ phân khu chính xác nhất!
Kết quả sàng lọc cho thấy trẻ có dấu hiệu cảnh báo đỏ (Red Flags) hoặc tổng điểm triệu chứng lâm sàng ở ngưỡng cao. Ở trẻ tự kỷ, việc phát hiện và kiểm soát sớm sóng động kinh ngầm sẽ giúp bảo vệ tế bào thần kinh và mở khóa lại khả năng tiếp thu ngôn ngữ.
- Quay video thực tế (Quan trọng số 1): Hãy đặt sẵn điện thoại để quay lại khoảnh khắc trẻ đờ người, giật cơ, đảo mắt hoặc thức giấc ban đêm. Khi thấy trẻ bắt đầu đờ người, hãy vừa quay video vừa gọi tên/vẫy tay trước mắt trẻ để bác sĩ đánh giá mức độ mất ý thức.
- Yêu cầu đo Điện não đồ giấc ngủ (Sleep EEG / Video-EEG): Đo EEG thức ngắn hạn (15–20 phút) rất dễ bỏ sót sóng động kinh ngầm (đặc biệt là hội chứng Landau-Kleffner và ESES chỉ xuất hiện khi ngủ sâu). Hãy hỏi bác sĩ về chỉ định đo EEG giấc ngủ kéo dài tối thiểu 60–120 phút hoặc qua đêm.
- Chụp màn hình bảng kết quả này: Đưa danh sách các dấu hiệu ghi nhận được bên dưới cho bác sĩ Thần kinh nhi để tiết kiệm thời gian khai thác bệnh sử.
Trẻ chưa có các dấu hiệu cờ đỏ cấp tính nhưng có một số biểu hiện nằm ở vùng giao thoa giữa hành vi tự kích thích giác quan (Stimming) của tự kỷ và hoạt động điện não bất thường nhẹ.
- Thực hiện nghiệm pháp "Ngắt cơn": Mỗi khi thấy con nhìn đăm chiêu hoặc làm hành động lặp lại, hãy thử chạm vào vai và đưa món đồ con cực kỳ thích ra trước mặt. Nếu con nhìn theo ngay, đó thường là hành vi tự kỷ. Nếu con hoàn toàn không biết gì trong vài giây, hãy ghi chép lại.
- Lập nhật ký triệu chứng: Ghi lại thời điểm xảy ra (trước/sau khi ngủ, khi đang ăn...), thời gian kéo dài bao nhiêu giây và trạng thái của con sau đó.
- Nếu tần suất các cơn tăng lên hoặc việc học của con bị chững lại rõ rệt, cha mẹ nên cho con đi khám Thần kinh nhi để kiểm tra Điện não đồ (EEG) tầm soát.
Hiện tại, các biểu hiện của trẻ chủ yếu mang đặc trưng của rối loạn phổ tự kỷ (như thiếu tập trung có chọn lọc hoặc tự kích thích giác quan khi rảnh rỗi), hầu như không thấy dấu hiệu lâm sàng của cơn động kinh hay sóng động kinh ngầm gây thoái lui.
- Theo hướng dẫn y khoa hiện hành, trẻ tự kỷ không có triệu chứng nghi ngờ lâm sàng và phát triển tiến bộ đều đặn thì chưa bắt buộc phải can thiệp đo Điện não đồ ngay.
- Cha mẹ hãy yên tâm duy trì chương trình can thiệp giáo dục đặc biệt, ngôn ngữ trị liệu và đánh giá lại bảng kiểm này sau mỗi 6 tháng (hoặc khi trẻ bước vào giai đoạn tiền dậy thì).
- ';for(var k=0;k<redFlags.length;k++){rfHTML+='
- '+redFlags[k]+' ';}rfHTML+='
| Nhóm triệu chứng lâm sàng | Điểm số | Mức đánh giá |
|---|---|---|
| '+catNames[c]+' | '+s+' / 9 | '+badge+' |
'+levelTitle+'
💡 Nhiều người vẫn luôn nghĩ động kinh là phải có biểu hiện co giật bên ngoài, nhưng thực tế thì không phải.
Các nghiên cứu y khoa đã phân tích mối liên hệ giữa rối loạn phổ tự kỷ (ASD) và các bất thường trên điện não đồ (EEG) — thường được gọi là “sóng động kinh ngầm” hay phóng điện dạng động kinh dưới lâm sàng (Subclinical Epileptiform Discharges – SEDs), tức là có sóng bất thường trên máy đo nhưng trẻ không hề có cơn co giật thực tế bên ngoài.
📊 Số liệu thống kê từ các phân tích tổng hợp và nghiên cứu chuyên sâu:
- Tỷ lệ có sóng động kinh ngầm (không có cơn co giật): Dao động trung bình từ 20% đến 60% (phổ biến nhất trong khoảng 30% – 50%) tùy thuộc vào phương pháp đo (đo ngắn hạn hay đo qua đêm khi ngủ).
- Tỷ lệ mắc bệnh động kinh thực sự (có cơn co giật lâm sàng): Chiếm khoảng 15% đến 30% ở trẻ tự kỷ, cao hơn rất nhiều so với tỷ lệ 1% – 2% ở trẻ bình thường.
- Trường hợp ngoại lệ có tỷ lệ rất cao: Ở một nhóm nhỏ trẻ tự kỷ có hiện tượng thoái lui phát triển (trẻ đang nói được hoặc giao tiếp bình thường bỗng nhiên mất ngôn ngữ và kỹ năng) hoặc khi đo từ não đồ (MEG) chuyên sâu, tỷ lệ phát hiện sóng bất thường có thể lên tới 60% – 70% (một số nghiên cứu nhỏ lẻ ghi nhận tới gần 80% ở nhóm đặc thù này). Đây có thể là nguồn gốc khiến con số 80% bị hiểu nhầm và quy chụp cho toàn bộ trẻ phổ tự kỷ.
🩺 Khi nào cha mẹ thực sự cần đưa trẻ đi đo Điện não đồ (EEG)?
Bác sĩ chuyên khoa Thần kinh nhi thường chỉ định đo EEG (ưu tiên đo khi ngủ) nếu trẻ tự kỷ có kèm theo các dấu hiệu nghi ngờ sau:
- Thoái lui ngôn ngữ và kỹ năng rõ rệt: Đang biết nói bỗng nhiên im lặng, mất hẳn giao tiếp mắt sau 18–24 tháng tuổi.
- Các cơn “vắng ý thức” (Absence seizures): Trẻ đột ngột đờ người, mắt nhìn vô định trong vài giây đến vài chục giây, gọi hay vẫy tay trước mặt không phản ứng (khác với việc trẻ mải chơi không thèm quay lại).
- Cử động bất thường lặp lại: Giật nhẹ cơ mặt, nháy mắt liên tục kèm đờ đẫn, gục đầu đột ngột, hoặc giật cơ tay chân khi mới ngủ dậy.
Cụ thể hơn, ở trẻ tự kỷ, việc nhận biết các dấu hiệu nghi ngờ động kinh khá khó khăn vì nhiều biểu hiện rất giống với hành vi tự kích thích (stimming) hoặc sự thiếu tập trung đặc trưng của trẻ. Cha mẹ nên đưa trẻ đến khám chuyên khoa Thần kinh nhi để đo điện não đồ (EEG) nếu quan sát thấy 1 trong 5 nhóm biểu hiện dưới đây:
1. Thoái lui phát triển đột ngột hoặc mất ngôn ngữ Quan trọng nhất
- Biểu hiện: Trẻ trước đó đã nói được từ đơn, từ ghép, biết chỉ tay hoặc giao tiếp mắt nhưng đột nhiên mất hẳn các kỹ năng này (đặc biệt nếu xảy ra sau mốc 2–3 tuổi).
- Khả năng đi kèm: Trẻ nghe thấy âm thanh (vẫn giật mình khi có tiếng động lớn) nhưng hoàn toàn không hiểu lời nói của bố mẹ như thể bị điếc từ vựng. Đây là dấu hiệu cảnh báo cần đo điện não đồ giấc ngủ để loại trừ hội chứng Landau-Kleffner (mất ngôn ngữ mắc phải do sóng động kinh ngầm khi ngủ).
2. Các cơn “đờ người” – Vắng ý thức (Absence Seizures)
- Biểu hiện: Trẻ đang chơi, đang ăn hoặc đi lại thì đột ngột đứng khựng lại, mắt nhìn trân trân vào khoảng không trong khoảng 5 đến 20 giây, sau đó lại tiếp tục hoạt động như chưa có chuyện gì xảy ra.
- Dấu hiệu đi kèm trong cơn: Nháy mắt liên tục với tốc độ nhanh, môi mấp máy như đang nhai chép miệng, hoặc tay xoắn vặn quần áo một cách vô thức.
3. Giật cơ hoặc mất trương lực cơ bất thường
- Cơn gục đầu / khuỵu gối (Atonic): Trẻ đang ngồi hoặc đứng bỗng nhiên gục đầu xuống bàn cái “rụp”, hoặc đầu gối tự dưng mềm nhũn làm trẻ ngã khuỵu xuống đất trong tích tắc rồi tự đứng dậy ngay.
- Giật cơ (Myoclonic): Tay, chân hoặc vai của trẻ giật nảy lên một cái (giống như bị giật mình hoặc điện giật nhẹ), thường xảy ra thành từng chuỗi ngắn vào thời điểm vừa mới thức dậy hoặc bắt đầu thiu thiu ngủ.
- Lệch mắt, gồng cứng ngắn: Hai mắt đột ngột đảo ngược lên trên hoặc liếc cứng sang một bên kèm theo gồng nhẹ tay chân trong vài giây.
4. Rối loạn bất thường trong giấc ngủ
Sóng động kinh thường hoạt động mạnh nhất khi não chuyển từ trạng thái thức sang ngủ sâu:
- Trẻ đang ngủ bỗng ngồi bật dậy, mắt mở to hoảng loạn, tay chân đạp quẫy hoặc gồng cứng có tính chất lặp đi lặp lại giống hệt nhau vào các khung giờ cố định mỗi đêm.
- Tỉnh giấc vào buổi sáng với biểu hiện lừ đừ, mệt mỏi rã rời, yếu tạm thời một bên tay/chân, hoặc phát hiện vết cắn ở rìa lưỡi, tiểu dầm bất thường (ở trẻ đã biết tự chủ vệ sinh ban đêm).
5. Những cơn bùng nổ cảm xúc hoặc sợ hãi “không có lý do”
- Khác với cơn ăn vạ (luôn có nguyên nhân như đòi đồ chơi không được) hay quá tải giác quan (do chỗ đông người, tiếng ồn), cơn động kinh cục bộ ở thùy thái dương có thể khiến trẻ đột ngột ôm đầu, la hét, mặt tái mét vì sợ hãi tột độ, hoặc cười sặc sụa vô cớ trong 1–2 phút rồi lả đi, ngủ thiếp đi ngay sau đó.
🔍 Bảng phân biệt nhanh: Hành vi Tự kỷ hay Cơn Động kinh?
| Tiêu chí quan sát | Hành vi tự kỷ (Mất tập trung / Stimming) | Nghi ngờ cơn động kinh |
|---|---|---|
| Cách ngắt cơn | Có thể cắt ngang nếu bố mẹ chạm mạnh vào người, chắn tầm nhìn hoặc đưa món đồ trẻ cực kỳ thích ra trước mặt. | Không thể cắt ngang dù bố mẹ vỗ vào mặt, gọi to hay vẫy tay sát mắt; trẻ hoàn toàn “ngắt kết nối” trong vài giây đó. |
| Ánh mắt | Nhìn chăm chú vào một vật (bánh xe quay, quạt trần, ngón tay) hoặc liếc mắt có chủ đích. | Nhìn xuyên thấu vô hồn, đồng tử có thể giãn nhẹ, hoặc mắt giật/trợn ngược lên trên. |
| Sau khi kết thúc | Trẻ tỉnh táo bình thường, có thể cáu gắt nếu bị làm phiền khi đang tự kích thích. | Trẻ thường ngơ ngác vài giây, mệt mỏi, buồn ngủ rũ rượi, hoặc không nhớ mình vừa đánh rơi đồ vật trên tay. |
| Hoàn cảnh xuất hiện | Thường xảy ra khi trẻ rảnh rỗi, nhàm chán, quá phấn khích hoặc căng thẳng. | Xảy ra bất kỳ lúc nào, kể cả khi đang nhai cơm, đang bước cầu thang hay đang ngủ. |
Nguồn: Kiến thức y khoa chính thống, tham khảo và hỗ trợ từ AI.
Những Sai Lầm Và Sự Thật Về Phổ Tự Kỷ
Những hiểu sai về trẻ tự kỷ, được trích dẫn và tổng hợp bởi bác sỹ Quyết nhi tw, dưới đây sẽ giúp chúng ta hiểu sâu hơn về hội chứng này theo một lăng kính đặc biệt hơn.
Tự Kỷ Có Phải Là Bệnh?

Tất Cả Trẻ Tự Kỷ Đều Thông Minh Và Sẽ Thành Thiên Tài Nếu Nuôi Dậy Tốt?

Trẻ Tự Kỷ Không Biết Kết Bạn Và Chỉ Thích Cô Độc?

Trẻ Có Hội Chứng Phổ Tự Kỷ Không Biết Yêu Thương Và Vô Tâm?

Trẻ Tự Kỷ Không Muốn Giao Tiếp Với Ai?

Trẻ Tự Kỷ Không Có Đầy Đủ Các Cung Bậc Cảm Xúc?

Trẻ Tự Kỷ Hung Dữ Và Nguy Hiểm

Tất Cả Trẻ Tự Kỷ Trí Tuệ Đều Kém?

Có Thể Chữa Khỏi Phổ Tự Kỷ Được Không?

Trẻ bị rối loạn phổ tự kỷ có cần dùng thuốc không?
Rối loạn phổ tự kỷ (ASD) không có thuốc điều trị đặc hiệu cho các triệu chứng cốt lõi (như khiếm khuyết giao tiếp xã hội hay hành vi lặp đi lặp lại). Phương pháp nền tảng và quan trọng nhất vẫn là can thiệp giáo dục, tâm lý, ngôn ngữ trị liệu và hành vi.
Tuy nhiên, trẻ tự kỷ có thể cần dùng thuốc khi xuất hiện các triệu chứng đi kèm hoặc rối loạn đồng mắc ở mức độ nặng, gây nguy hiểm cho bản thân, gia đình hoặc làm cản trở quá trình học tập, can thiệp của trẻ.
Khi nào trẻ tự kỷ được chỉ định dùng thuốc?
Bác sĩ chuyên khoa Tâm thần Nhi chỉ cân nhắc kê đơn khi các biện pháp can thiệp hành vi đơn thuần không kiểm soát được các vấn đề sau:
| Nhóm triệu chứng đi kèm | Biểu hiện cụ thể ở trẻ | Mục đích dùng thuốc |
| Kích động, cáu gắt nghiêm trọng | Đập đầu, tự cắn mình, la hét kéo dài, tấn công người xung quanh, đập phá đồ đạc | Giảm cơn bùng nổ cảm xúc và hành vi tự gây thương tích (FDA đã phê duyệt một số thuốc như Risperidone, Aripiprazole cho nhóm triệu chứng này) |
| Tăng động giảm chú ý (ADHD) | Chạy nhảy liên tục không biết mệt, không thể ngồi yên quá vài phút để học can thiệp, bốc đồng | Giúp trẻ tập trung tốt hơn, giảm xung động để tiếp thu bài học từ giáo viên và cha mẹ |
| Rối loạn giấc ngủ nặng | Khó vào giấc, thức giấc nhiều lần trong đêm, ngủ rất ít gây kiệt sức và cáu gắt vào ban ngày | Điều hòa nhịp sinh học (thường bắt đầu bằng vệ sinh giấc ngủ hoặc Melatonin theo chỉ định) |
| Lo âu, cưỡng chế hoặc trầm cảm | Sợ hãi quá mức trước thay đổi nhỏ, căng thẳng cực độ, thu mình (thường gặp ở trẻ lớn/vị thành niên) | Giảm mức độ căng thẳng thần kinh, ổn định khí sắc |
| Động kinh (co giật) | Khoảng 20% – 30% trẻ tự kỷ có kèm bất thường điện não hoặc cơn động kinh | Kiểm soát cơn co giật bằng thuốc chống động kinh để bảo vệ tế bào não |
Nguyên tắc bắt buộc khi dùng thuốc cho trẻ tự kỷ
-
Thuốc là công cụ hỗ trợ, không thay thế can thiệp: Thuốc đóng vai trò giúp trẻ “dịu lại”, ngủ ngon hơn và tập trung hơn để có thể tham gia hiệu quả vào các giờ học âm ngữ trị liệu, tâm vận động và giáo dục đặc biệt.
-
Tuyệt đối không tự ý dùng thuốc hoặc thực phẩm chức năng truyền miệng: Mọi loại thuốc hướng thần đều cần bác sĩ chuyên khoa thăm khám trực tiếp, tính liều theo cân nặng (bắt đầu từ liều thấp nhất có hiệu quả) và theo dõi định kỳ các tác dụng phụ (như tăng cân, buồn ngủ, chảy nước dãi).
-
Không tự ý ngưng thuốc đột ngột: Khi thấy trẻ ổn định hơn, phụ huynh cần tái khám để bác sĩ giảm liều theo phác đồ, tránh hiện tượng dội ngược triệu chứng (rebound) làm trẻ kích động mạnh hơn.
Trẻ tự kỷ Bùng nổ nhanh, cáu gắt,... Chuẩn đoán theo cơ chế thần kinh?
Gần như trên 90% cha mẹ nuôi con tự kỷ đều gặp vấn đề bùng nổ cảm xúc ở trẻ. Hiện tượng một đứa trẻ thuộc phổ tự kỷ bùng nổ tức thì, la hét, đỏ mặt tía tai ngay khoảnh khắc bị từ chối hoặc bị yêu cầu chuyển đổi hoạt động (transition) thực chất là kết quả của một “phản ứng dây chuyền” trong não bộ.
🧠 TIẾP CẬN NGUYÊN NHÂN TRẺ TỰ KỶ BÙNG NỔ CẢM XÚC
Có 5 cơ chế thần kinh cốt lõi trong não bộ có thể là nguyên nhân gốc rễ châm ngòi cho vụ nổ này:
1. “Cú sốc tụt áp Dopamine” (Reward Prediction Error – RPE)
Đây là nguyên nhân hàng đầu giải thích cho việc bùng nổ khi bị từ chối hoặc bị lấy mất đồ đang chơi.
- Cơ chế: Hệ thống khen thưởng của não (tại Nhân accumbens và Thể vân – Striatum) hoạt động dựa trên Dopamine. Khi bé đang chơi vui hoặc đang kỳ vọng có được một thứ gì đó, mức Dopamine đang ở đỉnh cao. Khi bị từ chối đột ngột, trong não xảy ra hiện tượng gọi là Sai số dự đoán phần thưởng âm tính (Negative Reward Prediction Error) — nồng độ Dopamine rơi thẳng đứng xuống vực sâu trong vài phần nghìn giây.
- Hệ quả: Ở não bộ tự kỷ, sự sụt giảm Dopamine đột ngột này không chỉ gây cảm giác “tiếc nuối” nhẹ như người bình thường, mà nó kích hoạt ngay lập tức Vùng vỏ não đai trước (Anterior Cingulate Cortex – ACC) — vùng não xử lý nỗi đau thể xác. Tức là đối với não của bé, câu nói “Không được!” tạo ra một tín hiệu thần kinh tương đương với việc bị đánh đau, dẫn đến phản ứng gào thét dữ dội để tự vệ.
2. “Kẹt số” tại Hạch nền và Vỏ não trán ổ mắt (Cognitive Inflexibility)
Cơ chế này giải thích tại sao bé bùng nổ khi phải chuyển tiếp hoạt động (ví dụ: đang xếp hình phải dừng lại đi tắm).
- Cơ chế: Để chuyển từ hành động A sang hành động B, Vỏ não trán ổ mắt (Orbitofrontal Cortex – OFC) và Hạch nền (Basal Ganglia – đặc biệt là Nhân đuôi) phải thực hiện thao tác: “Tắt chương trình A → Xóa bộ nhớ đệm → Bật chương trình B”.
- Hệ quả: Ở trẻ tự kỷ, mạch thần kinh tại Hạch nền có xu hướng “khóa cứng” để duy trì tính ổn định (cũng là nơi tạo ra các hành vi lặp đi lặp lại). Khi người lớn bắt bé chuyển hoạt động ngay lập tức, não bé rơi vào trạng thái “kẹt số cơ học” — chương trình A chưa kịp tắt mà chương trình B đã bị ép nạp vào. Sự xung đột dữ liệu này gây ra “đoản mạch” tạm thời, kích hoạt hệ thống báo động khẩn cấp.
3. Mất cân bằng Hưng phấn / Ức chế (Tỷ lệ Glutamate / GABA)
Đây là cơ chế ở cấp độ hóa học tế bào giải thích tại sao cơn bùng nổ lại diễn ra nhanh (dưới 1 giây) và kéo dài (khó dỗ).
- Cơ chế: Não bộ vận hành nhờ hai bàn đạp: Glutamate (chất dẫn truyền kích thích – chân ga) và GABA (chất dẫn truyền ức chế – chân phanh). Một giả thuyết rất nổi tiếng trong khoa học tự kỷ là sự mất cân bằng tỷ lệ E/I (Excitation/Inhibition Imbalance) — tức là thừa Glutamate nhưng thiếu hụt GABA (hoặc thụ thể GABA hoạt động kém hiệu quả).
- Hệ quả: Khi có một kích thích nhỏ (bị từ chối), vì thiếu “chất làm dịu” GABA tại chỗ, các nơ-ron vùng cảm xúc bắn xung điện bằng Glutamate lan truyền như một đám cháy rừng không có vòi cứu hỏa. Đặc biệt, trong Hiệu ứng Sốt, nhiệt độ và các cytokine viêm đã được chứng minh là giúp điều chỉnh lại hoạt động của hệ Glutamate/GABA này, giúp não bé êm dịu hơn.
4. “Phanh dây thần kinh Phế vị” bị tuột (Polyvagal Theory & Vagal Brake)
Cơ chế này giải thích trực tiếp hiện tượng “đỏ mặt tía tai” và chuyển từ cáu giận sang la hét không kiểm soát.
- Cơ chế: Theo Lý thuyết Đa phế vị (Polyvagal Theory của Tiến sĩ Stephen Porges), nhánh bụng của Dây thần kinh số X (Dây thần kinh Phế vị – Vagus Nerve) đóng vai trò giữ nhịp tim bình tĩnh và điều khiển cơ mặt, giọng nói để giao tiếp xã hội. Nó được gọi là “Phanh Phế vị” (Vagal Brake).
- Hệ quả: Ở trẻ tự kỷ, trương lực dây thần kinh phế vị khi gặp căng thẳng thường rất mỏng manh. Ngay khi gặp điều không vừa ý, “Phanh Phế vị” bị nhả ra hoàn toàn trong tích tắc. Ngay lập tức, máu dồn lên mặt (đỏ mặt tía tai), thanh quản co thắt tạo ra tiếng la hét tần số cao, và hệ thần kinh lùi về trạng thái sinh tồn nguyên thủy.
5. Vùng Dưới đồi và Chất xám quanh cống não (PAG – Công tắc thịnh nộ)
Nếu một đứa trẻ chỉ cáu bình thường thì chỉ dừng ở vỏ não và hạch hạnh nhân. Nhưng nếu trẻ la hét kéo dài, đỏ mặt tía tai, đập phá, tín hiệu đã đi xuống sâu hơn:
- Cơ chế: Khi Hạch hạnh nhân bị kích thích quá ngưỡng mà không có Vỏ não trước trán kìm lại, nó truyền lệnh thẳng xuống Vùng dưới đồi (Hypothalamus) và Chất xám quanh cống não (Periaqueductal Gray – PAG) ở trung não.
- Hệ quả: PAG chính là trung tâm điều khiển phản ứng “Thịnh nộ phòng vệ” (Defensive Rage) bẩm sinh của động vật có vú. Một khi PAG đã bị kích hoạt, đứa trẻ hoàn toàn không còn khả năng nghe lời giải thích lý lẽ (vì vùng ngôn ngữ đã bị ngắt kết nối tạm thời), và cơ thể phải xả hết năng lượng sinh học qua việc la hét thì cơn bùng nổ mới dừng lại.
🔍 LÀM SAO ĐỂ BIẾT NGUYÊN NHÂN NÀO ĐANG CHIẾM ƯU THẾ Ở BÉ?
Bảng tổng hợp dưới đây sẽ giúp bạn định hình nguyên nhân nào đang chiếm ưu thế ở bé:
| Nguyên nhân thần kinh | Dấu hiệu nhận biết đặc trưng trong cơn bùng nổ | Đích tác động sinh học / dược lý tương ứng |
|---|---|---|
| 1. Tụt áp Dopamine (RPE) | Chỉ bùng nổ khi bị từ chối thứ đang muốn hoặc bị lấy mất đồ chơi yêu thích. Nếu được cho lại món đồ đó thì nín ngay lập tức. | Hệ Dopamine/Norepinephrine tại vỏ não trước trán và thể vân. |
| 2. Kẹt số chuyển tiếp (OFC & Hạch nền) | Bùng nổ ngay cả khi chuyển từ một việc bình thường sang một việc bé rất thích (chỉ vì sự thay đổi diễn ra bất ngờ, không báo trước). | Hệ Serotonin, Dopamine và tính linh hoạt của mạng lưới điều hành (Alpha-2A). |
| 3. Thiếu hụt phanh GABA / Thừa Glutamate | Cơn bùng nổ kéo dài rất lâu (“lâu hơn là la hét”), dù nguyên nhân ban đầu đã được giải quyết nhưng não bé vẫn không tự “hạ nhiệt” được. | Hệ GABAergic / Glutamatergic (Đây là đích mà cơn sốt và các chất chống viêm thần kinh như Sulforaphane, NAC tác động rất mạnh). |
| 4. Kích hoạt trục Hạnh nhân – Nhân xanh (NE) | Phản ứng thể chất cực nhanh (đỏ mặt tía tai trong vài giây), gồng cứng người, tim đập thình thịch lúc đang cáu. | Thụ thể Alpha-2A (Guanfacine) để giữ phanh từ trên xuống, hoặc Beta-blocker (Propranolol) khóa phản ứng đỏ mặt/tim đập. |
📌 Thực tế lâm sàng: Đến trên 80% trẻ tự kỷ gắn với nguyên nhân “Tụt áp Dopamine (RPE)” với biểu hiện đặc trưng: “Chỉ bùng nổ khi bị từ chối thứ đang muốn hoặc bị lấy mất đồ chơi yêu thích. Nếu được cho lại món đồ đó thì nín ngay lập tức”.
📖 Làm sao để điều trị cáu gắt, bùng nổ cảm xúc ở trẻ tự kỷ? Những bài viết dưới đây sẽ hữu ích:
Công cụ đánh giá Tự Kỷ
Trên thế giới và cả ở Việt Nam hiện nay, việc đánh giá Rối loạn phổ tự kỷ (ASD) không dựa vào một bài kiểm tra đơn lẻ mà được chia thành các nhóm công cụ theo từng mục đích cụ thể: Sàng lọc ban đầu, Chẩn đoán chuyên sâu và Đánh giá chức năng hỗ trợ lập kế hoạch can thiệp. Tất cả các công cụ này được số hoá vào các danh mục dưới đây với dữ liệu đều được đối chiếu với hệ thống tiêu chuẩn y khoa quốc tế là DSM-5-TR (Mỹ) và ICD-11 (WHO).
Sàng lọc ban đầu (Phát hiện sớm nguy cơ)
(function(){
function mountShadowScreening(){
var host = document.getElementById('phuchoi-screening-host');
if(!host) return;
if(host.shadowRoot) return;
if(!host.attachShadow) return;
var shadow = host.attachShadow({mode:'open'});
var css = [
':host{all:initial;display:block;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:#1e293b;line-height:1.6;width:100%;box-sizing:border-box;}',
'*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}',
'.screening-card{width:100%;background:#ffffff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 8px 24px rgba(15,23,42,0.05);overflow:hidden;}',
'.sc-intro{background:linear-gradient(135deg,#fffbeb 0%,#fef3c7 100%);padding:20px 24px;border-bottom:1px solid #fde68a;display:flex;align-items:center;gap:14px;}',
'.sc-icon{font-size:26px;line-height:1;background:#ffffff;width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 10px rgba(217,119,6,0.12);flex-shrink:0;}',
'.sc-intro-text{font-size:15px;color:#0f172a;margin:0;}',
'.sc-intro-text strong{color:#b45309;font-weight:700;}',
'.sc-table{width:100%;border-collapse:collapse;border-spacing:0;}',
'.sc-table thead th{background:#f8fafc;color:#334155;font-size:12.5px;font-weight:800;text-transform:uppercase;letter-spacing:0.4px;padding:14px 20px;text-align:left;border-bottom:2px solid #e2e8f0;}',
'.sc-table tbody tr{border-bottom:1px solid #e2e8f0;transition:background 0.2s ease;}',
'.sc-table tbody tr:last-child{border-bottom:none;}',
'.sc-table tbody tr:hover{background:#f8fafc;}',
'.sc-table td{padding:20px;vertical-align:top;}',
'.step-tag{display:inline-block;font-size:11px;font-weight:700;padding:2px 9px;border-radius:999px;text-transform:uppercase;margin-bottom:6px;}',
'.tag-blue{background:#dbeafe;color:#1d4ed8;}',
'.tag-green{background:#dcfce7;color:#15803d;}',
'.group-badge{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:800;color:#0f172a;}',
'.tools-wrap{display:flex;flex-wrap:wrap;gap:8px;}',
'.tool-link{display:inline-flex;align-items:center;gap:5px;padding:6px 13px;border-radius:8px;font-size:13.5px;font-weight:700;text-decoration:none;transition:all 0.18s ease;border:1.5px solid transparent;cursor:pointer;}',
'.tool-link::after{content:"↗";font-size:11px;opacity:0.75;}',
'.tool-blue{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe;}',
'.tool-blue:hover{background:#2563eb;color:#ffffff;border-color:#2563eb;transform:translateY(-2px);box-shadow:0 4px 10px rgba(37,99,235,0.25);}',
'.tool-green{background:#f0fdf4;color:#15803d;border-color:#bbf7d0;}',
'.tool-green:hover{background:#16a34a;color:#ffffff;border-color:#16a34a;transform:translateY(-2px);box-shadow:0 4px 10px rgba(22,163,74,0.25);}',
'.desc-text{font-size:14.2px;color:#334155;margin:0;}',
'@media (max-width:768px){.sc-intro{padding:16px;align-items:flex-start;}.sc-table thead{display:none;}.sc-table,.sc-table tbody,.sc-table tr,.sc-table td{display:block;width:100%;}.sc-table tbody tr{padding:16px;}.sc-table td{padding:6px 0;}.tools-wrap{margin:6px 0 8px 0;}}'
].join('');
var styleEl = document.createElement('style');
styleEl.textContent = css;
shadow.appendChild(styleEl);
var rowsData = [
{
stepCls: 'tag-blue',
stepTxt: 'Nhóm 1 • Chuyên biệt',
title: '🧩 Nhóm sàng lọc Tự kỷ',
btnCls: 'tool-blue',
tools: [
{name: 'M-CHAT-R/F', url: 'https://phuchoi.vn/kien-thuc/cong-cu/sang-loc-ban-dau/m-chat-r-f/'},
{name: 'STAT', url: 'https://phuchoi.vn/kien-thuc/cong-cu/sang-loc-ban-dau/stat/'},
{name: 'SCQ', url: 'https://phuchoi.vn/kien-thuc/cong-cu/sang-loc-ban-dau/scq/'},
{name: 'CAST', url: 'https://phuchoi.vn/kien-thuc/cong-cu/sang-loc-ban-dau/cast/'},
{name: 'ASSQ', url: 'https://phuchoi.vn/kien-thuc/cong-cu/sang-loc-ban-dau/assq/'},
{name: 'AQ', url: 'https://phuchoi.vn/kien-thuc/cong-cu/sang-loc-ban-dau/aq/'},
{name: 'RAADS-R', url: 'https://phuchoi.vn/kien-thuc/cong-cu/sang-loc-ban-dau/raads-r/'},
{name: 'CSBS DP', url: 'https://phuchoi.vn/kien-thuc/cong-cu/sang-loc-ban-dau/csbs-dp/'},
{name: 'SRS-2', url: 'https://phuchoi.vn/kien-thuc/cong-cu/sang-loc-ban-dau/srs-2/'}
],
desc: 'Các bộ câu hỏi chuẩn hóa giúp phát hiện sớm dấu hiệu nguy cơ tự kỷ qua từng độ tuổi, làm cơ sở định hướng thăm khám chuyên sâu.'
},
{
stepCls: 'tag-green',
stepTxt: 'Nhóm 2 • Toàn diện',
title: '🌱 Nhóm sàng lọc Phát triển chung',
btnCls: 'tool-green',
tools: [
{name: 'ASQ-3', url: 'https://phuchoi.vn/kien-thuc/cong-cu/sang-loc-ban-dau/asq-3/'},
{name: 'Denver II', url: 'https://phuchoi.vn/kien-thuc/cong-cu/sang-loc-ban-dau/denver-ii/'},
{name: 'PEDS', url: 'https://phuchoi.vn/kien-thuc/cong-cu/sang-loc-ban-dau/peds/'}
],
desc: 'Rà soát các mốc phát triển toàn diện (vận động, ngôn ngữ, nhận thức, xã hội) theo độ tuổi của trẻ.'
}
];
var card = document.createElement('div');
card.className = 'screening-card';
var intro = document.createElement('div');
intro.className = 'sc-intro';
var icon = document.createElement('div');
icon.className = 'sc-icon';
icon.textContent = '⚠️';
var introP = document.createElement('p');
introP.className = 'sc-intro-text';
introP.appendChild(document.createTextNode('Với các bộ công cụ bên dưới, kết quả sàng lọc chỉ mang tính chất '));
var strongEl = document.createElement('strong');
strongEl.textContent = 'cảnh báo sớm';
introP.appendChild(strongEl);
introP.appendChild(document.createTextNode(', không thay thế cho kết luận chẩn đoán y khoa chuyên sâu.'));
intro.appendChild(icon);
intro.appendChild(introP);
card.appendChild(intro);
var table = document.createElement('table');
table.className = 'sc-table';
var thead = document.createElement('thead');
var trHead = document.createElement('tr');
var headers = [
{txt: 'Phân Nhóm Sàng Lọc', w: '26%'},
{txt: 'Bộ Công Cụ Chuẩn Hóa (Nhấn để xem)', w: '36%'},
{txt: 'Vai Trò & Ý Nghĩa Thực Tiễn', w: '38%'}
];
headers.forEach(function(h){
var th = document.createElement('th');
th.style.width = h.w;
th.textContent = h.txt;
trHead.appendChild(th);
});
thead.appendChild(trHead);
table.appendChild(thead);
var tbody = document.createElement('tbody');
rowsData.forEach(function(r){
var tr = document.createElement('tr');
var td1 = document.createElement('td');
var tag = document.createElement('span');
tag.className = 'step-tag ' + r.stepCls;
tag.textContent = r.stepTxt;
var badge = document.createElement('div');
badge.className = 'group-badge';
badge.textContent = r.title;
td1.appendChild(tag);
td1.appendChild(badge);
var td2 = document.createElement('td');
var wrap = document.createElement('div');
wrap.className = 'tools-wrap';
r.tools.forEach(function(t){
var a = document.createElement('a');
a.className = 'tool-link ' + r.btnCls;
a.href = t.url;
a.target = '_blank';
a.rel = 'noopener';
a.textContent = t.name;
wrap.appendChild(a);
});
td2.appendChild(wrap);
var td3 = document.createElement('td');
var desc = document.createElement('p');
desc.className = 'desc-text';
desc.textContent = r.desc;
td3.appendChild(desc);
tr.appendChild(td1);
tr.appendChild(td2);
tr.appendChild(td3);
tbody.appendChild(tr);
});
table.appendChild(tbody);
card.appendChild(table);
shadow.appendChild(card);
}
if(document.readyState === 'loading'){
document.addEventListener('DOMContentLoaded', mountShadowScreening);
} else {
mountShadowScreening();
}
})();
[Tự kỷ] CSBS DP: Bảng kiểm sàng lọc sớm giao tiếp và dấu hiệu tự kỷ cho trẻ rất nhỏ (6 – 24 tháng)
(function() { const host = document.getElementById('csbsdp-wp-host'); if (!host) return; const placeholder = document.createComment('csbsdp-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // Bảng Ngưỡng Điểm Cắt Đáng Lo Ngại (Concern Cutoffs 24 tháng) // Nếu điểm của trẻ <= các mốc dưới đây thì rơi vào vùng "Đáng lo ngại (Concern)" const normCutoffsByMonth = { 6: { soc: 7, spe: 1, sym: 2, tot: 12 }, 7: { soc: 8, spe: 1, sym: 2, tot: 13 }, 8: { soc: 9, spe: 2, sym: 3, tot: 16 }, 9: { soc: 11, spe: 2, sym: 3, tot: 18 }, 10: { soc: 13, spe: 3, sym: 4, tot: 22 }, 11: { soc: 14, spe: 3, sym: 5, tot: 24 }, 12: { soc: 15, spe: 4, sym: 6, tot: 27 }, 13: { soc: 16, spe: 4, sym: 7, tot: 29 }, 14: { soc: 17, spe: 5, sym: 8, tot: 32 }, 15: { soc: 18, spe: 5, sym: 9, tot: 34 }, 16: { soc: 19, spe: 6, sym: 10, tot: 37 }, 17: { soc: 19, spe: 6, sym: 11, tot: 38 }, 18: { soc: 20, spe: 7, sym: 11, tot: 40 }, 19: { soc: 20, spe: 8, sym: 12, tot: 42 }, 20: { soc: 20, spe: 8, sym: 12, tot: 42 }, 21: { soc: 20, spe: 9, sym: 13, tot: 44 }, 22: { soc: 20, spe: 9, sym: 13, tot: 44 }, 23: { soc: 21, spe: 10, sym: 14, tot: 46 }, 24: { soc: 21, spe: 10, sym: 14, tot: 46 } }; // Cấu hình 7 Cụm kỹ năng (Clusters) thuộc 3 Chỉ số Tổng hợp (Composites) const clusterConfigs = { emo: { code: 'emo', comp: 'soc', max: 8, name: 'Cụm 1. Cảm xúc & Giao tiếp Ánh mắt (Emotion & Eye Gaze • 4 câu)', color: '#2563eb' }, com: { code: 'com', comp: 'soc', max: 8, name: 'Cụm 2. Giao tiếp Có Chủ đích (Communication • 4 câu)', color: '#1d4ed8' }, ges: { code: 'ges', comp: 'soc', max: 10, name: 'Cụm 3. Cử chỉ Giao tiếp (Gestures • 5 câu)', color: '#3b82f6' }, snd: { code: 'snd', comp: 'spe', max: 8, name: 'Cụm 4. Âm thanh Tiền ngôn ngữ (Sounds • 3 câu)', color: '#0d9488' }, wrd: { code: 'wrd', comp: 'spe', max: 6, name: 'Cụm 5. Từ vựng & Kết hợp từ (Words • 2 câu)', color: '#059669' }, und: { code: 'und', comp: 'sym', max: 6, name: 'Cụm 6. Thông hiểu Ngôn ngữ (Understanding • 2 câu)', color: '#7c3aed' }, obj: { code: 'obj', comp: 'sym', max: 11, name: 'Cụm 7. Sử dụng Đồ vật & Chơi giả vờ (Object Use • 4 câu)', color: '#9333ea' } }; // Đầy đủ 24 Câu hỏi chuẩn của CSBS DP Infant-Toddler Checklist (Tổng điểm tối đa = 57 điểm) const stdOpts012 = [ { pt: 0, lbl: 'Chưa có (Not Yet • 0đ)' }, { pt: 1, lbl: 'Thỉnh thoảng (Sometimes • 1đ)' }, { pt: 2, lbl: 'Thường xuyên (Often • 2đ)' } ]; const questions = [ // CỤM 1: CẢM XÚC & GIAO TIẾP ÁNH MẮT (Câu 1 - 4 • Max 8đ • Thuộc SOCIAL COMPOSITE) { id: 1, clu: 'emo', comp: 'soc', t: 'Bạn có dễ dàng nhận biết được khi nào bé đang vui vẻ và khi nào bé đang khó chịu/buồn bực không?', opts: stdOpts012 }, { id: 2, clu: 'emo', comp: 'soc', t: 'Khi đang chơi với các món đồ chơi, bé có quay sang nhìn bạn để xem bạn có đang nhìn bé chơi không?', opts: stdOpts012 }, { id: 3, clu: 'emo', comp: 'soc', t: 'Bé có mỉm cười hoặc cười thành tiếng trong khi đang nhìn vào mắt bạn không?', opts: stdOpts012 }, { id: 4, clu: 'emo', comp: 'soc', t: 'Khi bạn nhìn và chỉ tay vào một món đồ chơi ở góc bên kia phòng, bé có nhìn theo hướng tay bạn chỉ tới món đồ chơi đó không?', opts: stdOpts012 }, // CỤM 2: GIAO TIẾP CÓ CHỦ ĐÍCH (Câu 5 - 8 • Max 8đ • Thuộc SOCIAL COMPOSITE) { id: 5, clu: 'com', comp: 'soc', t: 'Bé có biết chủ động cho bạn biết khi bé cần sự giúp đỡ hoặc muốn lấy một đồ vật nằm ngoài tầm tay với không?', opts: stdOpts012 }, { id: 6, clu: 'com', comp: 'soc', t: 'Khi bạn đang không chú ý đến bé, bé có cố gắng làm điều gì đó (như phát âm, gọi, kéo áo) để thu hút sự chú ý của bạn không?', opts: stdOpts012 }, { id: 7, clu: 'com', comp: 'soc', t: 'Bé có làm những trò ngộ nghĩnh, đáng yêu chỉ để khiến bạn bật cười không?', opts: stdOpts012 }, { id: 8, clu: 'com', comp: 'soc', t: 'Bé có cố gắng thu hút bạn chú ý nhìn vào những đồ vật mà bé thấy thú vị (nhưng không phải để xin lấy hộ) không?', opts: stdOpts012 }, // CỤM 3: CỬ CHỈ GIAO TIẾP (Câu 9 - 13 • Max 10đ • Thuộc SOCIAL COMPOSITE) { id: 9, clu: 'ges', comp: 'soc', t: 'Bé có biết cầm lấy một đồ vật và đưa trao vào tay bạn không?', opts: stdOpts012 }, { id: 10, clu: 'ges', comp: 'soc', t: 'Bé có giơ đồ vật lên đưa cho bạn xem (khoe đồ) nhưng không phải để đưa hẳn cho bạn không?', opts: stdOpts012 }, { id: 11, clu: 'ges', comp: 'soc', t: 'Bé có biết vẫy tay chào tạm biệt ("Bye-bye") không?', opts: stdOpts012 }, { id: 12, clu: 'ges', comp: 'soc', t: 'Bé có biết dùng ngón tay chỉ trỏ vào các đồ vật ở xa không?', opts: stdOpts012 }, { id: 13, clu: 'ges', comp: 'soc', t: 'Bé có biết gật đầu để biểu thị ý "Có / Đồng ý" không?', opts: stdOpts012 }, // CỤM 4: ÂM THANH TIỀN NGÔN NGỮ (Câu 14 - 16 • Max 8đ • Thuộc SPEECH COMPOSITE) { id: 14, clu: 'snd', comp: 'spe', t: 'Bé có sử dụng các âm thanh hoặc từ ngữ để xin giúp đỡ hoặc để thu hút sự chú ý của bạn không?', opts: stdOpts012 }, { id: 15, clu: 'snd', comp: 'spe', t: 'Bé có biết ghép các âm thanh lại với nhau thành chuỗi âm tiết lặp lại (ví dụ: "ba-ba-ba", "ma-ma", "đa-ga") không?', opts: stdOpts012 }, { id: 16, clu: 'snd', comp: 'spe', t: 'Bé đã phát âm được khoảng bao nhiêu phụ âm sau đây: M, N, B, P, D, T, G, K, V, L, S, X, Ch, Nh...?', opts: [ { pt: 0, lbl: 'Chưa có âm nào (0đ)' }, { pt: 1, lbl: '1 – 2 phụ âm (1đ)' }, { pt: 2, lbl: '3 – 4 phụ âm (2đ)' }, { pt: 3, lbl: '5 – 8 phụ âm (3đ)' }, { pt: 4, lbl: 'Trên 8 phụ âm (4đ)' } ] }, // CỤM 5: TỪ VỰNG & KẾT HỢP TỪ (Câu 17 - 18 • Max 6đ • Thuộc SPEECH COMPOSITE) { id: 17, clu: 'wrd', comp: 'spe', t: 'Bé đã tự nói được khoảng bao nhiêu từ đơn có nghĩa mà bạn nhận ra được (như "Mẹ", "Bà", "Măm", "Bóng", "Xe" — tính cả từ phát âm chưa thật tròn vành)?', opts: [ { pt: 0, lbl: 'Chưa nói từ nào (0đ)' }, { pt: 1, lbl: '1 – 3 từ đơn (1đ)' }, { pt: 2, lbl: '4 – 10 từ đơn (2đ)' }, { pt: 3, lbl: '11 – 30 từ đơn (3đ)' }, { pt: 4, lbl: 'Trên 30 từ vựng (4đ)' } ] }, { id: 18, clu: 'wrd', comp: 'spe', t: 'Bé có biết ghép 2 từ lại với nhau thành cụm từ có nghĩa (ví dụ: "Thêm nữa", "Mẹ bế", "Đi chơi", "Bóng này") không?', opts: stdOpts012 }, // CỤM 6: THÔNG HIỂU NGÔN NGỮ (Câu 19 - 20 • Max 6đ • Thuộc SYMBOLIC COMPOSITE) { id: 19, clu: 'und', comp: 'sym', t: 'Khi bạn gọi tên của bé, bé có quay đầu lại nhìn hoặc phản ứng ngay không?', opts: stdOpts012 }, { id: 20, clu: 'und', comp: 'sym', t: 'Bé hiểu được khoảng bao nhiêu tên gọi của người thân, bộ phận cơ thể hoặc đồ vật quen thuộc khi bạn hỏi mà không chỉ tay (như "Mẹ đâu?", "Bóng đâu?", "Mũi đâu?")?', opts: [ { pt: 0, lbl: 'Chưa hiểu tên đồ vật nào (0đ)' }, { pt: 1, lbl: 'Hiểu 1 – 3 tên gọi (1đ)' }, { pt: 2, lbl: 'Hiểu 4 – 10 tên gọi (2đ)' }, { pt: 3, lbl: 'Hiểu 11 – 30 tên gọi (3đ)' }, { pt: 4, lbl: 'Hiểu trên 30 tên gọi (4đ)' } ] }, // CỤM 7: SỬ DỤNG ĐỒ VẬT & CHƠI GIẢ VỜ (Câu 21 - 24 • Max 11đ • Thuộc SYMBOLIC COMPOSITE) { id: 21, clu: 'obj', comp: 'sym', t: 'Bé có tỏ ra thích thú chơi với nhiều loại đồ vật/đồ chơi đa dạng khác nhau (không chỉ dính chặt vào 1 món duy nhất) không?', opts: stdOpts012 }, { id: 22, clu: 'obj', comp: 'sym', t: 'Bé biết sử dụng đúng chức năng được khoảng bao nhiêu đồ vật thực tế sau đây: Cốc (để uống), Thìa/Bát (để xúc), Lược (chải đầu), Bàn chải (đánh răng), Điện thoại (áp lên tai), Xe hơi (đẩy lăn)?', opts: [ { pt: 0, lbl: 'Chưa biết dùng đúng chức năng (0đ)' }, { pt: 1, lbl: '1 – 2 đồ vật (1đ)' }, { pt: 2, lbl: '3 – 4 đồ vật (2đ)' }, { pt: 3, lbl: 'Từ 5 đồ vật trở lên (3đ)' } ] }, { id: 23, clu: 'obj', comp: 'sym', t: 'Bé có thể xếp chồng được khoảng bao nhiêu khối gỗ (hoặc hộp/vòng xếp) lên nhau thành tháp?', opts: [ { pt: 0, lbl: 'Chưa biết xếp chồng (0đ)' }, { pt: 1, lbl: 'Xếp được 2 khối (1đ)' }, { pt: 2, lbl: 'Xếp được 3 – 4 khối (2đ)' }, { pt: 3, lbl: 'Xếp được từ 5 khối trở lên (3đ)' } ] }, { id: 24, clu: 'obj', comp: 'sym', t: 'Bé có biết chơi đóng vai giả vờ chăm sóc búp bê hoặc thú nhồi bông (như lấy thìa đút cho gấu ăn, cho búp bê uống nước, đắp chăn ru búp bê ngủ) không?', opts: [ { pt: 0, lbl: 'Chưa biết chơi giả vờ (0đ)' }, { pt: 1, lbl: 'Thỉnh thoảng / Làm theo mẫu (1đ)' }, { pt: 3, lbl: 'Thường xuyên tự chơi giả vờ đa dạng (3đ)' } ] } ]; let childMonth = 18; // Mặc định 18 tháng tuổi (Có thể chọn bất kỳ tháng nào từ 6 đến 24 tháng) let answers = {}; let filterComp = 'all'; // 'all' | 'soc' | 'spe' | 'sym' let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .cs-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .cs-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .cs-inner { padding: 24px; max-width: 980px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .cs-wrap.is-fullscreen .cs-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .cs-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 0 rgba(37, 99, 235, 0.4); } 70% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 10px rgba(37, 99, 235, 0); } 100% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 0 rgba(37, 99, 235, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #1d4ed8 0%, #2563eb 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Header */ .cs-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .cs-header-text { flex: 1 1 260px; } .cs-title { font-size: 21px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .cs-desc { font-size: 14px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #eff6ff; color: #1d4ed8; border: 1px solid #bfdbfe; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #2563eb; color: #ffffff; border-color: #2563eb; } /* Controls */ .cs-top-panel { display: grid; grid-template-columns: 1fr 1.4fr; gap: 12px; background: #f8fafc; border: 1px solid #cbd5e1; border-radius: 12px; padding: 14px; margin-bottom: 14px; } .cs-lbl { font-size: 12px; font-weight: 800; color: #0f172a; text-transform: uppercase; display: block; margin-bottom: 6px; } .cs-select { width: 100%; padding: 8px 10px; border: 1px solid #2563eb; border-radius: 7px; font-size: 14px; font-weight: 700; color: #1e3a8a; background: #ffffff; } .cs-presets { display: flex; flex-wrap: wrap; gap: 6px; } .cs-pbtn { padding: 7px 10px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 600; color: #334155; cursor: pointer; flex: 1 1 auto; text-align: center; touch-action: manipulation; } .cs-pbtn:hover { background: #f1f5f9; } .cs-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; } .cs-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 16px; } .cs-tab { padding: 6px 12px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .cs-tab.active { background: #2563eb; color: #ffffff; border-color: #2563eb; } /* Sticky Dashboard */ .cs-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .cs-wrap.is-fullscreen .cs-dash { top: 58px; } .cs-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .cs-score-big { font-size: 21px; font-weight: 800; line-height: 1.2; } .cs-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .cs-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .cs-pillars { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; font-size: 12px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .cs-pillar-box { background: #1e293b; padding: 8px 10px; border-radius: 8px; border-left: 3px solid #475569; } .cs-pillar-box.concern { border-left-color: #ef4444; background: rgba(239, 68, 68, 0.16); } .cs-pillar-box.ok { border-left-color: #10b981; } .cs-pillar-val { font-weight: 800; color: #ffffff; font-size: 13.5px; display: block; margin-top: 2px; } /* Danh sách 24 câu hỏi */ .cs-item { border: 1px solid #e2e8f0; border-radius: 10px; padding: 14px 16px; margin-bottom: 10px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 8px; } .cs-item.pts-high { border-color: #a7f3d0; background: #f0fdf4; } .cs-item.pts-mid { border-color: #fde68a; background: #fffbeb; } .cs-item.pts-zero { border-color: #fca5a5; background: #fff5f5; } .cs-item-title { font-size: 14.5px; font-weight: 600; color: #1e293b; } .cs-tags { display: flex; flex-wrap: wrap; gap: 6px; } .cs-tag { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .cs-ans-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; } .cs-ans-grid.grid-4 { grid-template-columns: repeat(4, 1fr); } .cs-ans-grid.grid-5 { grid-template-columns: repeat(5, 1fr); } .cs-abtn { padding: 8px 6px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 700; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .cs-abtn:hover { border-color: #64748b; } .cs-abtn.sel-zero { background: #ef4444; border-color: #ef4444; color: #ffffff; } .cs-abtn.sel-mid { background: #f59e0b; border-color: #f59e0b; color: #ffffff; } .cs-abtn.sel-max { background: #10b981; border-color: #10b981; color: #ffffff; } /* Biểu đồ 7 Cụm kỹ năng & Kết luận */ .cs-chart-card { margin-top: 20px; padding: 16px 18px; border-radius: 12px; background: #ffffff; border: 1px solid #e2e8f0; } .cs-bar-row { display: flex; align-items: center; gap: 10px; margin-bottom: 9px; font-size: 12.5px; } .cs-bar-lbl { width: 280px; flex-shrink: 0; font-weight: 600; color: #334155; } .cs-bar-track { flex: 1; height: 16px; background: #f1f5f9; border-radius: 999px; overflow: hidden; } .cs-bar-val { width: 95px; text-align: right; font-weight: 700; color: #0f172a; flex-shrink: 0; } .cs-result-box { margin-top: 16px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #2563eb; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 740px) { .cs-inner { padding: 14px; } .cs-title { font-size: 18px; } .cs-top-panel { grid-template-columns: 1fr; } .cs-pillars { grid-template-columns: 1fr 1fr; } .cs-ans-grid, .cs-ans-grid.grid-4, .cs-ans-grid.grid-5 { grid-template-columns: 1fr; } .cs-bar-lbl { width: 150px; font-size: 11.5px; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
Bảng Kiểm Sàng Lọc Hành Vi Giao Tiếp & Biểu Tượng Sớm CSBS DP ITC (24 Câu Hỏi • 6 – 24 Tháng)
Công cụ chuẩn hóa của Wetherby & Prizant (2002) đánh giá 7 Cụm kỹ năng tiền ngôn ngữ và 3 Chỉ số Tổng hợp (Xã hội: 26đ • Lời nói: 14đ • Biểu tượng: 17đ • Tổng: 57đ). Hệ thống tự động tra cứu Ngưỡng điểm cắt chuẩn (-1.25 SD) tại chính xác từng tháng tuổi (từ 6 đến 24 tháng) để phát hiện sớm Nguy cơ Tự kỷ và Chậm nói.
• Theo quy tắc chuẩn của Giáo sư Amy Wetherby & Barry Prizant (2002), trẻ cần được chuyển gửi đánh giá phát triển chuyên sâu ngay lập tức khi rơi vào vùng Đáng lo ngại ở Chỉ số Xã hội (${socScore}/26đ, ngưỡng ≤${cut.soc}), Chỉ số Biểu tượng (${symScore}/17đ, ngưỡng ≤${cut.sym}) hoặc Tổng điểm (${totScore}/57đ, ngưỡng ≤${cut.tot}).
• Phân tích chuyên biệt về Nguy cơ Tự kỷ sớm: ${isSocConcern && isSymConcern ? 'Sự sụt giảm đồng thời ở cả Giao tiếp Xã hội (Ánh mắt: ' + cluSums.emo + '/8, Giao tiếp chủ đích: ' + cluSums.com + '/8, Cử chỉ: ' + cluSums.ges + '/10) và Tư duy Biểu tượng (Nghe hiểu: ' + cluSums.und + '/6, Chơi giả vờ: ' + cluSums.obj + '/11) là dấu hiệu chỉ báo sớm đặc hiệu nhất của Rối loạn phổ tự kỷ (ASD) ở trẻ dưới 2 tuổi.' : 'Trẻ có thiếu hụt ở các kỹ năng nền tảng tiền ngôn ngữ.'}
• Hướng xử trí: Thực hiện đánh giá trực tiếp bằng mẫu hành vi CSBS DP Behavior Sample, ADOS-2 (Module T) hoặc Bayley-III / KSPD và can thiệp sớm ngay mà không chờ trẻ lớn hơn. `; } else if (isSpeConcern) { badgeColor = '#f59e0b'; badgeTxt = 'CHỈ THẤP LỜI NÓI (THEO DÕI CHẬM NÓI ĐƠN THUẦN)'; analysis = ` Kết luận CSBS DP ITC tại mốc ${childMonth} tháng — CHỈ ĐÁNG LO NGẠI ĐƠN ĐỘC Ở CHỈ SỐ LỜI NÓI (Late Talker Profile):
• Điểm Tổng hợp Xã hội (${socScore}/26đ > ${cut.soc}), Tổng hợp Biểu tượng (${symScore}/17đ > ${cut.sym}) và Tổng điểm (${totScore}/57đ > ${cut.tot}) của bé đều nằm trong giới hạn bình thường. Bé có giao tiếp mắt, chỉ trỏ, khoe đồ, hiểu lời nói và chơi giả vờ tốt.
• Tuy nhiên, riêng Chỉ số Lời nói (Speech: ${speScore}/14đ ≤ ngưỡng ${cut.spe}) đang thấp hơn chuẩn tuổi.
• Hướng xử trí chuẩn CSBS DP: Đây là hồ sơ điển hình của nhóm Chậm nói diễn đạt đơn thuần (Late Talker). Hướng dẫn cha mẹ tăng cường kích thích ngôn ngữ tại nhà và sàng lọc lại bằng CSBS DP ITC sau 3 tháng; nếu sau 3 tháng vẫn ở vùng Concern thì chuyển khám Ngôn ngữ trị liệu. `; } else { badgeColor = '#10b981'; badgeTxt = 'KHÔNG ĐÁNG LO NGẠI (PHÁT TRIỂN ĐÚNG TUỔI)'; analysis = ` Kết luận CSBS DP ITC tại mốc ${childMonth} tháng — KHÔNG ĐÁNG LO NGẠI (NO CONCERN):
• Cả 3 Chỉ số Tổng hợp (Xã hội: ${socScore}/26đ • Lời nói: ${speScore}/14đ • Biểu tượng: ${symScore}/17đ) và Tổng điểm (${totScore}/57đ) của bé đều vượt trên ngưỡng cắt chuẩn của lứa tuổi ${childMonth} tháng.
• Các tiền đề giao tiếp sớm (ánh mắt, chú ý chung, cử chỉ, âm thanh và chơi biểu tượng) phát triển tốt. Hẹn sàng lọc định kỳ lại sau mỗi 3–6 tháng cho đến khi bé tròn 24 tháng tuổi. `; } scoreBadge.textContent = badgeTxt; scoreBadge.style.background = badgeColor; scoreBadge.style.color = '#ffffff'; resultBox.style.borderLeftColor = badgeColor; resultBox.innerHTML = analysis; updateFloatingFabVisibility(); } function applyPreset(type) { answers = {}; if (type === 'reset') { questions.forEach(q => { answers[q.id] = 0; }); renderQuestions(); updateSummary(); return; } if (type === 'typical') { // Phát triển bình thường (Tổng ~48/57đ) questions.forEach(q => { const maxPt = q.opts[q.opts.length - 1].pt; answers[q.id] = (q.id % 4 === 0) ? Math.max(1, maxPt - 1) : maxPt; }); } else if (type === 'late_talker') { // Chậm nói đơn thuần: Xã hội cao (23/26) & Biểu tượng cao (14/17), nhưng Lời nói thấp (4/14) questions.forEach(q => { const maxPt = q.opts[q.opts.length - 1].pt; if (q.comp === 'soc' || q.comp === 'sym') { answers[q.id] = (q.id % 3 === 0) ? Math.max(1, maxPt - 1) : maxPt; } else { // Speech thấp answers[q.id] = (q.id === 14 || q.id === 15) ? 1 : ((q.id === 16 || q.id === 17) ? 1 : 0); } }); } else if (type === 'asd_risk') { // Nguy cơ tự kỷ sớm: Suy giảm mạnh ở Xã hội (9/26) và Biểu tượng (6/17), Lời nói (4/14) -> Tổng 19/57đ questions.forEach((q, idx) => { if (q.comp === 'soc') { answers[q.id] = (idx % 2 === 0) ? 1 : 0; } else if (q.comp === 'sym') { answers[q.id] = (q.id === 21 || q.id === 23) ? 2 : 1; } else { answers[q.id] = (idx % 2 === 0) ? 1 : 0; } }); } renderQuestions(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); csWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { csWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 980px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } selMonth.onchange = function() { childMonth = parseInt(this.value, 10) || 18; updateSummary(); }; shadow.querySelectorAll('.cs-pbtn').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-preset')); }; }); shadow.querySelectorAll('#compTabs .cs-tab').forEach(function(tab) { tab.onclick = function() { filterComp = this.getAttribute('data-comp'); shadow.querySelectorAll('#compTabs .cs-tab').forEach(t => t.classList.remove('active')); this.classList.add('active'); renderQuestions(); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); applyPreset('asd_risk'); })();
CSBS DP (Bản kiểm Giao tiếp và Hành vi Biểu tượng): Công cụ sàng lọc cực kỳ nhạy dành cho trẻ rất nhỏ (6 – 24 tháng tuổi), giúp phát hiện nguy cơ chậm nói và tự kỷ sớm hơn cả M-CHAT-R/F.
CSBS DP với đặc biệt là bảng Infant-Toddler Checklist (ITC), là công cụ sàng lọc sớm nhất và nhạy bén nhất thế giới hiện nay để phát hiện Rối loạn giao tiếp và Nguy cơ Rối loạn phổ tự kỷ (ASD) ngay từ giai đoạn tiền ngôn ngữ (trước cả khi trẻ biết nói). Công cụ được phát triển bởi Giáo sư Amy M. Wetherby và Barry M. Prizant (xuất bản năm 2002 bởi Brookes Publishing).
Nếu như M-CHAT-R/F chỉ áp dụng được khi trẻ đã đủ 16 – 30 tháng tuổi, thì CSBS DP ITC lấp đầy khoảng trống cực kỳ quan trọng từ 6 đến 24 tháng tuổi: giúp phát hiện các dấu hiệu cảnh báo tự kỷ ở những em bé mới 9 – 12 – 15 tháng tuổi thông qua việc đo lường 7 tiền đề giao tiếp sớm (7 Prelinguistic Predictors).
1. Tóm tắt cốt lõi về cấu trúc 24 Câu hỏi & 3 Chỉ số Tổng hợp của CSBS DP ITC
Bảng kiểm CSBS DP Infant-Toddler Checklist gồm đúng 24 câu hỏi (chia thành 7 Cụm kỹ năng – Clusters và gom vào 3 Chỉ số Tổng hợp – Composites), với tổng điểm thô tối đa là 57 điểm:
| Chỉ số Tổng hợp (Composite) | Điểm tối đa | Các Cụm kỹ năng thành phần (7 Clusters) | Ý nghĩa phát triển & Dấu hiệu đỏ Tự kỷ sớm |
| 1. Tổng hợp Xã hội(Social Composite) | 26 điểm(13 câu) |
• Cảm xúc & Ánh mắt(Emotion & Eye Gaze — Câu 1–4: 8đ)
• Giao tiếp(Communication — Câu 5–8: 8đ)
• Cử chỉ(Gestures — Câu 9–13: 10đ) |
Đánh giá khả năng chia sẻ cảm xúc, nhìn mắt, tần suất giao tiếp chú ý chung (khoe đồ, chỉ trỏ) và sử dụng cử chỉ quy ước (vẫy tay, gật/lắc đầu). Sụt giảm điểm ở cụm này là chỉ báo đặc hiệu nhất của Tự kỷ sớm. |
| 2. Tổng hợp Lời nói(Speech Composite) | 14 điểm(5 câu) |
• Âm thanh(Sounds — Câu 14–16: 8đ)
• Từ vựng (Words — Câu 17–18: 6đ) |
Đánh giá việc bập bẹ chuỗi phụ âm – nguyên âm, sự đa dạng của các phụ âm đầu và số lượng từ đơn/cụm từ có nghĩa trẻ tự nói được. |
| 3. Tổng hợp Biểu tượng(Symbolic Composite) | 17 điểm(6 câu) |
• Thông hiểu ngôn ngữ(Understanding — Câu 19–20: 6đ)
• Sử dụng đồ vật & Chơi giả vờ(Object Use — Câu 21–24: 11đ) |
Đánh giá tư duy biểu tượng: khả năng hiểu tên gọi đồ vật/mệnh lệnh gắn với khả năng chơi đúng chức năng, xếp chồng khối gỗ và chơi đóng vai giả vờ (cho búp bê ăn). |
| TỔNG CỘNG (TOTAL) | 57 điểm(24 câu) | 7 Cụm kỹ năng tiền ngôn ngữ | Đối chiếu theo 19 mốc tháng tuổi liên tục (từ 6 đến 24 tháng). |
2. Quy tắc Chấm điểm & Ngưỡng Cắt Lâm sàng (Criterion Cutoffs -1.25 SD)
-
Cách chấm điểm từng câu:
-
Các câu hỏi tần suất (
Chưa•Thỉnh thoảng•Thường xuyên): Chấm 0 – 1 – 2 điểm. -
Các câu hỏi định lượng số lượng (số lượng từ vựng, số âm thanh, số đồ vật hiểu được, số khối gỗ xếp chồng): Chấm từ 0 – 1 – 2 – 3 hoặc 0 – 1 – 2 – 3 – 4 điểm tùy câu.
-
-
Quy tắc “Điểm Cắt Đáng Lo Ngại” (Concern Cutoff ≤−1.25 SD / Bách phân vị thứ 10): Theo chuẩn của Wetherby & Prizant (2002), tại mỗi tháng tuổi từ 6 đến 24 tháng, trẻ cần được chuyển gửi đánh giá chuyên sâu ngay nếu rơi vào 1 trong 3 trường hợp:
-
Đạt mức Đáng lo ngại (Concern) ở Tổng điểm (Total Score), HOẶC
-
Đạt mức Đáng lo ngại (Concern) ở Chỉ số Xã hội (Social Composite), HOẶC
-
Đạt mức Đáng lo ngại (Concern) ở Chỉ số Biểu tượng (Symbolic Composite).(Riêng nếu trẻ chỉ thấp đơn độc ở Chỉ số Lời nói – Speech Composite trong khi Xã hội và Biểu tượng vẫn bình thường, hướng dẫn chuẩn là theo dõi định kỳ và đánh giá lại sau 3 tháng vì có thể là chậm nói đơn thuần / Late Talker).
-
[Tự kỷ] M-CHAT-R/F: Bảng chấm điểm sàng lọc tự kỷ chuẩn y khoa cho trẻ 16 – 30 tháng tuổi
M-CHAT-R/F (viết tắt của Modified Checklist for Autism in Toddlers, Revised with Follow-Up) là bảng kiểm sàng lọc sớm nguy cơ rối loạn phổ tự kỷ (ASD) dành cho trẻ nhỏ từ 16 đến 30 tháng tuổi. Đây là một trong những công cụ tầm soát tự kỷ chuẩn hóa phổ biến và uy tín nhất trên thế giới hiện nay, được Viện Hàn lâm Nhi khoa Hoa Kỳ (AAP) khuyến nghị sử dụng.
(function() { const host = document.getElementById('mchat-wp-host'); if (!host) return; // Thẻ giữ chỗ (Placeholder) để khi nhấc bảng ra document.body không làm giật trang WordPress const placeholder = document.createComment('mchat-portal-placeholder'); // Khởi tạo Shadow DOM cách ly 100% với CSS của Theme WordPress const shadow = host.attachShadow({ mode: 'open' }); // Dữ liệu 20 câu hỏi M-CHAT-R chuẩn y khoa const questions = [ { id: 1, t: 'Nếu bạn chỉ tay vào một vật gì đó trong phòng, bé có nhìn theo hướng bạn chỉ không?', r: 'NO', c: 'crit', cat: 'Đáp ứng chú ý chung' }, { id: 2, t: 'Bạn có bao giờ tự hỏi liệu con mình có bị điếc (nghe kém) không?', r: 'YES', c: 'sen', cat: 'Phản ứng âm thanh (Câu đảo ngược)' }, { id: 3, t: 'Bé có biết chơi trò giả vờ không? (VD: giả vờ uống nước từ cốc rỗng, nghe điện thoại, cho búp bê ăn)', r: 'NO', c: 'soc', cat: 'Tư duy chơi giả vờ' }, { id: 4, t: 'Bé có thích leo trèo lên đồ vật không? (VD: bàn ghế, cầu thang, đồ chơi vận động)', r: 'NO', c: 'sen', cat: 'Vận động thô' }, { id: 5, t: 'Bé có những cử động ngón tay bất thường ở ngay sát trước mắt mình không? (VD: vẫy/búng ngón tay sát mắt)', r: 'YES', c: 'sen', cat: 'Kích thích thị giác - Stimming (Câu đảo ngược)' }, { id: 6, t: 'Bé có dùng một ngón tay (ngón trỏ) để chỉ vào thứ bé muốn XIN hoặc nhờ lấy giúp không?', r: 'NO', c: 'crit', cat: 'Chỉ trỏ yêu cầu' }, { id: 7, t: 'Bé có dùng một ngón tay để chỉ vào thứ gì đó thú vị chỉ để KHOE / CHIA SẺ với bạn không? (VD: chỉ máy bay, con chó)', r: 'NO', c: 'crit', cat: 'Khởi xướng chú ý chung (Quan trọng nhất)' }, { id: 8, t: 'Bé có quan tâm đến những đứa trẻ khác không? (VD: nhìn các bạn chơi, cười hoặc đi tới gần bạn)', r: 'NO', c: 'soc', cat: 'Động lực xã hội' }, { id: 9, t: 'Bé có mang đồ vật lại đưa cho bạn xem chỉ để KHOE (chứ không phải để nhờ mở giúp) không?', r: 'NO', c: 'crit', cat: 'Chia sẻ niềm vui hai chiều' }, { id: 10, t: 'Bé có phản ứng (ngẩng lên nhìn, bập bẹ, ngừng chơi) khi bạn gọi tên bé không?', r: 'NO', c: 'soc', cat: 'Định hướng tên gọi' }, { id: 11, t: 'Khi bạn mỉm cười với bé, bé có mỉm cười đáp lại bạn không?', r: 'NO', c: 'soc', cat: 'Nụ cười xã hội' }, { id: 12, t: 'Bé có tỏ ra khó chịu quá mức, bịt tai hoặc hoảng loạn trước những tiếng ồn thông thường hàng ngày không?', r: 'YES', c: 'sen', cat: 'Nhạy cảm thính giác (Câu đảo ngược)' }, { id: 13, t: 'Bé đã biết đi chưa?', r: 'NO', c: 'sen', cat: 'Vận động cơ bản' }, { id: 14, t: 'Bé có nhìn vào mắt bạn khi bạn đang nói chuyện, chơi đùa hoặc mặc quần áo cho bé không?', r: 'NO', c: 'crit', cat: 'Giao tiếp mắt trực diện' }, { id: 15, t: 'Bé có cố gắng bắt chước những gì bạn làm không? (VD: vẫy tay bye-bye, vỗ tay, làm tiếng động vui nhộn)', r: 'NO', c: 'crit', cat: 'Bắt chước xã hội' }, { id: 16, t: 'Nếu bạn quay đầu nhìn thứ gì đó, bé có nhìn quanh để xem bạn đang nhìn cái gì không?', r: 'NO', c: 'soc', cat: 'Theo dõi ánh mắt' }, { id: 17, t: 'Bé có cố gắng thu hút sự chú ý để bạn nhìn vào bé không? (VD: nhìn bạn chờ khen hoặc kêu "Mẹ nhìn này")', r: 'NO', c: 'soc', cat: 'Tìm kiếm sự công nhận' }, { id: 18, t: 'Bé có hiểu khi bạn bảo bé làm một việc gì đó không? (VD: không chỉ tay mà nói "Con lấy cho mẹ cái chăn")', r: 'NO', c: 'sen', cat: 'Ngôn ngữ tiếp nhận (Hiểu lời)' }, { id: 19, t: 'Nếu có điều gì mới lạ xảy ra, bé có nhìn lên mặt bạn để xem bạn phản ứng thế nào về việc đó không?', r: 'NO', c: 'crit', cat: 'Tham chiếu xã hội' }, { id: 20, t: 'Bé có thích các hoạt động chuyển động có tương tác không? (VD: được đung đưa, nhún nhảy trên đùi bạn)', r: 'NO', c: 'soc', cat: 'Tương tác cảm xúc - vận động' } ]; let answers = {}; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .mc-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (ĐÃ ĐƯỢC PORTAL RA BODY) */ .mc-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .mc-inner { padding: 24px; max-width: 900px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .mc-wrap.is-fullscreen .mc-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng khi cuộn */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .mc-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(3, 105, 161, 0.45), 0 0 0 0 rgba(3, 105, 161, 0.4); } 70% { box-shadow: 0 6px 20px rgba(3, 105, 161, 0.45), 0 0 0 10px rgba(3, 105, 161, 0); } 100% { box-shadow: 0 6px 20px rgba(3, 105, 161, 0.45), 0 0 0 0 rgba(3, 105, 161, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #0369a1 0%, #0284c7 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(3, 105, 161, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Phần tiêu đề */ .mc-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 18px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .mc-header-text { flex: 1 1 260px; } .mc-title { font-size: 21px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .mc-desc { font-size: 14px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #f0f9ff; color: #0369a1; border: 1px solid #bae6fd; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #0284c7; color: #ffffff; border-color: #0284c7; } /* Thanh nút kịch bản mẫu */ .mc-presets { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; } .mc-preset-lbl { font-size: 12.5px; font-weight: 700; color: #475569; margin-right: 4px; } .mc-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; transition: all 0.15s ease; touch-action: manipulation; } .mc-pbtn:hover { background: #f1f5f9; border-color: #94a3b8; } .mc-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } /* Bảng điểm nổi (Sticky Dashboard) */ .mc-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } /* Khi ở chế độ toàn màn hình, đẩy bảng điểm xuống ngay dưới thanh thoát toàn màn hình */ .mc-wrap.is-fullscreen .mc-dash { top: 58px; } .mc-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .mc-score-big { font-size: 24px; font-weight: 800; line-height: 1; } .mc-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .mc-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .mc-bar-bg { height: 10px; background: #334155; border-radius: 5px; overflow: hidden; margin-bottom: 12px; } .mc-bar-fill { height: 100%; width: 0%; background: #10b981; transition: width 0.35s ease, background 0.35s ease; } .mc-pillars { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; font-size: 12px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .mc-pillar-box { background: #1e293b; padding: 7px 10px; border-radius: 8px; } .mc-pillar-val { font-weight: 700; color: #ffffff; font-size: 13.5px; display: block; margin-top: 2px; } /* Danh sách 20 câu hỏi */ .mc-q-item { border: 1px solid #e2e8f0; border-radius: 10px; padding: 14px 16px; margin-bottom: 12px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 10px; } .mc-q-item.risk-flagged { border-color: #fca5a5; background: #fff5f5; } .mc-q-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; } .mc-q-text { font-size: 14.5px; font-weight: 600; color: #1e293b; line-height: 1.5; flex: 1; } .mc-q-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; } .mc-tag { font-size: 11px; font-weight: 600; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .mc-tag.crit { background: #e0f2fe; color: #0369a1; } .mc-tag.rev { background: #fef3c7; color: #b45309; } /* Nút chọn CÓ / KHÔNG */ .mc-ans-group { display: flex; gap: 8px; flex-shrink: 0; } .mc-abtn { min-width: 78px; padding: 8px 14px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 13.5px; font-weight: 700; color: #334155; cursor: pointer; transition: all 0.15s ease; touch-action: manipulation; } .mc-abtn:hover { border-color: #64748b; } .mc-abtn.sel-safe { background: #10b981; border-color: #10b981; color: #ffffff; } .mc-abtn.sel-risk { background: #ef4444; border-color: #ef4444; color: #ffffff; } /* Hộp phân tích kết quả cuối bảng */ .mc-result-box { margin-top: 20px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #64748b; font-size: 14px; line-height: 1.65; color: #1e293b; } /* Tối ưu giao diện điện thoại */ @media (max-width: 600px) { .mc-inner { padding: 14px; } .mc-title { font-size: 18px; } .mc-q-head { flex-direction: column; } .mc-ans-group { width: 100%; } .mc-abtn { flex: 1; padding: 10px 14px; } .mc-pillars { grid-template-columns: 1fr; } .mc-pbtn.reset { margin-left: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
Bảng Chấm Điểm Sàng Lọc Tự Kỷ Chuẩn Y Khoa M-CHAT-R/F (16 – 30 tháng)
Hãy chọn CÓ hoặc KHÔNG dựa trên hành vi thường xuyên của bé. Hệ thống tự động đảo chiều điểm ở câu 2, 5, 12 và đối chiếu nhóm kỹ năng Chú ý chung để phân biệt với Chậm nói đơn thuần / ADHD.
• Hệ thống Chú ý chung và Giao tiếp phi ngôn ngữ của bé hoạt động tốt (${crit}/7 điểm rủi ro nhóm cốt lõi).
• Phân biệt với Chậm nói đơn thuần: Nếu bé hiện tại chưa nói được nhiều từ nhưng đạt mức điểm này (biết chỉ trỏ khoe đồ, nhìn mắt, hiểu lời nói), khả năng rất cao bé chỉ bị chậm nói diễn đạt đơn thuần. Nếu bé dưới 24 tháng tuổi, hãy sàng lọc lại khi bé tròn 24 tháng. `; } else if (total = 2) ? `Bé có ${crit}/7 dấu hiệu rủi ro ở nhóm Chú ý chung cốt lõi (chỉ trỏ, giao tiếp mắt, khoe đồ vật). Đây là dấu hiệu cảnh báo sớm của phổ tự kỷ chứ không chỉ là chậm nói hay hiếu động đơn thuần.` : `Điểm rủi ro của bé chủ yếu nằm ở nhóm Giác quan/Ngôn ngữ hoặc Mất tập trung, trong khi Chú ý chung cốt lõi khá tốt (${crit}/7). Trường hợp này rất dễ gặp ở trẻ Tăng động giảm chú ý (ADHD) hoặc chậm nói kèm nhạy cảm giác quan.`; analysis = ` Kết luận sàng lọc — Nguy cơ TRUNG BÌNH (${total}/20 điểm):
• ${diffNote}
• Hướng xử trí chuẩn M-CHAT-R/F: Cần thực hiện bước 2 — Phỏng vấn theo dõi (Follow-Up) cho ${total} câu có điểm rủi ro để làm rõ ngữ cảnh. Nếu sau khi kiểm tra kỹ vẫn còn từ 2 điểm trở lên, cần đưa bé đi khám chuyên khoa Tâm bệnh / Nhi phát triển hành vi. `; } else { color = '#ef4444'; badgeTxt = 'NGUY CƠ CAO (8 – 20 điểm)'; analysis = ` Kết luận sàng lọc — Nguy cơ CAO (${total}/20 điểm, trong đó có ${crit}/7 câu cốt lõi):
• Bé biểu hiện sự suy giảm rõ rệt ở cả hai trụ cột: Chú ý chung (Joint Attention) và Tương tác xã hội hai chiều.
• Hướng xử trí chuẩn M-CHAT-R/F: Với mức điểm từ 8 trở lên, gia đình có thể bỏ qua bước phỏng vấn phụ và đưa bé đi khám chẩn đoán chuyên sâu ngay (bằng thang ADOS-2, DSM-5) tại khoa Tâm bệnh / Phát triển hành vi Nhi để bắt đầu can thiệp sớm trong giai đoạn vàng. `; } barFillEl.style.background = color; badgeEl.textContent = badgeTxt; badgeEl.style.background = color; badgeEl.style.color = '#ffffff'; resBoxEl.style.borderLeftColor = color; resBoxEl.innerHTML = analysis; updateFloatingFabVisibility(); } // Kiểm tra vùng cuộn để hiện/ẩn nút nổi thông minh function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; // Hiện nút nổi khi người đọc đang lướt ngang qua vùng bảng M-CHAT-R/F const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } // KỸ THUẬT DOM PORTAL: Nhấc thẳng #mchat-wp-host ra trực tiếp document.body khi phóng to function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); mcWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { mcWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 880px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } // Gắn sự kiện cho các nút Kịch bản mẫu const presetBtns = shadow.querySelectorAll('.mc-pbtn'); presetBtns.forEach(function(btn) { btn.onclick = function() { const type = this.getAttribute('data-preset'); answers = {}; if (type === 'speech') { questions.forEach(function(q) { answers[q.id] = (q.r === 'YES' ? 'NO' : 'YES'); }); answers[18] = 'NO'; } else if (type === 'adhd') { questions.forEach(function(q) { answers[q.id] = (q.r === 'YES' ? 'NO' : 'YES'); }); answers[2] = 'YES'; answers[10] = 'NO'; answers[12] = 'YES'; } else if (type === 'asd') { questions.forEach(function(q) { answers[q.id] = (q.r === 'YES' ? 'NO' : 'YES'); }); [1, 2, 3, 5, 6, 7, 8, 9, 10, 14, 15, 16, 19].forEach(function(id) { const qObj = questions[id - 1]; answers[id] = qObj.r; }); } renderQuestions(); updateSummary(); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); renderQuestions(); updateSummary(); })();
1. Cấu trúc của công cụ (Quy trình 2 bước)
Tên gọi M-CHAT-R/F thể hiện rõ hai giai đoạn thực hiện của bài kiểm tra:
-
Giai đoạn 1 – M-CHAT-R (Bảng câu hỏi sửa đổi): Gồm 20 câu hỏi dưới dạng Có/Không dành cho cha mẹ hoặc người chăm sóc chính trả lời. Các câu hỏi xoay quanh hành vi, kỹ năng giao tiếp, tương tác xã hội và cách trẻ phản ứng với môi trường xung quanh (ví dụ: Trẻ có chỉ tay để khoe đồ vật không? Trẻ có nhìn vào mắt bạn không? Trẻ có quay đầu lại khi được gọi tên không?).
-
Giai đoạn 2 – Follow-Up (Phỏng vấn theo dõi – chữ “F”): Dành cho những trẻ có kết quả nằm trong nhóm nguy cơ trung bình ở Giai đoạn 1. Chuyên gia y tế hoặc tâm lý sẽ hỏi chi tiết hơn về những câu mà trẻ “không vượt qua” (dựa trên sơ đồ luồng câu hỏi chuẩn) để lọc bỏ các trường hợp dương tính giả (trẻ bình thường nhưng cha mẹ hiểu nhầm câu hỏi) trước khi quyết định chuyển trẻ đi khám chuyên sâu.
2. Cách tính điểm và phân loại nguy cơ (Giai đoạn 1)
Sau khi cha mẹ trả lời 20 câu hỏi, tổng điểm (từ 0 đến 20) sẽ phân trẻ vào 3 mức độ:
3. Những lưu ý quan trọng khi sử dụng
-
Là công cụ sàng lọc, KHÔNG phải công cụ chẩn đoán: Kết quả M-CHAT-R/F báo “nguy cơ cao” không đồng nghĩa 100% là trẻ mắc tự kỷ (trẻ có thể bị chậm nói đơn thuần, khiếm thính hoặc rối loạn phát triển khác). Để chẩn đoán chính xác, trẻ cần được các bác sĩ chuyên khoa Nhi, Tâm thần nhi hoặc chuyên gia Tâm lý lâm sàng trực tiếp thăm khám (sử dụng các bộ công cụ chuyên sâu như ADOS-2, DSM-5…).
-
Hoàn toàn miễn phí và nhanh chóng: Phụ huynh chỉ mất khoảng 5–10 phút để hoàn thành. Tại Việt Nam, bộ công cụ này đã được chuẩn hóa tiếng Việt và tích hợp trực tuyến trên nhiều nền tảng hỗ trợ trẻ tự kỷ (như hệ thống A365) cũng như tại các bệnh viện Nhi.
Nội dung được tạo với sự đánh giá từ tài liệu gốc và hỗ trợ bởi AI.
[Tự kỷ] STAT: Công cụ sàng lọc tự kỷ qua tương tác cho trẻ mới biết đi (24 – 36 tháng)
Bảng Chấm Điểm Sàng Lọc Tương Tác Trực Tiếp STAT (14 – 36 Tháng)
', 'Đánh giá Cấp độ 2 thông qua 12 hoạt động chơi tương tác trực tiếp trên 4 lĩnh vực giao tiếp xã hội sớm. Tổng điểm quy đổi theo trọng số từ 0.00 đến 4.00 điểm.
', '• Bé thể hiện khả năng phối hợp ánh mắt, chia sẻ sự chú ý (Chú ý chung: ' + sAtt.toFixed(2) + '/1.00) và yêu cầu giao tiếp (' + sReq.toFixed(2) + '/1.00) phù hợp.
• Ý nghĩa phân biệt: Nếu bé chậm nói nhưng đạt điểm STAT thấp như trên, bé có nền tảng giao tiếp phi ngôn ngữ tốt (gợi ý chậm nói đơn thuần hơn là rối loạn phổ tự kỷ).'; } else if (total < highCut) { color = '#f59e0b'; badgeTxt = 'NGƯỠNG CẦN THEO DÕI SÁT (' + total.toFixed(2) + ' / 4.00)'; analysis = 'Kết luận sàng lọc tương tác STAT — Vùng Giáp Ranh Cần Theo Dõi (' + total.toFixed(2) + '/4.00 điểm):
• Tổng điểm tiệm cận ngưỡng cắt lâm sàng (' + highCut.toFixed(2) + ' điểm). Hồ sơ chi tiết: Vui chơi (' + sPlay.toFixed(2) + '), Yêu cầu (' + sReq.toFixed(2) + '), Định hướng chú ý (' + sAtt.toFixed(2) + '), Bắt chước (' + sImit.toFixed(2) + ').
• Khuyến nghị: Cần đặc biệt lưu ý nếu điểm rủi ro tập trung ở mục Định hướng chú ý (Joint Attention) và Yêu cầu có giao tiếp mắt. Nên bắt đầu hướng dẫn phụ huynh can thiệp tương tác sớm và đánh giá thêm bằng ADOS-2 / Vineland-3.'; } else { color = '#ef4444'; badgeTxt = 'NGUY CƠ CAO ASD (≥ ' + highCut.toFixed(2) + ': ' + total.toFixed(2) + ')'; analysis = 'Kết luận sàng lọc tương tác STAT — Vượt Ngưỡng Điểm Cắt (Đạt ' + total.toFixed(2) + '/4.00 điểm, ngưỡng cắt ≥ ' + highCut.toFixed(2) + '):
• Qua quan sát tương tác trực tiếp, bé bộc lộ sự thiếu hụt rõ rệt ở các kỹ năng giao tiếp xã hội nền tảng: Vui chơi (' + sPlay.toFixed(2) + '/1.00), Yêu cầu (' + sReq.toFixed(2) + '/1.00), Định hướng chú ý chung (' + sAtt.toFixed(2) + '/1.00) và Bắt chước (' + sImit.toFixed(2) + '/1.00).
• Hướng xử trí chuẩn: Chuyển gửi ngay sang bước đánh giá chẩn đoán xác định (ADOS-2, DSM-5) và đánh giá hành vi thích ứng (Vineland-3) để can thiệp sớm ngay trong giai đoạn vàng.'; } barFillEl.style.background = color; badgeEl.textContent = badgeTxt; badgeEl.style.background = color; badgeEl.style.color = '#ffffff'; resBoxEl.style.borderLeftColor = color; resBoxEl.innerHTML = analysis; updateFloatingFabVisibility(); } function applyPreset(type) { scores = {}; if (type === 'reset') { renderItems(); updateSummary(); return; } items.forEach(function(it) { scores[it.id] = 'PASS'; }); if (type === 'speech') { // Trẻ chậm nói đơn thuần: Đạt hết Yêu cầu & Chú ý chung, chỉ trượt 1 mục chơi giả vờ phức tạp (0.50đ) scores[2] = 'FAIL'; } else if (type === 'border') { // Ngưỡng giáp ranh (2.00đ) scores[2] = 'FAIL'; // +0.50 scores[3] = 'FAIL'; // +0.50 scores[5] = 'FAIL'; // +0.25 scores[8] = 'FAIL'; // +0.25 scores[9] = 'FAIL'; // +0.25 scores[12] = 'FAIL'; // +0.25 } else if (type === 'asd') { // Nguy cơ tự kỷ điển hình (3.25đ) [1, 2, 3, 4, 5, 6, 7, 8, 9, 12].forEach(function(id) { scores[id] = 'FAIL'; }); } renderItems(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; var rect = host.getBoundingClientRect(); var viewH = window.innerHeight || document.documentElement.clientHeight; if (rect.top 180) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = 'position:fixed!important;inset:0!important;top:0!important;left:0!important;right:0!important;bottom:0!important;width:100vw!important;height:100vh!important;height:100dvh!important;max-width:none!important;max-height:none!important;margin:0!important;padding:0!important;z-index:2147483647!important;background:#f8fafc!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;display:block!important;'; wrapEl.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { wrapEl.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = ''; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } shadow.querySelectorAll('#ageGroup .st-btn-sm').forEach(function(btn) { btn.onclick = function() { ageBand = this.getAttribute('data-age'); shadow.querySelectorAll('#ageGroup .st-btn-sm').forEach(function(b) { b.classList.remove('active'); }); this.classList.add('active'); updateSummary(); }; }); shadow.querySelectorAll('#presetGroup .st-btn-sm').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-pre')); }; }); shadow.querySelectorAll('#domainTabs .st-dtab').forEach(function(tab) { tab.onclick = function() { filterDom = this.getAttribute('data-dom'); shadow.querySelectorAll('#domainTabs .st-dtab').forEach(function(t) { t.classList.remove('active'); }); this.classList.add('active'); renderItems(); }; }); shadow.getElementById('btnToggleFullscreen').onclick = function() { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = function() { setFullscreenState(false); }; fabBtn.onclick = function() { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', function(e) { if (e.key === 'Escape' && isFullscreen) setFullscreenState(false); }); applyPreset('asd'); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', initSTATWidget); } else { initSTATWidget(); } })();
STAT (Screening Tool for Autism in Toddlers and Young Children — Công cụ Sàng lọc Tự kỷ ở Trẻ mới biết đi và Trẻ nhỏ) là một công cụ sàng lọc tương tác trực tiếp (Cấp độ 2 – Level 2) được chuẩn hóa để phát hiện sớm các dấu hiệu nguy cơ của Rối loạn phổ tự kỷ (ASD) ở trẻ nhỏ. Công cụ này được phát triển bởi Giáo sư Wendy Stone và các cộng sự tại Đại học Vanderbilt (Hoa Kỳ).
Nếu như M-CHAT-R/F là công cụ Sàng lọc Cấp độ 1 (dựa trên bảng câu hỏi do phụ huynh tự điền cho trẻ từ 16 – 30 tháng), thì STAT đóng vai trò là bước kiểm tra trực tiếp ngay sau đó: chuyên gia sẽ trực tiếp chơi và tương tác với trẻ qua các hoạt động có cấu trúc để quan sát hành vi thực tế trước khi chuyển gửi đi chẩn đoán chuyên sâu (như ADOS-2).
1. Đặc điểm cốt lõi của công cụ STAT
-
Độ tuổi áp dụng:
-
Độ tuổi chuẩn hóa chính thức: Từ 24 đến 36 tháng tuổi (2 – 3 tuổi).
-
Độ tuổi mở rộng trong lâm sàng: Có thể áp dụng hiệu quả cho trẻ từ 14 đến 23 tháng tuổi (với ngưỡng điểm cắt điều chỉnh riêng) để phát hiện sớm ngay từ năm thứ hai đầu đời.
-
-
Hình thức thực hiện: Quan sát tương tác trực tiếp thông qua trò chơi (Play-based interactive assessment), không phụ thuộc vào lời kể chủ quan của phụ huynh.
-
Thời gian thực hiện: Khoảng 15 – 20 phút.
-
Độ nhạy và Độ đặc hiệu cao: STAT có độ nhạy khoảng 92% và độ đặc hiệu khoảng 85% trong việc phân biệt trẻ có nguy cơ Tự kỷ với trẻ chậm phát triển ngôn ngữ hoặc các rối loạn phát triển khác.
2. Cấu trúc 12 hoạt động trong 4 lĩnh vực (Domains)
Bài kiểm tra STAT bao gồm 12 hoạt động tương tác sử dụng bộ đồ chơi tiêu chuẩn, được chia vào 4 lĩnh vực giao tiếp xã hội sớm (chấm điểm ngay trong lúc chơi mà không đòi hỏi trẻ phải có ngôn ngữ nói):
3. Cách chấm điểm và Ngưỡng điểm cắt (Cut-off Score)
-
Chấm từng hoạt động: Mỗi hoạt động trong 12 mục được chấm là Đạt (Pass = 0 điểm rủi ro) hoặc Không đạt (Fail = 1 điểm rủi ro) dựa trên việc trẻ có thể hiện được hành vi giao tiếp xã hội mục tiêu (như phối hợp ánh mắt,chỉ trỏ, luân phiên) hay không.
-
Quy đổi điểm theo lĩnh vực:
-
Mỗi lĩnh vực trong 4 lĩnh vực sẽ được quy đổi thành điểm từ 0 đến 1 (dựa trên tỷ lệ số mục Không đạt trong lĩnh vực đó, tính theo bước nhảy 0,0.25,0.5,0.75,1.0).
-
Tổng điểm STAT là tổng điểm của cả 4 lĩnh vực, nằm trong khoảng từ 0 đến 4.0 điểm (điểm càng cao thì mức độ thiếu hụt giao tiếp xã hội càng lớn).
-
-
Ngưỡng điểm cắt lâm sàng (Cut-off):
-
Trẻ từ 24 – 36 tháng tuổi: Tổng điểm → Nguy cơ cao mắc Rối loạn phổ tự kỷ (ASD).
-
Trẻ từ 14 – 23 tháng tuổi: Ngưỡng điểm cắt thường được đặt ở mức (hoặc từ 2.25−2.5 để cảnh báo theo dõi sát) do trẻ dưới 2 tuổi có một số kỹ năng bắt chước/chơi giả vờ còn đang hoàn thiện.
-
4. Vị trí của STAT trong quy trình sàng lọc – chẩn đoán
Để hình dung rõ sự phối hợp giữa STAT và các công cụ bạn đã tìm hiểu trước đó:
-
Bước 1 — Sàng lọc diện rộng qua bảng hỏi phụ huynh (Level 1):
-
Trẻ 16 – 30 tháng: Dùng M-CHAT-R/F.
-
Trẻ tuổi: Dùng SCQ.
-
-
Bước 2 — Sàng lọc tương tác trực tiếp (Level 2 – Lọc dương tính giả):
-
Khi trẻ có kết quả nguy cơ trên M-CHAT-R/F, bác sĩ/chuyên viên tâm lý dùng STAT (15–20 phút) để trực tiếp tương tác với trẻ. Bước này giúp phân biệt nhanh trẻ chậm nói đơn thuần (vốn vẫn đạt tốt các mục giao tiếp mắt và chia sẻ sự chú ý trên STAT) với trẻ thực sự có nguy cơ tự kỷ.
-
-
Bước 3 — Chẩn đoán xác định & Đánh giá chức năng (Diagnostic & Functional Assessment):
-
Dùng tiêu chuẩn vàng ADOS-2 + ADI-R + DSM-5 để chẩn đoán xác định.
-
Dùng Vineland-3 để đo lường hành vi thích ứng thực tế và lên kế hoạch can thiệp cá nhân hóa (IEP).
-
[Tự kỷ] SRS-2: Thang đo phản ứng xã hội và sàng lọc mức độ tự kỷ (Từ 2.5 tuổi)
(function() { const host = document.getElementById('srs2-wp-host'); if (!host) return; const placeholder = document.createComment('srs2-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // Cấu hình 4 Phiên bản theo độ tuổi & người đánh giá của SRS-2 const formConfigs = { preschool: { code: 'preschool', tabTitle: '🧸 1. Preschool (2.5 – 4.5 tuổi)', tabSub: 'Mầm non • Cha mẹ / Giáo viên', fullTitle: 'SRS-2 Preschool Form — Dành Cho Trẻ Mầm Non (2.5 Đến 4.5 Tuổi • Cha Mẹ / Giáo Viên Đánh Giá)', desc: 'Đánh giá 65 hành vi đáp ứng xã hội và rập khuôn ở trẻ mẫu giáo từ 30 đến 54 tháng tuổi. Hệ thống tự động quy đổi sang Điểm chuẩn T-Score (Mean = 50, SD = 10) trên 5 Tiểu thang điều trị và 2 Chỉ số tương thích DSM-5.', subj: 'Bé', poss: 'của bé', peer: 'các bạn nhỏ khác', env: 'ở nhà / lớp mẫu giáo' }, school: { code: 'school', tabTitle: '🎒 2. School-Age (4 – 18 tuổi)', tabSub: 'Học đường • Cha mẹ / Giáo viên', fullTitle: 'SRS-2 School-Age Form — Dành Cho Trẻ Em & Thanh Thiếu Niên (4 Đến 18 Tuổi • Cha Mẹ / Giáo Viên Đánh Giá)', desc: 'Phiên bản chuẩn hóa phổ biến nhất dành cho lứa tuổi học đường (4 – 18 tuổi). Đo lường định lượng mức độ suy giảm giao tiếp xã hội trên dải liên tục từ Bình thường (≤59T), Nhẹ (60–65T), Trung bình (66–75T) đến Nặng (≥76T).', subj: 'Trẻ', poss: 'của trẻ', peer: 'bạn đồng trang lứa', env: 'ở trường / ở nhà' }, adult_other: { code: 'adult_other', tabTitle: '👥 3. Adult Other (≥ 19 tuổi)', tabSub: 'Người lớn • Người thân đánh giá', fullTitle: 'SRS-2 Adult Form (Other-Report) — Dành Cho Người Trưởng Thành (Từ 19 Tuổi Trở Lên • Người Thân / Bạn Đời Đánh Giá)', desc: 'Dành cho vợ/chồng, bố mẹ, anh chị hoặc bạn thân đánh giá khách quan về khả năng tương tác xã hội, thấu cảm và tính linh hoạt hành vi của người trưởng thành trong đời sống hàng ngày.', subj: 'Người này', poss: 'của họ', peer: 'mọi người xung quanh', env: 'trong công việc / cuộc sống' }, adult_self: { code: 'adult_self', tabTitle: '🧑 4. Adult Self-Report (≥ 19 tuổi)', tabSub: 'Người lớn • Tự đánh giá (Tôi)', fullTitle: 'SRS-2 Adult Self-Report Form — Bảng Tự Đánh Giá Dành Cho Người Trưởng Thành (Từ 19 Tuổi Trở Lên)', desc: 'Phiên bản tự báo cáo ở ngôi thứ nhất ("Tôi...") giúp người trưởng thành tự lượng giá 5 Tiểu thang đáp ứng xã hội (Nhận thức, Tư duy, Giao tiếp, Động lực xã hội và Hành vi lặp lại).', subj: 'Tôi', poss: 'của mình', peer: 'người khác', env: 'trong công việc / giao tiếp' } }; // Cấu hình 5 Tiểu thang điều trị (Treatment Subscales) của SRS-2 (Tổng 65 câu = 195 điểm thô) // DSM-5 SCI (Social Communication & Interaction) = AWR + COG + COM + MOT (53 câu = 159 điểm) // DSM-5 RRB (Restricted Interests & Repetitive Behavior) = RRB (12 câu = 36 điểm) const subConfigs = { awr: { code: 'awr', dsm: 'sci', count: 8, maxRaw: 24, name: '1. Nhận thức Xã hội (Social Awareness - AWR • 8 câu)', color: '#0284c7' }, cog: { code: 'cog', dsm: 'sci', count: 12, maxRaw: 36, name: '2. Tư duy / Giải mã Xã hội (Social Cognition - COG • 12 câu)', color: '#2563eb' }, com: { code: 'com', dsm: 'sci', count: 22, maxRaw: 66, name: '3. Giao tiếp Xã hội (Social Communication - COM • 22 câu)', color: '#4f46e5' }, mot: { code: 'mot', dsm: 'sci', count: 11, maxRaw: 33, name: '4. Động lực Xã hội (Social Motivation - MOT • 11 câu)', color: '#7c3aed' }, rrb: { code: 'rrb', dsm: 'rrb', count: 12, maxRaw: 36, name: '5. Sở thích Hẹp & Hành vi Lặp lại (Restricted/Repetitive - RRB • 12 câu)', color: '#dc2626' } }; // Đầy đủ 65 mục chuẩn của SRS-2 phân bổ chính xác vào 5 Tiểu thang (AWR: 8, COG: 12, COM: 22, MOT: 11, RRB: 12) // rev: true đối với 17 câu đảo ngược (mô tả kỹ năng xã hội tích cực -> Chọn "Không đúng" = 3 điểm rủi ro, "Hầu như luôn đúng" = 0 điểm) const rawQuestions = [ // TIỂU THANG 1: NHẬN THỨC XÃ HỘI (SOCIAL AWARENESS - AWR • 8 câu) { id: 1, sub: 'awr', rev: true, c: '{S} nhận biết được những gì người khác đang nghĩ hoặc đang cảm thấy.' }, { id: 2, sub: 'awr', rev: true, c: 'Biểu cảm trên khuôn mặt {P} ăn khớp với những gì {S_low} đang nói.' }, { id: 3, sub: 'awr', rev: false, c: '{S} dường như không nhận ra khi mình đang nói quá to hoặc gây ra tiếng ồn làm phiền {E}.' }, { id: 4, sub: 'awr', rev: false, c: '{S} đi xuyên vào giữa hai người đang nói chuyện mà không nhận ra điều đó là thiếu tế nhị.' }, { id: 5, sub: 'awr', rev: true, c: '{S} chú ý khi có ai đó {E} đang buồn bã hoặc cần sự giúp đỡ.' }, { id: 6, sub: 'awr', rev: false, c: '{S} nhìn chằm chằm hoặc nhìn lơ đãng vào khoảng không mà không để ý đến những gì diễn ra xung quanh.' }, { id: 7, sub: 'awr', rev: true, c: '{S} giữ vệ sinh cá nhân và tác phong phù hợp khi xuất hiện trước {E}.' }, { id: 8, sub: 'awr', rev: false, c: '{S} không nhận ra khi mình đang đứng quá gần hoặc xâm phạm không gian riêng của {E}.' }, // TIỂU THANG 2: TƯ DUY / GIẢI MÃ XÃ HỘI (SOCIAL COGNITION - COG • 12 câu) { id: 9, sub: 'cog', rev: false, c: '{S} hiểu mọi lời nói theo đúng nghĩa đen và không bắt được ẩn ý đằng sau câu nói.' }, { id: 10, sub: 'cog', rev: true, c: '{S} nhận ra ngay khi có ai đó đang trêu đùa hoặc lấy mình ra làm trò cười.' }, { id: 11, sub: 'cog', rev: false, c: '{S} gặp khó khăn trong việc hiểu ý nghĩa của giọng điệu và biểu cảm nét mặt của {E}.' }, { id: 12, sub: 'cog', rev: true, c: '{S} hiểu được mối liên hệ nguyên nhân – kết quả giữa các sự kiện xã hội.' }, { id: 13, sub: 'cog', rev: false, c: '{S} dễ bị hiểu nhầm hoặc phản ứng sai lệch trước những câu nói đùa, châm biếm nhẹ nhàng.' }, { id: 14, sub: 'cog', rev: false, c: '{S} quá ngây thơ, dễ tin người và không nhận ra ý đồ không tốt của người khác.' }, { id: 15, sub: 'cog', rev: true, c: '{S} có khả năng tưởng tượng và tham gia các hoạt động giả định / sáng tạo phong phú.' }, { id: 16, sub: 'cog', rev: false, c: 'Khi có chuyện bất ngờ xảy ra, {S_low} chỉ tập trung vào một chi tiết nhỏ không quan trọng thay vì nhìn bức tranh tổng thể.' }, { id: 17, sub: 'cog', rev: false, c: '{S} khó phân biệt được giữa việc ai đó vô tình làm sai với việc họ cố ý trêu chọc mình.' }, { id: 18, sub: 'cog', rev: true, c: '{S} hiểu được các quy tắc ngầm trong giao tiếp và ứng xử phù hợp {V}.' }, { id: 19, sub: 'cog', rev: false, c: '{S} tỏ ra bối rối, quá tải khi cuộc trò chuyện diễn ra nhanh hoặc có nhiều người cùng nói.' }, { id: 20, sub: 'cog', rev: false, c: '{S} đưa ra những nhận xét kỳ lạ hoặc không ăn nhập với chủ đề mà mọi người đang bàn luận.' }, // TIỂU THANG 3: GIAO TIẾP XÃ HỘI (SOCIAL COMMUNICATION - COM • 22 câu) { id: 21, sub: 'com', rev: true, c: '{S} có thể truyền đạt suy nghĩ và cảm xúc {P} cho người khác một cách dễ dàng.' }, { id: 22, sub: 'com', rev: false, c: '{S} gặp khó khăn lớn trong việc duy trì cuộc trò chuyện qua lại hai chiều (như đánh bóng bàn).' }, { id: 23, sub: 'com', rev: false, c: '{S} tránh giao tiếp trực diện bằng ánh mắt khi đang nói chuyện với {E}.' }, { id: 24, sub: 'com', rev: true, c: '{S} biết cách thương lượng, thỏa hiệp và giải quyết bất đồng với {E} một cách linh hoạt.' }, { id: 25, sub: 'com', rev: false, c: '{S} nói chuyện với giọng điệu khác thường (như giọng phẳng lì như robot, giọng quá cao hoặc nói lắp bắp máy móc).' }, { id: 26, sub: 'com', rev: false, c: '{S} tỏ ra vụng về, thiếu đồng bộ khi phải phối hợp tương tác cùng {E}.' }, { id: 27, sub: 'com', rev: true, c: '{S} biết chủ động an ủi hoặc thể hiện sự cảm thông khi thấy người khác buồn.' }, { id: 28, sub: 'com', rev: false, c: '{S} cứ nói thao thao bất tuyệt về một chủ đề dù người nghe đã tỏ vẻ chán hoặc muốn đổi chuyện.' }, { id: 29, sub: 'com', rev: false, c: '{S} gặp khó khăn trong việc trả lời trực tiếp vào trọng tâm câu hỏi của người đối diện.' }, { id: 30, sub: 'com', rev: true, c: '{S} chơi đùa hoặc làm việc nhóm hòa hợp, nhịp nhàng cùng với {E}.' }, { id: 31, sub: 'com', rev: false, c: 'Nét mặt {P} thường lạnh lùng, ít biểu cảm khiến người khác khó đoán được tâm trạng.' }, { id: 32, sub: 'com', rev: false, c: '{S} rất ít sử dụng các cử chỉ tay chân tự nhiên để minh họa khi đang nói chuyện.' }, { id: 33, sub: 'com', rev: true, c: '{S} biết điều chỉnh cách nói chuyện tùy theo người nghe là người lớn hay bạn bè.' }, { id: 34, sub: 'com', rev: false, c: '{S} thường đặt những câu hỏi thiếu tế nhị hoặc nhận xét thẳng thừng làm người khác ngượng ngùng.' }, { id: 35, sub: 'com', rev: false, c: '{S} không biết cách bắt đầu một cuộc trò chuyện thân mật hay chào hỏi tự nhiên.' }, { id: 36, sub: 'com', rev: true, c: '{S} lắng nghe chăm chú và chờ đến lượt mình khi trò chuyện nhóm.' }, { id: 37, sub: 'com', rev: false, c: '{S} phản ứng với sự thay đổi tâm trạng của người khác một cách chậm chạp hoặc lệch pha.' }, { id: 38, sub: 'com', rev: false, c: '{S} rất khó kết bạn mới hoặc giữ được những mối quan hệ bạn bè thân thiết lâu dài.' }, { id: 39, sub: 'com', rev: true, c: '{S} chủ động chia sẻ niềm vui, sở thích hoặc thành quả của mình với người thân.' }, { id: 40, sub: 'com', rev: false, c: 'Khi nói chuyện, {S_low} sử dụng từ ngữ quá sách vở, trịnh trọng hoặc rập khuôn so với lứa tuổi.' }, { id: 41, sub: 'com', rev: false, c: '{S} không biết cách nhờ người khác giúp đỡ một cách phù hợp khi gặp khó khăn.' }, { id: 42, sub: 'com', rev: false, c: '{S} dễ gây hiểu lầm là thô lỗ hoặc thờ ơ dù bản thân không hề có ý xấu.' }, // TIỂU THANG 4: ĐỘNG LỰC XÃ HỘI (SOCIAL MOTIVATION - MOT • 11 câu) { id: 43, sub: 'mot', rev: false, c: '{S} cảm thấy căng thẳng, thiếu tự nhiên hơn rất nhiều khi ở trong các tình huống giao lưu xã hội so với khi ở một mình.' }, { id: 44, sub: 'mot', rev: true, c: '{S} tự tin khi giao tiếp và tiếp xúc với những người mới quen.' }, { id: 45, sub: 'mot', rev: false, c: '{S} thích ở một mình hơn là tham gia các hoạt động vui chơi, tụ tập cùng {E}.' }, { id: 46, sub: 'mot', rev: false, c: '{S} không chủ động tìm kiếm sự tham gia của người khác mà thường tự tách mình ra góc riêng.' }, { id: 47, sub: 'mot', rev: true, c: '{S} hào hứng tham gia các hoạt động tập thể, câu lạc bộ hoặc trò chơi nhóm {V}.' }, { id: 48, sub: 'mot', rev: false, c: '{S} tỏ ra quá bám dính vào một người quen duy nhất hoặc hoàn toàn thờ ơ ở nơi đông người.' }, { id: 49, sub: 'mot', rev: false, c: '{S} né tránh những tình huống đòi hỏi phải hợp tác chặt chẽ với người khác.' }, { id: 50, sub: 'mot', rev: true, c: '{S} chủ động bắt chuyện hoặc rủ {E} cùng tham gia hoạt động.' }, { id: 51, sub: 'mot', rev: false, c: '{S} có vẻ xa cách, khép kín và khó tiếp cận về mặt tình cảm.' }, { id: 52, sub: 'mot', rev: false, c: '{S} dễ bị lo âu, sợ hãi quá mức trước các sự kiện xã hội mới lạ.' }, { id: 53, sub: 'mot', rev: false, c: '{S} ít quan tâm đến việc người khác đánh giá hay nghĩ gì về mình.' }, // TIỂU THANG 5: SỞ THÍCH HẠN HẸP & HÀNH VI LẶP LẠI (RESTRICTED/REPETITIVE - RRB • 12 câu) { id: 54, sub: 'rrb', rev: false, c: 'Khi đang căng thẳng, {S_low} thể hiện những hành vi cứng nhắc, rập khuôn và rất khó dứt ra được.' }, { id: 55, sub: 'rrb', rev: false, c: '{S} rất bức bối, cáu giận nếu thói quen sinh hoạt hoặc lịch trình quen thuộc bị thay đổi.' }, { id: 56, sub: 'rrb', rev: false, c: '{S} có những cử động tay chân hoặc cơ thể lặp đi lặp lại (như vẫy tay, đung đưa người, xoay đồ vật, nhón gót).' }, { id: 57, sub: 'rrb', rev: false, c: '{S} chỉ suy nghĩ hoặc nói đi nói lại mãi về một chủ đề hẹp duy nhất mà bản thân đam mê.' }, { id: 58, sub: 'rrb', rev: false, c: '{S} bị người khác xem là có những thói quen kỳ lạ hoặc lập dị.' }, { id: 59, sub: 'rrb', rev: false, c: '{S} chạm vào người khác hoặc đồ vật theo một cách thức khác thường, máy móc.' }, { id: 60, sub: 'rrb', rev: false, c: '{S} quá nhạy cảm với một số âm thanh, ánh sáng hoặc kết cấu bề mặt (quần áo, thức ăn).' }, { id: 61, sub: 'rrb', rev: false, c: 'Phạm vi sở thích {P} rất hẹp và khác biệt so với {E}.' }, { id: 62, sub: 'rrb', rev: false, c: '{S} rất khó chuyển tiếp từ hoạt động này sang hoạt động khác.' }, { id: 63, sub: 'rrb', rev: false, c: '{S} lặp đi lặp lại một số từ ngữ, câu nói (nhại lời) hoặc âm thanh một cách vô thức.' }, { id: 64, sub: 'rrb', rev: false, c: '{S} bị cuốn hút quá mức vào các bộ phận nhỏ của đồ vật, con số, danh sách hoặc quy luật cố định.' }, { id: 65, sub: 'rrb', rev: false, c: '{S} đòi hỏi mọi đồ đạc hoặc công việc phải được sắp xếp theo đúng một trật tự bất di bất dịch.' } ]; let currentForm = 'school'; // 'preschool' | 'school' | 'adult_other' | 'adult_self' // ratings[id] lưu lựa chọn trên thang Likert 1..4 của SRS-2: // 1 = Không đúng (Not True) // 2 = Đôi khi đúng (Sometimes True) // 3 = Thường xuyên đúng (Often True) // 4 = Hầu như luôn đúng (Almost Always True) let ratings = {}; let filterSub = 'all'; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .sr-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .sr-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .sr-inner { padding: 24px; max-width: 980px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .sr-wrap.is-fullscreen .sr-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .sr-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(79, 70, 229, 0.45), 0 0 0 0 rgba(79, 70, 229, 0.4); } 70% { box-shadow: 0 6px 20px rgba(79, 70, 229, 0.45), 0 0 0 10px rgba(79, 70, 229, 0); } 100% { box-shadow: 0 6px 20px rgba(79, 70, 229, 0.45), 0 0 0 0 rgba(79, 70, 229, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #4338ca 0%, #4f46e5 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(79, 70, 229, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Bộ chuyển đổi 4 Phiên bản Độ tuổi SRS-2 */ .form-switcher-box { background: #f1f5f9; padding: 10px; border-radius: 12px; margin-bottom: 18px; } .form-switcher-lbl { font-size: 12px; font-weight: 800; color: #334155; text-transform: uppercase; margin-bottom: 8px; display: block; } .form-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; } .form-btn { padding: 10px 10px; border-radius: 9px; border: 1.5px solid transparent; background: rgba(255, 255, 255, 0.65); cursor: pointer; text-align: left; transition: all 0.18s ease; touch-action: manipulation; } .form-btn:hover { background: #ffffff; } .form-btn.active { background: #ffffff; border-color: #4f46e5; box-shadow: 0 3px 10px rgba(15, 23, 42, 0.08); } .form-btn-title { font-size: 13px; font-weight: 800; color: #0f172a; display: block; } .form-btn.active .form-btn-title { color: #4338ca; } .form-btn-sub { font-size: 11px; color: #64748b; margin-top: 2px; display: block; } /* Header */ .sr-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .sr-header-text { flex: 1 1 260px; } .sr-title { font-size: 20px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .sr-desc { font-size: 13.8px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #eef2ff; color: #4338ca; border: 1px solid #c7d2fe; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #4f46e5; color: #ffffff; border-color: #4f46e5; } /* Controls */ .sr-controls { display: flex; flex-direction: column; gap: 10px; margin-bottom: 18px; } .sr-presets { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; } .sr-preset-lbl { font-size: 12.5px; font-weight: 700; color: #475569; margin-right: 4px; } .sr-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; touch-action: manipulation; } .sr-pbtn:hover { background: #f1f5f9; } .sr-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } .sr-sub-tabs { display: flex; flex-wrap: wrap; gap: 6px; } .sr-stab { padding: 6px 11px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .sr-stab.active { background: #4f46e5; color: #ffffff; border-color: #4f46e5; } /* Sticky Dashboard */ .sr-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .sr-wrap.is-fullscreen .sr-dash { top: 58px; } .sr-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .sr-score-big { font-size: 23px; font-weight: 800; line-height: 1.15; } .sr-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .sr-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .sr-bar-bg { height: 10px; background: #334155; border-radius: 5px; overflow: hidden; margin-bottom: 12px; } .sr-bar-fill { height: 100%; width: 0%; background: #10b981; transition: width 0.35s ease, background 0.35s ease; } .sr-pillars { display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; font-size: 11.5px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .sr-pillar-box { background: #1e293b; padding: 7px 8px; border-radius: 8px; } .sr-pillar-val { font-weight: 800; color: #ffffff; font-size: 13px; display: block; margin-top: 2px; } /* Danh sách 65 câu hỏi */ .sr-q-item { border: 1px solid #e2e8f0; border-radius: 10px; padding: 14px 16px; margin-bottom: 10px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 8px; } .sr-q-item.pts-3 { border-color: #fda4af; background: #fff5f5; } .sr-q-item.pts-2 { border-color: #fde68a; background: #fffbeb; } .sr-q-text { font-size: 14.5px; font-weight: 600; color: #1e293b; line-height: 1.5; } .sr-q-tags { display: flex; flex-wrap: wrap; gap: 6px; } .sr-tag { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .sr-tag.rev-tag { background: #fee2e2; color: #b91c1c; } .sr-ans-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; } .sr-abtn { padding: 8px 6px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 600; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .sr-abtn:hover { border-color: #64748b; } .sr-abtn.sel-0 { background: #10b981; border-color: #10b981; color: #ffffff; font-weight: 700; } .sr-abtn.sel-1 { background: #3b82f6; border-color: #3b82f6; color: #ffffff; font-weight: 700; } .sr-abtn.sel-2 { background: #f59e0b; border-color: #f59e0b; color: #ffffff; font-weight: 700; } .sr-abtn.sel-3 { background: #ef4444; border-color: #ef4444; color: #ffffff; font-weight: 700; } /* Biểu đồ T-Score 5 Tiểu thang & 2 Chỉ số DSM-5 */ .sr-chart-card { margin-top: 20px; padding: 16px 18px; border-radius: 12px; background: #ffffff; border: 1px solid #e2e8f0; } .sr-chart-title { font-size: 14.5px; font-weight: 800; color: #0f172a; margin-bottom: 12px; } .sr-bar-row { display: flex; align-items: center; gap: 10px; margin-bottom: 9px; font-size: 12.5px; } .sr-bar-lbl { width: 270px; flex-shrink: 0; font-weight: 600; color: #334155; } .sr-bar-track { flex: 1; height: 16px; background: #f1f5f9; border-radius: 999px; overflow: hidden; } .sr-bar-val { width: 150px; text-align: right; font-weight: 700; color: #0f172a; flex-shrink: 0; } .sr-result-box { margin-top: 16px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #4f46e5; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 760px) { .sr-inner { padding: 14px; } .form-grid { grid-template-columns: 1fr 1fr; } .sr-title { font-size: 18px; } .sr-pillars { grid-template-columns: 1fr 1fr; } .sr-ans-grid { grid-template-columns: 1fr 1fr; } .sr-bar-lbl { width: 140px; font-size: 11.5px; } .sr-bar-val { width: 115px; font-size: 11px; } .sr-pbtn.reset { margin-left: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
${fCfg.fullTitle}
${fCfg.desc}
`; } function renderQuestions() { const fCfg = formConfigs[currentForm]; questionList.innerHTML = ''; const likertOptions = [ { val: 1, lbl: '1 - Không đúng' }, { val: 2, lbl: '2 - Đôi khi đúng' }, { val: 3, lbl: '3 - Thường xuyên đúng' }, { val: 4, lbl: '4 - Hầu như luôn đúng' } ]; rawQuestions.forEach(function(q) { if (filterSub !== 'all' && q.sub !== filterSub) return; const uLikert = ratings[q.id] || 1; const pts = getItemScore(q, uLikert); const sCfg = subConfigs[q.sub]; let rowCls = 'sr-q-item'; if (pts === 3) rowCls += ' pts-3'; else if (pts === 2) rowCls += ' pts-2'; const btnsHtml = likertOptions.map(opt => { const optPts = getItemScore(q, opt.val); let cls = 'sr-abtn'; if (uLikert === opt.val) { cls += ` sel-${optPts}`; } return ``; }).join(''); const revBadge = q.rev ? '⚡ Câu đảo ngược (Chọn "1 - Không đúng" = 3đ)' : 'Câu thuận (Chọn "4 - Luôn đúng" = 3đ)'; const el = document.createElement('div'); el.className = rowCls; el.innerHTML = `• Tổng điểm SRS-2: Đạt ${totalRaw} / 195 điểm thô → Quy đổi tương đương ${tTotal}T (${clsTotal.text}).
• Hai Chỉ số Tương thích DSM-5:
1. Giao tiếp & Tương tác Xã hội (SCI = AWR + COG + COM + MOT): ${sciRaw}/159đ (${tSCI}T — ${clsSCI.text}).
2. Sở thích Hạn hẹp & Hành vi Lặp lại (RRB): ${rrbRaw}/36đ (${tRRB}T — ${clsRRB.text}).
• Định hướng Mục tiêu Can thiệp theo 5 Tiểu thang (Treatment Subscales):
– Nếu AWR (${tAWR}T) và COG (${tCOG}T) cao: Cần can thiệp dạy nhận diện tín hiệu phi ngôn ngữ, đọc biểu cảm nét mặt và huấn luyện Thuyết tâm trí (Theory of Mind / Câu chuyện xã hội Social Stories).
– Nếu COM (${tCOM}T) và MOT (${tMOT}T) cao: Cần rèn kỹ năng khởi xướng hội thoại qua lại 2 chiều, giảm lo âu xã hội và ghép nhóm chơi tương tác đồng trang lứa có hỗ trợ. `; updateFloatingFabVisibility(); } function applyPreset(type) { ratings = {}; const setScoreForQuestion = function(q, targetPts) { // targetPts: 0, 1, 2, 3 if (!q.rev) { ratings[q.id] = targetPts + 1; } else { ratings[q.id] = 4 - targetPts; } }; if (type === 'reset') { rawQuestions.forEach(q => { setScoreForQuestion(q, 0); }); renderQuestions(); updateSummary(); return; } if (type === 'normal') { // ~24/195đ (~48T - Bình thường { setScoreForQuestion(q, (idx % 3 === 0) ? 1 : 0); }); } else if (type === 'mild') { // ~70/195đ (~63T - Mức độ Nhẹ 60T - 65T) rawQuestions.forEach((q, idx) => { setScoreForQuestion(q, (idx % 10 === 0) ? 2 : 1); }); } else if (type === 'mod') { // ~98/195đ (~71T - Mức độ Trung bình 66T - 75T) rawQuestions.forEach((q, idx) => { setScoreForQuestion(q, (idx % 2 === 0) ? 2 : 1); }); } else if (type === 'sev') { // ~136/195đ (~82T - Mức độ Nặng >= 76T) rawQuestions.forEach((q, idx) => { setScoreForQuestion(q, (idx % 3 === 0) ? 3 : 2); }); } renderQuestions(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); srWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { srWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 980px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } shadow.querySelectorAll('#formGrid .form-btn').forEach(function(btn) { btn.onclick = function() { currentForm = this.getAttribute('data-form'); shadow.querySelectorAll('#formGrid .form-btn').forEach(b => b.classList.remove('active')); this.classList.add('active'); renderHeader(); renderQuestions(); updateSummary(); }; }); shadow.querySelectorAll('.sr-pbtn').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-preset')); }; }); shadow.querySelectorAll('#subTabs .sr-stab').forEach(function(tab) { tab.onclick = function() { filterSub = this.getAttribute('data-sub'); shadow.querySelectorAll('#subTabs .sr-stab').forEach(t => t.classList.remove('active')); this.classList.add('active'); renderQuestions(); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); renderHeader(); applyPreset('mod'); })();
SRS-2 (Social Responsiveness Scale – Thang đo Phản ứng Xã hội): Công cụ sàng lọc và đo lường mức độ khiếm khuyết giao tiếp xã hội trong tự kỷ (từ 2.5 tuổi đến trưởng thành), rất phổ biến trong các nghiên cứu và phòng khám quốc tế.
RS-2 (Social Responsiveness Scale, Second Edition — Thang đo Đáp ứng Xã hội, Phiên bản 2) là công cụ đánh giá định lượng hàng đầu thế giới dùng để đo lường mức độ suy giảm tương tác xã hội và các hành vi hạn hẹp, lặp lại đặc trưng của Rối loạn phổ tự kỷ (ASD) trong môi trường tự nhiên hàng ngày. Công cụ được phát triển bởi Giáo sư John N. Constantino và Christian P. Gruber (xuất bản năm 2012 bởi WPS).
Khác với các công cụ phân loại “Có / Không” (nhị phân), SRS-2 đo lường các đặc điểm phổ tự kỷ trên một dải liên tục (Continuous Dimension) thông qua hệ thống Điểm chuẩn T-Score (Trung bình = 50, Độ lệch chuẩn SD = 10):giúp phát hiện cả những trường hợp suy giảm giao tiếp xã hội mức độ nhẹ / dưới ngưỡng mà các bài test khác dễ bỏ sót, đồng thời lập Hồ sơ 5 Tiểu thang Điều trị (5 Treatment Subscales) để lên kế hoạch can thiệp kỹ năng xã hội.
1. Hệ thống 4 Phiên bản theo Độ tuổi & Người đánh giá của SRS-2
Toàn bộ các phiên bản của SRS-2 đều gồm đúng 65 câu hỏi, chấm trên thang Likert 4 mức từ 0 đến 3 điểm (trên phiếu giấy ghi từ 1 đến 4, khi tính điểm thô quy về 0 – 3 tạo thành Tổng điểm thô từ 0 đến 195 điểm, trong đó có các câu hỏi thuận và câu hỏi đảo ngược):
| Phiên bản (Form) | Độ tuổi áp dụng | Người đánh giá | Ngữ cảnh đánh giá đặc thù |
| 1. Preschool Form(Mầm non) | 2.5 – 4.5 tuổi (30 – 54 tháng) | Cha mẹ hoặc Giáo viên mầm non | Tập trung vào giao tiếp mắt sớm, chú ý chung, chơi giả vờ, tương tác ở lớp mẫu giáo và phản ứng giác quan đầu đời. |
| 2. School-Age Form(Học đường) | 4 – 18 tuổi | Cha mẹ hoặc Giáo viên phổ thông | Có quy chuẩn riêng theo giới tính (Nam / Nữ) và người chấm. Đánh giá quan hệ bạn bè, hội thoại, làm việc nhóm và hành vi ở trường/nhà. |
| 3. Adult Form (Other) (Người lớn – Người thân chấm) | Từ 19 tuổi trở lên | Vợ/chồng, Bố mẹ, Anh chị hoặc Bạn thân | Đánh giá khách quan từ góc nhìn người thân về khả năng duy trì quan hệ tình cảm, công việc và thích ứng xã hội của người trưởng thành. |
| 4. Adult Self-Report(Người lớn – Tự đánh giá) | Từ 19 tuổi trở lên | Bản thân tự đánh giá (Self-report) | Ngôi thứ nhất (“Tôi…”), giúp người trưởng thành tự nhận diện các khó khăn xã hội, cảm giác quá tải và xu hướng cứng nhắc của bản thân. |
2. Cấu trúc 5 Tiểu thang Điều trị & 2 Chỉ số Tương thích DSM-5 của SRS-2
Điểm mạnh nhất của SRS-2 là tách tổng điểm thành 5 Tiểu thang Điều trị (Treatment Subscales) và gom lại thành 2 Chỉ số Tương thích DSM-5:
| Chỉ số Tương thích DSM-5 | Mã | Tên Tiểu thang Điều trị (Treatment Subscale) | Số câu | Nội dung lâm sàng cốt lõi |
| 1. Giao tiếp và Tương tác Xã hội (Social Communication and Interaction – SCI • 53 câu) | AWR | 1. Nhận thức Xã hội(Social Awareness) | 8 câu | Khả năng thu nhận các tín hiệu xã hội cơ bản (biết khi nào mình nói quá to, nhận ra biểu cảm/ý định của người xung quanh). |
| COG | 2. Nhận thức / Tư duy Xã hội (Social Cognition) | 12 câu | Khả năng giải mã và diễn giải các tín hiệu xã hội sau khi đã nhìn/nghe thấy (Thuyết tâm trí, hiểu lời nói đùa, nghĩa bóng, nguyên nhân – hệ quả xã hội). | |
| COM | 3. Giao tiếp Xã hội(Social Communication) | 22 câu | Năng lực diễn đạt và tương hỗ xã hội (hội thoại qua lại 2 chiều, phối hợp ánh mắt – nét mặt – cử chỉ, chia sẻ cảm xúc). | |
| MOT | 4. Động lực Xã hội(Social Motivation) | 11 câu | Mức độ hứng thú chủ động tham gia tương tác xã hội so với sự thu mình, lo âu xã hội hoặc thích tách biệt ở một mình. | |
| 2. Hành vi Hạn hẹp & Lặp lại (RRB • 12 câu) | RRB | 5. Sở thích Hạn hẹp & Hành vi Lặp lại(Restricted Interests & Repetitive Behavior) | 12 câu | Các cử động định hình (mannerisms), thói quen cứng nhắc, kháng cự thay đổi và đam mê ám ảnh vào chủ đề hẹp. |
3. Bảng Diễn giải Điểm Chuẩn T-Score của SRS-2 (Mean=50,SD=10)
[Tự kỷ] SCQ: Bảng câu hỏi sàng lọc giao tiếp xã hội và phổ tự kỷ (Từ 4 tuổi trở lên)
Bảng Câu Hỏi Sàng Lọc Giao Tiếp Xã Hội SCQ (Từ 4 Tuổi Trở Lên)
', 'Đánh giá 40 chỉ báo hành vi theo cấu trúc SCQ (Lifetime Form) dựa trên tiêu chuẩn vàng ADI-R. Hệ thống tự động phân luồng ở Câu 1 và đối chiếu 2 ngưỡng điểm cắt lâm sàng (≥ 11 điểm và ≥ 15 điểm).
', '• Tổng điểm thấp hơn cả ngưỡng chuẩn (15 điểm) và ngưỡng nhạy cao cho trẻ nhỏ (11 điểm).
• Các kỹ năng Tương tác xã hội qua lại (' + rsi + '/15) và Giao tiếp (' + com + '/' + maxCom + ') không bộc lộ sự suy giảm lan tỏa đặc trưng của phổ tự kỷ.'; } else if (total < 15) { color = '#f59e0b'; badgeTxt = 'NGƯỠNG CẢNH BÁO SỚM (' + total + '/' + maxScore + ' điểm)'; analysis = 'Kết luận sàng lọc SCQ — Ngưỡng Cần Lưu Ý Lâm Sàng (11 – 14 điểm: Đạt ' + total + '/' + maxScore + ' điểm):
• Nhiều nghiên cứu lâm sàng khuyến nghị sử dụng điểm cắt ≥ 11 cho trẻ từ 4 – 7 tuổi để tránh bỏ sót Tự kỷ mức độ nhẹ hoặc Rối loạn giao tiếp xã hội (SPCD).
• Hồ sơ trụ cột: Tương tác xã hội (' + rsi + '/15) • Giao tiếp (' + com + '/' + maxCom + ') • Hành vi lặp lại (' + rrb + '/' + maxRrb + '). Khuyến nghị đánh giá thêm bằng thang Vineland-3.'; } else { color = '#ef4444'; badgeTxt = 'NGUY CƠ CAO ASD (' + total + '/' + maxScore + ' điểm)'; analysis = 'Kết luận sàng lọc SCQ — Vượt Ngưỡng Điểm Cắt Chuẩn (≥ 15 điểm: Đạt ' + total + '/' + maxScore + ' điểm):
• Kết quả sàng lọc dương tính trên thang SCQ ở cả 3 trụ cột: Tương tác xã hội (' + rsi + '/15), Giao tiếp (' + com + '/' + maxCom + ') và Hành vi lặp lại (' + rrb + '/' + maxRrb + ').
• Hướng xử trí chuẩn: Cần chuyển gửi trẻ thực hiện đánh giá chẩn đoán toàn diện bằng ADOS-2, ADI-R và Vineland-3.'; } barFillEl.style.background = color; badgeEl.textContent = badgeTxt; badgeEl.style.background = color; badgeEl.style.color = '#ffffff'; resBoxEl.style.borderLeftColor = color; resBoxEl.innerHTML = analysis; updateFloatingFabVisibility(); } function applyPreset(type) { answers = {}; if (type === 'reset') { answers[1] = 'YES'; renderQuestions(); updateSummary(); return; } if (type === 'typical') { answers[1] = 'YES'; questions.forEach(function(q) { if (q.id !== 1) answers[q.id] = (q.r === 'YES' ? 'NO' : 'YES'); }); answers[8] = 'YES'; answers[11] = 'YES'; answers[20] = 'NO'; } else if (type === 'spcd') { answers[1] = 'YES'; questions.forEach(function(q) { if (q.id !== 1) answers[q.id] = (q.r === 'YES' ? 'NO' : 'YES'); }); [2, 4, 8, 19, 20, 22, 23, 28, 30, 35, 39, 40].forEach(function(id) { answers[id] = questions[id - 1].r; }); } else if (type === 'hfasd') { answers[1] = 'YES'; questions.forEach(function(q) { if (q.id !== 1) answers[q.id] = (q.r === 'YES' ? 'NO' : 'YES'); }); [2, 3, 4, 5, 7, 8, 9, 11, 12, 13, 15, 19, 20, 22, 26, 30, 31, 35, 39].forEach(function(id) { answers[id] = questions[id - 1].r; }); } else if (type === 'nvasd') { answers[1] = 'NO'; questions.forEach(function(q) { if (q.id !== 1 && !q.verbalOnly) answers[q.id] = (q.r === 'YES' ? 'NO' : 'YES'); }); [8, 9, 10, 12, 14, 15, 16, 18, 19, 21, 22, 23, 24, 26, 28, 29, 30, 32, 35, 36, 37, 39].forEach(function(id) { answers[id] = questions[id - 1].r; }); } renderQuestions(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; var rect = host.getBoundingClientRect(); var viewH = window.innerHeight || document.documentElement.clientHeight; if (rect.top 180) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = 'position:fixed!important;inset:0!important;top:0!important;left:0!important;right:0!important;bottom:0!important;width:100vw!important;height:100vh!important;height:100dvh!important;max-width:none!important;max-height:none!important;margin:0!important;padding:0!important;z-index:2147483647!important;background:#f8fafc!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;display:block!important;'; wrapEl.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { wrapEl.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = ''; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } shadow.querySelectorAll('.scq-pbtn').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-preset')); }; }); shadow.querySelectorAll('#domainTabs .scq-dtab').forEach(function(tab) { tab.onclick = function() { filterType = this.getAttribute('data-dom'); shadow.querySelectorAll('#domainTabs .scq-dtab').forEach(function(t) { t.classList.remove('active'); }); this.classList.add('active'); renderQuestions(); }; }); shadow.getElementById('btnToggleFullscreen').onclick = function() { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = function() { setFullscreenState(false); }; fabBtn.onclick = function() { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', function(e) { if (e.key === 'Escape' && isFullscreen) setFullscreenState(false); }); applyPreset('hfasd'); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', initSCQWidget); } else { initSCQWidget(); } })();
SCQ (Social Communication Questionnaire — Bảng câu hỏi Giao tiếp Xã hội, trước đây từng có tên là Autism Screening Questionnaire – ASQ) là một công cụ sàng lọc chuẩn hóa hàng đầu dùng để phát hiện các dấu hiệu của Rối loạn phổ tự kỷ (ASD). Công cụ này được phát triển bởi ba chuyên gia đầu ngành là Michael Rutter, Anthony Bailey và Catherine Lord.
Nếu như M-CHAT-R/F được thiết kế cho trẻ nhỏ từ 16 – 30 tháng tuổi, thì SCQ chính là công cụ nối tiếp hoàn hảo để sàng lọc cho trẻ lớn hơn và người trưởng thành (từ 4 tuổi trở lên).
1. Nguồn gốc và Cơ sở khoa học
SCQ được thiết kế dựa trực tiếp trên các câu hỏi cốt lõi của ADI-R (Autism Diagnostic Interview-Revised — Phỏng vấn chẩn đoán tự kỷ bản hiệu đính, vốn là “tiêu chuẩn vàng” trong chẩn đoán tự kỷ nhưng mất từ 1.5 đến 2.5 giờ để thực hiện).
SCQ rút gọn quy trình đó thành 40 câu hỏi Đúng/Sai (Có/Không) dành cho phụ huynh hoặc người chăm sóc chính điền trong khoảng 10 phút, giúp tiết kiệm tối đa thời gian trước khi quyết định có cần đưa trẻ đi đánh giá chuyên sâu (như ADOS-2, ADI-R, Vineland-3) hay không.
2. Đối tượng áp dụng
-
Độ tuổi thực tế (Chronological Age): Từ 4 tuổi (48 tháng) trở lên (bao gồm trẻ mẫu giáo lớn, học sinh tiểu học,thanh thiếu niên và người lớn).
-
Tuổi phát triển tâm thần (Mental Age): Tối thiểu đạt mức từ 2.0 tuổi trở lên.
3. Hai phiên bản của SCQ
Công cụ SCQ được chia làm 2 mẫu phiếu tùy theo mục đích lâm sàng:
4. Cấu trúc 40 câu hỏi và 3 lĩnh vực đánh giá
Bảng hỏi gồm 40 câu trả lời CÓ / KHÔNG, tập trung vào 3 trụ cột triệu chứng cốt lõi của phổ tự kỷ:
-
Tương tác xã hội qua lại (Reciprocal Social Interaction): Giao tiếp mắt, nụ cười xã hội, sự quan tâm đến bạn bè cùng trang lứa, khả năng chia sẻ cảm xúc và an ủi người khác.
-
Giao tiếp (Communication): Cách sử dụng cử chỉ (chỉ trỏ, gật đầu), trò chuyện qua lại hai chiều, chơi giả vờ/tưởng tượng và các biểu hiện ngôn ngữ bất thường (nhại lời, nói lặp đi lặp lại, đảo ngược đại từ).
-
Các mẫu hành vi hạn hẹp, lặp đi lặp lại và rập khuôn (Restricted, Repetitive, and Stereotyped Patterns of Behavior): Sở thích đặc biệt quá mức, nghi thức cứng nhắc, cử động tay chân/cơ thể bất thường (stimming) hoặc thu hút giác quan lạ.
5. Cách tính điểm và Điểm cắt lâm sàng (Cut-off Score)
-
Câu số 1 (Câu phân luồng ngôn ngữ): “Hiện tại trẻ có thể nói bằng các cụm từ hoặc câu ngắn không?”. Câu số 1 không tính điểm, mà dùng để phân nhánh:
-
Nếu Câu 1 = CÓ (Trẻ có ngôn ngữ nói): Phụ huynh trả lời tiếp từ câu 2 đến câu 40. Tổng điểm tối đa là 39 điểm (tính từ 39 câu).
-
Nếu Câu 1 = KHÔNG (Trẻ chưa có ngôn ngữ cụm từ): Phụ huynh bỏ qua 6 câu về ngôn ngữ nói phức tạp (câu 2 đến câu 7) và trả lời từ câu 8 đến câu 40. Tổng điểm tối đa là 33 điểm (tính từ 33 câu).
-
-
Quy tắc chấm điểm (0 và 1):
Khoảng một nửa số câu hỏi được thiết kế theo chiều thuận (chọn CÓ = 1 điểm nguy cơ, thường là các hành vi bất thường) và nửa còn lại theo chiều nghịch (chọn KHÔNG = 1 điểm nguy cơ, thường là các kỹ năng phát triển bình thường bị thiếu hụt).
-
Ngưỡng điểm cắt (Cut-off):
-
điểm (Chuẩn gốc): Gợi ý nguy cơ cao mắc Rối loạn phổ tự kỷ (ASD), cần chuyển gửi đi đánh giá chẩn đoán chuyên sâu.
-
hoặc điểm (Khuyến nghị lâm sàng mới cho trẻ từ 4 – 7 tuổi): Nhiều nghiên cứu lâm sàng hiện đại khuyến nghị hạ điểm cắt xuống 11 hoặc 12 điểm ở nhóm trẻ nhỏ (hoặc trẻ chưa có lời nói) để tăng độ nhạy, tránh bỏ sót những trẻ tự kỷ mức độ nhẹ / chức năng cao.
-
Nguồn: Tài liệu chính thống với sự hỗ trợ của AI!
[Tự kỷ] CAST: Bài kiểm tra phát hiện sớm dấu hiệu rối loạn phổ tự kỷ ở trẻ 4 – 11 tuổi
(function() { const host = document.getElementById('cast-wp-host'); if (!host) return; const placeholder = document.createComment('cast-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // 37 câu hỏi chuẩn CAST (Cambridge University) // r: Đáp án tính 1 điểm ('YES' hoặc 'NO', 'CTRL' = 6 câu kiểm soát không tính điểm: 3, 4, 12, 22, 26, 33) // dom: 'soc' (Tương tác xã hội & Bạn bè - 12 câu), 'com' (Giao tiếp & Ngữ dụng - 12 câu), 'rrb' (Cứng nhắc & Sở thích hẹp - 7 câu), 'ctrl' (Kiểm soát - 6 câu) const questions = [ { id: 1, r: 'NO', dom: 'soc', cat: 'Tương tác bạn bè', t: 'Trẻ có dễ dàng tham gia chơi cùng với những đứa trẻ khác không?' }, { id: 2, r: 'NO', dom: 'com', cat: 'Giao tiếp hai chiều', t: 'Trẻ có tự nhiên bắt chuyện và trò chuyện qua lại với bạn một cách thoải mái không?' }, { id: 3, r: 'CTRL', dom: 'ctrl', cat: 'Câu kiểm soát phát triển (Không tính điểm)', t: 'Trẻ bắt đầu biết nói từ khi tròn 2 tuổi phải không?' }, { id: 4, r: 'CTRL', dom: 'ctrl', cat: 'Câu kiểm soát phát triển (Không tính điểm)', t: 'Trẻ có thích các hoạt động thể thao, vận động thể chất không?' }, { id: 5, r: 'YES', dom: 'rrb', cat: 'Trí nhớ chi tiết / Học vẹt', t: 'Việc ghi nhớ chính xác các thông tin, dữ kiện chi tiết có phải là điều cực kỳ quan trọng đối với trẻ không?' }, { id: 6, r: 'NO', dom: 'com', cat: 'Luân phiên hội thoại', t: 'Trẻ có hiểu và thực hiện tốt việc chờ đến lượt khi trò chuyện qua lại với người khác không?' }, { id: 7, r: 'NO', dom: 'com', cat: 'Chơi giả vờ / Tưởng tượng', t: 'Trẻ có thích chơi các trò đóng vai, giả vờ hoặc tưởng tượng không?' }, { id: 8, r: 'YES', dom: 'rrb', cat: 'Tính cứng nhắc / Quy tắc', t: 'Trẻ có thích làm mọi việc lặp đi lặp lại theo đúng một cách cố định không?' }, { id: 9, r: 'NO', dom: 'com', cat: 'Duy trì cuộc trò chuyện', t: 'Trẻ có thể tự duy trì một cuộc trò chuyện qua lại nhiều lượt với người khác không?' }, { id: 10, r: 'NO', dom: 'soc', cat: 'Hòa nhập nhóm bạn', t: 'Trẻ có dễ dàng kết bạn và hòa nhập với các bạn cùng trang lứa ở trường không?' }, { id: 11, r: 'NO', dom: 'com', cat: 'Quan tâm chủ đề của người nghe', t: 'Khi nói chuyện, trẻ có quan tâm xem người đối diện có hứng thú với chủ đề trẻ đang nói không?' }, { id: 12, r: 'CTRL', dom: 'ctrl', cat: 'Câu kiểm soát phát triển (Không tính điểm)', t: 'Trẻ có thích đọc sách phù hợp với lứa tuổi của mình không?' }, { id: 13, r: 'NO', dom: 'soc', cat: 'Sở thích chung với bạn đồng trang lứa', t: 'Trẻ có hầu hết các sở thích giống như những đứa trẻ khác cùng độ tuổi không?' }, { id: 14, r: 'YES', dom: 'rrb', cat: 'Sở thích hẹp / Chuyên sâu', t: 'Trẻ có một mối quan tâm/sở thích đặc biệt nào đó chiếm gần hết thời gian khiến trẻ ít làm việc khác không?' }, { id: 15, r: 'NO', dom: 'soc', cat: 'Duy trì tình bạn', t: 'Trẻ có những người bạn thân thực sự (chứ không chỉ là người quen biết chung chung) không?' }, { id: 16, r: 'NO', dom: 'soc', cat: 'Chia sẻ sự chú ý', t: 'Trẻ có thường mang những thứ trẻ thích hoặc tự làm được lại đưa cho bạn xem để khoe không?' }, { id: 17, r: 'NO', dom: 'com', cat: 'Kể chuyện xã hội', t: 'Trẻ có thích nói chuyện tào lao vui vẻ hoặc chia sẻ cảm xúc hàng ngày với bạn không?' }, { id: 18, r: 'YES', dom: 'rrb', cat: 'Trí nhớ máy móc khác thường', t: 'Trẻ có trí nhớ chi tiết khác thường về những thông tin mà hầu hết người khác đều quên ngay không?' }, { id: 19, r: 'NO', dom: 'soc', cat: 'Giao tiếp mắt', t: 'Trẻ có sử dụng giao tiếp mắt tự nhiên và phù hợp khi nói chuyện với người khác không?' }, { id: 20, r: 'YES', dom: 'com', cat: 'Ngôn ngữ hình thức / Khác lạ', t: 'Giọng điệu của trẻ có vẻ đều đều, khác thường hoặc cách dùng từ quá sách vở/già dặn so với tuổi không?' }, { id: 21, r: 'NO', dom: 'soc', cat: 'Tầm quan trọng của con người', t: 'Đối với trẻ, con người (bạn bè, người thân) có quan trọng hơn là các đồ vật/sự vật không?' }, { id: 22, r: 'CTRL', dom: 'ctrl', cat: 'Câu kiểm soát phát triển (Không tính điểm)', t: 'Trẻ đã có thể tự mặc quần áo mà không cần giúp đỡ chưa?' }, { id: 23, r: 'NO', dom: 'soc', cat: 'Kỹ năng luân phiên xã hội', t: 'Trẻ có giỏi việc nhường nhịn và luân phiên khi tham gia hoạt động chung với người khác không?' }, { id: 24, r: 'NO', dom: 'soc', cat: 'Chơi nhập vai hợp tác', t: 'Trẻ có chơi đóng vai giả vờ cùng với một hoặc nhiều đứa trẻ khác không?' }, { id: 25, r: 'YES', dom: 'com', cat: 'Thiếu tinh tế xã hội', t: 'Trẻ có hay buột miệng nói hoặc làm những điều thiếu tế nhị, không phù hợp hoàn cảnh xã hội không?' }, { id: 26, r: 'CTRL', dom: 'ctrl', cat: 'Câu kiểm soát phát triển (Không tính điểm)', t: 'Trẻ có thể đếm đến 50 mà không bỏ sót số nào không?' }, { id: 27, r: 'NO', dom: 'soc', cat: 'Nụ cười xã hội', t: 'Trẻ có mỉm cười tự nhiên đáp lại khi tương tác với người khác không?' }, { id: 28, r: 'YES', dom: 'rrb', cat: 'Vận động định hình (Stimming)', t: 'Trẻ có những cử động cơ thể hoặc tay chân lặp đi lặp lại bất thường không?' }, { id: 29, r: 'YES', dom: 'soc', cat: 'Hành vi xã hội một chiều', t: 'Cách cư xử xã hội của trẻ có vẻ thiên về một chiều và luôn muốn mọi thứ phải theo đúng điều kiện của trẻ không?' }, { id: 30, r: 'YES', dom: 'com', cat: 'Tách biệt nội dung hội thoại', t: 'Đôi khi trẻ có nói "thao thao bất tuyệt" về chủ đề của riêng mình mà không liên quan gì đến câu chuyện chung không?' }, { id: 31, r: 'YES', dom: 'rrb', cat: 'Thích chơi một mình', t: 'Trẻ có thích tự chơi các hoạt động tưởng tượng một mình hơn là chơi cùng bạn khác không?' }, { id: 32, r: 'YES', dom: 'com', cat: 'Mất mạch câu chuyện', t: 'Đôi khi trẻ có làm người nghe bối rối vì không giải thích rõ trẻ đang nói về chủ đề gì không?' }, { id: 33, r: 'CTRL', dom: 'ctrl', cat: 'Câu kiểm soát phát triển (Không tính điểm)', t: 'Trẻ đã biết đi xe đạp hai bánh chưa?' }, { id: 34, r: 'YES', dom: 'rrb', cat: 'Áp đặt quy tắc lên bạn bè', t: 'Trẻ có cố gắng áp đặt các thói quen hoặc luật lệ cứng nhắc của bản thân lên bạn cùng chơi không?' }, { id: 35, r: 'NO', dom: 'soc', cat: 'Quan tâm hình ảnh xã hội', t: 'Trẻ có quan tâm đến việc nhóm bạn ở trường nghĩ gì hoặc đánh giá thế nào về mình không?' }, { id: 36, r: 'YES', dom: 'com', cat: 'Độc thoại trong giao tiếp', t: 'Khi nói chuyện, trẻ có thường biến cuộc hội thoại thành bài độc thoại một chiều về sở thích của trẻ không?' }, { id: 37, r: 'YES', dom: 'com', cat: 'Hiểu theo nghĩa đen (Literal)', t: 'Trẻ có gặp khó khăn khi hiểu các câu nói đùa, thành ngữ, ẩn dụ hoặc lời nói mỉa mai không?' } ]; let answers = {}; let filterDom = 'all'; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .cast-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .cast-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .cast-inner { padding: 24px; max-width: 920px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .cast-wrap.is-fullscreen .cast-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .cast-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 0 rgba(37, 99, 235, 0.4); } 70% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 10px rgba(37, 99, 235, 0); } 100% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 0 rgba(37, 99, 235, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #1d4ed8 0%, #2563eb 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Header */ .cast-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .cast-header-text { flex: 1 1 260px; } .cast-title { font-size: 21px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .cast-desc { font-size: 14px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #eff6ff; color: #1d4ed8; border: 1px solid #bfdbfe; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #2563eb; color: #ffffff; border-color: #2563eb; } /* Controls */ .cast-controls { display: flex; flex-direction: column; gap: 10px; margin-bottom: 18px; } .cast-presets { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; } .cast-preset-lbl { font-size: 12.5px; font-weight: 700; color: #475569; margin-right: 4px; } .cast-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; transition: all 0.15s ease; touch-action: manipulation; } .cast-pbtn:hover { background: #f1f5f9; border-color: #94a3b8; } .cast-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } .cast-domain-tabs { display: flex; flex-wrap: wrap; gap: 6px; } .cast-dtab { padding: 6px 12px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .cast-dtab.active { background: #2563eb; color: #ffffff; border-color: #2563eb; } /* Sticky Dashboard */ .cast-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .cast-wrap.is-fullscreen .cast-dash { top: 58px; } .cast-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .cast-score-big { font-size: 24px; font-weight: 800; line-height: 1; } .cast-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .cast-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .cast-bar-bg { height: 10px; background: #334155; border-radius: 5px; overflow: hidden; margin-bottom: 12px; } .cast-bar-fill { height: 100%; width: 0%; background: #10b981; transition: width 0.35s ease, background 0.35s ease; } .cast-pillars { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; font-size: 12px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .cast-pillar-box { background: #1e293b; padding: 7px 10px; border-radius: 8px; } .cast-pillar-val { font-weight: 700; color: #ffffff; font-size: 13.5px; display: block; margin-top: 2px; } /* Danh sách 37 câu hỏi */ .cast-q-item { border: 1px solid #e2e8f0; border-radius: 10px; padding: 14px 16px; margin-bottom: 12px; background: #ffffff; transition: all 0.2s ease; } .cast-q-item.risk-flagged { border-color: #fca5a5; background: #fff5f5; } .cast-q-item.ctrl-item { background: #f8fafc; border-style: dashed; } .cast-q-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; } .cast-q-text { font-size: 14.5px; font-weight: 600; color: #1e293b; line-height: 1.5; flex: 1; } .cast-q-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; } .cast-tag { font-size: 11px; font-weight: 600; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .cast-tag.dom-soc { background: #dbeafe; color: #1d4ed8; } .cast-tag.dom-com { background: #f3e8ff; color: #7e22ce; } .cast-tag.dom-rrb { background: #fef3c7; color: #b45309; } .cast-tag.ctrl { background: #e2e8f0; color: #334155; } .cast-ans-group { display: flex; gap: 8px; flex-shrink: 0; } .cast-abtn { min-width: 78px; padding: 8px 14px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 13.5px; font-weight: 700; color: #334155; cursor: pointer; transition: all 0.15s ease; touch-action: manipulation; } .cast-abtn:hover { border-color: #64748b; } .cast-abtn.sel-safe { background: #10b981; border-color: #10b981; color: #ffffff; } .cast-abtn.sel-risk { background: #ef4444; border-color: #ef4444; color: #ffffff; } .cast-abtn.sel-ctrl { background: #64748b; border-color: #64748b; color: #ffffff; } .cast-result-box { margin-top: 20px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #64748b; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 600px) { .cast-inner { padding: 14px; } .cast-title { font-size: 18px; } .cast-q-head { flex-direction: column; } .cast-ans-group { width: 100%; } .cast-abtn { flex: 1; padding: 10px 14px; } .cast-pillars { grid-template-columns: 1fr; } .cast-pbtn.reset { margin-left: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
Bài Test Sàng Lọc Phổ Tự Kỷ Tuổi Đi Học CAST (4 – 11 Tuổi)
Đánh giá 37 câu hỏi CÓ / KHÔNG theo chuẩn Đại học Cambridge (Anh). Hệ thống tính điểm trên 31 câu chỉ báo (tự động tách riêng 6 câu kiểm soát phát triển chung không tính điểm: câu 3, 4, 12, 22, 26, 33). Ngưỡng điểm cắt chuẩn: ≥ 15 điểm.
• Tổng điểm thấp hơn cả ngưỡng giáp ranh (12 điểm) và ngưỡng cắt chuẩn (15 điểm).
• Trẻ thể hiện khả năng kết bạn, trò chuyện qua lại hai chiều (${com}/12) và hòa nhập nhóm bạn học đường (${soc}/12) phù hợp với lứa tuổi. `; } else if (total < 15) { color = '#f59e0b'; badgeTxt = `VÙNG GIÁP RANH (${total}/31 điểm)`; analysis = ` Kết luận sàng lọc CAST — Vùng Giáp Ranh Cần Lưu Ý (12 – 14 điểm: Đạt ${total}/31 điểm):
• Điểm số tiệm cận ngưỡng cắt lâm sàng (≥ 15 điểm). Hồ sơ 3 trụ cột: Tương tác xã hội (${soc}/12) • Giao tiếp ngữ dụng (${com}/12) • Hành vi cứng nhắc & Sở thích hẹp (${rrb}/7).
• Khuyến nghị: Nên kết hợp đối chiếu thêm bảng sàng lọc từ Giáo viên (như thang ASSQ) và theo dõi kỹ năng hiểu nghĩa bóng, duy trì tình bạn ở trường. `; } else { color = '#ef4444'; badgeTxt = `NGUY CƠ CAO ASD (≥ 15: ${total}/31đ)`; analysis = ` Kết luận sàng lọc CAST — Vượt Ngưỡng Điểm Cắt Lâm Sàng (≥ 15 điểm: Đạt ${total}/31 điểm):
• Kết quả dương tính trên thang CAST với các dấu hiệu đặc trưng ở cả 3 lĩnh vực: Tương tác bạn bè (${soc}/12), Giao tiếp ngữ dụng (${com}/12) và Sở thích chuyên sâu / Tính cứng nhắc (${rrb}/7).
• Hướng xử trí chuẩn: Cần chuyển gửi trẻ thực hiện đánh giá chẩn đoán chuyên sâu bằng ADOS-2 (Module 3), ADI-R và đánh giá năng lực thích ứng Vineland-3 để xây dựng kế hoạch hỗ trợ kỹ năng xã hội học đường. `; } barFillEl.style.background = color; badgeEl.textContent = badgeTxt; badgeEl.style.background = color; badgeEl.style.color = '#ffffff'; resBoxEl.style.borderLeftColor = color; resBoxEl.innerHTML = analysis; updateFloatingFabVisibility(); } function applyPreset(type) { answers = {}; if (type === 'reset') { renderQuestions(); updateSummary(); return; } questions.forEach(function(q) { if (q.r === 'CTRL') answers[q.id] = 'YES'; else answers[q.id] = (q.r === 'YES' ? 'NO' : 'YES'); }); if (type === 'typical') { [5, 14, 18].forEach(function(id) { answers[id] = questions[id - 1].r; }); } else if (type === 'border') { [1, 5, 6, 8, 10, 11, 14, 15, 18, 20, 25, 30, 37].forEach(function(id) { answers[id] = questions[id - 1].r; }); } else if (type === 'hfasd') { [1, 2, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 18, 19, 20, 25, 29, 30, 34, 36, 37].forEach(function(id) { answers[id] = questions[id - 1].r; }); } renderQuestions(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); castWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { castWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 900px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } shadow.querySelectorAll('.cast-pbtn').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-preset')); }; }); shadow.querySelectorAll('#domainTabs .cast-dtab').forEach(function(tab) { tab.onclick = function() { filterDom = this.getAttribute('data-dom'); shadow.querySelectorAll('#domainTabs .cast-dtab').forEach(t => t.classList.remove('active')); this.classList.add('active'); renderQuestions(); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); applyPreset('hfasd'); })();
CAST (Childhood Autism Spectrum Test — trước đây gọi là Childhood Asperger Syndrome Test) là công cụ sàng lọc chuẩn hóa do Trung tâm Nghiên cứu Tự kỷ (ARC) tại Đại học Cambridge (Anh) (Fiona Scott, Simon Baron-Cohen và cộng sự) phát triển.
Mục đích lâm sàng: Phát hiện các dấu hiệu Rối loạn phổ tự kỷ mức độ nhẹ / Tự kỷ chức năng cao (High-Functioning Autism / Asperger) ở trẻ em độ tuổi đi học — nhóm trẻ thường có trí tuệ và ngôn ngữ bề mặt bình thường nhưng gặp rào cản trong giao tiếp xã hội tinh tế, kết bạn và hành vi linh hoạt ở trường.
-
Độ tuổi áp dụng: 4 đến 11 tuổi (Bậc Mầm non lớn & Tiểu học).
-
Người thực hiện: Phụ huynh hoặc người chăm sóc chính trả lời trong khoảng 10 phút.
-
Cấu trúc câu hỏi (37 câu CÓ / KHÔNG):
-
31 câu tính điểm nguy cơ chia vào 3 trụ cột: Tương tác xã hội & Bạn bè (12 câu), Giao tiếp & Ngữ dụng (12 câu), Hành vi cứng nhắc & Sở thích hẹp (7 câu).
-
6 câu kiểm soát phát triển chung không tính điểm: Câu số 3, 4, 12, 22, 26, 33.
-
-
Cách tính điểm & Ngưỡng điểm cắt (Cut-off):
-
Tổng điểm tối đa: 31 điểm (mỗi câu khớp chỉ báo ASD = 1 điểm).
-
điểm: Ngưỡng nguy cơ cao (Positive screen), cần chuyển gửi đánh giá chẩn đoán chuyên sâu (ADOS-2, ADI-R, Vineland-3).
-
12 – 14 điểm: Vùng giáp ranh (Borderline), cần theo dõi sát và đối chiếu thêm đánh giá từ giáo viên.
-
Nguồn: Tài liệu gốc với sự hỗ trợ của AI.
[Tự kỷ] ASSQ: Bảng câu hỏi sàng lọc phổ tự kỷ chức năng cao ở trẻ học đường (7 – 16 tuổi)
(function() { const host = document.getElementById('assq-wp-host'); if (!host) return; const placeholder = document.createComment('assq-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // 27 câu hỏi chuẩn ASSQ (Ehlers, Gillberg & Wing, 1999) // dom: 'soc' (Tương tác xã hội - 11 câu), 'com' (Giao tiếp & Ngữ dụng - 6 câu), 'rrb' (Cứng nhắc & Lặp lại - 5 câu), 'mot' (Vận động & Biểu cảm/Tics - 5 câu) const questions = [ { id: 1, dom: 'com', cat: 'Phong cách ngôn ngữ', t: 'Cách nói chuyện và cư xử già dặn kiểu "ông cụ non" (kiểu cách, sách vở hơn bạn cùng tuổi).' }, { id: 2, dom: 'soc', cat: 'Hình ảnh trong mắt bạn bè', t: 'Được các bạn cùng trang lứa coi như một "giáo sư lập dị" (biết rất nhiều về vài thứ nhưng xa rời thực tế).' }, { id: 3, dom: 'soc', cat: 'Thế giới nội tâm', t: 'Sống như trong thế giới riêng của bản thân với những mối quan tâm trí tuệ hẹp và mang tính cá nhân.' }, { id: 4, dom: 'rrb', cat: 'Trí nhớ cơ học', t: 'Tích lũy các sự kiện, số liệu về một số chủ đề nhất định (trí nhớ cơ học rất tốt) nhưng không thực sự hiểu sâu ý nghĩa tổng thể.' }, { id: 5, dom: 'com', cat: 'Hiểu theo nghĩa đen', t: 'Hiểu ngôn ngữ theo đúng nghĩa đen; không hiểu được nghĩa bóng, ẩn dụ, lời nói đùa hoặc châm biếm.' }, { id: 6, dom: 'com', cat: 'Diễn đạt lệch chuẩn', t: 'Có phong cách giao tiếp lệch chuẩn: cách diễn đạt trang trọng quá mức, cầu kỳ, cổ điển hoặc cứng nhắc như "robot".' }, { id: 7, dom: 'com', cat: 'Từ ngữ tự tạo', t: 'Tự bịa ra các từ ngữ hoặc cách diễn đạt riêng biệt không giống ai.' }, { id: 8, dom: 'com', cat: 'Giọng điệu khác lạ', t: 'Có giọng nói hoặc cách phát âm khác thường (quá to, quá nhỏ, đều đều một tông giọng, hoặc ngữ điệu kỳ lạ).' }, { id: 9, dom: 'mot', cat: 'Âm thanh không chủ đích', t: 'Phát âm ra những âm thanh không chủ đích như: hắng giọng, khịt mũi, tặc lưỡi, rên rỉ hoặc kêu lên bất chợt.' }, { id: 10, dom: 'rrb', cat: 'Năng lực không đồng đều', t: 'Phong độ học tập/thực hiện nhiệm vụ rất thất thường: cực kỳ xuất sắc ở một số mảng nhưng lại rất kém ở những mảng đơn giản khác.' }, { id: 11, dom: 'com', cat: 'Ngữ dụng xã hội', t: 'Sử dụng ngôn ngữ trôi chảy nhưng thất bại trong việc điều chỉnh lời nói cho phù hợp với ngữ cảnh xã hội hoặc người nghe.' }, { id: 12, dom: 'soc', cat: 'Thấu cảm xã hội', t: 'Thiếu sự đồng cảm (không nhận ra hoặc không thấu hiểu được cảm xúc của người khác).' }, { id: 13, dom: 'soc', cat: 'Nhận xét thiếu tinh tế', t: 'Hay đưa ra những nhận xét ngây thơ, thẳng thừng làm người khác ngượng ngùng mà không nhận thức được.' }, { id: 14, dom: 'soc', cat: 'Giao tiếp ánh mắt', t: 'Có kiểu nhìn chằm chằm hoặc giao tiếp ánh mắt lệch chuẩn (tránh nhìn mắt hoặc nhìn cứng nhắc).' }, { id: 15, dom: 'soc', cat: 'Thiết lập quan hệ bạn bè', t: 'Có mong muốn hòa đồng với bạn bè nhưng luôn thất bại trong việc thiết lập và duy trì mối quan hệ với bạn cùng lứa.' }, { id: 16, dom: 'soc', cat: 'Tương tác một chiều', t: 'Chỉ có thể ở bên cạnh các bạn khác nếu mọi người chịu làm theo đúng luật lệ và điều kiện của trẻ.' }, { id: 17, dom: 'soc', cat: 'Tình bạn thân thiết', t: 'Thiếu vắng một người bạn thân thực sự.' }, { id: 18, dom: 'soc', cat: 'Phán đoán tình huống', t: 'Thiếu "lẽ thường" (common sense) trong các tình huống ứng xử đời sống hàng ngày.' }, { id: 19, dom: 'soc', cat: 'Phối hợp nhóm / Đồng đội', t: 'Kém trong các trò chơi đồng đội: không có khái niệm hợp tác nhóm mà chỉ tự tính điểm/chơi theo ý riêng.' }, { id: 20, dom: 'mot', cat: 'Phối hợp vận động', t: 'Có cử chỉ hoặc dáng chạy nhảy, vận động vụng về, thiếu sự phối hợp nhịp nhàng và uyển chuyển.' }, { id: 21, dom: 'mot', cat: 'Cử động không chủ đích', t: 'Có những cử động khuôn mặt hoặc cơ thể không chủ đích (nháy mắt, nhăn mặt, vặn vẹo tay chân).' }, { id: 22, dom: 'rrb', cat: 'Hành vi bắt buộc lặp lại', t: 'Gặp khó khăn trong việc hoàn thành các sinh hoạt cá nhân hàng ngày do cứ phải lặp đi lặp lại một số hành động hoặc suy nghĩ bắt buộc.' }, { id: 23, dom: 'rrb', cat: 'Nghi thức cứng nhắc', t: 'Có những thói quen/nghi thức đặc biệt: luôn khăng khăng không cho phép bất kỳ sự thay đổi nào.' }, { id: 24, dom: 'rrb', cat: 'Gắn bó đồ vật khác lạ', t: 'Có sự gắn bó khác thường với một số đồ vật nhất định (sưu tầm hoặc luôn mang theo những thứ không phù hợp lứa tuổi).' }, { id: 25, dom: 'soc', cat: 'Nguy cơ bị bắt nạt', t: 'Thường bị những đứa trẻ khác trêu chọc, bắt nạt hoặc cô lập.' }, { id: 26, dom: 'mot', cat: 'Biểu cảm nét mặt', t: 'Có biểu cảm khuôn mặt khác thường (ít biểu cảm, đơ cứng hoặc biểu cảm lệch pha với hoàn cảnh).' }, { id: 27, dom: 'mot', cat: 'Tư thế cơ thể', t: 'Có tư thế cơ thể hoặc dáng đứng/dáng ngồi khác thường, cứng nhắc.' } ]; let answers = {}; let rater = 'parent'; // 'parent' (Cut-off >= 19) | 'teacher' (Cut-off >= 22) let filterDom = 'all'; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .assq-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .assq-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .assq-inner { padding: 24px; max-width: 920px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .assq-wrap.is-fullscreen .assq-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .assq-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(124, 58, 237, 0.45), 0 0 0 0 rgba(124, 58, 237, 0.4); } 70% { box-shadow: 0 6px 20px rgba(124, 58, 237, 0.45), 0 0 0 10px rgba(124, 58, 237, 0); } 100% { box-shadow: 0 6px 20px rgba(124, 58, 237, 0.45), 0 0 0 0 rgba(124, 58, 237, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #6d28d9 0%, #7c3aed 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(124, 58, 237, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Header */ .assq-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .assq-header-text { flex: 1 1 260px; } .assq-title { font-size: 21px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .assq-desc { font-size: 14px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #f5f3ff; color: #6d28d9; border: 1px solid #ddd6fe; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #7c3aed; color: #ffffff; border-color: #7c3aed; } /* Khu vực chọn Người đánh giá & Kịch bản mẫu */ .assq-top-controls { display: grid; grid-template-columns: 1fr 1.25fr; gap: 12px; margin-bottom: 14px; } .assq-box-ctrl { background: #f8fafc; border: 1px solid #e2e8f0; padding: 10px 12px; border-radius: 10px; } .assq-ctrl-label { font-size: 12px; font-weight: 700; color: #475569; text-transform: uppercase; margin-bottom: 6px; display: block; } .assq-rater-group, .assq-preset-group { display: flex; flex-wrap: wrap; gap: 6px; } .assq-btn-sm { padding: 6px 10px; border-radius: 7px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; flex: 1; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .assq-btn-sm:hover { background: #f1f5f9; } .assq-btn-sm.active { background: #6d28d9; color: #ffffff; border-color: #6d28d9; } .assq-btn-sm.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; flex: 0 0 auto; } /* Bộ lọc 4 nhóm triệu chứng */ .assq-domain-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 16px; } .assq-dtab { padding: 6px 12px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .assq-dtab.active { background: #6d28d9; color: #ffffff; border-color: #6d28d9; } /* Bảng điểm nổi (Sticky Dashboard) */ .assq-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .assq-wrap.is-fullscreen .assq-dash { top: 58px; } .assq-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .assq-score-big { font-size: 24px; font-weight: 800; line-height: 1; } .assq-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .assq-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .assq-bar-bg { height: 10px; background: #334155; border-radius: 5px; overflow: hidden; margin-bottom: 12px; } .assq-bar-fill { height: 100%; width: 0%; background: #10b981; transition: width 0.35s ease, background 0.35s ease; } .assq-pillars { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; font-size: 12px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .assq-pillar-box { background: #1e293b; padding: 7px 10px; border-radius: 8px; } .assq-pillar-val { font-weight: 700; color: #ffffff; font-size: 13.5px; display: block; margin-top: 2px; } /* Danh sách 27 câu hỏi */ .assq-q-item { border: 1px solid #e2e8f0; border-radius: 10px; padding: 14px 16px; margin-bottom: 12px; background: #ffffff; transition: all 0.2s ease; } .assq-q-item.risk-high { border-color: #fca5a5; background: #fff5f5; } .assq-q-item.risk-mid { border-color: #fde68a; background: #fffbeb; } .assq-q-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 14px; } .assq-q-text { font-size: 14.5px; font-weight: 600; color: #1e293b; line-height: 1.5; flex: 1; } .assq-q-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; } .assq-tag { font-size: 11px; font-weight: 600; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .assq-tag.dom-soc { background: #dbeafe; color: #1d4ed8; } .assq-tag.dom-com { background: #f3e8ff; color: #7e22ce; } .assq-tag.dom-rrb { background: #fef3c7; color: #b45309; } .assq-tag.dom-mot { background: #dcfce7; color: #15803d; } .assq-ans-group { display: flex; gap: 6px; flex-shrink: 0; } .assq-abtn { min-width: 78px; padding: 8px 10px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 700; color: #334155; cursor: pointer; transition: all 0.15s ease; touch-action: manipulation; } .assq-abtn:hover { border-color: #64748b; } .assq-abtn.sel-0 { background: #10b981; border-color: #10b981; color: #ffffff; } .assq-abtn.sel-1 { background: #f59e0b; border-color: #f59e0b; color: #ffffff; } .assq-abtn.sel-2 { background: #ef4444; border-color: #ef4444; color: #ffffff; } .assq-result-box { margin-top: 20px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #64748b; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 680px) { .assq-inner { padding: 14px; } .assq-title { font-size: 18px; } .assq-top-controls { grid-template-columns: 1fr; } .assq-pillars { grid-template-columns: 1fr 1fr; } .assq-q-head { flex-direction: column; } .assq-ans-group { width: 100%; } .assq-abtn { flex: 1; padding: 10px 6px; font-size: 12px; min-width: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
Bảng Câu Hỏi Sàng Lọc Phổ Tự Kỷ ASSQ (7 – 16 Tuổi)
Đánh giá 27 biểu hiện hành vi theo thang điểm 0 – 1 – 2 (Tổng điểm tối đa: 54 điểm). Công cụ chuẩn hóa cho cả Phụ huynh (Ngưỡng cắt ≥ 19 điểm) và Giáo viên (Ngưỡng cắt ≥ 22 điểm) nhằm phát hiện sớm Tự kỷ chức năng cao / Asperger ở lứa tuổi học đường.
• Tổng điểm thấp hơn cả ngưỡng cảnh báo sớm (${warnCut} điểm) và ngưỡng cắt lâm sàng (≥ ${highCut} điểm dành cho ${raterLabel}).
• Trẻ không bộc lộ sự khác biệt lan tỏa về giao tiếp ngữ dụng hay tương tác bạn bè so với nhóm tuổi. `; } else if (total < highCut) { color = '#f59e0b'; badgeTxt = `VÙNG CẢNH BÁO (${total}/54 điểm)`; analysis = ` Kết luận sàng lọc ASSQ (${raterLabel}) — Vùng Cảnh Báo Giáp Ranh (${total}/54 điểm, ngưỡng cắt ≥ ${highCut}):
• Hồ sơ 4 lĩnh vực: Tương tác xã hội (${soc}/22) • Giao tiếp & Ngôn ngữ (${com}/12) • Cứng nhắc & Lặp lại (${rrb}/10) • Vận động & Biểu cảm (${mot}/10).
• Khuyến nghị: Nên cho cả Phụ huynh và Giáo viên cùng chấm độc lập trên thang ASSQ để đối chiếu hành vi của trẻ ở nhà và ở trường, đồng thời theo dõi kỹ năng kết bạn và hòa nhập nhóm. `; } else { color = '#ef4444'; badgeTxt = `NGUY CƠ CAO ASD (≥ ${highCut}: ${total}/54đ)`; analysis = ` Kết luận sàng lọc ASSQ (${raterLabel}) — Vượt Ngưỡng Điểm Cắt Lâm Sàng (Đạt ${total}/54 điểm, ngưỡng cắt ≥ ${highCut}):
• Kết quả sàng lọc dương tính trên thang ASSQ với các biểu hiện rõ nét ở: Tương tác xã hội (${soc}/22), Giao tiếp ngữ dụng (${com}/12), Thói quen cứng nhắc (${rrb}/10) và Đặc điểm vận động/biểu cảm (${mot}/10).
• Hướng xử trí chuẩn: Cần chuyển gửi trẻ khám chuyên khoa Tâm bệnh / Tâm lý lâm sàng để đánh giá chẩn đoán bằng ADOS-2 (Module 3/4), ADI-R và đánh giá hành vi thích ứng Vineland-3. `; } barFillEl.style.background = color; badgeEl.textContent = badgeTxt; badgeEl.style.background = color; badgeEl.style.color = '#ffffff'; resBoxEl.style.borderLeftColor = color; resBoxEl.innerHTML = analysis; updateFloatingFabVisibility(); } function applyPreset(type) { answers = {}; if (type === 'reset') { renderQuestions(); updateSummary(); return; } questions.forEach(function(q) { answers[q.id] = 0; }); if (type === 'typical') { answers[1] = 1; answers[4] = 2; answers[20] = 1; // 4 điểm } else if (type === 'border') { // 16 điểm [1, 2, 4, 5, 6, 11, 13, 15, 17, 19, 20].forEach(function(id, idx) { answers[id] = (idx < 5) ? 2 : 1; }); } else if (type === 'hfasd') { // 28 điểm [1, 2, 3, 4, 5, 6, 8, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 23, 25].forEach(function(id, idx) { answers[id] = (idx < 9) ? 2 : 1; }); } renderQuestions(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); assqWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { assqWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 900px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } shadow.querySelectorAll('#raterGroup .assq-btn-sm').forEach(function(btn) { btn.onclick = function() { rater = this.getAttribute('data-rater'); shadow.querySelectorAll('#raterGroup .assq-btn-sm').forEach(b => b.classList.remove('active')); this.classList.add('active'); updateSummary(); }; }); shadow.querySelectorAll('#presetGroup .assq-btn-sm').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-pre')); }; }); shadow.querySelectorAll('#domainTabs .assq-dtab').forEach(function(tab) { tab.onclick = function() { filterDom = this.getAttribute('data-dom'); shadow.querySelectorAll('#domainTabs .assq-dtab').forEach(t => t.classList.remove('active')); this.classList.add('active'); renderQuestions(); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); applyPreset('hfasd'); })();
ASSQ (Autism Spectrum Screening Questionnaire — Bảng câu hỏi Sàng lọc Phổ Tự kỷ) là công cụ sàng lọc lâm sàng do Stephan Ehlers, Christopher Gillberg và Lorna Wing phát triển (1999).
-
Mục đích lâm sàng: Chuyên dùng để sàng lọc các dấu hiệu Rối loạn phổ tự kỷ chức năng cao (High-Functioning Autism / Hội chứng Asperger trước đây) ở trẻ em và thanh thiếu niên có trí tuệ trong giới hạn bình thường hoặc cao nhưng gặp khó khăn đặc trưng về tương tác xã hội, ngôn ngữ ngữ dụng, thói quen cứng nhắc và sự vụng về vận động.
-
Độ tuổi áp dụng: 7 đến 16 tuổi (Bậc Tiểu học & Trung học cơ sở).
-
Người thực hiện: Được thiết kế để cả Phụ huynh VÀ Giáo viên cùng đánh giá độc lập dựa trên việc so sánh hành vi của trẻ với các bạn cùng trang lứa.
-
Cấu trúc 27 câu hỏi & Thang điểm (0 – 1 – 2):
-
Gồm 27 mục hành vi chia vào 4 nhóm triệu chứng: Tương tác xã hội (11 câu), Giao tiếp & Ngôn ngữ (6 câu), Hành vi hạn hẹp & Lặp lại (5 câu), Vận động & Cử động/Âm thanh bất thường (5 câu).
-
Chấm theo 3 mức độ:
0(Không đúng),1(Đúng một phần / Đôi khi),2(Hoàn toàn đúng / Nổi bật rõ rệt).
-
-
Ngưỡng điểm cắt chuẩn hóa (Cut-off Score trên thang 0 – 54 điểm):
-
Khi Phụ huynh đánh giá: điểm → Nguy cơ cao thuộc Phổ tự kỷ.
-
Khi Giáo viên đánh giá: điểm → Nguy cơ cao thuộc Phổ tự kỷ.
-
Từ 13 – 18 điểm (Phụ huynh) hoặc 15 – 21 điểm (Giáo viên): Vùng cảnh báo giáp ranh cần theo dõi và đối chiếu giữa gia đình – nhà trường.
-
Nguồn: Tài liệu gốc cùng sự hỗ trợ biên tập nội dung với AI.
[Tự kỷ] AQ: Thang đo chỉ số phổ tự kỷ dành cho trẻ em, thanh thiếu niên và người lớn (Từ 4 tuổi)
(function() { const host = document.getElementById('aq-full-wp-host'); if (!host) return; const placeholder = document.createComment('aq-full-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // 50 câu hỏi chuẩn AQ (Cambridge University) với 2 bản ngữ pháp: // tc: Ngôi thứ 3 dành cho Phụ huynh đánh giá con (AQ-Child 4-11 tuổi & AQ-Adolescent 12-15 tuổi) // ta: Ngôi thứ 1 dành cho Người từ 16 tuổi trở lên tự đánh giá (AQ-Adult 16+) // r: Chiều tính điểm đặc điểm tự kỷ ('AGREE' = Đồng ý, 'DISAGREE' = Không đồng ý) // dom: 'soc' (Kỹ năng xã hội), 'swi' (Chuyển đổi chú ý), 'det' (Chú ý chi tiết), 'com' (Giao tiếp), 'ima' (Trí tưởng tượng) const questions = [ { id: 1, r: 'DISAGREE', dom: 'soc', tc: 'Con thích làm mọi việc cùng với người khác hơn là tự làm một mình.', ta: 'Tôi thích làm mọi việc cùng với người khác hơn là tự làm một mình.' }, { id: 2, r: 'AGREE', dom: 'swi', tc: 'Con thích làm mọi việc lặp đi lặp lại theo đúng một cách quen thuộc.', ta: 'Tôi thích làm mọi việc lặp đi lặp lại theo đúng một cách quen thuộc.' }, { id: 3, r: 'DISAGREE', dom: 'ima', tc: 'Nếu cố gắng tưởng tượng một điều gì đó, con rất dễ dàng hình dung ra bức tranh sống động trong đầu.', ta: 'Nếu cố gắng tưởng tượng một điều gì đó, tôi rất dễ dàng hình dung ra bức tranh sống động trong đầu.' }, { id: 4, r: 'AGREE', dom: 'swi', tc: 'Con thường bị cuốn sâu vào một việc đến mức quên mất những thứ khác xung quanh.', ta: 'Tôi thường bị cuốn sâu vào một việc đến mức quên mất những thứ khác xung quanh.' }, { id: 5, r: 'AGREE', dom: 'det', tc: 'Con thường nghe thấy những âm thanh nhỏ nhặt mà người khác không để ý.', ta: 'Tôi thường nghe thấy những âm thanh nhỏ nhặt mà người khác không để ý.' }, { id: 6, r: 'AGREE', dom: 'det', tc: 'Con thường chú ý đến biển số xe hoặc các chuỗi thông tin, ký hiệu tương tự.', ta: 'Tôi thường chú ý đến biển số xe hoặc các chuỗi thông tin tương tự.' }, { id: 7, r: 'AGREE', dom: 'com', tc: 'Người khác thường bảo rằng những điều con nói là thiếu lịch sự/thiếu tế nhị, dù bản thân con nghĩ nó bình thường.', ta: 'Người khác thường bảo rằng những điều tôi nói là thiếu lịch sự, dù bản thân tôi nghĩ nó hoàn toàn bình thường.' }, { id: 8, r: 'DISAGREE', dom: 'ima', tc: 'Khi nghe hoặc đọc một câu chuyện, con có thể dễ dàng hình dung ra diện mạo của các nhân vật.', ta: 'Khi đọc một câu chuyện, tôi có thể dễ dàng hình dung ra diện mạo của các nhân vật.' }, { id: 9, r: 'AGREE', dom: 'det', tc: 'Con bị cuốn hút mạnh mẽ bởi các mốc ngày tháng (lịch, ngày sinh, niên đại).', ta: 'Tôi bị cuốn hút mạnh mẽ bởi các mốc ngày tháng (lịch, ngày sinh, niên đại).' }, { id: 10, r: 'DISAGREE', dom: 'swi', tc: 'Trong một nhóm đông người, con có thể dễ dàng theo dõi nhiều cuộc trò chuyện của mọi người xung quanh cùng lúc.', ta: 'Trong một nhóm đông người, tôi có thể dễ dàng theo dõi nhiều cuộc trò chuyện khác nhau cùng lúc.' }, { id: 11, r: 'DISAGREE', dom: 'soc', tc: 'Con cảm thấy các tình huống giao tiếp xã hội rất dễ dàng và thoải mái.', ta: 'Tôi cảm thấy các tình huống giao tiếp xã hội rất dễ dàng và thoải mái.' }, { id: 12, r: 'AGREE', dom: 'det', tc: 'Con có xu hướng nhận ra những chi tiết nhỏ mà người khác thường bỏ qua.', ta: 'Tôi có xu hướng nhận ra những chi tiết nhỏ mà người khác thường bỏ qua.' }, { id: 13, r: 'AGREE', dom: 'soc', tc: 'Con thích đến thư viện hoặc ở góc yên tĩnh hơn là đi dự một bữa tiệc đông đúc.', ta: 'Tôi thích đến thư viện hơn là đi dự một bữa tiệc.' }, { id: 14, r: 'DISAGREE', dom: 'ima', tc: 'Con thấy việc tự nghĩ ra các câu chuyện hư cấu, bịa chuyện vui là rất dễ dàng.', ta: 'Tôi thấy việc tự nghĩ ra các câu chuyện hư cấu là rất dễ dàng.' }, { id: 15, r: 'DISAGREE', dom: 'soc', tc: 'Con bị thu hút bởi con người (bạn bè, người thân) mạnh mẽ hơn là bởi các đồ vật/sự vật.', ta: 'Tôi cảm thấy mình bị thu hút bởi con người mạnh mẽ hơn là bởi các đồ vật/sự vật.' }, { id: 16, r: 'AGREE', dom: 'swi', tc: 'Con có những sở thích rất mãnh liệt và sẽ cảm thấy bứt rứt, cáu kỉnh nếu không được theo đuổi chúng.', ta: 'Tôi có những sở thích rất mãnh liệt và sẽ cảm thấy bứt rứt, khó chịu nếu không được theo đuổi chúng.' }, { id: 17, r: 'DISAGREE', dom: 'com', tc: 'Con thích những cuộc trò chuyện xã giao, tán gẫu vui vẻ với mọi người.', ta: 'Tôi thích những cuộc trò chuyện xã giao (tán gẫu chuyện phiếm) với mọi người.' }, { id: 18, r: 'AGREE', dom: 'com', tc: 'Khi con đang hào hứng nói về chủ đề của mình, người khác thường rất khó chen lời vào.', ta: 'Khi tôi đang nói về chủ đề của mình, người khác thường rất khó chen lời vào.' }, { id: 19, r: 'AGREE', dom: 'det', tc: 'Con bị hấp dẫn đặc biệt bởi các con số.', ta: 'Tôi bị hấp dẫn đặc biệt bởi các con số.' }, { id: 20, r: 'AGREE', dom: 'ima', tc: 'Khi đọc truyện hoặc xem phim hoạt hình, con thấy khó đoán được ý định ngầm của các nhân vật.', ta: 'Khi đọc truyện hoặc xem phim, tôi thấy khó đoán được ý định ngầm của các nhân vật.' }, { id: 21, r: 'AGREE', dom: 'ima', tc: 'Con không mấy hứng thú với các câu chuyện tiểu thuyết hư cấu (thích sách bách khoa, thực tế hơn).', ta: 'Tôi không mấy hứng thú với việc đọc sách tiểu thuyết hư cấu.' }, { id: 22, r: 'AGREE', dom: 'soc', tc: 'Con thấy việc kết thêm bạn mới là rất khó khăn.', ta: 'Tôi thấy việc kết thêm bạn mới là rất khó khăn.' }, { id: 23, r: 'AGREE', dom: 'det', tc: 'Con luôn nhận ra các quy luật hoặc họa tiết lặp lại trong mọi vật xung quanh.', ta: 'Tôi luôn nhận ra các quy luật hoặc họa tiết lặp lại trong mọi vật xung quanh.' }, { id: 24, r: 'DISAGREE', dom: 'ima', tc: 'Con thích đi xem kịch/xem biểu diễn hơn là đi tham quan bảo tàng trưng bày.', ta: 'Tôi thích đi xem kịch ở nhà hát hơn là đi tham quan bảo tàng.' }, { id: 25, r: 'DISAGREE', dom: 'swi', tc: 'Con không hề cảm thấy phiền lòng hay khó chịu nếu thói quen sinh hoạt hàng ngày bị xáo trộn.', ta: 'Tôi không hề cảm thấy phiền lòng nếu thói quen sinh hoạt hàng ngày của mình bị xáo trộn.' }, { id: 26, r: 'AGREE', dom: 'com', tc: 'Con thường lúng túng không biết phải làm thế nào để duy trì cuộc trò chuyện với bạn bè.', ta: 'Tôi thường xuyên nhận thấy mình không biết phải làm thế nào để duy trì một cuộc trò chuyện.' }, { id: 27, r: 'DISAGREE', dom: 'com', tc: 'Con dễ dàng hiểu được "ẩn ý" đằng sau lời nói khi ai đó đang trò chuyện với mình.', ta: 'Tôi dễ dàng hiểu được "ẩn ý" đằng sau lời nói khi ai đó đang trò chuyện với mình.' }, { id: 28, r: 'DISAGREE', dom: 'det', tc: 'Con thường tập trung vào bức tranh tổng thể hơn là chỉ chú ý vào các chi tiết nhỏ lẻ.', ta: 'Tôi thường tập trung vào bức tranh tổng thể hơn là các chi tiết nhỏ lẻ.' }, { id: 29, r: 'DISAGREE', dom: 'det', tc: 'Con không giỏi lắm trong việc ghi nhớ các dãy số điện thoại.', ta: 'Tôi không giỏi việc ghi nhớ các số điện thoại.' }, { id: 30, r: 'DISAGREE', dom: 'det', tc: 'Con thường không để ý đến những thay đổi nhỏ trong phòng hoặc sự thay đổi ngoại hình của người khác.', ta: 'Tôi thường không để ý đến những thay đổi nhỏ trong một khung cảnh hoặc ngoại hình của một người.' }, { id: 31, r: 'DISAGREE', dom: 'com', tc: 'Con biết cách nhận ra khi nào người đang nghe mình nói bắt đầu cảm thấy chán.', ta: 'Tôi biết cách nhận ra khi nào người đang nghe mình nói bắt đầu cảm thấy chán.' }, { id: 32, r: 'DISAGREE', dom: 'swi', tc: 'Con thấy rất dễ dàng khi phải làm hoặc chuyển đổi qua lại nhiều việc cùng một lúc.', ta: 'Tôi thấy rất dễ dàng khi phải làm nhiều hơn một việc cùng một lúc.' }, { id: 33, r: 'AGREE', dom: 'com', tc: 'Khi nói chuyện qua điện thoại, con thường không chắc khi nào đến lượt mình nên nói.', ta: 'Khi nói chuyện qua điện thoại, tôi thường không chắc khi nào đến lượt mình nên nói.' }, { id: 34, r: 'DISAGREE', dom: 'swi', tc: 'Con thích làm mọi việc một cách ngẫu hứng, tự phát mà không cần báo trước.', ta: 'Tôi thích làm mọi việc một cách ngẫu hứng, tự phát.' }, { id: 35, r: 'AGREE', dom: 'com', tc: 'Con thường là người cuối cùng trong nhóm hiểu ra ý nghĩa của một câu nói đùa.', ta: 'Tôi thường là người cuối cùng hiểu ra ý nghĩa của một câu nói đùa.' }, { id: 36, r: 'DISAGREE', dom: 'soc', tc: 'Con dễ dàng đoán được người khác đang nghĩ gì hoặc cảm thấy thế nào chỉ bằng cách nhìn vào nét mặt họ.', ta: 'Tôi dễ dàng đoán được người khác đang nghĩ gì hoặc cảm thấy thế nào chỉ bằng cách nhìn vào nét mặt họ.' }, { id: 37, r: 'DISAGREE', dom: 'swi', tc: 'Nếu bị ngắt quãng khi đang làm dở việc, con có thể quay lại làm tiếp việc đó ngay lập tức rất dễ dàng.', ta: 'Nếu bị gián đoạn khi đang làm dở việc, tôi có thể quay lại làm tiếp việc đó ngay lập tức một cách dễ dàng.' }, { id: 38, r: 'DISAGREE', dom: 'com', tc: 'Con rất có khiếu trong việc trò chuyện làm quen, tán gẫu với bạn bè.', ta: 'Tôi rất có khiếu trong việc trò chuyện xã giao.' }, { id: 39, r: 'AGREE', dom: 'com', tc: 'Mọi người thường nhận xét rằng con cứ nói đi nói lại mãi về cùng một chủ đề.', ta: 'Mọi người thường bảo rằng tôi cứ nói đi nói lại mãi về cùng một chủ đề.' }, { id: 40, r: 'DISAGREE', dom: 'ima', tc: 'Con rất thích chơi các trò đóng vai giả vờ cùng với những đứa trẻ khác.', ta: 'Khi còn nhỏ, tôi rất thích chơi các trò đóng vai giả vờ cùng với những đứa trẻ khác.' }, { id: 41, r: 'AGREE', dom: 'ima', tc: 'Con thích sưu tầm thông tin phân loại về các nhóm sự vật (như khủng long, dòng xe hơi, loài chim, tàu hỏa...).', ta: 'Tôi thích sưu tầm thông tin phân loại về các nhóm sự vật (như các dòng xe hơi, loài chim, tàu hỏa, cây cối...).' }, { id: 42, r: 'AGREE', dom: 'ima', tc: 'Con thấy rất khó hình dung cảm giác sẽ ra sao nếu mình đặt bản thân vào vị trí của một người khác.', ta: 'Tôi thấy rất khó hình dung cảm giác sẽ ra sao nếu mình ở vào vị trí của một người khác.' }, { id: 43, r: 'AGREE', dom: 'swi', tc: 'Con thích lên kế hoạch trước thật kỹ cho bất kỳ hoạt động nào mà con tham gia.', ta: 'Tôi thích lên kế hoạch tỉ mỉ cho bất kỳ hoạt động nào mà tôi tham gia.' }, { id: 44, r: 'DISAGREE', dom: 'soc', tc: 'Con yêu thích các dịp tụ tập, sinh hoạt tập thể hay giao lưu xã hội.', ta: 'Tôi yêu thích các dịp tụ tập, giao lưu xã hội.' }, { id: 45, r: 'AGREE', dom: 'soc', tc: 'Con thấy khó nắm bắt được ý định thực sự của người khác.', ta: 'Tôi thấy khó nắm bắt được ý định thực sự của người khác.' }, { id: 46, r: 'AGREE', dom: 'swi', tc: 'Những tình huống hoặc môi trường mới lạ luôn làm con cảm thấy lo lắng, bất an.', ta: 'Những tình huống mới lạ luôn làm tôi cảm thấy lo lắng, bất an.' }, { id: 47, r: 'DISAGREE', dom: 'soc', tc: 'Con thích gặp gỡ và làm quen với những người bạn mới.', ta: 'Tôi thích gặp gỡ và làm quen với những người mới.' }, { id: 48, r: 'DISAGREE', dom: 'soc', tc: 'Con là một đứa trẻ khéo léo, biết cách ứng xử hài hòa với mọi người.', ta: 'Tôi là một người khéo léo, biết ngoại giao trong ứng xử.' }, { id: 49, r: 'DISAGREE', dom: 'det', tc: 'Con không giỏi lắm trong việc nhớ ngày sinh nhật của mọi người.', ta: 'Tôi không giỏi lắm trong việc nhớ ngày sinh nhật của mọi người.' }, { id: 50, r: 'DISAGREE', dom: 'ima', tc: 'Con thấy việc chơi các trò đóng vai, giả vờ cùng bạn bè là rất dễ dàng.', ta: 'Tôi thấy việc chơi các trò đóng vai, giả vờ cùng trẻ nhỏ là rất dễ dàng.' } ]; // version: 'child' (4-11 tuổi, thang 0-150, cut-off >= 76) | 'adolescent' (12-15 tuổi, thang 0-50, cut-off >= 30) | 'adult' (16+, thang 0-50, cut-off >= 32) let version = 'child'; let answers = {}; // 'DA' | 'SA' | 'SD' | 'DD' let filterDom = 'all'; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .aq-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .aq-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .aq-inner { padding: 24px; max-width: 940px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .aq-wrap.is-fullscreen .aq-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .aq-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(2, 132, 199, 0.45), 0 0 0 0 rgba(2, 132, 199, 0.4); } 70% { box-shadow: 0 6px 20px rgba(2, 132, 199, 0.45), 0 0 0 10px rgba(2, 132, 199, 0); } 100% { box-shadow: 0 6px 20px rgba(2, 132, 199, 0.45), 0 0 0 0 rgba(2, 132, 199, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #0369a1 0%, #0284c7 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(2, 132, 199, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Thanh chọn 3 phiên bản độ tuổi */ .ver-switcher { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; background: #f1f5f9; padding: 8px; border-radius: 12px; margin-bottom: 18px; } .ver-btn { padding: 10px 12px; border-radius: 9px; border: 1.5px solid transparent; background: transparent; cursor: pointer; text-align: left; transition: all 0.2s ease; touch-action: manipulation; } .ver-btn.active { background: #ffffff; border-color: #0284c7; box-shadow: 0 2px 8px rgba(15, 23, 42, 0.08); } .ver-btn-title { font-size: 14px; font-weight: 800; color: #0f172a; display: block; } .ver-btn.active .ver-btn-title { color: #0284c7; } .ver-btn-sub { font-size: 11.5px; color: #64748b; margin-top: 2px; display: block; } /* Header */ .aq-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .aq-header-text { flex: 1 1 260px; } .aq-title { font-size: 20px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .aq-desc { font-size: 13.8px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #f0f9ff; color: #0369a1; border: 1px solid #bae6fd; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #0284c7; color: #ffffff; border-color: #0284c7; } /* Controls */ .aq-controls { display: flex; flex-direction: column; gap: 10px; margin-bottom: 18px; } .aq-presets { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; } .aq-preset-lbl { font-size: 12.5px; font-weight: 700; color: #475569; margin-right: 4px; } .aq-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; transition: all 0.15s ease; touch-action: manipulation; } .aq-pbtn:hover { background: #f1f5f9; border-color: #94a3b8; } .aq-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } .aq-domain-tabs { display: flex; flex-wrap: wrap; gap: 6px; } .aq-dtab { padding: 6px 12px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .aq-dtab.active { background: #0284c7; color: #ffffff; border-color: #0284c7; } /* Sticky Dashboard */ .aq-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .aq-wrap.is-fullscreen .aq-dash { top: 58px; } .aq-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .aq-score-big { font-size: 24px; font-weight: 800; line-height: 1; } .aq-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .aq-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .aq-bar-bg { height: 10px; background: #334155; border-radius: 5px; overflow: hidden; margin-bottom: 12px; } .aq-bar-fill { height: 100%; width: 0%; background: #10b981; transition: width 0.35s ease, background 0.35s ease; } .aq-pillars { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; font-size: 11.5px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .aq-pillar-box { background: #1e293b; padding: 7px 9px; border-radius: 8px; } .aq-pillar-val { font-weight: 700; color: #ffffff; font-size: 13px; display: block; margin-top: 2px; } /* Danh sách 50 câu hỏi */ .aq-q-item { border: 1px solid #e2e8f0; border-radius: 10px; padding: 14px 16px; margin-bottom: 12px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 10px; } .aq-q-item.trait-scored { border-color: #93c5fd; background: #f8fafc; } .aq-q-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; } .aq-q-text { font-size: 14.5px; font-weight: 600; color: #1e293b; line-height: 1.5; flex: 1; } .aq-q-tags { display: flex; flex-wrap: wrap; gap: 6px; } .aq-tag { font-size: 11px; font-weight: 600; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .aq-tag.dom-soc { background: #dbeafe; color: #1d4ed8; } .aq-tag.dom-swi { background: #fef3c7; color: #b45309; } .aq-tag.dom-det { background: #dcfce7; color: #15803d; } .aq-tag.dom-com { background: #f3e8ff; color: #7e22ce; } .aq-tag.dom-ima { background: #fce7f3; color: #be185d; } /* 4 nút lựa chọn Likert */ .aq-ans-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; } .aq-abtn { padding: 8px 6px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 600; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .aq-abtn:hover { border-color: #64748b; } .aq-abtn.sel-safe { background: #10b981; border-color: #10b981; color: #ffffff; font-weight: 700; } .aq-abtn.sel-mid { background: #f59e0b; border-color: #f59e0b; color: #ffffff; font-weight: 700; } .aq-abtn.sel-trait { background: #0284c7; border-color: #0284c7; color: #ffffff; font-weight: 700; } /* Biểu đồ 5 tiểu lĩnh vực & Kết luận */ .aq-chart-card { margin-top: 20px; padding: 16px 18px; border-radius: 12px; background: #ffffff; border: 1px solid #e2e8f0; } .aq-chart-title { font-size: 14.5px; font-weight: 700; color: #0f172a; margin-bottom: 12px; } .aq-bar-row { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; font-size: 12.5px; } .aq-bar-lbl { width: 175px; flex-shrink: 0; font-weight: 600; color: #334155; } .aq-bar-track { flex: 1; height: 16px; background: #f1f5f9; border-radius: 999px; overflow: hidden; } .aq-bar-val { width: 68px; text-align: right; font-weight: 700; color: #0f172a; flex-shrink: 0; } .aq-result-box { margin-top: 16px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #64748b; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 720px) { .aq-inner { padding: 14px; } .ver-switcher { grid-template-columns: 1fr; } .aq-title { font-size: 18px; } .aq-pillars { grid-template-columns: repeat(2, 1fr); } .aq-ans-grid { grid-template-columns: 1fr 1fr; } .aq-abtn { padding: 10px 8px; font-size: 12.5px; } .aq-bar-lbl { width: 125px; font-size: 11.5px; } .aq-pbtn.reset { margin-left: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
Bảng Đánh Giá AQ-Child Dành Cho Trẻ Em (4 – 11 Tuổi • Phụ Huynh Chấm)
Chuẩn hóa bởi Auyeung & Baron-Cohen (2008 - Đại học Cambridge). Phụ huynh chọn mức độ phù hợp với hành vi của bé. Mỗi câu được tính từ 0 đến 3 điểm (Tổng điểm tối đa: 150 điểm). Ngưỡng điểm cắt lâm sàng chuẩn: ≥ 76 điểm (Độ nhạy 95%, độ đặc hiệu 95%).
`; } else if (version === 'adolescent') { headerInfo.innerHTML = `Bảng Đánh Giá AQ-Adolescent Dành Cho Vị Thành Niên (12 – 15 Tuổi • Phụ Huynh Chấm)
Chuẩn hóa bởi Baron-Cohen et al. (2006 - Đại học Cambridge). Phụ huynh đánh giá con qua 50 câu hỏi chấm nhị phân 0 hoặc 1 điểm (Tổng điểm tối đa: 50 điểm). Ngưỡng điểm cắt lâm sàng chuẩn cho lứa tuổi 12–15: ≥ 30 điểm.
`; } else { headerInfo.innerHTML = `Bảng Tự Đánh Giá AQ-Adult Dành Cho Thanh Thiếu Niên Lớn & Người Lớn (Từ 16 Tuổi Trở Lên)
Chuẩn hóa bởi Baron-Cohen et al. (2001 - Đại học Cambridge). Người làm tự trả lời 50 câu hỏi theo quy tắc nhị phân 0 hoặc 1 điểm (Tổng điểm tối đa: 50 điểm). Ngưỡng sàng lọc phòng khám: ≥ 26 điểm • Ngưỡng chuẩn lâm sàng: ≥ 32 điểm.
`; } } function renderQuestions() { listEl.innerHTML = ''; const isParentReport = (version !== 'adult'); questions.forEach(function(q) { if (filterDom !== 'all' && q.dom !== filterDom) return; const uAns = answers[q.id] || null; const pts = getItemScore(q, uAns); const isHighTrait = (version === 'child') ? (pts >= 2) : (pts === 1); const dInfo = getDomInfo(q.dom); const item = document.createElement('div'); item.className = 'aq-q-item' + (isHighTrait ? ' trait-scored' : ''); const options = [ { code: 'DA', label: 'Hoàn toàn đồng ý' }, { code: 'SA', label: 'Đồng ý một phần' }, { code: 'SD', label: 'Không đồng ý một phần' }, { code: 'DD', label: 'Hoàn toàn không đồng ý' } ]; const btnsHtml = options.map(opt => { const optPts = getItemScore(q, opt.code); let cls = 'aq-abtn'; if (uAns === opt.code) { if (version === 'child') { cls += (optPts >= 2) ? ' sel-trait' : (optPts === 1 ? ' sel-mid' : ' sel-safe'); } else { cls += (optPts === 1) ? ' sel-trait' : ' sel-safe'; } } const ptLabel = (version === 'child') ? ` (${optPts}đ)` : ` (${optPts}đ)`; return ``; }).join(''); const qText = isParentReport ? q.tc : q.ta; const ruleText = (version === 'child') ? (q.r === 'AGREE' ? 'Thang 0–3đ (Đồng ý hoàn toàn = 3đ)' : 'Thang 0–3đ (Không đồng ý hoàn toàn = 3đ)') : (q.r === 'AGREE' ? 'Đồng ý (Hoàn toàn/Một phần) = 1đ' : 'Không đồng ý (Hoàn toàn/Một phần) = 1đ'); item.innerHTML = `• Điểm số thấp hơn ngưỡng cảnh báo (60 điểm) và ngưỡng cắt chuẩn (≥ 76 điểm). Theo nghiên cứu của Auyeung & Baron-Cohen (2008), điểm trung bình ở nhóm trẻ phát triển điển hình là khoảng 41.8 điểm (Bé trai ~45.7đ, Bé gái ~37.7đ). `; } else if (total < 76) { color = '#f59e0b'; badgeTxt = `VÙNG GIÁP RANH (${total}/150đ)`; analysis = ` Kết luận AQ-Child (4 – 11 tuổi) — Vùng Giáp Ranh Cần Lưu Ý (60 – 75 điểm: Đạt ${total}/150 điểm):
• Điểm số tiệm cận ngưỡng cắt chuẩn (≥ 76 điểm). Bé bộc lộ một số nét đặc trưng ở: Kỹ năng xã hội (${domScores.soc}/30), Chuyển đổi chú ý (${domScores.swi}/30), Chú ý chi tiết (${domScores.det}/30), Giao tiếp (${domScores.com}/30), Trí tưởng tượng (${domScores.ima}/30).
• Khuyến nghị: Nên kết hợp đối chiếu thêm với thang CAST hoặc ASSQ (do giáo viên đánh giá) để theo dõi khả năng hòa nhập học đường của bé. `; } else { color = '#ef4444'; badgeTxt = `VƯỢT NGƯỠNG AQ-CHILD (≥ 76: ${total}/150đ)`; analysis = ` Kết luận AQ-Child (4 – 11 tuổi) — Vượt Ngưỡng Điểm Cắt Lâm Sàng (≥ 76 điểm: Đạt ${total}/150 điểm):
• Theo nghiên cứu chuẩn hóa tại Đại học Cambridge, ngưỡng ≥ 76/150 điểm có độ nhạy và độ đặc hiệu lên tới 95% trong việc nhận diện trẻ thuộc Phổ tự kỷ / Tự kỷ chức năng cao (Asperger).
• Hướng xử trí chuẩn: Gia đình nên đưa bé đi khám và đánh giá chẩn đoán chuyên sâu bằng ADOS-2 (Module 3), ADI-R và đánh giá năng lực thích ứng Vineland-3 để xây dựng kế hoạch hỗ trợ kỹ năng xã hội sớm. `; } } else if (version === 'adolescent') { // Ngưỡng AQ-Adolescent (0 - 50, cut-off >= 30) if (total < 24) { color = '#10b981'; badgeTxt = `MỨC ĐIỂN HÌNH (${total}/50đ)`; analysis = ` Kết luận AQ-Adolescent (12 – 15 tuổi) — Trong phạm vi điển hình (${total}/50 điểm):
• Điểm số thấp hơn ngưỡng giáp ranh (24 điểm) và ngưỡng cắt chuẩn dành cho lứa tuổi vị thành niên (≥ 30 điểm). `; } else if (total < 30) { color = '#f59e0b'; badgeTxt = `VÙNG GIÁP RANH (${total}/50đ)`; analysis = ` Kết luận AQ-Adolescent (12 – 15 tuổi) — Vùng Cảnh Báo Giáp Ranh (24 – 29 điểm: Đạt ${total}/50 điểm):
• Điểm số tiệm cận ngưỡng cắt chuẩn (≥ 30 điểm). Ở lứa tuổi THCS (12–15 tuổi), các áp lực về giao tiếp nhóm bạn phức tạp có thể làm bộc lộ rõ khó khăn ở mục Kỹ năng xã hội (${domScores.soc}/10) và Chuyển đổi chú ý (${domScores.swi}/10). Khuyến nghị đối chiếu thêm thang ASSQ từ giáo viên và tham vấn chuyên gia tâm lý. `; } else { color = '#ef4444'; badgeTxt = `VƯỢT NGƯỠNG AQ-ADOLESCENT (≥ 30: ${total}/50đ)`; analysis = ` Kết luận AQ-Adolescent (12 – 15 tuổi) — Vượt Ngưỡng Điểm Cắt Lâm Sàng (≥ 30 điểm: Đạt ${total}/50 điểm):
• Theo nghiên cứu của Baron-Cohen et al. (2006), gần 90% thanh thiếu niên có chẩn đoán Tự kỷ chức năng cao / Asperger có điểm AQ-Adolescent từ 30/50 trở lên.
• Hướng xử trí chuẩn: Khuyến nghị chuyển gửi đánh giá chẩn đoán chuyên khoa (ADOS-2 Module 3/4, DSM-5, Vineland-3) để hỗ trợ kỹ năng điều tiết cảm xúc và giao tiếp xã hội tuổi dậy thì. `; } } else { // Ngưỡng AQ-Adult (0 - 50, sàng lọc >= 26, chuẩn >= 32) if (total < 26) { color = '#10b981'; badgeTxt = `DƯỚI NGƯỠNG SÀNG LỌC (${total}/50đ)`; analysis = ` Kết luận AQ-Adult (Từ 16 tuổi trở lên) — Dưới ngưỡng sàng lọc lâm sàng (${total}/50 điểm):
• Điểm số nằm dưới ngưỡng sàng lọc phòng khám (26 điểm) và ngưỡng chuẩn (32 điểm). (Mức từ 22–25 điểm thường gặp ở những người có tư duy hệ thống hóa/phân tích kỹ thuật mạnh nhưng vẫn hòa nhập xã hội tốt). `; } else if (total < 32) { color = '#f59e0b'; badgeTxt = `VÙNG GIÁP RANH LÂM SÀNG (${total}/50đ)`; analysis = ` Kết luận AQ-Adult (Từ 16 tuổi trở lên) — Vùng Giáp Ranh / Ngưỡng Sàng Lọc Nhạy (26 – 31 điểm: Đạt ${total}/50 điểm):
• Vượt ngưỡng sàng lọc phòng khám ($\ge 26$ điểm theo Woodbury-Smith et al., 2005). Nếu các đặc điểm này gây căng thẳng hoặc cản trở trong công việc, học tập và các mối quan hệ xã hội, bạn nên tham vấn chuyên gia tâm lý lâm sàng. `; } else { color = '#ef4444'; badgeTxt = `VƯỢT NGƯỠNG CHUẨN AQ (≥ 32: ${total}/50đ)`; analysis = ` Kết luận AQ-Adult (Từ 16 tuổi trở lên) — Vượt Ngưỡng Điểm Cắt Lâm Sàng Chuẩn ($\ge 32$ điểm: Đạt ${total}/50 điểm):
• Khoảng 80% người trưởng thành thuộc Phổ tự kỷ chức năng cao / Asperger đạt mức điểm từ 32 trở lên trên thang AQ.
• Khuyến nghị: Có thể sử dụng bảng kết quả 5 tiểu lĩnh vực này để trao đổi trực tiếp với bác sĩ chuyên khoa Tâm thần / Chuyên gia Tâm lý lâm sàng nhằm thực hiện đánh giá chẩn đoán chính thức (ADOS-2 Module 4). `; } } barFillEl.style.background = color; badgeEl.textContent = badgeTxt; badgeEl.style.background = color; badgeEl.style.color = '#ffffff'; resBoxEl.style.borderLeftColor = color; resBoxEl.innerHTML = analysis; updateFloatingFabVisibility(); } function applyPreset(type) { answers = {}; if (type === 'reset') { renderQuestions(); updateSummary(); return; } // Đặt toàn bộ về mức 0 điểm trước questions.forEach(function(q) { answers[q.id] = (q.r === 'AGREE') ? 'DD' : 'DA'; }); if (type === 'typical') { // Mức điển hình (~42/150 ở Child, ~16/50 ở Adolescent/Adult) questions.forEach(function(q, idx) { if (idx % 3 === 0) { // 1 điểm ở Child, 0 điểm ở Adult answers[q.id] = (q.r === 'AGREE') ? 'SD' : 'SA'; } }); [2, 4, 5, 6, 9, 12, 13, 19, 23, 28, 29, 30, 32, 34, 41, 43].forEach(function(id) { const q = questions[id - 1]; answers[id] = (q.r === 'AGREE') ? 'SA' : 'SD'; }); } else if (type === 'border') { // Mức giáp ranh (~68/150 ở Child, 27/50 ở Adolescent/Adult) [ 1, 2, 4, 5, 6, 7, 9, 10, 11, 12, 13, 16, 17, 18, 19, 20, 22, 23, 25, 26, 28, 32, 33, 35, 39, 41, 43 ].forEach(function(id, idx) { const q = questions[id - 1]; const strong = (idx % 2 === 0); if (q.r === 'AGREE') answers[id] = strong ? 'DA' : 'SA'; else answers[id] = strong ? 'DD' : 'SD'; }); } else if (type === 'asd') { // Mức vượt ngưỡng cao (~98/150 ở Child, 38/50 ở Adolescent/Adult) [ 1, 2, 4, 5, 6, 7, 9, 10, 11, 12, 13, 15, 16, 17, 18, 19, 20, 22, 23, 25, 26, 27, 28, 31, 32, 33, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 45, 46 ].forEach(function(id, idx) { const q = questions[id - 1]; const strong = (idx % 3 !== 0); if (q.r === 'AGREE') answers[id] = strong ? 'DA' : 'SA'; else answers[id] = strong ? 'DD' : 'SD'; }); } renderQuestions(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); aqWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { aqWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 940px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } // Sự kiện chuyển đổi 3 phiên bản độ tuổi (Child / Adolescent / Adult) shadow.querySelectorAll('#verSwitcher .ver-btn').forEach(function(btn) { btn.onclick = function() { version = this.getAttribute('data-ver'); shadow.querySelectorAll('#verSwitcher .ver-btn').forEach(b => b.classList.remove('active')); this.classList.add('active'); renderHeader(); renderQuestions(); updateSummary(); }; }); shadow.querySelectorAll('.aq-pbtn').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-preset')); }; }); shadow.querySelectorAll('#domainTabs .aq-dtab').forEach(function(tab) { tab.onclick = function() { filterDom = this.getAttribute('data-dom'); shadow.querySelectorAll('#domainTabs .aq-dtab').forEach(t => t.classList.remove('active')); this.classList.add('active'); renderQuestions(); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); renderHeader(); applyPreset('asd'); })();
AQ (Autism-Spectrum Quotient — Chỉ số Phổ Tự kỷ) là công cụ sàng lọc chuẩn hóa nổi tiếng nhất thế giới dùng để đo lường mức độ hiện diện của các đặc điểm thuộc phổ tự kỷ ở những người có trí tuệ bình thường (IQ ≥85). Công cụ này do Giáo sư Simon Baron-Cohen và cộng sự tại Trung tâm Nghiên cứu Tự kỷ (ARC) — Đại học Cambridge (Anh)phát triển năm 2001.
1. Tóm tắt cốt lõi về công cụ AQ
-
Mục đích lâm sàng: Đo lường xem một cá nhân có các nét đặc trưng thuộc Phổ tự kỷ / Tự kỷ chức năng cao (Asperger) ở mức độ nào trên một dải liên tục từ dân số điển hình đến ngưỡng lâm sàng.
-
Các phiên bản theo độ tuổi:
-
AQ-Adult (Phiên bản chuẩn phổ biến nhất): Dành cho người từ 16 tuổi trở lên tự đánh giá (Self-report).
-
AQ-Adolescent (12 – 15 tuổi) & AQ-Child (4 – 11 tuổi): Do phụ huynh đánh giá.
-
AQ-10: Bản rút gọn gồm 10 câu hỏi dùng để sàng lọc nhanh tại phòng khám đa khoa.
-
-
Cấu trúc 50 câu hỏi & 5 tiểu lĩnh vực (Mỗi lĩnh vực 10 câu):
-
Kỹ năng xã hội (Social Skills): Mức độ thoải mái và tự tin trong các tình huống giao tiếp xã hội, kết bạn,tiệc tùng.
-
Chuyển đổi sự chú ý (Attention Switching): Tính linh hoạt khi thay đổi kế hoạch, làm nhiều việc cùng lúc hoặc chuyển sang hoạt động mới.
-
Chú ý đến chi tiết (Attention to Detail): Xu hướng nhận ra các chi tiết nhỏ, con số, ngày tháng, quy luật hay hoa văn mà người khác thường bỏ qua.
-
Giao tiếp (Communication): Khả năng hiểu hàm ý, lời nói lịch sự xã giao, duy trì hội thoại qua lại và đọc ngôn ngữ cơ thể.
-
Trí tưởng tượng (Imagination): Khả năng hình dung câu chuyện giả tưởng, nhập vai nhân vật và suy đoán cảm xúc/ý định của người khác (Thuyết tâm trí).
-
-
Cách tính điểm chuẩn Baron-Cohen (Thang 0 – 50 điểm):
-
Người làm chọn 1 trong 4 mức: Hoàn toàn đồng ý • Đồng ý một phần • Không đồng ý một phần • Hoàn toàn không đồng ý.
-
Quy tắc nhị phân (0 hoặc 1 điểm): Để tránh sai lệch do xu hướng chọn mức cực đoan hay trung dung,phương pháp gốc của Baron-Cohen tính 1 điểm cho cả mức “Hoàn toàn…” lẫn “Một phần…” nếu câu trả lời đi theo chiều hướng đặc điểm tự kỷ:
-
24 câu thuận (Chọn Đồng ý = 1 điểm): Câu 2, 4, 5, 6, 7, 9, 12, 13, 16, 18, 19, 20, 21, 22, 23, 26, 33,35, 39, 41, 42, 43, 45, 46.
-
26 câu nghịch (Chọn Không đồng ý = 1 điểm): Câu 1, 3, 8, 10, 11, 14, 15, 17, 24, 25, 27, 28, 29, 30,31, 32, 34, 36, 37, 38, 40, 44, 47, 48, 49, 50.
-
-
-
Các mốc điểm tham chiếu lâm sàng (Cut-off Scores):
-
0 – 25 điểm: Mức trung bình trong dân số chung (Điểm trung bình của nhóm đối chứng là ~16.4 điểm: Nam ~17.8, Nữ ~15.4).
-
26 – 31 điểm: Ngưỡng giáp ranh / Sàng lọc lâm sàng (Nghiên cứu của Woodbury-Smith và cộng sự cho thấy ngưỡng rất nhạy để sàng lọc tại phòng khám).
-
32 – 50 điểm: Ngưỡng điểm cắt chuẩn ( điểm) — Khoảng 80% người được chẩn đoán Tự kỷ chức năng cao / Asperger có điểm từ 32 trở lên (trong khi chỉ có 2% dân số chung đạt mức này).
-
[Tự kỷ] RAADS-R: Thang đo sàng lọc và hỗ trợ chẩn đoán tự kỷ ở người trưởng thành (> 16 tuổi)
(function() { const host = document.getElementById('raads-wp-host'); if (!host) return; const placeholder = document.createComment('raads-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // Danh sách 17 câu đảo ngược chuẩn RAADS-R (Chọn "Không bao giờ đúng" = 3 điểm) // 1, 6, 11, 18, 23, 26, 33, 37, 43, 47, 48, 53, 58, 62, 68, 72, 77 // dom: 'soc' (Quan hệ xã hội - 39 câu), 'cir' (Sở thích thu hẹp - 14 câu), 'lan' (Ngôn ngữ - 7 câu), 'sen' (Giác quan & Vận động - 20 câu) const questions = [ { id: 1, rev: true, dom: 'soc', t: 'Tôi là một người giàu lòng trắc ẩn và dễ đồng cảm với người khác.' }, { id: 2, rev: false, dom: 'lan', t: 'Tôi thường sử dụng các từ và cụm từ học được từ phim ảnh hoặc tivi khi trò chuyện hàng ngày.' }, { id: 3, rev: false, dom: 'soc', t: 'Tôi thường bất ngờ khi người khác nói rằng tôi đã cư xử thô lỗ hoặc thiếu tế nhị.' }, { id: 4, rev: false, dom: 'sen', t: 'Đôi khi tôi nói quá to hoặc quá nhỏ mà bản thân không hề nhận ra.' }, { id: 5, rev: false, dom: 'soc', t: 'Tôi thường không biết phải cư xử như thế nào trong các tình huống xã hội.' }, { id: 6, rev: true, dom: 'soc', t: 'Tôi có thể dễ dàng đặt mình vào vị trí của người khác để hiểu cảm giác của họ.' }, { id: 7, rev: false, dom: 'lan', t: 'Tôi gặp khó khăn trong việc hiểu nghĩa bóng như các thành ngữ, tục ngữ hoặc lời nói ẩn dụ.' }, { id: 8, rev: false, dom: 'soc', t: 'Tôi chỉ thích nói chuyện với những người có cùng sở thích đặc biệt với mình.' }, { id: 9, rev: false, dom: 'cir', t: 'Tôi tập trung vào các chi tiết nhỏ hơn là ý tưởng tổng thể.' }, { id: 10, rev: false, dom: 'sen', t: 'Tôi luôn chú ý rất rõ đến cảm giác của thức ăn ở trong miệng mình.' }, { id: 11, rev: true, dom: 'soc', t: 'Tôi nhớ đến bạn bè và gia đình khi chúng tôi phải xa nhau.' }, { id: 12, rev: false, dom: 'soc', t: 'Đôi khi tôi vô tình xúc phạm người khác vì nói thẳng tuột những gì mình đang nghĩ.' }, { id: 13, rev: false, dom: 'cir', t: 'Tôi chỉ thích suy nghĩ và nói về một vài chủ đề mà tôi thực sự quan tâm.' }, { id: 14, rev: false, dom: 'soc', t: 'Khi đi ăn ở nhà hàng, tôi thích đi một mình hơn là đi cùng với người khác.' }, { id: 15, rev: false, dom: 'lan', t: 'Tôi không thể hình dung ra cảm giác sẽ như thế nào nếu mình trở thành một người khác.' }, { id: 16, rev: false, dom: 'sen', t: 'Tôi từng được bảo rằng mình có dáng đi hoặc tư thế hơi vụng về, thiếu phối hợp.' }, { id: 17, rev: false, dom: 'soc', t: 'Người khác thường coi tôi là người kỳ lạ hoặc khác biệt.' }, { id: 18, rev: true, dom: 'soc', t: 'Tôi hiểu rõ khi nào bạn bè của mình cần được vỗ về, an ủi.' }, { id: 19, rev: false, dom: 'sen', t: 'Tôi rất nhạy cảm với cảm giác của quần áo khi chạm vào da mình (như mác áo, chất vải thô).' }, { id: 20, rev: false, dom: 'soc', t: 'Tôi thích bắt chước cách hành động và nói năng của một số người để giúp mình trông có vẻ bình thường hơn.' }, { id: 21, rev: false, dom: 'soc', t: 'Tôi cảm thấy rất lo lắng, căng thẳng khi phải nói chuyện với nhiều hơn một người cùng lúc.' }, { id: 22, rev: false, dom: 'soc', t: 'Tôi phải tự ép mình "hành xử bình thường" để làm hài lòng người khác và khiến họ quý mến mình.' }, { id: 23, rev: true, dom: 'soc', t: 'Việc gặp gỡ và làm quen với những người mới đối với tôi thường khá dễ dàng.' }, { id: 24, rev: false, dom: 'cir', t: 'Tôi bị bối rối hoặc khó chịu khi có ai đó làm gián đoạn lúc tôi đang nói về chủ đề mình yêu thích.' }, { id: 25, rev: false, dom: 'soc', t: 'Tôi thấy khó hiểu được cảm giác của người khác khi chúng tôi đang trò chuyện.' }, { id: 26, rev: true, dom: 'soc', t: 'Tôi thích trò chuyện cùng với nhiều người xung quanh một bàn ăn hoặc trong một nhóm bạn.' }, { id: 27, rev: false, dom: 'lan', t: 'Tôi hiểu mọi thứ theo đúng nghĩa đen, vì vậy tôi thường bỏ lỡ ẩn ý của người đang nói.' }, { id: 28, rev: false, dom: 'soc', t: 'Tôi thấy rất khó nhận biết khi nào một người đang cảm thấy xấu hổ, ghen tị hoặc bối rối.' }, { id: 29, rev: false, dom: 'sen', t: 'Một số kết cấu bề mặt bình thường không làm phiền người khác nhưng lại khiến tôi vô cùng khó chịu khi chạm vào.' }, { id: 30, rev: false, dom: 'cir', t: 'Tôi trở nên cực kỳ bức bối khi cách thức tôi vẫn thường làm mọi việc bị thay đổi đột ngột.' }, { id: 31, rev: false, dom: 'soc', t: 'Tôi chưa bao giờ muốn hoặc cần có một mối quan hệ được gọi là "tình cảm thân mật".' }, { id: 32, rev: false, dom: 'cir', t: 'Tôi rất khó bắt đầu hoặc dừng lại một cuộc trò chuyện cho đến khi tôi đã nói xong hết ý của mình.' }, { id: 33, rev: true, dom: 'sen', t: 'Tôi nói chuyện với nhịp điệu và tông giọng tự nhiên, bình thường.' }, { id: 34, rev: false, dom: 'sen', t: 'Cùng một âm thanh, màu sắc hoặc kết cấu có thể đột ngột chuyển từ rất nhạy cảm sang hoàn toàn không cảm thấy gì.' }, { id: 35, rev: false, dom: 'lan', t: 'Cụm từ "Anh ấy làm tôi cảm thấy..." hay các câu ẩn dụ cảm xúc tương tự thường làm tôi thấy khó hiểu.' }, { id: 36, rev: false, dom: 'sen', t: 'Đôi khi âm thanh của một từ ngữ hoặc tiếng ồn cao vút có thể gây đau đớn cho tai của tôi.' }, { id: 37, rev: true, dom: 'soc', t: 'Tôi là một người dễ cảm thông và thấu hiểu.' }, { id: 38, rev: false, dom: 'soc', t: 'Tôi không cảm thấy kết nối về mặt cảm xúc với các nhân vật trong phim và không thể cảm nhận những gì họ trải qua.' }, { id: 39, rev: false, dom: 'soc', t: 'Tôi không thể nhận ra khi nào có ai đó đang tán tỉnh mình.' }, { id: 40, rev: false, dom: 'cir', t: 'Tôi có thể hình dung cực kỳ chi tiết trong tâm trí về những thứ mà tôi quan tâm.' }, { id: 41, rev: false, dom: 'cir', t: 'Tôi có lưu giữ các danh sách về những thứ làm tôi thích thú, ngay cả khi chúng không có giá trị sử dụng thực tế.' }, { id: 42, rev: false, dom: 'sen', t: 'Khi tôi cảm thấy bị quá tải bởi các giác quan, tôi phải tự cô lập bản thân để ngắt bớt các kích thích đó.' }, { id: 43, rev: true, dom: 'soc', t: 'Tôi thích tâm sự và thảo luận mọi chuyện với bạn bè của mình.' }, { id: 44, rev: false, dom: 'soc', t: 'Tôi không thể phân biệt được liệu ai đó đang quan tâm hay đang chán ngấy những gì tôi đang nói.' }, { id: 45, rev: false, dom: 'soc', t: 'Rất khó để tôi đọc được nét mặt, ngôn ngữ cơ thể và cử chỉ tay chân khi ai đó đang nói chuyện.' }, { id: 46, rev: false, dom: 'sen', t: 'Cùng một thứ (như quần áo hoặc nhiệt độ) có thể cho tôi cảm giác hoàn toàn khác nhau vào những thời điểm khác nhau.' }, { id: 47, rev: true, dom: 'soc', t: 'Tôi cảm thấy rất thoải mái khi hẹn hò hoặc tham gia các hoạt động giao lưu xã hội.' }, { id: 48, rev: true, dom: 'soc', t: 'Tôi cố gắng giúp đỡ người khác một cách tự nhiên khi họ đang nói về vấn đề khó khăn của mình.' }, { id: 49, rev: false, dom: 'sen', t: 'Tôi từng được nhận xét là có giọng nói khác thường (ví dụ: giọng phẳng lì đều đều, trẻ con hoặc cao vút).' }, { id: 50, rev: false, dom: 'cir', t: 'Đôi khi một ý nghĩ hoặc một chủ đề cứ mắc kẹt trong đầu tôi và tôi buộc phải nói về nó ngay cả khi không ai quan tâm.' }, { id: 51, rev: false, dom: 'sen', t: 'Tôi thường làm một số cử động tay lặp đi lặp lại (như vẫy nhẹ, xoắn ngón tay, nhịp tay hoặc xoay đồ vật).' }, { id: 52, rev: false, dom: 'cir', t: 'Tôi chưa bao giờ thấy hứng thú với những gì hầu hết mọi người xung quanh coi là thú vị.' }, { id: 53, rev: true, dom: 'soc', t: 'Tôi được mọi người xem là một người có tính cách ấm áp và thân thiện.' }, { id: 54, rev: false, dom: 'soc', t: 'Tôi giao tiếp với người khác bằng cách làm theo một bộ các quy tắc cố định mà tôi phải tự ghi nhớ.' }, { id: 55, rev: false, dom: 'soc', t: 'Rất khó để tôi biết phải làm thế nào khi làm việc hoặc sinh hoạt trong một nhóm.' }, { id: 56, rev: false, dom: 'cir', t: 'Khi tôi đang nói chuyện với ai đó, rất khó để chuyển sang chủ đề khác ngoài chủ đề hiện tại.' }, { id: 57, rev: false, dom: 'sen', t: 'Đôi khi tôi phải lấy tay bịt tai lại để chặn bớt những tiếng ồn gây đau tai (như tiếng máy hút bụi, tiếng còi, đám đông).' }, { id: 58, rev: true, dom: 'lan', t: 'Tôi có thể tán gẫu và nói chuyện phiếm một cách dễ dàng với mọi người.' }, { id: 59, rev: false, dom: 'sen', t: 'Đôi khi những thứ đáng lẽ phải gây đau đớn (như khi tôi tự làm mình bị thương) lại không làm tôi thấy đau.' }, { id: 60, rev: false, dom: 'soc', t: 'Khi nói chuyện với một ai đó, tôi gặp khó khăn trong việc biết khi nào đến lượt mình nói hoặc lượt mình lắng nghe.' }, { id: 61, rev: false, dom: 'soc', t: 'Những người hiểu rõ tôi thường coi tôi là một người sống khép kín, tách biệt.' }, { id: 62, rev: true, dom: 'sen', t: 'Tôi thường nhìn thẳng vào mắt người đối diện một cách tự nhiên khi trò chuyện.' }, { id: 63, rev: false, dom: 'cir', t: 'Tôi thích mọi thứ phải diễn ra chính xác như cũ từ ngày này qua ngày khác và ngay cả những thay đổi nhỏ cũng làm tôi phiền lòng.' }, { id: 64, rev: false, dom: 'soc', t: 'Làm thế nào để kết bạn và giữ gìn tình bạn luôn là một điều bí ẩn khó hiểu đối với tôi.' }, { id: 65, rev: false, dom: 'sen', t: 'Việc xoay tròn người, đung đưa cơ thể hoặc nhịp chân giúp tôi tự làm dịu bản thân khi cảm thấy quá tải.' }, { id: 66, rev: false, dom: 'lan', t: 'Cụm từ "Mang trái tim trên tay áo" (bộc lộ cảm xúc ra ngoài) không có ý nghĩa gì đối với tôi khi nghĩ về nó.' }, { id: 67, rev: false, dom: 'sen', t: 'Nếu tôi ở một nơi có quá nhiều mùi hương, kết cấu bề mặt chạm vào da, tiếng ồn hoặc ánh sáng chói, tôi cảm thấy lo âu hoặc đơ cứng.' }, { id: 68, rev: true, dom: 'soc', t: 'Tôi có thể nhận biết khi nào một ai đó nói một đằng nhưng thực tâm lại có ý một nẻo.' }, { id: 69, rev: false, dom: 'soc', t: 'Tôi thích được ở một mình càng nhiều càng tốt.' }, { id: 70, rev: false, dom: 'cir', t: 'Tôi cất giữ những suy nghĩ trong tâm trí giống như xếp trên các thẻ ghi chú và lấy ra đúng tấm thẻ cần tìm khi muốn.' }, { id: 71, rev: false, dom: 'sen', t: 'Cùng một âm thanh có thể lúc thì nghe rất to nhưng lúc khác lại nghe rất nhỏ.' }, { id: 72, rev: true, dom: 'soc', t: 'Tôi thích dành thời gian ăn uống và trò chuyện cùng với gia đình và bạn bè.' }, { id: 73, rev: false, dom: 'sen', t: 'Tôi không thể chịu đựng được những thứ mà tôi không thích (như một số mùi hương, kết cấu vải, âm thanh hoặc màu sắc).' }, { id: 74, rev: false, dom: 'sen', t: 'Tôi không thích được người khác ôm hoặc giữ chặt vào người.' }, { id: 75, rev: false, dom: 'cir', t: 'Khi đi đến bất cứ đâu, tôi đều phải đi theo một lộ trình quen thuộc, nếu không tôi sẽ cảm thấy rất bối rối và bồn chồn.' }, { id: 76, rev: false, dom: 'soc', t: 'Thật khó để hình dung được những người khác đang mong đợi điều gì ở tôi.' }, { id: 77, rev: true, dom: 'soc', t: 'Tôi thích việc có những người bạn thân thiết trong cuộc sống.' }, { id: 78, rev: false, dom: 'cir', t: 'Mọi người thường bảo rằng tôi kể quá nhiều chi tiết tỉ mỉ không cần thiết khi nói chuyện.' }, { id: 79, rev: false, dom: 'soc', t: 'Tôi thường được bảo rằng mình hay đặt những câu hỏi làm người khác ngượng ngùng, khó xử.' }, { id: 80, rev: false, dom: 'soc', t: 'Tôi có xu hướng chỉ ra những lỗi sai của người khác ngay lập tức mà không để ý đến cảm xúc của họ.' } ]; // answers[id] lưu 1 trong 4 mã thời điểm: // 'BOTH' (Đúng cả hiện tại & khi < 16 tuổi) // 'NOW' (Chỉ đúng ở hiện tại) // 'YNG' (Chỉ đúng khi < 16 tuổi) // 'NEV' (Không bao giờ đúng) let answers = {}; let filterDom = 'all'; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .rd-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .rd-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .rd-inner { padding: 24px; max-width: 940px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .rd-wrap.is-fullscreen .rd-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .rd-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(79, 70, 229, 0.45), 0 0 0 0 rgba(79, 70, 229, 0.4); } 70% { box-shadow: 0 6px 20px rgba(79, 70, 229, 0.45), 0 0 0 10px rgba(79, 70, 229, 0); } 100% { box-shadow: 0 6px 20px rgba(79, 70, 229, 0.45), 0 0 0 0 rgba(79, 70, 229, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #4338ca 0%, #4f46e5 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(79, 70, 229, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Header */ .rd-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .rd-header-text { flex: 1 1 260px; } .rd-title { font-size: 21px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .rd-desc { font-size: 14px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #eef2ff; color: #4338ca; border: 1px solid #c7d2fe; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #4f46e5; color: #ffffff; border-color: #4f46e5; } /* Controls */ .rd-controls { display: flex; flex-direction: column; gap: 10px; margin-bottom: 18px; } .rd-presets { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; } .rd-preset-lbl { font-size: 12.5px; font-weight: 700; color: #475569; margin-right: 4px; } .rd-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; transition: all 0.15s ease; touch-action: manipulation; } .rd-pbtn:hover { background: #f1f5f9; border-color: #94a3b8; } .rd-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } .rd-domain-tabs { display: flex; flex-wrap: wrap; gap: 6px; } .rd-dtab { padding: 6px 12px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .rd-dtab.active { background: #4f46e5; color: #ffffff; border-color: #4f46e5; } /* Sticky Dashboard */ .rd-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .rd-wrap.is-fullscreen .rd-dash { top: 58px; } .rd-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .rd-score-big { font-size: 24px; font-weight: 800; line-height: 1; } .rd-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .rd-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .rd-bar-bg { height: 10px; background: #334155; border-radius: 5px; overflow: hidden; margin-bottom: 12px; } .rd-bar-fill { height: 100%; width: 0%; background: #10b981; transition: width 0.35s ease, background 0.35s ease; } .rd-pillars { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; font-size: 11.5px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .rd-pillar-box { background: #1e293b; padding: 7px 10px; border-radius: 8px; } .rd-pillar-val { font-weight: 700; color: #ffffff; font-size: 13px; display: block; margin-top: 2px; } /* Danh sách 80 câu hỏi */ .rd-q-item { border: 1px solid #e2e8f0; border-radius: 10px; padding: 14px 16px; margin-bottom: 12px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 10px; } .rd-q-item.high-scored { border-color: #fda4af; background: #fff5f5; } .rd-q-item.mid-scored { border-color: #fde68a; background: #fffbeb; } .rd-q-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; } .rd-q-text { font-size: 14.5px; font-weight: 600; color: #1e293b; line-height: 1.5; flex: 1; } .rd-q-tags { display: flex; flex-wrap: wrap; gap: 6px; } .rd-tag { font-size: 11px; font-weight: 600; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .rd-tag.dom-soc { background: #dbeafe; color: #1d4ed8; } .rd-tag.dom-cir { background: #fef3c7; color: #b45309; } .rd-tag.dom-lan { background: #f3e8ff; color: #7e22ce; } .rd-tag.dom-sen { background: #dcfce7; color: #15803d; } .rd-tag.rev-tag { background: #fee2e2; color: #b91c1c; } /* 4 nút lựa chọn thời điểm RAADS-R */ .rd-ans-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; } .rd-abtn { padding: 8px 6px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 600; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .rd-abtn:hover { border-color: #64748b; } .rd-abtn.sel-0 { background: #10b981; border-color: #10b981; color: #ffffff; font-weight: 700; } .rd-abtn.sel-1 { background: #3b82f6; border-color: #3b82f6; color: #ffffff; font-weight: 700; } .rd-abtn.sel-2 { background: #f59e0b; border-color: #f59e0b; color: #ffffff; font-weight: 700; } .rd-abtn.sel-3 { background: #ef4444; border-color: #ef4444; color: #ffffff; font-weight: 700; } /* Biểu đồ 4 tiểu lĩnh vực & Kết luận */ .rd-chart-card { margin-top: 20px; padding: 16px 18px; border-radius: 12px; background: #ffffff; border: 1px solid #e2e8f0; } .rd-chart-title { font-size: 14.5px; font-weight: 700; color: #0f172a; margin-bottom: 12px; } .rd-bar-row { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; font-size: 12.5px; } .rd-bar-lbl { width: 210px; flex-shrink: 0; font-weight: 600; color: #334155; } .rd-bar-track { flex: 1; height: 16px; background: #f1f5f9; border-radius: 999px; overflow: hidden; } .rd-bar-val { width: 115px; text-align: right; font-weight: 700; color: #0f172a; flex-shrink: 0; } .rd-result-box { margin-top: 16px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #64748b; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 720px) { .rd-inner { padding: 14px; } .rd-title { font-size: 18px; } .rd-pillars { grid-template-columns: 1fr 1fr; } .rd-ans-grid { grid-template-columns: 1fr 1fr; } .rd-abtn { padding: 10px 8px; font-size: 12px; } .rd-bar-lbl { width: 130px; font-size: 11.5px; } .rd-bar-val { width: 95px; font-size: 11.5px; } .rd-pbtn.reset { margin-left: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
Thang Đo Chẩn Đoán Phổ Tự Kỷ & Asperger RAADS-R (80 Câu Hỏi • Từ 16 Tuổi Trở Lên)
Công cụ lâm sàng chuẩn hóa của Ritvo et al. (2011) đánh giá xuyên suốt dòng thời gian (trước 16 tuổi và hiện tại) trên thang 0 – 240 điểm. Hệ thống tự động đảo chiều điểm ở 17 câu nghịch và đối chiếu ngưỡng điểm cắt lâm sàng chuẩn (≥ 65 điểm).
• Tổng điểm thấp hơn cả ngưỡng giáp ranh (50 điểm) và ngưỡng điểm cắt chuẩn (≥ 65 điểm). Trong nghiên cứu gốc của Ritvo (2011), điểm trung bình của nhóm thần kinh điển hình là khoảng 26 điểm.
• Không ghi nhận tập hợp dấu hiệu Rối loạn phổ tự kỷ có ý nghĩa lâm sàng xuyên suốt quá trình phát triển. `; } else if (total < 65) { color = '#f59e0b'; badgeTxt = `VÙNG GIÁP RANH (${total}/240đ)`; analysis = ` Kết luận RAADS-R — Vùng Giáp Ranh Cần Lưu Ý (50 – 64 điểm: Đạt ${total}/240 điểm):
• Điểm số tiệm cận ngưỡng cắt chuẩn (≥ 65 điểm). Hồ sơ 4 tiểu lĩnh vực: Quan hệ xã hội (${domScores.soc}/117, ngưỡng ≥ 31) • Sở thích thu hẹp (${domScores.cir}/42, ngưỡng ≥ 15) • Ngôn ngữ (${domScores.lan}/21, ngưỡng ≥ 4) • Giác quan – Vận động (${domScores.sen}/60, ngưỡng ≥ 16).
• Nhận định: Một số cá nhân tự kỷ có mức độ ngụy trang xã hội cao hoặc người có lo âu xã hội / ADHD có thể rơi vào vùng điểm này. Khuyến nghị tham vấn chuyên gia tâm lý lâm sàng nếu các đặc điểm gây cản trở cuộc sống. `; } else if (total < 130) { color = '#ef4444'; badgeTxt = `VƯỢT NGƯỠNG CHUẨN RAADS-R (≥ 65: ${total}đ)`; analysis = ` Kết luận RAADS-R — Vượt Ngưỡng Điểm Cắt Lâm Sàng Chuẩn ($\ge 65$ điểm: Đạt ${total}/240 điểm):
• Kết quả dương tính trên thang RAADS-R (ngưỡng $\ge 65$ điểm có độ nhạy 97% trong nghiên cứu chuẩn hóa của Ritvo et al., 2011).
• Chi tiết 4 trụ cột: Quan hệ xã hội (${domScores.soc}/117) • Sở thích thu hẹp (${domScores.cir}/42) • Ngôn ngữ (${domScores.lan}/21) • Giác quan – Vận động (${domScores.sen}/60).
• Hướng xử trí: Kết quả này cung cấp cơ sở lâm sàng vững chắc để bạn thực hiện đánh giá chẩn đoán chính thức với Bác sĩ chuyên khoa Tâm thần / Chuyên gia Tâm lý lâm sàng (kết hợp phỏng vấn lịch sử phát triển và ADOS-2 Module 4). `; } else { color = '#dc2626'; badgeTxt = `MỨC ĐIỂN HÌNH PHỔ TỰ KỶ (${total}/240đ)`; analysis = ` Kết luận RAADS-R — Mức Điểm Đặc Trưng Của Phổ Tự Kỷ ($\ge 130$ điểm: Đạt ${total}/240 điểm):
• Tổng điểm của bạn tương đương hoặc cao hơn mức điểm trung bình của nhóm người trưởng thành được chẩn đoán Tự kỷ / Asperger trong nghiên cứu đa trung tâm quốc tế (~134/240 điểm).
• Sự hiện diện nhất quán của các đặc điểm từ thời thơ ấu ( setPoints(id, 2)); } else if (type === 'border') { // 58 điểm questions.forEach((q, idx) => { if (idx % 3 === 0) setPoints(q.id, 2); else if (idx % 7 === 0) setPoints(q.id, 1); }); } else if (type === 'masked') { // 86 điểm (Nhiều câu chọn "Chỉ đúng khi { if (idx % 2 === 0) setPoints(q.id, 1); }); [5, 8, 9, 13, 19, 20, 21, 22, 23, 27, 29, 30, 36, 40, 42, 45, 54, 57, 62, 64, 67, 69].forEach(id => { setPoints(id, 3); }); } else if (type === 'asd') { // 138 điểm (Hồ sơ ASD điển hình) questions.forEach((q, idx) => { if (idx % 2 === 0) setPoints(q.id, 3); else if (idx % 3 === 0) setPoints(q.id, 2); else setPoints(q.id, 1); }); } renderQuestions(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); rdWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { rdWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 940px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } shadow.querySelectorAll('.rd-pbtn').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-preset')); }; }); shadow.querySelectorAll('#domainTabs .rd-dtab').forEach(function(tab) { tab.onclick = function() { filterDom = this.getAttribute('data-dom'); shadow.querySelectorAll('#domainTabs .rd-dtab').forEach(t => t.classList.remove('active')); this.classList.add('active'); renderQuestions(); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); applyPreset('asd'); })();
RAADS-R (Ritvo Autism Asperger Diagnostic Scale-Revised — Thang đo Chẩn đoán Tự kỷ và Asperger Ritvo – Bản Hiệu đính) là công cụ lâm sàng chuyên sâu do Tiến sĩ Riva Ariella Ritvo và cộng sự (Đại học Yale & UCLA) phát triển năm 2011.
Đây là công cụ hàng đầu thế giới hiện nay dùng để hỗ trợ phát hiện các đặc điểm Rối loạn phổ tự kỷ ở người trưởng thành và thanh thiếu niên lớn (từ 16 tuổi trở lên) có trí tuệ bình thường (IQ ≥80) — đặc biệt là những trường hợp tự kỷ mức độ nhẹ / chức năng cao bị bỏ sót khi còn nhỏ nhờ khả năng “ngụy trang xã hội” (masking).
1. Tóm tắt cốt lõi về công cụ RAADS-R
-
Điểm vượt trội so với thang AQ: Nếu thang AQ chỉ hỏi về trạng thái hiện tại, thì RAADS-R đánh giá xuyên suốt dòng thời gian phát triển (so sánh hành vi trước 16 tuổi và hiện tại). Điều này cực kỳ quan trọng vì nhiều người lớn tự kỷ đã học cách bắt chước giao tiếp khi trưởng thành, nhưng hồi nhỏ (dưới 16 tuổi) lại bộc lộ triệu chứng rất rõ.
-
Độ nhạy và Độ đặc hiệu: Trong nghiên cứu đa trung tâm của Ritvo (2011), RAADS-R đạt độ nhạy 97% và độ đặc hiệu 100% tại ngưỡng điểm cắt chuẩn ().
-
Cấu trúc 80 câu hỏi & 4 Tiểu lĩnh vực:
-
Quan hệ xã hội (Social Relatedness — 39 câu): Khả năng thấu cảm, kết bạn, duy trì mối quan hệ, đọc ngôn ngữ cơ thể và tương tác nhóm (Ngưỡng cắt tiểu lĩnh vực: điểm).
-
Sở thích thu hẹp (Circumscribed Interests — 14 câu): Đam mê chuyên sâu, thói quen cố định, chú ý chi tiết và khó chịu khi thay đổi lịch trình (Ngưỡng cắt: điểm).
-
Ngôn ngữ (Language — 7 câu): Hiểu theo nghĩa đen, giọng điệu nói chuyện, khó hiểu ẩn dụ/nói đùa và kịch bản giao tiếp (Ngưỡng cắt: điểm).
-
Giác quan – Vận động (Sensorimotor — 20 câu): Nhạy cảm quá mức với âm thanh, ánh sáng, kết cấu quần áo/thức ăn, phối hợp vận động và cử động định hình (Ngưỡng cắt: ≥16 điểm).
-
-
Quy tắc chấm điểm (Thang 0 – 240 điểm):
-
Mỗi câu có 4 mốc thời gian để chọn:
-
Đúng ở cả hiện tại và khi < 16 tuổi -
Chỉ đúng ở hiện tại -
Chỉ đúng khi tôi < 16 tuổi -
Không bao giờ đúng
-
-
63 câu thuận (mô tả đặc điểm tự kỷ): Chấm lần lượt 3 – 2 – 1 – 0 điểm.
-
17 câu đảo ngược (Normative items): Câu số 1, 6, 11, 18, 23, 26, 33, 37, 43, 47, 48, 53, 58, 62, 68, 72, 77(mô tả kỹ năng xã hội điển hình): Chấm đảo chiều 0 – 1 – 2 – 3 điểm (Chọn “Không bao giờ đúng” = 3 điểm).
-
-
Các mốc điểm tham chiếu lâm sàng (Cut-off Scores):
-
0 – 49 điểm: Dưới ngưỡng lâm sàng (Trung bình dân số thần kinh điển hình ~26 điểm).
-
50 – 64 điểm: Vùng giáp ranh — Có một số đặc điểm phổ tự kỷ nhưng chưa vượt ngưỡng chuẩn.
-
65 – 129 điểm: Vượt ngưỡng điểm cắt lâm sàng chuẩn ( điểm) — Gợi ý khả năng cao thuộc Phổ tự kỷ.
-
130 – 240 điểm: Mức điểm điển hình của người trưởng thành tự kỷ (Điểm trung bình của nhóm ASD trong nghiên cứu gốc là ~134 điểm).
-
[Phát triển chung] ASQ-3: Bộ câu hỏi sàng lọc phát triển toàn diện theo độ tuổi (1 – 66 tháng)
(function() { const host = document.getElementById('asq3-wp-host'); if (!host) return; const placeholder = document.createComment('asq3-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // Cấu hình 5 Lĩnh vực chuẩn của ASQ-3 (Mỗi lĩnh vực 6 câu x 10đ = 60 điểm tối đa) const domConfigs = { com: { code: 'com', name: '1. Giao tiếp (Communication)', color: '#2563eb' }, gm: { code: 'gm', name: '2. Vận động Thô (Gross Motor)', color: '#10b981' }, fm: { code: 'fm', name: '3. Vận động Tinh (Fine Motor)', color: '#0d9488' }, psv: { code: 'psv', name: '4. Giải quyết Vấn đề (Problem Solving)', color: '#f59e0b' }, psc: { code: 'psc', name: '5. Cá nhân – Xã hội (Personal-Social)', color: '#7c3aed' } }; // Dữ liệu các Bộ câu hỏi chuẩn ASQ-3 theo từng Mốc Tháng Tuổi trọng điểm kèm Ngưỡng Cắt (cutoff: -2 SD, monitor: -1 SD) const ageForms = { m6: { code: 'm6', label: '👶 Mốc 6 Tháng (5 – 6 tháng 30 ngày)', cutoffs: { com: { cut: 29.65, mon: 40.80 }, gm: { cut: 22.25, mon: 34.10 }, fm: { cut: 25.14, mon: 37.60 }, psv: { cut: 27.72, mon: 39.50 }, psc: { cut: 25.34, mon: 37.20 } }, items: [ // Giao tiếp (6m) { id: 1, dom: 'com', t: 'Bé có phát ra những âm thanh cao vút (reo lên thích thú) không?' }, { id: 2, dom: 'com', t: 'Khi tự chơi với âm thanh, bé có phát ra các tiếng gầm gừ, lầu bầu hoặc các âm trầm trong cổ họng không?' }, { id: 3, dom: 'com', t: 'Nếu bạn gọi bé khi bạn đang ở khuất tầm mắt, bé có nhìn về phía phát ra giọng nói của bạn không?' }, { id: 4, dom: 'com', t: 'Khi có tiếng động lớn bất ngờ, bé có quay đầu nhìn về phía phát ra âm thanh đó không?' }, { id: 5, dom: 'com', t: 'Bé có phát ra các âm thanh như "đa", "ga", "ca", "ba" không?' }, { id: 6, dom: 'com', t: 'Nếu bạn bắt chước lại đúng những âm thanh bé vừa phát ra, bé có lặp lại những âm thanh đó với bạn không?' }, // Vận động thô (6m) { id: 7, dom: 'gm', t: 'Khi nằm ngửa, bé có giơ cao chân lên và dùng tay nắm lấy bàn chân của mình không?' }, { id: 8, dom: 'gm', t: 'Khi đang nằm sấp, bé có tự duỗi thẳng cả hai cánh tay để đẩy nâng toàn bộ phần ngực rời khỏi mặt sàn không?' }, { id: 9, dom: 'gm', t: 'Bé có tự lẫy từ tư thế nằm ngửa sang nằm sấp và từ nằm sấp sang nằm ngửa được không?' }, { id: 10, dom: 'gm', t: 'Khi bạn đặt bé ngồi trên sàn, bé có thể tự chống hai bàn tay xuống sàn phía trước để ngồi vững trong 5 giây không?' }, { id: 11, dom: 'gm', t: 'Khi bạn giữ hai bên nách cho bé đứng, bé có chịu được sức nặng cơ thể trên đôi chân và nhún nhảy lên xuống không?' }, { id: 12, dom: 'gm', t: 'Bé có thể vào tư thế bò (chống trên hai bàn tay và hai đầu gối) được không?' }, // Vận động tinh (6m) { id: 13, dom: 'fm', t: 'Bé có với lấy và cầm giữ một món đồ chơi bằng cả hai bàn tay cùng lúc không?' }, { id: 14, dom: 'fm', t: 'Ketika nằm ngửa, bé có đưa tay chạm hoặc nắm lấy một món đồ chơi nhỏ đưa ngang tầm ngực không?' }, { id: 15, dom: 'fm', t: 'Bé có tự cầm lấy một món đồ chơi nhỏ bằng một bàn tay (dùng cả lòng bàn tay và các ngón tay) không?' }, { id: 16, dom: 'fm', t: 'Bé có cố gắng dùng các ngón tay cào hoặc bốc một mẩu vụn bánh nhỏ bằng hạt đậu trên mặt bàn không?' }, { id: 17, dom: 'fm', t: 'Bé có tự nhặt một món đồ chơi nhỏ chỉ bằng một tay không?' }, { id: 18, dom: 'fm', t: 'Bé có chuyển thành thạo một món đồ chơi từ bàn tay này sang bàn tay kia không?' }, // Giải quyết vấn đề (6m) { id: 19, dom: 'psv', t: 'Khi món đồ chơi rơi khỏi tay xuống mặt bàn trước mặt, bé có nhìn theo món đồ chơi đó không?' }, { id: 20, dom: 'psv', t: 'Bé có đưa đồ chơi lên miệng để mút hoặc gặm khám phá không?' }, { id: 21, dom: 'psv', t: 'Bé có chuyển món đồ chơi từ tay này sang tay kia để quan sát không?' }, { id: 22, dom: 'psv', t: 'Khi đang cầm một món đồ chơi trên một tay, bé có đưa tay còn lại với lấy thêm món đồ chơi thứ hai không?' }, { id: 23, dom: 'psv', t: 'Bé có đập món đồ chơi lên mặt bàn lên xuống nhiều lần để tạo ra âm thanh không?' }, { id: 24, dom: 'psv', t: 'Khi thấy món đồ chơi rơi xuống sàn nhà, bé có nghiêng đầu nhìn xuống sàn để tìm kiếm nó không?' }, // Cá nhân - Xã hội (6m) { id: 25, dom: 'psc', t: 'Khi nhìn vào gương, bé có mỉm cười hoặc phát âm ê a với hình ảnh của mình trong gương không?' }, { id: 26, dom: 'psc', t: 'Bé có cư xử khác nhau giữa người quen và người lạ (như nhìn dò xét, rụt rè hoặc im lặng trước người lạ) không?' }, { id: 27, dom: 'psc', t: 'Khi nằm ngửa, bé có đưa bàn chân lên miệng để ngậm nghịch không?' }, { id: 28, dom: 'psc', t: 'Khi đang ở trước gương, bé có đưa tay ra vỗ hoặc chạm vào hình ảnh trong gương không?' }, { id: 29, dom: 'psc', t: 'Bé có đặt hai bàn tay lên bình sữa hoặc bầu ngực mẹ khi đang bú không?' }, { id: 30, dom: 'psc', t: 'Bé có tự cầm chiếc bánh ăn dặm đưa lên miệng để mút/gặm không?' } ] }, m12: { code: 'm12', label: '🍼 Mốc 12 Tháng (11 – 12 tháng 30 ngày)', cutoffs: { com: { cut: 15.64, mon: 29.50 }, gm: { cut: 21.49, mon: 35.80 }, fm: { cut: 34.50, mon: 43.40 }, psv: { cut: 27.32, mon: 38.60 }, psc: { cut: 21.73, mon: 33.70 } }, items: [ // Giao tiếp (12m) { id: 1, dom: 'com', t: 'Bé có phát ra hai âm tiết giống nhau liền nhau như "ba-ba", "đa-đa", "ma-ma" không?' }, { id: 2, dom: 'com', t: 'Khi bạn làm mẫu, bé có bắt chước chơi trò "Ú òa", "Vỗ tay hoan hô" hoặc vẫy tay "Bye-bye" không?' }, { id: 3, dom: 'com', t: 'Nếu bạn hỏi "Quả bóng đâu?" (mà không chỉ tay), bé có nhìn về phía quả bóng không?' }, { id: 4, dom: 'com', t: 'Khi bé muốn một thứ gì đó, bé có biết đưa tay chỉ vào đồ vật đó để cho bạn biết không?' }, { id: 5, dom: 'com', t: 'Bé có thực hiện được một yêu cầu đơn giản (như "Lại đây", "Đưa cho mẹ") ngay cả khi bạn không làm cử chỉ ra hiệu không?' }, { id: 6, dom: 'com', t: 'Bé có nói được ít nhất 3 từ đơn có nghĩa (như "Mẹ", "Bà", "Măm", "Bóng") và dùng đúng ngữ cảnh không?' }, // Vận động thô (12m) { id: 7, dom: 'gm', t: 'Khi một tay vịn vào bàn ghế, bé có thể cúi xuống nhặt một món đồ chơi dưới sàn mà không bị ngã không?' }, { id: 8, dom: 'gm', t: 'Bé có đi men dọc theo thành ghế sofa hoặc bàn trong khi chỉ dùng một tay vịn giữ thăng bằng không?' }, { id: 9, dom: 'gm', t: 'Khi bạn nắm một bàn tay của bé để dắt, bé có tự bước đi về phía trước được không?' }, { id: 10, dom: 'gm', t: 'Bé có thể tự đứng vững một mình và bước đi độc lập được vài bước mà không cần vịn vào bất cứ thứ gì không?' }, { id: 11, dom: 'gm', t: 'Bé có thể tự đứng ở giữa sàn rồi cúi xuống nhặt đồ chơi mà không cần vịn tay vào đồ đạc không?' }, { id: 12, dom: 'gm', t: 'Bé có tự đi lại vững vàng hơn 5 – 6 bước liên tiếp mà không bị ngã hay loạng choạng nhiều không?' }, // Vận động tinh (12m) { id: 13, dom: 'fm', t: 'Bé có tự nhặt được một mẩu bánh nhỏ / hạt nhỏ bằng đầu ngón cái và đầu ngón trỏ (kẹp chì) không?' }, { id: 14, dom: 'fm', t: 'Bé có thể cầm một món đồ chơi nhỏ trên tay và chủ động thả rơi nó xuống mặt bàn/trong hộp khi muốn không?' }, { id: 15, dom: 'fm', t: 'Khi nhặt mẩu bánh nhỏ bằng ngón cái và ngón trỏ, bàn tay và cánh tay của bé có nhấc hẳn lên khỏi mặt bàn (không cần tỳ cánh tay xuống bàn) không?' }, { id: 16, dom: 'fm', t: 'Bé có biết bỏ một khối gỗ vào trong hộp hoặc cốc rồi lại thò tay lấy khối gỗ đó ra khỏi hộp không?' }, { id: 17, dom: 'fm', t: 'Bé có phụ giúp lật trang sách bìa cứng khi bạn đọc sách cho bé nghe không?' }, { id: 18, dom: 'fm', t: 'Bé có thể ném một quả bóng nhỏ về phía trước bằng chuyển động cánh tay không?' }, // Giải quyết vấn đề (12m) { id: 19, dom: 'psv', t: 'Khi hai tay bé đang cầm hai khối gỗ, bé có biết đập hai khối gỗ đó vào nhau ở trước ngực không?' }, { id: 20, dom: 'psv', t: 'Bé có biết dùng ngón trỏ để chọc, ấn hoặc khám phá các chi tiết nhỏ của đồ chơi không?' }, { id: 21, dom: 'psv', t: 'Nếu nhìn thấy bạn giấu món đồ chơi hoàn toàn dưới một chiếc khăn, bé có tự kéo khăn ra để tìm lấy món đồ chơi đó không?' }, { id: 22, dom: 'psv', t: 'Sau khi nhìn bạn thả một khối gỗ vào trong chiếc cốc, bé có bắt chước thả khối gỗ vào trong cốc không?' }, { id: 23, dom: 'psv', t: 'Bé có biết bỏ liền 2 khối gỗ vào trong cốc/hộp và giữ chúng nằm yên trong đó không?' }, { id: 24, dom: 'psv', t: 'Sau khi bạn cầm bút sáp vẽ mẫu vài nét trên giấy, bé có cầm bút và cố gắng vạch nét bắt chước trên giấy không?' }, // Cá nhân - Xã hội (12m) { id: 25, dom: 'psc', t: 'Khi bạn đưa hai tay ra và nói "Lại đây với mẹ nào", bé có giơ hai tay lên để được bạn bế không?' }, { id: 26, dom: 'psc', t: 'Bé có tự cầm bánh hoặc thức ăn cắt nhỏ bằng ngón tay để tự đưa vào miệng ăn không?' }, { id: 27, dom: 'psc', t: 'Khi bạn mặc quần áo cho bé, bé có biết phối hợp xỏ tay vào ống tay áo hoặc đưa chân vào ống quần không?' }, { id: 28, dom: 'psc', t: 'Bé có biết lăn hoặc ném trả lại quả bóng cho bạn để hai mẹ con cùng chơi qua lại không?' }, { id: 29, dom: 'psc', t: 'Bé có biết ôm ấp, vỗ về một con búp bê hoặc thú nhồi bông không?' }, { id: 30, dom: 'psc', t: 'Khi bạn giữ chiếc cốc nước cho bé uống, bé có đưa hai tay lên cùng giữ chiếc cốc để uống không?' } ] }, m18: { code: 'm18', label: '🧸 Mốc 18 Tháng (17 – 18 tháng 30 ngày)', cutoffs: { com: { cut: 13.06, mon: 27.60 }, gm: { cut: 37.38, mon: 46.40 }, fm: { cut: 34.32, mon: 43.30 }, psv: { cut: 25.74, mon: 35.80 }, psc: { cut: 27.19, mon: 37.80 } }, items: [ // Giao tiếp (18m) { id: 1, dom: 'com', t: 'Khi bé muốn một thứ gì đó ở trên cao, bé có đi tìm bạn và chỉ ngón trỏ vào vật đó kèm nhìn bạn không?' }, { id: 2, dom: 'com', t: 'Khi xem sách cùng bạn, bé có bắt chước một số âm thanh hoặc từ đơn mà bạn đọc không?' }, { id: 3, dom: 'com', t: 'Khi bạn hỏi "Con mèo/Quả bóng ở đâu?", bé có chỉ đúng vào bức tranh tương ứng trong sách không?' }, { id: 4, dom: 'com', t: 'Bé có thực hiện đúng các yêu cầu đơn giản bằng lời mà bạn không cần chỉ tay (như "Đi lấy giày của con lại đây") không?' }, { id: 5, dom: 'com', t: 'Ngoài từ "Bố" và "Mẹ", bé có nói được ít nhất 8 từ đơn có nghĩa trở lên không?' }, { id: 6, dom: 'com', t: 'Bé có bắt đầu ghép 2 từ lại với nhau thành cụm từ ngắn (như "Uống sữa", "Mẹ bế", "Mở ra") không?' }, // Vận động thô (18m) { id: 7, dom: 'gm', t: 'Bé có tự cúi xuống hoặc ngồi xổm nhặt đồ vật dưới sàn rồi tự đứng thẳng lên mà không cần vịn vào bất cứ thứ gì không?' }, { id: 8, dom: 'gm', t: 'Bé có tự đi lại vững vàng khắp nhà hơn là bò không?' }, { id: 9, dom: 'gm', t: 'Bé có tự bước đi tốt mà rất hiếm khi bị vấp ngã không?' }, { id: 10, dom: 'gm', t: 'Bé có tự trèo lên một vật thấp (như chiếc ghế sofa hoặc ghế nhỏ) để lấy món đồ chơi ở trên đó không?' }, { id: 11, dom: 'gm', t: 'Bé có bước xuống cầu thang được khi bạn nắm giữ một bàn tay của bé không?' }, { id: 12, dom: 'gm', t: 'Khi bạn đặt quả bóng dưới sàn, bé có biết vung chân đá quả bóng lăn về phía trước (thay vì bước dẫm lên bóng) không?' }, // Vận động tinh (18m) { id: 13, dom: 'fm', t: 'Bé có thể ném một quả bóng nhỏ về phía trước khi đang đứng mà không bị ngã không?' }, { id: 14, dom: 'fm', t: 'Bé có xếp chồng được ít nhất 3 khối gỗ vuông nhỏ lên nhau thành tháp đứng vững không?' }, { id: 15, dom: 'fm', t: 'Bé có tự cầm bút sáp màu và vẽ nguệch ngoạc lên trang giấy mà không cần bạn làm mẫu trước không?' }, { id: 16, dom: 'fm', t: 'Bé có tự lật được các trang của một cuốn sách (có thể lật 2–3 trang cùng lúc) không?' }, { id: 17, dom: 'fm', t: 'Bé có biết dùng đầu ngón tay lấy một mẩu bánh nhỏ ra khỏi một chiếc lọ nhựa trong suốt cổ hẹp không?' }, { id: 18, dom: 'fm', t: 'Bé có xếp chồng được 4 – 5 khối gỗ vuông nhỏ lên nhau thành tháp không?' }, // Giải quyết vấn đề (18m) { id: 19, dom: 'psv', t: 'Bé có thả liên tiếp 5 – 6 đồ vật nhỏ vào trong một chiếc hộp không?' }, { id: 20, dom: 'psv', t: 'Sau khi bạn thả một mẩu bánh nhỏ vào trong lọ nhựa trong suốt, bé có biết tự dốc ngược cái lọ xuống để đổ mẩu bánh ra tay không?' }, { id: 21, dom: 'psv', t: 'Bé có chơi giả vờ với các đồ vật (như áp điện thoại đồ chơi lên tai nghe, hoặc cầm lược giả vờ chải đầu) không?' }, { id: 22, dom: 'psv', t: 'Sau khi nhìn bạn vẽ một nét thẳng trên giấy, bé có cầm bút bắt chước vạch nét theo bạn không?' }, { id: 23, dom: 'psv', t: 'Nếu món đồ chơi lăn vào gầm ghế ngoài tầm tay với, bé có biết dùng một chiếc que/thước để khều nó ra hoặc kéo khăn trải bàn lại gần không?' }, { id: 24, dom: 'psv', t: 'Khi bạn xếp mẫu 3–4 khối gỗ nối đuôi nhau làm đoàn tàu, bé có xếp các khối gỗ thành hàng ngang giống bạn không?' }, // Cá nhân - Xã hội (18m) { id: 25, dom: 'psc', t: 'Bé có tự dùng thìa xúc thức ăn đưa vào miệng (dù có thể còn rơi vãi một ít) không?' }, { id: 26, dom: 'psc', t: 'Bé có tự cởi được các món đồ dễ như tất, mũ hoặc giày đã tháo dây không?' }, { id: 27, dom: 'psc', t: 'Bé có tự cầm cốc bằng hai tay uống nước rồi đặt cốc xuống bàn mà hầu như không làm đổ nước ra ngoài không?' }, { id: 28, dom: 'psc', t: 'Bé có bắt chước làm theo các việc nhà của bạn (như cầm khăn lau bàn, cầm chổi quét nhà) không?' }, { id: 29, dom: 'psc', t: 'Bé có thường xuyên nhìn vào hình ảnh của mình trong gương và mỉm cười hoặc làm trò trước gương không?' }, { id: 30, dom: 'psc', t: 'Bé có chủ động kéo tay bạn hoặc mang đồ chơi lại khoe để rủ bạn cùng xem/mở giúp không?' } ] }, m24: { code: 'm24', label: '👦 Mốc 24 Tháng (23 – 25 tháng 15 ngày • 2 Tuổi)', cutoffs: { com: { cut: 25.17, mon: 38.00 }, gm: { cut: 38.07, mon: 46.50 }, fm: { cut: 35.16, mon: 43.20 }, psv: { cut: 29.78, mon: 39.60 }, psc: { cut: 31.54, mon: 40.50 } }, items: [ // Giao tiếp (24m) { id: 1, dom: 'com', t: 'Khi bạn gọi tên các bức tranh quen thuộc (như con mèo, quả bóng, con chó, chiếc xe), bé có chỉ đúng vào bức tranh đó trong sách không?' }, { id: 2, dom: 'com', t: 'Bé có bắt chước nói lại chính xác một câu ngắn gồm 2 từ khi bạn làm mẫu (ví dụ: "Mẹ ơi", "Đi về") không?' }, { id: 3, dom: 'com', t: 'Khi bạn yêu cầu bằng lời mà không chỉ tay, bé có thực hiện được ít nhất 3 mệnh lệnh khác nhau (như "Đặt lên bàn", "Đưa dép cho mẹ", "Đóng cửa lại") không?' }, { id: 4, dom: 'com', t: 'Khi bạn chỉ vào bức tranh quả bóng, cái cốc, chiếc mũ và hỏi "Cái gì đây?", bé có gọi đúng tên các đồ vật đó không?' }, { id: 5, dom: 'com', t: 'Bé có tự nói được các câu gồm 2 đến 3 từ để diễn đạt ý khác nhau (như "Con uống sữa", "Đi chơi công viên", "Bóng của con") không?' }, { id: 6, dom: 'com', t: 'Bé có sử dụng đúng ít nhất 2 đại từ nhân xưng như "Con", "Mẹ", "Của con" khi nói chuyện không?' }, // Vận động thô (24m) { id: 7, dom: 'gm', t: 'Bé có thể tự bước xuống cầu thang khi một tay vịn vào lan can hoặc tường (hoặc nắm tay bạn) không?' }, { id: 8, dom: 'gm', t: 'Khi đứng trước quả bóng, bé có tự vung chân đá quả bóng lăn về phía trước mà không cần vịn tay vào đâu không?' }, { id: 9, dom: 'gm', t: 'Bé có thể tự bước lên và bước xuống ít nhất 2 bậc cầu thang một mình (có thể vịn tường/lan can, bước dồn 2 chân trên 1 bậc) không?' }, { id: 10, dom: 'gm', t: 'Bé có chạy khá vững vàng và biết tự dừng lại mà không bị đâm sầm vào đồ đạc hoặc ngã không?' }, { id: 11, dom: 'gm', t: 'Bé có biết bật nhảy tại chỗ sao cho cả hai bàn chân cùng nhấc rời khỏi mặt đất một lúc không?' }, { id: 12, dom: 'gm', t: 'Khi đứng ở bậc cầu thang cuối cùng, bé có thể nhảy bằng hai chân xuống mặt sàn nhà không?' }, // Vận động tinh (24m) { id: 13, dom: 'fm', t: 'Bé có tự dùng thìa xúc thức ăn đưa vào miệng ngay ngắn, không bị lật ngược chiếc thìa làm đổ thức ăn không?' }, { id: 14, dom: 'fm', t: 'Bé có tự lật từng trang sách một (mỗi lần chỉ lật 1 trang giấy) khi xem sách không?' }, { id: 15, dom: 'fm', t: 'Bé có biết xoay cổ tay để vặn mở nắp lọ nhỏ, xoay tay nắm cửa hoặc vặn dây cót đồ chơi không?' }, { id: 16, dom: 'fm', t: 'Bé có tự bật hoặc tắt công tắc đèn gắn trên tường được không?' }, { id: 17, dom: 'fm', t: 'Bé có xếp chồng được một tháp cao gồm 6 – 7 khối gỗ vuông nhỏ đứng vững không?' }, { id: 18, dom: 'fm', t: 'Bé có biết xâu được ít nhất 2 – 3 hạt gỗ lớn hoặc ống nhựa qua một sợi dây giày có đầu cứng không?' }, // Giải quyết vấn đề (24m) { id: 19, dom: 'psv', t: 'Sau khi nhìn bạn vẽ một đường thẳng từ trên xuống dưới trên giấy, bé có cầm bút bắt chước vẽ một đường thẳng tương tự không?' }, { id: 20, dom: 'psv', t: 'Khi muốn lấy một đồ vật ở trên bàn cao, bé có biết tự đi kéo một chiếc ghế nhỏ lại rồi trèo lên ghế để lấy đồ không?' }, { id: 21, dom: 'psv', t: 'Sau khi bạn xếp 4 khối gỗ nối tiếp nhau làm đoàn tàu, bé có bắt chước xếp 4 khối gỗ thành hàng ngang giống bạn không?' }, { id: 22, dom: 'psv', t: 'Nếu bạn đưa cho bé một chiếc lọ có nắp vặn lỏng bên trong đựng bánh, bé có biết tự xoay mở nắp lọ để lấy bánh ra không?' }, { id: 23, dom: 'psv', t: 'Bé có chơi đóng vai giả vờ bằng cách dùng vật này thay thế cho vật kia (như lấy cái bát đội lên đầu giả làm mũ, hoặc lấy khối gỗ giả làm ô tô) không?' }, { id: 24, dom: 'psv', t: 'Bé có biết tự cất đồ chơi vào đúng chỗ quen thuộc (như bỏ khối gỗ vào hộp, cất sách lên kệ) khi kết thúc giờ chơi không?' }, // Cá nhân - Xã hội (24m) { id: 25, dom: 'psc', t: 'Bé có tự cầm cốc một mình uống nước rồi đặt xuống bàn mà không làm đổ nước nữa không?' }, { id: 26, dom: 'psc', t: 'Bé có chơi giả vờ chăm sóc búp bê hoặc thú bông (như đút cho ăn, đắp chăn cho ngủ, đặt ngồi bô) không?' }, { id: 27, dom: 'psc', t: 'Bé có tự dùng dĩa/nĩa hoặc thìa để xiên/xúc thức ăn tự lập trong bữa ăn không?' }, { id: 28, dom: 'psc', t: 'Khi chơi gần các bạn nhỏ khác, bé có thích ngồi chơi những món đồ chơi giống như các bạn bên cạnh đang chơi không?' }, { id: 29, dom: 'psc', t: 'Bé có tự đẩy các loại đồ chơi có bánh xe lớn (như xe đẩy siêu thị đồ chơi, xe nôi búp bê) đi vòng quanh và biết bẻ lái tránh chướng ngại vật không?' }, { id: 30, dom: 'psc', t: 'Bé có biết gọi bạn là "Mẹ / Bố" hoặc xưng tên mình khi nhìn thấy ảnh chụp của hai mẹ con không?' } ] }, m36: { code: 'm36', label: '🧒 Mốc 36 Tháng (34 tháng 16 ngày – 38 tháng 30 ngày • 3 Tuổi)', cutoffs: { com: { cut: 30.99, mon: 41.50 }, gm: { cut: 36.99, mon: 46.20 }, fm: { cut: 18.07, mon: 31.80 }, psv: { cut: 30.29, mon: 40.80 }, psc: { cut: 35.33, mon: 43.90 } }, items: [ // Giao tiếp (36m) { id: 1, dom: 'com', t: 'Khi bạn hỏi, bé có chỉ đúng được ít nhất 7 bộ phận cơ thể (như đầu, tóc, mắt, mũi, miệng, tai, tay, bụng, chân, đầu gối) không?' }, { id: 2, dom: 'com', t: 'Bé có nói được các câu hoàn chỉnh gồm từ 3 đến 4 từ trở lên không?' }, { id: 3, dom: 'com', t: 'Nếu bạn yêu cầu, bé có đặt được một cuốn sách "LÊN TRÊN bàn", "XUỐNG DƯỚI ghế" hoặc "BÊN CẠNH hộp" đúng theo lời bạn nói không?' }, { id: 4, dom: 'com', t: 'Khi xem tranh một con vật/người đang chạy hoặc đang ăn và bạn hỏi "Ai đang làm gì đây?", bé có trả lời được cả tên và hành động (như "Con chó đang chạy") không?' }, { id: 5, dom: 'com', t: 'Khi bạn cầm một chiếc khóa kéo trên áo và hỏi "Con đang làm gì đây?", bé có dùng được các từ chỉ hành động đang diễn ra ("Con đang kéo khóa / mở áo") không?' }, { id: 6, dom: 'com', t: 'Khi bạn hỏi "Tên đầy đủ ( cả họ và tên) của con là gì?", bé có trả lời đúng họ và tên của mình không?' }, // Vận động thô (36m) { id: 7, dom: 'gm', t: 'Bé có đứng co một chân lên và giữ thăng bằng trên một chân còn lại được khoảng 1 – 2 giây mà không cần vịn vào đâu không?' }, { id: 8, dom: 'gm', t: 'Khi đứng yên, bé có biết vung tay từ trên cao qua đầu để ném quả bóng về phía trước được ít nhất 1.5 mét không?' }, { id: 9, dom: 'gm', t: 'Bé có thể chụm hai chân bật nhảy xa về phía trước được một khoảng ít nhất 15 – 20 cm không?' }, { id: 10, dom: 'gm', t: 'Bé có tự bước lên cầu thang bằng cách bước luân phiên từng chân (mỗi bậc cầu thang đặt 1 bàn chân như người lớn) không?' }, { id: 11, dom: 'gm', t: 'Bé có biết ngồi lên xe đạp 3 bánh và dùng hai bàn chân nhấn bàn đạp để xe lăn bánh tiến về phía trước không?' }, { id: 12, dom: 'gm', t: 'Bé có thể tự bước lên và xuống cầu thang vững vàng mà không cần vịn vào tường hay lan can không?' }, // Vận động tinh (36m) { id: 13, dom: 'fm', t: 'Sau khi nhìn bạn vẽ một đường thẳng ngang trên giấy, bé có cầm bút vẽ lại được một đường ngang tương tự không?' }, { id: 14, dom: 'fm', t: 'Bé có tự xâu được các hạt gỗ/nhựa vào một sợi dây nhỏ thành chuỗi vòng không?' }, { id: 15, dom: 'fm', t: 'Sau khi nhìn thấy bức vẽ hình tròn của bạn, bé có tự vẽ lại được một hình tròn khép kín trên giấy không?' }, { id: 16, dom: 'fm', t: 'Bé có biết cầm kéo trẻ em và nhấp kéo mở ra – khép lại để cắt vào mép tờ giấy không?' }, { id: 17, dom: 'fm', t: 'Khi vẽ, bé có cầm bút bằng ngón cái và các ngón tay (giống tư thế cầm bút của người lớn) thay vì nắm chặt cả nắm đấm không?' }, { id: 18, dom: 'fm', t: 'Sau khi nhìn bạn vẽ hình chữ thập (+), bé có cố gắng vẽ một đường dọc và một đường ngang cắt nhau tạo thành dấu cộng (+) không?' }, // Giải quyết vấn đề (36m) { id: 19, dom: 'psv', t: 'Khi bạn xếp mẫu 3 khối gỗ tạo thành hình "Cây cầu" (2 khối ở dưới cách nhau một khe nhỏ và 1 khối bắc ngang ở trên), bé có xếp lại được cây cầu giống bạn không?' }, { id: 20, dom: 'psv', t: 'Khi bạn vẽ một hình người chưa có chân và hỏi "Còn thiếu cái gì đây?", bé có nhận ra và nói đúng phần bị thiếu không?' }, { id: 21, dom: 'psv', t: 'Nếu bạn đọc chậm rãi 2 chữ số (ví dụ: "3 - 7" hoặc "5 - 2") và bảo bé nhắc lại, bé có đọc lại đúng theo thứ tự đó không?' }, { id: 22, dom: 'psv', t: 'Khi bạn chỉ vào hai vòng tròn (1 to, 1 nhỏ) và hỏi "Cái nào TO hơn?", bé có chỉ đúng không?' }, { id: 23, dom: 'psv', t: 'Bé có thích chơi hóa trang (như đội mũ của bố, đeo túi của mẹ) để đóng giả làm bố/mẹ/bác sĩ không?' }, { id: 24, dom: 'psv', t: 'Nếu bạn đọc chậm 3 chữ số (ví dụ: "4 - 7 - 2"), bé có nhắc lại được đúng cả 3 số theo thứ tự không?' }, // Cá nhân - Xã hội (36m) { id: 25, dom: 'psc', t: 'Bé có tự dùng thìa xúc ăn thành thạo mà hầu như không làm rơi vãi thức ăn ra ngoài nữa không?' }, { id: 26, dom: 'psc', t: 'Bé có tự mặc được áo khoác mở ngực hoặc áo sơ mi mà không cần bạn giúp xỏ tay áo không?' }, { id: 27, dom: 'psc', t: 'Khi bạn hỏi "Con là con trai hay con gái?", bé có trả lời đúng giới tính của mình không?' }, { id: 28, dom: 'psc', t: 'Bé có biết chờ đến lượt của mình khi tham gia trò chơi cùng người lớn hoặc các bạn khác không?' }, { id: 29, dom: 'psc', t: 'Bé có tự kéo quần dài/quần đùi xuống khi đi vệ sinh và tự kéo quần lên lại không?' }, { id: 30, dom: 'psc', t: 'Bé có kể được tên của ít nhất một người bạn thân cùng lớp hoặc hàng xóm không?' } ] }, m48: { code: 'm48', label: '🎒 Mốc 48 Tháng (45 – 50 tháng 30 ngày • 4 Tuổi)', cutoffs: { com: { cut: 30.72, mon: 42.10 }, gm: { cut: 32.78, mon: 43.60 }, fm: { cut: 15.81, mon: 30.60 }, psv: { cut: 31.30, mon: 42.50 }, psc: { cut: 26.60, mon: 39.20 } }, items: [ // Giao tiếp (48m) { id: 1, dom: 'com', t: 'Bé có kể được tên ít nhất 3 sự vật thuộc cùng một nhóm danh mục (ví dụ: "Kể cho mẹ nghe tên 3 con vật / 3 món đồ ăn") không?' }, { id: 2, dom: 'com', t: 'Khi bạn hỏi "Con dùng cái gì để mô tả con voi?", bé có dùng được ít nhất 2 từ chỉ đặc điểm (như "Con voi to, có cái vòi dài") không?' }, { id: 3, dom: 'com', t: 'Bé có sử dụng đúng các từ chỉ kết thúc ở quá khứ ("đã... rồi") và tương lai ("sẽ...") trong câu nói hàng ngày không?' }, { id: 4, dom: 'com', t: 'Bé có thực hiện đúng một chuỗi gồm 3 yêu cầu liên tiếp không liên quan nhau (như "Con vỗ tay, rồi đi ra cửa, rồi ngồi xuống") không?' }, { id: 5, dom: 'com', t: 'Bé có nói được các câu đầy đủ gồm tất cả các từ liên kết (như "Con muốn đi công viên VỚI bố BỞI VÌ...") không?' }, { id: 6, dom: 'com', t: 'Bé có trả lời hợp lý các câu hỏi tình huống "Con sẽ làm gì khi con bị đói / khi con bị mệt / khi con bị lạnh?" không?' }, // Vận động thô (48m) { id: 7, dom: 'gm', t: 'Khi bạn đứng cách bé khoảng 1.5 mét và ném một quả bóng lớn tới, bé có dùng hai bàn tay bắt gọn được quả bóng không?' }, { id: 8, dom: 'gm', t: 'Bé có tự leo lên các bậc thang của cầu trượt cao ở công viên và trượt xuống mà không cần giúp đỡ không?' }, { id: 9, dom: 'gm', t: 'Khi đang chạy, bé có thể bật nhảy lên cao về phía trước mà không bị giảm tốc độ hay ngã không?' }, { id: 10, dom: 'gm', t: 'Bé có biết nhảy lò cò trên một chân được ít nhất 2 – 3 bước liên tiếp không?' }, { id: 11, dom: 'gm', t: 'Bé có thể chụm hai chân bật nhảy xa về phía trước được ít nhất 50 cm không?' }, { id: 12, dom: 'gm', t: 'Bé có đứng thăng bằng vững vàng trên một chân trong ít nhất 5 giây mà không cần vịn tay không?' }, // Vận động tinh (48m) { id: 13, dom: 'fm', t: 'Bé có tự ghép hoàn chỉnh được các bộ xếp hình tranh (puzzle) gồm từ 5 đến 7 mảnh rời nhau không?' }, { id: 14, dom: 'fm', t: 'Bé có dùng kéo cắt đứt đôi một tờ giấy theo một đường kẻ thẳng từ đầu này sang đầu kia (lệch không quá 1 cm) không?' }, { id: 15, dom: 'fm', t: 'Khi nhìn mẫu, bé có vẽ sao chép lại được cả 3 hình: Hình tròn (○), Hình chữ thập (+) và Hình vuông (□) không?' }, { id: 16, dom: 'fm', t: 'Bé có tự mở và cài được ít nhất một chiếc cúc áo/khuy quần vừa tay không?' }, { id: 17, dom: 'fm', t: 'Bé có tự vẽ được hình một người có ít nhất 3 – 4 bộ phận cơ thể rõ ràng (đầu, mắt, thân/chân, tay) không?' }, { id: 18, dom: 'fm', t: 'Bé có tô màu vào bên trong một hình vẽ sẵn mà hầu như không bị lem ra ngoài đường viền không?' }, // Giải quyết vấn đề (48m) { id: 19, dom: 'psv', t: 'Khi bạn nói "Mẹ có một con mèo nhỏ, còn bạn Lan có một con mèo TO HƠN", bé có chỉ đúng vào bức tranh con mèo to hơn không?' }, { id: 20, dom: 'psv', t: 'Khi bạn đặt 5 đồ vật thành hàng trên bàn và hỏi "Có bao nhiêu cái đây?", bé có dùng tay chỉ đếm từng cái từ 1 đến 5 đúng số lượng không?' }, { id: 21, dom: 'psv', t: 'Khi bạn chỉ vào các đồ vật, bé có gọi đúng tên ít nhất 4 màu sắc khác nhau (Đỏ, Vàng, Xanh dương, Xanh lá...) không?' }, { id: 22, dom: 'psv', t: 'Bé có biết phân biệt và chỉ đúng đâu là "Cái nhỏ nhất" trong số 3 đồ vật có kích thước khác nhau không?' }, { id: 23, dom: 'psv', t: 'Bé có chơi đóng vai giả vờ theo kịch bản phức tạp cùng bạn bè (như chơi bán hàng, chơi khám bệnh) không?' }, { id: 24, dom: 'psv', t: 'Bé có tự đếm vẹt liên tục từ 1 đến 10 theo đúng thứ tự không?' }, // Cá nhân - Xã hội (48m) { id: 25, dom: 'psc', t: 'Bé có tự lấy kem và tự đánh răng cho mình mà chỉ cần người lớn kiểm tra nhẹ lại không?' }, { id: 26, dom: 'psc', t: 'Bé có tự phục vụ một món ăn nhẹ đơn giản (như tự rót nước từ bình nhỏ ra cốc hoặc tự lấy bánh/sữa chua ăn) không?' }, { id: 27, dom: 'psc', t: 'Bé có kể được tên của ít nhất 2 người bạn cùng chơi ở lớp hoặc hàng xóm không?' }, { id: 28, dom: 'psc', t: 'Bé có tự rửa tay và mặt bằng xà phòng rồi tự lấy khăn lau khô mà không cần giúp đỡ không?' }, { id: 29, dom: 'psc', t: 'Bé có tự mặc và tự cởi toàn bộ quần áo của mình (trừ việc buộc dây giày khó) không?' }, { id: 30, dom: 'psc', t: 'Khi được hỏi, bé có trả lời đúng được ít nhất 3 trong 4 thông tin cá nhân: Họ tên, Tuổi, Tên bố mẹ, Tên thành phố/quận nơi ở không?' } ] }, m60: { code: 'm60', label: '🎓 Mốc 60 Tháng (57 – 66 tháng • 5 Tuổi)', cutoffs: { com: { cut: 33.19, mon: 43.80 }, gm: { cut: 31.28, mon: 42.30 }, fm: { cut: 26.54, mon: 38.60 }, psv: { cut: 29.99, mon: 41.20 }, psc: { cut: 39.07, mon: 47.00 } }, items: [ // Giao tiếp (60m) { id: 1, dom: 'com', t: 'Bé có thực hiện đúng một chuỗi 3 mệnh lệnh hoàn toàn độc lập mà không cần bất kỳ cử chỉ gợi ý nào của bạn không?' }, { id: 2, dom: 'com', t: 'Bé có thường xuyên nói các câu hoàn chỉnh dài từ 4 đến 5 từ trở lên với đầy đủ ngữ pháp không?' }, { id: 3, dom: 'com', t: 'Khi kể lại một chuyện đã xảy ra ở lớp hôm qua, bé có dùng đúng các từ chỉ thời gian quá khứ không?' }, { id: 4, dom: 'com', t: 'Bé có sử dụng các từ so sánh như "Nặng hơn", "Mạnh hơn", "Dài hơn", "Nhanh hơn" trong câu nói hàng ngày không?' }, { id: 5, dom: 'com', t: 'Bé có trả lời đúng cả 2 câu hỏi suy luận: "Con làm gì khi khát nước?" và "Tại sao chúng ta phải mặc áo ấm khi trời lạnh?" không?' }, { id: 6, dom: 'com', t: 'Bé có thể lặp lại chính xác các câu dài 9 – 10 âm tiết mà không bỏ sót từ nào khi bạn đọc mẫu không?' }, // Vận động thô (60m) { id: 7, dom: 'gm', t: 'Khi đứng yên, bé có vung tay ném một quả bóng nhỏ đi xa được ít nhất 2 – 3 mét trúng hướng người đối diện không?' }, { id: 8, dom: 'gm', t: 'Bé có bắt gọn được một quả bóng lớn bằng hai bàn tay (mà không cần ôm ghì vào ngực) khi đứng cách bạn 2 mét không?' }, { id: 9, dom: 'gm', t: 'Bé có đứng thăng bằng vững vàng trên một chân trong ít nhất 5 – 8 giây mà không bị nghiêng ngả không?' }, { id: 10, dom: 'gm', t: 'Bé có bước đi nối gót (mũi bàn chân sau chạm sát vào gót bàn chân trước) trên một đường kẻ thẳng dài 4.5 mét không?' }, { id: 11, dom: 'gm', t: 'Bé có nhảy lò cò trên một chân tiến về phía trước được một đoạn dài từ 1.5 đến 2 mét không?' }, { id: 12, dom: 'gm', t: 'Bé có biết nhảy chân sáo (Skipping — bật nhảy luân phiên từng chân nhịp nhàng) không?' }, // Vận động tinh (60m) { id: 13, dom: 'fm', t: 'Bé có tự đồ theo một đường kẻ thẳng trên giấy bằng bút chì mà không bị lệch khỏi đường kẻ quá 2 lần không?' }, { id: 14, dom: 'fm', t: 'Bé có tự vẽ được hình một người có ít nhất 6 bộ phận cơ thể (đầu, thân, hai tay, hai chân, mắt, mũi, miệng) không?' }, { id: 15, dom: 'fm', t: 'Bé có dùng kéo cắt rời một tờ giấy theo đúng đường kẻ thẳng từ mép này sang mép kia mà không bị rách giấy không?' }, { id: 16, dom: 'fm', t: 'Khi nhìn mẫu, bé có tự vẽ sao chép lại được cả 3 hình học: Hình chữ thập (+), Hình vuông (□) và Hình tam giác (△) không?' }, { id: 17, dom: 'fm', t: 'Khi nhìn các chữ cái viết mẫu (như V, H, T, C, A), bé có tự cầm bút chép lại được các chữ cái đó ngay ngắn không?' }, { id: 18, dom: 'fm', t: 'Bé có tự viết được tên của chính mình (hoặc ít nhất 4 chữ cái đầu trong tên) mà không cần nhìn mẫu không?' }, // Giải quyết vấn đề (60m) { id: 19, dom: 'psv', t: 'Khi bạn chỉ vào 5 đồ vật khác kích cỡ và hỏi "Cái nào NHỎ NHẤT?", bé có chỉ đúng ngay không?' }, { id: 20, dom: 'psv', t: 'Khi bạn nói các câu khuyết từ trái nghĩa: "Ban ngày thì sáng, ban đêm thì [tối]", "Con rùa đi chậm, con thỏ chạy [nhanh]", bé có điền đúng từ không?' }, { id: 21, dom: 'psv', t: 'Bé có tự đếm trơn tru từ 1 đến 15 mà không bị nhầm hay bỏ sót số nào không?' }, { id: 22, dom: 'psv', t: 'Khi nhìn vào các thẻ chữ số từ 1 đến 10, bé có đọc đúng tên ít nhất 5 chữ số bất kỳ không?' }, { id: 23, dom: 'psv', t: 'Bé có gọi đúng tên của ít nhất 4 chữ cái trong bảng chữ cái khi bạn chỉ ngẫu nhiên không?' }, { id: 24, dom: 'psv', t: 'Khi xếp 4 đồ vật thành hàng ngang, bé có hiểu và chỉ đúng đâu là "Cái ĐẦU TIÊN", "Cái Ở GIỮA" và "Cái CUỐI CÙNG" không?' }, // Cá nhân - Xã hội (60m) { id: 25, dom: 'psc', t: 'Bé có tự dùng thìa và nĩa/dĩa ăn uống sạch sẽ, lịch sự như người lớn mà không làm vương vãi thức ăn không?' }, { id: 26, dom: 'psc', t: 'Bé có tự rửa tay và mặt bằng xà phòng rồi lau khô hoàn toàn độc lập trước khi ăn không?' }, { id: 27, dom: 'psc', t: 'Bé có trả lời đúng ít nhất 4 thông tin cá nhân: Họ và tên, Tuổi, Địa chỉ nhà/Phường xã, Số điện thoại bố mẹ hoặc Ngày sinh không?' }, { id: 28, dom: 'psc', t: 'Bé có tự mặc và tự cởi quần áo, tự cài cúc áo và kéo khóa quần mà không cần bất kỳ sự trợ giúp nào không?' }, { id: 29, dom: 'psc', t: 'Bé có tự đi vệ sinh hoàn toàn độc lập (tự vào nhà vệ sinh, tự lau chùi sạch sẽ, xả nước và rửa tay) không?' }, { id: 30, dom: 'psc', t: 'Bé có biết luân phiên chờ đến lượt, chia sẻ đồ chơi và tuân thủ luật chơi khi chơi nhóm cùng các bạn đồng trang lứa không?' } ] } }; // 6 Câu hỏi Tổng quát (Overall Red Flags - Phần cuối của mọi phiếu ASQ-3) const overallQuestions = [ { id: 'ov1', t: '1. Bạn có nghi ngờ bé gặp vấn đề về thính lực (nghe kém hoặc gọi tên không quay lại) không?' }, { id: 'ov2', t: '2. Bạn có nghĩ rằng cách bé nói chuyện hoặc phát âm chậm hơn rõ rệt so với các bé cùng tuổi không?' }, { id: 'ov3', t: '3. Bạn có lo lắng rằng bé không hiểu được phần lớn những gì bạn nói với bé không?' }, { id: 'ov4', t: '4. Bạn có nghĩ rằng cách bé đi đứng, chạy nhảy hoặc sử dụng đôi bàn tay bị cứng nhắc, vụng về hoặc lệch hai bên không?' }, { id: 'ov5', t: '5. Bạn có lo lắng về hành vi, giao tiếp ánh mắt hoặc cách bé tương tác xã hội với người xung quanh không?' }, { id: 'ov6', t: '6. Có điều gì khác về sức khỏe, giấc ngủ hoặc sự phát triển của bé khiến bạn cảm thấy bất an không?' } ]; let currentForm = 'm24'; // 'm6' | 'm12' | 'm18' | 'm24' | 'm36' | 'm48' | 'm60' let answersByForm = { m6: {}, m12: {}, m18: {}, m24: {}, m36: {}, m48: {}, m60: {} }; let overallConcerns = {}; // true = Có lo ngại, false = Không lo ngại let filterDom = 'all'; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .aq3-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .aq3-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .aq3-inner { padding: 24px; max-width: 980px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .aq3-wrap.is-fullscreen .aq3-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .aq3-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 0 rgba(37, 99, 235, 0.4); } 70% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 10px rgba(37, 99, 235, 0); } 100% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 0 rgba(37, 99, 235, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #1d4ed8 0%, #2563eb 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Header */ .aq3-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .aq3-header-text { flex: 1 1 260px; } .aq3-title { font-size: 21px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .aq3-desc { font-size: 14px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #eff6ff; color: #1d4ed8; border: 1px solid #bfdbfe; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #2563eb; color: #ffffff; border-color: #2563eb; } /* Bộ chọn Mốc Tháng Tuổi ASQ-3 */ .age-selector-box { background: #f1f5f9; padding: 12px; border-radius: 12px; margin-bottom: 16px; } .age-lbl { font-size: 12px; font-weight: 800; color: #0f172a; text-transform: uppercase; margin-bottom: 8px; display: block; } .age-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 6px; } .age-btn { padding: 8px 6px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 700; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .age-btn:hover { border-color: #2563eb; } .age-btn.active { background: #2563eb; border-color: #2563eb; color: #ffffff; box-shadow: 0 3px 10px rgba(37, 99, 235, 0.25); } /* Controls */ .aq3-presets { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; margin-bottom: 14px; } .aq3-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; touch-action: manipulation; } .aq3-pbtn:hover { background: #f1f5f9; } .aq3-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } .aq3-domain-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 16px; } .aq3-dtab { padding: 6px 12px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .aq3-dtab.active { background: #2563eb; color: #ffffff; border-color: #2563eb; } /* Sticky Dashboard: 5 Lĩnh vực ASQ-3 */ .aq3-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .aq3-wrap.is-fullscreen .aq3-dash { top: 58px; } .aq3-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .aq3-score-big { font-size: 20px; font-weight: 800; line-height: 1.2; } .aq3-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .aq3-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .aq3-pillars { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; font-size: 11.5px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .aq3-pillar-box { background: #1e293b; padding: 7px 9px; border-radius: 8px; border-left: 3px solid #475569; } .aq3-pillar-box.zone-white { border-left-color: #10b981; } .aq3-pillar-box.zone-gray { border-left-color: #f59e0b; background: rgba(245, 158, 11, 0.15); } .aq3-pillar-box.zone-black { border-left-color: #ef4444; background: rgba(239, 68, 68, 0.16); } .aq3-pillar-val { font-weight: 800; color: #ffffff; font-size: 13px; display: block; margin-top: 2px; } /* Danh sách 30 câu hỏi */ .aq3-item { border: 1px solid #e2e8f0; border-radius: 10px; padding: 14px 16px; margin-bottom: 10px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 8px; } .aq3-item.ans-10 { border-color: #a7f3d0; background: #f0fdf4; } .aq3-item.ans-5 { border-color: #fde68a; background: #fffbeb; } .aq3-item.ans-0 { border-color: #fca5a5; background: #fff5f5; } .aq3-item-title { font-size: 14.5px; font-weight: 600; color: #1e293b; } .aq3-tags { display: flex; flex-wrap: wrap; gap: 6px; } .aq3-tag { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .aq3-ans-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; } .aq3-abtn { padding: 8px 8px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 700; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .aq3-abtn:hover { border-color: #64748b; } .aq3-abtn.sel-10 { background: #10b981; border-color: #10b981; color: #ffffff; } .aq3-abtn.sel-5 { background: #f59e0b; border-color: #f59e0b; color: #ffffff; } .aq3-abtn.sel-0 { background: #ef4444; border-color: #ef4444; color: #ffffff; } /* Bảng Tóm tắt Thông tin ASQ-3 (Biểu đồ Vùng Đen - Vùng Xám - Vùng Trắng) */ .aq3-summary-card { margin-top: 20px; padding: 16px 18px; border-radius: 12px; background: #ffffff; border: 1px solid #e2e8f0; overflow-x: auto; } .aq3-sum-table { width: 100%; border-collapse: collapse; font-size: 13px; min-width: 620px; } .aq3-sum-table th, .aq3-sum-table td { border: 1px solid #cbd5e1; padding: 8px 10px; text-align: center; } .aq3-sum-table th { background: #f1f5f9; font-weight: 700; color: #0f172a; } .aq3-result-box { margin-top: 16px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #2563eb; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 740px) { .aq3-inner { padding: 14px; } .aq3-title { font-size: 18px; } .age-grid { grid-template-columns: repeat(3, 1fr); } .aq3-pillars { grid-template-columns: 1fr 1fr; } .aq3-ans-grid { grid-template-columns: 1fr; } .aq3-pbtn.reset { margin-left: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
Bộ Câu Hỏi Sàng Lọc Phát Triển Theo Độ Tuổi & Giai Đoạn ASQ-3 (5 Lĩnh Vực • 1 – 66 Tháng)
Công cụ sàng lọc chuẩn hóa của Đại học Oregon (Squires & Bricker, 2009) trên 5 lĩnh vực (mỗi lĩnh vực 6 câu = 60 điểm): Giao tiếp, Vận động Thô, Vận động Tinh, Giải quyết Vấn đề và Cá nhân – Xã hội. Hệ thống tự động đối chiếu điểm số của bé với Ngưỡng điểm cắt chuẩn (-2 SD) và Vùng giám sát (-1 SD đến -2 SD) của từng độ tuổi.
| Lĩnh vực Phát triển ASQ-3 | Điểm Cắt (-2 SD) | Vùng Giám Sát (-1 đến -2 SD) | Điểm Của Bé (0 – 60đ) | Phân Vùng Kết Quả Lâm Sàng |
|---|
• Bé có ${blackCount} lĩnh vực rơi xuống dưới điểm cắt chuẩn (-2 SD): ${blackNames.join(', ')} ${grayCount > 0 ? `(và ${grayCount} lĩnh vực trong Vùng giám sát: ${grayNames.join(', ')})` : ''}.
• Số cờ đỏ tổng quát (Overall Red Flags): ${redFlagCount}/6 mối lo ngại từ phụ huynh.
• Hướng xử trí chuẩn theo Bộ Y tế & Đại học Oregon:
1. Nếu điểm rơi vào Vùng Đen ở lĩnh vực Giao tiếp (${sums.com}/60đ) và/hoặc Cá nhân – Xã hội (${sums.psc}/60đ) (đặc biệt ở trẻ 16–30 tháng), bắt buộc phải thực hiện thêm bảng sàng lọc tự kỷ M-CHAT-R/F / STAT ngay lập tức.
2. Chuyển gửi trẻ khám chuyên khoa Nhi Phát triển / Tâm bệnh để đánh giá chẩn đoán xác định bằng Bayley-III / KSPD / PEP-3 / ADOS-2 và can thiệp sớm. `; } else if (grayCount > 0 || redFlagCount > 0) { badgeColor = '#f59e0b'; badgeTxt = `VÙNG GIÁM SÁT / CẦN THEO DÕI (${grayCount} Lĩnh vực Xám • ${redFlagCount} Cờ đỏ)`; analysis = ` Kết luận Sàng lọc ASQ-3 (${fCfg.label}) — VÙNG GIÁM SÁT (Monitoring Zone • Từ -1 SD đến -2 SD):
• Bé có ${grayCount} lĩnh vực nằm trong Vùng Xám (Giám sát): ${grayNames.join(', ') || 'Không có'} và ${redFlagCount} mối lo ngại ở phần Câu hỏi Tổng quát.
• Hướng xử trí chuẩn: Hướng dẫn phụ huynh thực hiện các hoạt động trò chơi kích thích phát triển tại nhà tập trung vào các câu đang đạt mức "Thỉnh thoảng (5đ)" hoặc "Chưa (0đ)", sau đó sàng lọc lại bằng ASQ-3 sau 1 đến 2 tháng. Nếu có cờ đỏ về ngôn ngữ/giao tiếp mắt, nên làm thêm M-CHAT-R/F ngay. `; } else { badgeColor = '#10b981'; badgeTxt = 'PHÁT TRIỂN ĐÚNG TIẾN ĐỘ (ON SCHEDULE)'; analysis = ` Kết luận Sàng lọc ASQ-3 (${fCfg.label}) — PHÁT TRIỂN ĐÚNG TIẾN ĐỘ (Tất cả 5/5 Lĩnh vực nằm ở Vùng Trắng):
• Điểm số của bé ở cả 5 lĩnh vực (Giao tiếp: ${sums.com}đ, Vận động Thô: ${sums.gm}đ, Vận động Tinh: ${sums.fm}đ, Giải quyết Vấn đề: ${sums.psv}đ, Cá nhân – Xã hội: ${sums.psc}đ) đều cao hơn ngưỡng giám sát chuẩn.
• Khuyến nghị: Tiếp tục duy trì các hoạt động vui chơi tương tác phong phú theo lứa tuổi và hẹn sàng lọc lại ở mốc tháng tuổi kế tiếp của ASQ-3. `; } scoreBadge.textContent = badgeTxt; scoreBadge.style.background = badgeColor; scoreBadge.style.color = '#ffffff'; resultBox.style.borderLeftColor = badgeColor; resultBox.innerHTML = analysis; updateFloatingFabVisibility(); } function applyPresetToForm(formKey, type) { const fCfg = ageForms[formKey]; const curAns = {}; overallConcerns = {}; if (type === 'reset') { fCfg.items.forEach(it => { curAns[it.id] = 0; }); } else if (type === 'typical') { // Đúng tiến độ (50 - 60 điểm mỗi lĩnh vực) fCfg.items.forEach((it, idx) => { curAns[it.id] = (idx % 6 === 5) ? 5 : 10; }); } else if (type === 'monitor') { // Vùng giám sát (35 điểm ở Giao tiếp & Giải quyết vấn đề) fCfg.items.forEach((it, idx) => { const pos = idx % 6; if (it.dom === 'com' || it.dom === 'psv') { curAns[it.id] = (pos < 2) ? 10 : ((pos < 5) ? 5 : 0); // 35đ } else { curAns[it.id] = (pos { const pos = idx % 6; if (it.dom === 'com') { curAns[it.id] = (pos === 0) ? 10 : ((pos === 1) ? 5 : 0); // 15đ (Vùng Đen) } else if (it.dom === 'psc') { curAns[it.id] = (pos <= 1) ? 10 : 0; // 20đ (Vùng Đen) } else if (it.dom === 'psv') { curAns[it.id] = (pos <= 2) ? 10 : ((pos === 3) ? 5 : 0); // 35đ (Vùng Xám) } else { curAns[it.id] = (pos < 5) ? 10 : 0; // 50đ (Vùng Trắng) } }); overallConcerns['ov2'] = true; overallConcerns['ov5'] = true; } answersByForm[formKey] = curAns; } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); aq3Wrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { aq3Wrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 980px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } shadow.querySelectorAll('#ageGrid .age-btn').forEach(function(btn) { btn.onclick = function() { currentForm = this.getAttribute('data-form'); shadow.querySelectorAll('#ageGrid .age-btn').forEach(b => b.classList.remove('active')); this.classList.add('active'); renderItems(); updateSummary(); }; }); shadow.querySelectorAll('.aq3-pbtn').forEach(function(btn) { btn.onclick = function() { const pType = this.getAttribute('data-preset'); applyPresetToForm(currentForm, pType); renderItems(); updateSummary(); }; }); shadow.querySelectorAll('#domainTabs .aq3-dtab').forEach(function(tab) { tab.onclick = function() { filterDom = this.getAttribute('data-dom'); shadow.querySelectorAll('#domainTabs .aq3-dtab').forEach(t => t.classList.remove('active')); this.classList.add('active'); renderItems(); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); // Khởi tạo sẵn dữ liệu mẫu cho cả 7 mốc tuổi để chuyển tab xem được ngay ['m6', 'm12', 'm18', 'm24', 'm36', 'm48', 'm60'].forEach(fKey => { applyPresetToForm(fKey, 'asd_delay'); }); renderItems(); updateSummary(); })();
ASQ-3 (Ages & Stages Questionnaires, Third Edition — Bộ Câu hỏi Sàng lọc Phát triển Theo Độ tuổi và Giai đoạn, Phiên bản 3) là công cụ sàng lọc phát triển sớm do phụ huynh tự thực hiện phổ biến nhất thế giới hiện nay (và được Bộ Y tế Việt Nam cũng như Tổ chức Y tế Thế giới WHO khuyến nghị sử dụng rộng rãi). Công cụ do Giáo sư Jane Squiresvà Diane Bricker tại Đại học Oregon (Hoa Kỳ) phát triển (xuất bản bản thứ 3 năm 2009 bởi Brookes Publishing).
Nếu như Denver II hay Bayley-III đòi hỏi chuyên gia trực tiếp thực hiện tại phòng khám, thì ASQ-3 tận dụng chính nguồn dữ liệu quý giá nhất là sự quan sát hàng ngày của cha mẹ tại nhà để phát hiện sớm nguy cơ chậm phát triển trên cả 5 lĩnh vực chỉ trong 10 – 15 phút.
1. Tóm tắt cốt lõi về cấu trúc & Hệ thống tính điểm của ASQ-3
-
Độ tuổi áp dụng: Trẻ từ 1 tháng đến 66 tháng tuổi (5.5 tuổi), được chia thành 21 bộ câu hỏi theo từng mốc tháng tuổi (2, 4, 6, 8, 9, 10, 12, 14, 16, 18, 20, 22, 24, 27, 30, 33, 36, 42, 48, 54 và 60 tháng).
-
Cấu trúc 5 Lĩnh vực Phát triển (30 câu hỏi / mỗi độ tuổi): Mỗi bộ câu hỏi ở từng mốc tuổi đều bao gồm đúng 30 câu hỏi chia đều cho 5 lĩnh vực (mỗi lĩnh vực 6 câu), cộng thêm phần Câu hỏi Tổng quát (Overall — không tính điểm nhưng dùng để cảnh báo các dấu hiệu đỏ lâm sàng):
| Lĩnh vực đánh giá (Domain) | Số câu hỏi | Nội dung đánh giá trọng tâm | Điểm tối đa |
| 1. Giao tiếp(Communication) | 6 câu | Bập bẹ, quay đầu khi gọi tên, chỉ trỏ, hiểu mệnh lệnh, vốn từ đơn, nói cụm từ/câu và trả lời câu hỏi. | 60 điểm |
| 2. Vận động Thô(Gross Motor) | 6 câu | Kiểm soát đầu cổ, lẫy, ngồi, bò, đứng, đi, chạy, leo cầu thang, nhảy tại chỗ, đứng 1 chân, bắt/đá bóng. | 60 điểm |
| 3. Vận động Tinh(Fine Motor) | 6 câu | Phối hợp tay – mắt, cầm nắm hạt nhỏ (kẹp chì), lật trang sách, xếp khối gỗ, xâu hạt, cầm bút vẽ hình và cắt kéo. | 60 điểm |
| 4. Giải quyết Vấn đề(Problem Solving) | 6 câu | Tư duy nhận thức sớm: tìm đồ chơi bị giấu, nhìn trong gương, thả hình vào khuôn, chơi giả vờ, phân loại và đếm số. | 60 điểm |
| 5. Cá nhân – Xã hội(Personal-Social) | 6 câu | Giao tiếp mắt, mỉm cười, tự uống cốc/xúc thìa, tự cởi/mặc quần áo, rửa tay, đi vệ sinh và chơi luân phiên với bạn. | 60 điểm |
2. Quy tắc Chấm điểm (10 – 5 – 0) & Phân vùng Theo Độ lệch chuẩn (SD)
-
Thang điểm cho từng câu hỏi:
-
CÓ(Yes = 10 điểm): Trẻ đã thực hiện được kỹ năng đó thường xuyên, thành thạo. -
THỈNH THOẢNG(Sometimes = 5 điểm): Trẻ mới bắt đầu làm được đôi lúc hoặc mới chớm hình thành. -
CHƯA(Not Yet = 0 điểm): Trẻ chưa từng thực hiện được kỹ năng đó.
-
-
Tổng điểm mỗi lĩnh vực: Từ 0 đến 60 điểm (Mỗi lĩnh vực có 6 câu ×10 điểm=60 điểm).
-
3 Vùng Phân loại Chuẩn của ASQ-3 (Đối chiếu theo Điểm cắt – Cut-off Score tại từng độ tuổi):
-
🟢 Vùng Trắng — Phát triển Đúng tiến độ (Above Cut-off / On Schedule — Trên mốc ):Điểm số cao hơn ngưỡng giám sát. Trẻ phát triển bình thường theo tuổi.
-
🟡 Vùng Xám — Vùng Giám sát / Cần theo dõi (Monitoring Zone — Từ đến ): Điểm nằm sát ngưỡng cắt. Cần cung cấp các bài tập kích thích phát triển tại nhà và sàng lọc lại sau 1–2 tháng.
-
🔴 Vùng Đen — Dưới Điểm cắt / Nguy cơ Chậm phát triển (Below Cut-off — Dưới ):Điểm số rơi xuống dưới ngưỡng cắt chuẩn (chỉ gặp ở ~2.3% dân số). Cần chuyển gửi khám chuyên khoa ngay (kết hợp sàng lọc tự kỷ M-CHAT-R/F nếu rơi vào lĩnh vực Giao tiếp & Cá nhân – Xã hội, hoặc đánh giá chuyên sâu bằng Bayley-III / KSPD / PEP-3).
-
[Phát triển chung] PEDS: Thang sàng lọc tình trạng phát triển của trẻ từ 0 – 8 tuổi do cha mẹ thực hiện
(function() { const host = document.getElementById('peds-wp-host'); if (!host) return; const placeholder = document.createComment('peds-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // 10 Câu hỏi chuẩn của PEDS (Frances Page Glascoe) kèm quy tắc tuổi để tính là Predictive Concern (Mối lo ngại Dự báo cao) // minPredAge: Tháng tuổi tối thiểu mà nếu có lo ngại ở câu đó sẽ được tính là Predictive (0 = Mọi lứa tuổi đều là Predictive; 999 = Luôn là Non-predictive) const pedsQuestions = [ { id: 1, code: 'GLO', domain: '1. Nhận thức chung & Phát triển Tổng thể (Global / Cognitive)', minPredAge: 0, // Mọi lứa tuổi đều là Predictive q: 'Câu 1. Anh/chị có lo lắng rằng con chậm hiểu, nhận thức chậm hơn các bạn cùng tuổi hoặc có điều gì bất thường chung về sự phát triển của con không?', examples: 'Các dấu hiệu thường gặp: Trẻ chậm chạp trong việc học kỹ năng mới, có vẻ ngây ngô hơn tuổi, mất các kỹ năng từng làm được hoặc chậm toàn diện.' }, { id: 2, code: 'EL', domain: '2. Ngôn ngữ Diễn đạt & Phát âm (Expressive Language & Articulation)', minPredAge: 0, // Mọi lứa tuổi đều là Predictive q: 'Câu 2. Anh/chị có bất kỳ lo lắng nào về cách con nói chuyện và phát âm không?', examples: 'Các dấu hiệu thường gặp: Chậm bập bẹ, chậm nói từ đơn/cụm từ, vốn từ ít, chỉ kéo tay người lớn thay vì nói, nhại lời máy móc hoặc phát âm rất khó nghe.' }, { id: 3, code: 'RL', domain: '3. Ngôn ngữ Tiếp nhận / Nghe hiểu (Receptive Language)', minPredAge: 18, // Từ 18 tháng trở lên tính là Predictive q: 'Câu 3. Anh/chị có bất kỳ lo lắng nào về việc con hiểu những gì anh/chị nói với con không?', examples: 'Các dấu hiệu thường gặp: Gọi tên nhiều lần không quay lại, không hiểu các yêu cầu đơn giản khi không có cử chỉ chỉ tay, hoặc trả lời lạc đề.' }, { id: 4, code: 'FM', domain: '4. Sử dụng bàn tay và ngón tay - Vận động Tinh (Fine Motor)', minPredAge: 54, // Từ 4.5 tuổi (54 tháng) trở lên tính là Predictive q: 'Câu 4. Anh/chị có bất kỳ lo lắng nào về cách con sử dụng đôi bàn tay và các ngón tay để làm các việc nhỏ không?', examples: 'Các dấu hiệu thường gặp: Khó cầm nắm đồ vật nhỏ, rơi đổ thức ăn nhiều khi xúc thìa, lóng ngóng khi xếp hình, cầm bút vẽ hoặc dùng kéo.' }, { id: 5, code: 'GM', domain: '5. Sử dụng tay chân vận động - Vận động Thô (Gross Motor)', minPredAge: 36, // Từ 3 tuổi (36 tháng) trở lên tính là Predictive q: 'Câu 5. Anh/chị có bất kỳ lo lắng nào về cách con sử dụng tay và chân để lẫy, bò, đi, chạy hoặc leo trèo không?', examples: 'Các dấu hiệu thường gặp: Chậm biết ngồi/đi, dáng đi loạng choạng dễ vấp ngã, đi nhón gót liên tục, hoặc khó khăn khi leo cầu thang, chạy nhảy.' }, { id: 6, code: 'BEH', domain: '6. Hành vi ứng xử & Tự điều chỉnh (Behavior)', minPredAge: 999, // Phân vào Non-predictive (Định tuyến sang Path C nếu không có Predictive) q: 'Câu 6. Anh/chị có bất kỳ lo lắng nào về hành vi ứng xử của con không?', examples: 'Các dấu hiệu thường gặp: Hay ăn vạ khóc thét kéo dài, tăng động chạy nhảy không ngừng, bướng bỉnh chống đối, hoặc có cử động lặp lại (vẫy tay, xoay đồ vật).' }, { id: 7, code: 'SE', domain: '7. Quan hệ xã hội & Cảm xúc (Social-Emotional)', minPredAge: 999, // Phân vào Non-predictive / Cảnh báo Tự kỷ & Cảm xúc q: 'Câu 7. Anh/chị có bất kỳ lo lắng nào về việc con hòa đồng với những người khác (giao tiếp mắt, kết bạn, chia sẻ cảm xúc) không?', examples: 'Các dấu hiệu thường gặp: Ít nhìn mắt, thích chơi một mình tách biệt, không biết khoe đồ chơi (chú ý chung), quá nhút nhát hoặc dễ lo âu căng thẳng.' }, { id: 8, code: 'SH', domain: '8. Kỹ năng Tự phục vụ cá nhân (Self-Help)', minPredAge: 999, // Phân vào Non-predictive q: 'Câu 8. Anh/chị có bất kỳ lo lắng nào về việc con học cách tự làm mọi việc cho bản thân (ăn uống, mặc đồ, đi vệ sinh) không?', examples: 'Các dấu hiệu thường gặp: Chưa tự cầm cốc/xúc ăn theo tuổi, chưa biết phối hợp mặc quần áo, rửa tay hoặc chậm kiểm soát việc đi vệ sinh.' }, { id: 9, code: 'SCH', domain: '9. Kỹ năng Tiền học đường & Học tập ở trường (School / Pre-academic)', minPredAge: 54, // Từ 4.5 tuổi (54 tháng) trở lên tính là Predictive q: 'Câu 9. Anh/chị có bất kỳ lo lắng nào về việc con học các khái niệm ở lớp mầm non hoặc kỹ năng học tập ở trường không?', examples: 'Các dấu hiệu thường gặp: Khó nhớ màu sắc, hình khối, con số, chữ cái; khó ngồi yên chú ý nghe cô giáo giảng hoặc chậm tiếp thu bài trên lớp.' }, { id: 10, code: 'MED', domain: '10. Thính lực, Thị lực, Sức khỏe & Y khoa (Medical / Sensory / Health)', minPredAge: 0, // Mọi lo ngại về thính lực/thị lực/sức khỏe thần kinh đều cần lưu ý đặc biệt q: 'Câu 10. Anh/chị có lo lắng gì về thính lực (nghe), thị lực (nhìn), giấc ngủ, việc ăn uống hoặc sức khỏe thể chất của con không?', examples: 'Các dấu hiệu thường gặp: Nghi ngờ nghe kém, nhạy cảm tiếng ồn (bịt tai), nhìn nghiêng/lác mắt, kén ăn cực đoan, rối loạn giấc ngủ hoặc co giật.' } ]; // Các mốc kỹ năng kiểm tra nhanh PEDS:DM (Developmental Milestones) theo từng nhóm tuổi để bổ trợ quyết định ở Path B / Path C const pedsDmByAge = { '6': 'Mốc PEDS:DM 6 tháng: Biết lẫy 2 chiều, chống tay nâng ngực cao, với tay nắm đồ chơi, quay đầu tìm tiếng gọi và cười thành tiếng.', '12': 'Mốc PEDS:DM 12 tháng: Đứng vịn/chập chững đi, nhặt vật nhỏ bằng ngón cái-trỏ, biết chỉ tay xin đồ, vẫy tay chào và nói 1–3 từ đơn.', '18': 'Mốc PEDS:DM 18 tháng: Đi vững, tự xúc thìa, xếp tháp 3 khối gỗ, chỉ đúng bộ phận cơ thể, nói ≥ 8–10 từ đơn và biết khoe đồ vật (chú ý chung).', '24': 'Mốc PEDS:DM 24 tháng (2 tuổi): Đá bóng, chạy vững, nói câu ngắn 2–3 từ, chỉ đúng tranh đồ vật khi gọi tên và biết chơi giả vờ chăm sóc búp bê.', '36': 'Mốc PEDS:DM 36 tháng (3 tuổi): Bước lên cầu thang luân phiên, vẽ hình tròn, nói câu 3–4 từ rõ ràng, trả lời được họ tên/giới tính và chơi cùng bạn.', '48': 'Mốc PEDS:DM 48 tháng (4 tuổi): Nhảy lò cò 1 chân, cắt giấy bằng kéo, vẽ hình chữ thập/hình vuông, kể lại chuyện ngắn và tự mặc quần áo.', '60': 'Mốc PEDS:DM 60 tháng (5 tuổi): Đứng 1 chân > 5 giây, viết được một số chữ cái/con số, đếm đến 10–15, hiểu từ trái nghĩa và tuân thủ luật chơi nhóm.', '72': 'Mốc PEDS:DM 72–95 tháng (6–8 tuổi): Đọc đánh vần từ/câu ngắn, cộng trừ phạm vi 10, viết chữ ngay ngắn, tự lập hoàn toàn sinh hoạt và kết bạn tốt.' }; // answers[id] lưu: 'NO' (Không lo ngại = 0), 'LITTLE' (Lo ngại một chút = 1), 'YES' (Có lo ngại rõ rệt = 2) let answers = {}; let childAgeMonths = 24; let hasCommBarrier = false; // Path D: Rào cản giao tiếp với người trả lời let dmPassStatus = 'pass'; // 'pass' (Đạt mốc PEDS:DM) | 'fail' (Chưa đạt mốc PEDS:DM) let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .pd-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .pd-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .pd-inner { padding: 24px; max-width: 980px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .pd-wrap.is-fullscreen .pd-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .pd-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(124, 58, 237, 0.45), 0 0 0 0 rgba(124, 58, 237, 0.4); } 70% { box-shadow: 0 6px 20px rgba(124, 58, 237, 0.45), 0 0 0 10px rgba(124, 58, 237, 0); } 100% { box-shadow: 0 6px 20px rgba(124, 58, 237, 0.45), 0 0 0 0 rgba(124, 58, 237, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #6d28d9 0%, #7c3aed 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(124, 58, 237, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Header */ .pd-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .pd-header-text { flex: 1 1 260px; } .pd-title { font-size: 21px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .pd-desc { font-size: 14px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #f5f3ff; color: #6d28d9; border: 1px solid #ddd6fe; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #7c3aed; color: #ffffff; border-color: #7c3aed; } /* Top Panel: Chọn Tuổi & PEDS:DM */ .pd-top-panel { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; background: #f8fafc; border: 1px solid #cbd5e1; border-radius: 12px; padding: 14px; margin-bottom: 14px; } .pd-lbl { font-size: 12px; font-weight: 800; color: #0f172a; text-transform: uppercase; display: block; margin-bottom: 5px; } .pd-select { width: 100%; padding: 8px 10px; border: 1px solid #94a3b8; border-radius: 7px; font-size: 13.5px; font-weight: 700; color: #0f172a; background: #ffffff; } .pd-dm-banner { grid-column: 1 / -1; background: #ffffff; border: 1px dashed #c4b5fd; border-left: 4px solid #7c3aed; padding: 10px 12px; border-radius: 8px; font-size: 13px; color: #334155; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 10px; } /* Presets */ .pd-presets { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; margin-bottom: 16px; } .pd-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; touch-action: manipulation; } .pd-pbtn:hover { background: #f1f5f9; } .pd-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } /* Sticky Dashboard */ .pd-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .pd-wrap.is-fullscreen .pd-dash { top: 58px; } .pd-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .pd-score-big { font-size: 21px; font-weight: 800; line-height: 1.2; } .pd-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .pd-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .pd-pillars { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; font-size: 12px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .pd-pillar-box { background: #1e293b; padding: 8px 10px; border-radius: 8px; border-left: 3px solid #475569; } .pd-pillar-val { font-weight: 800; color: #ffffff; font-size: 13.5px; display: block; margin-top: 2px; } /* Danh sách 10 câu hỏi PEDS */ .pd-item { border: 1px solid #e2e8f0; border-radius: 12px; padding: 14px 16px; margin-bottom: 12px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 8px; } .pd-item.pred-concern { border-color: #fca5a5; background: #fff5f5; border-left: 5px solid #ef4444; } .pd-item.nonpred-concern { border-color: #fde68a; background: #fffbeb; border-left: 5px solid #f59e0b; } .pd-item.no-concern { border-color: #a7f3d0; background: #f0fdf4; } .pd-item-title { font-size: 15px; font-weight: 800; color: #0f172a; } .pd-item-ex { font-size: 13px; color: #475569; background: rgba(15, 23, 42, 0.03); padding: 6px 10px; border-radius: 6px; } .pd-tags { display: flex; flex-wrap: wrap; gap: 6px; } .pd-tag { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .pd-tag.tag-pred { background: #fee2e2; color: #b91c1c; } .pd-tag.tag-non { background: #fef3c7; color: #b45309; } .pd-ans-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 2px; } .pd-abtn { padding: 8px 8px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 700; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .pd-abtn:hover { border-color: #64748b; } .pd-abtn.sel-NO { background: #10b981; border-color: #10b981; color: #ffffff; } .pd-abtn.sel-LITTLE { background: #f59e0b; border-color: #f59e0b; color: #ffffff; } .pd-abtn.sel-YES { background: #ef4444; border-color: #ef4444; color: #ffffff; } /* Bảng 5 Lộ trình Xử trí Lâm sàng PEDS (Paths A - E) */ .pd-paths-card { margin-top: 20px; padding: 16px 18px; border-radius: 12px; background: #ffffff; border: 1px solid #e2e8f0; overflow-x: auto; } .pd-table { width: 100%; border-collapse: collapse; font-size: 13px; min-width: 640px; } .pd-table th, .pd-table td { border: 1px solid #cbd5e1; padding: 9px 12px; text-align: left; } .pd-table th { background: #f1f5f9; font-weight: 800; color: #0f172a; } .pd-table tr.active-path { background: #fef3c7; border: 2px solid #d97706; } .pd-result-box { margin-top: 16px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #7c3aed; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 740px) { .pd-inner { padding: 14px; } .pd-title { font-size: 18px; } .pd-top-panel { grid-template-columns: 1fr; } .pd-pillars { grid-template-columns: 1fr 1fr; } .pd-ans-grid { grid-template-columns: 1fr; } .pd-pbtn.reset { margin-left: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
Thang Đánh Giá Tình Trạng Phát Triển Của Trẻ Do Cha Mẹ Thực Hiện PEDS & PEDS:DM (0 – 8 Tuổi)
Công cụ sàng lọc chuẩn hóa của Giáo sư Frances Page Glascoe phân tích 10 nhóm mối lo ngại của phụ huynh theo độ tuổi để tách biệt giữa Mối lo ngại Dự báo Nguy cơ Cao (Predictive Concerns) và Mối lo ngại Ít dự báo (Non-predictive Concerns), từ đó định tuyến tự động vào 5 Lộ trình Xử trí Lâm sàng (Path A, B, C, D, E).
| Lộ trình PEDS | Tiêu chuẩn Phân luồng | Hướng xử trí Lâm sàng Chuẩn theo Viện Hàn lâm Nhi khoa Hoa Kỳ (AAP) |
|---|---|---|
| 🔴 Lộ trình A (Path A) Nguy cơ Cao (High Risk) |
Có ≥ 2 mối lo ngại Dự báo cao (Predictive Concerns) | Chuyển gửi đánh giá chuyên sâu ngay lập tức: Phối hợp khám Chuyên khoa Nhi Phát triển, Ngôn ngữ trị liệu, Tâm lý lâm sàng (làm thêm M-CHAT-R/F hoặc ADOS-2 nếu có lo ngại giao tiếp/xã hội; làm Bayley-III / KSPD / PEP-3 để lập kế hoạch can thiệp sớm). |
| 🟠 Lộ trình B (Path B) Nguy cơ Trung bình |
Có đúng 1 mối lo ngại Dự báo cao (1 Predictive Concern) | Thực hiện Sàng lọc Thứ cấp (Second-stage Screening): Kiểm tra ngay các mốc kỹ năng PEDS:DM hoặc cho làm thêm ASQ-3 / M-CHAT-R/F. Nếu trẻ Không đạt sàng lọc thứ cấp → Chuyển gửi can thiệp như Path A. Nếu Đạt → Hướng dẫn kích thích tại nhà và hẹn theo dõi sát. |
| 🟡 Lộ trình C (Path C) Nguy cơ Hành vi / Cảm xúc |
0 lo ngại Dự báo, nhưng có ≥ 1 lo ngại Không dự báo (Hành vi, Cảm xúc, Tự phục vụ...) | Sàng lọc Hành vi – Cảm xúc & Tư vấn Phụ huynh: Ở trẻ 16–30 tháng cần sàng lọc tự kỷ bằng M-CHAT-R/F; ở trẻ lớn hơn sàng lọc hành vi bằng PSC / Vanderbilt. Tư vấn chiến lược quản lý hành vi tích cực cho cha mẹ và theo dõi lại sau 4–6 tuần. |
| 🟣 Lộ trình D (Path D) Rào cản Giao tiếp |
Cha mẹ khó giao tiếp hoặc người đi cùng không nắm rõ tình trạng trẻ | Đánh giá Trực tiếp trên Trẻ: Không thể dựa vào bảng hỏi PEDS đơn thuần; cần sử dụng công cụ kiểm tra trực tiếp kỹ năng của trẻ tại phòng khám (như PEDS:DM, Denver II, KSPD hoặc STAT). |
| 🟢 Lộ trình E (Path E) Nguy cơ Thấp (Low Risk) |
Không có mối lo ngại nào (0 Predictive & 0 Non-predictive) | Theo dõi Định kỳ Thường quy: Trấn an phụ huynh, khen ngợi sự phát triển tốt của trẻ (nếu trẻ đồng thời đạt mốc PEDS:DM) và hẹn sàng lọc lại ở lần khám sức khỏe định kỳ kế tiếp. |
• Khi người đi cùng không trực tiếp chăm sóc trẻ hoặc gặp khó khăn khi diễn đạt mối lo ngại, PEDS quy định chuyển sang Path D.
• Hướng xử trí: Thực hiện đánh giá trực tiếp trên trẻ bằng PEDS:DM, Denver II hoặc KSPD / Bayley-III. `; } else if (predCount >= 2) { activePath = 'A'; rowPathA.className = 'active-path'; badgeColor = '#dc2626'; badgeTxt = `PATH A • NGUY CƠ CAO (${predCount} Lo ngại Dự báo)`; valPath.textContent = 'Path A (Chuyển gửi ngay)'; dashHeadline.textContent = `Lộ Trình Quyết Định PEDS: Path A — Nguy Cơ Cao (${predCount} Mối lo ngại Dự báo)`; analysis = ` Kết luận PEDS tại mốc ${childAgeMonths} tháng — LỘ TRÌNH A (Path A • Nguy cơ Chậm phát triển / Rối loạn Phổ Tự kỷ CAO):
• Ghi nhận ${predCount} mối lo ngại Dự báo cao (Predictive Concerns): ${predList.join(', ')} ${nonPredCount > 0 ? `kèm theo ${nonPredCount} mối lo ngại khác (${nonPredList.join(', ')})` : ''}.
• Hướng xử trí chuẩn theo PEDS:
1. Chuyển gửi đánh giá chuyên sâu ngay lập tức (Can thiệp sớm, Ngôn ngữ trị liệu, Tâm lý – Giáo dục đặc biệt).
2. Nếu có kèm lo ngại ở Câu 2 (Ngôn ngữ diễn đạt), Câu 3 (Nghe hiểu) hoặc Câu 7 (Quan hệ xã hội), cần thực hiện ngay sàng lọc tự kỷ chuyên biệt (M-CHAT-R/F, STAT, SCQ) và đánh giá chẩn đoán bằng ADOS-2 / CARS-2 / DSM-5-TR. `; } else if (predCount === 1) { activePath = 'B'; rowPathB.className = 'active-path'; badgeColor = '#ea580c'; badgeTxt = 'PATH B • NGUY CƠ TRUNG BÌNH (1 Lo ngại Dự báo)'; valPath.textContent = 'Path B (Sàng lọc thứ cấp)'; dashHeadline.textContent = 'Lộ Trình Quyết Định PEDS: Path B — Cần Sàng Lọc Thứ Cấp (ASQ-3 / PEDS:DM)'; analysis = ` Kết luận PEDS tại mốc ${childAgeMonths} tháng — LỘ TRÌNH B (Path B • Nguy cơ Trung bình – Cao):
• Ghi nhận đúng 1 mối lo ngại Dự báo cao (Predictive Concern) tại: ${predList.join(', ')} ${nonPredCount > 0 ? `(và ${nonPredCount} mối lo ngại ít dự báo: ${nonPredList.join(', ')})` : ''}.
• Kết hợp kết quả Mốc kỹ năng PEDS:DM hiện tại (${dmPassStatus === 'pass' ? 'Trẻ ĐẠT mốc PEDS:DM' : 'Trẻ CHƯA ĐẠT mốc PEDS:DM'}):
${dmPassStatus === 'fail' ? '👉 Vì trẻ CHƯA ĐẠT mốc kỹ năng PEDS:DM kèm 1 mối lo ngại dự báo, trẻ cần được chuyển gửi đánh giá chuyên sâu ngay như Path A (làm thêm ASQ-3 / M-CHAT-R/F / KSPD).' : '👉 Trẻ hiện đạt mốc PEDS:DM cơ bản, khuyến nghị thực hiện thêm bảng ASQ-3 (hoặc M-CHAT-R/F nếu trẻ 16–30 tháng), hướng dẫn cha mẹ kích thích phát triển tại nhà và hẹn tái khám sau 4–6 tuần.'} `; } else if (nonPredCount >= 1) { activePath = 'C'; rowPathC.className = 'active-path'; badgeColor = '#d97706'; badgeTxt = `PATH C • LƯU Ý HÀNH VI / XÃ HỘI (${nonPredCount} mục)`; valPath.textContent = 'Path C (Tư vấn & Sàng lọc HV)'; dashHeadline.textContent = 'Lộ Trình Quyết Định PEDS: Path C — Lưu Ý Hành Vi, Cảm Xúc & Xã Hội'; analysis = ` Kết luận PEDS tại mốc ${childAgeMonths} tháng — LỘ TRÌNH C (Path C • Nguy cơ về Hành vi / Cảm xúc – Xã hội):
• Không có mối lo ngại dự báo chậm phát triển trí tuệ/ngôn ngữ, nhưng phụ huynh có ${nonPredCount} mối lo ngại ở nhóm Không dự báo: ${nonPredList.join(', ')}.
• Hướng xử trí chuẩn: Tư vấn chiến lược hướng dẫn hành vi tích cực cho phụ huynh. Nếu phụ huynh lo lắng về Giao tiếp xã hội (Câu 7) hoặc Hành vi (Câu 6), cần làm thêm sàng lọc tự kỷ (M-CHAT-R/F / CAST / ASSQ) hoặc sàng lọc ADHD (Vanderbilt) để không bỏ sót tự kỷ chức năng cao. `; } else { activePath = 'E'; rowPathE.className = 'active-path'; badgeColor = (dmPassStatus === 'pass') ? '#10b981' : '#f59e0b'; badgeTxt = (dmPassStatus === 'pass') ? 'PATH E • NGUY CƠ THẤP (BÌNH THƯỜNG)' : 'PATH E (NHƯNG CHƯA ĐẠT PEDS:DM)'; valPath.textContent = 'Path E (Theo dõi định kỳ)'; dashHeadline.textContent = 'Lộ Trình Quyết Định PEDS: Path E — Nguy Cơ Thấp (Không có mối lo ngại)'; analysis = ` Kết luận PEDS tại mốc ${childAgeMonths} tháng — LỘ TRÌNH E (Path E • Nguy cơ Thấp):
• Phụ huynh không có bất kỳ mối lo ngại nào ở cả 10 lĩnh vực phát triển và hành vi.
• ${dmPassStatus === 'pass' ? 'Trẻ đồng thời ĐẠT các mốc kỹ năng PEDS:DM tương ứng với lứa tuổi. Trấn an, khen ngợi cha mẹ và hẹn theo dõi định kỳ ở mốc tuổi tiếp theo.' : '⚠️ Lưu ý từ PEDS:DM: Dù phụ huynh không bày tỏ lo lắng trên PEDS, nhưng trẻ chưa đạt mốc kỹ năng PEDS:DM của lứa tuổi. Cần cho phụ huynh làm thêm bảng ASQ-3 để kiểm tra khách quan.'} `; } dashSub.textContent = `Tại mốc ${childAgeMonths} tháng tuổi: ${predCount} Lo ngại Dự báo cao (Predictive) • ${nonPredCount} Lo ngại Ít dự báo (Non-predictive)`; scoreBadge.textContent = badgeTxt; scoreBadge.style.background = badgeColor; scoreBadge.style.color = '#ffffff'; resultBox.style.borderLeftColor = badgeColor; resultBox.innerHTML = analysis; updateFloatingFabVisibility(); } function applyPreset(type) { answers = {}; pedsQuestions.forEach(q => { answers[q.id] = 'NO'; }); hasCommBarrier = false; selBarrier.value = 'no'; dmPassStatus = 'pass'; if (type === 'reset' || type === 'pathE') { renderDmBanner(); renderQuestions(); updateSummary(); return; } if (type === 'pathA') { // >= 2 mối lo ngại Dự báo cao (Câu 2 Ngôn ngữ diễn đạt, Câu 3 Nghe hiểu, Câu 7 Xã hội) answers[2] = 'YES'; answers[3] = 'YES'; answers[7] = 'YES'; dmPassStatus = 'fail'; } else if (type === 'pathB') { // Đúng 1 mối lo ngại Dự báo cao (Câu 2 Ngôn ngữ diễn đạt) answers[2] = 'LITTLE'; dmPassStatus = 'pass'; } else if (type === 'pathC') { // Chỉ lo ngại Hành vi (Câu 6) và Tự phục vụ (Câu 8) -> Non-predictive -> Path C answers[6] = 'YES'; answers[8] = 'LITTLE'; dmPassStatus = 'pass'; } renderDmBanner(); renderQuestions(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); pdWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { pdWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 980px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } selChildAge.onchange = function() { childAgeMonths = parseInt(this.value, 10) || 24; renderDmBanner(); renderQuestions(); updateSummary(); }; selBarrier.onchange = function() { hasCommBarrier = (this.value === 'yes'); updateSummary(); }; btnDmPass.onclick = () => { dmPassStatus = 'pass'; renderDmBanner(); updateSummary(); }; btnDmFail.onclick = () => { dmPassStatus = 'fail'; renderDmBanner(); updateSummary(); }; shadow.querySelectorAll('.pd-pbtn[data-preset]').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-preset')); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); applyPreset('pathA'); })();
PEDS (Parents’ Evaluation of Developmental Status): Bộ câu hỏi sàng lọc phát triển dựa trên mối bận tâm của cha mẹ (dành cho trẻ 0 – 8 tuổi). Cùng với ASQ-3 và M-CHAT-R/F, đây là bộ công cụ được Bộ Y tế Việt Nam và Viện Hàn lâm Nhi khoa Hoa Kỳ (AAP) khuyến cáo sử dụng rộng rãi nhất.
Công cụ được phát triển bởi Giáo sư Frances Page Glascoe (Đại học Vanderbilt, Hoa Kỳ — xuất bản năm 1997, cập nhật hệ thống PEDS-R và kết hợp cùng PEDS:DM).
1. Điểm khác biệt độc đáo của PEDS so với ASQ-3 và Denver II
Nếu như ASQ-3 hay Denver II hỏi cha mẹ xem “Trẻ đã làm được kỹ năng X chưa?”, thì PEDS đi theo hướng ngược lại nhưng cực kỳ nhạy bén: khai thác trực tiếp Những mối lo ngại của cha mẹ (Parental Concerns) qua 10 câu hỏi(chỉ mất 2 – 5 phút), sau đó phân loại mối lo ngại đó thuộc nhóm Có giá trị dự báo nguy cơ cao (Predictive Concerns)hay Ít có giá trị dự báo (Non-predictive Concerns) dựa trên độ tuổi cụ thể của trẻ.
-
Độ tuổi áp dụng: Từ sơ sinh (0 tháng) đến 8 tuổi (95 tháng / 7 tuổi 11 tháng).
-
Cấu trúc 10 câu hỏi chuẩn của PEDS (Response Form):
-
Câu 1 (Mở đầu): “Anh/chị có bất kỳ lo lắng nào về cách học tập, sự phát triển hoặc hành vi của con không?”
-
Câu 2 – 9 (8 Lĩnh vực cốt lõi): Hỏi cụ thể mối lo ngại về:
-
Ngôn ngữ Diễn đạt & Phát âm (Expressive Language and Articulation –
EL) -
Ngôn ngữ Tiếp nhận / Nghe hiểu (Receptive Language –
RL) -
Vận động Tinh (Fine Motor –
FM) -
Vận động Thô (Gross Motor –
GM) -
Hành vi (Behavior –
BEH) -
Cảm xúc – Xã hội (Social-Emotional –
SE) -
Tự phục vụ cá nhân (Self-Help –
SH) -
Học tập / Tiền học đường (School / Pre-academic –
SCH)
-
-
Câu 10 (Y khoa / Khác): Các mối lo ngại về thính lực, thị lực, giấc ngủ, ăn uống hoặc sức khỏe toàn trạng (Global/Cognitive & Health).
-
2. Ma trận “Mối lo ngại Dự báo (Predictive)” theo Độ tuổi & 5 Lộ trình Xử trí (Paths A – E)
Điểm cốt lõi trên Phiếu chấm điểm PEDS (PEDS Score Form) là: một mối lo ngại ở lĩnh vực này có thể chỉ là bình thường ở tuổi nhỏ, nhưng khi trẻ lớn hơn mà cha mẹ vẫn lo ngại thì nó trở thành Chỉ báo Dự báo Nguy cơ Cao (Predictive / Significant Concern):
Dựa trên số lượng mối lo ngại Dự báo (Predictive) và Không dự báo (Non-predictive), PEDS tự động phân trẻ vào 1 trong 5 Lộ trình Quyết định Lâm sàng (Paths A, B, C, D, E):
[Phát triển chung] Denver II: Công cụ sàng lọc phát triển tâm thần – vận động kinh điển cho trẻ 0 – 6 tuổi
(function() { const host = document.getElementById('denver2-wp-host'); if (!host) return; const placeholder = document.createComment('denver2-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // Cấu hình 4 Lĩnh vực chuẩn của Denver II (Tổng 125 mục) const domConfigs = { ps: { code: 'ps', name: '1. Cá nhân – Xã hội (Personal-Social)', count: 25, color: '#2563eb' }, fm: { code: 'fm', name: '2. Vận động Tinh – Thích ứng (Fine Motor)', count: 29, color: '#0d9488' }, la: { code: 'la', name: '3. Ngôn ngữ (Language)', count: 39, color: '#7c3aed' }, gm: { code: 'gm', name: '4. Vận động Thô (Gross Motor)', count: 32, color: '#ea580c' } }; // Đầy đủ 125 mục chuẩn Denver II với mốc tháng tuổi [p25, p50, p75, p90] // rAllow: true nếu cho phép chấm qua Báo cáo của phụ huynh [R] const items = [ // ===================================================== // 1. CÁ NHÂN - XÃ HỘI (PERSONAL-SOCIAL • 25 MỤC) // ===================================================== { id: 1, dom: 'ps', rAllow: false, p: [0.1, 0.2, 0.7, 1.3], t: 'Nhìn chăm chú vào khuôn mặt người đối diện' }, { id: 2, dom: 'ps', rAllow: true, p: [0.3, 0.7, 1.2, 1.8], t: 'Mỉm cười đáp lại khi được trò chuyện / trêu đùa' }, { id: 3, dom: 'ps', rAllow: false, p: [0.7, 1.2, 1.8, 2.4], t: 'Mỉm cười tự phát với người xung quanh' }, { id: 4, dom: 'ps', rAllow: false, p: [1.5, 2.3, 3.2, 4.2], t: 'Nhìn ngắm bàn tay của chính mình' }, { id: 5, dom: 'ps', rAllow: false, p: [3.8, 4.7, 5.6, 6.8], t: 'Cố gắng với lấy đồ chơi nằm ngoài tầm tay' }, { id: 6, dom: 'ps', rAllow: true, p: [4.8, 5.6, 6.5, 7.5], t: 'Tự cầm bánh quy ăn một mình' }, { id: 7, dom: 'ps', rAllow: false, p: [5.5, 6.8, 8.2, 9.8], t: 'Chơi trò Ú òa (Peek-a-boo) cùng người lớn' }, { id: 8, dom: 'ps', rAllow: false, p: [6.5, 8.0, 9.5, 11.2], t: 'Cố gắng giữ lại đồ chơi khi người khám kéo nhẹ' }, { id: 9, dom: 'ps', rAllow: true, p: [7.0, 8.6, 10.5, 13.5], t: 'Biết vẫy tay chào tạm biệt ("Bye-bye")' }, { id: 10, dom: 'ps', rAllow: true, p: [7.5, 9.2, 11.0, 13.8], t: 'Biết vỗ tay (hoan hô) theo người lớn' }, { id: 11, dom: 'ps', rAllow: true, p: [9.5, 11.2, 13.0, 15.5],t: 'Biết thể hiện ý muốn (chỉ tay/ra hiệu không khóc)' }, { id: 12, dom: 'ps', rAllow: false, p: [10.0, 11.8, 14.0, 16.5],t: 'Chơi lăn bóng qua lại với người khám' }, { id: 13, dom: 'ps', rAllow: true, p: [10.5, 12.5, 15.0, 17.5],t: 'Tự cầm cốc uống nước không đổ nhiều' }, { id: 14, dom: 'ps', rAllow: true, p: [11.5, 13.8, 16.2, 19.5],t: 'Bắt chước làm việc nhà (lau bàn, quét nhà)' }, { id: 15, dom: 'ps', rAllow: true, p: [13.0, 15.2, 18.0, 21.0],t: 'Tự dùng thìa/muỗng xúc ăn (còn rơi vãi ít)' }, { id: 16, dom: 'ps', rAllow: true, p: [14.5, 17.5, 20.5, 24.0],t: 'Tự cởi bỏ một món quần áo (giày, tất, mũ, quần)' }, { id: 17, dom: 'ps', rAllow: false, p: [15.5, 18.5, 21.5, 25.0],t: 'Đút cho búp bê ăn (Chơi giả vờ với búp bê)' }, { id: 18, dom: 'ps', rAllow: true, p: [18.0, 21.5, 25.5, 30.0],t: 'Tự mặc được một món quần áo (quần đùi, áo khoác)' }, { id: 19, dom: 'ps', rAllow: true, p: [19.0, 23.5, 28.5, 34.0],t: 'Đánh răng khi có người lớn hướng dẫn/hỗ trợ' }, { id: 20, dom: 'ps', rAllow: true, p: [20.0, 24.5, 30.0, 36.0],t: 'Tự rửa tay bằng xà phòng và lau khô tay' }, { id: 21, dom: 'ps', rAllow: true, p: [25.0, 30.5, 36.5, 42.5],t: 'Kể được tên của ít nhất 1 người bạn cùng chơi' }, { id: 22, dom: 'ps', rAllow: true, p: [26.0, 31.5, 38.0, 44.0],t: 'Tự mặc được áo thun/áo chui đầu' }, { id: 23, dom: 'ps', rAllow: true, p: [30.0, 36.0, 43.0, 50.0],t: 'Tự mặc quần áo hoàn toàn không cần giúp đỡ' }, { id: 24, dom: 'ps', rAllow: false, p: [33.0, 40.5, 48.0, 56.0],t: 'Chơi các trò chơi bàn cờ/thẻ bài chờ đến lượt' }, { id: 25, dom: 'ps', rAllow: true, p: [36.0, 44.0, 52.0, 60.0],t: 'Tự đánh răng độc lập và tự chuẩn bị đồ ăn nhẹ (bánh/ngũ cốc)' }, // ===================================================== // 2. VẬN ĐỘNG TINH - THÍCH ỨNG (FINE MOTOR-ADAPTIVE • 29 MỤC) // ===================================================== { id: 26, dom: 'fm', rAllow: false, p: [0.1, 0.3, 0.9, 1.5], t: 'Mắt nhìn theo quả bông đỏ di chuyển tới đường giữa' }, { id: 27, dom: 'fm', rAllow: false, p: [0.5, 1.1, 1.8, 2.6], t: 'Mắt nhìn theo quả bông đỏ vượt qua đường giữa' }, { id: 28, dom: 'fm', rAllow: false, p: [1.5, 2.3, 3.1, 3.8], t: 'Cầm giữ lục lạc khi được đặt vào lòng bàn tay' }, { id: 29, dom: 'fm', rAllow: false, p: [1.8, 2.6, 3.5, 4.3], t: 'Chắp hai bàn tay lại với nhau ở trước ngực' }, { id: 30, dom: 'fm', rAllow: false, p: [2.2, 3.1, 4.0, 4.9], t: 'Mắt nhìn theo vật di chuyển góc 180 độ hoàn chỉnh' }, { id: 31, dom: 'fm', rAllow: false, p: [2.8, 3.6, 4.5, 5.4], t: 'Nhìn chú ý vào viên nho khô (vật rất nhỏ) trên bàn' }, { id: 32, dom: 'fm', rAllow: false, p: [3.3, 4.2, 5.1, 6.0], t: 'Với tay nắm lấy đồ chơi đưa trước mặt' }, { id: 33, dom: 'fm', rAllow: false, p: [4.2, 5.1, 6.0, 7.2], t: 'Nhìn tìm kiếm sợi chỉ đỏ bị thả rơi xuống sàn' }, { id: 34, dom: 'fm', rAllow: false, p: [4.8, 5.6, 6.5, 7.5], t: 'Dùng cả bàn tay cào lấy viên nho khô/hạt nhỏ' }, { id: 35, dom: 'fm', rAllow: false, p: [5.0, 5.8, 6.7, 7.8], t: 'Chuyển khối gỗ từ tay này sang tay kia' }, { id: 36, dom: 'fm', rAllow: false, p: [5.6, 6.5, 7.5, 8.8], t: 'Mỗi tay cầm giữ đồng thời 1 khối gỗ (2 khối cùng lúc)' }, { id: 37, dom: 'fm', rAllow: false, p: [7.2, 8.2, 9.4, 10.6], t: 'Nhặt viên nho khô bằng ngón cái và ngón trỏ (Pincer grasp)' }, { id: 38, dom: 'fm', rAllow: false, p: [7.5, 8.8, 10.2, 11.8], t: 'Đập hai khối gỗ trên hai tay vào nhau ở đường giữa' }, { id: 39, dom: 'fm', rAllow: false, p: [9.5, 10.8, 12.2, 14.0],t: 'Bỏ khối gỗ vào trong lòng chiếc cốc nhựa' }, { id: 40, dom: 'fm', rAllow: false, p: [11.5, 13.2, 15.0, 17.0],t: 'Cầm bút sáp vẽ nguệch ngoạc tự phát trên giấy' }, { id: 41, dom: 'fm', rAllow: false, p: [12.5, 14.5, 16.8, 19.5],t: 'Dốc ngược lọ nhỏ để đổ viên nho khô ra ngoài (sau khi xem mẫu)' }, { id: 42, dom: 'fm', rAllow: false, p: [13.5, 15.8, 18.2, 20.8],t: 'Xếp chồng tháp gồm 2 khối gỗ vuông đứng vững' }, { id: 43, dom: 'fm', rAllow: false, p: [16.5, 19.0, 22.0, 25.5],t: 'Xếp chồng tháp gồm 4 khối gỗ vuông đứng vững' }, { id: 44, dom: 'fm', rAllow: false, p: [19.5, 22.8, 26.5, 30.5],t: 'Xếp chồng tháp gồm 6 khối gỗ vuông đứng vững' }, { id: 45, dom: 'fm', rAllow: false, p: [22.0, 26.0, 30.0, 35.0],t: 'Bắt chước vẽ một đường thẳng đứng trên giấy' }, { id: 46, dom: 'fm', rAllow: false, p: [24.0, 29.0, 34.5, 40.5],t: 'Xếp chồng tháp gồm 8 khối gỗ vuông đứng vững' }, { id: 47, dom: 'fm', rAllow: false, p: [28.0, 33.0, 38.5, 44.0],t: 'Cử động ngón cái độc lập khi nắm tay (Thumb wiggle)' }, { id: 48, dom: 'fm', rAllow: false, p: [31.0, 36.0, 41.5, 47.5],t: 'Sao chép hình tròn khép kín khi nhìn thẻ mẫu' }, { id: 49, dom: 'fm', rAllow: false, p: [36.0, 41.5, 48.0, 55.0],t: 'Vẽ hình người có ít nhất 3 bộ phận cơ thể' }, { id: 50, dom: 'fm', rAllow: false, p: [38.0, 44.0, 50.5, 57.5],t: 'Sao chép hình chữ thập (+) khi nhìn thẻ mẫu' }, { id: 51, dom: 'fm', rAllow: false, p: [40.0, 46.5, 53.5, 60.5],t: 'Chỉ đúng đường thẳng nào dài hơn (Đạt 3/3 lần thử)' }, { id: 52, dom: 'fm', rAllow: false, p: [46.0, 53.0, 60.0, 67.0],t: 'Sao chép hình vuông khi nhìn mẫu (không cần xem vẽ mẫu)' }, { id: 53, dom: 'fm', rAllow: false, p: [48.0, 55.0, 62.5, 70.0],t: 'Sao chép hình vuông sau khi được xem người khám vẽ mẫu' }, { id: 54, dom: 'fm', rAllow: false, p: [50.0, 57.5, 65.0, 72.0],t: 'Vẽ hình người đầy đủ có từ 6 bộ phận cơ thể trở lên' }, // ===================================================== // 3. NGÔN NGỮ (LANGUAGE • 39 MỤC) // ===================================================== { id: 55, dom: 'la', rAllow: false, p: [0.1, 0.2, 0.5, 1.0], t: 'Phản ứng với tiếng chuông lắc (chớp mắt, giật mình, dừng cử động)' }, { id: 56, dom: 'la', rAllow: true, p: [0.2, 0.6, 1.2, 1.8], t: 'Phát ra các âm thanh nhỏ trong cổ họng (ngoài tiếng khóc)' }, { id: 57, dom: 'la', rAllow: false, p: [1.0, 1.6, 2.3, 3.0], t: 'Phát âm gù gù (OOH / AAH) khi thoải mái' }, { id: 58, dom: 'la', rAllow: false, p: [1.4, 2.1, 2.9, 3.8], t: 'Cười thành tiếng lớn (Laughs)' }, { id: 59, dom: 'la', rAllow: false, p: [1.8, 2.7, 3.8, 4.8], t: 'Reo hét lên vì thích thú (Squeals)' }, { id: 60, dom: 'la', rAllow: false, p: [3.2, 4.2, 5.2, 6.4], t: 'Quay đầu về phía phát ra giọng nói của người khám' }, { id: 61, dom: 'la', rAllow: false, p: [3.8, 4.8, 5.8, 7.0], t: 'Quay đầu tìm chính xác hướng phát ra tiếng lục lạc' }, { id: 62, dom: 'la', rAllow: false, p: [5.0, 6.0, 7.2, 8.5], t: 'Bắt chước các âm thanh lời nói của người lớn' }, { id: 63, dom: 'la', rAllow: false, p: [5.4, 6.4, 7.6, 9.0], t: 'Bập bẹ các âm tiết đơn (ba, đa, ga, ma)' }, { id: 64, dom: 'la', rAllow: false, p: [6.0, 7.2, 8.6, 10.2], t: 'Phát âm chuỗi âm tiết lặp lại (ba-ba, đa-đa, ma-ma không đặc hiệu)' }, { id: 65, dom: 'la', rAllow: false, p: [6.5, 7.8, 9.2, 11.0], t: 'Kết hợp các âm tiết khác nhau (đa-ga, ba-đa)' }, { id: 66, dom: 'la', rAllow: true, p: [7.5, 9.2, 11.2, 13.5], t: 'Nói "Bà / Bố / Mẹ" đúng người (Đặc hiệu)' }, { id: 67, dom: 'la', rAllow: true, p: [9.0, 11.0, 13.0, 15.2],t: 'Nói được ít nhất 1 từ đơn có nghĩa (ngoài Bố/Mẹ)' }, { id: 68, dom: 'la', rAllow: true, p: [10.5, 12.2, 14.5, 17.0],t: 'Nói được 2 từ đơn có nghĩa' }, { id: 69, dom: 'la', rAllow: true, p: [11.8, 13.8, 16.2, 19.0],t: 'Nói được 3 từ đơn có nghĩa' }, { id: 70, dom: 'la', rAllow: true, p: [13.5, 16.0, 19.0, 22.5],t: 'Nói được 6 từ đơn có nghĩa trở lên' }, { id: 71, dom: 'la', rAllow: false, p: [15.0, 17.8, 21.0, 24.5],t: 'Chỉ đúng ít nhất 2 bức tranh khi người khám gọi tên' }, { id: 72, dom: 'la', rAllow: true, p: [16.5, 19.5, 23.0, 26.5],t: 'Kết hợp 2 từ thành cụm từ có nghĩa ("Uống nước", "Đi chơi")' }, { id: 73, dom: 'la', rAllow: false, p: [17.5, 20.5, 24.0, 28.0],t: 'Gọi đúng tên ít nhất 1 bức tranh trên bảng tranh Denver' }, { id: 74, dom: 'la', rAllow: false, p: [18.5, 21.5, 25.0, 29.5],t: 'Chỉ đúng ít nhất 6 bộ phận cơ thể trên búp bê/bản thân' }, { id: 75, dom: 'la', rAllow: false, p: [20.0, 24.0, 28.5, 33.5],t: 'Chỉ đúng 4 bức tranh khi người khám gọi tên' }, { id: 76, dom: 'la', rAllow: false, p: [21.0, 25.5, 30.5, 36.0],t: 'Lời nói của trẻ dễ hiểu được một nửa (50% người lạ hiểu)' }, { id: 77, dom: 'la', rAllow: false, p: [24.0, 29.0, 34.5, 40.0],t: 'Gọi đúng tên 4 bức tranh trên bảng tranh Denver' }, { id: 78, dom: 'la', rAllow: false, p: [26.0, 31.0, 37.0, 43.0],t: 'Biết công dụng của 2 đồ vật ("Cái gì dùng để uống/để viết?")' }, { id: 79, dom: 'la', rAllow: false, p: [28.0, 33.5, 39.5, 46.0],t: 'Đếm và lấy đúng 1 khối gỗ khi được yêu cầu' }, { id: 80, dom: 'la', rAllow: false, p: [29.0, 35.0, 41.5, 48.0],t: 'Biết công dụng của 3 đồ vật quen thuộc' }, { id: 81, dom: 'la', rAllow: false, p: [30.0, 36.0, 42.5, 49.5],t: 'Biết ít nhất 2 hành động trong tranh ("Con gì đang bay/đang kêu meo?")' }, { id: 82, dom: 'la', rAllow: false, p: [32.0, 38.5, 45.5, 52.5],t: 'Hiểu 2 tính từ trạng thái ("Khi bị lạnh/mệt/đói con làm gì?")' }, { id: 83, dom: 'la', rAllow: false, p: [34.0, 40.5, 48.0, 55.0],t: 'Gọi đúng tên ít nhất 1 màu sắc cơ bản' }, { id: 84, dom: 'la', rAllow: false, p: [36.0, 42.5, 50.0, 57.5],t: 'Hiểu và thực hiện đúng 4 giới từ (Trên, Dưới, Trước, Sau)' }, { id: 85, dom: 'la', rAllow: false, p: [37.0, 44.0, 51.5, 59.0],t: 'Lời nói của trẻ hoàn toàn rõ ràng, dễ hiểu 100%' }, { id: 86, dom: 'la', rAllow: false, p: [39.0, 46.0, 53.5, 61.5],t: 'Hiểu 4 hành động trong bảng tranh Denver' }, { id: 87, dom: 'la', rAllow: false, p: [42.0, 49.0, 57.0, 65.0],t: 'Định nghĩa đúng ít nhất 5 từ vựng (Bóng, Hồ, Bàn, Nhà, Chuối, Rèm...)' }, { id: 88, dom: 'la', rAllow: false, p: [44.0, 51.0, 58.5, 66.5],t: 'Gọi đúng tên 4 màu sắc (Đỏ, Xanh dương, Vàng, Xanh lá)' }, { id: 89, dom: 'la', rAllow: false, p: [46.0, 53.0, 60.5, 68.0],t: 'Hiểu 3 tính từ trạng thái (Lạnh, Mệt, Đói)' }, { id: 90, dom: 'la', rAllow: false, p: [48.0, 55.5, 63.0, 70.0],t: 'Đếm và lấy đúng 5 khối gỗ theo yêu cầu' }, { id: 91, dom: 'la', rAllow: false, p: [50.0, 57.5, 65.0, 71.0],t: 'Biết tìm 2 cặp từ trái nghĩa ("Lửa thì nóng, nước đá thì...")' }, { id: 92, dom: 'la', rAllow: false, p: [52.0, 59.5, 67.0, 72.0],t: 'Định nghĩa đúng ít nhất 7 từ vựng chuẩn' }, { id: 93, dom: 'la', rAllow: false, p: [54.0, 61.5, 68.5, 72.0],t: 'Hiểu chất liệu tạo nên 3 đồ vật ("Thìa/Giày/Cửa làm bằng gì?")' }, // ===================================================== // 4. VẬN ĐỘNG THÔ (GROSS MOTOR • 32 MỤC) // ===================================================== { id: 94, dom: 'gm', rAllow: false, p: [0.1, 0.2, 0.5, 0.9], t: 'Cử động hai tay và hai chân đồng đều khi nằm ngửa' }, { id: 95, dom: 'gm', rAllow: false, p: [0.1, 0.4, 0.9, 1.5], t: 'Nằm sấp tự nhấc đầu rời khỏi mặt bàn/giường' }, { id: 96, dom: 'gm', rAllow: false, p: [0.8, 1.5, 2.3, 3.2], t: 'Nằm sấp nâng đầu lên góc 45 độ giữ vững' }, { id: 97, dom: 'gm', rAllow: false, p: [1.5, 2.2, 3.1, 4.0], t: 'Nằm sấp nâng đầu và ngực góc 90 độ' }, { id: 98, dom: 'gm', rAllow: false, p: [1.8, 2.7, 3.6, 4.5], t: 'Giữ đầu thẳng vững vàng khi được bế ngồi' }, { id: 99, dom: 'gm', rAllow: false, p: [2.2, 3.2, 4.2, 5.2], t: 'Nằm sấp chống hai cẳng tay nâng ngực cao' }, { id: 100, dom: 'gm', rAllow: true, p: [2.5, 3.6, 4.6, 5.6], t: 'Tự lẫy lật người (từ sấp sang ngửa hoặc ngược lại)' }, { id: 101, dom: 'gm', rAllow: false, p: [3.2, 4.2, 5.2, 6.3], t: 'Kéo hai tay từ nằm ngửa lên ngồi đầu không bị trễ ra sau' }, { id: 102, dom: 'gm', rAllow: false, p: [3.8, 4.8, 5.8, 6.8], t: 'Chịu một phần trọng lượng cơ thể trên hai chân khi được giữ đứng' }, { id: 103, dom: 'gm', rAllow: false, p: [5.2, 5.9, 6.8, 7.8], t: 'Tự ngồi vững không cần đỡ lưng trong ít nhất 5 – 30 giây' }, { id: 104, dom: 'gm', rAllow: false, p: [6.5, 7.6, 8.8, 10.0], t: 'Vịn thành bàn/ghế tự kéo người đứng dậy' }, { id: 105, dom: 'gm', rAllow: true, p: [7.0, 8.2, 9.4, 10.6], t: 'Tự chuyển về tư thế ngồi độc lập (từ nằm hoặc bò)' }, { id: 106, dom: 'gm', rAllow: false, p: [7.2, 8.5, 9.8, 11.2], t: 'Đứng vững vàng khi vịn vào đồ đạc (> 5 giây)' }, { id: 107, dom: 'gm', rAllow: false, p: [9.2, 10.4, 11.6, 13.0],t: 'Tự đứng độc lập một mình được khoảng 2 giây' }, { id: 108, dom: 'gm', rAllow: false, p: [10.0, 11.5, 13.0, 14.5],t: 'Tự đứng vững một mình trên 10 giây không cần vịn' }, { id: 109, dom: 'gm', rAllow: false, p: [11.0, 12.3, 13.8, 15.2],t: 'Đứng vững cúi xuống nhặt đồ vật rồi đứng thẳng lên không ngã' }, { id: 110, dom: 'gm', rAllow: false, p: [11.2, 12.5, 14.0, 15.5],t: 'Đi độc lập vững vàng không bị ngã' }, { id: 111, dom: 'gm', rAllow: true, p: [12.5, 14.2, 16.5, 19.0],t: 'Đi lùi về phía sau 2 – 3 bước' }, { id: 112, dom: 'gm', rAllow: false, p: [13.5, 15.8, 18.0, 20.5],t: 'Chạy vững vàng về phía trước' }, { id: 113, dom: 'gm', rAllow: true, p: [14.0, 16.8, 19.5, 22.5],t: 'Bước lên các bậc cầu thang' }, { id: 114, dom: 'gm', rAllow: false, p: [15.5, 18.2, 21.0, 24.0],t: 'Đá quả bóng lăn về phía trước mà không cần vịn' }, { id: 115, dom: 'gm', rAllow: false, p: [19.5, 22.8, 26.5, 30.0],t: 'Nhảy tại chỗ hai chân rời mặt sàn cùng lúc' }, { id: 116, dom: 'gm', rAllow: false, p: [20.0, 23.8, 28.0, 32.5],t: 'Đứng ném bóng qua đầu về phía người khám' }, { id: 117, dom: 'gm', rAllow: false, p: [24.0, 28.5, 33.0, 38.0],t: 'Nhảy xa về phía trước qua tờ giấy rộng 22cm (Broad jump)' }, { id: 118, dom: 'gm', rAllow: false, p: [22.5, 27.0, 32.0, 37.0],t: 'Đứng thăng bằng trên 1 chân được 1 giây' }, { id: 119, dom: 'gm', rAllow: false, p: [26.0, 31.0, 36.5, 42.0],t: 'Đứng thăng bằng trên 1 chân được 2 giây' }, { id: 120, dom: 'gm', rAllow: false, p: [30.0, 35.5, 41.5, 48.0],t: 'Đứng thăng bằng trên 1 chân được 3 giây' }, { id: 121, dom: 'gm', rAllow: false, p: [36.0, 41.5, 48.0, 54.5],t: 'Nhảy lò cò trên 1 chân liên tiếp 2 – 3 bước' }, { id: 122, dom: 'gm', rAllow: false, p: [38.0, 44.0, 51.0, 58.0],t: 'Đứng thăng bằng trên 1 chân được 4 giây' }, { id: 123, dom: 'gm', rAllow: false, p: [41.0, 47.5, 55.0, 62.0],t: 'Đứng thăng bằng trên 1 chân được 5 giây' }, { id: 124, dom: 'gm', rAllow: false, p: [45.0, 52.0, 59.5, 67.0],t: 'Đi nối gót (mũi chân sau chạm sát gót chân trước) 4 bước liên tiếp' }, { id: 125, dom: 'gm', rAllow: false, p: [48.0, 55.5, 63.5, 71.0],t: 'Đứng thăng bằng vững vàng trên 1 chân trong 6 giây trở lên' } ]; // answers[id] lưu: 'P' (Pass - Đạt), 'F' (Fail - Không đạt), 'R' (Refusal - Từ chối), 'NO' (No Opportunity - Không có cơ hội) let answers = {}; let childAgeMonths = 24.0; // Tuổi thực (Tháng) let prematureWeeks = 0; // Số tuần sinh non (nếu sinh trước 38 tuần và trẻ <= 24 tháng) let filterDom = 'all'; // 'all' | 'ps' | 'fm' | 'la' | 'gm' let viewMode = 'age_window'; // 'age_window' (Chỉ hiện mục quanh Đường tuổi của trẻ) | 'all' (Hiện toàn bộ 125 mục) let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .dv-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .dv-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .dv-inner { padding: 24px; max-width: 980px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .dv-wrap.is-fullscreen .dv-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .dv-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(13, 148, 136, 0.45), 0 0 0 0 rgba(13, 148, 136, 0.4); } 70% { box-shadow: 0 6px 20px rgba(13, 148, 136, 0.45), 0 0 0 10px rgba(13, 148, 136, 0); } 100% { box-shadow: 0 6px 20px rgba(13, 148, 136, 0.45), 0 0 0 0 rgba(13, 148, 136, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #0f766e 0%, #0d9488 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(13, 148, 136, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Header */ .dv-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .dv-header-text { flex: 1 1 260px; } .dv-title { font-size: 21px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .dv-desc { font-size: 14px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #f0fdfa; color: #0f766e; border: 1px solid #99f6e4; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #0d9488; color: #ffffff; border-color: #0d9488; } /* Khu vực thiết lập Đường tuổi (Age Line) & Kịch bản */ .dv-age-panel { display: grid; grid-template-columns: 1.15fr 1fr 1.1fr; gap: 12px; background: #f8fafc; border: 1px solid #cbd5e1; border-radius: 12px; padding: 14px; margin-bottom: 14px; } .dv-ctrl-box { display: flex; flex-direction: column; gap: 6px; } .dv-ctrl-lbl { font-size: 12px; font-weight: 800; color: #0f172a; text-transform: uppercase; } .dv-input-row { display: flex; gap: 6px; align-items: center; } .dv-select, .dv-num-input { padding: 8px 10px; border: 1px solid #94a3b8; border-radius: 7px; font-size: 13.5px; font-weight: 700; color: #0f172a; background: #ffffff; width: 100%; } .dv-presets-bar { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; margin-bottom: 14px; } .dv-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; touch-action: manipulation; } .dv-pbtn:hover { background: #f1f5f9; } .dv-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } .dv-domain-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 16px; } .dv-dtab { padding: 6px 12px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .dv-dtab.active { background: #0f766e; color: #ffffff; border-color: #0f766e; } /* Sticky Dashboard */ .dv-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .dv-wrap.is-fullscreen .dv-dash { top: 58px; } .dv-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .dv-score-big { font-size: 21px; font-weight: 800; line-height: 1.2; } .dv-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .dv-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .dv-pillars { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; font-size: 12px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .dv-pillar-box { background: #1e293b; padding: 7px 10px; border-radius: 8px; } .dv-pillar-val { font-weight: 700; color: #ffffff; font-size: 13.5px; display: block; margin-top: 2px; } /* Danh sách 125 mục kèm Thanh bách phân vị (25% - 50% - 75% - 90%) */ .dv-item { border: 1px solid #e2e8f0; border-radius: 10px; padding: 13px 15px; margin-bottom: 10px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 8px; } .dv-item.status-delay { border-color: #fca5a5; background: #fff5f5; border-left: 5px solid #ef4444; } .dv-item.status-caution { border-color: #fde68a; background: #fffbeb; border-left: 5px solid #f59e0b; } .dv-item.status-pass { border-color: #a7f3d0; background: #f0fdf4; } .dv-item-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; flex-wrap: wrap; } .dv-item-title { font-size: 14.5px; font-weight: 700; color: #0f172a; } .dv-tags { display: flex; flex-wrap: wrap; gap: 6px; } .dv-tag { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .dv-tag.tag-delay { background: #fee2e2; color: #b91c1c; } .dv-tag.tag-caution { background: #fef3c7; color: #b45309; } .dv-tag.tag-normal { background: #dcfce7; color: #15803d; } /* Thanh trực quan hóa Mốc 25% - 50% - 75% - 90% so với Đường tuổi */ .dv-bar-visual { display: flex; align-items: center; gap: 8px; background: #f8fafc; border: 1px solid #e2e8f0; padding: 6px 10px; border-radius: 6px; font-size: 12px; color: #334155; flex-wrap: wrap; } .dv-pct-chip { padding: 2px 7px; border-radius: 4px; background: #e2e8f0; font-weight: 600; } .dv-pct-chip.zone-75-90 { background: #cbd5e1; color: #0f172a; font-weight: 800; } /* 4 nút chấm chuẩn Denver II: P, F, R, NO */ .dv-ans-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; } .dv-abtn { padding: 8px 6px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 700; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .dv-abtn:hover { border-color: #64748b; } .dv-abtn.sel-P { background: #10b981; border-color: #10b981; color: #ffffff; } .dv-abtn.sel-F { background: #ef4444; border-color: #ef4444; color: #ffffff; } .dv-abtn.sel-R { background: #f59e0b; border-color: #f59e0b; color: #ffffff; } .dv-abtn.sel-NO { background: #64748b; border-color: #64748b; color: #ffffff; } .dv-result-box { margin-top: 20px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #0d9488; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 740px) { .dv-inner { padding: 14px; } .dv-title { font-size: 18px; } .dv-age-panel { grid-template-columns: 1fr; } .dv-pillars { grid-template-columns: 1fr 1fr; } .dv-ans-grid { grid-template-columns: 1fr 1fr; } .dv-pbtn.reset { margin-left: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
Trắc Nghiệm Sàng Lọc Phát Triển Tâm Thần – Vận Động Denver II (125 Mục • 0 – 72 Tháng)
Công cụ sàng lọc chuẩn hóa của Frankenburg & Dodds (1992) trên 4 lĩnh vực: Cá nhân – Xã hội (25 mục), Vận động Tinh – Thích ứng (29 mục), Ngôn ngữ (39 mục) và Vận động Thô (32 mục). Hệ thống tự động kẻ Đường tuổi (Age Line), xác định các mục Chậm (Delay >90%), Cảnh báo (Caution 75–90%) và đưa ra kết luận sàng lọc chuẩn.
• Trẻ đã Từ chối thực hiện (R) ở ${totalRefDelays} mục nằm bên trái Đường tuổi (>90%) và ${totalRefCautions} mục trong vùng 75%–90%.
• Hướng xử trí chuẩn Denver II: Đặt lịch hẹn đánh giá lại cho trẻ sau 1 đến 2 tuần (khi trẻ khỏe mạnh, tỉnh táo và hợp tác tốt hơn). Nếu lần khám lại trẻ vẫn tiếp tục không thực hiện được, cần chuyển sang diện Nghi ngờ (Suspect) để khám chuyên khoa. `; } else if (totalDelays >= 1 || totalCautions >= 2) { color = '#ef4444'; badgeTxt = `NGHI NGỜ CHẬM PHÁT TRIỂN (SUSPECT • ${totalDelays} Delay, ${totalCautions} Caution)`; const delayNames = delayItemsList.map(i => `#${i.id} ${i.t}`).join(', '); const cautionNames = cautionItemsList.map(i => `#${i.id} ${i.t}`).join(', '); analysis = ` Kết luận Sàng lọc Denver II tại mốc ${ageLine} tháng — NGHI NGỜ (Suspect):
• Theo tiêu chuẩn của Frankenburg & Dodds, kết quả được phân loại là Nghi ngờ (Suspect) khi có từ ≥ 1 mục Chậm (Delay) và/hoặc ≥ 2 mục Cảnh báo (Caution).
• Các mục Chậm phát triển (Delay >90%): ${delayNames || 'Không có'}.
• Các mục Cảnh báo (Caution 75%–90%): ${cautionNames || 'Không có'}.
• Hướng xử trí lâm sàng: Nếu sự thiếu hụt tập trung ở lĩnh vực Ngôn ngữ (${domStats.la.delay} Delay, ${domStats.la.caution} Caution) và Cá nhân – Xã hội (${domStats.ps.delay} Delay, ${domStats.ps.caution} Caution), cần sàng lọc chuyên sâu ngay bằng M-CHAT-R/F / STAT và đánh giá toàn diện bằng KSPD / PEP-3 / Vineland-3 để can thiệp sớm. `; } else { color = (totalCautions === 1) ? '#f59e0b' : '#10b981'; badgeTxt = (totalCautions === 1) ? 'BÌNH THƯỜNG (CÓ 1 CẢNH BÁO NHẸ)' : 'PHÁT TRIỂN BÌNH THƯỜNG (NORMAL)'; analysis = ` Kết luận Sàng lọc Denver II tại mốc ${ageLine} tháng — ${badgeTxt}:
• Trẻ không có mục Chậm phát triển (Delay) nào và chỉ có ${totalCautions}/1 mục Cảnh báo (Caution) cho phép.
• Các mốc kỹ năng về Cá nhân – Xã hội, Vận động Tinh – Thích ứng, Ngôn ngữ và Vận động Thô đều đạt tương ứng với Đường tuổi ${ageLine} tháng. Khuyến nghị tiếp tục theo dõi định kỳ ở các mốc khám sức khỏe tiếp theo. `; } scoreBadge.textContent = badgeTxt; scoreBadge.style.background = color; scoreBadge.style.color = '#ffffff'; resultBox.style.borderLeftColor = color; resultBox.innerHTML = analysis; updateFloatingFabVisibility(); } function applyPreset(type) { const ageLine = getAdjustedAge(); answers = {}; if (type === 'reset') { renderItems(); updateSummary(); return; } // Mặc định đặt tất cả các mục bên trái Đường tuổi và cắt Đường tuổi là Đạt (P) items.forEach(function(it) { if (it.p[0] 1 Caution (Vẫn Normal) const cItem = items.find(it => ageLine >= it.p[2] && ageLine >= 2 Delay & Caution (Suspect) items.forEach(function(it) { if ((it.dom === 'la' || it.dom === 'ps') && it.p[3] >= (ageLine - 6) && it.p[0] Untestable const leftItems = items.filter(it => ageLine > it.p[3] && it.p[3] >= (ageLine - 6)); leftItems.slice(0, 2).forEach(it => { answers[it.id] = 'R'; }); } renderItems(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); dvWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { dvWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 980px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } inpAgeMonths.onchange = () => { applyPreset('suspect_lang'); }; quickAgeSelect.onchange = function() { inpAgeMonths.value = this.value; applyPreset('suspect_lang'); }; selPremature.onchange = () => { renderItems(); updateSummary(); }; selViewMode.onchange = function() { viewMode = this.value; renderItems(); }; shadow.querySelectorAll('.dv-pbtn').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-preset')); }; }); shadow.querySelectorAll('#domainTabs .dv-dtab').forEach(function(tab) { tab.onclick = function() { filterDom = this.getAttribute('data-dom'); shadow.querySelectorAll('#domainTabs .dv-dtab').forEach(t => t.classList.remove('active')); this.classList.add('active'); renderItems(); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); applyPreset('suspect_lang'); })();
Denver II (Denver Developmental Screening Test II — Trắc nghiệm Sàng lọc Phát triển Denver II) là công cụ sàng lọc phát triển tâm thần – vận động kinh điển và được sử dụng rộng rãi nhất tại các bệnh viện Nhi, khoa Tâm bệnh và trung tâm can thiệp sớm trên toàn thế giới (cũng như tại Việt Nam). Công cụ do Giáo sư William K. Frankenburg và Josiah B. Dodds (Đại học Colorado, Hoa Kỳ) phát triển năm 1967 và hiệu đính chuẩn hóa thành bản Denver II vào năm 1992.
1. Tóm tắt cốt lõi về công cụ Denver II
-
Độ tuổi áp dụng: Trẻ từ sơ sinh (0 tháng) đến 6 tuổi (72 tháng) (có điều chỉnh tuổi sinh non cho trẻ sinh trước 38 tuần tuổi thai đến khi trẻ tròn 24 tháng).
-
Cấu trúc 125 mục (Items) chia làm 4 Lĩnh vực phát triển:
-
Cá nhân – Xã hội (Personal-Social — 25 mục): Giao tiếp mắt, mỉm cười, tự ăn uống, mặc quần áo, đánh răng, chơi tương tác với bạn.
-
Vận động Tinh – Thích ứng (Fine Motor-Adaptive — 29 mục): Nhìn theo vật, cầm nắm hạt nhỏ, xếp tháp khối gỗ, vẽ hình (tròn, chữ thập, vuông, hình người).
-
Ngôn ngữ (Language — 39 mục): Quay đầu tìm âm thanh, bập bẹ, nói từ đơn, chỉ tranh, gọi tên đồ vật,hiểu giới từ, định nghĩa từ.
-
Vận động Thô (Gross Motor — 32 mục): Nâng đầu, lẫy, ngồi, bò, đứng, đi, chạy, nhảy tại chỗ, đứng 1 chân, nhảy lò cò, đi nối gót.
-
-
Cơ chế “Đường tuổi” (Age Line) và Thanh bách phân vị (25% – 50% – 75% – 90%): Trên biểu đồ Denver II,mỗi kỹ năng là một thanh ngang thể hiện mốc tuổi mà 25%, 50%, 75% và 90% trẻ em bình thường thực hiện được (vùng từ 75% đến 90% được tô đậm). Người khám kẻ một Đường dọc tại đúng tháng tuổi hiện tại của trẻ (Age Line) cắt qua các thanh kỹ năng và chấm 1 trong 4 kết quả:
P(Pass – Đạt),F(Fail – Không đạt),R(Refusal – Từ chối) hoặcNO(No Opportunity – Không có cơ hội).
2. Quy tắc Phân giải từng Mục & Kết luận Tổng thể chuẩn Denver II
| Phân loại từng mục | Điều kiện xác định so với Đường tuổi (Age Line) của trẻ |
| 1. Chậm phát triển (Delay) | Đường tuổi của trẻ đã vượt hoàn toàn sang bên phải mốc 90% của thanh kỹ năng (tức là > 90% trẻ cùng tuổi đã làm được), nhưng trẻ lại Không đạt (F) hoặc Từ chối (R). |
| 2. Cảnh báo / Thận trọng (Caution) | Đường tuổi của trẻ nằm trong vùng từ 75% đến 90% của thanh kỹ năng, và trẻ Không đạt (F) hoặc Từ chối (R). |
| 3. Phát triển Vượt trội (Advanced) | Trẻ Đạt (P) một kỹ năng nằm hoàn toàn ở bên phải Đường tuổi (dưới cả mốc 25% trẻ cùng tuổi làm được). |
Kết luận Sàng lọc Tổng thể Denver II:
-
🟢 BÌNH THƯỜNG (Normal): Không có mục Chậm (Delay) nào VÀ có tối đa 1 mục Cảnh báo (Caution).
-
🟡 NGHI NGỜ (Suspect): Có từ mục Cảnh báo (Caution) VÀ/HOẶC có từ mục Chậm (Delay) Cần sàng lọc lại sau 1–2 tuần hoặc chuyển gửi đánh giá chuyên sâu (PEP-3, KSPD, Vineland-3, ADOS-2).
-
⚪ KHÔNG ĐÁNH GIÁ ĐƯỢC (Untestable): Trẻ Từ chối (
R) ở mục nằm hoàn toàn bên trái đường tuổi () hoặc ở mục nằm trong vùng 75%−90%.
Chẩn đoán chuyên sâu
(function(){
function mountShadowDiagTable(){
var host = document.getElementById('phuchoi-diag-host');
if(!host) return;
if(host.shadowRoot) return;
if(!host.attachShadow) return;
var shadow = host.attachShadow({mode:'open'});
var css = [
':host{all:initial;display:block;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:#1e293b;line-height:1.6;width:100%;box-sizing:border-box;}',
'*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}',
'.diag-card{width:100%;background:#ffffff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 8px 24px rgba(15,23,42,0.05);overflow:hidden;}',
'.diag-intro{background:linear-gradient(135deg,#f0fdfa 0%,#ccfbf1 100%);padding:20px 24px;border-bottom:1px solid #99f6e4;display:flex;align-items:flex-start;gap:14px;}',
'.diag-icon{font-size:26px;line-height:1;background:#ffffff;width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 10px rgba(13,148,136,0.14);flex-shrink:0;}',
'.diag-intro-text{font-size:15px;color:#0f172a;margin:0;}',
'.diag-intro-text strong{color:#0f766e;font-weight:700;}',
'.diag-table{width:100%;border-collapse:collapse;border-spacing:0;}',
'.diag-table thead th{background:#f8fafc;color:#334155;font-size:12.5px;font-weight:800;text-transform:uppercase;letter-spacing:0.4px;padding:14px 20px;text-align:left;border-bottom:2px solid #e2e8f0;}',
'.diag-table tbody tr{border-bottom:1px solid #e2e8f0;transition:background 0.2s ease;}',
'.diag-table tbody tr:last-child{border-bottom:none;}',
'.diag-table tbody tr:hover{background:#f8fafc;}',
'.diag-table td{padding:20px;vertical-align:top;}',
'.step-tag{display:inline-block;font-size:11px;font-weight:700;padding:2px 9px;border-radius:999px;text-transform:uppercase;margin-bottom:6px;}',
'.tag-teal{background:#ccfbf1;color:#0f766e;}',
'.tag-indigo{background:#e0e7ff;color:#4338ca;}',
'.group-badge{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:800;color:#0f172a;}',
'.tools-wrap{display:flex;flex-wrap:wrap;gap:8px;}',
'.tool-link{display:inline-flex;align-items:center;gap:5px;padding:6px 13px;border-radius:8px;font-size:13.5px;font-weight:700;text-decoration:none;transition:all 0.18s ease;border:1.5px solid transparent;cursor:pointer;}',
'.tool-link::after{content:"↗";font-size:11px;opacity:0.75;}',
'.tool-sub{font-weight:500;font-size:12px;opacity:0.85;}',
'.btn-teal{background:#f0fdfa;color:#0f766e;border-color:#99f6e4;}',
'.btn-teal:hover{background:#0d9488;color:#ffffff;border-color:#0d9488;transform:translateY(-2px);box-shadow:0 4px 10px rgba(13,148,136,0.25);}',
'.btn-indigo{background:#eef2ff;color:#4338ca;border-color:#c7d2fe;}',
'.btn-indigo:hover{background:#4f46e5;color:#ffffff;border-color:#4f46e5;transform:translateY(-2px);box-shadow:0 4px 10px rgba(79,70,229,0.25);}',
'.desc-text{font-size:14.2px;color:#334155;margin:0;}',
'@media (max-width:768px){.diag-intro{padding:16px;}.diag-table thead{display:none;}.diag-table,.diag-table tbody,.diag-table tr,.diag-table td{display:block;width:100%;}.diag-table tbody tr{padding:16px;}.diag-table td{padding:6px 0;}.tools-wrap{margin:6px 0 8px 0;}}'
].join('');
var styleEl = document.createElement('style');
styleEl.textContent = css;
shadow.appendChild(styleEl);
var rowsData = [
{
tagCls: 'tag-teal',
tagTxt: 'Trụ cột 1 • Tiêu chuẩn vàng ASD',
title: '🏅 Chẩn đoán Phổ tự kỷ',
btnCls: 'btn-teal',
tools: [
{name: 'ADOS-2', sub: '', url: 'https://phuchoi.vn/kien-thuc/cong-cu/chuan-doan-chuyen-sau/ados-2/'},
{name: 'ADI-R', sub: '', url: 'https://phuchoi.vn/kien-thuc/cong-cu/chuan-doan-chuyen-sau/adi-r/'},
{name: 'CARS-2', sub: '', url: 'https://phuchoi.vn/kien-thuc/cong-cu/chuan-doan-chuyen-sau/cars-2/'},
{name: 'GARS-3', sub: '', url: 'https://phuchoi.vn/kien-thuc/cong-cu/chuan-doan-chuyen-sau/gars-3/'}
],
desc: 'Các công cụ tiêu chuẩn vàng kết hợp giữa quan sát hành vi bán cấu trúc và phỏng vấn bệnh sử phát triển, dùng để chẩn đoán xác định, chẩn đoán phân biệt và định lượng mức độ nặng của phổ tự kỷ.'
},
{
tagCls: 'tag-indigo',
tagTxt: 'Trụ cột 2 • Chỉ số DQ & IQ',
title: '📊 Đánh giá Chậm phát triển',
btnCls: 'btn-indigo',
tools: [
{name: 'Bayley-III', sub: '', url: 'https://phuchoi.vn/kien-thuc/cong-cu/chuan-doan-chuyen-sau/bayley-iii/'},
{name: 'Kyoto', sub: '', url: 'https://phuchoi.vn/kien-thuc/cong-cu/chuan-doan-chuyen-sau/kyoto/'},
{name: 'WISC-V', sub: '(kèm WPPSI-IV)', url: 'https://phuchoi.vn/kien-thuc/cong-cu/chuan-doan-chuyen-sau/wisc-v/'},
{name: 'Raven & Leiter-3', sub: '', url: 'https://phuchoi.vn/kien-thuc/cong-cu/chuan-doan-chuyen-sau/raven-leiter-3/'}
],
desc: 'Các thang đo định lượng sự phát triển tâm lý - vận động, cung cấp chỉ số phát triển (DQ) và tuổi phát triển tương đương nhằm đánh giá toàn diện mức độ chậm phát triển đầu đời của trẻ.'
}
];
var card = document.createElement('div');
card.className = 'diag-card';
var intro = document.createElement('div');
intro.className = 'diag-intro';
var icon = document.createElement('div');
icon.className = 'diag-icon';
icon.textContent = '🩺';
var introP = document.createElement('p');
introP.className = 'diag-intro-text';
introP.appendChild(document.createTextNode('Hệ thống '));
var st = document.createElement('strong');
st.textContent = 'thang đo lâm sàng tiêu chuẩn vàng';
introP.appendChild(st);
introP.appendChild(document.createTextNode(' được thực hiện bởi chuyên gia nhằm đưa ra kết luận chính xác về rối loạn phổ tự kỷ và mức độ chậm phát triển của trẻ. Đây là căn cứ khoa học cốt lõi để phân loại mức độ hỗ trợ và định hướng phác đồ can thiệp chuyên biệt.'));
intro.appendChild(icon);
intro.appendChild(introP);
card.appendChild(intro);
var table = document.createElement('table');
table.className = 'diag-table';
var thead = document.createElement('thead');
var trHead = document.createElement('tr');
var headers = [
{txt: 'Lĩnh Vực Chẩn Đoán Lâm Sàng', w: '26%'},
{txt: 'Thang Đo Tiêu Chuẩn Vàng (Nhấn để xem)', w: '32%'},
{txt: 'Giá Trị Khoa Học & Định Hướng Can Thiệp', w: '42%'}
];
headers.forEach(function(h){
var th = document.createElement('th');
th.style.width = h.w;
th.textContent = h.txt;
trHead.appendChild(th);
});
thead.appendChild(trHead);
table.appendChild(thead);
var tbody = document.createElement('tbody');
rowsData.forEach(function(r){
var tr = document.createElement('tr');
var td1 = document.createElement('td');
var tag = document.createElement('span');
tag.className = 'step-tag ' + r.tagCls;
tag.textContent = r.tagTxt;
var badge = document.createElement('div');
badge.className = 'group-badge';
badge.textContent = r.title;
td1.appendChild(tag);
td1.appendChild(badge);
var td2 = document.createElement('td');
var wrap = document.createElement('div');
wrap.className = 'tools-wrap';
r.tools.forEach(function(t){
var a = document.createElement('a');
a.className = 'tool-link ' + r.btnCls;
a.href = t.url;
a.target = '_blank';
a.rel = 'noopener';
a.appendChild(document.createTextNode(t.name));
if(t.sub){
var subSpan = document.createElement('span');
subSpan.className = 'tool-sub';
subSpan.textContent = ' ' + t.sub;
a.appendChild(subSpan);
}
wrap.appendChild(a);
});
td2.appendChild(wrap);
var td3 = document.createElement('td');
var desc = document.createElement('p');
desc.className = 'desc-text';
desc.textContent = r.desc;
td3.appendChild(desc);
tr.appendChild(td1);
tr.appendChild(td2);
tr.appendChild(td3);
tbody.appendChild(tr);
});
table.appendChild(tbody);
card.appendChild(table);
shadow.appendChild(card);
}
if(document.readyState === 'loading'){
document.addEventListener('DOMContentLoaded', mountShadowDiagTable);
} else {
mountShadowDiagTable();
}
})();
[Tự kỷ] ADOS-2: Tiêu chuẩn vàng quan sát lâm sàng xác định rối loạn phổ tự kỷ (Từ 12 tháng tuổi)
(function() { const host = document.getElementById('ados2-wp-host'); if (!host) return; const placeholder = document.createComment('ados2-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // Thông tin cấu hình & Ngưỡng cắt chuẩn của 5 Module ADOS-2 const moduleConfigs = { modT: { code: 'modT', name: 'Module T (Toddler • 12 – 30 tháng)', ageDesc: 'Trẻ từ 12 đến 30 tháng tuổi (đã biết đi độc lập)', langDesc: 'Từ chưa có lời nói đến nói cụm từ ngắn', cutSpectrum: 10, // Ngưỡng Quan ngại Nhẹ - Trung bình cutAutism: 14, // Ngưỡng Quan ngại Trung bình - Nặng isToddler: true, tasks: 'Chơi tự do, Gọi tên, Thổi bong bóng xà phòng, Chơi ú òa / Vận động xã hội, Tắm cho búp bê, Đồ chơi gây ngạc nhiên, Bữa ăn nhẹ.' }, mod1: { code: 'mod1', name: 'Module 1 (≥ 31 tháng • Chưa nói / Từ đơn)', ageDesc: 'Trẻ từ 31 tháng tuổi trở lên', langDesc: 'Chưa có lời nói hoặc chỉ nói từ đơn rời rạc (chưa nói được cụm 3 từ)', cutSpectrum: 8, // Ngưỡng Phổ tự kỷ (ASD) cutAutism: 12, // Ngưỡng Tự kỷ điển hình (Autism) isToddler: false, tasks: 'Chơi tự do, Phản ứng với tên gọi, Chơi bóng luân phiên, Thổi bong bóng, Tiệc sinh nhật giả vờ cho búp bê, Đáp ứng chú ý chung, Bữa ăn nhẹ.' }, mod2: { code: 'mod2', name: 'Module 2 (Nói cụm từ • Chưa lưu loát)', ageDesc: 'Mọi độ tuổi (thường là trẻ mầm non / tiểu học nhỏ)', langDesc: 'Nói được cụm từ ngắn (≥ 3 từ) nhưng chưa nói câu phức lưu loát', cutSpectrum: 8, cutAutism: 10, isToddler: false, tasks: 'Trò chơi lắp ghép, Chơi đóng vai với mô hình nhân vật, Minh họa hành động (đánh răng), Xem sách tranh không chữ, Mô tả bức tranh, Tiệc sinh nhật.' }, mod3: { code: 'mod3', name: 'Module 3 (Trẻ & Thiếu niên • Nói lưu loát)', ageDesc: 'Trẻ em và thiếu niên nhỏ (4 – 15 tuổi)', langDesc: 'Ngôn ngữ nói lưu loát (đặt câu phức, kể chuyện mạch lạc)', cutSpectrum: 7, cutAutism: 9, isToddler: false, tasks: 'Đóng vai tương tác với mô hình, Kể chuyện từ sách tranh, Tự sáng tác câu chuyện từ 5 đồ vật, Trò chuyện về Cảm xúc, Tình bạn & Sự cô đơn.' }, mod4: { code: 'mod4', name: 'Module 4 (≥ 16 tuổi & Người lớn • Lưu loát)', ageDesc: 'Thanh thiếu niên lớn và Người trưởng thành (từ 16 tuổi trở lên)', langDesc: 'Ngôn ngữ nói lưu loát, có mức độ tự lập nhất định', cutSpectrum: 8, cutAutism: 10, isToddler: false, tasks: 'Phỏng vấn công việc/học tập, Các mối quan hệ bạn bè & Hẹn hò/Hôn nhân, Cảm xúc & Sự đồng cảm, Kể chuyện sáng tạo từ 5 đồ vật, Giải thích truyện tranh.' } }; // 14 Chỉ báo cốt lõi trong Bảng Thuật Toán Chẩn Đoán ADOS-2 (10 mục SA + 4 mục RRB) // Mỗi mục chấm 0, 1, 2, 3 (Khi tính vào thuật toán: mức 3 tự động chuyển thành 2 điểm -> Max 28 điểm) const algoItems = [ { id: 1, dom: 'sa', sub: 'Giao tiếp', name: 'A1. Phát âm định hướng xã hội / Tần suất giao tiếp tự phát', desc: 'Mức độ trẻ/người lớn tự nhiên hướng lời nói, âm thanh hoặc cuộc trò chuyện về phía người khám để tương tác xã hội (không chỉ khi đòi hỏi).' }, { id: 2, dom: 'sa', sub: 'Giao tiếp', name: 'A2. Ngữ điệu, Nhịp điệu & Giọng nói khác thường', desc: 'Giọng nói đều đều một tông (monotone), quá to/quá nhỏ, ngữ điệu lơ lớ như robot hoặc nhịp điệu thiếu tự nhiên.' }, { id: 3, dom: 'sa', sub: 'Giao tiếp', name: 'A3. Sử dụng cử chỉ giao tiếp mô tả & Quy ước (Gestures)', desc: 'Khả năng tự nhiên dùng cử chỉ tay (chỉ trỏ, vẫy tay, gật/lắc đầu, mô tả hình dáng/hành động bằng tay) phối hợp với lời nói.' }, { id: 4, dom: 'sa', sub: 'Giao tiếp', name: 'A4. Trò chuyện qua lại hai chiều / Chỉ trỏ giao tiếp', desc: 'Ở Module 2–4: Khả năng nối tiếp câu chuyện qua lại với người khám. Ở Module T/1: Khả năng dùng ngón trỏ chỉ vào vật ở xa để chia sẻ/yêu cầu.' }, { id: 5, dom: 'sa', sub: 'Tương tác xã hội qua lại', name: 'B1. Giao tiếp ánh mắt bất thường (Unusual Eye Contact)', desc: 'Đánh giá sự linh hoạt, tự nhiên và phối hợp của ánh mắt khi bắt đầu, duy trì và điều tiết tương tác xã hội với người khám.' }, { id: 6, dom: 'sa', sub: 'Tương tác xã hội qua lại', name: 'B2. Biểu cảm khuôn mặt hướng tới người khác (Facial Expressions)', desc: 'Sự đa dạng của nét mặt (vui, ngạc nhiên, bối rối...) được hướng trực tiếp về phía người khám để truyền tải cảm xúc.' }, { id: 7, dom: 'sa', sub: 'Tương tác xã hội qua lại', name: 'B3. Chia sẻ niềm vui trong tương tác (Shared Enjoyment)', desc: 'Khả năng bộc lộ và lan tỏa niềm vui chân thực cùng với người khám trong các hoạt động chơi hoặc trò chuyện thú vị.' }, { id: 8, dom: 'sa', sub: 'Tương tác xã hội qua lại', name: 'B4. Khởi xướng & Đáp ứng Chú ý chung / Thấu hiểu cảm xúc (Empathy)', desc: 'Ở Module T/1/2: Phối hợp ánh mắt chia sẻ vật thú vị (Joint Attention). Ở Module 3/4: Khả năng nhận diện, mô tả và đồng cảm với cảm xúc của người khác.' }, { id: 9, dom: 'sa', sub: 'Tương tác xã hội qua lại', name: 'B5. Chất lượng các Khởi xướng xã hội (Quality of Social Overtures)', desc: 'Tính phù hợp về mặt ngữ cảnh và sự phối hợp nhịp nhàng khi chủ động bắt chuyện, khoe đồ hoặc thu hút sự chú ý của người khám.' }, { id: 10, dom: 'sa', sub: 'Tương tác xã hội qua lại', name: 'B6. Chất lượng Đáp ứng xã hội & Mức độ gắn kết tổng thể (Rapport)', desc: 'Cách phản hồi trước các lời mời tương tác của người khám và mức độ thoải mái, tự nhiên của toàn bộ buổi đánh giá.' }, { id: 11, dom: 'rrb', sub: 'Hành vi hạn hẹp & Lặp lại', name: 'D1. Ngôn ngữ rập khuôn / Nhại lời / Cụm từ đặc dị', desc: 'Nhại lời tức thì hoặc trì hoãn (lặp lại lời quảng cáo/phim), đảo ngược đại từ xưng hô hoặc lặp đi lặp lại các câu nói theo khuôn mẫu cứng nhắc.' }, { id: 12, dom: 'rrb', sub: 'Hành vi hạn hẹp & Lặp lại', name: 'D2. Quan tâm giác quan bất thường đối với đồ vật hoặc con người', desc: 'Nhìn nghiêng sát mắt vào đồ vật, xoay bánh xe để ngắm, ngửi/liếm đồ chơi, sờ ngắm kết cấu bề mặt hoặc bịt tai trước âm thanh bình thường.' }, { id: 13, dom: 'rrb', sub: 'Hành vi hạn hẹp & Lặp lại', name: 'D3. Cử động tay, ngón tay và toàn thân định hình (Mannerisms)', desc: 'Vẫy tay, búng/vặn ngón tay trước mắt, nhón gót, xoay tròn hoặc đung đưa cơ thể lặp đi lặp lại.' }, { id: 14, dom: 'rrb', sub: 'Hành vi hạn hẹp & Lặp lại', name: 'D4. Bận tâm quá mức đến chủ đề hẹp / Hành vi nghi thức & Thói quen', desc: 'Xếp hàng đồ vật cứng nhắc, đòi hỏi làm theo đúng một trình tự cố định hoặc chỉ nói mãi về một chủ đề chuyên biệt.' } ]; let currentMod = 'mod1'; let rawScores = {}; // Lưu mức chấm thô: 0, 1, 2, 3 (Khi tính thuật toán: Math.min(2, raw)) let filterDom = 'all'; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .ad-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .ad-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .ad-inner { padding: 24px; max-width: 940px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .ad-wrap.is-fullscreen .ad-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .ad-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(15, 118, 110, 0.45), 0 0 0 0 rgba(15, 118, 110, 0.4); } 70% { box-shadow: 0 6px 20px rgba(15, 118, 110, 0.45), 0 0 0 10px rgba(15, 118, 110, 0); } 100% { box-shadow: 0 6px 20px rgba(15, 118, 110, 0.45), 0 0 0 0 rgba(15, 118, 110, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #0f766e 0%, #0d9488 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(15, 118, 110, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Header */ .ad-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .ad-header-text { flex: 1 1 260px; } .ad-title { font-size: 21px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .ad-desc { font-size: 14px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #f0fdfa; color: #0f766e; border: 1px solid #99f6e4; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #0d9488; color: #ffffff; border-color: #0d9488; } /* Bộ chọn 5 Module ADOS-2 */ .mod-selector-box { background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 12px; padding: 14px; margin-bottom: 16px; } .mod-lbl { font-size: 12.5px; font-weight: 800; color: #0f172a; text-transform: uppercase; margin-bottom: 8px; display: block; } .mod-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; margin-bottom: 12px; } .mod-btn { padding: 10px 8px; border-radius: 9px; border: 1.5px solid #cbd5e1; background: #ffffff; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .mod-btn:hover { border-color: #0d9488; } .mod-btn.active { background: #0f766e; border-color: #0f766e; color: #ffffff; box-shadow: 0 4px 12px rgba(15, 118, 110, 0.25); } .mod-btn-code { font-size: 13.5px; font-weight: 800; display: block; } .mod-btn-sub { font-size: 11px; opacity: 0.85; display: block; margin-top: 2px; } .mod-info-banner { background: #ffffff; border: 1px dashed #99f6e4; border-left: 4px solid #0d9488; padding: 10px 12px; border-radius: 8px; font-size: 13px; color: #334155; } /* Kịch bản mẫu & Lọc trụ cột */ .ad-controls { display: flex; flex-direction: column; gap: 10px; margin-bottom: 18px; } .ad-presets { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; } .ad-preset-lbl { font-size: 12.5px; font-weight: 700; color: #475569; margin-right: 4px; } .ad-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; touch-action: manipulation; } .ad-pbtn:hover { background: #f1f5f9; } .ad-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } .ad-domain-tabs { display: flex; flex-wrap: wrap; gap: 6px; } .ad-dtab { padding: 6px 12px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .ad-dtab.active { background: #0f766e; color: #ffffff; border-color: #0f766e; } /* Sticky Dashboard */ .ad-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .ad-wrap.is-fullscreen .ad-dash { top: 58px; } .ad-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .ad-score-big { font-size: 23px; font-weight: 800; line-height: 1.1; } .ad-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .ad-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .ad-bar-bg { height: 10px; background: #334155; border-radius: 5px; overflow: hidden; margin-bottom: 12px; } .ad-bar-fill { height: 100%; width: 0%; background: #10b981; transition: width 0.35s ease, background 0.35s ease; } .ad-pillars { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; font-size: 12px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .ad-pillar-box { background: #1e293b; padding: 7px 10px; border-radius: 8px; } .ad-pillar-val { font-weight: 700; color: #ffffff; font-size: 13.5px; display: block; margin-top: 2px; } /* Danh sách 14 mục thuật toán */ .ad-q-item { border: 1px solid #e2e8f0; border-radius: 10px; padding: 14px 16px; margin-bottom: 12px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 10px; } .ad-q-item.high-scored { border-color: #fda4af; background: #fff5f5; } .ad-q-item.mid-scored { border-color: #fde68a; background: #fffbeb; } .ad-q-title { font-size: 14.8px; font-weight: 700; color: #0f172a; } .ad-q-desc { font-size: 13.5px; color: #475569; } .ad-q-tags { display: flex; flex-wrap: wrap; gap: 6px; } .ad-tag { font-size: 11px; font-weight: 600; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .ad-tag.dom-sa { background: #dbeafe; color: #1d4ed8; } .ad-tag.dom-rrb { background: #fef3c7; color: #b45309; } .ad-ans-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; } .ad-abtn { padding: 8px 6px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 600; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .ad-abtn:hover { border-color: #64748b; } .ad-abtn.sel-0 { background: #10b981; border-color: #10b981; color: #ffffff; font-weight: 700; } .ad-abtn.sel-1 { background: #f59e0b; border-color: #f59e0b; color: #ffffff; font-weight: 700; } .ad-abtn.sel-2, .ad-abtn.sel-3 { background: #ef4444; border-color: #ef4444; color: #ffffff; font-weight: 700; } .ad-result-box { margin-top: 20px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #64748b; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 720px) { .ad-inner { padding: 14px; } .ad-title { font-size: 18px; } .mod-grid { grid-template-columns: 1fr 1fr; } .ad-pillars { grid-template-columns: 1fr; } .ad-ans-grid { grid-template-columns: 1fr 1fr; } .ad-abtn { padding: 10px 6px; } .ad-pbtn.reset { margin-left: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
Bảng Mô Phỏng Thuật Toán Chẩn Đoán Tiêu Chuẩn Vàng ADOS-2 (5 Module)
Công cụ mô phỏng cách thức quy đổi điểm Thuật toán Chẩn đoán ADOS-2 (Diagnostic Algorithm) trên 2 trụ cột: Cảm xúc Xã hội (SA) và Hành vi Hạn hẹp & Lặp lại (RRB). Hệ thống tự động áp dụng quy tắc chuẩn: mức điểm thô 3 được quy đổi thành 2 điểm thuật toán và ước tính Điểm so sánh mức độ nặng CSS (1 – 10).
• Tổng điểm kết hợp SA + RRB đạt ${total}/28 điểm (SA = ${sa}/20, RRB = ${rrb}/8), thấp hơn ngưỡng điểm cắt của ${cfg.name.split(' (')[0]} (≥ ${cfg.cutSpectrum} điểm).
• Điểm so sánh mức độ (CSS): ${cssInfo.css}/10 (${cssInfo.label}). Nếu trẻ có chậm nói hoặc tăng động nhưng điểm ADOS-2 nằm dưới ngưỡng này, cần tập trung đánh giá Rối loạn ngôn ngữ diễn đạt hoặc ADHD. `; } else if (total < cfg.cutAutism) { color = '#f59e0b'; badgeTxt = cfg.isToddler ? `QUAN NGẠI NHẸ - TRUNG BÌNH (${total}đ)` : `PHỔ TỰ KỶ - ASD (${total}đ • CSS ${cssInfo.css}/10)`; analysis = ` Phân loại Thuật toán ADOS-2 (${cfg.name}) — ${badgeTxt}:
• Tổng điểm thuật toán đạt ${total}/28 điểm (Cảm xúc Xã hội SA = ${sa}/20 • Hành vi Lặp lại RRB = ${rrb}/8), vượt ngưỡng phân loại Phổ tự kỷ (≥ ${cfg.cutSpectrum} điểm).
• Điểm so sánh mức độ (CSS): ${cssInfo.css}/10 (${cssInfo.label}). Kết quả quan sát trực tiếp ủng hộ chẩn đoán Rối loạn phổ tự kỷ mức độ nhẹ - trung bình, cần kết hợp với lịch sử phát triển (ADI-R / DSM-5) và đánh giá hành vi thích ứng (Vineland-3). `; } else { color = '#ef4444'; badgeTxt = cfg.isToddler ? `QUAN NGẠI TRUNG BÌNH - NẶNG (${total}đ)` : `TỰ KỶ ĐIỂN HÌNH - AUTISM (${total}đ • CSS ${cssInfo.css}/10)`; analysis = ` Phân loại Thuật toán ADOS-2 (${cfg.name}) — ${badgeTxt}:
• Tổng điểm thuật toán đạt ${total}/28 điểm (Cảm xúc Xã hội SA = ${sa}/20 • Hành vi Lặp lại RRB = ${rrb}/8), vượt ngưỡng phân loại Tự kỷ điển hình (≥ ${cfg.cutAutism} điểm).
• Điểm so sánh mức độ (CSS): ${cssInfo.css}/10 (${cssInfo.label}). Người được đánh giá thể hiện các thiếu hụt rõ rệt ở cả giao tiếp xã hội tương hỗ và các mẫu hành vi rập khuôn. Khuyến nghị hoàn tất hồ sơ chẩn đoán đa chuyên khoa và triển khai chương trình can thiệp cá nhân hóa (IEP) dựa trên thang Vineland-3. `; } barFill.style.background = color; scoreBadge.textContent = badgeTxt; scoreBadge.style.background = color; scoreBadge.style.color = '#ffffff'; resultBox.style.borderLeftColor = color; resultBox.innerHTML = analysis; updateFloatingFabVisibility(); } function applyPreset(type) { rawScores = {}; if (type === 'reset') { renderItems(); updateSummary(); return; } algoItems.forEach(function(it) { rawScores[it.id] = 0; }); if (type === 'non') { // 3 điểm thuật toán (Dưới ngưỡng) rawScores[2] = 1; rawScores[3] = 1; rawScores[9] = 1; } else if (type === 'spectrum') { // 9 điểm thuật toán (Trong vùng Phổ tự kỷ ASD / Nhẹ - Trung bình) [1, 3, 4, 5, 7, 8, 10, 12, 14].forEach(function(id) { rawScores[id] = 1; }); } else if (type === 'autism') { // 18 điểm thuật toán (Vượt ngưỡng Tự kỷ điển hình, có cả mức 2 và mức 3 quy về 2) [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14].forEach(function(id, idx) { if (idx % 3 === 0) rawScores[id] = 3; // Quy về 2đ else if (idx % 2 === 0) rawScores[id] = 2; // 2đ else rawScores[id] = 1; // 1đ }); } renderItems(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); adWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { adWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 940px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } shadow.querySelectorAll('#modGrid .mod-btn').forEach(function(btn) { btn.onclick = function() { currentMod = this.getAttribute('data-mod'); shadow.querySelectorAll('#modGrid .mod-btn').forEach(b => b.classList.remove('active')); this.classList.add('active'); renderModBanner(); updateSummary(); }; }); shadow.querySelectorAll('.ad-pbtn').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-preset')); }; }); shadow.querySelectorAll('#domainTabs .ad-dtab').forEach(function(tab) { tab.onclick = function() { filterDom = this.getAttribute('data-dom'); shadow.querySelectorAll('#domainTabs .ad-dtab').forEach(t => t.classList.remove('active')); this.classList.add('active'); renderItems(); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); renderModBanner(); applyPreset('autism'); })();
ADOS-2 (Autism Diagnostic Observation Schedule, Second Edition — Lịch trình Quan sát Chẩn đoán Tự kỷ, Phiên bản 2) là công cụ đánh giá lâm sàng được y khoa thế giới công nhận là “Tiêu chuẩn vàng” (Gold Standard) trong việc chẩn đoán xác định Rối loạn phổ tự kỷ (ASD). Công cụ này được phát triển bởi Giáo sư Catherine Lord, Michael Rutter và các cộng sự (xuất bản bởi WPS năm 2012).
Khác hoàn toàn với các công cụ sàng lọc (Screening) dựa trên bảng hỏi như M-CHAT-R/F, SCQ, CAST, ASSQ hay AQ, ADOS-2 là công cụ CHẨN ĐOÁN (Diagnostic) thông qua việc nhà lâm sàng trực tiếp tương tác, tạo ra các “tình huống xã hội có cấu trúc” (Social Presses) để quan sát phản ứng thực tế của trẻ/người lớn trong khoảng 40 – 60 phút.
1. Hệ thống 5 Module của ADOS-2 (Chọn theo Mức độ Ngôn ngữ & Độ tuổi)
Điểm độc đáo nhất của ADOS-2 là không dùng một bài kiểm tra chung cho mọi người, mà chia thành 5 Module riêng biệt. Chuyên gia bắt buộc phải chọn đúng 1 Module khớp với khả năng ngôn ngữ diễn đạt hiện tại và độ tuổi của người được khám (để tránh việc trẻ bị điểm kém chỉ vì chưa biết nói):
| Module | Đối tượng & Độ tuổi | Mức độ ngôn ngữ diễn đạt yêu cầu | Hoạt động tương tác tiêu biểu trong phòng khám |
| Module T(Toddler) | Trẻ nhỏ 12 – 30 tháng tuổi (Biết đi độc lập) | Chưa nói đến nói cụm từ đơn giản. | Chơi bóng luân phiên, thổi bong bóng xà phòng, tắm cho búp bê, chơi ú òa, gây ngạc nhiên bằng đồ chơi điều khiển. |
| Module 1 | Trẻ từ 31 tháng tuổi trở lên | Chưa có lời nói hoặc chỉ nói từ đơn rời rạc (Chưa nói được cụm 3 từ). | Tương tác tự do, tiệc sinh nhật giả vờ cho búp bê, thổi bong bóng, gọi tên, chỉ trỏ chú ý chung. |
| Module 2 | Mọi độ tuổi (Thường là trẻ mẫu giáo) | Nói được cụm từ ngắn(từ 3 từ trở lên) nhưng chưa nói lưu loát. | Chơi đóng vai tưởng tượng với mô hình nhân vật, xem sách tranh không chữ, trò chuyện đơn giản, mô tả bức tranh. |
| Module 3 | Trẻ em & Thiếu niên nhỏ (Thường 4 – 15 tuổi) | Ngôn ngữ nói lưu loát(Nói được câu phức, kể chuyện quá khứ/tương lai). | Đóng vai câu chuyện bằng mô hình, tự sáng tác câu chuyện từ 5 đồ vật bất kỳ, phỏng vấn về tình bạn, sự cô đơn và cảm xúc. |
| Module 4 | Thanh thiếu niên lớn & Người lớn (Từ 16 tuổi trở lên) | Ngôn ngữ nói lưu loát và có tính tự lập nhất định. | Phỏng vấn chuyên sâu về công việc/học tập, tình bạn, hôn nhân/hẹn hò, cảm xúc cá nhân, giải thích truyện tranh và kể chuyện sáng tạo. |
2. Cấu trúc Chấm điểm Thuật toán ADOS-2 (Algorithm Scoring)
Trong lúc tương tác, chuyên gia ghi chép rất nhiều hành vi, nhưng khi đưa vào Bảng Thuật Toán Chẩn Đoán (Diagnostic Algorithm), ADOS-2 chỉ lọc ra 14 chỉ báo cốt lõi nhất chia làm 2 trụ cột (bám sát tiêu chuẩn DSM-5):
-
Cảm xúc Xã hội (Social Affect – SA • 10 mục): Bao gồm Giao tiếp (ngữ điệu, cử chỉ, chỉ trỏ, hội thoại) và Tương tác xã hội qua lại (giao tiếp mắt bất thường, biểu cảm nét mặt, chia sẻ niềm vui, chú ý chung, chất lượng khởi xướng và đáp ứng xã hội).
-
Hành vi Hạn hẹp và Lặp đi lặp lại (Restricted and Repetitive Behavior – RRB • 4 mục): Ngôn ngữ rập khuôn/nhại lời, thu hút giác quan lạ, cử động tay/cơ thể định hình (stimming) và mối bận tâm/nghi thức cứng nhắc.
-
Quy tắc quy đổi điểm đặc biệt của ADOS-2:
-
Khi chấm thô tại phòng khám, mỗi mục chấm từ
0đến3điểm (0= Bình thường,1= Bất thường nhẹ,2= Bất thường rõ rệt,3= Bất thường nghiêm trọng). -
Tuy nhiên, khi cộng vào Thuật toán chẩn đoán: Mọi mức điểm
3đều được quy đổi về2điểm (để một hành vi quá nặng không làm lệch tổng điểm toàn bài). Như vậy mỗi mục trong thuật toán có giá trị 0, 1 hoặc 2 điểm (Tổng điểm tối đa của 14 mục thuật toán là 28 điểm).
-
-
Phân loại kết quả & Điểm so sánh mức độ (CSS – Calibrated Severity Score):
-
Module 1 – 4: Phân loại thành 3 mức: Không thuộc phổ tự kỷ (Non-spectrum) Phổ tự kỷ (Autism Spectrum – ASD) Tự kỷ điển hình (Autism), đồng thời quy đổi ra Điểm so sánh CSS (từ 1 đến 10 điểm) để biết mức độ triệu chứng từ Rất nhẹ (1–2), Nhẹ (3–4), Trung bình (5–7) đến Nặng (8–10).
-
Module T (12–30 tháng): Vì trẻ quá nhỏ chưa kết luận chẩn đoán cứng, ADOS-2 phân thành 3 mức độ Quan ngại (Range of Concern): Ít/Không quan ngại Quan ngại nhẹ – trung bình Quan ngại trung bình – nặng.
-
[Tự kỷ] ADI-R: Phỏng vấn sâu lịch sử phát triển chẩn đoán phổ tự kỷ cho trẻ từ 2 tuổi
(function() { const host = document.getElementById('adir-wp-host'); if (!host) return; const placeholder = document.createComment('adir-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // 37 Mục cốt lõi trong Thuật toán Chẩn đoán ADI-R chia theo 4 Miền (A, B, C, D) và các Tiểu lĩnh vực chuẩn // dom: 'A' (Tương tác xã hội - Cut >= 10), 'B' (Giao tiếp - Cut >= 8 nếu có lời nói, >= 7 nếu chưa nói), 'C' (Hành vi lặp lại - Cut >= 3), 'D' (Khởi phát = 1) // verbalOnly: true đối với tiểu lĩnh vực B2(V) và B3(V) (Chỉ tính cho trẻ/người có ngôn ngữ nói cụm từ) const algoItems = [ // MIỀN A: TƯƠNG TÁC XÃ HỘI QUA LẠI (15 mục -> Tối đa 30 điểm thuật toán, Ngưỡng cắt >= 10) { id: 1, dom: 'A', sub: 'A1. Hành vi phi ngôn ngữ điều tiết tương tác', verbalOnly: false, name: 'A1.1. Giao tiếp ánh mắt trực diện (Direct Gaze)', desc: 'Mức độ sử dụng ánh mắt nhìn trực diện vào mặt người khác để bắt đầu, duy trì và điều tiết tương tác xã hội (Giai đoạn 4–5 tuổi / Hiện tại).' }, { id: 2, dom: 'A', sub: 'A1. Hành vi phi ngôn ngữ điều tiết tương tác', verbalOnly: false, name: 'A1.2. Nụ cười xã hội (Social Smiling)', desc: 'Khả năng mỉm cười tự nhiên đáp lại người khác hoặc mỉm cười kết hợp nhìn mắt để chào hỏi, chia sẻ sự thân thiện.' }, { id: 3, dom: 'A', sub: 'A1. Hành vi phi ngôn ngữ điều tiết tương tác', verbalOnly: false, name: 'A1.3. Độ đa dạng biểu cảm khuôn mặt dùng để giao tiếp', desc: 'Sự phong phú của nét mặt (ngạc nhiên, vui, buồn, bối rối...) được hướng về phía người khác để truyền tải cảm xúc.' }, { id: 4, dom: 'A', sub: 'A2. Phát triển mối quan hệ bạn bè đồng trang lứa', verbalOnly: false, name: 'A2.1. Chơi tưởng tượng cùng với bạn đồng trang lứa', desc: 'Khả năng cùng bàn bạc, chia vai và phối hợp chơi đóng vai giả vờ chung với các bạn nhỏ khác.' }, { id: 5, dom: 'A', sub: 'A2. Phát triển mối quan hệ bạn bè đồng trang lứa', verbalOnly: false, name: 'A2.2. Sự quan tâm đến những đứa trẻ khác', desc: 'Mức độ chú ý, thích thú quan sát và muốn tiến lại gần các bạn cùng lứa tuổi.' }, { id: 6, dom: 'A', sub: 'A2. Phát triển mối quan hệ bạn bè đồng trang lứa', verbalOnly: false, name: 'A2.3. Phản ứng khi những đứa trẻ khác tiến lại gần', desc: 'Sự cởi mở, vui vẻ và hợp tác khi một bạn nhỏ khác chủ động tiến tới rủ chơi hoặc bắt chuyện.' }, { id: 7, dom: 'A', sub: 'A2. Phát triển mối quan hệ bạn bè đồng trang lứa', verbalOnly: false, name: 'A2.4. Chơi theo nhóm với bạn đồng trang lứa / Tình bạn thân', desc: 'Khả năng tham gia các trò chơi tập thể luân phiên (từ 4–10 tuổi) hoặc xây dựng tình bạn thân thiết hai chiều (từ 10 tuổi trở lên).' }, { id: 8, dom: 'A', sub: 'A3. Chia sẻ niềm vui và sở thích chung', verbalOnly: false, name: 'A3.1. Đưa đồ vật cho người khác xem và định hướng chú ý (Showing)', desc: 'Chủ động mang đồ chơi, bức vẽ hoặc vật mới lạ lại khoe với bố mẹ chỉ để chia sẻ niềm vui (chứ không phải để nhờ sửa/mở giúp).' }, { id: 9, dom: 'A', sub: 'A3. Chia sẻ niềm vui và sở thích chung', verbalOnly: false, name: 'A3.2. Tự nguyện chia sẻ đồ vật với người khác (Offering to Share)', desc: 'Tự giác mời hoặc chia sẻ đồ ăn, món đồ chơi yêu thích với bố mẹ hoặc bạn bè.' }, { id: 10, dom: 'A', sub: 'A3. Chia sẻ niềm vui và sở thích chung', verbalOnly: false, name: 'A3.3. Tìm kiếm việc chia sẻ niềm vui với người khác', desc: 'Mong muốn lôi cuốn bố mẹ/người thân cùng tham gia vào hoạt động trẻ đang hứng thú để nhân đôi niềm vui.' }, { id: 11, dom: 'A', sub: 'A4. Tương hỗ về mặt cảm xúc – xã hội', verbalOnly: false, name: 'A4.1. Sử dụng cơ thể của người khác để giao tiếp (Use of Other’s Body)', desc: 'Cầm bàn tay hoặc cổ tay của bố mẹ đặt vào nắm cửa, nắp hộp như một công cụ cơ học mà không nhìn mặt hay giao tiếp.' }, { id: 12, dom: 'A', sub: 'A4. Tương hỗ về mặt cảm xúc – xã hội', verbalOnly: false, name: 'A4.2. Chủ động vỗ về, an ủi người khác (Offering Comfort)', desc: 'Tự nhiên nhận ra khi bố mẹ/người thân bị đau hoặc buồn khóc và tiến lại vỗ về, hỏi thăm, ôm an ủi.' }, { id: 13, dom: 'A', sub: 'A4. Tương hỗ về mặt cảm xúc – xã hội', verbalOnly: false, name: 'A4.3. Chất lượng các khởi xướng xã hội (Quality of Social Overtures)', desc: 'Sự phối hợp nhịp nhàng giữa ánh mắt, nét mặt, cử chỉ và âm thanh khi trẻ chủ động xin giúp đỡ hoặc bắt chuyện.' }, { id: 14, dom: 'A', sub: 'A4. Tương hỗ về mặt cảm xúc – xã hội', verbalOnly: false, name: 'A4.4. Biểu cảm khuôn mặt không phù hợp ngữ cảnh', desc: 'Cười to vô cớ một mình hoặc biểu lộ nét mặt hoàn toàn lệch pha với bầu không khí cảm xúc xung quanh.' }, { id: 15, dom: 'A', sub: 'A4. Tương hỗ về mặt cảm xúc – xã hội', verbalOnly: false, name: 'A4.5. Tính phù hợp của các phản ứng xã hội', desc: 'Mức độ đáp lại tự nhiên, đúng ngữ cảnh khi người lớn hoặc người quen bắt chuyện, gợi chuyện.' }, // MIỀN B: GIAO TIẾP (13 mục cho nhóm Có lời nói -> Max 26đ, Cut >= 8 | 7 mục cho nhóm Chưa nói -> Max 14đ, Cut >= 7) { id: 16, dom: 'B', sub: 'B1. Cử chỉ giao tiếp & Bù đắp phi ngôn ngữ', verbalOnly: false, name: 'B1.1. Chỉ trỏ để thể hiện sự quan tâm / chia sẻ (Pointing to Express Interest)', desc: 'Dùng ngón trỏ chỉ vào các vật ở xa (máy bay, con vật, tranh ảnh) kết hợp nhìn lại bố mẹ để chia sẻ sự chú ý.' }, { id: 17, dom: 'B', sub: 'B1. Cử chỉ giao tiếp & Bù đắp phi ngôn ngữ', verbalOnly: false, name: 'B1.2. Gật đầu biểu thị ý "Có / Đồng ý"', desc: 'Sử dụng cử chỉ gật đầu tự nhiên để trả lời đồng ý trong giao tiếp hàng ngày.' }, { id: 18, dom: 'B', sub: 'B1. Cử chỉ giao tiếp & Bù đắp phi ngôn ngữ', verbalOnly: false, name: 'B1.3. Lắc đầu biểu thị ý "Không / Từ chối"', desc: 'Sử dụng cử chỉ lắc đầu tự nhiên để từ chối hoặc phủ định.' }, { id: 19, dom: 'B', sub: 'B1. Cử chỉ giao tiếp & Bù đắp phi ngôn ngữ', verbalOnly: false, name: 'B1.4. Các cử chỉ quy ước và cử chỉ mô tả bằng tay', desc: 'Vẫy tay chào tạm biệt, vỗ tay hoan hô, ra hiệu im lặng hoặc dùng tay mô tả hình dáng/hành động của sự vật.' }, { id: 20, dom: 'B', sub: 'B4. Chơi giả vờ và Bắt chước xã hội', verbalOnly: false, name: 'B4.1. Bắt chước tự phát các hành động của người khác', desc: 'Tự nhiên bắt chước các việc làm hàng ngày của bố mẹ (như quét nhà, lau bàn, nghe điện thoại, nấu ăn) mà không cần nhắc.' }, { id: 21, dom: 'B', sub: 'B4. Chơi giả vờ và Bắt chước xã hội', verbalOnly: false, name: 'B4.2. Chơi giả vờ / Chơi đóng vai tưởng tượng (Imaginative Play)', desc: 'Sử dụng búp bê, mô hình nhân vật hoặc đồ vật thay thế để dựng các kịch bản đóng vai đa dạng, sáng tạo.' }, { id: 22, dom: 'B', sub: 'B4. Chơi giả vờ và Bắt chước xã hội', verbalOnly: false, name: 'B4.3. Chơi các trò chơi xã hội bắt chước qua lại', desc: 'Hào hứng tham gia và chủ động khởi xướng các trò chơi tương tác như ú òa, chi chi chành chành, vỗ tay theo bài hát.' }, { id: 23, dom: 'B', sub: 'B2(V). Khởi xướng và Duy trì hội thoại (Chỉ chấm khi có lời nói)', verbalOnly: true, name: 'B2(V).1. Tán gẫu xã hội / Trò chuyện thân thiện (Social Verbalization)', desc: 'Nói chuyện với người khác chỉ nhằm mục đích thân thiện, chia sẻ trải nghiệm (chứ không chỉ để xin đồ hoặc hỏi thông tin).' }, { id: 24, dom: 'B', sub: 'B2(V). Khởi xướng và Duy trì hội thoại (Chỉ chấm khi có lời nói)', verbalOnly: true, name: 'B2(V).2. Hội thoại qua lại hai chiều (Reciprocal Conversation)', desc: 'Khả năng lắng nghe ý của người đối diện và nối tiếp câu chuyện qua lại nhiều lượt một cách linh hoạt.' }, { id: 25, dom: 'B', sub: 'B3(V). Ngôn ngữ rập khuôn, lặp lại và đặc dị (Chỉ chấm khi có lời nói)', verbalOnly: true, name: 'B3(V).1. Ngôn ngữ rập khuôn / Nhại lời trì hoãn', desc: 'Lặp đi lặp lại các câu thoại từ tivi, quảng cáo, sách truyện hoặc dùng các cụm từ khuôn mẫu cố định.' }, { id: 26, dom: 'B', sub: 'B3(V). Ngôn ngữ rập khuôn, lặp lại và đặc dị (Chỉ chấm khi có lời nói)', verbalOnly: true, name: 'B3(V).2. Câu hỏi hoặc phát ngôn không phù hợp ngữ cảnh', desc: 'Hay buột miệng đặt những câu hỏi cá nhân thiếu tế nhị hoặc nói những câu lạc lõng với hoàn cảnh xã hội.' }, { id: 27, dom: 'B', sub: 'B3(V). Ngôn ngữ rập khuôn, lặp lại và đặc dị (Chỉ chấm khi có lời nói)', verbalOnly: true, name: 'B3(V).3. Đảo ngược đại từ nhân xưng (Pronominal Reversal)', desc: 'Nhầm lẫn đại từ xưng hô (xưng "Bạn / Mẹ / Anh" thay vì "Con / Tôi", hoặc tự gọi bản thân bằng tên riêng ở ngôi thứ ba).' }, { id: 28, dom: 'B', sub: 'B3(V). Ngôn ngữ rập khuôn, lặp lại và đặc dị (Chỉ chấm khi có lời nói)', verbalOnly: true, name: 'B3(V).4. Từ ngữ tự bịa / Cách dùng từ đặc dị (Neologisms)', desc: 'Tự đặt ra các từ mới không có trong từ điển hoặc gán một ý nghĩa riêng biệt kỳ lạ cho từ ngữ thông thường.' }, // MIỀN C: HÀNH VI HẠN HẸP, LẶP LẠI VÀ RẬP KHUÔN (6 mục -> Tối đa 12 điểm thuật toán, Ngưỡng cắt >= 3) { id: 29, dom: 'C', sub: 'C1. Bận tâm bao trùm và Sở thích hạn hẹp', verbalOnly: false, name: 'C1.1. Sở thích khác thường (Unusual Preoccupations)', desc: 'Mối quan tâm kỳ lạ về mặt nội dung (như biển số xe, lịch vạn niên, hệ thống ống nước, quạt trần, sơ đồ tàu điện).' }, { id: 30, dom: 'C', sub: 'C1. Bận tâm bao trùm và Sở thích hạn hẹp', verbalOnly: false, name: 'C1.2. Sở thích thu hẹp với cường độ quá mức (Circumscribed Interests)', desc: 'Đam mê một chủ đề với mức độ mãnh liệt, chiếm trọn thời gian rảnh và cản trở các hoạt động sinh hoạt/giao lưu khác.' }, { id: 31, dom: 'C', sub: 'C2. Thói quen, Nghi thức cứng nhắc và Kháng cự thay đổi', verbalOnly: false, name: 'C2.1. Nghi thức lời nói hoặc Nghi thức hành vi bắt buộc', desc: 'Bắt buộc phải thực hiện các hành động theo đúng một trình tự cố định hoặc ép người nhà phải nói/trả lời theo đúng một kịch bản.' }, { id: 32, dom: 'C', sub: 'C3. Cử động tay và cơ thể định hình, rập khuôn', verbalOnly: false, name: 'C3.1. Cử động tay/ngón tay hoặc toàn thân định hình (Mannerisms)', desc: 'Vẫy tay, búng/xoắn ngón tay trước mắt, nhón chân đi lại, xoay tròn người hoặc đung đưa thân mình lặp đi lặp lại.' }, { id: 33, dom: 'C', sub: 'C4. Bận tâm đến bộ phận đồ vật hoặc Giác quan bất thường', verbalOnly: false, name: 'C4.1. Sử dụng đồ vật lặp lại / Bận tâm đến bộ phận của đồ vật', desc: 'Xếp hàng dài các đồ vật, chỉ thích xoay bánh xe ô tô hoặc bật/tắt công tắc liên tục thay vì chơi đúng chức năng.' }, { id: 34, dom: 'C', sub: 'C4. Bận tâm đến bộ phận đồ vật hoặc Giác quan bất thường', verbalOnly: false, name: 'C4.2. Các mối quan tâm giác quan khác thường (Unusual Sensory Interests)', desc: 'Nhìn nghiêng sát mắt vào vật chuyển động, ngửi/liếm đồ vật không phải thức ăn, hoặc mê mẩn sờ ngắm một số bề mặt.' }, // MIỀN D: BẤT THƯỜNG PHÁT TRIỂN KHỞI PHÁT TRƯỚC 36 THÁNG TUỔI (3 nhóm chỉ báo đại diện -> Ngưỡng cắt >= 1) { id: 35, dom: 'D', sub: 'D. Khởi phát bất thường ≤ 36 tháng tuổi (Tính 0 hoặc 1 điểm)', verbalOnly: false, name: 'D1. Cha mẹ nhận thấy dấu hiệu bất thường đầu tiên trước 36 tháng tuổi', desc: 'Phụ huynh đã bắt đầu lo lắng về sự phát triển ngôn ngữ, giao tiếp mắt hoặc phản ứng xã hội của bé từ khi bé dưới 3 tuổi.' }, { id: 36, dom: 'D', sub: 'D. Khởi phát bất thường ≤ 36 tháng tuổi (Tính 0 hoặc 1 điểm)', verbalOnly: false, name: 'D2. Chậm mốc nói từ đơn (> 24 tháng) hoặc nói cụm từ (> 33 tháng)', desc: 'Bé nói từ đơn có nghĩa đầu tiên sau 24 tháng tuổi HOẶC nói cụm từ (2–3 từ) đầu tiên sau 33 tháng tuổi (hoặc từng mất kỹ năng ngôn ngữ).' }, { id: 37, dom: 'D', sub: 'D. Khởi phát bất thường ≤ 36 tháng tuổi (Tính 0 hoặc 1 điểm)', verbalOnly: false, name: 'D3. Nhận định của chuyên gia lâm sàng về thời điểm khởi phát ≤ 36 tháng', desc: 'Dựa trên toàn bộ bệnh sử, nhà lâm sàng xác nhận các bất thường phát triển đã xuất hiện trước mốc 36 tháng tuổi.' } ]; let isVerbal = true; // true = Có ngôn ngữ nói (Miền B max 26, cut >= 8) | false = Chưa có lời nói (Miền B bỏ B2V & B3V, max 14, cut >= 7) let rawScores = {}; // Lưu 0, 1, 2, 3 let filterDom = 'all'; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .ar-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .ar-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .ar-inner { padding: 24px; max-width: 940px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .ar-wrap.is-fullscreen .ar-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .ar-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(30, 58, 138, 0.45), 0 0 0 0 rgba(30, 58, 138, 0.4); } 70% { box-shadow: 0 6px 20px rgba(30, 58, 138, 0.45), 0 0 0 10px rgba(30, 58, 138, 0); } 100% { box-shadow: 0 6px 20px rgba(30, 58, 138, 0.45), 0 0 0 0 rgba(30, 58, 138, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #1e3a8a 0%, #2563eb 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(30, 58, 138, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Header */ .ar-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .ar-header-text { flex: 1 1 260px; } .ar-title { font-size: 21px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .ar-desc { font-size: 14px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #eff6ff; color: #1e3a8a; border: 1px solid #bfdbfe; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #2563eb; color: #ffffff; border-color: #2563eb; } /* Top Controls */ .ar-top-controls { display: grid; grid-template-columns: 1fr 1.25fr; gap: 12px; margin-bottom: 14px; } .ar-box-ctrl { background: #f8fafc; border: 1px solid #e2e8f0; padding: 10px 12px; border-radius: 10px; } .ar-ctrl-label { font-size: 12px; font-weight: 700; color: #475569; text-transform: uppercase; margin-bottom: 6px; display: block; } .ar-btn-group { display: flex; flex-wrap: wrap; gap: 6px; } .ar-btn-sm { padding: 6px 10px; border-radius: 7px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; flex: 1; text-align: center; touch-action: manipulation; } .ar-btn-sm:hover { background: #f1f5f9; } .ar-btn-sm.active { background: #1e3a8a; color: #ffffff; border-color: #1e3a8a; } .ar-btn-sm.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; flex: 0 0 auto; } .ar-domain-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 16px; } .ar-dtab { padding: 6px 12px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .ar-dtab.active { background: #1e3a8a; color: #ffffff; border-color: #1e3a8a; } /* Sticky Dashboard */ .ar-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .ar-wrap.is-fullscreen .ar-dash { top: 58px; } .ar-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .ar-score-big { font-size: 21px; font-weight: 800; line-height: 1.2; } .ar-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .ar-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .ar-pillars { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; font-size: 12px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .ar-pillar-box { background: #1e293b; padding: 8px 10px; border-radius: 8px; border-left: 3px solid #475569; } .ar-pillar-box.met { border-left-color: #ef4444; background: rgba(239, 68, 68, 0.14); } .ar-pillar-box.safe { border-left-color: #10b981; } .ar-pillar-val { font-weight: 700; color: #ffffff; font-size: 13.5px; display: block; margin-top: 2px; } /* Danh sách mục phỏng vấn thuật toán */ .ar-q-item { border: 1px solid #e2e8f0; border-radius: 10px; padding: 14px 16px; margin-bottom: 12px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 10px; } .ar-q-item.high-scored { border-color: #fda4af; background: #fff5f5; } .ar-q-item.mid-scored { border-color: #fde68a; background: #fffbeb; } .ar-q-item.skipped-item { opacity: 0.45; background: #f8fafc; border-style: dashed; pointer-events: none; } .ar-q-title { font-size: 14.8px; font-weight: 700; color: #0f172a; } .ar-q-desc { font-size: 13.5px; color: #475569; } .ar-q-tags { display: flex; flex-wrap: wrap; gap: 6px; } .ar-tag { font-size: 11px; font-weight: 600; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .ar-tag.dom-A { background: #dbeafe; color: #1d4ed8; } .ar-tag.dom-B { background: #f3e8ff; color: #7e22ce; } .ar-tag.dom-C { background: #fef3c7; color: #b45309; } .ar-tag.dom-D { background: #dcfce7; color: #15803d; } .ar-ans-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; } .ar-abtn { padding: 8px 6px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 600; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .ar-abtn:hover { border-color: #64748b; } .ar-abtn.sel-0 { background: #10b981; border-color: #10b981; color: #ffffff; font-weight: 700; } .ar-abtn.sel-1 { background: #f59e0b; border-color: #f59e0b; color: #ffffff; font-weight: 700; } .ar-abtn.sel-2, .ar-abtn.sel-3 { background: #ef4444; border-color: #ef4444; color: #ffffff; font-weight: 700; } .ar-result-box { margin-top: 20px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #64748b; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 720px) { .ar-inner { padding: 14px; } .ar-title { font-size: 18px; } .ar-top-controls { grid-template-columns: 1fr; } .ar-pillars { grid-template-columns: 1fr 1fr; } .ar-ans-grid { grid-template-columns: 1fr 1fr; } .ar-abtn { padding: 10px 6px; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
Bảng Chấm Điểm Thuật Toán Phỏng Vấn Chẩn Đoán Tự Kỷ ADI-R (4 Miền Cốt Lõi)
Công cụ phỏng vấn chẩn đoán tiêu chuẩn vàng của Rutter, Le Couteur & Lord (2003) dành cho cá nhân có tuổi phát triển tâm thần từ 24 tháng trở lên. Hệ thống tự động quy đổi điểm thuật toán (mức 3 quy về 2 điểm) và đối chiếu điều kiện đạt chuẩn chẩn đoán trên cả 4 miền: Miền A (≥ 10đ), Miền B (≥ 8đ hoặc ≥ 7đ), Miền C (≥ 3đ) và Miền D (≥ 1đ).
• Miền A (Tương tác xã hội qua lại): Đạt ${sA}/30 điểm (Vượt ngưỡng chuẩn ≥ 10 điểm).
• Miền B (Giao tiếp - ${isVerbal ? 'Nhóm có lời nói' : 'Nhóm chưa có lời nói'}): Đạt ${sB}/${maxB} điểm (Vượt ngưỡng chuẩn ≥ ${cutB} điểm).
• Miền C (Hành vi hạn hẹp & Lặp lại): Đạt ${sC}/12 điểm (Vượt ngưỡng chuẩn ≥ 3 điểm).
• Miền D (Khởi phát bất thường ≤ 36 tháng): Đạt ${sD}/3 điểm (Vượt ngưỡng chuẩn ≥ 1 điểm).
• Hướng xử trí lâm sàng: Hồ sơ lịch sử phát triển trên ADI-R hoàn toàn khớp với chẩn đoán Rối loạn phổ tự kỷ. Cần kết hợp đối chiếu với kết quả quan sát trực tiếp trên ADOS-2 và thang hành vi thích ứng Vineland-3 để hoàn thiện báo cáo chẩn đoán xác định. `; } else if (metCount >= 2) { scoreBadge.textContent = `ĐẠT ${metCount}/4 MIỀN (HỒ SƠ KHÔNG ĐIỂN HÌNH)`; scoreBadge.style.background = '#f59e0b'; scoreBadge.style.color = '#ffffff'; resultBox.style.borderLeftColor = '#f59e0b'; resultBox.innerHTML = ` Kết luận Thuật toán ADI-R — Hồ Sơ Phổ Tự Kỷ Không Điển Hình / Chưa Đủ 4 Miền (Đạt ${metCount}/4 Miền):
• Theo quy tắc nghiêm ngặt của ADI-R, chẩn đoán Tự kỷ cổ điển yêu cầu vượt ngưỡng ở cả 4 miền. Hiện tại hồ sơ đạt: Miền A (${sA}/30, ngưỡng ≥10) • Miền B (${sB}/${maxB}, ngưỡng ≥${cutB}) • Miền C (${sC}/12, ngưỡng ≥3) • Miền D (${sD}/3, ngưỡng ≥1).
• Ý nghĩa lâm sàng: Trường hợp vượt ngưỡng ở Miền A và Miền B nhưng thiếu Miền C (Hành vi lặp lại) rất hay gặp ở Rối loạn giao tiếp xã hội (SPCD) hoặc Tự kỷ mức độ nhẹ/chức năng cao. Cần kết hợp kết quả quan sát trực tiếp ADOS-2 và tiêu chuẩn DSM-5 để quyết định chẩn đoán cuối cùng. `; } else { scoreBadge.textContent = `DƯỚI NGƯỠNG CHẨN ĐOÁN ADI-R (${metCount}/4 MIỀN)`; scoreBadge.style.background = '#10b981'; scoreBadge.style.color = '#ffffff'; resultBox.style.borderLeftColor = '#10b981'; resultBox.innerHTML = ` Kết luận Thuật toán ADI-R — Không Đạt Ngưỡng Chẩn Đoán Tự Kỷ (Chỉ đạt ${metCount}/4 Miền):
• Điểm số chi tiết: Miền A (${sA}/30) • Miền B (${sB}/${maxB}) • Miền C (${sC}/12) • Miền D (${sD}/3).
• Nếu trẻ chỉ tăng điểm đơn độc ở Miền B (Giao tiếp) và Miền D (Chậm nói trước 36 tháng) nhưng Miền A (Tương tác xã hội) và Miền C (Hành vi lặp lại) hoàn toàn bình thường, hồ sơ hướng tới Rối loạn ngôn ngữ phát triển (DLD) chứ không phải Rối loạn phổ tự kỷ. `; } updateFloatingFabVisibility(); } function applyPreset(type) { rawScores = {}; if (type === 'reset') { renderItems(); updateSummary(); return; } algoItems.forEach(function(it) { rawScores[it.id] = 0; }); if (type === 'non') { // Rối loạn ngôn ngữ đơn thuần: Miền A = 3đ (Dưới ngưỡng 10), Miền B = 6đ, Miền C = 1đ, Miền D = 2đ [1, 4, 21].forEach(id => { rawScores[id] = 1; }); [16, 19, 20, 23, 24].forEach(id => { rawScores[id] = 1; }); rawScores[29] = 1; rawScores[35] = 1; rawScores[36] = 1; } else if (type === 'partial') { // Đạt Miền A (14đ), Miền B (10đ), Miền D (2đ), nhưng thiếu Miền C (1đ { rawScores[id] = (idx { rawScores[id] = (idx = 3) rawScores[35] = 1; rawScores[37] = 1; } else if (type === 'autism') { // Đạt chuẩn cả 4 miền: Miền A (19đ), Miền B (15đ), Miền C (7đ), Miền D (3đ) [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15].forEach((id, idx) => { rawScores[id] = (idx { rawScores[id] = (idx { rawScores[id] = (idx < 2) ? 2 : 1; }); rawScores[35] = 2; rawScores[36] = 2; rawScores[37] = 1; } renderItems(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); arWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { arWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 940px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } shadow.querySelectorAll('#verbalGroup .ar-btn-sm').forEach(function(btn) { btn.onclick = function() { isVerbal = (this.getAttribute('data-verbal') === 'yes'); shadow.querySelectorAll('#verbalGroup .ar-btn-sm').forEach(b => b.classList.remove('active')); this.classList.add('active'); renderItems(); updateSummary(); }; }); shadow.querySelectorAll('#presetGroup .ar-btn-sm').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-pre')); }; }); shadow.querySelectorAll('#domainTabs .ar-dtab').forEach(function(tab) { tab.onclick = function() { filterDom = this.getAttribute('data-dom'); shadow.querySelectorAll('#domainTabs .ar-dtab').forEach(t => t.classList.remove('active')); this.classList.add('active'); renderItems(); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); applyPreset('autism'); })();
ADI-R (Autism Diagnostic Interview-Revised — Phỏng vấn Chẩn đoán Tự kỷ, Bản Hiệu đính) là công cụ phỏng vấn lâm sàng bán cấu trúc chuyên sâu dành cho phụ huynh hoặc người chăm sóc chính, được phát triển bởi Giáo sư Michael Rutter, Ann Le Couteur và Catherine Lord (2003).
Trong y khoa thế giới, bộ đôi ADOS-2 (quan sát trực tiếp hành vi hiện tại) và ADI-R (khai thác toàn bộ lịch sử phát triển từ nhỏ) tạo thành “Tiêu chuẩn vàng kép” (Dual Gold Standard) để chẩn đoán xác định Rối loạn phổ tự kỷ (ASD).
Tóm tắt cốt lõi về công cụ ADI-R
-
Đối tượng áp dụng: Mọi cá nhân (từ trẻ nhỏ đến người trưởng thành) miễn là có tuổi phát triển tâm thần (Mental Age) từ 2.0 tuổi (24 tháng) trở lên.
-
Hình thức & Thời gian: Bác sĩ/Chuyên gia tâm lý phỏng vấn trực tiếp phụ huynh qua 93 mục hỏi chi tiết (kéo dài từ 1.5 đến 2.5 giờ), tập trung vào các hành vi cụ thể ở giai đoạn 4.0 – 5.0 tuổi (“Most Abnormal 4.0–5.0” — giai đoạn các triệu chứng tự kỷ bộc lộ điển hình nhất và ít bị che lấp bởi kỹ năng học tập sau này) hoặc thời điểm hiện tại (đối với trẻ dưới 4 tuổi).
-
4 Trụ cột trong Thuật toán Chẩn đoán ADI-R (Diagnostic Algorithm): Mặc dù phỏng vấn 93 câu, thuật toán tính điểm chẩn đoán chỉ rút trích các mục cốt lõi chia vào 4 miền (Domains) và 12 tiểu lĩnh vực (Subdomains):
| Mã miền | Tên miền đánh giá trong Thuật toán ADI-R | Số tiểu lĩnh vực | Điểm tối đa | Ngưỡng điểm cắt chuẩn (Cut-off) |
| Miền A | Bất thường định tính trong Tương tác Xã hội qua lại (Reciprocal Social Interaction) | 4 tiểu lĩnh vực (A1, A2, A3, A4) | 30 điểm | điểm |
| Miền B (V) (Có lời nói) | Bất thường định tính trong Giao tiếp — Nhóm có ngôn ngữ nói (Verbal) | 4 tiểu lĩnh vực (B1, B4, B2V, B3V) | 26 điểm | điểm |
| Miền B (NV)(Chưa nói) | Bất thường định tính trong Giao tiếp — Nhóm chưa có ngôn ngữ nói (Non-Verbal) | 2 tiểu lĩnh vực (B1, B4 — bỏ B2V, B3V) | 14 điểm | điểm |
| Miền C | Các mẫu hành vi hạn hẹp, lặp đi lặp lại và rập khuôn (Restricted, Repetitive Behaviors) | 4 tiểu lĩnh vực (C1, C2, C3, C4) | 12 điểm | điểm |
| Miền D | Bất thường phát triển khởi phát trước 36 tháng tuổi (Abnormality of Development $\le 36$m) | 5 chỉ báo khởi phát sớm (D1 – D5) | 5 điểm | điểm |
- Quy tắc chấm điểm & Kết luận Chẩn đoán ADI-R:
-
Tương tự ADOS-2, khi chấm phỏng vấn thô, mỗi mục có thang
0,1,2,3điểm. Khi đưa vào Thuật toán chẩn đoán, mọi mức điểm3đều được quy đổi về2điểm (ngoài trừ Miền D quy đổi nhị phân0hoặc1điểm). -
Điều kiện dương tính chuẩn ADI-R: Để đạt chẩn đoán Tự kỷ (Autism) theo thuật toán ADI-R, cá nhân phải đồng thời đạt hoặc vượt ngưỡng điểm cắt ở CẢ 4 MIỀN (A, B, C và D). Nếu chỉ vượt ngưỡng ở 2 hoặc 3 miền (ví dụ thiếu Miền C hoặc Miền D), hồ sơ sẽ được phân loại là Đặc điểm Phổ tự kỷ không điển hình / Cần kết hợp ADOS-2 & DSM-5.
[Tự kỷ] CARS-2: Thang chẩn đoán phân biệt và đo lường mức độ nặng phổ tự kỷ (Từ 2 tuổi)
(function() { const host = document.getElementById('cars2-wp-host'); if (!host) return; const placeholder = document.createComment('cars2-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // ========================================== // DỮ LIỆU 1: 15 MỤC CHUẨN CỦA CARS2-ST (STANDARD VERSION) // ========================================== const stItems = [ { id: 1, dom: 'soc', name: 'Mục I. Quan hệ với mọi người (Relating to People)', desc: 'Đánh giá mức độ trẻ chủ động tương tác, giao tiếp mắt, đáp lại sự quan tâm của người lớn hay thu mình, thờ ơ, né tránh tiếp xúc.', guide: '1.0: Tương tác tự nhiên theo tuổi | 2.0: Nhút nhát/né tránh nhẹ, ít nhìn mắt | 3.0: Cách biệt, phải nỗ lực mạnh mới thu hút được | 4.0: Hoàn toàn thờ ơ, không phản ứng với người khác.' }, { id: 2, dom: 'soc', name: 'Mục II. Bắt chước (Imitation)', desc: 'Khả năng bắt chước âm thanh, lời nói và các động tác vận động (vẫy tay, vỗ tay, làm theo mẫu) tức thì hoặc trì hoãn.', guide: '1.0: Bắt chước tốt | 2.0: Bắt chước được các hành vi đơn giản khi được nhắc | 3.0: Chỉ bắt chước đôi lúc với sự hỗ trợ lớn | 4.0: Hiếm khi hoặc không bao giờ bắt chước.' }, { id: 3, dom: 'soc', name: 'Mục III. Phản ứng cảm xúc (Emotional Response)', desc: 'Sự phù hợp của biểu cảm nét mặt, tâm trạng (vui, buồn, khóc, cười) với hoàn cảnh xung quanh.', guide: '1.0: Cảm xúc phù hợp | 2.0: Đôi khi phản ứng cảm xúc hơi lệch ngữ cảnh | 3.0: Cười/khóc vô cớ, hoặc đơ cứng cảm xúc rõ | 4.0: Cảm xúc cực kỳ bất thường, không liên quan tình huống.' }, { id: 4, dom: 'rrb', name: 'Mục IV. Sử dụng cơ thể (Body Use)', desc: 'Sự phối hợp vận động và các cử động cơ thể bất thường (nhón gót, vẫy tay, xoay người, đung đưa, tự gây hại).', guide: '1.0: Vận động bình thường | 2.0: Hơi vụng về hoặc có cử động lặp lại thoáng qua | 3.0: Vẫy tay, nhón gót, xoay người rõ rệt | 4.0: Cử động định hình với cường độ cao, liên tục.' }, { id: 5, dom: 'rrb', name: 'Mục V. Sử dụng đồ vật (Object Use)', desc: 'Cách trẻ quan tâm và chơi với đồ chơi (chơi đúng chức năng/tưởng tượng hay chỉ xếp hàng, xoay bánh xe, đập gõ).', guide: '1.0: Chơi đúng chức năng & tưởng tượng | 2.0: Chơi đơn điệu hoặc săm soi chi tiết nhẹ | 3.0: Xếp hàng, quay bánh xe, ít chơi đúng cách | 4.0: Chỉ cuốn hút rập khuôn vào bộ phận đồ vật.' }, { id: 6, dom: 'rrb', name: 'Mục VI. Thích ứng với sự thay đổi (Adaptation to Change)', desc: 'Khả năng chuyển đổi hoạt động, chấp nhận thay đổi lộ trình, chỗ ngồi, đồ vật hoặc thói quen sinh hoạt.', guide: '1.0: Linh hoạt bình thường | 2.0: Hơi bướng bỉnh khi chuyển hoạt động | 3.0: Khó chịu, cáu giận rõ khi đổi thói quen | 4.0: Hoảng loạn hoặc ăn vạ dữ dội trước thay đổi nhỏ.' }, { id: 7, dom: 'sen', name: 'Mục VII. Phản ứng thị giác (Visual Response)', desc: 'Cách sử dụng ánh mắt để quan sát người/vật (nhìn thẳng tự nhiên hay nhìn nghiêng/liếc mắt, nhìn chằm chằm ánh đèn/vật quay).', guide: '1.0: Quan sát bình thường | 2.0: Đôi khi nhìn vật hơn nhìn người, tránh nhìn mắt nhẹ | 3.0: Nhìn nghiêng sát mắt, mê mẩn vật quay/ánh sáng | 4.0: Né tránh nhìn người nghiêm trọng, kích thích thị giác nặng.' }, { id: 8, dom: 'sen', name: 'Mục VIII. Phản ứng thính giác (Listening Response)', desc: 'Phản ứng với tiếng gọi tên và các âm thanh môi trường (phản ứng quá mức/bịt tai hoặc thờ ơ như không nghe thấy).', guide: '1.0: Nghe & phản ứng bình thường | 2.0: Đôi khi gọi tên chậm quay lại hoặc hơi nhạy tiếng ồn | 3.0: Lúc như điếc lúc lại giật mình bịt tai | 4.0: Phản ứng quá mức hoặc thờ ơ nghiêm trọng với âm thanh.' }, { id: 9, dom: 'sen', name: 'Mục IX. Phản ứng Vị giác, Khứu giác, Xúc giác (Taste, Smell, and Touch)', desc: 'Cách trẻ khám phá đồ vật qua các giác quan gần và phản ứng với cảm giác đau, nhiệt độ, chất liệu quần áo/thức ăn.', guide: '1.0: Bình thường | 2.0: Kén ăn kết cấu nhẹ hoặc hay đưa đồ lên miệng/ngửi | 3.0: Ngửi/liếm đồ vật rõ, chịu đau cao bất thường hoặc né tránh chạm | 4.0: Khám phá đồ vật chủ yếu bằng liếm/ngửi/sờ bất thường.' }, { id: 10, dom: 'sen', name: 'Mục X. Sự sợ hãi hoặc Lo âu (Fear or Nervousness)', desc: 'Mức độ sợ hãi quá mức trước những thứ vô hại hoặc ngược lại là hoàn toàn không biết sợ trước nguy hiểm thực tế.', guide: '1.0: Biết sợ hợp lý theo tuổi | 2.0: Đôi khi lo lắng hoặc liều lĩnh hơn bạn cùng tuổi | 3.0: Sợ hãi vô lý hoặc thiếu nhận thức nguy hiểm rõ | 4.0: Hoảng sợ cực độ không dỗ được hoặc bất chấp nguy hiểm.' }, { id: 11, dom: 'com', name: 'Mục XI. Giao tiếp bằng lời nói (Verbal Communication)', desc: 'Mức độ phát triển lời nói và các bất thường ngôn ngữ (chậm nói, nhại lời, đảo ngược đại từ, ngôn ngữ rập khuôn).', guide: '1.0: Ngôn ngữ phù hợp tuổi | 2.0: Chậm nói nhẹ hoặc đôi khi nhại lời | 3.0: Không có lời nói giao tiếp hoặc nhại lời/nói vô nghĩa nhiều | 4.0: Hoàn toàn không dùng lời nói có nghĩa hoặc chỉ phát âm thanh lạ.' }, { id: 12, dom: 'com', name: 'Mục XII. Giao tiếp không lời (Nonverbal Communication)', desc: 'Việc sử dụng cử chỉ (chỉ trỏ, gật/lắc đầu, vẫy tay, nét mặt) để bày tỏ nhu cầu và chia sẻ sự chú ý.', guide: '1.0: Dùng cử chỉ tốt | 2.0: Cử chỉ còn nghèo nàn, chỉ tay chưa rõ | 3.0: Kéo tay người lớn thay vì chỉ trỏ, ít hiểu cử chỉ | 4.0: Hoàn toàn không dùng hoặc không hiểu cử chỉ phi ngôn ngữ.' }, { id: 13, dom: 'gen', name: 'Mục XIII. Mức độ hoạt động (Activity Level)', desc: 'Mức độ vận động trong phòng khám và sinh hoạt (tăng động, chạy nhảy liên tục hoặc thụ động, ì ạch quá mức).', guide: '1.0: Hoạt động vừa phải | 2.0: Hơi hiếu động hoặc hơi chậm chạp nhẹ | 3.0: Tăng động khó ngồi yên hoặc rất thụ động | 4.0: Cực kỳ tăng động/lờ đờ suốt buổi, rất khó điều chỉnh.' }, { id: 14, dom: 'gen', name: 'Mục XIV. Mức độ và Tính nhất quán của Phản ứng Trí tuệ (Intellectual Response)', desc: 'Sự đồng đều giữa các kỹ năng nhận thức (trí tuệ đồng đều hay phát triển lệch, có kỹ năng vượt trội xen lẫn thiếu hụt).', guide: '1.0: Trí tuệ bình thường & đồng đều | 2.0: Chậm nhẹ đồng đều các lĩnh vực | 3.0: Nhận thức không đồng đều, có mảng giỏi bất ngờ | 4.0: Lệch lạc lớn giữa các kỹ năng (Savant/Splinter skills) kèm suy giảm chung.' }, { id: 15, dom: 'gen', name: 'Mục XV. Ấn tượng chung của Nhà lâm sàng (General Impressions)', desc: 'Đánh giá tổng thể của chuyên gia về mức độ tự kỷ dựa trên toàn bộ quá trình quan sát và bệnh sử.', guide: '1.0: Không tự kỷ | 2.0: Tự kỷ mức độ nhẹ | 3.0: Tự kỷ mức độ trung bình | 4.0: Tự kỷ mức độ nặng.' } ]; // ========================================== // DỮ LIỆU 2: 15 MỤC CHUẨN CỦA CARS2-HF (HIGH-FUNCTIONING • >= 6 TUỔI, IQ >= 80, NÓI LƯU LOÁT) // ========================================== const hfItems = [ { id: 1, dom: 'soc', name: 'Mục I. Hiểu biết Cảm xúc – Xã hội (Social-Emotional Understanding)', desc: 'Khả năng nhận diện cảm xúc, đọc ngôn ngữ cơ thể, nét mặt và hiểu góc nhìn/suy nghĩ của người khác (Thuyết tâm trí).', guide: '1.0: Thấu cảm & hiểu ý người khác tốt | 2.0: Đôi khi hiểu sai ẩn ý hoặc cảm xúc tinh tế | 3.0: Khó đặt mình vào vị trí người khác rõ rệt | 4.0: Hầu như không nhận thức được cảm xúc/quan điểm của người đối diện.' }, { id: 2, dom: 'soc', name: 'Mục II. Biểu đạt Cảm xúc và Điều tiết Cảm xúc (Emotional Expression & Regulation)', desc: 'Cách thể hiện cảm xúc qua nét mặt/giọng nói và khả năng tự kiểm soát cơn giận, lo âu hoặc thất vọng.', guide: '1.0: Biểu đạt & tự điều tiết tốt | 2.0: Biểu cảm hơi cứng nhắc hoặc dễ cáu khi thất bại | 3.0: Bùng nổ cảm xúc hoặc nét mặt phẳng lì lệch ngữ cảnh | 4.0: Rối loạn điều tiết cảm xúc nghiêm trọng.' }, { id: 3, dom: 'soc', name: 'Mục III. Quan hệ với mọi người (Relating to People)', desc: 'Tính tương hỗ hai chiều khi tương tác với người lớn và bạn cùng trang lứa, khả năng kết bạn và duy trì tình bạn.', guide: '1.0: Quan hệ hai chiều tự nhiên | 2.0: Muốn kết bạn nhưng vụng về, tương tác hơi một chiều | 3.0: Ít chủ động xã hội hoặc chỉ tương tác theo điều kiện riêng | 4.0: Tách biệt xã hội hoặc hoàn toàn một chiều.' }, { id: 4, dom: 'rrb', name: 'Mục IV. Sử dụng cơ thể (Body Use)', desc: 'Sự khéo léo vận động tinh/thô, dáng đi đứng, tư thế và các cử động định hình hoặc tics vận động.', guide: '1.0: Phối hợp vận động tốt | 2.0: Hơi vụng về trong thể thao/viết chữ hoặc tư thế hơi cứng | 3.0: Vụng về rõ hoặc có cử động tay/cơ thể lặp lại | 4.0: Cử động định hình hoặc bất thường vận động nghiêm trọng.' }, { id: 5, dom: 'rrb', name: 'Mục V. Sử dụng đồ vật trong vui chơi & Sở thích thu hẹp (Object Use in Play)', desc: 'Khả năng chơi tưởng tượng linh hoạt so với việc chỉ sưu tầm thông tin, phân loại hoặc đam mê các chủ đề chuyên biệt hẹp.', guide: '1.0: Sở thích đa dạng, linh hoạt | 2.0: Rất mê 1–2 chủ đề nhưng vẫn chuyển sang việc khác được | 3.0: Sở thích đặc biệt chiếm phần lớn thời gian và câu chuyện | 4.0: Ám ảnh mãnh liệt với chủ đề hẹp, cản trở sinh hoạt.' }, { id: 6, dom: 'rrb', name: 'Mục VI. Thích ứng với thay đổi & Sở thích hạn hẹp (Adaptation to Change)', desc: 'Tính linh hoạt khi thay đổi kế hoạch, quy tắc, lịch trình và xu hướng khăng khăng giữ các nghi thức cá nhân.', guide: '1.0: Thích nghi linh hoạt | 2.0: Cần báo trước khi đổi lịch, hơi cứng nhắc quy tắc | 3.0: Căng thẳng, phản ứng mạnh khi kế hoạch thay đổi | 4.0: Đòi hỏi sự bất biến tuyệt đối, hoảng loạn khi thay đổi.' }, { id: 7, dom: 'sen', name: 'Mục VII. Phản ứng thị giác (Visual Response)', desc: 'Chất lượng giao tiếp ánh mắt khi trò chuyện và sự chú ý quá mức đến các chi tiết thị giác nhỏ hoặc ánh sáng.', guide: '1.0: Giao tiếp mắt tự nhiên | 2.0: Nhìn mắt không đều hoặc nhìn chằm chằm hơi cứng | 3.0: Tránh nhìn mắt rõ rệt hoặc cuốn hút vào chi tiết thị giác | 4.0: Bất thường nghiêm trọng trong giao tiếp mắt.' }, { id: 8, dom: 'sen', name: 'Mục VIII. Phản ứng thính giác (Listening Response)', desc: 'Phản ứng với tiếng ồn môi trường và khả năng lọc âm thanh để lắng nghe người đối diện trong nơi đông người.', guide: '1.0: Lắng nghe bình thường | 2.0: Dễ xao nhãng bởi tiếng động nhỏ hoặc ghét một số tiếng ồn | 3.0: Quá tải thính giác rõ (phải bịt tai) hoặc chậm xử lý lời nói | 4.0: Nhạy cảm thính giác cực độ gây cản trở sinh hoạt.' }, { id: 9, dom: 'sen', name: 'Mục IX. Phản ứng và Nhạy cảm Giác quan khác (Taste, Smell, Touch)', desc: 'Nhạy cảm với chất liệu quần áo (mác áo), kết cấu thức ăn, mùi hương hoặc cảm giác đụng chạm cơ thể.', guide: '1.0: Không có nhạy cảm đặc biệt | 2.0: Kén một số chất vải hoặc món ăn nhất định | 3.0: Phản ứng gay gắt với mùi, kết cấu thức ăn hoặc cái ôm | 4.0: Rối loạn xử lý giác quan nặng.' }, { id: 10, dom: 'sen', name: 'Mục X. Sự sợ hãi hoặc Lo âu (Fear or Anxiety)', desc: 'Mức độ lo âu xã hội, căng thẳng trước tình huống mới, ám ảnh sợ hoặc thiếu nhận thức rủi ro xã hội.', guide: '1.0: Mức lo âu bình thường | 2.0: Hay lo lắng khi gặp người lạ/tình huống mới | 3.0: Lo âu thường trực, căng thẳng rõ rệt | 4.0: Lo âu hoặc hoảng loạn nghiêm trọng làm tê liệt hoạt động.' }, { id: 11, dom: 'com', name: 'Mục XI. Giao tiếp bằng lời nói (Verbal Communication)', desc: 'Kỹ năng hội thoại qua lại hai chiều, cách dùng từ (kiểu cách "ông cụ non"), giọng điệu và khả năng hiểu nghĩa bóng/nói đùa.', guide: '1.0: Hội thoại linh hoạt, hiểu nghĩa bóng | 2.0: Nói hơi sách vở, đôi khi hiểu theo nghĩa đen | 3.0: Độc thoại một chiều về sở thích, giọng đều đều, khó hiểu ẩn dụ | 4.0: Giao tiếp ngữ dụng suy giảm nghiêm trọng.' }, { id: 12, dom: 'com', name: 'Mục XII. Giao tiếp không lời (Nonverbal Communication)', desc: 'Sự phối hợp giữa cử chỉ tay, tư thế cơ thể, khoảng cách giao tiếp và biểu cảm nét mặt khi đang nói chuyện.', guide: '1.0: Ngôn ngữ cơ thể tự nhiên | 2.0: Cử chỉ hơi ít hoặc khoảng cách đứng hơi gần/xa | 3.0: Hiếm dùng cử chỉ minh họa, nét mặt và lời nói thiếu ăn khớp | 4.0: Ngôn ngữ phi ngôn ngữ hoàn toàn rời rạc, cứng nhắc.' }, { id: 13, dom: 'gen', name: 'Mục XIII. Khả năng Tích hợp Tư duy & Nhận thức Tổng thể (Thinking/Cognitive Integration)', desc: 'Khả năng nhìn nhận bức tranh tổng thể (Central Coherence) thay vì chỉ sa đà vào các chi tiết vụn vặt rời rạc.', guide: '1.0: Nắm bắt ý chính & tổng thể tốt | 2.0: Chú ý nhiều đến tiểu tiết nhưng vẫn hiểu ý chính khi nhắc | 3.0: Nhớ chi tiết cực tốt nhưng bỏ lỡ ý nghĩa tổng thể của tình huống | 4.0: Tư duy mảnh vụn, không thể kết nối thành bức tranh chung.' }, { id: 14, dom: 'gen', name: 'Mục XIV. Mức độ và Tính nhất quán của Phản ứng Trí tuệ (Intellectual Response)', desc: 'Sự chênh lệch giữa trí thông minh học thuật/ghi nhớ và khả năng giải quyết vấn đề thực tế ("lẽ thường" xã hội).', guide: '1.0: Năng lực nhận thức và thực tế cân bằng | 2.0: Học tốt nhưng kỹ năng ứng phó thực tế hơi chậm | 3.0: Chênh lệch lớn giữa điểm số/kiến thức và sự ngây thơ ngoài đời | 4.0: Lệch lạc cực đoan giữa năng lực chuyên biệt và kỹ năng sống.' }, { id: 15, dom: 'gen', name: 'Mục XV. Ấn tượng chung của Nhà lâm sàng (General Impressions)', desc: 'Đánh giá tổng quát của chuyên gia về mức độ triệu chứng thuộc Phổ tự kỷ trên toàn bộ 14 lĩnh vực trên.', guide: '1.0: Không thuộc phổ tự kỷ | 2.0: Phổ tự kỷ mức độ nhẹ | 3.0: Phổ tự kỷ mức độ trung bình | 4.0: Phổ tự kỷ mức độ nặng.' } ]; // formType: 'st_u13' (CARS2-ST = 13 tuổi: Cut 28.0 / 35.0) | 'hf' (CARS2-HF >= 6 tuổi, IQ >= 80: Cut 28.0 / 34.0) let formType = 'st_u13'; let scores = {}; // Lưu điểm từng mục (1.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0) let filterDom = 'all'; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .c2-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .c2-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .c2-inner { padding: 24px; max-width: 940px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .c2-wrap.is-fullscreen .c2-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .c2-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(217, 119, 6, 0.45), 0 0 0 0 rgba(217, 119, 6, 0.4); } 70% { box-shadow: 0 6px 20px rgba(217, 119, 6, 0.45), 0 0 0 10px rgba(217, 119, 6, 0); } 100% { box-shadow: 0 6px 20px rgba(217, 119, 6, 0.45), 0 0 0 0 rgba(217, 119, 6, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #b45309 0%, #d97706 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(217, 119, 6, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Bộ chuyển đổi 3 mẫu phiếu CARS-2 */ .form-switcher { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; background: #f1f5f9; padding: 8px; border-radius: 12px; margin-bottom: 18px; } .form-btn { padding: 10px 12px; border-radius: 9px; border: 1.5px solid transparent; background: transparent; cursor: pointer; text-align: left; transition: all 0.2s ease; touch-action: manipulation; } .form-btn.active { background: #ffffff; border-color: #d97706; box-shadow: 0 2px 8px rgba(15, 23, 42, 0.08); } .form-btn-title { font-size: 13.8px; font-weight: 800; color: #0f172a; display: block; } .form-btn.active .form-btn-title { color: #b45309; } .form-btn-sub { font-size: 11.5px; color: #64748b; margin-top: 2px; display: block; } /* Header */ .c2-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .c2-header-text { flex: 1 1 260px; } .c2-title { font-size: 20px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .c2-desc { font-size: 13.8px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #fffbeb; color: #b45309; border: 1px solid #fde68a; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #d97706; color: #ffffff; border-color: #d97706; } /* Controls */ .c2-controls { display: flex; flex-direction: column; gap: 10px; margin-bottom: 18px; } .c2-presets { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; } .c2-preset-lbl { font-size: 12.5px; font-weight: 700; color: #475569; margin-right: 4px; } .c2-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; touch-action: manipulation; } .c2-pbtn:hover { background: #f1f5f9; } .c2-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } .c2-domain-tabs { display: flex; flex-wrap: wrap; gap: 6px; } .c2-dtab { padding: 6px 12px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .c2-dtab.active { background: #d97706; color: #ffffff; border-color: #d97706; } /* Sticky Dashboard */ .c2-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .c2-wrap.is-fullscreen .c2-dash { top: 58px; } .c2-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .c2-score-big { font-size: 24px; font-weight: 800; line-height: 1; } .c2-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .c2-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .c2-bar-bg { height: 10px; background: #334155; border-radius: 5px; overflow: hidden; margin-bottom: 12px; } .c2-bar-fill { height: 100%; width: 0%; background: #10b981; transition: width 0.35s ease, background 0.35s ease; } .c2-pillars { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; font-size: 12px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .c2-pillar-box { background: #1e293b; padding: 7px 10px; border-radius: 8px; } .c2-pillar-val { font-weight: 700; color: #ffffff; font-size: 13.5px; display: block; margin-top: 2px; } /* Danh sách 15 mục CARS-2 */ .c2-item { border: 1px solid #e2e8f0; border-radius: 12px; padding: 15px 16px; margin-bottom: 12px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 8px; } .c2-item.sev-high { border-color: #fca5a5; background: #fff5f5; } .c2-item.sev-mid { border-color: #fde68a; background: #fffbeb; } .c2-item-title { font-size: 15px; font-weight: 800; color: #0f172a; } .c2-item-desc { font-size: 13.5px; color: #334155; } .c2-item-guide { font-size: 12.5px; color: #475569; background: #f8fafc; padding: 7px 10px; border-radius: 6px; border-left: 3px solid #cbd5e1; } /* 7 nút điểm bước nhảy 0.5 (1.0 -> 4.0) */ .c2-scale-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 6px; margin-top: 4px; } .c2-sbtn { padding: 8px 4px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .c2-sbtn:hover { border-color: #64748b; } .c2-sbtn-num { font-size: 13.5px; font-weight: 800; display: block; color: #0f172a; } .c2-sbtn-lbl { font-size: 10.5px; color: #64748b; display: block; margin-top: 1px; } .c2-sbtn.sel-norm { background: #10b981; border-color: #10b981; } .c2-sbtn.sel-mild { background: #f59e0b; border-color: #f59e0b; } .c2-sbtn.sel-sev { background: #ef4444; border-color: #ef4444; } .c2-sbtn.sel-norm .c2-sbtn-num, .c2-sbtn.sel-norm .c2-sbtn-lbl, .c2-sbtn.sel-mild .c2-sbtn-num, .c2-sbtn.sel-mild .c2-sbtn-lbl, .c2-sbtn.sel-sev .c2-sbtn-num, .c2-sbtn.sel-sev .c2-sbtn-lbl { color: #ffffff; } .c2-result-box { margin-top: 20px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #64748b; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 720px) { .c2-inner { padding: 14px; } .form-switcher { grid-template-columns: 1fr; } .c2-title { font-size: 18px; } .c2-pillars { grid-template-columns: 1fr 1fr; } .c2-scale-grid { grid-template-columns: repeat(4, 1fr); } .c2-pbtn.reset { margin-left: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
${cfg.title}
${cfg.desc}
`; } function renderItems() { const cfg = getActiveConfig(); itemList.innerHTML = ''; cfg.items.forEach(function(it) { if (filterDom !== 'all' && it.dom !== filterDom) return; const uVal = (scores[it.id] !== undefined) ? scores[it.id] : 1.0; let rowCls = 'c2-item'; if (uVal >= 3.0) rowCls += ' sev-high'; else if (uVal >= 2.0) rowCls += ' sev-mid'; const btnsHtml = scaleSteps.map(st => { let cls = 'c2-sbtn'; if (uVal === st.val) { if (st.val <= 1.5) cls += ' sel-norm'; else if (st.val <= 2.5) cls += ' sel-mild'; else cls += ' sel-sev'; } return ` `; }).join(''); const el = document.createElement('div'); el.className = rowCls; el.innerHTML = `• Tổng điểm thấp hơn ngưỡng điểm cắt phân loại tự kỷ (${cfg.cutMild.toFixed(1)} điểm).
• Nếu trẻ có một số mục lẻ đạt 2.0 – 2.5 điểm ở phần Giao tiếp hoặc Hoạt động nhưng tổng điểm dưới ${cfg.cutMild.toFixed(1)}, cần đánh giá phân biệt với Chậm phát triển ngôn ngữ, Tăng động giảm chú ý (ADHD) hoặc Rối loạn xử lý giác quan đơn thuần. `; } else if (total < cfg.cutSev) { color = '#f59e0b'; badgeTxt = `TỰ KỶ NHẸ – TRUNG BÌNH (${total.toFixed(1)}đ)`; analysis = ` Kết luận CARS-2 — Mức Độ Triệu Chứng Phổ Tự Kỷ NHẸ ĐẾN TRUNG BÌNH (${total.toFixed(1)} / 60.0 điểm):
• Tổng điểm nằm trong khoảng ${cfg.cutMild.toFixed(1)} – ${(cfg.cutSev - 0.5).toFixed(1)} điểm. Hồ sơ phân bố: Tương tác & Giao tiếp (${sSocCom.toFixed(1)}/20.0) • Cơ thể, Đồ vật & Thay đổi (${sRrb.toFixed(1)}/12.0) • Giác quan & Lo âu (${sSen.toFixed(1)}/16.0).
• Hướng xử trí lâm sàng: Kết quả tương ứng với mức độ cần hỗ trợ (Level 1 – Level 2 theo DSM-5). Khuyến nghị kết hợp đánh giá năng lực thích ứng bằng Vineland-3 để xây dựng mục tiêu can thiệp cá nhân hóa (IEP) tập trung vào các mục có điểm từ 2.5 trở lên. `; } else { color = '#ef4444'; badgeTxt = `TỰ KỶ MỨC ĐỘ NẶNG (≥ ${cfg.cutSev.toFixed(1)}: ${total.toFixed(1)}đ)`; analysis = ` Kết luận CARS-2 — Mức Độ Triệu Chứng Phổ Tự Kỷ NẶNG (Đạt ${total.toFixed(1)} / 60.0 điểm, ngưỡng ≥ ${cfg.cutSev.toFixed(1)}):
• Tổng điểm vượt ngưỡng phân loại Tự kỷ mức độ nặng trên thang CARS-2, phản ánh sự suy giảm lan tỏa ở cả Tương tác – Giao tiếp (${sSocCom.toFixed(1)}/20.0), Hành vi định hình/Kháng cự thay đổi (${sRrb.toFixed(1)}/12.0) và Phản ứng giác quan (${sSen.toFixed(1)}/16.0).
• Hướng xử trí lâm sàng: Cần triển khai chương trình can thiệp sớm tích cực, đa chuyên ngành (Ngôn ngữ trị liệu, Hoạt động trị liệu giác quan, Can thiệp hành vi phát triển) và theo dõi định kỳ lại bằng CARS-2 + Vineland-3 sau mỗi 6 tháng. `; } barFill.style.background = color; scoreBadge.textContent = badgeTxt; scoreBadge.style.background = color; scoreBadge.style.color = '#ffffff'; resultBox.style.borderLeftColor = color; resultBox.innerHTML = analysis; updateFloatingFabVisibility(); } function applyPreset(type) { scores = {}; for (let i = 1; i { scores[id] = (idx % 2 === 0) ? 2.0 : 1.5; }); } else if (type === 'mild') { // 32.5 điểm (Mức Nhẹ - Trung bình) [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15].forEach((id, idx) => { if (idx % 3 === 0) scores[id] = 2.5; else if (idx % 2 === 0) scores[id] = 2.0; else scores[id] = 2.0; }); } else if (type === 'severe') { // 43.5 điểm (Mức Nặng) [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15].forEach((id, idx) => { if (idx % 3 === 0) scores[id] = 3.5; else if (idx % 2 === 0) scores[id] = 3.0; else scores[id] = 2.5; }); } renderItems(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); c2Wrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { c2Wrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 940px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } shadow.querySelectorAll('#formSwitcher .form-btn').forEach(function(btn) { btn.onclick = function() { formType = this.getAttribute('data-form'); shadow.querySelectorAll('#formSwitcher .form-btn').forEach(b => b.classList.remove('active')); this.classList.add('active'); renderHeader(); renderItems(); updateSummary(); }; }); shadow.querySelectorAll('.c2-pbtn').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-preset')); }; }); shadow.querySelectorAll('#domainTabs .c2-dtab').forEach(function(tab) { tab.onclick = function() { filterDom = this.getAttribute('data-dom'); shadow.querySelectorAll('#domainTabs .c2-dtab').forEach(t => t.classList.remove('active')); this.classList.add('active'); renderItems(); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); renderHeader(); applyPreset('mild'); })();
CARS-2 (Childhood Autism Rating Scale, Second Edition — Thang Đánh Giá Tự Kỷ Ở Trẻ Em, Phiên bản 2) là một trong những công cụ quan sát lâm sàng kinh điển và được sử dụng rộng rãi nhất tại các bệnh viện, trung tâm tâm lý trên toàn thế giới (và tại Việt Nam) để hỗ trợ chẩn đoán phân biệt và đo lường mức độ nặng (Severity) của Rối loạn phổ tự kỷ. Công cụ được phát triển bởi Giáo sư Eric Schopler, Mary Van Bourgondien và các cộng sự (2010).
1. Điểm cải tiến đột phá của CARS-2 so với bản CARS cũ
Ở bản CARS gốc (1988), công cụ này rất nhạy với trẻ tự kỷ điển hình có kèm chậm phát triển trí tuệ, nhưng lại dễ bỏ sót nhóm Tự kỷ chức năng cao (High-Functioning Autism / Asperger). Vì vậy, CARS-2 đã được tách thành 2 phiên bản đánh giá chuyên biệt (đều gồm 15 mục, chấm từ 1.0 đến 4.0 điểm với bước nhảy 0.5 điểm):
| Đặc điểm | 1. Bản Tiêu chuẩn (CARS2-ST — Standard Version) | 2. Bản Chức năng cao (CARS2-HF — High-Functioning) |
| Đối tượng áp dụng |
• Trẻ dưới 6 tuổi (mọi mức độ phát triển).
• Hoặc trẻ từ 6 tuổi trở lên nhưng có IQ hoặc chậm nói / giao tiếp hạn chế. |
• Cá nhân từ 6 tuổi trở lên, nói lưu loát VÀ có chỉ số trí tuệ IQ (Tự kỷ chức năng cao / Asperger). |
| Cấu trúc 15 mục đánh giá | Giữ nguyên 15 mục kinh điển (Quan hệ với người, Bắt chước, Cảm xúc, Sử dụng cơ thể, Sử dụng đồ vật, Thích ứng thay đổi, Thị giác, Thính giác, Vị-Khứu-Xúc giác, Sợ hãi/Lo âu, Giao tiếp lời nói, Giao tiếp không lời, Mức độ hoạt động, Trí tuệ, Ấn tượng chung). | Thay thế các mục vận động/bắt chước cơ bản bằng các mục tinh tế hơn: Biểu đạt cảm xúc – xã hội, Hiểu cảm xúc & Thuyết tâm trí (Theory of Mind), Khởi xướng hội thoại, Tư duy tích hợp tổng thể (Central Coherence). |
| Cách chấm từng mục |
7 mức điểm (từ 1.0 đến 4.0, bước nhảy 0.5):
|
Tương tự (7 mức từ 1.0 đến 4.0 với bước nhảy 0.5). Tổng điểm nằm trong khoảng từ 15.0 đến 60.0 điểm. |
| Ngưỡng điểm cắt (Cut-off Score) |
• Trẻ < 13 tuổi:
–
–
–
• (Lưu ý: Với nhóm tuổi dùng bản ST, ngưỡng cắt hạ xuống cho mức Nhẹ–TB và 35.0 cho mức Nặng). |
• Áp dụng cho lứa tuổi ≥ 6 tuổi (IQ ≥ 80): –
–
– |
(Điểm đặc trưng của CARS-2 là nếu tất cả 15 mục đều bình thường hoàn toàn thì tổng điểm khởi đầu là 15.0 điểm chứ không phải 0 điểm).
[Tự kỷ] GARS-3: Thang đánh giá và xác định mức độ hỗ trợ tự kỷ Gilliam (3 – 22 tuổi)
(function() { const host = document.getElementById('gars3-wp-host'); if (!host) return; const placeholder = document.createComment('gars3-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // 56 mục hành vi chuẩn theo cấu trúc 6 tiểu thang của GARS-3 (Gilliam, 2013) // sub: 'rb' (Hành vi hạn hẹp/lặp lại - 13 câu), 'si' (Tương tác xã hội - 14 câu), 'sc' (Giao tiếp xã hội - 9 câu), // 'er' (Phản ứng cảm xúc - 8 câu), 'cs' (Phong cách nhận thức - 7 câu), 'ms' (Ngôn ngữ kém thích ứng - 5 câu) // verbalOnly: true đối với tiểu thang CS và MS khi đánh giá theo Index 4 (Trẻ chưa có ngôn ngữ nói) const questions = [ // TIỂU THANG 1: HÀNH VI HẠN HẸP / LẶP LẠI (RB • Câu 1 - 13) { id: 1, sub: 'rb', verbalOnly: false, t: 'Nếu được để yên một mình, trẻ dành phần lớn thời gian cho các hành vi lặp đi lặp lại hoặc rập khuôn.' }, { id: 2, sub: 'rb', verbalOnly: false, t: 'Trẻ bị cuốn hút quá mức vào các kích thích thị giác (như ánh đèn, gương, vật xoay tròn, nhìn nghiêng qua kẽ ngón tay).' }, { id: 3, sub: 'rb', verbalOnly: false, t: 'Trẻ nhìn chằm chằm vào bàn tay, các ngón tay hoặc đồ vật giữ trước mắt trong ít nhất 5 giây.' }, { id: 4, sub: 'rb', verbalOnly: false, t: 'Trẻ liếm, ngửi hoặc đưa vào miệng những đồ vật không phải là thức ăn.' }, { id: 5, sub: 'rb', verbalOnly: false, t: 'Trẻ vẫy nhanh bàn tay, các ngón tay hoặc cánh tay khi phấn khích hoặc căng thẳng.' }, { id: 6, sub: 'rb', verbalOnly: false, t: 'Trẻ xoay tròn cơ thể hoặc chạy vòng quanh lặp đi lặp lại.' }, { id: 7, sub: 'rb', verbalOnly: false, t: 'Trẻ làm các động tác nhón gót, nhảy tưng tưng hoặc lao người tới trước khi di chuyển.' }, { id: 8, sub: 'rb', verbalOnly: false, t: 'Trẻ đung đưa thân mình tới – lui hoặc qua lại khi đang ngồi hoặc đứng.' }, { id: 9, sub: 'rb', verbalOnly: false, t: 'Trẻ xoay các đồ vật không được thiết kế để xoay (như xoay đĩa, cốc, hộp nhựa trên mặt sàn).' }, { id: 10, sub: 'rb', verbalOnly: false, t: 'Trẻ xếp các đồ vật thành hàng dài hoặc theo một khuôn mẫu cố định và rất tức giận nếu bị xê dịch.' }, { id: 11, sub: 'rb', verbalOnly: false, t: 'Trẻ lấy tay bịt tai hoặc la hét trước những âm thanh sinh hoạt thông thường (như máy sấy, máy xay, đám đông).' }, { id: 12, sub: 'rb', verbalOnly: false, t: 'Trẻ có những hành vi tự gây thương tích cho bản thân (như tự cắn tay, tự tát vào mặt, đập đầu).' }, { id: 13, sub: 'rb', verbalOnly: false, t: 'Trẻ đòi hỏi phải đi theo đúng một lộ trình hoặc thực hiện sinh hoạt theo đúng một nghi thức không được sai lệch.' }, // TIỂU THANG 2: TƯƠNG TÁC XÃ HỘI (SI • Câu 14 - 27) { id: 14, sub: 'si', verbalOnly: false, t: 'Trẻ tránh giao tiếp bằng ánh mắt (nhìn đi chỗ khác khi có người đang nhìn hoặc nói chuyện trực diện với trẻ).' }, { id: 15, sub: 'si', verbalOnly: false, t: 'Trẻ nhìn xuyên qua mọi người như thể họ không hề có mặt ở đó.' }, { id: 16, sub: 'si', verbalOnly: false, t: 'Trẻ chống cự hoặc tỏ ra cứng đờ, khó chịu khi được người khác ôm ấp, âu yếm.' }, { id: 17, sub: 'si', verbalOnly: false, t: 'Trẻ không bắt chước hành động của những người khác khi đang chơi đùa.' }, { id: 18, sub: 'si', verbalOnly: false, t: 'Trẻ tự tách mình ra hoặc thu mình lại trong các tình huống sinh hoạt nhóm, tập thể.' }, { id: 19, sub: 'si', verbalOnly: false, t: 'Trẻ chơi một mình cạnh các bạn khác nhưng không hề tương tác hay chơi hợp tác cùng bạn.' }, { id: 20, sub: 'si', verbalOnly: false, t: 'Trẻ tỏ ra rất ít hoặc không có hứng thú trong việc làm hài lòng người khác hay chờ lời khen.' }, { id: 21, sub: 'si', verbalOnly: false, t: 'Trẻ không mỉm cười đáp lại khi bố mẹ hoặc người quen mỉm cười với trẻ.' }, { id: 22, sub: 'si', verbalOnly: false, t: 'Trẻ không có biểu hiện sợ hãi hoặc lo lắng hợp lý trước những tình huống nguy hiểm thực tế.' }, { id: 23, sub: 'si', verbalOnly: false, t: 'Trẻ không chủ động mang đồ chơi hoặc vật thú vị lại khoe để chia sẻ niềm vui với người khác.' }, { id: 24, sub: 'si', verbalOnly: false, t: 'Trẻ làm một số việc nhất định theo kiểu lặp đi lặp lại mà không quan tâm đến phản ứng của người xung quanh.' }, { id: 25, sub: 'si', verbalOnly: false, t: 'Trẻ không phản ứng khi người khác cố gắng bắt chuyện hoặc rủ trẻ cùng tham gia hoạt động.' }, { id: 26, sub: 'si', verbalOnly: false, t: 'Trẻ gặp khó khăn lớn trong việc kết bạn và duy trì mối quan hệ với các bạn cùng trang lứa.' }, { id: 27, sub: 'si', verbalOnly: false, t: 'Trẻ không thể hiện sự quan tâm hay an ủi khi thấy người khác đang buồn khóc hoặc bị đau.' }, // TIỂU THANG 3: GIAO TIẾP XÃ HỘI (SC • Câu 28 - 36) { id: 28, sub: 'sc', verbalOnly: false, t: 'Trẻ phản ứng không phù hợp trước các chỉ dẫn đơn giản (như "Ngồi xuống", "Lại đây").' }, { id: 29, sub: 'sc', verbalOnly: false, t: 'Trẻ không nhìn theo hướng khi có người chỉ tay vào một vật ở xa trong phòng (Suy giảm chú ý chung).' }, { id: 30, sub: 'sc', verbalOnly: false, t: 'Trẻ dùng bàn tay của người lớn như một công cụ (kéo tay người lớn đặt vào đồ vật) thay vì chỉ trỏ và nhìn mặt.' }, { id: 31, sub: 'sc', verbalOnly: false, t: 'Trẻ không sử dụng các cử chỉ quy ước (như vẫy tay tạm biệt, gật đầu đồng ý, lắc đầu từ chối) để giao tiếp.' }, { id: 32, sub: 'sc', verbalOnly: false, t: 'Trẻ không biết cách bắt đầu hoặc duy trì một cuộc tương tác/trò chuyện qua lại với người khác.' }, { id: 33, sub: 'sc', verbalOnly: false, t: 'Trẻ không hiểu các câu nói đùa, lời trêu chọc vui vẻ hoặc các biểu cảm nét mặt tinh tế của người đối diện.' }, { id: 34, sub: 'sc', verbalOnly: false, t: 'Trẻ gặp khó khăn trong việc hiểu các quy tắc ngầm trong giao tiếp xã hội (như chờ đến lượt nói, giữ khoảng cách).' }, { id: 35, sub: 'sc', verbalOnly: false, t: 'Trẻ thiếu các hoạt động chơi đóng vai giả vờ hoặc chơi tưởng tượng đa dạng phù hợp với lứa tuổi.' }, { id: 36, sub: 'sc', verbalOnly: false, t: 'Nét mặt và ngôn ngữ cơ thể của trẻ không ăn khớp với nội dung giao tiếp đang diễn ra.' }, // TIỂU THANG 4: PHẢN ỨNG CẢM XÚC (ER • Câu 37 - 44) { id: 37, sub: 'er', verbalOnly: false, t: 'Trẻ bùng nổ cơn giận hoặc ăn vạ dữ dội khi bị từ chối hoặc khi không đạt được điều mình muốn.' }, { id: 38, sub: 'er', verbalOnly: false, t: 'Trẻ trở nên cực kỳ bối rối, hoảng loạn hoặc cáu kỉnh khi thói quen sinh hoạt hàng ngày bị thay đổi.' }, { id: 39, sub: 'er', verbalOnly: false, t: 'Trẻ phản ứng quá mức (khóc thét, la hét, chạy trốn) khi phải chuyển từ hoạt động đang thích sang hoạt động khác.' }, { id: 40, sub: 'er', verbalOnly: false, t: 'Trẻ cười khanh khách, khóc hoặc giận dữ một cách đột ngột mà không có nguyên nhân rõ ràng.' }, { id: 41, sub: 'er', verbalOnly: false, t: 'Trẻ thể hiện những phản ứng cảm xúc trái ngược hoặc hoàn toàn không phù hợp với tình huống thực tế.' }, { id: 42, sub: 'er', verbalOnly: false, t: 'Trẻ trở nên lo âu, căng thẳng tột độ khi bước vào những nơi mới lạ hoặc đông người.' }, { id: 43, sub: 'er', verbalOnly: false, t: 'Trẻ rất khó tự bình tĩnh lại một khi đã bị kích động hoặc rơi vào trạng thái quá tải cảm xúc.' }, { id: 44, sub: 'er', verbalOnly: false, t: 'Trẻ có những nỗi sợ hãi mãnh liệt bất thường đối với những đồ vật hoặc tình huống vô hại hàng ngày.' }, // TIỂU THANG 5: PHONG CÁCH NHẬN THỨC (CS • Câu 45 - 51 • Áp dụng trong hệ 6 tiểu thang) { id: 45, sub: 'cs', verbalOnly: true, t: 'Trẻ sử dụng cách nói chuyện đặc biệt già dặn, sách vở hoặc chính xác một cách máy móc so với tuổi.' }, { id: 46, sub: 'cs', verbalOnly: true, t: 'Trẻ gắn bó mãnh liệt một cách khác thường với một số đồ vật vô tri nhất định (như cục đá, nắp chai, tờ lịch).' }, { id: 47, sub: 'cs', verbalOnly: true, t: 'Trẻ chỉ nói hoặc tìm hiểu lặp đi lặp lại về một chủ đề chuyên biệt duy nhất (như khủng long, bản đồ, biển số xe, tàu hỏa).' }, { id: 48, sub: 'cs', verbalOnly: true, t: 'Trẻ có trí nhớ máy móc xuất sắc về các sự kiện, con số hoặc chi tiết vụn vặt nhưng lại khó nắm bắt ý chính tổng thể.' }, { id: 49, sub: 'cs', verbalOnly: true, t: 'Trẻ hiểu mọi lời nói theo đúng nghĩa đen (literal) và không hiểu được các thành ngữ, ẩn dụ hay lời nói bóng gió.' }, { id: 50, sub: 'cs', verbalOnly: true, t: 'Trẻ chú ý cực kỳ tỉ mỉ đến từng bộ phận nhỏ của đồ vật hơn là chức năng tổng thể của đồ vật đó.' }, { id: 51, sub: 'cs', verbalOnly: true, t: 'Trẻ thể hiện sự chênh lệch rất lớn giữa một vài kỹ năng vượt trội đặc biệt và sự thiếu hụt ở các kỹ năng thông thường khác.' }, // TIỂU THANG 6: NGÔN NGỮ KÉM THÍCH ỨNG (MS • Câu 52 - 56 • Chỉ chấm khi trẻ có ngôn ngữ nói) { id: 52, sub: 'ms', verbalOnly: true, t: 'Trẻ lặp lại (nhại lời) các từ ngữ hoặc câu nói vừa nghe được từ người khác hoặc từ tivi/quảng cáo.' }, { id: 53, sub: 'ms', verbalOnly: true, t: 'Trẻ lặp đi lặp lại một từ hoặc một cụm từ vô nghĩa nhiều lần không phục vụ mục đích giao tiếp.' }, { id: 54, sub: 'ms', verbalOnly: true, t: 'Trẻ nói chuyện với tông giọng phẳng lì đều đều như robot, hoặc có ngữ điệu, nhịp điệu, âm lượng bất thường.' }, { id: 55, sub: 'ms', verbalOnly: true, t: 'Trẻ sử dụng sai đại từ nhân xưng (dùng "Bạn / Mẹ / Anh ấy" để chỉ chính bản thân mình thay vì xưng "Con / Tôi").' }, { id: 56, sub: 'ms', verbalOnly: true, t: 'Trẻ tự tạo ra các từ ngữ riêng (neologisms) hoặc phát ngôn những câu hoàn toàn không phù hợp với ngữ cảnh cuộc hội thoại.' } ]; const subConfigs = { rb: { code: 'rb', name: '1. Hành vi Hạn hẹp / Lặp lại (RB)', count: 13, maxRaw: 39, color: '#f59e0b' }, si: { code: 'si', name: '2. Tương tác Xã hội (SI)', count: 14, maxRaw: 42, color: '#2563eb' }, sc: { code: 'sc', name: '3. Giao tiếp Xã hội (SC)', count: 9, maxRaw: 27, color: '#7c3aed' }, er: { code: 'er', name: '4. Phản ứng Cảm xúc (ER)', count: 8, maxRaw: 24, color: '#ec4899' }, cs: { code: 'cs', name: '5. Phong cách Nhận thức (CS)', count: 7, maxRaw: 21, color: '#0d9488' }, ms: { code: 'ms', name: '6. Ngôn ngữ Kém thích ứng (MS)', count: 5, maxRaw: 15, color: '#dc2626' } }; let isVerbal = true; // true = Chấm 6 tiểu thang (56 câu - Autism Index 6) | false = Chấm 4 tiểu thang (44 câu - Autism Index 4) let answers = {}; // Lưu mức điểm 0, 1, 2, 3 cho từng câu let filterSub = 'all'; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .g3-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .g3-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .g3-inner { padding: 24px; max-width: 940px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .g3-wrap.is-fullscreen .g3-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .g3-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(124, 58, 237, 0.45), 0 0 0 0 rgba(124, 58, 237, 0.4); } 70% { box-shadow: 0 6px 20px rgba(124, 58, 237, 0.45), 0 0 0 10px rgba(124, 58, 237, 0); } 100% { box-shadow: 0 6px 20px rgba(124, 58, 237, 0.45), 0 0 0 0 rgba(124, 58, 237, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #6d28d9 0%, #7c3aed 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(124, 58, 237, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Header */ .g3-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .g3-header-text { flex: 1 1 260px; } .g3-title { font-size: 21px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .g3-desc { font-size: 14px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #f5f3ff; color: #6d28d9; border: 1px solid #ddd6fe; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #7c3aed; color: #ffffff; border-color: #7c3aed; } /* Top Controls */ .g3-top-controls { display: grid; grid-template-columns: 1fr 1.25fr; gap: 12px; margin-bottom: 14px; } .g3-box-ctrl { background: #f8fafc; border: 1px solid #e2e8f0; padding: 10px 12px; border-radius: 10px; } .g3-ctrl-label { font-size: 12px; font-weight: 700; color: #475569; text-transform: uppercase; margin-bottom: 6px; display: block; } .g3-btn-group { display: flex; flex-wrap: wrap; gap: 6px; } .g3-btn-sm { padding: 6px 10px; border-radius: 7px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; flex: 1; text-align: center; touch-action: manipulation; } .g3-btn-sm:hover { background: #f1f5f9; } .g3-btn-sm.active { background: #6d28d9; color: #ffffff; border-color: #6d28d9; } .g3-btn-sm.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; flex: 0 0 auto; } .g3-domain-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 16px; } .g3-dtab { padding: 6px 12px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .g3-dtab.active { background: #6d28d9; color: #ffffff; border-color: #6d28d9; } /* Sticky Dashboard */ .g3-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .g3-wrap.is-fullscreen .g3-dash { top: 58px; } .g3-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .g3-score-big { font-size: 23px; font-weight: 800; line-height: 1.1; } .g3-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .g3-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .g3-bar-bg { height: 10px; background: #334155; border-radius: 5px; overflow: hidden; margin-bottom: 12px; } .g3-bar-fill { height: 100%; width: 0%; background: #10b981; transition: width 0.35s ease, background 0.35s ease; } .g3-pillars { display: grid; grid-template-columns: repeat(6, 1fr); gap: 6px; font-size: 11px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .g3-pillar-box { background: #1e293b; padding: 6px 8px; border-radius: 8px; } .g3-pillar-box.muted { opacity: 0.4; } .g3-pillar-val { font-weight: 700; color: #ffffff; font-size: 12.5px; display: block; margin-top: 2px; } /* Danh sách 56 câu hỏi */ .g3-q-item { border: 1px solid #e2e8f0; border-radius: 10px; padding: 14px 16px; margin-bottom: 12px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 10px; } .g3-q-item.sev-3 { border-color: #fda4af; background: #fff5f5; } .g3-q-item.sev-2 { border-color: #fde68a; background: #fffbeb; } .g3-q-item.skipped-item { opacity: 0.45; background: #f8fafc; border-style: dashed; pointer-events: none; } .g3-q-text { font-size: 14.5px; font-weight: 600; color: #1e293b; line-height: 1.5; } .g3-q-tags { display: flex; flex-wrap: wrap; gap: 6px; } .g3-tag { font-size: 11px; font-weight: 600; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .g3-ans-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; } .g3-abtn { padding: 8px 6px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 600; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .g3-abtn:hover { border-color: #64748b; } .g3-abtn.sel-0 { background: #10b981; border-color: #10b981; color: #ffffff; font-weight: 700; } .g3-abtn.sel-1 { background: #3b82f6; border-color: #3b82f6; color: #ffffff; font-weight: 700; } .g3-abtn.sel-2 { background: #f59e0b; border-color: #f59e0b; color: #ffffff; font-weight: 700; } .g3-abtn.sel-3 { background: #ef4444; border-color: #ef4444; color: #ffffff; font-weight: 700; } /* Biểu đồ 6 tiểu thang & Kết luận */ .g3-chart-card { margin-top: 20px; padding: 16px 18px; border-radius: 12px; background: #ffffff; border: 1px solid #e2e8f0; } .g3-chart-title { font-size: 14.5px; font-weight: 700; color: #0f172a; margin-bottom: 12px; } .g3-bar-row { display: flex; align-items: center; gap: 10px; margin-bottom: 9px; font-size: 12.5px; } .g3-bar-lbl { width: 225px; flex-shrink: 0; font-weight: 600; color: #334155; } .g3-bar-track { flex: 1; height: 16px; background: #f1f5f9; border-radius: 999px; overflow: hidden; } .g3-bar-val { width: 125px; text-align: right; font-weight: 700; color: #0f172a; flex-shrink: 0; } .g3-result-box { margin-top: 16px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #64748b; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 720px) { .g3-inner { padding: 14px; } .g3-title { font-size: 18px; } .g3-top-controls { grid-template-columns: 1fr; } .g3-pillars { grid-template-columns: repeat(2, 1fr); } .g3-ans-grid { grid-template-columns: 1fr 1fr; } .g3-abtn { padding: 10px 6px; } .g3-bar-lbl { width: 135px; font-size: 11.5px; } .g3-bar-val { width: 100px; font-size: 11.5px; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
Thang Đánh Giá Tự Kỷ Gilliam GARS-3 (56 Câu Hỏi • 3 – 22 Tuổi)
Công cụ chuẩn hóa của James E. Gilliam (2013) đánh giá 6 tiểu thang đo để quy đổi ra Chỉ số Tự kỷ (Autism Index) và phân loại trực tiếp Mức độ cần hỗ trợ theo DSM-5: ≤ 54 (Rất ít khả năng) • 55–70 (Mức độ 1) • 71–100 (Mức độ 2) • ≥ 101 (Mức độ 3).
• Mức độ cần hỗ trợ DSM-5: Mức 0 (Không cần hỗ trợ đặc biệt về ASD).
• Tổng điểm chuẩn quy đổi của các tiểu thang nằm dưới ngưỡng lâm sàng của GARS-3. `; } else if (autismIndex <= 70) { color = '#f59e0b'; badgeTxt = `CÓ KHẢ NĂNG ASD • DSM-5 MỨC ĐỘ 1 (Index: ${autismIndex})`; analysis = ` Kết luận GARS-3 — Có Khả Năng Thuộc Phổ Tự Kỷ (Autism Index = ${autismIndex}, vùng 55 – 70):
• Phân loại mức độ DSM-5 tương ứng: Mức độ 1 (Level 1 — Cần hỗ trợ / Requiring Support).
• Cá nhân có các biểu hiện khó khăn trong khởi xướng tương tác xã hội (${raw.si}/42), giao tiếp xã hội (${raw.sc}/27) và tính linh hoạt hành vi (${raw.rb}/39). Khuyến nghị đối chiếu thêm với đánh giá trực tiếp ADOS-2 và thang hành vi thích ứng Vineland-3. `; } else if (autismIndex <= 100) { color = '#ef4444'; badgeTxt = `KHẢ NĂNG RẤT CAO • DSM-5 MỨC ĐỘ 2 (Index: ${autismIndex})`; analysis = ` Kết luận GARS-3 — Khả Năng Rất Cao Thuộc Phổ Tự Kỷ (Autism Index = ${autismIndex}, vùng 71 – 100):
• Phân loại mức độ DSM-5 tương ứng: Mức độ 2 (Level 2 — Cần hỗ trợ đáng kể / Requiring Substantial Support).
• Điểm số bộc lộ sự suy giảm rõ rệt ở cả giao tiếp xã hội và các mẫu hành vi hạn hẹp/lặp lại ngay cả khi đã có hỗ trợ xung quanh. Cần thực hiện chẩn đoán đa chuyên khoa và xây dựng chương trình can thiệp cá nhân hóa (IEP). `; } else { color = '#dc2626'; badgeTxt = `KHẢ NĂNG RẤT CAO • DSM-5 MỨC ĐỘ 3 (Index: ${autismIndex})`; analysis = ` Kết luận GARS-3 — Khả Năng Rất Cao Thuộc Phổ Tự Kỷ (Autism Index = ${autismIndex} ≥ 101):
• Phân loại mức độ DSM-5 tương ứng: Mức độ 3 (Level 3 — Cần hỗ trợ rất nhiều / Requiring Very Substantial Support).
• Chỉ số Tự kỷ vượt mốc trung bình của mẫu chuẩn tự kỷ (Index ≥ 101), phản ánh sự thiếu hụt nghiêm trọng về kỹ năng giao tiếp lời nói/không lời, điều tiết cảm xúc (${raw.er}/24) và sự cứng nhắc hành vi (${raw.rb}/39). Khuyến nghị can thiệp chuyên sâu toàn diện kết hợp đánh giá chức năng bằng Vineland-3. `; } barFill.style.background = color; scoreBadge.textContent = badgeTxt; scoreBadge.style.background = color; scoreBadge.style.color = '#ffffff'; resultBox.style.borderLeftColor = color; resultBox.innerHTML = analysis; updateFloatingFabVisibility(); } function applyPreset(type) { answers = {}; if (type === 'reset') { renderQuestions(); updateSummary(); return; } questions.forEach(function(q) { answers[q.id] = 0; }); if (type === 'unlikely') { // Index ~48 (Mức 0) questions.forEach(function(q, idx) { if (idx % 6 === 0) answers[q.id] = 1; }); } else if (type === 'lvl1') { // Index ~64 (DSM-5 Level 1: 55 - 70) questions.forEach(function(q, idx) { if (idx % 2 === 0) answers[q.id] = 1; }); } else if (type === 'lvl2') { // Index ~86 (DSM-5 Level 2: 71 - 100) questions.forEach(function(q, idx) { if (idx % 3 === 0) answers[q.id] = 2; else answers[q.id] = 1; }); } else if (type === 'lvl3') { // Index ~112 (DSM-5 Level 3: >= 101) questions.forEach(function(q, idx) { if (idx % 2 === 0) answers[q.id] = 2; else if (idx % 3 === 0) answers[q.id] = 3; else answers[q.id] = 1; }); } renderQuestions(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); g3Wrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { g3Wrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 940px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } shadow.querySelectorAll('#verbalGroup .g3-btn-sm').forEach(function(btn) { btn.onclick = function() { isVerbal = (this.getAttribute('data-verbal') === 'yes'); shadow.querySelectorAll('#verbalGroup .g3-btn-sm').forEach(b => b.classList.remove('active')); this.classList.add('active'); renderQuestions(); updateSummary(); }; }); shadow.querySelectorAll('#presetGroup .g3-btn-sm').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-pre')); }; }); shadow.querySelectorAll('#domainTabs .g3-dtab').forEach(function(tab) { tab.onclick = function() { filterSub = this.getAttribute('data-sub'); shadow.querySelectorAll('#domainTabs .g3-dtab').forEach(t => t.classList.remove('active')); this.classList.add('active'); renderQuestions(); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); applyPreset('lvl2'); })();
GARS-3 (Gilliam Autism Rating Scale, Third Edition — Thang Đánh Giá Tự Kỷ Gilliam, Phiên bản 3) là một trong những công cụ đánh giá chuẩn hóa dựa trên quy chiếu chuẩn (norm-referenced) phổ biến nhất thế giới hiện nay dùng để sàng lọc chuyên sâu, hỗ trợ chẩn đoán xác định và ước lượng Mức độ cần hỗ trợ theo tiêu chuẩn DSM-5 (Level 1, Level 2, Level 3). Công cụ này do Giáo sư James E. Gilliam phát triển (xuất bản năm 2013 bởi Pro-Ed).
Cốt lõi về công cụ GARS-3
-
Đối tượng áp dụng: Dành cho trẻ em, thanh thiếu niên và người trưởng thành trẻ tuổi từ 3 đến 22 tuổi có các biểu hiện hành vi nghi ngờ thuộc Rối loạn phổ tự kỷ.
-
Người thực hiện: Phụ huynh, người chăm sóc hoặc giáo viên (những người hiểu rõ và tiếp xúc thường xuyên với trẻ ít nhất 2 tuần) điền trong khoảng 10 – 15 phút.
-
Cấu trúc 56 câu hỏi & 6 Tiểu thang đo (Subscales): Điểm đột phá của GARS-3 so với bản GARS-2 cũ là được thiết kế khớp trực tiếp với các tiêu chí của DSM-5, chia thành 56 mục hành vi thuộc 6 tiểu thang đo và phân luồng theo tình trạng ngôn ngữ nói:
| Tiểu thang đo GARS-3 | Số câu hỏi | Nội dung đánh giá trọng tâm | Áp dụng cho nhóm |
| 1. Hành vi Hạn hẹp / Lặp lại(Restricted/Repetitive Behaviors – RB) | 13 câu(Câu 1 – 13) | Vận động định hình (vẫy tay, xoay người), nghi thức cứng nhắc, phản ứng giác quan bất thường (bịt tai, ngửi/liếm đồ vật, nhìn nghiêng). | Cả trẻ Có lời nói & Chưa có lời nói |
| 2. Tương tác Xã hội(Social Interaction – SI) | 14 câu(Câu 14 – 27) | Né tránh giao tiếp mắt, thu mình, không chơi hợp tác với bạn, thiếu chia sẻ sự chú ý và phản ứng xã hội qua lại. | Cả trẻ Có lời nói & Chưa có lời nói |
| 3. Giao tiếp Xã hội(Social Communication – SC) | 9 câu(Câu 28 – 36) | Thiếu cử chỉ phi ngôn ngữ (chỉ trỏ, vẫy tay), khó hiểu nét mặt/ẩn ý, không biết bắt đầu hoặc duy trì tương tác. | Cả trẻ Có lời nói & Chưa có lời nói |
| 4. Phản ứng Cảm xúc(Emotional Responses – ER) | 8 câu(Câu 37 – 44) | Ăn vạ dữ dội khi thay đổi lịch trình, lo âu quá mức, cảm xúc lệch ngữ cảnh hoặc thiếu đồng cảm. | Cả trẻ Có lời nói & Chưa có lời nói |
| 5. Phong cách Nhận thức (Cognitive Style – CS) | 7 câu(Câu 45 – 51) | Chỉ chú ý tiểu tiết mà bỏ qua tổng thể, đam mê mãnh liệt một chủ đề hẹp, trí nhớ máy móc, gắn bó đồ vật lạ. | Cả trẻ Có lời nói & Chưa có lời nói (Bỏ qua nếu Chưa có lời nói) |
| 6. Ngôn ngữ Kém thích ứng (Maladaptive Speech – MS) | 5 câu(Câu 52 – 56) | Nhại lời (echolalia), đảo ngược đại từ xưng hô, giọng nói đều đều như robot, lặp lại từ/cụm từ vô nghĩa. | Chỉ chấm cho trẻ Có lời nói (Bỏ qua nếu Chưa có lời nói) |
-
Cách chấm điểm & Phân nhánh 4 Tiểu thang (Index 4) vs. 6 Tiểu thang (Index 6):
-
Mỗi mục được chấm từ
0đến3điểm:-
0— Hoàn toàn không giống trẻ (Not at all like the individual) -
1— Không giống trẻ lắm / Hiếm khi (Not much like the individual) -
2— Khá giống trẻ / Thỉnh thoảng (Somewhat like the individual) -
3— Rất giống trẻ / Thường xuyên (Very much like the individual)
-
-
Quy tắc phân nhánh của GARS-3:
-
Nhóm Có ngôn ngữ nói (Verbal): Chấm đủ cả 6 tiểu thang (56 câu, điểm thô tối đa 168) Quy đổi ra Autism Index 6.
-
Nhóm Chưa có ngôn ngữ nói / Không nói (Nonverbal): Chỉ chấm 4 tiểu thang đầu (RB, SI, SC, ER — gồm 44 câu, điểm thô tối đa 132), bỏ qua tiểu thang 5 và 6 Quy đổi ra Autism Index 4.
-
-
-
Bảng Diễn giải Chỉ số Tự kỷ (Autism Index) & Mức độ Hỗ trợ DSM-5:
| Chỉ số Tự kỷ (Autism Index) | Khả năng mắc Rối loạn Phổ Tự kỷ (Probability of ASD) | Mức độ cần hỗ trợ theo chuẩn DSM-5 (Severity Level) |
| điểm | Rất ít khả năng (Unlikely) | Mức 0: Không cần hỗ trợ đặc biệt về ASD. |
| 55 – 70 điểm | Có khả năng (Probable) | Mức độ 1 (Level 1): Cần hỗ trợ (Requiring Support). |
| 71 – 100 điểm | Khả năng rất cao (Very Likely) | Mức độ 2 (Level 2): Cần hỗ trợ đáng kể (Requiring Substantial Support). |
| điểm | Khả năng rất cao (Very Likely) | Mức độ 3 (Level 3): Cần hỗ trợ rất nhiều/tối đa (Requiring Very Substantial Support). |
[Chậm phát triển] Bayley-III: Tiêu chuẩn vàng đánh giá định lượng sự phát triển của trẻ nhỏ (1 – 42 tháng)
(function() { const host = document.getElementById('bayley3-wp-host'); if (!host) return; const placeholder = document.createComment('bayley3-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // Cấu hình 7 Tiểu thang đo thuộc 5 Lĩnh vực chính của Bayley-III const subConfigs = { cog: { code: 'cog', scale: 'COG', name: '1. Nhận thức (Cognitive Subtest)', color: '#2563eb', isDirect: true }, rc: { code: 'rc', scale: 'LAN', name: '2A. Ngôn ngữ Tiếp nhận (Receptive Communication)', color: '#7c3aed', isDirect: true }, ec: { code: 'ec', scale: 'LAN', name: '2B. Ngôn ngữ Diễn đạt (Expressive Communication)', color: '#9333ea', isDirect: true }, fm: { code: 'fm', scale: 'MOT', name: '3A. Vận động Tinh (Fine Motor)', color: '#0d9488', isDirect: true }, gm: { code: 'gm', scale: 'MOT', name: '3B. Vận động Thô (Gross Motor)', color: '#10b981', isDirect: true }, se: { code: 'se', scale: 'SE', name: '4. Cảm xúc – Xã hội (Social-Emotional Questionnaire)', color: '#f59e0b', isDirect: false }, ab: { code: 'ab', scale: 'AB', name: '5. Hành vi Thích ứng (Adaptive Behavior - GAC)', color: '#ea580c', isDirect: false } }; // 42 Mục đánh giá chuẩn theo bậc thang tháng tuổi (6 mục cốt lõi cho mỗi tiểu thang từ 1 -> 42 tháng) // Trực tiếp (cog, rc, ec, fm, gm): chấm 1 (Đạt - Credit) hoặc 0 (Không đạt - No Credit) // Phụ huynh (se, ab): chấm 0 (Chưa có/Không thể), 1 (Đôi khi/Cần nhắc), 2 (Thường xuyên/Độc lập) const items = [ // 1. NHẬN THỨC (COGNITIVE • 6 bậc từ 3m -> 42m) { id: 1, sub: 'cog', refAge: 4, name: 'COG-1 (Mốc 3–6 tháng): Khám phá bằng mắt, nắm giữ lục lạc và tìm kiếm nguồn âm thanh', desc: 'Trẻ nhìn chăm chú vào đồ vật, đưa tay nắm lấy vòng tròn/lục lạc và quay đầu tìm tiếng chuông.' }, { id: 2, sub: 'cog', refAge: 9, name: 'COG-2 (Mốc 7–11 tháng): Kéo dây lấy vòng & Tìm đồ chơi bị giấu dưới cốc (Hằng định đối tượng)', desc: 'Nhấc chiếc cốc hoặc kéo khăn để lấy món đồ chơi vừa bị người khám che khuất trước mặt.' }, { id: 3, sub: 'cog', refAge: 15, name: 'COG-3 (Mốc 12–17 tháng): Bỏ các khối gỗ vào cốc, mở nắp hộp và đặt đúng hình tròn vào bảng khuôn', desc: 'Hiểu quan hệ vật chứa – vật bị chứa và lắp khớp hình tròn vào bảng ghép hình Bayley.' }, { id: 4, sub: 'cog', refAge: 22, name: 'COG-4 (Mốc 18–24 tháng): Hoàn thành bảng ghép hình 3 khuôn (Tròn, Vuông, Tam giác) & Chơi giả vờ với búp bê', desc: 'Đặt đúng cả 3 hình cơ bản vào bảng khuôn và biết dùng thìa/cốc giả vờ đút cho gấu/búp bê.' }, { id: 5, sub: 'cog', refAge: 30, name: 'COG-5 (Mốc 25–33 tháng): Ghép tranh cắt đôi, phân loại màu sắc & Hiểu khái niệm "Một" và "Nhiều"', desc: 'Ghép khớp bức tranh cắt rời và phân biệt đúng khái niệm kích thước To – Nhỏ.' }, { id: 6, sub: 'cog', refAge: 40, name: 'COG-6 (Mốc 34–42 tháng): Đếm tương ứng số lượng đến 5, phân loại đa tiêu chí & Hoàn thành quy luật hình học', desc: 'Đếm lấy đúng số khối gỗ, nhớ vị trí đồ vật ẩn và giải quyết bài toán không gian trên bộ test Bayley.' }, // 2A. NGÔN NGỮ TIẾP NHẬN (RECEPTIVE COMMUNICATION • 6 bậc) { id: 7, sub: 'rc', refAge: 4, name: 'RC-1 (Mốc 3–6 tháng): Bình tĩnh khi nghe giọng nói êm dịu và quay đầu phản ứng với âm thanh khác nhau', desc: 'Phân biệt âm thanh giọng người với tiếng động môi trường và chú ý nhìn miệng người nói.' }, { id: 8, sub: 'rc', refAge: 9, name: 'RC-2 (Mốc 7–11 tháng): Quay đầu ngay khi gọi tên, dừng tay khi nghe "Không" & Hiểu các từ quen thuộc', desc: 'Nhìn về phía quả bóng/bình sữa khi người khám hỏi "Bóng đâu?" và tham gia trò chơi vỗ tay/ú òa.' }, { id: 9, sub: 'rc', refAge: 15, name: 'RC-3 (Mốc 12–17 tháng): Chỉ đúng ít nhất 3 đồ vật thật & 3 bộ phận cơ thể khi được yêu cầu bằng lời', desc: 'Thực hiện đúng mệnh lệnh đơn 1 bước (VD: "Đưa cho cô chiếc thìa", "Chỉ mũi của con nào").' }, { id: 10, sub: 'rc', refAge: 22, name: 'RC-4 (Mốc 18–24 tháng): Chỉ đúng 6–8 bức tranh danh từ và 3–4 bức tranh hành động trong Sách tranh Bayley', desc: 'Nhận diện chính xác các đồ vật và động từ (đang ăn, đang ngủ, đang chạy, đang rửa tay) trên trang sách.' }, { id: 11, sub: 'rc', refAge: 30, name: 'RC-5 (Mốc 25–33 tháng): Hiểu đại từ nhân xưng (Của con, Của cô, Anh ấy) & Giới từ (Trong, Trên, Dưới)', desc: 'Thực hiện đúng yêu cầu đặt đồ vật theo vị trí không gian và hiểu công dụng của đồ vật.' }, { id: 12, sub: 'rc', refAge: 40, name: 'RC-6 (Mốc 34–42 tháng): Hiểu câu phủ định, thì quá khứ/tương lai, khái niệm số nhiều và mệnh lệnh 2–3 bước', desc: 'Hiểu các cấu trúc ngữ pháp phức tạp và phân loại nhóm sự vật khi nghe câu hỏi.' }, // 2B. NGÔN NGỮ DIỄN ĐẠT (EXPRESSIVE COMMUNICATION • 6 bậc) { id: 13, sub: 'ec', refAge: 4, name: 'EC-1 (Mốc 3–6 tháng): Mỉm cười phát âm gù gù (cooing) đáp lại người khám và thay đổi âm thanh theo cảm xúc', desc: 'Phát ra ít nhất 2 nguyên âm khác nhau và dùng âm thanh để thu hút sự chú ý.' }, { id: 14, sub: 'ec', refAge: 9, name: 'EC-2 (Mốc 7–11 tháng): Bập bẹ chuỗi phụ âm – nguyên âm (ba-ba, ma-ma) và dùng cử chỉ chỉ trỏ/vẫy tay', desc: 'Tham gia luân phiên phát âm qua lại và chủ động chỉ ngón trỏ vào thứ mình muốn.' }, { id: 15, sub: 'ec', refAge: 15, name: 'EC-3 (Mốc 12–17 tháng): Nói chủ động từ 2 đến 8 từ đơn có nghĩa đúng ngữ cảnh', desc: 'Dùng từ đơn kết hợp ánh mắt để yêu cầu đồ vật hoặc gọi tên đồ chơi quen thuộc.' }, { id: 16, sub: 'ec', refAge: 22, name: 'EC-4 (Mốc 18–24 tháng): Gọi tên đúng ít nhất 5 bức tranh trong sách Bayley và nói cụm từ 2 từ', desc: 'Kết hợp 2 từ tạo thành cụm từ có nghĩa ("Mẹ bế", "Mở hộp", "Xe chạy").' }, { id: 17, sub: 'ec', refAge: 30, name: 'EC-5 (Mốc 25–33 tháng): Đặt câu 3–4 từ, dùng đại từ xưng hô "Con" và trả lời câu hỏi "Cái gì / Làm gì?"', desc: 'Mô tả hành động trong bức tranh bằng cụm Chủ ngữ + Vị ngữ rõ ràng.' }, { id: 18, sub: 'ec', refAge: 40, name: 'EC-6 (Mốc 34–42 tháng): Nói câu phức hoàn chỉnh, đặt câu hỏi "Tại sao/Ở đâu?" và kể lại sự việc theo tranh', desc: 'Sử dụng đúng các từ chỉ thời gian, giới từ và duy trì hội thoại nhiều lượt.' }, // 3A. VẬN ĐỘNG TINH (FINE MOTOR • 6 bậc) { id: 19, sub: 'fm', refAge: 4, name: 'FM-1 (Mốc 3–6 tháng): Mắt dõi theo vòng tròn 180 độ, mở bàn tay chủ động nắm khối gỗ và đưa về đường giữa', desc: 'Phối hợp mắt – tay bước đầu khi vươn tới đồ vật.' }, { id: 20, sub: 'fm', refAge: 9, name: 'FM-2 (Mốc 7–11 tháng): Chuyển khối gỗ qua lại hai tay và nhặt viên thức ăn nhỏ bằng ngón cái – ngón trỏ (Pincer)', desc: 'Cầm kẹp chính xác vật nhỏ bằng đầu ngón cái và ngón trỏ không cần tỳ cả lòng bàn tay.' }, { id: 21, sub: 'fm', refAge: 15, name: 'FM-3 (Mốc 12–17 tháng): Xếp chồng tháp 2–3 khối gỗ, thả hạt nhỏ vào lọ cổ hẹp và cầm bút vạch nét tự phát', desc: 'Kiểm soát cổ tay để đặt khối gỗ cân bằng và cầm bút sáp tô lên giấy.' }, { id: 22, sub: 'fm', refAge: 22, name: 'FM-4 (Mốc 18–24 tháng): Xếp chồng tháp 6 khối gỗ, lật từng trang sách mỏng và bắt chước vạch nét dọc/ngang', desc: 'Tách ngón tay khéo léo lật từng tờ giấy và vẽ nét thẳng theo mẫu.' }, { id: 23, sub: 'fm', refAge: 30, name: 'FM-5 (Mốc 25–33 tháng): Xếp tháp 8–9 khối gỗ, xâu chuỗi hạt vuông vào dây và dùng kéo bấm cắt giấy', desc: 'Phối hợp hai tay đồng bộ: một tay giữ giấy/dây, một tay thao tác kéo/hạt.' }, { id: 24, sub: 'fm', refAge: 40, name: 'FM-6 (Mốc 34–42 tháng): Cầm bút 3 ngón vẽ hình tròn, chữ thập (+), cắt giấy theo đường kẻ và cài cúc áo', desc: 'Sao chép đúng các hình học cơ bản và điều khiển lực ngón tay tinh tế.' }, // 3B. VẬN ĐỘNG THÔ (GROSS MOTOR • 6 bậc) { id: 25, sub: 'gm', refAge: 4, name: 'GM-1 (Mốc 3–6 tháng): Giữ đầu vững vàng 90 độ, chống hai cẳng tay nâng ngực khi nằm sấp và lẫy lật người', desc: 'Kiểm soát trục cổ – thân trên vững và tự lẫy từ sấp sang ngửa / ngửa sang sấp.' }, { id: 26, sub: 'gm', refAge: 9, name: 'GM-2 (Mốc 7–11 tháng): Tự ngồi vững độc lập không cần đỡ, bò phối hợp tay – gối và vịn thành ghế đứng dậy', desc: 'Chuyển tư thế linh hoạt từ ngồi sang bò và lần bước đi men theo đồ đạc.' }, { id: 27, sub: 'gm', refAge: 15, name: 'GM-3 (Mốc 12–17 tháng): Tự đứng dậy giữa sàn và bước đi độc lập vững vàng không cần vịn', desc: 'Đi độc lập khắp phòng, cúi nhặt đồ chơi rồi đứng lên không mất thăng bằng.' }, { id: 28, sub: 'gm', refAge: 22, name: 'GM-4 (Mốc 18–24 tháng): Chạy phối hợp tốt, đá bóng về phía trước và bước lên xuống cầu thang có vịn (dồn chân)', desc: 'Đi lùi, chạy không ngã và tự bước lên bậc cầu thang.' }, { id: 29, sub: 'gm', refAge: 30, name: 'GM-5 (Mốc 25–33 tháng): Nhảy tại chỗ hai chân rời mặt sàn, nhảy từ bậc thấp xuống đất và đi kiễng gót', desc: 'Bật nhảy bằng hai chân cùng lúc và bước lên cầu thang luân phiên chân có vịn nhẹ.' }, { id: 30, sub: 'gm', refAge: 40, name: 'GM-6 (Mốc 34–42 tháng): Đứng một chân giữ thăng bằng 3–5 giây, nhảy xa qua vạch và lên cầu thang luân phiên không vịn', desc: 'Kiểm soát thăng bằng động và tĩnh ở mức độ hoàn thiện của lứa tuổi mầm non.' }, // 4. CẢM XÚC – XÃ HỘI (SOCIAL-EMOTIONAL • Greenspan 6 mốc giai đoạn) { id: 31, sub: 'se', refAge: 4, name: 'SE-1 (Giai đoạn 1 • 0–3m): Tự điều hòa cảm giác & Chú ý quan tâm đến thế giới xung quanh', desc: 'Trẻ dễ dàng bình tĩnh lại khi được bố mẹ ôm ấp/trò chuyện và thích thú nhìn mặt, nghe giọng người thân.' }, { id: 32, sub: 'se', refAge: 8, name: 'SE-2 (Giai đoạn 2 • 4–8m): Gắn kết tình cảm ấm áp & Mỉm cười tương tác với người chăm sóc', desc: 'Trẻ thể hiện niềm vui rạng rỡ, giao tiếp mắt ấm áp và hưởng ứng khi bố mẹ đùa giỡn.' }, { id: 33, sub: 'se', refAge: 14, name: 'SE-3 (Giai đoạn 3 • 9–14m): Giao tiếp hai chiều có mục đích bằng ánh mắt, nét mặt và cử chỉ', desc: 'Trẻ chủ động khởi xướng và đáp lại các vòng giao tiếp qua lại (khoe đồ, chỉ tay, cười đáp trả).' }, { id: 34, sub: 'se', refAge: 20, name: 'SE-4 (Giai đoạn 4 • 15–20m): Giải quyết vấn đề xã hội phức hợp & Chia sẻ sự chú ý chung', desc: 'Trẻ biết dẫn bố mẹ đi lấy thứ mình cần kết hợp nhìn mắt, ra hiệu và phối hợp nhiều cử chỉ liên tiếp.' }, { id: 35, sub: 'se', refAge: 28, name: 'SE-5 (Giai đoạn 5 • 21–30m): Sử dụng ý tưởng biểu tượng cảm xúc & Chơi đóng vai giả vờ có cảm xúc', desc: 'Trẻ dùng lời nói/hành động giả vờ để thể hiện các chủ đề tình cảm (vỗ về búp bê khóc, nấu ăn mời mẹ).' }, { id: 36, sub: 'se', refAge: 38, name: 'SE-6 (Giai đoạn 6 • 31–42m): Kết nối tư duy cảm xúc logic (Hiểu nguyên nhân – hệ quả cảm xúc)', desc: 'Trẻ trả lời được "Tại sao con buồn/vui?", biết thương lượng với bạn và điều tiết cơn giận bằng lời.' }, // 5. HÀNH VI THÍCH ỨNG (ADAPTIVE BEHAVIOR - ABAS-II • 6 nhóm chức năng cốt lõi) { id: 37, sub: 'ab', refAge: 6, name: 'AB-1 (Giao tiếp & Xã hội cơ bản): Biểu đạt nhu cầu rõ ràng, chào hỏi và quan tâm đến người xung quanh', desc: 'Trẻ biết ra hiệu/nói khi cần giúp, mỉm cười chào người quen và chú ý đến các bạn nhỏ khác.' }, { id: 38, sub: 'ab', refAge: 12, name: 'AB-2 (Tự phục vụ Ăn uống): Tự cầm bình/cốc uống nước và tự dùng tay/thìa xúc thức ăn', desc: 'Trẻ hợp tác ngồi ăn tại bàn, tự cầm cốc uống và tự xúc ăn theo lứa tuổi.' }, { id: 39, sub: 'ab', refAge: 18, name: 'AB-3 (Vận động & Khám phá an toàn): Di chuyển vững vàng trong nhà/sân chơi và tránh vật cản', desc: 'Trẻ tự đi lại lấy đồ dùng và dừng lại khi người lớn cảnh báo nguy hiểm (nóng, điện, độ cao).' }, { id: 40, sub: 'ab', refAge: 24, name: 'AB-4 (Vệ sinh & Mặc đồ cơ bản): Tự cởi giày tất, quần thun, biết rửa tay và báo khi tã bẩn/mắc vệ sinh', desc: 'Trẻ phối hợp đưa tay chân khi mặc áo và bắt đầu biết báo hiệu nhu cầu đi vệ sinh.' }, { id: 41, sub: 'ab', refAge: 32, name: 'AB-5 (Tự định hướng & Giải trí): Tự chơi đồ chơi đúng cách trong 10–15 phút và biết làm việc nhà nhỏ', desc: 'Trẻ tự chọn đồ chơi, chơi có mục đích và biết tự cất đồ chơi vào giỏ khi được nhắc.' }, { id: 42, sub: 'ab', refAge: 40, name: 'AB-6 (Thích ứng Cộng đồng & Bạn bè): Đi vệ sinh độc lập, tự mặc quần áo và biết chờ lượt khi chơi với bạn', desc: 'Trẻ tuân thủ quy tắc nơi công cộng/lớp mầm non và hòa đồng khi chơi chung với bạn.' } ]; // answers[id] lưu: 2 (Đạt hoàn toàn / Thường xuyên), 1 (Đang hình thành / Đôi khi), 0 (Chưa đạt / Không có) let answers = {}; let childAgeMonths = 24; let prematureWeeks = 0; let filterSub = 'all'; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .by-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .by-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .by-inner { padding: 24px; max-width: 980px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .by-wrap.is-fullscreen .by-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .by-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 0 rgba(37, 99, 235, 0.4); } 70% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 10px rgba(37, 99, 235, 0); } 100% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 0 rgba(37, 99, 235, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #1d4ed8 0%, #2563eb 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Header */ .by-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .by-header-text { flex: 1 1 260px; } .by-title { font-size: 21px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .by-desc { font-size: 14px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #eff6ff; color: #1d4ed8; border: 1px solid #bfdbfe; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #2563eb; color: #ffffff; border-color: #2563eb; } /* Controls */ .by-top-panel { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; background: #f8fafc; border: 1px solid #cbd5e1; border-radius: 12px; padding: 14px; margin-bottom: 14px; } .by-ctrl-lbl { font-size: 12px; font-weight: 800; color: #0f172a; text-transform: uppercase; margin-bottom: 6px; display: block; } .by-select { padding: 8px 10px; border: 1px solid #94a3b8; border-radius: 7px; font-size: 13.5px; font-weight: 700; color: #0f172a; background: #ffffff; width: 100%; } .by-presets { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; margin-bottom: 14px; } .by-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; touch-action: manipulation; } .by-pbtn:hover { background: #f1f5f9; } .by-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } .by-sub-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 16px; } .by-stab { padding: 6px 11px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .by-stab.active { background: #2563eb; color: #ffffff; border-color: #2563eb; } /* Sticky Dashboard: 5 Điểm Composite (Mean = 100, SD = 15) */ .by-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .by-wrap.is-fullscreen .by-dash { top: 58px; } .by-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .by-score-big { font-size: 20px; font-weight: 800; line-height: 1.2; } .by-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .by-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .by-pillars { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; font-size: 11.5px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .by-pillar-box { background: #1e293b; padding: 7px 9px; border-radius: 8px; border-left: 3px solid #475569; } .by-pillar-box.norm { border-left-color: #10b981; } .by-pillar-box.mild { border-left-color: #f59e0b; background: rgba(245, 158, 11, 0.14); } .by-pillar-box.sev { border-left-color: #ef4444; background: rgba(239, 68, 68, 0.15); } .by-pillar-val { font-weight: 800; color: #ffffff; font-size: 13.5px; display: block; margin-top: 2px; } /* Danh sách mục */ .by-item { border: 1px solid #e2e8f0; border-radius: 10px; padding: 14px 16px; margin-bottom: 10px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 8px; } .by-item.pass-item { border-color: #a7f3d0; background: #f0fdf4; } .by-item.emerge-item { border-color: #fde68a; background: #fffbeb; } .by-item.fail-item { border-color: #fca5a5; background: #fff5f5; } .by-item-title { font-size: 14.5px; font-weight: 700; color: #0f172a; } .by-item-desc { font-size: 13.2px; color: #475569; } .by-tags { display: flex; flex-wrap: wrap; gap: 6px; } .by-tag { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .by-ans-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; } .by-abtn { padding: 8px 6px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 700; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .by-abtn:hover { border-color: #64748b; } .by-abtn.sel-2 { background: #10b981; border-color: #10b981; color: #ffffff; } .by-abtn.sel-1 { background: #f59e0b; border-color: #f59e0b; color: #ffffff; } .by-abtn.sel-0 { background: #ef4444; border-color: #ef4444; color: #ffffff; } /* Bảng tổng hợp Scaled Score (1-19) & Composite Score (40-160) */ .by-table-card { margin-top: 20px; padding: 16px 18px; border-radius: 12px; background: #ffffff; border: 1px solid #e2e8f0; overflow-x: auto; } .by-table { width: 100%; border-collapse: collapse; font-size: 13px; min-width: 620px; } .by-table th, .by-table td { border: 1px solid #cbd5e1; padding: 8px 10px; text-align: center; } .by-table th { background: #f1f5f9; font-weight: 700; color: #0f172a; } .by-result-box { margin-top: 16px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #2563eb; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 740px) { .by-inner { padding: 14px; } .by-title { font-size: 18px; } .by-top-panel { grid-template-columns: 1fr; } .by-pillars { grid-template-columns: 1fr 1fr; } .by-ans-grid { grid-template-columns: 1fr; } .by-pbtn.reset { margin-left: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
Thang Đánh Giá Phát Triển Trẻ Nhũ Nhi & Trẻ Nhỏ Bayley-III (5 Lĩnh Vực • 1 – 42 Tháng)
Công cụ tiêu chuẩn vàng của Nancy Bayley (2006) đánh giá định lượng 5 Lĩnh vực: Nhận thức, Ngôn ngữ (Tiếp nhận & Diễn đạt), Vận động (Tinh & Thô), Cảm xúc – Xã hội và Hành vi Thích ứng. Hệ thống tự động quy đổi ra Điểm chuẩn Tiểu thang (Scaled Score: 1–19, TB = 10) và Điểm Tổng hợp (Composite Score: 40–160, TB = 100, SD = 15).
| Lĩnh vực / Tiểu thang đo Bayley-III | Tuổi phát triển ước tính (DA) | Điểm Chuẩn Tiểu Thang (Scaled Score: 1–19) | Điểm Tổng Hợp Lĩnh Vực (Composite: 40–160) | Bách phân vị (Percentile) | Phân loại chuẩn lâm sàng |
|---|
• 1. Phân tích Độ lệch Nhận thức – Ngôn ngữ (Discrepancy Analysis): Nhận thức đạt ${compCOG} điểm trong khi Ngôn ngữ đạt ${compLAN} điểm (Chênh lệch: ${cogLanGap} điểm) và Cảm xúc – Xã hội đạt ${compSE} điểm. ${cogLanGap >= 15 || compSE < 80 ? '
👉 Cảnh báo kiểu hình phân tách (ASD Red Flag): Trẻ có năng lực giải quyết vấn đề phi ngôn ngữ (Nhận thức & Vận động) tốt hơn hẳn so với Ngôn ngữ và Cảm xúc – Xã hội. Đây là dấu hiệu đặc trưng cần kết hợp sàng lọc/chẩn đoán Rối loạn phổ tự kỷ bằng STAT / ADOS-2 (Module T/1).' : ''}
• 2. Tiêu chuẩn Can thiệp Sớm: Theo tiêu chuẩn quốc tế, bất kỳ lĩnh vực nào trên Bayley-III có Composite Score < 70 (dưới -2 SD) hoặc có ≥ 2 lĩnh vực dưới 85 (dưới -1 SD) đều đủ điều kiện y khoa để bắt đầu chương trình Can thiệp sớm cá nhân hóa ngay lập tức. `; updateFloatingFabVisibility(); } function applyPreset(type) { const adjAge = getAdjustedAge(); answers = {}; if (type === 'reset') { items.forEach(it => { answers[it.id] = 0; }); renderItems(); updateSummary(); return; } if (type === 'typical') { // Đạt tất cả các mục { if (it.refAge <= adjAge) answers[it.id] = 2; else if (it.refAge { if (it.sub === 'cog' || it.sub === 'fm' || it.sub === 'gm') { answers[it.id] = (it.refAge <= adjAge) ? 2 : 0; } else { if (it.refAge <= adjAge - 12) answers[it.id] = 2; else if (it.refAge { if (it.refAge <= Math.max(4, adjAge * 0.5)) answers[it.id] = 2; else if (it.refAge <= Math.max(8, adjAge * 0.65)) answers[it.id] = 1; else answers[it.id] = 0; }); } renderItems(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); byWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { byWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 980px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } selChildAge.onchange = () => { applyPreset('asd_risk'); }; selPremature.onchange = () => { renderItems(); updateSummary(); }; shadow.querySelectorAll('.by-pbtn').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-preset')); }; }); shadow.querySelectorAll('#subTabs .by-stab').forEach(function(tab) { tab.onclick = function() { filterSub = this.getAttribute('data-sub'); shadow.querySelectorAll('#subTabs .by-stab').forEach(t => t.classList.remove('active')); this.classList.add('active'); renderItems(); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); applyPreset('asd_risk'); })();
Bayley-III (Bayley Scales of Infant and Toddler Development, Third Edition — Thang đánh giá sự phát triển của trẻ nhũ nhi và trẻ nhỏ Bayley, Phiên bản 3) được y khoa thế giới mệnh danh là “Tiêu chuẩn vàng” (Gold Standard) toàn diện nhất để đánh giá định lượng sự phát triển của trẻ nhỏ trong giai đoạn đầu đời. Công cụ được phát triển bởi Giáo sư Nancy Bayley (phiên bản 3 xuất bản năm 2006 bởi Pearson).
Nếu như Denver II hay ASQ-3 chỉ là công cụ Sàng lọc (Screening) để phát hiện nguy cơ chậm phát triển, thì Bayley-III là công cụ ĐÁNH GIÁ CHẨN ĐOÁN CHUYÊN SÂU (Diagnostic Assessment): cung cấp các chỉ số chuẩn hóa chính xác như một bài kiểm tra IQ đầu đời để xác định mức độ chậm phát triển và đủ điều kiện nhận can thiệp sớm.
1. Tóm tắt cốt lõi về cấu trúc & Hệ thống tính điểm của Bayley-III
-
Độ tuổi áp dụng: Trẻ từ 1 tháng đến 42 tháng tuổi (3.5 tuổi).
-
Cấu trúc 5 Lĩnh vực (3 Lĩnh vực Tương tác trực tiếp + 2 Bảng hỏi Phụ huynh):
| Lĩnh vực chính (Scales) | Các Tiểu thang đo (Subtests) | Hình thức đánh giá & Nội dung cốt lõi |
| 1. Nhận thức(Cognitive Scale) | 1 tiểu thang duy nhất (91 mục) | Khám trực tiếp trẻ: Đánh giá khám phá giác quan – vận động, hằng định đối tượng, giải quyết vấn đề, ghép hình, phân loại, khái niệm số lượng và chơi giả vờ (không phụ thuộc ngôn ngữ nói). |
| 2. Ngôn ngữ(Language Scale) |
• Ngôn ngữ Tiếp nhận (Receptive – 49 mục)
• Ngôn ngữ Diễn đạt (Expressive – 48 mục) |
Khám trực tiếp trẻ:
• Tiếp nhận: Nghe hiểu từ vựng, chỉ tranh, làm theo mệnh lệnh, hiểu giới từ/ngữ pháp.
• Diễn đạt: Phát âm tiền ngôn ngữ, cử chỉ, gọi tên đồ vật/tranh ảnh, nói cụm từ và câu phức. |
| 3. Vận động(Motor Scale) |
• Vận động Tinh(Fine Motor – 66 mục)
• Vận động Thô(Gross Motor – 72 mục) |
Khám trực tiếp trẻ:
• Vận động Tinh: Dõi mắt, cầm nắm kẹp chì, xếp khối gỗ, lật trang sách, vẽ nét và cắt kéo.
• Vận động Thô: Kiểm soát đầu cổ, lẫy, ngồi, bò, đứng, đi, chạy, nhảy, leo cầu thang, đá/bắt bóng. |
| 4. Cảm xúc – Xã hội(Social-Emotional) | Thang Greenspantheo 6 mốc giai đoạn phát triển cảm xúc | Phụ huynh trả lời (Chấm tần suất 0 – 5): Tự điều hòa cảm xúc, gắn kết với người chăm sóc, giao tiếp hai chiều có mục đích và tư duy biểu tượng cảm xúc. |
| 5. Hành vi Thích ứng(Adaptive Behavior) | 10 khu vực kỹ năng (Dựa trên hệ thống ABAS-II) | Phụ huynh trả lời (Chấm mức độ độc lập 0 – 3): Giao tiếp, Tự chăm sóc, Tự định hướng, Sức khỏe & An toàn, Giải trí, Xã hội, Sinh hoạt tại nhà/cộng đồng, Vận động. |
2. Quy tắc Quy đổi Điểm Chuẩn Hóa của Bayley-III (Scaled Score & Composite Score)
Đây là phần làm nên giá trị khoa học vượt trội của Bayley-III:
-
Điểm Chuẩn Tiểu Thang (Scaled Score — từ 1 đến 19 điểm):
-
Trung bình dân số chuẩn = 10 điểm, Độ lệch chuẩn (SD) = 3 điểm.
-
Khoảng bình thường (±1 SD): Từ 7 đến 13 điểm. Dưới 7 điểm () là bắt đầu suy giảm.
-
-
Điểm Tổng Hợp Lĩnh Vực (Composite Score — từ 40 đến 160 điểm):
-
Trung bình dân số chuẩn = 100 điểm, Độ lệch chuẩn (SD) = 15 điểm (tương tự thang điểm IQ hoặc Vineland-3):
-
điểm ( trở lên): Phát triển trên mức trung bình / Vượt trội.
-
85 – 114 điểm (): Trong giới hạn Bình thường (Average).
-
70 – 84 điểm ( đến ): Chậm phát triển mức độ Nhẹ / Vùng Giáp ranh.
-
điểm (Dưới ): Chậm phát triển mức độ Trung bình – Nặng (Significant Delay) — Đủ tiêu chuẩn y khoa can thiệp sớm tích cực.
-
-
[Chậm phát triển] Thang Kyoto: Công cụ đánh giá sự phát triển tâm lý – vận động và tính chỉ số DQ
Thang đánh giá sự phát triển tâm lý Kyoto (Kyoto Scale of Psychological Development – viết tắt là KSPD) là một trong những bộ công cụ đánh giá phát triển lâm sàng quan trọng và có lịch sử ứng dụng lâu đời tại Việt Nam, đặc biệt ở các trường đại học sư phạm, viện tâm lý và bệnh viện nhi.
Tuy nhiên, dưới góc độ chuyên môn và thiết kế phần mềm, bạn cần nắm rõ bản chất: KSPD KHÔNG phải là thang sàng lọc hay chẩn đoán đặc hiệu cho tự kỷ, mà là thang đo sự phát triển tâm lý – vận động tổng quát (tương tự như Bayley-III hay Denver II), được dùng để xác định “Tuổi phát triển” và “Chỉ số phát triển (DQ)” của trẻ tự kỷ hoặc chậm phát triển.
Lưu ý: Bố mẹ cần Bộ giáo cụ vật lý tiêu chuẩn để kết hợp với bộ câu hỏi để đánh giá. Công cụ dưới đây chủ yếu phục vụ các thầy cô hoặc chuyên gia, giúp họ nhập liệu và in kết quả đánh giá chính xác sau quá trình kiểm tra.
:host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; } .kspd-outer { width: 100%; background: transparent; position: relative; } /* 2. KHI BẬT CHẾ ĐỘ TOÀN MÀN HÌNH (DOM PORTAL RA BODY) */ .kspd-outer.is-fullscreen { width: 100% !important; min-height: 100% !important; background: #f8fafc !important; padding-bottom: 90px !important; } .kspd-wrap { max-width: 1080px; margin: 0 auto; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; color: #1e293b; } .kspd-outer.is-fullscreen .kspd-wrap { padding: 18px; } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 18px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .kspd-outer.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 14px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* 3. NÚT NỔI TRƯỢT DỌC THEO VÙNG BẢNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(30, 58, 138, 0.45), 0 0 0 0 rgba(30, 58, 138, 0.4); } 70% { box-shadow: 0 6px 20px rgba(30, 58, 138, 0.45), 0 0 0 10px rgba(30, 58, 138, 0); } 100% { box-shadow: 0 6px 20px rgba(30, 58, 138, 0.45), 0 0 0 0 rgba(30, 58, 138, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #1e3a8a 0%, #2563eb 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(30, 58, 138, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } .btn-fullscreen-top { background: #eff6ff; color: #1d4ed8; border: 1px solid #bfdbfe; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #2563eb; color: #ffffff; border-color: #2563eb; } /* CSS GỐC CỦA HỆ THỐNG KSPD */ .kspd-box { background: #fff; border: 1px solid #e2e8f0; border-radius: 12px; padding: 24px; margin-bottom: 24px; box-shadow: 0 4px 12px rgba(0,0,0,0.04); } .kspd-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; } .kspd-grid-4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-top: 14px; } .kspd-field label { display: block; font-weight: 600; font-size: 13.5px; margin-bottom: 6px; color: #334155; } .kspd-field input, .kspd-field textarea, .kspd-field select { width: 100%; padding: 9px 12px; border: 1px solid #cbd5e1; border-radius: 6px; font-size: 14.5px; box-sizing: border-box; background: #fff; color: #1e293b; font-family: inherit; } .kspd-btn { background: #2563eb; color: #fff !important; text-decoration: none !important; border: none; padding: 10px 18px; border-radius: 6px; font-size: 14px; font-weight: 600; cursor: pointer; display: inline-block; font-family: inherit; } .kspd-btn:hover { background: #1d4ed8; } .kspd-btn-sm { padding: 6px 12px; font-size: 12.5px; border-radius: 5px; } .kspd-btn-danger { background: #dc2626; } .kspd-btn-outline { background: #f1f5f9; color: #1e293b !important; border: 1px solid #cbd5e1; } .kspd-tabs { display: flex; gap: 8px; border-bottom: 2px solid #e2e8f0; margin-top: 16px; padding-bottom: 8px; flex-wrap: wrap; } .kspd-tab-btn { background: #f8fafc; border: 1px solid #cbd5e1; padding: 9px 16px; border-radius: 6px; cursor: pointer; font-weight: 600; color: #475569; font-family: inherit; } .kspd-tab-btn.active { background: #1e3a8a; color: #fff; border-color: #1e3a8a; } .kspd-tab-pane { display: none; padding-top: 12px; max-height: 520px; overflow-y: auto; border: 1px solid #e2e8f0; border-radius: 8px; margin-top: 8px; background: #fff; } .kspd-outer.is-fullscreen .kspd-tab-pane { max-height: 68vh; } .kspd-tab-pane.active { display: block; } .kspd-table-scroll { width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; } .kspd-table { width: 100%; border-collapse: collapse; font-size: 13.5px; min-width: 640px; } .kspd-table th, .kspd-table td { border: 1px solid #cbd5e1; padding: 9px 10px; text-align: center; } .kspd-table th { background: #f1f5f9; font-weight: 700; position: sticky; top: 0; z-index: 2; } .kspd-radio-group label { display: inline-block; margin-right: 6px; cursor: pointer; font-weight: 600; padding: 4px 8px; border-radius: 4px; border: 1px solid #cbd5e1; font-size: 12.5px; } .kspd-basal-row { background: #f0fdf4 !important; opacity: 0.85; } @media (max-width: 768px) { .kspd-grid-2, .kspd-grid-4 { grid-template-columns: 1fr; } .kspd-box { padding: 14px; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } } @media print { .no-print, .fs-floating-bar, .floating-zoom-fab, .btn-fullscreen-top { display: none !important; } .kspd-box { box-shadow: none; border: none; padding: 0; } }
1. Phiếu Chấm Điện Tử KSPD Đầy Đủ (Đang nạp: 323 tiểu mục)
Bao gồm: 76 mục P-M (1–60 tháng), 126 mục C-A (1–156 tháng) và 126 mục L-S (1–156 tháng).
| Bậc tuổi | Mã mục | Nội dung tiểu mục thử nghiệm KSPD | Trọng số | Kết quả chấm |
|---|---|---|---|---|
| 1 tháng | PM_001_1 |
Nằm sấp nhấc cằm rời mặt giường | +0.25 th | |
| 1 tháng | PM_001_2 |
Nằm ngửa giữ đầu ở đường giữa hoặc quay sang bên | +0.25 th | |
| 1 tháng | PM_001_3 |
Phản xạ nắm chặt bàn tay khi chạm vào lòng bàn tay | +0.25 th | |
| 1 tháng | PM_001_4 |
Co duỗi hai chân luân phiên khi nằm ngửa | +0.25 th | |
| 2 tháng | PM_002_1 |
Nằm sấp nâng đầu góc 45 độ giữ vững | +0.25 th | |
| 2 tháng | PM_002_2 |
Giữ đầu thẳng tạm thời khi được bế vác vai | +0.25 th | |
| 2 tháng | PM_002_3 |
Đạp duỗi hai chân mạnh mẽ có nhịp điệu | +0.25 th | |
| 2 tháng | PM_002_4 |
Nằm sấp chịu lực nhẹ trên hai cẳng tay | +0.25 th | |
| 3 tháng | PM_003_1 |
Nằm sấp chống hai cẳng tay nâng đầu và ngực góc 90 độ | +0.25 th | |
| 3 tháng | PM_003_2 |
Giữ đầu vững vàng khi bế ngồi có đỡ lưng | +0.25 th | |
| 3 tháng | PM_003_3 |
Kéo ngồi dậy đầu không bị ngửa trễ ra sau | +0.25 th | |
| 3 tháng | PM_003_4 |
Nằm ngửa đưa hai bàn tay chụm lại ở đường giữa ngực | +0.25 th | |
| 4 tháng | PM_004_1 |
Lẫy từ nằm sấp sang nằm ngửa hoặc nghiêng người | +0.25 th | |
| 4 tháng | PM_004_2 |
Ngồi có đỡ giữ thẳng lưng trên | +0.25 th | |
| 4 tháng | PM_004_3 |
Khi giữ đứng nách, chân chịu được một phần trọng lượng cơ thể | +0.25 th | |
| 4 tháng | PM_004_4 |
Nằm sấp duỗi thẳng hai tay chống nâng ngực cao | +0.25 th | |
| 5 tháng | PM_005_1 |
Lẫy hoàn chỉnh từ nằm ngửa sang nằm sấp | +0.25 th | |
| 5 tháng | PM_005_2 |
Kéo hai tay trẻ từ nằm ngửa lên tư thế ngồi (trẻ tự gồng cổ kéo lên) | +0.25 th | |
| 5 tháng | PM_005_3 |
Giữ đứng dưới nách trẻ nhún nhảy hai chân liên tục | +0.25 th | |
| 5 tháng | PM_005_4 |
Nằm sấp xoay trục cơ thể sang hai bên | +0.25 th | |
| 6 tháng | PM_006_1 |
Ngồi chống hai tay phía trước giữ thăng bằng ngắn | +0.25 th | |
| 6 tháng | PM_006_2 |
Lẫy lăn tròn hai chiều ngửa - sấp linh hoạt | +0.25 th | |
| 6 tháng | PM_006_3 |
Nằm sấp với một tay lấy đồ chơi phía trước | +0.25 th | |
| 6 tháng | PM_006_4 |
Chịu toàn bộ sức nặng trên hai chân khi được giữ nách | +0.25 th | |
| 7 tháng | PM_007_1 |
Tự ngồi vững không cần chống tay (> 30 giây) | +0.25 th | |
| 7 tháng | PM_007_2 |
Trườn sấp tiến về phía trước để lấy đồ chơi | +0.25 th | |
| 7 tháng | PM_007_3 |
Chuyển từ tư thế nằm sấp sang chống bốn điểm (tay - gối) | +0.25 th | |
| 7 tháng | PM_007_4 |
Ngồi vững xoay người sang hai bên lấy đồ vật | +0.25 th | |
| 8 tháng | PM_008_1 |
Bò phối hợp tay và đầu gối nhịp nhàng | +0.25 th | |
| 8 tháng | PM_008_2 |
Tự chuyển từ tư thế nằm sấp/bò sang ngồi độc lập | +0.25 th | |
| 8 tháng | PM_008_3 |
Vịn thành giường/cũi tự kéo người đứng dậy trên hai chân | +0.25 th | |
| 8 tháng | PM_008_4 |
Ngồi vững nghiêng người nhặt đồ chơi không mất thăng bằng | +0.25 th | |
| 9 tháng | PM_009_1 |
Đứng vịn vững vàng bằng một tay hoặc hai tay vào thành ghế | +0.25 th | |
| 9 tháng | PM_009_2 |
Tự ngồi xuống từ tư thế đứng vịn có kiểm soát | +0.25 th | |
| 9 tháng | PM_009_3 |
Lần bước đi ngang dọc theo thành giường/ghế sofa | +0.25 th | |
| 9 tháng | PM_009_4 |
Bò vượt qua chướng ngại vật thấp trên sàn | +0.25 th | |
| 10 tháng | PM_010_1 |
Đi men thành bàn/ghế chỉ dùng 1 tay giữ nhẹ | +0.25 th | |
| 10 tháng | PM_010_2 |
Đứng buông tay độc lập vài giây (2-3 giây) | +0.25 th | |
| 10 tháng | PM_010_3 |
Bò leo lên bậc cầu thang hoặc bậc thềm thấp | +0.25 th | |
| 10 tháng | PM_010_4 |
Bước đi về phía trước khi người lớn dắt hai tay | +0.25 th | |
| 11 tháng | PM_011_1 |
Tự đứng vững một mình không cần vịn (> 5-10 giây) | +0.25 th | |
| 11 tháng | PM_011_2 |
Đi về phía trước khi người lớn chỉ dắt một tay | +0.25 th | |
| 11 tháng | PM_011_3 |
Ngồi xổm xuống nhặt đồ chơi rồi đứng lên có vịn nhẹ | +0.25 th | |
| 11 tháng | PM_011_4 |
Tự đứng dậy từ giữa sàn không cần vịn đồ vật | +0.25 th | |
| 12 tháng | PM_012_1 |
Tự bước đi độc lập 3 - 5 bước đầu tiên | +0.25 th | |
| 12 tháng | PM_012_2 |
Đứng vững cúi nhặt đồ chơi rồi đứng thẳng lên không ngã | +0.25 th | |
| 12 tháng | PM_012_3 |
Vừa đi vừa cầm đồ chơi trên tay | +0.25 th | |
| 12 tháng | PM_012_4 |
Bò lùi xuống bậc thềm/cầu thang an toàn | +0.25 th | |
| 15 tháng | PM_015_1 |
Đi độc lập vững vàng khắp phòng, tự dừng và đổi hướng | +0.75 th | |
| 15 tháng | PM_015_2 |
Bước lên cầu thang khi được dắt 1 tay hoặc vịn tường | +0.75 th | |
| 15 tháng | PM_015_3 |
Đi lùi về phía sau 2 - 3 bước | +0.75 th | |
| 15 tháng | PM_015_4 |
Ngồi xuống ghế nhỏ trẻ em độc lập | +0.75 th | |
| 18 tháng | PM_018_1 |
Chạy cứng chân nhưng hiếm khi bị ngã | +0.75 th | |
| 18 tháng | PM_018_2 |
Bước lên cầu thang có vịn lan can (bước dồn 2 chân/bậc) | +0.75 th | |
| 18 tháng | PM_018_3 |
Đá quả bóng về phía trước (bóng lăn đi, trẻ không ngã) | +0.75 th | |
| 18 tháng | PM_018_4 |
Đi kéo theo đồ chơi có dây phía sau lưng | +0.75 th | |
| 21 tháng | PM_021_1 |
Bước xuống cầu thang có vịn tay hoặc dắt 1 tay (dồn chân) | +0.75 th | |
| 21 tháng | PM_021_2 |
Chạy khá vững và biết tránh vật cản trên đường | +0.75 th | |
| 21 tháng | PM_021_3 |
Đứng ném bóng từ trên cao về phía trước không mất đà | +0.75 th | |
| 21 tháng | PM_021_4 |
Nhảy từ bậc cầu thang cuối cùng xuống sàn có đỡ nhẹ | +0.75 th | |
| 24 tháng | PM_024_1 |
Chạy tốt, tự dừng lại và chuyển hướng đột ngột không ngã | +0.75 th | |
| 24 tháng | PM_024_2 |
Tự lên và xuống cầu thang không cần vịn (dồn chân) | +0.75 th | |
| 24 tháng | PM_024_3 |
Nhảy tại chỗ hai chân rời mặt đất cùng lúc | +0.75 th | |
| 24 tháng | PM_024_4 |
Đứng kiễng gót chân theo mẫu | +0.75 th | |
| 30 tháng | PM_030_1 |
Nhảy từ bục cao 15-20cm xuống đất bằng hai chân vững vàng | +1.50 th | |
| 30 tháng | PM_030_2 |
Đi kiễng gót chân liên tục trên một đoạn dài (> 2m) | +1.50 th | |
| 30 tháng | PM_030_3 |
Bước lên cầu thang luân phiên từng chân có vịn nhẹ | +1.50 th | |
| 30 tháng | PM_030_4 |
Đứng một chân giữ thăng bằng được 1 - 2 giây | +1.50 th | |
| 36 tháng | PM_036_1 |
Bước lên cầu thang luân phiên từng chân không cần vịn | +1.50 th | |
| 36 tháng | PM_036_2 |
Đứng một chân giữ thăng bằng vững từ 3 - 5 giây | +1.50 th | |
| 36 tháng | PM_036_3 |
Nhảy xa về phía trước bằng hai chân chụm (> 30cm) | +1.50 th | |
| 36 tháng | PM_036_4 |
Đạp xe ba bánh tiến về phía trước và điều khiển tay lái | +1.50 th | |
| 42 tháng | PM_042_1 |
Bước xuống cầu thang luân phiên từng chân không cần vịn | +1.50 th | |
| 42 tháng | PM_042_2 |
Nhảy lò cò trên một chân được 2 - 3 bước | +1.50 th | |
| 42 tháng | PM_042_3 |
Bắt quả bóng to ném tới bằng hai bàn tay (không ôm vào ngực) | +1.50 th | |
| 42 tháng | PM_042_4 |
Đi nối gót (mũi chân sau chạm gót chân trước) trên vạch thẳng | +1.50 th | |
| 48 tháng | PM_048_1 |
Đứng một chân giữ thăng bằng vững vàng > 8 - 10 giây | +1.50 th | |
| 48 tháng | PM_048_2 |
Nhảy lò cò một chân liên tục 5 - 8 bước tiến về trước | +1.50 th | |
| 48 tháng | PM_048_3 |
Nhảy qua dây căng thấp (cao 15-20cm) bằng hai chân chụm | +1.50 th | |
| 48 tháng | PM_048_4 |
Chạy nhanh đổi hướng zíc-zắc linh hoạt | +1.50 th | |
| 54 tháng | PM_054_1 |
Đi thăng bằng lùi nối gót trên đường kẻ thẳng 2m | +3.00 th | |
| 54 tháng | PM_054_2 |
Ném bóng nhỏ trúng đích ở khoảng cách 1.5 - 2m | +3.00 th | |
| 60 tháng | PM_060_1 |
Nhảy chân sáo (Skipping) luân phiên hai chân nhịp nhàng | +3.00 th | |
| 60 tháng | PM_060_2 |
Đứng một chân nhắm mắt giữ thăng bằng > 5 giây | +3.00 th |
| Bậc tuổi | Mã mục | Nội dung tiểu mục thử nghiệm KSPD | Trọng số | Kết quả chấm |
|---|---|---|---|---|
| 1 tháng | CA_001_1 |
Mắt nhìn tập trung vào khuôn mặt người đối diện hoặc vòng tròn đỏ | +0.25 th | |
| 1 tháng | CA_001_2 |
Mắt dõi theo vòng tròn đỏ di chuyển từ bên này sang đường giữa | +0.25 th | |
| 1 tháng | CA_001_3 |
Nghe tiếng chuông lắc có phản ứng chớp mắt hoặc dừng cử động | +0.25 th | |
| 1 tháng | CA_001_4 |
Mắt nhìn theo vật di chuyển góc 45 độ | +0.25 th | |
| 2 tháng | CA_002_1 |
Mắt dõi theo vòng tròn đỏ di chuyển qua đường giữa 90 - 180 độ | +0.25 th | |
| 2 tháng | CA_002_2 |
Mắt nhìn theo người di chuyển trong phòng | +0.25 th | |
| 2 tháng | CA_002_3 |
Chuyển ánh nhìn luân phiên giữa hai vật thể đặt trước mặt | +0.25 th | |
| 2 tháng | CA_002_4 |
Bàn tay mở hé thường xuyên hơn, giữ lục lạc ngắn khi đặt vào tay | +0.25 th | |
| 3 tháng | CA_003_1 |
Mắt dõi theo vòng tròn đỏ di chuyển vòng tròn 180 độ hoàn chỉnh | +0.25 th | |
| 3 tháng | CA_003_2 |
Nhìn ngắm hai bàn tay của chính mình (Hand regard) | +0.25 th | |
| 3 tháng | CA_003_3 |
Cầm giữ lục lạc chủ động và lắc nhẹ tạo âm thanh | +0.25 th | |
| 3 tháng | CA_003_4 |
Nhìn ngay vào khối gỗ hoặc đồ chơi đặt trên mặt bàn trước mặt | +0.25 th | |
| 4 tháng | CA_004_1 |
Đưa hai tay hướng về phía đồ chơi treo trước ngực (chưa chạm chuẩn) | +0.25 th | |
| 4 tháng | CA_004_2 |
Chạm và nắm được đồ chơi đưa gần tầm tay | +0.25 th | |
| 4 tháng | CA_004_3 |
Đưa đồ chơi cầm được vào miệng khám phá | +0.25 th | |
| 4 tháng | CA_004_4 |
Quay đầu tìm kiếm chính xác hướng phát ra tiếng chuông | +0.25 th | |
| 5 tháng | CA_005_1 |
Với một tay nắm trúng khối gỗ đặt trên bàn ngay lần đầu | +0.25 th | |
| 5 tháng | CA_005_2 |
Cầm một khối gỗ và mắt nhìn chú ý sang khối gỗ thứ hai | +0.25 th | |
| 5 tháng | CA_005_3 |
Cầm giấy vò hoặc vẫy tạo tiếng sột soạt | +0.25 th | |
| 5 tháng | CA_005_4 |
Kéo khăn che trên mặt mình ra | +0.25 th | |
| 6 tháng | CA_006_1 |
Chuyển đồ chơi/khối gỗ từ tay này sang tay kia thành thạo | +0.25 th | |
| 6 tháng | CA_006_2 |
Mỗi tay cầm giữ đồng thời một khối gỗ vuông (2 khối) | +0.25 th | |
| 6 tháng | CA_006_3 |
Đập khối gỗ hoặc đồ chơi xuống mặt bàn tạo tiếng kêu | +0.25 th | |
| 6 tháng | CA_006_4 |
Nhìn theo đồ vật bị rơi xuống sàn nhà | +0.25 th | |
| 7 tháng | CA_007_1 |
Cầm kẹp khối gỗ bằng ngón cái và các ngón (Radial palmar grasp) | +0.25 th | |
| 7 tháng | CA_007_2 |
Giữ 2 khối gỗ trên hai tay và mắt nhìn sang khối thứ 3 | +0.25 th | |
| 7 tháng | CA_007_3 |
Lật cốc úp để lấy đồ chơi vừa được giấu bên dưới (che một phần) | +0.25 th | |
| 7 tháng | CA_007_4 |
Dùng tay cào lấy hạt nhỏ trên mặt bàn | +0.25 th | |
| 8 tháng | CA_008_1 |
Đập hai khối gỗ trên hai tay vào nhau ở đường giữa | +0.25 th | |
| 8 tháng | CA_008_2 |
Kéo dây để lấy chiếc vòng gắn ở đầu dây về phía mình | +0.25 th | |
| 8 tháng | CA_008_3 |
Lật khăn/cốc tìm đồ chơi bị giấu kín hoàn toàn trước mặt | +0.25 th | |
| 8 tháng | CA_008_4 |
Cầm giữ khối gỗ thứ 2 mà không làm rơi khối thứ 1 | +0.25 th | |
| 9 tháng | CA_009_1 |
Cầm kẹp hạt nhỏ bằng ngón cái và cạnh ngón trỏ (Scissor grasp) | +0.25 th | |
| 9 tháng | CA_009_2 |
Chọc ngón trỏ vào lỗ nhỏ trên bảng hoặc khám phá chi tiết nhỏ | +0.25 th | |
| 9 tháng | CA_009_3 |
Nhặt chiếc chuông bằng phần tay cầm và lắc kêu theo mẫu | +0.25 th | |
| 9 tháng | CA_009_4 |
Lấy khối gỗ ra khỏi lòng cốc nhựa | +0.25 th | |
| 10 tháng | CA_010_1 |
Cầm kẹp hạt nhỏ chính xác bằng hai đầu ngón cái và ngón trỏ (Pincer grasp) | +0.25 th | |
| 10 tháng | CA_010_2 |
Thả khối gỗ vào trong cốc (chạm tay vào cốc nhưng chưa buông hoàn toàn) | +0.25 th | |
| 10 tháng | CA_010_3 |
Mở giấy gói lỏng để lấy khối gỗ/đồ chơi bên trong | +0.25 th | |
| 10 tháng | CA_010_4 |
Dùng dùi trống gõ bắt chước lên mặt trống/bàn | +0.25 th | |
| 11 tháng | CA_011_1 |
Bỏ thả thành công ít nhất 1 - 2 khối gỗ vào trong lòng cốc | +0.25 th | |
| 11 tháng | CA_011_2 |
Lấy viên hạt nhỏ ra khỏi lọ thủy tinh nhỏ (bằng cách thò ngón tay) | +0.25 th | |
| 11 tháng | CA_011_3 |
Bắt chước ngoáy thìa trong cốc nhựa | +0.25 th | |
| 11 tháng | CA_011_4 |
Lật giở từng cụm trang sách bìa cứng | +0.25 th | |
| 12 tháng | CA_012_1 |
Bỏ liên tiếp 3 - 4 khối gỗ vào trong cốc theo yêu cầu | +0.25 th | |
| 12 tháng | CA_012_2 |
Đặt khối gỗ này lên trên khối gỗ kia (tập xếp tháp 2 khối) | +0.25 th | |
| 12 tháng | CA_012_3 |
Nhấc hình tròn ra khỏi bảng ghép hình 3 khuôn cơ bản | +0.25 th | |
| 12 tháng | CA_012_4 |
Cầm bút sáp chấm hoặc vạch nét đầu tiên lên giấy | +0.25 th | |
| 15 tháng | CA_015_1 |
Xếp chồng tháp 2 khối gỗ vuông đứng vững | +0.60 th | |
| 15 tháng | CA_015_2 |
Đặt đúng hình tròn vào khuôn trên bảng ghép hình 3 hình | +0.60 th | |
| 15 tháng | CA_015_3 |
Bỏ hạt nhỏ vào trong lọ cổ hẹp và biết dốc ngược lọ để đổ hạt ra | +0.60 th | |
| 15 tháng | CA_015_4 |
Vẽ nguệch ngoạc tự phát trên giấy sau khi xem làm mẫu | +0.60 th | |
| 15 tháng | CA_015_5 |
Mở nắp hộp tròn để lấy đồ chơi bên trong | +0.60 th | |
| 18 tháng | CA_018_1 |
Xếp chồng tháp 3 - 4 khối gỗ vuông đứng vững | +0.60 th | |
| 18 tháng | CA_018_2 |
Đặt đúng cả 2 hình (Tròn và Vuông) vào bảng ghép hình | +0.60 th | |
| 18 tháng | CA_018_3 |
Bắt chước vạch một nét thẳng/dọc trên giấy bằng bút sáp | +0.60 th | |
| 18 tháng | CA_018_4 |
Lật từng trang sách mỏng (2-3 trang một lần) | +0.60 th | |
| 18 tháng | CA_018_5 |
Dùng que/thước khều đồ chơi nằm ngoài tầm tay với | +0.60 th | |
| 21 tháng | CA_021_1 |
Xếp chồng tháp 5 khối gỗ vuông đứng vững | +0.60 th | |
| 21 tháng | CA_021_2 |
Đặt đúng cả 3 hình (Tròn, Vuông, Tam giác) vào bảng ghép hình chuẩn | +0.60 th | |
| 21 tháng | CA_021_3 |
Xếp 2 - 3 khối gỗ nối đuôi nhau thành hàng ngang làm đoàn tàu | +0.60 th | |
| 21 tháng | CA_021_4 |
Bắt chước vẽ nét tròn xoay vòng trên giấy | +0.60 th | |
| 21 tháng | CA_021_5 |
Đậy đúng nắp hộp hình vuông vào thân hộp vuông | +0.60 th | |
| 24 tháng | CA_024_1 |
Xếp chồng tháp 6 - 7 khối gỗ vuông đứng vững | +0.60 th | |
| 24 tháng | CA_024_2 |
Đặt đúng cả 3 hình vào bảng ghép hình ngay cả khi xoay ngược bảng 180 độ | +0.60 th | |
| 24 tháng | CA_024_3 |
Xếp mô hình đoàn tàu có ống khói (4 khối gỗ) theo mẫu | +0.60 th | |
| 24 tháng | CA_024_4 |
Bắt chước vẽ nét thẳng đứng và nét ngang rõ ràng | +0.60 th | |
| 24 tháng | CA_024_5 |
Gấp đôi tờ giấy hình vuông một lần theo mẫu | +0.60 th | |
| 30 tháng | CA_030_1 |
Xếp chồng tháp 8 - 9 khối gỗ vuông đứng vững | +1.20 th | |
| 30 tháng | CA_030_2 |
Xếp mô hình cây cầu (3 khối gỗ có khe hở ở giữa) khi nhìn làm mẫu | +1.20 th | |
| 30 tháng | CA_030_3 |
Bắt chước vẽ hình tròn khép kín tương đối chuẩn | +1.20 th | |
| 30 tháng | CA_030_4 |
Ghép đúng bức tranh cắt đôi (2 mảnh ghép thành hình con cá/cái bát) | +1.20 th | |
| 30 tháng | CA_030_5 |
So sánh và đặt chồng khít 4 hình học cơ bản cùng loại | +1.20 th | |
| 36 tháng | CA_036_1 |
Tự xếp mô hình cây cầu 3 khối gỗ chỉ nhìn mẫu hoàn chỉnh (không cần xem thao tác) | +1.20 th | |
| 36 tháng | CA_036_2 |
Bắt chước vẽ hình chữ thập (+) gồm nét dọc và nét ngang cắt nhau | +1.20 th | |
| 36 tháng | CA_036_3 |
Gấp tờ giấy vuông làm tư (gấp 2 lần vuông góc) theo mẫu | +1.20 th | |
| 36 tháng | CA_036_4 |
So sánh hai vạch thẳng và chỉ đúng vạch nào dài hơn (3/3 lần) | +1.20 th | |
| 36 tháng | CA_036_5 |
Xâu được 4 hạt gỗ lớn vào dây có đầu cứng | +1.20 th | |
| 42 tháng | CA_042_1 |
Ghép đúng bức tranh cắt làm 3 - 4 mảnh rời nhau | +1.20 th | |
| 42 tháng | CA_042_2 |
Phân loại và ghép cặp 10 thẻ hình học theo hình dạng và màu sắc | +1.20 th | |
| 42 tháng | CA_042_3 |
Vẽ hình người cơ bản có ít nhất 2 - 3 bộ phận (đầu, chân, mắt) | +1.20 th | |
| 42 tháng | CA_042_4 |
Xếp mô hình cổng/tháp 5 khối gỗ theo mẫu | +1.20 th | |
| 42 tháng | CA_042_5 |
Dùng kéo cắt đứt đôi tờ giấy theo đường thẳng | +1.20 th | |
| 48 tháng | CA_048_1 |
Sao chép hình vuông có 4 góc vuông rõ rệt khi nhìn thẻ mẫu | +1.20 th | |
| 48 tháng | CA_048_2 |
Gấp giấy hình tam giác chéo góc chính xác theo mẫu | +1.20 th | |
| 48 tháng | CA_048_3 |
Đếm chỉ tay chính xác và lấy đúng 4 khối gỗ theo yêu cầu | +1.20 th | |
| 48 tháng | CA_048_4 |
Hoàn thành bảng ghép hình 4 mảnh cắt chéo thành hình chữ nhật (Patience picture) | +1.20 th | |
| 48 tháng | CA_048_5 |
So sánh trọng lượng 2 hộp giống hệt nhau (3g và 15g) chỉ ra hộp nặng hơn | +1.20 th | |
| 54 tháng | CA_054_1 |
Xếp mô hình bậc thang 6 khối gỗ (3 bậc) sau khi xem làm mẫu | +1.20 th | |
| 54 tháng | CA_054_2 |
Sao chép hình tam giác cân có 3 góc nhọn rõ ràng | +1.20 th | |
| 54 tháng | CA_054_3 |
Vẽ hình người có từ 6 bộ phận trở lên (đầu, mình, tay, chân, mắt, miệng) | +1.20 th | |
| 54 tháng | CA_054_4 |
Nhận biết phần còn thiếu trên tranh vẽ (chân bàn, tai thỏ, ngón tay) | +1.20 th | |
| 54 tháng | CA_054_5 |
Đếm và lấy đúng 6 - 8 khối gỗ từ đống khối gỗ | +1.20 th | |
| 60 tháng | CA_060_1 |
Xếp mô hình bậc thang 10 khối gỗ (4 bậc) theo mẫu | +1.20 th | |
| 60 tháng | CA_060_2 |
Sao chép hình thoi (Diamond) có 4 cạnh chéo cân đối | +1.20 th | |
| 60 tháng | CA_060_3 |
Gấp giấy Origami nâng cao (gấp máy bay/mũ hai nếp chéo) | +1.20 th | |
| 60 tháng | CA_060_4 |
Tìm đường thoát ra khỏi mê cung đơn giản bằng bút chì không chạm vạch | +1.20 th | |
| 60 tháng | CA_060_5 |
Đếm chính xác từ 10 - 13 khối gỗ và trả lời tổng số lượng | +1.20 th | |
| 66 tháng | CA_066_1 |
Vẽ lại hình phức hợp (Hình chữ nhật có đường chéo bên trong) theo mẫu | +1.50 th | |
| 66 tháng | CA_066_2 |
Sắp xếp chuỗi 5 hộp theo thứ tự trọng lượng từ nặng nhất đến nhẹ nhất | +1.50 th | |
| 66 tháng | CA_066_3 |
Nhận diện qui luật chuỗi hạt (Tròn - Vuông - Tròn - Vuông) và xếp tiếp đúng qui luật | +1.50 th | |
| 66 tháng | CA_066_4 |
Cắt rời hình tròn theo đường viền vẽ sẵn bằng kéo gọn gàng | +1.50 th | |
| 72 tháng | CA_072_1 |
Xếp mô hình kim tự tháp có khe hở (10 khối gỗ) nhìn mẫu hoàn chỉnh | +1.50 th | |
| 72 tháng | CA_072_2 |
Sao chép hình ngôi sao 6 cánh (hai tam giác lồng nhau) chính xác | +1.50 th | |
| 72 tháng | CA_072_3 |
Tính nhẩm phép cộng trừ trên khối gỗ cụ thể trong phạm vi 5 | +1.50 th | |
| 72 tháng | CA_072_4 |
Ghép đúng các khối gỗ sơn màu (Kohs Block Design) mẫu 4 khối cơ bản | +1.50 th | |
| 84 tháng | CA_084_1 |
Ghép khối Kohs Block Design mẫu đường chéo 4 khối trong thời gian quy định | +3.00 th | |
| 84 tháng | CA_084_2 |
Gấp giấy cắt một nhát tạo thành hình thoi hoặc bông hoa đối xứng ở giữa | +3.00 th | |
| 84 tháng | CA_084_3 |
Phát hiện điểm vô lý trong bức tranh tình huống (Absurdities pictures) | +3.00 th | |
| 84 tháng | CA_084_4 |
Nhớ và vẽ lại 2 hình kỷ hà chuẩn sau khi cho nhìn mẫu 10 giây (Benton/Bender) | +3.00 th | |
| 96 tháng | CA_096_1 |
Ghép khối Kohs Block Design mẫu 9 khối phức tạp trong thời gian chuẩn | +3.00 th | |
| 96 tháng | CA_096_2 |
Giải bài toán tìm quả bóng bị mất trong cánh đồng cỏ (Vẽ lộ trình tìm kiếm hệ thống) | +3.00 th | |
| 96 tháng | CA_096_3 |
Tái tạo chuỗi gõ nhịp 4 khối gỗ theo trình tự ngược lại (Knox Cube Imitation) | +3.00 th | |
| 96 tháng | CA_096_4 |
Nhận diện quy luật ma trận hình học khuyết (tương tự Raven cơ bản) | +3.00 th | |
| 108 tháng | CA_108_1 |
Giải bài toán suy luận quy nạp từ giấy gấp đục lỗ (đoán số lỗ và vị trí khi mở ra) | +4.00 th | |
| 108 tháng | CA_108_2 |
Phân tích số lượng khối gỗ ẩn trong mô hình khối lập phương 3D vẽ trên tranh | +4.00 th | |
| 108 tháng | CA_108_3 |
Ghép hoàn chỉnh mẫu Kohs 16 khối nâng cao đúng thời gian | +4.00 th | |
| 120 tháng | CA_120_1 |
Suy luận không gian đảo chiều: Vẽ hình phản chiếu qua gương của hình kỷ hà phức tạp | +4.00 th | |
| 120 tháng | CA_120_2 |
Giải bài toán cân bằng trọng lượng và đòn bẩy logic | +4.00 th | |
| 120 tháng | CA_120_3 |
Mã hóa ký hiệu chữ số nhanh trong 60 giây không sai sót | +4.00 th | |
| 132 tháng | CA_132_1 |
Giải bài toán hoán vị và tổ hợp logic với 4 màu sắc khác nhau | +6.00 th | |
| 132 tháng | CA_132_2 |
Tái cấu trúc hình học trừu tượng từ các mảnh cắt đa giác không đối xứng | +6.00 th | |
| 144 tháng | CA_144_1 |
Suy luận quy luật chuỗi số học hai tầng (cấp số cộng biến thiên) | +6.00 th | |
| 144 tháng | CA_144_2 |
Giải quyết bài toán chia nước bằng 3 bình có dung tích khác nhau | +6.00 th | |
| 156 tháng | CA_156_1 |
Tổng hợp tư duy trừu tượng không gian 3 chiều và suy luận hình thức cấp cao | +12.00 th |
| Bậc tuổi | Mã mục | Nội dung tiểu mục thử nghiệm KSPD | Trọng số | Kết quả chấm |
|---|---|---|---|---|
| 1 tháng | LS_001_1 |
Phát ra âm thanh nguyên âm nhỏ trong cổ họng (a, u, ư) ngoài tiếng khóc | +0.33 th | |
| 1 tháng | LS_001_2 |
Ngừng khóc hoặc dịu lại khi được người lớn bế lên và nói chuyện êm dịu | +0.33 th | |
| 1 tháng | LS_001_3 |
Chú ý nhìn vào khuôn mặt mẹ khi mẹ trò chuyện ở khoảng cách 25-30cm | +0.33 th | |
| 2 tháng | LS_002_1 |
Mỉm cười xã hội đáp lại khi người lớn mỉm cười và trò chuyện (Social smile) | +0.33 th | |
| 2 tháng | LS_002_2 |
Phát âm gù gù (Cooing: a-gu, ơ-ơ) đáp lại giọng nói người lớn | +0.33 th | |
| 2 tháng | LS_002_3 |
Biểu lộ nét mặt hào hứng khi thấy người quen đến gần | +0.33 th | |
| 3 tháng | LS_003_1 |
Cười thành tiếng lớn khi được trêu đùa hoặc cù nhẹ | +0.33 th | |
| 3 tháng | LS_003_2 |
Quay đầu và mắt hướng về phía phát ra giọng nói của mẹ | +0.33 th | |
| 3 tháng | LS_003_3 |
Phát âm đáp trả qua lại như đang trò chuyện với người lớn | +0.33 th | |
| 4 tháng | LS_004_1 |
Cười to khanh khách và reo lên khi chơi ú òa hoặc đùa giỡn | +0.33 th | |
| 4 tháng | LS_004_2 |
Phân biệt được giọng nói vui vẻ và giọng nghiêm khắc của người lớn | +0.33 th | |
| 4 tháng | LS_004_3 |
Nhìn chăm chú và mỉm cười với hình ảnh của mình trong gương | +0.33 th | |
| 5 tháng | LS_005_1 |
Quay đầu lại ngay lập tức khi nghe gọi tên mình | +0.33 th | |
| 5 tháng | LS_005_2 |
Bập bẹ các phụ âm môi đầu tiên (ba, ma, đa) | +0.33 th | |
| 5 tháng | LS_005_3 |
Đưa tay vỗ hoặc chạm vào hình ảnh em bé trong gương | +0.33 th | |
| 6 tháng | LS_006_1 |
Phân biệt người quen và người lạ (nhìn dò xét hoặc rụt rè với người lạ) | +0.33 th | |
| 6 tháng | LS_006_2 |
Bập bẹ chuỗi âm tiết lặp lại (ba-ba, ma-ma, da-da) | +0.33 th | |
| 6 tháng | LS_006_3 |
Giơ hai tay lên đòi bế khi thấy mẹ đưa tay ra | +0.33 th | |
| 7 tháng | LS_007_1 |
Chơi trò Ú òa (Peek-a-boo) chủ động cười và chờ đợi người lớn mở khăn | +0.33 th | |
| 7 tháng | LS_007_2 |
Hiểu từ "Không" (dừng tay lại một chút khi nghe giọng nhắc "Không!") | +0.33 th | |
| 7 tháng | LS_007_3 |
Phát âm bập bẹ đa dạng ngữ điệu giống câu nói | +0.33 th | |
| 8 tháng | LS_008_1 |
Bắt chước vỗ tay (hoan hô) hoặc đập bàn theo người lớn | +0.33 th | |
| 8 tháng | LS_008_2 |
Quay đầu nhìn theo hướng người lớn chỉ tay ở gần | +0.33 th | |
| 8 tháng | LS_008_3 |
Biểu lộ phản ứng rõ khi lấy mất đồ chơi đang cầm | +0.33 th | |
| 9 tháng | LS_009_1 |
Biết vẫy tay "Bye-bye" / "Ạ" theo lời nhắc hoặc làm mẫu | +0.33 th | |
| 9 tháng | LS_009_2 |
Hiểu và làm theo yêu cầu có kèm cử chỉ ("Đưa cho mẹ nào") | +0.33 th | |
| 9 tháng | LS_009_3 |
Kéo áo hoặc phát âm gọi để thu hút sự chú ý của người lớn | +0.33 th | |
| 10 tháng | LS_010_1 |
Chỉ ngón trỏ vào đồ vật mình thích để yêu cầu (Imperative pointing) | +0.33 th | |
| 10 tháng | LS_010_2 |
Hiểu tên gọi của một số đồ vật/người quen thuộc khi được hỏi ("Bóng đâu?", "Mẹ đâu?") | +0.33 th | |
| 10 tháng | LS_010_3 |
Bắt chước các âm thanh đơn giản do người lớn tạo ra (tiếng ho, tiếng tặc lưỡi) | +0.33 th | |
| 11 tháng | LS_011_1 |
Nói được ít nhất 1 từ đơn có nghĩa đúng ngữ cảnh (mẹ, bà, măm...) | +0.33 th | |
| 11 tháng | LS_011_2 |
Đưa đồ chơi cho người lớn khi nghe yêu cầu bằng lời (không cần xòe tay ra hiệu) | +0.33 th | |
| 11 tháng | LS_011_3 |
Biết lắc đầu thể hiện sự từ chối / không muốn | +0.33 th | |
| 12 tháng | LS_012_1 |
Nói được 2 - 3 từ đơn có nghĩa chủ động ngoài từ "bà/mẹ" | +0.33 th | |
| 12 tháng | LS_012_2 |
Chia sẻ sự chú ý chung (Joint Attention): Chỉ ngón trỏ vào vật lạ và quay lại nhìn mắt mẹ | +0.33 th | |
| 12 tháng | LS_012_3 |
Chơi lăn bóng qua lại luân phiên với người đánh giá | +0.33 th | |
| 15 tháng | LS_015_1 |
Sử dụng từ 4 - 6 từ đơn có nghĩa thường xuyên trong giao tiếp | +0.60 th | |
| 15 tháng | LS_015_2 |
Chỉ đúng ít nhất 1 bộ phận cơ thể trên người mình hoặc búp bê khi được hỏi | +0.60 th | |
| 15 tháng | LS_015_3 |
Hiểu và thực hiện mệnh lệnh đơn giản 1 bước ("Con mang bóng lại đây") | +0.60 th | |
| 15 tháng | LS_015_4 |
Bắt chước hành động sinh hoạt của người lớn (cầm lược chải đầu, nghe điện thoại) | +0.60 th | |
| 15 tháng | LS_015_5 |
Biết chỉ tay vào đồ vật kết hợp phát âm để xin phép/yêu cầu | +0.60 th | |
| 18 tháng | LS_018_1 |
Vốn từ đơn đạt từ 10 - 15 từ trở lên | +0.60 th | |
| 18 tháng | LS_018_2 |
Chỉ đúng 2 - 3 bộ phận cơ thể khi được hỏi ("Mắt đâu?", "Mũi đâu?", "Tai đâu?") | +0.60 th | |
| 18 tháng | LS_018_3 |
Chỉ đúng ít nhất 1 - 2 bức tranh đồ vật quen thuộc trên bảng tranh KSPD (Chó, Xe, Giày...) | +0.60 th | |
| 18 tháng | LS_018_4 |
Chơi giả vờ với búp bê (cho búp bê ăn bột, bế ru búp bê ngủ) | +0.60 th | |
| 18 tháng | LS_018_5 |
Dùng lời nói hoặc cử chỉ gật đầu khi muốn xin thêm | +0.60 th | |
| 21 tháng | LS_021_1 |
Bắt đầu kết hợp 2 từ thành cụm từ có nghĩa ("Mẹ bế", "Đi chơi", "Uống sữa") | +0.60 th | |
| 21 tháng | LS_021_2 |
Chỉ đúng 4 bộ phận cơ thể khi được hỏi bằng lời | +0.60 th | |
| 21 tháng | LS_021_3 |
Chỉ đúng 3 - 4 bức tranh đồ vật trên thẻ tranh chuẩn khi hỏi "Cái gì đây/ở đâu?" | +0.60 th | |
| 21 tháng | LS_021_4 |
Thực hiện đúng 2 mệnh lệnh liên tiếp với quả bóng ("Đưa bóng cho mẹ, đưa cho cô") | +0.60 th | |
| 21 tháng | LS_021_5 |
Bắt chước nói lại ngay các từ mới nghe người lớn nói | +0.60 th | |
| 24 tháng | LS_024_1 |
Nói câu 2 - 3 từ thường xuyên để diễn đạt nhu cầu và nhận xét sự việc | +0.60 th | |
| 24 tháng | LS_024_2 |
Chỉ đúng 5 - 6 bức tranh đồ vật trên bảng tranh KSPD và gọi tên đúng ít nhất 3 tranh | +0.60 th | |
| 24 tháng | LS_024_3 |
Xưng tên của mình hoặc dùng đại từ "Con" khi nói chuyện | +0.60 th | |
| 24 tháng | LS_024_4 |
Hiểu và thực hiện 3 yêu cầu khác nhau với đồ vật (Đặt lên bàn, đưa cho mẹ, cất vào hộp) | +0.60 th | |
| 24 tháng | LS_024_5 |
Chơi giả vờ nối tiếp 2 hành động (múc thức ăn rồi đút cho gấu bông) | +0.60 th | |
| 30 tháng | LS_030_1 |
Gọi tên chính xác 5 - 6 bức tranh đồ vật quen thuộc trên thẻ tranh KSPD | +1.20 th | |
| 30 tháng | LS_030_2 |
Hiểu câu hỏi về công dụng đồ vật ("Cái gì dùng để uống nước?", "Cái gì dùng để đi vào chân?") - Đạt >= 3/5 | +1.20 th | |
| 30 tháng | LS_030_3 |
Nói được họ và tên đầy đủ của bản thân khi được hỏi | +1.20 th | |
| 30 tháng | LS_030_4 |
Sử dụng đúng đại từ nhân xưng "Con - Mẹ / Cô" trong câu nói 3 - 4 từ | +1.20 th | |
| 30 tháng | LS_030_5 |
Biết chờ đến lượt trong trò chơi luân phiên với người đánh giá | +1.20 th | |
| 36 tháng | LS_036_1 |
Trả lời đúng giới tính của bản thân ("Con là bé trai hay bé gái?") | +1.20 th | |
| 36 tháng | LS_036_2 |
Hiểu khái niệm giới từ không gian: Đặt khối gỗ TRÊN, DƯỚI, TRƯỚC, SAU, TRONG chiếc hộp (Đạt >= 3/4) | +1.20 th | |
| 36 tháng | LS_036_3 |
Trả lời câu hỏi tình huống sinh hoạt ("Khi đói bụng con làm gì?", "Khi buồn ngủ con làm gì?") | +1.20 th | |
| 36 tháng | LS_036_4 |
Lặp lại chính xác câu gồm 6 - 7 âm tiết hoặc chuỗi 3 chữ số (VD: "4 - 7 - 2") | +1.20 th | |
| 36 tháng | LS_036_5 |
Nhận biết và gọi tên đúng ít nhất 2 - 3 màu sắc cơ bản (Đỏ, Vàng, Xanh) | +1.20 th | |
| 42 tháng | LS_042_1 |
Hiểu và trả lời câu hỏi "Tại sao?" và "Khi nào?" trong sinh hoạt hàng ngày | +1.20 th | |
| 42 tháng | LS_042_2 |
Mô tả được các hành động đang diễn ra trong bức tranh tình huống (Em bé đang làm gì?) | +1.20 th | |
| 42 tháng | LS_042_3 |
Gọi tên đúng 4 màu sắc cơ bản (Đỏ, Xanh dương, Vàng, Xanh lá) | +1.20 th | |
| 42 tháng | LS_042_4 |
Phân biệt khái niệm đối lập: To - Nhỏ, Dài - Ngắn, Nhiều - Ít | +1.20 th | |
| 42 tháng | LS_042_5 |
Chơi phối hợp theo nhóm nhỏ với trẻ khác, biết chia sẻ đồ chơi | +1.20 th | |
| 48 tháng | LS_048_1 |
Trả lời đúng câu hỏi xử lý tình huống ("Khi bị đứt tay chảy máu con làm gì?", "Khi trời mưa chuẩn bị đi ra ngoài thì làm sao?") | +1.20 th | |
| 48 tháng | LS_048_2 |
Nhắc lại chính xác chuỗi 4 chữ số ngẫu nhiên (VD: "3 - 8 - 1 - 6") | +1.20 th | |
| 48 tháng | LS_048_3 |
Hiểu và giải thích điểm giống nhau/khác nhau cơ bản giữa 2 sự vật (Con chim và Con chó) | +1.20 th | |
| 48 tháng | LS_048_4 |
Kể lại được một sự việc vừa xảy ra hoặc một đoạn truyện ngắn có đầu có cuối | +1.20 th | |
| 48 tháng | LS_048_5 |
Tự mặc quần áo, cài cúc áo to và đi giày không cần giúp | +1.20 th | |
| 54 tháng | LS_054_1 |
Định nghĩa được ít nhất 4 - 5 từ vựng quen thuộc theo công dụng hoặc đặc điểm (Cái mũ, Quả táo, Cái bàn...) | +1.20 th | |
| 54 tháng | LS_054_2 |
Phân biệt đúng tay Phải và tay Trái của chính mình | +1.20 th | |
| 54 tháng | LS_054_3 |
Hiểu các khái niệm thời gian: Sáng, Trưa, Tối, Hôm qua, Ngày mai | +1.20 th | |
| 54 tháng | LS_054_4 |
Thực hiện chuỗi 3 mệnh lệnh nối tiếp nhau theo đúng thứ tự yêu cầu | +1.20 th | |
| 54 tháng | LS_054_5 |
Tuân thủ luật chơi trong các trò chơi có quy tắc thắng - thua | +1.20 th | |
| 60 tháng | LS_060_1 |
Trả lời đầy đủ: Họ tên, Tuổi, Địa chỉ nhà (hoặc tên trường lớp) và tên bố mẹ | +1.20 th | |
| 60 tháng | LS_060_2 |
Tìm từ trái nghĩa chính xác ("Anh trai là con trai, chị gái là...", "Mùa hè thì nóng, mùa đông thì...") - Đạt >= 3/4 | +1.20 th | |
| 60 tháng | LS_060_3 |
Lặp lại chính xác câu dài 10 - 12 âm tiết không bỏ sót từ | +1.20 th | |
| 60 tháng | LS_060_4 |
Giải thích ý nghĩa tình huống xã hội và cảm xúc của nhân vật trong tranh | +1.20 th | |
| 60 tháng | LS_060_5 |
Đếm xuôi từ 1 đến 20 và biết đếm ngược từ 10 về 1 | +1.20 th | |
| 66 tháng | LS_066_1 |
Nêu điểm giống nhau về bản chất giữa 2 sự vật (Chuối và Táo; Tàu hỏa và Ô tô) | +1.50 th | |
| 66 tháng | LS_066_2 |
Nêu được các ngày trong tuần theo đúng thứ tự (Thứ Hai đến Chủ Nhật) | +1.50 th | |
| 66 tháng | LS_066_3 |
Nhắc lại chuỗi 5 chữ số xuôi và chuỗi 3 chữ số ngược | +1.50 th | |
| 66 tháng | LS_066_4 |
Hiểu các câu nói đùa hoặc câu đố chữ đơn giản phù hợp lứa tuổi | +1.50 th | |
| 72 tháng | LS_072_1 |
Định nghĩa từ vựng theo phân loại khái niệm cấp trên (VD: Chó là động vật nuôi 4 chân...) | +1.50 th | |
| 72 tháng | LS_072_2 |
Phân biệt tay Phải và tay Trái của người ngồi đối diện mình | +1.50 th | |
| 72 tháng | LS_072_3 |
Giải bài toán đố bằng lời trong phạm vi 10 (Có 8 cái kẹo, cho bạn 3 cái còn mấy cái?) | +1.50 th | |
| 72 tháng | LS_072_4 |
Giải thích hợp lý tại sao cần phải tuân thủ các quy tắc xã hội (Tại sao không được lấy đồ của người khác?) | +1.50 th | |
| 84 tháng | LS_084_1 |
Tìm điểm giống nhau và khác nhau đồng thời giữa hai khái niệm (Gỗ và Sắt; Nước và Đá) | +3.00 th | |
| 84 tháng | LS_084_2 |
Kể tên các tháng trong năm và các mùa tương ứng | +3.00 th | |
| 84 tháng | LS_084_3 |
Nhắc lại chuỗi 4 chữ số theo thứ tự ngược lại (Backward Digit Span) | +3.00 th | |
| 84 tháng | LS_084_4 |
Đọc hiểu một đoạn văn ngắn 4 câu và trả lời đúng 3 câu hỏi chi tiết | +3.00 th | |
| 96 tháng | LS_096_1 |
Giải thích sự vô lý bằng lời (Verbal Absurdities): Phát hiện mâu thuẫn logic trong câu chuyện ngắn | +3.00 th | |
| 96 tháng | LS_096_2 |
Tính nhẩm tiền thừa khi mua hàng trong tình huống giả định (Mua bánh 3.000đ, đưa 10.000đ) | +3.00 th | |
| 96 tháng | LS_096_3 |
Sắp xếp các từ bị xáo trộn thành một câu hoàn chỉnh đúng ngữ pháp và ngữ nghĩa | +3.00 th | |
| 96 tháng | LS_096_4 |
Hiểu nghĩa bóng của câu thành ngữ/tục ngữ đơn giản | +3.00 th | |
| 108 tháng | LS_108_1 |
Giải thích các khái niệm trừu tượng (Lòng dũng cảm, Sự công bằng, Lòng biết ơn) | +4.00 th | |
| 108 tháng | LS_108_2 |
Nhắc lại chuỗi 6 chữ số xuôi và 4 - 5 chữ số ngược | +4.00 th | |
| 108 tháng | LS_108_3 |
Tóm tắt ý chính và bài học rút ra từ một câu chuyện ngụ ngôn | +4.00 th | |
| 120 tháng | LS_120_1 |
Tìm điểm tương đồng trừu tượng giữa 3 sự vật cùng lúc (Rắn - Bò - Chim sẻ) | +4.00 th | |
| 120 tháng | LS_120_2 |
Điền từ liên kết logic (Tuy... nhưng..., Nếu... thì...) vào đoạn văn khuyết | +4.00 th | |
| 120 tháng | LS_120_3 |
Giải bài toán đố hai phép tính liên tiếp bằng tính nhẩm | +4.00 th | |
| 132 tháng | LS_132_1 |
Phân tích nguyên nhân - hệ quả xã hội của các quy định pháp luật/nhà trường | +4.00 th | |
| 132 tháng | LS_132_2 |
Định nghĩa từ vựng học thuật cấp độ trung học cơ sở | +4.00 th | |
| 132 tháng | LS_132_3 |
Nhắc lại chuỗi 5 chữ số theo thứ tự ngược lại | +4.00 th | |
| 144 tháng | LS_144_1 |
Giải thích ý nghĩa ẩn dụ sâu sắc của các câu tục ngữ/ngạn ngữ cổ điển | +6.00 th | |
| 144 tháng | LS_144_2 |
Tái lập lập luận logic từ một đoạn văn bản khoa học ngắn | +6.00 th | |
| 156 tháng | LS_156_1 |
Tư duy ngôn ngữ khái quát hóa, tranh biện đa chiều và suy luận đạo đức xã hội cấp cao | +12.00 th |
1. Dữ liệu tổng quan và Lịch sử Việt hóa của Thang Kyoto (KSPD)
-
Nguồn gốc: Được khởi xướng bởi Giáo sư Masako Ikuzawa và cộng sự tại Nhật Bản từ năm 1954 (dựa trên nền tảng thang Gesell), sửa đổi mở rộng năm 1982 và hai phiên bản chuẩn hóa lớn gần nhất là KSPD 2001 và KSPD 2020.
-
Quá trình đưa vào Việt Nam: Ngay từ năm 2002, phiên bản KSPD 2001 (Vietnamese Version) đã được nhóm tác giả Nhật Bản (Ikuzawa, Matsushita, Nakase) phối hợp với Trung tâm Giao lưu Phúc lợi Xã hội Quốc tế Kyoto chuyển giao chính thức sang Việt Nam. Hiện nay, các trường như ĐH Sư phạm Hà Nội, ĐH Giáo dục (ĐHQGHN), các trung tâm thuộc Hội Khoa học Tâm lý – Giáo dục Việt Nam và nhiều bệnh viện vẫn đào tạo và sử dụng bộ công cụ này rất phổ biến.
-
Độ tuổi áp dụng: Từ sơ sinh (0 tháng tuổi) đến người trưởng thành (thực tế lâm sàng tại Việt Nam dùng nhiều nhất cho nhóm 0 – 13 tuổi, đặc biệt là trẻ từ 1 – 6 tuổi chưa thể làm các bài test IQ chuẩn như WISC).
-
Số lượng tiểu mục: Khoảng 328 mục (items) thử nghiệm tương tác trực tiếp bằng bộ giáo cụ chuẩn (khối gỗ,tranh ảnh, bảng ghép hình, chuông, hộp…) kết hợp quan sát hành vi.
2. Cấu trúc 3 lĩnh vực và Công thức tính điểm của KSPD
Thang Kyoto đánh giá đứa trẻ qua 3 lĩnh vực (Domains) cốt lõi. Khi áp dụng trên trẻ Rối loạn phổ tự kỷ (ASD), sự chênh lệch điểm số giữa 3 lĩnh vực này tạo ra một “đồ thị hình răng cưa” rất đặc trưng:
| Lĩnh vực đánh giá | Ký hiệu | Nội dung kiểm tra | Đặc điểm thường gặp ở trẻ Tự kỷ (ASD) |
|
1. Tư thế – Vận động
(Postural – Motor) |
P-M | Kiểm soát đầu cổ, lẫy, bò, đi, chạy, nhảy, thăng bằng vận động thô. | Điểm P-M thường cao nhất, gần tương đương hoặc chỉ chậm nhẹ so với tuổi thực. |
|
2. Nhận thức – Thích ứng
(Cognitive – Adaptive) |
C-A | Vận động tinh, phối hợp tay – mắt, xếp khối, ghép hình, phân biệt hình khối/màu sắc, giải quyết vấn đề phi ngôn ngữ. | Điểm C-A ở mức trung bình hoặc khá (nhiều trẻ tự kỷ làm rất tốt các bài ghép hình, xếp khối thị giác không gian). |
|
3. Ngôn ngữ – Xã hội
(Language – Social) |
L-S | Hiểu lời nói, diễn đạt ngôn ngữ, bắt chước xã hội, giao tiếp mắt, tương tác với người đánh giá, hiểu quy tắc xã hội. | Điểm L-S thường sụt giảm sâu nhất. Độ lệch giữa và càng lớn thì dấu hiệu rối loạn giao tiếp xã hội càng rõ. |
Công thức tính Chỉ số phát triển (DQ – Developmental Quotient)
Với từng lĩnh vực (P-M, C-A, L-S) và Tổng thể (Overall), chuyên gia sẽ xác định được Tuổi phát triển (DA – Developmental Age) tính theo tháng hoặc ngày, sau đó chia cho Tuổi thực (CA – Chronological Age):
Bảng phân loại mức độ phát triển theo chỉ số DQ tại Việt Nam:
-
DQ>115: Phát triển tốt / Vượt chuẩn
-
DQ=85−115: Phát triển bình thường
-
DQ=70−84: Chậm phát triển mức độ nhẹ (hoặc ranh giới)
-
DQ=55−69: Chậm phát triển mức độ trung bình
-
DQ=40−54: Chậm phát triển mức độ nặng
-
DQ<40: Chậm phát triển mức độ rất nặng
[Đo lường IQ] WPPSI-IV: Thang đo trí tuệ Wechsler dành cho trẻ mẫu giáo và đầu tiểu học (2 – 7 tuổi)
(function() { const host = document.getElementById('wppsi4-wp-host'); if (!host) return; const placeholder = document.createComment('wppsi4-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // Cấu hình 5 Chỉ số Chính (Primary Index Scales) của WPPSI-IV const indexConfigs = { vci: { code: 'vci', short: 'VCI', name: '1. Hiểu Lời nói (Verbal Comprehension - VCI)', color: '#2563eb' }, vsi: { code: 'vsi', short: 'VSI', name: '2. Không gian Thị giác (Visual Spatial - VSI)', color: '#0d9488' }, fri: { code: 'fri', short: 'FRI', name: '3. Tư duy Lưu loát / Logic (Fluid Reasoning - FRI)', color: '#7c3aed' }, wmi: { code: 'wmi', short: 'WMI', name: '4. Trí nhớ Làm việc (Working Memory - WMI)', color: '#f59e0b' }, psi: { code: 'psi', short: 'PSI', name: '5. Tốc độ Xử lý (Processing Speed - PSI)', color: '#dc2626' } }; // ========================================================= // DẢI TUỔI 1: 2 TUỔI 6 THÁNG - 3 TUỔI 11 THÁNG (30 - 47 THÁNG • 7 TIỂU TRẮC NGHIỆM) // ========================================================= const bandYoungSubtests = [ { id: 'RV', idx: 'vci', role: '★ Tính VCI, FSIQ, GAI & VAI', name: '1. Từ vựng Tiếp nhận (Receptive Vocabulary - RV) ★', desc: 'Trẻ nhìn vào 4 bức tranh trên một trang sách và chỉ tay vào bức tranh đúng với từ vựng mà người khám vừa đọc to.', measure: 'Đo lường vốn từ vựng nghe hiểu và khả năng tiếp thu ngôn ngữ sớm (không yêu cầu trẻ phải nói).' }, { id: 'IN', idx: 'vci', role: '★ Tính VCI, FSIQ & GAI', name: '2. Thông tin (Information - IN) ★', desc: 'Ở các câu đầu trẻ chỉ tay chọn tranh; ở các câu sau trẻ trả lời bằng lời các câu hỏi về kiến thức chung xung quanh (bộ phận cơ thể, công dụng đồ vật, con vật).', measure: 'Đo lường khả năng thu nhận, lưu giữ và truy xuất kiến thức thực tế từ môi trường.' }, { id: 'PN', idx: 'vci', role: 'Bổ sung (Tính Chỉ số Tiếp thu Từ vựng VAI)', name: '3. Gọi tên Tranh (Picture Naming - PN) [Thuộc VAI]', desc: 'Trẻ nhìn từng bức tranh đồ vật/con vật quen thuộc trong sách kích thích và gọi đúng tên của sự vật đó.', measure: 'Đo lường vốn từ vựng diễn đạt (Expressive Vocabulary) và khả năng truy xuất từ ngữ.' }, { id: 'BD', idx: 'vsi', role: '★ Tính VSI, FSIQ, GAI & NVI', name: '4. Xếp khối (Block Design - BD) ★', desc: 'Trẻ dùng các khối gỗ 1 màu hoặc 2 màu (Đỏ - Trắng) để xếp lại đúng theo mô hình mẫu người khám vừa làm hoặc theo hình in trong sách.', measure: 'Đo lường khả năng phân tích – tổng hợp không gian thị giác và phối hợp mắt – tay.' }, { id: 'OA', idx: 'vsi', role: '★ Tính VSI, FSIQ, GAI & NVI', name: '5. Lắp ghép Đồ vật (Object Assembly - OA) ★', desc: 'Trẻ được trao các mảnh ghép cắt rời (từ 2 đến 5 mảnh) và phải xoay, ghép chúng lại thành một hình đồ vật/con vật hoàn chỉnh trong thời gian quy định.', measure: 'Đo lường khả năng tổng hợp toàn thể thị giác từ các bộ phận rời rạc (Visual-Spatial Closure).' }, { id: 'PM', idx: 'wmi', role: '★ Tính WMI, FSIQ & NVI', name: '6. Nhớ Tranh ảnh (Picture Memory - PM) ★', desc: 'Trẻ nhìn một trang có 1 hoặc nhiều hình vẽ trong 3–5 giây, sau đó lật sang trang sau có nhiều hình gây nhiễu và chỉ tay vào đúng các hình vừa nhìn thấy.', measure: 'Đo lường trí nhớ làm việc thị giác ngắn hạn và sự tập trung chú ý (100% không cần lời nói).' }, { id: 'ZL', idx: 'wmi', role: '★ Tính WMI & NVI', name: '7. Vị trí Vườn thú (Zoo Locations - ZL) ★', desc: 'Trẻ nhìn các thẻ hình con thú được đặt vào các ô chuồng trên tấm lưới trong vài giây, sau đó người khám cất đi và trẻ phải đặt lại đúng từng con thú vào đúng ô vị trí của nó.', measure: 'Đo lường trí nhớ làm việc không gian – thị giác (Visual-Spatial Working Memory).' } ]; // ========================================================= // DẢI TUỔI 2: 4 TUỔI 0 THÁNG - 7 TUỔI 7 THÁNG (48 - 91 THÁNG • 10 TIỂU TRẮC NGHIỆM) // ========================================================= const bandOldSubtests = [ { id: 'IN', idx: 'vci', role: '★ Tính VCI, FSIQ & GAI', name: '1. Thông tin (Information - IN) ★', desc: 'Trẻ trả lời các câu hỏi về kiến thức tự nhiên, xã hội, số lượng, thời gian và chức năng sự vật phù hợp lứa tuổi mẫu giáo lớn – lớp 1, lớp 2.', measure: 'Đo lường vốn kiến thức tích lũy và trí nhớ dài hạn về ngôn ngữ.' }, { id: 'SI', idx: 'vci', role: '★ Tính VCI, FSIQ & GAI', name: '2. Tương đồng (Similarities - SI) ★', desc: 'Ở các câu đầu trẻ chọn tranh có chung đặc điểm; ở các câu sau trẻ giải thích bằng lời xem hai khái niệm giống nhau ở điểm bản chất nào.', measure: 'Đo lường tư duy hình thành khái niệm bằng lời và suy luận trừu tượng ngôn ngữ.' }, { id: 'BD', idx: 'vsi', role: '★ Tính VSI, FSIQ, GAI & NVI', name: '3. Xếp khối (Block Design - BD) ★', desc: 'Trẻ sử dụng các khối lập phương hai màu Đỏ - Trắng để xếp thành các mẫu hình học phức tạp dần trong giới hạn thời gian.', measure: 'Đo lường tư duy không gian 2D/3D (Thường là đỉnh thế mạnh vượt trội ở trẻ Tự kỷ - ASD).' }, { id: 'OA', idx: 'vsi', role: '★ Tính VSI', name: '4. Lắp ghép Đồ vật (Object Assembly - OA) ★', desc: 'Trẻ ghép các mảnh rời không có khung viền sẵn để tạo thành hình hoàn chỉnh có nghĩa.', measure: 'Đo lường khả năng tích hợp thị giác – vận động và nhận diện cấu trúc tổng thể.' }, { id: 'MR', idx: 'fri', role: '★ Tính FRI, FSIQ, GAI & NVI', name: '5. Ma trận Suy luận (Matrix Reasoning - MR) ★', desc: 'Trẻ quan sát một ma trận hình ảnh bị khuyết một ô và chỉ tay chọn mảnh ghép đúng quy luật logic từ các phương án bên dưới.', measure: 'Đo lường trí thông minh lưu loát (Fluid Intelligence) và suy luận quy nạp phi ngôn ngữ.' }, { id: 'PC', idx: 'fri', role: '★ Tính FRI & NVI', name: '6. Khái niệm Hình ảnh (Picture Concepts - PC) ★', desc: 'Trẻ nhìn 2 hoặc 3 hàng tranh ảnh và phải chọn ra từ mỗi hàng đúng 1 bức tranh sao cho chúng có cùng một đặc điểm/khái niệm chung với nhau.', measure: 'Đo lường khả năng phân loại khái niệm trừu tượng và suy luận tương quan mà không cần nói.' }, { id: 'PM', idx: 'wmi', role: '★ Tính WMI, FSIQ, CPI & NVI', name: '7. Nhớ Tranh ảnh (Picture Memory - PM) ★', desc: 'Trẻ ghi nhớ nhanh một nhóm các bức tranh trên trang kích thích rồi chỉ lại các bức tranh đó trên trang đáp án có nhiều hình gây nhiễu.', measure: 'Đo lường trí nhớ làm việc thị giác và khả năng kháng nhiễu.' }, { id: 'ZL', idx: 'wmi', role: '★ Tính WMI & CPI', name: '8. Vị trí Vườn thú (Zoo Locations - ZL) ★', desc: 'Trẻ ghi nhớ vị trí tọa độ của nhiều thẻ hình con vật trên sơ đồ chuồng thú và đặt lại chính xác từng thẻ.', measure: 'Đo lường dung lượng trí nhớ làm việc không gian.' }, { id: 'BS', idx: 'psi', role: '★ Tính PSI, FSIQ, CPI & NVI', name: '9. Tìm Bọ — Đóng dấu mực (Bug Search - BS) ★', desc: 'Trong vòng 120 giây, trẻ cầm bút đóng dấu mực (Ink Dauber) chấm thật nhanh vào con bọ trong nhóm 5 con bên phải khớp với con bọ mẫu bên trái.', measure: 'Đo lường tốc độ quét phân biệt thị giác và ra quyết định nhanh (không bị cản trở bởi kỹ năng cầm bút chì).' }, { id: 'CA', idx: 'psi', role: '★ Tính PSI & CPI', name: '10. Gạch bỏ Hình — Đóng dấu mực (Cancellation - CA) ★', desc: 'Trong vòng 45 giây cho mỗi trang (1 trang lộn xộn và 1 trang xếp theo hàng), trẻ dùng bút đóng dấu mực chấm chọn tất cả các hình thuộc nhóm "Quần áo" nằm lẫn giữa các đồ vật khác.', measure: 'Đo lường tốc độ xử lý thị giác, chú ý có chọn lọc và phân loại danh mục nhanh.' } ]; let activeBand = 'old'; // 'young' (2:6 - 3:11) | 'old' (4:0 - 7:7) let filterIdx = 'all'; // Lưu Scaled Score (1..19, Mean = 10, SD = 3) let ssYoung = { RV: 10, IN: 10, PN: 10, BD: 10, OA: 10, PM: 10, ZL: 10 }; let ssOld = { IN: 10, SI: 10, BD: 10, OA: 10, MR: 10, PC: 10, PM: 10, ZL: 10, BS: 10, CA: 10 }; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .wp-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } .wp-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .wp-inner { padding: 24px; max-width: 980px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .wp-wrap.is-fullscreen .wp-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .wp-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(124, 58, 237, 0.45), 0 0 0 0 rgba(124, 58, 237, 0.4); } 70% { box-shadow: 0 6px 20px rgba(124, 58, 237, 0.45), 0 0 0 10px rgba(124, 58, 237, 0); } 100% { box-shadow: 0 6px 20px rgba(124, 58, 237, 0.45), 0 0 0 0 rgba(124, 58, 237, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #6d28d9 0%, #7c3aed 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(124, 58, 237, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Bộ chuyển đổi 2 Dải Độ Tuổi WPPSI-IV */ .band-switcher { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; background: #f1f5f9; padding: 10px; border-radius: 12px; margin-bottom: 18px; } .band-btn { padding: 12px 14px; border-radius: 9px; border: 2px solid transparent; background: rgba(255, 255, 255, 0.7); cursor: pointer; text-align: left; transition: all 0.2s ease; touch-action: manipulation; } .band-btn:hover { background: #ffffff; } .band-btn.active { background: #ffffff; border-color: #7c3aed; box-shadow: 0 3px 10px rgba(15, 23, 42, 0.08); } .band-btn-title { font-size: 14.5px; font-weight: 800; color: #0f172a; display: block; } .band-btn.active .band-btn-title { color: #6d28d9; } .band-btn-sub { font-size: 12px; color: #64748b; margin-top: 3px; display: block; } .wp-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .wp-header-text { flex: 1 1 260px; } .wp-title { font-size: 20px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .wp-desc { font-size: 13.8px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #f5f3ff; color: #6d28d9; border: 1px solid #ddd6fe; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #7c3aed; color: #ffffff; border-color: #7c3aed; } .wp-controls { display: flex; flex-direction: column; gap: 10px; margin-bottom: 18px; } .wp-presets { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; } .wp-preset-lbl { font-size: 12.5px; font-weight: 700; color: #475569; margin-right: 4px; } .wp-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; touch-action: manipulation; } .wp-pbtn:hover { background: #f1f5f9; } .wp-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } .wp-sub-tabs { display: flex; flex-wrap: wrap; gap: 6px; } .wp-stab { padding: 6px 11px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .wp-stab.active { background: #7c3aed; color: #ffffff; border-color: #7c3aed; } /* Sticky Dashboard */ .wp-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .wp-wrap.is-fullscreen .wp-dash { top: 58px; } .wp-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .wp-score-big { font-size: 20px; font-weight: 800; line-height: 1.25; } .wp-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .wp-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .wp-pillars { display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; font-size: 11.5px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .wp-pillar-box { background: #1e293b; padding: 7px 9px; border-radius: 8px; border-left: 3px solid #475569; } .wp-pillar-box.high { border-left-color: #3b82f6; background: rgba(59, 130, 246, 0.15); } .wp-pillar-box.avg { border-left-color: #10b981; } .wp-pillar-box.low { border-left-color: #f59e0b; background: rgba(245, 158, 11, 0.14); } .wp-pillar-box.imp { border-left-color: #ef4444; background: rgba(239, 68, 68, 0.16); } .wp-pillar-val { font-weight: 800; color: #ffffff; font-size: 13.5px; display: block; margin-top: 2px; } /* Danh sách Tiểu trắc nghiệm */ .wp-item { border: 1px solid #e2e8f0; border-radius: 12px; padding: 15px 16px; margin-bottom: 12px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 8px; } .wp-item.ss-high { border-color: #93c5fd; background: #eff6ff; } .wp-item.ss-avg { border-color: #a7f3d0; background: #f0fdf4; } .wp-item.ss-low { border-color: #fde68a; background: #fffbeb; } .wp-item.ss-imp { border-color: #fca5a5; background: #fff5f5; } .wp-item-title { font-size: 15px; font-weight: 800; color: #0f172a; } .wp-item-desc { font-size: 13.5px; color: #334155; } .wp-item-meas { font-size: 12.5px; color: #475569; background: rgba(15, 23, 42, 0.03); padding: 6px 10px; border-radius: 6px; border-left: 3px solid #94a3b8; } .wp-tags { display: flex; flex-wrap: wrap; gap: 6px; } .wp-tag { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .wp-scale-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 6px; margin-top: 4px; } .wp-sbtn { padding: 8px 4px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .wp-sbtn:hover { border-color: #64748b; } .wp-sbtn-num { font-size: 13px; font-weight: 800; display: block; color: #0f172a; } .wp-sbtn-lbl { font-size: 10.5px; color: #64748b; display: block; margin-top: 1px; } .wp-sbtn.sel-imp { background: #ef4444; border-color: #ef4444; } .wp-sbtn.sel-low { background: #f59e0b; border-color: #f59e0b; } .wp-sbtn.sel-avg { background: #10b981; border-color: #10b981; } .wp-sbtn.sel-high { background: #2563eb; border-color: #2563eb; } .wp-sbtn.sel-imp .wp-sbtn-num, .wp-sbtn.sel-imp .wp-sbtn-lbl, .wp-sbtn.sel-low .wp-sbtn-num, .wp-sbtn.sel-low .wp-sbtn-lbl, .wp-sbtn.sel-avg .wp-sbtn-num, .wp-sbtn.sel-avg .wp-sbtn-lbl, .wp-sbtn.sel-high .wp-sbtn-num, .wp-sbtn.sel-high .wp-sbtn-lbl { color: #ffffff; } /* Bảng báo cáo */ .wp-table-card { margin-top: 20px; padding: 16px 18px; border-radius: 12px; background: #ffffff; border: 1px solid #e2e8f0; overflow-x: auto; } .wp-table { width: 100%; border-collapse: collapse; font-size: 13px; min-width: 640px; } .wp-table th, .wp-table td { border: 1px solid #cbd5e1; padding: 8px 10px; text-align: center; } .wp-table th { background: #f1f5f9; font-weight: 800; color: #0f172a; } .wp-result-box { margin-top: 16px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #7c3aed; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 780px) { .wp-inner { padding: 14px; } .band-switcher { grid-template-columns: 1fr; } .wp-title { font-size: 18px; } .wp-pillars { grid-template-columns: 1fr 1fr; } .wp-scale-grid { grid-template-columns: repeat(4, 1fr); } .wp-pbtn.reset { margin-left: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
| Thang Chỉ số WPPSI-IV (Index Scale) | Các Tiểu trắc nghiệm cấu thành | Tổng Scaled Scores | Điểm Chuẩn (Composite: 40–160) | Bách phân vị (Percentile) | Phân loại Chuẩn Wechsler |
|---|
1. Thang Đo WPPSI-IV Dải Tuổi Nhỏ: 2 Tuổi 6 Tháng – 3 Tuổi 11 Tháng (7 Tiểu Trắc Nghiệm)
' + '' + 'Thiết kế tối ưu cho trẻ mẫu giáo nhỏ (30 – 47 tháng): đánh giá 3 Chỉ số Chính (Hiểu Lời nói VCI, Không gian Thị giác VSI, Trí nhớ Làm việc WMI), IQ Toàn thang (FSIQ) cùng Chỉ số Tiếp thu Từ vựng (VAI) và Chỉ số Phi ngôn ngữ (NVI).' + '
'; subTabs.innerHTML = '' + '' + '' + ''; } else { headerInfo.innerHTML = '2. Thang Đo WPPSI-IV Dải Tuổi Lớn: 4 Tuổi 0 Tháng – 7 Tuổi 7 Tháng (10 Tiểu Trắc Nghiệm)
' + '' + 'Đánh giá cấu trúc nhận thức hoàn chỉnh cho trẻ mẫu giáo lớn & đầu tiểu học (48 – 91 tháng) qua 5 Chỉ số Chính (VCI, VSI, FRI, WMI, PSI dùng bút đóng dấu mực Ink Dauber), FSIQ và 3 Chỉ số Phụ (NVI, GAI, CPI).' + '
'; subTabs.innerHTML = '' + '' + '' + '' + '' + ''; } subTabs.querySelectorAll('.wp-stab').forEach(tab => { tab.onclick = function() { filterIdx = this.getAttribute('data-idx'); subTabs.querySelectorAll('.wp-stab').forEach(t => t.classList.remove('active')); this.classList.add('active'); renderItems(); }; }); } function renderItems() { itemList.innerHTML = ''; const list = (activeBand === 'young') ? bandYoungSubtests : bandOldSubtests; const store = (activeBand === 'young') ? ssYoung : ssOld; list.forEach(function(st) { if (filterIdx !== 'all' && st.idx !== filterIdx) return; const uSS = (store[st.id] !== undefined) ? store[st.id] : 10; const iCfg = indexConfigs[st.idx]; let rowCls = 'wp-item '; if (uSS >= 13) rowCls += 'ss-high'; else if (uSS >= 8) rowCls += 'ss-avg'; else if (uSS >= 6) rowCls += 'ss-low'; else rowCls += 'ss-imp'; const btnsHtml = ssSteps.map(step => { const cls = 'wp-sbtn' + (uSS === step.val ? ' ' + step.cls : ''); return ( '' ); }).join(''); const el = document.createElement('div'); el.className = rowCls; el.innerHTML = '' + '' + '• 2. Đánh giá Chỉ số Tiếp thu Từ vựng (VAI = ' + compVAI + '): So sánh giữa Từ vựng Tiếp nhận (RV = ' + s.RV + ') và Gọi tên Tranh (PN = ' + s.PN + ') giúp định hướng mục tiêu can thiệp Âm ngữ trị liệu.'; } else { // DẢI TUỔI LỚN: 4:0 - 7:7 const s = ssOld; const sumVCI = s.IN + s.SI; const sumVSI = s.BD + s.OA; const sumFRI = s.MR + s.PC; const sumWMI = s.PM + s.ZL; const sumPSI = s.BS + s.CA; const sumFSIQ = s.IN + s.SI + s.BD + s.MR + s.PM + s.BS; // 6 bài tính FSIQ ở dải 4:0-7:7 const sumGAI = s.IN + s.SI + s.BD + s.MR; const sumCPI = s.PM + s.ZL + s.BS + s.CA; const sumNVI = s.BD + s.MR + s.PC + s.PM + s.BS; const compVCI = calcCompositeFromSS(sumVCI, 2); const compVSI = calcCompositeFromSS(sumVSI, 2); const compFRI = calcCompositeFromSS(sumFRI, 2); const compWMI = calcCompositeFromSS(sumWMI, 2); const compPSI = calcCompositeFromSS(sumPSI, 2); const compFSIQ = calcCompositeFromSS(sumFSIQ, 6); const compGAI = calcCompositeFromSS(sumGAI, 4); const compCPI = calcCompositeFromSS(sumCPI, 4); const compNVI = calcCompositeFromSS(sumNVI, 5); const cVCI = classifyWechsler(compVCI); const cVSI = classifyWechsler(compVSI); const cFRI = classifyWechsler(compFRI); const cWMI = classifyWechsler(compWMI); const cPSI = classifyWechsler(compPSI); const cFSIQ = classifyWechsler(compFSIQ); const cGAI = classifyWechsler(compGAI); const cCPI = classifyWechsler(compCPI); const cNVI = classifyWechsler(compNVI); const nviVciGap = compNVI - compVCI; const gaiCpiGap = compGAI - compCPI; dashHeadline.textContent = 'WPPSI-IV (4:0–7:7) — FSIQ: ' + compFSIQ + ' • Phi Ngôn Ngữ (NVI): ' + compNVI + ' • Năng Lực Chung (GAI): ' + compGAI; dashSub.textContent = 'Hiệu suất Nhận thức (CPI): ' + compCPI + ' • Độ lệch NVI - VCI: ' + (nviVciGap >= 0 ? '+' : '') + nviVciGap + ' điểm • Độ lệch GAI - CPI: ' + (gaiCpiGap >= 0 ? '+' : '') + gaiCpiGap + ' điểm'; dashPillars.style.gridTemplateColumns = 'repeat(5, 1fr)'; dashPillars.innerHTML = '
' + '• 2. Đánh giá Sẵn sàng Học đường qua Trí nhớ Làm việc (WMI = ' + compWMI + ') & Tốc độ Xử lý (PSI = ' + compPSI + '): ' + (compPSI < 85 || compWMI FSIQ ~63 (= 130) ssYoung = { RV: 17, IN: 15, PN: 15, BD: 17, OA: 15, PM: 15, ZL: 15 }; ssOld = { IN: 17, SI: 15, BD: 17, OA: 15, MR: 17, PC: 15, PM: 15, ZL: 15, BS: 13, CA: 13 }; } renderItems(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); wpWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { wpWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 980px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } shadow.querySelectorAll('#bandSwitcher .band-btn').forEach(function(btn) { btn.onclick = function() { activeBand = this.getAttribute('data-band'); shadow.querySelectorAll('#bandSwitcher .band-btn').forEach(b => b.classList.remove('active')); this.classList.add('active'); renderHeaderAndTabs(); renderItems(); updateSummary(); }; }); shadow.querySelectorAll('.wp-pbtn').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-preset')); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); renderHeaderAndTabs(); applyPreset('asd_preschool'); })();
WPPSI-IV (Wechsler Preschool and Primary Scale of Intelligence, Fourth Edition — Thang đo Trí tuệ Wechsler dành cho Trẻ Mẫu giáo và Đầu Tiểu học, Phiên bản 4, xuất bản năm 2012 bởi Pearson) là “tiêu chuẩn vàng” để đánh giá năng lực nhận thức cho trẻ từ 2 tuổi 6 tháng đến 7 tuổi 7 tháng (30 – 91 tháng).
Trong hệ thống công cụ đánh giá của bạn, WPPSI-IV chính là chiếc cầu nối hoàn hảo nhất giữa giai đoạn đánh giá DQ đầu đời (Bayley-III / KSPD) và giai đoạn đánh giá IQ học đường (WISC-V): giúp phát hiện sớm trẻ có năng khiếu (Gifted), xác định mức độ chậm phát triển toàn diện (GDD), và tách bạch năng lực nhận thức phi ngôn ngữ của trẻ Tự kỷ (ASD) ngay ở lứa tuổi mẫu giáo thông qua các bài test trò chơi đóng dấu mực (Ink Dauber) không đòi hỏi kỹ năng cầm bút viết.
1. Sự phân hóa Cấu trúc 2 Dải Độ Tuổi của WPPSI-IV
Vì sự phát triển não bộ của trẻ 2.5 tuổi rất khác với trẻ 6–7 tuổi, WPPSI-IV chia thành 2 Dải độ tuổi (Age Bands) với cấu trúc các Chỉ số chính (Primary Index Scales) và Tiểu trắc nghiệm khác nhau:
| Dải độ tuổi | Các Chỉ số Chính (Primary Indexes) | Các Tiểu trắc nghiệm Chính cấu thành (Primary Subtests) | Các Chỉ số Phụ Lâm sàng (Ancillary Indexes) |
|
1. Dải Nhỏ:
2 tuổi 6 tháng – 3 tuổi 11 tháng
(30 – 47 tháng) |
3 Chỉ số Chính + FSIQ:
1. Hiểu Lời nói (VCI)
2. Không gian Thị giác (VSI)
3. Trí nhớ Làm việc (WMI) |
Gồm 6 bài (5 bài tính FSIQ):
• VCI: Từ vựng Tiếp nhận (RV)★, Thông tin (IN) ★
• VSI: Xếp khối (BD) ★, Lắp ghép Đồ vật (OA) ★
• WMI: Nhớ Tranh ảnh (PM) ★, Vườn thú (ZL) |
• VAI (Tiếp thu Từ vựng: RV + PN)
• NVI (Phi ngôn ngữ: BD + OA + PM + ZL)
• GAI (Năng lực chung: RV + IN + BD + OA) |
|
2. Dải Lớn:
4 tuổi 0 tháng – 7 tuổi 7 tháng
(48 – 91 tháng) |
5 Chỉ số Chính + FSIQ:
(Giống hệt cấu trúc WISC-V)
1. Hiểu Lời nói (VCI)
2. Không gian Thị giác (VSI)
3. Tư duy Lưu loát (FRI)
4. Trí nhớ Làm việc (WMI)
5. Tốc độ Xử lý (PSI) |
Gồm 10 bài (6 bài tính FSIQ):
• VCI: Thông tin (IN) ★, Tương đồng (SI) ★
• VSI: Xếp khối (BD) ★, Lắp ghép Đồ vật (OA)
• FRI: Ma trận Suy luận (MR) ★, Khái niệm Hình ảnh (PC)
• WMI: Nhớ Tranh ảnh (PM) ★, Vườn thú (ZL)
• PSI: Tìm Bọ (BS) ★, Gạch bỏ Hình (CA) |
• VAI (Tiếp thu Từ vựng: RV + PN)
• NVI (Phi ngôn ngữ: BD +MR + PC + PM + BS)
• GAI (Năng lực chung: IN + SI + BD + MR)
• CPI (Hiệu suất nhận thức: PM + ZL + BS + CA) |
2. Những cải tiến “Thân thiện với Trẻ Tự kỷ & Trẻ Mầm non” của WPPSI-IV
-
Giảm tối đa áp lực ngôn ngữ nói: Ở các tiểu trắc nghiệm mới như Nhớ Tranh ảnh (Picture Memory), Vườn thú (Zoo Locations), Khái niệm Hình ảnh (Picture Concepts), trẻ hoàn toàn chỉ cần chỉ tay hoặc đặt thẻ hình vào đúng ô mà không cần nói một từ nào.
-
Dùng “Bút đóng dấu mực” (Ink Dauber) cho Tốc độ xử lý (PSI): Ở tuổi 4–5, nhiều trẻ mầm non (đặc biệt là trẻ ASD/ADHD có vận động tinh kém) chưa cầm bút chì gạch nhanh được. Trong bài Tìm Bọ (Bug Search) và Gạch bỏ Hình (Cancellation), trẻ được cầm con dấu mực chấm “cộp, cộp” lên hình đúng — vừa giống trò chơi thú vị,vừa loại bỏ sai số do kỹ năng cầm bút yếu!
-
Chỉ số Tiếp thu Từ vựng (Vocabulary Acquisition Index – VAI): Kết hợp Từ vựng Tiếp nhận (Receptive Vocabulary — chỉ tranh) và Gọi tên Tranh (Picture Naming) để đo lường khả năng phát triển vốn từ gốc của trẻ có rối loạn ngôn ngữ trước khi bước vào các câu hỏi suy luận dài.
[Đo lường IQ] WISC-V: Thang đo trí tuệ Wechsler đánh giá toàn diện nhận thức và chỉ số IQ cho trẻ em (6-16 tuổi)
(function() { const host = document.getElementById('wisc5-wp-host'); if (!host) return; const placeholder = document.createComment('wisc5-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // Cấu hình 5 Chỉ số Chính (Primary Index Scales) của WISC-V const indexConfigs = { vci: { code: 'vci', short: 'VCI', name: '1. Hiểu Lời nói (Verbal Comprehension - VCI)', color: '#2563eb' }, vsi: { code: 'vsi', short: 'VSI', name: '2. Không gian Thị giác (Visual Spatial - VSI)', color: '#0d9488' }, fri: { code: 'fri', short: 'FRI', name: '3. Tư duy Lưu loát / Logic (Fluid Reasoning - FRI)', color: '#7c3aed' }, wmi: { code: 'wmi', short: 'WMI', name: '4. Trí nhớ Làm việc (Working Memory - WMI)', color: '#f59e0b' }, psi: { code: 'psi', short: 'PSI', name: '5. Tốc độ Xử lý (Processing Speed - PSI)', color: '#dc2626' } }; // Đầy đủ 10 Tiểu trắc nghiệm Chính (Primary Subtests) của WISC-V // inFSIQ: true đối với 7 tiểu trắc nghiệm dùng để tính FSIQ // inGAI: true đối với 5 tiểu trắc nghiệm dùng để tính GAI (General Ability Index) // inCPI: true đối với 4 tiểu trắc nghiệm dùng để tính CPI (Cognitive Proficiency Index) // inNVI: true đối với 6 tiểu trắc nghiệm dùng để tính NVI (Nonverbal Index) const subtests = [ { id: 'SI', idx: 'vci', inFSIQ: true, inGAI: true, inCPI: false, inNVI: false, name: '1. Tương đồng (Similarities - SI) ★ [Thuộc FSIQ & GAI]', desc: 'Trẻ được nghe 2 từ chỉ các đồ vật hoặc khái niệm thông thường và phải giải thích xem chúng giống nhau ở điểm bản chất nào (VD: "Đỏ và Xanh giống nhau thế nào?", "Tức giận và Vui vẻ giống nhau thế nào?").', measure: 'Đo lường tư duy hình thành khái niệm bằng lời và khả năng suy luận trừu tượng ngôn ngữ.' }, { id: 'VC', idx: 'vci', inFSIQ: true, inGAI: true, inCPI: false, inNVI: false, name: '2. Từ vựng (Vocabulary - VC) ★ [Thuộc FSIQ & GAI]', desc: 'Trẻ gọi tên các bức tranh (ở mục đầu) và định nghĩa ý nghĩa của các từ vựng có độ trừu tượng tăng dần do người khám đọc to.', measure: 'Đo lường vốn từ vựng tích lũy, trí nhớ dài hạn về ngôn ngữ và mức độ phát triển biểu đạt lời nói.' }, { id: 'BD', idx: 'vsi', inFSIQ: true, inGAI: true, inCPI: false, inNVI: true, name: '3. Xếp khối Kohs (Block Design - BD) ★ [Thuộc FSIQ, GAI & NVI]', desc: 'Trong thời gian giới hạn, trẻ quan sát mô hình mẫu (hoặc tranh 2D) và dùng các khối lập phương hai màu Đỏ - Trắng để xếp lại đúng hình mẫu đó.', measure: 'Đo lường khả năng phân tích – tổng hợp thị giác không gian và phối hợp thị giác – vận động (Thường là thế mạnh nổi bật ở trẻ Tự kỷ - ASD).' }, { id: 'VP', idx: 'vsi', inFSIQ: false, inGAI: false, inCPI: false, inNVI: true, name: '4. Ghép hình Thị giác (Visual Puzzles - VP) [Thuộc VSI & NVI]', desc: 'Trẻ nhìn một hình hoàn chỉnh và phải chọn ra đúng 3 mảnh ghép rời từ 6 lựa chọn để khi xoay/ghép lại trong đầu sẽ tạo thành hình mẫu (không dùng tay chạm).', measure: 'Đo lường khả năng xoay hình trong tâm trí và tư duy không gian thị giác thuần túy không phụ thuộc vận động tay.' }, { id: 'MR', idx: 'fri', inFSIQ: true, inGAI: true, inCPI: false, inNVI: true, name: '5. Ma trận Suy luận (Matrix Reasoning - MR) ★ [Thuộc FSIQ, GAI & NVI]', desc: 'Trẻ xem một ma trận hình ảnh hoặc chuỗi hình bị khuyết một ô và chọn mảnh ghép đúng quy luật logic từ các phương án bên dưới.', measure: 'Đo lường trí thông minh lưu loát (Fluid Intelligence), suy luận quy nạp hình ảnh phi ngôn ngữ.' }, { id: 'FW', idx: 'fri', inFSIQ: true, inGAI: true, inCPI: false, inNVI: true, name: '6. Cân Trọng lượng (Figure Weights - FW) ★ [Thuộc FSIQ, GAI & NVI]', desc: 'Trẻ quan sát các chiếc cân thăng bằng có đặt các hình khối/vật thể và chọn đáp án đúng để giúp chiếc cân còn trống giữ được trạng thái cân bằng.', measure: 'Đo lường tư duy suy luận định lượng, logic đại số sơ cấp và suy diễn tương quan.' }, { id: 'DS', idx: 'wmi', inFSIQ: true, inGAI: false, inCPI: true, inNVI: false, name: '7. Nhớ Dãy số (Digit Span - DS) ★ [Thuộc FSIQ & CPI]', desc: 'Gồm 3 phần: Nhắc lại dãy số Xuôi (Forward), Nhắc lại dãy số Ngược từ cuối lên đầu (Backward) và Sắp xếp lại dãy số theo thứ tự từ nhỏ đến lớn (Sequencing).', measure: 'Đo lường trí nhớ làm việc thính giác, khả năng tập trung chú ý và thao tác tinh thần trên con số.' }, { id: 'PS', idx: 'wmi', inFSIQ: false, inGAI: false, inCPI: true, inNVI: true, name: '8. Nhớ Chuỗi tranh (Picture Span - PS) [Thuộc WMI, CPI & NVI]', desc: 'Trẻ nhìn một trang có một hoặc nhiều bức tranh trong vài giây, sau đó lật sang trang sau và phải chỉ lại đúng các bức tranh đó theo đúng thứ tự đã xuất hiện.', measure: 'Đo lường dung lượng trí nhớ làm việc thị giác và kiểm soát sự chú ý hình ảnh.' }, { id: 'CD', idx: 'psi', inFSIQ: true, inGAI: false, inCPI: true, inNVI: true, name: '9. Mã hóa (Coding - CD) ★ [Thuộc FSIQ, CPI & NVI]', desc: 'Trong vòng 120 giây, trẻ dùng bút chì chép lại thật nhanh các ký hiệu hình học tương ứng với từng con số (hoặc hình mẫu) theo bảng khóa cho sẵn.', measure: 'Đo lường tốc độ xử lý thông tin thị giác – vận động, sự linh hoạt viết vẽ và duy trì chú ý.' }, { id: 'SS', idx: 'psi', inFSIQ: false, inGAI: false, inCPI: true, inNVI: false, name: '10. Tìm Biểu tượng (Symbol Search - SS) [Thuộc PSI & CPI]', desc: 'Trong vòng 120 giây, trẻ quét mắt thật nhanh qua từng hàng biểu tượng để gạch chọn xem biểu tượng mục tiêu bên trái có xuất hiện trong nhóm bên phải hay không.', measure: 'Đo lường tốc độ quét phân biệt thị giác và ra quyết định nhận thức nhanh.' } ]; // scaledScores[id] lưu Điểm chuẩn Tiểu trắc nghiệm từ 1 đến 19 (Trung bình dân số = 10, SD = 3) let scaledScores = {}; let filterIdx = 'all'; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .w5-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .w5-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .w5-inner { padding: 24px; max-width: 980px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .w5-wrap.is-fullscreen .w5-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .w5-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 0 rgba(37, 99, 235, 0.4); } 70% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 10px rgba(37, 99, 235, 0); } 100% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 0 rgba(37, 99, 235, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #1e3a8a 0%, #2563eb 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Header */ .w5-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .w5-header-text { flex: 1 1 260px; } .w5-title { font-size: 21px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .w5-desc { font-size: 14px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #eff6ff; color: #1d4ed8; border: 1px solid #bfdbfe; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #2563eb; color: #ffffff; border-color: #2563eb; } /* Controls */ .w5-presets { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; margin-bottom: 14px; } .w5-lbl { font-size: 12px; font-weight: 800; color: #0f172a; text-transform: uppercase; margin-right: 4px; } .w5-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; touch-action: manipulation; } .w5-pbtn:hover { background: #f1f5f9; } .w5-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } .w5-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 16px; } .w5-tab { padding: 6px 12px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .w5-tab.active { background: #2563eb; color: #ffffff; border-color: #2563eb; } /* Sticky Dashboard */ .w5-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .w5-wrap.is-fullscreen .w5-dash { top: 58px; } .w5-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .w5-score-big { font-size: 21px; font-weight: 800; line-height: 1.2; } .w5-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .w5-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .w5-pillars { display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; font-size: 11.5px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .w5-pillar-box { background: #1e293b; padding: 7px 9px; border-radius: 8px; border-left: 3px solid #475569; } .w5-pillar-box.high { border-left-color: #3b82f6; background: rgba(59, 130, 246, 0.15); } .w5-pillar-box.avg { border-left-color: #10b981; } .w5-pillar-box.low { border-left-color: #f59e0b; background: rgba(245, 158, 11, 0.14); } .w5-pillar-box.imp { border-left-color: #ef4444; background: rgba(239, 68, 68, 0.16); } .w5-pillar-val { font-weight: 800; color: #ffffff; font-size: 13.5px; display: block; margin-top: 2px; } /* Danh sách 10 Tiểu trắc nghiệm */ .w5-item { border: 1px solid #e2e8f0; border-radius: 12px; padding: 15px 16px; margin-bottom: 12px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 8px; } .w5-item.ss-high { border-color: #93c5fd; background: #eff6ff; } .w5-item.ss-avg { border-color: #a7f3d0; background: #f0fdf4; } .w5-item.ss-low { border-color: #fde68a; background: #fffbeb; } .w5-item.ss-imp { border-color: #fca5a5; background: #fff5f5; } .w5-item-title { font-size: 15px; font-weight: 800; color: #0f172a; } .w5-item-desc { font-size: 13.5px; color: #334155; } .w5-item-meas { font-size: 12.5px; color: #475569; background: rgba(15, 23, 42, 0.03); padding: 6px 10px; border-radius: 6px; border-left: 3px solid #94a3b8; } .w5-tags { display: flex; flex-wrap: wrap; gap: 6px; } .w5-tag { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } /* 7 mốc chọn nhanh Scaled Score (1 -> 19, Mean = 10, SD = 3) */ .w5-scale-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 6px; margin-top: 4px; } .w5-sbtn { padding: 8px 4px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .w5-sbtn:hover { border-color: #64748b; } .w5-sbtn-num { font-size: 13px; font-weight: 800; display: block; color: #0f172a; } .w5-sbtn-lbl { font-size: 10.5px; color: #64748b; display: block; margin-top: 1px; } .w5-sbtn.sel-imp { background: #ef4444; border-color: #ef4444; } .w5-sbtn.sel-low { background: #f59e0b; border-color: #f59e0b; } .w5-sbtn.sel-avg { background: #10b981; border-color: #10b981; } .w5-sbtn.sel-high { background: #2563eb; border-color: #2563eb; } .w5-sbtn.sel-imp .w5-sbtn-num, .w5-sbtn.sel-imp .w5-sbtn-lbl, .w5-sbtn.sel-low .w5-sbtn-num, .w5-sbtn.sel-low .w5-sbtn-lbl, .w5-sbtn.sel-avg .w5-sbtn-num, .w5-sbtn.sel-avg .w5-sbtn-lbl, .w5-sbtn.sel-high .w5-sbtn-num, .w5-sbtn.sel-high .w5-sbtn-lbl { color: #ffffff; } /* Bảng tổng hợp 5 Chỉ số chính + FSIQ + 3 Chỉ số phụ (GAI, CPI, NVI) */ .w5-table-card { margin-top: 20px; padding: 16px 18px; border-radius: 12px; background: #ffffff; border: 1px solid #e2e8f0; overflow-x: auto; } .w5-table { width: 100%; border-collapse: collapse; font-size: 13px; min-width: 640px; } .w5-table th, .w5-table td { border: 1px solid #cbd5e1; padding: 8px 10px; text-align: center; } .w5-table th { background: #f1f5f9; font-weight: 800; color: #0f172a; } .w5-result-box { margin-top: 16px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #2563eb; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 760px) { .w5-inner { padding: 14px; } .w5-title { font-size: 18px; } .w5-pillars { grid-template-columns: 1fr 1fr; } .w5-scale-grid { grid-template-columns: repeat(4, 1fr); } .w5-pbtn.reset { margin-left: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
Thang Đo Trí Tuệ Wechsler Dành Cho Trẻ Em WISC-V (6 Tuổi – 16 Tuổi 11 Tháng • 10 Tiểu Trắc Nghiệm)
Công cụ tiêu chuẩn vàng đánh giá năng lực nhận thức trẻ em theo mô hình CHC qua 5 Chỉ số Chính: Hiểu Lời nói (VCI), Không gian Thị giác (VSI), Tư duy Lưu loát (FRI), Trí nhớ Làm việc (WMI), Tốc độ Xử lý (PSI), cùng IQ Toàn thang (FSIQ) và 3 Chỉ số Phụ Lâm sàng (GAI, CPI, NVI).
| Thang Chỉ số WISC-V (Index Scale) | Các Tiểu trắc nghiệm cấu thành | Tổng Scaled Scores | Điểm Chuẩn (Composite: 40–160) | Bách phân vị (Percentile) | Phân loại Chuẩn Wechsler |
|---|
')} `; updateFloatingFabVisibility(); } function applyPreset(type) { scaledScores = {}; subtests.forEach(st => { scaledScores[st.id] = 10; }); if (type === 'reset') { renderItems(); updateSummary(); return; } if (type === 'asd_profile') { // Kiểu hình ASD điển hình: Xếp khối (BD=15) & Ma trận (MR=13) rất giỏi, nhưng Từ vựng/Tương đồng (SI=7, VC=7) và Tốc độ xử lý (CD=5, SS=7) thấp scaledScores = { SI: 7, VC: 7, BD: 15, VP: 13, MR: 13, FW: 13, DS: 10, PS: 10, CD: 5, SS: 7 }; } else if (type === 'adhd_profile') { // Kiểu hình ADHD: VCI, VSI, FRI tốt (SS=13), nhưng Trí nhớ làm việc (DS=7, PS=7) và Tốc độ xử lý (CD=5, SS=7) tụt sâu -> GAI ~116, CPI ~81 scaledScores = { SI: 13, VC: 13, BD: 13, VP: 13, MR: 13, FW: 13, DS: 7, PS: 7, CD: 5, SS: 7 }; } else if (type === 'idd_profile') { // Khuyết tật trí tuệ (IDD): Tất cả các tiểu trắc nghiệm đều ở mức SS = 3 - 5 -> FSIQ ~63 ( FSIQ >= 130 scaledScores = { SI: 17, VC: 17, BD: 15, VP: 15, MR: 17, FW: 15, DS: 15, PS: 15, CD: 13, SS: 13 }; } renderItems(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); w5Wrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { w5Wrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 980px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } shadow.querySelectorAll('.w5-pbtn').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-preset')); }; }); shadow.querySelectorAll('#idxTabs .w5-tab').forEach(function(tab) { tab.onclick = function() { filterIdx = this.getAttribute('data-idx'); shadow.querySelectorAll('#idxTabs .w5-tab').forEach(t => t.classList.remove('active')); this.classList.add('active'); renderItems(); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); applyPreset('asd_profile'); })();
WISC-V (Wechsler Intelligence Scale for Children, Fifth Edition — Thang đo Trí tuệ Wechsler dành cho Trẻ em, Phiên bản 5) là “Tiêu chuẩn vàng” (Gold Standard) uy tín nhất thế giới hiện nay để đánh giá toàn diện năng lực nhận thức và chỉ số thông minh (IQ) cho trẻ em và thanh thiếu niên từ 6 tuổi 0 tháng đến 16 tuổi 11 tháng. Công cụ được phát triển dựa trên di sản của Tiến sĩ David Wechsler và được Pearson xuất bản năm 2014.
Trong đánh giá các rối loạn phát triển thần kinh (như Rối loạn phổ tự kỷ – ASD, Tăng động giảm chú ý – ADHD,Khuyết tật học tập đặc hiệu – SLD, và Rối loạn phát triển trí tuệ – IDD), WISC-V không chỉ dừng lại ở một con số IQ tổng quát. Giá trị lâm sàng đắt giá nhất của WISC-V là việc lập Biểu đồ Hồ sơ Nhận thức (Cognitive Profile) qua 5 chỉ số chính và 5 chỉ số phụ để phát hiện Sự phân tách / Độ lệch nội tại (Scatter / Discrepancy) giữa tư duy cốt lõi và hiệu suất xử lý thông tin.
1. Điểm đột phá của WISC-V so với bản WISC-IV cũ
Ở phiên bản WISC-IV trước đây, hệ thống chỉ có 4 Chỉ số chính (Hiểu lời nói – VCI, Tư duy tri giác – PRI, Trí nhớ làm việc – WMI, Tốc độ xử lý – PSI). Sang bản WISC-V, chỉ số Tư duy tri giác (PRI) đã được tách thành 2 chỉ số độc lập là Không gian Thị giác (VSI) và Tư duy Lưu loát / Suy luận Лоgic (FRI), nâng tổng số lên 5 Chỉ số Chính (Primary Index Scales) theo đúng lý thuyết cấu trúc trí tuệ hiện đại CHC (Cattell-Horn-Carroll):
[Đo lường IQ] Raven & Leiter-3: Bộ trắc nghiệm đo chỉ số thông minh (IQ) phi ngôn ngữ cho trẻ chậm nói, tự kỷ
(function() { const host = document.getElementById('nviq-wp-host'); if (!host) return; const placeholder = document.createComment('nviq-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // ========================================================= // 1. DỮ LIỆU RAVEN CPM (COLOURED PROGRESSIVE MATRICES • 36 MỤC: BỘ A, Ab, B) // ========================================================= const cpmSets = [ { id: 'CPM_A', code: 'Bộ A', max: 12, color: '#2563eb', title: 'Bộ A (12 mục: A1 → A12) — Hoàn thiện Mẫu hình Liên tục (Continuous Patterns)', desc: 'Đánh giá khả năng tri giác thị giác cơ bản: nhận diện sự đồng nhất về màu sắc, đường kẻ, mật độ chấm và hoàn thiện phần bị khuyết của một bức nền liên tục.', skills: 'A1–A6: Ghép nền đơn sắc & đường kẻ thẳng/ngang | A7–A10: Giao điểm đường kẻ & mật độ hoa văn | A11–A12: Hoa văn chéo phức hợp hai chiều.' }, { id: 'CPM_Ab', code: 'Bộ Ab', max: 12, color: '#0d9488', title: 'Bộ Ab (12 mục: Ab1 → Ab12) — Nhận thức Cấu trúc Rời rạc thành Tổng thể (Discrete Figures as Spatial Wholes)', desc: 'Trẻ quan sát 3 góc của một hình đối xứng (gồm 4 phần tư) và phải chọn mảnh ghép thứ 4 có hướng xoay và góc đối xứng khớp với 3 phần còn lại.', skills: 'Ab1–Ab5: Đối xứng gương đơn giản của hình tròn/vuông | Ab6–Ab9: Xoay góc 90 độ của hình khuyết và mũi tên | Ab10–Ab12: Đảo chiều không gian và đóng khung hình học.' }, { id: 'CPM_B', code: 'Bộ B', max: 12, color: '#7c3aed', title: 'Bộ B (12 mục: B1 → B12) — Suy luận Tương tự Hình học (Analogical Reasoning)', desc: 'Đo lường bước chuyển sang tư duy logic trừu tượng (Cặp hình trên biến đổi thế nào thì cặp hình dưới biến đổi tương tự theo đúng quy luật đó).', skills: 'B1–B4: Đồng nhất hình học cơ bản | B5–B8: Quy luật đối xứng lật hình & đổi màu nền | B9–B12: Phép suy luận tương tự 2 biến số (vừa đổi hình dạng vừa đổi tô đậm/rỗng).' } ]; // ========================================================= // 2. DỮ LIỆU RAVEN SPM (STANDARD PROGRESSIVE MATRICES • 60 MỤC: BỘ A, B, C, D, E) // ========================================================= const spmSets = [ { id: 'SPM_A', code: 'Bộ A', max: 12, color: '#0284c7', title: 'Bộ A (12 mục: A1 → A12) — Tri giác Hoàn thiện Khuôn mẫu Liên tục', desc: 'Kiểm tra khả năng phân biệt thị giác nền tảng, nối tiếp các đường lưới thẳng, chéo và hoa văn liên tục.', skills: 'Cấp độ 1: Tri giác đồng nhất và liên tục thị giác không gian.' }, { id: 'SPM_B', code: 'Bộ B', max: 12, color: '#2563eb', title: 'Bộ B (12 mục: B1 → B12) — Tư duy Tương tự trên Ma trận 2×2 (Analogical Changes)', desc: 'Phát hiện mối quan hệ đối xứng trục dọc/ngang, phép xoay hình và phép biến đổi tương tự giữa các cặp hình.', skills: 'Cấp độ 2: Suy luận tương tự (A : B :: C : ?) trên ma trận 2×2.' }, { id: 'SPM_C', code: 'Bộ C', max: 12, color: '#0d9488', title: 'Bộ C (12 mục: C1 → C12) — Biến đổi Tịnh tiến và Tăng dần trên Ma trận 3×3 (Progressive Alterations)', desc: 'Khắc họa quy luật thay đổi liên tục theo cả hàng ngang và cột dọc trên lưới 9 ô (3×3): tăng giảm kích thước, thêm bớt chi tiết hoặc dịch chuyển vị trí.', skills: 'Cấp độ 3: Theo dõi đồng thời 2 chiều biến thiên (hàng ngang + cột dọc).' }, { id: 'SPM_D', code: 'Bộ D', max: 12, color: '#7c3aed', title: 'Bộ D (12 mục: D1 → D12) — Quy luật Hoán vị và Tổ hợp Hình học trên Ma trận 3×3 (Permutations)', desc: 'Đòi hỏi tìm ra quy luật phân phối hoán vị của 3 nhóm hình dạng, 3 kiểu nét vẽ và 3 hướng xoay sao cho mỗi hàng và mỗi cột đều hội đủ 3 thuộc tính.', skills: 'Cấp độ 4: Suy luận tổ hợp đa biến (Latin Square Logic).' }, { id: 'SPM_E', code: 'Bộ E', max: 12, color: '#dc2626', title: 'Bộ E (12 mục: E1 → E12) — Phép Cộng, Trừ và Giao/Hợp Trừu tượng Hình học (Abstract Algebraic Operations)', desc: 'Cấp độ tư duy trừu tượng cao nhất của Raven: thực hiện phép cộng hình, trừ phần giao nhau (XOR) hoặc lấy phần chung (AND) giữa Ô 1 và Ô 2 để ra Ô 3.', skills: 'Cấp độ 5: Phân tích và tổng hợp đại số hình ảnh thuần túy (Fluid Intelligence đỉnh cao).' } ]; // ========================================================= // 3. DỮ LIỆU LEITER-3 (8 TIỂU TRẮC NGHIỆM: 4 COGNITIVE BATTERY + 4 ATTENTION/MEMORY BATTERY) // Chấm trên thang Scaled Score từ 1 đến 19 (Trung bình = 10, SD = 3) // ========================================================= const leiterSubtests = [ // BỘ PIN NHẬN THỨC (COGNITIVE BATTERY -> TÍNH NONVERBAL IQ) { id: 'FG', battery: 'cog', color: '#2563eb', name: '1. Hình – Nền (Figure Ground - FG) ★ [Thuộc Nonverbal IQ]', desc: 'Trẻ cầm các thẻ nhỏ có vẽ một đồ vật/hình học và phải chỉ ra xem đồ vật đó đang ẩn giấu ở vị trí nào bên trong một bức tranh lớn phức tạp có nhiều chi tiết đan xen.', measure: 'Đo lường khả năng lọc nhiễu thị giác, nhận diện hình chính tách khỏi nền rối và sự linh hoạt tri giác.' }, { id: 'FC', battery: 'cog', color: '#0284c7', name: '2. Hoàn thiện Hình dạng (Form Completion - FC) ★ [Thuộc Nonverbal IQ]', desc: 'Trẻ nhìn các mảnh rời rạc bị cắt vụn của một đồ vật/hình khối và phải hình dung trong đầu xem khi ghép chúng lại sẽ tạo thành hình hoàn chỉnh nào trên khung giá đỡ.', measure: 'Đo lường khả năng tổng hợp toàn thể từ các bộ phận rời rạc (Gestalt Visual Closure).' }, { id: 'CA', battery: 'cog', color: '#7c3aed', name: '3. Phân loại & Tương tự (Classification and Analogies - CA) ★ [Thuộc Nonverbal IQ]', desc: 'Trẻ dùng các khối mút/thẻ hình để phân loại theo thuộc tính ở các câu đầu, và giải các bài toán ma trận tương tự hình học ở các câu nâng cao.', measure: 'Đo lường tư duy hình thành khái niệm và suy luận quy nạp phi ngôn ngữ.' }, { id: 'SO', battery: 'cog', color: '#9333ea', name: '4. Trật tự Chuỗi nối tiếp (Sequential Order - SO) ★ [Thuộc Nonverbal IQ]', desc: 'Trẻ quan sát một chuỗi các khối hình sắp xếp theo quy luật tăng tiến hoặc lặp lại trên khung Easel và chọn đúng khối mút còn thiếu đặt vào khe trống.', measure: 'Đo lường khả năng phát hiện quy luật chuỗi logic và suy luận tuần tự.' }, // BỘ PIN CHÚ Ý & TRÍ NHỚ (ATTENTION & MEMORY BATTERY -> TÍNH NONVERBAL MEMORY & PROCESSING SPEED) { id: 'FM', battery: 'mem', color: '#0d9488', name: '5. Trí nhớ Xuôi (Forward Memory - FM) [Thuộc Nonverbal Memory]', desc: 'Người khám chỉ tay lần lượt vào một chuỗi các bức tranh theo thứ tự, sau đó trẻ phải chỉ tay lặp lại đúng các bức tranh đó theo đúng thứ tự vừa nhìn thấy.', measure: 'Đo lường dung lượng ghi nhớ thị giác ngắn hạn.' }, { id: 'RM', battery: 'mem', color: '#10b981', name: '6. Trí nhớ Ngược (Reverse Memory - RM) [Thuộc Nonverbal Memory]', desc: 'Người khám chỉ tay vào một chuỗi các bức tranh, và trẻ phải chỉ lại theo thứ tự ĐẢO NGƯỢC từ hình cuối cùng về hình đầu tiên.', measure: 'Đo lường trí nhớ làm việc phi ngôn ngữ (Nonverbal Working Memory) và khả năng kiểm soát điều hành.' }, { id: 'AS', battery: 'spd', color: '#f59e0b', name: '7. Duy trì Chú ý (Attention Sustained - AS) [Thuộc Processing Speed]', desc: 'Trong thời gian quy định (30–60 giây), trẻ dùng bút gạch tìm tất cả các hình mục tiêu nằm lẫn trong một trang giấy dày đặc các hình gây nhiễu.', measure: 'Đo lường tốc độ quét thị giác, sự tập trung bền bỉ và khả năng ức chế xung động.' }, { id: 'AD', battery: 'spd', color: '#dc2626', name: '8. Phân chia Chú ý / Stroop Phi ngôn ngữ (Attention Divided / Nonverbal Stroop - AD)', desc: 'Trẻ phải vừa phân loại thẻ hình vừa chuyển đổi quy tắc chú ý linh hoạt dưới áp lực thời gian.', measure: 'Đo lường tính linh hoạt nhận thức (Cognitive Flexibility) và tốc độ xử lý điều hành.' } ]; let activeTool = 'cpm'; // 'cpm' (Raven CPM 36) | 'spm' (Raven SPM 60) | 'leiter3' (Leiter-3) let childAgeYears = 8; // Tuổi đối chiếu chuẩn let cpmScores = { CPM_A: 10, CPM_Ab: 9, CPM_B: 8 }; let spmScores = { SPM_A: 11, SPM_B: 10, SPM_C: 9, SPM_D: 8, SPM_E: 5 }; let leiterSS = { FG: 13, FC: 13, CA: 12, SO: 12, FM: 10, RM: 9, AS: 8, AD: 8 }; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .nv-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .nv-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .nv-inner { padding: 24px; max-width: 980px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .nv-wrap.is-fullscreen .nv-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .nv-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(13, 148, 136, 0.45), 0 0 0 0 rgba(13, 148, 136, 0.4); } 70% { box-shadow: 0 6px 20px rgba(13, 148, 136, 0.45), 0 0 0 10px rgba(13, 148, 136, 0); } 100% { box-shadow: 0 6px 20px rgba(13, 148, 136, 0.45), 0 0 0 0 rgba(13, 148, 136, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #0f766e 0%, #0d9488 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(13, 148, 136, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Bộ chuyển đổi 3 Công cụ IQ Phi ngôn ngữ */ .tool-switcher { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; background: #f1f5f9; padding: 8px; border-radius: 12px; margin-bottom: 18px; } .tool-btn { padding: 10px 12px; border-radius: 9px; border: 1.5px solid transparent; background: rgba(255, 255, 255, 0.65); cursor: pointer; text-align: left; transition: all 0.2s ease; touch-action: manipulation; } .tool-btn:hover { background: #ffffff; } .tool-btn.active { background: #ffffff; border-color: #0d9488; box-shadow: 0 3px 10px rgba(15, 23, 42, 0.08); } .tool-btn-title { font-size: 13.8px; font-weight: 800; color: #0f172a; display: block; } .tool-btn.active .tool-btn-title { color: #0f766e; } .tool-btn-sub { font-size: 11.5px; color: #64748b; margin-top: 2px; display: block; } /* Header */ .nv-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .nv-header-text { flex: 1 1 260px; } .nv-title { font-size: 20px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .nv-desc { font-size: 13.8px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #f0fdfa; color: #0f766e; border: 1px solid #99f6e4; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #0d9488; color: #ffffff; border-color: #0d9488; } /* Top Controls */ .nv-top-panel { display: grid; grid-template-columns: 1fr 1.5fr; gap: 12px; background: #f8fafc; border: 1px solid #cbd5e1; border-radius: 12px; padding: 14px; margin-bottom: 16px; } .nv-lbl { font-size: 12px; font-weight: 800; color: #0f172a; text-transform: uppercase; display: block; margin-bottom: 6px; } .nv-select { width: 100%; padding: 8px 10px; border: 1px solid #0d9488; border-radius: 7px; font-size: 13.5px; font-weight: 700; color: #0f172a; background: #ffffff; } .nv-presets { display: flex; flex-wrap: wrap; gap: 6px; } .nv-pbtn { padding: 7px 10px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 600; color: #334155; cursor: pointer; flex: 1 1 auto; text-align: center; touch-action: manipulation; } .nv-pbtn:hover { background: #f1f5f9; } .nv-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; } /* Sticky Dashboard */ .nv-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .nv-wrap.is-fullscreen .nv-dash { top: 58px; } .nv-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .nv-score-big { font-size: 21px; font-weight: 800; line-height: 1.2; } .nv-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .nv-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .nv-pillars { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; font-size: 12px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .nv-pillar-box { background: #1e293b; padding: 8px 10px; border-radius: 8px; border-left: 3px solid #0d9488; } .nv-pillar-val { font-weight: 800; color: #ffffff; font-size: 13.5px; display: block; margin-top: 2px; } /* Danh sách các Bộ / Tiểu trắc nghiệm */ .nv-item { border: 1px solid #e2e8f0; border-radius: 12px; padding: 15px 16px; margin-bottom: 12px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 8px; } .nv-item-title { font-size: 15px; font-weight: 800; color: #0f172a; } .nv-item-desc { font-size: 13.5px; color: #334155; } .nv-item-sub { font-size: 12.5px; color: #475569; background: #f8fafc; padding: 6px 10px; border-radius: 6px; border-left: 3px solid #cbd5e1; } .nv-tags { display: flex; flex-wrap: wrap; gap: 6px; } .nv-tag { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .nv-btn-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 6px; margin-top: 4px; } .nv-sbtn { padding: 8px 4px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 700; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .nv-sbtn:hover { border-color: #64748b; } .nv-sbtn.sel-low { background: #ef4444; border-color: #ef4444; color: #ffffff; } .nv-sbtn.sel-mid { background: #f59e0b; border-color: #f59e0b; color: #ffffff; } .nv-sbtn.sel-good { background: #10b981; border-color: #10b981; color: #ffffff; } .nv-sbtn.sel-top { background: #2563eb; border-color: #2563eb; color: #ffffff; } /* Bảng phân bậc Raven (Grade I -> V) & Leiter-3 */ .nv-table-card { margin-top: 20px; padding: 16px 18px; border-radius: 12px; background: #ffffff; border: 1px solid #e2e8f0; overflow-x: auto; } .nv-table { width: 100%; border-collapse: collapse; font-size: 13px; min-width: 640px; } .nv-table th, .nv-table td { border: 1px solid #cbd5e1; padding: 9px 12px; text-align: left; } .nv-table th { background: #f1f5f9; font-weight: 800; color: #0f172a; } .nv-table tr.active-row { background: #f0fdfa; border: 2px solid #0d9488; } .nv-result-box { margin-top: 16px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #0d9488; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 760px) { .nv-inner { padding: 14px; } .tool-switcher { grid-template-columns: 1fr; } .nv-title { font-size: 18px; } .nv-top-panel { grid-template-columns: 1fr; } .nv-pillars { grid-template-columns: 1fr 1fr; } .nv-btn-grid { grid-template-columns: repeat(4, 1fr); } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
| Phân bậc Raven (Grade) | Bách phân vị (Percentile) | IQ Phi ngôn ngữ (Mean=100, SD=15) | Định danh Năng lực Trí tuệ Phi ngôn ngữ (John C. Raven & Leiter-3) |
|---|---|---|---|
| Bậc I (Grade I) | ≥ 95% | ≥ 125 điểm | Trí tuệ Vượt trội (Intellectually Superior): Tư duy suy luận quy nạp và không gian thị giác xuất sắc (thuộc nhóm 5% cao nhất cùng độ tuổi). |
| Bậc II (Grade II) | 75% – 94% (II+: ≥90%) |
110 – 124 điểm | Trên mức Trung bình (Definitely Above Average): Năng lực giải quyết vấn đề phi ngôn ngữ tốt hơn đa số trẻ cùng tuổi (Thường gặp ở trẻ Tự kỷ có thế mạnh thị giác). |
| Bậc III (Grade III) | 25% – 74% (III+: >50% | III-: <50%) |
90 – 109 điểm | Trí tuệ Trung bình (Intellectually Average): Năng lực tư duy phi ngôn ngữ phát triển bình thường theo đúng độ tuổi. |
| Bậc IV (Grade IV) | 6% – 24% (IV-: ≤10%) |
70 – 89 điểm | Dưới mức Trung bình / Ranh giới (Definitely Below Average): Cần hỗ trợ trực quan hóa và chia nhỏ bước khi học các khái niệm trừu tượng. |
| Bậc V (Grade V) | ≤ 5% | < 70 điểm (-2 SD) | Suy giảm Nhận thức Rõ rệt (Intellectual Impairment): Suy giảm cả tư duy phi ngôn ngữ (Nếu kèm suy giảm hành vi thích ứng trên Vineland-3 sẽ xác nhận Khuyết tật trí tuệ - IDD). |
1. Trắc Nghiệm Khuôn Hình Tiếp Diễn Raven Bản Màu — Raven’s CPM (36 Mục • Bộ A, Ab, B)
Thiết kế chuyên biệt cho trẻ em từ 5 đến 11 tuổi và trẻ chậm nói / rối loạn giao tiếp. Trẻ chỉ tay chọn mảnh ghép đúng trong 36 ma trận màu (Mỗi bộ A, Ab, B tối đa 12 điểm). Hệ thống tự động kiểm tra Độ lệch nhất quán (Consistency Discrepancy) và quy đổi ra Bậc trí tuệ Raven (Grade I – V).
`; } else if (activeTool === 'spm') { headerInfo.innerHTML = `2. Trắc Nghiệm Khuôn Hình Tiếp Diễn Raven Bản Tiêu Chuẩn — Raven’s SPM (60 Mục • Bộ A, B, C, D, E)
Đánh giá toàn diện năng lực suy luận quy nạp và tư duy hệ thống phi ngôn ngữ cho trẻ từ 6 tuổi đến người trưởng thành qua 5 Bộ (A, B, C, D, E — mỗi bộ 12 câu, tổng 60 điểm).
`; } else { headerInfo.innerHTML = `3. Thang Đo Hiệu Suất Quốc Tế Leiter-3 — Đánh Giá IQ, Trí Nhớ & Chú Ý 100% Phi Ngôn Ngữ (3 – 75+ Tuổi)
Công cụ tiêu chuẩn vàng đánh giá nhận thức hoàn toàn không dùng lời nói cả từ phía người khám lẫn trẻ. Chấm điểm chuẩn Scaled Score (1 – 19, TB = 10) cho 4 bài Nhận thức (tính Nonverbal IQ) và 4 bài Chú ý – Trí nhớ (tính Nonverbal Memory & Processing Speed).
`; } } function renderItems() { itemList.innerHTML = ''; if (activeTool === 'cpm' || activeTool === 'spm') { const sets = (activeTool === 'cpm') ? cpmSets : spmSets; const store = (activeTool === 'cpm') ? cpmScores : spmScores; const stepChoices = [0, 2, 4, 6, 8, 10, 12]; // Điểm từng bộ trên thang 0..12 sets.forEach(function(s) { const uVal = (store[s.id] !== undefined) ? store[s.id] : 8; const btnsHtml = stepChoices.map(pt => { let cls = 'nv-sbtn'; if (uVal === pt) { if (pt >= 10) cls += ' sel-top'; else if (pt >= 7) cls += ' sel-good'; else if (pt >= 4) cls += ' sel-mid'; else cls += ' sel-low'; } return ``; }).join(''); const el = document.createElement('div'); el.className = 'nv-item'; el.innerHTML = `• Đối chiếu quy chuẩn ở ${childAgeYears} tuổi: Xếp loại ${cInfo.gradeTxt}, tương đương IQ Phi ngôn ngữ ~${nviq} điểm.
• Kiểm tra tính nhất quán nội tại (Consistency Check): ${validityTxt}. `; } else if (activeTool === 'spm') { const sA = spmScores.SPM_A, sB = spmScores.SPM_B, sC = spmScores.SPM_C, sD = spmScores.SPM_D, sE = spmScores.SPM_E; const rawTotal = sA + sB + sC + sD + sE; // Max 60 const expectedMeanSPM = { 5: 18, 6: 22, 7: 26, 8: 31, 9: 35, 10: 39, 12: 43, 16: 48 }; const expMean = expectedMeanSPM[childAgeYears] || 35; nviq = Math.round(100 + ((rawTotal - expMean) / 7.5) * 15); nviq = Math.max(50, Math.min(145, nviq)); const isConsistent = (sE <= sA + 1) && (sD <= sA + 2); validityTxt = isConsistent ? '✓ Hợp lệ (Đường cong điểm giảm dần hợp lý từ Bộ A → Bộ E)' : '⚠️ Cảnh báo lệch phân bố giữa các Bộ A–E'; dashPillars.innerHTML = `
• Xếp bậc năng lực trí tuệ Raven: ${cInfo.gradeTxt}, tương đương IQ Phi ngôn ngữ ~${nviq} điểm.
• Phân tích 5 cấp độ tư duy: Trẻ xử lý tốt các bài toán hoàn thiện mẫu (Bộ A: ${sA}/12) và tương tự 2×2 (Bộ B: ${sB}/12); mức độ duy trì trên ma trận 3×3 biến thiên (Bộ C: ${sC}/12), hoán vị tổ hợp (Bộ D: ${sD}/12) và đại số hình học trừu tượng (Bộ E: ${sE}/12). `; } else { // LEITER-3 const sumCogSS = leiterSS.FG + leiterSS.FC + leiterSS.CA + leiterSS.SO; // 4 bài tính Nonverbal IQ const sumMemSS = leiterSS.FM + leiterSS.RM; // 2 bài tính Nonverbal Memory const sumSpdSS = leiterSS.AS + leiterSS.AD; // 2 bài tính Processing Speed nviq = Math.max(45, Math.min(155, Math.round(100 + ((sumCogSS / 4) - 10) * 5.2))); const nvMem = Math.max(45, Math.min(155, Math.round(100 + ((sumMemSS / 2) - 10) * 5.2))); const nvSpd = Math.max(45, Math.min(155, Math.round(100 + ((sumSpdSS / 2) - 10) * 5.2))); const cInfo = classifyNVIQ(nviq); dashHeadline.textContent = `Leiter-3 Nonverbal IQ: ${nviq} • Trí Nhớ Phi Ngôn Ngữ: ${nvMem} • Tốc Độ Xử Lý: ${nvSpd}`; dashSub.textContent = `Tổng Scaled Scores 4 bài Nhận thức (FG+FC+CA+SO): ${sumCogSS} (Trung bình chuẩn = 40)`; dashPillars.innerHTML = `
• 2. Chỉ số Trí nhớ Phi ngôn ngữ (Nonverbal Memory Composite): Đạt ${nvMem} điểm (Nhớ xuôi FM = ${leiterSS.FM}, Nhớ ngược RM = ${leiterSS.RM}).
• 3. Chỉ số Chú ý & Tốc độ xử lý (Processing Speed Composite): Đạt ${nvSpd} điểm (Duy trì chú ý AS = ${leiterSS.AS}, Phân chia chú ý AD = ${leiterSS.AD}). `; } const cFinal = classifyNVIQ(nviq); if (cFinal.grade === 'G1') rowG1.className = 'active-row'; else if (cFinal.grade === 'G2') rowG2.className = 'active-row'; else if (cFinal.grade === 'G3') rowG3.className = 'active-row'; else if (cFinal.grade === 'G4') rowG4.className = 'active-row'; else rowG5.className = 'active-row'; scoreBadge.textContent = `${cFinal.gradeTxt.split('•')[0].trim()} (NVIQ: ${nviq})`; scoreBadge.style.background = cFinal.color; scoreBadge.style.color = '#ffffff'; resultBox.style.borderLeftColor = cFinal.color; resultBox.innerHTML = `
• 💡 Ý nghĩa đặc biệt trong Chẩn đoán Tự kỷ (ASD) & Phân mã ICD-11 / DSM-5-TR:
${nviq >= 85 ? '👉 Với IQ Phi ngôn ngữ đạt ' + nviq + ' điểm (≥ 85), trẻ có tiềm năng nhận thức cốt lõi hoàn toàn bình thường/tốt bất chấp việc trẻ có thể đang chậm nói nặng. Kết quả này giúp loại trừ Khuyết tật trí tuệ (IDD) (Định mã ICD-11: 6A02.0 hoặc 6A02.2) và khẳng định việc dạy học cho trẻ cần tận dụng tối đa Giáo cụ trực quan hình ảnh (Visual Supports / TEACCH / PECS).' : (nviq >= 70 ? '👉 IQ Phi ngôn ngữ nằm ở vùng Ranh giới (' + nviq + ' điểm), cần kết hợp đánh giá hành vi thích ứng Vineland-3 và hỗ trợ học tập trực quan từng bước.' : '👉 IQ Phi ngôn ngữ dưới 70 điểm (-2 SD), phản ánh sự suy giảm cả ở tư duy không lời. Cần đối chiếu thêm với Vineland-3 để xác định mức độ hỗ trợ toàn diện.')} `; updateFloatingFabVisibility(); } function applyPreset(type) { if (type === 'reset') { cpmScores = { CPM_A: 0, CPM_Ab: 0, CPM_B: 0 }; spmScores = { SPM_A: 0, SPM_B: 0, SPM_C: 0, SPM_D: 0, SPM_E: 0 }; leiterSS = { FG: 10, FC: 10, CA: 10, SO: 10, FM: 10, RM: 10, AS: 10, AD: 10 }; } else if (type === 'asd_strength') { // Thế mạnh thị giác tự kỷ (Bậc I - II: NVIQ ~118) cpmScores = { CPM_A: 12, CPM_Ab: 10, CPM_B: 8 }; // 30/36 spmScores = { SPM_A: 12, SPM_B: 10, SPM_C: 8, SPM_D: 8, SPM_E: 6 }; // 44/60 leiterSS = { FG: 14, FC: 14, CA: 12, SO: 12, FM: 10, RM: 8, AS: 8, AD: 8 }; } else if (type === 'average') { // Trung bình (Bậc III: NVIQ ~100) cpmScores = { CPM_A: 10, CPM_Ab: 8, CPM_B: 6 }; // 24/36 spmScores = { SPM_A: 10, SPM_B: 8, SPM_C: 6, SPM_D: 6, SPM_E: 2 }; // 32/60 leiterSS = { FG: 10, FC: 10, CA: 10, SO: 10, FM: 10, RM: 10, AS: 10, AD: 10 }; } else if (type === 'borderline') { // Dưới trung bình / Ranh giới (Bậc IV: NVIQ ~78) cpmScores = { CPM_A: 8, CPM_Ab: 6, CPM_B: 4 }; // 18/36 spmScores = { SPM_A: 8, SPM_B: 6, SPM_C: 4, SPM_D: 2, SPM_E: 0 }; // 20/60 leiterSS = { FG: 6, FC: 6, CA: 6, SO: 6, FM: 6, RM: 6, AS: 6, AD: 6 }; } else if (type === 'impaired') { // Suy giảm trí tuệ (Bậc V: NVIQ < 70) cpmScores = { CPM_A: 6, CPM_Ab: 4, CPM_B: 2 }; // 12/36 spmScores = { SPM_A: 6, SPM_B: 4, SPM_C: 2, SPM_D: 0, SPM_E: 0 }; // 12/60 leiterSS = { FG: 4, FC: 4, CA: 4, SO: 4, FM: 4, RM: 4, AS: 4, AD: 4 }; } renderItems(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); nvWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { nvWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 980px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } shadow.querySelectorAll('#toolSwitcher .tool-btn').forEach(function(btn) { btn.onclick = function() { activeTool = this.getAttribute('data-tool'); shadow.querySelectorAll('#toolSwitcher .tool-btn').forEach(b => b.classList.remove('active')); this.classList.add('active'); renderHeader(); renderItems(); updateSummary(); }; }); selAge.onchange = () => { updateSummary(); }; shadow.querySelectorAll('.nv-pbtn').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-preset')); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); renderHeader(); applyPreset('asd_strength'); })();
Raven (Trắc nghiệm khuôn hình tiếp diễn) hoặc Leiter-3: Các thang đo IQ phi ngôn ngữ (Non-verbal IQ). Đây là công cụ “cứu cánh” bắt buộc phải có khi đánh giá trẻ tự kỷ hoặc trẻ chậm nói nặng (vì trẻ không nói được sẽ bị điểm thấp oan nếu đo bằng các bài test IQ thông thường).
Trong thực hành lâm sàng với trẻ Rối loạn phổ tự kỷ (ASD) (đặc biệt là trẻ chậm nói, chưa có lời nói hoặc rối loạn ngôn ngữ nặng), nếu dùng các bài test IQ phụ thuộc nhiều vào lời nói, điểm số của trẻ sẽ bị kéo tụt giả tạo và dễ bị chẩn đoán nhầm thành Khuyết tật trí tuệ (IDD). Raven và Leiter-3 giải quyết triệt để rào cản này bằng cách đo lường trực tiếp Trí thông minh Lưu loát (Fluid Intelligence – Gf) và tư duy suy luận hình ảnh mà không yêu cầu trẻ phải phát âm một từ nào.
| Tiêu chí so sánh | 1. Raven’s Progressive Matrices (CPM & SPM) | 2. Leiter-3 (Leiter International Performance Scale-3) |
| Tác giả & Xuất bản | John C. Raven (1938, cập nhật Raven’s 2 bởi Pearson). | Gale H. Roid, Lucy J. Miller et al. (2013, Stoelting). |
| Độ tuổi áp dụng |
• Bản Màu (CPM): 5 – 11 tuổi (hoặc trẻ chậm phát triển/người già).
• Bản Tiêu chuẩn (SPM): 6 – 80+ tuổi. |
3 tuổi 0 tháng đến 75+ tuổi (Cực mạnh cho trẻ mầm non từ 3 tuổi). |
| Phương thức thực hiện | Trẻ nhìn ma trận hình ảnh bị khuyết 1 mảnh và chỉ tay chọn 1 trong 6 (hoặc 8) mảnh ghép bên dưới để hoàn thiện quy luật. | 100% Phi ngôn ngữ cả 2 chiều: Người khám cũng không được nói, chỉ dùng cử chỉ điệu bộ; trẻ di chuyển các khối mút/thẻ hình đặt vào các khe trên khung giá đỡ (Easel). |
| Cấu trúc các Tiểu thang |
• Raven CPM (36 mục — 3 Bộ A, Ab, B): Mỗi bộ 12 câu.
• Raven SPM (60 mục — 5 Bộ A, B, C, D, E): Mỗi bộ 12 câu tăng dần độ khó quy luật. |
Chia làm 2 Bộ pin độc lập (10 tiểu trắc nghiệm):
1. Bộ Nhận thức (Cognitive Battery — 4 bài tính Nonverbal IQ): Figure Ground (FG), Form Completion (FC), Classification/Analogies (CA), Sequential Order (SO).
2. Bộ Chú ý & Trí nhớ (Attention & Memory — 4 bài tính Nonverbal Memory & Processing Speed): Attention Sustained (AS), Attention Divided (AD), Forward Memory (FM), Reverse Memory (RM). |
| Hệ thống tính điểm |
• Tính Tổng điểm thô (CPM: 0–36đ; SPM: 0–60đ).
• Kiểm tra Độ lệch phân bố chuẩn (Discrepancy Consistency) giữa các bộ A, B, C, D, E.
• Quy đổi ra Bách phân vị (Percentile: Bậc I đến Bậc V) và IQ Phi ngôn ngữ tương đương. |
• Chấm Scaled Score (1 – 19, Mean = 10, SD = 3) cho từng tiểu trắc nghiệm.
• Quy đổi ra Nonverbal IQ (40 – 160, Mean = 100, SD = 15), Nonverbal Memory và Processing Speed. |
(Một phát hiện nổi tiếng trong y văn tự kỷ của Giáo sư Laurent Mottron năm 2007 là: Trẻ tự kỷ khi làm bài test Raventhường đạt điểm Bách phân vị cao hơn từ 30 đến 70 bậc so với khi làm bài test Wechsler có lời nói — vì tư duy ma trận thị giác chính là thế mạnh bẩm sinh của não bộ tự kỷ!)
Đánh giá chức năng - Lập kế hoạch can thiệp
(function(){
function mountShadowRoadmap(){
var host = document.getElementById('phuchoi-roadmap-host');
if(!host) return;
if(host.shadowRoot) return;
if(!host.attachShadow) return;
var shadow = host.attachShadow({mode:'open'});
var css = [
':host{all:initial;display:block;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:#1e293b;line-height:1.6;width:100%;box-sizing:border-box;}',
'*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}',
'.roadmap-card{width:100%;background:#ffffff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 8px 24px rgba(15,23,42,0.05);overflow:hidden;}',
'.rm-intro{background:linear-gradient(135deg,#f0f9ff 0%,#e0f2fe 100%);padding:20px 24px;border-bottom:1px solid #bae6fd;display:flex;align-items:flex-start;gap:14px;}',
'.rm-icon{font-size:26px;line-height:1;background:#ffffff;width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 10px rgba(2,132,199,0.12);flex-shrink:0;}',
'.rm-intro-text{font-size:15px;color:#0f172a;margin:0;}',
'.rm-intro-text strong{color:#0369a1;font-weight:700;}',
'.rm-table{width:100%;border-collapse:collapse;border-spacing:0;}',
'.rm-table thead th{background:#f8fafc;color:#334155;font-size:12.5px;font-weight:800;text-transform:uppercase;letter-spacing:0.4px;padding:14px 20px;text-align:left;border-bottom:2px solid #e2e8f0;}',
'.rm-table tbody tr{border-bottom:1px solid #e2e8f0;transition:background 0.2s ease;}',
'.rm-table tbody tr:last-child{border-bottom:none;}',
'.rm-table tbody tr:hover{background:#f8fafc;}',
'.rm-table td{padding:20px;vertical-align:top;}',
'.step-tag{display:inline-block;font-size:11px;font-weight:700;padding:2px 9px;border-radius:999px;text-transform:uppercase;margin-bottom:6px;}',
'.step-1{background:#ede9fe;color:#6d28d9;}',
'.step-2{background:#dbeafe;color:#1d4ed8;}',
'.step-3{background:#dcfce7;color:#15803d;}',
'.group-badge{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:800;color:#0f172a;}',
'.tools-wrap{display:flex;flex-wrap:wrap;gap:8px;}',
'.tool-link{display:inline-flex;align-items:center;gap:5px;padding:6px 13px;border-radius:8px;font-size:13.5px;font-weight:700;text-decoration:none;transition:all 0.18s ease;border:1.5px solid transparent;cursor:pointer;}',
'.tool-link::after{content:"↗";font-size:11px;opacity:0.75;}',
'.tool-purple{background:#f5f3ff;color:#6d28d9;border-color:#ddd6fe;}',
'.tool-purple:hover{background:#7c3aed;color:#ffffff;border-color:#7c3aed;transform:translateY(-2px);box-shadow:0 4px 10px rgba(124,58,237,0.25);}',
'.tool-blue{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe;}',
'.tool-blue:hover{background:#2563eb;color:#ffffff;border-color:#2563eb;transform:translateY(-2px);box-shadow:0 4px 10px rgba(37,99,235,0.25);}',
'.tool-green{background:#f0fdf4;color:#15803d;border-color:#bbf7d0;}',
'.tool-green:hover{background:#16a34a;color:#ffffff;border-color:#16a34a;transform:translateY(-2px);box-shadow:0 4px 10px rgba(22,163,74,0.25);}',
'.desc-text{font-size:14.2px;color:#334155;margin:0;}',
'@media (max-width:768px){.rm-intro{padding:16px;}.rm-table thead{display:none;}.rm-table,.rm-table tbody,.rm-table tr,.rm-table td{display:block;width:100%;}.rm-table tbody tr{padding:16px;}.rm-table td{padding:6px 0;}.tools-wrap{margin:6px 0 8px 0;}}'
].join('');
var styleEl = document.createElement('style');
styleEl.textContent = css;
shadow.appendChild(styleEl);
var rowsData = [
{
stepCls: 'step-1',
stepTxt: 'Bước 1 • Nền tảng',
title: '🧩 Hành vi thích ứng & Giác quan',
btnCls: 'tool-purple',
tools: [
{name: 'Vineland-3', url: 'https://phuchoi.vn/kien-thuc/cong-cu/danh-gia-chuc-nang-lap-ke-hoach-can-thiep/vineland-3/'},
{name: 'Sensory Profile 2', url: 'https://phuchoi.vn/kien-thuc/cong-cu/danh-gia-chuc-nang-lap-ke-hoach-can-thiep/sensory-profile-2/'},
{name: 'SPM-2', url: 'https://phuchoi.vn/kien-thuc/cong-cu/danh-gia-chuc-nang-lap-ke-hoach-can-thiep/spm-2/'}
],
desc: 'Đánh giá khả năng tự lập, thích nghi trong sinh hoạt hàng ngày và cách hệ thần kinh của trẻ tiếp nhận, phản ứng với các kích thích giác quan (âm thanh, ánh sáng, xúc giác, vận động...).'
},
{
stepCls: 'step-2',
stepTxt: 'Bước 2 • Lên giáo án',
title: '🎯 Lập kế hoạch giáo dục cá nhân (IEP)',
btnCls: 'tool-blue',
tools: [
{name: 'PEP-3', url: 'https://phuchoi.vn/kien-thuc/cong-cu/danh-gia-chuc-nang-lap-ke-hoach-can-thiep/pep-3/'},
{name: 'VB-MAPP', url: 'https://phuchoi.vn/kien-thuc/cong-cu/danh-gia-chuc-nang-lap-ke-hoach-can-thiep/vb-mapp/'},
{name: 'ABLLS-R', url: 'https://phuchoi.vn/kien-thuc/cong-cu/danh-gia-chuc-nang-lap-ke-hoach-can-thiep/ablls-r/'},
{name: 'ESDM', url: 'https://phuchoi.vn/kien-thuc/cong-cu/danh-gia-chuc-nang-lap-ke-hoach-can-thiep/esdm/'},
{name: 'AFLS', url: 'https://phuchoi.vn/kien-thuc/cong-cu/danh-gia-chuc-nang-lap-ke-hoach-can-thiep/afls/'}
],
desc: 'Các bộ công cụ chia nhỏ từng kỹ năng (ngôn ngữ, giao tiếp, học tập, bắt chước...) giúp xác định chính xác trẻ đang dừng ở mốc nào, từ đó lên giáo án can thiệp cá nhân hóa (IEP) phù hợp nhất.'
},
{
stepCls: 'step-3',
stepTxt: 'Bước 3 • Đo lường',
title: '📈 Theo dõi hiệu quả can thiệp',
btnCls: 'tool-green',
tools: [
{name: 'ATEC', url: 'https://phuchoi.vn/kien-thuc/cong-cu/danh-gia-chuc-nang-lap-ke-hoach-can-thiep/atec/'}
],
desc: 'Bảng kiểm định kỳ giúp cha mẹ và giáo viên đối chiếu điểm số trước và sau mỗi giai đoạn can thiệp, từ đó đánh giá phương pháp hiện tại có hiệu quả với trẻ hay không.'
}
];
var card = document.createElement('div');
card.className = 'roadmap-card';
var intro = document.createElement('div');
intro.className = 'rm-intro';
var icon = document.createElement('div');
icon.className = 'rm-icon';
icon.textContent = '🗺️';
var introP = document.createElement('p');
introP.className = 'rm-intro-text';
introP.appendChild(document.createTextNode('Sau khi có kết quả chẩn đoán, các công cụ này đóng vai trò như '));
var strongEl = document.createElement('strong');
strongEl.textContent = '"bản đồ chỉ đường"';
introP.appendChild(strongEl);
introP.appendChild(document.createTextNode(', giúp chuyên gia và gia đình nắm rõ điểm mạnh, điểm yếu cụ thể của trẻ để thiết kế mục tiêu dạy học sát sườn và đo lường sự tiến bộ theo thời gian.'));
intro.appendChild(icon);
intro.appendChild(introP);
card.appendChild(intro);
var table = document.createElement('table');
table.className = 'rm-table';
var thead = document.createElement('thead');
var trHead = document.createElement('tr');
var headers = [
{txt: 'Nhóm Chức Năng & Mục Tiêu', w: '27%'},
{txt: 'Bộ Công Cụ Chuẩn Hóa (Nhấn để xem)', w: '31%'},
{txt: 'Vai Trò & Ý Nghĩa Thực Tiễn', w: '42%'}
];
headers.forEach(function(h){
var th = document.createElement('th');
th.style.width = h.w;
th.textContent = h.txt;
trHead.appendChild(th);
});
thead.appendChild(trHead);
table.appendChild(thead);
var tbody = document.createElement('tbody');
rowsData.forEach(function(r){
var tr = document.createElement('tr');
var td1 = document.createElement('td');
var tag = document.createElement('span');
tag.className = 'step-tag ' + r.stepCls;
tag.textContent = r.stepTxt;
var badge = document.createElement('div');
badge.className = 'group-badge';
badge.textContent = r.title;
td1.appendChild(tag);
td1.appendChild(badge);
var td2 = document.createElement('td');
var wrap = document.createElement('div');
wrap.className = 'tools-wrap';
r.tools.forEach(function(t){
var a = document.createElement('a');
a.className = 'tool-link ' + r.btnCls;
a.href = t.url;
a.target = '_blank';
a.rel = 'noopener';
a.textContent = t.name;
wrap.appendChild(a);
});
td2.appendChild(wrap);
var td3 = document.createElement('td');
var desc = document.createElement('p');
desc.className = 'desc-text';
desc.textContent = r.desc;
td3.appendChild(desc);
tr.appendChild(td1);
tr.appendChild(td2);
tr.appendChild(td3);
tbody.appendChild(tr);
});
table.appendChild(tbody);
card.appendChild(table);
shadow.appendChild(card);
}
if(document.readyState === 'loading'){
document.addEventListener('DOMContentLoaded', mountShadowRoadmap);
} else {
mountShadowRoadmap();
}
})();
[Lập kế hoạch IEP] Bảng kiểm ESDM: Đánh giá kỹ năng toàn diện và lên mục tiêu can thiệp sớm cho trẻ tự kỷ (12 – 48 tháng)
(function() { const host = document.getElementById('esdm-wp-host'); if (!host) return; const placeholder = document.createComment('esdm-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // Cấu hình 9 Lĩnh vực chuẩn của Bảng kiểm ESDM (Rogers & Dawson, 2010) const domConfigs = { rc: { code: 'rc', name: '1. Ngôn ngữ Tiếp nhận (Receptive Communication)', color: '#2563eb' }, ec: { code: 'ec', name: '2. Ngôn ngữ Diễn đạt (Expressive Communication)', color: '#0284c7' }, soc: { code: 'soc', name: '3. Kỹ năng Xã hội & Chú ý chung (Social & JA)', color: '#7c3aed' }, imi: { code: 'imi', name: '4. Bắt chước (Imitation)', color: '#9333ea' }, cog: { code: 'cog', name: '5. Nhận thức (Cognition)', color: '#0d9488' }, pla: { code: 'pla', name: '6. Kỹ năng Chơi: Tác chức năng & Tưởng tượng (Play)', color: '#10b981' }, fm: { code: 'fm', name: '7. Vận động Tinh (Fine Motor)', color: '#f59e0b' }, gm: { code: 'gm', name: '8. Vận động Thô (Gross Motor)', color: '#ea580c' }, ind: { code: 'ind', name: '9. Độc lập Cá nhân / Tự phục vụ (Independence)', color: '#dc2626' } }; // Cấu hình 4 Cấp độ phát triển chuẩn ESDM (Levels 1 - 4) // Mỗi cấp độ gồm 18 cụm mục tiêu cốt lõi đại diện cho đủ 9 Lĩnh vực (Mỗi lĩnh vực 2 cụm mục tiêu chuẩn ESDM) const levelData = { lvl1: { code: 'lvl1', tabTitle: '🌱 Cấp độ 1 (12 – 18 tháng)', tabSub: 'Level 1 • Nền tảng giao tiếp & chú ý chung', fullTitle: 'Bảng Kiểm ESDM Cấp Độ 1 (Level 1 • Tương Đương Tuổi Phát Triển 12 – 18 Tháng)', desc: 'Tập trung xây dựng nền tảng gắn kết cảm xúc, giao tiếp mắt, đáp ứng và khởi xướng sự chú ý chung (Joint Attention), cử chỉ chỉ trỏ, bắt chước thao tác với đồ vật và các từ đơn đầu tiên.', items: [ // 1. Ngôn ngữ Tiếp nhận (L1) { id: 101, dom: 'rc', name: 'RC-L1.1: Định hướng âm thanh, quay đầu nhìn mắt ngay khi nghe gọi tên và dừng tay khi nghe "Dừng lại / Không"', desc: 'Trẻ quay đầu nhìn thẳng vào mặt người gọi trong vòng 2 giây và hiểu các từ ngăn cản cơ bản.' }, { id: 102, dom: 'rc', name: 'RC-L1.2: Thực hiện đúng 8–10 mệnh lệnh vận động đơn giản 1 bước và nhận diện 10–15 đồ vật/bộ phận cơ thể quen thuộc', desc: 'Nhìn, chỉ hoặc đưa đúng đồ vật khi nghe yêu cầu ("Đưa bóng cho mẹ", "Chỉ mũi của con") và hiểu cử chỉ xòe tay.' }, // 2. Ngôn ngữ Diễn đạt (L1) { id: 103, dom: 'ec', name: 'EC-L1.1: Sử dụng cử chỉ chỉ ngón trỏ (kèm nhìn mắt) và phát âm có chủ đích để yêu cầu đồ vật mong muốn', desc: 'Trẻ phối hợp ánh mắt + cử chỉ vươn tay/chỉ trỏ + âm thanh để xin mở hộp, xin thêm bong bóng hoặc đồ ăn.' }, { id: 104, dom: 'ec', name: 'EC-L1.2: Bắt chước phát âm và tự phát nói từ 5 – 10 từ đơn gần đúng trong các hoạt động chơi chung', desc: 'Sử dụng các âm tiết và từ đơn có nghĩa ("măm", "bóng", "mở", "nữa", "bà/mẹ") hướng tới người đối diện.' }, // 3. Kỹ năng Xã hội & Chú ý chung (L1) { id: 105, dom: 'soc', name: 'SOC-L1.1: Tham gia các trò chơi cảm giác – xã hội (Ú òa, cù léc, hát vận động) kèm nhìn mắt và mỉm cười chia sẻ', desc: 'Duy trì tương tác vui vẻ trong 2–3 lượt và biết ra hiệu/nhìn mắt để yêu cầu người lớn tiếp tục trò chơi.' }, { id: 106, dom: 'soc', name: 'SOC-L1.2: Đáp ứng và Khởi xướng Chú ý chung (Nhìn theo tay chỉ của người lớn & Giơ đồ chơi khoe/chỉ tay chia sẻ)', desc: 'Trẻ chuyển ánh mắt luân phiên giữa món đồ chơi thú vị và khuôn mặt người lớn để chia sẻ niềm vui.' }, // 4. Bắt chước (L1) { id: 107, dom: 'imi', name: 'IMI-L1.1: Bắt chước 8–10 hành động đơn giản với đồ vật ngay sau khi người lớn làm mẫu trong trò chơi', desc: 'Ví dụ: Lăn xe, gõ trống, thả khối vào hộp, lắc xúc xắc, khuấy thìa trong cốc.' }, { id: 108, dom: 'imi', name: 'IMI-L1.2: Bắt chước 6–10 động tác vận động cơ thể/cử chỉ bài hát và các cử động miệng – mặt, nguyên âm', desc: 'Bắt chước vỗ tay, đập bàn, giơ tay lên cao, vẫy tay tạm biệt và chu môi/phồng má tạo âm thanh.' }, // 5. Nhận thức (L1) { id: 109, dom: 'cog', name: 'COG-L1.1: Ghép đôi tương ứng các đồ vật giống hệt nhau (3D–3D) và đặt đúng 3 hình cơ bản vào bảng khuôn', desc: 'Ghép cốc với cốc, thìa với thìa, bóng với bóng và lắp hình Tròn, Vuông, Tam giác vào khuôn.' }, { id: 110, dom: 'cog', name: 'COG-L1.2: Ghép đồ vật thật với bức tranh 2D tương ứng và phân loại ban đầu 2 nhóm đồ vật', desc: 'Nhận biết sự tương đồng giữa đồ chơi thật trên tay và hình chụp của nó trên thẻ tranh.' }, // 6. Kỹ năng Chơi (L1) { id: 111, dom: 'pla', name: 'PLA-L1.1: Chơi đúng chức năng với đa dạng đồ chơi nhân quả và đồ chơi tháo lắp (xếp tháp, thả khối, lồng cốc)', desc: 'Hoàn thành trọn vẹn nhiệm vụ của món đồ chơi (thả hết các khối vào hộp rồi mở nắp lấy ra) mà không lặp lại cứng nhắc.' }, { id: 112, dom: 'pla', name: 'PLA-L1.2: Thực hiện các hành động chơi chức năng quy ước hướng về bản thân (Đưa cốc lên uống, áp điện thoại lên tai, chải đầu)', desc: 'Sử dụng đúng công dụng xã hội của 5–8 đồ vật sinh hoạt thu nhỏ trên chính cơ thể mình.' }, // 7. Vận động Tinh (L1) { id: 113, dom: 'fm', name: 'FM-L1.1: Cầm kẹp vật nhỏ bằng đầu ngón cái – ngón trỏ (Pincer grasp), xếp chồng 3 khối gỗ và lật trang sách bìa cứng', desc: 'Thả hạt nhỏ/đồng xu vào khe hẹp và phối hợp hai tay để tháo mở các khối Lego Duplo lớn.' }, { id: 114, dom: 'fm', name: 'FM-L1.2: Cầm bút sáp màu bằng lòng bàn tay/ngón tay để vẽ nguệch ngoạc tự phát trên giấy sau khi xem mẫu', desc: 'Tạo được các nét chấm và nét vạch rõ ràng trên mặt giấy.' }, // 8. Vận động Thô (L1) { id: 115, dom: 'gm', name: 'GM-L1.1: Đi độc lập vững vàng, tự cúi nhặt đồ chơi dưới sàn đứng lên không ngã và trèo lên ghế nhỏ', desc: 'Di chuyển linh hoạt trong phòng và mang theo đồ chơi lớn khi đi.' }, { id: 116, dom: 'gm', name: 'GM-L1.2: Lăn bóng qua lại, ném bóng bằng tay về phía trước và bước đá quả bóng lớn mà không mất thăng bằng', desc: 'Bò hoặc bước vịn lên các bậc cầu thang thấp an toàn.' }, // 9. Độc lập Cá nhân (L1) { id: 117, dom: 'ind', name: 'IND-L1.1: Ngồi tại bàn ăn cùng gia đình, tự cầm cốc uống nước bằng hai tay và dùng ngón tay/thìa tự xúc thức ăn', desc: 'Chấp nhận thử nhiều kết cấu thức ăn khác nhau và tự đưa thìa có thức ăn vào miệng.' }, { id: 118, dom: 'ind', name: 'IND-L1.2: Phối hợp đưa tay chân khi mặc đồ, tự cởi mũ/tất/giày lỏng và chịu đưa tay dưới vòi nước khi rửa tay', desc: 'Bắt đầu tham gia vào quy trình tự chăm sóc bản thân hàng ngày.' } ] }, lvl2: { code: 'lvl2', tabTitle: '🌿 Cấp độ 2 (18 – 24 tháng)', tabSub: 'Level 2 • Cụm từ 2 từ & Chơi giả vờ với búp bê', fullTitle: 'Bảng Kiểm ESDM Cấp Độ 2 (Level 2 • Tương Đương Tuổi Phát Triển 18 – 24 Tháng)', desc: 'Mở rộng vốn từ vựng nghe hiểu và diễn đạt lên trên 50 từ, bắt đầu ghép cụm 2 từ, chơi đóng vai giả vờ hướng tới búp bê/người khác, bắt chước chuỗi 2 bước và chơi song song cạnh bạn đồng trang lứa.', items: [ // 1. Ngôn ngữ Tiếp nhận (L2) { id: 201, dom: 'rc', name: 'RC-L2.1: Thực hiện mệnh lệnh theo lời nói mà không cần cử chỉ gợi ý & Chỉ đúng 10–15 bức tranh đồ vật/con vật trong sách', desc: 'Hiểu các động từ hành động trên tranh ("Ai đang ăn/đang ngủ/đang chạy?") và lấy đồ vật từ khoảng cách xa.' }, { id: 202, dom: 'rc', name: 'RC-L2.2: Nhận diện 8–10 bộ phận cơ thể trên bản thân và trên búp bê, bắt đầu hiểu giới từ "Trong / Trên"', desc: 'Làm theo chỉ dẫn đặt đồ vật vào trong hộp hoặc lên trên bàn.' }, // 2. Ngôn ngữ Diễn đạt (L2) { id: 203, dom: 'ec', name: 'EC-L2.1: Sử dụng vốn từ vựng tự phát từ 30 – 50 từ đơn (danh từ, động từ, từ chỉ vị trí) để yêu cầu và gọi tên', desc: 'Chủ động gọi tên đồ vật trong tranh/ngoài đời để khoe với người lớn và biết nói tên của bản thân.' }, { id: 204, dom: 'ec', name: 'EC-L2.2: Kết hợp 2 từ tạo thành cụm từ có nghĩa ("Mở hộp", "Thêm bóng", "Chào mẹ", "Con ăn") và dùng lời từ chối "Không"', desc: 'Biết dùng câu hỏi đơn giản "Cái gì đây?" kèm ngữ điệu lên giọng.' }, // 3. Kỹ năng Xã hội & Chú ý chung (L2) { id: 205, dom: 'soc', name: 'SOC-L2.1: Khởi xướng và duy trì tương tác xã hội qua lại với người lớn bằng sự kết hợp Ánh mắt + Cử chỉ + Lời nói', desc: 'Biết chào hỏi/tạm biệt có nhìn mắt, mang sách/đồ chơi lại rủ người lớn cùng chơi và an ủi khi thấy người khác giả vờ đau.' }, { id: 206, dom: 'soc', name: 'SOC-L2.2: Ngồi chơi song song gần các bạn cùng trang lứa, quan sát bắt chước bạn và trao/nhận đồ chơi khi được gợi ý', desc: 'Tham gia vào các trò chơi vòng tròn đơn giản cùng 2–3 bạn mà không bỏ đi hoặc giật đồ.' }, // 4. Bắt chước (L2) { id: 207, dom: 'imi', name: 'IMI-L2.1: Bắt chước chuỗi hành động gồm 2 bước liên tiếp với đồ vật và bắt chước các hành động chơi giả vờ', desc: 'Ví dụ: Mở nắp hộp lấy khối gỗ ra rồi xếp lên nhau; hoặc khuấy thìa trong cốc rồi đút cho búp bê uống.' }, { id: 208, dom: 'imi', name: 'IMI-L2.2: Bắt chước các cử chỉ bàn tay vô hình (làm tai thỏ, ống nhòm), nét mặt cảm xúc và cụm từ 2 từ', desc: 'Quan sát kỹ và tái tạo lại ngay các động tác vận động tinh và lời nói mẫu.' }, // 5. Nhận thức (L2) { id: 209, dom: 'cog', name: 'COG-L2.1: Phân loại và ghép đôi đồ vật/tranh ảnh theo Màu sắc, Hình khối cơ bản và Kích thước (To – Nhỏ)', desc: 'Ghép các bức tranh không giống hệt 100% nhưng cùng loại (VD: các giống chó khác nhau vào chung một nhóm).' }, { id: 210, dom: 'cog', name: 'COG-L2.2: Ghép nối các đồ vật có liên quan chức năng với nhau (Bút đi với giấy, Thìa đi với bát, Giày đi với tất)', desc: 'Hoàn thành bảng ghép hình gỗ có núm cầm gồm 4 – 6 mảnh rời.' }, // 6. Kỹ năng Chơi (L2) { id: 211, dom: 'pla', name: 'PLA-L2.1: Chơi đóng vai giả vờ hướng tới búp bê/thú bông và người khác (Đút cho gấu ăn, chải tóc cho mẹ, đắp chăn cho búp bê)', desc: 'Kết hợp 2–3 hành động liên hoàn trong một chủ đề chơi giả vờ (Rót nước vào cốc -> Khuấy -> Cho búp bê uống).' }, { id: 212, dom: 'pla', name: 'PLA-L2.2: Bắt đầu dùng vật thay thế tượng trưng trong lúc chơi (Lấy khối gỗ giả làm bánh/điện thoại) và tự chơi độc lập 5–10 phút', desc: 'Biết tự lấy đồ chơi, chơi đúng cách và cất dọn vào hộp khi kết thúc.' }, // 7. Vận động Tinh (L2) { id: 213, dom: 'fm', name: 'FM-L2.1: Xếp chồng tháp 6–8 khối gỗ, xâu 3–4 hạt gỗ lớn vào dây và biết xoay cổ tay vặn mở nắp lọ', desc: 'Lắp ghép các khối hình có khớp nối chặt và lật từng trang sách mỏng.' }, { id: 214, dom: 'fm', name: 'FM-L2.2: Cầm bút bằng các ngón tay bắt chước vẽ đường thẳng đứng, đường ngang và nét tròn xoay vòng; tập nhấp kéo cắt đất nặn/giấy', desc: 'Sử dụng đất nặn với các dụng cụ (lăn đất, ấn khuôn, cắm que).' }, // 8. Vận động Thô (L2) { id: 215, dom: 'gm', name: 'GM-L2.1: Chạy vững vàng không ngã, tự bước lên và xuống cầu thang không cần vịn (bước dồn chân) và nhảy chụm hai chân tại chỗ', desc: 'Nhảy từ bậc thềm thấp xuống sàn bằng hai chân.' }, { id: 216, dom: 'gm', name: 'GM-L2.2: Đứng ném bóng qua đầu về phía trước, đá bóng trúng hướng và ngồi chòi chân trên xe 3 bánh tiến về trước', desc: 'Bắt chước các tư thế vận động toàn thân (đứng kiễng chân, bò chui qua hầm).' }, // 9. Độc lập Cá nhân (L2) { id: 217, dom: 'ind', name: 'IND-L2.1: Tự dùng thìa và nĩa xúc ăn gọn gàng, uống nước bằng ống hút/cốc mở không đổ và tự lấy khăn lau miệng', desc: 'Ngồi yên tại bàn ăn suốt bữa cùng gia đình hoặc các bạn ở lớp.' }, { id: 218, dom: 'ind', name: 'IND-L2.2: Tự cởi quần thun, áo khoác đã mở khóa, giày tất; tự rửa tay xà phòng và bắt đầu ngồi bô/bồn cầu theo giờ', desc: 'Biết bỏ quần áo bẩn vào giỏ và bỏ rác vào thùng khi được nhắc.' } ] }, lvl3: { code: 'lvl3', tabTitle: '🌳 Cấp độ 3 (24 – 36 tháng)', tabSub: 'Level 3 • Câu 3–4 từ, Bạn bè & Đi vệ sinh', fullTitle: 'Bảng Kiểm ESDM Cấp Độ 3 (Level 3 • Tương Đương Tuổi Phát Triển 24 – 36 Tháng / 2 – 3 Tuổi)', desc: 'Phát triển ngôn ngữ câu 3–4 từ, trả lời câu hỏi Wh- (Ai, Cái gì, Ở đâu), chơi hợp tác chia sẻ với bạn đồng trang lứa, nhận diện cảm xúc, chơi kịch bản tưởng tượng và tự lập đi vệ sinh.', items: [ // 1. Ngôn ngữ Tiếp nhận (L3) { id: 301, dom: 'rc', name: 'RC-L3.1: Hiểu các giới từ không gian (Trên, Dưới, Trong, Cạnh, Trước, Sau) và đại từ nhân xưng/sở hữu (Anh ấy, Cô ấy, Của con, Của bạn)', desc: 'Thực hiện chính xác mệnh lệnh gồm 2 bước liên tiếp với các đồ vật khác nhau.' }, { id: 302, dom: 'rc', name: 'RC-L3.2: Chọn đúng đồ vật khi nghe mô tả theo công dụng ("Cái gì dùng để cắt/để ngủ?") và chú ý nghe kể một cuốn truyện tranh ngắn 5 phút', desc: 'Chỉ đúng các chi tiết và nhân vật trong truyện khi được hỏi.' }, // 2. Ngôn ngữ Diễn đạt (L3) { id: 303, dom: 'ec', name: 'EC-L3.1: Nói câu 3 – 4 từ thường xuyên để bình luận, mô tả hành động và trả lời câu hỏi "Cái gì?", "Ai?", "Ở đâu?"', desc: 'Sử dụng đúng đại từ "Con" để xưng hô và nói rõ họ tên, tuổi của mình.' }, { id: 304, dom: 'ec', name: 'EC-L3.2: Chủ động đặt câu hỏi "Cái gì đó?", "Ở đâu rồi?" và duy trì hội thoại ngắn 2–3 lượt về một chủ đề chung', desc: 'Bắt đầu sử dụng các từ chỉ số nhiều, tính từ màu sắc/kích thước và từ chỉ quá khứ ("rồi").' }, // 3. Kỹ năng Xã hội: Người lớn & Bạn bè (L3) { id: 305, dom: 'soc', name: 'SOC-L3.1: Tham gia chơi hợp tác luân phiên (Turn-taking) với bạn đồng trang lứa trong 5–10 phút và biết chia sẻ đồ dùng', desc: 'Biết dùng lời nói để rủ bạn chơi ("Chơi với tớ đi"), xin mượn đồ chơi và đưa đồ cho bạn.' }, { id: 306, dom: 'soc', name: 'SOC-L3.2: Nhận diện và gọi tên các cảm xúc cơ bản (Vui, Buồn, Giận, Sợ) trên tranh và trên khuôn mặt người thật', desc: 'Biết bắt chước hành động của bạn cùng lớp trong các trò chơi tập thể (đuổi bắt, trốn tìm, làm đoàn tàu).' }, // 4. Bắt chước (L3) { id: 307, dom: 'imi', name: 'IMI-L3.1: Bắt chước chuỗi hành động gồm 3 bước liên tiếp và dựng lại mô hình lắp ghép từ 4–5 khối hình theo mẫu của người lớn', desc: 'Quan sát mẫu lắp ghép hoàn chỉnh và tự chọn các khối tương ứng để dựng lại.' }, { id: 308, dom: 'imi', name: 'IMI-L3.2: Bắt chước toàn bộ bài hát vận động nhiều động tác và bắt chước lời nói/hành động của bạn cùng trang lứa trong giờ chơi', desc: 'Thực hiện đồng bộ động tác cùng nhóm bạn mà không cần hỗ trợ thể chất.' }, // 5. Nhận thức (L3) { id: 309, dom: 'cog', name: 'COG-L3.1: Phân loại đồ vật theo nhóm danh mục khái niệm (Con vật, Đồ ăn, Quần áo, Phương tiện) và gọi tên 4 màu sắc cơ bản', desc: 'Hiểu các cặp khái niệm đối lập: To – Nhỏ, Dài – Ngắn, Nóng – Lạnh, Ướt – Khô, Nhiều – Ít.' }, { id: 310, dom: 'cog', name: 'COG-L3.2: Đếm chỉ tay tương ứng 1–1 và lấy đúng số lượng từ 1 đến 3 đồ vật; ghép tranh cắt rời 4–6 mảnh khít nhau', desc: 'Ghép nối chuỗi lô-tô hình ảnh và tìm ra vật có mối liên hệ logic.' }, // 6. Kỹ năng Chơi (L3) { id: 311, dom: 'pla', name: 'PLA-L3.1: Xây dựng công trình sáng tạo từ khối gỗ/Lego (xây nhà, chuồng thú, đường ray) và kết hợp nhân vật vào chơi kịch bản', desc: 'Gán thuộc tính tưởng tượng và lời thoại cho nhân vật búp bê/con vật trong lúc chơi.' }, { id: 312, dom: 'pla', name: 'PLA-L3.2: Thực hiện chuỗi kịch bản chơi đóng vai gồm 3–4 bước có cốt truyện (Nấu thức ăn -> Bày bàn -> Mời búp bê ăn -> Rửa bát)', desc: 'Có thể chơi đóng vai tưởng tượng mà không cần đồ vật thật (giả vờ cầm vòi nước xịt chữa cháy).' }, // 7. Vận động Tinh (L3) { id: 313, dom: 'fm', name: 'FM-L3.1: Cầm bút bằng 3 ngón tay vẽ sao chép hình tròn (○), hình chữ thập (+) và tô màu vào trong hình vẽ đơn giản', desc: 'Bắt đầu vẽ hình mặt người có mắt, miệng hoặc hình bông hoa/ông mặt trời.' }, { id: 314, dom: 'fm', name: 'FM-L3.2: Dùng kéo cắt đứt đôi mảnh giấy theo đường thẳng, xâu chuỗi hạt nhỏ và tự mở/cài cúc áo lớn hoặc khóa kéo', desc: 'Ghép hoàn chỉnh bộ xếp hình Jigsaw Puzzle từ 5 – 8 mảnh.' }, // 8. Vận động Thô (L3) { id: 315, dom: 'gm', name: 'GM-L3.1: Bước lên cầu thang luân phiên từng chân không cần vịn, đứng một chân giữ thăng bằng 3 giây và nhảy xa qua vạch', desc: 'Đạp xe 3 bánh thành thạo và tự điều khiển tay lái rẽ qua góc cua.' }, { id: 316, dom: 'gm', name: 'GM-L3.2: Bắt quả bóng lớn ném tới bằng hai tay và ném bóng nhỏ bằng một tay trúng đích ở khoảng cách 1.5m', desc: 'Đá bóng đang lăn tới và tham gia các trò chơi vận động vượt chướng ngại vật.' }, // 9. Độc lập Cá nhân (L3) { id: 317, dom: 'ind', name: 'IND-L3.1: Kiểm soát việc đi vệ sinh ban ngày (Báo khi có nhu cầu hoặc tự đi vào nhà vệ sinh, tự kéo quần xuống/lên và xả nước)', desc: 'Tự rửa tay, lau khô tay, tự đánh răng cơ bản và tự chải đầu/lau mũi bằng khăn giấy.' }, { id: 318, dom: 'ind', name: 'IND-L3.2: Tự mặc và tự cởi quần đùi/quần dài, áo khoác, đi tất và mang giày (dán Velcro); phụ giúp dọn bàn ăn/cho thú cưng ăn', desc: 'Làm theo các quy trình sinh hoạt cá nhân gồm 3–4 bước mà ít cần nhắc nhở.' } ] }, lvl4: { code: 'lvl4', tabTitle: '🎓 Cấp độ 4 (36 – 48 tháng)', tabSub: 'Level 4 • Hội thoại, Tư duy cảm xúc & Tiền học đường', fullTitle: 'Bảng Kiểm ESDM Cấp Độ 4 (Level 4 • Tương Đương Tuổi Phát Triển 36 – 48 Tháng / 3 – 4 Tuổi)', desc: 'Đỉnh cao của chương trình ESDM nhằm chuẩn bị cho trẻ hòa nhập hoàn toàn vào lớp mẫu giáo lớn: kể lại sự kiện quá khứ, trả lời câu hỏi "Tại sao / Khi nào?", hiểu góc nhìn của bạn bè, chơi nhóm có luật lệ và nắm vững khái niệm chữ cái – con số.', items: [ // 1. Ngôn ngữ Tiếp nhận (L4) { id: 401, dom: 'rc', name: 'RC-L4.1: Hiểu các khái niệm so sánh (Lớn nhất, Nhỏ nhất, Dài hơn, Ngắn hơn), từ chỉ số lượng và khái niệm Giống nhau – Khác nhau', desc: 'Thực hiện chính xác chỉ dẫn phức hợp gồm 3 bước không liên quan nhau và hiểu câu hỏi phủ định ("Cái nào KHÔNG phải là...").' }, { id: 402, dom: 'rc', name: 'RC-L4.2: Nghe hiểu câu chuyện kể dài và trả lời đúng các câu hỏi đọc hiểu về nhân vật, sự kiện và nguyên nhân trong truyện', desc: 'Hiểu các khái niệm thời gian (Hôm qua, Hôm nay, Buổi sáng, Buổi tối) và thứ tự (Đầu tiên, Tiếp theo, Cuối cùng).' }, // 2. Ngôn ngữ Diễn đạt (L4) { id: 403, dom: 'ec', name: 'EC-L4.1: Trả lời hợp lý các câu hỏi "Tại sao?", "Khi nào?", "Làm thế nào?" và giải thích công dụng/đặc điểm của sự vật', desc: 'Nói câu phức dài 5–6 từ sử dụng liên từ ("và", "bởi vì", "nhưng") và đúng các từ chỉ quá khứ/tương lai.' }, { id: 404, dom: 'ec', name: 'EC-L4.2: Kể lại một sự việc đã trải qua trong ngày/quá khứ và duy trì cuộc hội thoại qua lại 4–5 lượt với người lớn và bạn bè', desc: 'Biết hỏi lại người đối diện và điều chỉnh thông tin khi người nghe chưa hiểu.' }, // 3. Kỹ năng Xã hội & Bạn bè (L4) { id: 405, dom: 'soc', name: 'SOC-L4.1: Chủ động mời bạn cùng chơi đóng vai theo kịch bản chung, biết thương lượng phân vai và giải quyết mâu thuẫn bằng lời', desc: 'Chơi hòa đồng với nhóm 2–3 bạn trong 15–20 phút mà không cần người lớn đứng kèm sát.' }, { id: 406, dom: 'soc', name: 'SOC-L4.2: Lý giải được nguyên nhân gây ra cảm xúc của người khác ("Tại sao bạn khóc/vui?") và thể hiện sự đồng cảm phù hợp', desc: 'Nhận thức được suy nghĩ và sở thích của bạn có thể khác với sở thích của mình (Thuyết tâm trí sơ khởi).' }, // 4. Nhận thức & Tiền học đường (L4) { id: 407, dom: 'cog', name: 'COG-L4.1: Đếm tương ứng số lượng đến 10, nhận diện chữ số (1–10) và ghép đúng thẻ chữ số với số lượng đồ vật tương ứng', desc: 'Hiểu khái niệm "Nhiều hơn / Ít hơn / Bằng nhau" và thêm bớt trong phạm vi 5.' }, { id: 408, dom: 'cog', name: 'COG-L4.2: Nhận diện ít nhất 10–15 chữ cái, nhận biết tên mình viết trên thẻ, nối tiếp chuỗi quy luật (A-B-A-B) và sắp xếp 3–4 tranh theo trình tự câu chuyện', desc: 'Trả lời được câu hỏi giải quyết vấn đề thực tế ("Nếu làm đổ nước ra sàn thì con phải làm gì?").' }, // 5. Kỹ năng Chơi (L4) { id: 409, dom: 'pla', name: 'PLA-L4.1: Tổ chức kịch bản chơi đóng vai phức tạp nhiều vai (Đi khám bác sĩ, Đi siêu thị, Cứu hỏa) kết hợp làm đạo cụ thủ công', desc: 'Linh hoạt chấp nhận ý tưởng thay đổi tình huống chơi do bạn cùng chơi đưa ra.' }, { id: 410, dom: 'pla', name: 'PLA-L4.2: Tham gia các trò chơi bàn cờ (Board games: Cờ cá ngựa, Domino, Lô-tô) và trò chơi vận động tập thể có luật Thắng – Thua', desc: 'Biết chờ lượt, tuân thủ luật chơi chung của nhóm và bình tĩnh khi thua cuộc.' }, // 6. Vận động Tinh (L4) { id: 411, dom: 'fm', name: 'FM-L4.1: Vẽ sao chép hình vuông (□), đường chéo (╱), viết một số chữ cái/tên mình và vẽ hình người có ≥ 6 bộ phận cơ thể', desc: 'Vẽ các bức tranh có chủ đề nhận diện được (ngôi nhà, cái cây, ô tô, con vật) và tô màu kín không lem.' }, { id: 412, dom: 'fm', name: 'FM-L4.2: Dùng kéo cắt rời các hình vẽ theo đường thẳng và đường cong (hình tròn, hình vuông) rồi dán keo tạo sản phẩm thủ công', desc: 'Ghép hoàn chỉnh bộ xếp hình Jigsaw từ 10 – 12 mảnh nhỏ.' }, // 7. Vận động Thô (L4) { id: 413, dom: 'gm', name: 'GM-L4.1: Nhảy lò cò trên 1 chân liên tiếp 5 bước, đứng 1 chân > 5 giây, đi nối gót trên vạch thẳng và bước xuống cầu thang luân phiên', desc: 'Chạy nhanh đổi hướng linh hoạt và nhảy qua chướng ngại vật.' }, { id: 414, dom: 'gm', name: 'GM-L4.2: Đập bóng nảy xuống sàn rồi bắt lại, bắt bóng nhỏ bằng hai bàn tay và ném bóng trúng rổ/đích từ xa', desc: 'Tham gia trọn vẹn các trò chơi vận động nhóm trong giờ Thể dục mầm non.' }, // 8. Độc lập Cá nhân (L4) { id: 415, dom: 'ind', name: 'IND-L4.1: Hoàn toàn độc lập trong toàn bộ quy trình đi vệ sinh (tự đi, tự lau chùi sạch, xả nước, mặc quần, rửa tay) và tự mặc quần áo (cài cúc, kéo khóa)', desc: 'Biết tự đi giày đúng chân trái/phải và tự chuẩn bị đồ dùng cá nhân khi đi học.' }, { id: 416, dom: 'ind', name: 'IND-L4.2: Tự rót nước từ bình ra cốc, tự phục vụ bữa ăn nhẹ, dọn bát đĩa sau khi ăn và tuân thủ nội quy an toàn nơi công cộng (nắm tay qua đường)', desc: 'Làm việc độc lập trong nhóm lớp mầm non suốt 15–20 phút.' } ] } }; let currentLvl = 'lvl1'; // 'lvl1' | 'lvl2' | 'lvl3' | 'lvl4' // scoresByLvl[lvl][id] lưu: 2 ('+' Thành thạo), 1 ('+/-' Đang hình thành ★ Mục tiêu IEP 12 tuần), 0 ('-' Chưa đạt) let scoresByLvl = { lvl1: {}, lvl2: {}, lvl3: {}, lvl4: {} }; let filterDom = 'all'; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .es-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .es-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .es-inner { padding: 24px; max-width: 980px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .es-wrap.is-fullscreen .es-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .es-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(5, 150, 105, 0.45), 0 0 0 0 rgba(5, 150, 105, 0.4); } 70% { box-shadow: 0 6px 20px rgba(5, 150, 105, 0.45), 0 0 0 10px rgba(5, 150, 105, 0); } 100% { box-shadow: 0 6px 20px rgba(5, 150, 105, 0.45), 0 0 0 0 rgba(5, 150, 105, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #047857 0%, #059669 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(5, 150, 105, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Bộ chuyển đổi 4 Cấp độ ESDM (Levels 1 - 4) */ .lvl-switcher-box { background: #f1f5f9; padding: 10px; border-radius: 12px; margin-bottom: 18px; } .lvl-switcher-lbl { font-size: 12px; font-weight: 800; color: #334155; text-transform: uppercase; margin-bottom: 8px; display: block; } .lvl-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; } .lvl-btn { padding: 10px 10px; border-radius: 9px; border: 1.5px solid transparent; background: rgba(255, 255, 255, 0.65); cursor: pointer; text-align: left; transition: all 0.18s ease; touch-action: manipulation; } .lvl-btn:hover { background: #ffffff; } .lvl-btn.active { background: #ffffff; border-color: #059669; box-shadow: 0 3px 10px rgba(15, 23, 42, 0.08); } .lvl-btn-title { font-size: 13px; font-weight: 800; color: #0f172a; display: block; } .lvl-btn.active .lvl-btn-title { color: #047857; } .lvl-btn-sub { font-size: 11px; color: #64748b; margin-top: 2px; display: block; } /* Header */ .es-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .es-header-text { flex: 1 1 260px; } .es-title { font-size: 20px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .es-desc { font-size: 13.8px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #ecfdf5; color: #047857; border: 1px solid #a7f3d0; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #059669; color: #ffffff; border-color: #059669; } /* Controls */ .es-controls { display: flex; flex-direction: column; gap: 10px; margin-bottom: 18px; } .es-presets { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; } .es-preset-lbl { font-size: 12.5px; font-weight: 700; color: #475569; margin-right: 4px; } .es-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; touch-action: manipulation; } .es-pbtn:hover { background: #f1f5f9; } .es-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } .es-dom-tabs { display: flex; flex-wrap: wrap; gap: 6px; } .es-dtab { padding: 6px 11px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .es-dtab.active { background: #059669; color: #ffffff; border-color: #059669; } /* Sticky Dashboard */ .es-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .es-wrap.is-fullscreen .es-dash { top: 58px; } .es-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .es-score-big { font-size: 21px; font-weight: 800; line-height: 1.2; } .es-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .es-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .es-pillars { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; font-size: 12px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .es-pillar-box { background: #1e293b; padding: 7px 10px; border-radius: 8px; } .es-pillar-val { font-weight: 800; color: #ffffff; font-size: 13.5px; display: block; margin-top: 2px; } /* Danh sách mục kỹ năng ESDM */ .es-item { border: 1px solid #e2e8f0; border-radius: 10px; padding: 14px 16px; margin-bottom: 10px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 8px; } .es-item.pass-item { border-color: #a7f3d0; background: #f0fdf4; } .es-item.emerge-item { border-color: #fde68a; background: #fffbeb; border-left: 5px solid #f59e0b; } .es-item.fail-item { border-color: #fca5a5; background: #fff5f5; } .es-item-title { font-size: 14.8px; font-weight: 700; color: #0f172a; } .es-item-desc { font-size: 13.4px; color: #475569; } .es-tags { display: flex; flex-wrap: wrap; gap: 6px; } .es-tag { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .es-ans-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 2px; } .es-abtn { padding: 8px 8px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 700; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .es-abtn:hover { border-color: #64748b; } .es-abtn.sel-2 { background: #10b981; border-color: #10b981; color: #ffffff; } .es-abtn.sel-1 { background: #f59e0b; border-color: #f59e0b; color: #ffffff; } .es-abtn.sel-0 { background: #ef4444; border-color: #ef4444; color: #ffffff; } /* Biểu đồ 9 Lĩnh vực & Hộp trích xuất Mục tiêu 12 Tuần */ .es-chart-card { margin-top: 20px; padding: 16px 18px; border-radius: 12px; background: #ffffff; border: 1px solid #e2e8f0; } .es-bar-row { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; font-size: 12.5px; } .es-bar-lbl { width: 260px; flex-shrink: 0; font-weight: 600; color: #334155; } .es-bar-track { flex: 1; height: 16px; background: #f1f5f9; border-radius: 999px; overflow: hidden; } .es-bar-val { width: 115px; text-align: right; font-weight: 700; color: #0f172a; flex-shrink: 0; } .es-iep-box { margin-top: 16px; padding: 16px 18px; border-radius: 12px; background: #fffbeb; border: 1px solid #fde68a; border-left: 5px solid #f59e0b; font-size: 13.8px; color: #78350f; line-height: 1.6; } .es-iep-title { font-size: 15px; font-weight: 800; color: #92400e; margin-bottom: 8px; } .es-result-box { margin-top: 16px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #059669; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 760px) { .es-inner { padding: 14px; } .lvl-grid { grid-template-columns: 1fr 1fr; } .es-title { font-size: 18px; } .es-pillars { grid-template-columns: 1fr 1fr; } .es-ans-grid { grid-template-columns: 1fr; } .es-bar-lbl { width: 145px; font-size: 11.5px; } .es-pbtn.reset { margin-left: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
${lCfg.fullTitle}
${lCfg.desc}
`; } function renderItems() { const lCfg = levelData[currentLvl]; const curScores = scoresByLvl[currentLvl]; itemList.innerHTML = ''; const esdmBtns = [ { val: 2, lbl: '[ + ] Thành thạo / Nhất quán (Pass)' }, { val: 1, lbl: '[ +/- ] Đang hình thành / Cần gợi ý (★ IEP 12 tuần)' }, { val: 0, lbl: '[ - ] Chưa thực hiện được (Fail)' } ]; lCfg.items.forEach(function(it) { if (filterDom !== 'all' && it.dom !== filterDom) return; const uVal = (curScores[it.id] !== undefined) ? curScores[it.id] : 0; const dCfg = domConfigs[it.dom]; let rowCls = 'es-item '; if (uVal === 2) rowCls += 'pass-item'; else if (uVal === 1) rowCls += 'emerge-item'; else rowCls += 'fail-item'; const btnsHtml = esdmBtns.map(b => { const cls = 'es-abtn' + (uVal === b.val ? ` sel-${b.val}` : ''); return ``; }).join(''); const el = document.createElement('div'); el.className = rowCls; el.innerHTML = `Tiêu chí hoàn thành sau 12 tuần: ${it.desc} (Chia thành 4 bước nhỏ Task Analysis dạy lồng ghép trong hoạt động chơi chung hàng ngày). `).join('
'); iepBox.innerHTML = `
• Phân bố 4 Trụ cột: Giao tiếp Nghe hiểu & Diễn đạt (${pctComm}%) • Kỹ năng Xã hội, Chú ý chung & Bắt chước (${pctSocImi}%) • Nhận thức & Kỹ năng Chơi (${pctCogPlay}%) • Vận động & Độc lập cá nhân (${pctMotInd}%).
• Nguyên tắc vàng khi dạy trẻ theo ESDM: Thay vì tách rời từng lĩnh vực tại bàn học, hãy lồng ghép 2 – 3 mục tiêu từ các lĩnh vực khác nhau (ví dụ: vừa Bắt chước hành động chơi + vừa Nhìn mắt chia sẻ + vừa Nói từ đơn yêu cầu) vào cùng một Hoạt động Chơi Chung (Joint Activity Routine) kéo dài 2–5 phút để tối ưu hóa sự kết nối thần kinh của trẻ. `; updateFloatingFabVisibility(); } function applyPresetToLvl(lvlKey, type) { const lCfg = levelData[lvlKey]; const cur = {}; if (type === 'reset') { lCfg.items.forEach(it => { cur[it.id] = 0; }); } else if (type === 'beginning') { // Mới bắt đầu (~30%): Mục đầu mỗi lĩnh vực đạt [+/-], mục sau [-] lCfg.items.forEach((it, idx) => { cur[it.id] = (idx % 2 === 0) ? 1 : 0; }); } else if (type === 'midway') { // Giữa cấp độ (~65%): Giỏi Nhận thức/Vận động ([+]), còn Giao tiếp/Xã hội/Chơi đang ở mức [+/-] để vào IEP 12 tuần lCfg.items.forEach((it, idx) => { if (it.dom === 'cog' || it.dom === 'fm' || it.dom === 'gm') { cur[it.id] = 2; } else { cur[it.id] = (idx % 2 === 0) ? 2 : 1; } }); } else if (type === 'mastered') { // Hoàn thành cấp độ (>= 85%) lCfg.items.forEach((it, idx) => { cur[it.id] = (idx % 5 === 4) ? 1 : 2; }); } scoresByLvl[lvlKey] = cur; } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); esWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { esWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 980px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } shadow.querySelectorAll('#lvlGrid .lvl-btn').forEach(function(btn) { btn.onclick = function() { currentLvl = this.getAttribute('data-lvl'); shadow.querySelectorAll('#lvlGrid .lvl-btn').forEach(b => b.classList.remove('active')); this.classList.add('active'); renderHeader(); renderItems(); updateSummary(); }; }); shadow.querySelectorAll('.es-pbtn').forEach(function(btn) { btn.onclick = function() { applyPresetToLvl(currentLvl, this.getAttribute('data-preset')); renderItems(); updateSummary(); }; }); shadow.querySelectorAll('#domTabs .es-dtab').forEach(function(tab) { tab.onclick = function() { filterDom = this.getAttribute('data-dom'); shadow.querySelectorAll('#domTabs .es-dtab').forEach(t => t.classList.remove('active')); this.classList.add('active'); renderItems(); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); // Khởi tạo sẵn dữ liệu mẫu cho cả 4 cấp độ ['lvl1', 'lvl2', 'lvl3', 'lvl4'].forEach(k => { applyPresetToLvl(k, 'midway'); }); renderHeader(); renderItems(); updateSummary(); })();
Bảng kiểm ESDM (ESDM Curriculum Checklist): Công cụ đánh giá kỹ năng toàn diện để lên mục tiêu can thiệp cho trẻ tự kỷ từ 12 – 48 tháng tuổi theo mô hình Denver.
Bảng kiểm Chương trình Can thiệp Sớm Mô hình Denver (ESDM Curriculum Checklist — Early Start Denver Model) là công cụ đánh giá phát triển và lập kế hoạch can thiệp cá nhân hóa hàng đầu thế giới dành riêng cho trẻ nhỏ có Rối loạn phổ tự kỷ (ASD) từ 12 đến 48 tháng tuổi (có thể mở rộng đến 60 tháng). Công cụ được phát triển bởi hai nhà khoa học lừng danh là Giáo sư Sally J. Rogers và Giáo sư Geraldine Dawson (xuất bản năm 2010 bởi Guilford Press).
Nếu như VB-MAPP hay ABLLS-R đi theo hướng Phân tích Hành vi Ứng dụng (ABA) có cấu trúc chặt chẽ tại bàn học,thì ESDM là sự kết hợp hoàn hảo giữa Khoa học Phát triển Trẻ thơ (Developmental Science) và Nguyên lý Hành vi Tự nhiên (NDBI — Naturalistic Developmental Behavioral Interventions): đánh giá và dạy trẻ ngay trong các hoạt động chơi tương tác cảm xúc chung (Joint Activity Routines) tràn ngập niềm vui, giao tiếp mắt và sự chia sẻ.
1. Tóm tắt cốt lõi về cấu trúc 4 Cấp độ (Levels 1 – 4) & 9 Lĩnh vực của ESDM
Bảng kiểm ESDM gồm khoảng 480 mục kỹ năng được chia thành 4 Cấp độ phát triển (Levels 1, 2, 3, 4) nối tiếp nhau theo mốc tháng tuổi của trẻ phát triển điển hình:
| Cấp độ ESDM (Level) | Độ tuổi phát triển tương đương | Các Lĩnh vực Đánh giá trong từng Cấp độ (9 Domains) |
| Cấp độ 1 (Level 1) | 12 – 18 tháng tuổi (Hoặc 9 – 18 tháng) |
Gồm 8 lĩnh vực nền tảng:
1. Ngôn ngữ Tiếp nhận (Receptive Communication)
2. Ngôn ngữ Diễn đạt (Expressive Communication)
3. Kỹ năng Xã hội (Social Skills)
4. Bắt chước (Imitation)
5. Nhận thức (Cognition)
6. Kỹ năng Chơi (Play)
7. Vận động Tinh (Fine Motor)
8. Vận động Thô (Gross Motor)
9. Hành vi & Độc lập Cá nhân (Personal Independence: Ăn uống, Mặc đồ, Vệ sinh, Việc vặt). |
| Cấp độ 2 (Level 2) | 18 – 24 tháng tuổi | Bổ sung thêm tiểu mục Chú ý Chung (Joint Attention) tách riêng hoặc lồng ghép sâu vào Giao tiếp & Xã hội, đẩy mạnh kết hợp từ và chơi đóng vai giả vờ. |
| Cấp độ 3 (Level 3) | 24 – 36 tháng tuổi (2 – 3 tuổi) | Đánh giá hội thoại qua lại, tương tác xã hội với Người lớn và Bạn đồng trang lứa (Peers), chơi biểu tượng kịch bản và tự lập vệ sinh. |
| Cấp độ 4 (Level 4) | 36 – 48 tháng tuổi (3 – 4 tuổi) | Tập trung vào ngôn ngữ phức hợp (câu hỏi Wh-, kể chuyện, quá khứ/tương lai), lý giải cảm xúc (Thuyết tâm trí sơ khởi), chơi nhóm có luật và kỹ năng tiền học đường. |
2. Quy tắc Mã hóa Chấm điểm (+, +/-, -) & Chu kỳ Lập Mục tiêu IEP 12 Tuần
Điểm đặc sắc nhất của Bảng kiểm ESDM là quy trình đánh giá định kỳ mỗi 12 tuần (3 tháng) một lần để chọn ra các mục tiêu dạy học sát sườn nhất:
-
Mã chấm điểm chuẩn ESDM:
-
+hoặcP(Pass / Thành thạo = 2 điểm): Trẻ thực hiện kỹ năng đó một cách nhất quán, tự phát, khái quát hóa được với nhiều người và nhiều đồ vật khác nhau (>80% cơ hội). -
+/-(Emerging / Đang hình thành hoặc Không nhất quán = 1 điểm): Trẻ mới làm được đôi lúc, chỉ làm được với bố mẹ hoặc với 1 món đồ chơi quen thuộc, hoặc cần một chút gợi ý nhẹ. → Đây chính là nguồn trích xuất Mục tiêu Can thiệp 12 Tuần (12-Week Intervention Objectives) hàng đầu của ESDM! -
-hoặcF(Fail / Chưa đạt = 0 điểm): Trẻ chưa thực hiện được hoặc kháng cự, không thể dạy ngay lúc này.
-
-
Nguyên tắc viết Kế hoạch Can thiệp 12 tuần của ESDM: Từ mỗi lĩnh vực, nhà trị liệu sẽ lấy các mục đầu tiên bị điểm
+/-(hoặc-nằm ngay sau chuỗi+) để viết thành 2 – 3 mục tiêu ngắn hạn có thể hoàn thành trong vòng 12 tuần (Tổng cộng khoảng 16 – 24 mục tiêu / 12 tuần chia đều trên tất cả các lĩnh vực).
[Lập kế hoạch IEP] PEP-3: Đánh giá phát triển tâm lý giáo dục và lập kế hoạch can thiệp cá nhân (6 tháng – 7 tuổi)
(function() { const host = document.getElementById('pep3-wp-host'); if (!host) return; const placeholder = document.createComment('pep3-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // Cấu hình 10 Tiểu thang đo PEP-3 (6 tiểu thang Phát triển Kỹ năng + 4 tiểu thang Hành vi Kém thích ứng) const subConfigs = { // 6 TIỂU THANG PHÁT TRIỂN (DEVELOPMENTAL SUBTESTS - Điểm càng cao = Tuổi phát triển càng cao) cvp: { code: 'cvp', group: 'comm', isDev: true, name: '1. Nhận thức Có lời / Tiền ngôn ngữ (CVP)', maxAge: 72, color: '#2563eb' }, el: { code: 'el', group: 'comm', isDev: true, name: '2. Ngôn ngữ Diễn đạt (EL)', maxAge: 72, color: '#3b82f6' }, rl: { code: 'rl', group: 'comm', isDev: true, name: '3. Ngôn ngữ Tiếp nhận (RL)', maxAge: 72, color: '#0284c7' }, fm: { code: 'fm', group: 'mot', isDev: true, name: '4. Vận động Tinh (FM)', maxAge: 72, color: '#0d9488' }, gm: { code: 'gm', group: 'mot', isDev: true, name: '5. Vận động Thô (GM)', maxAge: 72, color: '#10b981' }, vmi: { code: 'vmi', group: 'mot', isDev: true, name: '6. Bắt chước Vận động – Thị giác (VMI)', maxAge: 72, color: '#059669' }, // 4 TIỂU THANG HÀNH VI KÉM THÍCH ỨNG (MALADAPTIVE SUBTESTS - Điểm 2 = Phù hợp/Không bất thường, 1 = Bất thường nhẹ, 0 = Bất thường nặng) ae: { code: 'ae', group: 'mal', isDev: false, name: '7. Biểu đạt Cảm xúc (AE)', maxAge: 0, color: '#f59e0b' }, sr: { code: 'sr', group: 'mal', isDev: false, name: '8. Tương hỗ Xã hội (SR)', maxAge: 0, color: '#d97706' }, cmb: { code: 'cmb', group: 'mal', isDev: false, name: '9. Hành vi Vận động Đặc trưng (CMB)', maxAge: 0, color: '#ef4444' }, cvb: { code: 'cvb', group: 'mal', isDev: false, name: '10. Hành vi Lời nói Đặc trưng (CVB)', maxAge: 0, color: '#dc2626' } }; // 50 Nhiệm vụ & Chỉ báo đại diện cho 10 Tiểu thang đo PEP-3 (Mỗi tiểu thang 5 mục chuẩn theo bậc thang phát triển) const items = [ // 1. CVP - Nhận thức Có lời / Tiền ngôn ngữ { id: 1, sub: 'cvp', ageEquiv: '14–18m', name: 'CVP-1. Tìm đồ vật bị giấu dưới chiếc cốc (Hằng định đối tượng)', desc: 'Quan sát người khám giấu món đồ chơi dưới 1 trong 2 chiếc cốc và lật đúng cốc có đồ chơi.' }, { id: 2, sub: 'cvp', ageEquiv: '20–24m', name: 'CVP-2. Đặt đúng 3 hình khối cơ bản (Tròn, Vuông, Tam giác) vào bảng khuôn', desc: 'Tự xoay và lắp khớp 3 hình cơ bản vào đúng ô tương ứng trên bảng gỗ.' }, { id: 3, sub: 'cvp', ageEquiv: '28–36m', name: 'CVP-3. Phân loại đồ vật theo màu sắc hoặc hình dạng mà không cần làm mẫu lời nói', desc: 'Nhóm các thẻ màu hoặc khối hình cùng loại vào đúng khay phân loại.' }, { id: 4, sub: 'cvp', ageEquiv: '42–54m', name: 'CVP-4. Ghép tranh cắt rời 4 – 6 mảnh tạo thành hình hoàn chỉnh', desc: 'Quan sát tổng thể và ghép đúng các mảnh rời thành bức tranh con vật/đồ vật.' }, { id: 5, sub: 'cvp', ageEquiv: '60–72m', name: 'CVP-5. Hoàn thành chuỗi quy luật logic & Đếm tương ứng số lượng đến 10', desc: 'Đếm chính xác số lượng đồ vật và nhận biết chữ số / quy luật nối tiếp.' }, // 2. EL - Ngôn ngữ Diễn đạt { id: 6, sub: 'el', ageEquiv: '14–18m', name: 'EL-1. Chủ động dùng cử chỉ hoặc âm thanh/từ đơn để yêu cầu "Thêm nữa" hoặc "Mở giúp"', desc: 'Khi dừng thổi bong bóng hoặc đóng chặt hộp bánh, trẻ chủ động phát âm/ra hiệu xin tiếp.' }, { id: 7, sub: 'el', ageEquiv: '22–28m', name: 'EL-2. Gọi đúng tên ít nhất 5 đồ vật hoặc con vật quen thuộc trong bộ test', desc: 'Nói rõ từ đơn chỉ tên cốc, bóng, xe hơi, con chó, con mèo... khi được hỏi "Cái gì đây?".' }, { id: 8, sub: 'el', ageEquiv: '30–40m', name: 'EL-3. Sử dụng cụm từ 2 – 3 từ để mô tả hành động hoặc bày tỏ nhu cầu', desc: 'Nói được cụm từ như "Con uống nước", "Mở hộp ra", "Em bé ngủ".' }, { id: 9, sub: 'el', ageEquiv: '45–56m', name: 'EL-4. Trả lời đúng các câu hỏi "Ai?", "Làm gì?", "Ở đâu?" khi xem sách tranh', desc: 'Dùng câu hoàn chỉnh để mô tả sự việc đang diễn ra trong tranh.' }, { id: 10, sub: 'el', ageEquiv: '60–72m', name: 'EL-5. Kể lại một sự việc hoặc duy trì hội thoại ngắn đúng chủ đề với người khám', desc: 'Sử dụng đại từ nhân xưng đúng và nối tiếp câu chuyện qua lại từ 2–3 lượt.' }, // 3. RL - Ngôn ngữ Tiếp nhận { id: 11, sub: 'rl', ageEquiv: '12–16m', name: 'RL-1. Quay đầu nhìn ngay khi người khám gọi tên trẻ và dừng tay khi nghe "Dừng lại / Không"', desc: 'Định hướng tốt với tên gọi và hiểu lệnh ngăn cản cơ bản.' }, { id: 12, sub: 'rl', ageEquiv: '18–24m', name: 'RL-2. Chỉ đúng ít nhất 4 bộ phận cơ thể (Mắt, Mũi, Miệng, Tai, Đầu) trên búp bê hoặc bản thân', desc: 'Thực hiện đúng khi nghe câu hỏi "Mũi của em bé đâu?".' }, { id: 13, sub: 'rl', ageEquiv: '26–34m', name: 'RL-3. Thực hiện đúng mệnh lệnh đơn 1 bước không kèm cử chỉ chỉ tay', desc: 'Ví dụ: "Đưa cho cô quả bóng", "Đặt cái cốc lên bàn".' }, { id: 14, sub: 'rl', ageEquiv: '38–48m', name: 'RL-4. Hiểu các động từ hành động và giới từ vị trí (Trong, Trên, Dưới)', desc: 'Chỉ đúng tranh "Ai đang chạy/ăn?" và đặt đồ vật "vào trong hộp / xuống dưới bàn".' }, { id: 15, sub: 'rl', ageEquiv: '54–72m', name: 'RL-5. Thực hiện chính xác chỉ dẫn phức hợp gồm 2 – 3 bước liên tiếp', desc: 'Ví dụ: "Con lấy cây bút màu đỏ rồi đặt vào trong chiếc hộp xanh nhé".' }, // 4. FM - Vận động Tinh { id: 16, sub: 'fm', ageEquiv: '14–18m', name: 'FM-1. Nhặt hạt nhỏ/viên bánh bằng ngón cái và ngón trỏ (Pincer grasp) bỏ vào lọ', desc: 'Phối hợp tay – mắt và kẹp nhặt bằng đầu ngón cái - ngón trỏ gọn gàng.' }, { id: 17, sub: 'fm', ageEquiv: '22–28m', name: 'FM-2. Xếp chồng tháp từ 6 – 8 khối gỗ vuông mà không bị đổ', desc: 'Kiểm soát lực bàn tay để đặt thẳng hàng các khối gỗ nhỏ.' }, { id: 18, sub: 'fm', ageEquiv: '30–40m', name: 'FM-3. Xâu được ít nhất 4 hạt gỗ lớn qua dây và biết vặn mở nắp lọ', desc: 'Phối hợp hai tay đồng bộ: một tay giữ dây, một tay luồn hạt.' }, { id: 19, sub: 'fm', ageEquiv: '42–54m', name: 'FM-4. Cầm bút bằng 3 ngón tay vẽ bắt chước đường thẳng đứng, ngang và hình tròn', desc: 'Sao chép lại đúng hình cơ bản trên giấy.' }, { id: 20, sub: 'fm', ageEquiv: '56–72m', name: 'FM-5. Dùng kéo cắt giấy theo đường kẻ thẳng và tô màu gọn trong hình vẽ', desc: 'Sử dụng kéo nhịp nhàng cắt đôi tờ giấy theo vạch kẻ.' }, // 5. GM - Vận động Thô { id: 21, sub: 'gm', ageEquiv: '14–18m', name: 'GM-1. Đi độc lập vững vàng và cúi nhặt đồ chơi dưới sàn không bị ngã', desc: 'Giữ thăng bằng tốt khi di chuyển và thay đổi tư thế.' }, { id: 22, sub: 'gm', ageEquiv: '22–28m', name: 'GM-2. Đá quả bóng lớn về phía trước mà không cần vịn tay và biết nhảy chụm hai chân', desc: 'Co chân đá trúng bóng mà không mất thăng bằng.' }, { id: 23, sub: 'gm', ageEquiv: '30–40m', name: 'GM-3. Bước lên cầu thang luân phiên hai chân và bắt được bóng lớn bằng hai tay', desc: 'Phối hợp vận động toàn thân khi leo bậc thang và đón hướng bóng.' }, { id: 24, sub: 'gm', ageEquiv: '42–54m', name: 'GM-4. Đứng một chân giữ thăng bằng trong 3 – 5 giây và ném bóng trúng đích', desc: 'Kiểm soát thăng bằng tĩnh trên một chân.' }, { id: 25, sub: 'gm', ageEquiv: '56–72m', name: 'GM-5. Nhảy lò cò một chân liên tiếp 4 – 5 bước và đập bắt bóng nảy xuống sàn', desc: 'Kỹ năng vận động thô phối hợp nâng cao.' }, // 6. VMI - Bắt chước Vận động – Thị giác { id: 26, sub: 'vmi', ageEquiv: '14–20m', name: 'VMI-1. Bắt chước thao tác đơn giản với đồ vật (Lắc chuông, dùng thìa khuấy cốc)', desc: 'Quan sát người khám làm mẫu và thực hiện lại ngay với đồ vật.' }, { id: 27, sub: 'vmi', ageEquiv: '22–30m', name: 'VMI-2. Bắt chước các cử chỉ cơ thể thô (Vỗ tay, giơ hai tay lên cao, vỗ nhẹ lên đầu)', desc: 'Bắt chước động tác cơ thể không có đồ vật.' }, { id: 28, sub: 'vmi', ageEquiv: '32–42m', name: 'VMI-3. Bắt chước thao tác với đất nặn (Lăn dài thanh đất, ấn dẹp và cắm que vào đất)', desc: 'Thực hiện chuỗi 2 thao tác liên tiếp theo mẫu.' }, { id: 29, sub: 'vmi', ageEquiv: '44–56m', name: 'VMI-4. Bắt chước cử động ngón tay tinh tế (Chạm ngón cái vào từng ngón tay, làm ống nhòm)', desc: 'Quan sát kỹ và điều khiển đúng các ngón tay theo người khám.' }, { id: 30, sub: 'vmi', ageEquiv: '58–72m', name: 'VMI-5. Sao chép lại đúng mô hình lắp ghép từ 4 – 5 khối gỗ nhiều màu', desc: 'Nhìn mẫu lắp ghép của người khám và dựng lại y hệt về vị trí và màu sắc.' }, // 7. AE - Biểu đạt Cảm xúc (Hành vi Kém thích ứng: 2 = Phù hợp, 1 = Bất thường nhẹ, 0 = Bất thường rõ/nặng) { id: 31, sub: 'ae', ageEquiv: 'Hành vi', name: 'AE-1. Sử dụng biểu cảm nét mặt đa dạng và phù hợp với từng tình huống tương tác', desc: 'Mức 2: Phù hợp tự nhiên | Mức 1: Nét mặt hơi ít biểu cảm | Mức 0: Đơ cứng hoặc cười/khóc vô cớ.' }, { id: 32, sub: 'ae', ageEquiv: 'Hành vi', name: 'AE-2. Thể hiện nụ cười xã hội và chia sẻ niềm vui khi chơi đùa cùng người khám', desc: 'Mức 2: Vui vẻ chia sẻ | Mức 1: Chỉ cười khi được cù/kích thích mạnh | Mức 0: Không chia sẻ cảm xúc.' }, { id: 33, sub: 'ae', ageEquiv: 'Hành vi', name: 'AE-3. Điều tiết cảm xúc bình tĩnh khi gặp bài tập khó hoặc khi cất đồ chơi', desc: 'Mức 2: Bình tĩnh chấp nhận | Mức 1: Rên rỉ/khó chịu nhẹ nhưng dỗ được | Mức 0: Ăn vạ dữ dội, la hét.' }, { id: 34, sub: 'ae', ageEquiv: 'Hành vi', name: 'AE-4. Mức độ thoải mái, không sợ hãi hoặc lo âu quá mức trong phòng đánh giá', desc: 'Mức 2: Tự tin khám phá | Mức 1: Hơi căng thẳng lúc đầu | Mức 0: Hoảng sợ khóc thét kéo dài.' }, { id: 35, sub: 'ae', ageEquiv: 'Hành vi', name: 'AE-5. Duy trì sự chú ý và cảm xúc ổn định xuyên suốt buổi kiểm tra', desc: 'Mức 2: Ổn định tốt | Mức 1: Tâm trạng thất thường nhẹ | Mức 0: Biến đổi cảm xúc đột ngột không rõ lý do.' }, // 8. SR - Tương hỗ Xã hội { id: 36, sub: 'sr', ageEquiv: 'Hành vi', name: 'SR-1. Giao tiếp bằng ánh mắt tự nhiên, linh hoạt với người khám', desc: 'Mức 2: Nhìn mắt tốt | Mức 1: Nhìn mắt thoáng qua, cần nhắc | Mức 0: Hoàn toàn né tránh giao tiếp mắt.' }, { id: 37, sub: 'sr', ageEquiv: 'Hành vi', name: 'SR-2. Chủ động khởi xướng tương tác xã hội và tìm kiếm sự giúp đỡ đúng cách', desc: 'Mức 2: Nhìn mặt + chỉ tay/nói để nhờ giúp | Mức 1: Kéo tay người khám nhưng có nhìn lên | Mức 0: Cầm tay người khám như công cụ vô tri.' }, { id: 38, sub: 'sr', ageEquiv: 'Hành vi', name: 'SR-3. Chia sẻ sự chú ý chung (Joint Attention) khi thấy đồ vật thú vị, bất ngờ', desc: 'Mức 2: Tự nhiên khoe đồ/nhìn người khám | Mức 1: Chỉ nhìn theo khi người khám chỉ tay | Mức 0: Không có chú ý chung.' }, { id: 39, sub: 'sr', ageEquiv: 'Hành vi', name: 'SR-4. Tham gia chơi luân phiên qua lại (Turn-taking) cùng người khám', desc: 'Mức 2: Chờ lượt và lăn bóng/chơi qua lại tốt | Mức 1: Tham gia được 1–2 lượt khi nhắc | Mức 0: Chỉ giữ khư khư chơi một mình.' }, { id: 40, sub: 'sr', ageEquiv: 'Hành vi', name: 'SR-5. Nhận thức được sự hiện diện và phản hồi tích cực trước lời khen của người khám', desc: 'Mức 2: Vui khi được khen, hợp tác tốt | Mức 1: Ít quan tâm lời khen | Mức 0: Thờ ơ như không có người bên cạnh.' }, // 9. CMB - Hành vi Vận động Đặc trưng { id: 41, sub: 'cmb', ageEquiv: 'Hành vi', name: 'CMB-1. Không có các cử động tay/ngón tay hoặc cơ thể định hình (vẫy tay, búng tay, đung đưa)', desc: 'Mức 2: Không có stimming | Mức 1: Xuất hiện thoáng qua khi phấn khích | Mức 0: Vẫy tay/đung đưa/nhón gót liên tục.' }, { id: 42, sub: 'cmb', ageEquiv: 'Hành vi', name: 'CMB-2. Khám phá đồ vật đúng chức năng (Không ngửi, liếm hoặc cắn đồ chơi)', desc: 'Mức 2: Chơi đúng cách | Mức 1: Đôi khi đưa đồ lên miệng/ngửi nhưng nhắc thì dừng | Mức 0: Liên tục liếm, ngửi, gõ đồ vật.' }, { id: 43, sub: 'cmb', ageEquiv: 'Hành vi', name: 'CMB-3. Quan sát thị giác bình thường (Không nhìn nghiêng sát mắt hoặc mê mẩn vật quay)', desc: 'Mức 2: Nhìn thẳng tự nhiên | Mức 1: Thỉnh thoảng liếc nghiêng ngắm đồ vật | Mức 0: Cuốn hút mãnh liệt vào việc xoay/nhìn nghiêng.' }, { id: 44, sub: 'cmb', ageEquiv: 'Hành vi', name: 'CMB-4. Phản ứng bình thường với âm thanh và xúc giác trong phòng test', desc: 'Mức 2: Bình thường | Mức 1: Hơi nhạy với vài âm thanh/chất liệu | Mức 0: Bịt tai la hét hoặc tìm kiếm kích thích giác quan mạnh.' }, { id: 45, sub: 'cmb', ageEquiv: 'Hành vi', name: 'CMB-5. Linh hoạt chuyển từ bài tập này sang bài tập khác mà không đòi giữ khư khư đồ vật', desc: 'Mức 2: Chuyển bài mượt mà | Mức 1: Cần báo trước hoặc đếm ngược | Mức 0: Cứng nhắc xếp hàng, chống đối chuyển hoạt động.' }, // 10. CVB - Hành vi Lời nói Đặc trưng { id: 46, sub: 'cvb', ageEquiv: 'Hành vi', name: 'CVB-1. Không nhại lời máy móc (Immediate/Delayed Echolalia)', desc: 'Mức 2: Nói có chủ đích (hoặc chưa nói nhưng không phát âm rập khuôn) | Mức 1: Thỉnh thoảng nhại lại câu hỏi | Mức 0: Nhại lời liên tục.' }, { id: 47, sub: 'cvb', ageEquiv: 'Hành vi', name: 'CVB-2. Không tự phát ra các âm thanh vô nghĩa, tiếng rên, tiếng rít lặp đi lặp lại', desc: 'Mức 2: Không có âm thanh tự kích thích | Mức 1: Thỉnh thoảng lẩm bẩm khi chơi một mình | Mức 0: Phát âm thanh lạ/lặp lại suốt buổi.' }, { id: 48, sub: 'cvb', ageEquiv: 'Hành vi', name: 'CVB-3. Giọng điệu, tốc độ và âm lượng phát âm tự nhiên', desc: 'Mức 2: Ngữ điệu tự nhiên | Mức 1: Giọng hơi đều đều hoặc hơi to/nhỏ | Mức 0: Giọng robot phẳng lì hoặc lơ lớ bất thường rõ.' }, { id: 49, sub: 'cvb', ageEquiv: 'Hành vi', name: 'CVB-4. Lời nói/âm thanh hướng tới mục đích giao tiếp với người đối diện', desc: 'Mức 2: Giao tiếp có định hướng | Mức 1: Đôi khi tự nói một mình | Mức 0: Chỉ độc thoại vô nghĩa, không hướng tới ai.' }, { id: 50, sub: 'cvb', ageEquiv: 'Hành vi', name: 'CVB-5. Sử dụng từ vựng và đại từ xưng hô phù hợp ngữ cảnh', desc: 'Mức 2: Dùng từ phù hợp | Mức 1: Đôi khi nhầm đại từ "Con - Mẹ" | Mức 0: Đảo ngược đại từ hoàn toàn hoặc dùng từ tự bịa.' } ]; // answers[id] lưu: 2 (Đạt / Pass), 1 (Chớm đạt / Emerge), 0 (Không đạt / Fail) let answers = {}; let chronoAgeMonths = 42; // Tuổi thực mặc định: 42 tháng (3.5 tuổi) let filterSub = 'all'; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .p3-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .p3-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .p3-inner { padding: 24px; max-width: 940px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .p3-wrap.is-fullscreen .p3-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .p3-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(5, 150, 105, 0.45), 0 0 0 0 rgba(5, 150, 105, 0.4); } 70% { box-shadow: 0 6px 20px rgba(5, 150, 105, 0.45), 0 0 0 10px rgba(5, 150, 105, 0); } 100% { box-shadow: 0 6px 20px rgba(5, 150, 105, 0.45), 0 0 0 0 rgba(5, 150, 105, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #047857 0%, #059669 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(5, 150, 105, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Header */ .p3-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .p3-header-text { flex: 1 1 260px; } .p3-title { font-size: 21px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .p3-desc { font-size: 14px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #ecfdf5; color: #047857; border: 1px solid #a7f3d0; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #059669; color: #ffffff; border-color: #059669; } /* Top Controls */ .p3-top-controls { display: grid; grid-template-columns: 1fr 1.35fr; gap: 12px; margin-bottom: 14px; } .p3-box-ctrl { background: #f8fafc; border: 1px solid #e2e8f0; padding: 10px 12px; border-radius: 10px; } .p3-ctrl-label { font-size: 12px; font-weight: 700; color: #475569; text-transform: uppercase; margin-bottom: 6px; display: block; } .p3-btn-group { display: flex; flex-wrap: wrap; gap: 6px; } .p3-btn-sm { padding: 6px 10px; border-radius: 7px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; flex: 1; text-align: center; touch-action: manipulation; } .p3-btn-sm:hover { background: #f1f5f9; } .p3-btn-sm.active { background: #059669; color: #ffffff; border-color: #059669; } .p3-btn-sm.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; flex: 0 0 auto; } .p3-domain-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 16px; } .p3-dtab { padding: 6px 11px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .p3-dtab.active { background: #059669; color: #ffffff; border-color: #059669; } /* Sticky Dashboard */ .p3-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .p3-wrap.is-fullscreen .p3-dash { top: 58px; } .p3-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .p3-score-big { font-size: 22px; font-weight: 800; line-height: 1.15; } .p3-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .p3-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .p3-pillars { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; font-size: 12px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .p3-pillar-box { background: #1e293b; padding: 7px 10px; border-radius: 8px; } .p3-pillar-val { font-weight: 700; color: #ffffff; font-size: 13.5px; display: block; margin-top: 2px; } /* Danh sách nhiệm vụ PEP-3 */ .p3-q-item { border: 1px solid #e2e8f0; border-radius: 10px; padding: 14px 16px; margin-bottom: 12px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 8px; } .p3-q-item.emerge-item { border-color: #fde68a; background: #fffbeb; } .p3-q-item.fail-item { border-color: #fca5a5; background: #fff5f5; } .p3-q-item.pass-item { border-color: #a7f3d0; background: #f0fdf4; } .p3-q-title { font-size: 14.8px; font-weight: 700; color: #0f172a; } .p3-q-desc { font-size: 13.5px; color: #475569; } .p3-q-tags { display: flex; flex-wrap: wrap; gap: 6px; } .p3-tag { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .p3-ans-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 2px; } .p3-abtn { padding: 8px 8px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 700; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .p3-abtn:hover { border-color: #64748b; } .p3-abtn.sel-2 { background: #10b981; border-color: #10b981; color: #ffffff; } .p3-abtn.sel-1 { background: #f59e0b; border-color: #f59e0b; color: #ffffff; } .p3-abtn.sel-0 { background: #ef4444; border-color: #ef4444; color: #ffffff; } /* Biểu đồ 10 tiểu thang & Hộp trích xuất IEP */ .p3-chart-card { margin-top: 20px; padding: 16px 18px; border-radius: 12px; background: #ffffff; border: 1px solid #e2e8f0; } .p3-chart-title { font-size: 14.5px; font-weight: 700; color: #0f172a; margin-bottom: 12px; } .p3-bar-row { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; font-size: 12.5px; } .p3-bar-lbl { width: 245px; flex-shrink: 0; font-weight: 600; color: #334155; } .p3-bar-track { flex: 1; height: 16px; background: #f1f5f9; border-radius: 999px; overflow: hidden; } .p3-bar-val { width: 125px; text-align: right; font-weight: 700; color: #0f172a; flex-shrink: 0; } .p3-iep-box { margin-top: 16px; padding: 16px 18px; border-radius: 12px; background: #fffbeb; border: 1px solid #fde68a; border-left: 5px solid #f59e0b; font-size: 13.8px; color: #78350f; } .p3-iep-title { font-size: 15px; font-weight: 800; color: #92400e; margin-bottom: 8px; } .p3-iep-row { display: flex; align-items: flex-start; gap: 8px; margin-bottom: 5px; line-height: 1.45; } .p3-result-box { margin-top: 16px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #059669; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 720px) { .p3-inner { padding: 14px; } .p3-title { font-size: 18px; } .p3-top-controls { grid-template-columns: 1fr; } .p3-pillars { grid-template-columns: 1fr 1fr; } .p3-ans-grid { grid-template-columns: 1fr; } .p3-bar-lbl { width: 140px; font-size: 11.5px; } .p3-bar-val { width: 105px; font-size: 11.5px; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
Thang Đánh Giá Tâm Lý – Giáo Dục PEP-3 & Trích Xuất Kế Hoạch Can Thiệp IEP (6 Tháng – 7 Tuổi)
Công cụ chuẩn hóa của chương trình TEACCH (Schopler et al., 2005) đánh giá 10 tiểu thang đo (6 tiểu thang Kỹ năng phát triển + 4 tiểu thang Hành vi). Điểm cốt lõi của PEP-3 là phát hiện các kỹ năng Chớm đạt / Đang hình thành (Emerge = 1 điểm) để tự động trích xuất thành Mục tiêu Can thiệp Cá nhân hóa (IEP).
• Chỉ số Tổng hợp Giao tiếp (Communication Composite): Ước tính đạt ~${commAge} tháng (Nhận thức CVP: ~${devAge.cvp}m • Diễn đạt EL: ~${devAge.el}m • Tiếp nhận RL: ~${devAge.rl}m).
• Chỉ số Tổng hợp Vận động (Motor Composite): Ước tính đạt ~${motAge} tháng (Vận động Tinh FM: ~${devAge.fm}m • Vận động Thô GM: ~${devAge.gm}m • Bắt chước VMI: ~${devAge.vmi}m).
• Độ lệch nội tại (Scatter Profile): Chênh lệch giữa Vận động và Giao tiếp là ${profileGap} tháng ${profileGap >= 12 ? '(Hồ sơ phát triển không đồng đều đặc trưng của phổ tự kỷ — Nên dùng thế mạnh Thị giác & Vận động tinh để hỗ trợ dạy Ngôn ngữ theo phương pháp TEACCH)' : '(Hai lĩnh vực phát triển khá tương đồng)'}.
• Tổng hợp Hành vi Kém thích ứng: ${malLabel} (Cảm xúc AE: ${raw.ae}/10 • Tương hỗ xã hội SR: ${raw.sr}/10 • Hành vi vận động CMB: ${raw.cmb}/10 • Hành vi lời nói CVB: ${raw.cvb}/10). `; updateFloatingFabVisibility(); } function applyPreset(type) { answers = {}; if (type === 'reset') { renderItems(); updateSummary(); return; } if (type === 'mild') { // Trẻ 42 tháng chậm nói / tự kỷ nhẹ: Đạt các mục đầu, Chớm đạt các mục giữa items.forEach(function(it, idx) { const posInSub = (it.id - 1) % 5; // 0, 1, 2, 3, 4 if (subConfigs[it.sub].isDev) { if (posInSub <= 1) answers[it.id] = 2; else if (posInSub vào IEP else answers[it.id] = 0; } else { answers[it.id] = (posInSub <= 2) ? 2 : 1; } }); } else if (type === 'uneven') { // Hồ sơ lệch điển hình ASD: Giỏi Vận động tinh/thô & Nhận thức không lời, nhưng chậm Ngôn ngữ diễn đạt/tiếp nhận items.forEach(function(it) { const pos = (it.id - 1) % 5; if (it.sub === 'fm' || it.sub === 'gm' || it.sub === 'cvp') { answers[it.id] = (pos <= 3) ? 2 : 1; } else if (it.sub === 'el' || it.sub === 'rl' || it.sub === 'vmi') { if (pos === 0) answers[it.id] = 2; else if (pos <= 2) answers[it.id] = 1; else answers[it.id] = 0; } else { answers[it.id] = (pos <= 1) ? 2 : (pos <= 3 ? 1 : 0); } }); } else if (type === 'severe') { // Mức độ trung bình - nặng items.forEach(function(it) { const pos = (it.id - 1) % 5; if (subConfigs[it.sub].isDev) { if (pos === 0) answers[it.id] = 2; else if (pos === 1) answers[it.id] = 1; else answers[it.id] = 0; } else { answers[it.id] = (pos === 0) ? 1 : 0; } }); } renderItems(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); p3Wrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { p3Wrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 940px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } shadow.querySelectorAll('#ageGroup .p3-btn-sm').forEach(function(btn) { btn.onclick = function() { chronoAgeMonths = parseInt(this.getAttribute('data-age'), 10); shadow.querySelectorAll('#ageGroup .p3-btn-sm').forEach(b => b.classList.remove('active')); this.classList.add('active'); updateSummary(); }; }); shadow.querySelectorAll('#presetGroup .p3-btn-sm').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-pre')); }; }); shadow.querySelectorAll('#domainTabs .p3-dtab').forEach(function(tab) { tab.onclick = function() { filterSub = this.getAttribute('data-sub'); shadow.querySelectorAll('#domainTabs .p3-dtab').forEach(t => t.classList.remove('active')); this.classList.add('active'); renderItems(); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); applyPreset('uneven'); })();
PEP-3 (Psychoeducational Profile, Third Edition — Trắc nghiệm Tâm lý – Giáo dục, Phiên bản 3) là công cụ đánh giá phát triển và lập kế hoạch giáo dục cá nhân hóa (IEP) hàng đầu thế giới dành cho trẻ có Rối loạn phổ tự kỷ (ASD) và các rối loạn phát triển lan tỏa. Công cụ này được phát triển bởi Giáo sư Eric Schopler và các cộng sự thuộc chương trình TEACCH (Đại học Bắc Carolina, Hoa Kỳ — xuất bản năm 2005).
Khác với các công cụ sàng lọc (M-CHAT-R/F, SCQ, CAST) hay chẩn đoán phân loại (ADOS-2, ADI-R), mục đích cốt lõi nhất của PEP-3 là để LÊN KẾ HOẠCH CAN THIỆP: tìm ra trẻ đã làm được gì, chưa làm được gì, và đặc biệt là những kỹ năng đang chớm hình thành (Emerging) để lấy đó làm mục tiêu dạy học ngay lập tức.
Tóm tắt cốt lõi về Thang đo PEP-3
-
Độ tuổi áp dụng: Trẻ có tuổi thực hoặc tuổi phát triển từ 6 tháng đến 7 tuổi (84 tháng) (đặc biệt hữu ích cho trẻ từ 2 – 7 tuổi chưa có lời nói hoặc khó hợp tác với các bài test IQ truyền thống).
-
Điểm “ăn tiền” nhất của PEP-3 — Cơ chế chấm điểm 3 mức (0 – 1 – 2):
-
Đạt(Pass = 2 điểm): Trẻ tự thực hiện thành công nhiệm vụ mà không cần làm mẫu hay hỗ trợ thêm. -
Chớm đạt / Đang hình thành(Emerge = 1 điểm): Trẻ hiểu một phần nhiệm vụ, làm được khi có chút gợi ý/làm mẫu, hoặc thực hiện theo cách riêng gần đúng. Đây chính là “Vùng phát triển gần” (ZPD) — kho báu để giáo viên/phụ huynh chọn làm mục tiêu IEP trong 3–6 tháng tới! -
Không đạt(Fail = 0 điểm): Trẻ hoàn toàn không thực hiện được hoặc từ chối dù đã được hướng dẫn.
-
2. Cấu trúc 10 Tiểu thang đo & 3 Chỉ số Tổng hợp (Composites)
Phần đánh giá trực tiếp trẻ (Performance Test) của PEP-3 gồm 172 mục chia làm 10 tiểu thang đo (6 tiểu thang Phát triển kỹ năng + 4 tiểu thang Hành vi kém thích ứng), gộp lại thành 3 Chỉ số Tổng hợp:
| Nhóm Chỉ số Tổng hợp (Composite) | Mã | Tên Tiểu thang đo (Subtest) | Nội dung đánh giá trọng tâm |
| 1. Tổng hợp Giao tiếp(Communication Composite) | CVP | 1. Nhận thức Có lời / Tiền ngôn ngữ (Cognitive Verbal/Preverbal – 34 mục) | Giải quyết vấn đề, định danh đồ vật, phân loại, đếm số, hiểu khái niệm màu sắc/hình khối, ghép tranh. |
| EL | 2. Ngôn ngữ Diễn đạt(Expressive Language – 25 mục) | Yêu cầu bằng cử chỉ/lời nói, gọi tên đồ vật, nói cụm từ/câu, đọc chữ/số, duy trì hội thoại cơ bản. | |
| RL | 3. Ngôn ngữ Tiếp nhận(Receptive Language – 19 mục) | Quay đầu khi gọi tên, chỉ đúng đồ vật/bộ phận cơ thể theo lời nói, làm theo mệnh lệnh 1–2 bước. | |
| 2. Tổng hợp Vận động(Motor Composite) | FM | 4. Vận động Tinh (Fine Motor – 20 mục) | Thổi bong bóng, cầm nắm kẹp chì, xâu hạt, lắp ghép khối gỗ, vặn nắp lọ, tô màu và dùng kéo cắt. |
| GM | 5. Vận động Thô (Gross Motor – 15 mục) | Đi, chạy, nhảy tại chỗ, bước lên xuống cầu thang luân phiên, bắt bóng, ném bóng và đá bóng. | |
| VMI | 6. Bắt chước Vận động – Thị giác (Visual-Motor Imitation – 10 mục) | Bắt chước thao tác với đồ vật (lắc chuông, lăn đất nặn), bắt chước cử chỉ cơ thể và nét mặt. | |
| 3. Tổng hợp Hành vi Kém thích ứng(Maladaptive Behaviors) | AE | 7. Biểu đạt Cảm xúc(Affective Expression – 11 mục) | Giao tiếp mắt, nụ cười xã hội, sự phù hợp của nét mặt và mức độ lo âu/cáu giận trong buổi test. |
| SR | 8. Tương hỗ Xã hội (Social Reciprocity – 12 mục) | Khởi xướng tương tác, chia sẻ sự chú ý (Joint Attention), hợp tác chơi qua lại với người khám. | |
| CMB | 9. Hành vi Vận động Đặc trưng (Characteristic Motor Behaviors – 15 mục) | Mức độ xuất hiện cử động định hình (vẫy tay, nhón gót), ngửi/liếm đồ vật, săm soi chi tiết thị giác. | |
| CVB | 10. Hành vi Lời nói Đặc trưng (Characteristic Verbal Behaviors – 11 mục) | Nhại lời (echolalia), lặp lại âm thanh vô nghĩa, giọng nói lơ lớ/đều đều, tự nói chuyện một mình. |
(Ngoài 10 tiểu thang trực tiếp trên, PEP-3 còn có phần Báo cáo của Người chăm sóc – Caregiver Report gồm 38 mục đánh giá Hành vi có vấn đề, Tự phục vụ cá nhân và Hành vi thích ứng).
[Lập kế hoạch IEP] VB-MAPP: Chương trình đánh giá mốc phát triển và xếp lớp hành vi ngôn ngữ cho trẻ tự kỷ
(function() { const host = document.getElementById('vbmapp-wp-host'); if (!host) return; const placeholder = document.createComment('vbmapp-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // ========================================================= // 1. DỮ LIỆU ĐÁNH GIÁ MỐC PHÁT TRIỂN (MILESTONES LEVEL 1, 2, 3) // Đại diện toàn bộ 16 lĩnh vực qua 34 cụm mốc cốt lõi (Quy đổi chuẩn về thang 170 điểm: Level 1 = 45đ, Level 2 = 60đ, Level 3 = 65đ) // ========================================================= const milestoneDomains = [ // LEVEL 1 (0 - 18 THÁNG • 9 LĨNH VỰC • TỐI ĐA 45 ĐIỂM) { id: 1, lvl: 1, code: 'MAND-L1', name: '1. Yêu cầu - Mand (Level 1 • 0–18 tháng)', maxPts: 5, m1: 'Mốc 1–2: Yêu cầu được 2–4 vật/hoạt động yêu thích (có thể dùng lời, chỉ tay hoặc dấu hiệu).', m2: 'Mốc 3–4: Chủ động yêu cầu 6–8 vật khác nhau đang hiện diện trước mặt mà không cần nhắc lời.', m3: 'Mốc 5: Tự phát đưa ra ít nhất 10 yêu cầu (Mand) khác nhau trong ngày để xin đồ vật/hoạt động.' }, { id: 2, lvl: 1, code: 'TACT-L1', name: '2. Định danh / Gọi tên - Tact (Level 1 • 0–18 tháng)', maxPts: 5, m1: 'Mốc 1–2: Gọi đúng tên 2–4 người thân, thú cưng hoặc đồ vật rất quen thuộc.', m2: 'Mốc 3–4: Gọi đúng tên 6–10 đồ vật thông thường trong sinh hoạt hàng ngày.', m3: 'Mốc 5: Gọi tên chính xác ít nhất 10 đồ vật/hình ảnh quen thuộc khi được hỏi "Cái gì đây?".' }, { id: 3, lvl: 1, code: 'LR-L1', name: '3. Nghe hiểu - Listener Responding (Level 1 • 0–18 tháng)', maxPts: 5, m1: 'Mốc 1–2: Quay đầu nhìn khi nghe tiếng gọi tên mình và chú ý nhìn vào đồ vật người lớn chỉ.', m2: 'Mốc 3–4: Thực hiện được 4 mệnh lệnh vận động đơn giản (Vỗ tay, Đứng lên, Lại đây...) và chọn đúng 10 đồ vật.', m3: 'Mốc 5: Chỉ hoặc lấy đúng ít nhất 20 đồ vật/tranh ảnh quen thuộc khi người lớn gọi tên.' }, { id: 4, lvl: 1, code: 'VPMTS-L1', name: '4. Thị giác & Ghép mẫu - VP-MTS (Level 1 • 0–18 tháng)', maxPts: 5, m1: 'Mốc 1–2: Nhìn theo vật di chuyển, cầm nắm đồ vật nhỏ và thả hình khối vào hộp.', m2: 'Mốc 3–4: Xếp chồng các khối gỗ và ghép đúng các hình cơ bản vào bảng khuôn.', m3: 'Mốc 5: Ghép tương ứng đồ vật giống hệt nhau (3D–3D) và tranh giống tranh (2D–2D) trong tập hợp 4–6 mẫu.' }, { id: 5, lvl: 1, code: 'PLAY-L1', name: '5. Chơi Độc lập - Independent Play (Level 1 • 0–18 tháng)', maxPts: 5, m1: 'Mốc 1–2: Thao tác và khám phá các đồ chơi có tính nhân quả (bấm nút phát nhạc, lắc xúc xắc).', m2: 'Mốc 3–4: Chơi độc lập với nhiều loại đồ chơi khác nhau trong 2–3 phút mà không có hành vi rập khuôn.', m3: 'Mốc 5: Tự tìm kiếm đồ chơi và chơi đúng chức năng (đẩy xe, tháo lắp vòng) trong 5 phút.' }, { id: 6, lvl: 1, code: 'SOC-L1', name: '6. Hành vi Xã hội - Social Behavior (Level 1 • 0–18 tháng)', maxPts: 5, m1: 'Mốc 1–2: Giao tiếp mắt khi cần xin đồ và mỉm cười đáp lại khi người quen tương tác.', m2: 'Mốc 3–4: Nhìn theo hướng người lớn chỉ tay (Đáp ứng chú ý chung) và chú ý nhìn bạn khác chơi.', m3: 'Mốc 5: Tự nhiên nhìn mắt người lớn hoặc chỉ tay để khoe khi thấy điều thú vị (Khởi xướng chú ý chung).' }, { id: 7, lvl: 1, code: 'IMIT-L1', name: '7. Bắt chước Vận động - Motor Imitation (Level 1 • 0–18 tháng)', maxPts: 5, m1: 'Mốc 1–2: Bắt chước được 2–4 động tác vận động thô khi có gợi ý "Làm giống mẹ nào" (vỗ tay, giơ tay).', m2: 'Mốc 3–4: Bắt chước 8–10 thao tác vận động với đồ vật (gõ trống, đẩy xe, khuấy thìa).', m3: 'Mốc 5: Bắt chước chính xác 20 động tác vận động tinh và thô ngay lần làm mẫu đầu tiên.' }, { id: 8, lvl: 1, code: 'ECHO-L1', name: '8. Bắt chước Âm / Nhại âm - Echoic (Level 1 • 0–18 tháng)', maxPts: 5, m1: 'Mốc 1–2: Lặp lại được các nguyên âm đơn và âm tiết đơn giản (a, ba, ma, măm).', m2: 'Mốc 3–4: Lặp lại rõ ràng các từ đơn 1–2 âm tiết theo mẫu.', m3: 'Mốc 5: Nhại âm chính xác ít nhất 10–15 từ đơn và cụm từ 2 âm tiết (tương đương ≥ 15 điểm trên thang EESA).' }, { id: 9, lvl: 1, code: 'VOC-L1', name: '9. Phát âm Tự phát - Spontaneous Vocal (Level 1 • 0–18 tháng)', maxPts: 5, m1: 'Mốc 1–2: Thường xuyên phát ra các âm thanh bập bẹ đa dạng ngữ điệu khi chơi.', m2: 'Mốc 3–4: Phát ra các chuỗi âm thanh giống từ ngữ kèm nhìn người lớn.', m3: 'Mốc 5: Tự phát nói rõ ít nhất 10–15 từ đơn có nghĩa trong sinh hoạt hàng ngày.' }, // LEVEL 2 (18 - 30 THÁNG • 12 LĨNH VỰC • TỐI ĐA 60 ĐIỂM) { id: 10, lvl: 2, code: 'MAND-L2', name: '10. Yêu cầu - Mand (Level 2 • 18–30 tháng)', maxPts: 5, m1: 'Mốc 6–7: Yêu cầu 20 vật khác nhau (kể cả khi vật đó không có mặt ngay trước mắt) và yêu cầu hành động.', m2: 'Mốc 8–9: Yêu cầu bằng cụm 2–3 từ và bắt đầu biết hỏi để lấy thông tin ("Cái gì đây?", "Ở đâu?").', m3: 'Mốc 10: Tự phát đưa ra các yêu cầu mới linh hoạt trong ngày mà không cần huấn luyện trước.' }, { id: 11, lvl: 2, code: 'TACT-L2', name: '11. Định danh / Gọi tên - Tact (Level 2 • 18–30 tháng)', maxPts: 5, m1: 'Mốc 6–7: Gọi tên 25–50 đồ vật (kể cả qua tranh ảnh khái quát hóa).', m2: 'Mốc 8–9: Gọi tên được các hành động đang diễn ra (đang ăn, đang chạy, đang ngủ) và cụm Danh từ + Động từ.', m3: 'Mốc 10: Vốn từ gọi tên đạt ít nhất 150–200 từ (đồ vật, con vật, người, hành động).' }, { id: 12, lvl: 2, code: 'LR-L2', name: '12. Nghe hiểu - Listener Responding (Level 2 • 18–30 tháng)', maxPts: 5, m1: 'Mốc 6–7: Phân biệt và chọn đúng 40–50 đồ vật/tranh ảnh trong một mảng nhiều hình.', m2: 'Mốc 8–9: Thực hiện đúng 25 hành động theo lời nói và làm theo mệnh lệnh gồm 2 bước.', m3: 'Mốc 10: Nghe hiểu và nhận diện được tổng cộng trên 200 từ vựng (danh từ và động từ).' }, { id: 13, lvl: 2, code: 'VPMTS-L2', name: '13. Thị giác & Ghép mẫu - VP-MTS (Level 2 • 18–30 tháng)', maxPts: 5, m1: 'Mốc 6–7: Ghép vật 3D với tranh 2D không giống hệt hoàn toàn (khái quát hóa màu sắc/kích cỡ) trong mảng 8–10 hình.', m2: 'Mốc 8–9: Lắp ghép mô hình khối gỗ 3D theo mẫu và ghép tranh cắt rời 4–6 mảnh.', m3: 'Mốc 10: Phân loại các đồ vật khác nhau vào đúng nhóm danh mục (Đồ ăn, Con vật, Phương tiện) mà không cần mẫu.' }, { id: 14, lvl: 2, code: 'PLAY-L2', name: '14. Chơi Độc lập - Independent Play (Level 2 • 18–30 tháng)', maxPts: 5, m1: 'Mốc 6–7: Mang các đồ vật liên quan lại ghép đôi với nhau (đặt tách lên đĩa, đặt người lên xe) và lắp ghép đồ chơi.', m2: 'Mốc 8–9: Bắt đầu chơi giả vờ hướng tới đồ vật/búp bê (đút cho gấu ăn, lăn xe vào gara).', m3: 'Mốc 10: Tự chơi đóng vai giả vờ liên hoàn và tự dọn đồ chơi vào hộp khi kết thúc.' }, { id: 15, lvl: 2, code: 'SOC-L2', name: '15. Hành vi Xã hội & Chơi cùng bạn (Level 2 • 18–30 tháng)', maxPts: 5, m1: 'Mốc 6–7: Chủ động tiến lại gần bạn cùng tuổi và ngồi chơi song song cạnh bạn.', m2: 'Mốc 8–9: Biết dùng lời nói/cử chỉ xin đồ chơi từ bạn ("Cho tớ mượn") và theo dõi bạn chơi.', m3: 'Mốc 10: Tham gia chơi tương tác qua lại (lăn bóng, đuổi bắt, xếp hình chung) với bạn cùng tuổi.' }, { id: 16, lvl: 2, code: 'IMIT-L2', name: '16. Bắt chước Vận động (Level 2 • 18–30 tháng)', maxPts: 5, m1: 'Mốc 6–7: Bắt chước các cử động miệng – mặt và các thao tác vận động tinh phức tạp.', m2: 'Mốc 8–9: Bắt chước chuỗi hành động gồm 2 bước liên tiếp và bắt chước hành động của bạn cùng lớp.', m3: 'Mốc 10: Tự nhiên bắt chước các hành động chức năng mới trong sinh hoạt hàng ngày mà không cần nhắc.' }, { id: 17, lvl: 2, code: 'ECHO-L2', name: '17. Bắt chước Âm / Nhại âm - Echoic (Level 2 • 18–30 tháng)', maxPts: 5, m1: 'Mốc 6–7: Lặp lại rõ các từ có 2–3 âm tiết phức tạp.', m2: 'Mốc 8–9: Lặp lại đúng các cụm từ 3–4 từ kèm đúng ngữ điệu và trọng âm.', m3: 'Mốc 10: Đạt từ 50–60 điểm trở lên trên bài kiểm tra phát âm EESA.' }, { id: 18, lvl: 2, code: 'LRFFC-L2', name: '18. Nghe hiểu theo Chức năng, Đặc điểm, Phân loại - LRFFC (Level 2)', maxPts: 5, m1: 'Mốc 6–7: Chọn đúng con vật/đồ vật khi nghe tiếng kêu hoặc hành động đi kèm ("Con gì kêu gâu gâu?").', m2: 'Mốc 8–9: Chọn đúng vật trong tranh theo chức năng ("Con dùng cái gì để cắt giấy/để uống nước?") và đặc điểm ("Cái nào có bánh xe?").', m3: 'Mốc 10: Chọn đúng 25–50 vật khi được mô tả theo chức năng, đặc điểm hoặc danh mục phân loại.' }, { id: 19, lvl: 2, code: 'IV-L2', name: '19. Hội thoại & Liên tưởng từ - Intraverbal (Level 2 • 18–30 tháng)', maxPts: 5, m1: 'Mốc 6–7: Điền từ còn thiếu vào cuối câu hát quen thuộc hoặc câu nói bỏ lửng ("Chuẩn bị, một, hai... [ba!]").', m2: 'Mốc 8–9: Điền từ vào cụm từ quen thuộc ("Đánh răng rửa... [mặt]") và trả lời tên của bản thân.', m3: 'Mốc 10: Trả lời được ít nhất 25 câu hỏi "Cái gì?" đơn giản mà không cần nhìn tranh (VD: "Con ăn cái gì?").' }, { id: 20, lvl: 2, code: 'GROUP-L2', name: '20. Học trong Nhóm & Nội quy Lớp học (Level 2 • 18–30 tháng)', maxPts: 5, m1: 'Mốc 6–7: Ngồi yên tại bàn ăn/bàn học cùng nhóm 3–4 bạn trong 3–5 phút mà không bỏ chạy.', m2: 'Mốc 8–9: Cất đồ dùng cá nhân, xếp hàng chuyển tiếp hoạt động theo chỉ dẫn chung của giáo viên.', m3: 'Mốc 10: Ngồi học trong nhóm nhỏ 10 phút và giơ tay/trả lời được câu hỏi chung của cô giáo.' }, { id: 21, lvl: 2, code: 'LING-L2', name: '21. Cấu trúc Ngôn ngữ & Ngữ pháp (Level 2 • 18–30 tháng)', maxPts: 5, m1: 'Mốc 6–7: Phát âm từ đơn đủ rõ để người lạ hiểu được ít nhất 50% lời trẻ nói.', m2: 'Mốc 8–9: Vốn từ vựng diễn đạt đạt trên 100 từ và kết hợp được câu ngắn 2–3 từ.', m3: 'Mốc 10: Biết dùng từ phủ định ("Không phải..."), từ sở hữu ("Của con") và điều chỉnh âm lượng giọng nói.' }, // LEVEL 3 (30 - 48 THÁNG • 13 LĨNH VỰC • TỐI ĐA 65 ĐIỂM) { id: 22, lvl: 3, code: 'MAND-L3', name: '22. Yêu cầu Nâng cao - Mand (Level 3 • 30–48 tháng)', maxPts: 5, m1: 'Mốc 11–12: Thường xuyên đặt câu hỏi "Tại sao?", "Khi nào?", "Ai?" để tìm kiếm thông tin mới.', m2: 'Mốc 13–14: Yêu cầu người khác chú ý nghe mình kể chuyện hoặc nhờ giải quyết vấn đề phức tạp.', m3: 'Mốc 15: Đưa ra chỉ dẫn cho bạn cùng chơi và yêu cầu bằng câu đầy đủ kèm tính từ/giới từ.' }, { id: 23, lvl: 3, code: 'TACT-L3', name: '23. Định danh Mở rộng - Tact (Level 3 • 30–48 tháng)', maxPts: 5, m1: 'Mốc 11–12: Gọi tên chính xác màu sắc, hình dạng, tính từ đối lập (to/nhỏ, nóng/lạnh, ướt/khô) và giới từ.', m2: 'Mốc 13–14: Mô tả sự việc bằng câu hoàn chỉnh từ 4 từ trở lên và gọi tên cảm xúc của người khác.', m3: 'Mốc 15: Vốn từ định danh đạt từ 750 – 1000 từ thuộc mọi phạm trù đời sống.' }, { id: 24, lvl: 3, code: 'LR-L3', name: '24. Nghe hiểu Phức hợp - Listener Responding (Level 3 • 30–48 tháng)', maxPts: 5, m1: 'Mốc 11–12: Phân biệt giới từ (trên/dưới/bên cạnh), đại từ (anh ấy/cô ấy) và tính từ khi nghe yêu cầu.', m2: 'Mốc 13–14: Thực hiện chỉ dẫn phức hợp gồm 3 bước liên tiếp.', m3: 'Mốc 15: Vốn từ nghe hiểu đạt trên 1200 từ.' }, { id: 25, lvl: 3, code: 'VPMTS-L3', name: '25. Thị giác & Tư duy Khuôn mẫu (Level 3 • 30–48 tháng)', maxPts: 5, m1: 'Mốc 11–12: Ghép nối các vật có liên quan chức năng với nhau (bàn chải đi với kem đánh răng) và xếp hình 10 mảnh.', m2: 'Mốc 13–14: Dựng mô hình phức tạp từ 8–10 chi tiết và phân loại theo nhiều tiêu chí.', m3: 'Mốc 15: Hoàn thành chuỗi quy luật logic (A-B-A-B) và sắp xếp tranh theo trình tự thời gian 3–4 bước.' }, { id: 26, lvl: 3, code: 'PLAY-L3', name: '26. Chơi Đóng vai & Thủ công (Level 3 • 30–48 tháng)', maxPts: 5, m1: 'Mốc 11–12: Tự dựng kịch bản chơi đóng vai tưởng tượng (làm bác sĩ khám bệnh, nấu ăn mời khách).', m2: 'Mốc 13–14: Thực hiện các hoạt động nghệ thuật/thủ công (vẽ hình, tô màu, cắt dán, nặn đất sét).', m3: 'Mốc 15: Tự chơi độc lập có mục đích trong 10–15 phút mà không cần người lớn nhắc nhở.' }, { id: 27, lvl: 3, code: 'SOC-L3', name: '27. Tương tác Bạn bè & Chơi hợp tác (Level 3 • 30–48 tháng)', maxPts: 5, m1: 'Mốc 11–12: Tự nguyện hợp tác chia sẻ đồ chơi và chơi đóng vai cùng với bạn đồng trang lứa.', m2: 'Mốc 13–14: Trò chuyện qua lại 2–3 lượt với bạn cùng tuổi và nhận diện được cảm xúc vui/buồn của bạn.', m3: 'Mốc 15: Tham gia trò chơi tập thể có luật lệ (trốn tìm, cờ cá ngựa) và biết chờ đến lượt mà không cáu giận.' }, { id: 28, lvl: 3, code: 'LRFFC-L3', name: '28. Nghe hiểu Mô tả Phức tạp - LRFFC (Level 3 • 30–48 tháng)', maxPts: 5, m1: 'Mốc 11–12: Chọn đúng hình khi câu hỏi có chứa từ phủ định ("Cái nào KHÔNG phải là đồ ăn?").', m2: 'Mốc 13–14: Chọn đúng vật khi câu hỏi kết hợp 2–3 đặc điểm ("Con vật nào có 4 chân, sống ở nông trại và cho sữa?").', m3: 'Mốc 15: Trả lời đúng các câu hỏi phân loại Wh- đa dạng dựa trên tranh bối cảnh phức tạp.' }, { id: 29, lvl: 3, code: 'IV-L3', name: '29. Hội thoại & Kể chuyện - Intraverbal (Level 3 • 30–48 tháng)', maxPts: 5, m1: 'Mốc 11–12: Kể tên được các thành viên trong một nhóm danh mục ("Kể cho cô nghe tên các con vật/các loại quả").', m2: 'Mốc 13–14: Trả lời đúng các câu hỏi "Ở đâu?", "Khi nào?", "Ai?", "Làm thế nào?" và kể lại chuyện vừa nghe.', m3: 'Mốc 15: Mô tả lại một sự kiện đã xảy ra trong quá khứ và duy trì cuộc hội thoại 3–4 lượt về một chủ đề.' }, { id: 30, lvl: 3, code: 'GROUP-L3', name: '30. Kỹ năng Học Tập thể Lớp lớn (Level 3 • 30–48 tháng)', maxPts: 5, m1: 'Mốc 11–12: Tự đi vệ sinh, rửa tay và chuẩn bị đồ dùng học tập theo hiệu lệnh chung của lớp.', m2: 'Mốc 13–14: Ngồi học nghiêm túc trong nhóm 5–10 học sinh suốt 15–20 phút và làm bài tập độc lập.', m3: 'Mốc 15: Học được kiến thức mới thông qua việc nghe cô giáo giảng bài chung cho cả lớp.' }, { id: 31, lvl: 3, code: 'LING-L3', name: '31. Ngữ pháp & Câu phức (Level 3 • 30–48 tháng)', maxPts: 5, m1: 'Mốc 11–12: Sử dụng đúng các từ chỉ số nhiều, sở hữu và liên từ ("và", "nhưng", "bởi vì").', m2: 'Mốc 13–14: Nói đúng các từ chỉ thời gian quá khứ ("đã... rồi") và tương lai ("sẽ...").', m3: 'Mốc 15: Nói câu dài 4–5 từ chuẩn ngữ pháp với độ dài phát ngôn trung bình (MLU) đạt mức 4.0.' }, { id: 32, lvl: 3, code: 'READ-L3', name: '32. Tiền Đọc & Nhận biết Chữ - Reading (Level 3 • 30–48 tháng)', maxPts: 5, m1: 'Mốc 11–12: Chú ý nghe đọc sách truyện, ghép chữ cái giống nhau và chỉ đúng ít nhất 10 chữ cái.', m2: 'Mốc 13–14: Đọc to đúng tên 20 chữ cái và nhận biết được tên của chính mình trên thẻ chữ.', m3: 'Mốc 15: Ghép được 5 từ đơn giản (như "cá", "bò", "mẹ") với bức tranh tương ứng.' }, { id: 33, lvl: 3, code: 'WRIT-L3', name: '33. Tiền Viết & Đồ nét - Writing (Level 3 • 30–48 tháng)', maxPts: 5, m1: 'Mốc 11–12: Cầm bút bằng 3 ngón tay, vẽ đồ theo các đường thẳng, đường cong và tô màu trong khung.', m2: 'Mốc 13–14: Sao chép lại 5 hình học cơ bản (tròn, vuông, chữ thập, tam giác) và đồ theo nét chữ cái.', m3: 'Mốc 15: Tự viết được tên của bản thân mà không cần nhìn mẫu.' }, { id: 34, lvl: 3, code: 'MATH-L3', name: '34. Toán học Sớm - Math (Level 3 • 30–48 tháng)', maxPts: 5, m1: 'Mốc 11–12: Đếm vẹt từ 1 đến 10 và đếm lấy đúng số lượng từ 1 đến 5 đồ vật.', m2: 'Mốc 13–14: Nhận biết các chữ số từ 1 đến 10 và so sánh khái niệm toán học (nhiều hơn/ít hơn, dài/ngắn).', m3: 'Mốc 15: Ghép đúng thẻ chữ số (1–10) với số lượng đồ vật tương ứng.' } ]; // ========================================================= // 2. DỮ LIỆU 24 RÀO CẢN HỌC TẬP & NGÔN NGỮ (BARRIERS ASSESSMENT) // Chấm từ 0 (Không có rào cản) đến 4 (Rào cản rất nghiêm trọng) -> Tổng 0 - 96 điểm // ========================================================= const barriersList = [ { id: 1, name: '1. Hành vi tiêu cực / Chống đối (Negative Behavior)', desc: 'Khóc lóc, la hét, ăn vạ, ném đồ hoặc đánh/cắn khi được yêu cầu học tập hoặc khi bị từ chối.' }, { id: 2, name: '2. Kiểm soát hướng dẫn kém (Poor Instructional Control)', desc: 'Bỏ chạy khỏi bàn học, lờ đi lời cô giáo/bố mẹ, chỉ chịu hợp tác khi được chiều theo ý mình.' }, { id: 3, name: '3. Yêu cầu (Mand) yếu, vắng bóng hoặc sai lệch', desc: 'Không biết cách xin thứ mình muốn bằng lời/cử chỉ hoặc dùng hành vi khóc hét để đòi hỏi.' }, { id: 4, name: '4. Định danh / Gọi tên (Tact) yếu hoặc sai lệch', desc: 'Vốn từ gọi tên hạn chế, hay đoán mò hoặc không gọi tên được đồ vật dù biết nói nhại lại.' }, { id: 5, name: '5. Bắt chước vận động (Motor Imitation) yếu hoặc sai lệch', desc: 'Khó quan sát và bắt chước thao tác mẫu của người dạy, hoặc bắt chước máy móc không hiểu mục đích.' }, { id: 6, name: '6. Bắt chước âm / Nhại lời (Echoic) yếu hoặc Nhại lời máy móc', desc: 'Không lặp lại được âm thanh mẫu HOẶC ngược lại là nhại lại nguyên xi câu hỏi một cách vô nghĩa (Echolalia).' }, { id: 7, name: '7. Kỹ năng Tri giác thị giác & Ghép mẫu (VP-MTS) yếu', desc: 'Khó khăn khi quét mắt tìm hình, ghép hình hoặc chỉ ghép được khi đồ vật giống hệt mẫu 100%.' }, { id: 8, name: '8. Kỹ năng Nghe hiểu (Listener) yếu hoặc phụ thuộc ngữ cảnh', desc: 'Chậm hiểu lời nói, phải nhìn tay chỉ hoặc đoán ý chứ không thực sự phân biệt từng từ trong câu.' }, { id: 9, name: '9. Hội thoại & Liên tưởng từ (Intraverbal) yếu hoặc học vẹt', desc: 'Không trả lời được câu hỏi hội thoại hoặc chỉ trả lời rập khuôn một câu thuộc lòng duy nhất.' }, { id: 10, name: '10. Kỹ năng Xã hội (Social Skills) yếu hoặc suy giảm', desc: 'Thờ ơ với bạn cùng tuổi, không biết chia sẻ đồ chơi hay tham gia tương tác hai chiều.' }, { id: 11, name: '11. Phụ thuộc vào sự gợi ý (Prompt Dependency)', desc: 'Trẻ biết làm nhưng cứ ngồi chờ người lớn phải nhắc mớm âm đầu hoặc cầm tay chỉ việc mới chịu làm.' }, { id: 12, name: '12. Đoán mò câu trả lời (Scrolling Responses)', desc: 'Khi được hỏi hoặc yêu cầu, trẻ tung ra một loạt từ/cử chỉ liên tiếp để thử vận may xem cái nào trúng.' }, { id: 13, name: '13. Kỹ năng Quét thị giác kém (Impaired Scanning)', desc: 'Không nhìn bao quát hết các bức tranh trên bàn trước khi chọn, chỉ lấy đại tấm thẻ nằm gần tay nhất.' }, { id: 14, name: '14. Thất bại trong Phân biệt có điều kiện (Conditional Discrimination)', desc: 'Bị rối loạn khi câu lệnh có từ 2 thông tin trở lên (VD: lấy "bút đỏ" giữa bút xanh, kéo đỏ).' }, { id: 15, name: '15. Thất bại trong Khái quát hóa (Failure to Generalize)', desc: 'Chỉ làm được bài tập trên đúng bộ thẻ ở bàn học với cô giáo, ra ngoài đời thật hoặc đổi người hỏi thì không biết.' }, { id: 16, name: '16. Động lực học tập yếu hoặc khác thường (Weak/Atypical MO)', desc: 'Rất ít thứ có thể thu hút trẻ làm phần thưởng, hoặc trẻ nhanh chán phần thưởng chỉ sau vài phút.' }, { id: 17, name: '17. Đòi hỏi phần thưởng lập tức làm mất động lực (Response Cost Weakens MO)', desc: 'Nếu bài tập hơi khó hoặc phải làm 2–3 yêu cầu mới được thưởng là trẻ bỏ cuộc ngay.' }, { id: 18, name: '18. Phụ thuộc vào phần thưởng hữu hình (Reinforcer Dependency)', desc: 'Chỉ chịu làm việc khi nhìn thấy bánh kẹo/đồ chơi cầm sẵn trên tay người lớn, không làm vì lời khen xã hội.' }, { id: 19, name: '19. Hành vi tự kích thích giác quan (Self-Stimulation)', desc: 'Vẫy tay, nhìn nghiêng, xoay đồ vật, phát âm thanh lạ liên tục làm lấn át việc chú ý học tập.' }, { id: 20, name: '20. Khó khăn về Phát âm / Khẩu hình (Articulation Problems)', desc: 'Phát âm ngọng, mất âm hoặc rối loạn vận động lời nói khiến người nghe rất khó hiểu trẻ nói gì.' }, { id: 21, name: '21. Hành vi Ám ảnh – Cưỡng chế & Nghi thức cứng nhắc (Obsessive-Compulsive)', desc: 'Khăng khăng xếp hàng đồ vật, giữ thói quen cố định và phản ứng dữ dội nếu bị thay đổi.' }, { id: 22, name: '22. Tăng động & Giảm chú ý (Hyperactive Behavior)', desc: 'Luôn chân luôn tay, bồn chồn không ngồi yên được quá vài chục giây, rất dễ xao nhãng.' }, { id: 23, name: '23. Thất bại trong Giao tiếp mắt & Chú ý khuôn mặt (Failure to Make Eye Contact)', desc: 'Né tránh nhìn mặt người đối diện, bỏ lỡ các tín hiệu biểu cảm và khẩu hình của người dạy.' }, { id: 24, name: '24. Rối loạn Phòng vệ Giác quan (Sensory Defensiveness)', desc: 'Quá nhạy cảm với tiếng ồn (bịt tai), ánh sáng, mùi vị hoặc cảm giác chạm làm gián đoạn buổi học.' } ]; // ========================================================= // 3. DỮ LIỆU 18 TIÊU CHÍ ĐÁNH GIÁ CHUYỂN TIẾP HÒA NHẬP (TRANSITION ASSESSMENT) // Chấm từ 1 đến 5 điểm -> Tổng 18 đến 90 điểm // ========================================================= const transitionList = [ { id: 1, cat: 'Năng lực VB-MAPP cốt lõi', name: '1. Tổng điểm Mốc phát triển VB-MAPP (Milestones Score)', desc: '1đ: ≤25 điểm | 2đ: 26–50 điểm | 3đ: 51–99 điểm | 4đ: 100–134 điểm | 5đ: ≥135/170 điểm.' }, { id: 2, cat: 'Năng lực VB-MAPP cốt lõi', name: '2. Tổng điểm Rào cản học tập (Barriers Score)', desc: '1đ: >40 điểm rào cản | 2đ: 25–40đ | 3đ: 15–24đ | 4đ: 6–14đ | 5đ: 0–5 điểm rào cản.' }, { id: 3, cat: 'Năng lực VB-MAPP cốt lõi', name: '3. Hành vi tiêu cực & Kiểm soát hướng dẫn', desc: 'Mức độ hợp tác của trẻ mà không có hành vi ăn vạ, chống đối hay bỏ chạy khỏi lớp.' }, { id: 4, cat: 'Năng lực VB-MAPP cốt lõi', name: '4. Nội quy lớp học & Kỹ năng học trong nhóm', desc: 'Khả năng ngồi học cùng tập thể, xếp hàng, giơ tay và làm theo hiệu lệnh chung của giáo viên.' }, { id: 5, cat: 'Năng lực VB-MAPP cốt lõi', name: '5. Hành vi xã hội & Chơi cùng bạn đồng trang lứa', desc: 'Khả năng tương tác, chia sẻ và tham gia chơi hợp tác với các bạn cùng lớp.' }, { id: 6, cat: 'Năng lực VB-MAPP cốt lõi', name: '6. Mức độ độc lập trong làm việc học thuật', desc: 'Khả năng tự hoàn thành phiếu bài tập hoặc nhiệm vụ được giao mà không cần người ngồi kèm sát 1:1.' }, { id: 7, cat: 'Khả năng học tập tự nhiên', name: '7. Khái quát hóa kỹ năng sang môi trường mới', desc: 'Áp dụng được kiến thức đã học sang lớp học mới, giáo viên mới và học liệu mới.' }, { id: 8, cat: 'Khả năng học tập tự nhiên', name: '8. Độ rộng của các yếu tố củng cố / Động lực xã hội', desc: 'Trẻ biết cố gắng học tập vì lời khen, ngôi sao thi đua và niềm vui khám phá (không cần bánh kẹo).' }, { id: 9, cat: 'Khả năng học tập tự nhiên', name: '9. Tốc độ tiếp thu kỹ năng mới (Rate of Skill Acquisition)', desc: 'Số lần lặp lại cần thiết để trẻ nắm vững một kiến thức mới (5đ = hiểu ngay sau 1–3 lần hướng dẫn).' }, { id: 10, cat: 'Khả năng học tập tự nhiên', name: '10. Duy trì kỹ năng đã học qua thời gian (Retention)', desc: 'Nhớ lâu các bài đã học sau nhiều tuần mà không cần phải ôn đi ôn lại liên tục.' }, { id: 11, cat: 'Khả năng học tập tự nhiên', name: '11. Học tự nhiên từ môi trường &Quan sát bạn bè', desc: 'Tự học được từ mới và quy tắc mới chỉ bằng cách quan sát các bạn xung quanh làm.' }, { id: 12, cat: 'Khả năng học tập tự nhiên', name: '12. Khả năng thích ứng khi thay đổi lịch trình', desc: 'Bình tĩnh chấp nhận khi lớp học đổi giờ học, đổi chỗ ngồi hoặc có giáo viên dạy thay.' }, { id: 13, cat: 'Tự phục vụ & Tự chủ', name: '13. Các hành vi tự kích thích (Self-Stimulation)', desc: 'Mức độ kiểm soát không để các hành vi vẫy tay, lẩm bẩm gây chú ý hoặc cản trở giờ học chung.' }, { id: 14, cat: 'Tự phục vụ & Tự chủ', name: '14. Các hành vi rập khuôn & Sở thích thu hẹp', desc: 'Mức độ linh hoạt, không bị cuốn vào một chủ đề/đồ vật duy nhất trong lớp.' }, { id: 15, cat: 'Tự phục vụ & Tự chủ', name: '15. Kỹ năng tự làm việc và giải trí trong giờ ra chơi', desc: 'Biết tự chơi lành mạnh, đọc sách hoặc giao lưu với bạn trong giờ giải lao không cấu trúc.' }, { id: 16, cat: 'Tự phục vụ & Tự chủ', name: '16. Kỹ năng tự phục vụ cá nhân (Ăn uống, Mặc đồ, Vệ sinh)', desc: 'Tự xúc ăn gọn gàng, tự mặc áo khoác, mang giày dép và rửa tay.' }, { id: 17, cat: 'Tự phục vụ & Tự chủ', name: '17. Kỹ năng tự đi vệ sinh (Toileting Skills)', desc: 'Hoàn toàn kiểm soát việc đi vệ sinh độc lập và biết xin phép giáo viên khi cần.' }, { id: 18, cat: 'Tự phục vụ & Tự chủ', name: '18. Kỹ năng ăn uống tại trường (Bữa trưa tập thể)', desc: 'Ngồi ăn cùng bàn với các bạn, ăn đa dạng món ăn của trường mà không kén ăn cực đoan.' } ]; let activeTab = 'milestones'; // 'milestones' | 'barriers' | 'transition' let filterLvl = 'all'; // 'all' | '1' | '2' | '3' let mScores = {}; // Lưu điểm từng cụm mốc: 0, 2.5 (Đang hình thành), 5.0 (Hoàn thành cả 5 mốc) let bScores = {}; // Lưu 0..4 cho 24 rào cản let tScores = {}; // Lưu 1..5 cho 18 tiêu chí chuyển tiếp let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .vb-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .vb-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .vb-inner { padding: 24px; max-width: 960px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .vb-wrap.is-fullscreen .vb-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .vb-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 0 rgba(37, 99, 235, 0.4); } 70% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 10px rgba(37, 99, 235, 0); } 100% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 0 rgba(37, 99, 235, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #1d4ed8 0%, #2563eb 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Bộ chuyển đổi 3 Bảng VB-MAPP */ .vb-switcher { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; background: #f1f5f9; padding: 8px; border-radius: 12px; margin-bottom: 18px; } .vb-tab-btn { padding: 10px 12px; border-radius: 9px; border: 1.5px solid transparent; background: transparent; cursor: pointer; text-align: left; transition: all 0.2s ease; touch-action: manipulation; } .vb-tab-btn.active { background: #ffffff; border-color: #2563eb; box-shadow: 0 2px 8px rgba(15, 23, 42, 0.08); } .vb-tab-title { font-size: 13.8px; font-weight: 800; color: #0f172a; display: block; } .vb-tab-btn.active .vb-tab-title { color: #2563eb; } .vb-tab-sub { font-size: 11.5px; color: #64748b; margin-top: 2px; display: block; } /* Header */ .vb-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .vb-header-text { flex: 1 1 260px; } .vb-title { font-size: 20px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .vb-desc { font-size: 13.8px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #eff6ff; color: #1d4ed8; border: 1px solid #bfdbfe; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #2563eb; color: #ffffff; border-color: #2563eb; } /* Controls */ .vb-controls { display: flex; flex-direction: column; gap: 10px; margin-bottom: 18px; } .vb-presets { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; } .vb-preset-lbl { font-size: 12.5px; font-weight: 700; color: #475569; margin-right: 4px; } .vb-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; touch-action: manipulation; } .vb-pbtn:hover { background: #f1f5f9; } .vb-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } .vb-lvl-tabs { display: flex; flex-wrap: wrap; gap: 6px; } .vb-ltab { padding: 6px 12px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .vb-ltab.active { background: #2563eb; color: #ffffff; border-color: #2563eb; } /* Sticky Dashboard */ .vb-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .vb-wrap.is-fullscreen .vb-dash { top: 58px; } .vb-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .vb-score-big { font-size: 22px; font-weight: 800; line-height: 1.15; } .vb-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .vb-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .vb-pillars { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; font-size: 12px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .vb-pillar-box { background: #1e293b; padding: 7px 10px; border-radius: 8px; } .vb-pillar-val { font-weight: 700; color: #ffffff; font-size: 13.5px; display: block; margin-top: 2px; } /* Danh sách mục đánh giá */ .vb-item { border: 1px solid #e2e8f0; border-radius: 12px; padding: 14px 16px; margin-bottom: 12px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 8px; } .vb-item.mastered { border-color: #a7f3d0; background: #f0fdf4; } .vb-item.emerging { border-color: #fde68a; background: #fffbeb; } .vb-item.severe-barrier { border-color: #fca5a5; background: #fff5f5; } .vb-item-title { font-size: 15px; font-weight: 800; color: #0f172a; } .vb-item-desc { font-size: 13.2px; color: #334155; line-height: 1.5; } .vb-tags { display: flex; flex-wrap: wrap; gap: 6px; } .vb-tag { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .vb-tag.lvl1 { background: #fef3c7; color: #b45309; } .vb-tag.lvl2 { background: #dbeafe; color: #1d4ed8; } .vb-tag.lvl3 { background: #dcfce7; color: #15803d; } .vb-ans-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; margin-top: 4px; } .vb-abtn { padding: 8px 6px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 700; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .vb-abtn:hover { border-color: #64748b; } .vb-abtn.sel-green { background: #10b981; border-color: #10b981; color: #ffffff; } .vb-abtn.sel-blue { background: #3b82f6; border-color: #3b82f6; color: #ffffff; } .vb-abtn.sel-amber { background: #f59e0b; border-color: #f59e0b; color: #ffffff; } .vb-abtn.sel-red { background: #ef4444; border-color: #ef4444; color: #ffffff; } /* Hộp trích xuất IEP & Kết luận */ .vb-iep-box { margin-top: 18px; padding: 16px 18px; border-radius: 12px; background: #fffbeb; border: 1px solid #fde68a; border-left: 5px solid #f59e0b; font-size: 13.8px; color: #78350f; } .vb-iep-title { font-size: 15px; font-weight: 800; color: #92400e; margin-bottom: 8px; } .vb-result-box { margin-top: 16px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #2563eb; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 720px) { .vb-inner { padding: 14px; } .vb-switcher { grid-template-columns: 1fr; } .vb-title { font-size: 18px; } .vb-pillars { grid-template-columns: 1fr 1fr; } .vb-ans-grid { grid-template-columns: 1fr 1fr; } .vb-pbtn.reset { margin-left: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
Phần 1: Đánh Giá 170 Mốc Phát Triển Ngôn Ngữ & Học Tập VB-MAPP (Level 1, 2, 3)
Mỗi lĩnh vực trong mỗi Cấp độ gồm 5 mốc chuẩn (Tối đa 5.0 điểm/lĩnh vực). Hãy chọn điểm số tương ứng với số mốc bé đã đạt được trong lĩnh vực đó (từ 0.0 đến 5.0 điểm). Các lĩnh vực đang đạt dở dang (1.0 – 3.5 điểm) sẽ được tự động trích xuất làm Mục tiêu IEP ưu tiên.
`; } else if (activeTab === 'barriers') { lvlTabs.style.display = 'none'; headerInfo.innerHTML = `Phần 2: Đánh Giá 24 Rào Cản Học Tập & Tiếp Thu Ngôn Ngữ (Barriers Assessment • 0 – 96 Điểm)
Chấm mức độ từ 0 (Không có rào cản) đến 4 (Rào cản rất nghiêm trọng) cho 24 yếu tố cản trở việc học. Mọi rào cản từ mức 3 – 4 điểm cần được ưu tiên xây dựng kế hoạch can thiệp hành vi (BIP) trước khi nhồi nhét kiến thức mới.
`; } else { lvlTabs.style.display = 'none'; headerInfo.innerHTML = `Phần 3: Đánh Giá 18 Tiêu Chí Chuyển Tiếp Hòa Nhập (Transition Assessment • 18 – 90 Điểm)
Chấm từ 1 điểm (Chưa sẵn sàng) đến 5 điểm (Độc lập hoàn toàn) cho 18 tiêu chí để xác định xem trẻ nên tiếp tục can thiệp 1-kèm-1 chuyên sâu hay đã đủ điều kiện học nhóm / ra trường mẫu giáo, tiểu học hòa nhập.
`; } } function renderItems() { itemList.innerHTML = ''; if (activeTab === 'milestones') { const mOptions = [ { val: 0, lbl: '0.0đ (Chưa đạt mốc nào)' }, { val: 1.5, lbl: '1.5đ (Đạt mốc 1–2 ★ IEP)' }, { val: 2.5, lbl: '2.5đ (Đạt nửa chừng ★ IEP)' }, { val: 3.5, lbl: '3.5đ (Đạt mốc 3–4 ★ IEP)' }, { val: 5.0, lbl: '5.0đ (Hoàn thành đủ 5 mốc)' } ]; milestoneDomains.forEach(function(d) { if (filterLvl !== 'all' && String(d.lvl) !== filterLvl) return; const uVal = (mScores[d.id] !== undefined) ? mScores[d.id] : 0; let rowCls = 'vb-item'; if (uVal === 5.0) rowCls += ' mastered'; else if (uVal > 0) rowCls += ' emerging'; const lvlBadge = `Level ${d.lvl} (${d.lvl === 1 ? '0–18 tháng' : (d.lvl === 2 ? '18–30 tháng' : '30–48 tháng')})`; const btnsHtml = mOptions.map(opt => { let cls = 'vb-abtn'; if (uVal === opt.val) { if (opt.val === 5.0) cls += ' sel-green'; else if (opt.val > 0) cls += ' sel-amber'; else cls += ' sel-red'; } return ``; }).join(''); const el = document.createElement('div'); el.className = rowCls; el.innerHTML = `• ${d.m2}
• ${d.m3}
'); const barLines = severeBarriers.slice(0, 5).map(b => `• ⚠️ ${b.name}: Mức ${bScores[b.id]}/4đ — Cần can thiệp giảm thiểu.`).join('
'); iepBox.innerHTML = `
${iepLines || '• Hãy chọn mức điểm 1.5 – 3.5đ ở Tab Mốc phát triển để trích xuất mục tiêu IEP.'}
${barLines || '• Không có rào cản nào ở mức nghiêm trọng (≥ 3 điểm).'}
• Hồ sơ Mốc phát triển (Milestones): Đạt ${totalM.toFixed(1)} / 170.0 điểm (Level 1: ${sL1.toFixed(1)}/45đ • Level 2: ${sL2.toFixed(1)}/60đ • Level 3: ${sL3.toFixed(1)}/65đ).
• Hồ sơ Rào cản học tập (Barriers): Tổng điểm rào cản là ${totalB} / 96 điểm ${totalB <= 15 ? '(Rào cản thấp, thuận lợi cho việc tiếp thu kỹ năng mới)' : (totalB <= 35 ? '(Rào cản mức trung bình, cần kiểm soát sự phụ thuộc gợi ý và duy trì động lực MO)' : '(Rào cản cao, bắt buộc phải ưu tiên thiết lập kiểm soát hướng dẫn và giảm hành vi cản trở)')}.
• Đánh giá Chuyển tiếp Hòa nhập (Transition): Đạt ${totalT} / 90 điểm — ${transVerdict} `; updateFloatingFabVisibility(); } function applyPreset(type) { mScores = {}; bScores = {}; tScores = {}; if (type === 'reset') { milestoneDomains.forEach(d => { mScores[d.id] = 0; }); barriersList.forEach(b => { bScores[b.id] = 0; }); transitionList.forEach(t => { tScores[t.id] = 1; }); renderItems(); updateSummary(); return; } if (type === 'lvl1') { // Học sinh Level 1 (~32/170đ, Rào cản ~42/96, Chuyển tiếp ~28/90) milestoneDomains.forEach(d => { if (d.lvl === 1) mScores[d.id] = (d.id % 2 === 0) ? 3.5 : 2.5; else if (d.lvl === 2) mScores[d.id] = (d.id { bScores[b.id] = (idx % 3 === 0) ? 3 : ((idx % 2 === 0) ? 2 : 1); }); transitionList.forEach((t, idx) => { tScores[t.id] = (idx % 2 === 0) ? 2 : 1; }); } else if (type === 'lvl2') { // Học sinh Level 2 (~85/170đ, Rào cản ~22/96, Chuyển tiếp ~52/90) milestoneDomains.forEach(d => { if (d.lvl === 1) mScores[d.id] = 5.0; else if (d.lvl === 2) mScores[d.id] = (d.id % 2 === 0) ? 3.5 : 2.5; else mScores[d.id] = (d.id { bScores[b.id] = (idx % 4 === 0) ? 2 : ((idx % 2 === 0) ? 1 : 0); }); transitionList.forEach((t, idx) => { tScores[t.id] = (idx % 2 === 0) ? 3 : 3; }); } else if (type === 'lvl3') { // Học sinh Level 3 sẵn sàng hòa nhập (~142/170đ, Rào cản ~10/96, Chuyển tiếp ~74/90) milestoneDomains.forEach(d => { if (d.lvl === 1 || d.lvl === 2) mScores[d.id] = 5.0; else mScores[d.id] = (d.id % 2 === 0) ? 3.5 : 2.5; }); barriersList.forEach((b, idx) => { bScores[b.id] = (idx % 3 === 0) ? 1 : 0; }); transitionList.forEach((t, idx) => { tScores[t.id] = (idx % 2 === 0) ? 4 : 4; }); } renderItems(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); vbWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { vbWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 960px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } shadow.querySelectorAll('#tabSwitcher .vb-tab-btn').forEach(function(btn) { btn.onclick = function() { activeTab = this.getAttribute('data-tab'); shadow.querySelectorAll('#tabSwitcher .vb-tab-btn').forEach(b => b.classList.remove('active')); this.classList.add('active'); renderHeader(); renderItems(); }; }); shadow.querySelectorAll('.vb-pbtn').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-preset')); }; }); shadow.querySelectorAll('#lvlTabs .vb-ltab').forEach(function(tab) { tab.onclick = function() { filterLvl = this.getAttribute('data-lvl'); shadow.querySelectorAll('#lvlTabs .vb-ltab').forEach(t => t.classList.remove('active')); this.classList.add('active'); renderItems(); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); renderHeader(); applyPreset('lvl2'); })();
VB-MAPP (Verbal Behavior Milestones Assessment and Placement Program — Chương trình Đánh giá Mốc Phát triển và Xếp lớp Hành vi Ngôn ngữ) là công cụ đánh giá năng lực ngôn ngữ, học tập và xã hội phổ biến nhất thế giới trong lĩnh vực Phân tích Hành vi Ứng dụng (ABA). Công cụ được Tiến sĩ Mark L. Sundberg xuất bản năm 2008, xây dựng trực tiếp trên nền tảng lý thuyết Hành vi Ngôn ngữ (Verbal Behavior – 1957) của B.F. Skinner.
Nếu như PEP-3 là “xương sống” để lên kế hoạch giáo dục theo phương pháp TEACCH, thì VB-MAPP chính là “kim chỉ nam” của mọi trung tâm can thiệp ABA / VB: không dùng để dán nhãn chẩn đoán tự kỷ, mà dùng để đo chính xác trẻ đang ở mốc phát triển ngôn ngữ nào, điều gì đang cản trở việc học của trẻ, và trẻ đã đủ điều kiện để ra học hòa nhập hay chưa.
1. Tóm tắt cốt lõi về cấu trúc 5 Thành phần của VB-MAPP
| Thành phần đánh giá | Quy mô & Thang điểm | Nội dung và Mục đích lâm sàng cốt lõi |
| 1. Đánh giá Mốc phát triển(Milestones Assessment) |
170 mốcchia làm 3 Cấp độ (0 – 170 điểm):
• Level 1 (0–18 tháng): 9 lĩnh vực (45 điểm)
• Level 2 (18–30 tháng): 12 lĩnh vực (60 điểm)
• Level 3 (30–48 tháng): 13 lĩnh vực (65 điểm) |
Đo lường 16 lĩnh vực kỹ năng (Yêu cầu – Mand, Gọi tên – Tact, Nghe hiểu – Listener, Thị giác/Ghép mẫu – VP-MTS, Chơi độc lập, Xã hội, Bắt chước, Nhại âm – Echoic, Hội thoại – Intraverbal, Học nhóm, Ngữ pháp, Đọc, Viết, Toán). Mỗi mốc chấm 0 – 0.5 – 1.0 điểm. |
| 2. Đánh giá Rào cản(Barriers Assessment) |
24 rào cảnhọc tập & ngôn ngữ
Chấm từ |
Tìm ra nguyên nhân khiến trẻ không tiến bộ dù được dạy (VD: Hành vi chống đối, Phụ thuộc gợi ý, Tự kích thích giác quan, Nhại lời máy móc, Thiếu động lực/MO, Giao tiếp mắt kém…). Điểm càng cao rào cản càng nặng. |
| 3. Đánh giá Chuyển tiếp(Transition Assessment) |
18 tiêu chísẵn sàng hòa nhập
Chấm từ |
Xác định xem trẻ đã đủ kỹ năng tự lập, học trong nhóm đông, thích ứng thay đổi để chuyển từ can thiệp 1-kèm-1 (1:1) sang lớp mẫu giáo/tiểu học hòa nhập hay chưa. |
| 4. Phân tích Nhiệm vụ(Task Analysis) | Hàng trăm kỹ năng chi tiết hỗ trợ 170 mốc | Chia nhỏ từng mốc lớn thành các bước nhỏ để giáo viên ABA dạy từng ngày. |
| 5. Xếp lớp & Mục tiêu IEP(Placement & IEP Goals) | Khuyến nghị chương trình can thiệp | Định hướng trọng tâm can thiệp và trích xuất mục tiêu dạy học ưu tiên theo từng Cấp độ (Level 1, 2, 3). |
2. Giải nghĩa nhanh các thuật ngữ “Hành vi Ngôn ngữ” (Skinner’s Verbal Operants) trong VB-MAPP
-
Mand (Yêu cầu): Trẻ dùng lời nói/cử chỉ/hình ảnh để xin thứ trẻ đang muốn (VD: thấy nước và nói “Uống nước”).
-
Tact (Định danh / Gọi tên): Trẻ gọi tên sự vật, hành động, tính chất khi nhìn/nghe/chạm thấy (VD: thấy con chó và nói “Con chó”).
-
Listener Responding (Nghe hiểu): Trẻ thực hiện đúng yêu cầu hoặc chỉ đúng vật khi người khác nói (VD: “Chỉ cho mẹ cái cốc”).
-
Echoic (Bắt chước âm / Nhại âm): Trẻ phát âm lặp lại đúng âm thanh hoặc từ mà người lớn vừa làm mẫu.
-
Intraverbal (Hội thoại / Liên tưởng từ): Trẻ trả lời câu hỏi hoặc điền vào chỗ trống mà không cần nhìn thấy vật thật (VD: “Con mèo kêu thế nào?” “Meo meo”).
-
VP-MTS (Tri giác Thị giác & Ghép mẫu): Ghép vật giống vật, tranh giống tranh, phân loại và xếp hình.
[Lập kế hoạch IEP] ABLLS-R: Hệ thống đánh giá kỹ năng ngôn ngữ và học tập cơ bản cho trẻ từ 2 – 12 tuổi
(function() { const host = document.getElementById('abllsr-wp-host'); if (!host) return; const placeholder = document.createComment('abllsr-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // 25 Lĩnh vực chuẩn của ABLLS-R (Từ A đến Z, không có chữ O) chia theo 4 Nhóm lớn // cat: 'basic' (Học tập cơ bản A-P), 'acad' (Học thuật Q-T), 'self' (Tự phục vụ U-X), 'motor' (Vận động Y-Z) const domains = [ // NHÓM 1: KỸ NĂNG HỌC TẬP CƠ BẢN (BASIC LEARNER SKILLS • A -> P) { id: 1, code: 'A', cat: 'basic', itemsCount: 19, name: 'A. Hợp tác & Hiệu quả phần thưởng (Cooperation & Reinforcer Effectiveness)', step1: 'A1–A5: Cầm lấy phần thưởng khi đưa, nhìn vào đồ vật người dạy giơ lên và phản ứng nhanh với 1–2 yêu cầu dễ.', step2: 'A6–A12: Làm việc vì nhiều loại phần thưởng khác nhau, chờ đợi không chạm vào đồ vật khi chưa cho phép.', step3: 'A13–A19: Hợp tác làm việc liên tục qua nhiều nhiệm vụ để nhận phần thưởng trì hoãn (bảng quy đổi sao/token) và lời khen xã hội.' }, { id: 2, code: 'B', cat: 'basic', itemsCount: 27, name: 'B. Biểu diễn Thị giác / Ghép mẫu (Visual Performance)', step1: 'B1–B8: Ghép đồ vật giống hệt đồ vật (3D–3D), tranh giống tranh (2D–2D) và xếp chồng khối gỗ.', step2: 'B9–B18: Thiết kế khối hình theo thẻ mẫu, ghép hình cắt rời (puzzle) và ghép nối các vật có liên quan chức năng.', step3: 'B19–B27: Phân loại đồ vật theo nhóm danh mục không cần mẫu, nối tiếp chuỗi quy luật (A-B-A-B), mê cung và sắp xếp chuỗi tranh theo trình tự.' }, { id: 3, code: 'C', cat: 'basic', itemsCount: 57, name: 'C. Ngôn ngữ Tiếp nhận / Nghe hiểu (Receptive Language)', step1: 'C1–C18: Quay đầu khi gọi tên, làm theo mệnh lệnh vận động đơn giản và chỉ đúng bộ phận cơ thể / đồ vật quen thuộc.', step2: 'C19–C39: Chọn đúng trên 100 tranh đồ vật/hành động, chọn vật khi nghe mô tả chức năng (dùng để làm gì), đặc điểm và phân loại.', step3: 'C40–C57: Chọn đúng 2–3 vật theo thứ tự, phân biệt giới từ (trên/dưới/cạnh), đại từ, tính từ đối lập và cảm xúc.' }, { id: 4, code: 'D', cat: 'basic', itemsCount: 27, name: 'D. Bắt chước Vận động (Motor Imitation)', step1: 'D1–D9: Bắt chước thao tác với đồ vật và bắt chước vận động thô của tay, chân, đầu khi có lệnh "Làm giống cô".', step2: 'D10–D18: Bắt chước vận động tinh bàn tay/ngón tay, bắt chước cử động miệng – mặt và bắt chước tốc độ/cường độ động tác.', step3: 'D19–D27: Bắt chước chuỗi 2–3 động tác liên tiếp, bắt chước theo bạn cùng lớp và bắt chước trì hoãn (nhớ làm lại sau vài phút).' }, { id: 5, code: 'E', cat: 'basic', itemsCount: 20, name: 'E. Bắt chước Âm / Nhại âm (Vocal Imitation - Echoic)', step1: 'E1–E6: Bắt chước các âm thanh nguyên âm, phụ âm cơ bản và âm thanh con vật/phương tiện khi được làm mẫu.', step2: 'E7–E14: Lặp lại rõ ràng các từ đơn, kết hợp phụ âm – nguyên âm và cụm từ ngắn 2–3 từ.', step3: 'E15–E20: Bắt chước chính xác các câu dài kèm đúng tốc độ (nhanh/chậm), âm lượng (to/nhỏ) và ngữ điệu cao độ.' }, { id: 6, code: 'F', cat: 'basic', itemsCount: 29, name: 'F. Yêu cầu (Requests - Mand)', step1: 'F1–F9: Yêu cầu bằng cử chỉ/từ đơn khi có vật yêu thích trước mặt và khi không có vật trước mặt (tự phát trên 10 yêu cầu/ngày).', step2: 'F10–F19: Yêu cầu người khác thực hiện hành động, yêu cầu sự giúp đỡ, xin đồ dùng còn thiếu để hoàn thành công việc.', step3: 'F20–F29: Yêu cầu dùng tính từ/giới từ/trạng từ và chủ động đặt câu hỏi "Cái gì?", "Ở đâu?", "Ai?", "Tại sao?" để lấy thông tin.' }, { id: 7, code: 'G', cat: 'basic', itemsCount: 47, name: 'G. Định danh / Gọi tên (Labeling - Tact)', step1: 'G1–G14: Gọi tên người thân, đồ vật quen thuộc, bộ phận cơ thể và các hành động phổ biến qua vật thật/tranh ảnh.', step2: 'G15–G31: Gọi tên kết hợp Danh từ + Động từ, gọi tên tính từ (màu sắc, hình khối, kích thước), chức năng và phân loại của vật.', step3: 'G32–G47: Gọi tên giới từ, đại từ, nghề nghiệp, cảm xúc nét mặt người khác và gọi tên các vấn đề/sự cố bất thường xung quanh.' }, { id: 8, code: 'H', cat: 'basic', itemsCount: 49, name: 'H. Hội thoại & Liên tưởng từ (Intraverbals)', step1: 'H1–H14: Điền từ vào bài hát, tạo tiếng kêu con vật, điền từ vào cụm từ quen thuộc và trả lời thông tin cá nhân (tên, tuổi).', step2: 'H15–H34: Trả lời các câu hỏi "Cái gì?", "Ở đâu?", "Ai?" về chức năng, đặc điểm và kể tên các vật trong một nhóm danh mục.', step3: 'H35–H49: Trả lời câu hỏi "Tại sao?", "Khi nào?", "Làm thế nào?", kể lại trình tự một sự việc và duy trì hội thoại nhiều lượt.' }, { id: 9, code: 'I', cat: 'basic', itemsCount: 9, name: 'I. Phát âm Tự phát (Spontaneous Vocalizations)', step1: 'I1–I3: Tự phát ra các âm thanh lời nói có ngữ điệu và tự nói các từ đơn khi chơi đùa.', step2: 'I4–I6: Tự hát theo bài hát và tự nói các cụm từ có nghĩa trong sinh hoạt mà không cần ai hỏi.', step3: 'I7–I9: Chủ động bắt chuyện, bình luận tự phát về sự vật xung quanh và trò chuyện tự nhiên với mọi người.' }, { id: 10, code: 'J', cat: 'basic', itemsCount: 20, name: 'J. Cú pháp và Ngữ pháp (Syntax and Grammar)', step1: 'J1–J6: Nói câu ngắn 2–4 từ theo đúng trật tự từ ngữ cơ bản trong tiếng Việt.', step2: 'J7–J13: Sử dụng đúng các từ chỉ số lượng, từ sở hữu ("của con"), từ phủ định ("không phải") và giới từ vị trí.', step3: 'J14–J20: Sử dụng chuẩn xác các từ chỉ thời gian quá khứ ("đã"), hiện tại ("đang"), tương lai ("sẽ") và các liên từ nối câu.' }, { id: 11, code: 'K', cat: 'basic', itemsCount: 15, name: 'K. Kỹ năng Chơi và Giải trí (Play and Leisure)', step1: 'K1–K5: Khám phá đồ chơi tích cực và chơi độc lập với đồ chơi nhân quả/lắp ghép trong 5–10 phút.', step2: 'K6–K10: Chơi đúng chức năng với bộ đồ chơi theo chủ đề (nhà bếp, đường đua xe) và chơi giả vờ đóng vai đơn giản.', step3: 'K11–K15: Chơi vận động với bóng, chơi trò chơi bàn cờ (board games) và chơi đóng vai sáng tạo cùng bạn đồng trang lứa.' }, { id: 12, code: 'L', cat: 'basic', itemsCount: 34, name: 'L. Tương tác Xã hội (Social Interaction)', step1: 'L1–L11: Giao tiếp mắt thích hợp, ở gần bạn cùng tuổi mà không có hành vi tiêu cực, nhận đồ từ bạn và đáp lại lời chào.', step2: 'L12–L23: Chủ động chia sẻ đồ vật với bạn, rủ bạn cùng chơi, chờ đến lượt và hỏi mượn đồ chơi lịch sự.', step3: 'L24–L34: Nhận ra khi bạn buồn/vui, điều chỉnh câu chuyện theo sự quan tâm của người nghe và duy trì tình bạn.' }, { id: 13, code: 'M', cat: 'basic', itemsCount: 12, name: 'M. Hướng dẫn trong Nhóm (Group Instruction)', step1: 'M1–M4: Ngồi yên tĩnh trong nhóm nhỏ (3–5 học sinh) và chú ý nhìn lên giáo viên cùng học liệu trên bảng.', step2: 'M5–M8: Thực hiện đúng các chỉ dẫn chung của giáo viên đưa ra cho cả nhóm và giơ tay xin phát biểu.', step3: 'M9–M12: Trả lời câu hỏi theo lượt trong nhóm lớn và tự tiếp thu được kiến thức mới qua bài giảng chung của lớp.' }, { id: 14, code: 'N', cat: 'basic', itemsCount: 10, name: 'N. Theo dõi Nội quy Lớp học (Classroom Routines)', step1: 'N1–N3: Tự cất cặp sách, áo khoác đúng nơi quy định và xếp hàng ngay ngắn khi được gọi.', step2: 'N4–N7: Tự lấy/cất đồ dùng học tập, tự chuyển tiếp giữa các góc hoạt động trong lớp mà không cần dắt tay.', step3: 'N8–N10: Làm việc độc lập tại bàn học trong 15–20 phút và kiên nhẫn chờ đợi khi giáo viên đang bận hỗ trợ bạn khác.' }, { id: 15, code: 'P', cat: 'basic', itemsCount: 6, name: 'P. Khái quát hóa Kỹ năng (Generalized Responding)', step1: 'P1–P2: Sử dụng được từ vựng và kỹ năng đã học với nhiều bộ tranh ảnh/đồ vật khác nhau.', step2: 'P3–P4: Thực hiện được kỹ năng đã học với nhiều giáo viên, người thân khác nhau và trong nhiều phòng học khác nhau.', step3: 'P5–P6: Tự động linh hoạt điều chỉnh cách phản ứng và vận dụng kỹ năng vào các tình huống tự nhiên ngoài cộng đồng.' }, // NHÓM 2: KỸ NĂNG HỌC THUẬT (ACADEMIC SKILLS • Q, R, S, T) { id: 16, code: 'Q', cat: 'acad', itemsCount: 17, name: 'Q. Kỹ năng Đọc (Reading)', step1: 'Q1–Q5: Nhận diện và gọi tên toàn bộ bảng chữ cái (chữ hoa & chữ thường) cùng âm của các chữ cái.', step2: 'Q6–Q12: Ghép từ với tranh tương ứng, đánh vần đọc trơn được các từ đơn và cụm từ ngắn.', step3: 'Q13–Q17: Đọc to đoạn văn ngắn và trả lời đúng các câu hỏi đọc hiểu về nội dung vừa đọc.' }, { id: 17, code: 'R', cat: 'acad', itemsCount: 29, name: 'R. Kỹ năng Toán học (Math)', step1: 'R1–R9: Đếm số thứ tự, đếm tương ứng 1–1 để lấy đúng số lượng đồ vật (1–20) và nhận diện chữ số.', step2: 'R10–R20: Hiểu các khái niệm so sánh (nhiều hơn, ít hơn, bằng nhau, thêm vào) và cộng trừ trong phạm vi 10.', step3: 'R21–R29: Xem đồng hồ chỉ giờ, nhận biết mệnh giá tiền tệ, đo lường và đếm nhảy bước (2, 5, 10).' }, { id: 18, code: 'S', cat: 'acad', itemsCount: 10, name: 'S. Kỹ năng Viết (Writing)', step1: 'S1–S3: Cầm bút đúng tư thế, gạch nét, tô màu gọn trong hình và đồ theo các nét thẳng/cong.', step2: 'S4–S7: Sao chép các hình học cơ bản, đồ chữ và tự viết tên của mình.', step3: 'S8–S10: Tự viết chính xác tất cả các chữ cái, chữ số và chép lại các từ/câu ngắn trên dòng kẻ.' }, { id: 19, code: 'T', cat: 'acad', itemsCount: 7, name: 'T. Đánh vần / Chính tả (Spelling)', step1: 'T1–T2: Ghép các thẻ chữ cái rời tạo thành tên của mình hoặc từ đơn có nhìn mẫu.', step2: 'T3–T5: Đánh vần bằng lời hoặc xếp chữ cái tạo thành từ đơn 3–4 chữ cái không cần nhìn mẫu.', step3: 'T6–T7: Viết chính tả đúng các từ vựng quen thuộc khi nghe đọc.' }, // NHÓM 3: KỸ NĂNG TỰ PHỤC VỤ CÁ NHÂN (SELF-HELP SKILLS • U, V, W, X) { id: 20, code: 'U', cat: 'self', itemsCount: 15, name: 'U. Mặc và Cởi quần áo (Dressing)', step1: 'U1–U5: Tự cởi tất, giày, quần thun, áo phông và biết phối hợp đưa tay/chân khi mặc đồ.', step2: 'U6–U10: Tự mặc quần, mặc áo phông/áo khoác, đi tất và mang giày đúng chân (trái/phải).', step3: 'U11–U15: Tự kéo khóa áo khoác, cài/mở cúc áo, cài khóa thắt lưng và buộc dây giày.' }, { id: 21, code: 'V', cat: 'self', itemsCount: 10, name: 'V. Kỹ năng Ăn uống (Eating)', step1: 'V1–V3: Tự ăn bằng tay, uống nước bằng cốc không đổ và tự dùng thìa/nĩa xúc thức ăn gọn gàng.', step2: 'V4–V7: Ngồi yên tại bàn ăn suốt bữa, ăn đa dạng nhóm thực phẩm, tự rót nước từ bình vào cốc.', step3: 'V8–V10: Tự lấy khay thức ăn, dùng dao phết bơ/cắt thức ăn mềm và tự dọn bát đĩa vào bồn sau khi ăn.' }, { id: 22, code: 'W', cat: 'self', itemsCount: 7, name: 'W. Vệ sinh Cá nhân & Chải chuốt (Grooming)', step1: 'W1–W3: Tự rửa tay bằng xà phòng, lau khô tay và lau mặt bằng khăn.', step2: 'W4–W5: Tự đánh răng đúng cách và tự chải đầu gọn gàng.', step3: 'W6–W7: Tự xì mũi bằng khăn giấy sạch sẽ và tự tắm rửa cơ thể cơ bản.' }, { id: 23, code: 'X', cat: 'self', itemsCount: 10, name: 'X. Kỹ năng Đi vệ sinh (Toileting)', step1: 'X1–X4: Đi tiểu vào bồn cầu khi được dẫn đi theo giờ và giữ quần khô ráo trong ngày.', step2: 'X5–X7: Tự chủ động báo hoặc tự đi vào nhà vệ sinh khi có nhu cầu (cả tiểu tiện và đại tiện).', step3: 'X8–X10: Tự hoàn tất toàn bộ quy trình đi vệ sinh: tự tụt/kéo quần, lau chùi vệ sinh sạch sẽ, xả nước và rửa tay.' }, // NHÓM 4: KỸ NĂNG VẬN ĐỘNG (MOTOR SKILLS • Y, Z) { id: 24, code: 'Y', cat: 'motor', itemsCount: 30, name: 'Y. Vận động Thô (Gross Motor)', step1: 'Y1–Y10: Đi, chạy vững vàng, bước lên xuống cầu thang luân phiên, nhảy chụm hai chân và lăn/đá bóng.', step2: 'Y11–Y20: Đứng một chân giữ thăng bằng, bắt bóng bằng hai tay, ném bóng trúng đích và đạp xe 3 bánh.', step3: 'Y21–Y30: Nhảy lò cò 1 chân, nhảy dây, đập bóng nảy liên tục, đu xà và đi xe đạp 2 bánh.' }, { id: 25, code: 'Z', cat: 'motor', itemsCount: 28, name: 'Z. Vận động Tinh (Fine Motor)', step1: 'Z1–Z9: Thả xu vào khe hẹp, nhặt vật nhỏ bằng ngón cái – trỏ, lật từng trang sách và xếp tháp khối gỗ.', step2: 'Z10–Z19: Xâu hạt nhỏ qua dây, vặn mở nắp lọ, kẹp kẹp quần áo và dùng kéo cắt đứt mảnh giấy.', step3: 'Z20–Z28: Cắt kéo chính xác theo đường cong/hình vẽ, gấp giấy theo nếp, dán keo gọn gàng và thao tác ngón tay tinh xảo.' } ]; // scores[id] lưu mức thành thạo trung bình của lĩnh vực đó trên thang 0..4 của ABLLS-R: // 0 (0% - Chưa bắt đầu), 1 (25% - Mức sơ khởi ★ IEP), 2 (50% - Đạt nửa chừng ★ IEP), 3 (75% - Gần hoàn thiện ★ IEP), 4 (100% - Đạt chuẩn Mastered) let scores = {}; let filterCat = 'all'; // 'all' | 'basic' | 'acad' | 'self' | 'motor' let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .ab-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .ab-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .ab-inner { padding: 24px; max-width: 960px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .ab-wrap.is-fullscreen .ab-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .ab-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(14, 116, 144, 0.45), 0 0 0 0 rgba(14, 116, 144, 0.4); } 70% { box-shadow: 0 6px 20px rgba(14, 116, 144, 0.45), 0 0 0 10px rgba(14, 116, 144, 0); } 100% { box-shadow: 0 6px 20px rgba(14, 116, 144, 0.45), 0 0 0 0 rgba(14, 116, 144, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #0e7490 0%, #0891b2 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(14, 116, 144, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Header */ .ab-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .ab-header-text { flex: 1 1 260px; } .ab-title { font-size: 21px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .ab-desc { font-size: 14px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #ecfeff; color: #0e7490; border: 1px solid #a5f3fc; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #0891b2; color: #ffffff; border-color: #0891b2; } /* Controls */ .ab-controls { display: flex; flex-direction: column; gap: 10px; margin-bottom: 18px; } .ab-presets { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; } .ab-preset-lbl { font-size: 12.5px; font-weight: 700; color: #475569; margin-right: 4px; } .ab-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; touch-action: manipulation; } .ab-pbtn:hover { background: #f1f5f9; } .ab-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } .ab-cat-tabs { display: flex; flex-wrap: wrap; gap: 6px; } .ab-ctab { padding: 6px 12px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .ab-ctab.active { background: #0e7490; color: #ffffff; border-color: #0e7490; } /* Sticky Dashboard */ .ab-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 18px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .ab-wrap.is-fullscreen .ab-dash { top: 58px; } .ab-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .ab-score-big { font-size: 22px; font-weight: 800; line-height: 1.15; } .ab-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .ab-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .ab-pillars { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; font-size: 12px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .ab-pillar-box { background: #1e293b; padding: 7px 10px; border-radius: 8px; } .ab-pillar-val { font-weight: 700; color: #ffffff; font-size: 13.5px; display: block; margin-top: 2px; } /* Biểu đồ Lưới Kỹ năng A-Z (Skill Tracking Grid) */ .ab-grid-card { background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 12px; padding: 14px 16px; margin-bottom: 18px; } .ab-grid-title { font-size: 13.5px; font-weight: 800; color: #0f172a; margin-bottom: 10px; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 8px; } .ab-tower-wrap { display: grid; grid-template-columns: repeat(25, 1fr); gap: 4px; align-items: end; } .ab-tower-col { display: flex; flex-direction: column; align-items: center; gap: 3px; } .ab-tower-cells { display: flex; flex-direction: column-reverse; gap: 2px; width: 100%; } .ab-cell { height: 11px; width: 100%; background: #e2e8f0; border-radius: 2px; transition: background 0.2s ease; } .ab-cell.filled-basic { background: #0284c7; } .ab-cell.filled-acad { background: #7c3aed; } .ab-cell.filled-self { background: #10b981; } .ab-cell.filled-motor { background: #f59e0b; } .ab-tower-lbl { font-size: 11px; font-weight: 800; color: #334155; margin-top: 2px; } /* Danh sách 25 Lĩnh vực */ .ab-item { border: 1px solid #e2e8f0; border-radius: 12px; padding: 14px 16px; margin-bottom: 12px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 8px; } .ab-item.mastered { border-color: #a7f3d0; background: #f0fdf4; } .ab-item.emerging { border-color: #fde68a; background: #fffbeb; } .ab-item-title { font-size: 15px; font-weight: 800; color: #0f172a; } .ab-item-desc { font-size: 13.2px; color: #334155; line-height: 1.5; } .ab-tags { display: flex; flex-wrap: wrap; gap: 6px; } .ab-tag { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .ab-tag.cat-basic { background: #e0f2fe; color: #0369a1; } .ab-tag.cat-acad { background: #f3e8ff; color: #7e22ce; } .ab-tag.cat-self { background: #dcfce7; color: #15803d; } .ab-tag.cat-motor { background: #fef3c7; color: #b45309; } .ab-ans-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; margin-top: 4px; } .ab-abtn { padding: 8px 6px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 700; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .ab-abtn:hover { border-color: #64748b; } .ab-abtn.sel-0 { background: #ef4444; border-color: #ef4444; color: #ffffff; } .ab-abtn.sel-1, .ab-abtn.sel-2 { background: #f59e0b; border-color: #f59e0b; color: #ffffff; } .ab-abtn.sel-3 { background: #0284c7; border-color: #0284c7; color: #ffffff; } .ab-abtn.sel-4 { background: #10b981; border-color: #10b981; color: #ffffff; } /* Hộp trích xuất IEP & Kết luận */ .ab-iep-box { margin-top: 18px; padding: 16px 18px; border-radius: 12px; background: #fffbeb; border: 1px solid #fde68a; border-left: 5px solid #f59e0b; font-size: 13.8px; color: #78350f; } .ab-iep-title { font-size: 15px; font-weight: 800; color: #92400e; margin-bottom: 8px; } .ab-result-box { margin-top: 16px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #0e7490; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 720px) { .ab-inner { padding: 14px; } .ab-title { font-size: 18px; } .ab-pillars { grid-template-columns: 1fr 1fr; } .ab-ans-grid { grid-template-columns: 1fr 1fr; } .ab-tower-wrap { grid-template-columns: repeat(13, 1fr); row-gap: 10px; } .ab-pbtn.reset { margin-left: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
Hệ Thống Đánh Giá Kỹ Năng Ngôn Ngữ & Học Tập Cơ Bản ABLLS-R (25 Lĩnh Vực A – Z • 544 Kỹ Năng)
Công cụ chuẩn hóa của Tiến sĩ James W. Partington (2006) phân tích 544 kỹ năng qua 25 bảng chữ cái (từ A đến Z). Hãy chấm mức độ thành thạo trung bình từ Mức 0 (0%) đến Mức 4 (100% - Độc lập hoàn toàn) cho từng lĩnh vực để vẽ Biểu đồ Lưới Kỹ năng (Skill Tracking Grid) và tự động trích xuất Mục tiêu Can thiệp IEP.
• Giai đoạn giữa (Mức 2–3): ${d.step2}
• Giai đoạn hoàn thiện (Mức 4): ${d.step3}
'); iepBox.innerHTML = `
• 1. Trụ cột Kỹ năng Học tập Cơ bản (A – P): Đạt ${pctBasic}%. ${pctBasic < 40 ? 'Cần ưu tiên tuyệt đối cho 6 lĩnh vực nền tảng: Hợp tác (A), Ghép mẫu thị giác (B), Nghe hiểu (C), Bắt chước vận động (D), Bắt chước âm (E) và Yêu cầu Mand (F).' : 'Học sinh đã có nền tảng học tập tốt, cần đẩy mạnh Hội thoại Intraverbal (H), Tương tác xã hội (L) và Học trong nhóm (M).'}
• 2. Trụ cột Kỹ năng Học thuật (Q – T): Đạt ${pctAcad}% (Đọc, Toán, Viết, Đánh vần).
• 3. Trụ cột Kỹ năng Tự phục vụ (U – X): Đạt ${pctSelf}% (Mặc đồ, Ăn uống, Chải chuốt, Đi vệ sinh).
• 4. Trụ cột Kỹ năng Vận động (Y – Z): Đạt ${pctMotor}% (Vận động Thô & Vận động Tinh). `; updateFloatingFabVisibility(); } function applyPreset(type) { scores = {}; if (type === 'reset') { domains.forEach(d => { scores[d.id] = 0; }); renderTowerGrid(); renderItems(); updateSummary(); return; } if (type === 'early') { // Người học sơ khởi (~25%) domains.forEach(d => { if (['A', 'B', 'C', 'D', 'F', 'Y', 'Z'].includes(d.code)) scores[d.id] = 2; else if (['E', 'G', 'K', 'U', 'V', 'W', 'X'].includes(d.code)) scores[d.id] = 1; else scores[d.id] = 0; }); } else if (type === 'inter') { // Người học trung cấp (~56%) domains.forEach(d => { if (['A', 'B', 'D', 'Y', 'Z', 'U', 'V'].includes(d.code)) scores[d.id] = 3; else if (['C', 'E', 'F', 'G', 'K', 'L', 'M', 'N', 'W', 'X'].includes(d.code)) scores[d.id] = 2; else scores[d.id] = 1; }); } else if (type === 'adv') { // Người học nâng cao (~82%) domains.forEach(d => { if (d.cat === 'basic' || d.cat === 'self' || d.cat === 'motor') { scores[d.id] = (d.id % 2 === 0) ? 4 : 3; } else { scores[d.id] = 3; } }); } renderTowerGrid(); renderItems(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); abWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { abWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 960px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } shadow.querySelectorAll('.ab-pbtn').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-preset')); }; }); shadow.querySelectorAll('#catTabs .ab-ctab').forEach(function(tab) { tab.onclick = function() { filterCat = this.getAttribute('data-cat'); shadow.querySelectorAll('#catTabs .ab-ctab').forEach(t => t.classList.remove('active')); this.classList.add('active'); renderItems(); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); applyPreset('inter'); })();
ABLLS-R (Assessment of Basic Language and Learning Skills – Revised — Đánh giá các Kỹ năng Ngôn ngữ và Học tập Cơ bản – Bản Hiệu đính) là công cụ đánh giá, hướng dẫn chương trình giảng dạy và hệ thống theo dõi kỹ năng toàn diện do Tiến sĩ James W. Partington xuất bản năm 2006 (phiên bản gốc năm 1998 viết cùng Tiến sĩ Mark Sundberg).
Trong can thiệp ABA (Phân tích Hành vi Ứng dụng), ABLLS-R và VB-MAPP là hai công cụ trụ cột luôn đi song hành với nhau:
-
Nếu VB-MAPP đối chiếu theo các mốc tuổi phát triển chuẩn (0 – 48 tháng), thì ABLLS-R là một hệ thống Phân tích Nhiệm vụ (Task Analysis) cực kỳ chi tiết gồm 544 kỹ năng nối tiếp nhau từ A đến Z (không giới hạn độ tuổi sinh học, miễn là trẻ cần học các kỹ năng tương đương một đứa trẻ phát triển điển hình trước khi vào lớp 1,thường áp dụng từ 2 đến 12+ tuổi).
-
Đặc biệt, ngoài ngôn ngữ và học tập, ABLLS-R đánh giá rất sâu mảng Tự phục vụ cá nhân (Ăn mặc, Ăn uống, Chải chuốt, Đi vệ sinh) và Vận động (Thô & Tinh) — những phần mà VB-MAPP không tách thành bảng chấm riêng.
1. Cấu trúc 25 Lĩnh vực (Từ A đến Z) chia làm 4 Nhóm lớn của ABLLS-R
Toàn bộ 544 kỹ năng trong ABLLS-R được chia thành 25 bảng chữ cái (từ A đến Z, không có chữ O) và gom vào 4 Trụ cột lớn:
| Nhóm kỹ năng lớn | Ký hiệu Lĩnh vực (Domains) | Tổng số mục | Nội dung đánh giá trọng tâm |
| 1. Kỹ năng Học tập Cơ bản (Basic Learner Skills) | A P (15 lĩnh vực) | 353 kỹ năng |
• A: Hợp tác & Hiệu quả phần thưởng (19) • B: Thị giác / Ghép mẫu (27) • C: Nghe hiểu (57)
• D: Bắt chước vận động (27) • E: Bắt chước âm (20) • F: Yêu cầu – Mand (29)
• G: Định danh / Gọi tên – Tact (47) • H: Hội thoại – Intraverbal (49) • I: Phát âm tự phát (9)
• J: Cú pháp & Ngữ pháp (20) • K: Chơi & Giải trí (15) • L: Tương tác xã hội (34)
• M: Học trong nhóm (12) • N: Theo dõi nội quy lớp học (10) • P: Khái quát hóa (6). |
| 2. Kỹ năng Học thuật(Academic Skills) | Q, R, S, T (4 lĩnh vực) | 84 kỹ năng |
• Q: Kỹ năng Đọc (17) • R: Kỹ năng Toán học (29)
• S: Kỹ năng Viết (10) • T: Đánh vần / Chính tả (7). |
| 3. Kỹ năng Tự phục vụ(Self-Help Skills) | U, V, W, X (4 lĩnh vực) | 59 kỹ năng |
• U: Mặc và cởi quần áo (15) • V: Tự ăn uống (10)
• W: Vệ sinh cá nhân / Chải chuốt (7) • X: Kỹ năng đi vệ sinh – Toileting (10). |
| 4. Kỹ năng Vận động(Motor Skills) | Y, Z (2 lĩnh vực) | 58 kỹ năng | • Y: Vận động thô – Gross Motor (30) • Z: Vận động tinh – Fine Motor (28). |
2. Quy tắc chấm điểm & Biểu đồ Lưới theo dõi (Skill Tracking Grid)
-
Các nhiệm vụ phức tạp trong ABLLS-R được chấm trên thang 0 – 4 điểm (các nhiệm vụ đơn giản hơn chấm thang 0 – 2 điểm):
-
0 điểm: Chưa thực hiện được kỹ năng dù có hỗ trợ. -
1 điểm: Đạt khoảng 25% tiêu chí hoặc cần hỗ trợ thể chất/làm mẫu nhiều. -
2 điểm: Đạt khoảng 50% tiêu chí hoặc làm được khi có gợi ý lời nói/cử chỉ. -
3 điểm: Đạt khoảng 75% tiêu chí, gần độc lập nhưng chưa khái quát hóa rộng. -
4 điểm(Đạt chuẩn tối đa – Mastered): Hoàn toàn độc lập, đúng tiêu chí về tốc độ, số lượng và khái quát hóa sang nhiều môi trường.
-
-
Nguyên tắc chọn Mục tiêu IEP từ ABLLS-R: Giáo viên ABA và phụ huynh sẽ chọn khoảng 15 – 30 kỹ năng đang đạt mức trung gian (1 – 3 điểm) hoặc nằm ngay sát trên các ô đã tô kín trên Biểu đồ Lưới để làm mục tiêu dạy học trong kỳ tiếp theo.
[Lập kế hoạch IEP] AFLS: Công cụ đánh giá kỹ năng sống độc lập, tự phục vụ và hòa nhập cộng đồng (Từ 2 tuổi)
(function() { const host = document.getElementById('afls-wp-host'); if (!host) return; const placeholder = document.createComment('afls-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // Cấu hình 6 Mô-đun Đánh giá (Protocols) chuẩn của AFLS (Partington & Mueller, 2012) const moduleConfigs = { basic: { code: 'basic', short: 'BLS', color: '#2563eb', tabTitle: '🪥 1. Sống Cơ bản (Basic)', tabSub: '8 Lĩnh vực • Tự chăm sóc nền tảng', fullTitle: 'Mô-đun 1: Kỹ Năng Sống Cơ Bản — AFLS Basic Living Skills Protocol (8 Lĩnh Vực)', desc: 'Đánh giá các kỹ năng tự chăm sóc, vệ sinh, an toàn và giao tiếp thiết yếu nhất hàng ngày. Đây là mô-đun ưu tiên số 1 cho mọi lứa tuổi từ 2 tuổi trở lên.' }, home: { code: 'home', short: 'HMS', color: '#0d9488', tabTitle: '🏠 2. Tại Gia đình (Home)', tabSub: '7 Lĩnh vực • Việc nhà, Giặt ủi & Nấu ăn', fullTitle: 'Mô-đun 2: Kỹ Năng Tại Gia Đình — AFLS Home Skills Protocol (7 Lĩnh Vực)', desc: 'Đánh giá khả năng tham gia sinh hoạt gia đình: ăn uống lịch sự, rửa bát, giặt gấp quần áo, dọn dẹp phòng ốc, giải trí lành mạnh và tự chế biến món ăn trong bếp.' }, comm: { code: 'comm', short: 'CPS', color: '#7c3aed', tabTitle: '🛒 3. Cộng đồng (Community)', tabSub: '7 Lĩnh vực • Đi đường, Mua sắm & Tiền tệ', fullTitle: 'Mô-đun 3: Kỹ Năng Tham Gia Cộng Đồng — AFLS Community Participation Protocol (7 Lĩnh Vực)', desc: 'Đánh giá năng lực định hướng ngoài xã hội: đi bộ qua đường an toàn, đi siêu thị mua sắm, ăn uống tại nhà hàng, quản lý tiền mặt/thẻ, dùng điện thoại và quản lý thời gian.' }, school: { code: 'school', short: 'SCS', color: '#f59e0b', tabTitle: '🏫 4. Học đường (School)', tabSub: '7 Lĩnh vực • Lớp học, Bạn bè & Công nghệ', fullTitle: 'Mô-đun 4: Kỹ Năng Học Đường — AFLS School Skills Protocol (7 Lĩnh Vực)', desc: 'Đánh giá các kỹ năng thực tiễn để học sinh tự xoay xở trong trường học (từ Tiểu học đến Trung học): tuân thủ nội quy, tự ăn ở căng-tin, dùng máy tính và vận dụng kiến thức vào thực tế.' }, voc: { code: 'voc', short: 'VOC', color: '#ea580c', tabTitle: '💼 5. Hướng nghiệp (Vocational)', tabSub: '7 Lĩnh vực • Tìm việc, Kỹ năng nghề & An toàn', fullTitle: 'Mô-đun 5: Kỹ Năng Hướng Nghiệp & Việc Làm — AFLS Vocational Skills Protocol (7 Lĩnh Vực)', desc: 'Đánh giá sự sẵn sàng lao động cho thanh thiếu niên (≥ 14 tuổi) và người trưởng thành: chuẩn bị hồ sơ, phỏng vấn, tác phong làm việc, giao tiếp đồng nghiệp và kỹ năng nghề thực hành.' }, indep: { code: 'indep', short: 'ILS', color: '#dc2626', tabTitle: '🔑 6. Sống Độc lập (Independent)', tabSub: '6 Lĩnh vực • Tài chính, Y tế & Tự quyết', fullTitle: 'Mô-đun 6: Kỹ Năng Sống Độc Lập — AFLS Independent Living Skills Protocol (6 Lĩnh Vực)', desc: 'Đánh giá các kỹ năng sống tự chủ cấp cao của người trưởng thành: quản lý chi tiêu/hóa đơn, tự chăm sóc y tế/uống thuốc, đi lại bằng phương tiện công cộng và tự bảo vệ quyền lợi bản thân.' } }; // Đầy đủ 42 Lĩnh vực chức năng thuộc 6 Mô-đun AFLS (Chấm thang 0 -> 4 điểm chuẩn Partington) const domains = [ // ===================================================== // MÔ-ĐUN 1: KỸ NĂNG SỐNG CƠ BẢN (BASIC LIVING SKILLS • 8 LĨNH VỰC) // ===================================================== { id: 1, mod: 'basic', code: 'BLS-1', name: '1. Tự Quản lý Hành vi & Cảm xúc (Self-Management)', step1: 'Bình tĩnh khi có thay đổi nhỏ trong sinh hoạt và hợp tác dừng hành vi khi được nhắc.', step2: 'Biết chờ đợi 5–10 phút khi chưa được đáp ứng ngay và tự dùng lời/ký hiệu để xin nghỉ giải lao.', step3: 'Tự kiểm soát cảm xúc không ăn vạ/tự gây hại và tự áp dụng chiến lược thư giãn khi căng thẳng ngoài cộng đồng.' }, { id: 2, mod: 'basic', code: 'BLS-2', name: '2. Giao tiếp Chức năng Cơ bản (Basic Communication)', step1: 'Biết yêu cầu đồ ăn, thức uống, đi vệ sinh và sự giúp đỡ bằng lời nói, cử chỉ hoặc thiết bị AAC/PECS.', step2: 'Trả lời đúng thông tin cá nhân thiết yếu (Họ tên, Tuổi, Tên bố mẹ, Số điện thoại/Địa chỉ khi đi lạc).', step3: 'Truyền đạt rõ ràng khi cơ thể bị đau/ốm và chủ động thông báo các sự cố khẩn cấp cho người lớn.' }, { id: 3, mod: 'basic', code: 'BLS-3', name: '3. Mặc và Cởi Quần áo (Dressing)', step1: 'Tự cởi và mặc quần thun, áo phông, tất và giày dán Velcro.', step2: 'Mặc quần áo đúng mặt trước/sau, mặt phải/trái, đi giày đúng chân trái/phải và tự cài cúc áo, kéo khóa.', step3: 'Tự chọn trang phục phù hợp với thời tiết (nóng/lạnh/mưa), hoàn cảnh xã hội và tự buộc dây giày thành thạo.' }, { id: 4, mod: 'basic', code: 'BLS-4', name: '4. Kỹ năng Đi vệ sinh (Toileting)', step1: 'Đi tiểu và đại tiện vào bồn cầu theo lịch nhắc, giữ quần khô ráo suốt ban ngày và ban đêm.', step2: 'Tự chủ động nhận biết nhu cầu và tự đi vào nhà vệ sinh mà không cần ai nhắc.', step3: 'Hoàn tất độc lập 100% quy trình tại cả nhà riêng lẫn nhà vệ sinh công cộng (đóng chốt cửa, tự lau chùi sạch, xả nước, rửa tay).' }, { id: 5, mod: 'basic', code: 'BLS-5', name: '5. Chải chuốt & Vệ sinh Cá nhân (Grooming)', step1: 'Tự rửa tay bằng xà phòng, lau khô tay, lau mặt và xì mũi bằng khăn giấy.', step2: 'Tự lấy kem đánh răng, đánh răng sạch các mặt răng, súc miệng và tự chải tóc gọn gàng.', step3: 'Tự chăm sóc móng tay, dùng lăn khử mùi, chăm sóc da mặt, cạo râu (nam) hoặc vệ sinh chu kỳ kinh nguyệt (nữ).' }, { id: 6, mod: 'basic', code: 'BLS-6', name: '6. Kỹ năng Tắm rửa (Bathing)', step1: 'Hợp tác trong bồn tắm/vòi sen, tự xoa xà phòng lên cơ thể và dội nước tráng sạch.', step2: 'Tự gội đầu bằng dầu gội, xả sạch bọt không để vào mắt và tự dùng khăn tắm lau khô toàn thân.', step3: 'Tự điều chỉnh nhiệt độ nước an toàn (nóng/lạnh), tự tắm gội độc lập hoàn toàn và treo khăn/dọn phòng tắm sau khi tắm.' }, { id: 7, mod: 'basic', code: 'BLS-7', name: '7. Sức khỏe, An toàn & Sơ cứu Cơ bản (Health, Safety & First Aid)', step1: 'Nhận biết và tránh các mối nguy hiểm trực tiếp (ổ điện, vật sắc nhọn, bếp nóng, hóa chất tẩy rửa, nước sâu).', step2: 'Biết báo ngay khi bị đứt tay/trầy xước, hợp tác rửa vết thương, dán băng cá nhân (Band-Aid) và uống thuốc theo hướng dẫn.', step3: 'Tự sơ cứu vết thương nhỏ, biết thoát hiểm khi có chuông báo cháy và tuyệt đối không đi theo người lạ.' }, { id: 8, mod: 'basic', code: 'BLS-8', name: '8. Thói quen Ban đêm & Giấc ngủ (Nighttime Routines)', step1: 'Thực hiện quy trình chuẩn bị đi ngủ (mặc đồ ngủ, đi vệ sinh, đánh răng) và nằm lên giường đúng giờ.', step2: 'Tự ngủ trên giường riêng suốt đêm mà không thức dậy đi lang thang hay gọi người nhà.', step3: 'Tự đặt đồng hồ báo thức, tự thức dậy đúng giờ vào buổi sáng và tự gấp chăn màn gọn gàng.' }, // ===================================================== // MÔ-ĐUN 2: KỸ NĂNG TẠI GIA ĐÌNH (HOME SKILLS • 7 LĨNH VỰC) // ===================================================== { id: 9, mod: 'home', code: 'HMS-1', name: '9. Ăn uống Tại Nhà & Phép lịch sự trên bàn ăn (Meals at Home)', step1: 'Tự dùng thìa, đũa/nĩa ăn uống gọn gàng tại bàn ăn và tự rót nước từ bình ra cốc.', step2: 'Phụ giúp bày bát đũa lên bàn ăn trước bữa cơm và tự mang bát đĩa bẩn của mình ra bồn rửa sau khi ăn.', step3: 'Sử dụng dao cắt thức ăn mềm, mời cơm, lấy thức ăn vừa đủ và giữ tác phong lịch sự suốt bữa ăn gia đình.' }, { id: 10, mod: 'home', code: 'HMS-2', name: '10. Rửa bát & Dọn dẹp Bồn rửa (Dishes)', step1: 'Tráng sạch thức ăn thừa trên bát đĩa và phân loại bát, đĩa, thìa đũa vào bồn rửa.', step2: 'Tự rửa sạch bát đĩa bằng nước rửa chén, tráng sạch bọt và úp lên giá phơi khô.', step3: 'Xếp bát đĩa vào máy rửa bát (hoặc cất bát đĩa đã khô vào đúng ngăn tủ bếp) và lau khô mặt bàn bếp.' }, { id: 11, mod: 'home', code: 'HMS-3', name: '11. Quần áo & Giặt ủi (Clothing and Laundry)', step1: 'Bỏ quần áo bẩn vào giỏ giặt mỗi ngày và phân loại quần áo sạch của mình.', step2: 'Biết gấp gọn áo phông, quần dài, tất và treo áo sơ mi/áo khoác lên móc treo vào tủ.', step3: 'Tự phân loại đồ trắng/đồ màu, cho quần áo và nước giặt vào máy giặt, bấm nút giặt, phơi đồ và là (ủi) quần áo cơ bản.' }, { id: 12, mod: 'home', code: 'HMS-4', name: '12. Dọn dẹp Nhà cửa & Việc nhà (Housekeeping and Chores)', step1: 'Tự cất đồ chơi/đồ dùng sau khi dùng, lau bàn và bỏ rác vào thùng rác.', step2: 'Quét nhà, hút bụi sàn nhà, lau nhà bằng cây lau và buộc túi rác mang ra nơi tập kết.', step3: 'Tự dọn phòng ngủ cá nhân, thay vỏ chăn ga gối, lau chùi bồn rửa mặt/nhà vệ sinh và chăm sóc cây cảnh/thú cưng.' }, { id: 13, mod: 'home', code: 'HMS-5', name: '13. Cơ học Gia dụng & Sửa chữa Vặt (Household Mechanics)', step1: 'Sử dụng thành thạo chìa khóa để mở/khóa cửa nhà, bật/tắt quạt, điều hòa và kéo rèm cửa.', step2: 'Biết thay pin cho điều khiển từ xa/đồng hồ và biết dùng tua-vít/dụng cụ cơ bản an toàn.', step3: 'Biết thay bóng đèn bàn, xử lý khi mất điện (dùng đèn pin) và khóa van nước/ngắt cầu dao khi có sự cố rò rỉ.' }, { id: 14, mod: 'home', code: 'HMS-6', name: '14. Kỹ năng Giải trí Lành mạnh Tại nhà (Home Leisure)', step1: 'Tự chơi đồ chơi, xem sách tranh, nghe nhạc hoặc tô màu độc lập trong 20–30 phút.', step2: 'Tham gia chơi cờ cá ngựa, Uno, lắp ráp mô hình hoặc chơi thể thao vận động cùng người thân.', step3: 'Tự quản lý thời gian giải trí hợp lý (không nghiện màn hình điện thoại/tivi quá giờ quy định) và theo đuổi sở thích lành mạnh.' }, { id: 15, mod: 'home', code: 'HMS-7', name: '15. Kỹ năng Bếp núc & Nấu ăn (Kitchen and Cooking)', step1: 'Tự lấy đồ ăn trong tủ lạnh, bóc vỏ trái cây (chuối, quýt), phết bơ/mứt lên bánh mì và pha sữa/ngũ cốc.', step2: 'Rửa sạch rau củ, sử dụng lò vi sóng, ấm đun siêu tốc, nồi cơm điện để hâm nóng thức ăn và cắm cơm an toàn.', step3: 'Sử dụng dao gọt/thái thực phẩm an toàn và tự nấu được các món ăn cơ bản (luộc trứng/rau, rán trứng, nấu mì) trên bếp.' }, // ===================================================== // MÔ-ĐUN 3: KỸ NĂNG THAM GIA CỘNG ĐỒNG (COMMUNITY PARTICIPATION • 7 LĨNH VỰC) // ===================================================== { id: 16, mod: 'comm', code: 'CPS-1', name: '16. Di chuyển Cơ bản & An toàn Giao thông (Basic Mobility)', step1: 'Đi bộ trên vỉa hè cạnh người lớn mà không tự ý chạy lao xuống lòng đường; thắt dây an toàn khi ngồi ô tô/đội mũ bảo hiểm khi đi xe máy.', step2: 'Hiểu tín hiệu đèn giao thông (Đèn đỏ dừng lại, Đèn xanh đi) và quan sát Trái – Phải – Trái trước khi qua đường tại vạch kẻ.', step3: 'Tự đi bộ an toàn đến các địa điểm gần nhà (cửa hàng, trường học, công viên) và nhận diện các biển báo công cộng.' }, { id: 17, mod: 'comm', code: 'CPS-2', name: '17. Kiến thức & Ứng xử Nơi Công cộng (Community Knowledge)', step1: 'Giữ trật tự nơi công cộng, biết xếp hàng chờ đến lượt và nhận biết biểu tượng nhà vệ sinh Nam / Nữ.', step2: 'Biết chức năng của các địa điểm trong cộng đồng (Bệnh viện, Siêu thị, Bưu điện, Đồn công an, Hiệu cắt tóc, Thư viện).', step3: 'Biết tìm nhân viên bảo vệ/công an hoặc người có thẻ tên để nhờ giúp đỡ khi bị lạc hoặc gặp sự cố ngoài đường.' }, { id: 18, mod: 'comm', code: 'CPS-3', name: '18. Kỹ năng Đi Siêu thị & Mua sắm (Shopping)', step1: 'Đi cùng người lớn trong siêu thị, đẩy xe hàng cẩn thận và không tự ý bóc đồ ăn khi chưa thanh toán.', step2: 'Tìm đúng các món đồ cần mua theo danh sách hình ảnh/chữ viết và mang ra quầy thu ngân xếp hàng.', step3: 'Kiểm tra giá tiền, hạn sử dụng trên bao bì, tự thanh toán tại quầy thu ngân, nhận lại tiền thừa/hóa đơn và xách đồ về.' }, { id: 19, mod: 'comm', code: 'CPS-4', name: '19. Ăn uống Tại Nhà hàng / Quán ăn (Meals in Public)', step1: 'Ngồi yên tại bàn ăn trong nhà hàng/quán ăn và chờ đợi trong lúc món ăn đang được chuẩn bị.', step2: 'Xem thực đơn (menu) để tự chọn món ăn/đồ uống mình muốn và tự lấy khay/ống hút/khăn giấy tại quầy tự phục vụ.', step3: 'Tự gọi món trực tiếp với nhân viên phục vụ, ăn uống lịch sự nơi đông người và tự thanh toán hóa đơn bữa ăn.' }, { id: 20, mod: 'comm', code: 'CPS-5', name: '20. Kỹ năng Tiền tệ & Thanh toán (Money)', step1: 'Nhận biết và phân loại chính xác các mệnh giá tiền giấy Việt Nam (1.000đ → 500.000đ).', step2: 'Đếm tổng số tiền đang có trong ví và biết mệnh giá nào đủ để mua một món hàng có ghi giá sẵn.', step3: 'Tính nhẩm tiền thừa cần nhận lại khi mua hàng và biết sử dụng thẻ thanh toán / ví điện tử an toàn.' }, { id: 21, mod: 'comm', code: 'CPS-6', name: '21. Kỹ năng Sử dụng Điện thoại (Phone)', step1: 'Biết nghe điện thoại khi có người thân gọi đến, chào hỏi và đưa máy cho bố mẹ khi cần.', step2: 'Tự mở danh bạ gọi điện thoại/gọi video cho bố mẹ, người thân và trả lời đúng mình đang ở đâu.', step3: 'Biết gọi các số điện thoại khẩn cấp (113, 114, 115), nhắn tin văn bản lịch sự và bảo mật thông tin trên điện thoại.' }, { id: 22, mod: 'comm', code: 'CPS-7', name: '22. Kỹ năng Thời gian & Lịch trình (Time)', step1: 'Phân biệt các buổi trong ngày (Sáng, Trưa, Chiều, Tối) và làm theo thời khóa biểu hình ảnh/chữ viết.', step2: 'Đọc giờ đúng và giờ lẻ phút trên đồng hồ điện tử và đồng hồ kim; đọc thứ, ngày, tháng trên lịch.', step3: 'Ước lượng thời gian di chuyển, tự quản lý lịch hẹn cá nhân và luôn có mặt đúng giờ quy định.' }, // ===================================================== // MÔ-ĐUN 4: KỸ NĂNG HỌC ĐƯỜNG (SCHOOL SKILLS • 7 LĨNH VỰC) // ===================================================== { id: 23, mod: 'school', code: 'SCS-1', name: '23. Nội quy Lớp học & Tự tổ chức Học tập (Classroom Routines)', step1: 'Tự đi vào lớp, cất cặp sách, lấy sách vở theo môn học và ngồi học nghiêm túc trong suốt tiết học.', step2: 'Làm theo hướng dẫn chung của giáo viên cho cả lớp, tự giơ tay xin phát biểu hoặc xin phép đi vệ sinh.', step3: 'Tự ghi chép bài tập về nhà vào sổ dặn dò, tự chuẩn bị cặp sách cho ngày hôm sau và nộp bài đúng hạn.' }, { id: 24, mod: 'school', code: 'SCS-2', name: '24. Kỹ năng Ăn bán trú tại Căng-tin Trường (Meals at School)', step1: 'Xếp hàng nhận khay cơm bán trú hoặc tự mở hộp cơm trưa mang từ nhà đi.', step2: 'Ngồi ăn đúng vị trí cùng các bạn cùng lớp trong thời gian quy định mà không rời bàn.', step3: 'Tự dọn khay cơm, phân loại rác/thức ăn thừa và xếp bát thìa vào đúng khay thu gom của nhà ăn trường.' }, { id: 25, mod: 'school', code: 'SCS-3', name: '25. Kỹ năng Xã hội Học đường & Làm việc Nhóm (School Social Skills)', step1: 'Chào hỏi thầy cô và bạn bè, tham gia các hoạt động giờ ra chơi mà không xô đẩy hay giật đồ.', step2: 'Hợp tác làm bài tập nhóm với 2–3 bạn cùng lớp, biết chia sẻ dụng cụ học tập và lắng nghe ý kiến bạn.', step3: 'Nhận biết hành vi bắt nạt học đường để báo giáo viên và biết cách từ chối khi bạn rủ làm việc sai nội quy.' }, { id: 26, mod: 'school', code: 'SCS-4', name: '26. Sử dụng Công nghệ & Máy tính (Technology)', step1: 'Biết bật/tắt máy tính/máy tính bảng, sử dụng chuột và bàn phím để mở phần mềm học tập.', step2: 'Đánh máy văn bản tiếng Việt có dấu, lưu file tài liệu vào thư mục và in tài liệu.', step3: 'Tra cứu thông tin học tập an toàn trên Internet, gửi email nộp bài và tuân thủ quy tắc an toàn mạng.' }, { id: 27, mod: 'school', code: 'SCS-5', name: '27. Kiến thức Tự nhiên & Xã hội Chung (Common Knowledge)', step1: 'Nhận biết các mùa, hiện tượng thời tiết, các ngày lễ lớn và các nghề nghiệp phổ biến trong xã hội.', step2: 'Hiểu chức năng các bộ phận cơ thể, tháp dinh dưỡng lành mạnh và quy luật sinh trưởng của cây cối/động vật.', step3: 'Nắm được kiến thức địa lý cơ bản (tỉnh thành, đất nước) và các quy định ứng xử văn minh công cộng.' }, { id: 28, mod: 'school', code: 'SCS-6', name: '28. Học thuật Cốt lõi: Đọc hiểu, Viết & Toán (Core Academics)', step1: 'Đọc trơn đoạn văn bản, chép bài từ bảng vào vở rõ ràng và thực hiện phép cộng trừ trong phạm vi 100.', step2: 'Tóm tắt ý chính bài đọc, viết đoạn văn ngắn theo chủ đề và làm phép nhân chia/giải toán có lời văn.', step3: 'Sử dụng máy tính bỏ túi (Calculator), từ điển tra cứu và hoàn thành bài kiểm tra trên lớp độc lập.' }, { id: 29, mod: 'school', code: 'SCS-7', name: '29. Học thuật Ứng dụng Đời sống (Applied Academics)', step1: 'Đọc hiểu các biển báo chỉ dẫn trong trường và cộng trừ số lượng đồ dùng thực tế.', step2: 'Đo chiều dài bằng thước kẻ, cân khối lượng nguyên liệu, đong thể tích nước và xem nhiệt kế.', step3: 'Đọc hiểu thời khóa biểu, bảng hướng dẫn sử dụng sản phẩm, công thức nấu ăn và lập bảng tính tiền đơn giản.' }, // ===================================================== // MÔ-ĐUN 5: KỸ NĂNG HƯỚNG NGHIỆP & VIỆC LÀM (VOCATIONAL SKILLS • 7 LĨNH VỰC) // ===================================================== { id: 30, mod: 'voc', code: 'VOC-1', name: '30. Tìm kiếm Việc làm & Hồ sơ Xin việc (Job Search)', step1: 'Nhận biết các công việc phù hợp với sở thích và thế mạnh của bản thân.', step2: 'Điền đầy đủ thông tin cá nhân vào mẫu Đơn xin việc / Sơ yếu lý lịch (CV) trên giấy hoặc máy tính.', step3: 'Tìm kiếm thông tin tuyển dụng và nộp hồ sơ ứng tuyển đúng quy trình.' }, { id: 31, mod: 'voc', code: 'VOC-2', name: '31. Kỹ năng Phỏng vấn Xin việc (Interview Skills)', step1: 'Ăn mặc chỉnh tề, gọn gàng, đến đúng giờ hẹn phỏng vấn và chào hỏi người phỏng vấn lịch sự.', step2: 'Duy trì tư thế ngồi ngay ngắn, giao tiếp mắt phù hợp và trả lời rõ ràng các câu hỏi về kỹ năng bản thân.', step3: 'Đặt câu hỏi phù hợp về công việc/lịch làm việc và nói lời cảm ơn khi kết thúc buổi phỏng vấn.' }, { id: 32, mod: 'voc', code: 'VOC-3', name: '32. Tác phong & Kỹ năng Làm việc Cốt lõi (Basic Work Skills)', step1: 'Đi làm đúng giờ, chấm công, mặc đồng phục/đeo thẻ nhân viên và bắt tay vào việc ngay.', step2: 'Duy trì làm việc liên tục trong ca làm việc (2–4 tiếng), tuân thủ giờ nghỉ giải lao và tự chuyển sang nhiệm vụ tiếp theo khi làm xong.', step3: 'Đảm bảo tốc độ và chất lượng sản phẩm đạt chuẩn, tự kiểm tra lỗi sai và dọn dẹp gọn gàng khu vực làm việc cuối ca.' }, { id: 33, mod: 'voc', code: 'VOC-4', name: '33. Quan hệ Đồng nghiệp & Cấp trên (Coworker & Supervisor Relations)', step1: 'Chào hỏi đồng nghiệp/quản lý, giữ khoảng cách giao tiếp lịch sự và không tự ý lấy đồ của đồng nghiệp.', step2: 'Chấp nhận lời góp ý sửa sai từ người quản lý một cách bình tĩnh và điều chỉnh lại cách làm ngay.', step3: 'Biết chủ động báo cáo quản lý khi hết nguyên vật liệu, khi máy móc hỏng hoặc khi cần xin nghỉ phép.' }, { id: 34, mod: 'voc', code: 'VOC-5', name: '34. An toàn Lao động tại Nơi làm việc (Workplace Safety)', step1: 'Đeo đầy đủ trang bị bảo hộ (găng tay, khẩu trang, tạp dề, mũ) theo quy định của nơi làm việc.', step2: 'Nhận biết các biển cảnh báo an toàn (Sàn ướt, Điện cao thế, Lối thoát hiểm) và vận hành dụng cụ đúng quy trình.', step3: 'Xử lý đúng quy trình khi có sự cố đổ vỡ/cháy nổ và báo ngay cho bộ phận an toàn.' }, { id: 35, mod: 'voc', code: 'VOC-6', name: '35. Kỹ năng Nghề Văn phòng, Siêu thị & Kho bãi (Office, Retail & Warehouse)', step1: 'Phân loại hàng hóa/tài liệu theo mã số, dán nhãn giá, đóng gói sản phẩm vào hộp đúng số lượng.', step2: 'Sắp xếp hàng hóa lên kệ siêu thị ngay ngắn (hàng hạn cũ xếp ra ngoài), photocopy và hủy giấy tờ.', step3: 'Kiểm kê số lượng tồn kho, nhập dữ liệu cơ bản vào máy tính và hỗ trợ khách hàng tìm vị trí sản phẩm.' }, { id: 36, mod: 'voc', code: 'VOC-7', name: '36. Kỹ năng Nghề Dịch vụ, Nhà hàng & Làm bánh/Nông nghiệp (Service & Hospitality)', step1: 'Lau dọn bàn ghế nhà hàng, gấp khăn ăn, xếp bộ dao nĩa và thu gom bát đĩa bẩn.', step2: 'Sơ chế nguyên liệu làm bánh/pha chế theo công thức định lượng hoặc chăm sóc tưới cây nhà kính.', step3: 'Phục vụ đồ ăn/đồ uống cho khách lịch sự và duy trì tiêu chuẩn vệ sinh an toàn thực phẩm.' }, // ===================================================== // MÔ-ĐUN 6: KỸ NĂNG SỐNG ĐỘC LẬP (INDEPENDENT LIVING SKILLS • 6 LĨNH VỰC) // ===================================================== { id: 37, mod: 'indep', code: 'ILS-1', name: '37. Quản lý Tài chính Cá nhân & Chi tiêu (Money Management)', step1: 'Hiểu khái niệm thu nhập, tiết kiệm và giữ gìn tiền mặt/thẻ ngân hàng cẩn thận không làm mất.', step2: 'Lập ngân sách chi tiêu hàng tuần trong giới hạn số tiền cho phép (ưu tiên nhu cầu thiết yếu trước sở thích).', step3: 'Sử dụng cây ATM/ứng dụng ngân hàng an toàn, thanh toán hóa đơn sinh hoạt và tuyệt đối không cho người lạ vay/chuyển tiền.' }, { id: 38, mod: 'indep', code: 'ILS-2', name: '38. Đi lại Độc lập bằng Phương tiện Công cộng (Community Transportation)', step1: 'Đi bộ hoặc đi xe đạp an toàn trên các tuyến đường quen thuộc quanh khu dân cư.', step2: 'Biết tra cứu tuyến xe buýt/tàu điện, chờ tại trạm, quẹt thẻ/mua vé và bấm chuông xuống đúng bến.', step3: 'Biết đặt xe công nghệ hoặc xử lý khi nhỡ chuyến xe/lạc đường (gọi người thân, xem bản đồ định vị).' }, { id: 39, mod: 'indep', code: 'ILS-3', name: '39. Tự Chăm sóc Y tế & Quản lý Thuốc men (Personal Health & Medication)', step1: 'Nhận biết các triệu chứng ốm thông thường (sốt, đau đầu, đau bụng, cảm cúm) và biết cặp nhiệt độ.', step2: 'Sử dụng hộp chia thuốc theo ngày để tự uống thuốc định kỳ đúng liều lượng và đúng giờ.', step3: 'Biết trình thẻ Bảo hiểm y tế/CCCD khi đi khám bệnh và mô tả triệu chứng rõ ràng với bác sĩ.' }, { id: 40, mod: 'indep', code: 'ILS-4', name: '40. Quản lý Không gian Sống & An ninh Nhà ở (Living Space Management)', step1: 'Luôn kiểm tra khóa cửa, tắt bếp, tắt điện nước trước khi ra khỏi nhà hoặc trước khi đi ngủ.', step2: 'Lập danh sách thực phẩm/nhu yếu phẩm trong nhà sắp hết để chủ động đi mua bổ sung.', step3: 'Không mở cửa cho người lạ vào nhà và biết liên hệ ban quản lý tòa nhà/thợ sửa chữa khi hỏng điện nước.' }, { id: 41, mod: 'indep', code: 'ILS-5', name: '41. Tư duy Giải quyết Vấn đề Đời sống (Everyday Problem Solving)', step1: 'Bình tĩnh tìm phương án thay thế khi gặp sự cố nhỏ (như hết món ăn yêu thích, trời mưa bất chợt, quên mang ô).', step2: 'Biết tìm kiếm sự trợ giúp từ những nguồn đáng tin cậy khi gặp tình huống vượt quá khả năng tự xử lý.', step3: 'Nhận diện được các tình huống lừa đảo qua điện thoại/mạng xã hội hoặc lợi dụng tài chính/tình cảm.' }, { id: 42, mod: 'indep', code: 'ILS-6', name: '42. Giao tiếp Xã hội Người lớn & Tự bảo vệ Quyền lợi (Social & Self-Advocacy)', step1: 'Phân biệt rõ mối quan hệ (Người thân, Bạn bè, Đồng nghiệp, Người quen sơ, Người lạ) để có giới hạn tiếp xúc phù hợp.', step2: 'Biết nói lời "Không" một cách kiên quyết và lịch sự khi bị ép làm điều mình không thoải mái hoặc vi phạm quy tắc.', step3: 'Chủ động trình bày nhu cầu hỗ trợ chính đáng của bản thân ở trường học/nơi làm việc (Self-Advocacy).' } ]; let activeMod = 'all'; // 'all' | 'basic' | 'home' | 'comm' | 'school' | 'voc' | 'indep' // scores[id] lưu mức độ độc lập trên thang 0..4 của AFLS: // 0 (0% - Chưa làm được), 1 (25% - Cần cầm tay/nhắc nhiều), 2 (50% - Cần gợi ý lời nói), 3 (75% - Cần giám sát nhẹ), 4 (100% - Độc lập hoàn toàn) let scores = {}; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .af-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .af-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .af-inner { padding: 24px; max-width: 980px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .af-wrap.is-fullscreen .af-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .af-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(13, 148, 136, 0.45), 0 0 0 0 rgba(13, 148, 136, 0.4); } 70% { box-shadow: 0 6px 20px rgba(13, 148, 136, 0.45), 0 0 0 10px rgba(13, 148, 136, 0); } 100% { box-shadow: 0 6px 20px rgba(13, 148, 136, 0.45), 0 0 0 0 rgba(13, 148, 136, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #0f766e 0%, #0d9488 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(13, 148, 136, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Bộ chuyển đổi 6 Mô-đun AFLS */ .mod-switcher-box { background: #f1f5f9; padding: 10px; border-radius: 12px; margin-bottom: 18px; } .mod-switcher-lbl { font-size: 12px; font-weight: 800; color: #334155; text-transform: uppercase; margin-bottom: 8px; display: block; } .mod-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 6px; } .mod-btn { padding: 9px 8px; border-radius: 9px; border: 1.5px solid transparent; background: rgba(255, 255, 255, 0.65); cursor: pointer; text-align: left; transition: all 0.18s ease; touch-action: manipulation; } .mod-btn:hover { background: #ffffff; } .mod-btn.active { background: #ffffff; border-color: #0d9488; box-shadow: 0 3px 10px rgba(15, 23, 42, 0.08); } .mod-btn-title { font-size: 12.2px; font-weight: 800; color: #0f172a; display: block; line-height: 1.25; } .mod-btn.active .mod-btn-title { color: #0f766e; } .mod-btn-sub { font-size: 10.5px; color: #64748b; margin-top: 2px; display: block; line-height: 1.2; } /* Header */ .af-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .af-header-text { flex: 1 1 260px; } .af-title { font-size: 20px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .af-desc { font-size: 13.8px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #f0fdfa; color: #0f766e; border: 1px solid #99f6e4; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #0d9488; color: #ffffff; border-color: #0d9488; } /* Controls */ .af-presets { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; margin-bottom: 16px; } .af-preset-lbl { font-size: 12.5px; font-weight: 700; color: #475569; margin-right: 4px; } .af-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; touch-action: manipulation; } .af-pbtn:hover { background: #f1f5f9; } .af-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } /* Sticky Dashboard */ .af-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .af-wrap.is-fullscreen .af-dash { top: 58px; } .af-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .af-score-big { font-size: 21px; font-weight: 800; line-height: 1.2; } .af-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .af-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .af-pillars { display: grid; grid-template-columns: repeat(6, 1fr); gap: 6px; font-size: 11.5px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .af-pillar-box { background: #1e293b; padding: 7px 8px; border-radius: 8px; } .af-pillar-val { font-weight: 800; color: #ffffff; font-size: 13px; display: block; margin-top: 2px; } /* Danh sách 42 Lĩnh vực AFLS */ .af-item { border: 1px solid #e2e8f0; border-radius: 12px; padding: 14px 16px; margin-bottom: 12px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 8px; } .af-item.mastered { border-color: #a7f3d0; background: #f0fdf4; } .af-item.emerging { border-color: #fde68a; background: #fffbeb; } .af-item-title { font-size: 15px; font-weight: 800; color: #0f172a; } .af-item-desc { font-size: 13.2px; color: #334155; line-height: 1.5; } .af-tags { display: flex; flex-wrap: wrap; gap: 6px; } .af-tag { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .af-ans-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; margin-top: 4px; } .af-abtn { padding: 8px 6px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 700; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .af-abtn:hover { border-color: #64748b; } .af-abtn.sel-0 { background: #ef4444; border-color: #ef4444; color: #ffffff; } .af-abtn.sel-1, .af-abtn.sel-2 { background: #f59e0b; border-color: #f59e0b; color: #ffffff; } .af-abtn.sel-3 { background: #0284c7; border-color: #0284c7; color: #ffffff; } .af-abtn.sel-4 { background: #10b981; border-color: #10b981; color: #ffffff; } /* Biểu đồ 6 Mô-đun & Hộp trích xuất IEP/ISP */ .af-chart-card { margin-top: 20px; padding: 16px 18px; border-radius: 12px; background: #ffffff; border: 1px solid #e2e8f0; } .af-bar-row { display: flex; align-items: center; gap: 10px; margin-bottom: 9px; font-size: 12.5px; } .af-bar-lbl { width: 265px; flex-shrink: 0; font-weight: 600; color: #334155; } .af-bar-track { flex: 1; height: 16px; background: #f1f5f9; border-radius: 999px; overflow: hidden; } .af-bar-val { width: 125px; text-align: right; font-weight: 700; color: #0f172a; flex-shrink: 0; } .af-iep-box { margin-top: 16px; padding: 16px 18px; border-radius: 12px; background: #fffbeb; border: 1px solid #fde68a; border-left: 5px solid #f59e0b; font-size: 13.8px; color: #78350f; line-height: 1.6; } .af-iep-title { font-size: 15px; font-weight: 800; color: #92400e; margin-bottom: 8px; } .af-result-box { margin-top: 16px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #0d9488; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 780px) { .af-inner { padding: 14px; } .mod-grid { grid-template-columns: 1fr 1fr; } .af-title { font-size: 18px; } .af-pillars { grid-template-columns: repeat(2, 1fr); } .af-ans-grid { grid-template-columns: 1fr 1fr; } .af-bar-lbl { width: 145px; font-size: 11.5px; } .af-pbtn.reset { margin-left: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
Hệ Thống Đánh Giá Các Kỹ Năng Sống Chức Năng AFLS Toàn Diện (6 Mô-đun • 42 Lĩnh Vực)
Công cụ tiêu chuẩn của Tiến sĩ James Partington & Michael Mueller (2012) đo lường mức độ tự lập thực tế từ 2 tuổi đến tuổi trưởng thành qua 6 Mô-đun: Sống Cơ bản, Tại Gia đình, Cộng đồng, Học đường, Hướng nghiệp và Sống Độc lập.
`; } else { const mCfg = moduleConfigs[activeMod]; headerInfo.innerHTML = `${mCfg.fullTitle}
${mCfg.desc}
`; } } function renderItems() { itemList.innerHTML = ''; const scaleBtns = [ { val: 0, lbl: '0đ - Chưa làm được (0%)' }, { val: 1, lbl: '1đ - Cần cầm tay/nhắc nhiều (25% ★)' }, { val: 2, lbl: '2đ - Cần gợi ý lời nói (50% ★)' }, { val: 3, lbl: '3đ - Cần giám sát nhẹ (75% ★)' }, { val: 4, lbl: '4đ - Độc lập hoàn toàn (100%)' } ]; domains.forEach(function(d) { if (activeMod !== 'all' && d.mod !== activeMod) return; const uVal = (scores[d.id] !== undefined) ? scores[d.id] : 0; const mCfg = moduleConfigs[d.mod]; let rowCls = 'af-item'; if (uVal === 4) rowCls += ' mastered'; else if (uVal >= 1 && uVal { const cls = 'af-abtn' + (uVal === b.val ? ` sel-${b.val}` : ''); return ``; }).join(''); const el = document.createElement('div'); el.className = rowCls; el.innerHTML = `• Cấp độ Mở rộng (Mức 3): ${d.step2}
• Cấp độ Độc lập Hoàn toàn (Mức 4): ${d.step3}
'); iepBox.innerHTML = `
• 1. Mô-đun Kỹ năng Sống Cơ bản (Basic Living Skills): Đạt ${getModPct('basic')}% — ${getModPct('basic') < 70 ? 'Cần ưu tiên tuyệt đối việc hoàn thiện kỹ năng Đi vệ sinh, Mặc đồ, Tắm rửa, Chải chuốt và An toàn cơ bản trước.' : 'Nền tảng tự chăm sóc bản thân đã vững vàng.'}
• 2. Mô-đun Tại Gia đình (${getModPct('home')}%) & Cộng đồng (${getModPct('comm')}%): Phản ánh khả năng tự phục vụ bữa ăn, làm việc nhà, đi lại an toàn và mua sắm ngoài xã hội.
• 3. Mô-đun Học đường (${getModPct('school')}%), Hướng nghiệp (${getModPct('voc')}%) & Sống Độc lập (${getModPct('indep')}%): Định hướng lộ trình chuyển tiếp sang lao động nghề nghiệp có hỗ trợ và tự chủ ở tuổi trưởng thành. `; updateFloatingFabVisibility(); } function applyPreset(type) { scores = {}; domains.forEach(d => { scores[d.id] = 0; }); if (type === 'reset') { renderItems(); updateSummary(); return; } if (type === 'child_basic') { // Trẻ nhỏ đang rèn Sống cơ bản (Mức 2-3), Gia đình & Học đường (Mức 1-2) domains.forEach(d => { if (d.mod === 'basic') scores[d.id] = (d.id % 2 === 0) ? 3 : 2; else if (d.mod === 'home' || d.mod === 'school') scores[d.id] = (d.id % 2 === 0) ? 2 : 1; else if (d.mod === 'comm') scores[d.id] = 1; else scores[d.id] = 0; }); } else if (type === 'teen_transition') { // Thiếu niên: Sống cơ bản thành thạo (Mức 4), Gia đình & Học đường & Cộng đồng khá (Mức 2-3), bắt đầu Hướng nghiệp (Mức 1-2) domains.forEach(d => { if (d.mod === 'basic') scores[d.id] = 4; else if (d.mod === 'home' || d.mod === 'school') scores[d.id] = 3; else if (d.mod === 'comm') scores[d.id] = (d.id % 2 === 0) ? 3 : 2; else if (d.mod === 'voc' || d.mod === 'indep') scores[d.id] = (d.id % 2 === 0) ? 2 : 1; }); } else if (type === 'adult_voc') { // Thanh niên / Người lớn hướng nghiệp & sống bán độc lập domains.forEach(d => { if (d.mod === 'basic' || d.mod === 'home') scores[d.id] = 4; else if (d.mod === 'comm' || d.mod === 'school') scores[d.id] = (d.id % 2 === 0) ? 4 : 3; else scores[d.id] = (d.id % 2 === 0) ? 3 : 2; }); } renderItems(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); afWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { afWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 980px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } shadow.querySelectorAll('#modGrid .mod-btn').forEach(function(btn) { btn.onclick = function() { activeMod = this.getAttribute('data-mod'); shadow.querySelectorAll('#modGrid .mod-btn').forEach(b => b.classList.remove('active')); this.classList.add('active'); renderHeader(); renderItems(); updateSummary(); }; }); shadow.querySelectorAll('.af-pbtn').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-preset')); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); renderHeader(); applyPreset('teen_transition'); })();
AFLS (Assessment of Functional Living Skills): Cùng “họ” với VB-MAPP và ABLLS-R, nhưng chuyên đánh giá kỹ năng sống độc lập, tự phục vụ, hòa nhập cộng đồng và hướng nghiệp cho trẻ từ 2 tuổi đến trưởng thành.
AFLS (Assessment of Functional Living Skills — Đánh giá các Kỹ năng Sống Chức năng) là công cụ đánh giá, hệ thống theo dõi kỹ năng và hướng dẫn chương trình giảng dạy nối tiếp trực tiếp của ABLLS-R, do Tiến sĩ James W. Partington và Tiến sĩ Michael M. Mueller phát triển (xuất bản năm 2012 bởi Behavior Analysts, Inc.).
Nếu như VB-MAPP, ESDM hay ABLLS-R tập trung vào giai đoạn can thiệp sớm và ngôn ngữ học thuật nền tảng cho trẻ nhỏ, thì AFLS giải quyết bài toán lớn nhất của các gia đình có con Tự kỷ và Chậm phát triển từ 2 tuổi đến suốt tuổi trưởng thành: làm sao để cá nhân có thể tự chăm sóc bản thân, sống tự lập tại nhà, đi lại an toàn ngoài cộng đồng, hòa nhập trường học và làm việc kiếm sống mà ít phụ thuộc nhất vào cha mẹ hay người chăm sóc.
1. Cấu trúc 6 Mô-đun Đánh giá Độc lập của Hệ thống AFLS
Toàn bộ chương trình AFLS được thiết kế thành 6 Mô-đun (Assessment Protocols) bao gồm tổng cộng hơn 1.900 kỹ năng thực tế, có thể sử dụng độc lập hoặc kết hợp tùy theo độ tuổi và nhu cầu sống của người học:
| Mô-đun Đánh giá (Protocol) | Số lĩnh vực | Các Lĩnh vực Kỹ năng Thành phần Cốt lõi (Domains) | Mục tiêu Đầu ra Thực tiễn |
|
1. Kỹ năng Sống Cơ bản
(Basic Living Skills) |
8 lĩnh vực |
1. Tự quản lý hành vi (Self-Management)
2. Giao tiếp cơ bản (Basic Communication)
3. Mặc quần áo (Dressing)
4. Đi vệ sinh (Toileting)
5. Chải chuốt & Vệ sinh (Grooming)
6. Tắm rửa (Bathing)
7. Sức khỏe, An toàn & Sơ cứu (Health, Safety & First Aid)
8. Thói quen ban đêm & Giấc ngủ (Nighttime Routines) |
Thiết lập những kỹ năng sinh tồn và tự chăm sóc cơ bản nhất mà bất kỳ cá nhân nào cũng cần có để không phụ thuộc hoàn toàn vào người chăm sóc 24/24. |
|
2. Kỹ năng Tại Gia đình
(Home Skills) |
7 lĩnh vực |
1. Ăn uống tại nhà (Meals at Home)
2. Rửa bát & Dọn bếp (Dishes)
3. Quần áo & Giặt ủi (Clothing and Laundry)
4. Dọn dẹp & Việc nhà (Housekeeping and Chores)
5. Cơ học & Sửa chữa vặt (Household Mechanics)
6. Giải trí tại nhà (Leisure)
7. Bếp núc & Nấu ăn (Kitchen and Cooking) |
Giúp cá nhân trở thành một thành viên đóng góp tích cực trong gia đình và tiến tới khả năng sống tự lập / bán tự lập trong căn hộ riêng. |
|
3. Kỹ năng Tham gia Cộng đồng
(Community Participation) |
7 lĩnh vực |
1. Di chuyển cơ bản & Qua đường (Basic Mobility)
2. Kiến thức cộng đồng (Community Knowledge)
3. Mua sắm siêu thị/cửa hàng (Shopping)
4. Ăn uống tại nhà hàng (Meals in Public)
5. Tiền tệ & Ngân hàng (Money)
6. Điện thoại (Phone)
7. Thời gian & Lịch trình (Time) |
Trang bị kỹ năng đi lại an toàn trên đường phố, sử dụng phương tiện công cộng, tự đi siêu thị mua đồ, trả tiền, xem giờ và xử lý tình huống khẩn cấp. |
|
4. Kỹ năng Học đường
(School Skills) |
9 lĩnh vực |
1. Nội quy lớp học (Classroom Routines)
2. Ăn trưa ở trường (Meals at School)
3. Kỹ năng xã hội học đường (Social Skills)
4. Công nghệ máy tính (Technology)
5. Kiến thức chung (Common Knowledge)
6. Học thuật cốt lõi (Core Academics)
7. Học thuật ứng dụng (Applied Academics) |
Tối ưu hóa khả năng thích ứng từ cấp Tiểu học, Trung học cơ sở đến Trung học phổ thông mà giảm dần sự kèm cặp của giáo viên hỗ trợ 1:1. |
|
5. Kỹ năng Hướng nghiệp & Việc làm
(Vocational Skills) |
9 lĩnh vực |
1. Tìm kiếm việc làm & Hồ sơ (Job Search)
2. Phỏng vấn (Interview)
3. Kỹ năng làm việc cốt lõi (Basic Work Skills)
4. Quan hệ đồng nghiệp & Quản lý (Coworker Relations)
5. An toàn lao động (Workplace Safety)
6. Kỹ năng nghề cố định (Fixed Activity Skills: Văn phòng, Bán lẻ, Kho bãi, Nhà hàng, Vệ sinh…) |
Chuẩn bị cho thanh thiếu niên và người trưởng thành tự kỷ tham gia lao động có hỗ trợ hoặc làm việc độc lập tạo thu nhập. |
|
6. Kỹ năng Sống Độc lập
(Independent Living Skills) |
11 lĩnh vực | Quản lý tài chính cá nhân, Thuê nhà/Hóa đơn, Chăm sóc y tế/Uống thuốc, Đi lại đường dài, Tư duy giải quyết vấn đề đời sống, Quan hệ xã hội & Tự bảo vệ quyền lợi (Self-Advocacy). | Đỉnh cao của sự tự chủ ở tuổi trưởng thành. |
2. Quy tắc Chấm điểm (0 – 2 và 0 – 4) & Biểu đồ Lưới Độc lập (AFLS Independence Grid)
Giống như người anh em ABLLS-R, AFLS sử dụng hệ thống chấm điểm phân bậc nhiệm vụ để đo chính xác Mức độ Hỗ trợ Cần thiết:
-
0 điểm: Chưa thực hiện được kỹ năng hoặc kháng cự. -
1 điểm(Cần nhắc nhở nhiều / Hỗ trợ thể chất – ~25%): Thực hiện được một phần nhỏ khi có người cầm tay chỉ việc hoặc nhắc liên tục từng bước. -
2 điểm(Cần gợi ý lời nói / Cử chỉ – ~50%): Tự làm được các thao tác nhưng vẫn cần người đứng cạnh nhắc “Bước tiếp theo làm gì?”. -
3 điểm(Gần độc lập / Cần giám sát nhẹ – ~75%): Tự thực hiện được quy trình nhưng đôi khi còn sót chi tiết hoặc cần người kiểm tra lại kết quả cuối cùng. -
4 điểm(Độc lập hoàn toàn – 100% Mastered): Tự khởi xướng và hoàn thành trọn vẹn công việc đúng tiêu chuẩn chất lượng, an toàn và khái quát hóa ở nhiều bối cảnh mà không cần ai nhắc nhở.
[Hành vi thích ứng] Vineland-3: Thang đo lường hành vi thích ứng và năng lực tự lập từ sơ sinh đến trưởng thành
Vineland-3 (tên đầy đủ: Vineland Adaptive Behavior Scales – Third Edition) là một công cụ đánh giá chuẩn hóa hàng đầu thế giới trong lĩnh vực tâm lý học lâm sàng, giáo dục đặc biệt và y khoa phát triển. Công cụ này được thiết kế để đo lường hành vi thích ứng (adaptive behavior) của một cá nhân từ khi mới sinh (0 tuổi) đến 90 tuổi. Dưới đây là phiên bản online tiếng Việt giúp đánh giá kết quả rất và chính xác. Nên thực hiện trên màn hình máy tính sẽ trực quan hơn.
(function() { const host = document.getElementById('vn3-wp-host'); if (!host) return; // Thẻ giữ chỗ khi dùng DOM Portal đưa bảng ra thẳng document.body const placeholder = document.createComment('vn3-portal-placeholder'); // Khởi tạo Shadow DOM để cách ly 100% CSS với Theme WordPress const shadow = host.attachShadow({ mode: 'open' }); const domains = [ { id: 'comm', name: 'Giao tiếp (Communication)', core: true, subdomains: [ { id: 'rec', name: 'Tiếp nhận (Receptive)', items: [ 'Quay đầu hoặc nhìn theo khi được gọi tên', 'Hiểu và làm theo chỉ dẫn đơn giản 1 bước', 'Chỉ đúng các bộ phận cơ thể hoặc đồ vật quen thuộc khi được hỏi', 'Hiểu các câu hỏi "Ai", "Cái gì", "Ở đâu"', 'Làm theo chỉ dẫn gồm 2–3 bước liên tiếp không cần nhắc lại', 'Chú ý lắng nghe câu chuyện hoặc hướng dẫn trong 15 phút' ] }, { id: 'exp', name: 'Diễn đạt (Expressive)', items: [ 'Sử dụng cử chỉ hoặc từ đơn để yêu cầu đồ vật mong muốn', 'Nói được cụm từ 2–3 từ để diễn đạt ý muốn', 'Đặt câu hỏi "Cái gì đây?", "Tại sao?" phù hợp ngữ cảnh', 'Nói câu hoàn chỉnh có chủ ngữ - vị ngữ rõ ràng', 'Kể lại sự việc đã xảy ra trong ngày theo trình tự hợp lý', 'Duy trì cuộc trò chuyện qua lại nhiều lượt đúng chủ đề' ] }, { id: 'wri', name: 'Viết (Written)', items: [ 'Cầm sách đúng chiều và lật từng trang xem hình', 'Nhận biết các chữ cái trong bảng chữ cái và chữ số cơ bản', 'Tự viết hoặc tô theo được tên của bản thân', 'Đọc hiểu các từ đơn giản, biển báo hoặc nhãn hiệu quen thuộc', 'Đọc hiểu câu ngắn hoặc đoạn văn phù hợp lứa tuổi', 'Viết được câu ngắn hoặc tin nhắn có nghĩa rõ ràng' ] } ] }, { id: 'dls', name: 'Kỹ năng sống hàng ngày (Daily Living Skills)', core: true, subdomains: [ { id: 'per', name: 'Cá nhân (Personal)', items: [ 'Tự cầm cốc uống nước và dùng thìa xúc ăn gọn gàng', 'Thông báo hoặc tự đi vệ sinh đúng nơi quy định', 'Tự cởi và mặc quần áo đơn giản (quần thun, áo phông)', 'Tự rửa tay bằng xà phòng, lau khô và tự đánh răng', 'Tự tắm rửa sạch sẽ mà chỉ cần giám sát tối thiểu', 'Biết cài cúc áo, kéo khóa và buộc dây giày' ] }, { id: 'dom', name: 'Gia đình (Domestic)', items: [ 'Tự cất đồ chơi hoặc đồ dùng cá nhân vào đúng chỗ sau khi dùng', 'Bỏ rác vào thùng rác và phụ dọn bàn ăn', 'Biết lau bàn, quét nhà hoặc gấp quần áo đơn giản', 'Nhận biết và tránh các vật dụng nguy hiểm (ổ điện, nước sôi, dao)', 'Tự lấy đồ ăn nhẹ/nước uống và dọn dẹp sau khi ăn', 'Sử dụng an toàn một số thiết bị gia dụng cơ bản' ] }, { id: 'com', name: 'Cộng đồng (Community)', items: [ 'Nắm tay người lớn hoặc đi trên vỉa hè an toàn khi ra đường', 'Quan sát hai bên và tuân thủ tín hiệu đèn khi qua đường', 'Hiểu khái niệm thời gian cơ bản (sáng/tối, hôm qua/ngày mai)', 'Nhận biết công dụng của tiền và phân biệt các mệnh giá tiền', 'Xem được giờ trên đồng hồ kim hoặc đồng hồ điện tử', 'Biết mua món đồ nhỏ và kiểm tra tiền thừa hoặc dùng điện thoại liên lạc' ] } ] }, { id: 'soc', name: 'Xã hội hóa (Socialization)', core: true, subdomains: [ { id: 'ipr', name: 'Quan hệ liên cá nhân (Interpersonal)', items: [ 'Giao tiếp mắt và mỉm cười đáp lại người quen', 'Nhận biết cảm xúc vui, buồn, tức giận của người khác', 'Bắt chước hành động hoặc biểu cảm của người lớn/bạn bè', 'Thể hiện sự quan tâm, an ủi khi thấy người khác buồn hoặc đau', 'Chủ động chào hỏi và bắt chuyện với bạn cùng trang lứa', 'Xây dựng và duy trì tình bạn thân thiết với ít nhất 1–2 bạn' ] }, { id: 'pla', name: 'Vui chơi & Giải trí (Play & Leisure)', items: [ 'Chơi các trò chơi tương tác đơn giản (ú òa, lăn bóng qua lại)', 'Chơi giả vờ (cho búp bê ăn, nấu ăn, đóng vai nhân vật)', 'Chơi cạnh và chia sẻ đồ chơi với trẻ khác khi được gợi ý', 'Biết chờ đến lượt (luân phiên) trong trò chơi nhóm', 'Tuân thủ luật chơi trong các trò chơi vận động hoặc cờ bàn', 'Chủ động rủ bạn cùng tham gia hoạt động giải trí chung' ] }, { id: 'cop', name: 'Kỹ năng ứng phó (Coping Skills)', items: [ 'Biết nói lời "Cảm ơn" và "Xin lỗi" phù hợp hoàn cảnh', 'Chuyển đổi hoạt động mà không la hét hay ăn vạ kéo dài', 'Kiểm soát cơn giận khi không đạt được điều mình muốn ngay lập tức', 'Chấp nhận sự thay đổi nhỏ trong lịch trình sinh hoạt hàng ngày', 'Biết xin phép trước khi lấy đồ của người khác', 'Giữ bình tĩnh và chấp nhận kết quả khi thua cuộc trong trò chơi' ] } ] }, { id: 'mot', name: 'Kỹ năng vận động (Motor Skills - Tùy chọn)', core: false, subdomains: [ { id: 'gro', name: 'Vận động thô (Gross Motor)', items: [ 'Đi vững vàng, chạy không bị vấp ngã', 'Bước lên và xuống cầu thang luân phiên hai chân', 'Nhảy bật bằng hai chân tại chỗ và nhảy qua vật cản thấp', 'Đứng một chân giữ thăng bằng trong vài giây và nhảy lò cò', 'Đá bóng về phía trước trúng hướng mục tiêu', 'Ném và bắt được bóng cỡ vừa bằng hai tay' ] }, { id: 'fin', name: 'Vận động tinh (Fine Motor)', items: [ 'Nhặt vật nhỏ bằng ngón cái và ngón trỏ (kẹp gọng kìm)', 'Xếp chồng được từ 6–8 khối gỗ hoặc lắp ghép mô hình đơn giản', 'Mở nắp hộp, vặn tay nắm cửa và xâu hạt qua dây', 'Cầm bút bằng 3 đầu ngón tay (tư thế kiềng 3 chân)', 'Vẽ theo được hình tròn, hình vuông, đường thẳng và tô màu trong hình', 'Sử dụng kéo cắt giấy theo đường thẳng và đường cong' ] } ] } ]; const itemScores = {}; const quickVScales = {}; let entryMode = 'items'; let activeDomainId = 'comm'; let isFullscreen = false; let savedScrollY = 0; function applyPreset(type) { domains.forEach(d => { d.subdomains.forEach(s => { s.items.forEach((_, idx) => { const key = `${s.id}_${idx}`; if (type === 'typical') { itemScores[key] = idx < 4 ? 2 : 1; quickVScales[s.id] = 15; } else if (type === 'asd') { if (s.id === 'wri' || s.id === 'per' || s.id === 'fin') { itemScores[key] = idx < 4 ? 2 : 1; quickVScales[s.id] = 14; } else if (d.id === 'comm' || d.id === 'soc') { itemScores[key] = idx < 2 ? 2 : (idx === 2 ? 1 : 0); quickVScales[s.id] = 9; } else { itemScores[key] = idx < 3 ? 2 : (idx === 3 ? 1 : 0); quickVScales[s.id] = 11; } } else if (type === 'idd') { itemScores[key] = idx < 1 ? 2 : (idx 0) prob = 1 - prob; return Math.max(1, Math.min(99, Math.round(prob * 100))); } function getAdaptiveLevel(ss) { if (ss >= 130) return { label: 'Rất cao (High)', cls: 'lvl-high' }; if (ss >= 115) return { label: 'Khá cao (Moderately High)', cls: 'lvl-mhigh' }; if (ss >= 86) return { label: 'Đạt yêu cầu / Trung bình (Adequate)', cls: 'lvl-adeq' }; if (ss >= 71) return { label: 'Thấp vừa phải (Moderately Low)', cls: 'lvl-mlow' }; return { label: 'Thấp (Low)', cls: 'lvl-low' }; } function computePsychometrics() { const subResults = {}; const domainResults = {}; domains.forEach(d => { let vSum = 0; d.subdomains.forEach(s => { let raw = 0; s.items.forEach((_, idx) => { raw += (itemScores[`${s.id}_${idx}`] || 0); }); const vScale = entryMode === 'quick' ? (quickVScales[s.id] || 15) : Math.round(6 + (raw / 12) * 15); quickVScales[s.id] = vScale; subResults[s.id] = { raw, vScale, name: s.name, domainId: d.id }; vSum += vScale; }); const vAvg = vSum / d.subdomains.length; const ss = Math.round(100 + ((vAvg - 15) / 3) * 15); const clampedSS = Math.max(40, Math.min(140, ss)); const pct = standardScoreToPercentile(clampedSS); const level = getAdaptiveLevel(clampedSS); domainResults[d.id] = { name: d.name, core: d.core, vSum, ss: clampedSS, ci: `${Math.max(40, clampedSS - 5)} – ${Math.min(140, clampedSS + 5)}`, pct, level }; }); const coreSSSum = domainResults.comm.ss + domainResults.dls.ss + domainResults.soc.ss; const abcSS = Math.round(coreSSSum / 3); const abcPct = standardScoreToPercentile(abcSS); const abcLevel = getAdaptiveLevel(abcSS); return { subResults, domainResults, abc: { ss: abcSS, ci: `${Math.max(40, abcSS - 4)} – ${Math.min(140, abcSS + 4)}`, pct: abcPct, level: abcLevel } }; } shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; color: #0f172a; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .app-wrap { width: 100%; background: #ffffff; border: 1px solid #cbd5e1; border-radius: 16px; box-shadow: 0 10px 30px -5px rgba(15, 23, 42, 0.08); overflow: hidden; position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (ĐÃ ĐƯỢC PORTAL RA BODY) */ .app-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 80px !important; } /* Thanh ghim thoát toàn màn hình luôn nổi ở trên cùng khi cuộn trên điện thoại */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .app-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 0.85rem; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 0.8rem; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 0 rgba(37, 99, 235, 0.4); } 70% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 10px rgba(37, 99, 235, 0); } 100% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 0 rgba(37, 99, 235, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #1d4ed8 0%, #2563eb 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 0.84rem; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 0.85rem; } /* Header */ .app-header { background: linear-gradient(135deg, #1e3a8a 0%, #2563eb 100%); color: #ffffff; padding: 18px 20px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 14px; } .app-header h2 { font-size: 1.2rem; font-weight: 700; color: #ffffff; margin-bottom: 4px; } .app-header p { font-size: 0.84rem; color: #dbeafe; } .header-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; } .preset-bar { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; } .preset-label { font-size: 0.76rem; color: #bfdbfe; font-weight: 600; } .btn-preset { background: rgba(255, 255, 255, 0.15); color: #ffffff; border: 1px solid rgba(255, 255, 255, 0.35); padding: 6px 11px; border-radius: 999px; font-size: 0.76rem; font-weight: 600; cursor: pointer; } .btn-preset:hover { background: rgba(255, 255, 255, 0.28); } .btn-fullscreen { background: #ffffff; color: #1e3a8a; border: none; padding: 7px 14px; border-radius: 999px; font-size: 0.8rem; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); } /* Thanh công cụ chế độ */ .mode-bar { background: #f1f5f9; padding: 12px 20px; border-bottom: 1px solid #e2e8f0; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; } .mode-switch { display: flex; gap: 6px; flex-wrap: wrap; } .mode-btn { padding: 7px 14px; border-radius: 8px; border: 1px solid #cbd5e1; background: #ffffff; color: #475569; font-size: 0.82rem; font-weight: 600; cursor: pointer; } .mode-btn.active { background: #2563eb; color: #ffffff; border-color: #2563eb; } /* KPI Cards */ .kpi-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; padding: 16px 20px; background: #f8fafc; border-bottom: 1px solid #e2e8f0; } .kpi-card { background: #ffffff; border: 1px solid #e2e8f0; border-radius: 12px; padding: 12px 14px; } .kpi-card.highlight { background: #eff6ff; border-color: #93c5fd; } .kpi-label { font-size: 0.73rem; font-weight: 700; color: #475569; text-transform: uppercase; } .kpi-val { font-size: 1.45rem; font-weight: 800; color: #0f172a; margin: 2px 0; } .kpi-sub { font-size: 0.74rem; color: #64748b; } /* Khu vực nhập câu hỏi */ .section-body { padding: 18px 20px; background: #ffffff; } .domain-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; } .d-tab { padding: 8px 14px; border-radius: 10px; border: 1px solid #cbd5e1; background: #f8fafc; color: #334155; font-size: 0.84rem; font-weight: 600; cursor: pointer; } .d-tab.active { background: #1e3a8a; color: #ffffff; border-color: #1e3a8a; } .subdomain-block { border: 1px solid #e2e8f0; border-radius: 12px; margin-bottom: 16px; overflow: hidden; } .sub-title-bar { background: #f8fafc; padding: 10px 14px; border-bottom: 1px solid #e2e8f0; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 8px; font-weight: 700; font-size: 0.9rem; } .sub-score-pill { font-size: 0.76rem; background: #dbeafe; color: #1d4ed8; padding: 3px 10px; border-radius: 999px; } .item-row { padding: 12px 14px; border-bottom: 1px solid #f1f5f9; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 10px; } .item-row:last-child { border-bottom: none; } .item-text { font-size: 0.88rem; color: #1e293b; flex: 1 1 220px; } .score-btns { display: flex; gap: 8px; flex-shrink: 0; } .s-btn { width: 40px; height: 36px; border-radius: 8px; border: 1px solid #cbd5e1; background: #ffffff; font-weight: 700; font-size: 0.88rem; cursor: pointer; color: #475569; touch-action: manipulation; } .s-btn.s-2 { background: #16a34a; color: #fff; border-color: #16a34a; } .s-btn.s-1 { background: #f59e0b; color: #fff; border-color: #f59e0b; } .s-btn.s-0 { background: #dc2626; color: #fff; border-color: #dc2626; } /* Quick Sliders */ .quick-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 12px; } .quick-card { border: 1px solid #e2e8f0; border-radius: 10px; padding: 12px 14px; background: #ffffff; } .quick-card label { display: flex; justify-content: space-between; font-size: 0.85rem; font-weight: 700; margin-bottom: 6px; } .quick-card input[type="range"] { width: 100%; height: 24px; accent-color: #2563eb; } /* Bảng Báo Cáo & Biểu Đồ */ .report-section { padding: 20px; border-top: 2px solid #e2e8f0; background: #f8fafc; } .report-title { font-size: 1.02rem; font-weight: 700; margin-bottom: 12px; color: #0f172a; } .table-scroll { width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 12px; margin-bottom: 20px; } table.v-table { width: 100%; border-collapse: collapse; min-width: 520px; text-align: left; font-size: 0.84rem; } .v-table th { background: #f1f5f9; padding: 10px 12px; font-weight: 700; color: #334155; border-bottom: 1px solid #cbd5e1; } .v-table td { padding: 10px 12px; border-bottom: 1px solid #e2e8f0; } .v-table tr.row-abc { background: #eff6ff; font-weight: 700; } .lvl-badge { display: inline-block; padding: 2px 8px; border-radius: 999px; font-size: 0.73rem; font-weight: 700; } .lvl-high, .lvl-mhigh { background: #dcfce7; color: #15803d; } .lvl-adeq { background: #dbeafe; color: #1d4ed8; } .lvl-mlow { background: #fef3c7; color: #b45309; } .lvl-low { background: #fee2e2; color: #b91c1c; } .chart-box { background: #ffffff; border: 1px solid #e2e8f0; border-radius: 12px; padding: 16px; margin-bottom: 16px; } .bar-row { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; font-size: 0.82rem; } .bar-label { width: 180px; flex-shrink: 0; font-weight: 600; color: #334155; } .bar-track { flex: 1; height: 18px; background: #f1f5f9; border-radius: 999px; overflow: hidden; } .bar-fill { height: 100%; border-radius: 999px; transition: width 0.3s ease; } .bar-val { width: 46px; text-align: right; font-weight: 700; flex-shrink: 0; } .iep-box { background: #fffbeb; border: 1px solid #fde68a; border-radius: 12px; padding: 14px; } .iep-item { font-size: 0.85rem; color: #78350f; padding: 4px 0; display: flex; gap: 8px; } @media (max-width: 600px) { .bar-label { width: 115px; font-size: 0.74rem; } .app-header, .section-body, .report-section, .kpi-grid { padding: 12px; } .kpi-grid { grid-template-columns: 1fr 1fr; } .item-row { padding: 10px 12px; } .s-btn { width: 42px; height: 38px; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 0.8rem; } }
Mô Phỏng Đánh Giá Hành Vi Thích Ứng Vineland-3
Thực hành chấm điểm (0–1–2), quy đổi V-Scale, Điểm Chuẩn & Hồ sơ năng lực
| Lĩnh vực / Chỉ số | Điểm Chuẩn (SS) | Khoảng tin cậy 90% | Bách phân vị | Mức độ thích ứng |
|---|
Khác với các bài kiểm tra chỉ số thông minh (IQ) đo lường tiềm năng nhận thức, Vineland-3 đánh giá những gì một người thực sự làm được trong cuộc sống hàng ngày để tự chăm sóc bản thân, giao tiếp và hòa nhập với cộng đồng.
1. Cấu trúc các lĩnh vực đánh giá của Vineland-3
Vineland-3 đo lường hành vi thích ứng thông qua 3 lĩnh vực cốt lõi (tạo nên chỉ số Tổng hợp Hành vi Thích ứng – Adaptive Behavior Composite – ABC) và 2 lĩnh vực tùy chọn:
Bạn có thể tương tác với sơ đồ cấu trúc dưới đây để khám phá chi tiết các lĩnh vực, tiểu lĩnh vực và thang điểm chuẩn hóa của công cụ Vineland-3:
(function() { const host = document.getElementById('vn3-struct-wp-host'); if (!host) return; // Thẻ giữ chỗ (Placeholder) để khi nhấc bảng ra document.body không làm giật trang WordPress const placeholder = document.createComment('vn3-struct-portal-placeholder'); // Khởi tạo Shadow DOM cách ly 100% với CSS của Theme WordPress const shadow = host.attachShadow({ mode: 'open' }); const domainsData = [ { id: "comm", category: "core", badgeText: "Cốt lõi (Tính vào ABC)", title: "1. Giao tiếp (Communication)", desc: "Khả năng lắng nghe, hiểu lời nói, sử dụng ngôn ngữ cử chỉ/lời nói để giao tiếp và kỹ năng đọc - viết.", ageRange: "0 – 90 tuổi", scaleInfo: "Điểm Chuẩn (M = 100, SD = 15)", subdomains: [ { name: "Tiếp nhận (Receptive)", age: "0 – 90 tuổi", items: [ "Quay đầu khi được gọi tên, nhìn theo hướng chỉ tay", "Hiểu câu hỏi và làm theo chỉ dẫn 2–3 bước", "Chú ý lắng nghe câu chuyện hoặc bài giảng" ] }, { name: "Diễn đạt (Expressive)", age: "0 – 90 tuổi", items: [ "Dùng cử chỉ, từ đơn hoặc câu để yêu cầu và biểu đạt", "Kể lại sự việc đã xảy ra theo trình tự logic", "Duy trì hội thoại hai chiều đúng chủ đề" ] }, { name: "Viết (Written)", age: "3 – 90 tuổi", items: [ "Nhận biết chữ cái, đọc từ ngữ và biển báo", "Đọc hiểu văn bản, sách báo phù hợp lứa tuổi", "Viết tên, viết câu hoàn chỉnh hoặc soạn tin nhắn" ] } ] }, { id: "dls", category: "core", badgeText: "Cốt lõi (Tính vào ABC)", title: "2. Kỹ năng sống hàng ngày (Daily Living Skills)", desc: "Khả năng tự chăm sóc bản thân, thực hiện công việc nhà và vận hành độc lập ngoài cộng đồng.", ageRange: "0 – 90 tuổi", scaleInfo: "Điểm Chuẩn (M = 100, SD = 15)", subdomains: [ { name: "Cá nhân (Personal)", age: "0 – 90 tuổi", items: [ "Tự ăn uống bằng thìa/đũa gọn gàng", "Tự mặc quần áo, đi vệ sinh, tắm rửa, đánh răng", "Tự chăm sóc sức khỏe cá nhân cơ bản" ] }, { name: "Gia đình (Domestic)", age: "3 – 90 tuổi", items: [ "Cất đồ đạc, quét dọn nhà cửa, rửa bát, gấp quần áo", "Sử dụng thiết bị gia dụng cẩn thận, an toàn", "Sơ chế thực phẩm và chuẩn bị bữa ăn đơn giản" ] }, { name: "Cộng đồng (Community)", age: "3 – 90 tuổi", items: [ "Tuân thủ quy tắc an toàn khi đi bộ và qua đường", "Xem đồng hồ, quản lý thời gian, dùng điện thoại", "Nhận biết mệnh giá tiền, mua sắm và tính tiền thừa" ] } ] }, { id: "soc", category: "core", badgeText: "Cốt lõi (Tính vào ABC)", title: "3. Xã hội hóa (Socialization)", desc: "Cách tương tác với người khác, kết bạn, tham gia trò chơi nhóm, kiểm soát cảm xúc và ứng xử lịch sự.", ageRange: "0 – 90 tuổi", scaleInfo: "Điểm Chuẩn (M = 100, SD = 15)", subdomains: [ { name: "Quan hệ liên cá nhân (Interpersonal)", age: "0 – 90 tuổi", items: [ "Giao tiếp mắt, mỉm cười đáp lại và thể hiện sự gắn bó", "Nhận diện cảm xúc vui, buồn, giận của người khác", "Chủ động kết bạn và thể hiện sự quan tâm, đồng cảm" ] }, { name: "Vui chơi & Giải trí (Play & Leisure)", age: "0 – 90 tuổi", items: [ "Chơi giả vờ (đóng vai) và chơi hợp tác cùng bạn", "Chia sẻ đồ chơi và biết chờ đến lượt (luân phiên)", "Tuân thủ luật chơi trong các trò chơi tập thể" ] }, { name: "Kỹ năng ứng phó (Coping Skills)", age: "2 – 90 tuổi", items: [ "Biết nói lời cảm ơn, xin lỗi đúng hoàn cảnh", "Kiểm soát cơn giận hoặc sự thất vọng khi bị từ chối", "Thích nghi linh hoạt khi thay đổi lịch trình" ] } ] }, { id: "mot", category: "optional", badgeText: "Tùy chọn (0 – 9 tuổi)", title: "4. Kỹ năng vận động (Motor Skills)", desc: "Đánh giá sự phối hợp cơ bắp lớn để di chuyển và cơ nhỏ bàn tay để thao tác đồ vật chính xác.", ageRange: "0 – 9 tuổi (hoặc người có suy giảm vận động)", scaleInfo: "Điểm Chuẩn (M = 100, SD = 15)", subdomains: [ { name: "Vận động thô (Gross Motor)", age: "0 – 9 tuổi", items: [ "Ngồi vững, bò, tự đi, chạy và giữ thăng bằng", "Bước lên xuống cầu thang luân phiên hai chân", "Nhảy lò cò, đá bóng, ném và bắt bóng bằng hai tay" ] }, { name: "Vận động tinh (Fine Motor)", age: "0 – 9 tuổi", items: [ "Nhặt vật nhỏ bằng ngón cái và ngón trỏ", "Mở nắp hộp, vặn tay nắm cửa, lật từng trang sách", "Cầm bút tô màu/vẽ và dùng kéo cắt theo đường kẻ" ] } ] }, { id: "mal", category: "maladaptive", badgeText: "Tùy chọn (Cảnh báo lâm sàng)", title: "5. Hành vi kém thích ứng (Maladaptive Behavior)", desc: "Các hành vi gây cản trở sinh hoạt và học tập hàng ngày như lo âu, thu mình, cáu giận hoặc tự gây hại.", ageRange: "3 – 90 tuổi", scaleInfo: "V-scale (M = 15, SD = 3) — Điểm ≥ 18 cần lưu ý", subdomains: [ { name: "Hướng nội (Internalizing)", age: "3 – 90 tuổi", items: [ "Lo âu, sợ hãi quá mức hoặc dễ khóc vô cớ", "Thu mình, né tránh xã hội, buồn bã kéo dài", "Rối loạn giấc ngủ hoặc ăn uống do căng thẳng" ] }, { name: "Hướng ngoại (Externalizing)", age: "3 – 90 tuổi", items: [ "Ăn vạ dữ dội, la hét hoặc đập phá đồ đạc", "Gây hấn (đánh, cắn, xô đẩy) hoặc chống đối người lớn", "Bốc đồng, vi phạm nội quy trường lớp" ] }, { name: "Vấn đề nghiêm trọng (Critical Items)", age: "3 – 90 tuổi", items: [ "Hành vi tự gây thương tích (tự cắn tay, đập đầu)", "Hành vi định hình rập khuôn hoặc cuốn hút giác quan lạ", "Tự ý bỏ chạy khỏi nơi an toàn không nhận thức nguy hiểm" ] } ] } ]; let currentFilter = "all"; let openIds = new Set(["comm"]); let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; color: #0f172a; line-height: 1.55; width: 100%; box-sizing: border-box; --bg: #f8fafc; --card: #ffffff; --text: #0f172a; --muted: #475569; --border: #e2e8f0; --core: #2563eb; --core-soft: #eff6ff; --opt: #7c3aed; --opt-soft: #f5f3ff; --mal: #dc2626; --mal-soft: #fef2f2; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .vineland-wrapper { width: 100%; background: var(--card); border: 1px solid var(--border); border-radius: 16px; box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06); overflow: hidden; position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .vineland-wrapper.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng khi cuộn */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .vineland-wrapper.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 0.85rem; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 0.8rem; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 0 rgba(37, 99, 235, 0.4); } 70% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 10px rgba(37, 99, 235, 0); } 100% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 0 rgba(37, 99, 235, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #1d4ed8 0%, #2563eb 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 0.84rem; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 0.85rem; } /* Header Banner */ .v-header { background: linear-gradient(135deg, #1e3a8a 0%, #2563eb 100%); color: #ffffff; padding: 20px 24px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 14px; } .v-header-text { flex: 1 1 260px; } .v-header h2 { font-size: clamp(1.15rem, 2.5vw, 1.4rem); font-weight: 700; margin-bottom: 6px; color: #ffffff; } .v-header p { font-size: 0.9rem; color: #dbeafe; } .btn-fullscreen-top { background: #ffffff; color: #1e3a8a; border: none; padding: 8px 14px; border-radius: 999px; font-size: 0.82rem; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); transition: transform 0.15s ease; } .btn-fullscreen-top:hover { transform: translateY(-1px); } /* Thanh lọc & Tóm tắt chỉ số ABC */ .v-toolbar { padding: 14px 20px; background: #f1f5f9; border-bottom: 1px solid var(--border); display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; } .abc-summary { font-size: 0.85rem; color: #1e293b; background: #ffffff; padding: 6px 12px; border-radius: 8px; border: 1px solid #cbd5e1; font-weight: 600; } .filter-tabs { display: flex; flex-wrap: wrap; gap: 6px; } .tab-btn { padding: 6px 12px; font-size: 0.8rem; font-weight: 600; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; color: var(--muted); cursor: pointer; transition: all 0.2s; touch-action: manipulation; } .tab-btn.active { background: var(--core); color: #ffffff; border-color: var(--core); } /* Danh sách Lĩnh vực 1 cột duy nhất (Full-width) */ .domain-stack { padding: 16px 20px; display: flex; flex-direction: column; gap: 12px; max-width: 1020px; margin: 0 auto; } .domain-item { border: 1px solid var(--border); border-radius: 12px; background: #ffffff; overflow: hidden; transition: box-shadow 0.2s; } .domain-item:hover { box-shadow: 0 4px 12px rgba(15, 23, 42, 0.05); } .domain-item.core { border-left: 5px solid var(--core); } .domain-item.optional { border-left: 5px solid var(--opt); } .domain-item.maladaptive { border-left: 5px solid var(--mal); } .domain-summary { padding: 16px 18px; display: flex; justify-content: space-between; align-items: center; gap: 12px; cursor: pointer; user-select: none; background: #ffffff; } .domain-summary:hover { background: #f8fafc; } .domain-info { display: flex; flex-direction: column; gap: 4px; } .domain-top-row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; } .domain-title { font-size: 1.02rem; font-weight: 700; color: var(--text); } .badge { font-size: 0.72rem; font-weight: 700; padding: 2px 9px; border-radius: 999px; text-transform: uppercase; } .badge.core { background: var(--core-soft); color: var(--core); } .badge.optional { background: var(--opt-soft); color: var(--opt); } .badge.maladaptive { background: var(--mal-soft); color: var(--mal); } .domain-desc { font-size: 0.875rem; color: var(--muted); } .toggle-icon { width: 28px; height: 28px; border-radius: 50%; background: #f1f5f9; display: flex; align-items: center; justify-content: center; font-size: 0.75rem; color: var(--muted); flex-shrink: 0; transition: transform 0.25s ease, background 0.2s; } .domain-item.open .toggle-icon { transform: rotate(180deg); background: var(--core); color: #ffffff; } /* Nội dung chi tiết xổ xuống bên dưới */ .domain-content { display: none; padding: 16px 18px 18px; background: #f8fafc; border-top: 1px solid var(--border); } .domain-item.open .domain-content { display: block; } .meta-bar { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 14px; } .meta-pill { background: #ffffff; border: 1px solid var(--border); padding: 6px 12px; border-radius: 8px; font-size: 0.8rem; color: #334155; } /* Lưới Tiểu lĩnh vực tự co giãn */ .subdomain-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 12px; } .sub-card { background: #ffffff; border: 1px solid var(--border); border-radius: 10px; padding: 14px; display: flex; flex-direction: column; gap: 10px; } .sub-header { display: flex; justify-content: space-between; align-items: flex-start; gap: 8px; border-bottom: 1px dashed var(--border); padding-bottom: 8px; } .sub-name { font-weight: 700; font-size: 0.92rem; color: #1e293b; } .sub-age { font-size: 0.72rem; font-weight: 600; background: #f1f5f9; color: #475569; padding: 2px 7px; border-radius: 6px; white-space: nowrap; } /* Dùng Flexbox
Cấu trúc Thang đo Hành vi Thích ứng Vineland-3
Nhấp vào từng lĩnh vực để mở rộng các tiểu lĩnh vực và chỉ báo hành vi tương ứng (0 – 90 tuổi)
2. Hình thức thực hiện (3 phiên bản)
Vineland-3 không yêu cầu người được đánh giá phải trực tiếp làm bài kiểm tra, mà thu thập thông tin qua người hiểu rõ họ nhất (cha mẹ, người chăm sóc, giáo viên) bằng 3 hình thức:
-
Phỏng vấn (Interview Form): Chuyên gia tâm lý trò chuyện bán cấu trúc với phụ huynh/người chăm sóc (không đọc nguyên văn câu hỏi như bảng hỏi mà trao đổi tự nhiên để chấm điểm). Đây là hình thức có độ tin cậy lâm sàng cao nhất.
-
Bảng hỏi Phụ huynh/Người chăm sóc (Parent/Caregiver Form): Phụ huynh tự điền vào bảng câu hỏi đánh giá hành vi ở nhà (có cả bản toàn diện Comprehensive và bản rút gọn Domain-Level).
-
Bảng hỏi Giáo viên (Teacher Form): Giáo viên đánh giá các kỹ năng thích ứng của học sinh trong môi trường học đường (áp dụng cho trẻ từ 3 đến 21 tuổi).
3. Ứng dụng thực tiễn của Vineland-3
-
Hỗ trợ chẩn đoán lâm sàng: Là tiêu chuẩn vàng để chẩn đoán Khuyết tật trí tuệ (Intellectual Disability) (vì tiêu chuẩn DSM-5 yêu cầu phải có sự thiếu hụt cả về IQ lẫn hành vi thích ứng), Rối loạn phổ tự kỷ (ASD), chậm phát triển toàn diện (GDD), ADHD và các tổn thương não.
-
Lập kế hoạch can thiệp (IEP): Giúp nhà chuyên môn xác định chính xác điểm mạnh và điểm yếu thực tế của trẻ để xây dựng Kế hoạch Giáo dục Cá nhân hóa (IEP).
-
Theo dõi tiến độ: Đo lường sự tiến bộ của cá nhân theo thời gian hoặc đánh giá hiệu quả của một chương trình trị liệu.
4. Cách tính điểm cơ bản
-
Thang điểm hành vi: Mỗi mục câu hỏi trong Vineland-3 được chấm theo tần suất cá nhân tự thực hiện kỹ năng đó mà không cần nhắc nhở hay hỗ trợ: 2 (Thường xuyên), 1 (Thỉnh thoảng), 0 (Không bao giờ).
-
Điểm Chuẩn (Standard Scores): Các lĩnh vực chính và điểm tổng hợp (ABC) có điểm trung bình là 100 và độ lệch chuẩn là 15 (tương tự thang đo IQ).
-
Điểm V-scale: Các tiểu lĩnh vực sử dụng điểm v-scale với trung bình là 15 và độ lệch chuẩn là 3.
Nội dung được lấy từ tài liệu gốc và hỗ trợ tạo công cụ bởi AI.
[Giác quan] SPM-2: Thang đánh giá rối loạn xử lý giác quan đa môi trường (Gia đình và Trường học)
(function() { const host = document.getElementById('spm2-wp-host'); if (!host) return; const placeholder = document.createComment('spm2-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // Cấu hình 5 Phiên bản Độ tuổi & Môi trường của SPM-2 (Kuhaneck, Henry, Glennon, Parham & Ecker, 2021) const formConfigs = { infant: { code: 'infant', tabTitle: '👶 1. Infant/Toddler (4–30m)', tabSub: 'Nhũ nhi & Trẻ nhỏ • Cha mẹ', fullTitle: 'SPM-2 Infant / Toddler Form — Dành Cho Trẻ Nhũ Nhi & Trẻ Nhỏ (4 Đến 30 Tháng Tuổi • Cha Mẹ Đánh Giá)', desc: 'Đánh giá sớm khả năng điều hòa giác quan, tương tác xã hội đầu đời và tiền đề lập kế hoạch vận động (Praxis) ở trẻ từ 4 đến 30 tháng tuổi.', subj: 'Bé', poss: 'của bé', peer: 'người thân và các bé khác', env: 'trong sinh hoạt hàng ngày ở nhà' }, preschool: { code: 'preschool', tabTitle: '🧸 2. Preschool (2–5 tuổi)', tabSub: 'Mầm non • Gia đình / Trường', fullTitle: 'SPM-2 Preschool Form — Dành Cho Trẻ Mầm Non (2 Đến 5 Tuổi • Cha Mẹ / Giáo Viên Đánh Giá)', desc: 'Đo lường 8 lĩnh vực xử lý giác quan, thực hành vận động (Praxis) và tham gia xã hội ở lứa tuổi mẫu giáo (2 – 5 tuổi).', subj: 'Bé', poss: 'của bé', peer: 'các bạn cùng lớp mẫu giáo', env: 'ở nhà và lớp mầm non' }, child_home: { code: 'child_home', tabTitle: '🏠 3. Child Home (5–12 tuổi)', tabSub: 'Trẻ em tại Nhà • Cha mẹ chấm', fullTitle: 'SPM-2 Child Home Form — Dành Cho Trẻ Em Lứa Tuổi Học Đường Tại Gia Đình (5 Đến 12 Tuổi • Cha Mẹ Đánh Giá)', desc: 'Phiên bản chuẩn hóa dành cho phụ huynh đánh giá 80 chỉ báo thuộc 6 hệ giác quan (tính Tổng điểm Giác quan ST), Lập kế hoạch vận động (PLA) và Tham gia xã hội (SOC) tại nhà.', subj: 'Trẻ', poss: 'của trẻ', peer: 'bạn bè đồng trang lứa', env: 'tại gia đình và ngoài cộng đồng' }, child_school: { code: 'child_school', tabTitle: '🏫 4. Child School (5–12 tuổi)', tabSub: 'Trẻ em tại Lớp • Giáo viên chấm', fullTitle: 'SPM-2 Child Main Classroom Form — Dành Cho Giáo Viên Đánh Giá Tại Trường Học (5 Đến 12 Tuổi)', desc: 'Đánh giá cách thức xử lý giác quan và khả năng lập kế hoạch vận động (Praxis) ảnh hưởng đến việc học tập, viết bài, giờ ra chơi và tương tác tại lớp học.', subj: 'Học sinh', poss: 'của học sinh', peer: 'các bạn cùng lớp', env: 'trong lớp học và sân trường' }, adolescent_adult: { code: 'adolescent_adult', tabTitle: '🧑 5. Teen/Adult (12–87 tuổi)', tabSub: 'Vị thành niên & Người lớn • Tự chấm', fullTitle: 'SPM-2 Adolescent / Adult Self-Report Form — Bảng Tự Đánh Giá Dành Cho Vị Thành Niên & Người Lớn (12 – 87 Tuổi)', desc: 'Phiên bản tự đánh giá ở ngôi thứ nhất ("Tôi...") đo lường 8 tiểu thang SPM-2 trong học tập, công việc, lái xe, quản lý sinh hoạt và quan hệ xã hội.', subj: 'Tôi', poss: 'của mình', peer: 'mọi người xung quanh', env: 'trong công việc và cuộc sống' } }; // Cấu hình 8 Tiểu thang Cốt lõi của SPM-2 (Mỗi tiểu thang 10 câu hỏi, chấm từ 1 đến 4 điểm -> Điểm thô mỗi thang từ 10 đến 40 điểm) // inST: true đối với 6 hệ giác quan cấu thành Tổng điểm Giác quan (Sensory Total - ST: 60 câu -> Điểm thô từ 60 đến 240 điểm) const scaleConfigs = { soc: { code: 'soc', short: 'SOC', inST: false, rev: true, name: '1. Tham gia Xã hội (Social Participation - SOC • 10 câu)', color: '#2563eb' }, vis: { code: 'vis', short: 'VIS', inST: true, rev: false, name: '2. Thị giác (Vision - VIS • 10 câu) ★ [Thuộc ST]', color: '#0891b2' }, hea: { code: 'hea', short: 'HEA', inST: true, rev: false, name: '3. Thính giác (Hearing - HEA • 10 câu) ★ [Thuộc ST]', color: '#0284c7' }, tou: { code: 'tou', short: 'TOU', inST: true, rev: false, name: '4. Xúc giác (Touch - TOU • 10 câu) ★ [Thuộc ST]', color: '#0d9488' }, ts: { code: 'ts', short: 'T&S', inST: true, rev: false, name: '5. Vị giác & Khứu giác (Taste and Smell - T&S • 10 câu) ★ [Thuộc ST]', color: '#10b981' }, bod: { code: 'bod', short: 'BOD', inST: true, rev: false, name: '6. Nhận thức Cơ thể / Bản thể (Body Awareness - BOD • 10 câu) ★ [Thuộc ST]', color: '#f59e0b' }, bal: { code: 'bal', short: 'BAL', inST: true, rev: false, name: '7. Thăng bằng & Chuyển động / Tiền đình (Balance & Motion - BAL • 10 câu) ★ [Thuộc ST]', color: '#ea580c' }, pla: { code: 'pla', short: 'PLA', inST: false, rev: false, name: '8. Lập kế hoạch Vận động & Ý tưởng (Planning and Ideas / Praxis - PLA • 10 câu)', color: '#7c3aed' } }; // Đầy đủ 80 câu hỏi chuẩn theo cấu trúc 8 Tiểu thang của SPM-2 (Mỗi tiểu thang 10 câu) // mech: 'over' (Tăng phản ứng - Hyper-reactivity), 'under' (Giảm phản ứng - Hypo-reactivity), 'seek' (Tìm kiếm cảm giác - Seeking), 'perc' (Nhận thức phân biệt giác quan - Perception), 'prax' (Lập kế hoạch & Ý tưởng - Praxis), 'soc' (Tham gia xã hội) const rawQuestions = [ // ===================================================== // 1. THAM GIA XÃ HỘI (SOCIAL PARTICIPATION - SOC • Câu 1 - 10 • ĐẢO NGƯỢC: Luôn luôn=1đ, Không bao giờ=4đ) // ===================================================== { id: 1, sc: 'soc', mech: 'soc', c: '{S} chơi đùa hoặc hợp tác làm việc hòa đồng cùng với {E}.' }, { id: 2, sc: 'soc', mech: 'soc', c: '{S} biết chia sẻ đồ dùng, đồ chơi và chờ đến lượt một cách tự nguyện.' }, { id: 3, sc: 'soc', mech: 'soc', c: '{S} tham gia tích cực vào các cuộc trò chuyện hoặc hoạt động chung {V}.' }, { id: 4, sc: 'soc', mech: 'soc', c: '{S} duy trì giao tiếp ánh mắt phù hợp và tự nhiên khi nói chuyện với người khác.' }, { id: 5, sc: 'soc', mech: 'soc', c: '{S} linh hoạt chấp nhận khi luật chơi thay đổi hoặc khi làm theo ý kiến của {E}.' }, { id: 6, sc: 'soc', mech: 'soc', c: '{S} nhận ra cảm xúc của người khác và thể hiện sự quan tâm, đồng cảm phù hợp.' }, { id: 7, sc: 'soc', mech: 'soc', c: '{S} biết cách tự giải quyết các bất đồng nhỏ với {E} mà không nổi nóng hay ăn vạ.' }, { id: 8, sc: 'soc', mech: 'soc', c: '{S} hòa nhập dễ dàng khi bước vào các buổi tụ tập, sinh hoạt tập thể hoặc nơi mới lạ.' }, { id: 9, sc: 'soc', mech: 'soc', c: '{S} hiểu được các câu nói đùa vui vẻ và ngôn ngữ cơ thể của {E}.' }, { id: 10, sc: 'soc', mech: 'soc', c: '{S} kết bạn và duy trì được mối quan hệ thân thiết với {E}.' }, // ===================================================== // 2. THỊ GIÁC (VISION - VIS • Câu 11 - 20 • THUỘC SENSORY TOTAL - ST) // ===================================================== { id: 11, sc: 'vis', mech: 'over', c: '{S} tỏ ra khó chịu, nheo mắt hoặc lấy tay che mắt trước ánh sáng mặt trời hoặc đèn sáng trong phòng.' }, { id: 12, sc: 'vis', mech: 'over', c: '{S} rất dễ bị phân tâm bởi các chuyển động thị giác xung quanh (như người đi qua lại, cảnh vật ngoài cửa sổ).' }, { id: 13, sc: 'vis', mech: 'perc', c: '{S} gặp khó khăn khi tìm một món đồ đang nằm lẫn trong ngăn kéo hoặc trên mặt bàn có nhiều đồ vật.' }, { id: 14, sc: 'vis', mech: 'seek', c: '{S} thích nhìn chằm chằm vào các vật xoay tròn (quạt trần, bánh xe), ánh đèn nhấp nháy hoặc bóng nắng.' }, { id: 15, sc: 'vis', mech: 'seek', c: '{S} hay nhìn nghiêng qua khóe mắt hoặc đưa các ngón tay/đồ vật lại thật sát trước mắt để ngắm.' }, { id: 16, sc: 'vis', mech: 'perc', c: '{S} hay bị nhìn nhầm dòng khi đọc sách, chép bài trên bảng hoặc bỏ sót các chi tiết hình ảnh.' }, { id: 17, sc: 'vis', mech: 'under',c: '{S} đi lại hay va quệt vào bàn ghế, khung cửa hoặc không để ý thấy chướng ngại vật ngay trước mặt.' }, { id: 18, sc: 'vis', mech: 'over', c: '{S} cảm thấy căng thẳng, mỏi mệt hoặc đau đầu khi ở trong những căn phòng trang trí quá sặc sỡ, lộn xộn.' }, { id: 19, sc: 'vis', mech: 'perc', c: '{S} gặp khó khăn trong việc ước lượng khoảng cách không gian (như khi bước xuống bậc thang hoặc bắt bóng bay tới).' }, { id: 20, sc: 'vis', mech: 'seek', c: '{S} bị cuốn hút mãnh liệt vào việc xếp các đồ vật thẳng hàng tăm tắp hoặc ngắm các đường thẳng song song.' }, // ===================================================== // 3. THÍNH GIÁC (HEARING - HEA • Câu 21 - 30 • THUỘC SENSORY TOTAL - ST) // ===================================================== { id: 21, sc: 'hea', mech: 'over', c: '{S} lấy hai tay bịt chặt tai, khóc hoặc hoảng sợ trước các âm thanh sinh hoạt (máy hút bụi, máy sấy, tiếng xả bồn cầu).' }, { id: 22, sc: 'hea', mech: 'over', c: '{S} rất dễ bị giật mình hoặc căng thẳng trước những tiếng động bất ngờ (tiếng chuông, tiếng còi xe, tiếng chó sủa).' }, { id: 23, sc: 'hea', mech: 'over', c: '{S} không thể tập trung làm việc nếu xung quanh có tiếng ồn nền nhỏ (tiếng quạt chạy, tiếng điều hòa, tiếng thì thầm).' }, { id: 24, sc: 'hea', mech: 'under',c: '{S} không quay lại hoặc không phản ứng khi được gọi tên nhiều lần (dù thính lực hoàn toàn bình thường).' }, { id: 25, sc: 'hea', mech: 'perc', c: '{S} gặp khó khăn trong việc xác định xem âm thanh hoặc tiếng người gọi đang phát ra từ hướng nào.' }, { id: 26, sc: 'hea', mech: 'seek', c: '{S} thích tự phát ra các âm thanh lạ, tiếng ngân nga lặp đi lặp lại hoặc đập gõ đồ vật để nghe tiếng vang.' }, { id: 27, sc: 'hea', mech: 'seek', c: '{S} thích bật âm lượng tivi/loa thật to hoặc áp sát tai vào vật đang phát ra âm thanh/rung động.' }, { id: 28, sc: 'hea', mech: 'over', c: '{S} tỏ ra quá tải, cáu gắt hoặc muốn bỏ ra ngoài khi ở nơi đông người ồn ào (nhà ăn, siêu thị, tiệc sinh nhật).' }, { id: 29, sc: 'hea', mech: 'perc', c: '{S} chậm hiểu lời nói hoặc thường xuyên phải hỏi lại khi người đối diện nói hơi nhanh.' }, { id: 30, sc: 'hea', mech: 'over', c: '{S} yêu cầu mọi người phải im lặng hoặc khó chịu khi nghe giọng hát/giọng nói cao của một số người.' }, // ===================================================== // 4. XÚC GIÁC (TOUCH - TOU • Câu 31 - 40 • THUỘC SENSORY TOTAL - ST) // ===================================================== { id: 31, sc: 'tou', mech: 'over', c: '{S} cực kỳ khó chịu, giãy giụa hoặc phản kháng khi cắt tóc, cắt móng tay, gội đầu hoặc rửa mặt.' }, { id: 32, sc: 'tou', mech: 'over', c: '{S} bứt rứt với mác quần áo, đường chỉ may tất, cổ áo hoặc từ chối mặc một số chất liệu vải nhất định.' }, { id: 33, sc: 'tou', mech: 'over', c: '{S} né tránh hoặc đòi lau rửa tay ngay lập tức nếu tay dính bẩn (hồ dán, màu vẽ, đất nặn, cát, thức ăn ướt).' }, { id: 34, sc: 'tou', mech: 'over', c: '{S} giật lùi lại, cáu giận hoặc đẩy ra khi có ai đó chạm nhẹ bất ngờ vào người hoặc đứng sát cạnh.' }, { id: 35, sc: 'tou', mech: 'under',c: '{S} dường như không cảm thấy đau hoặc không khóc khi bị ngã va đập mạnh, trầy xước hay đứt tay.' }, { id: 36, sc: 'tou', mech: 'under',c: '{S} không nhận ra khi mặt mũi, quần áo bị dính bẩn hoặc khi giày dép đang mang ngược chân.' }, { id: 37, sc: 'tou', mech: 'seek', c: '{S} liên tục sờ chạm, vuốt ve mọi bề mặt đồ đạc, tường nhà hoặc chạm vào người khác.' }, { id: 38, sc: 'tou', mech: 'seek', c: '{S} rất thích được ôm siết thật chặt, thích chui rúc vào góc hẹp hoặc thích đắp chăn nặng đè lên người.' }, { id: 39, sc: 'tou', mech: 'perc', c: '{S} gặp khó khăn khi phải mò tìm một đồ vật trong cặp sách/túi quần bằng tay mà không nhìn.' }, { id: 40, sc: 'tou', mech: 'over', c: '{S} không chịu đi chân trần trên cỏ, cát, thảm nhám hoặc rất nhạy cảm với nhiệt độ nước tắm.' }, // ===================================================== // 5. VỊ GIÁC & KHỨU GIÁC (TASTE AND SMELL - T&S • Câu 41 - 50 • THUỘC SENSORY TOTAL - ST) // ===================================================== { id: 41, sc: 'ts', mech: 'over', c: '{S} cực kỳ kén ăn, chỉ chấp nhận ăn một vài món quen thuộc và từ chối thử các món ăn mới.' }, { id: 42, sc: 'ts', mech: 'over', c: '{S} dễ bị nôn ọe khi ăn thức ăn có kết cấu lợn cợn, dai, nhão hoặc khi đánh răng.' }, { id: 43, sc: 'ts', mech: 'over', c: '{S} phản ứng gay gắt, bịt mũi hoặc buồn nôn trước các mùi thức ăn, mùi nước hoa, xà phòng hoặc mùi phòng vệ sinh.' }, { id: 44, sc: 'ts', mech: 'seek', c: '{S} thường xuyên đưa các đồ vật không phải thức ăn (cổ áo, bút chì, đồ chơi nhựa, ngón tay) lên miệng để liếm, cắn hoặc nhai.' }, { id: 45, sc: 'ts', mech: 'seek', c: '{S} có thói quen đưa mọi đồ vật hoặc người khác lên mũi để ngửi khi mới tiếp xúc.' }, { id: 46, sc: 'ts', mech: 'seek', c: '{S} thích các món ăn có gia vị cực mạnh (rất chua, rất cay, rất mặn) hoặc đồ ăn cứng giòn.' }, { id: 47, sc: 'ts', mech: 'under',c: '{S} không nhận ra khi thức ăn quá nóng/quá cay hoặc khi mùi trong phòng rất nồng.' }, { id: 48, sc: 'ts', mech: 'perc', c: '{S} khó phân biệt các mùi vị khác nhau hoặc nhét quá đầy thức ăn vào miệng cùng một lúc.' }, { id: 49, sc: 'ts', mech: 'under',c: '{S} ngậm thức ăn lâu trong miệng mà không nuốt hoặc không nhận ra thức ăn/nước bọt còn dính quanh môi.' }, { id: 50, sc: 'ts', mech: 'over', c: '{S} đòi hỏi các món ăn phải được để riêng rẽ trên đĩa, không được chạm hay trộn lẫn vào nhau.' }, // ===================================================== // 6. NHẬN THỨC CƠ THỂ / CẢM THỤ BẢN THỂ (BODY AWARENESS - BOD • Câu 51 - 60 • THUỘC SENSORY TOTAL - ST) // ===================================================== { id: 51, sc: 'bod', mech: 'perc', c: '{S} kiểm soát lực tay kém: cầm bút ấn quá mạnh làm rách giấy/gãy ngòi, hoặc cầm đồ vật quá lỏng làm rơi.' }, { id: 52, sc: 'bod', mech: 'perc', c: '{S} đóng cửa, đặt đồ vật xuống bàn hoặc bước chân đi lại tạo tiếng động ầm ầm quá mạnh mà không cố ý.' }, { id: 53, sc: 'bod', mech: 'seek', c: '{S} thích lao người va đập mạnh vào tường, nệm, ghế sofa hoặc vật lộn, xô đẩy mạnh khi chơi.' }, { id: 54, sc: 'bod', mech: 'seek', c: '{S} thường xuyên đi nhón gót chân, nhảy dậm chân mạnh xuống sàn hoặc gồng cứng cơ tay/chân.' }, { id: 55, sc: 'bod', mech: 'under',c: '{S} có vẻ nhanh mỏi cơ, hay nằm bò dài ra bàn, chống cằm hoặc phải tựa người vào tường/ghế khi ngồi.' }, { id: 56, sc: 'bod', mech: 'perc', c: '{S} làm hỏng hoặc làm gãy đồ chơi/đồ dùng do dùng lực kéo, vặn hoặc bóp quá mạnh.' }, { id: 57, sc: 'bod', mech: 'seek', c: '{S} hay nghiến răng, cắn chặt hàm hoặc thích mang vác các đồ vật nặng.' }, { id: 58, sc: 'bod', mech: 'perc', c: '{S} ôm người thân hoặc vuốt ve thú cưng quá mạnh tay khiến họ bị đau dù chỉ định thể hiện tình cảm.' }, { id: 59, sc: 'bod', mech: 'perc', c: '{S} gặp khó khăn trong việc định vị tư thế tay chân nếu không nhìn trực tiếp vào tay chân mình.' }, { id: 60, sc: 'bod', mech: 'seek', c: '{S} thích treo người đu xà, chống đẩy tay lên ghế hoặc tự vẫy/búng mạnh các khớp ngón tay.' }, // ===================================================== // 7. THĂNG BẰNG & CHUYỂN ĐỘNG / TIỀN ĐÌNH (BALANCE AND MOTION - BAL • Câu 61 - 70 • THUỘC SENSORY TOTAL - ST) // ===================================================== { id: 61, sc: 'bal', mech: 'seek', c: '{S} luôn chân luôn tay, tìm kiếm mọi cơ hội để chạy nhảy, nhún nhảy hoặc leo trèo không ngừng nghỉ.' }, { id: 62, sc: 'bal', mech: 'seek', c: '{S} thích tự xoay tròn cơ thể nhiều vòng hoặc ngồi ghế xoay tốc độ cao mà không hề bị chóng mặt.' }, { id: 63, sc: 'bal', mech: 'seek', c: '{S} liên tục đung đưa thân mình hoặc lắc lư đầu qua lại trong khi đang ngồi.' }, { id: 64, sc: 'bal', mech: 'over', c: '{S} sợ hãi hoặc lo lắng tột độ khi bàn chân rời khỏi mặt đất (sợ xích đu, cầu trượt, thang cuốn, leo cao).' }, { id: 65, sc: 'bal', mech: 'over', c: '{S} rất sợ khi bị ngửa đầu ra sau (như khi nằm gội đầu) hoặc khi bị thay đổi tư thế đột ngột.' }, { id: 66, sc: 'bal', mech: 'under',c: '{S} giữ thăng bằng kém, dễ bị vấp ngã trên mặt phẳng hoặc loạng choạng khi đi trên bề mặt gồ ghề.' }, { id: 67, sc: 'bal', mech: 'over', c: '{S} rất dễ bị say tàu xe, chóng mặt hoặc buồn nôn khi đi ô tô, thang máy.' }, { id: 68, sc: 'bal', mech: 'under',c: '{S} phản xạ chống tay bảo vệ chậm khi bị mất thăng bằng sắp ngã.' }, { id: 69, sc: 'bal', mech: 'under',c: '{S} gặp khó khăn khi phải giữ thăng bằng trên một chân, nhảy lò cò hoặc đi xe đạp.' }, { id: 70, sc: 'bal', mech: 'seek', c: '{S} thích các tư thế dốc ngược đầu xuống dưới (như trồng cây chuối, vắt người ngược khỏi thành giường/ghế).' }, // ===================================================== // 8. LẬP KẾ HOẠCH VẬN ĐỘNG & Ý TƯỞNG (PLANNING AND IDEAS / PRAXIS - PLA • Câu 71 - 80) // ===================================================== { id: 71, sc: 'pla', mech: 'prax', c: '{S} gặp khó khăn trong việc tự nghĩ ra ý tưởng trò chơi mới hoặc cách mới để sử dụng đồ vật (Suy giảm Ideation).' }, { id: 72, sc: 'pla', mech: 'prax', c: '{S} cứ lặp đi lặp lại mãi một cách chơi hoặc một thao tác cũ thay vì thử nghiệm các bước mới.' }, { id: 73, sc: 'pla', mech: 'prax', c: '{S} trông vụng về, lóng ngóng và mất nhiều thời gian khi học một động tác vận động mới (như tập nhảy dây, tập bơi, bài thể dục).' }, { id: 74, sc: 'pla', mech: 'prax', c: '{S} gặp khó khăn khi bắt chước chính xác các động tác cơ thể hoặc thao tác tay của người làm mẫu.' }, { id: 75, sc: 'pla', mech: 'prax', c: '{S} thực hiện các công việc gồm nhiều bước (như mặc quần áo, chuẩn bị cặp sách, làm thủ công) một cách lộn xộn, sai thứ tự.' }, { id: 76, sc: 'pla', mech: 'prax', c: '{S} gặp khó khăn khi phải phối hợp nhịp nhàng cả hai bên tay – chân cùng lúc (như một tay giữ giấy một tay cắt kéo, cài cúc áo, buộc dây giày).' }, { id: 77, sc: 'pla', mech: 'prax', c: '{S} khó căn chỉnh đúng thời điểm và tốc độ vận động (như bắt trượt bóng đang bay tới hoặc đá hụt bóng đang lăn).' }, { id: 78, sc: 'pla', mech: 'prax', c: '{S} để bàn học, góc đồ chơi hoặc không gian làm việc cực kỳ bừa bộn và không biết cách tự sắp xếp tổ chức lại.' }, { id: 79, sc: 'pla', mech: 'prax', c: '{S} tốn rất nhiều thời gian và nỗ lực để hoàn thành các bài tập viết chữ, vẽ hình hoặc lắp ghép mô hình.' }, { id: 80, sc: 'pla', mech: 'prax', c: '{S} dễ nản lòng, bỏ cuộc hoặc nhờ người khác làm hộ ngay khi gặp một nhiệm vụ đòi hỏi khéo léo tay chân mới.' } ]; let currentForm = 'child_home'; // 'infant' | 'preschool' | 'child_home' | 'child_school' | 'adolescent_adult' // ratings[id] lưu lựa chọn trên thang tần suất 1..4: // 1 = Không bao giờ (Never) // 2 = Thỉnh thoảng (Occasionally) // 3 = Thường xuyên (Frequently) // 4 = Luôn luôn (Always) let ratings = {}; let filterScale = 'all'; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .sm-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .sm-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .sm-inner { padding: 24px; max-width: 980px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .sm-wrap.is-fullscreen .sm-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .sm-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(124, 58, 237, 0.45), 0 0 0 0 rgba(124, 58, 237, 0.4); } 70% { box-shadow: 0 6px 20px rgba(124, 58, 237, 0.45), 0 0 0 10px rgba(124, 58, 237, 0); } 100% { box-shadow: 0 6px 20px rgba(124, 58, 237, 0.45), 0 0 0 0 rgba(124, 58, 237, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #6d28d9 0%, #7c3aed 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(124, 58, 237, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Bộ chuyển đổi 5 Phiên bản Độ tuổi & Môi trường của SPM-2 */ .form-switcher-box { background: #f1f5f9; padding: 10px; border-radius: 12px; margin-bottom: 18px; } .form-switcher-lbl { font-size: 12px; font-weight: 800; color: #334155; text-transform: uppercase; margin-bottom: 8px; display: block; } .form-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; } .form-btn { padding: 9px 8px; border-radius: 9px; border: 1.5px solid transparent; background: rgba(255, 255, 255, 0.65); cursor: pointer; text-align: left; transition: all 0.18s ease; touch-action: manipulation; } .form-btn:hover { background: #ffffff; } .form-btn.active { background: #ffffff; border-color: #7c3aed; box-shadow: 0 3px 10px rgba(15, 23, 42, 0.08); } .form-btn-title { font-size: 12.5px; font-weight: 800; color: #0f172a; display: block; line-height: 1.25; } .form-btn.active .form-btn-title { color: #6d28d9; } .form-btn-sub { font-size: 10.8px; color: #64748b; margin-top: 2px; display: block; line-height: 1.2; } /* Header */ .sm-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .sm-header-text { flex: 1 1 260px; } .sm-title { font-size: 20px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .sm-desc { font-size: 13.8px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #f5f3ff; color: #6d28d9; border: 1px solid #ddd6fe; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #7c3aed; color: #ffffff; border-color: #7c3aed; } /* Controls */ .sm-controls { display: flex; flex-direction: column; gap: 10px; margin-bottom: 18px; } .sm-presets { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; } .sm-preset-lbl { font-size: 12.5px; font-weight: 700; color: #475569; margin-right: 4px; } .sm-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; touch-action: manipulation; } .sm-pbtn:hover { background: #f1f5f9; } .sm-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } .sm-scale-tabs { display: flex; flex-wrap: wrap; gap: 6px; } .sm-stab { padding: 6px 11px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .sm-stab.active { background: #6d28d9; color: #ffffff; border-color: #6d28d9; } /* Sticky Dashboard */ .sm-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .sm-wrap.is-fullscreen .sm-dash { top: 58px; } .sm-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .sm-score-big { font-size: 21px; font-weight: 800; line-height: 1.2; } .sm-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .sm-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .sm-pillars { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; font-size: 11.5px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .sm-pillar-box { background: #1e293b; padding: 7px 9px; border-radius: 8px; border-left: 3px solid #475569; } .sm-pillar-box.typ { border-left-color: #10b981; } .sm-pillar-box.mod { border-left-color: #f59e0b; background: rgba(245, 158, 11, 0.14); } .sm-pillar-box.sev { border-left-color: #ef4444; background: rgba(239, 68, 68, 0.16); } .sm-pillar-val { font-weight: 800; color: #ffffff; font-size: 13px; display: block; margin-top: 2px; } /* Danh sách 80 câu hỏi */ .sm-q-item { border: 1px solid #e2e8f0; border-radius: 10px; padding: 14px 16px; margin-bottom: 10px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 8px; } .sm-q-item.pts-4 { border-color: #fda4af; background: #fff5f5; } .sm-q-item.pts-3 { border-color: #fde68a; background: #fffbeb; } .sm-q-text { font-size: 14.5px; font-weight: 600; color: #1e293b; line-height: 1.5; } .sm-q-tags { display: flex; flex-wrap: wrap; gap: 6px; } .sm-tag { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .sm-ans-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; } .sm-abtn { padding: 8px 6px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 600; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .sm-abtn:hover { border-color: #64748b; } .sm-abtn.sel-1 { background: #10b981; border-color: #10b981; color: #ffffff; font-weight: 700; } .sm-abtn.sel-2 { background: #3b82f6; border-color: #3b82f6; color: #ffffff; font-weight: 700; } .sm-abtn.sel-3 { background: #f59e0b; border-color: #f59e0b; color: #ffffff; font-weight: 700; } .sm-abtn.sel-4 { background: #ef4444; border-color: #ef4444; color: #ffffff; font-weight: 700; } /* Biểu đồ T-Score 8 Tiểu thang & Tổng điểm ST */ .sm-chart-card { margin-top: 20px; padding: 16px 18px; border-radius: 12px; background: #ffffff; border: 1px solid #e2e8f0; } .sm-chart-title { font-size: 14.5px; font-weight: 800; color: #0f172a; margin-bottom: 12px; } .sm-bar-row { display: flex; align-items: center; gap: 10px; margin-bottom: 9px; font-size: 12.5px; } .sm-bar-lbl { width: 280px; flex-shrink: 0; font-weight: 600; color: #334155; } .sm-bar-track { flex: 1; height: 16px; background: #f1f5f9; border-radius: 999px; overflow: hidden; } .sm-bar-val { width: 155px; text-align: right; font-weight: 700; color: #0f172a; flex-shrink: 0; } .sm-asi-box { margin-top: 16px; padding: 16px 18px; border-radius: 12px; background: #f5f3ff; border: 1px solid #ddd6fe; border-left: 5px solid #7c3aed; font-size: 13.8px; color: #1e1b4b; line-height: 1.6; } .sm-result-box { margin-top: 16px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #2563eb; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 780px) { .sm-inner { padding: 14px; } .form-grid { grid-template-columns: 1fr 1fr; } .sm-title { font-size: 18px; } .sm-pillars { grid-template-columns: 1fr 1fr; } .sm-ans-grid { grid-template-columns: 1fr 1fr; } .sm-bar-lbl { width: 145px; font-size: 11.5px; } .sm-bar-val { width: 115px; font-size: 11px; } .sm-pbtn.reset { margin-left: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
${fCfg.fullTitle}
${fCfg.desc}
`; } function renderQuestions() { const fCfg = formConfigs[currentForm]; questionList.innerHTML = ''; const freqOptions = [ { val: 1, lbl: '1 - Không bao giờ (Never)' }, { val: 2, lbl: '2 - Thỉnh thoảng (Occasionally)' }, { val: 3, lbl: '3 - Thường xuyên (Frequently)' }, { val: 4, lbl: '4 - Luôn luôn (Always)' } ]; rawQuestions.forEach(function(q) { if (filterScale !== 'all' && q.sc !== filterScale) return; const sCfg = scaleConfigs[q.sc]; const defaultFreq = sCfg.rev ? 4 : 1; // Mặc định điểm rủi ro = 1đ const uFreq = (ratings[q.id] !== undefined) ? ratings[q.id] : defaultFreq; const pts = getItemPoints(q, uFreq); let rowCls = 'sm-q-item'; if (pts === 4) rowCls += ' pts-4'; else if (pts === 3) rowCls += ' pts-3'; const btnsHtml = freqOptions.map(opt => { const optPts = getItemPoints(q, opt.val); let cls = 'sm-abtn'; if (uFreq === opt.val) { cls += ` sel-${optPts}`; } return ``; }).join(''); const mechLabel = { soc: 'Tham gia Xã hội', over: 'Cơ chế ASI: Tăng phản ứng / Quá tải (Hyper-reactivity)', under:'Cơ chế ASI: Giảm phản ứng / Thờ ơ (Hypo-reactivity)', seek: 'Cơ chế ASI: Tìm kiếm cảm giác (Sensory Seeking)', perc: 'Cơ chế ASI: Nhận thức phân biệt giác quan (Perception)', prax: 'Cơ chế ASI: Lập kế hoạch vận động & Ý tưởng (Praxis)' }[q.mech]; const el = document.createElement('div'); el.className = rowCls; el.innerHTML = `• 2. Giảm phản ứng / Thờ ơ giác quan (Hypo-reactivity): Mức độ ảnh hưởng ${getMechPct('under')}% (Chậm nhận biết tín hiệu gọi tên, đau, bẩn hoặc mất thăng bằng).
• 3. Tìm kiếm cảm giác mạnh (Sensory Seeking): Mức độ ảnh hưởng ${getMechPct('seek')}% (Liên quan đến Bản thể BOD: ${tScores.bod}T và Tiền đình BAL: ${tScores.bal}T).
• 4. Nhận thức phân biệt giác quan (Sensory Perception): Mức độ ảnh hưởng ${getMechPct('perc')}% (Khả năng định vị cơ thể, kiểm soát lực tay và tri giác không gian).
• 5. Thực hành vận động & Ý tưởng hóa (Praxis: Ideation & Motor Planning - PLA): Đạt ${tScores.pla}T (${cPLA.text}) — ${tScores.pla >= 60 ? '⚠️ Khi PLA ≥ 60T đi kèm với sự suy giảm ở Xúc giác (TOU = ' + tScores.tou + 'T), Bản thể (BOD = ' + tScores.bod + 'T) hoặc Tiền đình (BAL = ' + tScores.bal + 'T), đây là bằng chứng lâm sàng điển hình của hội chứng Mất thực hành vận động do giác quan (Somatodyspraxia / Vestibular-Bilateral Integration Deficit) theo Jean Ayres.' : 'Khả năng lên ý tưởng và lập kế hoạch vận động nằm trong giới hạn bình thường.'} `; resultBox.style.borderLeftColor = cOverall.color; resultBox.innerHTML = ` Tổng hợp Kết luận Lâm sàng & Khuyến nghị Can thiệp Hoạt động Trị liệu (OT) theo SPM-2:
• Hồ sơ Tổng quát (${formConfigs[currentForm].tabTitle}): Tổng điểm Giác quan ST = ${tScores.st}T (${cST.text}) • Lập kế hoạch vận động & Ý tưởng PLA = ${tScores.pla}T (${cPLA.text}) • Tham gia Xã hội SOC = ${tScores.soc}T (${cSOC.text}).
• Định hướng Can thiệp Hoạt động Trị liệu Tích hợp Giác quan (Ayres Sensory Integration - OT/ASI):
1. Nếu PLA (${tScores.pla}T), BOD (${tScores.bod}T) và BAL (${tScores.bal}T) cao (≥ 60T): Cần can thiệp trong phòng Sensory Gym có thiết bị treo (xích đu trị liệu, ván trượt scooter, vượt chướng ngại vật đa bước) để trẻ tự lên ý tưởng (Ideation), tự lập kế hoạch cơ thể vượt qua thử thách thích ứng (Adaptive Response).
2. Nếu HEA (${tScores.hea}T), TOU (${tScores.tou}T) và T&S (${tScores.ts}T) cao (≥ 60T): Áp dụng kỹ thuật điều hòa cảm thụ bản thể lực sâu (Deep Pressure / Heavy Work) và giảm tải kích thích môi trường lớp học/gia đình. `; updateFloatingFabVisibility(); } function applyPreset(type) { ratings = {}; const setTargetPts = function(q, targetPts) { // targetPts: 1, 2, 3, 4 const sCfg = scaleConfigs[q.sc]; if (!sCfg.rev) { ratings[q.id] = targetPts; } else { ratings[q.id] = 5 - targetPts; } }; if (type === 'reset') { rawQuestions.forEach(q => { setTargetPts(q, 1); }); renderQuestions(); updateSummary(); return; } if (type === 'typical') { // Điển hình (40T - 59T) rawQuestions.forEach((q, idx) => { setTargetPts(q, (idx % 4 === 0) ? 2 : 1); }); } else if (type === 'dyspraxia') { // Mất thực hành vận động do giác quan (Somatodyspraxia): Tăng cao BOD, BAL & PLA (>= 70T) rawQuestions.forEach((q, idx) => { if (q.sc === 'pla' || q.sc === 'bod' || q.sc === 'bal') { setTargetPts(q, (idx % 2 === 0) ? 3 : 3); } else if (q.sc === 'tou' || q.sc === 'soc') { setTargetPts(q, 2); } else { setTargetPts(q, 1); } }); } else if (type === 'modulation') { // Quá tải / Phòng vệ giác quan: Tăng cao HEA, TOU, T&S (>= 70T) rawQuestions.forEach((q, idx) => { if (q.sc === 'hea' || q.sc === 'tou' || q.sc === 'ts') { setTargetPts(q, (idx % 2 === 0) ? 3 : 3); } else { setTargetPts(q, (idx % 3 === 0) ? 2 : 1); } }); } else if (type === 'asd_full') { // Hồ sơ Tự kỷ điển hình: Tăng cao cả ST, PLA và SOC rawQuestions.forEach((q, idx) => { setTargetPts(q, (idx % 3 === 0) ? 3 : 2); }); } renderQuestions(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); smWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { smWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 980px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } shadow.querySelectorAll('#formGrid .form-btn').forEach(function(btn) { btn.onclick = function() { currentForm = this.getAttribute('data-form'); shadow.querySelectorAll('#formGrid .form-btn').forEach(b => b.classList.remove('active')); this.classList.add('active'); renderHeader(); renderQuestions(); updateSummary(); }; }); shadow.querySelectorAll('.sm-pbtn').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-preset')); }; }); shadow.querySelectorAll('#scaleTabs .sm-stab').forEach(function(tab) { tab.onclick = function() { filterScale = this.getAttribute('data-sc'); shadow.querySelectorAll('#scaleTabs .sm-stab').forEach(t => t.classList.remove('active')); this.classList.add('active'); renderQuestions(); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); renderHeader(); applyPreset('dyspraxia'); })();
Bên cạnh Sensory Profile 2, SPM-2 là công cụ đánh giá rối loạn xử lý giác quan rất mạnh vì có phiên bản đánh giá trẻ ở cả môi trường gia đình và môi trường trường học.
SPM-2 (Sensory Processing Measure, Second Edition — Thang đo Xử lý Giác quan, Phiên bản 2) là một trong hai công cụ đánh giá chuẩn hóa đỉnh cao nhất của chuyên ngành Hoạt động Trị liệu (Occupational Therapy – OT) trên thế giới hiện nay (song hành cùng Sensory Profile 2), do các chuyên gia Heather Miller Kuhaneck, Diana A. Henry, Tara J. Glennon, L. Diane Parham vàChristian Ecker phát triển (xuất bản năm 2021 bởi WPS).
Nếu như Sensory Profile 2 (Winnie Dunn) tập trung phân loại trẻ theo 4 Góc phần tư ngưỡng thần kinh, thì SPM-2 được xây dựng trực tiếp trên Lý thuyết Hòa nhập Giác quan Kinh điển của Tiến sĩ A. Jean Ayres (Ayres Sensory Integration® – ASI). Đây là công cụ DUY NHẤT đo lường trực tiếp cả Khả năng Lập kế hoạch Vận động / Ý tưởng hóa (Praxis: Ideation & Motor Planning) và sự tham gia xã hội xuyên suốt từ 4 tháng tuổi đến 87 tuổi trên nhiều môi trường sống khác nhau.
1. Điểm đột phá làm nên tầm quan trọng của SPM-2 (2021)
-
Đánh giá trực tiếp “Praxis” (Lập kế hoạch vận động & Ý tưởng hóa): Rất nhiều trẻ Tự kỷ (ASD), ADHD hoặc Rối loạn phối hợp vận động (DCD) có cơ bắp hoàn toàn khỏe mạnh nhưng lại cực kỳ vụng về, không biết cách bắt chước động tác mới, không biết tự nghĩ ra cách chơi đồ chơi mới (thiếu Ideation), hoặc lóng ngóng khi mặc quần áo/dùng kéo/đá bóng (suy giảm Motor Planning). SPM-2 có hẳn thang đo riêng cho Lập kế hoạch và Ý tưởng (Planning and Ideas – PLA) để bắt mạch chính xác tình trạng Mất thực hành vận động do giác quan (Somatodyspraxia) này.
-
Đo lường đầy đủ 8 Lĩnh vực Cốt lõi (8 Core Scales) & Tổng điểm Giác quan (ST):
-
6 Hệ Giác quan cấu thành Tổng điểm Giác quan (Sensory Total – ST):
-
Thị giác (Vision –
VIS) -
Thính giác (Hearing –
HEA) -
Xúc giác (Touch –
TOU) -
Vị giác & Khứu giác (Taste and Smell –
T&S— điểm mới tách riêng rõ ràng ở bản SPM-2) -
Nhận thức Cơ thể / Cảm thụ Bản thể (Body Awareness / Proprioception –
BOD) -
Thăng bằng & Chuyển động / Tiền đình (Balance and Motion / Vestibular –
BAL)
-
-
2 Lĩnh vực Chức năng Bậc cao (Đứng độc lập không cộng vào ST): 7. Lập kế hoạch & Ý tưởng(Planning and Ideas / Praxis –
PLA) 8. Tham gia Xã hội (Social Participation –SOC)
-
-
So sánh Đa môi trường (Gia đình vs. Trường học): Nhiều trẻ ở nhà thì rất bình thường nhưng cứ đến lớp học đông đúc, đèn sáng, nhiều tiếng ồn là bùng nổ hành vi hoặc thu mình. SPM-2 cho phép đối chiếu trực tiếp điểm T-Score giữa Bản Gia đình (Home Form) và Bản Lớp học (Classroom Form) để xác định sự khác biệt môi trường (Environmental Difference).
2. Hệ thống 5 Cấp độ Tuổi & Bảng Quy đổi Điểm Chuẩn T-Score của SPM-2
-
5 Nhóm Độ tuổi & Phiên bản của SPM-2 (Mỗi mẫu chính gồm 80 câu hỏi, chấm thang 4 mức từ 1 đến 4 điểm):
-
Infant / Toddler (Nhũ nhi & Trẻ nhỏ • 4 – 30 tháng): Dành cho cha mẹ/người chăm sóc đánh giá sớm.
-
Preschool (Mầm non • 2 – 5 tuổi): Bản Gia đình (Home) & Bản Trường mầm non (School).
-
Child (Trẻ em • 5 – 12 tuổi): Bản Gia đình (Home) & Bản Lớp học tiểu học (Main Classroom).
-
Adolescent (Vị thành niên • 12 – 21 tuổi): Bản Gia đình, Bản Trường học & Bản Tự đánh giá (Self-Report).
-
Adult (Người trưởng thành • 21 – 87 tuổi): Bản Tự đánh giá (Self-Report) & Bản Người thân đánh giá (Rater).
-
-
Quy tắc chấm điểm (Thang tần suất 1 – 4 điểm):
-
Đối với 7 thang (
VIS, HEA, TOU, T&S, BOD, BAL, PLA— mô tả hành vi rối loạn):1 - Không bao giờ(1đ) •2 - Thỉnh thoảng(2đ) •3 - Thường xuyên(3đ) •4 - Luôn luôn(4đ). -
Riêng đối với thang
SOC(Tham gia Xã hội — mô tả kỹ năng xã hội tích cực): Chấm ĐẢO NGƯỢC (4 - Luôn luôn= 1đ •3 - Thường xuyên= 2đ •2 - Thỉnh thoảng= 3đ •1 - Không bao giờ= 4đ rủi ro).
-
-
Bảng Diễn giải Điểm Chuẩn T-Score của SPM-2 (Mean=50,SD=10):
[Giác quan] Sensory Profile 2: Công cụ đo lường rối loạn xử lý giác quan ở trẻ tự kỷ từ 0 tuổi đến trưởng thành
(function() { const host = document.getElementById('sp2-full-wp-host'); if (!host) return; const placeholder = document.createComment('sp2-full-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // Cấu hình 4 Góc phần tư chuẩn Winnie Dunn const quadConfigs = { seek: { code: 'seek', name: '1. Tìm kiếm cảm giác (Seeking / Seeker)', thresh: 'Ngưỡng Cao + Chủ động', color: '#f59e0b' }, avoi: { code: 'avoi', name: '2. Né tránh cảm giác (Avoiding / Avoider)', thresh: 'Ngưỡng Thấp + Chủ động', color: '#ef4444' }, sens: { code: 'sens', name: '3. Nhạy cảm giác quan (Sensitivity / Sensor)', thresh: 'Ngưỡng Thấp + Thụ động', color: '#8b5cf6' }, regi: { code: 'regi', name: '4. Đăng ký cảm giác thấp / Thờ ơ (Registration)', thresh: 'Ngưỡng Cao + Thụ động', color: '#0284c7' } }; // Cấu hình thông tin 5 Phiên bản theo độ tuổi & người đánh giá const versionConfigs = { infant: { code: 'infant', tabTitle: '👶 1. Infant (0 – 6 tháng)', tabSub: 'Nhũ nhi • Cha mẹ đánh giá', fullTitle: 'Infant Sensory Profile 2 — Dành Cho Trẻ Sơ Sinh & Nhũ Nhi (0 – 6 Tháng Tuổi)', desc: 'Đánh giá các phản ứng điều hòa giác quan sớm nhất của bé trong 6 tháng đầu đời (giấc ngủ, nhịp bú, phản ứng khi bế, tắm rửa, thay tã, âm thanh và ánh sáng) để hướng dẫn cha mẹ cách vỗ về và thiết lập môi trường chăm sóc êm dịu.', sections: [ { code: 'gen', name: '1. Điều hòa Chung & Giấc ngủ (General)', color: '#6366f1' }, { code: 'aud', name: '2. Thính giác Sơ sinh (Auditory)', color: '#2563eb' }, { code: 'vis', name: '3. Thị giác & Giao tiếp mắt (Visual)', color: '#0891b2' }, { code: 'tou', name: '4. Xúc giác: Bế ẵm, Tắm & Thay tã (Touch)', color: '#0d9488' }, { code: 'mov', name: '5. Tiền đình & Chuyển động đung đưa (Movement)', color: '#f59e0b' }, { code: 'ora', name: '6. Cảm giác Miệng & Bú mút (Oral)', color: '#dc2626' } ], items: [ // General (0-6m) { id: 1, sec: 'gen', quad: 'sens', t: 'Bé rất khó đi vào giấc ngủ hoặc cực kỳ dễ giật mình thức giấc chỉ vì một tiếng động hay thay đổi nhỏ trong phòng.' }, { id: 2, sec: 'gen', quad: 'avoi', t: 'Bé quấy khóc dữ dội và rất khó dỗ dành mỗi khi lịch sinh hoạt (giờ bú, giờ ngủ) hoặc người bế bị thay đổi.' }, { id: 3, sec: 'gen', quad: 'regi', t: 'Bé ngủ li bì quá nhiều, trông lờ đờ và rất ít khi chủ động thức dậy đòi bú.' }, { id: 4, sec: 'gen', quad: 'seek', t: 'Bé chỉ chịu nằm yên hoặc nín khóc khi được người lớn đung đưa liên tục, vỗ nhịp hoặc bật âm thanh trắng.' }, // Auditory (0-6m) { id: 5, sec: 'aud', quad: 'sens', t: 'Bé giật bắn mình, khóc thét hoặc chớp mắt liên tục khi nghe tiếng động bất ngờ (tiếng đóng cửa, tiếng ho, máy xay).' }, { id: 6, sec: 'aud', quad: 'avoi', t: 'Bé quay đầu đi hoặc khóc gắt lên khi ở nơi có nhiều người đang nói chuyện cùng lúc.' }, { id: 7, sec: 'aud', quad: 'regi', t: 'Bé không quay đầu tìm kiếm hoặc không có phản ứng gì khi bố mẹ gọi tên/trò chuyện ngay gần bên tai.' }, { id: 8, sec: 'aud', quad: 'seek', t: 'Bé tỏ ra phấn khích, đạp chân tay và tự phát ra nhiều âm thanh ê a khi nghe nhạc hoặc giọng nói vui nhộn.' }, // Visual (0-6m) { id: 9, sec: 'vis', quad: 'avoi', t: 'Bé quay mặt đi, nhắm chặt mắt hoặc quấy khóc khi nhìn thấy ánh đèn sáng hoặc khi người lớn đưa mặt lại gần nhìn trực diện.' }, { id: 10, sec: 'vis', quad: 'sens', t: 'Bé nhanh chóng bị quá tải, mỏi mệt hoặc nấc cụt/trớ sữa khi nhìn những đồ chơi treo nôi có quá nhiều màu sắc chuyển động.' }, { id: 11, sec: 'vis', quad: 'regi', t: 'Bé không nhìn theo khuôn mặt của mẹ hoặc đồ vật màu sắc di chuyển ngang qua tầm mắt.' }, { id: 12, sec: 'vis', quad: 'seek', t: 'Bé nhìn chằm chằm rất lâu vào quạt trần đang quay, bóng đèn hoặc các họa tiết tương phản mạnh.' }, // Touch (0-6m) { id: 13, sec: 'tou', quad: 'avoi', t: 'Bé ưỡn cong lưng, gồng cứng người hoặc đẩy ra khi được người lớn ôm ấp, bế áp sát vào lòng.' }, { id: 14, sec: 'tou', quad: 'sens', t: 'Bé khóc thét, cáu kỉnh mỗi khi được cởi quần áo, thay tã bỉm, lau mặt hoặc khi cho vào chậu nước tắm.' }, { id: 15, sec: 'tou', quad: 'regi', t: 'Bé không hề tỏ ra khó chịu hay khóc báo hiệu khi tã bỉm đã ướt sũng hoặc bẩn rất lâu.' }, { id: 16, sec: 'tou', quad: 'seek', t: 'Bé chỉ dễ chịu và ngủ ngon khi được quấn chũn (swaddle) thật chặt hoặc đắp chăn có độ nặng nhẹ lên ngực.' }, // Movement (0-6m) { id: 17, sec: 'mov', quad: 'sens', t: 'Bé khóc thét hoặc hốt hoảng dang hai tay (phản xạ Moro mạnh) mỗi khi được đặt nằm ngửa xuống giường hoặc nhấc bổng lên.' }, { id: 18, sec: 'mov', quad: 'avoi', t: 'Bé rất ghét tư thế nằm sấp (Tummy time) hoặc khi bị thay đổi tư thế đầu đột ngột.' }, { id: 19, sec: 'mov', quad: 'seek', t: 'Bé rất thích được bế nhún nhảy nhịp nhàng, đưa võng/nôi hoặc đẩy đi dạo bằng xe đẩy liên tục.' }, { id: 20, sec: 'mov', quad: 'regi', t: 'Cơ thể bé có vẻ mềm nhão (trương lực cơ thấp), ít đạp chân tay và chậm kiểm soát cổ hơn các bé cùng tháng tuổi.' }, // Oral (0-6m) { id: 21, sec: 'ora', quad: 'sens', t: 'Bé rất dễ bị sặc, ọe hoặc trớ sữa khi bú hoặc khi đổi từ ti mẹ sang bình sữa / núm ti giả khác chất liệu.' }, { id: 22, sec: 'ora', quad: 'regi', t: 'Bé mút sữa rất yếu, hay ngủ quên khi mới bú được vài hơi hoặc sữa chảy tràn ra hai bên khóe miệng.' }, { id: 23, sec: 'ora', quad: 'seek', t: 'Bé liên tục mút ngón tay, nắm tay hoặc mút ti giả/vạt áo rất mạnh ngay cả khi vừa mới bú no xong.' }, { id: 24, sec: 'ora', quad: 'avoi', t: 'Bé quay đầu né tránh, mím chặt môi hoặc khóc đẩy ra khi có bất kỳ vật gì (như thìa nhỏ, gạc rơ lưỡi) chạm vào môi.' } ] }, toddler: { code: 'toddler', tabTitle: '🧸 2. Toddler (7 – 35 tháng)', tabSub: 'Trẻ mới biết đi • Cha mẹ chấm', fullTitle: 'Toddler Sensory Profile 2 — Dành Cho Trẻ Mới Biết Đi (7 – 35 Tháng Tuổi)', desc: 'Đánh giá giai đoạn vàng từ 7 đến 35 tháng tuổi — thời điểm trẻ bắt đầu bò, đi, ăn thức ăn đặc và khám phá thế giới. Công cụ giúp phát hiện sớm các dấu hiệu rối loạn điều hòa giác quan thường đi kèm với chậm nói và nguy cơ tự kỷ sớm.', sections: [ { code: 'gen', name: '1. Điều hòa Sinh hoạt Chung (General)', color: '#6366f1' }, { code: 'aud', name: '2. Thính giác (Auditory)', color: '#2563eb' }, { code: 'vis', name: '3. Thị giác (Visual)', color: '#0891b2' }, { code: 'tou', name: '4. Xúc giác (Touch)', color: '#0d9488' }, { code: 'mov', name: '5. Tiền đình & Vận động (Movement)', color: '#f59e0b' }, { code: 'ora', name: '6. Cảm giác Miệng & Ăn dặm (Oral)', color: '#dc2626' }, { code: 'beh', name: '7. Hành vi & Cảm xúc Tương tác (Behavior)', color: '#7c3aed' } ], items: [ // General (7-35m) { id: 1, sec: 'gen', quad: 'sens', t: 'Bé rất khó dỗ khi quấy khóc và mất rất nhiều thời gian mới bình tĩnh lại được sau khi bị giật mình hoặc thất vọng.' }, { id: 2, sec: 'gen', quad: 'avoi', t: 'Bé bám chặt lấy mẹ, khóc thét và từ chối bước vào những nơi mới lạ hoặc có người lạ.' }, { id: 3, sec: 'gen', quad: 'regi', t: 'Bé có nhịp sinh học ngủ – thức thất thường và trông có vẻ chậm chạp, ít năng lượng hơn các bé cùng tuổi.' }, { id: 4, sec: 'gen', quad: 'seek', t: 'Bé chạy nhảy, leo trèo không ngừng nghỉ suốt cả ngày như "không biết mệt".' }, // Auditory (7-35m) { id: 5, sec: 'aud', quad: 'avoi', t: 'Bé lấy hai tay bịt chặt tai hoặc khóc chạy trốn khi nghe tiếng máy hút bụi, máy sấy tóc, máy xay sinh tố.' }, { id: 6, sec: 'aud', quad: 'regi', t: 'Bé không quay đầu lại khi bố mẹ gọi tên nhiều lần (dù bé nghe thấy ngay tiếng nhạc quảng cáo hoặc tiếng bóc bánh).' }, { id: 7, sec: 'aud', quad: 'sens', t: 'Bé giật mình hoặc dừng chơi ngay lập tức khi nghe tiếng chó sủa, tiếng còi xe hoặc tiếng động nhỏ ngoài hành lang.' }, { id: 8, sec: 'aud', quad: 'seek', t: 'Bé thích đập gõ đồ chơi liên tục để tạo tiếng vang hoặc áp sát tai vào loa phát nhạc.' }, // Visual (7-35m) { id: 9, sec: 'vis', quad: 'seek', t: 'Bé thích nằm nghiêng đầu trên sàn để nhìn bánh xe ô tô đồ chơi lăn qua lăn lại hoặc nhìn quạt quay.' }, { id: 10, sec: 'vis', quad: 'avoi', t: 'Bé tránh nhìn vào mắt người đối diện ngay cả khi đang được bế hoặc đang xin đồ ăn.' }, { id: 11, sec: 'vis', quad: 'sens', t: 'Bé nheo mắt, dụi mắt hoặc quấy khóc khi đi từ trong nhà ra ngoài trời nắng sáng.' }, { id: 12, sec: 'vis', quad: 'regi', t: 'Bé đi lại hay va vào bàn ghế hoặc không nhìn thấy món đồ chơi rơi ngay dưới chân mình.' }, // Touch (7-35m) { id: 13, sec: 'tou', quad: 'sens', t: 'Bé khóc lóc, giãy giụa dữ dội mỗi khi gội đầu, cắt tóc, cắt móng tay hoặc rửa mặt.' }, { id: 14, sec: 'tou', quad: 'avoi', t: 'Bé không chịu đi chân trần trên cỏ, cát hoặc thảm nhám và xòe tay khóc ngay nếu tay dính cháo/bẩn.' }, { id: 15, sec: 'tou', quad: 'regi', t: 'Bé bị ngã va đập mạnh hoặc kẹp tay nhưng hầu như không khóc và không tỏ ra đau đớn.' }, { id: 16, sec: 'tou', quad: 'seek', t: 'Bé thích chui rúc vào khe hẹp giữa ghế sofa, thích được bố mẹ ôm siết chặt hoặc cù léc mạnh.' }, // Movement (7-35m) { id: 17, sec: 'mov', quad: 'seek', t: 'Bé thích tự xoay tròn cơ thể nhiều vòng, nhún nhảy trên giường nệm hoặc đi nhón gót chân.' }, { id: 18, sec: 'mov', quad: 'avoi', t: 'Bé sợ hãi bám chặt vào người lớn khi được đặt lên xích đu, cầu trượt hoặc thú nhún ở sân chơi.' }, { id: 19, sec: 'mov', quad: 'sens', t: 'Bé rất sợ khi bị nhấc bổng lên cao hoặc khi bước xuống bậc thềm/cầu thang.' }, { id: 20, sec: 'mov', quad: 'regi', t: 'Bé giữ thăng bằng kém, rất hay bị vấp ngã khi chạy hoặc phải vịn vào đồ đạc để giữ tư thế.' }, // Oral (7-35m) { id: 21, sec: 'ora', quad: 'sens', t: 'Bé chỉ chịu ăn cháo xay nhuyễn hoặc vài món cố định; nếu thức ăn hơi lợn cợn hoặc đổi mùi vị là bé nôn ọe ngay.' }, { id: 22, sec: 'ora', quad: 'seek', t: 'Bé đưa bất cứ đồ vật gì cầm trên tay (đồ chơi nhựa, gỗ, quần áo, sỏi đá) vào miệng để gặm, liếm.' }, { id: 23, sec: 'ora', quad: 'avoi', t: 'Bé mím chặt miệng và chống cự quyết liệt khi bố mẹ đánh răng hoặc đút món ăn mới.' }, { id: 24, sec: 'ora', quad: 'regi', t: 'Bé ngậm thức ăn trong má rất lâu không chịu nhai nuốt hoặc thường xuyên chảy nước dãi.' }, // Behavior (7-35m) { id: 25, sec: 'beh', quad: 'avoi', t: 'Bé ăn vạ nằm lăn ra sàn khóc thét nếu đồ chơi bị lệch khỏi hàng hoặc khi đi khác đường quen thuộc.' }, { id: 26, sec: 'beh', quad: 'sens', t: 'Bé rất dễ bị kích động, cáu gắt khi ở nơi đông đúc như siêu thị, khu vui chơi hoặc đám đông.' }, { id: 27, sec: 'beh', quad: 'seek', t: 'Bé lao đi chạy nhảy tự do mà không hề quay lại nhìn bố mẹ hay nhận thức nguy hiểm.' }, { id: 28, sec: 'beh', quad: 'regi', t: 'Bé ngồi chơi thờ ơ một mình, rất khó thu hút bé tham gia vào các trò chơi ú òa hay lăn bóng qua lại.' } ] }, child: { code: 'child', tabTitle: '🧒 3. Child (3 – 14 tuổi)', tabSub: 'Bản Phụ huynh • 6 Giác quan + 3 Hành vi', fullTitle: 'Child Sensory Profile 2 — Dành Cho Trẻ Em & Thiếu Niên (3 Tuổi – 14 Tuổi 11 Tháng • Phụ Huynh Chấm)', desc: 'Phiên bản chuẩn hóa đầy đủ nhất dành cho phụ huynh đánh giá trẻ từ 3 đến gần 15 tuổi qua 6 Hệ giác quan (Thính giác, Thị giác, Xúc giác, Tiền đình, Bản thể, Miệng) và 3 Nhóm Hành vi (Ứng xử, Cảm xúc – Xã hội, Chú ý).', sections: [ { code: 'aud', name: '1. Thính giác (Auditory)', color: '#2563eb' }, { code: 'vis', name: '2. Thị giác (Visual)', color: '#0891b2' }, { code: 'tou', name: '3. Xúc giác (Touch)', color: '#0d9488' }, { code: 'mov', name: '4. Tiền đình / Chuyển động (Movement)', color: '#f59e0b' }, { code: 'bod', name: '5. Cảm thụ Bản thể / Vị trí cơ thể (Body Position)', color: '#ea580c' }, { code: 'ora', name: '6. Cảm giác Miệng (Oral Sensory)', color: '#dc2626' }, { code: 'con', name: '7. Hành vi Ứng xử (Conduct)', color: '#7c3aed' }, { code: 'soc', name: '8. Cảm xúc – Xã hội (Social Emotional)', color: '#db2777' }, { code: 'att', name: '9. Phản ứng Chú ý (Attentional)', color: '#4f46e5' } ], items: [ { id: 1, sec: 'aud', quad: 'avoi', t: 'Trẻ lấy tay bịt tai hoặc tỏ ra đau đớn trước những âm thanh sinh hoạt thông thường (máy sấy, máy hút bụi, tiếng xả nước).' }, { id: 2, sec: 'aud', quad: 'sens', t: 'Trẻ rất dễ bị phân tâm hoặc khó làm việc nếu xung quanh có tiếng ồn nền (tiếng quạt, tiếng nói chuyện bên ngoài).' }, { id: 3, sec: 'aud', quad: 'regi', t: 'Trẻ không phản ứng khi được gọi tên trong phòng dù thính lực của trẻ hoàn toàn bình thường.' }, { id: 4, sec: 'aud', quad: 'seek', t: 'Trẻ thích tự tạo ra âm thanh lạ, bật tivi thật to hoặc thích nghe đi nghe lại một số tiếng động đặc biệt.' }, { id: 5, sec: 'vis', quad: 'sens', t: 'Trẻ khó chịu trước ánh sáng chói hoặc dễ bị xao nhãng bởi phòng học treo quá nhiều tranh ảnh, người đi lại.' }, { id: 6, sec: 'vis', quad: 'seek', t: 'Trẻ thích nhìn ngắm các vật xoay tròn, ánh đèn nhấp nháy hoặc nhìn nghiêng sát mắt vào đồ vật.' }, { id: 7, sec: 'vis', quad: 'regi', t: 'Trẻ khó tìm thấy món đồ chơi/đồ dùng đang nằm lẫn trong ngăn kéo hoặc trên bàn có nhiều đồ vật.' }, { id: 8, sec: 'vis', quad: 'avoi', t: 'Trẻ tránh giao tiếp ánh mắt trực diện hoặc thích ngồi ở góc tối, yên tĩnh.' }, { id: 9, sec: 'tou', quad: 'sens', t: 'Trẻ rất khó chịu khi cắt tóc, cắt móng tay hoặc bứt rứt với mác quần áo, đường may tất, chất vải thô.' }, { id: 10, sec: 'tou', quad: 'avoi', t: 'Trẻ né tránh khi tay dính bẩn (hồ dán, đất nặn, màu vẽ) và phản ứng mạnh khi có người chạm nhẹ bất ngờ.' }, { id: 11, sec: 'tou', quad: 'seek', t: 'Trẻ liên tục sờ chạm vào mọi bề mặt đồ vật, quần áo hoặc chạm vào người khác.' }, { id: 12, sec: 'tou', quad: 'regi', t: 'Trẻ không nhận ra khi mặt/tay bị dính bẩn hoặc ít cảm thấy đau khi bị va đập, trầy xước.' }, { id: 13, sec: 'mov', quad: 'seek', t: 'Trẻ luôn chân luôn tay, tìm mọi cơ hội để chạy nhảy, xoay tròn, nhún nhảy hoặc đung đưa cơ thể.' }, { id: 14, sec: 'mov', quad: 'avoi', t: 'Trẻ sợ hãi khi bàn chân rời khỏi mặt đất (sợ xích đu, cầu trượt, thang cuốn hoặc leo cao).' }, { id: 15, sec: 'mov', quad: 'sens', t: 'Trẻ dễ bị say xe, chóng mặt hoặc khó chịu khi thay đổi tư thế đầu đột ngột.' }, { id: 16, sec: 'mov', quad: 'regi', t: 'Trẻ dễ bị vấp ngã hoặc mất thăng bằng khi đi trên bề mặt gồ ghề.' }, { id: 17, sec: 'bod', quad: 'regi', t: 'Trẻ nhanh mỏi cơ, thường xuyên nằm bò ra bàn, chống cằm hoặc dựa người vào tường khi ngồi.' }, { id: 18, sec: 'bod', quad: 'seek', t: 'Trẻ thích lao người va mạnh vào nệm/ghế sofa, thích được ôm siết chặt hoặc đi nhón gót chân.' }, { id: 19, sec: 'bod', quad: 'regi', t: 'Trẻ kiểm soát lực bàn tay kém (cầm bút ấn quá mạnh làm rách giấy hoặc đóng cửa ầm ầm).' }, { id: 20, sec: 'bod', quad: 'seek', t: 'Trẻ hay gồng cứng cơ tay/chân, vẫy tay hoặc nghiến răng để tự tạo cảm giác lên khớp.' }, { id: 21, sec: 'ora', quad: 'sens', t: 'Trẻ cực kỳ kén ăn, từ chối thức ăn có kết cấu lạ (lợn cợn, dai, nhão) và dễ bị ọe khi đánh răng/ngửi mùi lạ.' }, { id: 22, sec: 'ora', quad: 'seek', t: 'Trẻ thường xuyên đưa cổ áo, bút chì, đồ chơi hoặc ngón tay vào miệng để ngậm, cắn, nhai.' }, { id: 23, sec: 'ora', quad: 'seek', t: 'Trẻ thích các món ăn có vị thật đậm (chua, cay, mặn) hoặc đồ ăn giòn rụm.' }, { id: 24, sec: 'ora', quad: 'regi', t: 'Trẻ ngậm thức ăn lâu trong miệng hoặc không nhận ra thức ăn còn dính quanh miệng.' }, { id: 25, sec: 'con', quad: 'avoi', t: 'Trẻ rất cứng nhắc, đòi hỏi mọi việc phải diễn ra theo đúng một quy trình cố định.' }, { id: 26, sec: 'con', quad: 'sens', t: 'Trẻ bùng nổ cơn ăn vạ dữ dội khi phải chuyển đổi hoạt động hoặc khi kế hoạch thay đổi.' }, { id: 27, sec: 'con', quad: 'seek', t: 'Trẻ hành động bốc đồng, vội vã lao vào làm mà không quan sát an toàn.' }, { id: 28, sec: 'con', quad: 'regi', t: 'Trẻ cần người lớn phải nhắc nhở liên tục mới hoàn thành được việc sinh hoạt hàng ngày.' }, { id: 29, sec: 'soc', quad: 'avoi', t: 'Trẻ thích tự chơi một mình ở góc riêng hơn là tham gia nhóm bạn đông đúc, ồn ào.' }, { id: 30, sec: 'soc', quad: 'sens', t: 'Trẻ rất dễ lo âu, căng thẳng và khó tự làm dịu bản thân khi ở nơi đông người.' }, { id: 31, sec: 'soc', quad: 'avoi', t: 'Trẻ gặp khó khăn trong việc kết bạn và hiểu ngôn ngữ cơ thể của bạn cùng trang lứa.' }, { id: 32, sec: 'soc', quad: 'regi', t: 'Trẻ ít biểu lộ cảm xúc trên nét mặt hoặc chậm nhận ra cảm xúc của người khác.' }, { id: 33, sec: 'att', quad: 'sens', t: 'Trẻ nhảy từ việc này sang việc khác vì bị thu hút bởi mọi âm thanh/hình ảnh nhỏ xung quanh.' }, { id: 34, sec: 'att', quad: 'regi', t: 'Trẻ có vẻ mơ màng, nhìn vô định và bỏ lỡ các hướng dẫn của người lớn.' }, { id: 35, sec: 'att', quad: 'seek', t: 'Trẻ khó ngồi yên tập trung nếu không được cử động tay chân hoặc cầm nghịch đồ vật.' }, { id: 36, sec: 'att', quad: 'avoi', t: 'Trẻ chỉ tập trung cực kỳ sâu vào một chủ đề/đồ vật quen thuộc và ngắt kết nối với xung quanh.' } ] }, school: { code: 'school', tabTitle: '🏫 4. School Companion (3 – 14 tuổi)', tabSub: 'Bản Giáo viên • 4 Chỉ số Học đường', fullTitle: 'School Companion Sensory Profile 2 — Dành Cho Giáo Viên Đánh Giá Học Sinh Trên Lớp (3 – 14 Tuổi)', desc: 'Đánh giá cách xử lý giác quan của học sinh ảnh hưởng đến việc học tập và hòa nhập tại trường. Ngoài 4 Góc phần tư, phiên bản này cung cấp 4 Chỉ số Học đường độc quyền (School Factors 1–4): Cần hỗ trợ, Nhận thức, Dung nạp và Sẵn sàng học tập.', sections: [ { code: 'sf1', name: 'School Factor 1: Nhu cầu Hỗ trợ trên lớp (Supports)', color: '#2563eb' }, { code: 'sf2', name: 'School Factor 2: Nhận thức & Chú ý bài giảng (Awareness)', color: '#0891b2' }, { code: 'sf3', name: 'School Factor 3: Mức độ Dung nạp Môi trường lớp (Tolerance)', color: '#f59e0b' }, { code: 'sf4', name: 'School Factor 4: Sự Sẵn sàng Tham gia Học tập (Availability)', color: '#dc2626' } ], items: [ // School Factor 1: Supports (Học sinh cần giáo viên điều chỉnh/hỗ trợ nhiều để hoàn thành bài) { id: 1, sec: 'sf1', quad: 'seek', t: 'Học sinh liên tục ngọ nguậy trên ghế, đung đưa chân hoặc đứng dậy đi lại tự do trong giờ cô giáo đang giảng bài.' }, { id: 2, sec: 'sf1', quad: 'seek', t: 'Học sinh hay chạm tay vào bạn ngồi cạnh, sờ nghịch đồ dùng trên bàn hoặc phát ra tiếng động làm ồn lớp học.' }, { id: 3, sec: 'sf1', quad: 'regi', t: 'Học sinh cần giáo viên phải đến tận bàn gõ nhẹ hoặc gọi riêng tên mới bắt đầu mở sách vở làm theo cả lớp.' }, { id: 4, sec: 'sf1', quad: 'sens', t: 'Học sinh dễ bị mất kiểm soát cảm xúc khi xếp hàng chuyển tiết, giờ ra chơi hoặc khi lớp học có hoạt động ngoại khóa.' }, { id: 5, sec: 'sf1', quad: 'seek', t: 'Học sinh hay cắn đầu bút chì, gặm cổ áo hoặc cầm bút ấn quá mạnh làm gãy ngòi/rách vở.' }, { id: 6, sec: 'sf1', quad: 'regi', t: 'Học sinh làm việc chậm hơn các bạn và thường xuyên để bàn học, cặp sách lộn xộn không tìm thấy đồ dùng.' }, // School Factor 2: Awareness (Mức độ tỉnh táo & tập trung vào bài học) { id: 7, sec: 'sf2', quad: 'regi', t: 'Học sinh ngồi nhìn vô định ra cửa sổ hoặc có vẻ mơ màng, "tắt kết nối" trong lúc giáo viên giảng bài chung.' }, { id: 8, sec: 'sf2', quad: 'sens', t: 'Học sinh lập tức quay đầu nhìn ra ngoài mỗi khi có người đi ngang hành lang hoặc có tiếng sột soạt nhỏ trong lớp.' }, { id: 9, sec: 'sf2', quad: 'regi', t: 'Học sinh thường xuyên nằm dài bò ra mặt bàn hoặc chống đầu lên tay như thể rất mệt mỏi, thiếu năng lượng.' }, { id: 10, sec: 'sf2', quad: 'seek', t: 'Học sinh vội vàng làm bài tập một cách hấp tấp mà không đọc kỹ yêu cầu hoặc không nghe hết câu hỏi của giáo viên.' }, { id: 11, sec: 'sf2', quad: 'sens', t: 'Học sinh gặp khó khăn khi phải chép bài từ trên bảng xuống vở (dễ nhìn nhầm dòng hoặc bỏ sót chữ).' }, { id: 12, sec: 'sf2', quad: 'regi', t: 'Học sinh không nhận ra khi quần áo bị xộc xệch, dây giày bị tuột hoặc mặt mũi dính mực/thức ăn.' }, // School Factor 3: Tolerance (Khả năng chịu đựng các kích thích trong môi trường học đường) { id: 13, sec: 'sf3', quad: 'sens', t: 'Học sinh bịt tai hoặc tỏ ra căng thẳng khi cả lớp đồng thanh đọc to, khi nghe tiếng chuông trường hoặc ở nhà ăn tập thể.' }, { id: 14, sec: 'sf3', quad: 'avoi', t: 'Học sinh cực kỳ khó chịu hoặc đẩy bạn ra nếu các bạn đứng gần chạm vào người khi xếp hàng.' }, { id: 15, sec: 'sf3', quad: 'avoi', t: 'Học sinh phản ứng gay gắt (khóc, chống đối) khi lớp học thay đổi thời khóa biểu, đổi chỗ ngồi hoặc có giáo viên dạy thay.' }, { id: 16, sec: 'sf3', quad: 'sens', t: 'Học sinh từ chối sử dụng hồ dán, đất nặn, màu nước trong giờ Mỹ thuật vì sợ bẩn tay.' }, { id: 17, sec: 'sf3', quad: 'avoi', t: 'Học sinh rất cứng nhắc về luật chơi và dễ nổi giận với các bạn trong nhóm nếu mọi việc không làm theo đúng ý mình.' }, { id: 18, sec: 'sf3', quad: 'sens', t: 'Học sinh phàn nàn về ánh đèn huỳnh quang trong lớp, mùi thức ăn ở căng-tin hoặc mùi nhà vệ sinh trường.' }, // School Factor 4: Availability (Sự sẵn sàng tham gia tương tác học đường) { id: 19, sec: 'sf4', quad: 'avoi', t: 'Học sinh tự tách mình đứng ở góc sân trường một mình trong giờ ra chơi để tránh đám đông ồn ào.' }, { id: 20, sec: 'sf4', quad: 'avoi', t: 'Học sinh né tránh tham gia các trò chơi vận động tập thể trong giờ Thể dục hoặc các buổi biểu diễn văn nghệ.' }, { id: 21, sec: 'sf4', quad: 'regi', t: 'Học sinh thụ động ngồi im, không bao giờ chủ động giơ tay phát biểu hay nhờ giáo viên giúp đỡ khi không hiểu bài.' }, { id: 22, sec: 'sf4', quad: 'avoi', t: 'Học sinh tránh giao tiếp ánh mắt khi giáo viên hoặc bạn bè đang nói chuyện trực tiếp với mình.' }, { id: 23, sec: 'sf4', quad: 'regi', t: 'Học sinh khó bắt kịp nhịp độ trò chuyện nhanh và các trò đùa của nhóm bạn cùng lớp.' }, { id: 24, sec: 'sf4', quad: 'avoi', t: 'Khi lớp học quá ồn hoặc có bài tập mới, học sinh có xu hướng gục mặt xuống bàn hoặc xin đi vệ sinh để trốn tránh.' } ] }, adult: { code: 'adult', tabTitle: '🧑 5. Adolescent / Adult (≥ 11 tuổi)', tabSub: 'Vị thành niên & Người lớn • Tự chấm', fullTitle: 'Adolescent / Adult Sensory Profile — Dành Cho Thanh Thiếu Niên & Người Trưởng Thành (Từ 11 Tuổi Trở Lên • Tự Đánh Giá)', desc: 'Phiên bản tự đánh giá (Self-report) ở ngôi thứ nhất ("Tôi...") giúp thanh thiếu niên và người trưởng thành nhận diện ngưỡng thần kinh giác quan của bản thân trong học tập, môi trường công sở, giao thông và đời sống xã hội.', sections: [ { code: 'ora', name: '1. Vị giác & Khứu giác (Taste / Smell Processing)', color: '#dc2626' }, { code: 'mov', name: '2. Chuyển động & Tiền đình (Movement Processing)', color: '#f59e0b' }, { code: 'vis', name: '3. Thị giác (Visual Processing)', color: '#0891b2' }, { code: 'tou', name: '4. Xúc giác (Touch Processing)', color: '#0d9488' }, { code: 'act', name: '5. Mức độ Hoạt động & Năng lượng (Activity Level)', color: '#7c3aed' }, { code: 'aud', name: '6. Thính giác (Auditory Processing)', color: '#2563eb' } ], items: [ // Taste / Smell { id: 1, sec: 'ora', quad: 'avoi', t: 'Tôi tránh đi qua hoặc rời đi ngay khi đến các quầy bán nước hoa, mỹ phẩm hoặc nơi có mùi hương nồng.' }, { id: 2, sec: 'ora', quad: 'sens', t: 'Tôi chỉ ăn những món ăn quen thuộc và rất nhạy cảm với kết cấu thức ăn lạ (như đồ ăn nhầy, mỡ, hoặc lợn cợn).' }, { id: 3, sec: 'ora', quad: 'seek', t: 'Tôi thích cho thêm nhiều gia vị đậm đà (cay, chua, mặn) vào món ăn hoặc thích nhai kẹo cao su/đồ ăn giòn khi làm việc.' }, { id: 4, sec: 'ora', quad: 'regi', t: 'Tôi thường không nhận ra mùi thức ăn bị khét hoặc mùi hương trong phòng trừ khi nó cực kỳ nồng.' }, // Movement { id: 5, sec: 'mov', quad: 'sens', t: 'Tôi rất dễ bị say tàu xe, chóng mặt khi đi thang máy nhanh hoặc khi nhìn màn hình chuyển động nhanh.' }, { id: 6, sec: 'mov', quad: 'avoi', t: 'Tôi tránh các trò chơi cảm giác mạnh, tàu lượn hoặc những nơi cao, chông chênh.' }, { id: 7, sec: 'mov', quad: 'seek', t: 'Tôi thường xuyên rung đùi, xoay ghế, bấm bút hoặc đi lại quanh phòng trong lúc đang suy nghĩ hoặc nghe điện thoại.' }, { id: 8, sec: 'mov', quad: 'regi', t: 'Tôi hay bị vấp vào bậc thềm, va khuỷu tay vào cạnh bàn/khung cửa mà không biết tại sao mình có vết bầm.' }, // Visual { id: 9, sec: 'vis', quad: 'sens', t: 'Tôi cảm thấy nhức mắt, đau đầu khi làm việc dưới ánh đèn huỳnh quang sáng chói hoặc khi ra nắng mà không đeo kính râm.' }, { id: 10, sec: 'vis', quad: 'avoi', t: 'Tôi thích kéo rèm cửa, bật đèn vàng dịu nhẹ ở nhà và tránh đến các trung tâm thương mại đông đúc nhiều biển hiệu nhấp nháy.' }, { id: 11, sec: 'vis', quad: 'regi', t: 'Tôi thường bỏ lỡ biển chỉ dẫn trên đường hoặc rất khó tìm thấy món đồ đang để ngay trước mặt trên bàn làm việc.' }, { id: 12, sec: 'vis', quad: 'seek', t: 'Tôi thích những không gian nhiều màu sắc sống động, thích xem pháo hoa hoặc các hiệu ứng thị giác chuyển động.' }, // Touch { id: 13, sec: 'tou', quad: 'sens', t: 'Tôi luôn phải cắt bỏ mác quần áo và không thể chịu được các chất vải thô ráp, len châm chích hoặc cổ áo bó sát.' }, { id: 14, sec: 'tou', quad: 'avoi', t: 'Tôi cảm thấy căng thẳng, không thoải mái khi người lạ đứng quá gần mình trong thang máy/đám đông hoặc khi ai đó chạm vào vai bất ngờ.' }, { id: 15, sec: 'tou', quad: 'seek', t: 'Tôi thích đi chân trần, thích sờ tay vào các chất liệu vải mềm/lông thú hoặc thích đắp chăn nặng (weighted blanket) khi ngủ.' }, { id: 16, sec: 'tou', quad: 'regi', t: 'Tôi thường không nhận ra ngay khi mình bị đứt tay nhẹ, bị côn trùng đốt hoặc khi nước tắm quá nóng/quá lạnh.' }, // Activity Level { id: 17, sec: 'act', quad: 'avoi', t: 'Sau một ngày phải giao tiếp xã hội hoặc làm việc ở nơi đông người, tôi bị kiệt sức hoàn toàn và cần ở một mình trong phòng yên tĩnh để hồi phục.' }, { id: 18, sec: 'act', quad: 'regi', t: 'Tôi cảm thấy khó khởi động công việc vào buổi sáng và thường cần nhiều thời gian hơn người khác để bắt nhịp với lịch trình.' }, { id: 19, sec: 'act', quad: 'seek', t: 'Tôi thích lịch trình bận rộn với nhiều hoạt động liên tiếp và cảm thấy bứt rứt nếu phải ngồi yên một chỗ quá lâu.' }, { id: 20, sec: 'act', quad: 'sens', t: 'Tôi rất căng thẳng nếu kế hoạch trong ngày bị thay đổi đột ngột vào phút chót.' }, // Auditory { id: 21, sec: 'aud', quad: 'sens', t: 'Tôi rất khó tập trung đọc sách hoặc làm việc nếu có tiếng đồng hồ tích tắc, tiếng nhai thức ăn hoặc tiếng nói chuyện ở bàn bên cạnh.' }, { id: 22, sec: 'aud', quad: 'avoi', t: 'Tôi thường xuyên phải đeo tai nghe chống ồn (noise-canceling) khi làm việc hoặc khi đi ra nơi công cộng để chặn bớt tiếng ồn.' }, { id: 23, sec: 'aud', quad: 'regi', t: 'Người khác thường phải gọi tên tôi 2–3 lần hoặc nhắc lại câu hỏi vì tôi không nghe kịp câu đầu tiên khi đang tập trung việc khác.' }, { id: 24, sec: 'aud', quad: 'seek', t: 'Tôi thích vừa làm việc/học tập vừa bật nhạc nền hoặc thích những nơi có âm thanh sôi động.' } ] } }; let currentVer = 'child'; // 'infant' | 'toddler' | 'child' | 'school' | 'adult' let answersByVer = { infant: {}, toddler: {}, child: {}, school: {}, adult: {} }; let filterSec = 'all'; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .sp-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .sp-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .sp-inner { padding: 24px; max-width: 960px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .sp-wrap.is-fullscreen .sp-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .sp-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(217, 119, 6, 0.45), 0 0 0 0 rgba(217, 119, 6, 0.4); } 70% { box-shadow: 0 6px 20px rgba(217, 119, 6, 0.45), 0 0 0 10px rgba(217, 119, 6, 0); } 100% { box-shadow: 0 6px 20px rgba(217, 119, 6, 0.45), 0 0 0 0 rgba(217, 119, 6, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #b45309 0%, #d97706 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(217, 119, 6, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Bộ chuyển đổi 5 Phiên bản Độ tuổi & Môi trường */ .ver-switcher-box { background: #f1f5f9; padding: 10px; border-radius: 12px; margin-bottom: 18px; } .ver-switcher-lbl { font-size: 12px; font-weight: 800; color: #334155; text-transform: uppercase; margin-bottom: 8px; display: block; } .ver-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; } .ver-btn { padding: 9px 8px; border-radius: 9px; border: 1.5px solid transparent; background: rgba(255, 255, 255, 0.6); cursor: pointer; text-align: left; transition: all 0.18s ease; touch-action: manipulation; } .ver-btn:hover { background: #ffffff; } .ver-btn.active { background: #ffffff; border-color: #d97706; box-shadow: 0 3px 10px rgba(15, 23, 42, 0.08); } .ver-btn-title { font-size: 12.8px; font-weight: 800; color: #0f172a; display: block; line-height: 1.25; } .ver-btn.active .ver-btn-title { color: #b45309; } .ver-btn-sub { font-size: 11px; color: #64748b; margin-top: 3px; display: block; line-height: 1.25; } /* Header */ .sp-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .sp-header-text { flex: 1 1 260px; } .sp-title { font-size: 20px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .sp-desc { font-size: 13.8px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #fffbeb; color: #b45309; border: 1px solid #fde68a; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #d97706; color: #ffffff; border-color: #d97706; } /* Controls */ .sp-controls { display: flex; flex-direction: column; gap: 10px; margin-bottom: 18px; } .sp-presets { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; } .sp-preset-lbl { font-size: 12.5px; font-weight: 700; color: #475569; margin-right: 4px; } .sp-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; touch-action: manipulation; } .sp-pbtn:hover { background: #f1f5f9; } .sp-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } .sp-filter-tabs { display: flex; flex-wrap: wrap; gap: 6px; } .sp-ftab { padding: 6px 11px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .sp-ftab.active { background: #b45309; color: #ffffff; border-color: #b45309; } /* Sticky Dashboard: 4 Góc phần tư Dunn */ .sp-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .sp-wrap.is-fullscreen .sp-dash { top: 58px; } .sp-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .sp-score-big { font-size: 20px; font-weight: 800; line-height: 1.2; } .sp-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .sp-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .sp-pillars { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; font-size: 12px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .sp-pillar-box { background: #1e293b; padding: 8px 10px; border-radius: 8px; border-left: 3px solid #475569; } .sp-pillar-box.much-more { border-left-color: #ef4444; background: rgba(239, 68, 68, 0.15); } .sp-pillar-box.more { border-left-color: #f59e0b; background: rgba(245, 158, 11, 0.14); } .sp-pillar-box.typical { border-left-color: #10b981; } .sp-pillar-val { font-weight: 700; color: #ffffff; font-size: 13px; display: block; margin-top: 2px; } /* Danh sách câu hỏi */ .sp-q-item { border: 1px solid #e2e8f0; border-radius: 10px; padding: 14px 16px; margin-bottom: 12px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 10px; } .sp-q-item.freq-high { border-color: #fda4af; background: #fff5f5; } .sp-q-item.freq-mid { border-color: #fde68a; background: #fffbeb; } .sp-q-text { font-size: 14.5px; font-weight: 600; color: #1e293b; line-height: 1.5; } .sp-q-tags { display: flex; flex-wrap: wrap; gap: 6px; } .sp-tag { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .sp-ans-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; } .sp-abtn { padding: 8px 4px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 11.5px; font-weight: 600; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .sp-abtn:hover { border-color: #64748b; } .sp-abtn.sel-1, .sp-abtn.sel-2 { background: #10b981; border-color: #10b981; color: #ffffff; font-weight: 700; } .sp-abtn.sel-3 { background: #3b82f6; border-color: #3b82f6; color: #ffffff; font-weight: 700; } .sp-abtn.sel-4 { background: #f59e0b; border-color: #f59e0b; color: #ffffff; font-weight: 700; } .sp-abtn.sel-5 { background: #ef4444; border-color: #ef4444; color: #ffffff; font-weight: 700; } /* Biểu đồ & Thực đơn Giác quan */ .sp-chart-card { margin-top: 20px; padding: 16px 18px; border-radius: 12px; background: #ffffff; border: 1px solid #e2e8f0; } .sp-chart-title { font-size: 14.5px; font-weight: 700; color: #0f172a; margin-bottom: 12px; } .sp-bar-row { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; font-size: 12.5px; } .sp-bar-lbl { width: 265px; flex-shrink: 0; font-weight: 600; color: #334155; } .sp-bar-track { flex: 1; height: 16px; background: #f1f5f9; border-radius: 999px; overflow: hidden; } .sp-bar-val { width: 145px; text-align: right; font-weight: 700; color: #0f172a; flex-shrink: 0; } .sp-diet-box { margin-top: 16px; padding: 16px 18px; border-radius: 12px; background: #fffbeb; border: 1px solid #fde68a; border-left: 5px solid #d97706; font-size: 13.8px; color: #78350f; line-height: 1.6; } .sp-diet-title { font-size: 15px; font-weight: 800; color: #92400e; margin-bottom: 8px; } .sp-result-box { margin-top: 16px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #2563eb; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 780px) { .sp-inner { padding: 14px; } .ver-grid { grid-template-columns: 1fr 1fr; } .sp-title { font-size: 18px; } .sp-pillars { grid-template-columns: 1fr 1fr; } .sp-ans-grid { grid-template-columns: 1fr; } .sp-bar-lbl { width: 140px; font-size: 11.5px; } .sp-bar-val { width: 110px; font-size: 11px; } .sp-pbtn.reset { margin-left: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
${vCfg.fullTitle}
${vCfg.desc}
`; let tabsHtml = ``; vCfg.sections.forEach(s => { const cnt = vCfg.items.filter(it => it.sec === s.code).length; tabsHtml += ``; }); filterTabs.innerHTML = tabsHtml; filterTabs.querySelectorAll('.sp-ftab').forEach(btn => { btn.onclick = function() { filterSec = this.getAttribute('data-sec'); renderHeaderAndFilters(); renderItems(); }; }); } function renderItems() { const vCfg = versionConfigs[currentVer]; const secMap = getSecMap(vCfg); const curAns = answersByVer[currentVer]; itemList.innerHTML = ''; vCfg.items.forEach(function(it) { if (filterSec !== 'all' && it.sec !== filterSec) return; const uVal = (curAns[it.id] !== undefined) ? curAns[it.id] : 1; const sCfg = secMap[it.sec]; const qCfg = quadConfigs[it.quad]; let rowCls = 'sp-q-item'; if (uVal >= 4) rowCls += ' freq-high'; else if (uVal === 3) rowCls += ' freq-mid'; const btnsHtml = freqOptions.map(opt => { const cls = 'sp-abtn' + (uVal === opt.val ? ` sel-${opt.val}` : ''); return ``; }).join(''); const el = document.createElement('div'); el.className = rowCls; el.innerHTML = `')} `; const secAlertNames = elevatedSections.map(s => `${s.cfg.name.split('(')[0].trim()} (${s.raw}/${s.maxR}đ - ${s.clsInfo.text})`).join(', '); resultBox.style.borderLeftColor = overallStatus.color; resultBox.innerHTML = ` Tổng hợp Kết luận ${vCfg.fullTitle.split('—')[0].trim()}:
• 1. Hồ sơ 4 Góc phần tư Winnie Dunn: Tìm kiếm (${cSeek.text}) • Né tránh (${cAvoi.text}) • Nhạy cảm (${cSens.text}) • Đăng ký thấp (${cRegi.text}).
• 2. Các lĩnh vực vượt ngưỡng chuẩn (+1 SD / +2 SD): ${secAlertNames || 'Tất cả các lĩnh vực đều nằm trong vùng Giống đa số điển hình.'} `; updateFloatingFabVisibility(); } function applyPresetToCurrentVer(type) { const vCfg = versionConfigs[currentVer]; const curAns = {}; vCfg.items.forEach(it => { curAns[it.id] = 1; }); if (type !== 'reset') { if (type === 'typical') { vCfg.items.forEach((it, idx) => { curAns[it.id] = (idx % 3 === 0) ? 2 : 1; }); } else if (type === 'seeker') { vCfg.items.forEach(it => { curAns[it.id] = (it.quad === 'seek') ? 4 : 2; }); } else if (type === 'defensive') { vCfg.items.forEach(it => { curAns[it.id] = (it.quad === 'avoi' || it.quad === 'sens') ? 4 : 2; }); } else if (type === 'mixed') { vCfg.items.forEach((it, idx) => { if (it.quad === 'avoi' || it.quad === 'sens') curAns[it.id] = (idx % 2 === 0) ? 4 : 3; else if (it.quad === 'seek' || it.quad === 'regi') curAns[it.id] = 4; else curAns[it.id] = 3; }); } } answersByVer[currentVer] = curAns; renderItems(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); spWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { spWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 960px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } shadow.querySelectorAll('#verGrid .ver-btn').forEach(function(btn) { btn.onclick = function() { currentVer = this.getAttribute('data-ver'); filterSec = 'all'; shadow.querySelectorAll('#verGrid .ver-btn').forEach(b => b.classList.remove('active')); this.classList.add('active'); renderHeaderAndFilters(); renderItems(); updateSummary(); }; }); shadow.querySelectorAll('.sp-pbtn').forEach(function(btn) { btn.onclick = function() { applyPresetToCurrentVer(this.getAttribute('data-preset')); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); // Khởi tạo sẵn dữ liệu mẫu cho cả 5 phiên bản để chuyển tab xem được ngay ['infant', 'toddler', 'school', 'adult', 'child'].forEach(vKey => { currentVer = vKey; applyPresetToCurrentVer('mixed'); }); renderHeaderAndFilters(); })();
Sensory Profile 2 (Hồ sơ Giác quan 2) là công cụ đánh giá chuẩn hóa hàng đầu thế giới trong lĩnh vực Hoạt động Trị liệu (Occupational Therapy – OT) dùng để đo lường các mẫu hình xử lý giác quan của trẻ trong đời sống hàng ngày (ở nhà, ở trường và ngoài cộng đồng). Công cụ này do Giáo sư Winnie Dunn phát triển (xuất bản năm 2014 bởi Pearson),áp dụng cho trẻ từ sơ sinh đến 14 tuổi 11 tháng.
Ở trẻ có Rối loạn phổ tự kỷ (ASD) hoặc ADHD, có tới 70% – 90% trẻ gặp khó khăn về xử lý giác quan (như bịt tai trước tiếng ồn, kén ăn cực đoan, nhón gót, xoay người, hoặc tìm kiếm cảm giác mạnh). Sensory Profile 2 giúp giải mã chính xác hệ thần kinh của trẻ đang xử lý thông tin như thế nào, từ đó thiết kế “Thực đơn Giác quan” (Sensory Diet) và điều chỉnh môi trường học tập phù hợp.
I. Cơ sở lý thuyết cốt lõi: Mô hình 4 Góc phần tư của Winnie Dunn (Dunn’s Four Quadrant Model)
Điểm đặc sắc nhất của Sensory Profile 2 là sự giao thoa giữa 2 trục: Ngưỡng thần kinh (Neurological Threshold: Cao hay Thấp) và Chiến lược tự điều chỉnh hành vi (Self-Regulation: Thụ động hay Chủ động), tạo thành 4 Mẫu hình xử lý giác quan (4 Quadrants):
| Mẫu hình (Quadrant) | Ngưỡng thần kinh | Chiến lược hành vi | Biểu hiện lâm sàng điển hình ở trẻ |
| 1. Tìm kiếm cảm giác(Seeking / Seeker) | Ngưỡng Cao(Cần kích thích mạnh mới cảm nhận được) | Chủ động (Tự đi tìm thêm kích thích) | Luôn chân luôn tay, thích chạy nhảy, xoay tròn, va chạm mạnh, sờ mó mọi vật, ngửi/nhai đồ vật, thích âm thanh to hoặc nhìn vật chuyển động. |
| 2. Né tránh cảm giác (Avoiding / Avoider) | Ngưỡng Thấp(Rất nhanh bị quá tải giác quan) | Chủ động (Chủ động rút lui / kiểm soát để chặn kích thích) | Bịt tai trước tiếng ồn, ghét chỗ đông người, trốn vào góc tối/yên tĩnh, giữ thói quen cứng nhắc để tránh bất ngờ, phản kháng khi bị ép tham gia. |
| 3. Nhạy cảm giác quan(Sensitivity / Sensor) | Ngưỡng Thấp(Phát hiện cả những kích thích rất nhỏ) | Thụ động (Không tự rút lui mà chịu đựng rồi cáu gắt / xao nhãng) | Rất dễ giật mình, dễ bị phân tâm bởi tiếng động nhỏ/ánh sáng, kén chọn thức ăn có kết cấu lạ, khó chịu với mác quần áo, hay phàn nàn, cáu kỉnh. |
| 4. Đăng ký cảm giác thấp / Thờ ơ (Registration / Bystander) | Ngưỡng Cao(Độ nhạy tiếp nhận tín hiệu thấp) | Thụ động (Không chủ động tìm kiếm, bỏ lỡ tín hiệu xung quanh) | Gọi tên nhiều lần không quay lại (dù thính lực bình thường), vẻ mặt lờ đờ/mơ màng, chậm phản ứng với cơn đau hoặc vết bẩn trên mặt, nhanh mỏi cơ, dựa dẫm. |
II. Cấu trúc các Phần đánh giá & Thang điểm trong Sensory Profile 2
-
Các phiên bản theo độ tuổi: Infant (0–6 tháng), Toddler (7–35 tháng), Child (3 – 14 tuổi 11 tháng — Phiên bản phổ biến nhất gồm 86 câu), Short (Bản rút gọn 34 câu) và School Companion (Dành cho giáo viên).
-
9 Phần đánh giá (6 Hệ giác quan + 3 Lĩnh vực Hành vi liên quan):
-
6 Hệ giác quan: Thính giác (Auditory), Thị giác (Visual), Xúc giác (Touch), Tiền đình / Chuyển động (Movement), Cảm thụ bản thể / Vị trí cơ thể (Body Position), Cảm giác Miệng (Oral).
-
3 Nhóm Hành vi: Hành vi ứng xử (Conduct), Phản ứng cảm xúc – xã hội (Social Emotional), Phản ứng chú ý (Attentional).
-
-
Thang chấm tần suất 5 mức (1 đến 5 điểm):
-
5— Hầu như luôn luôn ( thời gian) -
4— Thường xuyên ( thời gian) -
3— Một nửa thời gian ( thời gian) -
2— Thỉnh thoảng ( thời gian) -
1— Hầu như không bao giờ ( thời gian)
-
-
Hệ thống phân loại theo Phân phối Chuẩn (Bell Curve Classification):
-
Ít hơn nhiều / Ít hơn những trẻ khác (Much Less / Less Than Others — dưới −1 SD).
-
Giống như đa số những trẻ khác (Just Like the Majority of Others — trong khoảng −1 SD đến +1 SD, chiếm 68% trẻ điển hình).
-
Nhiều hơn những trẻ khác (More Than Others — từ +1 SD đến +2 SD: Vùng cần theo dõi & điều chỉnh môi trường).
-
Nhiều hơn rất nhiều so với những trẻ khác (Much More Than Others — trên +2 SD: Rối loạn xử lý giác quan rõ rệt, cần can thiệp Hoạt động trị liệu – OT).
-
SD là viết tắt của Standard Deviation (tiếng Việt gọi là Độ lệch chuẩn).
Trong các thang đo tâm lý và y khoa chuẩn hóa (như Sensory Profile 2, Vineland-3, ASQ-3, SRS-2 hay bài test IQ), SDchính là “thước đo khoảng cách” cho biết điểm số của một đứa trẻ lệch đi bao xa so với mức trung bình của những đứa trẻ bình thường cùng độ tuổi.
Hình dung trực quan qua “Đường cong hình chuông” (Bell Curve)
Khi các nhà khoa học khảo sát hàng ngàn đứa trẻ phát triển bình thường và vẽ điểm số của chúng lên biểu đồ, kết quả sẽ tạo thành một Đường cong phân phối chuẩn (hình quả chuông) như sơ đồ dưới đây (trong đó ký hiệu μ ở chính giữa là Điểm trung bình, và σ chính là 1 SD):

Nhìn vào biểu đồ hình chuông trên, bạn sẽ thấy quy luật 68 – 95 cực kỳ dễ hiểu:
-
Trong khoảng từ −1 SD đến +1 SD (Phần bụng chuông ở giữa): Chiếm 68% tổng số trẻ em trong cộng đồng Đây là vùng “Bình thường / Giống đa số trẻ khác”.
-
Vượt ra ngoài mốc ±1 SD đến ±2 SD (Hai bên sườn chuông): Chỉ có khoảng 14% trẻ nằm ở sườn phải (từ +1 SD đến ) và 14% nằm ở sườn trái Bắt đầu có sự khác biệt rõ (“Nhiều hơn” hoặc “Ít hơn” đa số trẻ khác), thuộc Vùng Giáp ranh / Cần theo dõi.
-
Vượt quá mốc +2 SD hoặc thấp hơn −2 SD (Hai đuôi ngoài cùng của quả chuông): Mỗi bên đuôi chỉ chiếm khoảng 2% dân số Đây là sự chênh lệch rất lớn, trong y khoa lấy mốc từ trở đi làm ngưỡng kết luận Bất thường / Có ý nghĩa lâm sàng.
Bảng giải nghĩa SD trong Sensory Profile 2:
Trong công cụ Sensory Profile 2 bạn vừa làm ở trên, điểm càng cao nghĩa là tần suất hành vi giác quan đó xuất hiện càng nhiều:
| Ký hiệu độ lệch chuẩn | Tên phân loại trong Sensory Profile 2 | Tỷ lệ trẻ trong dân số | Ý nghĩa lâm sàng thực tế |
| Dưới | Ít hơn rất nhiều(Much Less Than Others) | ~2% | Trẻ hầu như không bao giờ có phản ứng đó (ít hơn tuyệt đối so với trẻ cùng tuổi). |
| đến | Ít hơn đa số(Less Than Others) | ~14% | Trẻ ít biểu hiện hành vi đó hơn các bạn cùng trang lứa. |
| đến | Giống đa số trẻ khác (Just Like the Majority) | ~68% | BÌNH THƯỜNG: Hệ thần kinh xử lý giác quan hài hòa giống đa số trẻ em cùng tuổi. |
| đến | Nhiều hơn đa số(More Than Others) | ~14% | CẢNH BÁO / GIÁP RANH: Trẻ nhạy cảm, né tránh hoặc tìm kiếm cảm giác nhiều hơn rõ rệt so với bạn bè. Cần điều chỉnh môi trường học tập/sinh hoạt. |
| Trên | Nhiều hơn rất nhiều (Much More Than Others) | ~2% | VƯỢT NGƯỠNG LÂM SÀNG: Rối loạn xử lý giác quan mức độ nặng (chỉ gặp ở ~2% dân số), gây cản trở sinh hoạt và cần can thiệp Hoạt động trị liệu (OT). |
Mẹo cực nhanh để bạn đọc mọi bảng điểm Tâm lý (Vineland-3, IQ, ASQ-3, SRS-2)
Nắm được khái niệm SD, bạn sẽ hiểu ngay vì sao các bảng công cụ trên website của bạn lại có những con số điểm cắt như 70, 85 hay 60:
-
Với thang đo Kỹ năng (như Vineland-3 hoặc IQ): Điểm càng thấp là càng chậm.
-
Trung bình dân số đặt là 100 điểm, và 1 SD=15 điểm.
-
Mốc −1 SD là 100−15=85 (Dưới 85 điểm là bắt đầu chậm hơn mức trung bình).
-
Mốc −2 SD là 100−30=70 (Dưới 70 điểm là suy giảm rõ rệt có ý nghĩa chẩn đoán lâm sàng!).
-
-
Với thang đo Triệu chứng (như CARS-2, SRS-2 dùng điểm T-Score): Điểm càng cao là triệu chứng càng nặng.
-
Trung bình dân số đặt là 50 điểm, và 1 SD=10 điểm.
-
Mốc +1 SD là 50+10=60 điểm (Từ 60 điểm trở lên là bắt đầu vào vùng Tự kỷ mức độ Nhẹ).
-
Mốc +2 SD là 50+20=70 điểm (Từ 70 điểm trở lên là mức độ Trung bình – Nặng).
-
[Theo dõi tiến bộ] ATEC: Bảng kiểm đánh giá hiệu quả điều trị và theo dõi tiến bộ ở trẻ tự kỷ (2 – 12 tuổi)
(function() { const host = document.getElementById('atec-wp-host'); if (!host) return; const placeholder = document.createComment('atec-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // Cấu hình 4 Phân mục chuẩn của ATEC (Tổng 77 câu = 179 điểm) const subConfigs = { s1: { code: 's1', name: 'I. Lời nói / Ngôn ngữ / Giao tiếp (14 câu)', max: 28, color: '#2563eb', rule: 'Kỹ năng tích cực: Rất đúng = 0đ | Đúng một phần = 1đ | Không đúng = 2đ' }, s2: { code: 's2', name: 'II. Kỹ năng Xã hội (20 câu)', max: 40, color: '#7c3aed', rule: 'Khiếm khuyết xã hội: Không giống = 0đ | Giống một phần = 1đ | Rất giống = 2đ' }, s3: { code: 's3', name: 'III. Nhận thức Giác quan / Tư duy (18 câu)', max: 36, color: '#0d9488', rule: 'Năng lực nhận thức: Rất giống = 0đ | Giống một phần = 1đ | Không giống = 2đ' }, s4: { code: 's4', name: 'IV. Sức khỏe / Thể chất / Hành vi (25 câu)', max: 75, color: '#dc2626', rule: 'Mức độ vấn đề: Không = 0đ | Nhẹ = 1đ | Vừa = 2đ | Nghiêm trọng = 3đ' } }; // Đầy đủ 77 câu hỏi chuẩn ATEC (Autism Research Institute - Rimland & Edelson) const questions = [ // PHẦN I: LỜI NÓI / NGÔN NGỮ / GIAO TIẾP (Câu 1 - 14 • Max 28đ • Rất đúng=0, Đúng một phần=1, Không đúng=2) { id: 1, sub: 's1', t: 'Biết tên của chính mình (quay lại hoặc phản ứng khi được gọi tên).' }, { id: 2, sub: 's1', t: 'Phản ứng dừng lại khi nghe hiệu lệnh "Không" hoặc "Dừng lại".' }, { id: 3, sub: 's1', t: 'Có thể làm theo một số mệnh lệnh đơn giản.' }, { id: 4, sub: 's1', t: 'Có thể sử dụng từng từ đơn (Ví dụ: Không, Ăn, Nước, Mẹ...).' }, { id: 5, sub: 's1', t: 'Có thể sử dụng cụm 2 từ nối tiếp nhau (Ví dụ: Không muốn, Đi về, Uống sữa...).' }, { id: 6, sub: 's1', t: 'Có thể sử dụng cụm 3 từ trở lên (Ví dụ: Con muốn uống sữa...).' }, { id: 7, sub: 's1', t: 'Biết từ 10 từ vựng trở lên.' }, { id: 8, sub: 's1', t: 'Có thể nói các câu có từ 4 từ trở lên.' }, { id: 9, sub: 's1', t: 'Giải thích được điều trẻ đang muốn bằng lời nói.' }, { id: 10, sub: 's1', t: 'Biết đặt các câu hỏi có ý nghĩa.' }, { id: 11, sub: 's1', t: 'Lời nói của trẻ có xu hướng mang tính liên quan, có ý nghĩa với tình huống hiện tại.' }, { id: 12, sub: 's1', t: 'Thường xuyên sử dụng được nhiều câu nói liên tiếp nhau.' }, { id: 13, sub: 's1', t: 'Duy trì được một cuộc trò chuyện qua lại khá tốt.' }, { id: 14, sub: 's1', t: 'Có khả năng giao tiếp bằng lời nói tương đương với trẻ bình thường cùng độ tuổi.' }, // PHẦN II: KỸ NĂNG XÃ HỘI (Câu 15 - 34 • Max 40đ • Không giống=0, Giống một phần=1, Rất giống=2) { id: 15, sub: 's2', t: 'Có vẻ như đang ở trong một "vỏ bọc" riêng — bạn không thể tiếp cận kết nối với trẻ.' }, { id: 16, sub: 's2', t: 'Phớt lờ những người khác như thể họ không tồn tại.' }, { id: 17, sub: 's2', t: 'Khi có người nói chuyện cùng, trẻ hầu như không chú ý hoặc rất ít chú ý.' }, { id: 18, sub: 's2', t: 'Không hợp tác và có tính chống đối.' }, { id: 19, sub: 's2', t: 'Không có giao tiếp bằng ánh mắt (tránh nhìn mắt).' }, { id: 20, sub: 's2', t: 'Thích được để yên chơi một mình hơn là chơi cùng người khác.' }, { id: 21, sub: 's2', t: 'Không thể hiện tình cảm ấm áp, âu yếm với người thân.' }, { id: 22, sub: 's2', t: 'Không biết chào hỏi bố mẹ khi đi học về hoặc khi gặp lại.' }, { id: 23, sub: 's2', t: 'Tránh né việc tiếp xúc, tương tác với những người khác.' }, { id: 24, sub: 's2', t: 'Không bắt chước hành động của người khác.' }, { id: 25, sub: 's2', t: 'Không thích được ôm ấp hoặc giữ trong lòng.' }, { id: 26, sub: 's2', t: 'Không biết chia sẻ đồ vật hoặc mang đồ lại khoe với người khác.' }, { id: 27, sub: 's2', t: 'Không biết vẫy tay chào tạm biệt ("Bye bye").' }, { id: 28, sub: 's2', t: 'Không nghe lời và bất tuân các chỉ dẫn.' }, { id: 29, sub: 's2', t: 'Thường xuyên nổi cơn tam bành, ăn vạ dữ dội.' }, { id: 30, sub: 's2', t: 'Không có bạn bè và không chơi với bạn cùng trang lứa.' }, { id: 31, sub: 's2', t: 'Hiếm khi mỉm cười với người khác.' }, { id: 32, sub: 's2', t: 'Vô cảm trước cảm xúc của người khác (không để ý khi người khác buồn/khóc).' }, { id: 33, sub: 's2', t: 'Thờ ơ không quan tâm đến việc người khác có quý mến hay khen mình không.' }, { id: 34, sub: 's2', t: 'Thờ ơ hoàn toàn khi bố mẹ rời đi (không có phản ứng lưu luyến).' }, // PHẦN III: NHẬN THỨC GIÁC QUAN / TƯ DUY (Câu 35 - 52 • Max 36đ • Rất giống=0, Giống một phần=1, Không giống=2) { id: 35, sub: 's3', t: 'Phản ứng tương xứng khi nghe gọi tên của mình.' }, { id: 36, sub: 's3', t: 'Đáp lại tích cực khi được người khác khen ngợi.' }, { id: 37, sub: 's3', t: 'Nhìn vào con người và các loài động vật xung quanh.' }, { id: 38, sub: 's3', t: 'Chú ý nhìn vào tranh ảnh và xem tivi có hiểu nội dung.' }, { id: 39, sub: 's3', t: 'Biết vẽ hình, tô màu hoặc làm các hoạt động mỹ thuật/thủ công.' }, { id: 40, sub: 's3', t: 'Chơi với các món đồ chơi một cách phù hợp (đúng chức năng của đồ chơi).' }, { id: 41, sub: 's3', t: 'Có biểu cảm khuôn mặt phù hợp với từng hoàn cảnh cảm xúc.' }, { id: 42, sub: 's3', t: 'Hiểu được các câu chuyện kể trên tivi hoặc phim hoạt hình.' }, { id: 43, sub: 's3', t: 'Hiểu được những lời giải thích của người lớn.' }, { id: 44, sub: 's3', t: 'Có nhận thức về môi trường và những gì đang diễn ra xung quanh.' }, { id: 45, sub: 's3', t: 'Có nhận thức về mối nguy hiểm (tránh độ cao, xe cộ, vật nóng).' }, { id: 46, sub: 's3', t: 'Thể hiện trí tưởng tượng (chơi đóng vai giả vờ).' }, { id: 47, sub: 's3', t: 'Chủ động khởi xướng các hoạt động vui chơi/học tập.' }, { id: 48, sub: 's3', t: 'Có thể tự mặc quần áo mà không cần giúp đỡ nhiều.' }, { id: 49, sub: 's3', t: 'Tò mò, thích tìm hiểu và khám phá những điều mới mẻ.' }, { id: 50, sub: 's3', t: 'Mạnh dạn thử nghiệm, khám phá môi trường xung quanh.' }, { id: 51, sub: 's3', t: 'Bắt nhịp tốt với mọi chuyện, không bị lơ đãng hay bỏ lỡ thông tin.' }, { id: 52, sub: 's3', t: 'Nhìn theo hướng mà những người khác đang nhìn hoặc chỉ tay tới.' }, // PHẦN IV: SỨC KHỎE / THỂ CHẤT / HÀNH VI (Câu 53 - 77 • Max 75đ • Không=0, Nhẹ=1, Vừa=2, Nghiêm trọng=3) { id: 53, sub: 's4', t: 'Đái dầm vào ban đêm.' }, { id: 54, sub: 's4', t: 'Đái ra quần vào ban ngày.' }, { id: 55, sub: 's4', t: 'Đại tiện (ị đùn) ra quần.' }, { id: 56, sub: 's4', t: 'Tiêu chảy thường xuyên hoặc phân lỏng.' }, { id: 57, sub: 's4', t: 'Táo bón kéo dài.' }, { id: 58, sub: 's4', t: 'Các vấn đề về giấc ngủ (khó ngủ, thức giấc giữa đêm, ngủ ít).' }, { id: 59, sub: 's4', t: 'Ăn quá nhiều hoặc cực kỳ kén ăn / ăn quá ít.' }, { id: 60, sub: 's4', t: 'Kén chọn thực phẩm cực đoan (chỉ ăn một vài món cố định).' }, { id: 61, sub: 's4', t: 'Cơn tăng động, chạy nhảy bồn chồn không ngừng (Hyperactive).' }, { id: 62, sub: 's4', t: 'Trạng thái lờ đờ, mệt mỏi, thiếu năng lượng (Lethargic).' }, { id: 63, sub: 's4', t: 'Tự đánh hoặc tự làm đau chính bản thân mình (Self-injurious).' }, { id: 64, sub: 's4', t: 'Đánh, cắn hoặc làm đau những người khác.' }, { id: 65, sub: 's4', t: 'Phá hỏng đồ đạc, xé sách vở hoặc đập phá đồ chơi.' }, { id: 66, sub: 's4', t: 'Nhạy cảm quá mức với âm thanh (hay bịt tai trước tiếng ồn).' }, { id: 67, sub: 's4', t: 'Lo âu, căng thẳng hoặc sợ hãi quá mức.' }, { id: 68, sub: 's4', t: 'Không vui vẻ, hay khóc lóc hoặc cáu gắt vô cớ.' }, { id: 69, sub: 's4', t: 'Co giật hoặc các cơn vắng ý thức (Seizures).' }, { id: 70, sub: 's4', t: 'Lời nói mang tính ám ảnh, lặp đi lặp lại một câu/từ.' }, { id: 71, sub: 's4', t: 'Các thói quen cứng nhắc (đòi hỏi mọi thứ phải y nguyên không được thay đổi).' }, { id: 72, sub: 's4', t: 'La hét hoặc kêu ré lên bất chợt.' }, { id: 73, sub: 's4', t: 'Đòi hỏi mọi thứ phải được đáp ứng ngay lập tức.' }, { id: 74, sub: 's4', t: 'Thường xuyên bị kích động, bồn chồn lo lắng.' }, { id: 75, sub: 's4', t: 'Không nhạy cảm với cơn đau (ngã đau hoặc chảy máu nhưng không khóc).' }, { id: 76, sub: 's4', t: 'Bị cuốn hút / dán mắt vào một số đồ vật hoặc chủ đề nhất định.' }, { id: 77, sub: 's4', t: 'Các cử động cơ thể lặp đi lặp lại (vẫy tay, đung đưa người, xoay tròn).' } ]; // answers[id] lưu trực tiếp ĐIỂM RỦI RO của câu đó (0, 1, 2 cho Phần I, II, III; và 0, 1, 2, 3 cho Phần IV) let answers = {}; let filterSub = 'all'; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .at-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .at-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .at-inner { padding: 24px; max-width: 960px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .at-wrap.is-fullscreen .at-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .at-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 0 rgba(37, 99, 235, 0.4); } 70% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 10px rgba(37, 99, 235, 0); } 100% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 0 rgba(37, 99, 235, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #1d4ed8 0%, #2563eb 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Header */ .at-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .at-header-text { flex: 1 1 260px; } .at-title { font-size: 21px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .at-desc { font-size: 14px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #eff6ff; color: #1d4ed8; border: 1px solid #bfdbfe; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #2563eb; color: #ffffff; border-color: #2563eb; } /* Controls */ .at-controls { display: flex; flex-direction: column; gap: 10px; margin-bottom: 18px; } .at-presets { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; } .at-preset-lbl { font-size: 12.5px; font-weight: 700; color: #475569; margin-right: 4px; } .at-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; touch-action: manipulation; } .at-pbtn:hover { background: #f1f5f9; } .at-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } .at-sub-tabs { display: flex; flex-wrap: wrap; gap: 6px; } .at-stab { padding: 6px 12px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .at-stab.active { background: #2563eb; color: #ffffff; border-color: #2563eb; } /* Sticky Dashboard */ .at-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .at-wrap.is-fullscreen .at-dash { top: 58px; } .at-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .at-score-big { font-size: 23px; font-weight: 800; line-height: 1.15; } .at-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .at-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .at-bar-bg { height: 10px; background: #334155; border-radius: 5px; overflow: hidden; margin-bottom: 12px; } .at-bar-fill { height: 100%; width: 0%; background: #10b981; transition: width 0.35s ease, background 0.35s ease; } .at-pillars { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; font-size: 12px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .at-pillar-box { background: #1e293b; padding: 7px 10px; border-radius: 8px; } .at-pillar-val { font-weight: 700; color: #ffffff; font-size: 13.5px; display: block; margin-top: 2px; } /* Danh sách 77 câu hỏi */ .at-q-item { border: 1px solid #e2e8f0; border-radius: 10px; padding: 14px 16px; margin-bottom: 12px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 10px; } .at-q-item.risk-high { border-color: #fda4af; background: #fff5f5; } .at-q-item.risk-mid { border-color: #fde68a; background: #fffbeb; } .at-q-text { font-size: 14.5px; font-weight: 600; color: #1e293b; line-height: 1.5; } .at-q-tags { display: flex; flex-wrap: wrap; gap: 6px; } .at-tag { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .at-ans-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; } .at-ans-grid.grid-4 { grid-template-columns: repeat(4, 1fr); } .at-abtn { padding: 8px 6px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 600; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .at-abtn:hover { border-color: #64748b; } .at-abtn.sel-0 { background: #10b981; border-color: #10b981; color: #ffffff; font-weight: 700; } .at-abtn.sel-1 { background: #f59e0b; border-color: #f59e0b; color: #ffffff; font-weight: 700; } .at-abtn.sel-2, .at-abtn.sel-3 { background: #ef4444; border-color: #ef4444; color: #ffffff; font-weight: 700; } /* Biểu đồ 4 phân mục & Kết luận */ .at-chart-card { margin-top: 20px; padding: 16px 18px; border-radius: 12px; background: #ffffff; border: 1px solid #e2e8f0; } .at-chart-title { font-size: 14.5px; font-weight: 700; color: #0f172a; margin-bottom: 12px; } .at-bar-row { display: flex; align-items: center; gap: 10px; margin-bottom: 9px; font-size: 12.5px; } .at-bar-lbl { width: 255px; flex-shrink: 0; font-weight: 600; color: #334155; } .at-bar-track { flex: 1; height: 16px; background: #f1f5f9; border-radius: 999px; overflow: hidden; } .at-bar-val { width: 110px; text-align: right; font-weight: 700; color: #0f172a; flex-shrink: 0; } .at-result-box { margin-top: 16px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #2563eb; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 720px) { .at-inner { padding: 14px; } .at-title { font-size: 18px; } .at-pillars { grid-template-columns: 1fr 1fr; } .at-ans-grid, .at-ans-grid.grid-4 { grid-template-columns: 1fr; } .at-bar-lbl { width: 145px; font-size: 11.5px; } .at-bar-val { width: 90px; font-size: 11.5px; } .at-pbtn.reset { margin-left: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
Bảng Kiểm Đánh Giá Điều Trị Tự Kỷ ATEC (Đầy Đủ 77 Câu Hỏi • Thang 0 – 179 Điểm)
Công cụ chuẩn hóa của Viện Nghiên cứu Tự kỷ Hoa Kỳ (ARI — Rimland & Edelson) dùng để đo lường mức độ triệu chứng và theo dõi sự tiến bộ qua từng giai đoạn can thiệp. Quy tắc: Điểm càng thấp trẻ càng tốt (0–19: Tối thiểu • 20–39: Nhẹ • 40–69: Trung bình • 70–103: Nặng • ≥104: Rất nặng).
• Bách phân vị ARI: ${pctText}.
• Trẻ có kỹ năng ngôn ngữ giao tiếp (${scores.s1}/28), tương tác xã hội (${scores.s2}/40), nhận thức giác quan (${scores.s3}/36) và sức khỏe hành vi (${scores.s4}/75) rất tốt. Nếu trẻ trước đây từng có điểm ATEC cao và nay giảm xuống dưới 20 điểm, đây là dấu hiệu đáp ứng can thiệp cực kỳ xuất sắc. `; } else if (total <= 39) { color = '#0284c7'; badgeTxt = `MỨC ĐỘ NHẸ - MILD (${total}/179đ)`; analysis = ` Kết luận ATEC — Triệu chứng Phổ Tự Kỷ Mức Độ NHẸ (20 – 39 điểm: Đạt ${total}/179 điểm):
• Bách phân vị ARI: ${pctText}.
• Phân tích 4 trụ cột: Lời nói & Giao tiếp (${scores.s1}/28đ) • Kỹ năng Xã hội (${scores.s2}/40đ) • Nhận thức & Giác quan (${scores.s3}/36đ) • Sức khỏe & Hành vi (${scores.s4}/75đ).
• Định hướng: Trẻ có nền tảng khá tốt để học hòa nhập, cần tiếp tục củng cố các kỹ năng giao tiếp xã hội tinh tế và theo dõi lại bằng ATEC sau mỗi 2–3 tháng. `; } else if (total <= 69) { color = '#f59e0b'; badgeTxt = `MỨC ĐỘ TRUNG BÌNH - MODERATE (${total}/179đ)`; analysis = ` Kết luận ATEC — Triệu chứng Phổ Tự Kỷ Mức Độ TRUNG BÌNH (40 – 69 điểm: Đạt ${total}/179 điểm):
• Bách phân vị ARI: ${pctText}.
• Phân tích 4 trụ cột: Lời nói & Giao tiếp (${scores.s1}/28đ) • Kỹ năng Xã hội (${scores.s2}/40đ) • Nhận thức & Giác quan (${scores.s3}/36đ) • Sức khỏe & Hành vi (${scores.s4}/75đ).
• Định hướng: Hãy nhìn vào biểu đồ tỷ lệ % ở trên để xem phân mục nào đang chiếm tỷ lệ điểm cao nhất (ví dụ: nếu Phần I và III cao cần đẩy mạnh ABA/VB-MAPP và Ngôn ngữ trị liệu; nếu Phần IV cao cần giải quyết vấn đề giấc ngủ, tiêu hóa và điều hòa giác quan). `; } else { color = '#ef4444'; badgeTxt = total <= 103 ? `MỨC ĐỘ NẶNG - SEVERE (${total}/179đ)` : `MỨC ĐỘ RẤT NẶNG (${total}/179đ)`; analysis = ` Kết luận ATEC — Triệu chứng Phổ Tự Kỷ Mức Độ NẶNG / RẤT NẶNG (≥ 70 điểm: Đạt ${total}/179 điểm):
• Bách phân vị ARI: ${pctText}.
• Phân tích 4 trụ cột: Lời nói & Giao tiếp (${scores.s1}/28đ) • Kỹ năng Xã hội (${scores.s2}/40đ) • Nhận thức & Giác quan (${scores.s3}/36đ) • Sức khỏe & Hành vi (${scores.s4}/75đ).
• Định hướng: Trẻ cần chương trình can thiệp tích cực 1-kèm-1 toàn diện (kết hợp thiết lập ngôn ngữ nền tảng qua VB-MAPP/PEP-3, Hoạt động trị liệu giác quan OT và thăm khám y khoa nhi phát triển để cải thiện giấc ngủ/tiêu hóa ở Phần IV). Hãy lưu lại mốc điểm ${total} điểm này làm mốc nền (Baseline) để đánh giá lại sau 3 tháng can thiệp! `; } barFill.style.background = color; scoreBadge.textContent = badgeTxt; scoreBadge.style.background = color; scoreBadge.style.color = '#ffffff'; resultBox.style.borderLeftColor = color; resultBox.innerHTML = analysis; updateFloatingFabVisibility(); } function applyPreset(type) { answers = {}; if (type === 'reset') { renderQuestions(); updateSummary(); return; } if (type === 'recovered') { // 15 điểm (Sau can thiệp tốt) questions.forEach((q, idx) => { answers[q.id] = (idx % 5 === 0) ? 1 : 0; }); } else if (type === 'mild') { // 32 điểm (Mức độ Nhẹ) questions.forEach((q, idx) => { answers[q.id] = (idx % 3 === 0) ? 1 : ((idx % 11 === 0) ? 2 : 0); }); } else if (type === 'mod') { // 56 điểm (Mức độ Trung bình) questions.forEach((q, idx) => { if (idx % 4 === 0) answers[q.id] = 2; else if (idx % 2 === 0) answers[q.id] = 1; else answers[q.id] = 0; }); } else if (type === 'sev') { // 88 điểm (Mức độ Nặng trước can thiệp) questions.forEach((q, idx) => { if (q.sub === 's4' && idx % 5 === 0) answers[q.id] = 3; else if (idx % 2 === 0) answers[q.id] = 2; else answers[q.id] = 1; }); } renderQuestions(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); atWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { atWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 960px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } shadow.querySelectorAll('.at-pbtn').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-preset')); }; }); shadow.querySelectorAll('#subTabs .at-stab').forEach(function(tab) { tab.onclick = function() { filterSub = this.getAttribute('data-sub'); shadow.querySelectorAll('#subTabs .at-stab').forEach(t => t.classList.remove('active')); this.classList.add('active'); renderQuestions(); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); applyPreset('mod'); })();
ATEC (Autism Treatment Evaluation Checklist — Bảng Kiểm Đánh Giá Điều Trị Tự Kỷ) là công cụ định lượng hàng đầu thế giới chuyên dùng để đo lường hiệu quả trước và sau can thiệp ở trẻ có Rối loạn phổ tự kỷ (ASD). Công cụ được Tiến sĩ Bernard Rimland và Tiến sĩ Stephen M. Edelson tại Viện Nghiên cứu Tự kỷ Hoa Kỳ (Autism Research Institute – ARI) phát triển năm 1999.
Khác với các công cụ sàng lọc một lần (như M-CHAT-R/F hay CAST), mục đích cốt lõi của ATEC là giúp phụ huynh,giáo viên và nhà trị liệu theo dõi sự tiến bộ của trẻ theo từng tháng/quý (khi áp dụng phương pháp giáo dục mới, ngôn ngữ trị liệu, điều hòa giác quan hoặc chế độ dinh dưỡng/y sinh).
1. Tóm tắt cốt lõi về cấu trúc & Cách tính điểm của ATEC
-
Độ tuổi áp dụng: Phổ biến nhất cho trẻ từ 2 đến 12 tuổi (có thể mở rộng cho lứa tuổi lớn hơn đang trong quá trình can thiệp).
-
Quy tắc vàng của điểm ATEC: ĐIỂM CÀNG THẤP = TRẺ CÀNG TỐT (ÍT TRIỆU CHỨNG HƠN). Khi trẻ tiến bộ qua các tháng can thiệp, tổng điểm ATEC sẽ giảm dần về 0.
-
Cấu trúc 77 câu hỏi chia làm 4 Phân mục (Tổng điểm từ 0 đến 179 điểm):
| Phân mục (Subscale) | Số câu hỏi | Quy tắc chấm điểm & Trọng số đặc biệt | Điểm tối đa |
| I. Lời nói / Ngôn ngữ / Giao tiếp(Speech/Language/Communication) | 14 câu(Câu 1 – 14) |
Hỏi về các kỹ năng tích cực trẻ làm được:
•
•
• |
28 điểm |
| II. Kỹ năng Xã hội (Sociability) | 20 câu(Câu 15 – 34) |
Hỏi về các khiếm khuyết xã hội của trẻ:
•
•
• |
40 điểm |
| III. Nhận thức Giác quan / Tư duy(Sensory/Cognitive Awareness) | 18 câu(Câu 35 – 52) |
Hỏi về các năng lực nhận thức tích cựccủa trẻ:
•
•
• |
36 điểm |
| IV. Sức khỏe / Thể chất / Hành vi(Health/Physical/Behavior) | 25 câu(Câu 53 – 77) |
Hỏi về các vấn đề sức khỏe, tiêu hóa, giấc ngủ & hành vi:
•
•
•
• |
75 điểm |
| TỔNG CỘNG TOÀN BẢNG | 77 câu | Tổng điểm càng thấp trẻ phát triển càng tốt | 179 điểm |
2. Bảng Phân loại Mức độ Nặng theo Tổng điểm ATEC (ARI Percentile Norms)
| Khoảng Tổng điểm ATEC (0 – 179) | Bách phân vị (Percentile) | Phân loại Mức độ Triệu chứng Lâm sàng |
| 0 – 19 điểm | < 5% | Không có / Triệu chứng tối thiểu: Tương đương trẻ phát triển điển hình hoặc đã phục hồi rất tốt sau can thiệp. |
| 20 – 39 điểm | 5% – 19% | Mức độ Nhẹ (Mild): Trẻ có ngôn ngữ giao tiếp và nhận thức khá tốt, chỉ còn một số khó khăn xã hội hoặc hành vi nhẹ. |
| 40 – 69 điểm | 20% – 59% | Mức độ Trung bình (Moderate): Cần chương trình can thiệp có cấu trúc đều đặn về ngôn ngữ, xã hội và điều hòa hành vi. |
| 70 – 103 điểm | 60% – 89% | Mức độ Nặng (Severe): Suy giảm rõ rệt ở nhiều lĩnh vực, cần can thiệp cá nhân 1:1 chuyên sâu và chăm sóc y sinh/giác quan. |
| 104 – 179 điểm | Mức độ Rất nặng (Profound): Nằm trong nhóm 10% có biểu hiện nặng nhất, cần hỗ trợ toàn diện mọi mặt sinh hoạt. |
Đánh giá rối loạn đi kèm & Phân biệt
(function(){
function mountShadowDiffTable(){
var host = document.getElementById('phuchoi-diff-host');
if(!host) return;
if(host.shadowRoot) return;
if(!host.attachShadow) return;
var shadow = host.attachShadow({mode:'open'});
var css = [
':host{all:initial;display:block;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:#1e293b;line-height:1.6;width:100%;box-sizing:border-box;}',
'*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}',
'.diff-card{width:100%;background:#ffffff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 8px 24px rgba(15,23,42,0.05);overflow:hidden;}',
'.diff-intro{background:linear-gradient(135deg,#fffbeb 0%,#fef3c7 100%);padding:20px 24px;border-bottom:1px solid #fde68a;display:flex;align-items:flex-start;gap:14px;}',
'.diff-icon{font-size:26px;line-height:1;background:#ffffff;width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 10px rgba(217,119,6,0.14);flex-shrink:0;}',
'.diff-intro-text{font-size:15px;color:#0f172a;margin:0;}',
'.diff-intro-text strong{color:#b45309;font-weight:700;}',
'.diff-table{width:100%;border-collapse:collapse;border-spacing:0;}',
'.diff-table thead th{background:#f8fafc;color:#334155;font-size:12.5px;font-weight:800;text-transform:uppercase;letter-spacing:0.4px;padding:14px 20px;text-align:left;border-bottom:2px solid #e2e8f0;}',
'.diff-table tbody tr{border-bottom:1px solid #e2e8f0;transition:background 0.2s ease;}',
'.diff-table tbody tr:last-child{border-bottom:none;}',
'.diff-table tbody tr:hover{background:#f8fafc;}',
'.diff-table td{padding:20px;vertical-align:top;}',
'.step-tag{display:inline-block;font-size:11px;font-weight:700;padding:2px 9px;border-radius:999px;text-transform:uppercase;margin-bottom:6px;}',
'.tag-orange{background:#ffedd5;color:#c2410c;}',
'.tag-sky{background:#e0f2fe;color:#0369a1;}',
'.tag-rose{background:#fce7f3;color:#be185d;}',
'.group-badge{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:800;color:#0f172a;}',
'.tools-wrap{display:flex;flex-wrap:wrap;gap:8px;}',
'.tool-link{display:inline-flex;align-items:center;gap:5px;padding:7px 14px;border-radius:8px;font-size:13.5px;font-weight:700;text-decoration:none;transition:all 0.18s ease;border:1.5px solid transparent;cursor:pointer;}',
'.tool-link::after{content:"↗";font-size:11px;opacity:0.75;}',
'.btn-orange{background:#fff7ed;color:#c2410c;border-color:#fed7aa;}',
'.btn-orange:hover{background:#ea580c;color:#ffffff;border-color:#ea580c;transform:translateY(-2px);box-shadow:0 4px 10px rgba(234,88,12,0.25);}',
'.btn-sky{background:#f0f9ff;color:#0369a1;border-color:#bae6fd;}',
'.btn-sky:hover{background:#0284c7;color:#ffffff;border-color:#0284c7;transform:translateY(-2px);box-shadow:0 4px 10px rgba(2,132,199,0.25);}',
'.btn-rose{background:#fdf2f8;color:#be185d;border-color:#fbcfe8;}',
'.btn-rose:hover{background:#db2777;color:#ffffff;border-color:#db2777;transform:translateY(-2px);box-shadow:0 4px 10px rgba(219,39,119,0.25);}',
'.desc-text{font-size:14.2px;color:#334155;margin:0;}',
'.desc-text strong{color:#0f172a;font-weight:700;}',
'.desc-text em{font-style:italic;color:#0f172a;background:#f1f5f9;padding:1px 6px;border-radius:4px;}',
'@media (max-width:768px){.diff-intro{padding:16px;}.diff-table thead{display:none;}.diff-table,.diff-table tbody,.diff-table tr,.diff-table td{display:block;width:100%;}.diff-table tbody tr{padding:16px;}.diff-table td{padding:6px 0;}.tools-wrap{margin:6px 0 8px 0;}}'
].join('');
var styleEl = document.createElement('style');
styleEl.textContent = css;
shadow.appendChild(styleEl);
var rowsData = [
{
tagCls: 'tag-orange',
tagTxt: 'Nhóm 1 • Đồng mắc 50–70%',
title: '⚡ Sàng lọc & Phân biệt ADHD',
btnCls: 'btn-orange',
toolName: 'Thang đo Vanderbilt & Conners-3',
toolUrl: 'https://phuchoi.vn/kien-thuc/cong-cu/danh-gia-roi-loan-di-kem-phan-biet/vanderbilt-va-conners-3/',
parts: [
{t: 'text', v: 'Hai công cụ tiêu chuẩn để sàng lọc và đánh giá '},
{t: 'strong', v: 'Tăng động giảm chú ý (ADHD)'},
{t: 'text', v: ' – rối loạn dễ nhầm lẫn nhất và cũng hay đi kèm nhất với phổ tự kỷ (tỷ lệ đồng mắc lên tới 50-70%).'}
]
},
{
tagCls: 'tag-sky',
tagTxt: 'Nhóm 2 • Ngôn ngữ chuyên sâu',
title: '🗣️ Phân biệt Chậm nói & Tự kỷ',
btnCls: 'btn-sky',
toolName: 'PLS-5 hoặc CELF',
toolUrl: 'https://phuchoi.vn/kien-thuc/cong-cu/danh-gia-roi-loan-di-kem-phan-biet/pls-5-hoac-celf/',
parts: [
{t: 'text', v: 'Công cụ đánh giá chuyên sâu về '},
{t: 'strong', v: 'Rối loạn ngôn ngữ'},
{t: 'text', v: ' (hiểu và diễn đạt), giúp phân biệt trẻ '},
{t: 'em', v: 'Chậm nói đơn thuần'},
{t: 'text', v: ' với trẻ '},
{t: 'em', v: 'Tự kỷ'},
{t: 'text', v: '.'}
]
},
{
tagCls: 'tag-rose',
tagTxt: 'Nhóm 3 • Từ 1.5 – 18 tuổi',
title: '🧠 Sàng lọc Cảm xúc & Hành vi',
btnCls: 'btn-rose',
toolName: 'CBCL',
toolUrl: 'https://phuchoi.vn/kien-thuc/cong-cu/danh-gia-roi-loan-di-kem-phan-biet/cbcl/',
parts: [
{t: 'text', v: 'Đánh giá tổng thể các vấn đề cảm xúc và hành vi (lo âu, trầm cảm, chống đối, thu mình...) ở trẻ từ 1.5 đến 18 tuổi.'}
]
}
];
var card = document.createElement('div');
card.className = 'diff-card';
var intro = document.createElement('div');
intro.className = 'diff-intro';
var icon = document.createElement('div');
icon.className = 'diff-icon';
icon.textContent = '🔍';
var introP = document.createElement('p');
introP.className = 'diff-intro-text';
introP.appendChild(document.createTextNode('Rất nhiều trẻ tự kỷ đi kèm '));
var st1 = document.createElement('strong');
st1.textContent = 'Tăng động giảm chú ý (ADHD)';
introP.appendChild(st1);
introP.appendChild(document.createTextNode(' hoặc '));
var st2 = document.createElement('strong');
st2.textContent = 'Rối loạn ngôn ngữ';
introP.appendChild(st2);
introP.appendChild(document.createTextNode(', và ngược lại, nhiều trẻ chỉ bị ADHD hoặc Chậm nói đơn thuần bị nhầm sang Tự kỷ. Các công cụ dưới đây sẽ giúp bố mẹ và chuyên gia phân biệt và chẩn đoán chính xác hơn.'));
intro.appendChild(icon);
intro.appendChild(introP);
card.appendChild(intro);
var table = document.createElement('table');
table.className = 'diff-table';
var thead = document.createElement('thead');
var trHead = document.createElement('tr');
var headers = [
{txt: 'Mục Tiêu Phân Biệt & Đồng Mắc', w: '27%'},
{txt: 'Công Cụ Đánh Giá (Nhấn để xem)', w: '28%'},
{txt: 'Vai Trò Lâm Sàng & Ý Nghĩa Chẩn Đoán', w: '45%'}
];
headers.forEach(function(h){
var th = document.createElement('th');
th.style.width = h.w;
th.textContent = h.txt;
trHead.appendChild(th);
});
thead.appendChild(trHead);
table.appendChild(thead);
var tbody = document.createElement('tbody');
rowsData.forEach(function(r){
var tr = document.createElement('tr');
var td1 = document.createElement('td');
var tag = document.createElement('span');
tag.className = 'step-tag ' + r.tagCls;
tag.textContent = r.tagTxt;
var badge = document.createElement('div');
badge.className = 'group-badge';
badge.textContent = r.title;
td1.appendChild(tag);
td1.appendChild(badge);
var td2 = document.createElement('td');
var wrap = document.createElement('div');
wrap.className = 'tools-wrap';
var a = document.createElement('a');
a.className = 'tool-link ' + r.btnCls;
a.href = r.toolUrl;
a.target = '_blank';
a.rel = 'noopener';
a.textContent = r.toolName;
wrap.appendChild(a);
td2.appendChild(wrap);
var td3 = document.createElement('td');
var desc = document.createElement('p');
desc.className = 'desc-text';
r.parts.forEach(function(p){
if(p.t === 'strong'){
var b = document.createElement('strong');
b.textContent = p.v;
desc.appendChild(b);
} else if(p.t === 'em'){
var i = document.createElement('em');
i.textContent = p.v;
desc.appendChild(i);
} else {
desc.appendChild(document.createTextNode(p.v));
}
});
td3.appendChild(desc);
tr.appendChild(td1);
tr.appendChild(td2);
tr.appendChild(td3);
tbody.appendChild(tr);
});
table.appendChild(tbody);
card.appendChild(table);
shadow.appendChild(card);
}
if(document.readyState === 'loading'){
document.addEventListener('DOMContentLoaded', mountShadowDiffTable);
} else {
mountShadowDiffTable();
}
})();
[Tăng động - ADHD] Vanderbilt & Conners-3: Bộ thang đo sàng lọc và đánh giá rối loạn Tăng động giảm chú ý
Tăng động giảm chú ý (ADHD) – rối loạn dễ nhầm lẫn nhất và cũng hay đi kèm nhất với phổ tự kỷ (tỷ lệ đồng mắc lên tới 50-70%). Hai công cụ này sẽ giúp bạn sàng lọc rõ ADHD, tránh chẩn đoán nhầm.
(function() { const host = document.getElementById('adhd-wp-host'); if (!host) return; const placeholder = document.createComment('adhd-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // ========================================================= // PHẦN 1: DỮ LIỆU ĐẦY ĐỦ 55 MỤC THANG ĐO NICHQ VANDERBILT (47 TRIỆU CHỨNG + 8 HIỆU SUẤT) // ========================================================= const vanderbiltGroups = { ina: { code: 'ina', name: '1. Giảm chú ý (Inattention • Câu 1–9 • Ngưỡng ≥ 6/9 câu mức 2–3)', color: '#2563eb' }, hyp: { code: 'hyp', name: '2. Tăng động / Xung động (Hyperactivity/Impulsivity • Câu 10–18 • Ngưỡng ≥ 6/9)', color: '#ea580c' }, odd: { code: 'odd', name: '3. Thách thức Chống đối (Oppositional Defiant - ODD • Câu 19–26 • Ngưỡng ≥ 4/8)', color: '#d97706' }, cd: { code: 'cd', name: '4. Rối loạn Hành vi (Conduct Disorder - CD • Câu 27–40 • Ngưỡng ≥ 3/14)', color: '#dc2626' }, anx: { code: 'anx', name: '5. Lo âu & Trầm cảm (Anxiety / Depression • Câu 41–47 • Ngưỡng ≥ 3/7)', color: '#7c3aed' }, perf: { code: 'perf', name: '6. Hiệu suất Học tập & Quan hệ (Performance • Câu 48–55 • Cần ≥ 1 câu mức 4–5)', color: '#0d9488' } }; const vanderbiltItems = [ // NHÓM 1: GIẢM CHÚ Ý (INATTENTION • Câu 1 - 9 • Ngưỡng >= 6/9 câu đạt điểm 2 hoặc 3) { id: 1, grp: 'ina', t: 'Không chú ý kỹ đến các chi tiết hoặc mắc lỗi cẩu thả trong bài tập ở trường/công việc.' }, { id: 2, grp: 'ina', t: 'Gặp khó khăn trong việc duy trì sự tập trung chú ý vào những việc cần làm hoặc hoạt động chơi.' }, { id: 3, grp: 'ina', t: 'Có vẻ như không lắng nghe khi người khác nói chuyện trực tiếp với trẻ.' }, { id: 4, grp: 'ina', t: 'Không làm theo trọn vẹn các hướng dẫn và không hoàn thành bài tập/việc vặt (không phải do chống đối hay không hiểu).' }, { id: 5, grp: 'ina', t: 'Gặp khó khăn trong việc sắp xếp, tổ chức các nhiệm vụ và hoạt động hàng ngày.' }, { id: 6, grp: 'ina', t: 'Né tránh, không thích hoặc miễn cưỡng tham gia các việc đòi hỏi phải suy nghĩ tập trung lâu (như làm bài tập về nhà).' }, { id: 7, grp: 'ina', t: 'Hay làm mất những đồ dùng cần thiết cho học tập và sinh hoạt (bút, sách vở, đồ chơi, áo khoác).' }, { id: 8, grp: 'ina', t: 'Dễ bị phân tâm bởi các tiếng động hoặc sự việc bên ngoài.' }, { id: 9, grp: 'ina', t: 'Hay quên trong các hoạt động sinh hoạt hàng ngày.' }, // NHÓM 2: TĂNG ĐỘNG / XUNG ĐỘNG (HYPERACTIVITY / IMPULSIVITY • Câu 10 - 18 • Ngưỡng >= 6/9 câu đạt điểm 2 hoặc 3) { id: 10, grp: 'hyp', t: 'Hay bồn chồn ngọ nguậy tay chân hoặc vặn vẹo người trên ghế.' }, { id: 11, grp: 'hyp', t: 'Tự ý rời khỏi chỗ ngồi trong lớp học hoặc trong các tình huống cần phải ngồi yên (như tại bàn ăn).' }, { id: 12, grp: 'hyp', t: 'Chạy nhảy hoặc leo trèo quá mức trong những tình huống không phù hợp.' }, { id: 13, grp: 'hyp', t: 'Gặp khó khăn khi phải chơi hoặc tham gia các hoạt động giải trí một cách yên tĩnh, nhẹ nhàng.' }, { id: 14, grp: 'hyp', t: 'Luôn chân luôn tay ("On the go") hoặc hành động như thể được "gắn động cơ chạy liên tục".' }, { id: 15, grp: 'hyp', t: 'Nói quá nhiều.' }, { id: 16, grp: 'hyp', t: 'Buột miệng trả lời ngay khi người khác còn chưa hỏi xong câu hỏi.' }, { id: 17, grp: 'hyp', t: 'Gặp khó khăn lớn khi phải xếp hàng hoặc chờ đến lượt của mình.' }, { id: 18, grp: 'hyp', t: 'Hay ngắt lời hoặc xen ngang vào cuộc trò chuyện/trò chơi của người khác.' }, // NHÓM 3: RỐI LOẠN THÁCH THỨC CHỐNG ĐỐI (ODD • Câu 19 - 26 • Ngưỡng >= 4/8 câu đạt điểm 2 hoặc 3) { id: 19, grp: 'odd', t: 'Tranh cãi tay đôi với người lớn.' }, { id: 20, grp: 'odd', t: 'Hay mất bình tĩnh, nổi cơn cáu giận dữ dội.' }, { id: 21, grp: 'odd', t: 'Chủ động thách thức hoặc từ chối tuân theo các yêu cầu và quy tắc của người lớn.' }, { id: 22, grp: 'odd', t: 'Cố tình làm những việc gây khó chịu, chọc tức người khác.' }, { id: 23, grp: 'odd', t: 'Đổ lỗi cho người khác về những lỗi lầm hoặc hành vi sai trái của chính mình.' }, { id: 24, grp: 'odd', t: 'Rất nhạy cảm, dễ tự ái hoặc dễ bị người khác làm cho bực mình.' }, { id: 25, grp: 'odd', t: 'Hay tức giận và oán giận.' }, { id: 26, grp: 'odd', t: 'Có tính hằn học và muốn trả đũa.' }, // NHÓM 4: RỐI LOẠN HÀNH VI (CONDUCT DISORDER - CD • Câu 27 - 40 • Ngưỡng >= 3/14 câu đạt điểm 2 hoặc 3) { id: 27, grp: 'cd', t: 'Bắt nạt, đe dọa hoặc запугивать (uy hiếp) trẻ khác.' }, { id: 28, grp: 'cd', t: 'Chủ động khơi mào các cuộc đánh nhau tay chân.' }, { id: 29, grp: 'cd', t: 'Nói dối để trốn tránh trách nhiệm/hình phạt hoặc để trục lợi ("lừa gạt" người khác).' }, { id: 30, grp: 'cd', t: 'Trốn học mà không được phép.' }, { id: 31, grp: 'cd', t: 'Hung bạo về thể xác với người khác.' }, { id: 32, grp: 'cd', t: 'Lấy cắp những đồ vật có giá trị.' }, { id: 33, grp: 'cd', t: 'Cố tình phá hoại tài sản, đồ đạc của người khác.' }, { id: 34, grp: 'cd', t: 'Đã từng sử dụng vũ khí có thể gây thương tích nghiêm trọng (gậy, gạch đá, dao...).' }, { id: 35, grp: 'cd', t: 'Hung bạo, hành hạ thể xác đối với động vật.' }, { id: 36, grp: 'cd', t: 'Cố tình châm lửa đốt với ý định gây thiệt hại.' }, { id: 37, grp: 'cd', t: 'Đột nhập vào nhà, phòng hoặc xe của người khác.' }, { id: 38, grp: 'cd', t: 'Tự ý đi qua đêm ở bên ngoài mà không được phép.' }, { id: 39, grp: 'cd', t: 'Bỏ nhà đi qua đêm.' }, { id: 40, grp: 'cd', t: 'Ép buộc người khác vào hoạt động nhạy cảm không đồng thuận.' }, // NHÓM 5: LO ÂU & TRẦM CẢM (ANXIETY / DEPRESSION • Câu 41 - 47 • Ngưỡng >= 3/7 câu đạt điểm 2 hoặc 3) { id: 41, grp: 'anx', t: 'Sợ hãi, lo âu hoặc lo lắng quá mức.' }, { id: 42, grp: 'anx', t: 'Sợ thử làm những điều mới vì lo sợ sẽ mắc lỗi.' }, { id: 43, grp: 'anx', t: 'Cảm thấy bản thân vô giá trị hoặc kém cỏi hơn các bạn khác.' }, { id: 44, grp: 'anx', t: 'Tự trách bản thân về các vấn đề xảy ra, cảm thấy tội lỗi quá mức.' }, { id: 45, grp: 'anx', t: 'Cảm thấy cô đơn, không được yêu thương hoặc tủi thân ("không ai thương con").' }, { id: 46, grp: 'anx', t: 'Buồn bã, không vui hoặc trầm uất.' }, { id: 47, grp: 'anx', t: 'Ngượng ngùng, tự ti và rất dễ bối rối xấu hổ trước đám đông.' }, // NHÓM 6: ĐÁNH GIÁ HIỆU SUẤT THỰC TẾ (PERFORMANCE • Câu 48 - 55 • Chấm từ 1 đến 5 • Cần >= 1 câu đạt mức 4 hoặc 5) { id: 48, grp: 'perf', t: 'Hiệu suất học tập tổng thể ở trường (Overall school performance).' }, { id: 49, grp: 'perf', t: 'Kỹ năng Đọc (Reading).' }, { id: 50, grp: 'perf', t: 'Kỹ năng Viết (Writing).' }, { id: 51, grp: 'perf', t: 'Kỹ năng Toán học (Mathematics).' }, { id: 52, grp: 'perf', t: 'Mối quan hệ với cha mẹ / giáo viên (Relationship with parents / teachers).' }, { id: 53, grp: 'perf', t: 'Mối quan hệ với anh chị em ruột (Relationship with siblings).' }, { id: 54, grp: 'perf', t: 'Mối quan hệ với bạn bè đồng trang lứa (Relationship with peers).' }, { id: 55, grp: 'perf', t: 'Khả năng tham gia các hoạt động tập thể / đội nhóm có tổ chức (Participation in organized activities).' } ]; // ========================================================= // PHẦN 2: DỮ LIỆU THANG ĐO CONNERS-3 (6 TIỂU THANG NỘI DUNG • 30 MỤC CỐT LÕI • T-SCORE) // ========================================================= const connersScales = { in: { code: 'in', short: 'IN', name: '1. Giảm chú ý (Inattention - IN • 5 câu)', color: '#2563eb' }, hy: { code: 'hy', short: 'HY', name: '2. Tăng động / Xung động (Hyperactivity/Impulsivity - HY • 5 câu)', color: '#ea580c' }, lp: { code: 'lp', short: 'LP', name: '3. Các Vấn đề Học tập (Learning Problems - LP • 5 câu)', color: '#0284c7' }, ef: { code: 'ef', short: 'EF', name: '4. Chức năng Điều hành (Executive Functioning - EF • 5 câu)', color: '#7c3aed' }, ag: { code: 'ag', short: 'AG', name: '5. Thách thức / Gây hấn (Defiance / Aggression - AG • 5 câu)', color: '#dc2626' }, pr: { code: 'pr', short: 'PR', name: '6. Quan hệ Bạn bè (Peer Relations - PR • 5 câu)', color: '#0d9488' } }; const connersItems = [ // 1. GIẢM CHÚ Ý (INATTENTION - IN) { id: 101, sc: 'in', t: 'Thời gian tập trung chú ý rất ngắn, dễ bỏ dở giữa chừng việc đang làm.' }, { id: 102, sc: 'in', t: 'Mơ màng, lơ đãng hoặc có vẻ tâm trí đang "ở trên mây" khi nghe giảng/trò chuyện.' }, { id: 103, sc: 'in', t: 'Dễ bị thu hút, xao nhãng bởi bất kỳ âm thanh hay chuyển động nhỏ nào xung quanh.' }, { id: 104, sc: 'in', t: 'Chỉ tập trung được khi chơi điện tử/xem thứ cực kỳ yêu thích, nhưng mất chú ý ngay với bài vở thường ngày.' }, { id: 105, sc: 'in', t: 'Bỏ sót các chi tiết quan trọng và mắc nhiều lỗi bất cẩn không đáng có.' }, // 2. TĂNG ĐỘNG / XUNG ĐỘNG (HYPERACTIVITY/IMPULSIVITY - HY) { id: 106, sc: 'hy', t: 'Bồn chồn, không thể ngồi yên trên ghế mà luôn ngọ nguậy tay chân hoặc đứng lên ngồi xuống.' }, { id: 107, sc: 'hy', t: 'Hành động bốc đồng mà không kịp suy nghĩ đến hậu quả ("Làm trước nghĩ sau").' }, { id: 108, sc: 'hy', t: 'Dư thừa năng lượng, chạy nhảy hoặc leo trèo liên tục không biết mệt.' }, { id: 109, sc: 'hy', t: 'Rất mất kiên nhẫn khi phải chờ đến lượt mình trong trò chơi hoặc khi xếp hàng.' }, { id: 110, sc: 'hy', t: 'Gây ồn ào, nói liên hồi và hay chen ngang khi người khác đang bận hoặc đang nói chuyện.' }, // 3. CÁC VẤN ĐỀ HỌC TẬP (LEARNING PROBLEMS - LP) { id: 111, sc: 'lp', t: 'Gặp khó khăn trong việc đọc hiểu văn bản hoặc đánh vần/viết chính tả.' }, { id: 112, sc: 'lp', t: 'Khó nhớ các khái niệm toán học, bảng tính hoặc trình tự giải bài toán.' }, { id: 113, sc: 'lp', t: 'Cần người lớn giải thích lại nhiều lần mới hiểu được yêu cầu của bài học.' }, { id: 114, sc: 'lp', t: 'Học trước quên sau: những kiến thức hôm qua vừa thuộc hôm nay đã quên.' }, { id: 115, sc: 'lp', t: 'Chậm hoàn thành bài viết trên lớp và gặp khó khăn khi diễn đạt ý nghĩ thành câu chữ.' }, // 4. CHỨC NĂNG ĐIỀU HÀNH (EXECUTIVE FUNCTIONING - EF) { id: 116, sc: 'ef', t: 'Rất khó tự bắt đầu (khởi xướng) làm bài tập hay công việc nếu không có người ngồi cạnh đốc thúc.' }, { id: 117, sc: 'ef', t: 'Không biết cách lập kế hoạch trước hoặc không biết phải bắt đầu từ bước nào khi có nhiều việc cần làm.' }, { id: 118, sc: 'ef', t: 'Cặp sách, bàn học và phòng ngủ luôn trong tình trạng lộn xộn, thất lạc đồ đạc.' }, { id: 119, sc: 'ef', t: 'Quản lý thời gian kém: luôn lề mề, trễ giờ hoặc để nước đến chân mới nhảy.' }, { id: 120, sc: 'ef', t: 'Gặp khó khăn lớn khi phải chuyển đổi linh hoạt từ hoạt động/quy tắc này sang hoạt động khác.' }, // 5. THÁCH THỨC / GÂY HẤN (DEFIANCE / AGGRESSION - AG) { id: 121, sc: 'ag', t: 'Cãi lời, chống đối hoặc từ chối làm theo yêu cầu hợp lý của cha mẹ và giáo viên.' }, { id: 122, sc: 'ag', t: 'Dễ bùng nổ cơn giận dữ, la hét hoặc ném đồ đạc khi không vừa ý.' }, { id: 123, sc: 'ag', t: 'Cố tình trêu chọc, gây sự hoặc đổ lỗi cho người khác.' }, { id: 124, sc: 'ag', t: 'Có hành vi hung hăng lời nói (đe dọa) hoặc tay chân (đánh, đẩy) với trẻ khác.' }, { id: 125, sc: 'ag', t: 'Khó chấp nhận lời phê bình và giữ thái độ thù địch, bướng bỉnh kéo dài.' }, // 6. QUAN HỆ BẠN BÈ (PEER RELATIONS - PR) { id: 126, sc: 'pr', t: 'Gặp khó khăn lớn trong việc kết bạn hoặc giữ tình bạn lâu dài với bạn cùng trang lứa.' }, { id: 127, sc: 'pr', t: 'Hay bị các bạn cùng lớp từ chối chơi cùng, né tránh hoặc không được mời tham gia nhóm.' }, { id: 128, sc: 'pr', t: 'Không nhận ra các tín hiệu xã hội khi bạn bè đang khó chịu với hành vi quá trớn của mình.' }, { id: 129, sc: 'pr', t: 'Thường xuyên xảy ra xung đột, cãi vã hoặc muốn làm chỉ huy áp đặt bạn khi chơi chung.' }, { id: 130, sc: 'pr', t: 'Có vẻ cô lập, lạc lõng trong tập thể lớp học hoặc các hoạt động ngoại khóa.' } ]; let activeTool = 'vanderbilt'; // 'vanderbilt' | 'conners3' let filterSub = 'all'; // vanScores[id]: Câu 1..47 lưu 0..3; Câu 48..55 lưu 1..5 let vanScores = {}; // conScores[id]: Câu 101..130 lưu 0..3 let conScores = {}; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .ad-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } .ad-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .ad-inner { padding: 24px; max-width: 980px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .ad-wrap.is-fullscreen .ad-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .ad-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(234, 88, 12, 0.45), 0 0 0 0 rgba(234, 88, 12, 0.4); } 70% { box-shadow: 0 6px 20px rgba(234, 88, 12, 0.45), 0 0 0 10px rgba(234, 88, 12, 0); } 100% { box-shadow: 0 6px 20px rgba(234, 88, 12, 0.45), 0 0 0 0 rgba(234, 88, 12, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #c2410c 0%, #ea580c 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(234, 88, 12, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Bộ chuyển đổi 2 Thang đo: NICHQ Vanderbilt vs Conners-3 */ .tool-switcher { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; background: #f1f5f9; padding: 10px; border-radius: 12px; margin-bottom: 18px; } .tool-btn { padding: 12px 14px; border-radius: 9px; border: 2px solid transparent; background: rgba(255, 255, 255, 0.7); cursor: pointer; text-align: left; transition: all 0.2s ease; touch-action: manipulation; } .tool-btn:hover { background: #ffffff; } .tool-btn.active { background: #ffffff; border-color: #ea580c; box-shadow: 0 3px 10px rgba(15, 23, 42, 0.08); } .tool-btn-title { font-size: 14.5px; font-weight: 800; color: #0f172a; display: block; } .tool-btn.active .tool-btn-title { color: #c2410c; } .tool-btn-sub { font-size: 12px; color: #64748b; margin-top: 3px; display: block; } .ad-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .ad-header-text { flex: 1 1 260px; } .ad-title { font-size: 20px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .ad-desc { font-size: 13.8px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #fff7ed; color: #c2410c; border: 1px solid #fed7aa; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #ea580c; color: #ffffff; border-color: #ea580c; } .ad-controls { display: flex; flex-direction: column; gap: 10px; margin-bottom: 18px; } .ad-presets { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; } .ad-preset-lbl { font-size: 12.5px; font-weight: 700; color: #475569; margin-right: 4px; } .ad-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; touch-action: manipulation; } .ad-pbtn:hover { background: #f1f5f9; } .ad-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } .ad-sub-tabs { display: flex; flex-wrap: wrap; gap: 6px; } .ad-stab { padding: 6px 11px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .ad-stab.active { background: #ea580c; color: #ffffff; border-color: #ea580c; } /* Sticky Dashboard */ .ad-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .ad-wrap.is-fullscreen .ad-dash { top: 58px; } .ad-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .ad-score-big { font-size: 20px; font-weight: 800; line-height: 1.25; } .ad-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .ad-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .ad-pillars { display: grid; grid-template-columns: repeat(6, 1fr); gap: 6px; font-size: 11.5px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .ad-pillar-box { background: #1e293b; padding: 7px 8px; border-radius: 8px; border-left: 3px solid #475569; } .ad-pillar-box.pos { border-left-color: #ef4444; background: rgba(239, 68, 68, 0.16); } .ad-pillar-box.neg { border-left-color: #10b981; } .ad-pillar-val { font-weight: 800; color: #ffffff; font-size: 13px; display: block; margin-top: 2px; } /* Danh sách câu hỏi */ .ad-item { border: 1px solid #e2e8f0; border-radius: 10px; padding: 13px 15px; margin-bottom: 10px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 8px; } .ad-item.pos-sym { border-color: #fda4af; background: #fff5f5; } .ad-item.mid-sym { border-color: #fde68a; background: #fffbeb; } .ad-item-title { font-size: 14.5px; font-weight: 600; color: #1e293b; } .ad-tags { display: flex; flex-wrap: wrap; gap: 6px; } .ad-tag { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .ad-ans-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; } .ad-ans-grid.grid-5 { grid-template-columns: repeat(5, 1fr); } .ad-abtn { padding: 8px 6px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 11.8px; font-weight: 700; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .ad-abtn:hover { border-color: #64748b; } .ad-abtn.sel-ok { background: #10b981; border-color: #10b981; color: #ffffff; } .ad-abtn.sel-mid { background: #3b82f6; border-color: #3b82f6; color: #ffffff; } .ad-abtn.sel-warn { background: #f59e0b; border-color: #f59e0b; color: #ffffff; } .ad-abtn.sel-high { background: #ef4444; border-color: #ef4444; color: #ffffff; } /* Biểu đồ & Bảng tổng hợp */ .ad-chart-card { margin-top: 20px; padding: 16px 18px; border-radius: 12px; background: #ffffff; border: 1px solid #e2e8f0; } .ad-bar-row { display: flex; align-items: center; gap: 10px; margin-bottom: 9px; font-size: 12.5px; } .ad-bar-lbl { width: 280px; flex-shrink: 0; font-weight: 600; color: #334155; } .ad-bar-track { flex: 1; height: 16px; background: #f1f5f9; border-radius: 999px; overflow: hidden; } .ad-bar-val { width: 155px; text-align: right; font-weight: 700; color: #0f172a; flex-shrink: 0; } .ad-result-box { margin-top: 16px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #ea580c; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 780px) { .ad-inner { padding: 14px; } .tool-switcher { grid-template-columns: 1fr; } .ad-title { font-size: 18px; } .ad-pillars { grid-template-columns: 1fr 1fr; } .ad-ans-grid, .ad-ans-grid.grid-5 { grid-template-columns: 1fr 1fr; } .ad-bar-lbl { width: 145px; font-size: 11.5px; } .ad-bar-val { width: 115px; font-size: 11px; } .ad-pbtn.reset { margin-left: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
1. Thang Đánh Giá Chẩn Đoán ADHD NICHQ Vanderbilt (Đầy Đủ 55 Câu Hỏi • Chuẩn AAP)
' + '' + 'Công cụ tiêu chuẩn của Viện Hàn lâm Nhi khoa Hoa Kỳ (AAP — Mark Wolraich, 2003) gồm 47 câu triệu chứng (chấm 0–3, tính là Dương tính khi đạt mức 2 hoặc 3) và 8 câu Hiệu suất Học tập & Quan hệ (chấm 1–5, tính là Suy giảm khi có ≥ 1 câu đạt mức 4 hoặc 5).' + '
'; subTabs.innerHTML = '' + '' + '' + '' + '' + '' + ''; } else { headerInfo.innerHTML = '2. Thang Đánh Giá Hành Vi Toàn Diện Conners-3 (6 Tiểu Thang Nội Dung • Quy Đổi Điểm Chuẩn T-Score)
' + '' + 'Công cụ định lượng chuẩn hóa của Tiến sĩ C. Keith Conners (2008) cho trẻ từ 6 đến 18 tuổi. Đo lường mức độ nghiêm trọng qua Điểm chuẩn T-Score (Mean = 50, SD = 10) trên 6 lĩnh vực: Giảm chú ý (IN), Tăng động (HY), Học tập (LP), Chức năng Điều hành (EF), Gây hấn (AG) và Quan hệ Bạn bè (PR).' + '
'; subTabs.innerHTML = '' + '' + '' + '' + '' + '' + ''; } subTabs.querySelectorAll('.ad-stab').forEach(tab => { tab.onclick = function() { filterSub = this.getAttribute('data-sub'); subTabs.querySelectorAll('.ad-stab').forEach(t => t.classList.remove('active')); this.classList.add('active'); renderQuestions(); }; }); } function renderQuestions() { questionList.innerHTML = ''; const symBtns = [ { val: 0, lbl: '0 - Không bao giờ', cls: 'sel-ok' }, { val: 1, lbl: '1 - Thỉnh thoảng', cls: 'sel-mid' }, { val: 2, lbl: '2 - Thường xuyên (★ Đạt)', cls: 'sel-warn' }, { val: 3, lbl: '3 - Rất thường xuyên (★)', cls: 'sel-high' } ]; const perfBtns = [ { val: 1, lbl: '1 - Xuất sắc', cls: 'sel-ok' }, { val: 2, lbl: '2 - Trên trung bình', cls: 'sel-ok' }, { val: 3, lbl: '3 - Trung bình (Đạt)', cls: 'sel-mid' }, { val: 4, lbl: '4 - Có chút vấn đề (★)', cls: 'sel-warn' }, { val: 5, lbl: '5 - Nghiêm trọng (★)', cls: 'sel-high' } ]; if (activeTool === 'vanderbilt') { vanderbiltItems.forEach(function(it) { if (filterSub !== 'all' && it.grp !== filterSub) return; const isPerf = (it.grp === 'perf'); const defVal = isPerf ? 3 : 0; const uVal = (vanScores[it.id] !== undefined) ? vanScores[it.id] : defVal; const gCfg = vanderbiltGroups[it.grp]; let rowCls = 'ad-item'; if (!isPerf) { if (uVal >= 2) rowCls += ' pos-sym'; else if (uVal === 1) rowCls += ' mid-sym'; } else { if (uVal >= 4) rowCls += ' pos-sym'; } const btns = isPerf ? perfBtns : symBtns; const gridCls = isPerf ? 'ad-ans-grid grid-5' : 'ad-ans-grid'; const btnsHtml = btns.map(b => { const cls = 'ad-abtn' + (uVal === b.val ? ' ' + b.cls : ''); return ''; }).join(''); const el = document.createElement('div'); el.className = rowCls; el.innerHTML = '' + '' + '• 2. Tổng Điểm Nặng Nhẹ Triệu chứng ADHD (Total ADHD Symptom Score — Câu 1–18): Đạt ' + totalADHDRaw + ' / 54 điểm (Dùng làm mốc Baseline để theo dõi hiệu quả sau điều trị tâm lý/hành vi hoặc thuốc mỗi tháng).
' + '• 3. Sàng lọc Rối loạn Đồng mắc: ' + (comorbidities.length > 0 ? '⚠️ Phát hiện dấu hiệu vượt ngưỡng của: ' + comorbidities.join('; ') + '.' : '✓ Không vượt ngưỡng cắt ở các nhóm ODD, CD và Lo âu/Trầm cảm.') + '
' + '• 💡 Lưu ý chuẩn DSM-5-TR: Để xác lập chẩn đoán ADHD chính thức, các triệu chứng cần xuất hiện trước 12 tuổi và biểu hiện ở ít nhất 2 môi trường (cần đối chiếu cả Phiếu Phụ huynh và Phiếu Giáo viên).'; } else { // CONNERS-3 SUMMARY const raw = { in: 0, hy: 0, lp: 0, ef: 0, ag: 0, pr: 0 }; connersItems.forEach(function(it) { raw[it.sc] += (conScores[it.id] !== undefined) ? conScores[it.id] : 0; }); const tMap = { in: calcConnersT(raw.in, 15), hy: calcConnersT(raw.hy, 15), lp: calcConnersT(raw.lp, 15), ef: calcConnersT(raw.ef, 15), ag: calcConnersT(raw.ag, 15), pr: calcConnersT(raw.pr, 15) }; const adhdIndexT = Math.round((tMap.in + tMap.hy + tMap.ef) / 3); const cIndex = classifyConnersT(adhdIndexT); dashPillars.innerHTML = Object.keys(connersScales).map(k => { const sCfg = connersScales[k]; const cInfo = classifyConnersT(tMap[k]); return ( '
' + '• 2. Phân tích Chức năng Điều hành (EF = ' + tMap.ef + 'T) & Học tập (LP = ' + tMap.lp + 'T): ' + (tMap.ef >= 65 ? 'Trẻ gặp suy giảm rõ rệt ở khả năng tự khởi xướng công việc, tổ chức bàn học, quản lý thời gian và chuyển tiếp hoạt động. Cần hỗ trợ bằng thời gian biểu trực quan, đồng hồ đếm ngược (Visual Timer) và chia nhỏ bài tập.' : 'Chức năng điều hành và lập kế hoạch tương đối ổn định.') + '
' + '• 3. Tương tác Bạn bè (PR = ' + tMap.pr + 'T) & Kiểm soát Hành vi (AG = ' + tMap.ag + 'T): ' + (tMap.pr >= 65 ? 'Lưu ý: Ở trẻ có cả đặc điểm Tự kỷ (ASD) và ADHD, điểm PR (Quan hệ bạn bè) và EF (Chức năng điều hành) thường tăng rất cao (≥ 70T); cần kết hợp đối chiếu thêm với thang SRS-2 để can thiệp đồng thời kỹ năng xã hội và kiểm soát xung động.' : 'Quan hệ bạn bè và kiểm soát cảm xúc trong giới hạn cho phép.'); } updateFloatingFabVisibility(); } function applyPreset(type) { vanScores = {}; conScores = {}; vanderbiltItems.forEach(it => { vanScores[it.id] = (it.grp === 'perf') ? 3 : 0; }); connersItems.forEach(it => { conScores[it.id] = 0; }); if (type === 'reset' || type === 'normal') { if (type === 'normal') { vanderbiltItems.forEach((it, idx) => { if (it.grp !== 'perf') vanScores[it.id] = (idx % 4 === 0) ? 1 : 0; else vanScores[it.id] = 2; }); connersItems.forEach((it, idx) => { conScores[it.id] = (idx % 3 === 0) ? 1 : 0; }); } renderQuestions(); updateSummary(); return; } if (type === 'combined') { // ADHD Thể Hỗn hợp: 7/9 Giảm chú ý + 7/9 Tăng động + Suy giảm hiệu suất + EF/PR cao trên Conners-3 vanderbiltItems.forEach(it => { if (it.grp === 'ina') vanScores[it.id] = (it.id <= 7) ? 3 : 1; else if (it.grp === 'hyp') vanScores[it.id] = (it.id { if (it.sc === 'in' || it.sc === 'hy' || it.sc === 'ef') conScores[it.id] = 2; else if (it.sc === 'lp' || it.sc === 'pr') conScores[it.id] = 2; else conScores[it.id] = 1; }); } else if (type === 'inattentive') { // ADHD Thể Giảm chú ý đơn thuần: 8/9 Giảm chú ý, chỉ 2/9 Tăng động + EF & LP cao vanderbiltItems.forEach(it => { if (it.grp === 'ina') vanScores[it.id] = (it.id <= 8) ? 2 : 1; else if (it.grp === 'hyp') vanScores[it.id] = (it.id <= 11) ? 2 : 0; else if (it.grp === 'perf') vanScores[it.id] = (it.id { if (it.sc === 'in' || it.sc === 'ef' || it.sc === 'lp') conScores[it.id] = 2; else conScores[it.id] = 0; }); } else if (type === 'odd_comorbid') { // ADHD kèm Thách thức chống đối (ODD >= 5/8) vanderbiltItems.forEach(it => { if (it.grp === 'ina' || it.grp === 'hyp') vanScores[it.id] = 2; else if (it.grp === 'odd') vanScores[it.id] = (it.id = 52) ? 5 : 4; }); connersItems.forEach(it => { if (it.sc === 'in' || it.sc === 'hy' || it.sc === 'ag' || it.sc === 'pr') conScores[it.id] = 3; else conScores[it.id] = 2; }); } renderQuestions(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); adWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { adWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 980px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } shadow.querySelectorAll('#toolSwitcher .tool-btn').forEach(function(btn) { btn.onclick = function() { activeTool = this.getAttribute('data-tool'); shadow.querySelectorAll('#toolSwitcher .tool-btn').forEach(b => b.classList.remove('active')); this.classList.add('active'); renderHeaderAndTabs(); renderQuestions(); updateSummary(); }; }); shadow.querySelectorAll('.ad-pbtn').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-preset')); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); renderHeaderAndTabs(); applyPreset('combined'); })();
Thang đo NICHQ Vanderbilt (Vanderbilt ADHD Diagnostic Rating Scale — VADRS) và Thang đo Conners-3(Conners Comprehensive Behavior Rating Scales, 3rd Edition) là bộ đôi công cụ đánh giá Rối loạn Tăng động Giảm chú ý (ADHD) và các rối loạn hành vi đồng mắc (Bướng bỉnh chống đối – ODD, Rối loạn hành vi – CD, Lo âu/Trầm cảm, Chức năng điều hành) phổ biến nhất thế giới hiện nay.
Trong thực hành lâm sàng với trẻ Rối loạn phổ tự kỷ (ASD), nghiên cứu chỉ ra rằng có tới 40% – 70% trẻ tự kỷ đồng mắc các triệu chứng của ADHD. Do đó, việc sở hữu bộ đôi công cụ Vanderbilt và Conners-3 trên website sẽ giúp hoàn thiện mảnh ghép chẩn đoán phân biệt và chẩn đoán đồng mắc (DSM-5-TR đã chính thức cho phép chẩn đoán đồng mắc cả ASD và ADHD trên cùng một bệnh nhân).
1. So sánh lâm sàng giữa NICHQ Vanderbilt và Conners-3
[Ngôn ngữ] PLS-5 & CELF: Công cụ đánh giá chuyên sâu rối loạn ngôn ngữ và phân biệt Chậm nói đơn thuần với Tự kỷ
PLS-5 (Preschool Language Scales) hoặc CELF: Là hai công cụ đánh giá chuyên sâu về Rối loạn ngôn ngữ bao gồm cả ngôn ngữ hiểu và diễn đạt, giúp phân biệt trẻ Chậm nói đơn thuần với trẻ Tự kỷ.
(function() { const host = document.getElementById('slp-wp-host'); if (!host) return; const placeholder = document.createComment('slp-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // ========================================================= // PHẦN 1: DỮ LIỆU THANG ĐO NGÔN NGỮ MẦM NON PLS-5 (0 - 95 THÁNG / 0 - 7 TUỔI 11 THÁNG) // Chia thành 2 Thang chính: AC (Auditory Comprehension - 8 bậc) và EC (Expressive Communication - 8 bậc) // ========================================================= const pls5Items = [ // THANG 1: NGHE HIỂU THÍNH GIÁC (AUDITORY COMPREHENSION - AC • 8 BẬC TỪ 0 -> 84 THÁNG) { id: 1, scale: 'ac', refAge: 6, name: 'AC-1 (Mốc 0–9 tháng): Chú ý Thính giác & Phản ứng Tiền ngôn ngữ', desc: 'Trẻ quay đầu tìm nguồn âm thanh, nhìn chăm chú vào mặt người đang nói chuyện, hưởng ứng trò chơi Ú òa và hiểu giọng nói ngăn cản "Không!".' }, { id: 2, scale: 'ac', refAge: 14, name: 'AC-2 (Mốc 10–17 tháng): Hiểu Cử chỉ, Tên đồ vật quen thuộc & Mệnh lệnh 1 bước', desc: 'Quay lại ngay khi nghe gọi tên, nhìn theo hướng tay người lớn chỉ (Chú ý chung), chỉ đúng 3–5 bộ phận cơ thể/đồ vật quen thuộc và làm theo mệnh lệnh đơn ("Đưa bóng cho mẹ").' }, { id: 3, scale: 'ac', refAge: 22, name: 'AC-3 (Mốc 18–24 tháng): Chơi Biểu tượng, Chỉ tranh Danh từ/Động từ & Hiểu Giới từ cơ bản', desc: 'Biết chơi giả vờ với búp bê (cho ăn, ru ngủ), chỉ đúng 10–15 bức tranh danh từ và hành động (đang ăn, đang chạy, đang ngủ) trong sách tranh PLS-5, hiểu vị trí "Trong / Trên".' }, { id: 4, scale: 'ac', refAge: 32, name: 'AC-4 (Mốc 25–35 tháng): Hiểu Công dụng Đồ vật, Đại từ nhân xưng & Khái niệm Kích thước/Số lượng', desc: 'Chỉ đúng đồ vật theo công dụng ("Cái gì dùng để cắt/để uống?"), hiểu đại từ (Của con, Của cô, Anh ấy, Cô ấy), phân biệt To – Nhỏ, Một – Nhiều và làm theo mệnh lệnh 2 bước.' }, { id: 5, scale: 'ac', refAge: 44, name: 'AC-5 (Mốc 36–47 tháng / 3–4 tuổi): Hiểu Câu phủ định, Khái niệm Màu sắc, Không gian & Phân loại', desc: 'Hiểu câu phủ định ("Con nào KHÔNG biết bay?"), giới từ (Dưới, Cạnh, Trước, Sau), nhận diện 4 màu sắc, hiểu khái niệm cảm xúc và so sánh hơn.' }, { id: 6, scale: 'ac', refAge: 56, name: 'AC-6 (Mốc 48–59 tháng / 4–5 tuổi): Hiểu Câu phức, Câu bị động, Khái niệm Thời gian & Suy luận', desc: 'Hiểu các câu có mệnh đề phụ ("Trước khi..., Sau khi..."), phân biệt Sáng – Tối, Hôm qua – Ngày mai, đếm số lượng đến 5–10 và suy luận nguyên nhân tình huống.' }, { id: 7, scale: 'ac', refAge: 70, name: 'AC-7 (Mốc 60–71 tháng / 5–6 tuổi): Nghe hiểu Đoạn truyện ngắn, Nhận thức Âm vị & Khái niệm Thứ tự', desc: 'Nghe một đoạn truyện ngắn và trả lời đúng các câu hỏi chi tiết/suy luận, hiểu vị trí Đầu tiên – Ở giữa – Cuối cùng, nhận biết các từ bắt đầu cùng âm hoặc vần với nhau.' }, { id: 8, scale: 'ac', refAge: 84, name: 'AC-8 (Mốc 72–95 tháng / 6–7 tuổi): Hiểu Ngôn ngữ Học thuật, Thành ngữ/Ẩn dụ & Chỉ dẫn Phức hợp 3 bước', desc: 'Hiểu các cấu trúc câu phức tạp nhiều tầng, từ đồng nghĩa – trái nghĩa, suy luận ý định nhân vật (Thuyết tâm trí) và thực hiện chính xác chỉ dẫn đa bước.' }, // THANG 2: GIAO TIẾP DIỄN ĐẠT (EXPRESSIVE COMMUNICATION - EC • 8 BẬC TỪ 0 -> 84 THÁNG) { id: 9, scale: 'ec', refAge: 6, name: 'EC-1 (Mốc 0–9 tháng): Phát âm Tiền ngôn ngữ, Mỉm cười Xã hội & Bập bẹ Phụ âm – Nguyên âm', desc: 'Giao tiếp mắt mỉm cười, phát âm gù gù đáp trả và bập bẹ chuỗi âm tiết lặp lại ("ba-ba", "ma-ma", "đa-đa") với ít nhất 3–4 phụ âm khác nhau.' }, { id: 10, scale: 'ec', refAge: 14, name: 'EC-2 (Mốc 10–17 tháng): Giao tiếp Có chủ đích bằng Cử chỉ (Chỉ trỏ, Khoe đồ) & Nói 2–10 Từ đơn', desc: 'Chủ động chỉ ngón trỏ để yêu cầu hoặc chia sẻ sự chú ý kèm nhìn mắt, vẫy tay chào và nói chủ động từ 2 đến 10 từ đơn có nghĩa.' }, { id: 11, scale: 'ec', refAge: 22, name: 'EC-3 (Mốc 18–24 tháng): Vốn từ ≥ 50 từ, Gọi tên Tranh ảnh & Kết hợp Cụm 2–3 từ', desc: 'Gọi tên đúng các đồ vật quen thuộc trong sách PLS-5 và tự ghép 2–3 từ thành cụm từ có nghĩa ("Mẹ bế", "Uống sữa nữa", "Xe chạy kìa").' }, { id: 12, scale: 'ec', refAge: 32, name: 'EC-4 (Mốc 25–35 tháng): Nói Câu 3–4 từ, Đặt câu hỏi "Cái gì/Ở đâu?" & Dùng Đại từ/Giới từ', desc: 'Sử dụng câu có Chủ ngữ – Vị ngữ – Tân ngữ để mô tả tranh hành động, xưng "Con", dùng từ chỉ sở hữu và trả lời câu hỏi Ai / Cái gì / Đang làm gì.' }, { id: 13, scale: 'ec', refAge: 44, name: 'EC-5 (Mốc 36–47 tháng / 3–4 tuổi): Trả lời Câu hỏi "Tại sao/Như thế nào?", Giải thích Công dụng & Hội thoại', desc: 'Trả lời hợp lý câu hỏi "Tại sao con phải rửa tay?", "Khi đói con làm gì?", nói câu phức có từ nối ("và", "vì") và duy trì hội thoại qua lại 3–4 lượt.' }, { id: 14, scale: 'ec', refAge: 56, name: 'EC-6 (Mốc 48–59 tháng / 4–5 tuổi): Định nghĩa Từ vựng, Mô tả Điểm giống/khác nhau & Lặp lại câu dài', desc: 'Giải thích nghĩa của từ theo đặc điểm/danh mục, dùng đúng các từ chỉ thời gian quá khứ/tương lai và hoàn thành câu theo quy luật ngữ pháp.' }, { id: 15, scale: 'ec', refAge: 70, name: 'EC-7 (Mốc 60–71 tháng / 5–6 tuổi): Kể lại Câu chuyện có Mở – Thân – Kết theo Tranh & Giải quyết Vấn đề', desc: 'Sắp xếp và kể lại trọn vẹn câu chuyện theo chuỗi tranh một cách mạch lạc, trả lời câu hỏi xử lý tình huống xã hội và tách ghép âm tiết.' }, { id: 16, scale: 'ec', refAge: 84, name: 'EC-8 (Mốc 72–95 tháng / 6–7 tuổi): Đặt câu từ các Từ cho sẵn, Ngôn ngữ Trừu tượng & Thuyết phục', desc: 'Tự đặt câu hoàn chỉnh chứa 2–3 từ khóa cho trước (VD: "mặc dù... nhưng..."), giải thích từ đa nghĩa và sử dụng ngôn ngữ ngữ dụng linh hoạt.' } ]; // ========================================================= // PHẦN 2: DỮ LIỆU ĐÁNH GIÁ NGÔN NGỮ LÂM SÀNG CELF-5 (5 - 21 TUỔI • 10 TIỂU TRẮC NGHIỆM + PRAGMATICS) // Chấm trên thang Điểm chuẩn Tiểu trắc nghiệm Scaled Score (1 -> 19, Trung bình = 10, SD = 3) // ========================================================= const celf5Subtests = [ { id: 'SC', indices: ['CLS', 'RLI', 'LSI'], color: '#2563eb', name: '1. Hiểu Câu (Sentence Comprehension - SC) ★ [Thuộc CLS, RLI, LSI]', desc: 'Trẻ nghe một câu có cấu trúc ngữ pháp phức tạp dần và phải chỉ chọn đúng bức tranh tương ứng trong 4 bức tranh có các chi tiết gây nhiễu sát nhau.', measure: 'Đo lường khả năng giải mã cấu trúc ngữ pháp – cú pháp trong ngôn ngữ tiếp nhận.' }, { id: 'WC', indices: ['CLS', 'RLI', 'LCI'], color: '#0284c7', name: '2. Nhóm Từ / Quan hệ Từ vựng (Word Classes - WC) ★ [Thuộc CLS, RLI, LCI]', desc: 'Trẻ nhìn/nghe 3 – 4 từ (hoặc tranh) và phải chọn ra 2 từ có mối liên hệ ngữ nghĩa chặt chẽ nhất với nhau (VD: "Gối – Giường – Thước – Bút").', measure: 'Đo lường khả năng hiểu mối quan hệ ngữ nghĩa liên kết, phân loại khái niệm và suy luận từ vựng.' }, { id: 'FD', indices: ['CLS', 'RLI', 'LCI'], color: '#0d9488', name: '3. Làm theo Chỉ dẫn (Following Directions - FD) ★ [Thuộc CLS, RLI, LCI]', desc: 'Trẻ nghe một mệnh lệnh dài có chứa các khái niệm vị trí, thứ tự, kích thước, màu sắc và phải chỉ tay đúng vào các hình học theo đúng trình tự yêu cầu (VD: "Chỉ vào hình tròn màu đen thứ hai trước khi chỉ vào hình vuông lớn cuối cùng").', measure: 'Đo lường khả năng nghe hiểu chỉ dẫn phức hợp và trí nhớ làm việc ngôn ngữ ngắn hạn.' }, { id: 'WS', indices: ['CLS', 'ELI', 'LSI'], color: '#7c3aed', name: '4. Cấu trúc Từ / Hình thái – Ngữ pháp (Word Structure - WS) [Thuộc CLS, ELI, LSI]', desc: 'Người khám đọc một câu mẫu kèm tranh và bỏ lửng câu thứ hai để trẻ tự điền từ/cấu trúc ngữ pháp đúng (thì quá khứ/tương lai, từ chỉ số nhiều, sở hữu, so sánh, bị động).', measure: 'Đo lường khả năng vận dụng quy tắc ngữ pháp – hình thái học trong diễn đạt.' }, { id: 'RS', indices: ['CLS', 'ELI', 'LSI'], color: '#6d28d9', name: '5. Nhắc lại Câu (Recalling Sentences - RS) ★ [Thuộc CLS, ELI, LSI — Tiểu thang nhạy nhất với DLD]', desc: 'Trẻ nghe người khám đọc các câu có độ dài và độ phức tạp cú pháp tăng dần, sau đó phải nhắc lại nguyên văn từng chữ mà không được thêm bớt hay đổi từ.', measure: 'Chỉ báo lâm sàng nhạy bén số 1 thế giới để phát hiện Rối loạn Ngôn ngữ Phát triển (DLD): vì trẻ chỉ có thể nhắc lại câu dài nếu não bộ đã nắm vững cấu trúc cú pháp đó!' }, { id: 'FS', indices: ['CLS', 'ELI', 'LSI'], color: '#9333ea', name: '6. Đặt câu từ Từ khóa (Formulated Sentences - FS) ★ [Thuộc CLS, ELI, LSI]', desc: 'Trẻ nhìn một bức tranh bối cảnh sinh hoạt và phải tự đặt một câu nói hoàn chỉnh, đúng ngữ pháp, hợp ngữ cảnh có sử dụng 1 hoặc 2 từ khóa bắt buộc do người khám đưa ra (VD: đặt câu có từ "mặc dù" hoặc "trước khi").', measure: 'Đo lường khả năng lập kế hoạch cú pháp và diễn đạt câu phức trong ngữ cảnh thực tế.' }, { id: 'WD', indices: ['ELI', 'LCI'], color: '#10b981', name: '7. Định nghĩa Từ (Word Definitions - WD) [Thuộc ELI, LCI]', desc: 'Trẻ nghe một từ vựng trong câu và phải tự định nghĩa, giải thích chính xác ý nghĩa bản chất của từ đó bằng lời của mình.', measure: 'Đo lường độ sâu của vốn từ vựng diễn đạt và khả năng khái quát hóa ngôn ngữ.' }, { id: 'USP', indices: ['RLI', 'LCI'], color: '#059669', name: '8. Nghe hiểu Đoạn văn (Understanding Spoken Paragraphs - USP) [Thuộc RLI, LCI]', desc: 'Người khám đọc một đoạn truyện ngắn và hỏi trẻ các câu hỏi đánh giá: Ý chính, Chi tiết sự kiện, Trình tự, Suy luận nguyên nhân và Dự đoán điều sẽ xảy ra tiếp theo.', measure: 'Đo lường khả năng tích hợp thông tin ngôn ngữ bậc cao và suy luận văn bản.' }, { id: 'SR', indices: ['RLI', 'ELI', 'LCI'], color: '#f59e0b', name: '9. Quan hệ Ngữ nghĩa (Semantic Relationships - SR) [Thuộc LCI]', desc: 'Trẻ giải quyết các câu hỏi chứa mối quan hệ so sánh, không gian, thời gian và bị động phức tạp (VD: "Nam cao hơn Hùng nhưng thấp hơn Minh. Ai thấp nhất?").', measure: 'Đo lường khả năng xử lý logic ngữ nghĩa trừu tượng.' }, { id: 'PP', indices: ['PRAG'], color: '#dc2626', name: '10. Hồ sơ Ngôn ngữ Ngữ dụng (Pragmatics Profile & Pragmatics Activities - PP) ★ [Đặc hiệu cho ASD & SPCD]', desc: 'Đánh giá hơn 50 kỹ năng giao tiếp xã hội thực tế: giao tiếp mắt, đọc biểu cảm nét mặt/giọng điệu, biết bắt đầu – duy trì – chuyển chủ đề hội thoại, hiểu lời nói đùa/ẩn ý và xin lỗi/nhờ giúp đỡ phù hợp.', measure: 'Đo lường năng lực sử dụng ngôn ngữ trong tương tác xã hội (Ngữ dụng học — Pragmatics).' } ]; let activeTool = 'pls5'; // 'pls5' | 'celf5' let plsChildMonths = 36; // Tuổi thực cho PLS-5 (1 -> 95 tháng) // plsScores[id]: 2 (Đạt thành thạo), 1 (Đang hình thành), 0 (Chưa đạt) let plsScores = {}; // celfSS[id]: Scaled Score từ 1 đến 19 (Mean = 10, SD = 3) let celfSS = {}; let filterSub = 'all'; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .sl-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } .sl-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .sl-inner { padding: 24px; max-width: 980px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .sl-wrap.is-fullscreen .sl-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .sl-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 0 rgba(37, 99, 235, 0.4); } 70% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 10px rgba(37, 99, 235, 0); } 100% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 0 rgba(37, 99, 235, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #1d4ed8 0%, #2563eb 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Bộ chuyển đổi 2 Thang đo: PLS-5 vs CELF-5 */ .tool-switcher { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; background: #f1f5f9; padding: 10px; border-radius: 12px; margin-bottom: 18px; } .tool-btn { padding: 12px 14px; border-radius: 9px; border: 2px solid transparent; background: rgba(255, 255, 255, 0.7); cursor: pointer; text-align: left; transition: all 0.2s ease; touch-action: manipulation; } .tool-btn:hover { background: #ffffff; } .tool-btn.active { background: #ffffff; border-color: #2563eb; box-shadow: 0 3px 10px rgba(15, 23, 42, 0.08); } .tool-btn-title { font-size: 14.5px; font-weight: 800; color: #0f172a; display: block; } .tool-btn.active .tool-btn-title { color: #1d4ed8; } .tool-btn-sub { font-size: 12px; color: #64748b; margin-top: 3px; display: block; } .sl-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .sl-header-text { flex: 1 1 260px; } .sl-title { font-size: 20px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .sl-desc { font-size: 13.8px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #eff6ff; color: #1d4ed8; border: 1px solid #bfdbfe; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #2563eb; color: #ffffff; border-color: #2563eb; } .sl-controls { display: flex; flex-direction: column; gap: 10px; margin-bottom: 18px; } .sl-age-bar { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; background: #eff6ff; padding: 10px 14px; border-radius: 10px; border: 1px solid #bfdbfe; } .sl-select { padding: 7px 12px; border: 1px solid #2563eb; border-radius: 7px; font-size: 13.5px; font-weight: 700; color: #1e3a8a; background: #ffffff; } .sl-presets { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; } .sl-preset-lbl { font-size: 12.5px; font-weight: 700; color: #475569; margin-right: 4px; } .sl-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; touch-action: manipulation; } .sl-pbtn:hover { background: #f1f5f9; } .sl-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } /* Sticky Dashboard */ .sl-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .sl-wrap.is-fullscreen .sl-dash { top: 58px; } .sl-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .sl-score-big { font-size: 20px; font-weight: 800; line-height: 1.25; } .sl-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .sl-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .sl-pillars { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; font-size: 11.5px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .sl-pillar-box { background: #1e293b; padding: 7px 9px; border-radius: 8px; border-left: 3px solid #475569; } .sl-pillar-box.avg { border-left-color: #10b981; } .sl-pillar-box.mild { border-left-color: #f59e0b; background: rgba(245, 158, 11, 0.14); } .sl-pillar-box.sev { border-left-color: #ef4444; background: rgba(239, 68, 68, 0.16); } .sl-pillar-val { font-weight: 800; color: #ffffff; font-size: 13px; display: block; margin-top: 2px; } /* Danh sách mục */ .sl-item { border: 1px solid #e2e8f0; border-radius: 12px; padding: 14px 16px; margin-bottom: 12px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 8px; } .sl-item.pass-item { border-color: #a7f3d0; background: #f0fdf4; } .sl-item.mid-item { border-color: #fde68a; background: #fffbeb; } .sl-item.fail-item { border-color: #fca5a5; background: #fff5f5; } .sl-item-title { font-size: 15px; font-weight: 800; color: #0f172a; } .sl-item-desc { font-size: 13.4px; color: #334155; } .sl-tags { display: flex; flex-wrap: wrap; gap: 6px; } .sl-tag { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .sl-ans-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 2px; } .sl-ans-grid.grid-7 { grid-template-columns: repeat(7, 1fr); gap: 6px; } .sl-abtn { padding: 8px 6px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 700; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .sl-abtn:hover { border-color: #64748b; } .sl-abtn.sel-high { background: #2563eb; border-color: #2563eb; color: #ffffff; } .sl-abtn.sel-ok { background: #10b981; border-color: #10b981; color: #ffffff; } .sl-abtn.sel-warn { background: #f59e0b; border-color: #f59e0b; color: #ffffff; } .sl-abtn.sel-low { background: #ef4444; border-color: #ef4444; color: #ffffff; } /* Bảng Báo cáo Chuẩn Âm ngữ Trị liệu */ .sl-table-card { margin-top: 20px; padding: 16px 18px; border-radius: 12px; background: #ffffff; border: 1px solid #e2e8f0; overflow-x: auto; } .sl-table { width: 100%; border-collapse: collapse; font-size: 13px; min-width: 640px; } .sl-table th, .sl-table td { border: 1px solid #cbd5e1; padding: 8px 10px; text-align: center; } .sl-table th { background: #f1f5f9; font-weight: 800; color: #0f172a; } .sl-result-box { margin-top: 16px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #2563eb; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 780px) { .sl-inner { padding: 14px; } .tool-switcher { grid-template-columns: 1fr; } .sl-title { font-size: 18px; } .sl-pillars { grid-template-columns: 1fr 1fr; } .sl-ans-grid { grid-template-columns: 1fr; } .sl-ans-grid.grid-7 { grid-template-columns: repeat(4, 1fr); } .sl-pbtn.reset { margin-left: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
| Thang đo / Chỉ số Ngôn ngữ (Scale / Index) | Thành phần đánh giá | Điểm Chuẩn (Standard Score: 50–150) | Bách phân vị (Percentile) | Phân loại Mức độ Lâm sàng (SLP) |
|---|
1. Thang Đo Ngôn Ngữ Mầm Non PLS-5 — Preschool Language Scales, 5th Edition (0 Đến 7 Tuổi 11 Tháng)
' + '' + 'Công cụ tiêu chuẩn vàng của Zimmerman, Steiner & Pond (2011) đánh giá toàn diện từ giai đoạn tiền ngôn ngữ đến ngôn ngữ đầu tiểu học qua 2 thang: Nghe hiểu Thính giác (Auditory Comprehension - AC) và Giao tiếp Diễn đạt (Expressive Communication - EC), tổng hợp thành Tổng điểm Ngôn ngữ (Total Language Score - TLS).' + '
'; } else { plsAgeBar.style.display = 'none'; headerInfo.innerHTML = '2. Hệ Thống Đánh Giá Cơ Bản Ngôn Ngữ Lâm Sàng CELF-5 — Clinical Evaluation of Language Fundamentals (5 Đến 21 Tuổi)
' + '' + 'Công cụ chẩn đoán chuyên sâu của Wiig, Secord & Semel (2013) tính toán 5 Chỉ số Chuẩn hóa: Ngôn ngữ Cốt lõi (CLS), Tiếp nhận (RLI), Diễn đạt (ELI), Nội dung Ngữ nghĩa (LCI), Cấu trúc Ngữ pháp (LSI) và Hồ sơ Ngữ dụng (Pragmatics Profile).' + '
'; } } function renderItems() { itemList.innerHTML = ''; if (activeTool === 'pls5') { const curAge = parseInt(selPlsAge.value, 10) || 36; const plsBtns = [ { val: 2, lbl: 'Đạt thành thạo (Pass = 1.0)', cls: 'sel-ok' }, { val: 1, lbl: 'Đang hình thành (Emerging = 0.5)', cls: 'sel-warn' }, { val: 0, lbl: 'Chưa đạt (Fail = 0)', cls: 'sel-low' } ]; pls5Items.forEach(function(it) { const uVal = (plsScores[it.id] !== undefined) ? plsScores[it.id] : 0; const isAC = (it.scale === 'ac'); const badgeColor = isAC ? '#2563eb' : '#7c3aed'; const scaleLabel = isAC ? '1. Nghe hiểu Thính giác (Auditory Comprehension - AC)' : '2. Giao tiếp Diễn đạt (Expressive Communication - EC)'; let rowCls = 'sl-item '; if (uVal === 2) rowCls += 'pass-item'; else if (uVal === 1) rowCls += 'mid-item'; else if (it.refAge { const cls = 'sl-abtn' + (uVal === b.val ? ' ' + b.cls : ''); return ''; }).join(''); const ageNote = (it.refAge <= curAge) ? 'Mốc ≤ tuổi thực của bé (' + it.refAge + 'm ≤ ' + curAge + 'm)' : 'Mốc cao hơn tuổi hiện tại (' + it.refAge + 'm)'; const el = document.createElement('div'); el.className = rowCls; el.innerHTML = '' + '🎯 ' + st.measure + '
' + '• 2. Đề xuất Mục tiêu Can thiệp Âm ngữ Trị liệu (SLP): Tập trung dạy ngay tại bậc kỹ năng đầu tiên đang đạt mức Đang hình thành (1đ) hoặc Chưa đạt (0đ) ở bảng trên (Ưu tiên xây dựng Chú ý chung, Cử chỉ chỉ trỏ và Chơi biểu tượng trước khi ép trẻ nói câu dài).'; } else { // CELF-5 SUMMARY const ss = {}; celf5Subtests.forEach(st => { ss[st.id] = (celfSS[st.id] !== undefined) ? celfSS[st.id] : 10; }); // Tính 5 Chỉ số Chuẩn hóa của CELF-5 + Hồ sơ Ngữ dụng (PP) const indCLS = scaledAvgToStandard((ss.SC + ss.WC + ss.FD + ss.WS + ss.RS + ss.FS) / 6); const indRLI = scaledAvgToStandard((ss.SC + ss.WC + ss.FD + ss.USP) / 4); const indELI = scaledAvgToStandard((ss.WS + ss.RS + ss.FS + ss.WD) / 4); const indLCI = scaledAvgToStandard((ss.WC + ss.FD + ss.WD + ss.USP + ss.SR) / 5); const indLSI = scaledAvgToStandard((ss.SC + ss.WS + ss.RS + ss.FS) / 4); const indPRAG = scaledAvgToStandard(ss.PP); const cCLS = classifyLangStandardScore(indCLS); const cRLI = classifyLangStandardScore(indRLI); const cELI = classifyLangStandardScore(indELI); const cLCI = classifyLangStandardScore(indLCI); const cLSI = classifyLangStandardScore(indLSI); const cPRAG = classifyLangStandardScore(indPRAG); dashHeadline.textContent = 'CELF-5 Ngôn Ngữ Cốt Lõi (CLS): ' + indCLS + ' • Tiếp Nhận (RLI): ' + indRLI + ' • Diễn Đạt (ELI): ' + indELI; dashSub.textContent = 'Nội dung Ngữ nghĩa (LCI): ' + indLCI + ' • Cấu trúc Cú pháp (LSI): ' + indLSI + ' • Hồ sơ Ngữ dụng (PP): ' + indPRAG; dashPillars.innerHTML = '
' + ' Trẻ có năng lực từ vựng và ngữ pháp cấu trúc hoàn toàn bình thường (CLS = ' + indCLS + ', LSI = ' + indLSI + '), nhưng lại sụt giảm nặng ở Hồ sơ Ngữ dụng (Pragmatics Profile = ' + indPRAG + ' ≤ 77). Trẻ nói được câu dài đúng ngữ pháp nhưng không biết cách dùng ngôn ngữ để hội thoại qua lại, không hiểu ẩn ý/nói đùa và thiếu tinh tế xã hội.'; } else if (indCLS = 86) { diffAnalysis = '• 🔍 Phát hiện Kiểu hình Điển hình của Rối loạn Ngôn ngữ Phát triển (DLD — Mã ICD-11: 6A01.2):
' + ' Trẻ bị suy giảm rõ rệt ở Ngôn ngữ Cốt lõi (CLS = ' + indCLS + ') và tiểu thang Nhắc lại câu (RS = ' + ss.RS + '), nhưng Hồ sơ Ngữ dụng và ý định giao tiếp xã hội vẫn tốt (PP = ' + indPRAG + ' ≥ 86). Điều này giúp phân biệt DLD thuần túy với Rối loạn phổ tự kỷ!'; } else if (indCLS <= 77 && indPRAG <= 77) { diffAnalysis = '• 🚨 Ghi nhận Suy giảm Kép cả Cấu trúc Ngôn ngữ (CLS = ' + indCLS + ') lẫn Ngữ dụng Xã hội (PP = ' + indPRAG + '):
' + ' Thường gặp ở trẻ Rối loạn phổ tự kỷ có kèm suy giảm ngôn ngữ chức năng (Mã ICD-11: 6A02.2 / DSM-5-TR). Cần can thiệp đồng thời cả mở rộng cấu trúc câu/từ vựng lẫn kỹ năng tương tác hội thoại xã hội.'; } else { diffAnalysis = '• ✓ Hồ sơ Ngôn ngữ Học đường Ổn định: Cả 5 chỉ số ngôn ngữ cốt lõi và kỹ năng ngữ dụng đều nằm trong giới hạn bình thường của lứa tuổi.'; } resultBox.innerHTML = '
' + '• So sánh Nội dung Ngữ nghĩa (LCI = ' + indLCI + ') vs. Cấu trúc Cú pháp (LSI = ' + indLSI + '): ' + (Math.abs(indLCI - indLSI) >= 15 ? (indLCI > indLSI ? 'Vốn từ vựng ngữ nghĩa tốt hơn hẳn khả năng sắp xếp ngữ pháp câu (Cần tập trung rèn cú pháp đặt câu).' : 'Cấu trúc câu máy móc tốt hơn sự thấu hiểu sâu về ngữ nghĩa/đoạn văn (Hiện tượng Hyperlexia thường gặp ở trẻ ASD).') : 'Phát triển tương đối đồng đều giữa từ vựng ngữ nghĩa và cấu trúc ngữ pháp.'); } updateFloatingFabVisibility(); } function applyPreset(type) { plsScores = {}; celfSS = {}; const curAge = parseInt(selPlsAge.value, 10) || 36; if (type === 'reset') { pls5Items.forEach(it => { plsScores[it.id] = 0; }); celf5Subtests.forEach(st => { celfSS[st.id] = 10; }); renderItems(); updateSummary(); return; } if (type === 'normal') { pls5Items.forEach(it => { plsScores[it.id] = (it.refAge <= curAge) ? 2 : ((it.refAge { celfSS[st.id] = 10; }); } else if (type === 'exp_delay') { // Nghe hiểu tốt (AC / RLI ~100), nhưng Diễn đạt thấp (EC / ELI ~68) pls5Items.forEach(it => { if (it.scale === 'ac') { plsScores[it.id] = (it.refAge <= curAge) ? 2 : 0; } else { plsScores[it.id] = (it.refAge <= curAge * 0.55) ? 2 : 0; } }); celfSS = { SC: 10, WC: 10, FD: 10, USP: 10, SR: 10, WS: 5, RS: 5, FS: 5, WD: 7, PP: 10 }; } else if (type === 'dld_severe') { // Rối loạn ngôn ngữ hỗn hợp (Cả tiếp nhận và diễn đạt đều thấp { plsScores[it.id] = (it.refAge { if (it.id === 2 || it.id === 3 || it.id === 10 || it.id === 13) plsScores[it.id] = 1; else plsScores[it.id] = (it.refAge <= curAge) ? 2 : 0; }); celfSS = { SC: 12, WC: 12, FD: 10, WS: 12, RS: 12, FS: 10, WD: 10, USP: 5, SR: 7, PP: 3 }; } renderItems(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); slWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { slWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 980px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } shadow.querySelectorAll('#toolSwitcher .tool-btn').forEach(function(btn) { btn.onclick = function() { activeTool = this.getAttribute('data-tool'); shadow.querySelectorAll('#toolSwitcher .tool-btn').forEach(b => b.classList.remove('active')); this.classList.add('active'); renderHeader(); renderItems(); updateSummary(); }; }); selPlsAge.onchange = () => { applyPreset('exp_delay'); }; shadow.querySelectorAll('.sl-pbtn').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-preset')); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); renderHeader(); applyPreset('asd_prag'); })();
PLS-5 (Preschool Language Scales, Fifth Edition) và CELF-5 / CELF-P3 (Clinical Evaluation of Language Fundamentals) là bộ đôi “Tiêu chuẩn vàng” (Gold Standard) toàn cầu trong chuyên ngành Âm ngữ Trị liệu (Speech-Language Pathology – SLP) để đánh giá chẩn đoán toàn diện các rối loạn ngôn ngữ phát triển, chậm nói và khiếm khuyết ngôn ngữ ngữ dụng ở trẻ Tự kỷ (ASD), Rối loạn ngôn ngữ phát triển (DLD) và ADHD.
Trong thực hành lâm sàng, hai công cụ này tạo thành một trục nối tiếp hoàn hảo theo độ tuổi: PLS-5 bao phủ giai đoạn từ sơ sinh đến 7 tuổi, và CELF-5 tiếp nối từ 5 tuổi đến 21 tuổi.
1. So sánh lâm sàng giữa PLS-5 và CELF-5
[Cảm xúc - Hành vi] CBCL (Achenbach): Bảng kiểm đánh giá tổng thể các vấn đề cảm xúc và hành vi ở trẻ (1.5 – 18 tuổi)
CBCL (Child Behavior Checklist – Bảng kiểm hành vi trẻ em Achenbach): Đánh giá tổng thể các vấn đề cảm xúc và hành vi (lo âu, trầm cảm, chống đối, thu mình…) ở trẻ từ 1.5 đến 18 tuổi.
(function() { const host = document.getElementById('cbcl-wp-host'); if (!host) return; const placeholder = document.createComment('cbcl-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // ========================================================= // 1. CẤU HÌNH BẢN MẦM NON CBCL/1.5-5 (18 THÁNG - 5 TUỔI • 7 THANG HỘI CHỨNG) // ========================================================= const preschoolScales = { er: { code: 'er', broad: 'int', dsm: 'asd', name: '1. Phản ứng Cảm xúc (Emotionally Reactive - ER)', color: '#2563eb' }, ad: { code: 'ad', broad: 'int', dsm: 'anx', name: '2. Lo âu / Trầm cảm (Anxious/Depressed - AD)', color: '#0284c7' }, sc: { code: 'sc', broad: 'int', dsm: 'som', name: '3. Than phiền Cơ thể (Somatic Complaints - SC)', color: '#0d9488' }, wi: { code: 'wi', broad: 'int', dsm: 'asd', name: '4. Thu mình / Cô lập (Withdrawn - WI ★ Tự kỷ)', color: '#7c3aed' }, sl: { code: 'sl', broad: 'oth', dsm: 'slp', name: '5. Các Vấn đề Giấc ngủ (Sleep Problems - SL)', color: '#6366f1' }, ap: { code: 'ap', broad: 'ext', dsm: 'adh', name: '6. Các Vấn đề Chú ý (Attention Problems - AP)', color: '#f59e0b' }, ag: { code: 'ag', broad: 'ext', dsm: 'odd', name: '7. Hành vi Hung tính (Aggressive Behavior - AG)', color: '#dc2626' } }; // 42 mục cốt lõi đại diện đầy đủ 7 Thang Hội chứng của CBCL/1.5-5 (Mỗi thang 6 mục trọng tâm, chấm 0-1-2) const preschoolItems = [ // 1. PHẢN ỨNG CẢM XÚC (EMOTIONALLY REACTIVE - ER • Thuộc INTERNALIZING & DSM-ASD) { id: 1, sc: 'er', dsmASD: true, t: 'Rất căng thẳng, hoảng loạn hoặc khóc thét khi có sự thay đổi trong lịch trình/thói quen hàng ngày.' }, { id: 2, sc: 'er', dsmASD: true, t: 'Bối rối, kích động khi người thân hoặc đồ vật bị chuyển sang vị trí khác với mọi khi.' }, { id: 3, sc: 'er', dsmASD: false, t: 'Tâm trạng thay đổi thất thường, đột ngột chuyển từ vui sang buồn/cáu gắt không rõ lý do.' }, { id: 4, sc: 'er', dsmASD: false, t: 'Quá lo lắng, bồn chồn hoặc dễ bị kích động cảm xúc.' }, { id: 5, sc: 'er', dsmASD: false, t: 'Có những biểu hiện co giật cơ mặt hoặc cử động căng thẳng khi xúc động.' }, { id: 6, sc: 'er', dsmASD: false, t: 'Rên rỉ, mếu máo hoặc dỗi hờn kéo dài.' }, // 2. LO ÂU / TRẦM CẢM (ANXIOUS/DEPRESSED - AD • Thuộc INTERNALIZING) { id: 7, sc: 'ad', dsmASD: false, t: 'Bám dính lấy người lớn hoặc quá phụ thuộc không chịu rời bố mẹ.' }, { id: 8, sc: 'ad', dsmASD: false, t: 'Cảm xúc dễ bị tổn thương, rất nhạy cảm trước lời phê bình hay nhắc nhở nhẹ.' }, { id: 9, sc: 'ad', dsmASD: false, t: 'Quá sợ hãi trước một số con vật, tình huống hoặc nơi chốn nhất định.' }, { id: 10, sc: 'ad', dsmASD: false, t: 'Trông có vẻ buồn bã, không vui hoặc ủ rũ.' }, { id: 11, sc: 'ad', dsmASD: false, t: 'Ngượng ngùng, tự ti hoặc quá sợ sệt khi gặp người lạ.' }, { id: 12, sc: 'ad', dsmASD: false, t: 'Quá căng thẳng khi bị tách khỏi bố mẹ (như khi đến lớp mầm non).' }, // 3. THAN PHIỀN CƠ THỂ (SOMATIC COMPLAINTS - SC • Thuộc INTERNALIZING) { id: 13, sc: 'sc', dsmASD: false, t: 'Hay bị đau nhức cơ thể (đau đầu, đau chân tay) mà bác sĩ khám không tìm ra nguyên nhân thực tổn.' }, { id: 14, sc: 'sc', dsmASD: false, t: 'Hay bị đau bụng hoặc co thắt dạ dày khi căng thẳng.' }, { id: 15, sc: 'sc', dsmASD: false, t: 'Táo bón kéo dài hoặc giữ phân không chịu đi tiêu.' }, { id: 16, sc: 'sc', dsmASD: false, t: 'Buồn nôn, nôn ọe mà không do bệnh lý tiêu hóa.' }, { id: 17, sc: 'sc', dsmASD: false, t: 'Quá cầu toàn về sự sạch sẽ hoặc khó chịu cực mức khi quần áo/tay dính bẩn.' }, { id: 18, sc: 'sc', dsmASD: true, t: 'Kháng cự mạnh hoặc đau khổ trước một số âm thanh, mùi vị hoặc kết cấu thức ăn.' }, // 4. THU MÌNH / CÔ LẬP (WITHDRAWN - WI • Thuộc INTERNALIZING & ĐẶC HIỆU CHO DSM-5 AUTISM SPECTRUM) { id: 19, sc: 'wi', dsmASD: true, t: 'Tránh nhìn vào mắt người đối diện (Giao tiếp ánh mắt kém).' }, { id: 20, sc: 'wi', dsmASD: true, t: 'Không trả lời hoặc không quay lại khi người khác gọi tên hay nói chuyện cùng.' }, { id: 21, sc: 'wi', dsmASD: true, t: 'Ít thể hiện tình cảm ấm áp, âu yếm với người thân.' }, { id: 22, sc: 'wi', dsmASD: true, t: 'Có vẻ như đang ở trong thế giới riêng, thờ ơ không quan tâm đến những người xung quanh.' }, { id: 23, sc: 'wi', dsmASD: true, t: 'Từ chối tham gia các trò chơi vận động tương tác cùng trẻ khác (thích lủi thủi một mình).' }, { id: 24, sc: 'wi', dsmASD: true, t: 'Có những hành vi lặp đi lặp lại (đung đưa người, vẫy tay, xoay đồ vật) hoặc nhại lời.' }, // 5. VẤN ĐỀ GIẤC NGỦ (SLEEP PROBLEMS - SL) { id: 25, sc: 'sl', dsmASD: false, t: 'Không muốn ngủ một mình hoặc kháng cự việc lên giường đi ngủ vào buổi tối.' }, { id: 26, sc: 'sl', dsmASD: false, t: 'Rất khó đi vào giấc ngủ (trằn trọc lâu mới ngủ được).' }, { id: 27, sc: 'sl', dsmASD: false, t: 'Hay gặp ác mộng hoặc giật mình hoảng sợ khóc thét ban đêm.' }, { id: 28, sc: 'sl', dsmASD: false, t: 'Ngủ ít hơn hẳn so với đa số trẻ cùng độ tuổi (cả ngày lẫn đêm).' }, { id: 29, sc: 'sl', dsmASD: false, t: 'Thường xuyên thức giấc dậy giữa đêm và khó ngủ lại.' }, { id: 30, sc: 'sl', dsmASD: false, t: 'Nói mớ hoặc khóc lóc trong lúc đang ngủ.' }, // 6. VẤN ĐỀ CHÚ Ý (ATTENTION PROBLEMS - AP • Thuộc EXTERNALIZING & DSM-ADHD) { id: 31, sc: 'ap', dsmASD: false, t: 'Không thể tập trung chú ý lâu vào một hoạt động hoặc món đồ chơi.' }, { id: 32, sc: 'ap', dsmASD: false, t: 'Không thể ngồi yên được một lúc, luôn bồn chồn tăng động.' }, { id: 33, sc: 'ap', dsmASD: false, t: 'Nhanh chóng chuyển từ món đồ chơi này sang món đồ chơi khác mà không chơi trọn vẹn.' }, { id: 34, sc: 'ap', dsmASD: false, t: 'Đi lang thang hoặc chạy vụt đi mất mà không để ý an toàn.' }, { id: 35, sc: 'ap', dsmASD: false, t: 'Vụng về, phối hợp vận động kém hoặc hay làm rơi vỡ đồ vật do hấp tấp.' }, { id: 36, sc: 'ap', dsmASD: true, t: 'Chậm nói hoặc lời nói phát âm rất khó hiểu so với tuổi.' }, // 7. HÀNH VI HUNG TÍNH (AGGRESSIVE BEHAVIOR - AG • Thuộc EXTERNALIZING & DSM-ODD) { id: 37, sc: 'ag', dsmASD: false, t: 'Không thể chờ đợi, đòi hỏi mọi thứ mình muốn phải được đáp ứng ngay lập tức.' }, { id: 38, sc: 'ag', dsmASD: false, t: 'Bướng bỉnh, chống đối và không vâng lời người lớn.' }, { id: 39, sc: 'ag', dsmASD: false, t: 'Đánh, cắn, cấu hoặc xô đẩy người khác khi không vừa ý.' }, { id: 40, sc: 'ag', dsmASD: false, t: 'Đập phá đồ chơi của mình hoặc đồ đạc trong nhà.' }, { id: 41, sc: 'ag', dsmASD: false, t: 'Nổi cơn tam bành, ăn vạ giãy giụa dữ dội và la hét lớn.' }, { id: 42, sc: 'ag', dsmASD: false, t: 'Ích kỷ, không chịu chia sẻ đồ chơi hoặc dễ nổi giận khi bị nhắc nhở.' } ]; // ========================================================= // 2. CẤU HÌNH BẢN HỌC ĐƯỜNG CBCL/6-18 (6 - 18 TUỔI • 8 THANG HỘI CHỨNG) // ========================================================= const schoolScales = { ad: { code: 'ad', broad: 'int', name: '1. Lo âu / Trầm cảm (Anxious/Depressed - AD)', color: '#2563eb' }, wd: { code: 'wd', broad: 'int', name: '2. Thu mình / Trầm cảm (Withdrawn/Depressed - WD)', color: '#4f46e5' }, sc: { code: 'sc', broad: 'int', name: '3. Than phiền Cơ thể (Somatic Complaints - SC)', color: '#0d9488' }, sp: { code: 'sp', broad: 'oth', name: '4. Các Vấn đề Xã hội (Social Problems - SP)', color: '#0284c7' }, tp: { code: 'tp', broad: 'oth', name: '5. Các Vấn đề Tư duy (Thought Problems - TP ★ Ám ảnh/ASD)', color: '#7c3aed' }, ap: { code: 'ap', broad: 'oth', name: '6. Các Vấn đề Chú ý (Attention Problems - AP ★ ADHD)', color: '#f59e0b' }, rb: { code: 'rb', broad: 'ext', name: '7. Hành vi Phá vỡ Quy tắc (Rule-Breaking Behavior - RB)', color: '#ea580c' }, ag: { code: 'ag', broad: 'ext', name: '8. Hành vi Hung tính (Aggressive Behavior - AG)', color: '#dc2626' } }; // 48 mục cốt lõi đại diện đầy đủ 8 Thang Hội chứng của CBCL/6-18 (Mỗi thang 6 mục trọng tâm, chấm 0-1-2) const schoolItems = [ // 1. LO ÂU / TRẦM CẢM (ANXIOUS/DEPRESSED - AD • Thuộc INTERNALIZING & CBCL-DP) { id: 101, sc: 'ad', t: 'Khóc nhiều hoặc dễ bật khóc trước những chuyện nhỏ.' }, { id: 102, sc: 'ad', t: 'Sợ rằng mình có thể nghĩ hoặc làm điều gì đó sai trái; đòi hỏi bản thân phải hoàn hảo.' }, { id: 103, sc: 'ad', t: 'Cảm thấy không ai yêu thương mình hoặc cảm thấy bản thân vô giá trị, kém cỏi.' }, { id: 104, sc: 'ad', t: 'Căng thẳng, hồi hộp, sợ hãi hoặc lo âu quá mức.' }, { id: 105, sc: 'ad', t: 'Cảm thấy quá tội lỗi hoặc tự trách bản thân.' }, { id: 106, sc: 'ad', t: 'Hay lo lắng triền miên về việc học tập, gia đình hoặc tương lai.' }, // 2. THU MÌNH / TRẦM CẢM (WITHDRAWN/DEPRESSED - WD • Thuộc INTERNALIZING) { id: 107, sc: 'wd', t: 'Có rất ít điều khiến trẻ cảm thấy hứng thú hoặc vui vẻ.' }, { id: 108, sc: 'wd', t: 'Thích ở một mình hơn là ở cùng với những người khác.' }, { id: 109, sc: 'wd', t: 'Từ chối nói chuyện, thu mình khép kín và không chia sẻ tâm sự với ai.' }, { id: 110, sc: 'wd', t: 'Trông uể oải, hoạt động chậm chạp và thiếu năng lượng sống.' }, { id: 111, sc: 'wd', t: 'Buồn bã, ủ rũ hoặc trầm uất.' }, { id: 112, sc: 'wd', t: 'Nhút nhát, rụt rè và tránh tham gia các hoạt động tập thể.' }, // 3. THAN PHIỀN CƠ THỂ (SOMATIC COMPLAINTS - SC • Thuộc INTERNALIZING) { id: 113, sc: 'sc', t: 'Cảm thấy chóng mặt, choáng váng hoặc mệt mỏi quá mức mà không rõ lý do.' }, { id: 114, sc: 'sc', t: 'Than phiền bị đau nhức cơ thể (đau đầu, đau bụng, đau mỏi) không rõ nguyên nhân y khoa.' }, { id: 115, sc: 'sc', t: 'Buồn nôn, cảm thấy ốm hoặc khó chịu ở dạ dày khi áp lực đi học.' }, { id: 116, sc: 'sc', t: 'Than phiền về các vấn đề ở mắt hoặc da không do bệnh lý thực thể.' }, { id: 117, sc: 'sc', t: 'Hay gặp ác mộng hoặc rối loạn giấc ngủ đi kèm mệt mỏi cơ thể.' }, { id: 118, sc: 'sc', t: 'Than phiền tim đập nhanh hoặc khó thở khi căng thẳng.' }, // 4. VẤN ĐỀ XÃ HỘI (SOCIAL PROBLEMS - SP) { id: 119, sc: 'sp', t: 'Hành xử quá trẻ con, ngây ngô hơn nhiều so với độ tuổi thực.' }, { id: 120, sc: 'sp', t: 'Không hòa đồng với các trẻ khác, khó kết bạn đồng trang lứa.' }, { id: 121, sc: 'sp', t: 'Hay bị bạn bè trêu chọc, bắt nạt hoặc không được các bạn khác quý mến.' }, { id: 122, sc: 'sp', t: 'Thích chơi với những em nhỏ tuổi hơn mình thay vì bạn cùng tuổi.' }, { id: 123, sc: 'sp', t: 'Vụng về trong vận động và giao tiếp, dễ bị ngã hoặc gây tai nạn nhỏ.' }, { id: 124, sc: 'sp', t: 'Hay ghen tị hoặc cảm thấy người khác đang cố tình chống lại mình.' }, // 5. VẤN ĐỀ TƯ DUY (THOUGHT PROBLEMS - TP • Đặc trưng trong ASD, OCD & Tics) { id: 125, sc: 'tp', t: 'Không thể dứt đầu óc ra khỏi một số suy nghĩ hoặc ý tưởng ám ảnh nhất định (Obsessions).' }, { id: 126, sc: 'tp', t: 'Lặp đi lặp lại một số hành động hoặc nghi thức cố định liên tục (Compulsions / Stereotypies).' }, { id: 127, sc: 'tp', t: 'Có những hành vi kỳ lạ hoặc những ý tưởng khác thường.' }, { id: 128, sc: 'tp', t: 'Nhìn chằm chằm vào khoảng không hoặc có các cử động máy giật (Tics) / cạy da / xoay đồ vật.' }, { id: 129, sc: 'tp', t: 'Tích trữ nhiều đồ vật không cần thiết hoặc gắn bó kỳ lạ với một số đồ vật.' }, { id: 130, sc: 'tp', t: 'Gặp các vấn đề nghiêm trọng về giấc ngủ (mộng du, nói mớ, thức đêm).' }, // 6. VẤN ĐỀ CHÚ Ý (ATTENTION PROBLEMS - AP • Đặc trưng trong ADHD & CBCL-DP) { id: 131, sc: 'ap', t: 'Không thể tập trung, không thể duy trì sự chú ý lâu vào bài học hoặc công việc.' }, { id: 132, sc: 'ap', t: 'Không thể ngồi yên, luôn bồn chồn, ngọ nguậy hoặc tăng động.' }, { id: 133, sc: 'ap', t: 'Hay bối rối, lơ đãng hoặc đắm chìm trong mơ màng giữa giờ học.' }, { id: 134, sc: 'ap', t: 'Hấp tấp, bốc đồng, hành động mà không kịp suy nghĩ trước.' }, { id: 135, sc: 'ap', t: 'Không hoàn thành những việc đã bắt đầu làm; kết quả học tập ở trường kém.' }, { id: 136, sc: 'ap', t: 'Vụng về hoặc gặp khó khăn trong việc tổ chức sắp xếp công việc.' }, // 7. HÀNH VI PHÁ VỠ QUY TẮC (RULE-BREAKING BEHAVIOR - RB • Thuộc EXTERNALIZING) { id: 137, sc: 'rb', t: 'Không cảm thấy có lỗi hay hối hận sau khi đã hành xử sai trái.' }, { id: 138, sc: 'rb', t: 'Phá vỡ các nội quy ở nhà, ở trường hoặc ngoài xã hội.' }, { id: 139, sc: 'rb', t: 'Giao du với những nhóm bạn hay gây rắc rối.' }, { id: 140, sc: 'rb', t: 'Nói dối hoặc gian lận để trốn tránh trách nhiệm.' }, { id: 141, sc: 'rb', t: 'Lấy cắp đồ ở nhà hoặc bên ngoài; hoặc trốn học không xin phép.' }, { id: 142, sc: 'rb', t: 'Nói tục, chửi thề hoặc thích nghịch lửa.' }, // 8. HÀNH VI HUNG TÍNH (AGGRESSIVE BEHAVIOR - AG • Thuộc EXTERNALIZING & CBCL-DP) { id: 143, sc: 'ag', t: 'Hay tranh cãi tay đôi và bất tuân lời người lớn ở nhà/ở trường.' }, { id: 144, sc: 'ag', t: 'Bắt nạt, hung hăng hoặc đe dọa người khác.' }, { id: 145, sc: 'ag', t: 'Phá hỏng đồ đạc của chính mình hoặc của gia đình/người khác.' }, { id: 146, sc: 'ag', t: 'Đánh nhau hoặc tấn công thể xác người khác khi tức giận.' }, { id: 147, sc: 'ag', t: 'Nóng nảy, hay nổi cơn thịnh nộ, la hét ầm ĩ và đòi hỏi phải được chiều ý ngay.' }, { id: 148, sc: 'ag', t: 'Bướng bỉnh, lì lợm, cau có và dễ bị kích động.' } ]; let activeForm = 'preschool'; // 'preschool' (CBCL/1.5-5) | 'school' (CBCL/6-18) let filterSub = 'all'; let scoresPreschool = {}; // 0, 1, 2 let scoresSchool = {}; // 0, 1, 2 let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .cb-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } .cb-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .cb-inner { padding: 24px; max-width: 980px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .cb-wrap.is-fullscreen .cb-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .cb-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 0 rgba(37, 99, 235, 0.4); } 70% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 10px rgba(37, 99, 235, 0); } 100% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 0 rgba(37, 99, 235, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #1d4ed8 0%, #2563eb 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Bộ chuyển đổi 2 Phiên bản CBCL */ .form-switcher { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; background: #f1f5f9; padding: 10px; border-radius: 12px; margin-bottom: 18px; } .form-btn { padding: 12px 14px; border-radius: 9px; border: 2px solid transparent; background: rgba(255, 255, 255, 0.7); cursor: pointer; text-align: left; transition: all 0.2s ease; touch-action: manipulation; } .form-btn:hover { background: #ffffff; } .form-btn.active { background: #ffffff; border-color: #2563eb; box-shadow: 0 3px 10px rgba(15, 23, 42, 0.08); } .form-btn-title { font-size: 14.5px; font-weight: 800; color: #0f172a; display: block; } .form-btn.active .form-btn-title { color: #1d4ed8; } .form-btn-sub { font-size: 12px; color: #64748b; margin-top: 3px; display: block; } .cb-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .cb-header-text { flex: 1 1 260px; } .cb-title { font-size: 20px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .cb-desc { font-size: 13.8px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #eff6ff; color: #1d4ed8; border: 1px solid #bfdbfe; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #2563eb; color: #ffffff; border-color: #2563eb; } .cb-controls { display: flex; flex-direction: column; gap: 10px; margin-bottom: 18px; } .cb-presets { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; } .cb-preset-lbl { font-size: 12.5px; font-weight: 700; color: #475569; margin-right: 4px; } .cb-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; touch-action: manipulation; } .cb-pbtn:hover { background: #f1f5f9; } .cb-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } .cb-sub-tabs { display: flex; flex-wrap: wrap; gap: 6px; } .cb-stab { padding: 6px 11px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .cb-stab.active { background: #2563eb; color: #ffffff; border-color: #2563eb; } /* Sticky Dashboard */ .cb-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .cb-wrap.is-fullscreen .cb-dash { top: 58px; } .cb-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .cb-score-big { font-size: 20px; font-weight: 800; line-height: 1.25; } .cb-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .cb-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .cb-pillars { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; font-size: 11.5px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .cb-pillar-box { background: #1e293b; padding: 7px 9px; border-radius: 8px; border-left: 3px solid #475569; } .cb-pillar-box.norm { border-left-color: #10b981; } .cb-pillar-box.bord { border-left-color: #f59e0b; background: rgba(245, 158, 11, 0.14); } .cb-pillar-box.clin { border-left-color: #ef4444; background: rgba(239, 68, 68, 0.16); } .cb-pillar-val { font-weight: 800; color: #ffffff; font-size: 13.5px; display: block; margin-top: 2px; } /* Danh sách câu hỏi */ .cb-item { border: 1px solid #e2e8f0; border-radius: 10px; padding: 13px 15px; margin-bottom: 10px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 8px; } .cb-item.pts-2 { border-color: #fda4af; background: #fff5f5; } .cb-item.pts-1 { border-color: #fde68a; background: #fffbeb; } .cb-item-title { font-size: 14.5px; font-weight: 600; color: #1e293b; } .cb-tags { display: flex; flex-wrap: wrap; gap: 6px; } .cb-tag { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .cb-ans-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; } .cb-abtn { padding: 8px 6px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 700; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .cb-abtn:hover { border-color: #64748b; } .cb-abtn.sel-0 { background: #10b981; border-color: #10b981; color: #ffffff; } .cb-abtn.sel-1 { background: #f59e0b; border-color: #f59e0b; color: #ffffff; } .cb-abtn.sel-2 { background: #ef4444; border-color: #ef4444; color: #ffffff; } /* Biểu đồ T-Score các Thang Hội chứng */ .cb-chart-card { margin-top: 20px; padding: 16px 18px; border-radius: 12px; background: #ffffff; border: 1px solid #e2e8f0; } .cb-bar-row { display: flex; align-items: center; gap: 10px; margin-bottom: 9px; font-size: 12.5px; } .cb-bar-lbl { width: 280px; flex-shrink: 0; font-weight: 600; color: #334155; } .cb-bar-track { flex: 1; height: 16px; background: #f1f5f9; border-radius: 999px; overflow: hidden; } .cb-bar-val { width: 155px; text-align: right; font-weight: 700; color: #0f172a; flex-shrink: 0; } .cb-result-box { margin-top: 16px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #2563eb; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 780px) { .cb-inner { padding: 14px; } .form-switcher { grid-template-columns: 1fr; } .cb-title { font-size: 18px; } .cb-pillars { grid-template-columns: 1fr 1fr; } .cb-ans-grid { grid-template-columns: 1fr; } .cb-bar-lbl { width: 145px; font-size: 11.5px; } .cb-bar-val { width: 115px; font-size: 11px; } .cb-pbtn.reset { margin-left: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
1. Bảng Kiểm Hành Vi Trẻ Em Mầm Non ASEBA CBCL/1½–5 (18 Tháng Đến 5 Tuổi)
' + '' + 'Công cụ chuẩn hóa của Giáo sư Thomas M. Achenbach cho trẻ từ 1.5 đến 5 tuổi qua 7 Thang Hội chứng, 3 Chỉ số Tổng hợp Lớn (Nội tâm hóa, Ngoại hiện hóa, Tổng vấn đề) và Thang Định hướng DSM-5 Vấn đề Phổ Tự kỷ (Autism Spectrum Problems).' + '
'; subTabs.innerHTML = '' + '' + '' + '' + '' + '' + '' + ''; } else { headerInfo.innerHTML = '2. Bảng Kiểm Hành Vi Trẻ Em Lứa Tuổi Học Đường ASEBA CBCL/6–18 (6 Đến 18 Tuổi)
' + '' + 'Đánh giá toàn diện 8 Thang Hội chứng Thực nghiệm ở lứa tuổi học đường (6 – 18 tuổi), phân tách rõ Nội tâm hóa (Internalizing) vs. Ngoại hiện hóa (Externalizing), các vấn đề Xã hội/Tư duy/Chú ý và phát hiện Hồ sơ Mất điều tiết Cảm xúc Nghiêm trọng (CBCL-DP).' + '
'; subTabs.innerHTML = '' + '' + '' + '' + '' + '' + '' + '' + ''; } subTabs.querySelectorAll('.cb-stab').forEach(tab => { tab.onclick = function() { filterSub = this.getAttribute('data-sub'); subTabs.querySelectorAll('.cb-stab').forEach(t => t.classList.remove('active')); this.classList.add('active'); renderQuestions(); }; }); } function renderQuestions() { questionList.innerHTML = ''; const ansBtns = [ { val: 0, lbl: '0 - Không đúng (Not True)' }, { val: 1, lbl: '1 - Đôi khi / Đúng một phần (Sometimes)' }, { val: 2, lbl: '2 - Rất đúng / Thường xuyên (Very True)' } ]; const list = (activeForm === 'preschool') ? preschoolItems : schoolItems; const scaleMap = (activeForm === 'preschool') ? preschoolScales : schoolScales; const store = (activeForm === 'preschool') ? scoresPreschool : scoresSchool; list.forEach(function(it, idx) { if (filterSub !== 'all' && it.sc !== filterSub) return; const uVal = (store[it.id] !== undefined) ? store[it.id] : 0; const sCfg = scaleMap[it.sc]; let rowCls = 'cb-item'; if (uVal === 2) rowCls += ' pts-2'; else if (uVal === 1) rowCls += ' pts-1'; const btnsHtml = ansBtns.map(b => { const cls = 'cb-abtn' + (uVal === b.val ? ' sel-' + b.val : ''); return ''; }).join(''); const broadTag = (sCfg.broad === 'int') ? 'Nội tâm hóa (Internalizing)' : (sCfg.broad === 'ext' ? 'Ngoại hiện hóa (Externalizing)' : 'Hội chứng chuyên biệt'); const asdTag = it.dsmASD ? '★ Thuộc Thang DSM-5 Phổ Tự kỷ' : ''; const el = document.createElement('div'); el.className = rowCls; el.innerHTML = '' + '' + ' – Nội tâm hóa (Internalizing = ER+AD+SC+WI): ' + tInt + 'T (' + cInt.text + ').
' + ' – Ngoại hiện hóa (Externalizing = AP+AG): ' + tExt + 'T (' + cExt.text + ').
' + ' – Tổng các vấn đề (Total Problems): ' + tTot + 'T (' + cTot.text + ').
' + '• 2. Các Tiểu thang Hội chứng Vượt ngưỡng (≥ 65T): ' + (elevatedSyndromes.join(', ') || 'Không có thang hội chứng nào vượt ngưỡng 65T.') + '
' + '• 3. Đánh giá Chuyên biệt Thang DSM-5 Vấn đề Phổ Tự kỷ (Autism Spectrum Problems = ' + tDSM_ASD + 'T): ' + (tDSM_ASD >= 65 ? '⚠️ Điểm số trên thang Thu mình (Withdrawn) và Thang DSM-5 Phổ Tự kỷ (' + tDSM_ASD + 'T ≥ 65T) tăng cao có ý nghĩa lâm sàng. Theo nghiên cứu của Achenbach & Rescorla, sự kết hợp giữa Thu mình (WI) + Phản ứng cảm xúc (ER) + Vấn đề chú ý (AP) trên CBCL/1½–5 có độ nhạy rất cao với Rối loạn phổ tự kỷ (ASD); khuyến nghị thực hiện ngay chẩn đoán chuyên sâu bằng ADOS-2 / CARS-2 / DSM-5-TR.' : '✓ Điểm số trên thang DSM-5 Phổ Tự kỷ nằm trong giới hạn bình thường (≤ 64T).'); } else { // CBCL/6-18 SUMMARY const raw = { ad: 0, wd: 0, sc: 0, sp: 0, tp: 0, ap: 0, rb: 0, ag: 0 }; schoolItems.forEach(function(it) { const v = (scoresSchool[it.id] !== undefined) ? scoresSchool[it.id] : 0; raw[it.sc] += v; }); const intRaw = raw.ad + raw.wd + raw.sc; // 18 mục -> Max 36 const extRaw = raw.rb + raw.ag; // 12 mục -> Max 24 const totRaw = intRaw + extRaw + raw.sp + raw.tp + raw.ap; // 48 mục -> Max 96 const tInt = calcBroadbandT(intRaw, 36); const tExt = calcBroadbandT(extRaw, 24); const tTot = calcBroadbandT(totRaw, 96); const tMap = {}; Object.keys(schoolScales).forEach(k => { tMap[k] = calcSyndromeT(raw[k], 12); }); // Tính chỉ số Hồ sơ Mất điều tiết Cảm xúc Nghiêm trọng (CBCL-DP = T_AD + T_AP + T_AG, ngưỡng >= 210T) const dpSumT = tMap.ad + tMap.ap + tMap.ag; const isDP = (dpSumT >= 200); const cInt = classifyBroadbandT(tInt); const cExt = classifyBroadbandT(tExt); const cTot = classifyBroadbandT(tTot); dashHeadline.textContent = 'CBCL/6–18 Tổng Vấn Đề: ' + tTot + 'T • Nội Tâm Hóa: ' + tInt + 'T • Ngoại Hiện Hóa: ' + tExt + 'T'; dashPillars.innerHTML = '
' + '• 2. Các Thang Hội chứng Vượt ngưỡng (≥ 65T): ' + (elevatedList.join(', ') || 'Không có thang hội chứng nào vượt ngưỡng 65T.') + '
' + (isASDPattern ? '• 🧩 Phát hiện "Bộ Ba Tự Kỷ" trên CBCL/6–18 (Withdrawn/Depressed = ' + tMap.wd + 'T + Social Problems = ' + tMap.sp + 'T + Thought Problems = ' + tMap.tp + 'T): Nghiên cứu quốc tế chỉ ra rằng sự tăng cao đồng thời của 3 thang Thu mình (WD) + Vấn đề xã hội (SP) + Vấn đề tư duy (TP) là chữ ký đặc hiệu của Rối loạn phổ tự kỷ ở lứa tuổi học đường. Cần phối hợp đánh giá thêm bằng SRS-2 / ADOS-2.
' : '') + (isDP ? '• 🚨 Cảnh báo Hồ sơ Mất điều tiết Cảm xúc Nghiêm trọng (CBCL Dysregulation Profile / AAA = ' + dpSumT + 'T ≥ 200T): Tổng điểm T-Score của 3 thang Lo âu/Trầm cảm (' + tMap.ad + 'T) + Vấn đề chú ý (' + tMap.ap + 'T) + Hành vi hung tính (' + tMap.ag + 'T) đạt mức rất cao, phản ánh sự suy giảm nặng nề khả năng tự điều chỉnh cả cảm xúc, sự chú ý lẫn hành vi.' : ''); } updateFloatingFabVisibility(); } function applyPreset(type) { scoresPreschool = {}; scoresSchool = {}; preschoolItems.forEach(it => { scoresPreschool[it.id] = 0; }); schoolItems.forEach(it => { scoresSchool[it.id] = 0; }); if (type === 'reset' || type === 'normal') { if (type === 'normal') { preschoolItems.forEach((it, idx) => { scoresPreschool[it.id] = (idx % 5 === 0) ? 1 : 0; }); schoolItems.forEach((it, idx) => { scoresSchool[it.id] = (idx % 5 === 0) ? 1 : 0; }); } renderQuestions(); updateSummary(); return; } if (type === 'asd_profile') { // Kiểu hình Tự kỷ: Mầm non tăng cao WI, ER, AP; Học đường tăng cao WD, SP, TP, AP preschoolItems.forEach(it => { if (it.sc === 'wi' || it.dsmASD) scoresPreschool[it.id] = 2; else if (it.sc === 'er' || it.sc === 'ap' || it.sc === 'sl') scoresPreschool[it.id] = 1; }); schoolItems.forEach(it => { if (it.sc === 'wd' || it.sc === 'sp' || it.sc === 'tp') scoresSchool[it.id] = 2; else if (it.sc === 'ap') scoresSchool[it.id] = 1; }); } else if (type === 'internalizing') { // Nội tâm hóa: Lo âu/Trầm cảm + Thu mình + Than phiền cơ thể cao preschoolItems.forEach(it => { if (it.sc === 'er' || it.sc === 'ad' || it.sc === 'sc' || it.sc === 'wi') scoresPreschool[it.id] = 2; }); schoolItems.forEach(it => { if (it.sc === 'ad' || it.sc === 'wd' || it.sc === 'sc') scoresSchool[it.id] = 2; }); } else if (type === 'dysregulation') { // Hồ sơ mất điều tiết CBCL-DP: AD + AP + AG đều >= 70T preschoolItems.forEach(it => { if (it.sc === 'er' || it.sc === 'ad' || it.sc === 'ap' || it.sc === 'ag') scoresPreschool[it.id] = 2; }); schoolItems.forEach(it => { if (it.sc === 'ad' || it.sc === 'ap' || it.sc === 'ag' || it.sc === 'rb') scoresSchool[it.id] = 2; }); } renderQuestions(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); cbWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { cbWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 980px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } shadow.querySelectorAll('#formSwitcher .form-btn').forEach(function(btn) { btn.onclick = function() { activeForm = this.getAttribute('data-form'); shadow.querySelectorAll('#formSwitcher .form-btn').forEach(b => b.classList.remove('active')); this.classList.add('active'); renderHeaderAndTabs(); renderQuestions(); updateSummary(); }; }); shadow.querySelectorAll('.cb-pbtn').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-preset')); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); renderHeaderAndTabs(); applyPreset('asd_profile'); })();
CBCL (Child Behavior Checklist — Bảng Kiểm Hành Vi Trẻ Em) thuộc hệ thống ASEBA (Achenbach System of Empirically Based Assessment) do Giáo sư Thomas M. Achenbach (Đại học Vermont, Hoa Kỳ) phát triển là công cụ đánh giá tâm bệnh học, hành vi và cảm xúc phổ quát (Broad-band Behavioral Rating Scale) uy tín số 1 thế giới hiện nay (được sử dụng rộng rãi nhất tại các khoa Tâm thần Nhi, Tâm bệnh Bệnh viện Nhi Trung ương, Nhi Đồng 1 & 2 tại Việt Nam).
Trong quy trình đánh giá Rối loạn phổ tự kỷ (ASD) và ADHD, CBCL đóng vai trò như một “Máy quét toàn diện” (Broad-spectrum Scanner): không chỉ phát hiện nguy cơ tự kỷ và tăng động, mà còn bóc tách chính xác các vấn đề nội tâm hóa (Lo âu, Trầm cảm, Thu mình, Than phiền cơ thể, Giấc ngủ) và ngoại hiện hóa (Hung tính, Phá vỡ quy tắc, Chống đối) để bác sĩ không bỏ sót bất kỳ rối loạn đồng mắc nào.
1. Hai Phiên bản theo Độ tuổi của Hệ thống CBCL (ASEBA)
Hệ thống CBCL được chia làm 2 phiên bản chuẩn hóa riêng biệt theo lứa tuổi, chấm trên thang 3 mức: 0 - Không đúng (Not True) • 1 - Đôi khi đúng / Đúng một phần (Somewhat or Sometimes True) • 2 - Rất đúng / Thường xuyên đúng (Very True or Often True):
Tiêu chuẩn chẩn đoán - Chỉ số đo lường
Giải thích dễ hiểu về các bộ tiêu chuẩn y khoa quốc tế mà bác sĩ dùng để chẩn đoán, cùng hướng dẫn cách đọc các con số, thuật ngữ chuyên ngành thường gặp trong tờ kết quả đánh giá của con.
[Tiêu chuẩn quốc tế] DSM-5-TR: Cẩm nang tiêu chuẩn chẩn đoán và thống kê các rối loạn tâm thần của Hoa Kỳ (APA)
(function() { const host = document.getElementById('dsm5tr-wp-host'); if (!host) return; const placeholder = document.createComment('dsm5tr-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // Dữ liệu các Tiêu chuẩn Chẩn đoán chuẩn DSM-5-TR (APA, 2022) const criteriaList = [ // TIÊU CHUẨN A: BẮT BUỘC ĐẠT ĐỦ CẢ 3/3 (A1, A2, A3) { id: 'A1', group: 'A', code: 'Tiêu chí A1 (Bắt buộc)', title: 'A1. Khiếm khuyết trong tương hỗ cảm xúc – xã hội (Social-Emotional Reciprocity)', desc: 'Biểu hiện từ cách tiếp cận xã hội bất thường và thất bại trong hội thoại qua lại bình thường; đến giảm chia sẻ sở thích, cảm xúc hoặc tình cảm; cho đến thất bại hoàn toàn trong việc khởi xướng hoặc đáp lại các tương tác xã hội.', examples: 'Ví dụ lâm sàng: Trẻ ít chủ động khoe đồ chơi (sự chú ý chung), gọi tên ít quay lại, chỉ kéo tay người lớn khi cần lấy đồ chứ không trò chuyện qua lại, hoặc chỉ độc thoại một chiều về chủ đề mình thích.' }, { id: 'A2', group: 'A', code: 'Tiêu chí A2 (Bắt buộc)', title: 'A2. Khiếm khuyết trong các hành vi giao tiếp phi ngôn ngữ dùng cho tương tác xã hội', desc: 'Biểu hiện từ việc giao tiếp bằng lời nói và không lời thiếu sự phối hợp nhịp nhàng; đến những bất thường trong giao tiếp ánh mắt và ngôn ngữ cơ thể hoặc khiếm khuyết trong việc hiểu và sử dụng cử chỉ; cho đến sự vắng bóng hoàn toàn biểu cảm khuôn mặt và giao tiếp không lời.', examples: 'Ví dụ lâm sàng: Giao tiếp mắt kém/nhìn lướt qua, không biết chỉ ngón trỏ để chia sẻ sự quan tâm, nét mặt đơ cứng hoặc biểu cảm không khớp với lời nói, không hiểu cử chỉ/nét mặt của người đối diện.' }, { id: 'A3', group: 'A', code: 'Tiêu chí A3 (Bắt buộc)', title: 'A3. Khiếm khuyết trong việc phát triển, duy trì và thấu hiểu các mối quan hệ', desc: 'Biểu hiện từ những khó khăn trong việc điều chỉnh hành vi cho phù hợp với các ngữ cảnh xã hội khác nhau; đến những khó khăn trong việc chia sẻ trò chơi tưởng tượng hoặc kết bạn; cho đến sự thờ ơ không quan tâm đến bạn đồng trang lứa.', examples: 'Ví dụ lâm sàng: Thích chơi một mình hơn chơi với bạn, không biết tham gia trò chơi đóng vai giả vờ hợp tác, áp đặt luật chơi cứng nhắc lên bạn, hoặc muốn kết bạn nhưng không hiểu quy tắc xã hội ngầm.' }, // TIÊU CHUẨN B: BẮT BUỘC ĐẠT TỐI THIỂU 2/4 (B1, B2, B3, B4) { id: 'B1', group: 'B', code: 'Tiêu chí B1 (Cần ≥ 2/4 mục nhóm B)', title: 'B1. Vận động, sử dụng đồ vật hoặc lời nói rập khuôn hoặc lặp đi lặp lại', desc: 'Bao gồm các cử động vận động định hình đơn giản, xếp đồ chơi thành hàng hoặc lật xoay đồ vật, nhại lời (echolalia), hoặc dùng các cụm từ đặc dị (idiosyncratic phrases).', examples: 'Ví dụ lâm sàng: Vẫy tay, búng ngón tay, đi nhón gót, xoay tròn người; xếp ô tô/khối gỗ thành hàng dài cố định, quay bánh xe; nhại lại câu hỏi hoặc lặp lại lời thoại từ tivi/quảng cáo.' }, { id: 'B2', group: 'B', code: 'Tiêu chí B2 (Cần ≥ 2/4 mục nhóm B)', title: 'B2. Khăng khăng giữ sự giống nhau, tuân thủ cứng nhắc các thói quen hoặc các mẫu hành vi nghi thức', desc: 'Bao gồm các nghi thức hành vi bằng lời hoặc không lời; cực kỳ căng thẳng trước những thay đổi nhỏ; gặp khó khăn với việc chuyển tiếp hoạt động; mẫu tư duy cứng nhắc; các nghi thức chào hỏi; cần phải đi cùng một lộ trình hoặc ăn cùng một món ăn mỗi ngày.', examples: 'Ví dụ lâm sàng: Hoảng loạn/ăn vạ dữ dội nếu đi đường khác mọi ngày hoặc đổi vị trí đồ đạc; bắt người nhà phải nói đúng một câu cố định; rất khó khăn khi chuyển từ hoạt động đang thích sang hoạt động khác.' }, { id: 'B3', group: 'B', code: 'Tiêu chí B3 (Cần ≥ 2/4 mục nhóm B)', title: 'B3. Các sở thích thu hẹp, cố định với cường độ hoặc sự tập trung bất thường', desc: 'Gắn bó mạnh mẽ với hoặc bận tâm quá mức đến những đồ vật khác thường, hoặc các sở thích hạn hẹp một cách quá mức hay dai dẳng (perseverative interests).', examples: 'Ví dụ lâm sàng: Luôn cầm khư khư một vật vô tri (nắp chai, sợi dây, que gỗ); hoặc đam mê ám ảnh về biển số xe, bảng chữ cái, lịch vạn niên, hệ thống tàu điện, khủng long, quạt trần.' }, { id: 'B4', group: 'B', code: 'Tiêu chí B4 (Cần ≥ 2/4 mục nhóm B)', title: 'B4. Phản ứng quá mức hoặc kém phản ứng với kích thích giác quan, hoặc quan tâm bất thường đến yếu tố giác quan', desc: 'Biểu hiện sự thờ ơ rõ rệt với cảm giác đau/nhiệt độ, phản ứng chống đối với các âm thanh hoặc kết cấu bề mặt cụ thể, ngửi hoặc sờ chạm quá mức vào đồ vật, bị cuốn hút thị giác bởi ánh đèn hoặc chuyển động quay.', examples: 'Ví dụ lâm sàng: Lấy tay bịt tai trước tiếng máy sấy/máy xay, kén ăn kết cấu cực đoan, khó chịu với mác quần áo/cắt tóc; ngã đau không khóc; nhìn nghiêng sát mắt vào vật chuyển động hoặc ngửi/liếm đồ vật.' }, // TIÊU CHUẨN C, D, E: BẮT BUỘC ĐẠT ĐỦ CẢ 3/3 { id: 'C', group: 'CDE', code: 'Tiêu chuẩn C (Bắt buộc)', title: 'C. Các triệu chứng phải xuất hiện từ giai đoạn phát triển sớm (Early Developmental Period)', desc: 'Lưu ý chuẩn DSM-5-TR: Các triệu chứng có thể chưa biểu hiện đầy đủ cho đến khi các đòi hỏi giao tiếp xã hội vượt quá năng lực hạn chế của cá nhân, hoặc có thể bị che lấp (masked) bởi các chiến lược học được khi lớn lên.', examples: 'Ghi nhận qua bệnh sử gia đình hoặc sổ khám: Dấu hiệu chậm nói, ít giao tiếp mắt, ít chỉ trỏ hoặc hành vi rập khuôn đã có từ những năm đầu đời.' }, { id: 'D', group: 'CDE', code: 'Tiêu chuẩn D (Bắt buộc)', title: 'D. Các triệu chứng gây suy giảm có ý nghĩa lâm sàng trong chức năng hiện tại', desc: 'Các triệu chứng gây ra sự suy giảm đáng kể về mặt lâm sàng trong lĩnh vực xã hội, học đường, nghề nghiệp hoặc các lĩnh vực hoạt động quan trọng khác hiện tại.', examples: 'Ảnh hưởng trực tiếp đến khả năng hòa nhập trường lớp, kết bạn, tự phục vụ hoặc sinh hoạt gia đình.' }, { id: 'E', group: 'CDE', code: 'Tiêu chuẩn E (Bắt buộc)', title: 'E. Không được giải thích tốt hơn bởi Rối loạn Phát triển Trí tuệ hoặc Chậm Phát triển Toàn diện (GDD)', desc: 'Rối loạn phát triển trí tuệ (Intellectual Developmental Disorder) và Rối loạn phổ tự kỷ thường đồng mắc; để đặt chẩn đoán đồng mắc cả hai, năng lực giao tiếp xã hội của trẻ phải thấp hơn rõ rệt so với mức độ phát triển chung dự kiến của trẻ đó.', examples: 'Đã loại trừ trường hợp trẻ chỉ chậm đồng đều mà giao tiếp mắt, cử chỉ và tương tác cảm xúc vẫn phù hợp với tuổi trí tuệ.' } ]; // Trạng thái từng tiêu chí: // A1..A3, B1..B4: 'NO' (Không có), 'HIST' (Đạt theo bệnh sử), 'CUR_L1' (Đạt hiện tại - Mức 1), 'CUR_L2' (Đạt hiện tại - Mức 2), 'CUR_L3' (Đạt hiện tại - Mức 3) // C, D, E: 'YES' (Thỏa mãn), 'NO' (Không thỏa mãn) let statusMap = {}; let specIntellectual = 'none'; // 'none' | 'with_id' let specLanguage = 'with_lang_imp'; // 'none' | 'with_lang_imp' | 'nonverbal' let specComorbid = 'none'; // 'none' | 'adhd' | 'genetic' let filterGrp = 'all'; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .d5-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .d5-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .d5-inner { padding: 24px; max-width: 980px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .d5-wrap.is-fullscreen .d5-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .d5-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(30, 58, 138, 0.45), 0 0 0 0 rgba(30, 58, 138, 0.4); } 70% { box-shadow: 0 6px 20px rgba(30, 58, 138, 0.45), 0 0 0 10px rgba(30, 58, 138, 0); } 100% { box-shadow: 0 6px 20px rgba(30, 58, 138, 0.45), 0 0 0 0 rgba(30, 58, 138, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #1e3a8a 0%, #2563eb 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(30, 58, 138, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Header */ .d5-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .d5-header-text { flex: 1 1 260px; } .d5-title { font-size: 21px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .d5-desc { font-size: 14px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #eff6ff; color: #1e3a8a; border: 1px solid #bfdbfe; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #2563eb; color: #ffffff; border-color: #2563eb; } /* Controls & Specifiers */ .d5-presets { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; margin-bottom: 14px; } .d5-lbl { font-size: 12px; font-weight: 800; color: #0f172a; text-transform: uppercase; margin-right: 4px; } .d5-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; touch-action: manipulation; } .d5-pbtn:hover { background: #f1f5f9; } .d5-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } .d5-spec-panel { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 12px; padding: 12px 14px; margin-bottom: 16px; } .d5-select { width: 100%; padding: 8px 10px; border: 1px solid #cbd5e1; border-radius: 7px; font-size: 13px; font-weight: 600; color: #1e293b; background: #ffffff; margin-top: 4px; } .d5-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 16px; } .d5-tab { padding: 6px 12px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .d5-tab.active { background: #1e3a8a; color: #ffffff; border-color: #1e3a8a; } /* Sticky Dashboard */ .d5-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .d5-wrap.is-fullscreen .d5-dash { top: 58px; } .d5-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .d5-score-big { font-size: 20px; font-weight: 800; line-height: 1.25; } .d5-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .d5-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .d5-pillars { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; font-size: 12px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .d5-pillar-box { background: #1e293b; padding: 8px 10px; border-radius: 8px; border-left: 3px solid #475569; } .d5-pillar-box.met { border-left-color: #ef4444; background: rgba(239, 68, 68, 0.15); } .d5-pillar-box.unmet { border-left-color: #10b981; } .d5-pillar-val { font-weight: 800; color: #ffffff; font-size: 13.5px; display: block; margin-top: 2px; } /* Danh sách các tiêu chí DSM-5-TR */ .d5-item { border: 1px solid #e2e8f0; border-radius: 12px; padding: 15px 16px; margin-bottom: 12px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 8px; } .d5-item.crit-met { border-color: #fca5a5; background: #fff5f5; border-left: 5px solid #ef4444; } .d5-item.crit-unmet { border-color: #a7f3d0; background: #f0fdf4; } .d5-item-title { font-size: 15px; font-weight: 800; color: #0f172a; } .d5-item-desc { font-size: 13.5px; color: #334155; } .d5-item-ex { font-size: 12.8px; color: #475569; background: rgba(15, 23, 42, 0.03); padding: 7px 10px; border-radius: 6px; border-left: 3px solid #94a3b8; } .d5-tags { display: flex; flex-wrap: wrap; gap: 6px; } .d5-tag { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .d5-tag.grp-A { background: #dbeafe; color: #1d4ed8; } .d5-tag.grp-B { background: #fef3c7; color: #b45309; } .d5-tag.grp-CDE { background: #dcfce7; color: #15803d; } .d5-ans-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; margin-top: 4px; } .d5-ans-grid.grid-2 { grid-template-columns: 1fr 1fr; } .d5-abtn { padding: 8px 6px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 11.8px; font-weight: 700; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .d5-abtn:hover { border-color: #64748b; } .d5-abtn.sel-no { background: #10b981; border-color: #10b981; color: #ffffff; } .d5-abtn.sel-hist { background: #6366f1; border-color: #6366f1; color: #ffffff; } .d5-abtn.sel-l1 { background: #f59e0b; border-color: #f59e0b; color: #ffffff; } .d5-abtn.sel-l2 { background: #ea580c; border-color: #ea580c; color: #ffffff; } .d5-abtn.sel-l3, .d5-abtn.sel-yes { background: #ef4444; border-color: #ef4444; color: #ffffff; } /* Bảng Ma trận 3 Mức độ Cần Hỗ trợ chuẩn DSM-5-TR */ .d5-matrix-card { margin-top: 20px; padding: 16px 18px; border-radius: 12px; background: #ffffff; border: 1px solid #e2e8f0; overflow-x: auto; } .d5-table { width: 100%; border-collapse: collapse; font-size: 13px; min-width: 640px; } .d5-table th, .d5-table td { border: 1px solid #cbd5e1; padding: 10px 12px; text-align: left; vertical-align: top; } .d5-table th { background: #f1f5f9; font-weight: 800; color: #0f172a; } .d5-table tr.active-lvl { background: #fffbeb; border: 2px solid #f59e0b; } .d5-result-box { margin-top: 16px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #1e3a8a; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 760px) { .d5-inner { padding: 14px; } .d5-title { font-size: 18px; } .d5-spec-panel { grid-template-columns: 1fr; } .d5-pillars { grid-template-columns: 1fr 1fr; } .d5-ans-grid { grid-template-columns: 1fr; } .d5-pbtn.reset { margin-left: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
Bảng Kiểm Tiêu Chuẩn Chẩn Đoán Rối Loạn Phổ Tự Kỷ DSM-5-TR (APA, 2022 • Mã ICD-10-CM: F84.0)
Công cụ đối chiếu chính thức theo bản hiệu đính DSM-5-TR (2022) của Hiệp hội Tâm thần học Hoa Kỳ. Chẩn đoán xác định yêu cầu hội đủ: Tiêu chuẩn A (Đủ 3/3 tiêu chí A1, A2, A3) + Tiêu chuẩn B (Ít nhất 2/4 tiêu chí B1–B4) + Tiêu chuẩn C, D, E (Đủ 3/3), kèm phân loại Mức độ cần hỗ trợ (Level 1, 2, 3) và Các chỉ định đi kèm (Specifiers).
| Mức độ hỗ trợ (Severity Level) | Giao tiếp Xã hội (Social Communication - Tiêu chuẩn A) | Hành vi Hạn hẹp, Lặp lại (Restricted, Repetitive Behaviors - Tiêu chuẩn B) |
|---|---|---|
| Mức độ 1 (Level 1) "Cần hỗ trợ" (Requiring support) |
Nếu không có hỗ trợ tại chỗ, khiếm khuyết giao tiếp xã hội gây suy giảm dễ nhận thấy. Khó bắt đầu tương tác xã hội, phản ứng không điển hình hoặc không thành công trước lời mở đầu của người khác. Có vẻ giảm hứng thú tương tác xã hội. | Sự thiếu linh hoạt của hành vi gây cản trở đáng kể hoạt động ở một hoặc nhiều ngữ cảnh. Khó chuyển đổi giữa các hoạt động. Vấn đề về tổ chức và lập kế hoạch cản trở tính độc lập. |
| Mức độ 2 (Level 2) "Cần hỗ trợ đáng kể" (Substantial support) |
Khiếm khuyết rõ rệt về kỹ năng giao tiếp xã hội cả bằng lời và không lời; suy giảm xã hội biểu hiện rõ ngay cả khi đã có hỗ trợ tại chỗ; rất hạn chế khởi xướng tương tác xã hội và phản ứng nghèo nàn/bất thường. | Sự thiếu linh hoạt của hành vi, cực kỳ khó khăn khi đối mặt với sự thay đổi, hoặc các hành vi hạn hẹp/lặp lại xuất hiện thường xuyên đến mức người quan sát bình thường cũng nhận ra ngay và cản trở hoạt động trong nhiều bối cảnh. |
| Mức độ 3 (Level 3) "Cần hỗ trợ rất nhiều" (Very substantial support) |
Khiếm khuyết nghiêm trọng về kỹ năng giao tiếp xã hội bằng lời và không lời gây suy giảm nặng nề chức năng; rất hạn chế khởi xướng tương tác và chỉ phản ứng tối thiểu với người khác (ví dụ: chỉ nói vài từ đơn để đòi nhu cầu trực tiếp). | Sự thiếu linh hoạt của hành vi, cực kỳ khó thích ứng với thay đổi, hoặc các hành vi hạn hẹp/lặp lại gây cản trở nghiêm trọng đến mọi lĩnh vực hoạt động. Cực kỳ đau khổ/khó khăn khi phải chuyển hướng sự tập trung hoặc hành động. |
• Bằng chứng hội tụ tiêu chí: Đạt ${countA}/3 tiêu chí Nhóm A (yêu cầu bắt buộc 3/3) + Đạt ${countB}/4 tiêu chí Nhóm B (yêu cầu ≥ 2/4) + Thỏa mãn đầy đủ 3/3 điều kiện C, D, E.
• Phân loại Mức độ Cần Hỗ trợ (Severity Specifiers):
– Về Giao tiếp xã hội (Tiêu chuẩn A): Mức độ ${lvlA} (${lvlA === 3 ? 'Cần hỗ trợ rất nhiều' : (lvlA === 2 ? 'Cần hỗ trợ đáng kể' : 'Cần hỗ trợ')}).
– Về Hành vi hạn hẹp & lặp lại (Tiêu chuẩn B): Mức độ ${lvlB} (${lvlB === 3 ? 'Cần hỗ trợ rất nhiều' : (lvlB === 2 ? 'Cần hỗ trợ đáng kể' : 'Cần hỗ trợ')}).
• Các chỉ định lâm sàng đi kèm (Clinical Specifiers):
1. Trí tuệ: ${idSpecText}.
2. Ngôn ngữ: ${langSpecText}.
3. Bệnh lý đi kèm: ${comSpecText}. `; } else if (metAllA && !metMinB && metAllCDE) { // Đạt đủ 3/3 tiêu chí nhóm A và C, D, E nhưng chỉ có 0 hoặc 1 tiêu chí nhóm B -> Chẩn đoán phân biệt với Rối loạn Giao tiếp Xã hội (SPCD) badgeColor = '#0284c7'; badgeTxt = 'GỢI Ý RỐI LOẠN GIAO TIẾP XÃ HỘI (SPCD • F80.82)'; dashHeadline.textContent = `Đạt đủ Tiêu chuẩn A (3/3) nhưng chưa đủ Tiêu chuẩn B (${countB}/4 < 2 tiêu chí)`; valLvl.textContent = 'Phân biệt SPCD'; reportHtml = `
• Ghi chú chính thức của DSM-5-TR: "Những cá nhân có khiếm khuyết rõ rệt về giao tiếp xã hội nhưng các triệu chứng không đáp ứng đủ tiêu chuẩn của Rối loạn phổ tự kỷ (do không có đủ ≥ 2 tiêu chí hành vi hạn hẹp/lặp lại nhóm B ở cả hiện tại lẫn bệnh sử) cần được đánh giá theo chẩn đoán Rối loạn Giao tiếp Xã hội (Social [Pragmatic] Communication Disorder - SPCD, Mã ICD-10-CM: F80.82)." `; } else { badgeColor = '#10b981'; badgeTxt = 'CHƯA ĐỦ TIÊU CHUẨN CHẨN ĐOÁN ASD'; dashHeadline.textContent = `Chưa hội đủ điều kiện bắt buộc của thuật toán DSM-5-TR (A: ${countA}/3 • B: ${countB}/4 • C-D-E: ${countCDE}/3)`; valLvl.textContent = 'Không đủ chuẩn'; reportHtml = ` Kết luận Đối chiếu DSM-5-TR — Chưa Đạt Ngưỡng Chẩn Đoán Rối Loạn Phổ Tự Kỷ (F84.0):
• Để thiết lập chẩn đoán xác định Rối loạn phổ tự kỷ theo DSM-5-TR, cá nhân bắt buộc phải đạt đồng thời: Đủ 3/3 tiêu chí nhóm A (Hiện đạt: ${countA}/3), tối thiểu 2/4 tiêu chí nhóm B (Hiện đạt: ${countB}/4) và đủ 3/3 điều kiện C, D, E (Hiện đạt: ${countCDE}/3).
• Nếu trẻ chỉ chậm nói đơn thuần (không suy giảm tương hỗ cảm xúc A1 và giao tiếp phi ngôn ngữ A2), cần đánh giá theo hướng Rối loạn Ngôn ngữ (Language Disorder - F80.9). `; } scoreBadge.textContent = badgeTxt; scoreBadge.style.background = badgeColor; scoreBadge.style.color = '#ffffff'; resultBox.style.borderLeftColor = badgeColor; resultBox.innerHTML = reportHtml; updateFloatingFabVisibility(); } function applyPreset(type) { statusMap = {}; criteriaList.forEach(c => { statusMap[c.id] = 'NO'; }); if (type === 'reset') { renderItems(); updateSummary(); return; } if (type === 'asd_l1') { // ASD Level 1 (Tự kỷ chức năng cao) statusMap['A1'] = 'CUR_L1'; statusMap['A2'] = 'CUR_L1'; statusMap['A3'] = 'CUR_L1'; statusMap['B1'] = 'NO'; statusMap['B2'] = 'CUR_L1'; statusMap['B3'] = 'CUR_L1'; statusMap['B4'] = 'HIST'; statusMap['C'] = 'YES'; statusMap['D'] = 'YES'; statusMap['E'] = 'YES'; selSpecID.value = 'none'; selSpecLang.value = 'none'; } else if (type === 'asd_l2') { // ASD Level 2 (Cần hỗ trợ đáng kể) statusMap['A1'] = 'CUR_L2'; statusMap['A2'] = 'CUR_L2'; statusMap['A3'] = 'CUR_L2'; statusMap['B1'] = 'CUR_L2'; statusMap['B2'] = 'CUR_L2'; statusMap['B3'] = 'NO'; statusMap['B4'] = 'CUR_L1'; statusMap['C'] = 'YES'; statusMap['D'] = 'YES'; statusMap['E'] = 'YES'; selSpecID.value = 'none'; selSpecLang.value = 'with_lang_imp'; } else if (type === 'asd_l3') { // ASD Level 3 (Cần hỗ trợ rất nhiều) statusMap['A1'] = 'CUR_L3'; statusMap['A2'] = 'CUR_L3'; statusMap['A3'] = 'CUR_L3'; statusMap['B1'] = 'CUR_L3'; statusMap['B2'] = 'CUR_L2'; statusMap['B3'] = 'CUR_L2'; statusMap['B4'] = 'CUR_L3'; statusMap['C'] = 'YES'; statusMap['D'] = 'YES'; statusMap['E'] = 'YES'; selSpecID.value = 'with_id'; selSpecLang.value = 'nonverbal'; } else if (type === 'spcd') { // Rối loạn giao tiếp xã hội SPCD: Đạt đủ 3/3 nhóm A và C, D, E nhưng chỉ có 0 hoặc 1 nhóm B statusMap['A1'] = 'CUR_L1'; statusMap['A2'] = 'CUR_L1'; statusMap['A3'] = 'CUR_L1'; statusMap['B1'] = 'NO'; statusMap['B2'] = 'CUR_L1'; statusMap['B3'] = 'NO'; statusMap['B4'] = 'NO'; statusMap['C'] = 'YES'; statusMap['D'] = 'YES'; statusMap['E'] = 'YES'; } renderItems(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); d5Wrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { d5Wrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 980px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } shadow.querySelectorAll('.d5-pbtn').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-preset')); }; }); [selSpecID, selSpecLang, selSpecComorbid].forEach(sel => { sel.onchange = () => { updateSummary(); }; }); shadow.querySelectorAll('#grpTabs .d5-tab').forEach(function(tab) { tab.onclick = function() { filterGrp = this.getAttribute('data-grp'); shadow.querySelectorAll('#grpTabs .d5-tab').forEach(t => t.classList.remove('active')); this.classList.add('active'); renderItems(); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); applyPreset('asd_l2'); })();
DSM-5-TR (viết tắt của Diagnostic and Statistical Manual of Mental Disorders, Fifth Edition, Text Revision – Cẩm nang Chẩn đoán và Thống kê các Rối loạn Tâm thần, Phiên bản thứ 5, Bản hiệu đính văn bản) là hệ thống phân loại và tiêu chuẩn chẩn đoán các rối loạn tâm thần uy tín nhất thế giới hiện nay, được Hiệp hội Tâm thần học Hoa Kỳ (APA) xuất bản vào tháng 3 năm 2022.
Mục đích và Vai trò chính
DSM-5-TR được ví như “cuốn kinh thánh” của ngành tâm thần học và tâm lý học lâm sàng, đóng vai trò cốt lõi trong 3 lĩnh vực:
-
Chẩn đoán lâm sàng: Cung cấp danh sách các triệu chứng cụ thể, thời gian kéo dài và mức độ suy giảm chức năng để các bác sĩ tâm thần, nhà tâm lý học xác định chính xác một người đang mắc rối loạn nào (ví dụ: Trầm cảm chủ yếu, Rối loạn phổ tự kỷ, ADHD, Tâm thần phân liệt…).
-
Ngôn ngữ chung cho giới chuyên môn: Giúp các bác sĩ, nhà nghiên cứu trên toàn cầu trao đổi thông tin bệnh án và kết quả nghiên cứu một cách đồng nhất.
-
Cơ sở pháp lý và bảo hiểm: Cung cấp mã bệnh chuẩn xác (tích hợp với bảng mã ICD-10-CM) để làm căn cứ thanh toán bảo hiểm y tế, giám định pháp y và hoạch định chính sách sức khỏe cộng đồng.
Những điểm mới nổi bật của DSM-5-TR (so với DSM-5 năm 2013)
Sau gần một thập kỷ kể từ khi DSM-5 ra đời (2013), bản hiệu đính TR (Text Revision) đã được cập nhật với sự tham gia của hơn 200 chuyên gia nhằm phản ánh các nghiên cứu khoa học mới nhất:
-
Bổ sung chẩn đoán mới – Rối loạn đau buồn kéo dài (Prolonged Grief Disorder): Chính thức công nhận tình trạng đau buồn dữ dội, dai dẳng sau khi mất người thân (kéo dài trên 12 tháng ở người lớn và 6 tháng ở trẻ em/thanh thiếu niên) làm suy giảm nghiêm trọng khả năng sinh hoạt bình thường.
-
Cập nhật mã triệu chứng tự sát và tự hủy hoại: Thêm các mã theo dõi hành vi tự sát và tự gây thương tích không nhằm mục đích tự sát (Non-suicidal self-injury), giúp bác sĩ ghi nhận và theo dõi nguy cơ này ngay cả khi bệnh nhân không mắc một rối loạn tâm thần cụ thể nào khác.
-
Làm rõ tiêu chuẩn của hơn 70 rối loạn: Tinh chỉnh lại câu chữ trong tiêu chuẩn chẩn đoán của các rối loạn như Rối loạn phổ tự kỷ (ASD), Rối loạn lưỡng cực, Rối loạn trầm cảm… để tránh gây hiểu lầm hoặc chẩn đoán quá tay trong thực hành.
-
Chú trọng yếu tố văn hóa, chủng tộc và phân biệt đối xử: Lần đầu tiên đưa vào một nhóm chuyên trách rà soát tác động của sự phân biệt chủng tộc và bất bình đẳng xã hội lên sức khỏe tâm thần, giúp giảm thiểu định kiến khi chẩn đoán cho các nhóm yếu thế.
-
Cập nhật thuật ngữ về giới: Điều chỉnh ngôn ngữ trong chương Bất. ổn giới (Gender Dysphoria) theo hướng tôn trọng, chính xác và giảm kỳ thị hơn (ví dụ: thay “desired gender” thành “experienced gender”).
Sự khác biệt giữa DSM-5-TR và ICD-11 (Áp dụng tại Việt Nam)
Tại Việt Nam cũng như nhiều quốc gia khác, các bác sĩ và chuyên gia tâm lý thường sử dụng song song hai hệ thống này:
| Tiêu chí | DSM-5-TR | ICD-11 (Chương Rối loạn Tâm thần) |
| Tổ chức phát hành | Hiệp hội Tâm thần học Hoa Kỳ (APA) | Tổ chức Y tế Thế giới (WHO) |
| Phạm vi bao phủ | Chỉ chuyên biệt về các rối loạn tâm thần | Bao gồm tất cả các loại bệnh lý y khoa và tâm thần |
| Đặc điểm tiêu chuẩn | Tiêu chuẩn định lượng rất chi tiết, chặt chẽ (yêu cầu đủ X trên Y triệu chứng trong thời gian cụ thể) | Hướng dẫn mang tính mô tả linh hoạt hơn để phù hợp với nhiều nền văn hóa và điều kiện y tế khác nhau |
| Ứng dụng tại Việt Nam | Được ưa chuộng trong nghiên cứu khoa học, đào tạo chuyên sâu và đánh giá tâm lý lâm sàng | Là bộ mã bắt buộc về mặt hành chính y tế (hiện Việt Nam đang chuyển giao từ ICD-10 sang ICD-11) để làm bệnh án và bảo hiểm |
Lưu ý quan trọng: DSM-5-TR chỉ liệt kê các tiêu chuẩn nhận diện bệnh chứ không hướng dẫn phác đồ điều trị (như dùng thuốc gì hay trị liệu ra sao). Ngoài ra, bộ tiêu chuẩn này được thiết kế cho các chuyên gia đã qua đào tạo bài bản; việc người đọc tự tra cứu để “tự bắt bệnh” (self-diagnose) rất dễ dẫn đến sai lệch vì nhiều triệu chứng tâm lý có sự chồng chéo phức tạp với nhau.
[Tiêu chuẩn quốc tế] ICD-11: Bảng phân loại quốc tế về bệnh tật và các rối loạn phát triển thần kinh của WHO
(function() { const host = document.getElementById('icd11-wp-host'); if (!host) return; const placeholder = document.createComment('icd11-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // Các Đặc điểm Thiết yếu bắt buộc theo hướng dẫn CDDR của WHO ICD-11 (Mã gốc 6A02) const essentialFeatures = [ // TRỤ CỘT 1: KHIẾM KHUYẾT BỀN VỮNG TRONG KHỞI XƯỚNG & DUY TRÌ TƯƠNG TÁC XÃ HỘI VÀ GIAO TIP XÃ HỘI { id: 'S1', pillar: 'SOC', code: 'Đặc điểm Thiết yếu 1A (Trụ cột Xã hội)', title: '1A. Khiếm khuyết trong tương hỗ cảm xúc – xã hội và hội thoại qua lại hai chiều', desc: 'Khó khăn bền vững trong việc bắt đầu, đáp lại và duy trì tương tác xã hội qua lại; giảm chia sẻ sở thích, cảm xúc và chú ý chung (Joint Attention) với người khác.', examples: 'Biểu hiện: Ít chủ động khoe đồ vật hoặc chia sẻ niềm vui; gọi tên ít phản ứng; không biết duy trì hội thoại qua lại hoặc chỉ nói về chủ đề của riêng mình.' }, { id: 'S2', pillar: 'SOC', code: 'Đặc điểm Thiết yếu 1B (Trụ cột Xã hội)', title: '1B. Khiếm khuyết trong tích hợp giao tiếp bằng lời nói và phi ngôn ngữ', desc: 'Sự bất thường hoặc thiếu phối hợp giữa lời nói với giao tiếp ánh mắt, biểu cảm khuôn mặt, tư thế cơ thể và các cử chỉ giao tiếp quy ước (chỉ trỏ, vẫy tay, gật/lắc đầu).', examples: 'Biểu hiện: Giao tiếp mắt hạn chế hoặc cứng nhắc; ít dùng cử chỉ chỉ tay để chia sẻ; giọng điệu nói chuyện phẳng lì/khác lạ; khó hiểu ngôn ngữ cơ thể và ẩn ý.' }, { id: 'S3', pillar: 'SOC', code: 'Đặc điểm Thiết yếu 1C (Trụ cột Xã hội)', title: '1C. Khiếm khuyết trong thấu hiểu, thiết lập và duy trì mối quan hệ với bạn đồng trang lứa', desc: 'Khó khăn trong việc điều chỉnh hành vi theo các ngữ cảnh xã hội khác nhau, thiếu kỹ năng chơi tưởng tượng hợp tác hoặc thiếu sự nhạy cảm với cảm xúc của người khác.', examples: 'Biểu hiện: Chơi một mình tách biệt trong nhóm bạn; không biết tham gia trò chơi đóng vai cùng bạn; nhận xét thẳng thừng thiếu tinh tế hoặc rất khó kết bạn thân.' }, // TRỤ CỘT 2: CÁC MẪU HÀNH VI, SỞ THÍCH VÀ HOẠT ĐỘNG HẠN HẸP, LẶP ĐI LẶP LẠI VÀ CỨNG NHẮC { id: 'R1', pillar: 'RRB', code: 'Đặc điểm Thiết yếu 2A (Trụ cột Hành vi RRB)', title: '2A. Các cử động vận động, thao tác với đồ vật hoặc lời nói rập khuôn, lặp đi lặp lại', desc: 'Xuất hiện các vận động định hình đơn giản hoặc phức tạp, sử dụng đồ chơi theo cách rập khuôn không đúng chức năng, hoặc nhại lời (echolalia) / lặp lại cụm từ cố định.', examples: 'Biểu hiện: Vẫy tay, búng ngón tay, đi nhón gót, đung đưa người, xoay tròn; xếp đồ chơi thành hàng dài, xoay bánh xe; nhại lại câu hỏi hoặc lời quảng cáo.' }, { id: 'R2', pillar: 'RRB', code: 'Đặc điểm Thiết yếu 2B (Trụ cột Hành vi RRB)', title: '2B. Đòi hỏi sự bất biến quá mức, tuân thủ cứng nhắc thói quen hoặc hành vi nghi thức', desc: 'Kháng cự mạnh mẽ hoặc rơi vào trạng thái căng thẳng, hoảng loạn cực độ trước những thay đổi nhỏ trong môi trường, lịch trình sinh hoạt hoặc lộ trình di chuyển.', examples: 'Biểu hiện: Khóc thét/ăn vạ khi thay đổi đường đi, đổi chỗ ngồi hoặc chuyển tiếp hoạt động; đòi hỏi làm mọi việc theo đúng một trình tự nghi thức.' }, { id: 'R3', pillar: 'RRB', code: 'Đặc điểm Thiết yếu 2C (Trụ cột Hành vi RRB)', title: '2C. Sở thích thu hẹp, cố định với cường độ hoặc sự tập trung bất thường', desc: 'Bận tâm dai dẳng và mãnh liệt vào một vài chủ đề chuyên biệt hẹp, hoặc gắn bó kỳ lạ với những đồ vật vô tri không phải đồ chơi thông thường.', examples: 'Biểu hiện: Ám ảnh với con số, chữ cái, lịch, biển số xe, tàu hỏa, bản đồ, quạt quay; hoặc luôn cầm chặt một nắp chai, que nhựa, hòn đá.' }, { id: 'R4', pillar: 'RRB', code: 'Đặc điểm Thiết yếu 2D (Trụ cột Hành vi RRB)', title: '2D. Tăng nhạy cảm hoặc Giảm nhạy cảm suốt đời đối với các kích thích giác quan', desc: 'Phản ứng quá mức (né tránh/quá tải), kém phản ứng (thờ ơ với đau/nhiệt độ) hoặc tìm kiếm cuốn hút khác thường vào các yếu tố giác quan (âm thanh, ánh sáng, xúc giác, mùi vị).', examples: 'Biểu hiện: Bịt tai trước tiếng ồn thông thường, kén ăn kết cấu cực đoan, sợ cắt tóc/rửa mặt; nhìn nghiêng sát mắt vào vật chuyển động hoặc ngửi/liếm đồ vật.' }, // TRỤ CỘT 3: ĐIỀU KIỆN KHỞI PHÁT & SUY GIẢM CHỨC NĂNG BẮT BUỘC CỦA ICD-11 { id: 'O1', pillar: 'ONSET', code: 'Điều kiện Bắt buộc 3A (Khởi phát)', title: '3A. Khởi phát trong giai đoạn phát triển sớm (thường ở thời kỳ ấu nhi / đầu tuổi thơ)', desc: 'Các triệu chứng bắt đầu từ giai đoạn phát triển sớm, nhưng có thể chỉ bộc lộ đầy đủ sau này khi các yêu cầu xã hội vượt quá khả năng hạn chế của cá nhân.', examples: 'Xác nhận qua bệnh sử phát triển từ trước tuổi đi học (kể cả những trường hợp lớn lên mới đi khám do trước đó cố gắng ngụy trang xã hội).' }, { id: 'O2', pillar: 'ONSET', code: 'Điều kiện Bắt buộc 3B (Suy giảm chức năng)', title: '3B. Gây suy giảm đáng kể trong chức năng cá nhân, gia đình, xã hội, giáo dục hoặc nghề nghiệp', desc: 'Các khiếm khuyết đủ nghiêm trọng để gây cản trở rõ rệt hoạt động hàng ngày; nếu cá nhân duy trì được hoạt động thì phải trả giá bằng sự nỗ lực căng thẳng quá mức.', examples: 'Gây rào cản rõ trong giao tiếp gia đình, hòa nhập trường lớp, kết bạn hoặc công việc.' } ]; // Ma trận 6 Mã Chẩn đoán chính thức của ICD-11 (WHO) dựa trên IDD (Trí tuệ) và Functional Language (Ngôn ngữ chức năng) const icd11Subcodes = [ { code: '6A02.0', idd: 'no', lang: 'mild_none', name: '6A02.0 — Rối loạn phổ tự kỷ KHÔNG kèm rối loạn phát triển trí tuệ và suy giảm ngôn ngữ chức năng nhẹ hoặc không suy giảm', desc: 'Cá nhân có trí tuệ trong giới hạn bình thường (IQ ≥ 70) và sử dụng được câu nói/ngôn ngữ đầy đủ để giao tiếp nhu cầu cá nhân (Tương đương Hội chứng Asperger / Tự kỷ chức năng cao trước đây).' }, { code: '6A02.1', idd: 'yes', lang: 'mild_none', name: '6A02.1 — Rối loạn phổ tự kỷ CÓ kèm rối loạn phát triển trí tuệ và suy giảm ngôn ngữ chức năng nhẹ hoặc không suy giảm', desc: 'Cá nhân đáp ứng tiêu chuẩn Rối loạn phát triển trí tuệ (6A00), nhưng khả năng nói/ký hiệu chức năng tương đối tốt so với mức tuổi trí tuệ.' }, { code: '6A02.2', idd: 'no', lang: 'impaired', name: '6A02.2 — Rối loạn phổ tự kỷ KHÔNG kèm rối loạn phát triển trí tuệ và có suy giảm ngôn ngữ chức năng rõ rệt', desc: 'Cá nhân không bị khuyết tật trí tuệ (nhận thức phi ngôn ngữ bình thường), nhưng ngôn ngữ diễn đạt chức năng bị suy giảm rõ (chỉ dùng được từ đơn hoặc cụm từ ngắn).' }, { code: '6A02.3', idd: 'yes', lang: 'impaired', name: '6A02.3 — Rối loạn phổ tự kỷ CÓ kèm rối loạn phát triển trí tuệ và có suy giảm ngôn ngữ chức năng rõ rệt', desc: 'Cá nhân vừa có Rối loạn phát triển trí tuệ, vừa bị suy giảm rõ rệt ngôn ngữ chức năng (chỉ nói được từ đơn hoặc cụm từ đơn giản).' }, { code: '6A02.2 (Nonverbal / 6A02.4)', idd: 'no', lang: 'absent', name: '6A02.2 / 6A02.4 — Rối loạn phổ tự kỷ KHÔNG kèm rối loạn phát triển trí tuệ và vắng bóng hoàn toàn ngôn ngữ chức năng', desc: 'Cá nhân có nhận thức phi ngôn ngữ bình thường nhưng hoàn toàn không có lời nói hoặc phương tiện giao tiếp biểu tượng chức năng.' }, { code: '6A02.5', idd: 'yes', lang: 'absent', name: '6A02.5 — Rối loạn phổ tự kỷ CÓ kèm rối loạn phát triển trí tuệ và vắng bóng hoàn toàn ngôn ngữ chức năng', desc: 'Cá nhân vừa có Rối loạn phát triển trí tuệ, vừa vắng bóng hoàn toàn (hoặc hầu như không có) khả năng dùng lời nói/ký hiệu chức năng để diễn đạt nhu cầu.' } ]; let featStatus = {}; // 'YES' | 'NO' let selIDD = 'no'; // 'no' (Không kèm suy giảm trí tuệ) | 'yes' (Có kèm suy giảm trí tuệ) let selLang = 'impaired'; // 'mild_none' (Không/Nhẹ) | 'impaired' (Suy giảm rõ: từ đơn/cụm từ) | 'absent' (Vắng bóng hoàn toàn) let selRegression = 'no'; // 'no' (Không mất kỹ năng) | 'yes' (Có mất kỹ năng đã từng đạt được) let filterPillar = 'all'; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .ic-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .ic-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .ic-inner { padding: 24px; max-width: 980px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .ic-wrap.is-fullscreen .ic-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .ic-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(2, 132, 199, 0.45), 0 0 0 0 rgba(2, 132, 199, 0.4); } 70% { box-shadow: 0 6px 20px rgba(2, 132, 199, 0.45), 0 0 0 10px rgba(2, 132, 199, 0); } 100% { box-shadow: 0 6px 20px rgba(2, 132, 199, 0.45), 0 0 0 0 rgba(2, 132, 199, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #0369a1 0%, #0284c7 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(2, 132, 199, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Header */ .ic-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .ic-header-text { flex: 1 1 260px; } .ic-title { font-size: 21px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .ic-desc { font-size: 14px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #f0f9ff; color: #0369a1; border: 1px solid #bae6fd; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #0284c7; color: #ffffff; border-color: #0284c7; } /* Bộ chọn Trục Mã hóa ICD-11 (Trí tuệ x Ngôn ngữ x Thoái lui) */ .ic-spec-panel { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; background: #f0f9ff; border: 1px solid #bae6fd; border-radius: 12px; padding: 14px; margin-bottom: 14px; } .ic-lbl { font-size: 12px; font-weight: 800; color: #0369a1; text-transform: uppercase; display: block; margin-bottom: 5px; } .ic-select { width: 100%; padding: 8px 10px; border: 1px solid #7dd3fc; border-radius: 7px; font-size: 13px; font-weight: 700; color: #0f172a; background: #ffffff; } /* Presets */ .ic-presets { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; margin-bottom: 14px; } .ic-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; touch-action: manipulation; } .ic-pbtn:hover { background: #f1f5f9; } .ic-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } .ic-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 16px; } .ic-tab { padding: 6px 12px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .ic-tab.active { background: #0284c7; color: #ffffff; border-color: #0284c7; } /* Sticky Dashboard */ .ic-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .ic-wrap.is-fullscreen .ic-dash { top: 58px; } .ic-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .ic-score-big { font-size: 20px; font-weight: 800; line-height: 1.25; } .ic-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .ic-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .ic-pillars { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; font-size: 12px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .ic-pillar-box { background: #1e293b; padding: 8px 10px; border-radius: 8px; border-left: 3px solid #475569; } .ic-pillar-box.met { border-left-color: #ef4444; background: rgba(239, 68, 68, 0.15); } .ic-pillar-box.unmet { border-left-color: #10b981; } .ic-pillar-val { font-weight: 800; color: #ffffff; font-size: 13.5px; display: block; margin-top: 2px; } /* Danh sách đặc điểm thiết yếu ICD-11 */ .ic-item { border: 1px solid #e2e8f0; border-radius: 12px; padding: 15px 16px; margin-bottom: 12px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 8px; } .ic-item.feat-yes { border-color: #fca5a5; background: #fff5f5; border-left: 5px solid #ef4444; } .ic-item.feat-no { border-color: #a7f3d0; background: #f0fdf4; } .ic-item-title { font-size: 15px; font-weight: 800; color: #0f172a; } .ic-item-desc { font-size: 13.5px; color: #334155; } .ic-item-ex { font-size: 12.8px; color: #475569; background: rgba(15, 23, 42, 0.03); padding: 7px 10px; border-radius: 6px; border-left: 3px solid #94a3b8; } .ic-tags { display: flex; flex-wrap: wrap; gap: 6px; } .ic-tag { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .ic-tag.p-SOC { background: #dbeafe; color: #1d4ed8; } .ic-tag.p-RRB { background: #fef3c7; color: #b45309; } .ic-tag.p-ONSET { background: #dcfce7; color: #15803d; } .ic-ans-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 4px; } .ic-abtn { padding: 9px 10px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 700; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .ic-abtn:hover { border-color: #64748b; } .ic-abtn.sel-no { background: #10b981; border-color: #10b981; color: #ffffff; } .ic-abtn.sel-yes { background: #ef4444; border-color: #ef4444; color: #ffffff; } /* Bảng Ma trận 6 Mã ICD-11 (6A02.0 -> 6A02.5) - Vừa khít 100% không cần cuộn ngang */ .ic-matrix-card { margin-top: 20px; padding: 14px; border-radius: 12px; background: #ffffff; border: 1px solid #e2e8f0; width: 100%; overflow: hidden; } .ic-table { width: 100%; max-width: 100%; table-layout: fixed; border-collapse: collapse; font-size: 12.8px; line-height: 1.45; } .ic-table th, .ic-table td { border: 1px solid #cbd5e1; padding: 8px 9px; text-align: left; vertical-align: top; word-wrap: break-word; overflow-wrap: break-word; hyphens: auto; } .ic-table th { background: #f1f5f9; font-weight: 800; color: #0f172a; } .ic-table tr.active-code { background: #eff6ff; border: 2px solid #0284c7; } .ic-result-box { margin-top: 16px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #0284c7; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 760px) { .ic-inner { padding: 14px; } .ic-title { font-size: 18px; } .ic-spec-panel { grid-template-columns: 1fr; } .ic-pillars { grid-template-columns: 1fr 1fr; } .ic-ans-grid { grid-template-columns: 1fr; } .ic-pbtn.reset { margin-left: 0; } .ic-matrix-card { padding: 10px; } .ic-table { font-size: 11.5px; } .ic-table th, .ic-table td { padding: 6px 6px; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
Bảng Kiểm & Định Mã Chẩn Đoán Rối Loạn Phổ Tự Kỷ Theo Phân Loại Quốc Tế ICD-11 (WHO • Mã 6A02)
Công cụ chuẩn hóa theo ICD-11 (Tổ chức Y tế Thế giới WHO) giúp đối chiếu Các đặc điểm thiết yếu bắt buộc (Essential Features) và tự động tra cứu chính xác Mã phân nhóm lâm sàng (6A02.0 → 6A02.5) dựa trên ma trận kết hợp giữa Phát triển Trí tuệ (IDD) và Ngôn ngữ Chức năng (Functional Language).
| Mã ICD-11 | Rối loạn Phát triển Trí tuệ (IDD) | Mức độ Ngôn ngữ Chức năng | Mô tả Phân nhóm Lâm sàng của WHO |
|---|
• Mô tả định danh của WHO: ${matchedSub.desc}
• Chỉ định tiền sử thoái lui phát triển: ${regText}.
• Đối chiếu tương đương sang ICD-10 (đang dùng song song tại BV Việt Nam): Mã F84.0 (Tự kỷ ở trẻ em) ${matchedSub.code === '6A02.0' ? 'hoặc F84.5 (Hội chứng Asperger)' : ''}. `; } else if (metSOC && !metRRB && metONSET) { valCode.textContent = '6A01.22 (Ngữ dụng)'; dashHeadline.textContent = 'Đạt Trụ cột Xã hội nhưng thiếu Trụ cột Hành vi lặp lại → Phân biệt Mã 6A01.22'; scoreBadge.textContent = 'PHÂN BIỆT MÃ 6A01.22'; scoreBadge.style.background = '#f59e0b'; scoreBadge.style.color = '#ffffff'; resultBox.style.borderLeftColor = '#f59e0b'; resultBox.innerHTML = ` Hướng dẫn Chẩn đoán Phân biệt của ICD-11 (WHO):
• Cá nhân có suy giảm rõ rệt về Giao tiếp & Tương tác xã hội (${cntSOC}/3 đặc điểm) nhưng không bộc lộ các mẫu hành vi hạn hẹp, lặp lại và cứng nhắc (${cntRRB}/4 đặc điểm).
• Theo phân loại ICD-11 của WHO, trường hợp này được mã hóa sang Mã 6A01.22 — Rối loạn ngôn ngữ phát triển với suy giảm chủ yếu về ngôn ngữ ngữ dụng (Developmental language disorder with impairment of mainly pragmatic language). `; } else { valCode.textContent = 'Chưa đủ chuẩn 6A02'; dashHeadline.textContent = 'Chưa hội đủ các Đặc điểm Thiết yếu của Rối loạn Phổ Tự kỷ (Mã 6A02)'; scoreBadge.textContent = 'CHƯA ĐỦ TIÊU CHUẨN 6A02'; scoreBadge.style.background = '#10b981'; scoreBadge.style.color = '#ffffff'; resultBox.style.borderLeftColor = '#10b981'; resultBox.innerHTML = ` Kết luận Đối chiếu ICD-11 — Chưa Đạt Tiêu Chuẩn Mã 6A02:
• Để mã hóa chẩn đoán thuộc nhóm 6A02 (Autism Spectrum Disorder), cá nhân cần có bằng chứng ở cả Trụ cột Giao tiếp – Tương tác xã hội (${cntSOC}/3), Trụ cột Hành vi hạn hẹp – Lặp lại (${cntRRB}/4) và thỏa mãn đầy đủ 2 điều kiện Khởi phát sớm & Suy giảm chức năng (${cntONSET}/2). `; } updateFloatingFabVisibility(); } function applyPreset(type) { featStatus = {}; essentialFeatures.forEach(f => { featStatus[f.id] = 'NO'; }); if (type === 'reset') { renderItems(); updateSummary(); return; } // Bật đủ các đặc điểm thiết yếu của 6A02 ['S1', 'S2', 'S3', 'R1', 'R2', 'R4', 'O1', 'O2'].forEach(id => { featStatus[id] = 'YES'; }); if (type === '6A02_0') { elIDD.value = 'no'; elLang.value = 'mild_none'; elRegression.value = 'no'; featStatus['R1'] = 'NO'; featStatus['R3'] = 'YES'; } else if (type === '6A02_2') { elIDD.value = 'no'; elLang.value = 'impaired'; elRegression.value = 'no'; } else if (type === '6A02_3') { elIDD.value = 'yes'; elLang.value = 'impaired'; elRegression.value = 'no'; } else if (type === '6A02_5') { elIDD.value = 'yes'; elLang.value = 'absent'; elRegression.value = 'yes'; featStatus['R3'] = 'YES'; } renderItems(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); icWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { icWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 980px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } [elIDD, elLang, elRegression].forEach(sel => { sel.onchange = () => { updateSummary(); }; }); shadow.querySelectorAll('.ic-pbtn').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-preset')); }; }); shadow.querySelectorAll('#pillarTabs .ic-tab').forEach(function(tab) { tab.onclick = function() { filterPillar = this.getAttribute('data-pil'); shadow.querySelectorAll('#pillarTabs .ic-tab').forEach(t => t.classList.remove('active')); this.classList.add('active'); renderItems(); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); applyPreset('6A02_2'); })();
ICD-11 (viết tắt của International Classification of Diseases, 11th Revision – Bảng phân loại Quốc tế về Bệnh tật, Phiên bản lần thứ 11) là bộ tiêu chuẩn toàn cầu dùng để phân loại, mã hóa và thống kê tất cả các loại bệnh tật, chấn thương, rối loạn sức khỏe và nguyên nhân tử vong ở con người.
Bộ tiêu chuẩn này do Tổ chức Y tế Thế giới (WHO) biên soạn, được thông qua vào năm 2019 và chính thức có hiệu lực trên toàn cầu từ ngày 1 tháng 1 năm 2022 (thay thế cho phiên bản ICD-10 đã sử dụng từ đầu những năm 1990).
Vai trò và Mục đích cốt lõi của ICD-11
Khác với DSM-5-TR chỉ tập trung vào sức khỏe tâm thần, ICD-11 bao quát toàn bộ nền y học (từ tim mạch, ung thư,truyền nhiễm cho đến tâm thần, chấn thương tai nạn) với hơn 17.000 danh mục mã bệnh và hơn 120.000 thuật ngữ lâm sàng.
-
Thống kê dịch tễ học toàn cầu: Giúp WHO và Bộ Y tế các nước theo dõi tỷ lệ mắc bệnh, nguyên nhân tử vong và phát hiện sớm các dịch bệnh hoặc xu hướng sức khỏe mới.
-
Quản lý bệnh viện và Bảo hiểm y tế: Mọi chẩn đoán trên giấy ra viện, đơn thuốc hay hồ sơ bảo hiểm đều phải gắn với một “mã ICD”. Cơ quan bảo hiểm dựa vào mã này để xét duyệt chi trả viện phí.
-
Chuẩn hóa dữ liệu y tế số: Được thiết kế hoàn toàn trên nền tảng kỹ thuật số, cho phép tích hợp trực tiếp vào phần mềm Quản lý thông tin bệnh viện (HIS) và Hồ sơ bệnh án điện tử (EMR).
Những đột phá lớn của ICD-11 so với ICD-10
Sau hơn 30 năm kể từ bản ICD-10, ICD-11 mang đến những thay đổi mang tính bước ngoặt để bắt kịp y học hiện đại:
-
Cấu trúc mã bệnh thông minh và chi tiết hơn: Cho phép ghép nối nhiều mã (post-coordination) để mô tả chính xác tình trạng bệnh (ví dụ: không chỉ mã hóa “ung thư phổi”, mà có thể ghép thêm mã vị trí khối u, giai đoạn di căn và mức độ nghiêm trọng).
-
Cập nhật lớn về Sức khỏe tâm thần và Hành vi:
-
Thêm các chẩn đoán thời đại số: Lần đầu tiên đưa Rối loạn chơi game (Gaming disorder) và Rối loạn căng thẳng sau sang chấn phức tạp (Complex PTSD) vào danh mục bệnh chính thức.
-
Giải bệnh lý hóa vấn đề bản dạng giới: Chuyển mục “Không phù hợp giới” (Gender incongruence – người chuyển giới) ra khỏi chương Rối loạn tâm thần và đưa vào chương mới về Các tình trạng liên quan đến sức khỏe tình dục, giúp xóa bỏ định kiến coi người chuyển giới là mắc bệnh tâm thần nhưng vẫn đảm bảo quyền tiếp cận dịch vụ y tế của họ.
-
-
Bổ sung chương mới về Y học cổ truyền: Lần đầu tiên các chẩn đoán của Y học cổ truyền (Đông y) được chuẩn hóa và đưa vào hệ thống phân loại y tế quốc tế.
-
Theo dõi tình trạng Kháng kháng sinh (AMR): Cung cấp bộ mã riêng để ghi nhận các ca nhiễm khuẩn kháng thuốc – một trong những mối đe dọa y tế lớn nhất hiện nay.
Ứng dụng của ICD-11 tại Việt Nam
Tại Việt Nam, hệ thống phân loại ICD của WHO là tiêu chuẩn bắt buộc mang tính pháp lý tại tất cả các cơ sở khám chữa bệnh công lập và tư nhân:
| Giai đoạn | Tình hình áp dụng tại các bệnh viện Việt Nam |
| Hiện hành (Phổ biến) | Các bệnh viện vẫn đang sử dụng rộng rãi bảng mã ICD-10 để kê đơn, làm hồ sơ bệnh án và quyết toán Bảo hiểm Y tế (BHYT). |
| Lộ trình chuyển đổi | Bộ Y tế Việt Nam đang trong quá trình dịch thuật chuẩn hóa, tập huấn nhân lực và nâng cấp hạ tầng công nghệ thông tin bệnh viện để chuyển dịch dần từ ICD-10 sang ICD-11 nhằm đồng bộ với dữ liệu của WHO. |
Ví dụ thực tế: Khi bạn đi khám bệnh tại Việt Nam, trên sổ khám hoặc giấy ra viện luôn có mục “Chẩn đoán” kèm theo một ký hiệu như J00 (Viêm mũi họng cấp/cảm thường) hoặc F32 (Giai đoạn trầm cảm) – đó chính là mã bệnh trích từ hệ thống ICD của WHO (hiện tại là mã ICD-10; trong ICD-11, mã của giai đoạn trầm cảm sẽ chuyển thành 6A70).
[Tiêu chuẩn quốc tế] ICF / ICF-CY: Khung phân loại quốc tế về Chức năng, Khuyết tật và Sức khỏe trẻ em của WHO
(function() { function initICFTool() { const host = document.getElementById('icfcy-wp-host'); if (!host || host.shadowRoot) return; const placeholder = document.createComment('icfcy-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // Cấu hình 3 Phiên bản theo nhóm tuổi của ICF Core Set for ASD (WHO & Karolinska Institutet) const ageGroupConfigs = { preschool: { code: 'preschool', tabTitle: '🧸 1. Mầm non ICF-CY (0 – 5 tuổi)', tabSub: 'Chú ý chung, Bắt chước & Chơi đùa', fullTitle: 'Bộ Cốt Lõi ICF-CY Dành Cho Trẻ Nhỏ & Mầm Non (0 – 5 Tuổi • WHO ICF-CY Core Set)', desc: 'Tập trung vào các mã ICF-CY đặc trưng đầu đời: chức năng tâm lý xã hội (b122), điều hòa cảm xúc (b152), bắt chước (d130), chú ý chung (d161), giao tiếp không lời (d315/d335), chơi đùa (d880) và sự hỗ trợ của cha mẹ (e310).' }, school: { code: 'school', tabTitle: '🎒 2. Học đường ICF-CY (6 – 16 tuổi)', tabSub: 'Học tập, Điều hành, Bạn bè & Trường lớp', fullTitle: 'Bộ Cốt Lõi ICF-CY Dành Cho Trẻ Em & Thiếu Niên Lứa Tuổi Học Đường (6 – 16 Tuổi)', desc: 'Đánh giá toàn diện chức năng điều hành (b164), kiểm soát xung động, hội thoại (d350), xử lý căng thẳng (d240), kết bạn đồng trang lứa (d750), giáo dục phổ thông (d820) và điều chỉnh môi trường lớp học (e130/e330).' }, adult: { code: 'adult', tabTitle: '🧑 3. Vị thành niên & Người lớn (≥ 17 tuổi)', tabSub: 'Tự lập, Lao động, Cộng đồng & Dịch vụ', fullTitle: 'Bộ Cốt Lõi ICF Dành Cho Thanh Thiếu Niên Lớn & Người Trưởng Thành (Từ 17 Tuổi Trở Lên)', desc: 'Đo lường khả năng sống tự lập (d570/d640), quan hệ xã hội phức hợp (d720), đào tạo nghề & việc làm (d840/d850), đi lại cộng đồng và hệ thống dịch vụ an sinh – việc làm (e585/e590).' } }; // Danh mục 32 Mã ICF / ICF-CY Cốt lõi thuộc 3 Thành phần: b (Body Functions), d (Activities & Participation), e (Environmental Factors) const icfCategories = [ // ===================================================== // THÀNH PHẦN 1: CHỨC NĂNG CƠ THỂ & TÂM THẦN (BODY FUNCTIONS • Mã b • 10 mục) // ===================================================== { id: 'b122', comp: 'b', code: 'b122', ages: ['preschool', 'school', 'adult'], name: 'b122 — Chức năng Tâm lý Xã hội Toàn cục (Global Psychosocial Functions)', desc: 'Các chức năng tâm thần cần thiết để tích hợp và hình thành các kỹ năng giao tiếp cá nhân – xã hội, thấu hiểu ý nghĩa xã hội và thiết lập tương tác hai chiều (Thuyết tâm trí).' }, { id: 'b125', comp: 'b', code: 'b125', ages: ['preschool', 'school'], name: 'b125 — Khí chất và Xu hướng Phản ứng Phát triển (Dispositions & Intra-personal Functions - ICF-CY)', desc: 'Khả năng thích ứng trước các tình huống mới lạ, mức độ linh hoạt hành vi so với sự cứng nhắc hoặc kháng cự thay đổi ở trẻ em.' }, { id: 'b134', comp: 'b', code: 'b134', ages: ['preschool', 'school', 'adult'], name: 'b134 — Chức năng Giấc ngủ (Sleep Functions)', desc: 'Thời lượng, chất lượng giấc ngủ, khả năng dễ đi vào giấc ngủ và duy trì giấc ngủ suốt đêm không bị thức giấc.' }, { id: 'b140', comp: 'b', code: 'b140', ages: ['preschool', 'school', 'adult'], name: 'b140 — Chức năng Chú ý (Attention Functions)', desc: 'Khả năng duy trì sự tập trung chú ý trong khoảng thời gian cần thiết, chuyển hướng chú ý linh hoạt và chia sẻ sự chú ý với người khác.' }, { id: 'b147', comp: 'b', code: 'b147', ages: ['preschool', 'school', 'adult'], name: 'b147 — Chức năng Tâm thần – Vận động (Psychomotor Functions)', desc: 'Kiểm soát mức độ hoạt động vận động và lời nói (không bị tăng động bồn chồn quá mức, chậm chạp lờ đờ hoặc có các cử động định hình rập khuôn).' }, { id: 'b152', comp: 'b', code: 'b152', ages: ['preschool', 'school', 'adult'], name: 'b152 — Chức năng Cảm xúc (Emotional Functions)', desc: 'Sự phù hợp của cảm xúc với hoàn cảnh và khả năng tự điều tiết cảm xúc (kiểm soát cơn giận, lo âu, thất vọng).' }, { id: 'b156', comp: 'b', code: 'b156', ages: ['preschool', 'school', 'adult'], name: 'b156 — Chức năng Tri giác & Xử lý Giác quan (Perceptual Functions)', desc: 'Khả năng tiếp nhận, phân biệt và điều hòa các kích thích Thính giác, Thị giác, Xúc giác, Vị – Khứu giác và Tiền đình – Bản thể (không bị quá tải hoặc tìm kiếm cảm giác bất thường).' }, { id: 'b164', comp: 'b', code: 'b164', ages: ['school', 'adult'], name: 'b164 — Chức năng Tư duy Bậc cao / Chức năng Điều hành (Higher-level Cognitive / Executive Functions)', desc: 'Tư duy trừu tượng, tổ chức và lập kế hoạch công việc, quản lý thời gian, tính linh hoạt nhận thức và giải quyết vấn đề.' }, { id: 'b167', comp: 'b', code: 'b167', ages: ['preschool', 'school', 'adult'], name: 'b167 — Chức năng Tâm thần về Ngôn ngữ (Mental Functions of Language)', desc: 'Năng lực thần kinh trong việc tiếp nhận giải mã ngôn ngữ (nghe hiểu/đọc hiểu) và diễn đạt ngôn ngữ (lời nói/chữ viết/ký hiệu).' }, { id: 'b760', comp: 'b', code: 'b760', ages: ['preschool', 'school', 'adult'], name: 'b760 — Kiểm soát và Phối hợp Vận động Tự chủ (Control of Voluntary Movement / Praxis)', desc: 'Sự khéo léo phối hợp mắt – tay, phối hợp hai bên cơ thể và lập kế hoạch vận động tinh/thô.' }, // ===================================================== // THÀNH PHẦN 2: HOẠT ĐỘNG VÀ THAM GIA (ACTIVITIES & PARTICIPATION • Mã d • 14 mục) // ===================================================== { id: 'd130', comp: 'd', code: 'd130', ages: ['preschool', 'school'], name: 'd130 — Sao chép / Bắt chước (Copying / Imitation - Chương 1: Học tập cơ bản)', desc: 'Bắt chước nét mặt, cử chỉ cơ thể, thao tác với đồ vật, âm thanh và chữ cái như một phần của quá trình học tập sớm.' }, { id: 'd161', comp: 'd', code: 'd161', ages: ['preschool', 'school'], name: 'd161 — Định hướng Chú ý / Chú ý Chung (Directing Attention / Joint Attention - ICF-CY)', desc: 'Chủ động hướng sự chú ý vào khuôn mặt, giọng nói của người khác và cùng chia sẻ sự chú ý vào một đồ vật/sự kiện chung.' }, { id: 'd230', comp: 'd', code: 'd230', ages: ['preschool', 'school', 'adult'], name: 'd230 — Thực hiện Lịch trình Sinh hoạt Hàng ngày (Carrying out Daily Routine)', desc: 'Thực hiện các hoạt động thường nhật từ sáng đến tối, chuyển tiếp mượt mà giữa các hoạt động và thích ứng khi lịch trình thay đổi.' }, { id: 'd240', comp: 'd', code: 'd240', ages: ['preschool', 'school', 'adult'], name: 'd240 — Xử lý Căng thẳng và Các Đòi hỏi Tâm lý (Handling Stress & Psychological Demands)', desc: 'Kiểm soát áp lực, sự quá tải và hành vi thích ứng khi đối mặt với yêu cầu học tập, công việc hoặc tình huống khủng hoảng.' }, { id: 'd310', comp: 'd', code: 'd310', ages: ['preschool', 'school', 'adult'], name: 'd310 — Giao tiếp Tiếp nhận: Hiểu Thông điệp Lời nói (Communicating with - Receiving Spoken Messages)', desc: 'Hiểu đúng nghĩa đen và nghĩa bóng/ngữ dụng của các câu nói trong giao tiếp hàng ngày.' }, { id: 'd315', comp: 'd', code: 'd315', ages: ['preschool', 'school', 'adult'], name: 'd315 — Giao tiếp Tiếp nhận: Hiểu Thông điệp Phi ngôn ngữ (Receiving Nonverbal Messages)', desc: 'Đọc hiểu cử chỉ tay chân, biểu cảm khuôn mặt, ngôn ngữ cơ thể và các ký hiệu/biểu tượng hình ảnh.' }, { id: 'd330', comp: 'd', code: 'd330', ages: ['preschool', 'school', 'adult'], name: 'd330 — Giao tiếp Diễn đạt: Nói (Speaking)', desc: 'Sử dụng từ ngữ, cụm từ và câu nói có nghĩa để yêu cầu, bình luận, kể chuyện và diễn đạt suy nghĩ.' }, { id: 'd335', comp: 'd', code: 'd335', ages: ['preschool', 'school', 'adult'], name: 'd335 — Tạo Thông điệp Phi ngôn ngữ / AAC (Producing Nonverbal Messages)', desc: 'Sử dụng ánh mắt, chỉ trỏ, gật/lắc đầu, nét mặt hoặc tranh ảnh PECS / thiết bị AAC để truyền đạt thông tin.' }, { id: 'd350', comp: 'd', code: 'd350', ages: ['school', 'adult'], name: 'd350 — Hội thoại Qua lại (Conversation)', desc: 'Bắt đầu, duy trì và kết thúc cuộc trò chuyện qua lại hai chiều với một hoặc nhiều người theo đúng chủ đề và quy tắc luân phiên.' }, { id: 'd510_d570', comp: 'd', code: 'd510–d570', ages: ['preschool', 'school', 'adult'], name: 'd510–d570 — Tự Chăm sóc Bản thân (Self-Care: Tắm rửa, Đi vệ sinh, Mặc đồ, Ăn uống & Giữ an toàn)', desc: 'Mức độ độc lập trong việc tự xúc ăn, uống nước, đi vệ sinh, tắm gội, mặc quần áo và chăm sóc sức khỏe cá nhân.' }, { id: 'd710_d720', comp: 'd', code: 'd710–d720', ages: ['preschool', 'school', 'adult'], name: 'd710–d720 — Tương tác Giữa các Cá nhân Cơ bản & Phức hợp (Interpersonal Interactions)', desc: 'Thể hiện sự tôn trọng, ấm áp, giữ khoảng cách xã hội phù hợp và điều chỉnh hành vi ứng xử trong các mối quan hệ.' }, { id: 'd750', comp: 'd', code: 'd750', ages: ['preschool', 'school', 'adult'], name: 'd750 — Các Mối quan hệ Xã hội Không chính thức / Kết bạn (Informal Social Relationships / Peers)', desc: 'Khả năng làm quen, chơi hợp tác và duy trì tình bạn với bạn đồng trang lứa ở lớp học, khu dân cư.' }, { id: 'd880', comp: 'd', code: 'd880', ages: ['preschool', 'school'], name: 'd880 — Tham gia vào Hoạt động Chơi đùa (Engagement in Play - Mã đặc hiệu ICF-CY)', desc: 'Từ chơi khám phá độc lập, chơi quan sát, chơi song song đến chơi đóng vai giả vờ và chơi hợp tác có luật lệ với bạn.' }, { id: 'd815_d850', comp: 'd', code: 'd815–d850', ages: ['preschool', 'school', 'adult'], name: 'd815–d850 — Giáo dục Mầm non / Phổ thông & Việc làm (Education and Employment)', desc: 'Tham gia hòa nhập hiệu quả tại trường mầm non (d815), trường phổ thông (d820), học nghề (d840) hoặc lao động việc làm (d850).' }, // ===================================================== // THÀNH PHẦN 3: YẾU TỐ MÔI TRƯỜNG (ENVIRONMENTAL FACTORS • Mã e • 8 mục) // ===================================================== { id: 'e125_e130', comp: 'e', code: 'e125–e130', ages: ['preschool', 'school', 'adult'], name: 'e125–e130 — Sản phẩm & Công nghệ Hỗ trợ Giao tiếp và Giáo dục (Assistive Tech, AAC & Visual Supports)', desc: 'Sự sẵn có của bảng lịch trình hình ảnh, thẻ PECS, thiết bị hỗ trợ giao tiếp AAC, phần mềm học tập và giáo cụ trực quan.' }, { id: 'e240_e250', comp: 'e', code: 'e240–e250', ages: ['preschool', 'school', 'adult'], name: 'e240–e250 — Môi trường Vật lý: Ánh sáng & Âm thanh (Light and Sound in Environment)', desc: 'Mức độ tiếng ồn, âm vang và cường độ ánh sáng tại nhà/lớp học/nơi làm việc (là Rào cản gây quá tải giác quan hay đã được điều chỉnh Thúc đẩy êm dịu).' }, { id: 'e310', comp: 'e', code: 'e310', ages: ['preschool', 'school', 'adult'], name: 'e310 — Sự Hỗ trợ từ Gia đình Ruột thịt (Immediate Family Support)', desc: 'Mức độ thấu hiểu, đồng hành can thiệp thực hành hàng ngày và hỗ trợ tinh thần/vật chất từ cha mẹ, anh chị em.' }, { id: 'e330_e340', comp: 'e', code: 'e330–e340', ages: ['preschool', 'school', 'adult'], name: 'e330–e340 — Giáo viên, Quản lý & Người Hỗ trợ Cá nhân (Teachers, Supervisors & Personal Care Providers)', desc: 'Sự hỗ trợ thực tế từ giáo viên đứng lớp, giáo viên hỗ trợ hòa nhập (Shadow teacher) hoặc người hướng dẫn tại nơi làm việc.' }, { id: 'e355', comp: 'e', code: 'e355', ages: ['preschool', 'school', 'adult'], name: 'e355 — Đội ngũ Chuyên gia Y tế & Trị liệu (Health & Therapy Professionals)', desc: 'Sự hỗ trợ chuyên môn từ Bác sĩ Nhi phát triển/Tâm thần, chuyên gia Tâm lý, Ngôn ngữ trị liệu (SLP), Hoạt động trị liệu (OT) và Giáo dục đặc biệt.' }, { id: 'e410_e460', comp: 'e', code: 'e410–e460', ages: ['preschool', 'school', 'adult'], name: 'e410–e460 — Thái độ của Gia đình, Bạn bè, Nhà trường & Xã hội (Individual and Societal Attitudes)', desc: 'Thái độ bao dung, tôn trọng sự đa dạng thần kinh và hỗ trợ hòa nhập (Facilitator +) hay kỳ thị, bắt nạt, thiếu thông cảm (Barrier .).' }, { id: 'e580', comp: 'e', code: 'e580', ages: ['preschool', 'school', 'adult'], name: 'e580 — Dịch vụ, Hệ thống và Chính sách Y tế / Phục hồi chức năng (Health Services & Policies)', desc: 'Khả năng tiếp cận dịch vụ sàng lọc sớm, chẩn đoán, can thiệp sớm và bảo hiểm y tế tại địa phương.' }, { id: 'e585_e590', comp: 'e', code: 'e585–e590', ages: ['preschool', 'school', 'adult'], name: 'e585–e590 — Dịch vụ, Hệ thống và Chính sách Giáo dục Hòa nhập & Việc làm (Education & Labor Services)', desc: 'Chính sách hỗ trợ giáo dục đặc biệt/hòa nhập tại trường học, đào tạo hướng nghiệp và chính sách việc làm cho người tự kỷ.' } ]; let currentAgeGrp = 'preschool'; let filterComp = 'all'; let qualifiers = {}; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .icf-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } .icf-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .icf-inner { padding: 24px; max-width: 980px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .icf-wrap.is-fullscreen .icf-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .icf-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(2, 132, 199, 0.45), 0 0 0 0 rgba(2, 132, 199, 0.4); } 70% { box-shadow: 0 6px 20px rgba(2, 132, 199, 0.45), 0 0 0 10px rgba(2, 132, 199, 0); } 100% { box-shadow: 0 6px 20px rgba(2, 132, 199, 0.45), 0 0 0 0 rgba(2, 132, 199, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #0369a1 0%, #0284c7 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(2, 132, 199, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } .age-switcher-box { background: #f1f5f9; padding: 10px; border-radius: 12px; margin-bottom: 18px; } .age-switcher-lbl { font-size: 12px; font-weight: 800; color: #334155; text-transform: uppercase; margin-bottom: 8px; display: block; } .age-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; } .age-btn { padding: 10px 12px; border-radius: 9px; border: 1.5px solid transparent; background: rgba(255, 255, 255, 0.65); cursor: pointer; text-align: left; transition: all 0.18s ease; touch-action: manipulation; } .age-btn:hover { background: #ffffff; } .age-btn.active { background: #ffffff; border-color: #0284c7; box-shadow: 0 3px 10px rgba(15, 23, 42, 0.08); } .age-btn-title { font-size: 13.5px; font-weight: 800; color: #0f172a; display: block; } .age-btn.active .age-btn-title { color: #0369a1; } .age-btn-sub { font-size: 11.5px; color: #64748b; margin-top: 2px; display: block; } .icf-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .icf-header-text { flex: 1 1 260px; } .icf-title { font-size: 20px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .icf-desc { font-size: 13.8px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #f0f9ff; color: #0369a1; border: 1px solid #bae6fd; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #0284c7; color: #ffffff; border-color: #0284c7; } .icf-controls { display: flex; flex-direction: column; gap: 10px; margin-bottom: 18px; } .icf-presets { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; } .icf-preset-lbl { font-size: 12.5px; font-weight: 700; color: #475569; margin-right: 4px; } .icf-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; touch-action: manipulation; } .icf-pbtn:hover { background: #f1f5f9; } .icf-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } .icf-comp-tabs { display: flex; flex-wrap: wrap; gap: 6px; } .icf-ctab { padding: 6px 12px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .icf-ctab.active { background: #0284c7; color: #ffffff; border-color: #0284c7; } .icf-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .icf-wrap.is-fullscreen .icf-dash { top: 58px; } .icf-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .icf-score-big { font-size: 20px; font-weight: 800; line-height: 1.25; } .icf-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .icf-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .icf-pillars { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; font-size: 12px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .icf-pillar-box { background: #1e293b; padding: 7px 10px; border-radius: 8px; } .icf-pillar-val { font-weight: 800; color: #ffffff; font-size: 13.5px; display: block; margin-top: 2px; } .icf-item { border: 1px solid #e2e8f0; border-radius: 12px; padding: 14px 16px; margin-bottom: 12px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 8px; } .icf-item.imp-high { border-color: #fca5a5; background: #fff5f5; } .icf-item.imp-mid { border-color: #fde68a; background: #fffbeb; } .icf-item.fac-good { border-color: #a7f3d0; background: #f0fdf4; } .icf-item-title { font-size: 15px; font-weight: 800; color: #0f172a; } .icf-item-desc { font-size: 13.4px; color: #334155; } .icf-tags { display: flex; flex-wrap: wrap; gap: 6px; } .icf-tag { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .icf-tag.comp-b { background: #dbeafe; color: #1d4ed8; } .icf-tag.comp-d { background: #f3e8ff; color: #7e22ce; } .icf-tag.comp-e { background: #dcfce7; color: #15803d; } .icf-ans-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; margin-top: 4px; } .icf-abtn { padding: 8px 5px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 11.5px; font-weight: 700; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .icf-abtn:hover { border-color: #64748b; } .icf-abtn.sel-green { background: #10b981; border-color: #10b981; color: #ffffff; } .icf-abtn.sel-blue { background: #0284c7; border-color: #0284c7; color: #ffffff; } .icf-abtn.sel-amber { background: #f59e0b; border-color: #f59e0b; color: #ffffff; } .icf-abtn.sel-orange { background: #ea580c; border-color: #ea580c; color: #ffffff; } .icf-abtn.sel-red { background: #ef4444; border-color: #ef4444; color: #ffffff; } .icf-profile-card { margin-top: 20px; padding: 16px 18px; border-radius: 12px; background: #ffffff; border: 1px solid #e2e8f0; overflow-x: auto; } .icf-table { width: 100%; border-collapse: collapse; font-size: 12.8px; min-width: 640px; } .icf-table th, .icf-table td { border: 1px solid #cbd5e1; padding: 8px 10px; text-align: left; } .icf-table th { background: #f1f5f9; font-weight: 800; color: #0f172a; } .icf-result-box { margin-top: 16px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #0284c7; font-size: 14px; line-height: 1.65; color: #1e293b; } .icf-result-box code { background: #e2e8f0; padding: 1px 5px; border-radius: 4px; font-weight: 700; font-size: 13px; } @media (max-width: 760px) { .icf-inner { padding: 14px; } .age-grid { grid-template-columns: 1fr; } .icf-title { font-size: 18px; } .icf-pillars { grid-template-columns: 1fr 1fr; } .icf-ans-grid { grid-template-columns: 1fr 1fr; } .icf-pbtn.reset { margin-left: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
| Mã ICF đầy đủ | Thành phần ICF | Tên Lĩnh vực Chức năng / Hoạt động / Môi trường | Mức độ Định lượng (WHO Qualifier) |
|---|
${aCfg.fullTitle}
${aCfg.desc}
`; } function formatQualifierLabel(comp, qVal) { if (comp === 'b' || comp === 'd') { const map = { 0: '.0 — Không khiếm khuyết/khó khăn (0–4%)', 1: '.1 — Mức độ Nhẹ (5–24%)', 2: '.2 — Mức độ Vừa (25–49%)', 3: '.3 — Mức độ Nặng (50–95%)', 4: '.4 — Mức độ Hoàn toàn (96–100%)' }; return map[qVal] || map[0]; } else { const mapE = { '-3': '.3 — Rào cản Nặng (Severe Barrier)', '-1': '.1 — Rào cản Nhẹ–Vừa (Mild/Mod Barrier)', '0': '.0 — Không ảnh hưởng (Neutral)', '2': '+2 — Yếu tố Thúc đẩy Vừa (Mod Facilitator)', '4': '+4 — Yếu tố Thúc đẩy Rất mạnh (Complete Facilitator)' }; return mapE[String(qVal)] || mapE['0']; } } function formatFullICFCode(cat, qVal) { if (cat.comp === 'b' || cat.comp === 'd') { return `${cat.code}.${qVal}`; } else { if (qVal 0) return `${cat.code}+${qVal}`; return `${cat.code}.0`; } } function renderItems() { const activeCats = getActiveCategories(); itemList.innerHTML = ''; const bdBtns = [ { val: 0, lbl: '.0 - Không khó khăn (0–4%)', cls: 'sel-green' }, { val: 1, lbl: '.1 - Mức Nhẹ (5–24%)', cls: 'sel-blue' }, { val: 2, lbl: '.2 - Mức Vừa (25–49%)', cls: 'sel-amber' }, { val: 3, lbl: '.3 - Mức Nặng (50–95%)', cls: 'sel-orange' }, { val: 4, lbl: '.4 - Hoàn toàn (96–100%)', cls: 'sel-red' } ]; const eBtns = [ { val: -3, lbl: '.3 - Rào cản Nặng (Barrier)', cls: 'sel-red' }, { val: -1, lbl: '.1 - Rào cản Nhẹ–Vừa', cls: 'sel-amber' }, { val: 0, lbl: '.0 - Trung tính (0%)', cls: 'sel-blue' }, { val: 2, lbl: '+2 - Hỗ trợ / Thúc đẩy Khá', cls: 'sel-green' }, { val: 4, lbl: '+4 - Hỗ trợ / Thúc đẩy Tối đa', cls: 'sel-green' } ]; activeCats.forEach(function(cat) { if (filterComp !== 'all' && cat.comp !== filterComp) return; const uVal = (qualifiers[cat.id] !== undefined) ? qualifiers[cat.id] : 0; const fullCode = formatFullICFCode(cat, uVal); let rowCls = 'icf-item'; if (cat.comp === 'b' || cat.comp === 'd') { if (uVal >= 3) rowCls += ' imp-high'; else if (uVal === 2) rowCls += ' imp-mid'; else if (uVal === 0) rowCls += ' fac-good'; } else { if (uVal 0) rowCls += ' fac-good'; } const compName = (cat.comp === 'b') ? '1. Chức năng Cơ thể [ b ]' : (cat.comp === 'd' ? '2. Hoạt động & Tham gia [ d ]' : '3. Yếu tố Môi trường [ e ]'); const btns = (cat.comp === 'e') ? eBtns : bdBtns; const btnsHtml = btns.map(b => { const cls = 'icf-abtn' + (uVal === b.val ? ` ${b.cls}` : ''); return ``; }).join(''); const el = document.createElement('div'); el.className = rowCls; el.innerHTML = `${fullCode} thay cho dấu `)
resultBox.innerHTML = `
🌐 BẢN TỔNG HỢP LẬP LUẬN PHỤC HỒI CHỨC NĂNG THEO MÔ HÌNH TÂM – SINH – XÃ HỘI ICF (WHO):
• 1. Các Khiếm khuyết Cơ thể [b] & Hạn chế Hoạt động – Tham gia [d] từ mức Vừa đến Nặng (≥ .2):
${severeList.join(', ') || 'Không có mục nào ở mức ≥ .2.'}
• 2. Các Yếu tố Thúc đẩy Môi trường hiện có [e+]:
${facilitatorList.join(', ') || 'Chưa ghi nhận yếu tố thúc đẩy (+).'}
• 3. Các Rào cản Môi trường cần dỡ bỏ [e.]:
${barrierList.join(', ') || 'Không có rào cản môi trường đáng kể.'}
• 💡 Chiến lược Can thiệp theo Triết lý ICF-CY: Khuyết tật là kết quả của sự tương tác giữa khiếm khuyết cá nhân (b) và rào cản môi trường (e). Ngay cả khi mức độ khiếm khuyết thần kinh (b122, b167) chưa thể thay đổi ngay một sớm một chiều, việc chuyển hóa các mã Môi trường từ Rào cản (.2/.3) thành Yếu tố Thúc đẩy (+3/+4) (như trang bị lịch trình hình ảnh/AAC e125+4, giảm tiếng ồn lớp học e250+3, huấn luyện phụ huynh và giáo viên e310+4, e330+4) sẽ lập tức cải thiện điểm Thực hiện thực tế (Performance) trên các mã Hoạt động & Tham gia (d)!
`;
updateFloatingFabVisibility();
}
function applyPreset(type) {
qualifiers = {};
icfCategories.forEach(c => { qualifiers[c.id] = 0; });
if (type === 'reset') {
renderItems();
updateSummary();
return;
}
if (type === 'good_env') {
icfCategories.forEach((c, idx) => {
if (c.comp === 'b' || c.comp === 'd') {
qualifiers[c.id] = (idx % 2 === 0) ? 2 : 1;
} else {
qualifiers[c.id] = (c.id === 'e240_e250') ? 2 : 4;
}
});
} else if (type === 'barrier_env') {
icfCategories.forEach((c, idx) => {
if (c.comp === 'b' || c.comp === 'd') {
qualifiers[c.id] = (idx % 2 === 0) ? 3 : 2;
} else {
qualifiers[c.id] = (c.id === 'e310') ? 2 : -3;
}
});
} else if (type === 'mild') {
icfCategories.forEach((c, idx) => {
if (c.comp === 'b' || c.comp === 'd') {
qualifiers[c.id] = (idx % 2 === 0) ? 1 : 0;
} else {
qualifiers[c.id] = 2;
}
});
}
renderItems();
updateSummary();
}
function updateFloatingFabVisibility() {
if (isFullscreen) {
fabBtn.classList.add('visible', 'is-exit-mode');
fabText.textContent = 'Thu nhỏ lại';
fabIcon.textContent = '✕';
return;
}
fabBtn.classList.remove('is-exit-mode');
fabText.textContent = 'Phóng to bảng';
fabIcon.textContent = '⛶';
const rect = host.getBoundingClientRect();
const viewH = window.innerHeight || document.documentElement.clientHeight;
const isReadingWidget = rect.top 180;
if (isReadingWidget) {
fabBtn.classList.add('visible');
} else {
fabBtn.classList.remove('visible');
}
}
function setFullscreenState(active) {
if (active === isFullscreen) return;
isFullscreen = active;
if (isFullscreen) {
savedScrollY = window.scrollY || window.pageYOffset || 0;
if (host.parentNode && host.parentNode !== document.body) {
host.parentNode.insertBefore(placeholder, host);
document.body.appendChild(host);
}
host.style.cssText = [
'position: fixed !important',
'inset: 0 !important',
'top: 0 !important',
'left: 0 !important',
'right: 0 !important',
'bottom: 0 !important',
'width: 100vw !important',
'height: 100vh !important',
'height: 100dvh !important',
'max-width: none !important',
'max-height: none !important',
'margin: 0 !important',
'padding: 0 !important',
'z-index: 2147483647 !important',
'background: #f8fafc !important',
'overflow-y: auto !important',
'-webkit-overflow-scrolling: touch !important',
'display: block !important'
].join(';');
icfWrap.classList.add('is-fullscreen');
document.documentElement.style.overflow = 'hidden';
document.body.style.overflow = 'hidden';
fsText.textContent = 'Thu nhỏ';
fsIcon.textContent = '✕';
host.scrollTop = 0;
} else {
icfWrap.classList.remove('is-fullscreen');
if (placeholder.parentNode) {
placeholder.parentNode.insertBefore(host, placeholder);
placeholder.parentNode.removeChild(placeholder);
}
host.style.cssText = 'width: 100%; max-width: 980px; margin: 28px auto; display: block; clear: both;';
document.documentElement.style.overflow = '';
document.body.style.overflow = '';
fsText.textContent = 'Toàn màn hình';
fsIcon.textContent = '⛶';
if (document.fullscreenElement && document.exitFullscreen) {
document.exitFullscreen().catch(() => {});
}
window.scrollTo(0, savedScrollY);
}
updateFloatingFabVisibility();
}
shadow.querySelectorAll('#ageGrid .age-btn').forEach(function(btn) {
btn.onclick = function() {
currentAgeGrp = this.getAttribute('data-age');
shadow.querySelectorAll('#ageGrid .age-btn').forEach(b => b.classList.remove('active'));
this.classList.add('active');
renderHeader();
renderItems();
updateSummary();
};
});
shadow.querySelectorAll('.icf-pbtn').forEach(function(btn) {
btn.onclick = function() {
applyPreset(this.getAttribute('data-preset'));
};
});
shadow.querySelectorAll('#compTabs .icf-ctab').forEach(function(tab) {
tab.onclick = function() {
filterComp = this.getAttribute('data-comp');
shadow.querySelectorAll('#compTabs .icf-ctab').forEach(t => t.classList.remove('active'));
this.classList.add('active');
renderItems();
};
});
shadow.getElementById('btnToggleFullscreen').onclick = () => {
setFullscreenState(!isFullscreen);
};
shadow.getElementById('btnExitFloating').onclick = () => {
setFullscreenState(false);
};
fabBtn.onclick = () => {
setFullscreenState(!isFullscreen);
};
window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true });
window.addEventListener('resize', updateFloatingFabVisibility, { passive: true });
window.addEventListener('keydown', (e) => {
if (e.key === 'Escape' && isFullscreen) {
setFullscreenState(false);
}
});
renderHeader();
applyPreset('good_env');
}
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', initICFTool);
} else {
initICFTool();
}
})();
ICF / ICF-CY (Khung Phân loại Quốc tế về Chức năng, Khuyết tật và Sức khỏe của WHO): Nếu ICD-11 dùng để “gọi tên bệnh”, thì ICF là bộ tiêu chuẩn quốc tế giúp đánh giá khả năng hoạt động và sự tham gia xã hội của trẻ, làm nền tảng cho mọi kế hoạch can thiệp hiện đại.
ICF (International Classification of Functioning, Disability and Health — 2001) và ICF-CY (Bản dành cho Trẻ em và Thanh thiếu niên — 2007, hiện đã được hợp nhất trực tiếp vào hệ thống ICF chung và liên kết chặt chẽ với ICD-11) là Khung Phân loại Quốc tế về Chức năng, Khuyết tật và Sức khỏe do Tổ chức Y tế Thế giới (WHO) ban hành.
Nếu như ICD-11 (mã 6A02) và DSM-5-TR (mã F84.0) trả lời câu hỏi: “Trẻ mắc hội chứng/rối loạn gì?”, thì ICF / ICF-CY trả lời câu hỏi quan trọng không kém trong phục hồi chức năng và giáo dục đặc biệt: “Đứa trẻ này đang vận hành trong đời sống hàng ngày như thế nào, điểm mạnh là gì, và môi trường xung quanh đang hỗ trợ hay cản trở trẻ ra sao?”
1. Tóm tắt cốt lõi về Cấu trúc & Hệ thống Mã hóa của ICF / ICF-CY
Mô hình Tâm – Sinh – Xã hội (Biopsychosocial Model) của ICF chia chức năng con người thành 4 Thành phần (Components) được ký hiệu bằng 4 chữ cái đầu (b, s, d, e):
Mã ký hiệu
Thành phần phân loại (Component)
Nội dung lâm sàng trong Tự kỷ (ASD) & Phát triển
Hệ thống Chấm điểm Định lượng (Qualifiers)
b
1. Chức năng Cơ thể
(Body Functions)
Chức năng tâm thần – thần kinh (b1), giác quan (b2), giọng nói và lời nói (b3), vận động (b7).
VD: b122 (Tâm lý xã hội), b140 (Chú ý), b164(Điều hành).
Mức độ khiếm khuyết (0 – 4):
• .0 Không khiếm khuyết (0–4%)
• .1 Khiếm khuyết nhẹ (5–24%)
• .2 Khiếm khuyết vừa (25–49%)
• .3 Khiếm khuyết nặng (50–95%)
• .4 Khiếm khuyết hoàn toàn (96–100%)
s
2. Cấu trúc Cơ thể
(Body Structures)
Cấu trúc giải phẫu của hệ thần kinh (s110 Cấu trúc não bộ) hoặc cơ quan phát âm (s3).
Thường ít chấm biến đổi ở trẻ ASD đơn thuần (trừ khi kèm bại não, dị tật giải phẫu).
d
3. Hoạt động & Tham gia
(Activities & Participation)
Học tập (d1), Thực hiện nhiệm vụ (d2), Giao tiếp (d3), Vận động (d4), Tự chăm sóc (d5), Đời sống gia đình (d6), Tương tác cá nhân (d7), Học đường & Nghề nghiệp (d8).
👉 Đặc trưng trẻ nhỏ (ICF-CY): Chơi đùa (d880), Chú ý chung (d161), Bắt chước (d130).
Đánh giá song song 2 chỉ số (.0đến .4):
1. Năng lực tự thân (Capacity):Khả năng trẻ tự làm trong môi trường chuẩn không có hỗ trợ.
2. Thực hiện thực tế (Performance): Mức độ trẻ làm được trong đời sống hàng ngày khi đã có hỗ trợ/điều chỉnh.
e
4. Yếu tố Môi trường
(Environmental Factors)
Học liệu/Công nghệ hỗ trợ AAC (e1), Môi trường ánh sáng/âm thanh (e2), Sự hỗ trợ của gia đình/giáo viên (e3), Thái độ xã hội (e4), Dịch vụ y tế – giáo dục (e5).
Chấm theo 2 chiều đối lập:
• Rào cản (Barrier): .1 đến .4(Cản trở trẻ)
• Thúc đẩy (Facilitator): +1đến +4 (Hỗ trợ giúp trẻ làm tốt hơn)
2. Bộ Cốt lõi ICF cho Rối loạn Phổ Tự kỷ (ICF Core Sets for ASD) & Các Công cụ Quốc tế
Vì toàn bộ cuốn ICF-CY có tới hơn 1.600 mã phân loại (quá dài để chấm trên một bệnh nhân), Tổ chức Y tế Thế giới (WHO), ICF Research Branch và Viện Karolinska (Thụy Điển – GS. Sven Bölte) đã nghiên cứu chuẩn hóa thành Bộ Cốt lõi ICF dành riêng cho Tự kỷ (ICF Core Sets for ASD) với các phiên bản theo độ tuổi: Mầm non (0–5 tuổi), Học đường (6–16 tuổi) và Người lớn (≥17 tuổi).
Ngoài ra, các hệ thống tra cứu chính thức của quốc tế hiện có:
-
WHO ICF Browser: Trình duyệt tra cứu cây phân loại mã ICF chính thức của WHO (icd.who.int/dev11/l-icf/en).
-
ICF-based Documentation Tool: Công cụ lập biểu đồ hồ sơ chức năng của ICF Research Branch (Thụy Sĩ).
[Chỉ số báo cáo] Chỉ số IQ vs. DQ: Phân biệt Thương số trí tuệ (IQ) và Thương số phát triển (DQ) trong chẩn đoán
Trong thực tế lâm sàng tại Việt Nam, khi cầm tờ phiếu kết quả khám tâm lý (ví dụ: phiếu KSPD Kyoto hay Bayley-III ghi DQ = 65), rất nhiều phụ huynh hoảng loạn vì tưởng con mình bị “thiểu năng trí tuệ vĩnh viễn giống như IQ = 65”.Ngược lại, nhiều giáo viên/chuyên viên mới vào nghề cũng gọi nhầm điểm DQ của trẻ 2 tuổi là “điểm IQ”.
(function() { const host = document.getElementById('dqiq-wp-host'); if (!host) return; const placeholder = document.createComment('dqiq-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .dq-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } .dq-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .dq-inner { padding: 24px; max-width: 980px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .dq-wrap.is-fullscreen .dq-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .dq-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 0 rgba(37, 99, 235, 0.4); } 70% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 10px rgba(37, 99, 235, 0); } 100% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 0 rgba(37, 99, 235, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #1d4ed8 0%, #2563eb 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } .dq-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .dq-header-text { flex: 1 1 260px; } .dq-title { font-size: 21px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .dq-desc { font-size: 14px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #eff6ff; color: #1d4ed8; border: 1px solid #bfdbfe; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #2563eb; color: #ffffff; border-color: #2563eb; } /* Presets */ .dq-presets { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; margin-bottom: 16px; } .dq-lbl { font-size: 12px; font-weight: 800; color: #0f172a; text-transform: uppercase; margin-right: 4px; } .dq-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; touch-action: manipulation; } .dq-pbtn:hover { background: #f1f5f9; } /* Grid nhập thông số */ .dq-input-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-bottom: 18px; } .dq-card { background: #f8fafc; border: 1px solid #cbd5e1; border-radius: 12px; padding: 14px; } .dq-card-title { font-size: 13px; font-weight: 800; color: #1e3a8a; margin-bottom: 8px; display: block; } .dq-field { margin-bottom: 10px; } .dq-field:last-child { margin-bottom: 0; } .dq-field label { font-size: 12px; font-weight: 700; color: #334155; display: block; margin-bottom: 4px; } .dq-field input, .dq-field select { width: 100%; padding: 8px 10px; border: 1px solid #94a3b8; border-radius: 7px; font-size: 14px; font-weight: 700; color: #0f172a; background: #ffffff; } /* Dashboard so sánh DQ vs IQ */ .dq-dash { background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .dq-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .dq-score-big { font-size: 20px; font-weight: 800; line-height: 1.25; } .dq-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .dq-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #2563eb; color: #ffffff; } .dq-pillars { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; font-size: 12px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .dq-pillar-box { background: #1e293b; padding: 8px 10px; border-radius: 8px; border-left: 3px solid #3b82f6; } .dq-pillar-val { font-weight: 800; color: #ffffff; font-size: 14px; display: block; margin-top: 2px; } /* Bảng quy chiếu SD, DQ và IQ */ .dq-table-card { margin-top: 16px; padding: 16px 18px; border-radius: 12px; background: #ffffff; border: 1px solid #e2e8f0; overflow-x: auto; } .dq-table { width: 100%; border-collapse: collapse; font-size: 13px; min-width: 640px; } .dq-table th, .dq-table td { border: 1px solid #cbd5e1; padding: 9px 12px; text-align: left; } .dq-table th { background: #f1f5f9; font-weight: 800; color: #0f172a; } .dq-table tr.active-band { background: #eff6ff; border: 2px solid #2563eb; } .dq-result-box { margin-top: 16px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #2563eb; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 760px) { .dq-inner { padding: 14px; } .dq-title { font-size: 18px; } .dq-input-grid { grid-template-columns: 1fr; } .dq-pillars { grid-template-columns: 1fr 1fr; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
Công Cụ Tính Toán, Đối Chiếu Chỉ Số DQ (Thương Số Phát Triển) vs. IQ (Thương Số Trí Tuệ) & Tư Vấn Chọn Thang Đo
Giúp phụ huynh và nhà chuyên môn tính nhanh Chỉ số Phát triển DQ = (DA / CA) × 100, phát hiện hiện tượng "DQ/IQ Thấp Giả Tạo do Rào cản Ngôn ngữ ở trẻ Tự kỷ", đối chiếu với Độ lệch chuẩn (SD) và chọn đúng công cụ đánh giá chuẩn quốc tế theo độ tuổi.
| Mốc Độ lệch chuẩn (SD) | Điểm Chuẩn (DQ / IQ) | Bách phân vị | Ý nghĩa trong DQ (Trẻ < 5 tuổi: KSPD, Bayley-III) | Ý nghĩa trong IQ (Trẻ ≥ 5–6 tuổi: WISC-V, Leiter-3) |
|---|---|---|---|---|
| ≥ +1 SD đến +2 SD | ≥ 115 điểm | ≥ 84% | Tốc độ phát triển sớm vượt trội so với tháng tuổi. | Trí tuệ Trên trung bình (115–129) đến Rất cao (≥130). |
| Trong khoảng ±1 SD | 85 – 114 điểm | 16% – 83% | Phát triển Bình thường (Typical Development): Đạt đúng các mốc tuổi. | Trí tuệ Trung bình (Average IQ): Chiếm 68% dân số. |
| Từ -1 SD đến -2 SD | 70 – 84 điểm | 2.3% – 15% | Chậm phát triển mức độ Nhẹ / Giáp ranh: Rất có cơ hội bắt kịp tuổi nếu can thiệp sớm. | Trí tuệ Ranh giới (Borderline Intellectual Functioning): Cần hỗ trợ phương pháp học. |
| Dưới -2 SD | < 70 điểm (Nặng: <55 • -3 SD) |
< 2.3% | Chậm phát triển Rõ rệt (GDD nếu chậm ≥2 lĩnh vực): Cần can thiệp sớm chuyên sâu ngay; chưa kết luận Khuyết tật trí tuệ vĩnh viễn! | Suy giảm Trí tuệ: Nếu đi kèm Hành vi thích ứng (Vineland-3) < 70 sẽ xác lập chẩn đoán Rối loạn Phát triển Trí tuệ (IDD). |
' + '• Bạn hãy nhìn kỹ: Năng lực Nhận thức phi ngôn ngữ của trẻ đạt tới ' + dqCog + ' điểm (Hoàn toàn Bình thường ≥ 85) và Vận động đạt ' + dqMot + ' điểm. Tuy nhiên, vì Ngôn ngữ – Xã hội chỉ đạt ' + dqLang + ' điểm (chênh lệch tới ' + gapCogLang + ' điểm), nên khi cộng trung bình lại thì DQ Tổng thể bị kéo tụt xuống còn ' + dqTotal + ' điểm!
' + '• Giải thích cho Phụ huynh: Trẻ KHÔNG bị chậm phát triển trí tuệ. Điểm tổng bị thấp hoàn toàn là do rào cản ngôn ngữ và giao tiếp xã hội kéo xuống. Khi được can thiệp mở khóa giao tiếp, điểm số tổng thể của trẻ sẽ bật tăng trở lại!' + '
' + '• ' + (ca < 60 ? 'Vì trẻ dưới 5 tuổi, chẩn đoán y khoa chuẩn xác là Chậm Phát triển Toàn diện (Global Developmental Delay - GDD). Cần can thiệp sớm toàn diện và đánh giá lại IQ khi trẻ lên 5–6 tuổi.' : (adapt === 'imp' ? 'Trẻ đã ≥ 5–6 tuổi, có cả Nhận thức < 70 (-2 SD) VÀ Hành vi thích ứng < 70 (-2 SD) → Thỏa mãn tiêu chuẩn Rối loạn Phát triển Trí tuệ (IDD — Mã ICD-11: 6A00 / DSM-5-TR).' : 'Dù điểm nhận thức < 70 nhưng Hành vi thích ứng của trẻ vẫn từ 70 trở lên, cần thận trọng kiểm tra lại bằng test IQ phi ngôn ngữ (Leiter-3/Raven) trước khi kết luận IDD.')) + '
' + '• 2. Bộ công cụ đánh giá chuẩn khuyến nghị sử dụng: ' + recommendedTools + trapWarning; updateFloatingFabVisibility(); } function applyCase(caseKey) { if (caseKey === 'asd_toddler') { inpCA.value = 30; inpDACog.value = 29; // DQ = 97 inpDALang.value = 14; // DQ = 47 inpDAMot.value = 27; // DQ = 90 selVerbal.value = 'nonverbal'; selAdaptive.value = 'border'; } else if (caseKey === 'asd_school') { inpCA.value = 84; // 7 tuổi inpDACog.value = 86; // NVIQ = 102 inpDALang.value = 45; // Ngôn ngữ = 54 inpDAMot.value = 78; // Vận động = 93 selVerbal.value = 'phrase'; selAdaptive.value = 'border'; } else if (caseKey === 'gdd_child') { inpCA.value = 24; inpDACog.value = 14; // DQ = 58 inpDALang.value = 12; // DQ = 50 inpDAMot.value = 16; // DQ = 67 selVerbal.value = 'nonverbal'; selAdaptive.value = 'imp'; } else if (caseKey === 'typical') { inpCA.value = 48; inpDACog.value = 48; inpDALang.value = 47; inpDAMot.value = 49; selVerbal.value = 'fluent'; selAdaptive.value = 'avg'; } updateAnalysis(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); dqWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { dqWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 980px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } [inpCA, inpDACog, inpDALang, inpDAMot, selVerbal, selAdaptive].forEach(el => { el.addEventListener('input', updateAnalysis); el.addEventListener('change', updateAnalysis); }); shadow.querySelectorAll('.dq-pbtn').forEach(btn => { btn.onclick = function() { applyCase(this.getAttribute('data-case')); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); applyCase('asd_toddler'); })();
Dưới đây là Bài viết chuyên môn chuẩn Y khoa – Tâm lý học (được trình bày sẵn sàng để bạn đăng làm bài viết nền tảng cạnh bài Độ lệch chuẩn SD), kèm theo 1 Công cụ HTML Tương tác: “Bộ Chuyển Đổi, Phân Giải DQ vs. IQ & Định Tuyến Thang Đo Chuẩn”
BÀI VIẾT CHUYÊN MÔN: Phân Biệt Chỉ Số DQ (Thương Số Phát Triển) và IQ (Thương Số Trí Tuệ) — Khi Nào Dùng DQ, Khi Nào Dùng IQ?
Trong lĩnh vực đánh giá rối loạn phát triển thần kinh (Tự kỷ, Chậm phát triển, ADHD, Khuyết tật trí tuệ), DQ(Developmental Quotient) và IQ (Intelligence Quotient) là hai con số xuất hiện nhiều nhất trên các bản báo cáo lâm sàng. Dù cả hai đều lấy mốc 100 là trung bình và dưới 70 (−2 SD) là suy giảm rõ rệt, nhưng bản chất thần kinh học, độ tuổi áp dụng và giá trị tiên lượng của chúng hoàn toàn khác nhau.
I. Bản chất của DQ (Thương số Phát triển) là gì?
DQ (Developmental Quotient — Thương số Phát triển) là chỉ số đo lường tốc độ đạt được các mốc phát triển toàn diện của trẻ nhỏ (thường từ 0 đến dưới 5–6 tuổi) so với những đứa trẻ bình thường cùng tháng tuổi.
-
Công thức tính DQ kinh điển (ví dụ trong thang KSPD Kyoto, Gesell, Mullen, PEP-3):
DQ=(Tuổi phaˊt triển (DA – Developmental Age)Tuổi thực (CA – Chronological Age))×100Ví dụ: Một bé 24 tháng tuổi (CA = 24) đi khám bằng thang KSPD Kyoto. Kỹ năng Ngôn ngữ – Xã hội của bé hiện chỉ làm được các mốc của trẻ 12 tháng tuổi (DA = 12). Khi đó:
DQ Ngoˆn ngữ=1224×100=50 -
Đặc điểm cốt lõi của DQ:
-
Đo lường các kỹ năng “Sensory-Motor” (Giác quan – Vận động & Tiền ngôn ngữ): Ở trẻ dưới 3–5 tuổi,tư duy trừu tượng chưa tách rời khỏi vận động và ngôn ngữ. Do đó, DQ đánh giá một “rổ kỹ năng” tổng hợp gồm: Vận động thô, Vận động tinh, Tự phục vụ, Ngôn ngữ sớm và Tương tác xã hội.
-
Có tính biến thiên rất lớn (Mềm dẻo thần kinh cao): Não bộ trẻ từ 0–5 tuổi có tính mềm dẻo (Neuroplasticity) cực kỳ mạnh mẽ. Một trẻ 2 tuổi có DQ = 60 do chậm nói và thiếu tương tác, sau 1–2 năm can thiệp sớm tích cực (như ESDM, ABA), trẻ bật nói và bắt kịp bạn bè thì DQ hoàn toàn có thể tăng vọt lên 90 – 100!
-
Là cơ sở để chẩn đoán “Chậm phát triển toàn diện” (GDD — Global Developmental Delay): Trong DSM-5-TR và ICD-11, bác sĩ chưa đặt bút chẩn đoán “Khuyết tật trí tuệ” cho trẻ dưới 5 tuổi mà gọi là GDDdựa trên chỉ số DQ này.
-
II. Bản chất của IQ (Thương số Trí tuệ) là gì?
IQ (Intelligence Quotient — Thương số Trí tuệ) là chỉ số đo lường năng lực tư duy nhận thức thuần túy, khả năng suy luận logic, giải quyết vấn đề trừu tượng, trí nhớ làm việc và tốc độ xử lý thông tin (thường áp dụng chuẩn xác nhất cho trẻ từ 5–6 tuổi trở lên).
-
Cách tính IQ hiện đại (Deviation IQ — như trong WISC-V, WAIS-IV, Leiter-3, Raven): IQ hiện đại không còn dùng công thức (Tuổi trí tuệ / Tuổi thực) × 100 như thế kỷ trước nữa, mà tính bằng Điểm chuẩn Độ lệch (Deviation IQ) dựa trên phân phối hình chuông (Mean=100,SD=15): so sánh trực tiếp vị trí của trẻ với hàng ngàn trẻ cùng độ tuổi chính xác đến từng tháng.
-
Đặc điểm cốt lõi của IQ:
-
Tách biệt khỏi vận động thô và kỹ năng sinh hoạt: Bài test IQ (như WISC-V hay Raven) không hỏi xem trẻ có biết nhảy lò cò hay tự mặc quần áo không, mà đi thẳng vào Tư duy khái niệm ngôn ngữ (VCI), Không gian thị giác (VSI), Suy luận quy nạp (FRI), Trí nhớ làm việc (WMI) và Tốc độ xử lý (PSI).
-
Có tính ổn định cao theo thời gian: Từ sau 6–7 tuổi, chỉ số IQ cốt lõi có xu hướng ổn định hơn nhiều so với DQ đầu đời.
-
Là cơ sở chẩn đoán “Rối loạn Phát triển Trí tuệ” (IDD — Intellectual Developmental Disorder): Khi trẻ ≥5−6 tuổi có IQ <70 (dưới −2 SD) đi kèm với suy giảm Hành vi thích ứng (trên thang Vineland-3 ), nhà lâm sàng mới xác lập chẩn đoán IDD.
-
III. Bảng So sánh Trực diện: DQ vs. IQ
[Chỉ số báo cáo] Độ lệch chuẩn (SD) & Bách phân vị: Hướng dẫn đọc các chỉ số thống kê trong báo cáo đánh giá của trẻ
Độ lệch chuẩn (viết tắt là SD – Standard Deviation) là thước đo cho biết điểm số hoặc chỉ số của một cá nhân lệch đi bao xa so với mức trung bình của đám đông (quần thể chuẩn).
Trong các công cụ đánh giá tâm lý, y khoa (như bài test IQ, thang đo trầm cảm, lo âu, phát triển trẻ em hay bảng chiều cao/cân nặng của WHO), một con số điểm thô đứng một mình thường không có nhiều ý nghĩa. Các chuyên gia phải dùng đơn vị SD để trả lời câu hỏi quan trọng nhất: “So với những người cùng độ tuổi và hoàn cảnh, mức điểm này là bình thường hay bất thường?”
Nguyên lý hoạt động: “Đường cong hình chuông” và Quy tắc 68–95–99.7
Khi khảo sát một đặc điểm bất kỳ (như trí thông minh, mức độ chú ý, hoặc chiều cao) trên hàng ngàn người, kết quả thu được luôn tạo thành một Phân phối chuẩn (Normal Distribution) có hình dáng giống một chiếc chuông úp:
-
Điểm Trung bình (Mean – ký hiệu là hoặc , tương ứng mức ): Nằm ở đỉnh cao nhất ở chính giữa chiếc chuông. Đa số mọi người đều tập trung quanh mức này.
-
Độ lệch chuẩn (SD – ký hiệu là ): Là “bước nhảy” tính từ điểm trung bình sang hai bên sườn chuông.
-
Dấu cộng (): Cao hơn mức trung bình.
-
Dấu trừ (): Thấp hơn mức trung bình.
-
Theo quy luật thống kê trên đường cong hình chuông:
-
Từ −1 SD đến : Bao gồm khoảng 68% dân số (nhóm đa số, hoàn toàn bình thường).
-
Từ đến : Bao gồm khoảng 95% dân số.
-
Vượt quá (tức chỉ còn khoảng 5% ở hai đầu mút): Đây là vùng “hiếm gặp”. Trong y khoa và tâm lý học lâm sàng (kể cả DSM-5-TR và ICD-11), mốc đến thường được chọn làm ngưỡng cắt (cut-off) để xác định sự suy giảm chức năng hoặc tình trạng bệnh lý.
Cách đọc hiểu đơn vị SD trong các công cụ đánh giá
Tùy thuộc vào công cụ đang đo lường năng lực tích cực (như IQ, trí nhớ, chiều cao) hay đo lường triệu chứng bệnh lý(như mức độ lo âu, tăng động, trầm cảm), ý nghĩa của dấu và sẽ khác nhau:
| Khoảng SD | Tỷ lệ trong dân số | Nếu đo Năng lực / Phát triển (VD: Test IQ, ngôn ngữ, chiều cao) | Nếu đo Triệu chứng / Hành vi (VD: Thang đo trầm cảm, ADHD) |
| Trong khoảng đến | ~68% (Đại đa số) | Bình thường / Trung bình: Phát triển đúng chuẩn độ tuổi. | Bình thường: Không có biểu hiện rối loạn đáng kể. |
| Từ đến | ~18% (Khá phổ biến) | Cận biên (Borderline): Hơi thấp hoặc hơi nhỉnh hơn trung bình, cần theo dõi thêm. | Nguy cơ nhẹ / Cận lâm sàng: Có biểu hiện nhưng chưa đủ nặng để kết luận bệnh. |
| Từ đến | ~9% (Ít gặp) | Kém / Chậm phát triển mức nhẹ (nếu là ) hoặc Vượt trội (nếu là ). | Mức độ Trung bình (Lâm sàng):Bắt đầu gây suy giảm chức năng sinh hoạt. |
| Vượt quá hoặc | Chỉ ~5% (Rất hiếm – khoảng 2.3% mỗi đầu) | Rối loạn / Khuyết tật rõ rệt (nếu ) hoặc Thiên tài / Xuất sắc (nếu ). | Mức độ Nặng (nếu ): Triệu chứng vượt ngưỡng báo động, cần can thiệp chuyên khoa. |
Hai ví dụ thực tế dễ hình dung nhất
-
Trong bài kiểm tra Trí tuệ (Test IQ Wechsler – WISC/WAIS):
-
Điểm trung bình chuẩn của nhân loại được quy ước là M=100, và mỗi 1 SD=15.
-
Nếu một người có IQ từ 85 đến 115 (tức nằm trong khoảng đến ): Người đó có trí tuệ trung bình như 68% dân số.
-
Theo DSM-5-TR, một trong các tiêu chuẩn để chẩn đoán Khuyết tật trí tuệ (Intellectual Disability) là điểm IQ thấp hơn mức trung bình từ trở lên – tức là điểm (100−2×15=70).
-
-
Trong thang đo hành vi tâm lý (như thang Vanderbilt, Conners cho ADHD hoặc CBCL):
-
Kết quả thường được máy tính quy đổi ra Điểm T (T-score), trong đó mức trung bình của trẻ bình thường là , và 1 SD=10 điểm.
-
Nếu kết quả của trẻ báo điểm T là 65 (tức ) hoặc 70 (tức ), nghĩa là mức độ hiếu động/kém chú ý của trẻ đang cao hơn 95%–98% các bạn cùng trang lứa – đây là cơ sở định lượng để bác sĩ xem xét chẩn đoán.
-
Bạn có thể kéo thanh trượt trong mô hình tương tác dưới đây để xem điểm số của một cá nhân (hoặc hình dạng đường cong) thay đổi vị trí như thế nào theo từng mốc Độ lệch chuẩn ():
Mô phỏng Phân phối chuẩn & Quy đổi Độ lệch chuẩn (SD)
Kéo thanh trượt để quan sát vị trí điểm số trên đường cong hình chuông và bảng quy đổi lâm sàng
| Khoảng SD | Tỷ lệ dân số | Điểm IQ (TB=100) | Điểm T (TB=50) | Đo Năng lực (VD: IQ, Ngôn ngữ) | Đo Triệu chứng (VD: ADHD, Trầm cảm) |
|---|---|---|---|---|---|
| ≤ -2.0 SD | ~2.3% | ≤ 70 | ≤ 30 | Chậm phát triển / Khuyết tật rõ rệt | Thấp (Không có triệu chứng) |
| -2.0 đến -1.0 SD | ~13.6% | 71 – 84 | 31 – 39 | Cận biên / Thấp hơn trung bình | Bình thường |
| -1.0 đến +1.0 SD | ~68.2% | 85 – 115 | 40 – 60 | Bình thường / Trung bình | Bình thường |
| +1.0 đến +2.0 SD | ~13.6% | 116 – 129 | 61 – 69 | Trên trung bình / Khá giỏi | Nguy cơ / Cận lâm sàng (từ +1.5 SD) |
| ≥ +2.0 SD | ~2.3% | ≥ 130 | ≥ 70 | Rất vượt trội / Xuất sắc | Vượt ngưỡng lâm sàng (Mức độ nặng) |
Điểm mấu chốt cần nhớ: Khi đọc một bản kết quả đánh giá, bạn chỉ cần nhìn xem chỉ số SD có nằm trong vùng an toàn từ đến hay không. Nếu con số chạm hoặc vượt mốc đến , đó là tín hiệu cho thấy chỉ số này đang nằm ở rìa của tháp chuông và cần được chuyên gia lưu tâm.
Vi chất cho trẻ tự kỷ
Sau khi đã nắm được các kiến thức chung về dinh dưỡng cho sự phát triển của não bộ, chúng ta sẽ đi chi tiết vào việc bổ sung các dưỡng chất cụ thể sao cho đúng, sao cho đủ trong danh mục này.
Tự kỷ - Rối loạn tiêu hoá và men vi sinh (probiotics) nên dùng
Rối loạn phổ tự kỷ (ASD) ở một bộ phận lớn trẻ nhỏ không đơn thuần là câu chuyện về tâm lý hay hành vi đơn độc, mà là hệ quả trực tiếp từ sự rối loạn sâu sắc của Trục Ruột – Miễn dịch – Não bộ (Gut-Immune-Brain Axis). Từ 40% đến 70% trẻ tự kỷ gặp các vấn đề tiêu hóa mạn tính, trong đó ruột non và đại tràng chính là “tâm chấn” khởi phát phản ứng viêm âm ỉ truyền thẳng lên hệ thần kinh trung ương.
Đường ruột là nơi chứa 70–80% tế bào miễn dịch của cơ thể. Các nghiên cứu tiêu hóa học chỉ ra rằng từ 40% đến 70% trẻ tự kỷ có các triệu chứng tiêu hóa đi kèm (táo bón mãn tính, phân sống, tiêu chảy, chướng bụng), và nguyên nhân sâu xa là do tình trạng viêm niêm mạc ruột âm ỉ:
-
Nghiên cứu của Đại học Y Harvard & Bệnh viện Đa khoa Massachusetts (de Magistris, Alessio Fasano et al. – JPGN, 2010 & Fiorentino et al. – Molecular Autism, 2016): Giáo sư Alessio Fasano (người phát hiện ra protein Zonulin điều khiển độ mở của hàng rào ruột) đã chứng minh có tới 36,7% trẻ tự kỷ bị tăng tính thấm thành ruột (“rò rỉ ruột” – Leaky Gut) so với dưới 5% ở dân số bình thường. Khi xét nghiệm mẫu mô ruột và não của người tự kỷ (2016), nhóm Harvard phát hiện sự suy giảm nghiêm trọng các protein liên kết chặt (tight junctions như Claudin, Occludin) ở cả hàng rào niêm mạc ruột lẫn hàng rào máu não.
-
Nghiên cứu mô bệnh học niêm mạc ruột của Torrente et al. (Molecular Psychiatry, 2002) & Ashwood et al. (Journal of Clinical Immunology, 2003–2004): Nội soi và sinh thiết trực tiếp niêm mạc ruột non và đại tràng của trẻ tự kỷ có triệu chứng tiêu hóa cho thấy sự thâm nhiễm dày đặc của các tế bào lympho T (CD3+,CD8+), tế bào γδ T và sự tăng tiết mạnh chất gây viêm TNF-α ngay tại lớp biểu mô ruột, trong khi chất chống viêm tự nhiên là IL-10 lại bị suy giảm nặng nề.
-
Nghiên cứu về rối loạn hệ vi sinh và viêm ruột (Rose, Ashwood et al. – Brain, Behavior, and Immunity, 2018):Xác nhận trẻ tự kỷ có vấn đề tiêu hóa sở hữu hệ vi sinh vật đường ruột mất cân bằng (loạn khuẩn), dẫn đến niêm mạc ruột liên tục tiết ra các cytokine gây viêm (IL-5, IL-15, IL-17) và làm suy yếu hàng rào bảo vệ ruột.
Phần 1: Cơ chế Rối loạn Tiêu hóa, Hấp thu ở Ruột non và Chuyển hóa ở Trẻ Tự kỷ
Ruột non là cơ quan đảm nhiệm hơn 90% quá trình phân giải thức ăn, hấp thu vi chất dinh dưỡng và chứa hệ thống bạch huyết miễn dịch lớn nhất cơ thể (mảng Peyer). Ở trẻ tự kỷ thuộc phân nhóm miễn dịch – chuyển hóa, khu vực này xảy ra 4 đứt gãy sinh học nghiêm trọng:
1. Suy giảm Enzyme tiêu hóa tại bờ bàn chải ruột non & Thuyết “Opioid ngoại sinh”
- Kém phân giải Carbohydrate và Đạm: Các nghiên cứu sinh thiết ruột non ở trẻ tự kỷ (như của ĐH Harvard và ĐH Columbia) phát hiện sự thiếu hụt rõ rệt các enzyme tại bờ bàn chải ruột non (như lactase, sucrase, isomaltase và đặc biệt là enzyme DPP-IV).
- Sự hình thành chất gây nghiện thần kinh (Opioid Peptides): Do thiếu enzyme DPP-IV, đạm sữa bò (Casein) và đạm lúa mì (Gluten) không được cắt nhỏ hoàn toàn thành các axit amin đơn lẻ mà dừng lại ở dạng các chuỗi peptide ngắn là Casomorphin và Gliadorphin.
- Hệ quả: Phần thức ăn không tiêu hóa hết bị đẩy xuống dưới gây phân sống, lổn nhổn cặn; đồng thời phần đường/tinh bột dư thừa bị vi khuẩn và nấm men tại ruột non lên men mạnh mẽ (gây hội chứng quá phát vi khuẩn ruột non – SIBO và nhiễm nấm Candida), sinh ra khí gas làm bụng trẻ luôn chướng căng.
2. Hội chứng “Rò rỉ ruột” (Leaky Gut) và Quá tải độc tố nội sinh
- Ở ruột non bình thường, các tế bào biểu mô liên kết chặt chẽ với nhau bằng hệ thống “khóa kéo” protein (tight junctions như Claudin, Occludin). Ở trẻ tự kỷ (theo nghiên cứu của GS Alessio Fasano – ĐH Harvard), nồng độ protein Zonulin tăng cao làm bung các mối nối này, tạo ra các khe hở trên thành ruột non.
- Qua các khe hở này, độc tố vỏ vi khuẩn (LPS), độc tố nấm Candida (Acetaldehyde, Arabinose), độc tố vi khuẩn Clostridia (HPHPA) và các mảnh peptide Casomorphin/Gliadorphin lọt thẳng vào mạch máu. Khi lên đến não, chúng gắn vào thụ thể thần kinh khiến trẻ rơi vào trạng thái lơ mơ như “say rượu”, cười vô cớ, đi nhón gót, tăng động hoặc bùng nổ các cơn la hét, tự làm đau.
3. Kích hoạt “Bão viêm âm ỉ” (Th17 / IL-17A) từ Ruột lên Não
- Khi dị nguyên và độc tố tràn qua thành ruột non vào máu, hệ miễn dịch lập tức phát lệnh báo động. Các tế bào miễn dịch Th17 tại thành ruột tiết ra hàng loạt cytokine tiền viêm (TNF-α, IL-1β, IL-6 và IL-17A nền).
- Lượng cytokine viêm rò rỉ liên tục mỗi ngày đi qua hàng rào máu não, làm cho các “ổ khóa” thụ thể trên vùng vỏ não cảm giác (S1DZ) bị “nhờn” và kích thích tế bào miễn dịch trong não (Microglia) ở vỏ não và tiểu não nổi loạn. Hậu quả là nơ-ron thần kinh bị phóng điện quá mức (hyperactivity), làm đứt gãy khả năng giao tiếp mắt và ngôn ngữ của trẻ.
4. Kém hấp thu Vi chất và Suy giảm Chuyển hóa Năng lượng Ty thể (CDR)
- Thiếu hụt nguyên liệu tạo chất dẫn truyền thần kinh: Viêm niêm mạc ruột non làm xẹp các nhung mao ruột, khiến trẻ dù ăn được nhưng không hấp thu được Sắt, Kẽm, Magie, Vitamin nhóm B (B6, B9, B12), Vitamin D3 và Axit amin (như Tryptophan). Thiếu Kẽm và B6 làm não không tổng hợp được GABA (chất làm dịu thần kinh) và Serotonin/Melatonin (chất điều hòa cảm xúc và giấc ngủ).
- Kẹt trong “Phản ứng Nguy hiểm Tế bào” (CDR) và suy giảm Ty thể: Độc tố từ ruột và gốc tự do làm suy yếu nhà máy năng lượng Ty thể (tăng Lactate, giảm ATP) và làm cạn kiệt chất chống oxy hóa chủ đạo là Glutathione, đồng thời kích thích sinh ra kháng thể khóa cổng vận chuyển Folate vào não (FRAA).
Phần 2: Nhận diện Biểu hiện Lâm sàng và Xét nghiệm Kiểm tra
1. Các dấu hiệu bên ngoài cảnh báo trẻ đang bị viêm & loạn khuẩn ruột
- Tư thế giảm đau ngụy trang (Posturing): Trẻ hay nằm sấp đè chặt bụng xuống sàn lạnh, vắt ngang bụng qua thành ghế sofa, đùi bố mẹ hoặc ấn tay vào bụng; hay ưỡn lưng, nhai áo quần (do trào ngược thầm lặng).
- Đặc điểm phân bất thường: Táo bón vón cục như phân dê hoặc phân sống lổn nhổn cặn rau/thịt; nếu nhiễm nấm Candida thì phân thường xốp có bọt khí, bọc dịch nhầy trắng/vàng, mùi chua khẳn như men rượu/bia kèm theo vòng da tấy đỏ rực quanh lỗ hậu môn gây ngứa rát.
- Giấc ngủ và Thần kinh: Khó vào giấc, trằn trọc, hay bật dậy lúc 1–3 giờ sáng khóc thét hoặc cười khúc khích vô cớ; quầng mắt thâm tím (allergic shiners), cực kỳ kén ăn nhưng lại “nghiện” đồ ngọt, sữa bò, bánh mì/mì gói.
2. Các xét nghiệm kiểm tra (Thực hiện được tại Việt Nam)
- Xét nghiệm Phân (Sàng lọc không xâm lấn): Định lượng Fecal Calprotectin (chỉ số vàng đo viêm niêm mạc ruột), tổng phân tích phân tìm cặn dư tiêu hóa (hạt mỡ, sợi cơ), đo độ pH phân và soi tìm nấm Candida.
- Xét nghiệm Máu cơ bản & Chuyên sâu: hs-CRP (đo viêm mạch máu âm ỉ), Công thức máu (chú ý bạch cầu ái toan Eosinophils), Ferritin, Sắt, Kẽm, Vitamin D3, B12, Homocysteine, định lượng cytokine IL-6, kháng thể liên cầu khuẩn ASLO (tầm soát PANDAS) và bảng dị ứng thực phẩm IgE / IgG. (Các chỉ số đặc biệt như Zonulin, kháng thể Folate FRAA hoặc Axit hữu cơ niệu OAT cần gửi mẫu qua đơn vị liên kết quốc tế).
Phần 3: Các Chủng Men Vi sinh Đích và Thực phẩm Chức năng Khuyên dùng
Để phục hồi khả năng tiêu hóa – hấp thu tại ruột non, dập tắt nấm Candida và mở khóa giao tiếp qua Trục Ruột – Não, cha mẹ cần chọn đúng phân chủng (Strain) lợi khuẩn và các hoạt chất sinh học đã có chứng nhận lâm sàng:
1. Ba nhóm Chủng Men Vi sinh Chủ lực và Sản phẩm tương ứng
Nhóm 1: Nấm men Saccharomyces boulardii (Chiến binh quét sạch nấm Candida và độc tố ruột)
- Cơ chế: Là nấm men vi sinh kích thước lớn, kháng hoàn toàn axit dạ dày và thuốc kháng sinh. Nó hoạt động như “chiếc chổi” quét sạch nấm Candida, trung hòa độc tố vi khuẩn Clostridia, làm săn khuôn phân (trị phân sống, nhầy bọt, mùi chua) và tăng tiết kháng thể sIgA bảo vệ niêm mạc ruột non.
- Sản phẩm tiêu biểu:
- Optibac “For Bowel Calm” (Hộp màu Nâu Cam – Anh): Ưu tiên số 1 cho trẻ tự kỷ vì chứa 5 tỷ CFU (250mg) S. boulardii tinh khiết, không chứa đường sữa Lactose (Dairy-free), không Gluten.
- Bioflora 100mg/200mg (Pháp) hoặc Normagut 250mg: Dễ mua tại các nhà thuốc Việt Nam (chứa chủng chuẩn S. boulardii CNCM I-745, nhưng lưu ý gói Bioflora có chứa một lượng nhỏ tá dược đường Lactose).
- Klaire Labs Saccharomyces Boulardii (Mỹ): Dòng chuyên biệt cho trẻ tự kỷ.
Nhóm 2: Limosilactobacillus reuteri (Phục hồi ruột non, kháng viêm TNF-α & Kích thích tiết Oxytocin)
- Cơ chế: Cư trú ngay tại dạ dày và ruột non, tiết chất kháng khuẩn tự nhiên Reuterin. Đặc biệt, phân chủng L. reuteri ATCC PTA 6475 đã được chứng minh trên tạp chí Cell và Neuron có khả năng ức chế trực tiếp cytokine gây viêm TNF-α tại thành ruột và gửi tín hiệu qua dây thần kinh Phế vị (Vagus nerve) lên vùng dưới đồi của não để kích thích sản sinh hormone gắn kết xã hội Oxytocin (cơ chế tương tự như khi trẻ có “Hiệu ứng sốt”).
- Sản phẩm tiêu biểu:
- BioGaia Gastrus (Thụy Điển – Dạng viên nhai): Sản phẩm duy nhất chứa tổ hợp kép cả 2 chủng L. reuteri ATCC PTA 6475 (chuyên sâu cho Trục Ruột – Não & kháng viêm) và L. reuteri DSM 17938 (điều hòa nhu động ruột). Loại này hiện đang không bán sẵn tại Việt Nam.
- BioGaia Protectis (Thụy Điển – Dạng giọt/viên): Chỉ chứa 1 chủng DSM 17938, phù hợp cho trẻ nhỏ dưới 2 tuổi trị táo bón, nôn trớ cơ bản. Loại này đang bán nhiều ở hiệu thuốc.
Nhóm 3: Tổ hợp Bifidobacterium longum, B. infantis, B. breve & Lactobacillus plantarum/rhamnosus (Hàn gắn “Rò rỉ ruột” và làm dịu thần kinh)
- Cơ chế: Nhóm Bifidobacterium định cư ở đại tràng giúp lên men chất xơ tạo ra axit béo chuỗi ngắn (Butyrate) – nguồn năng lượng trực tiếp để tái tạo tế bào biểu mô ruột, đóng chặt các khe hở Leaky Gut, làm mềm phân trị táo bón và giảm lo âu. Nhóm L. plantarum và L. rhamnosus GG hoạt động mạnh ở ruột non giúp phân giải thức ăn, chống phân sống.
- Sản phẩm tiêu biểu:
- BioAmicus Complete (Canada – Dạng giọt): Chứa trọn bộ 10 chủng lợi khuẩn (có mặt cả Bifidobacterium longum, B. infantis, B. breve, L. plantarum, L. rhamnosus và L. reuteri cơ bản). Hoàn toàn không chứa đạm sữa, không Gluten, không mùi vị.
- Optibac Babies & Children (Optibac Hồng – Anh): Dạng gói bột chứa 3 tỷ CFU (B. breve M-16V, B. infantis Rosell-33, L. rhamnosus GG) kèm chất xơ FOS và Vitamin D3, rất mạnh về trị táo bón và giảm dị ứng/chàm.
- Life-Space Probiotic Powder for Children (Úc) hoặc Neuralli MP (chứa chủng L. plantarum PS128 chuyên biệt cho thần kinh tự kỷ).
2. Các Thực phẩm Chức năng Hỗ trợ Hấp thu Ruột non & Mô phỏng “Hiệu ứng sốt”
Để cắt đứt vòng xoắn viêm từ ruột lên não, men vi sinh nên được phối hợp cùng các nhóm dưỡng chất sinh học sau:
- Hoạt chất Sulforaphane (Mô phỏng Hiệu ứng sốt & Kháng viêm thần kinh): Chiết xuất từ mầm bông cải xanh (Broccoli Sprout Extract – như dòng Avmacol của Mỹ, BrocElite hoặc Swanson/Jarrow Sulforaphane). Giúp bật công tắc Nrf2 và Protein sốc nhiệt (HSPs), vừa hạ nồng độ IL-17A viêm âm ỉ ở máu ngoại vi để chống “nhờn” thụ thể, vừa đi qua hàng rào máu não làm dịu vùng vỏ não cảm giác S1DZ.
- Kẽm sinh học & L-Glutamine (Hàn gắn niêm mạc ruột non và kích thích vị giác): Kẽm dạng dễ hấp thu (Zinc Picolinate / Zinc Bisglycinate / Zinc Carnosine – như của Thorne, Pure Encapsulations, Nature’s Way, BioCare) giúp tái tạo nhung mao ruột non, sản xuất enzyme tiêu hóa và tổng hợp chất dẫn truyền thần kinh GABA.
- Enzyme tiêu hóa chuyên biệt DPP-IV (Hỗ trợ phân giải Gluten/Casein tại ruột non): Các dòng enzyme như Houston Enzymes (TriEnza / Peptizyde) hoặc Klaire Labs Vital-Zymes giúp cắt đứt chuỗi peptide Casomorphin/Gliadorphin ngay tại ruột non, ngăn chúng thấm vào máu gây “say” thần kinh.
- Omega-3 tinh khiết giàu EPA/DHA & Luteolin (Dập tắt viêm tế bào não): Dầu cá tinh khiết chuẩn IFOS (như Nordic Naturals Ultimate Omega / Children’s DHA, Wiley’s Finest) kết hợp hoạt chất Luteolin (như NeuroProtek) giúp khóa tế bào Mast và làm dịu tế bào Microglia đang bị viêm trong não.
-
Luteolin và Quercetin (Flavonoid tự nhiên): Nghiên cứu của Giáo sư Theoharis Theoharides (Đại học Tufts, Mỹ) chứng minh Luteolin (chiết xuất từ hoa hòe, cúc La Mã, hạt cần tây) có khả năng khóa chặt tế bào Mast (Mast cells) và làm dịu tế bào Microglia trong não, giảm rõ rệt chỉ số IL-6 và TNF-α ở trẻ tự kỷ.
-
Curcumin (dạng Phytosome/Nano dễ hấp thu) và N-Acetylcysteine (NAC): NAC là tiền chất tạo ra Glutathione(chất chống oxy hóa mạnh nhất của cơ thể), đã được thử nghiệm lâm sàng tại Đại học Stanford chứng minh giúp giảm mạnh sự cáu gắt, kích động và viêm thần kinh bằng cách hạ nồng độ Glutamate dư thừa ở khớp thần kinh.
Phần 4: Bảng Tổng hợp Phác đồ Phối hợp Thực tế trong Ngày cho Cha mẹ
Dưới đây là lịch trình mẫu, chỉ để tham khảo chứ không phải đơn thuốc hay kiến nghị nên dùng và tránh việc các chất cạnh tranh hấp thu lẫn nhau và hạn chế phản ứng sốc độc tố nấm chết (Die-off). Mọi đơn thuốc hay việc sử dụng đều phải có sự hướng dẫn của bác sỹ.
| Thời điểm trong ngày | Sản phẩm / Hoạt chất sử dụng | Liều lượng chuẩn gợi ý | Mục đích sinh học tại Ruột & Não |
|---|---|---|---|
| Sáng (Trước ăn 30p hoặc đầu bữa ăn) | Optibac For Bowel Calm (hoặc Bioflora / Normagut) | 1/2 – 1 viên (tháo vỏ nang pha nước nguội < 30°C) | Nấm men S. boulardii tráng màng bảo vệ ruột non, bẫy nấm Candida và trung hòa độc tố. |
| Sáng (Ngay sau ăn sáng 30p) | BioAmicus Complete (hoặc Optibac Hồng) + Sulforaphane | 5 giọt BioAmicus + Liều Sulforaphane theo cân nặng | Cấy 10 chủng lợi khuẩn (B. longum, L. plantarum…) phân giải thức ăn; Sulforaphane bật công tắc Nrf2/HSPs trên não. |
| Trưa (Trong hoặc ngay sau bữa ăn) | Omega-3 (EPA/DHA) + Vitamin D3/K2 (và Enzyme DPP-IV đầu bữa) | Theo hàm lượng EPA/DHA khuyến nghị theo tuổi | Hấp thu tối đa qua chất béo bữa ăn; kháng viêm màng tế bào thần kinh và điều hòa miễn dịch Th17. |
| Chiều (Sau ăn 1–2 giờ, cách xa men) | Kẽm sinh học (Zinc) | 5mg – 15mg kẽm nguyên tố (tùy tuổi và xét nghiệm) | Tái tạo nhung mao ruột non, khóa chặt kẽ hở Leaky Gut mà không cản trở lợi khuẩn. |
| Tối (Sau ăn tối 30–60p / Trước ngủ) | BioGaia Gastrus (Sau khi đã tắm nước ấm 37.5–38.5°C) | 1/2 – 1 viên nhai (hoặc nghiền mịn pha nước nguội) | Chủng ATCC PTA 6475 bám dính suốt đêm để ức chế TNF-α và kích thích dây thần kinh phế vị tiết Oxytocin giúp bé ngủ sâu. |
3 Nguyên tắc Vàng khi bắt đầu áp dụng
- Quy tắc “Đi chậm và Từng thứ một” (Start Low, Go Slow): Không bao giờ đưa tất cả các sản phẩm vào cùng một ngày. Hãy bắt đầu bằng việc cắt giảm đường tinh luyện/sữa bò/bột mì, đưa S. boulardii (1/2 liều) hoặc BioAmicus vào trước trong 4–5 ngày; khi bụng bé êm mới đưa tiếp BioGaia Gastrus, rồi sau 1–2 tuần mới thêm Kẽm, Omega-3 và Sulforaphane để quan sát rõ phản ứng của con.
- Bảo vệ hoạt lực lợi khuẩn: Tuyệt đối không pha bất kỳ loại men vi sinh nào vào nước nóng, cháo nóng trên 37°C. Luôn lắc kỹ lọ BioAmicus trước khi nhỏ và bảo quản ngăn mát tủ lạnh sau khi mở nắp.
- Đồng hành cùng vận động và giấc ngủ: Kết hợp tắm bồn nước ấm 15–20 phút mỗi tối (liệu pháp nhiệt an toàn) và vận động thể chất ra mồ hôi ban ngày để kích thích tự nhiên hệ thống Nhân lục – Noradrenaline và Oxytocin, tạo bàn đạp sinh học vững chắc nhất cho quá trình can thiệp giáo dục của bé.
Tại sao Sulforaphane (Cải xanh tươi) lại nổi tiếng trong nghiên cứu về giảm hành vi Tự kỷ (ASD)?
Sulforaphane được giới y sinh học đặc biệt chú ý sau nghiên cứu lâm sàng nổi tiếng của Đại học Johns Hopkins và Harvard (công bố trên tạp chí PNAS). Khác với các vi chất thông thường, Sulforaphane đi xuyên qua hàng rào máu não rất mạnh và tác động thông qua 3 cơ chế:
-
Bật công tắc gen Nrf2: Kích hoạt hệ thống tự sản xuất chất chống oxy hóa nội sinh mạnh nhất của cơ thể (như Glutathione), giúp dập tắt tình trạng viêm thần kinh (neuroinflammation) và stress oxy hóa ở não trẻ tự kỷ (vốn là nguyên nhân lớn khiến Nhân xanh bắn xung nền Tonic quá mức và gây mất cân bằng Glutamate/GABA).
-
Bắt chước “Hiệu ứng Sốt” (Fever Effect): Nhiều cha mẹ nhận thấy khi trẻ tự kỷ bị sốt, trẻ bỗng nhiên tỉnh táo,giao tiếp mắt tốt hơn, nói nhiều hơn và giảm hẳn hành vi kích thích lặp lại. Sulforaphane kích hoạt các Protein sốc nhiệt (Heat Shock Proteins – HSP) ở cấp độ tế bào giống hệt như khi cơ thể đang sốt nhẹ, giúp bảo vệ và phục hồi chức năng khớp thần kinh mà không làm trẻ bị sốt thật.
-
Bảo vệ ty thể (Mitochondria): Giúp tế bào não sản xuất năng lượng ổn định hơn.
1. Những lưu ý khi mua thực phẩm chức năng Sulforaphane
Phân tử Sulforaphane tự do rất kém bền vững (dễ bị phân hủy nhanh ở nhiệt độ phòng). Do đó, để cơ thể thực sự nhận được Sulforaphane, sản phẩm bắt buộc phải rơi vào 1 trong 2 dạng chuẩn hóa sau:
2. Lưu ý thực tế khi sử dụng (dù không cần đơn bác sĩ)
-
Mùi vị đặc trưng: Tinh chất mầm súp lơ xanh chuẩn có mùi hăng nồng của hợp chất lưu huỳnh (giống mùi cải ngồng/củ cải). Nếu dùng cho trẻ nhỏ không nuốt được viên, khi tách vỏ nang hoặc nghiền viên nén cần trộn vào thức ăn có vị đậm (như sốt táo, bơ đậu phộng, sinh tố chua ngọt) và không pha vào nước/cháo nóng trên 40°C(nhiệt độ cao sẽ làm chết ngay enzyme Myrosinase).
-
Tác dụng phụ ban đầu (Hiện tượng thải độc / Die-off nhẹ): Do Sulforaphane kích hoạt mạnh quá trình giải độc gan (Pha II) và chứa hợp chất lưu huỳnh, trong 3–5 ngày đầu trẻ có thể đi ngoài phân hơi lỏng, xì hơi nặng mùi hơn hoặc hơi bứt rứt nhẹ. Luôn bắt đầu từ 1/4 đến 1/2 liều chuẩn để cơ thể làm quen.
-
Kiểm tra nếu trẻ nhạy cảm lưu huỳnh (CBS / SUOX mutation): Một số ít trẻ có rối loạn chuyển hóa lưu huỳnh (ăn trứng, hành tỏi, bông cải hay bị bồn chồn, nước tiểu khai nồng mùi lưu huỳnh) cần thận trọng thử liều cực nhỏ trước.
Trong các thử nghiệm lâm sàng của Đại học Johns Hopkins (dẫn đầu bởi Giáo sư Thần kinh Nhi Andrew Zimmerman và Giáo sư Paul Talalay), liều lượng Sulforaphane được chuẩn hóa bằng đơn vị micromol (μmol) và sau đó quy đổi sang miligam (mg) dựa trên trọng lượng cơ thể.
Có 2 cách tính liều được áp dụng trong hệ thống nghiên cứu của Johns Hopkins (cách chia theo bậc cân nặng trong nghiên cứu gốc 2014 và công thức tính chính xác theo từng kg cho trẻ nhỏ từ 3–12 tuổi trong nghiên cứu năm 2021):
2.1. Bảng chia theo 3 bậc cân nặng (Nghiên cứu gốc Singh et al., PNAS 2014)
Trong thử nghiệm đầu tiên kéo dài 18 tuần, các nhà khoa học sử dụng viên chiết xuất mầm bông cải xanh chứa khoảng 50 μmol Sulforaphane mỗi viên (tương đương ≈8.85 mg Sulforaphane hoạt tính/viên) và chia theo 3 mốc cân nặng như sau:
2.2. Công thức tính chi tiết theo từng kg cho trẻ nhỏ (Nghiên cứu Zimmerman et al., Molecular Autism 2021)
Vì mốc “dưới 45 kg đều uống 50 μmol” ở nghiên cứu đầu tiên là quá rộng đối với trẻ nhỏ từ 3–12 tuổi (ví dụ trẻ 15 kg và trẻ 40 kg không thể uống bằng nhau), trong thử nghiệm lâm sàng giai đoạn 2 trên 57 trẻ tự kỷ (3–12 tuổi) sử dụng chế phẩm Avmacol (Glucoraphanin + enzyme Myrosinase hoạt tính), nhóm Johns Hopkins đã áp dụng công thức tính theo từng kg cân nặng:
-
Liều mục tiêu tính theo Micromol: Khoảng 2.2 μmol Sulforaphane / kg cân nặng / ngày (hoặc dao động trong vùng an toàn từ 1.5−2.5 μmol/kg/ngày).
-
Quy đổi sang Miligam (mg) để cha mẹ đọc nhãn TPCN:
-
Nếu nhãn ghi lượng Sulforaphane thực tế (Actual Sulforaphane yield): Khoảng 0.25−0.38 mg / kg cân nặng / ngày.
-
Nếu nhãn ghi lượng tiền chất Glucoraphanin (có kèm enzyme Myrosinase): Do hiệu suất chuyển hóa từ Glucoraphanin sang Sulforaphane trong ruột đạt khoảng 35%–45%, liều Glucoraphanin cần uống là khoảng 1.2−2.0 mg Glucoraphanin / kg cân nặng / ngày.
-
Bảng tra nhanh liều lượng cho trẻ nhỏ (từ 12 kg đến 45 kg):
2.3. Bốn nguyên tắc cho uống từ phác đồ gốc của Johns Hopkins
-
Quy tắc “Dò liều bậc thang” (Titration): Trong thực tế lâm sàng, không bao giờ cho trẻ uống ngay liều tối đa theo cân nặng ở ngày đầu tiên. Hãy bắt đầu bằng 1/4 hoặc 1/2 liều tính được trong 5–7 ngày đầu, nếu bụng dạ trẻ êm và không bị bứt rứt thì mới tăng dần lên đủ liều chuẩn.
-
Thời điểm uống: Cho uống 1 lần duy nhất vào buổi sáng cùng bữa ăn (hoặc ngay sau ăn sáng). Không nên uống vào buổi tối vì Sulforaphane thúc đẩy năng lượng ty thể, có thể làm một số trẻ tỉnh táo khó ngủ.
-
Cách pha khi trẻ không nuốt được viên: Trong nghiên cứu năm 2021, đối với trẻ 3–7 tuổi, các bác sĩ hướng dẫn cha mẹ nghiền viên thuốc trộn vào một thìa thức ăn nguội/mát (như sữa chua, sốt táo, nước ép trái cây hoặc bơ hạt). Tuyệt đối không pha vào cháo nóng hay nước ấm vì enzyme Myrosinase sẽ bị hỏng.
-
Mốc thời gian đánh giá hiệu quả: Trong các thử nghiệm của Johns Hopkins, những thay đổi đầu tiên (giảm cáu gắt, giảm tăng động/stimming, tăng giao tiếp mắt) bắt đầu nhận thấy ở tuần thứ 4, rõ rệt nhất ở tuần thứ 10 đến tuần thứ 15. Đáng chú ý là khi ngừng uống sau 4 tuần, các triệu chứng quay trở lại mức ban đầu — cho thấy Sulforaphane đóng vai trò duy trì bảo vệ tế bào hàng ngày giống như dinh dưỡng.
Bạn có thể kéo thanh trượt Cân nặng của bé (kg) trong công cụ tính toán dưới đây để xem ngay liều lượng quy đổi chính xác theo phác đồ Johns Hopkins cho từng loại nhãn thực phẩm chức năng:
/* Cô lập toàn bộ biến và style bên trong #sfn-calc-wp-widget */ #sfn-calc-wp-widget { --ff-sans: 'Google Sans Flex', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; --ff-mono: 'Google Sans Code', monospace; --lumi-sys-spacing--xxs: 2px; --lumi-sys-spacing--xs: 4px; --lumi-sys-spacing--s: 8px; --lumi-sys-spacing--m: 12px; --lumi-sys-spacing--l: 16px; --lumi-sys-spacing--xl: 20px; --lumi-sys-spacing--xxl: 24px; --lumi-sys-spacing--3xl: 28px; --lumi-sys-spacing--4xl: 36px; --lumi-sys-shape--extra-small: 4px; --lumi-sys-shape--small: 8px; --lumi-sys-shape--medium: 12px; --lumi-sys-shape--large: 16px; --lumi-sys-shape--large-max: 24px; --lumi-sys-shape--xl: 28px; --lumi-sys-shape--xl-max: 40px; --lumi-sys-shape--full: 999px; --lumi-sys-elevation--level1: 0 0 20px 0 rgba(0, 0, 0, 0.04); --lumi-sys-elevation--level2: 0 0 20px 0 rgba(0, 0, 0, 0.11); --lumi-sys-color--surface: #fdfcfc; --lumi-sys-color--surface-dim: #f2f0f0; --lumi-sys-color--surface-bright: #ffffff; --lumi-sys-color--surface-container: #f2f0f0; --lumi-sys-color--surface-container-high: #e6e6e6; --lumi-sys-color--on-surface: #000000; --lumi-sys-color--on-surface-default: #000000; --lumi-sys-color--on-surface-variant: rgba(0, 0, 0, 0.55); --lumi-sys-color--on-surface-de-emphasis: rgba(0, 0, 0, 0.55); --lumi-sys-color--on-surface-low: rgba(0, 0, 0, 0.08); --lumi-sys-color--accent: #9dd2ff; --lumi-sys-color--accent-container: #dcf1ff; --lumi-sys-color--accent-fixed: #3186ff; --lumi-sys-color--primary: #3186ff; --lumi-sys-color--stroke-default: #e3e3e3; --lumi-sys-color--chart-series-1: #2575fc; --lumi-sys-color--chart-series-2: #5b6e9e; --lumi-sys-color--chart-series-3: #228a49; --lumi-sys-color--chart-series-4: #62991b; --lumi-sys-color--chart-series-5: #1e564d; --lumi-sys-color--chart-series-6: #526a45; --lumi-sys-color--chart-series-7: #2780c4; --lumi-sys-color--chart-series-8: #997112; --lumi-sys-color--chart-series-9: #705ec2; --lumi-sys-color--chart-series-10: #c84288; /* Aliases */ --surface: var(--lumi-sys-color--surface); --surface-dim: var(--lumi-sys-color--surface-dim); --surface-bright: var(--lumi-sys-color--surface-bright); --surface-container: var(--lumi-sys-color--surface-container); --surface-container-high: var(--lumi-sys-color--surface-container-high); --on-surface: var(--lumi-sys-color--on-surface); --on-surface-variant: var(--lumi-sys-color--on-surface-variant); --on-surface-low: var(--lumi-sys-color--on-surface-low); --primary: var(--lumi-sys-color--primary); --accent: var(--lumi-sys-color--accent); --accent-container: var(--lumi-sys-color--accent-container); --accent-fixed: var(--lumi-sys-color--accent-fixed); --stroke-default: var(--lumi-sys-color--stroke-default); --chart-1: var(--lumi-sys-color--chart-series-1); --chart-2: var(--lumi-sys-color--chart-series-2); --chart-3: var(--lumi-sys-color--chart-series-3); --chart-4: var(--lumi-sys-color--chart-series-4); --chart-5: var(--lumi-sys-color--chart-series-5); --chart-6: var(--lumi-sys-color--chart-series-6); --chart-7: var(--lumi-sys-color--chart-series-7); --chart-8: var(--lumi-sys-color--chart-series-8); --chart-9: var(--lumi-sys-color--chart-series-9); --chart-10: var(--lumi-sys-color--chart-series-10); --spacing-l: var(--lumi-sys-spacing--l); --r-container: var(--lumi-sys-shape--xl-max); --r-l: var(--lumi-sys-shape--large-max); --r-full: var(--lumi-sys-shape--full); width: 100%; max-width: 708px; margin: 24px auto; font-family: var(--ff-sans); color: var(--on-surface); box-sizing: border-box; line-height: 1.5; -webkit-font-smoothing: antialiased; } /* Hỗ trợ Dark Mode nếu theme hoặc thiết bị bật chế độ tối */ #sfn-calc-wp-widget[data-theme="dark"], body.dark-mode #sfn-calc-wp-widget { --lumi-sys-color--surface: #0f0f0f; --lumi-sys-color--surface-dim: #141414; --lumi-sys-color--surface-bright: #1c1c1c; --lumi-sys-color--surface-container: #141414; --lumi-sys-color--surface-container-high: #1c1c1c; --lumi-sys-color--on-surface: #e0e0e0; --lumi-sys-color--on-surface-default: #e0e0e0; --lumi-sys-color--on-surface-variant: rgba(255, 255, 255, 0.55); --lumi-sys-color--on-surface-de-emphasis: rgba(255, 255, 255, 0.55); --lumi-sys-color--on-surface-low: rgba(255, 255, 255, 0.12); --lumi-sys-color--accent: #1f3b9b; --lumi-sys-color--accent-container: #192967; --lumi-sys-color--accent-fixed: #3186ff; --lumi-sys-color--primary: #9dd2ff; --lumi-sys-color--stroke-default: #2d2f38; --lumi-sys-color--chart-series-1: #9dd2ff; --lumi-sys-color--chart-series-2: #96a7d6; --lumi-sys-color--chart-series-3: #50e389; --lumi-sys-color--chart-series-4: #c8f585; --lumi-sys-color--chart-series-5: #f5f2e6; --lumi-sys-color--chart-series-6: #dcd8c0; --lumi-sys-color--chart-series-7: #82c7ff; --lumi-sys-color--chart-series-8: #f5d77f; --lumi-sys-color--chart-series-9: #d9ceff; --lumi-sys-color--chart-series-10: #ffa6d7; } #sfn-calc-wp-widget *, #sfn-calc-wp-widget *::before, #sfn-calc-wp-widget *::after { box-sizing: border-box; } #sfn-calc-wp-widget svg text { stroke: none; paint-order: fill; } /* Typography */ #sfn-calc-wp-widget .lumi-display-s { font-family: var(--ff-sans); font-size: 2rem; line-height: 2.375rem; font-weight: 360; } #sfn-calc-wp-widget .lumi-headline-m { font-family: var(--ff-sans); font-size: 1.5rem; line-height: 1.75rem; font-weight: 450; } #sfn-calc-wp-widget .lumi-headline-s { font-family: var(--ff-sans); font-size: 1.25rem; line-height: 1.5rem; font-weight: 470; } #sfn-calc-wp-widget .lumi-body-m { font-family: var(--ff-sans); font-size: 0.9375rem; line-height: 1.25rem; font-weight: 400; } #sfn-calc-wp-widget .lumi-body-s { font-family: var(--ff-sans); font-size: 0.8125rem; line-height: 1.0625rem; font-weight: 400; } #sfn-calc-wp-widget .lumi-caption { font-family: var(--ff-mono); font-style: italic; font-size: 13px; line-height: 20px; font-weight: 400; } #sfn-calc-wp-widget .lumi-code { font-family: var(--ff-mono); font-size: 15px; line-height: 20px; font-weight: 400; } /* Buttons & Chips (Scoped) */ #sfn-calc-wp-widget button { appearance: none; -webkit-appearance: none; display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 36px; padding: 8px 18px; font-family: var(--ff-sans); font-size: 13px; font-weight: 500; line-height: 18px; color: var(--on-surface); background-color: var(--surface-bright); border: 1px solid var(--stroke-default); border-radius: 999px; cursor: pointer; user-select: none; transition: background-color 0.15s, color 0.15s, border-color 0.15s, transform 0.1s; text-decoration: none; margin: 0; } #sfn-calc-wp-widget button:hover { background-color: var(--surface-container-high); } #sfn-calc-wp-widget button:active { transform: scale(0.98); } #sfn-calc-wp-widget .lumi-btn.is-selected, #sfn-calc-wp-widget .lumi-btn[aria-pressed="true"] { background-color: var(--accent-container); color: var(--on-surface); border-color: transparent; } #sfn-calc-wp-widget .lumi-chip { min-height: 36px; padding: 0 16px; font-size: 13px; font-weight: 500; color: var(--on-surface); background: var(--surface-bright); border: 1px solid var(--stroke-default); border-radius: 999px; } #sfn-calc-wp-widget .lumi-chip.is-active, #sfn-calc-wp-widget .lumi-chip[aria-pressed="true"] { color: var(--accent-fixed); background: var(--accent-container); border-color: transparent; font-weight: 600; } /* Slider (Scoped) */ #sfn-calc-wp-widget .lumi-slider { appearance: none; -webkit-appearance: none; width: calc(100% + 28px); margin: 0 -14px; height: 40px; background: transparent; cursor: pointer; border: none; padding: 0; } #sfn-calc-wp-widget .lumi-slider:focus { outline: none; } #sfn-calc-wp-widget .lumi-slider::-webkit-slider-runnable-track { height: 4px; --thumb-center: calc(14px + (100% - 28px) * (var(--progress, 11.76%) / 100%)); --active-end: calc(var(--thumb-center) - 8px + (var(--progress, 11.76%) / 100%) * 6px); background-image: radial-gradient(circle at calc(100% - 18px) center, var(--on-surface-variant) 2px, transparent 2.5px), linear-gradient(to right, transparent 0, transparent 14px, var(--on-surface) 14px, var(--on-surface) var(--active-end), transparent var(--active-end), transparent calc(var(--thumb-center) + 8px), var(--stroke-default) calc(var(--thumb-center) + 8px), var(--stroke-default) calc(100% - 16px), transparent calc(100% - 16px), transparent 100%); border-radius: 999px; } #sfn-calc-wp-widget .lumi-slider::-webkit-slider-thumb { appearance: none; -webkit-appearance: none; width: 32px; height: 32px; border-radius: 50%; background-color: transparent; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Crect x='14' y='6' width='4' height='20' rx='2' fill='%23000000'/%3E%3C/svg%3E"); background-size: 32px 32px; background-repeat: no-repeat; background-position: center; border: none; margin-top: -14px; cursor: pointer; transition: background-color 0.15s; } #sfn-calc-wp-widget[data-theme="dark"] .lumi-slider::-webkit-slider-thumb, body.dark-mode #sfn-calc-wp-widget .lumi-slider::-webkit-slider-thumb { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Crect x='14' y='6' width='4' height='20' rx='2' fill='%23ffffff'/%3E%3C/svg%3E"); } #sfn-calc-wp-widget .lumi-slider:hover::-webkit-slider-thumb { background-color: var(--on-surface-low); } #sfn-calc-wp-widget .lumi-slider-value { display: flex; align-items: center; justify-content: center; min-width: 72px; height: 40px; padding: 0 12px; background-color: var(--surface-bright); border-radius: 16px; font-family: var(--ff-sans); font-size: 15px; font-weight: 540; font-variant-numeric: tabular-nums; color: var(--on-surface); } /* Layout Components */ #sfn-calc-wp-widget .outer-deck { background-color: var(--surface-bright); border: 1px solid var(--stroke-default); border-radius: var(--r-container, 40px); padding: 24px; display: flex; flex-direction: column; gap: 20px; box-shadow: var(--lumi-sys-elevation--level1); } #sfn-calc-wp-widget .header-block { display: flex; flex-direction: column; gap: 6px; } #sfn-calc-wp-widget .header-block h2, #sfn-calc-wp-widget .header-block p { margin: 0; color: var(--on-surface); } #sfn-calc-wp-widget .metrics-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; } #sfn-calc-wp-widget .metric-card { background-color: var(--surface-dim); border-radius: var(--r-l, 24px); padding: 16px; display: flex; flex-direction: column; justify-content: space-between; gap: 8px; transition: background-color 0.2s ease; } #sfn-calc-wp-widget .metric-card.is-highlighted { background-color: var(--accent-container); } #sfn-calc-wp-widget .metric-label, #sfn-calc-wp-widget .metric-val { color: var(--on-surface); margin: 0; } #sfn-calc-wp-widget .metric-value-row { display: flex; align-items: baseline; gap: 6px; flex-wrap: wrap; } #sfn-calc-wp-widget .metric-unit, #sfn-calc-wp-widget .metric-sub { color: var(--on-surface-variant); margin: 0; } #sfn-calc-wp-widget .titration-box { background-color: var(--surface-dim); border-radius: var(--r-l, 24px); padding: 16px 20px; display: flex; flex-direction: column; gap: 10px; } #sfn-calc-wp-widget .titration-header { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; } #sfn-calc-wp-widget .titration-track { width: 100%; height: 10px; background-color: var(--on-surface-low); border-radius: 999px; overflow: hidden; position: relative; } #sfn-calc-wp-widget .titration-fill { height: 100%; background-color: var(--on-surface); border-radius: 999px; transition: width 0.25s cubic-bezier(0.22, 1, 0.36, 1); } #sfn-calc-wp-widget .titration-steps { display: flex; justify-content: space-between; gap: 8px; flex-wrap: wrap; } #sfn-calc-wp-widget .chart-panel { display: flex; flex-direction: column; gap: 12px; } #sfn-calc-wp-widget .chart-top-bar { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 8px; } #sfn-calc-wp-widget .lumi-chart-legend { display: flex; justify-content: center; align-items: center; gap: 24px; margin-top: 12px; width: 100%; flex-wrap: wrap; } #sfn-calc-wp-widget .lumi-legend-item { display: inline-flex; align-items: center; gap: 8px; } #sfn-calc-wp-widget .lumi-legend-dot { width: 16px; height: 16px; border-radius: 50%; flex-shrink: 0; display: inline-block; } #sfn-calc-wp-widget .lumi-legend-label { font-family: var(--ff-mono); font-style: italic; font-size: 13px; line-height: 20px; color: var(--on-surface); } #sfn-calc-wp-widget .control-panel { background-color: var(--surface-dim); border-radius: var(--r-l, 24px); padding: 20px; display: flex; flex-direction: column; gap: 16px; } #sfn-calc-wp-widget .control-row-top { display: flex; justify-content: space-between; align-items: center; gap: 12px; } #sfn-calc-wp-widget .toggle-strip { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; } @media (max-width: 560px) { #sfn-calc-wp-widget .outer-deck { padding: 18px; border-radius: 28px; } #sfn-calc-wp-widget .metrics-grid { grid-template-columns: 1fr; } }
Phác đồ Liều lượng Sulforaphane & Glucoraphanin
Chuẩn hóa theo thử nghiệm lâm sàng Đại học Johns Hopkins (Zimmerman 2021: 2,1 μmol/kg/ngày & Singh 2014)
Sulforaphane hoạt tính
Liều mục tiêu: 42 μmol/ngày (≈ 0,37 mg/kg)
Glucoraphanin + Myrosinase
Tra trên nhãn chiết xuất hạt/mầm bông cải xanh
Liều khởi đầu (Tuần 1)
Dò liều 30% (≈ 2,2 mg SFN hoạt tính) trong 7 ngày
Không thể tải biểu đồ
Vui lòng thử tải lại trang.
3. Tự tạo Sulforaphane từ Mầm bông cải xanh (broccoli sprouts)
Nếu tôi tự trồng mầm bông cải xanh (broccoli sprouts) tại nhà cho bé ăn, thì cần bao nhiêu gam rau mầm tươi mỗi ngày để tương đương với liều Sulforaphane trong nghiên cứu của Johns Hopkins?
Mầm bông cải xanh (broccoli sprouts) thu hoạch ở ngày thứ 3 đến ngày thứ 5 chứa lượng tiền chất Glucoraphanin cao gấp 20 đến 100 lần so với cây súp lơ xanh trưởng thành. Tuy nhiên, lượng rau mầm tươi cần ăn mỗi ngày phụ thuộc rất lớn vào cách bạn sơ chế trước khi xay cho bé.
Dựa trên số liệu phân tích định lượng của Phòng thí nghiệm Hóa bảo vệ Cullman (thuộc Đại học Johns Hopkins), trung bình 1 gam mầm bông cải xanh tươi (3–5 ngày tuổi) chứa khoảng 2.5−3.5 mg Glucoraphanin.
-
Nếu xay sống thông thường: Một loại protein nội sinh trong mầm rau có tên là ESP (Epithiospecifier protein) sẽ “cướp” mất 75%–80% quá trình chuyển hóa và biến Glucoraphanin thành Sulforaphane Nitrile (một chất hoàn toàn vô tác dụng). Khi đó, rau mầm tươi chỉ tạo ra được khoảng 0.3−0.4 mg Sulforaphane.
-
Nếu chần qua nước nóng 70∘C trong đúng 10 phút trước khi xay (hoặc xay kèm một nhúm bột hạt mù tạt): Nhiệt độ 70∘C sẽ tiêu diệt hoàn toàn protein phá hoại ESP nhưng vẫn giữ nguyên vẹn 100% enzyme quý Myrosinase. Nhờ đó, lượng Sulforaphane thu được tăng gấp 3.5 lần, đạt tới 1.0−1.3 mg Sulforaphane trên mỗi 1g rau mầm tươi.
3.1. Bảng quy đổi lượng mầm bông cải xanh tươi cần dùng mỗi ngày (theo chuẩn Johns Hopkins)
Dưới đây là lượng rau mầm tươi đã ráo nước (tính bằng gam) tương ứng với công thức liều lâm sàng của Johns Hopkins (≈2.1−2.2 μmol/kg hay ≈0.37 mg Sulforaphane/kg cân nặng):
(Lợi ích cực lớn của phương pháp xử lý nhiệt 70∘C là bé chỉ cần uống một lượng mầm cực ít — chỉ khoảng 5g đến 10g mỗi ngày — nên giảm được tối đa vị hăng nồng và không làm bé bị đầy bụng).
3.2. Quy trình 4 bước “Nhân 3.5 lần hoạt chất” và Cấp đông dùng cả tuần
Trẻ tự kỷ rất nhạy cảm về vị giác và khứu giác, hơn nữa việc ngày nào cũng lích kích chế biến vài gam rau mầm rất mất thời gian. Bạn có thể làm 1 mẻ vào cuối tuần và đông đá thành từng viên nhỏ (Sulforaphane sau khi đã hình thành cực kỳ bền vững ở nhiệt độ đông đá −18∘C):
Bước 1: Thu hoạch đúng “Ngày vàng” (Ngày 3 đến Ngày 5)

-
Thời điểm thu hoạch: Thu hoạch ngay khi mầm đạt từ 3 đến 5 ngày tuổi.
-
Nguyên tắc cốt lõi: Không để mầm mọc quá dài thành lá xanh lớn (microgreens) vì tổng lượng tiền chất Glucoraphanin trong mỗi hạt là cố định — mầm càng lớn thì nồng độ hoạt chất tính trên mỗi gam trọng lượng càng bị pha loãng.
-
Nhận biết mầm khỏe: Lớp lông tơ trắng muốt mọc quanh chân rễ vào ngày thứ 3 là lông hút nước tự nhiên (root hairs), hoàn toàn không có mùi hôi, đừng nhầm lẫn với nấm mốc mà bỏ đi.
Bước 2: Ngâm nước ấm 70∘C trong 10 phút (Bước quyết định)

-
Công thức pha nước không cần nhiệt kế: Pha theo tỷ lệ 2 phần nước sôi (100∘C) + 1 phần nước lọc nguội (25∘C) sẽ cho ra mức nhiệt xấp xỉ 70∘C (hoặc kiểm tra trực tiếp bằng nhiệt kế bếp).
-
Thao tác: Thả toàn bộ mầm tươi vào ngâm đúng 10 phút, sau đó vớt ra xả nhanh qua nước mát. Mức nhiệt 70∘C giúp bất hoạt protein ESP (vốn làm chệch hướng phản ứng sang chất không có tác dụng), trong khi vẫn giữ nguyên vẹn enzyme Myrosinase, giúp lượng Sulforaphane tạo thành tăng gấp 3.5 lần.
-
Cảnh báo nhiệt độ & Mẹo cứu nguy: Tuyệt đối không dùng nước trên 80∘C vì sẽ làm chết luôn enzyme Myrosinase. Nếu lỡ tay pha nước quá nóng, khi chuyển sang bước xay bạn chỉ cần rắc thêm 1 đầu tăm bột hạt mù tạt vàng (mustard seed powder) hoặc vài cọng cải củ/cải xoong sống vào cối xay để bổ sung lại enzyme Myrosinase.
Bước 3: Xay nhuyễn và chờ 15–20 phút để kích hoạt phản ứng

-
Xay phá vỡ tế bào: Cho mầm đã chần vào máy xay cùng một ít nước lọc, thêm vài giọt nước cốt chanh hoặc vài miếng dứa/táo (môi trường hơi chua giàu Vitamin C giúp bảo vệ Sulforaphane không bị oxy hóa).
-
Thời gian nghỉ bắt buộc: Sau khi xay nhuyễn mịn, để yên hỗn hợp ở nhiệt độ phòng trong 15 – 20 phút trước khi đem cấp đông. Đây là khoảng thời gian bắt buộc để enzyme Myrosinase tiếp xúc và cắt toàn bộ Glucoraphanin thành Sulforaphane hoạt tính.
Bước 4: Đổ khuôn đá viên và bảo quản ở −18∘C

-
Chia liều theo ngày: Đổ hỗn hợp vào khay đá silicon có nắp đậy sao cho mỗi ô tương ứng chính xác với liều 1 ngày của bé (ví dụ mỗi ô tương ứng 5 g hoặc 8 g mầm tươi).
-
Cách dùng mỗi sáng: Lấy 1 viên ra khỏi tủ đông, để rã đông tự nhiên trong 15 phút hoặc trộn thẳng vào sinh tố chuối, xoài, sữa chua, sốt táo cho bé dùng ngay sau bữa sáng (không pha vào cháo/súp đang nóng trên 40∘C).
3.3. Hai nguyên tắc an toàn bắt buộc khi tự trồng mầm cho trẻ nhỏ
-
Chọn hạt giống chuyên dụng (Sprouting seeds): Chỉ mua hạt giống hữu cơ ghi rõ nhãn For Sprouting / Microgreens. Tuyệt đối không mua hạt giống trồng cây nông nghiệp vì thường được tẩm hóa chất chống nấm mốc rất độc.
-
Kiểm soát vi sinh vật: Môi trường ủ mầm ẩm ướt rất dễ phát sinh vi khuẩn Salmonella hoặc E. coli. Bước ngâm nước 70∘C trong 10 phút vừa giúp nhân 3.5 lần hoạt chất, vừa đóng vai trò thanh trùng bề mặt mầm rau,bảo vệ hệ tiêu hóa nhạy cảm của trẻ.
Bạn có thể sử dụng công cụ tính toán dưới đây để nhập Cân nặng của bé và chọn Phương pháp chế biến, hệ thống sẽ tính chính xác số gam mầm tươi cần dùng mỗi ngày và lượng hạt khô cần ngâm cho cả tuần:
/* Cô lập toàn bộ biến và style bên trong #sprout-calc-wp-widget */ #sprout-calc-wp-widget { --ff-sans: 'Google Sans Flex', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; --ff-mono: 'Google Sans Code', monospace; --lumi-sys-spacing--xxs: 2px; --lumi-sys-spacing--xs: 4px; --lumi-sys-spacing--s: 8px; --lumi-sys-spacing--m: 12px; --lumi-sys-spacing--l: 16px; --lumi-sys-spacing--xl: 20px; --lumi-sys-spacing--xxl: 24px; --lumi-sys-spacing--3xl: 28px; --lumi-sys-spacing--4xl: 36px; --lumi-sys-shape--extra-small: 4px; --lumi-sys-shape--small: 8px; --lumi-sys-shape--medium: 12px; --lumi-sys-shape--large: 16px; --lumi-sys-shape--large-max: 24px; --lumi-sys-shape--xl: 28px; --lumi-sys-shape--xl-max: 40px; --lumi-sys-shape--full: 999px; --lumi-sys-elevation--level1: 0 0 20px 0 rgba(0, 0, 0, 0.04); --lumi-sys-elevation--level2: 0 0 20px 0 rgba(0, 0, 0, 0.11); --lumi-sys-color--surface: #fdfcfc; --lumi-sys-color--surface-dim: #f2f0f0; --lumi-sys-color--surface-bright: #ffffff; --lumi-sys-color--surface-container: #f2f0f0; --lumi-sys-color--surface-container-high: #e6e6e6; --lumi-sys-color--on-surface: #000000; --lumi-sys-color--on-surface-default: #000000; --lumi-sys-color--on-surface-variant: rgba(0, 0, 0, 0.55); --lumi-sys-color--on-surface-de-emphasis: rgba(0, 0, 0, 0.55); --lumi-sys-color--on-surface-low: rgba(0, 0, 0, 0.08); --lumi-sys-color--accent: #9dd2ff; --lumi-sys-color--accent-container: #dcf1ff; --lumi-sys-color--accent-fixed: #3186ff; --lumi-sys-color--primary: #3186ff; --lumi-sys-color--stroke-default: #e3e3e3; --lumi-sys-color--chart-series-1: #2575fc; --lumi-sys-color--chart-series-2: #5b6e9e; --lumi-sys-color--chart-series-3: #228a49; --lumi-sys-color--chart-series-4: #62991b; --lumi-sys-color--chart-series-5: #1e564d; /* Aliases */ --surface: var(--lumi-sys-color--surface); --surface-dim: var(--lumi-sys-color--surface-dim); --surface-bright: var(--lumi-sys-color--surface-bright); --surface-container: var(--lumi-sys-color--surface-container); --surface-container-high: var(--lumi-sys-color--surface-container-high); --on-surface: var(--lumi-sys-color--on-surface); --on-surface-variant: var(--lumi-sys-color--on-surface-variant); --on-surface-low: var(--lumi-sys-color--on-surface-low); --primary: var(--lumi-sys-color--primary); --accent: var(--lumi-sys-color--accent); --accent-container: var(--lumi-sys-color--accent-container); --accent-fixed: var(--lumi-sys-color--accent-fixed); --stroke-default: var(--lumi-sys-color--stroke-default); --chart-1: var(--lumi-sys-color--chart-series-1); --chart-2: var(--lumi-sys-color--chart-series-2); --chart-3: var(--lumi-sys-color--chart-series-3); --chart-4: var(--lumi-sys-color--chart-series-4); --chart-5: var(--lumi-sys-color--chart-series-5); --spacing-xs: var(--lumi-sys-spacing--xs); --spacing-s: var(--lumi-sys-spacing--s); --spacing-m: var(--lumi-sys-spacing--m); --spacing-l: var(--lumi-sys-spacing--l); --spacing-xl: var(--lumi-sys-spacing--xl); --r-container: var(--lumi-sys-shape--xl-max); --r-l: var(--lumi-sys-shape--large-max); --r-m: var(--lumi-sys-shape--large); --r-full: var(--lumi-sys-shape--full); width: 100%; max-width: 708px; margin: 24px auto; font-family: var(--ff-sans); color: var(--on-surface); box-sizing: border-box; line-height: 1.5; -webkit-font-smoothing: antialiased; } /* Hỗ trợ Dark Mode */ #sprout-calc-wp-widget[data-theme="dark"], body.dark-mode #sprout-calc-wp-widget { --lumi-sys-color--surface: #0f0f0f; --lumi-sys-color--surface-dim: #141414; --lumi-sys-color--surface-bright: #1c1c1c; --lumi-sys-color--surface-container: #141414; --lumi-sys-color--surface-container-high: #1c1c1c; --lumi-sys-color--on-surface: #e0e0e0; --lumi-sys-color--on-surface-default: #e0e0e0; --lumi-sys-color--on-surface-variant: rgba(255, 255, 255, 0.55); --lumi-sys-color--on-surface-de-emphasis: rgba(255, 255, 255, 0.55); --lumi-sys-color--on-surface-low: rgba(255, 255, 255, 0.12); --lumi-sys-color--accent: #1f3b9b; --lumi-sys-color--accent-container: #192967; --lumi-sys-color--accent-fixed: #3186ff; --lumi-sys-color--primary: #9dd2ff; --lumi-sys-color--stroke-default: #2d2f38; --lumi-sys-color--chart-series-1: #9dd2ff; --lumi-sys-color--chart-series-2: #96a7d6; --lumi-sys-color--chart-series-3: #50e389; --lumi-sys-color--chart-series-4: #c8f585; --lumi-sys-color--chart-series-5: #f5f2e6; } #sprout-calc-wp-widget *, #sprout-calc-wp-widget *::before, #sprout-calc-wp-widget *::after { box-sizing: border-box; } /* Typography */ #sprout-calc-wp-widget .lumi-display-s { font-family: var(--ff-sans); font-size: 2rem; line-height: 2.375rem; font-weight: 360; } #sprout-calc-wp-widget .lumi-headline-m { font-family: var(--ff-sans); font-size: 1.5rem; line-height: 1.75rem; font-weight: 450; } #sprout-calc-wp-widget .lumi-headline-s { font-family: var(--ff-sans); font-size: 1.25rem; line-height: 1.5rem; font-weight: 470; } #sprout-calc-wp-widget .lumi-body-m { font-family: var(--ff-sans); font-size: 0.9375rem; line-height: 1.25rem; font-weight: 400; } #sprout-calc-wp-widget .lumi-body-s { font-family: var(--ff-sans); font-size: 0.8125rem; line-height: 1.0625rem; font-weight: 400; } #sprout-calc-wp-widget .lumi-body-s-emphasized { font-family: var(--ff-sans); font-size: 0.8125rem; line-height: 1.0625rem; font-weight: 550; font-variant-numeric: tabular-nums; } #sprout-calc-wp-widget .lumi-caption { font-family: var(--ff-mono); font-style: italic; font-size: 13px; line-height: 20px; font-weight: 400; } #sprout-calc-wp-widget .lumi-code { font-family: var(--ff-mono); font-size: 15px; line-height: 20px; font-weight: 400; } /* Buttons (Scoped) */ #sprout-calc-wp-widget button { appearance: none; -webkit-appearance: none; display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 36px; padding: 8px 18px; font-family: var(--ff-sans); font-size: 13px; font-weight: 500; line-height: 18px; color: var(--on-surface); background-color: var(--surface-bright); border: 1px solid var(--stroke-default); border-radius: 999px; cursor: pointer; user-select: none; transition: background-color 0.15s, color 0.15s, border-color 0.15s, transform 0.1s; text-decoration: none; margin: 0; } #sprout-calc-wp-widget button:hover { background-color: var(--surface-container-high); } #sprout-calc-wp-widget button:active { transform: scale(0.98); } #sprout-calc-wp-widget .lumi-btn.is-selected, #sprout-calc-wp-widget .lumi-btn[aria-pressed="true"] { background-color: var(--accent-container); color: var(--on-surface); border-color: transparent; } /* Slider (Scoped) */ #sprout-calc-wp-widget .lumi-slider-row { display: flex; flex-direction: column; gap: var(--spacing-xs, 4px); width: 100%; } #sprout-calc-wp-widget .lumi-slider { appearance: none; -webkit-appearance: none; width: calc(100% + 28px); margin: 0 -14px; height: 40px; background: transparent; cursor: pointer; border: none; padding: 0; } #sprout-calc-wp-widget .lumi-slider:focus { outline: none; } #sprout-calc-wp-widget .lumi-slider::-webkit-slider-runnable-track { height: 4px; --thumb-center: calc(14px + (100% - 28px) * (var(--progress, 14.28%) / 100%)); --active-end: calc(var(--thumb-center) - 8px + (var(--progress, 14.28%) / 100%) * 6px); background-image: radial-gradient(circle at calc(100% - 18px) center, var(--on-surface-variant) 2px, transparent 2.5px), linear-gradient(to right, transparent 0, transparent 14px, var(--on-surface) 14px, var(--on-surface) var(--active-end), transparent var(--active-end), transparent calc(var(--thumb-center) + 8px), var(--stroke-default) calc(var(--thumb-center) + 8px), var(--stroke-default) calc(100% - 16px), transparent calc(100% - 16px), transparent 100%); border-radius: 999px; } #sprout-calc-wp-widget .lumi-slider::-webkit-slider-thumb { appearance: none; -webkit-appearance: none; width: 32px; height: 32px; border-radius: 50%; background-color: transparent; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Crect x='14' y='6' width='4' height='20' rx='2' fill='%23000000'/%3E%3C/svg%3E"); background-size: 32px 32px; background-repeat: no-repeat; background-position: center; border: none; margin-top: -14px; cursor: pointer; transition: background-color 0.15s; } #sprout-calc-wp-widget[data-theme="dark"] .lumi-slider::-webkit-slider-thumb, body.dark-mode #sprout-calc-wp-widget .lumi-slider::-webkit-slider-thumb { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Crect x='14' y='6' width='4' height='20' rx='2' fill='%23ffffff'/%3E%3C/svg%3E"); } #sprout-calc-wp-widget .lumi-slider:hover::-webkit-slider-thumb { background-color: var(--on-surface-low); } #sprout-calc-wp-widget .lumi-slider-value { display: flex; align-items: center; justify-content: center; min-width: 64px; height: 40px; padding: 0 12px; background-color: var(--surface-dim); border-radius: 16px; font-family: var(--ff-sans); font-size: 15px; font-weight: 540; font-variant-numeric: tabular-nums; color: var(--on-surface); } /* Layout Components */ #sprout-calc-wp-widget .outer-shell { background-color: var(--surface-bright); border: 1px solid var(--stroke-default); border-radius: var(--r-container, 40px); padding: var(--spacing-xl, 20px); display: flex; flex-direction: column; gap: var(--spacing-xl, 20px); box-shadow: var(--lumi-sys-elevation--level1); } @media (min-width: 520px) { #sprout-calc-wp-widget .outer-shell { padding: 28px; } } #sprout-calc-wp-widget .header-block { display: flex; flex-direction: column; gap: var(--spacing-xs, 4px); } #sprout-calc-wp-widget .header-meta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--spacing-s, 8px); } #sprout-calc-wp-widget .target-pill { background-color: var(--surface-dim); color: var(--on-surface); border-radius: var(--r-full, 999px); padding: 6px 14px; display: inline-flex; align-items: center; gap: 6px; } #sprout-calc-wp-widget .metrics-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(175px, 1fr)); gap: var(--spacing-m, 12px); } #sprout-calc-wp-widget .metric-box { background-color: var(--surface-dim); border-radius: var(--r-l, 24px); padding: var(--spacing-l, 16px); display: flex; flex-direction: column; justify-content: space-between; gap: var(--spacing-xs, 4px); } #sprout-calc-wp-widget .metric-unit { color: var(--on-surface-variant); margin-inline-start: 4px; } #sprout-calc-wp-widget .controls-section { display: flex; flex-direction: column; gap: var(--spacing-l, 16px); padding-top: var(--spacing-xs, 4px); } #sprout-calc-wp-widget .slider-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: var(--spacing-xs, 4px); } #sprout-calc-wp-widget .method-group { display: flex; flex-direction: column; gap: var(--spacing-s, 8px); } #sprout-calc-wp-widget .method-buttons { display: flex; flex-wrap: wrap; gap: var(--spacing-s, 8px); } #sprout-calc-wp-widget .method-note { background-color: var(--surface-dim); border-radius: var(--r-m, 16px); padding: 12px 16px; display: flex; flex-direction: column; gap: 4px; } #sprout-calc-wp-widget .chart-section { display: flex; flex-direction: column; gap: var(--spacing-s, 8px); } #sprout-calc-wp-widget .chart-header { display: flex; justify-content: space-between; align-items: baseline; flex-wrap: wrap; gap: var(--spacing-xs, 4px); } #sprout-calc-wp-widget .footnote-bar { padding-top: var(--spacing-xs, 4px); border-top: 1px solid var(--on-surface-low); display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--spacing-s, 8px); }
Quy đổi theo phác đồ Đại học Johns Hopkins (2,1 μmol/kg/ngày) cho mầm tươi 4 ngày tuổi
So sánh lượng mầm tươi cần ăn mỗi ngày (g/ngày)
Càng ít gam càng dễ cho bé uốngKhông thể tải biểu đồ
Vui lòng thử tải lại trang.
3.4. Nếu là thực phẩm chức năng, có sản phẩm nào nổi tiếng không?
Trong giới y sinh học (đặc biệt là cộng đồng can thiệp tự kỷ tại Mỹ và châu Âu), thị trường TPCN Sulforaphane được sàng lọc rất khắt khe vì nhiều dòng giá rẻ trên Amazon thực chất chỉ là “bột bông cải xanh sấy khô” không còn hoạt tính.
Dưới đây là 5 thương hiệu nổi tiếng, uy tín nhất đã được kiểm chứng qua các thử nghiệm lâm sàng độc lập (của Johns Hopkins, Đại học Bắc Carolina…) và được các bác sĩ Y sinh (MAPS doctors) khuyên dùng nhiều nhất:
1. Avmacol (của hãng Nutramax Laboratories – Mỹ) — “Tiêu chuẩn vàng” trong nghiên cứu
-
Vì sao nổi tiếng nhất? Đây chính là sản phẩm đích danh được Đại học Johns Hopkins chọn sử dụng trong các thử nghiệm lâm sàng chính thức về tự kỷ (nghiên cứu của GS. Zimmerman năm 2021), cũng như hàng chục thử nghiệm tại Mỹ.
-
Cơ chế: Chứa bộ đôi chuẩn hóa Glucoraphanin (từ hạt bông cải xanh) + Enzyme Myrosinase hoạt tính.
-
Các dòng sản phẩm phù hợp cho trẻ:
-
Avmacol Regular Strength (Viên nén tiêu chuẩn): Mỗi viên cung cấp khoảng 15 mg Glucoraphanin (chuyển hóa ra khoảng 5–6 mg Sulforaphane thực tế).
-
Avmacol Extra Strength: Hàm lượng gấp đôi (khoảng 30 mg Glucoraphanin/viên), ngoài ra có bổ sung thêm chiết xuất nấm Maitake giúp tăng hấp thu.
-
-
Ưu/Nhược điểm: Độ tin cậy và tính ổn định số 1. Nhược điểm là dạng viên nén (tablet) nên với trẻ nhỏ phải dùng dụng cụ nghiền thuốc (pill crusher) nghiền mịn rồi trộn vào sốt táo hoặc sữa chua.
2. BrocElite (của hãng Mara Labs – Mỹ) — Dạng Sulforaphane tự do ổn định hóa
-
Vì sao nổi tiếng? Do cựu nhà nghiên cứu từ Johns Hopkins đồng sáng lập. Thay vì bắt cơ thể tự chuyển hóa trong ruột, hãng dùng công nghệ chiết xuất tự nhiên để tạo ra Sulforaphane tự do đã được ổn định hóa (Stabilized Free Sulforaphane) ngay trong viên nang.
-
Hàm lượng: Mỗi viên chứa 5 mg Sulforaphane thực tế (kèm theo PEITC – một hợp chất chống viêm thần kinh khác từ họ cải).
-
Ưu/Nhược điểm: Không phụ thuộc vào việc đường ruột của trẻ tốt hay xấu, uống vào hấp thu thẳng. Viên nang (capsule) rất nhỏ, có thể tháo vỏ nang đổ bột ra pha cho trẻ (nhưng bột có vị hơi cay nồng đặc trưng nên cần giấu kỹ trong đồ ăn có vị đậm).
3. Prostaphane (của hãng Nutrinov – Pháp) — Dạng chuẩn y khoa châu Âu
-
Vì sao nổi tiếng? Trước khi có BrocElite, Prostaphane của Pháp là sản phẩm duy nhất trên thế giới chiết xuất được Sulforaphane tự do ổn định từ hạt bông cải xanh và được bác sĩ Rhonda Patrick (chuyên gia hàng đầu thế giới về Sulforaphane) đánh giá cao nhất.
-
Hàm lượng: Mỗi viên rất nhỏ, chứa chính xác 10 mg Sulforaphane tự do.
-
Ưu/Nhược điểm: Chất lượng cực kỳ cao, viên bé xíu như hạt đậu nên trẻ trên 5–6 tuổi tập nuốt viên rất dễ. Nhược điểm là hàng nội địa Pháp, thường phải đặt mua qua các nhà phân phối châu Âu và cần bảo quản mát cẩn thận khi vận chuyển về Việt Nam.
4. BROQ (Mỹ) — Bản sao công nghệ của Prostaphane tại thị trường Mỹ
-
Sử dụng chính nguồn nguyên liệu độc quyền của Nutrinov (Pháp) nhưng đóng gói và phân phối tại Mỹ. Mỗi viên chứa 10 mg Sulforaphane tự do ổn định. Nếu bạn mua hàng từ Mỹ (ship về Việt Nam) thì tìm mua BROQ sẽ dễ hơn Prostaphane.
5. Jarrow Formulas BroccoMax (Mỹ) — Lựa chọn kinh tế, dễ mua nhất
-
Vì sao nổi tiếng? Là dòng phổ thông lâu đời, rất dễ tìm mua trên iHerb hoặc các shop hàng Mỹ với mức giá chỉ bằng 1/3 đến 1/4 so với Avmacol hay BrocElite.
-
Thành phần: Mỗi viên nang chứa khoảng 17.5 mg Glucoraphanin cùng với enzyme Myrosinase hoạt tính.
-
Lưu ý cực kỳ quan trọng khi dùng cho trẻ nhỏ: Viên nang của BroccoMax sử dụng vỏ nang kháng axit dạ dày (Delayed-release capsule – DRcaps) để bảo vệ enzyme Myrosinase xuống tới ruột non. Nếu trẻ biết nuốt nguyên viên thì hiệu quả rất tốt. Nhưng nếu bạn tháo vỏ nang ra trộn vào thức ăn, axit dạ dày sẽ phá hủy một phần enzyme Myrosinase.
-
Mẹo khắc phục nếu tháo vỏ nang BroccoMax: Khi trộn bột thuốc vào thức ăn cho bé, hãy rắc thêm một đầu tăm bột hạt mù tạt hữu cơ (Organic Mustard Seed Powder) — enzyme Myrosinase trong hạt mù tạt cực kỳ bền với axit dạ dày, giúp cứu vãn hoàn toàn quá trình chuyển hóa.
-
Bảng so sánh nhanh để bạn dễ chọn cho bé
Kinh nghiệm tránh mua nhầm hàng “vô tác dụng”
Khi lướt tìm mua TPCN cho bé, nếu bạn thấy một lọ ghi “Broccoli Sprout Extract 500mg” hoặc “Sulforaphane 400mcg” nhưng nhìn vào bảng thành phần (Supplement Facts):
-
Không hề có chữ “Myrosinase” (và cũng không phải dạng Stabilized Free Sulforaphane).
-
Hoặc ghi hàm lượng chỉ tính bằng mcg (microgam) (ví dụ 400 mcg=0.4, tức là phải uống tới 20 viên mới bằng 1 liều nghiên cứu của Johns Hopkins). Hãy bỏ qua ngay những lọ này vì uống vào hầu như không có tác
Cốm Egaruta - Hỗ trợ giảm triệu chứng lăng xăng tăng động và dễ cáu gắt
| Thành phần (Hàm lượng) | Nguồn gốc & Các hoạt chất hóa học cụ thể bên trong |
|---|---|
| An tức hương (105 mg) |
Nhựa khô từ thân cây Bồ đề (Styrax tonkinensis). Chứa các chất hóa học: Acid benzoic tự do Coniferyl benzoate Benzyl benzoate Cinnamyl cinnamate Acid siaresinolic (Triterpenoid) Vanillin |
| Taurine (100 mg) |
Axit amin sulfonic tự nhiên (2-aminoethanesulfonic acid), tập trung nồng độ rất cao tại mô não đang phát triển, võng mạc và cơ tim. |
| Cao Câu đằng (75 mg) |
Chiết xuất từ thân có gai móc cây Câu đằng (Uncaria rhynchophylla). Chứa nhóm Alkaloid nhân indol quan trọng: Rhynchophylline Isorhynchophylline Corynoxeine Hirsutine Hirsuteine cùng với Flavonoid, Tannin và Phenolic. |
| GABA (25 mg) |
Gamma-Aminobutyric Acid (C4H9NO2) – Chất dẫn truyền thần kinh ức chế chủ đạo của hệ thần kinh trung ương. |
| Magie (7.5 mg nguyên tố) |
Bào chế dạng muối Magnesium citrate hoặc Magnesium chloride (MgCl2) giải phóng ion Mg2+ tự do. |
Choline - Trí nhớ và khả năng học hỏi
Điều Trị
Thuốc Risperdal trong điều trị triệu chứng tự kỷ
| Phân nhóm | Tên chất cụ thể | Bản chất & Vai trò trong viên thuốc |
|---|---|---|
| Hoạt chất chính (Active Ingredient) |
Risperidone (1 mg) (C23H27FN4O2) |
Dẫn xuất benzisoxazole. Đây là phân tử duy nhất quyết định tác dụng điều trị trên não bộ. |
| Tá dược độn (Trợ tạo khối) |
Lactose monohydrate, Tinh bột ngô (Corn starch), Cellulose vi tinh thể | Giúp định hình kích thước viên thuốc để có thể bẻ đôi chính xác. (Lưu ý: Có chứa đường sữa Lactose). |
| Tá dược rã & trơn | Natri lauryl sulfate, Magie stearate, Silica keo khan | Giúp viên thuốc tan rã nhanh khi vào dịch dạ dày để giải phóng Risperidone vào máu. |
| Tá dược bao phim | Hypromellose, Propylene glycol, Titanium dioxide | Tạo lớp màng bọc ngoài màu trắng, che giấu vị đắng nhẹ của hoạt chất và bảo vệ thuốc khỏi độ ẩm. |
Norepinephrine, Phổ tự kỷ và bùng nổ cảm xúc
Norepinephrine (còn gọi là noradrenaline) có mối liên hệ chặt chẽ với Rối loạn phổ tự kỷ (ASD), đặc biệt thông qua việc điều chỉnh sự chú ý, mức độ cảnh giác (arousal), xử lý cảm giác và phản ứng với căng thẳng. Dù không phải nguyên nhân gốc rễ nhưng nó liên quan mật thiết đến trạng thái bùng nổ cảm xúc, dễ cáu gắt của trẻ. Thông tin bên dưới mang tính chất khoa học, mọi chỉ định về thuốc đều phải thông qua bác sỹ.
Trong não bộ, norepinephrine được sản xuất chủ yếu tại một vùng nhỏ ở thân não gọi là Locus Coeruleus (LC – Nhân xanh). Hệ thống LC-NE đóng vai trò như một công tắc điều phối việc não bộ nên tập trung vào một chi tiết cụ thể hay mở rộng sự chú ý ra môi trường xung quanh.
Các biểu hiện ở phổ tự kỷ liên quan đến Norepinephrine
| Tiêu chí lâm sàng ở trẻ ASD | Guanfacine (Tenex – IR / Intuniv – ER) | Clonidine (Catapres – IR / Kapvay – ER) |
| Triệu chứng mục tiêu số 1 |
• Tăng động, bốc đồng ban ngày(chạy nhảy không ngừng, không ngồi yên được trong giờ học 1-1). • Quá tải giác quan & Khó chuyển tiếp (la hét khi phải đổi hoạt động). |
• Mất ngủ đầu giấc nặng (thức đến 11–12h đêm, chạy nhảy trên giường). • Cơn bùng nổ (Meltdown) dữ dội có tính chất kích động cơ thể, hung hăng hoặc tự làm đau (đập đầu, cắn tay). |
| Độ tỉnh táo trong giờ can thiệp | Tốt hơn rõ rệt. Sau 1–2 tuần đầu làm quen, trẻ tỉnh táo để tiếp thu bài học ngôn ngữ/hành vi. | Kém hơn nếu dùng ban ngày. Dễ gây buồn ngủ, mắt lờ đờ, hoặc dễ cáu kỉnh do mệt (over-tired). |
| Thời gian bán thải & Độ êm | Dài (14–17 giờ). Nồng độ thuốc trong máu ổn định, ít bị hiện tượng “hết thuốc đột ngột” làm trẻ cáu gắt trở lại. | Ngắn hơn (6–12 giờ ở trẻ em). Dạng giải phóng tức thời (IR) chỉ kéo dài 3–5 giờ $\rightarrow$ dễ gây hiệu ứng “bật lò xo” (rebound) làm trẻ quấy khóc khi thuốc hết tác dụng giữa chừng. |
| Tác động lên Tics & Stimming | Giảm tốt các tật máy giật (Tics) và giảm bớt sự căng thẳng dẫn đến hành vi định hình (vẫy tay, xoay tròn). | Giảm cực mạnh Tics và sự bồn chồn vận động toàn thân. |
| Khả năng cho trẻ uống thuốc(Rất quan trọng với trẻ ASD kén ăn) |
• Dạng IR (Tenex): Viên nén có thể nghiền nhỏ pha nước/sữa chua. • Dạng ER (Intuniv): Tuyệt đối không được nhai hay nghiền (nghiền ra sẽ giải phóng ồ ạt gây tụt huyết áp). Trẻ phải biết nuốt chửng cả viên. |
• Dạng IR (Catapres): Viên rất nhỏ, dễ nghiền pha thức ăn. • Có dạng Miếng dán qua da (Catapres-TTS)thay mỗi 7 ngày — cứu cánh cho trẻ tự kỷ kháng cự uống thuốc cực đoan (dù đôi khi gây ngứa da chỗ dán). |
| Tác dụng phụ đặc thù ở trẻ ASD | Mệt mỏi tuần đầu, táo bón (cần lưu ý vì trẻ tự kỷ vốn hay bị táo bón), khô miệng, hạ nhẹ huyết áp. | Buồn ngủ sâu, chóng mặt, hạ huyết áp/nhịp tim rõ, khô miệng, và đôi khi gây ác mộng hoặc thức giấc nửa đêm khi thuốc IR hết tác dụng lúc 2–3h sáng. |
Khi nào chọn thuốc nào? (5 Kịch bản thực tế ở trẻ Tự kỷ)
Để quyết định chính xác, bác sĩ thường phân tích biểu đồ hành vi 24 giờ của trẻ theo 5 kịch bản sau:
Kịch bản 1: Trẻ tự kỷ kèm ADHD, vào lớp can thiệp là chạy quanh phòng, giật đồ chơi, không duy trì được giao tiếp mắt quá 3 giây, nhưng tối vẫn ngủ được.
-
Lựa chọn ưu tiên: Guanfacine.
-
Lý do: Cần củng cố chức năng điều hành của vỏ não trước trán suốt ban ngày để trẻ ngồi học được mà không làm trẻ gục xuống bàn ngủ.
Kịch bản 2: Trẻ tự kỷ đến 10–11h đêm vẫn nhảy nhót, la hét, lăn lộn không tài nào vào giấc ngủ (dù đã dùng Melatonin nhưng không ăn thua).
-
Lựa chọn ưu tiên: Clonidine (uống trước giờ đi ngủ 45–60 phút).
-
Lý do: Tác dụng an thần nhanh của Clonidine giúp hạ nhiệt hệ giao cảm, đưa trẻ vào giấc ngủ trong vòng 1 giờ.(Mẹo lâm sàng: Nhiều bác sĩ kết hợp Melatonin để kích hoạt nhịp sinh học + Clonidine để làm dịu hệ giao cảm).
Kịch bản 3: Trẻ bị quá tải giác quan nghiêm trọng (Sensory Overload) — đi siêu thị, nghe tiếng máy sấy hay đổi đường đi học là bùng nổ (meltdown) kéo dài cả tiếng đồng hồ.
-
Lựa chọn ưu tiên: Guanfacine dùng nền hàng ngày. Nếu cơn kích động thể chất quá mạnh hoặc kèm tự gây thương tích nhẹ, bác sĩ có thể cân nhắc Clonidine chia nhiều lần (hoặc dạng kéo dài Kapvay).
Kịch bản 4: Trẻ không thể nuốt nguyên viên thuốc và nhạy cảm vùng miệng (nhận ra vị thuốc là nôn ói ngay).
-
Lưu ý quyết định: Không dùng được viên nén giải phóng kéo dài (Intuniv hoặc Kapvay) vì bắt buộc phải nuốt nguyên viên. Khi đó bác sĩ phải chọn dạng viên nén tức thời (IR) để nghiền nhỏ (Guanfacine IR chia 2 lần/ngày hoặc Clonidine IR chia 2–3 lần/ngày), hoặc dùng miếng dán Clonidine.
Kịch bản 5: Chiến lược “Phối hợp Ngày – Đêm” hoặc “Kẹp cùng thuốc kích thích”
-
Có những trẻ tự kỷ được kê Guanfacine vào buổi sáng (để đi học tập trung, đỡ bốc đồng) và một liều rất nhỏ Clonidine vào buổi tối (để ngủ sâu).
-
Hoặc trẻ uống Methylphenidate (Concerta/Ritalin) buổi sáng nhưng đến 4–5 giờ chiều thuốc hết tác dụng khiến trẻ cáu gắt, đập phá (Rebound crash) → Bác sĩ cho uống thêm Guanfacine hoặc Clonidine vào buổi chiều/tốiđể “hạ cánh êm ái”.
Điều trị bùng nổ cảm xúc ở trẻ tự kỷ
Từ bài Trẻ tự kỷ Bùng nổ nhanh, cáu gắt,… Chuẩn đoán theo cơ chế thần kinh, dưới đây sẽ là các phương thức tiếp cận để điều trị và giảm hành vi này ở 80% trẻ tự kỷ gắn với hiện tượng Bùng nổ, nhưng lại về trạng thái bình thường ngay khi đạt được mục đích. Bài viết này sẽ cực kỳ hữu ích cho mục đích tìm hiểu, việc dùng thuốc hay áp dụng bất kỳ phương pháp chữa trị nào cần được chỉ định bởi bác sỹ.
Trong thần kinh học lâm sàng, dấu hiệu “nín ngay lập tức khi có lại phần thưởng” chứng minh rằng não bộ của bé KHÔNG bị rơi vào trạng thái “bão Glutamate mất kiểm soát toàn diện” hay “kích hoạt trung tâm thịnh nộ mù quáng (PAG)” (bởi nếu đã trượt xuống hai trạng thái đó, dù bạn có trả lại 10 món đồ chơi thì đứa trẻ vẫn tiếp tục gào khóc, ném đồ và không thể tự dừng lại suốt 30–45 phút).
Thay vào đó, biểu hiện này khẳng định vấn đề cốt lõi nằm trọn vẹn ở Trục Phần thưởng – Điều hành (Frontostriatal Circuit: Thể vân – Vỏ não trước trán) với cơ chế chủ đạo là Cú sốc tụt áp Dopamine (Negative Reward Prediction Error – RPE) kết hợp với Xung đỉnh Norepinephrine (Phasic NE surge).
1. Giải mã chính xác chuyện gì xảy ra trong tích tắc đó
-
Khi đang cầm món đồ yêu thích: Hệ thống Dopamine từ vùng VTA bắn lên Nhân Accumbens (중 tâm phần thưởng) đang duy trì ở mức cao. Với một đứa trẻ 4 tuổi có xu hướng tìm kiếm cảm giác (Nhánh A), món đồ chơi đó chính là “nguồn cấp Dopamine” giúp não bé cảm thấy an toàn và tập trung.
-
Khoảnh khắc bị lấy mất / từ chối: Nguồn cấp Dopamine bị ngắt đột ngột. Nồng độ Dopamine tại khe synap rơi tự do (tụt áp). Vỏ não đai trước (ACC) lập tức báo động “Đau đớn/Khẩn cấp!”, kích hoạt Nhân xanh phóng ra một cơn sóng Norepinephrine tức thời làm bé đỏ mặt tía tai, la hét để đòi lại bằng được nguồn Dopamine đã mất.
-
Khoảnh khắc trả lại món đồ: Dòng chảy Dopamine tại Nhân Accumbens được bơm đầy trở lại ngay lập tức. Cơn báo động ở ACC tắt phụt, Nhân xanh ngừng bắn xung Norepinephrine, và vì hệ thần kinh tự chủ của bé vốn khỏe mạnh (không bị cường giao cảm nền), bé nín ngay tức khắc.
2. Liệu trình tiếp cận đa tầng (Theo mô hình Khoa học Thần kinh & Hành vi)
Vì vấn đề nằm ở “Độ dốc của cú tụt Dopamine” và “Khả năng chịu đựng sự trì hoãn của Vỏ não trước trán”, một chiến lược can thiệp trúng đích sẽ kết hợp giữa Điều chỉnh Dược lý/Sinh hóa (làm đệm giảm xóc cho não) và Kỹ thuật “Hạ cánh mềm Dopamine” (tránh làm đứt gãy tín hiệu đột ngột):
Tầng 1: Định hướng Dược lý Thần kinh (Làm “Bộ giảm xóc” tại Vỏ não trước trán) – Dùng thuốc
+, Guanfacine vẫn là lựa chọn trúng đích số 1:
Cơ chế trong trường hợp này: Guanfacine không làm thay đổi lượng Dopamine ở vùng phần thưởng, nhưng nó gắn vào thụ thể Alpha-2A tại Vỏ não trước trán (PFC). Khi mạng lưới PFC được kết nối chặt chẽ (giống như trong những ngày Hậu sốt của bé), PFC sẽ gửi một luồng tín hiệu xuống Nhân Accumbens và Hạch hạnh nhân như một chiếc “phuộc nhún giảm xóc”: “Mất món đồ chơi này hơi buồn một chút, nhưng không nguy hiểm, chờ một lát sẽ có thứ khác”.
Ở Việt Nam, hiện tại các bác sỹ hay kê Tepirace thay vì Guanfacine. Tepirace có hoạt chất Clonidin, cùng nhóm với guanfacine, nhưng cần đánh giá chính xác tình trạng của bé là dư thừa Norepinephrine nền hay sự mất cân bằng giữa tín hiệu Nền (Tonic) và tín hiệu Đỉnh (Phasic) tại trục Nhân xanh – Vỏ não trước trán (LC-PFC).
- Dấu hiện điển hình của dư thừa Norepinephrine nền là Hay bé lăng xăng kiểu quá tải và lo âu (bồn chồn, đứng ngồi không yên khi đến nơi đông người, nhiều tiếng ồn, dễ bị giật mình, luôn trong tư thế phòng thủ). Trong trường hợp này nên dùng Clonidin.
- Bé chạy nhảy liên tục vì tìm kiếm cảm giác (sensory seeking – thích xoay tròn, leo trèo, va chạm mạnh, không biết sợ), nhưng không hung hăng, bùng nổ nhưng trạng thái tự làm đau ít thì nên uống Guanfacine.
Kết quả kỳ vọng: Khi bị từ chối, Dopamine vẫn giảm nhưng không gây kích hoạt cơn sóng Norepinephrine đỏ mặt tía tai. Khoảng thời gian từ lúc bị từ chối đến lúc bé bùng nổ được kéo giãn ra (từ 0.5 giây lên thành 5–10 giây), đủ để người lớn đánh lạc hướng hoặc giải thích, và bé nghe hiểu được.
Cụ thể hơn về Norepinephrine, bùng nổ cảm xúc và ứng dụng trong tiếp cận thuốc xem đầy đủ hơn tại đây.
+, Tại sao KHÔNG cần dùng nặng tay đến nhóm chống loạn thần (Risperidone/Aripiprazole)?
Trên lâm sàng, nhiều nơi hay kê Risperidone cho trẻ tự kỷ hay la hét. Nhưng Risperidone hoạt động bằng cách khóa chặt thụ thể Dopamine (D2). Với một bé lăng xăng Nhánh A và chỉ khóc khi mất đồ chơi (nín ngay khi trả lại), việc khóa Dopamine là quá mức cần thiết và làm phẳng lặng động lực học tập tự nhiên của trẻ.
+, Vai trò của NAC (N-Acetylcysteine) ở kiểu hình này:
Dù bé không bị “đám cháy Glutamate kéo dài”, NAC vẫn có giá trị hỗ trợ ở mức độ vừa phải vì nó điều hòa lượng Glutamate đổ vào Thể vân (Striatum) — nơi tiếp nhận Dopamine. Nhờ đó, nó giúp bé bớt “bám dính” cực đoan vào một món đồ chơi duy nhất, giúp việc thương lượng lấy lại đồ chơi dễ dàng hơn.
Tầng 2: Can thiệp Sinh hóa hỗ trợ Hệ Dopamine – Norepinephrine (Không dùng thuốc)
Để giúp não bộ của bé tự tổng hợp và duy trì mức Dopamine / Norepinephrine nền ổn định hơn (tránh việc não bị “đói” Dopamine dẫn đến phải chạy nhảy Nhánh A hoặc giữ khư khư đồ chơi):
Tầng 3: Kỹ thuật Hành vi dựa trên Thần kinh học — “Bắc cầu Dopamine” (Dopamine Bridging)
Một lưu ý cực kỳ quan trọng về mặt thần kinh học: Việc “trả lại món đồ chơi ngay khi bé la hét đỏ mặt và bé nín ngay” về mặt ngắn hạn giúp dập tắt tiếng khóc, nhưng về mặt dài hạn lại vô tình tạo ra một Phản xạ có điều kiện siêu mạnh tại Thể vân:
Não bé sẽ học được công thức: Bị lấy đồ -> La hét đỏ mặt (tăng Norepinephrine) -> Đồ chơi lập tức quay về (Dopamine vọt trở lại)! Càng lặp lại, tốc độ la hét lần sau sẽ càng nhanh và dữ dội hơn.
Để xử lý đúng vào cơ chế “Tránh tụt áp Dopamine đột ngột” mà không củng cố hành vi la hét, khoa học hành vi (ABA hiện đại / ESDM) áp dụng 3 bước “Hạ cánh mềm Dopamine”:
-
Tuyệt đối không “Ngắt cầu dao đột ngột” (No Cold-Turkey Removal): Đừng bao giờ giật hoặc lấy món đồ chơi đi ngay lập tức. Thay vào đó, hãy dùng Đồng hồ cát hoặc Đồng hồ đếm ngược trực quan bằng hình ảnh(Visual Timer) báo trước 2 phút. Khi mắt bé nhìn thấy vạch màu đỏ đang cạn dần, Vỏ não trước trán được chuẩn bị trước, lượng Dopamine sẽ giảm từ từ theo đường dốc thoải chứ không rơi thẳng đứng xuống vực.
-
Kỹ thuật “Đổi ngang giá trị” (Dopamine Bridging – Bắc cầu): Trước khi lấy món đồ A ra khỏi tay bé 2 giây, hãy đưa sẵn món đồ B (hoặc một kích thích cảm giác mạnh mà bé thích ở Nhánh A như nhột, tung hứng, đồ ăn vặt yêu thích) vào tầm mắt của bé. Khi tay phải bé vừa chạm vào món B (Dopamine từ món B bắt đầu tiết ra), lúc đó mới nhẹ nhàng rút món A đi. Não bé không bị rơi vào “khoảng trống Dopamine”.
-
Tập luyện “Trì hoãn 3 giây” (Micro-Delay Tolerance): Khi bé đòi một món đồ, thay vì từ chối thẳng thừng (“Không!”) hoặc đưa ngay lập tức, hãy giữ món đồ trong tầm nhìn của bé, đếm chậm từng nhịp “1… 2… 3… Của con đây!” rồi đưa cho bé ngay trước khi bé kịp cáu. Khi Vỏ não trước trán quen với 3 giây, nâng dần lên 5 giây, 10 giây. Đây chính là bài tập “tập tạ” trực tiếp cho các thụ thể Alpha-2A tại Vỏ não trước trán!
Nguồn: Nghiên cứu với sự hỗ trợ của AI.
Trẻ tự kỷ - Hiệu ứng tích cực vài ngày sau con cơn sốt
Hiện tượng trẻ thuộc phổ tự kỷ đột nhiên bình tĩnh hơn, giao tiếp mắt tốt hơn và chú ý sâu hơn trong hoặc ngay sau cơn sốt (và hiệu ứng này tan biến sau vài ngày khi cơ thể hồi phục hoàn toàn) chính là biểu hiện kinh điển của Hiệu ứng Sốt (Fever Effect) đã được ghi nhận trong nhiều nghiên cứu thần kinh học lớn (như của Tiến sĩ Andrew Zimmerman tại Johns Hopkins và nhóm nghiên cứu của Giáo sư Mehler & Purpura tại Trường Y Albert Einstein).
Nếu xét trên mô hình khoa học, việc một đứa trẻ có đáp ứng tích cực với cơn sốt là một “chỉ dấu sinh học hành vi” (behavioral biomarker) cực kỳ giá trị. Nó cho thấy mạng lưới thần kinh của trẻ không bị tổn thương cấu trúc vĩnh viễn, mà đang bị kẹt trong một trạng thái rối loạn điều tiết chức năng — đặc biệt là tại hệ thống Locus Coeruleus – Norepinephrine (LC-NE).
1. Mô phỏng lại “Hiệu ứng Sốt” bằng dược lý như thế nào?
Nếu mục tiêu khoa học là tìm một hoạt chất mô phỏng lại gần nhất trạng thái “hạ thấp mức phóng thích Norepinephrine nền tại Nhân xanh nhưng vẫn giữ sự tỉnh táo của vỏ não trước trán” như khi vừa dứt sốt, thì thứ tự phân tích của 4 hoạt chất sẽ như sau:
Góc nhìn khoa học mở rộng ngoài Norepinephrine: Nghiên cứu của MIT (năm 2019 trên tạp chí Nature) còn chỉ ra rằng hiệu ứng sốt liên quan mật thiết đến cytokine IL-17a tác động lên vùng vỏ não cảm giác (S1DZ), và quá trình chống oxy hóa tế bào. Do đó, bên cạnh hướng dược lý thần kinh (như Guanfacine), các thử nghiệm lâm sàng hiện nay còn nghiên cứu hoạt chất sinh học Sulforaphane (chiết xuất từ mầm bông cải xanh) vì nó kích hoạt Protein sốc nhiệt (Heat Shock Proteins – HSP) và con đường Nrf2 — mô phỏng lại phản ứng bảo vệ tế bào của cơn sốt ở cấp độ phân tử mà không cần làm tăng thân nhiệt.
Hồ sơ khoa học gốc của nghiên cứu này và những điểm bạn cần biết rõ để không bị quảng cáo thổi phồng được làm rõ như sau:
Kết luận khách quan từ góc độ Y học chứng cứ
-
Cơ chế “Hiệu ứng sốt” (Fever Effect) là có thật: Khoa học đã xác nhận khoảng 38% – 80% trẻ tự kỷ có biểu hiện lanh lợi hơn, giao tiếp mắt tốt hơn và bớt ăn vạ hơn khi bị sốt. Sulforaphane đúng là được chọn để kích hoạt đường truyền Nrf2 và Protein sốc nhiệt (HSP) nhằm bắt chước trạng thái bảo vệ tế bào này.
-
Không phải là “thuốc thần” cho mọi đứa trẻ: Sulforaphane chỉ có tác dụng rõ rệt trên một phân nhóm trẻ (subset) — thường là những trẻ thật sự có tình trạng stress oxy hóa cao, rối loạn chức năng ty thể, viêm thần kinh, và đặc biệt là những trẻ mà bố mẹ từng quan sát thấy con tỉnh táo, ngoan hơn mỗi khi bị sốt thật.
-
Tác dụng sẽ mất đi khi ngừng uống: Trong nghiên cứu năm 2014, sau khi ngừng uống Sulforaphane 4 tuần (ở tuần thứ 22), các chỉ số hành vi của người tham gia quay trở lại mức ban đầu. Điều này chứng tỏ nó đóng vai trò hỗ trợ sinh hóa tạm thời chứ không thay thế được can thiệp giáo dục đặc biệt và âm ngữ trị liệu.
2. Bộ câu hỏi phân tầng kiểu hình (Phenotyping Questions)
Trong nghiên cứu lâm sàng, để biết chính xác sự “lăng xăng” của một bé 4 tuổi thuộc phân nhóm nào của hệ Norepinephrine (từ đó mới giả định được liệu trình phù hợp nhất giữa Guanfacine, Clonidine hay hướng kết hợp), các nhà chuyên môn sẽ cần làm rõ 5 câu hỏi cốt lõi sau.
Dưới đây là 1 case study gồm bộ câu hỏi kèm trả lời mẫu, bạn có thể quan sát xem biểu hiện thực tế nghiêng về nhánh nào từ trường hợp bé nhà mình:
2.1 CÂU HỎI
– Bản chất của sự “lăng xăng” vào ngày thường?:
-
-
Nhánh A: Bé chạy nhảy liên tục vì tìm kiếm cảm giác (sensory seeking – thích xoay tròn, leo trèo, va chạm mạnh, không biết sợ)?
-
Nhánh B: Hay bé lăng xăng kiểu quá tải và lo âu (bồn chồn, đứng ngồi không yên khi đến nơi đông người, nhiều tiếng ồn, dễ bị giật mình, luôn trong tư thế phòng thủ)? (Nhánh B là dấu hiệu điển hình nhất của việc dư thừa Norepinephrine nền).
-
Câu trả lời: Nhánh A
– Đặc điểm giấc ngủ và chu kỳ thức – ngủ?:
-
-
Bé mất bao lâu để đi vào giấc ngủ? Có hay bị tỉnh giấc giữa đêm rồi tỉnh táo chơi luôn vài tiếng không? Khi thức dậy buổi sáng bé có hay cáu gắt không? (Nếu mất ngủ đầu giấc nặng kèm lăng xăng ban ngày -> Hệ giao cảm không chịu “tắt” vào ban đêm -> Nghiêng về hướng cơ chế của Clonidine vào buổi tối hoặc Guanfacine chia liều).
-
Câu trả lời: Bé vào giấc hơi muộn tí tầm 10h30-11h tối, nhưng đã ngủ là ngủ đến sáng.
– Biểu hiện của Hệ thần kinh Tự chủ (Autonomic Nervous System)?:
-
-
Ngày thường bé có hay bị đổ mồ hôi tay chân, nhịp tim đập nhanh, tay chân lạnh, đồng tử mắt thường xuyên giãn to, hoặc hay bị táo bón / rối loạn tiêu hóa không? (Đây là các chỉ dấu ngoại vi trực tiếp cho thấy hệ Giao cảm – Norepinephrine đang hoạt động quá mức).
-
Câu trả lời: Bé không bị.
– Chi tiết trong những ngày “Hậu sốt”?:
-
-
Trong vài ngày sau sốt mà bé bình tĩnh và chú ý hơn đó, năng lượng thể chất của bé như thế nào? Bé vẫn khỏe mạnh, đi lại bình thường nhưng ánh mắt có hồn và nghe hiểu tốt hơn (hiệu ứng thần kinh thực sự), hay lúc đó bé vẫn còn hơi mệt, lừ đừ nên ít chạy nhảy hơn (hiệu ứng suy giảm thể lực)?
-
Câu trả lời: Bé vẫn khỏe mạnh, đi lại bình thường nhưng ánh mắt có hồn và nghe hiểu tốt hơn (hiệu ứng thần kinh thực sự).
– Phản ứng khi gặp điều không vừa ý (Meltdown / Tantrum)?:
-
-
Khi bị từ chối hoặc chuyển đổi hoạt động, bé phản ứng theo kiểu “bùng nổ nhanh, la hét, đánh đập, đỏ mặt tía tai” (cơn bão giao cảm) hay chỉ lảng tránh, tự kích thích (stimming)?
-
Câu trả lời: Khi bị từ chối hoặc chuyển đổi hoạt động, bé phản ứng theo kiểu “bùng nổ nhanh, cáu giận, lâu hơn là la hét, đỏ mặt tía tai.
2.2 KẾT LUẬN:
Những dữ liệu quan sát này tạo nên một bức tranh phân tầng kiểu hình thần kinh (neuro-phenotype) rất sắc nét và thú vị về mặt khoa học.
Điểm mấu chốt nhất trong mô tả của bạn là: Bé KHÔNG bị cường giao cảm ngoại vi toàn thân (không vã mồ hôi, không tim nhanh, không táo bón, khi đã ngủ là ngủ rất sâu), NHƯNG lại có hiệu ứng thần kinh hậu sốt cực kỳ rõ nétkèm theo hành vi tìm kiếm cảm giác (Nhánh A) và bùng nổ giao cảm cục bộ khi bị từ chối.
Dưới góc độ khoa học thần kinh, đây không phải là tình trạng “dư thừa Norepinephrine toàn cơ thể”, mà là Sự mất cân bằng giữa tín hiệu Nền (Tonic) và tín hiệu Đỉnh (Phasic) tại trục Nhân xanh – Vỏ não trước trán (LC-PFC).
2.2.1 Giải mã hồ sơ Norepinephrine của kiểu hình này:
Sulforaphane khi vào cơ thể sẽ hoạt động như thế nào?
Khi đi vào cơ thể, Sulforaphane (SFN) không hoạt động như các chất chống oxy hóa thông thường (như Vitamin C hay Vitamin E — vốn chỉ dọn dẹp gốc tự do theo tỷ lệ 1 đổi 1 rồi tự mất tác dụng). Thay vào đó, Sulforaphane đóng vai trò như một “chiếc chìa khóa sinh học” bật công tắc chỉ huy bên trong tế bào, kích hoạt hàng trăm gen tự bảo vệ của cơ thể hoạt động liên tục trong suốt 48–72 giờ.
Quá trình hoạt động của Sulforaphane từ lúc uống vào cho đến khi tác động lên não bộ diễn ra qua 4 giai đoạn tuần tự:
Giai đoạn 1: Chuyển hóa tại ruột và Vượt hàng rào máu não (15 – 90 phút đầu)
-
Phản ứng tạo thành Sulforaphane: Khi bạn cho trẻ uống viên chiết xuất (thường chứa tiền chất Glucoraphaninvà enzyme Myrosinase), gặp môi trường nước tại đường tiêu hóa, enzyme Myrosinase sẽ cắt đứt liên kết đường để giải phóng ra phân tử Sulforaphane hoạt tính.
-
Hấp thu siêu tốc: Do có kích thước phân tử cực nhỏ và tính ưa mỡ (lipophilic), khoảng 70% – 80% lượng Sulforaphane được hấp thu rất nhanh qua thành ruột non vào máu, đạt đỉnh nồng độ trong huyết tương chỉ sau 1 đến 3 giờ.
-
Đi thẳng vào não: Khác với nhiều hoạt chất khác bị chặn lại ở mạch máu, Sulforaphane dễ dàng vượt qua Hàng rào máu não (Blood-Brain Barrier) chỉ sau 15–30 phút xuất hiện trong máu để tiếp cận trực tiếp các tế bào thần kinh (neuron) và tế bào thần kinh đệm (microglia).
Giai đoạn 2: Bật “Công tắc tổng” Nrf2 bên trong tế bào
Đây là cơ chế nổi tiếng nhất của Sulforaphane. Hãy hình dung bên trong mỗi tế bào luôn có một “Đội trưởng bảo vệ” tên là Nrf2, nhưng ở trạng thái bình thường, anh ta bị một “cai ngục” tên là Keap1 khóa chặt lại trong bào tương và đem đi tiêu hủy.
-
Khi Sulforaphane chui qua màng tế bào, nó gắn trực tiếp vào các gốc Cysteine trên “cai ngục” Keap1, làm Keap1 biến đổi cấu trúc và buộc phải buông tay thả tự do cho Nrf2.
-
Ngay lập tức, Nrf2 di chuyển thẳng vào bên trong Nhân tế bào (Nucleus), gắn vào vùng điều hòa gen có tên là ARE (Antioxidant Response Element).
-
Sự gắn kết này giống như việc bật cầu dao tổng: kích hoạt hơn 200 loại gen bảo vệ tế bào cùng lúc.
Giai đoạn 3: 4 Tác động trực tiếp lên cơ thể và não bộ (Bắt chước “Hiệu ứng Sốt”)
Khi “cầu dao” Nrf2 và các đường truyền tín hiệu được bật lên, 4 hiện tượng sinh hóa sau đây sẽ diễn ra đồng thời (đặc biệt mạnh mẽ ở những trẻ có nền tảng viêm thần kinh hoặc stress oxy hóa):
Quan điểm của các Tổ chức Y tế Chính thống (FDA, AAP, NICE, Bộ Y tế)
-
Cục Quản lý Thực phẩm và Dược phẩm Hoa Kỳ (FDA): Tính đến nay, FDA chưa từng phê duyệt Sulforaphane (hay bất kỳ loại thuốc nào khác) để điều trị các triệu chứng cốt lõi của tự kỷ (như giao tiếp xã hội và ngôn ngữ).FDA chỉ cấp phép cho 2 hoạt chất là Risperidone và Aripiprazole nhằm kiểm soát hành vi cáu gắt, kích động nặng.
-
Viện Hàn lâm Nhi khoa Hoa Kỳ (AAP) & Viện Y tế Quốc gia Anh (NICE): Trong các hướng dẫn lâm sàng chính thức gửi tới các bệnh viện nhi trên toàn cầu, Sulforaphane vẫn được xếp vào nhóm “Liệu pháp bổ sung và thay thế đang trong giai đoạn nghiên cứu” (Investigational / Complementary Therapy), chưa đủ bằng chứng đồng nhất quy mô lớn (Phase 3) để viết thành phác đồ bắt buộc cho mọi bệnh viện.
-
Tại Việt Nam (Bệnh viện Nhi Trung ương, Nhi Đồng 1 & 2): Phác đồ chuẩn của Bộ Y tế hiện nay lấy Can thiệp giáo dục đặc biệt, Âm ngữ trị liệu và Hoạt động trị liệu làm nòng cốt. Sulforaphane không nằm trong danh mục thuốc bảo hiểm hay phác đồ kê đơn chính thức của bệnh viện.
Cốm Egaruta - Hỗ trợ giảm triệu chứng lăng xăng tăng động và dễ cáu gắt
| Thành phần (Hàm lượng) | Nguồn gốc & Các hoạt chất hóa học cụ thể bên trong |
|---|---|
| An tức hương (105 mg) |
Nhựa khô từ thân cây Bồ đề (Styrax tonkinensis). Chứa các chất hóa học: Acid benzoic tự do Coniferyl benzoate Benzyl benzoate Cinnamyl cinnamate Acid siaresinolic (Triterpenoid) Vanillin |
| Taurine (100 mg) |
Axit amin sulfonic tự nhiên (2-aminoethanesulfonic acid), tập trung nồng độ rất cao tại mô não đang phát triển, võng mạc và cơ tim. |
| Cao Câu đằng (75 mg) |
Chiết xuất từ thân có gai móc cây Câu đằng (Uncaria rhynchophylla). Chứa nhóm Alkaloid nhân indol quan trọng: Rhynchophylline Isorhynchophylline Corynoxeine Hirsutine Hirsuteine cùng với Flavonoid, Tannin và Phenolic. |
| GABA (25 mg) |
Gamma-Aminobutyric Acid (C4H9NO2) – Chất dẫn truyền thần kinh ức chế chủ đạo của hệ thần kinh trung ương. |
| Magie (7.5 mg nguyên tố) |
Bào chế dạng muối Magnesium citrate hoặc Magnesium chloride (MgCl2) giải phóng ion Mg2+ tự do. |
Thuốc Risperdal trong điều trị triệu chứng tự kỷ
| Phân nhóm | Tên chất cụ thể | Bản chất & Vai trò trong viên thuốc |
|---|---|---|
| Hoạt chất chính (Active Ingredient) |
Risperidone (1 mg) (C23H27FN4O2) |
Dẫn xuất benzisoxazole. Đây là phân tử duy nhất quyết định tác dụng điều trị trên não bộ. |
| Tá dược độn (Trợ tạo khối) |
Lactose monohydrate, Tinh bột ngô (Corn starch), Cellulose vi tinh thể | Giúp định hình kích thước viên thuốc để có thể bẻ đôi chính xác. (Lưu ý: Có chứa đường sữa Lactose). |
| Tá dược rã & trơn | Natri lauryl sulfate, Magie stearate, Silica keo khan | Giúp viên thuốc tan rã nhanh khi vào dịch dạ dày để giải phóng Risperidone vào máu. |
| Tá dược bao phim | Hypromellose, Propylene glycol, Titanium dioxide | Tạo lớp màng bọc ngoài màu trắng, che giấu vị đắng nhẹ của hoạt chất và bảo vệ thuốc khỏi độ ẩm. |
"Hiệu ứng sốt" (Fever effect) trong Rối loạn phổ tự kỷ
“Hiệu ứng sốt” (Fever effect) trong Rối loạn phổ tự kỷ (ASD – Autism Spectrum Disorder) là hiện tượng một bộ phận trẻ tự kỷ có sự thuyên giảm rõ rệt các triệu chứng cốt lõi khi cơ thể bị sốt (thường từ 38°C trở lên). Trẻ bất ngờ giao tiếp mắt sâu hơn, bật âm hoặc nói câu dài hơn, bình tĩnh, kết nối cảm xúc tốt hơn và giảm hẳn các hành vi định hình lặp đi lặp lại.
Ý nghĩa y học cốt lõi: Đối với cả giới khoa học lẫn các bậc phụ huynh, đây không chỉ là một hiện tượng sinh học kỳ lạ mà còn là bằng chứng sống động nhất cho thấy não bộ của trẻ tự kỷ không bị “tổn thương cấu trúc vĩnh viễn”. Các mạng lưới thần kinh đảm nhiệm ngôn ngữ và giao tiếp xã hội vẫn tồn tại nguyên vẹn trong não trẻ; chúng chỉ đang bị “kẹt” về mặt chức năng sinh hóa và hoàn toàn có thể vận hành trơn tru khi có một tác nhân mở khóa phù hợp.
Phần 1: Bức tranh Dịch tễ học – Hiệu ứng sốt phổ biến đến đâu và ai là người đáp ứng?
Lịch sử nghiên cứu hiệu ứng sốt trải qua hơn 40 năm, đi từ những ghi nhận truyền miệng đến các cuộc tranh luận dữ dội bằng dữ liệu lớn để trả lời câu hỏi: Bao nhiêu phần trăm trẻ tự kỷ thực sự có hiện tượng này?
- Giai đoạn ghi nhận sơ khai (1980–2012): Y văn thế giới lần đầu tiên ghi nhận chính thức hiện tượng này qua báo cáo của Sullivan (1980) và Cotterill (1985) khi chứng kiến trẻ tự kỷ trở nên hoạt ngôn và gắn kết lạ thường trong đợt sốt virus. Đến năm 2012, Fisch chứng minh hiệu ứng này còn xuất hiện ở cả trẻ mắc Hội chứng nhiễm sắc thể X dễ gãy (Fragile X syndrome).
- Nghiên cứu tiến cứu đầu tiên của Curran, Zimmerman và cộng sự (2007): Theo dõi 30 trẻ ASD trong cơn sốt ≥ 38°C và so sánh với 30 trẻ đối chứng. Kết quả gây tiếng vang lớn khi ghi nhận 83% (25/30) trẻ tự kỷ có cải thiện ít nhất một khía cạnh hành vi (giảm tăng động, giảm cáu kỉnh, giảm hành vi rập khuôn và tăng lời nói), nhưng các cải thiện này biến mất khi trẻ hạ sốt.
- Khảo sát dữ liệu lớn của UCSF – Grzadzinski, Catherine Lord và cộng sự (2018): Phân tích hồi cứu trên 2.152 trẻ tự kỷ từ kho dữ liệu di truyền Simons Simplex Collection cho thấy khoảng 17% (tương đương 1/6 số trẻ) có biểu hiện tốt lên khi sốt. Phân tích di truyền của UCSF chỉ ra nhóm này không có sự khác biệt về tỷ lệ đột biến gen mới (de novo mutations), nhưng về mặt lâm sàng, đây là những trẻ có năng lực nhận thức phi ngôn ngữ thấp hơn, ngôn ngữ hạn chế hơn và hành vi lặp lại nặng hơn.
- Cú “phản biện” bằng theo dõi thời gian thực của UCLA & UCSF – Byrne, Lord, Bishop và cộng sự (2022–2023): Nghi ngờ con số 17%–83% trước đó bị ảnh hưởng bởi sai số hồi tưởng (phụ huynh chỉ nhớ những lần hiếm hoi con ngoan đột xuất khi ốm), nhóm nghiên cứu theo dõi trực tiếp theo thời gian thực trên 141 trẻ ASD và 103 trẻ bình thường ngay lúc trẻ đang sốt. Kết quả cho thấy đại đa số trẻ tự kỷ cũng mệt mỏi, cáu gắt và thu mình hơn khi ốm giống như trẻ bình thường; chỉ có khoảng 2–6% (3/141 trẻ) thực sự cải thiện hành vi. Tuy nhiên, khi phân tích tiếp trên 3.687 gia đình, nhóm UCLA/UCSF khẳng định: Dù hiếm hơn suy nghĩ trước đây, hiệu ứng sốt là có thật 100% ở một “phân nhóm sinh học đặc thù” (neuroimmune subtype) – những trẻ có mẹ từng bị sốt/nhiễm trùng khi mang thai (MIA), gia đình có bệnh tự miễn, và bản thân trẻ hay bị rối loạn tiêu hóa, rối loạn giấc ngủ.
- Phát hiện mới nhất tại Bệnh viện Nhi Tây An, Trung Quốc – Chunyang Li và cộng sự (2026): Đánh giá mù đôi bằng thang đo ADOS-2 trên trẻ em tự kỷ Trung Quốc đã mang lại một phát hiện rất đáng khích lệ: Trong số những trẻ đáp ứng tích cực với sốt, có 76,92% chỉ cải thiện tạm thời, nhưng có tới 23,08% duy trì được các kỹ năng và sự tiến bộ hành vi ngay cả sau khi cơn sốt đã kết thúc.
Phần 2: Giải mã Cơ chế Sinh học – Điều gì thực sự diễn ra trong não trẻ khi sốt?
Khi một đứa trẻ bị sốt, có hai sự kiện diễn ra đồng thời: Hệ miễn dịch tiết ra các phân tử chống viêm và Nhiệt độ vật lý của cơ thể tăng lên. Giới khoa học hiện nay chia làm 3 nhánh nghiên cứu lớn giải thích cách hai yếu tố này “sửa lỗi” tạm thời cho não bộ tự kỷ:
1. Nhánh Miễn dịch – Thần kinh: Chìa khóa mang tên Cytokine IL-17A
- Đột phá từ MIT & Harvard (Reed, Gloria Choi, Jun Huh – Nature 2019, 2020): Thử nghiệm trên chuột tự kỷ cho thấy nếu chỉ làm tăng thân nhiệt đơn thuần ở nhóm chuột tự kỷ do miễn dịch thai kỳ (MIA) thì hành vi không đổi, nhưng khi gây sốt bằng phản ứng viêm (LPS), chuột lập tức khôi phục giao tiếp xã hội. Thủ phạm tạo nên phép màu này là phân tử miễn dịch Interleukin-17A (IL-17A). Khi sốt, tế bào miễn dịch tiết ra IL-17A đi qua hàng rào máu não, gắn thẳng vào các thụ thể tại vùng vỏ não cảm giác thân thể sơ cấp (S1DZ) – vùng não vốn bị kích thích quá mức ở trẻ tự kỷ. IL-17A đóng vai trò như một “chiếc phanh” làm dịu vùng S1DZ, trả lại sự cân bằng cho toàn bộ mạng lưới xã hội. Năm 2020, nhóm MIT chứng minh thêm: ở các dòng chuột tự kỷ do đột biến gen (Shank3, Cntnap2, Fmr1), cơ thể không tự tiết đủ IL-17A khi sốt, nhưng nếu đưa trực tiếp IL-17A vào não, triệu chứng tự kỷ của chúng cũng biến mất.
- Cơ chế Tiểu não từ Đại học Nam Kinh & ĐH Y Thủ Đô (Jun Yin, Chen Zhang et al., Molecular Psychiatry 6/2026): Mở rộng phát hiện của MIT, các nhà khoa học Trung Quốc phát hiện ngay tại tiểu não, các tế bào miễn dịch nội khu (Microglia) cũng tự tiết ra IL-17A tác động lên tế bào thần kinh Purkinje, giúp sửa chữa trực tiếp lỗi dẫn truyền khớp thần kinh và phục hồi hành vi xã hội.
2. Nhánh Nhiệt độ Vật lý & Kênh Ion: Khi sức nóng trực tiếp “hạ nhiệt” não bộ
Không phải mọi ca cải thiện đều nhờ hệ miễn dịch; nhiều dạng tự kỷ do gen lại đáp ứng trực tiếp với nhiệt độ vật lý:
- Cơ chế Kênh Kali trên gen Scn2a (Yiming Shen et al. – Viện Y tế Quốc gia Mỹ NIH, Molecular Psychiatry 7/2026): Ở mô hình tự kỷ mang đột biến gen Scn2a, các tế bào thần kinh vỏ não bị phóng điện hỗn loạn (excess spiking). Khi nhiệt độ não tăng lên mức sốt (38.5–39.5°C), sức nóng kích hoạt kênh cảm nhận nhiệt TRPV3 và mở kênh Kali, giúp dập tắt sự phóng điện quá mức và phục hồi hoàn toàn khả năng nhận thức, học tập mà không cần đến phản ứng nhiễm trùng.
- Cơ chế Phản ứng sốc nhiệt (HSPs) & Thụ thể AMPA trên gen IQSEC2 (Levy, Wagner et al. – Viện Technion Israel & UConn, 2021–2023): Nhiệt độ cao kích hoạt các Protein sốc nhiệt (Heat Shock Proteins) hoạt động như những “người thợ bảo trì” tế bào, làm giảm 50–60% protein Arf6-GTP dư thừa và khôi phục các thụ thể AMPA (GluA2) tại khớp thần kinh đồi thị, giúp cắt cơn co giật và giúp trẻ bật âm giao tiếp.
- Thử nghiệm thủy trị liệu trên người (Hollander et al. – ĐH Y Albert Einstein, 2013–2015): Ngâm 15 trẻ tự kỷ trong bồn nước ấm để nâng thân nhiệt nhẹ tương đương sốt (lên tới 38.9°C) mà không có nhiễm trùng vẫn giúp trẻ tăng rõ rệt khả năng tương tác xã hội và giảm hành vi định hình.
3. Nhánh Dẫn truyền Thần kinh & Chuyển hóa Tế bào
- Hệ thống Nhân lục – Noradrenaline (LC-NA) (Mehler & Purpura, 2009): Cơn sốt kích thích nhân lục (Locus Coeruleus) ở thân não tiết ra Noradrenaline, giúp trẻ thoát khỏi trạng thái quá tải cảm giác, tăng sự tập trung và điều tiết cảm xúc.
- Đánh thức Hormone gắn kết Oxytocin (Catherine Dulac Lab – Đại học Harvard, 2022–2025): Vùng dưới đồi trước vừa là trung tâm gây sốt của cơ thể, vừa là nơi chứa các tế bào tiết Oxytocin (hormone tình yêu và gắn kết xã hội). Khi cơn sốt khởi phát tại vùng dưới đồi, nó vô tình kích hoạt lại các tế bào thần kinh Oxytocin đang bị suy giảm chức năng ở trẻ tự kỷ.
- Khởi động lại “Phản ứng Nguy hiểm Tế bào” – CDR (Naviaux et al. – UC San Diego, 2017): Tế bào của trẻ tự kỷ bị kẹt trong trạng thái phòng vệ mãn tính (CDR) làm gián đoạn giao tiếp giữa các tế bào. Cơn sốt cấp tính hoặc thuốc Suramin giúp thiết lập lại quá trình chuyển hóa purin của ty thể, đưa tế bào về trạng thái bình thường.
- Giảm độc tính Glutamate & Hệ Endocannabinoid (Good 2011; Kerr 2013; Singh & Zimmerman 2014): Sốt làm tăng lưu lượng máu não, giảm nồng độ chất kích thích Glutamate dư thừa, tăng tiết Anandamide (chất tạo cảm giác bình an nội sinh) và kích hoạt con đường chống oxy hóa Nrf2.
Bảng Tổng hợp Các Cột mốc Nghiên cứu Khoa học về Hiệu ứng Sốt ở Trẻ Tự kỷ
| Nhóm Nghiên cứu / Cơ quan | Năm | Hướng tiếp cận | Cơ chế / Kết quả cốt lõi được chứng minh |
|---|---|---|---|
| Curran, Zimmerman et al. | 2007 | Lâm sàng tiến cứu | 83% (25/30) trẻ cải thiện hành vi khi sốt ≥ 38°C. |
| Mehler & Purpura | 2009 | Giải phẫu thần kinh | Sốt kích hoạt hệ thống Locus Coeruleus – Noradrenaline tái cân bằng mạng lưới não. |
| Singh, Zimmerman (Johns Hopkins) | 2014 | Thử nghiệm lâm sàng | Dùng Sulforaphane (bông cải xanh) giả lập phản ứng sốc nhiệt, cải thiện 34% hành vi bất thường. |
| Hollander et al. (Albert Einstein) | 2015 | Thử nghiệm lâm sàng | Ngâm nước ấm nâng thân nhiệt vật lý giúp giảm hành vi lặp lại, tăng giao tiếp. |
| Naviaux et al. (UC San Diego) | 2017 | Chuyển hóa tế bào | Thử nghiệm thuốc Suramin gỡ bỏ trạng thái “Phản ứng nguy hiểm tế bào” (CDR). |
| Grzadzinski, Lord et al. (UCSF) | 2018 | Dịch tễ & Di truyền | 17% trên 2.152 trẻ đáp ứng sốt; thường là trẻ có nhận thức phi ngôn ngữ thấp và hành vi nặng. |
| Reed, Choi, Huh (MIT & Harvard) | 2019, 2020 | Miễn dịch thần kinh | Phân tử miễn dịch IL-17A gắn vào vỏ não S1DZ giúp phục hồi giao tiếp ở chuột MIA và đột biến gen. |
| Byrne, Lord, Bishop (UCLA & UCSF) | 2022, 2023 | Theo dõi thời gian thực | Tỷ lệ thực tế không bị nhiễu trí nhớ là 2–6%, định hình phân nhóm “tự kỷ miễn dịch – thần kinh”. |
| Levy, Wagner et al. (Technion) | 2021–2023 | Gen & Liệu pháp nhiệt | Nhiệt độ cao làm giảm Arf6-GTP, phục hồi thụ thể AMPA trên mô hình đột biến gen IQSEC2. |
| Catherine Dulac Lab (Harvard) | 2022–2025 | Mạch thần kinh | Trung tâm gây sốt ở vùng dưới đồi kích hoạt lại mạng lưới tiết Oxytocin xã hội. |
| Chunyang Li et al. (BV Nhi Tây An) | 2026 | Lâm sàng mù đôi | 23,08% trẻ có hiệu ứng sốt giữ được đà tiến bộ hành vi ngay cả sau khi đã hết sốt. |
| Jun Yin et al. (ĐH Nam Kinh) | 2026 | Sinh học phân tử | Tế bào Microglia ở tiểu não tiết IL-17A tác động lên tế bào Purkinje giúp phục hồi hành vi xã hội. |
| Yiming Shen et al. (NIH – Mỹ) | 2026 | Điện sinh lý thần kinh | Nhiệt độ sốt kích hoạt kênh Kali & TRPV3, dập tắt phóng điện quá mức ở mô hình gen Scn2a. |
Phần 3: Giải pháp Thực tiễn và Chiến lược An toàn cho Cha mẹ có con Tự kỷ
Hiểu được cơ chế của hiệu ứng sốt mang lại cho cha mẹ một góc nhìn hoàn toàn mới để hỗ trợ con. Tuy nhiên, ranh giới giữa ứng dụng khoa học và sự nguy hiểm cho sức khỏe của trẻ rất mong manh, đòi hỏi cha mẹ phải tuân thủ các nguyên tắc y khoa nghiêm ngặt:
1. Nguyên tắc An toàn Tối thượng: Những điều TUYỆT ĐỐI KHÔNG LÀM
- Tuyệt đối không cố tình làm con bị ốm hoặc nhiễm trùng: Việc cho trẻ tiếp xúc với mầm bệnh để mong có “hiệu ứng sốt” là vô cùng nguy hiểm, có thể dẫn đến biến chứng viêm phổi, nhiễm trùng huyết hoặc thậm chí là hội chứng PANDAS/PANS (rối loạn thần kinh tự miễn sau nhiễm khuẩn làm triệu chứng tự kỷ và tic thần kinh nặng lên gấp bội).
- Không bỏ thuốc hạ sốt khi trẻ sốt cao hoặc có nguy cơ co giật: Khoảng 20–30% trẻ tự kỷ có sóng động kinh tiềm ẩn trên điện não đồ hoặc tiền sử co giật do sốt. Nếu trẻ sốt cao trên 38.5°C kèm theo mệt lả, đau đớn hoặc có tiền sử co giật, cha mẹ bắt buộc phải hạ sốt và chăm sóc y tế theo đúng chỉ định của bác sĩ nhi khoa.
2. Tạo “Nhật ký Theo dõi Sốt” để xác định Phân nhóm Sinh học của con
Cha mẹ hãy chuẩn bị một cuốn sổ hoặc ghi chú trên điện thoại để quan sát mỗi khi con vô tình bị sốt tự nhiên:
- Ghi chép chi tiết: Mức nhiệt độ (ví dụ: 38.2°C), nguyên nhân sốt (viêm họng, sốt virus, sau tiêm chủng), và những thay đổi cụ thể (con có nhìn mắt lâu hơn không, có gọi mẹ hay nói câu dài hơn không, có đỡ chạy nhảy quay tròn không, và trạng thái đó kéo dài bao lâu sau khi hạ sốt).
- Ý nghĩa chẩn đoán: Nếu con bạn thực sự nằm trong nhóm có cải thiện rõ rệt khi sốt, đây là một chỉ điểm sinh học (biomarker) vô giá. Hãy cung cấp thông tin này cho bác sĩ thần kinh hoặc chuyên gia y sinh đang theo dõi cho bé. Điều này báo hiệu bé có khả năng cao thuộc “phân nhóm tự kỷ miễn dịch – chuyển hóa” (thường đi kèm viêm ruột, dị ứng thực phẩm, rối loạn ty thể hoặc thiếu hụt folate não) và sẽ đáp ứng rất tốt với các can thiệp y sinh nhắm vào chống viêm và chống oxy hóa.
3. Nắm bắt “Cửa sổ Vàng” khi trẻ sốt nhẹ (Theo phát hiện của nghiên cứu Tây An 2026)
Nghiên cứu năm 2026 tại Bệnh viện Nhi Tây An chỉ ra rằng gần 1/4 số trẻ có thể giữ lại được các kỹ năng sau khi hết sốt. Khi trẻ chỉ hơi ấm người hoặc sốt nhẹ (37.8°C – 38.2°C), trẻ vẫn tỉnh táo, không đau đớn hay mệt lả và bắt đầu xuất hiện “hiệu ứng sốt” (mắt sáng, tập trung, thích tương tác):
- Tận dụng tương tác nhẹ nhàng tại chỗ: Khi các mạch thần kinh ở vùng vỏ não S1DZ và tiểu não đang tạm thời được “mở khóa”, trẻ tiếp thu ngôn ngữ và cảm xúc xã hội nhạy bén gấp nhiều lần ngày thường. Cha mẹ đừng ép trẻ học bàn giấy mệt mỏi, mà hãy trò chuyện thủ thỉ, đọc sách tranh, gọi tên cảm xúc, chơi các trò chơi luân phiên nhẹ nhàng trên giường để củng cố đường mòn thần kinh (neuroplasticity) ngay trong lúc não trẻ đang kết nối tốt nhất.
4. Áp dụng Liệu pháp Nhiệt ấm An toàn & Điều hòa Cảm giác tại nhà
Dựa trên thử nghiệm của Đại học Y Albert Einstein (Hollander et al.) và Viện Technion (Levy et al.) về tác động của nhiệt độ ấm lên kênh ion và hệ thống Oxytocin vùng dưới đồi:
- Tắm bồn nước ấm mỗi tối (Warm Hydrotherapy): Cho trẻ ngâm mình thư giãn trong bồn nước ấm ở mức nhiệt độ an toàn (khoảng 37.5°C – 38.5°C, tuyệt đối không dùng nước quá nóng gây bỏng hoặc sốc nhiệt) trong khoảng 15–20 phút trước khi đi ngủ hoặc trước giờ tương tác cùng bố mẹ.
- Lợi ích kép: Nước ấm vừa tạo áp lực sâu (deep pressure) lên hệ xúc giác giúp làm dịu vùng vỏ não cảm giác, vừa tăng nhẹ tuần hoàn máu ngoại vi, kích thích tiết Oxytocin tự nhiên, giảm nồng độ Glutamate gây căng thẳng và giúp trẻ đi vào giấc ngủ sâu hơn. Luôn cho trẻ uống đủ nước lọc hoặc điện giải trước và sau khi tắm ấm.
5. Can thiệp Dinh dưỡng – Sinh hóa mô phỏng “Phản ứng Sốc nhiệt” (Sulforaphane)
Đây là giải pháp có bằng chứng lâm sàng vững chắc nhất hiện nay mà phụ huynh có thể tham khảo ý kiến bác sĩ để áp dụng mà không cần trẻ phải chịu đựng cơn sốt:
- Cơ chế: Trong nghiên cứu nổi tiếng của Đại học Johns Hopkins và Harvard (Singh, Zimmerman et al., 2014 & 2021), hoạt chất Sulforaphane chiết xuất từ mầm bông cải xanh (Broccoli Sprout Extract) đã được chứng minh có khả năng bật công tắc Protein sốc nhiệt (HSPs) và kích hoạt con đường Nrf2 bảo vệ ty thể, giảm viêm thần kinh – mô phỏng lại chính xác những lợi ích sinh hóa của một cơn sốt ở cấp độ tế bào.
- Cách áp dụng thực tế: Cha mẹ có thể bổ sung thực phẩm giàu tiền chất sulforaphane (như mầm bông cải xanh tươi, súp lơ xanh hấp chín tới kết hợp một chút bột hạt cải bẹ/mù tạt để cung cấp enzyme myrosinase giúp chuyển hóa hoạt chất) vào thực đơn của trẻ, hoặc trao đổi với bác sĩ chuyên khoa để sử dụng các thực phẩm bảo vệ sức khỏe chứa chiết xuất Sulforaphane đã được chuẩn hóa liều lượng theo cân nặng của bé.
6. Chăm sóc Trục Ruột – Não – Miễn dịch và Giấc ngủ
Vì nhóm trẻ có hiệu ứng sốt gắn liền mật thiết với sự rối loạn hệ miễn dịch (IL-17A) và chuyển hóa năng lượng tế bào:
- Kiểm soát tình trạng viêm mạn tính từ đường ruột: Khoảng 70% tế bào miễn dịch (bao gồm cả các tế bào Th17 tiết ra IL-17A) nằm ở hệ bạch huyết đường ruột. Việc xử lý triệt để tình trạng táo bón, tiêu chảy, loạn khuẩn đường ruột thông qua chế độ ăn lành mạnh, hạn chế đường tinh luyện/thực phẩm chế biến sẵn và bổ sung lợi khuẩn (Probiotics), Omega-3 (EPA/DHA) sẽ giúp ổn định hệ trục miễn dịch – thần kinh từ gốc.
- Bảo vệ giấc ngủ và vận động thể chất: Các bài tập vận động thể chất vừa sức mỗi ngày (chạy bộ, bơi lội, nhảy bạt nhún) cũng là một cách tự nhiên và an toàn nhất để làm tăng nhẹ thân nhiệt sinh lý, kích thích nhân lục tiết Noradrenaline và thúc đẩy sản sinh yếu tố dinh dưỡng thần kinh (BDNF) giúp não bộ của trẻ phát triển bền vững mỗi ngày.
Tự kỷ - Rối loạn tiêu hoá và men vi sinh (probiotics) nên dùng
Rối loạn phổ tự kỷ (ASD) ở một bộ phận lớn trẻ nhỏ không đơn thuần là câu chuyện về tâm lý hay hành vi đơn độc, mà là hệ quả trực tiếp từ sự rối loạn sâu sắc của Trục Ruột – Miễn dịch – Não bộ (Gut-Immune-Brain Axis). Từ 40% đến 70% trẻ tự kỷ gặp các vấn đề tiêu hóa mạn tính, trong đó ruột non và đại tràng chính là “tâm chấn” khởi phát phản ứng viêm âm ỉ truyền thẳng lên hệ thần kinh trung ương.
Đường ruột là nơi chứa 70–80% tế bào miễn dịch của cơ thể. Các nghiên cứu tiêu hóa học chỉ ra rằng từ 40% đến 70% trẻ tự kỷ có các triệu chứng tiêu hóa đi kèm (táo bón mãn tính, phân sống, tiêu chảy, chướng bụng), và nguyên nhân sâu xa là do tình trạng viêm niêm mạc ruột âm ỉ:
-
Nghiên cứu của Đại học Y Harvard & Bệnh viện Đa khoa Massachusetts (de Magistris, Alessio Fasano et al. – JPGN, 2010 & Fiorentino et al. – Molecular Autism, 2016): Giáo sư Alessio Fasano (người phát hiện ra protein Zonulin điều khiển độ mở của hàng rào ruột) đã chứng minh có tới 36,7% trẻ tự kỷ bị tăng tính thấm thành ruột (“rò rỉ ruột” – Leaky Gut) so với dưới 5% ở dân số bình thường. Khi xét nghiệm mẫu mô ruột và não của người tự kỷ (2016), nhóm Harvard phát hiện sự suy giảm nghiêm trọng các protein liên kết chặt (tight junctions như Claudin, Occludin) ở cả hàng rào niêm mạc ruột lẫn hàng rào máu não.
-
Nghiên cứu mô bệnh học niêm mạc ruột của Torrente et al. (Molecular Psychiatry, 2002) & Ashwood et al. (Journal of Clinical Immunology, 2003–2004): Nội soi và sinh thiết trực tiếp niêm mạc ruột non và đại tràng của trẻ tự kỷ có triệu chứng tiêu hóa cho thấy sự thâm nhiễm dày đặc của các tế bào lympho T (CD3+,CD8+), tế bào γδ T và sự tăng tiết mạnh chất gây viêm TNF-α ngay tại lớp biểu mô ruột, trong khi chất chống viêm tự nhiên là IL-10 lại bị suy giảm nặng nề.
-
Nghiên cứu về rối loạn hệ vi sinh và viêm ruột (Rose, Ashwood et al. – Brain, Behavior, and Immunity, 2018):Xác nhận trẻ tự kỷ có vấn đề tiêu hóa sở hữu hệ vi sinh vật đường ruột mất cân bằng (loạn khuẩn), dẫn đến niêm mạc ruột liên tục tiết ra các cytokine gây viêm (IL-5, IL-15, IL-17) và làm suy yếu hàng rào bảo vệ ruột.
Phần 1: Cơ chế Rối loạn Tiêu hóa, Hấp thu ở Ruột non và Chuyển hóa ở Trẻ Tự kỷ
Ruột non là cơ quan đảm nhiệm hơn 90% quá trình phân giải thức ăn, hấp thu vi chất dinh dưỡng và chứa hệ thống bạch huyết miễn dịch lớn nhất cơ thể (mảng Peyer). Ở trẻ tự kỷ thuộc phân nhóm miễn dịch – chuyển hóa, khu vực này xảy ra 4 đứt gãy sinh học nghiêm trọng:
1. Suy giảm Enzyme tiêu hóa tại bờ bàn chải ruột non & Thuyết “Opioid ngoại sinh”
- Kém phân giải Carbohydrate và Đạm: Các nghiên cứu sinh thiết ruột non ở trẻ tự kỷ (như của ĐH Harvard và ĐH Columbia) phát hiện sự thiếu hụt rõ rệt các enzyme tại bờ bàn chải ruột non (như lactase, sucrase, isomaltase và đặc biệt là enzyme DPP-IV).
- Sự hình thành chất gây nghiện thần kinh (Opioid Peptides): Do thiếu enzyme DPP-IV, đạm sữa bò (Casein) và đạm lúa mì (Gluten) không được cắt nhỏ hoàn toàn thành các axit amin đơn lẻ mà dừng lại ở dạng các chuỗi peptide ngắn là Casomorphin và Gliadorphin.
- Hệ quả: Phần thức ăn không tiêu hóa hết bị đẩy xuống dưới gây phân sống, lổn nhổn cặn; đồng thời phần đường/tinh bột dư thừa bị vi khuẩn và nấm men tại ruột non lên men mạnh mẽ (gây hội chứng quá phát vi khuẩn ruột non – SIBO và nhiễm nấm Candida), sinh ra khí gas làm bụng trẻ luôn chướng căng.
2. Hội chứng “Rò rỉ ruột” (Leaky Gut) và Quá tải độc tố nội sinh
- Ở ruột non bình thường, các tế bào biểu mô liên kết chặt chẽ với nhau bằng hệ thống “khóa kéo” protein (tight junctions như Claudin, Occludin). Ở trẻ tự kỷ (theo nghiên cứu của GS Alessio Fasano – ĐH Harvard), nồng độ protein Zonulin tăng cao làm bung các mối nối này, tạo ra các khe hở trên thành ruột non.
- Qua các khe hở này, độc tố vỏ vi khuẩn (LPS), độc tố nấm Candida (Acetaldehyde, Arabinose), độc tố vi khuẩn Clostridia (HPHPA) và các mảnh peptide Casomorphin/Gliadorphin lọt thẳng vào mạch máu. Khi lên đến não, chúng gắn vào thụ thể thần kinh khiến trẻ rơi vào trạng thái lơ mơ như “say rượu”, cười vô cớ, đi nhón gót, tăng động hoặc bùng nổ các cơn la hét, tự làm đau.
3. Kích hoạt “Bão viêm âm ỉ” (Th17 / IL-17A) từ Ruột lên Não
- Khi dị nguyên và độc tố tràn qua thành ruột non vào máu, hệ miễn dịch lập tức phát lệnh báo động. Các tế bào miễn dịch Th17 tại thành ruột tiết ra hàng loạt cytokine tiền viêm (TNF-α, IL-1β, IL-6 và IL-17A nền).
- Lượng cytokine viêm rò rỉ liên tục mỗi ngày đi qua hàng rào máu não, làm cho các “ổ khóa” thụ thể trên vùng vỏ não cảm giác (S1DZ) bị “nhờn” và kích thích tế bào miễn dịch trong não (Microglia) ở vỏ não và tiểu não nổi loạn. Hậu quả là nơ-ron thần kinh bị phóng điện quá mức (hyperactivity), làm đứt gãy khả năng giao tiếp mắt và ngôn ngữ của trẻ.
4. Kém hấp thu Vi chất và Suy giảm Chuyển hóa Năng lượng Ty thể (CDR)
- Thiếu hụt nguyên liệu tạo chất dẫn truyền thần kinh: Viêm niêm mạc ruột non làm xẹp các nhung mao ruột, khiến trẻ dù ăn được nhưng không hấp thu được Sắt, Kẽm, Magie, Vitamin nhóm B (B6, B9, B12), Vitamin D3 và Axit amin (như Tryptophan). Thiếu Kẽm và B6 làm não không tổng hợp được GABA (chất làm dịu thần kinh) và Serotonin/Melatonin (chất điều hòa cảm xúc và giấc ngủ).
- Kẹt trong “Phản ứng Nguy hiểm Tế bào” (CDR) và suy giảm Ty thể: Độc tố từ ruột và gốc tự do làm suy yếu nhà máy năng lượng Ty thể (tăng Lactate, giảm ATP) và làm cạn kiệt chất chống oxy hóa chủ đạo là Glutathione, đồng thời kích thích sinh ra kháng thể khóa cổng vận chuyển Folate vào não (FRAA).
Phần 2: Nhận diện Biểu hiện Lâm sàng và Xét nghiệm Kiểm tra
1. Các dấu hiệu bên ngoài cảnh báo trẻ đang bị viêm & loạn khuẩn ruột
- Tư thế giảm đau ngụy trang (Posturing): Trẻ hay nằm sấp đè chặt bụng xuống sàn lạnh, vắt ngang bụng qua thành ghế sofa, đùi bố mẹ hoặc ấn tay vào bụng; hay ưỡn lưng, nhai áo quần (do trào ngược thầm lặng).
- Đặc điểm phân bất thường: Táo bón vón cục như phân dê hoặc phân sống lổn nhổn cặn rau/thịt; nếu nhiễm nấm Candida thì phân thường xốp có bọt khí, bọc dịch nhầy trắng/vàng, mùi chua khẳn như men rượu/bia kèm theo vòng da tấy đỏ rực quanh lỗ hậu môn gây ngứa rát.
- Giấc ngủ và Thần kinh: Khó vào giấc, trằn trọc, hay bật dậy lúc 1–3 giờ sáng khóc thét hoặc cười khúc khích vô cớ; quầng mắt thâm tím (allergic shiners), cực kỳ kén ăn nhưng lại “nghiện” đồ ngọt, sữa bò, bánh mì/mì gói.
2. Các xét nghiệm kiểm tra (Thực hiện được tại Việt Nam)
- Xét nghiệm Phân (Sàng lọc không xâm lấn): Định lượng Fecal Calprotectin (chỉ số vàng đo viêm niêm mạc ruột), tổng phân tích phân tìm cặn dư tiêu hóa (hạt mỡ, sợi cơ), đo độ pH phân và soi tìm nấm Candida.
- Xét nghiệm Máu cơ bản & Chuyên sâu: hs-CRP (đo viêm mạch máu âm ỉ), Công thức máu (chú ý bạch cầu ái toan Eosinophils), Ferritin, Sắt, Kẽm, Vitamin D3, B12, Homocysteine, định lượng cytokine IL-6, kháng thể liên cầu khuẩn ASLO (tầm soát PANDAS) và bảng dị ứng thực phẩm IgE / IgG. (Các chỉ số đặc biệt như Zonulin, kháng thể Folate FRAA hoặc Axit hữu cơ niệu OAT cần gửi mẫu qua đơn vị liên kết quốc tế).
Phần 3: Các Chủng Men Vi sinh Đích và Thực phẩm Chức năng Khuyên dùng
Để phục hồi khả năng tiêu hóa – hấp thu tại ruột non, dập tắt nấm Candida và mở khóa giao tiếp qua Trục Ruột – Não, cha mẹ cần chọn đúng phân chủng (Strain) lợi khuẩn và các hoạt chất sinh học đã có chứng nhận lâm sàng:
1. Ba nhóm Chủng Men Vi sinh Chủ lực và Sản phẩm tương ứng
Nhóm 1: Nấm men Saccharomyces boulardii (Chiến binh quét sạch nấm Candida và độc tố ruột)
- Cơ chế: Là nấm men vi sinh kích thước lớn, kháng hoàn toàn axit dạ dày và thuốc kháng sinh. Nó hoạt động như “chiếc chổi” quét sạch nấm Candida, trung hòa độc tố vi khuẩn Clostridia, làm săn khuôn phân (trị phân sống, nhầy bọt, mùi chua) và tăng tiết kháng thể sIgA bảo vệ niêm mạc ruột non.
- Sản phẩm tiêu biểu:
- Optibac “For Bowel Calm” (Hộp màu Nâu Cam – Anh): Ưu tiên số 1 cho trẻ tự kỷ vì chứa 5 tỷ CFU (250mg) S. boulardii tinh khiết, không chứa đường sữa Lactose (Dairy-free), không Gluten.
- Bioflora 100mg/200mg (Pháp) hoặc Normagut 250mg: Dễ mua tại các nhà thuốc Việt Nam (chứa chủng chuẩn S. boulardii CNCM I-745, nhưng lưu ý gói Bioflora có chứa một lượng nhỏ tá dược đường Lactose).
- Klaire Labs Saccharomyces Boulardii (Mỹ): Dòng chuyên biệt cho trẻ tự kỷ.
Nhóm 2: Limosilactobacillus reuteri (Phục hồi ruột non, kháng viêm TNF-α & Kích thích tiết Oxytocin)
- Cơ chế: Cư trú ngay tại dạ dày và ruột non, tiết chất kháng khuẩn tự nhiên Reuterin. Đặc biệt, phân chủng L. reuteri ATCC PTA 6475 đã được chứng minh trên tạp chí Cell và Neuron có khả năng ức chế trực tiếp cytokine gây viêm TNF-α tại thành ruột và gửi tín hiệu qua dây thần kinh Phế vị (Vagus nerve) lên vùng dưới đồi của não để kích thích sản sinh hormone gắn kết xã hội Oxytocin (cơ chế tương tự như khi trẻ có “Hiệu ứng sốt”).
- Sản phẩm tiêu biểu:
- BioGaia Gastrus (Thụy Điển – Dạng viên nhai): Sản phẩm duy nhất chứa tổ hợp kép cả 2 chủng L. reuteri ATCC PTA 6475 (chuyên sâu cho Trục Ruột – Não & kháng viêm) và L. reuteri DSM 17938 (điều hòa nhu động ruột). Loại này hiện đang không bán sẵn tại Việt Nam.
- BioGaia Protectis (Thụy Điển – Dạng giọt/viên): Chỉ chứa 1 chủng DSM 17938, phù hợp cho trẻ nhỏ dưới 2 tuổi trị táo bón, nôn trớ cơ bản. Loại này đang bán nhiều ở hiệu thuốc.
Nhóm 3: Tổ hợp Bifidobacterium longum, B. infantis, B. breve & Lactobacillus plantarum/rhamnosus (Hàn gắn “Rò rỉ ruột” và làm dịu thần kinh)
- Cơ chế: Nhóm Bifidobacterium định cư ở đại tràng giúp lên men chất xơ tạo ra axit béo chuỗi ngắn (Butyrate) – nguồn năng lượng trực tiếp để tái tạo tế bào biểu mô ruột, đóng chặt các khe hở Leaky Gut, làm mềm phân trị táo bón và giảm lo âu. Nhóm L. plantarum và L. rhamnosus GG hoạt động mạnh ở ruột non giúp phân giải thức ăn, chống phân sống.
- Sản phẩm tiêu biểu:
- BioAmicus Complete (Canada – Dạng giọt): Chứa trọn bộ 10 chủng lợi khuẩn (có mặt cả Bifidobacterium longum, B. infantis, B. breve, L. plantarum, L. rhamnosus và L. reuteri cơ bản). Hoàn toàn không chứa đạm sữa, không Gluten, không mùi vị.
- Optibac Babies & Children (Optibac Hồng – Anh): Dạng gói bột chứa 3 tỷ CFU (B. breve M-16V, B. infantis Rosell-33, L. rhamnosus GG) kèm chất xơ FOS và Vitamin D3, rất mạnh về trị táo bón và giảm dị ứng/chàm.
- Life-Space Probiotic Powder for Children (Úc) hoặc Neuralli MP (chứa chủng L. plantarum PS128 chuyên biệt cho thần kinh tự kỷ).
2. Các Thực phẩm Chức năng Hỗ trợ Hấp thu Ruột non & Mô phỏng “Hiệu ứng sốt”
Để cắt đứt vòng xoắn viêm từ ruột lên não, men vi sinh nên được phối hợp cùng các nhóm dưỡng chất sinh học sau:
- Hoạt chất Sulforaphane (Mô phỏng Hiệu ứng sốt & Kháng viêm thần kinh): Chiết xuất từ mầm bông cải xanh (Broccoli Sprout Extract – như dòng Avmacol của Mỹ, BrocElite hoặc Swanson/Jarrow Sulforaphane). Giúp bật công tắc Nrf2 và Protein sốc nhiệt (HSPs), vừa hạ nồng độ IL-17A viêm âm ỉ ở máu ngoại vi để chống “nhờn” thụ thể, vừa đi qua hàng rào máu não làm dịu vùng vỏ não cảm giác S1DZ.
- Kẽm sinh học & L-Glutamine (Hàn gắn niêm mạc ruột non và kích thích vị giác): Kẽm dạng dễ hấp thu (Zinc Picolinate / Zinc Bisglycinate / Zinc Carnosine – như của Thorne, Pure Encapsulations, Nature’s Way, BioCare) giúp tái tạo nhung mao ruột non, sản xuất enzyme tiêu hóa và tổng hợp chất dẫn truyền thần kinh GABA.
- Enzyme tiêu hóa chuyên biệt DPP-IV (Hỗ trợ phân giải Gluten/Casein tại ruột non): Các dòng enzyme như Houston Enzymes (TriEnza / Peptizyde) hoặc Klaire Labs Vital-Zymes giúp cắt đứt chuỗi peptide Casomorphin/Gliadorphin ngay tại ruột non, ngăn chúng thấm vào máu gây “say” thần kinh.
- Omega-3 tinh khiết giàu EPA/DHA & Luteolin (Dập tắt viêm tế bào não): Dầu cá tinh khiết chuẩn IFOS (như Nordic Naturals Ultimate Omega / Children’s DHA, Wiley’s Finest) kết hợp hoạt chất Luteolin (như NeuroProtek) giúp khóa tế bào Mast và làm dịu tế bào Microglia đang bị viêm trong não.
-
Luteolin và Quercetin (Flavonoid tự nhiên): Nghiên cứu của Giáo sư Theoharis Theoharides (Đại học Tufts, Mỹ) chứng minh Luteolin (chiết xuất từ hoa hòe, cúc La Mã, hạt cần tây) có khả năng khóa chặt tế bào Mast (Mast cells) và làm dịu tế bào Microglia trong não, giảm rõ rệt chỉ số IL-6 và TNF-α ở trẻ tự kỷ.
-
Curcumin (dạng Phytosome/Nano dễ hấp thu) và N-Acetylcysteine (NAC): NAC là tiền chất tạo ra Glutathione(chất chống oxy hóa mạnh nhất của cơ thể), đã được thử nghiệm lâm sàng tại Đại học Stanford chứng minh giúp giảm mạnh sự cáu gắt, kích động và viêm thần kinh bằng cách hạ nồng độ Glutamate dư thừa ở khớp thần kinh.
Phần 4: Bảng Tổng hợp Phác đồ Phối hợp Thực tế trong Ngày cho Cha mẹ
Dưới đây là lịch trình mẫu, chỉ để tham khảo chứ không phải đơn thuốc hay kiến nghị nên dùng và tránh việc các chất cạnh tranh hấp thu lẫn nhau và hạn chế phản ứng sốc độc tố nấm chết (Die-off). Mọi đơn thuốc hay việc sử dụng đều phải có sự hướng dẫn của bác sỹ.
| Thời điểm trong ngày | Sản phẩm / Hoạt chất sử dụng | Liều lượng chuẩn gợi ý | Mục đích sinh học tại Ruột & Não |
|---|---|---|---|
| Sáng (Trước ăn 30p hoặc đầu bữa ăn) | Optibac For Bowel Calm (hoặc Bioflora / Normagut) | 1/2 – 1 viên (tháo vỏ nang pha nước nguội < 30°C) | Nấm men S. boulardii tráng màng bảo vệ ruột non, bẫy nấm Candida và trung hòa độc tố. |
| Sáng (Ngay sau ăn sáng 30p) | BioAmicus Complete (hoặc Optibac Hồng) + Sulforaphane | 5 giọt BioAmicus + Liều Sulforaphane theo cân nặng | Cấy 10 chủng lợi khuẩn (B. longum, L. plantarum…) phân giải thức ăn; Sulforaphane bật công tắc Nrf2/HSPs trên não. |
| Trưa (Trong hoặc ngay sau bữa ăn) | Omega-3 (EPA/DHA) + Vitamin D3/K2 (và Enzyme DPP-IV đầu bữa) | Theo hàm lượng EPA/DHA khuyến nghị theo tuổi | Hấp thu tối đa qua chất béo bữa ăn; kháng viêm màng tế bào thần kinh và điều hòa miễn dịch Th17. |
| Chiều (Sau ăn 1–2 giờ, cách xa men) | Kẽm sinh học (Zinc) | 5mg – 15mg kẽm nguyên tố (tùy tuổi và xét nghiệm) | Tái tạo nhung mao ruột non, khóa chặt kẽ hở Leaky Gut mà không cản trở lợi khuẩn. |
| Tối (Sau ăn tối 30–60p / Trước ngủ) | BioGaia Gastrus (Sau khi đã tắm nước ấm 37.5–38.5°C) | 1/2 – 1 viên nhai (hoặc nghiền mịn pha nước nguội) | Chủng ATCC PTA 6475 bám dính suốt đêm để ức chế TNF-α và kích thích dây thần kinh phế vị tiết Oxytocin giúp bé ngủ sâu. |
3 Nguyên tắc Vàng khi bắt đầu áp dụng
- Quy tắc “Đi chậm và Từng thứ một” (Start Low, Go Slow): Không bao giờ đưa tất cả các sản phẩm vào cùng một ngày. Hãy bắt đầu bằng việc cắt giảm đường tinh luyện/sữa bò/bột mì, đưa S. boulardii (1/2 liều) hoặc BioAmicus vào trước trong 4–5 ngày; khi bụng bé êm mới đưa tiếp BioGaia Gastrus, rồi sau 1–2 tuần mới thêm Kẽm, Omega-3 và Sulforaphane để quan sát rõ phản ứng của con.
- Bảo vệ hoạt lực lợi khuẩn: Tuyệt đối không pha bất kỳ loại men vi sinh nào vào nước nóng, cháo nóng trên 37°C. Luôn lắc kỹ lọ BioAmicus trước khi nhỏ và bảo quản ngăn mát tủ lạnh sau khi mở nắp.
- Đồng hành cùng vận động và giấc ngủ: Kết hợp tắm bồn nước ấm 15–20 phút mỗi tối (liệu pháp nhiệt an toàn) và vận động thể chất ra mồ hôi ban ngày để kích thích tự nhiên hệ thống Nhân lục – Noradrenaline và Oxytocin, tạo bàn đạp sinh học vững chắc nhất cho quá trình can thiệp giáo dục của bé.
Tại sao Sulforaphane (Cải xanh tươi) lại nổi tiếng trong nghiên cứu về giảm hành vi Tự kỷ (ASD)?
Sulforaphane được giới y sinh học đặc biệt chú ý sau nghiên cứu lâm sàng nổi tiếng của Đại học Johns Hopkins và Harvard (công bố trên tạp chí PNAS). Khác với các vi chất thông thường, Sulforaphane đi xuyên qua hàng rào máu não rất mạnh và tác động thông qua 3 cơ chế:
-
Bật công tắc gen Nrf2: Kích hoạt hệ thống tự sản xuất chất chống oxy hóa nội sinh mạnh nhất của cơ thể (như Glutathione), giúp dập tắt tình trạng viêm thần kinh (neuroinflammation) và stress oxy hóa ở não trẻ tự kỷ (vốn là nguyên nhân lớn khiến Nhân xanh bắn xung nền Tonic quá mức và gây mất cân bằng Glutamate/GABA).
-
Bắt chước “Hiệu ứng Sốt” (Fever Effect): Nhiều cha mẹ nhận thấy khi trẻ tự kỷ bị sốt, trẻ bỗng nhiên tỉnh táo,giao tiếp mắt tốt hơn, nói nhiều hơn và giảm hẳn hành vi kích thích lặp lại. Sulforaphane kích hoạt các Protein sốc nhiệt (Heat Shock Proteins – HSP) ở cấp độ tế bào giống hệt như khi cơ thể đang sốt nhẹ, giúp bảo vệ và phục hồi chức năng khớp thần kinh mà không làm trẻ bị sốt thật.
-
Bảo vệ ty thể (Mitochondria): Giúp tế bào não sản xuất năng lượng ổn định hơn.
1. Những lưu ý khi mua thực phẩm chức năng Sulforaphane
Phân tử Sulforaphane tự do rất kém bền vững (dễ bị phân hủy nhanh ở nhiệt độ phòng). Do đó, để cơ thể thực sự nhận được Sulforaphane, sản phẩm bắt buộc phải rơi vào 1 trong 2 dạng chuẩn hóa sau:
2. Lưu ý thực tế khi sử dụng (dù không cần đơn bác sĩ)
-
Mùi vị đặc trưng: Tinh chất mầm súp lơ xanh chuẩn có mùi hăng nồng của hợp chất lưu huỳnh (giống mùi cải ngồng/củ cải). Nếu dùng cho trẻ nhỏ không nuốt được viên, khi tách vỏ nang hoặc nghiền viên nén cần trộn vào thức ăn có vị đậm (như sốt táo, bơ đậu phộng, sinh tố chua ngọt) và không pha vào nước/cháo nóng trên 40°C(nhiệt độ cao sẽ làm chết ngay enzyme Myrosinase).
-
Tác dụng phụ ban đầu (Hiện tượng thải độc / Die-off nhẹ): Do Sulforaphane kích hoạt mạnh quá trình giải độc gan (Pha II) và chứa hợp chất lưu huỳnh, trong 3–5 ngày đầu trẻ có thể đi ngoài phân hơi lỏng, xì hơi nặng mùi hơn hoặc hơi bứt rứt nhẹ. Luôn bắt đầu từ 1/4 đến 1/2 liều chuẩn để cơ thể làm quen.
-
Kiểm tra nếu trẻ nhạy cảm lưu huỳnh (CBS / SUOX mutation): Một số ít trẻ có rối loạn chuyển hóa lưu huỳnh (ăn trứng, hành tỏi, bông cải hay bị bồn chồn, nước tiểu khai nồng mùi lưu huỳnh) cần thận trọng thử liều cực nhỏ trước.
Trong các thử nghiệm lâm sàng của Đại học Johns Hopkins (dẫn đầu bởi Giáo sư Thần kinh Nhi Andrew Zimmerman và Giáo sư Paul Talalay), liều lượng Sulforaphane được chuẩn hóa bằng đơn vị micromol (μmol) và sau đó quy đổi sang miligam (mg) dựa trên trọng lượng cơ thể.
Có 2 cách tính liều được áp dụng trong hệ thống nghiên cứu của Johns Hopkins (cách chia theo bậc cân nặng trong nghiên cứu gốc 2014 và công thức tính chính xác theo từng kg cho trẻ nhỏ từ 3–12 tuổi trong nghiên cứu năm 2021):
2.1. Bảng chia theo 3 bậc cân nặng (Nghiên cứu gốc Singh et al., PNAS 2014)
Trong thử nghiệm đầu tiên kéo dài 18 tuần, các nhà khoa học sử dụng viên chiết xuất mầm bông cải xanh chứa khoảng 50 μmol Sulforaphane mỗi viên (tương đương ≈8.85 mg Sulforaphane hoạt tính/viên) và chia theo 3 mốc cân nặng như sau:
2.2. Công thức tính chi tiết theo từng kg cho trẻ nhỏ (Nghiên cứu Zimmerman et al., Molecular Autism 2021)
Vì mốc “dưới 45 kg đều uống 50 μmol” ở nghiên cứu đầu tiên là quá rộng đối với trẻ nhỏ từ 3–12 tuổi (ví dụ trẻ 15 kg và trẻ 40 kg không thể uống bằng nhau), trong thử nghiệm lâm sàng giai đoạn 2 trên 57 trẻ tự kỷ (3–12 tuổi) sử dụng chế phẩm Avmacol (Glucoraphanin + enzyme Myrosinase hoạt tính), nhóm Johns Hopkins đã áp dụng công thức tính theo từng kg cân nặng:
-
Liều mục tiêu tính theo Micromol: Khoảng 2.2 μmol Sulforaphane / kg cân nặng / ngày (hoặc dao động trong vùng an toàn từ 1.5−2.5 μmol/kg/ngày).
-
Quy đổi sang Miligam (mg) để cha mẹ đọc nhãn TPCN:
-
Nếu nhãn ghi lượng Sulforaphane thực tế (Actual Sulforaphane yield): Khoảng 0.25−0.38 mg / kg cân nặng / ngày.
-
Nếu nhãn ghi lượng tiền chất Glucoraphanin (có kèm enzyme Myrosinase): Do hiệu suất chuyển hóa từ Glucoraphanin sang Sulforaphane trong ruột đạt khoảng 35%–45%, liều Glucoraphanin cần uống là khoảng 1.2−2.0 mg Glucoraphanin / kg cân nặng / ngày.
-
Bảng tra nhanh liều lượng cho trẻ nhỏ (từ 12 kg đến 45 kg):
2.3. Bốn nguyên tắc cho uống từ phác đồ gốc của Johns Hopkins
-
Quy tắc “Dò liều bậc thang” (Titration): Trong thực tế lâm sàng, không bao giờ cho trẻ uống ngay liều tối đa theo cân nặng ở ngày đầu tiên. Hãy bắt đầu bằng 1/4 hoặc 1/2 liều tính được trong 5–7 ngày đầu, nếu bụng dạ trẻ êm và không bị bứt rứt thì mới tăng dần lên đủ liều chuẩn.
-
Thời điểm uống: Cho uống 1 lần duy nhất vào buổi sáng cùng bữa ăn (hoặc ngay sau ăn sáng). Không nên uống vào buổi tối vì Sulforaphane thúc đẩy năng lượng ty thể, có thể làm một số trẻ tỉnh táo khó ngủ.
-
Cách pha khi trẻ không nuốt được viên: Trong nghiên cứu năm 2021, đối với trẻ 3–7 tuổi, các bác sĩ hướng dẫn cha mẹ nghiền viên thuốc trộn vào một thìa thức ăn nguội/mát (như sữa chua, sốt táo, nước ép trái cây hoặc bơ hạt). Tuyệt đối không pha vào cháo nóng hay nước ấm vì enzyme Myrosinase sẽ bị hỏng.
-
Mốc thời gian đánh giá hiệu quả: Trong các thử nghiệm của Johns Hopkins, những thay đổi đầu tiên (giảm cáu gắt, giảm tăng động/stimming, tăng giao tiếp mắt) bắt đầu nhận thấy ở tuần thứ 4, rõ rệt nhất ở tuần thứ 10 đến tuần thứ 15. Đáng chú ý là khi ngừng uống sau 4 tuần, các triệu chứng quay trở lại mức ban đầu — cho thấy Sulforaphane đóng vai trò duy trì bảo vệ tế bào hàng ngày giống như dinh dưỡng.
Bạn có thể kéo thanh trượt Cân nặng của bé (kg) trong công cụ tính toán dưới đây để xem ngay liều lượng quy đổi chính xác theo phác đồ Johns Hopkins cho từng loại nhãn thực phẩm chức năng:
/* Cô lập toàn bộ biến và style bên trong #sfn-calc-wp-widget */ #sfn-calc-wp-widget { --ff-sans: 'Google Sans Flex', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; --ff-mono: 'Google Sans Code', monospace; --lumi-sys-spacing--xxs: 2px; --lumi-sys-spacing--xs: 4px; --lumi-sys-spacing--s: 8px; --lumi-sys-spacing--m: 12px; --lumi-sys-spacing--l: 16px; --lumi-sys-spacing--xl: 20px; --lumi-sys-spacing--xxl: 24px; --lumi-sys-spacing--3xl: 28px; --lumi-sys-spacing--4xl: 36px; --lumi-sys-shape--extra-small: 4px; --lumi-sys-shape--small: 8px; --lumi-sys-shape--medium: 12px; --lumi-sys-shape--large: 16px; --lumi-sys-shape--large-max: 24px; --lumi-sys-shape--xl: 28px; --lumi-sys-shape--xl-max: 40px; --lumi-sys-shape--full: 999px; --lumi-sys-elevation--level1: 0 0 20px 0 rgba(0, 0, 0, 0.04); --lumi-sys-elevation--level2: 0 0 20px 0 rgba(0, 0, 0, 0.11); --lumi-sys-color--surface: #fdfcfc; --lumi-sys-color--surface-dim: #f2f0f0; --lumi-sys-color--surface-bright: #ffffff; --lumi-sys-color--surface-container: #f2f0f0; --lumi-sys-color--surface-container-high: #e6e6e6; --lumi-sys-color--on-surface: #000000; --lumi-sys-color--on-surface-default: #000000; --lumi-sys-color--on-surface-variant: rgba(0, 0, 0, 0.55); --lumi-sys-color--on-surface-de-emphasis: rgba(0, 0, 0, 0.55); --lumi-sys-color--on-surface-low: rgba(0, 0, 0, 0.08); --lumi-sys-color--accent: #9dd2ff; --lumi-sys-color--accent-container: #dcf1ff; --lumi-sys-color--accent-fixed: #3186ff; --lumi-sys-color--primary: #3186ff; --lumi-sys-color--stroke-default: #e3e3e3; --lumi-sys-color--chart-series-1: #2575fc; --lumi-sys-color--chart-series-2: #5b6e9e; --lumi-sys-color--chart-series-3: #228a49; --lumi-sys-color--chart-series-4: #62991b; --lumi-sys-color--chart-series-5: #1e564d; --lumi-sys-color--chart-series-6: #526a45; --lumi-sys-color--chart-series-7: #2780c4; --lumi-sys-color--chart-series-8: #997112; --lumi-sys-color--chart-series-9: #705ec2; --lumi-sys-color--chart-series-10: #c84288; /* Aliases */ --surface: var(--lumi-sys-color--surface); --surface-dim: var(--lumi-sys-color--surface-dim); --surface-bright: var(--lumi-sys-color--surface-bright); --surface-container: var(--lumi-sys-color--surface-container); --surface-container-high: var(--lumi-sys-color--surface-container-high); --on-surface: var(--lumi-sys-color--on-surface); --on-surface-variant: var(--lumi-sys-color--on-surface-variant); --on-surface-low: var(--lumi-sys-color--on-surface-low); --primary: var(--lumi-sys-color--primary); --accent: var(--lumi-sys-color--accent); --accent-container: var(--lumi-sys-color--accent-container); --accent-fixed: var(--lumi-sys-color--accent-fixed); --stroke-default: var(--lumi-sys-color--stroke-default); --chart-1: var(--lumi-sys-color--chart-series-1); --chart-2: var(--lumi-sys-color--chart-series-2); --chart-3: var(--lumi-sys-color--chart-series-3); --chart-4: var(--lumi-sys-color--chart-series-4); --chart-5: var(--lumi-sys-color--chart-series-5); --chart-6: var(--lumi-sys-color--chart-series-6); --chart-7: var(--lumi-sys-color--chart-series-7); --chart-8: var(--lumi-sys-color--chart-series-8); --chart-9: var(--lumi-sys-color--chart-series-9); --chart-10: var(--lumi-sys-color--chart-series-10); --spacing-l: var(--lumi-sys-spacing--l); --r-container: var(--lumi-sys-shape--xl-max); --r-l: var(--lumi-sys-shape--large-max); --r-full: var(--lumi-sys-shape--full); width: 100%; max-width: 708px; margin: 24px auto; font-family: var(--ff-sans); color: var(--on-surface); box-sizing: border-box; line-height: 1.5; -webkit-font-smoothing: antialiased; } /* Hỗ trợ Dark Mode nếu theme hoặc thiết bị bật chế độ tối */ #sfn-calc-wp-widget[data-theme="dark"], body.dark-mode #sfn-calc-wp-widget { --lumi-sys-color--surface: #0f0f0f; --lumi-sys-color--surface-dim: #141414; --lumi-sys-color--surface-bright: #1c1c1c; --lumi-sys-color--surface-container: #141414; --lumi-sys-color--surface-container-high: #1c1c1c; --lumi-sys-color--on-surface: #e0e0e0; --lumi-sys-color--on-surface-default: #e0e0e0; --lumi-sys-color--on-surface-variant: rgba(255, 255, 255, 0.55); --lumi-sys-color--on-surface-de-emphasis: rgba(255, 255, 255, 0.55); --lumi-sys-color--on-surface-low: rgba(255, 255, 255, 0.12); --lumi-sys-color--accent: #1f3b9b; --lumi-sys-color--accent-container: #192967; --lumi-sys-color--accent-fixed: #3186ff; --lumi-sys-color--primary: #9dd2ff; --lumi-sys-color--stroke-default: #2d2f38; --lumi-sys-color--chart-series-1: #9dd2ff; --lumi-sys-color--chart-series-2: #96a7d6; --lumi-sys-color--chart-series-3: #50e389; --lumi-sys-color--chart-series-4: #c8f585; --lumi-sys-color--chart-series-5: #f5f2e6; --lumi-sys-color--chart-series-6: #dcd8c0; --lumi-sys-color--chart-series-7: #82c7ff; --lumi-sys-color--chart-series-8: #f5d77f; --lumi-sys-color--chart-series-9: #d9ceff; --lumi-sys-color--chart-series-10: #ffa6d7; } #sfn-calc-wp-widget *, #sfn-calc-wp-widget *::before, #sfn-calc-wp-widget *::after { box-sizing: border-box; } #sfn-calc-wp-widget svg text { stroke: none; paint-order: fill; } /* Typography */ #sfn-calc-wp-widget .lumi-display-s { font-family: var(--ff-sans); font-size: 2rem; line-height: 2.375rem; font-weight: 360; } #sfn-calc-wp-widget .lumi-headline-m { font-family: var(--ff-sans); font-size: 1.5rem; line-height: 1.75rem; font-weight: 450; } #sfn-calc-wp-widget .lumi-headline-s { font-family: var(--ff-sans); font-size: 1.25rem; line-height: 1.5rem; font-weight: 470; } #sfn-calc-wp-widget .lumi-body-m { font-family: var(--ff-sans); font-size: 0.9375rem; line-height: 1.25rem; font-weight: 400; } #sfn-calc-wp-widget .lumi-body-s { font-family: var(--ff-sans); font-size: 0.8125rem; line-height: 1.0625rem; font-weight: 400; } #sfn-calc-wp-widget .lumi-caption { font-family: var(--ff-mono); font-style: italic; font-size: 13px; line-height: 20px; font-weight: 400; } #sfn-calc-wp-widget .lumi-code { font-family: var(--ff-mono); font-size: 15px; line-height: 20px; font-weight: 400; } /* Buttons & Chips (Scoped) */ #sfn-calc-wp-widget button { appearance: none; -webkit-appearance: none; display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 36px; padding: 8px 18px; font-family: var(--ff-sans); font-size: 13px; font-weight: 500; line-height: 18px; color: var(--on-surface); background-color: var(--surface-bright); border: 1px solid var(--stroke-default); border-radius: 999px; cursor: pointer; user-select: none; transition: background-color 0.15s, color 0.15s, border-color 0.15s, transform 0.1s; text-decoration: none; margin: 0; } #sfn-calc-wp-widget button:hover { background-color: var(--surface-container-high); } #sfn-calc-wp-widget button:active { transform: scale(0.98); } #sfn-calc-wp-widget .lumi-btn.is-selected, #sfn-calc-wp-widget .lumi-btn[aria-pressed="true"] { background-color: var(--accent-container); color: var(--on-surface); border-color: transparent; } #sfn-calc-wp-widget .lumi-chip { min-height: 36px; padding: 0 16px; font-size: 13px; font-weight: 500; color: var(--on-surface); background: var(--surface-bright); border: 1px solid var(--stroke-default); border-radius: 999px; } #sfn-calc-wp-widget .lumi-chip.is-active, #sfn-calc-wp-widget .lumi-chip[aria-pressed="true"] { color: var(--accent-fixed); background: var(--accent-container); border-color: transparent; font-weight: 600; } /* Slider (Scoped) */ #sfn-calc-wp-widget .lumi-slider { appearance: none; -webkit-appearance: none; width: calc(100% + 28px); margin: 0 -14px; height: 40px; background: transparent; cursor: pointer; border: none; padding: 0; } #sfn-calc-wp-widget .lumi-slider:focus { outline: none; } #sfn-calc-wp-widget .lumi-slider::-webkit-slider-runnable-track { height: 4px; --thumb-center: calc(14px + (100% - 28px) * (var(--progress, 11.76%) / 100%)); --active-end: calc(var(--thumb-center) - 8px + (var(--progress, 11.76%) / 100%) * 6px); background-image: radial-gradient(circle at calc(100% - 18px) center, var(--on-surface-variant) 2px, transparent 2.5px), linear-gradient(to right, transparent 0, transparent 14px, var(--on-surface) 14px, var(--on-surface) var(--active-end), transparent var(--active-end), transparent calc(var(--thumb-center) + 8px), var(--stroke-default) calc(var(--thumb-center) + 8px), var(--stroke-default) calc(100% - 16px), transparent calc(100% - 16px), transparent 100%); border-radius: 999px; } #sfn-calc-wp-widget .lumi-slider::-webkit-slider-thumb { appearance: none; -webkit-appearance: none; width: 32px; height: 32px; border-radius: 50%; background-color: transparent; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Crect x='14' y='6' width='4' height='20' rx='2' fill='%23000000'/%3E%3C/svg%3E"); background-size: 32px 32px; background-repeat: no-repeat; background-position: center; border: none; margin-top: -14px; cursor: pointer; transition: background-color 0.15s; } #sfn-calc-wp-widget[data-theme="dark"] .lumi-slider::-webkit-slider-thumb, body.dark-mode #sfn-calc-wp-widget .lumi-slider::-webkit-slider-thumb { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Crect x='14' y='6' width='4' height='20' rx='2' fill='%23ffffff'/%3E%3C/svg%3E"); } #sfn-calc-wp-widget .lumi-slider:hover::-webkit-slider-thumb { background-color: var(--on-surface-low); } #sfn-calc-wp-widget .lumi-slider-value { display: flex; align-items: center; justify-content: center; min-width: 72px; height: 40px; padding: 0 12px; background-color: var(--surface-bright); border-radius: 16px; font-family: var(--ff-sans); font-size: 15px; font-weight: 540; font-variant-numeric: tabular-nums; color: var(--on-surface); } /* Layout Components */ #sfn-calc-wp-widget .outer-deck { background-color: var(--surface-bright); border: 1px solid var(--stroke-default); border-radius: var(--r-container, 40px); padding: 24px; display: flex; flex-direction: column; gap: 20px; box-shadow: var(--lumi-sys-elevation--level1); } #sfn-calc-wp-widget .header-block { display: flex; flex-direction: column; gap: 6px; } #sfn-calc-wp-widget .header-block h2, #sfn-calc-wp-widget .header-block p { margin: 0; color: var(--on-surface); } #sfn-calc-wp-widget .metrics-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; } #sfn-calc-wp-widget .metric-card { background-color: var(--surface-dim); border-radius: var(--r-l, 24px); padding: 16px; display: flex; flex-direction: column; justify-content: space-between; gap: 8px; transition: background-color 0.2s ease; } #sfn-calc-wp-widget .metric-card.is-highlighted { background-color: var(--accent-container); } #sfn-calc-wp-widget .metric-label, #sfn-calc-wp-widget .metric-val { color: var(--on-surface); margin: 0; } #sfn-calc-wp-widget .metric-value-row { display: flex; align-items: baseline; gap: 6px; flex-wrap: wrap; } #sfn-calc-wp-widget .metric-unit, #sfn-calc-wp-widget .metric-sub { color: var(--on-surface-variant); margin: 0; } #sfn-calc-wp-widget .titration-box { background-color: var(--surface-dim); border-radius: var(--r-l, 24px); padding: 16px 20px; display: flex; flex-direction: column; gap: 10px; } #sfn-calc-wp-widget .titration-header { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; } #sfn-calc-wp-widget .titration-track { width: 100%; height: 10px; background-color: var(--on-surface-low); border-radius: 999px; overflow: hidden; position: relative; } #sfn-calc-wp-widget .titration-fill { height: 100%; background-color: var(--on-surface); border-radius: 999px; transition: width 0.25s cubic-bezier(0.22, 1, 0.36, 1); } #sfn-calc-wp-widget .titration-steps { display: flex; justify-content: space-between; gap: 8px; flex-wrap: wrap; } #sfn-calc-wp-widget .chart-panel { display: flex; flex-direction: column; gap: 12px; } #sfn-calc-wp-widget .chart-top-bar { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 8px; } #sfn-calc-wp-widget .lumi-chart-legend { display: flex; justify-content: center; align-items: center; gap: 24px; margin-top: 12px; width: 100%; flex-wrap: wrap; } #sfn-calc-wp-widget .lumi-legend-item { display: inline-flex; align-items: center; gap: 8px; } #sfn-calc-wp-widget .lumi-legend-dot { width: 16px; height: 16px; border-radius: 50%; flex-shrink: 0; display: inline-block; } #sfn-calc-wp-widget .lumi-legend-label { font-family: var(--ff-mono); font-style: italic; font-size: 13px; line-height: 20px; color: var(--on-surface); } #sfn-calc-wp-widget .control-panel { background-color: var(--surface-dim); border-radius: var(--r-l, 24px); padding: 20px; display: flex; flex-direction: column; gap: 16px; } #sfn-calc-wp-widget .control-row-top { display: flex; justify-content: space-between; align-items: center; gap: 12px; } #sfn-calc-wp-widget .toggle-strip { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; } @media (max-width: 560px) { #sfn-calc-wp-widget .outer-deck { padding: 18px; border-radius: 28px; } #sfn-calc-wp-widget .metrics-grid { grid-template-columns: 1fr; } }
Phác đồ Liều lượng Sulforaphane & Glucoraphanin
Chuẩn hóa theo thử nghiệm lâm sàng Đại học Johns Hopkins (Zimmerman 2021: 2,1 μmol/kg/ngày & Singh 2014)
Sulforaphane hoạt tính
Liều mục tiêu: 42 μmol/ngày (≈ 0,37 mg/kg)
Glucoraphanin + Myrosinase
Tra trên nhãn chiết xuất hạt/mầm bông cải xanh
Liều khởi đầu (Tuần 1)
Dò liều 30% (≈ 2,2 mg SFN hoạt tính) trong 7 ngày
Không thể tải biểu đồ
Vui lòng thử tải lại trang.
3. Tự tạo Sulforaphane từ Mầm bông cải xanh (broccoli sprouts)
Nếu tôi tự trồng mầm bông cải xanh (broccoli sprouts) tại nhà cho bé ăn, thì cần bao nhiêu gam rau mầm tươi mỗi ngày để tương đương với liều Sulforaphane trong nghiên cứu của Johns Hopkins?
Mầm bông cải xanh (broccoli sprouts) thu hoạch ở ngày thứ 3 đến ngày thứ 5 chứa lượng tiền chất Glucoraphanin cao gấp 20 đến 100 lần so với cây súp lơ xanh trưởng thành. Tuy nhiên, lượng rau mầm tươi cần ăn mỗi ngày phụ thuộc rất lớn vào cách bạn sơ chế trước khi xay cho bé.
Dựa trên số liệu phân tích định lượng của Phòng thí nghiệm Hóa bảo vệ Cullman (thuộc Đại học Johns Hopkins), trung bình 1 gam mầm bông cải xanh tươi (3–5 ngày tuổi) chứa khoảng 2.5−3.5 mg Glucoraphanin.
-
Nếu xay sống thông thường: Một loại protein nội sinh trong mầm rau có tên là ESP (Epithiospecifier protein) sẽ “cướp” mất 75%–80% quá trình chuyển hóa và biến Glucoraphanin thành Sulforaphane Nitrile (một chất hoàn toàn vô tác dụng). Khi đó, rau mầm tươi chỉ tạo ra được khoảng 0.3−0.4 mg Sulforaphane.
-
Nếu chần qua nước nóng 70∘C trong đúng 10 phút trước khi xay (hoặc xay kèm một nhúm bột hạt mù tạt): Nhiệt độ 70∘C sẽ tiêu diệt hoàn toàn protein phá hoại ESP nhưng vẫn giữ nguyên vẹn 100% enzyme quý Myrosinase. Nhờ đó, lượng Sulforaphane thu được tăng gấp 3.5 lần, đạt tới 1.0−1.3 mg Sulforaphane trên mỗi 1g rau mầm tươi.
3.1. Bảng quy đổi lượng mầm bông cải xanh tươi cần dùng mỗi ngày (theo chuẩn Johns Hopkins)
Dưới đây là lượng rau mầm tươi đã ráo nước (tính bằng gam) tương ứng với công thức liều lâm sàng của Johns Hopkins (≈2.1−2.2 μmol/kg hay ≈0.37 mg Sulforaphane/kg cân nặng):
(Lợi ích cực lớn của phương pháp xử lý nhiệt 70∘C là bé chỉ cần uống một lượng mầm cực ít — chỉ khoảng 5g đến 10g mỗi ngày — nên giảm được tối đa vị hăng nồng và không làm bé bị đầy bụng).
3.2. Quy trình 4 bước “Nhân 3.5 lần hoạt chất” và Cấp đông dùng cả tuần
Trẻ tự kỷ rất nhạy cảm về vị giác và khứu giác, hơn nữa việc ngày nào cũng lích kích chế biến vài gam rau mầm rất mất thời gian. Bạn có thể làm 1 mẻ vào cuối tuần và đông đá thành từng viên nhỏ (Sulforaphane sau khi đã hình thành cực kỳ bền vững ở nhiệt độ đông đá −18∘C):
Bước 1: Thu hoạch đúng “Ngày vàng” (Ngày 3 đến Ngày 5)

-
Thời điểm thu hoạch: Thu hoạch ngay khi mầm đạt từ 3 đến 5 ngày tuổi.
-
Nguyên tắc cốt lõi: Không để mầm mọc quá dài thành lá xanh lớn (microgreens) vì tổng lượng tiền chất Glucoraphanin trong mỗi hạt là cố định — mầm càng lớn thì nồng độ hoạt chất tính trên mỗi gam trọng lượng càng bị pha loãng.
-
Nhận biết mầm khỏe: Lớp lông tơ trắng muốt mọc quanh chân rễ vào ngày thứ 3 là lông hút nước tự nhiên (root hairs), hoàn toàn không có mùi hôi, đừng nhầm lẫn với nấm mốc mà bỏ đi.
Bước 2: Ngâm nước ấm 70∘C trong 10 phút (Bước quyết định)

-
Công thức pha nước không cần nhiệt kế: Pha theo tỷ lệ 2 phần nước sôi (100∘C) + 1 phần nước lọc nguội (25∘C) sẽ cho ra mức nhiệt xấp xỉ 70∘C (hoặc kiểm tra trực tiếp bằng nhiệt kế bếp).
-
Thao tác: Thả toàn bộ mầm tươi vào ngâm đúng 10 phút, sau đó vớt ra xả nhanh qua nước mát. Mức nhiệt 70∘C giúp bất hoạt protein ESP (vốn làm chệch hướng phản ứng sang chất không có tác dụng), trong khi vẫn giữ nguyên vẹn enzyme Myrosinase, giúp lượng Sulforaphane tạo thành tăng gấp 3.5 lần.
-
Cảnh báo nhiệt độ & Mẹo cứu nguy: Tuyệt đối không dùng nước trên 80∘C vì sẽ làm chết luôn enzyme Myrosinase. Nếu lỡ tay pha nước quá nóng, khi chuyển sang bước xay bạn chỉ cần rắc thêm 1 đầu tăm bột hạt mù tạt vàng (mustard seed powder) hoặc vài cọng cải củ/cải xoong sống vào cối xay để bổ sung lại enzyme Myrosinase.
Bước 3: Xay nhuyễn và chờ 15–20 phút để kích hoạt phản ứng

-
Xay phá vỡ tế bào: Cho mầm đã chần vào máy xay cùng một ít nước lọc, thêm vài giọt nước cốt chanh hoặc vài miếng dứa/táo (môi trường hơi chua giàu Vitamin C giúp bảo vệ Sulforaphane không bị oxy hóa).
-
Thời gian nghỉ bắt buộc: Sau khi xay nhuyễn mịn, để yên hỗn hợp ở nhiệt độ phòng trong 15 – 20 phút trước khi đem cấp đông. Đây là khoảng thời gian bắt buộc để enzyme Myrosinase tiếp xúc và cắt toàn bộ Glucoraphanin thành Sulforaphane hoạt tính.
Bước 4: Đổ khuôn đá viên và bảo quản ở −18∘C

-
Chia liều theo ngày: Đổ hỗn hợp vào khay đá silicon có nắp đậy sao cho mỗi ô tương ứng chính xác với liều 1 ngày của bé (ví dụ mỗi ô tương ứng 5 g hoặc 8 g mầm tươi).
-
Cách dùng mỗi sáng: Lấy 1 viên ra khỏi tủ đông, để rã đông tự nhiên trong 15 phút hoặc trộn thẳng vào sinh tố chuối, xoài, sữa chua, sốt táo cho bé dùng ngay sau bữa sáng (không pha vào cháo/súp đang nóng trên 40∘C).
3.3. Hai nguyên tắc an toàn bắt buộc khi tự trồng mầm cho trẻ nhỏ
-
Chọn hạt giống chuyên dụng (Sprouting seeds): Chỉ mua hạt giống hữu cơ ghi rõ nhãn For Sprouting / Microgreens. Tuyệt đối không mua hạt giống trồng cây nông nghiệp vì thường được tẩm hóa chất chống nấm mốc rất độc.
-
Kiểm soát vi sinh vật: Môi trường ủ mầm ẩm ướt rất dễ phát sinh vi khuẩn Salmonella hoặc E. coli. Bước ngâm nước 70∘C trong 10 phút vừa giúp nhân 3.5 lần hoạt chất, vừa đóng vai trò thanh trùng bề mặt mầm rau,bảo vệ hệ tiêu hóa nhạy cảm của trẻ.
Bạn có thể sử dụng công cụ tính toán dưới đây để nhập Cân nặng của bé và chọn Phương pháp chế biến, hệ thống sẽ tính chính xác số gam mầm tươi cần dùng mỗi ngày và lượng hạt khô cần ngâm cho cả tuần:
/* Cô lập toàn bộ biến và style bên trong #sprout-calc-wp-widget */ #sprout-calc-wp-widget { --ff-sans: 'Google Sans Flex', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; --ff-mono: 'Google Sans Code', monospace; --lumi-sys-spacing--xxs: 2px; --lumi-sys-spacing--xs: 4px; --lumi-sys-spacing--s: 8px; --lumi-sys-spacing--m: 12px; --lumi-sys-spacing--l: 16px; --lumi-sys-spacing--xl: 20px; --lumi-sys-spacing--xxl: 24px; --lumi-sys-spacing--3xl: 28px; --lumi-sys-spacing--4xl: 36px; --lumi-sys-shape--extra-small: 4px; --lumi-sys-shape--small: 8px; --lumi-sys-shape--medium: 12px; --lumi-sys-shape--large: 16px; --lumi-sys-shape--large-max: 24px; --lumi-sys-shape--xl: 28px; --lumi-sys-shape--xl-max: 40px; --lumi-sys-shape--full: 999px; --lumi-sys-elevation--level1: 0 0 20px 0 rgba(0, 0, 0, 0.04); --lumi-sys-elevation--level2: 0 0 20px 0 rgba(0, 0, 0, 0.11); --lumi-sys-color--surface: #fdfcfc; --lumi-sys-color--surface-dim: #f2f0f0; --lumi-sys-color--surface-bright: #ffffff; --lumi-sys-color--surface-container: #f2f0f0; --lumi-sys-color--surface-container-high: #e6e6e6; --lumi-sys-color--on-surface: #000000; --lumi-sys-color--on-surface-default: #000000; --lumi-sys-color--on-surface-variant: rgba(0, 0, 0, 0.55); --lumi-sys-color--on-surface-de-emphasis: rgba(0, 0, 0, 0.55); --lumi-sys-color--on-surface-low: rgba(0, 0, 0, 0.08); --lumi-sys-color--accent: #9dd2ff; --lumi-sys-color--accent-container: #dcf1ff; --lumi-sys-color--accent-fixed: #3186ff; --lumi-sys-color--primary: #3186ff; --lumi-sys-color--stroke-default: #e3e3e3; --lumi-sys-color--chart-series-1: #2575fc; --lumi-sys-color--chart-series-2: #5b6e9e; --lumi-sys-color--chart-series-3: #228a49; --lumi-sys-color--chart-series-4: #62991b; --lumi-sys-color--chart-series-5: #1e564d; /* Aliases */ --surface: var(--lumi-sys-color--surface); --surface-dim: var(--lumi-sys-color--surface-dim); --surface-bright: var(--lumi-sys-color--surface-bright); --surface-container: var(--lumi-sys-color--surface-container); --surface-container-high: var(--lumi-sys-color--surface-container-high); --on-surface: var(--lumi-sys-color--on-surface); --on-surface-variant: var(--lumi-sys-color--on-surface-variant); --on-surface-low: var(--lumi-sys-color--on-surface-low); --primary: var(--lumi-sys-color--primary); --accent: var(--lumi-sys-color--accent); --accent-container: var(--lumi-sys-color--accent-container); --accent-fixed: var(--lumi-sys-color--accent-fixed); --stroke-default: var(--lumi-sys-color--stroke-default); --chart-1: var(--lumi-sys-color--chart-series-1); --chart-2: var(--lumi-sys-color--chart-series-2); --chart-3: var(--lumi-sys-color--chart-series-3); --chart-4: var(--lumi-sys-color--chart-series-4); --chart-5: var(--lumi-sys-color--chart-series-5); --spacing-xs: var(--lumi-sys-spacing--xs); --spacing-s: var(--lumi-sys-spacing--s); --spacing-m: var(--lumi-sys-spacing--m); --spacing-l: var(--lumi-sys-spacing--l); --spacing-xl: var(--lumi-sys-spacing--xl); --r-container: var(--lumi-sys-shape--xl-max); --r-l: var(--lumi-sys-shape--large-max); --r-m: var(--lumi-sys-shape--large); --r-full: var(--lumi-sys-shape--full); width: 100%; max-width: 708px; margin: 24px auto; font-family: var(--ff-sans); color: var(--on-surface); box-sizing: border-box; line-height: 1.5; -webkit-font-smoothing: antialiased; } /* Hỗ trợ Dark Mode */ #sprout-calc-wp-widget[data-theme="dark"], body.dark-mode #sprout-calc-wp-widget { --lumi-sys-color--surface: #0f0f0f; --lumi-sys-color--surface-dim: #141414; --lumi-sys-color--surface-bright: #1c1c1c; --lumi-sys-color--surface-container: #141414; --lumi-sys-color--surface-container-high: #1c1c1c; --lumi-sys-color--on-surface: #e0e0e0; --lumi-sys-color--on-surface-default: #e0e0e0; --lumi-sys-color--on-surface-variant: rgba(255, 255, 255, 0.55); --lumi-sys-color--on-surface-de-emphasis: rgba(255, 255, 255, 0.55); --lumi-sys-color--on-surface-low: rgba(255, 255, 255, 0.12); --lumi-sys-color--accent: #1f3b9b; --lumi-sys-color--accent-container: #192967; --lumi-sys-color--accent-fixed: #3186ff; --lumi-sys-color--primary: #9dd2ff; --lumi-sys-color--stroke-default: #2d2f38; --lumi-sys-color--chart-series-1: #9dd2ff; --lumi-sys-color--chart-series-2: #96a7d6; --lumi-sys-color--chart-series-3: #50e389; --lumi-sys-color--chart-series-4: #c8f585; --lumi-sys-color--chart-series-5: #f5f2e6; } #sprout-calc-wp-widget *, #sprout-calc-wp-widget *::before, #sprout-calc-wp-widget *::after { box-sizing: border-box; } /* Typography */ #sprout-calc-wp-widget .lumi-display-s { font-family: var(--ff-sans); font-size: 2rem; line-height: 2.375rem; font-weight: 360; } #sprout-calc-wp-widget .lumi-headline-m { font-family: var(--ff-sans); font-size: 1.5rem; line-height: 1.75rem; font-weight: 450; } #sprout-calc-wp-widget .lumi-headline-s { font-family: var(--ff-sans); font-size: 1.25rem; line-height: 1.5rem; font-weight: 470; } #sprout-calc-wp-widget .lumi-body-m { font-family: var(--ff-sans); font-size: 0.9375rem; line-height: 1.25rem; font-weight: 400; } #sprout-calc-wp-widget .lumi-body-s { font-family: var(--ff-sans); font-size: 0.8125rem; line-height: 1.0625rem; font-weight: 400; } #sprout-calc-wp-widget .lumi-body-s-emphasized { font-family: var(--ff-sans); font-size: 0.8125rem; line-height: 1.0625rem; font-weight: 550; font-variant-numeric: tabular-nums; } #sprout-calc-wp-widget .lumi-caption { font-family: var(--ff-mono); font-style: italic; font-size: 13px; line-height: 20px; font-weight: 400; } #sprout-calc-wp-widget .lumi-code { font-family: var(--ff-mono); font-size: 15px; line-height: 20px; font-weight: 400; } /* Buttons (Scoped) */ #sprout-calc-wp-widget button { appearance: none; -webkit-appearance: none; display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 36px; padding: 8px 18px; font-family: var(--ff-sans); font-size: 13px; font-weight: 500; line-height: 18px; color: var(--on-surface); background-color: var(--surface-bright); border: 1px solid var(--stroke-default); border-radius: 999px; cursor: pointer; user-select: none; transition: background-color 0.15s, color 0.15s, border-color 0.15s, transform 0.1s; text-decoration: none; margin: 0; } #sprout-calc-wp-widget button:hover { background-color: var(--surface-container-high); } #sprout-calc-wp-widget button:active { transform: scale(0.98); } #sprout-calc-wp-widget .lumi-btn.is-selected, #sprout-calc-wp-widget .lumi-btn[aria-pressed="true"] { background-color: var(--accent-container); color: var(--on-surface); border-color: transparent; } /* Slider (Scoped) */ #sprout-calc-wp-widget .lumi-slider-row { display: flex; flex-direction: column; gap: var(--spacing-xs, 4px); width: 100%; } #sprout-calc-wp-widget .lumi-slider { appearance: none; -webkit-appearance: none; width: calc(100% + 28px); margin: 0 -14px; height: 40px; background: transparent; cursor: pointer; border: none; padding: 0; } #sprout-calc-wp-widget .lumi-slider:focus { outline: none; } #sprout-calc-wp-widget .lumi-slider::-webkit-slider-runnable-track { height: 4px; --thumb-center: calc(14px + (100% - 28px) * (var(--progress, 14.28%) / 100%)); --active-end: calc(var(--thumb-center) - 8px + (var(--progress, 14.28%) / 100%) * 6px); background-image: radial-gradient(circle at calc(100% - 18px) center, var(--on-surface-variant) 2px, transparent 2.5px), linear-gradient(to right, transparent 0, transparent 14px, var(--on-surface) 14px, var(--on-surface) var(--active-end), transparent var(--active-end), transparent calc(var(--thumb-center) + 8px), var(--stroke-default) calc(var(--thumb-center) + 8px), var(--stroke-default) calc(100% - 16px), transparent calc(100% - 16px), transparent 100%); border-radius: 999px; } #sprout-calc-wp-widget .lumi-slider::-webkit-slider-thumb { appearance: none; -webkit-appearance: none; width: 32px; height: 32px; border-radius: 50%; background-color: transparent; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Crect x='14' y='6' width='4' height='20' rx='2' fill='%23000000'/%3E%3C/svg%3E"); background-size: 32px 32px; background-repeat: no-repeat; background-position: center; border: none; margin-top: -14px; cursor: pointer; transition: background-color 0.15s; } #sprout-calc-wp-widget[data-theme="dark"] .lumi-slider::-webkit-slider-thumb, body.dark-mode #sprout-calc-wp-widget .lumi-slider::-webkit-slider-thumb { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Crect x='14' y='6' width='4' height='20' rx='2' fill='%23ffffff'/%3E%3C/svg%3E"); } #sprout-calc-wp-widget .lumi-slider:hover::-webkit-slider-thumb { background-color: var(--on-surface-low); } #sprout-calc-wp-widget .lumi-slider-value { display: flex; align-items: center; justify-content: center; min-width: 64px; height: 40px; padding: 0 12px; background-color: var(--surface-dim); border-radius: 16px; font-family: var(--ff-sans); font-size: 15px; font-weight: 540; font-variant-numeric: tabular-nums; color: var(--on-surface); } /* Layout Components */ #sprout-calc-wp-widget .outer-shell { background-color: var(--surface-bright); border: 1px solid var(--stroke-default); border-radius: var(--r-container, 40px); padding: var(--spacing-xl, 20px); display: flex; flex-direction: column; gap: var(--spacing-xl, 20px); box-shadow: var(--lumi-sys-elevation--level1); } @media (min-width: 520px) { #sprout-calc-wp-widget .outer-shell { padding: 28px; } } #sprout-calc-wp-widget .header-block { display: flex; flex-direction: column; gap: var(--spacing-xs, 4px); } #sprout-calc-wp-widget .header-meta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--spacing-s, 8px); } #sprout-calc-wp-widget .target-pill { background-color: var(--surface-dim); color: var(--on-surface); border-radius: var(--r-full, 999px); padding: 6px 14px; display: inline-flex; align-items: center; gap: 6px; } #sprout-calc-wp-widget .metrics-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(175px, 1fr)); gap: var(--spacing-m, 12px); } #sprout-calc-wp-widget .metric-box { background-color: var(--surface-dim); border-radius: var(--r-l, 24px); padding: var(--spacing-l, 16px); display: flex; flex-direction: column; justify-content: space-between; gap: var(--spacing-xs, 4px); } #sprout-calc-wp-widget .metric-unit { color: var(--on-surface-variant); margin-inline-start: 4px; } #sprout-calc-wp-widget .controls-section { display: flex; flex-direction: column; gap: var(--spacing-l, 16px); padding-top: var(--spacing-xs, 4px); } #sprout-calc-wp-widget .slider-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: var(--spacing-xs, 4px); } #sprout-calc-wp-widget .method-group { display: flex; flex-direction: column; gap: var(--spacing-s, 8px); } #sprout-calc-wp-widget .method-buttons { display: flex; flex-wrap: wrap; gap: var(--spacing-s, 8px); } #sprout-calc-wp-widget .method-note { background-color: var(--surface-dim); border-radius: var(--r-m, 16px); padding: 12px 16px; display: flex; flex-direction: column; gap: 4px; } #sprout-calc-wp-widget .chart-section { display: flex; flex-direction: column; gap: var(--spacing-s, 8px); } #sprout-calc-wp-widget .chart-header { display: flex; justify-content: space-between; align-items: baseline; flex-wrap: wrap; gap: var(--spacing-xs, 4px); } #sprout-calc-wp-widget .footnote-bar { padding-top: var(--spacing-xs, 4px); border-top: 1px solid var(--on-surface-low); display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--spacing-s, 8px); }
Quy đổi theo phác đồ Đại học Johns Hopkins (2,1 μmol/kg/ngày) cho mầm tươi 4 ngày tuổi
So sánh lượng mầm tươi cần ăn mỗi ngày (g/ngày)
Càng ít gam càng dễ cho bé uốngKhông thể tải biểu đồ
Vui lòng thử tải lại trang.
3.4. Nếu là thực phẩm chức năng, có sản phẩm nào nổi tiếng không?
Trong giới y sinh học (đặc biệt là cộng đồng can thiệp tự kỷ tại Mỹ và châu Âu), thị trường TPCN Sulforaphane được sàng lọc rất khắt khe vì nhiều dòng giá rẻ trên Amazon thực chất chỉ là “bột bông cải xanh sấy khô” không còn hoạt tính.
Dưới đây là 5 thương hiệu nổi tiếng, uy tín nhất đã được kiểm chứng qua các thử nghiệm lâm sàng độc lập (của Johns Hopkins, Đại học Bắc Carolina…) và được các bác sĩ Y sinh (MAPS doctors) khuyên dùng nhiều nhất:
1. Avmacol (của hãng Nutramax Laboratories – Mỹ) — “Tiêu chuẩn vàng” trong nghiên cứu
-
Vì sao nổi tiếng nhất? Đây chính là sản phẩm đích danh được Đại học Johns Hopkins chọn sử dụng trong các thử nghiệm lâm sàng chính thức về tự kỷ (nghiên cứu của GS. Zimmerman năm 2021), cũng như hàng chục thử nghiệm tại Mỹ.
-
Cơ chế: Chứa bộ đôi chuẩn hóa Glucoraphanin (từ hạt bông cải xanh) + Enzyme Myrosinase hoạt tính.
-
Các dòng sản phẩm phù hợp cho trẻ:
-
Avmacol Regular Strength (Viên nén tiêu chuẩn): Mỗi viên cung cấp khoảng 15 mg Glucoraphanin (chuyển hóa ra khoảng 5–6 mg Sulforaphane thực tế).
-
Avmacol Extra Strength: Hàm lượng gấp đôi (khoảng 30 mg Glucoraphanin/viên), ngoài ra có bổ sung thêm chiết xuất nấm Maitake giúp tăng hấp thu.
-
-
Ưu/Nhược điểm: Độ tin cậy và tính ổn định số 1. Nhược điểm là dạng viên nén (tablet) nên với trẻ nhỏ phải dùng dụng cụ nghiền thuốc (pill crusher) nghiền mịn rồi trộn vào sốt táo hoặc sữa chua.
2. BrocElite (của hãng Mara Labs – Mỹ) — Dạng Sulforaphane tự do ổn định hóa
-
Vì sao nổi tiếng? Do cựu nhà nghiên cứu từ Johns Hopkins đồng sáng lập. Thay vì bắt cơ thể tự chuyển hóa trong ruột, hãng dùng công nghệ chiết xuất tự nhiên để tạo ra Sulforaphane tự do đã được ổn định hóa (Stabilized Free Sulforaphane) ngay trong viên nang.
-
Hàm lượng: Mỗi viên chứa 5 mg Sulforaphane thực tế (kèm theo PEITC – một hợp chất chống viêm thần kinh khác từ họ cải).
-
Ưu/Nhược điểm: Không phụ thuộc vào việc đường ruột của trẻ tốt hay xấu, uống vào hấp thu thẳng. Viên nang (capsule) rất nhỏ, có thể tháo vỏ nang đổ bột ra pha cho trẻ (nhưng bột có vị hơi cay nồng đặc trưng nên cần giấu kỹ trong đồ ăn có vị đậm).
3. Prostaphane (của hãng Nutrinov – Pháp) — Dạng chuẩn y khoa châu Âu
-
Vì sao nổi tiếng? Trước khi có BrocElite, Prostaphane của Pháp là sản phẩm duy nhất trên thế giới chiết xuất được Sulforaphane tự do ổn định từ hạt bông cải xanh và được bác sĩ Rhonda Patrick (chuyên gia hàng đầu thế giới về Sulforaphane) đánh giá cao nhất.
-
Hàm lượng: Mỗi viên rất nhỏ, chứa chính xác 10 mg Sulforaphane tự do.
-
Ưu/Nhược điểm: Chất lượng cực kỳ cao, viên bé xíu như hạt đậu nên trẻ trên 5–6 tuổi tập nuốt viên rất dễ. Nhược điểm là hàng nội địa Pháp, thường phải đặt mua qua các nhà phân phối châu Âu và cần bảo quản mát cẩn thận khi vận chuyển về Việt Nam.
4. BROQ (Mỹ) — Bản sao công nghệ của Prostaphane tại thị trường Mỹ
-
Sử dụng chính nguồn nguyên liệu độc quyền của Nutrinov (Pháp) nhưng đóng gói và phân phối tại Mỹ. Mỗi viên chứa 10 mg Sulforaphane tự do ổn định. Nếu bạn mua hàng từ Mỹ (ship về Việt Nam) thì tìm mua BROQ sẽ dễ hơn Prostaphane.
5. Jarrow Formulas BroccoMax (Mỹ) — Lựa chọn kinh tế, dễ mua nhất
-
Vì sao nổi tiếng? Là dòng phổ thông lâu đời, rất dễ tìm mua trên iHerb hoặc các shop hàng Mỹ với mức giá chỉ bằng 1/3 đến 1/4 so với Avmacol hay BrocElite.
-
Thành phần: Mỗi viên nang chứa khoảng 17.5 mg Glucoraphanin cùng với enzyme Myrosinase hoạt tính.
-
Lưu ý cực kỳ quan trọng khi dùng cho trẻ nhỏ: Viên nang của BroccoMax sử dụng vỏ nang kháng axit dạ dày (Delayed-release capsule – DRcaps) để bảo vệ enzyme Myrosinase xuống tới ruột non. Nếu trẻ biết nuốt nguyên viên thì hiệu quả rất tốt. Nhưng nếu bạn tháo vỏ nang ra trộn vào thức ăn, axit dạ dày sẽ phá hủy một phần enzyme Myrosinase.
-
Mẹo khắc phục nếu tháo vỏ nang BroccoMax: Khi trộn bột thuốc vào thức ăn cho bé, hãy rắc thêm một đầu tăm bột hạt mù tạt hữu cơ (Organic Mustard Seed Powder) — enzyme Myrosinase trong hạt mù tạt cực kỳ bền với axit dạ dày, giúp cứu vãn hoàn toàn quá trình chuyển hóa.
-
Bảng so sánh nhanh để bạn dễ chọn cho bé
Kinh nghiệm tránh mua nhầm hàng “vô tác dụng”
Khi lướt tìm mua TPCN cho bé, nếu bạn thấy một lọ ghi “Broccoli Sprout Extract 500mg” hoặc “Sulforaphane 400mcg” nhưng nhìn vào bảng thành phần (Supplement Facts):
-
Không hề có chữ “Myrosinase” (và cũng không phải dạng Stabilized Free Sulforaphane).
-
Hoặc ghi hàm lượng chỉ tính bằng mcg (microgam) (ví dụ 400 mcg=0.4, tức là phải uống tới 20 viên mới bằng 1 liều nghiên cứu của Johns Hopkins). Hãy bỏ qua ngay những lọ này vì uống vào hầu như không có tác
Giải Mã 6 Dạng "Nói Lặp, Độc Thoại" Ở Trẻ Tự Kỷ, Chậm Nói Và Cách Hỗ Trợ Đúng Đắn
Khi thấy con hay nói lẩm bẩm một mình, phát ra âm thanh vô nghĩa hoặc lặp đi lặp lại một câu nói, nhiều cha mẹ thường gọi đó là “nói nhảm” và tìm cách bắt con im lặng.
Thực chất, ở trẻ rối loạn phổ tự kỷ, chậm phát triển hay rối loạn ngôn ngữ, mỗi âm thanh phát ra đều có một “nhiệm vụ” riêng đối với não bộ và cảm xúc của trẻ. Thay vì dập tắt, cha mẹ hãy phân biệt 6 dạng dưới đây để giúp con chuyển hóa thành ngôn ngữ giao tiếp thực sự:
1. Phát âm thanh lặp lại để tự kích thích giác quan (Vocal Stimming)
-
Biểu hiện: Trẻ phát ra các chuỗi âm thanh (“a a a…”, “ư ư…”), tiếng động cơ, hoặc lặp đi lặp lại một từ (“xe chạy xe chạy…”) khi ngồi chơi một mình hoặc lúc rảnh rỗi, buồn chán.
-
Nguyên nhân: Hệ thần kinh của trẻ đang “đói” cảm giác. Trẻ dùng âm thanh và độ rung của dây thanh quản để tự kích thích thính giác và cảm giác vùng miệng.
-
Cách hỗ trợ: Đừng bắt con nín. Hãy đáp ứng đúng nhu cầu giác quan của con bằng cách:
-
Kích thích vận động vùng miệng: Cho con thổi bong bóng xà phòng, thổi còi, uống sữa/sinh tố đặc qua ống hút nhỏ, ăn thức ăn giòn/dai.
-
Chuyển hóa thành trò chơi âm thanh: Bắt chước lại chính âm thanh của con nhưng biến tấu cao độ (to – nhỏ, nhanh – chậm) hoặc lồng vào giai điệu bài hát để kéo sự chú ý của con về phía mẹ.
-
Tăng vận động thô (10–15 phút): Nhảy bạt nhún, leo trèo, đẩy vật nặng để giải tỏa năng lượng dư thừa.
-
2. Nhại lời tức thì (Immediate Echolalia)
-
Biểu hiện: Con lặp lại y hệt những gì người khác vừa nói như một cái máy ghi âm. Ví dụ: Mẹ hỏi “Con ăn cơm chưa?”, bé đáp “Ăn cơm chưa?”.
-
Nguyên nhân: Trẻ nghe được nhưng chưa kịp xử lý ý nghĩa câu hỏi, hoặc chưa đủ vốn từ để tự tạo câu trả lời, nên dùng cách lặp lại để duy trì tương tác.
-
Cách hỗ trợ: Tuyệt đối không dùng mệnh lệnh “Con nói đi: Con ăn rồi” (vì trẻ sẽ nhại luôn cả câu “Con nói đi”).
-
Dùng câu hỏi lựa chọn kèm vật thật: Giơ 2 món đồ lên và hỏi “Con ăn bánh hay uống sữa?” (trẻ thường sẽ nhại từ cuối cùng, hãy đưa món con thích ra sau).
-
Làm mẫu từ góc nhìn của con: Mẹ chỉ vào bát cơm trống và nói chậm rãi câu của con: “Con ăn rồi”(không thêm từ dư thừa), chờ 3–5 giây để con bật theo mà không ép buộc.
-
3. Nói theo kịch bản có sẵn (Delayed Echolalia / Scripting)
-
Biểu hiện: Trẻ tự nhiên đọc vanh vách một đoạn quảng cáo, lời thoại phim hoạt hình hoặc câu nói của người lớn từ nhiều ngày trước.
-
Nguyên nhân: Trẻ tự kỷ thường học ngôn ngữ theo cả cụm (Gestalt) thay vì từng từ đơn. Trẻ gắn nguyên một câu thoại trong phim với một cảm xúc hoặc tình huống tương tự ngoài đời thực, nhưng chưa biết cách tách từ để nói theo ý mình.
-
Cách hỗ trợ:
-
Làm “thám tử” tìm ý nghĩa: Quan sát xem con hay nói câu đó khi nào (khi vui, khi sợ, hay khi đòi đồ ăn) để dịch sang câu giao tiếp đúng.
-
Nhập vai và mở rộng hội thoại: Nếu con hô “Siêu nhân xuất hiện!”, đừng phớt lờ. Hãy hưởng ứng: “Wow, siêu nhân bay đi đâu thế?” hoặc “Siêu nhân cứu mẹ với!” để biến câu độc thoại của con thành cuộc trò chuyện hai chiều.
-
4. Độc thoại nhưng thiếu tính hướng đích (Chưa biết giao tiếp hai chiều)
-
Biểu hiện: Trẻ nói rất nhiều, kể lể liên tục hoặc gọi tên đồ vật nhưng mắt không nhìn người nghe, không quan tâm người khác có hiểu hay phản hồi hay không.
-
Nguyên nhân: Trẻ đã có vốn từ nhưng gặp khó khăn về ngôn ngữ xã hội (ngữ dụng) — chưa hiểu rằng ngôn ngữ dùng để kết nối và chia sẻ thông tin với người khác.
-
Cách hỗ trợ:
-
Hạ thấp tầm mắt ngang bằng với con, đưa đồ vật con đang nói tới lên ngang tầm mắt của cha mẹ để thu hút ánh nhìn.
-
Xây dựng các trò chơi cần sự chờ đợi và luân phiên (turn-taking): Chuyền bóng, xếp gỗ từng người một lượt, ú òa, hoặc cố tình làm sai/giấu bớt một chi tiết trong trò chơi quen thuộc để con phải nhìn mẹ và lên tiếng yêu cầu.
-
5. Nói lẩm bẩm khi căng thẳng, lo âu
-
Biểu hiện: Trẻ nói liên hồi, tốc độ nhanh hoặc lặp đi lặp lại một câu hỏi khi đến nơi đông người, vào môi trường lạ, nghe tiếng ồn lớn hoặc khi bị la mắng.
-
Nguyên nhân: Hệ thần kinh của trẻ đang bị quá tải. Việc phát ra những âm thanh quen thuộc giống như một “chiếc chăn an toàn” giúp não bộ tự trấn an và đẩy lùi sự sợ hãi.
-
Cách hỗ trợ: Lúc này không phải là lúc dạy nói, mà là lúc cấp cứu cảm xúc:
-
Đưa con ra góc yên tĩnh, giảm ánh sáng và tiếng ồn.
-
Tác động cảm giác sâu (Deep Pressure) giúp hệ thần kinh dịu lại: Ôm chặt con (nếu con thích), massage ép sâu dọc hai cánh tay và bả vai, hoặc cho con cầm bóng gai, đất nặn để bóp.
-
Nói với con bằng giọng trầm, ngắn gọn và chậm rãi: “Con an toàn rồi, có mẹ ở đây”.
-
6. Nói huyên thuyên do quá phấn khích hoặc trước giờ đi ngủ
-
Biểu hiện: Trẻ nói không ngừng nghỉ, la hét, cười đùa quá mức sau khi xem tivi/điện thoại, khi chơi trò kích thích, hoặc nằm trên giường độc thoại rất lâu không chịu ngủ.
-
Nguyên nhân: Hệ thần kinh giao cảm đang bị kích thích quá mức (hưng phấn cao), não bộ chưa biết cách tự “đạp phanh” để chuyển sang trạng thái nghỉ ngơi. (Riêng việc độc thoại trước khi ngủ đôi khi còn là cách não trẻ tự ôn lại dữ liệu ngôn ngữ đã nghe trong ngày).
-
Cách hỗ trợ: Thiết lập quy trình “hạ nhiệt” cho não bộ:
-
Cắt hoàn toàn thiết bị điện tử (tivi, điện thoại) và các trò chơi đuổi bắt mạnh ít nhất 1–2 giờ trước khi ngủ.
-
Thực hiện chuỗi hoạt động thư giãn cố định: Tắm nước ấm -> Massage nhẹ nhàng lòng bàn chân, lưng -> Đọc sách với giọng đều đều, trầm ấm trong ánh đèn vàng dịu.
-
Tập cho con trò chơi hít thở sâu (ví dụ: hít vào ngửi bông hoa, thở ra thổi tắt ngọn nến).
-
Nguồn: Từ kiến thức can thiệp thực chiến và tổng hợp lại với AI.
[PDF] Kate C. Wilde - Hỗ trợ trẻ tự kỷ: Giúp trẻ vượt qua các khó khăn trong sinh hoạt hằng ngày
Kate C. Wilde – Hỗ trợ trẻ tự kỷ – PDF, đây là cuốn sách dưới dạng mà tác giả dựa trên trên nền tảng The Son-Rise Program, cùng với nghiên cứu các phương pháp khác như ABA, Floortime, RDI hay liệu pháp trò chơi, đưa ra cách can thiệp cho bố mẹ có con bị phổ tự kỷ tại nhà. Cuốn sách này sẽ giúp các bố mẹ tháo gỡ các khó khăn dưới đây của con:
-
- Đánh răng và cắt tóc.
- Mặc quần áo.
- Các khó khăn về giấc ngủ.
- Kiểm soát hành vi đánh người và các cơn bùng nổ cảm xúc.
- Hướng dẫn đi vệ sinh và làm quen với thức ăn mới.

[Lập kế hoạch IEP] Bảng kiểm ESDM: Đánh giá kỹ năng toàn diện và lên mục tiêu can thiệp sớm cho trẻ tự kỷ (12 – 48 tháng)
(function() { const host = document.getElementById('esdm-wp-host'); if (!host) return; const placeholder = document.createComment('esdm-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // Cấu hình 9 Lĩnh vực chuẩn của Bảng kiểm ESDM (Rogers & Dawson, 2010) const domConfigs = { rc: { code: 'rc', name: '1. Ngôn ngữ Tiếp nhận (Receptive Communication)', color: '#2563eb' }, ec: { code: 'ec', name: '2. Ngôn ngữ Diễn đạt (Expressive Communication)', color: '#0284c7' }, soc: { code: 'soc', name: '3. Kỹ năng Xã hội & Chú ý chung (Social & JA)', color: '#7c3aed' }, imi: { code: 'imi', name: '4. Bắt chước (Imitation)', color: '#9333ea' }, cog: { code: 'cog', name: '5. Nhận thức (Cognition)', color: '#0d9488' }, pla: { code: 'pla', name: '6. Kỹ năng Chơi: Tác chức năng & Tưởng tượng (Play)', color: '#10b981' }, fm: { code: 'fm', name: '7. Vận động Tinh (Fine Motor)', color: '#f59e0b' }, gm: { code: 'gm', name: '8. Vận động Thô (Gross Motor)', color: '#ea580c' }, ind: { code: 'ind', name: '9. Độc lập Cá nhân / Tự phục vụ (Independence)', color: '#dc2626' } }; // Cấu hình 4 Cấp độ phát triển chuẩn ESDM (Levels 1 - 4) // Mỗi cấp độ gồm 18 cụm mục tiêu cốt lõi đại diện cho đủ 9 Lĩnh vực (Mỗi lĩnh vực 2 cụm mục tiêu chuẩn ESDM) const levelData = { lvl1: { code: 'lvl1', tabTitle: '🌱 Cấp độ 1 (12 – 18 tháng)', tabSub: 'Level 1 • Nền tảng giao tiếp & chú ý chung', fullTitle: 'Bảng Kiểm ESDM Cấp Độ 1 (Level 1 • Tương Đương Tuổi Phát Triển 12 – 18 Tháng)', desc: 'Tập trung xây dựng nền tảng gắn kết cảm xúc, giao tiếp mắt, đáp ứng và khởi xướng sự chú ý chung (Joint Attention), cử chỉ chỉ trỏ, bắt chước thao tác với đồ vật và các từ đơn đầu tiên.', items: [ // 1. Ngôn ngữ Tiếp nhận (L1) { id: 101, dom: 'rc', name: 'RC-L1.1: Định hướng âm thanh, quay đầu nhìn mắt ngay khi nghe gọi tên và dừng tay khi nghe "Dừng lại / Không"', desc: 'Trẻ quay đầu nhìn thẳng vào mặt người gọi trong vòng 2 giây và hiểu các từ ngăn cản cơ bản.' }, { id: 102, dom: 'rc', name: 'RC-L1.2: Thực hiện đúng 8–10 mệnh lệnh vận động đơn giản 1 bước và nhận diện 10–15 đồ vật/bộ phận cơ thể quen thuộc', desc: 'Nhìn, chỉ hoặc đưa đúng đồ vật khi nghe yêu cầu ("Đưa bóng cho mẹ", "Chỉ mũi của con") và hiểu cử chỉ xòe tay.' }, // 2. Ngôn ngữ Diễn đạt (L1) { id: 103, dom: 'ec', name: 'EC-L1.1: Sử dụng cử chỉ chỉ ngón trỏ (kèm nhìn mắt) và phát âm có chủ đích để yêu cầu đồ vật mong muốn', desc: 'Trẻ phối hợp ánh mắt + cử chỉ vươn tay/chỉ trỏ + âm thanh để xin mở hộp, xin thêm bong bóng hoặc đồ ăn.' }, { id: 104, dom: 'ec', name: 'EC-L1.2: Bắt chước phát âm và tự phát nói từ 5 – 10 từ đơn gần đúng trong các hoạt động chơi chung', desc: 'Sử dụng các âm tiết và từ đơn có nghĩa ("măm", "bóng", "mở", "nữa", "bà/mẹ") hướng tới người đối diện.' }, // 3. Kỹ năng Xã hội & Chú ý chung (L1) { id: 105, dom: 'soc', name: 'SOC-L1.1: Tham gia các trò chơi cảm giác – xã hội (Ú òa, cù léc, hát vận động) kèm nhìn mắt và mỉm cười chia sẻ', desc: 'Duy trì tương tác vui vẻ trong 2–3 lượt và biết ra hiệu/nhìn mắt để yêu cầu người lớn tiếp tục trò chơi.' }, { id: 106, dom: 'soc', name: 'SOC-L1.2: Đáp ứng và Khởi xướng Chú ý chung (Nhìn theo tay chỉ của người lớn & Giơ đồ chơi khoe/chỉ tay chia sẻ)', desc: 'Trẻ chuyển ánh mắt luân phiên giữa món đồ chơi thú vị và khuôn mặt người lớn để chia sẻ niềm vui.' }, // 4. Bắt chước (L1) { id: 107, dom: 'imi', name: 'IMI-L1.1: Bắt chước 8–10 hành động đơn giản với đồ vật ngay sau khi người lớn làm mẫu trong trò chơi', desc: 'Ví dụ: Lăn xe, gõ trống, thả khối vào hộp, lắc xúc xắc, khuấy thìa trong cốc.' }, { id: 108, dom: 'imi', name: 'IMI-L1.2: Bắt chước 6–10 động tác vận động cơ thể/cử chỉ bài hát và các cử động miệng – mặt, nguyên âm', desc: 'Bắt chước vỗ tay, đập bàn, giơ tay lên cao, vẫy tay tạm biệt và chu môi/phồng má tạo âm thanh.' }, // 5. Nhận thức (L1) { id: 109, dom: 'cog', name: 'COG-L1.1: Ghép đôi tương ứng các đồ vật giống hệt nhau (3D–3D) và đặt đúng 3 hình cơ bản vào bảng khuôn', desc: 'Ghép cốc với cốc, thìa với thìa, bóng với bóng và lắp hình Tròn, Vuông, Tam giác vào khuôn.' }, { id: 110, dom: 'cog', name: 'COG-L1.2: Ghép đồ vật thật với bức tranh 2D tương ứng và phân loại ban đầu 2 nhóm đồ vật', desc: 'Nhận biết sự tương đồng giữa đồ chơi thật trên tay và hình chụp của nó trên thẻ tranh.' }, // 6. Kỹ năng Chơi (L1) { id: 111, dom: 'pla', name: 'PLA-L1.1: Chơi đúng chức năng với đa dạng đồ chơi nhân quả và đồ chơi tháo lắp (xếp tháp, thả khối, lồng cốc)', desc: 'Hoàn thành trọn vẹn nhiệm vụ của món đồ chơi (thả hết các khối vào hộp rồi mở nắp lấy ra) mà không lặp lại cứng nhắc.' }, { id: 112, dom: 'pla', name: 'PLA-L1.2: Thực hiện các hành động chơi chức năng quy ước hướng về bản thân (Đưa cốc lên uống, áp điện thoại lên tai, chải đầu)', desc: 'Sử dụng đúng công dụng xã hội của 5–8 đồ vật sinh hoạt thu nhỏ trên chính cơ thể mình.' }, // 7. Vận động Tinh (L1) { id: 113, dom: 'fm', name: 'FM-L1.1: Cầm kẹp vật nhỏ bằng đầu ngón cái – ngón trỏ (Pincer grasp), xếp chồng 3 khối gỗ và lật trang sách bìa cứng', desc: 'Thả hạt nhỏ/đồng xu vào khe hẹp và phối hợp hai tay để tháo mở các khối Lego Duplo lớn.' }, { id: 114, dom: 'fm', name: 'FM-L1.2: Cầm bút sáp màu bằng lòng bàn tay/ngón tay để vẽ nguệch ngoạc tự phát trên giấy sau khi xem mẫu', desc: 'Tạo được các nét chấm và nét vạch rõ ràng trên mặt giấy.' }, // 8. Vận động Thô (L1) { id: 115, dom: 'gm', name: 'GM-L1.1: Đi độc lập vững vàng, tự cúi nhặt đồ chơi dưới sàn đứng lên không ngã và trèo lên ghế nhỏ', desc: 'Di chuyển linh hoạt trong phòng và mang theo đồ chơi lớn khi đi.' }, { id: 116, dom: 'gm', name: 'GM-L1.2: Lăn bóng qua lại, ném bóng bằng tay về phía trước và bước đá quả bóng lớn mà không mất thăng bằng', desc: 'Bò hoặc bước vịn lên các bậc cầu thang thấp an toàn.' }, // 9. Độc lập Cá nhân (L1) { id: 117, dom: 'ind', name: 'IND-L1.1: Ngồi tại bàn ăn cùng gia đình, tự cầm cốc uống nước bằng hai tay và dùng ngón tay/thìa tự xúc thức ăn', desc: 'Chấp nhận thử nhiều kết cấu thức ăn khác nhau và tự đưa thìa có thức ăn vào miệng.' }, { id: 118, dom: 'ind', name: 'IND-L1.2: Phối hợp đưa tay chân khi mặc đồ, tự cởi mũ/tất/giày lỏng và chịu đưa tay dưới vòi nước khi rửa tay', desc: 'Bắt đầu tham gia vào quy trình tự chăm sóc bản thân hàng ngày.' } ] }, lvl2: { code: 'lvl2', tabTitle: '🌿 Cấp độ 2 (18 – 24 tháng)', tabSub: 'Level 2 • Cụm từ 2 từ & Chơi giả vờ với búp bê', fullTitle: 'Bảng Kiểm ESDM Cấp Độ 2 (Level 2 • Tương Đương Tuổi Phát Triển 18 – 24 Tháng)', desc: 'Mở rộng vốn từ vựng nghe hiểu và diễn đạt lên trên 50 từ, bắt đầu ghép cụm 2 từ, chơi đóng vai giả vờ hướng tới búp bê/người khác, bắt chước chuỗi 2 bước và chơi song song cạnh bạn đồng trang lứa.', items: [ // 1. Ngôn ngữ Tiếp nhận (L2) { id: 201, dom: 'rc', name: 'RC-L2.1: Thực hiện mệnh lệnh theo lời nói mà không cần cử chỉ gợi ý & Chỉ đúng 10–15 bức tranh đồ vật/con vật trong sách', desc: 'Hiểu các động từ hành động trên tranh ("Ai đang ăn/đang ngủ/đang chạy?") và lấy đồ vật từ khoảng cách xa.' }, { id: 202, dom: 'rc', name: 'RC-L2.2: Nhận diện 8–10 bộ phận cơ thể trên bản thân và trên búp bê, bắt đầu hiểu giới từ "Trong / Trên"', desc: 'Làm theo chỉ dẫn đặt đồ vật vào trong hộp hoặc lên trên bàn.' }, // 2. Ngôn ngữ Diễn đạt (L2) { id: 203, dom: 'ec', name: 'EC-L2.1: Sử dụng vốn từ vựng tự phát từ 30 – 50 từ đơn (danh từ, động từ, từ chỉ vị trí) để yêu cầu và gọi tên', desc: 'Chủ động gọi tên đồ vật trong tranh/ngoài đời để khoe với người lớn và biết nói tên của bản thân.' }, { id: 204, dom: 'ec', name: 'EC-L2.2: Kết hợp 2 từ tạo thành cụm từ có nghĩa ("Mở hộp", "Thêm bóng", "Chào mẹ", "Con ăn") và dùng lời từ chối "Không"', desc: 'Biết dùng câu hỏi đơn giản "Cái gì đây?" kèm ngữ điệu lên giọng.' }, // 3. Kỹ năng Xã hội & Chú ý chung (L2) { id: 205, dom: 'soc', name: 'SOC-L2.1: Khởi xướng và duy trì tương tác xã hội qua lại với người lớn bằng sự kết hợp Ánh mắt + Cử chỉ + Lời nói', desc: 'Biết chào hỏi/tạm biệt có nhìn mắt, mang sách/đồ chơi lại rủ người lớn cùng chơi và an ủi khi thấy người khác giả vờ đau.' }, { id: 206, dom: 'soc', name: 'SOC-L2.2: Ngồi chơi song song gần các bạn cùng trang lứa, quan sát bắt chước bạn và trao/nhận đồ chơi khi được gợi ý', desc: 'Tham gia vào các trò chơi vòng tròn đơn giản cùng 2–3 bạn mà không bỏ đi hoặc giật đồ.' }, // 4. Bắt chước (L2) { id: 207, dom: 'imi', name: 'IMI-L2.1: Bắt chước chuỗi hành động gồm 2 bước liên tiếp với đồ vật và bắt chước các hành động chơi giả vờ', desc: 'Ví dụ: Mở nắp hộp lấy khối gỗ ra rồi xếp lên nhau; hoặc khuấy thìa trong cốc rồi đút cho búp bê uống.' }, { id: 208, dom: 'imi', name: 'IMI-L2.2: Bắt chước các cử chỉ bàn tay vô hình (làm tai thỏ, ống nhòm), nét mặt cảm xúc và cụm từ 2 từ', desc: 'Quan sát kỹ và tái tạo lại ngay các động tác vận động tinh và lời nói mẫu.' }, // 5. Nhận thức (L2) { id: 209, dom: 'cog', name: 'COG-L2.1: Phân loại và ghép đôi đồ vật/tranh ảnh theo Màu sắc, Hình khối cơ bản và Kích thước (To – Nhỏ)', desc: 'Ghép các bức tranh không giống hệt 100% nhưng cùng loại (VD: các giống chó khác nhau vào chung một nhóm).' }, { id: 210, dom: 'cog', name: 'COG-L2.2: Ghép nối các đồ vật có liên quan chức năng với nhau (Bút đi với giấy, Thìa đi với bát, Giày đi với tất)', desc: 'Hoàn thành bảng ghép hình gỗ có núm cầm gồm 4 – 6 mảnh rời.' }, // 6. Kỹ năng Chơi (L2) { id: 211, dom: 'pla', name: 'PLA-L2.1: Chơi đóng vai giả vờ hướng tới búp bê/thú bông và người khác (Đút cho gấu ăn, chải tóc cho mẹ, đắp chăn cho búp bê)', desc: 'Kết hợp 2–3 hành động liên hoàn trong một chủ đề chơi giả vờ (Rót nước vào cốc -> Khuấy -> Cho búp bê uống).' }, { id: 212, dom: 'pla', name: 'PLA-L2.2: Bắt đầu dùng vật thay thế tượng trưng trong lúc chơi (Lấy khối gỗ giả làm bánh/điện thoại) và tự chơi độc lập 5–10 phút', desc: 'Biết tự lấy đồ chơi, chơi đúng cách và cất dọn vào hộp khi kết thúc.' }, // 7. Vận động Tinh (L2) { id: 213, dom: 'fm', name: 'FM-L2.1: Xếp chồng tháp 6–8 khối gỗ, xâu 3–4 hạt gỗ lớn vào dây và biết xoay cổ tay vặn mở nắp lọ', desc: 'Lắp ghép các khối hình có khớp nối chặt và lật từng trang sách mỏng.' }, { id: 214, dom: 'fm', name: 'FM-L2.2: Cầm bút bằng các ngón tay bắt chước vẽ đường thẳng đứng, đường ngang và nét tròn xoay vòng; tập nhấp kéo cắt đất nặn/giấy', desc: 'Sử dụng đất nặn với các dụng cụ (lăn đất, ấn khuôn, cắm que).' }, // 8. Vận động Thô (L2) { id: 215, dom: 'gm', name: 'GM-L2.1: Chạy vững vàng không ngã, tự bước lên và xuống cầu thang không cần vịn (bước dồn chân) và nhảy chụm hai chân tại chỗ', desc: 'Nhảy từ bậc thềm thấp xuống sàn bằng hai chân.' }, { id: 216, dom: 'gm', name: 'GM-L2.2: Đứng ném bóng qua đầu về phía trước, đá bóng trúng hướng và ngồi chòi chân trên xe 3 bánh tiến về trước', desc: 'Bắt chước các tư thế vận động toàn thân (đứng kiễng chân, bò chui qua hầm).' }, // 9. Độc lập Cá nhân (L2) { id: 217, dom: 'ind', name: 'IND-L2.1: Tự dùng thìa và nĩa xúc ăn gọn gàng, uống nước bằng ống hút/cốc mở không đổ và tự lấy khăn lau miệng', desc: 'Ngồi yên tại bàn ăn suốt bữa cùng gia đình hoặc các bạn ở lớp.' }, { id: 218, dom: 'ind', name: 'IND-L2.2: Tự cởi quần thun, áo khoác đã mở khóa, giày tất; tự rửa tay xà phòng và bắt đầu ngồi bô/bồn cầu theo giờ', desc: 'Biết bỏ quần áo bẩn vào giỏ và bỏ rác vào thùng khi được nhắc.' } ] }, lvl3: { code: 'lvl3', tabTitle: '🌳 Cấp độ 3 (24 – 36 tháng)', tabSub: 'Level 3 • Câu 3–4 từ, Bạn bè & Đi vệ sinh', fullTitle: 'Bảng Kiểm ESDM Cấp Độ 3 (Level 3 • Tương Đương Tuổi Phát Triển 24 – 36 Tháng / 2 – 3 Tuổi)', desc: 'Phát triển ngôn ngữ câu 3–4 từ, trả lời câu hỏi Wh- (Ai, Cái gì, Ở đâu), chơi hợp tác chia sẻ với bạn đồng trang lứa, nhận diện cảm xúc, chơi kịch bản tưởng tượng và tự lập đi vệ sinh.', items: [ // 1. Ngôn ngữ Tiếp nhận (L3) { id: 301, dom: 'rc', name: 'RC-L3.1: Hiểu các giới từ không gian (Trên, Dưới, Trong, Cạnh, Trước, Sau) và đại từ nhân xưng/sở hữu (Anh ấy, Cô ấy, Của con, Của bạn)', desc: 'Thực hiện chính xác mệnh lệnh gồm 2 bước liên tiếp với các đồ vật khác nhau.' }, { id: 302, dom: 'rc', name: 'RC-L3.2: Chọn đúng đồ vật khi nghe mô tả theo công dụng ("Cái gì dùng để cắt/để ngủ?") và chú ý nghe kể một cuốn truyện tranh ngắn 5 phút', desc: 'Chỉ đúng các chi tiết và nhân vật trong truyện khi được hỏi.' }, // 2. Ngôn ngữ Diễn đạt (L3) { id: 303, dom: 'ec', name: 'EC-L3.1: Nói câu 3 – 4 từ thường xuyên để bình luận, mô tả hành động và trả lời câu hỏi "Cái gì?", "Ai?", "Ở đâu?"', desc: 'Sử dụng đúng đại từ "Con" để xưng hô và nói rõ họ tên, tuổi của mình.' }, { id: 304, dom: 'ec', name: 'EC-L3.2: Chủ động đặt câu hỏi "Cái gì đó?", "Ở đâu rồi?" và duy trì hội thoại ngắn 2–3 lượt về một chủ đề chung', desc: 'Bắt đầu sử dụng các từ chỉ số nhiều, tính từ màu sắc/kích thước và từ chỉ quá khứ ("rồi").' }, // 3. Kỹ năng Xã hội: Người lớn & Bạn bè (L3) { id: 305, dom: 'soc', name: 'SOC-L3.1: Tham gia chơi hợp tác luân phiên (Turn-taking) với bạn đồng trang lứa trong 5–10 phút và biết chia sẻ đồ dùng', desc: 'Biết dùng lời nói để rủ bạn chơi ("Chơi với tớ đi"), xin mượn đồ chơi và đưa đồ cho bạn.' }, { id: 306, dom: 'soc', name: 'SOC-L3.2: Nhận diện và gọi tên các cảm xúc cơ bản (Vui, Buồn, Giận, Sợ) trên tranh và trên khuôn mặt người thật', desc: 'Biết bắt chước hành động của bạn cùng lớp trong các trò chơi tập thể (đuổi bắt, trốn tìm, làm đoàn tàu).' }, // 4. Bắt chước (L3) { id: 307, dom: 'imi', name: 'IMI-L3.1: Bắt chước chuỗi hành động gồm 3 bước liên tiếp và dựng lại mô hình lắp ghép từ 4–5 khối hình theo mẫu của người lớn', desc: 'Quan sát mẫu lắp ghép hoàn chỉnh và tự chọn các khối tương ứng để dựng lại.' }, { id: 308, dom: 'imi', name: 'IMI-L3.2: Bắt chước toàn bộ bài hát vận động nhiều động tác và bắt chước lời nói/hành động của bạn cùng trang lứa trong giờ chơi', desc: 'Thực hiện đồng bộ động tác cùng nhóm bạn mà không cần hỗ trợ thể chất.' }, // 5. Nhận thức (L3) { id: 309, dom: 'cog', name: 'COG-L3.1: Phân loại đồ vật theo nhóm danh mục khái niệm (Con vật, Đồ ăn, Quần áo, Phương tiện) và gọi tên 4 màu sắc cơ bản', desc: 'Hiểu các cặp khái niệm đối lập: To – Nhỏ, Dài – Ngắn, Nóng – Lạnh, Ướt – Khô, Nhiều – Ít.' }, { id: 310, dom: 'cog', name: 'COG-L3.2: Đếm chỉ tay tương ứng 1–1 và lấy đúng số lượng từ 1 đến 3 đồ vật; ghép tranh cắt rời 4–6 mảnh khít nhau', desc: 'Ghép nối chuỗi lô-tô hình ảnh và tìm ra vật có mối liên hệ logic.' }, // 6. Kỹ năng Chơi (L3) { id: 311, dom: 'pla', name: 'PLA-L3.1: Xây dựng công trình sáng tạo từ khối gỗ/Lego (xây nhà, chuồng thú, đường ray) và kết hợp nhân vật vào chơi kịch bản', desc: 'Gán thuộc tính tưởng tượng và lời thoại cho nhân vật búp bê/con vật trong lúc chơi.' }, { id: 312, dom: 'pla', name: 'PLA-L3.2: Thực hiện chuỗi kịch bản chơi đóng vai gồm 3–4 bước có cốt truyện (Nấu thức ăn -> Bày bàn -> Mời búp bê ăn -> Rửa bát)', desc: 'Có thể chơi đóng vai tưởng tượng mà không cần đồ vật thật (giả vờ cầm vòi nước xịt chữa cháy).' }, // 7. Vận động Tinh (L3) { id: 313, dom: 'fm', name: 'FM-L3.1: Cầm bút bằng 3 ngón tay vẽ sao chép hình tròn (○), hình chữ thập (+) và tô màu vào trong hình vẽ đơn giản', desc: 'Bắt đầu vẽ hình mặt người có mắt, miệng hoặc hình bông hoa/ông mặt trời.' }, { id: 314, dom: 'fm', name: 'FM-L3.2: Dùng kéo cắt đứt đôi mảnh giấy theo đường thẳng, xâu chuỗi hạt nhỏ và tự mở/cài cúc áo lớn hoặc khóa kéo', desc: 'Ghép hoàn chỉnh bộ xếp hình Jigsaw Puzzle từ 5 – 8 mảnh.' }, // 8. Vận động Thô (L3) { id: 315, dom: 'gm', name: 'GM-L3.1: Bước lên cầu thang luân phiên từng chân không cần vịn, đứng một chân giữ thăng bằng 3 giây và nhảy xa qua vạch', desc: 'Đạp xe 3 bánh thành thạo và tự điều khiển tay lái rẽ qua góc cua.' }, { id: 316, dom: 'gm', name: 'GM-L3.2: Bắt quả bóng lớn ném tới bằng hai tay và ném bóng nhỏ bằng một tay trúng đích ở khoảng cách 1.5m', desc: 'Đá bóng đang lăn tới và tham gia các trò chơi vận động vượt chướng ngại vật.' }, // 9. Độc lập Cá nhân (L3) { id: 317, dom: 'ind', name: 'IND-L3.1: Kiểm soát việc đi vệ sinh ban ngày (Báo khi có nhu cầu hoặc tự đi vào nhà vệ sinh, tự kéo quần xuống/lên và xả nước)', desc: 'Tự rửa tay, lau khô tay, tự đánh răng cơ bản và tự chải đầu/lau mũi bằng khăn giấy.' }, { id: 318, dom: 'ind', name: 'IND-L3.2: Tự mặc và tự cởi quần đùi/quần dài, áo khoác, đi tất và mang giày (dán Velcro); phụ giúp dọn bàn ăn/cho thú cưng ăn', desc: 'Làm theo các quy trình sinh hoạt cá nhân gồm 3–4 bước mà ít cần nhắc nhở.' } ] }, lvl4: { code: 'lvl4', tabTitle: '🎓 Cấp độ 4 (36 – 48 tháng)', tabSub: 'Level 4 • Hội thoại, Tư duy cảm xúc & Tiền học đường', fullTitle: 'Bảng Kiểm ESDM Cấp Độ 4 (Level 4 • Tương Đương Tuổi Phát Triển 36 – 48 Tháng / 3 – 4 Tuổi)', desc: 'Đỉnh cao của chương trình ESDM nhằm chuẩn bị cho trẻ hòa nhập hoàn toàn vào lớp mẫu giáo lớn: kể lại sự kiện quá khứ, trả lời câu hỏi "Tại sao / Khi nào?", hiểu góc nhìn của bạn bè, chơi nhóm có luật lệ và nắm vững khái niệm chữ cái – con số.', items: [ // 1. Ngôn ngữ Tiếp nhận (L4) { id: 401, dom: 'rc', name: 'RC-L4.1: Hiểu các khái niệm so sánh (Lớn nhất, Nhỏ nhất, Dài hơn, Ngắn hơn), từ chỉ số lượng và khái niệm Giống nhau – Khác nhau', desc: 'Thực hiện chính xác chỉ dẫn phức hợp gồm 3 bước không liên quan nhau và hiểu câu hỏi phủ định ("Cái nào KHÔNG phải là...").' }, { id: 402, dom: 'rc', name: 'RC-L4.2: Nghe hiểu câu chuyện kể dài và trả lời đúng các câu hỏi đọc hiểu về nhân vật, sự kiện và nguyên nhân trong truyện', desc: 'Hiểu các khái niệm thời gian (Hôm qua, Hôm nay, Buổi sáng, Buổi tối) và thứ tự (Đầu tiên, Tiếp theo, Cuối cùng).' }, // 2. Ngôn ngữ Diễn đạt (L4) { id: 403, dom: 'ec', name: 'EC-L4.1: Trả lời hợp lý các câu hỏi "Tại sao?", "Khi nào?", "Làm thế nào?" và giải thích công dụng/đặc điểm của sự vật', desc: 'Nói câu phức dài 5–6 từ sử dụng liên từ ("và", "bởi vì", "nhưng") và đúng các từ chỉ quá khứ/tương lai.' }, { id: 404, dom: 'ec', name: 'EC-L4.2: Kể lại một sự việc đã trải qua trong ngày/quá khứ và duy trì cuộc hội thoại qua lại 4–5 lượt với người lớn và bạn bè', desc: 'Biết hỏi lại người đối diện và điều chỉnh thông tin khi người nghe chưa hiểu.' }, // 3. Kỹ năng Xã hội & Bạn bè (L4) { id: 405, dom: 'soc', name: 'SOC-L4.1: Chủ động mời bạn cùng chơi đóng vai theo kịch bản chung, biết thương lượng phân vai và giải quyết mâu thuẫn bằng lời', desc: 'Chơi hòa đồng với nhóm 2–3 bạn trong 15–20 phút mà không cần người lớn đứng kèm sát.' }, { id: 406, dom: 'soc', name: 'SOC-L4.2: Lý giải được nguyên nhân gây ra cảm xúc của người khác ("Tại sao bạn khóc/vui?") và thể hiện sự đồng cảm phù hợp', desc: 'Nhận thức được suy nghĩ và sở thích của bạn có thể khác với sở thích của mình (Thuyết tâm trí sơ khởi).' }, // 4. Nhận thức & Tiền học đường (L4) { id: 407, dom: 'cog', name: 'COG-L4.1: Đếm tương ứng số lượng đến 10, nhận diện chữ số (1–10) và ghép đúng thẻ chữ số với số lượng đồ vật tương ứng', desc: 'Hiểu khái niệm "Nhiều hơn / Ít hơn / Bằng nhau" và thêm bớt trong phạm vi 5.' }, { id: 408, dom: 'cog', name: 'COG-L4.2: Nhận diện ít nhất 10–15 chữ cái, nhận biết tên mình viết trên thẻ, nối tiếp chuỗi quy luật (A-B-A-B) và sắp xếp 3–4 tranh theo trình tự câu chuyện', desc: 'Trả lời được câu hỏi giải quyết vấn đề thực tế ("Nếu làm đổ nước ra sàn thì con phải làm gì?").' }, // 5. Kỹ năng Chơi (L4) { id: 409, dom: 'pla', name: 'PLA-L4.1: Tổ chức kịch bản chơi đóng vai phức tạp nhiều vai (Đi khám bác sĩ, Đi siêu thị, Cứu hỏa) kết hợp làm đạo cụ thủ công', desc: 'Linh hoạt chấp nhận ý tưởng thay đổi tình huống chơi do bạn cùng chơi đưa ra.' }, { id: 410, dom: 'pla', name: 'PLA-L4.2: Tham gia các trò chơi bàn cờ (Board games: Cờ cá ngựa, Domino, Lô-tô) và trò chơi vận động tập thể có luật Thắng – Thua', desc: 'Biết chờ lượt, tuân thủ luật chơi chung của nhóm và bình tĩnh khi thua cuộc.' }, // 6. Vận động Tinh (L4) { id: 411, dom: 'fm', name: 'FM-L4.1: Vẽ sao chép hình vuông (□), đường chéo (╱), viết một số chữ cái/tên mình và vẽ hình người có ≥ 6 bộ phận cơ thể', desc: 'Vẽ các bức tranh có chủ đề nhận diện được (ngôi nhà, cái cây, ô tô, con vật) và tô màu kín không lem.' }, { id: 412, dom: 'fm', name: 'FM-L4.2: Dùng kéo cắt rời các hình vẽ theo đường thẳng và đường cong (hình tròn, hình vuông) rồi dán keo tạo sản phẩm thủ công', desc: 'Ghép hoàn chỉnh bộ xếp hình Jigsaw từ 10 – 12 mảnh nhỏ.' }, // 7. Vận động Thô (L4) { id: 413, dom: 'gm', name: 'GM-L4.1: Nhảy lò cò trên 1 chân liên tiếp 5 bước, đứng 1 chân > 5 giây, đi nối gót trên vạch thẳng và bước xuống cầu thang luân phiên', desc: 'Chạy nhanh đổi hướng linh hoạt và nhảy qua chướng ngại vật.' }, { id: 414, dom: 'gm', name: 'GM-L4.2: Đập bóng nảy xuống sàn rồi bắt lại, bắt bóng nhỏ bằng hai bàn tay và ném bóng trúng rổ/đích từ xa', desc: 'Tham gia trọn vẹn các trò chơi vận động nhóm trong giờ Thể dục mầm non.' }, // 8. Độc lập Cá nhân (L4) { id: 415, dom: 'ind', name: 'IND-L4.1: Hoàn toàn độc lập trong toàn bộ quy trình đi vệ sinh (tự đi, tự lau chùi sạch, xả nước, mặc quần, rửa tay) và tự mặc quần áo (cài cúc, kéo khóa)', desc: 'Biết tự đi giày đúng chân trái/phải và tự chuẩn bị đồ dùng cá nhân khi đi học.' }, { id: 416, dom: 'ind', name: 'IND-L4.2: Tự rót nước từ bình ra cốc, tự phục vụ bữa ăn nhẹ, dọn bát đĩa sau khi ăn và tuân thủ nội quy an toàn nơi công cộng (nắm tay qua đường)', desc: 'Làm việc độc lập trong nhóm lớp mầm non suốt 15–20 phút.' } ] } }; let currentLvl = 'lvl1'; // 'lvl1' | 'lvl2' | 'lvl3' | 'lvl4' // scoresByLvl[lvl][id] lưu: 2 ('+' Thành thạo), 1 ('+/-' Đang hình thành ★ Mục tiêu IEP 12 tuần), 0 ('-' Chưa đạt) let scoresByLvl = { lvl1: {}, lvl2: {}, lvl3: {}, lvl4: {} }; let filterDom = 'all'; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .es-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .es-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .es-inner { padding: 24px; max-width: 980px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .es-wrap.is-fullscreen .es-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .es-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(5, 150, 105, 0.45), 0 0 0 0 rgba(5, 150, 105, 0.4); } 70% { box-shadow: 0 6px 20px rgba(5, 150, 105, 0.45), 0 0 0 10px rgba(5, 150, 105, 0); } 100% { box-shadow: 0 6px 20px rgba(5, 150, 105, 0.45), 0 0 0 0 rgba(5, 150, 105, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #047857 0%, #059669 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(5, 150, 105, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Bộ chuyển đổi 4 Cấp độ ESDM (Levels 1 - 4) */ .lvl-switcher-box { background: #f1f5f9; padding: 10px; border-radius: 12px; margin-bottom: 18px; } .lvl-switcher-lbl { font-size: 12px; font-weight: 800; color: #334155; text-transform: uppercase; margin-bottom: 8px; display: block; } .lvl-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; } .lvl-btn { padding: 10px 10px; border-radius: 9px; border: 1.5px solid transparent; background: rgba(255, 255, 255, 0.65); cursor: pointer; text-align: left; transition: all 0.18s ease; touch-action: manipulation; } .lvl-btn:hover { background: #ffffff; } .lvl-btn.active { background: #ffffff; border-color: #059669; box-shadow: 0 3px 10px rgba(15, 23, 42, 0.08); } .lvl-btn-title { font-size: 13px; font-weight: 800; color: #0f172a; display: block; } .lvl-btn.active .lvl-btn-title { color: #047857; } .lvl-btn-sub { font-size: 11px; color: #64748b; margin-top: 2px; display: block; } /* Header */ .es-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .es-header-text { flex: 1 1 260px; } .es-title { font-size: 20px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .es-desc { font-size: 13.8px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #ecfdf5; color: #047857; border: 1px solid #a7f3d0; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #059669; color: #ffffff; border-color: #059669; } /* Controls */ .es-controls { display: flex; flex-direction: column; gap: 10px; margin-bottom: 18px; } .es-presets { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; } .es-preset-lbl { font-size: 12.5px; font-weight: 700; color: #475569; margin-right: 4px; } .es-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; touch-action: manipulation; } .es-pbtn:hover { background: #f1f5f9; } .es-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } .es-dom-tabs { display: flex; flex-wrap: wrap; gap: 6px; } .es-dtab { padding: 6px 11px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .es-dtab.active { background: #059669; color: #ffffff; border-color: #059669; } /* Sticky Dashboard */ .es-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .es-wrap.is-fullscreen .es-dash { top: 58px; } .es-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .es-score-big { font-size: 21px; font-weight: 800; line-height: 1.2; } .es-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .es-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .es-pillars { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; font-size: 12px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .es-pillar-box { background: #1e293b; padding: 7px 10px; border-radius: 8px; } .es-pillar-val { font-weight: 800; color: #ffffff; font-size: 13.5px; display: block; margin-top: 2px; } /* Danh sách mục kỹ năng ESDM */ .es-item { border: 1px solid #e2e8f0; border-radius: 10px; padding: 14px 16px; margin-bottom: 10px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 8px; } .es-item.pass-item { border-color: #a7f3d0; background: #f0fdf4; } .es-item.emerge-item { border-color: #fde68a; background: #fffbeb; border-left: 5px solid #f59e0b; } .es-item.fail-item { border-color: #fca5a5; background: #fff5f5; } .es-item-title { font-size: 14.8px; font-weight: 700; color: #0f172a; } .es-item-desc { font-size: 13.4px; color: #475569; } .es-tags { display: flex; flex-wrap: wrap; gap: 6px; } .es-tag { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .es-ans-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 2px; } .es-abtn { padding: 8px 8px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 700; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .es-abtn:hover { border-color: #64748b; } .es-abtn.sel-2 { background: #10b981; border-color: #10b981; color: #ffffff; } .es-abtn.sel-1 { background: #f59e0b; border-color: #f59e0b; color: #ffffff; } .es-abtn.sel-0 { background: #ef4444; border-color: #ef4444; color: #ffffff; } /* Biểu đồ 9 Lĩnh vực & Hộp trích xuất Mục tiêu 12 Tuần */ .es-chart-card { margin-top: 20px; padding: 16px 18px; border-radius: 12px; background: #ffffff; border: 1px solid #e2e8f0; } .es-bar-row { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; font-size: 12.5px; } .es-bar-lbl { width: 260px; flex-shrink: 0; font-weight: 600; color: #334155; } .es-bar-track { flex: 1; height: 16px; background: #f1f5f9; border-radius: 999px; overflow: hidden; } .es-bar-val { width: 115px; text-align: right; font-weight: 700; color: #0f172a; flex-shrink: 0; } .es-iep-box { margin-top: 16px; padding: 16px 18px; border-radius: 12px; background: #fffbeb; border: 1px solid #fde68a; border-left: 5px solid #f59e0b; font-size: 13.8px; color: #78350f; line-height: 1.6; } .es-iep-title { font-size: 15px; font-weight: 800; color: #92400e; margin-bottom: 8px; } .es-result-box { margin-top: 16px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #059669; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 760px) { .es-inner { padding: 14px; } .lvl-grid { grid-template-columns: 1fr 1fr; } .es-title { font-size: 18px; } .es-pillars { grid-template-columns: 1fr 1fr; } .es-ans-grid { grid-template-columns: 1fr; } .es-bar-lbl { width: 145px; font-size: 11.5px; } .es-pbtn.reset { margin-left: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
${lCfg.fullTitle}
${lCfg.desc}
`; } function renderItems() { const lCfg = levelData[currentLvl]; const curScores = scoresByLvl[currentLvl]; itemList.innerHTML = ''; const esdmBtns = [ { val: 2, lbl: '[ + ] Thành thạo / Nhất quán (Pass)' }, { val: 1, lbl: '[ +/- ] Đang hình thành / Cần gợi ý (★ IEP 12 tuần)' }, { val: 0, lbl: '[ - ] Chưa thực hiện được (Fail)' } ]; lCfg.items.forEach(function(it) { if (filterDom !== 'all' && it.dom !== filterDom) return; const uVal = (curScores[it.id] !== undefined) ? curScores[it.id] : 0; const dCfg = domConfigs[it.dom]; let rowCls = 'es-item '; if (uVal === 2) rowCls += 'pass-item'; else if (uVal === 1) rowCls += 'emerge-item'; else rowCls += 'fail-item'; const btnsHtml = esdmBtns.map(b => { const cls = 'es-abtn' + (uVal === b.val ? ` sel-${b.val}` : ''); return ``; }).join(''); const el = document.createElement('div'); el.className = rowCls; el.innerHTML = `Tiêu chí hoàn thành sau 12 tuần: ${it.desc} (Chia thành 4 bước nhỏ Task Analysis dạy lồng ghép trong hoạt động chơi chung hàng ngày). `).join('
'); iepBox.innerHTML = `
• Phân bố 4 Trụ cột: Giao tiếp Nghe hiểu & Diễn đạt (${pctComm}%) • Kỹ năng Xã hội, Chú ý chung & Bắt chước (${pctSocImi}%) • Nhận thức & Kỹ năng Chơi (${pctCogPlay}%) • Vận động & Độc lập cá nhân (${pctMotInd}%).
• Nguyên tắc vàng khi dạy trẻ theo ESDM: Thay vì tách rời từng lĩnh vực tại bàn học, hãy lồng ghép 2 – 3 mục tiêu từ các lĩnh vực khác nhau (ví dụ: vừa Bắt chước hành động chơi + vừa Nhìn mắt chia sẻ + vừa Nói từ đơn yêu cầu) vào cùng một Hoạt động Chơi Chung (Joint Activity Routine) kéo dài 2–5 phút để tối ưu hóa sự kết nối thần kinh của trẻ. `; updateFloatingFabVisibility(); } function applyPresetToLvl(lvlKey, type) { const lCfg = levelData[lvlKey]; const cur = {}; if (type === 'reset') { lCfg.items.forEach(it => { cur[it.id] = 0; }); } else if (type === 'beginning') { // Mới bắt đầu (~30%): Mục đầu mỗi lĩnh vực đạt [+/-], mục sau [-] lCfg.items.forEach((it, idx) => { cur[it.id] = (idx % 2 === 0) ? 1 : 0; }); } else if (type === 'midway') { // Giữa cấp độ (~65%): Giỏi Nhận thức/Vận động ([+]), còn Giao tiếp/Xã hội/Chơi đang ở mức [+/-] để vào IEP 12 tuần lCfg.items.forEach((it, idx) => { if (it.dom === 'cog' || it.dom === 'fm' || it.dom === 'gm') { cur[it.id] = 2; } else { cur[it.id] = (idx % 2 === 0) ? 2 : 1; } }); } else if (type === 'mastered') { // Hoàn thành cấp độ (>= 85%) lCfg.items.forEach((it, idx) => { cur[it.id] = (idx % 5 === 4) ? 1 : 2; }); } scoresByLvl[lvlKey] = cur; } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); esWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { esWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 980px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } shadow.querySelectorAll('#lvlGrid .lvl-btn').forEach(function(btn) { btn.onclick = function() { currentLvl = this.getAttribute('data-lvl'); shadow.querySelectorAll('#lvlGrid .lvl-btn').forEach(b => b.classList.remove('active')); this.classList.add('active'); renderHeader(); renderItems(); updateSummary(); }; }); shadow.querySelectorAll('.es-pbtn').forEach(function(btn) { btn.onclick = function() { applyPresetToLvl(currentLvl, this.getAttribute('data-preset')); renderItems(); updateSummary(); }; }); shadow.querySelectorAll('#domTabs .es-dtab').forEach(function(tab) { tab.onclick = function() { filterDom = this.getAttribute('data-dom'); shadow.querySelectorAll('#domTabs .es-dtab').forEach(t => t.classList.remove('active')); this.classList.add('active'); renderItems(); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); // Khởi tạo sẵn dữ liệu mẫu cho cả 4 cấp độ ['lvl1', 'lvl2', 'lvl3', 'lvl4'].forEach(k => { applyPresetToLvl(k, 'midway'); }); renderHeader(); renderItems(); updateSummary(); })();
Bảng kiểm ESDM (ESDM Curriculum Checklist): Công cụ đánh giá kỹ năng toàn diện để lên mục tiêu can thiệp cho trẻ tự kỷ từ 12 – 48 tháng tuổi theo mô hình Denver.
Bảng kiểm Chương trình Can thiệp Sớm Mô hình Denver (ESDM Curriculum Checklist — Early Start Denver Model) là công cụ đánh giá phát triển và lập kế hoạch can thiệp cá nhân hóa hàng đầu thế giới dành riêng cho trẻ nhỏ có Rối loạn phổ tự kỷ (ASD) từ 12 đến 48 tháng tuổi (có thể mở rộng đến 60 tháng). Công cụ được phát triển bởi hai nhà khoa học lừng danh là Giáo sư Sally J. Rogers và Giáo sư Geraldine Dawson (xuất bản năm 2010 bởi Guilford Press).
Nếu như VB-MAPP hay ABLLS-R đi theo hướng Phân tích Hành vi Ứng dụng (ABA) có cấu trúc chặt chẽ tại bàn học,thì ESDM là sự kết hợp hoàn hảo giữa Khoa học Phát triển Trẻ thơ (Developmental Science) và Nguyên lý Hành vi Tự nhiên (NDBI — Naturalistic Developmental Behavioral Interventions): đánh giá và dạy trẻ ngay trong các hoạt động chơi tương tác cảm xúc chung (Joint Activity Routines) tràn ngập niềm vui, giao tiếp mắt và sự chia sẻ.
1. Tóm tắt cốt lõi về cấu trúc 4 Cấp độ (Levels 1 – 4) & 9 Lĩnh vực của ESDM
Bảng kiểm ESDM gồm khoảng 480 mục kỹ năng được chia thành 4 Cấp độ phát triển (Levels 1, 2, 3, 4) nối tiếp nhau theo mốc tháng tuổi của trẻ phát triển điển hình:
| Cấp độ ESDM (Level) | Độ tuổi phát triển tương đương | Các Lĩnh vực Đánh giá trong từng Cấp độ (9 Domains) |
| Cấp độ 1 (Level 1) | 12 – 18 tháng tuổi (Hoặc 9 – 18 tháng) |
Gồm 8 lĩnh vực nền tảng:
1. Ngôn ngữ Tiếp nhận (Receptive Communication)
2. Ngôn ngữ Diễn đạt (Expressive Communication)
3. Kỹ năng Xã hội (Social Skills)
4. Bắt chước (Imitation)
5. Nhận thức (Cognition)
6. Kỹ năng Chơi (Play)
7. Vận động Tinh (Fine Motor)
8. Vận động Thô (Gross Motor)
9. Hành vi & Độc lập Cá nhân (Personal Independence: Ăn uống, Mặc đồ, Vệ sinh, Việc vặt). |
| Cấp độ 2 (Level 2) | 18 – 24 tháng tuổi | Bổ sung thêm tiểu mục Chú ý Chung (Joint Attention) tách riêng hoặc lồng ghép sâu vào Giao tiếp & Xã hội, đẩy mạnh kết hợp từ và chơi đóng vai giả vờ. |
| Cấp độ 3 (Level 3) | 24 – 36 tháng tuổi (2 – 3 tuổi) | Đánh giá hội thoại qua lại, tương tác xã hội với Người lớn và Bạn đồng trang lứa (Peers), chơi biểu tượng kịch bản và tự lập vệ sinh. |
| Cấp độ 4 (Level 4) | 36 – 48 tháng tuổi (3 – 4 tuổi) | Tập trung vào ngôn ngữ phức hợp (câu hỏi Wh-, kể chuyện, quá khứ/tương lai), lý giải cảm xúc (Thuyết tâm trí sơ khởi), chơi nhóm có luật và kỹ năng tiền học đường. |
2. Quy tắc Mã hóa Chấm điểm (+, +/-, -) & Chu kỳ Lập Mục tiêu IEP 12 Tuần
Điểm đặc sắc nhất của Bảng kiểm ESDM là quy trình đánh giá định kỳ mỗi 12 tuần (3 tháng) một lần để chọn ra các mục tiêu dạy học sát sườn nhất:
-
Mã chấm điểm chuẩn ESDM:
-
+hoặcP(Pass / Thành thạo = 2 điểm): Trẻ thực hiện kỹ năng đó một cách nhất quán, tự phát, khái quát hóa được với nhiều người và nhiều đồ vật khác nhau (>80% cơ hội). -
+/-(Emerging / Đang hình thành hoặc Không nhất quán = 1 điểm): Trẻ mới làm được đôi lúc, chỉ làm được với bố mẹ hoặc với 1 món đồ chơi quen thuộc, hoặc cần một chút gợi ý nhẹ. → Đây chính là nguồn trích xuất Mục tiêu Can thiệp 12 Tuần (12-Week Intervention Objectives) hàng đầu của ESDM! -
-hoặcF(Fail / Chưa đạt = 0 điểm): Trẻ chưa thực hiện được hoặc kháng cự, không thể dạy ngay lúc này.
-
-
Nguyên tắc viết Kế hoạch Can thiệp 12 tuần của ESDM: Từ mỗi lĩnh vực, nhà trị liệu sẽ lấy các mục đầu tiên bị điểm
+/-(hoặc-nằm ngay sau chuỗi+) để viết thành 2 – 3 mục tiêu ngắn hạn có thể hoàn thành trong vòng 12 tuần (Tổng cộng khoảng 16 – 24 mục tiêu / 12 tuần chia đều trên tất cả các lĩnh vực).
Dậy bé hỏi "Cái gì đây?"
Đây là câu hỏi “kinh điển” khi bé nhìn thấy đồ vật mới, con vật mới. Khi bé hiểu được bản chất câu hỏi sẽ nhận được câu trả lời như thế nào, bé sẽ tự kết hợp chỉ tay và hỏi rất nhiều.
Để dạy trẻ tự kỷ, rối loạn ngôn ngữ hoặc chậm phát triển bật ra câu hỏi “Cái gì đây?”, nguyên tắc cốt lõi là tạo ra sự tò mò (động lực giao tiếp): trẻ phải thực sự muốn biết hoặc muốn lấy vật bị giấu, thay vì bị ép lặp lại câu hỏi về một món đồ trẻ đã biết thừa (như chỉ vào quả bóng quen thuộc và bắt trẻ hỏi).
1. Điều kiện cần trước khi dạy
Trước khi dạy câu hoàn chỉnh “Cái gì đây?”, hãy đảm bảo bé đã có:
-
Khả năng bắt chước âm thanh hoặc từ đơn/cụm từ ngắn.
-
Kỹ năng chỉ tay (pointing) hoặc hướng ánh mắt về vật mình muốn.
-
(Lưu ý: Nếu bé mới chỉ nói được 1-2 từ, hãy rút ngắn mục tiêu xuống còn “Gì đây?” hoặc “Cái gì?” trước, sau đó mới mở rộng thêm chữ “ạ”).
2. Công tác chuẩn bị
-
1 chiếc túi vải không nhìn xuyên thấu (túi thần kỳ) hoặc 1 chiếc hộp có nắp đậy kín.
-
5 – 7 món đồ chơi/đồ ăn bé cực kỳ thích hoặc những món đồ phát sáng, phát nhạc lạ mắt mà bé chưa biết tên(tránh dùng đồ quá quen thuộc vì bé sẽ gọi thẳng tên món đồ thay vì đặt câu hỏi).
3. Quy trình 4 bước thực hiện (Tình huống: Chiếc túi thần kỳ)
Bước 1: Tạo sự chú ý và tò mò
-
Ngồi đối diện ngang tầm mắt với bé.
-
Cho 1 món đồ (ví dụ: con sâu vặn dây cót hoặc bánh quy bé thích) vào túi.
-
Lắc nhẹ chiếc túi tạo âm thanh sột soạt hoặc cho đồ chơi phát tiếng kêu bên trong. Mở hé miệng túi cho bé nhìn thoáng qua (nhưng chưa cho lấy) và thể hiện biểu cảm ngạc nhiên: “Ồ! Có cái gì trong này nhỉ?”
Bước 2: Làm mẫu và Nhắc (Prompting) ngay khi bé có phản ứng
-
Ngay khoảnh khắc bé với tay đòi mở túi hoặc nhìn chằm chằm vào túi, bạn giữ nhẹ tay bé lại hoặc đưa ngón trỏ của bé chạm vào túi.
-
Bạn nói mẫu thật rõ ràng, chậm rãi và nhấn giọng ngay lập tức: “Cái gì đây ạ?”
-
Chờ 2–3 giây để bé bắt chước nói theo (Ví dụ: “Cái gì đây ạ?” hoặc “Gì đây?”).
Bước 3: Củng cố (Khen thưởng lập tức)
-
Ngay khi bé phát âm theo (dù hơi ngọng), bạn lập tức mở túi lấy món đồ ra, gọi to tên món đồ với giọng hào hứng: “À! Là ô tô!”
-
Đưa ngay món đồ cho bé chơi 15–30 giây (hoặc cho bé ăn nếu là bánh). Nhờ vậy, bé hiểu rằng: Hỏi câu này = Mở được túi + Nhận được đồ thích.
Bước 4: Giảm dần sự trợ giúp (Fading) Sau khi lặp lại khoảng 5–10 lần với các món đồ khác nhau trong túi và bé đã quen nhịp, bạn bắt đầu rút dần lời nhắc để bé tự hỏi:
-
Mức 1 (Nhắc toàn phần): Bạn nói “Cái gì đây ạ?” -> Bé lặp lại “Cái gì đây ạ?”
-
Mức 2 (Nhắc một phần): Bạn chỉ vào túi và chỉ gợi ý chữ đầu “Cái…” -> Bé tự nối tiếp “…gì đây ạ?”
-
Mức 3 (Nhắc bằng cử chỉ/chờ đợi): Bạn lắc túi, chỉ tay vào túi, nhướng mày nhìn bé đầy mong đợi (im lặng chờ 3–5 giây) -> Bé tự bật ra “Cái gì đây ạ?”
4. Ba tình huống mở rộng trong sinh hoạt hàng ngày
Để bé không bị rập khuôn (chỉ biết hỏi khi thấy cái túi), hãy áp dụng sang các bối cảnh tự nhiên:
5. Hai lỗi phổ biến cần tránh
-
Hỏi ngược lại bé: Tuyệt đối không hỏi “Con hỏi mẹ đi, con nói cái gì đây ạ đi”. Trẻ tự kỷ có xu hướng nhại lời (echolalia), nếu bạn nói câu dài như vậy, bé sẽ nhại lại nguyên cụm “Con hỏi mẹ đi”. Chỉ làm mẫu đúng câu bé cần nói (“Cái gì đây ạ?”).
-
Làm mẫu sai thời điểm: Nếu bé đang nhìn đi chỗ khác hoặc không hứng thú với chiếc túi mà bạn ép bé nói, bé sẽ chỉ nhại lại một cách máy móc mà không hiểu ý nghĩa của câu hỏi. Chỉ làm mẫu khi mắt bé đang nhìn vào vật và tay bé đang muốn lấy.
Nguồn tham khảo và tổng hợp: AI
Choline - Trí nhớ và khả năng học hỏi
Nhóm dưỡng chất đóng vai trò sống còn cho sự phát triển não bộ trẻ
🧱 Đang xem Nhóm 1: "Gạch ngói" xây dựng cấu trúc não – Omega-3 (DHA và EPA)
• EPA (một dạng Omega-3 khác): Đóng vai trò chống viêm tuyệt vời, bảo vệ não khỏi các tổn thương.
• Ở trẻ tự kỷ: Bổ sung đủ Omega-3 thường được ghi nhận giúp cải thiện giao tiếp mắt và sự tập trung.
[Tiêu chuẩn quốc tế] DSM-5-TR: Cẩm nang tiêu chuẩn chẩn đoán và thống kê các rối loạn tâm thần của Hoa Kỳ (APA)
(function() { const host = document.getElementById('dsm5tr-wp-host'); if (!host) return; const placeholder = document.createComment('dsm5tr-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // Dữ liệu các Tiêu chuẩn Chẩn đoán chuẩn DSM-5-TR (APA, 2022) const criteriaList = [ // TIÊU CHUẨN A: BẮT BUỘC ĐẠT ĐỦ CẢ 3/3 (A1, A2, A3) { id: 'A1', group: 'A', code: 'Tiêu chí A1 (Bắt buộc)', title: 'A1. Khiếm khuyết trong tương hỗ cảm xúc – xã hội (Social-Emotional Reciprocity)', desc: 'Biểu hiện từ cách tiếp cận xã hội bất thường và thất bại trong hội thoại qua lại bình thường; đến giảm chia sẻ sở thích, cảm xúc hoặc tình cảm; cho đến thất bại hoàn toàn trong việc khởi xướng hoặc đáp lại các tương tác xã hội.', examples: 'Ví dụ lâm sàng: Trẻ ít chủ động khoe đồ chơi (sự chú ý chung), gọi tên ít quay lại, chỉ kéo tay người lớn khi cần lấy đồ chứ không trò chuyện qua lại, hoặc chỉ độc thoại một chiều về chủ đề mình thích.' }, { id: 'A2', group: 'A', code: 'Tiêu chí A2 (Bắt buộc)', title: 'A2. Khiếm khuyết trong các hành vi giao tiếp phi ngôn ngữ dùng cho tương tác xã hội', desc: 'Biểu hiện từ việc giao tiếp bằng lời nói và không lời thiếu sự phối hợp nhịp nhàng; đến những bất thường trong giao tiếp ánh mắt và ngôn ngữ cơ thể hoặc khiếm khuyết trong việc hiểu và sử dụng cử chỉ; cho đến sự vắng bóng hoàn toàn biểu cảm khuôn mặt và giao tiếp không lời.', examples: 'Ví dụ lâm sàng: Giao tiếp mắt kém/nhìn lướt qua, không biết chỉ ngón trỏ để chia sẻ sự quan tâm, nét mặt đơ cứng hoặc biểu cảm không khớp với lời nói, không hiểu cử chỉ/nét mặt của người đối diện.' }, { id: 'A3', group: 'A', code: 'Tiêu chí A3 (Bắt buộc)', title: 'A3. Khiếm khuyết trong việc phát triển, duy trì và thấu hiểu các mối quan hệ', desc: 'Biểu hiện từ những khó khăn trong việc điều chỉnh hành vi cho phù hợp với các ngữ cảnh xã hội khác nhau; đến những khó khăn trong việc chia sẻ trò chơi tưởng tượng hoặc kết bạn; cho đến sự thờ ơ không quan tâm đến bạn đồng trang lứa.', examples: 'Ví dụ lâm sàng: Thích chơi một mình hơn chơi với bạn, không biết tham gia trò chơi đóng vai giả vờ hợp tác, áp đặt luật chơi cứng nhắc lên bạn, hoặc muốn kết bạn nhưng không hiểu quy tắc xã hội ngầm.' }, // TIÊU CHUẨN B: BẮT BUỘC ĐẠT TỐI THIỂU 2/4 (B1, B2, B3, B4) { id: 'B1', group: 'B', code: 'Tiêu chí B1 (Cần ≥ 2/4 mục nhóm B)', title: 'B1. Vận động, sử dụng đồ vật hoặc lời nói rập khuôn hoặc lặp đi lặp lại', desc: 'Bao gồm các cử động vận động định hình đơn giản, xếp đồ chơi thành hàng hoặc lật xoay đồ vật, nhại lời (echolalia), hoặc dùng các cụm từ đặc dị (idiosyncratic phrases).', examples: 'Ví dụ lâm sàng: Vẫy tay, búng ngón tay, đi nhón gót, xoay tròn người; xếp ô tô/khối gỗ thành hàng dài cố định, quay bánh xe; nhại lại câu hỏi hoặc lặp lại lời thoại từ tivi/quảng cáo.' }, { id: 'B2', group: 'B', code: 'Tiêu chí B2 (Cần ≥ 2/4 mục nhóm B)', title: 'B2. Khăng khăng giữ sự giống nhau, tuân thủ cứng nhắc các thói quen hoặc các mẫu hành vi nghi thức', desc: 'Bao gồm các nghi thức hành vi bằng lời hoặc không lời; cực kỳ căng thẳng trước những thay đổi nhỏ; gặp khó khăn với việc chuyển tiếp hoạt động; mẫu tư duy cứng nhắc; các nghi thức chào hỏi; cần phải đi cùng một lộ trình hoặc ăn cùng một món ăn mỗi ngày.', examples: 'Ví dụ lâm sàng: Hoảng loạn/ăn vạ dữ dội nếu đi đường khác mọi ngày hoặc đổi vị trí đồ đạc; bắt người nhà phải nói đúng một câu cố định; rất khó khăn khi chuyển từ hoạt động đang thích sang hoạt động khác.' }, { id: 'B3', group: 'B', code: 'Tiêu chí B3 (Cần ≥ 2/4 mục nhóm B)', title: 'B3. Các sở thích thu hẹp, cố định với cường độ hoặc sự tập trung bất thường', desc: 'Gắn bó mạnh mẽ với hoặc bận tâm quá mức đến những đồ vật khác thường, hoặc các sở thích hạn hẹp một cách quá mức hay dai dẳng (perseverative interests).', examples: 'Ví dụ lâm sàng: Luôn cầm khư khư một vật vô tri (nắp chai, sợi dây, que gỗ); hoặc đam mê ám ảnh về biển số xe, bảng chữ cái, lịch vạn niên, hệ thống tàu điện, khủng long, quạt trần.' }, { id: 'B4', group: 'B', code: 'Tiêu chí B4 (Cần ≥ 2/4 mục nhóm B)', title: 'B4. Phản ứng quá mức hoặc kém phản ứng với kích thích giác quan, hoặc quan tâm bất thường đến yếu tố giác quan', desc: 'Biểu hiện sự thờ ơ rõ rệt với cảm giác đau/nhiệt độ, phản ứng chống đối với các âm thanh hoặc kết cấu bề mặt cụ thể, ngửi hoặc sờ chạm quá mức vào đồ vật, bị cuốn hút thị giác bởi ánh đèn hoặc chuyển động quay.', examples: 'Ví dụ lâm sàng: Lấy tay bịt tai trước tiếng máy sấy/máy xay, kén ăn kết cấu cực đoan, khó chịu với mác quần áo/cắt tóc; ngã đau không khóc; nhìn nghiêng sát mắt vào vật chuyển động hoặc ngửi/liếm đồ vật.' }, // TIÊU CHUẨN C, D, E: BẮT BUỘC ĐẠT ĐỦ CẢ 3/3 { id: 'C', group: 'CDE', code: 'Tiêu chuẩn C (Bắt buộc)', title: 'C. Các triệu chứng phải xuất hiện từ giai đoạn phát triển sớm (Early Developmental Period)', desc: 'Lưu ý chuẩn DSM-5-TR: Các triệu chứng có thể chưa biểu hiện đầy đủ cho đến khi các đòi hỏi giao tiếp xã hội vượt quá năng lực hạn chế của cá nhân, hoặc có thể bị che lấp (masked) bởi các chiến lược học được khi lớn lên.', examples: 'Ghi nhận qua bệnh sử gia đình hoặc sổ khám: Dấu hiệu chậm nói, ít giao tiếp mắt, ít chỉ trỏ hoặc hành vi rập khuôn đã có từ những năm đầu đời.' }, { id: 'D', group: 'CDE', code: 'Tiêu chuẩn D (Bắt buộc)', title: 'D. Các triệu chứng gây suy giảm có ý nghĩa lâm sàng trong chức năng hiện tại', desc: 'Các triệu chứng gây ra sự suy giảm đáng kể về mặt lâm sàng trong lĩnh vực xã hội, học đường, nghề nghiệp hoặc các lĩnh vực hoạt động quan trọng khác hiện tại.', examples: 'Ảnh hưởng trực tiếp đến khả năng hòa nhập trường lớp, kết bạn, tự phục vụ hoặc sinh hoạt gia đình.' }, { id: 'E', group: 'CDE', code: 'Tiêu chuẩn E (Bắt buộc)', title: 'E. Không được giải thích tốt hơn bởi Rối loạn Phát triển Trí tuệ hoặc Chậm Phát triển Toàn diện (GDD)', desc: 'Rối loạn phát triển trí tuệ (Intellectual Developmental Disorder) và Rối loạn phổ tự kỷ thường đồng mắc; để đặt chẩn đoán đồng mắc cả hai, năng lực giao tiếp xã hội của trẻ phải thấp hơn rõ rệt so với mức độ phát triển chung dự kiến của trẻ đó.', examples: 'Đã loại trừ trường hợp trẻ chỉ chậm đồng đều mà giao tiếp mắt, cử chỉ và tương tác cảm xúc vẫn phù hợp với tuổi trí tuệ.' } ]; // Trạng thái từng tiêu chí: // A1..A3, B1..B4: 'NO' (Không có), 'HIST' (Đạt theo bệnh sử), 'CUR_L1' (Đạt hiện tại - Mức 1), 'CUR_L2' (Đạt hiện tại - Mức 2), 'CUR_L3' (Đạt hiện tại - Mức 3) // C, D, E: 'YES' (Thỏa mãn), 'NO' (Không thỏa mãn) let statusMap = {}; let specIntellectual = 'none'; // 'none' | 'with_id' let specLanguage = 'with_lang_imp'; // 'none' | 'with_lang_imp' | 'nonverbal' let specComorbid = 'none'; // 'none' | 'adhd' | 'genetic' let filterGrp = 'all'; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .d5-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .d5-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .d5-inner { padding: 24px; max-width: 980px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .d5-wrap.is-fullscreen .d5-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .d5-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(30, 58, 138, 0.45), 0 0 0 0 rgba(30, 58, 138, 0.4); } 70% { box-shadow: 0 6px 20px rgba(30, 58, 138, 0.45), 0 0 0 10px rgba(30, 58, 138, 0); } 100% { box-shadow: 0 6px 20px rgba(30, 58, 138, 0.45), 0 0 0 0 rgba(30, 58, 138, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #1e3a8a 0%, #2563eb 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(30, 58, 138, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Header */ .d5-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .d5-header-text { flex: 1 1 260px; } .d5-title { font-size: 21px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .d5-desc { font-size: 14px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #eff6ff; color: #1e3a8a; border: 1px solid #bfdbfe; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #2563eb; color: #ffffff; border-color: #2563eb; } /* Controls & Specifiers */ .d5-presets { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; margin-bottom: 14px; } .d5-lbl { font-size: 12px; font-weight: 800; color: #0f172a; text-transform: uppercase; margin-right: 4px; } .d5-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; touch-action: manipulation; } .d5-pbtn:hover { background: #f1f5f9; } .d5-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } .d5-spec-panel { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 12px; padding: 12px 14px; margin-bottom: 16px; } .d5-select { width: 100%; padding: 8px 10px; border: 1px solid #cbd5e1; border-radius: 7px; font-size: 13px; font-weight: 600; color: #1e293b; background: #ffffff; margin-top: 4px; } .d5-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 16px; } .d5-tab { padding: 6px 12px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .d5-tab.active { background: #1e3a8a; color: #ffffff; border-color: #1e3a8a; } /* Sticky Dashboard */ .d5-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .d5-wrap.is-fullscreen .d5-dash { top: 58px; } .d5-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .d5-score-big { font-size: 20px; font-weight: 800; line-height: 1.25; } .d5-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .d5-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .d5-pillars { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; font-size: 12px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .d5-pillar-box { background: #1e293b; padding: 8px 10px; border-radius: 8px; border-left: 3px solid #475569; } .d5-pillar-box.met { border-left-color: #ef4444; background: rgba(239, 68, 68, 0.15); } .d5-pillar-box.unmet { border-left-color: #10b981; } .d5-pillar-val { font-weight: 800; color: #ffffff; font-size: 13.5px; display: block; margin-top: 2px; } /* Danh sách các tiêu chí DSM-5-TR */ .d5-item { border: 1px solid #e2e8f0; border-radius: 12px; padding: 15px 16px; margin-bottom: 12px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 8px; } .d5-item.crit-met { border-color: #fca5a5; background: #fff5f5; border-left: 5px solid #ef4444; } .d5-item.crit-unmet { border-color: #a7f3d0; background: #f0fdf4; } .d5-item-title { font-size: 15px; font-weight: 800; color: #0f172a; } .d5-item-desc { font-size: 13.5px; color: #334155; } .d5-item-ex { font-size: 12.8px; color: #475569; background: rgba(15, 23, 42, 0.03); padding: 7px 10px; border-radius: 6px; border-left: 3px solid #94a3b8; } .d5-tags { display: flex; flex-wrap: wrap; gap: 6px; } .d5-tag { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .d5-tag.grp-A { background: #dbeafe; color: #1d4ed8; } .d5-tag.grp-B { background: #fef3c7; color: #b45309; } .d5-tag.grp-CDE { background: #dcfce7; color: #15803d; } .d5-ans-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; margin-top: 4px; } .d5-ans-grid.grid-2 { grid-template-columns: 1fr 1fr; } .d5-abtn { padding: 8px 6px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 11.8px; font-weight: 700; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .d5-abtn:hover { border-color: #64748b; } .d5-abtn.sel-no { background: #10b981; border-color: #10b981; color: #ffffff; } .d5-abtn.sel-hist { background: #6366f1; border-color: #6366f1; color: #ffffff; } .d5-abtn.sel-l1 { background: #f59e0b; border-color: #f59e0b; color: #ffffff; } .d5-abtn.sel-l2 { background: #ea580c; border-color: #ea580c; color: #ffffff; } .d5-abtn.sel-l3, .d5-abtn.sel-yes { background: #ef4444; border-color: #ef4444; color: #ffffff; } /* Bảng Ma trận 3 Mức độ Cần Hỗ trợ chuẩn DSM-5-TR */ .d5-matrix-card { margin-top: 20px; padding: 16px 18px; border-radius: 12px; background: #ffffff; border: 1px solid #e2e8f0; overflow-x: auto; } .d5-table { width: 100%; border-collapse: collapse; font-size: 13px; min-width: 640px; } .d5-table th, .d5-table td { border: 1px solid #cbd5e1; padding: 10px 12px; text-align: left; vertical-align: top; } .d5-table th { background: #f1f5f9; font-weight: 800; color: #0f172a; } .d5-table tr.active-lvl { background: #fffbeb; border: 2px solid #f59e0b; } .d5-result-box { margin-top: 16px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #1e3a8a; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 760px) { .d5-inner { padding: 14px; } .d5-title { font-size: 18px; } .d5-spec-panel { grid-template-columns: 1fr; } .d5-pillars { grid-template-columns: 1fr 1fr; } .d5-ans-grid { grid-template-columns: 1fr; } .d5-pbtn.reset { margin-left: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
Bảng Kiểm Tiêu Chuẩn Chẩn Đoán Rối Loạn Phổ Tự Kỷ DSM-5-TR (APA, 2022 • Mã ICD-10-CM: F84.0)
Công cụ đối chiếu chính thức theo bản hiệu đính DSM-5-TR (2022) của Hiệp hội Tâm thần học Hoa Kỳ. Chẩn đoán xác định yêu cầu hội đủ: Tiêu chuẩn A (Đủ 3/3 tiêu chí A1, A2, A3) + Tiêu chuẩn B (Ít nhất 2/4 tiêu chí B1–B4) + Tiêu chuẩn C, D, E (Đủ 3/3), kèm phân loại Mức độ cần hỗ trợ (Level 1, 2, 3) và Các chỉ định đi kèm (Specifiers).
| Mức độ hỗ trợ (Severity Level) | Giao tiếp Xã hội (Social Communication - Tiêu chuẩn A) | Hành vi Hạn hẹp, Lặp lại (Restricted, Repetitive Behaviors - Tiêu chuẩn B) |
|---|---|---|
| Mức độ 1 (Level 1) "Cần hỗ trợ" (Requiring support) |
Nếu không có hỗ trợ tại chỗ, khiếm khuyết giao tiếp xã hội gây suy giảm dễ nhận thấy. Khó bắt đầu tương tác xã hội, phản ứng không điển hình hoặc không thành công trước lời mở đầu của người khác. Có vẻ giảm hứng thú tương tác xã hội. | Sự thiếu linh hoạt của hành vi gây cản trở đáng kể hoạt động ở một hoặc nhiều ngữ cảnh. Khó chuyển đổi giữa các hoạt động. Vấn đề về tổ chức và lập kế hoạch cản trở tính độc lập. |
| Mức độ 2 (Level 2) "Cần hỗ trợ đáng kể" (Substantial support) |
Khiếm khuyết rõ rệt về kỹ năng giao tiếp xã hội cả bằng lời và không lời; suy giảm xã hội biểu hiện rõ ngay cả khi đã có hỗ trợ tại chỗ; rất hạn chế khởi xướng tương tác xã hội và phản ứng nghèo nàn/bất thường. | Sự thiếu linh hoạt của hành vi, cực kỳ khó khăn khi đối mặt với sự thay đổi, hoặc các hành vi hạn hẹp/lặp lại xuất hiện thường xuyên đến mức người quan sát bình thường cũng nhận ra ngay và cản trở hoạt động trong nhiều bối cảnh. |
| Mức độ 3 (Level 3) "Cần hỗ trợ rất nhiều" (Very substantial support) |
Khiếm khuyết nghiêm trọng về kỹ năng giao tiếp xã hội bằng lời và không lời gây suy giảm nặng nề chức năng; rất hạn chế khởi xướng tương tác và chỉ phản ứng tối thiểu với người khác (ví dụ: chỉ nói vài từ đơn để đòi nhu cầu trực tiếp). | Sự thiếu linh hoạt của hành vi, cực kỳ khó thích ứng với thay đổi, hoặc các hành vi hạn hẹp/lặp lại gây cản trở nghiêm trọng đến mọi lĩnh vực hoạt động. Cực kỳ đau khổ/khó khăn khi phải chuyển hướng sự tập trung hoặc hành động. |
• Bằng chứng hội tụ tiêu chí: Đạt ${countA}/3 tiêu chí Nhóm A (yêu cầu bắt buộc 3/3) + Đạt ${countB}/4 tiêu chí Nhóm B (yêu cầu ≥ 2/4) + Thỏa mãn đầy đủ 3/3 điều kiện C, D, E.
• Phân loại Mức độ Cần Hỗ trợ (Severity Specifiers):
– Về Giao tiếp xã hội (Tiêu chuẩn A): Mức độ ${lvlA} (${lvlA === 3 ? 'Cần hỗ trợ rất nhiều' : (lvlA === 2 ? 'Cần hỗ trợ đáng kể' : 'Cần hỗ trợ')}).
– Về Hành vi hạn hẹp & lặp lại (Tiêu chuẩn B): Mức độ ${lvlB} (${lvlB === 3 ? 'Cần hỗ trợ rất nhiều' : (lvlB === 2 ? 'Cần hỗ trợ đáng kể' : 'Cần hỗ trợ')}).
• Các chỉ định lâm sàng đi kèm (Clinical Specifiers):
1. Trí tuệ: ${idSpecText}.
2. Ngôn ngữ: ${langSpecText}.
3. Bệnh lý đi kèm: ${comSpecText}. `; } else if (metAllA && !metMinB && metAllCDE) { // Đạt đủ 3/3 tiêu chí nhóm A và C, D, E nhưng chỉ có 0 hoặc 1 tiêu chí nhóm B -> Chẩn đoán phân biệt với Rối loạn Giao tiếp Xã hội (SPCD) badgeColor = '#0284c7'; badgeTxt = 'GỢI Ý RỐI LOẠN GIAO TIẾP XÃ HỘI (SPCD • F80.82)'; dashHeadline.textContent = `Đạt đủ Tiêu chuẩn A (3/3) nhưng chưa đủ Tiêu chuẩn B (${countB}/4 < 2 tiêu chí)`; valLvl.textContent = 'Phân biệt SPCD'; reportHtml = `
• Ghi chú chính thức của DSM-5-TR: "Những cá nhân có khiếm khuyết rõ rệt về giao tiếp xã hội nhưng các triệu chứng không đáp ứng đủ tiêu chuẩn của Rối loạn phổ tự kỷ (do không có đủ ≥ 2 tiêu chí hành vi hạn hẹp/lặp lại nhóm B ở cả hiện tại lẫn bệnh sử) cần được đánh giá theo chẩn đoán Rối loạn Giao tiếp Xã hội (Social [Pragmatic] Communication Disorder - SPCD, Mã ICD-10-CM: F80.82)." `; } else { badgeColor = '#10b981'; badgeTxt = 'CHƯA ĐỦ TIÊU CHUẨN CHẨN ĐOÁN ASD'; dashHeadline.textContent = `Chưa hội đủ điều kiện bắt buộc của thuật toán DSM-5-TR (A: ${countA}/3 • B: ${countB}/4 • C-D-E: ${countCDE}/3)`; valLvl.textContent = 'Không đủ chuẩn'; reportHtml = ` Kết luận Đối chiếu DSM-5-TR — Chưa Đạt Ngưỡng Chẩn Đoán Rối Loạn Phổ Tự Kỷ (F84.0):
• Để thiết lập chẩn đoán xác định Rối loạn phổ tự kỷ theo DSM-5-TR, cá nhân bắt buộc phải đạt đồng thời: Đủ 3/3 tiêu chí nhóm A (Hiện đạt: ${countA}/3), tối thiểu 2/4 tiêu chí nhóm B (Hiện đạt: ${countB}/4) và đủ 3/3 điều kiện C, D, E (Hiện đạt: ${countCDE}/3).
• Nếu trẻ chỉ chậm nói đơn thuần (không suy giảm tương hỗ cảm xúc A1 và giao tiếp phi ngôn ngữ A2), cần đánh giá theo hướng Rối loạn Ngôn ngữ (Language Disorder - F80.9). `; } scoreBadge.textContent = badgeTxt; scoreBadge.style.background = badgeColor; scoreBadge.style.color = '#ffffff'; resultBox.style.borderLeftColor = badgeColor; resultBox.innerHTML = reportHtml; updateFloatingFabVisibility(); } function applyPreset(type) { statusMap = {}; criteriaList.forEach(c => { statusMap[c.id] = 'NO'; }); if (type === 'reset') { renderItems(); updateSummary(); return; } if (type === 'asd_l1') { // ASD Level 1 (Tự kỷ chức năng cao) statusMap['A1'] = 'CUR_L1'; statusMap['A2'] = 'CUR_L1'; statusMap['A3'] = 'CUR_L1'; statusMap['B1'] = 'NO'; statusMap['B2'] = 'CUR_L1'; statusMap['B3'] = 'CUR_L1'; statusMap['B4'] = 'HIST'; statusMap['C'] = 'YES'; statusMap['D'] = 'YES'; statusMap['E'] = 'YES'; selSpecID.value = 'none'; selSpecLang.value = 'none'; } else if (type === 'asd_l2') { // ASD Level 2 (Cần hỗ trợ đáng kể) statusMap['A1'] = 'CUR_L2'; statusMap['A2'] = 'CUR_L2'; statusMap['A3'] = 'CUR_L2'; statusMap['B1'] = 'CUR_L2'; statusMap['B2'] = 'CUR_L2'; statusMap['B3'] = 'NO'; statusMap['B4'] = 'CUR_L1'; statusMap['C'] = 'YES'; statusMap['D'] = 'YES'; statusMap['E'] = 'YES'; selSpecID.value = 'none'; selSpecLang.value = 'with_lang_imp'; } else if (type === 'asd_l3') { // ASD Level 3 (Cần hỗ trợ rất nhiều) statusMap['A1'] = 'CUR_L3'; statusMap['A2'] = 'CUR_L3'; statusMap['A3'] = 'CUR_L3'; statusMap['B1'] = 'CUR_L3'; statusMap['B2'] = 'CUR_L2'; statusMap['B3'] = 'CUR_L2'; statusMap['B4'] = 'CUR_L3'; statusMap['C'] = 'YES'; statusMap['D'] = 'YES'; statusMap['E'] = 'YES'; selSpecID.value = 'with_id'; selSpecLang.value = 'nonverbal'; } else if (type === 'spcd') { // Rối loạn giao tiếp xã hội SPCD: Đạt đủ 3/3 nhóm A và C, D, E nhưng chỉ có 0 hoặc 1 nhóm B statusMap['A1'] = 'CUR_L1'; statusMap['A2'] = 'CUR_L1'; statusMap['A3'] = 'CUR_L1'; statusMap['B1'] = 'NO'; statusMap['B2'] = 'CUR_L1'; statusMap['B3'] = 'NO'; statusMap['B4'] = 'NO'; statusMap['C'] = 'YES'; statusMap['D'] = 'YES'; statusMap['E'] = 'YES'; } renderItems(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); d5Wrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { d5Wrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 980px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } shadow.querySelectorAll('.d5-pbtn').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-preset')); }; }); [selSpecID, selSpecLang, selSpecComorbid].forEach(sel => { sel.onchange = () => { updateSummary(); }; }); shadow.querySelectorAll('#grpTabs .d5-tab').forEach(function(tab) { tab.onclick = function() { filterGrp = this.getAttribute('data-grp'); shadow.querySelectorAll('#grpTabs .d5-tab').forEach(t => t.classList.remove('active')); this.classList.add('active'); renderItems(); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); applyPreset('asd_l2'); })();
DSM-5-TR (viết tắt của Diagnostic and Statistical Manual of Mental Disorders, Fifth Edition, Text Revision – Cẩm nang Chẩn đoán và Thống kê các Rối loạn Tâm thần, Phiên bản thứ 5, Bản hiệu đính văn bản) là hệ thống phân loại và tiêu chuẩn chẩn đoán các rối loạn tâm thần uy tín nhất thế giới hiện nay, được Hiệp hội Tâm thần học Hoa Kỳ (APA) xuất bản vào tháng 3 năm 2022.
Mục đích và Vai trò chính
DSM-5-TR được ví như “cuốn kinh thánh” của ngành tâm thần học và tâm lý học lâm sàng, đóng vai trò cốt lõi trong 3 lĩnh vực:
-
Chẩn đoán lâm sàng: Cung cấp danh sách các triệu chứng cụ thể, thời gian kéo dài và mức độ suy giảm chức năng để các bác sĩ tâm thần, nhà tâm lý học xác định chính xác một người đang mắc rối loạn nào (ví dụ: Trầm cảm chủ yếu, Rối loạn phổ tự kỷ, ADHD, Tâm thần phân liệt…).
-
Ngôn ngữ chung cho giới chuyên môn: Giúp các bác sĩ, nhà nghiên cứu trên toàn cầu trao đổi thông tin bệnh án và kết quả nghiên cứu một cách đồng nhất.
-
Cơ sở pháp lý và bảo hiểm: Cung cấp mã bệnh chuẩn xác (tích hợp với bảng mã ICD-10-CM) để làm căn cứ thanh toán bảo hiểm y tế, giám định pháp y và hoạch định chính sách sức khỏe cộng đồng.
Những điểm mới nổi bật của DSM-5-TR (so với DSM-5 năm 2013)
Sau gần một thập kỷ kể từ khi DSM-5 ra đời (2013), bản hiệu đính TR (Text Revision) đã được cập nhật với sự tham gia của hơn 200 chuyên gia nhằm phản ánh các nghiên cứu khoa học mới nhất:
-
Bổ sung chẩn đoán mới – Rối loạn đau buồn kéo dài (Prolonged Grief Disorder): Chính thức công nhận tình trạng đau buồn dữ dội, dai dẳng sau khi mất người thân (kéo dài trên 12 tháng ở người lớn và 6 tháng ở trẻ em/thanh thiếu niên) làm suy giảm nghiêm trọng khả năng sinh hoạt bình thường.
-
Cập nhật mã triệu chứng tự sát và tự hủy hoại: Thêm các mã theo dõi hành vi tự sát và tự gây thương tích không nhằm mục đích tự sát (Non-suicidal self-injury), giúp bác sĩ ghi nhận và theo dõi nguy cơ này ngay cả khi bệnh nhân không mắc một rối loạn tâm thần cụ thể nào khác.
-
Làm rõ tiêu chuẩn của hơn 70 rối loạn: Tinh chỉnh lại câu chữ trong tiêu chuẩn chẩn đoán của các rối loạn như Rối loạn phổ tự kỷ (ASD), Rối loạn lưỡng cực, Rối loạn trầm cảm… để tránh gây hiểu lầm hoặc chẩn đoán quá tay trong thực hành.
-
Chú trọng yếu tố văn hóa, chủng tộc và phân biệt đối xử: Lần đầu tiên đưa vào một nhóm chuyên trách rà soát tác động của sự phân biệt chủng tộc và bất bình đẳng xã hội lên sức khỏe tâm thần, giúp giảm thiểu định kiến khi chẩn đoán cho các nhóm yếu thế.
-
Cập nhật thuật ngữ về giới: Điều chỉnh ngôn ngữ trong chương Bất. ổn giới (Gender Dysphoria) theo hướng tôn trọng, chính xác và giảm kỳ thị hơn (ví dụ: thay “desired gender” thành “experienced gender”).
Sự khác biệt giữa DSM-5-TR và ICD-11 (Áp dụng tại Việt Nam)
Tại Việt Nam cũng như nhiều quốc gia khác, các bác sĩ và chuyên gia tâm lý thường sử dụng song song hai hệ thống này:
| Tiêu chí | DSM-5-TR | ICD-11 (Chương Rối loạn Tâm thần) |
| Tổ chức phát hành | Hiệp hội Tâm thần học Hoa Kỳ (APA) | Tổ chức Y tế Thế giới (WHO) |
| Phạm vi bao phủ | Chỉ chuyên biệt về các rối loạn tâm thần | Bao gồm tất cả các loại bệnh lý y khoa và tâm thần |
| Đặc điểm tiêu chuẩn | Tiêu chuẩn định lượng rất chi tiết, chặt chẽ (yêu cầu đủ X trên Y triệu chứng trong thời gian cụ thể) | Hướng dẫn mang tính mô tả linh hoạt hơn để phù hợp với nhiều nền văn hóa và điều kiện y tế khác nhau |
| Ứng dụng tại Việt Nam | Được ưa chuộng trong nghiên cứu khoa học, đào tạo chuyên sâu và đánh giá tâm lý lâm sàng | Là bộ mã bắt buộc về mặt hành chính y tế (hiện Việt Nam đang chuyển giao từ ICD-10 sang ICD-11) để làm bệnh án và bảo hiểm |
Lưu ý quan trọng: DSM-5-TR chỉ liệt kê các tiêu chuẩn nhận diện bệnh chứ không hướng dẫn phác đồ điều trị (như dùng thuốc gì hay trị liệu ra sao). Ngoài ra, bộ tiêu chuẩn này được thiết kế cho các chuyên gia đã qua đào tạo bài bản; việc người đọc tự tra cứu để “tự bắt bệnh” (self-diagnose) rất dễ dẫn đến sai lệch vì nhiều triệu chứng tâm lý có sự chồng chéo phức tạp với nhau.
[Tăng động - ADHD] Vanderbilt & Conners-3: Bộ thang đo sàng lọc và đánh giá rối loạn Tăng động giảm chú ý
Tăng động giảm chú ý (ADHD) – rối loạn dễ nhầm lẫn nhất và cũng hay đi kèm nhất với phổ tự kỷ (tỷ lệ đồng mắc lên tới 50-70%). Hai công cụ này sẽ giúp bạn sàng lọc rõ ADHD, tránh chẩn đoán nhầm.
(function() { const host = document.getElementById('adhd-wp-host'); if (!host) return; const placeholder = document.createComment('adhd-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // ========================================================= // PHẦN 1: DỮ LIỆU ĐẦY ĐỦ 55 MỤC THANG ĐO NICHQ VANDERBILT (47 TRIỆU CHỨNG + 8 HIỆU SUẤT) // ========================================================= const vanderbiltGroups = { ina: { code: 'ina', name: '1. Giảm chú ý (Inattention • Câu 1–9 • Ngưỡng ≥ 6/9 câu mức 2–3)', color: '#2563eb' }, hyp: { code: 'hyp', name: '2. Tăng động / Xung động (Hyperactivity/Impulsivity • Câu 10–18 • Ngưỡng ≥ 6/9)', color: '#ea580c' }, odd: { code: 'odd', name: '3. Thách thức Chống đối (Oppositional Defiant - ODD • Câu 19–26 • Ngưỡng ≥ 4/8)', color: '#d97706' }, cd: { code: 'cd', name: '4. Rối loạn Hành vi (Conduct Disorder - CD • Câu 27–40 • Ngưỡng ≥ 3/14)', color: '#dc2626' }, anx: { code: 'anx', name: '5. Lo âu & Trầm cảm (Anxiety / Depression • Câu 41–47 • Ngưỡng ≥ 3/7)', color: '#7c3aed' }, perf: { code: 'perf', name: '6. Hiệu suất Học tập & Quan hệ (Performance • Câu 48–55 • Cần ≥ 1 câu mức 4–5)', color: '#0d9488' } }; const vanderbiltItems = [ // NHÓM 1: GIẢM CHÚ Ý (INATTENTION • Câu 1 - 9 • Ngưỡng >= 6/9 câu đạt điểm 2 hoặc 3) { id: 1, grp: 'ina', t: 'Không chú ý kỹ đến các chi tiết hoặc mắc lỗi cẩu thả trong bài tập ở trường/công việc.' }, { id: 2, grp: 'ina', t: 'Gặp khó khăn trong việc duy trì sự tập trung chú ý vào những việc cần làm hoặc hoạt động chơi.' }, { id: 3, grp: 'ina', t: 'Có vẻ như không lắng nghe khi người khác nói chuyện trực tiếp với trẻ.' }, { id: 4, grp: 'ina', t: 'Không làm theo trọn vẹn các hướng dẫn và không hoàn thành bài tập/việc vặt (không phải do chống đối hay không hiểu).' }, { id: 5, grp: 'ina', t: 'Gặp khó khăn trong việc sắp xếp, tổ chức các nhiệm vụ và hoạt động hàng ngày.' }, { id: 6, grp: 'ina', t: 'Né tránh, không thích hoặc miễn cưỡng tham gia các việc đòi hỏi phải suy nghĩ tập trung lâu (như làm bài tập về nhà).' }, { id: 7, grp: 'ina', t: 'Hay làm mất những đồ dùng cần thiết cho học tập và sinh hoạt (bút, sách vở, đồ chơi, áo khoác).' }, { id: 8, grp: 'ina', t: 'Dễ bị phân tâm bởi các tiếng động hoặc sự việc bên ngoài.' }, { id: 9, grp: 'ina', t: 'Hay quên trong các hoạt động sinh hoạt hàng ngày.' }, // NHÓM 2: TĂNG ĐỘNG / XUNG ĐỘNG (HYPERACTIVITY / IMPULSIVITY • Câu 10 - 18 • Ngưỡng >= 6/9 câu đạt điểm 2 hoặc 3) { id: 10, grp: 'hyp', t: 'Hay bồn chồn ngọ nguậy tay chân hoặc vặn vẹo người trên ghế.' }, { id: 11, grp: 'hyp', t: 'Tự ý rời khỏi chỗ ngồi trong lớp học hoặc trong các tình huống cần phải ngồi yên (như tại bàn ăn).' }, { id: 12, grp: 'hyp', t: 'Chạy nhảy hoặc leo trèo quá mức trong những tình huống không phù hợp.' }, { id: 13, grp: 'hyp', t: 'Gặp khó khăn khi phải chơi hoặc tham gia các hoạt động giải trí một cách yên tĩnh, nhẹ nhàng.' }, { id: 14, grp: 'hyp', t: 'Luôn chân luôn tay ("On the go") hoặc hành động như thể được "gắn động cơ chạy liên tục".' }, { id: 15, grp: 'hyp', t: 'Nói quá nhiều.' }, { id: 16, grp: 'hyp', t: 'Buột miệng trả lời ngay khi người khác còn chưa hỏi xong câu hỏi.' }, { id: 17, grp: 'hyp', t: 'Gặp khó khăn lớn khi phải xếp hàng hoặc chờ đến lượt của mình.' }, { id: 18, grp: 'hyp', t: 'Hay ngắt lời hoặc xen ngang vào cuộc trò chuyện/trò chơi của người khác.' }, // NHÓM 3: RỐI LOẠN THÁCH THỨC CHỐNG ĐỐI (ODD • Câu 19 - 26 • Ngưỡng >= 4/8 câu đạt điểm 2 hoặc 3) { id: 19, grp: 'odd', t: 'Tranh cãi tay đôi với người lớn.' }, { id: 20, grp: 'odd', t: 'Hay mất bình tĩnh, nổi cơn cáu giận dữ dội.' }, { id: 21, grp: 'odd', t: 'Chủ động thách thức hoặc từ chối tuân theo các yêu cầu và quy tắc của người lớn.' }, { id: 22, grp: 'odd', t: 'Cố tình làm những việc gây khó chịu, chọc tức người khác.' }, { id: 23, grp: 'odd', t: 'Đổ lỗi cho người khác về những lỗi lầm hoặc hành vi sai trái của chính mình.' }, { id: 24, grp: 'odd', t: 'Rất nhạy cảm, dễ tự ái hoặc dễ bị người khác làm cho bực mình.' }, { id: 25, grp: 'odd', t: 'Hay tức giận và oán giận.' }, { id: 26, grp: 'odd', t: 'Có tính hằn học và muốn trả đũa.' }, // NHÓM 4: RỐI LOẠN HÀNH VI (CONDUCT DISORDER - CD • Câu 27 - 40 • Ngưỡng >= 3/14 câu đạt điểm 2 hoặc 3) { id: 27, grp: 'cd', t: 'Bắt nạt, đe dọa hoặc запугивать (uy hiếp) trẻ khác.' }, { id: 28, grp: 'cd', t: 'Chủ động khơi mào các cuộc đánh nhau tay chân.' }, { id: 29, grp: 'cd', t: 'Nói dối để trốn tránh trách nhiệm/hình phạt hoặc để trục lợi ("lừa gạt" người khác).' }, { id: 30, grp: 'cd', t: 'Trốn học mà không được phép.' }, { id: 31, grp: 'cd', t: 'Hung bạo về thể xác với người khác.' }, { id: 32, grp: 'cd', t: 'Lấy cắp những đồ vật có giá trị.' }, { id: 33, grp: 'cd', t: 'Cố tình phá hoại tài sản, đồ đạc của người khác.' }, { id: 34, grp: 'cd', t: 'Đã từng sử dụng vũ khí có thể gây thương tích nghiêm trọng (gậy, gạch đá, dao...).' }, { id: 35, grp: 'cd', t: 'Hung bạo, hành hạ thể xác đối với động vật.' }, { id: 36, grp: 'cd', t: 'Cố tình châm lửa đốt với ý định gây thiệt hại.' }, { id: 37, grp: 'cd', t: 'Đột nhập vào nhà, phòng hoặc xe của người khác.' }, { id: 38, grp: 'cd', t: 'Tự ý đi qua đêm ở bên ngoài mà không được phép.' }, { id: 39, grp: 'cd', t: 'Bỏ nhà đi qua đêm.' }, { id: 40, grp: 'cd', t: 'Ép buộc người khác vào hoạt động nhạy cảm không đồng thuận.' }, // NHÓM 5: LO ÂU & TRẦM CẢM (ANXIETY / DEPRESSION • Câu 41 - 47 • Ngưỡng >= 3/7 câu đạt điểm 2 hoặc 3) { id: 41, grp: 'anx', t: 'Sợ hãi, lo âu hoặc lo lắng quá mức.' }, { id: 42, grp: 'anx', t: 'Sợ thử làm những điều mới vì lo sợ sẽ mắc lỗi.' }, { id: 43, grp: 'anx', t: 'Cảm thấy bản thân vô giá trị hoặc kém cỏi hơn các bạn khác.' }, { id: 44, grp: 'anx', t: 'Tự trách bản thân về các vấn đề xảy ra, cảm thấy tội lỗi quá mức.' }, { id: 45, grp: 'anx', t: 'Cảm thấy cô đơn, không được yêu thương hoặc tủi thân ("không ai thương con").' }, { id: 46, grp: 'anx', t: 'Buồn bã, không vui hoặc trầm uất.' }, { id: 47, grp: 'anx', t: 'Ngượng ngùng, tự ti và rất dễ bối rối xấu hổ trước đám đông.' }, // NHÓM 6: ĐÁNH GIÁ HIỆU SUẤT THỰC TẾ (PERFORMANCE • Câu 48 - 55 • Chấm từ 1 đến 5 • Cần >= 1 câu đạt mức 4 hoặc 5) { id: 48, grp: 'perf', t: 'Hiệu suất học tập tổng thể ở trường (Overall school performance).' }, { id: 49, grp: 'perf', t: 'Kỹ năng Đọc (Reading).' }, { id: 50, grp: 'perf', t: 'Kỹ năng Viết (Writing).' }, { id: 51, grp: 'perf', t: 'Kỹ năng Toán học (Mathematics).' }, { id: 52, grp: 'perf', t: 'Mối quan hệ với cha mẹ / giáo viên (Relationship with parents / teachers).' }, { id: 53, grp: 'perf', t: 'Mối quan hệ với anh chị em ruột (Relationship with siblings).' }, { id: 54, grp: 'perf', t: 'Mối quan hệ với bạn bè đồng trang lứa (Relationship with peers).' }, { id: 55, grp: 'perf', t: 'Khả năng tham gia các hoạt động tập thể / đội nhóm có tổ chức (Participation in organized activities).' } ]; // ========================================================= // PHẦN 2: DỮ LIỆU THANG ĐO CONNERS-3 (6 TIỂU THANG NỘI DUNG • 30 MỤC CỐT LÕI • T-SCORE) // ========================================================= const connersScales = { in: { code: 'in', short: 'IN', name: '1. Giảm chú ý (Inattention - IN • 5 câu)', color: '#2563eb' }, hy: { code: 'hy', short: 'HY', name: '2. Tăng động / Xung động (Hyperactivity/Impulsivity - HY • 5 câu)', color: '#ea580c' }, lp: { code: 'lp', short: 'LP', name: '3. Các Vấn đề Học tập (Learning Problems - LP • 5 câu)', color: '#0284c7' }, ef: { code: 'ef', short: 'EF', name: '4. Chức năng Điều hành (Executive Functioning - EF • 5 câu)', color: '#7c3aed' }, ag: { code: 'ag', short: 'AG', name: '5. Thách thức / Gây hấn (Defiance / Aggression - AG • 5 câu)', color: '#dc2626' }, pr: { code: 'pr', short: 'PR', name: '6. Quan hệ Bạn bè (Peer Relations - PR • 5 câu)', color: '#0d9488' } }; const connersItems = [ // 1. GIẢM CHÚ Ý (INATTENTION - IN) { id: 101, sc: 'in', t: 'Thời gian tập trung chú ý rất ngắn, dễ bỏ dở giữa chừng việc đang làm.' }, { id: 102, sc: 'in', t: 'Mơ màng, lơ đãng hoặc có vẻ tâm trí đang "ở trên mây" khi nghe giảng/trò chuyện.' }, { id: 103, sc: 'in', t: 'Dễ bị thu hút, xao nhãng bởi bất kỳ âm thanh hay chuyển động nhỏ nào xung quanh.' }, { id: 104, sc: 'in', t: 'Chỉ tập trung được khi chơi điện tử/xem thứ cực kỳ yêu thích, nhưng mất chú ý ngay với bài vở thường ngày.' }, { id: 105, sc: 'in', t: 'Bỏ sót các chi tiết quan trọng và mắc nhiều lỗi bất cẩn không đáng có.' }, // 2. TĂNG ĐỘNG / XUNG ĐỘNG (HYPERACTIVITY/IMPULSIVITY - HY) { id: 106, sc: 'hy', t: 'Bồn chồn, không thể ngồi yên trên ghế mà luôn ngọ nguậy tay chân hoặc đứng lên ngồi xuống.' }, { id: 107, sc: 'hy', t: 'Hành động bốc đồng mà không kịp suy nghĩ đến hậu quả ("Làm trước nghĩ sau").' }, { id: 108, sc: 'hy', t: 'Dư thừa năng lượng, chạy nhảy hoặc leo trèo liên tục không biết mệt.' }, { id: 109, sc: 'hy', t: 'Rất mất kiên nhẫn khi phải chờ đến lượt mình trong trò chơi hoặc khi xếp hàng.' }, { id: 110, sc: 'hy', t: 'Gây ồn ào, nói liên hồi và hay chen ngang khi người khác đang bận hoặc đang nói chuyện.' }, // 3. CÁC VẤN ĐỀ HỌC TẬP (LEARNING PROBLEMS - LP) { id: 111, sc: 'lp', t: 'Gặp khó khăn trong việc đọc hiểu văn bản hoặc đánh vần/viết chính tả.' }, { id: 112, sc: 'lp', t: 'Khó nhớ các khái niệm toán học, bảng tính hoặc trình tự giải bài toán.' }, { id: 113, sc: 'lp', t: 'Cần người lớn giải thích lại nhiều lần mới hiểu được yêu cầu của bài học.' }, { id: 114, sc: 'lp', t: 'Học trước quên sau: những kiến thức hôm qua vừa thuộc hôm nay đã quên.' }, { id: 115, sc: 'lp', t: 'Chậm hoàn thành bài viết trên lớp và gặp khó khăn khi diễn đạt ý nghĩ thành câu chữ.' }, // 4. CHỨC NĂNG ĐIỀU HÀNH (EXECUTIVE FUNCTIONING - EF) { id: 116, sc: 'ef', t: 'Rất khó tự bắt đầu (khởi xướng) làm bài tập hay công việc nếu không có người ngồi cạnh đốc thúc.' }, { id: 117, sc: 'ef', t: 'Không biết cách lập kế hoạch trước hoặc không biết phải bắt đầu từ bước nào khi có nhiều việc cần làm.' }, { id: 118, sc: 'ef', t: 'Cặp sách, bàn học và phòng ngủ luôn trong tình trạng lộn xộn, thất lạc đồ đạc.' }, { id: 119, sc: 'ef', t: 'Quản lý thời gian kém: luôn lề mề, trễ giờ hoặc để nước đến chân mới nhảy.' }, { id: 120, sc: 'ef', t: 'Gặp khó khăn lớn khi phải chuyển đổi linh hoạt từ hoạt động/quy tắc này sang hoạt động khác.' }, // 5. THÁCH THỨC / GÂY HẤN (DEFIANCE / AGGRESSION - AG) { id: 121, sc: 'ag', t: 'Cãi lời, chống đối hoặc từ chối làm theo yêu cầu hợp lý của cha mẹ và giáo viên.' }, { id: 122, sc: 'ag', t: 'Dễ bùng nổ cơn giận dữ, la hét hoặc ném đồ đạc khi không vừa ý.' }, { id: 123, sc: 'ag', t: 'Cố tình trêu chọc, gây sự hoặc đổ lỗi cho người khác.' }, { id: 124, sc: 'ag', t: 'Có hành vi hung hăng lời nói (đe dọa) hoặc tay chân (đánh, đẩy) với trẻ khác.' }, { id: 125, sc: 'ag', t: 'Khó chấp nhận lời phê bình và giữ thái độ thù địch, bướng bỉnh kéo dài.' }, // 6. QUAN HỆ BẠN BÈ (PEER RELATIONS - PR) { id: 126, sc: 'pr', t: 'Gặp khó khăn lớn trong việc kết bạn hoặc giữ tình bạn lâu dài với bạn cùng trang lứa.' }, { id: 127, sc: 'pr', t: 'Hay bị các bạn cùng lớp từ chối chơi cùng, né tránh hoặc không được mời tham gia nhóm.' }, { id: 128, sc: 'pr', t: 'Không nhận ra các tín hiệu xã hội khi bạn bè đang khó chịu với hành vi quá trớn của mình.' }, { id: 129, sc: 'pr', t: 'Thường xuyên xảy ra xung đột, cãi vã hoặc muốn làm chỉ huy áp đặt bạn khi chơi chung.' }, { id: 130, sc: 'pr', t: 'Có vẻ cô lập, lạc lõng trong tập thể lớp học hoặc các hoạt động ngoại khóa.' } ]; let activeTool = 'vanderbilt'; // 'vanderbilt' | 'conners3' let filterSub = 'all'; // vanScores[id]: Câu 1..47 lưu 0..3; Câu 48..55 lưu 1..5 let vanScores = {}; // conScores[id]: Câu 101..130 lưu 0..3 let conScores = {}; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .ad-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } .ad-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .ad-inner { padding: 24px; max-width: 980px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .ad-wrap.is-fullscreen .ad-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .ad-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(234, 88, 12, 0.45), 0 0 0 0 rgba(234, 88, 12, 0.4); } 70% { box-shadow: 0 6px 20px rgba(234, 88, 12, 0.45), 0 0 0 10px rgba(234, 88, 12, 0); } 100% { box-shadow: 0 6px 20px rgba(234, 88, 12, 0.45), 0 0 0 0 rgba(234, 88, 12, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #c2410c 0%, #ea580c 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(234, 88, 12, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Bộ chuyển đổi 2 Thang đo: NICHQ Vanderbilt vs Conners-3 */ .tool-switcher { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; background: #f1f5f9; padding: 10px; border-radius: 12px; margin-bottom: 18px; } .tool-btn { padding: 12px 14px; border-radius: 9px; border: 2px solid transparent; background: rgba(255, 255, 255, 0.7); cursor: pointer; text-align: left; transition: all 0.2s ease; touch-action: manipulation; } .tool-btn:hover { background: #ffffff; } .tool-btn.active { background: #ffffff; border-color: #ea580c; box-shadow: 0 3px 10px rgba(15, 23, 42, 0.08); } .tool-btn-title { font-size: 14.5px; font-weight: 800; color: #0f172a; display: block; } .tool-btn.active .tool-btn-title { color: #c2410c; } .tool-btn-sub { font-size: 12px; color: #64748b; margin-top: 3px; display: block; } .ad-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .ad-header-text { flex: 1 1 260px; } .ad-title { font-size: 20px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .ad-desc { font-size: 13.8px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #fff7ed; color: #c2410c; border: 1px solid #fed7aa; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #ea580c; color: #ffffff; border-color: #ea580c; } .ad-controls { display: flex; flex-direction: column; gap: 10px; margin-bottom: 18px; } .ad-presets { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; } .ad-preset-lbl { font-size: 12.5px; font-weight: 700; color: #475569; margin-right: 4px; } .ad-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; touch-action: manipulation; } .ad-pbtn:hover { background: #f1f5f9; } .ad-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } .ad-sub-tabs { display: flex; flex-wrap: wrap; gap: 6px; } .ad-stab { padding: 6px 11px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .ad-stab.active { background: #ea580c; color: #ffffff; border-color: #ea580c; } /* Sticky Dashboard */ .ad-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .ad-wrap.is-fullscreen .ad-dash { top: 58px; } .ad-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .ad-score-big { font-size: 20px; font-weight: 800; line-height: 1.25; } .ad-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .ad-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .ad-pillars { display: grid; grid-template-columns: repeat(6, 1fr); gap: 6px; font-size: 11.5px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .ad-pillar-box { background: #1e293b; padding: 7px 8px; border-radius: 8px; border-left: 3px solid #475569; } .ad-pillar-box.pos { border-left-color: #ef4444; background: rgba(239, 68, 68, 0.16); } .ad-pillar-box.neg { border-left-color: #10b981; } .ad-pillar-val { font-weight: 800; color: #ffffff; font-size: 13px; display: block; margin-top: 2px; } /* Danh sách câu hỏi */ .ad-item { border: 1px solid #e2e8f0; border-radius: 10px; padding: 13px 15px; margin-bottom: 10px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 8px; } .ad-item.pos-sym { border-color: #fda4af; background: #fff5f5; } .ad-item.mid-sym { border-color: #fde68a; background: #fffbeb; } .ad-item-title { font-size: 14.5px; font-weight: 600; color: #1e293b; } .ad-tags { display: flex; flex-wrap: wrap; gap: 6px; } .ad-tag { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .ad-ans-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; } .ad-ans-grid.grid-5 { grid-template-columns: repeat(5, 1fr); } .ad-abtn { padding: 8px 6px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 11.8px; font-weight: 700; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .ad-abtn:hover { border-color: #64748b; } .ad-abtn.sel-ok { background: #10b981; border-color: #10b981; color: #ffffff; } .ad-abtn.sel-mid { background: #3b82f6; border-color: #3b82f6; color: #ffffff; } .ad-abtn.sel-warn { background: #f59e0b; border-color: #f59e0b; color: #ffffff; } .ad-abtn.sel-high { background: #ef4444; border-color: #ef4444; color: #ffffff; } /* Biểu đồ & Bảng tổng hợp */ .ad-chart-card { margin-top: 20px; padding: 16px 18px; border-radius: 12px; background: #ffffff; border: 1px solid #e2e8f0; } .ad-bar-row { display: flex; align-items: center; gap: 10px; margin-bottom: 9px; font-size: 12.5px; } .ad-bar-lbl { width: 280px; flex-shrink: 0; font-weight: 600; color: #334155; } .ad-bar-track { flex: 1; height: 16px; background: #f1f5f9; border-radius: 999px; overflow: hidden; } .ad-bar-val { width: 155px; text-align: right; font-weight: 700; color: #0f172a; flex-shrink: 0; } .ad-result-box { margin-top: 16px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #ea580c; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 780px) { .ad-inner { padding: 14px; } .tool-switcher { grid-template-columns: 1fr; } .ad-title { font-size: 18px; } .ad-pillars { grid-template-columns: 1fr 1fr; } .ad-ans-grid, .ad-ans-grid.grid-5 { grid-template-columns: 1fr 1fr; } .ad-bar-lbl { width: 145px; font-size: 11.5px; } .ad-bar-val { width: 115px; font-size: 11px; } .ad-pbtn.reset { margin-left: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
1. Thang Đánh Giá Chẩn Đoán ADHD NICHQ Vanderbilt (Đầy Đủ 55 Câu Hỏi • Chuẩn AAP)
' + '' + 'Công cụ tiêu chuẩn của Viện Hàn lâm Nhi khoa Hoa Kỳ (AAP — Mark Wolraich, 2003) gồm 47 câu triệu chứng (chấm 0–3, tính là Dương tính khi đạt mức 2 hoặc 3) và 8 câu Hiệu suất Học tập & Quan hệ (chấm 1–5, tính là Suy giảm khi có ≥ 1 câu đạt mức 4 hoặc 5).' + '
'; subTabs.innerHTML = '' + '' + '' + '' + '' + '' + ''; } else { headerInfo.innerHTML = '2. Thang Đánh Giá Hành Vi Toàn Diện Conners-3 (6 Tiểu Thang Nội Dung • Quy Đổi Điểm Chuẩn T-Score)
' + '' + 'Công cụ định lượng chuẩn hóa của Tiến sĩ C. Keith Conners (2008) cho trẻ từ 6 đến 18 tuổi. Đo lường mức độ nghiêm trọng qua Điểm chuẩn T-Score (Mean = 50, SD = 10) trên 6 lĩnh vực: Giảm chú ý (IN), Tăng động (HY), Học tập (LP), Chức năng Điều hành (EF), Gây hấn (AG) và Quan hệ Bạn bè (PR).' + '
'; subTabs.innerHTML = '' + '' + '' + '' + '' + '' + ''; } subTabs.querySelectorAll('.ad-stab').forEach(tab => { tab.onclick = function() { filterSub = this.getAttribute('data-sub'); subTabs.querySelectorAll('.ad-stab').forEach(t => t.classList.remove('active')); this.classList.add('active'); renderQuestions(); }; }); } function renderQuestions() { questionList.innerHTML = ''; const symBtns = [ { val: 0, lbl: '0 - Không bao giờ', cls: 'sel-ok' }, { val: 1, lbl: '1 - Thỉnh thoảng', cls: 'sel-mid' }, { val: 2, lbl: '2 - Thường xuyên (★ Đạt)', cls: 'sel-warn' }, { val: 3, lbl: '3 - Rất thường xuyên (★)', cls: 'sel-high' } ]; const perfBtns = [ { val: 1, lbl: '1 - Xuất sắc', cls: 'sel-ok' }, { val: 2, lbl: '2 - Trên trung bình', cls: 'sel-ok' }, { val: 3, lbl: '3 - Trung bình (Đạt)', cls: 'sel-mid' }, { val: 4, lbl: '4 - Có chút vấn đề (★)', cls: 'sel-warn' }, { val: 5, lbl: '5 - Nghiêm trọng (★)', cls: 'sel-high' } ]; if (activeTool === 'vanderbilt') { vanderbiltItems.forEach(function(it) { if (filterSub !== 'all' && it.grp !== filterSub) return; const isPerf = (it.grp === 'perf'); const defVal = isPerf ? 3 : 0; const uVal = (vanScores[it.id] !== undefined) ? vanScores[it.id] : defVal; const gCfg = vanderbiltGroups[it.grp]; let rowCls = 'ad-item'; if (!isPerf) { if (uVal >= 2) rowCls += ' pos-sym'; else if (uVal === 1) rowCls += ' mid-sym'; } else { if (uVal >= 4) rowCls += ' pos-sym'; } const btns = isPerf ? perfBtns : symBtns; const gridCls = isPerf ? 'ad-ans-grid grid-5' : 'ad-ans-grid'; const btnsHtml = btns.map(b => { const cls = 'ad-abtn' + (uVal === b.val ? ' ' + b.cls : ''); return ''; }).join(''); const el = document.createElement('div'); el.className = rowCls; el.innerHTML = '' + '' + '• 2. Tổng Điểm Nặng Nhẹ Triệu chứng ADHD (Total ADHD Symptom Score — Câu 1–18): Đạt ' + totalADHDRaw + ' / 54 điểm (Dùng làm mốc Baseline để theo dõi hiệu quả sau điều trị tâm lý/hành vi hoặc thuốc mỗi tháng).
' + '• 3. Sàng lọc Rối loạn Đồng mắc: ' + (comorbidities.length > 0 ? '⚠️ Phát hiện dấu hiệu vượt ngưỡng của: ' + comorbidities.join('; ') + '.' : '✓ Không vượt ngưỡng cắt ở các nhóm ODD, CD và Lo âu/Trầm cảm.') + '
' + '• 💡 Lưu ý chuẩn DSM-5-TR: Để xác lập chẩn đoán ADHD chính thức, các triệu chứng cần xuất hiện trước 12 tuổi và biểu hiện ở ít nhất 2 môi trường (cần đối chiếu cả Phiếu Phụ huynh và Phiếu Giáo viên).'; } else { // CONNERS-3 SUMMARY const raw = { in: 0, hy: 0, lp: 0, ef: 0, ag: 0, pr: 0 }; connersItems.forEach(function(it) { raw[it.sc] += (conScores[it.id] !== undefined) ? conScores[it.id] : 0; }); const tMap = { in: calcConnersT(raw.in, 15), hy: calcConnersT(raw.hy, 15), lp: calcConnersT(raw.lp, 15), ef: calcConnersT(raw.ef, 15), ag: calcConnersT(raw.ag, 15), pr: calcConnersT(raw.pr, 15) }; const adhdIndexT = Math.round((tMap.in + tMap.hy + tMap.ef) / 3); const cIndex = classifyConnersT(adhdIndexT); dashPillars.innerHTML = Object.keys(connersScales).map(k => { const sCfg = connersScales[k]; const cInfo = classifyConnersT(tMap[k]); return ( '
' + '• 2. Phân tích Chức năng Điều hành (EF = ' + tMap.ef + 'T) & Học tập (LP = ' + tMap.lp + 'T): ' + (tMap.ef >= 65 ? 'Trẻ gặp suy giảm rõ rệt ở khả năng tự khởi xướng công việc, tổ chức bàn học, quản lý thời gian và chuyển tiếp hoạt động. Cần hỗ trợ bằng thời gian biểu trực quan, đồng hồ đếm ngược (Visual Timer) và chia nhỏ bài tập.' : 'Chức năng điều hành và lập kế hoạch tương đối ổn định.') + '
' + '• 3. Tương tác Bạn bè (PR = ' + tMap.pr + 'T) & Kiểm soát Hành vi (AG = ' + tMap.ag + 'T): ' + (tMap.pr >= 65 ? 'Lưu ý: Ở trẻ có cả đặc điểm Tự kỷ (ASD) và ADHD, điểm PR (Quan hệ bạn bè) và EF (Chức năng điều hành) thường tăng rất cao (≥ 70T); cần kết hợp đối chiếu thêm với thang SRS-2 để can thiệp đồng thời kỹ năng xã hội và kiểm soát xung động.' : 'Quan hệ bạn bè và kiểm soát cảm xúc trong giới hạn cho phép.'); } updateFloatingFabVisibility(); } function applyPreset(type) { vanScores = {}; conScores = {}; vanderbiltItems.forEach(it => { vanScores[it.id] = (it.grp === 'perf') ? 3 : 0; }); connersItems.forEach(it => { conScores[it.id] = 0; }); if (type === 'reset' || type === 'normal') { if (type === 'normal') { vanderbiltItems.forEach((it, idx) => { if (it.grp !== 'perf') vanScores[it.id] = (idx % 4 === 0) ? 1 : 0; else vanScores[it.id] = 2; }); connersItems.forEach((it, idx) => { conScores[it.id] = (idx % 3 === 0) ? 1 : 0; }); } renderQuestions(); updateSummary(); return; } if (type === 'combined') { // ADHD Thể Hỗn hợp: 7/9 Giảm chú ý + 7/9 Tăng động + Suy giảm hiệu suất + EF/PR cao trên Conners-3 vanderbiltItems.forEach(it => { if (it.grp === 'ina') vanScores[it.id] = (it.id <= 7) ? 3 : 1; else if (it.grp === 'hyp') vanScores[it.id] = (it.id { if (it.sc === 'in' || it.sc === 'hy' || it.sc === 'ef') conScores[it.id] = 2; else if (it.sc === 'lp' || it.sc === 'pr') conScores[it.id] = 2; else conScores[it.id] = 1; }); } else if (type === 'inattentive') { // ADHD Thể Giảm chú ý đơn thuần: 8/9 Giảm chú ý, chỉ 2/9 Tăng động + EF & LP cao vanderbiltItems.forEach(it => { if (it.grp === 'ina') vanScores[it.id] = (it.id <= 8) ? 2 : 1; else if (it.grp === 'hyp') vanScores[it.id] = (it.id <= 11) ? 2 : 0; else if (it.grp === 'perf') vanScores[it.id] = (it.id { if (it.sc === 'in' || it.sc === 'ef' || it.sc === 'lp') conScores[it.id] = 2; else conScores[it.id] = 0; }); } else if (type === 'odd_comorbid') { // ADHD kèm Thách thức chống đối (ODD >= 5/8) vanderbiltItems.forEach(it => { if (it.grp === 'ina' || it.grp === 'hyp') vanScores[it.id] = 2; else if (it.grp === 'odd') vanScores[it.id] = (it.id = 52) ? 5 : 4; }); connersItems.forEach(it => { if (it.sc === 'in' || it.sc === 'hy' || it.sc === 'ag' || it.sc === 'pr') conScores[it.id] = 3; else conScores[it.id] = 2; }); } renderQuestions(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); adWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { adWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 980px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } shadow.querySelectorAll('#toolSwitcher .tool-btn').forEach(function(btn) { btn.onclick = function() { activeTool = this.getAttribute('data-tool'); shadow.querySelectorAll('#toolSwitcher .tool-btn').forEach(b => b.classList.remove('active')); this.classList.add('active'); renderHeaderAndTabs(); renderQuestions(); updateSummary(); }; }); shadow.querySelectorAll('.ad-pbtn').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-preset')); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); renderHeaderAndTabs(); applyPreset('combined'); })();
Thang đo NICHQ Vanderbilt (Vanderbilt ADHD Diagnostic Rating Scale — VADRS) và Thang đo Conners-3(Conners Comprehensive Behavior Rating Scales, 3rd Edition) là bộ đôi công cụ đánh giá Rối loạn Tăng động Giảm chú ý (ADHD) và các rối loạn hành vi đồng mắc (Bướng bỉnh chống đối – ODD, Rối loạn hành vi – CD, Lo âu/Trầm cảm, Chức năng điều hành) phổ biến nhất thế giới hiện nay.
Trong thực hành lâm sàng với trẻ Rối loạn phổ tự kỷ (ASD), nghiên cứu chỉ ra rằng có tới 40% – 70% trẻ tự kỷ đồng mắc các triệu chứng của ADHD. Do đó, việc sở hữu bộ đôi công cụ Vanderbilt và Conners-3 trên website sẽ giúp hoàn thiện mảnh ghép chẩn đoán phân biệt và chẩn đoán đồng mắc (DSM-5-TR đã chính thức cho phép chẩn đoán đồng mắc cả ASD và ADHD trên cùng một bệnh nhân).
1. So sánh lâm sàng giữa NICHQ Vanderbilt và Conners-3
Norepinephrine, Phổ tự kỷ và bùng nổ cảm xúc
Norepinephrine (còn gọi là noradrenaline) có mối liên hệ chặt chẽ với Rối loạn phổ tự kỷ (ASD), đặc biệt thông qua việc điều chỉnh sự chú ý, mức độ cảnh giác (arousal), xử lý cảm giác và phản ứng với căng thẳng. Dù không phải nguyên nhân gốc rễ nhưng nó liên quan mật thiết đến trạng thái bùng nổ cảm xúc, dễ cáu gắt của trẻ. Thông tin bên dưới mang tính chất khoa học, mọi chỉ định về thuốc đều phải thông qua bác sỹ.
Trong não bộ, norepinephrine được sản xuất chủ yếu tại một vùng nhỏ ở thân não gọi là Locus Coeruleus (LC – Nhân xanh). Hệ thống LC-NE đóng vai trò như một công tắc điều phối việc não bộ nên tập trung vào một chi tiết cụ thể hay mở rộng sự chú ý ra môi trường xung quanh.
Các biểu hiện ở phổ tự kỷ liên quan đến Norepinephrine
| Tiêu chí lâm sàng ở trẻ ASD | Guanfacine (Tenex – IR / Intuniv – ER) | Clonidine (Catapres – IR / Kapvay – ER) |
| Triệu chứng mục tiêu số 1 |
• Tăng động, bốc đồng ban ngày(chạy nhảy không ngừng, không ngồi yên được trong giờ học 1-1). • Quá tải giác quan & Khó chuyển tiếp (la hét khi phải đổi hoạt động). |
• Mất ngủ đầu giấc nặng (thức đến 11–12h đêm, chạy nhảy trên giường). • Cơn bùng nổ (Meltdown) dữ dội có tính chất kích động cơ thể, hung hăng hoặc tự làm đau (đập đầu, cắn tay). |
| Độ tỉnh táo trong giờ can thiệp | Tốt hơn rõ rệt. Sau 1–2 tuần đầu làm quen, trẻ tỉnh táo để tiếp thu bài học ngôn ngữ/hành vi. | Kém hơn nếu dùng ban ngày. Dễ gây buồn ngủ, mắt lờ đờ, hoặc dễ cáu kỉnh do mệt (over-tired). |
| Thời gian bán thải & Độ êm | Dài (14–17 giờ). Nồng độ thuốc trong máu ổn định, ít bị hiện tượng “hết thuốc đột ngột” làm trẻ cáu gắt trở lại. | Ngắn hơn (6–12 giờ ở trẻ em). Dạng giải phóng tức thời (IR) chỉ kéo dài 3–5 giờ $\rightarrow$ dễ gây hiệu ứng “bật lò xo” (rebound) làm trẻ quấy khóc khi thuốc hết tác dụng giữa chừng. |
| Tác động lên Tics & Stimming | Giảm tốt các tật máy giật (Tics) và giảm bớt sự căng thẳng dẫn đến hành vi định hình (vẫy tay, xoay tròn). | Giảm cực mạnh Tics và sự bồn chồn vận động toàn thân. |
| Khả năng cho trẻ uống thuốc(Rất quan trọng với trẻ ASD kén ăn) |
• Dạng IR (Tenex): Viên nén có thể nghiền nhỏ pha nước/sữa chua. • Dạng ER (Intuniv): Tuyệt đối không được nhai hay nghiền (nghiền ra sẽ giải phóng ồ ạt gây tụt huyết áp). Trẻ phải biết nuốt chửng cả viên. |
• Dạng IR (Catapres): Viên rất nhỏ, dễ nghiền pha thức ăn. • Có dạng Miếng dán qua da (Catapres-TTS)thay mỗi 7 ngày — cứu cánh cho trẻ tự kỷ kháng cự uống thuốc cực đoan (dù đôi khi gây ngứa da chỗ dán). |
| Tác dụng phụ đặc thù ở trẻ ASD | Mệt mỏi tuần đầu, táo bón (cần lưu ý vì trẻ tự kỷ vốn hay bị táo bón), khô miệng, hạ nhẹ huyết áp. | Buồn ngủ sâu, chóng mặt, hạ huyết áp/nhịp tim rõ, khô miệng, và đôi khi gây ác mộng hoặc thức giấc nửa đêm khi thuốc IR hết tác dụng lúc 2–3h sáng. |
Khi nào chọn thuốc nào? (5 Kịch bản thực tế ở trẻ Tự kỷ)
Để quyết định chính xác, bác sĩ thường phân tích biểu đồ hành vi 24 giờ của trẻ theo 5 kịch bản sau:
Kịch bản 1: Trẻ tự kỷ kèm ADHD, vào lớp can thiệp là chạy quanh phòng, giật đồ chơi, không duy trì được giao tiếp mắt quá 3 giây, nhưng tối vẫn ngủ được.
-
Lựa chọn ưu tiên: Guanfacine.
-
Lý do: Cần củng cố chức năng điều hành của vỏ não trước trán suốt ban ngày để trẻ ngồi học được mà không làm trẻ gục xuống bàn ngủ.
Kịch bản 2: Trẻ tự kỷ đến 10–11h đêm vẫn nhảy nhót, la hét, lăn lộn không tài nào vào giấc ngủ (dù đã dùng Melatonin nhưng không ăn thua).
-
Lựa chọn ưu tiên: Clonidine (uống trước giờ đi ngủ 45–60 phút).
-
Lý do: Tác dụng an thần nhanh của Clonidine giúp hạ nhiệt hệ giao cảm, đưa trẻ vào giấc ngủ trong vòng 1 giờ.(Mẹo lâm sàng: Nhiều bác sĩ kết hợp Melatonin để kích hoạt nhịp sinh học + Clonidine để làm dịu hệ giao cảm).
Kịch bản 3: Trẻ bị quá tải giác quan nghiêm trọng (Sensory Overload) — đi siêu thị, nghe tiếng máy sấy hay đổi đường đi học là bùng nổ (meltdown) kéo dài cả tiếng đồng hồ.
-
Lựa chọn ưu tiên: Guanfacine dùng nền hàng ngày. Nếu cơn kích động thể chất quá mạnh hoặc kèm tự gây thương tích nhẹ, bác sĩ có thể cân nhắc Clonidine chia nhiều lần (hoặc dạng kéo dài Kapvay).
Kịch bản 4: Trẻ không thể nuốt nguyên viên thuốc và nhạy cảm vùng miệng (nhận ra vị thuốc là nôn ói ngay).
-
Lưu ý quyết định: Không dùng được viên nén giải phóng kéo dài (Intuniv hoặc Kapvay) vì bắt buộc phải nuốt nguyên viên. Khi đó bác sĩ phải chọn dạng viên nén tức thời (IR) để nghiền nhỏ (Guanfacine IR chia 2 lần/ngày hoặc Clonidine IR chia 2–3 lần/ngày), hoặc dùng miếng dán Clonidine.
Kịch bản 5: Chiến lược “Phối hợp Ngày – Đêm” hoặc “Kẹp cùng thuốc kích thích”
-
Có những trẻ tự kỷ được kê Guanfacine vào buổi sáng (để đi học tập trung, đỡ bốc đồng) và một liều rất nhỏ Clonidine vào buổi tối (để ngủ sâu).
-
Hoặc trẻ uống Methylphenidate (Concerta/Ritalin) buổi sáng nhưng đến 4–5 giờ chiều thuốc hết tác dụng khiến trẻ cáu gắt, đập phá (Rebound crash) → Bác sĩ cho uống thêm Guanfacine hoặc Clonidine vào buổi chiều/tốiđể “hạ cánh êm ái”.
Tài Liệu
Các tài liệu chính thống về nuôi dạy và can thiệp trẻ phổ tự kỷ dưới định dạng PDF sẽ được chia sẻ bên dưới. Tất cả tài liệu PDF đều được chia sẻ bởi các bố mẹ trên các hội nhóm, nếu bạn thấy hữu ích, hãy mua bản giấy để ủng hộ tác giả. Nếu có bất kỳ vấn đề nào về tác quyền, hãy liên hệ với chúng tôi tại đây.
Bài Viết
[PDF] Kate C. Wilde - Hỗ trợ trẻ tự kỷ: Giúp trẻ vượt qua các khó khăn trong sinh hoạt hằng ngày
Kate C. Wilde – Hỗ trợ trẻ tự kỷ – PDF, đây là cuốn sách dưới dạng mà tác giả dựa trên trên nền tảng The Son-Rise Program, cùng với nghiên cứu các phương pháp khác như ABA, Floortime, RDI hay liệu pháp trò chơi, đưa ra cách can thiệp cho bố mẹ có con bị phổ tự kỷ tại nhà. Cuốn sách này sẽ giúp các bố mẹ tháo gỡ các khó khăn dưới đây của con:
-
- Đánh răng và cắt tóc.
- Mặc quần áo.
- Các khó khăn về giấc ngủ.
- Kiểm soát hành vi đánh người và các cơn bùng nổ cảm xúc.
- Hướng dẫn đi vệ sinh và làm quen với thức ăn mới.

Tài liệu Bệnh viện E: Phổ tự kỷ là gì? Chuẩn đoán và điều trị
Đây là slide được thực hiện bởi Th.s Lê Quỳnh Quyên, khoa sức khoẻ tâm thần Bệnh viện E Hà Nội. Nội dung của tài liệu rất xúc tích và dễ hiểu giúp bố mẹ trả lời câu hỏi phổ tự kỷ là gì, và sẽ có phương hướng cơ bản về hướng trị liệu.
Ngôn Ngữ Và Hoạt Động Thường Ngày - Trinh Foundation Australia
Cuốn sách PDF này được biên tập bởi Đại học Y khoa Phạm Ngọc Thạch phối hợp với Trinh Foundation Australia. Ấn bản màu kèm hình ảnh minh hoạ sẽ giúp bố mẹ rất chi tiết trong cách can thiệp, dạy con học nói gắn với các hoạt động thường ngày. Cám ơn BS.Phan Thiệu Xuân Giang cho sự đóng góp đầy giá trị này.
Tài liệu lưu hành nội bộ: Muốn trò chuyện phải có hai người
Đây là tài liệu phát hành nội bộ của Trung Tâm Hỗ Trợ Phát Triển Giáo Dục Hoà Nhập Cho Người Khuyết Tật TPHCM.

Sách: Hướng dẫn cha mẹ thực hành trị liệu hoạt động cho trẻ tự kỷ
Đây là cuốn sách Hướng dẫn cha mẹ thực hành trị liệu hoạt động cho trẻ tự kỷ (thực hành kỹ năng vận động, phối hợp cảm giác, tự đi vệ sinh) do Trần Thị Bích Ngọc và Đỗ Tiến Sơn dịch.
Sách: Son-Rise: Phép màu cho trẻ tự kỷ - Barry Neil Kaufman và Raun Kaufman
Đây là cuốn sách Son-Rise: Phép màu cho trẻ tự kỷ của hai tác giả Barry Neil Kaufman và Raun Kaufman. Cuốn sách này kể về câu chuyện thực tế họ đã giúp con trai của mình chiến thắng chứng tự kỷ rất nặng như thế nào. Hành trình của họ sẽ giúp bố mẹ rất nhiều.
Dưới đây là danh sách các file tài liệu PDF được chia sẻ trong cùng chủ đề nuôi dạy và can thiệp trẻ tự kỷ:
- Kate C. Wilde – Hỗ trợ trẻ tự kỷ: Giúp trẻ vượt qua các khó khăn trong sinh hoạt hằng ngày
- Tài liệu Bệnh viện E: Phổ tự kỷ là gì? Chuẩn đoán và điều trị
- Ngôn Ngữ Và Hoạt Động Thường Ngày – Trinh Foundation Australia
- Tài liệu lưu hành nội bộ: Muốn trò chuyện phải có hai người
- Sách: Hướng dẫn cha mẹ thực hành trị liệu hoạt động cho trẻ tự kỷ
- Sách: Nuôi dạy trẻ có rối loạn phổ tự kỷ trong môi trường gia đình
- Sách: Nuôi dạy trẻ mắc chứng rối loạn tăng động giảm chú ý ADHD – Russell A. Barkley
- Hướng dẫn Trị Liệu Rối Loạn Ăn Uống Cho Một Trẻ Tự Kỷ Điển Hình
- Sổ tay điều trị rối loạn phổ tự kỷ – OHSU
- Rối loạn giác quan ở trẻ tự kỷ – Bác sĩ Thảo biên soạn
- 100 Bài can thiệp hành vi cho trẻ ptk
- Các hoạt động điều hòa giác quan
Sách: Nuôi dạy trẻ có rối loạn phổ tự kỷ trong môi trường gia đình
Nuôi dạy trẻ có rối loạn phổ tự kỷ trong môi trường gia đình là ấn phẩm nhiều tác giả. Cuốn sách này cung cấp cho bố mẹ một bức tranh toàn cảnh nhất, thực tế nhất, mà cũng dễ áp dụng nhất để có thể hướng dẫn, giáo dục can thiệp trẻ tại nhà gắn với các hoạt động chăm sóc thường ngày.

Sách: Nuôi dạy trẻ mắc chứng rối loạn tăng động giảm chú ý ADHD - Russell A. Barkley
Đây bản PDF của cuốn sách “Nuôi dạy trẻ mắc chứng rối loạn tăng động giảm chú ý ADHD – tác giả Russell A. Barkley”.

Trẻ tự kỷ thường đi kèm với hội chứng ADHD dù nặng hay nhẹ. 12 nguyên tắc trong cuốn sách này được đúc kết từ chính những công trình nghiên cứu mà tác giả đã dành cả đời để thực hiện. Hiểu về hội chứng ADHD, và sử dụng các chìa khóa thành công mà ông đã xác định để nuôi dạy trẻ trở nên hạnh phúc, khỏe mạnh dù mắc hội chứng ADHD.
Hướng dẫn Trị Liệu Rối Loạn Ăn Uống Cho Một Trẻ Tự Kỷ Điển Hình
Chia sẻ dưới đây là tài liệu hướng dẫn trị liệu rối loạn ăn uống cho một trường hợp trẻ tự kỷ điển hình do bs- thạc sĩ Nguyễn Thị Hạnh tổng hợp lại.
Sổ tay điều trị rối loạn phổ tự kỷ - OHSU
Đây là tài liệu được tổng hợp và phát hành bởi. Autism Clinic (Phòng Khám Bệnh Tự Kỷ) tại OHSU Doernbecher’s Child Development and Rehabilitation Center (CDRC).
Rối loạn giác quan ở trẻ tự kỷ - Bác sĩ Thảo biên soạn
Trong tài liệu này, bác sĩ Thảo đã phân tích rõ 8 rối loạn giác quan mà trẻ phổ tự kỷ mắc phải. Rất hữu ích với tất cả phụ huynh muốn can thiệp thành công cho con tại nhà.
100 Bài can thiệp hành vi cho trẻ ptk
Đây là tài liệu được chia sẻ khá phổ biến và hữu ích cho bố mẹ nào muốn can thiệp cho con tại nhà.
Các hoạt động điều hòa giác quan
Dưới đây là danh sách các hoạt động giúp điều hòa giác quan cho trẻ tự kỷ, có thể áp dụng bổ sung vào các hoạt động thường ngày với trẻ mà bố mẹ nên biết.
Dấu hiệu nhận biết trẻ tự kỷ
Trẻ mang hội chứng phổ tự kỷ có những dấu hiệu nào? Làm sao để nhận biết theo từng giai đoạn của trẻ từ 6 tháng đến 5 tuổi? Làm sao để phân biệt quyết định giữa tự kỷ với Tăng động giảm chú ý (ADHD) hay chậm nói thông thường? Bài viết dưới đây sẽ làm rõ những câu trả lời cho bố mẹ.
Rối loạn phổ tự kỷ (ASD) đi kèm chậm phát triển được đặc trưng bởi hai trụ cột cốt lõi theo tiêu chuẩn y khoa DSM-5: khiếm khuyết về giao tiếp – tương tác xã hội và các mẫu hành vi, sở thích rập khuôn, lặp đi lặp lại (kèm theo rối loạn xử lý giác quan). Điểm phân biệt quyết định giữa tự kỷ với Tăng động giảm chú ý (ADHD) hay chậm nói thông thường không nằm ở việc “trẻ nói được bao nhiêu từ” hay “nghịch ngợm mức nào”, mà nằm ở động cơ kết nối xã hội và khả năng chú ý chung (Joint Attention).
1. Dấu hiệu nhận biết theo từng mốc tuổi (Từ 6 tháng đến 5 tuổi)
Sự khác biệt của trẻ phổ tự kỷ kèm chậm phát triển thường bộc lộ qua sự thiếu hụt các kỹ năng tiền ngôn ngữ trước khi biểu hiện thành chậm nói.
Giai đoạn 6 – 12 tháng: Thiếu tương tác nền tảng
-
Giao tiếp mắt và biểu cảm: Ít hoặc không nhìn vào mắt người chăm sóc khi bú, khi được bế hoặc trò chuyện. Hiếm khi nở “nụ cười xã hội” (cười đáp lại khi người khác trêu đùa).
-
Phản ứng âm thanh: Không quay đầu khi được gọi tên (ở mốc 9–12 tháng), dù trẻ vẫn giật mình hoặc chạy ra xem khi nghe tiếng nhạc quảng cáo, tiếng mở gói bánh (thính lực hoàn toàn bình thường nhưng chọn lọc âm thanh).
-
Cử chỉ: Không biết vẫy tay chào, vỗ tay, hoặc giơ hai tay đòi bế. Không bập bẹ các âm đa dạng (ba-ba, ma-ma) mang tính chất gọi hỏi.
Giai đoạn 12 – 18 tháng: Đứt gãy “Chú ý chung” (Mốc sàng lọc vàng)
-
Không chỉ tay bằng ngón trỏ (Pointing): Ở tuổi này, trẻ bình thường biết dùng ngón trỏ chỉ vào đồ vật để xin(Imperative pointing) và quan trọng hơn là chỉ để khoe/chia sẻ sự thích thú (Declarative pointing) rồi quay lại nhìn mắt bố mẹ. Trẻ tự kỷ thường không chỉ ngón trỏ mà kéo tay người lớn đặt lên đồ vật như một công cụ để mở nắp hoặc lấy hộ.
-
Không bắt chước: Không bắt chước các hành động đơn giản như chải đầu, nghe điện thoại đồ chơi, hoặc làm theo khẩu hình.
-
Từ đơn: Chưa có từ đơn có nghĩa khi 16 tháng tuổi.
Giai đoạn 18 – 24 tháng: Hành vi rập khuôn & Chơi đơn độc
-
Thiếu chơi giả vờ (Pretend Play): Không biết chơi đóng vai (cho búp bê ăn, giả làm bác sĩ, nấu ăn). Thay vào đó, trẻ chơi đồ chơi theo cách phi chức năng: lật ngửa ô tô để quay bánh xe liên tục, xếp hàng dài đồ vật theo một đường thẳng cố định (ai làm lệch sẽ gào khóc dữ dội).
-
Thoái lui phát triển (Regression): Khoảng 25–30% trẻ tự kỷ từng nói được vài từ hoặc biết vẫy tay lúc 12–15 tháng nhưng đột ngột mất hẳn ngôn ngữ và thu mình lại trong giai đoạn 18–24 tháng.
-
Kích thích giác quan (Stimming): Đi nhón gót thường xuyên, vẫy tay trước mặt, xoay tròn người mà không chóng mặt, nhìn nghiêng (liếc mắt) vào các vật chuyển động hoặc khe sáng.
Giai đoạn 2 – 3 tuổi: Bất thường ngôn ngữ & Cảm xúc
-
Nhại lời (Echolalia): Trẻ có thể không nói hoặc nói được nhưng chỉ lặp lại nguyên văn câu hỏi của người lớn (Hỏi: “Con ăn cơm chưa?” – Đáp: “Con ăn cơm chưa?”) hoặc đọc thuộc lòng lời thoại tiếng Anh, bài hát trên tivi nhưng không dùng được ngôn ngữ để xin uống nước hay diễn đạt nhu cầu.
-
Khủng hoảng (Meltdown) khi thay đổi: Rất cứng nhắc với trình tự sinh hoạt (phải đi đúng một con đường về nhà, mặc đúng một chiếc áo, ăn đúng một loại thức ăn có kết cấu nhất định).
Giai đoạn 3 – 5 tuổi: Rào cản hòa nhập xã hội
-
Không kết bạn: Chơi cạnh các bạn nhưng không chơi cùng (không hiểu luật chơi luân phiên, không quan tâm cảm xúc vui buồn của người khác).
-
Ngôn ngữ thiếu ngữ cảnh: Nếu có ngôn ngữ, giọng nói thường đều đều như robot (thiếu ngữ điệu), sai đại từ nhân xưng (gọi bản thân là “bạn”, “con” theo cách người lớn gọi mình), hiểu mọi thứ theo nghĩa đen tuyệt đối.
2. Phân biệt rõ ràng: Tự kỷ (ASD) vs. Tăng động giảm chú ý (ADHD) vs. Chậm nói đơn thuần
Rất nhiều phụ huynh nhầm lẫn giữa các hội chứng này vì bên ngoài trẻ đều có biểu hiện “gọi không thưa”, “chạy nhảy liên tục” hoặc “ăn vạ”. Bảng dưới đây vạch rõ nguyên nhân gốc rễ (luận điểm phân biệt) của từng hành vi:
Lưu ý lâm sàng: Khoảng 30–50% trẻ tự kỷ có đi kèm các triệu chứng của ADHD (gọi là đồng mắc AuDHD). Tuy nhiên, ADHD đơn thuần thường không gây chậm nói nặng và trẻ ADHD luôn hiểu rõ cảm xúc, nét mặt của người khác.
3. Các dấu hiệu ở “Trẻ bình thường” rất dễ bị hiểu nhầm là Tự kỷ
Đừng vội kết luận trẻ tự kỷ nếu chỉ thấy một vài hành vi bề nổi nhưng kỹ năng giao tiếp mắt và chú ý chung của trẻ vẫn tốt:
-
Đi nhón gót (Toe-walking): Khá phổ biến ở trẻ mới tập đi (12–24 tháng) do đang khám phá thăng bằng hoặc có gân gót chân hơi ngắn (Idiopathic toe-walking). Nếu trẻ đi nhón gót nhưng vẫn cười đùa, chỉ trỏ, nói chuyện bình thường thì đây chỉ là thói quen vận động.
-
Xếp đồ chơi thành hàng hoặc thích quay đồ vật (Giai đoạn 18–30 tháng): Trong tâm lý học phát triển, đây là giai đoạn trẻ hình thành “Sơ đồ nhận thức” (Play Schemas) về quỹ đạo chuyển động (Rotation schema) và trật tự không gian (Positioning schema).
-
Điểm khác biệt: Trẻ bình thường xếp hàng xong sẽ gọi bố mẹ xem và nếu bạn thêm một chiếc xe vào hàng, trẻ sẽ hào hứng chơi tiếp. Trẻ tự kỷ xếp hàng trong trạng thái đắm chìm, không cho ai can thiệp.
-
-
Vẫy tay khi phấn khích (Hand-flapping): Trẻ dưới 2 tuổi hệ thần kinh vận động chưa hoàn thiện nên khi quá vui mừng thường vung vẩy hai tay hoặc dậm chân. Hành vi này ở trẻ bình thường chỉ xuất hiện đúng lúc có cảm xúc vui sướng và nhìn thẳng vào bố mẹ, trong khi ở trẻ tự kỷ, vẫy tay xảy ra tự phát ngay cả khi ngồi một mình để tự kích thích thị giác/cảm giác cơ khớp.
-
“Loạn ngôn ngữ giả tự kỷ” do xem tivi/điện thoại sớm (Virtual Autism): Trẻ dưới 2 tuổi xem màn hình quá nhiều (trên 2–3 giờ/ngày) có thể bị thụ động hóa: gọi không quay lại, nhại tiếng Anh vô nghĩa, cáu gắt khi bị tịch thu điện thoại.
-
Điểm khác biệt: Khi cắt tuyệt đối màn hình và tăng tương tác trực tiếp trong 1–2 tháng, trẻ bị ảnh hưởng bởi màn hình sẽ phục hồi giao tiếp mắt và bật âm rất nhanh, trong khi trẻ tự kỷ thực sự (do nguyên nhân thần kinh bẩm sinh) cần can thiệp chuyên sâu dài hạn.
-
-
Khủng hoảng tuổi lên 2 (Terrible Twos Tantrum) vs. Quá tải giác quan (Autistic Meltdown):
-
Ăn vạ thông thường (Tantrum): Có mục đích (đòi mua đồ chơi, đòi xem điện thoại). Trẻ vừa khóc vừa liếc nhìn xem bố mẹ có nhượng bộ không; khi được đáp ứng hoặc được đánh lạc hướng thì nín ngay.
-
Cơn bùng nổ tự kỷ (Meltdown): Xảy ra do quá tải âm thanh, ánh sáng hoặc thay đổi đột ngột. Trẻ mất kiểm soát hoàn toàn, không quan tâm có ai nhìn hay không, và dù có đưa đồ trẻ thích thì cơn hoảng loạn cũng không dừng lại ngay được.
-
Công cụ đối chiếu & Sàng lọc phân biệt trực quan
Sử dụng bảng điều khiển tương tác dưới đây được tạ bởi Google Gemini dựa trên dữ liệu khoa học công bố để đưa ra giao diện trực quan giúp lọc theo từng độ tuổi hoặc đối chiếu trực tiếp mức độ biểu hiện qua 6 trục hành vi cốt lõi giữa Tự kỷ (ASD), Tăng động giảm chú ý (ADHD), Chậm nói đơn thuần, và Trẻ phát triển điển hình:
(function() { const host = document.getElementById('asd-chart-wp-host'); if (!host) return; // Thẻ giữ chỗ (Placeholder) để khi nhấc bảng ra document.body không làm giật trang WordPress const placeholder = document.createComment('asd-chart-portal-placeholder'); // Khởi tạo Shadow DOM cách ly 100% với CSS của Theme WordPress const shadow = host.attachShadow({ mode: 'open' }); const groups = [ { id: 'typical', name: 'Phát triển điển hình', color: '#10b981', active: true }, { id: 'speech', name: 'Chậm nói đơn thuần', color: '#3b82f6', active: true }, { id: 'adhd', name: 'Tăng động (ADHD)', color: '#f59e0b', active: true }, { id: 'asd', name: 'Phổ tự kỷ (ASD)', color: '#ef4444', active: true } ]; const metrics = [ '1. Giao tiếp mắt & Nụ cười xã hội', '2. Chú ý chung & Chỉ trỏ chia sẻ', '3. Ngôn ngữ diễn đạt & Hiểu lời', '4. Chơi giả vờ & Tưởng tượng', '5. Tập trung & Kiểm soát xung động', '6. Linh hoạt trước thay đổi & Giác quan' ]; const dataset = { age1: { scores: { typical: [95, 90, 85, 80, 75, 85], speech: [95, 90, 30, 80, 75, 80], adhd: [80, 75, 80, 75, 35, 70], asd: [25, 15, 25, 20, 40, 25] }, insight: 'Ở mốc 12–18 tháng (Mốc vàng sàng lọc): Trẻ Chậm nói đơn thuần có điểm Ngôn ngữ thấp (30%) nhưng dùng Giao tiếp mắt (95%) và Chỉ trỏ (90%) cực tốt để bù đắp. Ngược lại, trẻ Phổ tự kỷ suy giảm đồng loạt cả Giao tiếp mắt lẫn Chú ý chung (15–25%).' }, age2: { scores: { typical: [95, 95, 90, 90, 80, 85], speech: [95, 90, 40, 85, 75, 80], adhd: [80, 80, 80, 80, 25, 65], asd: [30, 20, 30, 20, 35, 20] }, insight: 'Ở mốc 24–36 tháng: Sự khác biệt bộc lộ rõ ở kỹ năng Chơi giả vờ và Tính linh hoạt. Trẻ Tự kỷ thường xếp hàng đồ vật, quay bánh xe và hoảng loạn khi thay đổi thói quen (20%), trong khi trẻ ADHD chơi đúng chức năng nhưng nhanh chán và khó ngồi yên (25%).' }, age3: { scores: { typical: [95, 95, 95, 95, 85, 90], speech: [95, 95, 70, 90, 80, 85], adhd: [85, 85, 85, 85, 20, 60], asd: [35, 25, 40, 25, 35, 25] }, insight: 'Ở mốc 3–5 tuổi: Trẻ Chậm nói đơn thuần bắt đầu đuổi kịp ngôn ngữ (70%) và hòa nhập bạn bè tốt. Ranh giới giữa Tự kỷ và ADHD lúc này nằm ở Động lực xã hội: trẻ ADHD rất thích kết bạn nhưng bốc đồng (20% kiểm soát), còn trẻ Tự kỷ gặp rào cản trong giao tiếp hai chiều.' } }; let currentAge = 'age1'; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .acw-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 14px; box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06); overflow: hidden; position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .acw-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .acw-inner { padding: 24px; max-width: 900px; margin: 0 auto; background: #ffffff; } .acw-wrap.is-fullscreen .acw-inner { min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng khi cuộn */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .acw-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(2, 132, 199, 0.45), 0 0 0 0 rgba(2, 132, 199, 0.4); } 70% { box-shadow: 0 6px 20px rgba(2, 132, 199, 0.45), 0 0 0 10px rgba(2, 132, 199, 0); } 100% { box-shadow: 0 6px 20px rgba(2, 132, 199, 0.45), 0 0 0 0 rgba(2, 132, 199, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #0369a1 0%, #0284c7 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(2, 132, 199, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Header của bảng */ .acw-header-row { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; margin-bottom: 16px; } .acw-header-text { flex: 1 1 260px; } .acw-title { font-size: 20px; font-weight: 700; margin: 0 0 6px 0; color: #0f172a; line-height: 1.35; } .acw-subtitle { font-size: 14px; color: #64748b; margin: 0; line-height: 1.5; } .btn-fullscreen-top { background: #f0f9ff; color: #0369a1; border: 1px solid #bae6fd; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #0284c7; color: #ffffff; border-color: #0284c7; } /* Bộ lọc độ tuổi */ .acw-age-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; background: #f1f5f9; padding: 6px; border-radius: 10px; } .acw-age-btn { flex: 1; min-width: 105px; padding: 9px 12px; border: none; background: transparent; border-radius: 7px; font-size: 14px; font-weight: 600; color: #475569; cursor: pointer; transition: all 0.2s ease; text-align: center; touch-action: manipulation; } .acw-age-btn:hover { color: #0f172a; } .acw-age-btn.active { background: #ffffff; color: #0284c7; box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08); } /* Bộ lọc nhóm trẻ */ .acw-group-toggles { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 22px; padding-bottom: 16px; border-bottom: 1px solid #f1f5f9; } .acw-toggle-btn { display: inline-flex; align-items: center; gap: 8px; padding: 6px 12px; border-radius: 20px; font-size: 13px; font-weight: 600; cursor: pointer; border: 1.5px solid #cbd5e1; background: #ffffff; color: #334155; transition: all 0.2s ease; user-select: none; touch-action: manipulation; } .acw-toggle-btn.off { opacity: 0.4; background: #f8fafc; text-decoration: line-through; } .acw-dot { width: 10px; height: 10px; border-radius: 50%; display: inline-block; flex-shrink: 0; } /* Khu vực biểu đồ */ .acw-metric-row { margin-bottom: 18px; } .acw-metric-label { font-size: 14px; font-weight: 700; color: #1e293b; margin-bottom: 8px; display: flex; justify-content: space-between; align-items: baseline; } .acw-bars-wrap { display: flex; flex-direction: column; gap: 7px; background: #f8fafc; padding: 10px 12px; border-radius: 8px; border: 1px solid #f1f5f9; } .acw-bar-item { display: flex; align-items: center; gap: 10px; font-size: 12.5px; } .acw-bar-name { width: 140px; flex-shrink: 0; color: #475569; font-weight: 500; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .acw-bar-track { flex: 1; height: 18px; background: #e2e8f0; border-radius: 9px; overflow: hidden; position: relative; } .acw-bar-fill { height: 100%; border-radius: 9px; transition: width 0.45s cubic-bezier(0.22, 1, 0.36, 1); position: relative; } .acw-bar-val { width: 42px; text-align: right; font-weight: 700; color: #334155; flex-shrink: 0; } /* Hộp luận điểm phân biệt */ .acw-insight-box { margin-top: 22px; background: #f0f9ff; border-left: 4px solid #0284c7; padding: 14px 16px; border-radius: 6px; font-size: 13.5px; line-height: 1.6; color: #0c4a6e; } .acw-insight-title { font-weight: 700; margin-bottom: 4px; color: #0369a1; display: block; } @media (max-width: 560px) { .acw-inner { padding: 16px; } .acw-title { font-size: 17.5px; } .acw-bar-name { width: 108px; font-size: 11.5px; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
Bảng Đối Chiếu 6 Trục Hành Vi Phát Triển Theo Độ Tuổi
Chọn mốc tuổi và bật/tắt các nhóm bên dưới để so sánh mức độ đáp ứng kỹ năng (thang 0 – 100%).
(function() { const host = document.getElementById('mchat-wp-host'); if (!host) return; // Thẻ giữ chỗ (Placeholder) để khi nhấc bảng ra document.body không làm giật trang WordPress const placeholder = document.createComment('mchat-portal-placeholder'); // Khởi tạo Shadow DOM cách ly 100% với CSS của Theme WordPress const shadow = host.attachShadow({ mode: 'open' }); // Dữ liệu 20 câu hỏi M-CHAT-R chuẩn y khoa const questions = [ { id: 1, t: 'Nếu bạn chỉ tay vào một vật gì đó trong phòng, bé có nhìn theo hướng bạn chỉ không?', r: 'NO', c: 'crit', cat: 'Đáp ứng chú ý chung' }, { id: 2, t: 'Bạn có bao giờ tự hỏi liệu con mình có bị điếc (nghe kém) không?', r: 'YES', c: 'sen', cat: 'Phản ứng âm thanh (Câu đảo ngược)' }, { id: 3, t: 'Bé có biết chơi trò giả vờ không? (VD: giả vờ uống nước từ cốc rỗng, nghe điện thoại, cho búp bê ăn)', r: 'NO', c: 'soc', cat: 'Tư duy chơi giả vờ' }, { id: 4, t: 'Bé có thích leo trèo lên đồ vật không? (VD: bàn ghế, cầu thang, đồ chơi vận động)', r: 'NO', c: 'sen', cat: 'Vận động thô' }, { id: 5, t: 'Bé có những cử động ngón tay bất thường ở ngay sát trước mắt mình không? (VD: vẫy/búng ngón tay sát mắt)', r: 'YES', c: 'sen', cat: 'Kích thích thị giác - Stimming (Câu đảo ngược)' }, { id: 6, t: 'Bé có dùng một ngón tay (ngón trỏ) để chỉ vào thứ bé muốn XIN hoặc nhờ lấy giúp không?', r: 'NO', c: 'crit', cat: 'Chỉ trỏ yêu cầu' }, { id: 7, t: 'Bé có dùng một ngón tay để chỉ vào thứ gì đó thú vị chỉ để KHOE / CHIA SẺ với bạn không? (VD: chỉ máy bay, con chó)', r: 'NO', c: 'crit', cat: 'Khởi xướng chú ý chung (Quan trọng nhất)' }, { id: 8, t: 'Bé có quan tâm đến những đứa trẻ khác không? (VD: nhìn các bạn chơi, cười hoặc đi tới gần bạn)', r: 'NO', c: 'soc', cat: 'Động lực xã hội' }, { id: 9, t: 'Bé có mang đồ vật lại đưa cho bạn xem chỉ để KHOE (chứ không phải để nhờ mở giúp) không?', r: 'NO', c: 'crit', cat: 'Chia sẻ niềm vui hai chiều' }, { id: 10, t: 'Bé có phản ứng (ngẩng lên nhìn, bập bẹ, ngừng chơi) khi bạn gọi tên bé không?', r: 'NO', c: 'soc', cat: 'Định hướng tên gọi' }, { id: 11, t: 'Khi bạn mỉm cười với bé, bé có mỉm cười đáp lại bạn không?', r: 'NO', c: 'soc', cat: 'Nụ cười xã hội' }, { id: 12, t: 'Bé có tỏ ra khó chịu quá mức, bịt tai hoặc hoảng loạn trước những tiếng ồn thông thường hàng ngày không?', r: 'YES', c: 'sen', cat: 'Nhạy cảm thính giác (Câu đảo ngược)' }, { id: 13, t: 'Bé đã biết đi chưa?', r: 'NO', c: 'sen', cat: 'Vận động cơ bản' }, { id: 14, t: 'Bé có nhìn vào mắt bạn khi bạn đang nói chuyện, chơi đùa hoặc mặc quần áo cho bé không?', r: 'NO', c: 'crit', cat: 'Giao tiếp mắt trực diện' }, { id: 15, t: 'Bé có cố gắng bắt chước những gì bạn làm không? (VD: vẫy tay bye-bye, vỗ tay, làm tiếng động vui nhộn)', r: 'NO', c: 'crit', cat: 'Bắt chước xã hội' }, { id: 16, t: 'Nếu bạn quay đầu nhìn thứ gì đó, bé có nhìn quanh để xem bạn đang nhìn cái gì không?', r: 'NO', c: 'soc', cat: 'Theo dõi ánh mắt' }, { id: 17, t: 'Bé có cố gắng thu hút sự chú ý để bạn nhìn vào bé không? (VD: nhìn bạn chờ khen hoặc kêu "Mẹ nhìn này")', r: 'NO', c: 'soc', cat: 'Tìm kiếm sự công nhận' }, { id: 18, t: 'Bé có hiểu khi bạn bảo bé làm một việc gì đó không? (VD: không chỉ tay mà nói "Con lấy cho mẹ cái chăn")', r: 'NO', c: 'sen', cat: 'Ngôn ngữ tiếp nhận (Hiểu lời)' }, { id: 19, t: 'Nếu có điều gì mới lạ xảy ra, bé có nhìn lên mặt bạn để xem bạn phản ứng thế nào về việc đó không?', r: 'NO', c: 'crit', cat: 'Tham chiếu xã hội' }, { id: 20, t: 'Bé có thích các hoạt động chuyển động có tương tác không? (VD: được đung đưa, nhún nhảy trên đùi bạn)', r: 'NO', c: 'soc', cat: 'Tương tác cảm xúc - vận động' } ]; let answers = {}; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .mc-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (ĐÃ ĐƯỢC PORTAL RA BODY) */ .mc-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .mc-inner { padding: 24px; max-width: 900px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .mc-wrap.is-fullscreen .mc-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng khi cuộn */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .mc-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(3, 105, 161, 0.45), 0 0 0 0 rgba(3, 105, 161, 0.4); } 70% { box-shadow: 0 6px 20px rgba(3, 105, 161, 0.45), 0 0 0 10px rgba(3, 105, 161, 0); } 100% { box-shadow: 0 6px 20px rgba(3, 105, 161, 0.45), 0 0 0 0 rgba(3, 105, 161, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #0369a1 0%, #0284c7 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(3, 105, 161, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Phần tiêu đề */ .mc-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 18px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .mc-header-text { flex: 1 1 260px; } .mc-title { font-size: 21px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .mc-desc { font-size: 14px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #f0f9ff; color: #0369a1; border: 1px solid #bae6fd; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #0284c7; color: #ffffff; border-color: #0284c7; } /* Thanh nút kịch bản mẫu */ .mc-presets { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; } .mc-preset-lbl { font-size: 12.5px; font-weight: 700; color: #475569; margin-right: 4px; } .mc-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; transition: all 0.15s ease; touch-action: manipulation; } .mc-pbtn:hover { background: #f1f5f9; border-color: #94a3b8; } .mc-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } /* Bảng điểm nổi (Sticky Dashboard) */ .mc-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } /* Khi ở chế độ toàn màn hình, đẩy bảng điểm xuống ngay dưới thanh thoát toàn màn hình */ .mc-wrap.is-fullscreen .mc-dash { top: 58px; } .mc-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .mc-score-big { font-size: 24px; font-weight: 800; line-height: 1; } .mc-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .mc-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .mc-bar-bg { height: 10px; background: #334155; border-radius: 5px; overflow: hidden; margin-bottom: 12px; } .mc-bar-fill { height: 100%; width: 0%; background: #10b981; transition: width 0.35s ease, background 0.35s ease; } .mc-pillars { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; font-size: 12px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .mc-pillar-box { background: #1e293b; padding: 7px 10px; border-radius: 8px; } .mc-pillar-val { font-weight: 700; color: #ffffff; font-size: 13.5px; display: block; margin-top: 2px; } /* Danh sách 20 câu hỏi */ .mc-q-item { border: 1px solid #e2e8f0; border-radius: 10px; padding: 14px 16px; margin-bottom: 12px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 10px; } .mc-q-item.risk-flagged { border-color: #fca5a5; background: #fff5f5; } .mc-q-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; } .mc-q-text { font-size: 14.5px; font-weight: 600; color: #1e293b; line-height: 1.5; flex: 1; } .mc-q-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; } .mc-tag { font-size: 11px; font-weight: 600; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .mc-tag.crit { background: #e0f2fe; color: #0369a1; } .mc-tag.rev { background: #fef3c7; color: #b45309; } /* Nút chọn CÓ / KHÔNG */ .mc-ans-group { display: flex; gap: 8px; flex-shrink: 0; } .mc-abtn { min-width: 78px; padding: 8px 14px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 13.5px; font-weight: 700; color: #334155; cursor: pointer; transition: all 0.15s ease; touch-action: manipulation; } .mc-abtn:hover { border-color: #64748b; } .mc-abtn.sel-safe { background: #10b981; border-color: #10b981; color: #ffffff; } .mc-abtn.sel-risk { background: #ef4444; border-color: #ef4444; color: #ffffff; } /* Hộp phân tích kết quả cuối bảng */ .mc-result-box { margin-top: 20px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #64748b; font-size: 14px; line-height: 1.65; color: #1e293b; } /* Tối ưu giao diện điện thoại */ @media (max-width: 600px) { .mc-inner { padding: 14px; } .mc-title { font-size: 18px; } .mc-q-head { flex-direction: column; } .mc-ans-group { width: 100%; } .mc-abtn { flex: 1; padding: 10px 14px; } .mc-pillars { grid-template-columns: 1fr; } .mc-pbtn.reset { margin-left: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
Bảng Chấm Điểm Sàng Lọc Tự Kỷ Chuẩn Y Khoa M-CHAT-R/F (16 – 30 tháng)
Hãy chọn CÓ hoặc KHÔNG dựa trên hành vi thường xuyên của bé. Hệ thống tự động đảo chiều điểm ở câu 2, 5, 12 và đối chiếu nhóm kỹ năng Chú ý chung để phân biệt với Chậm nói đơn thuần / ADHD.
• Hệ thống Chú ý chung và Giao tiếp phi ngôn ngữ của bé hoạt động tốt (${crit}/7 điểm rủi ro nhóm cốt lõi).
• Phân biệt với Chậm nói đơn thuần: Nếu bé hiện tại chưa nói được nhiều từ nhưng đạt mức điểm này (biết chỉ trỏ khoe đồ, nhìn mắt, hiểu lời nói), khả năng rất cao bé chỉ bị chậm nói diễn đạt đơn thuần. Nếu bé dưới 24 tháng tuổi, hãy sàng lọc lại khi bé tròn 24 tháng. `; } else if (total = 2) ? `Bé có ${crit}/7 dấu hiệu rủi ro ở nhóm Chú ý chung cốt lõi (chỉ trỏ, giao tiếp mắt, khoe đồ vật). Đây là dấu hiệu cảnh báo sớm của phổ tự kỷ chứ không chỉ là chậm nói hay hiếu động đơn thuần.` : `Điểm rủi ro của bé chủ yếu nằm ở nhóm Giác quan/Ngôn ngữ hoặc Mất tập trung, trong khi Chú ý chung cốt lõi khá tốt (${crit}/7). Trường hợp này rất dễ gặp ở trẻ Tăng động giảm chú ý (ADHD) hoặc chậm nói kèm nhạy cảm giác quan.`; analysis = ` Kết luận sàng lọc — Nguy cơ TRUNG BÌNH (${total}/20 điểm):
• ${diffNote}
• Hướng xử trí chuẩn M-CHAT-R/F: Cần thực hiện bước 2 — Phỏng vấn theo dõi (Follow-Up) cho ${total} câu có điểm rủi ro để làm rõ ngữ cảnh. Nếu sau khi kiểm tra kỹ vẫn còn từ 2 điểm trở lên, cần đưa bé đi khám chuyên khoa Tâm bệnh / Nhi phát triển hành vi. `; } else { color = '#ef4444'; badgeTxt = 'NGUY CƠ CAO (8 – 20 điểm)'; analysis = ` Kết luận sàng lọc — Nguy cơ CAO (${total}/20 điểm, trong đó có ${crit}/7 câu cốt lõi):
• Bé biểu hiện sự suy giảm rõ rệt ở cả hai trụ cột: Chú ý chung (Joint Attention) và Tương tác xã hội hai chiều.
• Hướng xử trí chuẩn M-CHAT-R/F: Với mức điểm từ 8 trở lên, gia đình có thể bỏ qua bước phỏng vấn phụ và đưa bé đi khám chẩn đoán chuyên sâu ngay (bằng thang ADOS-2, DSM-5) tại khoa Tâm bệnh / Phát triển hành vi Nhi để bắt đầu can thiệp sớm trong giai đoạn vàng. `; } barFillEl.style.background = color; badgeEl.textContent = badgeTxt; badgeEl.style.background = color; badgeEl.style.color = '#ffffff'; resBoxEl.style.borderLeftColor = color; resBoxEl.innerHTML = analysis; updateFloatingFabVisibility(); } // Kiểm tra vùng cuộn để hiện/ẩn nút nổi thông minh function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; // Hiện nút nổi khi người đọc đang lướt ngang qua vùng bảng M-CHAT-R/F const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } // KỸ THUẬT DOM PORTAL: Nhấc thẳng #mchat-wp-host ra trực tiếp document.body khi phóng to function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); mcWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { mcWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 880px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } // Gắn sự kiện cho các nút Kịch bản mẫu const presetBtns = shadow.querySelectorAll('.mc-pbtn'); presetBtns.forEach(function(btn) { btn.onclick = function() { const type = this.getAttribute('data-preset'); answers = {}; if (type === 'speech') { questions.forEach(function(q) { answers[q.id] = (q.r === 'YES' ? 'NO' : 'YES'); }); answers[18] = 'NO'; } else if (type === 'adhd') { questions.forEach(function(q) { answers[q.id] = (q.r === 'YES' ? 'NO' : 'YES'); }); answers[2] = 'YES'; answers[10] = 'NO'; answers[12] = 'YES'; } else if (type === 'asd') { questions.forEach(function(q) { answers[q.id] = (q.r === 'YES' ? 'NO' : 'YES'); }); [1, 2, 3, 5, 6, 7, 8, 9, 10, 14, 15, 16, 19].forEach(function(id) { const qObj = questions[id - 1]; answers[id] = qObj.r; }); } renderQuestions(); updateSummary(); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); renderQuestions(); updateSummary(); })();
Sàng lọc ban đầu (Phát hiện sớm nguy cơ)
(function(){
function mountShadowScreening(){
var host = document.getElementById('phuchoi-screening-host');
if(!host) return;
if(host.shadowRoot) return;
if(!host.attachShadow) return;
var shadow = host.attachShadow({mode:'open'});
var css = [
':host{all:initial;display:block;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:#1e293b;line-height:1.6;width:100%;box-sizing:border-box;}',
'*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}',
'.screening-card{width:100%;background:#ffffff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 8px 24px rgba(15,23,42,0.05);overflow:hidden;}',
'.sc-intro{background:linear-gradient(135deg,#fffbeb 0%,#fef3c7 100%);padding:20px 24px;border-bottom:1px solid #fde68a;display:flex;align-items:center;gap:14px;}',
'.sc-icon{font-size:26px;line-height:1;background:#ffffff;width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 10px rgba(217,119,6,0.12);flex-shrink:0;}',
'.sc-intro-text{font-size:15px;color:#0f172a;margin:0;}',
'.sc-intro-text strong{color:#b45309;font-weight:700;}',
'.sc-table{width:100%;border-collapse:collapse;border-spacing:0;}',
'.sc-table thead th{background:#f8fafc;color:#334155;font-size:12.5px;font-weight:800;text-transform:uppercase;letter-spacing:0.4px;padding:14px 20px;text-align:left;border-bottom:2px solid #e2e8f0;}',
'.sc-table tbody tr{border-bottom:1px solid #e2e8f0;transition:background 0.2s ease;}',
'.sc-table tbody tr:last-child{border-bottom:none;}',
'.sc-table tbody tr:hover{background:#f8fafc;}',
'.sc-table td{padding:20px;vertical-align:top;}',
'.step-tag{display:inline-block;font-size:11px;font-weight:700;padding:2px 9px;border-radius:999px;text-transform:uppercase;margin-bottom:6px;}',
'.tag-blue{background:#dbeafe;color:#1d4ed8;}',
'.tag-green{background:#dcfce7;color:#15803d;}',
'.group-badge{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:800;color:#0f172a;}',
'.tools-wrap{display:flex;flex-wrap:wrap;gap:8px;}',
'.tool-link{display:inline-flex;align-items:center;gap:5px;padding:6px 13px;border-radius:8px;font-size:13.5px;font-weight:700;text-decoration:none;transition:all 0.18s ease;border:1.5px solid transparent;cursor:pointer;}',
'.tool-link::after{content:"↗";font-size:11px;opacity:0.75;}',
'.tool-blue{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe;}',
'.tool-blue:hover{background:#2563eb;color:#ffffff;border-color:#2563eb;transform:translateY(-2px);box-shadow:0 4px 10px rgba(37,99,235,0.25);}',
'.tool-green{background:#f0fdf4;color:#15803d;border-color:#bbf7d0;}',
'.tool-green:hover{background:#16a34a;color:#ffffff;border-color:#16a34a;transform:translateY(-2px);box-shadow:0 4px 10px rgba(22,163,74,0.25);}',
'.desc-text{font-size:14.2px;color:#334155;margin:0;}',
'@media (max-width:768px){.sc-intro{padding:16px;align-items:flex-start;}.sc-table thead{display:none;}.sc-table,.sc-table tbody,.sc-table tr,.sc-table td{display:block;width:100%;}.sc-table tbody tr{padding:16px;}.sc-table td{padding:6px 0;}.tools-wrap{margin:6px 0 8px 0;}}'
].join('');
var styleEl = document.createElement('style');
styleEl.textContent = css;
shadow.appendChild(styleEl);
var rowsData = [
{
stepCls: 'tag-blue',
stepTxt: 'Nhóm 1 • Chuyên biệt',
title: '🧩 Nhóm sàng lọc Tự kỷ',
btnCls: 'tool-blue',
tools: [
{name: 'M-CHAT-R/F', url: 'https://phuchoi.vn/kien-thuc/cong-cu/sang-loc-ban-dau/m-chat-r-f/'},
{name: 'STAT', url: 'https://phuchoi.vn/kien-thuc/cong-cu/sang-loc-ban-dau/stat/'},
{name: 'SCQ', url: 'https://phuchoi.vn/kien-thuc/cong-cu/sang-loc-ban-dau/scq/'},
{name: 'CAST', url: 'https://phuchoi.vn/kien-thuc/cong-cu/sang-loc-ban-dau/cast/'},
{name: 'ASSQ', url: 'https://phuchoi.vn/kien-thuc/cong-cu/sang-loc-ban-dau/assq/'},
{name: 'AQ', url: 'https://phuchoi.vn/kien-thuc/cong-cu/sang-loc-ban-dau/aq/'},
{name: 'RAADS-R', url: 'https://phuchoi.vn/kien-thuc/cong-cu/sang-loc-ban-dau/raads-r/'},
{name: 'CSBS DP', url: 'https://phuchoi.vn/kien-thuc/cong-cu/sang-loc-ban-dau/csbs-dp/'},
{name: 'SRS-2', url: 'https://phuchoi.vn/kien-thuc/cong-cu/sang-loc-ban-dau/srs-2/'}
],
desc: 'Các bộ câu hỏi chuẩn hóa giúp phát hiện sớm dấu hiệu nguy cơ tự kỷ qua từng độ tuổi, làm cơ sở định hướng thăm khám chuyên sâu.'
},
{
stepCls: 'tag-green',
stepTxt: 'Nhóm 2 • Toàn diện',
title: '🌱 Nhóm sàng lọc Phát triển chung',
btnCls: 'tool-green',
tools: [
{name: 'ASQ-3', url: 'https://phuchoi.vn/kien-thuc/cong-cu/sang-loc-ban-dau/asq-3/'},
{name: 'Denver II', url: 'https://phuchoi.vn/kien-thuc/cong-cu/sang-loc-ban-dau/denver-ii/'},
{name: 'PEDS', url: 'https://phuchoi.vn/kien-thuc/cong-cu/sang-loc-ban-dau/peds/'}
],
desc: 'Rà soát các mốc phát triển toàn diện (vận động, ngôn ngữ, nhận thức, xã hội) theo độ tuổi của trẻ.'
}
];
var card = document.createElement('div');
card.className = 'screening-card';
var intro = document.createElement('div');
intro.className = 'sc-intro';
var icon = document.createElement('div');
icon.className = 'sc-icon';
icon.textContent = '⚠️';
var introP = document.createElement('p');
introP.className = 'sc-intro-text';
introP.appendChild(document.createTextNode('Với các bộ công cụ bên dưới, kết quả sàng lọc chỉ mang tính chất '));
var strongEl = document.createElement('strong');
strongEl.textContent = 'cảnh báo sớm';
introP.appendChild(strongEl);
introP.appendChild(document.createTextNode(', không thay thế cho kết luận chẩn đoán y khoa chuyên sâu.'));
intro.appendChild(icon);
intro.appendChild(introP);
card.appendChild(intro);
var table = document.createElement('table');
table.className = 'sc-table';
var thead = document.createElement('thead');
var trHead = document.createElement('tr');
var headers = [
{txt: 'Phân Nhóm Sàng Lọc', w: '26%'},
{txt: 'Bộ Công Cụ Chuẩn Hóa (Nhấn để xem)', w: '36%'},
{txt: 'Vai Trò & Ý Nghĩa Thực Tiễn', w: '38%'}
];
headers.forEach(function(h){
var th = document.createElement('th');
th.style.width = h.w;
th.textContent = h.txt;
trHead.appendChild(th);
});
thead.appendChild(trHead);
table.appendChild(thead);
var tbody = document.createElement('tbody');
rowsData.forEach(function(r){
var tr = document.createElement('tr');
var td1 = document.createElement('td');
var tag = document.createElement('span');
tag.className = 'step-tag ' + r.stepCls;
tag.textContent = r.stepTxt;
var badge = document.createElement('div');
badge.className = 'group-badge';
badge.textContent = r.title;
td1.appendChild(tag);
td1.appendChild(badge);
var td2 = document.createElement('td');
var wrap = document.createElement('div');
wrap.className = 'tools-wrap';
r.tools.forEach(function(t){
var a = document.createElement('a');
a.className = 'tool-link ' + r.btnCls;
a.href = t.url;
a.target = '_blank';
a.rel = 'noopener';
a.textContent = t.name;
wrap.appendChild(a);
});
td2.appendChild(wrap);
var td3 = document.createElement('td');
var desc = document.createElement('p');
desc.className = 'desc-text';
desc.textContent = r.desc;
td3.appendChild(desc);
tr.appendChild(td1);
tr.appendChild(td2);
tr.appendChild(td3);
tbody.appendChild(tr);
});
table.appendChild(tbody);
card.appendChild(table);
shadow.appendChild(card);
}
if(document.readyState === 'loading'){
document.addEventListener('DOMContentLoaded', mountShadowScreening);
} else {
mountShadowScreening();
}
})();
Bài Viết
[Tự kỷ] CSBS DP: Bảng kiểm sàng lọc sớm giao tiếp và dấu hiệu tự kỷ cho trẻ rất nhỏ (6 – 24 tháng)
(function() { const host = document.getElementById('csbsdp-wp-host'); if (!host) return; const placeholder = document.createComment('csbsdp-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // Bảng Ngưỡng Điểm Cắt Đáng Lo Ngại (Concern Cutoffs 24 tháng) // Nếu điểm của trẻ <= các mốc dưới đây thì rơi vào vùng "Đáng lo ngại (Concern)" const normCutoffsByMonth = { 6: { soc: 7, spe: 1, sym: 2, tot: 12 }, 7: { soc: 8, spe: 1, sym: 2, tot: 13 }, 8: { soc: 9, spe: 2, sym: 3, tot: 16 }, 9: { soc: 11, spe: 2, sym: 3, tot: 18 }, 10: { soc: 13, spe: 3, sym: 4, tot: 22 }, 11: { soc: 14, spe: 3, sym: 5, tot: 24 }, 12: { soc: 15, spe: 4, sym: 6, tot: 27 }, 13: { soc: 16, spe: 4, sym: 7, tot: 29 }, 14: { soc: 17, spe: 5, sym: 8, tot: 32 }, 15: { soc: 18, spe: 5, sym: 9, tot: 34 }, 16: { soc: 19, spe: 6, sym: 10, tot: 37 }, 17: { soc: 19, spe: 6, sym: 11, tot: 38 }, 18: { soc: 20, spe: 7, sym: 11, tot: 40 }, 19: { soc: 20, spe: 8, sym: 12, tot: 42 }, 20: { soc: 20, spe: 8, sym: 12, tot: 42 }, 21: { soc: 20, spe: 9, sym: 13, tot: 44 }, 22: { soc: 20, spe: 9, sym: 13, tot: 44 }, 23: { soc: 21, spe: 10, sym: 14, tot: 46 }, 24: { soc: 21, spe: 10, sym: 14, tot: 46 } }; // Cấu hình 7 Cụm kỹ năng (Clusters) thuộc 3 Chỉ số Tổng hợp (Composites) const clusterConfigs = { emo: { code: 'emo', comp: 'soc', max: 8, name: 'Cụm 1. Cảm xúc & Giao tiếp Ánh mắt (Emotion & Eye Gaze • 4 câu)', color: '#2563eb' }, com: { code: 'com', comp: 'soc', max: 8, name: 'Cụm 2. Giao tiếp Có Chủ đích (Communication • 4 câu)', color: '#1d4ed8' }, ges: { code: 'ges', comp: 'soc', max: 10, name: 'Cụm 3. Cử chỉ Giao tiếp (Gestures • 5 câu)', color: '#3b82f6' }, snd: { code: 'snd', comp: 'spe', max: 8, name: 'Cụm 4. Âm thanh Tiền ngôn ngữ (Sounds • 3 câu)', color: '#0d9488' }, wrd: { code: 'wrd', comp: 'spe', max: 6, name: 'Cụm 5. Từ vựng & Kết hợp từ (Words • 2 câu)', color: '#059669' }, und: { code: 'und', comp: 'sym', max: 6, name: 'Cụm 6. Thông hiểu Ngôn ngữ (Understanding • 2 câu)', color: '#7c3aed' }, obj: { code: 'obj', comp: 'sym', max: 11, name: 'Cụm 7. Sử dụng Đồ vật & Chơi giả vờ (Object Use • 4 câu)', color: '#9333ea' } }; // Đầy đủ 24 Câu hỏi chuẩn của CSBS DP Infant-Toddler Checklist (Tổng điểm tối đa = 57 điểm) const stdOpts012 = [ { pt: 0, lbl: 'Chưa có (Not Yet • 0đ)' }, { pt: 1, lbl: 'Thỉnh thoảng (Sometimes • 1đ)' }, { pt: 2, lbl: 'Thường xuyên (Often • 2đ)' } ]; const questions = [ // CỤM 1: CẢM XÚC & GIAO TIẾP ÁNH MẮT (Câu 1 - 4 • Max 8đ • Thuộc SOCIAL COMPOSITE) { id: 1, clu: 'emo', comp: 'soc', t: 'Bạn có dễ dàng nhận biết được khi nào bé đang vui vẻ và khi nào bé đang khó chịu/buồn bực không?', opts: stdOpts012 }, { id: 2, clu: 'emo', comp: 'soc', t: 'Khi đang chơi với các món đồ chơi, bé có quay sang nhìn bạn để xem bạn có đang nhìn bé chơi không?', opts: stdOpts012 }, { id: 3, clu: 'emo', comp: 'soc', t: 'Bé có mỉm cười hoặc cười thành tiếng trong khi đang nhìn vào mắt bạn không?', opts: stdOpts012 }, { id: 4, clu: 'emo', comp: 'soc', t: 'Khi bạn nhìn và chỉ tay vào một món đồ chơi ở góc bên kia phòng, bé có nhìn theo hướng tay bạn chỉ tới món đồ chơi đó không?', opts: stdOpts012 }, // CỤM 2: GIAO TIẾP CÓ CHỦ ĐÍCH (Câu 5 - 8 • Max 8đ • Thuộc SOCIAL COMPOSITE) { id: 5, clu: 'com', comp: 'soc', t: 'Bé có biết chủ động cho bạn biết khi bé cần sự giúp đỡ hoặc muốn lấy một đồ vật nằm ngoài tầm tay với không?', opts: stdOpts012 }, { id: 6, clu: 'com', comp: 'soc', t: 'Khi bạn đang không chú ý đến bé, bé có cố gắng làm điều gì đó (như phát âm, gọi, kéo áo) để thu hút sự chú ý của bạn không?', opts: stdOpts012 }, { id: 7, clu: 'com', comp: 'soc', t: 'Bé có làm những trò ngộ nghĩnh, đáng yêu chỉ để khiến bạn bật cười không?', opts: stdOpts012 }, { id: 8, clu: 'com', comp: 'soc', t: 'Bé có cố gắng thu hút bạn chú ý nhìn vào những đồ vật mà bé thấy thú vị (nhưng không phải để xin lấy hộ) không?', opts: stdOpts012 }, // CỤM 3: CỬ CHỈ GIAO TIẾP (Câu 9 - 13 • Max 10đ • Thuộc SOCIAL COMPOSITE) { id: 9, clu: 'ges', comp: 'soc', t: 'Bé có biết cầm lấy một đồ vật và đưa trao vào tay bạn không?', opts: stdOpts012 }, { id: 10, clu: 'ges', comp: 'soc', t: 'Bé có giơ đồ vật lên đưa cho bạn xem (khoe đồ) nhưng không phải để đưa hẳn cho bạn không?', opts: stdOpts012 }, { id: 11, clu: 'ges', comp: 'soc', t: 'Bé có biết vẫy tay chào tạm biệt ("Bye-bye") không?', opts: stdOpts012 }, { id: 12, clu: 'ges', comp: 'soc', t: 'Bé có biết dùng ngón tay chỉ trỏ vào các đồ vật ở xa không?', opts: stdOpts012 }, { id: 13, clu: 'ges', comp: 'soc', t: 'Bé có biết gật đầu để biểu thị ý "Có / Đồng ý" không?', opts: stdOpts012 }, // CỤM 4: ÂM THANH TIỀN NGÔN NGỮ (Câu 14 - 16 • Max 8đ • Thuộc SPEECH COMPOSITE) { id: 14, clu: 'snd', comp: 'spe', t: 'Bé có sử dụng các âm thanh hoặc từ ngữ để xin giúp đỡ hoặc để thu hút sự chú ý của bạn không?', opts: stdOpts012 }, { id: 15, clu: 'snd', comp: 'spe', t: 'Bé có biết ghép các âm thanh lại với nhau thành chuỗi âm tiết lặp lại (ví dụ: "ba-ba-ba", "ma-ma", "đa-ga") không?', opts: stdOpts012 }, { id: 16, clu: 'snd', comp: 'spe', t: 'Bé đã phát âm được khoảng bao nhiêu phụ âm sau đây: M, N, B, P, D, T, G, K, V, L, S, X, Ch, Nh...?', opts: [ { pt: 0, lbl: 'Chưa có âm nào (0đ)' }, { pt: 1, lbl: '1 – 2 phụ âm (1đ)' }, { pt: 2, lbl: '3 – 4 phụ âm (2đ)' }, { pt: 3, lbl: '5 – 8 phụ âm (3đ)' }, { pt: 4, lbl: 'Trên 8 phụ âm (4đ)' } ] }, // CỤM 5: TỪ VỰNG & KẾT HỢP TỪ (Câu 17 - 18 • Max 6đ • Thuộc SPEECH COMPOSITE) { id: 17, clu: 'wrd', comp: 'spe', t: 'Bé đã tự nói được khoảng bao nhiêu từ đơn có nghĩa mà bạn nhận ra được (như "Mẹ", "Bà", "Măm", "Bóng", "Xe" — tính cả từ phát âm chưa thật tròn vành)?', opts: [ { pt: 0, lbl: 'Chưa nói từ nào (0đ)' }, { pt: 1, lbl: '1 – 3 từ đơn (1đ)' }, { pt: 2, lbl: '4 – 10 từ đơn (2đ)' }, { pt: 3, lbl: '11 – 30 từ đơn (3đ)' }, { pt: 4, lbl: 'Trên 30 từ vựng (4đ)' } ] }, { id: 18, clu: 'wrd', comp: 'spe', t: 'Bé có biết ghép 2 từ lại với nhau thành cụm từ có nghĩa (ví dụ: "Thêm nữa", "Mẹ bế", "Đi chơi", "Bóng này") không?', opts: stdOpts012 }, // CỤM 6: THÔNG HIỂU NGÔN NGỮ (Câu 19 - 20 • Max 6đ • Thuộc SYMBOLIC COMPOSITE) { id: 19, clu: 'und', comp: 'sym', t: 'Khi bạn gọi tên của bé, bé có quay đầu lại nhìn hoặc phản ứng ngay không?', opts: stdOpts012 }, { id: 20, clu: 'und', comp: 'sym', t: 'Bé hiểu được khoảng bao nhiêu tên gọi của người thân, bộ phận cơ thể hoặc đồ vật quen thuộc khi bạn hỏi mà không chỉ tay (như "Mẹ đâu?", "Bóng đâu?", "Mũi đâu?")?', opts: [ { pt: 0, lbl: 'Chưa hiểu tên đồ vật nào (0đ)' }, { pt: 1, lbl: 'Hiểu 1 – 3 tên gọi (1đ)' }, { pt: 2, lbl: 'Hiểu 4 – 10 tên gọi (2đ)' }, { pt: 3, lbl: 'Hiểu 11 – 30 tên gọi (3đ)' }, { pt: 4, lbl: 'Hiểu trên 30 tên gọi (4đ)' } ] }, // CỤM 7: SỬ DỤNG ĐỒ VẬT & CHƠI GIẢ VỜ (Câu 21 - 24 • Max 11đ • Thuộc SYMBOLIC COMPOSITE) { id: 21, clu: 'obj', comp: 'sym', t: 'Bé có tỏ ra thích thú chơi với nhiều loại đồ vật/đồ chơi đa dạng khác nhau (không chỉ dính chặt vào 1 món duy nhất) không?', opts: stdOpts012 }, { id: 22, clu: 'obj', comp: 'sym', t: 'Bé biết sử dụng đúng chức năng được khoảng bao nhiêu đồ vật thực tế sau đây: Cốc (để uống), Thìa/Bát (để xúc), Lược (chải đầu), Bàn chải (đánh răng), Điện thoại (áp lên tai), Xe hơi (đẩy lăn)?', opts: [ { pt: 0, lbl: 'Chưa biết dùng đúng chức năng (0đ)' }, { pt: 1, lbl: '1 – 2 đồ vật (1đ)' }, { pt: 2, lbl: '3 – 4 đồ vật (2đ)' }, { pt: 3, lbl: 'Từ 5 đồ vật trở lên (3đ)' } ] }, { id: 23, clu: 'obj', comp: 'sym', t: 'Bé có thể xếp chồng được khoảng bao nhiêu khối gỗ (hoặc hộp/vòng xếp) lên nhau thành tháp?', opts: [ { pt: 0, lbl: 'Chưa biết xếp chồng (0đ)' }, { pt: 1, lbl: 'Xếp được 2 khối (1đ)' }, { pt: 2, lbl: 'Xếp được 3 – 4 khối (2đ)' }, { pt: 3, lbl: 'Xếp được từ 5 khối trở lên (3đ)' } ] }, { id: 24, clu: 'obj', comp: 'sym', t: 'Bé có biết chơi đóng vai giả vờ chăm sóc búp bê hoặc thú nhồi bông (như lấy thìa đút cho gấu ăn, cho búp bê uống nước, đắp chăn ru búp bê ngủ) không?', opts: [ { pt: 0, lbl: 'Chưa biết chơi giả vờ (0đ)' }, { pt: 1, lbl: 'Thỉnh thoảng / Làm theo mẫu (1đ)' }, { pt: 3, lbl: 'Thường xuyên tự chơi giả vờ đa dạng (3đ)' } ] } ]; let childMonth = 18; // Mặc định 18 tháng tuổi (Có thể chọn bất kỳ tháng nào từ 6 đến 24 tháng) let answers = {}; let filterComp = 'all'; // 'all' | 'soc' | 'spe' | 'sym' let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .cs-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .cs-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .cs-inner { padding: 24px; max-width: 980px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .cs-wrap.is-fullscreen .cs-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .cs-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 0 rgba(37, 99, 235, 0.4); } 70% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 10px rgba(37, 99, 235, 0); } 100% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 0 rgba(37, 99, 235, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #1d4ed8 0%, #2563eb 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Header */ .cs-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .cs-header-text { flex: 1 1 260px; } .cs-title { font-size: 21px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .cs-desc { font-size: 14px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #eff6ff; color: #1d4ed8; border: 1px solid #bfdbfe; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #2563eb; color: #ffffff; border-color: #2563eb; } /* Controls */ .cs-top-panel { display: grid; grid-template-columns: 1fr 1.4fr; gap: 12px; background: #f8fafc; border: 1px solid #cbd5e1; border-radius: 12px; padding: 14px; margin-bottom: 14px; } .cs-lbl { font-size: 12px; font-weight: 800; color: #0f172a; text-transform: uppercase; display: block; margin-bottom: 6px; } .cs-select { width: 100%; padding: 8px 10px; border: 1px solid #2563eb; border-radius: 7px; font-size: 14px; font-weight: 700; color: #1e3a8a; background: #ffffff; } .cs-presets { display: flex; flex-wrap: wrap; gap: 6px; } .cs-pbtn { padding: 7px 10px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 600; color: #334155; cursor: pointer; flex: 1 1 auto; text-align: center; touch-action: manipulation; } .cs-pbtn:hover { background: #f1f5f9; } .cs-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; } .cs-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 16px; } .cs-tab { padding: 6px 12px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .cs-tab.active { background: #2563eb; color: #ffffff; border-color: #2563eb; } /* Sticky Dashboard */ .cs-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .cs-wrap.is-fullscreen .cs-dash { top: 58px; } .cs-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .cs-score-big { font-size: 21px; font-weight: 800; line-height: 1.2; } .cs-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .cs-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .cs-pillars { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; font-size: 12px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .cs-pillar-box { background: #1e293b; padding: 8px 10px; border-radius: 8px; border-left: 3px solid #475569; } .cs-pillar-box.concern { border-left-color: #ef4444; background: rgba(239, 68, 68, 0.16); } .cs-pillar-box.ok { border-left-color: #10b981; } .cs-pillar-val { font-weight: 800; color: #ffffff; font-size: 13.5px; display: block; margin-top: 2px; } /* Danh sách 24 câu hỏi */ .cs-item { border: 1px solid #e2e8f0; border-radius: 10px; padding: 14px 16px; margin-bottom: 10px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 8px; } .cs-item.pts-high { border-color: #a7f3d0; background: #f0fdf4; } .cs-item.pts-mid { border-color: #fde68a; background: #fffbeb; } .cs-item.pts-zero { border-color: #fca5a5; background: #fff5f5; } .cs-item-title { font-size: 14.5px; font-weight: 600; color: #1e293b; } .cs-tags { display: flex; flex-wrap: wrap; gap: 6px; } .cs-tag { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .cs-ans-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; } .cs-ans-grid.grid-4 { grid-template-columns: repeat(4, 1fr); } .cs-ans-grid.grid-5 { grid-template-columns: repeat(5, 1fr); } .cs-abtn { padding: 8px 6px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 700; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .cs-abtn:hover { border-color: #64748b; } .cs-abtn.sel-zero { background: #ef4444; border-color: #ef4444; color: #ffffff; } .cs-abtn.sel-mid { background: #f59e0b; border-color: #f59e0b; color: #ffffff; } .cs-abtn.sel-max { background: #10b981; border-color: #10b981; color: #ffffff; } /* Biểu đồ 7 Cụm kỹ năng & Kết luận */ .cs-chart-card { margin-top: 20px; padding: 16px 18px; border-radius: 12px; background: #ffffff; border: 1px solid #e2e8f0; } .cs-bar-row { display: flex; align-items: center; gap: 10px; margin-bottom: 9px; font-size: 12.5px; } .cs-bar-lbl { width: 280px; flex-shrink: 0; font-weight: 600; color: #334155; } .cs-bar-track { flex: 1; height: 16px; background: #f1f5f9; border-radius: 999px; overflow: hidden; } .cs-bar-val { width: 95px; text-align: right; font-weight: 700; color: #0f172a; flex-shrink: 0; } .cs-result-box { margin-top: 16px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #2563eb; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 740px) { .cs-inner { padding: 14px; } .cs-title { font-size: 18px; } .cs-top-panel { grid-template-columns: 1fr; } .cs-pillars { grid-template-columns: 1fr 1fr; } .cs-ans-grid, .cs-ans-grid.grid-4, .cs-ans-grid.grid-5 { grid-template-columns: 1fr; } .cs-bar-lbl { width: 150px; font-size: 11.5px; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
Bảng Kiểm Sàng Lọc Hành Vi Giao Tiếp & Biểu Tượng Sớm CSBS DP ITC (24 Câu Hỏi • 6 – 24 Tháng)
Công cụ chuẩn hóa của Wetherby & Prizant (2002) đánh giá 7 Cụm kỹ năng tiền ngôn ngữ và 3 Chỉ số Tổng hợp (Xã hội: 26đ • Lời nói: 14đ • Biểu tượng: 17đ • Tổng: 57đ). Hệ thống tự động tra cứu Ngưỡng điểm cắt chuẩn (-1.25 SD) tại chính xác từng tháng tuổi (từ 6 đến 24 tháng) để phát hiện sớm Nguy cơ Tự kỷ và Chậm nói.
• Theo quy tắc chuẩn của Giáo sư Amy Wetherby & Barry Prizant (2002), trẻ cần được chuyển gửi đánh giá phát triển chuyên sâu ngay lập tức khi rơi vào vùng Đáng lo ngại ở Chỉ số Xã hội (${socScore}/26đ, ngưỡng ≤${cut.soc}), Chỉ số Biểu tượng (${symScore}/17đ, ngưỡng ≤${cut.sym}) hoặc Tổng điểm (${totScore}/57đ, ngưỡng ≤${cut.tot}).
• Phân tích chuyên biệt về Nguy cơ Tự kỷ sớm: ${isSocConcern && isSymConcern ? 'Sự sụt giảm đồng thời ở cả Giao tiếp Xã hội (Ánh mắt: ' + cluSums.emo + '/8, Giao tiếp chủ đích: ' + cluSums.com + '/8, Cử chỉ: ' + cluSums.ges + '/10) và Tư duy Biểu tượng (Nghe hiểu: ' + cluSums.und + '/6, Chơi giả vờ: ' + cluSums.obj + '/11) là dấu hiệu chỉ báo sớm đặc hiệu nhất của Rối loạn phổ tự kỷ (ASD) ở trẻ dưới 2 tuổi.' : 'Trẻ có thiếu hụt ở các kỹ năng nền tảng tiền ngôn ngữ.'}
• Hướng xử trí: Thực hiện đánh giá trực tiếp bằng mẫu hành vi CSBS DP Behavior Sample, ADOS-2 (Module T) hoặc Bayley-III / KSPD và can thiệp sớm ngay mà không chờ trẻ lớn hơn. `; } else if (isSpeConcern) { badgeColor = '#f59e0b'; badgeTxt = 'CHỈ THẤP LỜI NÓI (THEO DÕI CHẬM NÓI ĐƠN THUẦN)'; analysis = ` Kết luận CSBS DP ITC tại mốc ${childMonth} tháng — CHỈ ĐÁNG LO NGẠI ĐƠN ĐỘC Ở CHỈ SỐ LỜI NÓI (Late Talker Profile):
• Điểm Tổng hợp Xã hội (${socScore}/26đ > ${cut.soc}), Tổng hợp Biểu tượng (${symScore}/17đ > ${cut.sym}) và Tổng điểm (${totScore}/57đ > ${cut.tot}) của bé đều nằm trong giới hạn bình thường. Bé có giao tiếp mắt, chỉ trỏ, khoe đồ, hiểu lời nói và chơi giả vờ tốt.
• Tuy nhiên, riêng Chỉ số Lời nói (Speech: ${speScore}/14đ ≤ ngưỡng ${cut.spe}) đang thấp hơn chuẩn tuổi.
• Hướng xử trí chuẩn CSBS DP: Đây là hồ sơ điển hình của nhóm Chậm nói diễn đạt đơn thuần (Late Talker). Hướng dẫn cha mẹ tăng cường kích thích ngôn ngữ tại nhà và sàng lọc lại bằng CSBS DP ITC sau 3 tháng; nếu sau 3 tháng vẫn ở vùng Concern thì chuyển khám Ngôn ngữ trị liệu. `; } else { badgeColor = '#10b981'; badgeTxt = 'KHÔNG ĐÁNG LO NGẠI (PHÁT TRIỂN ĐÚNG TUỔI)'; analysis = ` Kết luận CSBS DP ITC tại mốc ${childMonth} tháng — KHÔNG ĐÁNG LO NGẠI (NO CONCERN):
• Cả 3 Chỉ số Tổng hợp (Xã hội: ${socScore}/26đ • Lời nói: ${speScore}/14đ • Biểu tượng: ${symScore}/17đ) và Tổng điểm (${totScore}/57đ) của bé đều vượt trên ngưỡng cắt chuẩn của lứa tuổi ${childMonth} tháng.
• Các tiền đề giao tiếp sớm (ánh mắt, chú ý chung, cử chỉ, âm thanh và chơi biểu tượng) phát triển tốt. Hẹn sàng lọc định kỳ lại sau mỗi 3–6 tháng cho đến khi bé tròn 24 tháng tuổi. `; } scoreBadge.textContent = badgeTxt; scoreBadge.style.background = badgeColor; scoreBadge.style.color = '#ffffff'; resultBox.style.borderLeftColor = badgeColor; resultBox.innerHTML = analysis; updateFloatingFabVisibility(); } function applyPreset(type) { answers = {}; if (type === 'reset') { questions.forEach(q => { answers[q.id] = 0; }); renderQuestions(); updateSummary(); return; } if (type === 'typical') { // Phát triển bình thường (Tổng ~48/57đ) questions.forEach(q => { const maxPt = q.opts[q.opts.length - 1].pt; answers[q.id] = (q.id % 4 === 0) ? Math.max(1, maxPt - 1) : maxPt; }); } else if (type === 'late_talker') { // Chậm nói đơn thuần: Xã hội cao (23/26) & Biểu tượng cao (14/17), nhưng Lời nói thấp (4/14) questions.forEach(q => { const maxPt = q.opts[q.opts.length - 1].pt; if (q.comp === 'soc' || q.comp === 'sym') { answers[q.id] = (q.id % 3 === 0) ? Math.max(1, maxPt - 1) : maxPt; } else { // Speech thấp answers[q.id] = (q.id === 14 || q.id === 15) ? 1 : ((q.id === 16 || q.id === 17) ? 1 : 0); } }); } else if (type === 'asd_risk') { // Nguy cơ tự kỷ sớm: Suy giảm mạnh ở Xã hội (9/26) và Biểu tượng (6/17), Lời nói (4/14) -> Tổng 19/57đ questions.forEach((q, idx) => { if (q.comp === 'soc') { answers[q.id] = (idx % 2 === 0) ? 1 : 0; } else if (q.comp === 'sym') { answers[q.id] = (q.id === 21 || q.id === 23) ? 2 : 1; } else { answers[q.id] = (idx % 2 === 0) ? 1 : 0; } }); } renderQuestions(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); csWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { csWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 980px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } selMonth.onchange = function() { childMonth = parseInt(this.value, 10) || 18; updateSummary(); }; shadow.querySelectorAll('.cs-pbtn').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-preset')); }; }); shadow.querySelectorAll('#compTabs .cs-tab').forEach(function(tab) { tab.onclick = function() { filterComp = this.getAttribute('data-comp'); shadow.querySelectorAll('#compTabs .cs-tab').forEach(t => t.classList.remove('active')); this.classList.add('active'); renderQuestions(); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); applyPreset('asd_risk'); })();
CSBS DP (Bản kiểm Giao tiếp và Hành vi Biểu tượng): Công cụ sàng lọc cực kỳ nhạy dành cho trẻ rất nhỏ (6 – 24 tháng tuổi), giúp phát hiện nguy cơ chậm nói và tự kỷ sớm hơn cả M-CHAT-R/F.
CSBS DP với đặc biệt là bảng Infant-Toddler Checklist (ITC), là công cụ sàng lọc sớm nhất và nhạy bén nhất thế giới hiện nay để phát hiện Rối loạn giao tiếp và Nguy cơ Rối loạn phổ tự kỷ (ASD) ngay từ giai đoạn tiền ngôn ngữ (trước cả khi trẻ biết nói). Công cụ được phát triển bởi Giáo sư Amy M. Wetherby và Barry M. Prizant (xuất bản năm 2002 bởi Brookes Publishing).
Nếu như M-CHAT-R/F chỉ áp dụng được khi trẻ đã đủ 16 – 30 tháng tuổi, thì CSBS DP ITC lấp đầy khoảng trống cực kỳ quan trọng từ 6 đến 24 tháng tuổi: giúp phát hiện các dấu hiệu cảnh báo tự kỷ ở những em bé mới 9 – 12 – 15 tháng tuổi thông qua việc đo lường 7 tiền đề giao tiếp sớm (7 Prelinguistic Predictors).
1. Tóm tắt cốt lõi về cấu trúc 24 Câu hỏi & 3 Chỉ số Tổng hợp của CSBS DP ITC
Bảng kiểm CSBS DP Infant-Toddler Checklist gồm đúng 24 câu hỏi (chia thành 7 Cụm kỹ năng – Clusters và gom vào 3 Chỉ số Tổng hợp – Composites), với tổng điểm thô tối đa là 57 điểm:
| Chỉ số Tổng hợp (Composite) | Điểm tối đa | Các Cụm kỹ năng thành phần (7 Clusters) | Ý nghĩa phát triển & Dấu hiệu đỏ Tự kỷ sớm |
| 1. Tổng hợp Xã hội(Social Composite) | 26 điểm(13 câu) |
• Cảm xúc & Ánh mắt(Emotion & Eye Gaze — Câu 1–4: 8đ)
• Giao tiếp(Communication — Câu 5–8: 8đ)
• Cử chỉ(Gestures — Câu 9–13: 10đ) |
Đánh giá khả năng chia sẻ cảm xúc, nhìn mắt, tần suất giao tiếp chú ý chung (khoe đồ, chỉ trỏ) và sử dụng cử chỉ quy ước (vẫy tay, gật/lắc đầu). Sụt giảm điểm ở cụm này là chỉ báo đặc hiệu nhất của Tự kỷ sớm. |
| 2. Tổng hợp Lời nói(Speech Composite) | 14 điểm(5 câu) |
• Âm thanh(Sounds — Câu 14–16: 8đ)
• Từ vựng (Words — Câu 17–18: 6đ) |
Đánh giá việc bập bẹ chuỗi phụ âm – nguyên âm, sự đa dạng của các phụ âm đầu và số lượng từ đơn/cụm từ có nghĩa trẻ tự nói được. |
| 3. Tổng hợp Biểu tượng(Symbolic Composite) | 17 điểm(6 câu) |
• Thông hiểu ngôn ngữ(Understanding — Câu 19–20: 6đ)
• Sử dụng đồ vật & Chơi giả vờ(Object Use — Câu 21–24: 11đ) |
Đánh giá tư duy biểu tượng: khả năng hiểu tên gọi đồ vật/mệnh lệnh gắn với khả năng chơi đúng chức năng, xếp chồng khối gỗ và chơi đóng vai giả vờ (cho búp bê ăn). |
| TỔNG CỘNG (TOTAL) | 57 điểm(24 câu) | 7 Cụm kỹ năng tiền ngôn ngữ | Đối chiếu theo 19 mốc tháng tuổi liên tục (từ 6 đến 24 tháng). |
2. Quy tắc Chấm điểm & Ngưỡng Cắt Lâm sàng (Criterion Cutoffs -1.25 SD)
-
Cách chấm điểm từng câu:
-
Các câu hỏi tần suất (
Chưa•Thỉnh thoảng•Thường xuyên): Chấm 0 – 1 – 2 điểm. -
Các câu hỏi định lượng số lượng (số lượng từ vựng, số âm thanh, số đồ vật hiểu được, số khối gỗ xếp chồng): Chấm từ 0 – 1 – 2 – 3 hoặc 0 – 1 – 2 – 3 – 4 điểm tùy câu.
-
-
Quy tắc “Điểm Cắt Đáng Lo Ngại” (Concern Cutoff ≤−1.25 SD / Bách phân vị thứ 10): Theo chuẩn của Wetherby & Prizant (2002), tại mỗi tháng tuổi từ 6 đến 24 tháng, trẻ cần được chuyển gửi đánh giá chuyên sâu ngay nếu rơi vào 1 trong 3 trường hợp:
-
Đạt mức Đáng lo ngại (Concern) ở Tổng điểm (Total Score), HOẶC
-
Đạt mức Đáng lo ngại (Concern) ở Chỉ số Xã hội (Social Composite), HOẶC
-
Đạt mức Đáng lo ngại (Concern) ở Chỉ số Biểu tượng (Symbolic Composite).(Riêng nếu trẻ chỉ thấp đơn độc ở Chỉ số Lời nói – Speech Composite trong khi Xã hội và Biểu tượng vẫn bình thường, hướng dẫn chuẩn là theo dõi định kỳ và đánh giá lại sau 3 tháng vì có thể là chậm nói đơn thuần / Late Talker).
-
[Tự kỷ] M-CHAT-R/F: Bảng chấm điểm sàng lọc tự kỷ chuẩn y khoa cho trẻ 16 – 30 tháng tuổi
M-CHAT-R/F (viết tắt của Modified Checklist for Autism in Toddlers, Revised with Follow-Up) là bảng kiểm sàng lọc sớm nguy cơ rối loạn phổ tự kỷ (ASD) dành cho trẻ nhỏ từ 16 đến 30 tháng tuổi. Đây là một trong những công cụ tầm soát tự kỷ chuẩn hóa phổ biến và uy tín nhất trên thế giới hiện nay, được Viện Hàn lâm Nhi khoa Hoa Kỳ (AAP) khuyến nghị sử dụng.
(function() { const host = document.getElementById('mchat-wp-host'); if (!host) return; // Thẻ giữ chỗ (Placeholder) để khi nhấc bảng ra document.body không làm giật trang WordPress const placeholder = document.createComment('mchat-portal-placeholder'); // Khởi tạo Shadow DOM cách ly 100% với CSS của Theme WordPress const shadow = host.attachShadow({ mode: 'open' }); // Dữ liệu 20 câu hỏi M-CHAT-R chuẩn y khoa const questions = [ { id: 1, t: 'Nếu bạn chỉ tay vào một vật gì đó trong phòng, bé có nhìn theo hướng bạn chỉ không?', r: 'NO', c: 'crit', cat: 'Đáp ứng chú ý chung' }, { id: 2, t: 'Bạn có bao giờ tự hỏi liệu con mình có bị điếc (nghe kém) không?', r: 'YES', c: 'sen', cat: 'Phản ứng âm thanh (Câu đảo ngược)' }, { id: 3, t: 'Bé có biết chơi trò giả vờ không? (VD: giả vờ uống nước từ cốc rỗng, nghe điện thoại, cho búp bê ăn)', r: 'NO', c: 'soc', cat: 'Tư duy chơi giả vờ' }, { id: 4, t: 'Bé có thích leo trèo lên đồ vật không? (VD: bàn ghế, cầu thang, đồ chơi vận động)', r: 'NO', c: 'sen', cat: 'Vận động thô' }, { id: 5, t: 'Bé có những cử động ngón tay bất thường ở ngay sát trước mắt mình không? (VD: vẫy/búng ngón tay sát mắt)', r: 'YES', c: 'sen', cat: 'Kích thích thị giác - Stimming (Câu đảo ngược)' }, { id: 6, t: 'Bé có dùng một ngón tay (ngón trỏ) để chỉ vào thứ bé muốn XIN hoặc nhờ lấy giúp không?', r: 'NO', c: 'crit', cat: 'Chỉ trỏ yêu cầu' }, { id: 7, t: 'Bé có dùng một ngón tay để chỉ vào thứ gì đó thú vị chỉ để KHOE / CHIA SẺ với bạn không? (VD: chỉ máy bay, con chó)', r: 'NO', c: 'crit', cat: 'Khởi xướng chú ý chung (Quan trọng nhất)' }, { id: 8, t: 'Bé có quan tâm đến những đứa trẻ khác không? (VD: nhìn các bạn chơi, cười hoặc đi tới gần bạn)', r: 'NO', c: 'soc', cat: 'Động lực xã hội' }, { id: 9, t: 'Bé có mang đồ vật lại đưa cho bạn xem chỉ để KHOE (chứ không phải để nhờ mở giúp) không?', r: 'NO', c: 'crit', cat: 'Chia sẻ niềm vui hai chiều' }, { id: 10, t: 'Bé có phản ứng (ngẩng lên nhìn, bập bẹ, ngừng chơi) khi bạn gọi tên bé không?', r: 'NO', c: 'soc', cat: 'Định hướng tên gọi' }, { id: 11, t: 'Khi bạn mỉm cười với bé, bé có mỉm cười đáp lại bạn không?', r: 'NO', c: 'soc', cat: 'Nụ cười xã hội' }, { id: 12, t: 'Bé có tỏ ra khó chịu quá mức, bịt tai hoặc hoảng loạn trước những tiếng ồn thông thường hàng ngày không?', r: 'YES', c: 'sen', cat: 'Nhạy cảm thính giác (Câu đảo ngược)' }, { id: 13, t: 'Bé đã biết đi chưa?', r: 'NO', c: 'sen', cat: 'Vận động cơ bản' }, { id: 14, t: 'Bé có nhìn vào mắt bạn khi bạn đang nói chuyện, chơi đùa hoặc mặc quần áo cho bé không?', r: 'NO', c: 'crit', cat: 'Giao tiếp mắt trực diện' }, { id: 15, t: 'Bé có cố gắng bắt chước những gì bạn làm không? (VD: vẫy tay bye-bye, vỗ tay, làm tiếng động vui nhộn)', r: 'NO', c: 'crit', cat: 'Bắt chước xã hội' }, { id: 16, t: 'Nếu bạn quay đầu nhìn thứ gì đó, bé có nhìn quanh để xem bạn đang nhìn cái gì không?', r: 'NO', c: 'soc', cat: 'Theo dõi ánh mắt' }, { id: 17, t: 'Bé có cố gắng thu hút sự chú ý để bạn nhìn vào bé không? (VD: nhìn bạn chờ khen hoặc kêu "Mẹ nhìn này")', r: 'NO', c: 'soc', cat: 'Tìm kiếm sự công nhận' }, { id: 18, t: 'Bé có hiểu khi bạn bảo bé làm một việc gì đó không? (VD: không chỉ tay mà nói "Con lấy cho mẹ cái chăn")', r: 'NO', c: 'sen', cat: 'Ngôn ngữ tiếp nhận (Hiểu lời)' }, { id: 19, t: 'Nếu có điều gì mới lạ xảy ra, bé có nhìn lên mặt bạn để xem bạn phản ứng thế nào về việc đó không?', r: 'NO', c: 'crit', cat: 'Tham chiếu xã hội' }, { id: 20, t: 'Bé có thích các hoạt động chuyển động có tương tác không? (VD: được đung đưa, nhún nhảy trên đùi bạn)', r: 'NO', c: 'soc', cat: 'Tương tác cảm xúc - vận động' } ]; let answers = {}; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .mc-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (ĐÃ ĐƯỢC PORTAL RA BODY) */ .mc-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .mc-inner { padding: 24px; max-width: 900px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .mc-wrap.is-fullscreen .mc-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng khi cuộn */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .mc-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(3, 105, 161, 0.45), 0 0 0 0 rgba(3, 105, 161, 0.4); } 70% { box-shadow: 0 6px 20px rgba(3, 105, 161, 0.45), 0 0 0 10px rgba(3, 105, 161, 0); } 100% { box-shadow: 0 6px 20px rgba(3, 105, 161, 0.45), 0 0 0 0 rgba(3, 105, 161, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #0369a1 0%, #0284c7 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(3, 105, 161, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Phần tiêu đề */ .mc-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 18px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .mc-header-text { flex: 1 1 260px; } .mc-title { font-size: 21px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .mc-desc { font-size: 14px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #f0f9ff; color: #0369a1; border: 1px solid #bae6fd; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #0284c7; color: #ffffff; border-color: #0284c7; } /* Thanh nút kịch bản mẫu */ .mc-presets { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; } .mc-preset-lbl { font-size: 12.5px; font-weight: 700; color: #475569; margin-right: 4px; } .mc-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; transition: all 0.15s ease; touch-action: manipulation; } .mc-pbtn:hover { background: #f1f5f9; border-color: #94a3b8; } .mc-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } /* Bảng điểm nổi (Sticky Dashboard) */ .mc-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } /* Khi ở chế độ toàn màn hình, đẩy bảng điểm xuống ngay dưới thanh thoát toàn màn hình */ .mc-wrap.is-fullscreen .mc-dash { top: 58px; } .mc-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .mc-score-big { font-size: 24px; font-weight: 800; line-height: 1; } .mc-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .mc-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .mc-bar-bg { height: 10px; background: #334155; border-radius: 5px; overflow: hidden; margin-bottom: 12px; } .mc-bar-fill { height: 100%; width: 0%; background: #10b981; transition: width 0.35s ease, background 0.35s ease; } .mc-pillars { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; font-size: 12px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .mc-pillar-box { background: #1e293b; padding: 7px 10px; border-radius: 8px; } .mc-pillar-val { font-weight: 700; color: #ffffff; font-size: 13.5px; display: block; margin-top: 2px; } /* Danh sách 20 câu hỏi */ .mc-q-item { border: 1px solid #e2e8f0; border-radius: 10px; padding: 14px 16px; margin-bottom: 12px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 10px; } .mc-q-item.risk-flagged { border-color: #fca5a5; background: #fff5f5; } .mc-q-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; } .mc-q-text { font-size: 14.5px; font-weight: 600; color: #1e293b; line-height: 1.5; flex: 1; } .mc-q-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; } .mc-tag { font-size: 11px; font-weight: 600; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .mc-tag.crit { background: #e0f2fe; color: #0369a1; } .mc-tag.rev { background: #fef3c7; color: #b45309; } /* Nút chọn CÓ / KHÔNG */ .mc-ans-group { display: flex; gap: 8px; flex-shrink: 0; } .mc-abtn { min-width: 78px; padding: 8px 14px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 13.5px; font-weight: 700; color: #334155; cursor: pointer; transition: all 0.15s ease; touch-action: manipulation; } .mc-abtn:hover { border-color: #64748b; } .mc-abtn.sel-safe { background: #10b981; border-color: #10b981; color: #ffffff; } .mc-abtn.sel-risk { background: #ef4444; border-color: #ef4444; color: #ffffff; } /* Hộp phân tích kết quả cuối bảng */ .mc-result-box { margin-top: 20px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #64748b; font-size: 14px; line-height: 1.65; color: #1e293b; } /* Tối ưu giao diện điện thoại */ @media (max-width: 600px) { .mc-inner { padding: 14px; } .mc-title { font-size: 18px; } .mc-q-head { flex-direction: column; } .mc-ans-group { width: 100%; } .mc-abtn { flex: 1; padding: 10px 14px; } .mc-pillars { grid-template-columns: 1fr; } .mc-pbtn.reset { margin-left: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
Bảng Chấm Điểm Sàng Lọc Tự Kỷ Chuẩn Y Khoa M-CHAT-R/F (16 – 30 tháng)
Hãy chọn CÓ hoặc KHÔNG dựa trên hành vi thường xuyên của bé. Hệ thống tự động đảo chiều điểm ở câu 2, 5, 12 và đối chiếu nhóm kỹ năng Chú ý chung để phân biệt với Chậm nói đơn thuần / ADHD.
• Hệ thống Chú ý chung và Giao tiếp phi ngôn ngữ của bé hoạt động tốt (${crit}/7 điểm rủi ro nhóm cốt lõi).
• Phân biệt với Chậm nói đơn thuần: Nếu bé hiện tại chưa nói được nhiều từ nhưng đạt mức điểm này (biết chỉ trỏ khoe đồ, nhìn mắt, hiểu lời nói), khả năng rất cao bé chỉ bị chậm nói diễn đạt đơn thuần. Nếu bé dưới 24 tháng tuổi, hãy sàng lọc lại khi bé tròn 24 tháng. `; } else if (total = 2) ? `Bé có ${crit}/7 dấu hiệu rủi ro ở nhóm Chú ý chung cốt lõi (chỉ trỏ, giao tiếp mắt, khoe đồ vật). Đây là dấu hiệu cảnh báo sớm của phổ tự kỷ chứ không chỉ là chậm nói hay hiếu động đơn thuần.` : `Điểm rủi ro của bé chủ yếu nằm ở nhóm Giác quan/Ngôn ngữ hoặc Mất tập trung, trong khi Chú ý chung cốt lõi khá tốt (${crit}/7). Trường hợp này rất dễ gặp ở trẻ Tăng động giảm chú ý (ADHD) hoặc chậm nói kèm nhạy cảm giác quan.`; analysis = ` Kết luận sàng lọc — Nguy cơ TRUNG BÌNH (${total}/20 điểm):
• ${diffNote}
• Hướng xử trí chuẩn M-CHAT-R/F: Cần thực hiện bước 2 — Phỏng vấn theo dõi (Follow-Up) cho ${total} câu có điểm rủi ro để làm rõ ngữ cảnh. Nếu sau khi kiểm tra kỹ vẫn còn từ 2 điểm trở lên, cần đưa bé đi khám chuyên khoa Tâm bệnh / Nhi phát triển hành vi. `; } else { color = '#ef4444'; badgeTxt = 'NGUY CƠ CAO (8 – 20 điểm)'; analysis = ` Kết luận sàng lọc — Nguy cơ CAO (${total}/20 điểm, trong đó có ${crit}/7 câu cốt lõi):
• Bé biểu hiện sự suy giảm rõ rệt ở cả hai trụ cột: Chú ý chung (Joint Attention) và Tương tác xã hội hai chiều.
• Hướng xử trí chuẩn M-CHAT-R/F: Với mức điểm từ 8 trở lên, gia đình có thể bỏ qua bước phỏng vấn phụ và đưa bé đi khám chẩn đoán chuyên sâu ngay (bằng thang ADOS-2, DSM-5) tại khoa Tâm bệnh / Phát triển hành vi Nhi để bắt đầu can thiệp sớm trong giai đoạn vàng. `; } barFillEl.style.background = color; badgeEl.textContent = badgeTxt; badgeEl.style.background = color; badgeEl.style.color = '#ffffff'; resBoxEl.style.borderLeftColor = color; resBoxEl.innerHTML = analysis; updateFloatingFabVisibility(); } // Kiểm tra vùng cuộn để hiện/ẩn nút nổi thông minh function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; // Hiện nút nổi khi người đọc đang lướt ngang qua vùng bảng M-CHAT-R/F const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } // KỸ THUẬT DOM PORTAL: Nhấc thẳng #mchat-wp-host ra trực tiếp document.body khi phóng to function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); mcWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { mcWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 880px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } // Gắn sự kiện cho các nút Kịch bản mẫu const presetBtns = shadow.querySelectorAll('.mc-pbtn'); presetBtns.forEach(function(btn) { btn.onclick = function() { const type = this.getAttribute('data-preset'); answers = {}; if (type === 'speech') { questions.forEach(function(q) { answers[q.id] = (q.r === 'YES' ? 'NO' : 'YES'); }); answers[18] = 'NO'; } else if (type === 'adhd') { questions.forEach(function(q) { answers[q.id] = (q.r === 'YES' ? 'NO' : 'YES'); }); answers[2] = 'YES'; answers[10] = 'NO'; answers[12] = 'YES'; } else if (type === 'asd') { questions.forEach(function(q) { answers[q.id] = (q.r === 'YES' ? 'NO' : 'YES'); }); [1, 2, 3, 5, 6, 7, 8, 9, 10, 14, 15, 16, 19].forEach(function(id) { const qObj = questions[id - 1]; answers[id] = qObj.r; }); } renderQuestions(); updateSummary(); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); renderQuestions(); updateSummary(); })();
1. Cấu trúc của công cụ (Quy trình 2 bước)
Tên gọi M-CHAT-R/F thể hiện rõ hai giai đoạn thực hiện của bài kiểm tra:
-
Giai đoạn 1 – M-CHAT-R (Bảng câu hỏi sửa đổi): Gồm 20 câu hỏi dưới dạng Có/Không dành cho cha mẹ hoặc người chăm sóc chính trả lời. Các câu hỏi xoay quanh hành vi, kỹ năng giao tiếp, tương tác xã hội và cách trẻ phản ứng với môi trường xung quanh (ví dụ: Trẻ có chỉ tay để khoe đồ vật không? Trẻ có nhìn vào mắt bạn không? Trẻ có quay đầu lại khi được gọi tên không?).
-
Giai đoạn 2 – Follow-Up (Phỏng vấn theo dõi – chữ “F”): Dành cho những trẻ có kết quả nằm trong nhóm nguy cơ trung bình ở Giai đoạn 1. Chuyên gia y tế hoặc tâm lý sẽ hỏi chi tiết hơn về những câu mà trẻ “không vượt qua” (dựa trên sơ đồ luồng câu hỏi chuẩn) để lọc bỏ các trường hợp dương tính giả (trẻ bình thường nhưng cha mẹ hiểu nhầm câu hỏi) trước khi quyết định chuyển trẻ đi khám chuyên sâu.
2. Cách tính điểm và phân loại nguy cơ (Giai đoạn 1)
Sau khi cha mẹ trả lời 20 câu hỏi, tổng điểm (từ 0 đến 20) sẽ phân trẻ vào 3 mức độ:
3. Những lưu ý quan trọng khi sử dụng
-
Là công cụ sàng lọc, KHÔNG phải công cụ chẩn đoán: Kết quả M-CHAT-R/F báo “nguy cơ cao” không đồng nghĩa 100% là trẻ mắc tự kỷ (trẻ có thể bị chậm nói đơn thuần, khiếm thính hoặc rối loạn phát triển khác). Để chẩn đoán chính xác, trẻ cần được các bác sĩ chuyên khoa Nhi, Tâm thần nhi hoặc chuyên gia Tâm lý lâm sàng trực tiếp thăm khám (sử dụng các bộ công cụ chuyên sâu như ADOS-2, DSM-5…).
-
Hoàn toàn miễn phí và nhanh chóng: Phụ huynh chỉ mất khoảng 5–10 phút để hoàn thành. Tại Việt Nam, bộ công cụ này đã được chuẩn hóa tiếng Việt và tích hợp trực tuyến trên nhiều nền tảng hỗ trợ trẻ tự kỷ (như hệ thống A365) cũng như tại các bệnh viện Nhi.
Nội dung được tạo với sự đánh giá từ tài liệu gốc và hỗ trợ bởi AI.
[Tự kỷ] STAT: Công cụ sàng lọc tự kỷ qua tương tác cho trẻ mới biết đi (24 – 36 tháng)
Bảng Chấm Điểm Sàng Lọc Tương Tác Trực Tiếp STAT (14 – 36 Tháng)
', 'Đánh giá Cấp độ 2 thông qua 12 hoạt động chơi tương tác trực tiếp trên 4 lĩnh vực giao tiếp xã hội sớm. Tổng điểm quy đổi theo trọng số từ 0.00 đến 4.00 điểm.
', '• Bé thể hiện khả năng phối hợp ánh mắt, chia sẻ sự chú ý (Chú ý chung: ' + sAtt.toFixed(2) + '/1.00) và yêu cầu giao tiếp (' + sReq.toFixed(2) + '/1.00) phù hợp.
• Ý nghĩa phân biệt: Nếu bé chậm nói nhưng đạt điểm STAT thấp như trên, bé có nền tảng giao tiếp phi ngôn ngữ tốt (gợi ý chậm nói đơn thuần hơn là rối loạn phổ tự kỷ).'; } else if (total < highCut) { color = '#f59e0b'; badgeTxt = 'NGƯỠNG CẦN THEO DÕI SÁT (' + total.toFixed(2) + ' / 4.00)'; analysis = 'Kết luận sàng lọc tương tác STAT — Vùng Giáp Ranh Cần Theo Dõi (' + total.toFixed(2) + '/4.00 điểm):
• Tổng điểm tiệm cận ngưỡng cắt lâm sàng (' + highCut.toFixed(2) + ' điểm). Hồ sơ chi tiết: Vui chơi (' + sPlay.toFixed(2) + '), Yêu cầu (' + sReq.toFixed(2) + '), Định hướng chú ý (' + sAtt.toFixed(2) + '), Bắt chước (' + sImit.toFixed(2) + ').
• Khuyến nghị: Cần đặc biệt lưu ý nếu điểm rủi ro tập trung ở mục Định hướng chú ý (Joint Attention) và Yêu cầu có giao tiếp mắt. Nên bắt đầu hướng dẫn phụ huynh can thiệp tương tác sớm và đánh giá thêm bằng ADOS-2 / Vineland-3.'; } else { color = '#ef4444'; badgeTxt = 'NGUY CƠ CAO ASD (≥ ' + highCut.toFixed(2) + ': ' + total.toFixed(2) + ')'; analysis = 'Kết luận sàng lọc tương tác STAT — Vượt Ngưỡng Điểm Cắt (Đạt ' + total.toFixed(2) + '/4.00 điểm, ngưỡng cắt ≥ ' + highCut.toFixed(2) + '):
• Qua quan sát tương tác trực tiếp, bé bộc lộ sự thiếu hụt rõ rệt ở các kỹ năng giao tiếp xã hội nền tảng: Vui chơi (' + sPlay.toFixed(2) + '/1.00), Yêu cầu (' + sReq.toFixed(2) + '/1.00), Định hướng chú ý chung (' + sAtt.toFixed(2) + '/1.00) và Bắt chước (' + sImit.toFixed(2) + '/1.00).
• Hướng xử trí chuẩn: Chuyển gửi ngay sang bước đánh giá chẩn đoán xác định (ADOS-2, DSM-5) và đánh giá hành vi thích ứng (Vineland-3) để can thiệp sớm ngay trong giai đoạn vàng.'; } barFillEl.style.background = color; badgeEl.textContent = badgeTxt; badgeEl.style.background = color; badgeEl.style.color = '#ffffff'; resBoxEl.style.borderLeftColor = color; resBoxEl.innerHTML = analysis; updateFloatingFabVisibility(); } function applyPreset(type) { scores = {}; if (type === 'reset') { renderItems(); updateSummary(); return; } items.forEach(function(it) { scores[it.id] = 'PASS'; }); if (type === 'speech') { // Trẻ chậm nói đơn thuần: Đạt hết Yêu cầu & Chú ý chung, chỉ trượt 1 mục chơi giả vờ phức tạp (0.50đ) scores[2] = 'FAIL'; } else if (type === 'border') { // Ngưỡng giáp ranh (2.00đ) scores[2] = 'FAIL'; // +0.50 scores[3] = 'FAIL'; // +0.50 scores[5] = 'FAIL'; // +0.25 scores[8] = 'FAIL'; // +0.25 scores[9] = 'FAIL'; // +0.25 scores[12] = 'FAIL'; // +0.25 } else if (type === 'asd') { // Nguy cơ tự kỷ điển hình (3.25đ) [1, 2, 3, 4, 5, 6, 7, 8, 9, 12].forEach(function(id) { scores[id] = 'FAIL'; }); } renderItems(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; var rect = host.getBoundingClientRect(); var viewH = window.innerHeight || document.documentElement.clientHeight; if (rect.top 180) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = 'position:fixed!important;inset:0!important;top:0!important;left:0!important;right:0!important;bottom:0!important;width:100vw!important;height:100vh!important;height:100dvh!important;max-width:none!important;max-height:none!important;margin:0!important;padding:0!important;z-index:2147483647!important;background:#f8fafc!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;display:block!important;'; wrapEl.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { wrapEl.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = ''; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } shadow.querySelectorAll('#ageGroup .st-btn-sm').forEach(function(btn) { btn.onclick = function() { ageBand = this.getAttribute('data-age'); shadow.querySelectorAll('#ageGroup .st-btn-sm').forEach(function(b) { b.classList.remove('active'); }); this.classList.add('active'); updateSummary(); }; }); shadow.querySelectorAll('#presetGroup .st-btn-sm').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-pre')); }; }); shadow.querySelectorAll('#domainTabs .st-dtab').forEach(function(tab) { tab.onclick = function() { filterDom = this.getAttribute('data-dom'); shadow.querySelectorAll('#domainTabs .st-dtab').forEach(function(t) { t.classList.remove('active'); }); this.classList.add('active'); renderItems(); }; }); shadow.getElementById('btnToggleFullscreen').onclick = function() { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = function() { setFullscreenState(false); }; fabBtn.onclick = function() { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', function(e) { if (e.key === 'Escape' && isFullscreen) setFullscreenState(false); }); applyPreset('asd'); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', initSTATWidget); } else { initSTATWidget(); } })();
STAT (Screening Tool for Autism in Toddlers and Young Children — Công cụ Sàng lọc Tự kỷ ở Trẻ mới biết đi và Trẻ nhỏ) là một công cụ sàng lọc tương tác trực tiếp (Cấp độ 2 – Level 2) được chuẩn hóa để phát hiện sớm các dấu hiệu nguy cơ của Rối loạn phổ tự kỷ (ASD) ở trẻ nhỏ. Công cụ này được phát triển bởi Giáo sư Wendy Stone và các cộng sự tại Đại học Vanderbilt (Hoa Kỳ).
Nếu như M-CHAT-R/F là công cụ Sàng lọc Cấp độ 1 (dựa trên bảng câu hỏi do phụ huynh tự điền cho trẻ từ 16 – 30 tháng), thì STAT đóng vai trò là bước kiểm tra trực tiếp ngay sau đó: chuyên gia sẽ trực tiếp chơi và tương tác với trẻ qua các hoạt động có cấu trúc để quan sát hành vi thực tế trước khi chuyển gửi đi chẩn đoán chuyên sâu (như ADOS-2).
1. Đặc điểm cốt lõi của công cụ STAT
-
Độ tuổi áp dụng:
-
Độ tuổi chuẩn hóa chính thức: Từ 24 đến 36 tháng tuổi (2 – 3 tuổi).
-
Độ tuổi mở rộng trong lâm sàng: Có thể áp dụng hiệu quả cho trẻ từ 14 đến 23 tháng tuổi (với ngưỡng điểm cắt điều chỉnh riêng) để phát hiện sớm ngay từ năm thứ hai đầu đời.
-
-
Hình thức thực hiện: Quan sát tương tác trực tiếp thông qua trò chơi (Play-based interactive assessment), không phụ thuộc vào lời kể chủ quan của phụ huynh.
-
Thời gian thực hiện: Khoảng 15 – 20 phút.
-
Độ nhạy và Độ đặc hiệu cao: STAT có độ nhạy khoảng 92% và độ đặc hiệu khoảng 85% trong việc phân biệt trẻ có nguy cơ Tự kỷ với trẻ chậm phát triển ngôn ngữ hoặc các rối loạn phát triển khác.
2. Cấu trúc 12 hoạt động trong 4 lĩnh vực (Domains)
Bài kiểm tra STAT bao gồm 12 hoạt động tương tác sử dụng bộ đồ chơi tiêu chuẩn, được chia vào 4 lĩnh vực giao tiếp xã hội sớm (chấm điểm ngay trong lúc chơi mà không đòi hỏi trẻ phải có ngôn ngữ nói):
3. Cách chấm điểm và Ngưỡng điểm cắt (Cut-off Score)
-
Chấm từng hoạt động: Mỗi hoạt động trong 12 mục được chấm là Đạt (Pass = 0 điểm rủi ro) hoặc Không đạt (Fail = 1 điểm rủi ro) dựa trên việc trẻ có thể hiện được hành vi giao tiếp xã hội mục tiêu (như phối hợp ánh mắt,chỉ trỏ, luân phiên) hay không.
-
Quy đổi điểm theo lĩnh vực:
-
Mỗi lĩnh vực trong 4 lĩnh vực sẽ được quy đổi thành điểm từ 0 đến 1 (dựa trên tỷ lệ số mục Không đạt trong lĩnh vực đó, tính theo bước nhảy 0,0.25,0.5,0.75,1.0).
-
Tổng điểm STAT là tổng điểm của cả 4 lĩnh vực, nằm trong khoảng từ 0 đến 4.0 điểm (điểm càng cao thì mức độ thiếu hụt giao tiếp xã hội càng lớn).
-
-
Ngưỡng điểm cắt lâm sàng (Cut-off):
-
Trẻ từ 24 – 36 tháng tuổi: Tổng điểm → Nguy cơ cao mắc Rối loạn phổ tự kỷ (ASD).
-
Trẻ từ 14 – 23 tháng tuổi: Ngưỡng điểm cắt thường được đặt ở mức (hoặc từ 2.25−2.5 để cảnh báo theo dõi sát) do trẻ dưới 2 tuổi có một số kỹ năng bắt chước/chơi giả vờ còn đang hoàn thiện.
-
4. Vị trí của STAT trong quy trình sàng lọc – chẩn đoán
Để hình dung rõ sự phối hợp giữa STAT và các công cụ bạn đã tìm hiểu trước đó:
-
Bước 1 — Sàng lọc diện rộng qua bảng hỏi phụ huynh (Level 1):
-
Trẻ 16 – 30 tháng: Dùng M-CHAT-R/F.
-
Trẻ tuổi: Dùng SCQ.
-
-
Bước 2 — Sàng lọc tương tác trực tiếp (Level 2 – Lọc dương tính giả):
-
Khi trẻ có kết quả nguy cơ trên M-CHAT-R/F, bác sĩ/chuyên viên tâm lý dùng STAT (15–20 phút) để trực tiếp tương tác với trẻ. Bước này giúp phân biệt nhanh trẻ chậm nói đơn thuần (vốn vẫn đạt tốt các mục giao tiếp mắt và chia sẻ sự chú ý trên STAT) với trẻ thực sự có nguy cơ tự kỷ.
-
-
Bước 3 — Chẩn đoán xác định & Đánh giá chức năng (Diagnostic & Functional Assessment):
-
Dùng tiêu chuẩn vàng ADOS-2 + ADI-R + DSM-5 để chẩn đoán xác định.
-
Dùng Vineland-3 để đo lường hành vi thích ứng thực tế và lên kế hoạch can thiệp cá nhân hóa (IEP).
-
[Tự kỷ] SRS-2: Thang đo phản ứng xã hội và sàng lọc mức độ tự kỷ (Từ 2.5 tuổi)
(function() { const host = document.getElementById('srs2-wp-host'); if (!host) return; const placeholder = document.createComment('srs2-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // Cấu hình 4 Phiên bản theo độ tuổi & người đánh giá của SRS-2 const formConfigs = { preschool: { code: 'preschool', tabTitle: '🧸 1. Preschool (2.5 – 4.5 tuổi)', tabSub: 'Mầm non • Cha mẹ / Giáo viên', fullTitle: 'SRS-2 Preschool Form — Dành Cho Trẻ Mầm Non (2.5 Đến 4.5 Tuổi • Cha Mẹ / Giáo Viên Đánh Giá)', desc: 'Đánh giá 65 hành vi đáp ứng xã hội và rập khuôn ở trẻ mẫu giáo từ 30 đến 54 tháng tuổi. Hệ thống tự động quy đổi sang Điểm chuẩn T-Score (Mean = 50, SD = 10) trên 5 Tiểu thang điều trị và 2 Chỉ số tương thích DSM-5.', subj: 'Bé', poss: 'của bé', peer: 'các bạn nhỏ khác', env: 'ở nhà / lớp mẫu giáo' }, school: { code: 'school', tabTitle: '🎒 2. School-Age (4 – 18 tuổi)', tabSub: 'Học đường • Cha mẹ / Giáo viên', fullTitle: 'SRS-2 School-Age Form — Dành Cho Trẻ Em & Thanh Thiếu Niên (4 Đến 18 Tuổi • Cha Mẹ / Giáo Viên Đánh Giá)', desc: 'Phiên bản chuẩn hóa phổ biến nhất dành cho lứa tuổi học đường (4 – 18 tuổi). Đo lường định lượng mức độ suy giảm giao tiếp xã hội trên dải liên tục từ Bình thường (≤59T), Nhẹ (60–65T), Trung bình (66–75T) đến Nặng (≥76T).', subj: 'Trẻ', poss: 'của trẻ', peer: 'bạn đồng trang lứa', env: 'ở trường / ở nhà' }, adult_other: { code: 'adult_other', tabTitle: '👥 3. Adult Other (≥ 19 tuổi)', tabSub: 'Người lớn • Người thân đánh giá', fullTitle: 'SRS-2 Adult Form (Other-Report) — Dành Cho Người Trưởng Thành (Từ 19 Tuổi Trở Lên • Người Thân / Bạn Đời Đánh Giá)', desc: 'Dành cho vợ/chồng, bố mẹ, anh chị hoặc bạn thân đánh giá khách quan về khả năng tương tác xã hội, thấu cảm và tính linh hoạt hành vi của người trưởng thành trong đời sống hàng ngày.', subj: 'Người này', poss: 'của họ', peer: 'mọi người xung quanh', env: 'trong công việc / cuộc sống' }, adult_self: { code: 'adult_self', tabTitle: '🧑 4. Adult Self-Report (≥ 19 tuổi)', tabSub: 'Người lớn • Tự đánh giá (Tôi)', fullTitle: 'SRS-2 Adult Self-Report Form — Bảng Tự Đánh Giá Dành Cho Người Trưởng Thành (Từ 19 Tuổi Trở Lên)', desc: 'Phiên bản tự báo cáo ở ngôi thứ nhất ("Tôi...") giúp người trưởng thành tự lượng giá 5 Tiểu thang đáp ứng xã hội (Nhận thức, Tư duy, Giao tiếp, Động lực xã hội và Hành vi lặp lại).', subj: 'Tôi', poss: 'của mình', peer: 'người khác', env: 'trong công việc / giao tiếp' } }; // Cấu hình 5 Tiểu thang điều trị (Treatment Subscales) của SRS-2 (Tổng 65 câu = 195 điểm thô) // DSM-5 SCI (Social Communication & Interaction) = AWR + COG + COM + MOT (53 câu = 159 điểm) // DSM-5 RRB (Restricted Interests & Repetitive Behavior) = RRB (12 câu = 36 điểm) const subConfigs = { awr: { code: 'awr', dsm: 'sci', count: 8, maxRaw: 24, name: '1. Nhận thức Xã hội (Social Awareness - AWR • 8 câu)', color: '#0284c7' }, cog: { code: 'cog', dsm: 'sci', count: 12, maxRaw: 36, name: '2. Tư duy / Giải mã Xã hội (Social Cognition - COG • 12 câu)', color: '#2563eb' }, com: { code: 'com', dsm: 'sci', count: 22, maxRaw: 66, name: '3. Giao tiếp Xã hội (Social Communication - COM • 22 câu)', color: '#4f46e5' }, mot: { code: 'mot', dsm: 'sci', count: 11, maxRaw: 33, name: '4. Động lực Xã hội (Social Motivation - MOT • 11 câu)', color: '#7c3aed' }, rrb: { code: 'rrb', dsm: 'rrb', count: 12, maxRaw: 36, name: '5. Sở thích Hẹp & Hành vi Lặp lại (Restricted/Repetitive - RRB • 12 câu)', color: '#dc2626' } }; // Đầy đủ 65 mục chuẩn của SRS-2 phân bổ chính xác vào 5 Tiểu thang (AWR: 8, COG: 12, COM: 22, MOT: 11, RRB: 12) // rev: true đối với 17 câu đảo ngược (mô tả kỹ năng xã hội tích cực -> Chọn "Không đúng" = 3 điểm rủi ro, "Hầu như luôn đúng" = 0 điểm) const rawQuestions = [ // TIỂU THANG 1: NHẬN THỨC XÃ HỘI (SOCIAL AWARENESS - AWR • 8 câu) { id: 1, sub: 'awr', rev: true, c: '{S} nhận biết được những gì người khác đang nghĩ hoặc đang cảm thấy.' }, { id: 2, sub: 'awr', rev: true, c: 'Biểu cảm trên khuôn mặt {P} ăn khớp với những gì {S_low} đang nói.' }, { id: 3, sub: 'awr', rev: false, c: '{S} dường như không nhận ra khi mình đang nói quá to hoặc gây ra tiếng ồn làm phiền {E}.' }, { id: 4, sub: 'awr', rev: false, c: '{S} đi xuyên vào giữa hai người đang nói chuyện mà không nhận ra điều đó là thiếu tế nhị.' }, { id: 5, sub: 'awr', rev: true, c: '{S} chú ý khi có ai đó {E} đang buồn bã hoặc cần sự giúp đỡ.' }, { id: 6, sub: 'awr', rev: false, c: '{S} nhìn chằm chằm hoặc nhìn lơ đãng vào khoảng không mà không để ý đến những gì diễn ra xung quanh.' }, { id: 7, sub: 'awr', rev: true, c: '{S} giữ vệ sinh cá nhân và tác phong phù hợp khi xuất hiện trước {E}.' }, { id: 8, sub: 'awr', rev: false, c: '{S} không nhận ra khi mình đang đứng quá gần hoặc xâm phạm không gian riêng của {E}.' }, // TIỂU THANG 2: TƯ DUY / GIẢI MÃ XÃ HỘI (SOCIAL COGNITION - COG • 12 câu) { id: 9, sub: 'cog', rev: false, c: '{S} hiểu mọi lời nói theo đúng nghĩa đen và không bắt được ẩn ý đằng sau câu nói.' }, { id: 10, sub: 'cog', rev: true, c: '{S} nhận ra ngay khi có ai đó đang trêu đùa hoặc lấy mình ra làm trò cười.' }, { id: 11, sub: 'cog', rev: false, c: '{S} gặp khó khăn trong việc hiểu ý nghĩa của giọng điệu và biểu cảm nét mặt của {E}.' }, { id: 12, sub: 'cog', rev: true, c: '{S} hiểu được mối liên hệ nguyên nhân – kết quả giữa các sự kiện xã hội.' }, { id: 13, sub: 'cog', rev: false, c: '{S} dễ bị hiểu nhầm hoặc phản ứng sai lệch trước những câu nói đùa, châm biếm nhẹ nhàng.' }, { id: 14, sub: 'cog', rev: false, c: '{S} quá ngây thơ, dễ tin người và không nhận ra ý đồ không tốt của người khác.' }, { id: 15, sub: 'cog', rev: true, c: '{S} có khả năng tưởng tượng và tham gia các hoạt động giả định / sáng tạo phong phú.' }, { id: 16, sub: 'cog', rev: false, c: 'Khi có chuyện bất ngờ xảy ra, {S_low} chỉ tập trung vào một chi tiết nhỏ không quan trọng thay vì nhìn bức tranh tổng thể.' }, { id: 17, sub: 'cog', rev: false, c: '{S} khó phân biệt được giữa việc ai đó vô tình làm sai với việc họ cố ý trêu chọc mình.' }, { id: 18, sub: 'cog', rev: true, c: '{S} hiểu được các quy tắc ngầm trong giao tiếp và ứng xử phù hợp {V}.' }, { id: 19, sub: 'cog', rev: false, c: '{S} tỏ ra bối rối, quá tải khi cuộc trò chuyện diễn ra nhanh hoặc có nhiều người cùng nói.' }, { id: 20, sub: 'cog', rev: false, c: '{S} đưa ra những nhận xét kỳ lạ hoặc không ăn nhập với chủ đề mà mọi người đang bàn luận.' }, // TIỂU THANG 3: GIAO TIẾP XÃ HỘI (SOCIAL COMMUNICATION - COM • 22 câu) { id: 21, sub: 'com', rev: true, c: '{S} có thể truyền đạt suy nghĩ và cảm xúc {P} cho người khác một cách dễ dàng.' }, { id: 22, sub: 'com', rev: false, c: '{S} gặp khó khăn lớn trong việc duy trì cuộc trò chuyện qua lại hai chiều (như đánh bóng bàn).' }, { id: 23, sub: 'com', rev: false, c: '{S} tránh giao tiếp trực diện bằng ánh mắt khi đang nói chuyện với {E}.' }, { id: 24, sub: 'com', rev: true, c: '{S} biết cách thương lượng, thỏa hiệp và giải quyết bất đồng với {E} một cách linh hoạt.' }, { id: 25, sub: 'com', rev: false, c: '{S} nói chuyện với giọng điệu khác thường (như giọng phẳng lì như robot, giọng quá cao hoặc nói lắp bắp máy móc).' }, { id: 26, sub: 'com', rev: false, c: '{S} tỏ ra vụng về, thiếu đồng bộ khi phải phối hợp tương tác cùng {E}.' }, { id: 27, sub: 'com', rev: true, c: '{S} biết chủ động an ủi hoặc thể hiện sự cảm thông khi thấy người khác buồn.' }, { id: 28, sub: 'com', rev: false, c: '{S} cứ nói thao thao bất tuyệt về một chủ đề dù người nghe đã tỏ vẻ chán hoặc muốn đổi chuyện.' }, { id: 29, sub: 'com', rev: false, c: '{S} gặp khó khăn trong việc trả lời trực tiếp vào trọng tâm câu hỏi của người đối diện.' }, { id: 30, sub: 'com', rev: true, c: '{S} chơi đùa hoặc làm việc nhóm hòa hợp, nhịp nhàng cùng với {E}.' }, { id: 31, sub: 'com', rev: false, c: 'Nét mặt {P} thường lạnh lùng, ít biểu cảm khiến người khác khó đoán được tâm trạng.' }, { id: 32, sub: 'com', rev: false, c: '{S} rất ít sử dụng các cử chỉ tay chân tự nhiên để minh họa khi đang nói chuyện.' }, { id: 33, sub: 'com', rev: true, c: '{S} biết điều chỉnh cách nói chuyện tùy theo người nghe là người lớn hay bạn bè.' }, { id: 34, sub: 'com', rev: false, c: '{S} thường đặt những câu hỏi thiếu tế nhị hoặc nhận xét thẳng thừng làm người khác ngượng ngùng.' }, { id: 35, sub: 'com', rev: false, c: '{S} không biết cách bắt đầu một cuộc trò chuyện thân mật hay chào hỏi tự nhiên.' }, { id: 36, sub: 'com', rev: true, c: '{S} lắng nghe chăm chú và chờ đến lượt mình khi trò chuyện nhóm.' }, { id: 37, sub: 'com', rev: false, c: '{S} phản ứng với sự thay đổi tâm trạng của người khác một cách chậm chạp hoặc lệch pha.' }, { id: 38, sub: 'com', rev: false, c: '{S} rất khó kết bạn mới hoặc giữ được những mối quan hệ bạn bè thân thiết lâu dài.' }, { id: 39, sub: 'com', rev: true, c: '{S} chủ động chia sẻ niềm vui, sở thích hoặc thành quả của mình với người thân.' }, { id: 40, sub: 'com', rev: false, c: 'Khi nói chuyện, {S_low} sử dụng từ ngữ quá sách vở, trịnh trọng hoặc rập khuôn so với lứa tuổi.' }, { id: 41, sub: 'com', rev: false, c: '{S} không biết cách nhờ người khác giúp đỡ một cách phù hợp khi gặp khó khăn.' }, { id: 42, sub: 'com', rev: false, c: '{S} dễ gây hiểu lầm là thô lỗ hoặc thờ ơ dù bản thân không hề có ý xấu.' }, // TIỂU THANG 4: ĐỘNG LỰC XÃ HỘI (SOCIAL MOTIVATION - MOT • 11 câu) { id: 43, sub: 'mot', rev: false, c: '{S} cảm thấy căng thẳng, thiếu tự nhiên hơn rất nhiều khi ở trong các tình huống giao lưu xã hội so với khi ở một mình.' }, { id: 44, sub: 'mot', rev: true, c: '{S} tự tin khi giao tiếp và tiếp xúc với những người mới quen.' }, { id: 45, sub: 'mot', rev: false, c: '{S} thích ở một mình hơn là tham gia các hoạt động vui chơi, tụ tập cùng {E}.' }, { id: 46, sub: 'mot', rev: false, c: '{S} không chủ động tìm kiếm sự tham gia của người khác mà thường tự tách mình ra góc riêng.' }, { id: 47, sub: 'mot', rev: true, c: '{S} hào hứng tham gia các hoạt động tập thể, câu lạc bộ hoặc trò chơi nhóm {V}.' }, { id: 48, sub: 'mot', rev: false, c: '{S} tỏ ra quá bám dính vào một người quen duy nhất hoặc hoàn toàn thờ ơ ở nơi đông người.' }, { id: 49, sub: 'mot', rev: false, c: '{S} né tránh những tình huống đòi hỏi phải hợp tác chặt chẽ với người khác.' }, { id: 50, sub: 'mot', rev: true, c: '{S} chủ động bắt chuyện hoặc rủ {E} cùng tham gia hoạt động.' }, { id: 51, sub: 'mot', rev: false, c: '{S} có vẻ xa cách, khép kín và khó tiếp cận về mặt tình cảm.' }, { id: 52, sub: 'mot', rev: false, c: '{S} dễ bị lo âu, sợ hãi quá mức trước các sự kiện xã hội mới lạ.' }, { id: 53, sub: 'mot', rev: false, c: '{S} ít quan tâm đến việc người khác đánh giá hay nghĩ gì về mình.' }, // TIỂU THANG 5: SỞ THÍCH HẠN HẸP & HÀNH VI LẶP LẠI (RESTRICTED/REPETITIVE - RRB • 12 câu) { id: 54, sub: 'rrb', rev: false, c: 'Khi đang căng thẳng, {S_low} thể hiện những hành vi cứng nhắc, rập khuôn và rất khó dứt ra được.' }, { id: 55, sub: 'rrb', rev: false, c: '{S} rất bức bối, cáu giận nếu thói quen sinh hoạt hoặc lịch trình quen thuộc bị thay đổi.' }, { id: 56, sub: 'rrb', rev: false, c: '{S} có những cử động tay chân hoặc cơ thể lặp đi lặp lại (như vẫy tay, đung đưa người, xoay đồ vật, nhón gót).' }, { id: 57, sub: 'rrb', rev: false, c: '{S} chỉ suy nghĩ hoặc nói đi nói lại mãi về một chủ đề hẹp duy nhất mà bản thân đam mê.' }, { id: 58, sub: 'rrb', rev: false, c: '{S} bị người khác xem là có những thói quen kỳ lạ hoặc lập dị.' }, { id: 59, sub: 'rrb', rev: false, c: '{S} chạm vào người khác hoặc đồ vật theo một cách thức khác thường, máy móc.' }, { id: 60, sub: 'rrb', rev: false, c: '{S} quá nhạy cảm với một số âm thanh, ánh sáng hoặc kết cấu bề mặt (quần áo, thức ăn).' }, { id: 61, sub: 'rrb', rev: false, c: 'Phạm vi sở thích {P} rất hẹp và khác biệt so với {E}.' }, { id: 62, sub: 'rrb', rev: false, c: '{S} rất khó chuyển tiếp từ hoạt động này sang hoạt động khác.' }, { id: 63, sub: 'rrb', rev: false, c: '{S} lặp đi lặp lại một số từ ngữ, câu nói (nhại lời) hoặc âm thanh một cách vô thức.' }, { id: 64, sub: 'rrb', rev: false, c: '{S} bị cuốn hút quá mức vào các bộ phận nhỏ của đồ vật, con số, danh sách hoặc quy luật cố định.' }, { id: 65, sub: 'rrb', rev: false, c: '{S} đòi hỏi mọi đồ đạc hoặc công việc phải được sắp xếp theo đúng một trật tự bất di bất dịch.' } ]; let currentForm = 'school'; // 'preschool' | 'school' | 'adult_other' | 'adult_self' // ratings[id] lưu lựa chọn trên thang Likert 1..4 của SRS-2: // 1 = Không đúng (Not True) // 2 = Đôi khi đúng (Sometimes True) // 3 = Thường xuyên đúng (Often True) // 4 = Hầu như luôn đúng (Almost Always True) let ratings = {}; let filterSub = 'all'; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .sr-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .sr-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .sr-inner { padding: 24px; max-width: 980px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .sr-wrap.is-fullscreen .sr-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .sr-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(79, 70, 229, 0.45), 0 0 0 0 rgba(79, 70, 229, 0.4); } 70% { box-shadow: 0 6px 20px rgba(79, 70, 229, 0.45), 0 0 0 10px rgba(79, 70, 229, 0); } 100% { box-shadow: 0 6px 20px rgba(79, 70, 229, 0.45), 0 0 0 0 rgba(79, 70, 229, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #4338ca 0%, #4f46e5 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(79, 70, 229, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Bộ chuyển đổi 4 Phiên bản Độ tuổi SRS-2 */ .form-switcher-box { background: #f1f5f9; padding: 10px; border-radius: 12px; margin-bottom: 18px; } .form-switcher-lbl { font-size: 12px; font-weight: 800; color: #334155; text-transform: uppercase; margin-bottom: 8px; display: block; } .form-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; } .form-btn { padding: 10px 10px; border-radius: 9px; border: 1.5px solid transparent; background: rgba(255, 255, 255, 0.65); cursor: pointer; text-align: left; transition: all 0.18s ease; touch-action: manipulation; } .form-btn:hover { background: #ffffff; } .form-btn.active { background: #ffffff; border-color: #4f46e5; box-shadow: 0 3px 10px rgba(15, 23, 42, 0.08); } .form-btn-title { font-size: 13px; font-weight: 800; color: #0f172a; display: block; } .form-btn.active .form-btn-title { color: #4338ca; } .form-btn-sub { font-size: 11px; color: #64748b; margin-top: 2px; display: block; } /* Header */ .sr-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .sr-header-text { flex: 1 1 260px; } .sr-title { font-size: 20px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .sr-desc { font-size: 13.8px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #eef2ff; color: #4338ca; border: 1px solid #c7d2fe; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #4f46e5; color: #ffffff; border-color: #4f46e5; } /* Controls */ .sr-controls { display: flex; flex-direction: column; gap: 10px; margin-bottom: 18px; } .sr-presets { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; } .sr-preset-lbl { font-size: 12.5px; font-weight: 700; color: #475569; margin-right: 4px; } .sr-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; touch-action: manipulation; } .sr-pbtn:hover { background: #f1f5f9; } .sr-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } .sr-sub-tabs { display: flex; flex-wrap: wrap; gap: 6px; } .sr-stab { padding: 6px 11px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .sr-stab.active { background: #4f46e5; color: #ffffff; border-color: #4f46e5; } /* Sticky Dashboard */ .sr-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .sr-wrap.is-fullscreen .sr-dash { top: 58px; } .sr-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .sr-score-big { font-size: 23px; font-weight: 800; line-height: 1.15; } .sr-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .sr-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .sr-bar-bg { height: 10px; background: #334155; border-radius: 5px; overflow: hidden; margin-bottom: 12px; } .sr-bar-fill { height: 100%; width: 0%; background: #10b981; transition: width 0.35s ease, background 0.35s ease; } .sr-pillars { display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; font-size: 11.5px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .sr-pillar-box { background: #1e293b; padding: 7px 8px; border-radius: 8px; } .sr-pillar-val { font-weight: 800; color: #ffffff; font-size: 13px; display: block; margin-top: 2px; } /* Danh sách 65 câu hỏi */ .sr-q-item { border: 1px solid #e2e8f0; border-radius: 10px; padding: 14px 16px; margin-bottom: 10px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 8px; } .sr-q-item.pts-3 { border-color: #fda4af; background: #fff5f5; } .sr-q-item.pts-2 { border-color: #fde68a; background: #fffbeb; } .sr-q-text { font-size: 14.5px; font-weight: 600; color: #1e293b; line-height: 1.5; } .sr-q-tags { display: flex; flex-wrap: wrap; gap: 6px; } .sr-tag { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .sr-tag.rev-tag { background: #fee2e2; color: #b91c1c; } .sr-ans-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; } .sr-abtn { padding: 8px 6px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 600; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .sr-abtn:hover { border-color: #64748b; } .sr-abtn.sel-0 { background: #10b981; border-color: #10b981; color: #ffffff; font-weight: 700; } .sr-abtn.sel-1 { background: #3b82f6; border-color: #3b82f6; color: #ffffff; font-weight: 700; } .sr-abtn.sel-2 { background: #f59e0b; border-color: #f59e0b; color: #ffffff; font-weight: 700; } .sr-abtn.sel-3 { background: #ef4444; border-color: #ef4444; color: #ffffff; font-weight: 700; } /* Biểu đồ T-Score 5 Tiểu thang & 2 Chỉ số DSM-5 */ .sr-chart-card { margin-top: 20px; padding: 16px 18px; border-radius: 12px; background: #ffffff; border: 1px solid #e2e8f0; } .sr-chart-title { font-size: 14.5px; font-weight: 800; color: #0f172a; margin-bottom: 12px; } .sr-bar-row { display: flex; align-items: center; gap: 10px; margin-bottom: 9px; font-size: 12.5px; } .sr-bar-lbl { width: 270px; flex-shrink: 0; font-weight: 600; color: #334155; } .sr-bar-track { flex: 1; height: 16px; background: #f1f5f9; border-radius: 999px; overflow: hidden; } .sr-bar-val { width: 150px; text-align: right; font-weight: 700; color: #0f172a; flex-shrink: 0; } .sr-result-box { margin-top: 16px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #4f46e5; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 760px) { .sr-inner { padding: 14px; } .form-grid { grid-template-columns: 1fr 1fr; } .sr-title { font-size: 18px; } .sr-pillars { grid-template-columns: 1fr 1fr; } .sr-ans-grid { grid-template-columns: 1fr 1fr; } .sr-bar-lbl { width: 140px; font-size: 11.5px; } .sr-bar-val { width: 115px; font-size: 11px; } .sr-pbtn.reset { margin-left: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
${fCfg.fullTitle}
${fCfg.desc}
`; } function renderQuestions() { const fCfg = formConfigs[currentForm]; questionList.innerHTML = ''; const likertOptions = [ { val: 1, lbl: '1 - Không đúng' }, { val: 2, lbl: '2 - Đôi khi đúng' }, { val: 3, lbl: '3 - Thường xuyên đúng' }, { val: 4, lbl: '4 - Hầu như luôn đúng' } ]; rawQuestions.forEach(function(q) { if (filterSub !== 'all' && q.sub !== filterSub) return; const uLikert = ratings[q.id] || 1; const pts = getItemScore(q, uLikert); const sCfg = subConfigs[q.sub]; let rowCls = 'sr-q-item'; if (pts === 3) rowCls += ' pts-3'; else if (pts === 2) rowCls += ' pts-2'; const btnsHtml = likertOptions.map(opt => { const optPts = getItemScore(q, opt.val); let cls = 'sr-abtn'; if (uLikert === opt.val) { cls += ` sel-${optPts}`; } return ``; }).join(''); const revBadge = q.rev ? '⚡ Câu đảo ngược (Chọn "1 - Không đúng" = 3đ)' : 'Câu thuận (Chọn "4 - Luôn đúng" = 3đ)'; const el = document.createElement('div'); el.className = rowCls; el.innerHTML = `• Tổng điểm SRS-2: Đạt ${totalRaw} / 195 điểm thô → Quy đổi tương đương ${tTotal}T (${clsTotal.text}).
• Hai Chỉ số Tương thích DSM-5:
1. Giao tiếp & Tương tác Xã hội (SCI = AWR + COG + COM + MOT): ${sciRaw}/159đ (${tSCI}T — ${clsSCI.text}).
2. Sở thích Hạn hẹp & Hành vi Lặp lại (RRB): ${rrbRaw}/36đ (${tRRB}T — ${clsRRB.text}).
• Định hướng Mục tiêu Can thiệp theo 5 Tiểu thang (Treatment Subscales):
– Nếu AWR (${tAWR}T) và COG (${tCOG}T) cao: Cần can thiệp dạy nhận diện tín hiệu phi ngôn ngữ, đọc biểu cảm nét mặt và huấn luyện Thuyết tâm trí (Theory of Mind / Câu chuyện xã hội Social Stories).
– Nếu COM (${tCOM}T) và MOT (${tMOT}T) cao: Cần rèn kỹ năng khởi xướng hội thoại qua lại 2 chiều, giảm lo âu xã hội và ghép nhóm chơi tương tác đồng trang lứa có hỗ trợ. `; updateFloatingFabVisibility(); } function applyPreset(type) { ratings = {}; const setScoreForQuestion = function(q, targetPts) { // targetPts: 0, 1, 2, 3 if (!q.rev) { ratings[q.id] = targetPts + 1; } else { ratings[q.id] = 4 - targetPts; } }; if (type === 'reset') { rawQuestions.forEach(q => { setScoreForQuestion(q, 0); }); renderQuestions(); updateSummary(); return; } if (type === 'normal') { // ~24/195đ (~48T - Bình thường { setScoreForQuestion(q, (idx % 3 === 0) ? 1 : 0); }); } else if (type === 'mild') { // ~70/195đ (~63T - Mức độ Nhẹ 60T - 65T) rawQuestions.forEach((q, idx) => { setScoreForQuestion(q, (idx % 10 === 0) ? 2 : 1); }); } else if (type === 'mod') { // ~98/195đ (~71T - Mức độ Trung bình 66T - 75T) rawQuestions.forEach((q, idx) => { setScoreForQuestion(q, (idx % 2 === 0) ? 2 : 1); }); } else if (type === 'sev') { // ~136/195đ (~82T - Mức độ Nặng >= 76T) rawQuestions.forEach((q, idx) => { setScoreForQuestion(q, (idx % 3 === 0) ? 3 : 2); }); } renderQuestions(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); srWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { srWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 980px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } shadow.querySelectorAll('#formGrid .form-btn').forEach(function(btn) { btn.onclick = function() { currentForm = this.getAttribute('data-form'); shadow.querySelectorAll('#formGrid .form-btn').forEach(b => b.classList.remove('active')); this.classList.add('active'); renderHeader(); renderQuestions(); updateSummary(); }; }); shadow.querySelectorAll('.sr-pbtn').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-preset')); }; }); shadow.querySelectorAll('#subTabs .sr-stab').forEach(function(tab) { tab.onclick = function() { filterSub = this.getAttribute('data-sub'); shadow.querySelectorAll('#subTabs .sr-stab').forEach(t => t.classList.remove('active')); this.classList.add('active'); renderQuestions(); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); renderHeader(); applyPreset('mod'); })();
SRS-2 (Social Responsiveness Scale – Thang đo Phản ứng Xã hội): Công cụ sàng lọc và đo lường mức độ khiếm khuyết giao tiếp xã hội trong tự kỷ (từ 2.5 tuổi đến trưởng thành), rất phổ biến trong các nghiên cứu và phòng khám quốc tế.
RS-2 (Social Responsiveness Scale, Second Edition — Thang đo Đáp ứng Xã hội, Phiên bản 2) là công cụ đánh giá định lượng hàng đầu thế giới dùng để đo lường mức độ suy giảm tương tác xã hội và các hành vi hạn hẹp, lặp lại đặc trưng của Rối loạn phổ tự kỷ (ASD) trong môi trường tự nhiên hàng ngày. Công cụ được phát triển bởi Giáo sư John N. Constantino và Christian P. Gruber (xuất bản năm 2012 bởi WPS).
Khác với các công cụ phân loại “Có / Không” (nhị phân), SRS-2 đo lường các đặc điểm phổ tự kỷ trên một dải liên tục (Continuous Dimension) thông qua hệ thống Điểm chuẩn T-Score (Trung bình = 50, Độ lệch chuẩn SD = 10):giúp phát hiện cả những trường hợp suy giảm giao tiếp xã hội mức độ nhẹ / dưới ngưỡng mà các bài test khác dễ bỏ sót, đồng thời lập Hồ sơ 5 Tiểu thang Điều trị (5 Treatment Subscales) để lên kế hoạch can thiệp kỹ năng xã hội.
1. Hệ thống 4 Phiên bản theo Độ tuổi & Người đánh giá của SRS-2
Toàn bộ các phiên bản của SRS-2 đều gồm đúng 65 câu hỏi, chấm trên thang Likert 4 mức từ 0 đến 3 điểm (trên phiếu giấy ghi từ 1 đến 4, khi tính điểm thô quy về 0 – 3 tạo thành Tổng điểm thô từ 0 đến 195 điểm, trong đó có các câu hỏi thuận và câu hỏi đảo ngược):
| Phiên bản (Form) | Độ tuổi áp dụng | Người đánh giá | Ngữ cảnh đánh giá đặc thù |
| 1. Preschool Form(Mầm non) | 2.5 – 4.5 tuổi (30 – 54 tháng) | Cha mẹ hoặc Giáo viên mầm non | Tập trung vào giao tiếp mắt sớm, chú ý chung, chơi giả vờ, tương tác ở lớp mẫu giáo và phản ứng giác quan đầu đời. |
| 2. School-Age Form(Học đường) | 4 – 18 tuổi | Cha mẹ hoặc Giáo viên phổ thông | Có quy chuẩn riêng theo giới tính (Nam / Nữ) và người chấm. Đánh giá quan hệ bạn bè, hội thoại, làm việc nhóm và hành vi ở trường/nhà. |
| 3. Adult Form (Other) (Người lớn – Người thân chấm) | Từ 19 tuổi trở lên | Vợ/chồng, Bố mẹ, Anh chị hoặc Bạn thân | Đánh giá khách quan từ góc nhìn người thân về khả năng duy trì quan hệ tình cảm, công việc và thích ứng xã hội của người trưởng thành. |
| 4. Adult Self-Report(Người lớn – Tự đánh giá) | Từ 19 tuổi trở lên | Bản thân tự đánh giá (Self-report) | Ngôi thứ nhất (“Tôi…”), giúp người trưởng thành tự nhận diện các khó khăn xã hội, cảm giác quá tải và xu hướng cứng nhắc của bản thân. |
2. Cấu trúc 5 Tiểu thang Điều trị & 2 Chỉ số Tương thích DSM-5 của SRS-2
Điểm mạnh nhất của SRS-2 là tách tổng điểm thành 5 Tiểu thang Điều trị (Treatment Subscales) và gom lại thành 2 Chỉ số Tương thích DSM-5:
| Chỉ số Tương thích DSM-5 | Mã | Tên Tiểu thang Điều trị (Treatment Subscale) | Số câu | Nội dung lâm sàng cốt lõi |
| 1. Giao tiếp và Tương tác Xã hội (Social Communication and Interaction – SCI • 53 câu) | AWR | 1. Nhận thức Xã hội(Social Awareness) | 8 câu | Khả năng thu nhận các tín hiệu xã hội cơ bản (biết khi nào mình nói quá to, nhận ra biểu cảm/ý định của người xung quanh). |
| COG | 2. Nhận thức / Tư duy Xã hội (Social Cognition) | 12 câu | Khả năng giải mã và diễn giải các tín hiệu xã hội sau khi đã nhìn/nghe thấy (Thuyết tâm trí, hiểu lời nói đùa, nghĩa bóng, nguyên nhân – hệ quả xã hội). | |
| COM | 3. Giao tiếp Xã hội(Social Communication) | 22 câu | Năng lực diễn đạt và tương hỗ xã hội (hội thoại qua lại 2 chiều, phối hợp ánh mắt – nét mặt – cử chỉ, chia sẻ cảm xúc). | |
| MOT | 4. Động lực Xã hội(Social Motivation) | 11 câu | Mức độ hứng thú chủ động tham gia tương tác xã hội so với sự thu mình, lo âu xã hội hoặc thích tách biệt ở một mình. | |
| 2. Hành vi Hạn hẹp & Lặp lại (RRB • 12 câu) | RRB | 5. Sở thích Hạn hẹp & Hành vi Lặp lại(Restricted Interests & Repetitive Behavior) | 12 câu | Các cử động định hình (mannerisms), thói quen cứng nhắc, kháng cự thay đổi và đam mê ám ảnh vào chủ đề hẹp. |
3. Bảng Diễn giải Điểm Chuẩn T-Score của SRS-2 (Mean=50,SD=10)
[Tự kỷ] SCQ: Bảng câu hỏi sàng lọc giao tiếp xã hội và phổ tự kỷ (Từ 4 tuổi trở lên)
Bảng Câu Hỏi Sàng Lọc Giao Tiếp Xã Hội SCQ (Từ 4 Tuổi Trở Lên)
', 'Đánh giá 40 chỉ báo hành vi theo cấu trúc SCQ (Lifetime Form) dựa trên tiêu chuẩn vàng ADI-R. Hệ thống tự động phân luồng ở Câu 1 và đối chiếu 2 ngưỡng điểm cắt lâm sàng (≥ 11 điểm và ≥ 15 điểm).
', '• Tổng điểm thấp hơn cả ngưỡng chuẩn (15 điểm) và ngưỡng nhạy cao cho trẻ nhỏ (11 điểm).
• Các kỹ năng Tương tác xã hội qua lại (' + rsi + '/15) và Giao tiếp (' + com + '/' + maxCom + ') không bộc lộ sự suy giảm lan tỏa đặc trưng của phổ tự kỷ.'; } else if (total < 15) { color = '#f59e0b'; badgeTxt = 'NGƯỠNG CẢNH BÁO SỚM (' + total + '/' + maxScore + ' điểm)'; analysis = 'Kết luận sàng lọc SCQ — Ngưỡng Cần Lưu Ý Lâm Sàng (11 – 14 điểm: Đạt ' + total + '/' + maxScore + ' điểm):
• Nhiều nghiên cứu lâm sàng khuyến nghị sử dụng điểm cắt ≥ 11 cho trẻ từ 4 – 7 tuổi để tránh bỏ sót Tự kỷ mức độ nhẹ hoặc Rối loạn giao tiếp xã hội (SPCD).
• Hồ sơ trụ cột: Tương tác xã hội (' + rsi + '/15) • Giao tiếp (' + com + '/' + maxCom + ') • Hành vi lặp lại (' + rrb + '/' + maxRrb + '). Khuyến nghị đánh giá thêm bằng thang Vineland-3.'; } else { color = '#ef4444'; badgeTxt = 'NGUY CƠ CAO ASD (' + total + '/' + maxScore + ' điểm)'; analysis = 'Kết luận sàng lọc SCQ — Vượt Ngưỡng Điểm Cắt Chuẩn (≥ 15 điểm: Đạt ' + total + '/' + maxScore + ' điểm):
• Kết quả sàng lọc dương tính trên thang SCQ ở cả 3 trụ cột: Tương tác xã hội (' + rsi + '/15), Giao tiếp (' + com + '/' + maxCom + ') và Hành vi lặp lại (' + rrb + '/' + maxRrb + ').
• Hướng xử trí chuẩn: Cần chuyển gửi trẻ thực hiện đánh giá chẩn đoán toàn diện bằng ADOS-2, ADI-R và Vineland-3.'; } barFillEl.style.background = color; badgeEl.textContent = badgeTxt; badgeEl.style.background = color; badgeEl.style.color = '#ffffff'; resBoxEl.style.borderLeftColor = color; resBoxEl.innerHTML = analysis; updateFloatingFabVisibility(); } function applyPreset(type) { answers = {}; if (type === 'reset') { answers[1] = 'YES'; renderQuestions(); updateSummary(); return; } if (type === 'typical') { answers[1] = 'YES'; questions.forEach(function(q) { if (q.id !== 1) answers[q.id] = (q.r === 'YES' ? 'NO' : 'YES'); }); answers[8] = 'YES'; answers[11] = 'YES'; answers[20] = 'NO'; } else if (type === 'spcd') { answers[1] = 'YES'; questions.forEach(function(q) { if (q.id !== 1) answers[q.id] = (q.r === 'YES' ? 'NO' : 'YES'); }); [2, 4, 8, 19, 20, 22, 23, 28, 30, 35, 39, 40].forEach(function(id) { answers[id] = questions[id - 1].r; }); } else if (type === 'hfasd') { answers[1] = 'YES'; questions.forEach(function(q) { if (q.id !== 1) answers[q.id] = (q.r === 'YES' ? 'NO' : 'YES'); }); [2, 3, 4, 5, 7, 8, 9, 11, 12, 13, 15, 19, 20, 22, 26, 30, 31, 35, 39].forEach(function(id) { answers[id] = questions[id - 1].r; }); } else if (type === 'nvasd') { answers[1] = 'NO'; questions.forEach(function(q) { if (q.id !== 1 && !q.verbalOnly) answers[q.id] = (q.r === 'YES' ? 'NO' : 'YES'); }); [8, 9, 10, 12, 14, 15, 16, 18, 19, 21, 22, 23, 24, 26, 28, 29, 30, 32, 35, 36, 37, 39].forEach(function(id) { answers[id] = questions[id - 1].r; }); } renderQuestions(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; var rect = host.getBoundingClientRect(); var viewH = window.innerHeight || document.documentElement.clientHeight; if (rect.top 180) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = 'position:fixed!important;inset:0!important;top:0!important;left:0!important;right:0!important;bottom:0!important;width:100vw!important;height:100vh!important;height:100dvh!important;max-width:none!important;max-height:none!important;margin:0!important;padding:0!important;z-index:2147483647!important;background:#f8fafc!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;display:block!important;'; wrapEl.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { wrapEl.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = ''; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } shadow.querySelectorAll('.scq-pbtn').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-preset')); }; }); shadow.querySelectorAll('#domainTabs .scq-dtab').forEach(function(tab) { tab.onclick = function() { filterType = this.getAttribute('data-dom'); shadow.querySelectorAll('#domainTabs .scq-dtab').forEach(function(t) { t.classList.remove('active'); }); this.classList.add('active'); renderQuestions(); }; }); shadow.getElementById('btnToggleFullscreen').onclick = function() { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = function() { setFullscreenState(false); }; fabBtn.onclick = function() { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', function(e) { if (e.key === 'Escape' && isFullscreen) setFullscreenState(false); }); applyPreset('hfasd'); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', initSCQWidget); } else { initSCQWidget(); } })();
SCQ (Social Communication Questionnaire — Bảng câu hỏi Giao tiếp Xã hội, trước đây từng có tên là Autism Screening Questionnaire – ASQ) là một công cụ sàng lọc chuẩn hóa hàng đầu dùng để phát hiện các dấu hiệu của Rối loạn phổ tự kỷ (ASD). Công cụ này được phát triển bởi ba chuyên gia đầu ngành là Michael Rutter, Anthony Bailey và Catherine Lord.
Nếu như M-CHAT-R/F được thiết kế cho trẻ nhỏ từ 16 – 30 tháng tuổi, thì SCQ chính là công cụ nối tiếp hoàn hảo để sàng lọc cho trẻ lớn hơn và người trưởng thành (từ 4 tuổi trở lên).
1. Nguồn gốc và Cơ sở khoa học
SCQ được thiết kế dựa trực tiếp trên các câu hỏi cốt lõi của ADI-R (Autism Diagnostic Interview-Revised — Phỏng vấn chẩn đoán tự kỷ bản hiệu đính, vốn là “tiêu chuẩn vàng” trong chẩn đoán tự kỷ nhưng mất từ 1.5 đến 2.5 giờ để thực hiện).
SCQ rút gọn quy trình đó thành 40 câu hỏi Đúng/Sai (Có/Không) dành cho phụ huynh hoặc người chăm sóc chính điền trong khoảng 10 phút, giúp tiết kiệm tối đa thời gian trước khi quyết định có cần đưa trẻ đi đánh giá chuyên sâu (như ADOS-2, ADI-R, Vineland-3) hay không.
2. Đối tượng áp dụng
-
Độ tuổi thực tế (Chronological Age): Từ 4 tuổi (48 tháng) trở lên (bao gồm trẻ mẫu giáo lớn, học sinh tiểu học,thanh thiếu niên và người lớn).
-
Tuổi phát triển tâm thần (Mental Age): Tối thiểu đạt mức từ 2.0 tuổi trở lên.
3. Hai phiên bản của SCQ
Công cụ SCQ được chia làm 2 mẫu phiếu tùy theo mục đích lâm sàng:
4. Cấu trúc 40 câu hỏi và 3 lĩnh vực đánh giá
Bảng hỏi gồm 40 câu trả lời CÓ / KHÔNG, tập trung vào 3 trụ cột triệu chứng cốt lõi của phổ tự kỷ:
-
Tương tác xã hội qua lại (Reciprocal Social Interaction): Giao tiếp mắt, nụ cười xã hội, sự quan tâm đến bạn bè cùng trang lứa, khả năng chia sẻ cảm xúc và an ủi người khác.
-
Giao tiếp (Communication): Cách sử dụng cử chỉ (chỉ trỏ, gật đầu), trò chuyện qua lại hai chiều, chơi giả vờ/tưởng tượng và các biểu hiện ngôn ngữ bất thường (nhại lời, nói lặp đi lặp lại, đảo ngược đại từ).
-
Các mẫu hành vi hạn hẹp, lặp đi lặp lại và rập khuôn (Restricted, Repetitive, and Stereotyped Patterns of Behavior): Sở thích đặc biệt quá mức, nghi thức cứng nhắc, cử động tay chân/cơ thể bất thường (stimming) hoặc thu hút giác quan lạ.
5. Cách tính điểm và Điểm cắt lâm sàng (Cut-off Score)
-
Câu số 1 (Câu phân luồng ngôn ngữ): “Hiện tại trẻ có thể nói bằng các cụm từ hoặc câu ngắn không?”. Câu số 1 không tính điểm, mà dùng để phân nhánh:
-
Nếu Câu 1 = CÓ (Trẻ có ngôn ngữ nói): Phụ huynh trả lời tiếp từ câu 2 đến câu 40. Tổng điểm tối đa là 39 điểm (tính từ 39 câu).
-
Nếu Câu 1 = KHÔNG (Trẻ chưa có ngôn ngữ cụm từ): Phụ huynh bỏ qua 6 câu về ngôn ngữ nói phức tạp (câu 2 đến câu 7) và trả lời từ câu 8 đến câu 40. Tổng điểm tối đa là 33 điểm (tính từ 33 câu).
-
-
Quy tắc chấm điểm (0 và 1):
Khoảng một nửa số câu hỏi được thiết kế theo chiều thuận (chọn CÓ = 1 điểm nguy cơ, thường là các hành vi bất thường) và nửa còn lại theo chiều nghịch (chọn KHÔNG = 1 điểm nguy cơ, thường là các kỹ năng phát triển bình thường bị thiếu hụt).
-
Ngưỡng điểm cắt (Cut-off):
-
điểm (Chuẩn gốc): Gợi ý nguy cơ cao mắc Rối loạn phổ tự kỷ (ASD), cần chuyển gửi đi đánh giá chẩn đoán chuyên sâu.
-
hoặc điểm (Khuyến nghị lâm sàng mới cho trẻ từ 4 – 7 tuổi): Nhiều nghiên cứu lâm sàng hiện đại khuyến nghị hạ điểm cắt xuống 11 hoặc 12 điểm ở nhóm trẻ nhỏ (hoặc trẻ chưa có lời nói) để tăng độ nhạy, tránh bỏ sót những trẻ tự kỷ mức độ nhẹ / chức năng cao.
-
Nguồn: Tài liệu chính thống với sự hỗ trợ của AI!
[Tự kỷ] CAST: Bài kiểm tra phát hiện sớm dấu hiệu rối loạn phổ tự kỷ ở trẻ 4 – 11 tuổi
(function() { const host = document.getElementById('cast-wp-host'); if (!host) return; const placeholder = document.createComment('cast-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // 37 câu hỏi chuẩn CAST (Cambridge University) // r: Đáp án tính 1 điểm ('YES' hoặc 'NO', 'CTRL' = 6 câu kiểm soát không tính điểm: 3, 4, 12, 22, 26, 33) // dom: 'soc' (Tương tác xã hội & Bạn bè - 12 câu), 'com' (Giao tiếp & Ngữ dụng - 12 câu), 'rrb' (Cứng nhắc & Sở thích hẹp - 7 câu), 'ctrl' (Kiểm soát - 6 câu) const questions = [ { id: 1, r: 'NO', dom: 'soc', cat: 'Tương tác bạn bè', t: 'Trẻ có dễ dàng tham gia chơi cùng với những đứa trẻ khác không?' }, { id: 2, r: 'NO', dom: 'com', cat: 'Giao tiếp hai chiều', t: 'Trẻ có tự nhiên bắt chuyện và trò chuyện qua lại với bạn một cách thoải mái không?' }, { id: 3, r: 'CTRL', dom: 'ctrl', cat: 'Câu kiểm soát phát triển (Không tính điểm)', t: 'Trẻ bắt đầu biết nói từ khi tròn 2 tuổi phải không?' }, { id: 4, r: 'CTRL', dom: 'ctrl', cat: 'Câu kiểm soát phát triển (Không tính điểm)', t: 'Trẻ có thích các hoạt động thể thao, vận động thể chất không?' }, { id: 5, r: 'YES', dom: 'rrb', cat: 'Trí nhớ chi tiết / Học vẹt', t: 'Việc ghi nhớ chính xác các thông tin, dữ kiện chi tiết có phải là điều cực kỳ quan trọng đối với trẻ không?' }, { id: 6, r: 'NO', dom: 'com', cat: 'Luân phiên hội thoại', t: 'Trẻ có hiểu và thực hiện tốt việc chờ đến lượt khi trò chuyện qua lại với người khác không?' }, { id: 7, r: 'NO', dom: 'com', cat: 'Chơi giả vờ / Tưởng tượng', t: 'Trẻ có thích chơi các trò đóng vai, giả vờ hoặc tưởng tượng không?' }, { id: 8, r: 'YES', dom: 'rrb', cat: 'Tính cứng nhắc / Quy tắc', t: 'Trẻ có thích làm mọi việc lặp đi lặp lại theo đúng một cách cố định không?' }, { id: 9, r: 'NO', dom: 'com', cat: 'Duy trì cuộc trò chuyện', t: 'Trẻ có thể tự duy trì một cuộc trò chuyện qua lại nhiều lượt với người khác không?' }, { id: 10, r: 'NO', dom: 'soc', cat: 'Hòa nhập nhóm bạn', t: 'Trẻ có dễ dàng kết bạn và hòa nhập với các bạn cùng trang lứa ở trường không?' }, { id: 11, r: 'NO', dom: 'com', cat: 'Quan tâm chủ đề của người nghe', t: 'Khi nói chuyện, trẻ có quan tâm xem người đối diện có hứng thú với chủ đề trẻ đang nói không?' }, { id: 12, r: 'CTRL', dom: 'ctrl', cat: 'Câu kiểm soát phát triển (Không tính điểm)', t: 'Trẻ có thích đọc sách phù hợp với lứa tuổi của mình không?' }, { id: 13, r: 'NO', dom: 'soc', cat: 'Sở thích chung với bạn đồng trang lứa', t: 'Trẻ có hầu hết các sở thích giống như những đứa trẻ khác cùng độ tuổi không?' }, { id: 14, r: 'YES', dom: 'rrb', cat: 'Sở thích hẹp / Chuyên sâu', t: 'Trẻ có một mối quan tâm/sở thích đặc biệt nào đó chiếm gần hết thời gian khiến trẻ ít làm việc khác không?' }, { id: 15, r: 'NO', dom: 'soc', cat: 'Duy trì tình bạn', t: 'Trẻ có những người bạn thân thực sự (chứ không chỉ là người quen biết chung chung) không?' }, { id: 16, r: 'NO', dom: 'soc', cat: 'Chia sẻ sự chú ý', t: 'Trẻ có thường mang những thứ trẻ thích hoặc tự làm được lại đưa cho bạn xem để khoe không?' }, { id: 17, r: 'NO', dom: 'com', cat: 'Kể chuyện xã hội', t: 'Trẻ có thích nói chuyện tào lao vui vẻ hoặc chia sẻ cảm xúc hàng ngày với bạn không?' }, { id: 18, r: 'YES', dom: 'rrb', cat: 'Trí nhớ máy móc khác thường', t: 'Trẻ có trí nhớ chi tiết khác thường về những thông tin mà hầu hết người khác đều quên ngay không?' }, { id: 19, r: 'NO', dom: 'soc', cat: 'Giao tiếp mắt', t: 'Trẻ có sử dụng giao tiếp mắt tự nhiên và phù hợp khi nói chuyện với người khác không?' }, { id: 20, r: 'YES', dom: 'com', cat: 'Ngôn ngữ hình thức / Khác lạ', t: 'Giọng điệu của trẻ có vẻ đều đều, khác thường hoặc cách dùng từ quá sách vở/già dặn so với tuổi không?' }, { id: 21, r: 'NO', dom: 'soc', cat: 'Tầm quan trọng của con người', t: 'Đối với trẻ, con người (bạn bè, người thân) có quan trọng hơn là các đồ vật/sự vật không?' }, { id: 22, r: 'CTRL', dom: 'ctrl', cat: 'Câu kiểm soát phát triển (Không tính điểm)', t: 'Trẻ đã có thể tự mặc quần áo mà không cần giúp đỡ chưa?' }, { id: 23, r: 'NO', dom: 'soc', cat: 'Kỹ năng luân phiên xã hội', t: 'Trẻ có giỏi việc nhường nhịn và luân phiên khi tham gia hoạt động chung với người khác không?' }, { id: 24, r: 'NO', dom: 'soc', cat: 'Chơi nhập vai hợp tác', t: 'Trẻ có chơi đóng vai giả vờ cùng với một hoặc nhiều đứa trẻ khác không?' }, { id: 25, r: 'YES', dom: 'com', cat: 'Thiếu tinh tế xã hội', t: 'Trẻ có hay buột miệng nói hoặc làm những điều thiếu tế nhị, không phù hợp hoàn cảnh xã hội không?' }, { id: 26, r: 'CTRL', dom: 'ctrl', cat: 'Câu kiểm soát phát triển (Không tính điểm)', t: 'Trẻ có thể đếm đến 50 mà không bỏ sót số nào không?' }, { id: 27, r: 'NO', dom: 'soc', cat: 'Nụ cười xã hội', t: 'Trẻ có mỉm cười tự nhiên đáp lại khi tương tác với người khác không?' }, { id: 28, r: 'YES', dom: 'rrb', cat: 'Vận động định hình (Stimming)', t: 'Trẻ có những cử động cơ thể hoặc tay chân lặp đi lặp lại bất thường không?' }, { id: 29, r: 'YES', dom: 'soc', cat: 'Hành vi xã hội một chiều', t: 'Cách cư xử xã hội của trẻ có vẻ thiên về một chiều và luôn muốn mọi thứ phải theo đúng điều kiện của trẻ không?' }, { id: 30, r: 'YES', dom: 'com', cat: 'Tách biệt nội dung hội thoại', t: 'Đôi khi trẻ có nói "thao thao bất tuyệt" về chủ đề của riêng mình mà không liên quan gì đến câu chuyện chung không?' }, { id: 31, r: 'YES', dom: 'rrb', cat: 'Thích chơi một mình', t: 'Trẻ có thích tự chơi các hoạt động tưởng tượng một mình hơn là chơi cùng bạn khác không?' }, { id: 32, r: 'YES', dom: 'com', cat: 'Mất mạch câu chuyện', t: 'Đôi khi trẻ có làm người nghe bối rối vì không giải thích rõ trẻ đang nói về chủ đề gì không?' }, { id: 33, r: 'CTRL', dom: 'ctrl', cat: 'Câu kiểm soát phát triển (Không tính điểm)', t: 'Trẻ đã biết đi xe đạp hai bánh chưa?' }, { id: 34, r: 'YES', dom: 'rrb', cat: 'Áp đặt quy tắc lên bạn bè', t: 'Trẻ có cố gắng áp đặt các thói quen hoặc luật lệ cứng nhắc của bản thân lên bạn cùng chơi không?' }, { id: 35, r: 'NO', dom: 'soc', cat: 'Quan tâm hình ảnh xã hội', t: 'Trẻ có quan tâm đến việc nhóm bạn ở trường nghĩ gì hoặc đánh giá thế nào về mình không?' }, { id: 36, r: 'YES', dom: 'com', cat: 'Độc thoại trong giao tiếp', t: 'Khi nói chuyện, trẻ có thường biến cuộc hội thoại thành bài độc thoại một chiều về sở thích của trẻ không?' }, { id: 37, r: 'YES', dom: 'com', cat: 'Hiểu theo nghĩa đen (Literal)', t: 'Trẻ có gặp khó khăn khi hiểu các câu nói đùa, thành ngữ, ẩn dụ hoặc lời nói mỉa mai không?' } ]; let answers = {}; let filterDom = 'all'; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .cast-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .cast-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .cast-inner { padding: 24px; max-width: 920px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .cast-wrap.is-fullscreen .cast-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .cast-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 0 rgba(37, 99, 235, 0.4); } 70% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 10px rgba(37, 99, 235, 0); } 100% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 0 rgba(37, 99, 235, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #1d4ed8 0%, #2563eb 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Header */ .cast-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .cast-header-text { flex: 1 1 260px; } .cast-title { font-size: 21px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .cast-desc { font-size: 14px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #eff6ff; color: #1d4ed8; border: 1px solid #bfdbfe; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #2563eb; color: #ffffff; border-color: #2563eb; } /* Controls */ .cast-controls { display: flex; flex-direction: column; gap: 10px; margin-bottom: 18px; } .cast-presets { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; } .cast-preset-lbl { font-size: 12.5px; font-weight: 700; color: #475569; margin-right: 4px; } .cast-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; transition: all 0.15s ease; touch-action: manipulation; } .cast-pbtn:hover { background: #f1f5f9; border-color: #94a3b8; } .cast-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } .cast-domain-tabs { display: flex; flex-wrap: wrap; gap: 6px; } .cast-dtab { padding: 6px 12px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .cast-dtab.active { background: #2563eb; color: #ffffff; border-color: #2563eb; } /* Sticky Dashboard */ .cast-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .cast-wrap.is-fullscreen .cast-dash { top: 58px; } .cast-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .cast-score-big { font-size: 24px; font-weight: 800; line-height: 1; } .cast-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .cast-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .cast-bar-bg { height: 10px; background: #334155; border-radius: 5px; overflow: hidden; margin-bottom: 12px; } .cast-bar-fill { height: 100%; width: 0%; background: #10b981; transition: width 0.35s ease, background 0.35s ease; } .cast-pillars { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; font-size: 12px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .cast-pillar-box { background: #1e293b; padding: 7px 10px; border-radius: 8px; } .cast-pillar-val { font-weight: 700; color: #ffffff; font-size: 13.5px; display: block; margin-top: 2px; } /* Danh sách 37 câu hỏi */ .cast-q-item { border: 1px solid #e2e8f0; border-radius: 10px; padding: 14px 16px; margin-bottom: 12px; background: #ffffff; transition: all 0.2s ease; } .cast-q-item.risk-flagged { border-color: #fca5a5; background: #fff5f5; } .cast-q-item.ctrl-item { background: #f8fafc; border-style: dashed; } .cast-q-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; } .cast-q-text { font-size: 14.5px; font-weight: 600; color: #1e293b; line-height: 1.5; flex: 1; } .cast-q-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; } .cast-tag { font-size: 11px; font-weight: 600; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .cast-tag.dom-soc { background: #dbeafe; color: #1d4ed8; } .cast-tag.dom-com { background: #f3e8ff; color: #7e22ce; } .cast-tag.dom-rrb { background: #fef3c7; color: #b45309; } .cast-tag.ctrl { background: #e2e8f0; color: #334155; } .cast-ans-group { display: flex; gap: 8px; flex-shrink: 0; } .cast-abtn { min-width: 78px; padding: 8px 14px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 13.5px; font-weight: 700; color: #334155; cursor: pointer; transition: all 0.15s ease; touch-action: manipulation; } .cast-abtn:hover { border-color: #64748b; } .cast-abtn.sel-safe { background: #10b981; border-color: #10b981; color: #ffffff; } .cast-abtn.sel-risk { background: #ef4444; border-color: #ef4444; color: #ffffff; } .cast-abtn.sel-ctrl { background: #64748b; border-color: #64748b; color: #ffffff; } .cast-result-box { margin-top: 20px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #64748b; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 600px) { .cast-inner { padding: 14px; } .cast-title { font-size: 18px; } .cast-q-head { flex-direction: column; } .cast-ans-group { width: 100%; } .cast-abtn { flex: 1; padding: 10px 14px; } .cast-pillars { grid-template-columns: 1fr; } .cast-pbtn.reset { margin-left: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
Bài Test Sàng Lọc Phổ Tự Kỷ Tuổi Đi Học CAST (4 – 11 Tuổi)
Đánh giá 37 câu hỏi CÓ / KHÔNG theo chuẩn Đại học Cambridge (Anh). Hệ thống tính điểm trên 31 câu chỉ báo (tự động tách riêng 6 câu kiểm soát phát triển chung không tính điểm: câu 3, 4, 12, 22, 26, 33). Ngưỡng điểm cắt chuẩn: ≥ 15 điểm.
• Tổng điểm thấp hơn cả ngưỡng giáp ranh (12 điểm) và ngưỡng cắt chuẩn (15 điểm).
• Trẻ thể hiện khả năng kết bạn, trò chuyện qua lại hai chiều (${com}/12) và hòa nhập nhóm bạn học đường (${soc}/12) phù hợp với lứa tuổi. `; } else if (total < 15) { color = '#f59e0b'; badgeTxt = `VÙNG GIÁP RANH (${total}/31 điểm)`; analysis = ` Kết luận sàng lọc CAST — Vùng Giáp Ranh Cần Lưu Ý (12 – 14 điểm: Đạt ${total}/31 điểm):
• Điểm số tiệm cận ngưỡng cắt lâm sàng (≥ 15 điểm). Hồ sơ 3 trụ cột: Tương tác xã hội (${soc}/12) • Giao tiếp ngữ dụng (${com}/12) • Hành vi cứng nhắc & Sở thích hẹp (${rrb}/7).
• Khuyến nghị: Nên kết hợp đối chiếu thêm bảng sàng lọc từ Giáo viên (như thang ASSQ) và theo dõi kỹ năng hiểu nghĩa bóng, duy trì tình bạn ở trường. `; } else { color = '#ef4444'; badgeTxt = `NGUY CƠ CAO ASD (≥ 15: ${total}/31đ)`; analysis = ` Kết luận sàng lọc CAST — Vượt Ngưỡng Điểm Cắt Lâm Sàng (≥ 15 điểm: Đạt ${total}/31 điểm):
• Kết quả dương tính trên thang CAST với các dấu hiệu đặc trưng ở cả 3 lĩnh vực: Tương tác bạn bè (${soc}/12), Giao tiếp ngữ dụng (${com}/12) và Sở thích chuyên sâu / Tính cứng nhắc (${rrb}/7).
• Hướng xử trí chuẩn: Cần chuyển gửi trẻ thực hiện đánh giá chẩn đoán chuyên sâu bằng ADOS-2 (Module 3), ADI-R và đánh giá năng lực thích ứng Vineland-3 để xây dựng kế hoạch hỗ trợ kỹ năng xã hội học đường. `; } barFillEl.style.background = color; badgeEl.textContent = badgeTxt; badgeEl.style.background = color; badgeEl.style.color = '#ffffff'; resBoxEl.style.borderLeftColor = color; resBoxEl.innerHTML = analysis; updateFloatingFabVisibility(); } function applyPreset(type) { answers = {}; if (type === 'reset') { renderQuestions(); updateSummary(); return; } questions.forEach(function(q) { if (q.r === 'CTRL') answers[q.id] = 'YES'; else answers[q.id] = (q.r === 'YES' ? 'NO' : 'YES'); }); if (type === 'typical') { [5, 14, 18].forEach(function(id) { answers[id] = questions[id - 1].r; }); } else if (type === 'border') { [1, 5, 6, 8, 10, 11, 14, 15, 18, 20, 25, 30, 37].forEach(function(id) { answers[id] = questions[id - 1].r; }); } else if (type === 'hfasd') { [1, 2, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 18, 19, 20, 25, 29, 30, 34, 36, 37].forEach(function(id) { answers[id] = questions[id - 1].r; }); } renderQuestions(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); castWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { castWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 900px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } shadow.querySelectorAll('.cast-pbtn').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-preset')); }; }); shadow.querySelectorAll('#domainTabs .cast-dtab').forEach(function(tab) { tab.onclick = function() { filterDom = this.getAttribute('data-dom'); shadow.querySelectorAll('#domainTabs .cast-dtab').forEach(t => t.classList.remove('active')); this.classList.add('active'); renderQuestions(); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); applyPreset('hfasd'); })();
CAST (Childhood Autism Spectrum Test — trước đây gọi là Childhood Asperger Syndrome Test) là công cụ sàng lọc chuẩn hóa do Trung tâm Nghiên cứu Tự kỷ (ARC) tại Đại học Cambridge (Anh) (Fiona Scott, Simon Baron-Cohen và cộng sự) phát triển.
Mục đích lâm sàng: Phát hiện các dấu hiệu Rối loạn phổ tự kỷ mức độ nhẹ / Tự kỷ chức năng cao (High-Functioning Autism / Asperger) ở trẻ em độ tuổi đi học — nhóm trẻ thường có trí tuệ và ngôn ngữ bề mặt bình thường nhưng gặp rào cản trong giao tiếp xã hội tinh tế, kết bạn và hành vi linh hoạt ở trường.
-
Độ tuổi áp dụng: 4 đến 11 tuổi (Bậc Mầm non lớn & Tiểu học).
-
Người thực hiện: Phụ huynh hoặc người chăm sóc chính trả lời trong khoảng 10 phút.
-
Cấu trúc câu hỏi (37 câu CÓ / KHÔNG):
-
31 câu tính điểm nguy cơ chia vào 3 trụ cột: Tương tác xã hội & Bạn bè (12 câu), Giao tiếp & Ngữ dụng (12 câu), Hành vi cứng nhắc & Sở thích hẹp (7 câu).
-
6 câu kiểm soát phát triển chung không tính điểm: Câu số 3, 4, 12, 22, 26, 33.
-
-
Cách tính điểm & Ngưỡng điểm cắt (Cut-off):
-
Tổng điểm tối đa: 31 điểm (mỗi câu khớp chỉ báo ASD = 1 điểm).
-
điểm: Ngưỡng nguy cơ cao (Positive screen), cần chuyển gửi đánh giá chẩn đoán chuyên sâu (ADOS-2, ADI-R, Vineland-3).
-
12 – 14 điểm: Vùng giáp ranh (Borderline), cần theo dõi sát và đối chiếu thêm đánh giá từ giáo viên.
-
Nguồn: Tài liệu gốc với sự hỗ trợ của AI.
[Tự kỷ] ASSQ: Bảng câu hỏi sàng lọc phổ tự kỷ chức năng cao ở trẻ học đường (7 – 16 tuổi)
(function() { const host = document.getElementById('assq-wp-host'); if (!host) return; const placeholder = document.createComment('assq-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // 27 câu hỏi chuẩn ASSQ (Ehlers, Gillberg & Wing, 1999) // dom: 'soc' (Tương tác xã hội - 11 câu), 'com' (Giao tiếp & Ngữ dụng - 6 câu), 'rrb' (Cứng nhắc & Lặp lại - 5 câu), 'mot' (Vận động & Biểu cảm/Tics - 5 câu) const questions = [ { id: 1, dom: 'com', cat: 'Phong cách ngôn ngữ', t: 'Cách nói chuyện và cư xử già dặn kiểu "ông cụ non" (kiểu cách, sách vở hơn bạn cùng tuổi).' }, { id: 2, dom: 'soc', cat: 'Hình ảnh trong mắt bạn bè', t: 'Được các bạn cùng trang lứa coi như một "giáo sư lập dị" (biết rất nhiều về vài thứ nhưng xa rời thực tế).' }, { id: 3, dom: 'soc', cat: 'Thế giới nội tâm', t: 'Sống như trong thế giới riêng của bản thân với những mối quan tâm trí tuệ hẹp và mang tính cá nhân.' }, { id: 4, dom: 'rrb', cat: 'Trí nhớ cơ học', t: 'Tích lũy các sự kiện, số liệu về một số chủ đề nhất định (trí nhớ cơ học rất tốt) nhưng không thực sự hiểu sâu ý nghĩa tổng thể.' }, { id: 5, dom: 'com', cat: 'Hiểu theo nghĩa đen', t: 'Hiểu ngôn ngữ theo đúng nghĩa đen; không hiểu được nghĩa bóng, ẩn dụ, lời nói đùa hoặc châm biếm.' }, { id: 6, dom: 'com', cat: 'Diễn đạt lệch chuẩn', t: 'Có phong cách giao tiếp lệch chuẩn: cách diễn đạt trang trọng quá mức, cầu kỳ, cổ điển hoặc cứng nhắc như "robot".' }, { id: 7, dom: 'com', cat: 'Từ ngữ tự tạo', t: 'Tự bịa ra các từ ngữ hoặc cách diễn đạt riêng biệt không giống ai.' }, { id: 8, dom: 'com', cat: 'Giọng điệu khác lạ', t: 'Có giọng nói hoặc cách phát âm khác thường (quá to, quá nhỏ, đều đều một tông giọng, hoặc ngữ điệu kỳ lạ).' }, { id: 9, dom: 'mot', cat: 'Âm thanh không chủ đích', t: 'Phát âm ra những âm thanh không chủ đích như: hắng giọng, khịt mũi, tặc lưỡi, rên rỉ hoặc kêu lên bất chợt.' }, { id: 10, dom: 'rrb', cat: 'Năng lực không đồng đều', t: 'Phong độ học tập/thực hiện nhiệm vụ rất thất thường: cực kỳ xuất sắc ở một số mảng nhưng lại rất kém ở những mảng đơn giản khác.' }, { id: 11, dom: 'com', cat: 'Ngữ dụng xã hội', t: 'Sử dụng ngôn ngữ trôi chảy nhưng thất bại trong việc điều chỉnh lời nói cho phù hợp với ngữ cảnh xã hội hoặc người nghe.' }, { id: 12, dom: 'soc', cat: 'Thấu cảm xã hội', t: 'Thiếu sự đồng cảm (không nhận ra hoặc không thấu hiểu được cảm xúc của người khác).' }, { id: 13, dom: 'soc', cat: 'Nhận xét thiếu tinh tế', t: 'Hay đưa ra những nhận xét ngây thơ, thẳng thừng làm người khác ngượng ngùng mà không nhận thức được.' }, { id: 14, dom: 'soc', cat: 'Giao tiếp ánh mắt', t: 'Có kiểu nhìn chằm chằm hoặc giao tiếp ánh mắt lệch chuẩn (tránh nhìn mắt hoặc nhìn cứng nhắc).' }, { id: 15, dom: 'soc', cat: 'Thiết lập quan hệ bạn bè', t: 'Có mong muốn hòa đồng với bạn bè nhưng luôn thất bại trong việc thiết lập và duy trì mối quan hệ với bạn cùng lứa.' }, { id: 16, dom: 'soc', cat: 'Tương tác một chiều', t: 'Chỉ có thể ở bên cạnh các bạn khác nếu mọi người chịu làm theo đúng luật lệ và điều kiện của trẻ.' }, { id: 17, dom: 'soc', cat: 'Tình bạn thân thiết', t: 'Thiếu vắng một người bạn thân thực sự.' }, { id: 18, dom: 'soc', cat: 'Phán đoán tình huống', t: 'Thiếu "lẽ thường" (common sense) trong các tình huống ứng xử đời sống hàng ngày.' }, { id: 19, dom: 'soc', cat: 'Phối hợp nhóm / Đồng đội', t: 'Kém trong các trò chơi đồng đội: không có khái niệm hợp tác nhóm mà chỉ tự tính điểm/chơi theo ý riêng.' }, { id: 20, dom: 'mot', cat: 'Phối hợp vận động', t: 'Có cử chỉ hoặc dáng chạy nhảy, vận động vụng về, thiếu sự phối hợp nhịp nhàng và uyển chuyển.' }, { id: 21, dom: 'mot', cat: 'Cử động không chủ đích', t: 'Có những cử động khuôn mặt hoặc cơ thể không chủ đích (nháy mắt, nhăn mặt, vặn vẹo tay chân).' }, { id: 22, dom: 'rrb', cat: 'Hành vi bắt buộc lặp lại', t: 'Gặp khó khăn trong việc hoàn thành các sinh hoạt cá nhân hàng ngày do cứ phải lặp đi lặp lại một số hành động hoặc suy nghĩ bắt buộc.' }, { id: 23, dom: 'rrb', cat: 'Nghi thức cứng nhắc', t: 'Có những thói quen/nghi thức đặc biệt: luôn khăng khăng không cho phép bất kỳ sự thay đổi nào.' }, { id: 24, dom: 'rrb', cat: 'Gắn bó đồ vật khác lạ', t: 'Có sự gắn bó khác thường với một số đồ vật nhất định (sưu tầm hoặc luôn mang theo những thứ không phù hợp lứa tuổi).' }, { id: 25, dom: 'soc', cat: 'Nguy cơ bị bắt nạt', t: 'Thường bị những đứa trẻ khác trêu chọc, bắt nạt hoặc cô lập.' }, { id: 26, dom: 'mot', cat: 'Biểu cảm nét mặt', t: 'Có biểu cảm khuôn mặt khác thường (ít biểu cảm, đơ cứng hoặc biểu cảm lệch pha với hoàn cảnh).' }, { id: 27, dom: 'mot', cat: 'Tư thế cơ thể', t: 'Có tư thế cơ thể hoặc dáng đứng/dáng ngồi khác thường, cứng nhắc.' } ]; let answers = {}; let rater = 'parent'; // 'parent' (Cut-off >= 19) | 'teacher' (Cut-off >= 22) let filterDom = 'all'; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .assq-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .assq-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .assq-inner { padding: 24px; max-width: 920px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .assq-wrap.is-fullscreen .assq-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .assq-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(124, 58, 237, 0.45), 0 0 0 0 rgba(124, 58, 237, 0.4); } 70% { box-shadow: 0 6px 20px rgba(124, 58, 237, 0.45), 0 0 0 10px rgba(124, 58, 237, 0); } 100% { box-shadow: 0 6px 20px rgba(124, 58, 237, 0.45), 0 0 0 0 rgba(124, 58, 237, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #6d28d9 0%, #7c3aed 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(124, 58, 237, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Header */ .assq-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .assq-header-text { flex: 1 1 260px; } .assq-title { font-size: 21px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .assq-desc { font-size: 14px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #f5f3ff; color: #6d28d9; border: 1px solid #ddd6fe; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #7c3aed; color: #ffffff; border-color: #7c3aed; } /* Khu vực chọn Người đánh giá & Kịch bản mẫu */ .assq-top-controls { display: grid; grid-template-columns: 1fr 1.25fr; gap: 12px; margin-bottom: 14px; } .assq-box-ctrl { background: #f8fafc; border: 1px solid #e2e8f0; padding: 10px 12px; border-radius: 10px; } .assq-ctrl-label { font-size: 12px; font-weight: 700; color: #475569; text-transform: uppercase; margin-bottom: 6px; display: block; } .assq-rater-group, .assq-preset-group { display: flex; flex-wrap: wrap; gap: 6px; } .assq-btn-sm { padding: 6px 10px; border-radius: 7px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; flex: 1; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .assq-btn-sm:hover { background: #f1f5f9; } .assq-btn-sm.active { background: #6d28d9; color: #ffffff; border-color: #6d28d9; } .assq-btn-sm.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; flex: 0 0 auto; } /* Bộ lọc 4 nhóm triệu chứng */ .assq-domain-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 16px; } .assq-dtab { padding: 6px 12px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .assq-dtab.active { background: #6d28d9; color: #ffffff; border-color: #6d28d9; } /* Bảng điểm nổi (Sticky Dashboard) */ .assq-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .assq-wrap.is-fullscreen .assq-dash { top: 58px; } .assq-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .assq-score-big { font-size: 24px; font-weight: 800; line-height: 1; } .assq-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .assq-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .assq-bar-bg { height: 10px; background: #334155; border-radius: 5px; overflow: hidden; margin-bottom: 12px; } .assq-bar-fill { height: 100%; width: 0%; background: #10b981; transition: width 0.35s ease, background 0.35s ease; } .assq-pillars { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; font-size: 12px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .assq-pillar-box { background: #1e293b; padding: 7px 10px; border-radius: 8px; } .assq-pillar-val { font-weight: 700; color: #ffffff; font-size: 13.5px; display: block; margin-top: 2px; } /* Danh sách 27 câu hỏi */ .assq-q-item { border: 1px solid #e2e8f0; border-radius: 10px; padding: 14px 16px; margin-bottom: 12px; background: #ffffff; transition: all 0.2s ease; } .assq-q-item.risk-high { border-color: #fca5a5; background: #fff5f5; } .assq-q-item.risk-mid { border-color: #fde68a; background: #fffbeb; } .assq-q-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 14px; } .assq-q-text { font-size: 14.5px; font-weight: 600; color: #1e293b; line-height: 1.5; flex: 1; } .assq-q-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; } .assq-tag { font-size: 11px; font-weight: 600; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .assq-tag.dom-soc { background: #dbeafe; color: #1d4ed8; } .assq-tag.dom-com { background: #f3e8ff; color: #7e22ce; } .assq-tag.dom-rrb { background: #fef3c7; color: #b45309; } .assq-tag.dom-mot { background: #dcfce7; color: #15803d; } .assq-ans-group { display: flex; gap: 6px; flex-shrink: 0; } .assq-abtn { min-width: 78px; padding: 8px 10px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 700; color: #334155; cursor: pointer; transition: all 0.15s ease; touch-action: manipulation; } .assq-abtn:hover { border-color: #64748b; } .assq-abtn.sel-0 { background: #10b981; border-color: #10b981; color: #ffffff; } .assq-abtn.sel-1 { background: #f59e0b; border-color: #f59e0b; color: #ffffff; } .assq-abtn.sel-2 { background: #ef4444; border-color: #ef4444; color: #ffffff; } .assq-result-box { margin-top: 20px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #64748b; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 680px) { .assq-inner { padding: 14px; } .assq-title { font-size: 18px; } .assq-top-controls { grid-template-columns: 1fr; } .assq-pillars { grid-template-columns: 1fr 1fr; } .assq-q-head { flex-direction: column; } .assq-ans-group { width: 100%; } .assq-abtn { flex: 1; padding: 10px 6px; font-size: 12px; min-width: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
Bảng Câu Hỏi Sàng Lọc Phổ Tự Kỷ ASSQ (7 – 16 Tuổi)
Đánh giá 27 biểu hiện hành vi theo thang điểm 0 – 1 – 2 (Tổng điểm tối đa: 54 điểm). Công cụ chuẩn hóa cho cả Phụ huynh (Ngưỡng cắt ≥ 19 điểm) và Giáo viên (Ngưỡng cắt ≥ 22 điểm) nhằm phát hiện sớm Tự kỷ chức năng cao / Asperger ở lứa tuổi học đường.
• Tổng điểm thấp hơn cả ngưỡng cảnh báo sớm (${warnCut} điểm) và ngưỡng cắt lâm sàng (≥ ${highCut} điểm dành cho ${raterLabel}).
• Trẻ không bộc lộ sự khác biệt lan tỏa về giao tiếp ngữ dụng hay tương tác bạn bè so với nhóm tuổi. `; } else if (total < highCut) { color = '#f59e0b'; badgeTxt = `VÙNG CẢNH BÁO (${total}/54 điểm)`; analysis = ` Kết luận sàng lọc ASSQ (${raterLabel}) — Vùng Cảnh Báo Giáp Ranh (${total}/54 điểm, ngưỡng cắt ≥ ${highCut}):
• Hồ sơ 4 lĩnh vực: Tương tác xã hội (${soc}/22) • Giao tiếp & Ngôn ngữ (${com}/12) • Cứng nhắc & Lặp lại (${rrb}/10) • Vận động & Biểu cảm (${mot}/10).
• Khuyến nghị: Nên cho cả Phụ huynh và Giáo viên cùng chấm độc lập trên thang ASSQ để đối chiếu hành vi của trẻ ở nhà và ở trường, đồng thời theo dõi kỹ năng kết bạn và hòa nhập nhóm. `; } else { color = '#ef4444'; badgeTxt = `NGUY CƠ CAO ASD (≥ ${highCut}: ${total}/54đ)`; analysis = ` Kết luận sàng lọc ASSQ (${raterLabel}) — Vượt Ngưỡng Điểm Cắt Lâm Sàng (Đạt ${total}/54 điểm, ngưỡng cắt ≥ ${highCut}):
• Kết quả sàng lọc dương tính trên thang ASSQ với các biểu hiện rõ nét ở: Tương tác xã hội (${soc}/22), Giao tiếp ngữ dụng (${com}/12), Thói quen cứng nhắc (${rrb}/10) và Đặc điểm vận động/biểu cảm (${mot}/10).
• Hướng xử trí chuẩn: Cần chuyển gửi trẻ khám chuyên khoa Tâm bệnh / Tâm lý lâm sàng để đánh giá chẩn đoán bằng ADOS-2 (Module 3/4), ADI-R và đánh giá hành vi thích ứng Vineland-3. `; } barFillEl.style.background = color; badgeEl.textContent = badgeTxt; badgeEl.style.background = color; badgeEl.style.color = '#ffffff'; resBoxEl.style.borderLeftColor = color; resBoxEl.innerHTML = analysis; updateFloatingFabVisibility(); } function applyPreset(type) { answers = {}; if (type === 'reset') { renderQuestions(); updateSummary(); return; } questions.forEach(function(q) { answers[q.id] = 0; }); if (type === 'typical') { answers[1] = 1; answers[4] = 2; answers[20] = 1; // 4 điểm } else if (type === 'border') { // 16 điểm [1, 2, 4, 5, 6, 11, 13, 15, 17, 19, 20].forEach(function(id, idx) { answers[id] = (idx < 5) ? 2 : 1; }); } else if (type === 'hfasd') { // 28 điểm [1, 2, 3, 4, 5, 6, 8, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 23, 25].forEach(function(id, idx) { answers[id] = (idx < 9) ? 2 : 1; }); } renderQuestions(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); assqWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { assqWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 900px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } shadow.querySelectorAll('#raterGroup .assq-btn-sm').forEach(function(btn) { btn.onclick = function() { rater = this.getAttribute('data-rater'); shadow.querySelectorAll('#raterGroup .assq-btn-sm').forEach(b => b.classList.remove('active')); this.classList.add('active'); updateSummary(); }; }); shadow.querySelectorAll('#presetGroup .assq-btn-sm').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-pre')); }; }); shadow.querySelectorAll('#domainTabs .assq-dtab').forEach(function(tab) { tab.onclick = function() { filterDom = this.getAttribute('data-dom'); shadow.querySelectorAll('#domainTabs .assq-dtab').forEach(t => t.classList.remove('active')); this.classList.add('active'); renderQuestions(); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); applyPreset('hfasd'); })();
ASSQ (Autism Spectrum Screening Questionnaire — Bảng câu hỏi Sàng lọc Phổ Tự kỷ) là công cụ sàng lọc lâm sàng do Stephan Ehlers, Christopher Gillberg và Lorna Wing phát triển (1999).
-
Mục đích lâm sàng: Chuyên dùng để sàng lọc các dấu hiệu Rối loạn phổ tự kỷ chức năng cao (High-Functioning Autism / Hội chứng Asperger trước đây) ở trẻ em và thanh thiếu niên có trí tuệ trong giới hạn bình thường hoặc cao nhưng gặp khó khăn đặc trưng về tương tác xã hội, ngôn ngữ ngữ dụng, thói quen cứng nhắc và sự vụng về vận động.
-
Độ tuổi áp dụng: 7 đến 16 tuổi (Bậc Tiểu học & Trung học cơ sở).
-
Người thực hiện: Được thiết kế để cả Phụ huynh VÀ Giáo viên cùng đánh giá độc lập dựa trên việc so sánh hành vi của trẻ với các bạn cùng trang lứa.
-
Cấu trúc 27 câu hỏi & Thang điểm (0 – 1 – 2):
-
Gồm 27 mục hành vi chia vào 4 nhóm triệu chứng: Tương tác xã hội (11 câu), Giao tiếp & Ngôn ngữ (6 câu), Hành vi hạn hẹp & Lặp lại (5 câu), Vận động & Cử động/Âm thanh bất thường (5 câu).
-
Chấm theo 3 mức độ:
0(Không đúng),1(Đúng một phần / Đôi khi),2(Hoàn toàn đúng / Nổi bật rõ rệt).
-
-
Ngưỡng điểm cắt chuẩn hóa (Cut-off Score trên thang 0 – 54 điểm):
-
Khi Phụ huynh đánh giá: điểm → Nguy cơ cao thuộc Phổ tự kỷ.
-
Khi Giáo viên đánh giá: điểm → Nguy cơ cao thuộc Phổ tự kỷ.
-
Từ 13 – 18 điểm (Phụ huynh) hoặc 15 – 21 điểm (Giáo viên): Vùng cảnh báo giáp ranh cần theo dõi và đối chiếu giữa gia đình – nhà trường.
-
Nguồn: Tài liệu gốc cùng sự hỗ trợ biên tập nội dung với AI.
[Tự kỷ] AQ: Thang đo chỉ số phổ tự kỷ dành cho trẻ em, thanh thiếu niên và người lớn (Từ 4 tuổi)
(function() { const host = document.getElementById('aq-full-wp-host'); if (!host) return; const placeholder = document.createComment('aq-full-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // 50 câu hỏi chuẩn AQ (Cambridge University) với 2 bản ngữ pháp: // tc: Ngôi thứ 3 dành cho Phụ huynh đánh giá con (AQ-Child 4-11 tuổi & AQ-Adolescent 12-15 tuổi) // ta: Ngôi thứ 1 dành cho Người từ 16 tuổi trở lên tự đánh giá (AQ-Adult 16+) // r: Chiều tính điểm đặc điểm tự kỷ ('AGREE' = Đồng ý, 'DISAGREE' = Không đồng ý) // dom: 'soc' (Kỹ năng xã hội), 'swi' (Chuyển đổi chú ý), 'det' (Chú ý chi tiết), 'com' (Giao tiếp), 'ima' (Trí tưởng tượng) const questions = [ { id: 1, r: 'DISAGREE', dom: 'soc', tc: 'Con thích làm mọi việc cùng với người khác hơn là tự làm một mình.', ta: 'Tôi thích làm mọi việc cùng với người khác hơn là tự làm một mình.' }, { id: 2, r: 'AGREE', dom: 'swi', tc: 'Con thích làm mọi việc lặp đi lặp lại theo đúng một cách quen thuộc.', ta: 'Tôi thích làm mọi việc lặp đi lặp lại theo đúng một cách quen thuộc.' }, { id: 3, r: 'DISAGREE', dom: 'ima', tc: 'Nếu cố gắng tưởng tượng một điều gì đó, con rất dễ dàng hình dung ra bức tranh sống động trong đầu.', ta: 'Nếu cố gắng tưởng tượng một điều gì đó, tôi rất dễ dàng hình dung ra bức tranh sống động trong đầu.' }, { id: 4, r: 'AGREE', dom: 'swi', tc: 'Con thường bị cuốn sâu vào một việc đến mức quên mất những thứ khác xung quanh.', ta: 'Tôi thường bị cuốn sâu vào một việc đến mức quên mất những thứ khác xung quanh.' }, { id: 5, r: 'AGREE', dom: 'det', tc: 'Con thường nghe thấy những âm thanh nhỏ nhặt mà người khác không để ý.', ta: 'Tôi thường nghe thấy những âm thanh nhỏ nhặt mà người khác không để ý.' }, { id: 6, r: 'AGREE', dom: 'det', tc: 'Con thường chú ý đến biển số xe hoặc các chuỗi thông tin, ký hiệu tương tự.', ta: 'Tôi thường chú ý đến biển số xe hoặc các chuỗi thông tin tương tự.' }, { id: 7, r: 'AGREE', dom: 'com', tc: 'Người khác thường bảo rằng những điều con nói là thiếu lịch sự/thiếu tế nhị, dù bản thân con nghĩ nó bình thường.', ta: 'Người khác thường bảo rằng những điều tôi nói là thiếu lịch sự, dù bản thân tôi nghĩ nó hoàn toàn bình thường.' }, { id: 8, r: 'DISAGREE', dom: 'ima', tc: 'Khi nghe hoặc đọc một câu chuyện, con có thể dễ dàng hình dung ra diện mạo của các nhân vật.', ta: 'Khi đọc một câu chuyện, tôi có thể dễ dàng hình dung ra diện mạo của các nhân vật.' }, { id: 9, r: 'AGREE', dom: 'det', tc: 'Con bị cuốn hút mạnh mẽ bởi các mốc ngày tháng (lịch, ngày sinh, niên đại).', ta: 'Tôi bị cuốn hút mạnh mẽ bởi các mốc ngày tháng (lịch, ngày sinh, niên đại).' }, { id: 10, r: 'DISAGREE', dom: 'swi', tc: 'Trong một nhóm đông người, con có thể dễ dàng theo dõi nhiều cuộc trò chuyện của mọi người xung quanh cùng lúc.', ta: 'Trong một nhóm đông người, tôi có thể dễ dàng theo dõi nhiều cuộc trò chuyện khác nhau cùng lúc.' }, { id: 11, r: 'DISAGREE', dom: 'soc', tc: 'Con cảm thấy các tình huống giao tiếp xã hội rất dễ dàng và thoải mái.', ta: 'Tôi cảm thấy các tình huống giao tiếp xã hội rất dễ dàng và thoải mái.' }, { id: 12, r: 'AGREE', dom: 'det', tc: 'Con có xu hướng nhận ra những chi tiết nhỏ mà người khác thường bỏ qua.', ta: 'Tôi có xu hướng nhận ra những chi tiết nhỏ mà người khác thường bỏ qua.' }, { id: 13, r: 'AGREE', dom: 'soc', tc: 'Con thích đến thư viện hoặc ở góc yên tĩnh hơn là đi dự một bữa tiệc đông đúc.', ta: 'Tôi thích đến thư viện hơn là đi dự một bữa tiệc.' }, { id: 14, r: 'DISAGREE', dom: 'ima', tc: 'Con thấy việc tự nghĩ ra các câu chuyện hư cấu, bịa chuyện vui là rất dễ dàng.', ta: 'Tôi thấy việc tự nghĩ ra các câu chuyện hư cấu là rất dễ dàng.' }, { id: 15, r: 'DISAGREE', dom: 'soc', tc: 'Con bị thu hút bởi con người (bạn bè, người thân) mạnh mẽ hơn là bởi các đồ vật/sự vật.', ta: 'Tôi cảm thấy mình bị thu hút bởi con người mạnh mẽ hơn là bởi các đồ vật/sự vật.' }, { id: 16, r: 'AGREE', dom: 'swi', tc: 'Con có những sở thích rất mãnh liệt và sẽ cảm thấy bứt rứt, cáu kỉnh nếu không được theo đuổi chúng.', ta: 'Tôi có những sở thích rất mãnh liệt và sẽ cảm thấy bứt rứt, khó chịu nếu không được theo đuổi chúng.' }, { id: 17, r: 'DISAGREE', dom: 'com', tc: 'Con thích những cuộc trò chuyện xã giao, tán gẫu vui vẻ với mọi người.', ta: 'Tôi thích những cuộc trò chuyện xã giao (tán gẫu chuyện phiếm) với mọi người.' }, { id: 18, r: 'AGREE', dom: 'com', tc: 'Khi con đang hào hứng nói về chủ đề của mình, người khác thường rất khó chen lời vào.', ta: 'Khi tôi đang nói về chủ đề của mình, người khác thường rất khó chen lời vào.' }, { id: 19, r: 'AGREE', dom: 'det', tc: 'Con bị hấp dẫn đặc biệt bởi các con số.', ta: 'Tôi bị hấp dẫn đặc biệt bởi các con số.' }, { id: 20, r: 'AGREE', dom: 'ima', tc: 'Khi đọc truyện hoặc xem phim hoạt hình, con thấy khó đoán được ý định ngầm của các nhân vật.', ta: 'Khi đọc truyện hoặc xem phim, tôi thấy khó đoán được ý định ngầm của các nhân vật.' }, { id: 21, r: 'AGREE', dom: 'ima', tc: 'Con không mấy hứng thú với các câu chuyện tiểu thuyết hư cấu (thích sách bách khoa, thực tế hơn).', ta: 'Tôi không mấy hứng thú với việc đọc sách tiểu thuyết hư cấu.' }, { id: 22, r: 'AGREE', dom: 'soc', tc: 'Con thấy việc kết thêm bạn mới là rất khó khăn.', ta: 'Tôi thấy việc kết thêm bạn mới là rất khó khăn.' }, { id: 23, r: 'AGREE', dom: 'det', tc: 'Con luôn nhận ra các quy luật hoặc họa tiết lặp lại trong mọi vật xung quanh.', ta: 'Tôi luôn nhận ra các quy luật hoặc họa tiết lặp lại trong mọi vật xung quanh.' }, { id: 24, r: 'DISAGREE', dom: 'ima', tc: 'Con thích đi xem kịch/xem biểu diễn hơn là đi tham quan bảo tàng trưng bày.', ta: 'Tôi thích đi xem kịch ở nhà hát hơn là đi tham quan bảo tàng.' }, { id: 25, r: 'DISAGREE', dom: 'swi', tc: 'Con không hề cảm thấy phiền lòng hay khó chịu nếu thói quen sinh hoạt hàng ngày bị xáo trộn.', ta: 'Tôi không hề cảm thấy phiền lòng nếu thói quen sinh hoạt hàng ngày của mình bị xáo trộn.' }, { id: 26, r: 'AGREE', dom: 'com', tc: 'Con thường lúng túng không biết phải làm thế nào để duy trì cuộc trò chuyện với bạn bè.', ta: 'Tôi thường xuyên nhận thấy mình không biết phải làm thế nào để duy trì một cuộc trò chuyện.' }, { id: 27, r: 'DISAGREE', dom: 'com', tc: 'Con dễ dàng hiểu được "ẩn ý" đằng sau lời nói khi ai đó đang trò chuyện với mình.', ta: 'Tôi dễ dàng hiểu được "ẩn ý" đằng sau lời nói khi ai đó đang trò chuyện với mình.' }, { id: 28, r: 'DISAGREE', dom: 'det', tc: 'Con thường tập trung vào bức tranh tổng thể hơn là chỉ chú ý vào các chi tiết nhỏ lẻ.', ta: 'Tôi thường tập trung vào bức tranh tổng thể hơn là các chi tiết nhỏ lẻ.' }, { id: 29, r: 'DISAGREE', dom: 'det', tc: 'Con không giỏi lắm trong việc ghi nhớ các dãy số điện thoại.', ta: 'Tôi không giỏi việc ghi nhớ các số điện thoại.' }, { id: 30, r: 'DISAGREE', dom: 'det', tc: 'Con thường không để ý đến những thay đổi nhỏ trong phòng hoặc sự thay đổi ngoại hình của người khác.', ta: 'Tôi thường không để ý đến những thay đổi nhỏ trong một khung cảnh hoặc ngoại hình của một người.' }, { id: 31, r: 'DISAGREE', dom: 'com', tc: 'Con biết cách nhận ra khi nào người đang nghe mình nói bắt đầu cảm thấy chán.', ta: 'Tôi biết cách nhận ra khi nào người đang nghe mình nói bắt đầu cảm thấy chán.' }, { id: 32, r: 'DISAGREE', dom: 'swi', tc: 'Con thấy rất dễ dàng khi phải làm hoặc chuyển đổi qua lại nhiều việc cùng một lúc.', ta: 'Tôi thấy rất dễ dàng khi phải làm nhiều hơn một việc cùng một lúc.' }, { id: 33, r: 'AGREE', dom: 'com', tc: 'Khi nói chuyện qua điện thoại, con thường không chắc khi nào đến lượt mình nên nói.', ta: 'Khi nói chuyện qua điện thoại, tôi thường không chắc khi nào đến lượt mình nên nói.' }, { id: 34, r: 'DISAGREE', dom: 'swi', tc: 'Con thích làm mọi việc một cách ngẫu hứng, tự phát mà không cần báo trước.', ta: 'Tôi thích làm mọi việc một cách ngẫu hứng, tự phát.' }, { id: 35, r: 'AGREE', dom: 'com', tc: 'Con thường là người cuối cùng trong nhóm hiểu ra ý nghĩa của một câu nói đùa.', ta: 'Tôi thường là người cuối cùng hiểu ra ý nghĩa của một câu nói đùa.' }, { id: 36, r: 'DISAGREE', dom: 'soc', tc: 'Con dễ dàng đoán được người khác đang nghĩ gì hoặc cảm thấy thế nào chỉ bằng cách nhìn vào nét mặt họ.', ta: 'Tôi dễ dàng đoán được người khác đang nghĩ gì hoặc cảm thấy thế nào chỉ bằng cách nhìn vào nét mặt họ.' }, { id: 37, r: 'DISAGREE', dom: 'swi', tc: 'Nếu bị ngắt quãng khi đang làm dở việc, con có thể quay lại làm tiếp việc đó ngay lập tức rất dễ dàng.', ta: 'Nếu bị gián đoạn khi đang làm dở việc, tôi có thể quay lại làm tiếp việc đó ngay lập tức một cách dễ dàng.' }, { id: 38, r: 'DISAGREE', dom: 'com', tc: 'Con rất có khiếu trong việc trò chuyện làm quen, tán gẫu với bạn bè.', ta: 'Tôi rất có khiếu trong việc trò chuyện xã giao.' }, { id: 39, r: 'AGREE', dom: 'com', tc: 'Mọi người thường nhận xét rằng con cứ nói đi nói lại mãi về cùng một chủ đề.', ta: 'Mọi người thường bảo rằng tôi cứ nói đi nói lại mãi về cùng một chủ đề.' }, { id: 40, r: 'DISAGREE', dom: 'ima', tc: 'Con rất thích chơi các trò đóng vai giả vờ cùng với những đứa trẻ khác.', ta: 'Khi còn nhỏ, tôi rất thích chơi các trò đóng vai giả vờ cùng với những đứa trẻ khác.' }, { id: 41, r: 'AGREE', dom: 'ima', tc: 'Con thích sưu tầm thông tin phân loại về các nhóm sự vật (như khủng long, dòng xe hơi, loài chim, tàu hỏa...).', ta: 'Tôi thích sưu tầm thông tin phân loại về các nhóm sự vật (như các dòng xe hơi, loài chim, tàu hỏa, cây cối...).' }, { id: 42, r: 'AGREE', dom: 'ima', tc: 'Con thấy rất khó hình dung cảm giác sẽ ra sao nếu mình đặt bản thân vào vị trí của một người khác.', ta: 'Tôi thấy rất khó hình dung cảm giác sẽ ra sao nếu mình ở vào vị trí của một người khác.' }, { id: 43, r: 'AGREE', dom: 'swi', tc: 'Con thích lên kế hoạch trước thật kỹ cho bất kỳ hoạt động nào mà con tham gia.', ta: 'Tôi thích lên kế hoạch tỉ mỉ cho bất kỳ hoạt động nào mà tôi tham gia.' }, { id: 44, r: 'DISAGREE', dom: 'soc', tc: 'Con yêu thích các dịp tụ tập, sinh hoạt tập thể hay giao lưu xã hội.', ta: 'Tôi yêu thích các dịp tụ tập, giao lưu xã hội.' }, { id: 45, r: 'AGREE', dom: 'soc', tc: 'Con thấy khó nắm bắt được ý định thực sự của người khác.', ta: 'Tôi thấy khó nắm bắt được ý định thực sự của người khác.' }, { id: 46, r: 'AGREE', dom: 'swi', tc: 'Những tình huống hoặc môi trường mới lạ luôn làm con cảm thấy lo lắng, bất an.', ta: 'Những tình huống mới lạ luôn làm tôi cảm thấy lo lắng, bất an.' }, { id: 47, r: 'DISAGREE', dom: 'soc', tc: 'Con thích gặp gỡ và làm quen với những người bạn mới.', ta: 'Tôi thích gặp gỡ và làm quen với những người mới.' }, { id: 48, r: 'DISAGREE', dom: 'soc', tc: 'Con là một đứa trẻ khéo léo, biết cách ứng xử hài hòa với mọi người.', ta: 'Tôi là một người khéo léo, biết ngoại giao trong ứng xử.' }, { id: 49, r: 'DISAGREE', dom: 'det', tc: 'Con không giỏi lắm trong việc nhớ ngày sinh nhật của mọi người.', ta: 'Tôi không giỏi lắm trong việc nhớ ngày sinh nhật của mọi người.' }, { id: 50, r: 'DISAGREE', dom: 'ima', tc: 'Con thấy việc chơi các trò đóng vai, giả vờ cùng bạn bè là rất dễ dàng.', ta: 'Tôi thấy việc chơi các trò đóng vai, giả vờ cùng trẻ nhỏ là rất dễ dàng.' } ]; // version: 'child' (4-11 tuổi, thang 0-150, cut-off >= 76) | 'adolescent' (12-15 tuổi, thang 0-50, cut-off >= 30) | 'adult' (16+, thang 0-50, cut-off >= 32) let version = 'child'; let answers = {}; // 'DA' | 'SA' | 'SD' | 'DD' let filterDom = 'all'; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .aq-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .aq-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .aq-inner { padding: 24px; max-width: 940px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .aq-wrap.is-fullscreen .aq-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .aq-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(2, 132, 199, 0.45), 0 0 0 0 rgba(2, 132, 199, 0.4); } 70% { box-shadow: 0 6px 20px rgba(2, 132, 199, 0.45), 0 0 0 10px rgba(2, 132, 199, 0); } 100% { box-shadow: 0 6px 20px rgba(2, 132, 199, 0.45), 0 0 0 0 rgba(2, 132, 199, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #0369a1 0%, #0284c7 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(2, 132, 199, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Thanh chọn 3 phiên bản độ tuổi */ .ver-switcher { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; background: #f1f5f9; padding: 8px; border-radius: 12px; margin-bottom: 18px; } .ver-btn { padding: 10px 12px; border-radius: 9px; border: 1.5px solid transparent; background: transparent; cursor: pointer; text-align: left; transition: all 0.2s ease; touch-action: manipulation; } .ver-btn.active { background: #ffffff; border-color: #0284c7; box-shadow: 0 2px 8px rgba(15, 23, 42, 0.08); } .ver-btn-title { font-size: 14px; font-weight: 800; color: #0f172a; display: block; } .ver-btn.active .ver-btn-title { color: #0284c7; } .ver-btn-sub { font-size: 11.5px; color: #64748b; margin-top: 2px; display: block; } /* Header */ .aq-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .aq-header-text { flex: 1 1 260px; } .aq-title { font-size: 20px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .aq-desc { font-size: 13.8px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #f0f9ff; color: #0369a1; border: 1px solid #bae6fd; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #0284c7; color: #ffffff; border-color: #0284c7; } /* Controls */ .aq-controls { display: flex; flex-direction: column; gap: 10px; margin-bottom: 18px; } .aq-presets { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; } .aq-preset-lbl { font-size: 12.5px; font-weight: 700; color: #475569; margin-right: 4px; } .aq-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; transition: all 0.15s ease; touch-action: manipulation; } .aq-pbtn:hover { background: #f1f5f9; border-color: #94a3b8; } .aq-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } .aq-domain-tabs { display: flex; flex-wrap: wrap; gap: 6px; } .aq-dtab { padding: 6px 12px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .aq-dtab.active { background: #0284c7; color: #ffffff; border-color: #0284c7; } /* Sticky Dashboard */ .aq-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .aq-wrap.is-fullscreen .aq-dash { top: 58px; } .aq-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .aq-score-big { font-size: 24px; font-weight: 800; line-height: 1; } .aq-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .aq-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .aq-bar-bg { height: 10px; background: #334155; border-radius: 5px; overflow: hidden; margin-bottom: 12px; } .aq-bar-fill { height: 100%; width: 0%; background: #10b981; transition: width 0.35s ease, background 0.35s ease; } .aq-pillars { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; font-size: 11.5px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .aq-pillar-box { background: #1e293b; padding: 7px 9px; border-radius: 8px; } .aq-pillar-val { font-weight: 700; color: #ffffff; font-size: 13px; display: block; margin-top: 2px; } /* Danh sách 50 câu hỏi */ .aq-q-item { border: 1px solid #e2e8f0; border-radius: 10px; padding: 14px 16px; margin-bottom: 12px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 10px; } .aq-q-item.trait-scored { border-color: #93c5fd; background: #f8fafc; } .aq-q-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; } .aq-q-text { font-size: 14.5px; font-weight: 600; color: #1e293b; line-height: 1.5; flex: 1; } .aq-q-tags { display: flex; flex-wrap: wrap; gap: 6px; } .aq-tag { font-size: 11px; font-weight: 600; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .aq-tag.dom-soc { background: #dbeafe; color: #1d4ed8; } .aq-tag.dom-swi { background: #fef3c7; color: #b45309; } .aq-tag.dom-det { background: #dcfce7; color: #15803d; } .aq-tag.dom-com { background: #f3e8ff; color: #7e22ce; } .aq-tag.dom-ima { background: #fce7f3; color: #be185d; } /* 4 nút lựa chọn Likert */ .aq-ans-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; } .aq-abtn { padding: 8px 6px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 600; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .aq-abtn:hover { border-color: #64748b; } .aq-abtn.sel-safe { background: #10b981; border-color: #10b981; color: #ffffff; font-weight: 700; } .aq-abtn.sel-mid { background: #f59e0b; border-color: #f59e0b; color: #ffffff; font-weight: 700; } .aq-abtn.sel-trait { background: #0284c7; border-color: #0284c7; color: #ffffff; font-weight: 700; } /* Biểu đồ 5 tiểu lĩnh vực & Kết luận */ .aq-chart-card { margin-top: 20px; padding: 16px 18px; border-radius: 12px; background: #ffffff; border: 1px solid #e2e8f0; } .aq-chart-title { font-size: 14.5px; font-weight: 700; color: #0f172a; margin-bottom: 12px; } .aq-bar-row { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; font-size: 12.5px; } .aq-bar-lbl { width: 175px; flex-shrink: 0; font-weight: 600; color: #334155; } .aq-bar-track { flex: 1; height: 16px; background: #f1f5f9; border-radius: 999px; overflow: hidden; } .aq-bar-val { width: 68px; text-align: right; font-weight: 700; color: #0f172a; flex-shrink: 0; } .aq-result-box { margin-top: 16px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #64748b; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 720px) { .aq-inner { padding: 14px; } .ver-switcher { grid-template-columns: 1fr; } .aq-title { font-size: 18px; } .aq-pillars { grid-template-columns: repeat(2, 1fr); } .aq-ans-grid { grid-template-columns: 1fr 1fr; } .aq-abtn { padding: 10px 8px; font-size: 12.5px; } .aq-bar-lbl { width: 125px; font-size: 11.5px; } .aq-pbtn.reset { margin-left: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
Bảng Đánh Giá AQ-Child Dành Cho Trẻ Em (4 – 11 Tuổi • Phụ Huynh Chấm)
Chuẩn hóa bởi Auyeung & Baron-Cohen (2008 - Đại học Cambridge). Phụ huynh chọn mức độ phù hợp với hành vi của bé. Mỗi câu được tính từ 0 đến 3 điểm (Tổng điểm tối đa: 150 điểm). Ngưỡng điểm cắt lâm sàng chuẩn: ≥ 76 điểm (Độ nhạy 95%, độ đặc hiệu 95%).
`; } else if (version === 'adolescent') { headerInfo.innerHTML = `Bảng Đánh Giá AQ-Adolescent Dành Cho Vị Thành Niên (12 – 15 Tuổi • Phụ Huynh Chấm)
Chuẩn hóa bởi Baron-Cohen et al. (2006 - Đại học Cambridge). Phụ huynh đánh giá con qua 50 câu hỏi chấm nhị phân 0 hoặc 1 điểm (Tổng điểm tối đa: 50 điểm). Ngưỡng điểm cắt lâm sàng chuẩn cho lứa tuổi 12–15: ≥ 30 điểm.
`; } else { headerInfo.innerHTML = `Bảng Tự Đánh Giá AQ-Adult Dành Cho Thanh Thiếu Niên Lớn & Người Lớn (Từ 16 Tuổi Trở Lên)
Chuẩn hóa bởi Baron-Cohen et al. (2001 - Đại học Cambridge). Người làm tự trả lời 50 câu hỏi theo quy tắc nhị phân 0 hoặc 1 điểm (Tổng điểm tối đa: 50 điểm). Ngưỡng sàng lọc phòng khám: ≥ 26 điểm • Ngưỡng chuẩn lâm sàng: ≥ 32 điểm.
`; } } function renderQuestions() { listEl.innerHTML = ''; const isParentReport = (version !== 'adult'); questions.forEach(function(q) { if (filterDom !== 'all' && q.dom !== filterDom) return; const uAns = answers[q.id] || null; const pts = getItemScore(q, uAns); const isHighTrait = (version === 'child') ? (pts >= 2) : (pts === 1); const dInfo = getDomInfo(q.dom); const item = document.createElement('div'); item.className = 'aq-q-item' + (isHighTrait ? ' trait-scored' : ''); const options = [ { code: 'DA', label: 'Hoàn toàn đồng ý' }, { code: 'SA', label: 'Đồng ý một phần' }, { code: 'SD', label: 'Không đồng ý một phần' }, { code: 'DD', label: 'Hoàn toàn không đồng ý' } ]; const btnsHtml = options.map(opt => { const optPts = getItemScore(q, opt.code); let cls = 'aq-abtn'; if (uAns === opt.code) { if (version === 'child') { cls += (optPts >= 2) ? ' sel-trait' : (optPts === 1 ? ' sel-mid' : ' sel-safe'); } else { cls += (optPts === 1) ? ' sel-trait' : ' sel-safe'; } } const ptLabel = (version === 'child') ? ` (${optPts}đ)` : ` (${optPts}đ)`; return ``; }).join(''); const qText = isParentReport ? q.tc : q.ta; const ruleText = (version === 'child') ? (q.r === 'AGREE' ? 'Thang 0–3đ (Đồng ý hoàn toàn = 3đ)' : 'Thang 0–3đ (Không đồng ý hoàn toàn = 3đ)') : (q.r === 'AGREE' ? 'Đồng ý (Hoàn toàn/Một phần) = 1đ' : 'Không đồng ý (Hoàn toàn/Một phần) = 1đ'); item.innerHTML = `• Điểm số thấp hơn ngưỡng cảnh báo (60 điểm) và ngưỡng cắt chuẩn (≥ 76 điểm). Theo nghiên cứu của Auyeung & Baron-Cohen (2008), điểm trung bình ở nhóm trẻ phát triển điển hình là khoảng 41.8 điểm (Bé trai ~45.7đ, Bé gái ~37.7đ). `; } else if (total < 76) { color = '#f59e0b'; badgeTxt = `VÙNG GIÁP RANH (${total}/150đ)`; analysis = ` Kết luận AQ-Child (4 – 11 tuổi) — Vùng Giáp Ranh Cần Lưu Ý (60 – 75 điểm: Đạt ${total}/150 điểm):
• Điểm số tiệm cận ngưỡng cắt chuẩn (≥ 76 điểm). Bé bộc lộ một số nét đặc trưng ở: Kỹ năng xã hội (${domScores.soc}/30), Chuyển đổi chú ý (${domScores.swi}/30), Chú ý chi tiết (${domScores.det}/30), Giao tiếp (${domScores.com}/30), Trí tưởng tượng (${domScores.ima}/30).
• Khuyến nghị: Nên kết hợp đối chiếu thêm với thang CAST hoặc ASSQ (do giáo viên đánh giá) để theo dõi khả năng hòa nhập học đường của bé. `; } else { color = '#ef4444'; badgeTxt = `VƯỢT NGƯỠNG AQ-CHILD (≥ 76: ${total}/150đ)`; analysis = ` Kết luận AQ-Child (4 – 11 tuổi) — Vượt Ngưỡng Điểm Cắt Lâm Sàng (≥ 76 điểm: Đạt ${total}/150 điểm):
• Theo nghiên cứu chuẩn hóa tại Đại học Cambridge, ngưỡng ≥ 76/150 điểm có độ nhạy và độ đặc hiệu lên tới 95% trong việc nhận diện trẻ thuộc Phổ tự kỷ / Tự kỷ chức năng cao (Asperger).
• Hướng xử trí chuẩn: Gia đình nên đưa bé đi khám và đánh giá chẩn đoán chuyên sâu bằng ADOS-2 (Module 3), ADI-R và đánh giá năng lực thích ứng Vineland-3 để xây dựng kế hoạch hỗ trợ kỹ năng xã hội sớm. `; } } else if (version === 'adolescent') { // Ngưỡng AQ-Adolescent (0 - 50, cut-off >= 30) if (total < 24) { color = '#10b981'; badgeTxt = `MỨC ĐIỂN HÌNH (${total}/50đ)`; analysis = ` Kết luận AQ-Adolescent (12 – 15 tuổi) — Trong phạm vi điển hình (${total}/50 điểm):
• Điểm số thấp hơn ngưỡng giáp ranh (24 điểm) và ngưỡng cắt chuẩn dành cho lứa tuổi vị thành niên (≥ 30 điểm). `; } else if (total < 30) { color = '#f59e0b'; badgeTxt = `VÙNG GIÁP RANH (${total}/50đ)`; analysis = ` Kết luận AQ-Adolescent (12 – 15 tuổi) — Vùng Cảnh Báo Giáp Ranh (24 – 29 điểm: Đạt ${total}/50 điểm):
• Điểm số tiệm cận ngưỡng cắt chuẩn (≥ 30 điểm). Ở lứa tuổi THCS (12–15 tuổi), các áp lực về giao tiếp nhóm bạn phức tạp có thể làm bộc lộ rõ khó khăn ở mục Kỹ năng xã hội (${domScores.soc}/10) và Chuyển đổi chú ý (${domScores.swi}/10). Khuyến nghị đối chiếu thêm thang ASSQ từ giáo viên và tham vấn chuyên gia tâm lý. `; } else { color = '#ef4444'; badgeTxt = `VƯỢT NGƯỠNG AQ-ADOLESCENT (≥ 30: ${total}/50đ)`; analysis = ` Kết luận AQ-Adolescent (12 – 15 tuổi) — Vượt Ngưỡng Điểm Cắt Lâm Sàng (≥ 30 điểm: Đạt ${total}/50 điểm):
• Theo nghiên cứu của Baron-Cohen et al. (2006), gần 90% thanh thiếu niên có chẩn đoán Tự kỷ chức năng cao / Asperger có điểm AQ-Adolescent từ 30/50 trở lên.
• Hướng xử trí chuẩn: Khuyến nghị chuyển gửi đánh giá chẩn đoán chuyên khoa (ADOS-2 Module 3/4, DSM-5, Vineland-3) để hỗ trợ kỹ năng điều tiết cảm xúc và giao tiếp xã hội tuổi dậy thì. `; } } else { // Ngưỡng AQ-Adult (0 - 50, sàng lọc >= 26, chuẩn >= 32) if (total < 26) { color = '#10b981'; badgeTxt = `DƯỚI NGƯỠNG SÀNG LỌC (${total}/50đ)`; analysis = ` Kết luận AQ-Adult (Từ 16 tuổi trở lên) — Dưới ngưỡng sàng lọc lâm sàng (${total}/50 điểm):
• Điểm số nằm dưới ngưỡng sàng lọc phòng khám (26 điểm) và ngưỡng chuẩn (32 điểm). (Mức từ 22–25 điểm thường gặp ở những người có tư duy hệ thống hóa/phân tích kỹ thuật mạnh nhưng vẫn hòa nhập xã hội tốt). `; } else if (total < 32) { color = '#f59e0b'; badgeTxt = `VÙNG GIÁP RANH LÂM SÀNG (${total}/50đ)`; analysis = ` Kết luận AQ-Adult (Từ 16 tuổi trở lên) — Vùng Giáp Ranh / Ngưỡng Sàng Lọc Nhạy (26 – 31 điểm: Đạt ${total}/50 điểm):
• Vượt ngưỡng sàng lọc phòng khám ($\ge 26$ điểm theo Woodbury-Smith et al., 2005). Nếu các đặc điểm này gây căng thẳng hoặc cản trở trong công việc, học tập và các mối quan hệ xã hội, bạn nên tham vấn chuyên gia tâm lý lâm sàng. `; } else { color = '#ef4444'; badgeTxt = `VƯỢT NGƯỠNG CHUẨN AQ (≥ 32: ${total}/50đ)`; analysis = ` Kết luận AQ-Adult (Từ 16 tuổi trở lên) — Vượt Ngưỡng Điểm Cắt Lâm Sàng Chuẩn ($\ge 32$ điểm: Đạt ${total}/50 điểm):
• Khoảng 80% người trưởng thành thuộc Phổ tự kỷ chức năng cao / Asperger đạt mức điểm từ 32 trở lên trên thang AQ.
• Khuyến nghị: Có thể sử dụng bảng kết quả 5 tiểu lĩnh vực này để trao đổi trực tiếp với bác sĩ chuyên khoa Tâm thần / Chuyên gia Tâm lý lâm sàng nhằm thực hiện đánh giá chẩn đoán chính thức (ADOS-2 Module 4). `; } } barFillEl.style.background = color; badgeEl.textContent = badgeTxt; badgeEl.style.background = color; badgeEl.style.color = '#ffffff'; resBoxEl.style.borderLeftColor = color; resBoxEl.innerHTML = analysis; updateFloatingFabVisibility(); } function applyPreset(type) { answers = {}; if (type === 'reset') { renderQuestions(); updateSummary(); return; } // Đặt toàn bộ về mức 0 điểm trước questions.forEach(function(q) { answers[q.id] = (q.r === 'AGREE') ? 'DD' : 'DA'; }); if (type === 'typical') { // Mức điển hình (~42/150 ở Child, ~16/50 ở Adolescent/Adult) questions.forEach(function(q, idx) { if (idx % 3 === 0) { // 1 điểm ở Child, 0 điểm ở Adult answers[q.id] = (q.r === 'AGREE') ? 'SD' : 'SA'; } }); [2, 4, 5, 6, 9, 12, 13, 19, 23, 28, 29, 30, 32, 34, 41, 43].forEach(function(id) { const q = questions[id - 1]; answers[id] = (q.r === 'AGREE') ? 'SA' : 'SD'; }); } else if (type === 'border') { // Mức giáp ranh (~68/150 ở Child, 27/50 ở Adolescent/Adult) [ 1, 2, 4, 5, 6, 7, 9, 10, 11, 12, 13, 16, 17, 18, 19, 20, 22, 23, 25, 26, 28, 32, 33, 35, 39, 41, 43 ].forEach(function(id, idx) { const q = questions[id - 1]; const strong = (idx % 2 === 0); if (q.r === 'AGREE') answers[id] = strong ? 'DA' : 'SA'; else answers[id] = strong ? 'DD' : 'SD'; }); } else if (type === 'asd') { // Mức vượt ngưỡng cao (~98/150 ở Child, 38/50 ở Adolescent/Adult) [ 1, 2, 4, 5, 6, 7, 9, 10, 11, 12, 13, 15, 16, 17, 18, 19, 20, 22, 23, 25, 26, 27, 28, 31, 32, 33, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 45, 46 ].forEach(function(id, idx) { const q = questions[id - 1]; const strong = (idx % 3 !== 0); if (q.r === 'AGREE') answers[id] = strong ? 'DA' : 'SA'; else answers[id] = strong ? 'DD' : 'SD'; }); } renderQuestions(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); aqWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { aqWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 940px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } // Sự kiện chuyển đổi 3 phiên bản độ tuổi (Child / Adolescent / Adult) shadow.querySelectorAll('#verSwitcher .ver-btn').forEach(function(btn) { btn.onclick = function() { version = this.getAttribute('data-ver'); shadow.querySelectorAll('#verSwitcher .ver-btn').forEach(b => b.classList.remove('active')); this.classList.add('active'); renderHeader(); renderQuestions(); updateSummary(); }; }); shadow.querySelectorAll('.aq-pbtn').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-preset')); }; }); shadow.querySelectorAll('#domainTabs .aq-dtab').forEach(function(tab) { tab.onclick = function() { filterDom = this.getAttribute('data-dom'); shadow.querySelectorAll('#domainTabs .aq-dtab').forEach(t => t.classList.remove('active')); this.classList.add('active'); renderQuestions(); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); renderHeader(); applyPreset('asd'); })();
AQ (Autism-Spectrum Quotient — Chỉ số Phổ Tự kỷ) là công cụ sàng lọc chuẩn hóa nổi tiếng nhất thế giới dùng để đo lường mức độ hiện diện của các đặc điểm thuộc phổ tự kỷ ở những người có trí tuệ bình thường (IQ ≥85). Công cụ này do Giáo sư Simon Baron-Cohen và cộng sự tại Trung tâm Nghiên cứu Tự kỷ (ARC) — Đại học Cambridge (Anh)phát triển năm 2001.
1. Tóm tắt cốt lõi về công cụ AQ
-
Mục đích lâm sàng: Đo lường xem một cá nhân có các nét đặc trưng thuộc Phổ tự kỷ / Tự kỷ chức năng cao (Asperger) ở mức độ nào trên một dải liên tục từ dân số điển hình đến ngưỡng lâm sàng.
-
Các phiên bản theo độ tuổi:
-
AQ-Adult (Phiên bản chuẩn phổ biến nhất): Dành cho người từ 16 tuổi trở lên tự đánh giá (Self-report).
-
AQ-Adolescent (12 – 15 tuổi) & AQ-Child (4 – 11 tuổi): Do phụ huynh đánh giá.
-
AQ-10: Bản rút gọn gồm 10 câu hỏi dùng để sàng lọc nhanh tại phòng khám đa khoa.
-
-
Cấu trúc 50 câu hỏi & 5 tiểu lĩnh vực (Mỗi lĩnh vực 10 câu):
-
Kỹ năng xã hội (Social Skills): Mức độ thoải mái và tự tin trong các tình huống giao tiếp xã hội, kết bạn,tiệc tùng.
-
Chuyển đổi sự chú ý (Attention Switching): Tính linh hoạt khi thay đổi kế hoạch, làm nhiều việc cùng lúc hoặc chuyển sang hoạt động mới.
-
Chú ý đến chi tiết (Attention to Detail): Xu hướng nhận ra các chi tiết nhỏ, con số, ngày tháng, quy luật hay hoa văn mà người khác thường bỏ qua.
-
Giao tiếp (Communication): Khả năng hiểu hàm ý, lời nói lịch sự xã giao, duy trì hội thoại qua lại và đọc ngôn ngữ cơ thể.
-
Trí tưởng tượng (Imagination): Khả năng hình dung câu chuyện giả tưởng, nhập vai nhân vật và suy đoán cảm xúc/ý định của người khác (Thuyết tâm trí).
-
-
Cách tính điểm chuẩn Baron-Cohen (Thang 0 – 50 điểm):
-
Người làm chọn 1 trong 4 mức: Hoàn toàn đồng ý • Đồng ý một phần • Không đồng ý một phần • Hoàn toàn không đồng ý.
-
Quy tắc nhị phân (0 hoặc 1 điểm): Để tránh sai lệch do xu hướng chọn mức cực đoan hay trung dung,phương pháp gốc của Baron-Cohen tính 1 điểm cho cả mức “Hoàn toàn…” lẫn “Một phần…” nếu câu trả lời đi theo chiều hướng đặc điểm tự kỷ:
-
24 câu thuận (Chọn Đồng ý = 1 điểm): Câu 2, 4, 5, 6, 7, 9, 12, 13, 16, 18, 19, 20, 21, 22, 23, 26, 33,35, 39, 41, 42, 43, 45, 46.
-
26 câu nghịch (Chọn Không đồng ý = 1 điểm): Câu 1, 3, 8, 10, 11, 14, 15, 17, 24, 25, 27, 28, 29, 30,31, 32, 34, 36, 37, 38, 40, 44, 47, 48, 49, 50.
-
-
-
Các mốc điểm tham chiếu lâm sàng (Cut-off Scores):
-
0 – 25 điểm: Mức trung bình trong dân số chung (Điểm trung bình của nhóm đối chứng là ~16.4 điểm: Nam ~17.8, Nữ ~15.4).
-
26 – 31 điểm: Ngưỡng giáp ranh / Sàng lọc lâm sàng (Nghiên cứu của Woodbury-Smith và cộng sự cho thấy ngưỡng rất nhạy để sàng lọc tại phòng khám).
-
32 – 50 điểm: Ngưỡng điểm cắt chuẩn ( điểm) — Khoảng 80% người được chẩn đoán Tự kỷ chức năng cao / Asperger có điểm từ 32 trở lên (trong khi chỉ có 2% dân số chung đạt mức này).
-
[Tự kỷ] RAADS-R: Thang đo sàng lọc và hỗ trợ chẩn đoán tự kỷ ở người trưởng thành (> 16 tuổi)
(function() { const host = document.getElementById('raads-wp-host'); if (!host) return; const placeholder = document.createComment('raads-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // Danh sách 17 câu đảo ngược chuẩn RAADS-R (Chọn "Không bao giờ đúng" = 3 điểm) // 1, 6, 11, 18, 23, 26, 33, 37, 43, 47, 48, 53, 58, 62, 68, 72, 77 // dom: 'soc' (Quan hệ xã hội - 39 câu), 'cir' (Sở thích thu hẹp - 14 câu), 'lan' (Ngôn ngữ - 7 câu), 'sen' (Giác quan & Vận động - 20 câu) const questions = [ { id: 1, rev: true, dom: 'soc', t: 'Tôi là một người giàu lòng trắc ẩn và dễ đồng cảm với người khác.' }, { id: 2, rev: false, dom: 'lan', t: 'Tôi thường sử dụng các từ và cụm từ học được từ phim ảnh hoặc tivi khi trò chuyện hàng ngày.' }, { id: 3, rev: false, dom: 'soc', t: 'Tôi thường bất ngờ khi người khác nói rằng tôi đã cư xử thô lỗ hoặc thiếu tế nhị.' }, { id: 4, rev: false, dom: 'sen', t: 'Đôi khi tôi nói quá to hoặc quá nhỏ mà bản thân không hề nhận ra.' }, { id: 5, rev: false, dom: 'soc', t: 'Tôi thường không biết phải cư xử như thế nào trong các tình huống xã hội.' }, { id: 6, rev: true, dom: 'soc', t: 'Tôi có thể dễ dàng đặt mình vào vị trí của người khác để hiểu cảm giác của họ.' }, { id: 7, rev: false, dom: 'lan', t: 'Tôi gặp khó khăn trong việc hiểu nghĩa bóng như các thành ngữ, tục ngữ hoặc lời nói ẩn dụ.' }, { id: 8, rev: false, dom: 'soc', t: 'Tôi chỉ thích nói chuyện với những người có cùng sở thích đặc biệt với mình.' }, { id: 9, rev: false, dom: 'cir', t: 'Tôi tập trung vào các chi tiết nhỏ hơn là ý tưởng tổng thể.' }, { id: 10, rev: false, dom: 'sen', t: 'Tôi luôn chú ý rất rõ đến cảm giác của thức ăn ở trong miệng mình.' }, { id: 11, rev: true, dom: 'soc', t: 'Tôi nhớ đến bạn bè và gia đình khi chúng tôi phải xa nhau.' }, { id: 12, rev: false, dom: 'soc', t: 'Đôi khi tôi vô tình xúc phạm người khác vì nói thẳng tuột những gì mình đang nghĩ.' }, { id: 13, rev: false, dom: 'cir', t: 'Tôi chỉ thích suy nghĩ và nói về một vài chủ đề mà tôi thực sự quan tâm.' }, { id: 14, rev: false, dom: 'soc', t: 'Khi đi ăn ở nhà hàng, tôi thích đi một mình hơn là đi cùng với người khác.' }, { id: 15, rev: false, dom: 'lan', t: 'Tôi không thể hình dung ra cảm giác sẽ như thế nào nếu mình trở thành một người khác.' }, { id: 16, rev: false, dom: 'sen', t: 'Tôi từng được bảo rằng mình có dáng đi hoặc tư thế hơi vụng về, thiếu phối hợp.' }, { id: 17, rev: false, dom: 'soc', t: 'Người khác thường coi tôi là người kỳ lạ hoặc khác biệt.' }, { id: 18, rev: true, dom: 'soc', t: 'Tôi hiểu rõ khi nào bạn bè của mình cần được vỗ về, an ủi.' }, { id: 19, rev: false, dom: 'sen', t: 'Tôi rất nhạy cảm với cảm giác của quần áo khi chạm vào da mình (như mác áo, chất vải thô).' }, { id: 20, rev: false, dom: 'soc', t: 'Tôi thích bắt chước cách hành động và nói năng của một số người để giúp mình trông có vẻ bình thường hơn.' }, { id: 21, rev: false, dom: 'soc', t: 'Tôi cảm thấy rất lo lắng, căng thẳng khi phải nói chuyện với nhiều hơn một người cùng lúc.' }, { id: 22, rev: false, dom: 'soc', t: 'Tôi phải tự ép mình "hành xử bình thường" để làm hài lòng người khác và khiến họ quý mến mình.' }, { id: 23, rev: true, dom: 'soc', t: 'Việc gặp gỡ và làm quen với những người mới đối với tôi thường khá dễ dàng.' }, { id: 24, rev: false, dom: 'cir', t: 'Tôi bị bối rối hoặc khó chịu khi có ai đó làm gián đoạn lúc tôi đang nói về chủ đề mình yêu thích.' }, { id: 25, rev: false, dom: 'soc', t: 'Tôi thấy khó hiểu được cảm giác của người khác khi chúng tôi đang trò chuyện.' }, { id: 26, rev: true, dom: 'soc', t: 'Tôi thích trò chuyện cùng với nhiều người xung quanh một bàn ăn hoặc trong một nhóm bạn.' }, { id: 27, rev: false, dom: 'lan', t: 'Tôi hiểu mọi thứ theo đúng nghĩa đen, vì vậy tôi thường bỏ lỡ ẩn ý của người đang nói.' }, { id: 28, rev: false, dom: 'soc', t: 'Tôi thấy rất khó nhận biết khi nào một người đang cảm thấy xấu hổ, ghen tị hoặc bối rối.' }, { id: 29, rev: false, dom: 'sen', t: 'Một số kết cấu bề mặt bình thường không làm phiền người khác nhưng lại khiến tôi vô cùng khó chịu khi chạm vào.' }, { id: 30, rev: false, dom: 'cir', t: 'Tôi trở nên cực kỳ bức bối khi cách thức tôi vẫn thường làm mọi việc bị thay đổi đột ngột.' }, { id: 31, rev: false, dom: 'soc', t: 'Tôi chưa bao giờ muốn hoặc cần có một mối quan hệ được gọi là "tình cảm thân mật".' }, { id: 32, rev: false, dom: 'cir', t: 'Tôi rất khó bắt đầu hoặc dừng lại một cuộc trò chuyện cho đến khi tôi đã nói xong hết ý của mình.' }, { id: 33, rev: true, dom: 'sen', t: 'Tôi nói chuyện với nhịp điệu và tông giọng tự nhiên, bình thường.' }, { id: 34, rev: false, dom: 'sen', t: 'Cùng một âm thanh, màu sắc hoặc kết cấu có thể đột ngột chuyển từ rất nhạy cảm sang hoàn toàn không cảm thấy gì.' }, { id: 35, rev: false, dom: 'lan', t: 'Cụm từ "Anh ấy làm tôi cảm thấy..." hay các câu ẩn dụ cảm xúc tương tự thường làm tôi thấy khó hiểu.' }, { id: 36, rev: false, dom: 'sen', t: 'Đôi khi âm thanh của một từ ngữ hoặc tiếng ồn cao vút có thể gây đau đớn cho tai của tôi.' }, { id: 37, rev: true, dom: 'soc', t: 'Tôi là một người dễ cảm thông và thấu hiểu.' }, { id: 38, rev: false, dom: 'soc', t: 'Tôi không cảm thấy kết nối về mặt cảm xúc với các nhân vật trong phim và không thể cảm nhận những gì họ trải qua.' }, { id: 39, rev: false, dom: 'soc', t: 'Tôi không thể nhận ra khi nào có ai đó đang tán tỉnh mình.' }, { id: 40, rev: false, dom: 'cir', t: 'Tôi có thể hình dung cực kỳ chi tiết trong tâm trí về những thứ mà tôi quan tâm.' }, { id: 41, rev: false, dom: 'cir', t: 'Tôi có lưu giữ các danh sách về những thứ làm tôi thích thú, ngay cả khi chúng không có giá trị sử dụng thực tế.' }, { id: 42, rev: false, dom: 'sen', t: 'Khi tôi cảm thấy bị quá tải bởi các giác quan, tôi phải tự cô lập bản thân để ngắt bớt các kích thích đó.' }, { id: 43, rev: true, dom: 'soc', t: 'Tôi thích tâm sự và thảo luận mọi chuyện với bạn bè của mình.' }, { id: 44, rev: false, dom: 'soc', t: 'Tôi không thể phân biệt được liệu ai đó đang quan tâm hay đang chán ngấy những gì tôi đang nói.' }, { id: 45, rev: false, dom: 'soc', t: 'Rất khó để tôi đọc được nét mặt, ngôn ngữ cơ thể và cử chỉ tay chân khi ai đó đang nói chuyện.' }, { id: 46, rev: false, dom: 'sen', t: 'Cùng một thứ (như quần áo hoặc nhiệt độ) có thể cho tôi cảm giác hoàn toàn khác nhau vào những thời điểm khác nhau.' }, { id: 47, rev: true, dom: 'soc', t: 'Tôi cảm thấy rất thoải mái khi hẹn hò hoặc tham gia các hoạt động giao lưu xã hội.' }, { id: 48, rev: true, dom: 'soc', t: 'Tôi cố gắng giúp đỡ người khác một cách tự nhiên khi họ đang nói về vấn đề khó khăn của mình.' }, { id: 49, rev: false, dom: 'sen', t: 'Tôi từng được nhận xét là có giọng nói khác thường (ví dụ: giọng phẳng lì đều đều, trẻ con hoặc cao vút).' }, { id: 50, rev: false, dom: 'cir', t: 'Đôi khi một ý nghĩ hoặc một chủ đề cứ mắc kẹt trong đầu tôi và tôi buộc phải nói về nó ngay cả khi không ai quan tâm.' }, { id: 51, rev: false, dom: 'sen', t: 'Tôi thường làm một số cử động tay lặp đi lặp lại (như vẫy nhẹ, xoắn ngón tay, nhịp tay hoặc xoay đồ vật).' }, { id: 52, rev: false, dom: 'cir', t: 'Tôi chưa bao giờ thấy hứng thú với những gì hầu hết mọi người xung quanh coi là thú vị.' }, { id: 53, rev: true, dom: 'soc', t: 'Tôi được mọi người xem là một người có tính cách ấm áp và thân thiện.' }, { id: 54, rev: false, dom: 'soc', t: 'Tôi giao tiếp với người khác bằng cách làm theo một bộ các quy tắc cố định mà tôi phải tự ghi nhớ.' }, { id: 55, rev: false, dom: 'soc', t: 'Rất khó để tôi biết phải làm thế nào khi làm việc hoặc sinh hoạt trong một nhóm.' }, { id: 56, rev: false, dom: 'cir', t: 'Khi tôi đang nói chuyện với ai đó, rất khó để chuyển sang chủ đề khác ngoài chủ đề hiện tại.' }, { id: 57, rev: false, dom: 'sen', t: 'Đôi khi tôi phải lấy tay bịt tai lại để chặn bớt những tiếng ồn gây đau tai (như tiếng máy hút bụi, tiếng còi, đám đông).' }, { id: 58, rev: true, dom: 'lan', t: 'Tôi có thể tán gẫu và nói chuyện phiếm một cách dễ dàng với mọi người.' }, { id: 59, rev: false, dom: 'sen', t: 'Đôi khi những thứ đáng lẽ phải gây đau đớn (như khi tôi tự làm mình bị thương) lại không làm tôi thấy đau.' }, { id: 60, rev: false, dom: 'soc', t: 'Khi nói chuyện với một ai đó, tôi gặp khó khăn trong việc biết khi nào đến lượt mình nói hoặc lượt mình lắng nghe.' }, { id: 61, rev: false, dom: 'soc', t: 'Những người hiểu rõ tôi thường coi tôi là một người sống khép kín, tách biệt.' }, { id: 62, rev: true, dom: 'sen', t: 'Tôi thường nhìn thẳng vào mắt người đối diện một cách tự nhiên khi trò chuyện.' }, { id: 63, rev: false, dom: 'cir', t: 'Tôi thích mọi thứ phải diễn ra chính xác như cũ từ ngày này qua ngày khác và ngay cả những thay đổi nhỏ cũng làm tôi phiền lòng.' }, { id: 64, rev: false, dom: 'soc', t: 'Làm thế nào để kết bạn và giữ gìn tình bạn luôn là một điều bí ẩn khó hiểu đối với tôi.' }, { id: 65, rev: false, dom: 'sen', t: 'Việc xoay tròn người, đung đưa cơ thể hoặc nhịp chân giúp tôi tự làm dịu bản thân khi cảm thấy quá tải.' }, { id: 66, rev: false, dom: 'lan', t: 'Cụm từ "Mang trái tim trên tay áo" (bộc lộ cảm xúc ra ngoài) không có ý nghĩa gì đối với tôi khi nghĩ về nó.' }, { id: 67, rev: false, dom: 'sen', t: 'Nếu tôi ở một nơi có quá nhiều mùi hương, kết cấu bề mặt chạm vào da, tiếng ồn hoặc ánh sáng chói, tôi cảm thấy lo âu hoặc đơ cứng.' }, { id: 68, rev: true, dom: 'soc', t: 'Tôi có thể nhận biết khi nào một ai đó nói một đằng nhưng thực tâm lại có ý một nẻo.' }, { id: 69, rev: false, dom: 'soc', t: 'Tôi thích được ở một mình càng nhiều càng tốt.' }, { id: 70, rev: false, dom: 'cir', t: 'Tôi cất giữ những suy nghĩ trong tâm trí giống như xếp trên các thẻ ghi chú và lấy ra đúng tấm thẻ cần tìm khi muốn.' }, { id: 71, rev: false, dom: 'sen', t: 'Cùng một âm thanh có thể lúc thì nghe rất to nhưng lúc khác lại nghe rất nhỏ.' }, { id: 72, rev: true, dom: 'soc', t: 'Tôi thích dành thời gian ăn uống và trò chuyện cùng với gia đình và bạn bè.' }, { id: 73, rev: false, dom: 'sen', t: 'Tôi không thể chịu đựng được những thứ mà tôi không thích (như một số mùi hương, kết cấu vải, âm thanh hoặc màu sắc).' }, { id: 74, rev: false, dom: 'sen', t: 'Tôi không thích được người khác ôm hoặc giữ chặt vào người.' }, { id: 75, rev: false, dom: 'cir', t: 'Khi đi đến bất cứ đâu, tôi đều phải đi theo một lộ trình quen thuộc, nếu không tôi sẽ cảm thấy rất bối rối và bồn chồn.' }, { id: 76, rev: false, dom: 'soc', t: 'Thật khó để hình dung được những người khác đang mong đợi điều gì ở tôi.' }, { id: 77, rev: true, dom: 'soc', t: 'Tôi thích việc có những người bạn thân thiết trong cuộc sống.' }, { id: 78, rev: false, dom: 'cir', t: 'Mọi người thường bảo rằng tôi kể quá nhiều chi tiết tỉ mỉ không cần thiết khi nói chuyện.' }, { id: 79, rev: false, dom: 'soc', t: 'Tôi thường được bảo rằng mình hay đặt những câu hỏi làm người khác ngượng ngùng, khó xử.' }, { id: 80, rev: false, dom: 'soc', t: 'Tôi có xu hướng chỉ ra những lỗi sai của người khác ngay lập tức mà không để ý đến cảm xúc của họ.' } ]; // answers[id] lưu 1 trong 4 mã thời điểm: // 'BOTH' (Đúng cả hiện tại & khi < 16 tuổi) // 'NOW' (Chỉ đúng ở hiện tại) // 'YNG' (Chỉ đúng khi < 16 tuổi) // 'NEV' (Không bao giờ đúng) let answers = {}; let filterDom = 'all'; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .rd-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .rd-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .rd-inner { padding: 24px; max-width: 940px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .rd-wrap.is-fullscreen .rd-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .rd-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(79, 70, 229, 0.45), 0 0 0 0 rgba(79, 70, 229, 0.4); } 70% { box-shadow: 0 6px 20px rgba(79, 70, 229, 0.45), 0 0 0 10px rgba(79, 70, 229, 0); } 100% { box-shadow: 0 6px 20px rgba(79, 70, 229, 0.45), 0 0 0 0 rgba(79, 70, 229, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #4338ca 0%, #4f46e5 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(79, 70, 229, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Header */ .rd-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .rd-header-text { flex: 1 1 260px; } .rd-title { font-size: 21px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .rd-desc { font-size: 14px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #eef2ff; color: #4338ca; border: 1px solid #c7d2fe; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #4f46e5; color: #ffffff; border-color: #4f46e5; } /* Controls */ .rd-controls { display: flex; flex-direction: column; gap: 10px; margin-bottom: 18px; } .rd-presets { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; } .rd-preset-lbl { font-size: 12.5px; font-weight: 700; color: #475569; margin-right: 4px; } .rd-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; transition: all 0.15s ease; touch-action: manipulation; } .rd-pbtn:hover { background: #f1f5f9; border-color: #94a3b8; } .rd-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } .rd-domain-tabs { display: flex; flex-wrap: wrap; gap: 6px; } .rd-dtab { padding: 6px 12px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .rd-dtab.active { background: #4f46e5; color: #ffffff; border-color: #4f46e5; } /* Sticky Dashboard */ .rd-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .rd-wrap.is-fullscreen .rd-dash { top: 58px; } .rd-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .rd-score-big { font-size: 24px; font-weight: 800; line-height: 1; } .rd-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .rd-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .rd-bar-bg { height: 10px; background: #334155; border-radius: 5px; overflow: hidden; margin-bottom: 12px; } .rd-bar-fill { height: 100%; width: 0%; background: #10b981; transition: width 0.35s ease, background 0.35s ease; } .rd-pillars { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; font-size: 11.5px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .rd-pillar-box { background: #1e293b; padding: 7px 10px; border-radius: 8px; } .rd-pillar-val { font-weight: 700; color: #ffffff; font-size: 13px; display: block; margin-top: 2px; } /* Danh sách 80 câu hỏi */ .rd-q-item { border: 1px solid #e2e8f0; border-radius: 10px; padding: 14px 16px; margin-bottom: 12px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 10px; } .rd-q-item.high-scored { border-color: #fda4af; background: #fff5f5; } .rd-q-item.mid-scored { border-color: #fde68a; background: #fffbeb; } .rd-q-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; } .rd-q-text { font-size: 14.5px; font-weight: 600; color: #1e293b; line-height: 1.5; flex: 1; } .rd-q-tags { display: flex; flex-wrap: wrap; gap: 6px; } .rd-tag { font-size: 11px; font-weight: 600; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .rd-tag.dom-soc { background: #dbeafe; color: #1d4ed8; } .rd-tag.dom-cir { background: #fef3c7; color: #b45309; } .rd-tag.dom-lan { background: #f3e8ff; color: #7e22ce; } .rd-tag.dom-sen { background: #dcfce7; color: #15803d; } .rd-tag.rev-tag { background: #fee2e2; color: #b91c1c; } /* 4 nút lựa chọn thời điểm RAADS-R */ .rd-ans-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; } .rd-abtn { padding: 8px 6px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 600; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .rd-abtn:hover { border-color: #64748b; } .rd-abtn.sel-0 { background: #10b981; border-color: #10b981; color: #ffffff; font-weight: 700; } .rd-abtn.sel-1 { background: #3b82f6; border-color: #3b82f6; color: #ffffff; font-weight: 700; } .rd-abtn.sel-2 { background: #f59e0b; border-color: #f59e0b; color: #ffffff; font-weight: 700; } .rd-abtn.sel-3 { background: #ef4444; border-color: #ef4444; color: #ffffff; font-weight: 700; } /* Biểu đồ 4 tiểu lĩnh vực & Kết luận */ .rd-chart-card { margin-top: 20px; padding: 16px 18px; border-radius: 12px; background: #ffffff; border: 1px solid #e2e8f0; } .rd-chart-title { font-size: 14.5px; font-weight: 700; color: #0f172a; margin-bottom: 12px; } .rd-bar-row { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; font-size: 12.5px; } .rd-bar-lbl { width: 210px; flex-shrink: 0; font-weight: 600; color: #334155; } .rd-bar-track { flex: 1; height: 16px; background: #f1f5f9; border-radius: 999px; overflow: hidden; } .rd-bar-val { width: 115px; text-align: right; font-weight: 700; color: #0f172a; flex-shrink: 0; } .rd-result-box { margin-top: 16px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #64748b; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 720px) { .rd-inner { padding: 14px; } .rd-title { font-size: 18px; } .rd-pillars { grid-template-columns: 1fr 1fr; } .rd-ans-grid { grid-template-columns: 1fr 1fr; } .rd-abtn { padding: 10px 8px; font-size: 12px; } .rd-bar-lbl { width: 130px; font-size: 11.5px; } .rd-bar-val { width: 95px; font-size: 11.5px; } .rd-pbtn.reset { margin-left: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
Thang Đo Chẩn Đoán Phổ Tự Kỷ & Asperger RAADS-R (80 Câu Hỏi • Từ 16 Tuổi Trở Lên)
Công cụ lâm sàng chuẩn hóa của Ritvo et al. (2011) đánh giá xuyên suốt dòng thời gian (trước 16 tuổi và hiện tại) trên thang 0 – 240 điểm. Hệ thống tự động đảo chiều điểm ở 17 câu nghịch và đối chiếu ngưỡng điểm cắt lâm sàng chuẩn (≥ 65 điểm).
• Tổng điểm thấp hơn cả ngưỡng giáp ranh (50 điểm) và ngưỡng điểm cắt chuẩn (≥ 65 điểm). Trong nghiên cứu gốc của Ritvo (2011), điểm trung bình của nhóm thần kinh điển hình là khoảng 26 điểm.
• Không ghi nhận tập hợp dấu hiệu Rối loạn phổ tự kỷ có ý nghĩa lâm sàng xuyên suốt quá trình phát triển. `; } else if (total < 65) { color = '#f59e0b'; badgeTxt = `VÙNG GIÁP RANH (${total}/240đ)`; analysis = ` Kết luận RAADS-R — Vùng Giáp Ranh Cần Lưu Ý (50 – 64 điểm: Đạt ${total}/240 điểm):
• Điểm số tiệm cận ngưỡng cắt chuẩn (≥ 65 điểm). Hồ sơ 4 tiểu lĩnh vực: Quan hệ xã hội (${domScores.soc}/117, ngưỡng ≥ 31) • Sở thích thu hẹp (${domScores.cir}/42, ngưỡng ≥ 15) • Ngôn ngữ (${domScores.lan}/21, ngưỡng ≥ 4) • Giác quan – Vận động (${domScores.sen}/60, ngưỡng ≥ 16).
• Nhận định: Một số cá nhân tự kỷ có mức độ ngụy trang xã hội cao hoặc người có lo âu xã hội / ADHD có thể rơi vào vùng điểm này. Khuyến nghị tham vấn chuyên gia tâm lý lâm sàng nếu các đặc điểm gây cản trở cuộc sống. `; } else if (total < 130) { color = '#ef4444'; badgeTxt = `VƯỢT NGƯỠNG CHUẨN RAADS-R (≥ 65: ${total}đ)`; analysis = ` Kết luận RAADS-R — Vượt Ngưỡng Điểm Cắt Lâm Sàng Chuẩn ($\ge 65$ điểm: Đạt ${total}/240 điểm):
• Kết quả dương tính trên thang RAADS-R (ngưỡng $\ge 65$ điểm có độ nhạy 97% trong nghiên cứu chuẩn hóa của Ritvo et al., 2011).
• Chi tiết 4 trụ cột: Quan hệ xã hội (${domScores.soc}/117) • Sở thích thu hẹp (${domScores.cir}/42) • Ngôn ngữ (${domScores.lan}/21) • Giác quan – Vận động (${domScores.sen}/60).
• Hướng xử trí: Kết quả này cung cấp cơ sở lâm sàng vững chắc để bạn thực hiện đánh giá chẩn đoán chính thức với Bác sĩ chuyên khoa Tâm thần / Chuyên gia Tâm lý lâm sàng (kết hợp phỏng vấn lịch sử phát triển và ADOS-2 Module 4). `; } else { color = '#dc2626'; badgeTxt = `MỨC ĐIỂN HÌNH PHỔ TỰ KỶ (${total}/240đ)`; analysis = ` Kết luận RAADS-R — Mức Điểm Đặc Trưng Của Phổ Tự Kỷ ($\ge 130$ điểm: Đạt ${total}/240 điểm):
• Tổng điểm của bạn tương đương hoặc cao hơn mức điểm trung bình của nhóm người trưởng thành được chẩn đoán Tự kỷ / Asperger trong nghiên cứu đa trung tâm quốc tế (~134/240 điểm).
• Sự hiện diện nhất quán của các đặc điểm từ thời thơ ấu ( setPoints(id, 2)); } else if (type === 'border') { // 58 điểm questions.forEach((q, idx) => { if (idx % 3 === 0) setPoints(q.id, 2); else if (idx % 7 === 0) setPoints(q.id, 1); }); } else if (type === 'masked') { // 86 điểm (Nhiều câu chọn "Chỉ đúng khi { if (idx % 2 === 0) setPoints(q.id, 1); }); [5, 8, 9, 13, 19, 20, 21, 22, 23, 27, 29, 30, 36, 40, 42, 45, 54, 57, 62, 64, 67, 69].forEach(id => { setPoints(id, 3); }); } else if (type === 'asd') { // 138 điểm (Hồ sơ ASD điển hình) questions.forEach((q, idx) => { if (idx % 2 === 0) setPoints(q.id, 3); else if (idx % 3 === 0) setPoints(q.id, 2); else setPoints(q.id, 1); }); } renderQuestions(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); rdWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { rdWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 940px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } shadow.querySelectorAll('.rd-pbtn').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-preset')); }; }); shadow.querySelectorAll('#domainTabs .rd-dtab').forEach(function(tab) { tab.onclick = function() { filterDom = this.getAttribute('data-dom'); shadow.querySelectorAll('#domainTabs .rd-dtab').forEach(t => t.classList.remove('active')); this.classList.add('active'); renderQuestions(); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); applyPreset('asd'); })();
RAADS-R (Ritvo Autism Asperger Diagnostic Scale-Revised — Thang đo Chẩn đoán Tự kỷ và Asperger Ritvo – Bản Hiệu đính) là công cụ lâm sàng chuyên sâu do Tiến sĩ Riva Ariella Ritvo và cộng sự (Đại học Yale & UCLA) phát triển năm 2011.
Đây là công cụ hàng đầu thế giới hiện nay dùng để hỗ trợ phát hiện các đặc điểm Rối loạn phổ tự kỷ ở người trưởng thành và thanh thiếu niên lớn (từ 16 tuổi trở lên) có trí tuệ bình thường (IQ ≥80) — đặc biệt là những trường hợp tự kỷ mức độ nhẹ / chức năng cao bị bỏ sót khi còn nhỏ nhờ khả năng “ngụy trang xã hội” (masking).
1. Tóm tắt cốt lõi về công cụ RAADS-R
-
Điểm vượt trội so với thang AQ: Nếu thang AQ chỉ hỏi về trạng thái hiện tại, thì RAADS-R đánh giá xuyên suốt dòng thời gian phát triển (so sánh hành vi trước 16 tuổi và hiện tại). Điều này cực kỳ quan trọng vì nhiều người lớn tự kỷ đã học cách bắt chước giao tiếp khi trưởng thành, nhưng hồi nhỏ (dưới 16 tuổi) lại bộc lộ triệu chứng rất rõ.
-
Độ nhạy và Độ đặc hiệu: Trong nghiên cứu đa trung tâm của Ritvo (2011), RAADS-R đạt độ nhạy 97% và độ đặc hiệu 100% tại ngưỡng điểm cắt chuẩn ().
-
Cấu trúc 80 câu hỏi & 4 Tiểu lĩnh vực:
-
Quan hệ xã hội (Social Relatedness — 39 câu): Khả năng thấu cảm, kết bạn, duy trì mối quan hệ, đọc ngôn ngữ cơ thể và tương tác nhóm (Ngưỡng cắt tiểu lĩnh vực: điểm).
-
Sở thích thu hẹp (Circumscribed Interests — 14 câu): Đam mê chuyên sâu, thói quen cố định, chú ý chi tiết và khó chịu khi thay đổi lịch trình (Ngưỡng cắt: điểm).
-
Ngôn ngữ (Language — 7 câu): Hiểu theo nghĩa đen, giọng điệu nói chuyện, khó hiểu ẩn dụ/nói đùa và kịch bản giao tiếp (Ngưỡng cắt: điểm).
-
Giác quan – Vận động (Sensorimotor — 20 câu): Nhạy cảm quá mức với âm thanh, ánh sáng, kết cấu quần áo/thức ăn, phối hợp vận động và cử động định hình (Ngưỡng cắt: ≥16 điểm).
-
-
Quy tắc chấm điểm (Thang 0 – 240 điểm):
-
Mỗi câu có 4 mốc thời gian để chọn:
-
Đúng ở cả hiện tại và khi < 16 tuổi -
Chỉ đúng ở hiện tại -
Chỉ đúng khi tôi < 16 tuổi -
Không bao giờ đúng
-
-
63 câu thuận (mô tả đặc điểm tự kỷ): Chấm lần lượt 3 – 2 – 1 – 0 điểm.
-
17 câu đảo ngược (Normative items): Câu số 1, 6, 11, 18, 23, 26, 33, 37, 43, 47, 48, 53, 58, 62, 68, 72, 77(mô tả kỹ năng xã hội điển hình): Chấm đảo chiều 0 – 1 – 2 – 3 điểm (Chọn “Không bao giờ đúng” = 3 điểm).
-
-
Các mốc điểm tham chiếu lâm sàng (Cut-off Scores):
-
0 – 49 điểm: Dưới ngưỡng lâm sàng (Trung bình dân số thần kinh điển hình ~26 điểm).
-
50 – 64 điểm: Vùng giáp ranh — Có một số đặc điểm phổ tự kỷ nhưng chưa vượt ngưỡng chuẩn.
-
65 – 129 điểm: Vượt ngưỡng điểm cắt lâm sàng chuẩn ( điểm) — Gợi ý khả năng cao thuộc Phổ tự kỷ.
-
130 – 240 điểm: Mức điểm điển hình của người trưởng thành tự kỷ (Điểm trung bình của nhóm ASD trong nghiên cứu gốc là ~134 điểm).
-
[Phát triển chung] ASQ-3: Bộ câu hỏi sàng lọc phát triển toàn diện theo độ tuổi (1 – 66 tháng)
(function() { const host = document.getElementById('asq3-wp-host'); if (!host) return; const placeholder = document.createComment('asq3-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // Cấu hình 5 Lĩnh vực chuẩn của ASQ-3 (Mỗi lĩnh vực 6 câu x 10đ = 60 điểm tối đa) const domConfigs = { com: { code: 'com', name: '1. Giao tiếp (Communication)', color: '#2563eb' }, gm: { code: 'gm', name: '2. Vận động Thô (Gross Motor)', color: '#10b981' }, fm: { code: 'fm', name: '3. Vận động Tinh (Fine Motor)', color: '#0d9488' }, psv: { code: 'psv', name: '4. Giải quyết Vấn đề (Problem Solving)', color: '#f59e0b' }, psc: { code: 'psc', name: '5. Cá nhân – Xã hội (Personal-Social)', color: '#7c3aed' } }; // Dữ liệu các Bộ câu hỏi chuẩn ASQ-3 theo từng Mốc Tháng Tuổi trọng điểm kèm Ngưỡng Cắt (cutoff: -2 SD, monitor: -1 SD) const ageForms = { m6: { code: 'm6', label: '👶 Mốc 6 Tháng (5 – 6 tháng 30 ngày)', cutoffs: { com: { cut: 29.65, mon: 40.80 }, gm: { cut: 22.25, mon: 34.10 }, fm: { cut: 25.14, mon: 37.60 }, psv: { cut: 27.72, mon: 39.50 }, psc: { cut: 25.34, mon: 37.20 } }, items: [ // Giao tiếp (6m) { id: 1, dom: 'com', t: 'Bé có phát ra những âm thanh cao vút (reo lên thích thú) không?' }, { id: 2, dom: 'com', t: 'Khi tự chơi với âm thanh, bé có phát ra các tiếng gầm gừ, lầu bầu hoặc các âm trầm trong cổ họng không?' }, { id: 3, dom: 'com', t: 'Nếu bạn gọi bé khi bạn đang ở khuất tầm mắt, bé có nhìn về phía phát ra giọng nói của bạn không?' }, { id: 4, dom: 'com', t: 'Khi có tiếng động lớn bất ngờ, bé có quay đầu nhìn về phía phát ra âm thanh đó không?' }, { id: 5, dom: 'com', t: 'Bé có phát ra các âm thanh như "đa", "ga", "ca", "ba" không?' }, { id: 6, dom: 'com', t: 'Nếu bạn bắt chước lại đúng những âm thanh bé vừa phát ra, bé có lặp lại những âm thanh đó với bạn không?' }, // Vận động thô (6m) { id: 7, dom: 'gm', t: 'Khi nằm ngửa, bé có giơ cao chân lên và dùng tay nắm lấy bàn chân của mình không?' }, { id: 8, dom: 'gm', t: 'Khi đang nằm sấp, bé có tự duỗi thẳng cả hai cánh tay để đẩy nâng toàn bộ phần ngực rời khỏi mặt sàn không?' }, { id: 9, dom: 'gm', t: 'Bé có tự lẫy từ tư thế nằm ngửa sang nằm sấp và từ nằm sấp sang nằm ngửa được không?' }, { id: 10, dom: 'gm', t: 'Khi bạn đặt bé ngồi trên sàn, bé có thể tự chống hai bàn tay xuống sàn phía trước để ngồi vững trong 5 giây không?' }, { id: 11, dom: 'gm', t: 'Khi bạn giữ hai bên nách cho bé đứng, bé có chịu được sức nặng cơ thể trên đôi chân và nhún nhảy lên xuống không?' }, { id: 12, dom: 'gm', t: 'Bé có thể vào tư thế bò (chống trên hai bàn tay và hai đầu gối) được không?' }, // Vận động tinh (6m) { id: 13, dom: 'fm', t: 'Bé có với lấy và cầm giữ một món đồ chơi bằng cả hai bàn tay cùng lúc không?' }, { id: 14, dom: 'fm', t: 'Ketika nằm ngửa, bé có đưa tay chạm hoặc nắm lấy một món đồ chơi nhỏ đưa ngang tầm ngực không?' }, { id: 15, dom: 'fm', t: 'Bé có tự cầm lấy một món đồ chơi nhỏ bằng một bàn tay (dùng cả lòng bàn tay và các ngón tay) không?' }, { id: 16, dom: 'fm', t: 'Bé có cố gắng dùng các ngón tay cào hoặc bốc một mẩu vụn bánh nhỏ bằng hạt đậu trên mặt bàn không?' }, { id: 17, dom: 'fm', t: 'Bé có tự nhặt một món đồ chơi nhỏ chỉ bằng một tay không?' }, { id: 18, dom: 'fm', t: 'Bé có chuyển thành thạo một món đồ chơi từ bàn tay này sang bàn tay kia không?' }, // Giải quyết vấn đề (6m) { id: 19, dom: 'psv', t: 'Khi món đồ chơi rơi khỏi tay xuống mặt bàn trước mặt, bé có nhìn theo món đồ chơi đó không?' }, { id: 20, dom: 'psv', t: 'Bé có đưa đồ chơi lên miệng để mút hoặc gặm khám phá không?' }, { id: 21, dom: 'psv', t: 'Bé có chuyển món đồ chơi từ tay này sang tay kia để quan sát không?' }, { id: 22, dom: 'psv', t: 'Khi đang cầm một món đồ chơi trên một tay, bé có đưa tay còn lại với lấy thêm món đồ chơi thứ hai không?' }, { id: 23, dom: 'psv', t: 'Bé có đập món đồ chơi lên mặt bàn lên xuống nhiều lần để tạo ra âm thanh không?' }, { id: 24, dom: 'psv', t: 'Khi thấy món đồ chơi rơi xuống sàn nhà, bé có nghiêng đầu nhìn xuống sàn để tìm kiếm nó không?' }, // Cá nhân - Xã hội (6m) { id: 25, dom: 'psc', t: 'Khi nhìn vào gương, bé có mỉm cười hoặc phát âm ê a với hình ảnh của mình trong gương không?' }, { id: 26, dom: 'psc', t: 'Bé có cư xử khác nhau giữa người quen và người lạ (như nhìn dò xét, rụt rè hoặc im lặng trước người lạ) không?' }, { id: 27, dom: 'psc', t: 'Khi nằm ngửa, bé có đưa bàn chân lên miệng để ngậm nghịch không?' }, { id: 28, dom: 'psc', t: 'Khi đang ở trước gương, bé có đưa tay ra vỗ hoặc chạm vào hình ảnh trong gương không?' }, { id: 29, dom: 'psc', t: 'Bé có đặt hai bàn tay lên bình sữa hoặc bầu ngực mẹ khi đang bú không?' }, { id: 30, dom: 'psc', t: 'Bé có tự cầm chiếc bánh ăn dặm đưa lên miệng để mút/gặm không?' } ] }, m12: { code: 'm12', label: '🍼 Mốc 12 Tháng (11 – 12 tháng 30 ngày)', cutoffs: { com: { cut: 15.64, mon: 29.50 }, gm: { cut: 21.49, mon: 35.80 }, fm: { cut: 34.50, mon: 43.40 }, psv: { cut: 27.32, mon: 38.60 }, psc: { cut: 21.73, mon: 33.70 } }, items: [ // Giao tiếp (12m) { id: 1, dom: 'com', t: 'Bé có phát ra hai âm tiết giống nhau liền nhau như "ba-ba", "đa-đa", "ma-ma" không?' }, { id: 2, dom: 'com', t: 'Khi bạn làm mẫu, bé có bắt chước chơi trò "Ú òa", "Vỗ tay hoan hô" hoặc vẫy tay "Bye-bye" không?' }, { id: 3, dom: 'com', t: 'Nếu bạn hỏi "Quả bóng đâu?" (mà không chỉ tay), bé có nhìn về phía quả bóng không?' }, { id: 4, dom: 'com', t: 'Khi bé muốn một thứ gì đó, bé có biết đưa tay chỉ vào đồ vật đó để cho bạn biết không?' }, { id: 5, dom: 'com', t: 'Bé có thực hiện được một yêu cầu đơn giản (như "Lại đây", "Đưa cho mẹ") ngay cả khi bạn không làm cử chỉ ra hiệu không?' }, { id: 6, dom: 'com', t: 'Bé có nói được ít nhất 3 từ đơn có nghĩa (như "Mẹ", "Bà", "Măm", "Bóng") và dùng đúng ngữ cảnh không?' }, // Vận động thô (12m) { id: 7, dom: 'gm', t: 'Khi một tay vịn vào bàn ghế, bé có thể cúi xuống nhặt một món đồ chơi dưới sàn mà không bị ngã không?' }, { id: 8, dom: 'gm', t: 'Bé có đi men dọc theo thành ghế sofa hoặc bàn trong khi chỉ dùng một tay vịn giữ thăng bằng không?' }, { id: 9, dom: 'gm', t: 'Khi bạn nắm một bàn tay của bé để dắt, bé có tự bước đi về phía trước được không?' }, { id: 10, dom: 'gm', t: 'Bé có thể tự đứng vững một mình và bước đi độc lập được vài bước mà không cần vịn vào bất cứ thứ gì không?' }, { id: 11, dom: 'gm', t: 'Bé có thể tự đứng ở giữa sàn rồi cúi xuống nhặt đồ chơi mà không cần vịn tay vào đồ đạc không?' }, { id: 12, dom: 'gm', t: 'Bé có tự đi lại vững vàng hơn 5 – 6 bước liên tiếp mà không bị ngã hay loạng choạng nhiều không?' }, // Vận động tinh (12m) { id: 13, dom: 'fm', t: 'Bé có tự nhặt được một mẩu bánh nhỏ / hạt nhỏ bằng đầu ngón cái và đầu ngón trỏ (kẹp chì) không?' }, { id: 14, dom: 'fm', t: 'Bé có thể cầm một món đồ chơi nhỏ trên tay và chủ động thả rơi nó xuống mặt bàn/trong hộp khi muốn không?' }, { id: 15, dom: 'fm', t: 'Khi nhặt mẩu bánh nhỏ bằng ngón cái và ngón trỏ, bàn tay và cánh tay của bé có nhấc hẳn lên khỏi mặt bàn (không cần tỳ cánh tay xuống bàn) không?' }, { id: 16, dom: 'fm', t: 'Bé có biết bỏ một khối gỗ vào trong hộp hoặc cốc rồi lại thò tay lấy khối gỗ đó ra khỏi hộp không?' }, { id: 17, dom: 'fm', t: 'Bé có phụ giúp lật trang sách bìa cứng khi bạn đọc sách cho bé nghe không?' }, { id: 18, dom: 'fm', t: 'Bé có thể ném một quả bóng nhỏ về phía trước bằng chuyển động cánh tay không?' }, // Giải quyết vấn đề (12m) { id: 19, dom: 'psv', t: 'Khi hai tay bé đang cầm hai khối gỗ, bé có biết đập hai khối gỗ đó vào nhau ở trước ngực không?' }, { id: 20, dom: 'psv', t: 'Bé có biết dùng ngón trỏ để chọc, ấn hoặc khám phá các chi tiết nhỏ của đồ chơi không?' }, { id: 21, dom: 'psv', t: 'Nếu nhìn thấy bạn giấu món đồ chơi hoàn toàn dưới một chiếc khăn, bé có tự kéo khăn ra để tìm lấy món đồ chơi đó không?' }, { id: 22, dom: 'psv', t: 'Sau khi nhìn bạn thả một khối gỗ vào trong chiếc cốc, bé có bắt chước thả khối gỗ vào trong cốc không?' }, { id: 23, dom: 'psv', t: 'Bé có biết bỏ liền 2 khối gỗ vào trong cốc/hộp và giữ chúng nằm yên trong đó không?' }, { id: 24, dom: 'psv', t: 'Sau khi bạn cầm bút sáp vẽ mẫu vài nét trên giấy, bé có cầm bút và cố gắng vạch nét bắt chước trên giấy không?' }, // Cá nhân - Xã hội (12m) { id: 25, dom: 'psc', t: 'Khi bạn đưa hai tay ra và nói "Lại đây với mẹ nào", bé có giơ hai tay lên để được bạn bế không?' }, { id: 26, dom: 'psc', t: 'Bé có tự cầm bánh hoặc thức ăn cắt nhỏ bằng ngón tay để tự đưa vào miệng ăn không?' }, { id: 27, dom: 'psc', t: 'Khi bạn mặc quần áo cho bé, bé có biết phối hợp xỏ tay vào ống tay áo hoặc đưa chân vào ống quần không?' }, { id: 28, dom: 'psc', t: 'Bé có biết lăn hoặc ném trả lại quả bóng cho bạn để hai mẹ con cùng chơi qua lại không?' }, { id: 29, dom: 'psc', t: 'Bé có biết ôm ấp, vỗ về một con búp bê hoặc thú nhồi bông không?' }, { id: 30, dom: 'psc', t: 'Khi bạn giữ chiếc cốc nước cho bé uống, bé có đưa hai tay lên cùng giữ chiếc cốc để uống không?' } ] }, m18: { code: 'm18', label: '🧸 Mốc 18 Tháng (17 – 18 tháng 30 ngày)', cutoffs: { com: { cut: 13.06, mon: 27.60 }, gm: { cut: 37.38, mon: 46.40 }, fm: { cut: 34.32, mon: 43.30 }, psv: { cut: 25.74, mon: 35.80 }, psc: { cut: 27.19, mon: 37.80 } }, items: [ // Giao tiếp (18m) { id: 1, dom: 'com', t: 'Khi bé muốn một thứ gì đó ở trên cao, bé có đi tìm bạn và chỉ ngón trỏ vào vật đó kèm nhìn bạn không?' }, { id: 2, dom: 'com', t: 'Khi xem sách cùng bạn, bé có bắt chước một số âm thanh hoặc từ đơn mà bạn đọc không?' }, { id: 3, dom: 'com', t: 'Khi bạn hỏi "Con mèo/Quả bóng ở đâu?", bé có chỉ đúng vào bức tranh tương ứng trong sách không?' }, { id: 4, dom: 'com', t: 'Bé có thực hiện đúng các yêu cầu đơn giản bằng lời mà bạn không cần chỉ tay (như "Đi lấy giày của con lại đây") không?' }, { id: 5, dom: 'com', t: 'Ngoài từ "Bố" và "Mẹ", bé có nói được ít nhất 8 từ đơn có nghĩa trở lên không?' }, { id: 6, dom: 'com', t: 'Bé có bắt đầu ghép 2 từ lại với nhau thành cụm từ ngắn (như "Uống sữa", "Mẹ bế", "Mở ra") không?' }, // Vận động thô (18m) { id: 7, dom: 'gm', t: 'Bé có tự cúi xuống hoặc ngồi xổm nhặt đồ vật dưới sàn rồi tự đứng thẳng lên mà không cần vịn vào bất cứ thứ gì không?' }, { id: 8, dom: 'gm', t: 'Bé có tự đi lại vững vàng khắp nhà hơn là bò không?' }, { id: 9, dom: 'gm', t: 'Bé có tự bước đi tốt mà rất hiếm khi bị vấp ngã không?' }, { id: 10, dom: 'gm', t: 'Bé có tự trèo lên một vật thấp (như chiếc ghế sofa hoặc ghế nhỏ) để lấy món đồ chơi ở trên đó không?' }, { id: 11, dom: 'gm', t: 'Bé có bước xuống cầu thang được khi bạn nắm giữ một bàn tay của bé không?' }, { id: 12, dom: 'gm', t: 'Khi bạn đặt quả bóng dưới sàn, bé có biết vung chân đá quả bóng lăn về phía trước (thay vì bước dẫm lên bóng) không?' }, // Vận động tinh (18m) { id: 13, dom: 'fm', t: 'Bé có thể ném một quả bóng nhỏ về phía trước khi đang đứng mà không bị ngã không?' }, { id: 14, dom: 'fm', t: 'Bé có xếp chồng được ít nhất 3 khối gỗ vuông nhỏ lên nhau thành tháp đứng vững không?' }, { id: 15, dom: 'fm', t: 'Bé có tự cầm bút sáp màu và vẽ nguệch ngoạc lên trang giấy mà không cần bạn làm mẫu trước không?' }, { id: 16, dom: 'fm', t: 'Bé có tự lật được các trang của một cuốn sách (có thể lật 2–3 trang cùng lúc) không?' }, { id: 17, dom: 'fm', t: 'Bé có biết dùng đầu ngón tay lấy một mẩu bánh nhỏ ra khỏi một chiếc lọ nhựa trong suốt cổ hẹp không?' }, { id: 18, dom: 'fm', t: 'Bé có xếp chồng được 4 – 5 khối gỗ vuông nhỏ lên nhau thành tháp không?' }, // Giải quyết vấn đề (18m) { id: 19, dom: 'psv', t: 'Bé có thả liên tiếp 5 – 6 đồ vật nhỏ vào trong một chiếc hộp không?' }, { id: 20, dom: 'psv', t: 'Sau khi bạn thả một mẩu bánh nhỏ vào trong lọ nhựa trong suốt, bé có biết tự dốc ngược cái lọ xuống để đổ mẩu bánh ra tay không?' }, { id: 21, dom: 'psv', t: 'Bé có chơi giả vờ với các đồ vật (như áp điện thoại đồ chơi lên tai nghe, hoặc cầm lược giả vờ chải đầu) không?' }, { id: 22, dom: 'psv', t: 'Sau khi nhìn bạn vẽ một nét thẳng trên giấy, bé có cầm bút bắt chước vạch nét theo bạn không?' }, { id: 23, dom: 'psv', t: 'Nếu món đồ chơi lăn vào gầm ghế ngoài tầm tay với, bé có biết dùng một chiếc que/thước để khều nó ra hoặc kéo khăn trải bàn lại gần không?' }, { id: 24, dom: 'psv', t: 'Khi bạn xếp mẫu 3–4 khối gỗ nối đuôi nhau làm đoàn tàu, bé có xếp các khối gỗ thành hàng ngang giống bạn không?' }, // Cá nhân - Xã hội (18m) { id: 25, dom: 'psc', t: 'Bé có tự dùng thìa xúc thức ăn đưa vào miệng (dù có thể còn rơi vãi một ít) không?' }, { id: 26, dom: 'psc', t: 'Bé có tự cởi được các món đồ dễ như tất, mũ hoặc giày đã tháo dây không?' }, { id: 27, dom: 'psc', t: 'Bé có tự cầm cốc bằng hai tay uống nước rồi đặt cốc xuống bàn mà hầu như không làm đổ nước ra ngoài không?' }, { id: 28, dom: 'psc', t: 'Bé có bắt chước làm theo các việc nhà của bạn (như cầm khăn lau bàn, cầm chổi quét nhà) không?' }, { id: 29, dom: 'psc', t: 'Bé có thường xuyên nhìn vào hình ảnh của mình trong gương và mỉm cười hoặc làm trò trước gương không?' }, { id: 30, dom: 'psc', t: 'Bé có chủ động kéo tay bạn hoặc mang đồ chơi lại khoe để rủ bạn cùng xem/mở giúp không?' } ] }, m24: { code: 'm24', label: '👦 Mốc 24 Tháng (23 – 25 tháng 15 ngày • 2 Tuổi)', cutoffs: { com: { cut: 25.17, mon: 38.00 }, gm: { cut: 38.07, mon: 46.50 }, fm: { cut: 35.16, mon: 43.20 }, psv: { cut: 29.78, mon: 39.60 }, psc: { cut: 31.54, mon: 40.50 } }, items: [ // Giao tiếp (24m) { id: 1, dom: 'com', t: 'Khi bạn gọi tên các bức tranh quen thuộc (như con mèo, quả bóng, con chó, chiếc xe), bé có chỉ đúng vào bức tranh đó trong sách không?' }, { id: 2, dom: 'com', t: 'Bé có bắt chước nói lại chính xác một câu ngắn gồm 2 từ khi bạn làm mẫu (ví dụ: "Mẹ ơi", "Đi về") không?' }, { id: 3, dom: 'com', t: 'Khi bạn yêu cầu bằng lời mà không chỉ tay, bé có thực hiện được ít nhất 3 mệnh lệnh khác nhau (như "Đặt lên bàn", "Đưa dép cho mẹ", "Đóng cửa lại") không?' }, { id: 4, dom: 'com', t: 'Khi bạn chỉ vào bức tranh quả bóng, cái cốc, chiếc mũ và hỏi "Cái gì đây?", bé có gọi đúng tên các đồ vật đó không?' }, { id: 5, dom: 'com', t: 'Bé có tự nói được các câu gồm 2 đến 3 từ để diễn đạt ý khác nhau (như "Con uống sữa", "Đi chơi công viên", "Bóng của con") không?' }, { id: 6, dom: 'com', t: 'Bé có sử dụng đúng ít nhất 2 đại từ nhân xưng như "Con", "Mẹ", "Của con" khi nói chuyện không?' }, // Vận động thô (24m) { id: 7, dom: 'gm', t: 'Bé có thể tự bước xuống cầu thang khi một tay vịn vào lan can hoặc tường (hoặc nắm tay bạn) không?' }, { id: 8, dom: 'gm', t: 'Khi đứng trước quả bóng, bé có tự vung chân đá quả bóng lăn về phía trước mà không cần vịn tay vào đâu không?' }, { id: 9, dom: 'gm', t: 'Bé có thể tự bước lên và bước xuống ít nhất 2 bậc cầu thang một mình (có thể vịn tường/lan can, bước dồn 2 chân trên 1 bậc) không?' }, { id: 10, dom: 'gm', t: 'Bé có chạy khá vững vàng và biết tự dừng lại mà không bị đâm sầm vào đồ đạc hoặc ngã không?' }, { id: 11, dom: 'gm', t: 'Bé có biết bật nhảy tại chỗ sao cho cả hai bàn chân cùng nhấc rời khỏi mặt đất một lúc không?' }, { id: 12, dom: 'gm', t: 'Khi đứng ở bậc cầu thang cuối cùng, bé có thể nhảy bằng hai chân xuống mặt sàn nhà không?' }, // Vận động tinh (24m) { id: 13, dom: 'fm', t: 'Bé có tự dùng thìa xúc thức ăn đưa vào miệng ngay ngắn, không bị lật ngược chiếc thìa làm đổ thức ăn không?' }, { id: 14, dom: 'fm', t: 'Bé có tự lật từng trang sách một (mỗi lần chỉ lật 1 trang giấy) khi xem sách không?' }, { id: 15, dom: 'fm', t: 'Bé có biết xoay cổ tay để vặn mở nắp lọ nhỏ, xoay tay nắm cửa hoặc vặn dây cót đồ chơi không?' }, { id: 16, dom: 'fm', t: 'Bé có tự bật hoặc tắt công tắc đèn gắn trên tường được không?' }, { id: 17, dom: 'fm', t: 'Bé có xếp chồng được một tháp cao gồm 6 – 7 khối gỗ vuông nhỏ đứng vững không?' }, { id: 18, dom: 'fm', t: 'Bé có biết xâu được ít nhất 2 – 3 hạt gỗ lớn hoặc ống nhựa qua một sợi dây giày có đầu cứng không?' }, // Giải quyết vấn đề (24m) { id: 19, dom: 'psv', t: 'Sau khi nhìn bạn vẽ một đường thẳng từ trên xuống dưới trên giấy, bé có cầm bút bắt chước vẽ một đường thẳng tương tự không?' }, { id: 20, dom: 'psv', t: 'Khi muốn lấy một đồ vật ở trên bàn cao, bé có biết tự đi kéo một chiếc ghế nhỏ lại rồi trèo lên ghế để lấy đồ không?' }, { id: 21, dom: 'psv', t: 'Sau khi bạn xếp 4 khối gỗ nối tiếp nhau làm đoàn tàu, bé có bắt chước xếp 4 khối gỗ thành hàng ngang giống bạn không?' }, { id: 22, dom: 'psv', t: 'Nếu bạn đưa cho bé một chiếc lọ có nắp vặn lỏng bên trong đựng bánh, bé có biết tự xoay mở nắp lọ để lấy bánh ra không?' }, { id: 23, dom: 'psv', t: 'Bé có chơi đóng vai giả vờ bằng cách dùng vật này thay thế cho vật kia (như lấy cái bát đội lên đầu giả làm mũ, hoặc lấy khối gỗ giả làm ô tô) không?' }, { id: 24, dom: 'psv', t: 'Bé có biết tự cất đồ chơi vào đúng chỗ quen thuộc (như bỏ khối gỗ vào hộp, cất sách lên kệ) khi kết thúc giờ chơi không?' }, // Cá nhân - Xã hội (24m) { id: 25, dom: 'psc', t: 'Bé có tự cầm cốc một mình uống nước rồi đặt xuống bàn mà không làm đổ nước nữa không?' }, { id: 26, dom: 'psc', t: 'Bé có chơi giả vờ chăm sóc búp bê hoặc thú bông (như đút cho ăn, đắp chăn cho ngủ, đặt ngồi bô) không?' }, { id: 27, dom: 'psc', t: 'Bé có tự dùng dĩa/nĩa hoặc thìa để xiên/xúc thức ăn tự lập trong bữa ăn không?' }, { id: 28, dom: 'psc', t: 'Khi chơi gần các bạn nhỏ khác, bé có thích ngồi chơi những món đồ chơi giống như các bạn bên cạnh đang chơi không?' }, { id: 29, dom: 'psc', t: 'Bé có tự đẩy các loại đồ chơi có bánh xe lớn (như xe đẩy siêu thị đồ chơi, xe nôi búp bê) đi vòng quanh và biết bẻ lái tránh chướng ngại vật không?' }, { id: 30, dom: 'psc', t: 'Bé có biết gọi bạn là "Mẹ / Bố" hoặc xưng tên mình khi nhìn thấy ảnh chụp của hai mẹ con không?' } ] }, m36: { code: 'm36', label: '🧒 Mốc 36 Tháng (34 tháng 16 ngày – 38 tháng 30 ngày • 3 Tuổi)', cutoffs: { com: { cut: 30.99, mon: 41.50 }, gm: { cut: 36.99, mon: 46.20 }, fm: { cut: 18.07, mon: 31.80 }, psv: { cut: 30.29, mon: 40.80 }, psc: { cut: 35.33, mon: 43.90 } }, items: [ // Giao tiếp (36m) { id: 1, dom: 'com', t: 'Khi bạn hỏi, bé có chỉ đúng được ít nhất 7 bộ phận cơ thể (như đầu, tóc, mắt, mũi, miệng, tai, tay, bụng, chân, đầu gối) không?' }, { id: 2, dom: 'com', t: 'Bé có nói được các câu hoàn chỉnh gồm từ 3 đến 4 từ trở lên không?' }, { id: 3, dom: 'com', t: 'Nếu bạn yêu cầu, bé có đặt được một cuốn sách "LÊN TRÊN bàn", "XUỐNG DƯỚI ghế" hoặc "BÊN CẠNH hộp" đúng theo lời bạn nói không?' }, { id: 4, dom: 'com', t: 'Khi xem tranh một con vật/người đang chạy hoặc đang ăn và bạn hỏi "Ai đang làm gì đây?", bé có trả lời được cả tên và hành động (như "Con chó đang chạy") không?' }, { id: 5, dom: 'com', t: 'Khi bạn cầm một chiếc khóa kéo trên áo và hỏi "Con đang làm gì đây?", bé có dùng được các từ chỉ hành động đang diễn ra ("Con đang kéo khóa / mở áo") không?' }, { id: 6, dom: 'com', t: 'Khi bạn hỏi "Tên đầy đủ ( cả họ và tên) của con là gì?", bé có trả lời đúng họ và tên của mình không?' }, // Vận động thô (36m) { id: 7, dom: 'gm', t: 'Bé có đứng co một chân lên và giữ thăng bằng trên một chân còn lại được khoảng 1 – 2 giây mà không cần vịn vào đâu không?' }, { id: 8, dom: 'gm', t: 'Khi đứng yên, bé có biết vung tay từ trên cao qua đầu để ném quả bóng về phía trước được ít nhất 1.5 mét không?' }, { id: 9, dom: 'gm', t: 'Bé có thể chụm hai chân bật nhảy xa về phía trước được một khoảng ít nhất 15 – 20 cm không?' }, { id: 10, dom: 'gm', t: 'Bé có tự bước lên cầu thang bằng cách bước luân phiên từng chân (mỗi bậc cầu thang đặt 1 bàn chân như người lớn) không?' }, { id: 11, dom: 'gm', t: 'Bé có biết ngồi lên xe đạp 3 bánh và dùng hai bàn chân nhấn bàn đạp để xe lăn bánh tiến về phía trước không?' }, { id: 12, dom: 'gm', t: 'Bé có thể tự bước lên và xuống cầu thang vững vàng mà không cần vịn vào tường hay lan can không?' }, // Vận động tinh (36m) { id: 13, dom: 'fm', t: 'Sau khi nhìn bạn vẽ một đường thẳng ngang trên giấy, bé có cầm bút vẽ lại được một đường ngang tương tự không?' }, { id: 14, dom: 'fm', t: 'Bé có tự xâu được các hạt gỗ/nhựa vào một sợi dây nhỏ thành chuỗi vòng không?' }, { id: 15, dom: 'fm', t: 'Sau khi nhìn thấy bức vẽ hình tròn của bạn, bé có tự vẽ lại được một hình tròn khép kín trên giấy không?' }, { id: 16, dom: 'fm', t: 'Bé có biết cầm kéo trẻ em và nhấp kéo mở ra – khép lại để cắt vào mép tờ giấy không?' }, { id: 17, dom: 'fm', t: 'Khi vẽ, bé có cầm bút bằng ngón cái và các ngón tay (giống tư thế cầm bút của người lớn) thay vì nắm chặt cả nắm đấm không?' }, { id: 18, dom: 'fm', t: 'Sau khi nhìn bạn vẽ hình chữ thập (+), bé có cố gắng vẽ một đường dọc và một đường ngang cắt nhau tạo thành dấu cộng (+) không?' }, // Giải quyết vấn đề (36m) { id: 19, dom: 'psv', t: 'Khi bạn xếp mẫu 3 khối gỗ tạo thành hình "Cây cầu" (2 khối ở dưới cách nhau một khe nhỏ và 1 khối bắc ngang ở trên), bé có xếp lại được cây cầu giống bạn không?' }, { id: 20, dom: 'psv', t: 'Khi bạn vẽ một hình người chưa có chân và hỏi "Còn thiếu cái gì đây?", bé có nhận ra và nói đúng phần bị thiếu không?' }, { id: 21, dom: 'psv', t: 'Nếu bạn đọc chậm rãi 2 chữ số (ví dụ: "3 - 7" hoặc "5 - 2") và bảo bé nhắc lại, bé có đọc lại đúng theo thứ tự đó không?' }, { id: 22, dom: 'psv', t: 'Khi bạn chỉ vào hai vòng tròn (1 to, 1 nhỏ) và hỏi "Cái nào TO hơn?", bé có chỉ đúng không?' }, { id: 23, dom: 'psv', t: 'Bé có thích chơi hóa trang (như đội mũ của bố, đeo túi của mẹ) để đóng giả làm bố/mẹ/bác sĩ không?' }, { id: 24, dom: 'psv', t: 'Nếu bạn đọc chậm 3 chữ số (ví dụ: "4 - 7 - 2"), bé có nhắc lại được đúng cả 3 số theo thứ tự không?' }, // Cá nhân - Xã hội (36m) { id: 25, dom: 'psc', t: 'Bé có tự dùng thìa xúc ăn thành thạo mà hầu như không làm rơi vãi thức ăn ra ngoài nữa không?' }, { id: 26, dom: 'psc', t: 'Bé có tự mặc được áo khoác mở ngực hoặc áo sơ mi mà không cần bạn giúp xỏ tay áo không?' }, { id: 27, dom: 'psc', t: 'Khi bạn hỏi "Con là con trai hay con gái?", bé có trả lời đúng giới tính của mình không?' }, { id: 28, dom: 'psc', t: 'Bé có biết chờ đến lượt của mình khi tham gia trò chơi cùng người lớn hoặc các bạn khác không?' }, { id: 29, dom: 'psc', t: 'Bé có tự kéo quần dài/quần đùi xuống khi đi vệ sinh và tự kéo quần lên lại không?' }, { id: 30, dom: 'psc', t: 'Bé có kể được tên của ít nhất một người bạn thân cùng lớp hoặc hàng xóm không?' } ] }, m48: { code: 'm48', label: '🎒 Mốc 48 Tháng (45 – 50 tháng 30 ngày • 4 Tuổi)', cutoffs: { com: { cut: 30.72, mon: 42.10 }, gm: { cut: 32.78, mon: 43.60 }, fm: { cut: 15.81, mon: 30.60 }, psv: { cut: 31.30, mon: 42.50 }, psc: { cut: 26.60, mon: 39.20 } }, items: [ // Giao tiếp (48m) { id: 1, dom: 'com', t: 'Bé có kể được tên ít nhất 3 sự vật thuộc cùng một nhóm danh mục (ví dụ: "Kể cho mẹ nghe tên 3 con vật / 3 món đồ ăn") không?' }, { id: 2, dom: 'com', t: 'Khi bạn hỏi "Con dùng cái gì để mô tả con voi?", bé có dùng được ít nhất 2 từ chỉ đặc điểm (như "Con voi to, có cái vòi dài") không?' }, { id: 3, dom: 'com', t: 'Bé có sử dụng đúng các từ chỉ kết thúc ở quá khứ ("đã... rồi") và tương lai ("sẽ...") trong câu nói hàng ngày không?' }, { id: 4, dom: 'com', t: 'Bé có thực hiện đúng một chuỗi gồm 3 yêu cầu liên tiếp không liên quan nhau (như "Con vỗ tay, rồi đi ra cửa, rồi ngồi xuống") không?' }, { id: 5, dom: 'com', t: 'Bé có nói được các câu đầy đủ gồm tất cả các từ liên kết (như "Con muốn đi công viên VỚI bố BỞI VÌ...") không?' }, { id: 6, dom: 'com', t: 'Bé có trả lời hợp lý các câu hỏi tình huống "Con sẽ làm gì khi con bị đói / khi con bị mệt / khi con bị lạnh?" không?' }, // Vận động thô (48m) { id: 7, dom: 'gm', t: 'Khi bạn đứng cách bé khoảng 1.5 mét và ném một quả bóng lớn tới, bé có dùng hai bàn tay bắt gọn được quả bóng không?' }, { id: 8, dom: 'gm', t: 'Bé có tự leo lên các bậc thang của cầu trượt cao ở công viên và trượt xuống mà không cần giúp đỡ không?' }, { id: 9, dom: 'gm', t: 'Khi đang chạy, bé có thể bật nhảy lên cao về phía trước mà không bị giảm tốc độ hay ngã không?' }, { id: 10, dom: 'gm', t: 'Bé có biết nhảy lò cò trên một chân được ít nhất 2 – 3 bước liên tiếp không?' }, { id: 11, dom: 'gm', t: 'Bé có thể chụm hai chân bật nhảy xa về phía trước được ít nhất 50 cm không?' }, { id: 12, dom: 'gm', t: 'Bé có đứng thăng bằng vững vàng trên một chân trong ít nhất 5 giây mà không cần vịn tay không?' }, // Vận động tinh (48m) { id: 13, dom: 'fm', t: 'Bé có tự ghép hoàn chỉnh được các bộ xếp hình tranh (puzzle) gồm từ 5 đến 7 mảnh rời nhau không?' }, { id: 14, dom: 'fm', t: 'Bé có dùng kéo cắt đứt đôi một tờ giấy theo một đường kẻ thẳng từ đầu này sang đầu kia (lệch không quá 1 cm) không?' }, { id: 15, dom: 'fm', t: 'Khi nhìn mẫu, bé có vẽ sao chép lại được cả 3 hình: Hình tròn (○), Hình chữ thập (+) và Hình vuông (□) không?' }, { id: 16, dom: 'fm', t: 'Bé có tự mở và cài được ít nhất một chiếc cúc áo/khuy quần vừa tay không?' }, { id: 17, dom: 'fm', t: 'Bé có tự vẽ được hình một người có ít nhất 3 – 4 bộ phận cơ thể rõ ràng (đầu, mắt, thân/chân, tay) không?' }, { id: 18, dom: 'fm', t: 'Bé có tô màu vào bên trong một hình vẽ sẵn mà hầu như không bị lem ra ngoài đường viền không?' }, // Giải quyết vấn đề (48m) { id: 19, dom: 'psv', t: 'Khi bạn nói "Mẹ có một con mèo nhỏ, còn bạn Lan có một con mèo TO HƠN", bé có chỉ đúng vào bức tranh con mèo to hơn không?' }, { id: 20, dom: 'psv', t: 'Khi bạn đặt 5 đồ vật thành hàng trên bàn và hỏi "Có bao nhiêu cái đây?", bé có dùng tay chỉ đếm từng cái từ 1 đến 5 đúng số lượng không?' }, { id: 21, dom: 'psv', t: 'Khi bạn chỉ vào các đồ vật, bé có gọi đúng tên ít nhất 4 màu sắc khác nhau (Đỏ, Vàng, Xanh dương, Xanh lá...) không?' }, { id: 22, dom: 'psv', t: 'Bé có biết phân biệt và chỉ đúng đâu là "Cái nhỏ nhất" trong số 3 đồ vật có kích thước khác nhau không?' }, { id: 23, dom: 'psv', t: 'Bé có chơi đóng vai giả vờ theo kịch bản phức tạp cùng bạn bè (như chơi bán hàng, chơi khám bệnh) không?' }, { id: 24, dom: 'psv', t: 'Bé có tự đếm vẹt liên tục từ 1 đến 10 theo đúng thứ tự không?' }, // Cá nhân - Xã hội (48m) { id: 25, dom: 'psc', t: 'Bé có tự lấy kem và tự đánh răng cho mình mà chỉ cần người lớn kiểm tra nhẹ lại không?' }, { id: 26, dom: 'psc', t: 'Bé có tự phục vụ một món ăn nhẹ đơn giản (như tự rót nước từ bình nhỏ ra cốc hoặc tự lấy bánh/sữa chua ăn) không?' }, { id: 27, dom: 'psc', t: 'Bé có kể được tên của ít nhất 2 người bạn cùng chơi ở lớp hoặc hàng xóm không?' }, { id: 28, dom: 'psc', t: 'Bé có tự rửa tay và mặt bằng xà phòng rồi tự lấy khăn lau khô mà không cần giúp đỡ không?' }, { id: 29, dom: 'psc', t: 'Bé có tự mặc và tự cởi toàn bộ quần áo của mình (trừ việc buộc dây giày khó) không?' }, { id: 30, dom: 'psc', t: 'Khi được hỏi, bé có trả lời đúng được ít nhất 3 trong 4 thông tin cá nhân: Họ tên, Tuổi, Tên bố mẹ, Tên thành phố/quận nơi ở không?' } ] }, m60: { code: 'm60', label: '🎓 Mốc 60 Tháng (57 – 66 tháng • 5 Tuổi)', cutoffs: { com: { cut: 33.19, mon: 43.80 }, gm: { cut: 31.28, mon: 42.30 }, fm: { cut: 26.54, mon: 38.60 }, psv: { cut: 29.99, mon: 41.20 }, psc: { cut: 39.07, mon: 47.00 } }, items: [ // Giao tiếp (60m) { id: 1, dom: 'com', t: 'Bé có thực hiện đúng một chuỗi 3 mệnh lệnh hoàn toàn độc lập mà không cần bất kỳ cử chỉ gợi ý nào của bạn không?' }, { id: 2, dom: 'com', t: 'Bé có thường xuyên nói các câu hoàn chỉnh dài từ 4 đến 5 từ trở lên với đầy đủ ngữ pháp không?' }, { id: 3, dom: 'com', t: 'Khi kể lại một chuyện đã xảy ra ở lớp hôm qua, bé có dùng đúng các từ chỉ thời gian quá khứ không?' }, { id: 4, dom: 'com', t: 'Bé có sử dụng các từ so sánh như "Nặng hơn", "Mạnh hơn", "Dài hơn", "Nhanh hơn" trong câu nói hàng ngày không?' }, { id: 5, dom: 'com', t: 'Bé có trả lời đúng cả 2 câu hỏi suy luận: "Con làm gì khi khát nước?" và "Tại sao chúng ta phải mặc áo ấm khi trời lạnh?" không?' }, { id: 6, dom: 'com', t: 'Bé có thể lặp lại chính xác các câu dài 9 – 10 âm tiết mà không bỏ sót từ nào khi bạn đọc mẫu không?' }, // Vận động thô (60m) { id: 7, dom: 'gm', t: 'Khi đứng yên, bé có vung tay ném một quả bóng nhỏ đi xa được ít nhất 2 – 3 mét trúng hướng người đối diện không?' }, { id: 8, dom: 'gm', t: 'Bé có bắt gọn được một quả bóng lớn bằng hai bàn tay (mà không cần ôm ghì vào ngực) khi đứng cách bạn 2 mét không?' }, { id: 9, dom: 'gm', t: 'Bé có đứng thăng bằng vững vàng trên một chân trong ít nhất 5 – 8 giây mà không bị nghiêng ngả không?' }, { id: 10, dom: 'gm', t: 'Bé có bước đi nối gót (mũi bàn chân sau chạm sát vào gót bàn chân trước) trên một đường kẻ thẳng dài 4.5 mét không?' }, { id: 11, dom: 'gm', t: 'Bé có nhảy lò cò trên một chân tiến về phía trước được một đoạn dài từ 1.5 đến 2 mét không?' }, { id: 12, dom: 'gm', t: 'Bé có biết nhảy chân sáo (Skipping — bật nhảy luân phiên từng chân nhịp nhàng) không?' }, // Vận động tinh (60m) { id: 13, dom: 'fm', t: 'Bé có tự đồ theo một đường kẻ thẳng trên giấy bằng bút chì mà không bị lệch khỏi đường kẻ quá 2 lần không?' }, { id: 14, dom: 'fm', t: 'Bé có tự vẽ được hình một người có ít nhất 6 bộ phận cơ thể (đầu, thân, hai tay, hai chân, mắt, mũi, miệng) không?' }, { id: 15, dom: 'fm', t: 'Bé có dùng kéo cắt rời một tờ giấy theo đúng đường kẻ thẳng từ mép này sang mép kia mà không bị rách giấy không?' }, { id: 16, dom: 'fm', t: 'Khi nhìn mẫu, bé có tự vẽ sao chép lại được cả 3 hình học: Hình chữ thập (+), Hình vuông (□) và Hình tam giác (△) không?' }, { id: 17, dom: 'fm', t: 'Khi nhìn các chữ cái viết mẫu (như V, H, T, C, A), bé có tự cầm bút chép lại được các chữ cái đó ngay ngắn không?' }, { id: 18, dom: 'fm', t: 'Bé có tự viết được tên của chính mình (hoặc ít nhất 4 chữ cái đầu trong tên) mà không cần nhìn mẫu không?' }, // Giải quyết vấn đề (60m) { id: 19, dom: 'psv', t: 'Khi bạn chỉ vào 5 đồ vật khác kích cỡ và hỏi "Cái nào NHỎ NHẤT?", bé có chỉ đúng ngay không?' }, { id: 20, dom: 'psv', t: 'Khi bạn nói các câu khuyết từ trái nghĩa: "Ban ngày thì sáng, ban đêm thì [tối]", "Con rùa đi chậm, con thỏ chạy [nhanh]", bé có điền đúng từ không?' }, { id: 21, dom: 'psv', t: 'Bé có tự đếm trơn tru từ 1 đến 15 mà không bị nhầm hay bỏ sót số nào không?' }, { id: 22, dom: 'psv', t: 'Khi nhìn vào các thẻ chữ số từ 1 đến 10, bé có đọc đúng tên ít nhất 5 chữ số bất kỳ không?' }, { id: 23, dom: 'psv', t: 'Bé có gọi đúng tên của ít nhất 4 chữ cái trong bảng chữ cái khi bạn chỉ ngẫu nhiên không?' }, { id: 24, dom: 'psv', t: 'Khi xếp 4 đồ vật thành hàng ngang, bé có hiểu và chỉ đúng đâu là "Cái ĐẦU TIÊN", "Cái Ở GIỮA" và "Cái CUỐI CÙNG" không?' }, // Cá nhân - Xã hội (60m) { id: 25, dom: 'psc', t: 'Bé có tự dùng thìa và nĩa/dĩa ăn uống sạch sẽ, lịch sự như người lớn mà không làm vương vãi thức ăn không?' }, { id: 26, dom: 'psc', t: 'Bé có tự rửa tay và mặt bằng xà phòng rồi lau khô hoàn toàn độc lập trước khi ăn không?' }, { id: 27, dom: 'psc', t: 'Bé có trả lời đúng ít nhất 4 thông tin cá nhân: Họ và tên, Tuổi, Địa chỉ nhà/Phường xã, Số điện thoại bố mẹ hoặc Ngày sinh không?' }, { id: 28, dom: 'psc', t: 'Bé có tự mặc và tự cởi quần áo, tự cài cúc áo và kéo khóa quần mà không cần bất kỳ sự trợ giúp nào không?' }, { id: 29, dom: 'psc', t: 'Bé có tự đi vệ sinh hoàn toàn độc lập (tự vào nhà vệ sinh, tự lau chùi sạch sẽ, xả nước và rửa tay) không?' }, { id: 30, dom: 'psc', t: 'Bé có biết luân phiên chờ đến lượt, chia sẻ đồ chơi và tuân thủ luật chơi khi chơi nhóm cùng các bạn đồng trang lứa không?' } ] } }; // 6 Câu hỏi Tổng quát (Overall Red Flags - Phần cuối của mọi phiếu ASQ-3) const overallQuestions = [ { id: 'ov1', t: '1. Bạn có nghi ngờ bé gặp vấn đề về thính lực (nghe kém hoặc gọi tên không quay lại) không?' }, { id: 'ov2', t: '2. Bạn có nghĩ rằng cách bé nói chuyện hoặc phát âm chậm hơn rõ rệt so với các bé cùng tuổi không?' }, { id: 'ov3', t: '3. Bạn có lo lắng rằng bé không hiểu được phần lớn những gì bạn nói với bé không?' }, { id: 'ov4', t: '4. Bạn có nghĩ rằng cách bé đi đứng, chạy nhảy hoặc sử dụng đôi bàn tay bị cứng nhắc, vụng về hoặc lệch hai bên không?' }, { id: 'ov5', t: '5. Bạn có lo lắng về hành vi, giao tiếp ánh mắt hoặc cách bé tương tác xã hội với người xung quanh không?' }, { id: 'ov6', t: '6. Có điều gì khác về sức khỏe, giấc ngủ hoặc sự phát triển của bé khiến bạn cảm thấy bất an không?' } ]; let currentForm = 'm24'; // 'm6' | 'm12' | 'm18' | 'm24' | 'm36' | 'm48' | 'm60' let answersByForm = { m6: {}, m12: {}, m18: {}, m24: {}, m36: {}, m48: {}, m60: {} }; let overallConcerns = {}; // true = Có lo ngại, false = Không lo ngại let filterDom = 'all'; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .aq3-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .aq3-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .aq3-inner { padding: 24px; max-width: 980px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .aq3-wrap.is-fullscreen .aq3-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .aq3-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 0 rgba(37, 99, 235, 0.4); } 70% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 10px rgba(37, 99, 235, 0); } 100% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 0 rgba(37, 99, 235, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #1d4ed8 0%, #2563eb 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Header */ .aq3-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .aq3-header-text { flex: 1 1 260px; } .aq3-title { font-size: 21px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .aq3-desc { font-size: 14px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #eff6ff; color: #1d4ed8; border: 1px solid #bfdbfe; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #2563eb; color: #ffffff; border-color: #2563eb; } /* Bộ chọn Mốc Tháng Tuổi ASQ-3 */ .age-selector-box { background: #f1f5f9; padding: 12px; border-radius: 12px; margin-bottom: 16px; } .age-lbl { font-size: 12px; font-weight: 800; color: #0f172a; text-transform: uppercase; margin-bottom: 8px; display: block; } .age-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 6px; } .age-btn { padding: 8px 6px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 700; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .age-btn:hover { border-color: #2563eb; } .age-btn.active { background: #2563eb; border-color: #2563eb; color: #ffffff; box-shadow: 0 3px 10px rgba(37, 99, 235, 0.25); } /* Controls */ .aq3-presets { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; margin-bottom: 14px; } .aq3-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; touch-action: manipulation; } .aq3-pbtn:hover { background: #f1f5f9; } .aq3-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } .aq3-domain-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 16px; } .aq3-dtab { padding: 6px 12px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .aq3-dtab.active { background: #2563eb; color: #ffffff; border-color: #2563eb; } /* Sticky Dashboard: 5 Lĩnh vực ASQ-3 */ .aq3-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .aq3-wrap.is-fullscreen .aq3-dash { top: 58px; } .aq3-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .aq3-score-big { font-size: 20px; font-weight: 800; line-height: 1.2; } .aq3-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .aq3-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .aq3-pillars { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; font-size: 11.5px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .aq3-pillar-box { background: #1e293b; padding: 7px 9px; border-radius: 8px; border-left: 3px solid #475569; } .aq3-pillar-box.zone-white { border-left-color: #10b981; } .aq3-pillar-box.zone-gray { border-left-color: #f59e0b; background: rgba(245, 158, 11, 0.15); } .aq3-pillar-box.zone-black { border-left-color: #ef4444; background: rgba(239, 68, 68, 0.16); } .aq3-pillar-val { font-weight: 800; color: #ffffff; font-size: 13px; display: block; margin-top: 2px; } /* Danh sách 30 câu hỏi */ .aq3-item { border: 1px solid #e2e8f0; border-radius: 10px; padding: 14px 16px; margin-bottom: 10px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 8px; } .aq3-item.ans-10 { border-color: #a7f3d0; background: #f0fdf4; } .aq3-item.ans-5 { border-color: #fde68a; background: #fffbeb; } .aq3-item.ans-0 { border-color: #fca5a5; background: #fff5f5; } .aq3-item-title { font-size: 14.5px; font-weight: 600; color: #1e293b; } .aq3-tags { display: flex; flex-wrap: wrap; gap: 6px; } .aq3-tag { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .aq3-ans-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; } .aq3-abtn { padding: 8px 8px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 700; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .aq3-abtn:hover { border-color: #64748b; } .aq3-abtn.sel-10 { background: #10b981; border-color: #10b981; color: #ffffff; } .aq3-abtn.sel-5 { background: #f59e0b; border-color: #f59e0b; color: #ffffff; } .aq3-abtn.sel-0 { background: #ef4444; border-color: #ef4444; color: #ffffff; } /* Bảng Tóm tắt Thông tin ASQ-3 (Biểu đồ Vùng Đen - Vùng Xám - Vùng Trắng) */ .aq3-summary-card { margin-top: 20px; padding: 16px 18px; border-radius: 12px; background: #ffffff; border: 1px solid #e2e8f0; overflow-x: auto; } .aq3-sum-table { width: 100%; border-collapse: collapse; font-size: 13px; min-width: 620px; } .aq3-sum-table th, .aq3-sum-table td { border: 1px solid #cbd5e1; padding: 8px 10px; text-align: center; } .aq3-sum-table th { background: #f1f5f9; font-weight: 700; color: #0f172a; } .aq3-result-box { margin-top: 16px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #2563eb; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 740px) { .aq3-inner { padding: 14px; } .aq3-title { font-size: 18px; } .age-grid { grid-template-columns: repeat(3, 1fr); } .aq3-pillars { grid-template-columns: 1fr 1fr; } .aq3-ans-grid { grid-template-columns: 1fr; } .aq3-pbtn.reset { margin-left: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
Bộ Câu Hỏi Sàng Lọc Phát Triển Theo Độ Tuổi & Giai Đoạn ASQ-3 (5 Lĩnh Vực • 1 – 66 Tháng)
Công cụ sàng lọc chuẩn hóa của Đại học Oregon (Squires & Bricker, 2009) trên 5 lĩnh vực (mỗi lĩnh vực 6 câu = 60 điểm): Giao tiếp, Vận động Thô, Vận động Tinh, Giải quyết Vấn đề và Cá nhân – Xã hội. Hệ thống tự động đối chiếu điểm số của bé với Ngưỡng điểm cắt chuẩn (-2 SD) và Vùng giám sát (-1 SD đến -2 SD) của từng độ tuổi.
| Lĩnh vực Phát triển ASQ-3 | Điểm Cắt (-2 SD) | Vùng Giám Sát (-1 đến -2 SD) | Điểm Của Bé (0 – 60đ) | Phân Vùng Kết Quả Lâm Sàng |
|---|
• Bé có ${blackCount} lĩnh vực rơi xuống dưới điểm cắt chuẩn (-2 SD): ${blackNames.join(', ')} ${grayCount > 0 ? `(và ${grayCount} lĩnh vực trong Vùng giám sát: ${grayNames.join(', ')})` : ''}.
• Số cờ đỏ tổng quát (Overall Red Flags): ${redFlagCount}/6 mối lo ngại từ phụ huynh.
• Hướng xử trí chuẩn theo Bộ Y tế & Đại học Oregon:
1. Nếu điểm rơi vào Vùng Đen ở lĩnh vực Giao tiếp (${sums.com}/60đ) và/hoặc Cá nhân – Xã hội (${sums.psc}/60đ) (đặc biệt ở trẻ 16–30 tháng), bắt buộc phải thực hiện thêm bảng sàng lọc tự kỷ M-CHAT-R/F / STAT ngay lập tức.
2. Chuyển gửi trẻ khám chuyên khoa Nhi Phát triển / Tâm bệnh để đánh giá chẩn đoán xác định bằng Bayley-III / KSPD / PEP-3 / ADOS-2 và can thiệp sớm. `; } else if (grayCount > 0 || redFlagCount > 0) { badgeColor = '#f59e0b'; badgeTxt = `VÙNG GIÁM SÁT / CẦN THEO DÕI (${grayCount} Lĩnh vực Xám • ${redFlagCount} Cờ đỏ)`; analysis = ` Kết luận Sàng lọc ASQ-3 (${fCfg.label}) — VÙNG GIÁM SÁT (Monitoring Zone • Từ -1 SD đến -2 SD):
• Bé có ${grayCount} lĩnh vực nằm trong Vùng Xám (Giám sát): ${grayNames.join(', ') || 'Không có'} và ${redFlagCount} mối lo ngại ở phần Câu hỏi Tổng quát.
• Hướng xử trí chuẩn: Hướng dẫn phụ huynh thực hiện các hoạt động trò chơi kích thích phát triển tại nhà tập trung vào các câu đang đạt mức "Thỉnh thoảng (5đ)" hoặc "Chưa (0đ)", sau đó sàng lọc lại bằng ASQ-3 sau 1 đến 2 tháng. Nếu có cờ đỏ về ngôn ngữ/giao tiếp mắt, nên làm thêm M-CHAT-R/F ngay. `; } else { badgeColor = '#10b981'; badgeTxt = 'PHÁT TRIỂN ĐÚNG TIẾN ĐỘ (ON SCHEDULE)'; analysis = ` Kết luận Sàng lọc ASQ-3 (${fCfg.label}) — PHÁT TRIỂN ĐÚNG TIẾN ĐỘ (Tất cả 5/5 Lĩnh vực nằm ở Vùng Trắng):
• Điểm số của bé ở cả 5 lĩnh vực (Giao tiếp: ${sums.com}đ, Vận động Thô: ${sums.gm}đ, Vận động Tinh: ${sums.fm}đ, Giải quyết Vấn đề: ${sums.psv}đ, Cá nhân – Xã hội: ${sums.psc}đ) đều cao hơn ngưỡng giám sát chuẩn.
• Khuyến nghị: Tiếp tục duy trì các hoạt động vui chơi tương tác phong phú theo lứa tuổi và hẹn sàng lọc lại ở mốc tháng tuổi kế tiếp của ASQ-3. `; } scoreBadge.textContent = badgeTxt; scoreBadge.style.background = badgeColor; scoreBadge.style.color = '#ffffff'; resultBox.style.borderLeftColor = badgeColor; resultBox.innerHTML = analysis; updateFloatingFabVisibility(); } function applyPresetToForm(formKey, type) { const fCfg = ageForms[formKey]; const curAns = {}; overallConcerns = {}; if (type === 'reset') { fCfg.items.forEach(it => { curAns[it.id] = 0; }); } else if (type === 'typical') { // Đúng tiến độ (50 - 60 điểm mỗi lĩnh vực) fCfg.items.forEach((it, idx) => { curAns[it.id] = (idx % 6 === 5) ? 5 : 10; }); } else if (type === 'monitor') { // Vùng giám sát (35 điểm ở Giao tiếp & Giải quyết vấn đề) fCfg.items.forEach((it, idx) => { const pos = idx % 6; if (it.dom === 'com' || it.dom === 'psv') { curAns[it.id] = (pos < 2) ? 10 : ((pos < 5) ? 5 : 0); // 35đ } else { curAns[it.id] = (pos { const pos = idx % 6; if (it.dom === 'com') { curAns[it.id] = (pos === 0) ? 10 : ((pos === 1) ? 5 : 0); // 15đ (Vùng Đen) } else if (it.dom === 'psc') { curAns[it.id] = (pos <= 1) ? 10 : 0; // 20đ (Vùng Đen) } else if (it.dom === 'psv') { curAns[it.id] = (pos <= 2) ? 10 : ((pos === 3) ? 5 : 0); // 35đ (Vùng Xám) } else { curAns[it.id] = (pos < 5) ? 10 : 0; // 50đ (Vùng Trắng) } }); overallConcerns['ov2'] = true; overallConcerns['ov5'] = true; } answersByForm[formKey] = curAns; } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); aq3Wrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { aq3Wrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 980px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } shadow.querySelectorAll('#ageGrid .age-btn').forEach(function(btn) { btn.onclick = function() { currentForm = this.getAttribute('data-form'); shadow.querySelectorAll('#ageGrid .age-btn').forEach(b => b.classList.remove('active')); this.classList.add('active'); renderItems(); updateSummary(); }; }); shadow.querySelectorAll('.aq3-pbtn').forEach(function(btn) { btn.onclick = function() { const pType = this.getAttribute('data-preset'); applyPresetToForm(currentForm, pType); renderItems(); updateSummary(); }; }); shadow.querySelectorAll('#domainTabs .aq3-dtab').forEach(function(tab) { tab.onclick = function() { filterDom = this.getAttribute('data-dom'); shadow.querySelectorAll('#domainTabs .aq3-dtab').forEach(t => t.classList.remove('active')); this.classList.add('active'); renderItems(); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); // Khởi tạo sẵn dữ liệu mẫu cho cả 7 mốc tuổi để chuyển tab xem được ngay ['m6', 'm12', 'm18', 'm24', 'm36', 'm48', 'm60'].forEach(fKey => { applyPresetToForm(fKey, 'asd_delay'); }); renderItems(); updateSummary(); })();
ASQ-3 (Ages & Stages Questionnaires, Third Edition — Bộ Câu hỏi Sàng lọc Phát triển Theo Độ tuổi và Giai đoạn, Phiên bản 3) là công cụ sàng lọc phát triển sớm do phụ huynh tự thực hiện phổ biến nhất thế giới hiện nay (và được Bộ Y tế Việt Nam cũng như Tổ chức Y tế Thế giới WHO khuyến nghị sử dụng rộng rãi). Công cụ do Giáo sư Jane Squiresvà Diane Bricker tại Đại học Oregon (Hoa Kỳ) phát triển (xuất bản bản thứ 3 năm 2009 bởi Brookes Publishing).
Nếu như Denver II hay Bayley-III đòi hỏi chuyên gia trực tiếp thực hiện tại phòng khám, thì ASQ-3 tận dụng chính nguồn dữ liệu quý giá nhất là sự quan sát hàng ngày của cha mẹ tại nhà để phát hiện sớm nguy cơ chậm phát triển trên cả 5 lĩnh vực chỉ trong 10 – 15 phút.
1. Tóm tắt cốt lõi về cấu trúc & Hệ thống tính điểm của ASQ-3
-
Độ tuổi áp dụng: Trẻ từ 1 tháng đến 66 tháng tuổi (5.5 tuổi), được chia thành 21 bộ câu hỏi theo từng mốc tháng tuổi (2, 4, 6, 8, 9, 10, 12, 14, 16, 18, 20, 22, 24, 27, 30, 33, 36, 42, 48, 54 và 60 tháng).
-
Cấu trúc 5 Lĩnh vực Phát triển (30 câu hỏi / mỗi độ tuổi): Mỗi bộ câu hỏi ở từng mốc tuổi đều bao gồm đúng 30 câu hỏi chia đều cho 5 lĩnh vực (mỗi lĩnh vực 6 câu), cộng thêm phần Câu hỏi Tổng quát (Overall — không tính điểm nhưng dùng để cảnh báo các dấu hiệu đỏ lâm sàng):
| Lĩnh vực đánh giá (Domain) | Số câu hỏi | Nội dung đánh giá trọng tâm | Điểm tối đa |
| 1. Giao tiếp(Communication) | 6 câu | Bập bẹ, quay đầu khi gọi tên, chỉ trỏ, hiểu mệnh lệnh, vốn từ đơn, nói cụm từ/câu và trả lời câu hỏi. | 60 điểm |
| 2. Vận động Thô(Gross Motor) | 6 câu | Kiểm soát đầu cổ, lẫy, ngồi, bò, đứng, đi, chạy, leo cầu thang, nhảy tại chỗ, đứng 1 chân, bắt/đá bóng. | 60 điểm |
| 3. Vận động Tinh(Fine Motor) | 6 câu | Phối hợp tay – mắt, cầm nắm hạt nhỏ (kẹp chì), lật trang sách, xếp khối gỗ, xâu hạt, cầm bút vẽ hình và cắt kéo. | 60 điểm |
| 4. Giải quyết Vấn đề(Problem Solving) | 6 câu | Tư duy nhận thức sớm: tìm đồ chơi bị giấu, nhìn trong gương, thả hình vào khuôn, chơi giả vờ, phân loại và đếm số. | 60 điểm |
| 5. Cá nhân – Xã hội(Personal-Social) | 6 câu | Giao tiếp mắt, mỉm cười, tự uống cốc/xúc thìa, tự cởi/mặc quần áo, rửa tay, đi vệ sinh và chơi luân phiên với bạn. | 60 điểm |
2. Quy tắc Chấm điểm (10 – 5 – 0) & Phân vùng Theo Độ lệch chuẩn (SD)
-
Thang điểm cho từng câu hỏi:
-
CÓ(Yes = 10 điểm): Trẻ đã thực hiện được kỹ năng đó thường xuyên, thành thạo. -
THỈNH THOẢNG(Sometimes = 5 điểm): Trẻ mới bắt đầu làm được đôi lúc hoặc mới chớm hình thành. -
CHƯA(Not Yet = 0 điểm): Trẻ chưa từng thực hiện được kỹ năng đó.
-
-
Tổng điểm mỗi lĩnh vực: Từ 0 đến 60 điểm (Mỗi lĩnh vực có 6 câu ×10 điểm=60 điểm).
-
3 Vùng Phân loại Chuẩn của ASQ-3 (Đối chiếu theo Điểm cắt – Cut-off Score tại từng độ tuổi):
-
🟢 Vùng Trắng — Phát triển Đúng tiến độ (Above Cut-off / On Schedule — Trên mốc ):Điểm số cao hơn ngưỡng giám sát. Trẻ phát triển bình thường theo tuổi.
-
🟡 Vùng Xám — Vùng Giám sát / Cần theo dõi (Monitoring Zone — Từ đến ): Điểm nằm sát ngưỡng cắt. Cần cung cấp các bài tập kích thích phát triển tại nhà và sàng lọc lại sau 1–2 tháng.
-
🔴 Vùng Đen — Dưới Điểm cắt / Nguy cơ Chậm phát triển (Below Cut-off — Dưới ):Điểm số rơi xuống dưới ngưỡng cắt chuẩn (chỉ gặp ở ~2.3% dân số). Cần chuyển gửi khám chuyên khoa ngay (kết hợp sàng lọc tự kỷ M-CHAT-R/F nếu rơi vào lĩnh vực Giao tiếp & Cá nhân – Xã hội, hoặc đánh giá chuyên sâu bằng Bayley-III / KSPD / PEP-3).
-
[Phát triển chung] PEDS: Thang sàng lọc tình trạng phát triển của trẻ từ 0 – 8 tuổi do cha mẹ thực hiện
(function() { const host = document.getElementById('peds-wp-host'); if (!host) return; const placeholder = document.createComment('peds-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // 10 Câu hỏi chuẩn của PEDS (Frances Page Glascoe) kèm quy tắc tuổi để tính là Predictive Concern (Mối lo ngại Dự báo cao) // minPredAge: Tháng tuổi tối thiểu mà nếu có lo ngại ở câu đó sẽ được tính là Predictive (0 = Mọi lứa tuổi đều là Predictive; 999 = Luôn là Non-predictive) const pedsQuestions = [ { id: 1, code: 'GLO', domain: '1. Nhận thức chung & Phát triển Tổng thể (Global / Cognitive)', minPredAge: 0, // Mọi lứa tuổi đều là Predictive q: 'Câu 1. Anh/chị có lo lắng rằng con chậm hiểu, nhận thức chậm hơn các bạn cùng tuổi hoặc có điều gì bất thường chung về sự phát triển của con không?', examples: 'Các dấu hiệu thường gặp: Trẻ chậm chạp trong việc học kỹ năng mới, có vẻ ngây ngô hơn tuổi, mất các kỹ năng từng làm được hoặc chậm toàn diện.' }, { id: 2, code: 'EL', domain: '2. Ngôn ngữ Diễn đạt & Phát âm (Expressive Language & Articulation)', minPredAge: 0, // Mọi lứa tuổi đều là Predictive q: 'Câu 2. Anh/chị có bất kỳ lo lắng nào về cách con nói chuyện và phát âm không?', examples: 'Các dấu hiệu thường gặp: Chậm bập bẹ, chậm nói từ đơn/cụm từ, vốn từ ít, chỉ kéo tay người lớn thay vì nói, nhại lời máy móc hoặc phát âm rất khó nghe.' }, { id: 3, code: 'RL', domain: '3. Ngôn ngữ Tiếp nhận / Nghe hiểu (Receptive Language)', minPredAge: 18, // Từ 18 tháng trở lên tính là Predictive q: 'Câu 3. Anh/chị có bất kỳ lo lắng nào về việc con hiểu những gì anh/chị nói với con không?', examples: 'Các dấu hiệu thường gặp: Gọi tên nhiều lần không quay lại, không hiểu các yêu cầu đơn giản khi không có cử chỉ chỉ tay, hoặc trả lời lạc đề.' }, { id: 4, code: 'FM', domain: '4. Sử dụng bàn tay và ngón tay - Vận động Tinh (Fine Motor)', minPredAge: 54, // Từ 4.5 tuổi (54 tháng) trở lên tính là Predictive q: 'Câu 4. Anh/chị có bất kỳ lo lắng nào về cách con sử dụng đôi bàn tay và các ngón tay để làm các việc nhỏ không?', examples: 'Các dấu hiệu thường gặp: Khó cầm nắm đồ vật nhỏ, rơi đổ thức ăn nhiều khi xúc thìa, lóng ngóng khi xếp hình, cầm bút vẽ hoặc dùng kéo.' }, { id: 5, code: 'GM', domain: '5. Sử dụng tay chân vận động - Vận động Thô (Gross Motor)', minPredAge: 36, // Từ 3 tuổi (36 tháng) trở lên tính là Predictive q: 'Câu 5. Anh/chị có bất kỳ lo lắng nào về cách con sử dụng tay và chân để lẫy, bò, đi, chạy hoặc leo trèo không?', examples: 'Các dấu hiệu thường gặp: Chậm biết ngồi/đi, dáng đi loạng choạng dễ vấp ngã, đi nhón gót liên tục, hoặc khó khăn khi leo cầu thang, chạy nhảy.' }, { id: 6, code: 'BEH', domain: '6. Hành vi ứng xử & Tự điều chỉnh (Behavior)', minPredAge: 999, // Phân vào Non-predictive (Định tuyến sang Path C nếu không có Predictive) q: 'Câu 6. Anh/chị có bất kỳ lo lắng nào về hành vi ứng xử của con không?', examples: 'Các dấu hiệu thường gặp: Hay ăn vạ khóc thét kéo dài, tăng động chạy nhảy không ngừng, bướng bỉnh chống đối, hoặc có cử động lặp lại (vẫy tay, xoay đồ vật).' }, { id: 7, code: 'SE', domain: '7. Quan hệ xã hội & Cảm xúc (Social-Emotional)', minPredAge: 999, // Phân vào Non-predictive / Cảnh báo Tự kỷ & Cảm xúc q: 'Câu 7. Anh/chị có bất kỳ lo lắng nào về việc con hòa đồng với những người khác (giao tiếp mắt, kết bạn, chia sẻ cảm xúc) không?', examples: 'Các dấu hiệu thường gặp: Ít nhìn mắt, thích chơi một mình tách biệt, không biết khoe đồ chơi (chú ý chung), quá nhút nhát hoặc dễ lo âu căng thẳng.' }, { id: 8, code: 'SH', domain: '8. Kỹ năng Tự phục vụ cá nhân (Self-Help)', minPredAge: 999, // Phân vào Non-predictive q: 'Câu 8. Anh/chị có bất kỳ lo lắng nào về việc con học cách tự làm mọi việc cho bản thân (ăn uống, mặc đồ, đi vệ sinh) không?', examples: 'Các dấu hiệu thường gặp: Chưa tự cầm cốc/xúc ăn theo tuổi, chưa biết phối hợp mặc quần áo, rửa tay hoặc chậm kiểm soát việc đi vệ sinh.' }, { id: 9, code: 'SCH', domain: '9. Kỹ năng Tiền học đường & Học tập ở trường (School / Pre-academic)', minPredAge: 54, // Từ 4.5 tuổi (54 tháng) trở lên tính là Predictive q: 'Câu 9. Anh/chị có bất kỳ lo lắng nào về việc con học các khái niệm ở lớp mầm non hoặc kỹ năng học tập ở trường không?', examples: 'Các dấu hiệu thường gặp: Khó nhớ màu sắc, hình khối, con số, chữ cái; khó ngồi yên chú ý nghe cô giáo giảng hoặc chậm tiếp thu bài trên lớp.' }, { id: 10, code: 'MED', domain: '10. Thính lực, Thị lực, Sức khỏe & Y khoa (Medical / Sensory / Health)', minPredAge: 0, // Mọi lo ngại về thính lực/thị lực/sức khỏe thần kinh đều cần lưu ý đặc biệt q: 'Câu 10. Anh/chị có lo lắng gì về thính lực (nghe), thị lực (nhìn), giấc ngủ, việc ăn uống hoặc sức khỏe thể chất của con không?', examples: 'Các dấu hiệu thường gặp: Nghi ngờ nghe kém, nhạy cảm tiếng ồn (bịt tai), nhìn nghiêng/lác mắt, kén ăn cực đoan, rối loạn giấc ngủ hoặc co giật.' } ]; // Các mốc kỹ năng kiểm tra nhanh PEDS:DM (Developmental Milestones) theo từng nhóm tuổi để bổ trợ quyết định ở Path B / Path C const pedsDmByAge = { '6': 'Mốc PEDS:DM 6 tháng: Biết lẫy 2 chiều, chống tay nâng ngực cao, với tay nắm đồ chơi, quay đầu tìm tiếng gọi và cười thành tiếng.', '12': 'Mốc PEDS:DM 12 tháng: Đứng vịn/chập chững đi, nhặt vật nhỏ bằng ngón cái-trỏ, biết chỉ tay xin đồ, vẫy tay chào và nói 1–3 từ đơn.', '18': 'Mốc PEDS:DM 18 tháng: Đi vững, tự xúc thìa, xếp tháp 3 khối gỗ, chỉ đúng bộ phận cơ thể, nói ≥ 8–10 từ đơn và biết khoe đồ vật (chú ý chung).', '24': 'Mốc PEDS:DM 24 tháng (2 tuổi): Đá bóng, chạy vững, nói câu ngắn 2–3 từ, chỉ đúng tranh đồ vật khi gọi tên và biết chơi giả vờ chăm sóc búp bê.', '36': 'Mốc PEDS:DM 36 tháng (3 tuổi): Bước lên cầu thang luân phiên, vẽ hình tròn, nói câu 3–4 từ rõ ràng, trả lời được họ tên/giới tính và chơi cùng bạn.', '48': 'Mốc PEDS:DM 48 tháng (4 tuổi): Nhảy lò cò 1 chân, cắt giấy bằng kéo, vẽ hình chữ thập/hình vuông, kể lại chuyện ngắn và tự mặc quần áo.', '60': 'Mốc PEDS:DM 60 tháng (5 tuổi): Đứng 1 chân > 5 giây, viết được một số chữ cái/con số, đếm đến 10–15, hiểu từ trái nghĩa và tuân thủ luật chơi nhóm.', '72': 'Mốc PEDS:DM 72–95 tháng (6–8 tuổi): Đọc đánh vần từ/câu ngắn, cộng trừ phạm vi 10, viết chữ ngay ngắn, tự lập hoàn toàn sinh hoạt và kết bạn tốt.' }; // answers[id] lưu: 'NO' (Không lo ngại = 0), 'LITTLE' (Lo ngại một chút = 1), 'YES' (Có lo ngại rõ rệt = 2) let answers = {}; let childAgeMonths = 24; let hasCommBarrier = false; // Path D: Rào cản giao tiếp với người trả lời let dmPassStatus = 'pass'; // 'pass' (Đạt mốc PEDS:DM) | 'fail' (Chưa đạt mốc PEDS:DM) let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .pd-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .pd-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .pd-inner { padding: 24px; max-width: 980px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .pd-wrap.is-fullscreen .pd-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .pd-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(124, 58, 237, 0.45), 0 0 0 0 rgba(124, 58, 237, 0.4); } 70% { box-shadow: 0 6px 20px rgba(124, 58, 237, 0.45), 0 0 0 10px rgba(124, 58, 237, 0); } 100% { box-shadow: 0 6px 20px rgba(124, 58, 237, 0.45), 0 0 0 0 rgba(124, 58, 237, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #6d28d9 0%, #7c3aed 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(124, 58, 237, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Header */ .pd-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .pd-header-text { flex: 1 1 260px; } .pd-title { font-size: 21px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .pd-desc { font-size: 14px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #f5f3ff; color: #6d28d9; border: 1px solid #ddd6fe; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #7c3aed; color: #ffffff; border-color: #7c3aed; } /* Top Panel: Chọn Tuổi & PEDS:DM */ .pd-top-panel { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; background: #f8fafc; border: 1px solid #cbd5e1; border-radius: 12px; padding: 14px; margin-bottom: 14px; } .pd-lbl { font-size: 12px; font-weight: 800; color: #0f172a; text-transform: uppercase; display: block; margin-bottom: 5px; } .pd-select { width: 100%; padding: 8px 10px; border: 1px solid #94a3b8; border-radius: 7px; font-size: 13.5px; font-weight: 700; color: #0f172a; background: #ffffff; } .pd-dm-banner { grid-column: 1 / -1; background: #ffffff; border: 1px dashed #c4b5fd; border-left: 4px solid #7c3aed; padding: 10px 12px; border-radius: 8px; font-size: 13px; color: #334155; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 10px; } /* Presets */ .pd-presets { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; margin-bottom: 16px; } .pd-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; touch-action: manipulation; } .pd-pbtn:hover { background: #f1f5f9; } .pd-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } /* Sticky Dashboard */ .pd-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .pd-wrap.is-fullscreen .pd-dash { top: 58px; } .pd-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .pd-score-big { font-size: 21px; font-weight: 800; line-height: 1.2; } .pd-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .pd-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .pd-pillars { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; font-size: 12px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .pd-pillar-box { background: #1e293b; padding: 8px 10px; border-radius: 8px; border-left: 3px solid #475569; } .pd-pillar-val { font-weight: 800; color: #ffffff; font-size: 13.5px; display: block; margin-top: 2px; } /* Danh sách 10 câu hỏi PEDS */ .pd-item { border: 1px solid #e2e8f0; border-radius: 12px; padding: 14px 16px; margin-bottom: 12px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 8px; } .pd-item.pred-concern { border-color: #fca5a5; background: #fff5f5; border-left: 5px solid #ef4444; } .pd-item.nonpred-concern { border-color: #fde68a; background: #fffbeb; border-left: 5px solid #f59e0b; } .pd-item.no-concern { border-color: #a7f3d0; background: #f0fdf4; } .pd-item-title { font-size: 15px; font-weight: 800; color: #0f172a; } .pd-item-ex { font-size: 13px; color: #475569; background: rgba(15, 23, 42, 0.03); padding: 6px 10px; border-radius: 6px; } .pd-tags { display: flex; flex-wrap: wrap; gap: 6px; } .pd-tag { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .pd-tag.tag-pred { background: #fee2e2; color: #b91c1c; } .pd-tag.tag-non { background: #fef3c7; color: #b45309; } .pd-ans-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 2px; } .pd-abtn { padding: 8px 8px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 700; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .pd-abtn:hover { border-color: #64748b; } .pd-abtn.sel-NO { background: #10b981; border-color: #10b981; color: #ffffff; } .pd-abtn.sel-LITTLE { background: #f59e0b; border-color: #f59e0b; color: #ffffff; } .pd-abtn.sel-YES { background: #ef4444; border-color: #ef4444; color: #ffffff; } /* Bảng 5 Lộ trình Xử trí Lâm sàng PEDS (Paths A - E) */ .pd-paths-card { margin-top: 20px; padding: 16px 18px; border-radius: 12px; background: #ffffff; border: 1px solid #e2e8f0; overflow-x: auto; } .pd-table { width: 100%; border-collapse: collapse; font-size: 13px; min-width: 640px; } .pd-table th, .pd-table td { border: 1px solid #cbd5e1; padding: 9px 12px; text-align: left; } .pd-table th { background: #f1f5f9; font-weight: 800; color: #0f172a; } .pd-table tr.active-path { background: #fef3c7; border: 2px solid #d97706; } .pd-result-box { margin-top: 16px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #7c3aed; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 740px) { .pd-inner { padding: 14px; } .pd-title { font-size: 18px; } .pd-top-panel { grid-template-columns: 1fr; } .pd-pillars { grid-template-columns: 1fr 1fr; } .pd-ans-grid { grid-template-columns: 1fr; } .pd-pbtn.reset { margin-left: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
Thang Đánh Giá Tình Trạng Phát Triển Của Trẻ Do Cha Mẹ Thực Hiện PEDS & PEDS:DM (0 – 8 Tuổi)
Công cụ sàng lọc chuẩn hóa của Giáo sư Frances Page Glascoe phân tích 10 nhóm mối lo ngại của phụ huynh theo độ tuổi để tách biệt giữa Mối lo ngại Dự báo Nguy cơ Cao (Predictive Concerns) và Mối lo ngại Ít dự báo (Non-predictive Concerns), từ đó định tuyến tự động vào 5 Lộ trình Xử trí Lâm sàng (Path A, B, C, D, E).
| Lộ trình PEDS | Tiêu chuẩn Phân luồng | Hướng xử trí Lâm sàng Chuẩn theo Viện Hàn lâm Nhi khoa Hoa Kỳ (AAP) |
|---|---|---|
| 🔴 Lộ trình A (Path A) Nguy cơ Cao (High Risk) |
Có ≥ 2 mối lo ngại Dự báo cao (Predictive Concerns) | Chuyển gửi đánh giá chuyên sâu ngay lập tức: Phối hợp khám Chuyên khoa Nhi Phát triển, Ngôn ngữ trị liệu, Tâm lý lâm sàng (làm thêm M-CHAT-R/F hoặc ADOS-2 nếu có lo ngại giao tiếp/xã hội; làm Bayley-III / KSPD / PEP-3 để lập kế hoạch can thiệp sớm). |
| 🟠 Lộ trình B (Path B) Nguy cơ Trung bình |
Có đúng 1 mối lo ngại Dự báo cao (1 Predictive Concern) | Thực hiện Sàng lọc Thứ cấp (Second-stage Screening): Kiểm tra ngay các mốc kỹ năng PEDS:DM hoặc cho làm thêm ASQ-3 / M-CHAT-R/F. Nếu trẻ Không đạt sàng lọc thứ cấp → Chuyển gửi can thiệp như Path A. Nếu Đạt → Hướng dẫn kích thích tại nhà và hẹn theo dõi sát. |
| 🟡 Lộ trình C (Path C) Nguy cơ Hành vi / Cảm xúc |
0 lo ngại Dự báo, nhưng có ≥ 1 lo ngại Không dự báo (Hành vi, Cảm xúc, Tự phục vụ...) | Sàng lọc Hành vi – Cảm xúc & Tư vấn Phụ huynh: Ở trẻ 16–30 tháng cần sàng lọc tự kỷ bằng M-CHAT-R/F; ở trẻ lớn hơn sàng lọc hành vi bằng PSC / Vanderbilt. Tư vấn chiến lược quản lý hành vi tích cực cho cha mẹ và theo dõi lại sau 4–6 tuần. |
| 🟣 Lộ trình D (Path D) Rào cản Giao tiếp |
Cha mẹ khó giao tiếp hoặc người đi cùng không nắm rõ tình trạng trẻ | Đánh giá Trực tiếp trên Trẻ: Không thể dựa vào bảng hỏi PEDS đơn thuần; cần sử dụng công cụ kiểm tra trực tiếp kỹ năng của trẻ tại phòng khám (như PEDS:DM, Denver II, KSPD hoặc STAT). |
| 🟢 Lộ trình E (Path E) Nguy cơ Thấp (Low Risk) |
Không có mối lo ngại nào (0 Predictive & 0 Non-predictive) | Theo dõi Định kỳ Thường quy: Trấn an phụ huynh, khen ngợi sự phát triển tốt của trẻ (nếu trẻ đồng thời đạt mốc PEDS:DM) và hẹn sàng lọc lại ở lần khám sức khỏe định kỳ kế tiếp. |
• Khi người đi cùng không trực tiếp chăm sóc trẻ hoặc gặp khó khăn khi diễn đạt mối lo ngại, PEDS quy định chuyển sang Path D.
• Hướng xử trí: Thực hiện đánh giá trực tiếp trên trẻ bằng PEDS:DM, Denver II hoặc KSPD / Bayley-III. `; } else if (predCount >= 2) { activePath = 'A'; rowPathA.className = 'active-path'; badgeColor = '#dc2626'; badgeTxt = `PATH A • NGUY CƠ CAO (${predCount} Lo ngại Dự báo)`; valPath.textContent = 'Path A (Chuyển gửi ngay)'; dashHeadline.textContent = `Lộ Trình Quyết Định PEDS: Path A — Nguy Cơ Cao (${predCount} Mối lo ngại Dự báo)`; analysis = ` Kết luận PEDS tại mốc ${childAgeMonths} tháng — LỘ TRÌNH A (Path A • Nguy cơ Chậm phát triển / Rối loạn Phổ Tự kỷ CAO):
• Ghi nhận ${predCount} mối lo ngại Dự báo cao (Predictive Concerns): ${predList.join(', ')} ${nonPredCount > 0 ? `kèm theo ${nonPredCount} mối lo ngại khác (${nonPredList.join(', ')})` : ''}.
• Hướng xử trí chuẩn theo PEDS:
1. Chuyển gửi đánh giá chuyên sâu ngay lập tức (Can thiệp sớm, Ngôn ngữ trị liệu, Tâm lý – Giáo dục đặc biệt).
2. Nếu có kèm lo ngại ở Câu 2 (Ngôn ngữ diễn đạt), Câu 3 (Nghe hiểu) hoặc Câu 7 (Quan hệ xã hội), cần thực hiện ngay sàng lọc tự kỷ chuyên biệt (M-CHAT-R/F, STAT, SCQ) và đánh giá chẩn đoán bằng ADOS-2 / CARS-2 / DSM-5-TR. `; } else if (predCount === 1) { activePath = 'B'; rowPathB.className = 'active-path'; badgeColor = '#ea580c'; badgeTxt = 'PATH B • NGUY CƠ TRUNG BÌNH (1 Lo ngại Dự báo)'; valPath.textContent = 'Path B (Sàng lọc thứ cấp)'; dashHeadline.textContent = 'Lộ Trình Quyết Định PEDS: Path B — Cần Sàng Lọc Thứ Cấp (ASQ-3 / PEDS:DM)'; analysis = ` Kết luận PEDS tại mốc ${childAgeMonths} tháng — LỘ TRÌNH B (Path B • Nguy cơ Trung bình – Cao):
• Ghi nhận đúng 1 mối lo ngại Dự báo cao (Predictive Concern) tại: ${predList.join(', ')} ${nonPredCount > 0 ? `(và ${nonPredCount} mối lo ngại ít dự báo: ${nonPredList.join(', ')})` : ''}.
• Kết hợp kết quả Mốc kỹ năng PEDS:DM hiện tại (${dmPassStatus === 'pass' ? 'Trẻ ĐẠT mốc PEDS:DM' : 'Trẻ CHƯA ĐẠT mốc PEDS:DM'}):
${dmPassStatus === 'fail' ? '👉 Vì trẻ CHƯA ĐẠT mốc kỹ năng PEDS:DM kèm 1 mối lo ngại dự báo, trẻ cần được chuyển gửi đánh giá chuyên sâu ngay như Path A (làm thêm ASQ-3 / M-CHAT-R/F / KSPD).' : '👉 Trẻ hiện đạt mốc PEDS:DM cơ bản, khuyến nghị thực hiện thêm bảng ASQ-3 (hoặc M-CHAT-R/F nếu trẻ 16–30 tháng), hướng dẫn cha mẹ kích thích phát triển tại nhà và hẹn tái khám sau 4–6 tuần.'} `; } else if (nonPredCount >= 1) { activePath = 'C'; rowPathC.className = 'active-path'; badgeColor = '#d97706'; badgeTxt = `PATH C • LƯU Ý HÀNH VI / XÃ HỘI (${nonPredCount} mục)`; valPath.textContent = 'Path C (Tư vấn & Sàng lọc HV)'; dashHeadline.textContent = 'Lộ Trình Quyết Định PEDS: Path C — Lưu Ý Hành Vi, Cảm Xúc & Xã Hội'; analysis = ` Kết luận PEDS tại mốc ${childAgeMonths} tháng — LỘ TRÌNH C (Path C • Nguy cơ về Hành vi / Cảm xúc – Xã hội):
• Không có mối lo ngại dự báo chậm phát triển trí tuệ/ngôn ngữ, nhưng phụ huynh có ${nonPredCount} mối lo ngại ở nhóm Không dự báo: ${nonPredList.join(', ')}.
• Hướng xử trí chuẩn: Tư vấn chiến lược hướng dẫn hành vi tích cực cho phụ huynh. Nếu phụ huynh lo lắng về Giao tiếp xã hội (Câu 7) hoặc Hành vi (Câu 6), cần làm thêm sàng lọc tự kỷ (M-CHAT-R/F / CAST / ASSQ) hoặc sàng lọc ADHD (Vanderbilt) để không bỏ sót tự kỷ chức năng cao. `; } else { activePath = 'E'; rowPathE.className = 'active-path'; badgeColor = (dmPassStatus === 'pass') ? '#10b981' : '#f59e0b'; badgeTxt = (dmPassStatus === 'pass') ? 'PATH E • NGUY CƠ THẤP (BÌNH THƯỜNG)' : 'PATH E (NHƯNG CHƯA ĐẠT PEDS:DM)'; valPath.textContent = 'Path E (Theo dõi định kỳ)'; dashHeadline.textContent = 'Lộ Trình Quyết Định PEDS: Path E — Nguy Cơ Thấp (Không có mối lo ngại)'; analysis = ` Kết luận PEDS tại mốc ${childAgeMonths} tháng — LỘ TRÌNH E (Path E • Nguy cơ Thấp):
• Phụ huynh không có bất kỳ mối lo ngại nào ở cả 10 lĩnh vực phát triển và hành vi.
• ${dmPassStatus === 'pass' ? 'Trẻ đồng thời ĐẠT các mốc kỹ năng PEDS:DM tương ứng với lứa tuổi. Trấn an, khen ngợi cha mẹ và hẹn theo dõi định kỳ ở mốc tuổi tiếp theo.' : '⚠️ Lưu ý từ PEDS:DM: Dù phụ huynh không bày tỏ lo lắng trên PEDS, nhưng trẻ chưa đạt mốc kỹ năng PEDS:DM của lứa tuổi. Cần cho phụ huynh làm thêm bảng ASQ-3 để kiểm tra khách quan.'} `; } dashSub.textContent = `Tại mốc ${childAgeMonths} tháng tuổi: ${predCount} Lo ngại Dự báo cao (Predictive) • ${nonPredCount} Lo ngại Ít dự báo (Non-predictive)`; scoreBadge.textContent = badgeTxt; scoreBadge.style.background = badgeColor; scoreBadge.style.color = '#ffffff'; resultBox.style.borderLeftColor = badgeColor; resultBox.innerHTML = analysis; updateFloatingFabVisibility(); } function applyPreset(type) { answers = {}; pedsQuestions.forEach(q => { answers[q.id] = 'NO'; }); hasCommBarrier = false; selBarrier.value = 'no'; dmPassStatus = 'pass'; if (type === 'reset' || type === 'pathE') { renderDmBanner(); renderQuestions(); updateSummary(); return; } if (type === 'pathA') { // >= 2 mối lo ngại Dự báo cao (Câu 2 Ngôn ngữ diễn đạt, Câu 3 Nghe hiểu, Câu 7 Xã hội) answers[2] = 'YES'; answers[3] = 'YES'; answers[7] = 'YES'; dmPassStatus = 'fail'; } else if (type === 'pathB') { // Đúng 1 mối lo ngại Dự báo cao (Câu 2 Ngôn ngữ diễn đạt) answers[2] = 'LITTLE'; dmPassStatus = 'pass'; } else if (type === 'pathC') { // Chỉ lo ngại Hành vi (Câu 6) và Tự phục vụ (Câu 8) -> Non-predictive -> Path C answers[6] = 'YES'; answers[8] = 'LITTLE'; dmPassStatus = 'pass'; } renderDmBanner(); renderQuestions(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); pdWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { pdWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 980px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } selChildAge.onchange = function() { childAgeMonths = parseInt(this.value, 10) || 24; renderDmBanner(); renderQuestions(); updateSummary(); }; selBarrier.onchange = function() { hasCommBarrier = (this.value === 'yes'); updateSummary(); }; btnDmPass.onclick = () => { dmPassStatus = 'pass'; renderDmBanner(); updateSummary(); }; btnDmFail.onclick = () => { dmPassStatus = 'fail'; renderDmBanner(); updateSummary(); }; shadow.querySelectorAll('.pd-pbtn[data-preset]').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-preset')); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); applyPreset('pathA'); })();
PEDS (Parents’ Evaluation of Developmental Status): Bộ câu hỏi sàng lọc phát triển dựa trên mối bận tâm của cha mẹ (dành cho trẻ 0 – 8 tuổi). Cùng với ASQ-3 và M-CHAT-R/F, đây là bộ công cụ được Bộ Y tế Việt Nam và Viện Hàn lâm Nhi khoa Hoa Kỳ (AAP) khuyến cáo sử dụng rộng rãi nhất.
Công cụ được phát triển bởi Giáo sư Frances Page Glascoe (Đại học Vanderbilt, Hoa Kỳ — xuất bản năm 1997, cập nhật hệ thống PEDS-R và kết hợp cùng PEDS:DM).
1. Điểm khác biệt độc đáo của PEDS so với ASQ-3 và Denver II
Nếu như ASQ-3 hay Denver II hỏi cha mẹ xem “Trẻ đã làm được kỹ năng X chưa?”, thì PEDS đi theo hướng ngược lại nhưng cực kỳ nhạy bén: khai thác trực tiếp Những mối lo ngại của cha mẹ (Parental Concerns) qua 10 câu hỏi(chỉ mất 2 – 5 phút), sau đó phân loại mối lo ngại đó thuộc nhóm Có giá trị dự báo nguy cơ cao (Predictive Concerns)hay Ít có giá trị dự báo (Non-predictive Concerns) dựa trên độ tuổi cụ thể của trẻ.
-
Độ tuổi áp dụng: Từ sơ sinh (0 tháng) đến 8 tuổi (95 tháng / 7 tuổi 11 tháng).
-
Cấu trúc 10 câu hỏi chuẩn của PEDS (Response Form):
-
Câu 1 (Mở đầu): “Anh/chị có bất kỳ lo lắng nào về cách học tập, sự phát triển hoặc hành vi của con không?”
-
Câu 2 – 9 (8 Lĩnh vực cốt lõi): Hỏi cụ thể mối lo ngại về:
-
Ngôn ngữ Diễn đạt & Phát âm (Expressive Language and Articulation –
EL) -
Ngôn ngữ Tiếp nhận / Nghe hiểu (Receptive Language –
RL) -
Vận động Tinh (Fine Motor –
FM) -
Vận động Thô (Gross Motor –
GM) -
Hành vi (Behavior –
BEH) -
Cảm xúc – Xã hội (Social-Emotional –
SE) -
Tự phục vụ cá nhân (Self-Help –
SH) -
Học tập / Tiền học đường (School / Pre-academic –
SCH)
-
-
Câu 10 (Y khoa / Khác): Các mối lo ngại về thính lực, thị lực, giấc ngủ, ăn uống hoặc sức khỏe toàn trạng (Global/Cognitive & Health).
-
2. Ma trận “Mối lo ngại Dự báo (Predictive)” theo Độ tuổi & 5 Lộ trình Xử trí (Paths A – E)
Điểm cốt lõi trên Phiếu chấm điểm PEDS (PEDS Score Form) là: một mối lo ngại ở lĩnh vực này có thể chỉ là bình thường ở tuổi nhỏ, nhưng khi trẻ lớn hơn mà cha mẹ vẫn lo ngại thì nó trở thành Chỉ báo Dự báo Nguy cơ Cao (Predictive / Significant Concern):
Dựa trên số lượng mối lo ngại Dự báo (Predictive) và Không dự báo (Non-predictive), PEDS tự động phân trẻ vào 1 trong 5 Lộ trình Quyết định Lâm sàng (Paths A, B, C, D, E):
[Phát triển chung] Denver II: Công cụ sàng lọc phát triển tâm thần – vận động kinh điển cho trẻ 0 – 6 tuổi
(function() { const host = document.getElementById('denver2-wp-host'); if (!host) return; const placeholder = document.createComment('denver2-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // Cấu hình 4 Lĩnh vực chuẩn của Denver II (Tổng 125 mục) const domConfigs = { ps: { code: 'ps', name: '1. Cá nhân – Xã hội (Personal-Social)', count: 25, color: '#2563eb' }, fm: { code: 'fm', name: '2. Vận động Tinh – Thích ứng (Fine Motor)', count: 29, color: '#0d9488' }, la: { code: 'la', name: '3. Ngôn ngữ (Language)', count: 39, color: '#7c3aed' }, gm: { code: 'gm', name: '4. Vận động Thô (Gross Motor)', count: 32, color: '#ea580c' } }; // Đầy đủ 125 mục chuẩn Denver II với mốc tháng tuổi [p25, p50, p75, p90] // rAllow: true nếu cho phép chấm qua Báo cáo của phụ huynh [R] const items = [ // ===================================================== // 1. CÁ NHÂN - XÃ HỘI (PERSONAL-SOCIAL • 25 MỤC) // ===================================================== { id: 1, dom: 'ps', rAllow: false, p: [0.1, 0.2, 0.7, 1.3], t: 'Nhìn chăm chú vào khuôn mặt người đối diện' }, { id: 2, dom: 'ps', rAllow: true, p: [0.3, 0.7, 1.2, 1.8], t: 'Mỉm cười đáp lại khi được trò chuyện / trêu đùa' }, { id: 3, dom: 'ps', rAllow: false, p: [0.7, 1.2, 1.8, 2.4], t: 'Mỉm cười tự phát với người xung quanh' }, { id: 4, dom: 'ps', rAllow: false, p: [1.5, 2.3, 3.2, 4.2], t: 'Nhìn ngắm bàn tay của chính mình' }, { id: 5, dom: 'ps', rAllow: false, p: [3.8, 4.7, 5.6, 6.8], t: 'Cố gắng với lấy đồ chơi nằm ngoài tầm tay' }, { id: 6, dom: 'ps', rAllow: true, p: [4.8, 5.6, 6.5, 7.5], t: 'Tự cầm bánh quy ăn một mình' }, { id: 7, dom: 'ps', rAllow: false, p: [5.5, 6.8, 8.2, 9.8], t: 'Chơi trò Ú òa (Peek-a-boo) cùng người lớn' }, { id: 8, dom: 'ps', rAllow: false, p: [6.5, 8.0, 9.5, 11.2], t: 'Cố gắng giữ lại đồ chơi khi người khám kéo nhẹ' }, { id: 9, dom: 'ps', rAllow: true, p: [7.0, 8.6, 10.5, 13.5], t: 'Biết vẫy tay chào tạm biệt ("Bye-bye")' }, { id: 10, dom: 'ps', rAllow: true, p: [7.5, 9.2, 11.0, 13.8], t: 'Biết vỗ tay (hoan hô) theo người lớn' }, { id: 11, dom: 'ps', rAllow: true, p: [9.5, 11.2, 13.0, 15.5],t: 'Biết thể hiện ý muốn (chỉ tay/ra hiệu không khóc)' }, { id: 12, dom: 'ps', rAllow: false, p: [10.0, 11.8, 14.0, 16.5],t: 'Chơi lăn bóng qua lại với người khám' }, { id: 13, dom: 'ps', rAllow: true, p: [10.5, 12.5, 15.0, 17.5],t: 'Tự cầm cốc uống nước không đổ nhiều' }, { id: 14, dom: 'ps', rAllow: true, p: [11.5, 13.8, 16.2, 19.5],t: 'Bắt chước làm việc nhà (lau bàn, quét nhà)' }, { id: 15, dom: 'ps', rAllow: true, p: [13.0, 15.2, 18.0, 21.0],t: 'Tự dùng thìa/muỗng xúc ăn (còn rơi vãi ít)' }, { id: 16, dom: 'ps', rAllow: true, p: [14.5, 17.5, 20.5, 24.0],t: 'Tự cởi bỏ một món quần áo (giày, tất, mũ, quần)' }, { id: 17, dom: 'ps', rAllow: false, p: [15.5, 18.5, 21.5, 25.0],t: 'Đút cho búp bê ăn (Chơi giả vờ với búp bê)' }, { id: 18, dom: 'ps', rAllow: true, p: [18.0, 21.5, 25.5, 30.0],t: 'Tự mặc được một món quần áo (quần đùi, áo khoác)' }, { id: 19, dom: 'ps', rAllow: true, p: [19.0, 23.5, 28.5, 34.0],t: 'Đánh răng khi có người lớn hướng dẫn/hỗ trợ' }, { id: 20, dom: 'ps', rAllow: true, p: [20.0, 24.5, 30.0, 36.0],t: 'Tự rửa tay bằng xà phòng và lau khô tay' }, { id: 21, dom: 'ps', rAllow: true, p: [25.0, 30.5, 36.5, 42.5],t: 'Kể được tên của ít nhất 1 người bạn cùng chơi' }, { id: 22, dom: 'ps', rAllow: true, p: [26.0, 31.5, 38.0, 44.0],t: 'Tự mặc được áo thun/áo chui đầu' }, { id: 23, dom: 'ps', rAllow: true, p: [30.0, 36.0, 43.0, 50.0],t: 'Tự mặc quần áo hoàn toàn không cần giúp đỡ' }, { id: 24, dom: 'ps', rAllow: false, p: [33.0, 40.5, 48.0, 56.0],t: 'Chơi các trò chơi bàn cờ/thẻ bài chờ đến lượt' }, { id: 25, dom: 'ps', rAllow: true, p: [36.0, 44.0, 52.0, 60.0],t: 'Tự đánh răng độc lập và tự chuẩn bị đồ ăn nhẹ (bánh/ngũ cốc)' }, // ===================================================== // 2. VẬN ĐỘNG TINH - THÍCH ỨNG (FINE MOTOR-ADAPTIVE • 29 MỤC) // ===================================================== { id: 26, dom: 'fm', rAllow: false, p: [0.1, 0.3, 0.9, 1.5], t: 'Mắt nhìn theo quả bông đỏ di chuyển tới đường giữa' }, { id: 27, dom: 'fm', rAllow: false, p: [0.5, 1.1, 1.8, 2.6], t: 'Mắt nhìn theo quả bông đỏ vượt qua đường giữa' }, { id: 28, dom: 'fm', rAllow: false, p: [1.5, 2.3, 3.1, 3.8], t: 'Cầm giữ lục lạc khi được đặt vào lòng bàn tay' }, { id: 29, dom: 'fm', rAllow: false, p: [1.8, 2.6, 3.5, 4.3], t: 'Chắp hai bàn tay lại với nhau ở trước ngực' }, { id: 30, dom: 'fm', rAllow: false, p: [2.2, 3.1, 4.0, 4.9], t: 'Mắt nhìn theo vật di chuyển góc 180 độ hoàn chỉnh' }, { id: 31, dom: 'fm', rAllow: false, p: [2.8, 3.6, 4.5, 5.4], t: 'Nhìn chú ý vào viên nho khô (vật rất nhỏ) trên bàn' }, { id: 32, dom: 'fm', rAllow: false, p: [3.3, 4.2, 5.1, 6.0], t: 'Với tay nắm lấy đồ chơi đưa trước mặt' }, { id: 33, dom: 'fm', rAllow: false, p: [4.2, 5.1, 6.0, 7.2], t: 'Nhìn tìm kiếm sợi chỉ đỏ bị thả rơi xuống sàn' }, { id: 34, dom: 'fm', rAllow: false, p: [4.8, 5.6, 6.5, 7.5], t: 'Dùng cả bàn tay cào lấy viên nho khô/hạt nhỏ' }, { id: 35, dom: 'fm', rAllow: false, p: [5.0, 5.8, 6.7, 7.8], t: 'Chuyển khối gỗ từ tay này sang tay kia' }, { id: 36, dom: 'fm', rAllow: false, p: [5.6, 6.5, 7.5, 8.8], t: 'Mỗi tay cầm giữ đồng thời 1 khối gỗ (2 khối cùng lúc)' }, { id: 37, dom: 'fm', rAllow: false, p: [7.2, 8.2, 9.4, 10.6], t: 'Nhặt viên nho khô bằng ngón cái và ngón trỏ (Pincer grasp)' }, { id: 38, dom: 'fm', rAllow: false, p: [7.5, 8.8, 10.2, 11.8], t: 'Đập hai khối gỗ trên hai tay vào nhau ở đường giữa' }, { id: 39, dom: 'fm', rAllow: false, p: [9.5, 10.8, 12.2, 14.0],t: 'Bỏ khối gỗ vào trong lòng chiếc cốc nhựa' }, { id: 40, dom: 'fm', rAllow: false, p: [11.5, 13.2, 15.0, 17.0],t: 'Cầm bút sáp vẽ nguệch ngoạc tự phát trên giấy' }, { id: 41, dom: 'fm', rAllow: false, p: [12.5, 14.5, 16.8, 19.5],t: 'Dốc ngược lọ nhỏ để đổ viên nho khô ra ngoài (sau khi xem mẫu)' }, { id: 42, dom: 'fm', rAllow: false, p: [13.5, 15.8, 18.2, 20.8],t: 'Xếp chồng tháp gồm 2 khối gỗ vuông đứng vững' }, { id: 43, dom: 'fm', rAllow: false, p: [16.5, 19.0, 22.0, 25.5],t: 'Xếp chồng tháp gồm 4 khối gỗ vuông đứng vững' }, { id: 44, dom: 'fm', rAllow: false, p: [19.5, 22.8, 26.5, 30.5],t: 'Xếp chồng tháp gồm 6 khối gỗ vuông đứng vững' }, { id: 45, dom: 'fm', rAllow: false, p: [22.0, 26.0, 30.0, 35.0],t: 'Bắt chước vẽ một đường thẳng đứng trên giấy' }, { id: 46, dom: 'fm', rAllow: false, p: [24.0, 29.0, 34.5, 40.5],t: 'Xếp chồng tháp gồm 8 khối gỗ vuông đứng vững' }, { id: 47, dom: 'fm', rAllow: false, p: [28.0, 33.0, 38.5, 44.0],t: 'Cử động ngón cái độc lập khi nắm tay (Thumb wiggle)' }, { id: 48, dom: 'fm', rAllow: false, p: [31.0, 36.0, 41.5, 47.5],t: 'Sao chép hình tròn khép kín khi nhìn thẻ mẫu' }, { id: 49, dom: 'fm', rAllow: false, p: [36.0, 41.5, 48.0, 55.0],t: 'Vẽ hình người có ít nhất 3 bộ phận cơ thể' }, { id: 50, dom: 'fm', rAllow: false, p: [38.0, 44.0, 50.5, 57.5],t: 'Sao chép hình chữ thập (+) khi nhìn thẻ mẫu' }, { id: 51, dom: 'fm', rAllow: false, p: [40.0, 46.5, 53.5, 60.5],t: 'Chỉ đúng đường thẳng nào dài hơn (Đạt 3/3 lần thử)' }, { id: 52, dom: 'fm', rAllow: false, p: [46.0, 53.0, 60.0, 67.0],t: 'Sao chép hình vuông khi nhìn mẫu (không cần xem vẽ mẫu)' }, { id: 53, dom: 'fm', rAllow: false, p: [48.0, 55.0, 62.5, 70.0],t: 'Sao chép hình vuông sau khi được xem người khám vẽ mẫu' }, { id: 54, dom: 'fm', rAllow: false, p: [50.0, 57.5, 65.0, 72.0],t: 'Vẽ hình người đầy đủ có từ 6 bộ phận cơ thể trở lên' }, // ===================================================== // 3. NGÔN NGỮ (LANGUAGE • 39 MỤC) // ===================================================== { id: 55, dom: 'la', rAllow: false, p: [0.1, 0.2, 0.5, 1.0], t: 'Phản ứng với tiếng chuông lắc (chớp mắt, giật mình, dừng cử động)' }, { id: 56, dom: 'la', rAllow: true, p: [0.2, 0.6, 1.2, 1.8], t: 'Phát ra các âm thanh nhỏ trong cổ họng (ngoài tiếng khóc)' }, { id: 57, dom: 'la', rAllow: false, p: [1.0, 1.6, 2.3, 3.0], t: 'Phát âm gù gù (OOH / AAH) khi thoải mái' }, { id: 58, dom: 'la', rAllow: false, p: [1.4, 2.1, 2.9, 3.8], t: 'Cười thành tiếng lớn (Laughs)' }, { id: 59, dom: 'la', rAllow: false, p: [1.8, 2.7, 3.8, 4.8], t: 'Reo hét lên vì thích thú (Squeals)' }, { id: 60, dom: 'la', rAllow: false, p: [3.2, 4.2, 5.2, 6.4], t: 'Quay đầu về phía phát ra giọng nói của người khám' }, { id: 61, dom: 'la', rAllow: false, p: [3.8, 4.8, 5.8, 7.0], t: 'Quay đầu tìm chính xác hướng phát ra tiếng lục lạc' }, { id: 62, dom: 'la', rAllow: false, p: [5.0, 6.0, 7.2, 8.5], t: 'Bắt chước các âm thanh lời nói của người lớn' }, { id: 63, dom: 'la', rAllow: false, p: [5.4, 6.4, 7.6, 9.0], t: 'Bập bẹ các âm tiết đơn (ba, đa, ga, ma)' }, { id: 64, dom: 'la', rAllow: false, p: [6.0, 7.2, 8.6, 10.2], t: 'Phát âm chuỗi âm tiết lặp lại (ba-ba, đa-đa, ma-ma không đặc hiệu)' }, { id: 65, dom: 'la', rAllow: false, p: [6.5, 7.8, 9.2, 11.0], t: 'Kết hợp các âm tiết khác nhau (đa-ga, ba-đa)' }, { id: 66, dom: 'la', rAllow: true, p: [7.5, 9.2, 11.2, 13.5], t: 'Nói "Bà / Bố / Mẹ" đúng người (Đặc hiệu)' }, { id: 67, dom: 'la', rAllow: true, p: [9.0, 11.0, 13.0, 15.2],t: 'Nói được ít nhất 1 từ đơn có nghĩa (ngoài Bố/Mẹ)' }, { id: 68, dom: 'la', rAllow: true, p: [10.5, 12.2, 14.5, 17.0],t: 'Nói được 2 từ đơn có nghĩa' }, { id: 69, dom: 'la', rAllow: true, p: [11.8, 13.8, 16.2, 19.0],t: 'Nói được 3 từ đơn có nghĩa' }, { id: 70, dom: 'la', rAllow: true, p: [13.5, 16.0, 19.0, 22.5],t: 'Nói được 6 từ đơn có nghĩa trở lên' }, { id: 71, dom: 'la', rAllow: false, p: [15.0, 17.8, 21.0, 24.5],t: 'Chỉ đúng ít nhất 2 bức tranh khi người khám gọi tên' }, { id: 72, dom: 'la', rAllow: true, p: [16.5, 19.5, 23.0, 26.5],t: 'Kết hợp 2 từ thành cụm từ có nghĩa ("Uống nước", "Đi chơi")' }, { id: 73, dom: 'la', rAllow: false, p: [17.5, 20.5, 24.0, 28.0],t: 'Gọi đúng tên ít nhất 1 bức tranh trên bảng tranh Denver' }, { id: 74, dom: 'la', rAllow: false, p: [18.5, 21.5, 25.0, 29.5],t: 'Chỉ đúng ít nhất 6 bộ phận cơ thể trên búp bê/bản thân' }, { id: 75, dom: 'la', rAllow: false, p: [20.0, 24.0, 28.5, 33.5],t: 'Chỉ đúng 4 bức tranh khi người khám gọi tên' }, { id: 76, dom: 'la', rAllow: false, p: [21.0, 25.5, 30.5, 36.0],t: 'Lời nói của trẻ dễ hiểu được một nửa (50% người lạ hiểu)' }, { id: 77, dom: 'la', rAllow: false, p: [24.0, 29.0, 34.5, 40.0],t: 'Gọi đúng tên 4 bức tranh trên bảng tranh Denver' }, { id: 78, dom: 'la', rAllow: false, p: [26.0, 31.0, 37.0, 43.0],t: 'Biết công dụng của 2 đồ vật ("Cái gì dùng để uống/để viết?")' }, { id: 79, dom: 'la', rAllow: false, p: [28.0, 33.5, 39.5, 46.0],t: 'Đếm và lấy đúng 1 khối gỗ khi được yêu cầu' }, { id: 80, dom: 'la', rAllow: false, p: [29.0, 35.0, 41.5, 48.0],t: 'Biết công dụng của 3 đồ vật quen thuộc' }, { id: 81, dom: 'la', rAllow: false, p: [30.0, 36.0, 42.5, 49.5],t: 'Biết ít nhất 2 hành động trong tranh ("Con gì đang bay/đang kêu meo?")' }, { id: 82, dom: 'la', rAllow: false, p: [32.0, 38.5, 45.5, 52.5],t: 'Hiểu 2 tính từ trạng thái ("Khi bị lạnh/mệt/đói con làm gì?")' }, { id: 83, dom: 'la', rAllow: false, p: [34.0, 40.5, 48.0, 55.0],t: 'Gọi đúng tên ít nhất 1 màu sắc cơ bản' }, { id: 84, dom: 'la', rAllow: false, p: [36.0, 42.5, 50.0, 57.5],t: 'Hiểu và thực hiện đúng 4 giới từ (Trên, Dưới, Trước, Sau)' }, { id: 85, dom: 'la', rAllow: false, p: [37.0, 44.0, 51.5, 59.0],t: 'Lời nói của trẻ hoàn toàn rõ ràng, dễ hiểu 100%' }, { id: 86, dom: 'la', rAllow: false, p: [39.0, 46.0, 53.5, 61.5],t: 'Hiểu 4 hành động trong bảng tranh Denver' }, { id: 87, dom: 'la', rAllow: false, p: [42.0, 49.0, 57.0, 65.0],t: 'Định nghĩa đúng ít nhất 5 từ vựng (Bóng, Hồ, Bàn, Nhà, Chuối, Rèm...)' }, { id: 88, dom: 'la', rAllow: false, p: [44.0, 51.0, 58.5, 66.5],t: 'Gọi đúng tên 4 màu sắc (Đỏ, Xanh dương, Vàng, Xanh lá)' }, { id: 89, dom: 'la', rAllow: false, p: [46.0, 53.0, 60.5, 68.0],t: 'Hiểu 3 tính từ trạng thái (Lạnh, Mệt, Đói)' }, { id: 90, dom: 'la', rAllow: false, p: [48.0, 55.5, 63.0, 70.0],t: 'Đếm và lấy đúng 5 khối gỗ theo yêu cầu' }, { id: 91, dom: 'la', rAllow: false, p: [50.0, 57.5, 65.0, 71.0],t: 'Biết tìm 2 cặp từ trái nghĩa ("Lửa thì nóng, nước đá thì...")' }, { id: 92, dom: 'la', rAllow: false, p: [52.0, 59.5, 67.0, 72.0],t: 'Định nghĩa đúng ít nhất 7 từ vựng chuẩn' }, { id: 93, dom: 'la', rAllow: false, p: [54.0, 61.5, 68.5, 72.0],t: 'Hiểu chất liệu tạo nên 3 đồ vật ("Thìa/Giày/Cửa làm bằng gì?")' }, // ===================================================== // 4. VẬN ĐỘNG THÔ (GROSS MOTOR • 32 MỤC) // ===================================================== { id: 94, dom: 'gm', rAllow: false, p: [0.1, 0.2, 0.5, 0.9], t: 'Cử động hai tay và hai chân đồng đều khi nằm ngửa' }, { id: 95, dom: 'gm', rAllow: false, p: [0.1, 0.4, 0.9, 1.5], t: 'Nằm sấp tự nhấc đầu rời khỏi mặt bàn/giường' }, { id: 96, dom: 'gm', rAllow: false, p: [0.8, 1.5, 2.3, 3.2], t: 'Nằm sấp nâng đầu lên góc 45 độ giữ vững' }, { id: 97, dom: 'gm', rAllow: false, p: [1.5, 2.2, 3.1, 4.0], t: 'Nằm sấp nâng đầu và ngực góc 90 độ' }, { id: 98, dom: 'gm', rAllow: false, p: [1.8, 2.7, 3.6, 4.5], t: 'Giữ đầu thẳng vững vàng khi được bế ngồi' }, { id: 99, dom: 'gm', rAllow: false, p: [2.2, 3.2, 4.2, 5.2], t: 'Nằm sấp chống hai cẳng tay nâng ngực cao' }, { id: 100, dom: 'gm', rAllow: true, p: [2.5, 3.6, 4.6, 5.6], t: 'Tự lẫy lật người (từ sấp sang ngửa hoặc ngược lại)' }, { id: 101, dom: 'gm', rAllow: false, p: [3.2, 4.2, 5.2, 6.3], t: 'Kéo hai tay từ nằm ngửa lên ngồi đầu không bị trễ ra sau' }, { id: 102, dom: 'gm', rAllow: false, p: [3.8, 4.8, 5.8, 6.8], t: 'Chịu một phần trọng lượng cơ thể trên hai chân khi được giữ đứng' }, { id: 103, dom: 'gm', rAllow: false, p: [5.2, 5.9, 6.8, 7.8], t: 'Tự ngồi vững không cần đỡ lưng trong ít nhất 5 – 30 giây' }, { id: 104, dom: 'gm', rAllow: false, p: [6.5, 7.6, 8.8, 10.0], t: 'Vịn thành bàn/ghế tự kéo người đứng dậy' }, { id: 105, dom: 'gm', rAllow: true, p: [7.0, 8.2, 9.4, 10.6], t: 'Tự chuyển về tư thế ngồi độc lập (từ nằm hoặc bò)' }, { id: 106, dom: 'gm', rAllow: false, p: [7.2, 8.5, 9.8, 11.2], t: 'Đứng vững vàng khi vịn vào đồ đạc (> 5 giây)' }, { id: 107, dom: 'gm', rAllow: false, p: [9.2, 10.4, 11.6, 13.0],t: 'Tự đứng độc lập một mình được khoảng 2 giây' }, { id: 108, dom: 'gm', rAllow: false, p: [10.0, 11.5, 13.0, 14.5],t: 'Tự đứng vững một mình trên 10 giây không cần vịn' }, { id: 109, dom: 'gm', rAllow: false, p: [11.0, 12.3, 13.8, 15.2],t: 'Đứng vững cúi xuống nhặt đồ vật rồi đứng thẳng lên không ngã' }, { id: 110, dom: 'gm', rAllow: false, p: [11.2, 12.5, 14.0, 15.5],t: 'Đi độc lập vững vàng không bị ngã' }, { id: 111, dom: 'gm', rAllow: true, p: [12.5, 14.2, 16.5, 19.0],t: 'Đi lùi về phía sau 2 – 3 bước' }, { id: 112, dom: 'gm', rAllow: false, p: [13.5, 15.8, 18.0, 20.5],t: 'Chạy vững vàng về phía trước' }, { id: 113, dom: 'gm', rAllow: true, p: [14.0, 16.8, 19.5, 22.5],t: 'Bước lên các bậc cầu thang' }, { id: 114, dom: 'gm', rAllow: false, p: [15.5, 18.2, 21.0, 24.0],t: 'Đá quả bóng lăn về phía trước mà không cần vịn' }, { id: 115, dom: 'gm', rAllow: false, p: [19.5, 22.8, 26.5, 30.0],t: 'Nhảy tại chỗ hai chân rời mặt sàn cùng lúc' }, { id: 116, dom: 'gm', rAllow: false, p: [20.0, 23.8, 28.0, 32.5],t: 'Đứng ném bóng qua đầu về phía người khám' }, { id: 117, dom: 'gm', rAllow: false, p: [24.0, 28.5, 33.0, 38.0],t: 'Nhảy xa về phía trước qua tờ giấy rộng 22cm (Broad jump)' }, { id: 118, dom: 'gm', rAllow: false, p: [22.5, 27.0, 32.0, 37.0],t: 'Đứng thăng bằng trên 1 chân được 1 giây' }, { id: 119, dom: 'gm', rAllow: false, p: [26.0, 31.0, 36.5, 42.0],t: 'Đứng thăng bằng trên 1 chân được 2 giây' }, { id: 120, dom: 'gm', rAllow: false, p: [30.0, 35.5, 41.5, 48.0],t: 'Đứng thăng bằng trên 1 chân được 3 giây' }, { id: 121, dom: 'gm', rAllow: false, p: [36.0, 41.5, 48.0, 54.5],t: 'Nhảy lò cò trên 1 chân liên tiếp 2 – 3 bước' }, { id: 122, dom: 'gm', rAllow: false, p: [38.0, 44.0, 51.0, 58.0],t: 'Đứng thăng bằng trên 1 chân được 4 giây' }, { id: 123, dom: 'gm', rAllow: false, p: [41.0, 47.5, 55.0, 62.0],t: 'Đứng thăng bằng trên 1 chân được 5 giây' }, { id: 124, dom: 'gm', rAllow: false, p: [45.0, 52.0, 59.5, 67.0],t: 'Đi nối gót (mũi chân sau chạm sát gót chân trước) 4 bước liên tiếp' }, { id: 125, dom: 'gm', rAllow: false, p: [48.0, 55.5, 63.5, 71.0],t: 'Đứng thăng bằng vững vàng trên 1 chân trong 6 giây trở lên' } ]; // answers[id] lưu: 'P' (Pass - Đạt), 'F' (Fail - Không đạt), 'R' (Refusal - Từ chối), 'NO' (No Opportunity - Không có cơ hội) let answers = {}; let childAgeMonths = 24.0; // Tuổi thực (Tháng) let prematureWeeks = 0; // Số tuần sinh non (nếu sinh trước 38 tuần và trẻ <= 24 tháng) let filterDom = 'all'; // 'all' | 'ps' | 'fm' | 'la' | 'gm' let viewMode = 'age_window'; // 'age_window' (Chỉ hiện mục quanh Đường tuổi của trẻ) | 'all' (Hiện toàn bộ 125 mục) let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .dv-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .dv-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .dv-inner { padding: 24px; max-width: 980px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .dv-wrap.is-fullscreen .dv-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .dv-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(13, 148, 136, 0.45), 0 0 0 0 rgba(13, 148, 136, 0.4); } 70% { box-shadow: 0 6px 20px rgba(13, 148, 136, 0.45), 0 0 0 10px rgba(13, 148, 136, 0); } 100% { box-shadow: 0 6px 20px rgba(13, 148, 136, 0.45), 0 0 0 0 rgba(13, 148, 136, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #0f766e 0%, #0d9488 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(13, 148, 136, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Header */ .dv-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .dv-header-text { flex: 1 1 260px; } .dv-title { font-size: 21px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .dv-desc { font-size: 14px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #f0fdfa; color: #0f766e; border: 1px solid #99f6e4; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #0d9488; color: #ffffff; border-color: #0d9488; } /* Khu vực thiết lập Đường tuổi (Age Line) & Kịch bản */ .dv-age-panel { display: grid; grid-template-columns: 1.15fr 1fr 1.1fr; gap: 12px; background: #f8fafc; border: 1px solid #cbd5e1; border-radius: 12px; padding: 14px; margin-bottom: 14px; } .dv-ctrl-box { display: flex; flex-direction: column; gap: 6px; } .dv-ctrl-lbl { font-size: 12px; font-weight: 800; color: #0f172a; text-transform: uppercase; } .dv-input-row { display: flex; gap: 6px; align-items: center; } .dv-select, .dv-num-input { padding: 8px 10px; border: 1px solid #94a3b8; border-radius: 7px; font-size: 13.5px; font-weight: 700; color: #0f172a; background: #ffffff; width: 100%; } .dv-presets-bar { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; margin-bottom: 14px; } .dv-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; touch-action: manipulation; } .dv-pbtn:hover { background: #f1f5f9; } .dv-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } .dv-domain-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 16px; } .dv-dtab { padding: 6px 12px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .dv-dtab.active { background: #0f766e; color: #ffffff; border-color: #0f766e; } /* Sticky Dashboard */ .dv-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .dv-wrap.is-fullscreen .dv-dash { top: 58px; } .dv-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .dv-score-big { font-size: 21px; font-weight: 800; line-height: 1.2; } .dv-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .dv-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .dv-pillars { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; font-size: 12px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .dv-pillar-box { background: #1e293b; padding: 7px 10px; border-radius: 8px; } .dv-pillar-val { font-weight: 700; color: #ffffff; font-size: 13.5px; display: block; margin-top: 2px; } /* Danh sách 125 mục kèm Thanh bách phân vị (25% - 50% - 75% - 90%) */ .dv-item { border: 1px solid #e2e8f0; border-radius: 10px; padding: 13px 15px; margin-bottom: 10px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 8px; } .dv-item.status-delay { border-color: #fca5a5; background: #fff5f5; border-left: 5px solid #ef4444; } .dv-item.status-caution { border-color: #fde68a; background: #fffbeb; border-left: 5px solid #f59e0b; } .dv-item.status-pass { border-color: #a7f3d0; background: #f0fdf4; } .dv-item-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; flex-wrap: wrap; } .dv-item-title { font-size: 14.5px; font-weight: 700; color: #0f172a; } .dv-tags { display: flex; flex-wrap: wrap; gap: 6px; } .dv-tag { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .dv-tag.tag-delay { background: #fee2e2; color: #b91c1c; } .dv-tag.tag-caution { background: #fef3c7; color: #b45309; } .dv-tag.tag-normal { background: #dcfce7; color: #15803d; } /* Thanh trực quan hóa Mốc 25% - 50% - 75% - 90% so với Đường tuổi */ .dv-bar-visual { display: flex; align-items: center; gap: 8px; background: #f8fafc; border: 1px solid #e2e8f0; padding: 6px 10px; border-radius: 6px; font-size: 12px; color: #334155; flex-wrap: wrap; } .dv-pct-chip { padding: 2px 7px; border-radius: 4px; background: #e2e8f0; font-weight: 600; } .dv-pct-chip.zone-75-90 { background: #cbd5e1; color: #0f172a; font-weight: 800; } /* 4 nút chấm chuẩn Denver II: P, F, R, NO */ .dv-ans-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; } .dv-abtn { padding: 8px 6px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 700; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .dv-abtn:hover { border-color: #64748b; } .dv-abtn.sel-P { background: #10b981; border-color: #10b981; color: #ffffff; } .dv-abtn.sel-F { background: #ef4444; border-color: #ef4444; color: #ffffff; } .dv-abtn.sel-R { background: #f59e0b; border-color: #f59e0b; color: #ffffff; } .dv-abtn.sel-NO { background: #64748b; border-color: #64748b; color: #ffffff; } .dv-result-box { margin-top: 20px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #0d9488; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 740px) { .dv-inner { padding: 14px; } .dv-title { font-size: 18px; } .dv-age-panel { grid-template-columns: 1fr; } .dv-pillars { grid-template-columns: 1fr 1fr; } .dv-ans-grid { grid-template-columns: 1fr 1fr; } .dv-pbtn.reset { margin-left: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
Trắc Nghiệm Sàng Lọc Phát Triển Tâm Thần – Vận Động Denver II (125 Mục • 0 – 72 Tháng)
Công cụ sàng lọc chuẩn hóa của Frankenburg & Dodds (1992) trên 4 lĩnh vực: Cá nhân – Xã hội (25 mục), Vận động Tinh – Thích ứng (29 mục), Ngôn ngữ (39 mục) và Vận động Thô (32 mục). Hệ thống tự động kẻ Đường tuổi (Age Line), xác định các mục Chậm (Delay >90%), Cảnh báo (Caution 75–90%) và đưa ra kết luận sàng lọc chuẩn.
• Trẻ đã Từ chối thực hiện (R) ở ${totalRefDelays} mục nằm bên trái Đường tuổi (>90%) và ${totalRefCautions} mục trong vùng 75%–90%.
• Hướng xử trí chuẩn Denver II: Đặt lịch hẹn đánh giá lại cho trẻ sau 1 đến 2 tuần (khi trẻ khỏe mạnh, tỉnh táo và hợp tác tốt hơn). Nếu lần khám lại trẻ vẫn tiếp tục không thực hiện được, cần chuyển sang diện Nghi ngờ (Suspect) để khám chuyên khoa. `; } else if (totalDelays >= 1 || totalCautions >= 2) { color = '#ef4444'; badgeTxt = `NGHI NGỜ CHẬM PHÁT TRIỂN (SUSPECT • ${totalDelays} Delay, ${totalCautions} Caution)`; const delayNames = delayItemsList.map(i => `#${i.id} ${i.t}`).join(', '); const cautionNames = cautionItemsList.map(i => `#${i.id} ${i.t}`).join(', '); analysis = ` Kết luận Sàng lọc Denver II tại mốc ${ageLine} tháng — NGHI NGỜ (Suspect):
• Theo tiêu chuẩn của Frankenburg & Dodds, kết quả được phân loại là Nghi ngờ (Suspect) khi có từ ≥ 1 mục Chậm (Delay) và/hoặc ≥ 2 mục Cảnh báo (Caution).
• Các mục Chậm phát triển (Delay >90%): ${delayNames || 'Không có'}.
• Các mục Cảnh báo (Caution 75%–90%): ${cautionNames || 'Không có'}.
• Hướng xử trí lâm sàng: Nếu sự thiếu hụt tập trung ở lĩnh vực Ngôn ngữ (${domStats.la.delay} Delay, ${domStats.la.caution} Caution) và Cá nhân – Xã hội (${domStats.ps.delay} Delay, ${domStats.ps.caution} Caution), cần sàng lọc chuyên sâu ngay bằng M-CHAT-R/F / STAT và đánh giá toàn diện bằng KSPD / PEP-3 / Vineland-3 để can thiệp sớm. `; } else { color = (totalCautions === 1) ? '#f59e0b' : '#10b981'; badgeTxt = (totalCautions === 1) ? 'BÌNH THƯỜNG (CÓ 1 CẢNH BÁO NHẸ)' : 'PHÁT TRIỂN BÌNH THƯỜNG (NORMAL)'; analysis = ` Kết luận Sàng lọc Denver II tại mốc ${ageLine} tháng — ${badgeTxt}:
• Trẻ không có mục Chậm phát triển (Delay) nào và chỉ có ${totalCautions}/1 mục Cảnh báo (Caution) cho phép.
• Các mốc kỹ năng về Cá nhân – Xã hội, Vận động Tinh – Thích ứng, Ngôn ngữ và Vận động Thô đều đạt tương ứng với Đường tuổi ${ageLine} tháng. Khuyến nghị tiếp tục theo dõi định kỳ ở các mốc khám sức khỏe tiếp theo. `; } scoreBadge.textContent = badgeTxt; scoreBadge.style.background = color; scoreBadge.style.color = '#ffffff'; resultBox.style.borderLeftColor = color; resultBox.innerHTML = analysis; updateFloatingFabVisibility(); } function applyPreset(type) { const ageLine = getAdjustedAge(); answers = {}; if (type === 'reset') { renderItems(); updateSummary(); return; } // Mặc định đặt tất cả các mục bên trái Đường tuổi và cắt Đường tuổi là Đạt (P) items.forEach(function(it) { if (it.p[0] 1 Caution (Vẫn Normal) const cItem = items.find(it => ageLine >= it.p[2] && ageLine >= 2 Delay & Caution (Suspect) items.forEach(function(it) { if ((it.dom === 'la' || it.dom === 'ps') && it.p[3] >= (ageLine - 6) && it.p[0] Untestable const leftItems = items.filter(it => ageLine > it.p[3] && it.p[3] >= (ageLine - 6)); leftItems.slice(0, 2).forEach(it => { answers[it.id] = 'R'; }); } renderItems(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); dvWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { dvWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 980px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } inpAgeMonths.onchange = () => { applyPreset('suspect_lang'); }; quickAgeSelect.onchange = function() { inpAgeMonths.value = this.value; applyPreset('suspect_lang'); }; selPremature.onchange = () => { renderItems(); updateSummary(); }; selViewMode.onchange = function() { viewMode = this.value; renderItems(); }; shadow.querySelectorAll('.dv-pbtn').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-preset')); }; }); shadow.querySelectorAll('#domainTabs .dv-dtab').forEach(function(tab) { tab.onclick = function() { filterDom = this.getAttribute('data-dom'); shadow.querySelectorAll('#domainTabs .dv-dtab').forEach(t => t.classList.remove('active')); this.classList.add('active'); renderItems(); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); applyPreset('suspect_lang'); })();
Denver II (Denver Developmental Screening Test II — Trắc nghiệm Sàng lọc Phát triển Denver II) là công cụ sàng lọc phát triển tâm thần – vận động kinh điển và được sử dụng rộng rãi nhất tại các bệnh viện Nhi, khoa Tâm bệnh và trung tâm can thiệp sớm trên toàn thế giới (cũng như tại Việt Nam). Công cụ do Giáo sư William K. Frankenburg và Josiah B. Dodds (Đại học Colorado, Hoa Kỳ) phát triển năm 1967 và hiệu đính chuẩn hóa thành bản Denver II vào năm 1992.
1. Tóm tắt cốt lõi về công cụ Denver II
-
Độ tuổi áp dụng: Trẻ từ sơ sinh (0 tháng) đến 6 tuổi (72 tháng) (có điều chỉnh tuổi sinh non cho trẻ sinh trước 38 tuần tuổi thai đến khi trẻ tròn 24 tháng).
-
Cấu trúc 125 mục (Items) chia làm 4 Lĩnh vực phát triển:
-
Cá nhân – Xã hội (Personal-Social — 25 mục): Giao tiếp mắt, mỉm cười, tự ăn uống, mặc quần áo, đánh răng, chơi tương tác với bạn.
-
Vận động Tinh – Thích ứng (Fine Motor-Adaptive — 29 mục): Nhìn theo vật, cầm nắm hạt nhỏ, xếp tháp khối gỗ, vẽ hình (tròn, chữ thập, vuông, hình người).
-
Ngôn ngữ (Language — 39 mục): Quay đầu tìm âm thanh, bập bẹ, nói từ đơn, chỉ tranh, gọi tên đồ vật,hiểu giới từ, định nghĩa từ.
-
Vận động Thô (Gross Motor — 32 mục): Nâng đầu, lẫy, ngồi, bò, đứng, đi, chạy, nhảy tại chỗ, đứng 1 chân, nhảy lò cò, đi nối gót.
-
-
Cơ chế “Đường tuổi” (Age Line) và Thanh bách phân vị (25% – 50% – 75% – 90%): Trên biểu đồ Denver II,mỗi kỹ năng là một thanh ngang thể hiện mốc tuổi mà 25%, 50%, 75% và 90% trẻ em bình thường thực hiện được (vùng từ 75% đến 90% được tô đậm). Người khám kẻ một Đường dọc tại đúng tháng tuổi hiện tại của trẻ (Age Line) cắt qua các thanh kỹ năng và chấm 1 trong 4 kết quả:
P(Pass – Đạt),F(Fail – Không đạt),R(Refusal – Từ chối) hoặcNO(No Opportunity – Không có cơ hội).
2. Quy tắc Phân giải từng Mục & Kết luận Tổng thể chuẩn Denver II
| Phân loại từng mục | Điều kiện xác định so với Đường tuổi (Age Line) của trẻ |
| 1. Chậm phát triển (Delay) | Đường tuổi của trẻ đã vượt hoàn toàn sang bên phải mốc 90% của thanh kỹ năng (tức là > 90% trẻ cùng tuổi đã làm được), nhưng trẻ lại Không đạt (F) hoặc Từ chối (R). |
| 2. Cảnh báo / Thận trọng (Caution) | Đường tuổi của trẻ nằm trong vùng từ 75% đến 90% của thanh kỹ năng, và trẻ Không đạt (F) hoặc Từ chối (R). |
| 3. Phát triển Vượt trội (Advanced) | Trẻ Đạt (P) một kỹ năng nằm hoàn toàn ở bên phải Đường tuổi (dưới cả mốc 25% trẻ cùng tuổi làm được). |
Kết luận Sàng lọc Tổng thể Denver II:
-
🟢 BÌNH THƯỜNG (Normal): Không có mục Chậm (Delay) nào VÀ có tối đa 1 mục Cảnh báo (Caution).
-
🟡 NGHI NGỜ (Suspect): Có từ mục Cảnh báo (Caution) VÀ/HOẶC có từ mục Chậm (Delay) Cần sàng lọc lại sau 1–2 tuần hoặc chuyển gửi đánh giá chuyên sâu (PEP-3, KSPD, Vineland-3, ADOS-2).
-
⚪ KHÔNG ĐÁNH GIÁ ĐƯỢC (Untestable): Trẻ Từ chối (
R) ở mục nằm hoàn toàn bên trái đường tuổi () hoặc ở mục nằm trong vùng 75%−90%.
[Tự kỷ] ADOS-2: Tiêu chuẩn vàng quan sát lâm sàng xác định rối loạn phổ tự kỷ (Từ 12 tháng tuổi)
(function() { const host = document.getElementById('ados2-wp-host'); if (!host) return; const placeholder = document.createComment('ados2-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // Thông tin cấu hình & Ngưỡng cắt chuẩn của 5 Module ADOS-2 const moduleConfigs = { modT: { code: 'modT', name: 'Module T (Toddler • 12 – 30 tháng)', ageDesc: 'Trẻ từ 12 đến 30 tháng tuổi (đã biết đi độc lập)', langDesc: 'Từ chưa có lời nói đến nói cụm từ ngắn', cutSpectrum: 10, // Ngưỡng Quan ngại Nhẹ - Trung bình cutAutism: 14, // Ngưỡng Quan ngại Trung bình - Nặng isToddler: true, tasks: 'Chơi tự do, Gọi tên, Thổi bong bóng xà phòng, Chơi ú òa / Vận động xã hội, Tắm cho búp bê, Đồ chơi gây ngạc nhiên, Bữa ăn nhẹ.' }, mod1: { code: 'mod1', name: 'Module 1 (≥ 31 tháng • Chưa nói / Từ đơn)', ageDesc: 'Trẻ từ 31 tháng tuổi trở lên', langDesc: 'Chưa có lời nói hoặc chỉ nói từ đơn rời rạc (chưa nói được cụm 3 từ)', cutSpectrum: 8, // Ngưỡng Phổ tự kỷ (ASD) cutAutism: 12, // Ngưỡng Tự kỷ điển hình (Autism) isToddler: false, tasks: 'Chơi tự do, Phản ứng với tên gọi, Chơi bóng luân phiên, Thổi bong bóng, Tiệc sinh nhật giả vờ cho búp bê, Đáp ứng chú ý chung, Bữa ăn nhẹ.' }, mod2: { code: 'mod2', name: 'Module 2 (Nói cụm từ • Chưa lưu loát)', ageDesc: 'Mọi độ tuổi (thường là trẻ mầm non / tiểu học nhỏ)', langDesc: 'Nói được cụm từ ngắn (≥ 3 từ) nhưng chưa nói câu phức lưu loát', cutSpectrum: 8, cutAutism: 10, isToddler: false, tasks: 'Trò chơi lắp ghép, Chơi đóng vai với mô hình nhân vật, Minh họa hành động (đánh răng), Xem sách tranh không chữ, Mô tả bức tranh, Tiệc sinh nhật.' }, mod3: { code: 'mod3', name: 'Module 3 (Trẻ & Thiếu niên • Nói lưu loát)', ageDesc: 'Trẻ em và thiếu niên nhỏ (4 – 15 tuổi)', langDesc: 'Ngôn ngữ nói lưu loát (đặt câu phức, kể chuyện mạch lạc)', cutSpectrum: 7, cutAutism: 9, isToddler: false, tasks: 'Đóng vai tương tác với mô hình, Kể chuyện từ sách tranh, Tự sáng tác câu chuyện từ 5 đồ vật, Trò chuyện về Cảm xúc, Tình bạn & Sự cô đơn.' }, mod4: { code: 'mod4', name: 'Module 4 (≥ 16 tuổi & Người lớn • Lưu loát)', ageDesc: 'Thanh thiếu niên lớn và Người trưởng thành (từ 16 tuổi trở lên)', langDesc: 'Ngôn ngữ nói lưu loát, có mức độ tự lập nhất định', cutSpectrum: 8, cutAutism: 10, isToddler: false, tasks: 'Phỏng vấn công việc/học tập, Các mối quan hệ bạn bè & Hẹn hò/Hôn nhân, Cảm xúc & Sự đồng cảm, Kể chuyện sáng tạo từ 5 đồ vật, Giải thích truyện tranh.' } }; // 14 Chỉ báo cốt lõi trong Bảng Thuật Toán Chẩn Đoán ADOS-2 (10 mục SA + 4 mục RRB) // Mỗi mục chấm 0, 1, 2, 3 (Khi tính vào thuật toán: mức 3 tự động chuyển thành 2 điểm -> Max 28 điểm) const algoItems = [ { id: 1, dom: 'sa', sub: 'Giao tiếp', name: 'A1. Phát âm định hướng xã hội / Tần suất giao tiếp tự phát', desc: 'Mức độ trẻ/người lớn tự nhiên hướng lời nói, âm thanh hoặc cuộc trò chuyện về phía người khám để tương tác xã hội (không chỉ khi đòi hỏi).' }, { id: 2, dom: 'sa', sub: 'Giao tiếp', name: 'A2. Ngữ điệu, Nhịp điệu & Giọng nói khác thường', desc: 'Giọng nói đều đều một tông (monotone), quá to/quá nhỏ, ngữ điệu lơ lớ như robot hoặc nhịp điệu thiếu tự nhiên.' }, { id: 3, dom: 'sa', sub: 'Giao tiếp', name: 'A3. Sử dụng cử chỉ giao tiếp mô tả & Quy ước (Gestures)', desc: 'Khả năng tự nhiên dùng cử chỉ tay (chỉ trỏ, vẫy tay, gật/lắc đầu, mô tả hình dáng/hành động bằng tay) phối hợp với lời nói.' }, { id: 4, dom: 'sa', sub: 'Giao tiếp', name: 'A4. Trò chuyện qua lại hai chiều / Chỉ trỏ giao tiếp', desc: 'Ở Module 2–4: Khả năng nối tiếp câu chuyện qua lại với người khám. Ở Module T/1: Khả năng dùng ngón trỏ chỉ vào vật ở xa để chia sẻ/yêu cầu.' }, { id: 5, dom: 'sa', sub: 'Tương tác xã hội qua lại', name: 'B1. Giao tiếp ánh mắt bất thường (Unusual Eye Contact)', desc: 'Đánh giá sự linh hoạt, tự nhiên và phối hợp của ánh mắt khi bắt đầu, duy trì và điều tiết tương tác xã hội với người khám.' }, { id: 6, dom: 'sa', sub: 'Tương tác xã hội qua lại', name: 'B2. Biểu cảm khuôn mặt hướng tới người khác (Facial Expressions)', desc: 'Sự đa dạng của nét mặt (vui, ngạc nhiên, bối rối...) được hướng trực tiếp về phía người khám để truyền tải cảm xúc.' }, { id: 7, dom: 'sa', sub: 'Tương tác xã hội qua lại', name: 'B3. Chia sẻ niềm vui trong tương tác (Shared Enjoyment)', desc: 'Khả năng bộc lộ và lan tỏa niềm vui chân thực cùng với người khám trong các hoạt động chơi hoặc trò chuyện thú vị.' }, { id: 8, dom: 'sa', sub: 'Tương tác xã hội qua lại', name: 'B4. Khởi xướng & Đáp ứng Chú ý chung / Thấu hiểu cảm xúc (Empathy)', desc: 'Ở Module T/1/2: Phối hợp ánh mắt chia sẻ vật thú vị (Joint Attention). Ở Module 3/4: Khả năng nhận diện, mô tả và đồng cảm với cảm xúc của người khác.' }, { id: 9, dom: 'sa', sub: 'Tương tác xã hội qua lại', name: 'B5. Chất lượng các Khởi xướng xã hội (Quality of Social Overtures)', desc: 'Tính phù hợp về mặt ngữ cảnh và sự phối hợp nhịp nhàng khi chủ động bắt chuyện, khoe đồ hoặc thu hút sự chú ý của người khám.' }, { id: 10, dom: 'sa', sub: 'Tương tác xã hội qua lại', name: 'B6. Chất lượng Đáp ứng xã hội & Mức độ gắn kết tổng thể (Rapport)', desc: 'Cách phản hồi trước các lời mời tương tác của người khám và mức độ thoải mái, tự nhiên của toàn bộ buổi đánh giá.' }, { id: 11, dom: 'rrb', sub: 'Hành vi hạn hẹp & Lặp lại', name: 'D1. Ngôn ngữ rập khuôn / Nhại lời / Cụm từ đặc dị', desc: 'Nhại lời tức thì hoặc trì hoãn (lặp lại lời quảng cáo/phim), đảo ngược đại từ xưng hô hoặc lặp đi lặp lại các câu nói theo khuôn mẫu cứng nhắc.' }, { id: 12, dom: 'rrb', sub: 'Hành vi hạn hẹp & Lặp lại', name: 'D2. Quan tâm giác quan bất thường đối với đồ vật hoặc con người', desc: 'Nhìn nghiêng sát mắt vào đồ vật, xoay bánh xe để ngắm, ngửi/liếm đồ chơi, sờ ngắm kết cấu bề mặt hoặc bịt tai trước âm thanh bình thường.' }, { id: 13, dom: 'rrb', sub: 'Hành vi hạn hẹp & Lặp lại', name: 'D3. Cử động tay, ngón tay và toàn thân định hình (Mannerisms)', desc: 'Vẫy tay, búng/vặn ngón tay trước mắt, nhón gót, xoay tròn hoặc đung đưa cơ thể lặp đi lặp lại.' }, { id: 14, dom: 'rrb', sub: 'Hành vi hạn hẹp & Lặp lại', name: 'D4. Bận tâm quá mức đến chủ đề hẹp / Hành vi nghi thức & Thói quen', desc: 'Xếp hàng đồ vật cứng nhắc, đòi hỏi làm theo đúng một trình tự cố định hoặc chỉ nói mãi về một chủ đề chuyên biệt.' } ]; let currentMod = 'mod1'; let rawScores = {}; // Lưu mức chấm thô: 0, 1, 2, 3 (Khi tính thuật toán: Math.min(2, raw)) let filterDom = 'all'; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .ad-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .ad-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .ad-inner { padding: 24px; max-width: 940px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .ad-wrap.is-fullscreen .ad-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .ad-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(15, 118, 110, 0.45), 0 0 0 0 rgba(15, 118, 110, 0.4); } 70% { box-shadow: 0 6px 20px rgba(15, 118, 110, 0.45), 0 0 0 10px rgba(15, 118, 110, 0); } 100% { box-shadow: 0 6px 20px rgba(15, 118, 110, 0.45), 0 0 0 0 rgba(15, 118, 110, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #0f766e 0%, #0d9488 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(15, 118, 110, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Header */ .ad-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .ad-header-text { flex: 1 1 260px; } .ad-title { font-size: 21px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .ad-desc { font-size: 14px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #f0fdfa; color: #0f766e; border: 1px solid #99f6e4; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #0d9488; color: #ffffff; border-color: #0d9488; } /* Bộ chọn 5 Module ADOS-2 */ .mod-selector-box { background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 12px; padding: 14px; margin-bottom: 16px; } .mod-lbl { font-size: 12.5px; font-weight: 800; color: #0f172a; text-transform: uppercase; margin-bottom: 8px; display: block; } .mod-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; margin-bottom: 12px; } .mod-btn { padding: 10px 8px; border-radius: 9px; border: 1.5px solid #cbd5e1; background: #ffffff; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .mod-btn:hover { border-color: #0d9488; } .mod-btn.active { background: #0f766e; border-color: #0f766e; color: #ffffff; box-shadow: 0 4px 12px rgba(15, 118, 110, 0.25); } .mod-btn-code { font-size: 13.5px; font-weight: 800; display: block; } .mod-btn-sub { font-size: 11px; opacity: 0.85; display: block; margin-top: 2px; } .mod-info-banner { background: #ffffff; border: 1px dashed #99f6e4; border-left: 4px solid #0d9488; padding: 10px 12px; border-radius: 8px; font-size: 13px; color: #334155; } /* Kịch bản mẫu & Lọc trụ cột */ .ad-controls { display: flex; flex-direction: column; gap: 10px; margin-bottom: 18px; } .ad-presets { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; } .ad-preset-lbl { font-size: 12.5px; font-weight: 700; color: #475569; margin-right: 4px; } .ad-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; touch-action: manipulation; } .ad-pbtn:hover { background: #f1f5f9; } .ad-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } .ad-domain-tabs { display: flex; flex-wrap: wrap; gap: 6px; } .ad-dtab { padding: 6px 12px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .ad-dtab.active { background: #0f766e; color: #ffffff; border-color: #0f766e; } /* Sticky Dashboard */ .ad-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .ad-wrap.is-fullscreen .ad-dash { top: 58px; } .ad-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .ad-score-big { font-size: 23px; font-weight: 800; line-height: 1.1; } .ad-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .ad-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .ad-bar-bg { height: 10px; background: #334155; border-radius: 5px; overflow: hidden; margin-bottom: 12px; } .ad-bar-fill { height: 100%; width: 0%; background: #10b981; transition: width 0.35s ease, background 0.35s ease; } .ad-pillars { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; font-size: 12px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .ad-pillar-box { background: #1e293b; padding: 7px 10px; border-radius: 8px; } .ad-pillar-val { font-weight: 700; color: #ffffff; font-size: 13.5px; display: block; margin-top: 2px; } /* Danh sách 14 mục thuật toán */ .ad-q-item { border: 1px solid #e2e8f0; border-radius: 10px; padding: 14px 16px; margin-bottom: 12px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 10px; } .ad-q-item.high-scored { border-color: #fda4af; background: #fff5f5; } .ad-q-item.mid-scored { border-color: #fde68a; background: #fffbeb; } .ad-q-title { font-size: 14.8px; font-weight: 700; color: #0f172a; } .ad-q-desc { font-size: 13.5px; color: #475569; } .ad-q-tags { display: flex; flex-wrap: wrap; gap: 6px; } .ad-tag { font-size: 11px; font-weight: 600; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .ad-tag.dom-sa { background: #dbeafe; color: #1d4ed8; } .ad-tag.dom-rrb { background: #fef3c7; color: #b45309; } .ad-ans-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; } .ad-abtn { padding: 8px 6px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 600; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .ad-abtn:hover { border-color: #64748b; } .ad-abtn.sel-0 { background: #10b981; border-color: #10b981; color: #ffffff; font-weight: 700; } .ad-abtn.sel-1 { background: #f59e0b; border-color: #f59e0b; color: #ffffff; font-weight: 700; } .ad-abtn.sel-2, .ad-abtn.sel-3 { background: #ef4444; border-color: #ef4444; color: #ffffff; font-weight: 700; } .ad-result-box { margin-top: 20px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #64748b; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 720px) { .ad-inner { padding: 14px; } .ad-title { font-size: 18px; } .mod-grid { grid-template-columns: 1fr 1fr; } .ad-pillars { grid-template-columns: 1fr; } .ad-ans-grid { grid-template-columns: 1fr 1fr; } .ad-abtn { padding: 10px 6px; } .ad-pbtn.reset { margin-left: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
Bảng Mô Phỏng Thuật Toán Chẩn Đoán Tiêu Chuẩn Vàng ADOS-2 (5 Module)
Công cụ mô phỏng cách thức quy đổi điểm Thuật toán Chẩn đoán ADOS-2 (Diagnostic Algorithm) trên 2 trụ cột: Cảm xúc Xã hội (SA) và Hành vi Hạn hẹp & Lặp lại (RRB). Hệ thống tự động áp dụng quy tắc chuẩn: mức điểm thô 3 được quy đổi thành 2 điểm thuật toán và ước tính Điểm so sánh mức độ nặng CSS (1 – 10).
• Tổng điểm kết hợp SA + RRB đạt ${total}/28 điểm (SA = ${sa}/20, RRB = ${rrb}/8), thấp hơn ngưỡng điểm cắt của ${cfg.name.split(' (')[0]} (≥ ${cfg.cutSpectrum} điểm).
• Điểm so sánh mức độ (CSS): ${cssInfo.css}/10 (${cssInfo.label}). Nếu trẻ có chậm nói hoặc tăng động nhưng điểm ADOS-2 nằm dưới ngưỡng này, cần tập trung đánh giá Rối loạn ngôn ngữ diễn đạt hoặc ADHD. `; } else if (total < cfg.cutAutism) { color = '#f59e0b'; badgeTxt = cfg.isToddler ? `QUAN NGẠI NHẸ - TRUNG BÌNH (${total}đ)` : `PHỔ TỰ KỶ - ASD (${total}đ • CSS ${cssInfo.css}/10)`; analysis = ` Phân loại Thuật toán ADOS-2 (${cfg.name}) — ${badgeTxt}:
• Tổng điểm thuật toán đạt ${total}/28 điểm (Cảm xúc Xã hội SA = ${sa}/20 • Hành vi Lặp lại RRB = ${rrb}/8), vượt ngưỡng phân loại Phổ tự kỷ (≥ ${cfg.cutSpectrum} điểm).
• Điểm so sánh mức độ (CSS): ${cssInfo.css}/10 (${cssInfo.label}). Kết quả quan sát trực tiếp ủng hộ chẩn đoán Rối loạn phổ tự kỷ mức độ nhẹ - trung bình, cần kết hợp với lịch sử phát triển (ADI-R / DSM-5) và đánh giá hành vi thích ứng (Vineland-3). `; } else { color = '#ef4444'; badgeTxt = cfg.isToddler ? `QUAN NGẠI TRUNG BÌNH - NẶNG (${total}đ)` : `TỰ KỶ ĐIỂN HÌNH - AUTISM (${total}đ • CSS ${cssInfo.css}/10)`; analysis = ` Phân loại Thuật toán ADOS-2 (${cfg.name}) — ${badgeTxt}:
• Tổng điểm thuật toán đạt ${total}/28 điểm (Cảm xúc Xã hội SA = ${sa}/20 • Hành vi Lặp lại RRB = ${rrb}/8), vượt ngưỡng phân loại Tự kỷ điển hình (≥ ${cfg.cutAutism} điểm).
• Điểm so sánh mức độ (CSS): ${cssInfo.css}/10 (${cssInfo.label}). Người được đánh giá thể hiện các thiếu hụt rõ rệt ở cả giao tiếp xã hội tương hỗ và các mẫu hành vi rập khuôn. Khuyến nghị hoàn tất hồ sơ chẩn đoán đa chuyên khoa và triển khai chương trình can thiệp cá nhân hóa (IEP) dựa trên thang Vineland-3. `; } barFill.style.background = color; scoreBadge.textContent = badgeTxt; scoreBadge.style.background = color; scoreBadge.style.color = '#ffffff'; resultBox.style.borderLeftColor = color; resultBox.innerHTML = analysis; updateFloatingFabVisibility(); } function applyPreset(type) { rawScores = {}; if (type === 'reset') { renderItems(); updateSummary(); return; } algoItems.forEach(function(it) { rawScores[it.id] = 0; }); if (type === 'non') { // 3 điểm thuật toán (Dưới ngưỡng) rawScores[2] = 1; rawScores[3] = 1; rawScores[9] = 1; } else if (type === 'spectrum') { // 9 điểm thuật toán (Trong vùng Phổ tự kỷ ASD / Nhẹ - Trung bình) [1, 3, 4, 5, 7, 8, 10, 12, 14].forEach(function(id) { rawScores[id] = 1; }); } else if (type === 'autism') { // 18 điểm thuật toán (Vượt ngưỡng Tự kỷ điển hình, có cả mức 2 và mức 3 quy về 2) [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14].forEach(function(id, idx) { if (idx % 3 === 0) rawScores[id] = 3; // Quy về 2đ else if (idx % 2 === 0) rawScores[id] = 2; // 2đ else rawScores[id] = 1; // 1đ }); } renderItems(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); adWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { adWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 940px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } shadow.querySelectorAll('#modGrid .mod-btn').forEach(function(btn) { btn.onclick = function() { currentMod = this.getAttribute('data-mod'); shadow.querySelectorAll('#modGrid .mod-btn').forEach(b => b.classList.remove('active')); this.classList.add('active'); renderModBanner(); updateSummary(); }; }); shadow.querySelectorAll('.ad-pbtn').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-preset')); }; }); shadow.querySelectorAll('#domainTabs .ad-dtab').forEach(function(tab) { tab.onclick = function() { filterDom = this.getAttribute('data-dom'); shadow.querySelectorAll('#domainTabs .ad-dtab').forEach(t => t.classList.remove('active')); this.classList.add('active'); renderItems(); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); renderModBanner(); applyPreset('autism'); })();
ADOS-2 (Autism Diagnostic Observation Schedule, Second Edition — Lịch trình Quan sát Chẩn đoán Tự kỷ, Phiên bản 2) là công cụ đánh giá lâm sàng được y khoa thế giới công nhận là “Tiêu chuẩn vàng” (Gold Standard) trong việc chẩn đoán xác định Rối loạn phổ tự kỷ (ASD). Công cụ này được phát triển bởi Giáo sư Catherine Lord, Michael Rutter và các cộng sự (xuất bản bởi WPS năm 2012).
Khác hoàn toàn với các công cụ sàng lọc (Screening) dựa trên bảng hỏi như M-CHAT-R/F, SCQ, CAST, ASSQ hay AQ, ADOS-2 là công cụ CHẨN ĐOÁN (Diagnostic) thông qua việc nhà lâm sàng trực tiếp tương tác, tạo ra các “tình huống xã hội có cấu trúc” (Social Presses) để quan sát phản ứng thực tế của trẻ/người lớn trong khoảng 40 – 60 phút.
1. Hệ thống 5 Module của ADOS-2 (Chọn theo Mức độ Ngôn ngữ & Độ tuổi)
Điểm độc đáo nhất của ADOS-2 là không dùng một bài kiểm tra chung cho mọi người, mà chia thành 5 Module riêng biệt. Chuyên gia bắt buộc phải chọn đúng 1 Module khớp với khả năng ngôn ngữ diễn đạt hiện tại và độ tuổi của người được khám (để tránh việc trẻ bị điểm kém chỉ vì chưa biết nói):
| Module | Đối tượng & Độ tuổi | Mức độ ngôn ngữ diễn đạt yêu cầu | Hoạt động tương tác tiêu biểu trong phòng khám |
| Module T(Toddler) | Trẻ nhỏ 12 – 30 tháng tuổi (Biết đi độc lập) | Chưa nói đến nói cụm từ đơn giản. | Chơi bóng luân phiên, thổi bong bóng xà phòng, tắm cho búp bê, chơi ú òa, gây ngạc nhiên bằng đồ chơi điều khiển. |
| Module 1 | Trẻ từ 31 tháng tuổi trở lên | Chưa có lời nói hoặc chỉ nói từ đơn rời rạc (Chưa nói được cụm 3 từ). | Tương tác tự do, tiệc sinh nhật giả vờ cho búp bê, thổi bong bóng, gọi tên, chỉ trỏ chú ý chung. |
| Module 2 | Mọi độ tuổi (Thường là trẻ mẫu giáo) | Nói được cụm từ ngắn(từ 3 từ trở lên) nhưng chưa nói lưu loát. | Chơi đóng vai tưởng tượng với mô hình nhân vật, xem sách tranh không chữ, trò chuyện đơn giản, mô tả bức tranh. |
| Module 3 | Trẻ em & Thiếu niên nhỏ (Thường 4 – 15 tuổi) | Ngôn ngữ nói lưu loát(Nói được câu phức, kể chuyện quá khứ/tương lai). | Đóng vai câu chuyện bằng mô hình, tự sáng tác câu chuyện từ 5 đồ vật bất kỳ, phỏng vấn về tình bạn, sự cô đơn và cảm xúc. |
| Module 4 | Thanh thiếu niên lớn & Người lớn (Từ 16 tuổi trở lên) | Ngôn ngữ nói lưu loát và có tính tự lập nhất định. | Phỏng vấn chuyên sâu về công việc/học tập, tình bạn, hôn nhân/hẹn hò, cảm xúc cá nhân, giải thích truyện tranh và kể chuyện sáng tạo. |
2. Cấu trúc Chấm điểm Thuật toán ADOS-2 (Algorithm Scoring)
Trong lúc tương tác, chuyên gia ghi chép rất nhiều hành vi, nhưng khi đưa vào Bảng Thuật Toán Chẩn Đoán (Diagnostic Algorithm), ADOS-2 chỉ lọc ra 14 chỉ báo cốt lõi nhất chia làm 2 trụ cột (bám sát tiêu chuẩn DSM-5):
-
Cảm xúc Xã hội (Social Affect – SA • 10 mục): Bao gồm Giao tiếp (ngữ điệu, cử chỉ, chỉ trỏ, hội thoại) và Tương tác xã hội qua lại (giao tiếp mắt bất thường, biểu cảm nét mặt, chia sẻ niềm vui, chú ý chung, chất lượng khởi xướng và đáp ứng xã hội).
-
Hành vi Hạn hẹp và Lặp đi lặp lại (Restricted and Repetitive Behavior – RRB • 4 mục): Ngôn ngữ rập khuôn/nhại lời, thu hút giác quan lạ, cử động tay/cơ thể định hình (stimming) và mối bận tâm/nghi thức cứng nhắc.
-
Quy tắc quy đổi điểm đặc biệt của ADOS-2:
-
Khi chấm thô tại phòng khám, mỗi mục chấm từ
0đến3điểm (0= Bình thường,1= Bất thường nhẹ,2= Bất thường rõ rệt,3= Bất thường nghiêm trọng). -
Tuy nhiên, khi cộng vào Thuật toán chẩn đoán: Mọi mức điểm
3đều được quy đổi về2điểm (để một hành vi quá nặng không làm lệch tổng điểm toàn bài). Như vậy mỗi mục trong thuật toán có giá trị 0, 1 hoặc 2 điểm (Tổng điểm tối đa của 14 mục thuật toán là 28 điểm).
-
-
Phân loại kết quả & Điểm so sánh mức độ (CSS – Calibrated Severity Score):
-
Module 1 – 4: Phân loại thành 3 mức: Không thuộc phổ tự kỷ (Non-spectrum) Phổ tự kỷ (Autism Spectrum – ASD) Tự kỷ điển hình (Autism), đồng thời quy đổi ra Điểm so sánh CSS (từ 1 đến 10 điểm) để biết mức độ triệu chứng từ Rất nhẹ (1–2), Nhẹ (3–4), Trung bình (5–7) đến Nặng (8–10).
-
Module T (12–30 tháng): Vì trẻ quá nhỏ chưa kết luận chẩn đoán cứng, ADOS-2 phân thành 3 mức độ Quan ngại (Range of Concern): Ít/Không quan ngại Quan ngại nhẹ – trung bình Quan ngại trung bình – nặng.
-
Dấu hiệu động kinh ngầm ở trẻ tự kỷ - Khi nào nên làm?
📋 BẢNG ĐÁNH GIÁ CHUYÊN SÂU: DẤU HIỆU ĐỘNG KINH NGẦM (SEDs) & CƠN ĐỘNG KINH CỤC BỘ Ở TRẺ TỰ KỶ
Được thiết kế dựa trên phân loại cơn động kinh của Liên đoàn Quốc tế Chống Động kinh (ILAE) và các hội chứng điện não đồ đặc thù ở trẻ rối loạn phát triển (Landau-Kleffner, ESES/CSWS, Động kinh thùy thái dương & thùy trán).
PHẦN I: THOÁI LUI PHÁT TRIỂN & HỘI CHỨNG MẤT NGÔN NGỮ (Landau-Kleffner / ESES)
Đánh giá nguy cơ sóng động kinh ngầm phát sinh liên tục trong giấc ngủ gây phá hủy vùng ngôn ngữ và nhận thức.
1. Mất ngôn ngữ và kỹ năng giao tiếp đã từng có (Thoái lui phát triển):
Trẻ trước đó đã nói được từ đơn/từ ghép, biết chỉ tay, vẫy chào, giao tiếp mắt bình thường nhưng bỗng nhiên mất dần hoặc mất hẳn (đặc biệt lưu ý nếu xảy ra sau mốc 2 tuổi).
2. Hiện tượng "Điếc từ vựng" (Auditory Verbal Agnosia):
Trẻ vẫn nghe rất rõ tiếng động môi trường (tiếng mở gói bánh, tiếng nhạc, tiếng gọi từ xa vẫn quay lại) nhưng lại hoàn toàn ngơ ngác, không hiểu nghĩa các câu nói quen thuộc hàng ngày của bố mẹ.
3. Sự dao động nhận thức bất thường theo chu kỳ ("Lúc nhớ lúc quên"):
Trẻ có những tuần/ngày rất lanh lợi, học rất nhanh, nhưng đột nhiên rơi vào những đợt "chững lại", ngơ ngác, quên sạch các bài học/kỹ năng đã thuộc lòng trước đó mà không rõ lý do.
PHẦN II: CƠN VẮNG Ý THỨC & CỬ ĐỘNG TỰ ĐỘNG VÔ THỨC (Absence & Focal Impaired Awareness)
Phân biệt giữa sự mất tập trung/tự kích thích (Stimming) của tự kỷ và cơn "ngắt kết nối" do phóng điện não.
4. Cơn "đứng hình" – Đờ người không thể cắt ngang:
Đang nhai cơm, đang bước đi hoặc đang chơi, trẻ đột ngột khựng lại, nhìn xuyên thấu vào khoảng không từ 5–30 giây. Dù bố mẹ vẫy tay sát mắt, búng tay hay chạm mạnh vào người trẻ cũng không phản ứng trong vài giây đó.
5. Hành vi tự động vùng miệng – mặt trong lúc đờ đẫn (Oroalimentary Automatisms):
Khi đang nhìn vô hồn, trẻ có kèm theo chép miệng liên tục, nhai tóp tép dù trong miệng không có thức ăn, nuốt nước bọt liên hồi, chảy dãi đột ngột hoặc mấp máy môi vô thức?
6. Nháy mắt rung giật hoặc tay xoắn vặn vô thức kèm mất tập trung:
Hai mí mắt nháy liên hồi với tốc độ rất nhanh (như cánh bướm rung), hoặc một bên tay cứ tự động cấu véo, xoắn vặn vạt áo, hoặc đột ngột buông rơi thìa/đồ chơi đang cầm trên tay mà không biết.
PHẦN III: VẬN ĐỘNG VI THỂ, GIẬT CƠ & MẤT TRƯƠNG LỰC CƠ (Myoclonic, Atonic & Tonic)
Các cơn động kinh vận động cực ngắn (1–3 giây) rất dễ bị nhầm với tật máy cơ (Tics) hoặc trẻ hậu đậu hay vấp ngã.
7. Cơn gục đầu đột ngột hoặc ngã khuỵu gối (Atonic / Drop Attacks):
Trẻ đang ngồi ăn/học bỗng nhiên đầu gục mạnh xuống bàn cái "rụp" (như người ngủ gật bị rơi đầu), hoặc đang đứng/đi tự dưng hai đầu gối mềm nhũn làm ngã sập xuống đất trong tích tắc rồi đứng dậy ngay.
8. Giật cơ từng chuỗi ngắn như điện giật (Myoclonic Jerks):
Hai vai, cánh tay hoặc toàn thân trẻ giật nảy lên một cái (giống hệt phản xạ giật mình khi bước hụt cầu thang), thường xảy ra thành từng cụm 3–5 cái liên tiếp, đặc biệt hay gặp vào lúc vừa mới ngủ dậy hoặc đang thiu thiu ngủ.
9. Cơn đảo mắt, trợn ngược mắt hoặc quay cứng đầu – cổ sang một bên (Versive / Tonic):
Hai tròng mắt đột ngột đảo ngược lên trên (chỉ thấy lòng trắng) hoặc mắt và đầu cùng quay cứng sang một bên trong vài giây kèm theo một bên tay co/duỗi cứng (khác với hành vi liếc mắt ngắm đồ vật của trẻ tự kỷ).
PHẦN IV: BIỂU HIỆN BẤT THƯỜNG TRONG GIẤC NGỦ (Nocturnal Frontal Lobe & Sleep Epilepsy)
70% sóng động kinh ngầm ở trẻ tự kỷ chỉ kích hoạt mạnh khi não bước vào giấc ngủ sâu (Non-REM).
10. Cơn thức giấc kịch phát định hình vào khung giờ cố định ban đêm:
Trẻ đang ngủ bỗng bật dậy, mắt mở trừng trừng, vẻ mặt hoảng loạn, hai chân đạp như đạp xe hoặc tay chân vung vẩy/gồng cứng. Đặc điểm nhận diện là kịch bản cử động đêm nào cũng giống hệt nhau và thường xảy ra sau khi ngủ khoảng 30–90 phút hoặc gần sáng.
11. Giật mép, cứng hàm, phát âm thanh lạ hoặc chảy nhiều nước bọt khi đang ngủ (Rolandic Seizures):
Khi đang ngủ (nhất là lúc mới ngủ hoặc gần sáng), trẻ có tiếng khò khè ở họng như mắc nghẹn, một bên mép/má giật nhẹ, nghiến hàm cứng kèm chảy ướt đẫm nước bọt ra gối?
12. Dấu vết để lại vào buổi sáng sau những cơn động kinh đêm thầm lặng:
Buổi sáng thức dậy trẻ có vết cắn rách/bầm ở rìa lưỡi hoặc niêm mạc má, tiểu dầm bất thường (ở trẻ đã bỏ bỉm đêm từ lâu), hoặc trẻ lừ đừ, đau đầu, đi đứng loạng choạng/yếu nhẹ một bên tay chân trong 15–30 phút đầu mới dậy?
PHẦN V: CẢM XÚC KỊCH PHÁT, THẦN KINH THỰC VẬT & GIÁC QUAN (Temporal & Occipital Lobe)
Động kinh thùy thái dương và thùy chẩm ở trẻ tự kỷ thường tạo ra cơn hoảng sợ, cười khóc vô cớ, ảo giác hoặc rối loạn thực vật.
13. Cơn hoảng sợ tột độ hoặc cười/khóc sặc sụa hoàn toàn vô cớ (Gelastic / Dacrystic / Ictal Fear):
Đang ngồi yên tĩnh, không hề có tác nhân gây sợ hay bị trêu đùa, trẻ bỗng nhiên ôm chặt bố mẹ hoặc chạy trốn với vẻ mặt kinh hoàng tột độ; hoặc tự dưng bật cười khanh khách / khóc nức nở một cách cơ học, vô hồn trong 30 giây – 2 phút rồi tự tắt hẳn.
14. Biểu hiện Thần kinh thực vật đi kèm cơn (Autonomic Seizures):
Ngay trước hoặc trong lúc trẻ đờ người/hoảng sợ, cha mẹ quan sát thấy trẻ đột ngột tái mét mặt hoặc đỏ bừng mặt, vã mồ hôi lạnh, tim đập thình thịch, hai đồng tử mắt giãn to, hoặc trẻ tự nhiên ôm bụng/nôn khan vài tiếng rồi hết ngay (không phải bệnh tiêu hóa)?
15. Phản ứng với ảo giác giác quan thoáng qua (Sensory Aura – Thùy chẩm / Thùy thái dương):
Trong phòng hoàn toàn yên tĩnh và ánh sáng bình thường, trẻ đột ngột ôm đầu, lấy tay dụi mắt/che chặt mắt, bịt chặt tai la hét, hoặc nhìn đuổi theo một điểm vô hình trong không trung (do nhìn thấy đốm sáng nhấp nháy hoặc nghe tiếng ù trong đầu trước cơn)?
PHẦN VI: ĐẶC ĐIỂM SAU CƠN & YẾU TỐ NGUY CƠ Y KHOA (Post-ictal State & Risk Factors)
Trạng thái "sau cơn" (Post-ictal) là tiêu chuẩn vàng để phân biệt cơn động kinh thực sự với hành vi tự kỷ.
16. Trạng thái của trẻ NGAY SAU KHI kết thúc các biểu hiện lạ (Post-ictal Phase):
Sau một cơn phóng điện não, tế bào thần kinh bị cạn kiệt năng lượng tạm thời. Ngay sau khi hết đờ người, giật cơ hoặc la hét vô cớ, trẻ có biểu hiện thế nào?
17. Hoàn cảnh xuất hiện & Yếu tố kích khởi ánh sáng/nhiệt độ:
Hành vi tự kỷ thường xuất hiện khi trẻ rảnh rỗi/căng thẳng. Ngược lại, các biểu hiện lạ của con bạn có xuất hiện bất kể hoàn cảnh (kể cả khi đang nhai món rất thích, đang đi cầu thang) hoặc dễ bùng phát khi nhìn ánh sáng nhấp nháy (đèn LED, nắng xuyên qua hàng cây), khi sốt/thiếu ngủ không?
18. Tiền sử y khoa của bản thân trẻ và gia đình:
Trẻ có từng bị co giật do sốt cao (nhất là sốt co giật phức tạp kéo dài >15 phút hoặc tái phát nhiều lần), tiền sử sinh ngạt/sinh non nhẹ cân, hoặc trong gia đình có người mắc động kinh / rối loạn thần kinh không?
*Miễn trừ trách nhiệm y khoa: Bảng đánh giá 18 tiêu chí này là công cụ sàng lọc lâm sàng hỗ trợ phụ huynh quan sát có hệ thống, không thay thế cho chẩn đoán của bác sĩ chuyên khoa Thần kinh nhi và kết quả đo Điện não đồ (EEG).
⚠️ Cha mẹ vui lòng hoàn thành đủ 18 câu hỏi (Hiện đã chọn '+answered+'/18 câu) để hệ thống lập biểu đồ phân khu chính xác nhất!
Kết quả sàng lọc cho thấy trẻ có dấu hiệu cảnh báo đỏ (Red Flags) hoặc tổng điểm triệu chứng lâm sàng ở ngưỡng cao. Ở trẻ tự kỷ, việc phát hiện và kiểm soát sớm sóng động kinh ngầm sẽ giúp bảo vệ tế bào thần kinh và mở khóa lại khả năng tiếp thu ngôn ngữ.
- Quay video thực tế (Quan trọng số 1): Hãy đặt sẵn điện thoại để quay lại khoảnh khắc trẻ đờ người, giật cơ, đảo mắt hoặc thức giấc ban đêm. Khi thấy trẻ bắt đầu đờ người, hãy vừa quay video vừa gọi tên/vẫy tay trước mắt trẻ để bác sĩ đánh giá mức độ mất ý thức.
- Yêu cầu đo Điện não đồ giấc ngủ (Sleep EEG / Video-EEG): Đo EEG thức ngắn hạn (15–20 phút) rất dễ bỏ sót sóng động kinh ngầm (đặc biệt là hội chứng Landau-Kleffner và ESES chỉ xuất hiện khi ngủ sâu). Hãy hỏi bác sĩ về chỉ định đo EEG giấc ngủ kéo dài tối thiểu 60–120 phút hoặc qua đêm.
- Chụp màn hình bảng kết quả này: Đưa danh sách các dấu hiệu ghi nhận được bên dưới cho bác sĩ Thần kinh nhi để tiết kiệm thời gian khai thác bệnh sử.
Trẻ chưa có các dấu hiệu cờ đỏ cấp tính nhưng có một số biểu hiện nằm ở vùng giao thoa giữa hành vi tự kích thích giác quan (Stimming) của tự kỷ và hoạt động điện não bất thường nhẹ.
- Thực hiện nghiệm pháp "Ngắt cơn": Mỗi khi thấy con nhìn đăm chiêu hoặc làm hành động lặp lại, hãy thử chạm vào vai và đưa món đồ con cực kỳ thích ra trước mặt. Nếu con nhìn theo ngay, đó thường là hành vi tự kỷ. Nếu con hoàn toàn không biết gì trong vài giây, hãy ghi chép lại.
- Lập nhật ký triệu chứng: Ghi lại thời điểm xảy ra (trước/sau khi ngủ, khi đang ăn...), thời gian kéo dài bao nhiêu giây và trạng thái của con sau đó.
- Nếu tần suất các cơn tăng lên hoặc việc học của con bị chững lại rõ rệt, cha mẹ nên cho con đi khám Thần kinh nhi để kiểm tra Điện não đồ (EEG) tầm soát.
Hiện tại, các biểu hiện của trẻ chủ yếu mang đặc trưng của rối loạn phổ tự kỷ (như thiếu tập trung có chọn lọc hoặc tự kích thích giác quan khi rảnh rỗi), hầu như không thấy dấu hiệu lâm sàng của cơn động kinh hay sóng động kinh ngầm gây thoái lui.
- Theo hướng dẫn y khoa hiện hành, trẻ tự kỷ không có triệu chứng nghi ngờ lâm sàng và phát triển tiến bộ đều đặn thì chưa bắt buộc phải can thiệp đo Điện não đồ ngay.
- Cha mẹ hãy yên tâm duy trì chương trình can thiệp giáo dục đặc biệt, ngôn ngữ trị liệu và đánh giá lại bảng kiểm này sau mỗi 6 tháng (hoặc khi trẻ bước vào giai đoạn tiền dậy thì).
- ';for(var k=0;k<redFlags.length;k++){rfHTML+='
- '+redFlags[k]+' ';}rfHTML+='
| Nhóm triệu chứng lâm sàng | Điểm số | Mức đánh giá |
|---|---|---|
| '+catNames[c]+' | '+s+' / 9 | '+badge+' |
'+levelTitle+'
💡 Nhiều người vẫn luôn nghĩ động kinh là phải có biểu hiện co giật bên ngoài, nhưng thực tế thì không phải.
Các nghiên cứu y khoa đã phân tích mối liên hệ giữa rối loạn phổ tự kỷ (ASD) và các bất thường trên điện não đồ (EEG) — thường được gọi là “sóng động kinh ngầm” hay phóng điện dạng động kinh dưới lâm sàng (Subclinical Epileptiform Discharges – SEDs), tức là có sóng bất thường trên máy đo nhưng trẻ không hề có cơn co giật thực tế bên ngoài.
📊 Số liệu thống kê từ các phân tích tổng hợp và nghiên cứu chuyên sâu:
- Tỷ lệ có sóng động kinh ngầm (không có cơn co giật): Dao động trung bình từ 20% đến 60% (phổ biến nhất trong khoảng 30% – 50%) tùy thuộc vào phương pháp đo (đo ngắn hạn hay đo qua đêm khi ngủ).
- Tỷ lệ mắc bệnh động kinh thực sự (có cơn co giật lâm sàng): Chiếm khoảng 15% đến 30% ở trẻ tự kỷ, cao hơn rất nhiều so với tỷ lệ 1% – 2% ở trẻ bình thường.
- Trường hợp ngoại lệ có tỷ lệ rất cao: Ở một nhóm nhỏ trẻ tự kỷ có hiện tượng thoái lui phát triển (trẻ đang nói được hoặc giao tiếp bình thường bỗng nhiên mất ngôn ngữ và kỹ năng) hoặc khi đo từ não đồ (MEG) chuyên sâu, tỷ lệ phát hiện sóng bất thường có thể lên tới 60% – 70% (một số nghiên cứu nhỏ lẻ ghi nhận tới gần 80% ở nhóm đặc thù này). Đây có thể là nguồn gốc khiến con số 80% bị hiểu nhầm và quy chụp cho toàn bộ trẻ phổ tự kỷ.
🩺 Khi nào cha mẹ thực sự cần đưa trẻ đi đo Điện não đồ (EEG)?
Bác sĩ chuyên khoa Thần kinh nhi thường chỉ định đo EEG (ưu tiên đo khi ngủ) nếu trẻ tự kỷ có kèm theo các dấu hiệu nghi ngờ sau:
- Thoái lui ngôn ngữ và kỹ năng rõ rệt: Đang biết nói bỗng nhiên im lặng, mất hẳn giao tiếp mắt sau 18–24 tháng tuổi.
- Các cơn “vắng ý thức” (Absence seizures): Trẻ đột ngột đờ người, mắt nhìn vô định trong vài giây đến vài chục giây, gọi hay vẫy tay trước mặt không phản ứng (khác với việc trẻ mải chơi không thèm quay lại).
- Cử động bất thường lặp lại: Giật nhẹ cơ mặt, nháy mắt liên tục kèm đờ đẫn, gục đầu đột ngột, hoặc giật cơ tay chân khi mới ngủ dậy.
Cụ thể hơn, ở trẻ tự kỷ, việc nhận biết các dấu hiệu nghi ngờ động kinh khá khó khăn vì nhiều biểu hiện rất giống với hành vi tự kích thích (stimming) hoặc sự thiếu tập trung đặc trưng của trẻ. Cha mẹ nên đưa trẻ đến khám chuyên khoa Thần kinh nhi để đo điện não đồ (EEG) nếu quan sát thấy 1 trong 5 nhóm biểu hiện dưới đây:
1. Thoái lui phát triển đột ngột hoặc mất ngôn ngữ Quan trọng nhất
- Biểu hiện: Trẻ trước đó đã nói được từ đơn, từ ghép, biết chỉ tay hoặc giao tiếp mắt nhưng đột nhiên mất hẳn các kỹ năng này (đặc biệt nếu xảy ra sau mốc 2–3 tuổi).
- Khả năng đi kèm: Trẻ nghe thấy âm thanh (vẫn giật mình khi có tiếng động lớn) nhưng hoàn toàn không hiểu lời nói của bố mẹ như thể bị điếc từ vựng. Đây là dấu hiệu cảnh báo cần đo điện não đồ giấc ngủ để loại trừ hội chứng Landau-Kleffner (mất ngôn ngữ mắc phải do sóng động kinh ngầm khi ngủ).
2. Các cơn “đờ người” – Vắng ý thức (Absence Seizures)
- Biểu hiện: Trẻ đang chơi, đang ăn hoặc đi lại thì đột ngột đứng khựng lại, mắt nhìn trân trân vào khoảng không trong khoảng 5 đến 20 giây, sau đó lại tiếp tục hoạt động như chưa có chuyện gì xảy ra.
- Dấu hiệu đi kèm trong cơn: Nháy mắt liên tục với tốc độ nhanh, môi mấp máy như đang nhai chép miệng, hoặc tay xoắn vặn quần áo một cách vô thức.
3. Giật cơ hoặc mất trương lực cơ bất thường
- Cơn gục đầu / khuỵu gối (Atonic): Trẻ đang ngồi hoặc đứng bỗng nhiên gục đầu xuống bàn cái “rụp”, hoặc đầu gối tự dưng mềm nhũn làm trẻ ngã khuỵu xuống đất trong tích tắc rồi tự đứng dậy ngay.
- Giật cơ (Myoclonic): Tay, chân hoặc vai của trẻ giật nảy lên một cái (giống như bị giật mình hoặc điện giật nhẹ), thường xảy ra thành từng chuỗi ngắn vào thời điểm vừa mới thức dậy hoặc bắt đầu thiu thiu ngủ.
- Lệch mắt, gồng cứng ngắn: Hai mắt đột ngột đảo ngược lên trên hoặc liếc cứng sang một bên kèm theo gồng nhẹ tay chân trong vài giây.
4. Rối loạn bất thường trong giấc ngủ
Sóng động kinh thường hoạt động mạnh nhất khi não chuyển từ trạng thái thức sang ngủ sâu:
- Trẻ đang ngủ bỗng ngồi bật dậy, mắt mở to hoảng loạn, tay chân đạp quẫy hoặc gồng cứng có tính chất lặp đi lặp lại giống hệt nhau vào các khung giờ cố định mỗi đêm.
- Tỉnh giấc vào buổi sáng với biểu hiện lừ đừ, mệt mỏi rã rời, yếu tạm thời một bên tay/chân, hoặc phát hiện vết cắn ở rìa lưỡi, tiểu dầm bất thường (ở trẻ đã biết tự chủ vệ sinh ban đêm).
5. Những cơn bùng nổ cảm xúc hoặc sợ hãi “không có lý do”
- Khác với cơn ăn vạ (luôn có nguyên nhân như đòi đồ chơi không được) hay quá tải giác quan (do chỗ đông người, tiếng ồn), cơn động kinh cục bộ ở thùy thái dương có thể khiến trẻ đột ngột ôm đầu, la hét, mặt tái mét vì sợ hãi tột độ, hoặc cười sặc sụa vô cớ trong 1–2 phút rồi lả đi, ngủ thiếp đi ngay sau đó.
🔍 Bảng phân biệt nhanh: Hành vi Tự kỷ hay Cơn Động kinh?
| Tiêu chí quan sát | Hành vi tự kỷ (Mất tập trung / Stimming) | Nghi ngờ cơn động kinh |
|---|---|---|
| Cách ngắt cơn | Có thể cắt ngang nếu bố mẹ chạm mạnh vào người, chắn tầm nhìn hoặc đưa món đồ trẻ cực kỳ thích ra trước mặt. | Không thể cắt ngang dù bố mẹ vỗ vào mặt, gọi to hay vẫy tay sát mắt; trẻ hoàn toàn “ngắt kết nối” trong vài giây đó. |
| Ánh mắt | Nhìn chăm chú vào một vật (bánh xe quay, quạt trần, ngón tay) hoặc liếc mắt có chủ đích. | Nhìn xuyên thấu vô hồn, đồng tử có thể giãn nhẹ, hoặc mắt giật/trợn ngược lên trên. |
| Sau khi kết thúc | Trẻ tỉnh táo bình thường, có thể cáu gắt nếu bị làm phiền khi đang tự kích thích. | Trẻ thường ngơ ngác vài giây, mệt mỏi, buồn ngủ rũ rượi, hoặc không nhớ mình vừa đánh rơi đồ vật trên tay. |
| Hoàn cảnh xuất hiện | Thường xảy ra khi trẻ rảnh rỗi, nhàm chán, quá phấn khích hoặc căng thẳng. | Xảy ra bất kỳ lúc nào, kể cả khi đang nhai cơm, đang bước cầu thang hay đang ngủ. |
Nguồn: Kiến thức y khoa chính thống, tham khảo và hỗ trợ từ AI.
[Tiêu chuẩn quốc tế] ICD-11: Bảng phân loại quốc tế về bệnh tật và các rối loạn phát triển thần kinh của WHO
(function() { const host = document.getElementById('icd11-wp-host'); if (!host) return; const placeholder = document.createComment('icd11-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // Các Đặc điểm Thiết yếu bắt buộc theo hướng dẫn CDDR của WHO ICD-11 (Mã gốc 6A02) const essentialFeatures = [ // TRỤ CỘT 1: KHIẾM KHUYẾT BỀN VỮNG TRONG KHỞI XƯỚNG & DUY TRÌ TƯƠNG TÁC XÃ HỘI VÀ GIAO TIP XÃ HỘI { id: 'S1', pillar: 'SOC', code: 'Đặc điểm Thiết yếu 1A (Trụ cột Xã hội)', title: '1A. Khiếm khuyết trong tương hỗ cảm xúc – xã hội và hội thoại qua lại hai chiều', desc: 'Khó khăn bền vững trong việc bắt đầu, đáp lại và duy trì tương tác xã hội qua lại; giảm chia sẻ sở thích, cảm xúc và chú ý chung (Joint Attention) với người khác.', examples: 'Biểu hiện: Ít chủ động khoe đồ vật hoặc chia sẻ niềm vui; gọi tên ít phản ứng; không biết duy trì hội thoại qua lại hoặc chỉ nói về chủ đề của riêng mình.' }, { id: 'S2', pillar: 'SOC', code: 'Đặc điểm Thiết yếu 1B (Trụ cột Xã hội)', title: '1B. Khiếm khuyết trong tích hợp giao tiếp bằng lời nói và phi ngôn ngữ', desc: 'Sự bất thường hoặc thiếu phối hợp giữa lời nói với giao tiếp ánh mắt, biểu cảm khuôn mặt, tư thế cơ thể và các cử chỉ giao tiếp quy ước (chỉ trỏ, vẫy tay, gật/lắc đầu).', examples: 'Biểu hiện: Giao tiếp mắt hạn chế hoặc cứng nhắc; ít dùng cử chỉ chỉ tay để chia sẻ; giọng điệu nói chuyện phẳng lì/khác lạ; khó hiểu ngôn ngữ cơ thể và ẩn ý.' }, { id: 'S3', pillar: 'SOC', code: 'Đặc điểm Thiết yếu 1C (Trụ cột Xã hội)', title: '1C. Khiếm khuyết trong thấu hiểu, thiết lập và duy trì mối quan hệ với bạn đồng trang lứa', desc: 'Khó khăn trong việc điều chỉnh hành vi theo các ngữ cảnh xã hội khác nhau, thiếu kỹ năng chơi tưởng tượng hợp tác hoặc thiếu sự nhạy cảm với cảm xúc của người khác.', examples: 'Biểu hiện: Chơi một mình tách biệt trong nhóm bạn; không biết tham gia trò chơi đóng vai cùng bạn; nhận xét thẳng thừng thiếu tinh tế hoặc rất khó kết bạn thân.' }, // TRỤ CỘT 2: CÁC MẪU HÀNH VI, SỞ THÍCH VÀ HOẠT ĐỘNG HẠN HẸP, LẶP ĐI LẶP LẠI VÀ CỨNG NHẮC { id: 'R1', pillar: 'RRB', code: 'Đặc điểm Thiết yếu 2A (Trụ cột Hành vi RRB)', title: '2A. Các cử động vận động, thao tác với đồ vật hoặc lời nói rập khuôn, lặp đi lặp lại', desc: 'Xuất hiện các vận động định hình đơn giản hoặc phức tạp, sử dụng đồ chơi theo cách rập khuôn không đúng chức năng, hoặc nhại lời (echolalia) / lặp lại cụm từ cố định.', examples: 'Biểu hiện: Vẫy tay, búng ngón tay, đi nhón gót, đung đưa người, xoay tròn; xếp đồ chơi thành hàng dài, xoay bánh xe; nhại lại câu hỏi hoặc lời quảng cáo.' }, { id: 'R2', pillar: 'RRB', code: 'Đặc điểm Thiết yếu 2B (Trụ cột Hành vi RRB)', title: '2B. Đòi hỏi sự bất biến quá mức, tuân thủ cứng nhắc thói quen hoặc hành vi nghi thức', desc: 'Kháng cự mạnh mẽ hoặc rơi vào trạng thái căng thẳng, hoảng loạn cực độ trước những thay đổi nhỏ trong môi trường, lịch trình sinh hoạt hoặc lộ trình di chuyển.', examples: 'Biểu hiện: Khóc thét/ăn vạ khi thay đổi đường đi, đổi chỗ ngồi hoặc chuyển tiếp hoạt động; đòi hỏi làm mọi việc theo đúng một trình tự nghi thức.' }, { id: 'R3', pillar: 'RRB', code: 'Đặc điểm Thiết yếu 2C (Trụ cột Hành vi RRB)', title: '2C. Sở thích thu hẹp, cố định với cường độ hoặc sự tập trung bất thường', desc: 'Bận tâm dai dẳng và mãnh liệt vào một vài chủ đề chuyên biệt hẹp, hoặc gắn bó kỳ lạ với những đồ vật vô tri không phải đồ chơi thông thường.', examples: 'Biểu hiện: Ám ảnh với con số, chữ cái, lịch, biển số xe, tàu hỏa, bản đồ, quạt quay; hoặc luôn cầm chặt một nắp chai, que nhựa, hòn đá.' }, { id: 'R4', pillar: 'RRB', code: 'Đặc điểm Thiết yếu 2D (Trụ cột Hành vi RRB)', title: '2D. Tăng nhạy cảm hoặc Giảm nhạy cảm suốt đời đối với các kích thích giác quan', desc: 'Phản ứng quá mức (né tránh/quá tải), kém phản ứng (thờ ơ với đau/nhiệt độ) hoặc tìm kiếm cuốn hút khác thường vào các yếu tố giác quan (âm thanh, ánh sáng, xúc giác, mùi vị).', examples: 'Biểu hiện: Bịt tai trước tiếng ồn thông thường, kén ăn kết cấu cực đoan, sợ cắt tóc/rửa mặt; nhìn nghiêng sát mắt vào vật chuyển động hoặc ngửi/liếm đồ vật.' }, // TRỤ CỘT 3: ĐIỀU KIỆN KHỞI PHÁT & SUY GIẢM CHỨC NĂNG BẮT BUỘC CỦA ICD-11 { id: 'O1', pillar: 'ONSET', code: 'Điều kiện Bắt buộc 3A (Khởi phát)', title: '3A. Khởi phát trong giai đoạn phát triển sớm (thường ở thời kỳ ấu nhi / đầu tuổi thơ)', desc: 'Các triệu chứng bắt đầu từ giai đoạn phát triển sớm, nhưng có thể chỉ bộc lộ đầy đủ sau này khi các yêu cầu xã hội vượt quá khả năng hạn chế của cá nhân.', examples: 'Xác nhận qua bệnh sử phát triển từ trước tuổi đi học (kể cả những trường hợp lớn lên mới đi khám do trước đó cố gắng ngụy trang xã hội).' }, { id: 'O2', pillar: 'ONSET', code: 'Điều kiện Bắt buộc 3B (Suy giảm chức năng)', title: '3B. Gây suy giảm đáng kể trong chức năng cá nhân, gia đình, xã hội, giáo dục hoặc nghề nghiệp', desc: 'Các khiếm khuyết đủ nghiêm trọng để gây cản trở rõ rệt hoạt động hàng ngày; nếu cá nhân duy trì được hoạt động thì phải trả giá bằng sự nỗ lực căng thẳng quá mức.', examples: 'Gây rào cản rõ trong giao tiếp gia đình, hòa nhập trường lớp, kết bạn hoặc công việc.' } ]; // Ma trận 6 Mã Chẩn đoán chính thức của ICD-11 (WHO) dựa trên IDD (Trí tuệ) và Functional Language (Ngôn ngữ chức năng) const icd11Subcodes = [ { code: '6A02.0', idd: 'no', lang: 'mild_none', name: '6A02.0 — Rối loạn phổ tự kỷ KHÔNG kèm rối loạn phát triển trí tuệ và suy giảm ngôn ngữ chức năng nhẹ hoặc không suy giảm', desc: 'Cá nhân có trí tuệ trong giới hạn bình thường (IQ ≥ 70) và sử dụng được câu nói/ngôn ngữ đầy đủ để giao tiếp nhu cầu cá nhân (Tương đương Hội chứng Asperger / Tự kỷ chức năng cao trước đây).' }, { code: '6A02.1', idd: 'yes', lang: 'mild_none', name: '6A02.1 — Rối loạn phổ tự kỷ CÓ kèm rối loạn phát triển trí tuệ và suy giảm ngôn ngữ chức năng nhẹ hoặc không suy giảm', desc: 'Cá nhân đáp ứng tiêu chuẩn Rối loạn phát triển trí tuệ (6A00), nhưng khả năng nói/ký hiệu chức năng tương đối tốt so với mức tuổi trí tuệ.' }, { code: '6A02.2', idd: 'no', lang: 'impaired', name: '6A02.2 — Rối loạn phổ tự kỷ KHÔNG kèm rối loạn phát triển trí tuệ và có suy giảm ngôn ngữ chức năng rõ rệt', desc: 'Cá nhân không bị khuyết tật trí tuệ (nhận thức phi ngôn ngữ bình thường), nhưng ngôn ngữ diễn đạt chức năng bị suy giảm rõ (chỉ dùng được từ đơn hoặc cụm từ ngắn).' }, { code: '6A02.3', idd: 'yes', lang: 'impaired', name: '6A02.3 — Rối loạn phổ tự kỷ CÓ kèm rối loạn phát triển trí tuệ và có suy giảm ngôn ngữ chức năng rõ rệt', desc: 'Cá nhân vừa có Rối loạn phát triển trí tuệ, vừa bị suy giảm rõ rệt ngôn ngữ chức năng (chỉ nói được từ đơn hoặc cụm từ đơn giản).' }, { code: '6A02.2 (Nonverbal / 6A02.4)', idd: 'no', lang: 'absent', name: '6A02.2 / 6A02.4 — Rối loạn phổ tự kỷ KHÔNG kèm rối loạn phát triển trí tuệ và vắng bóng hoàn toàn ngôn ngữ chức năng', desc: 'Cá nhân có nhận thức phi ngôn ngữ bình thường nhưng hoàn toàn không có lời nói hoặc phương tiện giao tiếp biểu tượng chức năng.' }, { code: '6A02.5', idd: 'yes', lang: 'absent', name: '6A02.5 — Rối loạn phổ tự kỷ CÓ kèm rối loạn phát triển trí tuệ và vắng bóng hoàn toàn ngôn ngữ chức năng', desc: 'Cá nhân vừa có Rối loạn phát triển trí tuệ, vừa vắng bóng hoàn toàn (hoặc hầu như không có) khả năng dùng lời nói/ký hiệu chức năng để diễn đạt nhu cầu.' } ]; let featStatus = {}; // 'YES' | 'NO' let selIDD = 'no'; // 'no' (Không kèm suy giảm trí tuệ) | 'yes' (Có kèm suy giảm trí tuệ) let selLang = 'impaired'; // 'mild_none' (Không/Nhẹ) | 'impaired' (Suy giảm rõ: từ đơn/cụm từ) | 'absent' (Vắng bóng hoàn toàn) let selRegression = 'no'; // 'no' (Không mất kỹ năng) | 'yes' (Có mất kỹ năng đã từng đạt được) let filterPillar = 'all'; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .ic-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .ic-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .ic-inner { padding: 24px; max-width: 980px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .ic-wrap.is-fullscreen .ic-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .ic-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(2, 132, 199, 0.45), 0 0 0 0 rgba(2, 132, 199, 0.4); } 70% { box-shadow: 0 6px 20px rgba(2, 132, 199, 0.45), 0 0 0 10px rgba(2, 132, 199, 0); } 100% { box-shadow: 0 6px 20px rgba(2, 132, 199, 0.45), 0 0 0 0 rgba(2, 132, 199, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #0369a1 0%, #0284c7 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(2, 132, 199, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Header */ .ic-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .ic-header-text { flex: 1 1 260px; } .ic-title { font-size: 21px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .ic-desc { font-size: 14px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #f0f9ff; color: #0369a1; border: 1px solid #bae6fd; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #0284c7; color: #ffffff; border-color: #0284c7; } /* Bộ chọn Trục Mã hóa ICD-11 (Trí tuệ x Ngôn ngữ x Thoái lui) */ .ic-spec-panel { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; background: #f0f9ff; border: 1px solid #bae6fd; border-radius: 12px; padding: 14px; margin-bottom: 14px; } .ic-lbl { font-size: 12px; font-weight: 800; color: #0369a1; text-transform: uppercase; display: block; margin-bottom: 5px; } .ic-select { width: 100%; padding: 8px 10px; border: 1px solid #7dd3fc; border-radius: 7px; font-size: 13px; font-weight: 700; color: #0f172a; background: #ffffff; } /* Presets */ .ic-presets { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; margin-bottom: 14px; } .ic-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; touch-action: manipulation; } .ic-pbtn:hover { background: #f1f5f9; } .ic-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } .ic-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 16px; } .ic-tab { padding: 6px 12px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .ic-tab.active { background: #0284c7; color: #ffffff; border-color: #0284c7; } /* Sticky Dashboard */ .ic-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .ic-wrap.is-fullscreen .ic-dash { top: 58px; } .ic-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .ic-score-big { font-size: 20px; font-weight: 800; line-height: 1.25; } .ic-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .ic-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .ic-pillars { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; font-size: 12px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .ic-pillar-box { background: #1e293b; padding: 8px 10px; border-radius: 8px; border-left: 3px solid #475569; } .ic-pillar-box.met { border-left-color: #ef4444; background: rgba(239, 68, 68, 0.15); } .ic-pillar-box.unmet { border-left-color: #10b981; } .ic-pillar-val { font-weight: 800; color: #ffffff; font-size: 13.5px; display: block; margin-top: 2px; } /* Danh sách đặc điểm thiết yếu ICD-11 */ .ic-item { border: 1px solid #e2e8f0; border-radius: 12px; padding: 15px 16px; margin-bottom: 12px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 8px; } .ic-item.feat-yes { border-color: #fca5a5; background: #fff5f5; border-left: 5px solid #ef4444; } .ic-item.feat-no { border-color: #a7f3d0; background: #f0fdf4; } .ic-item-title { font-size: 15px; font-weight: 800; color: #0f172a; } .ic-item-desc { font-size: 13.5px; color: #334155; } .ic-item-ex { font-size: 12.8px; color: #475569; background: rgba(15, 23, 42, 0.03); padding: 7px 10px; border-radius: 6px; border-left: 3px solid #94a3b8; } .ic-tags { display: flex; flex-wrap: wrap; gap: 6px; } .ic-tag { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .ic-tag.p-SOC { background: #dbeafe; color: #1d4ed8; } .ic-tag.p-RRB { background: #fef3c7; color: #b45309; } .ic-tag.p-ONSET { background: #dcfce7; color: #15803d; } .ic-ans-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 4px; } .ic-abtn { padding: 9px 10px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 700; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .ic-abtn:hover { border-color: #64748b; } .ic-abtn.sel-no { background: #10b981; border-color: #10b981; color: #ffffff; } .ic-abtn.sel-yes { background: #ef4444; border-color: #ef4444; color: #ffffff; } /* Bảng Ma trận 6 Mã ICD-11 (6A02.0 -> 6A02.5) - Vừa khít 100% không cần cuộn ngang */ .ic-matrix-card { margin-top: 20px; padding: 14px; border-radius: 12px; background: #ffffff; border: 1px solid #e2e8f0; width: 100%; overflow: hidden; } .ic-table { width: 100%; max-width: 100%; table-layout: fixed; border-collapse: collapse; font-size: 12.8px; line-height: 1.45; } .ic-table th, .ic-table td { border: 1px solid #cbd5e1; padding: 8px 9px; text-align: left; vertical-align: top; word-wrap: break-word; overflow-wrap: break-word; hyphens: auto; } .ic-table th { background: #f1f5f9; font-weight: 800; color: #0f172a; } .ic-table tr.active-code { background: #eff6ff; border: 2px solid #0284c7; } .ic-result-box { margin-top: 16px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #0284c7; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 760px) { .ic-inner { padding: 14px; } .ic-title { font-size: 18px; } .ic-spec-panel { grid-template-columns: 1fr; } .ic-pillars { grid-template-columns: 1fr 1fr; } .ic-ans-grid { grid-template-columns: 1fr; } .ic-pbtn.reset { margin-left: 0; } .ic-matrix-card { padding: 10px; } .ic-table { font-size: 11.5px; } .ic-table th, .ic-table td { padding: 6px 6px; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
Bảng Kiểm & Định Mã Chẩn Đoán Rối Loạn Phổ Tự Kỷ Theo Phân Loại Quốc Tế ICD-11 (WHO • Mã 6A02)
Công cụ chuẩn hóa theo ICD-11 (Tổ chức Y tế Thế giới WHO) giúp đối chiếu Các đặc điểm thiết yếu bắt buộc (Essential Features) và tự động tra cứu chính xác Mã phân nhóm lâm sàng (6A02.0 → 6A02.5) dựa trên ma trận kết hợp giữa Phát triển Trí tuệ (IDD) và Ngôn ngữ Chức năng (Functional Language).
| Mã ICD-11 | Rối loạn Phát triển Trí tuệ (IDD) | Mức độ Ngôn ngữ Chức năng | Mô tả Phân nhóm Lâm sàng của WHO |
|---|
• Mô tả định danh của WHO: ${matchedSub.desc}
• Chỉ định tiền sử thoái lui phát triển: ${regText}.
• Đối chiếu tương đương sang ICD-10 (đang dùng song song tại BV Việt Nam): Mã F84.0 (Tự kỷ ở trẻ em) ${matchedSub.code === '6A02.0' ? 'hoặc F84.5 (Hội chứng Asperger)' : ''}. `; } else if (metSOC && !metRRB && metONSET) { valCode.textContent = '6A01.22 (Ngữ dụng)'; dashHeadline.textContent = 'Đạt Trụ cột Xã hội nhưng thiếu Trụ cột Hành vi lặp lại → Phân biệt Mã 6A01.22'; scoreBadge.textContent = 'PHÂN BIỆT MÃ 6A01.22'; scoreBadge.style.background = '#f59e0b'; scoreBadge.style.color = '#ffffff'; resultBox.style.borderLeftColor = '#f59e0b'; resultBox.innerHTML = ` Hướng dẫn Chẩn đoán Phân biệt của ICD-11 (WHO):
• Cá nhân có suy giảm rõ rệt về Giao tiếp & Tương tác xã hội (${cntSOC}/3 đặc điểm) nhưng không bộc lộ các mẫu hành vi hạn hẹp, lặp lại và cứng nhắc (${cntRRB}/4 đặc điểm).
• Theo phân loại ICD-11 của WHO, trường hợp này được mã hóa sang Mã 6A01.22 — Rối loạn ngôn ngữ phát triển với suy giảm chủ yếu về ngôn ngữ ngữ dụng (Developmental language disorder with impairment of mainly pragmatic language). `; } else { valCode.textContent = 'Chưa đủ chuẩn 6A02'; dashHeadline.textContent = 'Chưa hội đủ các Đặc điểm Thiết yếu của Rối loạn Phổ Tự kỷ (Mã 6A02)'; scoreBadge.textContent = 'CHƯA ĐỦ TIÊU CHUẨN 6A02'; scoreBadge.style.background = '#10b981'; scoreBadge.style.color = '#ffffff'; resultBox.style.borderLeftColor = '#10b981'; resultBox.innerHTML = ` Kết luận Đối chiếu ICD-11 — Chưa Đạt Tiêu Chuẩn Mã 6A02:
• Để mã hóa chẩn đoán thuộc nhóm 6A02 (Autism Spectrum Disorder), cá nhân cần có bằng chứng ở cả Trụ cột Giao tiếp – Tương tác xã hội (${cntSOC}/3), Trụ cột Hành vi hạn hẹp – Lặp lại (${cntRRB}/4) và thỏa mãn đầy đủ 2 điều kiện Khởi phát sớm & Suy giảm chức năng (${cntONSET}/2). `; } updateFloatingFabVisibility(); } function applyPreset(type) { featStatus = {}; essentialFeatures.forEach(f => { featStatus[f.id] = 'NO'; }); if (type === 'reset') { renderItems(); updateSummary(); return; } // Bật đủ các đặc điểm thiết yếu của 6A02 ['S1', 'S2', 'S3', 'R1', 'R2', 'R4', 'O1', 'O2'].forEach(id => { featStatus[id] = 'YES'; }); if (type === '6A02_0') { elIDD.value = 'no'; elLang.value = 'mild_none'; elRegression.value = 'no'; featStatus['R1'] = 'NO'; featStatus['R3'] = 'YES'; } else if (type === '6A02_2') { elIDD.value = 'no'; elLang.value = 'impaired'; elRegression.value = 'no'; } else if (type === '6A02_3') { elIDD.value = 'yes'; elLang.value = 'impaired'; elRegression.value = 'no'; } else if (type === '6A02_5') { elIDD.value = 'yes'; elLang.value = 'absent'; elRegression.value = 'yes'; featStatus['R3'] = 'YES'; } renderItems(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); icWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { icWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 980px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } [elIDD, elLang, elRegression].forEach(sel => { sel.onchange = () => { updateSummary(); }; }); shadow.querySelectorAll('.ic-pbtn').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-preset')); }; }); shadow.querySelectorAll('#pillarTabs .ic-tab').forEach(function(tab) { tab.onclick = function() { filterPillar = this.getAttribute('data-pil'); shadow.querySelectorAll('#pillarTabs .ic-tab').forEach(t => t.classList.remove('active')); this.classList.add('active'); renderItems(); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); applyPreset('6A02_2'); })();
ICD-11 (viết tắt của International Classification of Diseases, 11th Revision – Bảng phân loại Quốc tế về Bệnh tật, Phiên bản lần thứ 11) là bộ tiêu chuẩn toàn cầu dùng để phân loại, mã hóa và thống kê tất cả các loại bệnh tật, chấn thương, rối loạn sức khỏe và nguyên nhân tử vong ở con người.
Bộ tiêu chuẩn này do Tổ chức Y tế Thế giới (WHO) biên soạn, được thông qua vào năm 2019 và chính thức có hiệu lực trên toàn cầu từ ngày 1 tháng 1 năm 2022 (thay thế cho phiên bản ICD-10 đã sử dụng từ đầu những năm 1990).
Vai trò và Mục đích cốt lõi của ICD-11
Khác với DSM-5-TR chỉ tập trung vào sức khỏe tâm thần, ICD-11 bao quát toàn bộ nền y học (từ tim mạch, ung thư,truyền nhiễm cho đến tâm thần, chấn thương tai nạn) với hơn 17.000 danh mục mã bệnh và hơn 120.000 thuật ngữ lâm sàng.
-
Thống kê dịch tễ học toàn cầu: Giúp WHO và Bộ Y tế các nước theo dõi tỷ lệ mắc bệnh, nguyên nhân tử vong và phát hiện sớm các dịch bệnh hoặc xu hướng sức khỏe mới.
-
Quản lý bệnh viện và Bảo hiểm y tế: Mọi chẩn đoán trên giấy ra viện, đơn thuốc hay hồ sơ bảo hiểm đều phải gắn với một “mã ICD”. Cơ quan bảo hiểm dựa vào mã này để xét duyệt chi trả viện phí.
-
Chuẩn hóa dữ liệu y tế số: Được thiết kế hoàn toàn trên nền tảng kỹ thuật số, cho phép tích hợp trực tiếp vào phần mềm Quản lý thông tin bệnh viện (HIS) và Hồ sơ bệnh án điện tử (EMR).
Những đột phá lớn của ICD-11 so với ICD-10
Sau hơn 30 năm kể từ bản ICD-10, ICD-11 mang đến những thay đổi mang tính bước ngoặt để bắt kịp y học hiện đại:
-
Cấu trúc mã bệnh thông minh và chi tiết hơn: Cho phép ghép nối nhiều mã (post-coordination) để mô tả chính xác tình trạng bệnh (ví dụ: không chỉ mã hóa “ung thư phổi”, mà có thể ghép thêm mã vị trí khối u, giai đoạn di căn và mức độ nghiêm trọng).
-
Cập nhật lớn về Sức khỏe tâm thần và Hành vi:
-
Thêm các chẩn đoán thời đại số: Lần đầu tiên đưa Rối loạn chơi game (Gaming disorder) và Rối loạn căng thẳng sau sang chấn phức tạp (Complex PTSD) vào danh mục bệnh chính thức.
-
Giải bệnh lý hóa vấn đề bản dạng giới: Chuyển mục “Không phù hợp giới” (Gender incongruence – người chuyển giới) ra khỏi chương Rối loạn tâm thần và đưa vào chương mới về Các tình trạng liên quan đến sức khỏe tình dục, giúp xóa bỏ định kiến coi người chuyển giới là mắc bệnh tâm thần nhưng vẫn đảm bảo quyền tiếp cận dịch vụ y tế của họ.
-
-
Bổ sung chương mới về Y học cổ truyền: Lần đầu tiên các chẩn đoán của Y học cổ truyền (Đông y) được chuẩn hóa và đưa vào hệ thống phân loại y tế quốc tế.
-
Theo dõi tình trạng Kháng kháng sinh (AMR): Cung cấp bộ mã riêng để ghi nhận các ca nhiễm khuẩn kháng thuốc – một trong những mối đe dọa y tế lớn nhất hiện nay.
Ứng dụng của ICD-11 tại Việt Nam
Tại Việt Nam, hệ thống phân loại ICD của WHO là tiêu chuẩn bắt buộc mang tính pháp lý tại tất cả các cơ sở khám chữa bệnh công lập và tư nhân:
| Giai đoạn | Tình hình áp dụng tại các bệnh viện Việt Nam |
| Hiện hành (Phổ biến) | Các bệnh viện vẫn đang sử dụng rộng rãi bảng mã ICD-10 để kê đơn, làm hồ sơ bệnh án và quyết toán Bảo hiểm Y tế (BHYT). |
| Lộ trình chuyển đổi | Bộ Y tế Việt Nam đang trong quá trình dịch thuật chuẩn hóa, tập huấn nhân lực và nâng cấp hạ tầng công nghệ thông tin bệnh viện để chuyển dịch dần từ ICD-10 sang ICD-11 nhằm đồng bộ với dữ liệu của WHO. |
Ví dụ thực tế: Khi bạn đi khám bệnh tại Việt Nam, trên sổ khám hoặc giấy ra viện luôn có mục “Chẩn đoán” kèm theo một ký hiệu như J00 (Viêm mũi họng cấp/cảm thường) hoặc F32 (Giai đoạn trầm cảm) – đó chính là mã bệnh trích từ hệ thống ICD của WHO (hiện tại là mã ICD-10; trong ICD-11, mã của giai đoạn trầm cảm sẽ chuyển thành 6A70).
Dạy bé hỏi câu "Ai đây?"
Để dạy câu hỏi “Ai đây ạ?”, nguyên tắc vẫn là tạo sự tò mò về sự xuất hiện của một người (hoặc nhân vật) mà bé yêu thích nhưng đang bị che khuất. Trẻ cần hiểu rằng câu hỏi này dùng cho người/nhân vật, khác với “Cái gì đây ạ?”dùng cho đồ vật.
1. Công tác chuẩn bị
-
1 chiếc khăn lớn (khăn tắm hoặc chăn mỏng không nhìn xuyên thấu) để chơi trò ú òa.
-
Ảnh in rời của những người thân quen (bố, mẹ, ông, bà, cô giáo, chính bé) hoặc các nhân vật hoạt hình bé cực kỳ yêu thích, đặt úp mặt xuống bàn hoặc cho vào phong bì/hộp.
-
Sự phối hợp của người thứ 3 (bố, bà, anh chị trong nhà) nếu có thể, để tạo tình huống thực tế sinh động nhất.
2. Quy trình 4 bước thực hiện (Tình huống: Trốn tìm dưới khăn / Ú òa)
Lưu ý: Nếu bé mới nói được câu ngắn, bạn có thể rút gọn mục tiêu thành “Ai đây?” trước, khi bé đã thành thạo mới thêm chữ “ạ”.
Bước 1: Tạo sự chú ý và bất ngờ
-
Nhờ một người thân (ví dụ: Bố – người bé rất thích chơi cùng) ngồi trước mặt bé và trùm kín khăn tắm lên đầu, hoặc nấp ngay sau cánh cửa hé mở. (Nếu chỉ có 2 mẹ con, bạn có thể tự lấy khăn trùm lên đầu mình hoặc dùng thú bông che kín mặt).
-
Người dưới khăn tạo ra âm thanh vui nhộn (tiếng cười khúc khích, tiếng giả giọng con vật, hoặc gọi tên bé “Ú òa, đố biết…”) và cử động nhẹ để thu hút sự chú ý của bé.
Bước 2: Làm mẫu và Nhắc (Prompting) đúng thời điểm
-
Ngay khoảnh khắc bé nhìn chằm chằm vào chiếc khăn hoặc đưa tay định kéo khăn ra, bạn giữ nhẹ tay bé lại, hướng ngón trỏ của bé chỉ vào người đang trùm khăn.
-
Nói mẫu ngay lập tức, to, rõ và nhấn giọng: “Ai đây ạ?”
-
Chờ 2–3 giây để bé bắt chước nói theo.
Bước 3: Củng cố (Khen thưởng bằng tương tác xã hội)
-
Ngay khi bé phát âm “Ai đây ạ?” (hoặc “Ai đây?”), lập tức kéo tung chiếc khăn ra.
-
Người dưới khăn reo to với biểu cảm thật vui: “À! Là Bố đây!” rồi cù lét, bế bổng hoặc ôm hôn bé (tạo niềm vui tức thì để bé thấy việc đặt câu hỏi mang lại kết quả cực kỳ thú vị).
Bước 4: Giảm dần sự trợ giúp (Fading) Sau khoảng 5–7 lượt chơi lặp lại (đổi người trùm khăn hoặc đổi vị trí nấp), bạn giảm dần việc nhắc lời:
-
Mức 1 (Nhắc toàn câu): Bạn chỉ tay và nói “Ai đây ạ?” -> Bé nói theo.
-
Mức 2 (Nhắc từ đầu): Khi bé định kéo khăn, bạn chỉ tay và gợi ý khẩu hình “Ai…” -> Bé tự bật ra “…đây ạ?”
-
Mức 3 (Tự chủ động): Người thân trùm khăn trước mặt bé, bạn chỉ tay vào chiếc khăn, nhìn bé với ánh mắt chờ đợi (im lặng 3–5 giây) -> Bé tự hỏi “Ai đây ạ?” để được kéo khăn.
3. Bốn tình huống mở rộng trong sinh hoạt hàng ngày
Để bé hiểu khái niệm “Ai” dùng trong nhiều hoàn cảnh khác nhau, bạn hãy lồng ghép vào các hoạt động sau:
4. Mẹo giúp bé phân biệt “Cái gì đây ạ?” và “Ai đây ạ?”
Khi bé đã biết nói cả hai câu, trẻ tự kỷ rất dễ bị nhầm lẫn (chỉ vào mẹ nhưng lại hỏi “Cái gì đây ạ?”). Để giúp bé phân biệt:
-
Giai đoạn đầu: Tách biệt rõ thời gian dạy. Chỉ chuyển sang dạy “Ai đây ạ?” khi bé đã tương đối vững câu “Cái gì đây ạ?”.
-
Giai đoạn kết hợp (Trò chơi xen kẽ): Chuẩn bị 1 chiếc hộp lớn (hoặc sau cánh cửa). Lượt 1: Giấu một món đồ chơi -> Nhắc bé hỏi “Cái gì đây ạ?”. Lượt 2: Bố nấp sau cửa -> Nhắc bé hỏi “Ai đây ạ?”.
-
Sửa lỗi nhẹ nhàng (Không chê trách): Nếu bé chỉ vào bức ảnh của bố mà hỏi “Cái gì đây ạ?”, bạn đừng nói “Sai rồi”, hãy lập tức làm mẫu đè lên bằng câu đúng với giọng nhấn mạnh từ đầu: “Ai đây ạ? -> À, là Bố!”, rồi khuyến khích bé lặp lại câu đúng.
[Tự kỷ] ADI-R: Phỏng vấn sâu lịch sử phát triển chẩn đoán phổ tự kỷ cho trẻ từ 2 tuổi
(function() { const host = document.getElementById('adir-wp-host'); if (!host) return; const placeholder = document.createComment('adir-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // 37 Mục cốt lõi trong Thuật toán Chẩn đoán ADI-R chia theo 4 Miền (A, B, C, D) và các Tiểu lĩnh vực chuẩn // dom: 'A' (Tương tác xã hội - Cut >= 10), 'B' (Giao tiếp - Cut >= 8 nếu có lời nói, >= 7 nếu chưa nói), 'C' (Hành vi lặp lại - Cut >= 3), 'D' (Khởi phát = 1) // verbalOnly: true đối với tiểu lĩnh vực B2(V) và B3(V) (Chỉ tính cho trẻ/người có ngôn ngữ nói cụm từ) const algoItems = [ // MIỀN A: TƯƠNG TÁC XÃ HỘI QUA LẠI (15 mục -> Tối đa 30 điểm thuật toán, Ngưỡng cắt >= 10) { id: 1, dom: 'A', sub: 'A1. Hành vi phi ngôn ngữ điều tiết tương tác', verbalOnly: false, name: 'A1.1. Giao tiếp ánh mắt trực diện (Direct Gaze)', desc: 'Mức độ sử dụng ánh mắt nhìn trực diện vào mặt người khác để bắt đầu, duy trì và điều tiết tương tác xã hội (Giai đoạn 4–5 tuổi / Hiện tại).' }, { id: 2, dom: 'A', sub: 'A1. Hành vi phi ngôn ngữ điều tiết tương tác', verbalOnly: false, name: 'A1.2. Nụ cười xã hội (Social Smiling)', desc: 'Khả năng mỉm cười tự nhiên đáp lại người khác hoặc mỉm cười kết hợp nhìn mắt để chào hỏi, chia sẻ sự thân thiện.' }, { id: 3, dom: 'A', sub: 'A1. Hành vi phi ngôn ngữ điều tiết tương tác', verbalOnly: false, name: 'A1.3. Độ đa dạng biểu cảm khuôn mặt dùng để giao tiếp', desc: 'Sự phong phú của nét mặt (ngạc nhiên, vui, buồn, bối rối...) được hướng về phía người khác để truyền tải cảm xúc.' }, { id: 4, dom: 'A', sub: 'A2. Phát triển mối quan hệ bạn bè đồng trang lứa', verbalOnly: false, name: 'A2.1. Chơi tưởng tượng cùng với bạn đồng trang lứa', desc: 'Khả năng cùng bàn bạc, chia vai và phối hợp chơi đóng vai giả vờ chung với các bạn nhỏ khác.' }, { id: 5, dom: 'A', sub: 'A2. Phát triển mối quan hệ bạn bè đồng trang lứa', verbalOnly: false, name: 'A2.2. Sự quan tâm đến những đứa trẻ khác', desc: 'Mức độ chú ý, thích thú quan sát và muốn tiến lại gần các bạn cùng lứa tuổi.' }, { id: 6, dom: 'A', sub: 'A2. Phát triển mối quan hệ bạn bè đồng trang lứa', verbalOnly: false, name: 'A2.3. Phản ứng khi những đứa trẻ khác tiến lại gần', desc: 'Sự cởi mở, vui vẻ và hợp tác khi một bạn nhỏ khác chủ động tiến tới rủ chơi hoặc bắt chuyện.' }, { id: 7, dom: 'A', sub: 'A2. Phát triển mối quan hệ bạn bè đồng trang lứa', verbalOnly: false, name: 'A2.4. Chơi theo nhóm với bạn đồng trang lứa / Tình bạn thân', desc: 'Khả năng tham gia các trò chơi tập thể luân phiên (từ 4–10 tuổi) hoặc xây dựng tình bạn thân thiết hai chiều (từ 10 tuổi trở lên).' }, { id: 8, dom: 'A', sub: 'A3. Chia sẻ niềm vui và sở thích chung', verbalOnly: false, name: 'A3.1. Đưa đồ vật cho người khác xem và định hướng chú ý (Showing)', desc: 'Chủ động mang đồ chơi, bức vẽ hoặc vật mới lạ lại khoe với bố mẹ chỉ để chia sẻ niềm vui (chứ không phải để nhờ sửa/mở giúp).' }, { id: 9, dom: 'A', sub: 'A3. Chia sẻ niềm vui và sở thích chung', verbalOnly: false, name: 'A3.2. Tự nguyện chia sẻ đồ vật với người khác (Offering to Share)', desc: 'Tự giác mời hoặc chia sẻ đồ ăn, món đồ chơi yêu thích với bố mẹ hoặc bạn bè.' }, { id: 10, dom: 'A', sub: 'A3. Chia sẻ niềm vui và sở thích chung', verbalOnly: false, name: 'A3.3. Tìm kiếm việc chia sẻ niềm vui với người khác', desc: 'Mong muốn lôi cuốn bố mẹ/người thân cùng tham gia vào hoạt động trẻ đang hứng thú để nhân đôi niềm vui.' }, { id: 11, dom: 'A', sub: 'A4. Tương hỗ về mặt cảm xúc – xã hội', verbalOnly: false, name: 'A4.1. Sử dụng cơ thể của người khác để giao tiếp (Use of Other’s Body)', desc: 'Cầm bàn tay hoặc cổ tay của bố mẹ đặt vào nắm cửa, nắp hộp như một công cụ cơ học mà không nhìn mặt hay giao tiếp.' }, { id: 12, dom: 'A', sub: 'A4. Tương hỗ về mặt cảm xúc – xã hội', verbalOnly: false, name: 'A4.2. Chủ động vỗ về, an ủi người khác (Offering Comfort)', desc: 'Tự nhiên nhận ra khi bố mẹ/người thân bị đau hoặc buồn khóc và tiến lại vỗ về, hỏi thăm, ôm an ủi.' }, { id: 13, dom: 'A', sub: 'A4. Tương hỗ về mặt cảm xúc – xã hội', verbalOnly: false, name: 'A4.3. Chất lượng các khởi xướng xã hội (Quality of Social Overtures)', desc: 'Sự phối hợp nhịp nhàng giữa ánh mắt, nét mặt, cử chỉ và âm thanh khi trẻ chủ động xin giúp đỡ hoặc bắt chuyện.' }, { id: 14, dom: 'A', sub: 'A4. Tương hỗ về mặt cảm xúc – xã hội', verbalOnly: false, name: 'A4.4. Biểu cảm khuôn mặt không phù hợp ngữ cảnh', desc: 'Cười to vô cớ một mình hoặc biểu lộ nét mặt hoàn toàn lệch pha với bầu không khí cảm xúc xung quanh.' }, { id: 15, dom: 'A', sub: 'A4. Tương hỗ về mặt cảm xúc – xã hội', verbalOnly: false, name: 'A4.5. Tính phù hợp của các phản ứng xã hội', desc: 'Mức độ đáp lại tự nhiên, đúng ngữ cảnh khi người lớn hoặc người quen bắt chuyện, gợi chuyện.' }, // MIỀN B: GIAO TIẾP (13 mục cho nhóm Có lời nói -> Max 26đ, Cut >= 8 | 7 mục cho nhóm Chưa nói -> Max 14đ, Cut >= 7) { id: 16, dom: 'B', sub: 'B1. Cử chỉ giao tiếp & Bù đắp phi ngôn ngữ', verbalOnly: false, name: 'B1.1. Chỉ trỏ để thể hiện sự quan tâm / chia sẻ (Pointing to Express Interest)', desc: 'Dùng ngón trỏ chỉ vào các vật ở xa (máy bay, con vật, tranh ảnh) kết hợp nhìn lại bố mẹ để chia sẻ sự chú ý.' }, { id: 17, dom: 'B', sub: 'B1. Cử chỉ giao tiếp & Bù đắp phi ngôn ngữ', verbalOnly: false, name: 'B1.2. Gật đầu biểu thị ý "Có / Đồng ý"', desc: 'Sử dụng cử chỉ gật đầu tự nhiên để trả lời đồng ý trong giao tiếp hàng ngày.' }, { id: 18, dom: 'B', sub: 'B1. Cử chỉ giao tiếp & Bù đắp phi ngôn ngữ', verbalOnly: false, name: 'B1.3. Lắc đầu biểu thị ý "Không / Từ chối"', desc: 'Sử dụng cử chỉ lắc đầu tự nhiên để từ chối hoặc phủ định.' }, { id: 19, dom: 'B', sub: 'B1. Cử chỉ giao tiếp & Bù đắp phi ngôn ngữ', verbalOnly: false, name: 'B1.4. Các cử chỉ quy ước và cử chỉ mô tả bằng tay', desc: 'Vẫy tay chào tạm biệt, vỗ tay hoan hô, ra hiệu im lặng hoặc dùng tay mô tả hình dáng/hành động của sự vật.' }, { id: 20, dom: 'B', sub: 'B4. Chơi giả vờ và Bắt chước xã hội', verbalOnly: false, name: 'B4.1. Bắt chước tự phát các hành động của người khác', desc: 'Tự nhiên bắt chước các việc làm hàng ngày của bố mẹ (như quét nhà, lau bàn, nghe điện thoại, nấu ăn) mà không cần nhắc.' }, { id: 21, dom: 'B', sub: 'B4. Chơi giả vờ và Bắt chước xã hội', verbalOnly: false, name: 'B4.2. Chơi giả vờ / Chơi đóng vai tưởng tượng (Imaginative Play)', desc: 'Sử dụng búp bê, mô hình nhân vật hoặc đồ vật thay thế để dựng các kịch bản đóng vai đa dạng, sáng tạo.' }, { id: 22, dom: 'B', sub: 'B4. Chơi giả vờ và Bắt chước xã hội', verbalOnly: false, name: 'B4.3. Chơi các trò chơi xã hội bắt chước qua lại', desc: 'Hào hứng tham gia và chủ động khởi xướng các trò chơi tương tác như ú òa, chi chi chành chành, vỗ tay theo bài hát.' }, { id: 23, dom: 'B', sub: 'B2(V). Khởi xướng và Duy trì hội thoại (Chỉ chấm khi có lời nói)', verbalOnly: true, name: 'B2(V).1. Tán gẫu xã hội / Trò chuyện thân thiện (Social Verbalization)', desc: 'Nói chuyện với người khác chỉ nhằm mục đích thân thiện, chia sẻ trải nghiệm (chứ không chỉ để xin đồ hoặc hỏi thông tin).' }, { id: 24, dom: 'B', sub: 'B2(V). Khởi xướng và Duy trì hội thoại (Chỉ chấm khi có lời nói)', verbalOnly: true, name: 'B2(V).2. Hội thoại qua lại hai chiều (Reciprocal Conversation)', desc: 'Khả năng lắng nghe ý của người đối diện và nối tiếp câu chuyện qua lại nhiều lượt một cách linh hoạt.' }, { id: 25, dom: 'B', sub: 'B3(V). Ngôn ngữ rập khuôn, lặp lại và đặc dị (Chỉ chấm khi có lời nói)', verbalOnly: true, name: 'B3(V).1. Ngôn ngữ rập khuôn / Nhại lời trì hoãn', desc: 'Lặp đi lặp lại các câu thoại từ tivi, quảng cáo, sách truyện hoặc dùng các cụm từ khuôn mẫu cố định.' }, { id: 26, dom: 'B', sub: 'B3(V). Ngôn ngữ rập khuôn, lặp lại và đặc dị (Chỉ chấm khi có lời nói)', verbalOnly: true, name: 'B3(V).2. Câu hỏi hoặc phát ngôn không phù hợp ngữ cảnh', desc: 'Hay buột miệng đặt những câu hỏi cá nhân thiếu tế nhị hoặc nói những câu lạc lõng với hoàn cảnh xã hội.' }, { id: 27, dom: 'B', sub: 'B3(V). Ngôn ngữ rập khuôn, lặp lại và đặc dị (Chỉ chấm khi có lời nói)', verbalOnly: true, name: 'B3(V).3. Đảo ngược đại từ nhân xưng (Pronominal Reversal)', desc: 'Nhầm lẫn đại từ xưng hô (xưng "Bạn / Mẹ / Anh" thay vì "Con / Tôi", hoặc tự gọi bản thân bằng tên riêng ở ngôi thứ ba).' }, { id: 28, dom: 'B', sub: 'B3(V). Ngôn ngữ rập khuôn, lặp lại và đặc dị (Chỉ chấm khi có lời nói)', verbalOnly: true, name: 'B3(V).4. Từ ngữ tự bịa / Cách dùng từ đặc dị (Neologisms)', desc: 'Tự đặt ra các từ mới không có trong từ điển hoặc gán một ý nghĩa riêng biệt kỳ lạ cho từ ngữ thông thường.' }, // MIỀN C: HÀNH VI HẠN HẸP, LẶP LẠI VÀ RẬP KHUÔN (6 mục -> Tối đa 12 điểm thuật toán, Ngưỡng cắt >= 3) { id: 29, dom: 'C', sub: 'C1. Bận tâm bao trùm và Sở thích hạn hẹp', verbalOnly: false, name: 'C1.1. Sở thích khác thường (Unusual Preoccupations)', desc: 'Mối quan tâm kỳ lạ về mặt nội dung (như biển số xe, lịch vạn niên, hệ thống ống nước, quạt trần, sơ đồ tàu điện).' }, { id: 30, dom: 'C', sub: 'C1. Bận tâm bao trùm và Sở thích hạn hẹp', verbalOnly: false, name: 'C1.2. Sở thích thu hẹp với cường độ quá mức (Circumscribed Interests)', desc: 'Đam mê một chủ đề với mức độ mãnh liệt, chiếm trọn thời gian rảnh và cản trở các hoạt động sinh hoạt/giao lưu khác.' }, { id: 31, dom: 'C', sub: 'C2. Thói quen, Nghi thức cứng nhắc và Kháng cự thay đổi', verbalOnly: false, name: 'C2.1. Nghi thức lời nói hoặc Nghi thức hành vi bắt buộc', desc: 'Bắt buộc phải thực hiện các hành động theo đúng một trình tự cố định hoặc ép người nhà phải nói/trả lời theo đúng một kịch bản.' }, { id: 32, dom: 'C', sub: 'C3. Cử động tay và cơ thể định hình, rập khuôn', verbalOnly: false, name: 'C3.1. Cử động tay/ngón tay hoặc toàn thân định hình (Mannerisms)', desc: 'Vẫy tay, búng/xoắn ngón tay trước mắt, nhón chân đi lại, xoay tròn người hoặc đung đưa thân mình lặp đi lặp lại.' }, { id: 33, dom: 'C', sub: 'C4. Bận tâm đến bộ phận đồ vật hoặc Giác quan bất thường', verbalOnly: false, name: 'C4.1. Sử dụng đồ vật lặp lại / Bận tâm đến bộ phận của đồ vật', desc: 'Xếp hàng dài các đồ vật, chỉ thích xoay bánh xe ô tô hoặc bật/tắt công tắc liên tục thay vì chơi đúng chức năng.' }, { id: 34, dom: 'C', sub: 'C4. Bận tâm đến bộ phận đồ vật hoặc Giác quan bất thường', verbalOnly: false, name: 'C4.2. Các mối quan tâm giác quan khác thường (Unusual Sensory Interests)', desc: 'Nhìn nghiêng sát mắt vào vật chuyển động, ngửi/liếm đồ vật không phải thức ăn, hoặc mê mẩn sờ ngắm một số bề mặt.' }, // MIỀN D: BẤT THƯỜNG PHÁT TRIỂN KHỞI PHÁT TRƯỚC 36 THÁNG TUỔI (3 nhóm chỉ báo đại diện -> Ngưỡng cắt >= 1) { id: 35, dom: 'D', sub: 'D. Khởi phát bất thường ≤ 36 tháng tuổi (Tính 0 hoặc 1 điểm)', verbalOnly: false, name: 'D1. Cha mẹ nhận thấy dấu hiệu bất thường đầu tiên trước 36 tháng tuổi', desc: 'Phụ huynh đã bắt đầu lo lắng về sự phát triển ngôn ngữ, giao tiếp mắt hoặc phản ứng xã hội của bé từ khi bé dưới 3 tuổi.' }, { id: 36, dom: 'D', sub: 'D. Khởi phát bất thường ≤ 36 tháng tuổi (Tính 0 hoặc 1 điểm)', verbalOnly: false, name: 'D2. Chậm mốc nói từ đơn (> 24 tháng) hoặc nói cụm từ (> 33 tháng)', desc: 'Bé nói từ đơn có nghĩa đầu tiên sau 24 tháng tuổi HOẶC nói cụm từ (2–3 từ) đầu tiên sau 33 tháng tuổi (hoặc từng mất kỹ năng ngôn ngữ).' }, { id: 37, dom: 'D', sub: 'D. Khởi phát bất thường ≤ 36 tháng tuổi (Tính 0 hoặc 1 điểm)', verbalOnly: false, name: 'D3. Nhận định của chuyên gia lâm sàng về thời điểm khởi phát ≤ 36 tháng', desc: 'Dựa trên toàn bộ bệnh sử, nhà lâm sàng xác nhận các bất thường phát triển đã xuất hiện trước mốc 36 tháng tuổi.' } ]; let isVerbal = true; // true = Có ngôn ngữ nói (Miền B max 26, cut >= 8) | false = Chưa có lời nói (Miền B bỏ B2V & B3V, max 14, cut >= 7) let rawScores = {}; // Lưu 0, 1, 2, 3 let filterDom = 'all'; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .ar-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .ar-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .ar-inner { padding: 24px; max-width: 940px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .ar-wrap.is-fullscreen .ar-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .ar-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(30, 58, 138, 0.45), 0 0 0 0 rgba(30, 58, 138, 0.4); } 70% { box-shadow: 0 6px 20px rgba(30, 58, 138, 0.45), 0 0 0 10px rgba(30, 58, 138, 0); } 100% { box-shadow: 0 6px 20px rgba(30, 58, 138, 0.45), 0 0 0 0 rgba(30, 58, 138, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #1e3a8a 0%, #2563eb 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(30, 58, 138, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Header */ .ar-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .ar-header-text { flex: 1 1 260px; } .ar-title { font-size: 21px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .ar-desc { font-size: 14px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #eff6ff; color: #1e3a8a; border: 1px solid #bfdbfe; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #2563eb; color: #ffffff; border-color: #2563eb; } /* Top Controls */ .ar-top-controls { display: grid; grid-template-columns: 1fr 1.25fr; gap: 12px; margin-bottom: 14px; } .ar-box-ctrl { background: #f8fafc; border: 1px solid #e2e8f0; padding: 10px 12px; border-radius: 10px; } .ar-ctrl-label { font-size: 12px; font-weight: 700; color: #475569; text-transform: uppercase; margin-bottom: 6px; display: block; } .ar-btn-group { display: flex; flex-wrap: wrap; gap: 6px; } .ar-btn-sm { padding: 6px 10px; border-radius: 7px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; flex: 1; text-align: center; touch-action: manipulation; } .ar-btn-sm:hover { background: #f1f5f9; } .ar-btn-sm.active { background: #1e3a8a; color: #ffffff; border-color: #1e3a8a; } .ar-btn-sm.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; flex: 0 0 auto; } .ar-domain-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 16px; } .ar-dtab { padding: 6px 12px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .ar-dtab.active { background: #1e3a8a; color: #ffffff; border-color: #1e3a8a; } /* Sticky Dashboard */ .ar-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .ar-wrap.is-fullscreen .ar-dash { top: 58px; } .ar-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .ar-score-big { font-size: 21px; font-weight: 800; line-height: 1.2; } .ar-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .ar-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .ar-pillars { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; font-size: 12px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .ar-pillar-box { background: #1e293b; padding: 8px 10px; border-radius: 8px; border-left: 3px solid #475569; } .ar-pillar-box.met { border-left-color: #ef4444; background: rgba(239, 68, 68, 0.14); } .ar-pillar-box.safe { border-left-color: #10b981; } .ar-pillar-val { font-weight: 700; color: #ffffff; font-size: 13.5px; display: block; margin-top: 2px; } /* Danh sách mục phỏng vấn thuật toán */ .ar-q-item { border: 1px solid #e2e8f0; border-radius: 10px; padding: 14px 16px; margin-bottom: 12px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 10px; } .ar-q-item.high-scored { border-color: #fda4af; background: #fff5f5; } .ar-q-item.mid-scored { border-color: #fde68a; background: #fffbeb; } .ar-q-item.skipped-item { opacity: 0.45; background: #f8fafc; border-style: dashed; pointer-events: none; } .ar-q-title { font-size: 14.8px; font-weight: 700; color: #0f172a; } .ar-q-desc { font-size: 13.5px; color: #475569; } .ar-q-tags { display: flex; flex-wrap: wrap; gap: 6px; } .ar-tag { font-size: 11px; font-weight: 600; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .ar-tag.dom-A { background: #dbeafe; color: #1d4ed8; } .ar-tag.dom-B { background: #f3e8ff; color: #7e22ce; } .ar-tag.dom-C { background: #fef3c7; color: #b45309; } .ar-tag.dom-D { background: #dcfce7; color: #15803d; } .ar-ans-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; } .ar-abtn { padding: 8px 6px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 600; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .ar-abtn:hover { border-color: #64748b; } .ar-abtn.sel-0 { background: #10b981; border-color: #10b981; color: #ffffff; font-weight: 700; } .ar-abtn.sel-1 { background: #f59e0b; border-color: #f59e0b; color: #ffffff; font-weight: 700; } .ar-abtn.sel-2, .ar-abtn.sel-3 { background: #ef4444; border-color: #ef4444; color: #ffffff; font-weight: 700; } .ar-result-box { margin-top: 20px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #64748b; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 720px) { .ar-inner { padding: 14px; } .ar-title { font-size: 18px; } .ar-top-controls { grid-template-columns: 1fr; } .ar-pillars { grid-template-columns: 1fr 1fr; } .ar-ans-grid { grid-template-columns: 1fr 1fr; } .ar-abtn { padding: 10px 6px; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
Bảng Chấm Điểm Thuật Toán Phỏng Vấn Chẩn Đoán Tự Kỷ ADI-R (4 Miền Cốt Lõi)
Công cụ phỏng vấn chẩn đoán tiêu chuẩn vàng của Rutter, Le Couteur & Lord (2003) dành cho cá nhân có tuổi phát triển tâm thần từ 24 tháng trở lên. Hệ thống tự động quy đổi điểm thuật toán (mức 3 quy về 2 điểm) và đối chiếu điều kiện đạt chuẩn chẩn đoán trên cả 4 miền: Miền A (≥ 10đ), Miền B (≥ 8đ hoặc ≥ 7đ), Miền C (≥ 3đ) và Miền D (≥ 1đ).
• Miền A (Tương tác xã hội qua lại): Đạt ${sA}/30 điểm (Vượt ngưỡng chuẩn ≥ 10 điểm).
• Miền B (Giao tiếp - ${isVerbal ? 'Nhóm có lời nói' : 'Nhóm chưa có lời nói'}): Đạt ${sB}/${maxB} điểm (Vượt ngưỡng chuẩn ≥ ${cutB} điểm).
• Miền C (Hành vi hạn hẹp & Lặp lại): Đạt ${sC}/12 điểm (Vượt ngưỡng chuẩn ≥ 3 điểm).
• Miền D (Khởi phát bất thường ≤ 36 tháng): Đạt ${sD}/3 điểm (Vượt ngưỡng chuẩn ≥ 1 điểm).
• Hướng xử trí lâm sàng: Hồ sơ lịch sử phát triển trên ADI-R hoàn toàn khớp với chẩn đoán Rối loạn phổ tự kỷ. Cần kết hợp đối chiếu với kết quả quan sát trực tiếp trên ADOS-2 và thang hành vi thích ứng Vineland-3 để hoàn thiện báo cáo chẩn đoán xác định. `; } else if (metCount >= 2) { scoreBadge.textContent = `ĐẠT ${metCount}/4 MIỀN (HỒ SƠ KHÔNG ĐIỂN HÌNH)`; scoreBadge.style.background = '#f59e0b'; scoreBadge.style.color = '#ffffff'; resultBox.style.borderLeftColor = '#f59e0b'; resultBox.innerHTML = ` Kết luận Thuật toán ADI-R — Hồ Sơ Phổ Tự Kỷ Không Điển Hình / Chưa Đủ 4 Miền (Đạt ${metCount}/4 Miền):
• Theo quy tắc nghiêm ngặt của ADI-R, chẩn đoán Tự kỷ cổ điển yêu cầu vượt ngưỡng ở cả 4 miền. Hiện tại hồ sơ đạt: Miền A (${sA}/30, ngưỡng ≥10) • Miền B (${sB}/${maxB}, ngưỡng ≥${cutB}) • Miền C (${sC}/12, ngưỡng ≥3) • Miền D (${sD}/3, ngưỡng ≥1).
• Ý nghĩa lâm sàng: Trường hợp vượt ngưỡng ở Miền A và Miền B nhưng thiếu Miền C (Hành vi lặp lại) rất hay gặp ở Rối loạn giao tiếp xã hội (SPCD) hoặc Tự kỷ mức độ nhẹ/chức năng cao. Cần kết hợp kết quả quan sát trực tiếp ADOS-2 và tiêu chuẩn DSM-5 để quyết định chẩn đoán cuối cùng. `; } else { scoreBadge.textContent = `DƯỚI NGƯỠNG CHẨN ĐOÁN ADI-R (${metCount}/4 MIỀN)`; scoreBadge.style.background = '#10b981'; scoreBadge.style.color = '#ffffff'; resultBox.style.borderLeftColor = '#10b981'; resultBox.innerHTML = ` Kết luận Thuật toán ADI-R — Không Đạt Ngưỡng Chẩn Đoán Tự Kỷ (Chỉ đạt ${metCount}/4 Miền):
• Điểm số chi tiết: Miền A (${sA}/30) • Miền B (${sB}/${maxB}) • Miền C (${sC}/12) • Miền D (${sD}/3).
• Nếu trẻ chỉ tăng điểm đơn độc ở Miền B (Giao tiếp) và Miền D (Chậm nói trước 36 tháng) nhưng Miền A (Tương tác xã hội) và Miền C (Hành vi lặp lại) hoàn toàn bình thường, hồ sơ hướng tới Rối loạn ngôn ngữ phát triển (DLD) chứ không phải Rối loạn phổ tự kỷ. `; } updateFloatingFabVisibility(); } function applyPreset(type) { rawScores = {}; if (type === 'reset') { renderItems(); updateSummary(); return; } algoItems.forEach(function(it) { rawScores[it.id] = 0; }); if (type === 'non') { // Rối loạn ngôn ngữ đơn thuần: Miền A = 3đ (Dưới ngưỡng 10), Miền B = 6đ, Miền C = 1đ, Miền D = 2đ [1, 4, 21].forEach(id => { rawScores[id] = 1; }); [16, 19, 20, 23, 24].forEach(id => { rawScores[id] = 1; }); rawScores[29] = 1; rawScores[35] = 1; rawScores[36] = 1; } else if (type === 'partial') { // Đạt Miền A (14đ), Miền B (10đ), Miền D (2đ), nhưng thiếu Miền C (1đ { rawScores[id] = (idx { rawScores[id] = (idx = 3) rawScores[35] = 1; rawScores[37] = 1; } else if (type === 'autism') { // Đạt chuẩn cả 4 miền: Miền A (19đ), Miền B (15đ), Miền C (7đ), Miền D (3đ) [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15].forEach((id, idx) => { rawScores[id] = (idx { rawScores[id] = (idx { rawScores[id] = (idx < 2) ? 2 : 1; }); rawScores[35] = 2; rawScores[36] = 2; rawScores[37] = 1; } renderItems(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); arWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { arWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 940px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } shadow.querySelectorAll('#verbalGroup .ar-btn-sm').forEach(function(btn) { btn.onclick = function() { isVerbal = (this.getAttribute('data-verbal') === 'yes'); shadow.querySelectorAll('#verbalGroup .ar-btn-sm').forEach(b => b.classList.remove('active')); this.classList.add('active'); renderItems(); updateSummary(); }; }); shadow.querySelectorAll('#presetGroup .ar-btn-sm').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-pre')); }; }); shadow.querySelectorAll('#domainTabs .ar-dtab').forEach(function(tab) { tab.onclick = function() { filterDom = this.getAttribute('data-dom'); shadow.querySelectorAll('#domainTabs .ar-dtab').forEach(t => t.classList.remove('active')); this.classList.add('active'); renderItems(); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); applyPreset('autism'); })();
ADI-R (Autism Diagnostic Interview-Revised — Phỏng vấn Chẩn đoán Tự kỷ, Bản Hiệu đính) là công cụ phỏng vấn lâm sàng bán cấu trúc chuyên sâu dành cho phụ huynh hoặc người chăm sóc chính, được phát triển bởi Giáo sư Michael Rutter, Ann Le Couteur và Catherine Lord (2003).
Trong y khoa thế giới, bộ đôi ADOS-2 (quan sát trực tiếp hành vi hiện tại) và ADI-R (khai thác toàn bộ lịch sử phát triển từ nhỏ) tạo thành “Tiêu chuẩn vàng kép” (Dual Gold Standard) để chẩn đoán xác định Rối loạn phổ tự kỷ (ASD).
Tóm tắt cốt lõi về công cụ ADI-R
-
Đối tượng áp dụng: Mọi cá nhân (từ trẻ nhỏ đến người trưởng thành) miễn là có tuổi phát triển tâm thần (Mental Age) từ 2.0 tuổi (24 tháng) trở lên.
-
Hình thức & Thời gian: Bác sĩ/Chuyên gia tâm lý phỏng vấn trực tiếp phụ huynh qua 93 mục hỏi chi tiết (kéo dài từ 1.5 đến 2.5 giờ), tập trung vào các hành vi cụ thể ở giai đoạn 4.0 – 5.0 tuổi (“Most Abnormal 4.0–5.0” — giai đoạn các triệu chứng tự kỷ bộc lộ điển hình nhất và ít bị che lấp bởi kỹ năng học tập sau này) hoặc thời điểm hiện tại (đối với trẻ dưới 4 tuổi).
-
4 Trụ cột trong Thuật toán Chẩn đoán ADI-R (Diagnostic Algorithm): Mặc dù phỏng vấn 93 câu, thuật toán tính điểm chẩn đoán chỉ rút trích các mục cốt lõi chia vào 4 miền (Domains) và 12 tiểu lĩnh vực (Subdomains):
| Mã miền | Tên miền đánh giá trong Thuật toán ADI-R | Số tiểu lĩnh vực | Điểm tối đa | Ngưỡng điểm cắt chuẩn (Cut-off) |
| Miền A | Bất thường định tính trong Tương tác Xã hội qua lại (Reciprocal Social Interaction) | 4 tiểu lĩnh vực (A1, A2, A3, A4) | 30 điểm | điểm |
| Miền B (V) (Có lời nói) | Bất thường định tính trong Giao tiếp — Nhóm có ngôn ngữ nói (Verbal) | 4 tiểu lĩnh vực (B1, B4, B2V, B3V) | 26 điểm | điểm |
| Miền B (NV)(Chưa nói) | Bất thường định tính trong Giao tiếp — Nhóm chưa có ngôn ngữ nói (Non-Verbal) | 2 tiểu lĩnh vực (B1, B4 — bỏ B2V, B3V) | 14 điểm | điểm |
| Miền C | Các mẫu hành vi hạn hẹp, lặp đi lặp lại và rập khuôn (Restricted, Repetitive Behaviors) | 4 tiểu lĩnh vực (C1, C2, C3, C4) | 12 điểm | điểm |
| Miền D | Bất thường phát triển khởi phát trước 36 tháng tuổi (Abnormality of Development $\le 36$m) | 5 chỉ báo khởi phát sớm (D1 – D5) | 5 điểm | điểm |
- Quy tắc chấm điểm & Kết luận Chẩn đoán ADI-R:
-
Tương tự ADOS-2, khi chấm phỏng vấn thô, mỗi mục có thang
0,1,2,3điểm. Khi đưa vào Thuật toán chẩn đoán, mọi mức điểm3đều được quy đổi về2điểm (ngoài trừ Miền D quy đổi nhị phân0hoặc1điểm). -
Điều kiện dương tính chuẩn ADI-R: Để đạt chẩn đoán Tự kỷ (Autism) theo thuật toán ADI-R, cá nhân phải đồng thời đạt hoặc vượt ngưỡng điểm cắt ở CẢ 4 MIỀN (A, B, C và D). Nếu chỉ vượt ngưỡng ở 2 hoặc 3 miền (ví dụ thiếu Miền C hoặc Miền D), hồ sơ sẽ được phân loại là Đặc điểm Phổ tự kỷ không điển hình / Cần kết hợp ADOS-2 & DSM-5.
Chẩn đoán chuyên sâu
(function(){
function mountShadowDiagTable(){
var host = document.getElementById('phuchoi-diag-host');
if(!host) return;
if(host.shadowRoot) return;
if(!host.attachShadow) return;
var shadow = host.attachShadow({mode:'open'});
var css = [
':host{all:initial;display:block;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:#1e293b;line-height:1.6;width:100%;box-sizing:border-box;}',
'*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}',
'.diag-card{width:100%;background:#ffffff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 8px 24px rgba(15,23,42,0.05);overflow:hidden;}',
'.diag-intro{background:linear-gradient(135deg,#f0fdfa 0%,#ccfbf1 100%);padding:20px 24px;border-bottom:1px solid #99f6e4;display:flex;align-items:flex-start;gap:14px;}',
'.diag-icon{font-size:26px;line-height:1;background:#ffffff;width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 10px rgba(13,148,136,0.14);flex-shrink:0;}',
'.diag-intro-text{font-size:15px;color:#0f172a;margin:0;}',
'.diag-intro-text strong{color:#0f766e;font-weight:700;}',
'.diag-table{width:100%;border-collapse:collapse;border-spacing:0;}',
'.diag-table thead th{background:#f8fafc;color:#334155;font-size:12.5px;font-weight:800;text-transform:uppercase;letter-spacing:0.4px;padding:14px 20px;text-align:left;border-bottom:2px solid #e2e8f0;}',
'.diag-table tbody tr{border-bottom:1px solid #e2e8f0;transition:background 0.2s ease;}',
'.diag-table tbody tr:last-child{border-bottom:none;}',
'.diag-table tbody tr:hover{background:#f8fafc;}',
'.diag-table td{padding:20px;vertical-align:top;}',
'.step-tag{display:inline-block;font-size:11px;font-weight:700;padding:2px 9px;border-radius:999px;text-transform:uppercase;margin-bottom:6px;}',
'.tag-teal{background:#ccfbf1;color:#0f766e;}',
'.tag-indigo{background:#e0e7ff;color:#4338ca;}',
'.group-badge{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:800;color:#0f172a;}',
'.tools-wrap{display:flex;flex-wrap:wrap;gap:8px;}',
'.tool-link{display:inline-flex;align-items:center;gap:5px;padding:6px 13px;border-radius:8px;font-size:13.5px;font-weight:700;text-decoration:none;transition:all 0.18s ease;border:1.5px solid transparent;cursor:pointer;}',
'.tool-link::after{content:"↗";font-size:11px;opacity:0.75;}',
'.tool-sub{font-weight:500;font-size:12px;opacity:0.85;}',
'.btn-teal{background:#f0fdfa;color:#0f766e;border-color:#99f6e4;}',
'.btn-teal:hover{background:#0d9488;color:#ffffff;border-color:#0d9488;transform:translateY(-2px);box-shadow:0 4px 10px rgba(13,148,136,0.25);}',
'.btn-indigo{background:#eef2ff;color:#4338ca;border-color:#c7d2fe;}',
'.btn-indigo:hover{background:#4f46e5;color:#ffffff;border-color:#4f46e5;transform:translateY(-2px);box-shadow:0 4px 10px rgba(79,70,229,0.25);}',
'.desc-text{font-size:14.2px;color:#334155;margin:0;}',
'@media (max-width:768px){.diag-intro{padding:16px;}.diag-table thead{display:none;}.diag-table,.diag-table tbody,.diag-table tr,.diag-table td{display:block;width:100%;}.diag-table tbody tr{padding:16px;}.diag-table td{padding:6px 0;}.tools-wrap{margin:6px 0 8px 0;}}'
].join('');
var styleEl = document.createElement('style');
styleEl.textContent = css;
shadow.appendChild(styleEl);
var rowsData = [
{
tagCls: 'tag-teal',
tagTxt: 'Trụ cột 1 • Tiêu chuẩn vàng ASD',
title: '🏅 Chẩn đoán Phổ tự kỷ',
btnCls: 'btn-teal',
tools: [
{name: 'ADOS-2', sub: '', url: 'https://phuchoi.vn/kien-thuc/cong-cu/chuan-doan-chuyen-sau/ados-2/'},
{name: 'ADI-R', sub: '', url: 'https://phuchoi.vn/kien-thuc/cong-cu/chuan-doan-chuyen-sau/adi-r/'},
{name: 'CARS-2', sub: '', url: 'https://phuchoi.vn/kien-thuc/cong-cu/chuan-doan-chuyen-sau/cars-2/'},
{name: 'GARS-3', sub: '', url: 'https://phuchoi.vn/kien-thuc/cong-cu/chuan-doan-chuyen-sau/gars-3/'}
],
desc: 'Các công cụ tiêu chuẩn vàng kết hợp giữa quan sát hành vi bán cấu trúc và phỏng vấn bệnh sử phát triển, dùng để chẩn đoán xác định, chẩn đoán phân biệt và định lượng mức độ nặng của phổ tự kỷ.'
},
{
tagCls: 'tag-indigo',
tagTxt: 'Trụ cột 2 • Chỉ số DQ & IQ',
title: '📊 Đánh giá Chậm phát triển',
btnCls: 'btn-indigo',
tools: [
{name: 'Bayley-III', sub: '', url: 'https://phuchoi.vn/kien-thuc/cong-cu/chuan-doan-chuyen-sau/bayley-iii/'},
{name: 'Kyoto', sub: '', url: 'https://phuchoi.vn/kien-thuc/cong-cu/chuan-doan-chuyen-sau/kyoto/'},
{name: 'WISC-V', sub: '(kèm WPPSI-IV)', url: 'https://phuchoi.vn/kien-thuc/cong-cu/chuan-doan-chuyen-sau/wisc-v/'},
{name: 'Raven & Leiter-3', sub: '', url: 'https://phuchoi.vn/kien-thuc/cong-cu/chuan-doan-chuyen-sau/raven-leiter-3/'}
],
desc: 'Các thang đo định lượng sự phát triển tâm lý - vận động, cung cấp chỉ số phát triển (DQ) và tuổi phát triển tương đương nhằm đánh giá toàn diện mức độ chậm phát triển đầu đời của trẻ.'
}
];
var card = document.createElement('div');
card.className = 'diag-card';
var intro = document.createElement('div');
intro.className = 'diag-intro';
var icon = document.createElement('div');
icon.className = 'diag-icon';
icon.textContent = '🩺';
var introP = document.createElement('p');
introP.className = 'diag-intro-text';
introP.appendChild(document.createTextNode('Hệ thống '));
var st = document.createElement('strong');
st.textContent = 'thang đo lâm sàng tiêu chuẩn vàng';
introP.appendChild(st);
introP.appendChild(document.createTextNode(' được thực hiện bởi chuyên gia nhằm đưa ra kết luận chính xác về rối loạn phổ tự kỷ và mức độ chậm phát triển của trẻ. Đây là căn cứ khoa học cốt lõi để phân loại mức độ hỗ trợ và định hướng phác đồ can thiệp chuyên biệt.'));
intro.appendChild(icon);
intro.appendChild(introP);
card.appendChild(intro);
var table = document.createElement('table');
table.className = 'diag-table';
var thead = document.createElement('thead');
var trHead = document.createElement('tr');
var headers = [
{txt: 'Lĩnh Vực Chẩn Đoán Lâm Sàng', w: '26%'},
{txt: 'Thang Đo Tiêu Chuẩn Vàng (Nhấn để xem)', w: '32%'},
{txt: 'Giá Trị Khoa Học & Định Hướng Can Thiệp', w: '42%'}
];
headers.forEach(function(h){
var th = document.createElement('th');
th.style.width = h.w;
th.textContent = h.txt;
trHead.appendChild(th);
});
thead.appendChild(trHead);
table.appendChild(thead);
var tbody = document.createElement('tbody');
rowsData.forEach(function(r){
var tr = document.createElement('tr');
var td1 = document.createElement('td');
var tag = document.createElement('span');
tag.className = 'step-tag ' + r.tagCls;
tag.textContent = r.tagTxt;
var badge = document.createElement('div');
badge.className = 'group-badge';
badge.textContent = r.title;
td1.appendChild(tag);
td1.appendChild(badge);
var td2 = document.createElement('td');
var wrap = document.createElement('div');
wrap.className = 'tools-wrap';
r.tools.forEach(function(t){
var a = document.createElement('a');
a.className = 'tool-link ' + r.btnCls;
a.href = t.url;
a.target = '_blank';
a.rel = 'noopener';
a.appendChild(document.createTextNode(t.name));
if(t.sub){
var subSpan = document.createElement('span');
subSpan.className = 'tool-sub';
subSpan.textContent = ' ' + t.sub;
a.appendChild(subSpan);
}
wrap.appendChild(a);
});
td2.appendChild(wrap);
var td3 = document.createElement('td');
var desc = document.createElement('p');
desc.className = 'desc-text';
desc.textContent = r.desc;
td3.appendChild(desc);
tr.appendChild(td1);
tr.appendChild(td2);
tr.appendChild(td3);
tbody.appendChild(tr);
});
table.appendChild(tbody);
card.appendChild(table);
shadow.appendChild(card);
}
if(document.readyState === 'loading'){
document.addEventListener('DOMContentLoaded', mountShadowDiagTable);
} else {
mountShadowDiagTable();
}
})();
Bài Viết
[Tự kỷ] ADOS-2: Tiêu chuẩn vàng quan sát lâm sàng xác định rối loạn phổ tự kỷ (Từ 12 tháng tuổi)
(function() { const host = document.getElementById('ados2-wp-host'); if (!host) return; const placeholder = document.createComment('ados2-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // Thông tin cấu hình & Ngưỡng cắt chuẩn của 5 Module ADOS-2 const moduleConfigs = { modT: { code: 'modT', name: 'Module T (Toddler • 12 – 30 tháng)', ageDesc: 'Trẻ từ 12 đến 30 tháng tuổi (đã biết đi độc lập)', langDesc: 'Từ chưa có lời nói đến nói cụm từ ngắn', cutSpectrum: 10, // Ngưỡng Quan ngại Nhẹ - Trung bình cutAutism: 14, // Ngưỡng Quan ngại Trung bình - Nặng isToddler: true, tasks: 'Chơi tự do, Gọi tên, Thổi bong bóng xà phòng, Chơi ú òa / Vận động xã hội, Tắm cho búp bê, Đồ chơi gây ngạc nhiên, Bữa ăn nhẹ.' }, mod1: { code: 'mod1', name: 'Module 1 (≥ 31 tháng • Chưa nói / Từ đơn)', ageDesc: 'Trẻ từ 31 tháng tuổi trở lên', langDesc: 'Chưa có lời nói hoặc chỉ nói từ đơn rời rạc (chưa nói được cụm 3 từ)', cutSpectrum: 8, // Ngưỡng Phổ tự kỷ (ASD) cutAutism: 12, // Ngưỡng Tự kỷ điển hình (Autism) isToddler: false, tasks: 'Chơi tự do, Phản ứng với tên gọi, Chơi bóng luân phiên, Thổi bong bóng, Tiệc sinh nhật giả vờ cho búp bê, Đáp ứng chú ý chung, Bữa ăn nhẹ.' }, mod2: { code: 'mod2', name: 'Module 2 (Nói cụm từ • Chưa lưu loát)', ageDesc: 'Mọi độ tuổi (thường là trẻ mầm non / tiểu học nhỏ)', langDesc: 'Nói được cụm từ ngắn (≥ 3 từ) nhưng chưa nói câu phức lưu loát', cutSpectrum: 8, cutAutism: 10, isToddler: false, tasks: 'Trò chơi lắp ghép, Chơi đóng vai với mô hình nhân vật, Minh họa hành động (đánh răng), Xem sách tranh không chữ, Mô tả bức tranh, Tiệc sinh nhật.' }, mod3: { code: 'mod3', name: 'Module 3 (Trẻ & Thiếu niên • Nói lưu loát)', ageDesc: 'Trẻ em và thiếu niên nhỏ (4 – 15 tuổi)', langDesc: 'Ngôn ngữ nói lưu loát (đặt câu phức, kể chuyện mạch lạc)', cutSpectrum: 7, cutAutism: 9, isToddler: false, tasks: 'Đóng vai tương tác với mô hình, Kể chuyện từ sách tranh, Tự sáng tác câu chuyện từ 5 đồ vật, Trò chuyện về Cảm xúc, Tình bạn & Sự cô đơn.' }, mod4: { code: 'mod4', name: 'Module 4 (≥ 16 tuổi & Người lớn • Lưu loát)', ageDesc: 'Thanh thiếu niên lớn và Người trưởng thành (từ 16 tuổi trở lên)', langDesc: 'Ngôn ngữ nói lưu loát, có mức độ tự lập nhất định', cutSpectrum: 8, cutAutism: 10, isToddler: false, tasks: 'Phỏng vấn công việc/học tập, Các mối quan hệ bạn bè & Hẹn hò/Hôn nhân, Cảm xúc & Sự đồng cảm, Kể chuyện sáng tạo từ 5 đồ vật, Giải thích truyện tranh.' } }; // 14 Chỉ báo cốt lõi trong Bảng Thuật Toán Chẩn Đoán ADOS-2 (10 mục SA + 4 mục RRB) // Mỗi mục chấm 0, 1, 2, 3 (Khi tính vào thuật toán: mức 3 tự động chuyển thành 2 điểm -> Max 28 điểm) const algoItems = [ { id: 1, dom: 'sa', sub: 'Giao tiếp', name: 'A1. Phát âm định hướng xã hội / Tần suất giao tiếp tự phát', desc: 'Mức độ trẻ/người lớn tự nhiên hướng lời nói, âm thanh hoặc cuộc trò chuyện về phía người khám để tương tác xã hội (không chỉ khi đòi hỏi).' }, { id: 2, dom: 'sa', sub: 'Giao tiếp', name: 'A2. Ngữ điệu, Nhịp điệu & Giọng nói khác thường', desc: 'Giọng nói đều đều một tông (monotone), quá to/quá nhỏ, ngữ điệu lơ lớ như robot hoặc nhịp điệu thiếu tự nhiên.' }, { id: 3, dom: 'sa', sub: 'Giao tiếp', name: 'A3. Sử dụng cử chỉ giao tiếp mô tả & Quy ước (Gestures)', desc: 'Khả năng tự nhiên dùng cử chỉ tay (chỉ trỏ, vẫy tay, gật/lắc đầu, mô tả hình dáng/hành động bằng tay) phối hợp với lời nói.' }, { id: 4, dom: 'sa', sub: 'Giao tiếp', name: 'A4. Trò chuyện qua lại hai chiều / Chỉ trỏ giao tiếp', desc: 'Ở Module 2–4: Khả năng nối tiếp câu chuyện qua lại với người khám. Ở Module T/1: Khả năng dùng ngón trỏ chỉ vào vật ở xa để chia sẻ/yêu cầu.' }, { id: 5, dom: 'sa', sub: 'Tương tác xã hội qua lại', name: 'B1. Giao tiếp ánh mắt bất thường (Unusual Eye Contact)', desc: 'Đánh giá sự linh hoạt, tự nhiên và phối hợp của ánh mắt khi bắt đầu, duy trì và điều tiết tương tác xã hội với người khám.' }, { id: 6, dom: 'sa', sub: 'Tương tác xã hội qua lại', name: 'B2. Biểu cảm khuôn mặt hướng tới người khác (Facial Expressions)', desc: 'Sự đa dạng của nét mặt (vui, ngạc nhiên, bối rối...) được hướng trực tiếp về phía người khám để truyền tải cảm xúc.' }, { id: 7, dom: 'sa', sub: 'Tương tác xã hội qua lại', name: 'B3. Chia sẻ niềm vui trong tương tác (Shared Enjoyment)', desc: 'Khả năng bộc lộ và lan tỏa niềm vui chân thực cùng với người khám trong các hoạt động chơi hoặc trò chuyện thú vị.' }, { id: 8, dom: 'sa', sub: 'Tương tác xã hội qua lại', name: 'B4. Khởi xướng & Đáp ứng Chú ý chung / Thấu hiểu cảm xúc (Empathy)', desc: 'Ở Module T/1/2: Phối hợp ánh mắt chia sẻ vật thú vị (Joint Attention). Ở Module 3/4: Khả năng nhận diện, mô tả và đồng cảm với cảm xúc của người khác.' }, { id: 9, dom: 'sa', sub: 'Tương tác xã hội qua lại', name: 'B5. Chất lượng các Khởi xướng xã hội (Quality of Social Overtures)', desc: 'Tính phù hợp về mặt ngữ cảnh và sự phối hợp nhịp nhàng khi chủ động bắt chuyện, khoe đồ hoặc thu hút sự chú ý của người khám.' }, { id: 10, dom: 'sa', sub: 'Tương tác xã hội qua lại', name: 'B6. Chất lượng Đáp ứng xã hội & Mức độ gắn kết tổng thể (Rapport)', desc: 'Cách phản hồi trước các lời mời tương tác của người khám và mức độ thoải mái, tự nhiên của toàn bộ buổi đánh giá.' }, { id: 11, dom: 'rrb', sub: 'Hành vi hạn hẹp & Lặp lại', name: 'D1. Ngôn ngữ rập khuôn / Nhại lời / Cụm từ đặc dị', desc: 'Nhại lời tức thì hoặc trì hoãn (lặp lại lời quảng cáo/phim), đảo ngược đại từ xưng hô hoặc lặp đi lặp lại các câu nói theo khuôn mẫu cứng nhắc.' }, { id: 12, dom: 'rrb', sub: 'Hành vi hạn hẹp & Lặp lại', name: 'D2. Quan tâm giác quan bất thường đối với đồ vật hoặc con người', desc: 'Nhìn nghiêng sát mắt vào đồ vật, xoay bánh xe để ngắm, ngửi/liếm đồ chơi, sờ ngắm kết cấu bề mặt hoặc bịt tai trước âm thanh bình thường.' }, { id: 13, dom: 'rrb', sub: 'Hành vi hạn hẹp & Lặp lại', name: 'D3. Cử động tay, ngón tay và toàn thân định hình (Mannerisms)', desc: 'Vẫy tay, búng/vặn ngón tay trước mắt, nhón gót, xoay tròn hoặc đung đưa cơ thể lặp đi lặp lại.' }, { id: 14, dom: 'rrb', sub: 'Hành vi hạn hẹp & Lặp lại', name: 'D4. Bận tâm quá mức đến chủ đề hẹp / Hành vi nghi thức & Thói quen', desc: 'Xếp hàng đồ vật cứng nhắc, đòi hỏi làm theo đúng một trình tự cố định hoặc chỉ nói mãi về một chủ đề chuyên biệt.' } ]; let currentMod = 'mod1'; let rawScores = {}; // Lưu mức chấm thô: 0, 1, 2, 3 (Khi tính thuật toán: Math.min(2, raw)) let filterDom = 'all'; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .ad-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .ad-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .ad-inner { padding: 24px; max-width: 940px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .ad-wrap.is-fullscreen .ad-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .ad-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(15, 118, 110, 0.45), 0 0 0 0 rgba(15, 118, 110, 0.4); } 70% { box-shadow: 0 6px 20px rgba(15, 118, 110, 0.45), 0 0 0 10px rgba(15, 118, 110, 0); } 100% { box-shadow: 0 6px 20px rgba(15, 118, 110, 0.45), 0 0 0 0 rgba(15, 118, 110, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #0f766e 0%, #0d9488 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(15, 118, 110, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Header */ .ad-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .ad-header-text { flex: 1 1 260px; } .ad-title { font-size: 21px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .ad-desc { font-size: 14px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #f0fdfa; color: #0f766e; border: 1px solid #99f6e4; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #0d9488; color: #ffffff; border-color: #0d9488; } /* Bộ chọn 5 Module ADOS-2 */ .mod-selector-box { background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 12px; padding: 14px; margin-bottom: 16px; } .mod-lbl { font-size: 12.5px; font-weight: 800; color: #0f172a; text-transform: uppercase; margin-bottom: 8px; display: block; } .mod-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; margin-bottom: 12px; } .mod-btn { padding: 10px 8px; border-radius: 9px; border: 1.5px solid #cbd5e1; background: #ffffff; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .mod-btn:hover { border-color: #0d9488; } .mod-btn.active { background: #0f766e; border-color: #0f766e; color: #ffffff; box-shadow: 0 4px 12px rgba(15, 118, 110, 0.25); } .mod-btn-code { font-size: 13.5px; font-weight: 800; display: block; } .mod-btn-sub { font-size: 11px; opacity: 0.85; display: block; margin-top: 2px; } .mod-info-banner { background: #ffffff; border: 1px dashed #99f6e4; border-left: 4px solid #0d9488; padding: 10px 12px; border-radius: 8px; font-size: 13px; color: #334155; } /* Kịch bản mẫu & Lọc trụ cột */ .ad-controls { display: flex; flex-direction: column; gap: 10px; margin-bottom: 18px; } .ad-presets { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; } .ad-preset-lbl { font-size: 12.5px; font-weight: 700; color: #475569; margin-right: 4px; } .ad-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; touch-action: manipulation; } .ad-pbtn:hover { background: #f1f5f9; } .ad-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } .ad-domain-tabs { display: flex; flex-wrap: wrap; gap: 6px; } .ad-dtab { padding: 6px 12px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .ad-dtab.active { background: #0f766e; color: #ffffff; border-color: #0f766e; } /* Sticky Dashboard */ .ad-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .ad-wrap.is-fullscreen .ad-dash { top: 58px; } .ad-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .ad-score-big { font-size: 23px; font-weight: 800; line-height: 1.1; } .ad-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .ad-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .ad-bar-bg { height: 10px; background: #334155; border-radius: 5px; overflow: hidden; margin-bottom: 12px; } .ad-bar-fill { height: 100%; width: 0%; background: #10b981; transition: width 0.35s ease, background 0.35s ease; } .ad-pillars { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; font-size: 12px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .ad-pillar-box { background: #1e293b; padding: 7px 10px; border-radius: 8px; } .ad-pillar-val { font-weight: 700; color: #ffffff; font-size: 13.5px; display: block; margin-top: 2px; } /* Danh sách 14 mục thuật toán */ .ad-q-item { border: 1px solid #e2e8f0; border-radius: 10px; padding: 14px 16px; margin-bottom: 12px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 10px; } .ad-q-item.high-scored { border-color: #fda4af; background: #fff5f5; } .ad-q-item.mid-scored { border-color: #fde68a; background: #fffbeb; } .ad-q-title { font-size: 14.8px; font-weight: 700; color: #0f172a; } .ad-q-desc { font-size: 13.5px; color: #475569; } .ad-q-tags { display: flex; flex-wrap: wrap; gap: 6px; } .ad-tag { font-size: 11px; font-weight: 600; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .ad-tag.dom-sa { background: #dbeafe; color: #1d4ed8; } .ad-tag.dom-rrb { background: #fef3c7; color: #b45309; } .ad-ans-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; } .ad-abtn { padding: 8px 6px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 600; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .ad-abtn:hover { border-color: #64748b; } .ad-abtn.sel-0 { background: #10b981; border-color: #10b981; color: #ffffff; font-weight: 700; } .ad-abtn.sel-1 { background: #f59e0b; border-color: #f59e0b; color: #ffffff; font-weight: 700; } .ad-abtn.sel-2, .ad-abtn.sel-3 { background: #ef4444; border-color: #ef4444; color: #ffffff; font-weight: 700; } .ad-result-box { margin-top: 20px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #64748b; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 720px) { .ad-inner { padding: 14px; } .ad-title { font-size: 18px; } .mod-grid { grid-template-columns: 1fr 1fr; } .ad-pillars { grid-template-columns: 1fr; } .ad-ans-grid { grid-template-columns: 1fr 1fr; } .ad-abtn { padding: 10px 6px; } .ad-pbtn.reset { margin-left: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
Bảng Mô Phỏng Thuật Toán Chẩn Đoán Tiêu Chuẩn Vàng ADOS-2 (5 Module)
Công cụ mô phỏng cách thức quy đổi điểm Thuật toán Chẩn đoán ADOS-2 (Diagnostic Algorithm) trên 2 trụ cột: Cảm xúc Xã hội (SA) và Hành vi Hạn hẹp & Lặp lại (RRB). Hệ thống tự động áp dụng quy tắc chuẩn: mức điểm thô 3 được quy đổi thành 2 điểm thuật toán và ước tính Điểm so sánh mức độ nặng CSS (1 – 10).
• Tổng điểm kết hợp SA + RRB đạt ${total}/28 điểm (SA = ${sa}/20, RRB = ${rrb}/8), thấp hơn ngưỡng điểm cắt của ${cfg.name.split(' (')[0]} (≥ ${cfg.cutSpectrum} điểm).
• Điểm so sánh mức độ (CSS): ${cssInfo.css}/10 (${cssInfo.label}). Nếu trẻ có chậm nói hoặc tăng động nhưng điểm ADOS-2 nằm dưới ngưỡng này, cần tập trung đánh giá Rối loạn ngôn ngữ diễn đạt hoặc ADHD. `; } else if (total < cfg.cutAutism) { color = '#f59e0b'; badgeTxt = cfg.isToddler ? `QUAN NGẠI NHẸ - TRUNG BÌNH (${total}đ)` : `PHỔ TỰ KỶ - ASD (${total}đ • CSS ${cssInfo.css}/10)`; analysis = ` Phân loại Thuật toán ADOS-2 (${cfg.name}) — ${badgeTxt}:
• Tổng điểm thuật toán đạt ${total}/28 điểm (Cảm xúc Xã hội SA = ${sa}/20 • Hành vi Lặp lại RRB = ${rrb}/8), vượt ngưỡng phân loại Phổ tự kỷ (≥ ${cfg.cutSpectrum} điểm).
• Điểm so sánh mức độ (CSS): ${cssInfo.css}/10 (${cssInfo.label}). Kết quả quan sát trực tiếp ủng hộ chẩn đoán Rối loạn phổ tự kỷ mức độ nhẹ - trung bình, cần kết hợp với lịch sử phát triển (ADI-R / DSM-5) và đánh giá hành vi thích ứng (Vineland-3). `; } else { color = '#ef4444'; badgeTxt = cfg.isToddler ? `QUAN NGẠI TRUNG BÌNH - NẶNG (${total}đ)` : `TỰ KỶ ĐIỂN HÌNH - AUTISM (${total}đ • CSS ${cssInfo.css}/10)`; analysis = ` Phân loại Thuật toán ADOS-2 (${cfg.name}) — ${badgeTxt}:
• Tổng điểm thuật toán đạt ${total}/28 điểm (Cảm xúc Xã hội SA = ${sa}/20 • Hành vi Lặp lại RRB = ${rrb}/8), vượt ngưỡng phân loại Tự kỷ điển hình (≥ ${cfg.cutAutism} điểm).
• Điểm so sánh mức độ (CSS): ${cssInfo.css}/10 (${cssInfo.label}). Người được đánh giá thể hiện các thiếu hụt rõ rệt ở cả giao tiếp xã hội tương hỗ và các mẫu hành vi rập khuôn. Khuyến nghị hoàn tất hồ sơ chẩn đoán đa chuyên khoa và triển khai chương trình can thiệp cá nhân hóa (IEP) dựa trên thang Vineland-3. `; } barFill.style.background = color; scoreBadge.textContent = badgeTxt; scoreBadge.style.background = color; scoreBadge.style.color = '#ffffff'; resultBox.style.borderLeftColor = color; resultBox.innerHTML = analysis; updateFloatingFabVisibility(); } function applyPreset(type) { rawScores = {}; if (type === 'reset') { renderItems(); updateSummary(); return; } algoItems.forEach(function(it) { rawScores[it.id] = 0; }); if (type === 'non') { // 3 điểm thuật toán (Dưới ngưỡng) rawScores[2] = 1; rawScores[3] = 1; rawScores[9] = 1; } else if (type === 'spectrum') { // 9 điểm thuật toán (Trong vùng Phổ tự kỷ ASD / Nhẹ - Trung bình) [1, 3, 4, 5, 7, 8, 10, 12, 14].forEach(function(id) { rawScores[id] = 1; }); } else if (type === 'autism') { // 18 điểm thuật toán (Vượt ngưỡng Tự kỷ điển hình, có cả mức 2 và mức 3 quy về 2) [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14].forEach(function(id, idx) { if (idx % 3 === 0) rawScores[id] = 3; // Quy về 2đ else if (idx % 2 === 0) rawScores[id] = 2; // 2đ else rawScores[id] = 1; // 1đ }); } renderItems(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); adWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { adWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 940px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } shadow.querySelectorAll('#modGrid .mod-btn').forEach(function(btn) { btn.onclick = function() { currentMod = this.getAttribute('data-mod'); shadow.querySelectorAll('#modGrid .mod-btn').forEach(b => b.classList.remove('active')); this.classList.add('active'); renderModBanner(); updateSummary(); }; }); shadow.querySelectorAll('.ad-pbtn').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-preset')); }; }); shadow.querySelectorAll('#domainTabs .ad-dtab').forEach(function(tab) { tab.onclick = function() { filterDom = this.getAttribute('data-dom'); shadow.querySelectorAll('#domainTabs .ad-dtab').forEach(t => t.classList.remove('active')); this.classList.add('active'); renderItems(); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); renderModBanner(); applyPreset('autism'); })();
ADOS-2 (Autism Diagnostic Observation Schedule, Second Edition — Lịch trình Quan sát Chẩn đoán Tự kỷ, Phiên bản 2) là công cụ đánh giá lâm sàng được y khoa thế giới công nhận là “Tiêu chuẩn vàng” (Gold Standard) trong việc chẩn đoán xác định Rối loạn phổ tự kỷ (ASD). Công cụ này được phát triển bởi Giáo sư Catherine Lord, Michael Rutter và các cộng sự (xuất bản bởi WPS năm 2012).
Khác hoàn toàn với các công cụ sàng lọc (Screening) dựa trên bảng hỏi như M-CHAT-R/F, SCQ, CAST, ASSQ hay AQ, ADOS-2 là công cụ CHẨN ĐOÁN (Diagnostic) thông qua việc nhà lâm sàng trực tiếp tương tác, tạo ra các “tình huống xã hội có cấu trúc” (Social Presses) để quan sát phản ứng thực tế của trẻ/người lớn trong khoảng 40 – 60 phút.
1. Hệ thống 5 Module của ADOS-2 (Chọn theo Mức độ Ngôn ngữ & Độ tuổi)
Điểm độc đáo nhất của ADOS-2 là không dùng một bài kiểm tra chung cho mọi người, mà chia thành 5 Module riêng biệt. Chuyên gia bắt buộc phải chọn đúng 1 Module khớp với khả năng ngôn ngữ diễn đạt hiện tại và độ tuổi của người được khám (để tránh việc trẻ bị điểm kém chỉ vì chưa biết nói):
| Module | Đối tượng & Độ tuổi | Mức độ ngôn ngữ diễn đạt yêu cầu | Hoạt động tương tác tiêu biểu trong phòng khám |
| Module T(Toddler) | Trẻ nhỏ 12 – 30 tháng tuổi (Biết đi độc lập) | Chưa nói đến nói cụm từ đơn giản. | Chơi bóng luân phiên, thổi bong bóng xà phòng, tắm cho búp bê, chơi ú òa, gây ngạc nhiên bằng đồ chơi điều khiển. |
| Module 1 | Trẻ từ 31 tháng tuổi trở lên | Chưa có lời nói hoặc chỉ nói từ đơn rời rạc (Chưa nói được cụm 3 từ). | Tương tác tự do, tiệc sinh nhật giả vờ cho búp bê, thổi bong bóng, gọi tên, chỉ trỏ chú ý chung. |
| Module 2 | Mọi độ tuổi (Thường là trẻ mẫu giáo) | Nói được cụm từ ngắn(từ 3 từ trở lên) nhưng chưa nói lưu loát. | Chơi đóng vai tưởng tượng với mô hình nhân vật, xem sách tranh không chữ, trò chuyện đơn giản, mô tả bức tranh. |
| Module 3 | Trẻ em & Thiếu niên nhỏ (Thường 4 – 15 tuổi) | Ngôn ngữ nói lưu loát(Nói được câu phức, kể chuyện quá khứ/tương lai). | Đóng vai câu chuyện bằng mô hình, tự sáng tác câu chuyện từ 5 đồ vật bất kỳ, phỏng vấn về tình bạn, sự cô đơn và cảm xúc. |
| Module 4 | Thanh thiếu niên lớn & Người lớn (Từ 16 tuổi trở lên) | Ngôn ngữ nói lưu loát và có tính tự lập nhất định. | Phỏng vấn chuyên sâu về công việc/học tập, tình bạn, hôn nhân/hẹn hò, cảm xúc cá nhân, giải thích truyện tranh và kể chuyện sáng tạo. |
2. Cấu trúc Chấm điểm Thuật toán ADOS-2 (Algorithm Scoring)
Trong lúc tương tác, chuyên gia ghi chép rất nhiều hành vi, nhưng khi đưa vào Bảng Thuật Toán Chẩn Đoán (Diagnostic Algorithm), ADOS-2 chỉ lọc ra 14 chỉ báo cốt lõi nhất chia làm 2 trụ cột (bám sát tiêu chuẩn DSM-5):
-
Cảm xúc Xã hội (Social Affect – SA • 10 mục): Bao gồm Giao tiếp (ngữ điệu, cử chỉ, chỉ trỏ, hội thoại) và Tương tác xã hội qua lại (giao tiếp mắt bất thường, biểu cảm nét mặt, chia sẻ niềm vui, chú ý chung, chất lượng khởi xướng và đáp ứng xã hội).
-
Hành vi Hạn hẹp và Lặp đi lặp lại (Restricted and Repetitive Behavior – RRB • 4 mục): Ngôn ngữ rập khuôn/nhại lời, thu hút giác quan lạ, cử động tay/cơ thể định hình (stimming) và mối bận tâm/nghi thức cứng nhắc.
-
Quy tắc quy đổi điểm đặc biệt của ADOS-2:
-
Khi chấm thô tại phòng khám, mỗi mục chấm từ
0đến3điểm (0= Bình thường,1= Bất thường nhẹ,2= Bất thường rõ rệt,3= Bất thường nghiêm trọng). -
Tuy nhiên, khi cộng vào Thuật toán chẩn đoán: Mọi mức điểm
3đều được quy đổi về2điểm (để một hành vi quá nặng không làm lệch tổng điểm toàn bài). Như vậy mỗi mục trong thuật toán có giá trị 0, 1 hoặc 2 điểm (Tổng điểm tối đa của 14 mục thuật toán là 28 điểm).
-
-
Phân loại kết quả & Điểm so sánh mức độ (CSS – Calibrated Severity Score):
-
Module 1 – 4: Phân loại thành 3 mức: Không thuộc phổ tự kỷ (Non-spectrum) Phổ tự kỷ (Autism Spectrum – ASD) Tự kỷ điển hình (Autism), đồng thời quy đổi ra Điểm so sánh CSS (từ 1 đến 10 điểm) để biết mức độ triệu chứng từ Rất nhẹ (1–2), Nhẹ (3–4), Trung bình (5–7) đến Nặng (8–10).
-
Module T (12–30 tháng): Vì trẻ quá nhỏ chưa kết luận chẩn đoán cứng, ADOS-2 phân thành 3 mức độ Quan ngại (Range of Concern): Ít/Không quan ngại Quan ngại nhẹ – trung bình Quan ngại trung bình – nặng.
-
[Tự kỷ] ADI-R: Phỏng vấn sâu lịch sử phát triển chẩn đoán phổ tự kỷ cho trẻ từ 2 tuổi
(function() { const host = document.getElementById('adir-wp-host'); if (!host) return; const placeholder = document.createComment('adir-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // 37 Mục cốt lõi trong Thuật toán Chẩn đoán ADI-R chia theo 4 Miền (A, B, C, D) và các Tiểu lĩnh vực chuẩn // dom: 'A' (Tương tác xã hội - Cut >= 10), 'B' (Giao tiếp - Cut >= 8 nếu có lời nói, >= 7 nếu chưa nói), 'C' (Hành vi lặp lại - Cut >= 3), 'D' (Khởi phát = 1) // verbalOnly: true đối với tiểu lĩnh vực B2(V) và B3(V) (Chỉ tính cho trẻ/người có ngôn ngữ nói cụm từ) const algoItems = [ // MIỀN A: TƯƠNG TÁC XÃ HỘI QUA LẠI (15 mục -> Tối đa 30 điểm thuật toán, Ngưỡng cắt >= 10) { id: 1, dom: 'A', sub: 'A1. Hành vi phi ngôn ngữ điều tiết tương tác', verbalOnly: false, name: 'A1.1. Giao tiếp ánh mắt trực diện (Direct Gaze)', desc: 'Mức độ sử dụng ánh mắt nhìn trực diện vào mặt người khác để bắt đầu, duy trì và điều tiết tương tác xã hội (Giai đoạn 4–5 tuổi / Hiện tại).' }, { id: 2, dom: 'A', sub: 'A1. Hành vi phi ngôn ngữ điều tiết tương tác', verbalOnly: false, name: 'A1.2. Nụ cười xã hội (Social Smiling)', desc: 'Khả năng mỉm cười tự nhiên đáp lại người khác hoặc mỉm cười kết hợp nhìn mắt để chào hỏi, chia sẻ sự thân thiện.' }, { id: 3, dom: 'A', sub: 'A1. Hành vi phi ngôn ngữ điều tiết tương tác', verbalOnly: false, name: 'A1.3. Độ đa dạng biểu cảm khuôn mặt dùng để giao tiếp', desc: 'Sự phong phú của nét mặt (ngạc nhiên, vui, buồn, bối rối...) được hướng về phía người khác để truyền tải cảm xúc.' }, { id: 4, dom: 'A', sub: 'A2. Phát triển mối quan hệ bạn bè đồng trang lứa', verbalOnly: false, name: 'A2.1. Chơi tưởng tượng cùng với bạn đồng trang lứa', desc: 'Khả năng cùng bàn bạc, chia vai và phối hợp chơi đóng vai giả vờ chung với các bạn nhỏ khác.' }, { id: 5, dom: 'A', sub: 'A2. Phát triển mối quan hệ bạn bè đồng trang lứa', verbalOnly: false, name: 'A2.2. Sự quan tâm đến những đứa trẻ khác', desc: 'Mức độ chú ý, thích thú quan sát và muốn tiến lại gần các bạn cùng lứa tuổi.' }, { id: 6, dom: 'A', sub: 'A2. Phát triển mối quan hệ bạn bè đồng trang lứa', verbalOnly: false, name: 'A2.3. Phản ứng khi những đứa trẻ khác tiến lại gần', desc: 'Sự cởi mở, vui vẻ và hợp tác khi một bạn nhỏ khác chủ động tiến tới rủ chơi hoặc bắt chuyện.' }, { id: 7, dom: 'A', sub: 'A2. Phát triển mối quan hệ bạn bè đồng trang lứa', verbalOnly: false, name: 'A2.4. Chơi theo nhóm với bạn đồng trang lứa / Tình bạn thân', desc: 'Khả năng tham gia các trò chơi tập thể luân phiên (từ 4–10 tuổi) hoặc xây dựng tình bạn thân thiết hai chiều (từ 10 tuổi trở lên).' }, { id: 8, dom: 'A', sub: 'A3. Chia sẻ niềm vui và sở thích chung', verbalOnly: false, name: 'A3.1. Đưa đồ vật cho người khác xem và định hướng chú ý (Showing)', desc: 'Chủ động mang đồ chơi, bức vẽ hoặc vật mới lạ lại khoe với bố mẹ chỉ để chia sẻ niềm vui (chứ không phải để nhờ sửa/mở giúp).' }, { id: 9, dom: 'A', sub: 'A3. Chia sẻ niềm vui và sở thích chung', verbalOnly: false, name: 'A3.2. Tự nguyện chia sẻ đồ vật với người khác (Offering to Share)', desc: 'Tự giác mời hoặc chia sẻ đồ ăn, món đồ chơi yêu thích với bố mẹ hoặc bạn bè.' }, { id: 10, dom: 'A', sub: 'A3. Chia sẻ niềm vui và sở thích chung', verbalOnly: false, name: 'A3.3. Tìm kiếm việc chia sẻ niềm vui với người khác', desc: 'Mong muốn lôi cuốn bố mẹ/người thân cùng tham gia vào hoạt động trẻ đang hứng thú để nhân đôi niềm vui.' }, { id: 11, dom: 'A', sub: 'A4. Tương hỗ về mặt cảm xúc – xã hội', verbalOnly: false, name: 'A4.1. Sử dụng cơ thể của người khác để giao tiếp (Use of Other’s Body)', desc: 'Cầm bàn tay hoặc cổ tay của bố mẹ đặt vào nắm cửa, nắp hộp như một công cụ cơ học mà không nhìn mặt hay giao tiếp.' }, { id: 12, dom: 'A', sub: 'A4. Tương hỗ về mặt cảm xúc – xã hội', verbalOnly: false, name: 'A4.2. Chủ động vỗ về, an ủi người khác (Offering Comfort)', desc: 'Tự nhiên nhận ra khi bố mẹ/người thân bị đau hoặc buồn khóc và tiến lại vỗ về, hỏi thăm, ôm an ủi.' }, { id: 13, dom: 'A', sub: 'A4. Tương hỗ về mặt cảm xúc – xã hội', verbalOnly: false, name: 'A4.3. Chất lượng các khởi xướng xã hội (Quality of Social Overtures)', desc: 'Sự phối hợp nhịp nhàng giữa ánh mắt, nét mặt, cử chỉ và âm thanh khi trẻ chủ động xin giúp đỡ hoặc bắt chuyện.' }, { id: 14, dom: 'A', sub: 'A4. Tương hỗ về mặt cảm xúc – xã hội', verbalOnly: false, name: 'A4.4. Biểu cảm khuôn mặt không phù hợp ngữ cảnh', desc: 'Cười to vô cớ một mình hoặc biểu lộ nét mặt hoàn toàn lệch pha với bầu không khí cảm xúc xung quanh.' }, { id: 15, dom: 'A', sub: 'A4. Tương hỗ về mặt cảm xúc – xã hội', verbalOnly: false, name: 'A4.5. Tính phù hợp của các phản ứng xã hội', desc: 'Mức độ đáp lại tự nhiên, đúng ngữ cảnh khi người lớn hoặc người quen bắt chuyện, gợi chuyện.' }, // MIỀN B: GIAO TIẾP (13 mục cho nhóm Có lời nói -> Max 26đ, Cut >= 8 | 7 mục cho nhóm Chưa nói -> Max 14đ, Cut >= 7) { id: 16, dom: 'B', sub: 'B1. Cử chỉ giao tiếp & Bù đắp phi ngôn ngữ', verbalOnly: false, name: 'B1.1. Chỉ trỏ để thể hiện sự quan tâm / chia sẻ (Pointing to Express Interest)', desc: 'Dùng ngón trỏ chỉ vào các vật ở xa (máy bay, con vật, tranh ảnh) kết hợp nhìn lại bố mẹ để chia sẻ sự chú ý.' }, { id: 17, dom: 'B', sub: 'B1. Cử chỉ giao tiếp & Bù đắp phi ngôn ngữ', verbalOnly: false, name: 'B1.2. Gật đầu biểu thị ý "Có / Đồng ý"', desc: 'Sử dụng cử chỉ gật đầu tự nhiên để trả lời đồng ý trong giao tiếp hàng ngày.' }, { id: 18, dom: 'B', sub: 'B1. Cử chỉ giao tiếp & Bù đắp phi ngôn ngữ', verbalOnly: false, name: 'B1.3. Lắc đầu biểu thị ý "Không / Từ chối"', desc: 'Sử dụng cử chỉ lắc đầu tự nhiên để từ chối hoặc phủ định.' }, { id: 19, dom: 'B', sub: 'B1. Cử chỉ giao tiếp & Bù đắp phi ngôn ngữ', verbalOnly: false, name: 'B1.4. Các cử chỉ quy ước và cử chỉ mô tả bằng tay', desc: 'Vẫy tay chào tạm biệt, vỗ tay hoan hô, ra hiệu im lặng hoặc dùng tay mô tả hình dáng/hành động của sự vật.' }, { id: 20, dom: 'B', sub: 'B4. Chơi giả vờ và Bắt chước xã hội', verbalOnly: false, name: 'B4.1. Bắt chước tự phát các hành động của người khác', desc: 'Tự nhiên bắt chước các việc làm hàng ngày của bố mẹ (như quét nhà, lau bàn, nghe điện thoại, nấu ăn) mà không cần nhắc.' }, { id: 21, dom: 'B', sub: 'B4. Chơi giả vờ và Bắt chước xã hội', verbalOnly: false, name: 'B4.2. Chơi giả vờ / Chơi đóng vai tưởng tượng (Imaginative Play)', desc: 'Sử dụng búp bê, mô hình nhân vật hoặc đồ vật thay thế để dựng các kịch bản đóng vai đa dạng, sáng tạo.' }, { id: 22, dom: 'B', sub: 'B4. Chơi giả vờ và Bắt chước xã hội', verbalOnly: false, name: 'B4.3. Chơi các trò chơi xã hội bắt chước qua lại', desc: 'Hào hứng tham gia và chủ động khởi xướng các trò chơi tương tác như ú òa, chi chi chành chành, vỗ tay theo bài hát.' }, { id: 23, dom: 'B', sub: 'B2(V). Khởi xướng và Duy trì hội thoại (Chỉ chấm khi có lời nói)', verbalOnly: true, name: 'B2(V).1. Tán gẫu xã hội / Trò chuyện thân thiện (Social Verbalization)', desc: 'Nói chuyện với người khác chỉ nhằm mục đích thân thiện, chia sẻ trải nghiệm (chứ không chỉ để xin đồ hoặc hỏi thông tin).' }, { id: 24, dom: 'B', sub: 'B2(V). Khởi xướng và Duy trì hội thoại (Chỉ chấm khi có lời nói)', verbalOnly: true, name: 'B2(V).2. Hội thoại qua lại hai chiều (Reciprocal Conversation)', desc: 'Khả năng lắng nghe ý của người đối diện và nối tiếp câu chuyện qua lại nhiều lượt một cách linh hoạt.' }, { id: 25, dom: 'B', sub: 'B3(V). Ngôn ngữ rập khuôn, lặp lại và đặc dị (Chỉ chấm khi có lời nói)', verbalOnly: true, name: 'B3(V).1. Ngôn ngữ rập khuôn / Nhại lời trì hoãn', desc: 'Lặp đi lặp lại các câu thoại từ tivi, quảng cáo, sách truyện hoặc dùng các cụm từ khuôn mẫu cố định.' }, { id: 26, dom: 'B', sub: 'B3(V). Ngôn ngữ rập khuôn, lặp lại và đặc dị (Chỉ chấm khi có lời nói)', verbalOnly: true, name: 'B3(V).2. Câu hỏi hoặc phát ngôn không phù hợp ngữ cảnh', desc: 'Hay buột miệng đặt những câu hỏi cá nhân thiếu tế nhị hoặc nói những câu lạc lõng với hoàn cảnh xã hội.' }, { id: 27, dom: 'B', sub: 'B3(V). Ngôn ngữ rập khuôn, lặp lại và đặc dị (Chỉ chấm khi có lời nói)', verbalOnly: true, name: 'B3(V).3. Đảo ngược đại từ nhân xưng (Pronominal Reversal)', desc: 'Nhầm lẫn đại từ xưng hô (xưng "Bạn / Mẹ / Anh" thay vì "Con / Tôi", hoặc tự gọi bản thân bằng tên riêng ở ngôi thứ ba).' }, { id: 28, dom: 'B', sub: 'B3(V). Ngôn ngữ rập khuôn, lặp lại và đặc dị (Chỉ chấm khi có lời nói)', verbalOnly: true, name: 'B3(V).4. Từ ngữ tự bịa / Cách dùng từ đặc dị (Neologisms)', desc: 'Tự đặt ra các từ mới không có trong từ điển hoặc gán một ý nghĩa riêng biệt kỳ lạ cho từ ngữ thông thường.' }, // MIỀN C: HÀNH VI HẠN HẸP, LẶP LẠI VÀ RẬP KHUÔN (6 mục -> Tối đa 12 điểm thuật toán, Ngưỡng cắt >= 3) { id: 29, dom: 'C', sub: 'C1. Bận tâm bao trùm và Sở thích hạn hẹp', verbalOnly: false, name: 'C1.1. Sở thích khác thường (Unusual Preoccupations)', desc: 'Mối quan tâm kỳ lạ về mặt nội dung (như biển số xe, lịch vạn niên, hệ thống ống nước, quạt trần, sơ đồ tàu điện).' }, { id: 30, dom: 'C', sub: 'C1. Bận tâm bao trùm và Sở thích hạn hẹp', verbalOnly: false, name: 'C1.2. Sở thích thu hẹp với cường độ quá mức (Circumscribed Interests)', desc: 'Đam mê một chủ đề với mức độ mãnh liệt, chiếm trọn thời gian rảnh và cản trở các hoạt động sinh hoạt/giao lưu khác.' }, { id: 31, dom: 'C', sub: 'C2. Thói quen, Nghi thức cứng nhắc và Kháng cự thay đổi', verbalOnly: false, name: 'C2.1. Nghi thức lời nói hoặc Nghi thức hành vi bắt buộc', desc: 'Bắt buộc phải thực hiện các hành động theo đúng một trình tự cố định hoặc ép người nhà phải nói/trả lời theo đúng một kịch bản.' }, { id: 32, dom: 'C', sub: 'C3. Cử động tay và cơ thể định hình, rập khuôn', verbalOnly: false, name: 'C3.1. Cử động tay/ngón tay hoặc toàn thân định hình (Mannerisms)', desc: 'Vẫy tay, búng/xoắn ngón tay trước mắt, nhón chân đi lại, xoay tròn người hoặc đung đưa thân mình lặp đi lặp lại.' }, { id: 33, dom: 'C', sub: 'C4. Bận tâm đến bộ phận đồ vật hoặc Giác quan bất thường', verbalOnly: false, name: 'C4.1. Sử dụng đồ vật lặp lại / Bận tâm đến bộ phận của đồ vật', desc: 'Xếp hàng dài các đồ vật, chỉ thích xoay bánh xe ô tô hoặc bật/tắt công tắc liên tục thay vì chơi đúng chức năng.' }, { id: 34, dom: 'C', sub: 'C4. Bận tâm đến bộ phận đồ vật hoặc Giác quan bất thường', verbalOnly: false, name: 'C4.2. Các mối quan tâm giác quan khác thường (Unusual Sensory Interests)', desc: 'Nhìn nghiêng sát mắt vào vật chuyển động, ngửi/liếm đồ vật không phải thức ăn, hoặc mê mẩn sờ ngắm một số bề mặt.' }, // MIỀN D: BẤT THƯỜNG PHÁT TRIỂN KHỞI PHÁT TRƯỚC 36 THÁNG TUỔI (3 nhóm chỉ báo đại diện -> Ngưỡng cắt >= 1) { id: 35, dom: 'D', sub: 'D. Khởi phát bất thường ≤ 36 tháng tuổi (Tính 0 hoặc 1 điểm)', verbalOnly: false, name: 'D1. Cha mẹ nhận thấy dấu hiệu bất thường đầu tiên trước 36 tháng tuổi', desc: 'Phụ huynh đã bắt đầu lo lắng về sự phát triển ngôn ngữ, giao tiếp mắt hoặc phản ứng xã hội của bé từ khi bé dưới 3 tuổi.' }, { id: 36, dom: 'D', sub: 'D. Khởi phát bất thường ≤ 36 tháng tuổi (Tính 0 hoặc 1 điểm)', verbalOnly: false, name: 'D2. Chậm mốc nói từ đơn (> 24 tháng) hoặc nói cụm từ (> 33 tháng)', desc: 'Bé nói từ đơn có nghĩa đầu tiên sau 24 tháng tuổi HOẶC nói cụm từ (2–3 từ) đầu tiên sau 33 tháng tuổi (hoặc từng mất kỹ năng ngôn ngữ).' }, { id: 37, dom: 'D', sub: 'D. Khởi phát bất thường ≤ 36 tháng tuổi (Tính 0 hoặc 1 điểm)', verbalOnly: false, name: 'D3. Nhận định của chuyên gia lâm sàng về thời điểm khởi phát ≤ 36 tháng', desc: 'Dựa trên toàn bộ bệnh sử, nhà lâm sàng xác nhận các bất thường phát triển đã xuất hiện trước mốc 36 tháng tuổi.' } ]; let isVerbal = true; // true = Có ngôn ngữ nói (Miền B max 26, cut >= 8) | false = Chưa có lời nói (Miền B bỏ B2V & B3V, max 14, cut >= 7) let rawScores = {}; // Lưu 0, 1, 2, 3 let filterDom = 'all'; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .ar-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .ar-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .ar-inner { padding: 24px; max-width: 940px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .ar-wrap.is-fullscreen .ar-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .ar-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(30, 58, 138, 0.45), 0 0 0 0 rgba(30, 58, 138, 0.4); } 70% { box-shadow: 0 6px 20px rgba(30, 58, 138, 0.45), 0 0 0 10px rgba(30, 58, 138, 0); } 100% { box-shadow: 0 6px 20px rgba(30, 58, 138, 0.45), 0 0 0 0 rgba(30, 58, 138, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #1e3a8a 0%, #2563eb 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(30, 58, 138, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Header */ .ar-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .ar-header-text { flex: 1 1 260px; } .ar-title { font-size: 21px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .ar-desc { font-size: 14px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #eff6ff; color: #1e3a8a; border: 1px solid #bfdbfe; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #2563eb; color: #ffffff; border-color: #2563eb; } /* Top Controls */ .ar-top-controls { display: grid; grid-template-columns: 1fr 1.25fr; gap: 12px; margin-bottom: 14px; } .ar-box-ctrl { background: #f8fafc; border: 1px solid #e2e8f0; padding: 10px 12px; border-radius: 10px; } .ar-ctrl-label { font-size: 12px; font-weight: 700; color: #475569; text-transform: uppercase; margin-bottom: 6px; display: block; } .ar-btn-group { display: flex; flex-wrap: wrap; gap: 6px; } .ar-btn-sm { padding: 6px 10px; border-radius: 7px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; flex: 1; text-align: center; touch-action: manipulation; } .ar-btn-sm:hover { background: #f1f5f9; } .ar-btn-sm.active { background: #1e3a8a; color: #ffffff; border-color: #1e3a8a; } .ar-btn-sm.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; flex: 0 0 auto; } .ar-domain-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 16px; } .ar-dtab { padding: 6px 12px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .ar-dtab.active { background: #1e3a8a; color: #ffffff; border-color: #1e3a8a; } /* Sticky Dashboard */ .ar-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .ar-wrap.is-fullscreen .ar-dash { top: 58px; } .ar-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .ar-score-big { font-size: 21px; font-weight: 800; line-height: 1.2; } .ar-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .ar-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .ar-pillars { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; font-size: 12px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .ar-pillar-box { background: #1e293b; padding: 8px 10px; border-radius: 8px; border-left: 3px solid #475569; } .ar-pillar-box.met { border-left-color: #ef4444; background: rgba(239, 68, 68, 0.14); } .ar-pillar-box.safe { border-left-color: #10b981; } .ar-pillar-val { font-weight: 700; color: #ffffff; font-size: 13.5px; display: block; margin-top: 2px; } /* Danh sách mục phỏng vấn thuật toán */ .ar-q-item { border: 1px solid #e2e8f0; border-radius: 10px; padding: 14px 16px; margin-bottom: 12px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 10px; } .ar-q-item.high-scored { border-color: #fda4af; background: #fff5f5; } .ar-q-item.mid-scored { border-color: #fde68a; background: #fffbeb; } .ar-q-item.skipped-item { opacity: 0.45; background: #f8fafc; border-style: dashed; pointer-events: none; } .ar-q-title { font-size: 14.8px; font-weight: 700; color: #0f172a; } .ar-q-desc { font-size: 13.5px; color: #475569; } .ar-q-tags { display: flex; flex-wrap: wrap; gap: 6px; } .ar-tag { font-size: 11px; font-weight: 600; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .ar-tag.dom-A { background: #dbeafe; color: #1d4ed8; } .ar-tag.dom-B { background: #f3e8ff; color: #7e22ce; } .ar-tag.dom-C { background: #fef3c7; color: #b45309; } .ar-tag.dom-D { background: #dcfce7; color: #15803d; } .ar-ans-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; } .ar-abtn { padding: 8px 6px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 600; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .ar-abtn:hover { border-color: #64748b; } .ar-abtn.sel-0 { background: #10b981; border-color: #10b981; color: #ffffff; font-weight: 700; } .ar-abtn.sel-1 { background: #f59e0b; border-color: #f59e0b; color: #ffffff; font-weight: 700; } .ar-abtn.sel-2, .ar-abtn.sel-3 { background: #ef4444; border-color: #ef4444; color: #ffffff; font-weight: 700; } .ar-result-box { margin-top: 20px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #64748b; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 720px) { .ar-inner { padding: 14px; } .ar-title { font-size: 18px; } .ar-top-controls { grid-template-columns: 1fr; } .ar-pillars { grid-template-columns: 1fr 1fr; } .ar-ans-grid { grid-template-columns: 1fr 1fr; } .ar-abtn { padding: 10px 6px; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
Bảng Chấm Điểm Thuật Toán Phỏng Vấn Chẩn Đoán Tự Kỷ ADI-R (4 Miền Cốt Lõi)
Công cụ phỏng vấn chẩn đoán tiêu chuẩn vàng của Rutter, Le Couteur & Lord (2003) dành cho cá nhân có tuổi phát triển tâm thần từ 24 tháng trở lên. Hệ thống tự động quy đổi điểm thuật toán (mức 3 quy về 2 điểm) và đối chiếu điều kiện đạt chuẩn chẩn đoán trên cả 4 miền: Miền A (≥ 10đ), Miền B (≥ 8đ hoặc ≥ 7đ), Miền C (≥ 3đ) và Miền D (≥ 1đ).
• Miền A (Tương tác xã hội qua lại): Đạt ${sA}/30 điểm (Vượt ngưỡng chuẩn ≥ 10 điểm).
• Miền B (Giao tiếp - ${isVerbal ? 'Nhóm có lời nói' : 'Nhóm chưa có lời nói'}): Đạt ${sB}/${maxB} điểm (Vượt ngưỡng chuẩn ≥ ${cutB} điểm).
• Miền C (Hành vi hạn hẹp & Lặp lại): Đạt ${sC}/12 điểm (Vượt ngưỡng chuẩn ≥ 3 điểm).
• Miền D (Khởi phát bất thường ≤ 36 tháng): Đạt ${sD}/3 điểm (Vượt ngưỡng chuẩn ≥ 1 điểm).
• Hướng xử trí lâm sàng: Hồ sơ lịch sử phát triển trên ADI-R hoàn toàn khớp với chẩn đoán Rối loạn phổ tự kỷ. Cần kết hợp đối chiếu với kết quả quan sát trực tiếp trên ADOS-2 và thang hành vi thích ứng Vineland-3 để hoàn thiện báo cáo chẩn đoán xác định. `; } else if (metCount >= 2) { scoreBadge.textContent = `ĐẠT ${metCount}/4 MIỀN (HỒ SƠ KHÔNG ĐIỂN HÌNH)`; scoreBadge.style.background = '#f59e0b'; scoreBadge.style.color = '#ffffff'; resultBox.style.borderLeftColor = '#f59e0b'; resultBox.innerHTML = ` Kết luận Thuật toán ADI-R — Hồ Sơ Phổ Tự Kỷ Không Điển Hình / Chưa Đủ 4 Miền (Đạt ${metCount}/4 Miền):
• Theo quy tắc nghiêm ngặt của ADI-R, chẩn đoán Tự kỷ cổ điển yêu cầu vượt ngưỡng ở cả 4 miền. Hiện tại hồ sơ đạt: Miền A (${sA}/30, ngưỡng ≥10) • Miền B (${sB}/${maxB}, ngưỡng ≥${cutB}) • Miền C (${sC}/12, ngưỡng ≥3) • Miền D (${sD}/3, ngưỡng ≥1).
• Ý nghĩa lâm sàng: Trường hợp vượt ngưỡng ở Miền A và Miền B nhưng thiếu Miền C (Hành vi lặp lại) rất hay gặp ở Rối loạn giao tiếp xã hội (SPCD) hoặc Tự kỷ mức độ nhẹ/chức năng cao. Cần kết hợp kết quả quan sát trực tiếp ADOS-2 và tiêu chuẩn DSM-5 để quyết định chẩn đoán cuối cùng. `; } else { scoreBadge.textContent = `DƯỚI NGƯỠNG CHẨN ĐOÁN ADI-R (${metCount}/4 MIỀN)`; scoreBadge.style.background = '#10b981'; scoreBadge.style.color = '#ffffff'; resultBox.style.borderLeftColor = '#10b981'; resultBox.innerHTML = ` Kết luận Thuật toán ADI-R — Không Đạt Ngưỡng Chẩn Đoán Tự Kỷ (Chỉ đạt ${metCount}/4 Miền):
• Điểm số chi tiết: Miền A (${sA}/30) • Miền B (${sB}/${maxB}) • Miền C (${sC}/12) • Miền D (${sD}/3).
• Nếu trẻ chỉ tăng điểm đơn độc ở Miền B (Giao tiếp) và Miền D (Chậm nói trước 36 tháng) nhưng Miền A (Tương tác xã hội) và Miền C (Hành vi lặp lại) hoàn toàn bình thường, hồ sơ hướng tới Rối loạn ngôn ngữ phát triển (DLD) chứ không phải Rối loạn phổ tự kỷ. `; } updateFloatingFabVisibility(); } function applyPreset(type) { rawScores = {}; if (type === 'reset') { renderItems(); updateSummary(); return; } algoItems.forEach(function(it) { rawScores[it.id] = 0; }); if (type === 'non') { // Rối loạn ngôn ngữ đơn thuần: Miền A = 3đ (Dưới ngưỡng 10), Miền B = 6đ, Miền C = 1đ, Miền D = 2đ [1, 4, 21].forEach(id => { rawScores[id] = 1; }); [16, 19, 20, 23, 24].forEach(id => { rawScores[id] = 1; }); rawScores[29] = 1; rawScores[35] = 1; rawScores[36] = 1; } else if (type === 'partial') { // Đạt Miền A (14đ), Miền B (10đ), Miền D (2đ), nhưng thiếu Miền C (1đ { rawScores[id] = (idx { rawScores[id] = (idx = 3) rawScores[35] = 1; rawScores[37] = 1; } else if (type === 'autism') { // Đạt chuẩn cả 4 miền: Miền A (19đ), Miền B (15đ), Miền C (7đ), Miền D (3đ) [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15].forEach((id, idx) => { rawScores[id] = (idx { rawScores[id] = (idx { rawScores[id] = (idx < 2) ? 2 : 1; }); rawScores[35] = 2; rawScores[36] = 2; rawScores[37] = 1; } renderItems(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); arWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { arWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 940px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } shadow.querySelectorAll('#verbalGroup .ar-btn-sm').forEach(function(btn) { btn.onclick = function() { isVerbal = (this.getAttribute('data-verbal') === 'yes'); shadow.querySelectorAll('#verbalGroup .ar-btn-sm').forEach(b => b.classList.remove('active')); this.classList.add('active'); renderItems(); updateSummary(); }; }); shadow.querySelectorAll('#presetGroup .ar-btn-sm').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-pre')); }; }); shadow.querySelectorAll('#domainTabs .ar-dtab').forEach(function(tab) { tab.onclick = function() { filterDom = this.getAttribute('data-dom'); shadow.querySelectorAll('#domainTabs .ar-dtab').forEach(t => t.classList.remove('active')); this.classList.add('active'); renderItems(); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); applyPreset('autism'); })();
ADI-R (Autism Diagnostic Interview-Revised — Phỏng vấn Chẩn đoán Tự kỷ, Bản Hiệu đính) là công cụ phỏng vấn lâm sàng bán cấu trúc chuyên sâu dành cho phụ huynh hoặc người chăm sóc chính, được phát triển bởi Giáo sư Michael Rutter, Ann Le Couteur và Catherine Lord (2003).
Trong y khoa thế giới, bộ đôi ADOS-2 (quan sát trực tiếp hành vi hiện tại) và ADI-R (khai thác toàn bộ lịch sử phát triển từ nhỏ) tạo thành “Tiêu chuẩn vàng kép” (Dual Gold Standard) để chẩn đoán xác định Rối loạn phổ tự kỷ (ASD).
Tóm tắt cốt lõi về công cụ ADI-R
-
Đối tượng áp dụng: Mọi cá nhân (từ trẻ nhỏ đến người trưởng thành) miễn là có tuổi phát triển tâm thần (Mental Age) từ 2.0 tuổi (24 tháng) trở lên.
-
Hình thức & Thời gian: Bác sĩ/Chuyên gia tâm lý phỏng vấn trực tiếp phụ huynh qua 93 mục hỏi chi tiết (kéo dài từ 1.5 đến 2.5 giờ), tập trung vào các hành vi cụ thể ở giai đoạn 4.0 – 5.0 tuổi (“Most Abnormal 4.0–5.0” — giai đoạn các triệu chứng tự kỷ bộc lộ điển hình nhất và ít bị che lấp bởi kỹ năng học tập sau này) hoặc thời điểm hiện tại (đối với trẻ dưới 4 tuổi).
-
4 Trụ cột trong Thuật toán Chẩn đoán ADI-R (Diagnostic Algorithm): Mặc dù phỏng vấn 93 câu, thuật toán tính điểm chẩn đoán chỉ rút trích các mục cốt lõi chia vào 4 miền (Domains) và 12 tiểu lĩnh vực (Subdomains):
| Mã miền | Tên miền đánh giá trong Thuật toán ADI-R | Số tiểu lĩnh vực | Điểm tối đa | Ngưỡng điểm cắt chuẩn (Cut-off) |
| Miền A | Bất thường định tính trong Tương tác Xã hội qua lại (Reciprocal Social Interaction) | 4 tiểu lĩnh vực (A1, A2, A3, A4) | 30 điểm | điểm |
| Miền B (V) (Có lời nói) | Bất thường định tính trong Giao tiếp — Nhóm có ngôn ngữ nói (Verbal) | 4 tiểu lĩnh vực (B1, B4, B2V, B3V) | 26 điểm | điểm |
| Miền B (NV)(Chưa nói) | Bất thường định tính trong Giao tiếp — Nhóm chưa có ngôn ngữ nói (Non-Verbal) | 2 tiểu lĩnh vực (B1, B4 — bỏ B2V, B3V) | 14 điểm | điểm |
| Miền C | Các mẫu hành vi hạn hẹp, lặp đi lặp lại và rập khuôn (Restricted, Repetitive Behaviors) | 4 tiểu lĩnh vực (C1, C2, C3, C4) | 12 điểm | điểm |
| Miền D | Bất thường phát triển khởi phát trước 36 tháng tuổi (Abnormality of Development $\le 36$m) | 5 chỉ báo khởi phát sớm (D1 – D5) | 5 điểm | điểm |
- Quy tắc chấm điểm & Kết luận Chẩn đoán ADI-R:
-
Tương tự ADOS-2, khi chấm phỏng vấn thô, mỗi mục có thang
0,1,2,3điểm. Khi đưa vào Thuật toán chẩn đoán, mọi mức điểm3đều được quy đổi về2điểm (ngoài trừ Miền D quy đổi nhị phân0hoặc1điểm). -
Điều kiện dương tính chuẩn ADI-R: Để đạt chẩn đoán Tự kỷ (Autism) theo thuật toán ADI-R, cá nhân phải đồng thời đạt hoặc vượt ngưỡng điểm cắt ở CẢ 4 MIỀN (A, B, C và D). Nếu chỉ vượt ngưỡng ở 2 hoặc 3 miền (ví dụ thiếu Miền C hoặc Miền D), hồ sơ sẽ được phân loại là Đặc điểm Phổ tự kỷ không điển hình / Cần kết hợp ADOS-2 & DSM-5.
[Tự kỷ] CARS-2: Thang chẩn đoán phân biệt và đo lường mức độ nặng phổ tự kỷ (Từ 2 tuổi)
(function() { const host = document.getElementById('cars2-wp-host'); if (!host) return; const placeholder = document.createComment('cars2-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // ========================================== // DỮ LIỆU 1: 15 MỤC CHUẨN CỦA CARS2-ST (STANDARD VERSION) // ========================================== const stItems = [ { id: 1, dom: 'soc', name: 'Mục I. Quan hệ với mọi người (Relating to People)', desc: 'Đánh giá mức độ trẻ chủ động tương tác, giao tiếp mắt, đáp lại sự quan tâm của người lớn hay thu mình, thờ ơ, né tránh tiếp xúc.', guide: '1.0: Tương tác tự nhiên theo tuổi | 2.0: Nhút nhát/né tránh nhẹ, ít nhìn mắt | 3.0: Cách biệt, phải nỗ lực mạnh mới thu hút được | 4.0: Hoàn toàn thờ ơ, không phản ứng với người khác.' }, { id: 2, dom: 'soc', name: 'Mục II. Bắt chước (Imitation)', desc: 'Khả năng bắt chước âm thanh, lời nói và các động tác vận động (vẫy tay, vỗ tay, làm theo mẫu) tức thì hoặc trì hoãn.', guide: '1.0: Bắt chước tốt | 2.0: Bắt chước được các hành vi đơn giản khi được nhắc | 3.0: Chỉ bắt chước đôi lúc với sự hỗ trợ lớn | 4.0: Hiếm khi hoặc không bao giờ bắt chước.' }, { id: 3, dom: 'soc', name: 'Mục III. Phản ứng cảm xúc (Emotional Response)', desc: 'Sự phù hợp của biểu cảm nét mặt, tâm trạng (vui, buồn, khóc, cười) với hoàn cảnh xung quanh.', guide: '1.0: Cảm xúc phù hợp | 2.0: Đôi khi phản ứng cảm xúc hơi lệch ngữ cảnh | 3.0: Cười/khóc vô cớ, hoặc đơ cứng cảm xúc rõ | 4.0: Cảm xúc cực kỳ bất thường, không liên quan tình huống.' }, { id: 4, dom: 'rrb', name: 'Mục IV. Sử dụng cơ thể (Body Use)', desc: 'Sự phối hợp vận động và các cử động cơ thể bất thường (nhón gót, vẫy tay, xoay người, đung đưa, tự gây hại).', guide: '1.0: Vận động bình thường | 2.0: Hơi vụng về hoặc có cử động lặp lại thoáng qua | 3.0: Vẫy tay, nhón gót, xoay người rõ rệt | 4.0: Cử động định hình với cường độ cao, liên tục.' }, { id: 5, dom: 'rrb', name: 'Mục V. Sử dụng đồ vật (Object Use)', desc: 'Cách trẻ quan tâm và chơi với đồ chơi (chơi đúng chức năng/tưởng tượng hay chỉ xếp hàng, xoay bánh xe, đập gõ).', guide: '1.0: Chơi đúng chức năng & tưởng tượng | 2.0: Chơi đơn điệu hoặc săm soi chi tiết nhẹ | 3.0: Xếp hàng, quay bánh xe, ít chơi đúng cách | 4.0: Chỉ cuốn hút rập khuôn vào bộ phận đồ vật.' }, { id: 6, dom: 'rrb', name: 'Mục VI. Thích ứng với sự thay đổi (Adaptation to Change)', desc: 'Khả năng chuyển đổi hoạt động, chấp nhận thay đổi lộ trình, chỗ ngồi, đồ vật hoặc thói quen sinh hoạt.', guide: '1.0: Linh hoạt bình thường | 2.0: Hơi bướng bỉnh khi chuyển hoạt động | 3.0: Khó chịu, cáu giận rõ khi đổi thói quen | 4.0: Hoảng loạn hoặc ăn vạ dữ dội trước thay đổi nhỏ.' }, { id: 7, dom: 'sen', name: 'Mục VII. Phản ứng thị giác (Visual Response)', desc: 'Cách sử dụng ánh mắt để quan sát người/vật (nhìn thẳng tự nhiên hay nhìn nghiêng/liếc mắt, nhìn chằm chằm ánh đèn/vật quay).', guide: '1.0: Quan sát bình thường | 2.0: Đôi khi nhìn vật hơn nhìn người, tránh nhìn mắt nhẹ | 3.0: Nhìn nghiêng sát mắt, mê mẩn vật quay/ánh sáng | 4.0: Né tránh nhìn người nghiêm trọng, kích thích thị giác nặng.' }, { id: 8, dom: 'sen', name: 'Mục VIII. Phản ứng thính giác (Listening Response)', desc: 'Phản ứng với tiếng gọi tên và các âm thanh môi trường (phản ứng quá mức/bịt tai hoặc thờ ơ như không nghe thấy).', guide: '1.0: Nghe & phản ứng bình thường | 2.0: Đôi khi gọi tên chậm quay lại hoặc hơi nhạy tiếng ồn | 3.0: Lúc như điếc lúc lại giật mình bịt tai | 4.0: Phản ứng quá mức hoặc thờ ơ nghiêm trọng với âm thanh.' }, { id: 9, dom: 'sen', name: 'Mục IX. Phản ứng Vị giác, Khứu giác, Xúc giác (Taste, Smell, and Touch)', desc: 'Cách trẻ khám phá đồ vật qua các giác quan gần và phản ứng với cảm giác đau, nhiệt độ, chất liệu quần áo/thức ăn.', guide: '1.0: Bình thường | 2.0: Kén ăn kết cấu nhẹ hoặc hay đưa đồ lên miệng/ngửi | 3.0: Ngửi/liếm đồ vật rõ, chịu đau cao bất thường hoặc né tránh chạm | 4.0: Khám phá đồ vật chủ yếu bằng liếm/ngửi/sờ bất thường.' }, { id: 10, dom: 'sen', name: 'Mục X. Sự sợ hãi hoặc Lo âu (Fear or Nervousness)', desc: 'Mức độ sợ hãi quá mức trước những thứ vô hại hoặc ngược lại là hoàn toàn không biết sợ trước nguy hiểm thực tế.', guide: '1.0: Biết sợ hợp lý theo tuổi | 2.0: Đôi khi lo lắng hoặc liều lĩnh hơn bạn cùng tuổi | 3.0: Sợ hãi vô lý hoặc thiếu nhận thức nguy hiểm rõ | 4.0: Hoảng sợ cực độ không dỗ được hoặc bất chấp nguy hiểm.' }, { id: 11, dom: 'com', name: 'Mục XI. Giao tiếp bằng lời nói (Verbal Communication)', desc: 'Mức độ phát triển lời nói và các bất thường ngôn ngữ (chậm nói, nhại lời, đảo ngược đại từ, ngôn ngữ rập khuôn).', guide: '1.0: Ngôn ngữ phù hợp tuổi | 2.0: Chậm nói nhẹ hoặc đôi khi nhại lời | 3.0: Không có lời nói giao tiếp hoặc nhại lời/nói vô nghĩa nhiều | 4.0: Hoàn toàn không dùng lời nói có nghĩa hoặc chỉ phát âm thanh lạ.' }, { id: 12, dom: 'com', name: 'Mục XII. Giao tiếp không lời (Nonverbal Communication)', desc: 'Việc sử dụng cử chỉ (chỉ trỏ, gật/lắc đầu, vẫy tay, nét mặt) để bày tỏ nhu cầu và chia sẻ sự chú ý.', guide: '1.0: Dùng cử chỉ tốt | 2.0: Cử chỉ còn nghèo nàn, chỉ tay chưa rõ | 3.0: Kéo tay người lớn thay vì chỉ trỏ, ít hiểu cử chỉ | 4.0: Hoàn toàn không dùng hoặc không hiểu cử chỉ phi ngôn ngữ.' }, { id: 13, dom: 'gen', name: 'Mục XIII. Mức độ hoạt động (Activity Level)', desc: 'Mức độ vận động trong phòng khám và sinh hoạt (tăng động, chạy nhảy liên tục hoặc thụ động, ì ạch quá mức).', guide: '1.0: Hoạt động vừa phải | 2.0: Hơi hiếu động hoặc hơi chậm chạp nhẹ | 3.0: Tăng động khó ngồi yên hoặc rất thụ động | 4.0: Cực kỳ tăng động/lờ đờ suốt buổi, rất khó điều chỉnh.' }, { id: 14, dom: 'gen', name: 'Mục XIV. Mức độ và Tính nhất quán của Phản ứng Trí tuệ (Intellectual Response)', desc: 'Sự đồng đều giữa các kỹ năng nhận thức (trí tuệ đồng đều hay phát triển lệch, có kỹ năng vượt trội xen lẫn thiếu hụt).', guide: '1.0: Trí tuệ bình thường & đồng đều | 2.0: Chậm nhẹ đồng đều các lĩnh vực | 3.0: Nhận thức không đồng đều, có mảng giỏi bất ngờ | 4.0: Lệch lạc lớn giữa các kỹ năng (Savant/Splinter skills) kèm suy giảm chung.' }, { id: 15, dom: 'gen', name: 'Mục XV. Ấn tượng chung của Nhà lâm sàng (General Impressions)', desc: 'Đánh giá tổng thể của chuyên gia về mức độ tự kỷ dựa trên toàn bộ quá trình quan sát và bệnh sử.', guide: '1.0: Không tự kỷ | 2.0: Tự kỷ mức độ nhẹ | 3.0: Tự kỷ mức độ trung bình | 4.0: Tự kỷ mức độ nặng.' } ]; // ========================================== // DỮ LIỆU 2: 15 MỤC CHUẨN CỦA CARS2-HF (HIGH-FUNCTIONING • >= 6 TUỔI, IQ >= 80, NÓI LƯU LOÁT) // ========================================== const hfItems = [ { id: 1, dom: 'soc', name: 'Mục I. Hiểu biết Cảm xúc – Xã hội (Social-Emotional Understanding)', desc: 'Khả năng nhận diện cảm xúc, đọc ngôn ngữ cơ thể, nét mặt và hiểu góc nhìn/suy nghĩ của người khác (Thuyết tâm trí).', guide: '1.0: Thấu cảm & hiểu ý người khác tốt | 2.0: Đôi khi hiểu sai ẩn ý hoặc cảm xúc tinh tế | 3.0: Khó đặt mình vào vị trí người khác rõ rệt | 4.0: Hầu như không nhận thức được cảm xúc/quan điểm của người đối diện.' }, { id: 2, dom: 'soc', name: 'Mục II. Biểu đạt Cảm xúc và Điều tiết Cảm xúc (Emotional Expression & Regulation)', desc: 'Cách thể hiện cảm xúc qua nét mặt/giọng nói và khả năng tự kiểm soát cơn giận, lo âu hoặc thất vọng.', guide: '1.0: Biểu đạt & tự điều tiết tốt | 2.0: Biểu cảm hơi cứng nhắc hoặc dễ cáu khi thất bại | 3.0: Bùng nổ cảm xúc hoặc nét mặt phẳng lì lệch ngữ cảnh | 4.0: Rối loạn điều tiết cảm xúc nghiêm trọng.' }, { id: 3, dom: 'soc', name: 'Mục III. Quan hệ với mọi người (Relating to People)', desc: 'Tính tương hỗ hai chiều khi tương tác với người lớn và bạn cùng trang lứa, khả năng kết bạn và duy trì tình bạn.', guide: '1.0: Quan hệ hai chiều tự nhiên | 2.0: Muốn kết bạn nhưng vụng về, tương tác hơi một chiều | 3.0: Ít chủ động xã hội hoặc chỉ tương tác theo điều kiện riêng | 4.0: Tách biệt xã hội hoặc hoàn toàn một chiều.' }, { id: 4, dom: 'rrb', name: 'Mục IV. Sử dụng cơ thể (Body Use)', desc: 'Sự khéo léo vận động tinh/thô, dáng đi đứng, tư thế và các cử động định hình hoặc tics vận động.', guide: '1.0: Phối hợp vận động tốt | 2.0: Hơi vụng về trong thể thao/viết chữ hoặc tư thế hơi cứng | 3.0: Vụng về rõ hoặc có cử động tay/cơ thể lặp lại | 4.0: Cử động định hình hoặc bất thường vận động nghiêm trọng.' }, { id: 5, dom: 'rrb', name: 'Mục V. Sử dụng đồ vật trong vui chơi & Sở thích thu hẹp (Object Use in Play)', desc: 'Khả năng chơi tưởng tượng linh hoạt so với việc chỉ sưu tầm thông tin, phân loại hoặc đam mê các chủ đề chuyên biệt hẹp.', guide: '1.0: Sở thích đa dạng, linh hoạt | 2.0: Rất mê 1–2 chủ đề nhưng vẫn chuyển sang việc khác được | 3.0: Sở thích đặc biệt chiếm phần lớn thời gian và câu chuyện | 4.0: Ám ảnh mãnh liệt với chủ đề hẹp, cản trở sinh hoạt.' }, { id: 6, dom: 'rrb', name: 'Mục VI. Thích ứng với thay đổi & Sở thích hạn hẹp (Adaptation to Change)', desc: 'Tính linh hoạt khi thay đổi kế hoạch, quy tắc, lịch trình và xu hướng khăng khăng giữ các nghi thức cá nhân.', guide: '1.0: Thích nghi linh hoạt | 2.0: Cần báo trước khi đổi lịch, hơi cứng nhắc quy tắc | 3.0: Căng thẳng, phản ứng mạnh khi kế hoạch thay đổi | 4.0: Đòi hỏi sự bất biến tuyệt đối, hoảng loạn khi thay đổi.' }, { id: 7, dom: 'sen', name: 'Mục VII. Phản ứng thị giác (Visual Response)', desc: 'Chất lượng giao tiếp ánh mắt khi trò chuyện và sự chú ý quá mức đến các chi tiết thị giác nhỏ hoặc ánh sáng.', guide: '1.0: Giao tiếp mắt tự nhiên | 2.0: Nhìn mắt không đều hoặc nhìn chằm chằm hơi cứng | 3.0: Tránh nhìn mắt rõ rệt hoặc cuốn hút vào chi tiết thị giác | 4.0: Bất thường nghiêm trọng trong giao tiếp mắt.' }, { id: 8, dom: 'sen', name: 'Mục VIII. Phản ứng thính giác (Listening Response)', desc: 'Phản ứng với tiếng ồn môi trường và khả năng lọc âm thanh để lắng nghe người đối diện trong nơi đông người.', guide: '1.0: Lắng nghe bình thường | 2.0: Dễ xao nhãng bởi tiếng động nhỏ hoặc ghét một số tiếng ồn | 3.0: Quá tải thính giác rõ (phải bịt tai) hoặc chậm xử lý lời nói | 4.0: Nhạy cảm thính giác cực độ gây cản trở sinh hoạt.' }, { id: 9, dom: 'sen', name: 'Mục IX. Phản ứng và Nhạy cảm Giác quan khác (Taste, Smell, Touch)', desc: 'Nhạy cảm với chất liệu quần áo (mác áo), kết cấu thức ăn, mùi hương hoặc cảm giác đụng chạm cơ thể.', guide: '1.0: Không có nhạy cảm đặc biệt | 2.0: Kén một số chất vải hoặc món ăn nhất định | 3.0: Phản ứng gay gắt với mùi, kết cấu thức ăn hoặc cái ôm | 4.0: Rối loạn xử lý giác quan nặng.' }, { id: 10, dom: 'sen', name: 'Mục X. Sự sợ hãi hoặc Lo âu (Fear or Anxiety)', desc: 'Mức độ lo âu xã hội, căng thẳng trước tình huống mới, ám ảnh sợ hoặc thiếu nhận thức rủi ro xã hội.', guide: '1.0: Mức lo âu bình thường | 2.0: Hay lo lắng khi gặp người lạ/tình huống mới | 3.0: Lo âu thường trực, căng thẳng rõ rệt | 4.0: Lo âu hoặc hoảng loạn nghiêm trọng làm tê liệt hoạt động.' }, { id: 11, dom: 'com', name: 'Mục XI. Giao tiếp bằng lời nói (Verbal Communication)', desc: 'Kỹ năng hội thoại qua lại hai chiều, cách dùng từ (kiểu cách "ông cụ non"), giọng điệu và khả năng hiểu nghĩa bóng/nói đùa.', guide: '1.0: Hội thoại linh hoạt, hiểu nghĩa bóng | 2.0: Nói hơi sách vở, đôi khi hiểu theo nghĩa đen | 3.0: Độc thoại một chiều về sở thích, giọng đều đều, khó hiểu ẩn dụ | 4.0: Giao tiếp ngữ dụng suy giảm nghiêm trọng.' }, { id: 12, dom: 'com', name: 'Mục XII. Giao tiếp không lời (Nonverbal Communication)', desc: 'Sự phối hợp giữa cử chỉ tay, tư thế cơ thể, khoảng cách giao tiếp và biểu cảm nét mặt khi đang nói chuyện.', guide: '1.0: Ngôn ngữ cơ thể tự nhiên | 2.0: Cử chỉ hơi ít hoặc khoảng cách đứng hơi gần/xa | 3.0: Hiếm dùng cử chỉ minh họa, nét mặt và lời nói thiếu ăn khớp | 4.0: Ngôn ngữ phi ngôn ngữ hoàn toàn rời rạc, cứng nhắc.' }, { id: 13, dom: 'gen', name: 'Mục XIII. Khả năng Tích hợp Tư duy & Nhận thức Tổng thể (Thinking/Cognitive Integration)', desc: 'Khả năng nhìn nhận bức tranh tổng thể (Central Coherence) thay vì chỉ sa đà vào các chi tiết vụn vặt rời rạc.', guide: '1.0: Nắm bắt ý chính & tổng thể tốt | 2.0: Chú ý nhiều đến tiểu tiết nhưng vẫn hiểu ý chính khi nhắc | 3.0: Nhớ chi tiết cực tốt nhưng bỏ lỡ ý nghĩa tổng thể của tình huống | 4.0: Tư duy mảnh vụn, không thể kết nối thành bức tranh chung.' }, { id: 14, dom: 'gen', name: 'Mục XIV. Mức độ và Tính nhất quán của Phản ứng Trí tuệ (Intellectual Response)', desc: 'Sự chênh lệch giữa trí thông minh học thuật/ghi nhớ và khả năng giải quyết vấn đề thực tế ("lẽ thường" xã hội).', guide: '1.0: Năng lực nhận thức và thực tế cân bằng | 2.0: Học tốt nhưng kỹ năng ứng phó thực tế hơi chậm | 3.0: Chênh lệch lớn giữa điểm số/kiến thức và sự ngây thơ ngoài đời | 4.0: Lệch lạc cực đoan giữa năng lực chuyên biệt và kỹ năng sống.' }, { id: 15, dom: 'gen', name: 'Mục XV. Ấn tượng chung của Nhà lâm sàng (General Impressions)', desc: 'Đánh giá tổng quát của chuyên gia về mức độ triệu chứng thuộc Phổ tự kỷ trên toàn bộ 14 lĩnh vực trên.', guide: '1.0: Không thuộc phổ tự kỷ | 2.0: Phổ tự kỷ mức độ nhẹ | 3.0: Phổ tự kỷ mức độ trung bình | 4.0: Phổ tự kỷ mức độ nặng.' } ]; // formType: 'st_u13' (CARS2-ST = 13 tuổi: Cut 28.0 / 35.0) | 'hf' (CARS2-HF >= 6 tuổi, IQ >= 80: Cut 28.0 / 34.0) let formType = 'st_u13'; let scores = {}; // Lưu điểm từng mục (1.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0) let filterDom = 'all'; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .c2-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .c2-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .c2-inner { padding: 24px; max-width: 940px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .c2-wrap.is-fullscreen .c2-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .c2-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(217, 119, 6, 0.45), 0 0 0 0 rgba(217, 119, 6, 0.4); } 70% { box-shadow: 0 6px 20px rgba(217, 119, 6, 0.45), 0 0 0 10px rgba(217, 119, 6, 0); } 100% { box-shadow: 0 6px 20px rgba(217, 119, 6, 0.45), 0 0 0 0 rgba(217, 119, 6, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #b45309 0%, #d97706 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(217, 119, 6, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Bộ chuyển đổi 3 mẫu phiếu CARS-2 */ .form-switcher { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; background: #f1f5f9; padding: 8px; border-radius: 12px; margin-bottom: 18px; } .form-btn { padding: 10px 12px; border-radius: 9px; border: 1.5px solid transparent; background: transparent; cursor: pointer; text-align: left; transition: all 0.2s ease; touch-action: manipulation; } .form-btn.active { background: #ffffff; border-color: #d97706; box-shadow: 0 2px 8px rgba(15, 23, 42, 0.08); } .form-btn-title { font-size: 13.8px; font-weight: 800; color: #0f172a; display: block; } .form-btn.active .form-btn-title { color: #b45309; } .form-btn-sub { font-size: 11.5px; color: #64748b; margin-top: 2px; display: block; } /* Header */ .c2-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .c2-header-text { flex: 1 1 260px; } .c2-title { font-size: 20px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .c2-desc { font-size: 13.8px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #fffbeb; color: #b45309; border: 1px solid #fde68a; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #d97706; color: #ffffff; border-color: #d97706; } /* Controls */ .c2-controls { display: flex; flex-direction: column; gap: 10px; margin-bottom: 18px; } .c2-presets { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; } .c2-preset-lbl { font-size: 12.5px; font-weight: 700; color: #475569; margin-right: 4px; } .c2-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; touch-action: manipulation; } .c2-pbtn:hover { background: #f1f5f9; } .c2-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } .c2-domain-tabs { display: flex; flex-wrap: wrap; gap: 6px; } .c2-dtab { padding: 6px 12px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .c2-dtab.active { background: #d97706; color: #ffffff; border-color: #d97706; } /* Sticky Dashboard */ .c2-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .c2-wrap.is-fullscreen .c2-dash { top: 58px; } .c2-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .c2-score-big { font-size: 24px; font-weight: 800; line-height: 1; } .c2-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .c2-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .c2-bar-bg { height: 10px; background: #334155; border-radius: 5px; overflow: hidden; margin-bottom: 12px; } .c2-bar-fill { height: 100%; width: 0%; background: #10b981; transition: width 0.35s ease, background 0.35s ease; } .c2-pillars { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; font-size: 12px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .c2-pillar-box { background: #1e293b; padding: 7px 10px; border-radius: 8px; } .c2-pillar-val { font-weight: 700; color: #ffffff; font-size: 13.5px; display: block; margin-top: 2px; } /* Danh sách 15 mục CARS-2 */ .c2-item { border: 1px solid #e2e8f0; border-radius: 12px; padding: 15px 16px; margin-bottom: 12px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 8px; } .c2-item.sev-high { border-color: #fca5a5; background: #fff5f5; } .c2-item.sev-mid { border-color: #fde68a; background: #fffbeb; } .c2-item-title { font-size: 15px; font-weight: 800; color: #0f172a; } .c2-item-desc { font-size: 13.5px; color: #334155; } .c2-item-guide { font-size: 12.5px; color: #475569; background: #f8fafc; padding: 7px 10px; border-radius: 6px; border-left: 3px solid #cbd5e1; } /* 7 nút điểm bước nhảy 0.5 (1.0 -> 4.0) */ .c2-scale-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 6px; margin-top: 4px; } .c2-sbtn { padding: 8px 4px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .c2-sbtn:hover { border-color: #64748b; } .c2-sbtn-num { font-size: 13.5px; font-weight: 800; display: block; color: #0f172a; } .c2-sbtn-lbl { font-size: 10.5px; color: #64748b; display: block; margin-top: 1px; } .c2-sbtn.sel-norm { background: #10b981; border-color: #10b981; } .c2-sbtn.sel-mild { background: #f59e0b; border-color: #f59e0b; } .c2-sbtn.sel-sev { background: #ef4444; border-color: #ef4444; } .c2-sbtn.sel-norm .c2-sbtn-num, .c2-sbtn.sel-norm .c2-sbtn-lbl, .c2-sbtn.sel-mild .c2-sbtn-num, .c2-sbtn.sel-mild .c2-sbtn-lbl, .c2-sbtn.sel-sev .c2-sbtn-num, .c2-sbtn.sel-sev .c2-sbtn-lbl { color: #ffffff; } .c2-result-box { margin-top: 20px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #64748b; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 720px) { .c2-inner { padding: 14px; } .form-switcher { grid-template-columns: 1fr; } .c2-title { font-size: 18px; } .c2-pillars { grid-template-columns: 1fr 1fr; } .c2-scale-grid { grid-template-columns: repeat(4, 1fr); } .c2-pbtn.reset { margin-left: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
${cfg.title}
${cfg.desc}
`; } function renderItems() { const cfg = getActiveConfig(); itemList.innerHTML = ''; cfg.items.forEach(function(it) { if (filterDom !== 'all' && it.dom !== filterDom) return; const uVal = (scores[it.id] !== undefined) ? scores[it.id] : 1.0; let rowCls = 'c2-item'; if (uVal >= 3.0) rowCls += ' sev-high'; else if (uVal >= 2.0) rowCls += ' sev-mid'; const btnsHtml = scaleSteps.map(st => { let cls = 'c2-sbtn'; if (uVal === st.val) { if (st.val <= 1.5) cls += ' sel-norm'; else if (st.val <= 2.5) cls += ' sel-mild'; else cls += ' sel-sev'; } return ` `; }).join(''); const el = document.createElement('div'); el.className = rowCls; el.innerHTML = `• Tổng điểm thấp hơn ngưỡng điểm cắt phân loại tự kỷ (${cfg.cutMild.toFixed(1)} điểm).
• Nếu trẻ có một số mục lẻ đạt 2.0 – 2.5 điểm ở phần Giao tiếp hoặc Hoạt động nhưng tổng điểm dưới ${cfg.cutMild.toFixed(1)}, cần đánh giá phân biệt với Chậm phát triển ngôn ngữ, Tăng động giảm chú ý (ADHD) hoặc Rối loạn xử lý giác quan đơn thuần. `; } else if (total < cfg.cutSev) { color = '#f59e0b'; badgeTxt = `TỰ KỶ NHẸ – TRUNG BÌNH (${total.toFixed(1)}đ)`; analysis = ` Kết luận CARS-2 — Mức Độ Triệu Chứng Phổ Tự Kỷ NHẸ ĐẾN TRUNG BÌNH (${total.toFixed(1)} / 60.0 điểm):
• Tổng điểm nằm trong khoảng ${cfg.cutMild.toFixed(1)} – ${(cfg.cutSev - 0.5).toFixed(1)} điểm. Hồ sơ phân bố: Tương tác & Giao tiếp (${sSocCom.toFixed(1)}/20.0) • Cơ thể, Đồ vật & Thay đổi (${sRrb.toFixed(1)}/12.0) • Giác quan & Lo âu (${sSen.toFixed(1)}/16.0).
• Hướng xử trí lâm sàng: Kết quả tương ứng với mức độ cần hỗ trợ (Level 1 – Level 2 theo DSM-5). Khuyến nghị kết hợp đánh giá năng lực thích ứng bằng Vineland-3 để xây dựng mục tiêu can thiệp cá nhân hóa (IEP) tập trung vào các mục có điểm từ 2.5 trở lên. `; } else { color = '#ef4444'; badgeTxt = `TỰ KỶ MỨC ĐỘ NẶNG (≥ ${cfg.cutSev.toFixed(1)}: ${total.toFixed(1)}đ)`; analysis = ` Kết luận CARS-2 — Mức Độ Triệu Chứng Phổ Tự Kỷ NẶNG (Đạt ${total.toFixed(1)} / 60.0 điểm, ngưỡng ≥ ${cfg.cutSev.toFixed(1)}):
• Tổng điểm vượt ngưỡng phân loại Tự kỷ mức độ nặng trên thang CARS-2, phản ánh sự suy giảm lan tỏa ở cả Tương tác – Giao tiếp (${sSocCom.toFixed(1)}/20.0), Hành vi định hình/Kháng cự thay đổi (${sRrb.toFixed(1)}/12.0) và Phản ứng giác quan (${sSen.toFixed(1)}/16.0).
• Hướng xử trí lâm sàng: Cần triển khai chương trình can thiệp sớm tích cực, đa chuyên ngành (Ngôn ngữ trị liệu, Hoạt động trị liệu giác quan, Can thiệp hành vi phát triển) và theo dõi định kỳ lại bằng CARS-2 + Vineland-3 sau mỗi 6 tháng. `; } barFill.style.background = color; scoreBadge.textContent = badgeTxt; scoreBadge.style.background = color; scoreBadge.style.color = '#ffffff'; resultBox.style.borderLeftColor = color; resultBox.innerHTML = analysis; updateFloatingFabVisibility(); } function applyPreset(type) { scores = {}; for (let i = 1; i { scores[id] = (idx % 2 === 0) ? 2.0 : 1.5; }); } else if (type === 'mild') { // 32.5 điểm (Mức Nhẹ - Trung bình) [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15].forEach((id, idx) => { if (idx % 3 === 0) scores[id] = 2.5; else if (idx % 2 === 0) scores[id] = 2.0; else scores[id] = 2.0; }); } else if (type === 'severe') { // 43.5 điểm (Mức Nặng) [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15].forEach((id, idx) => { if (idx % 3 === 0) scores[id] = 3.5; else if (idx % 2 === 0) scores[id] = 3.0; else scores[id] = 2.5; }); } renderItems(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); c2Wrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { c2Wrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 940px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } shadow.querySelectorAll('#formSwitcher .form-btn').forEach(function(btn) { btn.onclick = function() { formType = this.getAttribute('data-form'); shadow.querySelectorAll('#formSwitcher .form-btn').forEach(b => b.classList.remove('active')); this.classList.add('active'); renderHeader(); renderItems(); updateSummary(); }; }); shadow.querySelectorAll('.c2-pbtn').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-preset')); }; }); shadow.querySelectorAll('#domainTabs .c2-dtab').forEach(function(tab) { tab.onclick = function() { filterDom = this.getAttribute('data-dom'); shadow.querySelectorAll('#domainTabs .c2-dtab').forEach(t => t.classList.remove('active')); this.classList.add('active'); renderItems(); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); renderHeader(); applyPreset('mild'); })();
CARS-2 (Childhood Autism Rating Scale, Second Edition — Thang Đánh Giá Tự Kỷ Ở Trẻ Em, Phiên bản 2) là một trong những công cụ quan sát lâm sàng kinh điển và được sử dụng rộng rãi nhất tại các bệnh viện, trung tâm tâm lý trên toàn thế giới (và tại Việt Nam) để hỗ trợ chẩn đoán phân biệt và đo lường mức độ nặng (Severity) của Rối loạn phổ tự kỷ. Công cụ được phát triển bởi Giáo sư Eric Schopler, Mary Van Bourgondien và các cộng sự (2010).
1. Điểm cải tiến đột phá của CARS-2 so với bản CARS cũ
Ở bản CARS gốc (1988), công cụ này rất nhạy với trẻ tự kỷ điển hình có kèm chậm phát triển trí tuệ, nhưng lại dễ bỏ sót nhóm Tự kỷ chức năng cao (High-Functioning Autism / Asperger). Vì vậy, CARS-2 đã được tách thành 2 phiên bản đánh giá chuyên biệt (đều gồm 15 mục, chấm từ 1.0 đến 4.0 điểm với bước nhảy 0.5 điểm):
| Đặc điểm | 1. Bản Tiêu chuẩn (CARS2-ST — Standard Version) | 2. Bản Chức năng cao (CARS2-HF — High-Functioning) |
| Đối tượng áp dụng |
• Trẻ dưới 6 tuổi (mọi mức độ phát triển).
• Hoặc trẻ từ 6 tuổi trở lên nhưng có IQ hoặc chậm nói / giao tiếp hạn chế. |
• Cá nhân từ 6 tuổi trở lên, nói lưu loát VÀ có chỉ số trí tuệ IQ (Tự kỷ chức năng cao / Asperger). |
| Cấu trúc 15 mục đánh giá | Giữ nguyên 15 mục kinh điển (Quan hệ với người, Bắt chước, Cảm xúc, Sử dụng cơ thể, Sử dụng đồ vật, Thích ứng thay đổi, Thị giác, Thính giác, Vị-Khứu-Xúc giác, Sợ hãi/Lo âu, Giao tiếp lời nói, Giao tiếp không lời, Mức độ hoạt động, Trí tuệ, Ấn tượng chung). | Thay thế các mục vận động/bắt chước cơ bản bằng các mục tinh tế hơn: Biểu đạt cảm xúc – xã hội, Hiểu cảm xúc & Thuyết tâm trí (Theory of Mind), Khởi xướng hội thoại, Tư duy tích hợp tổng thể (Central Coherence). |
| Cách chấm từng mục |
7 mức điểm (từ 1.0 đến 4.0, bước nhảy 0.5):
|
Tương tự (7 mức từ 1.0 đến 4.0 với bước nhảy 0.5). Tổng điểm nằm trong khoảng từ 15.0 đến 60.0 điểm. |
| Ngưỡng điểm cắt (Cut-off Score) |
• Trẻ < 13 tuổi:
–
–
–
• (Lưu ý: Với nhóm tuổi dùng bản ST, ngưỡng cắt hạ xuống cho mức Nhẹ–TB và 35.0 cho mức Nặng). |
• Áp dụng cho lứa tuổi ≥ 6 tuổi (IQ ≥ 80): –
–
– |
(Điểm đặc trưng của CARS-2 là nếu tất cả 15 mục đều bình thường hoàn toàn thì tổng điểm khởi đầu là 15.0 điểm chứ không phải 0 điểm).
[Tự kỷ] GARS-3: Thang đánh giá và xác định mức độ hỗ trợ tự kỷ Gilliam (3 – 22 tuổi)
(function() { const host = document.getElementById('gars3-wp-host'); if (!host) return; const placeholder = document.createComment('gars3-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // 56 mục hành vi chuẩn theo cấu trúc 6 tiểu thang của GARS-3 (Gilliam, 2013) // sub: 'rb' (Hành vi hạn hẹp/lặp lại - 13 câu), 'si' (Tương tác xã hội - 14 câu), 'sc' (Giao tiếp xã hội - 9 câu), // 'er' (Phản ứng cảm xúc - 8 câu), 'cs' (Phong cách nhận thức - 7 câu), 'ms' (Ngôn ngữ kém thích ứng - 5 câu) // verbalOnly: true đối với tiểu thang CS và MS khi đánh giá theo Index 4 (Trẻ chưa có ngôn ngữ nói) const questions = [ // TIỂU THANG 1: HÀNH VI HẠN HẸP / LẶP LẠI (RB • Câu 1 - 13) { id: 1, sub: 'rb', verbalOnly: false, t: 'Nếu được để yên một mình, trẻ dành phần lớn thời gian cho các hành vi lặp đi lặp lại hoặc rập khuôn.' }, { id: 2, sub: 'rb', verbalOnly: false, t: 'Trẻ bị cuốn hút quá mức vào các kích thích thị giác (như ánh đèn, gương, vật xoay tròn, nhìn nghiêng qua kẽ ngón tay).' }, { id: 3, sub: 'rb', verbalOnly: false, t: 'Trẻ nhìn chằm chằm vào bàn tay, các ngón tay hoặc đồ vật giữ trước mắt trong ít nhất 5 giây.' }, { id: 4, sub: 'rb', verbalOnly: false, t: 'Trẻ liếm, ngửi hoặc đưa vào miệng những đồ vật không phải là thức ăn.' }, { id: 5, sub: 'rb', verbalOnly: false, t: 'Trẻ vẫy nhanh bàn tay, các ngón tay hoặc cánh tay khi phấn khích hoặc căng thẳng.' }, { id: 6, sub: 'rb', verbalOnly: false, t: 'Trẻ xoay tròn cơ thể hoặc chạy vòng quanh lặp đi lặp lại.' }, { id: 7, sub: 'rb', verbalOnly: false, t: 'Trẻ làm các động tác nhón gót, nhảy tưng tưng hoặc lao người tới trước khi di chuyển.' }, { id: 8, sub: 'rb', verbalOnly: false, t: 'Trẻ đung đưa thân mình tới – lui hoặc qua lại khi đang ngồi hoặc đứng.' }, { id: 9, sub: 'rb', verbalOnly: false, t: 'Trẻ xoay các đồ vật không được thiết kế để xoay (như xoay đĩa, cốc, hộp nhựa trên mặt sàn).' }, { id: 10, sub: 'rb', verbalOnly: false, t: 'Trẻ xếp các đồ vật thành hàng dài hoặc theo một khuôn mẫu cố định và rất tức giận nếu bị xê dịch.' }, { id: 11, sub: 'rb', verbalOnly: false, t: 'Trẻ lấy tay bịt tai hoặc la hét trước những âm thanh sinh hoạt thông thường (như máy sấy, máy xay, đám đông).' }, { id: 12, sub: 'rb', verbalOnly: false, t: 'Trẻ có những hành vi tự gây thương tích cho bản thân (như tự cắn tay, tự tát vào mặt, đập đầu).' }, { id: 13, sub: 'rb', verbalOnly: false, t: 'Trẻ đòi hỏi phải đi theo đúng một lộ trình hoặc thực hiện sinh hoạt theo đúng một nghi thức không được sai lệch.' }, // TIỂU THANG 2: TƯƠNG TÁC XÃ HỘI (SI • Câu 14 - 27) { id: 14, sub: 'si', verbalOnly: false, t: 'Trẻ tránh giao tiếp bằng ánh mắt (nhìn đi chỗ khác khi có người đang nhìn hoặc nói chuyện trực diện với trẻ).' }, { id: 15, sub: 'si', verbalOnly: false, t: 'Trẻ nhìn xuyên qua mọi người như thể họ không hề có mặt ở đó.' }, { id: 16, sub: 'si', verbalOnly: false, t: 'Trẻ chống cự hoặc tỏ ra cứng đờ, khó chịu khi được người khác ôm ấp, âu yếm.' }, { id: 17, sub: 'si', verbalOnly: false, t: 'Trẻ không bắt chước hành động của những người khác khi đang chơi đùa.' }, { id: 18, sub: 'si', verbalOnly: false, t: 'Trẻ tự tách mình ra hoặc thu mình lại trong các tình huống sinh hoạt nhóm, tập thể.' }, { id: 19, sub: 'si', verbalOnly: false, t: 'Trẻ chơi một mình cạnh các bạn khác nhưng không hề tương tác hay chơi hợp tác cùng bạn.' }, { id: 20, sub: 'si', verbalOnly: false, t: 'Trẻ tỏ ra rất ít hoặc không có hứng thú trong việc làm hài lòng người khác hay chờ lời khen.' }, { id: 21, sub: 'si', verbalOnly: false, t: 'Trẻ không mỉm cười đáp lại khi bố mẹ hoặc người quen mỉm cười với trẻ.' }, { id: 22, sub: 'si', verbalOnly: false, t: 'Trẻ không có biểu hiện sợ hãi hoặc lo lắng hợp lý trước những tình huống nguy hiểm thực tế.' }, { id: 23, sub: 'si', verbalOnly: false, t: 'Trẻ không chủ động mang đồ chơi hoặc vật thú vị lại khoe để chia sẻ niềm vui với người khác.' }, { id: 24, sub: 'si', verbalOnly: false, t: 'Trẻ làm một số việc nhất định theo kiểu lặp đi lặp lại mà không quan tâm đến phản ứng của người xung quanh.' }, { id: 25, sub: 'si', verbalOnly: false, t: 'Trẻ không phản ứng khi người khác cố gắng bắt chuyện hoặc rủ trẻ cùng tham gia hoạt động.' }, { id: 26, sub: 'si', verbalOnly: false, t: 'Trẻ gặp khó khăn lớn trong việc kết bạn và duy trì mối quan hệ với các bạn cùng trang lứa.' }, { id: 27, sub: 'si', verbalOnly: false, t: 'Trẻ không thể hiện sự quan tâm hay an ủi khi thấy người khác đang buồn khóc hoặc bị đau.' }, // TIỂU THANG 3: GIAO TIẾP XÃ HỘI (SC • Câu 28 - 36) { id: 28, sub: 'sc', verbalOnly: false, t: 'Trẻ phản ứng không phù hợp trước các chỉ dẫn đơn giản (như "Ngồi xuống", "Lại đây").' }, { id: 29, sub: 'sc', verbalOnly: false, t: 'Trẻ không nhìn theo hướng khi có người chỉ tay vào một vật ở xa trong phòng (Suy giảm chú ý chung).' }, { id: 30, sub: 'sc', verbalOnly: false, t: 'Trẻ dùng bàn tay của người lớn như một công cụ (kéo tay người lớn đặt vào đồ vật) thay vì chỉ trỏ và nhìn mặt.' }, { id: 31, sub: 'sc', verbalOnly: false, t: 'Trẻ không sử dụng các cử chỉ quy ước (như vẫy tay tạm biệt, gật đầu đồng ý, lắc đầu từ chối) để giao tiếp.' }, { id: 32, sub: 'sc', verbalOnly: false, t: 'Trẻ không biết cách bắt đầu hoặc duy trì một cuộc tương tác/trò chuyện qua lại với người khác.' }, { id: 33, sub: 'sc', verbalOnly: false, t: 'Trẻ không hiểu các câu nói đùa, lời trêu chọc vui vẻ hoặc các biểu cảm nét mặt tinh tế của người đối diện.' }, { id: 34, sub: 'sc', verbalOnly: false, t: 'Trẻ gặp khó khăn trong việc hiểu các quy tắc ngầm trong giao tiếp xã hội (như chờ đến lượt nói, giữ khoảng cách).' }, { id: 35, sub: 'sc', verbalOnly: false, t: 'Trẻ thiếu các hoạt động chơi đóng vai giả vờ hoặc chơi tưởng tượng đa dạng phù hợp với lứa tuổi.' }, { id: 36, sub: 'sc', verbalOnly: false, t: 'Nét mặt và ngôn ngữ cơ thể của trẻ không ăn khớp với nội dung giao tiếp đang diễn ra.' }, // TIỂU THANG 4: PHẢN ỨNG CẢM XÚC (ER • Câu 37 - 44) { id: 37, sub: 'er', verbalOnly: false, t: 'Trẻ bùng nổ cơn giận hoặc ăn vạ dữ dội khi bị từ chối hoặc khi không đạt được điều mình muốn.' }, { id: 38, sub: 'er', verbalOnly: false, t: 'Trẻ trở nên cực kỳ bối rối, hoảng loạn hoặc cáu kỉnh khi thói quen sinh hoạt hàng ngày bị thay đổi.' }, { id: 39, sub: 'er', verbalOnly: false, t: 'Trẻ phản ứng quá mức (khóc thét, la hét, chạy trốn) khi phải chuyển từ hoạt động đang thích sang hoạt động khác.' }, { id: 40, sub: 'er', verbalOnly: false, t: 'Trẻ cười khanh khách, khóc hoặc giận dữ một cách đột ngột mà không có nguyên nhân rõ ràng.' }, { id: 41, sub: 'er', verbalOnly: false, t: 'Trẻ thể hiện những phản ứng cảm xúc trái ngược hoặc hoàn toàn không phù hợp với tình huống thực tế.' }, { id: 42, sub: 'er', verbalOnly: false, t: 'Trẻ trở nên lo âu, căng thẳng tột độ khi bước vào những nơi mới lạ hoặc đông người.' }, { id: 43, sub: 'er', verbalOnly: false, t: 'Trẻ rất khó tự bình tĩnh lại một khi đã bị kích động hoặc rơi vào trạng thái quá tải cảm xúc.' }, { id: 44, sub: 'er', verbalOnly: false, t: 'Trẻ có những nỗi sợ hãi mãnh liệt bất thường đối với những đồ vật hoặc tình huống vô hại hàng ngày.' }, // TIỂU THANG 5: PHONG CÁCH NHẬN THỨC (CS • Câu 45 - 51 • Áp dụng trong hệ 6 tiểu thang) { id: 45, sub: 'cs', verbalOnly: true, t: 'Trẻ sử dụng cách nói chuyện đặc biệt già dặn, sách vở hoặc chính xác một cách máy móc so với tuổi.' }, { id: 46, sub: 'cs', verbalOnly: true, t: 'Trẻ gắn bó mãnh liệt một cách khác thường với một số đồ vật vô tri nhất định (như cục đá, nắp chai, tờ lịch).' }, { id: 47, sub: 'cs', verbalOnly: true, t: 'Trẻ chỉ nói hoặc tìm hiểu lặp đi lặp lại về một chủ đề chuyên biệt duy nhất (như khủng long, bản đồ, biển số xe, tàu hỏa).' }, { id: 48, sub: 'cs', verbalOnly: true, t: 'Trẻ có trí nhớ máy móc xuất sắc về các sự kiện, con số hoặc chi tiết vụn vặt nhưng lại khó nắm bắt ý chính tổng thể.' }, { id: 49, sub: 'cs', verbalOnly: true, t: 'Trẻ hiểu mọi lời nói theo đúng nghĩa đen (literal) và không hiểu được các thành ngữ, ẩn dụ hay lời nói bóng gió.' }, { id: 50, sub: 'cs', verbalOnly: true, t: 'Trẻ chú ý cực kỳ tỉ mỉ đến từng bộ phận nhỏ của đồ vật hơn là chức năng tổng thể của đồ vật đó.' }, { id: 51, sub: 'cs', verbalOnly: true, t: 'Trẻ thể hiện sự chênh lệch rất lớn giữa một vài kỹ năng vượt trội đặc biệt và sự thiếu hụt ở các kỹ năng thông thường khác.' }, // TIỂU THANG 6: NGÔN NGỮ KÉM THÍCH ỨNG (MS • Câu 52 - 56 • Chỉ chấm khi trẻ có ngôn ngữ nói) { id: 52, sub: 'ms', verbalOnly: true, t: 'Trẻ lặp lại (nhại lời) các từ ngữ hoặc câu nói vừa nghe được từ người khác hoặc từ tivi/quảng cáo.' }, { id: 53, sub: 'ms', verbalOnly: true, t: 'Trẻ lặp đi lặp lại một từ hoặc một cụm từ vô nghĩa nhiều lần không phục vụ mục đích giao tiếp.' }, { id: 54, sub: 'ms', verbalOnly: true, t: 'Trẻ nói chuyện với tông giọng phẳng lì đều đều như robot, hoặc có ngữ điệu, nhịp điệu, âm lượng bất thường.' }, { id: 55, sub: 'ms', verbalOnly: true, t: 'Trẻ sử dụng sai đại từ nhân xưng (dùng "Bạn / Mẹ / Anh ấy" để chỉ chính bản thân mình thay vì xưng "Con / Tôi").' }, { id: 56, sub: 'ms', verbalOnly: true, t: 'Trẻ tự tạo ra các từ ngữ riêng (neologisms) hoặc phát ngôn những câu hoàn toàn không phù hợp với ngữ cảnh cuộc hội thoại.' } ]; const subConfigs = { rb: { code: 'rb', name: '1. Hành vi Hạn hẹp / Lặp lại (RB)', count: 13, maxRaw: 39, color: '#f59e0b' }, si: { code: 'si', name: '2. Tương tác Xã hội (SI)', count: 14, maxRaw: 42, color: '#2563eb' }, sc: { code: 'sc', name: '3. Giao tiếp Xã hội (SC)', count: 9, maxRaw: 27, color: '#7c3aed' }, er: { code: 'er', name: '4. Phản ứng Cảm xúc (ER)', count: 8, maxRaw: 24, color: '#ec4899' }, cs: { code: 'cs', name: '5. Phong cách Nhận thức (CS)', count: 7, maxRaw: 21, color: '#0d9488' }, ms: { code: 'ms', name: '6. Ngôn ngữ Kém thích ứng (MS)', count: 5, maxRaw: 15, color: '#dc2626' } }; let isVerbal = true; // true = Chấm 6 tiểu thang (56 câu - Autism Index 6) | false = Chấm 4 tiểu thang (44 câu - Autism Index 4) let answers = {}; // Lưu mức điểm 0, 1, 2, 3 cho từng câu let filterSub = 'all'; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .g3-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .g3-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .g3-inner { padding: 24px; max-width: 940px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .g3-wrap.is-fullscreen .g3-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .g3-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(124, 58, 237, 0.45), 0 0 0 0 rgba(124, 58, 237, 0.4); } 70% { box-shadow: 0 6px 20px rgba(124, 58, 237, 0.45), 0 0 0 10px rgba(124, 58, 237, 0); } 100% { box-shadow: 0 6px 20px rgba(124, 58, 237, 0.45), 0 0 0 0 rgba(124, 58, 237, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #6d28d9 0%, #7c3aed 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(124, 58, 237, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Header */ .g3-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .g3-header-text { flex: 1 1 260px; } .g3-title { font-size: 21px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .g3-desc { font-size: 14px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #f5f3ff; color: #6d28d9; border: 1px solid #ddd6fe; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #7c3aed; color: #ffffff; border-color: #7c3aed; } /* Top Controls */ .g3-top-controls { display: grid; grid-template-columns: 1fr 1.25fr; gap: 12px; margin-bottom: 14px; } .g3-box-ctrl { background: #f8fafc; border: 1px solid #e2e8f0; padding: 10px 12px; border-radius: 10px; } .g3-ctrl-label { font-size: 12px; font-weight: 700; color: #475569; text-transform: uppercase; margin-bottom: 6px; display: block; } .g3-btn-group { display: flex; flex-wrap: wrap; gap: 6px; } .g3-btn-sm { padding: 6px 10px; border-radius: 7px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; flex: 1; text-align: center; touch-action: manipulation; } .g3-btn-sm:hover { background: #f1f5f9; } .g3-btn-sm.active { background: #6d28d9; color: #ffffff; border-color: #6d28d9; } .g3-btn-sm.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; flex: 0 0 auto; } .g3-domain-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 16px; } .g3-dtab { padding: 6px 12px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .g3-dtab.active { background: #6d28d9; color: #ffffff; border-color: #6d28d9; } /* Sticky Dashboard */ .g3-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .g3-wrap.is-fullscreen .g3-dash { top: 58px; } .g3-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .g3-score-big { font-size: 23px; font-weight: 800; line-height: 1.1; } .g3-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .g3-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .g3-bar-bg { height: 10px; background: #334155; border-radius: 5px; overflow: hidden; margin-bottom: 12px; } .g3-bar-fill { height: 100%; width: 0%; background: #10b981; transition: width 0.35s ease, background 0.35s ease; } .g3-pillars { display: grid; grid-template-columns: repeat(6, 1fr); gap: 6px; font-size: 11px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .g3-pillar-box { background: #1e293b; padding: 6px 8px; border-radius: 8px; } .g3-pillar-box.muted { opacity: 0.4; } .g3-pillar-val { font-weight: 700; color: #ffffff; font-size: 12.5px; display: block; margin-top: 2px; } /* Danh sách 56 câu hỏi */ .g3-q-item { border: 1px solid #e2e8f0; border-radius: 10px; padding: 14px 16px; margin-bottom: 12px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 10px; } .g3-q-item.sev-3 { border-color: #fda4af; background: #fff5f5; } .g3-q-item.sev-2 { border-color: #fde68a; background: #fffbeb; } .g3-q-item.skipped-item { opacity: 0.45; background: #f8fafc; border-style: dashed; pointer-events: none; } .g3-q-text { font-size: 14.5px; font-weight: 600; color: #1e293b; line-height: 1.5; } .g3-q-tags { display: flex; flex-wrap: wrap; gap: 6px; } .g3-tag { font-size: 11px; font-weight: 600; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .g3-ans-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; } .g3-abtn { padding: 8px 6px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 600; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .g3-abtn:hover { border-color: #64748b; } .g3-abtn.sel-0 { background: #10b981; border-color: #10b981; color: #ffffff; font-weight: 700; } .g3-abtn.sel-1 { background: #3b82f6; border-color: #3b82f6; color: #ffffff; font-weight: 700; } .g3-abtn.sel-2 { background: #f59e0b; border-color: #f59e0b; color: #ffffff; font-weight: 700; } .g3-abtn.sel-3 { background: #ef4444; border-color: #ef4444; color: #ffffff; font-weight: 700; } /* Biểu đồ 6 tiểu thang & Kết luận */ .g3-chart-card { margin-top: 20px; padding: 16px 18px; border-radius: 12px; background: #ffffff; border: 1px solid #e2e8f0; } .g3-chart-title { font-size: 14.5px; font-weight: 700; color: #0f172a; margin-bottom: 12px; } .g3-bar-row { display: flex; align-items: center; gap: 10px; margin-bottom: 9px; font-size: 12.5px; } .g3-bar-lbl { width: 225px; flex-shrink: 0; font-weight: 600; color: #334155; } .g3-bar-track { flex: 1; height: 16px; background: #f1f5f9; border-radius: 999px; overflow: hidden; } .g3-bar-val { width: 125px; text-align: right; font-weight: 700; color: #0f172a; flex-shrink: 0; } .g3-result-box { margin-top: 16px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #64748b; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 720px) { .g3-inner { padding: 14px; } .g3-title { font-size: 18px; } .g3-top-controls { grid-template-columns: 1fr; } .g3-pillars { grid-template-columns: repeat(2, 1fr); } .g3-ans-grid { grid-template-columns: 1fr 1fr; } .g3-abtn { padding: 10px 6px; } .g3-bar-lbl { width: 135px; font-size: 11.5px; } .g3-bar-val { width: 100px; font-size: 11.5px; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
Thang Đánh Giá Tự Kỷ Gilliam GARS-3 (56 Câu Hỏi • 3 – 22 Tuổi)
Công cụ chuẩn hóa của James E. Gilliam (2013) đánh giá 6 tiểu thang đo để quy đổi ra Chỉ số Tự kỷ (Autism Index) và phân loại trực tiếp Mức độ cần hỗ trợ theo DSM-5: ≤ 54 (Rất ít khả năng) • 55–70 (Mức độ 1) • 71–100 (Mức độ 2) • ≥ 101 (Mức độ 3).
• Mức độ cần hỗ trợ DSM-5: Mức 0 (Không cần hỗ trợ đặc biệt về ASD).
• Tổng điểm chuẩn quy đổi của các tiểu thang nằm dưới ngưỡng lâm sàng của GARS-3. `; } else if (autismIndex <= 70) { color = '#f59e0b'; badgeTxt = `CÓ KHẢ NĂNG ASD • DSM-5 MỨC ĐỘ 1 (Index: ${autismIndex})`; analysis = ` Kết luận GARS-3 — Có Khả Năng Thuộc Phổ Tự Kỷ (Autism Index = ${autismIndex}, vùng 55 – 70):
• Phân loại mức độ DSM-5 tương ứng: Mức độ 1 (Level 1 — Cần hỗ trợ / Requiring Support).
• Cá nhân có các biểu hiện khó khăn trong khởi xướng tương tác xã hội (${raw.si}/42), giao tiếp xã hội (${raw.sc}/27) và tính linh hoạt hành vi (${raw.rb}/39). Khuyến nghị đối chiếu thêm với đánh giá trực tiếp ADOS-2 và thang hành vi thích ứng Vineland-3. `; } else if (autismIndex <= 100) { color = '#ef4444'; badgeTxt = `KHẢ NĂNG RẤT CAO • DSM-5 MỨC ĐỘ 2 (Index: ${autismIndex})`; analysis = ` Kết luận GARS-3 — Khả Năng Rất Cao Thuộc Phổ Tự Kỷ (Autism Index = ${autismIndex}, vùng 71 – 100):
• Phân loại mức độ DSM-5 tương ứng: Mức độ 2 (Level 2 — Cần hỗ trợ đáng kể / Requiring Substantial Support).
• Điểm số bộc lộ sự suy giảm rõ rệt ở cả giao tiếp xã hội và các mẫu hành vi hạn hẹp/lặp lại ngay cả khi đã có hỗ trợ xung quanh. Cần thực hiện chẩn đoán đa chuyên khoa và xây dựng chương trình can thiệp cá nhân hóa (IEP). `; } else { color = '#dc2626'; badgeTxt = `KHẢ NĂNG RẤT CAO • DSM-5 MỨC ĐỘ 3 (Index: ${autismIndex})`; analysis = ` Kết luận GARS-3 — Khả Năng Rất Cao Thuộc Phổ Tự Kỷ (Autism Index = ${autismIndex} ≥ 101):
• Phân loại mức độ DSM-5 tương ứng: Mức độ 3 (Level 3 — Cần hỗ trợ rất nhiều / Requiring Very Substantial Support).
• Chỉ số Tự kỷ vượt mốc trung bình của mẫu chuẩn tự kỷ (Index ≥ 101), phản ánh sự thiếu hụt nghiêm trọng về kỹ năng giao tiếp lời nói/không lời, điều tiết cảm xúc (${raw.er}/24) và sự cứng nhắc hành vi (${raw.rb}/39). Khuyến nghị can thiệp chuyên sâu toàn diện kết hợp đánh giá chức năng bằng Vineland-3. `; } barFill.style.background = color; scoreBadge.textContent = badgeTxt; scoreBadge.style.background = color; scoreBadge.style.color = '#ffffff'; resultBox.style.borderLeftColor = color; resultBox.innerHTML = analysis; updateFloatingFabVisibility(); } function applyPreset(type) { answers = {}; if (type === 'reset') { renderQuestions(); updateSummary(); return; } questions.forEach(function(q) { answers[q.id] = 0; }); if (type === 'unlikely') { // Index ~48 (Mức 0) questions.forEach(function(q, idx) { if (idx % 6 === 0) answers[q.id] = 1; }); } else if (type === 'lvl1') { // Index ~64 (DSM-5 Level 1: 55 - 70) questions.forEach(function(q, idx) { if (idx % 2 === 0) answers[q.id] = 1; }); } else if (type === 'lvl2') { // Index ~86 (DSM-5 Level 2: 71 - 100) questions.forEach(function(q, idx) { if (idx % 3 === 0) answers[q.id] = 2; else answers[q.id] = 1; }); } else if (type === 'lvl3') { // Index ~112 (DSM-5 Level 3: >= 101) questions.forEach(function(q, idx) { if (idx % 2 === 0) answers[q.id] = 2; else if (idx % 3 === 0) answers[q.id] = 3; else answers[q.id] = 1; }); } renderQuestions(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); g3Wrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { g3Wrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 940px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } shadow.querySelectorAll('#verbalGroup .g3-btn-sm').forEach(function(btn) { btn.onclick = function() { isVerbal = (this.getAttribute('data-verbal') === 'yes'); shadow.querySelectorAll('#verbalGroup .g3-btn-sm').forEach(b => b.classList.remove('active')); this.classList.add('active'); renderQuestions(); updateSummary(); }; }); shadow.querySelectorAll('#presetGroup .g3-btn-sm').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-pre')); }; }); shadow.querySelectorAll('#domainTabs .g3-dtab').forEach(function(tab) { tab.onclick = function() { filterSub = this.getAttribute('data-sub'); shadow.querySelectorAll('#domainTabs .g3-dtab').forEach(t => t.classList.remove('active')); this.classList.add('active'); renderQuestions(); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); applyPreset('lvl2'); })();
GARS-3 (Gilliam Autism Rating Scale, Third Edition — Thang Đánh Giá Tự Kỷ Gilliam, Phiên bản 3) là một trong những công cụ đánh giá chuẩn hóa dựa trên quy chiếu chuẩn (norm-referenced) phổ biến nhất thế giới hiện nay dùng để sàng lọc chuyên sâu, hỗ trợ chẩn đoán xác định và ước lượng Mức độ cần hỗ trợ theo tiêu chuẩn DSM-5 (Level 1, Level 2, Level 3). Công cụ này do Giáo sư James E. Gilliam phát triển (xuất bản năm 2013 bởi Pro-Ed).
Cốt lõi về công cụ GARS-3
-
Đối tượng áp dụng: Dành cho trẻ em, thanh thiếu niên và người trưởng thành trẻ tuổi từ 3 đến 22 tuổi có các biểu hiện hành vi nghi ngờ thuộc Rối loạn phổ tự kỷ.
-
Người thực hiện: Phụ huynh, người chăm sóc hoặc giáo viên (những người hiểu rõ và tiếp xúc thường xuyên với trẻ ít nhất 2 tuần) điền trong khoảng 10 – 15 phút.
-
Cấu trúc 56 câu hỏi & 6 Tiểu thang đo (Subscales): Điểm đột phá của GARS-3 so với bản GARS-2 cũ là được thiết kế khớp trực tiếp với các tiêu chí của DSM-5, chia thành 56 mục hành vi thuộc 6 tiểu thang đo và phân luồng theo tình trạng ngôn ngữ nói:
| Tiểu thang đo GARS-3 | Số câu hỏi | Nội dung đánh giá trọng tâm | Áp dụng cho nhóm |
| 1. Hành vi Hạn hẹp / Lặp lại(Restricted/Repetitive Behaviors – RB) | 13 câu(Câu 1 – 13) | Vận động định hình (vẫy tay, xoay người), nghi thức cứng nhắc, phản ứng giác quan bất thường (bịt tai, ngửi/liếm đồ vật, nhìn nghiêng). | Cả trẻ Có lời nói & Chưa có lời nói |
| 2. Tương tác Xã hội(Social Interaction – SI) | 14 câu(Câu 14 – 27) | Né tránh giao tiếp mắt, thu mình, không chơi hợp tác với bạn, thiếu chia sẻ sự chú ý và phản ứng xã hội qua lại. | Cả trẻ Có lời nói & Chưa có lời nói |
| 3. Giao tiếp Xã hội(Social Communication – SC) | 9 câu(Câu 28 – 36) | Thiếu cử chỉ phi ngôn ngữ (chỉ trỏ, vẫy tay), khó hiểu nét mặt/ẩn ý, không biết bắt đầu hoặc duy trì tương tác. | Cả trẻ Có lời nói & Chưa có lời nói |
| 4. Phản ứng Cảm xúc(Emotional Responses – ER) | 8 câu(Câu 37 – 44) | Ăn vạ dữ dội khi thay đổi lịch trình, lo âu quá mức, cảm xúc lệch ngữ cảnh hoặc thiếu đồng cảm. | Cả trẻ Có lời nói & Chưa có lời nói |
| 5. Phong cách Nhận thức (Cognitive Style – CS) | 7 câu(Câu 45 – 51) | Chỉ chú ý tiểu tiết mà bỏ qua tổng thể, đam mê mãnh liệt một chủ đề hẹp, trí nhớ máy móc, gắn bó đồ vật lạ. | Cả trẻ Có lời nói & Chưa có lời nói (Bỏ qua nếu Chưa có lời nói) |
| 6. Ngôn ngữ Kém thích ứng (Maladaptive Speech – MS) | 5 câu(Câu 52 – 56) | Nhại lời (echolalia), đảo ngược đại từ xưng hô, giọng nói đều đều như robot, lặp lại từ/cụm từ vô nghĩa. | Chỉ chấm cho trẻ Có lời nói (Bỏ qua nếu Chưa có lời nói) |
-
Cách chấm điểm & Phân nhánh 4 Tiểu thang (Index 4) vs. 6 Tiểu thang (Index 6):
-
Mỗi mục được chấm từ
0đến3điểm:-
0— Hoàn toàn không giống trẻ (Not at all like the individual) -
1— Không giống trẻ lắm / Hiếm khi (Not much like the individual) -
2— Khá giống trẻ / Thỉnh thoảng (Somewhat like the individual) -
3— Rất giống trẻ / Thường xuyên (Very much like the individual)
-
-
Quy tắc phân nhánh của GARS-3:
-
Nhóm Có ngôn ngữ nói (Verbal): Chấm đủ cả 6 tiểu thang (56 câu, điểm thô tối đa 168) Quy đổi ra Autism Index 6.
-
Nhóm Chưa có ngôn ngữ nói / Không nói (Nonverbal): Chỉ chấm 4 tiểu thang đầu (RB, SI, SC, ER — gồm 44 câu, điểm thô tối đa 132), bỏ qua tiểu thang 5 và 6 Quy đổi ra Autism Index 4.
-
-
-
Bảng Diễn giải Chỉ số Tự kỷ (Autism Index) & Mức độ Hỗ trợ DSM-5:
| Chỉ số Tự kỷ (Autism Index) | Khả năng mắc Rối loạn Phổ Tự kỷ (Probability of ASD) | Mức độ cần hỗ trợ theo chuẩn DSM-5 (Severity Level) |
| điểm | Rất ít khả năng (Unlikely) | Mức 0: Không cần hỗ trợ đặc biệt về ASD. |
| 55 – 70 điểm | Có khả năng (Probable) | Mức độ 1 (Level 1): Cần hỗ trợ (Requiring Support). |
| 71 – 100 điểm | Khả năng rất cao (Very Likely) | Mức độ 2 (Level 2): Cần hỗ trợ đáng kể (Requiring Substantial Support). |
| điểm | Khả năng rất cao (Very Likely) | Mức độ 3 (Level 3): Cần hỗ trợ rất nhiều/tối đa (Requiring Very Substantial Support). |
[Chậm phát triển] Bayley-III: Tiêu chuẩn vàng đánh giá định lượng sự phát triển của trẻ nhỏ (1 – 42 tháng)
(function() { const host = document.getElementById('bayley3-wp-host'); if (!host) return; const placeholder = document.createComment('bayley3-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // Cấu hình 7 Tiểu thang đo thuộc 5 Lĩnh vực chính của Bayley-III const subConfigs = { cog: { code: 'cog', scale: 'COG', name: '1. Nhận thức (Cognitive Subtest)', color: '#2563eb', isDirect: true }, rc: { code: 'rc', scale: 'LAN', name: '2A. Ngôn ngữ Tiếp nhận (Receptive Communication)', color: '#7c3aed', isDirect: true }, ec: { code: 'ec', scale: 'LAN', name: '2B. Ngôn ngữ Diễn đạt (Expressive Communication)', color: '#9333ea', isDirect: true }, fm: { code: 'fm', scale: 'MOT', name: '3A. Vận động Tinh (Fine Motor)', color: '#0d9488', isDirect: true }, gm: { code: 'gm', scale: 'MOT', name: '3B. Vận động Thô (Gross Motor)', color: '#10b981', isDirect: true }, se: { code: 'se', scale: 'SE', name: '4. Cảm xúc – Xã hội (Social-Emotional Questionnaire)', color: '#f59e0b', isDirect: false }, ab: { code: 'ab', scale: 'AB', name: '5. Hành vi Thích ứng (Adaptive Behavior - GAC)', color: '#ea580c', isDirect: false } }; // 42 Mục đánh giá chuẩn theo bậc thang tháng tuổi (6 mục cốt lõi cho mỗi tiểu thang từ 1 -> 42 tháng) // Trực tiếp (cog, rc, ec, fm, gm): chấm 1 (Đạt - Credit) hoặc 0 (Không đạt - No Credit) // Phụ huynh (se, ab): chấm 0 (Chưa có/Không thể), 1 (Đôi khi/Cần nhắc), 2 (Thường xuyên/Độc lập) const items = [ // 1. NHẬN THỨC (COGNITIVE • 6 bậc từ 3m -> 42m) { id: 1, sub: 'cog', refAge: 4, name: 'COG-1 (Mốc 3–6 tháng): Khám phá bằng mắt, nắm giữ lục lạc và tìm kiếm nguồn âm thanh', desc: 'Trẻ nhìn chăm chú vào đồ vật, đưa tay nắm lấy vòng tròn/lục lạc và quay đầu tìm tiếng chuông.' }, { id: 2, sub: 'cog', refAge: 9, name: 'COG-2 (Mốc 7–11 tháng): Kéo dây lấy vòng & Tìm đồ chơi bị giấu dưới cốc (Hằng định đối tượng)', desc: 'Nhấc chiếc cốc hoặc kéo khăn để lấy món đồ chơi vừa bị người khám che khuất trước mặt.' }, { id: 3, sub: 'cog', refAge: 15, name: 'COG-3 (Mốc 12–17 tháng): Bỏ các khối gỗ vào cốc, mở nắp hộp và đặt đúng hình tròn vào bảng khuôn', desc: 'Hiểu quan hệ vật chứa – vật bị chứa và lắp khớp hình tròn vào bảng ghép hình Bayley.' }, { id: 4, sub: 'cog', refAge: 22, name: 'COG-4 (Mốc 18–24 tháng): Hoàn thành bảng ghép hình 3 khuôn (Tròn, Vuông, Tam giác) & Chơi giả vờ với búp bê', desc: 'Đặt đúng cả 3 hình cơ bản vào bảng khuôn và biết dùng thìa/cốc giả vờ đút cho gấu/búp bê.' }, { id: 5, sub: 'cog', refAge: 30, name: 'COG-5 (Mốc 25–33 tháng): Ghép tranh cắt đôi, phân loại màu sắc & Hiểu khái niệm "Một" và "Nhiều"', desc: 'Ghép khớp bức tranh cắt rời và phân biệt đúng khái niệm kích thước To – Nhỏ.' }, { id: 6, sub: 'cog', refAge: 40, name: 'COG-6 (Mốc 34–42 tháng): Đếm tương ứng số lượng đến 5, phân loại đa tiêu chí & Hoàn thành quy luật hình học', desc: 'Đếm lấy đúng số khối gỗ, nhớ vị trí đồ vật ẩn và giải quyết bài toán không gian trên bộ test Bayley.' }, // 2A. NGÔN NGỮ TIẾP NHẬN (RECEPTIVE COMMUNICATION • 6 bậc) { id: 7, sub: 'rc', refAge: 4, name: 'RC-1 (Mốc 3–6 tháng): Bình tĩnh khi nghe giọng nói êm dịu và quay đầu phản ứng với âm thanh khác nhau', desc: 'Phân biệt âm thanh giọng người với tiếng động môi trường và chú ý nhìn miệng người nói.' }, { id: 8, sub: 'rc', refAge: 9, name: 'RC-2 (Mốc 7–11 tháng): Quay đầu ngay khi gọi tên, dừng tay khi nghe "Không" & Hiểu các từ quen thuộc', desc: 'Nhìn về phía quả bóng/bình sữa khi người khám hỏi "Bóng đâu?" và tham gia trò chơi vỗ tay/ú òa.' }, { id: 9, sub: 'rc', refAge: 15, name: 'RC-3 (Mốc 12–17 tháng): Chỉ đúng ít nhất 3 đồ vật thật & 3 bộ phận cơ thể khi được yêu cầu bằng lời', desc: 'Thực hiện đúng mệnh lệnh đơn 1 bước (VD: "Đưa cho cô chiếc thìa", "Chỉ mũi của con nào").' }, { id: 10, sub: 'rc', refAge: 22, name: 'RC-4 (Mốc 18–24 tháng): Chỉ đúng 6–8 bức tranh danh từ và 3–4 bức tranh hành động trong Sách tranh Bayley', desc: 'Nhận diện chính xác các đồ vật và động từ (đang ăn, đang ngủ, đang chạy, đang rửa tay) trên trang sách.' }, { id: 11, sub: 'rc', refAge: 30, name: 'RC-5 (Mốc 25–33 tháng): Hiểu đại từ nhân xưng (Của con, Của cô, Anh ấy) & Giới từ (Trong, Trên, Dưới)', desc: 'Thực hiện đúng yêu cầu đặt đồ vật theo vị trí không gian và hiểu công dụng của đồ vật.' }, { id: 12, sub: 'rc', refAge: 40, name: 'RC-6 (Mốc 34–42 tháng): Hiểu câu phủ định, thì quá khứ/tương lai, khái niệm số nhiều và mệnh lệnh 2–3 bước', desc: 'Hiểu các cấu trúc ngữ pháp phức tạp và phân loại nhóm sự vật khi nghe câu hỏi.' }, // 2B. NGÔN NGỮ DIỄN ĐẠT (EXPRESSIVE COMMUNICATION • 6 bậc) { id: 13, sub: 'ec', refAge: 4, name: 'EC-1 (Mốc 3–6 tháng): Mỉm cười phát âm gù gù (cooing) đáp lại người khám và thay đổi âm thanh theo cảm xúc', desc: 'Phát ra ít nhất 2 nguyên âm khác nhau và dùng âm thanh để thu hút sự chú ý.' }, { id: 14, sub: 'ec', refAge: 9, name: 'EC-2 (Mốc 7–11 tháng): Bập bẹ chuỗi phụ âm – nguyên âm (ba-ba, ma-ma) và dùng cử chỉ chỉ trỏ/vẫy tay', desc: 'Tham gia luân phiên phát âm qua lại và chủ động chỉ ngón trỏ vào thứ mình muốn.' }, { id: 15, sub: 'ec', refAge: 15, name: 'EC-3 (Mốc 12–17 tháng): Nói chủ động từ 2 đến 8 từ đơn có nghĩa đúng ngữ cảnh', desc: 'Dùng từ đơn kết hợp ánh mắt để yêu cầu đồ vật hoặc gọi tên đồ chơi quen thuộc.' }, { id: 16, sub: 'ec', refAge: 22, name: 'EC-4 (Mốc 18–24 tháng): Gọi tên đúng ít nhất 5 bức tranh trong sách Bayley và nói cụm từ 2 từ', desc: 'Kết hợp 2 từ tạo thành cụm từ có nghĩa ("Mẹ bế", "Mở hộp", "Xe chạy").' }, { id: 17, sub: 'ec', refAge: 30, name: 'EC-5 (Mốc 25–33 tháng): Đặt câu 3–4 từ, dùng đại từ xưng hô "Con" và trả lời câu hỏi "Cái gì / Làm gì?"', desc: 'Mô tả hành động trong bức tranh bằng cụm Chủ ngữ + Vị ngữ rõ ràng.' }, { id: 18, sub: 'ec', refAge: 40, name: 'EC-6 (Mốc 34–42 tháng): Nói câu phức hoàn chỉnh, đặt câu hỏi "Tại sao/Ở đâu?" và kể lại sự việc theo tranh', desc: 'Sử dụng đúng các từ chỉ thời gian, giới từ và duy trì hội thoại nhiều lượt.' }, // 3A. VẬN ĐỘNG TINH (FINE MOTOR • 6 bậc) { id: 19, sub: 'fm', refAge: 4, name: 'FM-1 (Mốc 3–6 tháng): Mắt dõi theo vòng tròn 180 độ, mở bàn tay chủ động nắm khối gỗ và đưa về đường giữa', desc: 'Phối hợp mắt – tay bước đầu khi vươn tới đồ vật.' }, { id: 20, sub: 'fm', refAge: 9, name: 'FM-2 (Mốc 7–11 tháng): Chuyển khối gỗ qua lại hai tay và nhặt viên thức ăn nhỏ bằng ngón cái – ngón trỏ (Pincer)', desc: 'Cầm kẹp chính xác vật nhỏ bằng đầu ngón cái và ngón trỏ không cần tỳ cả lòng bàn tay.' }, { id: 21, sub: 'fm', refAge: 15, name: 'FM-3 (Mốc 12–17 tháng): Xếp chồng tháp 2–3 khối gỗ, thả hạt nhỏ vào lọ cổ hẹp và cầm bút vạch nét tự phát', desc: 'Kiểm soát cổ tay để đặt khối gỗ cân bằng và cầm bút sáp tô lên giấy.' }, { id: 22, sub: 'fm', refAge: 22, name: 'FM-4 (Mốc 18–24 tháng): Xếp chồng tháp 6 khối gỗ, lật từng trang sách mỏng và bắt chước vạch nét dọc/ngang', desc: 'Tách ngón tay khéo léo lật từng tờ giấy và vẽ nét thẳng theo mẫu.' }, { id: 23, sub: 'fm', refAge: 30, name: 'FM-5 (Mốc 25–33 tháng): Xếp tháp 8–9 khối gỗ, xâu chuỗi hạt vuông vào dây và dùng kéo bấm cắt giấy', desc: 'Phối hợp hai tay đồng bộ: một tay giữ giấy/dây, một tay thao tác kéo/hạt.' }, { id: 24, sub: 'fm', refAge: 40, name: 'FM-6 (Mốc 34–42 tháng): Cầm bút 3 ngón vẽ hình tròn, chữ thập (+), cắt giấy theo đường kẻ và cài cúc áo', desc: 'Sao chép đúng các hình học cơ bản và điều khiển lực ngón tay tinh tế.' }, // 3B. VẬN ĐỘNG THÔ (GROSS MOTOR • 6 bậc) { id: 25, sub: 'gm', refAge: 4, name: 'GM-1 (Mốc 3–6 tháng): Giữ đầu vững vàng 90 độ, chống hai cẳng tay nâng ngực khi nằm sấp và lẫy lật người', desc: 'Kiểm soát trục cổ – thân trên vững và tự lẫy từ sấp sang ngửa / ngửa sang sấp.' }, { id: 26, sub: 'gm', refAge: 9, name: 'GM-2 (Mốc 7–11 tháng): Tự ngồi vững độc lập không cần đỡ, bò phối hợp tay – gối và vịn thành ghế đứng dậy', desc: 'Chuyển tư thế linh hoạt từ ngồi sang bò và lần bước đi men theo đồ đạc.' }, { id: 27, sub: 'gm', refAge: 15, name: 'GM-3 (Mốc 12–17 tháng): Tự đứng dậy giữa sàn và bước đi độc lập vững vàng không cần vịn', desc: 'Đi độc lập khắp phòng, cúi nhặt đồ chơi rồi đứng lên không mất thăng bằng.' }, { id: 28, sub: 'gm', refAge: 22, name: 'GM-4 (Mốc 18–24 tháng): Chạy phối hợp tốt, đá bóng về phía trước và bước lên xuống cầu thang có vịn (dồn chân)', desc: 'Đi lùi, chạy không ngã và tự bước lên bậc cầu thang.' }, { id: 29, sub: 'gm', refAge: 30, name: 'GM-5 (Mốc 25–33 tháng): Nhảy tại chỗ hai chân rời mặt sàn, nhảy từ bậc thấp xuống đất và đi kiễng gót', desc: 'Bật nhảy bằng hai chân cùng lúc và bước lên cầu thang luân phiên chân có vịn nhẹ.' }, { id: 30, sub: 'gm', refAge: 40, name: 'GM-6 (Mốc 34–42 tháng): Đứng một chân giữ thăng bằng 3–5 giây, nhảy xa qua vạch và lên cầu thang luân phiên không vịn', desc: 'Kiểm soát thăng bằng động và tĩnh ở mức độ hoàn thiện của lứa tuổi mầm non.' }, // 4. CẢM XÚC – XÃ HỘI (SOCIAL-EMOTIONAL • Greenspan 6 mốc giai đoạn) { id: 31, sub: 'se', refAge: 4, name: 'SE-1 (Giai đoạn 1 • 0–3m): Tự điều hòa cảm giác & Chú ý quan tâm đến thế giới xung quanh', desc: 'Trẻ dễ dàng bình tĩnh lại khi được bố mẹ ôm ấp/trò chuyện và thích thú nhìn mặt, nghe giọng người thân.' }, { id: 32, sub: 'se', refAge: 8, name: 'SE-2 (Giai đoạn 2 • 4–8m): Gắn kết tình cảm ấm áp & Mỉm cười tương tác với người chăm sóc', desc: 'Trẻ thể hiện niềm vui rạng rỡ, giao tiếp mắt ấm áp và hưởng ứng khi bố mẹ đùa giỡn.' }, { id: 33, sub: 'se', refAge: 14, name: 'SE-3 (Giai đoạn 3 • 9–14m): Giao tiếp hai chiều có mục đích bằng ánh mắt, nét mặt và cử chỉ', desc: 'Trẻ chủ động khởi xướng và đáp lại các vòng giao tiếp qua lại (khoe đồ, chỉ tay, cười đáp trả).' }, { id: 34, sub: 'se', refAge: 20, name: 'SE-4 (Giai đoạn 4 • 15–20m): Giải quyết vấn đề xã hội phức hợp & Chia sẻ sự chú ý chung', desc: 'Trẻ biết dẫn bố mẹ đi lấy thứ mình cần kết hợp nhìn mắt, ra hiệu và phối hợp nhiều cử chỉ liên tiếp.' }, { id: 35, sub: 'se', refAge: 28, name: 'SE-5 (Giai đoạn 5 • 21–30m): Sử dụng ý tưởng biểu tượng cảm xúc & Chơi đóng vai giả vờ có cảm xúc', desc: 'Trẻ dùng lời nói/hành động giả vờ để thể hiện các chủ đề tình cảm (vỗ về búp bê khóc, nấu ăn mời mẹ).' }, { id: 36, sub: 'se', refAge: 38, name: 'SE-6 (Giai đoạn 6 • 31–42m): Kết nối tư duy cảm xúc logic (Hiểu nguyên nhân – hệ quả cảm xúc)', desc: 'Trẻ trả lời được "Tại sao con buồn/vui?", biết thương lượng với bạn và điều tiết cơn giận bằng lời.' }, // 5. HÀNH VI THÍCH ỨNG (ADAPTIVE BEHAVIOR - ABAS-II • 6 nhóm chức năng cốt lõi) { id: 37, sub: 'ab', refAge: 6, name: 'AB-1 (Giao tiếp & Xã hội cơ bản): Biểu đạt nhu cầu rõ ràng, chào hỏi và quan tâm đến người xung quanh', desc: 'Trẻ biết ra hiệu/nói khi cần giúp, mỉm cười chào người quen và chú ý đến các bạn nhỏ khác.' }, { id: 38, sub: 'ab', refAge: 12, name: 'AB-2 (Tự phục vụ Ăn uống): Tự cầm bình/cốc uống nước và tự dùng tay/thìa xúc thức ăn', desc: 'Trẻ hợp tác ngồi ăn tại bàn, tự cầm cốc uống và tự xúc ăn theo lứa tuổi.' }, { id: 39, sub: 'ab', refAge: 18, name: 'AB-3 (Vận động & Khám phá an toàn): Di chuyển vững vàng trong nhà/sân chơi và tránh vật cản', desc: 'Trẻ tự đi lại lấy đồ dùng và dừng lại khi người lớn cảnh báo nguy hiểm (nóng, điện, độ cao).' }, { id: 40, sub: 'ab', refAge: 24, name: 'AB-4 (Vệ sinh & Mặc đồ cơ bản): Tự cởi giày tất, quần thun, biết rửa tay và báo khi tã bẩn/mắc vệ sinh', desc: 'Trẻ phối hợp đưa tay chân khi mặc áo và bắt đầu biết báo hiệu nhu cầu đi vệ sinh.' }, { id: 41, sub: 'ab', refAge: 32, name: 'AB-5 (Tự định hướng & Giải trí): Tự chơi đồ chơi đúng cách trong 10–15 phút và biết làm việc nhà nhỏ', desc: 'Trẻ tự chọn đồ chơi, chơi có mục đích và biết tự cất đồ chơi vào giỏ khi được nhắc.' }, { id: 42, sub: 'ab', refAge: 40, name: 'AB-6 (Thích ứng Cộng đồng & Bạn bè): Đi vệ sinh độc lập, tự mặc quần áo và biết chờ lượt khi chơi với bạn', desc: 'Trẻ tuân thủ quy tắc nơi công cộng/lớp mầm non và hòa đồng khi chơi chung với bạn.' } ]; // answers[id] lưu: 2 (Đạt hoàn toàn / Thường xuyên), 1 (Đang hình thành / Đôi khi), 0 (Chưa đạt / Không có) let answers = {}; let childAgeMonths = 24; let prematureWeeks = 0; let filterSub = 'all'; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .by-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .by-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .by-inner { padding: 24px; max-width: 980px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .by-wrap.is-fullscreen .by-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .by-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 0 rgba(37, 99, 235, 0.4); } 70% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 10px rgba(37, 99, 235, 0); } 100% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 0 rgba(37, 99, 235, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #1d4ed8 0%, #2563eb 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Header */ .by-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .by-header-text { flex: 1 1 260px; } .by-title { font-size: 21px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .by-desc { font-size: 14px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #eff6ff; color: #1d4ed8; border: 1px solid #bfdbfe; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #2563eb; color: #ffffff; border-color: #2563eb; } /* Controls */ .by-top-panel { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; background: #f8fafc; border: 1px solid #cbd5e1; border-radius: 12px; padding: 14px; margin-bottom: 14px; } .by-ctrl-lbl { font-size: 12px; font-weight: 800; color: #0f172a; text-transform: uppercase; margin-bottom: 6px; display: block; } .by-select { padding: 8px 10px; border: 1px solid #94a3b8; border-radius: 7px; font-size: 13.5px; font-weight: 700; color: #0f172a; background: #ffffff; width: 100%; } .by-presets { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; margin-bottom: 14px; } .by-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; touch-action: manipulation; } .by-pbtn:hover { background: #f1f5f9; } .by-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } .by-sub-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 16px; } .by-stab { padding: 6px 11px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .by-stab.active { background: #2563eb; color: #ffffff; border-color: #2563eb; } /* Sticky Dashboard: 5 Điểm Composite (Mean = 100, SD = 15) */ .by-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .by-wrap.is-fullscreen .by-dash { top: 58px; } .by-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .by-score-big { font-size: 20px; font-weight: 800; line-height: 1.2; } .by-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .by-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .by-pillars { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; font-size: 11.5px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .by-pillar-box { background: #1e293b; padding: 7px 9px; border-radius: 8px; border-left: 3px solid #475569; } .by-pillar-box.norm { border-left-color: #10b981; } .by-pillar-box.mild { border-left-color: #f59e0b; background: rgba(245, 158, 11, 0.14); } .by-pillar-box.sev { border-left-color: #ef4444; background: rgba(239, 68, 68, 0.15); } .by-pillar-val { font-weight: 800; color: #ffffff; font-size: 13.5px; display: block; margin-top: 2px; } /* Danh sách mục */ .by-item { border: 1px solid #e2e8f0; border-radius: 10px; padding: 14px 16px; margin-bottom: 10px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 8px; } .by-item.pass-item { border-color: #a7f3d0; background: #f0fdf4; } .by-item.emerge-item { border-color: #fde68a; background: #fffbeb; } .by-item.fail-item { border-color: #fca5a5; background: #fff5f5; } .by-item-title { font-size: 14.5px; font-weight: 700; color: #0f172a; } .by-item-desc { font-size: 13.2px; color: #475569; } .by-tags { display: flex; flex-wrap: wrap; gap: 6px; } .by-tag { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .by-ans-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; } .by-abtn { padding: 8px 6px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 700; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .by-abtn:hover { border-color: #64748b; } .by-abtn.sel-2 { background: #10b981; border-color: #10b981; color: #ffffff; } .by-abtn.sel-1 { background: #f59e0b; border-color: #f59e0b; color: #ffffff; } .by-abtn.sel-0 { background: #ef4444; border-color: #ef4444; color: #ffffff; } /* Bảng tổng hợp Scaled Score (1-19) & Composite Score (40-160) */ .by-table-card { margin-top: 20px; padding: 16px 18px; border-radius: 12px; background: #ffffff; border: 1px solid #e2e8f0; overflow-x: auto; } .by-table { width: 100%; border-collapse: collapse; font-size: 13px; min-width: 620px; } .by-table th, .by-table td { border: 1px solid #cbd5e1; padding: 8px 10px; text-align: center; } .by-table th { background: #f1f5f9; font-weight: 700; color: #0f172a; } .by-result-box { margin-top: 16px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #2563eb; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 740px) { .by-inner { padding: 14px; } .by-title { font-size: 18px; } .by-top-panel { grid-template-columns: 1fr; } .by-pillars { grid-template-columns: 1fr 1fr; } .by-ans-grid { grid-template-columns: 1fr; } .by-pbtn.reset { margin-left: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
Thang Đánh Giá Phát Triển Trẻ Nhũ Nhi & Trẻ Nhỏ Bayley-III (5 Lĩnh Vực • 1 – 42 Tháng)
Công cụ tiêu chuẩn vàng của Nancy Bayley (2006) đánh giá định lượng 5 Lĩnh vực: Nhận thức, Ngôn ngữ (Tiếp nhận & Diễn đạt), Vận động (Tinh & Thô), Cảm xúc – Xã hội và Hành vi Thích ứng. Hệ thống tự động quy đổi ra Điểm chuẩn Tiểu thang (Scaled Score: 1–19, TB = 10) và Điểm Tổng hợp (Composite Score: 40–160, TB = 100, SD = 15).
| Lĩnh vực / Tiểu thang đo Bayley-III | Tuổi phát triển ước tính (DA) | Điểm Chuẩn Tiểu Thang (Scaled Score: 1–19) | Điểm Tổng Hợp Lĩnh Vực (Composite: 40–160) | Bách phân vị (Percentile) | Phân loại chuẩn lâm sàng |
|---|
• 1. Phân tích Độ lệch Nhận thức – Ngôn ngữ (Discrepancy Analysis): Nhận thức đạt ${compCOG} điểm trong khi Ngôn ngữ đạt ${compLAN} điểm (Chênh lệch: ${cogLanGap} điểm) và Cảm xúc – Xã hội đạt ${compSE} điểm. ${cogLanGap >= 15 || compSE < 80 ? '
👉 Cảnh báo kiểu hình phân tách (ASD Red Flag): Trẻ có năng lực giải quyết vấn đề phi ngôn ngữ (Nhận thức & Vận động) tốt hơn hẳn so với Ngôn ngữ và Cảm xúc – Xã hội. Đây là dấu hiệu đặc trưng cần kết hợp sàng lọc/chẩn đoán Rối loạn phổ tự kỷ bằng STAT / ADOS-2 (Module T/1).' : ''}
• 2. Tiêu chuẩn Can thiệp Sớm: Theo tiêu chuẩn quốc tế, bất kỳ lĩnh vực nào trên Bayley-III có Composite Score < 70 (dưới -2 SD) hoặc có ≥ 2 lĩnh vực dưới 85 (dưới -1 SD) đều đủ điều kiện y khoa để bắt đầu chương trình Can thiệp sớm cá nhân hóa ngay lập tức. `; updateFloatingFabVisibility(); } function applyPreset(type) { const adjAge = getAdjustedAge(); answers = {}; if (type === 'reset') { items.forEach(it => { answers[it.id] = 0; }); renderItems(); updateSummary(); return; } if (type === 'typical') { // Đạt tất cả các mục { if (it.refAge <= adjAge) answers[it.id] = 2; else if (it.refAge { if (it.sub === 'cog' || it.sub === 'fm' || it.sub === 'gm') { answers[it.id] = (it.refAge <= adjAge) ? 2 : 0; } else { if (it.refAge <= adjAge - 12) answers[it.id] = 2; else if (it.refAge { if (it.refAge <= Math.max(4, adjAge * 0.5)) answers[it.id] = 2; else if (it.refAge <= Math.max(8, adjAge * 0.65)) answers[it.id] = 1; else answers[it.id] = 0; }); } renderItems(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); byWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { byWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 980px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } selChildAge.onchange = () => { applyPreset('asd_risk'); }; selPremature.onchange = () => { renderItems(); updateSummary(); }; shadow.querySelectorAll('.by-pbtn').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-preset')); }; }); shadow.querySelectorAll('#subTabs .by-stab').forEach(function(tab) { tab.onclick = function() { filterSub = this.getAttribute('data-sub'); shadow.querySelectorAll('#subTabs .by-stab').forEach(t => t.classList.remove('active')); this.classList.add('active'); renderItems(); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); applyPreset('asd_risk'); })();
Bayley-III (Bayley Scales of Infant and Toddler Development, Third Edition — Thang đánh giá sự phát triển của trẻ nhũ nhi và trẻ nhỏ Bayley, Phiên bản 3) được y khoa thế giới mệnh danh là “Tiêu chuẩn vàng” (Gold Standard) toàn diện nhất để đánh giá định lượng sự phát triển của trẻ nhỏ trong giai đoạn đầu đời. Công cụ được phát triển bởi Giáo sư Nancy Bayley (phiên bản 3 xuất bản năm 2006 bởi Pearson).
Nếu như Denver II hay ASQ-3 chỉ là công cụ Sàng lọc (Screening) để phát hiện nguy cơ chậm phát triển, thì Bayley-III là công cụ ĐÁNH GIÁ CHẨN ĐOÁN CHUYÊN SÂU (Diagnostic Assessment): cung cấp các chỉ số chuẩn hóa chính xác như một bài kiểm tra IQ đầu đời để xác định mức độ chậm phát triển và đủ điều kiện nhận can thiệp sớm.
1. Tóm tắt cốt lõi về cấu trúc & Hệ thống tính điểm của Bayley-III
-
Độ tuổi áp dụng: Trẻ từ 1 tháng đến 42 tháng tuổi (3.5 tuổi).
-
Cấu trúc 5 Lĩnh vực (3 Lĩnh vực Tương tác trực tiếp + 2 Bảng hỏi Phụ huynh):
| Lĩnh vực chính (Scales) | Các Tiểu thang đo (Subtests) | Hình thức đánh giá & Nội dung cốt lõi |
| 1. Nhận thức(Cognitive Scale) | 1 tiểu thang duy nhất (91 mục) | Khám trực tiếp trẻ: Đánh giá khám phá giác quan – vận động, hằng định đối tượng, giải quyết vấn đề, ghép hình, phân loại, khái niệm số lượng và chơi giả vờ (không phụ thuộc ngôn ngữ nói). |
| 2. Ngôn ngữ(Language Scale) |
• Ngôn ngữ Tiếp nhận (Receptive – 49 mục)
• Ngôn ngữ Diễn đạt (Expressive – 48 mục) |
Khám trực tiếp trẻ:
• Tiếp nhận: Nghe hiểu từ vựng, chỉ tranh, làm theo mệnh lệnh, hiểu giới từ/ngữ pháp.
• Diễn đạt: Phát âm tiền ngôn ngữ, cử chỉ, gọi tên đồ vật/tranh ảnh, nói cụm từ và câu phức. |
| 3. Vận động(Motor Scale) |
• Vận động Tinh(Fine Motor – 66 mục)
• Vận động Thô(Gross Motor – 72 mục) |
Khám trực tiếp trẻ:
• Vận động Tinh: Dõi mắt, cầm nắm kẹp chì, xếp khối gỗ, lật trang sách, vẽ nét và cắt kéo.
• Vận động Thô: Kiểm soát đầu cổ, lẫy, ngồi, bò, đứng, đi, chạy, nhảy, leo cầu thang, đá/bắt bóng. |
| 4. Cảm xúc – Xã hội(Social-Emotional) | Thang Greenspantheo 6 mốc giai đoạn phát triển cảm xúc | Phụ huynh trả lời (Chấm tần suất 0 – 5): Tự điều hòa cảm xúc, gắn kết với người chăm sóc, giao tiếp hai chiều có mục đích và tư duy biểu tượng cảm xúc. |
| 5. Hành vi Thích ứng(Adaptive Behavior) | 10 khu vực kỹ năng (Dựa trên hệ thống ABAS-II) | Phụ huynh trả lời (Chấm mức độ độc lập 0 – 3): Giao tiếp, Tự chăm sóc, Tự định hướng, Sức khỏe & An toàn, Giải trí, Xã hội, Sinh hoạt tại nhà/cộng đồng, Vận động. |
2. Quy tắc Quy đổi Điểm Chuẩn Hóa của Bayley-III (Scaled Score & Composite Score)
Đây là phần làm nên giá trị khoa học vượt trội của Bayley-III:
-
Điểm Chuẩn Tiểu Thang (Scaled Score — từ 1 đến 19 điểm):
-
Trung bình dân số chuẩn = 10 điểm, Độ lệch chuẩn (SD) = 3 điểm.
-
Khoảng bình thường (±1 SD): Từ 7 đến 13 điểm. Dưới 7 điểm () là bắt đầu suy giảm.
-
-
Điểm Tổng Hợp Lĩnh Vực (Composite Score — từ 40 đến 160 điểm):
-
Trung bình dân số chuẩn = 100 điểm, Độ lệch chuẩn (SD) = 15 điểm (tương tự thang điểm IQ hoặc Vineland-3):
-
điểm ( trở lên): Phát triển trên mức trung bình / Vượt trội.
-
85 – 114 điểm (): Trong giới hạn Bình thường (Average).
-
70 – 84 điểm ( đến ): Chậm phát triển mức độ Nhẹ / Vùng Giáp ranh.
-
điểm (Dưới ): Chậm phát triển mức độ Trung bình – Nặng (Significant Delay) — Đủ tiêu chuẩn y khoa can thiệp sớm tích cực.
-
-
[Chậm phát triển] Thang Kyoto: Công cụ đánh giá sự phát triển tâm lý – vận động và tính chỉ số DQ
Thang đánh giá sự phát triển tâm lý Kyoto (Kyoto Scale of Psychological Development – viết tắt là KSPD) là một trong những bộ công cụ đánh giá phát triển lâm sàng quan trọng và có lịch sử ứng dụng lâu đời tại Việt Nam, đặc biệt ở các trường đại học sư phạm, viện tâm lý và bệnh viện nhi.
Tuy nhiên, dưới góc độ chuyên môn và thiết kế phần mềm, bạn cần nắm rõ bản chất: KSPD KHÔNG phải là thang sàng lọc hay chẩn đoán đặc hiệu cho tự kỷ, mà là thang đo sự phát triển tâm lý – vận động tổng quát (tương tự như Bayley-III hay Denver II), được dùng để xác định “Tuổi phát triển” và “Chỉ số phát triển (DQ)” của trẻ tự kỷ hoặc chậm phát triển.
Lưu ý: Bố mẹ cần Bộ giáo cụ vật lý tiêu chuẩn để kết hợp với bộ câu hỏi để đánh giá. Công cụ dưới đây chủ yếu phục vụ các thầy cô hoặc chuyên gia, giúp họ nhập liệu và in kết quả đánh giá chính xác sau quá trình kiểm tra.
:host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; } .kspd-outer { width: 100%; background: transparent; position: relative; } /* 2. KHI BẬT CHẾ ĐỘ TOÀN MÀN HÌNH (DOM PORTAL RA BODY) */ .kspd-outer.is-fullscreen { width: 100% !important; min-height: 100% !important; background: #f8fafc !important; padding-bottom: 90px !important; } .kspd-wrap { max-width: 1080px; margin: 0 auto; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; color: #1e293b; } .kspd-outer.is-fullscreen .kspd-wrap { padding: 18px; } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 18px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .kspd-outer.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 14px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* 3. NÚT NỔI TRƯỢT DỌC THEO VÙNG BẢNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(30, 58, 138, 0.45), 0 0 0 0 rgba(30, 58, 138, 0.4); } 70% { box-shadow: 0 6px 20px rgba(30, 58, 138, 0.45), 0 0 0 10px rgba(30, 58, 138, 0); } 100% { box-shadow: 0 6px 20px rgba(30, 58, 138, 0.45), 0 0 0 0 rgba(30, 58, 138, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #1e3a8a 0%, #2563eb 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(30, 58, 138, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } .btn-fullscreen-top { background: #eff6ff; color: #1d4ed8; border: 1px solid #bfdbfe; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #2563eb; color: #ffffff; border-color: #2563eb; } /* CSS GỐC CỦA HỆ THỐNG KSPD */ .kspd-box { background: #fff; border: 1px solid #e2e8f0; border-radius: 12px; padding: 24px; margin-bottom: 24px; box-shadow: 0 4px 12px rgba(0,0,0,0.04); } .kspd-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; } .kspd-grid-4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-top: 14px; } .kspd-field label { display: block; font-weight: 600; font-size: 13.5px; margin-bottom: 6px; color: #334155; } .kspd-field input, .kspd-field textarea, .kspd-field select { width: 100%; padding: 9px 12px; border: 1px solid #cbd5e1; border-radius: 6px; font-size: 14.5px; box-sizing: border-box; background: #fff; color: #1e293b; font-family: inherit; } .kspd-btn { background: #2563eb; color: #fff !important; text-decoration: none !important; border: none; padding: 10px 18px; border-radius: 6px; font-size: 14px; font-weight: 600; cursor: pointer; display: inline-block; font-family: inherit; } .kspd-btn:hover { background: #1d4ed8; } .kspd-btn-sm { padding: 6px 12px; font-size: 12.5px; border-radius: 5px; } .kspd-btn-danger { background: #dc2626; } .kspd-btn-outline { background: #f1f5f9; color: #1e293b !important; border: 1px solid #cbd5e1; } .kspd-tabs { display: flex; gap: 8px; border-bottom: 2px solid #e2e8f0; margin-top: 16px; padding-bottom: 8px; flex-wrap: wrap; } .kspd-tab-btn { background: #f8fafc; border: 1px solid #cbd5e1; padding: 9px 16px; border-radius: 6px; cursor: pointer; font-weight: 600; color: #475569; font-family: inherit; } .kspd-tab-btn.active { background: #1e3a8a; color: #fff; border-color: #1e3a8a; } .kspd-tab-pane { display: none; padding-top: 12px; max-height: 520px; overflow-y: auto; border: 1px solid #e2e8f0; border-radius: 8px; margin-top: 8px; background: #fff; } .kspd-outer.is-fullscreen .kspd-tab-pane { max-height: 68vh; } .kspd-tab-pane.active { display: block; } .kspd-table-scroll { width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; } .kspd-table { width: 100%; border-collapse: collapse; font-size: 13.5px; min-width: 640px; } .kspd-table th, .kspd-table td { border: 1px solid #cbd5e1; padding: 9px 10px; text-align: center; } .kspd-table th { background: #f1f5f9; font-weight: 700; position: sticky; top: 0; z-index: 2; } .kspd-radio-group label { display: inline-block; margin-right: 6px; cursor: pointer; font-weight: 600; padding: 4px 8px; border-radius: 4px; border: 1px solid #cbd5e1; font-size: 12.5px; } .kspd-basal-row { background: #f0fdf4 !important; opacity: 0.85; } @media (max-width: 768px) { .kspd-grid-2, .kspd-grid-4 { grid-template-columns: 1fr; } .kspd-box { padding: 14px; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } } @media print { .no-print, .fs-floating-bar, .floating-zoom-fab, .btn-fullscreen-top { display: none !important; } .kspd-box { box-shadow: none; border: none; padding: 0; } }
1. Phiếu Chấm Điện Tử KSPD Đầy Đủ (Đang nạp: 323 tiểu mục)
Bao gồm: 76 mục P-M (1–60 tháng), 126 mục C-A (1–156 tháng) và 126 mục L-S (1–156 tháng).
| Bậc tuổi | Mã mục | Nội dung tiểu mục thử nghiệm KSPD | Trọng số | Kết quả chấm |
|---|---|---|---|---|
| 1 tháng | PM_001_1 |
Nằm sấp nhấc cằm rời mặt giường | +0.25 th | |
| 1 tháng | PM_001_2 |
Nằm ngửa giữ đầu ở đường giữa hoặc quay sang bên | +0.25 th | |
| 1 tháng | PM_001_3 |
Phản xạ nắm chặt bàn tay khi chạm vào lòng bàn tay | +0.25 th | |
| 1 tháng | PM_001_4 |
Co duỗi hai chân luân phiên khi nằm ngửa | +0.25 th | |
| 2 tháng | PM_002_1 |
Nằm sấp nâng đầu góc 45 độ giữ vững | +0.25 th | |
| 2 tháng | PM_002_2 |
Giữ đầu thẳng tạm thời khi được bế vác vai | +0.25 th | |
| 2 tháng | PM_002_3 |
Đạp duỗi hai chân mạnh mẽ có nhịp điệu | +0.25 th | |
| 2 tháng | PM_002_4 |
Nằm sấp chịu lực nhẹ trên hai cẳng tay | +0.25 th | |
| 3 tháng | PM_003_1 |
Nằm sấp chống hai cẳng tay nâng đầu và ngực góc 90 độ | +0.25 th | |
| 3 tháng | PM_003_2 |
Giữ đầu vững vàng khi bế ngồi có đỡ lưng | +0.25 th | |
| 3 tháng | PM_003_3 |
Kéo ngồi dậy đầu không bị ngửa trễ ra sau | +0.25 th | |
| 3 tháng | PM_003_4 |
Nằm ngửa đưa hai bàn tay chụm lại ở đường giữa ngực | +0.25 th | |
| 4 tháng | PM_004_1 |
Lẫy từ nằm sấp sang nằm ngửa hoặc nghiêng người | +0.25 th | |
| 4 tháng | PM_004_2 |
Ngồi có đỡ giữ thẳng lưng trên | +0.25 th | |
| 4 tháng | PM_004_3 |
Khi giữ đứng nách, chân chịu được một phần trọng lượng cơ thể | +0.25 th | |
| 4 tháng | PM_004_4 |
Nằm sấp duỗi thẳng hai tay chống nâng ngực cao | +0.25 th | |
| 5 tháng | PM_005_1 |
Lẫy hoàn chỉnh từ nằm ngửa sang nằm sấp | +0.25 th | |
| 5 tháng | PM_005_2 |
Kéo hai tay trẻ từ nằm ngửa lên tư thế ngồi (trẻ tự gồng cổ kéo lên) | +0.25 th | |
| 5 tháng | PM_005_3 |
Giữ đứng dưới nách trẻ nhún nhảy hai chân liên tục | +0.25 th | |
| 5 tháng | PM_005_4 |
Nằm sấp xoay trục cơ thể sang hai bên | +0.25 th | |
| 6 tháng | PM_006_1 |
Ngồi chống hai tay phía trước giữ thăng bằng ngắn | +0.25 th | |
| 6 tháng | PM_006_2 |
Lẫy lăn tròn hai chiều ngửa - sấp linh hoạt | +0.25 th | |
| 6 tháng | PM_006_3 |
Nằm sấp với một tay lấy đồ chơi phía trước | +0.25 th | |
| 6 tháng | PM_006_4 |
Chịu toàn bộ sức nặng trên hai chân khi được giữ nách | +0.25 th | |
| 7 tháng | PM_007_1 |
Tự ngồi vững không cần chống tay (> 30 giây) | +0.25 th | |
| 7 tháng | PM_007_2 |
Trườn sấp tiến về phía trước để lấy đồ chơi | +0.25 th | |
| 7 tháng | PM_007_3 |
Chuyển từ tư thế nằm sấp sang chống bốn điểm (tay - gối) | +0.25 th | |
| 7 tháng | PM_007_4 |
Ngồi vững xoay người sang hai bên lấy đồ vật | +0.25 th | |
| 8 tháng | PM_008_1 |
Bò phối hợp tay và đầu gối nhịp nhàng | +0.25 th | |
| 8 tháng | PM_008_2 |
Tự chuyển từ tư thế nằm sấp/bò sang ngồi độc lập | +0.25 th | |
| 8 tháng | PM_008_3 |
Vịn thành giường/cũi tự kéo người đứng dậy trên hai chân | +0.25 th | |
| 8 tháng | PM_008_4 |
Ngồi vững nghiêng người nhặt đồ chơi không mất thăng bằng | +0.25 th | |
| 9 tháng | PM_009_1 |
Đứng vịn vững vàng bằng một tay hoặc hai tay vào thành ghế | +0.25 th | |
| 9 tháng | PM_009_2 |
Tự ngồi xuống từ tư thế đứng vịn có kiểm soát | +0.25 th | |
| 9 tháng | PM_009_3 |
Lần bước đi ngang dọc theo thành giường/ghế sofa | +0.25 th | |
| 9 tháng | PM_009_4 |
Bò vượt qua chướng ngại vật thấp trên sàn | +0.25 th | |
| 10 tháng | PM_010_1 |
Đi men thành bàn/ghế chỉ dùng 1 tay giữ nhẹ | +0.25 th | |
| 10 tháng | PM_010_2 |
Đứng buông tay độc lập vài giây (2-3 giây) | +0.25 th | |
| 10 tháng | PM_010_3 |
Bò leo lên bậc cầu thang hoặc bậc thềm thấp | +0.25 th | |
| 10 tháng | PM_010_4 |
Bước đi về phía trước khi người lớn dắt hai tay | +0.25 th | |
| 11 tháng | PM_011_1 |
Tự đứng vững một mình không cần vịn (> 5-10 giây) | +0.25 th | |
| 11 tháng | PM_011_2 |
Đi về phía trước khi người lớn chỉ dắt một tay | +0.25 th | |
| 11 tháng | PM_011_3 |
Ngồi xổm xuống nhặt đồ chơi rồi đứng lên có vịn nhẹ | +0.25 th | |
| 11 tháng | PM_011_4 |
Tự đứng dậy từ giữa sàn không cần vịn đồ vật | +0.25 th | |
| 12 tháng | PM_012_1 |
Tự bước đi độc lập 3 - 5 bước đầu tiên | +0.25 th | |
| 12 tháng | PM_012_2 |
Đứng vững cúi nhặt đồ chơi rồi đứng thẳng lên không ngã | +0.25 th | |
| 12 tháng | PM_012_3 |
Vừa đi vừa cầm đồ chơi trên tay | +0.25 th | |
| 12 tháng | PM_012_4 |
Bò lùi xuống bậc thềm/cầu thang an toàn | +0.25 th | |
| 15 tháng | PM_015_1 |
Đi độc lập vững vàng khắp phòng, tự dừng và đổi hướng | +0.75 th | |
| 15 tháng | PM_015_2 |
Bước lên cầu thang khi được dắt 1 tay hoặc vịn tường | +0.75 th | |
| 15 tháng | PM_015_3 |
Đi lùi về phía sau 2 - 3 bước | +0.75 th | |
| 15 tháng | PM_015_4 |
Ngồi xuống ghế nhỏ trẻ em độc lập | +0.75 th | |
| 18 tháng | PM_018_1 |
Chạy cứng chân nhưng hiếm khi bị ngã | +0.75 th | |
| 18 tháng | PM_018_2 |
Bước lên cầu thang có vịn lan can (bước dồn 2 chân/bậc) | +0.75 th | |
| 18 tháng | PM_018_3 |
Đá quả bóng về phía trước (bóng lăn đi, trẻ không ngã) | +0.75 th | |
| 18 tháng | PM_018_4 |
Đi kéo theo đồ chơi có dây phía sau lưng | +0.75 th | |
| 21 tháng | PM_021_1 |
Bước xuống cầu thang có vịn tay hoặc dắt 1 tay (dồn chân) | +0.75 th | |
| 21 tháng | PM_021_2 |
Chạy khá vững và biết tránh vật cản trên đường | +0.75 th | |
| 21 tháng | PM_021_3 |
Đứng ném bóng từ trên cao về phía trước không mất đà | +0.75 th | |
| 21 tháng | PM_021_4 |
Nhảy từ bậc cầu thang cuối cùng xuống sàn có đỡ nhẹ | +0.75 th | |
| 24 tháng | PM_024_1 |
Chạy tốt, tự dừng lại và chuyển hướng đột ngột không ngã | +0.75 th | |
| 24 tháng | PM_024_2 |
Tự lên và xuống cầu thang không cần vịn (dồn chân) | +0.75 th | |
| 24 tháng | PM_024_3 |
Nhảy tại chỗ hai chân rời mặt đất cùng lúc | +0.75 th | |
| 24 tháng | PM_024_4 |
Đứng kiễng gót chân theo mẫu | +0.75 th | |
| 30 tháng | PM_030_1 |
Nhảy từ bục cao 15-20cm xuống đất bằng hai chân vững vàng | +1.50 th | |
| 30 tháng | PM_030_2 |
Đi kiễng gót chân liên tục trên một đoạn dài (> 2m) | +1.50 th | |
| 30 tháng | PM_030_3 |
Bước lên cầu thang luân phiên từng chân có vịn nhẹ | +1.50 th | |
| 30 tháng | PM_030_4 |
Đứng một chân giữ thăng bằng được 1 - 2 giây | +1.50 th | |
| 36 tháng | PM_036_1 |
Bước lên cầu thang luân phiên từng chân không cần vịn | +1.50 th | |
| 36 tháng | PM_036_2 |
Đứng một chân giữ thăng bằng vững từ 3 - 5 giây | +1.50 th | |
| 36 tháng | PM_036_3 |
Nhảy xa về phía trước bằng hai chân chụm (> 30cm) | +1.50 th | |
| 36 tháng | PM_036_4 |
Đạp xe ba bánh tiến về phía trước và điều khiển tay lái | +1.50 th | |
| 42 tháng | PM_042_1 |
Bước xuống cầu thang luân phiên từng chân không cần vịn | +1.50 th | |
| 42 tháng | PM_042_2 |
Nhảy lò cò trên một chân được 2 - 3 bước | +1.50 th | |
| 42 tháng | PM_042_3 |
Bắt quả bóng to ném tới bằng hai bàn tay (không ôm vào ngực) | +1.50 th | |
| 42 tháng | PM_042_4 |
Đi nối gót (mũi chân sau chạm gót chân trước) trên vạch thẳng | +1.50 th | |
| 48 tháng | PM_048_1 |
Đứng một chân giữ thăng bằng vững vàng > 8 - 10 giây | +1.50 th | |
| 48 tháng | PM_048_2 |
Nhảy lò cò một chân liên tục 5 - 8 bước tiến về trước | +1.50 th | |
| 48 tháng | PM_048_3 |
Nhảy qua dây căng thấp (cao 15-20cm) bằng hai chân chụm | +1.50 th | |
| 48 tháng | PM_048_4 |
Chạy nhanh đổi hướng zíc-zắc linh hoạt | +1.50 th | |
| 54 tháng | PM_054_1 |
Đi thăng bằng lùi nối gót trên đường kẻ thẳng 2m | +3.00 th | |
| 54 tháng | PM_054_2 |
Ném bóng nhỏ trúng đích ở khoảng cách 1.5 - 2m | +3.00 th | |
| 60 tháng | PM_060_1 |
Nhảy chân sáo (Skipping) luân phiên hai chân nhịp nhàng | +3.00 th | |
| 60 tháng | PM_060_2 |
Đứng một chân nhắm mắt giữ thăng bằng > 5 giây | +3.00 th |
| Bậc tuổi | Mã mục | Nội dung tiểu mục thử nghiệm KSPD | Trọng số | Kết quả chấm |
|---|---|---|---|---|
| 1 tháng | CA_001_1 |
Mắt nhìn tập trung vào khuôn mặt người đối diện hoặc vòng tròn đỏ | +0.25 th | |
| 1 tháng | CA_001_2 |
Mắt dõi theo vòng tròn đỏ di chuyển từ bên này sang đường giữa | +0.25 th | |
| 1 tháng | CA_001_3 |
Nghe tiếng chuông lắc có phản ứng chớp mắt hoặc dừng cử động | +0.25 th | |
| 1 tháng | CA_001_4 |
Mắt nhìn theo vật di chuyển góc 45 độ | +0.25 th | |
| 2 tháng | CA_002_1 |
Mắt dõi theo vòng tròn đỏ di chuyển qua đường giữa 90 - 180 độ | +0.25 th | |
| 2 tháng | CA_002_2 |
Mắt nhìn theo người di chuyển trong phòng | +0.25 th | |
| 2 tháng | CA_002_3 |
Chuyển ánh nhìn luân phiên giữa hai vật thể đặt trước mặt | +0.25 th | |
| 2 tháng | CA_002_4 |
Bàn tay mở hé thường xuyên hơn, giữ lục lạc ngắn khi đặt vào tay | +0.25 th | |
| 3 tháng | CA_003_1 |
Mắt dõi theo vòng tròn đỏ di chuyển vòng tròn 180 độ hoàn chỉnh | +0.25 th | |
| 3 tháng | CA_003_2 |
Nhìn ngắm hai bàn tay của chính mình (Hand regard) | +0.25 th | |
| 3 tháng | CA_003_3 |
Cầm giữ lục lạc chủ động và lắc nhẹ tạo âm thanh | +0.25 th | |
| 3 tháng | CA_003_4 |
Nhìn ngay vào khối gỗ hoặc đồ chơi đặt trên mặt bàn trước mặt | +0.25 th | |
| 4 tháng | CA_004_1 |
Đưa hai tay hướng về phía đồ chơi treo trước ngực (chưa chạm chuẩn) | +0.25 th | |
| 4 tháng | CA_004_2 |
Chạm và nắm được đồ chơi đưa gần tầm tay | +0.25 th | |
| 4 tháng | CA_004_3 |
Đưa đồ chơi cầm được vào miệng khám phá | +0.25 th | |
| 4 tháng | CA_004_4 |
Quay đầu tìm kiếm chính xác hướng phát ra tiếng chuông | +0.25 th | |
| 5 tháng | CA_005_1 |
Với một tay nắm trúng khối gỗ đặt trên bàn ngay lần đầu | +0.25 th | |
| 5 tháng | CA_005_2 |
Cầm một khối gỗ và mắt nhìn chú ý sang khối gỗ thứ hai | +0.25 th | |
| 5 tháng | CA_005_3 |
Cầm giấy vò hoặc vẫy tạo tiếng sột soạt | +0.25 th | |
| 5 tháng | CA_005_4 |
Kéo khăn che trên mặt mình ra | +0.25 th | |
| 6 tháng | CA_006_1 |
Chuyển đồ chơi/khối gỗ từ tay này sang tay kia thành thạo | +0.25 th | |
| 6 tháng | CA_006_2 |
Mỗi tay cầm giữ đồng thời một khối gỗ vuông (2 khối) | +0.25 th | |
| 6 tháng | CA_006_3 |
Đập khối gỗ hoặc đồ chơi xuống mặt bàn tạo tiếng kêu | +0.25 th | |
| 6 tháng | CA_006_4 |
Nhìn theo đồ vật bị rơi xuống sàn nhà | +0.25 th | |
| 7 tháng | CA_007_1 |
Cầm kẹp khối gỗ bằng ngón cái và các ngón (Radial palmar grasp) | +0.25 th | |
| 7 tháng | CA_007_2 |
Giữ 2 khối gỗ trên hai tay và mắt nhìn sang khối thứ 3 | +0.25 th | |
| 7 tháng | CA_007_3 |
Lật cốc úp để lấy đồ chơi vừa được giấu bên dưới (che một phần) | +0.25 th | |
| 7 tháng | CA_007_4 |
Dùng tay cào lấy hạt nhỏ trên mặt bàn | +0.25 th | |
| 8 tháng | CA_008_1 |
Đập hai khối gỗ trên hai tay vào nhau ở đường giữa | +0.25 th | |
| 8 tháng | CA_008_2 |
Kéo dây để lấy chiếc vòng gắn ở đầu dây về phía mình | +0.25 th | |
| 8 tháng | CA_008_3 |
Lật khăn/cốc tìm đồ chơi bị giấu kín hoàn toàn trước mặt | +0.25 th | |
| 8 tháng | CA_008_4 |
Cầm giữ khối gỗ thứ 2 mà không làm rơi khối thứ 1 | +0.25 th | |
| 9 tháng | CA_009_1 |
Cầm kẹp hạt nhỏ bằng ngón cái và cạnh ngón trỏ (Scissor grasp) | +0.25 th | |
| 9 tháng | CA_009_2 |
Chọc ngón trỏ vào lỗ nhỏ trên bảng hoặc khám phá chi tiết nhỏ | +0.25 th | |
| 9 tháng | CA_009_3 |
Nhặt chiếc chuông bằng phần tay cầm và lắc kêu theo mẫu | +0.25 th | |
| 9 tháng | CA_009_4 |
Lấy khối gỗ ra khỏi lòng cốc nhựa | +0.25 th | |
| 10 tháng | CA_010_1 |
Cầm kẹp hạt nhỏ chính xác bằng hai đầu ngón cái và ngón trỏ (Pincer grasp) | +0.25 th | |
| 10 tháng | CA_010_2 |
Thả khối gỗ vào trong cốc (chạm tay vào cốc nhưng chưa buông hoàn toàn) | +0.25 th | |
| 10 tháng | CA_010_3 |
Mở giấy gói lỏng để lấy khối gỗ/đồ chơi bên trong | +0.25 th | |
| 10 tháng | CA_010_4 |
Dùng dùi trống gõ bắt chước lên mặt trống/bàn | +0.25 th | |
| 11 tháng | CA_011_1 |
Bỏ thả thành công ít nhất 1 - 2 khối gỗ vào trong lòng cốc | +0.25 th | |
| 11 tháng | CA_011_2 |
Lấy viên hạt nhỏ ra khỏi lọ thủy tinh nhỏ (bằng cách thò ngón tay) | +0.25 th | |
| 11 tháng | CA_011_3 |
Bắt chước ngoáy thìa trong cốc nhựa | +0.25 th | |
| 11 tháng | CA_011_4 |
Lật giở từng cụm trang sách bìa cứng | +0.25 th | |
| 12 tháng | CA_012_1 |
Bỏ liên tiếp 3 - 4 khối gỗ vào trong cốc theo yêu cầu | +0.25 th | |
| 12 tháng | CA_012_2 |
Đặt khối gỗ này lên trên khối gỗ kia (tập xếp tháp 2 khối) | +0.25 th | |
| 12 tháng | CA_012_3 |
Nhấc hình tròn ra khỏi bảng ghép hình 3 khuôn cơ bản | +0.25 th | |
| 12 tháng | CA_012_4 |
Cầm bút sáp chấm hoặc vạch nét đầu tiên lên giấy | +0.25 th | |
| 15 tháng | CA_015_1 |
Xếp chồng tháp 2 khối gỗ vuông đứng vững | +0.60 th | |
| 15 tháng | CA_015_2 |
Đặt đúng hình tròn vào khuôn trên bảng ghép hình 3 hình | +0.60 th | |
| 15 tháng | CA_015_3 |
Bỏ hạt nhỏ vào trong lọ cổ hẹp và biết dốc ngược lọ để đổ hạt ra | +0.60 th | |
| 15 tháng | CA_015_4 |
Vẽ nguệch ngoạc tự phát trên giấy sau khi xem làm mẫu | +0.60 th | |
| 15 tháng | CA_015_5 |
Mở nắp hộp tròn để lấy đồ chơi bên trong | +0.60 th | |
| 18 tháng | CA_018_1 |
Xếp chồng tháp 3 - 4 khối gỗ vuông đứng vững | +0.60 th | |
| 18 tháng | CA_018_2 |
Đặt đúng cả 2 hình (Tròn và Vuông) vào bảng ghép hình | +0.60 th | |
| 18 tháng | CA_018_3 |
Bắt chước vạch một nét thẳng/dọc trên giấy bằng bút sáp | +0.60 th | |
| 18 tháng | CA_018_4 |
Lật từng trang sách mỏng (2-3 trang một lần) | +0.60 th | |
| 18 tháng | CA_018_5 |
Dùng que/thước khều đồ chơi nằm ngoài tầm tay với | +0.60 th | |
| 21 tháng | CA_021_1 |
Xếp chồng tháp 5 khối gỗ vuông đứng vững | +0.60 th | |
| 21 tháng | CA_021_2 |
Đặt đúng cả 3 hình (Tròn, Vuông, Tam giác) vào bảng ghép hình chuẩn | +0.60 th | |
| 21 tháng | CA_021_3 |
Xếp 2 - 3 khối gỗ nối đuôi nhau thành hàng ngang làm đoàn tàu | +0.60 th | |
| 21 tháng | CA_021_4 |
Bắt chước vẽ nét tròn xoay vòng trên giấy | +0.60 th | |
| 21 tháng | CA_021_5 |
Đậy đúng nắp hộp hình vuông vào thân hộp vuông | +0.60 th | |
| 24 tháng | CA_024_1 |
Xếp chồng tháp 6 - 7 khối gỗ vuông đứng vững | +0.60 th | |
| 24 tháng | CA_024_2 |
Đặt đúng cả 3 hình vào bảng ghép hình ngay cả khi xoay ngược bảng 180 độ | +0.60 th | |
| 24 tháng | CA_024_3 |
Xếp mô hình đoàn tàu có ống khói (4 khối gỗ) theo mẫu | +0.60 th | |
| 24 tháng | CA_024_4 |
Bắt chước vẽ nét thẳng đứng và nét ngang rõ ràng | +0.60 th | |
| 24 tháng | CA_024_5 |
Gấp đôi tờ giấy hình vuông một lần theo mẫu | +0.60 th | |
| 30 tháng | CA_030_1 |
Xếp chồng tháp 8 - 9 khối gỗ vuông đứng vững | +1.20 th | |
| 30 tháng | CA_030_2 |
Xếp mô hình cây cầu (3 khối gỗ có khe hở ở giữa) khi nhìn làm mẫu | +1.20 th | |
| 30 tháng | CA_030_3 |
Bắt chước vẽ hình tròn khép kín tương đối chuẩn | +1.20 th | |
| 30 tháng | CA_030_4 |
Ghép đúng bức tranh cắt đôi (2 mảnh ghép thành hình con cá/cái bát) | +1.20 th | |
| 30 tháng | CA_030_5 |
So sánh và đặt chồng khít 4 hình học cơ bản cùng loại | +1.20 th | |
| 36 tháng | CA_036_1 |
Tự xếp mô hình cây cầu 3 khối gỗ chỉ nhìn mẫu hoàn chỉnh (không cần xem thao tác) | +1.20 th | |
| 36 tháng | CA_036_2 |
Bắt chước vẽ hình chữ thập (+) gồm nét dọc và nét ngang cắt nhau | +1.20 th | |
| 36 tháng | CA_036_3 |
Gấp tờ giấy vuông làm tư (gấp 2 lần vuông góc) theo mẫu | +1.20 th | |
| 36 tháng | CA_036_4 |
So sánh hai vạch thẳng và chỉ đúng vạch nào dài hơn (3/3 lần) | +1.20 th | |
| 36 tháng | CA_036_5 |
Xâu được 4 hạt gỗ lớn vào dây có đầu cứng | +1.20 th | |
| 42 tháng | CA_042_1 |
Ghép đúng bức tranh cắt làm 3 - 4 mảnh rời nhau | +1.20 th | |
| 42 tháng | CA_042_2 |
Phân loại và ghép cặp 10 thẻ hình học theo hình dạng và màu sắc | +1.20 th | |
| 42 tháng | CA_042_3 |
Vẽ hình người cơ bản có ít nhất 2 - 3 bộ phận (đầu, chân, mắt) | +1.20 th | |
| 42 tháng | CA_042_4 |
Xếp mô hình cổng/tháp 5 khối gỗ theo mẫu | +1.20 th | |
| 42 tháng | CA_042_5 |
Dùng kéo cắt đứt đôi tờ giấy theo đường thẳng | +1.20 th | |
| 48 tháng | CA_048_1 |
Sao chép hình vuông có 4 góc vuông rõ rệt khi nhìn thẻ mẫu | +1.20 th | |
| 48 tháng | CA_048_2 |
Gấp giấy hình tam giác chéo góc chính xác theo mẫu | +1.20 th | |
| 48 tháng | CA_048_3 |
Đếm chỉ tay chính xác và lấy đúng 4 khối gỗ theo yêu cầu | +1.20 th | |
| 48 tháng | CA_048_4 |
Hoàn thành bảng ghép hình 4 mảnh cắt chéo thành hình chữ nhật (Patience picture) | +1.20 th | |
| 48 tháng | CA_048_5 |
So sánh trọng lượng 2 hộp giống hệt nhau (3g và 15g) chỉ ra hộp nặng hơn | +1.20 th | |
| 54 tháng | CA_054_1 |
Xếp mô hình bậc thang 6 khối gỗ (3 bậc) sau khi xem làm mẫu | +1.20 th | |
| 54 tháng | CA_054_2 |
Sao chép hình tam giác cân có 3 góc nhọn rõ ràng | +1.20 th | |
| 54 tháng | CA_054_3 |
Vẽ hình người có từ 6 bộ phận trở lên (đầu, mình, tay, chân, mắt, miệng) | +1.20 th | |
| 54 tháng | CA_054_4 |
Nhận biết phần còn thiếu trên tranh vẽ (chân bàn, tai thỏ, ngón tay) | +1.20 th | |
| 54 tháng | CA_054_5 |
Đếm và lấy đúng 6 - 8 khối gỗ từ đống khối gỗ | +1.20 th | |
| 60 tháng | CA_060_1 |
Xếp mô hình bậc thang 10 khối gỗ (4 bậc) theo mẫu | +1.20 th | |
| 60 tháng | CA_060_2 |
Sao chép hình thoi (Diamond) có 4 cạnh chéo cân đối | +1.20 th | |
| 60 tháng | CA_060_3 |
Gấp giấy Origami nâng cao (gấp máy bay/mũ hai nếp chéo) | +1.20 th | |
| 60 tháng | CA_060_4 |
Tìm đường thoát ra khỏi mê cung đơn giản bằng bút chì không chạm vạch | +1.20 th | |
| 60 tháng | CA_060_5 |
Đếm chính xác từ 10 - 13 khối gỗ và trả lời tổng số lượng | +1.20 th | |
| 66 tháng | CA_066_1 |
Vẽ lại hình phức hợp (Hình chữ nhật có đường chéo bên trong) theo mẫu | +1.50 th | |
| 66 tháng | CA_066_2 |
Sắp xếp chuỗi 5 hộp theo thứ tự trọng lượng từ nặng nhất đến nhẹ nhất | +1.50 th | |
| 66 tháng | CA_066_3 |
Nhận diện qui luật chuỗi hạt (Tròn - Vuông - Tròn - Vuông) và xếp tiếp đúng qui luật | +1.50 th | |
| 66 tháng | CA_066_4 |
Cắt rời hình tròn theo đường viền vẽ sẵn bằng kéo gọn gàng | +1.50 th | |
| 72 tháng | CA_072_1 |
Xếp mô hình kim tự tháp có khe hở (10 khối gỗ) nhìn mẫu hoàn chỉnh | +1.50 th | |
| 72 tháng | CA_072_2 |
Sao chép hình ngôi sao 6 cánh (hai tam giác lồng nhau) chính xác | +1.50 th | |
| 72 tháng | CA_072_3 |
Tính nhẩm phép cộng trừ trên khối gỗ cụ thể trong phạm vi 5 | +1.50 th | |
| 72 tháng | CA_072_4 |
Ghép đúng các khối gỗ sơn màu (Kohs Block Design) mẫu 4 khối cơ bản | +1.50 th | |
| 84 tháng | CA_084_1 |
Ghép khối Kohs Block Design mẫu đường chéo 4 khối trong thời gian quy định | +3.00 th | |
| 84 tháng | CA_084_2 |
Gấp giấy cắt một nhát tạo thành hình thoi hoặc bông hoa đối xứng ở giữa | +3.00 th | |
| 84 tháng | CA_084_3 |
Phát hiện điểm vô lý trong bức tranh tình huống (Absurdities pictures) | +3.00 th | |
| 84 tháng | CA_084_4 |
Nhớ và vẽ lại 2 hình kỷ hà chuẩn sau khi cho nhìn mẫu 10 giây (Benton/Bender) | +3.00 th | |
| 96 tháng | CA_096_1 |
Ghép khối Kohs Block Design mẫu 9 khối phức tạp trong thời gian chuẩn | +3.00 th | |
| 96 tháng | CA_096_2 |
Giải bài toán tìm quả bóng bị mất trong cánh đồng cỏ (Vẽ lộ trình tìm kiếm hệ thống) | +3.00 th | |
| 96 tháng | CA_096_3 |
Tái tạo chuỗi gõ nhịp 4 khối gỗ theo trình tự ngược lại (Knox Cube Imitation) | +3.00 th | |
| 96 tháng | CA_096_4 |
Nhận diện quy luật ma trận hình học khuyết (tương tự Raven cơ bản) | +3.00 th | |
| 108 tháng | CA_108_1 |
Giải bài toán suy luận quy nạp từ giấy gấp đục lỗ (đoán số lỗ và vị trí khi mở ra) | +4.00 th | |
| 108 tháng | CA_108_2 |
Phân tích số lượng khối gỗ ẩn trong mô hình khối lập phương 3D vẽ trên tranh | +4.00 th | |
| 108 tháng | CA_108_3 |
Ghép hoàn chỉnh mẫu Kohs 16 khối nâng cao đúng thời gian | +4.00 th | |
| 120 tháng | CA_120_1 |
Suy luận không gian đảo chiều: Vẽ hình phản chiếu qua gương của hình kỷ hà phức tạp | +4.00 th | |
| 120 tháng | CA_120_2 |
Giải bài toán cân bằng trọng lượng và đòn bẩy logic | +4.00 th | |
| 120 tháng | CA_120_3 |
Mã hóa ký hiệu chữ số nhanh trong 60 giây không sai sót | +4.00 th | |
| 132 tháng | CA_132_1 |
Giải bài toán hoán vị và tổ hợp logic với 4 màu sắc khác nhau | +6.00 th | |
| 132 tháng | CA_132_2 |
Tái cấu trúc hình học trừu tượng từ các mảnh cắt đa giác không đối xứng | +6.00 th | |
| 144 tháng | CA_144_1 |
Suy luận quy luật chuỗi số học hai tầng (cấp số cộng biến thiên) | +6.00 th | |
| 144 tháng | CA_144_2 |
Giải quyết bài toán chia nước bằng 3 bình có dung tích khác nhau | +6.00 th | |
| 156 tháng | CA_156_1 |
Tổng hợp tư duy trừu tượng không gian 3 chiều và suy luận hình thức cấp cao | +12.00 th |
| Bậc tuổi | Mã mục | Nội dung tiểu mục thử nghiệm KSPD | Trọng số | Kết quả chấm |
|---|---|---|---|---|
| 1 tháng | LS_001_1 |
Phát ra âm thanh nguyên âm nhỏ trong cổ họng (a, u, ư) ngoài tiếng khóc | +0.33 th | |
| 1 tháng | LS_001_2 |
Ngừng khóc hoặc dịu lại khi được người lớn bế lên và nói chuyện êm dịu | +0.33 th | |
| 1 tháng | LS_001_3 |
Chú ý nhìn vào khuôn mặt mẹ khi mẹ trò chuyện ở khoảng cách 25-30cm | +0.33 th | |
| 2 tháng | LS_002_1 |
Mỉm cười xã hội đáp lại khi người lớn mỉm cười và trò chuyện (Social smile) | +0.33 th | |
| 2 tháng | LS_002_2 |
Phát âm gù gù (Cooing: a-gu, ơ-ơ) đáp lại giọng nói người lớn | +0.33 th | |
| 2 tháng | LS_002_3 |
Biểu lộ nét mặt hào hứng khi thấy người quen đến gần | +0.33 th | |
| 3 tháng | LS_003_1 |
Cười thành tiếng lớn khi được trêu đùa hoặc cù nhẹ | +0.33 th | |
| 3 tháng | LS_003_2 |
Quay đầu và mắt hướng về phía phát ra giọng nói của mẹ | +0.33 th | |
| 3 tháng | LS_003_3 |
Phát âm đáp trả qua lại như đang trò chuyện với người lớn | +0.33 th | |
| 4 tháng | LS_004_1 |
Cười to khanh khách và reo lên khi chơi ú òa hoặc đùa giỡn | +0.33 th | |
| 4 tháng | LS_004_2 |
Phân biệt được giọng nói vui vẻ và giọng nghiêm khắc của người lớn | +0.33 th | |
| 4 tháng | LS_004_3 |
Nhìn chăm chú và mỉm cười với hình ảnh của mình trong gương | +0.33 th | |
| 5 tháng | LS_005_1 |
Quay đầu lại ngay lập tức khi nghe gọi tên mình | +0.33 th | |
| 5 tháng | LS_005_2 |
Bập bẹ các phụ âm môi đầu tiên (ba, ma, đa) | +0.33 th | |
| 5 tháng | LS_005_3 |
Đưa tay vỗ hoặc chạm vào hình ảnh em bé trong gương | +0.33 th | |
| 6 tháng | LS_006_1 |
Phân biệt người quen và người lạ (nhìn dò xét hoặc rụt rè với người lạ) | +0.33 th | |
| 6 tháng | LS_006_2 |
Bập bẹ chuỗi âm tiết lặp lại (ba-ba, ma-ma, da-da) | +0.33 th | |
| 6 tháng | LS_006_3 |
Giơ hai tay lên đòi bế khi thấy mẹ đưa tay ra | +0.33 th | |
| 7 tháng | LS_007_1 |
Chơi trò Ú òa (Peek-a-boo) chủ động cười và chờ đợi người lớn mở khăn | +0.33 th | |
| 7 tháng | LS_007_2 |
Hiểu từ "Không" (dừng tay lại một chút khi nghe giọng nhắc "Không!") | +0.33 th | |
| 7 tháng | LS_007_3 |
Phát âm bập bẹ đa dạng ngữ điệu giống câu nói | +0.33 th | |
| 8 tháng | LS_008_1 |
Bắt chước vỗ tay (hoan hô) hoặc đập bàn theo người lớn | +0.33 th | |
| 8 tháng | LS_008_2 |
Quay đầu nhìn theo hướng người lớn chỉ tay ở gần | +0.33 th | |
| 8 tháng | LS_008_3 |
Biểu lộ phản ứng rõ khi lấy mất đồ chơi đang cầm | +0.33 th | |
| 9 tháng | LS_009_1 |
Biết vẫy tay "Bye-bye" / "Ạ" theo lời nhắc hoặc làm mẫu | +0.33 th | |
| 9 tháng | LS_009_2 |
Hiểu và làm theo yêu cầu có kèm cử chỉ ("Đưa cho mẹ nào") | +0.33 th | |
| 9 tháng | LS_009_3 |
Kéo áo hoặc phát âm gọi để thu hút sự chú ý của người lớn | +0.33 th | |
| 10 tháng | LS_010_1 |
Chỉ ngón trỏ vào đồ vật mình thích để yêu cầu (Imperative pointing) | +0.33 th | |
| 10 tháng | LS_010_2 |
Hiểu tên gọi của một số đồ vật/người quen thuộc khi được hỏi ("Bóng đâu?", "Mẹ đâu?") | +0.33 th | |
| 10 tháng | LS_010_3 |
Bắt chước các âm thanh đơn giản do người lớn tạo ra (tiếng ho, tiếng tặc lưỡi) | +0.33 th | |
| 11 tháng | LS_011_1 |
Nói được ít nhất 1 từ đơn có nghĩa đúng ngữ cảnh (mẹ, bà, măm...) | +0.33 th | |
| 11 tháng | LS_011_2 |
Đưa đồ chơi cho người lớn khi nghe yêu cầu bằng lời (không cần xòe tay ra hiệu) | +0.33 th | |
| 11 tháng | LS_011_3 |
Biết lắc đầu thể hiện sự từ chối / không muốn | +0.33 th | |
| 12 tháng | LS_012_1 |
Nói được 2 - 3 từ đơn có nghĩa chủ động ngoài từ "bà/mẹ" | +0.33 th | |
| 12 tháng | LS_012_2 |
Chia sẻ sự chú ý chung (Joint Attention): Chỉ ngón trỏ vào vật lạ và quay lại nhìn mắt mẹ | +0.33 th | |
| 12 tháng | LS_012_3 |
Chơi lăn bóng qua lại luân phiên với người đánh giá | +0.33 th | |
| 15 tháng | LS_015_1 |
Sử dụng từ 4 - 6 từ đơn có nghĩa thường xuyên trong giao tiếp | +0.60 th | |
| 15 tháng | LS_015_2 |
Chỉ đúng ít nhất 1 bộ phận cơ thể trên người mình hoặc búp bê khi được hỏi | +0.60 th | |
| 15 tháng | LS_015_3 |
Hiểu và thực hiện mệnh lệnh đơn giản 1 bước ("Con mang bóng lại đây") | +0.60 th | |
| 15 tháng | LS_015_4 |
Bắt chước hành động sinh hoạt của người lớn (cầm lược chải đầu, nghe điện thoại) | +0.60 th | |
| 15 tháng | LS_015_5 |
Biết chỉ tay vào đồ vật kết hợp phát âm để xin phép/yêu cầu | +0.60 th | |
| 18 tháng | LS_018_1 |
Vốn từ đơn đạt từ 10 - 15 từ trở lên | +0.60 th | |
| 18 tháng | LS_018_2 |
Chỉ đúng 2 - 3 bộ phận cơ thể khi được hỏi ("Mắt đâu?", "Mũi đâu?", "Tai đâu?") | +0.60 th | |
| 18 tháng | LS_018_3 |
Chỉ đúng ít nhất 1 - 2 bức tranh đồ vật quen thuộc trên bảng tranh KSPD (Chó, Xe, Giày...) | +0.60 th | |
| 18 tháng | LS_018_4 |
Chơi giả vờ với búp bê (cho búp bê ăn bột, bế ru búp bê ngủ) | +0.60 th | |
| 18 tháng | LS_018_5 |
Dùng lời nói hoặc cử chỉ gật đầu khi muốn xin thêm | +0.60 th | |
| 21 tháng | LS_021_1 |
Bắt đầu kết hợp 2 từ thành cụm từ có nghĩa ("Mẹ bế", "Đi chơi", "Uống sữa") | +0.60 th | |
| 21 tháng | LS_021_2 |
Chỉ đúng 4 bộ phận cơ thể khi được hỏi bằng lời | +0.60 th | |
| 21 tháng | LS_021_3 |
Chỉ đúng 3 - 4 bức tranh đồ vật trên thẻ tranh chuẩn khi hỏi "Cái gì đây/ở đâu?" | +0.60 th | |
| 21 tháng | LS_021_4 |
Thực hiện đúng 2 mệnh lệnh liên tiếp với quả bóng ("Đưa bóng cho mẹ, đưa cho cô") | +0.60 th | |
| 21 tháng | LS_021_5 |
Bắt chước nói lại ngay các từ mới nghe người lớn nói | +0.60 th | |
| 24 tháng | LS_024_1 |
Nói câu 2 - 3 từ thường xuyên để diễn đạt nhu cầu và nhận xét sự việc | +0.60 th | |
| 24 tháng | LS_024_2 |
Chỉ đúng 5 - 6 bức tranh đồ vật trên bảng tranh KSPD và gọi tên đúng ít nhất 3 tranh | +0.60 th | |
| 24 tháng | LS_024_3 |
Xưng tên của mình hoặc dùng đại từ "Con" khi nói chuyện | +0.60 th | |
| 24 tháng | LS_024_4 |
Hiểu và thực hiện 3 yêu cầu khác nhau với đồ vật (Đặt lên bàn, đưa cho mẹ, cất vào hộp) | +0.60 th | |
| 24 tháng | LS_024_5 |
Chơi giả vờ nối tiếp 2 hành động (múc thức ăn rồi đút cho gấu bông) | +0.60 th | |
| 30 tháng | LS_030_1 |
Gọi tên chính xác 5 - 6 bức tranh đồ vật quen thuộc trên thẻ tranh KSPD | +1.20 th | |
| 30 tháng | LS_030_2 |
Hiểu câu hỏi về công dụng đồ vật ("Cái gì dùng để uống nước?", "Cái gì dùng để đi vào chân?") - Đạt >= 3/5 | +1.20 th | |
| 30 tháng | LS_030_3 |
Nói được họ và tên đầy đủ của bản thân khi được hỏi | +1.20 th | |
| 30 tháng | LS_030_4 |
Sử dụng đúng đại từ nhân xưng "Con - Mẹ / Cô" trong câu nói 3 - 4 từ | +1.20 th | |
| 30 tháng | LS_030_5 |
Biết chờ đến lượt trong trò chơi luân phiên với người đánh giá | +1.20 th | |
| 36 tháng | LS_036_1 |
Trả lời đúng giới tính của bản thân ("Con là bé trai hay bé gái?") | +1.20 th | |
| 36 tháng | LS_036_2 |
Hiểu khái niệm giới từ không gian: Đặt khối gỗ TRÊN, DƯỚI, TRƯỚC, SAU, TRONG chiếc hộp (Đạt >= 3/4) | +1.20 th | |
| 36 tháng | LS_036_3 |
Trả lời câu hỏi tình huống sinh hoạt ("Khi đói bụng con làm gì?", "Khi buồn ngủ con làm gì?") | +1.20 th | |
| 36 tháng | LS_036_4 |
Lặp lại chính xác câu gồm 6 - 7 âm tiết hoặc chuỗi 3 chữ số (VD: "4 - 7 - 2") | +1.20 th | |
| 36 tháng | LS_036_5 |
Nhận biết và gọi tên đúng ít nhất 2 - 3 màu sắc cơ bản (Đỏ, Vàng, Xanh) | +1.20 th | |
| 42 tháng | LS_042_1 |
Hiểu và trả lời câu hỏi "Tại sao?" và "Khi nào?" trong sinh hoạt hàng ngày | +1.20 th | |
| 42 tháng | LS_042_2 |
Mô tả được các hành động đang diễn ra trong bức tranh tình huống (Em bé đang làm gì?) | +1.20 th | |
| 42 tháng | LS_042_3 |
Gọi tên đúng 4 màu sắc cơ bản (Đỏ, Xanh dương, Vàng, Xanh lá) | +1.20 th | |
| 42 tháng | LS_042_4 |
Phân biệt khái niệm đối lập: To - Nhỏ, Dài - Ngắn, Nhiều - Ít | +1.20 th | |
| 42 tháng | LS_042_5 |
Chơi phối hợp theo nhóm nhỏ với trẻ khác, biết chia sẻ đồ chơi | +1.20 th | |
| 48 tháng | LS_048_1 |
Trả lời đúng câu hỏi xử lý tình huống ("Khi bị đứt tay chảy máu con làm gì?", "Khi trời mưa chuẩn bị đi ra ngoài thì làm sao?") | +1.20 th | |
| 48 tháng | LS_048_2 |
Nhắc lại chính xác chuỗi 4 chữ số ngẫu nhiên (VD: "3 - 8 - 1 - 6") | +1.20 th | |
| 48 tháng | LS_048_3 |
Hiểu và giải thích điểm giống nhau/khác nhau cơ bản giữa 2 sự vật (Con chim và Con chó) | +1.20 th | |
| 48 tháng | LS_048_4 |
Kể lại được một sự việc vừa xảy ra hoặc một đoạn truyện ngắn có đầu có cuối | +1.20 th | |
| 48 tháng | LS_048_5 |
Tự mặc quần áo, cài cúc áo to và đi giày không cần giúp | +1.20 th | |
| 54 tháng | LS_054_1 |
Định nghĩa được ít nhất 4 - 5 từ vựng quen thuộc theo công dụng hoặc đặc điểm (Cái mũ, Quả táo, Cái bàn...) | +1.20 th | |
| 54 tháng | LS_054_2 |
Phân biệt đúng tay Phải và tay Trái của chính mình | +1.20 th | |
| 54 tháng | LS_054_3 |
Hiểu các khái niệm thời gian: Sáng, Trưa, Tối, Hôm qua, Ngày mai | +1.20 th | |
| 54 tháng | LS_054_4 |
Thực hiện chuỗi 3 mệnh lệnh nối tiếp nhau theo đúng thứ tự yêu cầu | +1.20 th | |
| 54 tháng | LS_054_5 |
Tuân thủ luật chơi trong các trò chơi có quy tắc thắng - thua | +1.20 th | |
| 60 tháng | LS_060_1 |
Trả lời đầy đủ: Họ tên, Tuổi, Địa chỉ nhà (hoặc tên trường lớp) và tên bố mẹ | +1.20 th | |
| 60 tháng | LS_060_2 |
Tìm từ trái nghĩa chính xác ("Anh trai là con trai, chị gái là...", "Mùa hè thì nóng, mùa đông thì...") - Đạt >= 3/4 | +1.20 th | |
| 60 tháng | LS_060_3 |
Lặp lại chính xác câu dài 10 - 12 âm tiết không bỏ sót từ | +1.20 th | |
| 60 tháng | LS_060_4 |
Giải thích ý nghĩa tình huống xã hội và cảm xúc của nhân vật trong tranh | +1.20 th | |
| 60 tháng | LS_060_5 |
Đếm xuôi từ 1 đến 20 và biết đếm ngược từ 10 về 1 | +1.20 th | |
| 66 tháng | LS_066_1 |
Nêu điểm giống nhau về bản chất giữa 2 sự vật (Chuối và Táo; Tàu hỏa và Ô tô) | +1.50 th | |
| 66 tháng | LS_066_2 |
Nêu được các ngày trong tuần theo đúng thứ tự (Thứ Hai đến Chủ Nhật) | +1.50 th | |
| 66 tháng | LS_066_3 |
Nhắc lại chuỗi 5 chữ số xuôi và chuỗi 3 chữ số ngược | +1.50 th | |
| 66 tháng | LS_066_4 |
Hiểu các câu nói đùa hoặc câu đố chữ đơn giản phù hợp lứa tuổi | +1.50 th | |
| 72 tháng | LS_072_1 |
Định nghĩa từ vựng theo phân loại khái niệm cấp trên (VD: Chó là động vật nuôi 4 chân...) | +1.50 th | |
| 72 tháng | LS_072_2 |
Phân biệt tay Phải và tay Trái của người ngồi đối diện mình | +1.50 th | |
| 72 tháng | LS_072_3 |
Giải bài toán đố bằng lời trong phạm vi 10 (Có 8 cái kẹo, cho bạn 3 cái còn mấy cái?) | +1.50 th | |
| 72 tháng | LS_072_4 |
Giải thích hợp lý tại sao cần phải tuân thủ các quy tắc xã hội (Tại sao không được lấy đồ của người khác?) | +1.50 th | |
| 84 tháng | LS_084_1 |
Tìm điểm giống nhau và khác nhau đồng thời giữa hai khái niệm (Gỗ và Sắt; Nước và Đá) | +3.00 th | |
| 84 tháng | LS_084_2 |
Kể tên các tháng trong năm và các mùa tương ứng | +3.00 th | |
| 84 tháng | LS_084_3 |
Nhắc lại chuỗi 4 chữ số theo thứ tự ngược lại (Backward Digit Span) | +3.00 th | |
| 84 tháng | LS_084_4 |
Đọc hiểu một đoạn văn ngắn 4 câu và trả lời đúng 3 câu hỏi chi tiết | +3.00 th | |
| 96 tháng | LS_096_1 |
Giải thích sự vô lý bằng lời (Verbal Absurdities): Phát hiện mâu thuẫn logic trong câu chuyện ngắn | +3.00 th | |
| 96 tháng | LS_096_2 |
Tính nhẩm tiền thừa khi mua hàng trong tình huống giả định (Mua bánh 3.000đ, đưa 10.000đ) | +3.00 th | |
| 96 tháng | LS_096_3 |
Sắp xếp các từ bị xáo trộn thành một câu hoàn chỉnh đúng ngữ pháp và ngữ nghĩa | +3.00 th | |
| 96 tháng | LS_096_4 |
Hiểu nghĩa bóng của câu thành ngữ/tục ngữ đơn giản | +3.00 th | |
| 108 tháng | LS_108_1 |
Giải thích các khái niệm trừu tượng (Lòng dũng cảm, Sự công bằng, Lòng biết ơn) | +4.00 th | |
| 108 tháng | LS_108_2 |
Nhắc lại chuỗi 6 chữ số xuôi và 4 - 5 chữ số ngược | +4.00 th | |
| 108 tháng | LS_108_3 |
Tóm tắt ý chính và bài học rút ra từ một câu chuyện ngụ ngôn | +4.00 th | |
| 120 tháng | LS_120_1 |
Tìm điểm tương đồng trừu tượng giữa 3 sự vật cùng lúc (Rắn - Bò - Chim sẻ) | +4.00 th | |
| 120 tháng | LS_120_2 |
Điền từ liên kết logic (Tuy... nhưng..., Nếu... thì...) vào đoạn văn khuyết | +4.00 th | |
| 120 tháng | LS_120_3 |
Giải bài toán đố hai phép tính liên tiếp bằng tính nhẩm | +4.00 th | |
| 132 tháng | LS_132_1 |
Phân tích nguyên nhân - hệ quả xã hội của các quy định pháp luật/nhà trường | +4.00 th | |
| 132 tháng | LS_132_2 |
Định nghĩa từ vựng học thuật cấp độ trung học cơ sở | +4.00 th | |
| 132 tháng | LS_132_3 |
Nhắc lại chuỗi 5 chữ số theo thứ tự ngược lại | +4.00 th | |
| 144 tháng | LS_144_1 |
Giải thích ý nghĩa ẩn dụ sâu sắc của các câu tục ngữ/ngạn ngữ cổ điển | +6.00 th | |
| 144 tháng | LS_144_2 |
Tái lập lập luận logic từ một đoạn văn bản khoa học ngắn | +6.00 th | |
| 156 tháng | LS_156_1 |
Tư duy ngôn ngữ khái quát hóa, tranh biện đa chiều và suy luận đạo đức xã hội cấp cao | +12.00 th |
1. Dữ liệu tổng quan và Lịch sử Việt hóa của Thang Kyoto (KSPD)
-
Nguồn gốc: Được khởi xướng bởi Giáo sư Masako Ikuzawa và cộng sự tại Nhật Bản từ năm 1954 (dựa trên nền tảng thang Gesell), sửa đổi mở rộng năm 1982 và hai phiên bản chuẩn hóa lớn gần nhất là KSPD 2001 và KSPD 2020.
-
Quá trình đưa vào Việt Nam: Ngay từ năm 2002, phiên bản KSPD 2001 (Vietnamese Version) đã được nhóm tác giả Nhật Bản (Ikuzawa, Matsushita, Nakase) phối hợp với Trung tâm Giao lưu Phúc lợi Xã hội Quốc tế Kyoto chuyển giao chính thức sang Việt Nam. Hiện nay, các trường như ĐH Sư phạm Hà Nội, ĐH Giáo dục (ĐHQGHN), các trung tâm thuộc Hội Khoa học Tâm lý – Giáo dục Việt Nam và nhiều bệnh viện vẫn đào tạo và sử dụng bộ công cụ này rất phổ biến.
-
Độ tuổi áp dụng: Từ sơ sinh (0 tháng tuổi) đến người trưởng thành (thực tế lâm sàng tại Việt Nam dùng nhiều nhất cho nhóm 0 – 13 tuổi, đặc biệt là trẻ từ 1 – 6 tuổi chưa thể làm các bài test IQ chuẩn như WISC).
-
Số lượng tiểu mục: Khoảng 328 mục (items) thử nghiệm tương tác trực tiếp bằng bộ giáo cụ chuẩn (khối gỗ,tranh ảnh, bảng ghép hình, chuông, hộp…) kết hợp quan sát hành vi.
2. Cấu trúc 3 lĩnh vực và Công thức tính điểm của KSPD
Thang Kyoto đánh giá đứa trẻ qua 3 lĩnh vực (Domains) cốt lõi. Khi áp dụng trên trẻ Rối loạn phổ tự kỷ (ASD), sự chênh lệch điểm số giữa 3 lĩnh vực này tạo ra một “đồ thị hình răng cưa” rất đặc trưng:
| Lĩnh vực đánh giá | Ký hiệu | Nội dung kiểm tra | Đặc điểm thường gặp ở trẻ Tự kỷ (ASD) |
|
1. Tư thế – Vận động
(Postural – Motor) |
P-M | Kiểm soát đầu cổ, lẫy, bò, đi, chạy, nhảy, thăng bằng vận động thô. | Điểm P-M thường cao nhất, gần tương đương hoặc chỉ chậm nhẹ so với tuổi thực. |
|
2. Nhận thức – Thích ứng
(Cognitive – Adaptive) |
C-A | Vận động tinh, phối hợp tay – mắt, xếp khối, ghép hình, phân biệt hình khối/màu sắc, giải quyết vấn đề phi ngôn ngữ. | Điểm C-A ở mức trung bình hoặc khá (nhiều trẻ tự kỷ làm rất tốt các bài ghép hình, xếp khối thị giác không gian). |
|
3. Ngôn ngữ – Xã hội
(Language – Social) |
L-S | Hiểu lời nói, diễn đạt ngôn ngữ, bắt chước xã hội, giao tiếp mắt, tương tác với người đánh giá, hiểu quy tắc xã hội. | Điểm L-S thường sụt giảm sâu nhất. Độ lệch giữa và càng lớn thì dấu hiệu rối loạn giao tiếp xã hội càng rõ. |
Công thức tính Chỉ số phát triển (DQ – Developmental Quotient)
Với từng lĩnh vực (P-M, C-A, L-S) và Tổng thể (Overall), chuyên gia sẽ xác định được Tuổi phát triển (DA – Developmental Age) tính theo tháng hoặc ngày, sau đó chia cho Tuổi thực (CA – Chronological Age):
Bảng phân loại mức độ phát triển theo chỉ số DQ tại Việt Nam:
-
DQ>115: Phát triển tốt / Vượt chuẩn
-
DQ=85−115: Phát triển bình thường
-
DQ=70−84: Chậm phát triển mức độ nhẹ (hoặc ranh giới)
-
DQ=55−69: Chậm phát triển mức độ trung bình
-
DQ=40−54: Chậm phát triển mức độ nặng
-
DQ<40: Chậm phát triển mức độ rất nặng
[Đo lường IQ] WPPSI-IV: Thang đo trí tuệ Wechsler dành cho trẻ mẫu giáo và đầu tiểu học (2 – 7 tuổi)
(function() { const host = document.getElementById('wppsi4-wp-host'); if (!host) return; const placeholder = document.createComment('wppsi4-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // Cấu hình 5 Chỉ số Chính (Primary Index Scales) của WPPSI-IV const indexConfigs = { vci: { code: 'vci', short: 'VCI', name: '1. Hiểu Lời nói (Verbal Comprehension - VCI)', color: '#2563eb' }, vsi: { code: 'vsi', short: 'VSI', name: '2. Không gian Thị giác (Visual Spatial - VSI)', color: '#0d9488' }, fri: { code: 'fri', short: 'FRI', name: '3. Tư duy Lưu loát / Logic (Fluid Reasoning - FRI)', color: '#7c3aed' }, wmi: { code: 'wmi', short: 'WMI', name: '4. Trí nhớ Làm việc (Working Memory - WMI)', color: '#f59e0b' }, psi: { code: 'psi', short: 'PSI', name: '5. Tốc độ Xử lý (Processing Speed - PSI)', color: '#dc2626' } }; // ========================================================= // DẢI TUỔI 1: 2 TUỔI 6 THÁNG - 3 TUỔI 11 THÁNG (30 - 47 THÁNG • 7 TIỂU TRẮC NGHIỆM) // ========================================================= const bandYoungSubtests = [ { id: 'RV', idx: 'vci', role: '★ Tính VCI, FSIQ, GAI & VAI', name: '1. Từ vựng Tiếp nhận (Receptive Vocabulary - RV) ★', desc: 'Trẻ nhìn vào 4 bức tranh trên một trang sách và chỉ tay vào bức tranh đúng với từ vựng mà người khám vừa đọc to.', measure: 'Đo lường vốn từ vựng nghe hiểu và khả năng tiếp thu ngôn ngữ sớm (không yêu cầu trẻ phải nói).' }, { id: 'IN', idx: 'vci', role: '★ Tính VCI, FSIQ & GAI', name: '2. Thông tin (Information - IN) ★', desc: 'Ở các câu đầu trẻ chỉ tay chọn tranh; ở các câu sau trẻ trả lời bằng lời các câu hỏi về kiến thức chung xung quanh (bộ phận cơ thể, công dụng đồ vật, con vật).', measure: 'Đo lường khả năng thu nhận, lưu giữ và truy xuất kiến thức thực tế từ môi trường.' }, { id: 'PN', idx: 'vci', role: 'Bổ sung (Tính Chỉ số Tiếp thu Từ vựng VAI)', name: '3. Gọi tên Tranh (Picture Naming - PN) [Thuộc VAI]', desc: 'Trẻ nhìn từng bức tranh đồ vật/con vật quen thuộc trong sách kích thích và gọi đúng tên của sự vật đó.', measure: 'Đo lường vốn từ vựng diễn đạt (Expressive Vocabulary) và khả năng truy xuất từ ngữ.' }, { id: 'BD', idx: 'vsi', role: '★ Tính VSI, FSIQ, GAI & NVI', name: '4. Xếp khối (Block Design - BD) ★', desc: 'Trẻ dùng các khối gỗ 1 màu hoặc 2 màu (Đỏ - Trắng) để xếp lại đúng theo mô hình mẫu người khám vừa làm hoặc theo hình in trong sách.', measure: 'Đo lường khả năng phân tích – tổng hợp không gian thị giác và phối hợp mắt – tay.' }, { id: 'OA', idx: 'vsi', role: '★ Tính VSI, FSIQ, GAI & NVI', name: '5. Lắp ghép Đồ vật (Object Assembly - OA) ★', desc: 'Trẻ được trao các mảnh ghép cắt rời (từ 2 đến 5 mảnh) và phải xoay, ghép chúng lại thành một hình đồ vật/con vật hoàn chỉnh trong thời gian quy định.', measure: 'Đo lường khả năng tổng hợp toàn thể thị giác từ các bộ phận rời rạc (Visual-Spatial Closure).' }, { id: 'PM', idx: 'wmi', role: '★ Tính WMI, FSIQ & NVI', name: '6. Nhớ Tranh ảnh (Picture Memory - PM) ★', desc: 'Trẻ nhìn một trang có 1 hoặc nhiều hình vẽ trong 3–5 giây, sau đó lật sang trang sau có nhiều hình gây nhiễu và chỉ tay vào đúng các hình vừa nhìn thấy.', measure: 'Đo lường trí nhớ làm việc thị giác ngắn hạn và sự tập trung chú ý (100% không cần lời nói).' }, { id: 'ZL', idx: 'wmi', role: '★ Tính WMI & NVI', name: '7. Vị trí Vườn thú (Zoo Locations - ZL) ★', desc: 'Trẻ nhìn các thẻ hình con thú được đặt vào các ô chuồng trên tấm lưới trong vài giây, sau đó người khám cất đi và trẻ phải đặt lại đúng từng con thú vào đúng ô vị trí của nó.', measure: 'Đo lường trí nhớ làm việc không gian – thị giác (Visual-Spatial Working Memory).' } ]; // ========================================================= // DẢI TUỔI 2: 4 TUỔI 0 THÁNG - 7 TUỔI 7 THÁNG (48 - 91 THÁNG • 10 TIỂU TRẮC NGHIỆM) // ========================================================= const bandOldSubtests = [ { id: 'IN', idx: 'vci', role: '★ Tính VCI, FSIQ & GAI', name: '1. Thông tin (Information - IN) ★', desc: 'Trẻ trả lời các câu hỏi về kiến thức tự nhiên, xã hội, số lượng, thời gian và chức năng sự vật phù hợp lứa tuổi mẫu giáo lớn – lớp 1, lớp 2.', measure: 'Đo lường vốn kiến thức tích lũy và trí nhớ dài hạn về ngôn ngữ.' }, { id: 'SI', idx: 'vci', role: '★ Tính VCI, FSIQ & GAI', name: '2. Tương đồng (Similarities - SI) ★', desc: 'Ở các câu đầu trẻ chọn tranh có chung đặc điểm; ở các câu sau trẻ giải thích bằng lời xem hai khái niệm giống nhau ở điểm bản chất nào.', measure: 'Đo lường tư duy hình thành khái niệm bằng lời và suy luận trừu tượng ngôn ngữ.' }, { id: 'BD', idx: 'vsi', role: '★ Tính VSI, FSIQ, GAI & NVI', name: '3. Xếp khối (Block Design - BD) ★', desc: 'Trẻ sử dụng các khối lập phương hai màu Đỏ - Trắng để xếp thành các mẫu hình học phức tạp dần trong giới hạn thời gian.', measure: 'Đo lường tư duy không gian 2D/3D (Thường là đỉnh thế mạnh vượt trội ở trẻ Tự kỷ - ASD).' }, { id: 'OA', idx: 'vsi', role: '★ Tính VSI', name: '4. Lắp ghép Đồ vật (Object Assembly - OA) ★', desc: 'Trẻ ghép các mảnh rời không có khung viền sẵn để tạo thành hình hoàn chỉnh có nghĩa.', measure: 'Đo lường khả năng tích hợp thị giác – vận động và nhận diện cấu trúc tổng thể.' }, { id: 'MR', idx: 'fri', role: '★ Tính FRI, FSIQ, GAI & NVI', name: '5. Ma trận Suy luận (Matrix Reasoning - MR) ★', desc: 'Trẻ quan sát một ma trận hình ảnh bị khuyết một ô và chỉ tay chọn mảnh ghép đúng quy luật logic từ các phương án bên dưới.', measure: 'Đo lường trí thông minh lưu loát (Fluid Intelligence) và suy luận quy nạp phi ngôn ngữ.' }, { id: 'PC', idx: 'fri', role: '★ Tính FRI & NVI', name: '6. Khái niệm Hình ảnh (Picture Concepts - PC) ★', desc: 'Trẻ nhìn 2 hoặc 3 hàng tranh ảnh và phải chọn ra từ mỗi hàng đúng 1 bức tranh sao cho chúng có cùng một đặc điểm/khái niệm chung với nhau.', measure: 'Đo lường khả năng phân loại khái niệm trừu tượng và suy luận tương quan mà không cần nói.' }, { id: 'PM', idx: 'wmi', role: '★ Tính WMI, FSIQ, CPI & NVI', name: '7. Nhớ Tranh ảnh (Picture Memory - PM) ★', desc: 'Trẻ ghi nhớ nhanh một nhóm các bức tranh trên trang kích thích rồi chỉ lại các bức tranh đó trên trang đáp án có nhiều hình gây nhiễu.', measure: 'Đo lường trí nhớ làm việc thị giác và khả năng kháng nhiễu.' }, { id: 'ZL', idx: 'wmi', role: '★ Tính WMI & CPI', name: '8. Vị trí Vườn thú (Zoo Locations - ZL) ★', desc: 'Trẻ ghi nhớ vị trí tọa độ của nhiều thẻ hình con vật trên sơ đồ chuồng thú và đặt lại chính xác từng thẻ.', measure: 'Đo lường dung lượng trí nhớ làm việc không gian.' }, { id: 'BS', idx: 'psi', role: '★ Tính PSI, FSIQ, CPI & NVI', name: '9. Tìm Bọ — Đóng dấu mực (Bug Search - BS) ★', desc: 'Trong vòng 120 giây, trẻ cầm bút đóng dấu mực (Ink Dauber) chấm thật nhanh vào con bọ trong nhóm 5 con bên phải khớp với con bọ mẫu bên trái.', measure: 'Đo lường tốc độ quét phân biệt thị giác và ra quyết định nhanh (không bị cản trở bởi kỹ năng cầm bút chì).' }, { id: 'CA', idx: 'psi', role: '★ Tính PSI & CPI', name: '10. Gạch bỏ Hình — Đóng dấu mực (Cancellation - CA) ★', desc: 'Trong vòng 45 giây cho mỗi trang (1 trang lộn xộn và 1 trang xếp theo hàng), trẻ dùng bút đóng dấu mực chấm chọn tất cả các hình thuộc nhóm "Quần áo" nằm lẫn giữa các đồ vật khác.', measure: 'Đo lường tốc độ xử lý thị giác, chú ý có chọn lọc và phân loại danh mục nhanh.' } ]; let activeBand = 'old'; // 'young' (2:6 - 3:11) | 'old' (4:0 - 7:7) let filterIdx = 'all'; // Lưu Scaled Score (1..19, Mean = 10, SD = 3) let ssYoung = { RV: 10, IN: 10, PN: 10, BD: 10, OA: 10, PM: 10, ZL: 10 }; let ssOld = { IN: 10, SI: 10, BD: 10, OA: 10, MR: 10, PC: 10, PM: 10, ZL: 10, BS: 10, CA: 10 }; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .wp-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } .wp-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .wp-inner { padding: 24px; max-width: 980px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .wp-wrap.is-fullscreen .wp-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .wp-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(124, 58, 237, 0.45), 0 0 0 0 rgba(124, 58, 237, 0.4); } 70% { box-shadow: 0 6px 20px rgba(124, 58, 237, 0.45), 0 0 0 10px rgba(124, 58, 237, 0); } 100% { box-shadow: 0 6px 20px rgba(124, 58, 237, 0.45), 0 0 0 0 rgba(124, 58, 237, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #6d28d9 0%, #7c3aed 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(124, 58, 237, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Bộ chuyển đổi 2 Dải Độ Tuổi WPPSI-IV */ .band-switcher { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; background: #f1f5f9; padding: 10px; border-radius: 12px; margin-bottom: 18px; } .band-btn { padding: 12px 14px; border-radius: 9px; border: 2px solid transparent; background: rgba(255, 255, 255, 0.7); cursor: pointer; text-align: left; transition: all 0.2s ease; touch-action: manipulation; } .band-btn:hover { background: #ffffff; } .band-btn.active { background: #ffffff; border-color: #7c3aed; box-shadow: 0 3px 10px rgba(15, 23, 42, 0.08); } .band-btn-title { font-size: 14.5px; font-weight: 800; color: #0f172a; display: block; } .band-btn.active .band-btn-title { color: #6d28d9; } .band-btn-sub { font-size: 12px; color: #64748b; margin-top: 3px; display: block; } .wp-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .wp-header-text { flex: 1 1 260px; } .wp-title { font-size: 20px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .wp-desc { font-size: 13.8px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #f5f3ff; color: #6d28d9; border: 1px solid #ddd6fe; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #7c3aed; color: #ffffff; border-color: #7c3aed; } .wp-controls { display: flex; flex-direction: column; gap: 10px; margin-bottom: 18px; } .wp-presets { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; } .wp-preset-lbl { font-size: 12.5px; font-weight: 700; color: #475569; margin-right: 4px; } .wp-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; touch-action: manipulation; } .wp-pbtn:hover { background: #f1f5f9; } .wp-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } .wp-sub-tabs { display: flex; flex-wrap: wrap; gap: 6px; } .wp-stab { padding: 6px 11px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .wp-stab.active { background: #7c3aed; color: #ffffff; border-color: #7c3aed; } /* Sticky Dashboard */ .wp-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .wp-wrap.is-fullscreen .wp-dash { top: 58px; } .wp-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .wp-score-big { font-size: 20px; font-weight: 800; line-height: 1.25; } .wp-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .wp-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .wp-pillars { display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; font-size: 11.5px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .wp-pillar-box { background: #1e293b; padding: 7px 9px; border-radius: 8px; border-left: 3px solid #475569; } .wp-pillar-box.high { border-left-color: #3b82f6; background: rgba(59, 130, 246, 0.15); } .wp-pillar-box.avg { border-left-color: #10b981; } .wp-pillar-box.low { border-left-color: #f59e0b; background: rgba(245, 158, 11, 0.14); } .wp-pillar-box.imp { border-left-color: #ef4444; background: rgba(239, 68, 68, 0.16); } .wp-pillar-val { font-weight: 800; color: #ffffff; font-size: 13.5px; display: block; margin-top: 2px; } /* Danh sách Tiểu trắc nghiệm */ .wp-item { border: 1px solid #e2e8f0; border-radius: 12px; padding: 15px 16px; margin-bottom: 12px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 8px; } .wp-item.ss-high { border-color: #93c5fd; background: #eff6ff; } .wp-item.ss-avg { border-color: #a7f3d0; background: #f0fdf4; } .wp-item.ss-low { border-color: #fde68a; background: #fffbeb; } .wp-item.ss-imp { border-color: #fca5a5; background: #fff5f5; } .wp-item-title { font-size: 15px; font-weight: 800; color: #0f172a; } .wp-item-desc { font-size: 13.5px; color: #334155; } .wp-item-meas { font-size: 12.5px; color: #475569; background: rgba(15, 23, 42, 0.03); padding: 6px 10px; border-radius: 6px; border-left: 3px solid #94a3b8; } .wp-tags { display: flex; flex-wrap: wrap; gap: 6px; } .wp-tag { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .wp-scale-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 6px; margin-top: 4px; } .wp-sbtn { padding: 8px 4px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .wp-sbtn:hover { border-color: #64748b; } .wp-sbtn-num { font-size: 13px; font-weight: 800; display: block; color: #0f172a; } .wp-sbtn-lbl { font-size: 10.5px; color: #64748b; display: block; margin-top: 1px; } .wp-sbtn.sel-imp { background: #ef4444; border-color: #ef4444; } .wp-sbtn.sel-low { background: #f59e0b; border-color: #f59e0b; } .wp-sbtn.sel-avg { background: #10b981; border-color: #10b981; } .wp-sbtn.sel-high { background: #2563eb; border-color: #2563eb; } .wp-sbtn.sel-imp .wp-sbtn-num, .wp-sbtn.sel-imp .wp-sbtn-lbl, .wp-sbtn.sel-low .wp-sbtn-num, .wp-sbtn.sel-low .wp-sbtn-lbl, .wp-sbtn.sel-avg .wp-sbtn-num, .wp-sbtn.sel-avg .wp-sbtn-lbl, .wp-sbtn.sel-high .wp-sbtn-num, .wp-sbtn.sel-high .wp-sbtn-lbl { color: #ffffff; } /* Bảng báo cáo */ .wp-table-card { margin-top: 20px; padding: 16px 18px; border-radius: 12px; background: #ffffff; border: 1px solid #e2e8f0; overflow-x: auto; } .wp-table { width: 100%; border-collapse: collapse; font-size: 13px; min-width: 640px; } .wp-table th, .wp-table td { border: 1px solid #cbd5e1; padding: 8px 10px; text-align: center; } .wp-table th { background: #f1f5f9; font-weight: 800; color: #0f172a; } .wp-result-box { margin-top: 16px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #7c3aed; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 780px) { .wp-inner { padding: 14px; } .band-switcher { grid-template-columns: 1fr; } .wp-title { font-size: 18px; } .wp-pillars { grid-template-columns: 1fr 1fr; } .wp-scale-grid { grid-template-columns: repeat(4, 1fr); } .wp-pbtn.reset { margin-left: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
| Thang Chỉ số WPPSI-IV (Index Scale) | Các Tiểu trắc nghiệm cấu thành | Tổng Scaled Scores | Điểm Chuẩn (Composite: 40–160) | Bách phân vị (Percentile) | Phân loại Chuẩn Wechsler |
|---|
1. Thang Đo WPPSI-IV Dải Tuổi Nhỏ: 2 Tuổi 6 Tháng – 3 Tuổi 11 Tháng (7 Tiểu Trắc Nghiệm)
' + '' + 'Thiết kế tối ưu cho trẻ mẫu giáo nhỏ (30 – 47 tháng): đánh giá 3 Chỉ số Chính (Hiểu Lời nói VCI, Không gian Thị giác VSI, Trí nhớ Làm việc WMI), IQ Toàn thang (FSIQ) cùng Chỉ số Tiếp thu Từ vựng (VAI) và Chỉ số Phi ngôn ngữ (NVI).' + '
'; subTabs.innerHTML = '' + '' + '' + ''; } else { headerInfo.innerHTML = '2. Thang Đo WPPSI-IV Dải Tuổi Lớn: 4 Tuổi 0 Tháng – 7 Tuổi 7 Tháng (10 Tiểu Trắc Nghiệm)
' + '' + 'Đánh giá cấu trúc nhận thức hoàn chỉnh cho trẻ mẫu giáo lớn & đầu tiểu học (48 – 91 tháng) qua 5 Chỉ số Chính (VCI, VSI, FRI, WMI, PSI dùng bút đóng dấu mực Ink Dauber), FSIQ và 3 Chỉ số Phụ (NVI, GAI, CPI).' + '
'; subTabs.innerHTML = '' + '' + '' + '' + '' + ''; } subTabs.querySelectorAll('.wp-stab').forEach(tab => { tab.onclick = function() { filterIdx = this.getAttribute('data-idx'); subTabs.querySelectorAll('.wp-stab').forEach(t => t.classList.remove('active')); this.classList.add('active'); renderItems(); }; }); } function renderItems() { itemList.innerHTML = ''; const list = (activeBand === 'young') ? bandYoungSubtests : bandOldSubtests; const store = (activeBand === 'young') ? ssYoung : ssOld; list.forEach(function(st) { if (filterIdx !== 'all' && st.idx !== filterIdx) return; const uSS = (store[st.id] !== undefined) ? store[st.id] : 10; const iCfg = indexConfigs[st.idx]; let rowCls = 'wp-item '; if (uSS >= 13) rowCls += 'ss-high'; else if (uSS >= 8) rowCls += 'ss-avg'; else if (uSS >= 6) rowCls += 'ss-low'; else rowCls += 'ss-imp'; const btnsHtml = ssSteps.map(step => { const cls = 'wp-sbtn' + (uSS === step.val ? ' ' + step.cls : ''); return ( '' ); }).join(''); const el = document.createElement('div'); el.className = rowCls; el.innerHTML = '' + '' + '• 2. Đánh giá Chỉ số Tiếp thu Từ vựng (VAI = ' + compVAI + '): So sánh giữa Từ vựng Tiếp nhận (RV = ' + s.RV + ') và Gọi tên Tranh (PN = ' + s.PN + ') giúp định hướng mục tiêu can thiệp Âm ngữ trị liệu.'; } else { // DẢI TUỔI LỚN: 4:0 - 7:7 const s = ssOld; const sumVCI = s.IN + s.SI; const sumVSI = s.BD + s.OA; const sumFRI = s.MR + s.PC; const sumWMI = s.PM + s.ZL; const sumPSI = s.BS + s.CA; const sumFSIQ = s.IN + s.SI + s.BD + s.MR + s.PM + s.BS; // 6 bài tính FSIQ ở dải 4:0-7:7 const sumGAI = s.IN + s.SI + s.BD + s.MR; const sumCPI = s.PM + s.ZL + s.BS + s.CA; const sumNVI = s.BD + s.MR + s.PC + s.PM + s.BS; const compVCI = calcCompositeFromSS(sumVCI, 2); const compVSI = calcCompositeFromSS(sumVSI, 2); const compFRI = calcCompositeFromSS(sumFRI, 2); const compWMI = calcCompositeFromSS(sumWMI, 2); const compPSI = calcCompositeFromSS(sumPSI, 2); const compFSIQ = calcCompositeFromSS(sumFSIQ, 6); const compGAI = calcCompositeFromSS(sumGAI, 4); const compCPI = calcCompositeFromSS(sumCPI, 4); const compNVI = calcCompositeFromSS(sumNVI, 5); const cVCI = classifyWechsler(compVCI); const cVSI = classifyWechsler(compVSI); const cFRI = classifyWechsler(compFRI); const cWMI = classifyWechsler(compWMI); const cPSI = classifyWechsler(compPSI); const cFSIQ = classifyWechsler(compFSIQ); const cGAI = classifyWechsler(compGAI); const cCPI = classifyWechsler(compCPI); const cNVI = classifyWechsler(compNVI); const nviVciGap = compNVI - compVCI; const gaiCpiGap = compGAI - compCPI; dashHeadline.textContent = 'WPPSI-IV (4:0–7:7) — FSIQ: ' + compFSIQ + ' • Phi Ngôn Ngữ (NVI): ' + compNVI + ' • Năng Lực Chung (GAI): ' + compGAI; dashSub.textContent = 'Hiệu suất Nhận thức (CPI): ' + compCPI + ' • Độ lệch NVI - VCI: ' + (nviVciGap >= 0 ? '+' : '') + nviVciGap + ' điểm • Độ lệch GAI - CPI: ' + (gaiCpiGap >= 0 ? '+' : '') + gaiCpiGap + ' điểm'; dashPillars.style.gridTemplateColumns = 'repeat(5, 1fr)'; dashPillars.innerHTML = '
' + '• 2. Đánh giá Sẵn sàng Học đường qua Trí nhớ Làm việc (WMI = ' + compWMI + ') & Tốc độ Xử lý (PSI = ' + compPSI + '): ' + (compPSI < 85 || compWMI FSIQ ~63 (= 130) ssYoung = { RV: 17, IN: 15, PN: 15, BD: 17, OA: 15, PM: 15, ZL: 15 }; ssOld = { IN: 17, SI: 15, BD: 17, OA: 15, MR: 17, PC: 15, PM: 15, ZL: 15, BS: 13, CA: 13 }; } renderItems(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); wpWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { wpWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 980px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } shadow.querySelectorAll('#bandSwitcher .band-btn').forEach(function(btn) { btn.onclick = function() { activeBand = this.getAttribute('data-band'); shadow.querySelectorAll('#bandSwitcher .band-btn').forEach(b => b.classList.remove('active')); this.classList.add('active'); renderHeaderAndTabs(); renderItems(); updateSummary(); }; }); shadow.querySelectorAll('.wp-pbtn').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-preset')); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); renderHeaderAndTabs(); applyPreset('asd_preschool'); })();
WPPSI-IV (Wechsler Preschool and Primary Scale of Intelligence, Fourth Edition — Thang đo Trí tuệ Wechsler dành cho Trẻ Mẫu giáo và Đầu Tiểu học, Phiên bản 4, xuất bản năm 2012 bởi Pearson) là “tiêu chuẩn vàng” để đánh giá năng lực nhận thức cho trẻ từ 2 tuổi 6 tháng đến 7 tuổi 7 tháng (30 – 91 tháng).
Trong hệ thống công cụ đánh giá của bạn, WPPSI-IV chính là chiếc cầu nối hoàn hảo nhất giữa giai đoạn đánh giá DQ đầu đời (Bayley-III / KSPD) và giai đoạn đánh giá IQ học đường (WISC-V): giúp phát hiện sớm trẻ có năng khiếu (Gifted), xác định mức độ chậm phát triển toàn diện (GDD), và tách bạch năng lực nhận thức phi ngôn ngữ của trẻ Tự kỷ (ASD) ngay ở lứa tuổi mẫu giáo thông qua các bài test trò chơi đóng dấu mực (Ink Dauber) không đòi hỏi kỹ năng cầm bút viết.
1. Sự phân hóa Cấu trúc 2 Dải Độ Tuổi của WPPSI-IV
Vì sự phát triển não bộ của trẻ 2.5 tuổi rất khác với trẻ 6–7 tuổi, WPPSI-IV chia thành 2 Dải độ tuổi (Age Bands) với cấu trúc các Chỉ số chính (Primary Index Scales) và Tiểu trắc nghiệm khác nhau:
| Dải độ tuổi | Các Chỉ số Chính (Primary Indexes) | Các Tiểu trắc nghiệm Chính cấu thành (Primary Subtests) | Các Chỉ số Phụ Lâm sàng (Ancillary Indexes) |
|
1. Dải Nhỏ:
2 tuổi 6 tháng – 3 tuổi 11 tháng
(30 – 47 tháng) |
3 Chỉ số Chính + FSIQ:
1. Hiểu Lời nói (VCI)
2. Không gian Thị giác (VSI)
3. Trí nhớ Làm việc (WMI) |
Gồm 6 bài (5 bài tính FSIQ):
• VCI: Từ vựng Tiếp nhận (RV)★, Thông tin (IN) ★
• VSI: Xếp khối (BD) ★, Lắp ghép Đồ vật (OA) ★
• WMI: Nhớ Tranh ảnh (PM) ★, Vườn thú (ZL) |
• VAI (Tiếp thu Từ vựng: RV + PN)
• NVI (Phi ngôn ngữ: BD + OA + PM + ZL)
• GAI (Năng lực chung: RV + IN + BD + OA) |
|
2. Dải Lớn:
4 tuổi 0 tháng – 7 tuổi 7 tháng
(48 – 91 tháng) |
5 Chỉ số Chính + FSIQ:
(Giống hệt cấu trúc WISC-V)
1. Hiểu Lời nói (VCI)
2. Không gian Thị giác (VSI)
3. Tư duy Lưu loát (FRI)
4. Trí nhớ Làm việc (WMI)
5. Tốc độ Xử lý (PSI) |
Gồm 10 bài (6 bài tính FSIQ):
• VCI: Thông tin (IN) ★, Tương đồng (SI) ★
• VSI: Xếp khối (BD) ★, Lắp ghép Đồ vật (OA)
• FRI: Ma trận Suy luận (MR) ★, Khái niệm Hình ảnh (PC)
• WMI: Nhớ Tranh ảnh (PM) ★, Vườn thú (ZL)
• PSI: Tìm Bọ (BS) ★, Gạch bỏ Hình (CA) |
• VAI (Tiếp thu Từ vựng: RV + PN)
• NVI (Phi ngôn ngữ: BD +MR + PC + PM + BS)
• GAI (Năng lực chung: IN + SI + BD + MR)
• CPI (Hiệu suất nhận thức: PM + ZL + BS + CA) |
2. Những cải tiến “Thân thiện với Trẻ Tự kỷ & Trẻ Mầm non” của WPPSI-IV
-
Giảm tối đa áp lực ngôn ngữ nói: Ở các tiểu trắc nghiệm mới như Nhớ Tranh ảnh (Picture Memory), Vườn thú (Zoo Locations), Khái niệm Hình ảnh (Picture Concepts), trẻ hoàn toàn chỉ cần chỉ tay hoặc đặt thẻ hình vào đúng ô mà không cần nói một từ nào.
-
Dùng “Bút đóng dấu mực” (Ink Dauber) cho Tốc độ xử lý (PSI): Ở tuổi 4–5, nhiều trẻ mầm non (đặc biệt là trẻ ASD/ADHD có vận động tinh kém) chưa cầm bút chì gạch nhanh được. Trong bài Tìm Bọ (Bug Search) và Gạch bỏ Hình (Cancellation), trẻ được cầm con dấu mực chấm “cộp, cộp” lên hình đúng — vừa giống trò chơi thú vị,vừa loại bỏ sai số do kỹ năng cầm bút yếu!
-
Chỉ số Tiếp thu Từ vựng (Vocabulary Acquisition Index – VAI): Kết hợp Từ vựng Tiếp nhận (Receptive Vocabulary — chỉ tranh) và Gọi tên Tranh (Picture Naming) để đo lường khả năng phát triển vốn từ gốc của trẻ có rối loạn ngôn ngữ trước khi bước vào các câu hỏi suy luận dài.
[Đo lường IQ] WISC-V: Thang đo trí tuệ Wechsler đánh giá toàn diện nhận thức và chỉ số IQ cho trẻ em (6-16 tuổi)
(function() { const host = document.getElementById('wisc5-wp-host'); if (!host) return; const placeholder = document.createComment('wisc5-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // Cấu hình 5 Chỉ số Chính (Primary Index Scales) của WISC-V const indexConfigs = { vci: { code: 'vci', short: 'VCI', name: '1. Hiểu Lời nói (Verbal Comprehension - VCI)', color: '#2563eb' }, vsi: { code: 'vsi', short: 'VSI', name: '2. Không gian Thị giác (Visual Spatial - VSI)', color: '#0d9488' }, fri: { code: 'fri', short: 'FRI', name: '3. Tư duy Lưu loát / Logic (Fluid Reasoning - FRI)', color: '#7c3aed' }, wmi: { code: 'wmi', short: 'WMI', name: '4. Trí nhớ Làm việc (Working Memory - WMI)', color: '#f59e0b' }, psi: { code: 'psi', short: 'PSI', name: '5. Tốc độ Xử lý (Processing Speed - PSI)', color: '#dc2626' } }; // Đầy đủ 10 Tiểu trắc nghiệm Chính (Primary Subtests) của WISC-V // inFSIQ: true đối với 7 tiểu trắc nghiệm dùng để tính FSIQ // inGAI: true đối với 5 tiểu trắc nghiệm dùng để tính GAI (General Ability Index) // inCPI: true đối với 4 tiểu trắc nghiệm dùng để tính CPI (Cognitive Proficiency Index) // inNVI: true đối với 6 tiểu trắc nghiệm dùng để tính NVI (Nonverbal Index) const subtests = [ { id: 'SI', idx: 'vci', inFSIQ: true, inGAI: true, inCPI: false, inNVI: false, name: '1. Tương đồng (Similarities - SI) ★ [Thuộc FSIQ & GAI]', desc: 'Trẻ được nghe 2 từ chỉ các đồ vật hoặc khái niệm thông thường và phải giải thích xem chúng giống nhau ở điểm bản chất nào (VD: "Đỏ và Xanh giống nhau thế nào?", "Tức giận và Vui vẻ giống nhau thế nào?").', measure: 'Đo lường tư duy hình thành khái niệm bằng lời và khả năng suy luận trừu tượng ngôn ngữ.' }, { id: 'VC', idx: 'vci', inFSIQ: true, inGAI: true, inCPI: false, inNVI: false, name: '2. Từ vựng (Vocabulary - VC) ★ [Thuộc FSIQ & GAI]', desc: 'Trẻ gọi tên các bức tranh (ở mục đầu) và định nghĩa ý nghĩa của các từ vựng có độ trừu tượng tăng dần do người khám đọc to.', measure: 'Đo lường vốn từ vựng tích lũy, trí nhớ dài hạn về ngôn ngữ và mức độ phát triển biểu đạt lời nói.' }, { id: 'BD', idx: 'vsi', inFSIQ: true, inGAI: true, inCPI: false, inNVI: true, name: '3. Xếp khối Kohs (Block Design - BD) ★ [Thuộc FSIQ, GAI & NVI]', desc: 'Trong thời gian giới hạn, trẻ quan sát mô hình mẫu (hoặc tranh 2D) và dùng các khối lập phương hai màu Đỏ - Trắng để xếp lại đúng hình mẫu đó.', measure: 'Đo lường khả năng phân tích – tổng hợp thị giác không gian và phối hợp thị giác – vận động (Thường là thế mạnh nổi bật ở trẻ Tự kỷ - ASD).' }, { id: 'VP', idx: 'vsi', inFSIQ: false, inGAI: false, inCPI: false, inNVI: true, name: '4. Ghép hình Thị giác (Visual Puzzles - VP) [Thuộc VSI & NVI]', desc: 'Trẻ nhìn một hình hoàn chỉnh và phải chọn ra đúng 3 mảnh ghép rời từ 6 lựa chọn để khi xoay/ghép lại trong đầu sẽ tạo thành hình mẫu (không dùng tay chạm).', measure: 'Đo lường khả năng xoay hình trong tâm trí và tư duy không gian thị giác thuần túy không phụ thuộc vận động tay.' }, { id: 'MR', idx: 'fri', inFSIQ: true, inGAI: true, inCPI: false, inNVI: true, name: '5. Ma trận Suy luận (Matrix Reasoning - MR) ★ [Thuộc FSIQ, GAI & NVI]', desc: 'Trẻ xem một ma trận hình ảnh hoặc chuỗi hình bị khuyết một ô và chọn mảnh ghép đúng quy luật logic từ các phương án bên dưới.', measure: 'Đo lường trí thông minh lưu loát (Fluid Intelligence), suy luận quy nạp hình ảnh phi ngôn ngữ.' }, { id: 'FW', idx: 'fri', inFSIQ: true, inGAI: true, inCPI: false, inNVI: true, name: '6. Cân Trọng lượng (Figure Weights - FW) ★ [Thuộc FSIQ, GAI & NVI]', desc: 'Trẻ quan sát các chiếc cân thăng bằng có đặt các hình khối/vật thể và chọn đáp án đúng để giúp chiếc cân còn trống giữ được trạng thái cân bằng.', measure: 'Đo lường tư duy suy luận định lượng, logic đại số sơ cấp và suy diễn tương quan.' }, { id: 'DS', idx: 'wmi', inFSIQ: true, inGAI: false, inCPI: true, inNVI: false, name: '7. Nhớ Dãy số (Digit Span - DS) ★ [Thuộc FSIQ & CPI]', desc: 'Gồm 3 phần: Nhắc lại dãy số Xuôi (Forward), Nhắc lại dãy số Ngược từ cuối lên đầu (Backward) và Sắp xếp lại dãy số theo thứ tự từ nhỏ đến lớn (Sequencing).', measure: 'Đo lường trí nhớ làm việc thính giác, khả năng tập trung chú ý và thao tác tinh thần trên con số.' }, { id: 'PS', idx: 'wmi', inFSIQ: false, inGAI: false, inCPI: true, inNVI: true, name: '8. Nhớ Chuỗi tranh (Picture Span - PS) [Thuộc WMI, CPI & NVI]', desc: 'Trẻ nhìn một trang có một hoặc nhiều bức tranh trong vài giây, sau đó lật sang trang sau và phải chỉ lại đúng các bức tranh đó theo đúng thứ tự đã xuất hiện.', measure: 'Đo lường dung lượng trí nhớ làm việc thị giác và kiểm soát sự chú ý hình ảnh.' }, { id: 'CD', idx: 'psi', inFSIQ: true, inGAI: false, inCPI: true, inNVI: true, name: '9. Mã hóa (Coding - CD) ★ [Thuộc FSIQ, CPI & NVI]', desc: 'Trong vòng 120 giây, trẻ dùng bút chì chép lại thật nhanh các ký hiệu hình học tương ứng với từng con số (hoặc hình mẫu) theo bảng khóa cho sẵn.', measure: 'Đo lường tốc độ xử lý thông tin thị giác – vận động, sự linh hoạt viết vẽ và duy trì chú ý.' }, { id: 'SS', idx: 'psi', inFSIQ: false, inGAI: false, inCPI: true, inNVI: false, name: '10. Tìm Biểu tượng (Symbol Search - SS) [Thuộc PSI & CPI]', desc: 'Trong vòng 120 giây, trẻ quét mắt thật nhanh qua từng hàng biểu tượng để gạch chọn xem biểu tượng mục tiêu bên trái có xuất hiện trong nhóm bên phải hay không.', measure: 'Đo lường tốc độ quét phân biệt thị giác và ra quyết định nhận thức nhanh.' } ]; // scaledScores[id] lưu Điểm chuẩn Tiểu trắc nghiệm từ 1 đến 19 (Trung bình dân số = 10, SD = 3) let scaledScores = {}; let filterIdx = 'all'; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .w5-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .w5-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .w5-inner { padding: 24px; max-width: 980px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .w5-wrap.is-fullscreen .w5-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .w5-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 0 rgba(37, 99, 235, 0.4); } 70% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 10px rgba(37, 99, 235, 0); } 100% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 0 rgba(37, 99, 235, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #1e3a8a 0%, #2563eb 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Header */ .w5-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .w5-header-text { flex: 1 1 260px; } .w5-title { font-size: 21px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .w5-desc { font-size: 14px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #eff6ff; color: #1d4ed8; border: 1px solid #bfdbfe; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #2563eb; color: #ffffff; border-color: #2563eb; } /* Controls */ .w5-presets { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; margin-bottom: 14px; } .w5-lbl { font-size: 12px; font-weight: 800; color: #0f172a; text-transform: uppercase; margin-right: 4px; } .w5-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; touch-action: manipulation; } .w5-pbtn:hover { background: #f1f5f9; } .w5-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } .w5-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 16px; } .w5-tab { padding: 6px 12px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .w5-tab.active { background: #2563eb; color: #ffffff; border-color: #2563eb; } /* Sticky Dashboard */ .w5-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .w5-wrap.is-fullscreen .w5-dash { top: 58px; } .w5-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .w5-score-big { font-size: 21px; font-weight: 800; line-height: 1.2; } .w5-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .w5-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .w5-pillars { display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; font-size: 11.5px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .w5-pillar-box { background: #1e293b; padding: 7px 9px; border-radius: 8px; border-left: 3px solid #475569; } .w5-pillar-box.high { border-left-color: #3b82f6; background: rgba(59, 130, 246, 0.15); } .w5-pillar-box.avg { border-left-color: #10b981; } .w5-pillar-box.low { border-left-color: #f59e0b; background: rgba(245, 158, 11, 0.14); } .w5-pillar-box.imp { border-left-color: #ef4444; background: rgba(239, 68, 68, 0.16); } .w5-pillar-val { font-weight: 800; color: #ffffff; font-size: 13.5px; display: block; margin-top: 2px; } /* Danh sách 10 Tiểu trắc nghiệm */ .w5-item { border: 1px solid #e2e8f0; border-radius: 12px; padding: 15px 16px; margin-bottom: 12px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 8px; } .w5-item.ss-high { border-color: #93c5fd; background: #eff6ff; } .w5-item.ss-avg { border-color: #a7f3d0; background: #f0fdf4; } .w5-item.ss-low { border-color: #fde68a; background: #fffbeb; } .w5-item.ss-imp { border-color: #fca5a5; background: #fff5f5; } .w5-item-title { font-size: 15px; font-weight: 800; color: #0f172a; } .w5-item-desc { font-size: 13.5px; color: #334155; } .w5-item-meas { font-size: 12.5px; color: #475569; background: rgba(15, 23, 42, 0.03); padding: 6px 10px; border-radius: 6px; border-left: 3px solid #94a3b8; } .w5-tags { display: flex; flex-wrap: wrap; gap: 6px; } .w5-tag { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } /* 7 mốc chọn nhanh Scaled Score (1 -> 19, Mean = 10, SD = 3) */ .w5-scale-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 6px; margin-top: 4px; } .w5-sbtn { padding: 8px 4px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .w5-sbtn:hover { border-color: #64748b; } .w5-sbtn-num { font-size: 13px; font-weight: 800; display: block; color: #0f172a; } .w5-sbtn-lbl { font-size: 10.5px; color: #64748b; display: block; margin-top: 1px; } .w5-sbtn.sel-imp { background: #ef4444; border-color: #ef4444; } .w5-sbtn.sel-low { background: #f59e0b; border-color: #f59e0b; } .w5-sbtn.sel-avg { background: #10b981; border-color: #10b981; } .w5-sbtn.sel-high { background: #2563eb; border-color: #2563eb; } .w5-sbtn.sel-imp .w5-sbtn-num, .w5-sbtn.sel-imp .w5-sbtn-lbl, .w5-sbtn.sel-low .w5-sbtn-num, .w5-sbtn.sel-low .w5-sbtn-lbl, .w5-sbtn.sel-avg .w5-sbtn-num, .w5-sbtn.sel-avg .w5-sbtn-lbl, .w5-sbtn.sel-high .w5-sbtn-num, .w5-sbtn.sel-high .w5-sbtn-lbl { color: #ffffff; } /* Bảng tổng hợp 5 Chỉ số chính + FSIQ + 3 Chỉ số phụ (GAI, CPI, NVI) */ .w5-table-card { margin-top: 20px; padding: 16px 18px; border-radius: 12px; background: #ffffff; border: 1px solid #e2e8f0; overflow-x: auto; } .w5-table { width: 100%; border-collapse: collapse; font-size: 13px; min-width: 640px; } .w5-table th, .w5-table td { border: 1px solid #cbd5e1; padding: 8px 10px; text-align: center; } .w5-table th { background: #f1f5f9; font-weight: 800; color: #0f172a; } .w5-result-box { margin-top: 16px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #2563eb; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 760px) { .w5-inner { padding: 14px; } .w5-title { font-size: 18px; } .w5-pillars { grid-template-columns: 1fr 1fr; } .w5-scale-grid { grid-template-columns: repeat(4, 1fr); } .w5-pbtn.reset { margin-left: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
Thang Đo Trí Tuệ Wechsler Dành Cho Trẻ Em WISC-V (6 Tuổi – 16 Tuổi 11 Tháng • 10 Tiểu Trắc Nghiệm)
Công cụ tiêu chuẩn vàng đánh giá năng lực nhận thức trẻ em theo mô hình CHC qua 5 Chỉ số Chính: Hiểu Lời nói (VCI), Không gian Thị giác (VSI), Tư duy Lưu loát (FRI), Trí nhớ Làm việc (WMI), Tốc độ Xử lý (PSI), cùng IQ Toàn thang (FSIQ) và 3 Chỉ số Phụ Lâm sàng (GAI, CPI, NVI).
| Thang Chỉ số WISC-V (Index Scale) | Các Tiểu trắc nghiệm cấu thành | Tổng Scaled Scores | Điểm Chuẩn (Composite: 40–160) | Bách phân vị (Percentile) | Phân loại Chuẩn Wechsler |
|---|
')} `; updateFloatingFabVisibility(); } function applyPreset(type) { scaledScores = {}; subtests.forEach(st => { scaledScores[st.id] = 10; }); if (type === 'reset') { renderItems(); updateSummary(); return; } if (type === 'asd_profile') { // Kiểu hình ASD điển hình: Xếp khối (BD=15) & Ma trận (MR=13) rất giỏi, nhưng Từ vựng/Tương đồng (SI=7, VC=7) và Tốc độ xử lý (CD=5, SS=7) thấp scaledScores = { SI: 7, VC: 7, BD: 15, VP: 13, MR: 13, FW: 13, DS: 10, PS: 10, CD: 5, SS: 7 }; } else if (type === 'adhd_profile') { // Kiểu hình ADHD: VCI, VSI, FRI tốt (SS=13), nhưng Trí nhớ làm việc (DS=7, PS=7) và Tốc độ xử lý (CD=5, SS=7) tụt sâu -> GAI ~116, CPI ~81 scaledScores = { SI: 13, VC: 13, BD: 13, VP: 13, MR: 13, FW: 13, DS: 7, PS: 7, CD: 5, SS: 7 }; } else if (type === 'idd_profile') { // Khuyết tật trí tuệ (IDD): Tất cả các tiểu trắc nghiệm đều ở mức SS = 3 - 5 -> FSIQ ~63 ( FSIQ >= 130 scaledScores = { SI: 17, VC: 17, BD: 15, VP: 15, MR: 17, FW: 15, DS: 15, PS: 15, CD: 13, SS: 13 }; } renderItems(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); w5Wrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { w5Wrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 980px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } shadow.querySelectorAll('.w5-pbtn').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-preset')); }; }); shadow.querySelectorAll('#idxTabs .w5-tab').forEach(function(tab) { tab.onclick = function() { filterIdx = this.getAttribute('data-idx'); shadow.querySelectorAll('#idxTabs .w5-tab').forEach(t => t.classList.remove('active')); this.classList.add('active'); renderItems(); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); applyPreset('asd_profile'); })();
WISC-V (Wechsler Intelligence Scale for Children, Fifth Edition — Thang đo Trí tuệ Wechsler dành cho Trẻ em, Phiên bản 5) là “Tiêu chuẩn vàng” (Gold Standard) uy tín nhất thế giới hiện nay để đánh giá toàn diện năng lực nhận thức và chỉ số thông minh (IQ) cho trẻ em và thanh thiếu niên từ 6 tuổi 0 tháng đến 16 tuổi 11 tháng. Công cụ được phát triển dựa trên di sản của Tiến sĩ David Wechsler và được Pearson xuất bản năm 2014.
Trong đánh giá các rối loạn phát triển thần kinh (như Rối loạn phổ tự kỷ – ASD, Tăng động giảm chú ý – ADHD,Khuyết tật học tập đặc hiệu – SLD, và Rối loạn phát triển trí tuệ – IDD), WISC-V không chỉ dừng lại ở một con số IQ tổng quát. Giá trị lâm sàng đắt giá nhất của WISC-V là việc lập Biểu đồ Hồ sơ Nhận thức (Cognitive Profile) qua 5 chỉ số chính và 5 chỉ số phụ để phát hiện Sự phân tách / Độ lệch nội tại (Scatter / Discrepancy) giữa tư duy cốt lõi và hiệu suất xử lý thông tin.
1. Điểm đột phá của WISC-V so với bản WISC-IV cũ
Ở phiên bản WISC-IV trước đây, hệ thống chỉ có 4 Chỉ số chính (Hiểu lời nói – VCI, Tư duy tri giác – PRI, Trí nhớ làm việc – WMI, Tốc độ xử lý – PSI). Sang bản WISC-V, chỉ số Tư duy tri giác (PRI) đã được tách thành 2 chỉ số độc lập là Không gian Thị giác (VSI) và Tư duy Lưu loát / Suy luận Лоgic (FRI), nâng tổng số lên 5 Chỉ số Chính (Primary Index Scales) theo đúng lý thuyết cấu trúc trí tuệ hiện đại CHC (Cattell-Horn-Carroll):
[Đo lường IQ] Raven & Leiter-3: Bộ trắc nghiệm đo chỉ số thông minh (IQ) phi ngôn ngữ cho trẻ chậm nói, tự kỷ
(function() { const host = document.getElementById('nviq-wp-host'); if (!host) return; const placeholder = document.createComment('nviq-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // ========================================================= // 1. DỮ LIỆU RAVEN CPM (COLOURED PROGRESSIVE MATRICES • 36 MỤC: BỘ A, Ab, B) // ========================================================= const cpmSets = [ { id: 'CPM_A', code: 'Bộ A', max: 12, color: '#2563eb', title: 'Bộ A (12 mục: A1 → A12) — Hoàn thiện Mẫu hình Liên tục (Continuous Patterns)', desc: 'Đánh giá khả năng tri giác thị giác cơ bản: nhận diện sự đồng nhất về màu sắc, đường kẻ, mật độ chấm và hoàn thiện phần bị khuyết của một bức nền liên tục.', skills: 'A1–A6: Ghép nền đơn sắc & đường kẻ thẳng/ngang | A7–A10: Giao điểm đường kẻ & mật độ hoa văn | A11–A12: Hoa văn chéo phức hợp hai chiều.' }, { id: 'CPM_Ab', code: 'Bộ Ab', max: 12, color: '#0d9488', title: 'Bộ Ab (12 mục: Ab1 → Ab12) — Nhận thức Cấu trúc Rời rạc thành Tổng thể (Discrete Figures as Spatial Wholes)', desc: 'Trẻ quan sát 3 góc của một hình đối xứng (gồm 4 phần tư) và phải chọn mảnh ghép thứ 4 có hướng xoay và góc đối xứng khớp với 3 phần còn lại.', skills: 'Ab1–Ab5: Đối xứng gương đơn giản của hình tròn/vuông | Ab6–Ab9: Xoay góc 90 độ của hình khuyết và mũi tên | Ab10–Ab12: Đảo chiều không gian và đóng khung hình học.' }, { id: 'CPM_B', code: 'Bộ B', max: 12, color: '#7c3aed', title: 'Bộ B (12 mục: B1 → B12) — Suy luận Tương tự Hình học (Analogical Reasoning)', desc: 'Đo lường bước chuyển sang tư duy logic trừu tượng (Cặp hình trên biến đổi thế nào thì cặp hình dưới biến đổi tương tự theo đúng quy luật đó).', skills: 'B1–B4: Đồng nhất hình học cơ bản | B5–B8: Quy luật đối xứng lật hình & đổi màu nền | B9–B12: Phép suy luận tương tự 2 biến số (vừa đổi hình dạng vừa đổi tô đậm/rỗng).' } ]; // ========================================================= // 2. DỮ LIỆU RAVEN SPM (STANDARD PROGRESSIVE MATRICES • 60 MỤC: BỘ A, B, C, D, E) // ========================================================= const spmSets = [ { id: 'SPM_A', code: 'Bộ A', max: 12, color: '#0284c7', title: 'Bộ A (12 mục: A1 → A12) — Tri giác Hoàn thiện Khuôn mẫu Liên tục', desc: 'Kiểm tra khả năng phân biệt thị giác nền tảng, nối tiếp các đường lưới thẳng, chéo và hoa văn liên tục.', skills: 'Cấp độ 1: Tri giác đồng nhất và liên tục thị giác không gian.' }, { id: 'SPM_B', code: 'Bộ B', max: 12, color: '#2563eb', title: 'Bộ B (12 mục: B1 → B12) — Tư duy Tương tự trên Ma trận 2×2 (Analogical Changes)', desc: 'Phát hiện mối quan hệ đối xứng trục dọc/ngang, phép xoay hình và phép biến đổi tương tự giữa các cặp hình.', skills: 'Cấp độ 2: Suy luận tương tự (A : B :: C : ?) trên ma trận 2×2.' }, { id: 'SPM_C', code: 'Bộ C', max: 12, color: '#0d9488', title: 'Bộ C (12 mục: C1 → C12) — Biến đổi Tịnh tiến và Tăng dần trên Ma trận 3×3 (Progressive Alterations)', desc: 'Khắc họa quy luật thay đổi liên tục theo cả hàng ngang và cột dọc trên lưới 9 ô (3×3): tăng giảm kích thước, thêm bớt chi tiết hoặc dịch chuyển vị trí.', skills: 'Cấp độ 3: Theo dõi đồng thời 2 chiều biến thiên (hàng ngang + cột dọc).' }, { id: 'SPM_D', code: 'Bộ D', max: 12, color: '#7c3aed', title: 'Bộ D (12 mục: D1 → D12) — Quy luật Hoán vị và Tổ hợp Hình học trên Ma trận 3×3 (Permutations)', desc: 'Đòi hỏi tìm ra quy luật phân phối hoán vị của 3 nhóm hình dạng, 3 kiểu nét vẽ và 3 hướng xoay sao cho mỗi hàng và mỗi cột đều hội đủ 3 thuộc tính.', skills: 'Cấp độ 4: Suy luận tổ hợp đa biến (Latin Square Logic).' }, { id: 'SPM_E', code: 'Bộ E', max: 12, color: '#dc2626', title: 'Bộ E (12 mục: E1 → E12) — Phép Cộng, Trừ và Giao/Hợp Trừu tượng Hình học (Abstract Algebraic Operations)', desc: 'Cấp độ tư duy trừu tượng cao nhất của Raven: thực hiện phép cộng hình, trừ phần giao nhau (XOR) hoặc lấy phần chung (AND) giữa Ô 1 và Ô 2 để ra Ô 3.', skills: 'Cấp độ 5: Phân tích và tổng hợp đại số hình ảnh thuần túy (Fluid Intelligence đỉnh cao).' } ]; // ========================================================= // 3. DỮ LIỆU LEITER-3 (8 TIỂU TRẮC NGHIỆM: 4 COGNITIVE BATTERY + 4 ATTENTION/MEMORY BATTERY) // Chấm trên thang Scaled Score từ 1 đến 19 (Trung bình = 10, SD = 3) // ========================================================= const leiterSubtests = [ // BỘ PIN NHẬN THỨC (COGNITIVE BATTERY -> TÍNH NONVERBAL IQ) { id: 'FG', battery: 'cog', color: '#2563eb', name: '1. Hình – Nền (Figure Ground - FG) ★ [Thuộc Nonverbal IQ]', desc: 'Trẻ cầm các thẻ nhỏ có vẽ một đồ vật/hình học và phải chỉ ra xem đồ vật đó đang ẩn giấu ở vị trí nào bên trong một bức tranh lớn phức tạp có nhiều chi tiết đan xen.', measure: 'Đo lường khả năng lọc nhiễu thị giác, nhận diện hình chính tách khỏi nền rối và sự linh hoạt tri giác.' }, { id: 'FC', battery: 'cog', color: '#0284c7', name: '2. Hoàn thiện Hình dạng (Form Completion - FC) ★ [Thuộc Nonverbal IQ]', desc: 'Trẻ nhìn các mảnh rời rạc bị cắt vụn của một đồ vật/hình khối và phải hình dung trong đầu xem khi ghép chúng lại sẽ tạo thành hình hoàn chỉnh nào trên khung giá đỡ.', measure: 'Đo lường khả năng tổng hợp toàn thể từ các bộ phận rời rạc (Gestalt Visual Closure).' }, { id: 'CA', battery: 'cog', color: '#7c3aed', name: '3. Phân loại & Tương tự (Classification and Analogies - CA) ★ [Thuộc Nonverbal IQ]', desc: 'Trẻ dùng các khối mút/thẻ hình để phân loại theo thuộc tính ở các câu đầu, và giải các bài toán ma trận tương tự hình học ở các câu nâng cao.', measure: 'Đo lường tư duy hình thành khái niệm và suy luận quy nạp phi ngôn ngữ.' }, { id: 'SO', battery: 'cog', color: '#9333ea', name: '4. Trật tự Chuỗi nối tiếp (Sequential Order - SO) ★ [Thuộc Nonverbal IQ]', desc: 'Trẻ quan sát một chuỗi các khối hình sắp xếp theo quy luật tăng tiến hoặc lặp lại trên khung Easel và chọn đúng khối mút còn thiếu đặt vào khe trống.', measure: 'Đo lường khả năng phát hiện quy luật chuỗi logic và suy luận tuần tự.' }, // BỘ PIN CHÚ Ý & TRÍ NHỚ (ATTENTION & MEMORY BATTERY -> TÍNH NONVERBAL MEMORY & PROCESSING SPEED) { id: 'FM', battery: 'mem', color: '#0d9488', name: '5. Trí nhớ Xuôi (Forward Memory - FM) [Thuộc Nonverbal Memory]', desc: 'Người khám chỉ tay lần lượt vào một chuỗi các bức tranh theo thứ tự, sau đó trẻ phải chỉ tay lặp lại đúng các bức tranh đó theo đúng thứ tự vừa nhìn thấy.', measure: 'Đo lường dung lượng ghi nhớ thị giác ngắn hạn.' }, { id: 'RM', battery: 'mem', color: '#10b981', name: '6. Trí nhớ Ngược (Reverse Memory - RM) [Thuộc Nonverbal Memory]', desc: 'Người khám chỉ tay vào một chuỗi các bức tranh, và trẻ phải chỉ lại theo thứ tự ĐẢO NGƯỢC từ hình cuối cùng về hình đầu tiên.', measure: 'Đo lường trí nhớ làm việc phi ngôn ngữ (Nonverbal Working Memory) và khả năng kiểm soát điều hành.' }, { id: 'AS', battery: 'spd', color: '#f59e0b', name: '7. Duy trì Chú ý (Attention Sustained - AS) [Thuộc Processing Speed]', desc: 'Trong thời gian quy định (30–60 giây), trẻ dùng bút gạch tìm tất cả các hình mục tiêu nằm lẫn trong một trang giấy dày đặc các hình gây nhiễu.', measure: 'Đo lường tốc độ quét thị giác, sự tập trung bền bỉ và khả năng ức chế xung động.' }, { id: 'AD', battery: 'spd', color: '#dc2626', name: '8. Phân chia Chú ý / Stroop Phi ngôn ngữ (Attention Divided / Nonverbal Stroop - AD)', desc: 'Trẻ phải vừa phân loại thẻ hình vừa chuyển đổi quy tắc chú ý linh hoạt dưới áp lực thời gian.', measure: 'Đo lường tính linh hoạt nhận thức (Cognitive Flexibility) và tốc độ xử lý điều hành.' } ]; let activeTool = 'cpm'; // 'cpm' (Raven CPM 36) | 'spm' (Raven SPM 60) | 'leiter3' (Leiter-3) let childAgeYears = 8; // Tuổi đối chiếu chuẩn let cpmScores = { CPM_A: 10, CPM_Ab: 9, CPM_B: 8 }; let spmScores = { SPM_A: 11, SPM_B: 10, SPM_C: 9, SPM_D: 8, SPM_E: 5 }; let leiterSS = { FG: 13, FC: 13, CA: 12, SO: 12, FM: 10, RM: 9, AS: 8, AD: 8 }; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .nv-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .nv-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .nv-inner { padding: 24px; max-width: 980px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .nv-wrap.is-fullscreen .nv-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .nv-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(13, 148, 136, 0.45), 0 0 0 0 rgba(13, 148, 136, 0.4); } 70% { box-shadow: 0 6px 20px rgba(13, 148, 136, 0.45), 0 0 0 10px rgba(13, 148, 136, 0); } 100% { box-shadow: 0 6px 20px rgba(13, 148, 136, 0.45), 0 0 0 0 rgba(13, 148, 136, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #0f766e 0%, #0d9488 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(13, 148, 136, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Bộ chuyển đổi 3 Công cụ IQ Phi ngôn ngữ */ .tool-switcher { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; background: #f1f5f9; padding: 8px; border-radius: 12px; margin-bottom: 18px; } .tool-btn { padding: 10px 12px; border-radius: 9px; border: 1.5px solid transparent; background: rgba(255, 255, 255, 0.65); cursor: pointer; text-align: left; transition: all 0.2s ease; touch-action: manipulation; } .tool-btn:hover { background: #ffffff; } .tool-btn.active { background: #ffffff; border-color: #0d9488; box-shadow: 0 3px 10px rgba(15, 23, 42, 0.08); } .tool-btn-title { font-size: 13.8px; font-weight: 800; color: #0f172a; display: block; } .tool-btn.active .tool-btn-title { color: #0f766e; } .tool-btn-sub { font-size: 11.5px; color: #64748b; margin-top: 2px; display: block; } /* Header */ .nv-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .nv-header-text { flex: 1 1 260px; } .nv-title { font-size: 20px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .nv-desc { font-size: 13.8px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #f0fdfa; color: #0f766e; border: 1px solid #99f6e4; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #0d9488; color: #ffffff; border-color: #0d9488; } /* Top Controls */ .nv-top-panel { display: grid; grid-template-columns: 1fr 1.5fr; gap: 12px; background: #f8fafc; border: 1px solid #cbd5e1; border-radius: 12px; padding: 14px; margin-bottom: 16px; } .nv-lbl { font-size: 12px; font-weight: 800; color: #0f172a; text-transform: uppercase; display: block; margin-bottom: 6px; } .nv-select { width: 100%; padding: 8px 10px; border: 1px solid #0d9488; border-radius: 7px; font-size: 13.5px; font-weight: 700; color: #0f172a; background: #ffffff; } .nv-presets { display: flex; flex-wrap: wrap; gap: 6px; } .nv-pbtn { padding: 7px 10px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 600; color: #334155; cursor: pointer; flex: 1 1 auto; text-align: center; touch-action: manipulation; } .nv-pbtn:hover { background: #f1f5f9; } .nv-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; } /* Sticky Dashboard */ .nv-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .nv-wrap.is-fullscreen .nv-dash { top: 58px; } .nv-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .nv-score-big { font-size: 21px; font-weight: 800; line-height: 1.2; } .nv-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .nv-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .nv-pillars { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; font-size: 12px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .nv-pillar-box { background: #1e293b; padding: 8px 10px; border-radius: 8px; border-left: 3px solid #0d9488; } .nv-pillar-val { font-weight: 800; color: #ffffff; font-size: 13.5px; display: block; margin-top: 2px; } /* Danh sách các Bộ / Tiểu trắc nghiệm */ .nv-item { border: 1px solid #e2e8f0; border-radius: 12px; padding: 15px 16px; margin-bottom: 12px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 8px; } .nv-item-title { font-size: 15px; font-weight: 800; color: #0f172a; } .nv-item-desc { font-size: 13.5px; color: #334155; } .nv-item-sub { font-size: 12.5px; color: #475569; background: #f8fafc; padding: 6px 10px; border-radius: 6px; border-left: 3px solid #cbd5e1; } .nv-tags { display: flex; flex-wrap: wrap; gap: 6px; } .nv-tag { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .nv-btn-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 6px; margin-top: 4px; } .nv-sbtn { padding: 8px 4px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 700; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .nv-sbtn:hover { border-color: #64748b; } .nv-sbtn.sel-low { background: #ef4444; border-color: #ef4444; color: #ffffff; } .nv-sbtn.sel-mid { background: #f59e0b; border-color: #f59e0b; color: #ffffff; } .nv-sbtn.sel-good { background: #10b981; border-color: #10b981; color: #ffffff; } .nv-sbtn.sel-top { background: #2563eb; border-color: #2563eb; color: #ffffff; } /* Bảng phân bậc Raven (Grade I -> V) & Leiter-3 */ .nv-table-card { margin-top: 20px; padding: 16px 18px; border-radius: 12px; background: #ffffff; border: 1px solid #e2e8f0; overflow-x: auto; } .nv-table { width: 100%; border-collapse: collapse; font-size: 13px; min-width: 640px; } .nv-table th, .nv-table td { border: 1px solid #cbd5e1; padding: 9px 12px; text-align: left; } .nv-table th { background: #f1f5f9; font-weight: 800; color: #0f172a; } .nv-table tr.active-row { background: #f0fdfa; border: 2px solid #0d9488; } .nv-result-box { margin-top: 16px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #0d9488; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 760px) { .nv-inner { padding: 14px; } .tool-switcher { grid-template-columns: 1fr; } .nv-title { font-size: 18px; } .nv-top-panel { grid-template-columns: 1fr; } .nv-pillars { grid-template-columns: 1fr 1fr; } .nv-btn-grid { grid-template-columns: repeat(4, 1fr); } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
| Phân bậc Raven (Grade) | Bách phân vị (Percentile) | IQ Phi ngôn ngữ (Mean=100, SD=15) | Định danh Năng lực Trí tuệ Phi ngôn ngữ (John C. Raven & Leiter-3) |
|---|---|---|---|
| Bậc I (Grade I) | ≥ 95% | ≥ 125 điểm | Trí tuệ Vượt trội (Intellectually Superior): Tư duy suy luận quy nạp và không gian thị giác xuất sắc (thuộc nhóm 5% cao nhất cùng độ tuổi). |
| Bậc II (Grade II) | 75% – 94% (II+: ≥90%) |
110 – 124 điểm | Trên mức Trung bình (Definitely Above Average): Năng lực giải quyết vấn đề phi ngôn ngữ tốt hơn đa số trẻ cùng tuổi (Thường gặp ở trẻ Tự kỷ có thế mạnh thị giác). |
| Bậc III (Grade III) | 25% – 74% (III+: >50% | III-: <50%) |
90 – 109 điểm | Trí tuệ Trung bình (Intellectually Average): Năng lực tư duy phi ngôn ngữ phát triển bình thường theo đúng độ tuổi. |
| Bậc IV (Grade IV) | 6% – 24% (IV-: ≤10%) |
70 – 89 điểm | Dưới mức Trung bình / Ranh giới (Definitely Below Average): Cần hỗ trợ trực quan hóa và chia nhỏ bước khi học các khái niệm trừu tượng. |
| Bậc V (Grade V) | ≤ 5% | < 70 điểm (-2 SD) | Suy giảm Nhận thức Rõ rệt (Intellectual Impairment): Suy giảm cả tư duy phi ngôn ngữ (Nếu kèm suy giảm hành vi thích ứng trên Vineland-3 sẽ xác nhận Khuyết tật trí tuệ - IDD). |
1. Trắc Nghiệm Khuôn Hình Tiếp Diễn Raven Bản Màu — Raven’s CPM (36 Mục • Bộ A, Ab, B)
Thiết kế chuyên biệt cho trẻ em từ 5 đến 11 tuổi và trẻ chậm nói / rối loạn giao tiếp. Trẻ chỉ tay chọn mảnh ghép đúng trong 36 ma trận màu (Mỗi bộ A, Ab, B tối đa 12 điểm). Hệ thống tự động kiểm tra Độ lệch nhất quán (Consistency Discrepancy) và quy đổi ra Bậc trí tuệ Raven (Grade I – V).
`; } else if (activeTool === 'spm') { headerInfo.innerHTML = `2. Trắc Nghiệm Khuôn Hình Tiếp Diễn Raven Bản Tiêu Chuẩn — Raven’s SPM (60 Mục • Bộ A, B, C, D, E)
Đánh giá toàn diện năng lực suy luận quy nạp và tư duy hệ thống phi ngôn ngữ cho trẻ từ 6 tuổi đến người trưởng thành qua 5 Bộ (A, B, C, D, E — mỗi bộ 12 câu, tổng 60 điểm).
`; } else { headerInfo.innerHTML = `3. Thang Đo Hiệu Suất Quốc Tế Leiter-3 — Đánh Giá IQ, Trí Nhớ & Chú Ý 100% Phi Ngôn Ngữ (3 – 75+ Tuổi)
Công cụ tiêu chuẩn vàng đánh giá nhận thức hoàn toàn không dùng lời nói cả từ phía người khám lẫn trẻ. Chấm điểm chuẩn Scaled Score (1 – 19, TB = 10) cho 4 bài Nhận thức (tính Nonverbal IQ) và 4 bài Chú ý – Trí nhớ (tính Nonverbal Memory & Processing Speed).
`; } } function renderItems() { itemList.innerHTML = ''; if (activeTool === 'cpm' || activeTool === 'spm') { const sets = (activeTool === 'cpm') ? cpmSets : spmSets; const store = (activeTool === 'cpm') ? cpmScores : spmScores; const stepChoices = [0, 2, 4, 6, 8, 10, 12]; // Điểm từng bộ trên thang 0..12 sets.forEach(function(s) { const uVal = (store[s.id] !== undefined) ? store[s.id] : 8; const btnsHtml = stepChoices.map(pt => { let cls = 'nv-sbtn'; if (uVal === pt) { if (pt >= 10) cls += ' sel-top'; else if (pt >= 7) cls += ' sel-good'; else if (pt >= 4) cls += ' sel-mid'; else cls += ' sel-low'; } return ``; }).join(''); const el = document.createElement('div'); el.className = 'nv-item'; el.innerHTML = `• Đối chiếu quy chuẩn ở ${childAgeYears} tuổi: Xếp loại ${cInfo.gradeTxt}, tương đương IQ Phi ngôn ngữ ~${nviq} điểm.
• Kiểm tra tính nhất quán nội tại (Consistency Check): ${validityTxt}. `; } else if (activeTool === 'spm') { const sA = spmScores.SPM_A, sB = spmScores.SPM_B, sC = spmScores.SPM_C, sD = spmScores.SPM_D, sE = spmScores.SPM_E; const rawTotal = sA + sB + sC + sD + sE; // Max 60 const expectedMeanSPM = { 5: 18, 6: 22, 7: 26, 8: 31, 9: 35, 10: 39, 12: 43, 16: 48 }; const expMean = expectedMeanSPM[childAgeYears] || 35; nviq = Math.round(100 + ((rawTotal - expMean) / 7.5) * 15); nviq = Math.max(50, Math.min(145, nviq)); const isConsistent = (sE <= sA + 1) && (sD <= sA + 2); validityTxt = isConsistent ? '✓ Hợp lệ (Đường cong điểm giảm dần hợp lý từ Bộ A → Bộ E)' : '⚠️ Cảnh báo lệch phân bố giữa các Bộ A–E'; dashPillars.innerHTML = `
• Xếp bậc năng lực trí tuệ Raven: ${cInfo.gradeTxt}, tương đương IQ Phi ngôn ngữ ~${nviq} điểm.
• Phân tích 5 cấp độ tư duy: Trẻ xử lý tốt các bài toán hoàn thiện mẫu (Bộ A: ${sA}/12) và tương tự 2×2 (Bộ B: ${sB}/12); mức độ duy trì trên ma trận 3×3 biến thiên (Bộ C: ${sC}/12), hoán vị tổ hợp (Bộ D: ${sD}/12) và đại số hình học trừu tượng (Bộ E: ${sE}/12). `; } else { // LEITER-3 const sumCogSS = leiterSS.FG + leiterSS.FC + leiterSS.CA + leiterSS.SO; // 4 bài tính Nonverbal IQ const sumMemSS = leiterSS.FM + leiterSS.RM; // 2 bài tính Nonverbal Memory const sumSpdSS = leiterSS.AS + leiterSS.AD; // 2 bài tính Processing Speed nviq = Math.max(45, Math.min(155, Math.round(100 + ((sumCogSS / 4) - 10) * 5.2))); const nvMem = Math.max(45, Math.min(155, Math.round(100 + ((sumMemSS / 2) - 10) * 5.2))); const nvSpd = Math.max(45, Math.min(155, Math.round(100 + ((sumSpdSS / 2) - 10) * 5.2))); const cInfo = classifyNVIQ(nviq); dashHeadline.textContent = `Leiter-3 Nonverbal IQ: ${nviq} • Trí Nhớ Phi Ngôn Ngữ: ${nvMem} • Tốc Độ Xử Lý: ${nvSpd}`; dashSub.textContent = `Tổng Scaled Scores 4 bài Nhận thức (FG+FC+CA+SO): ${sumCogSS} (Trung bình chuẩn = 40)`; dashPillars.innerHTML = `
• 2. Chỉ số Trí nhớ Phi ngôn ngữ (Nonverbal Memory Composite): Đạt ${nvMem} điểm (Nhớ xuôi FM = ${leiterSS.FM}, Nhớ ngược RM = ${leiterSS.RM}).
• 3. Chỉ số Chú ý & Tốc độ xử lý (Processing Speed Composite): Đạt ${nvSpd} điểm (Duy trì chú ý AS = ${leiterSS.AS}, Phân chia chú ý AD = ${leiterSS.AD}). `; } const cFinal = classifyNVIQ(nviq); if (cFinal.grade === 'G1') rowG1.className = 'active-row'; else if (cFinal.grade === 'G2') rowG2.className = 'active-row'; else if (cFinal.grade === 'G3') rowG3.className = 'active-row'; else if (cFinal.grade === 'G4') rowG4.className = 'active-row'; else rowG5.className = 'active-row'; scoreBadge.textContent = `${cFinal.gradeTxt.split('•')[0].trim()} (NVIQ: ${nviq})`; scoreBadge.style.background = cFinal.color; scoreBadge.style.color = '#ffffff'; resultBox.style.borderLeftColor = cFinal.color; resultBox.innerHTML = `
• 💡 Ý nghĩa đặc biệt trong Chẩn đoán Tự kỷ (ASD) & Phân mã ICD-11 / DSM-5-TR:
${nviq >= 85 ? '👉 Với IQ Phi ngôn ngữ đạt ' + nviq + ' điểm (≥ 85), trẻ có tiềm năng nhận thức cốt lõi hoàn toàn bình thường/tốt bất chấp việc trẻ có thể đang chậm nói nặng. Kết quả này giúp loại trừ Khuyết tật trí tuệ (IDD) (Định mã ICD-11: 6A02.0 hoặc 6A02.2) và khẳng định việc dạy học cho trẻ cần tận dụng tối đa Giáo cụ trực quan hình ảnh (Visual Supports / TEACCH / PECS).' : (nviq >= 70 ? '👉 IQ Phi ngôn ngữ nằm ở vùng Ranh giới (' + nviq + ' điểm), cần kết hợp đánh giá hành vi thích ứng Vineland-3 và hỗ trợ học tập trực quan từng bước.' : '👉 IQ Phi ngôn ngữ dưới 70 điểm (-2 SD), phản ánh sự suy giảm cả ở tư duy không lời. Cần đối chiếu thêm với Vineland-3 để xác định mức độ hỗ trợ toàn diện.')} `; updateFloatingFabVisibility(); } function applyPreset(type) { if (type === 'reset') { cpmScores = { CPM_A: 0, CPM_Ab: 0, CPM_B: 0 }; spmScores = { SPM_A: 0, SPM_B: 0, SPM_C: 0, SPM_D: 0, SPM_E: 0 }; leiterSS = { FG: 10, FC: 10, CA: 10, SO: 10, FM: 10, RM: 10, AS: 10, AD: 10 }; } else if (type === 'asd_strength') { // Thế mạnh thị giác tự kỷ (Bậc I - II: NVIQ ~118) cpmScores = { CPM_A: 12, CPM_Ab: 10, CPM_B: 8 }; // 30/36 spmScores = { SPM_A: 12, SPM_B: 10, SPM_C: 8, SPM_D: 8, SPM_E: 6 }; // 44/60 leiterSS = { FG: 14, FC: 14, CA: 12, SO: 12, FM: 10, RM: 8, AS: 8, AD: 8 }; } else if (type === 'average') { // Trung bình (Bậc III: NVIQ ~100) cpmScores = { CPM_A: 10, CPM_Ab: 8, CPM_B: 6 }; // 24/36 spmScores = { SPM_A: 10, SPM_B: 8, SPM_C: 6, SPM_D: 6, SPM_E: 2 }; // 32/60 leiterSS = { FG: 10, FC: 10, CA: 10, SO: 10, FM: 10, RM: 10, AS: 10, AD: 10 }; } else if (type === 'borderline') { // Dưới trung bình / Ranh giới (Bậc IV: NVIQ ~78) cpmScores = { CPM_A: 8, CPM_Ab: 6, CPM_B: 4 }; // 18/36 spmScores = { SPM_A: 8, SPM_B: 6, SPM_C: 4, SPM_D: 2, SPM_E: 0 }; // 20/60 leiterSS = { FG: 6, FC: 6, CA: 6, SO: 6, FM: 6, RM: 6, AS: 6, AD: 6 }; } else if (type === 'impaired') { // Suy giảm trí tuệ (Bậc V: NVIQ < 70) cpmScores = { CPM_A: 6, CPM_Ab: 4, CPM_B: 2 }; // 12/36 spmScores = { SPM_A: 6, SPM_B: 4, SPM_C: 2, SPM_D: 0, SPM_E: 0 }; // 12/60 leiterSS = { FG: 4, FC: 4, CA: 4, SO: 4, FM: 4, RM: 4, AS: 4, AD: 4 }; } renderItems(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); nvWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { nvWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 980px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } shadow.querySelectorAll('#toolSwitcher .tool-btn').forEach(function(btn) { btn.onclick = function() { activeTool = this.getAttribute('data-tool'); shadow.querySelectorAll('#toolSwitcher .tool-btn').forEach(b => b.classList.remove('active')); this.classList.add('active'); renderHeader(); renderItems(); updateSummary(); }; }); selAge.onchange = () => { updateSummary(); }; shadow.querySelectorAll('.nv-pbtn').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-preset')); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); renderHeader(); applyPreset('asd_strength'); })();
Raven (Trắc nghiệm khuôn hình tiếp diễn) hoặc Leiter-3: Các thang đo IQ phi ngôn ngữ (Non-verbal IQ). Đây là công cụ “cứu cánh” bắt buộc phải có khi đánh giá trẻ tự kỷ hoặc trẻ chậm nói nặng (vì trẻ không nói được sẽ bị điểm thấp oan nếu đo bằng các bài test IQ thông thường).
Trong thực hành lâm sàng với trẻ Rối loạn phổ tự kỷ (ASD) (đặc biệt là trẻ chậm nói, chưa có lời nói hoặc rối loạn ngôn ngữ nặng), nếu dùng các bài test IQ phụ thuộc nhiều vào lời nói, điểm số của trẻ sẽ bị kéo tụt giả tạo và dễ bị chẩn đoán nhầm thành Khuyết tật trí tuệ (IDD). Raven và Leiter-3 giải quyết triệt để rào cản này bằng cách đo lường trực tiếp Trí thông minh Lưu loát (Fluid Intelligence – Gf) và tư duy suy luận hình ảnh mà không yêu cầu trẻ phải phát âm một từ nào.
| Tiêu chí so sánh | 1. Raven’s Progressive Matrices (CPM & SPM) | 2. Leiter-3 (Leiter International Performance Scale-3) |
| Tác giả & Xuất bản | John C. Raven (1938, cập nhật Raven’s 2 bởi Pearson). | Gale H. Roid, Lucy J. Miller et al. (2013, Stoelting). |
| Độ tuổi áp dụng |
• Bản Màu (CPM): 5 – 11 tuổi (hoặc trẻ chậm phát triển/người già).
• Bản Tiêu chuẩn (SPM): 6 – 80+ tuổi. |
3 tuổi 0 tháng đến 75+ tuổi (Cực mạnh cho trẻ mầm non từ 3 tuổi). |
| Phương thức thực hiện | Trẻ nhìn ma trận hình ảnh bị khuyết 1 mảnh và chỉ tay chọn 1 trong 6 (hoặc 8) mảnh ghép bên dưới để hoàn thiện quy luật. | 100% Phi ngôn ngữ cả 2 chiều: Người khám cũng không được nói, chỉ dùng cử chỉ điệu bộ; trẻ di chuyển các khối mút/thẻ hình đặt vào các khe trên khung giá đỡ (Easel). |
| Cấu trúc các Tiểu thang |
• Raven CPM (36 mục — 3 Bộ A, Ab, B): Mỗi bộ 12 câu.
• Raven SPM (60 mục — 5 Bộ A, B, C, D, E): Mỗi bộ 12 câu tăng dần độ khó quy luật. |
Chia làm 2 Bộ pin độc lập (10 tiểu trắc nghiệm):
1. Bộ Nhận thức (Cognitive Battery — 4 bài tính Nonverbal IQ): Figure Ground (FG), Form Completion (FC), Classification/Analogies (CA), Sequential Order (SO).
2. Bộ Chú ý & Trí nhớ (Attention & Memory — 4 bài tính Nonverbal Memory & Processing Speed): Attention Sustained (AS), Attention Divided (AD), Forward Memory (FM), Reverse Memory (RM). |
| Hệ thống tính điểm |
• Tính Tổng điểm thô (CPM: 0–36đ; SPM: 0–60đ).
• Kiểm tra Độ lệch phân bố chuẩn (Discrepancy Consistency) giữa các bộ A, B, C, D, E.
• Quy đổi ra Bách phân vị (Percentile: Bậc I đến Bậc V) và IQ Phi ngôn ngữ tương đương. |
• Chấm Scaled Score (1 – 19, Mean = 10, SD = 3) cho từng tiểu trắc nghiệm.
• Quy đổi ra Nonverbal IQ (40 – 160, Mean = 100, SD = 15), Nonverbal Memory và Processing Speed. |
(Một phát hiện nổi tiếng trong y văn tự kỷ của Giáo sư Laurent Mottron năm 2007 là: Trẻ tự kỷ khi làm bài test Raventhường đạt điểm Bách phân vị cao hơn từ 30 đến 70 bậc so với khi làm bài test Wechsler có lời nói — vì tư duy ma trận thị giác chính là thế mạnh bẩm sinh của não bộ tự kỷ!)
Tài liệu Bệnh viện E: Phổ tự kỷ là gì? Chuẩn đoán và điều trị
Đây là slide được thực hiện bởi Th.s Lê Quỳnh Quyên, khoa sức khoẻ tâm thần Bệnh viện E Hà Nội. Nội dung của tài liệu rất xúc tích và dễ hiểu giúp bố mẹ trả lời câu hỏi phổ tự kỷ là gì, và sẽ có phương hướng cơ bản về hướng trị liệu.
[Lập kế hoạch IEP] PEP-3: Đánh giá phát triển tâm lý giáo dục và lập kế hoạch can thiệp cá nhân (6 tháng – 7 tuổi)
(function() { const host = document.getElementById('pep3-wp-host'); if (!host) return; const placeholder = document.createComment('pep3-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // Cấu hình 10 Tiểu thang đo PEP-3 (6 tiểu thang Phát triển Kỹ năng + 4 tiểu thang Hành vi Kém thích ứng) const subConfigs = { // 6 TIỂU THANG PHÁT TRIỂN (DEVELOPMENTAL SUBTESTS - Điểm càng cao = Tuổi phát triển càng cao) cvp: { code: 'cvp', group: 'comm', isDev: true, name: '1. Nhận thức Có lời / Tiền ngôn ngữ (CVP)', maxAge: 72, color: '#2563eb' }, el: { code: 'el', group: 'comm', isDev: true, name: '2. Ngôn ngữ Diễn đạt (EL)', maxAge: 72, color: '#3b82f6' }, rl: { code: 'rl', group: 'comm', isDev: true, name: '3. Ngôn ngữ Tiếp nhận (RL)', maxAge: 72, color: '#0284c7' }, fm: { code: 'fm', group: 'mot', isDev: true, name: '4. Vận động Tinh (FM)', maxAge: 72, color: '#0d9488' }, gm: { code: 'gm', group: 'mot', isDev: true, name: '5. Vận động Thô (GM)', maxAge: 72, color: '#10b981' }, vmi: { code: 'vmi', group: 'mot', isDev: true, name: '6. Bắt chước Vận động – Thị giác (VMI)', maxAge: 72, color: '#059669' }, // 4 TIỂU THANG HÀNH VI KÉM THÍCH ỨNG (MALADAPTIVE SUBTESTS - Điểm 2 = Phù hợp/Không bất thường, 1 = Bất thường nhẹ, 0 = Bất thường nặng) ae: { code: 'ae', group: 'mal', isDev: false, name: '7. Biểu đạt Cảm xúc (AE)', maxAge: 0, color: '#f59e0b' }, sr: { code: 'sr', group: 'mal', isDev: false, name: '8. Tương hỗ Xã hội (SR)', maxAge: 0, color: '#d97706' }, cmb: { code: 'cmb', group: 'mal', isDev: false, name: '9. Hành vi Vận động Đặc trưng (CMB)', maxAge: 0, color: '#ef4444' }, cvb: { code: 'cvb', group: 'mal', isDev: false, name: '10. Hành vi Lời nói Đặc trưng (CVB)', maxAge: 0, color: '#dc2626' } }; // 50 Nhiệm vụ & Chỉ báo đại diện cho 10 Tiểu thang đo PEP-3 (Mỗi tiểu thang 5 mục chuẩn theo bậc thang phát triển) const items = [ // 1. CVP - Nhận thức Có lời / Tiền ngôn ngữ { id: 1, sub: 'cvp', ageEquiv: '14–18m', name: 'CVP-1. Tìm đồ vật bị giấu dưới chiếc cốc (Hằng định đối tượng)', desc: 'Quan sát người khám giấu món đồ chơi dưới 1 trong 2 chiếc cốc và lật đúng cốc có đồ chơi.' }, { id: 2, sub: 'cvp', ageEquiv: '20–24m', name: 'CVP-2. Đặt đúng 3 hình khối cơ bản (Tròn, Vuông, Tam giác) vào bảng khuôn', desc: 'Tự xoay và lắp khớp 3 hình cơ bản vào đúng ô tương ứng trên bảng gỗ.' }, { id: 3, sub: 'cvp', ageEquiv: '28–36m', name: 'CVP-3. Phân loại đồ vật theo màu sắc hoặc hình dạng mà không cần làm mẫu lời nói', desc: 'Nhóm các thẻ màu hoặc khối hình cùng loại vào đúng khay phân loại.' }, { id: 4, sub: 'cvp', ageEquiv: '42–54m', name: 'CVP-4. Ghép tranh cắt rời 4 – 6 mảnh tạo thành hình hoàn chỉnh', desc: 'Quan sát tổng thể và ghép đúng các mảnh rời thành bức tranh con vật/đồ vật.' }, { id: 5, sub: 'cvp', ageEquiv: '60–72m', name: 'CVP-5. Hoàn thành chuỗi quy luật logic & Đếm tương ứng số lượng đến 10', desc: 'Đếm chính xác số lượng đồ vật và nhận biết chữ số / quy luật nối tiếp.' }, // 2. EL - Ngôn ngữ Diễn đạt { id: 6, sub: 'el', ageEquiv: '14–18m', name: 'EL-1. Chủ động dùng cử chỉ hoặc âm thanh/từ đơn để yêu cầu "Thêm nữa" hoặc "Mở giúp"', desc: 'Khi dừng thổi bong bóng hoặc đóng chặt hộp bánh, trẻ chủ động phát âm/ra hiệu xin tiếp.' }, { id: 7, sub: 'el', ageEquiv: '22–28m', name: 'EL-2. Gọi đúng tên ít nhất 5 đồ vật hoặc con vật quen thuộc trong bộ test', desc: 'Nói rõ từ đơn chỉ tên cốc, bóng, xe hơi, con chó, con mèo... khi được hỏi "Cái gì đây?".' }, { id: 8, sub: 'el', ageEquiv: '30–40m', name: 'EL-3. Sử dụng cụm từ 2 – 3 từ để mô tả hành động hoặc bày tỏ nhu cầu', desc: 'Nói được cụm từ như "Con uống nước", "Mở hộp ra", "Em bé ngủ".' }, { id: 9, sub: 'el', ageEquiv: '45–56m', name: 'EL-4. Trả lời đúng các câu hỏi "Ai?", "Làm gì?", "Ở đâu?" khi xem sách tranh', desc: 'Dùng câu hoàn chỉnh để mô tả sự việc đang diễn ra trong tranh.' }, { id: 10, sub: 'el', ageEquiv: '60–72m', name: 'EL-5. Kể lại một sự việc hoặc duy trì hội thoại ngắn đúng chủ đề với người khám', desc: 'Sử dụng đại từ nhân xưng đúng và nối tiếp câu chuyện qua lại từ 2–3 lượt.' }, // 3. RL - Ngôn ngữ Tiếp nhận { id: 11, sub: 'rl', ageEquiv: '12–16m', name: 'RL-1. Quay đầu nhìn ngay khi người khám gọi tên trẻ và dừng tay khi nghe "Dừng lại / Không"', desc: 'Định hướng tốt với tên gọi và hiểu lệnh ngăn cản cơ bản.' }, { id: 12, sub: 'rl', ageEquiv: '18–24m', name: 'RL-2. Chỉ đúng ít nhất 4 bộ phận cơ thể (Mắt, Mũi, Miệng, Tai, Đầu) trên búp bê hoặc bản thân', desc: 'Thực hiện đúng khi nghe câu hỏi "Mũi của em bé đâu?".' }, { id: 13, sub: 'rl', ageEquiv: '26–34m', name: 'RL-3. Thực hiện đúng mệnh lệnh đơn 1 bước không kèm cử chỉ chỉ tay', desc: 'Ví dụ: "Đưa cho cô quả bóng", "Đặt cái cốc lên bàn".' }, { id: 14, sub: 'rl', ageEquiv: '38–48m', name: 'RL-4. Hiểu các động từ hành động và giới từ vị trí (Trong, Trên, Dưới)', desc: 'Chỉ đúng tranh "Ai đang chạy/ăn?" và đặt đồ vật "vào trong hộp / xuống dưới bàn".' }, { id: 15, sub: 'rl', ageEquiv: '54–72m', name: 'RL-5. Thực hiện chính xác chỉ dẫn phức hợp gồm 2 – 3 bước liên tiếp', desc: 'Ví dụ: "Con lấy cây bút màu đỏ rồi đặt vào trong chiếc hộp xanh nhé".' }, // 4. FM - Vận động Tinh { id: 16, sub: 'fm', ageEquiv: '14–18m', name: 'FM-1. Nhặt hạt nhỏ/viên bánh bằng ngón cái và ngón trỏ (Pincer grasp) bỏ vào lọ', desc: 'Phối hợp tay – mắt và kẹp nhặt bằng đầu ngón cái - ngón trỏ gọn gàng.' }, { id: 17, sub: 'fm', ageEquiv: '22–28m', name: 'FM-2. Xếp chồng tháp từ 6 – 8 khối gỗ vuông mà không bị đổ', desc: 'Kiểm soát lực bàn tay để đặt thẳng hàng các khối gỗ nhỏ.' }, { id: 18, sub: 'fm', ageEquiv: '30–40m', name: 'FM-3. Xâu được ít nhất 4 hạt gỗ lớn qua dây và biết vặn mở nắp lọ', desc: 'Phối hợp hai tay đồng bộ: một tay giữ dây, một tay luồn hạt.' }, { id: 19, sub: 'fm', ageEquiv: '42–54m', name: 'FM-4. Cầm bút bằng 3 ngón tay vẽ bắt chước đường thẳng đứng, ngang và hình tròn', desc: 'Sao chép lại đúng hình cơ bản trên giấy.' }, { id: 20, sub: 'fm', ageEquiv: '56–72m', name: 'FM-5. Dùng kéo cắt giấy theo đường kẻ thẳng và tô màu gọn trong hình vẽ', desc: 'Sử dụng kéo nhịp nhàng cắt đôi tờ giấy theo vạch kẻ.' }, // 5. GM - Vận động Thô { id: 21, sub: 'gm', ageEquiv: '14–18m', name: 'GM-1. Đi độc lập vững vàng và cúi nhặt đồ chơi dưới sàn không bị ngã', desc: 'Giữ thăng bằng tốt khi di chuyển và thay đổi tư thế.' }, { id: 22, sub: 'gm', ageEquiv: '22–28m', name: 'GM-2. Đá quả bóng lớn về phía trước mà không cần vịn tay và biết nhảy chụm hai chân', desc: 'Co chân đá trúng bóng mà không mất thăng bằng.' }, { id: 23, sub: 'gm', ageEquiv: '30–40m', name: 'GM-3. Bước lên cầu thang luân phiên hai chân và bắt được bóng lớn bằng hai tay', desc: 'Phối hợp vận động toàn thân khi leo bậc thang và đón hướng bóng.' }, { id: 24, sub: 'gm', ageEquiv: '42–54m', name: 'GM-4. Đứng một chân giữ thăng bằng trong 3 – 5 giây và ném bóng trúng đích', desc: 'Kiểm soát thăng bằng tĩnh trên một chân.' }, { id: 25, sub: 'gm', ageEquiv: '56–72m', name: 'GM-5. Nhảy lò cò một chân liên tiếp 4 – 5 bước và đập bắt bóng nảy xuống sàn', desc: 'Kỹ năng vận động thô phối hợp nâng cao.' }, // 6. VMI - Bắt chước Vận động – Thị giác { id: 26, sub: 'vmi', ageEquiv: '14–20m', name: 'VMI-1. Bắt chước thao tác đơn giản với đồ vật (Lắc chuông, dùng thìa khuấy cốc)', desc: 'Quan sát người khám làm mẫu và thực hiện lại ngay với đồ vật.' }, { id: 27, sub: 'vmi', ageEquiv: '22–30m', name: 'VMI-2. Bắt chước các cử chỉ cơ thể thô (Vỗ tay, giơ hai tay lên cao, vỗ nhẹ lên đầu)', desc: 'Bắt chước động tác cơ thể không có đồ vật.' }, { id: 28, sub: 'vmi', ageEquiv: '32–42m', name: 'VMI-3. Bắt chước thao tác với đất nặn (Lăn dài thanh đất, ấn dẹp và cắm que vào đất)', desc: 'Thực hiện chuỗi 2 thao tác liên tiếp theo mẫu.' }, { id: 29, sub: 'vmi', ageEquiv: '44–56m', name: 'VMI-4. Bắt chước cử động ngón tay tinh tế (Chạm ngón cái vào từng ngón tay, làm ống nhòm)', desc: 'Quan sát kỹ và điều khiển đúng các ngón tay theo người khám.' }, { id: 30, sub: 'vmi', ageEquiv: '58–72m', name: 'VMI-5. Sao chép lại đúng mô hình lắp ghép từ 4 – 5 khối gỗ nhiều màu', desc: 'Nhìn mẫu lắp ghép của người khám và dựng lại y hệt về vị trí và màu sắc.' }, // 7. AE - Biểu đạt Cảm xúc (Hành vi Kém thích ứng: 2 = Phù hợp, 1 = Bất thường nhẹ, 0 = Bất thường rõ/nặng) { id: 31, sub: 'ae', ageEquiv: 'Hành vi', name: 'AE-1. Sử dụng biểu cảm nét mặt đa dạng và phù hợp với từng tình huống tương tác', desc: 'Mức 2: Phù hợp tự nhiên | Mức 1: Nét mặt hơi ít biểu cảm | Mức 0: Đơ cứng hoặc cười/khóc vô cớ.' }, { id: 32, sub: 'ae', ageEquiv: 'Hành vi', name: 'AE-2. Thể hiện nụ cười xã hội và chia sẻ niềm vui khi chơi đùa cùng người khám', desc: 'Mức 2: Vui vẻ chia sẻ | Mức 1: Chỉ cười khi được cù/kích thích mạnh | Mức 0: Không chia sẻ cảm xúc.' }, { id: 33, sub: 'ae', ageEquiv: 'Hành vi', name: 'AE-3. Điều tiết cảm xúc bình tĩnh khi gặp bài tập khó hoặc khi cất đồ chơi', desc: 'Mức 2: Bình tĩnh chấp nhận | Mức 1: Rên rỉ/khó chịu nhẹ nhưng dỗ được | Mức 0: Ăn vạ dữ dội, la hét.' }, { id: 34, sub: 'ae', ageEquiv: 'Hành vi', name: 'AE-4. Mức độ thoải mái, không sợ hãi hoặc lo âu quá mức trong phòng đánh giá', desc: 'Mức 2: Tự tin khám phá | Mức 1: Hơi căng thẳng lúc đầu | Mức 0: Hoảng sợ khóc thét kéo dài.' }, { id: 35, sub: 'ae', ageEquiv: 'Hành vi', name: 'AE-5. Duy trì sự chú ý và cảm xúc ổn định xuyên suốt buổi kiểm tra', desc: 'Mức 2: Ổn định tốt | Mức 1: Tâm trạng thất thường nhẹ | Mức 0: Biến đổi cảm xúc đột ngột không rõ lý do.' }, // 8. SR - Tương hỗ Xã hội { id: 36, sub: 'sr', ageEquiv: 'Hành vi', name: 'SR-1. Giao tiếp bằng ánh mắt tự nhiên, linh hoạt với người khám', desc: 'Mức 2: Nhìn mắt tốt | Mức 1: Nhìn mắt thoáng qua, cần nhắc | Mức 0: Hoàn toàn né tránh giao tiếp mắt.' }, { id: 37, sub: 'sr', ageEquiv: 'Hành vi', name: 'SR-2. Chủ động khởi xướng tương tác xã hội và tìm kiếm sự giúp đỡ đúng cách', desc: 'Mức 2: Nhìn mặt + chỉ tay/nói để nhờ giúp | Mức 1: Kéo tay người khám nhưng có nhìn lên | Mức 0: Cầm tay người khám như công cụ vô tri.' }, { id: 38, sub: 'sr', ageEquiv: 'Hành vi', name: 'SR-3. Chia sẻ sự chú ý chung (Joint Attention) khi thấy đồ vật thú vị, bất ngờ', desc: 'Mức 2: Tự nhiên khoe đồ/nhìn người khám | Mức 1: Chỉ nhìn theo khi người khám chỉ tay | Mức 0: Không có chú ý chung.' }, { id: 39, sub: 'sr', ageEquiv: 'Hành vi', name: 'SR-4. Tham gia chơi luân phiên qua lại (Turn-taking) cùng người khám', desc: 'Mức 2: Chờ lượt và lăn bóng/chơi qua lại tốt | Mức 1: Tham gia được 1–2 lượt khi nhắc | Mức 0: Chỉ giữ khư khư chơi một mình.' }, { id: 40, sub: 'sr', ageEquiv: 'Hành vi', name: 'SR-5. Nhận thức được sự hiện diện và phản hồi tích cực trước lời khen của người khám', desc: 'Mức 2: Vui khi được khen, hợp tác tốt | Mức 1: Ít quan tâm lời khen | Mức 0: Thờ ơ như không có người bên cạnh.' }, // 9. CMB - Hành vi Vận động Đặc trưng { id: 41, sub: 'cmb', ageEquiv: 'Hành vi', name: 'CMB-1. Không có các cử động tay/ngón tay hoặc cơ thể định hình (vẫy tay, búng tay, đung đưa)', desc: 'Mức 2: Không có stimming | Mức 1: Xuất hiện thoáng qua khi phấn khích | Mức 0: Vẫy tay/đung đưa/nhón gót liên tục.' }, { id: 42, sub: 'cmb', ageEquiv: 'Hành vi', name: 'CMB-2. Khám phá đồ vật đúng chức năng (Không ngửi, liếm hoặc cắn đồ chơi)', desc: 'Mức 2: Chơi đúng cách | Mức 1: Đôi khi đưa đồ lên miệng/ngửi nhưng nhắc thì dừng | Mức 0: Liên tục liếm, ngửi, gõ đồ vật.' }, { id: 43, sub: 'cmb', ageEquiv: 'Hành vi', name: 'CMB-3. Quan sát thị giác bình thường (Không nhìn nghiêng sát mắt hoặc mê mẩn vật quay)', desc: 'Mức 2: Nhìn thẳng tự nhiên | Mức 1: Thỉnh thoảng liếc nghiêng ngắm đồ vật | Mức 0: Cuốn hút mãnh liệt vào việc xoay/nhìn nghiêng.' }, { id: 44, sub: 'cmb', ageEquiv: 'Hành vi', name: 'CMB-4. Phản ứng bình thường với âm thanh và xúc giác trong phòng test', desc: 'Mức 2: Bình thường | Mức 1: Hơi nhạy với vài âm thanh/chất liệu | Mức 0: Bịt tai la hét hoặc tìm kiếm kích thích giác quan mạnh.' }, { id: 45, sub: 'cmb', ageEquiv: 'Hành vi', name: 'CMB-5. Linh hoạt chuyển từ bài tập này sang bài tập khác mà không đòi giữ khư khư đồ vật', desc: 'Mức 2: Chuyển bài mượt mà | Mức 1: Cần báo trước hoặc đếm ngược | Mức 0: Cứng nhắc xếp hàng, chống đối chuyển hoạt động.' }, // 10. CVB - Hành vi Lời nói Đặc trưng { id: 46, sub: 'cvb', ageEquiv: 'Hành vi', name: 'CVB-1. Không nhại lời máy móc (Immediate/Delayed Echolalia)', desc: 'Mức 2: Nói có chủ đích (hoặc chưa nói nhưng không phát âm rập khuôn) | Mức 1: Thỉnh thoảng nhại lại câu hỏi | Mức 0: Nhại lời liên tục.' }, { id: 47, sub: 'cvb', ageEquiv: 'Hành vi', name: 'CVB-2. Không tự phát ra các âm thanh vô nghĩa, tiếng rên, tiếng rít lặp đi lặp lại', desc: 'Mức 2: Không có âm thanh tự kích thích | Mức 1: Thỉnh thoảng lẩm bẩm khi chơi một mình | Mức 0: Phát âm thanh lạ/lặp lại suốt buổi.' }, { id: 48, sub: 'cvb', ageEquiv: 'Hành vi', name: 'CVB-3. Giọng điệu, tốc độ và âm lượng phát âm tự nhiên', desc: 'Mức 2: Ngữ điệu tự nhiên | Mức 1: Giọng hơi đều đều hoặc hơi to/nhỏ | Mức 0: Giọng robot phẳng lì hoặc lơ lớ bất thường rõ.' }, { id: 49, sub: 'cvb', ageEquiv: 'Hành vi', name: 'CVB-4. Lời nói/âm thanh hướng tới mục đích giao tiếp với người đối diện', desc: 'Mức 2: Giao tiếp có định hướng | Mức 1: Đôi khi tự nói một mình | Mức 0: Chỉ độc thoại vô nghĩa, không hướng tới ai.' }, { id: 50, sub: 'cvb', ageEquiv: 'Hành vi', name: 'CVB-5. Sử dụng từ vựng và đại từ xưng hô phù hợp ngữ cảnh', desc: 'Mức 2: Dùng từ phù hợp | Mức 1: Đôi khi nhầm đại từ "Con - Mẹ" | Mức 0: Đảo ngược đại từ hoàn toàn hoặc dùng từ tự bịa.' } ]; // answers[id] lưu: 2 (Đạt / Pass), 1 (Chớm đạt / Emerge), 0 (Không đạt / Fail) let answers = {}; let chronoAgeMonths = 42; // Tuổi thực mặc định: 42 tháng (3.5 tuổi) let filterSub = 'all'; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .p3-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .p3-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .p3-inner { padding: 24px; max-width: 940px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .p3-wrap.is-fullscreen .p3-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .p3-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(5, 150, 105, 0.45), 0 0 0 0 rgba(5, 150, 105, 0.4); } 70% { box-shadow: 0 6px 20px rgba(5, 150, 105, 0.45), 0 0 0 10px rgba(5, 150, 105, 0); } 100% { box-shadow: 0 6px 20px rgba(5, 150, 105, 0.45), 0 0 0 0 rgba(5, 150, 105, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #047857 0%, #059669 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(5, 150, 105, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Header */ .p3-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .p3-header-text { flex: 1 1 260px; } .p3-title { font-size: 21px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .p3-desc { font-size: 14px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #ecfdf5; color: #047857; border: 1px solid #a7f3d0; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #059669; color: #ffffff; border-color: #059669; } /* Top Controls */ .p3-top-controls { display: grid; grid-template-columns: 1fr 1.35fr; gap: 12px; margin-bottom: 14px; } .p3-box-ctrl { background: #f8fafc; border: 1px solid #e2e8f0; padding: 10px 12px; border-radius: 10px; } .p3-ctrl-label { font-size: 12px; font-weight: 700; color: #475569; text-transform: uppercase; margin-bottom: 6px; display: block; } .p3-btn-group { display: flex; flex-wrap: wrap; gap: 6px; } .p3-btn-sm { padding: 6px 10px; border-radius: 7px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; flex: 1; text-align: center; touch-action: manipulation; } .p3-btn-sm:hover { background: #f1f5f9; } .p3-btn-sm.active { background: #059669; color: #ffffff; border-color: #059669; } .p3-btn-sm.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; flex: 0 0 auto; } .p3-domain-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 16px; } .p3-dtab { padding: 6px 11px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .p3-dtab.active { background: #059669; color: #ffffff; border-color: #059669; } /* Sticky Dashboard */ .p3-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .p3-wrap.is-fullscreen .p3-dash { top: 58px; } .p3-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .p3-score-big { font-size: 22px; font-weight: 800; line-height: 1.15; } .p3-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .p3-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .p3-pillars { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; font-size: 12px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .p3-pillar-box { background: #1e293b; padding: 7px 10px; border-radius: 8px; } .p3-pillar-val { font-weight: 700; color: #ffffff; font-size: 13.5px; display: block; margin-top: 2px; } /* Danh sách nhiệm vụ PEP-3 */ .p3-q-item { border: 1px solid #e2e8f0; border-radius: 10px; padding: 14px 16px; margin-bottom: 12px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 8px; } .p3-q-item.emerge-item { border-color: #fde68a; background: #fffbeb; } .p3-q-item.fail-item { border-color: #fca5a5; background: #fff5f5; } .p3-q-item.pass-item { border-color: #a7f3d0; background: #f0fdf4; } .p3-q-title { font-size: 14.8px; font-weight: 700; color: #0f172a; } .p3-q-desc { font-size: 13.5px; color: #475569; } .p3-q-tags { display: flex; flex-wrap: wrap; gap: 6px; } .p3-tag { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .p3-ans-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 2px; } .p3-abtn { padding: 8px 8px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 700; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .p3-abtn:hover { border-color: #64748b; } .p3-abtn.sel-2 { background: #10b981; border-color: #10b981; color: #ffffff; } .p3-abtn.sel-1 { background: #f59e0b; border-color: #f59e0b; color: #ffffff; } .p3-abtn.sel-0 { background: #ef4444; border-color: #ef4444; color: #ffffff; } /* Biểu đồ 10 tiểu thang & Hộp trích xuất IEP */ .p3-chart-card { margin-top: 20px; padding: 16px 18px; border-radius: 12px; background: #ffffff; border: 1px solid #e2e8f0; } .p3-chart-title { font-size: 14.5px; font-weight: 700; color: #0f172a; margin-bottom: 12px; } .p3-bar-row { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; font-size: 12.5px; } .p3-bar-lbl { width: 245px; flex-shrink: 0; font-weight: 600; color: #334155; } .p3-bar-track { flex: 1; height: 16px; background: #f1f5f9; border-radius: 999px; overflow: hidden; } .p3-bar-val { width: 125px; text-align: right; font-weight: 700; color: #0f172a; flex-shrink: 0; } .p3-iep-box { margin-top: 16px; padding: 16px 18px; border-radius: 12px; background: #fffbeb; border: 1px solid #fde68a; border-left: 5px solid #f59e0b; font-size: 13.8px; color: #78350f; } .p3-iep-title { font-size: 15px; font-weight: 800; color: #92400e; margin-bottom: 8px; } .p3-iep-row { display: flex; align-items: flex-start; gap: 8px; margin-bottom: 5px; line-height: 1.45; } .p3-result-box { margin-top: 16px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #059669; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 720px) { .p3-inner { padding: 14px; } .p3-title { font-size: 18px; } .p3-top-controls { grid-template-columns: 1fr; } .p3-pillars { grid-template-columns: 1fr 1fr; } .p3-ans-grid { grid-template-columns: 1fr; } .p3-bar-lbl { width: 140px; font-size: 11.5px; } .p3-bar-val { width: 105px; font-size: 11.5px; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
Thang Đánh Giá Tâm Lý – Giáo Dục PEP-3 & Trích Xuất Kế Hoạch Can Thiệp IEP (6 Tháng – 7 Tuổi)
Công cụ chuẩn hóa của chương trình TEACCH (Schopler et al., 2005) đánh giá 10 tiểu thang đo (6 tiểu thang Kỹ năng phát triển + 4 tiểu thang Hành vi). Điểm cốt lõi của PEP-3 là phát hiện các kỹ năng Chớm đạt / Đang hình thành (Emerge = 1 điểm) để tự động trích xuất thành Mục tiêu Can thiệp Cá nhân hóa (IEP).
• Chỉ số Tổng hợp Giao tiếp (Communication Composite): Ước tính đạt ~${commAge} tháng (Nhận thức CVP: ~${devAge.cvp}m • Diễn đạt EL: ~${devAge.el}m • Tiếp nhận RL: ~${devAge.rl}m).
• Chỉ số Tổng hợp Vận động (Motor Composite): Ước tính đạt ~${motAge} tháng (Vận động Tinh FM: ~${devAge.fm}m • Vận động Thô GM: ~${devAge.gm}m • Bắt chước VMI: ~${devAge.vmi}m).
• Độ lệch nội tại (Scatter Profile): Chênh lệch giữa Vận động và Giao tiếp là ${profileGap} tháng ${profileGap >= 12 ? '(Hồ sơ phát triển không đồng đều đặc trưng của phổ tự kỷ — Nên dùng thế mạnh Thị giác & Vận động tinh để hỗ trợ dạy Ngôn ngữ theo phương pháp TEACCH)' : '(Hai lĩnh vực phát triển khá tương đồng)'}.
• Tổng hợp Hành vi Kém thích ứng: ${malLabel} (Cảm xúc AE: ${raw.ae}/10 • Tương hỗ xã hội SR: ${raw.sr}/10 • Hành vi vận động CMB: ${raw.cmb}/10 • Hành vi lời nói CVB: ${raw.cvb}/10). `; updateFloatingFabVisibility(); } function applyPreset(type) { answers = {}; if (type === 'reset') { renderItems(); updateSummary(); return; } if (type === 'mild') { // Trẻ 42 tháng chậm nói / tự kỷ nhẹ: Đạt các mục đầu, Chớm đạt các mục giữa items.forEach(function(it, idx) { const posInSub = (it.id - 1) % 5; // 0, 1, 2, 3, 4 if (subConfigs[it.sub].isDev) { if (posInSub <= 1) answers[it.id] = 2; else if (posInSub vào IEP else answers[it.id] = 0; } else { answers[it.id] = (posInSub <= 2) ? 2 : 1; } }); } else if (type === 'uneven') { // Hồ sơ lệch điển hình ASD: Giỏi Vận động tinh/thô & Nhận thức không lời, nhưng chậm Ngôn ngữ diễn đạt/tiếp nhận items.forEach(function(it) { const pos = (it.id - 1) % 5; if (it.sub === 'fm' || it.sub === 'gm' || it.sub === 'cvp') { answers[it.id] = (pos <= 3) ? 2 : 1; } else if (it.sub === 'el' || it.sub === 'rl' || it.sub === 'vmi') { if (pos === 0) answers[it.id] = 2; else if (pos <= 2) answers[it.id] = 1; else answers[it.id] = 0; } else { answers[it.id] = (pos <= 1) ? 2 : (pos <= 3 ? 1 : 0); } }); } else if (type === 'severe') { // Mức độ trung bình - nặng items.forEach(function(it) { const pos = (it.id - 1) % 5; if (subConfigs[it.sub].isDev) { if (pos === 0) answers[it.id] = 2; else if (pos === 1) answers[it.id] = 1; else answers[it.id] = 0; } else { answers[it.id] = (pos === 0) ? 1 : 0; } }); } renderItems(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); p3Wrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { p3Wrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 940px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } shadow.querySelectorAll('#ageGroup .p3-btn-sm').forEach(function(btn) { btn.onclick = function() { chronoAgeMonths = parseInt(this.getAttribute('data-age'), 10); shadow.querySelectorAll('#ageGroup .p3-btn-sm').forEach(b => b.classList.remove('active')); this.classList.add('active'); updateSummary(); }; }); shadow.querySelectorAll('#presetGroup .p3-btn-sm').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-pre')); }; }); shadow.querySelectorAll('#domainTabs .p3-dtab').forEach(function(tab) { tab.onclick = function() { filterSub = this.getAttribute('data-sub'); shadow.querySelectorAll('#domainTabs .p3-dtab').forEach(t => t.classList.remove('active')); this.classList.add('active'); renderItems(); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); applyPreset('uneven'); })();
PEP-3 (Psychoeducational Profile, Third Edition — Trắc nghiệm Tâm lý – Giáo dục, Phiên bản 3) là công cụ đánh giá phát triển và lập kế hoạch giáo dục cá nhân hóa (IEP) hàng đầu thế giới dành cho trẻ có Rối loạn phổ tự kỷ (ASD) và các rối loạn phát triển lan tỏa. Công cụ này được phát triển bởi Giáo sư Eric Schopler và các cộng sự thuộc chương trình TEACCH (Đại học Bắc Carolina, Hoa Kỳ — xuất bản năm 2005).
Khác với các công cụ sàng lọc (M-CHAT-R/F, SCQ, CAST) hay chẩn đoán phân loại (ADOS-2, ADI-R), mục đích cốt lõi nhất của PEP-3 là để LÊN KẾ HOẠCH CAN THIỆP: tìm ra trẻ đã làm được gì, chưa làm được gì, và đặc biệt là những kỹ năng đang chớm hình thành (Emerging) để lấy đó làm mục tiêu dạy học ngay lập tức.
Tóm tắt cốt lõi về Thang đo PEP-3
-
Độ tuổi áp dụng: Trẻ có tuổi thực hoặc tuổi phát triển từ 6 tháng đến 7 tuổi (84 tháng) (đặc biệt hữu ích cho trẻ từ 2 – 7 tuổi chưa có lời nói hoặc khó hợp tác với các bài test IQ truyền thống).
-
Điểm “ăn tiền” nhất của PEP-3 — Cơ chế chấm điểm 3 mức (0 – 1 – 2):
-
Đạt(Pass = 2 điểm): Trẻ tự thực hiện thành công nhiệm vụ mà không cần làm mẫu hay hỗ trợ thêm. -
Chớm đạt / Đang hình thành(Emerge = 1 điểm): Trẻ hiểu một phần nhiệm vụ, làm được khi có chút gợi ý/làm mẫu, hoặc thực hiện theo cách riêng gần đúng. Đây chính là “Vùng phát triển gần” (ZPD) — kho báu để giáo viên/phụ huynh chọn làm mục tiêu IEP trong 3–6 tháng tới! -
Không đạt(Fail = 0 điểm): Trẻ hoàn toàn không thực hiện được hoặc từ chối dù đã được hướng dẫn.
-
2. Cấu trúc 10 Tiểu thang đo & 3 Chỉ số Tổng hợp (Composites)
Phần đánh giá trực tiếp trẻ (Performance Test) của PEP-3 gồm 172 mục chia làm 10 tiểu thang đo (6 tiểu thang Phát triển kỹ năng + 4 tiểu thang Hành vi kém thích ứng), gộp lại thành 3 Chỉ số Tổng hợp:
| Nhóm Chỉ số Tổng hợp (Composite) | Mã | Tên Tiểu thang đo (Subtest) | Nội dung đánh giá trọng tâm |
| 1. Tổng hợp Giao tiếp(Communication Composite) | CVP | 1. Nhận thức Có lời / Tiền ngôn ngữ (Cognitive Verbal/Preverbal – 34 mục) | Giải quyết vấn đề, định danh đồ vật, phân loại, đếm số, hiểu khái niệm màu sắc/hình khối, ghép tranh. |
| EL | 2. Ngôn ngữ Diễn đạt(Expressive Language – 25 mục) | Yêu cầu bằng cử chỉ/lời nói, gọi tên đồ vật, nói cụm từ/câu, đọc chữ/số, duy trì hội thoại cơ bản. | |
| RL | 3. Ngôn ngữ Tiếp nhận(Receptive Language – 19 mục) | Quay đầu khi gọi tên, chỉ đúng đồ vật/bộ phận cơ thể theo lời nói, làm theo mệnh lệnh 1–2 bước. | |
| 2. Tổng hợp Vận động(Motor Composite) | FM | 4. Vận động Tinh (Fine Motor – 20 mục) | Thổi bong bóng, cầm nắm kẹp chì, xâu hạt, lắp ghép khối gỗ, vặn nắp lọ, tô màu và dùng kéo cắt. |
| GM | 5. Vận động Thô (Gross Motor – 15 mục) | Đi, chạy, nhảy tại chỗ, bước lên xuống cầu thang luân phiên, bắt bóng, ném bóng và đá bóng. | |
| VMI | 6. Bắt chước Vận động – Thị giác (Visual-Motor Imitation – 10 mục) | Bắt chước thao tác với đồ vật (lắc chuông, lăn đất nặn), bắt chước cử chỉ cơ thể và nét mặt. | |
| 3. Tổng hợp Hành vi Kém thích ứng(Maladaptive Behaviors) | AE | 7. Biểu đạt Cảm xúc(Affective Expression – 11 mục) | Giao tiếp mắt, nụ cười xã hội, sự phù hợp của nét mặt và mức độ lo âu/cáu giận trong buổi test. |
| SR | 8. Tương hỗ Xã hội (Social Reciprocity – 12 mục) | Khởi xướng tương tác, chia sẻ sự chú ý (Joint Attention), hợp tác chơi qua lại với người khám. | |
| CMB | 9. Hành vi Vận động Đặc trưng (Characteristic Motor Behaviors – 15 mục) | Mức độ xuất hiện cử động định hình (vẫy tay, nhón gót), ngửi/liếm đồ vật, săm soi chi tiết thị giác. | |
| CVB | 10. Hành vi Lời nói Đặc trưng (Characteristic Verbal Behaviors – 11 mục) | Nhại lời (echolalia), lặp lại âm thanh vô nghĩa, giọng nói lơ lớ/đều đều, tự nói chuyện một mình. |
(Ngoài 10 tiểu thang trực tiếp trên, PEP-3 còn có phần Báo cáo của Người chăm sóc – Caregiver Report gồm 38 mục đánh giá Hành vi có vấn đề, Tự phục vụ cá nhân và Hành vi thích ứng).
Điều trị bùng nổ cảm xúc ở trẻ tự kỷ
Từ bài Trẻ tự kỷ Bùng nổ nhanh, cáu gắt,… Chuẩn đoán theo cơ chế thần kinh, dưới đây sẽ là các phương thức tiếp cận để điều trị và giảm hành vi này ở 80% trẻ tự kỷ gắn với hiện tượng Bùng nổ, nhưng lại về trạng thái bình thường ngay khi đạt được mục đích. Bài viết này sẽ cực kỳ hữu ích cho mục đích tìm hiểu, việc dùng thuốc hay áp dụng bất kỳ phương pháp chữa trị nào cần được chỉ định bởi bác sỹ.
Trong thần kinh học lâm sàng, dấu hiệu “nín ngay lập tức khi có lại phần thưởng” chứng minh rằng não bộ của bé KHÔNG bị rơi vào trạng thái “bão Glutamate mất kiểm soát toàn diện” hay “kích hoạt trung tâm thịnh nộ mù quáng (PAG)” (bởi nếu đã trượt xuống hai trạng thái đó, dù bạn có trả lại 10 món đồ chơi thì đứa trẻ vẫn tiếp tục gào khóc, ném đồ và không thể tự dừng lại suốt 30–45 phút).
Thay vào đó, biểu hiện này khẳng định vấn đề cốt lõi nằm trọn vẹn ở Trục Phần thưởng – Điều hành (Frontostriatal Circuit: Thể vân – Vỏ não trước trán) với cơ chế chủ đạo là Cú sốc tụt áp Dopamine (Negative Reward Prediction Error – RPE) kết hợp với Xung đỉnh Norepinephrine (Phasic NE surge).
1. Giải mã chính xác chuyện gì xảy ra trong tích tắc đó
-
Khi đang cầm món đồ yêu thích: Hệ thống Dopamine từ vùng VTA bắn lên Nhân Accumbens (중 tâm phần thưởng) đang duy trì ở mức cao. Với một đứa trẻ 4 tuổi có xu hướng tìm kiếm cảm giác (Nhánh A), món đồ chơi đó chính là “nguồn cấp Dopamine” giúp não bé cảm thấy an toàn và tập trung.
-
Khoảnh khắc bị lấy mất / từ chối: Nguồn cấp Dopamine bị ngắt đột ngột. Nồng độ Dopamine tại khe synap rơi tự do (tụt áp). Vỏ não đai trước (ACC) lập tức báo động “Đau đớn/Khẩn cấp!”, kích hoạt Nhân xanh phóng ra một cơn sóng Norepinephrine tức thời làm bé đỏ mặt tía tai, la hét để đòi lại bằng được nguồn Dopamine đã mất.
-
Khoảnh khắc trả lại món đồ: Dòng chảy Dopamine tại Nhân Accumbens được bơm đầy trở lại ngay lập tức. Cơn báo động ở ACC tắt phụt, Nhân xanh ngừng bắn xung Norepinephrine, và vì hệ thần kinh tự chủ của bé vốn khỏe mạnh (không bị cường giao cảm nền), bé nín ngay tức khắc.
2. Liệu trình tiếp cận đa tầng (Theo mô hình Khoa học Thần kinh & Hành vi)
Vì vấn đề nằm ở “Độ dốc của cú tụt Dopamine” và “Khả năng chịu đựng sự trì hoãn của Vỏ não trước trán”, một chiến lược can thiệp trúng đích sẽ kết hợp giữa Điều chỉnh Dược lý/Sinh hóa (làm đệm giảm xóc cho não) và Kỹ thuật “Hạ cánh mềm Dopamine” (tránh làm đứt gãy tín hiệu đột ngột):
Tầng 1: Định hướng Dược lý Thần kinh (Làm “Bộ giảm xóc” tại Vỏ não trước trán) – Dùng thuốc
+, Guanfacine vẫn là lựa chọn trúng đích số 1:
Cơ chế trong trường hợp này: Guanfacine không làm thay đổi lượng Dopamine ở vùng phần thưởng, nhưng nó gắn vào thụ thể Alpha-2A tại Vỏ não trước trán (PFC). Khi mạng lưới PFC được kết nối chặt chẽ (giống như trong những ngày Hậu sốt của bé), PFC sẽ gửi một luồng tín hiệu xuống Nhân Accumbens và Hạch hạnh nhân như một chiếc “phuộc nhún giảm xóc”: “Mất món đồ chơi này hơi buồn một chút, nhưng không nguy hiểm, chờ một lát sẽ có thứ khác”.
Ở Việt Nam, hiện tại các bác sỹ hay kê Tepirace thay vì Guanfacine. Tepirace có hoạt chất Clonidin, cùng nhóm với guanfacine, nhưng cần đánh giá chính xác tình trạng của bé là dư thừa Norepinephrine nền hay sự mất cân bằng giữa tín hiệu Nền (Tonic) và tín hiệu Đỉnh (Phasic) tại trục Nhân xanh – Vỏ não trước trán (LC-PFC).
- Dấu hiện điển hình của dư thừa Norepinephrine nền là Hay bé lăng xăng kiểu quá tải và lo âu (bồn chồn, đứng ngồi không yên khi đến nơi đông người, nhiều tiếng ồn, dễ bị giật mình, luôn trong tư thế phòng thủ). Trong trường hợp này nên dùng Clonidin.
- Bé chạy nhảy liên tục vì tìm kiếm cảm giác (sensory seeking – thích xoay tròn, leo trèo, va chạm mạnh, không biết sợ), nhưng không hung hăng, bùng nổ nhưng trạng thái tự làm đau ít thì nên uống Guanfacine.
Kết quả kỳ vọng: Khi bị từ chối, Dopamine vẫn giảm nhưng không gây kích hoạt cơn sóng Norepinephrine đỏ mặt tía tai. Khoảng thời gian từ lúc bị từ chối đến lúc bé bùng nổ được kéo giãn ra (từ 0.5 giây lên thành 5–10 giây), đủ để người lớn đánh lạc hướng hoặc giải thích, và bé nghe hiểu được.
Cụ thể hơn về Norepinephrine, bùng nổ cảm xúc và ứng dụng trong tiếp cận thuốc xem đầy đủ hơn tại đây.
+, Tại sao KHÔNG cần dùng nặng tay đến nhóm chống loạn thần (Risperidone/Aripiprazole)?
Trên lâm sàng, nhiều nơi hay kê Risperidone cho trẻ tự kỷ hay la hét. Nhưng Risperidone hoạt động bằng cách khóa chặt thụ thể Dopamine (D2). Với một bé lăng xăng Nhánh A và chỉ khóc khi mất đồ chơi (nín ngay khi trả lại), việc khóa Dopamine là quá mức cần thiết và làm phẳng lặng động lực học tập tự nhiên của trẻ.
+, Vai trò của NAC (N-Acetylcysteine) ở kiểu hình này:
Dù bé không bị “đám cháy Glutamate kéo dài”, NAC vẫn có giá trị hỗ trợ ở mức độ vừa phải vì nó điều hòa lượng Glutamate đổ vào Thể vân (Striatum) — nơi tiếp nhận Dopamine. Nhờ đó, nó giúp bé bớt “bám dính” cực đoan vào một món đồ chơi duy nhất, giúp việc thương lượng lấy lại đồ chơi dễ dàng hơn.
Tầng 2: Can thiệp Sinh hóa hỗ trợ Hệ Dopamine – Norepinephrine (Không dùng thuốc)
Để giúp não bộ của bé tự tổng hợp và duy trì mức Dopamine / Norepinephrine nền ổn định hơn (tránh việc não bị “đói” Dopamine dẫn đến phải chạy nhảy Nhánh A hoặc giữ khư khư đồ chơi):
Tầng 3: Kỹ thuật Hành vi dựa trên Thần kinh học — “Bắc cầu Dopamine” (Dopamine Bridging)
Một lưu ý cực kỳ quan trọng về mặt thần kinh học: Việc “trả lại món đồ chơi ngay khi bé la hét đỏ mặt và bé nín ngay” về mặt ngắn hạn giúp dập tắt tiếng khóc, nhưng về mặt dài hạn lại vô tình tạo ra một Phản xạ có điều kiện siêu mạnh tại Thể vân:
Não bé sẽ học được công thức: Bị lấy đồ -> La hét đỏ mặt (tăng Norepinephrine) -> Đồ chơi lập tức quay về (Dopamine vọt trở lại)! Càng lặp lại, tốc độ la hét lần sau sẽ càng nhanh và dữ dội hơn.
Để xử lý đúng vào cơ chế “Tránh tụt áp Dopamine đột ngột” mà không củng cố hành vi la hét, khoa học hành vi (ABA hiện đại / ESDM) áp dụng 3 bước “Hạ cánh mềm Dopamine”:
-
Tuyệt đối không “Ngắt cầu dao đột ngột” (No Cold-Turkey Removal): Đừng bao giờ giật hoặc lấy món đồ chơi đi ngay lập tức. Thay vào đó, hãy dùng Đồng hồ cát hoặc Đồng hồ đếm ngược trực quan bằng hình ảnh(Visual Timer) báo trước 2 phút. Khi mắt bé nhìn thấy vạch màu đỏ đang cạn dần, Vỏ não trước trán được chuẩn bị trước, lượng Dopamine sẽ giảm từ từ theo đường dốc thoải chứ không rơi thẳng đứng xuống vực.
-
Kỹ thuật “Đổi ngang giá trị” (Dopamine Bridging – Bắc cầu): Trước khi lấy món đồ A ra khỏi tay bé 2 giây, hãy đưa sẵn món đồ B (hoặc một kích thích cảm giác mạnh mà bé thích ở Nhánh A như nhột, tung hứng, đồ ăn vặt yêu thích) vào tầm mắt của bé. Khi tay phải bé vừa chạm vào món B (Dopamine từ món B bắt đầu tiết ra), lúc đó mới nhẹ nhàng rút món A đi. Não bé không bị rơi vào “khoảng trống Dopamine”.
-
Tập luyện “Trì hoãn 3 giây” (Micro-Delay Tolerance): Khi bé đòi một món đồ, thay vì từ chối thẳng thừng (“Không!”) hoặc đưa ngay lập tức, hãy giữ món đồ trong tầm nhìn của bé, đếm chậm từng nhịp “1… 2… 3… Của con đây!” rồi đưa cho bé ngay trước khi bé kịp cáu. Khi Vỏ não trước trán quen với 3 giây, nâng dần lên 5 giây, 10 giây. Đây chính là bài tập “tập tạ” trực tiếp cho các thụ thể Alpha-2A tại Vỏ não trước trán!
Nguồn: Nghiên cứu với sự hỗ trợ của AI.
Tư duy cốt lõi nhất khi dạy ngôn ngữ cho trẻ cùng các hoạt động thường ngày
Tư duy cốt lõi nhất khi dạy ngôn ngữ cho trẻ (đặc biệt là trẻ mang phổ tự kỷ có sự nhạy cảm về giác quan và dễ bị quá tải) là chuyển từ vai trò “người khảo bài” sang vai trò “bình luận viên”. Thay vì liên tục đặt câu hỏi mang tính ép buộc như “Đây là cái gì?”, “Nói đi con”, bạn hãy chủ động biến mọi hành động đang diễn ra thành âm thanh để não bộ của bé tự động thu nạp một cách tự nhiên, không áp lực.
Để áp dụng tư duy này vào sinh hoạt hàng ngày, bạn hãy bám sát 4 nguyên tắc hành động sau:
1. Tư duy “Bình luận viên” (Nói về những gì đang xảy ra) Khi chăm sóc bé, hãy dùng những câu ngắn để mô tả chính xác những gì bạn và bé đang làm, đang nhìn thấy hoặc đang chạm vào. Việc này giúp não bé gắn kết từ vựng với hành động thực tế ngay tại thời điểm đó.
-
Khi chăm sóc vệ sinh: Thay vì nói “Con đứng im để mẹ mặc đồ nào”, hãy mô tả “Xỏ tay vào”, “Mặc quần”, “Cài cúc”.
-
Khi đi trên đường: “Xe chạy”, “Dừng lại”, “Đèn đỏ rồi”, “Ồ, xe máy kìa”. Bạn cứ nói dù bé có phản hồi hay không, ngôn ngữ sẽ từ từ “ngấm” vào vùng trí nhớ của con.
2. Tư duy “Ngôn ngữ Cộng 1” (Nói ở ngưỡng tiếp thu của con) Trẻ sẽ lập tức “đóng cửa” giao tiếp nếu bạn nói những câu quá dài và phức tạp. Hãy quan sát mức độ ngôn ngữ hiện tại của con và chỉ nói dài hơn con đúng một từ.
-
Nếu bé chưa biết nói: Bạn chỉ dùng từ đơn đi kèm hành động mạnh (ví dụ: đưa giày cho bé và nhấn mạnh “Giày!”, mở cửa và nói “Mở!”).
-
Nếu bé đã nói được từ đơn (ví dụ bé nói “Bánh”): Bạn đáp lại bằng câu 2 từ (“Ăn bánh” hoặc “Bánh quy”).
3. Tư duy “Tạo khoảng trống” (Sức mạnh của sự chờ đợi) Sai lầm lớn nhất của cha mẹ là quá hiểu ý con, dẫn đến việc làm hộ con mọi thứ trước cả khi bé kịp phát ra nhu cầu giao tiếp. Hãy chủ động “tạo ra một chút rào cản” trong các thói quen hàng ngày để khơi gợi lý do bắt buộc bé phải phát ra âm thanh.
-
Khi rót nước cho bé, bạn chỉ rót một chút xíu. Khi bé uống hết và muốn nữa, hãy cầm bình nước lên, nhìn vào mắt bé và chờ đợi 5 đến 10 giây. Nếu bé không nói, bạn làm mẫu từ “Nữa” hoặc “Rót”, đợi bé nhại lại (hoặc có cử chỉ bằng mắt/tay) rồi mới rót tiếp.
-
Khi mặc áo, bạn trùm áo qua đầu bé rồi… dừng lại. Bé sẽ bứt rứt muốn kéo xuống. Lúc này bạn nói “Kéo” và chờ bé có phản xạ.
4. Tư duy “Kịch bản đóng gói” (Lặp lại từ vựng theo bối cảnh) Trẻ phổ tự kỷ học tốt nhất qua sự lặp đi lặp lại vì nó tạo ra sự an toàn, dễ đoán. Bạn hãy chọn ra vài sinh hoạt cố định (như đi tắm, mang giày đi học) và sử dụng đúng một bộ từ vựng y hệt nhau mỗi ngày.
-
Ví dụ việc đưa đón đi học: Mở cửa xe bạn nói “Lên xe”. Thắt dây an toàn bạn làm tiếng động “Tạch!”. Đến trường bạn vẫy tay “Chào cô”. Ngày nào bạn cũng dùng đúng những từ đó ở đúng thời điểm đó. Sau một thời gian, não bé sẽ ghi nhận đây là “kịch bản ngôn ngữ” của việc đi học. Dần dần, bạn chỉ cần mở cửa, bé sẽ tự bật ra chữ “Lên xe”.
Nguồn tham khảo: AI
Danh Mục Học Nói
Danh mục này cũng liệt kê ra Những nguyên tắc, kỹ thuật sống còn cùng đề mục tổng quan cần thiết và cần được ưu tiên thực hiện nhằm giúp bố mẹ có lộ trình và định hướng căn bản trong việc dạy bé rối loạn ngôn ngữ, chậm phát triển học nói.
Bài Viết
Giải Mã 6 Dạng "Nói Lặp, Độc Thoại" Ở Trẻ Tự Kỷ, Chậm Nói Và Cách Hỗ Trợ Đúng Đắn
Khi thấy con hay nói lẩm bẩm một mình, phát ra âm thanh vô nghĩa hoặc lặp đi lặp lại một câu nói, nhiều cha mẹ thường gọi đó là “nói nhảm” và tìm cách bắt con im lặng.
Thực chất, ở trẻ rối loạn phổ tự kỷ, chậm phát triển hay rối loạn ngôn ngữ, mỗi âm thanh phát ra đều có một “nhiệm vụ” riêng đối với não bộ và cảm xúc của trẻ. Thay vì dập tắt, cha mẹ hãy phân biệt 6 dạng dưới đây để giúp con chuyển hóa thành ngôn ngữ giao tiếp thực sự:
1. Phát âm thanh lặp lại để tự kích thích giác quan (Vocal Stimming)
-
Biểu hiện: Trẻ phát ra các chuỗi âm thanh (“a a a…”, “ư ư…”), tiếng động cơ, hoặc lặp đi lặp lại một từ (“xe chạy xe chạy…”) khi ngồi chơi một mình hoặc lúc rảnh rỗi, buồn chán.
-
Nguyên nhân: Hệ thần kinh của trẻ đang “đói” cảm giác. Trẻ dùng âm thanh và độ rung của dây thanh quản để tự kích thích thính giác và cảm giác vùng miệng.
-
Cách hỗ trợ: Đừng bắt con nín. Hãy đáp ứng đúng nhu cầu giác quan của con bằng cách:
-
Kích thích vận động vùng miệng: Cho con thổi bong bóng xà phòng, thổi còi, uống sữa/sinh tố đặc qua ống hút nhỏ, ăn thức ăn giòn/dai.
-
Chuyển hóa thành trò chơi âm thanh: Bắt chước lại chính âm thanh của con nhưng biến tấu cao độ (to – nhỏ, nhanh – chậm) hoặc lồng vào giai điệu bài hát để kéo sự chú ý của con về phía mẹ.
-
Tăng vận động thô (10–15 phút): Nhảy bạt nhún, leo trèo, đẩy vật nặng để giải tỏa năng lượng dư thừa.
-
2. Nhại lời tức thì (Immediate Echolalia)
-
Biểu hiện: Con lặp lại y hệt những gì người khác vừa nói như một cái máy ghi âm. Ví dụ: Mẹ hỏi “Con ăn cơm chưa?”, bé đáp “Ăn cơm chưa?”.
-
Nguyên nhân: Trẻ nghe được nhưng chưa kịp xử lý ý nghĩa câu hỏi, hoặc chưa đủ vốn từ để tự tạo câu trả lời, nên dùng cách lặp lại để duy trì tương tác.
-
Cách hỗ trợ: Tuyệt đối không dùng mệnh lệnh “Con nói đi: Con ăn rồi” (vì trẻ sẽ nhại luôn cả câu “Con nói đi”).
-
Dùng câu hỏi lựa chọn kèm vật thật: Giơ 2 món đồ lên và hỏi “Con ăn bánh hay uống sữa?” (trẻ thường sẽ nhại từ cuối cùng, hãy đưa món con thích ra sau).
-
Làm mẫu từ góc nhìn của con: Mẹ chỉ vào bát cơm trống và nói chậm rãi câu của con: “Con ăn rồi”(không thêm từ dư thừa), chờ 3–5 giây để con bật theo mà không ép buộc.
-
3. Nói theo kịch bản có sẵn (Delayed Echolalia / Scripting)
-
Biểu hiện: Trẻ tự nhiên đọc vanh vách một đoạn quảng cáo, lời thoại phim hoạt hình hoặc câu nói của người lớn từ nhiều ngày trước.
-
Nguyên nhân: Trẻ tự kỷ thường học ngôn ngữ theo cả cụm (Gestalt) thay vì từng từ đơn. Trẻ gắn nguyên một câu thoại trong phim với một cảm xúc hoặc tình huống tương tự ngoài đời thực, nhưng chưa biết cách tách từ để nói theo ý mình.
-
Cách hỗ trợ:
-
Làm “thám tử” tìm ý nghĩa: Quan sát xem con hay nói câu đó khi nào (khi vui, khi sợ, hay khi đòi đồ ăn) để dịch sang câu giao tiếp đúng.
-
Nhập vai và mở rộng hội thoại: Nếu con hô “Siêu nhân xuất hiện!”, đừng phớt lờ. Hãy hưởng ứng: “Wow, siêu nhân bay đi đâu thế?” hoặc “Siêu nhân cứu mẹ với!” để biến câu độc thoại của con thành cuộc trò chuyện hai chiều.
-
4. Độc thoại nhưng thiếu tính hướng đích (Chưa biết giao tiếp hai chiều)
-
Biểu hiện: Trẻ nói rất nhiều, kể lể liên tục hoặc gọi tên đồ vật nhưng mắt không nhìn người nghe, không quan tâm người khác có hiểu hay phản hồi hay không.
-
Nguyên nhân: Trẻ đã có vốn từ nhưng gặp khó khăn về ngôn ngữ xã hội (ngữ dụng) — chưa hiểu rằng ngôn ngữ dùng để kết nối và chia sẻ thông tin với người khác.
-
Cách hỗ trợ:
-
Hạ thấp tầm mắt ngang bằng với con, đưa đồ vật con đang nói tới lên ngang tầm mắt của cha mẹ để thu hút ánh nhìn.
-
Xây dựng các trò chơi cần sự chờ đợi và luân phiên (turn-taking): Chuyền bóng, xếp gỗ từng người một lượt, ú òa, hoặc cố tình làm sai/giấu bớt một chi tiết trong trò chơi quen thuộc để con phải nhìn mẹ và lên tiếng yêu cầu.
-
5. Nói lẩm bẩm khi căng thẳng, lo âu
-
Biểu hiện: Trẻ nói liên hồi, tốc độ nhanh hoặc lặp đi lặp lại một câu hỏi khi đến nơi đông người, vào môi trường lạ, nghe tiếng ồn lớn hoặc khi bị la mắng.
-
Nguyên nhân: Hệ thần kinh của trẻ đang bị quá tải. Việc phát ra những âm thanh quen thuộc giống như một “chiếc chăn an toàn” giúp não bộ tự trấn an và đẩy lùi sự sợ hãi.
-
Cách hỗ trợ: Lúc này không phải là lúc dạy nói, mà là lúc cấp cứu cảm xúc:
-
Đưa con ra góc yên tĩnh, giảm ánh sáng và tiếng ồn.
-
Tác động cảm giác sâu (Deep Pressure) giúp hệ thần kinh dịu lại: Ôm chặt con (nếu con thích), massage ép sâu dọc hai cánh tay và bả vai, hoặc cho con cầm bóng gai, đất nặn để bóp.
-
Nói với con bằng giọng trầm, ngắn gọn và chậm rãi: “Con an toàn rồi, có mẹ ở đây”.
-
6. Nói huyên thuyên do quá phấn khích hoặc trước giờ đi ngủ
-
Biểu hiện: Trẻ nói không ngừng nghỉ, la hét, cười đùa quá mức sau khi xem tivi/điện thoại, khi chơi trò kích thích, hoặc nằm trên giường độc thoại rất lâu không chịu ngủ.
-
Nguyên nhân: Hệ thần kinh giao cảm đang bị kích thích quá mức (hưng phấn cao), não bộ chưa biết cách tự “đạp phanh” để chuyển sang trạng thái nghỉ ngơi. (Riêng việc độc thoại trước khi ngủ đôi khi còn là cách não trẻ tự ôn lại dữ liệu ngôn ngữ đã nghe trong ngày).
-
Cách hỗ trợ: Thiết lập quy trình “hạ nhiệt” cho não bộ:
-
Cắt hoàn toàn thiết bị điện tử (tivi, điện thoại) và các trò chơi đuổi bắt mạnh ít nhất 1–2 giờ trước khi ngủ.
-
Thực hiện chuỗi hoạt động thư giãn cố định: Tắm nước ấm -> Massage nhẹ nhàng lòng bàn chân, lưng -> Đọc sách với giọng đều đều, trầm ấm trong ánh đèn vàng dịu.
-
Tập cho con trò chơi hít thở sâu (ví dụ: hít vào ngửi bông hoa, thở ra thổi tắt ngọn nến).
-
Nguồn: Từ kiến thức can thiệp thực chiến và tổng hợp lại với AI.
Tư duy cốt lõi nhất khi dạy ngôn ngữ cho trẻ cùng các hoạt động thường ngày
Tư duy cốt lõi nhất khi dạy ngôn ngữ cho trẻ (đặc biệt là trẻ mang phổ tự kỷ có sự nhạy cảm về giác quan và dễ bị quá tải) là chuyển từ vai trò “người khảo bài” sang vai trò “bình luận viên”. Thay vì liên tục đặt câu hỏi mang tính ép buộc như “Đây là cái gì?”, “Nói đi con”, bạn hãy chủ động biến mọi hành động đang diễn ra thành âm thanh để não bộ của bé tự động thu nạp một cách tự nhiên, không áp lực.
Để áp dụng tư duy này vào sinh hoạt hàng ngày, bạn hãy bám sát 4 nguyên tắc hành động sau:
1. Tư duy “Bình luận viên” (Nói về những gì đang xảy ra) Khi chăm sóc bé, hãy dùng những câu ngắn để mô tả chính xác những gì bạn và bé đang làm, đang nhìn thấy hoặc đang chạm vào. Việc này giúp não bé gắn kết từ vựng với hành động thực tế ngay tại thời điểm đó.
-
Khi chăm sóc vệ sinh: Thay vì nói “Con đứng im để mẹ mặc đồ nào”, hãy mô tả “Xỏ tay vào”, “Mặc quần”, “Cài cúc”.
-
Khi đi trên đường: “Xe chạy”, “Dừng lại”, “Đèn đỏ rồi”, “Ồ, xe máy kìa”. Bạn cứ nói dù bé có phản hồi hay không, ngôn ngữ sẽ từ từ “ngấm” vào vùng trí nhớ của con.
2. Tư duy “Ngôn ngữ Cộng 1” (Nói ở ngưỡng tiếp thu của con) Trẻ sẽ lập tức “đóng cửa” giao tiếp nếu bạn nói những câu quá dài và phức tạp. Hãy quan sát mức độ ngôn ngữ hiện tại của con và chỉ nói dài hơn con đúng một từ.
-
Nếu bé chưa biết nói: Bạn chỉ dùng từ đơn đi kèm hành động mạnh (ví dụ: đưa giày cho bé và nhấn mạnh “Giày!”, mở cửa và nói “Mở!”).
-
Nếu bé đã nói được từ đơn (ví dụ bé nói “Bánh”): Bạn đáp lại bằng câu 2 từ (“Ăn bánh” hoặc “Bánh quy”).
3. Tư duy “Tạo khoảng trống” (Sức mạnh của sự chờ đợi) Sai lầm lớn nhất của cha mẹ là quá hiểu ý con, dẫn đến việc làm hộ con mọi thứ trước cả khi bé kịp phát ra nhu cầu giao tiếp. Hãy chủ động “tạo ra một chút rào cản” trong các thói quen hàng ngày để khơi gợi lý do bắt buộc bé phải phát ra âm thanh.
-
Khi rót nước cho bé, bạn chỉ rót một chút xíu. Khi bé uống hết và muốn nữa, hãy cầm bình nước lên, nhìn vào mắt bé và chờ đợi 5 đến 10 giây. Nếu bé không nói, bạn làm mẫu từ “Nữa” hoặc “Rót”, đợi bé nhại lại (hoặc có cử chỉ bằng mắt/tay) rồi mới rót tiếp.
-
Khi mặc áo, bạn trùm áo qua đầu bé rồi… dừng lại. Bé sẽ bứt rứt muốn kéo xuống. Lúc này bạn nói “Kéo” và chờ bé có phản xạ.
4. Tư duy “Kịch bản đóng gói” (Lặp lại từ vựng theo bối cảnh) Trẻ phổ tự kỷ học tốt nhất qua sự lặp đi lặp lại vì nó tạo ra sự an toàn, dễ đoán. Bạn hãy chọn ra vài sinh hoạt cố định (như đi tắm, mang giày đi học) và sử dụng đúng một bộ từ vựng y hệt nhau mỗi ngày.
-
Ví dụ việc đưa đón đi học: Mở cửa xe bạn nói “Lên xe”. Thắt dây an toàn bạn làm tiếng động “Tạch!”. Đến trường bạn vẫy tay “Chào cô”. Ngày nào bạn cũng dùng đúng những từ đó ở đúng thời điểm đó. Sau một thời gian, não bé sẽ ghi nhận đây là “kịch bản ngôn ngữ” của việc đi học. Dần dần, bạn chỉ cần mở cửa, bé sẽ tự bật ra chữ “Lên xe”.
Nguồn tham khảo: AI
Danh sách câu hỏi cơ bản nhất liên quan đến cuộc sống thường dậy bé nói
-
Nhóm khám phá thế giới: Cái gì đây ạ? (Vật) – Ai đây ạ? (Người) – [Tên vật] ở đâu rồi ạ? (Vị trí) – Tại sao lại thế ạ? (Nguyên nhân).
-
Nhóm ranh giới & tương tác xã hội: Cái này của ai? (Sở hữu) – Con mượn cái này được không ạ? (Xin phép) – Đến lượt con chưa ạ? (Luân phiên & Chờ đợi).
1. Nhóm câu hỏi về nhu cầu và xin giúp đỡ
-
“Mẹ/Bố ơi, giúp con?” (Dùng khi bé không mở được hộp sữa, không lấy được đồ trên cao, hoặc bị kẹt đồ chơi).
2. Nhóm câu hỏi khám phá thế giới
-
“Cái gì đây ạ?“ (Câu hỏi “kinh điển” khi bé nhìn thấy đồ vật mới, con vật mới).
-
“Ai đây ạ?“ (Giúp bé nhận diện người thân, hàng xóm, hoặc các nhân vật khi cùng mẹ đọc sách truyện).
-
“Tại sao lại thế ạ?” (Câu hỏi vàng kích thích tư duy logic. Dù đôi khi sẽ khiến người lớn đau đầu để giải thích, nhưng nó chứng tỏ não bộ của bé đang phát triển rất tốt).
3. Nhóm câu hỏi về vị trí và sở hữu
-
“[Tên đồ vật] ở đâu rồi ạ?“ (Ví dụ: “Dép của con ở đâu?”. Câu hỏi này giúp bé chủ động tìm kiếm đồ cá nhân thay vì khóc lóc bắt người lớn tìm hộ).
-
“Cái này của ai ạ?“ (Giúp bé hiểu về khái niệm sở hữu, biết phân biệt đồ của mình và đồ của người khác).
4. Nhóm câu hỏi xin phép và tương tác xã hội
-
“Con mượn cái này được không?“ (Dạy bé nguyên tắc phải xin phép trước khi lấy đồ không thuộc về mình).
5. Câu hỏi về xếp lượt, luân phiên và chờ đợi
- “Đến lượt con chưa?“ (Cực kỳ hữu ích khi bé ra sân chơi chung với các bạn, giúp rèn luyện sự kiên nhẫn và hiểu về luật luân phiên). Tình huống này rèn luyện sự luân phiên (turn-taking) – một kỹ năng xã hội rất khó với trẻ tự kỷ.
Học nói: 6 nhóm danh mục lớn được chia theo mục đích giao tiếp và môi trường sinh hoạt của bé.
Nếu bạn đang muốn dạy bé chậm nói, trẻ rối loạn phổ tự kỷ, hay rối loạn ngôn ngữ, bạn nên bắt đầu từ những câu căn bản nhất gắn liền với hoạt động của bé tại nhà, trường mầm non và khi vui chơi ngoài trời (công viên, nhà bóng). Nguyên tắc quan trọng nhất là ngôn ngữ chức năng — tức là dạy những từ/câu giúp con giải quyết ngay nhu cầu thực tế để giảm thiểu sự cáu gắt (meltdown) do không thể giao tiếp. Dưới đây là 7 nhóm danh mục lớn được chia theo mục đích giao tiếp và môi trường sinh hoạt của bé.
1. Nhóm Bày tỏ Nhu cầu Thiết yếu (Ăn, uống, vệ sinh) ↗
Đây là nhóm cần ưu tiên số 1 để con sinh tồn và cảm thấy thoải mái.
- Mục tiêu: Con biết cách xin đồ ăn, thức uống mình thích hoặc thông báo khi có nhu cầu sinh lý.
- Ví dụ bối cảnh: Giờ ăn cơm ở nhà/trường, khi khát nước, khi buồn đi vệ sinh, khi muốn lấy đồ chơi ngoài tầm với.
2. Nhóm Yêu cầu Sự trợ giúp & Giao tiếp Cốt lõi ↗
Trẻ tự kỷ thường gặp khó khăn trong việc nhờ vả và có xu hướng tự làm (hoặc kéo tay người lớn thay vì nói). Nhóm này giúp con bật âm để tương tác.
- Mục tiêu: Con biết gọi người khác, nhờ giúp đỡ và biết trả lời “Có/Không”.
- Ví dụ bối cảnh: Không mở được hộp đồ chơi, không với được đồ, mặc/cởi quần áo khó, hoặc phản hồi khi mẹ/cô giáo gọi tên.
3. Nhóm Từ chối & Bảo vệ bản thân (Kỹ năng khước từ) ↗
Nhóm này cực kỳ quan trọng nhưng hay bị bỏ quên. Khi trẻ không biết nói “Không”, trẻ sẽ dùng hành vi (la hét, ném đồ, cắn) để phản đối.
- Mục tiêu: Con biết cách từ chối một cách an toàn và được chấp nhận.
- Ví dụ bối cảnh: Bị bạn giành đồ chơi, không muốn ăn món nào đó, tiếng ồn quá to, hoặc khi con đã mệt/đủ rồi không muốn chơi nữa.
4. Nhóm Sinh hoạt Hàng ngày tại Nhà (Routine Words) ↗
Trẻ tự kỷ học rất tốt qua các thói quen lặp đi lặp lại (routines). Từ vựng gắn liền với các bước sinh hoạt sẽ giúp con dễ nhớ nhất.
- Mục tiêu: Giao tiếp trong các hoạt động quen thuộc cùng gia đình.
- Ví dụ bối cảnh: Lúc thức dậy, đi tắm (các bộ phận cơ thể, xà phòng, nước), đánh răng, mặc quần áo, dọn đồ chơi, đi ngủ.
5. Nhóm Hoạt động & Tương tác tại Trường Mầm non ↗
Môi trường trường học đòi hỏi con phải tuân thủ nề nếp và chú ý chung với các bạn.
- Mục tiêu: Giúp con hiểu lệnh của cô, tương tác cơ bản với bạn bè và tham gia hoạt động chung.
- Ví dụ bối cảnh: Giờ vòng tròn (chào hỏi), cất ba lô, chia sẻ đồ chơi (xin bạn, đợi đến lượt), giờ ra chơi, hoặc lúc đợi mẹ đón về.
6. Nhóm Nhận diện Trạng thái Cơ thể & Cảm xúc ↗
Trẻ tự kỷ thường rối loạn cảm giác nên việc gọi tên được sự khó chịu trong cơ thể sẽ giúp con bình tĩnh lại.
- Mục tiêu: Con báo được cho người lớn khi bị đau, khó chịu, hoặc biểu đạt cảm xúc vui/buồn.
- Ví dụ bối cảnh: Bị té ngã (chỉ chỗ đau), buồn ngủ, nóng/lạnh, tức giận, hoặc vui vẻ khi được chơi trò yêu thích.
7. Nhóm Vui chơi, Vận động & Tương tác xã hội (Công viên, nhà bóng, sân chơi) ↗
- Mục tiêu: Con biết yêu cầu trò chơi mình muốn, mô tả hành động, học cách chờ đến lượt cơ bản và tuân thủ tín hiệu chuyển đổi/an toàn của người lớn.
- Ví dụ bối cảnh & Từ vựng tiềm năng:
- Yêu cầu trò chơi/hành động: Đẩy (nhờ mẹ đẩy xích đu), thả (bóng), ném, trượt, nhảy, thổi (bong bóng xà phòng).
- Tương tác/Luân phiên: Lượt của con, chờ một chút, nhường bạn, xin chơi chung.
- Từ chỉ vị trí/cảm giác: Lên, xuống, cao quá, nhanh, chậm.
- Chuyển đổi hoạt động & An toàn: Dừng lại, đi về, đổi trò, mệt rồi.
💡 Mẹo thực hành hiệu quả:
Việc dạy ngôn ngữ ở khu vui chơi cực kỳ hiệu quả vì bạn có thể kết hợp vận động + phát âm. Ví dụ: Khi con đang chơi xích đu, bạn giữ xích đu lại, chờ con bật âm “Đẩy” (hoặc chỉ tay/giao tiếp mắt) rồi mới đẩy tiếp.
📌 Thứ tự ưu tiên: Trong các nhóm trên, Nhóm 1, 2 và 3 là quan trọng nhất và nên được ưu tiên dạy trước để giúp bé giải tỏa bức xúc khi chưa thể nói ra nhu cầu của bản thân.
Nguồn tham khảo: Kiến thức thực tế dạy con và những gợi ý từ AI.
[Ngôn ngữ] PLS-5 & CELF: Công cụ đánh giá chuyên sâu rối loạn ngôn ngữ và phân biệt Chậm nói đơn thuần với Tự kỷ
PLS-5 (Preschool Language Scales) hoặc CELF: Là hai công cụ đánh giá chuyên sâu về Rối loạn ngôn ngữ bao gồm cả ngôn ngữ hiểu và diễn đạt, giúp phân biệt trẻ Chậm nói đơn thuần với trẻ Tự kỷ.
(function() { const host = document.getElementById('slp-wp-host'); if (!host) return; const placeholder = document.createComment('slp-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // ========================================================= // PHẦN 1: DỮ LIỆU THANG ĐO NGÔN NGỮ MẦM NON PLS-5 (0 - 95 THÁNG / 0 - 7 TUỔI 11 THÁNG) // Chia thành 2 Thang chính: AC (Auditory Comprehension - 8 bậc) và EC (Expressive Communication - 8 bậc) // ========================================================= const pls5Items = [ // THANG 1: NGHE HIỂU THÍNH GIÁC (AUDITORY COMPREHENSION - AC • 8 BẬC TỪ 0 -> 84 THÁNG) { id: 1, scale: 'ac', refAge: 6, name: 'AC-1 (Mốc 0–9 tháng): Chú ý Thính giác & Phản ứng Tiền ngôn ngữ', desc: 'Trẻ quay đầu tìm nguồn âm thanh, nhìn chăm chú vào mặt người đang nói chuyện, hưởng ứng trò chơi Ú òa và hiểu giọng nói ngăn cản "Không!".' }, { id: 2, scale: 'ac', refAge: 14, name: 'AC-2 (Mốc 10–17 tháng): Hiểu Cử chỉ, Tên đồ vật quen thuộc & Mệnh lệnh 1 bước', desc: 'Quay lại ngay khi nghe gọi tên, nhìn theo hướng tay người lớn chỉ (Chú ý chung), chỉ đúng 3–5 bộ phận cơ thể/đồ vật quen thuộc và làm theo mệnh lệnh đơn ("Đưa bóng cho mẹ").' }, { id: 3, scale: 'ac', refAge: 22, name: 'AC-3 (Mốc 18–24 tháng): Chơi Biểu tượng, Chỉ tranh Danh từ/Động từ & Hiểu Giới từ cơ bản', desc: 'Biết chơi giả vờ với búp bê (cho ăn, ru ngủ), chỉ đúng 10–15 bức tranh danh từ và hành động (đang ăn, đang chạy, đang ngủ) trong sách tranh PLS-5, hiểu vị trí "Trong / Trên".' }, { id: 4, scale: 'ac', refAge: 32, name: 'AC-4 (Mốc 25–35 tháng): Hiểu Công dụng Đồ vật, Đại từ nhân xưng & Khái niệm Kích thước/Số lượng', desc: 'Chỉ đúng đồ vật theo công dụng ("Cái gì dùng để cắt/để uống?"), hiểu đại từ (Của con, Của cô, Anh ấy, Cô ấy), phân biệt To – Nhỏ, Một – Nhiều và làm theo mệnh lệnh 2 bước.' }, { id: 5, scale: 'ac', refAge: 44, name: 'AC-5 (Mốc 36–47 tháng / 3–4 tuổi): Hiểu Câu phủ định, Khái niệm Màu sắc, Không gian & Phân loại', desc: 'Hiểu câu phủ định ("Con nào KHÔNG biết bay?"), giới từ (Dưới, Cạnh, Trước, Sau), nhận diện 4 màu sắc, hiểu khái niệm cảm xúc và so sánh hơn.' }, { id: 6, scale: 'ac', refAge: 56, name: 'AC-6 (Mốc 48–59 tháng / 4–5 tuổi): Hiểu Câu phức, Câu bị động, Khái niệm Thời gian & Suy luận', desc: 'Hiểu các câu có mệnh đề phụ ("Trước khi..., Sau khi..."), phân biệt Sáng – Tối, Hôm qua – Ngày mai, đếm số lượng đến 5–10 và suy luận nguyên nhân tình huống.' }, { id: 7, scale: 'ac', refAge: 70, name: 'AC-7 (Mốc 60–71 tháng / 5–6 tuổi): Nghe hiểu Đoạn truyện ngắn, Nhận thức Âm vị & Khái niệm Thứ tự', desc: 'Nghe một đoạn truyện ngắn và trả lời đúng các câu hỏi chi tiết/suy luận, hiểu vị trí Đầu tiên – Ở giữa – Cuối cùng, nhận biết các từ bắt đầu cùng âm hoặc vần với nhau.' }, { id: 8, scale: 'ac', refAge: 84, name: 'AC-8 (Mốc 72–95 tháng / 6–7 tuổi): Hiểu Ngôn ngữ Học thuật, Thành ngữ/Ẩn dụ & Chỉ dẫn Phức hợp 3 bước', desc: 'Hiểu các cấu trúc câu phức tạp nhiều tầng, từ đồng nghĩa – trái nghĩa, suy luận ý định nhân vật (Thuyết tâm trí) và thực hiện chính xác chỉ dẫn đa bước.' }, // THANG 2: GIAO TIẾP DIỄN ĐẠT (EXPRESSIVE COMMUNICATION - EC • 8 BẬC TỪ 0 -> 84 THÁNG) { id: 9, scale: 'ec', refAge: 6, name: 'EC-1 (Mốc 0–9 tháng): Phát âm Tiền ngôn ngữ, Mỉm cười Xã hội & Bập bẹ Phụ âm – Nguyên âm', desc: 'Giao tiếp mắt mỉm cười, phát âm gù gù đáp trả và bập bẹ chuỗi âm tiết lặp lại ("ba-ba", "ma-ma", "đa-đa") với ít nhất 3–4 phụ âm khác nhau.' }, { id: 10, scale: 'ec', refAge: 14, name: 'EC-2 (Mốc 10–17 tháng): Giao tiếp Có chủ đích bằng Cử chỉ (Chỉ trỏ, Khoe đồ) & Nói 2–10 Từ đơn', desc: 'Chủ động chỉ ngón trỏ để yêu cầu hoặc chia sẻ sự chú ý kèm nhìn mắt, vẫy tay chào và nói chủ động từ 2 đến 10 từ đơn có nghĩa.' }, { id: 11, scale: 'ec', refAge: 22, name: 'EC-3 (Mốc 18–24 tháng): Vốn từ ≥ 50 từ, Gọi tên Tranh ảnh & Kết hợp Cụm 2–3 từ', desc: 'Gọi tên đúng các đồ vật quen thuộc trong sách PLS-5 và tự ghép 2–3 từ thành cụm từ có nghĩa ("Mẹ bế", "Uống sữa nữa", "Xe chạy kìa").' }, { id: 12, scale: 'ec', refAge: 32, name: 'EC-4 (Mốc 25–35 tháng): Nói Câu 3–4 từ, Đặt câu hỏi "Cái gì/Ở đâu?" & Dùng Đại từ/Giới từ', desc: 'Sử dụng câu có Chủ ngữ – Vị ngữ – Tân ngữ để mô tả tranh hành động, xưng "Con", dùng từ chỉ sở hữu và trả lời câu hỏi Ai / Cái gì / Đang làm gì.' }, { id: 13, scale: 'ec', refAge: 44, name: 'EC-5 (Mốc 36–47 tháng / 3–4 tuổi): Trả lời Câu hỏi "Tại sao/Như thế nào?", Giải thích Công dụng & Hội thoại', desc: 'Trả lời hợp lý câu hỏi "Tại sao con phải rửa tay?", "Khi đói con làm gì?", nói câu phức có từ nối ("và", "vì") và duy trì hội thoại qua lại 3–4 lượt.' }, { id: 14, scale: 'ec', refAge: 56, name: 'EC-6 (Mốc 48–59 tháng / 4–5 tuổi): Định nghĩa Từ vựng, Mô tả Điểm giống/khác nhau & Lặp lại câu dài', desc: 'Giải thích nghĩa của từ theo đặc điểm/danh mục, dùng đúng các từ chỉ thời gian quá khứ/tương lai và hoàn thành câu theo quy luật ngữ pháp.' }, { id: 15, scale: 'ec', refAge: 70, name: 'EC-7 (Mốc 60–71 tháng / 5–6 tuổi): Kể lại Câu chuyện có Mở – Thân – Kết theo Tranh & Giải quyết Vấn đề', desc: 'Sắp xếp và kể lại trọn vẹn câu chuyện theo chuỗi tranh một cách mạch lạc, trả lời câu hỏi xử lý tình huống xã hội và tách ghép âm tiết.' }, { id: 16, scale: 'ec', refAge: 84, name: 'EC-8 (Mốc 72–95 tháng / 6–7 tuổi): Đặt câu từ các Từ cho sẵn, Ngôn ngữ Trừu tượng & Thuyết phục', desc: 'Tự đặt câu hoàn chỉnh chứa 2–3 từ khóa cho trước (VD: "mặc dù... nhưng..."), giải thích từ đa nghĩa và sử dụng ngôn ngữ ngữ dụng linh hoạt.' } ]; // ========================================================= // PHẦN 2: DỮ LIỆU ĐÁNH GIÁ NGÔN NGỮ LÂM SÀNG CELF-5 (5 - 21 TUỔI • 10 TIỂU TRẮC NGHIỆM + PRAGMATICS) // Chấm trên thang Điểm chuẩn Tiểu trắc nghiệm Scaled Score (1 -> 19, Trung bình = 10, SD = 3) // ========================================================= const celf5Subtests = [ { id: 'SC', indices: ['CLS', 'RLI', 'LSI'], color: '#2563eb', name: '1. Hiểu Câu (Sentence Comprehension - SC) ★ [Thuộc CLS, RLI, LSI]', desc: 'Trẻ nghe một câu có cấu trúc ngữ pháp phức tạp dần và phải chỉ chọn đúng bức tranh tương ứng trong 4 bức tranh có các chi tiết gây nhiễu sát nhau.', measure: 'Đo lường khả năng giải mã cấu trúc ngữ pháp – cú pháp trong ngôn ngữ tiếp nhận.' }, { id: 'WC', indices: ['CLS', 'RLI', 'LCI'], color: '#0284c7', name: '2. Nhóm Từ / Quan hệ Từ vựng (Word Classes - WC) ★ [Thuộc CLS, RLI, LCI]', desc: 'Trẻ nhìn/nghe 3 – 4 từ (hoặc tranh) và phải chọn ra 2 từ có mối liên hệ ngữ nghĩa chặt chẽ nhất với nhau (VD: "Gối – Giường – Thước – Bút").', measure: 'Đo lường khả năng hiểu mối quan hệ ngữ nghĩa liên kết, phân loại khái niệm và suy luận từ vựng.' }, { id: 'FD', indices: ['CLS', 'RLI', 'LCI'], color: '#0d9488', name: '3. Làm theo Chỉ dẫn (Following Directions - FD) ★ [Thuộc CLS, RLI, LCI]', desc: 'Trẻ nghe một mệnh lệnh dài có chứa các khái niệm vị trí, thứ tự, kích thước, màu sắc và phải chỉ tay đúng vào các hình học theo đúng trình tự yêu cầu (VD: "Chỉ vào hình tròn màu đen thứ hai trước khi chỉ vào hình vuông lớn cuối cùng").', measure: 'Đo lường khả năng nghe hiểu chỉ dẫn phức hợp và trí nhớ làm việc ngôn ngữ ngắn hạn.' }, { id: 'WS', indices: ['CLS', 'ELI', 'LSI'], color: '#7c3aed', name: '4. Cấu trúc Từ / Hình thái – Ngữ pháp (Word Structure - WS) [Thuộc CLS, ELI, LSI]', desc: 'Người khám đọc một câu mẫu kèm tranh và bỏ lửng câu thứ hai để trẻ tự điền từ/cấu trúc ngữ pháp đúng (thì quá khứ/tương lai, từ chỉ số nhiều, sở hữu, so sánh, bị động).', measure: 'Đo lường khả năng vận dụng quy tắc ngữ pháp – hình thái học trong diễn đạt.' }, { id: 'RS', indices: ['CLS', 'ELI', 'LSI'], color: '#6d28d9', name: '5. Nhắc lại Câu (Recalling Sentences - RS) ★ [Thuộc CLS, ELI, LSI — Tiểu thang nhạy nhất với DLD]', desc: 'Trẻ nghe người khám đọc các câu có độ dài và độ phức tạp cú pháp tăng dần, sau đó phải nhắc lại nguyên văn từng chữ mà không được thêm bớt hay đổi từ.', measure: 'Chỉ báo lâm sàng nhạy bén số 1 thế giới để phát hiện Rối loạn Ngôn ngữ Phát triển (DLD): vì trẻ chỉ có thể nhắc lại câu dài nếu não bộ đã nắm vững cấu trúc cú pháp đó!' }, { id: 'FS', indices: ['CLS', 'ELI', 'LSI'], color: '#9333ea', name: '6. Đặt câu từ Từ khóa (Formulated Sentences - FS) ★ [Thuộc CLS, ELI, LSI]', desc: 'Trẻ nhìn một bức tranh bối cảnh sinh hoạt và phải tự đặt một câu nói hoàn chỉnh, đúng ngữ pháp, hợp ngữ cảnh có sử dụng 1 hoặc 2 từ khóa bắt buộc do người khám đưa ra (VD: đặt câu có từ "mặc dù" hoặc "trước khi").', measure: 'Đo lường khả năng lập kế hoạch cú pháp và diễn đạt câu phức trong ngữ cảnh thực tế.' }, { id: 'WD', indices: ['ELI', 'LCI'], color: '#10b981', name: '7. Định nghĩa Từ (Word Definitions - WD) [Thuộc ELI, LCI]', desc: 'Trẻ nghe một từ vựng trong câu và phải tự định nghĩa, giải thích chính xác ý nghĩa bản chất của từ đó bằng lời của mình.', measure: 'Đo lường độ sâu của vốn từ vựng diễn đạt và khả năng khái quát hóa ngôn ngữ.' }, { id: 'USP', indices: ['RLI', 'LCI'], color: '#059669', name: '8. Nghe hiểu Đoạn văn (Understanding Spoken Paragraphs - USP) [Thuộc RLI, LCI]', desc: 'Người khám đọc một đoạn truyện ngắn và hỏi trẻ các câu hỏi đánh giá: Ý chính, Chi tiết sự kiện, Trình tự, Suy luận nguyên nhân và Dự đoán điều sẽ xảy ra tiếp theo.', measure: 'Đo lường khả năng tích hợp thông tin ngôn ngữ bậc cao và suy luận văn bản.' }, { id: 'SR', indices: ['RLI', 'ELI', 'LCI'], color: '#f59e0b', name: '9. Quan hệ Ngữ nghĩa (Semantic Relationships - SR) [Thuộc LCI]', desc: 'Trẻ giải quyết các câu hỏi chứa mối quan hệ so sánh, không gian, thời gian và bị động phức tạp (VD: "Nam cao hơn Hùng nhưng thấp hơn Minh. Ai thấp nhất?").', measure: 'Đo lường khả năng xử lý logic ngữ nghĩa trừu tượng.' }, { id: 'PP', indices: ['PRAG'], color: '#dc2626', name: '10. Hồ sơ Ngôn ngữ Ngữ dụng (Pragmatics Profile & Pragmatics Activities - PP) ★ [Đặc hiệu cho ASD & SPCD]', desc: 'Đánh giá hơn 50 kỹ năng giao tiếp xã hội thực tế: giao tiếp mắt, đọc biểu cảm nét mặt/giọng điệu, biết bắt đầu – duy trì – chuyển chủ đề hội thoại, hiểu lời nói đùa/ẩn ý và xin lỗi/nhờ giúp đỡ phù hợp.', measure: 'Đo lường năng lực sử dụng ngôn ngữ trong tương tác xã hội (Ngữ dụng học — Pragmatics).' } ]; let activeTool = 'pls5'; // 'pls5' | 'celf5' let plsChildMonths = 36; // Tuổi thực cho PLS-5 (1 -> 95 tháng) // plsScores[id]: 2 (Đạt thành thạo), 1 (Đang hình thành), 0 (Chưa đạt) let plsScores = {}; // celfSS[id]: Scaled Score từ 1 đến 19 (Mean = 10, SD = 3) let celfSS = {}; let filterSub = 'all'; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .sl-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } .sl-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .sl-inner { padding: 24px; max-width: 980px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .sl-wrap.is-fullscreen .sl-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .sl-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 0 rgba(37, 99, 235, 0.4); } 70% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 10px rgba(37, 99, 235, 0); } 100% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 0 rgba(37, 99, 235, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #1d4ed8 0%, #2563eb 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Bộ chuyển đổi 2 Thang đo: PLS-5 vs CELF-5 */ .tool-switcher { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; background: #f1f5f9; padding: 10px; border-radius: 12px; margin-bottom: 18px; } .tool-btn { padding: 12px 14px; border-radius: 9px; border: 2px solid transparent; background: rgba(255, 255, 255, 0.7); cursor: pointer; text-align: left; transition: all 0.2s ease; touch-action: manipulation; } .tool-btn:hover { background: #ffffff; } .tool-btn.active { background: #ffffff; border-color: #2563eb; box-shadow: 0 3px 10px rgba(15, 23, 42, 0.08); } .tool-btn-title { font-size: 14.5px; font-weight: 800; color: #0f172a; display: block; } .tool-btn.active .tool-btn-title { color: #1d4ed8; } .tool-btn-sub { font-size: 12px; color: #64748b; margin-top: 3px; display: block; } .sl-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .sl-header-text { flex: 1 1 260px; } .sl-title { font-size: 20px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .sl-desc { font-size: 13.8px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #eff6ff; color: #1d4ed8; border: 1px solid #bfdbfe; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #2563eb; color: #ffffff; border-color: #2563eb; } .sl-controls { display: flex; flex-direction: column; gap: 10px; margin-bottom: 18px; } .sl-age-bar { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; background: #eff6ff; padding: 10px 14px; border-radius: 10px; border: 1px solid #bfdbfe; } .sl-select { padding: 7px 12px; border: 1px solid #2563eb; border-radius: 7px; font-size: 13.5px; font-weight: 700; color: #1e3a8a; background: #ffffff; } .sl-presets { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; } .sl-preset-lbl { font-size: 12.5px; font-weight: 700; color: #475569; margin-right: 4px; } .sl-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; touch-action: manipulation; } .sl-pbtn:hover { background: #f1f5f9; } .sl-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } /* Sticky Dashboard */ .sl-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .sl-wrap.is-fullscreen .sl-dash { top: 58px; } .sl-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .sl-score-big { font-size: 20px; font-weight: 800; line-height: 1.25; } .sl-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .sl-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .sl-pillars { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; font-size: 11.5px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .sl-pillar-box { background: #1e293b; padding: 7px 9px; border-radius: 8px; border-left: 3px solid #475569; } .sl-pillar-box.avg { border-left-color: #10b981; } .sl-pillar-box.mild { border-left-color: #f59e0b; background: rgba(245, 158, 11, 0.14); } .sl-pillar-box.sev { border-left-color: #ef4444; background: rgba(239, 68, 68, 0.16); } .sl-pillar-val { font-weight: 800; color: #ffffff; font-size: 13px; display: block; margin-top: 2px; } /* Danh sách mục */ .sl-item { border: 1px solid #e2e8f0; border-radius: 12px; padding: 14px 16px; margin-bottom: 12px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 8px; } .sl-item.pass-item { border-color: #a7f3d0; background: #f0fdf4; } .sl-item.mid-item { border-color: #fde68a; background: #fffbeb; } .sl-item.fail-item { border-color: #fca5a5; background: #fff5f5; } .sl-item-title { font-size: 15px; font-weight: 800; color: #0f172a; } .sl-item-desc { font-size: 13.4px; color: #334155; } .sl-tags { display: flex; flex-wrap: wrap; gap: 6px; } .sl-tag { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .sl-ans-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 2px; } .sl-ans-grid.grid-7 { grid-template-columns: repeat(7, 1fr); gap: 6px; } .sl-abtn { padding: 8px 6px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 700; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .sl-abtn:hover { border-color: #64748b; } .sl-abtn.sel-high { background: #2563eb; border-color: #2563eb; color: #ffffff; } .sl-abtn.sel-ok { background: #10b981; border-color: #10b981; color: #ffffff; } .sl-abtn.sel-warn { background: #f59e0b; border-color: #f59e0b; color: #ffffff; } .sl-abtn.sel-low { background: #ef4444; border-color: #ef4444; color: #ffffff; } /* Bảng Báo cáo Chuẩn Âm ngữ Trị liệu */ .sl-table-card { margin-top: 20px; padding: 16px 18px; border-radius: 12px; background: #ffffff; border: 1px solid #e2e8f0; overflow-x: auto; } .sl-table { width: 100%; border-collapse: collapse; font-size: 13px; min-width: 640px; } .sl-table th, .sl-table td { border: 1px solid #cbd5e1; padding: 8px 10px; text-align: center; } .sl-table th { background: #f1f5f9; font-weight: 800; color: #0f172a; } .sl-result-box { margin-top: 16px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #2563eb; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 780px) { .sl-inner { padding: 14px; } .tool-switcher { grid-template-columns: 1fr; } .sl-title { font-size: 18px; } .sl-pillars { grid-template-columns: 1fr 1fr; } .sl-ans-grid { grid-template-columns: 1fr; } .sl-ans-grid.grid-7 { grid-template-columns: repeat(4, 1fr); } .sl-pbtn.reset { margin-left: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
| Thang đo / Chỉ số Ngôn ngữ (Scale / Index) | Thành phần đánh giá | Điểm Chuẩn (Standard Score: 50–150) | Bách phân vị (Percentile) | Phân loại Mức độ Lâm sàng (SLP) |
|---|
1. Thang Đo Ngôn Ngữ Mầm Non PLS-5 — Preschool Language Scales, 5th Edition (0 Đến 7 Tuổi 11 Tháng)
' + '' + 'Công cụ tiêu chuẩn vàng của Zimmerman, Steiner & Pond (2011) đánh giá toàn diện từ giai đoạn tiền ngôn ngữ đến ngôn ngữ đầu tiểu học qua 2 thang: Nghe hiểu Thính giác (Auditory Comprehension - AC) và Giao tiếp Diễn đạt (Expressive Communication - EC), tổng hợp thành Tổng điểm Ngôn ngữ (Total Language Score - TLS).' + '
'; } else { plsAgeBar.style.display = 'none'; headerInfo.innerHTML = '2. Hệ Thống Đánh Giá Cơ Bản Ngôn Ngữ Lâm Sàng CELF-5 — Clinical Evaluation of Language Fundamentals (5 Đến 21 Tuổi)
' + '' + 'Công cụ chẩn đoán chuyên sâu của Wiig, Secord & Semel (2013) tính toán 5 Chỉ số Chuẩn hóa: Ngôn ngữ Cốt lõi (CLS), Tiếp nhận (RLI), Diễn đạt (ELI), Nội dung Ngữ nghĩa (LCI), Cấu trúc Ngữ pháp (LSI) và Hồ sơ Ngữ dụng (Pragmatics Profile).' + '
'; } } function renderItems() { itemList.innerHTML = ''; if (activeTool === 'pls5') { const curAge = parseInt(selPlsAge.value, 10) || 36; const plsBtns = [ { val: 2, lbl: 'Đạt thành thạo (Pass = 1.0)', cls: 'sel-ok' }, { val: 1, lbl: 'Đang hình thành (Emerging = 0.5)', cls: 'sel-warn' }, { val: 0, lbl: 'Chưa đạt (Fail = 0)', cls: 'sel-low' } ]; pls5Items.forEach(function(it) { const uVal = (plsScores[it.id] !== undefined) ? plsScores[it.id] : 0; const isAC = (it.scale === 'ac'); const badgeColor = isAC ? '#2563eb' : '#7c3aed'; const scaleLabel = isAC ? '1. Nghe hiểu Thính giác (Auditory Comprehension - AC)' : '2. Giao tiếp Diễn đạt (Expressive Communication - EC)'; let rowCls = 'sl-item '; if (uVal === 2) rowCls += 'pass-item'; else if (uVal === 1) rowCls += 'mid-item'; else if (it.refAge { const cls = 'sl-abtn' + (uVal === b.val ? ' ' + b.cls : ''); return ''; }).join(''); const ageNote = (it.refAge <= curAge) ? 'Mốc ≤ tuổi thực của bé (' + it.refAge + 'm ≤ ' + curAge + 'm)' : 'Mốc cao hơn tuổi hiện tại (' + it.refAge + 'm)'; const el = document.createElement('div'); el.className = rowCls; el.innerHTML = '' + '🎯 ' + st.measure + '
' + '• 2. Đề xuất Mục tiêu Can thiệp Âm ngữ Trị liệu (SLP): Tập trung dạy ngay tại bậc kỹ năng đầu tiên đang đạt mức Đang hình thành (1đ) hoặc Chưa đạt (0đ) ở bảng trên (Ưu tiên xây dựng Chú ý chung, Cử chỉ chỉ trỏ và Chơi biểu tượng trước khi ép trẻ nói câu dài).'; } else { // CELF-5 SUMMARY const ss = {}; celf5Subtests.forEach(st => { ss[st.id] = (celfSS[st.id] !== undefined) ? celfSS[st.id] : 10; }); // Tính 5 Chỉ số Chuẩn hóa của CELF-5 + Hồ sơ Ngữ dụng (PP) const indCLS = scaledAvgToStandard((ss.SC + ss.WC + ss.FD + ss.WS + ss.RS + ss.FS) / 6); const indRLI = scaledAvgToStandard((ss.SC + ss.WC + ss.FD + ss.USP) / 4); const indELI = scaledAvgToStandard((ss.WS + ss.RS + ss.FS + ss.WD) / 4); const indLCI = scaledAvgToStandard((ss.WC + ss.FD + ss.WD + ss.USP + ss.SR) / 5); const indLSI = scaledAvgToStandard((ss.SC + ss.WS + ss.RS + ss.FS) / 4); const indPRAG = scaledAvgToStandard(ss.PP); const cCLS = classifyLangStandardScore(indCLS); const cRLI = classifyLangStandardScore(indRLI); const cELI = classifyLangStandardScore(indELI); const cLCI = classifyLangStandardScore(indLCI); const cLSI = classifyLangStandardScore(indLSI); const cPRAG = classifyLangStandardScore(indPRAG); dashHeadline.textContent = 'CELF-5 Ngôn Ngữ Cốt Lõi (CLS): ' + indCLS + ' • Tiếp Nhận (RLI): ' + indRLI + ' • Diễn Đạt (ELI): ' + indELI; dashSub.textContent = 'Nội dung Ngữ nghĩa (LCI): ' + indLCI + ' • Cấu trúc Cú pháp (LSI): ' + indLSI + ' • Hồ sơ Ngữ dụng (PP): ' + indPRAG; dashPillars.innerHTML = '
' + ' Trẻ có năng lực từ vựng và ngữ pháp cấu trúc hoàn toàn bình thường (CLS = ' + indCLS + ', LSI = ' + indLSI + '), nhưng lại sụt giảm nặng ở Hồ sơ Ngữ dụng (Pragmatics Profile = ' + indPRAG + ' ≤ 77). Trẻ nói được câu dài đúng ngữ pháp nhưng không biết cách dùng ngôn ngữ để hội thoại qua lại, không hiểu ẩn ý/nói đùa và thiếu tinh tế xã hội.'; } else if (indCLS = 86) { diffAnalysis = '• 🔍 Phát hiện Kiểu hình Điển hình của Rối loạn Ngôn ngữ Phát triển (DLD — Mã ICD-11: 6A01.2):
' + ' Trẻ bị suy giảm rõ rệt ở Ngôn ngữ Cốt lõi (CLS = ' + indCLS + ') và tiểu thang Nhắc lại câu (RS = ' + ss.RS + '), nhưng Hồ sơ Ngữ dụng và ý định giao tiếp xã hội vẫn tốt (PP = ' + indPRAG + ' ≥ 86). Điều này giúp phân biệt DLD thuần túy với Rối loạn phổ tự kỷ!'; } else if (indCLS <= 77 && indPRAG <= 77) { diffAnalysis = '• 🚨 Ghi nhận Suy giảm Kép cả Cấu trúc Ngôn ngữ (CLS = ' + indCLS + ') lẫn Ngữ dụng Xã hội (PP = ' + indPRAG + '):
' + ' Thường gặp ở trẻ Rối loạn phổ tự kỷ có kèm suy giảm ngôn ngữ chức năng (Mã ICD-11: 6A02.2 / DSM-5-TR). Cần can thiệp đồng thời cả mở rộng cấu trúc câu/từ vựng lẫn kỹ năng tương tác hội thoại xã hội.'; } else { diffAnalysis = '• ✓ Hồ sơ Ngôn ngữ Học đường Ổn định: Cả 5 chỉ số ngôn ngữ cốt lõi và kỹ năng ngữ dụng đều nằm trong giới hạn bình thường của lứa tuổi.'; } resultBox.innerHTML = '
' + '• So sánh Nội dung Ngữ nghĩa (LCI = ' + indLCI + ') vs. Cấu trúc Cú pháp (LSI = ' + indLSI + '): ' + (Math.abs(indLCI - indLSI) >= 15 ? (indLCI > indLSI ? 'Vốn từ vựng ngữ nghĩa tốt hơn hẳn khả năng sắp xếp ngữ pháp câu (Cần tập trung rèn cú pháp đặt câu).' : 'Cấu trúc câu máy móc tốt hơn sự thấu hiểu sâu về ngữ nghĩa/đoạn văn (Hiện tượng Hyperlexia thường gặp ở trẻ ASD).') : 'Phát triển tương đối đồng đều giữa từ vựng ngữ nghĩa và cấu trúc ngữ pháp.'); } updateFloatingFabVisibility(); } function applyPreset(type) { plsScores = {}; celfSS = {}; const curAge = parseInt(selPlsAge.value, 10) || 36; if (type === 'reset') { pls5Items.forEach(it => { plsScores[it.id] = 0; }); celf5Subtests.forEach(st => { celfSS[st.id] = 10; }); renderItems(); updateSummary(); return; } if (type === 'normal') { pls5Items.forEach(it => { plsScores[it.id] = (it.refAge <= curAge) ? 2 : ((it.refAge { celfSS[st.id] = 10; }); } else if (type === 'exp_delay') { // Nghe hiểu tốt (AC / RLI ~100), nhưng Diễn đạt thấp (EC / ELI ~68) pls5Items.forEach(it => { if (it.scale === 'ac') { plsScores[it.id] = (it.refAge <= curAge) ? 2 : 0; } else { plsScores[it.id] = (it.refAge <= curAge * 0.55) ? 2 : 0; } }); celfSS = { SC: 10, WC: 10, FD: 10, USP: 10, SR: 10, WS: 5, RS: 5, FS: 5, WD: 7, PP: 10 }; } else if (type === 'dld_severe') { // Rối loạn ngôn ngữ hỗn hợp (Cả tiếp nhận và diễn đạt đều thấp { plsScores[it.id] = (it.refAge { if (it.id === 2 || it.id === 3 || it.id === 10 || it.id === 13) plsScores[it.id] = 1; else plsScores[it.id] = (it.refAge <= curAge) ? 2 : 0; }); celfSS = { SC: 12, WC: 12, FD: 10, WS: 12, RS: 12, FS: 10, WD: 10, USP: 5, SR: 7, PP: 3 }; } renderItems(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); slWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { slWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 980px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } shadow.querySelectorAll('#toolSwitcher .tool-btn').forEach(function(btn) { btn.onclick = function() { activeTool = this.getAttribute('data-tool'); shadow.querySelectorAll('#toolSwitcher .tool-btn').forEach(b => b.classList.remove('active')); this.classList.add('active'); renderHeader(); renderItems(); updateSummary(); }; }); selPlsAge.onchange = () => { applyPreset('exp_delay'); }; shadow.querySelectorAll('.sl-pbtn').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-preset')); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); renderHeader(); applyPreset('asd_prag'); })();
PLS-5 (Preschool Language Scales, Fifth Edition) và CELF-5 / CELF-P3 (Clinical Evaluation of Language Fundamentals) là bộ đôi “Tiêu chuẩn vàng” (Gold Standard) toàn cầu trong chuyên ngành Âm ngữ Trị liệu (Speech-Language Pathology – SLP) để đánh giá chẩn đoán toàn diện các rối loạn ngôn ngữ phát triển, chậm nói và khiếm khuyết ngôn ngữ ngữ dụng ở trẻ Tự kỷ (ASD), Rối loạn ngôn ngữ phát triển (DLD) và ADHD.
Trong thực hành lâm sàng, hai công cụ này tạo thành một trục nối tiếp hoàn hảo theo độ tuổi: PLS-5 bao phủ giai đoạn từ sơ sinh đến 7 tuổi, và CELF-5 tiếp nối từ 5 tuổi đến 21 tuổi.
1. So sánh lâm sàng giữa PLS-5 và CELF-5
Các hợp chất điều phối toàn bộ hệ thống vận hành, bảo trì và cung cấp năng lượng cho não bộ
🛡️ Đang xem Chất quản lý số 1: Glutathione – "Hệ thống làm mát và dọn rác" vĩ đại nhất
[Tự kỷ] CSBS DP: Bảng kiểm sàng lọc sớm giao tiếp và dấu hiệu tự kỷ cho trẻ rất nhỏ (6 – 24 tháng)
(function() { const host = document.getElementById('csbsdp-wp-host'); if (!host) return; const placeholder = document.createComment('csbsdp-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // Bảng Ngưỡng Điểm Cắt Đáng Lo Ngại (Concern Cutoffs 24 tháng) // Nếu điểm của trẻ <= các mốc dưới đây thì rơi vào vùng "Đáng lo ngại (Concern)" const normCutoffsByMonth = { 6: { soc: 7, spe: 1, sym: 2, tot: 12 }, 7: { soc: 8, spe: 1, sym: 2, tot: 13 }, 8: { soc: 9, spe: 2, sym: 3, tot: 16 }, 9: { soc: 11, spe: 2, sym: 3, tot: 18 }, 10: { soc: 13, spe: 3, sym: 4, tot: 22 }, 11: { soc: 14, spe: 3, sym: 5, tot: 24 }, 12: { soc: 15, spe: 4, sym: 6, tot: 27 }, 13: { soc: 16, spe: 4, sym: 7, tot: 29 }, 14: { soc: 17, spe: 5, sym: 8, tot: 32 }, 15: { soc: 18, spe: 5, sym: 9, tot: 34 }, 16: { soc: 19, spe: 6, sym: 10, tot: 37 }, 17: { soc: 19, spe: 6, sym: 11, tot: 38 }, 18: { soc: 20, spe: 7, sym: 11, tot: 40 }, 19: { soc: 20, spe: 8, sym: 12, tot: 42 }, 20: { soc: 20, spe: 8, sym: 12, tot: 42 }, 21: { soc: 20, spe: 9, sym: 13, tot: 44 }, 22: { soc: 20, spe: 9, sym: 13, tot: 44 }, 23: { soc: 21, spe: 10, sym: 14, tot: 46 }, 24: { soc: 21, spe: 10, sym: 14, tot: 46 } }; // Cấu hình 7 Cụm kỹ năng (Clusters) thuộc 3 Chỉ số Tổng hợp (Composites) const clusterConfigs = { emo: { code: 'emo', comp: 'soc', max: 8, name: 'Cụm 1. Cảm xúc & Giao tiếp Ánh mắt (Emotion & Eye Gaze • 4 câu)', color: '#2563eb' }, com: { code: 'com', comp: 'soc', max: 8, name: 'Cụm 2. Giao tiếp Có Chủ đích (Communication • 4 câu)', color: '#1d4ed8' }, ges: { code: 'ges', comp: 'soc', max: 10, name: 'Cụm 3. Cử chỉ Giao tiếp (Gestures • 5 câu)', color: '#3b82f6' }, snd: { code: 'snd', comp: 'spe', max: 8, name: 'Cụm 4. Âm thanh Tiền ngôn ngữ (Sounds • 3 câu)', color: '#0d9488' }, wrd: { code: 'wrd', comp: 'spe', max: 6, name: 'Cụm 5. Từ vựng & Kết hợp từ (Words • 2 câu)', color: '#059669' }, und: { code: 'und', comp: 'sym', max: 6, name: 'Cụm 6. Thông hiểu Ngôn ngữ (Understanding • 2 câu)', color: '#7c3aed' }, obj: { code: 'obj', comp: 'sym', max: 11, name: 'Cụm 7. Sử dụng Đồ vật & Chơi giả vờ (Object Use • 4 câu)', color: '#9333ea' } }; // Đầy đủ 24 Câu hỏi chuẩn của CSBS DP Infant-Toddler Checklist (Tổng điểm tối đa = 57 điểm) const stdOpts012 = [ { pt: 0, lbl: 'Chưa có (Not Yet • 0đ)' }, { pt: 1, lbl: 'Thỉnh thoảng (Sometimes • 1đ)' }, { pt: 2, lbl: 'Thường xuyên (Often • 2đ)' } ]; const questions = [ // CỤM 1: CẢM XÚC & GIAO TIẾP ÁNH MẮT (Câu 1 - 4 • Max 8đ • Thuộc SOCIAL COMPOSITE) { id: 1, clu: 'emo', comp: 'soc', t: 'Bạn có dễ dàng nhận biết được khi nào bé đang vui vẻ và khi nào bé đang khó chịu/buồn bực không?', opts: stdOpts012 }, { id: 2, clu: 'emo', comp: 'soc', t: 'Khi đang chơi với các món đồ chơi, bé có quay sang nhìn bạn để xem bạn có đang nhìn bé chơi không?', opts: stdOpts012 }, { id: 3, clu: 'emo', comp: 'soc', t: 'Bé có mỉm cười hoặc cười thành tiếng trong khi đang nhìn vào mắt bạn không?', opts: stdOpts012 }, { id: 4, clu: 'emo', comp: 'soc', t: 'Khi bạn nhìn và chỉ tay vào một món đồ chơi ở góc bên kia phòng, bé có nhìn theo hướng tay bạn chỉ tới món đồ chơi đó không?', opts: stdOpts012 }, // CỤM 2: GIAO TIẾP CÓ CHỦ ĐÍCH (Câu 5 - 8 • Max 8đ • Thuộc SOCIAL COMPOSITE) { id: 5, clu: 'com', comp: 'soc', t: 'Bé có biết chủ động cho bạn biết khi bé cần sự giúp đỡ hoặc muốn lấy một đồ vật nằm ngoài tầm tay với không?', opts: stdOpts012 }, { id: 6, clu: 'com', comp: 'soc', t: 'Khi bạn đang không chú ý đến bé, bé có cố gắng làm điều gì đó (như phát âm, gọi, kéo áo) để thu hút sự chú ý của bạn không?', opts: stdOpts012 }, { id: 7, clu: 'com', comp: 'soc', t: 'Bé có làm những trò ngộ nghĩnh, đáng yêu chỉ để khiến bạn bật cười không?', opts: stdOpts012 }, { id: 8, clu: 'com', comp: 'soc', t: 'Bé có cố gắng thu hút bạn chú ý nhìn vào những đồ vật mà bé thấy thú vị (nhưng không phải để xin lấy hộ) không?', opts: stdOpts012 }, // CỤM 3: CỬ CHỈ GIAO TIẾP (Câu 9 - 13 • Max 10đ • Thuộc SOCIAL COMPOSITE) { id: 9, clu: 'ges', comp: 'soc', t: 'Bé có biết cầm lấy một đồ vật và đưa trao vào tay bạn không?', opts: stdOpts012 }, { id: 10, clu: 'ges', comp: 'soc', t: 'Bé có giơ đồ vật lên đưa cho bạn xem (khoe đồ) nhưng không phải để đưa hẳn cho bạn không?', opts: stdOpts012 }, { id: 11, clu: 'ges', comp: 'soc', t: 'Bé có biết vẫy tay chào tạm biệt ("Bye-bye") không?', opts: stdOpts012 }, { id: 12, clu: 'ges', comp: 'soc', t: 'Bé có biết dùng ngón tay chỉ trỏ vào các đồ vật ở xa không?', opts: stdOpts012 }, { id: 13, clu: 'ges', comp: 'soc', t: 'Bé có biết gật đầu để biểu thị ý "Có / Đồng ý" không?', opts: stdOpts012 }, // CỤM 4: ÂM THANH TIỀN NGÔN NGỮ (Câu 14 - 16 • Max 8đ • Thuộc SPEECH COMPOSITE) { id: 14, clu: 'snd', comp: 'spe', t: 'Bé có sử dụng các âm thanh hoặc từ ngữ để xin giúp đỡ hoặc để thu hút sự chú ý của bạn không?', opts: stdOpts012 }, { id: 15, clu: 'snd', comp: 'spe', t: 'Bé có biết ghép các âm thanh lại với nhau thành chuỗi âm tiết lặp lại (ví dụ: "ba-ba-ba", "ma-ma", "đa-ga") không?', opts: stdOpts012 }, { id: 16, clu: 'snd', comp: 'spe', t: 'Bé đã phát âm được khoảng bao nhiêu phụ âm sau đây: M, N, B, P, D, T, G, K, V, L, S, X, Ch, Nh...?', opts: [ { pt: 0, lbl: 'Chưa có âm nào (0đ)' }, { pt: 1, lbl: '1 – 2 phụ âm (1đ)' }, { pt: 2, lbl: '3 – 4 phụ âm (2đ)' }, { pt: 3, lbl: '5 – 8 phụ âm (3đ)' }, { pt: 4, lbl: 'Trên 8 phụ âm (4đ)' } ] }, // CỤM 5: TỪ VỰNG & KẾT HỢP TỪ (Câu 17 - 18 • Max 6đ • Thuộc SPEECH COMPOSITE) { id: 17, clu: 'wrd', comp: 'spe', t: 'Bé đã tự nói được khoảng bao nhiêu từ đơn có nghĩa mà bạn nhận ra được (như "Mẹ", "Bà", "Măm", "Bóng", "Xe" — tính cả từ phát âm chưa thật tròn vành)?', opts: [ { pt: 0, lbl: 'Chưa nói từ nào (0đ)' }, { pt: 1, lbl: '1 – 3 từ đơn (1đ)' }, { pt: 2, lbl: '4 – 10 từ đơn (2đ)' }, { pt: 3, lbl: '11 – 30 từ đơn (3đ)' }, { pt: 4, lbl: 'Trên 30 từ vựng (4đ)' } ] }, { id: 18, clu: 'wrd', comp: 'spe', t: 'Bé có biết ghép 2 từ lại với nhau thành cụm từ có nghĩa (ví dụ: "Thêm nữa", "Mẹ bế", "Đi chơi", "Bóng này") không?', opts: stdOpts012 }, // CỤM 6: THÔNG HIỂU NGÔN NGỮ (Câu 19 - 20 • Max 6đ • Thuộc SYMBOLIC COMPOSITE) { id: 19, clu: 'und', comp: 'sym', t: 'Khi bạn gọi tên của bé, bé có quay đầu lại nhìn hoặc phản ứng ngay không?', opts: stdOpts012 }, { id: 20, clu: 'und', comp: 'sym', t: 'Bé hiểu được khoảng bao nhiêu tên gọi của người thân, bộ phận cơ thể hoặc đồ vật quen thuộc khi bạn hỏi mà không chỉ tay (như "Mẹ đâu?", "Bóng đâu?", "Mũi đâu?")?', opts: [ { pt: 0, lbl: 'Chưa hiểu tên đồ vật nào (0đ)' }, { pt: 1, lbl: 'Hiểu 1 – 3 tên gọi (1đ)' }, { pt: 2, lbl: 'Hiểu 4 – 10 tên gọi (2đ)' }, { pt: 3, lbl: 'Hiểu 11 – 30 tên gọi (3đ)' }, { pt: 4, lbl: 'Hiểu trên 30 tên gọi (4đ)' } ] }, // CỤM 7: SỬ DỤNG ĐỒ VẬT & CHƠI GIẢ VỜ (Câu 21 - 24 • Max 11đ • Thuộc SYMBOLIC COMPOSITE) { id: 21, clu: 'obj', comp: 'sym', t: 'Bé có tỏ ra thích thú chơi với nhiều loại đồ vật/đồ chơi đa dạng khác nhau (không chỉ dính chặt vào 1 món duy nhất) không?', opts: stdOpts012 }, { id: 22, clu: 'obj', comp: 'sym', t: 'Bé biết sử dụng đúng chức năng được khoảng bao nhiêu đồ vật thực tế sau đây: Cốc (để uống), Thìa/Bát (để xúc), Lược (chải đầu), Bàn chải (đánh răng), Điện thoại (áp lên tai), Xe hơi (đẩy lăn)?', opts: [ { pt: 0, lbl: 'Chưa biết dùng đúng chức năng (0đ)' }, { pt: 1, lbl: '1 – 2 đồ vật (1đ)' }, { pt: 2, lbl: '3 – 4 đồ vật (2đ)' }, { pt: 3, lbl: 'Từ 5 đồ vật trở lên (3đ)' } ] }, { id: 23, clu: 'obj', comp: 'sym', t: 'Bé có thể xếp chồng được khoảng bao nhiêu khối gỗ (hoặc hộp/vòng xếp) lên nhau thành tháp?', opts: [ { pt: 0, lbl: 'Chưa biết xếp chồng (0đ)' }, { pt: 1, lbl: 'Xếp được 2 khối (1đ)' }, { pt: 2, lbl: 'Xếp được 3 – 4 khối (2đ)' }, { pt: 3, lbl: 'Xếp được từ 5 khối trở lên (3đ)' } ] }, { id: 24, clu: 'obj', comp: 'sym', t: 'Bé có biết chơi đóng vai giả vờ chăm sóc búp bê hoặc thú nhồi bông (như lấy thìa đút cho gấu ăn, cho búp bê uống nước, đắp chăn ru búp bê ngủ) không?', opts: [ { pt: 0, lbl: 'Chưa biết chơi giả vờ (0đ)' }, { pt: 1, lbl: 'Thỉnh thoảng / Làm theo mẫu (1đ)' }, { pt: 3, lbl: 'Thường xuyên tự chơi giả vờ đa dạng (3đ)' } ] } ]; let childMonth = 18; // Mặc định 18 tháng tuổi (Có thể chọn bất kỳ tháng nào từ 6 đến 24 tháng) let answers = {}; let filterComp = 'all'; // 'all' | 'soc' | 'spe' | 'sym' let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .cs-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .cs-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .cs-inner { padding: 24px; max-width: 980px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .cs-wrap.is-fullscreen .cs-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .cs-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 0 rgba(37, 99, 235, 0.4); } 70% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 10px rgba(37, 99, 235, 0); } 100% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 0 rgba(37, 99, 235, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #1d4ed8 0%, #2563eb 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Header */ .cs-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .cs-header-text { flex: 1 1 260px; } .cs-title { font-size: 21px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .cs-desc { font-size: 14px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #eff6ff; color: #1d4ed8; border: 1px solid #bfdbfe; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #2563eb; color: #ffffff; border-color: #2563eb; } /* Controls */ .cs-top-panel { display: grid; grid-template-columns: 1fr 1.4fr; gap: 12px; background: #f8fafc; border: 1px solid #cbd5e1; border-radius: 12px; padding: 14px; margin-bottom: 14px; } .cs-lbl { font-size: 12px; font-weight: 800; color: #0f172a; text-transform: uppercase; display: block; margin-bottom: 6px; } .cs-select { width: 100%; padding: 8px 10px; border: 1px solid #2563eb; border-radius: 7px; font-size: 14px; font-weight: 700; color: #1e3a8a; background: #ffffff; } .cs-presets { display: flex; flex-wrap: wrap; gap: 6px; } .cs-pbtn { padding: 7px 10px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 600; color: #334155; cursor: pointer; flex: 1 1 auto; text-align: center; touch-action: manipulation; } .cs-pbtn:hover { background: #f1f5f9; } .cs-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; } .cs-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 16px; } .cs-tab { padding: 6px 12px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .cs-tab.active { background: #2563eb; color: #ffffff; border-color: #2563eb; } /* Sticky Dashboard */ .cs-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .cs-wrap.is-fullscreen .cs-dash { top: 58px; } .cs-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .cs-score-big { font-size: 21px; font-weight: 800; line-height: 1.2; } .cs-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .cs-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .cs-pillars { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; font-size: 12px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .cs-pillar-box { background: #1e293b; padding: 8px 10px; border-radius: 8px; border-left: 3px solid #475569; } .cs-pillar-box.concern { border-left-color: #ef4444; background: rgba(239, 68, 68, 0.16); } .cs-pillar-box.ok { border-left-color: #10b981; } .cs-pillar-val { font-weight: 800; color: #ffffff; font-size: 13.5px; display: block; margin-top: 2px; } /* Danh sách 24 câu hỏi */ .cs-item { border: 1px solid #e2e8f0; border-radius: 10px; padding: 14px 16px; margin-bottom: 10px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 8px; } .cs-item.pts-high { border-color: #a7f3d0; background: #f0fdf4; } .cs-item.pts-mid { border-color: #fde68a; background: #fffbeb; } .cs-item.pts-zero { border-color: #fca5a5; background: #fff5f5; } .cs-item-title { font-size: 14.5px; font-weight: 600; color: #1e293b; } .cs-tags { display: flex; flex-wrap: wrap; gap: 6px; } .cs-tag { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .cs-ans-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; } .cs-ans-grid.grid-4 { grid-template-columns: repeat(4, 1fr); } .cs-ans-grid.grid-5 { grid-template-columns: repeat(5, 1fr); } .cs-abtn { padding: 8px 6px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 700; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .cs-abtn:hover { border-color: #64748b; } .cs-abtn.sel-zero { background: #ef4444; border-color: #ef4444; color: #ffffff; } .cs-abtn.sel-mid { background: #f59e0b; border-color: #f59e0b; color: #ffffff; } .cs-abtn.sel-max { background: #10b981; border-color: #10b981; color: #ffffff; } /* Biểu đồ 7 Cụm kỹ năng & Kết luận */ .cs-chart-card { margin-top: 20px; padding: 16px 18px; border-radius: 12px; background: #ffffff; border: 1px solid #e2e8f0; } .cs-bar-row { display: flex; align-items: center; gap: 10px; margin-bottom: 9px; font-size: 12.5px; } .cs-bar-lbl { width: 280px; flex-shrink: 0; font-weight: 600; color: #334155; } .cs-bar-track { flex: 1; height: 16px; background: #f1f5f9; border-radius: 999px; overflow: hidden; } .cs-bar-val { width: 95px; text-align: right; font-weight: 700; color: #0f172a; flex-shrink: 0; } .cs-result-box { margin-top: 16px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #2563eb; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 740px) { .cs-inner { padding: 14px; } .cs-title { font-size: 18px; } .cs-top-panel { grid-template-columns: 1fr; } .cs-pillars { grid-template-columns: 1fr 1fr; } .cs-ans-grid, .cs-ans-grid.grid-4, .cs-ans-grid.grid-5 { grid-template-columns: 1fr; } .cs-bar-lbl { width: 150px; font-size: 11.5px; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
Bảng Kiểm Sàng Lọc Hành Vi Giao Tiếp & Biểu Tượng Sớm CSBS DP ITC (24 Câu Hỏi • 6 – 24 Tháng)
Công cụ chuẩn hóa của Wetherby & Prizant (2002) đánh giá 7 Cụm kỹ năng tiền ngôn ngữ và 3 Chỉ số Tổng hợp (Xã hội: 26đ • Lời nói: 14đ • Biểu tượng: 17đ • Tổng: 57đ). Hệ thống tự động tra cứu Ngưỡng điểm cắt chuẩn (-1.25 SD) tại chính xác từng tháng tuổi (từ 6 đến 24 tháng) để phát hiện sớm Nguy cơ Tự kỷ và Chậm nói.
• Theo quy tắc chuẩn của Giáo sư Amy Wetherby & Barry Prizant (2002), trẻ cần được chuyển gửi đánh giá phát triển chuyên sâu ngay lập tức khi rơi vào vùng Đáng lo ngại ở Chỉ số Xã hội (${socScore}/26đ, ngưỡng ≤${cut.soc}), Chỉ số Biểu tượng (${symScore}/17đ, ngưỡng ≤${cut.sym}) hoặc Tổng điểm (${totScore}/57đ, ngưỡng ≤${cut.tot}).
• Phân tích chuyên biệt về Nguy cơ Tự kỷ sớm: ${isSocConcern && isSymConcern ? 'Sự sụt giảm đồng thời ở cả Giao tiếp Xã hội (Ánh mắt: ' + cluSums.emo + '/8, Giao tiếp chủ đích: ' + cluSums.com + '/8, Cử chỉ: ' + cluSums.ges + '/10) và Tư duy Biểu tượng (Nghe hiểu: ' + cluSums.und + '/6, Chơi giả vờ: ' + cluSums.obj + '/11) là dấu hiệu chỉ báo sớm đặc hiệu nhất của Rối loạn phổ tự kỷ (ASD) ở trẻ dưới 2 tuổi.' : 'Trẻ có thiếu hụt ở các kỹ năng nền tảng tiền ngôn ngữ.'}
• Hướng xử trí: Thực hiện đánh giá trực tiếp bằng mẫu hành vi CSBS DP Behavior Sample, ADOS-2 (Module T) hoặc Bayley-III / KSPD và can thiệp sớm ngay mà không chờ trẻ lớn hơn. `; } else if (isSpeConcern) { badgeColor = '#f59e0b'; badgeTxt = 'CHỈ THẤP LỜI NÓI (THEO DÕI CHẬM NÓI ĐƠN THUẦN)'; analysis = ` Kết luận CSBS DP ITC tại mốc ${childMonth} tháng — CHỈ ĐÁNG LO NGẠI ĐƠN ĐỘC Ở CHỈ SỐ LỜI NÓI (Late Talker Profile):
• Điểm Tổng hợp Xã hội (${socScore}/26đ > ${cut.soc}), Tổng hợp Biểu tượng (${symScore}/17đ > ${cut.sym}) và Tổng điểm (${totScore}/57đ > ${cut.tot}) của bé đều nằm trong giới hạn bình thường. Bé có giao tiếp mắt, chỉ trỏ, khoe đồ, hiểu lời nói và chơi giả vờ tốt.
• Tuy nhiên, riêng Chỉ số Lời nói (Speech: ${speScore}/14đ ≤ ngưỡng ${cut.spe}) đang thấp hơn chuẩn tuổi.
• Hướng xử trí chuẩn CSBS DP: Đây là hồ sơ điển hình của nhóm Chậm nói diễn đạt đơn thuần (Late Talker). Hướng dẫn cha mẹ tăng cường kích thích ngôn ngữ tại nhà và sàng lọc lại bằng CSBS DP ITC sau 3 tháng; nếu sau 3 tháng vẫn ở vùng Concern thì chuyển khám Ngôn ngữ trị liệu. `; } else { badgeColor = '#10b981'; badgeTxt = 'KHÔNG ĐÁNG LO NGẠI (PHÁT TRIỂN ĐÚNG TUỔI)'; analysis = ` Kết luận CSBS DP ITC tại mốc ${childMonth} tháng — KHÔNG ĐÁNG LO NGẠI (NO CONCERN):
• Cả 3 Chỉ số Tổng hợp (Xã hội: ${socScore}/26đ • Lời nói: ${speScore}/14đ • Biểu tượng: ${symScore}/17đ) và Tổng điểm (${totScore}/57đ) của bé đều vượt trên ngưỡng cắt chuẩn của lứa tuổi ${childMonth} tháng.
• Các tiền đề giao tiếp sớm (ánh mắt, chú ý chung, cử chỉ, âm thanh và chơi biểu tượng) phát triển tốt. Hẹn sàng lọc định kỳ lại sau mỗi 3–6 tháng cho đến khi bé tròn 24 tháng tuổi. `; } scoreBadge.textContent = badgeTxt; scoreBadge.style.background = badgeColor; scoreBadge.style.color = '#ffffff'; resultBox.style.borderLeftColor = badgeColor; resultBox.innerHTML = analysis; updateFloatingFabVisibility(); } function applyPreset(type) { answers = {}; if (type === 'reset') { questions.forEach(q => { answers[q.id] = 0; }); renderQuestions(); updateSummary(); return; } if (type === 'typical') { // Phát triển bình thường (Tổng ~48/57đ) questions.forEach(q => { const maxPt = q.opts[q.opts.length - 1].pt; answers[q.id] = (q.id % 4 === 0) ? Math.max(1, maxPt - 1) : maxPt; }); } else if (type === 'late_talker') { // Chậm nói đơn thuần: Xã hội cao (23/26) & Biểu tượng cao (14/17), nhưng Lời nói thấp (4/14) questions.forEach(q => { const maxPt = q.opts[q.opts.length - 1].pt; if (q.comp === 'soc' || q.comp === 'sym') { answers[q.id] = (q.id % 3 === 0) ? Math.max(1, maxPt - 1) : maxPt; } else { // Speech thấp answers[q.id] = (q.id === 14 || q.id === 15) ? 1 : ((q.id === 16 || q.id === 17) ? 1 : 0); } }); } else if (type === 'asd_risk') { // Nguy cơ tự kỷ sớm: Suy giảm mạnh ở Xã hội (9/26) và Biểu tượng (6/17), Lời nói (4/14) -> Tổng 19/57đ questions.forEach((q, idx) => { if (q.comp === 'soc') { answers[q.id] = (idx % 2 === 0) ? 1 : 0; } else if (q.comp === 'sym') { answers[q.id] = (q.id === 21 || q.id === 23) ? 2 : 1; } else { answers[q.id] = (idx % 2 === 0) ? 1 : 0; } }); } renderQuestions(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); csWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { csWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 980px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } selMonth.onchange = function() { childMonth = parseInt(this.value, 10) || 18; updateSummary(); }; shadow.querySelectorAll('.cs-pbtn').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-preset')); }; }); shadow.querySelectorAll('#compTabs .cs-tab').forEach(function(tab) { tab.onclick = function() { filterComp = this.getAttribute('data-comp'); shadow.querySelectorAll('#compTabs .cs-tab').forEach(t => t.classList.remove('active')); this.classList.add('active'); renderQuestions(); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); applyPreset('asd_risk'); })();
CSBS DP (Bản kiểm Giao tiếp và Hành vi Biểu tượng): Công cụ sàng lọc cực kỳ nhạy dành cho trẻ rất nhỏ (6 – 24 tháng tuổi), giúp phát hiện nguy cơ chậm nói và tự kỷ sớm hơn cả M-CHAT-R/F.
CSBS DP với đặc biệt là bảng Infant-Toddler Checklist (ITC), là công cụ sàng lọc sớm nhất và nhạy bén nhất thế giới hiện nay để phát hiện Rối loạn giao tiếp và Nguy cơ Rối loạn phổ tự kỷ (ASD) ngay từ giai đoạn tiền ngôn ngữ (trước cả khi trẻ biết nói). Công cụ được phát triển bởi Giáo sư Amy M. Wetherby và Barry M. Prizant (xuất bản năm 2002 bởi Brookes Publishing).
Nếu như M-CHAT-R/F chỉ áp dụng được khi trẻ đã đủ 16 – 30 tháng tuổi, thì CSBS DP ITC lấp đầy khoảng trống cực kỳ quan trọng từ 6 đến 24 tháng tuổi: giúp phát hiện các dấu hiệu cảnh báo tự kỷ ở những em bé mới 9 – 12 – 15 tháng tuổi thông qua việc đo lường 7 tiền đề giao tiếp sớm (7 Prelinguistic Predictors).
1. Tóm tắt cốt lõi về cấu trúc 24 Câu hỏi & 3 Chỉ số Tổng hợp của CSBS DP ITC
Bảng kiểm CSBS DP Infant-Toddler Checklist gồm đúng 24 câu hỏi (chia thành 7 Cụm kỹ năng – Clusters và gom vào 3 Chỉ số Tổng hợp – Composites), với tổng điểm thô tối đa là 57 điểm:
| Chỉ số Tổng hợp (Composite) | Điểm tối đa | Các Cụm kỹ năng thành phần (7 Clusters) | Ý nghĩa phát triển & Dấu hiệu đỏ Tự kỷ sớm |
| 1. Tổng hợp Xã hội(Social Composite) | 26 điểm(13 câu) |
• Cảm xúc & Ánh mắt(Emotion & Eye Gaze — Câu 1–4: 8đ)
• Giao tiếp(Communication — Câu 5–8: 8đ)
• Cử chỉ(Gestures — Câu 9–13: 10đ) |
Đánh giá khả năng chia sẻ cảm xúc, nhìn mắt, tần suất giao tiếp chú ý chung (khoe đồ, chỉ trỏ) và sử dụng cử chỉ quy ước (vẫy tay, gật/lắc đầu). Sụt giảm điểm ở cụm này là chỉ báo đặc hiệu nhất của Tự kỷ sớm. |
| 2. Tổng hợp Lời nói(Speech Composite) | 14 điểm(5 câu) |
• Âm thanh(Sounds — Câu 14–16: 8đ)
• Từ vựng (Words — Câu 17–18: 6đ) |
Đánh giá việc bập bẹ chuỗi phụ âm – nguyên âm, sự đa dạng của các phụ âm đầu và số lượng từ đơn/cụm từ có nghĩa trẻ tự nói được. |
| 3. Tổng hợp Biểu tượng(Symbolic Composite) | 17 điểm(6 câu) |
• Thông hiểu ngôn ngữ(Understanding — Câu 19–20: 6đ)
• Sử dụng đồ vật & Chơi giả vờ(Object Use — Câu 21–24: 11đ) |
Đánh giá tư duy biểu tượng: khả năng hiểu tên gọi đồ vật/mệnh lệnh gắn với khả năng chơi đúng chức năng, xếp chồng khối gỗ và chơi đóng vai giả vờ (cho búp bê ăn). |
| TỔNG CỘNG (TOTAL) | 57 điểm(24 câu) | 7 Cụm kỹ năng tiền ngôn ngữ | Đối chiếu theo 19 mốc tháng tuổi liên tục (từ 6 đến 24 tháng). |
2. Quy tắc Chấm điểm & Ngưỡng Cắt Lâm sàng (Criterion Cutoffs -1.25 SD)
-
Cách chấm điểm từng câu:
-
Các câu hỏi tần suất (
Chưa•Thỉnh thoảng•Thường xuyên): Chấm 0 – 1 – 2 điểm. -
Các câu hỏi định lượng số lượng (số lượng từ vựng, số âm thanh, số đồ vật hiểu được, số khối gỗ xếp chồng): Chấm từ 0 – 1 – 2 – 3 hoặc 0 – 1 – 2 – 3 – 4 điểm tùy câu.
-
-
Quy tắc “Điểm Cắt Đáng Lo Ngại” (Concern Cutoff ≤−1.25 SD / Bách phân vị thứ 10): Theo chuẩn của Wetherby & Prizant (2002), tại mỗi tháng tuổi từ 6 đến 24 tháng, trẻ cần được chuyển gửi đánh giá chuyên sâu ngay nếu rơi vào 1 trong 3 trường hợp:
-
Đạt mức Đáng lo ngại (Concern) ở Tổng điểm (Total Score), HOẶC
-
Đạt mức Đáng lo ngại (Concern) ở Chỉ số Xã hội (Social Composite), HOẶC
-
Đạt mức Đáng lo ngại (Concern) ở Chỉ số Biểu tượng (Symbolic Composite).(Riêng nếu trẻ chỉ thấp đơn độc ở Chỉ số Lời nói – Speech Composite trong khi Xã hội và Biểu tượng vẫn bình thường, hướng dẫn chuẩn là theo dõi định kỳ và đánh giá lại sau 3 tháng vì có thể là chậm nói đơn thuần / Late Talker).
-
[Cảm xúc - Hành vi] CBCL (Achenbach): Bảng kiểm đánh giá tổng thể các vấn đề cảm xúc và hành vi ở trẻ (1.5 – 18 tuổi)
CBCL (Child Behavior Checklist – Bảng kiểm hành vi trẻ em Achenbach): Đánh giá tổng thể các vấn đề cảm xúc và hành vi (lo âu, trầm cảm, chống đối, thu mình…) ở trẻ từ 1.5 đến 18 tuổi.
(function() { const host = document.getElementById('cbcl-wp-host'); if (!host) return; const placeholder = document.createComment('cbcl-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // ========================================================= // 1. CẤU HÌNH BẢN MẦM NON CBCL/1.5-5 (18 THÁNG - 5 TUỔI • 7 THANG HỘI CHỨNG) // ========================================================= const preschoolScales = { er: { code: 'er', broad: 'int', dsm: 'asd', name: '1. Phản ứng Cảm xúc (Emotionally Reactive - ER)', color: '#2563eb' }, ad: { code: 'ad', broad: 'int', dsm: 'anx', name: '2. Lo âu / Trầm cảm (Anxious/Depressed - AD)', color: '#0284c7' }, sc: { code: 'sc', broad: 'int', dsm: 'som', name: '3. Than phiền Cơ thể (Somatic Complaints - SC)', color: '#0d9488' }, wi: { code: 'wi', broad: 'int', dsm: 'asd', name: '4. Thu mình / Cô lập (Withdrawn - WI ★ Tự kỷ)', color: '#7c3aed' }, sl: { code: 'sl', broad: 'oth', dsm: 'slp', name: '5. Các Vấn đề Giấc ngủ (Sleep Problems - SL)', color: '#6366f1' }, ap: { code: 'ap', broad: 'ext', dsm: 'adh', name: '6. Các Vấn đề Chú ý (Attention Problems - AP)', color: '#f59e0b' }, ag: { code: 'ag', broad: 'ext', dsm: 'odd', name: '7. Hành vi Hung tính (Aggressive Behavior - AG)', color: '#dc2626' } }; // 42 mục cốt lõi đại diện đầy đủ 7 Thang Hội chứng của CBCL/1.5-5 (Mỗi thang 6 mục trọng tâm, chấm 0-1-2) const preschoolItems = [ // 1. PHẢN ỨNG CẢM XÚC (EMOTIONALLY REACTIVE - ER • Thuộc INTERNALIZING & DSM-ASD) { id: 1, sc: 'er', dsmASD: true, t: 'Rất căng thẳng, hoảng loạn hoặc khóc thét khi có sự thay đổi trong lịch trình/thói quen hàng ngày.' }, { id: 2, sc: 'er', dsmASD: true, t: 'Bối rối, kích động khi người thân hoặc đồ vật bị chuyển sang vị trí khác với mọi khi.' }, { id: 3, sc: 'er', dsmASD: false, t: 'Tâm trạng thay đổi thất thường, đột ngột chuyển từ vui sang buồn/cáu gắt không rõ lý do.' }, { id: 4, sc: 'er', dsmASD: false, t: 'Quá lo lắng, bồn chồn hoặc dễ bị kích động cảm xúc.' }, { id: 5, sc: 'er', dsmASD: false, t: 'Có những biểu hiện co giật cơ mặt hoặc cử động căng thẳng khi xúc động.' }, { id: 6, sc: 'er', dsmASD: false, t: 'Rên rỉ, mếu máo hoặc dỗi hờn kéo dài.' }, // 2. LO ÂU / TRẦM CẢM (ANXIOUS/DEPRESSED - AD • Thuộc INTERNALIZING) { id: 7, sc: 'ad', dsmASD: false, t: 'Bám dính lấy người lớn hoặc quá phụ thuộc không chịu rời bố mẹ.' }, { id: 8, sc: 'ad', dsmASD: false, t: 'Cảm xúc dễ bị tổn thương, rất nhạy cảm trước lời phê bình hay nhắc nhở nhẹ.' }, { id: 9, sc: 'ad', dsmASD: false, t: 'Quá sợ hãi trước một số con vật, tình huống hoặc nơi chốn nhất định.' }, { id: 10, sc: 'ad', dsmASD: false, t: 'Trông có vẻ buồn bã, không vui hoặc ủ rũ.' }, { id: 11, sc: 'ad', dsmASD: false, t: 'Ngượng ngùng, tự ti hoặc quá sợ sệt khi gặp người lạ.' }, { id: 12, sc: 'ad', dsmASD: false, t: 'Quá căng thẳng khi bị tách khỏi bố mẹ (như khi đến lớp mầm non).' }, // 3. THAN PHIỀN CƠ THỂ (SOMATIC COMPLAINTS - SC • Thuộc INTERNALIZING) { id: 13, sc: 'sc', dsmASD: false, t: 'Hay bị đau nhức cơ thể (đau đầu, đau chân tay) mà bác sĩ khám không tìm ra nguyên nhân thực tổn.' }, { id: 14, sc: 'sc', dsmASD: false, t: 'Hay bị đau bụng hoặc co thắt dạ dày khi căng thẳng.' }, { id: 15, sc: 'sc', dsmASD: false, t: 'Táo bón kéo dài hoặc giữ phân không chịu đi tiêu.' }, { id: 16, sc: 'sc', dsmASD: false, t: 'Buồn nôn, nôn ọe mà không do bệnh lý tiêu hóa.' }, { id: 17, sc: 'sc', dsmASD: false, t: 'Quá cầu toàn về sự sạch sẽ hoặc khó chịu cực mức khi quần áo/tay dính bẩn.' }, { id: 18, sc: 'sc', dsmASD: true, t: 'Kháng cự mạnh hoặc đau khổ trước một số âm thanh, mùi vị hoặc kết cấu thức ăn.' }, // 4. THU MÌNH / CÔ LẬP (WITHDRAWN - WI • Thuộc INTERNALIZING & ĐẶC HIỆU CHO DSM-5 AUTISM SPECTRUM) { id: 19, sc: 'wi', dsmASD: true, t: 'Tránh nhìn vào mắt người đối diện (Giao tiếp ánh mắt kém).' }, { id: 20, sc: 'wi', dsmASD: true, t: 'Không trả lời hoặc không quay lại khi người khác gọi tên hay nói chuyện cùng.' }, { id: 21, sc: 'wi', dsmASD: true, t: 'Ít thể hiện tình cảm ấm áp, âu yếm với người thân.' }, { id: 22, sc: 'wi', dsmASD: true, t: 'Có vẻ như đang ở trong thế giới riêng, thờ ơ không quan tâm đến những người xung quanh.' }, { id: 23, sc: 'wi', dsmASD: true, t: 'Từ chối tham gia các trò chơi vận động tương tác cùng trẻ khác (thích lủi thủi một mình).' }, { id: 24, sc: 'wi', dsmASD: true, t: 'Có những hành vi lặp đi lặp lại (đung đưa người, vẫy tay, xoay đồ vật) hoặc nhại lời.' }, // 5. VẤN ĐỀ GIẤC NGỦ (SLEEP PROBLEMS - SL) { id: 25, sc: 'sl', dsmASD: false, t: 'Không muốn ngủ một mình hoặc kháng cự việc lên giường đi ngủ vào buổi tối.' }, { id: 26, sc: 'sl', dsmASD: false, t: 'Rất khó đi vào giấc ngủ (trằn trọc lâu mới ngủ được).' }, { id: 27, sc: 'sl', dsmASD: false, t: 'Hay gặp ác mộng hoặc giật mình hoảng sợ khóc thét ban đêm.' }, { id: 28, sc: 'sl', dsmASD: false, t: 'Ngủ ít hơn hẳn so với đa số trẻ cùng độ tuổi (cả ngày lẫn đêm).' }, { id: 29, sc: 'sl', dsmASD: false, t: 'Thường xuyên thức giấc dậy giữa đêm và khó ngủ lại.' }, { id: 30, sc: 'sl', dsmASD: false, t: 'Nói mớ hoặc khóc lóc trong lúc đang ngủ.' }, // 6. VẤN ĐỀ CHÚ Ý (ATTENTION PROBLEMS - AP • Thuộc EXTERNALIZING & DSM-ADHD) { id: 31, sc: 'ap', dsmASD: false, t: 'Không thể tập trung chú ý lâu vào một hoạt động hoặc món đồ chơi.' }, { id: 32, sc: 'ap', dsmASD: false, t: 'Không thể ngồi yên được một lúc, luôn bồn chồn tăng động.' }, { id: 33, sc: 'ap', dsmASD: false, t: 'Nhanh chóng chuyển từ món đồ chơi này sang món đồ chơi khác mà không chơi trọn vẹn.' }, { id: 34, sc: 'ap', dsmASD: false, t: 'Đi lang thang hoặc chạy vụt đi mất mà không để ý an toàn.' }, { id: 35, sc: 'ap', dsmASD: false, t: 'Vụng về, phối hợp vận động kém hoặc hay làm rơi vỡ đồ vật do hấp tấp.' }, { id: 36, sc: 'ap', dsmASD: true, t: 'Chậm nói hoặc lời nói phát âm rất khó hiểu so với tuổi.' }, // 7. HÀNH VI HUNG TÍNH (AGGRESSIVE BEHAVIOR - AG • Thuộc EXTERNALIZING & DSM-ODD) { id: 37, sc: 'ag', dsmASD: false, t: 'Không thể chờ đợi, đòi hỏi mọi thứ mình muốn phải được đáp ứng ngay lập tức.' }, { id: 38, sc: 'ag', dsmASD: false, t: 'Bướng bỉnh, chống đối và không vâng lời người lớn.' }, { id: 39, sc: 'ag', dsmASD: false, t: 'Đánh, cắn, cấu hoặc xô đẩy người khác khi không vừa ý.' }, { id: 40, sc: 'ag', dsmASD: false, t: 'Đập phá đồ chơi của mình hoặc đồ đạc trong nhà.' }, { id: 41, sc: 'ag', dsmASD: false, t: 'Nổi cơn tam bành, ăn vạ giãy giụa dữ dội và la hét lớn.' }, { id: 42, sc: 'ag', dsmASD: false, t: 'Ích kỷ, không chịu chia sẻ đồ chơi hoặc dễ nổi giận khi bị nhắc nhở.' } ]; // ========================================================= // 2. CẤU HÌNH BẢN HỌC ĐƯỜNG CBCL/6-18 (6 - 18 TUỔI • 8 THANG HỘI CHỨNG) // ========================================================= const schoolScales = { ad: { code: 'ad', broad: 'int', name: '1. Lo âu / Trầm cảm (Anxious/Depressed - AD)', color: '#2563eb' }, wd: { code: 'wd', broad: 'int', name: '2. Thu mình / Trầm cảm (Withdrawn/Depressed - WD)', color: '#4f46e5' }, sc: { code: 'sc', broad: 'int', name: '3. Than phiền Cơ thể (Somatic Complaints - SC)', color: '#0d9488' }, sp: { code: 'sp', broad: 'oth', name: '4. Các Vấn đề Xã hội (Social Problems - SP)', color: '#0284c7' }, tp: { code: 'tp', broad: 'oth', name: '5. Các Vấn đề Tư duy (Thought Problems - TP ★ Ám ảnh/ASD)', color: '#7c3aed' }, ap: { code: 'ap', broad: 'oth', name: '6. Các Vấn đề Chú ý (Attention Problems - AP ★ ADHD)', color: '#f59e0b' }, rb: { code: 'rb', broad: 'ext', name: '7. Hành vi Phá vỡ Quy tắc (Rule-Breaking Behavior - RB)', color: '#ea580c' }, ag: { code: 'ag', broad: 'ext', name: '8. Hành vi Hung tính (Aggressive Behavior - AG)', color: '#dc2626' } }; // 48 mục cốt lõi đại diện đầy đủ 8 Thang Hội chứng của CBCL/6-18 (Mỗi thang 6 mục trọng tâm, chấm 0-1-2) const schoolItems = [ // 1. LO ÂU / TRẦM CẢM (ANXIOUS/DEPRESSED - AD • Thuộc INTERNALIZING & CBCL-DP) { id: 101, sc: 'ad', t: 'Khóc nhiều hoặc dễ bật khóc trước những chuyện nhỏ.' }, { id: 102, sc: 'ad', t: 'Sợ rằng mình có thể nghĩ hoặc làm điều gì đó sai trái; đòi hỏi bản thân phải hoàn hảo.' }, { id: 103, sc: 'ad', t: 'Cảm thấy không ai yêu thương mình hoặc cảm thấy bản thân vô giá trị, kém cỏi.' }, { id: 104, sc: 'ad', t: 'Căng thẳng, hồi hộp, sợ hãi hoặc lo âu quá mức.' }, { id: 105, sc: 'ad', t: 'Cảm thấy quá tội lỗi hoặc tự trách bản thân.' }, { id: 106, sc: 'ad', t: 'Hay lo lắng triền miên về việc học tập, gia đình hoặc tương lai.' }, // 2. THU MÌNH / TRẦM CẢM (WITHDRAWN/DEPRESSED - WD • Thuộc INTERNALIZING) { id: 107, sc: 'wd', t: 'Có rất ít điều khiến trẻ cảm thấy hứng thú hoặc vui vẻ.' }, { id: 108, sc: 'wd', t: 'Thích ở một mình hơn là ở cùng với những người khác.' }, { id: 109, sc: 'wd', t: 'Từ chối nói chuyện, thu mình khép kín và không chia sẻ tâm sự với ai.' }, { id: 110, sc: 'wd', t: 'Trông uể oải, hoạt động chậm chạp và thiếu năng lượng sống.' }, { id: 111, sc: 'wd', t: 'Buồn bã, ủ rũ hoặc trầm uất.' }, { id: 112, sc: 'wd', t: 'Nhút nhát, rụt rè và tránh tham gia các hoạt động tập thể.' }, // 3. THAN PHIỀN CƠ THỂ (SOMATIC COMPLAINTS - SC • Thuộc INTERNALIZING) { id: 113, sc: 'sc', t: 'Cảm thấy chóng mặt, choáng váng hoặc mệt mỏi quá mức mà không rõ lý do.' }, { id: 114, sc: 'sc', t: 'Than phiền bị đau nhức cơ thể (đau đầu, đau bụng, đau mỏi) không rõ nguyên nhân y khoa.' }, { id: 115, sc: 'sc', t: 'Buồn nôn, cảm thấy ốm hoặc khó chịu ở dạ dày khi áp lực đi học.' }, { id: 116, sc: 'sc', t: 'Than phiền về các vấn đề ở mắt hoặc da không do bệnh lý thực thể.' }, { id: 117, sc: 'sc', t: 'Hay gặp ác mộng hoặc rối loạn giấc ngủ đi kèm mệt mỏi cơ thể.' }, { id: 118, sc: 'sc', t: 'Than phiền tim đập nhanh hoặc khó thở khi căng thẳng.' }, // 4. VẤN ĐỀ XÃ HỘI (SOCIAL PROBLEMS - SP) { id: 119, sc: 'sp', t: 'Hành xử quá trẻ con, ngây ngô hơn nhiều so với độ tuổi thực.' }, { id: 120, sc: 'sp', t: 'Không hòa đồng với các trẻ khác, khó kết bạn đồng trang lứa.' }, { id: 121, sc: 'sp', t: 'Hay bị bạn bè trêu chọc, bắt nạt hoặc không được các bạn khác quý mến.' }, { id: 122, sc: 'sp', t: 'Thích chơi với những em nhỏ tuổi hơn mình thay vì bạn cùng tuổi.' }, { id: 123, sc: 'sp', t: 'Vụng về trong vận động và giao tiếp, dễ bị ngã hoặc gây tai nạn nhỏ.' }, { id: 124, sc: 'sp', t: 'Hay ghen tị hoặc cảm thấy người khác đang cố tình chống lại mình.' }, // 5. VẤN ĐỀ TƯ DUY (THOUGHT PROBLEMS - TP • Đặc trưng trong ASD, OCD & Tics) { id: 125, sc: 'tp', t: 'Không thể dứt đầu óc ra khỏi một số suy nghĩ hoặc ý tưởng ám ảnh nhất định (Obsessions).' }, { id: 126, sc: 'tp', t: 'Lặp đi lặp lại một số hành động hoặc nghi thức cố định liên tục (Compulsions / Stereotypies).' }, { id: 127, sc: 'tp', t: 'Có những hành vi kỳ lạ hoặc những ý tưởng khác thường.' }, { id: 128, sc: 'tp', t: 'Nhìn chằm chằm vào khoảng không hoặc có các cử động máy giật (Tics) / cạy da / xoay đồ vật.' }, { id: 129, sc: 'tp', t: 'Tích trữ nhiều đồ vật không cần thiết hoặc gắn bó kỳ lạ với một số đồ vật.' }, { id: 130, sc: 'tp', t: 'Gặp các vấn đề nghiêm trọng về giấc ngủ (mộng du, nói mớ, thức đêm).' }, // 6. VẤN ĐỀ CHÚ Ý (ATTENTION PROBLEMS - AP • Đặc trưng trong ADHD & CBCL-DP) { id: 131, sc: 'ap', t: 'Không thể tập trung, không thể duy trì sự chú ý lâu vào bài học hoặc công việc.' }, { id: 132, sc: 'ap', t: 'Không thể ngồi yên, luôn bồn chồn, ngọ nguậy hoặc tăng động.' }, { id: 133, sc: 'ap', t: 'Hay bối rối, lơ đãng hoặc đắm chìm trong mơ màng giữa giờ học.' }, { id: 134, sc: 'ap', t: 'Hấp tấp, bốc đồng, hành động mà không kịp suy nghĩ trước.' }, { id: 135, sc: 'ap', t: 'Không hoàn thành những việc đã bắt đầu làm; kết quả học tập ở trường kém.' }, { id: 136, sc: 'ap', t: 'Vụng về hoặc gặp khó khăn trong việc tổ chức sắp xếp công việc.' }, // 7. HÀNH VI PHÁ VỠ QUY TẮC (RULE-BREAKING BEHAVIOR - RB • Thuộc EXTERNALIZING) { id: 137, sc: 'rb', t: 'Không cảm thấy có lỗi hay hối hận sau khi đã hành xử sai trái.' }, { id: 138, sc: 'rb', t: 'Phá vỡ các nội quy ở nhà, ở trường hoặc ngoài xã hội.' }, { id: 139, sc: 'rb', t: 'Giao du với những nhóm bạn hay gây rắc rối.' }, { id: 140, sc: 'rb', t: 'Nói dối hoặc gian lận để trốn tránh trách nhiệm.' }, { id: 141, sc: 'rb', t: 'Lấy cắp đồ ở nhà hoặc bên ngoài; hoặc trốn học không xin phép.' }, { id: 142, sc: 'rb', t: 'Nói tục, chửi thề hoặc thích nghịch lửa.' }, // 8. HÀNH VI HUNG TÍNH (AGGRESSIVE BEHAVIOR - AG • Thuộc EXTERNALIZING & CBCL-DP) { id: 143, sc: 'ag', t: 'Hay tranh cãi tay đôi và bất tuân lời người lớn ở nhà/ở trường.' }, { id: 144, sc: 'ag', t: 'Bắt nạt, hung hăng hoặc đe dọa người khác.' }, { id: 145, sc: 'ag', t: 'Phá hỏng đồ đạc của chính mình hoặc của gia đình/người khác.' }, { id: 146, sc: 'ag', t: 'Đánh nhau hoặc tấn công thể xác người khác khi tức giận.' }, { id: 147, sc: 'ag', t: 'Nóng nảy, hay nổi cơn thịnh nộ, la hét ầm ĩ và đòi hỏi phải được chiều ý ngay.' }, { id: 148, sc: 'ag', t: 'Bướng bỉnh, lì lợm, cau có và dễ bị kích động.' } ]; let activeForm = 'preschool'; // 'preschool' (CBCL/1.5-5) | 'school' (CBCL/6-18) let filterSub = 'all'; let scoresPreschool = {}; // 0, 1, 2 let scoresSchool = {}; // 0, 1, 2 let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .cb-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } .cb-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .cb-inner { padding: 24px; max-width: 980px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .cb-wrap.is-fullscreen .cb-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .cb-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 0 rgba(37, 99, 235, 0.4); } 70% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 10px rgba(37, 99, 235, 0); } 100% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 0 rgba(37, 99, 235, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #1d4ed8 0%, #2563eb 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Bộ chuyển đổi 2 Phiên bản CBCL */ .form-switcher { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; background: #f1f5f9; padding: 10px; border-radius: 12px; margin-bottom: 18px; } .form-btn { padding: 12px 14px; border-radius: 9px; border: 2px solid transparent; background: rgba(255, 255, 255, 0.7); cursor: pointer; text-align: left; transition: all 0.2s ease; touch-action: manipulation; } .form-btn:hover { background: #ffffff; } .form-btn.active { background: #ffffff; border-color: #2563eb; box-shadow: 0 3px 10px rgba(15, 23, 42, 0.08); } .form-btn-title { font-size: 14.5px; font-weight: 800; color: #0f172a; display: block; } .form-btn.active .form-btn-title { color: #1d4ed8; } .form-btn-sub { font-size: 12px; color: #64748b; margin-top: 3px; display: block; } .cb-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .cb-header-text { flex: 1 1 260px; } .cb-title { font-size: 20px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .cb-desc { font-size: 13.8px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #eff6ff; color: #1d4ed8; border: 1px solid #bfdbfe; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #2563eb; color: #ffffff; border-color: #2563eb; } .cb-controls { display: flex; flex-direction: column; gap: 10px; margin-bottom: 18px; } .cb-presets { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; } .cb-preset-lbl { font-size: 12.5px; font-weight: 700; color: #475569; margin-right: 4px; } .cb-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; touch-action: manipulation; } .cb-pbtn:hover { background: #f1f5f9; } .cb-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } .cb-sub-tabs { display: flex; flex-wrap: wrap; gap: 6px; } .cb-stab { padding: 6px 11px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .cb-stab.active { background: #2563eb; color: #ffffff; border-color: #2563eb; } /* Sticky Dashboard */ .cb-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .cb-wrap.is-fullscreen .cb-dash { top: 58px; } .cb-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .cb-score-big { font-size: 20px; font-weight: 800; line-height: 1.25; } .cb-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .cb-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .cb-pillars { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; font-size: 11.5px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .cb-pillar-box { background: #1e293b; padding: 7px 9px; border-radius: 8px; border-left: 3px solid #475569; } .cb-pillar-box.norm { border-left-color: #10b981; } .cb-pillar-box.bord { border-left-color: #f59e0b; background: rgba(245, 158, 11, 0.14); } .cb-pillar-box.clin { border-left-color: #ef4444; background: rgba(239, 68, 68, 0.16); } .cb-pillar-val { font-weight: 800; color: #ffffff; font-size: 13.5px; display: block; margin-top: 2px; } /* Danh sách câu hỏi */ .cb-item { border: 1px solid #e2e8f0; border-radius: 10px; padding: 13px 15px; margin-bottom: 10px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 8px; } .cb-item.pts-2 { border-color: #fda4af; background: #fff5f5; } .cb-item.pts-1 { border-color: #fde68a; background: #fffbeb; } .cb-item-title { font-size: 14.5px; font-weight: 600; color: #1e293b; } .cb-tags { display: flex; flex-wrap: wrap; gap: 6px; } .cb-tag { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .cb-ans-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; } .cb-abtn { padding: 8px 6px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 700; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .cb-abtn:hover { border-color: #64748b; } .cb-abtn.sel-0 { background: #10b981; border-color: #10b981; color: #ffffff; } .cb-abtn.sel-1 { background: #f59e0b; border-color: #f59e0b; color: #ffffff; } .cb-abtn.sel-2 { background: #ef4444; border-color: #ef4444; color: #ffffff; } /* Biểu đồ T-Score các Thang Hội chứng */ .cb-chart-card { margin-top: 20px; padding: 16px 18px; border-radius: 12px; background: #ffffff; border: 1px solid #e2e8f0; } .cb-bar-row { display: flex; align-items: center; gap: 10px; margin-bottom: 9px; font-size: 12.5px; } .cb-bar-lbl { width: 280px; flex-shrink: 0; font-weight: 600; color: #334155; } .cb-bar-track { flex: 1; height: 16px; background: #f1f5f9; border-radius: 999px; overflow: hidden; } .cb-bar-val { width: 155px; text-align: right; font-weight: 700; color: #0f172a; flex-shrink: 0; } .cb-result-box { margin-top: 16px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #2563eb; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 780px) { .cb-inner { padding: 14px; } .form-switcher { grid-template-columns: 1fr; } .cb-title { font-size: 18px; } .cb-pillars { grid-template-columns: 1fr 1fr; } .cb-ans-grid { grid-template-columns: 1fr; } .cb-bar-lbl { width: 145px; font-size: 11.5px; } .cb-bar-val { width: 115px; font-size: 11px; } .cb-pbtn.reset { margin-left: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
1. Bảng Kiểm Hành Vi Trẻ Em Mầm Non ASEBA CBCL/1½–5 (18 Tháng Đến 5 Tuổi)
' + '' + 'Công cụ chuẩn hóa của Giáo sư Thomas M. Achenbach cho trẻ từ 1.5 đến 5 tuổi qua 7 Thang Hội chứng, 3 Chỉ số Tổng hợp Lớn (Nội tâm hóa, Ngoại hiện hóa, Tổng vấn đề) và Thang Định hướng DSM-5 Vấn đề Phổ Tự kỷ (Autism Spectrum Problems).' + '
'; subTabs.innerHTML = '' + '' + '' + '' + '' + '' + '' + ''; } else { headerInfo.innerHTML = '2. Bảng Kiểm Hành Vi Trẻ Em Lứa Tuổi Học Đường ASEBA CBCL/6–18 (6 Đến 18 Tuổi)
' + '' + 'Đánh giá toàn diện 8 Thang Hội chứng Thực nghiệm ở lứa tuổi học đường (6 – 18 tuổi), phân tách rõ Nội tâm hóa (Internalizing) vs. Ngoại hiện hóa (Externalizing), các vấn đề Xã hội/Tư duy/Chú ý và phát hiện Hồ sơ Mất điều tiết Cảm xúc Nghiêm trọng (CBCL-DP).' + '
'; subTabs.innerHTML = '' + '' + '' + '' + '' + '' + '' + '' + ''; } subTabs.querySelectorAll('.cb-stab').forEach(tab => { tab.onclick = function() { filterSub = this.getAttribute('data-sub'); subTabs.querySelectorAll('.cb-stab').forEach(t => t.classList.remove('active')); this.classList.add('active'); renderQuestions(); }; }); } function renderQuestions() { questionList.innerHTML = ''; const ansBtns = [ { val: 0, lbl: '0 - Không đúng (Not True)' }, { val: 1, lbl: '1 - Đôi khi / Đúng một phần (Sometimes)' }, { val: 2, lbl: '2 - Rất đúng / Thường xuyên (Very True)' } ]; const list = (activeForm === 'preschool') ? preschoolItems : schoolItems; const scaleMap = (activeForm === 'preschool') ? preschoolScales : schoolScales; const store = (activeForm === 'preschool') ? scoresPreschool : scoresSchool; list.forEach(function(it, idx) { if (filterSub !== 'all' && it.sc !== filterSub) return; const uVal = (store[it.id] !== undefined) ? store[it.id] : 0; const sCfg = scaleMap[it.sc]; let rowCls = 'cb-item'; if (uVal === 2) rowCls += ' pts-2'; else if (uVal === 1) rowCls += ' pts-1'; const btnsHtml = ansBtns.map(b => { const cls = 'cb-abtn' + (uVal === b.val ? ' sel-' + b.val : ''); return ''; }).join(''); const broadTag = (sCfg.broad === 'int') ? 'Nội tâm hóa (Internalizing)' : (sCfg.broad === 'ext' ? 'Ngoại hiện hóa (Externalizing)' : 'Hội chứng chuyên biệt'); const asdTag = it.dsmASD ? '★ Thuộc Thang DSM-5 Phổ Tự kỷ' : ''; const el = document.createElement('div'); el.className = rowCls; el.innerHTML = '' + '' + ' – Nội tâm hóa (Internalizing = ER+AD+SC+WI): ' + tInt + 'T (' + cInt.text + ').
' + ' – Ngoại hiện hóa (Externalizing = AP+AG): ' + tExt + 'T (' + cExt.text + ').
' + ' – Tổng các vấn đề (Total Problems): ' + tTot + 'T (' + cTot.text + ').
' + '• 2. Các Tiểu thang Hội chứng Vượt ngưỡng (≥ 65T): ' + (elevatedSyndromes.join(', ') || 'Không có thang hội chứng nào vượt ngưỡng 65T.') + '
' + '• 3. Đánh giá Chuyên biệt Thang DSM-5 Vấn đề Phổ Tự kỷ (Autism Spectrum Problems = ' + tDSM_ASD + 'T): ' + (tDSM_ASD >= 65 ? '⚠️ Điểm số trên thang Thu mình (Withdrawn) và Thang DSM-5 Phổ Tự kỷ (' + tDSM_ASD + 'T ≥ 65T) tăng cao có ý nghĩa lâm sàng. Theo nghiên cứu của Achenbach & Rescorla, sự kết hợp giữa Thu mình (WI) + Phản ứng cảm xúc (ER) + Vấn đề chú ý (AP) trên CBCL/1½–5 có độ nhạy rất cao với Rối loạn phổ tự kỷ (ASD); khuyến nghị thực hiện ngay chẩn đoán chuyên sâu bằng ADOS-2 / CARS-2 / DSM-5-TR.' : '✓ Điểm số trên thang DSM-5 Phổ Tự kỷ nằm trong giới hạn bình thường (≤ 64T).'); } else { // CBCL/6-18 SUMMARY const raw = { ad: 0, wd: 0, sc: 0, sp: 0, tp: 0, ap: 0, rb: 0, ag: 0 }; schoolItems.forEach(function(it) { const v = (scoresSchool[it.id] !== undefined) ? scoresSchool[it.id] : 0; raw[it.sc] += v; }); const intRaw = raw.ad + raw.wd + raw.sc; // 18 mục -> Max 36 const extRaw = raw.rb + raw.ag; // 12 mục -> Max 24 const totRaw = intRaw + extRaw + raw.sp + raw.tp + raw.ap; // 48 mục -> Max 96 const tInt = calcBroadbandT(intRaw, 36); const tExt = calcBroadbandT(extRaw, 24); const tTot = calcBroadbandT(totRaw, 96); const tMap = {}; Object.keys(schoolScales).forEach(k => { tMap[k] = calcSyndromeT(raw[k], 12); }); // Tính chỉ số Hồ sơ Mất điều tiết Cảm xúc Nghiêm trọng (CBCL-DP = T_AD + T_AP + T_AG, ngưỡng >= 210T) const dpSumT = tMap.ad + tMap.ap + tMap.ag; const isDP = (dpSumT >= 200); const cInt = classifyBroadbandT(tInt); const cExt = classifyBroadbandT(tExt); const cTot = classifyBroadbandT(tTot); dashHeadline.textContent = 'CBCL/6–18 Tổng Vấn Đề: ' + tTot + 'T • Nội Tâm Hóa: ' + tInt + 'T • Ngoại Hiện Hóa: ' + tExt + 'T'; dashPillars.innerHTML = '
' + '• 2. Các Thang Hội chứng Vượt ngưỡng (≥ 65T): ' + (elevatedList.join(', ') || 'Không có thang hội chứng nào vượt ngưỡng 65T.') + '
' + (isASDPattern ? '• 🧩 Phát hiện "Bộ Ba Tự Kỷ" trên CBCL/6–18 (Withdrawn/Depressed = ' + tMap.wd + 'T + Social Problems = ' + tMap.sp + 'T + Thought Problems = ' + tMap.tp + 'T): Nghiên cứu quốc tế chỉ ra rằng sự tăng cao đồng thời của 3 thang Thu mình (WD) + Vấn đề xã hội (SP) + Vấn đề tư duy (TP) là chữ ký đặc hiệu của Rối loạn phổ tự kỷ ở lứa tuổi học đường. Cần phối hợp đánh giá thêm bằng SRS-2 / ADOS-2.
' : '') + (isDP ? '• 🚨 Cảnh báo Hồ sơ Mất điều tiết Cảm xúc Nghiêm trọng (CBCL Dysregulation Profile / AAA = ' + dpSumT + 'T ≥ 200T): Tổng điểm T-Score của 3 thang Lo âu/Trầm cảm (' + tMap.ad + 'T) + Vấn đề chú ý (' + tMap.ap + 'T) + Hành vi hung tính (' + tMap.ag + 'T) đạt mức rất cao, phản ánh sự suy giảm nặng nề khả năng tự điều chỉnh cả cảm xúc, sự chú ý lẫn hành vi.' : ''); } updateFloatingFabVisibility(); } function applyPreset(type) { scoresPreschool = {}; scoresSchool = {}; preschoolItems.forEach(it => { scoresPreschool[it.id] = 0; }); schoolItems.forEach(it => { scoresSchool[it.id] = 0; }); if (type === 'reset' || type === 'normal') { if (type === 'normal') { preschoolItems.forEach((it, idx) => { scoresPreschool[it.id] = (idx % 5 === 0) ? 1 : 0; }); schoolItems.forEach((it, idx) => { scoresSchool[it.id] = (idx % 5 === 0) ? 1 : 0; }); } renderQuestions(); updateSummary(); return; } if (type === 'asd_profile') { // Kiểu hình Tự kỷ: Mầm non tăng cao WI, ER, AP; Học đường tăng cao WD, SP, TP, AP preschoolItems.forEach(it => { if (it.sc === 'wi' || it.dsmASD) scoresPreschool[it.id] = 2; else if (it.sc === 'er' || it.sc === 'ap' || it.sc === 'sl') scoresPreschool[it.id] = 1; }); schoolItems.forEach(it => { if (it.sc === 'wd' || it.sc === 'sp' || it.sc === 'tp') scoresSchool[it.id] = 2; else if (it.sc === 'ap') scoresSchool[it.id] = 1; }); } else if (type === 'internalizing') { // Nội tâm hóa: Lo âu/Trầm cảm + Thu mình + Than phiền cơ thể cao preschoolItems.forEach(it => { if (it.sc === 'er' || it.sc === 'ad' || it.sc === 'sc' || it.sc === 'wi') scoresPreschool[it.id] = 2; }); schoolItems.forEach(it => { if (it.sc === 'ad' || it.sc === 'wd' || it.sc === 'sc') scoresSchool[it.id] = 2; }); } else if (type === 'dysregulation') { // Hồ sơ mất điều tiết CBCL-DP: AD + AP + AG đều >= 70T preschoolItems.forEach(it => { if (it.sc === 'er' || it.sc === 'ad' || it.sc === 'ap' || it.sc === 'ag') scoresPreschool[it.id] = 2; }); schoolItems.forEach(it => { if (it.sc === 'ad' || it.sc === 'ap' || it.sc === 'ag' || it.sc === 'rb') scoresSchool[it.id] = 2; }); } renderQuestions(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); cbWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { cbWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 980px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } shadow.querySelectorAll('#formSwitcher .form-btn').forEach(function(btn) { btn.onclick = function() { activeForm = this.getAttribute('data-form'); shadow.querySelectorAll('#formSwitcher .form-btn').forEach(b => b.classList.remove('active')); this.classList.add('active'); renderHeaderAndTabs(); renderQuestions(); updateSummary(); }; }); shadow.querySelectorAll('.cb-pbtn').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-preset')); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); renderHeaderAndTabs(); applyPreset('asd_profile'); })();
CBCL (Child Behavior Checklist — Bảng Kiểm Hành Vi Trẻ Em) thuộc hệ thống ASEBA (Achenbach System of Empirically Based Assessment) do Giáo sư Thomas M. Achenbach (Đại học Vermont, Hoa Kỳ) phát triển là công cụ đánh giá tâm bệnh học, hành vi và cảm xúc phổ quát (Broad-band Behavioral Rating Scale) uy tín số 1 thế giới hiện nay (được sử dụng rộng rãi nhất tại các khoa Tâm thần Nhi, Tâm bệnh Bệnh viện Nhi Trung ương, Nhi Đồng 1 & 2 tại Việt Nam).
Trong quy trình đánh giá Rối loạn phổ tự kỷ (ASD) và ADHD, CBCL đóng vai trò như một “Máy quét toàn diện” (Broad-spectrum Scanner): không chỉ phát hiện nguy cơ tự kỷ và tăng động, mà còn bóc tách chính xác các vấn đề nội tâm hóa (Lo âu, Trầm cảm, Thu mình, Than phiền cơ thể, Giấc ngủ) và ngoại hiện hóa (Hung tính, Phá vỡ quy tắc, Chống đối) để bác sĩ không bỏ sót bất kỳ rối loạn đồng mắc nào.
1. Hai Phiên bản theo Độ tuổi của Hệ thống CBCL (ASEBA)
Hệ thống CBCL được chia làm 2 phiên bản chuẩn hóa riêng biệt theo lứa tuổi, chấm trên thang 3 mức: 0 - Không đúng (Not True) • 1 - Đôi khi đúng / Đúng một phần (Somewhat or Sometimes True) • 2 - Rất đúng / Thường xuyên đúng (Very True or Often True):
[Tiêu chuẩn quốc tế] ICF / ICF-CY: Khung phân loại quốc tế về Chức năng, Khuyết tật và Sức khỏe trẻ em của WHO
(function() { function initICFTool() { const host = document.getElementById('icfcy-wp-host'); if (!host || host.shadowRoot) return; const placeholder = document.createComment('icfcy-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // Cấu hình 3 Phiên bản theo nhóm tuổi của ICF Core Set for ASD (WHO & Karolinska Institutet) const ageGroupConfigs = { preschool: { code: 'preschool', tabTitle: '🧸 1. Mầm non ICF-CY (0 – 5 tuổi)', tabSub: 'Chú ý chung, Bắt chước & Chơi đùa', fullTitle: 'Bộ Cốt Lõi ICF-CY Dành Cho Trẻ Nhỏ & Mầm Non (0 – 5 Tuổi • WHO ICF-CY Core Set)', desc: 'Tập trung vào các mã ICF-CY đặc trưng đầu đời: chức năng tâm lý xã hội (b122), điều hòa cảm xúc (b152), bắt chước (d130), chú ý chung (d161), giao tiếp không lời (d315/d335), chơi đùa (d880) và sự hỗ trợ của cha mẹ (e310).' }, school: { code: 'school', tabTitle: '🎒 2. Học đường ICF-CY (6 – 16 tuổi)', tabSub: 'Học tập, Điều hành, Bạn bè & Trường lớp', fullTitle: 'Bộ Cốt Lõi ICF-CY Dành Cho Trẻ Em & Thiếu Niên Lứa Tuổi Học Đường (6 – 16 Tuổi)', desc: 'Đánh giá toàn diện chức năng điều hành (b164), kiểm soát xung động, hội thoại (d350), xử lý căng thẳng (d240), kết bạn đồng trang lứa (d750), giáo dục phổ thông (d820) và điều chỉnh môi trường lớp học (e130/e330).' }, adult: { code: 'adult', tabTitle: '🧑 3. Vị thành niên & Người lớn (≥ 17 tuổi)', tabSub: 'Tự lập, Lao động, Cộng đồng & Dịch vụ', fullTitle: 'Bộ Cốt Lõi ICF Dành Cho Thanh Thiếu Niên Lớn & Người Trưởng Thành (Từ 17 Tuổi Trở Lên)', desc: 'Đo lường khả năng sống tự lập (d570/d640), quan hệ xã hội phức hợp (d720), đào tạo nghề & việc làm (d840/d850), đi lại cộng đồng và hệ thống dịch vụ an sinh – việc làm (e585/e590).' } }; // Danh mục 32 Mã ICF / ICF-CY Cốt lõi thuộc 3 Thành phần: b (Body Functions), d (Activities & Participation), e (Environmental Factors) const icfCategories = [ // ===================================================== // THÀNH PHẦN 1: CHỨC NĂNG CƠ THỂ & TÂM THẦN (BODY FUNCTIONS • Mã b • 10 mục) // ===================================================== { id: 'b122', comp: 'b', code: 'b122', ages: ['preschool', 'school', 'adult'], name: 'b122 — Chức năng Tâm lý Xã hội Toàn cục (Global Psychosocial Functions)', desc: 'Các chức năng tâm thần cần thiết để tích hợp và hình thành các kỹ năng giao tiếp cá nhân – xã hội, thấu hiểu ý nghĩa xã hội và thiết lập tương tác hai chiều (Thuyết tâm trí).' }, { id: 'b125', comp: 'b', code: 'b125', ages: ['preschool', 'school'], name: 'b125 — Khí chất và Xu hướng Phản ứng Phát triển (Dispositions & Intra-personal Functions - ICF-CY)', desc: 'Khả năng thích ứng trước các tình huống mới lạ, mức độ linh hoạt hành vi so với sự cứng nhắc hoặc kháng cự thay đổi ở trẻ em.' }, { id: 'b134', comp: 'b', code: 'b134', ages: ['preschool', 'school', 'adult'], name: 'b134 — Chức năng Giấc ngủ (Sleep Functions)', desc: 'Thời lượng, chất lượng giấc ngủ, khả năng dễ đi vào giấc ngủ và duy trì giấc ngủ suốt đêm không bị thức giấc.' }, { id: 'b140', comp: 'b', code: 'b140', ages: ['preschool', 'school', 'adult'], name: 'b140 — Chức năng Chú ý (Attention Functions)', desc: 'Khả năng duy trì sự tập trung chú ý trong khoảng thời gian cần thiết, chuyển hướng chú ý linh hoạt và chia sẻ sự chú ý với người khác.' }, { id: 'b147', comp: 'b', code: 'b147', ages: ['preschool', 'school', 'adult'], name: 'b147 — Chức năng Tâm thần – Vận động (Psychomotor Functions)', desc: 'Kiểm soát mức độ hoạt động vận động và lời nói (không bị tăng động bồn chồn quá mức, chậm chạp lờ đờ hoặc có các cử động định hình rập khuôn).' }, { id: 'b152', comp: 'b', code: 'b152', ages: ['preschool', 'school', 'adult'], name: 'b152 — Chức năng Cảm xúc (Emotional Functions)', desc: 'Sự phù hợp của cảm xúc với hoàn cảnh và khả năng tự điều tiết cảm xúc (kiểm soát cơn giận, lo âu, thất vọng).' }, { id: 'b156', comp: 'b', code: 'b156', ages: ['preschool', 'school', 'adult'], name: 'b156 — Chức năng Tri giác & Xử lý Giác quan (Perceptual Functions)', desc: 'Khả năng tiếp nhận, phân biệt và điều hòa các kích thích Thính giác, Thị giác, Xúc giác, Vị – Khứu giác và Tiền đình – Bản thể (không bị quá tải hoặc tìm kiếm cảm giác bất thường).' }, { id: 'b164', comp: 'b', code: 'b164', ages: ['school', 'adult'], name: 'b164 — Chức năng Tư duy Bậc cao / Chức năng Điều hành (Higher-level Cognitive / Executive Functions)', desc: 'Tư duy trừu tượng, tổ chức và lập kế hoạch công việc, quản lý thời gian, tính linh hoạt nhận thức và giải quyết vấn đề.' }, { id: 'b167', comp: 'b', code: 'b167', ages: ['preschool', 'school', 'adult'], name: 'b167 — Chức năng Tâm thần về Ngôn ngữ (Mental Functions of Language)', desc: 'Năng lực thần kinh trong việc tiếp nhận giải mã ngôn ngữ (nghe hiểu/đọc hiểu) và diễn đạt ngôn ngữ (lời nói/chữ viết/ký hiệu).' }, { id: 'b760', comp: 'b', code: 'b760', ages: ['preschool', 'school', 'adult'], name: 'b760 — Kiểm soát và Phối hợp Vận động Tự chủ (Control of Voluntary Movement / Praxis)', desc: 'Sự khéo léo phối hợp mắt – tay, phối hợp hai bên cơ thể và lập kế hoạch vận động tinh/thô.' }, // ===================================================== // THÀNH PHẦN 2: HOẠT ĐỘNG VÀ THAM GIA (ACTIVITIES & PARTICIPATION • Mã d • 14 mục) // ===================================================== { id: 'd130', comp: 'd', code: 'd130', ages: ['preschool', 'school'], name: 'd130 — Sao chép / Bắt chước (Copying / Imitation - Chương 1: Học tập cơ bản)', desc: 'Bắt chước nét mặt, cử chỉ cơ thể, thao tác với đồ vật, âm thanh và chữ cái như một phần của quá trình học tập sớm.' }, { id: 'd161', comp: 'd', code: 'd161', ages: ['preschool', 'school'], name: 'd161 — Định hướng Chú ý / Chú ý Chung (Directing Attention / Joint Attention - ICF-CY)', desc: 'Chủ động hướng sự chú ý vào khuôn mặt, giọng nói của người khác và cùng chia sẻ sự chú ý vào một đồ vật/sự kiện chung.' }, { id: 'd230', comp: 'd', code: 'd230', ages: ['preschool', 'school', 'adult'], name: 'd230 — Thực hiện Lịch trình Sinh hoạt Hàng ngày (Carrying out Daily Routine)', desc: 'Thực hiện các hoạt động thường nhật từ sáng đến tối, chuyển tiếp mượt mà giữa các hoạt động và thích ứng khi lịch trình thay đổi.' }, { id: 'd240', comp: 'd', code: 'd240', ages: ['preschool', 'school', 'adult'], name: 'd240 — Xử lý Căng thẳng và Các Đòi hỏi Tâm lý (Handling Stress & Psychological Demands)', desc: 'Kiểm soát áp lực, sự quá tải và hành vi thích ứng khi đối mặt với yêu cầu học tập, công việc hoặc tình huống khủng hoảng.' }, { id: 'd310', comp: 'd', code: 'd310', ages: ['preschool', 'school', 'adult'], name: 'd310 — Giao tiếp Tiếp nhận: Hiểu Thông điệp Lời nói (Communicating with - Receiving Spoken Messages)', desc: 'Hiểu đúng nghĩa đen và nghĩa bóng/ngữ dụng của các câu nói trong giao tiếp hàng ngày.' }, { id: 'd315', comp: 'd', code: 'd315', ages: ['preschool', 'school', 'adult'], name: 'd315 — Giao tiếp Tiếp nhận: Hiểu Thông điệp Phi ngôn ngữ (Receiving Nonverbal Messages)', desc: 'Đọc hiểu cử chỉ tay chân, biểu cảm khuôn mặt, ngôn ngữ cơ thể và các ký hiệu/biểu tượng hình ảnh.' }, { id: 'd330', comp: 'd', code: 'd330', ages: ['preschool', 'school', 'adult'], name: 'd330 — Giao tiếp Diễn đạt: Nói (Speaking)', desc: 'Sử dụng từ ngữ, cụm từ và câu nói có nghĩa để yêu cầu, bình luận, kể chuyện và diễn đạt suy nghĩ.' }, { id: 'd335', comp: 'd', code: 'd335', ages: ['preschool', 'school', 'adult'], name: 'd335 — Tạo Thông điệp Phi ngôn ngữ / AAC (Producing Nonverbal Messages)', desc: 'Sử dụng ánh mắt, chỉ trỏ, gật/lắc đầu, nét mặt hoặc tranh ảnh PECS / thiết bị AAC để truyền đạt thông tin.' }, { id: 'd350', comp: 'd', code: 'd350', ages: ['school', 'adult'], name: 'd350 — Hội thoại Qua lại (Conversation)', desc: 'Bắt đầu, duy trì và kết thúc cuộc trò chuyện qua lại hai chiều với một hoặc nhiều người theo đúng chủ đề và quy tắc luân phiên.' }, { id: 'd510_d570', comp: 'd', code: 'd510–d570', ages: ['preschool', 'school', 'adult'], name: 'd510–d570 — Tự Chăm sóc Bản thân (Self-Care: Tắm rửa, Đi vệ sinh, Mặc đồ, Ăn uống & Giữ an toàn)', desc: 'Mức độ độc lập trong việc tự xúc ăn, uống nước, đi vệ sinh, tắm gội, mặc quần áo và chăm sóc sức khỏe cá nhân.' }, { id: 'd710_d720', comp: 'd', code: 'd710–d720', ages: ['preschool', 'school', 'adult'], name: 'd710–d720 — Tương tác Giữa các Cá nhân Cơ bản & Phức hợp (Interpersonal Interactions)', desc: 'Thể hiện sự tôn trọng, ấm áp, giữ khoảng cách xã hội phù hợp và điều chỉnh hành vi ứng xử trong các mối quan hệ.' }, { id: 'd750', comp: 'd', code: 'd750', ages: ['preschool', 'school', 'adult'], name: 'd750 — Các Mối quan hệ Xã hội Không chính thức / Kết bạn (Informal Social Relationships / Peers)', desc: 'Khả năng làm quen, chơi hợp tác và duy trì tình bạn với bạn đồng trang lứa ở lớp học, khu dân cư.' }, { id: 'd880', comp: 'd', code: 'd880', ages: ['preschool', 'school'], name: 'd880 — Tham gia vào Hoạt động Chơi đùa (Engagement in Play - Mã đặc hiệu ICF-CY)', desc: 'Từ chơi khám phá độc lập, chơi quan sát, chơi song song đến chơi đóng vai giả vờ và chơi hợp tác có luật lệ với bạn.' }, { id: 'd815_d850', comp: 'd', code: 'd815–d850', ages: ['preschool', 'school', 'adult'], name: 'd815–d850 — Giáo dục Mầm non / Phổ thông & Việc làm (Education and Employment)', desc: 'Tham gia hòa nhập hiệu quả tại trường mầm non (d815), trường phổ thông (d820), học nghề (d840) hoặc lao động việc làm (d850).' }, // ===================================================== // THÀNH PHẦN 3: YẾU TỐ MÔI TRƯỜNG (ENVIRONMENTAL FACTORS • Mã e • 8 mục) // ===================================================== { id: 'e125_e130', comp: 'e', code: 'e125–e130', ages: ['preschool', 'school', 'adult'], name: 'e125–e130 — Sản phẩm & Công nghệ Hỗ trợ Giao tiếp và Giáo dục (Assistive Tech, AAC & Visual Supports)', desc: 'Sự sẵn có của bảng lịch trình hình ảnh, thẻ PECS, thiết bị hỗ trợ giao tiếp AAC, phần mềm học tập và giáo cụ trực quan.' }, { id: 'e240_e250', comp: 'e', code: 'e240–e250', ages: ['preschool', 'school', 'adult'], name: 'e240–e250 — Môi trường Vật lý: Ánh sáng & Âm thanh (Light and Sound in Environment)', desc: 'Mức độ tiếng ồn, âm vang và cường độ ánh sáng tại nhà/lớp học/nơi làm việc (là Rào cản gây quá tải giác quan hay đã được điều chỉnh Thúc đẩy êm dịu).' }, { id: 'e310', comp: 'e', code: 'e310', ages: ['preschool', 'school', 'adult'], name: 'e310 — Sự Hỗ trợ từ Gia đình Ruột thịt (Immediate Family Support)', desc: 'Mức độ thấu hiểu, đồng hành can thiệp thực hành hàng ngày và hỗ trợ tinh thần/vật chất từ cha mẹ, anh chị em.' }, { id: 'e330_e340', comp: 'e', code: 'e330–e340', ages: ['preschool', 'school', 'adult'], name: 'e330–e340 — Giáo viên, Quản lý & Người Hỗ trợ Cá nhân (Teachers, Supervisors & Personal Care Providers)', desc: 'Sự hỗ trợ thực tế từ giáo viên đứng lớp, giáo viên hỗ trợ hòa nhập (Shadow teacher) hoặc người hướng dẫn tại nơi làm việc.' }, { id: 'e355', comp: 'e', code: 'e355', ages: ['preschool', 'school', 'adult'], name: 'e355 — Đội ngũ Chuyên gia Y tế & Trị liệu (Health & Therapy Professionals)', desc: 'Sự hỗ trợ chuyên môn từ Bác sĩ Nhi phát triển/Tâm thần, chuyên gia Tâm lý, Ngôn ngữ trị liệu (SLP), Hoạt động trị liệu (OT) và Giáo dục đặc biệt.' }, { id: 'e410_e460', comp: 'e', code: 'e410–e460', ages: ['preschool', 'school', 'adult'], name: 'e410–e460 — Thái độ của Gia đình, Bạn bè, Nhà trường & Xã hội (Individual and Societal Attitudes)', desc: 'Thái độ bao dung, tôn trọng sự đa dạng thần kinh và hỗ trợ hòa nhập (Facilitator +) hay kỳ thị, bắt nạt, thiếu thông cảm (Barrier .).' }, { id: 'e580', comp: 'e', code: 'e580', ages: ['preschool', 'school', 'adult'], name: 'e580 — Dịch vụ, Hệ thống và Chính sách Y tế / Phục hồi chức năng (Health Services & Policies)', desc: 'Khả năng tiếp cận dịch vụ sàng lọc sớm, chẩn đoán, can thiệp sớm và bảo hiểm y tế tại địa phương.' }, { id: 'e585_e590', comp: 'e', code: 'e585–e590', ages: ['preschool', 'school', 'adult'], name: 'e585–e590 — Dịch vụ, Hệ thống và Chính sách Giáo dục Hòa nhập & Việc làm (Education & Labor Services)', desc: 'Chính sách hỗ trợ giáo dục đặc biệt/hòa nhập tại trường học, đào tạo hướng nghiệp và chính sách việc làm cho người tự kỷ.' } ]; let currentAgeGrp = 'preschool'; let filterComp = 'all'; let qualifiers = {}; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .icf-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } .icf-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .icf-inner { padding: 24px; max-width: 980px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .icf-wrap.is-fullscreen .icf-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .icf-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(2, 132, 199, 0.45), 0 0 0 0 rgba(2, 132, 199, 0.4); } 70% { box-shadow: 0 6px 20px rgba(2, 132, 199, 0.45), 0 0 0 10px rgba(2, 132, 199, 0); } 100% { box-shadow: 0 6px 20px rgba(2, 132, 199, 0.45), 0 0 0 0 rgba(2, 132, 199, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #0369a1 0%, #0284c7 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(2, 132, 199, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } .age-switcher-box { background: #f1f5f9; padding: 10px; border-radius: 12px; margin-bottom: 18px; } .age-switcher-lbl { font-size: 12px; font-weight: 800; color: #334155; text-transform: uppercase; margin-bottom: 8px; display: block; } .age-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; } .age-btn { padding: 10px 12px; border-radius: 9px; border: 1.5px solid transparent; background: rgba(255, 255, 255, 0.65); cursor: pointer; text-align: left; transition: all 0.18s ease; touch-action: manipulation; } .age-btn:hover { background: #ffffff; } .age-btn.active { background: #ffffff; border-color: #0284c7; box-shadow: 0 3px 10px rgba(15, 23, 42, 0.08); } .age-btn-title { font-size: 13.5px; font-weight: 800; color: #0f172a; display: block; } .age-btn.active .age-btn-title { color: #0369a1; } .age-btn-sub { font-size: 11.5px; color: #64748b; margin-top: 2px; display: block; } .icf-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .icf-header-text { flex: 1 1 260px; } .icf-title { font-size: 20px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .icf-desc { font-size: 13.8px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #f0f9ff; color: #0369a1; border: 1px solid #bae6fd; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #0284c7; color: #ffffff; border-color: #0284c7; } .icf-controls { display: flex; flex-direction: column; gap: 10px; margin-bottom: 18px; } .icf-presets { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; } .icf-preset-lbl { font-size: 12.5px; font-weight: 700; color: #475569; margin-right: 4px; } .icf-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; touch-action: manipulation; } .icf-pbtn:hover { background: #f1f5f9; } .icf-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } .icf-comp-tabs { display: flex; flex-wrap: wrap; gap: 6px; } .icf-ctab { padding: 6px 12px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .icf-ctab.active { background: #0284c7; color: #ffffff; border-color: #0284c7; } .icf-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .icf-wrap.is-fullscreen .icf-dash { top: 58px; } .icf-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .icf-score-big { font-size: 20px; font-weight: 800; line-height: 1.25; } .icf-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .icf-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .icf-pillars { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; font-size: 12px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .icf-pillar-box { background: #1e293b; padding: 7px 10px; border-radius: 8px; } .icf-pillar-val { font-weight: 800; color: #ffffff; font-size: 13.5px; display: block; margin-top: 2px; } .icf-item { border: 1px solid #e2e8f0; border-radius: 12px; padding: 14px 16px; margin-bottom: 12px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 8px; } .icf-item.imp-high { border-color: #fca5a5; background: #fff5f5; } .icf-item.imp-mid { border-color: #fde68a; background: #fffbeb; } .icf-item.fac-good { border-color: #a7f3d0; background: #f0fdf4; } .icf-item-title { font-size: 15px; font-weight: 800; color: #0f172a; } .icf-item-desc { font-size: 13.4px; color: #334155; } .icf-tags { display: flex; flex-wrap: wrap; gap: 6px; } .icf-tag { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .icf-tag.comp-b { background: #dbeafe; color: #1d4ed8; } .icf-tag.comp-d { background: #f3e8ff; color: #7e22ce; } .icf-tag.comp-e { background: #dcfce7; color: #15803d; } .icf-ans-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; margin-top: 4px; } .icf-abtn { padding: 8px 5px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 11.5px; font-weight: 700; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .icf-abtn:hover { border-color: #64748b; } .icf-abtn.sel-green { background: #10b981; border-color: #10b981; color: #ffffff; } .icf-abtn.sel-blue { background: #0284c7; border-color: #0284c7; color: #ffffff; } .icf-abtn.sel-amber { background: #f59e0b; border-color: #f59e0b; color: #ffffff; } .icf-abtn.sel-orange { background: #ea580c; border-color: #ea580c; color: #ffffff; } .icf-abtn.sel-red { background: #ef4444; border-color: #ef4444; color: #ffffff; } .icf-profile-card { margin-top: 20px; padding: 16px 18px; border-radius: 12px; background: #ffffff; border: 1px solid #e2e8f0; overflow-x: auto; } .icf-table { width: 100%; border-collapse: collapse; font-size: 12.8px; min-width: 640px; } .icf-table th, .icf-table td { border: 1px solid #cbd5e1; padding: 8px 10px; text-align: left; } .icf-table th { background: #f1f5f9; font-weight: 800; color: #0f172a; } .icf-result-box { margin-top: 16px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #0284c7; font-size: 14px; line-height: 1.65; color: #1e293b; } .icf-result-box code { background: #e2e8f0; padding: 1px 5px; border-radius: 4px; font-weight: 700; font-size: 13px; } @media (max-width: 760px) { .icf-inner { padding: 14px; } .age-grid { grid-template-columns: 1fr; } .icf-title { font-size: 18px; } .icf-pillars { grid-template-columns: 1fr 1fr; } .icf-ans-grid { grid-template-columns: 1fr 1fr; } .icf-pbtn.reset { margin-left: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
| Mã ICF đầy đủ | Thành phần ICF | Tên Lĩnh vực Chức năng / Hoạt động / Môi trường | Mức độ Định lượng (WHO Qualifier) |
|---|
${aCfg.fullTitle}
${aCfg.desc}
`; } function formatQualifierLabel(comp, qVal) { if (comp === 'b' || comp === 'd') { const map = { 0: '.0 — Không khiếm khuyết/khó khăn (0–4%)', 1: '.1 — Mức độ Nhẹ (5–24%)', 2: '.2 — Mức độ Vừa (25–49%)', 3: '.3 — Mức độ Nặng (50–95%)', 4: '.4 — Mức độ Hoàn toàn (96–100%)' }; return map[qVal] || map[0]; } else { const mapE = { '-3': '.3 — Rào cản Nặng (Severe Barrier)', '-1': '.1 — Rào cản Nhẹ–Vừa (Mild/Mod Barrier)', '0': '.0 — Không ảnh hưởng (Neutral)', '2': '+2 — Yếu tố Thúc đẩy Vừa (Mod Facilitator)', '4': '+4 — Yếu tố Thúc đẩy Rất mạnh (Complete Facilitator)' }; return mapE[String(qVal)] || mapE['0']; } } function formatFullICFCode(cat, qVal) { if (cat.comp === 'b' || cat.comp === 'd') { return `${cat.code}.${qVal}`; } else { if (qVal 0) return `${cat.code}+${qVal}`; return `${cat.code}.0`; } } function renderItems() { const activeCats = getActiveCategories(); itemList.innerHTML = ''; const bdBtns = [ { val: 0, lbl: '.0 - Không khó khăn (0–4%)', cls: 'sel-green' }, { val: 1, lbl: '.1 - Mức Nhẹ (5–24%)', cls: 'sel-blue' }, { val: 2, lbl: '.2 - Mức Vừa (25–49%)', cls: 'sel-amber' }, { val: 3, lbl: '.3 - Mức Nặng (50–95%)', cls: 'sel-orange' }, { val: 4, lbl: '.4 - Hoàn toàn (96–100%)', cls: 'sel-red' } ]; const eBtns = [ { val: -3, lbl: '.3 - Rào cản Nặng (Barrier)', cls: 'sel-red' }, { val: -1, lbl: '.1 - Rào cản Nhẹ–Vừa', cls: 'sel-amber' }, { val: 0, lbl: '.0 - Trung tính (0%)', cls: 'sel-blue' }, { val: 2, lbl: '+2 - Hỗ trợ / Thúc đẩy Khá', cls: 'sel-green' }, { val: 4, lbl: '+4 - Hỗ trợ / Thúc đẩy Tối đa', cls: 'sel-green' } ]; activeCats.forEach(function(cat) { if (filterComp !== 'all' && cat.comp !== filterComp) return; const uVal = (qualifiers[cat.id] !== undefined) ? qualifiers[cat.id] : 0; const fullCode = formatFullICFCode(cat, uVal); let rowCls = 'icf-item'; if (cat.comp === 'b' || cat.comp === 'd') { if (uVal >= 3) rowCls += ' imp-high'; else if (uVal === 2) rowCls += ' imp-mid'; else if (uVal === 0) rowCls += ' fac-good'; } else { if (uVal 0) rowCls += ' fac-good'; } const compName = (cat.comp === 'b') ? '1. Chức năng Cơ thể [ b ]' : (cat.comp === 'd' ? '2. Hoạt động & Tham gia [ d ]' : '3. Yếu tố Môi trường [ e ]'); const btns = (cat.comp === 'e') ? eBtns : bdBtns; const btnsHtml = btns.map(b => { const cls = 'icf-abtn' + (uVal === b.val ? ` ${b.cls}` : ''); return ``; }).join(''); const el = document.createElement('div'); el.className = rowCls; el.innerHTML = `${fullCode} thay cho dấu `)
resultBox.innerHTML = `
🌐 BẢN TỔNG HỢP LẬP LUẬN PHỤC HỒI CHỨC NĂNG THEO MÔ HÌNH TÂM – SINH – XÃ HỘI ICF (WHO):
• 1. Các Khiếm khuyết Cơ thể [b] & Hạn chế Hoạt động – Tham gia [d] từ mức Vừa đến Nặng (≥ .2):
${severeList.join(', ') || 'Không có mục nào ở mức ≥ .2.'}
• 2. Các Yếu tố Thúc đẩy Môi trường hiện có [e+]:
${facilitatorList.join(', ') || 'Chưa ghi nhận yếu tố thúc đẩy (+).'}
• 3. Các Rào cản Môi trường cần dỡ bỏ [e.]:
${barrierList.join(', ') || 'Không có rào cản môi trường đáng kể.'}
• 💡 Chiến lược Can thiệp theo Triết lý ICF-CY: Khuyết tật là kết quả của sự tương tác giữa khiếm khuyết cá nhân (b) và rào cản môi trường (e). Ngay cả khi mức độ khiếm khuyết thần kinh (b122, b167) chưa thể thay đổi ngay một sớm một chiều, việc chuyển hóa các mã Môi trường từ Rào cản (.2/.3) thành Yếu tố Thúc đẩy (+3/+4) (như trang bị lịch trình hình ảnh/AAC e125+4, giảm tiếng ồn lớp học e250+3, huấn luyện phụ huynh và giáo viên e310+4, e330+4) sẽ lập tức cải thiện điểm Thực hiện thực tế (Performance) trên các mã Hoạt động & Tham gia (d)!
`;
updateFloatingFabVisibility();
}
function applyPreset(type) {
qualifiers = {};
icfCategories.forEach(c => { qualifiers[c.id] = 0; });
if (type === 'reset') {
renderItems();
updateSummary();
return;
}
if (type === 'good_env') {
icfCategories.forEach((c, idx) => {
if (c.comp === 'b' || c.comp === 'd') {
qualifiers[c.id] = (idx % 2 === 0) ? 2 : 1;
} else {
qualifiers[c.id] = (c.id === 'e240_e250') ? 2 : 4;
}
});
} else if (type === 'barrier_env') {
icfCategories.forEach((c, idx) => {
if (c.comp === 'b' || c.comp === 'd') {
qualifiers[c.id] = (idx % 2 === 0) ? 3 : 2;
} else {
qualifiers[c.id] = (c.id === 'e310') ? 2 : -3;
}
});
} else if (type === 'mild') {
icfCategories.forEach((c, idx) => {
if (c.comp === 'b' || c.comp === 'd') {
qualifiers[c.id] = (idx % 2 === 0) ? 1 : 0;
} else {
qualifiers[c.id] = 2;
}
});
}
renderItems();
updateSummary();
}
function updateFloatingFabVisibility() {
if (isFullscreen) {
fabBtn.classList.add('visible', 'is-exit-mode');
fabText.textContent = 'Thu nhỏ lại';
fabIcon.textContent = '✕';
return;
}
fabBtn.classList.remove('is-exit-mode');
fabText.textContent = 'Phóng to bảng';
fabIcon.textContent = '⛶';
const rect = host.getBoundingClientRect();
const viewH = window.innerHeight || document.documentElement.clientHeight;
const isReadingWidget = rect.top 180;
if (isReadingWidget) {
fabBtn.classList.add('visible');
} else {
fabBtn.classList.remove('visible');
}
}
function setFullscreenState(active) {
if (active === isFullscreen) return;
isFullscreen = active;
if (isFullscreen) {
savedScrollY = window.scrollY || window.pageYOffset || 0;
if (host.parentNode && host.parentNode !== document.body) {
host.parentNode.insertBefore(placeholder, host);
document.body.appendChild(host);
}
host.style.cssText = [
'position: fixed !important',
'inset: 0 !important',
'top: 0 !important',
'left: 0 !important',
'right: 0 !important',
'bottom: 0 !important',
'width: 100vw !important',
'height: 100vh !important',
'height: 100dvh !important',
'max-width: none !important',
'max-height: none !important',
'margin: 0 !important',
'padding: 0 !important',
'z-index: 2147483647 !important',
'background: #f8fafc !important',
'overflow-y: auto !important',
'-webkit-overflow-scrolling: touch !important',
'display: block !important'
].join(';');
icfWrap.classList.add('is-fullscreen');
document.documentElement.style.overflow = 'hidden';
document.body.style.overflow = 'hidden';
fsText.textContent = 'Thu nhỏ';
fsIcon.textContent = '✕';
host.scrollTop = 0;
} else {
icfWrap.classList.remove('is-fullscreen');
if (placeholder.parentNode) {
placeholder.parentNode.insertBefore(host, placeholder);
placeholder.parentNode.removeChild(placeholder);
}
host.style.cssText = 'width: 100%; max-width: 980px; margin: 28px auto; display: block; clear: both;';
document.documentElement.style.overflow = '';
document.body.style.overflow = '';
fsText.textContent = 'Toàn màn hình';
fsIcon.textContent = '⛶';
if (document.fullscreenElement && document.exitFullscreen) {
document.exitFullscreen().catch(() => {});
}
window.scrollTo(0, savedScrollY);
}
updateFloatingFabVisibility();
}
shadow.querySelectorAll('#ageGrid .age-btn').forEach(function(btn) {
btn.onclick = function() {
currentAgeGrp = this.getAttribute('data-age');
shadow.querySelectorAll('#ageGrid .age-btn').forEach(b => b.classList.remove('active'));
this.classList.add('active');
renderHeader();
renderItems();
updateSummary();
};
});
shadow.querySelectorAll('.icf-pbtn').forEach(function(btn) {
btn.onclick = function() {
applyPreset(this.getAttribute('data-preset'));
};
});
shadow.querySelectorAll('#compTabs .icf-ctab').forEach(function(tab) {
tab.onclick = function() {
filterComp = this.getAttribute('data-comp');
shadow.querySelectorAll('#compTabs .icf-ctab').forEach(t => t.classList.remove('active'));
this.classList.add('active');
renderItems();
};
});
shadow.getElementById('btnToggleFullscreen').onclick = () => {
setFullscreenState(!isFullscreen);
};
shadow.getElementById('btnExitFloating').onclick = () => {
setFullscreenState(false);
};
fabBtn.onclick = () => {
setFullscreenState(!isFullscreen);
};
window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true });
window.addEventListener('resize', updateFloatingFabVisibility, { passive: true });
window.addEventListener('keydown', (e) => {
if (e.key === 'Escape' && isFullscreen) {
setFullscreenState(false);
}
});
renderHeader();
applyPreset('good_env');
}
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', initICFTool);
} else {
initICFTool();
}
})();
ICF / ICF-CY (Khung Phân loại Quốc tế về Chức năng, Khuyết tật và Sức khỏe của WHO): Nếu ICD-11 dùng để “gọi tên bệnh”, thì ICF là bộ tiêu chuẩn quốc tế giúp đánh giá khả năng hoạt động và sự tham gia xã hội của trẻ, làm nền tảng cho mọi kế hoạch can thiệp hiện đại.
ICF (International Classification of Functioning, Disability and Health — 2001) và ICF-CY (Bản dành cho Trẻ em và Thanh thiếu niên — 2007, hiện đã được hợp nhất trực tiếp vào hệ thống ICF chung và liên kết chặt chẽ với ICD-11) là Khung Phân loại Quốc tế về Chức năng, Khuyết tật và Sức khỏe do Tổ chức Y tế Thế giới (WHO) ban hành.
Nếu như ICD-11 (mã 6A02) và DSM-5-TR (mã F84.0) trả lời câu hỏi: “Trẻ mắc hội chứng/rối loạn gì?”, thì ICF / ICF-CY trả lời câu hỏi quan trọng không kém trong phục hồi chức năng và giáo dục đặc biệt: “Đứa trẻ này đang vận hành trong đời sống hàng ngày như thế nào, điểm mạnh là gì, và môi trường xung quanh đang hỗ trợ hay cản trở trẻ ra sao?”
1. Tóm tắt cốt lõi về Cấu trúc & Hệ thống Mã hóa của ICF / ICF-CY
Mô hình Tâm – Sinh – Xã hội (Biopsychosocial Model) của ICF chia chức năng con người thành 4 Thành phần (Components) được ký hiệu bằng 4 chữ cái đầu (b, s, d, e):
Mã ký hiệu
Thành phần phân loại (Component)
Nội dung lâm sàng trong Tự kỷ (ASD) & Phát triển
Hệ thống Chấm điểm Định lượng (Qualifiers)
b
1. Chức năng Cơ thể
(Body Functions)
Chức năng tâm thần – thần kinh (b1), giác quan (b2), giọng nói và lời nói (b3), vận động (b7).
VD: b122 (Tâm lý xã hội), b140 (Chú ý), b164(Điều hành).
Mức độ khiếm khuyết (0 – 4):
• .0 Không khiếm khuyết (0–4%)
• .1 Khiếm khuyết nhẹ (5–24%)
• .2 Khiếm khuyết vừa (25–49%)
• .3 Khiếm khuyết nặng (50–95%)
• .4 Khiếm khuyết hoàn toàn (96–100%)
s
2. Cấu trúc Cơ thể
(Body Structures)
Cấu trúc giải phẫu của hệ thần kinh (s110 Cấu trúc não bộ) hoặc cơ quan phát âm (s3).
Thường ít chấm biến đổi ở trẻ ASD đơn thuần (trừ khi kèm bại não, dị tật giải phẫu).
d
3. Hoạt động & Tham gia
(Activities & Participation)
Học tập (d1), Thực hiện nhiệm vụ (d2), Giao tiếp (d3), Vận động (d4), Tự chăm sóc (d5), Đời sống gia đình (d6), Tương tác cá nhân (d7), Học đường & Nghề nghiệp (d8).
👉 Đặc trưng trẻ nhỏ (ICF-CY): Chơi đùa (d880), Chú ý chung (d161), Bắt chước (d130).
Đánh giá song song 2 chỉ số (.0đến .4):
1. Năng lực tự thân (Capacity):Khả năng trẻ tự làm trong môi trường chuẩn không có hỗ trợ.
2. Thực hiện thực tế (Performance): Mức độ trẻ làm được trong đời sống hàng ngày khi đã có hỗ trợ/điều chỉnh.
e
4. Yếu tố Môi trường
(Environmental Factors)
Học liệu/Công nghệ hỗ trợ AAC (e1), Môi trường ánh sáng/âm thanh (e2), Sự hỗ trợ của gia đình/giáo viên (e3), Thái độ xã hội (e4), Dịch vụ y tế – giáo dục (e5).
Chấm theo 2 chiều đối lập:
• Rào cản (Barrier): .1 đến .4(Cản trở trẻ)
• Thúc đẩy (Facilitator): +1đến +4 (Hỗ trợ giúp trẻ làm tốt hơn)
2. Bộ Cốt lõi ICF cho Rối loạn Phổ Tự kỷ (ICF Core Sets for ASD) & Các Công cụ Quốc tế
Vì toàn bộ cuốn ICF-CY có tới hơn 1.600 mã phân loại (quá dài để chấm trên một bệnh nhân), Tổ chức Y tế Thế giới (WHO), ICF Research Branch và Viện Karolinska (Thụy Điển – GS. Sven Bölte) đã nghiên cứu chuẩn hóa thành Bộ Cốt lõi ICF dành riêng cho Tự kỷ (ICF Core Sets for ASD) với các phiên bản theo độ tuổi: Mầm non (0–5 tuổi), Học đường (6–16 tuổi) và Người lớn (≥17 tuổi).
Ngoài ra, các hệ thống tra cứu chính thức của quốc tế hiện có:
-
WHO ICF Browser: Trình duyệt tra cứu cây phân loại mã ICF chính thức của WHO (icd.who.int/dev11/l-icf/en).
-
ICF-based Documentation Tool: Công cụ lập biểu đồ hồ sơ chức năng của ICF Research Branch (Thụy Sĩ).
[Tự kỷ] CARS-2: Thang chẩn đoán phân biệt và đo lường mức độ nặng phổ tự kỷ (Từ 2 tuổi)
(function() { const host = document.getElementById('cars2-wp-host'); if (!host) return; const placeholder = document.createComment('cars2-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // ========================================== // DỮ LIỆU 1: 15 MỤC CHUẨN CỦA CARS2-ST (STANDARD VERSION) // ========================================== const stItems = [ { id: 1, dom: 'soc', name: 'Mục I. Quan hệ với mọi người (Relating to People)', desc: 'Đánh giá mức độ trẻ chủ động tương tác, giao tiếp mắt, đáp lại sự quan tâm của người lớn hay thu mình, thờ ơ, né tránh tiếp xúc.', guide: '1.0: Tương tác tự nhiên theo tuổi | 2.0: Nhút nhát/né tránh nhẹ, ít nhìn mắt | 3.0: Cách biệt, phải nỗ lực mạnh mới thu hút được | 4.0: Hoàn toàn thờ ơ, không phản ứng với người khác.' }, { id: 2, dom: 'soc', name: 'Mục II. Bắt chước (Imitation)', desc: 'Khả năng bắt chước âm thanh, lời nói và các động tác vận động (vẫy tay, vỗ tay, làm theo mẫu) tức thì hoặc trì hoãn.', guide: '1.0: Bắt chước tốt | 2.0: Bắt chước được các hành vi đơn giản khi được nhắc | 3.0: Chỉ bắt chước đôi lúc với sự hỗ trợ lớn | 4.0: Hiếm khi hoặc không bao giờ bắt chước.' }, { id: 3, dom: 'soc', name: 'Mục III. Phản ứng cảm xúc (Emotional Response)', desc: 'Sự phù hợp của biểu cảm nét mặt, tâm trạng (vui, buồn, khóc, cười) với hoàn cảnh xung quanh.', guide: '1.0: Cảm xúc phù hợp | 2.0: Đôi khi phản ứng cảm xúc hơi lệch ngữ cảnh | 3.0: Cười/khóc vô cớ, hoặc đơ cứng cảm xúc rõ | 4.0: Cảm xúc cực kỳ bất thường, không liên quan tình huống.' }, { id: 4, dom: 'rrb', name: 'Mục IV. Sử dụng cơ thể (Body Use)', desc: 'Sự phối hợp vận động và các cử động cơ thể bất thường (nhón gót, vẫy tay, xoay người, đung đưa, tự gây hại).', guide: '1.0: Vận động bình thường | 2.0: Hơi vụng về hoặc có cử động lặp lại thoáng qua | 3.0: Vẫy tay, nhón gót, xoay người rõ rệt | 4.0: Cử động định hình với cường độ cao, liên tục.' }, { id: 5, dom: 'rrb', name: 'Mục V. Sử dụng đồ vật (Object Use)', desc: 'Cách trẻ quan tâm và chơi với đồ chơi (chơi đúng chức năng/tưởng tượng hay chỉ xếp hàng, xoay bánh xe, đập gõ).', guide: '1.0: Chơi đúng chức năng & tưởng tượng | 2.0: Chơi đơn điệu hoặc săm soi chi tiết nhẹ | 3.0: Xếp hàng, quay bánh xe, ít chơi đúng cách | 4.0: Chỉ cuốn hút rập khuôn vào bộ phận đồ vật.' }, { id: 6, dom: 'rrb', name: 'Mục VI. Thích ứng với sự thay đổi (Adaptation to Change)', desc: 'Khả năng chuyển đổi hoạt động, chấp nhận thay đổi lộ trình, chỗ ngồi, đồ vật hoặc thói quen sinh hoạt.', guide: '1.0: Linh hoạt bình thường | 2.0: Hơi bướng bỉnh khi chuyển hoạt động | 3.0: Khó chịu, cáu giận rõ khi đổi thói quen | 4.0: Hoảng loạn hoặc ăn vạ dữ dội trước thay đổi nhỏ.' }, { id: 7, dom: 'sen', name: 'Mục VII. Phản ứng thị giác (Visual Response)', desc: 'Cách sử dụng ánh mắt để quan sát người/vật (nhìn thẳng tự nhiên hay nhìn nghiêng/liếc mắt, nhìn chằm chằm ánh đèn/vật quay).', guide: '1.0: Quan sát bình thường | 2.0: Đôi khi nhìn vật hơn nhìn người, tránh nhìn mắt nhẹ | 3.0: Nhìn nghiêng sát mắt, mê mẩn vật quay/ánh sáng | 4.0: Né tránh nhìn người nghiêm trọng, kích thích thị giác nặng.' }, { id: 8, dom: 'sen', name: 'Mục VIII. Phản ứng thính giác (Listening Response)', desc: 'Phản ứng với tiếng gọi tên và các âm thanh môi trường (phản ứng quá mức/bịt tai hoặc thờ ơ như không nghe thấy).', guide: '1.0: Nghe & phản ứng bình thường | 2.0: Đôi khi gọi tên chậm quay lại hoặc hơi nhạy tiếng ồn | 3.0: Lúc như điếc lúc lại giật mình bịt tai | 4.0: Phản ứng quá mức hoặc thờ ơ nghiêm trọng với âm thanh.' }, { id: 9, dom: 'sen', name: 'Mục IX. Phản ứng Vị giác, Khứu giác, Xúc giác (Taste, Smell, and Touch)', desc: 'Cách trẻ khám phá đồ vật qua các giác quan gần và phản ứng với cảm giác đau, nhiệt độ, chất liệu quần áo/thức ăn.', guide: '1.0: Bình thường | 2.0: Kén ăn kết cấu nhẹ hoặc hay đưa đồ lên miệng/ngửi | 3.0: Ngửi/liếm đồ vật rõ, chịu đau cao bất thường hoặc né tránh chạm | 4.0: Khám phá đồ vật chủ yếu bằng liếm/ngửi/sờ bất thường.' }, { id: 10, dom: 'sen', name: 'Mục X. Sự sợ hãi hoặc Lo âu (Fear or Nervousness)', desc: 'Mức độ sợ hãi quá mức trước những thứ vô hại hoặc ngược lại là hoàn toàn không biết sợ trước nguy hiểm thực tế.', guide: '1.0: Biết sợ hợp lý theo tuổi | 2.0: Đôi khi lo lắng hoặc liều lĩnh hơn bạn cùng tuổi | 3.0: Sợ hãi vô lý hoặc thiếu nhận thức nguy hiểm rõ | 4.0: Hoảng sợ cực độ không dỗ được hoặc bất chấp nguy hiểm.' }, { id: 11, dom: 'com', name: 'Mục XI. Giao tiếp bằng lời nói (Verbal Communication)', desc: 'Mức độ phát triển lời nói và các bất thường ngôn ngữ (chậm nói, nhại lời, đảo ngược đại từ, ngôn ngữ rập khuôn).', guide: '1.0: Ngôn ngữ phù hợp tuổi | 2.0: Chậm nói nhẹ hoặc đôi khi nhại lời | 3.0: Không có lời nói giao tiếp hoặc nhại lời/nói vô nghĩa nhiều | 4.0: Hoàn toàn không dùng lời nói có nghĩa hoặc chỉ phát âm thanh lạ.' }, { id: 12, dom: 'com', name: 'Mục XII. Giao tiếp không lời (Nonverbal Communication)', desc: 'Việc sử dụng cử chỉ (chỉ trỏ, gật/lắc đầu, vẫy tay, nét mặt) để bày tỏ nhu cầu và chia sẻ sự chú ý.', guide: '1.0: Dùng cử chỉ tốt | 2.0: Cử chỉ còn nghèo nàn, chỉ tay chưa rõ | 3.0: Kéo tay người lớn thay vì chỉ trỏ, ít hiểu cử chỉ | 4.0: Hoàn toàn không dùng hoặc không hiểu cử chỉ phi ngôn ngữ.' }, { id: 13, dom: 'gen', name: 'Mục XIII. Mức độ hoạt động (Activity Level)', desc: 'Mức độ vận động trong phòng khám và sinh hoạt (tăng động, chạy nhảy liên tục hoặc thụ động, ì ạch quá mức).', guide: '1.0: Hoạt động vừa phải | 2.0: Hơi hiếu động hoặc hơi chậm chạp nhẹ | 3.0: Tăng động khó ngồi yên hoặc rất thụ động | 4.0: Cực kỳ tăng động/lờ đờ suốt buổi, rất khó điều chỉnh.' }, { id: 14, dom: 'gen', name: 'Mục XIV. Mức độ và Tính nhất quán của Phản ứng Trí tuệ (Intellectual Response)', desc: 'Sự đồng đều giữa các kỹ năng nhận thức (trí tuệ đồng đều hay phát triển lệch, có kỹ năng vượt trội xen lẫn thiếu hụt).', guide: '1.0: Trí tuệ bình thường & đồng đều | 2.0: Chậm nhẹ đồng đều các lĩnh vực | 3.0: Nhận thức không đồng đều, có mảng giỏi bất ngờ | 4.0: Lệch lạc lớn giữa các kỹ năng (Savant/Splinter skills) kèm suy giảm chung.' }, { id: 15, dom: 'gen', name: 'Mục XV. Ấn tượng chung của Nhà lâm sàng (General Impressions)', desc: 'Đánh giá tổng thể của chuyên gia về mức độ tự kỷ dựa trên toàn bộ quá trình quan sát và bệnh sử.', guide: '1.0: Không tự kỷ | 2.0: Tự kỷ mức độ nhẹ | 3.0: Tự kỷ mức độ trung bình | 4.0: Tự kỷ mức độ nặng.' } ]; // ========================================== // DỮ LIỆU 2: 15 MỤC CHUẨN CỦA CARS2-HF (HIGH-FUNCTIONING • >= 6 TUỔI, IQ >= 80, NÓI LƯU LOÁT) // ========================================== const hfItems = [ { id: 1, dom: 'soc', name: 'Mục I. Hiểu biết Cảm xúc – Xã hội (Social-Emotional Understanding)', desc: 'Khả năng nhận diện cảm xúc, đọc ngôn ngữ cơ thể, nét mặt và hiểu góc nhìn/suy nghĩ của người khác (Thuyết tâm trí).', guide: '1.0: Thấu cảm & hiểu ý người khác tốt | 2.0: Đôi khi hiểu sai ẩn ý hoặc cảm xúc tinh tế | 3.0: Khó đặt mình vào vị trí người khác rõ rệt | 4.0: Hầu như không nhận thức được cảm xúc/quan điểm của người đối diện.' }, { id: 2, dom: 'soc', name: 'Mục II. Biểu đạt Cảm xúc và Điều tiết Cảm xúc (Emotional Expression & Regulation)', desc: 'Cách thể hiện cảm xúc qua nét mặt/giọng nói và khả năng tự kiểm soát cơn giận, lo âu hoặc thất vọng.', guide: '1.0: Biểu đạt & tự điều tiết tốt | 2.0: Biểu cảm hơi cứng nhắc hoặc dễ cáu khi thất bại | 3.0: Bùng nổ cảm xúc hoặc nét mặt phẳng lì lệch ngữ cảnh | 4.0: Rối loạn điều tiết cảm xúc nghiêm trọng.' }, { id: 3, dom: 'soc', name: 'Mục III. Quan hệ với mọi người (Relating to People)', desc: 'Tính tương hỗ hai chiều khi tương tác với người lớn và bạn cùng trang lứa, khả năng kết bạn và duy trì tình bạn.', guide: '1.0: Quan hệ hai chiều tự nhiên | 2.0: Muốn kết bạn nhưng vụng về, tương tác hơi một chiều | 3.0: Ít chủ động xã hội hoặc chỉ tương tác theo điều kiện riêng | 4.0: Tách biệt xã hội hoặc hoàn toàn một chiều.' }, { id: 4, dom: 'rrb', name: 'Mục IV. Sử dụng cơ thể (Body Use)', desc: 'Sự khéo léo vận động tinh/thô, dáng đi đứng, tư thế và các cử động định hình hoặc tics vận động.', guide: '1.0: Phối hợp vận động tốt | 2.0: Hơi vụng về trong thể thao/viết chữ hoặc tư thế hơi cứng | 3.0: Vụng về rõ hoặc có cử động tay/cơ thể lặp lại | 4.0: Cử động định hình hoặc bất thường vận động nghiêm trọng.' }, { id: 5, dom: 'rrb', name: 'Mục V. Sử dụng đồ vật trong vui chơi & Sở thích thu hẹp (Object Use in Play)', desc: 'Khả năng chơi tưởng tượng linh hoạt so với việc chỉ sưu tầm thông tin, phân loại hoặc đam mê các chủ đề chuyên biệt hẹp.', guide: '1.0: Sở thích đa dạng, linh hoạt | 2.0: Rất mê 1–2 chủ đề nhưng vẫn chuyển sang việc khác được | 3.0: Sở thích đặc biệt chiếm phần lớn thời gian và câu chuyện | 4.0: Ám ảnh mãnh liệt với chủ đề hẹp, cản trở sinh hoạt.' }, { id: 6, dom: 'rrb', name: 'Mục VI. Thích ứng với thay đổi & Sở thích hạn hẹp (Adaptation to Change)', desc: 'Tính linh hoạt khi thay đổi kế hoạch, quy tắc, lịch trình và xu hướng khăng khăng giữ các nghi thức cá nhân.', guide: '1.0: Thích nghi linh hoạt | 2.0: Cần báo trước khi đổi lịch, hơi cứng nhắc quy tắc | 3.0: Căng thẳng, phản ứng mạnh khi kế hoạch thay đổi | 4.0: Đòi hỏi sự bất biến tuyệt đối, hoảng loạn khi thay đổi.' }, { id: 7, dom: 'sen', name: 'Mục VII. Phản ứng thị giác (Visual Response)', desc: 'Chất lượng giao tiếp ánh mắt khi trò chuyện và sự chú ý quá mức đến các chi tiết thị giác nhỏ hoặc ánh sáng.', guide: '1.0: Giao tiếp mắt tự nhiên | 2.0: Nhìn mắt không đều hoặc nhìn chằm chằm hơi cứng | 3.0: Tránh nhìn mắt rõ rệt hoặc cuốn hút vào chi tiết thị giác | 4.0: Bất thường nghiêm trọng trong giao tiếp mắt.' }, { id: 8, dom: 'sen', name: 'Mục VIII. Phản ứng thính giác (Listening Response)', desc: 'Phản ứng với tiếng ồn môi trường và khả năng lọc âm thanh để lắng nghe người đối diện trong nơi đông người.', guide: '1.0: Lắng nghe bình thường | 2.0: Dễ xao nhãng bởi tiếng động nhỏ hoặc ghét một số tiếng ồn | 3.0: Quá tải thính giác rõ (phải bịt tai) hoặc chậm xử lý lời nói | 4.0: Nhạy cảm thính giác cực độ gây cản trở sinh hoạt.' }, { id: 9, dom: 'sen', name: 'Mục IX. Phản ứng và Nhạy cảm Giác quan khác (Taste, Smell, Touch)', desc: 'Nhạy cảm với chất liệu quần áo (mác áo), kết cấu thức ăn, mùi hương hoặc cảm giác đụng chạm cơ thể.', guide: '1.0: Không có nhạy cảm đặc biệt | 2.0: Kén một số chất vải hoặc món ăn nhất định | 3.0: Phản ứng gay gắt với mùi, kết cấu thức ăn hoặc cái ôm | 4.0: Rối loạn xử lý giác quan nặng.' }, { id: 10, dom: 'sen', name: 'Mục X. Sự sợ hãi hoặc Lo âu (Fear or Anxiety)', desc: 'Mức độ lo âu xã hội, căng thẳng trước tình huống mới, ám ảnh sợ hoặc thiếu nhận thức rủi ro xã hội.', guide: '1.0: Mức lo âu bình thường | 2.0: Hay lo lắng khi gặp người lạ/tình huống mới | 3.0: Lo âu thường trực, căng thẳng rõ rệt | 4.0: Lo âu hoặc hoảng loạn nghiêm trọng làm tê liệt hoạt động.' }, { id: 11, dom: 'com', name: 'Mục XI. Giao tiếp bằng lời nói (Verbal Communication)', desc: 'Kỹ năng hội thoại qua lại hai chiều, cách dùng từ (kiểu cách "ông cụ non"), giọng điệu và khả năng hiểu nghĩa bóng/nói đùa.', guide: '1.0: Hội thoại linh hoạt, hiểu nghĩa bóng | 2.0: Nói hơi sách vở, đôi khi hiểu theo nghĩa đen | 3.0: Độc thoại một chiều về sở thích, giọng đều đều, khó hiểu ẩn dụ | 4.0: Giao tiếp ngữ dụng suy giảm nghiêm trọng.' }, { id: 12, dom: 'com', name: 'Mục XII. Giao tiếp không lời (Nonverbal Communication)', desc: 'Sự phối hợp giữa cử chỉ tay, tư thế cơ thể, khoảng cách giao tiếp và biểu cảm nét mặt khi đang nói chuyện.', guide: '1.0: Ngôn ngữ cơ thể tự nhiên | 2.0: Cử chỉ hơi ít hoặc khoảng cách đứng hơi gần/xa | 3.0: Hiếm dùng cử chỉ minh họa, nét mặt và lời nói thiếu ăn khớp | 4.0: Ngôn ngữ phi ngôn ngữ hoàn toàn rời rạc, cứng nhắc.' }, { id: 13, dom: 'gen', name: 'Mục XIII. Khả năng Tích hợp Tư duy & Nhận thức Tổng thể (Thinking/Cognitive Integration)', desc: 'Khả năng nhìn nhận bức tranh tổng thể (Central Coherence) thay vì chỉ sa đà vào các chi tiết vụn vặt rời rạc.', guide: '1.0: Nắm bắt ý chính & tổng thể tốt | 2.0: Chú ý nhiều đến tiểu tiết nhưng vẫn hiểu ý chính khi nhắc | 3.0: Nhớ chi tiết cực tốt nhưng bỏ lỡ ý nghĩa tổng thể của tình huống | 4.0: Tư duy mảnh vụn, không thể kết nối thành bức tranh chung.' }, { id: 14, dom: 'gen', name: 'Mục XIV. Mức độ và Tính nhất quán của Phản ứng Trí tuệ (Intellectual Response)', desc: 'Sự chênh lệch giữa trí thông minh học thuật/ghi nhớ và khả năng giải quyết vấn đề thực tế ("lẽ thường" xã hội).', guide: '1.0: Năng lực nhận thức và thực tế cân bằng | 2.0: Học tốt nhưng kỹ năng ứng phó thực tế hơi chậm | 3.0: Chênh lệch lớn giữa điểm số/kiến thức và sự ngây thơ ngoài đời | 4.0: Lệch lạc cực đoan giữa năng lực chuyên biệt và kỹ năng sống.' }, { id: 15, dom: 'gen', name: 'Mục XV. Ấn tượng chung của Nhà lâm sàng (General Impressions)', desc: 'Đánh giá tổng quát của chuyên gia về mức độ triệu chứng thuộc Phổ tự kỷ trên toàn bộ 14 lĩnh vực trên.', guide: '1.0: Không thuộc phổ tự kỷ | 2.0: Phổ tự kỷ mức độ nhẹ | 3.0: Phổ tự kỷ mức độ trung bình | 4.0: Phổ tự kỷ mức độ nặng.' } ]; // formType: 'st_u13' (CARS2-ST = 13 tuổi: Cut 28.0 / 35.0) | 'hf' (CARS2-HF >= 6 tuổi, IQ >= 80: Cut 28.0 / 34.0) let formType = 'st_u13'; let scores = {}; // Lưu điểm từng mục (1.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0) let filterDom = 'all'; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .c2-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .c2-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .c2-inner { padding: 24px; max-width: 940px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .c2-wrap.is-fullscreen .c2-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .c2-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(217, 119, 6, 0.45), 0 0 0 0 rgba(217, 119, 6, 0.4); } 70% { box-shadow: 0 6px 20px rgba(217, 119, 6, 0.45), 0 0 0 10px rgba(217, 119, 6, 0); } 100% { box-shadow: 0 6px 20px rgba(217, 119, 6, 0.45), 0 0 0 0 rgba(217, 119, 6, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #b45309 0%, #d97706 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(217, 119, 6, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Bộ chuyển đổi 3 mẫu phiếu CARS-2 */ .form-switcher { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; background: #f1f5f9; padding: 8px; border-radius: 12px; margin-bottom: 18px; } .form-btn { padding: 10px 12px; border-radius: 9px; border: 1.5px solid transparent; background: transparent; cursor: pointer; text-align: left; transition: all 0.2s ease; touch-action: manipulation; } .form-btn.active { background: #ffffff; border-color: #d97706; box-shadow: 0 2px 8px rgba(15, 23, 42, 0.08); } .form-btn-title { font-size: 13.8px; font-weight: 800; color: #0f172a; display: block; } .form-btn.active .form-btn-title { color: #b45309; } .form-btn-sub { font-size: 11.5px; color: #64748b; margin-top: 2px; display: block; } /* Header */ .c2-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .c2-header-text { flex: 1 1 260px; } .c2-title { font-size: 20px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .c2-desc { font-size: 13.8px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #fffbeb; color: #b45309; border: 1px solid #fde68a; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #d97706; color: #ffffff; border-color: #d97706; } /* Controls */ .c2-controls { display: flex; flex-direction: column; gap: 10px; margin-bottom: 18px; } .c2-presets { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; } .c2-preset-lbl { font-size: 12.5px; font-weight: 700; color: #475569; margin-right: 4px; } .c2-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; touch-action: manipulation; } .c2-pbtn:hover { background: #f1f5f9; } .c2-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } .c2-domain-tabs { display: flex; flex-wrap: wrap; gap: 6px; } .c2-dtab { padding: 6px 12px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .c2-dtab.active { background: #d97706; color: #ffffff; border-color: #d97706; } /* Sticky Dashboard */ .c2-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .c2-wrap.is-fullscreen .c2-dash { top: 58px; } .c2-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .c2-score-big { font-size: 24px; font-weight: 800; line-height: 1; } .c2-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .c2-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .c2-bar-bg { height: 10px; background: #334155; border-radius: 5px; overflow: hidden; margin-bottom: 12px; } .c2-bar-fill { height: 100%; width: 0%; background: #10b981; transition: width 0.35s ease, background 0.35s ease; } .c2-pillars { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; font-size: 12px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .c2-pillar-box { background: #1e293b; padding: 7px 10px; border-radius: 8px; } .c2-pillar-val { font-weight: 700; color: #ffffff; font-size: 13.5px; display: block; margin-top: 2px; } /* Danh sách 15 mục CARS-2 */ .c2-item { border: 1px solid #e2e8f0; border-radius: 12px; padding: 15px 16px; margin-bottom: 12px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 8px; } .c2-item.sev-high { border-color: #fca5a5; background: #fff5f5; } .c2-item.sev-mid { border-color: #fde68a; background: #fffbeb; } .c2-item-title { font-size: 15px; font-weight: 800; color: #0f172a; } .c2-item-desc { font-size: 13.5px; color: #334155; } .c2-item-guide { font-size: 12.5px; color: #475569; background: #f8fafc; padding: 7px 10px; border-radius: 6px; border-left: 3px solid #cbd5e1; } /* 7 nút điểm bước nhảy 0.5 (1.0 -> 4.0) */ .c2-scale-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 6px; margin-top: 4px; } .c2-sbtn { padding: 8px 4px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .c2-sbtn:hover { border-color: #64748b; } .c2-sbtn-num { font-size: 13.5px; font-weight: 800; display: block; color: #0f172a; } .c2-sbtn-lbl { font-size: 10.5px; color: #64748b; display: block; margin-top: 1px; } .c2-sbtn.sel-norm { background: #10b981; border-color: #10b981; } .c2-sbtn.sel-mild { background: #f59e0b; border-color: #f59e0b; } .c2-sbtn.sel-sev { background: #ef4444; border-color: #ef4444; } .c2-sbtn.sel-norm .c2-sbtn-num, .c2-sbtn.sel-norm .c2-sbtn-lbl, .c2-sbtn.sel-mild .c2-sbtn-num, .c2-sbtn.sel-mild .c2-sbtn-lbl, .c2-sbtn.sel-sev .c2-sbtn-num, .c2-sbtn.sel-sev .c2-sbtn-lbl { color: #ffffff; } .c2-result-box { margin-top: 20px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #64748b; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 720px) { .c2-inner { padding: 14px; } .form-switcher { grid-template-columns: 1fr; } .c2-title { font-size: 18px; } .c2-pillars { grid-template-columns: 1fr 1fr; } .c2-scale-grid { grid-template-columns: repeat(4, 1fr); } .c2-pbtn.reset { margin-left: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
${cfg.title}
${cfg.desc}
`; } function renderItems() { const cfg = getActiveConfig(); itemList.innerHTML = ''; cfg.items.forEach(function(it) { if (filterDom !== 'all' && it.dom !== filterDom) return; const uVal = (scores[it.id] !== undefined) ? scores[it.id] : 1.0; let rowCls = 'c2-item'; if (uVal >= 3.0) rowCls += ' sev-high'; else if (uVal >= 2.0) rowCls += ' sev-mid'; const btnsHtml = scaleSteps.map(st => { let cls = 'c2-sbtn'; if (uVal === st.val) { if (st.val <= 1.5) cls += ' sel-norm'; else if (st.val <= 2.5) cls += ' sel-mild'; else cls += ' sel-sev'; } return ` `; }).join(''); const el = document.createElement('div'); el.className = rowCls; el.innerHTML = `• Tổng điểm thấp hơn ngưỡng điểm cắt phân loại tự kỷ (${cfg.cutMild.toFixed(1)} điểm).
• Nếu trẻ có một số mục lẻ đạt 2.0 – 2.5 điểm ở phần Giao tiếp hoặc Hoạt động nhưng tổng điểm dưới ${cfg.cutMild.toFixed(1)}, cần đánh giá phân biệt với Chậm phát triển ngôn ngữ, Tăng động giảm chú ý (ADHD) hoặc Rối loạn xử lý giác quan đơn thuần. `; } else if (total < cfg.cutSev) { color = '#f59e0b'; badgeTxt = `TỰ KỶ NHẸ – TRUNG BÌNH (${total.toFixed(1)}đ)`; analysis = ` Kết luận CARS-2 — Mức Độ Triệu Chứng Phổ Tự Kỷ NHẸ ĐẾN TRUNG BÌNH (${total.toFixed(1)} / 60.0 điểm):
• Tổng điểm nằm trong khoảng ${cfg.cutMild.toFixed(1)} – ${(cfg.cutSev - 0.5).toFixed(1)} điểm. Hồ sơ phân bố: Tương tác & Giao tiếp (${sSocCom.toFixed(1)}/20.0) • Cơ thể, Đồ vật & Thay đổi (${sRrb.toFixed(1)}/12.0) • Giác quan & Lo âu (${sSen.toFixed(1)}/16.0).
• Hướng xử trí lâm sàng: Kết quả tương ứng với mức độ cần hỗ trợ (Level 1 – Level 2 theo DSM-5). Khuyến nghị kết hợp đánh giá năng lực thích ứng bằng Vineland-3 để xây dựng mục tiêu can thiệp cá nhân hóa (IEP) tập trung vào các mục có điểm từ 2.5 trở lên. `; } else { color = '#ef4444'; badgeTxt = `TỰ KỶ MỨC ĐỘ NẶNG (≥ ${cfg.cutSev.toFixed(1)}: ${total.toFixed(1)}đ)`; analysis = ` Kết luận CARS-2 — Mức Độ Triệu Chứng Phổ Tự Kỷ NẶNG (Đạt ${total.toFixed(1)} / 60.0 điểm, ngưỡng ≥ ${cfg.cutSev.toFixed(1)}):
• Tổng điểm vượt ngưỡng phân loại Tự kỷ mức độ nặng trên thang CARS-2, phản ánh sự suy giảm lan tỏa ở cả Tương tác – Giao tiếp (${sSocCom.toFixed(1)}/20.0), Hành vi định hình/Kháng cự thay đổi (${sRrb.toFixed(1)}/12.0) và Phản ứng giác quan (${sSen.toFixed(1)}/16.0).
• Hướng xử trí lâm sàng: Cần triển khai chương trình can thiệp sớm tích cực, đa chuyên ngành (Ngôn ngữ trị liệu, Hoạt động trị liệu giác quan, Can thiệp hành vi phát triển) và theo dõi định kỳ lại bằng CARS-2 + Vineland-3 sau mỗi 6 tháng. `; } barFill.style.background = color; scoreBadge.textContent = badgeTxt; scoreBadge.style.background = color; scoreBadge.style.color = '#ffffff'; resultBox.style.borderLeftColor = color; resultBox.innerHTML = analysis; updateFloatingFabVisibility(); } function applyPreset(type) { scores = {}; for (let i = 1; i { scores[id] = (idx % 2 === 0) ? 2.0 : 1.5; }); } else if (type === 'mild') { // 32.5 điểm (Mức Nhẹ - Trung bình) [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15].forEach((id, idx) => { if (idx % 3 === 0) scores[id] = 2.5; else if (idx % 2 === 0) scores[id] = 2.0; else scores[id] = 2.0; }); } else if (type === 'severe') { // 43.5 điểm (Mức Nặng) [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15].forEach((id, idx) => { if (idx % 3 === 0) scores[id] = 3.5; else if (idx % 2 === 0) scores[id] = 3.0; else scores[id] = 2.5; }); } renderItems(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); c2Wrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { c2Wrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 940px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } shadow.querySelectorAll('#formSwitcher .form-btn').forEach(function(btn) { btn.onclick = function() { formType = this.getAttribute('data-form'); shadow.querySelectorAll('#formSwitcher .form-btn').forEach(b => b.classList.remove('active')); this.classList.add('active'); renderHeader(); renderItems(); updateSummary(); }; }); shadow.querySelectorAll('.c2-pbtn').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-preset')); }; }); shadow.querySelectorAll('#domainTabs .c2-dtab').forEach(function(tab) { tab.onclick = function() { filterDom = this.getAttribute('data-dom'); shadow.querySelectorAll('#domainTabs .c2-dtab').forEach(t => t.classList.remove('active')); this.classList.add('active'); renderItems(); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); renderHeader(); applyPreset('mild'); })();
CARS-2 (Childhood Autism Rating Scale, Second Edition — Thang Đánh Giá Tự Kỷ Ở Trẻ Em, Phiên bản 2) là một trong những công cụ quan sát lâm sàng kinh điển và được sử dụng rộng rãi nhất tại các bệnh viện, trung tâm tâm lý trên toàn thế giới (và tại Việt Nam) để hỗ trợ chẩn đoán phân biệt và đo lường mức độ nặng (Severity) của Rối loạn phổ tự kỷ. Công cụ được phát triển bởi Giáo sư Eric Schopler, Mary Van Bourgondien và các cộng sự (2010).
1. Điểm cải tiến đột phá của CARS-2 so với bản CARS cũ
Ở bản CARS gốc (1988), công cụ này rất nhạy với trẻ tự kỷ điển hình có kèm chậm phát triển trí tuệ, nhưng lại dễ bỏ sót nhóm Tự kỷ chức năng cao (High-Functioning Autism / Asperger). Vì vậy, CARS-2 đã được tách thành 2 phiên bản đánh giá chuyên biệt (đều gồm 15 mục, chấm từ 1.0 đến 4.0 điểm với bước nhảy 0.5 điểm):
| Đặc điểm | 1. Bản Tiêu chuẩn (CARS2-ST — Standard Version) | 2. Bản Chức năng cao (CARS2-HF — High-Functioning) |
| Đối tượng áp dụng |
• Trẻ dưới 6 tuổi (mọi mức độ phát triển).
• Hoặc trẻ từ 6 tuổi trở lên nhưng có IQ hoặc chậm nói / giao tiếp hạn chế. |
• Cá nhân từ 6 tuổi trở lên, nói lưu loát VÀ có chỉ số trí tuệ IQ (Tự kỷ chức năng cao / Asperger). |
| Cấu trúc 15 mục đánh giá | Giữ nguyên 15 mục kinh điển (Quan hệ với người, Bắt chước, Cảm xúc, Sử dụng cơ thể, Sử dụng đồ vật, Thích ứng thay đổi, Thị giác, Thính giác, Vị-Khứu-Xúc giác, Sợ hãi/Lo âu, Giao tiếp lời nói, Giao tiếp không lời, Mức độ hoạt động, Trí tuệ, Ấn tượng chung). | Thay thế các mục vận động/bắt chước cơ bản bằng các mục tinh tế hơn: Biểu đạt cảm xúc – xã hội, Hiểu cảm xúc & Thuyết tâm trí (Theory of Mind), Khởi xướng hội thoại, Tư duy tích hợp tổng thể (Central Coherence). |
| Cách chấm từng mục |
7 mức điểm (từ 1.0 đến 4.0, bước nhảy 0.5):
|
Tương tự (7 mức từ 1.0 đến 4.0 với bước nhảy 0.5). Tổng điểm nằm trong khoảng từ 15.0 đến 60.0 điểm. |
| Ngưỡng điểm cắt (Cut-off Score) |
• Trẻ < 13 tuổi:
–
–
–
• (Lưu ý: Với nhóm tuổi dùng bản ST, ngưỡng cắt hạ xuống cho mức Nhẹ–TB và 35.0 cho mức Nặng). |
• Áp dụng cho lứa tuổi ≥ 6 tuổi (IQ ≥ 80): –
–
– |
(Điểm đặc trưng của CARS-2 là nếu tất cả 15 mục đều bình thường hoàn toàn thì tổng điểm khởi đầu là 15.0 điểm chứ không phải 0 điểm).
Danh sách câu hỏi cơ bản nhất liên quan đến cuộc sống thường dậy bé nói
-
Nhóm khám phá thế giới: Cái gì đây ạ? (Vật) – Ai đây ạ? (Người) – [Tên vật] ở đâu rồi ạ? (Vị trí) – Tại sao lại thế ạ? (Nguyên nhân).
-
Nhóm ranh giới & tương tác xã hội: Cái này của ai? (Sở hữu) – Con mượn cái này được không ạ? (Xin phép) – Đến lượt con chưa ạ? (Luân phiên & Chờ đợi).
1. Nhóm câu hỏi về nhu cầu và xin giúp đỡ
-
“Mẹ/Bố ơi, giúp con?” (Dùng khi bé không mở được hộp sữa, không lấy được đồ trên cao, hoặc bị kẹt đồ chơi).
2. Nhóm câu hỏi khám phá thế giới
-
“Cái gì đây ạ?“ (Câu hỏi “kinh điển” khi bé nhìn thấy đồ vật mới, con vật mới).
-
“Ai đây ạ?“ (Giúp bé nhận diện người thân, hàng xóm, hoặc các nhân vật khi cùng mẹ đọc sách truyện).
-
“Tại sao lại thế ạ?” (Câu hỏi vàng kích thích tư duy logic. Dù đôi khi sẽ khiến người lớn đau đầu để giải thích, nhưng nó chứng tỏ não bộ của bé đang phát triển rất tốt).
3. Nhóm câu hỏi về vị trí và sở hữu
-
“[Tên đồ vật] ở đâu rồi ạ?“ (Ví dụ: “Dép của con ở đâu?”. Câu hỏi này giúp bé chủ động tìm kiếm đồ cá nhân thay vì khóc lóc bắt người lớn tìm hộ).
-
“Cái này của ai ạ?“ (Giúp bé hiểu về khái niệm sở hữu, biết phân biệt đồ của mình và đồ của người khác).
4. Nhóm câu hỏi xin phép và tương tác xã hội
-
“Con mượn cái này được không?“ (Dạy bé nguyên tắc phải xin phép trước khi lấy đồ không thuộc về mình).
5. Câu hỏi về xếp lượt, luân phiên và chờ đợi
- “Đến lượt con chưa?“ (Cực kỳ hữu ích khi bé ra sân chơi chung với các bạn, giúp rèn luyện sự kiên nhẫn và hiểu về luật luân phiên). Tình huống này rèn luyện sự luân phiên (turn-taking) – một kỹ năng xã hội rất khó với trẻ tự kỷ.
Đánh giá chức năng - Lập kế hoạch can thiệp
(function(){
function mountShadowRoadmap(){
var host = document.getElementById('phuchoi-roadmap-host');
if(!host) return;
if(host.shadowRoot) return;
if(!host.attachShadow) return;
var shadow = host.attachShadow({mode:'open'});
var css = [
':host{all:initial;display:block;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:#1e293b;line-height:1.6;width:100%;box-sizing:border-box;}',
'*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}',
'.roadmap-card{width:100%;background:#ffffff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 8px 24px rgba(15,23,42,0.05);overflow:hidden;}',
'.rm-intro{background:linear-gradient(135deg,#f0f9ff 0%,#e0f2fe 100%);padding:20px 24px;border-bottom:1px solid #bae6fd;display:flex;align-items:flex-start;gap:14px;}',
'.rm-icon{font-size:26px;line-height:1;background:#ffffff;width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 10px rgba(2,132,199,0.12);flex-shrink:0;}',
'.rm-intro-text{font-size:15px;color:#0f172a;margin:0;}',
'.rm-intro-text strong{color:#0369a1;font-weight:700;}',
'.rm-table{width:100%;border-collapse:collapse;border-spacing:0;}',
'.rm-table thead th{background:#f8fafc;color:#334155;font-size:12.5px;font-weight:800;text-transform:uppercase;letter-spacing:0.4px;padding:14px 20px;text-align:left;border-bottom:2px solid #e2e8f0;}',
'.rm-table tbody tr{border-bottom:1px solid #e2e8f0;transition:background 0.2s ease;}',
'.rm-table tbody tr:last-child{border-bottom:none;}',
'.rm-table tbody tr:hover{background:#f8fafc;}',
'.rm-table td{padding:20px;vertical-align:top;}',
'.step-tag{display:inline-block;font-size:11px;font-weight:700;padding:2px 9px;border-radius:999px;text-transform:uppercase;margin-bottom:6px;}',
'.step-1{background:#ede9fe;color:#6d28d9;}',
'.step-2{background:#dbeafe;color:#1d4ed8;}',
'.step-3{background:#dcfce7;color:#15803d;}',
'.group-badge{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:800;color:#0f172a;}',
'.tools-wrap{display:flex;flex-wrap:wrap;gap:8px;}',
'.tool-link{display:inline-flex;align-items:center;gap:5px;padding:6px 13px;border-radius:8px;font-size:13.5px;font-weight:700;text-decoration:none;transition:all 0.18s ease;border:1.5px solid transparent;cursor:pointer;}',
'.tool-link::after{content:"↗";font-size:11px;opacity:0.75;}',
'.tool-purple{background:#f5f3ff;color:#6d28d9;border-color:#ddd6fe;}',
'.tool-purple:hover{background:#7c3aed;color:#ffffff;border-color:#7c3aed;transform:translateY(-2px);box-shadow:0 4px 10px rgba(124,58,237,0.25);}',
'.tool-blue{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe;}',
'.tool-blue:hover{background:#2563eb;color:#ffffff;border-color:#2563eb;transform:translateY(-2px);box-shadow:0 4px 10px rgba(37,99,235,0.25);}',
'.tool-green{background:#f0fdf4;color:#15803d;border-color:#bbf7d0;}',
'.tool-green:hover{background:#16a34a;color:#ffffff;border-color:#16a34a;transform:translateY(-2px);box-shadow:0 4px 10px rgba(22,163,74,0.25);}',
'.desc-text{font-size:14.2px;color:#334155;margin:0;}',
'@media (max-width:768px){.rm-intro{padding:16px;}.rm-table thead{display:none;}.rm-table,.rm-table tbody,.rm-table tr,.rm-table td{display:block;width:100%;}.rm-table tbody tr{padding:16px;}.rm-table td{padding:6px 0;}.tools-wrap{margin:6px 0 8px 0;}}'
].join('');
var styleEl = document.createElement('style');
styleEl.textContent = css;
shadow.appendChild(styleEl);
var rowsData = [
{
stepCls: 'step-1',
stepTxt: 'Bước 1 • Nền tảng',
title: '🧩 Hành vi thích ứng & Giác quan',
btnCls: 'tool-purple',
tools: [
{name: 'Vineland-3', url: 'https://phuchoi.vn/kien-thuc/cong-cu/danh-gia-chuc-nang-lap-ke-hoach-can-thiep/vineland-3/'},
{name: 'Sensory Profile 2', url: 'https://phuchoi.vn/kien-thuc/cong-cu/danh-gia-chuc-nang-lap-ke-hoach-can-thiep/sensory-profile-2/'},
{name: 'SPM-2', url: 'https://phuchoi.vn/kien-thuc/cong-cu/danh-gia-chuc-nang-lap-ke-hoach-can-thiep/spm-2/'}
],
desc: 'Đánh giá khả năng tự lập, thích nghi trong sinh hoạt hàng ngày và cách hệ thần kinh của trẻ tiếp nhận, phản ứng với các kích thích giác quan (âm thanh, ánh sáng, xúc giác, vận động...).'
},
{
stepCls: 'step-2',
stepTxt: 'Bước 2 • Lên giáo án',
title: '🎯 Lập kế hoạch giáo dục cá nhân (IEP)',
btnCls: 'tool-blue',
tools: [
{name: 'PEP-3', url: 'https://phuchoi.vn/kien-thuc/cong-cu/danh-gia-chuc-nang-lap-ke-hoach-can-thiep/pep-3/'},
{name: 'VB-MAPP', url: 'https://phuchoi.vn/kien-thuc/cong-cu/danh-gia-chuc-nang-lap-ke-hoach-can-thiep/vb-mapp/'},
{name: 'ABLLS-R', url: 'https://phuchoi.vn/kien-thuc/cong-cu/danh-gia-chuc-nang-lap-ke-hoach-can-thiep/ablls-r/'},
{name: 'ESDM', url: 'https://phuchoi.vn/kien-thuc/cong-cu/danh-gia-chuc-nang-lap-ke-hoach-can-thiep/esdm/'},
{name: 'AFLS', url: 'https://phuchoi.vn/kien-thuc/cong-cu/danh-gia-chuc-nang-lap-ke-hoach-can-thiep/afls/'}
],
desc: 'Các bộ công cụ chia nhỏ từng kỹ năng (ngôn ngữ, giao tiếp, học tập, bắt chước...) giúp xác định chính xác trẻ đang dừng ở mốc nào, từ đó lên giáo án can thiệp cá nhân hóa (IEP) phù hợp nhất.'
},
{
stepCls: 'step-3',
stepTxt: 'Bước 3 • Đo lường',
title: '📈 Theo dõi hiệu quả can thiệp',
btnCls: 'tool-green',
tools: [
{name: 'ATEC', url: 'https://phuchoi.vn/kien-thuc/cong-cu/danh-gia-chuc-nang-lap-ke-hoach-can-thiep/atec/'}
],
desc: 'Bảng kiểm định kỳ giúp cha mẹ và giáo viên đối chiếu điểm số trước và sau mỗi giai đoạn can thiệp, từ đó đánh giá phương pháp hiện tại có hiệu quả với trẻ hay không.'
}
];
var card = document.createElement('div');
card.className = 'roadmap-card';
var intro = document.createElement('div');
intro.className = 'rm-intro';
var icon = document.createElement('div');
icon.className = 'rm-icon';
icon.textContent = '🗺️';
var introP = document.createElement('p');
introP.className = 'rm-intro-text';
introP.appendChild(document.createTextNode('Sau khi có kết quả chẩn đoán, các công cụ này đóng vai trò như '));
var strongEl = document.createElement('strong');
strongEl.textContent = '"bản đồ chỉ đường"';
introP.appendChild(strongEl);
introP.appendChild(document.createTextNode(', giúp chuyên gia và gia đình nắm rõ điểm mạnh, điểm yếu cụ thể của trẻ để thiết kế mục tiêu dạy học sát sườn và đo lường sự tiến bộ theo thời gian.'));
intro.appendChild(icon);
intro.appendChild(introP);
card.appendChild(intro);
var table = document.createElement('table');
table.className = 'rm-table';
var thead = document.createElement('thead');
var trHead = document.createElement('tr');
var headers = [
{txt: 'Nhóm Chức Năng & Mục Tiêu', w: '27%'},
{txt: 'Bộ Công Cụ Chuẩn Hóa (Nhấn để xem)', w: '31%'},
{txt: 'Vai Trò & Ý Nghĩa Thực Tiễn', w: '42%'}
];
headers.forEach(function(h){
var th = document.createElement('th');
th.style.width = h.w;
th.textContent = h.txt;
trHead.appendChild(th);
});
thead.appendChild(trHead);
table.appendChild(thead);
var tbody = document.createElement('tbody');
rowsData.forEach(function(r){
var tr = document.createElement('tr');
var td1 = document.createElement('td');
var tag = document.createElement('span');
tag.className = 'step-tag ' + r.stepCls;
tag.textContent = r.stepTxt;
var badge = document.createElement('div');
badge.className = 'group-badge';
badge.textContent = r.title;
td1.appendChild(tag);
td1.appendChild(badge);
var td2 = document.createElement('td');
var wrap = document.createElement('div');
wrap.className = 'tools-wrap';
r.tools.forEach(function(t){
var a = document.createElement('a');
a.className = 'tool-link ' + r.btnCls;
a.href = t.url;
a.target = '_blank';
a.rel = 'noopener';
a.textContent = t.name;
wrap.appendChild(a);
});
td2.appendChild(wrap);
var td3 = document.createElement('td');
var desc = document.createElement('p');
desc.className = 'desc-text';
desc.textContent = r.desc;
td3.appendChild(desc);
tr.appendChild(td1);
tr.appendChild(td2);
tr.appendChild(td3);
tbody.appendChild(tr);
});
table.appendChild(tbody);
card.appendChild(table);
shadow.appendChild(card);
}
if(document.readyState === 'loading'){
document.addEventListener('DOMContentLoaded', mountShadowRoadmap);
} else {
mountShadowRoadmap();
}
})();
Bài Viết
[Lập kế hoạch IEP] Bảng kiểm ESDM: Đánh giá kỹ năng toàn diện và lên mục tiêu can thiệp sớm cho trẻ tự kỷ (12 – 48 tháng)
(function() { const host = document.getElementById('esdm-wp-host'); if (!host) return; const placeholder = document.createComment('esdm-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // Cấu hình 9 Lĩnh vực chuẩn của Bảng kiểm ESDM (Rogers & Dawson, 2010) const domConfigs = { rc: { code: 'rc', name: '1. Ngôn ngữ Tiếp nhận (Receptive Communication)', color: '#2563eb' }, ec: { code: 'ec', name: '2. Ngôn ngữ Diễn đạt (Expressive Communication)', color: '#0284c7' }, soc: { code: 'soc', name: '3. Kỹ năng Xã hội & Chú ý chung (Social & JA)', color: '#7c3aed' }, imi: { code: 'imi', name: '4. Bắt chước (Imitation)', color: '#9333ea' }, cog: { code: 'cog', name: '5. Nhận thức (Cognition)', color: '#0d9488' }, pla: { code: 'pla', name: '6. Kỹ năng Chơi: Tác chức năng & Tưởng tượng (Play)', color: '#10b981' }, fm: { code: 'fm', name: '7. Vận động Tinh (Fine Motor)', color: '#f59e0b' }, gm: { code: 'gm', name: '8. Vận động Thô (Gross Motor)', color: '#ea580c' }, ind: { code: 'ind', name: '9. Độc lập Cá nhân / Tự phục vụ (Independence)', color: '#dc2626' } }; // Cấu hình 4 Cấp độ phát triển chuẩn ESDM (Levels 1 - 4) // Mỗi cấp độ gồm 18 cụm mục tiêu cốt lõi đại diện cho đủ 9 Lĩnh vực (Mỗi lĩnh vực 2 cụm mục tiêu chuẩn ESDM) const levelData = { lvl1: { code: 'lvl1', tabTitle: '🌱 Cấp độ 1 (12 – 18 tháng)', tabSub: 'Level 1 • Nền tảng giao tiếp & chú ý chung', fullTitle: 'Bảng Kiểm ESDM Cấp Độ 1 (Level 1 • Tương Đương Tuổi Phát Triển 12 – 18 Tháng)', desc: 'Tập trung xây dựng nền tảng gắn kết cảm xúc, giao tiếp mắt, đáp ứng và khởi xướng sự chú ý chung (Joint Attention), cử chỉ chỉ trỏ, bắt chước thao tác với đồ vật và các từ đơn đầu tiên.', items: [ // 1. Ngôn ngữ Tiếp nhận (L1) { id: 101, dom: 'rc', name: 'RC-L1.1: Định hướng âm thanh, quay đầu nhìn mắt ngay khi nghe gọi tên và dừng tay khi nghe "Dừng lại / Không"', desc: 'Trẻ quay đầu nhìn thẳng vào mặt người gọi trong vòng 2 giây và hiểu các từ ngăn cản cơ bản.' }, { id: 102, dom: 'rc', name: 'RC-L1.2: Thực hiện đúng 8–10 mệnh lệnh vận động đơn giản 1 bước và nhận diện 10–15 đồ vật/bộ phận cơ thể quen thuộc', desc: 'Nhìn, chỉ hoặc đưa đúng đồ vật khi nghe yêu cầu ("Đưa bóng cho mẹ", "Chỉ mũi của con") và hiểu cử chỉ xòe tay.' }, // 2. Ngôn ngữ Diễn đạt (L1) { id: 103, dom: 'ec', name: 'EC-L1.1: Sử dụng cử chỉ chỉ ngón trỏ (kèm nhìn mắt) và phát âm có chủ đích để yêu cầu đồ vật mong muốn', desc: 'Trẻ phối hợp ánh mắt + cử chỉ vươn tay/chỉ trỏ + âm thanh để xin mở hộp, xin thêm bong bóng hoặc đồ ăn.' }, { id: 104, dom: 'ec', name: 'EC-L1.2: Bắt chước phát âm và tự phát nói từ 5 – 10 từ đơn gần đúng trong các hoạt động chơi chung', desc: 'Sử dụng các âm tiết và từ đơn có nghĩa ("măm", "bóng", "mở", "nữa", "bà/mẹ") hướng tới người đối diện.' }, // 3. Kỹ năng Xã hội & Chú ý chung (L1) { id: 105, dom: 'soc', name: 'SOC-L1.1: Tham gia các trò chơi cảm giác – xã hội (Ú òa, cù léc, hát vận động) kèm nhìn mắt và mỉm cười chia sẻ', desc: 'Duy trì tương tác vui vẻ trong 2–3 lượt và biết ra hiệu/nhìn mắt để yêu cầu người lớn tiếp tục trò chơi.' }, { id: 106, dom: 'soc', name: 'SOC-L1.2: Đáp ứng và Khởi xướng Chú ý chung (Nhìn theo tay chỉ của người lớn & Giơ đồ chơi khoe/chỉ tay chia sẻ)', desc: 'Trẻ chuyển ánh mắt luân phiên giữa món đồ chơi thú vị và khuôn mặt người lớn để chia sẻ niềm vui.' }, // 4. Bắt chước (L1) { id: 107, dom: 'imi', name: 'IMI-L1.1: Bắt chước 8–10 hành động đơn giản với đồ vật ngay sau khi người lớn làm mẫu trong trò chơi', desc: 'Ví dụ: Lăn xe, gõ trống, thả khối vào hộp, lắc xúc xắc, khuấy thìa trong cốc.' }, { id: 108, dom: 'imi', name: 'IMI-L1.2: Bắt chước 6–10 động tác vận động cơ thể/cử chỉ bài hát và các cử động miệng – mặt, nguyên âm', desc: 'Bắt chước vỗ tay, đập bàn, giơ tay lên cao, vẫy tay tạm biệt và chu môi/phồng má tạo âm thanh.' }, // 5. Nhận thức (L1) { id: 109, dom: 'cog', name: 'COG-L1.1: Ghép đôi tương ứng các đồ vật giống hệt nhau (3D–3D) và đặt đúng 3 hình cơ bản vào bảng khuôn', desc: 'Ghép cốc với cốc, thìa với thìa, bóng với bóng và lắp hình Tròn, Vuông, Tam giác vào khuôn.' }, { id: 110, dom: 'cog', name: 'COG-L1.2: Ghép đồ vật thật với bức tranh 2D tương ứng và phân loại ban đầu 2 nhóm đồ vật', desc: 'Nhận biết sự tương đồng giữa đồ chơi thật trên tay và hình chụp của nó trên thẻ tranh.' }, // 6. Kỹ năng Chơi (L1) { id: 111, dom: 'pla', name: 'PLA-L1.1: Chơi đúng chức năng với đa dạng đồ chơi nhân quả và đồ chơi tháo lắp (xếp tháp, thả khối, lồng cốc)', desc: 'Hoàn thành trọn vẹn nhiệm vụ của món đồ chơi (thả hết các khối vào hộp rồi mở nắp lấy ra) mà không lặp lại cứng nhắc.' }, { id: 112, dom: 'pla', name: 'PLA-L1.2: Thực hiện các hành động chơi chức năng quy ước hướng về bản thân (Đưa cốc lên uống, áp điện thoại lên tai, chải đầu)', desc: 'Sử dụng đúng công dụng xã hội của 5–8 đồ vật sinh hoạt thu nhỏ trên chính cơ thể mình.' }, // 7. Vận động Tinh (L1) { id: 113, dom: 'fm', name: 'FM-L1.1: Cầm kẹp vật nhỏ bằng đầu ngón cái – ngón trỏ (Pincer grasp), xếp chồng 3 khối gỗ và lật trang sách bìa cứng', desc: 'Thả hạt nhỏ/đồng xu vào khe hẹp và phối hợp hai tay để tháo mở các khối Lego Duplo lớn.' }, { id: 114, dom: 'fm', name: 'FM-L1.2: Cầm bút sáp màu bằng lòng bàn tay/ngón tay để vẽ nguệch ngoạc tự phát trên giấy sau khi xem mẫu', desc: 'Tạo được các nét chấm và nét vạch rõ ràng trên mặt giấy.' }, // 8. Vận động Thô (L1) { id: 115, dom: 'gm', name: 'GM-L1.1: Đi độc lập vững vàng, tự cúi nhặt đồ chơi dưới sàn đứng lên không ngã và trèo lên ghế nhỏ', desc: 'Di chuyển linh hoạt trong phòng và mang theo đồ chơi lớn khi đi.' }, { id: 116, dom: 'gm', name: 'GM-L1.2: Lăn bóng qua lại, ném bóng bằng tay về phía trước và bước đá quả bóng lớn mà không mất thăng bằng', desc: 'Bò hoặc bước vịn lên các bậc cầu thang thấp an toàn.' }, // 9. Độc lập Cá nhân (L1) { id: 117, dom: 'ind', name: 'IND-L1.1: Ngồi tại bàn ăn cùng gia đình, tự cầm cốc uống nước bằng hai tay và dùng ngón tay/thìa tự xúc thức ăn', desc: 'Chấp nhận thử nhiều kết cấu thức ăn khác nhau và tự đưa thìa có thức ăn vào miệng.' }, { id: 118, dom: 'ind', name: 'IND-L1.2: Phối hợp đưa tay chân khi mặc đồ, tự cởi mũ/tất/giày lỏng và chịu đưa tay dưới vòi nước khi rửa tay', desc: 'Bắt đầu tham gia vào quy trình tự chăm sóc bản thân hàng ngày.' } ] }, lvl2: { code: 'lvl2', tabTitle: '🌿 Cấp độ 2 (18 – 24 tháng)', tabSub: 'Level 2 • Cụm từ 2 từ & Chơi giả vờ với búp bê', fullTitle: 'Bảng Kiểm ESDM Cấp Độ 2 (Level 2 • Tương Đương Tuổi Phát Triển 18 – 24 Tháng)', desc: 'Mở rộng vốn từ vựng nghe hiểu và diễn đạt lên trên 50 từ, bắt đầu ghép cụm 2 từ, chơi đóng vai giả vờ hướng tới búp bê/người khác, bắt chước chuỗi 2 bước và chơi song song cạnh bạn đồng trang lứa.', items: [ // 1. Ngôn ngữ Tiếp nhận (L2) { id: 201, dom: 'rc', name: 'RC-L2.1: Thực hiện mệnh lệnh theo lời nói mà không cần cử chỉ gợi ý & Chỉ đúng 10–15 bức tranh đồ vật/con vật trong sách', desc: 'Hiểu các động từ hành động trên tranh ("Ai đang ăn/đang ngủ/đang chạy?") và lấy đồ vật từ khoảng cách xa.' }, { id: 202, dom: 'rc', name: 'RC-L2.2: Nhận diện 8–10 bộ phận cơ thể trên bản thân và trên búp bê, bắt đầu hiểu giới từ "Trong / Trên"', desc: 'Làm theo chỉ dẫn đặt đồ vật vào trong hộp hoặc lên trên bàn.' }, // 2. Ngôn ngữ Diễn đạt (L2) { id: 203, dom: 'ec', name: 'EC-L2.1: Sử dụng vốn từ vựng tự phát từ 30 – 50 từ đơn (danh từ, động từ, từ chỉ vị trí) để yêu cầu và gọi tên', desc: 'Chủ động gọi tên đồ vật trong tranh/ngoài đời để khoe với người lớn và biết nói tên của bản thân.' }, { id: 204, dom: 'ec', name: 'EC-L2.2: Kết hợp 2 từ tạo thành cụm từ có nghĩa ("Mở hộp", "Thêm bóng", "Chào mẹ", "Con ăn") và dùng lời từ chối "Không"', desc: 'Biết dùng câu hỏi đơn giản "Cái gì đây?" kèm ngữ điệu lên giọng.' }, // 3. Kỹ năng Xã hội & Chú ý chung (L2) { id: 205, dom: 'soc', name: 'SOC-L2.1: Khởi xướng và duy trì tương tác xã hội qua lại với người lớn bằng sự kết hợp Ánh mắt + Cử chỉ + Lời nói', desc: 'Biết chào hỏi/tạm biệt có nhìn mắt, mang sách/đồ chơi lại rủ người lớn cùng chơi và an ủi khi thấy người khác giả vờ đau.' }, { id: 206, dom: 'soc', name: 'SOC-L2.2: Ngồi chơi song song gần các bạn cùng trang lứa, quan sát bắt chước bạn và trao/nhận đồ chơi khi được gợi ý', desc: 'Tham gia vào các trò chơi vòng tròn đơn giản cùng 2–3 bạn mà không bỏ đi hoặc giật đồ.' }, // 4. Bắt chước (L2) { id: 207, dom: 'imi', name: 'IMI-L2.1: Bắt chước chuỗi hành động gồm 2 bước liên tiếp với đồ vật và bắt chước các hành động chơi giả vờ', desc: 'Ví dụ: Mở nắp hộp lấy khối gỗ ra rồi xếp lên nhau; hoặc khuấy thìa trong cốc rồi đút cho búp bê uống.' }, { id: 208, dom: 'imi', name: 'IMI-L2.2: Bắt chước các cử chỉ bàn tay vô hình (làm tai thỏ, ống nhòm), nét mặt cảm xúc và cụm từ 2 từ', desc: 'Quan sát kỹ và tái tạo lại ngay các động tác vận động tinh và lời nói mẫu.' }, // 5. Nhận thức (L2) { id: 209, dom: 'cog', name: 'COG-L2.1: Phân loại và ghép đôi đồ vật/tranh ảnh theo Màu sắc, Hình khối cơ bản và Kích thước (To – Nhỏ)', desc: 'Ghép các bức tranh không giống hệt 100% nhưng cùng loại (VD: các giống chó khác nhau vào chung một nhóm).' }, { id: 210, dom: 'cog', name: 'COG-L2.2: Ghép nối các đồ vật có liên quan chức năng với nhau (Bút đi với giấy, Thìa đi với bát, Giày đi với tất)', desc: 'Hoàn thành bảng ghép hình gỗ có núm cầm gồm 4 – 6 mảnh rời.' }, // 6. Kỹ năng Chơi (L2) { id: 211, dom: 'pla', name: 'PLA-L2.1: Chơi đóng vai giả vờ hướng tới búp bê/thú bông và người khác (Đút cho gấu ăn, chải tóc cho mẹ, đắp chăn cho búp bê)', desc: 'Kết hợp 2–3 hành động liên hoàn trong một chủ đề chơi giả vờ (Rót nước vào cốc -> Khuấy -> Cho búp bê uống).' }, { id: 212, dom: 'pla', name: 'PLA-L2.2: Bắt đầu dùng vật thay thế tượng trưng trong lúc chơi (Lấy khối gỗ giả làm bánh/điện thoại) và tự chơi độc lập 5–10 phút', desc: 'Biết tự lấy đồ chơi, chơi đúng cách và cất dọn vào hộp khi kết thúc.' }, // 7. Vận động Tinh (L2) { id: 213, dom: 'fm', name: 'FM-L2.1: Xếp chồng tháp 6–8 khối gỗ, xâu 3–4 hạt gỗ lớn vào dây và biết xoay cổ tay vặn mở nắp lọ', desc: 'Lắp ghép các khối hình có khớp nối chặt và lật từng trang sách mỏng.' }, { id: 214, dom: 'fm', name: 'FM-L2.2: Cầm bút bằng các ngón tay bắt chước vẽ đường thẳng đứng, đường ngang và nét tròn xoay vòng; tập nhấp kéo cắt đất nặn/giấy', desc: 'Sử dụng đất nặn với các dụng cụ (lăn đất, ấn khuôn, cắm que).' }, // 8. Vận động Thô (L2) { id: 215, dom: 'gm', name: 'GM-L2.1: Chạy vững vàng không ngã, tự bước lên và xuống cầu thang không cần vịn (bước dồn chân) và nhảy chụm hai chân tại chỗ', desc: 'Nhảy từ bậc thềm thấp xuống sàn bằng hai chân.' }, { id: 216, dom: 'gm', name: 'GM-L2.2: Đứng ném bóng qua đầu về phía trước, đá bóng trúng hướng và ngồi chòi chân trên xe 3 bánh tiến về trước', desc: 'Bắt chước các tư thế vận động toàn thân (đứng kiễng chân, bò chui qua hầm).' }, // 9. Độc lập Cá nhân (L2) { id: 217, dom: 'ind', name: 'IND-L2.1: Tự dùng thìa và nĩa xúc ăn gọn gàng, uống nước bằng ống hút/cốc mở không đổ và tự lấy khăn lau miệng', desc: 'Ngồi yên tại bàn ăn suốt bữa cùng gia đình hoặc các bạn ở lớp.' }, { id: 218, dom: 'ind', name: 'IND-L2.2: Tự cởi quần thun, áo khoác đã mở khóa, giày tất; tự rửa tay xà phòng và bắt đầu ngồi bô/bồn cầu theo giờ', desc: 'Biết bỏ quần áo bẩn vào giỏ và bỏ rác vào thùng khi được nhắc.' } ] }, lvl3: { code: 'lvl3', tabTitle: '🌳 Cấp độ 3 (24 – 36 tháng)', tabSub: 'Level 3 • Câu 3–4 từ, Bạn bè & Đi vệ sinh', fullTitle: 'Bảng Kiểm ESDM Cấp Độ 3 (Level 3 • Tương Đương Tuổi Phát Triển 24 – 36 Tháng / 2 – 3 Tuổi)', desc: 'Phát triển ngôn ngữ câu 3–4 từ, trả lời câu hỏi Wh- (Ai, Cái gì, Ở đâu), chơi hợp tác chia sẻ với bạn đồng trang lứa, nhận diện cảm xúc, chơi kịch bản tưởng tượng và tự lập đi vệ sinh.', items: [ // 1. Ngôn ngữ Tiếp nhận (L3) { id: 301, dom: 'rc', name: 'RC-L3.1: Hiểu các giới từ không gian (Trên, Dưới, Trong, Cạnh, Trước, Sau) và đại từ nhân xưng/sở hữu (Anh ấy, Cô ấy, Của con, Của bạn)', desc: 'Thực hiện chính xác mệnh lệnh gồm 2 bước liên tiếp với các đồ vật khác nhau.' }, { id: 302, dom: 'rc', name: 'RC-L3.2: Chọn đúng đồ vật khi nghe mô tả theo công dụng ("Cái gì dùng để cắt/để ngủ?") và chú ý nghe kể một cuốn truyện tranh ngắn 5 phút', desc: 'Chỉ đúng các chi tiết và nhân vật trong truyện khi được hỏi.' }, // 2. Ngôn ngữ Diễn đạt (L3) { id: 303, dom: 'ec', name: 'EC-L3.1: Nói câu 3 – 4 từ thường xuyên để bình luận, mô tả hành động và trả lời câu hỏi "Cái gì?", "Ai?", "Ở đâu?"', desc: 'Sử dụng đúng đại từ "Con" để xưng hô và nói rõ họ tên, tuổi của mình.' }, { id: 304, dom: 'ec', name: 'EC-L3.2: Chủ động đặt câu hỏi "Cái gì đó?", "Ở đâu rồi?" và duy trì hội thoại ngắn 2–3 lượt về một chủ đề chung', desc: 'Bắt đầu sử dụng các từ chỉ số nhiều, tính từ màu sắc/kích thước và từ chỉ quá khứ ("rồi").' }, // 3. Kỹ năng Xã hội: Người lớn & Bạn bè (L3) { id: 305, dom: 'soc', name: 'SOC-L3.1: Tham gia chơi hợp tác luân phiên (Turn-taking) với bạn đồng trang lứa trong 5–10 phút và biết chia sẻ đồ dùng', desc: 'Biết dùng lời nói để rủ bạn chơi ("Chơi với tớ đi"), xin mượn đồ chơi và đưa đồ cho bạn.' }, { id: 306, dom: 'soc', name: 'SOC-L3.2: Nhận diện và gọi tên các cảm xúc cơ bản (Vui, Buồn, Giận, Sợ) trên tranh và trên khuôn mặt người thật', desc: 'Biết bắt chước hành động của bạn cùng lớp trong các trò chơi tập thể (đuổi bắt, trốn tìm, làm đoàn tàu).' }, // 4. Bắt chước (L3) { id: 307, dom: 'imi', name: 'IMI-L3.1: Bắt chước chuỗi hành động gồm 3 bước liên tiếp và dựng lại mô hình lắp ghép từ 4–5 khối hình theo mẫu của người lớn', desc: 'Quan sát mẫu lắp ghép hoàn chỉnh và tự chọn các khối tương ứng để dựng lại.' }, { id: 308, dom: 'imi', name: 'IMI-L3.2: Bắt chước toàn bộ bài hát vận động nhiều động tác và bắt chước lời nói/hành động của bạn cùng trang lứa trong giờ chơi', desc: 'Thực hiện đồng bộ động tác cùng nhóm bạn mà không cần hỗ trợ thể chất.' }, // 5. Nhận thức (L3) { id: 309, dom: 'cog', name: 'COG-L3.1: Phân loại đồ vật theo nhóm danh mục khái niệm (Con vật, Đồ ăn, Quần áo, Phương tiện) và gọi tên 4 màu sắc cơ bản', desc: 'Hiểu các cặp khái niệm đối lập: To – Nhỏ, Dài – Ngắn, Nóng – Lạnh, Ướt – Khô, Nhiều – Ít.' }, { id: 310, dom: 'cog', name: 'COG-L3.2: Đếm chỉ tay tương ứng 1–1 và lấy đúng số lượng từ 1 đến 3 đồ vật; ghép tranh cắt rời 4–6 mảnh khít nhau', desc: 'Ghép nối chuỗi lô-tô hình ảnh và tìm ra vật có mối liên hệ logic.' }, // 6. Kỹ năng Chơi (L3) { id: 311, dom: 'pla', name: 'PLA-L3.1: Xây dựng công trình sáng tạo từ khối gỗ/Lego (xây nhà, chuồng thú, đường ray) và kết hợp nhân vật vào chơi kịch bản', desc: 'Gán thuộc tính tưởng tượng và lời thoại cho nhân vật búp bê/con vật trong lúc chơi.' }, { id: 312, dom: 'pla', name: 'PLA-L3.2: Thực hiện chuỗi kịch bản chơi đóng vai gồm 3–4 bước có cốt truyện (Nấu thức ăn -> Bày bàn -> Mời búp bê ăn -> Rửa bát)', desc: 'Có thể chơi đóng vai tưởng tượng mà không cần đồ vật thật (giả vờ cầm vòi nước xịt chữa cháy).' }, // 7. Vận động Tinh (L3) { id: 313, dom: 'fm', name: 'FM-L3.1: Cầm bút bằng 3 ngón tay vẽ sao chép hình tròn (○), hình chữ thập (+) và tô màu vào trong hình vẽ đơn giản', desc: 'Bắt đầu vẽ hình mặt người có mắt, miệng hoặc hình bông hoa/ông mặt trời.' }, { id: 314, dom: 'fm', name: 'FM-L3.2: Dùng kéo cắt đứt đôi mảnh giấy theo đường thẳng, xâu chuỗi hạt nhỏ và tự mở/cài cúc áo lớn hoặc khóa kéo', desc: 'Ghép hoàn chỉnh bộ xếp hình Jigsaw Puzzle từ 5 – 8 mảnh.' }, // 8. Vận động Thô (L3) { id: 315, dom: 'gm', name: 'GM-L3.1: Bước lên cầu thang luân phiên từng chân không cần vịn, đứng một chân giữ thăng bằng 3 giây và nhảy xa qua vạch', desc: 'Đạp xe 3 bánh thành thạo và tự điều khiển tay lái rẽ qua góc cua.' }, { id: 316, dom: 'gm', name: 'GM-L3.2: Bắt quả bóng lớn ném tới bằng hai tay và ném bóng nhỏ bằng một tay trúng đích ở khoảng cách 1.5m', desc: 'Đá bóng đang lăn tới và tham gia các trò chơi vận động vượt chướng ngại vật.' }, // 9. Độc lập Cá nhân (L3) { id: 317, dom: 'ind', name: 'IND-L3.1: Kiểm soát việc đi vệ sinh ban ngày (Báo khi có nhu cầu hoặc tự đi vào nhà vệ sinh, tự kéo quần xuống/lên và xả nước)', desc: 'Tự rửa tay, lau khô tay, tự đánh răng cơ bản và tự chải đầu/lau mũi bằng khăn giấy.' }, { id: 318, dom: 'ind', name: 'IND-L3.2: Tự mặc và tự cởi quần đùi/quần dài, áo khoác, đi tất và mang giày (dán Velcro); phụ giúp dọn bàn ăn/cho thú cưng ăn', desc: 'Làm theo các quy trình sinh hoạt cá nhân gồm 3–4 bước mà ít cần nhắc nhở.' } ] }, lvl4: { code: 'lvl4', tabTitle: '🎓 Cấp độ 4 (36 – 48 tháng)', tabSub: 'Level 4 • Hội thoại, Tư duy cảm xúc & Tiền học đường', fullTitle: 'Bảng Kiểm ESDM Cấp Độ 4 (Level 4 • Tương Đương Tuổi Phát Triển 36 – 48 Tháng / 3 – 4 Tuổi)', desc: 'Đỉnh cao của chương trình ESDM nhằm chuẩn bị cho trẻ hòa nhập hoàn toàn vào lớp mẫu giáo lớn: kể lại sự kiện quá khứ, trả lời câu hỏi "Tại sao / Khi nào?", hiểu góc nhìn của bạn bè, chơi nhóm có luật lệ và nắm vững khái niệm chữ cái – con số.', items: [ // 1. Ngôn ngữ Tiếp nhận (L4) { id: 401, dom: 'rc', name: 'RC-L4.1: Hiểu các khái niệm so sánh (Lớn nhất, Nhỏ nhất, Dài hơn, Ngắn hơn), từ chỉ số lượng và khái niệm Giống nhau – Khác nhau', desc: 'Thực hiện chính xác chỉ dẫn phức hợp gồm 3 bước không liên quan nhau và hiểu câu hỏi phủ định ("Cái nào KHÔNG phải là...").' }, { id: 402, dom: 'rc', name: 'RC-L4.2: Nghe hiểu câu chuyện kể dài và trả lời đúng các câu hỏi đọc hiểu về nhân vật, sự kiện và nguyên nhân trong truyện', desc: 'Hiểu các khái niệm thời gian (Hôm qua, Hôm nay, Buổi sáng, Buổi tối) và thứ tự (Đầu tiên, Tiếp theo, Cuối cùng).' }, // 2. Ngôn ngữ Diễn đạt (L4) { id: 403, dom: 'ec', name: 'EC-L4.1: Trả lời hợp lý các câu hỏi "Tại sao?", "Khi nào?", "Làm thế nào?" và giải thích công dụng/đặc điểm của sự vật', desc: 'Nói câu phức dài 5–6 từ sử dụng liên từ ("và", "bởi vì", "nhưng") và đúng các từ chỉ quá khứ/tương lai.' }, { id: 404, dom: 'ec', name: 'EC-L4.2: Kể lại một sự việc đã trải qua trong ngày/quá khứ và duy trì cuộc hội thoại qua lại 4–5 lượt với người lớn và bạn bè', desc: 'Biết hỏi lại người đối diện và điều chỉnh thông tin khi người nghe chưa hiểu.' }, // 3. Kỹ năng Xã hội & Bạn bè (L4) { id: 405, dom: 'soc', name: 'SOC-L4.1: Chủ động mời bạn cùng chơi đóng vai theo kịch bản chung, biết thương lượng phân vai và giải quyết mâu thuẫn bằng lời', desc: 'Chơi hòa đồng với nhóm 2–3 bạn trong 15–20 phút mà không cần người lớn đứng kèm sát.' }, { id: 406, dom: 'soc', name: 'SOC-L4.2: Lý giải được nguyên nhân gây ra cảm xúc của người khác ("Tại sao bạn khóc/vui?") và thể hiện sự đồng cảm phù hợp', desc: 'Nhận thức được suy nghĩ và sở thích của bạn có thể khác với sở thích của mình (Thuyết tâm trí sơ khởi).' }, // 4. Nhận thức & Tiền học đường (L4) { id: 407, dom: 'cog', name: 'COG-L4.1: Đếm tương ứng số lượng đến 10, nhận diện chữ số (1–10) và ghép đúng thẻ chữ số với số lượng đồ vật tương ứng', desc: 'Hiểu khái niệm "Nhiều hơn / Ít hơn / Bằng nhau" và thêm bớt trong phạm vi 5.' }, { id: 408, dom: 'cog', name: 'COG-L4.2: Nhận diện ít nhất 10–15 chữ cái, nhận biết tên mình viết trên thẻ, nối tiếp chuỗi quy luật (A-B-A-B) và sắp xếp 3–4 tranh theo trình tự câu chuyện', desc: 'Trả lời được câu hỏi giải quyết vấn đề thực tế ("Nếu làm đổ nước ra sàn thì con phải làm gì?").' }, // 5. Kỹ năng Chơi (L4) { id: 409, dom: 'pla', name: 'PLA-L4.1: Tổ chức kịch bản chơi đóng vai phức tạp nhiều vai (Đi khám bác sĩ, Đi siêu thị, Cứu hỏa) kết hợp làm đạo cụ thủ công', desc: 'Linh hoạt chấp nhận ý tưởng thay đổi tình huống chơi do bạn cùng chơi đưa ra.' }, { id: 410, dom: 'pla', name: 'PLA-L4.2: Tham gia các trò chơi bàn cờ (Board games: Cờ cá ngựa, Domino, Lô-tô) và trò chơi vận động tập thể có luật Thắng – Thua', desc: 'Biết chờ lượt, tuân thủ luật chơi chung của nhóm và bình tĩnh khi thua cuộc.' }, // 6. Vận động Tinh (L4) { id: 411, dom: 'fm', name: 'FM-L4.1: Vẽ sao chép hình vuông (□), đường chéo (╱), viết một số chữ cái/tên mình và vẽ hình người có ≥ 6 bộ phận cơ thể', desc: 'Vẽ các bức tranh có chủ đề nhận diện được (ngôi nhà, cái cây, ô tô, con vật) và tô màu kín không lem.' }, { id: 412, dom: 'fm', name: 'FM-L4.2: Dùng kéo cắt rời các hình vẽ theo đường thẳng và đường cong (hình tròn, hình vuông) rồi dán keo tạo sản phẩm thủ công', desc: 'Ghép hoàn chỉnh bộ xếp hình Jigsaw từ 10 – 12 mảnh nhỏ.' }, // 7. Vận động Thô (L4) { id: 413, dom: 'gm', name: 'GM-L4.1: Nhảy lò cò trên 1 chân liên tiếp 5 bước, đứng 1 chân > 5 giây, đi nối gót trên vạch thẳng và bước xuống cầu thang luân phiên', desc: 'Chạy nhanh đổi hướng linh hoạt và nhảy qua chướng ngại vật.' }, { id: 414, dom: 'gm', name: 'GM-L4.2: Đập bóng nảy xuống sàn rồi bắt lại, bắt bóng nhỏ bằng hai bàn tay và ném bóng trúng rổ/đích từ xa', desc: 'Tham gia trọn vẹn các trò chơi vận động nhóm trong giờ Thể dục mầm non.' }, // 8. Độc lập Cá nhân (L4) { id: 415, dom: 'ind', name: 'IND-L4.1: Hoàn toàn độc lập trong toàn bộ quy trình đi vệ sinh (tự đi, tự lau chùi sạch, xả nước, mặc quần, rửa tay) và tự mặc quần áo (cài cúc, kéo khóa)', desc: 'Biết tự đi giày đúng chân trái/phải và tự chuẩn bị đồ dùng cá nhân khi đi học.' }, { id: 416, dom: 'ind', name: 'IND-L4.2: Tự rót nước từ bình ra cốc, tự phục vụ bữa ăn nhẹ, dọn bát đĩa sau khi ăn và tuân thủ nội quy an toàn nơi công cộng (nắm tay qua đường)', desc: 'Làm việc độc lập trong nhóm lớp mầm non suốt 15–20 phút.' } ] } }; let currentLvl = 'lvl1'; // 'lvl1' | 'lvl2' | 'lvl3' | 'lvl4' // scoresByLvl[lvl][id] lưu: 2 ('+' Thành thạo), 1 ('+/-' Đang hình thành ★ Mục tiêu IEP 12 tuần), 0 ('-' Chưa đạt) let scoresByLvl = { lvl1: {}, lvl2: {}, lvl3: {}, lvl4: {} }; let filterDom = 'all'; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .es-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .es-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .es-inner { padding: 24px; max-width: 980px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .es-wrap.is-fullscreen .es-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .es-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(5, 150, 105, 0.45), 0 0 0 0 rgba(5, 150, 105, 0.4); } 70% { box-shadow: 0 6px 20px rgba(5, 150, 105, 0.45), 0 0 0 10px rgba(5, 150, 105, 0); } 100% { box-shadow: 0 6px 20px rgba(5, 150, 105, 0.45), 0 0 0 0 rgba(5, 150, 105, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #047857 0%, #059669 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(5, 150, 105, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Bộ chuyển đổi 4 Cấp độ ESDM (Levels 1 - 4) */ .lvl-switcher-box { background: #f1f5f9; padding: 10px; border-radius: 12px; margin-bottom: 18px; } .lvl-switcher-lbl { font-size: 12px; font-weight: 800; color: #334155; text-transform: uppercase; margin-bottom: 8px; display: block; } .lvl-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; } .lvl-btn { padding: 10px 10px; border-radius: 9px; border: 1.5px solid transparent; background: rgba(255, 255, 255, 0.65); cursor: pointer; text-align: left; transition: all 0.18s ease; touch-action: manipulation; } .lvl-btn:hover { background: #ffffff; } .lvl-btn.active { background: #ffffff; border-color: #059669; box-shadow: 0 3px 10px rgba(15, 23, 42, 0.08); } .lvl-btn-title { font-size: 13px; font-weight: 800; color: #0f172a; display: block; } .lvl-btn.active .lvl-btn-title { color: #047857; } .lvl-btn-sub { font-size: 11px; color: #64748b; margin-top: 2px; display: block; } /* Header */ .es-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .es-header-text { flex: 1 1 260px; } .es-title { font-size: 20px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .es-desc { font-size: 13.8px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #ecfdf5; color: #047857; border: 1px solid #a7f3d0; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #059669; color: #ffffff; border-color: #059669; } /* Controls */ .es-controls { display: flex; flex-direction: column; gap: 10px; margin-bottom: 18px; } .es-presets { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; } .es-preset-lbl { font-size: 12.5px; font-weight: 700; color: #475569; margin-right: 4px; } .es-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; touch-action: manipulation; } .es-pbtn:hover { background: #f1f5f9; } .es-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } .es-dom-tabs { display: flex; flex-wrap: wrap; gap: 6px; } .es-dtab { padding: 6px 11px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .es-dtab.active { background: #059669; color: #ffffff; border-color: #059669; } /* Sticky Dashboard */ .es-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .es-wrap.is-fullscreen .es-dash { top: 58px; } .es-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .es-score-big { font-size: 21px; font-weight: 800; line-height: 1.2; } .es-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .es-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .es-pillars { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; font-size: 12px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .es-pillar-box { background: #1e293b; padding: 7px 10px; border-radius: 8px; } .es-pillar-val { font-weight: 800; color: #ffffff; font-size: 13.5px; display: block; margin-top: 2px; } /* Danh sách mục kỹ năng ESDM */ .es-item { border: 1px solid #e2e8f0; border-radius: 10px; padding: 14px 16px; margin-bottom: 10px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 8px; } .es-item.pass-item { border-color: #a7f3d0; background: #f0fdf4; } .es-item.emerge-item { border-color: #fde68a; background: #fffbeb; border-left: 5px solid #f59e0b; } .es-item.fail-item { border-color: #fca5a5; background: #fff5f5; } .es-item-title { font-size: 14.8px; font-weight: 700; color: #0f172a; } .es-item-desc { font-size: 13.4px; color: #475569; } .es-tags { display: flex; flex-wrap: wrap; gap: 6px; } .es-tag { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .es-ans-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 2px; } .es-abtn { padding: 8px 8px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 700; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .es-abtn:hover { border-color: #64748b; } .es-abtn.sel-2 { background: #10b981; border-color: #10b981; color: #ffffff; } .es-abtn.sel-1 { background: #f59e0b; border-color: #f59e0b; color: #ffffff; } .es-abtn.sel-0 { background: #ef4444; border-color: #ef4444; color: #ffffff; } /* Biểu đồ 9 Lĩnh vực & Hộp trích xuất Mục tiêu 12 Tuần */ .es-chart-card { margin-top: 20px; padding: 16px 18px; border-radius: 12px; background: #ffffff; border: 1px solid #e2e8f0; } .es-bar-row { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; font-size: 12.5px; } .es-bar-lbl { width: 260px; flex-shrink: 0; font-weight: 600; color: #334155; } .es-bar-track { flex: 1; height: 16px; background: #f1f5f9; border-radius: 999px; overflow: hidden; } .es-bar-val { width: 115px; text-align: right; font-weight: 700; color: #0f172a; flex-shrink: 0; } .es-iep-box { margin-top: 16px; padding: 16px 18px; border-radius: 12px; background: #fffbeb; border: 1px solid #fde68a; border-left: 5px solid #f59e0b; font-size: 13.8px; color: #78350f; line-height: 1.6; } .es-iep-title { font-size: 15px; font-weight: 800; color: #92400e; margin-bottom: 8px; } .es-result-box { margin-top: 16px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #059669; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 760px) { .es-inner { padding: 14px; } .lvl-grid { grid-template-columns: 1fr 1fr; } .es-title { font-size: 18px; } .es-pillars { grid-template-columns: 1fr 1fr; } .es-ans-grid { grid-template-columns: 1fr; } .es-bar-lbl { width: 145px; font-size: 11.5px; } .es-pbtn.reset { margin-left: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
${lCfg.fullTitle}
${lCfg.desc}
`; } function renderItems() { const lCfg = levelData[currentLvl]; const curScores = scoresByLvl[currentLvl]; itemList.innerHTML = ''; const esdmBtns = [ { val: 2, lbl: '[ + ] Thành thạo / Nhất quán (Pass)' }, { val: 1, lbl: '[ +/- ] Đang hình thành / Cần gợi ý (★ IEP 12 tuần)' }, { val: 0, lbl: '[ - ] Chưa thực hiện được (Fail)' } ]; lCfg.items.forEach(function(it) { if (filterDom !== 'all' && it.dom !== filterDom) return; const uVal = (curScores[it.id] !== undefined) ? curScores[it.id] : 0; const dCfg = domConfigs[it.dom]; let rowCls = 'es-item '; if (uVal === 2) rowCls += 'pass-item'; else if (uVal === 1) rowCls += 'emerge-item'; else rowCls += 'fail-item'; const btnsHtml = esdmBtns.map(b => { const cls = 'es-abtn' + (uVal === b.val ? ` sel-${b.val}` : ''); return ``; }).join(''); const el = document.createElement('div'); el.className = rowCls; el.innerHTML = `Tiêu chí hoàn thành sau 12 tuần: ${it.desc} (Chia thành 4 bước nhỏ Task Analysis dạy lồng ghép trong hoạt động chơi chung hàng ngày). `).join('
'); iepBox.innerHTML = `
• Phân bố 4 Trụ cột: Giao tiếp Nghe hiểu & Diễn đạt (${pctComm}%) • Kỹ năng Xã hội, Chú ý chung & Bắt chước (${pctSocImi}%) • Nhận thức & Kỹ năng Chơi (${pctCogPlay}%) • Vận động & Độc lập cá nhân (${pctMotInd}%).
• Nguyên tắc vàng khi dạy trẻ theo ESDM: Thay vì tách rời từng lĩnh vực tại bàn học, hãy lồng ghép 2 – 3 mục tiêu từ các lĩnh vực khác nhau (ví dụ: vừa Bắt chước hành động chơi + vừa Nhìn mắt chia sẻ + vừa Nói từ đơn yêu cầu) vào cùng một Hoạt động Chơi Chung (Joint Activity Routine) kéo dài 2–5 phút để tối ưu hóa sự kết nối thần kinh của trẻ. `; updateFloatingFabVisibility(); } function applyPresetToLvl(lvlKey, type) { const lCfg = levelData[lvlKey]; const cur = {}; if (type === 'reset') { lCfg.items.forEach(it => { cur[it.id] = 0; }); } else if (type === 'beginning') { // Mới bắt đầu (~30%): Mục đầu mỗi lĩnh vực đạt [+/-], mục sau [-] lCfg.items.forEach((it, idx) => { cur[it.id] = (idx % 2 === 0) ? 1 : 0; }); } else if (type === 'midway') { // Giữa cấp độ (~65%): Giỏi Nhận thức/Vận động ([+]), còn Giao tiếp/Xã hội/Chơi đang ở mức [+/-] để vào IEP 12 tuần lCfg.items.forEach((it, idx) => { if (it.dom === 'cog' || it.dom === 'fm' || it.dom === 'gm') { cur[it.id] = 2; } else { cur[it.id] = (idx % 2 === 0) ? 2 : 1; } }); } else if (type === 'mastered') { // Hoàn thành cấp độ (>= 85%) lCfg.items.forEach((it, idx) => { cur[it.id] = (idx % 5 === 4) ? 1 : 2; }); } scoresByLvl[lvlKey] = cur; } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); esWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { esWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 980px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } shadow.querySelectorAll('#lvlGrid .lvl-btn').forEach(function(btn) { btn.onclick = function() { currentLvl = this.getAttribute('data-lvl'); shadow.querySelectorAll('#lvlGrid .lvl-btn').forEach(b => b.classList.remove('active')); this.classList.add('active'); renderHeader(); renderItems(); updateSummary(); }; }); shadow.querySelectorAll('.es-pbtn').forEach(function(btn) { btn.onclick = function() { applyPresetToLvl(currentLvl, this.getAttribute('data-preset')); renderItems(); updateSummary(); }; }); shadow.querySelectorAll('#domTabs .es-dtab').forEach(function(tab) { tab.onclick = function() { filterDom = this.getAttribute('data-dom'); shadow.querySelectorAll('#domTabs .es-dtab').forEach(t => t.classList.remove('active')); this.classList.add('active'); renderItems(); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); // Khởi tạo sẵn dữ liệu mẫu cho cả 4 cấp độ ['lvl1', 'lvl2', 'lvl3', 'lvl4'].forEach(k => { applyPresetToLvl(k, 'midway'); }); renderHeader(); renderItems(); updateSummary(); })();
Bảng kiểm ESDM (ESDM Curriculum Checklist): Công cụ đánh giá kỹ năng toàn diện để lên mục tiêu can thiệp cho trẻ tự kỷ từ 12 – 48 tháng tuổi theo mô hình Denver.
Bảng kiểm Chương trình Can thiệp Sớm Mô hình Denver (ESDM Curriculum Checklist — Early Start Denver Model) là công cụ đánh giá phát triển và lập kế hoạch can thiệp cá nhân hóa hàng đầu thế giới dành riêng cho trẻ nhỏ có Rối loạn phổ tự kỷ (ASD) từ 12 đến 48 tháng tuổi (có thể mở rộng đến 60 tháng). Công cụ được phát triển bởi hai nhà khoa học lừng danh là Giáo sư Sally J. Rogers và Giáo sư Geraldine Dawson (xuất bản năm 2010 bởi Guilford Press).
Nếu như VB-MAPP hay ABLLS-R đi theo hướng Phân tích Hành vi Ứng dụng (ABA) có cấu trúc chặt chẽ tại bàn học,thì ESDM là sự kết hợp hoàn hảo giữa Khoa học Phát triển Trẻ thơ (Developmental Science) và Nguyên lý Hành vi Tự nhiên (NDBI — Naturalistic Developmental Behavioral Interventions): đánh giá và dạy trẻ ngay trong các hoạt động chơi tương tác cảm xúc chung (Joint Activity Routines) tràn ngập niềm vui, giao tiếp mắt và sự chia sẻ.
1. Tóm tắt cốt lõi về cấu trúc 4 Cấp độ (Levels 1 – 4) & 9 Lĩnh vực của ESDM
Bảng kiểm ESDM gồm khoảng 480 mục kỹ năng được chia thành 4 Cấp độ phát triển (Levels 1, 2, 3, 4) nối tiếp nhau theo mốc tháng tuổi của trẻ phát triển điển hình:
| Cấp độ ESDM (Level) | Độ tuổi phát triển tương đương | Các Lĩnh vực Đánh giá trong từng Cấp độ (9 Domains) |
| Cấp độ 1 (Level 1) | 12 – 18 tháng tuổi (Hoặc 9 – 18 tháng) |
Gồm 8 lĩnh vực nền tảng:
1. Ngôn ngữ Tiếp nhận (Receptive Communication)
2. Ngôn ngữ Diễn đạt (Expressive Communication)
3. Kỹ năng Xã hội (Social Skills)
4. Bắt chước (Imitation)
5. Nhận thức (Cognition)
6. Kỹ năng Chơi (Play)
7. Vận động Tinh (Fine Motor)
8. Vận động Thô (Gross Motor)
9. Hành vi & Độc lập Cá nhân (Personal Independence: Ăn uống, Mặc đồ, Vệ sinh, Việc vặt). |
| Cấp độ 2 (Level 2) | 18 – 24 tháng tuổi | Bổ sung thêm tiểu mục Chú ý Chung (Joint Attention) tách riêng hoặc lồng ghép sâu vào Giao tiếp & Xã hội, đẩy mạnh kết hợp từ và chơi đóng vai giả vờ. |
| Cấp độ 3 (Level 3) | 24 – 36 tháng tuổi (2 – 3 tuổi) | Đánh giá hội thoại qua lại, tương tác xã hội với Người lớn và Bạn đồng trang lứa (Peers), chơi biểu tượng kịch bản và tự lập vệ sinh. |
| Cấp độ 4 (Level 4) | 36 – 48 tháng tuổi (3 – 4 tuổi) | Tập trung vào ngôn ngữ phức hợp (câu hỏi Wh-, kể chuyện, quá khứ/tương lai), lý giải cảm xúc (Thuyết tâm trí sơ khởi), chơi nhóm có luật và kỹ năng tiền học đường. |
2. Quy tắc Mã hóa Chấm điểm (+, +/-, -) & Chu kỳ Lập Mục tiêu IEP 12 Tuần
Điểm đặc sắc nhất của Bảng kiểm ESDM là quy trình đánh giá định kỳ mỗi 12 tuần (3 tháng) một lần để chọn ra các mục tiêu dạy học sát sườn nhất:
-
Mã chấm điểm chuẩn ESDM:
-
+hoặcP(Pass / Thành thạo = 2 điểm): Trẻ thực hiện kỹ năng đó một cách nhất quán, tự phát, khái quát hóa được với nhiều người và nhiều đồ vật khác nhau (>80% cơ hội). -
+/-(Emerging / Đang hình thành hoặc Không nhất quán = 1 điểm): Trẻ mới làm được đôi lúc, chỉ làm được với bố mẹ hoặc với 1 món đồ chơi quen thuộc, hoặc cần một chút gợi ý nhẹ. → Đây chính là nguồn trích xuất Mục tiêu Can thiệp 12 Tuần (12-Week Intervention Objectives) hàng đầu của ESDM! -
-hoặcF(Fail / Chưa đạt = 0 điểm): Trẻ chưa thực hiện được hoặc kháng cự, không thể dạy ngay lúc này.
-
-
Nguyên tắc viết Kế hoạch Can thiệp 12 tuần của ESDM: Từ mỗi lĩnh vực, nhà trị liệu sẽ lấy các mục đầu tiên bị điểm
+/-(hoặc-nằm ngay sau chuỗi+) để viết thành 2 – 3 mục tiêu ngắn hạn có thể hoàn thành trong vòng 12 tuần (Tổng cộng khoảng 16 – 24 mục tiêu / 12 tuần chia đều trên tất cả các lĩnh vực).
[Lập kế hoạch IEP] PEP-3: Đánh giá phát triển tâm lý giáo dục và lập kế hoạch can thiệp cá nhân (6 tháng – 7 tuổi)
(function() { const host = document.getElementById('pep3-wp-host'); if (!host) return; const placeholder = document.createComment('pep3-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // Cấu hình 10 Tiểu thang đo PEP-3 (6 tiểu thang Phát triển Kỹ năng + 4 tiểu thang Hành vi Kém thích ứng) const subConfigs = { // 6 TIỂU THANG PHÁT TRIỂN (DEVELOPMENTAL SUBTESTS - Điểm càng cao = Tuổi phát triển càng cao) cvp: { code: 'cvp', group: 'comm', isDev: true, name: '1. Nhận thức Có lời / Tiền ngôn ngữ (CVP)', maxAge: 72, color: '#2563eb' }, el: { code: 'el', group: 'comm', isDev: true, name: '2. Ngôn ngữ Diễn đạt (EL)', maxAge: 72, color: '#3b82f6' }, rl: { code: 'rl', group: 'comm', isDev: true, name: '3. Ngôn ngữ Tiếp nhận (RL)', maxAge: 72, color: '#0284c7' }, fm: { code: 'fm', group: 'mot', isDev: true, name: '4. Vận động Tinh (FM)', maxAge: 72, color: '#0d9488' }, gm: { code: 'gm', group: 'mot', isDev: true, name: '5. Vận động Thô (GM)', maxAge: 72, color: '#10b981' }, vmi: { code: 'vmi', group: 'mot', isDev: true, name: '6. Bắt chước Vận động – Thị giác (VMI)', maxAge: 72, color: '#059669' }, // 4 TIỂU THANG HÀNH VI KÉM THÍCH ỨNG (MALADAPTIVE SUBTESTS - Điểm 2 = Phù hợp/Không bất thường, 1 = Bất thường nhẹ, 0 = Bất thường nặng) ae: { code: 'ae', group: 'mal', isDev: false, name: '7. Biểu đạt Cảm xúc (AE)', maxAge: 0, color: '#f59e0b' }, sr: { code: 'sr', group: 'mal', isDev: false, name: '8. Tương hỗ Xã hội (SR)', maxAge: 0, color: '#d97706' }, cmb: { code: 'cmb', group: 'mal', isDev: false, name: '9. Hành vi Vận động Đặc trưng (CMB)', maxAge: 0, color: '#ef4444' }, cvb: { code: 'cvb', group: 'mal', isDev: false, name: '10. Hành vi Lời nói Đặc trưng (CVB)', maxAge: 0, color: '#dc2626' } }; // 50 Nhiệm vụ & Chỉ báo đại diện cho 10 Tiểu thang đo PEP-3 (Mỗi tiểu thang 5 mục chuẩn theo bậc thang phát triển) const items = [ // 1. CVP - Nhận thức Có lời / Tiền ngôn ngữ { id: 1, sub: 'cvp', ageEquiv: '14–18m', name: 'CVP-1. Tìm đồ vật bị giấu dưới chiếc cốc (Hằng định đối tượng)', desc: 'Quan sát người khám giấu món đồ chơi dưới 1 trong 2 chiếc cốc và lật đúng cốc có đồ chơi.' }, { id: 2, sub: 'cvp', ageEquiv: '20–24m', name: 'CVP-2. Đặt đúng 3 hình khối cơ bản (Tròn, Vuông, Tam giác) vào bảng khuôn', desc: 'Tự xoay và lắp khớp 3 hình cơ bản vào đúng ô tương ứng trên bảng gỗ.' }, { id: 3, sub: 'cvp', ageEquiv: '28–36m', name: 'CVP-3. Phân loại đồ vật theo màu sắc hoặc hình dạng mà không cần làm mẫu lời nói', desc: 'Nhóm các thẻ màu hoặc khối hình cùng loại vào đúng khay phân loại.' }, { id: 4, sub: 'cvp', ageEquiv: '42–54m', name: 'CVP-4. Ghép tranh cắt rời 4 – 6 mảnh tạo thành hình hoàn chỉnh', desc: 'Quan sát tổng thể và ghép đúng các mảnh rời thành bức tranh con vật/đồ vật.' }, { id: 5, sub: 'cvp', ageEquiv: '60–72m', name: 'CVP-5. Hoàn thành chuỗi quy luật logic & Đếm tương ứng số lượng đến 10', desc: 'Đếm chính xác số lượng đồ vật và nhận biết chữ số / quy luật nối tiếp.' }, // 2. EL - Ngôn ngữ Diễn đạt { id: 6, sub: 'el', ageEquiv: '14–18m', name: 'EL-1. Chủ động dùng cử chỉ hoặc âm thanh/từ đơn để yêu cầu "Thêm nữa" hoặc "Mở giúp"', desc: 'Khi dừng thổi bong bóng hoặc đóng chặt hộp bánh, trẻ chủ động phát âm/ra hiệu xin tiếp.' }, { id: 7, sub: 'el', ageEquiv: '22–28m', name: 'EL-2. Gọi đúng tên ít nhất 5 đồ vật hoặc con vật quen thuộc trong bộ test', desc: 'Nói rõ từ đơn chỉ tên cốc, bóng, xe hơi, con chó, con mèo... khi được hỏi "Cái gì đây?".' }, { id: 8, sub: 'el', ageEquiv: '30–40m', name: 'EL-3. Sử dụng cụm từ 2 – 3 từ để mô tả hành động hoặc bày tỏ nhu cầu', desc: 'Nói được cụm từ như "Con uống nước", "Mở hộp ra", "Em bé ngủ".' }, { id: 9, sub: 'el', ageEquiv: '45–56m', name: 'EL-4. Trả lời đúng các câu hỏi "Ai?", "Làm gì?", "Ở đâu?" khi xem sách tranh', desc: 'Dùng câu hoàn chỉnh để mô tả sự việc đang diễn ra trong tranh.' }, { id: 10, sub: 'el', ageEquiv: '60–72m', name: 'EL-5. Kể lại một sự việc hoặc duy trì hội thoại ngắn đúng chủ đề với người khám', desc: 'Sử dụng đại từ nhân xưng đúng và nối tiếp câu chuyện qua lại từ 2–3 lượt.' }, // 3. RL - Ngôn ngữ Tiếp nhận { id: 11, sub: 'rl', ageEquiv: '12–16m', name: 'RL-1. Quay đầu nhìn ngay khi người khám gọi tên trẻ và dừng tay khi nghe "Dừng lại / Không"', desc: 'Định hướng tốt với tên gọi và hiểu lệnh ngăn cản cơ bản.' }, { id: 12, sub: 'rl', ageEquiv: '18–24m', name: 'RL-2. Chỉ đúng ít nhất 4 bộ phận cơ thể (Mắt, Mũi, Miệng, Tai, Đầu) trên búp bê hoặc bản thân', desc: 'Thực hiện đúng khi nghe câu hỏi "Mũi của em bé đâu?".' }, { id: 13, sub: 'rl', ageEquiv: '26–34m', name: 'RL-3. Thực hiện đúng mệnh lệnh đơn 1 bước không kèm cử chỉ chỉ tay', desc: 'Ví dụ: "Đưa cho cô quả bóng", "Đặt cái cốc lên bàn".' }, { id: 14, sub: 'rl', ageEquiv: '38–48m', name: 'RL-4. Hiểu các động từ hành động và giới từ vị trí (Trong, Trên, Dưới)', desc: 'Chỉ đúng tranh "Ai đang chạy/ăn?" và đặt đồ vật "vào trong hộp / xuống dưới bàn".' }, { id: 15, sub: 'rl', ageEquiv: '54–72m', name: 'RL-5. Thực hiện chính xác chỉ dẫn phức hợp gồm 2 – 3 bước liên tiếp', desc: 'Ví dụ: "Con lấy cây bút màu đỏ rồi đặt vào trong chiếc hộp xanh nhé".' }, // 4. FM - Vận động Tinh { id: 16, sub: 'fm', ageEquiv: '14–18m', name: 'FM-1. Nhặt hạt nhỏ/viên bánh bằng ngón cái và ngón trỏ (Pincer grasp) bỏ vào lọ', desc: 'Phối hợp tay – mắt và kẹp nhặt bằng đầu ngón cái - ngón trỏ gọn gàng.' }, { id: 17, sub: 'fm', ageEquiv: '22–28m', name: 'FM-2. Xếp chồng tháp từ 6 – 8 khối gỗ vuông mà không bị đổ', desc: 'Kiểm soát lực bàn tay để đặt thẳng hàng các khối gỗ nhỏ.' }, { id: 18, sub: 'fm', ageEquiv: '30–40m', name: 'FM-3. Xâu được ít nhất 4 hạt gỗ lớn qua dây và biết vặn mở nắp lọ', desc: 'Phối hợp hai tay đồng bộ: một tay giữ dây, một tay luồn hạt.' }, { id: 19, sub: 'fm', ageEquiv: '42–54m', name: 'FM-4. Cầm bút bằng 3 ngón tay vẽ bắt chước đường thẳng đứng, ngang và hình tròn', desc: 'Sao chép lại đúng hình cơ bản trên giấy.' }, { id: 20, sub: 'fm', ageEquiv: '56–72m', name: 'FM-5. Dùng kéo cắt giấy theo đường kẻ thẳng và tô màu gọn trong hình vẽ', desc: 'Sử dụng kéo nhịp nhàng cắt đôi tờ giấy theo vạch kẻ.' }, // 5. GM - Vận động Thô { id: 21, sub: 'gm', ageEquiv: '14–18m', name: 'GM-1. Đi độc lập vững vàng và cúi nhặt đồ chơi dưới sàn không bị ngã', desc: 'Giữ thăng bằng tốt khi di chuyển và thay đổi tư thế.' }, { id: 22, sub: 'gm', ageEquiv: '22–28m', name: 'GM-2. Đá quả bóng lớn về phía trước mà không cần vịn tay và biết nhảy chụm hai chân', desc: 'Co chân đá trúng bóng mà không mất thăng bằng.' }, { id: 23, sub: 'gm', ageEquiv: '30–40m', name: 'GM-3. Bước lên cầu thang luân phiên hai chân và bắt được bóng lớn bằng hai tay', desc: 'Phối hợp vận động toàn thân khi leo bậc thang và đón hướng bóng.' }, { id: 24, sub: 'gm', ageEquiv: '42–54m', name: 'GM-4. Đứng một chân giữ thăng bằng trong 3 – 5 giây và ném bóng trúng đích', desc: 'Kiểm soát thăng bằng tĩnh trên một chân.' }, { id: 25, sub: 'gm', ageEquiv: '56–72m', name: 'GM-5. Nhảy lò cò một chân liên tiếp 4 – 5 bước và đập bắt bóng nảy xuống sàn', desc: 'Kỹ năng vận động thô phối hợp nâng cao.' }, // 6. VMI - Bắt chước Vận động – Thị giác { id: 26, sub: 'vmi', ageEquiv: '14–20m', name: 'VMI-1. Bắt chước thao tác đơn giản với đồ vật (Lắc chuông, dùng thìa khuấy cốc)', desc: 'Quan sát người khám làm mẫu và thực hiện lại ngay với đồ vật.' }, { id: 27, sub: 'vmi', ageEquiv: '22–30m', name: 'VMI-2. Bắt chước các cử chỉ cơ thể thô (Vỗ tay, giơ hai tay lên cao, vỗ nhẹ lên đầu)', desc: 'Bắt chước động tác cơ thể không có đồ vật.' }, { id: 28, sub: 'vmi', ageEquiv: '32–42m', name: 'VMI-3. Bắt chước thao tác với đất nặn (Lăn dài thanh đất, ấn dẹp và cắm que vào đất)', desc: 'Thực hiện chuỗi 2 thao tác liên tiếp theo mẫu.' }, { id: 29, sub: 'vmi', ageEquiv: '44–56m', name: 'VMI-4. Bắt chước cử động ngón tay tinh tế (Chạm ngón cái vào từng ngón tay, làm ống nhòm)', desc: 'Quan sát kỹ và điều khiển đúng các ngón tay theo người khám.' }, { id: 30, sub: 'vmi', ageEquiv: '58–72m', name: 'VMI-5. Sao chép lại đúng mô hình lắp ghép từ 4 – 5 khối gỗ nhiều màu', desc: 'Nhìn mẫu lắp ghép của người khám và dựng lại y hệt về vị trí và màu sắc.' }, // 7. AE - Biểu đạt Cảm xúc (Hành vi Kém thích ứng: 2 = Phù hợp, 1 = Bất thường nhẹ, 0 = Bất thường rõ/nặng) { id: 31, sub: 'ae', ageEquiv: 'Hành vi', name: 'AE-1. Sử dụng biểu cảm nét mặt đa dạng và phù hợp với từng tình huống tương tác', desc: 'Mức 2: Phù hợp tự nhiên | Mức 1: Nét mặt hơi ít biểu cảm | Mức 0: Đơ cứng hoặc cười/khóc vô cớ.' }, { id: 32, sub: 'ae', ageEquiv: 'Hành vi', name: 'AE-2. Thể hiện nụ cười xã hội và chia sẻ niềm vui khi chơi đùa cùng người khám', desc: 'Mức 2: Vui vẻ chia sẻ | Mức 1: Chỉ cười khi được cù/kích thích mạnh | Mức 0: Không chia sẻ cảm xúc.' }, { id: 33, sub: 'ae', ageEquiv: 'Hành vi', name: 'AE-3. Điều tiết cảm xúc bình tĩnh khi gặp bài tập khó hoặc khi cất đồ chơi', desc: 'Mức 2: Bình tĩnh chấp nhận | Mức 1: Rên rỉ/khó chịu nhẹ nhưng dỗ được | Mức 0: Ăn vạ dữ dội, la hét.' }, { id: 34, sub: 'ae', ageEquiv: 'Hành vi', name: 'AE-4. Mức độ thoải mái, không sợ hãi hoặc lo âu quá mức trong phòng đánh giá', desc: 'Mức 2: Tự tin khám phá | Mức 1: Hơi căng thẳng lúc đầu | Mức 0: Hoảng sợ khóc thét kéo dài.' }, { id: 35, sub: 'ae', ageEquiv: 'Hành vi', name: 'AE-5. Duy trì sự chú ý và cảm xúc ổn định xuyên suốt buổi kiểm tra', desc: 'Mức 2: Ổn định tốt | Mức 1: Tâm trạng thất thường nhẹ | Mức 0: Biến đổi cảm xúc đột ngột không rõ lý do.' }, // 8. SR - Tương hỗ Xã hội { id: 36, sub: 'sr', ageEquiv: 'Hành vi', name: 'SR-1. Giao tiếp bằng ánh mắt tự nhiên, linh hoạt với người khám', desc: 'Mức 2: Nhìn mắt tốt | Mức 1: Nhìn mắt thoáng qua, cần nhắc | Mức 0: Hoàn toàn né tránh giao tiếp mắt.' }, { id: 37, sub: 'sr', ageEquiv: 'Hành vi', name: 'SR-2. Chủ động khởi xướng tương tác xã hội và tìm kiếm sự giúp đỡ đúng cách', desc: 'Mức 2: Nhìn mặt + chỉ tay/nói để nhờ giúp | Mức 1: Kéo tay người khám nhưng có nhìn lên | Mức 0: Cầm tay người khám như công cụ vô tri.' }, { id: 38, sub: 'sr', ageEquiv: 'Hành vi', name: 'SR-3. Chia sẻ sự chú ý chung (Joint Attention) khi thấy đồ vật thú vị, bất ngờ', desc: 'Mức 2: Tự nhiên khoe đồ/nhìn người khám | Mức 1: Chỉ nhìn theo khi người khám chỉ tay | Mức 0: Không có chú ý chung.' }, { id: 39, sub: 'sr', ageEquiv: 'Hành vi', name: 'SR-4. Tham gia chơi luân phiên qua lại (Turn-taking) cùng người khám', desc: 'Mức 2: Chờ lượt và lăn bóng/chơi qua lại tốt | Mức 1: Tham gia được 1–2 lượt khi nhắc | Mức 0: Chỉ giữ khư khư chơi một mình.' }, { id: 40, sub: 'sr', ageEquiv: 'Hành vi', name: 'SR-5. Nhận thức được sự hiện diện và phản hồi tích cực trước lời khen của người khám', desc: 'Mức 2: Vui khi được khen, hợp tác tốt | Mức 1: Ít quan tâm lời khen | Mức 0: Thờ ơ như không có người bên cạnh.' }, // 9. CMB - Hành vi Vận động Đặc trưng { id: 41, sub: 'cmb', ageEquiv: 'Hành vi', name: 'CMB-1. Không có các cử động tay/ngón tay hoặc cơ thể định hình (vẫy tay, búng tay, đung đưa)', desc: 'Mức 2: Không có stimming | Mức 1: Xuất hiện thoáng qua khi phấn khích | Mức 0: Vẫy tay/đung đưa/nhón gót liên tục.' }, { id: 42, sub: 'cmb', ageEquiv: 'Hành vi', name: 'CMB-2. Khám phá đồ vật đúng chức năng (Không ngửi, liếm hoặc cắn đồ chơi)', desc: 'Mức 2: Chơi đúng cách | Mức 1: Đôi khi đưa đồ lên miệng/ngửi nhưng nhắc thì dừng | Mức 0: Liên tục liếm, ngửi, gõ đồ vật.' }, { id: 43, sub: 'cmb', ageEquiv: 'Hành vi', name: 'CMB-3. Quan sát thị giác bình thường (Không nhìn nghiêng sát mắt hoặc mê mẩn vật quay)', desc: 'Mức 2: Nhìn thẳng tự nhiên | Mức 1: Thỉnh thoảng liếc nghiêng ngắm đồ vật | Mức 0: Cuốn hút mãnh liệt vào việc xoay/nhìn nghiêng.' }, { id: 44, sub: 'cmb', ageEquiv: 'Hành vi', name: 'CMB-4. Phản ứng bình thường với âm thanh và xúc giác trong phòng test', desc: 'Mức 2: Bình thường | Mức 1: Hơi nhạy với vài âm thanh/chất liệu | Mức 0: Bịt tai la hét hoặc tìm kiếm kích thích giác quan mạnh.' }, { id: 45, sub: 'cmb', ageEquiv: 'Hành vi', name: 'CMB-5. Linh hoạt chuyển từ bài tập này sang bài tập khác mà không đòi giữ khư khư đồ vật', desc: 'Mức 2: Chuyển bài mượt mà | Mức 1: Cần báo trước hoặc đếm ngược | Mức 0: Cứng nhắc xếp hàng, chống đối chuyển hoạt động.' }, // 10. CVB - Hành vi Lời nói Đặc trưng { id: 46, sub: 'cvb', ageEquiv: 'Hành vi', name: 'CVB-1. Không nhại lời máy móc (Immediate/Delayed Echolalia)', desc: 'Mức 2: Nói có chủ đích (hoặc chưa nói nhưng không phát âm rập khuôn) | Mức 1: Thỉnh thoảng nhại lại câu hỏi | Mức 0: Nhại lời liên tục.' }, { id: 47, sub: 'cvb', ageEquiv: 'Hành vi', name: 'CVB-2. Không tự phát ra các âm thanh vô nghĩa, tiếng rên, tiếng rít lặp đi lặp lại', desc: 'Mức 2: Không có âm thanh tự kích thích | Mức 1: Thỉnh thoảng lẩm bẩm khi chơi một mình | Mức 0: Phát âm thanh lạ/lặp lại suốt buổi.' }, { id: 48, sub: 'cvb', ageEquiv: 'Hành vi', name: 'CVB-3. Giọng điệu, tốc độ và âm lượng phát âm tự nhiên', desc: 'Mức 2: Ngữ điệu tự nhiên | Mức 1: Giọng hơi đều đều hoặc hơi to/nhỏ | Mức 0: Giọng robot phẳng lì hoặc lơ lớ bất thường rõ.' }, { id: 49, sub: 'cvb', ageEquiv: 'Hành vi', name: 'CVB-4. Lời nói/âm thanh hướng tới mục đích giao tiếp với người đối diện', desc: 'Mức 2: Giao tiếp có định hướng | Mức 1: Đôi khi tự nói một mình | Mức 0: Chỉ độc thoại vô nghĩa, không hướng tới ai.' }, { id: 50, sub: 'cvb', ageEquiv: 'Hành vi', name: 'CVB-5. Sử dụng từ vựng và đại từ xưng hô phù hợp ngữ cảnh', desc: 'Mức 2: Dùng từ phù hợp | Mức 1: Đôi khi nhầm đại từ "Con - Mẹ" | Mức 0: Đảo ngược đại từ hoàn toàn hoặc dùng từ tự bịa.' } ]; // answers[id] lưu: 2 (Đạt / Pass), 1 (Chớm đạt / Emerge), 0 (Không đạt / Fail) let answers = {}; let chronoAgeMonths = 42; // Tuổi thực mặc định: 42 tháng (3.5 tuổi) let filterSub = 'all'; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .p3-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .p3-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .p3-inner { padding: 24px; max-width: 940px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .p3-wrap.is-fullscreen .p3-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .p3-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(5, 150, 105, 0.45), 0 0 0 0 rgba(5, 150, 105, 0.4); } 70% { box-shadow: 0 6px 20px rgba(5, 150, 105, 0.45), 0 0 0 10px rgba(5, 150, 105, 0); } 100% { box-shadow: 0 6px 20px rgba(5, 150, 105, 0.45), 0 0 0 0 rgba(5, 150, 105, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #047857 0%, #059669 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(5, 150, 105, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Header */ .p3-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .p3-header-text { flex: 1 1 260px; } .p3-title { font-size: 21px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .p3-desc { font-size: 14px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #ecfdf5; color: #047857; border: 1px solid #a7f3d0; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #059669; color: #ffffff; border-color: #059669; } /* Top Controls */ .p3-top-controls { display: grid; grid-template-columns: 1fr 1.35fr; gap: 12px; margin-bottom: 14px; } .p3-box-ctrl { background: #f8fafc; border: 1px solid #e2e8f0; padding: 10px 12px; border-radius: 10px; } .p3-ctrl-label { font-size: 12px; font-weight: 700; color: #475569; text-transform: uppercase; margin-bottom: 6px; display: block; } .p3-btn-group { display: flex; flex-wrap: wrap; gap: 6px; } .p3-btn-sm { padding: 6px 10px; border-radius: 7px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; flex: 1; text-align: center; touch-action: manipulation; } .p3-btn-sm:hover { background: #f1f5f9; } .p3-btn-sm.active { background: #059669; color: #ffffff; border-color: #059669; } .p3-btn-sm.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; flex: 0 0 auto; } .p3-domain-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 16px; } .p3-dtab { padding: 6px 11px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .p3-dtab.active { background: #059669; color: #ffffff; border-color: #059669; } /* Sticky Dashboard */ .p3-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .p3-wrap.is-fullscreen .p3-dash { top: 58px; } .p3-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .p3-score-big { font-size: 22px; font-weight: 800; line-height: 1.15; } .p3-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .p3-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .p3-pillars { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; font-size: 12px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .p3-pillar-box { background: #1e293b; padding: 7px 10px; border-radius: 8px; } .p3-pillar-val { font-weight: 700; color: #ffffff; font-size: 13.5px; display: block; margin-top: 2px; } /* Danh sách nhiệm vụ PEP-3 */ .p3-q-item { border: 1px solid #e2e8f0; border-radius: 10px; padding: 14px 16px; margin-bottom: 12px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 8px; } .p3-q-item.emerge-item { border-color: #fde68a; background: #fffbeb; } .p3-q-item.fail-item { border-color: #fca5a5; background: #fff5f5; } .p3-q-item.pass-item { border-color: #a7f3d0; background: #f0fdf4; } .p3-q-title { font-size: 14.8px; font-weight: 700; color: #0f172a; } .p3-q-desc { font-size: 13.5px; color: #475569; } .p3-q-tags { display: flex; flex-wrap: wrap; gap: 6px; } .p3-tag { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .p3-ans-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 2px; } .p3-abtn { padding: 8px 8px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 700; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .p3-abtn:hover { border-color: #64748b; } .p3-abtn.sel-2 { background: #10b981; border-color: #10b981; color: #ffffff; } .p3-abtn.sel-1 { background: #f59e0b; border-color: #f59e0b; color: #ffffff; } .p3-abtn.sel-0 { background: #ef4444; border-color: #ef4444; color: #ffffff; } /* Biểu đồ 10 tiểu thang & Hộp trích xuất IEP */ .p3-chart-card { margin-top: 20px; padding: 16px 18px; border-radius: 12px; background: #ffffff; border: 1px solid #e2e8f0; } .p3-chart-title { font-size: 14.5px; font-weight: 700; color: #0f172a; margin-bottom: 12px; } .p3-bar-row { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; font-size: 12.5px; } .p3-bar-lbl { width: 245px; flex-shrink: 0; font-weight: 600; color: #334155; } .p3-bar-track { flex: 1; height: 16px; background: #f1f5f9; border-radius: 999px; overflow: hidden; } .p3-bar-val { width: 125px; text-align: right; font-weight: 700; color: #0f172a; flex-shrink: 0; } .p3-iep-box { margin-top: 16px; padding: 16px 18px; border-radius: 12px; background: #fffbeb; border: 1px solid #fde68a; border-left: 5px solid #f59e0b; font-size: 13.8px; color: #78350f; } .p3-iep-title { font-size: 15px; font-weight: 800; color: #92400e; margin-bottom: 8px; } .p3-iep-row { display: flex; align-items: flex-start; gap: 8px; margin-bottom: 5px; line-height: 1.45; } .p3-result-box { margin-top: 16px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #059669; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 720px) { .p3-inner { padding: 14px; } .p3-title { font-size: 18px; } .p3-top-controls { grid-template-columns: 1fr; } .p3-pillars { grid-template-columns: 1fr 1fr; } .p3-ans-grid { grid-template-columns: 1fr; } .p3-bar-lbl { width: 140px; font-size: 11.5px; } .p3-bar-val { width: 105px; font-size: 11.5px; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
Thang Đánh Giá Tâm Lý – Giáo Dục PEP-3 & Trích Xuất Kế Hoạch Can Thiệp IEP (6 Tháng – 7 Tuổi)
Công cụ chuẩn hóa của chương trình TEACCH (Schopler et al., 2005) đánh giá 10 tiểu thang đo (6 tiểu thang Kỹ năng phát triển + 4 tiểu thang Hành vi). Điểm cốt lõi của PEP-3 là phát hiện các kỹ năng Chớm đạt / Đang hình thành (Emerge = 1 điểm) để tự động trích xuất thành Mục tiêu Can thiệp Cá nhân hóa (IEP).
• Chỉ số Tổng hợp Giao tiếp (Communication Composite): Ước tính đạt ~${commAge} tháng (Nhận thức CVP: ~${devAge.cvp}m • Diễn đạt EL: ~${devAge.el}m • Tiếp nhận RL: ~${devAge.rl}m).
• Chỉ số Tổng hợp Vận động (Motor Composite): Ước tính đạt ~${motAge} tháng (Vận động Tinh FM: ~${devAge.fm}m • Vận động Thô GM: ~${devAge.gm}m • Bắt chước VMI: ~${devAge.vmi}m).
• Độ lệch nội tại (Scatter Profile): Chênh lệch giữa Vận động và Giao tiếp là ${profileGap} tháng ${profileGap >= 12 ? '(Hồ sơ phát triển không đồng đều đặc trưng của phổ tự kỷ — Nên dùng thế mạnh Thị giác & Vận động tinh để hỗ trợ dạy Ngôn ngữ theo phương pháp TEACCH)' : '(Hai lĩnh vực phát triển khá tương đồng)'}.
• Tổng hợp Hành vi Kém thích ứng: ${malLabel} (Cảm xúc AE: ${raw.ae}/10 • Tương hỗ xã hội SR: ${raw.sr}/10 • Hành vi vận động CMB: ${raw.cmb}/10 • Hành vi lời nói CVB: ${raw.cvb}/10). `; updateFloatingFabVisibility(); } function applyPreset(type) { answers = {}; if (type === 'reset') { renderItems(); updateSummary(); return; } if (type === 'mild') { // Trẻ 42 tháng chậm nói / tự kỷ nhẹ: Đạt các mục đầu, Chớm đạt các mục giữa items.forEach(function(it, idx) { const posInSub = (it.id - 1) % 5; // 0, 1, 2, 3, 4 if (subConfigs[it.sub].isDev) { if (posInSub <= 1) answers[it.id] = 2; else if (posInSub vào IEP else answers[it.id] = 0; } else { answers[it.id] = (posInSub <= 2) ? 2 : 1; } }); } else if (type === 'uneven') { // Hồ sơ lệch điển hình ASD: Giỏi Vận động tinh/thô & Nhận thức không lời, nhưng chậm Ngôn ngữ diễn đạt/tiếp nhận items.forEach(function(it) { const pos = (it.id - 1) % 5; if (it.sub === 'fm' || it.sub === 'gm' || it.sub === 'cvp') { answers[it.id] = (pos <= 3) ? 2 : 1; } else if (it.sub === 'el' || it.sub === 'rl' || it.sub === 'vmi') { if (pos === 0) answers[it.id] = 2; else if (pos <= 2) answers[it.id] = 1; else answers[it.id] = 0; } else { answers[it.id] = (pos <= 1) ? 2 : (pos <= 3 ? 1 : 0); } }); } else if (type === 'severe') { // Mức độ trung bình - nặng items.forEach(function(it) { const pos = (it.id - 1) % 5; if (subConfigs[it.sub].isDev) { if (pos === 0) answers[it.id] = 2; else if (pos === 1) answers[it.id] = 1; else answers[it.id] = 0; } else { answers[it.id] = (pos === 0) ? 1 : 0; } }); } renderItems(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); p3Wrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { p3Wrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 940px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } shadow.querySelectorAll('#ageGroup .p3-btn-sm').forEach(function(btn) { btn.onclick = function() { chronoAgeMonths = parseInt(this.getAttribute('data-age'), 10); shadow.querySelectorAll('#ageGroup .p3-btn-sm').forEach(b => b.classList.remove('active')); this.classList.add('active'); updateSummary(); }; }); shadow.querySelectorAll('#presetGroup .p3-btn-sm').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-pre')); }; }); shadow.querySelectorAll('#domainTabs .p3-dtab').forEach(function(tab) { tab.onclick = function() { filterSub = this.getAttribute('data-sub'); shadow.querySelectorAll('#domainTabs .p3-dtab').forEach(t => t.classList.remove('active')); this.classList.add('active'); renderItems(); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); applyPreset('uneven'); })();
PEP-3 (Psychoeducational Profile, Third Edition — Trắc nghiệm Tâm lý – Giáo dục, Phiên bản 3) là công cụ đánh giá phát triển và lập kế hoạch giáo dục cá nhân hóa (IEP) hàng đầu thế giới dành cho trẻ có Rối loạn phổ tự kỷ (ASD) và các rối loạn phát triển lan tỏa. Công cụ này được phát triển bởi Giáo sư Eric Schopler và các cộng sự thuộc chương trình TEACCH (Đại học Bắc Carolina, Hoa Kỳ — xuất bản năm 2005).
Khác với các công cụ sàng lọc (M-CHAT-R/F, SCQ, CAST) hay chẩn đoán phân loại (ADOS-2, ADI-R), mục đích cốt lõi nhất của PEP-3 là để LÊN KẾ HOẠCH CAN THIỆP: tìm ra trẻ đã làm được gì, chưa làm được gì, và đặc biệt là những kỹ năng đang chớm hình thành (Emerging) để lấy đó làm mục tiêu dạy học ngay lập tức.
Tóm tắt cốt lõi về Thang đo PEP-3
-
Độ tuổi áp dụng: Trẻ có tuổi thực hoặc tuổi phát triển từ 6 tháng đến 7 tuổi (84 tháng) (đặc biệt hữu ích cho trẻ từ 2 – 7 tuổi chưa có lời nói hoặc khó hợp tác với các bài test IQ truyền thống).
-
Điểm “ăn tiền” nhất của PEP-3 — Cơ chế chấm điểm 3 mức (0 – 1 – 2):
-
Đạt(Pass = 2 điểm): Trẻ tự thực hiện thành công nhiệm vụ mà không cần làm mẫu hay hỗ trợ thêm. -
Chớm đạt / Đang hình thành(Emerge = 1 điểm): Trẻ hiểu một phần nhiệm vụ, làm được khi có chút gợi ý/làm mẫu, hoặc thực hiện theo cách riêng gần đúng. Đây chính là “Vùng phát triển gần” (ZPD) — kho báu để giáo viên/phụ huynh chọn làm mục tiêu IEP trong 3–6 tháng tới! -
Không đạt(Fail = 0 điểm): Trẻ hoàn toàn không thực hiện được hoặc từ chối dù đã được hướng dẫn.
-
2. Cấu trúc 10 Tiểu thang đo & 3 Chỉ số Tổng hợp (Composites)
Phần đánh giá trực tiếp trẻ (Performance Test) của PEP-3 gồm 172 mục chia làm 10 tiểu thang đo (6 tiểu thang Phát triển kỹ năng + 4 tiểu thang Hành vi kém thích ứng), gộp lại thành 3 Chỉ số Tổng hợp:
| Nhóm Chỉ số Tổng hợp (Composite) | Mã | Tên Tiểu thang đo (Subtest) | Nội dung đánh giá trọng tâm |
| 1. Tổng hợp Giao tiếp(Communication Composite) | CVP | 1. Nhận thức Có lời / Tiền ngôn ngữ (Cognitive Verbal/Preverbal – 34 mục) | Giải quyết vấn đề, định danh đồ vật, phân loại, đếm số, hiểu khái niệm màu sắc/hình khối, ghép tranh. |
| EL | 2. Ngôn ngữ Diễn đạt(Expressive Language – 25 mục) | Yêu cầu bằng cử chỉ/lời nói, gọi tên đồ vật, nói cụm từ/câu, đọc chữ/số, duy trì hội thoại cơ bản. | |
| RL | 3. Ngôn ngữ Tiếp nhận(Receptive Language – 19 mục) | Quay đầu khi gọi tên, chỉ đúng đồ vật/bộ phận cơ thể theo lời nói, làm theo mệnh lệnh 1–2 bước. | |
| 2. Tổng hợp Vận động(Motor Composite) | FM | 4. Vận động Tinh (Fine Motor – 20 mục) | Thổi bong bóng, cầm nắm kẹp chì, xâu hạt, lắp ghép khối gỗ, vặn nắp lọ, tô màu và dùng kéo cắt. |
| GM | 5. Vận động Thô (Gross Motor – 15 mục) | Đi, chạy, nhảy tại chỗ, bước lên xuống cầu thang luân phiên, bắt bóng, ném bóng và đá bóng. | |
| VMI | 6. Bắt chước Vận động – Thị giác (Visual-Motor Imitation – 10 mục) | Bắt chước thao tác với đồ vật (lắc chuông, lăn đất nặn), bắt chước cử chỉ cơ thể và nét mặt. | |
| 3. Tổng hợp Hành vi Kém thích ứng(Maladaptive Behaviors) | AE | 7. Biểu đạt Cảm xúc(Affective Expression – 11 mục) | Giao tiếp mắt, nụ cười xã hội, sự phù hợp của nét mặt và mức độ lo âu/cáu giận trong buổi test. |
| SR | 8. Tương hỗ Xã hội (Social Reciprocity – 12 mục) | Khởi xướng tương tác, chia sẻ sự chú ý (Joint Attention), hợp tác chơi qua lại với người khám. | |
| CMB | 9. Hành vi Vận động Đặc trưng (Characteristic Motor Behaviors – 15 mục) | Mức độ xuất hiện cử động định hình (vẫy tay, nhón gót), ngửi/liếm đồ vật, săm soi chi tiết thị giác. | |
| CVB | 10. Hành vi Lời nói Đặc trưng (Characteristic Verbal Behaviors – 11 mục) | Nhại lời (echolalia), lặp lại âm thanh vô nghĩa, giọng nói lơ lớ/đều đều, tự nói chuyện một mình. |
(Ngoài 10 tiểu thang trực tiếp trên, PEP-3 còn có phần Báo cáo của Người chăm sóc – Caregiver Report gồm 38 mục đánh giá Hành vi có vấn đề, Tự phục vụ cá nhân và Hành vi thích ứng).
[Lập kế hoạch IEP] VB-MAPP: Chương trình đánh giá mốc phát triển và xếp lớp hành vi ngôn ngữ cho trẻ tự kỷ
(function() { const host = document.getElementById('vbmapp-wp-host'); if (!host) return; const placeholder = document.createComment('vbmapp-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // ========================================================= // 1. DỮ LIỆU ĐÁNH GIÁ MỐC PHÁT TRIỂN (MILESTONES LEVEL 1, 2, 3) // Đại diện toàn bộ 16 lĩnh vực qua 34 cụm mốc cốt lõi (Quy đổi chuẩn về thang 170 điểm: Level 1 = 45đ, Level 2 = 60đ, Level 3 = 65đ) // ========================================================= const milestoneDomains = [ // LEVEL 1 (0 - 18 THÁNG • 9 LĨNH VỰC • TỐI ĐA 45 ĐIỂM) { id: 1, lvl: 1, code: 'MAND-L1', name: '1. Yêu cầu - Mand (Level 1 • 0–18 tháng)', maxPts: 5, m1: 'Mốc 1–2: Yêu cầu được 2–4 vật/hoạt động yêu thích (có thể dùng lời, chỉ tay hoặc dấu hiệu).', m2: 'Mốc 3–4: Chủ động yêu cầu 6–8 vật khác nhau đang hiện diện trước mặt mà không cần nhắc lời.', m3: 'Mốc 5: Tự phát đưa ra ít nhất 10 yêu cầu (Mand) khác nhau trong ngày để xin đồ vật/hoạt động.' }, { id: 2, lvl: 1, code: 'TACT-L1', name: '2. Định danh / Gọi tên - Tact (Level 1 • 0–18 tháng)', maxPts: 5, m1: 'Mốc 1–2: Gọi đúng tên 2–4 người thân, thú cưng hoặc đồ vật rất quen thuộc.', m2: 'Mốc 3–4: Gọi đúng tên 6–10 đồ vật thông thường trong sinh hoạt hàng ngày.', m3: 'Mốc 5: Gọi tên chính xác ít nhất 10 đồ vật/hình ảnh quen thuộc khi được hỏi "Cái gì đây?".' }, { id: 3, lvl: 1, code: 'LR-L1', name: '3. Nghe hiểu - Listener Responding (Level 1 • 0–18 tháng)', maxPts: 5, m1: 'Mốc 1–2: Quay đầu nhìn khi nghe tiếng gọi tên mình và chú ý nhìn vào đồ vật người lớn chỉ.', m2: 'Mốc 3–4: Thực hiện được 4 mệnh lệnh vận động đơn giản (Vỗ tay, Đứng lên, Lại đây...) và chọn đúng 10 đồ vật.', m3: 'Mốc 5: Chỉ hoặc lấy đúng ít nhất 20 đồ vật/tranh ảnh quen thuộc khi người lớn gọi tên.' }, { id: 4, lvl: 1, code: 'VPMTS-L1', name: '4. Thị giác & Ghép mẫu - VP-MTS (Level 1 • 0–18 tháng)', maxPts: 5, m1: 'Mốc 1–2: Nhìn theo vật di chuyển, cầm nắm đồ vật nhỏ và thả hình khối vào hộp.', m2: 'Mốc 3–4: Xếp chồng các khối gỗ và ghép đúng các hình cơ bản vào bảng khuôn.', m3: 'Mốc 5: Ghép tương ứng đồ vật giống hệt nhau (3D–3D) và tranh giống tranh (2D–2D) trong tập hợp 4–6 mẫu.' }, { id: 5, lvl: 1, code: 'PLAY-L1', name: '5. Chơi Độc lập - Independent Play (Level 1 • 0–18 tháng)', maxPts: 5, m1: 'Mốc 1–2: Thao tác và khám phá các đồ chơi có tính nhân quả (bấm nút phát nhạc, lắc xúc xắc).', m2: 'Mốc 3–4: Chơi độc lập với nhiều loại đồ chơi khác nhau trong 2–3 phút mà không có hành vi rập khuôn.', m3: 'Mốc 5: Tự tìm kiếm đồ chơi và chơi đúng chức năng (đẩy xe, tháo lắp vòng) trong 5 phút.' }, { id: 6, lvl: 1, code: 'SOC-L1', name: '6. Hành vi Xã hội - Social Behavior (Level 1 • 0–18 tháng)', maxPts: 5, m1: 'Mốc 1–2: Giao tiếp mắt khi cần xin đồ và mỉm cười đáp lại khi người quen tương tác.', m2: 'Mốc 3–4: Nhìn theo hướng người lớn chỉ tay (Đáp ứng chú ý chung) và chú ý nhìn bạn khác chơi.', m3: 'Mốc 5: Tự nhiên nhìn mắt người lớn hoặc chỉ tay để khoe khi thấy điều thú vị (Khởi xướng chú ý chung).' }, { id: 7, lvl: 1, code: 'IMIT-L1', name: '7. Bắt chước Vận động - Motor Imitation (Level 1 • 0–18 tháng)', maxPts: 5, m1: 'Mốc 1–2: Bắt chước được 2–4 động tác vận động thô khi có gợi ý "Làm giống mẹ nào" (vỗ tay, giơ tay).', m2: 'Mốc 3–4: Bắt chước 8–10 thao tác vận động với đồ vật (gõ trống, đẩy xe, khuấy thìa).', m3: 'Mốc 5: Bắt chước chính xác 20 động tác vận động tinh và thô ngay lần làm mẫu đầu tiên.' }, { id: 8, lvl: 1, code: 'ECHO-L1', name: '8. Bắt chước Âm / Nhại âm - Echoic (Level 1 • 0–18 tháng)', maxPts: 5, m1: 'Mốc 1–2: Lặp lại được các nguyên âm đơn và âm tiết đơn giản (a, ba, ma, măm).', m2: 'Mốc 3–4: Lặp lại rõ ràng các từ đơn 1–2 âm tiết theo mẫu.', m3: 'Mốc 5: Nhại âm chính xác ít nhất 10–15 từ đơn và cụm từ 2 âm tiết (tương đương ≥ 15 điểm trên thang EESA).' }, { id: 9, lvl: 1, code: 'VOC-L1', name: '9. Phát âm Tự phát - Spontaneous Vocal (Level 1 • 0–18 tháng)', maxPts: 5, m1: 'Mốc 1–2: Thường xuyên phát ra các âm thanh bập bẹ đa dạng ngữ điệu khi chơi.', m2: 'Mốc 3–4: Phát ra các chuỗi âm thanh giống từ ngữ kèm nhìn người lớn.', m3: 'Mốc 5: Tự phát nói rõ ít nhất 10–15 từ đơn có nghĩa trong sinh hoạt hàng ngày.' }, // LEVEL 2 (18 - 30 THÁNG • 12 LĨNH VỰC • TỐI ĐA 60 ĐIỂM) { id: 10, lvl: 2, code: 'MAND-L2', name: '10. Yêu cầu - Mand (Level 2 • 18–30 tháng)', maxPts: 5, m1: 'Mốc 6–7: Yêu cầu 20 vật khác nhau (kể cả khi vật đó không có mặt ngay trước mắt) và yêu cầu hành động.', m2: 'Mốc 8–9: Yêu cầu bằng cụm 2–3 từ và bắt đầu biết hỏi để lấy thông tin ("Cái gì đây?", "Ở đâu?").', m3: 'Mốc 10: Tự phát đưa ra các yêu cầu mới linh hoạt trong ngày mà không cần huấn luyện trước.' }, { id: 11, lvl: 2, code: 'TACT-L2', name: '11. Định danh / Gọi tên - Tact (Level 2 • 18–30 tháng)', maxPts: 5, m1: 'Mốc 6–7: Gọi tên 25–50 đồ vật (kể cả qua tranh ảnh khái quát hóa).', m2: 'Mốc 8–9: Gọi tên được các hành động đang diễn ra (đang ăn, đang chạy, đang ngủ) và cụm Danh từ + Động từ.', m3: 'Mốc 10: Vốn từ gọi tên đạt ít nhất 150–200 từ (đồ vật, con vật, người, hành động).' }, { id: 12, lvl: 2, code: 'LR-L2', name: '12. Nghe hiểu - Listener Responding (Level 2 • 18–30 tháng)', maxPts: 5, m1: 'Mốc 6–7: Phân biệt và chọn đúng 40–50 đồ vật/tranh ảnh trong một mảng nhiều hình.', m2: 'Mốc 8–9: Thực hiện đúng 25 hành động theo lời nói và làm theo mệnh lệnh gồm 2 bước.', m3: 'Mốc 10: Nghe hiểu và nhận diện được tổng cộng trên 200 từ vựng (danh từ và động từ).' }, { id: 13, lvl: 2, code: 'VPMTS-L2', name: '13. Thị giác & Ghép mẫu - VP-MTS (Level 2 • 18–30 tháng)', maxPts: 5, m1: 'Mốc 6–7: Ghép vật 3D với tranh 2D không giống hệt hoàn toàn (khái quát hóa màu sắc/kích cỡ) trong mảng 8–10 hình.', m2: 'Mốc 8–9: Lắp ghép mô hình khối gỗ 3D theo mẫu và ghép tranh cắt rời 4–6 mảnh.', m3: 'Mốc 10: Phân loại các đồ vật khác nhau vào đúng nhóm danh mục (Đồ ăn, Con vật, Phương tiện) mà không cần mẫu.' }, { id: 14, lvl: 2, code: 'PLAY-L2', name: '14. Chơi Độc lập - Independent Play (Level 2 • 18–30 tháng)', maxPts: 5, m1: 'Mốc 6–7: Mang các đồ vật liên quan lại ghép đôi với nhau (đặt tách lên đĩa, đặt người lên xe) và lắp ghép đồ chơi.', m2: 'Mốc 8–9: Bắt đầu chơi giả vờ hướng tới đồ vật/búp bê (đút cho gấu ăn, lăn xe vào gara).', m3: 'Mốc 10: Tự chơi đóng vai giả vờ liên hoàn và tự dọn đồ chơi vào hộp khi kết thúc.' }, { id: 15, lvl: 2, code: 'SOC-L2', name: '15. Hành vi Xã hội & Chơi cùng bạn (Level 2 • 18–30 tháng)', maxPts: 5, m1: 'Mốc 6–7: Chủ động tiến lại gần bạn cùng tuổi và ngồi chơi song song cạnh bạn.', m2: 'Mốc 8–9: Biết dùng lời nói/cử chỉ xin đồ chơi từ bạn ("Cho tớ mượn") và theo dõi bạn chơi.', m3: 'Mốc 10: Tham gia chơi tương tác qua lại (lăn bóng, đuổi bắt, xếp hình chung) với bạn cùng tuổi.' }, { id: 16, lvl: 2, code: 'IMIT-L2', name: '16. Bắt chước Vận động (Level 2 • 18–30 tháng)', maxPts: 5, m1: 'Mốc 6–7: Bắt chước các cử động miệng – mặt và các thao tác vận động tinh phức tạp.', m2: 'Mốc 8–9: Bắt chước chuỗi hành động gồm 2 bước liên tiếp và bắt chước hành động của bạn cùng lớp.', m3: 'Mốc 10: Tự nhiên bắt chước các hành động chức năng mới trong sinh hoạt hàng ngày mà không cần nhắc.' }, { id: 17, lvl: 2, code: 'ECHO-L2', name: '17. Bắt chước Âm / Nhại âm - Echoic (Level 2 • 18–30 tháng)', maxPts: 5, m1: 'Mốc 6–7: Lặp lại rõ các từ có 2–3 âm tiết phức tạp.', m2: 'Mốc 8–9: Lặp lại đúng các cụm từ 3–4 từ kèm đúng ngữ điệu và trọng âm.', m3: 'Mốc 10: Đạt từ 50–60 điểm trở lên trên bài kiểm tra phát âm EESA.' }, { id: 18, lvl: 2, code: 'LRFFC-L2', name: '18. Nghe hiểu theo Chức năng, Đặc điểm, Phân loại - LRFFC (Level 2)', maxPts: 5, m1: 'Mốc 6–7: Chọn đúng con vật/đồ vật khi nghe tiếng kêu hoặc hành động đi kèm ("Con gì kêu gâu gâu?").', m2: 'Mốc 8–9: Chọn đúng vật trong tranh theo chức năng ("Con dùng cái gì để cắt giấy/để uống nước?") và đặc điểm ("Cái nào có bánh xe?").', m3: 'Mốc 10: Chọn đúng 25–50 vật khi được mô tả theo chức năng, đặc điểm hoặc danh mục phân loại.' }, { id: 19, lvl: 2, code: 'IV-L2', name: '19. Hội thoại & Liên tưởng từ - Intraverbal (Level 2 • 18–30 tháng)', maxPts: 5, m1: 'Mốc 6–7: Điền từ còn thiếu vào cuối câu hát quen thuộc hoặc câu nói bỏ lửng ("Chuẩn bị, một, hai... [ba!]").', m2: 'Mốc 8–9: Điền từ vào cụm từ quen thuộc ("Đánh răng rửa... [mặt]") và trả lời tên của bản thân.', m3: 'Mốc 10: Trả lời được ít nhất 25 câu hỏi "Cái gì?" đơn giản mà không cần nhìn tranh (VD: "Con ăn cái gì?").' }, { id: 20, lvl: 2, code: 'GROUP-L2', name: '20. Học trong Nhóm & Nội quy Lớp học (Level 2 • 18–30 tháng)', maxPts: 5, m1: 'Mốc 6–7: Ngồi yên tại bàn ăn/bàn học cùng nhóm 3–4 bạn trong 3–5 phút mà không bỏ chạy.', m2: 'Mốc 8–9: Cất đồ dùng cá nhân, xếp hàng chuyển tiếp hoạt động theo chỉ dẫn chung của giáo viên.', m3: 'Mốc 10: Ngồi học trong nhóm nhỏ 10 phút và giơ tay/trả lời được câu hỏi chung của cô giáo.' }, { id: 21, lvl: 2, code: 'LING-L2', name: '21. Cấu trúc Ngôn ngữ & Ngữ pháp (Level 2 • 18–30 tháng)', maxPts: 5, m1: 'Mốc 6–7: Phát âm từ đơn đủ rõ để người lạ hiểu được ít nhất 50% lời trẻ nói.', m2: 'Mốc 8–9: Vốn từ vựng diễn đạt đạt trên 100 từ và kết hợp được câu ngắn 2–3 từ.', m3: 'Mốc 10: Biết dùng từ phủ định ("Không phải..."), từ sở hữu ("Của con") và điều chỉnh âm lượng giọng nói.' }, // LEVEL 3 (30 - 48 THÁNG • 13 LĨNH VỰC • TỐI ĐA 65 ĐIỂM) { id: 22, lvl: 3, code: 'MAND-L3', name: '22. Yêu cầu Nâng cao - Mand (Level 3 • 30–48 tháng)', maxPts: 5, m1: 'Mốc 11–12: Thường xuyên đặt câu hỏi "Tại sao?", "Khi nào?", "Ai?" để tìm kiếm thông tin mới.', m2: 'Mốc 13–14: Yêu cầu người khác chú ý nghe mình kể chuyện hoặc nhờ giải quyết vấn đề phức tạp.', m3: 'Mốc 15: Đưa ra chỉ dẫn cho bạn cùng chơi và yêu cầu bằng câu đầy đủ kèm tính từ/giới từ.' }, { id: 23, lvl: 3, code: 'TACT-L3', name: '23. Định danh Mở rộng - Tact (Level 3 • 30–48 tháng)', maxPts: 5, m1: 'Mốc 11–12: Gọi tên chính xác màu sắc, hình dạng, tính từ đối lập (to/nhỏ, nóng/lạnh, ướt/khô) và giới từ.', m2: 'Mốc 13–14: Mô tả sự việc bằng câu hoàn chỉnh từ 4 từ trở lên và gọi tên cảm xúc của người khác.', m3: 'Mốc 15: Vốn từ định danh đạt từ 750 – 1000 từ thuộc mọi phạm trù đời sống.' }, { id: 24, lvl: 3, code: 'LR-L3', name: '24. Nghe hiểu Phức hợp - Listener Responding (Level 3 • 30–48 tháng)', maxPts: 5, m1: 'Mốc 11–12: Phân biệt giới từ (trên/dưới/bên cạnh), đại từ (anh ấy/cô ấy) và tính từ khi nghe yêu cầu.', m2: 'Mốc 13–14: Thực hiện chỉ dẫn phức hợp gồm 3 bước liên tiếp.', m3: 'Mốc 15: Vốn từ nghe hiểu đạt trên 1200 từ.' }, { id: 25, lvl: 3, code: 'VPMTS-L3', name: '25. Thị giác & Tư duy Khuôn mẫu (Level 3 • 30–48 tháng)', maxPts: 5, m1: 'Mốc 11–12: Ghép nối các vật có liên quan chức năng với nhau (bàn chải đi với kem đánh răng) và xếp hình 10 mảnh.', m2: 'Mốc 13–14: Dựng mô hình phức tạp từ 8–10 chi tiết và phân loại theo nhiều tiêu chí.', m3: 'Mốc 15: Hoàn thành chuỗi quy luật logic (A-B-A-B) và sắp xếp tranh theo trình tự thời gian 3–4 bước.' }, { id: 26, lvl: 3, code: 'PLAY-L3', name: '26. Chơi Đóng vai & Thủ công (Level 3 • 30–48 tháng)', maxPts: 5, m1: 'Mốc 11–12: Tự dựng kịch bản chơi đóng vai tưởng tượng (làm bác sĩ khám bệnh, nấu ăn mời khách).', m2: 'Mốc 13–14: Thực hiện các hoạt động nghệ thuật/thủ công (vẽ hình, tô màu, cắt dán, nặn đất sét).', m3: 'Mốc 15: Tự chơi độc lập có mục đích trong 10–15 phút mà không cần người lớn nhắc nhở.' }, { id: 27, lvl: 3, code: 'SOC-L3', name: '27. Tương tác Bạn bè & Chơi hợp tác (Level 3 • 30–48 tháng)', maxPts: 5, m1: 'Mốc 11–12: Tự nguyện hợp tác chia sẻ đồ chơi và chơi đóng vai cùng với bạn đồng trang lứa.', m2: 'Mốc 13–14: Trò chuyện qua lại 2–3 lượt với bạn cùng tuổi và nhận diện được cảm xúc vui/buồn của bạn.', m3: 'Mốc 15: Tham gia trò chơi tập thể có luật lệ (trốn tìm, cờ cá ngựa) và biết chờ đến lượt mà không cáu giận.' }, { id: 28, lvl: 3, code: 'LRFFC-L3', name: '28. Nghe hiểu Mô tả Phức tạp - LRFFC (Level 3 • 30–48 tháng)', maxPts: 5, m1: 'Mốc 11–12: Chọn đúng hình khi câu hỏi có chứa từ phủ định ("Cái nào KHÔNG phải là đồ ăn?").', m2: 'Mốc 13–14: Chọn đúng vật khi câu hỏi kết hợp 2–3 đặc điểm ("Con vật nào có 4 chân, sống ở nông trại và cho sữa?").', m3: 'Mốc 15: Trả lời đúng các câu hỏi phân loại Wh- đa dạng dựa trên tranh bối cảnh phức tạp.' }, { id: 29, lvl: 3, code: 'IV-L3', name: '29. Hội thoại & Kể chuyện - Intraverbal (Level 3 • 30–48 tháng)', maxPts: 5, m1: 'Mốc 11–12: Kể tên được các thành viên trong một nhóm danh mục ("Kể cho cô nghe tên các con vật/các loại quả").', m2: 'Mốc 13–14: Trả lời đúng các câu hỏi "Ở đâu?", "Khi nào?", "Ai?", "Làm thế nào?" và kể lại chuyện vừa nghe.', m3: 'Mốc 15: Mô tả lại một sự kiện đã xảy ra trong quá khứ và duy trì cuộc hội thoại 3–4 lượt về một chủ đề.' }, { id: 30, lvl: 3, code: 'GROUP-L3', name: '30. Kỹ năng Học Tập thể Lớp lớn (Level 3 • 30–48 tháng)', maxPts: 5, m1: 'Mốc 11–12: Tự đi vệ sinh, rửa tay và chuẩn bị đồ dùng học tập theo hiệu lệnh chung của lớp.', m2: 'Mốc 13–14: Ngồi học nghiêm túc trong nhóm 5–10 học sinh suốt 15–20 phút và làm bài tập độc lập.', m3: 'Mốc 15: Học được kiến thức mới thông qua việc nghe cô giáo giảng bài chung cho cả lớp.' }, { id: 31, lvl: 3, code: 'LING-L3', name: '31. Ngữ pháp & Câu phức (Level 3 • 30–48 tháng)', maxPts: 5, m1: 'Mốc 11–12: Sử dụng đúng các từ chỉ số nhiều, sở hữu và liên từ ("và", "nhưng", "bởi vì").', m2: 'Mốc 13–14: Nói đúng các từ chỉ thời gian quá khứ ("đã... rồi") và tương lai ("sẽ...").', m3: 'Mốc 15: Nói câu dài 4–5 từ chuẩn ngữ pháp với độ dài phát ngôn trung bình (MLU) đạt mức 4.0.' }, { id: 32, lvl: 3, code: 'READ-L3', name: '32. Tiền Đọc & Nhận biết Chữ - Reading (Level 3 • 30–48 tháng)', maxPts: 5, m1: 'Mốc 11–12: Chú ý nghe đọc sách truyện, ghép chữ cái giống nhau và chỉ đúng ít nhất 10 chữ cái.', m2: 'Mốc 13–14: Đọc to đúng tên 20 chữ cái và nhận biết được tên của chính mình trên thẻ chữ.', m3: 'Mốc 15: Ghép được 5 từ đơn giản (như "cá", "bò", "mẹ") với bức tranh tương ứng.' }, { id: 33, lvl: 3, code: 'WRIT-L3', name: '33. Tiền Viết & Đồ nét - Writing (Level 3 • 30–48 tháng)', maxPts: 5, m1: 'Mốc 11–12: Cầm bút bằng 3 ngón tay, vẽ đồ theo các đường thẳng, đường cong và tô màu trong khung.', m2: 'Mốc 13–14: Sao chép lại 5 hình học cơ bản (tròn, vuông, chữ thập, tam giác) và đồ theo nét chữ cái.', m3: 'Mốc 15: Tự viết được tên của bản thân mà không cần nhìn mẫu.' }, { id: 34, lvl: 3, code: 'MATH-L3', name: '34. Toán học Sớm - Math (Level 3 • 30–48 tháng)', maxPts: 5, m1: 'Mốc 11–12: Đếm vẹt từ 1 đến 10 và đếm lấy đúng số lượng từ 1 đến 5 đồ vật.', m2: 'Mốc 13–14: Nhận biết các chữ số từ 1 đến 10 và so sánh khái niệm toán học (nhiều hơn/ít hơn, dài/ngắn).', m3: 'Mốc 15: Ghép đúng thẻ chữ số (1–10) với số lượng đồ vật tương ứng.' } ]; // ========================================================= // 2. DỮ LIỆU 24 RÀO CẢN HỌC TẬP & NGÔN NGỮ (BARRIERS ASSESSMENT) // Chấm từ 0 (Không có rào cản) đến 4 (Rào cản rất nghiêm trọng) -> Tổng 0 - 96 điểm // ========================================================= const barriersList = [ { id: 1, name: '1. Hành vi tiêu cực / Chống đối (Negative Behavior)', desc: 'Khóc lóc, la hét, ăn vạ, ném đồ hoặc đánh/cắn khi được yêu cầu học tập hoặc khi bị từ chối.' }, { id: 2, name: '2. Kiểm soát hướng dẫn kém (Poor Instructional Control)', desc: 'Bỏ chạy khỏi bàn học, lờ đi lời cô giáo/bố mẹ, chỉ chịu hợp tác khi được chiều theo ý mình.' }, { id: 3, name: '3. Yêu cầu (Mand) yếu, vắng bóng hoặc sai lệch', desc: 'Không biết cách xin thứ mình muốn bằng lời/cử chỉ hoặc dùng hành vi khóc hét để đòi hỏi.' }, { id: 4, name: '4. Định danh / Gọi tên (Tact) yếu hoặc sai lệch', desc: 'Vốn từ gọi tên hạn chế, hay đoán mò hoặc không gọi tên được đồ vật dù biết nói nhại lại.' }, { id: 5, name: '5. Bắt chước vận động (Motor Imitation) yếu hoặc sai lệch', desc: 'Khó quan sát và bắt chước thao tác mẫu của người dạy, hoặc bắt chước máy móc không hiểu mục đích.' }, { id: 6, name: '6. Bắt chước âm / Nhại lời (Echoic) yếu hoặc Nhại lời máy móc', desc: 'Không lặp lại được âm thanh mẫu HOẶC ngược lại là nhại lại nguyên xi câu hỏi một cách vô nghĩa (Echolalia).' }, { id: 7, name: '7. Kỹ năng Tri giác thị giác & Ghép mẫu (VP-MTS) yếu', desc: 'Khó khăn khi quét mắt tìm hình, ghép hình hoặc chỉ ghép được khi đồ vật giống hệt mẫu 100%.' }, { id: 8, name: '8. Kỹ năng Nghe hiểu (Listener) yếu hoặc phụ thuộc ngữ cảnh', desc: 'Chậm hiểu lời nói, phải nhìn tay chỉ hoặc đoán ý chứ không thực sự phân biệt từng từ trong câu.' }, { id: 9, name: '9. Hội thoại & Liên tưởng từ (Intraverbal) yếu hoặc học vẹt', desc: 'Không trả lời được câu hỏi hội thoại hoặc chỉ trả lời rập khuôn một câu thuộc lòng duy nhất.' }, { id: 10, name: '10. Kỹ năng Xã hội (Social Skills) yếu hoặc suy giảm', desc: 'Thờ ơ với bạn cùng tuổi, không biết chia sẻ đồ chơi hay tham gia tương tác hai chiều.' }, { id: 11, name: '11. Phụ thuộc vào sự gợi ý (Prompt Dependency)', desc: 'Trẻ biết làm nhưng cứ ngồi chờ người lớn phải nhắc mớm âm đầu hoặc cầm tay chỉ việc mới chịu làm.' }, { id: 12, name: '12. Đoán mò câu trả lời (Scrolling Responses)', desc: 'Khi được hỏi hoặc yêu cầu, trẻ tung ra một loạt từ/cử chỉ liên tiếp để thử vận may xem cái nào trúng.' }, { id: 13, name: '13. Kỹ năng Quét thị giác kém (Impaired Scanning)', desc: 'Không nhìn bao quát hết các bức tranh trên bàn trước khi chọn, chỉ lấy đại tấm thẻ nằm gần tay nhất.' }, { id: 14, name: '14. Thất bại trong Phân biệt có điều kiện (Conditional Discrimination)', desc: 'Bị rối loạn khi câu lệnh có từ 2 thông tin trở lên (VD: lấy "bút đỏ" giữa bút xanh, kéo đỏ).' }, { id: 15, name: '15. Thất bại trong Khái quát hóa (Failure to Generalize)', desc: 'Chỉ làm được bài tập trên đúng bộ thẻ ở bàn học với cô giáo, ra ngoài đời thật hoặc đổi người hỏi thì không biết.' }, { id: 16, name: '16. Động lực học tập yếu hoặc khác thường (Weak/Atypical MO)', desc: 'Rất ít thứ có thể thu hút trẻ làm phần thưởng, hoặc trẻ nhanh chán phần thưởng chỉ sau vài phút.' }, { id: 17, name: '17. Đòi hỏi phần thưởng lập tức làm mất động lực (Response Cost Weakens MO)', desc: 'Nếu bài tập hơi khó hoặc phải làm 2–3 yêu cầu mới được thưởng là trẻ bỏ cuộc ngay.' }, { id: 18, name: '18. Phụ thuộc vào phần thưởng hữu hình (Reinforcer Dependency)', desc: 'Chỉ chịu làm việc khi nhìn thấy bánh kẹo/đồ chơi cầm sẵn trên tay người lớn, không làm vì lời khen xã hội.' }, { id: 19, name: '19. Hành vi tự kích thích giác quan (Self-Stimulation)', desc: 'Vẫy tay, nhìn nghiêng, xoay đồ vật, phát âm thanh lạ liên tục làm lấn át việc chú ý học tập.' }, { id: 20, name: '20. Khó khăn về Phát âm / Khẩu hình (Articulation Problems)', desc: 'Phát âm ngọng, mất âm hoặc rối loạn vận động lời nói khiến người nghe rất khó hiểu trẻ nói gì.' }, { id: 21, name: '21. Hành vi Ám ảnh – Cưỡng chế & Nghi thức cứng nhắc (Obsessive-Compulsive)', desc: 'Khăng khăng xếp hàng đồ vật, giữ thói quen cố định và phản ứng dữ dội nếu bị thay đổi.' }, { id: 22, name: '22. Tăng động & Giảm chú ý (Hyperactive Behavior)', desc: 'Luôn chân luôn tay, bồn chồn không ngồi yên được quá vài chục giây, rất dễ xao nhãng.' }, { id: 23, name: '23. Thất bại trong Giao tiếp mắt & Chú ý khuôn mặt (Failure to Make Eye Contact)', desc: 'Né tránh nhìn mặt người đối diện, bỏ lỡ các tín hiệu biểu cảm và khẩu hình của người dạy.' }, { id: 24, name: '24. Rối loạn Phòng vệ Giác quan (Sensory Defensiveness)', desc: 'Quá nhạy cảm với tiếng ồn (bịt tai), ánh sáng, mùi vị hoặc cảm giác chạm làm gián đoạn buổi học.' } ]; // ========================================================= // 3. DỮ LIỆU 18 TIÊU CHÍ ĐÁNH GIÁ CHUYỂN TIẾP HÒA NHẬP (TRANSITION ASSESSMENT) // Chấm từ 1 đến 5 điểm -> Tổng 18 đến 90 điểm // ========================================================= const transitionList = [ { id: 1, cat: 'Năng lực VB-MAPP cốt lõi', name: '1. Tổng điểm Mốc phát triển VB-MAPP (Milestones Score)', desc: '1đ: ≤25 điểm | 2đ: 26–50 điểm | 3đ: 51–99 điểm | 4đ: 100–134 điểm | 5đ: ≥135/170 điểm.' }, { id: 2, cat: 'Năng lực VB-MAPP cốt lõi', name: '2. Tổng điểm Rào cản học tập (Barriers Score)', desc: '1đ: >40 điểm rào cản | 2đ: 25–40đ | 3đ: 15–24đ | 4đ: 6–14đ | 5đ: 0–5 điểm rào cản.' }, { id: 3, cat: 'Năng lực VB-MAPP cốt lõi', name: '3. Hành vi tiêu cực & Kiểm soát hướng dẫn', desc: 'Mức độ hợp tác của trẻ mà không có hành vi ăn vạ, chống đối hay bỏ chạy khỏi lớp.' }, { id: 4, cat: 'Năng lực VB-MAPP cốt lõi', name: '4. Nội quy lớp học & Kỹ năng học trong nhóm', desc: 'Khả năng ngồi học cùng tập thể, xếp hàng, giơ tay và làm theo hiệu lệnh chung của giáo viên.' }, { id: 5, cat: 'Năng lực VB-MAPP cốt lõi', name: '5. Hành vi xã hội & Chơi cùng bạn đồng trang lứa', desc: 'Khả năng tương tác, chia sẻ và tham gia chơi hợp tác với các bạn cùng lớp.' }, { id: 6, cat: 'Năng lực VB-MAPP cốt lõi', name: '6. Mức độ độc lập trong làm việc học thuật', desc: 'Khả năng tự hoàn thành phiếu bài tập hoặc nhiệm vụ được giao mà không cần người ngồi kèm sát 1:1.' }, { id: 7, cat: 'Khả năng học tập tự nhiên', name: '7. Khái quát hóa kỹ năng sang môi trường mới', desc: 'Áp dụng được kiến thức đã học sang lớp học mới, giáo viên mới và học liệu mới.' }, { id: 8, cat: 'Khả năng học tập tự nhiên', name: '8. Độ rộng của các yếu tố củng cố / Động lực xã hội', desc: 'Trẻ biết cố gắng học tập vì lời khen, ngôi sao thi đua và niềm vui khám phá (không cần bánh kẹo).' }, { id: 9, cat: 'Khả năng học tập tự nhiên', name: '9. Tốc độ tiếp thu kỹ năng mới (Rate of Skill Acquisition)', desc: 'Số lần lặp lại cần thiết để trẻ nắm vững một kiến thức mới (5đ = hiểu ngay sau 1–3 lần hướng dẫn).' }, { id: 10, cat: 'Khả năng học tập tự nhiên', name: '10. Duy trì kỹ năng đã học qua thời gian (Retention)', desc: 'Nhớ lâu các bài đã học sau nhiều tuần mà không cần phải ôn đi ôn lại liên tục.' }, { id: 11, cat: 'Khả năng học tập tự nhiên', name: '11. Học tự nhiên từ môi trường &Quan sát bạn bè', desc: 'Tự học được từ mới và quy tắc mới chỉ bằng cách quan sát các bạn xung quanh làm.' }, { id: 12, cat: 'Khả năng học tập tự nhiên', name: '12. Khả năng thích ứng khi thay đổi lịch trình', desc: 'Bình tĩnh chấp nhận khi lớp học đổi giờ học, đổi chỗ ngồi hoặc có giáo viên dạy thay.' }, { id: 13, cat: 'Tự phục vụ & Tự chủ', name: '13. Các hành vi tự kích thích (Self-Stimulation)', desc: 'Mức độ kiểm soát không để các hành vi vẫy tay, lẩm bẩm gây chú ý hoặc cản trở giờ học chung.' }, { id: 14, cat: 'Tự phục vụ & Tự chủ', name: '14. Các hành vi rập khuôn & Sở thích thu hẹp', desc: 'Mức độ linh hoạt, không bị cuốn vào một chủ đề/đồ vật duy nhất trong lớp.' }, { id: 15, cat: 'Tự phục vụ & Tự chủ', name: '15. Kỹ năng tự làm việc và giải trí trong giờ ra chơi', desc: 'Biết tự chơi lành mạnh, đọc sách hoặc giao lưu với bạn trong giờ giải lao không cấu trúc.' }, { id: 16, cat: 'Tự phục vụ & Tự chủ', name: '16. Kỹ năng tự phục vụ cá nhân (Ăn uống, Mặc đồ, Vệ sinh)', desc: 'Tự xúc ăn gọn gàng, tự mặc áo khoác, mang giày dép và rửa tay.' }, { id: 17, cat: 'Tự phục vụ & Tự chủ', name: '17. Kỹ năng tự đi vệ sinh (Toileting Skills)', desc: 'Hoàn toàn kiểm soát việc đi vệ sinh độc lập và biết xin phép giáo viên khi cần.' }, { id: 18, cat: 'Tự phục vụ & Tự chủ', name: '18. Kỹ năng ăn uống tại trường (Bữa trưa tập thể)', desc: 'Ngồi ăn cùng bàn với các bạn, ăn đa dạng món ăn của trường mà không kén ăn cực đoan.' } ]; let activeTab = 'milestones'; // 'milestones' | 'barriers' | 'transition' let filterLvl = 'all'; // 'all' | '1' | '2' | '3' let mScores = {}; // Lưu điểm từng cụm mốc: 0, 2.5 (Đang hình thành), 5.0 (Hoàn thành cả 5 mốc) let bScores = {}; // Lưu 0..4 cho 24 rào cản let tScores = {}; // Lưu 1..5 cho 18 tiêu chí chuyển tiếp let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .vb-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .vb-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .vb-inner { padding: 24px; max-width: 960px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .vb-wrap.is-fullscreen .vb-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .vb-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 0 rgba(37, 99, 235, 0.4); } 70% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 10px rgba(37, 99, 235, 0); } 100% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 0 rgba(37, 99, 235, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #1d4ed8 0%, #2563eb 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Bộ chuyển đổi 3 Bảng VB-MAPP */ .vb-switcher { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; background: #f1f5f9; padding: 8px; border-radius: 12px; margin-bottom: 18px; } .vb-tab-btn { padding: 10px 12px; border-radius: 9px; border: 1.5px solid transparent; background: transparent; cursor: pointer; text-align: left; transition: all 0.2s ease; touch-action: manipulation; } .vb-tab-btn.active { background: #ffffff; border-color: #2563eb; box-shadow: 0 2px 8px rgba(15, 23, 42, 0.08); } .vb-tab-title { font-size: 13.8px; font-weight: 800; color: #0f172a; display: block; } .vb-tab-btn.active .vb-tab-title { color: #2563eb; } .vb-tab-sub { font-size: 11.5px; color: #64748b; margin-top: 2px; display: block; } /* Header */ .vb-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .vb-header-text { flex: 1 1 260px; } .vb-title { font-size: 20px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .vb-desc { font-size: 13.8px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #eff6ff; color: #1d4ed8; border: 1px solid #bfdbfe; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #2563eb; color: #ffffff; border-color: #2563eb; } /* Controls */ .vb-controls { display: flex; flex-direction: column; gap: 10px; margin-bottom: 18px; } .vb-presets { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; } .vb-preset-lbl { font-size: 12.5px; font-weight: 700; color: #475569; margin-right: 4px; } .vb-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; touch-action: manipulation; } .vb-pbtn:hover { background: #f1f5f9; } .vb-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } .vb-lvl-tabs { display: flex; flex-wrap: wrap; gap: 6px; } .vb-ltab { padding: 6px 12px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .vb-ltab.active { background: #2563eb; color: #ffffff; border-color: #2563eb; } /* Sticky Dashboard */ .vb-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .vb-wrap.is-fullscreen .vb-dash { top: 58px; } .vb-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .vb-score-big { font-size: 22px; font-weight: 800; line-height: 1.15; } .vb-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .vb-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .vb-pillars { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; font-size: 12px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .vb-pillar-box { background: #1e293b; padding: 7px 10px; border-radius: 8px; } .vb-pillar-val { font-weight: 700; color: #ffffff; font-size: 13.5px; display: block; margin-top: 2px; } /* Danh sách mục đánh giá */ .vb-item { border: 1px solid #e2e8f0; border-radius: 12px; padding: 14px 16px; margin-bottom: 12px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 8px; } .vb-item.mastered { border-color: #a7f3d0; background: #f0fdf4; } .vb-item.emerging { border-color: #fde68a; background: #fffbeb; } .vb-item.severe-barrier { border-color: #fca5a5; background: #fff5f5; } .vb-item-title { font-size: 15px; font-weight: 800; color: #0f172a; } .vb-item-desc { font-size: 13.2px; color: #334155; line-height: 1.5; } .vb-tags { display: flex; flex-wrap: wrap; gap: 6px; } .vb-tag { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .vb-tag.lvl1 { background: #fef3c7; color: #b45309; } .vb-tag.lvl2 { background: #dbeafe; color: #1d4ed8; } .vb-tag.lvl3 { background: #dcfce7; color: #15803d; } .vb-ans-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; margin-top: 4px; } .vb-abtn { padding: 8px 6px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 700; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .vb-abtn:hover { border-color: #64748b; } .vb-abtn.sel-green { background: #10b981; border-color: #10b981; color: #ffffff; } .vb-abtn.sel-blue { background: #3b82f6; border-color: #3b82f6; color: #ffffff; } .vb-abtn.sel-amber { background: #f59e0b; border-color: #f59e0b; color: #ffffff; } .vb-abtn.sel-red { background: #ef4444; border-color: #ef4444; color: #ffffff; } /* Hộp trích xuất IEP & Kết luận */ .vb-iep-box { margin-top: 18px; padding: 16px 18px; border-radius: 12px; background: #fffbeb; border: 1px solid #fde68a; border-left: 5px solid #f59e0b; font-size: 13.8px; color: #78350f; } .vb-iep-title { font-size: 15px; font-weight: 800; color: #92400e; margin-bottom: 8px; } .vb-result-box { margin-top: 16px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #2563eb; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 720px) { .vb-inner { padding: 14px; } .vb-switcher { grid-template-columns: 1fr; } .vb-title { font-size: 18px; } .vb-pillars { grid-template-columns: 1fr 1fr; } .vb-ans-grid { grid-template-columns: 1fr 1fr; } .vb-pbtn.reset { margin-left: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
Phần 1: Đánh Giá 170 Mốc Phát Triển Ngôn Ngữ & Học Tập VB-MAPP (Level 1, 2, 3)
Mỗi lĩnh vực trong mỗi Cấp độ gồm 5 mốc chuẩn (Tối đa 5.0 điểm/lĩnh vực). Hãy chọn điểm số tương ứng với số mốc bé đã đạt được trong lĩnh vực đó (từ 0.0 đến 5.0 điểm). Các lĩnh vực đang đạt dở dang (1.0 – 3.5 điểm) sẽ được tự động trích xuất làm Mục tiêu IEP ưu tiên.
`; } else if (activeTab === 'barriers') { lvlTabs.style.display = 'none'; headerInfo.innerHTML = `Phần 2: Đánh Giá 24 Rào Cản Học Tập & Tiếp Thu Ngôn Ngữ (Barriers Assessment • 0 – 96 Điểm)
Chấm mức độ từ 0 (Không có rào cản) đến 4 (Rào cản rất nghiêm trọng) cho 24 yếu tố cản trở việc học. Mọi rào cản từ mức 3 – 4 điểm cần được ưu tiên xây dựng kế hoạch can thiệp hành vi (BIP) trước khi nhồi nhét kiến thức mới.
`; } else { lvlTabs.style.display = 'none'; headerInfo.innerHTML = `Phần 3: Đánh Giá 18 Tiêu Chí Chuyển Tiếp Hòa Nhập (Transition Assessment • 18 – 90 Điểm)
Chấm từ 1 điểm (Chưa sẵn sàng) đến 5 điểm (Độc lập hoàn toàn) cho 18 tiêu chí để xác định xem trẻ nên tiếp tục can thiệp 1-kèm-1 chuyên sâu hay đã đủ điều kiện học nhóm / ra trường mẫu giáo, tiểu học hòa nhập.
`; } } function renderItems() { itemList.innerHTML = ''; if (activeTab === 'milestones') { const mOptions = [ { val: 0, lbl: '0.0đ (Chưa đạt mốc nào)' }, { val: 1.5, lbl: '1.5đ (Đạt mốc 1–2 ★ IEP)' }, { val: 2.5, lbl: '2.5đ (Đạt nửa chừng ★ IEP)' }, { val: 3.5, lbl: '3.5đ (Đạt mốc 3–4 ★ IEP)' }, { val: 5.0, lbl: '5.0đ (Hoàn thành đủ 5 mốc)' } ]; milestoneDomains.forEach(function(d) { if (filterLvl !== 'all' && String(d.lvl) !== filterLvl) return; const uVal = (mScores[d.id] !== undefined) ? mScores[d.id] : 0; let rowCls = 'vb-item'; if (uVal === 5.0) rowCls += ' mastered'; else if (uVal > 0) rowCls += ' emerging'; const lvlBadge = `Level ${d.lvl} (${d.lvl === 1 ? '0–18 tháng' : (d.lvl === 2 ? '18–30 tháng' : '30–48 tháng')})`; const btnsHtml = mOptions.map(opt => { let cls = 'vb-abtn'; if (uVal === opt.val) { if (opt.val === 5.0) cls += ' sel-green'; else if (opt.val > 0) cls += ' sel-amber'; else cls += ' sel-red'; } return ``; }).join(''); const el = document.createElement('div'); el.className = rowCls; el.innerHTML = `• ${d.m2}
• ${d.m3}
'); const barLines = severeBarriers.slice(0, 5).map(b => `• ⚠️ ${b.name}: Mức ${bScores[b.id]}/4đ — Cần can thiệp giảm thiểu.`).join('
'); iepBox.innerHTML = `
${iepLines || '• Hãy chọn mức điểm 1.5 – 3.5đ ở Tab Mốc phát triển để trích xuất mục tiêu IEP.'}
${barLines || '• Không có rào cản nào ở mức nghiêm trọng (≥ 3 điểm).'}
• Hồ sơ Mốc phát triển (Milestones): Đạt ${totalM.toFixed(1)} / 170.0 điểm (Level 1: ${sL1.toFixed(1)}/45đ • Level 2: ${sL2.toFixed(1)}/60đ • Level 3: ${sL3.toFixed(1)}/65đ).
• Hồ sơ Rào cản học tập (Barriers): Tổng điểm rào cản là ${totalB} / 96 điểm ${totalB <= 15 ? '(Rào cản thấp, thuận lợi cho việc tiếp thu kỹ năng mới)' : (totalB <= 35 ? '(Rào cản mức trung bình, cần kiểm soát sự phụ thuộc gợi ý và duy trì động lực MO)' : '(Rào cản cao, bắt buộc phải ưu tiên thiết lập kiểm soát hướng dẫn và giảm hành vi cản trở)')}.
• Đánh giá Chuyển tiếp Hòa nhập (Transition): Đạt ${totalT} / 90 điểm — ${transVerdict} `; updateFloatingFabVisibility(); } function applyPreset(type) { mScores = {}; bScores = {}; tScores = {}; if (type === 'reset') { milestoneDomains.forEach(d => { mScores[d.id] = 0; }); barriersList.forEach(b => { bScores[b.id] = 0; }); transitionList.forEach(t => { tScores[t.id] = 1; }); renderItems(); updateSummary(); return; } if (type === 'lvl1') { // Học sinh Level 1 (~32/170đ, Rào cản ~42/96, Chuyển tiếp ~28/90) milestoneDomains.forEach(d => { if (d.lvl === 1) mScores[d.id] = (d.id % 2 === 0) ? 3.5 : 2.5; else if (d.lvl === 2) mScores[d.id] = (d.id { bScores[b.id] = (idx % 3 === 0) ? 3 : ((idx % 2 === 0) ? 2 : 1); }); transitionList.forEach((t, idx) => { tScores[t.id] = (idx % 2 === 0) ? 2 : 1; }); } else if (type === 'lvl2') { // Học sinh Level 2 (~85/170đ, Rào cản ~22/96, Chuyển tiếp ~52/90) milestoneDomains.forEach(d => { if (d.lvl === 1) mScores[d.id] = 5.0; else if (d.lvl === 2) mScores[d.id] = (d.id % 2 === 0) ? 3.5 : 2.5; else mScores[d.id] = (d.id { bScores[b.id] = (idx % 4 === 0) ? 2 : ((idx % 2 === 0) ? 1 : 0); }); transitionList.forEach((t, idx) => { tScores[t.id] = (idx % 2 === 0) ? 3 : 3; }); } else if (type === 'lvl3') { // Học sinh Level 3 sẵn sàng hòa nhập (~142/170đ, Rào cản ~10/96, Chuyển tiếp ~74/90) milestoneDomains.forEach(d => { if (d.lvl === 1 || d.lvl === 2) mScores[d.id] = 5.0; else mScores[d.id] = (d.id % 2 === 0) ? 3.5 : 2.5; }); barriersList.forEach((b, idx) => { bScores[b.id] = (idx % 3 === 0) ? 1 : 0; }); transitionList.forEach((t, idx) => { tScores[t.id] = (idx % 2 === 0) ? 4 : 4; }); } renderItems(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); vbWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { vbWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 960px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } shadow.querySelectorAll('#tabSwitcher .vb-tab-btn').forEach(function(btn) { btn.onclick = function() { activeTab = this.getAttribute('data-tab'); shadow.querySelectorAll('#tabSwitcher .vb-tab-btn').forEach(b => b.classList.remove('active')); this.classList.add('active'); renderHeader(); renderItems(); }; }); shadow.querySelectorAll('.vb-pbtn').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-preset')); }; }); shadow.querySelectorAll('#lvlTabs .vb-ltab').forEach(function(tab) { tab.onclick = function() { filterLvl = this.getAttribute('data-lvl'); shadow.querySelectorAll('#lvlTabs .vb-ltab').forEach(t => t.classList.remove('active')); this.classList.add('active'); renderItems(); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); renderHeader(); applyPreset('lvl2'); })();
VB-MAPP (Verbal Behavior Milestones Assessment and Placement Program — Chương trình Đánh giá Mốc Phát triển và Xếp lớp Hành vi Ngôn ngữ) là công cụ đánh giá năng lực ngôn ngữ, học tập và xã hội phổ biến nhất thế giới trong lĩnh vực Phân tích Hành vi Ứng dụng (ABA). Công cụ được Tiến sĩ Mark L. Sundberg xuất bản năm 2008, xây dựng trực tiếp trên nền tảng lý thuyết Hành vi Ngôn ngữ (Verbal Behavior – 1957) của B.F. Skinner.
Nếu như PEP-3 là “xương sống” để lên kế hoạch giáo dục theo phương pháp TEACCH, thì VB-MAPP chính là “kim chỉ nam” của mọi trung tâm can thiệp ABA / VB: không dùng để dán nhãn chẩn đoán tự kỷ, mà dùng để đo chính xác trẻ đang ở mốc phát triển ngôn ngữ nào, điều gì đang cản trở việc học của trẻ, và trẻ đã đủ điều kiện để ra học hòa nhập hay chưa.
1. Tóm tắt cốt lõi về cấu trúc 5 Thành phần của VB-MAPP
| Thành phần đánh giá | Quy mô & Thang điểm | Nội dung và Mục đích lâm sàng cốt lõi |
| 1. Đánh giá Mốc phát triển(Milestones Assessment) |
170 mốcchia làm 3 Cấp độ (0 – 170 điểm):
• Level 1 (0–18 tháng): 9 lĩnh vực (45 điểm)
• Level 2 (18–30 tháng): 12 lĩnh vực (60 điểm)
• Level 3 (30–48 tháng): 13 lĩnh vực (65 điểm) |
Đo lường 16 lĩnh vực kỹ năng (Yêu cầu – Mand, Gọi tên – Tact, Nghe hiểu – Listener, Thị giác/Ghép mẫu – VP-MTS, Chơi độc lập, Xã hội, Bắt chước, Nhại âm – Echoic, Hội thoại – Intraverbal, Học nhóm, Ngữ pháp, Đọc, Viết, Toán). Mỗi mốc chấm 0 – 0.5 – 1.0 điểm. |
| 2. Đánh giá Rào cản(Barriers Assessment) |
24 rào cảnhọc tập & ngôn ngữ
Chấm từ |
Tìm ra nguyên nhân khiến trẻ không tiến bộ dù được dạy (VD: Hành vi chống đối, Phụ thuộc gợi ý, Tự kích thích giác quan, Nhại lời máy móc, Thiếu động lực/MO, Giao tiếp mắt kém…). Điểm càng cao rào cản càng nặng. |
| 3. Đánh giá Chuyển tiếp(Transition Assessment) |
18 tiêu chísẵn sàng hòa nhập
Chấm từ |
Xác định xem trẻ đã đủ kỹ năng tự lập, học trong nhóm đông, thích ứng thay đổi để chuyển từ can thiệp 1-kèm-1 (1:1) sang lớp mẫu giáo/tiểu học hòa nhập hay chưa. |
| 4. Phân tích Nhiệm vụ(Task Analysis) | Hàng trăm kỹ năng chi tiết hỗ trợ 170 mốc | Chia nhỏ từng mốc lớn thành các bước nhỏ để giáo viên ABA dạy từng ngày. |
| 5. Xếp lớp & Mục tiêu IEP(Placement & IEP Goals) | Khuyến nghị chương trình can thiệp | Định hướng trọng tâm can thiệp và trích xuất mục tiêu dạy học ưu tiên theo từng Cấp độ (Level 1, 2, 3). |
2. Giải nghĩa nhanh các thuật ngữ “Hành vi Ngôn ngữ” (Skinner’s Verbal Operants) trong VB-MAPP
-
Mand (Yêu cầu): Trẻ dùng lời nói/cử chỉ/hình ảnh để xin thứ trẻ đang muốn (VD: thấy nước và nói “Uống nước”).
-
Tact (Định danh / Gọi tên): Trẻ gọi tên sự vật, hành động, tính chất khi nhìn/nghe/chạm thấy (VD: thấy con chó và nói “Con chó”).
-
Listener Responding (Nghe hiểu): Trẻ thực hiện đúng yêu cầu hoặc chỉ đúng vật khi người khác nói (VD: “Chỉ cho mẹ cái cốc”).
-
Echoic (Bắt chước âm / Nhại âm): Trẻ phát âm lặp lại đúng âm thanh hoặc từ mà người lớn vừa làm mẫu.
-
Intraverbal (Hội thoại / Liên tưởng từ): Trẻ trả lời câu hỏi hoặc điền vào chỗ trống mà không cần nhìn thấy vật thật (VD: “Con mèo kêu thế nào?” “Meo meo”).
-
VP-MTS (Tri giác Thị giác & Ghép mẫu): Ghép vật giống vật, tranh giống tranh, phân loại và xếp hình.
[Lập kế hoạch IEP] ABLLS-R: Hệ thống đánh giá kỹ năng ngôn ngữ và học tập cơ bản cho trẻ từ 2 – 12 tuổi
(function() { const host = document.getElementById('abllsr-wp-host'); if (!host) return; const placeholder = document.createComment('abllsr-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // 25 Lĩnh vực chuẩn của ABLLS-R (Từ A đến Z, không có chữ O) chia theo 4 Nhóm lớn // cat: 'basic' (Học tập cơ bản A-P), 'acad' (Học thuật Q-T), 'self' (Tự phục vụ U-X), 'motor' (Vận động Y-Z) const domains = [ // NHÓM 1: KỸ NĂNG HỌC TẬP CƠ BẢN (BASIC LEARNER SKILLS • A -> P) { id: 1, code: 'A', cat: 'basic', itemsCount: 19, name: 'A. Hợp tác & Hiệu quả phần thưởng (Cooperation & Reinforcer Effectiveness)', step1: 'A1–A5: Cầm lấy phần thưởng khi đưa, nhìn vào đồ vật người dạy giơ lên và phản ứng nhanh với 1–2 yêu cầu dễ.', step2: 'A6–A12: Làm việc vì nhiều loại phần thưởng khác nhau, chờ đợi không chạm vào đồ vật khi chưa cho phép.', step3: 'A13–A19: Hợp tác làm việc liên tục qua nhiều nhiệm vụ để nhận phần thưởng trì hoãn (bảng quy đổi sao/token) và lời khen xã hội.' }, { id: 2, code: 'B', cat: 'basic', itemsCount: 27, name: 'B. Biểu diễn Thị giác / Ghép mẫu (Visual Performance)', step1: 'B1–B8: Ghép đồ vật giống hệt đồ vật (3D–3D), tranh giống tranh (2D–2D) và xếp chồng khối gỗ.', step2: 'B9–B18: Thiết kế khối hình theo thẻ mẫu, ghép hình cắt rời (puzzle) và ghép nối các vật có liên quan chức năng.', step3: 'B19–B27: Phân loại đồ vật theo nhóm danh mục không cần mẫu, nối tiếp chuỗi quy luật (A-B-A-B), mê cung và sắp xếp chuỗi tranh theo trình tự.' }, { id: 3, code: 'C', cat: 'basic', itemsCount: 57, name: 'C. Ngôn ngữ Tiếp nhận / Nghe hiểu (Receptive Language)', step1: 'C1–C18: Quay đầu khi gọi tên, làm theo mệnh lệnh vận động đơn giản và chỉ đúng bộ phận cơ thể / đồ vật quen thuộc.', step2: 'C19–C39: Chọn đúng trên 100 tranh đồ vật/hành động, chọn vật khi nghe mô tả chức năng (dùng để làm gì), đặc điểm và phân loại.', step3: 'C40–C57: Chọn đúng 2–3 vật theo thứ tự, phân biệt giới từ (trên/dưới/cạnh), đại từ, tính từ đối lập và cảm xúc.' }, { id: 4, code: 'D', cat: 'basic', itemsCount: 27, name: 'D. Bắt chước Vận động (Motor Imitation)', step1: 'D1–D9: Bắt chước thao tác với đồ vật và bắt chước vận động thô của tay, chân, đầu khi có lệnh "Làm giống cô".', step2: 'D10–D18: Bắt chước vận động tinh bàn tay/ngón tay, bắt chước cử động miệng – mặt và bắt chước tốc độ/cường độ động tác.', step3: 'D19–D27: Bắt chước chuỗi 2–3 động tác liên tiếp, bắt chước theo bạn cùng lớp và bắt chước trì hoãn (nhớ làm lại sau vài phút).' }, { id: 5, code: 'E', cat: 'basic', itemsCount: 20, name: 'E. Bắt chước Âm / Nhại âm (Vocal Imitation - Echoic)', step1: 'E1–E6: Bắt chước các âm thanh nguyên âm, phụ âm cơ bản và âm thanh con vật/phương tiện khi được làm mẫu.', step2: 'E7–E14: Lặp lại rõ ràng các từ đơn, kết hợp phụ âm – nguyên âm và cụm từ ngắn 2–3 từ.', step3: 'E15–E20: Bắt chước chính xác các câu dài kèm đúng tốc độ (nhanh/chậm), âm lượng (to/nhỏ) và ngữ điệu cao độ.' }, { id: 6, code: 'F', cat: 'basic', itemsCount: 29, name: 'F. Yêu cầu (Requests - Mand)', step1: 'F1–F9: Yêu cầu bằng cử chỉ/từ đơn khi có vật yêu thích trước mặt và khi không có vật trước mặt (tự phát trên 10 yêu cầu/ngày).', step2: 'F10–F19: Yêu cầu người khác thực hiện hành động, yêu cầu sự giúp đỡ, xin đồ dùng còn thiếu để hoàn thành công việc.', step3: 'F20–F29: Yêu cầu dùng tính từ/giới từ/trạng từ và chủ động đặt câu hỏi "Cái gì?", "Ở đâu?", "Ai?", "Tại sao?" để lấy thông tin.' }, { id: 7, code: 'G', cat: 'basic', itemsCount: 47, name: 'G. Định danh / Gọi tên (Labeling - Tact)', step1: 'G1–G14: Gọi tên người thân, đồ vật quen thuộc, bộ phận cơ thể và các hành động phổ biến qua vật thật/tranh ảnh.', step2: 'G15–G31: Gọi tên kết hợp Danh từ + Động từ, gọi tên tính từ (màu sắc, hình khối, kích thước), chức năng và phân loại của vật.', step3: 'G32–G47: Gọi tên giới từ, đại từ, nghề nghiệp, cảm xúc nét mặt người khác và gọi tên các vấn đề/sự cố bất thường xung quanh.' }, { id: 8, code: 'H', cat: 'basic', itemsCount: 49, name: 'H. Hội thoại & Liên tưởng từ (Intraverbals)', step1: 'H1–H14: Điền từ vào bài hát, tạo tiếng kêu con vật, điền từ vào cụm từ quen thuộc và trả lời thông tin cá nhân (tên, tuổi).', step2: 'H15–H34: Trả lời các câu hỏi "Cái gì?", "Ở đâu?", "Ai?" về chức năng, đặc điểm và kể tên các vật trong một nhóm danh mục.', step3: 'H35–H49: Trả lời câu hỏi "Tại sao?", "Khi nào?", "Làm thế nào?", kể lại trình tự một sự việc và duy trì hội thoại nhiều lượt.' }, { id: 9, code: 'I', cat: 'basic', itemsCount: 9, name: 'I. Phát âm Tự phát (Spontaneous Vocalizations)', step1: 'I1–I3: Tự phát ra các âm thanh lời nói có ngữ điệu và tự nói các từ đơn khi chơi đùa.', step2: 'I4–I6: Tự hát theo bài hát và tự nói các cụm từ có nghĩa trong sinh hoạt mà không cần ai hỏi.', step3: 'I7–I9: Chủ động bắt chuyện, bình luận tự phát về sự vật xung quanh và trò chuyện tự nhiên với mọi người.' }, { id: 10, code: 'J', cat: 'basic', itemsCount: 20, name: 'J. Cú pháp và Ngữ pháp (Syntax and Grammar)', step1: 'J1–J6: Nói câu ngắn 2–4 từ theo đúng trật tự từ ngữ cơ bản trong tiếng Việt.', step2: 'J7–J13: Sử dụng đúng các từ chỉ số lượng, từ sở hữu ("của con"), từ phủ định ("không phải") và giới từ vị trí.', step3: 'J14–J20: Sử dụng chuẩn xác các từ chỉ thời gian quá khứ ("đã"), hiện tại ("đang"), tương lai ("sẽ") và các liên từ nối câu.' }, { id: 11, code: 'K', cat: 'basic', itemsCount: 15, name: 'K. Kỹ năng Chơi và Giải trí (Play and Leisure)', step1: 'K1–K5: Khám phá đồ chơi tích cực và chơi độc lập với đồ chơi nhân quả/lắp ghép trong 5–10 phút.', step2: 'K6–K10: Chơi đúng chức năng với bộ đồ chơi theo chủ đề (nhà bếp, đường đua xe) và chơi giả vờ đóng vai đơn giản.', step3: 'K11–K15: Chơi vận động với bóng, chơi trò chơi bàn cờ (board games) và chơi đóng vai sáng tạo cùng bạn đồng trang lứa.' }, { id: 12, code: 'L', cat: 'basic', itemsCount: 34, name: 'L. Tương tác Xã hội (Social Interaction)', step1: 'L1–L11: Giao tiếp mắt thích hợp, ở gần bạn cùng tuổi mà không có hành vi tiêu cực, nhận đồ từ bạn và đáp lại lời chào.', step2: 'L12–L23: Chủ động chia sẻ đồ vật với bạn, rủ bạn cùng chơi, chờ đến lượt và hỏi mượn đồ chơi lịch sự.', step3: 'L24–L34: Nhận ra khi bạn buồn/vui, điều chỉnh câu chuyện theo sự quan tâm của người nghe và duy trì tình bạn.' }, { id: 13, code: 'M', cat: 'basic', itemsCount: 12, name: 'M. Hướng dẫn trong Nhóm (Group Instruction)', step1: 'M1–M4: Ngồi yên tĩnh trong nhóm nhỏ (3–5 học sinh) và chú ý nhìn lên giáo viên cùng học liệu trên bảng.', step2: 'M5–M8: Thực hiện đúng các chỉ dẫn chung của giáo viên đưa ra cho cả nhóm và giơ tay xin phát biểu.', step3: 'M9–M12: Trả lời câu hỏi theo lượt trong nhóm lớn và tự tiếp thu được kiến thức mới qua bài giảng chung của lớp.' }, { id: 14, code: 'N', cat: 'basic', itemsCount: 10, name: 'N. Theo dõi Nội quy Lớp học (Classroom Routines)', step1: 'N1–N3: Tự cất cặp sách, áo khoác đúng nơi quy định và xếp hàng ngay ngắn khi được gọi.', step2: 'N4–N7: Tự lấy/cất đồ dùng học tập, tự chuyển tiếp giữa các góc hoạt động trong lớp mà không cần dắt tay.', step3: 'N8–N10: Làm việc độc lập tại bàn học trong 15–20 phút và kiên nhẫn chờ đợi khi giáo viên đang bận hỗ trợ bạn khác.' }, { id: 15, code: 'P', cat: 'basic', itemsCount: 6, name: 'P. Khái quát hóa Kỹ năng (Generalized Responding)', step1: 'P1–P2: Sử dụng được từ vựng và kỹ năng đã học với nhiều bộ tranh ảnh/đồ vật khác nhau.', step2: 'P3–P4: Thực hiện được kỹ năng đã học với nhiều giáo viên, người thân khác nhau và trong nhiều phòng học khác nhau.', step3: 'P5–P6: Tự động linh hoạt điều chỉnh cách phản ứng và vận dụng kỹ năng vào các tình huống tự nhiên ngoài cộng đồng.' }, // NHÓM 2: KỸ NĂNG HỌC THUẬT (ACADEMIC SKILLS • Q, R, S, T) { id: 16, code: 'Q', cat: 'acad', itemsCount: 17, name: 'Q. Kỹ năng Đọc (Reading)', step1: 'Q1–Q5: Nhận diện và gọi tên toàn bộ bảng chữ cái (chữ hoa & chữ thường) cùng âm của các chữ cái.', step2: 'Q6–Q12: Ghép từ với tranh tương ứng, đánh vần đọc trơn được các từ đơn và cụm từ ngắn.', step3: 'Q13–Q17: Đọc to đoạn văn ngắn và trả lời đúng các câu hỏi đọc hiểu về nội dung vừa đọc.' }, { id: 17, code: 'R', cat: 'acad', itemsCount: 29, name: 'R. Kỹ năng Toán học (Math)', step1: 'R1–R9: Đếm số thứ tự, đếm tương ứng 1–1 để lấy đúng số lượng đồ vật (1–20) và nhận diện chữ số.', step2: 'R10–R20: Hiểu các khái niệm so sánh (nhiều hơn, ít hơn, bằng nhau, thêm vào) và cộng trừ trong phạm vi 10.', step3: 'R21–R29: Xem đồng hồ chỉ giờ, nhận biết mệnh giá tiền tệ, đo lường và đếm nhảy bước (2, 5, 10).' }, { id: 18, code: 'S', cat: 'acad', itemsCount: 10, name: 'S. Kỹ năng Viết (Writing)', step1: 'S1–S3: Cầm bút đúng tư thế, gạch nét, tô màu gọn trong hình và đồ theo các nét thẳng/cong.', step2: 'S4–S7: Sao chép các hình học cơ bản, đồ chữ và tự viết tên của mình.', step3: 'S8–S10: Tự viết chính xác tất cả các chữ cái, chữ số và chép lại các từ/câu ngắn trên dòng kẻ.' }, { id: 19, code: 'T', cat: 'acad', itemsCount: 7, name: 'T. Đánh vần / Chính tả (Spelling)', step1: 'T1–T2: Ghép các thẻ chữ cái rời tạo thành tên của mình hoặc từ đơn có nhìn mẫu.', step2: 'T3–T5: Đánh vần bằng lời hoặc xếp chữ cái tạo thành từ đơn 3–4 chữ cái không cần nhìn mẫu.', step3: 'T6–T7: Viết chính tả đúng các từ vựng quen thuộc khi nghe đọc.' }, // NHÓM 3: KỸ NĂNG TỰ PHỤC VỤ CÁ NHÂN (SELF-HELP SKILLS • U, V, W, X) { id: 20, code: 'U', cat: 'self', itemsCount: 15, name: 'U. Mặc và Cởi quần áo (Dressing)', step1: 'U1–U5: Tự cởi tất, giày, quần thun, áo phông và biết phối hợp đưa tay/chân khi mặc đồ.', step2: 'U6–U10: Tự mặc quần, mặc áo phông/áo khoác, đi tất và mang giày đúng chân (trái/phải).', step3: 'U11–U15: Tự kéo khóa áo khoác, cài/mở cúc áo, cài khóa thắt lưng và buộc dây giày.' }, { id: 21, code: 'V', cat: 'self', itemsCount: 10, name: 'V. Kỹ năng Ăn uống (Eating)', step1: 'V1–V3: Tự ăn bằng tay, uống nước bằng cốc không đổ và tự dùng thìa/nĩa xúc thức ăn gọn gàng.', step2: 'V4–V7: Ngồi yên tại bàn ăn suốt bữa, ăn đa dạng nhóm thực phẩm, tự rót nước từ bình vào cốc.', step3: 'V8–V10: Tự lấy khay thức ăn, dùng dao phết bơ/cắt thức ăn mềm và tự dọn bát đĩa vào bồn sau khi ăn.' }, { id: 22, code: 'W', cat: 'self', itemsCount: 7, name: 'W. Vệ sinh Cá nhân & Chải chuốt (Grooming)', step1: 'W1–W3: Tự rửa tay bằng xà phòng, lau khô tay và lau mặt bằng khăn.', step2: 'W4–W5: Tự đánh răng đúng cách và tự chải đầu gọn gàng.', step3: 'W6–W7: Tự xì mũi bằng khăn giấy sạch sẽ và tự tắm rửa cơ thể cơ bản.' }, { id: 23, code: 'X', cat: 'self', itemsCount: 10, name: 'X. Kỹ năng Đi vệ sinh (Toileting)', step1: 'X1–X4: Đi tiểu vào bồn cầu khi được dẫn đi theo giờ và giữ quần khô ráo trong ngày.', step2: 'X5–X7: Tự chủ động báo hoặc tự đi vào nhà vệ sinh khi có nhu cầu (cả tiểu tiện và đại tiện).', step3: 'X8–X10: Tự hoàn tất toàn bộ quy trình đi vệ sinh: tự tụt/kéo quần, lau chùi vệ sinh sạch sẽ, xả nước và rửa tay.' }, // NHÓM 4: KỸ NĂNG VẬN ĐỘNG (MOTOR SKILLS • Y, Z) { id: 24, code: 'Y', cat: 'motor', itemsCount: 30, name: 'Y. Vận động Thô (Gross Motor)', step1: 'Y1–Y10: Đi, chạy vững vàng, bước lên xuống cầu thang luân phiên, nhảy chụm hai chân và lăn/đá bóng.', step2: 'Y11–Y20: Đứng một chân giữ thăng bằng, bắt bóng bằng hai tay, ném bóng trúng đích và đạp xe 3 bánh.', step3: 'Y21–Y30: Nhảy lò cò 1 chân, nhảy dây, đập bóng nảy liên tục, đu xà và đi xe đạp 2 bánh.' }, { id: 25, code: 'Z', cat: 'motor', itemsCount: 28, name: 'Z. Vận động Tinh (Fine Motor)', step1: 'Z1–Z9: Thả xu vào khe hẹp, nhặt vật nhỏ bằng ngón cái – trỏ, lật từng trang sách và xếp tháp khối gỗ.', step2: 'Z10–Z19: Xâu hạt nhỏ qua dây, vặn mở nắp lọ, kẹp kẹp quần áo và dùng kéo cắt đứt mảnh giấy.', step3: 'Z20–Z28: Cắt kéo chính xác theo đường cong/hình vẽ, gấp giấy theo nếp, dán keo gọn gàng và thao tác ngón tay tinh xảo.' } ]; // scores[id] lưu mức thành thạo trung bình của lĩnh vực đó trên thang 0..4 của ABLLS-R: // 0 (0% - Chưa bắt đầu), 1 (25% - Mức sơ khởi ★ IEP), 2 (50% - Đạt nửa chừng ★ IEP), 3 (75% - Gần hoàn thiện ★ IEP), 4 (100% - Đạt chuẩn Mastered) let scores = {}; let filterCat = 'all'; // 'all' | 'basic' | 'acad' | 'self' | 'motor' let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .ab-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .ab-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .ab-inner { padding: 24px; max-width: 960px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .ab-wrap.is-fullscreen .ab-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .ab-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(14, 116, 144, 0.45), 0 0 0 0 rgba(14, 116, 144, 0.4); } 70% { box-shadow: 0 6px 20px rgba(14, 116, 144, 0.45), 0 0 0 10px rgba(14, 116, 144, 0); } 100% { box-shadow: 0 6px 20px rgba(14, 116, 144, 0.45), 0 0 0 0 rgba(14, 116, 144, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #0e7490 0%, #0891b2 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(14, 116, 144, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Header */ .ab-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .ab-header-text { flex: 1 1 260px; } .ab-title { font-size: 21px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .ab-desc { font-size: 14px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #ecfeff; color: #0e7490; border: 1px solid #a5f3fc; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #0891b2; color: #ffffff; border-color: #0891b2; } /* Controls */ .ab-controls { display: flex; flex-direction: column; gap: 10px; margin-bottom: 18px; } .ab-presets { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; } .ab-preset-lbl { font-size: 12.5px; font-weight: 700; color: #475569; margin-right: 4px; } .ab-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; touch-action: manipulation; } .ab-pbtn:hover { background: #f1f5f9; } .ab-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } .ab-cat-tabs { display: flex; flex-wrap: wrap; gap: 6px; } .ab-ctab { padding: 6px 12px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .ab-ctab.active { background: #0e7490; color: #ffffff; border-color: #0e7490; } /* Sticky Dashboard */ .ab-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 18px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .ab-wrap.is-fullscreen .ab-dash { top: 58px; } .ab-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .ab-score-big { font-size: 22px; font-weight: 800; line-height: 1.15; } .ab-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .ab-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .ab-pillars { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; font-size: 12px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .ab-pillar-box { background: #1e293b; padding: 7px 10px; border-radius: 8px; } .ab-pillar-val { font-weight: 700; color: #ffffff; font-size: 13.5px; display: block; margin-top: 2px; } /* Biểu đồ Lưới Kỹ năng A-Z (Skill Tracking Grid) */ .ab-grid-card { background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 12px; padding: 14px 16px; margin-bottom: 18px; } .ab-grid-title { font-size: 13.5px; font-weight: 800; color: #0f172a; margin-bottom: 10px; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 8px; } .ab-tower-wrap { display: grid; grid-template-columns: repeat(25, 1fr); gap: 4px; align-items: end; } .ab-tower-col { display: flex; flex-direction: column; align-items: center; gap: 3px; } .ab-tower-cells { display: flex; flex-direction: column-reverse; gap: 2px; width: 100%; } .ab-cell { height: 11px; width: 100%; background: #e2e8f0; border-radius: 2px; transition: background 0.2s ease; } .ab-cell.filled-basic { background: #0284c7; } .ab-cell.filled-acad { background: #7c3aed; } .ab-cell.filled-self { background: #10b981; } .ab-cell.filled-motor { background: #f59e0b; } .ab-tower-lbl { font-size: 11px; font-weight: 800; color: #334155; margin-top: 2px; } /* Danh sách 25 Lĩnh vực */ .ab-item { border: 1px solid #e2e8f0; border-radius: 12px; padding: 14px 16px; margin-bottom: 12px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 8px; } .ab-item.mastered { border-color: #a7f3d0; background: #f0fdf4; } .ab-item.emerging { border-color: #fde68a; background: #fffbeb; } .ab-item-title { font-size: 15px; font-weight: 800; color: #0f172a; } .ab-item-desc { font-size: 13.2px; color: #334155; line-height: 1.5; } .ab-tags { display: flex; flex-wrap: wrap; gap: 6px; } .ab-tag { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .ab-tag.cat-basic { background: #e0f2fe; color: #0369a1; } .ab-tag.cat-acad { background: #f3e8ff; color: #7e22ce; } .ab-tag.cat-self { background: #dcfce7; color: #15803d; } .ab-tag.cat-motor { background: #fef3c7; color: #b45309; } .ab-ans-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; margin-top: 4px; } .ab-abtn { padding: 8px 6px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 700; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .ab-abtn:hover { border-color: #64748b; } .ab-abtn.sel-0 { background: #ef4444; border-color: #ef4444; color: #ffffff; } .ab-abtn.sel-1, .ab-abtn.sel-2 { background: #f59e0b; border-color: #f59e0b; color: #ffffff; } .ab-abtn.sel-3 { background: #0284c7; border-color: #0284c7; color: #ffffff; } .ab-abtn.sel-4 { background: #10b981; border-color: #10b981; color: #ffffff; } /* Hộp trích xuất IEP & Kết luận */ .ab-iep-box { margin-top: 18px; padding: 16px 18px; border-radius: 12px; background: #fffbeb; border: 1px solid #fde68a; border-left: 5px solid #f59e0b; font-size: 13.8px; color: #78350f; } .ab-iep-title { font-size: 15px; font-weight: 800; color: #92400e; margin-bottom: 8px; } .ab-result-box { margin-top: 16px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #0e7490; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 720px) { .ab-inner { padding: 14px; } .ab-title { font-size: 18px; } .ab-pillars { grid-template-columns: 1fr 1fr; } .ab-ans-grid { grid-template-columns: 1fr 1fr; } .ab-tower-wrap { grid-template-columns: repeat(13, 1fr); row-gap: 10px; } .ab-pbtn.reset { margin-left: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
Hệ Thống Đánh Giá Kỹ Năng Ngôn Ngữ & Học Tập Cơ Bản ABLLS-R (25 Lĩnh Vực A – Z • 544 Kỹ Năng)
Công cụ chuẩn hóa của Tiến sĩ James W. Partington (2006) phân tích 544 kỹ năng qua 25 bảng chữ cái (từ A đến Z). Hãy chấm mức độ thành thạo trung bình từ Mức 0 (0%) đến Mức 4 (100% - Độc lập hoàn toàn) cho từng lĩnh vực để vẽ Biểu đồ Lưới Kỹ năng (Skill Tracking Grid) và tự động trích xuất Mục tiêu Can thiệp IEP.
• Giai đoạn giữa (Mức 2–3): ${d.step2}
• Giai đoạn hoàn thiện (Mức 4): ${d.step3}
'); iepBox.innerHTML = `
• 1. Trụ cột Kỹ năng Học tập Cơ bản (A – P): Đạt ${pctBasic}%. ${pctBasic < 40 ? 'Cần ưu tiên tuyệt đối cho 6 lĩnh vực nền tảng: Hợp tác (A), Ghép mẫu thị giác (B), Nghe hiểu (C), Bắt chước vận động (D), Bắt chước âm (E) và Yêu cầu Mand (F).' : 'Học sinh đã có nền tảng học tập tốt, cần đẩy mạnh Hội thoại Intraverbal (H), Tương tác xã hội (L) và Học trong nhóm (M).'}
• 2. Trụ cột Kỹ năng Học thuật (Q – T): Đạt ${pctAcad}% (Đọc, Toán, Viết, Đánh vần).
• 3. Trụ cột Kỹ năng Tự phục vụ (U – X): Đạt ${pctSelf}% (Mặc đồ, Ăn uống, Chải chuốt, Đi vệ sinh).
• 4. Trụ cột Kỹ năng Vận động (Y – Z): Đạt ${pctMotor}% (Vận động Thô & Vận động Tinh). `; updateFloatingFabVisibility(); } function applyPreset(type) { scores = {}; if (type === 'reset') { domains.forEach(d => { scores[d.id] = 0; }); renderTowerGrid(); renderItems(); updateSummary(); return; } if (type === 'early') { // Người học sơ khởi (~25%) domains.forEach(d => { if (['A', 'B', 'C', 'D', 'F', 'Y', 'Z'].includes(d.code)) scores[d.id] = 2; else if (['E', 'G', 'K', 'U', 'V', 'W', 'X'].includes(d.code)) scores[d.id] = 1; else scores[d.id] = 0; }); } else if (type === 'inter') { // Người học trung cấp (~56%) domains.forEach(d => { if (['A', 'B', 'D', 'Y', 'Z', 'U', 'V'].includes(d.code)) scores[d.id] = 3; else if (['C', 'E', 'F', 'G', 'K', 'L', 'M', 'N', 'W', 'X'].includes(d.code)) scores[d.id] = 2; else scores[d.id] = 1; }); } else if (type === 'adv') { // Người học nâng cao (~82%) domains.forEach(d => { if (d.cat === 'basic' || d.cat === 'self' || d.cat === 'motor') { scores[d.id] = (d.id % 2 === 0) ? 4 : 3; } else { scores[d.id] = 3; } }); } renderTowerGrid(); renderItems(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); abWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { abWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 960px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } shadow.querySelectorAll('.ab-pbtn').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-preset')); }; }); shadow.querySelectorAll('#catTabs .ab-ctab').forEach(function(tab) { tab.onclick = function() { filterCat = this.getAttribute('data-cat'); shadow.querySelectorAll('#catTabs .ab-ctab').forEach(t => t.classList.remove('active')); this.classList.add('active'); renderItems(); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); applyPreset('inter'); })();
ABLLS-R (Assessment of Basic Language and Learning Skills – Revised — Đánh giá các Kỹ năng Ngôn ngữ và Học tập Cơ bản – Bản Hiệu đính) là công cụ đánh giá, hướng dẫn chương trình giảng dạy và hệ thống theo dõi kỹ năng toàn diện do Tiến sĩ James W. Partington xuất bản năm 2006 (phiên bản gốc năm 1998 viết cùng Tiến sĩ Mark Sundberg).
Trong can thiệp ABA (Phân tích Hành vi Ứng dụng), ABLLS-R và VB-MAPP là hai công cụ trụ cột luôn đi song hành với nhau:
-
Nếu VB-MAPP đối chiếu theo các mốc tuổi phát triển chuẩn (0 – 48 tháng), thì ABLLS-R là một hệ thống Phân tích Nhiệm vụ (Task Analysis) cực kỳ chi tiết gồm 544 kỹ năng nối tiếp nhau từ A đến Z (không giới hạn độ tuổi sinh học, miễn là trẻ cần học các kỹ năng tương đương một đứa trẻ phát triển điển hình trước khi vào lớp 1,thường áp dụng từ 2 đến 12+ tuổi).
-
Đặc biệt, ngoài ngôn ngữ và học tập, ABLLS-R đánh giá rất sâu mảng Tự phục vụ cá nhân (Ăn mặc, Ăn uống, Chải chuốt, Đi vệ sinh) và Vận động (Thô & Tinh) — những phần mà VB-MAPP không tách thành bảng chấm riêng.
1. Cấu trúc 25 Lĩnh vực (Từ A đến Z) chia làm 4 Nhóm lớn của ABLLS-R
Toàn bộ 544 kỹ năng trong ABLLS-R được chia thành 25 bảng chữ cái (từ A đến Z, không có chữ O) và gom vào 4 Trụ cột lớn:
| Nhóm kỹ năng lớn | Ký hiệu Lĩnh vực (Domains) | Tổng số mục | Nội dung đánh giá trọng tâm |
| 1. Kỹ năng Học tập Cơ bản (Basic Learner Skills) | A P (15 lĩnh vực) | 353 kỹ năng |
• A: Hợp tác & Hiệu quả phần thưởng (19) • B: Thị giác / Ghép mẫu (27) • C: Nghe hiểu (57)
• D: Bắt chước vận động (27) • E: Bắt chước âm (20) • F: Yêu cầu – Mand (29)
• G: Định danh / Gọi tên – Tact (47) • H: Hội thoại – Intraverbal (49) • I: Phát âm tự phát (9)
• J: Cú pháp & Ngữ pháp (20) • K: Chơi & Giải trí (15) • L: Tương tác xã hội (34)
• M: Học trong nhóm (12) • N: Theo dõi nội quy lớp học (10) • P: Khái quát hóa (6). |
| 2. Kỹ năng Học thuật(Academic Skills) | Q, R, S, T (4 lĩnh vực) | 84 kỹ năng |
• Q: Kỹ năng Đọc (17) • R: Kỹ năng Toán học (29)
• S: Kỹ năng Viết (10) • T: Đánh vần / Chính tả (7). |
| 3. Kỹ năng Tự phục vụ(Self-Help Skills) | U, V, W, X (4 lĩnh vực) | 59 kỹ năng |
• U: Mặc và cởi quần áo (15) • V: Tự ăn uống (10)
• W: Vệ sinh cá nhân / Chải chuốt (7) • X: Kỹ năng đi vệ sinh – Toileting (10). |
| 4. Kỹ năng Vận động(Motor Skills) | Y, Z (2 lĩnh vực) | 58 kỹ năng | • Y: Vận động thô – Gross Motor (30) • Z: Vận động tinh – Fine Motor (28). |
2. Quy tắc chấm điểm & Biểu đồ Lưới theo dõi (Skill Tracking Grid)
-
Các nhiệm vụ phức tạp trong ABLLS-R được chấm trên thang 0 – 4 điểm (các nhiệm vụ đơn giản hơn chấm thang 0 – 2 điểm):
-
0 điểm: Chưa thực hiện được kỹ năng dù có hỗ trợ. -
1 điểm: Đạt khoảng 25% tiêu chí hoặc cần hỗ trợ thể chất/làm mẫu nhiều. -
2 điểm: Đạt khoảng 50% tiêu chí hoặc làm được khi có gợi ý lời nói/cử chỉ. -
3 điểm: Đạt khoảng 75% tiêu chí, gần độc lập nhưng chưa khái quát hóa rộng. -
4 điểm(Đạt chuẩn tối đa – Mastered): Hoàn toàn độc lập, đúng tiêu chí về tốc độ, số lượng và khái quát hóa sang nhiều môi trường.
-
-
Nguyên tắc chọn Mục tiêu IEP từ ABLLS-R: Giáo viên ABA và phụ huynh sẽ chọn khoảng 15 – 30 kỹ năng đang đạt mức trung gian (1 – 3 điểm) hoặc nằm ngay sát trên các ô đã tô kín trên Biểu đồ Lưới để làm mục tiêu dạy học trong kỳ tiếp theo.
[Lập kế hoạch IEP] AFLS: Công cụ đánh giá kỹ năng sống độc lập, tự phục vụ và hòa nhập cộng đồng (Từ 2 tuổi)
(function() { const host = document.getElementById('afls-wp-host'); if (!host) return; const placeholder = document.createComment('afls-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // Cấu hình 6 Mô-đun Đánh giá (Protocols) chuẩn của AFLS (Partington & Mueller, 2012) const moduleConfigs = { basic: { code: 'basic', short: 'BLS', color: '#2563eb', tabTitle: '🪥 1. Sống Cơ bản (Basic)', tabSub: '8 Lĩnh vực • Tự chăm sóc nền tảng', fullTitle: 'Mô-đun 1: Kỹ Năng Sống Cơ Bản — AFLS Basic Living Skills Protocol (8 Lĩnh Vực)', desc: 'Đánh giá các kỹ năng tự chăm sóc, vệ sinh, an toàn và giao tiếp thiết yếu nhất hàng ngày. Đây là mô-đun ưu tiên số 1 cho mọi lứa tuổi từ 2 tuổi trở lên.' }, home: { code: 'home', short: 'HMS', color: '#0d9488', tabTitle: '🏠 2. Tại Gia đình (Home)', tabSub: '7 Lĩnh vực • Việc nhà, Giặt ủi & Nấu ăn', fullTitle: 'Mô-đun 2: Kỹ Năng Tại Gia Đình — AFLS Home Skills Protocol (7 Lĩnh Vực)', desc: 'Đánh giá khả năng tham gia sinh hoạt gia đình: ăn uống lịch sự, rửa bát, giặt gấp quần áo, dọn dẹp phòng ốc, giải trí lành mạnh và tự chế biến món ăn trong bếp.' }, comm: { code: 'comm', short: 'CPS', color: '#7c3aed', tabTitle: '🛒 3. Cộng đồng (Community)', tabSub: '7 Lĩnh vực • Đi đường, Mua sắm & Tiền tệ', fullTitle: 'Mô-đun 3: Kỹ Năng Tham Gia Cộng Đồng — AFLS Community Participation Protocol (7 Lĩnh Vực)', desc: 'Đánh giá năng lực định hướng ngoài xã hội: đi bộ qua đường an toàn, đi siêu thị mua sắm, ăn uống tại nhà hàng, quản lý tiền mặt/thẻ, dùng điện thoại và quản lý thời gian.' }, school: { code: 'school', short: 'SCS', color: '#f59e0b', tabTitle: '🏫 4. Học đường (School)', tabSub: '7 Lĩnh vực • Lớp học, Bạn bè & Công nghệ', fullTitle: 'Mô-đun 4: Kỹ Năng Học Đường — AFLS School Skills Protocol (7 Lĩnh Vực)', desc: 'Đánh giá các kỹ năng thực tiễn để học sinh tự xoay xở trong trường học (từ Tiểu học đến Trung học): tuân thủ nội quy, tự ăn ở căng-tin, dùng máy tính và vận dụng kiến thức vào thực tế.' }, voc: { code: 'voc', short: 'VOC', color: '#ea580c', tabTitle: '💼 5. Hướng nghiệp (Vocational)', tabSub: '7 Lĩnh vực • Tìm việc, Kỹ năng nghề & An toàn', fullTitle: 'Mô-đun 5: Kỹ Năng Hướng Nghiệp & Việc Làm — AFLS Vocational Skills Protocol (7 Lĩnh Vực)', desc: 'Đánh giá sự sẵn sàng lao động cho thanh thiếu niên (≥ 14 tuổi) và người trưởng thành: chuẩn bị hồ sơ, phỏng vấn, tác phong làm việc, giao tiếp đồng nghiệp và kỹ năng nghề thực hành.' }, indep: { code: 'indep', short: 'ILS', color: '#dc2626', tabTitle: '🔑 6. Sống Độc lập (Independent)', tabSub: '6 Lĩnh vực • Tài chính, Y tế & Tự quyết', fullTitle: 'Mô-đun 6: Kỹ Năng Sống Độc Lập — AFLS Independent Living Skills Protocol (6 Lĩnh Vực)', desc: 'Đánh giá các kỹ năng sống tự chủ cấp cao của người trưởng thành: quản lý chi tiêu/hóa đơn, tự chăm sóc y tế/uống thuốc, đi lại bằng phương tiện công cộng và tự bảo vệ quyền lợi bản thân.' } }; // Đầy đủ 42 Lĩnh vực chức năng thuộc 6 Mô-đun AFLS (Chấm thang 0 -> 4 điểm chuẩn Partington) const domains = [ // ===================================================== // MÔ-ĐUN 1: KỸ NĂNG SỐNG CƠ BẢN (BASIC LIVING SKILLS • 8 LĨNH VỰC) // ===================================================== { id: 1, mod: 'basic', code: 'BLS-1', name: '1. Tự Quản lý Hành vi & Cảm xúc (Self-Management)', step1: 'Bình tĩnh khi có thay đổi nhỏ trong sinh hoạt và hợp tác dừng hành vi khi được nhắc.', step2: 'Biết chờ đợi 5–10 phút khi chưa được đáp ứng ngay và tự dùng lời/ký hiệu để xin nghỉ giải lao.', step3: 'Tự kiểm soát cảm xúc không ăn vạ/tự gây hại và tự áp dụng chiến lược thư giãn khi căng thẳng ngoài cộng đồng.' }, { id: 2, mod: 'basic', code: 'BLS-2', name: '2. Giao tiếp Chức năng Cơ bản (Basic Communication)', step1: 'Biết yêu cầu đồ ăn, thức uống, đi vệ sinh và sự giúp đỡ bằng lời nói, cử chỉ hoặc thiết bị AAC/PECS.', step2: 'Trả lời đúng thông tin cá nhân thiết yếu (Họ tên, Tuổi, Tên bố mẹ, Số điện thoại/Địa chỉ khi đi lạc).', step3: 'Truyền đạt rõ ràng khi cơ thể bị đau/ốm và chủ động thông báo các sự cố khẩn cấp cho người lớn.' }, { id: 3, mod: 'basic', code: 'BLS-3', name: '3. Mặc và Cởi Quần áo (Dressing)', step1: 'Tự cởi và mặc quần thun, áo phông, tất và giày dán Velcro.', step2: 'Mặc quần áo đúng mặt trước/sau, mặt phải/trái, đi giày đúng chân trái/phải và tự cài cúc áo, kéo khóa.', step3: 'Tự chọn trang phục phù hợp với thời tiết (nóng/lạnh/mưa), hoàn cảnh xã hội và tự buộc dây giày thành thạo.' }, { id: 4, mod: 'basic', code: 'BLS-4', name: '4. Kỹ năng Đi vệ sinh (Toileting)', step1: 'Đi tiểu và đại tiện vào bồn cầu theo lịch nhắc, giữ quần khô ráo suốt ban ngày và ban đêm.', step2: 'Tự chủ động nhận biết nhu cầu và tự đi vào nhà vệ sinh mà không cần ai nhắc.', step3: 'Hoàn tất độc lập 100% quy trình tại cả nhà riêng lẫn nhà vệ sinh công cộng (đóng chốt cửa, tự lau chùi sạch, xả nước, rửa tay).' }, { id: 5, mod: 'basic', code: 'BLS-5', name: '5. Chải chuốt & Vệ sinh Cá nhân (Grooming)', step1: 'Tự rửa tay bằng xà phòng, lau khô tay, lau mặt và xì mũi bằng khăn giấy.', step2: 'Tự lấy kem đánh răng, đánh răng sạch các mặt răng, súc miệng và tự chải tóc gọn gàng.', step3: 'Tự chăm sóc móng tay, dùng lăn khử mùi, chăm sóc da mặt, cạo râu (nam) hoặc vệ sinh chu kỳ kinh nguyệt (nữ).' }, { id: 6, mod: 'basic', code: 'BLS-6', name: '6. Kỹ năng Tắm rửa (Bathing)', step1: 'Hợp tác trong bồn tắm/vòi sen, tự xoa xà phòng lên cơ thể và dội nước tráng sạch.', step2: 'Tự gội đầu bằng dầu gội, xả sạch bọt không để vào mắt và tự dùng khăn tắm lau khô toàn thân.', step3: 'Tự điều chỉnh nhiệt độ nước an toàn (nóng/lạnh), tự tắm gội độc lập hoàn toàn và treo khăn/dọn phòng tắm sau khi tắm.' }, { id: 7, mod: 'basic', code: 'BLS-7', name: '7. Sức khỏe, An toàn & Sơ cứu Cơ bản (Health, Safety & First Aid)', step1: 'Nhận biết và tránh các mối nguy hiểm trực tiếp (ổ điện, vật sắc nhọn, bếp nóng, hóa chất tẩy rửa, nước sâu).', step2: 'Biết báo ngay khi bị đứt tay/trầy xước, hợp tác rửa vết thương, dán băng cá nhân (Band-Aid) và uống thuốc theo hướng dẫn.', step3: 'Tự sơ cứu vết thương nhỏ, biết thoát hiểm khi có chuông báo cháy và tuyệt đối không đi theo người lạ.' }, { id: 8, mod: 'basic', code: 'BLS-8', name: '8. Thói quen Ban đêm & Giấc ngủ (Nighttime Routines)', step1: 'Thực hiện quy trình chuẩn bị đi ngủ (mặc đồ ngủ, đi vệ sinh, đánh răng) và nằm lên giường đúng giờ.', step2: 'Tự ngủ trên giường riêng suốt đêm mà không thức dậy đi lang thang hay gọi người nhà.', step3: 'Tự đặt đồng hồ báo thức, tự thức dậy đúng giờ vào buổi sáng và tự gấp chăn màn gọn gàng.' }, // ===================================================== // MÔ-ĐUN 2: KỸ NĂNG TẠI GIA ĐÌNH (HOME SKILLS • 7 LĨNH VỰC) // ===================================================== { id: 9, mod: 'home', code: 'HMS-1', name: '9. Ăn uống Tại Nhà & Phép lịch sự trên bàn ăn (Meals at Home)', step1: 'Tự dùng thìa, đũa/nĩa ăn uống gọn gàng tại bàn ăn và tự rót nước từ bình ra cốc.', step2: 'Phụ giúp bày bát đũa lên bàn ăn trước bữa cơm và tự mang bát đĩa bẩn của mình ra bồn rửa sau khi ăn.', step3: 'Sử dụng dao cắt thức ăn mềm, mời cơm, lấy thức ăn vừa đủ và giữ tác phong lịch sự suốt bữa ăn gia đình.' }, { id: 10, mod: 'home', code: 'HMS-2', name: '10. Rửa bát & Dọn dẹp Bồn rửa (Dishes)', step1: 'Tráng sạch thức ăn thừa trên bát đĩa và phân loại bát, đĩa, thìa đũa vào bồn rửa.', step2: 'Tự rửa sạch bát đĩa bằng nước rửa chén, tráng sạch bọt và úp lên giá phơi khô.', step3: 'Xếp bát đĩa vào máy rửa bát (hoặc cất bát đĩa đã khô vào đúng ngăn tủ bếp) và lau khô mặt bàn bếp.' }, { id: 11, mod: 'home', code: 'HMS-3', name: '11. Quần áo & Giặt ủi (Clothing and Laundry)', step1: 'Bỏ quần áo bẩn vào giỏ giặt mỗi ngày và phân loại quần áo sạch của mình.', step2: 'Biết gấp gọn áo phông, quần dài, tất và treo áo sơ mi/áo khoác lên móc treo vào tủ.', step3: 'Tự phân loại đồ trắng/đồ màu, cho quần áo và nước giặt vào máy giặt, bấm nút giặt, phơi đồ và là (ủi) quần áo cơ bản.' }, { id: 12, mod: 'home', code: 'HMS-4', name: '12. Dọn dẹp Nhà cửa & Việc nhà (Housekeeping and Chores)', step1: 'Tự cất đồ chơi/đồ dùng sau khi dùng, lau bàn và bỏ rác vào thùng rác.', step2: 'Quét nhà, hút bụi sàn nhà, lau nhà bằng cây lau và buộc túi rác mang ra nơi tập kết.', step3: 'Tự dọn phòng ngủ cá nhân, thay vỏ chăn ga gối, lau chùi bồn rửa mặt/nhà vệ sinh và chăm sóc cây cảnh/thú cưng.' }, { id: 13, mod: 'home', code: 'HMS-5', name: '13. Cơ học Gia dụng & Sửa chữa Vặt (Household Mechanics)', step1: 'Sử dụng thành thạo chìa khóa để mở/khóa cửa nhà, bật/tắt quạt, điều hòa và kéo rèm cửa.', step2: 'Biết thay pin cho điều khiển từ xa/đồng hồ và biết dùng tua-vít/dụng cụ cơ bản an toàn.', step3: 'Biết thay bóng đèn bàn, xử lý khi mất điện (dùng đèn pin) và khóa van nước/ngắt cầu dao khi có sự cố rò rỉ.' }, { id: 14, mod: 'home', code: 'HMS-6', name: '14. Kỹ năng Giải trí Lành mạnh Tại nhà (Home Leisure)', step1: 'Tự chơi đồ chơi, xem sách tranh, nghe nhạc hoặc tô màu độc lập trong 20–30 phút.', step2: 'Tham gia chơi cờ cá ngựa, Uno, lắp ráp mô hình hoặc chơi thể thao vận động cùng người thân.', step3: 'Tự quản lý thời gian giải trí hợp lý (không nghiện màn hình điện thoại/tivi quá giờ quy định) và theo đuổi sở thích lành mạnh.' }, { id: 15, mod: 'home', code: 'HMS-7', name: '15. Kỹ năng Bếp núc & Nấu ăn (Kitchen and Cooking)', step1: 'Tự lấy đồ ăn trong tủ lạnh, bóc vỏ trái cây (chuối, quýt), phết bơ/mứt lên bánh mì và pha sữa/ngũ cốc.', step2: 'Rửa sạch rau củ, sử dụng lò vi sóng, ấm đun siêu tốc, nồi cơm điện để hâm nóng thức ăn và cắm cơm an toàn.', step3: 'Sử dụng dao gọt/thái thực phẩm an toàn và tự nấu được các món ăn cơ bản (luộc trứng/rau, rán trứng, nấu mì) trên bếp.' }, // ===================================================== // MÔ-ĐUN 3: KỸ NĂNG THAM GIA CỘNG ĐỒNG (COMMUNITY PARTICIPATION • 7 LĨNH VỰC) // ===================================================== { id: 16, mod: 'comm', code: 'CPS-1', name: '16. Di chuyển Cơ bản & An toàn Giao thông (Basic Mobility)', step1: 'Đi bộ trên vỉa hè cạnh người lớn mà không tự ý chạy lao xuống lòng đường; thắt dây an toàn khi ngồi ô tô/đội mũ bảo hiểm khi đi xe máy.', step2: 'Hiểu tín hiệu đèn giao thông (Đèn đỏ dừng lại, Đèn xanh đi) và quan sát Trái – Phải – Trái trước khi qua đường tại vạch kẻ.', step3: 'Tự đi bộ an toàn đến các địa điểm gần nhà (cửa hàng, trường học, công viên) và nhận diện các biển báo công cộng.' }, { id: 17, mod: 'comm', code: 'CPS-2', name: '17. Kiến thức & Ứng xử Nơi Công cộng (Community Knowledge)', step1: 'Giữ trật tự nơi công cộng, biết xếp hàng chờ đến lượt và nhận biết biểu tượng nhà vệ sinh Nam / Nữ.', step2: 'Biết chức năng của các địa điểm trong cộng đồng (Bệnh viện, Siêu thị, Bưu điện, Đồn công an, Hiệu cắt tóc, Thư viện).', step3: 'Biết tìm nhân viên bảo vệ/công an hoặc người có thẻ tên để nhờ giúp đỡ khi bị lạc hoặc gặp sự cố ngoài đường.' }, { id: 18, mod: 'comm', code: 'CPS-3', name: '18. Kỹ năng Đi Siêu thị & Mua sắm (Shopping)', step1: 'Đi cùng người lớn trong siêu thị, đẩy xe hàng cẩn thận và không tự ý bóc đồ ăn khi chưa thanh toán.', step2: 'Tìm đúng các món đồ cần mua theo danh sách hình ảnh/chữ viết và mang ra quầy thu ngân xếp hàng.', step3: 'Kiểm tra giá tiền, hạn sử dụng trên bao bì, tự thanh toán tại quầy thu ngân, nhận lại tiền thừa/hóa đơn và xách đồ về.' }, { id: 19, mod: 'comm', code: 'CPS-4', name: '19. Ăn uống Tại Nhà hàng / Quán ăn (Meals in Public)', step1: 'Ngồi yên tại bàn ăn trong nhà hàng/quán ăn và chờ đợi trong lúc món ăn đang được chuẩn bị.', step2: 'Xem thực đơn (menu) để tự chọn món ăn/đồ uống mình muốn và tự lấy khay/ống hút/khăn giấy tại quầy tự phục vụ.', step3: 'Tự gọi món trực tiếp với nhân viên phục vụ, ăn uống lịch sự nơi đông người và tự thanh toán hóa đơn bữa ăn.' }, { id: 20, mod: 'comm', code: 'CPS-5', name: '20. Kỹ năng Tiền tệ & Thanh toán (Money)', step1: 'Nhận biết và phân loại chính xác các mệnh giá tiền giấy Việt Nam (1.000đ → 500.000đ).', step2: 'Đếm tổng số tiền đang có trong ví và biết mệnh giá nào đủ để mua một món hàng có ghi giá sẵn.', step3: 'Tính nhẩm tiền thừa cần nhận lại khi mua hàng và biết sử dụng thẻ thanh toán / ví điện tử an toàn.' }, { id: 21, mod: 'comm', code: 'CPS-6', name: '21. Kỹ năng Sử dụng Điện thoại (Phone)', step1: 'Biết nghe điện thoại khi có người thân gọi đến, chào hỏi và đưa máy cho bố mẹ khi cần.', step2: 'Tự mở danh bạ gọi điện thoại/gọi video cho bố mẹ, người thân và trả lời đúng mình đang ở đâu.', step3: 'Biết gọi các số điện thoại khẩn cấp (113, 114, 115), nhắn tin văn bản lịch sự và bảo mật thông tin trên điện thoại.' }, { id: 22, mod: 'comm', code: 'CPS-7', name: '22. Kỹ năng Thời gian & Lịch trình (Time)', step1: 'Phân biệt các buổi trong ngày (Sáng, Trưa, Chiều, Tối) và làm theo thời khóa biểu hình ảnh/chữ viết.', step2: 'Đọc giờ đúng và giờ lẻ phút trên đồng hồ điện tử và đồng hồ kim; đọc thứ, ngày, tháng trên lịch.', step3: 'Ước lượng thời gian di chuyển, tự quản lý lịch hẹn cá nhân và luôn có mặt đúng giờ quy định.' }, // ===================================================== // MÔ-ĐUN 4: KỸ NĂNG HỌC ĐƯỜNG (SCHOOL SKILLS • 7 LĨNH VỰC) // ===================================================== { id: 23, mod: 'school', code: 'SCS-1', name: '23. Nội quy Lớp học & Tự tổ chức Học tập (Classroom Routines)', step1: 'Tự đi vào lớp, cất cặp sách, lấy sách vở theo môn học và ngồi học nghiêm túc trong suốt tiết học.', step2: 'Làm theo hướng dẫn chung của giáo viên cho cả lớp, tự giơ tay xin phát biểu hoặc xin phép đi vệ sinh.', step3: 'Tự ghi chép bài tập về nhà vào sổ dặn dò, tự chuẩn bị cặp sách cho ngày hôm sau và nộp bài đúng hạn.' }, { id: 24, mod: 'school', code: 'SCS-2', name: '24. Kỹ năng Ăn bán trú tại Căng-tin Trường (Meals at School)', step1: 'Xếp hàng nhận khay cơm bán trú hoặc tự mở hộp cơm trưa mang từ nhà đi.', step2: 'Ngồi ăn đúng vị trí cùng các bạn cùng lớp trong thời gian quy định mà không rời bàn.', step3: 'Tự dọn khay cơm, phân loại rác/thức ăn thừa và xếp bát thìa vào đúng khay thu gom của nhà ăn trường.' }, { id: 25, mod: 'school', code: 'SCS-3', name: '25. Kỹ năng Xã hội Học đường & Làm việc Nhóm (School Social Skills)', step1: 'Chào hỏi thầy cô và bạn bè, tham gia các hoạt động giờ ra chơi mà không xô đẩy hay giật đồ.', step2: 'Hợp tác làm bài tập nhóm với 2–3 bạn cùng lớp, biết chia sẻ dụng cụ học tập và lắng nghe ý kiến bạn.', step3: 'Nhận biết hành vi bắt nạt học đường để báo giáo viên và biết cách từ chối khi bạn rủ làm việc sai nội quy.' }, { id: 26, mod: 'school', code: 'SCS-4', name: '26. Sử dụng Công nghệ & Máy tính (Technology)', step1: 'Biết bật/tắt máy tính/máy tính bảng, sử dụng chuột và bàn phím để mở phần mềm học tập.', step2: 'Đánh máy văn bản tiếng Việt có dấu, lưu file tài liệu vào thư mục và in tài liệu.', step3: 'Tra cứu thông tin học tập an toàn trên Internet, gửi email nộp bài và tuân thủ quy tắc an toàn mạng.' }, { id: 27, mod: 'school', code: 'SCS-5', name: '27. Kiến thức Tự nhiên & Xã hội Chung (Common Knowledge)', step1: 'Nhận biết các mùa, hiện tượng thời tiết, các ngày lễ lớn và các nghề nghiệp phổ biến trong xã hội.', step2: 'Hiểu chức năng các bộ phận cơ thể, tháp dinh dưỡng lành mạnh và quy luật sinh trưởng của cây cối/động vật.', step3: 'Nắm được kiến thức địa lý cơ bản (tỉnh thành, đất nước) và các quy định ứng xử văn minh công cộng.' }, { id: 28, mod: 'school', code: 'SCS-6', name: '28. Học thuật Cốt lõi: Đọc hiểu, Viết & Toán (Core Academics)', step1: 'Đọc trơn đoạn văn bản, chép bài từ bảng vào vở rõ ràng và thực hiện phép cộng trừ trong phạm vi 100.', step2: 'Tóm tắt ý chính bài đọc, viết đoạn văn ngắn theo chủ đề và làm phép nhân chia/giải toán có lời văn.', step3: 'Sử dụng máy tính bỏ túi (Calculator), từ điển tra cứu và hoàn thành bài kiểm tra trên lớp độc lập.' }, { id: 29, mod: 'school', code: 'SCS-7', name: '29. Học thuật Ứng dụng Đời sống (Applied Academics)', step1: 'Đọc hiểu các biển báo chỉ dẫn trong trường và cộng trừ số lượng đồ dùng thực tế.', step2: 'Đo chiều dài bằng thước kẻ, cân khối lượng nguyên liệu, đong thể tích nước và xem nhiệt kế.', step3: 'Đọc hiểu thời khóa biểu, bảng hướng dẫn sử dụng sản phẩm, công thức nấu ăn và lập bảng tính tiền đơn giản.' }, // ===================================================== // MÔ-ĐUN 5: KỸ NĂNG HƯỚNG NGHIỆP & VIỆC LÀM (VOCATIONAL SKILLS • 7 LĨNH VỰC) // ===================================================== { id: 30, mod: 'voc', code: 'VOC-1', name: '30. Tìm kiếm Việc làm & Hồ sơ Xin việc (Job Search)', step1: 'Nhận biết các công việc phù hợp với sở thích và thế mạnh của bản thân.', step2: 'Điền đầy đủ thông tin cá nhân vào mẫu Đơn xin việc / Sơ yếu lý lịch (CV) trên giấy hoặc máy tính.', step3: 'Tìm kiếm thông tin tuyển dụng và nộp hồ sơ ứng tuyển đúng quy trình.' }, { id: 31, mod: 'voc', code: 'VOC-2', name: '31. Kỹ năng Phỏng vấn Xin việc (Interview Skills)', step1: 'Ăn mặc chỉnh tề, gọn gàng, đến đúng giờ hẹn phỏng vấn và chào hỏi người phỏng vấn lịch sự.', step2: 'Duy trì tư thế ngồi ngay ngắn, giao tiếp mắt phù hợp và trả lời rõ ràng các câu hỏi về kỹ năng bản thân.', step3: 'Đặt câu hỏi phù hợp về công việc/lịch làm việc và nói lời cảm ơn khi kết thúc buổi phỏng vấn.' }, { id: 32, mod: 'voc', code: 'VOC-3', name: '32. Tác phong & Kỹ năng Làm việc Cốt lõi (Basic Work Skills)', step1: 'Đi làm đúng giờ, chấm công, mặc đồng phục/đeo thẻ nhân viên và bắt tay vào việc ngay.', step2: 'Duy trì làm việc liên tục trong ca làm việc (2–4 tiếng), tuân thủ giờ nghỉ giải lao và tự chuyển sang nhiệm vụ tiếp theo khi làm xong.', step3: 'Đảm bảo tốc độ và chất lượng sản phẩm đạt chuẩn, tự kiểm tra lỗi sai và dọn dẹp gọn gàng khu vực làm việc cuối ca.' }, { id: 33, mod: 'voc', code: 'VOC-4', name: '33. Quan hệ Đồng nghiệp & Cấp trên (Coworker & Supervisor Relations)', step1: 'Chào hỏi đồng nghiệp/quản lý, giữ khoảng cách giao tiếp lịch sự và không tự ý lấy đồ của đồng nghiệp.', step2: 'Chấp nhận lời góp ý sửa sai từ người quản lý một cách bình tĩnh và điều chỉnh lại cách làm ngay.', step3: 'Biết chủ động báo cáo quản lý khi hết nguyên vật liệu, khi máy móc hỏng hoặc khi cần xin nghỉ phép.' }, { id: 34, mod: 'voc', code: 'VOC-5', name: '34. An toàn Lao động tại Nơi làm việc (Workplace Safety)', step1: 'Đeo đầy đủ trang bị bảo hộ (găng tay, khẩu trang, tạp dề, mũ) theo quy định của nơi làm việc.', step2: 'Nhận biết các biển cảnh báo an toàn (Sàn ướt, Điện cao thế, Lối thoát hiểm) và vận hành dụng cụ đúng quy trình.', step3: 'Xử lý đúng quy trình khi có sự cố đổ vỡ/cháy nổ và báo ngay cho bộ phận an toàn.' }, { id: 35, mod: 'voc', code: 'VOC-6', name: '35. Kỹ năng Nghề Văn phòng, Siêu thị & Kho bãi (Office, Retail & Warehouse)', step1: 'Phân loại hàng hóa/tài liệu theo mã số, dán nhãn giá, đóng gói sản phẩm vào hộp đúng số lượng.', step2: 'Sắp xếp hàng hóa lên kệ siêu thị ngay ngắn (hàng hạn cũ xếp ra ngoài), photocopy và hủy giấy tờ.', step3: 'Kiểm kê số lượng tồn kho, nhập dữ liệu cơ bản vào máy tính và hỗ trợ khách hàng tìm vị trí sản phẩm.' }, { id: 36, mod: 'voc', code: 'VOC-7', name: '36. Kỹ năng Nghề Dịch vụ, Nhà hàng & Làm bánh/Nông nghiệp (Service & Hospitality)', step1: 'Lau dọn bàn ghế nhà hàng, gấp khăn ăn, xếp bộ dao nĩa và thu gom bát đĩa bẩn.', step2: 'Sơ chế nguyên liệu làm bánh/pha chế theo công thức định lượng hoặc chăm sóc tưới cây nhà kính.', step3: 'Phục vụ đồ ăn/đồ uống cho khách lịch sự và duy trì tiêu chuẩn vệ sinh an toàn thực phẩm.' }, // ===================================================== // MÔ-ĐUN 6: KỸ NĂNG SỐNG ĐỘC LẬP (INDEPENDENT LIVING SKILLS • 6 LĨNH VỰC) // ===================================================== { id: 37, mod: 'indep', code: 'ILS-1', name: '37. Quản lý Tài chính Cá nhân & Chi tiêu (Money Management)', step1: 'Hiểu khái niệm thu nhập, tiết kiệm và giữ gìn tiền mặt/thẻ ngân hàng cẩn thận không làm mất.', step2: 'Lập ngân sách chi tiêu hàng tuần trong giới hạn số tiền cho phép (ưu tiên nhu cầu thiết yếu trước sở thích).', step3: 'Sử dụng cây ATM/ứng dụng ngân hàng an toàn, thanh toán hóa đơn sinh hoạt và tuyệt đối không cho người lạ vay/chuyển tiền.' }, { id: 38, mod: 'indep', code: 'ILS-2', name: '38. Đi lại Độc lập bằng Phương tiện Công cộng (Community Transportation)', step1: 'Đi bộ hoặc đi xe đạp an toàn trên các tuyến đường quen thuộc quanh khu dân cư.', step2: 'Biết tra cứu tuyến xe buýt/tàu điện, chờ tại trạm, quẹt thẻ/mua vé và bấm chuông xuống đúng bến.', step3: 'Biết đặt xe công nghệ hoặc xử lý khi nhỡ chuyến xe/lạc đường (gọi người thân, xem bản đồ định vị).' }, { id: 39, mod: 'indep', code: 'ILS-3', name: '39. Tự Chăm sóc Y tế & Quản lý Thuốc men (Personal Health & Medication)', step1: 'Nhận biết các triệu chứng ốm thông thường (sốt, đau đầu, đau bụng, cảm cúm) và biết cặp nhiệt độ.', step2: 'Sử dụng hộp chia thuốc theo ngày để tự uống thuốc định kỳ đúng liều lượng và đúng giờ.', step3: 'Biết trình thẻ Bảo hiểm y tế/CCCD khi đi khám bệnh và mô tả triệu chứng rõ ràng với bác sĩ.' }, { id: 40, mod: 'indep', code: 'ILS-4', name: '40. Quản lý Không gian Sống & An ninh Nhà ở (Living Space Management)', step1: 'Luôn kiểm tra khóa cửa, tắt bếp, tắt điện nước trước khi ra khỏi nhà hoặc trước khi đi ngủ.', step2: 'Lập danh sách thực phẩm/nhu yếu phẩm trong nhà sắp hết để chủ động đi mua bổ sung.', step3: 'Không mở cửa cho người lạ vào nhà và biết liên hệ ban quản lý tòa nhà/thợ sửa chữa khi hỏng điện nước.' }, { id: 41, mod: 'indep', code: 'ILS-5', name: '41. Tư duy Giải quyết Vấn đề Đời sống (Everyday Problem Solving)', step1: 'Bình tĩnh tìm phương án thay thế khi gặp sự cố nhỏ (như hết món ăn yêu thích, trời mưa bất chợt, quên mang ô).', step2: 'Biết tìm kiếm sự trợ giúp từ những nguồn đáng tin cậy khi gặp tình huống vượt quá khả năng tự xử lý.', step3: 'Nhận diện được các tình huống lừa đảo qua điện thoại/mạng xã hội hoặc lợi dụng tài chính/tình cảm.' }, { id: 42, mod: 'indep', code: 'ILS-6', name: '42. Giao tiếp Xã hội Người lớn & Tự bảo vệ Quyền lợi (Social & Self-Advocacy)', step1: 'Phân biệt rõ mối quan hệ (Người thân, Bạn bè, Đồng nghiệp, Người quen sơ, Người lạ) để có giới hạn tiếp xúc phù hợp.', step2: 'Biết nói lời "Không" một cách kiên quyết và lịch sự khi bị ép làm điều mình không thoải mái hoặc vi phạm quy tắc.', step3: 'Chủ động trình bày nhu cầu hỗ trợ chính đáng của bản thân ở trường học/nơi làm việc (Self-Advocacy).' } ]; let activeMod = 'all'; // 'all' | 'basic' | 'home' | 'comm' | 'school' | 'voc' | 'indep' // scores[id] lưu mức độ độc lập trên thang 0..4 của AFLS: // 0 (0% - Chưa làm được), 1 (25% - Cần cầm tay/nhắc nhiều), 2 (50% - Cần gợi ý lời nói), 3 (75% - Cần giám sát nhẹ), 4 (100% - Độc lập hoàn toàn) let scores = {}; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .af-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .af-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .af-inner { padding: 24px; max-width: 980px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .af-wrap.is-fullscreen .af-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .af-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(13, 148, 136, 0.45), 0 0 0 0 rgba(13, 148, 136, 0.4); } 70% { box-shadow: 0 6px 20px rgba(13, 148, 136, 0.45), 0 0 0 10px rgba(13, 148, 136, 0); } 100% { box-shadow: 0 6px 20px rgba(13, 148, 136, 0.45), 0 0 0 0 rgba(13, 148, 136, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #0f766e 0%, #0d9488 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(13, 148, 136, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Bộ chuyển đổi 6 Mô-đun AFLS */ .mod-switcher-box { background: #f1f5f9; padding: 10px; border-radius: 12px; margin-bottom: 18px; } .mod-switcher-lbl { font-size: 12px; font-weight: 800; color: #334155; text-transform: uppercase; margin-bottom: 8px; display: block; } .mod-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 6px; } .mod-btn { padding: 9px 8px; border-radius: 9px; border: 1.5px solid transparent; background: rgba(255, 255, 255, 0.65); cursor: pointer; text-align: left; transition: all 0.18s ease; touch-action: manipulation; } .mod-btn:hover { background: #ffffff; } .mod-btn.active { background: #ffffff; border-color: #0d9488; box-shadow: 0 3px 10px rgba(15, 23, 42, 0.08); } .mod-btn-title { font-size: 12.2px; font-weight: 800; color: #0f172a; display: block; line-height: 1.25; } .mod-btn.active .mod-btn-title { color: #0f766e; } .mod-btn-sub { font-size: 10.5px; color: #64748b; margin-top: 2px; display: block; line-height: 1.2; } /* Header */ .af-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .af-header-text { flex: 1 1 260px; } .af-title { font-size: 20px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .af-desc { font-size: 13.8px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #f0fdfa; color: #0f766e; border: 1px solid #99f6e4; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #0d9488; color: #ffffff; border-color: #0d9488; } /* Controls */ .af-presets { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; margin-bottom: 16px; } .af-preset-lbl { font-size: 12.5px; font-weight: 700; color: #475569; margin-right: 4px; } .af-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; touch-action: manipulation; } .af-pbtn:hover { background: #f1f5f9; } .af-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } /* Sticky Dashboard */ .af-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .af-wrap.is-fullscreen .af-dash { top: 58px; } .af-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .af-score-big { font-size: 21px; font-weight: 800; line-height: 1.2; } .af-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .af-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .af-pillars { display: grid; grid-template-columns: repeat(6, 1fr); gap: 6px; font-size: 11.5px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .af-pillar-box { background: #1e293b; padding: 7px 8px; border-radius: 8px; } .af-pillar-val { font-weight: 800; color: #ffffff; font-size: 13px; display: block; margin-top: 2px; } /* Danh sách 42 Lĩnh vực AFLS */ .af-item { border: 1px solid #e2e8f0; border-radius: 12px; padding: 14px 16px; margin-bottom: 12px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 8px; } .af-item.mastered { border-color: #a7f3d0; background: #f0fdf4; } .af-item.emerging { border-color: #fde68a; background: #fffbeb; } .af-item-title { font-size: 15px; font-weight: 800; color: #0f172a; } .af-item-desc { font-size: 13.2px; color: #334155; line-height: 1.5; } .af-tags { display: flex; flex-wrap: wrap; gap: 6px; } .af-tag { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .af-ans-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; margin-top: 4px; } .af-abtn { padding: 8px 6px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 700; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .af-abtn:hover { border-color: #64748b; } .af-abtn.sel-0 { background: #ef4444; border-color: #ef4444; color: #ffffff; } .af-abtn.sel-1, .af-abtn.sel-2 { background: #f59e0b; border-color: #f59e0b; color: #ffffff; } .af-abtn.sel-3 { background: #0284c7; border-color: #0284c7; color: #ffffff; } .af-abtn.sel-4 { background: #10b981; border-color: #10b981; color: #ffffff; } /* Biểu đồ 6 Mô-đun & Hộp trích xuất IEP/ISP */ .af-chart-card { margin-top: 20px; padding: 16px 18px; border-radius: 12px; background: #ffffff; border: 1px solid #e2e8f0; } .af-bar-row { display: flex; align-items: center; gap: 10px; margin-bottom: 9px; font-size: 12.5px; } .af-bar-lbl { width: 265px; flex-shrink: 0; font-weight: 600; color: #334155; } .af-bar-track { flex: 1; height: 16px; background: #f1f5f9; border-radius: 999px; overflow: hidden; } .af-bar-val { width: 125px; text-align: right; font-weight: 700; color: #0f172a; flex-shrink: 0; } .af-iep-box { margin-top: 16px; padding: 16px 18px; border-radius: 12px; background: #fffbeb; border: 1px solid #fde68a; border-left: 5px solid #f59e0b; font-size: 13.8px; color: #78350f; line-height: 1.6; } .af-iep-title { font-size: 15px; font-weight: 800; color: #92400e; margin-bottom: 8px; } .af-result-box { margin-top: 16px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #0d9488; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 780px) { .af-inner { padding: 14px; } .mod-grid { grid-template-columns: 1fr 1fr; } .af-title { font-size: 18px; } .af-pillars { grid-template-columns: repeat(2, 1fr); } .af-ans-grid { grid-template-columns: 1fr 1fr; } .af-bar-lbl { width: 145px; font-size: 11.5px; } .af-pbtn.reset { margin-left: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
Hệ Thống Đánh Giá Các Kỹ Năng Sống Chức Năng AFLS Toàn Diện (6 Mô-đun • 42 Lĩnh Vực)
Công cụ tiêu chuẩn của Tiến sĩ James Partington & Michael Mueller (2012) đo lường mức độ tự lập thực tế từ 2 tuổi đến tuổi trưởng thành qua 6 Mô-đun: Sống Cơ bản, Tại Gia đình, Cộng đồng, Học đường, Hướng nghiệp và Sống Độc lập.
`; } else { const mCfg = moduleConfigs[activeMod]; headerInfo.innerHTML = `${mCfg.fullTitle}
${mCfg.desc}
`; } } function renderItems() { itemList.innerHTML = ''; const scaleBtns = [ { val: 0, lbl: '0đ - Chưa làm được (0%)' }, { val: 1, lbl: '1đ - Cần cầm tay/nhắc nhiều (25% ★)' }, { val: 2, lbl: '2đ - Cần gợi ý lời nói (50% ★)' }, { val: 3, lbl: '3đ - Cần giám sát nhẹ (75% ★)' }, { val: 4, lbl: '4đ - Độc lập hoàn toàn (100%)' } ]; domains.forEach(function(d) { if (activeMod !== 'all' && d.mod !== activeMod) return; const uVal = (scores[d.id] !== undefined) ? scores[d.id] : 0; const mCfg = moduleConfigs[d.mod]; let rowCls = 'af-item'; if (uVal === 4) rowCls += ' mastered'; else if (uVal >= 1 && uVal { const cls = 'af-abtn' + (uVal === b.val ? ` sel-${b.val}` : ''); return ``; }).join(''); const el = document.createElement('div'); el.className = rowCls; el.innerHTML = `• Cấp độ Mở rộng (Mức 3): ${d.step2}
• Cấp độ Độc lập Hoàn toàn (Mức 4): ${d.step3}
'); iepBox.innerHTML = `
• 1. Mô-đun Kỹ năng Sống Cơ bản (Basic Living Skills): Đạt ${getModPct('basic')}% — ${getModPct('basic') < 70 ? 'Cần ưu tiên tuyệt đối việc hoàn thiện kỹ năng Đi vệ sinh, Mặc đồ, Tắm rửa, Chải chuốt và An toàn cơ bản trước.' : 'Nền tảng tự chăm sóc bản thân đã vững vàng.'}
• 2. Mô-đun Tại Gia đình (${getModPct('home')}%) & Cộng đồng (${getModPct('comm')}%): Phản ánh khả năng tự phục vụ bữa ăn, làm việc nhà, đi lại an toàn và mua sắm ngoài xã hội.
• 3. Mô-đun Học đường (${getModPct('school')}%), Hướng nghiệp (${getModPct('voc')}%) & Sống Độc lập (${getModPct('indep')}%): Định hướng lộ trình chuyển tiếp sang lao động nghề nghiệp có hỗ trợ và tự chủ ở tuổi trưởng thành. `; updateFloatingFabVisibility(); } function applyPreset(type) { scores = {}; domains.forEach(d => { scores[d.id] = 0; }); if (type === 'reset') { renderItems(); updateSummary(); return; } if (type === 'child_basic') { // Trẻ nhỏ đang rèn Sống cơ bản (Mức 2-3), Gia đình & Học đường (Mức 1-2) domains.forEach(d => { if (d.mod === 'basic') scores[d.id] = (d.id % 2 === 0) ? 3 : 2; else if (d.mod === 'home' || d.mod === 'school') scores[d.id] = (d.id % 2 === 0) ? 2 : 1; else if (d.mod === 'comm') scores[d.id] = 1; else scores[d.id] = 0; }); } else if (type === 'teen_transition') { // Thiếu niên: Sống cơ bản thành thạo (Mức 4), Gia đình & Học đường & Cộng đồng khá (Mức 2-3), bắt đầu Hướng nghiệp (Mức 1-2) domains.forEach(d => { if (d.mod === 'basic') scores[d.id] = 4; else if (d.mod === 'home' || d.mod === 'school') scores[d.id] = 3; else if (d.mod === 'comm') scores[d.id] = (d.id % 2 === 0) ? 3 : 2; else if (d.mod === 'voc' || d.mod === 'indep') scores[d.id] = (d.id % 2 === 0) ? 2 : 1; }); } else if (type === 'adult_voc') { // Thanh niên / Người lớn hướng nghiệp & sống bán độc lập domains.forEach(d => { if (d.mod === 'basic' || d.mod === 'home') scores[d.id] = 4; else if (d.mod === 'comm' || d.mod === 'school') scores[d.id] = (d.id % 2 === 0) ? 4 : 3; else scores[d.id] = (d.id % 2 === 0) ? 3 : 2; }); } renderItems(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); afWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { afWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 980px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } shadow.querySelectorAll('#modGrid .mod-btn').forEach(function(btn) { btn.onclick = function() { activeMod = this.getAttribute('data-mod'); shadow.querySelectorAll('#modGrid .mod-btn').forEach(b => b.classList.remove('active')); this.classList.add('active'); renderHeader(); renderItems(); updateSummary(); }; }); shadow.querySelectorAll('.af-pbtn').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-preset')); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); renderHeader(); applyPreset('teen_transition'); })();
AFLS (Assessment of Functional Living Skills): Cùng “họ” với VB-MAPP và ABLLS-R, nhưng chuyên đánh giá kỹ năng sống độc lập, tự phục vụ, hòa nhập cộng đồng và hướng nghiệp cho trẻ từ 2 tuổi đến trưởng thành.
AFLS (Assessment of Functional Living Skills — Đánh giá các Kỹ năng Sống Chức năng) là công cụ đánh giá, hệ thống theo dõi kỹ năng và hướng dẫn chương trình giảng dạy nối tiếp trực tiếp của ABLLS-R, do Tiến sĩ James W. Partington và Tiến sĩ Michael M. Mueller phát triển (xuất bản năm 2012 bởi Behavior Analysts, Inc.).
Nếu như VB-MAPP, ESDM hay ABLLS-R tập trung vào giai đoạn can thiệp sớm và ngôn ngữ học thuật nền tảng cho trẻ nhỏ, thì AFLS giải quyết bài toán lớn nhất của các gia đình có con Tự kỷ và Chậm phát triển từ 2 tuổi đến suốt tuổi trưởng thành: làm sao để cá nhân có thể tự chăm sóc bản thân, sống tự lập tại nhà, đi lại an toàn ngoài cộng đồng, hòa nhập trường học và làm việc kiếm sống mà ít phụ thuộc nhất vào cha mẹ hay người chăm sóc.
1. Cấu trúc 6 Mô-đun Đánh giá Độc lập của Hệ thống AFLS
Toàn bộ chương trình AFLS được thiết kế thành 6 Mô-đun (Assessment Protocols) bao gồm tổng cộng hơn 1.900 kỹ năng thực tế, có thể sử dụng độc lập hoặc kết hợp tùy theo độ tuổi và nhu cầu sống của người học:
| Mô-đun Đánh giá (Protocol) | Số lĩnh vực | Các Lĩnh vực Kỹ năng Thành phần Cốt lõi (Domains) | Mục tiêu Đầu ra Thực tiễn |
|
1. Kỹ năng Sống Cơ bản
(Basic Living Skills) |
8 lĩnh vực |
1. Tự quản lý hành vi (Self-Management)
2. Giao tiếp cơ bản (Basic Communication)
3. Mặc quần áo (Dressing)
4. Đi vệ sinh (Toileting)
5. Chải chuốt & Vệ sinh (Grooming)
6. Tắm rửa (Bathing)
7. Sức khỏe, An toàn & Sơ cứu (Health, Safety & First Aid)
8. Thói quen ban đêm & Giấc ngủ (Nighttime Routines) |
Thiết lập những kỹ năng sinh tồn và tự chăm sóc cơ bản nhất mà bất kỳ cá nhân nào cũng cần có để không phụ thuộc hoàn toàn vào người chăm sóc 24/24. |
|
2. Kỹ năng Tại Gia đình
(Home Skills) |
7 lĩnh vực |
1. Ăn uống tại nhà (Meals at Home)
2. Rửa bát & Dọn bếp (Dishes)
3. Quần áo & Giặt ủi (Clothing and Laundry)
4. Dọn dẹp & Việc nhà (Housekeeping and Chores)
5. Cơ học & Sửa chữa vặt (Household Mechanics)
6. Giải trí tại nhà (Leisure)
7. Bếp núc & Nấu ăn (Kitchen and Cooking) |
Giúp cá nhân trở thành một thành viên đóng góp tích cực trong gia đình và tiến tới khả năng sống tự lập / bán tự lập trong căn hộ riêng. |
|
3. Kỹ năng Tham gia Cộng đồng
(Community Participation) |
7 lĩnh vực |
1. Di chuyển cơ bản & Qua đường (Basic Mobility)
2. Kiến thức cộng đồng (Community Knowledge)
3. Mua sắm siêu thị/cửa hàng (Shopping)
4. Ăn uống tại nhà hàng (Meals in Public)
5. Tiền tệ & Ngân hàng (Money)
6. Điện thoại (Phone)
7. Thời gian & Lịch trình (Time) |
Trang bị kỹ năng đi lại an toàn trên đường phố, sử dụng phương tiện công cộng, tự đi siêu thị mua đồ, trả tiền, xem giờ và xử lý tình huống khẩn cấp. |
|
4. Kỹ năng Học đường
(School Skills) |
9 lĩnh vực |
1. Nội quy lớp học (Classroom Routines)
2. Ăn trưa ở trường (Meals at School)
3. Kỹ năng xã hội học đường (Social Skills)
4. Công nghệ máy tính (Technology)
5. Kiến thức chung (Common Knowledge)
6. Học thuật cốt lõi (Core Academics)
7. Học thuật ứng dụng (Applied Academics) |
Tối ưu hóa khả năng thích ứng từ cấp Tiểu học, Trung học cơ sở đến Trung học phổ thông mà giảm dần sự kèm cặp của giáo viên hỗ trợ 1:1. |
|
5. Kỹ năng Hướng nghiệp & Việc làm
(Vocational Skills) |
9 lĩnh vực |
1. Tìm kiếm việc làm & Hồ sơ (Job Search)
2. Phỏng vấn (Interview)
3. Kỹ năng làm việc cốt lõi (Basic Work Skills)
4. Quan hệ đồng nghiệp & Quản lý (Coworker Relations)
5. An toàn lao động (Workplace Safety)
6. Kỹ năng nghề cố định (Fixed Activity Skills: Văn phòng, Bán lẻ, Kho bãi, Nhà hàng, Vệ sinh…) |
Chuẩn bị cho thanh thiếu niên và người trưởng thành tự kỷ tham gia lao động có hỗ trợ hoặc làm việc độc lập tạo thu nhập. |
|
6. Kỹ năng Sống Độc lập
(Independent Living Skills) |
11 lĩnh vực | Quản lý tài chính cá nhân, Thuê nhà/Hóa đơn, Chăm sóc y tế/Uống thuốc, Đi lại đường dài, Tư duy giải quyết vấn đề đời sống, Quan hệ xã hội & Tự bảo vệ quyền lợi (Self-Advocacy). | Đỉnh cao của sự tự chủ ở tuổi trưởng thành. |
2. Quy tắc Chấm điểm (0 – 2 và 0 – 4) & Biểu đồ Lưới Độc lập (AFLS Independence Grid)
Giống như người anh em ABLLS-R, AFLS sử dụng hệ thống chấm điểm phân bậc nhiệm vụ để đo chính xác Mức độ Hỗ trợ Cần thiết:
-
0 điểm: Chưa thực hiện được kỹ năng hoặc kháng cự. -
1 điểm(Cần nhắc nhở nhiều / Hỗ trợ thể chất – ~25%): Thực hiện được một phần nhỏ khi có người cầm tay chỉ việc hoặc nhắc liên tục từng bước. -
2 điểm(Cần gợi ý lời nói / Cử chỉ – ~50%): Tự làm được các thao tác nhưng vẫn cần người đứng cạnh nhắc “Bước tiếp theo làm gì?”. -
3 điểm(Gần độc lập / Cần giám sát nhẹ – ~75%): Tự thực hiện được quy trình nhưng đôi khi còn sót chi tiết hoặc cần người kiểm tra lại kết quả cuối cùng. -
4 điểm(Độc lập hoàn toàn – 100% Mastered): Tự khởi xướng và hoàn thành trọn vẹn công việc đúng tiêu chuẩn chất lượng, an toàn và khái quát hóa ở nhiều bối cảnh mà không cần ai nhắc nhở.
[Hành vi thích ứng] Vineland-3: Thang đo lường hành vi thích ứng và năng lực tự lập từ sơ sinh đến trưởng thành
Vineland-3 (tên đầy đủ: Vineland Adaptive Behavior Scales – Third Edition) là một công cụ đánh giá chuẩn hóa hàng đầu thế giới trong lĩnh vực tâm lý học lâm sàng, giáo dục đặc biệt và y khoa phát triển. Công cụ này được thiết kế để đo lường hành vi thích ứng (adaptive behavior) của một cá nhân từ khi mới sinh (0 tuổi) đến 90 tuổi. Dưới đây là phiên bản online tiếng Việt giúp đánh giá kết quả rất và chính xác. Nên thực hiện trên màn hình máy tính sẽ trực quan hơn.
(function() { const host = document.getElementById('vn3-wp-host'); if (!host) return; // Thẻ giữ chỗ khi dùng DOM Portal đưa bảng ra thẳng document.body const placeholder = document.createComment('vn3-portal-placeholder'); // Khởi tạo Shadow DOM để cách ly 100% CSS với Theme WordPress const shadow = host.attachShadow({ mode: 'open' }); const domains = [ { id: 'comm', name: 'Giao tiếp (Communication)', core: true, subdomains: [ { id: 'rec', name: 'Tiếp nhận (Receptive)', items: [ 'Quay đầu hoặc nhìn theo khi được gọi tên', 'Hiểu và làm theo chỉ dẫn đơn giản 1 bước', 'Chỉ đúng các bộ phận cơ thể hoặc đồ vật quen thuộc khi được hỏi', 'Hiểu các câu hỏi "Ai", "Cái gì", "Ở đâu"', 'Làm theo chỉ dẫn gồm 2–3 bước liên tiếp không cần nhắc lại', 'Chú ý lắng nghe câu chuyện hoặc hướng dẫn trong 15 phút' ] }, { id: 'exp', name: 'Diễn đạt (Expressive)', items: [ 'Sử dụng cử chỉ hoặc từ đơn để yêu cầu đồ vật mong muốn', 'Nói được cụm từ 2–3 từ để diễn đạt ý muốn', 'Đặt câu hỏi "Cái gì đây?", "Tại sao?" phù hợp ngữ cảnh', 'Nói câu hoàn chỉnh có chủ ngữ - vị ngữ rõ ràng', 'Kể lại sự việc đã xảy ra trong ngày theo trình tự hợp lý', 'Duy trì cuộc trò chuyện qua lại nhiều lượt đúng chủ đề' ] }, { id: 'wri', name: 'Viết (Written)', items: [ 'Cầm sách đúng chiều và lật từng trang xem hình', 'Nhận biết các chữ cái trong bảng chữ cái và chữ số cơ bản', 'Tự viết hoặc tô theo được tên của bản thân', 'Đọc hiểu các từ đơn giản, biển báo hoặc nhãn hiệu quen thuộc', 'Đọc hiểu câu ngắn hoặc đoạn văn phù hợp lứa tuổi', 'Viết được câu ngắn hoặc tin nhắn có nghĩa rõ ràng' ] } ] }, { id: 'dls', name: 'Kỹ năng sống hàng ngày (Daily Living Skills)', core: true, subdomains: [ { id: 'per', name: 'Cá nhân (Personal)', items: [ 'Tự cầm cốc uống nước và dùng thìa xúc ăn gọn gàng', 'Thông báo hoặc tự đi vệ sinh đúng nơi quy định', 'Tự cởi và mặc quần áo đơn giản (quần thun, áo phông)', 'Tự rửa tay bằng xà phòng, lau khô và tự đánh răng', 'Tự tắm rửa sạch sẽ mà chỉ cần giám sát tối thiểu', 'Biết cài cúc áo, kéo khóa và buộc dây giày' ] }, { id: 'dom', name: 'Gia đình (Domestic)', items: [ 'Tự cất đồ chơi hoặc đồ dùng cá nhân vào đúng chỗ sau khi dùng', 'Bỏ rác vào thùng rác và phụ dọn bàn ăn', 'Biết lau bàn, quét nhà hoặc gấp quần áo đơn giản', 'Nhận biết và tránh các vật dụng nguy hiểm (ổ điện, nước sôi, dao)', 'Tự lấy đồ ăn nhẹ/nước uống và dọn dẹp sau khi ăn', 'Sử dụng an toàn một số thiết bị gia dụng cơ bản' ] }, { id: 'com', name: 'Cộng đồng (Community)', items: [ 'Nắm tay người lớn hoặc đi trên vỉa hè an toàn khi ra đường', 'Quan sát hai bên và tuân thủ tín hiệu đèn khi qua đường', 'Hiểu khái niệm thời gian cơ bản (sáng/tối, hôm qua/ngày mai)', 'Nhận biết công dụng của tiền và phân biệt các mệnh giá tiền', 'Xem được giờ trên đồng hồ kim hoặc đồng hồ điện tử', 'Biết mua món đồ nhỏ và kiểm tra tiền thừa hoặc dùng điện thoại liên lạc' ] } ] }, { id: 'soc', name: 'Xã hội hóa (Socialization)', core: true, subdomains: [ { id: 'ipr', name: 'Quan hệ liên cá nhân (Interpersonal)', items: [ 'Giao tiếp mắt và mỉm cười đáp lại người quen', 'Nhận biết cảm xúc vui, buồn, tức giận của người khác', 'Bắt chước hành động hoặc biểu cảm của người lớn/bạn bè', 'Thể hiện sự quan tâm, an ủi khi thấy người khác buồn hoặc đau', 'Chủ động chào hỏi và bắt chuyện với bạn cùng trang lứa', 'Xây dựng và duy trì tình bạn thân thiết với ít nhất 1–2 bạn' ] }, { id: 'pla', name: 'Vui chơi & Giải trí (Play & Leisure)', items: [ 'Chơi các trò chơi tương tác đơn giản (ú òa, lăn bóng qua lại)', 'Chơi giả vờ (cho búp bê ăn, nấu ăn, đóng vai nhân vật)', 'Chơi cạnh và chia sẻ đồ chơi với trẻ khác khi được gợi ý', 'Biết chờ đến lượt (luân phiên) trong trò chơi nhóm', 'Tuân thủ luật chơi trong các trò chơi vận động hoặc cờ bàn', 'Chủ động rủ bạn cùng tham gia hoạt động giải trí chung' ] }, { id: 'cop', name: 'Kỹ năng ứng phó (Coping Skills)', items: [ 'Biết nói lời "Cảm ơn" và "Xin lỗi" phù hợp hoàn cảnh', 'Chuyển đổi hoạt động mà không la hét hay ăn vạ kéo dài', 'Kiểm soát cơn giận khi không đạt được điều mình muốn ngay lập tức', 'Chấp nhận sự thay đổi nhỏ trong lịch trình sinh hoạt hàng ngày', 'Biết xin phép trước khi lấy đồ của người khác', 'Giữ bình tĩnh và chấp nhận kết quả khi thua cuộc trong trò chơi' ] } ] }, { id: 'mot', name: 'Kỹ năng vận động (Motor Skills - Tùy chọn)', core: false, subdomains: [ { id: 'gro', name: 'Vận động thô (Gross Motor)', items: [ 'Đi vững vàng, chạy không bị vấp ngã', 'Bước lên và xuống cầu thang luân phiên hai chân', 'Nhảy bật bằng hai chân tại chỗ và nhảy qua vật cản thấp', 'Đứng một chân giữ thăng bằng trong vài giây và nhảy lò cò', 'Đá bóng về phía trước trúng hướng mục tiêu', 'Ném và bắt được bóng cỡ vừa bằng hai tay' ] }, { id: 'fin', name: 'Vận động tinh (Fine Motor)', items: [ 'Nhặt vật nhỏ bằng ngón cái và ngón trỏ (kẹp gọng kìm)', 'Xếp chồng được từ 6–8 khối gỗ hoặc lắp ghép mô hình đơn giản', 'Mở nắp hộp, vặn tay nắm cửa và xâu hạt qua dây', 'Cầm bút bằng 3 đầu ngón tay (tư thế kiềng 3 chân)', 'Vẽ theo được hình tròn, hình vuông, đường thẳng và tô màu trong hình', 'Sử dụng kéo cắt giấy theo đường thẳng và đường cong' ] } ] } ]; const itemScores = {}; const quickVScales = {}; let entryMode = 'items'; let activeDomainId = 'comm'; let isFullscreen = false; let savedScrollY = 0; function applyPreset(type) { domains.forEach(d => { d.subdomains.forEach(s => { s.items.forEach((_, idx) => { const key = `${s.id}_${idx}`; if (type === 'typical') { itemScores[key] = idx < 4 ? 2 : 1; quickVScales[s.id] = 15; } else if (type === 'asd') { if (s.id === 'wri' || s.id === 'per' || s.id === 'fin') { itemScores[key] = idx < 4 ? 2 : 1; quickVScales[s.id] = 14; } else if (d.id === 'comm' || d.id === 'soc') { itemScores[key] = idx < 2 ? 2 : (idx === 2 ? 1 : 0); quickVScales[s.id] = 9; } else { itemScores[key] = idx < 3 ? 2 : (idx === 3 ? 1 : 0); quickVScales[s.id] = 11; } } else if (type === 'idd') { itemScores[key] = idx < 1 ? 2 : (idx 0) prob = 1 - prob; return Math.max(1, Math.min(99, Math.round(prob * 100))); } function getAdaptiveLevel(ss) { if (ss >= 130) return { label: 'Rất cao (High)', cls: 'lvl-high' }; if (ss >= 115) return { label: 'Khá cao (Moderately High)', cls: 'lvl-mhigh' }; if (ss >= 86) return { label: 'Đạt yêu cầu / Trung bình (Adequate)', cls: 'lvl-adeq' }; if (ss >= 71) return { label: 'Thấp vừa phải (Moderately Low)', cls: 'lvl-mlow' }; return { label: 'Thấp (Low)', cls: 'lvl-low' }; } function computePsychometrics() { const subResults = {}; const domainResults = {}; domains.forEach(d => { let vSum = 0; d.subdomains.forEach(s => { let raw = 0; s.items.forEach((_, idx) => { raw += (itemScores[`${s.id}_${idx}`] || 0); }); const vScale = entryMode === 'quick' ? (quickVScales[s.id] || 15) : Math.round(6 + (raw / 12) * 15); quickVScales[s.id] = vScale; subResults[s.id] = { raw, vScale, name: s.name, domainId: d.id }; vSum += vScale; }); const vAvg = vSum / d.subdomains.length; const ss = Math.round(100 + ((vAvg - 15) / 3) * 15); const clampedSS = Math.max(40, Math.min(140, ss)); const pct = standardScoreToPercentile(clampedSS); const level = getAdaptiveLevel(clampedSS); domainResults[d.id] = { name: d.name, core: d.core, vSum, ss: clampedSS, ci: `${Math.max(40, clampedSS - 5)} – ${Math.min(140, clampedSS + 5)}`, pct, level }; }); const coreSSSum = domainResults.comm.ss + domainResults.dls.ss + domainResults.soc.ss; const abcSS = Math.round(coreSSSum / 3); const abcPct = standardScoreToPercentile(abcSS); const abcLevel = getAdaptiveLevel(abcSS); return { subResults, domainResults, abc: { ss: abcSS, ci: `${Math.max(40, abcSS - 4)} – ${Math.min(140, abcSS + 4)}`, pct: abcPct, level: abcLevel } }; } shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; color: #0f172a; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .app-wrap { width: 100%; background: #ffffff; border: 1px solid #cbd5e1; border-radius: 16px; box-shadow: 0 10px 30px -5px rgba(15, 23, 42, 0.08); overflow: hidden; position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (ĐÃ ĐƯỢC PORTAL RA BODY) */ .app-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 80px !important; } /* Thanh ghim thoát toàn màn hình luôn nổi ở trên cùng khi cuộn trên điện thoại */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .app-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 0.85rem; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 0.8rem; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 0 rgba(37, 99, 235, 0.4); } 70% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 10px rgba(37, 99, 235, 0); } 100% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 0 rgba(37, 99, 235, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #1d4ed8 0%, #2563eb 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 0.84rem; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 0.85rem; } /* Header */ .app-header { background: linear-gradient(135deg, #1e3a8a 0%, #2563eb 100%); color: #ffffff; padding: 18px 20px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 14px; } .app-header h2 { font-size: 1.2rem; font-weight: 700; color: #ffffff; margin-bottom: 4px; } .app-header p { font-size: 0.84rem; color: #dbeafe; } .header-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; } .preset-bar { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; } .preset-label { font-size: 0.76rem; color: #bfdbfe; font-weight: 600; } .btn-preset { background: rgba(255, 255, 255, 0.15); color: #ffffff; border: 1px solid rgba(255, 255, 255, 0.35); padding: 6px 11px; border-radius: 999px; font-size: 0.76rem; font-weight: 600; cursor: pointer; } .btn-preset:hover { background: rgba(255, 255, 255, 0.28); } .btn-fullscreen { background: #ffffff; color: #1e3a8a; border: none; padding: 7px 14px; border-radius: 999px; font-size: 0.8rem; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); } /* Thanh công cụ chế độ */ .mode-bar { background: #f1f5f9; padding: 12px 20px; border-bottom: 1px solid #e2e8f0; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; } .mode-switch { display: flex; gap: 6px; flex-wrap: wrap; } .mode-btn { padding: 7px 14px; border-radius: 8px; border: 1px solid #cbd5e1; background: #ffffff; color: #475569; font-size: 0.82rem; font-weight: 600; cursor: pointer; } .mode-btn.active { background: #2563eb; color: #ffffff; border-color: #2563eb; } /* KPI Cards */ .kpi-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; padding: 16px 20px; background: #f8fafc; border-bottom: 1px solid #e2e8f0; } .kpi-card { background: #ffffff; border: 1px solid #e2e8f0; border-radius: 12px; padding: 12px 14px; } .kpi-card.highlight { background: #eff6ff; border-color: #93c5fd; } .kpi-label { font-size: 0.73rem; font-weight: 700; color: #475569; text-transform: uppercase; } .kpi-val { font-size: 1.45rem; font-weight: 800; color: #0f172a; margin: 2px 0; } .kpi-sub { font-size: 0.74rem; color: #64748b; } /* Khu vực nhập câu hỏi */ .section-body { padding: 18px 20px; background: #ffffff; } .domain-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; } .d-tab { padding: 8px 14px; border-radius: 10px; border: 1px solid #cbd5e1; background: #f8fafc; color: #334155; font-size: 0.84rem; font-weight: 600; cursor: pointer; } .d-tab.active { background: #1e3a8a; color: #ffffff; border-color: #1e3a8a; } .subdomain-block { border: 1px solid #e2e8f0; border-radius: 12px; margin-bottom: 16px; overflow: hidden; } .sub-title-bar { background: #f8fafc; padding: 10px 14px; border-bottom: 1px solid #e2e8f0; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 8px; font-weight: 700; font-size: 0.9rem; } .sub-score-pill { font-size: 0.76rem; background: #dbeafe; color: #1d4ed8; padding: 3px 10px; border-radius: 999px; } .item-row { padding: 12px 14px; border-bottom: 1px solid #f1f5f9; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 10px; } .item-row:last-child { border-bottom: none; } .item-text { font-size: 0.88rem; color: #1e293b; flex: 1 1 220px; } .score-btns { display: flex; gap: 8px; flex-shrink: 0; } .s-btn { width: 40px; height: 36px; border-radius: 8px; border: 1px solid #cbd5e1; background: #ffffff; font-weight: 700; font-size: 0.88rem; cursor: pointer; color: #475569; touch-action: manipulation; } .s-btn.s-2 { background: #16a34a; color: #fff; border-color: #16a34a; } .s-btn.s-1 { background: #f59e0b; color: #fff; border-color: #f59e0b; } .s-btn.s-0 { background: #dc2626; color: #fff; border-color: #dc2626; } /* Quick Sliders */ .quick-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 12px; } .quick-card { border: 1px solid #e2e8f0; border-radius: 10px; padding: 12px 14px; background: #ffffff; } .quick-card label { display: flex; justify-content: space-between; font-size: 0.85rem; font-weight: 700; margin-bottom: 6px; } .quick-card input[type="range"] { width: 100%; height: 24px; accent-color: #2563eb; } /* Bảng Báo Cáo & Biểu Đồ */ .report-section { padding: 20px; border-top: 2px solid #e2e8f0; background: #f8fafc; } .report-title { font-size: 1.02rem; font-weight: 700; margin-bottom: 12px; color: #0f172a; } .table-scroll { width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 12px; margin-bottom: 20px; } table.v-table { width: 100%; border-collapse: collapse; min-width: 520px; text-align: left; font-size: 0.84rem; } .v-table th { background: #f1f5f9; padding: 10px 12px; font-weight: 700; color: #334155; border-bottom: 1px solid #cbd5e1; } .v-table td { padding: 10px 12px; border-bottom: 1px solid #e2e8f0; } .v-table tr.row-abc { background: #eff6ff; font-weight: 700; } .lvl-badge { display: inline-block; padding: 2px 8px; border-radius: 999px; font-size: 0.73rem; font-weight: 700; } .lvl-high, .lvl-mhigh { background: #dcfce7; color: #15803d; } .lvl-adeq { background: #dbeafe; color: #1d4ed8; } .lvl-mlow { background: #fef3c7; color: #b45309; } .lvl-low { background: #fee2e2; color: #b91c1c; } .chart-box { background: #ffffff; border: 1px solid #e2e8f0; border-radius: 12px; padding: 16px; margin-bottom: 16px; } .bar-row { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; font-size: 0.82rem; } .bar-label { width: 180px; flex-shrink: 0; font-weight: 600; color: #334155; } .bar-track { flex: 1; height: 18px; background: #f1f5f9; border-radius: 999px; overflow: hidden; } .bar-fill { height: 100%; border-radius: 999px; transition: width 0.3s ease; } .bar-val { width: 46px; text-align: right; font-weight: 700; flex-shrink: 0; } .iep-box { background: #fffbeb; border: 1px solid #fde68a; border-radius: 12px; padding: 14px; } .iep-item { font-size: 0.85rem; color: #78350f; padding: 4px 0; display: flex; gap: 8px; } @media (max-width: 600px) { .bar-label { width: 115px; font-size: 0.74rem; } .app-header, .section-body, .report-section, .kpi-grid { padding: 12px; } .kpi-grid { grid-template-columns: 1fr 1fr; } .item-row { padding: 10px 12px; } .s-btn { width: 42px; height: 38px; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 0.8rem; } }
Mô Phỏng Đánh Giá Hành Vi Thích Ứng Vineland-3
Thực hành chấm điểm (0–1–2), quy đổi V-Scale, Điểm Chuẩn & Hồ sơ năng lực
| Lĩnh vực / Chỉ số | Điểm Chuẩn (SS) | Khoảng tin cậy 90% | Bách phân vị | Mức độ thích ứng |
|---|
Khác với các bài kiểm tra chỉ số thông minh (IQ) đo lường tiềm năng nhận thức, Vineland-3 đánh giá những gì một người thực sự làm được trong cuộc sống hàng ngày để tự chăm sóc bản thân, giao tiếp và hòa nhập với cộng đồng.
1. Cấu trúc các lĩnh vực đánh giá của Vineland-3
Vineland-3 đo lường hành vi thích ứng thông qua 3 lĩnh vực cốt lõi (tạo nên chỉ số Tổng hợp Hành vi Thích ứng – Adaptive Behavior Composite – ABC) và 2 lĩnh vực tùy chọn:
Bạn có thể tương tác với sơ đồ cấu trúc dưới đây để khám phá chi tiết các lĩnh vực, tiểu lĩnh vực và thang điểm chuẩn hóa của công cụ Vineland-3:
(function() { const host = document.getElementById('vn3-struct-wp-host'); if (!host) return; // Thẻ giữ chỗ (Placeholder) để khi nhấc bảng ra document.body không làm giật trang WordPress const placeholder = document.createComment('vn3-struct-portal-placeholder'); // Khởi tạo Shadow DOM cách ly 100% với CSS của Theme WordPress const shadow = host.attachShadow({ mode: 'open' }); const domainsData = [ { id: "comm", category: "core", badgeText: "Cốt lõi (Tính vào ABC)", title: "1. Giao tiếp (Communication)", desc: "Khả năng lắng nghe, hiểu lời nói, sử dụng ngôn ngữ cử chỉ/lời nói để giao tiếp và kỹ năng đọc - viết.", ageRange: "0 – 90 tuổi", scaleInfo: "Điểm Chuẩn (M = 100, SD = 15)", subdomains: [ { name: "Tiếp nhận (Receptive)", age: "0 – 90 tuổi", items: [ "Quay đầu khi được gọi tên, nhìn theo hướng chỉ tay", "Hiểu câu hỏi và làm theo chỉ dẫn 2–3 bước", "Chú ý lắng nghe câu chuyện hoặc bài giảng" ] }, { name: "Diễn đạt (Expressive)", age: "0 – 90 tuổi", items: [ "Dùng cử chỉ, từ đơn hoặc câu để yêu cầu và biểu đạt", "Kể lại sự việc đã xảy ra theo trình tự logic", "Duy trì hội thoại hai chiều đúng chủ đề" ] }, { name: "Viết (Written)", age: "3 – 90 tuổi", items: [ "Nhận biết chữ cái, đọc từ ngữ và biển báo", "Đọc hiểu văn bản, sách báo phù hợp lứa tuổi", "Viết tên, viết câu hoàn chỉnh hoặc soạn tin nhắn" ] } ] }, { id: "dls", category: "core", badgeText: "Cốt lõi (Tính vào ABC)", title: "2. Kỹ năng sống hàng ngày (Daily Living Skills)", desc: "Khả năng tự chăm sóc bản thân, thực hiện công việc nhà và vận hành độc lập ngoài cộng đồng.", ageRange: "0 – 90 tuổi", scaleInfo: "Điểm Chuẩn (M = 100, SD = 15)", subdomains: [ { name: "Cá nhân (Personal)", age: "0 – 90 tuổi", items: [ "Tự ăn uống bằng thìa/đũa gọn gàng", "Tự mặc quần áo, đi vệ sinh, tắm rửa, đánh răng", "Tự chăm sóc sức khỏe cá nhân cơ bản" ] }, { name: "Gia đình (Domestic)", age: "3 – 90 tuổi", items: [ "Cất đồ đạc, quét dọn nhà cửa, rửa bát, gấp quần áo", "Sử dụng thiết bị gia dụng cẩn thận, an toàn", "Sơ chế thực phẩm và chuẩn bị bữa ăn đơn giản" ] }, { name: "Cộng đồng (Community)", age: "3 – 90 tuổi", items: [ "Tuân thủ quy tắc an toàn khi đi bộ và qua đường", "Xem đồng hồ, quản lý thời gian, dùng điện thoại", "Nhận biết mệnh giá tiền, mua sắm và tính tiền thừa" ] } ] }, { id: "soc", category: "core", badgeText: "Cốt lõi (Tính vào ABC)", title: "3. Xã hội hóa (Socialization)", desc: "Cách tương tác với người khác, kết bạn, tham gia trò chơi nhóm, kiểm soát cảm xúc và ứng xử lịch sự.", ageRange: "0 – 90 tuổi", scaleInfo: "Điểm Chuẩn (M = 100, SD = 15)", subdomains: [ { name: "Quan hệ liên cá nhân (Interpersonal)", age: "0 – 90 tuổi", items: [ "Giao tiếp mắt, mỉm cười đáp lại và thể hiện sự gắn bó", "Nhận diện cảm xúc vui, buồn, giận của người khác", "Chủ động kết bạn và thể hiện sự quan tâm, đồng cảm" ] }, { name: "Vui chơi & Giải trí (Play & Leisure)", age: "0 – 90 tuổi", items: [ "Chơi giả vờ (đóng vai) và chơi hợp tác cùng bạn", "Chia sẻ đồ chơi và biết chờ đến lượt (luân phiên)", "Tuân thủ luật chơi trong các trò chơi tập thể" ] }, { name: "Kỹ năng ứng phó (Coping Skills)", age: "2 – 90 tuổi", items: [ "Biết nói lời cảm ơn, xin lỗi đúng hoàn cảnh", "Kiểm soát cơn giận hoặc sự thất vọng khi bị từ chối", "Thích nghi linh hoạt khi thay đổi lịch trình" ] } ] }, { id: "mot", category: "optional", badgeText: "Tùy chọn (0 – 9 tuổi)", title: "4. Kỹ năng vận động (Motor Skills)", desc: "Đánh giá sự phối hợp cơ bắp lớn để di chuyển và cơ nhỏ bàn tay để thao tác đồ vật chính xác.", ageRange: "0 – 9 tuổi (hoặc người có suy giảm vận động)", scaleInfo: "Điểm Chuẩn (M = 100, SD = 15)", subdomains: [ { name: "Vận động thô (Gross Motor)", age: "0 – 9 tuổi", items: [ "Ngồi vững, bò, tự đi, chạy và giữ thăng bằng", "Bước lên xuống cầu thang luân phiên hai chân", "Nhảy lò cò, đá bóng, ném và bắt bóng bằng hai tay" ] }, { name: "Vận động tinh (Fine Motor)", age: "0 – 9 tuổi", items: [ "Nhặt vật nhỏ bằng ngón cái và ngón trỏ", "Mở nắp hộp, vặn tay nắm cửa, lật từng trang sách", "Cầm bút tô màu/vẽ và dùng kéo cắt theo đường kẻ" ] } ] }, { id: "mal", category: "maladaptive", badgeText: "Tùy chọn (Cảnh báo lâm sàng)", title: "5. Hành vi kém thích ứng (Maladaptive Behavior)", desc: "Các hành vi gây cản trở sinh hoạt và học tập hàng ngày như lo âu, thu mình, cáu giận hoặc tự gây hại.", ageRange: "3 – 90 tuổi", scaleInfo: "V-scale (M = 15, SD = 3) — Điểm ≥ 18 cần lưu ý", subdomains: [ { name: "Hướng nội (Internalizing)", age: "3 – 90 tuổi", items: [ "Lo âu, sợ hãi quá mức hoặc dễ khóc vô cớ", "Thu mình, né tránh xã hội, buồn bã kéo dài", "Rối loạn giấc ngủ hoặc ăn uống do căng thẳng" ] }, { name: "Hướng ngoại (Externalizing)", age: "3 – 90 tuổi", items: [ "Ăn vạ dữ dội, la hét hoặc đập phá đồ đạc", "Gây hấn (đánh, cắn, xô đẩy) hoặc chống đối người lớn", "Bốc đồng, vi phạm nội quy trường lớp" ] }, { name: "Vấn đề nghiêm trọng (Critical Items)", age: "3 – 90 tuổi", items: [ "Hành vi tự gây thương tích (tự cắn tay, đập đầu)", "Hành vi định hình rập khuôn hoặc cuốn hút giác quan lạ", "Tự ý bỏ chạy khỏi nơi an toàn không nhận thức nguy hiểm" ] } ] } ]; let currentFilter = "all"; let openIds = new Set(["comm"]); let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; color: #0f172a; line-height: 1.55; width: 100%; box-sizing: border-box; --bg: #f8fafc; --card: #ffffff; --text: #0f172a; --muted: #475569; --border: #e2e8f0; --core: #2563eb; --core-soft: #eff6ff; --opt: #7c3aed; --opt-soft: #f5f3ff; --mal: #dc2626; --mal-soft: #fef2f2; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .vineland-wrapper { width: 100%; background: var(--card); border: 1px solid var(--border); border-radius: 16px; box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06); overflow: hidden; position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .vineland-wrapper.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng khi cuộn */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .vineland-wrapper.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 0.85rem; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 0.8rem; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 0 rgba(37, 99, 235, 0.4); } 70% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 10px rgba(37, 99, 235, 0); } 100% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 0 rgba(37, 99, 235, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #1d4ed8 0%, #2563eb 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 0.84rem; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 0.85rem; } /* Header Banner */ .v-header { background: linear-gradient(135deg, #1e3a8a 0%, #2563eb 100%); color: #ffffff; padding: 20px 24px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 14px; } .v-header-text { flex: 1 1 260px; } .v-header h2 { font-size: clamp(1.15rem, 2.5vw, 1.4rem); font-weight: 700; margin-bottom: 6px; color: #ffffff; } .v-header p { font-size: 0.9rem; color: #dbeafe; } .btn-fullscreen-top { background: #ffffff; color: #1e3a8a; border: none; padding: 8px 14px; border-radius: 999px; font-size: 0.82rem; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); transition: transform 0.15s ease; } .btn-fullscreen-top:hover { transform: translateY(-1px); } /* Thanh lọc & Tóm tắt chỉ số ABC */ .v-toolbar { padding: 14px 20px; background: #f1f5f9; border-bottom: 1px solid var(--border); display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; } .abc-summary { font-size: 0.85rem; color: #1e293b; background: #ffffff; padding: 6px 12px; border-radius: 8px; border: 1px solid #cbd5e1; font-weight: 600; } .filter-tabs { display: flex; flex-wrap: wrap; gap: 6px; } .tab-btn { padding: 6px 12px; font-size: 0.8rem; font-weight: 600; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; color: var(--muted); cursor: pointer; transition: all 0.2s; touch-action: manipulation; } .tab-btn.active { background: var(--core); color: #ffffff; border-color: var(--core); } /* Danh sách Lĩnh vực 1 cột duy nhất (Full-width) */ .domain-stack { padding: 16px 20px; display: flex; flex-direction: column; gap: 12px; max-width: 1020px; margin: 0 auto; } .domain-item { border: 1px solid var(--border); border-radius: 12px; background: #ffffff; overflow: hidden; transition: box-shadow 0.2s; } .domain-item:hover { box-shadow: 0 4px 12px rgba(15, 23, 42, 0.05); } .domain-item.core { border-left: 5px solid var(--core); } .domain-item.optional { border-left: 5px solid var(--opt); } .domain-item.maladaptive { border-left: 5px solid var(--mal); } .domain-summary { padding: 16px 18px; display: flex; justify-content: space-between; align-items: center; gap: 12px; cursor: pointer; user-select: none; background: #ffffff; } .domain-summary:hover { background: #f8fafc; } .domain-info { display: flex; flex-direction: column; gap: 4px; } .domain-top-row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; } .domain-title { font-size: 1.02rem; font-weight: 700; color: var(--text); } .badge { font-size: 0.72rem; font-weight: 700; padding: 2px 9px; border-radius: 999px; text-transform: uppercase; } .badge.core { background: var(--core-soft); color: var(--core); } .badge.optional { background: var(--opt-soft); color: var(--opt); } .badge.maladaptive { background: var(--mal-soft); color: var(--mal); } .domain-desc { font-size: 0.875rem; color: var(--muted); } .toggle-icon { width: 28px; height: 28px; border-radius: 50%; background: #f1f5f9; display: flex; align-items: center; justify-content: center; font-size: 0.75rem; color: var(--muted); flex-shrink: 0; transition: transform 0.25s ease, background 0.2s; } .domain-item.open .toggle-icon { transform: rotate(180deg); background: var(--core); color: #ffffff; } /* Nội dung chi tiết xổ xuống bên dưới */ .domain-content { display: none; padding: 16px 18px 18px; background: #f8fafc; border-top: 1px solid var(--border); } .domain-item.open .domain-content { display: block; } .meta-bar { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 14px; } .meta-pill { background: #ffffff; border: 1px solid var(--border); padding: 6px 12px; border-radius: 8px; font-size: 0.8rem; color: #334155; } /* Lưới Tiểu lĩnh vực tự co giãn */ .subdomain-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 12px; } .sub-card { background: #ffffff; border: 1px solid var(--border); border-radius: 10px; padding: 14px; display: flex; flex-direction: column; gap: 10px; } .sub-header { display: flex; justify-content: space-between; align-items: flex-start; gap: 8px; border-bottom: 1px dashed var(--border); padding-bottom: 8px; } .sub-name { font-weight: 700; font-size: 0.92rem; color: #1e293b; } .sub-age { font-size: 0.72rem; font-weight: 600; background: #f1f5f9; color: #475569; padding: 2px 7px; border-radius: 6px; white-space: nowrap; } /* Dùng Flexbox
Cấu trúc Thang đo Hành vi Thích ứng Vineland-3
Nhấp vào từng lĩnh vực để mở rộng các tiểu lĩnh vực và chỉ báo hành vi tương ứng (0 – 90 tuổi)
2. Hình thức thực hiện (3 phiên bản)
Vineland-3 không yêu cầu người được đánh giá phải trực tiếp làm bài kiểm tra, mà thu thập thông tin qua người hiểu rõ họ nhất (cha mẹ, người chăm sóc, giáo viên) bằng 3 hình thức:
-
Phỏng vấn (Interview Form): Chuyên gia tâm lý trò chuyện bán cấu trúc với phụ huynh/người chăm sóc (không đọc nguyên văn câu hỏi như bảng hỏi mà trao đổi tự nhiên để chấm điểm). Đây là hình thức có độ tin cậy lâm sàng cao nhất.
-
Bảng hỏi Phụ huynh/Người chăm sóc (Parent/Caregiver Form): Phụ huynh tự điền vào bảng câu hỏi đánh giá hành vi ở nhà (có cả bản toàn diện Comprehensive và bản rút gọn Domain-Level).
-
Bảng hỏi Giáo viên (Teacher Form): Giáo viên đánh giá các kỹ năng thích ứng của học sinh trong môi trường học đường (áp dụng cho trẻ từ 3 đến 21 tuổi).
3. Ứng dụng thực tiễn của Vineland-3
-
Hỗ trợ chẩn đoán lâm sàng: Là tiêu chuẩn vàng để chẩn đoán Khuyết tật trí tuệ (Intellectual Disability) (vì tiêu chuẩn DSM-5 yêu cầu phải có sự thiếu hụt cả về IQ lẫn hành vi thích ứng), Rối loạn phổ tự kỷ (ASD), chậm phát triển toàn diện (GDD), ADHD và các tổn thương não.
-
Lập kế hoạch can thiệp (IEP): Giúp nhà chuyên môn xác định chính xác điểm mạnh và điểm yếu thực tế của trẻ để xây dựng Kế hoạch Giáo dục Cá nhân hóa (IEP).
-
Theo dõi tiến độ: Đo lường sự tiến bộ của cá nhân theo thời gian hoặc đánh giá hiệu quả của một chương trình trị liệu.
4. Cách tính điểm cơ bản
-
Thang điểm hành vi: Mỗi mục câu hỏi trong Vineland-3 được chấm theo tần suất cá nhân tự thực hiện kỹ năng đó mà không cần nhắc nhở hay hỗ trợ: 2 (Thường xuyên), 1 (Thỉnh thoảng), 0 (Không bao giờ).
-
Điểm Chuẩn (Standard Scores): Các lĩnh vực chính và điểm tổng hợp (ABC) có điểm trung bình là 100 và độ lệch chuẩn là 15 (tương tự thang đo IQ).
-
Điểm V-scale: Các tiểu lĩnh vực sử dụng điểm v-scale với trung bình là 15 và độ lệch chuẩn là 3.
Nội dung được lấy từ tài liệu gốc và hỗ trợ tạo công cụ bởi AI.
[Giác quan] SPM-2: Thang đánh giá rối loạn xử lý giác quan đa môi trường (Gia đình và Trường học)
(function() { const host = document.getElementById('spm2-wp-host'); if (!host) return; const placeholder = document.createComment('spm2-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // Cấu hình 5 Phiên bản Độ tuổi & Môi trường của SPM-2 (Kuhaneck, Henry, Glennon, Parham & Ecker, 2021) const formConfigs = { infant: { code: 'infant', tabTitle: '👶 1. Infant/Toddler (4–30m)', tabSub: 'Nhũ nhi & Trẻ nhỏ • Cha mẹ', fullTitle: 'SPM-2 Infant / Toddler Form — Dành Cho Trẻ Nhũ Nhi & Trẻ Nhỏ (4 Đến 30 Tháng Tuổi • Cha Mẹ Đánh Giá)', desc: 'Đánh giá sớm khả năng điều hòa giác quan, tương tác xã hội đầu đời và tiền đề lập kế hoạch vận động (Praxis) ở trẻ từ 4 đến 30 tháng tuổi.', subj: 'Bé', poss: 'của bé', peer: 'người thân và các bé khác', env: 'trong sinh hoạt hàng ngày ở nhà' }, preschool: { code: 'preschool', tabTitle: '🧸 2. Preschool (2–5 tuổi)', tabSub: 'Mầm non • Gia đình / Trường', fullTitle: 'SPM-2 Preschool Form — Dành Cho Trẻ Mầm Non (2 Đến 5 Tuổi • Cha Mẹ / Giáo Viên Đánh Giá)', desc: 'Đo lường 8 lĩnh vực xử lý giác quan, thực hành vận động (Praxis) và tham gia xã hội ở lứa tuổi mẫu giáo (2 – 5 tuổi).', subj: 'Bé', poss: 'của bé', peer: 'các bạn cùng lớp mẫu giáo', env: 'ở nhà và lớp mầm non' }, child_home: { code: 'child_home', tabTitle: '🏠 3. Child Home (5–12 tuổi)', tabSub: 'Trẻ em tại Nhà • Cha mẹ chấm', fullTitle: 'SPM-2 Child Home Form — Dành Cho Trẻ Em Lứa Tuổi Học Đường Tại Gia Đình (5 Đến 12 Tuổi • Cha Mẹ Đánh Giá)', desc: 'Phiên bản chuẩn hóa dành cho phụ huynh đánh giá 80 chỉ báo thuộc 6 hệ giác quan (tính Tổng điểm Giác quan ST), Lập kế hoạch vận động (PLA) và Tham gia xã hội (SOC) tại nhà.', subj: 'Trẻ', poss: 'của trẻ', peer: 'bạn bè đồng trang lứa', env: 'tại gia đình và ngoài cộng đồng' }, child_school: { code: 'child_school', tabTitle: '🏫 4. Child School (5–12 tuổi)', tabSub: 'Trẻ em tại Lớp • Giáo viên chấm', fullTitle: 'SPM-2 Child Main Classroom Form — Dành Cho Giáo Viên Đánh Giá Tại Trường Học (5 Đến 12 Tuổi)', desc: 'Đánh giá cách thức xử lý giác quan và khả năng lập kế hoạch vận động (Praxis) ảnh hưởng đến việc học tập, viết bài, giờ ra chơi và tương tác tại lớp học.', subj: 'Học sinh', poss: 'của học sinh', peer: 'các bạn cùng lớp', env: 'trong lớp học và sân trường' }, adolescent_adult: { code: 'adolescent_adult', tabTitle: '🧑 5. Teen/Adult (12–87 tuổi)', tabSub: 'Vị thành niên & Người lớn • Tự chấm', fullTitle: 'SPM-2 Adolescent / Adult Self-Report Form — Bảng Tự Đánh Giá Dành Cho Vị Thành Niên & Người Lớn (12 – 87 Tuổi)', desc: 'Phiên bản tự đánh giá ở ngôi thứ nhất ("Tôi...") đo lường 8 tiểu thang SPM-2 trong học tập, công việc, lái xe, quản lý sinh hoạt và quan hệ xã hội.', subj: 'Tôi', poss: 'của mình', peer: 'mọi người xung quanh', env: 'trong công việc và cuộc sống' } }; // Cấu hình 8 Tiểu thang Cốt lõi của SPM-2 (Mỗi tiểu thang 10 câu hỏi, chấm từ 1 đến 4 điểm -> Điểm thô mỗi thang từ 10 đến 40 điểm) // inST: true đối với 6 hệ giác quan cấu thành Tổng điểm Giác quan (Sensory Total - ST: 60 câu -> Điểm thô từ 60 đến 240 điểm) const scaleConfigs = { soc: { code: 'soc', short: 'SOC', inST: false, rev: true, name: '1. Tham gia Xã hội (Social Participation - SOC • 10 câu)', color: '#2563eb' }, vis: { code: 'vis', short: 'VIS', inST: true, rev: false, name: '2. Thị giác (Vision - VIS • 10 câu) ★ [Thuộc ST]', color: '#0891b2' }, hea: { code: 'hea', short: 'HEA', inST: true, rev: false, name: '3. Thính giác (Hearing - HEA • 10 câu) ★ [Thuộc ST]', color: '#0284c7' }, tou: { code: 'tou', short: 'TOU', inST: true, rev: false, name: '4. Xúc giác (Touch - TOU • 10 câu) ★ [Thuộc ST]', color: '#0d9488' }, ts: { code: 'ts', short: 'T&S', inST: true, rev: false, name: '5. Vị giác & Khứu giác (Taste and Smell - T&S • 10 câu) ★ [Thuộc ST]', color: '#10b981' }, bod: { code: 'bod', short: 'BOD', inST: true, rev: false, name: '6. Nhận thức Cơ thể / Bản thể (Body Awareness - BOD • 10 câu) ★ [Thuộc ST]', color: '#f59e0b' }, bal: { code: 'bal', short: 'BAL', inST: true, rev: false, name: '7. Thăng bằng & Chuyển động / Tiền đình (Balance & Motion - BAL • 10 câu) ★ [Thuộc ST]', color: '#ea580c' }, pla: { code: 'pla', short: 'PLA', inST: false, rev: false, name: '8. Lập kế hoạch Vận động & Ý tưởng (Planning and Ideas / Praxis - PLA • 10 câu)', color: '#7c3aed' } }; // Đầy đủ 80 câu hỏi chuẩn theo cấu trúc 8 Tiểu thang của SPM-2 (Mỗi tiểu thang 10 câu) // mech: 'over' (Tăng phản ứng - Hyper-reactivity), 'under' (Giảm phản ứng - Hypo-reactivity), 'seek' (Tìm kiếm cảm giác - Seeking), 'perc' (Nhận thức phân biệt giác quan - Perception), 'prax' (Lập kế hoạch & Ý tưởng - Praxis), 'soc' (Tham gia xã hội) const rawQuestions = [ // ===================================================== // 1. THAM GIA XÃ HỘI (SOCIAL PARTICIPATION - SOC • Câu 1 - 10 • ĐẢO NGƯỢC: Luôn luôn=1đ, Không bao giờ=4đ) // ===================================================== { id: 1, sc: 'soc', mech: 'soc', c: '{S} chơi đùa hoặc hợp tác làm việc hòa đồng cùng với {E}.' }, { id: 2, sc: 'soc', mech: 'soc', c: '{S} biết chia sẻ đồ dùng, đồ chơi và chờ đến lượt một cách tự nguyện.' }, { id: 3, sc: 'soc', mech: 'soc', c: '{S} tham gia tích cực vào các cuộc trò chuyện hoặc hoạt động chung {V}.' }, { id: 4, sc: 'soc', mech: 'soc', c: '{S} duy trì giao tiếp ánh mắt phù hợp và tự nhiên khi nói chuyện với người khác.' }, { id: 5, sc: 'soc', mech: 'soc', c: '{S} linh hoạt chấp nhận khi luật chơi thay đổi hoặc khi làm theo ý kiến của {E}.' }, { id: 6, sc: 'soc', mech: 'soc', c: '{S} nhận ra cảm xúc của người khác và thể hiện sự quan tâm, đồng cảm phù hợp.' }, { id: 7, sc: 'soc', mech: 'soc', c: '{S} biết cách tự giải quyết các bất đồng nhỏ với {E} mà không nổi nóng hay ăn vạ.' }, { id: 8, sc: 'soc', mech: 'soc', c: '{S} hòa nhập dễ dàng khi bước vào các buổi tụ tập, sinh hoạt tập thể hoặc nơi mới lạ.' }, { id: 9, sc: 'soc', mech: 'soc', c: '{S} hiểu được các câu nói đùa vui vẻ và ngôn ngữ cơ thể của {E}.' }, { id: 10, sc: 'soc', mech: 'soc', c: '{S} kết bạn và duy trì được mối quan hệ thân thiết với {E}.' }, // ===================================================== // 2. THỊ GIÁC (VISION - VIS • Câu 11 - 20 • THUỘC SENSORY TOTAL - ST) // ===================================================== { id: 11, sc: 'vis', mech: 'over', c: '{S} tỏ ra khó chịu, nheo mắt hoặc lấy tay che mắt trước ánh sáng mặt trời hoặc đèn sáng trong phòng.' }, { id: 12, sc: 'vis', mech: 'over', c: '{S} rất dễ bị phân tâm bởi các chuyển động thị giác xung quanh (như người đi qua lại, cảnh vật ngoài cửa sổ).' }, { id: 13, sc: 'vis', mech: 'perc', c: '{S} gặp khó khăn khi tìm một món đồ đang nằm lẫn trong ngăn kéo hoặc trên mặt bàn có nhiều đồ vật.' }, { id: 14, sc: 'vis', mech: 'seek', c: '{S} thích nhìn chằm chằm vào các vật xoay tròn (quạt trần, bánh xe), ánh đèn nhấp nháy hoặc bóng nắng.' }, { id: 15, sc: 'vis', mech: 'seek', c: '{S} hay nhìn nghiêng qua khóe mắt hoặc đưa các ngón tay/đồ vật lại thật sát trước mắt để ngắm.' }, { id: 16, sc: 'vis', mech: 'perc', c: '{S} hay bị nhìn nhầm dòng khi đọc sách, chép bài trên bảng hoặc bỏ sót các chi tiết hình ảnh.' }, { id: 17, sc: 'vis', mech: 'under',c: '{S} đi lại hay va quệt vào bàn ghế, khung cửa hoặc không để ý thấy chướng ngại vật ngay trước mặt.' }, { id: 18, sc: 'vis', mech: 'over', c: '{S} cảm thấy căng thẳng, mỏi mệt hoặc đau đầu khi ở trong những căn phòng trang trí quá sặc sỡ, lộn xộn.' }, { id: 19, sc: 'vis', mech: 'perc', c: '{S} gặp khó khăn trong việc ước lượng khoảng cách không gian (như khi bước xuống bậc thang hoặc bắt bóng bay tới).' }, { id: 20, sc: 'vis', mech: 'seek', c: '{S} bị cuốn hút mãnh liệt vào việc xếp các đồ vật thẳng hàng tăm tắp hoặc ngắm các đường thẳng song song.' }, // ===================================================== // 3. THÍNH GIÁC (HEARING - HEA • Câu 21 - 30 • THUỘC SENSORY TOTAL - ST) // ===================================================== { id: 21, sc: 'hea', mech: 'over', c: '{S} lấy hai tay bịt chặt tai, khóc hoặc hoảng sợ trước các âm thanh sinh hoạt (máy hút bụi, máy sấy, tiếng xả bồn cầu).' }, { id: 22, sc: 'hea', mech: 'over', c: '{S} rất dễ bị giật mình hoặc căng thẳng trước những tiếng động bất ngờ (tiếng chuông, tiếng còi xe, tiếng chó sủa).' }, { id: 23, sc: 'hea', mech: 'over', c: '{S} không thể tập trung làm việc nếu xung quanh có tiếng ồn nền nhỏ (tiếng quạt chạy, tiếng điều hòa, tiếng thì thầm).' }, { id: 24, sc: 'hea', mech: 'under',c: '{S} không quay lại hoặc không phản ứng khi được gọi tên nhiều lần (dù thính lực hoàn toàn bình thường).' }, { id: 25, sc: 'hea', mech: 'perc', c: '{S} gặp khó khăn trong việc xác định xem âm thanh hoặc tiếng người gọi đang phát ra từ hướng nào.' }, { id: 26, sc: 'hea', mech: 'seek', c: '{S} thích tự phát ra các âm thanh lạ, tiếng ngân nga lặp đi lặp lại hoặc đập gõ đồ vật để nghe tiếng vang.' }, { id: 27, sc: 'hea', mech: 'seek', c: '{S} thích bật âm lượng tivi/loa thật to hoặc áp sát tai vào vật đang phát ra âm thanh/rung động.' }, { id: 28, sc: 'hea', mech: 'over', c: '{S} tỏ ra quá tải, cáu gắt hoặc muốn bỏ ra ngoài khi ở nơi đông người ồn ào (nhà ăn, siêu thị, tiệc sinh nhật).' }, { id: 29, sc: 'hea', mech: 'perc', c: '{S} chậm hiểu lời nói hoặc thường xuyên phải hỏi lại khi người đối diện nói hơi nhanh.' }, { id: 30, sc: 'hea', mech: 'over', c: '{S} yêu cầu mọi người phải im lặng hoặc khó chịu khi nghe giọng hát/giọng nói cao của một số người.' }, // ===================================================== // 4. XÚC GIÁC (TOUCH - TOU • Câu 31 - 40 • THUỘC SENSORY TOTAL - ST) // ===================================================== { id: 31, sc: 'tou', mech: 'over', c: '{S} cực kỳ khó chịu, giãy giụa hoặc phản kháng khi cắt tóc, cắt móng tay, gội đầu hoặc rửa mặt.' }, { id: 32, sc: 'tou', mech: 'over', c: '{S} bứt rứt với mác quần áo, đường chỉ may tất, cổ áo hoặc từ chối mặc một số chất liệu vải nhất định.' }, { id: 33, sc: 'tou', mech: 'over', c: '{S} né tránh hoặc đòi lau rửa tay ngay lập tức nếu tay dính bẩn (hồ dán, màu vẽ, đất nặn, cát, thức ăn ướt).' }, { id: 34, sc: 'tou', mech: 'over', c: '{S} giật lùi lại, cáu giận hoặc đẩy ra khi có ai đó chạm nhẹ bất ngờ vào người hoặc đứng sát cạnh.' }, { id: 35, sc: 'tou', mech: 'under',c: '{S} dường như không cảm thấy đau hoặc không khóc khi bị ngã va đập mạnh, trầy xước hay đứt tay.' }, { id: 36, sc: 'tou', mech: 'under',c: '{S} không nhận ra khi mặt mũi, quần áo bị dính bẩn hoặc khi giày dép đang mang ngược chân.' }, { id: 37, sc: 'tou', mech: 'seek', c: '{S} liên tục sờ chạm, vuốt ve mọi bề mặt đồ đạc, tường nhà hoặc chạm vào người khác.' }, { id: 38, sc: 'tou', mech: 'seek', c: '{S} rất thích được ôm siết thật chặt, thích chui rúc vào góc hẹp hoặc thích đắp chăn nặng đè lên người.' }, { id: 39, sc: 'tou', mech: 'perc', c: '{S} gặp khó khăn khi phải mò tìm một đồ vật trong cặp sách/túi quần bằng tay mà không nhìn.' }, { id: 40, sc: 'tou', mech: 'over', c: '{S} không chịu đi chân trần trên cỏ, cát, thảm nhám hoặc rất nhạy cảm với nhiệt độ nước tắm.' }, // ===================================================== // 5. VỊ GIÁC & KHỨU GIÁC (TASTE AND SMELL - T&S • Câu 41 - 50 • THUỘC SENSORY TOTAL - ST) // ===================================================== { id: 41, sc: 'ts', mech: 'over', c: '{S} cực kỳ kén ăn, chỉ chấp nhận ăn một vài món quen thuộc và từ chối thử các món ăn mới.' }, { id: 42, sc: 'ts', mech: 'over', c: '{S} dễ bị nôn ọe khi ăn thức ăn có kết cấu lợn cợn, dai, nhão hoặc khi đánh răng.' }, { id: 43, sc: 'ts', mech: 'over', c: '{S} phản ứng gay gắt, bịt mũi hoặc buồn nôn trước các mùi thức ăn, mùi nước hoa, xà phòng hoặc mùi phòng vệ sinh.' }, { id: 44, sc: 'ts', mech: 'seek', c: '{S} thường xuyên đưa các đồ vật không phải thức ăn (cổ áo, bút chì, đồ chơi nhựa, ngón tay) lên miệng để liếm, cắn hoặc nhai.' }, { id: 45, sc: 'ts', mech: 'seek', c: '{S} có thói quen đưa mọi đồ vật hoặc người khác lên mũi để ngửi khi mới tiếp xúc.' }, { id: 46, sc: 'ts', mech: 'seek', c: '{S} thích các món ăn có gia vị cực mạnh (rất chua, rất cay, rất mặn) hoặc đồ ăn cứng giòn.' }, { id: 47, sc: 'ts', mech: 'under',c: '{S} không nhận ra khi thức ăn quá nóng/quá cay hoặc khi mùi trong phòng rất nồng.' }, { id: 48, sc: 'ts', mech: 'perc', c: '{S} khó phân biệt các mùi vị khác nhau hoặc nhét quá đầy thức ăn vào miệng cùng một lúc.' }, { id: 49, sc: 'ts', mech: 'under',c: '{S} ngậm thức ăn lâu trong miệng mà không nuốt hoặc không nhận ra thức ăn/nước bọt còn dính quanh môi.' }, { id: 50, sc: 'ts', mech: 'over', c: '{S} đòi hỏi các món ăn phải được để riêng rẽ trên đĩa, không được chạm hay trộn lẫn vào nhau.' }, // ===================================================== // 6. NHẬN THỨC CƠ THỂ / CẢM THỤ BẢN THỂ (BODY AWARENESS - BOD • Câu 51 - 60 • THUỘC SENSORY TOTAL - ST) // ===================================================== { id: 51, sc: 'bod', mech: 'perc', c: '{S} kiểm soát lực tay kém: cầm bút ấn quá mạnh làm rách giấy/gãy ngòi, hoặc cầm đồ vật quá lỏng làm rơi.' }, { id: 52, sc: 'bod', mech: 'perc', c: '{S} đóng cửa, đặt đồ vật xuống bàn hoặc bước chân đi lại tạo tiếng động ầm ầm quá mạnh mà không cố ý.' }, { id: 53, sc: 'bod', mech: 'seek', c: '{S} thích lao người va đập mạnh vào tường, nệm, ghế sofa hoặc vật lộn, xô đẩy mạnh khi chơi.' }, { id: 54, sc: 'bod', mech: 'seek', c: '{S} thường xuyên đi nhón gót chân, nhảy dậm chân mạnh xuống sàn hoặc gồng cứng cơ tay/chân.' }, { id: 55, sc: 'bod', mech: 'under',c: '{S} có vẻ nhanh mỏi cơ, hay nằm bò dài ra bàn, chống cằm hoặc phải tựa người vào tường/ghế khi ngồi.' }, { id: 56, sc: 'bod', mech: 'perc', c: '{S} làm hỏng hoặc làm gãy đồ chơi/đồ dùng do dùng lực kéo, vặn hoặc bóp quá mạnh.' }, { id: 57, sc: 'bod', mech: 'seek', c: '{S} hay nghiến răng, cắn chặt hàm hoặc thích mang vác các đồ vật nặng.' }, { id: 58, sc: 'bod', mech: 'perc', c: '{S} ôm người thân hoặc vuốt ve thú cưng quá mạnh tay khiến họ bị đau dù chỉ định thể hiện tình cảm.' }, { id: 59, sc: 'bod', mech: 'perc', c: '{S} gặp khó khăn trong việc định vị tư thế tay chân nếu không nhìn trực tiếp vào tay chân mình.' }, { id: 60, sc: 'bod', mech: 'seek', c: '{S} thích treo người đu xà, chống đẩy tay lên ghế hoặc tự vẫy/búng mạnh các khớp ngón tay.' }, // ===================================================== // 7. THĂNG BẰNG & CHUYỂN ĐỘNG / TIỀN ĐÌNH (BALANCE AND MOTION - BAL • Câu 61 - 70 • THUỘC SENSORY TOTAL - ST) // ===================================================== { id: 61, sc: 'bal', mech: 'seek', c: '{S} luôn chân luôn tay, tìm kiếm mọi cơ hội để chạy nhảy, nhún nhảy hoặc leo trèo không ngừng nghỉ.' }, { id: 62, sc: 'bal', mech: 'seek', c: '{S} thích tự xoay tròn cơ thể nhiều vòng hoặc ngồi ghế xoay tốc độ cao mà không hề bị chóng mặt.' }, { id: 63, sc: 'bal', mech: 'seek', c: '{S} liên tục đung đưa thân mình hoặc lắc lư đầu qua lại trong khi đang ngồi.' }, { id: 64, sc: 'bal', mech: 'over', c: '{S} sợ hãi hoặc lo lắng tột độ khi bàn chân rời khỏi mặt đất (sợ xích đu, cầu trượt, thang cuốn, leo cao).' }, { id: 65, sc: 'bal', mech: 'over', c: '{S} rất sợ khi bị ngửa đầu ra sau (như khi nằm gội đầu) hoặc khi bị thay đổi tư thế đột ngột.' }, { id: 66, sc: 'bal', mech: 'under',c: '{S} giữ thăng bằng kém, dễ bị vấp ngã trên mặt phẳng hoặc loạng choạng khi đi trên bề mặt gồ ghề.' }, { id: 67, sc: 'bal', mech: 'over', c: '{S} rất dễ bị say tàu xe, chóng mặt hoặc buồn nôn khi đi ô tô, thang máy.' }, { id: 68, sc: 'bal', mech: 'under',c: '{S} phản xạ chống tay bảo vệ chậm khi bị mất thăng bằng sắp ngã.' }, { id: 69, sc: 'bal', mech: 'under',c: '{S} gặp khó khăn khi phải giữ thăng bằng trên một chân, nhảy lò cò hoặc đi xe đạp.' }, { id: 70, sc: 'bal', mech: 'seek', c: '{S} thích các tư thế dốc ngược đầu xuống dưới (như trồng cây chuối, vắt người ngược khỏi thành giường/ghế).' }, // ===================================================== // 8. LẬP KẾ HOẠCH VẬN ĐỘNG & Ý TƯỞNG (PLANNING AND IDEAS / PRAXIS - PLA • Câu 71 - 80) // ===================================================== { id: 71, sc: 'pla', mech: 'prax', c: '{S} gặp khó khăn trong việc tự nghĩ ra ý tưởng trò chơi mới hoặc cách mới để sử dụng đồ vật (Suy giảm Ideation).' }, { id: 72, sc: 'pla', mech: 'prax', c: '{S} cứ lặp đi lặp lại mãi một cách chơi hoặc một thao tác cũ thay vì thử nghiệm các bước mới.' }, { id: 73, sc: 'pla', mech: 'prax', c: '{S} trông vụng về, lóng ngóng và mất nhiều thời gian khi học một động tác vận động mới (như tập nhảy dây, tập bơi, bài thể dục).' }, { id: 74, sc: 'pla', mech: 'prax', c: '{S} gặp khó khăn khi bắt chước chính xác các động tác cơ thể hoặc thao tác tay của người làm mẫu.' }, { id: 75, sc: 'pla', mech: 'prax', c: '{S} thực hiện các công việc gồm nhiều bước (như mặc quần áo, chuẩn bị cặp sách, làm thủ công) một cách lộn xộn, sai thứ tự.' }, { id: 76, sc: 'pla', mech: 'prax', c: '{S} gặp khó khăn khi phải phối hợp nhịp nhàng cả hai bên tay – chân cùng lúc (như một tay giữ giấy một tay cắt kéo, cài cúc áo, buộc dây giày).' }, { id: 77, sc: 'pla', mech: 'prax', c: '{S} khó căn chỉnh đúng thời điểm và tốc độ vận động (như bắt trượt bóng đang bay tới hoặc đá hụt bóng đang lăn).' }, { id: 78, sc: 'pla', mech: 'prax', c: '{S} để bàn học, góc đồ chơi hoặc không gian làm việc cực kỳ bừa bộn và không biết cách tự sắp xếp tổ chức lại.' }, { id: 79, sc: 'pla', mech: 'prax', c: '{S} tốn rất nhiều thời gian và nỗ lực để hoàn thành các bài tập viết chữ, vẽ hình hoặc lắp ghép mô hình.' }, { id: 80, sc: 'pla', mech: 'prax', c: '{S} dễ nản lòng, bỏ cuộc hoặc nhờ người khác làm hộ ngay khi gặp một nhiệm vụ đòi hỏi khéo léo tay chân mới.' } ]; let currentForm = 'child_home'; // 'infant' | 'preschool' | 'child_home' | 'child_school' | 'adolescent_adult' // ratings[id] lưu lựa chọn trên thang tần suất 1..4: // 1 = Không bao giờ (Never) // 2 = Thỉnh thoảng (Occasionally) // 3 = Thường xuyên (Frequently) // 4 = Luôn luôn (Always) let ratings = {}; let filterScale = 'all'; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .sm-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .sm-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .sm-inner { padding: 24px; max-width: 980px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .sm-wrap.is-fullscreen .sm-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .sm-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(124, 58, 237, 0.45), 0 0 0 0 rgba(124, 58, 237, 0.4); } 70% { box-shadow: 0 6px 20px rgba(124, 58, 237, 0.45), 0 0 0 10px rgba(124, 58, 237, 0); } 100% { box-shadow: 0 6px 20px rgba(124, 58, 237, 0.45), 0 0 0 0 rgba(124, 58, 237, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #6d28d9 0%, #7c3aed 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(124, 58, 237, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Bộ chuyển đổi 5 Phiên bản Độ tuổi & Môi trường của SPM-2 */ .form-switcher-box { background: #f1f5f9; padding: 10px; border-radius: 12px; margin-bottom: 18px; } .form-switcher-lbl { font-size: 12px; font-weight: 800; color: #334155; text-transform: uppercase; margin-bottom: 8px; display: block; } .form-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; } .form-btn { padding: 9px 8px; border-radius: 9px; border: 1.5px solid transparent; background: rgba(255, 255, 255, 0.65); cursor: pointer; text-align: left; transition: all 0.18s ease; touch-action: manipulation; } .form-btn:hover { background: #ffffff; } .form-btn.active { background: #ffffff; border-color: #7c3aed; box-shadow: 0 3px 10px rgba(15, 23, 42, 0.08); } .form-btn-title { font-size: 12.5px; font-weight: 800; color: #0f172a; display: block; line-height: 1.25; } .form-btn.active .form-btn-title { color: #6d28d9; } .form-btn-sub { font-size: 10.8px; color: #64748b; margin-top: 2px; display: block; line-height: 1.2; } /* Header */ .sm-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .sm-header-text { flex: 1 1 260px; } .sm-title { font-size: 20px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .sm-desc { font-size: 13.8px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #f5f3ff; color: #6d28d9; border: 1px solid #ddd6fe; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #7c3aed; color: #ffffff; border-color: #7c3aed; } /* Controls */ .sm-controls { display: flex; flex-direction: column; gap: 10px; margin-bottom: 18px; } .sm-presets { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; } .sm-preset-lbl { font-size: 12.5px; font-weight: 700; color: #475569; margin-right: 4px; } .sm-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; touch-action: manipulation; } .sm-pbtn:hover { background: #f1f5f9; } .sm-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } .sm-scale-tabs { display: flex; flex-wrap: wrap; gap: 6px; } .sm-stab { padding: 6px 11px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .sm-stab.active { background: #6d28d9; color: #ffffff; border-color: #6d28d9; } /* Sticky Dashboard */ .sm-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .sm-wrap.is-fullscreen .sm-dash { top: 58px; } .sm-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .sm-score-big { font-size: 21px; font-weight: 800; line-height: 1.2; } .sm-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .sm-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .sm-pillars { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; font-size: 11.5px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .sm-pillar-box { background: #1e293b; padding: 7px 9px; border-radius: 8px; border-left: 3px solid #475569; } .sm-pillar-box.typ { border-left-color: #10b981; } .sm-pillar-box.mod { border-left-color: #f59e0b; background: rgba(245, 158, 11, 0.14); } .sm-pillar-box.sev { border-left-color: #ef4444; background: rgba(239, 68, 68, 0.16); } .sm-pillar-val { font-weight: 800; color: #ffffff; font-size: 13px; display: block; margin-top: 2px; } /* Danh sách 80 câu hỏi */ .sm-q-item { border: 1px solid #e2e8f0; border-radius: 10px; padding: 14px 16px; margin-bottom: 10px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 8px; } .sm-q-item.pts-4 { border-color: #fda4af; background: #fff5f5; } .sm-q-item.pts-3 { border-color: #fde68a; background: #fffbeb; } .sm-q-text { font-size: 14.5px; font-weight: 600; color: #1e293b; line-height: 1.5; } .sm-q-tags { display: flex; flex-wrap: wrap; gap: 6px; } .sm-tag { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .sm-ans-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; } .sm-abtn { padding: 8px 6px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 600; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .sm-abtn:hover { border-color: #64748b; } .sm-abtn.sel-1 { background: #10b981; border-color: #10b981; color: #ffffff; font-weight: 700; } .sm-abtn.sel-2 { background: #3b82f6; border-color: #3b82f6; color: #ffffff; font-weight: 700; } .sm-abtn.sel-3 { background: #f59e0b; border-color: #f59e0b; color: #ffffff; font-weight: 700; } .sm-abtn.sel-4 { background: #ef4444; border-color: #ef4444; color: #ffffff; font-weight: 700; } /* Biểu đồ T-Score 8 Tiểu thang & Tổng điểm ST */ .sm-chart-card { margin-top: 20px; padding: 16px 18px; border-radius: 12px; background: #ffffff; border: 1px solid #e2e8f0; } .sm-chart-title { font-size: 14.5px; font-weight: 800; color: #0f172a; margin-bottom: 12px; } .sm-bar-row { display: flex; align-items: center; gap: 10px; margin-bottom: 9px; font-size: 12.5px; } .sm-bar-lbl { width: 280px; flex-shrink: 0; font-weight: 600; color: #334155; } .sm-bar-track { flex: 1; height: 16px; background: #f1f5f9; border-radius: 999px; overflow: hidden; } .sm-bar-val { width: 155px; text-align: right; font-weight: 700; color: #0f172a; flex-shrink: 0; } .sm-asi-box { margin-top: 16px; padding: 16px 18px; border-radius: 12px; background: #f5f3ff; border: 1px solid #ddd6fe; border-left: 5px solid #7c3aed; font-size: 13.8px; color: #1e1b4b; line-height: 1.6; } .sm-result-box { margin-top: 16px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #2563eb; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 780px) { .sm-inner { padding: 14px; } .form-grid { grid-template-columns: 1fr 1fr; } .sm-title { font-size: 18px; } .sm-pillars { grid-template-columns: 1fr 1fr; } .sm-ans-grid { grid-template-columns: 1fr 1fr; } .sm-bar-lbl { width: 145px; font-size: 11.5px; } .sm-bar-val { width: 115px; font-size: 11px; } .sm-pbtn.reset { margin-left: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
${fCfg.fullTitle}
${fCfg.desc}
`; } function renderQuestions() { const fCfg = formConfigs[currentForm]; questionList.innerHTML = ''; const freqOptions = [ { val: 1, lbl: '1 - Không bao giờ (Never)' }, { val: 2, lbl: '2 - Thỉnh thoảng (Occasionally)' }, { val: 3, lbl: '3 - Thường xuyên (Frequently)' }, { val: 4, lbl: '4 - Luôn luôn (Always)' } ]; rawQuestions.forEach(function(q) { if (filterScale !== 'all' && q.sc !== filterScale) return; const sCfg = scaleConfigs[q.sc]; const defaultFreq = sCfg.rev ? 4 : 1; // Mặc định điểm rủi ro = 1đ const uFreq = (ratings[q.id] !== undefined) ? ratings[q.id] : defaultFreq; const pts = getItemPoints(q, uFreq); let rowCls = 'sm-q-item'; if (pts === 4) rowCls += ' pts-4'; else if (pts === 3) rowCls += ' pts-3'; const btnsHtml = freqOptions.map(opt => { const optPts = getItemPoints(q, opt.val); let cls = 'sm-abtn'; if (uFreq === opt.val) { cls += ` sel-${optPts}`; } return ``; }).join(''); const mechLabel = { soc: 'Tham gia Xã hội', over: 'Cơ chế ASI: Tăng phản ứng / Quá tải (Hyper-reactivity)', under:'Cơ chế ASI: Giảm phản ứng / Thờ ơ (Hypo-reactivity)', seek: 'Cơ chế ASI: Tìm kiếm cảm giác (Sensory Seeking)', perc: 'Cơ chế ASI: Nhận thức phân biệt giác quan (Perception)', prax: 'Cơ chế ASI: Lập kế hoạch vận động & Ý tưởng (Praxis)' }[q.mech]; const el = document.createElement('div'); el.className = rowCls; el.innerHTML = `• 2. Giảm phản ứng / Thờ ơ giác quan (Hypo-reactivity): Mức độ ảnh hưởng ${getMechPct('under')}% (Chậm nhận biết tín hiệu gọi tên, đau, bẩn hoặc mất thăng bằng).
• 3. Tìm kiếm cảm giác mạnh (Sensory Seeking): Mức độ ảnh hưởng ${getMechPct('seek')}% (Liên quan đến Bản thể BOD: ${tScores.bod}T và Tiền đình BAL: ${tScores.bal}T).
• 4. Nhận thức phân biệt giác quan (Sensory Perception): Mức độ ảnh hưởng ${getMechPct('perc')}% (Khả năng định vị cơ thể, kiểm soát lực tay và tri giác không gian).
• 5. Thực hành vận động & Ý tưởng hóa (Praxis: Ideation & Motor Planning - PLA): Đạt ${tScores.pla}T (${cPLA.text}) — ${tScores.pla >= 60 ? '⚠️ Khi PLA ≥ 60T đi kèm với sự suy giảm ở Xúc giác (TOU = ' + tScores.tou + 'T), Bản thể (BOD = ' + tScores.bod + 'T) hoặc Tiền đình (BAL = ' + tScores.bal + 'T), đây là bằng chứng lâm sàng điển hình của hội chứng Mất thực hành vận động do giác quan (Somatodyspraxia / Vestibular-Bilateral Integration Deficit) theo Jean Ayres.' : 'Khả năng lên ý tưởng và lập kế hoạch vận động nằm trong giới hạn bình thường.'} `; resultBox.style.borderLeftColor = cOverall.color; resultBox.innerHTML = ` Tổng hợp Kết luận Lâm sàng & Khuyến nghị Can thiệp Hoạt động Trị liệu (OT) theo SPM-2:
• Hồ sơ Tổng quát (${formConfigs[currentForm].tabTitle}): Tổng điểm Giác quan ST = ${tScores.st}T (${cST.text}) • Lập kế hoạch vận động & Ý tưởng PLA = ${tScores.pla}T (${cPLA.text}) • Tham gia Xã hội SOC = ${tScores.soc}T (${cSOC.text}).
• Định hướng Can thiệp Hoạt động Trị liệu Tích hợp Giác quan (Ayres Sensory Integration - OT/ASI):
1. Nếu PLA (${tScores.pla}T), BOD (${tScores.bod}T) và BAL (${tScores.bal}T) cao (≥ 60T): Cần can thiệp trong phòng Sensory Gym có thiết bị treo (xích đu trị liệu, ván trượt scooter, vượt chướng ngại vật đa bước) để trẻ tự lên ý tưởng (Ideation), tự lập kế hoạch cơ thể vượt qua thử thách thích ứng (Adaptive Response).
2. Nếu HEA (${tScores.hea}T), TOU (${tScores.tou}T) và T&S (${tScores.ts}T) cao (≥ 60T): Áp dụng kỹ thuật điều hòa cảm thụ bản thể lực sâu (Deep Pressure / Heavy Work) và giảm tải kích thích môi trường lớp học/gia đình. `; updateFloatingFabVisibility(); } function applyPreset(type) { ratings = {}; const setTargetPts = function(q, targetPts) { // targetPts: 1, 2, 3, 4 const sCfg = scaleConfigs[q.sc]; if (!sCfg.rev) { ratings[q.id] = targetPts; } else { ratings[q.id] = 5 - targetPts; } }; if (type === 'reset') { rawQuestions.forEach(q => { setTargetPts(q, 1); }); renderQuestions(); updateSummary(); return; } if (type === 'typical') { // Điển hình (40T - 59T) rawQuestions.forEach((q, idx) => { setTargetPts(q, (idx % 4 === 0) ? 2 : 1); }); } else if (type === 'dyspraxia') { // Mất thực hành vận động do giác quan (Somatodyspraxia): Tăng cao BOD, BAL & PLA (>= 70T) rawQuestions.forEach((q, idx) => { if (q.sc === 'pla' || q.sc === 'bod' || q.sc === 'bal') { setTargetPts(q, (idx % 2 === 0) ? 3 : 3); } else if (q.sc === 'tou' || q.sc === 'soc') { setTargetPts(q, 2); } else { setTargetPts(q, 1); } }); } else if (type === 'modulation') { // Quá tải / Phòng vệ giác quan: Tăng cao HEA, TOU, T&S (>= 70T) rawQuestions.forEach((q, idx) => { if (q.sc === 'hea' || q.sc === 'tou' || q.sc === 'ts') { setTargetPts(q, (idx % 2 === 0) ? 3 : 3); } else { setTargetPts(q, (idx % 3 === 0) ? 2 : 1); } }); } else if (type === 'asd_full') { // Hồ sơ Tự kỷ điển hình: Tăng cao cả ST, PLA và SOC rawQuestions.forEach((q, idx) => { setTargetPts(q, (idx % 3 === 0) ? 3 : 2); }); } renderQuestions(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); smWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { smWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 980px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } shadow.querySelectorAll('#formGrid .form-btn').forEach(function(btn) { btn.onclick = function() { currentForm = this.getAttribute('data-form'); shadow.querySelectorAll('#formGrid .form-btn').forEach(b => b.classList.remove('active')); this.classList.add('active'); renderHeader(); renderQuestions(); updateSummary(); }; }); shadow.querySelectorAll('.sm-pbtn').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-preset')); }; }); shadow.querySelectorAll('#scaleTabs .sm-stab').forEach(function(tab) { tab.onclick = function() { filterScale = this.getAttribute('data-sc'); shadow.querySelectorAll('#scaleTabs .sm-stab').forEach(t => t.classList.remove('active')); this.classList.add('active'); renderQuestions(); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); renderHeader(); applyPreset('dyspraxia'); })();
Bên cạnh Sensory Profile 2, SPM-2 là công cụ đánh giá rối loạn xử lý giác quan rất mạnh vì có phiên bản đánh giá trẻ ở cả môi trường gia đình và môi trường trường học.
SPM-2 (Sensory Processing Measure, Second Edition — Thang đo Xử lý Giác quan, Phiên bản 2) là một trong hai công cụ đánh giá chuẩn hóa đỉnh cao nhất của chuyên ngành Hoạt động Trị liệu (Occupational Therapy – OT) trên thế giới hiện nay (song hành cùng Sensory Profile 2), do các chuyên gia Heather Miller Kuhaneck, Diana A. Henry, Tara J. Glennon, L. Diane Parham vàChristian Ecker phát triển (xuất bản năm 2021 bởi WPS).
Nếu như Sensory Profile 2 (Winnie Dunn) tập trung phân loại trẻ theo 4 Góc phần tư ngưỡng thần kinh, thì SPM-2 được xây dựng trực tiếp trên Lý thuyết Hòa nhập Giác quan Kinh điển của Tiến sĩ A. Jean Ayres (Ayres Sensory Integration® – ASI). Đây là công cụ DUY NHẤT đo lường trực tiếp cả Khả năng Lập kế hoạch Vận động / Ý tưởng hóa (Praxis: Ideation & Motor Planning) và sự tham gia xã hội xuyên suốt từ 4 tháng tuổi đến 87 tuổi trên nhiều môi trường sống khác nhau.
1. Điểm đột phá làm nên tầm quan trọng của SPM-2 (2021)
-
Đánh giá trực tiếp “Praxis” (Lập kế hoạch vận động & Ý tưởng hóa): Rất nhiều trẻ Tự kỷ (ASD), ADHD hoặc Rối loạn phối hợp vận động (DCD) có cơ bắp hoàn toàn khỏe mạnh nhưng lại cực kỳ vụng về, không biết cách bắt chước động tác mới, không biết tự nghĩ ra cách chơi đồ chơi mới (thiếu Ideation), hoặc lóng ngóng khi mặc quần áo/dùng kéo/đá bóng (suy giảm Motor Planning). SPM-2 có hẳn thang đo riêng cho Lập kế hoạch và Ý tưởng (Planning and Ideas – PLA) để bắt mạch chính xác tình trạng Mất thực hành vận động do giác quan (Somatodyspraxia) này.
-
Đo lường đầy đủ 8 Lĩnh vực Cốt lõi (8 Core Scales) & Tổng điểm Giác quan (ST):
-
6 Hệ Giác quan cấu thành Tổng điểm Giác quan (Sensory Total – ST):
-
Thị giác (Vision –
VIS) -
Thính giác (Hearing –
HEA) -
Xúc giác (Touch –
TOU) -
Vị giác & Khứu giác (Taste and Smell –
T&S— điểm mới tách riêng rõ ràng ở bản SPM-2) -
Nhận thức Cơ thể / Cảm thụ Bản thể (Body Awareness / Proprioception –
BOD) -
Thăng bằng & Chuyển động / Tiền đình (Balance and Motion / Vestibular –
BAL)
-
-
2 Lĩnh vực Chức năng Bậc cao (Đứng độc lập không cộng vào ST): 7. Lập kế hoạch & Ý tưởng(Planning and Ideas / Praxis –
PLA) 8. Tham gia Xã hội (Social Participation –SOC)
-
-
So sánh Đa môi trường (Gia đình vs. Trường học): Nhiều trẻ ở nhà thì rất bình thường nhưng cứ đến lớp học đông đúc, đèn sáng, nhiều tiếng ồn là bùng nổ hành vi hoặc thu mình. SPM-2 cho phép đối chiếu trực tiếp điểm T-Score giữa Bản Gia đình (Home Form) và Bản Lớp học (Classroom Form) để xác định sự khác biệt môi trường (Environmental Difference).
2. Hệ thống 5 Cấp độ Tuổi & Bảng Quy đổi Điểm Chuẩn T-Score của SPM-2
-
5 Nhóm Độ tuổi & Phiên bản của SPM-2 (Mỗi mẫu chính gồm 80 câu hỏi, chấm thang 4 mức từ 1 đến 4 điểm):
-
Infant / Toddler (Nhũ nhi & Trẻ nhỏ • 4 – 30 tháng): Dành cho cha mẹ/người chăm sóc đánh giá sớm.
-
Preschool (Mầm non • 2 – 5 tuổi): Bản Gia đình (Home) & Bản Trường mầm non (School).
-
Child (Trẻ em • 5 – 12 tuổi): Bản Gia đình (Home) & Bản Lớp học tiểu học (Main Classroom).
-
Adolescent (Vị thành niên • 12 – 21 tuổi): Bản Gia đình, Bản Trường học & Bản Tự đánh giá (Self-Report).
-
Adult (Người trưởng thành • 21 – 87 tuổi): Bản Tự đánh giá (Self-Report) & Bản Người thân đánh giá (Rater).
-
-
Quy tắc chấm điểm (Thang tần suất 1 – 4 điểm):
-
Đối với 7 thang (
VIS, HEA, TOU, T&S, BOD, BAL, PLA— mô tả hành vi rối loạn):1 - Không bao giờ(1đ) •2 - Thỉnh thoảng(2đ) •3 - Thường xuyên(3đ) •4 - Luôn luôn(4đ). -
Riêng đối với thang
SOC(Tham gia Xã hội — mô tả kỹ năng xã hội tích cực): Chấm ĐẢO NGƯỢC (4 - Luôn luôn= 1đ •3 - Thường xuyên= 2đ •2 - Thỉnh thoảng= 3đ •1 - Không bao giờ= 4đ rủi ro).
-
-
Bảng Diễn giải Điểm Chuẩn T-Score của SPM-2 (Mean=50,SD=10):
[Giác quan] Sensory Profile 2: Công cụ đo lường rối loạn xử lý giác quan ở trẻ tự kỷ từ 0 tuổi đến trưởng thành
(function() { const host = document.getElementById('sp2-full-wp-host'); if (!host) return; const placeholder = document.createComment('sp2-full-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // Cấu hình 4 Góc phần tư chuẩn Winnie Dunn const quadConfigs = { seek: { code: 'seek', name: '1. Tìm kiếm cảm giác (Seeking / Seeker)', thresh: 'Ngưỡng Cao + Chủ động', color: '#f59e0b' }, avoi: { code: 'avoi', name: '2. Né tránh cảm giác (Avoiding / Avoider)', thresh: 'Ngưỡng Thấp + Chủ động', color: '#ef4444' }, sens: { code: 'sens', name: '3. Nhạy cảm giác quan (Sensitivity / Sensor)', thresh: 'Ngưỡng Thấp + Thụ động', color: '#8b5cf6' }, regi: { code: 'regi', name: '4. Đăng ký cảm giác thấp / Thờ ơ (Registration)', thresh: 'Ngưỡng Cao + Thụ động', color: '#0284c7' } }; // Cấu hình thông tin 5 Phiên bản theo độ tuổi & người đánh giá const versionConfigs = { infant: { code: 'infant', tabTitle: '👶 1. Infant (0 – 6 tháng)', tabSub: 'Nhũ nhi • Cha mẹ đánh giá', fullTitle: 'Infant Sensory Profile 2 — Dành Cho Trẻ Sơ Sinh & Nhũ Nhi (0 – 6 Tháng Tuổi)', desc: 'Đánh giá các phản ứng điều hòa giác quan sớm nhất của bé trong 6 tháng đầu đời (giấc ngủ, nhịp bú, phản ứng khi bế, tắm rửa, thay tã, âm thanh và ánh sáng) để hướng dẫn cha mẹ cách vỗ về và thiết lập môi trường chăm sóc êm dịu.', sections: [ { code: 'gen', name: '1. Điều hòa Chung & Giấc ngủ (General)', color: '#6366f1' }, { code: 'aud', name: '2. Thính giác Sơ sinh (Auditory)', color: '#2563eb' }, { code: 'vis', name: '3. Thị giác & Giao tiếp mắt (Visual)', color: '#0891b2' }, { code: 'tou', name: '4. Xúc giác: Bế ẵm, Tắm & Thay tã (Touch)', color: '#0d9488' }, { code: 'mov', name: '5. Tiền đình & Chuyển động đung đưa (Movement)', color: '#f59e0b' }, { code: 'ora', name: '6. Cảm giác Miệng & Bú mút (Oral)', color: '#dc2626' } ], items: [ // General (0-6m) { id: 1, sec: 'gen', quad: 'sens', t: 'Bé rất khó đi vào giấc ngủ hoặc cực kỳ dễ giật mình thức giấc chỉ vì một tiếng động hay thay đổi nhỏ trong phòng.' }, { id: 2, sec: 'gen', quad: 'avoi', t: 'Bé quấy khóc dữ dội và rất khó dỗ dành mỗi khi lịch sinh hoạt (giờ bú, giờ ngủ) hoặc người bế bị thay đổi.' }, { id: 3, sec: 'gen', quad: 'regi', t: 'Bé ngủ li bì quá nhiều, trông lờ đờ và rất ít khi chủ động thức dậy đòi bú.' }, { id: 4, sec: 'gen', quad: 'seek', t: 'Bé chỉ chịu nằm yên hoặc nín khóc khi được người lớn đung đưa liên tục, vỗ nhịp hoặc bật âm thanh trắng.' }, // Auditory (0-6m) { id: 5, sec: 'aud', quad: 'sens', t: 'Bé giật bắn mình, khóc thét hoặc chớp mắt liên tục khi nghe tiếng động bất ngờ (tiếng đóng cửa, tiếng ho, máy xay).' }, { id: 6, sec: 'aud', quad: 'avoi', t: 'Bé quay đầu đi hoặc khóc gắt lên khi ở nơi có nhiều người đang nói chuyện cùng lúc.' }, { id: 7, sec: 'aud', quad: 'regi', t: 'Bé không quay đầu tìm kiếm hoặc không có phản ứng gì khi bố mẹ gọi tên/trò chuyện ngay gần bên tai.' }, { id: 8, sec: 'aud', quad: 'seek', t: 'Bé tỏ ra phấn khích, đạp chân tay và tự phát ra nhiều âm thanh ê a khi nghe nhạc hoặc giọng nói vui nhộn.' }, // Visual (0-6m) { id: 9, sec: 'vis', quad: 'avoi', t: 'Bé quay mặt đi, nhắm chặt mắt hoặc quấy khóc khi nhìn thấy ánh đèn sáng hoặc khi người lớn đưa mặt lại gần nhìn trực diện.' }, { id: 10, sec: 'vis', quad: 'sens', t: 'Bé nhanh chóng bị quá tải, mỏi mệt hoặc nấc cụt/trớ sữa khi nhìn những đồ chơi treo nôi có quá nhiều màu sắc chuyển động.' }, { id: 11, sec: 'vis', quad: 'regi', t: 'Bé không nhìn theo khuôn mặt của mẹ hoặc đồ vật màu sắc di chuyển ngang qua tầm mắt.' }, { id: 12, sec: 'vis', quad: 'seek', t: 'Bé nhìn chằm chằm rất lâu vào quạt trần đang quay, bóng đèn hoặc các họa tiết tương phản mạnh.' }, // Touch (0-6m) { id: 13, sec: 'tou', quad: 'avoi', t: 'Bé ưỡn cong lưng, gồng cứng người hoặc đẩy ra khi được người lớn ôm ấp, bế áp sát vào lòng.' }, { id: 14, sec: 'tou', quad: 'sens', t: 'Bé khóc thét, cáu kỉnh mỗi khi được cởi quần áo, thay tã bỉm, lau mặt hoặc khi cho vào chậu nước tắm.' }, { id: 15, sec: 'tou', quad: 'regi', t: 'Bé không hề tỏ ra khó chịu hay khóc báo hiệu khi tã bỉm đã ướt sũng hoặc bẩn rất lâu.' }, { id: 16, sec: 'tou', quad: 'seek', t: 'Bé chỉ dễ chịu và ngủ ngon khi được quấn chũn (swaddle) thật chặt hoặc đắp chăn có độ nặng nhẹ lên ngực.' }, // Movement (0-6m) { id: 17, sec: 'mov', quad: 'sens', t: 'Bé khóc thét hoặc hốt hoảng dang hai tay (phản xạ Moro mạnh) mỗi khi được đặt nằm ngửa xuống giường hoặc nhấc bổng lên.' }, { id: 18, sec: 'mov', quad: 'avoi', t: 'Bé rất ghét tư thế nằm sấp (Tummy time) hoặc khi bị thay đổi tư thế đầu đột ngột.' }, { id: 19, sec: 'mov', quad: 'seek', t: 'Bé rất thích được bế nhún nhảy nhịp nhàng, đưa võng/nôi hoặc đẩy đi dạo bằng xe đẩy liên tục.' }, { id: 20, sec: 'mov', quad: 'regi', t: 'Cơ thể bé có vẻ mềm nhão (trương lực cơ thấp), ít đạp chân tay và chậm kiểm soát cổ hơn các bé cùng tháng tuổi.' }, // Oral (0-6m) { id: 21, sec: 'ora', quad: 'sens', t: 'Bé rất dễ bị sặc, ọe hoặc trớ sữa khi bú hoặc khi đổi từ ti mẹ sang bình sữa / núm ti giả khác chất liệu.' }, { id: 22, sec: 'ora', quad: 'regi', t: 'Bé mút sữa rất yếu, hay ngủ quên khi mới bú được vài hơi hoặc sữa chảy tràn ra hai bên khóe miệng.' }, { id: 23, sec: 'ora', quad: 'seek', t: 'Bé liên tục mút ngón tay, nắm tay hoặc mút ti giả/vạt áo rất mạnh ngay cả khi vừa mới bú no xong.' }, { id: 24, sec: 'ora', quad: 'avoi', t: 'Bé quay đầu né tránh, mím chặt môi hoặc khóc đẩy ra khi có bất kỳ vật gì (như thìa nhỏ, gạc rơ lưỡi) chạm vào môi.' } ] }, toddler: { code: 'toddler', tabTitle: '🧸 2. Toddler (7 – 35 tháng)', tabSub: 'Trẻ mới biết đi • Cha mẹ chấm', fullTitle: 'Toddler Sensory Profile 2 — Dành Cho Trẻ Mới Biết Đi (7 – 35 Tháng Tuổi)', desc: 'Đánh giá giai đoạn vàng từ 7 đến 35 tháng tuổi — thời điểm trẻ bắt đầu bò, đi, ăn thức ăn đặc và khám phá thế giới. Công cụ giúp phát hiện sớm các dấu hiệu rối loạn điều hòa giác quan thường đi kèm với chậm nói và nguy cơ tự kỷ sớm.', sections: [ { code: 'gen', name: '1. Điều hòa Sinh hoạt Chung (General)', color: '#6366f1' }, { code: 'aud', name: '2. Thính giác (Auditory)', color: '#2563eb' }, { code: 'vis', name: '3. Thị giác (Visual)', color: '#0891b2' }, { code: 'tou', name: '4. Xúc giác (Touch)', color: '#0d9488' }, { code: 'mov', name: '5. Tiền đình & Vận động (Movement)', color: '#f59e0b' }, { code: 'ora', name: '6. Cảm giác Miệng & Ăn dặm (Oral)', color: '#dc2626' }, { code: 'beh', name: '7. Hành vi & Cảm xúc Tương tác (Behavior)', color: '#7c3aed' } ], items: [ // General (7-35m) { id: 1, sec: 'gen', quad: 'sens', t: 'Bé rất khó dỗ khi quấy khóc và mất rất nhiều thời gian mới bình tĩnh lại được sau khi bị giật mình hoặc thất vọng.' }, { id: 2, sec: 'gen', quad: 'avoi', t: 'Bé bám chặt lấy mẹ, khóc thét và từ chối bước vào những nơi mới lạ hoặc có người lạ.' }, { id: 3, sec: 'gen', quad: 'regi', t: 'Bé có nhịp sinh học ngủ – thức thất thường và trông có vẻ chậm chạp, ít năng lượng hơn các bé cùng tuổi.' }, { id: 4, sec: 'gen', quad: 'seek', t: 'Bé chạy nhảy, leo trèo không ngừng nghỉ suốt cả ngày như "không biết mệt".' }, // Auditory (7-35m) { id: 5, sec: 'aud', quad: 'avoi', t: 'Bé lấy hai tay bịt chặt tai hoặc khóc chạy trốn khi nghe tiếng máy hút bụi, máy sấy tóc, máy xay sinh tố.' }, { id: 6, sec: 'aud', quad: 'regi', t: 'Bé không quay đầu lại khi bố mẹ gọi tên nhiều lần (dù bé nghe thấy ngay tiếng nhạc quảng cáo hoặc tiếng bóc bánh).' }, { id: 7, sec: 'aud', quad: 'sens', t: 'Bé giật mình hoặc dừng chơi ngay lập tức khi nghe tiếng chó sủa, tiếng còi xe hoặc tiếng động nhỏ ngoài hành lang.' }, { id: 8, sec: 'aud', quad: 'seek', t: 'Bé thích đập gõ đồ chơi liên tục để tạo tiếng vang hoặc áp sát tai vào loa phát nhạc.' }, // Visual (7-35m) { id: 9, sec: 'vis', quad: 'seek', t: 'Bé thích nằm nghiêng đầu trên sàn để nhìn bánh xe ô tô đồ chơi lăn qua lăn lại hoặc nhìn quạt quay.' }, { id: 10, sec: 'vis', quad: 'avoi', t: 'Bé tránh nhìn vào mắt người đối diện ngay cả khi đang được bế hoặc đang xin đồ ăn.' }, { id: 11, sec: 'vis', quad: 'sens', t: 'Bé nheo mắt, dụi mắt hoặc quấy khóc khi đi từ trong nhà ra ngoài trời nắng sáng.' }, { id: 12, sec: 'vis', quad: 'regi', t: 'Bé đi lại hay va vào bàn ghế hoặc không nhìn thấy món đồ chơi rơi ngay dưới chân mình.' }, // Touch (7-35m) { id: 13, sec: 'tou', quad: 'sens', t: 'Bé khóc lóc, giãy giụa dữ dội mỗi khi gội đầu, cắt tóc, cắt móng tay hoặc rửa mặt.' }, { id: 14, sec: 'tou', quad: 'avoi', t: 'Bé không chịu đi chân trần trên cỏ, cát hoặc thảm nhám và xòe tay khóc ngay nếu tay dính cháo/bẩn.' }, { id: 15, sec: 'tou', quad: 'regi', t: 'Bé bị ngã va đập mạnh hoặc kẹp tay nhưng hầu như không khóc và không tỏ ra đau đớn.' }, { id: 16, sec: 'tou', quad: 'seek', t: 'Bé thích chui rúc vào khe hẹp giữa ghế sofa, thích được bố mẹ ôm siết chặt hoặc cù léc mạnh.' }, // Movement (7-35m) { id: 17, sec: 'mov', quad: 'seek', t: 'Bé thích tự xoay tròn cơ thể nhiều vòng, nhún nhảy trên giường nệm hoặc đi nhón gót chân.' }, { id: 18, sec: 'mov', quad: 'avoi', t: 'Bé sợ hãi bám chặt vào người lớn khi được đặt lên xích đu, cầu trượt hoặc thú nhún ở sân chơi.' }, { id: 19, sec: 'mov', quad: 'sens', t: 'Bé rất sợ khi bị nhấc bổng lên cao hoặc khi bước xuống bậc thềm/cầu thang.' }, { id: 20, sec: 'mov', quad: 'regi', t: 'Bé giữ thăng bằng kém, rất hay bị vấp ngã khi chạy hoặc phải vịn vào đồ đạc để giữ tư thế.' }, // Oral (7-35m) { id: 21, sec: 'ora', quad: 'sens', t: 'Bé chỉ chịu ăn cháo xay nhuyễn hoặc vài món cố định; nếu thức ăn hơi lợn cợn hoặc đổi mùi vị là bé nôn ọe ngay.' }, { id: 22, sec: 'ora', quad: 'seek', t: 'Bé đưa bất cứ đồ vật gì cầm trên tay (đồ chơi nhựa, gỗ, quần áo, sỏi đá) vào miệng để gặm, liếm.' }, { id: 23, sec: 'ora', quad: 'avoi', t: 'Bé mím chặt miệng và chống cự quyết liệt khi bố mẹ đánh răng hoặc đút món ăn mới.' }, { id: 24, sec: 'ora', quad: 'regi', t: 'Bé ngậm thức ăn trong má rất lâu không chịu nhai nuốt hoặc thường xuyên chảy nước dãi.' }, // Behavior (7-35m) { id: 25, sec: 'beh', quad: 'avoi', t: 'Bé ăn vạ nằm lăn ra sàn khóc thét nếu đồ chơi bị lệch khỏi hàng hoặc khi đi khác đường quen thuộc.' }, { id: 26, sec: 'beh', quad: 'sens', t: 'Bé rất dễ bị kích động, cáu gắt khi ở nơi đông đúc như siêu thị, khu vui chơi hoặc đám đông.' }, { id: 27, sec: 'beh', quad: 'seek', t: 'Bé lao đi chạy nhảy tự do mà không hề quay lại nhìn bố mẹ hay nhận thức nguy hiểm.' }, { id: 28, sec: 'beh', quad: 'regi', t: 'Bé ngồi chơi thờ ơ một mình, rất khó thu hút bé tham gia vào các trò chơi ú òa hay lăn bóng qua lại.' } ] }, child: { code: 'child', tabTitle: '🧒 3. Child (3 – 14 tuổi)', tabSub: 'Bản Phụ huynh • 6 Giác quan + 3 Hành vi', fullTitle: 'Child Sensory Profile 2 — Dành Cho Trẻ Em & Thiếu Niên (3 Tuổi – 14 Tuổi 11 Tháng • Phụ Huynh Chấm)', desc: 'Phiên bản chuẩn hóa đầy đủ nhất dành cho phụ huynh đánh giá trẻ từ 3 đến gần 15 tuổi qua 6 Hệ giác quan (Thính giác, Thị giác, Xúc giác, Tiền đình, Bản thể, Miệng) và 3 Nhóm Hành vi (Ứng xử, Cảm xúc – Xã hội, Chú ý).', sections: [ { code: 'aud', name: '1. Thính giác (Auditory)', color: '#2563eb' }, { code: 'vis', name: '2. Thị giác (Visual)', color: '#0891b2' }, { code: 'tou', name: '3. Xúc giác (Touch)', color: '#0d9488' }, { code: 'mov', name: '4. Tiền đình / Chuyển động (Movement)', color: '#f59e0b' }, { code: 'bod', name: '5. Cảm thụ Bản thể / Vị trí cơ thể (Body Position)', color: '#ea580c' }, { code: 'ora', name: '6. Cảm giác Miệng (Oral Sensory)', color: '#dc2626' }, { code: 'con', name: '7. Hành vi Ứng xử (Conduct)', color: '#7c3aed' }, { code: 'soc', name: '8. Cảm xúc – Xã hội (Social Emotional)', color: '#db2777' }, { code: 'att', name: '9. Phản ứng Chú ý (Attentional)', color: '#4f46e5' } ], items: [ { id: 1, sec: 'aud', quad: 'avoi', t: 'Trẻ lấy tay bịt tai hoặc tỏ ra đau đớn trước những âm thanh sinh hoạt thông thường (máy sấy, máy hút bụi, tiếng xả nước).' }, { id: 2, sec: 'aud', quad: 'sens', t: 'Trẻ rất dễ bị phân tâm hoặc khó làm việc nếu xung quanh có tiếng ồn nền (tiếng quạt, tiếng nói chuyện bên ngoài).' }, { id: 3, sec: 'aud', quad: 'regi', t: 'Trẻ không phản ứng khi được gọi tên trong phòng dù thính lực của trẻ hoàn toàn bình thường.' }, { id: 4, sec: 'aud', quad: 'seek', t: 'Trẻ thích tự tạo ra âm thanh lạ, bật tivi thật to hoặc thích nghe đi nghe lại một số tiếng động đặc biệt.' }, { id: 5, sec: 'vis', quad: 'sens', t: 'Trẻ khó chịu trước ánh sáng chói hoặc dễ bị xao nhãng bởi phòng học treo quá nhiều tranh ảnh, người đi lại.' }, { id: 6, sec: 'vis', quad: 'seek', t: 'Trẻ thích nhìn ngắm các vật xoay tròn, ánh đèn nhấp nháy hoặc nhìn nghiêng sát mắt vào đồ vật.' }, { id: 7, sec: 'vis', quad: 'regi', t: 'Trẻ khó tìm thấy món đồ chơi/đồ dùng đang nằm lẫn trong ngăn kéo hoặc trên bàn có nhiều đồ vật.' }, { id: 8, sec: 'vis', quad: 'avoi', t: 'Trẻ tránh giao tiếp ánh mắt trực diện hoặc thích ngồi ở góc tối, yên tĩnh.' }, { id: 9, sec: 'tou', quad: 'sens', t: 'Trẻ rất khó chịu khi cắt tóc, cắt móng tay hoặc bứt rứt với mác quần áo, đường may tất, chất vải thô.' }, { id: 10, sec: 'tou', quad: 'avoi', t: 'Trẻ né tránh khi tay dính bẩn (hồ dán, đất nặn, màu vẽ) và phản ứng mạnh khi có người chạm nhẹ bất ngờ.' }, { id: 11, sec: 'tou', quad: 'seek', t: 'Trẻ liên tục sờ chạm vào mọi bề mặt đồ vật, quần áo hoặc chạm vào người khác.' }, { id: 12, sec: 'tou', quad: 'regi', t: 'Trẻ không nhận ra khi mặt/tay bị dính bẩn hoặc ít cảm thấy đau khi bị va đập, trầy xước.' }, { id: 13, sec: 'mov', quad: 'seek', t: 'Trẻ luôn chân luôn tay, tìm mọi cơ hội để chạy nhảy, xoay tròn, nhún nhảy hoặc đung đưa cơ thể.' }, { id: 14, sec: 'mov', quad: 'avoi', t: 'Trẻ sợ hãi khi bàn chân rời khỏi mặt đất (sợ xích đu, cầu trượt, thang cuốn hoặc leo cao).' }, { id: 15, sec: 'mov', quad: 'sens', t: 'Trẻ dễ bị say xe, chóng mặt hoặc khó chịu khi thay đổi tư thế đầu đột ngột.' }, { id: 16, sec: 'mov', quad: 'regi', t: 'Trẻ dễ bị vấp ngã hoặc mất thăng bằng khi đi trên bề mặt gồ ghề.' }, { id: 17, sec: 'bod', quad: 'regi', t: 'Trẻ nhanh mỏi cơ, thường xuyên nằm bò ra bàn, chống cằm hoặc dựa người vào tường khi ngồi.' }, { id: 18, sec: 'bod', quad: 'seek', t: 'Trẻ thích lao người va mạnh vào nệm/ghế sofa, thích được ôm siết chặt hoặc đi nhón gót chân.' }, { id: 19, sec: 'bod', quad: 'regi', t: 'Trẻ kiểm soát lực bàn tay kém (cầm bút ấn quá mạnh làm rách giấy hoặc đóng cửa ầm ầm).' }, { id: 20, sec: 'bod', quad: 'seek', t: 'Trẻ hay gồng cứng cơ tay/chân, vẫy tay hoặc nghiến răng để tự tạo cảm giác lên khớp.' }, { id: 21, sec: 'ora', quad: 'sens', t: 'Trẻ cực kỳ kén ăn, từ chối thức ăn có kết cấu lạ (lợn cợn, dai, nhão) và dễ bị ọe khi đánh răng/ngửi mùi lạ.' }, { id: 22, sec: 'ora', quad: 'seek', t: 'Trẻ thường xuyên đưa cổ áo, bút chì, đồ chơi hoặc ngón tay vào miệng để ngậm, cắn, nhai.' }, { id: 23, sec: 'ora', quad: 'seek', t: 'Trẻ thích các món ăn có vị thật đậm (chua, cay, mặn) hoặc đồ ăn giòn rụm.' }, { id: 24, sec: 'ora', quad: 'regi', t: 'Trẻ ngậm thức ăn lâu trong miệng hoặc không nhận ra thức ăn còn dính quanh miệng.' }, { id: 25, sec: 'con', quad: 'avoi', t: 'Trẻ rất cứng nhắc, đòi hỏi mọi việc phải diễn ra theo đúng một quy trình cố định.' }, { id: 26, sec: 'con', quad: 'sens', t: 'Trẻ bùng nổ cơn ăn vạ dữ dội khi phải chuyển đổi hoạt động hoặc khi kế hoạch thay đổi.' }, { id: 27, sec: 'con', quad: 'seek', t: 'Trẻ hành động bốc đồng, vội vã lao vào làm mà không quan sát an toàn.' }, { id: 28, sec: 'con', quad: 'regi', t: 'Trẻ cần người lớn phải nhắc nhở liên tục mới hoàn thành được việc sinh hoạt hàng ngày.' }, { id: 29, sec: 'soc', quad: 'avoi', t: 'Trẻ thích tự chơi một mình ở góc riêng hơn là tham gia nhóm bạn đông đúc, ồn ào.' }, { id: 30, sec: 'soc', quad: 'sens', t: 'Trẻ rất dễ lo âu, căng thẳng và khó tự làm dịu bản thân khi ở nơi đông người.' }, { id: 31, sec: 'soc', quad: 'avoi', t: 'Trẻ gặp khó khăn trong việc kết bạn và hiểu ngôn ngữ cơ thể của bạn cùng trang lứa.' }, { id: 32, sec: 'soc', quad: 'regi', t: 'Trẻ ít biểu lộ cảm xúc trên nét mặt hoặc chậm nhận ra cảm xúc của người khác.' }, { id: 33, sec: 'att', quad: 'sens', t: 'Trẻ nhảy từ việc này sang việc khác vì bị thu hút bởi mọi âm thanh/hình ảnh nhỏ xung quanh.' }, { id: 34, sec: 'att', quad: 'regi', t: 'Trẻ có vẻ mơ màng, nhìn vô định và bỏ lỡ các hướng dẫn của người lớn.' }, { id: 35, sec: 'att', quad: 'seek', t: 'Trẻ khó ngồi yên tập trung nếu không được cử động tay chân hoặc cầm nghịch đồ vật.' }, { id: 36, sec: 'att', quad: 'avoi', t: 'Trẻ chỉ tập trung cực kỳ sâu vào một chủ đề/đồ vật quen thuộc và ngắt kết nối với xung quanh.' } ] }, school: { code: 'school', tabTitle: '🏫 4. School Companion (3 – 14 tuổi)', tabSub: 'Bản Giáo viên • 4 Chỉ số Học đường', fullTitle: 'School Companion Sensory Profile 2 — Dành Cho Giáo Viên Đánh Giá Học Sinh Trên Lớp (3 – 14 Tuổi)', desc: 'Đánh giá cách xử lý giác quan của học sinh ảnh hưởng đến việc học tập và hòa nhập tại trường. Ngoài 4 Góc phần tư, phiên bản này cung cấp 4 Chỉ số Học đường độc quyền (School Factors 1–4): Cần hỗ trợ, Nhận thức, Dung nạp và Sẵn sàng học tập.', sections: [ { code: 'sf1', name: 'School Factor 1: Nhu cầu Hỗ trợ trên lớp (Supports)', color: '#2563eb' }, { code: 'sf2', name: 'School Factor 2: Nhận thức & Chú ý bài giảng (Awareness)', color: '#0891b2' }, { code: 'sf3', name: 'School Factor 3: Mức độ Dung nạp Môi trường lớp (Tolerance)', color: '#f59e0b' }, { code: 'sf4', name: 'School Factor 4: Sự Sẵn sàng Tham gia Học tập (Availability)', color: '#dc2626' } ], items: [ // School Factor 1: Supports (Học sinh cần giáo viên điều chỉnh/hỗ trợ nhiều để hoàn thành bài) { id: 1, sec: 'sf1', quad: 'seek', t: 'Học sinh liên tục ngọ nguậy trên ghế, đung đưa chân hoặc đứng dậy đi lại tự do trong giờ cô giáo đang giảng bài.' }, { id: 2, sec: 'sf1', quad: 'seek', t: 'Học sinh hay chạm tay vào bạn ngồi cạnh, sờ nghịch đồ dùng trên bàn hoặc phát ra tiếng động làm ồn lớp học.' }, { id: 3, sec: 'sf1', quad: 'regi', t: 'Học sinh cần giáo viên phải đến tận bàn gõ nhẹ hoặc gọi riêng tên mới bắt đầu mở sách vở làm theo cả lớp.' }, { id: 4, sec: 'sf1', quad: 'sens', t: 'Học sinh dễ bị mất kiểm soát cảm xúc khi xếp hàng chuyển tiết, giờ ra chơi hoặc khi lớp học có hoạt động ngoại khóa.' }, { id: 5, sec: 'sf1', quad: 'seek', t: 'Học sinh hay cắn đầu bút chì, gặm cổ áo hoặc cầm bút ấn quá mạnh làm gãy ngòi/rách vở.' }, { id: 6, sec: 'sf1', quad: 'regi', t: 'Học sinh làm việc chậm hơn các bạn và thường xuyên để bàn học, cặp sách lộn xộn không tìm thấy đồ dùng.' }, // School Factor 2: Awareness (Mức độ tỉnh táo & tập trung vào bài học) { id: 7, sec: 'sf2', quad: 'regi', t: 'Học sinh ngồi nhìn vô định ra cửa sổ hoặc có vẻ mơ màng, "tắt kết nối" trong lúc giáo viên giảng bài chung.' }, { id: 8, sec: 'sf2', quad: 'sens', t: 'Học sinh lập tức quay đầu nhìn ra ngoài mỗi khi có người đi ngang hành lang hoặc có tiếng sột soạt nhỏ trong lớp.' }, { id: 9, sec: 'sf2', quad: 'regi', t: 'Học sinh thường xuyên nằm dài bò ra mặt bàn hoặc chống đầu lên tay như thể rất mệt mỏi, thiếu năng lượng.' }, { id: 10, sec: 'sf2', quad: 'seek', t: 'Học sinh vội vàng làm bài tập một cách hấp tấp mà không đọc kỹ yêu cầu hoặc không nghe hết câu hỏi của giáo viên.' }, { id: 11, sec: 'sf2', quad: 'sens', t: 'Học sinh gặp khó khăn khi phải chép bài từ trên bảng xuống vở (dễ nhìn nhầm dòng hoặc bỏ sót chữ).' }, { id: 12, sec: 'sf2', quad: 'regi', t: 'Học sinh không nhận ra khi quần áo bị xộc xệch, dây giày bị tuột hoặc mặt mũi dính mực/thức ăn.' }, // School Factor 3: Tolerance (Khả năng chịu đựng các kích thích trong môi trường học đường) { id: 13, sec: 'sf3', quad: 'sens', t: 'Học sinh bịt tai hoặc tỏ ra căng thẳng khi cả lớp đồng thanh đọc to, khi nghe tiếng chuông trường hoặc ở nhà ăn tập thể.' }, { id: 14, sec: 'sf3', quad: 'avoi', t: 'Học sinh cực kỳ khó chịu hoặc đẩy bạn ra nếu các bạn đứng gần chạm vào người khi xếp hàng.' }, { id: 15, sec: 'sf3', quad: 'avoi', t: 'Học sinh phản ứng gay gắt (khóc, chống đối) khi lớp học thay đổi thời khóa biểu, đổi chỗ ngồi hoặc có giáo viên dạy thay.' }, { id: 16, sec: 'sf3', quad: 'sens', t: 'Học sinh từ chối sử dụng hồ dán, đất nặn, màu nước trong giờ Mỹ thuật vì sợ bẩn tay.' }, { id: 17, sec: 'sf3', quad: 'avoi', t: 'Học sinh rất cứng nhắc về luật chơi và dễ nổi giận với các bạn trong nhóm nếu mọi việc không làm theo đúng ý mình.' }, { id: 18, sec: 'sf3', quad: 'sens', t: 'Học sinh phàn nàn về ánh đèn huỳnh quang trong lớp, mùi thức ăn ở căng-tin hoặc mùi nhà vệ sinh trường.' }, // School Factor 4: Availability (Sự sẵn sàng tham gia tương tác học đường) { id: 19, sec: 'sf4', quad: 'avoi', t: 'Học sinh tự tách mình đứng ở góc sân trường một mình trong giờ ra chơi để tránh đám đông ồn ào.' }, { id: 20, sec: 'sf4', quad: 'avoi', t: 'Học sinh né tránh tham gia các trò chơi vận động tập thể trong giờ Thể dục hoặc các buổi biểu diễn văn nghệ.' }, { id: 21, sec: 'sf4', quad: 'regi', t: 'Học sinh thụ động ngồi im, không bao giờ chủ động giơ tay phát biểu hay nhờ giáo viên giúp đỡ khi không hiểu bài.' }, { id: 22, sec: 'sf4', quad: 'avoi', t: 'Học sinh tránh giao tiếp ánh mắt khi giáo viên hoặc bạn bè đang nói chuyện trực tiếp với mình.' }, { id: 23, sec: 'sf4', quad: 'regi', t: 'Học sinh khó bắt kịp nhịp độ trò chuyện nhanh và các trò đùa của nhóm bạn cùng lớp.' }, { id: 24, sec: 'sf4', quad: 'avoi', t: 'Khi lớp học quá ồn hoặc có bài tập mới, học sinh có xu hướng gục mặt xuống bàn hoặc xin đi vệ sinh để trốn tránh.' } ] }, adult: { code: 'adult', tabTitle: '🧑 5. Adolescent / Adult (≥ 11 tuổi)', tabSub: 'Vị thành niên & Người lớn • Tự chấm', fullTitle: 'Adolescent / Adult Sensory Profile — Dành Cho Thanh Thiếu Niên & Người Trưởng Thành (Từ 11 Tuổi Trở Lên • Tự Đánh Giá)', desc: 'Phiên bản tự đánh giá (Self-report) ở ngôi thứ nhất ("Tôi...") giúp thanh thiếu niên và người trưởng thành nhận diện ngưỡng thần kinh giác quan của bản thân trong học tập, môi trường công sở, giao thông và đời sống xã hội.', sections: [ { code: 'ora', name: '1. Vị giác & Khứu giác (Taste / Smell Processing)', color: '#dc2626' }, { code: 'mov', name: '2. Chuyển động & Tiền đình (Movement Processing)', color: '#f59e0b' }, { code: 'vis', name: '3. Thị giác (Visual Processing)', color: '#0891b2' }, { code: 'tou', name: '4. Xúc giác (Touch Processing)', color: '#0d9488' }, { code: 'act', name: '5. Mức độ Hoạt động & Năng lượng (Activity Level)', color: '#7c3aed' }, { code: 'aud', name: '6. Thính giác (Auditory Processing)', color: '#2563eb' } ], items: [ // Taste / Smell { id: 1, sec: 'ora', quad: 'avoi', t: 'Tôi tránh đi qua hoặc rời đi ngay khi đến các quầy bán nước hoa, mỹ phẩm hoặc nơi có mùi hương nồng.' }, { id: 2, sec: 'ora', quad: 'sens', t: 'Tôi chỉ ăn những món ăn quen thuộc và rất nhạy cảm với kết cấu thức ăn lạ (như đồ ăn nhầy, mỡ, hoặc lợn cợn).' }, { id: 3, sec: 'ora', quad: 'seek', t: 'Tôi thích cho thêm nhiều gia vị đậm đà (cay, chua, mặn) vào món ăn hoặc thích nhai kẹo cao su/đồ ăn giòn khi làm việc.' }, { id: 4, sec: 'ora', quad: 'regi', t: 'Tôi thường không nhận ra mùi thức ăn bị khét hoặc mùi hương trong phòng trừ khi nó cực kỳ nồng.' }, // Movement { id: 5, sec: 'mov', quad: 'sens', t: 'Tôi rất dễ bị say tàu xe, chóng mặt khi đi thang máy nhanh hoặc khi nhìn màn hình chuyển động nhanh.' }, { id: 6, sec: 'mov', quad: 'avoi', t: 'Tôi tránh các trò chơi cảm giác mạnh, tàu lượn hoặc những nơi cao, chông chênh.' }, { id: 7, sec: 'mov', quad: 'seek', t: 'Tôi thường xuyên rung đùi, xoay ghế, bấm bút hoặc đi lại quanh phòng trong lúc đang suy nghĩ hoặc nghe điện thoại.' }, { id: 8, sec: 'mov', quad: 'regi', t: 'Tôi hay bị vấp vào bậc thềm, va khuỷu tay vào cạnh bàn/khung cửa mà không biết tại sao mình có vết bầm.' }, // Visual { id: 9, sec: 'vis', quad: 'sens', t: 'Tôi cảm thấy nhức mắt, đau đầu khi làm việc dưới ánh đèn huỳnh quang sáng chói hoặc khi ra nắng mà không đeo kính râm.' }, { id: 10, sec: 'vis', quad: 'avoi', t: 'Tôi thích kéo rèm cửa, bật đèn vàng dịu nhẹ ở nhà và tránh đến các trung tâm thương mại đông đúc nhiều biển hiệu nhấp nháy.' }, { id: 11, sec: 'vis', quad: 'regi', t: 'Tôi thường bỏ lỡ biển chỉ dẫn trên đường hoặc rất khó tìm thấy món đồ đang để ngay trước mặt trên bàn làm việc.' }, { id: 12, sec: 'vis', quad: 'seek', t: 'Tôi thích những không gian nhiều màu sắc sống động, thích xem pháo hoa hoặc các hiệu ứng thị giác chuyển động.' }, // Touch { id: 13, sec: 'tou', quad: 'sens', t: 'Tôi luôn phải cắt bỏ mác quần áo và không thể chịu được các chất vải thô ráp, len châm chích hoặc cổ áo bó sát.' }, { id: 14, sec: 'tou', quad: 'avoi', t: 'Tôi cảm thấy căng thẳng, không thoải mái khi người lạ đứng quá gần mình trong thang máy/đám đông hoặc khi ai đó chạm vào vai bất ngờ.' }, { id: 15, sec: 'tou', quad: 'seek', t: 'Tôi thích đi chân trần, thích sờ tay vào các chất liệu vải mềm/lông thú hoặc thích đắp chăn nặng (weighted blanket) khi ngủ.' }, { id: 16, sec: 'tou', quad: 'regi', t: 'Tôi thường không nhận ra ngay khi mình bị đứt tay nhẹ, bị côn trùng đốt hoặc khi nước tắm quá nóng/quá lạnh.' }, // Activity Level { id: 17, sec: 'act', quad: 'avoi', t: 'Sau một ngày phải giao tiếp xã hội hoặc làm việc ở nơi đông người, tôi bị kiệt sức hoàn toàn và cần ở một mình trong phòng yên tĩnh để hồi phục.' }, { id: 18, sec: 'act', quad: 'regi', t: 'Tôi cảm thấy khó khởi động công việc vào buổi sáng và thường cần nhiều thời gian hơn người khác để bắt nhịp với lịch trình.' }, { id: 19, sec: 'act', quad: 'seek', t: 'Tôi thích lịch trình bận rộn với nhiều hoạt động liên tiếp và cảm thấy bứt rứt nếu phải ngồi yên một chỗ quá lâu.' }, { id: 20, sec: 'act', quad: 'sens', t: 'Tôi rất căng thẳng nếu kế hoạch trong ngày bị thay đổi đột ngột vào phút chót.' }, // Auditory { id: 21, sec: 'aud', quad: 'sens', t: 'Tôi rất khó tập trung đọc sách hoặc làm việc nếu có tiếng đồng hồ tích tắc, tiếng nhai thức ăn hoặc tiếng nói chuyện ở bàn bên cạnh.' }, { id: 22, sec: 'aud', quad: 'avoi', t: 'Tôi thường xuyên phải đeo tai nghe chống ồn (noise-canceling) khi làm việc hoặc khi đi ra nơi công cộng để chặn bớt tiếng ồn.' }, { id: 23, sec: 'aud', quad: 'regi', t: 'Người khác thường phải gọi tên tôi 2–3 lần hoặc nhắc lại câu hỏi vì tôi không nghe kịp câu đầu tiên khi đang tập trung việc khác.' }, { id: 24, sec: 'aud', quad: 'seek', t: 'Tôi thích vừa làm việc/học tập vừa bật nhạc nền hoặc thích những nơi có âm thanh sôi động.' } ] } }; let currentVer = 'child'; // 'infant' | 'toddler' | 'child' | 'school' | 'adult' let answersByVer = { infant: {}, toddler: {}, child: {}, school: {}, adult: {} }; let filterSec = 'all'; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .sp-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .sp-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .sp-inner { padding: 24px; max-width: 960px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .sp-wrap.is-fullscreen .sp-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .sp-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(217, 119, 6, 0.45), 0 0 0 0 rgba(217, 119, 6, 0.4); } 70% { box-shadow: 0 6px 20px rgba(217, 119, 6, 0.45), 0 0 0 10px rgba(217, 119, 6, 0); } 100% { box-shadow: 0 6px 20px rgba(217, 119, 6, 0.45), 0 0 0 0 rgba(217, 119, 6, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #b45309 0%, #d97706 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(217, 119, 6, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Bộ chuyển đổi 5 Phiên bản Độ tuổi & Môi trường */ .ver-switcher-box { background: #f1f5f9; padding: 10px; border-radius: 12px; margin-bottom: 18px; } .ver-switcher-lbl { font-size: 12px; font-weight: 800; color: #334155; text-transform: uppercase; margin-bottom: 8px; display: block; } .ver-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; } .ver-btn { padding: 9px 8px; border-radius: 9px; border: 1.5px solid transparent; background: rgba(255, 255, 255, 0.6); cursor: pointer; text-align: left; transition: all 0.18s ease; touch-action: manipulation; } .ver-btn:hover { background: #ffffff; } .ver-btn.active { background: #ffffff; border-color: #d97706; box-shadow: 0 3px 10px rgba(15, 23, 42, 0.08); } .ver-btn-title { font-size: 12.8px; font-weight: 800; color: #0f172a; display: block; line-height: 1.25; } .ver-btn.active .ver-btn-title { color: #b45309; } .ver-btn-sub { font-size: 11px; color: #64748b; margin-top: 3px; display: block; line-height: 1.25; } /* Header */ .sp-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .sp-header-text { flex: 1 1 260px; } .sp-title { font-size: 20px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .sp-desc { font-size: 13.8px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #fffbeb; color: #b45309; border: 1px solid #fde68a; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #d97706; color: #ffffff; border-color: #d97706; } /* Controls */ .sp-controls { display: flex; flex-direction: column; gap: 10px; margin-bottom: 18px; } .sp-presets { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; } .sp-preset-lbl { font-size: 12.5px; font-weight: 700; color: #475569; margin-right: 4px; } .sp-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; touch-action: manipulation; } .sp-pbtn:hover { background: #f1f5f9; } .sp-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } .sp-filter-tabs { display: flex; flex-wrap: wrap; gap: 6px; } .sp-ftab { padding: 6px 11px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .sp-ftab.active { background: #b45309; color: #ffffff; border-color: #b45309; } /* Sticky Dashboard: 4 Góc phần tư Dunn */ .sp-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .sp-wrap.is-fullscreen .sp-dash { top: 58px; } .sp-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .sp-score-big { font-size: 20px; font-weight: 800; line-height: 1.2; } .sp-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .sp-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .sp-pillars { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; font-size: 12px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .sp-pillar-box { background: #1e293b; padding: 8px 10px; border-radius: 8px; border-left: 3px solid #475569; } .sp-pillar-box.much-more { border-left-color: #ef4444; background: rgba(239, 68, 68, 0.15); } .sp-pillar-box.more { border-left-color: #f59e0b; background: rgba(245, 158, 11, 0.14); } .sp-pillar-box.typical { border-left-color: #10b981; } .sp-pillar-val { font-weight: 700; color: #ffffff; font-size: 13px; display: block; margin-top: 2px; } /* Danh sách câu hỏi */ .sp-q-item { border: 1px solid #e2e8f0; border-radius: 10px; padding: 14px 16px; margin-bottom: 12px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 10px; } .sp-q-item.freq-high { border-color: #fda4af; background: #fff5f5; } .sp-q-item.freq-mid { border-color: #fde68a; background: #fffbeb; } .sp-q-text { font-size: 14.5px; font-weight: 600; color: #1e293b; line-height: 1.5; } .sp-q-tags { display: flex; flex-wrap: wrap; gap: 6px; } .sp-tag { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .sp-ans-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; } .sp-abtn { padding: 8px 4px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 11.5px; font-weight: 600; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .sp-abtn:hover { border-color: #64748b; } .sp-abtn.sel-1, .sp-abtn.sel-2 { background: #10b981; border-color: #10b981; color: #ffffff; font-weight: 700; } .sp-abtn.sel-3 { background: #3b82f6; border-color: #3b82f6; color: #ffffff; font-weight: 700; } .sp-abtn.sel-4 { background: #f59e0b; border-color: #f59e0b; color: #ffffff; font-weight: 700; } .sp-abtn.sel-5 { background: #ef4444; border-color: #ef4444; color: #ffffff; font-weight: 700; } /* Biểu đồ & Thực đơn Giác quan */ .sp-chart-card { margin-top: 20px; padding: 16px 18px; border-radius: 12px; background: #ffffff; border: 1px solid #e2e8f0; } .sp-chart-title { font-size: 14.5px; font-weight: 700; color: #0f172a; margin-bottom: 12px; } .sp-bar-row { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; font-size: 12.5px; } .sp-bar-lbl { width: 265px; flex-shrink: 0; font-weight: 600; color: #334155; } .sp-bar-track { flex: 1; height: 16px; background: #f1f5f9; border-radius: 999px; overflow: hidden; } .sp-bar-val { width: 145px; text-align: right; font-weight: 700; color: #0f172a; flex-shrink: 0; } .sp-diet-box { margin-top: 16px; padding: 16px 18px; border-radius: 12px; background: #fffbeb; border: 1px solid #fde68a; border-left: 5px solid #d97706; font-size: 13.8px; color: #78350f; line-height: 1.6; } .sp-diet-title { font-size: 15px; font-weight: 800; color: #92400e; margin-bottom: 8px; } .sp-result-box { margin-top: 16px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #2563eb; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 780px) { .sp-inner { padding: 14px; } .ver-grid { grid-template-columns: 1fr 1fr; } .sp-title { font-size: 18px; } .sp-pillars { grid-template-columns: 1fr 1fr; } .sp-ans-grid { grid-template-columns: 1fr; } .sp-bar-lbl { width: 140px; font-size: 11.5px; } .sp-bar-val { width: 110px; font-size: 11px; } .sp-pbtn.reset { margin-left: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
${vCfg.fullTitle}
${vCfg.desc}
`; let tabsHtml = ``; vCfg.sections.forEach(s => { const cnt = vCfg.items.filter(it => it.sec === s.code).length; tabsHtml += ``; }); filterTabs.innerHTML = tabsHtml; filterTabs.querySelectorAll('.sp-ftab').forEach(btn => { btn.onclick = function() { filterSec = this.getAttribute('data-sec'); renderHeaderAndFilters(); renderItems(); }; }); } function renderItems() { const vCfg = versionConfigs[currentVer]; const secMap = getSecMap(vCfg); const curAns = answersByVer[currentVer]; itemList.innerHTML = ''; vCfg.items.forEach(function(it) { if (filterSec !== 'all' && it.sec !== filterSec) return; const uVal = (curAns[it.id] !== undefined) ? curAns[it.id] : 1; const sCfg = secMap[it.sec]; const qCfg = quadConfigs[it.quad]; let rowCls = 'sp-q-item'; if (uVal >= 4) rowCls += ' freq-high'; else if (uVal === 3) rowCls += ' freq-mid'; const btnsHtml = freqOptions.map(opt => { const cls = 'sp-abtn' + (uVal === opt.val ? ` sel-${opt.val}` : ''); return ``; }).join(''); const el = document.createElement('div'); el.className = rowCls; el.innerHTML = `')} `; const secAlertNames = elevatedSections.map(s => `${s.cfg.name.split('(')[0].trim()} (${s.raw}/${s.maxR}đ - ${s.clsInfo.text})`).join(', '); resultBox.style.borderLeftColor = overallStatus.color; resultBox.innerHTML = ` Tổng hợp Kết luận ${vCfg.fullTitle.split('—')[0].trim()}:
• 1. Hồ sơ 4 Góc phần tư Winnie Dunn: Tìm kiếm (${cSeek.text}) • Né tránh (${cAvoi.text}) • Nhạy cảm (${cSens.text}) • Đăng ký thấp (${cRegi.text}).
• 2. Các lĩnh vực vượt ngưỡng chuẩn (+1 SD / +2 SD): ${secAlertNames || 'Tất cả các lĩnh vực đều nằm trong vùng Giống đa số điển hình.'} `; updateFloatingFabVisibility(); } function applyPresetToCurrentVer(type) { const vCfg = versionConfigs[currentVer]; const curAns = {}; vCfg.items.forEach(it => { curAns[it.id] = 1; }); if (type !== 'reset') { if (type === 'typical') { vCfg.items.forEach((it, idx) => { curAns[it.id] = (idx % 3 === 0) ? 2 : 1; }); } else if (type === 'seeker') { vCfg.items.forEach(it => { curAns[it.id] = (it.quad === 'seek') ? 4 : 2; }); } else if (type === 'defensive') { vCfg.items.forEach(it => { curAns[it.id] = (it.quad === 'avoi' || it.quad === 'sens') ? 4 : 2; }); } else if (type === 'mixed') { vCfg.items.forEach((it, idx) => { if (it.quad === 'avoi' || it.quad === 'sens') curAns[it.id] = (idx % 2 === 0) ? 4 : 3; else if (it.quad === 'seek' || it.quad === 'regi') curAns[it.id] = 4; else curAns[it.id] = 3; }); } } answersByVer[currentVer] = curAns; renderItems(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); spWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { spWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 960px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } shadow.querySelectorAll('#verGrid .ver-btn').forEach(function(btn) { btn.onclick = function() { currentVer = this.getAttribute('data-ver'); filterSec = 'all'; shadow.querySelectorAll('#verGrid .ver-btn').forEach(b => b.classList.remove('active')); this.classList.add('active'); renderHeaderAndFilters(); renderItems(); updateSummary(); }; }); shadow.querySelectorAll('.sp-pbtn').forEach(function(btn) { btn.onclick = function() { applyPresetToCurrentVer(this.getAttribute('data-preset')); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); // Khởi tạo sẵn dữ liệu mẫu cho cả 5 phiên bản để chuyển tab xem được ngay ['infant', 'toddler', 'school', 'adult', 'child'].forEach(vKey => { currentVer = vKey; applyPresetToCurrentVer('mixed'); }); renderHeaderAndFilters(); })();
Sensory Profile 2 (Hồ sơ Giác quan 2) là công cụ đánh giá chuẩn hóa hàng đầu thế giới trong lĩnh vực Hoạt động Trị liệu (Occupational Therapy – OT) dùng để đo lường các mẫu hình xử lý giác quan của trẻ trong đời sống hàng ngày (ở nhà, ở trường và ngoài cộng đồng). Công cụ này do Giáo sư Winnie Dunn phát triển (xuất bản năm 2014 bởi Pearson),áp dụng cho trẻ từ sơ sinh đến 14 tuổi 11 tháng.
Ở trẻ có Rối loạn phổ tự kỷ (ASD) hoặc ADHD, có tới 70% – 90% trẻ gặp khó khăn về xử lý giác quan (như bịt tai trước tiếng ồn, kén ăn cực đoan, nhón gót, xoay người, hoặc tìm kiếm cảm giác mạnh). Sensory Profile 2 giúp giải mã chính xác hệ thần kinh của trẻ đang xử lý thông tin như thế nào, từ đó thiết kế “Thực đơn Giác quan” (Sensory Diet) và điều chỉnh môi trường học tập phù hợp.
I. Cơ sở lý thuyết cốt lõi: Mô hình 4 Góc phần tư của Winnie Dunn (Dunn’s Four Quadrant Model)
Điểm đặc sắc nhất của Sensory Profile 2 là sự giao thoa giữa 2 trục: Ngưỡng thần kinh (Neurological Threshold: Cao hay Thấp) và Chiến lược tự điều chỉnh hành vi (Self-Regulation: Thụ động hay Chủ động), tạo thành 4 Mẫu hình xử lý giác quan (4 Quadrants):
| Mẫu hình (Quadrant) | Ngưỡng thần kinh | Chiến lược hành vi | Biểu hiện lâm sàng điển hình ở trẻ |
| 1. Tìm kiếm cảm giác(Seeking / Seeker) | Ngưỡng Cao(Cần kích thích mạnh mới cảm nhận được) | Chủ động (Tự đi tìm thêm kích thích) | Luôn chân luôn tay, thích chạy nhảy, xoay tròn, va chạm mạnh, sờ mó mọi vật, ngửi/nhai đồ vật, thích âm thanh to hoặc nhìn vật chuyển động. |
| 2. Né tránh cảm giác (Avoiding / Avoider) | Ngưỡng Thấp(Rất nhanh bị quá tải giác quan) | Chủ động (Chủ động rút lui / kiểm soát để chặn kích thích) | Bịt tai trước tiếng ồn, ghét chỗ đông người, trốn vào góc tối/yên tĩnh, giữ thói quen cứng nhắc để tránh bất ngờ, phản kháng khi bị ép tham gia. |
| 3. Nhạy cảm giác quan(Sensitivity / Sensor) | Ngưỡng Thấp(Phát hiện cả những kích thích rất nhỏ) | Thụ động (Không tự rút lui mà chịu đựng rồi cáu gắt / xao nhãng) | Rất dễ giật mình, dễ bị phân tâm bởi tiếng động nhỏ/ánh sáng, kén chọn thức ăn có kết cấu lạ, khó chịu với mác quần áo, hay phàn nàn, cáu kỉnh. |
| 4. Đăng ký cảm giác thấp / Thờ ơ (Registration / Bystander) | Ngưỡng Cao(Độ nhạy tiếp nhận tín hiệu thấp) | Thụ động (Không chủ động tìm kiếm, bỏ lỡ tín hiệu xung quanh) | Gọi tên nhiều lần không quay lại (dù thính lực bình thường), vẻ mặt lờ đờ/mơ màng, chậm phản ứng với cơn đau hoặc vết bẩn trên mặt, nhanh mỏi cơ, dựa dẫm. |
II. Cấu trúc các Phần đánh giá & Thang điểm trong Sensory Profile 2
-
Các phiên bản theo độ tuổi: Infant (0–6 tháng), Toddler (7–35 tháng), Child (3 – 14 tuổi 11 tháng — Phiên bản phổ biến nhất gồm 86 câu), Short (Bản rút gọn 34 câu) và School Companion (Dành cho giáo viên).
-
9 Phần đánh giá (6 Hệ giác quan + 3 Lĩnh vực Hành vi liên quan):
-
6 Hệ giác quan: Thính giác (Auditory), Thị giác (Visual), Xúc giác (Touch), Tiền đình / Chuyển động (Movement), Cảm thụ bản thể / Vị trí cơ thể (Body Position), Cảm giác Miệng (Oral).
-
3 Nhóm Hành vi: Hành vi ứng xử (Conduct), Phản ứng cảm xúc – xã hội (Social Emotional), Phản ứng chú ý (Attentional).
-
-
Thang chấm tần suất 5 mức (1 đến 5 điểm):
-
5— Hầu như luôn luôn ( thời gian) -
4— Thường xuyên ( thời gian) -
3— Một nửa thời gian ( thời gian) -
2— Thỉnh thoảng ( thời gian) -
1— Hầu như không bao giờ ( thời gian)
-
-
Hệ thống phân loại theo Phân phối Chuẩn (Bell Curve Classification):
-
Ít hơn nhiều / Ít hơn những trẻ khác (Much Less / Less Than Others — dưới −1 SD).
-
Giống như đa số những trẻ khác (Just Like the Majority of Others — trong khoảng −1 SD đến +1 SD, chiếm 68% trẻ điển hình).
-
Nhiều hơn những trẻ khác (More Than Others — từ +1 SD đến +2 SD: Vùng cần theo dõi & điều chỉnh môi trường).
-
Nhiều hơn rất nhiều so với những trẻ khác (Much More Than Others — trên +2 SD: Rối loạn xử lý giác quan rõ rệt, cần can thiệp Hoạt động trị liệu – OT).
-
SD là viết tắt của Standard Deviation (tiếng Việt gọi là Độ lệch chuẩn).
Trong các thang đo tâm lý và y khoa chuẩn hóa (như Sensory Profile 2, Vineland-3, ASQ-3, SRS-2 hay bài test IQ), SDchính là “thước đo khoảng cách” cho biết điểm số của một đứa trẻ lệch đi bao xa so với mức trung bình của những đứa trẻ bình thường cùng độ tuổi.
Hình dung trực quan qua “Đường cong hình chuông” (Bell Curve)
Khi các nhà khoa học khảo sát hàng ngàn đứa trẻ phát triển bình thường và vẽ điểm số của chúng lên biểu đồ, kết quả sẽ tạo thành một Đường cong phân phối chuẩn (hình quả chuông) như sơ đồ dưới đây (trong đó ký hiệu μ ở chính giữa là Điểm trung bình, và σ chính là 1 SD):

Nhìn vào biểu đồ hình chuông trên, bạn sẽ thấy quy luật 68 – 95 cực kỳ dễ hiểu:
-
Trong khoảng từ −1 SD đến +1 SD (Phần bụng chuông ở giữa): Chiếm 68% tổng số trẻ em trong cộng đồng Đây là vùng “Bình thường / Giống đa số trẻ khác”.
-
Vượt ra ngoài mốc ±1 SD đến ±2 SD (Hai bên sườn chuông): Chỉ có khoảng 14% trẻ nằm ở sườn phải (từ +1 SD đến ) và 14% nằm ở sườn trái Bắt đầu có sự khác biệt rõ (“Nhiều hơn” hoặc “Ít hơn” đa số trẻ khác), thuộc Vùng Giáp ranh / Cần theo dõi.
-
Vượt quá mốc +2 SD hoặc thấp hơn −2 SD (Hai đuôi ngoài cùng của quả chuông): Mỗi bên đuôi chỉ chiếm khoảng 2% dân số Đây là sự chênh lệch rất lớn, trong y khoa lấy mốc từ trở đi làm ngưỡng kết luận Bất thường / Có ý nghĩa lâm sàng.
Bảng giải nghĩa SD trong Sensory Profile 2:
Trong công cụ Sensory Profile 2 bạn vừa làm ở trên, điểm càng cao nghĩa là tần suất hành vi giác quan đó xuất hiện càng nhiều:
| Ký hiệu độ lệch chuẩn | Tên phân loại trong Sensory Profile 2 | Tỷ lệ trẻ trong dân số | Ý nghĩa lâm sàng thực tế |
| Dưới | Ít hơn rất nhiều(Much Less Than Others) | ~2% | Trẻ hầu như không bao giờ có phản ứng đó (ít hơn tuyệt đối so với trẻ cùng tuổi). |
| đến | Ít hơn đa số(Less Than Others) | ~14% | Trẻ ít biểu hiện hành vi đó hơn các bạn cùng trang lứa. |
| đến | Giống đa số trẻ khác (Just Like the Majority) | ~68% | BÌNH THƯỜNG: Hệ thần kinh xử lý giác quan hài hòa giống đa số trẻ em cùng tuổi. |
| đến | Nhiều hơn đa số(More Than Others) | ~14% | CẢNH BÁO / GIÁP RANH: Trẻ nhạy cảm, né tránh hoặc tìm kiếm cảm giác nhiều hơn rõ rệt so với bạn bè. Cần điều chỉnh môi trường học tập/sinh hoạt. |
| Trên | Nhiều hơn rất nhiều (Much More Than Others) | ~2% | VƯỢT NGƯỠNG LÂM SÀNG: Rối loạn xử lý giác quan mức độ nặng (chỉ gặp ở ~2% dân số), gây cản trở sinh hoạt và cần can thiệp Hoạt động trị liệu (OT). |
Mẹo cực nhanh để bạn đọc mọi bảng điểm Tâm lý (Vineland-3, IQ, ASQ-3, SRS-2)
Nắm được khái niệm SD, bạn sẽ hiểu ngay vì sao các bảng công cụ trên website của bạn lại có những con số điểm cắt như 70, 85 hay 60:
-
Với thang đo Kỹ năng (như Vineland-3 hoặc IQ): Điểm càng thấp là càng chậm.
-
Trung bình dân số đặt là 100 điểm, và 1 SD=15 điểm.
-
Mốc −1 SD là 100−15=85 (Dưới 85 điểm là bắt đầu chậm hơn mức trung bình).
-
Mốc −2 SD là 100−30=70 (Dưới 70 điểm là suy giảm rõ rệt có ý nghĩa chẩn đoán lâm sàng!).
-
-
Với thang đo Triệu chứng (như CARS-2, SRS-2 dùng điểm T-Score): Điểm càng cao là triệu chứng càng nặng.
-
Trung bình dân số đặt là 50 điểm, và 1 SD=10 điểm.
-
Mốc +1 SD là 50+10=60 điểm (Từ 60 điểm trở lên là bắt đầu vào vùng Tự kỷ mức độ Nhẹ).
-
Mốc +2 SD là 50+20=70 điểm (Từ 70 điểm trở lên là mức độ Trung bình – Nặng).
-
[Theo dõi tiến bộ] ATEC: Bảng kiểm đánh giá hiệu quả điều trị và theo dõi tiến bộ ở trẻ tự kỷ (2 – 12 tuổi)
(function() { const host = document.getElementById('atec-wp-host'); if (!host) return; const placeholder = document.createComment('atec-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // Cấu hình 4 Phân mục chuẩn của ATEC (Tổng 77 câu = 179 điểm) const subConfigs = { s1: { code: 's1', name: 'I. Lời nói / Ngôn ngữ / Giao tiếp (14 câu)', max: 28, color: '#2563eb', rule: 'Kỹ năng tích cực: Rất đúng = 0đ | Đúng một phần = 1đ | Không đúng = 2đ' }, s2: { code: 's2', name: 'II. Kỹ năng Xã hội (20 câu)', max: 40, color: '#7c3aed', rule: 'Khiếm khuyết xã hội: Không giống = 0đ | Giống một phần = 1đ | Rất giống = 2đ' }, s3: { code: 's3', name: 'III. Nhận thức Giác quan / Tư duy (18 câu)', max: 36, color: '#0d9488', rule: 'Năng lực nhận thức: Rất giống = 0đ | Giống một phần = 1đ | Không giống = 2đ' }, s4: { code: 's4', name: 'IV. Sức khỏe / Thể chất / Hành vi (25 câu)', max: 75, color: '#dc2626', rule: 'Mức độ vấn đề: Không = 0đ | Nhẹ = 1đ | Vừa = 2đ | Nghiêm trọng = 3đ' } }; // Đầy đủ 77 câu hỏi chuẩn ATEC (Autism Research Institute - Rimland & Edelson) const questions = [ // PHẦN I: LỜI NÓI / NGÔN NGỮ / GIAO TIẾP (Câu 1 - 14 • Max 28đ • Rất đúng=0, Đúng một phần=1, Không đúng=2) { id: 1, sub: 's1', t: 'Biết tên của chính mình (quay lại hoặc phản ứng khi được gọi tên).' }, { id: 2, sub: 's1', t: 'Phản ứng dừng lại khi nghe hiệu lệnh "Không" hoặc "Dừng lại".' }, { id: 3, sub: 's1', t: 'Có thể làm theo một số mệnh lệnh đơn giản.' }, { id: 4, sub: 's1', t: 'Có thể sử dụng từng từ đơn (Ví dụ: Không, Ăn, Nước, Mẹ...).' }, { id: 5, sub: 's1', t: 'Có thể sử dụng cụm 2 từ nối tiếp nhau (Ví dụ: Không muốn, Đi về, Uống sữa...).' }, { id: 6, sub: 's1', t: 'Có thể sử dụng cụm 3 từ trở lên (Ví dụ: Con muốn uống sữa...).' }, { id: 7, sub: 's1', t: 'Biết từ 10 từ vựng trở lên.' }, { id: 8, sub: 's1', t: 'Có thể nói các câu có từ 4 từ trở lên.' }, { id: 9, sub: 's1', t: 'Giải thích được điều trẻ đang muốn bằng lời nói.' }, { id: 10, sub: 's1', t: 'Biết đặt các câu hỏi có ý nghĩa.' }, { id: 11, sub: 's1', t: 'Lời nói của trẻ có xu hướng mang tính liên quan, có ý nghĩa với tình huống hiện tại.' }, { id: 12, sub: 's1', t: 'Thường xuyên sử dụng được nhiều câu nói liên tiếp nhau.' }, { id: 13, sub: 's1', t: 'Duy trì được một cuộc trò chuyện qua lại khá tốt.' }, { id: 14, sub: 's1', t: 'Có khả năng giao tiếp bằng lời nói tương đương với trẻ bình thường cùng độ tuổi.' }, // PHẦN II: KỸ NĂNG XÃ HỘI (Câu 15 - 34 • Max 40đ • Không giống=0, Giống một phần=1, Rất giống=2) { id: 15, sub: 's2', t: 'Có vẻ như đang ở trong một "vỏ bọc" riêng — bạn không thể tiếp cận kết nối với trẻ.' }, { id: 16, sub: 's2', t: 'Phớt lờ những người khác như thể họ không tồn tại.' }, { id: 17, sub: 's2', t: 'Khi có người nói chuyện cùng, trẻ hầu như không chú ý hoặc rất ít chú ý.' }, { id: 18, sub: 's2', t: 'Không hợp tác và có tính chống đối.' }, { id: 19, sub: 's2', t: 'Không có giao tiếp bằng ánh mắt (tránh nhìn mắt).' }, { id: 20, sub: 's2', t: 'Thích được để yên chơi một mình hơn là chơi cùng người khác.' }, { id: 21, sub: 's2', t: 'Không thể hiện tình cảm ấm áp, âu yếm với người thân.' }, { id: 22, sub: 's2', t: 'Không biết chào hỏi bố mẹ khi đi học về hoặc khi gặp lại.' }, { id: 23, sub: 's2', t: 'Tránh né việc tiếp xúc, tương tác với những người khác.' }, { id: 24, sub: 's2', t: 'Không bắt chước hành động của người khác.' }, { id: 25, sub: 's2', t: 'Không thích được ôm ấp hoặc giữ trong lòng.' }, { id: 26, sub: 's2', t: 'Không biết chia sẻ đồ vật hoặc mang đồ lại khoe với người khác.' }, { id: 27, sub: 's2', t: 'Không biết vẫy tay chào tạm biệt ("Bye bye").' }, { id: 28, sub: 's2', t: 'Không nghe lời và bất tuân các chỉ dẫn.' }, { id: 29, sub: 's2', t: 'Thường xuyên nổi cơn tam bành, ăn vạ dữ dội.' }, { id: 30, sub: 's2', t: 'Không có bạn bè và không chơi với bạn cùng trang lứa.' }, { id: 31, sub: 's2', t: 'Hiếm khi mỉm cười với người khác.' }, { id: 32, sub: 's2', t: 'Vô cảm trước cảm xúc của người khác (không để ý khi người khác buồn/khóc).' }, { id: 33, sub: 's2', t: 'Thờ ơ không quan tâm đến việc người khác có quý mến hay khen mình không.' }, { id: 34, sub: 's2', t: 'Thờ ơ hoàn toàn khi bố mẹ rời đi (không có phản ứng lưu luyến).' }, // PHẦN III: NHẬN THỨC GIÁC QUAN / TƯ DUY (Câu 35 - 52 • Max 36đ • Rất giống=0, Giống một phần=1, Không giống=2) { id: 35, sub: 's3', t: 'Phản ứng tương xứng khi nghe gọi tên của mình.' }, { id: 36, sub: 's3', t: 'Đáp lại tích cực khi được người khác khen ngợi.' }, { id: 37, sub: 's3', t: 'Nhìn vào con người và các loài động vật xung quanh.' }, { id: 38, sub: 's3', t: 'Chú ý nhìn vào tranh ảnh và xem tivi có hiểu nội dung.' }, { id: 39, sub: 's3', t: 'Biết vẽ hình, tô màu hoặc làm các hoạt động mỹ thuật/thủ công.' }, { id: 40, sub: 's3', t: 'Chơi với các món đồ chơi một cách phù hợp (đúng chức năng của đồ chơi).' }, { id: 41, sub: 's3', t: 'Có biểu cảm khuôn mặt phù hợp với từng hoàn cảnh cảm xúc.' }, { id: 42, sub: 's3', t: 'Hiểu được các câu chuyện kể trên tivi hoặc phim hoạt hình.' }, { id: 43, sub: 's3', t: 'Hiểu được những lời giải thích của người lớn.' }, { id: 44, sub: 's3', t: 'Có nhận thức về môi trường và những gì đang diễn ra xung quanh.' }, { id: 45, sub: 's3', t: 'Có nhận thức về mối nguy hiểm (tránh độ cao, xe cộ, vật nóng).' }, { id: 46, sub: 's3', t: 'Thể hiện trí tưởng tượng (chơi đóng vai giả vờ).' }, { id: 47, sub: 's3', t: 'Chủ động khởi xướng các hoạt động vui chơi/học tập.' }, { id: 48, sub: 's3', t: 'Có thể tự mặc quần áo mà không cần giúp đỡ nhiều.' }, { id: 49, sub: 's3', t: 'Tò mò, thích tìm hiểu và khám phá những điều mới mẻ.' }, { id: 50, sub: 's3', t: 'Mạnh dạn thử nghiệm, khám phá môi trường xung quanh.' }, { id: 51, sub: 's3', t: 'Bắt nhịp tốt với mọi chuyện, không bị lơ đãng hay bỏ lỡ thông tin.' }, { id: 52, sub: 's3', t: 'Nhìn theo hướng mà những người khác đang nhìn hoặc chỉ tay tới.' }, // PHẦN IV: SỨC KHỎE / THỂ CHẤT / HÀNH VI (Câu 53 - 77 • Max 75đ • Không=0, Nhẹ=1, Vừa=2, Nghiêm trọng=3) { id: 53, sub: 's4', t: 'Đái dầm vào ban đêm.' }, { id: 54, sub: 's4', t: 'Đái ra quần vào ban ngày.' }, { id: 55, sub: 's4', t: 'Đại tiện (ị đùn) ra quần.' }, { id: 56, sub: 's4', t: 'Tiêu chảy thường xuyên hoặc phân lỏng.' }, { id: 57, sub: 's4', t: 'Táo bón kéo dài.' }, { id: 58, sub: 's4', t: 'Các vấn đề về giấc ngủ (khó ngủ, thức giấc giữa đêm, ngủ ít).' }, { id: 59, sub: 's4', t: 'Ăn quá nhiều hoặc cực kỳ kén ăn / ăn quá ít.' }, { id: 60, sub: 's4', t: 'Kén chọn thực phẩm cực đoan (chỉ ăn một vài món cố định).' }, { id: 61, sub: 's4', t: 'Cơn tăng động, chạy nhảy bồn chồn không ngừng (Hyperactive).' }, { id: 62, sub: 's4', t: 'Trạng thái lờ đờ, mệt mỏi, thiếu năng lượng (Lethargic).' }, { id: 63, sub: 's4', t: 'Tự đánh hoặc tự làm đau chính bản thân mình (Self-injurious).' }, { id: 64, sub: 's4', t: 'Đánh, cắn hoặc làm đau những người khác.' }, { id: 65, sub: 's4', t: 'Phá hỏng đồ đạc, xé sách vở hoặc đập phá đồ chơi.' }, { id: 66, sub: 's4', t: 'Nhạy cảm quá mức với âm thanh (hay bịt tai trước tiếng ồn).' }, { id: 67, sub: 's4', t: 'Lo âu, căng thẳng hoặc sợ hãi quá mức.' }, { id: 68, sub: 's4', t: 'Không vui vẻ, hay khóc lóc hoặc cáu gắt vô cớ.' }, { id: 69, sub: 's4', t: 'Co giật hoặc các cơn vắng ý thức (Seizures).' }, { id: 70, sub: 's4', t: 'Lời nói mang tính ám ảnh, lặp đi lặp lại một câu/từ.' }, { id: 71, sub: 's4', t: 'Các thói quen cứng nhắc (đòi hỏi mọi thứ phải y nguyên không được thay đổi).' }, { id: 72, sub: 's4', t: 'La hét hoặc kêu ré lên bất chợt.' }, { id: 73, sub: 's4', t: 'Đòi hỏi mọi thứ phải được đáp ứng ngay lập tức.' }, { id: 74, sub: 's4', t: 'Thường xuyên bị kích động, bồn chồn lo lắng.' }, { id: 75, sub: 's4', t: 'Không nhạy cảm với cơn đau (ngã đau hoặc chảy máu nhưng không khóc).' }, { id: 76, sub: 's4', t: 'Bị cuốn hút / dán mắt vào một số đồ vật hoặc chủ đề nhất định.' }, { id: 77, sub: 's4', t: 'Các cử động cơ thể lặp đi lặp lại (vẫy tay, đung đưa người, xoay tròn).' } ]; // answers[id] lưu trực tiếp ĐIỂM RỦI RO của câu đó (0, 1, 2 cho Phần I, II, III; và 0, 1, 2, 3 cho Phần IV) let answers = {}; let filterSub = 'all'; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .at-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .at-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .at-inner { padding: 24px; max-width: 960px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .at-wrap.is-fullscreen .at-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .at-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 0 rgba(37, 99, 235, 0.4); } 70% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 10px rgba(37, 99, 235, 0); } 100% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 0 rgba(37, 99, 235, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #1d4ed8 0%, #2563eb 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Header */ .at-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .at-header-text { flex: 1 1 260px; } .at-title { font-size: 21px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .at-desc { font-size: 14px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #eff6ff; color: #1d4ed8; border: 1px solid #bfdbfe; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #2563eb; color: #ffffff; border-color: #2563eb; } /* Controls */ .at-controls { display: flex; flex-direction: column; gap: 10px; margin-bottom: 18px; } .at-presets { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; } .at-preset-lbl { font-size: 12.5px; font-weight: 700; color: #475569; margin-right: 4px; } .at-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; touch-action: manipulation; } .at-pbtn:hover { background: #f1f5f9; } .at-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } .at-sub-tabs { display: flex; flex-wrap: wrap; gap: 6px; } .at-stab { padding: 6px 12px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .at-stab.active { background: #2563eb; color: #ffffff; border-color: #2563eb; } /* Sticky Dashboard */ .at-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .at-wrap.is-fullscreen .at-dash { top: 58px; } .at-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .at-score-big { font-size: 23px; font-weight: 800; line-height: 1.15; } .at-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .at-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .at-bar-bg { height: 10px; background: #334155; border-radius: 5px; overflow: hidden; margin-bottom: 12px; } .at-bar-fill { height: 100%; width: 0%; background: #10b981; transition: width 0.35s ease, background 0.35s ease; } .at-pillars { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; font-size: 12px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .at-pillar-box { background: #1e293b; padding: 7px 10px; border-radius: 8px; } .at-pillar-val { font-weight: 700; color: #ffffff; font-size: 13.5px; display: block; margin-top: 2px; } /* Danh sách 77 câu hỏi */ .at-q-item { border: 1px solid #e2e8f0; border-radius: 10px; padding: 14px 16px; margin-bottom: 12px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 10px; } .at-q-item.risk-high { border-color: #fda4af; background: #fff5f5; } .at-q-item.risk-mid { border-color: #fde68a; background: #fffbeb; } .at-q-text { font-size: 14.5px; font-weight: 600; color: #1e293b; line-height: 1.5; } .at-q-tags { display: flex; flex-wrap: wrap; gap: 6px; } .at-tag { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .at-ans-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; } .at-ans-grid.grid-4 { grid-template-columns: repeat(4, 1fr); } .at-abtn { padding: 8px 6px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 600; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .at-abtn:hover { border-color: #64748b; } .at-abtn.sel-0 { background: #10b981; border-color: #10b981; color: #ffffff; font-weight: 700; } .at-abtn.sel-1 { background: #f59e0b; border-color: #f59e0b; color: #ffffff; font-weight: 700; } .at-abtn.sel-2, .at-abtn.sel-3 { background: #ef4444; border-color: #ef4444; color: #ffffff; font-weight: 700; } /* Biểu đồ 4 phân mục & Kết luận */ .at-chart-card { margin-top: 20px; padding: 16px 18px; border-radius: 12px; background: #ffffff; border: 1px solid #e2e8f0; } .at-chart-title { font-size: 14.5px; font-weight: 700; color: #0f172a; margin-bottom: 12px; } .at-bar-row { display: flex; align-items: center; gap: 10px; margin-bottom: 9px; font-size: 12.5px; } .at-bar-lbl { width: 255px; flex-shrink: 0; font-weight: 600; color: #334155; } .at-bar-track { flex: 1; height: 16px; background: #f1f5f9; border-radius: 999px; overflow: hidden; } .at-bar-val { width: 110px; text-align: right; font-weight: 700; color: #0f172a; flex-shrink: 0; } .at-result-box { margin-top: 16px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #2563eb; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 720px) { .at-inner { padding: 14px; } .at-title { font-size: 18px; } .at-pillars { grid-template-columns: 1fr 1fr; } .at-ans-grid, .at-ans-grid.grid-4 { grid-template-columns: 1fr; } .at-bar-lbl { width: 145px; font-size: 11.5px; } .at-bar-val { width: 90px; font-size: 11.5px; } .at-pbtn.reset { margin-left: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
Bảng Kiểm Đánh Giá Điều Trị Tự Kỷ ATEC (Đầy Đủ 77 Câu Hỏi • Thang 0 – 179 Điểm)
Công cụ chuẩn hóa của Viện Nghiên cứu Tự kỷ Hoa Kỳ (ARI — Rimland & Edelson) dùng để đo lường mức độ triệu chứng và theo dõi sự tiến bộ qua từng giai đoạn can thiệp. Quy tắc: Điểm càng thấp trẻ càng tốt (0–19: Tối thiểu • 20–39: Nhẹ • 40–69: Trung bình • 70–103: Nặng • ≥104: Rất nặng).
• Bách phân vị ARI: ${pctText}.
• Trẻ có kỹ năng ngôn ngữ giao tiếp (${scores.s1}/28), tương tác xã hội (${scores.s2}/40), nhận thức giác quan (${scores.s3}/36) và sức khỏe hành vi (${scores.s4}/75) rất tốt. Nếu trẻ trước đây từng có điểm ATEC cao và nay giảm xuống dưới 20 điểm, đây là dấu hiệu đáp ứng can thiệp cực kỳ xuất sắc. `; } else if (total <= 39) { color = '#0284c7'; badgeTxt = `MỨC ĐỘ NHẸ - MILD (${total}/179đ)`; analysis = ` Kết luận ATEC — Triệu chứng Phổ Tự Kỷ Mức Độ NHẸ (20 – 39 điểm: Đạt ${total}/179 điểm):
• Bách phân vị ARI: ${pctText}.
• Phân tích 4 trụ cột: Lời nói & Giao tiếp (${scores.s1}/28đ) • Kỹ năng Xã hội (${scores.s2}/40đ) • Nhận thức & Giác quan (${scores.s3}/36đ) • Sức khỏe & Hành vi (${scores.s4}/75đ).
• Định hướng: Trẻ có nền tảng khá tốt để học hòa nhập, cần tiếp tục củng cố các kỹ năng giao tiếp xã hội tinh tế và theo dõi lại bằng ATEC sau mỗi 2–3 tháng. `; } else if (total <= 69) { color = '#f59e0b'; badgeTxt = `MỨC ĐỘ TRUNG BÌNH - MODERATE (${total}/179đ)`; analysis = ` Kết luận ATEC — Triệu chứng Phổ Tự Kỷ Mức Độ TRUNG BÌNH (40 – 69 điểm: Đạt ${total}/179 điểm):
• Bách phân vị ARI: ${pctText}.
• Phân tích 4 trụ cột: Lời nói & Giao tiếp (${scores.s1}/28đ) • Kỹ năng Xã hội (${scores.s2}/40đ) • Nhận thức & Giác quan (${scores.s3}/36đ) • Sức khỏe & Hành vi (${scores.s4}/75đ).
• Định hướng: Hãy nhìn vào biểu đồ tỷ lệ % ở trên để xem phân mục nào đang chiếm tỷ lệ điểm cao nhất (ví dụ: nếu Phần I và III cao cần đẩy mạnh ABA/VB-MAPP và Ngôn ngữ trị liệu; nếu Phần IV cao cần giải quyết vấn đề giấc ngủ, tiêu hóa và điều hòa giác quan). `; } else { color = '#ef4444'; badgeTxt = total <= 103 ? `MỨC ĐỘ NẶNG - SEVERE (${total}/179đ)` : `MỨC ĐỘ RẤT NẶNG (${total}/179đ)`; analysis = ` Kết luận ATEC — Triệu chứng Phổ Tự Kỷ Mức Độ NẶNG / RẤT NẶNG (≥ 70 điểm: Đạt ${total}/179 điểm):
• Bách phân vị ARI: ${pctText}.
• Phân tích 4 trụ cột: Lời nói & Giao tiếp (${scores.s1}/28đ) • Kỹ năng Xã hội (${scores.s2}/40đ) • Nhận thức & Giác quan (${scores.s3}/36đ) • Sức khỏe & Hành vi (${scores.s4}/75đ).
• Định hướng: Trẻ cần chương trình can thiệp tích cực 1-kèm-1 toàn diện (kết hợp thiết lập ngôn ngữ nền tảng qua VB-MAPP/PEP-3, Hoạt động trị liệu giác quan OT và thăm khám y khoa nhi phát triển để cải thiện giấc ngủ/tiêu hóa ở Phần IV). Hãy lưu lại mốc điểm ${total} điểm này làm mốc nền (Baseline) để đánh giá lại sau 3 tháng can thiệp! `; } barFill.style.background = color; scoreBadge.textContent = badgeTxt; scoreBadge.style.background = color; scoreBadge.style.color = '#ffffff'; resultBox.style.borderLeftColor = color; resultBox.innerHTML = analysis; updateFloatingFabVisibility(); } function applyPreset(type) { answers = {}; if (type === 'reset') { renderQuestions(); updateSummary(); return; } if (type === 'recovered') { // 15 điểm (Sau can thiệp tốt) questions.forEach((q, idx) => { answers[q.id] = (idx % 5 === 0) ? 1 : 0; }); } else if (type === 'mild') { // 32 điểm (Mức độ Nhẹ) questions.forEach((q, idx) => { answers[q.id] = (idx % 3 === 0) ? 1 : ((idx % 11 === 0) ? 2 : 0); }); } else if (type === 'mod') { // 56 điểm (Mức độ Trung bình) questions.forEach((q, idx) => { if (idx % 4 === 0) answers[q.id] = 2; else if (idx % 2 === 0) answers[q.id] = 1; else answers[q.id] = 0; }); } else if (type === 'sev') { // 88 điểm (Mức độ Nặng trước can thiệp) questions.forEach((q, idx) => { if (q.sub === 's4' && idx % 5 === 0) answers[q.id] = 3; else if (idx % 2 === 0) answers[q.id] = 2; else answers[q.id] = 1; }); } renderQuestions(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); atWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { atWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 960px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } shadow.querySelectorAll('.at-pbtn').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-preset')); }; }); shadow.querySelectorAll('#subTabs .at-stab').forEach(function(tab) { tab.onclick = function() { filterSub = this.getAttribute('data-sub'); shadow.querySelectorAll('#subTabs .at-stab').forEach(t => t.classList.remove('active')); this.classList.add('active'); renderQuestions(); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); applyPreset('mod'); })();
ATEC (Autism Treatment Evaluation Checklist — Bảng Kiểm Đánh Giá Điều Trị Tự Kỷ) là công cụ định lượng hàng đầu thế giới chuyên dùng để đo lường hiệu quả trước và sau can thiệp ở trẻ có Rối loạn phổ tự kỷ (ASD). Công cụ được Tiến sĩ Bernard Rimland và Tiến sĩ Stephen M. Edelson tại Viện Nghiên cứu Tự kỷ Hoa Kỳ (Autism Research Institute – ARI) phát triển năm 1999.
Khác với các công cụ sàng lọc một lần (như M-CHAT-R/F hay CAST), mục đích cốt lõi của ATEC là giúp phụ huynh,giáo viên và nhà trị liệu theo dõi sự tiến bộ của trẻ theo từng tháng/quý (khi áp dụng phương pháp giáo dục mới, ngôn ngữ trị liệu, điều hòa giác quan hoặc chế độ dinh dưỡng/y sinh).
1. Tóm tắt cốt lõi về cấu trúc & Cách tính điểm của ATEC
-
Độ tuổi áp dụng: Phổ biến nhất cho trẻ từ 2 đến 12 tuổi (có thể mở rộng cho lứa tuổi lớn hơn đang trong quá trình can thiệp).
-
Quy tắc vàng của điểm ATEC: ĐIỂM CÀNG THẤP = TRẺ CÀNG TỐT (ÍT TRIỆU CHỨNG HƠN). Khi trẻ tiến bộ qua các tháng can thiệp, tổng điểm ATEC sẽ giảm dần về 0.
-
Cấu trúc 77 câu hỏi chia làm 4 Phân mục (Tổng điểm từ 0 đến 179 điểm):
| Phân mục (Subscale) | Số câu hỏi | Quy tắc chấm điểm & Trọng số đặc biệt | Điểm tối đa |
| I. Lời nói / Ngôn ngữ / Giao tiếp(Speech/Language/Communication) | 14 câu(Câu 1 – 14) |
Hỏi về các kỹ năng tích cực trẻ làm được:
•
•
• |
28 điểm |
| II. Kỹ năng Xã hội (Sociability) | 20 câu(Câu 15 – 34) |
Hỏi về các khiếm khuyết xã hội của trẻ:
•
•
• |
40 điểm |
| III. Nhận thức Giác quan / Tư duy(Sensory/Cognitive Awareness) | 18 câu(Câu 35 – 52) |
Hỏi về các năng lực nhận thức tích cựccủa trẻ:
•
•
• |
36 điểm |
| IV. Sức khỏe / Thể chất / Hành vi(Health/Physical/Behavior) | 25 câu(Câu 53 – 77) |
Hỏi về các vấn đề sức khỏe, tiêu hóa, giấc ngủ & hành vi:
•
•
•
• |
75 điểm |
| TỔNG CỘNG TOÀN BẢNG | 77 câu | Tổng điểm càng thấp trẻ phát triển càng tốt | 179 điểm |
2. Bảng Phân loại Mức độ Nặng theo Tổng điểm ATEC (ARI Percentile Norms)
| Khoảng Tổng điểm ATEC (0 – 179) | Bách phân vị (Percentile) | Phân loại Mức độ Triệu chứng Lâm sàng |
| 0 – 19 điểm | < 5% | Không có / Triệu chứng tối thiểu: Tương đương trẻ phát triển điển hình hoặc đã phục hồi rất tốt sau can thiệp. |
| 20 – 39 điểm | 5% – 19% | Mức độ Nhẹ (Mild): Trẻ có ngôn ngữ giao tiếp và nhận thức khá tốt, chỉ còn một số khó khăn xã hội hoặc hành vi nhẹ. |
| 40 – 69 điểm | 20% – 59% | Mức độ Trung bình (Moderate): Cần chương trình can thiệp có cấu trúc đều đặn về ngôn ngữ, xã hội và điều hòa hành vi. |
| 70 – 103 điểm | 60% – 89% | Mức độ Nặng (Severe): Suy giảm rõ rệt ở nhiều lĩnh vực, cần can thiệp cá nhân 1:1 chuyên sâu và chăm sóc y sinh/giác quan. |
| 104 – 179 điểm | Mức độ Rất nặng (Profound): Nằm trong nhóm 10% có biểu hiện nặng nhất, cần hỗ trợ toàn diện mọi mặt sinh hoạt. |
Dạy bé hỏi câu hỏi “Tại sao?”
Để dạy câu hỏi “Tại sao lại thế ạ?” (hoặc rút gọn là “Sao thế ạ?” / “Tại sao?”), cấp độ nhận thức đã nâng lên một bậc so với câu hỏi “Cái gì” và “Ai”.
Nguyên tắc cốt lõi để trẻ bật ra câu hỏi này là phá vỡ quy luật quen thuộc (tạo ra sự cố hoặc sự bất thường). Trẻ tự kỷ vốn rất nhạy cảm với các quy trình cố định; khi một món đồ chơi bỗng dưng không hoạt động, hoặc người lớn có một hành động “kỳ quặc” trái với thường ngày, trẻ sẽ khựng lại vì thắc mắc. Đó chính là thời điểm vàng để dạy.
1. Điều kiện cần trước khi dạy
-
Bé đã biết nhận ra sự bất thường trong môi trường (ví dụ: thấy đồ chơi không chạy thì ngẩng lên nhìn mẹ, hoặc thấy cửa khóa thì kéo tay mẹ).
-
Bé đã hiểu được các câu giải thích nguyên nhân – kết quả ngắn gọn (ví dụ: “Hết pin rồi”, “Bị ướt rồi”, “Đau tay”).
-
(Mẹo: Câu “Tại sao lại thế ạ?” khá dài (5 âm tiết). Nếu bé nói chưa sõi, hãy rút gọn mục tiêu thành “Sao thế ạ?”hoặc “Tại sao ạ?” trước).
2. Quy trình 4 bước thực hiện (Tình huống: Đồ chơi “bỗng dưng” bị hỏng)
Chuẩn bị: Một món đồ chơi phát nhạc/phát sáng mà bé cực kỳ thích (đã được bạn tháo pin ra trước), và giấu sẵn viên pin trong túi áo.
Bước 1: Tạo “sự cố” bất ngờ
-
Đưa món đồ chơi cho bé như bình thường.
-
Bé bấm nút nhưng đồ chơi không kêu, không sáng đèn.
-
Bạn cầm lấy đồ chơi, bấm thử vài lần rồi xòe hai tay ra, nhún vai, nhăn mặt với biểu cảm ngạc nhiên phóng đại: “Ơ! Không kêu!”
Bước 2: Làm mẫu và Nhắc (Prompting) ngay khi bé thắc mắc
-
Ngay khoảnh khắc bé nhìn vào món đồ chơi rồi ngước nhìn bạn với vẻ mặt khó hiểu (hoặc sốt ruột đưa đồ chơi cho bạn sửa), bạn đặt tay lên cằm hoặc xòe tay ra.
-
Nói mẫu thật rõ ràng, chậm rãi với ngữ điệu thắc mắc: “Tại sao lại thế ạ?” (hoặc “Sao thế ạ?”).
-
Chờ 2–3 giây để bé lặp lại câu hỏi.
Bước 3: Giải thích ngắn gọn + Khắc phục sự cố ngay lập tức (Củng cố)
-
Ngay khi bé nói theo “Tại sao lại thế ạ?”, bạn lập tức lật mặt sau của đồ chơi ra chỉ vào ổ trống và giải thích thật ngắn gọn, trực quan: “À! Vì hết pin rồi!” (hoặc “Vì chưa lắp pin!”).
-
Lấy ngay viên pin trong túi lắp vào, bật công tắc cho đồ chơi phát sáng/kêu nhạc và trả lại cho bé chơi. (Việc lắp pin ngay giúp bé hiểu rằng: Đặt câu hỏi “Tại sao” sẽ tìm ra nguyên nhân và giải quyết được vấn đề để tiếp tục cuộc chơi).
Bước 4: Giảm dần sự trợ giúp (Fading) Lặp lại tình huống với các đồ vật bị “trục trặc” khác (bút lông bị đóng nắp không vẽ được, hộp bánh bị dán băng dính chặt không mở được…):
-
Mức 1 (Nhắc toàn câu): Bạn xòe tay làm mẫu “Tại sao lại thế ạ?” -> Bé nói theo.
-
Mức 2 (Nhắc cử chỉ + 1 từ đầu): Khi đồ chơi không chạy, bạn xòe hai tay, nhướng mày và mớm từ “Tại…” -> Bé tự nói tiếp “…sao lại thế ạ?”.
-
Mức 3 (Tự chủ động): Khi gặp sự cố, bạn chỉ xòe tay và nhìn bé với vẻ mặt ngạc nhiên, im lặng chờ 3–5 giây -> Bé tự bật ra câu hỏi.
3. Bốn tình huống mở rộng cực kỳ hiệu quả trong sinh hoạt
Trẻ sẽ hiểu sâu câu hỏi “Tại sao” nhất khi được đặt vào các tình huống hài hước hoặc cản trở nhẹ trong đời sống hàng ngày:
4. Ba lưu ý quan trọng khi dạy câu hỏi “Tại sao”
-
Câu trả lời phải cực kỳ ngắn gọn và nhìn thấy bằng mắt (Trực quan): Trẻ tự kỷ và rối loạn ngôn ngữ rất khó hiểu những lời giải thích trừu tượng dài dòng. Hãy luôn bắt đầu câu trả lời bằng chữ “Vì…” kèm theo hành động chỉ vào bằng chứng cụ thể (Ví dụ: “Vì hết pin” -> chỉ vào ổ pin trống; “Vì bàn bị ướt” -> đặt tay bé chạm vào vũng nước trên bàn).
-
Đừng biến thành bài kiểm tra lý thuyết: Ở giai đoạn đầu, tránh dùng tranh ảnh tĩnh để hỏi kiểu học thuật trước khi bé biết dùng câu hỏi trong thực tế. Hãy để bé trải nghiệm cảm giác “thắc mắc thật” qua trò chơi trước.
-
Kiên nhẫn với ngữ điệu: Khi làm mẫu câu “Tại sao lại thế ạ?”, hãy cố gắng kết hợp ngôn ngữ cơ thể (nghiêng đầu, nhướng mày, xòe hai bàn tay). Trẻ tự kỷ học qua thị giác rất tốt; cử chỉ xòe tay của bạn sau này sẽ trở thành dấu hiệu nhắc nhở tuyệt vời mà không cần dùng lời nói.
Kiến thức có tham khảo từ AI.
Những Sai Lầm Và Sự Thật Về Phổ Tự Kỷ
Những hiểu sai về trẻ tự kỷ, được trích dẫn và tổng hợp bởi bác sỹ Quyết nhi tw, dưới đây sẽ giúp chúng ta hiểu sâu hơn về hội chứng này theo một lăng kính đặc biệt hơn.
Tự Kỷ Có Phải Là Bệnh?

Tất Cả Trẻ Tự Kỷ Đều Thông Minh Và Sẽ Thành Thiên Tài Nếu Nuôi Dậy Tốt?

Trẻ Tự Kỷ Không Biết Kết Bạn Và Chỉ Thích Cô Độc?

Trẻ Có Hội Chứng Phổ Tự Kỷ Không Biết Yêu Thương Và Vô Tâm?

Trẻ Tự Kỷ Không Muốn Giao Tiếp Với Ai?

Trẻ Tự Kỷ Không Có Đầy Đủ Các Cung Bậc Cảm Xúc?

Trẻ Tự Kỷ Hung Dữ Và Nguy Hiểm

Tất Cả Trẻ Tự Kỷ Trí Tuệ Đều Kém?

Có Thể Chữa Khỏi Phổ Tự Kỷ Được Không?

[Tự kỷ] M-CHAT-R/F: Bảng chấm điểm sàng lọc tự kỷ chuẩn y khoa cho trẻ 16 – 30 tháng tuổi
M-CHAT-R/F (viết tắt của Modified Checklist for Autism in Toddlers, Revised with Follow-Up) là bảng kiểm sàng lọc sớm nguy cơ rối loạn phổ tự kỷ (ASD) dành cho trẻ nhỏ từ 16 đến 30 tháng tuổi. Đây là một trong những công cụ tầm soát tự kỷ chuẩn hóa phổ biến và uy tín nhất trên thế giới hiện nay, được Viện Hàn lâm Nhi khoa Hoa Kỳ (AAP) khuyến nghị sử dụng.
(function() { const host = document.getElementById('mchat-wp-host'); if (!host) return; // Thẻ giữ chỗ (Placeholder) để khi nhấc bảng ra document.body không làm giật trang WordPress const placeholder = document.createComment('mchat-portal-placeholder'); // Khởi tạo Shadow DOM cách ly 100% với CSS của Theme WordPress const shadow = host.attachShadow({ mode: 'open' }); // Dữ liệu 20 câu hỏi M-CHAT-R chuẩn y khoa const questions = [ { id: 1, t: 'Nếu bạn chỉ tay vào một vật gì đó trong phòng, bé có nhìn theo hướng bạn chỉ không?', r: 'NO', c: 'crit', cat: 'Đáp ứng chú ý chung' }, { id: 2, t: 'Bạn có bao giờ tự hỏi liệu con mình có bị điếc (nghe kém) không?', r: 'YES', c: 'sen', cat: 'Phản ứng âm thanh (Câu đảo ngược)' }, { id: 3, t: 'Bé có biết chơi trò giả vờ không? (VD: giả vờ uống nước từ cốc rỗng, nghe điện thoại, cho búp bê ăn)', r: 'NO', c: 'soc', cat: 'Tư duy chơi giả vờ' }, { id: 4, t: 'Bé có thích leo trèo lên đồ vật không? (VD: bàn ghế, cầu thang, đồ chơi vận động)', r: 'NO', c: 'sen', cat: 'Vận động thô' }, { id: 5, t: 'Bé có những cử động ngón tay bất thường ở ngay sát trước mắt mình không? (VD: vẫy/búng ngón tay sát mắt)', r: 'YES', c: 'sen', cat: 'Kích thích thị giác - Stimming (Câu đảo ngược)' }, { id: 6, t: 'Bé có dùng một ngón tay (ngón trỏ) để chỉ vào thứ bé muốn XIN hoặc nhờ lấy giúp không?', r: 'NO', c: 'crit', cat: 'Chỉ trỏ yêu cầu' }, { id: 7, t: 'Bé có dùng một ngón tay để chỉ vào thứ gì đó thú vị chỉ để KHOE / CHIA SẺ với bạn không? (VD: chỉ máy bay, con chó)', r: 'NO', c: 'crit', cat: 'Khởi xướng chú ý chung (Quan trọng nhất)' }, { id: 8, t: 'Bé có quan tâm đến những đứa trẻ khác không? (VD: nhìn các bạn chơi, cười hoặc đi tới gần bạn)', r: 'NO', c: 'soc', cat: 'Động lực xã hội' }, { id: 9, t: 'Bé có mang đồ vật lại đưa cho bạn xem chỉ để KHOE (chứ không phải để nhờ mở giúp) không?', r: 'NO', c: 'crit', cat: 'Chia sẻ niềm vui hai chiều' }, { id: 10, t: 'Bé có phản ứng (ngẩng lên nhìn, bập bẹ, ngừng chơi) khi bạn gọi tên bé không?', r: 'NO', c: 'soc', cat: 'Định hướng tên gọi' }, { id: 11, t: 'Khi bạn mỉm cười với bé, bé có mỉm cười đáp lại bạn không?', r: 'NO', c: 'soc', cat: 'Nụ cười xã hội' }, { id: 12, t: 'Bé có tỏ ra khó chịu quá mức, bịt tai hoặc hoảng loạn trước những tiếng ồn thông thường hàng ngày không?', r: 'YES', c: 'sen', cat: 'Nhạy cảm thính giác (Câu đảo ngược)' }, { id: 13, t: 'Bé đã biết đi chưa?', r: 'NO', c: 'sen', cat: 'Vận động cơ bản' }, { id: 14, t: 'Bé có nhìn vào mắt bạn khi bạn đang nói chuyện, chơi đùa hoặc mặc quần áo cho bé không?', r: 'NO', c: 'crit', cat: 'Giao tiếp mắt trực diện' }, { id: 15, t: 'Bé có cố gắng bắt chước những gì bạn làm không? (VD: vẫy tay bye-bye, vỗ tay, làm tiếng động vui nhộn)', r: 'NO', c: 'crit', cat: 'Bắt chước xã hội' }, { id: 16, t: 'Nếu bạn quay đầu nhìn thứ gì đó, bé có nhìn quanh để xem bạn đang nhìn cái gì không?', r: 'NO', c: 'soc', cat: 'Theo dõi ánh mắt' }, { id: 17, t: 'Bé có cố gắng thu hút sự chú ý để bạn nhìn vào bé không? (VD: nhìn bạn chờ khen hoặc kêu "Mẹ nhìn này")', r: 'NO', c: 'soc', cat: 'Tìm kiếm sự công nhận' }, { id: 18, t: 'Bé có hiểu khi bạn bảo bé làm một việc gì đó không? (VD: không chỉ tay mà nói "Con lấy cho mẹ cái chăn")', r: 'NO', c: 'sen', cat: 'Ngôn ngữ tiếp nhận (Hiểu lời)' }, { id: 19, t: 'Nếu có điều gì mới lạ xảy ra, bé có nhìn lên mặt bạn để xem bạn phản ứng thế nào về việc đó không?', r: 'NO', c: 'crit', cat: 'Tham chiếu xã hội' }, { id: 20, t: 'Bé có thích các hoạt động chuyển động có tương tác không? (VD: được đung đưa, nhún nhảy trên đùi bạn)', r: 'NO', c: 'soc', cat: 'Tương tác cảm xúc - vận động' } ]; let answers = {}; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .mc-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (ĐÃ ĐƯỢC PORTAL RA BODY) */ .mc-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .mc-inner { padding: 24px; max-width: 900px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .mc-wrap.is-fullscreen .mc-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng khi cuộn */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .mc-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(3, 105, 161, 0.45), 0 0 0 0 rgba(3, 105, 161, 0.4); } 70% { box-shadow: 0 6px 20px rgba(3, 105, 161, 0.45), 0 0 0 10px rgba(3, 105, 161, 0); } 100% { box-shadow: 0 6px 20px rgba(3, 105, 161, 0.45), 0 0 0 0 rgba(3, 105, 161, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #0369a1 0%, #0284c7 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(3, 105, 161, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Phần tiêu đề */ .mc-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 18px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .mc-header-text { flex: 1 1 260px; } .mc-title { font-size: 21px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .mc-desc { font-size: 14px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #f0f9ff; color: #0369a1; border: 1px solid #bae6fd; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #0284c7; color: #ffffff; border-color: #0284c7; } /* Thanh nút kịch bản mẫu */ .mc-presets { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; } .mc-preset-lbl { font-size: 12.5px; font-weight: 700; color: #475569; margin-right: 4px; } .mc-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; transition: all 0.15s ease; touch-action: manipulation; } .mc-pbtn:hover { background: #f1f5f9; border-color: #94a3b8; } .mc-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } /* Bảng điểm nổi (Sticky Dashboard) */ .mc-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } /* Khi ở chế độ toàn màn hình, đẩy bảng điểm xuống ngay dưới thanh thoát toàn màn hình */ .mc-wrap.is-fullscreen .mc-dash { top: 58px; } .mc-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .mc-score-big { font-size: 24px; font-weight: 800; line-height: 1; } .mc-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .mc-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .mc-bar-bg { height: 10px; background: #334155; border-radius: 5px; overflow: hidden; margin-bottom: 12px; } .mc-bar-fill { height: 100%; width: 0%; background: #10b981; transition: width 0.35s ease, background 0.35s ease; } .mc-pillars { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; font-size: 12px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .mc-pillar-box { background: #1e293b; padding: 7px 10px; border-radius: 8px; } .mc-pillar-val { font-weight: 700; color: #ffffff; font-size: 13.5px; display: block; margin-top: 2px; } /* Danh sách 20 câu hỏi */ .mc-q-item { border: 1px solid #e2e8f0; border-radius: 10px; padding: 14px 16px; margin-bottom: 12px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 10px; } .mc-q-item.risk-flagged { border-color: #fca5a5; background: #fff5f5; } .mc-q-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; } .mc-q-text { font-size: 14.5px; font-weight: 600; color: #1e293b; line-height: 1.5; flex: 1; } .mc-q-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; } .mc-tag { font-size: 11px; font-weight: 600; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .mc-tag.crit { background: #e0f2fe; color: #0369a1; } .mc-tag.rev { background: #fef3c7; color: #b45309; } /* Nút chọn CÓ / KHÔNG */ .mc-ans-group { display: flex; gap: 8px; flex-shrink: 0; } .mc-abtn { min-width: 78px; padding: 8px 14px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 13.5px; font-weight: 700; color: #334155; cursor: pointer; transition: all 0.15s ease; touch-action: manipulation; } .mc-abtn:hover { border-color: #64748b; } .mc-abtn.sel-safe { background: #10b981; border-color: #10b981; color: #ffffff; } .mc-abtn.sel-risk { background: #ef4444; border-color: #ef4444; color: #ffffff; } /* Hộp phân tích kết quả cuối bảng */ .mc-result-box { margin-top: 20px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #64748b; font-size: 14px; line-height: 1.65; color: #1e293b; } /* Tối ưu giao diện điện thoại */ @media (max-width: 600px) { .mc-inner { padding: 14px; } .mc-title { font-size: 18px; } .mc-q-head { flex-direction: column; } .mc-ans-group { width: 100%; } .mc-abtn { flex: 1; padding: 10px 14px; } .mc-pillars { grid-template-columns: 1fr; } .mc-pbtn.reset { margin-left: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
Bảng Chấm Điểm Sàng Lọc Tự Kỷ Chuẩn Y Khoa M-CHAT-R/F (16 – 30 tháng)
Hãy chọn CÓ hoặc KHÔNG dựa trên hành vi thường xuyên của bé. Hệ thống tự động đảo chiều điểm ở câu 2, 5, 12 và đối chiếu nhóm kỹ năng Chú ý chung để phân biệt với Chậm nói đơn thuần / ADHD.
• Hệ thống Chú ý chung và Giao tiếp phi ngôn ngữ của bé hoạt động tốt (${crit}/7 điểm rủi ro nhóm cốt lõi).
• Phân biệt với Chậm nói đơn thuần: Nếu bé hiện tại chưa nói được nhiều từ nhưng đạt mức điểm này (biết chỉ trỏ khoe đồ, nhìn mắt, hiểu lời nói), khả năng rất cao bé chỉ bị chậm nói diễn đạt đơn thuần. Nếu bé dưới 24 tháng tuổi, hãy sàng lọc lại khi bé tròn 24 tháng. `; } else if (total = 2) ? `Bé có ${crit}/7 dấu hiệu rủi ro ở nhóm Chú ý chung cốt lõi (chỉ trỏ, giao tiếp mắt, khoe đồ vật). Đây là dấu hiệu cảnh báo sớm của phổ tự kỷ chứ không chỉ là chậm nói hay hiếu động đơn thuần.` : `Điểm rủi ro của bé chủ yếu nằm ở nhóm Giác quan/Ngôn ngữ hoặc Mất tập trung, trong khi Chú ý chung cốt lõi khá tốt (${crit}/7). Trường hợp này rất dễ gặp ở trẻ Tăng động giảm chú ý (ADHD) hoặc chậm nói kèm nhạy cảm giác quan.`; analysis = ` Kết luận sàng lọc — Nguy cơ TRUNG BÌNH (${total}/20 điểm):
• ${diffNote}
• Hướng xử trí chuẩn M-CHAT-R/F: Cần thực hiện bước 2 — Phỏng vấn theo dõi (Follow-Up) cho ${total} câu có điểm rủi ro để làm rõ ngữ cảnh. Nếu sau khi kiểm tra kỹ vẫn còn từ 2 điểm trở lên, cần đưa bé đi khám chuyên khoa Tâm bệnh / Nhi phát triển hành vi. `; } else { color = '#ef4444'; badgeTxt = 'NGUY CƠ CAO (8 – 20 điểm)'; analysis = ` Kết luận sàng lọc — Nguy cơ CAO (${total}/20 điểm, trong đó có ${crit}/7 câu cốt lõi):
• Bé biểu hiện sự suy giảm rõ rệt ở cả hai trụ cột: Chú ý chung (Joint Attention) và Tương tác xã hội hai chiều.
• Hướng xử trí chuẩn M-CHAT-R/F: Với mức điểm từ 8 trở lên, gia đình có thể bỏ qua bước phỏng vấn phụ và đưa bé đi khám chẩn đoán chuyên sâu ngay (bằng thang ADOS-2, DSM-5) tại khoa Tâm bệnh / Phát triển hành vi Nhi để bắt đầu can thiệp sớm trong giai đoạn vàng. `; } barFillEl.style.background = color; badgeEl.textContent = badgeTxt; badgeEl.style.background = color; badgeEl.style.color = '#ffffff'; resBoxEl.style.borderLeftColor = color; resBoxEl.innerHTML = analysis; updateFloatingFabVisibility(); } // Kiểm tra vùng cuộn để hiện/ẩn nút nổi thông minh function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; // Hiện nút nổi khi người đọc đang lướt ngang qua vùng bảng M-CHAT-R/F const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } // KỸ THUẬT DOM PORTAL: Nhấc thẳng #mchat-wp-host ra trực tiếp document.body khi phóng to function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); mcWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { mcWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 880px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } // Gắn sự kiện cho các nút Kịch bản mẫu const presetBtns = shadow.querySelectorAll('.mc-pbtn'); presetBtns.forEach(function(btn) { btn.onclick = function() { const type = this.getAttribute('data-preset'); answers = {}; if (type === 'speech') { questions.forEach(function(q) { answers[q.id] = (q.r === 'YES' ? 'NO' : 'YES'); }); answers[18] = 'NO'; } else if (type === 'adhd') { questions.forEach(function(q) { answers[q.id] = (q.r === 'YES' ? 'NO' : 'YES'); }); answers[2] = 'YES'; answers[10] = 'NO'; answers[12] = 'YES'; } else if (type === 'asd') { questions.forEach(function(q) { answers[q.id] = (q.r === 'YES' ? 'NO' : 'YES'); }); [1, 2, 3, 5, 6, 7, 8, 9, 10, 14, 15, 16, 19].forEach(function(id) { const qObj = questions[id - 1]; answers[id] = qObj.r; }); } renderQuestions(); updateSummary(); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); renderQuestions(); updateSummary(); })();
1. Cấu trúc của công cụ (Quy trình 2 bước)
Tên gọi M-CHAT-R/F thể hiện rõ hai giai đoạn thực hiện của bài kiểm tra:
-
Giai đoạn 1 – M-CHAT-R (Bảng câu hỏi sửa đổi): Gồm 20 câu hỏi dưới dạng Có/Không dành cho cha mẹ hoặc người chăm sóc chính trả lời. Các câu hỏi xoay quanh hành vi, kỹ năng giao tiếp, tương tác xã hội và cách trẻ phản ứng với môi trường xung quanh (ví dụ: Trẻ có chỉ tay để khoe đồ vật không? Trẻ có nhìn vào mắt bạn không? Trẻ có quay đầu lại khi được gọi tên không?).
-
Giai đoạn 2 – Follow-Up (Phỏng vấn theo dõi – chữ “F”): Dành cho những trẻ có kết quả nằm trong nhóm nguy cơ trung bình ở Giai đoạn 1. Chuyên gia y tế hoặc tâm lý sẽ hỏi chi tiết hơn về những câu mà trẻ “không vượt qua” (dựa trên sơ đồ luồng câu hỏi chuẩn) để lọc bỏ các trường hợp dương tính giả (trẻ bình thường nhưng cha mẹ hiểu nhầm câu hỏi) trước khi quyết định chuyển trẻ đi khám chuyên sâu.
2. Cách tính điểm và phân loại nguy cơ (Giai đoạn 1)
Sau khi cha mẹ trả lời 20 câu hỏi, tổng điểm (từ 0 đến 20) sẽ phân trẻ vào 3 mức độ:
3. Những lưu ý quan trọng khi sử dụng
-
Là công cụ sàng lọc, KHÔNG phải công cụ chẩn đoán: Kết quả M-CHAT-R/F báo “nguy cơ cao” không đồng nghĩa 100% là trẻ mắc tự kỷ (trẻ có thể bị chậm nói đơn thuần, khiếm thính hoặc rối loạn phát triển khác). Để chẩn đoán chính xác, trẻ cần được các bác sĩ chuyên khoa Nhi, Tâm thần nhi hoặc chuyên gia Tâm lý lâm sàng trực tiếp thăm khám (sử dụng các bộ công cụ chuyên sâu như ADOS-2, DSM-5…).
-
Hoàn toàn miễn phí và nhanh chóng: Phụ huynh chỉ mất khoảng 5–10 phút để hoàn thành. Tại Việt Nam, bộ công cụ này đã được chuẩn hóa tiếng Việt và tích hợp trực tuyến trên nhiều nền tảng hỗ trợ trẻ tự kỷ (như hệ thống A365) cũng như tại các bệnh viện Nhi.
Nội dung được tạo với sự đánh giá từ tài liệu gốc và hỗ trợ bởi AI.
Ngôn Ngữ Và Hoạt Động Thường Ngày - Trinh Foundation Australia
Cuốn sách PDF này được biên tập bởi Đại học Y khoa Phạm Ngọc Thạch phối hợp với Trinh Foundation Australia. Ấn bản màu kèm hình ảnh minh hoạ sẽ giúp bố mẹ rất chi tiết trong cách can thiệp, dạy con học nói gắn với các hoạt động thường ngày. Cám ơn BS.Phan Thiệu Xuân Giang cho sự đóng góp đầy giá trị này.
Dạy Nói Chi Tiết
Sau khi đã có định hướng và nắm được các nguyên tắc căn bản từ danh mục học nói, chúng ta sẽ đi vào dạy con nói theo các hướng dẫn rất chi tiết và cụ thể cùng các tình huống sắp đặt phù hợp hoặc thực tế trong quá trình chăm sóc trẻ.
Bài Viết
Dậy bé hỏi "Cái gì đây?"
Đây là câu hỏi “kinh điển” khi bé nhìn thấy đồ vật mới, con vật mới. Khi bé hiểu được bản chất câu hỏi sẽ nhận được câu trả lời như thế nào, bé sẽ tự kết hợp chỉ tay và hỏi rất nhiều.
Để dạy trẻ tự kỷ, rối loạn ngôn ngữ hoặc chậm phát triển bật ra câu hỏi “Cái gì đây?”, nguyên tắc cốt lõi là tạo ra sự tò mò (động lực giao tiếp): trẻ phải thực sự muốn biết hoặc muốn lấy vật bị giấu, thay vì bị ép lặp lại câu hỏi về một món đồ trẻ đã biết thừa (như chỉ vào quả bóng quen thuộc và bắt trẻ hỏi).
1. Điều kiện cần trước khi dạy
Trước khi dạy câu hoàn chỉnh “Cái gì đây?”, hãy đảm bảo bé đã có:
-
Khả năng bắt chước âm thanh hoặc từ đơn/cụm từ ngắn.
-
Kỹ năng chỉ tay (pointing) hoặc hướng ánh mắt về vật mình muốn.
-
(Lưu ý: Nếu bé mới chỉ nói được 1-2 từ, hãy rút ngắn mục tiêu xuống còn “Gì đây?” hoặc “Cái gì?” trước, sau đó mới mở rộng thêm chữ “ạ”).
2. Công tác chuẩn bị
-
1 chiếc túi vải không nhìn xuyên thấu (túi thần kỳ) hoặc 1 chiếc hộp có nắp đậy kín.
-
5 – 7 món đồ chơi/đồ ăn bé cực kỳ thích hoặc những món đồ phát sáng, phát nhạc lạ mắt mà bé chưa biết tên(tránh dùng đồ quá quen thuộc vì bé sẽ gọi thẳng tên món đồ thay vì đặt câu hỏi).
3. Quy trình 4 bước thực hiện (Tình huống: Chiếc túi thần kỳ)
Bước 1: Tạo sự chú ý và tò mò
-
Ngồi đối diện ngang tầm mắt với bé.
-
Cho 1 món đồ (ví dụ: con sâu vặn dây cót hoặc bánh quy bé thích) vào túi.
-
Lắc nhẹ chiếc túi tạo âm thanh sột soạt hoặc cho đồ chơi phát tiếng kêu bên trong. Mở hé miệng túi cho bé nhìn thoáng qua (nhưng chưa cho lấy) và thể hiện biểu cảm ngạc nhiên: “Ồ! Có cái gì trong này nhỉ?”
Bước 2: Làm mẫu và Nhắc (Prompting) ngay khi bé có phản ứng
-
Ngay khoảnh khắc bé với tay đòi mở túi hoặc nhìn chằm chằm vào túi, bạn giữ nhẹ tay bé lại hoặc đưa ngón trỏ của bé chạm vào túi.
-
Bạn nói mẫu thật rõ ràng, chậm rãi và nhấn giọng ngay lập tức: “Cái gì đây ạ?”
-
Chờ 2–3 giây để bé bắt chước nói theo (Ví dụ: “Cái gì đây ạ?” hoặc “Gì đây?”).
Bước 3: Củng cố (Khen thưởng lập tức)
-
Ngay khi bé phát âm theo (dù hơi ngọng), bạn lập tức mở túi lấy món đồ ra, gọi to tên món đồ với giọng hào hứng: “À! Là ô tô!”
-
Đưa ngay món đồ cho bé chơi 15–30 giây (hoặc cho bé ăn nếu là bánh). Nhờ vậy, bé hiểu rằng: Hỏi câu này = Mở được túi + Nhận được đồ thích.
Bước 4: Giảm dần sự trợ giúp (Fading) Sau khi lặp lại khoảng 5–10 lần với các món đồ khác nhau trong túi và bé đã quen nhịp, bạn bắt đầu rút dần lời nhắc để bé tự hỏi:
-
Mức 1 (Nhắc toàn phần): Bạn nói “Cái gì đây ạ?” -> Bé lặp lại “Cái gì đây ạ?”
-
Mức 2 (Nhắc một phần): Bạn chỉ vào túi và chỉ gợi ý chữ đầu “Cái…” -> Bé tự nối tiếp “…gì đây ạ?”
-
Mức 3 (Nhắc bằng cử chỉ/chờ đợi): Bạn lắc túi, chỉ tay vào túi, nhướng mày nhìn bé đầy mong đợi (im lặng chờ 3–5 giây) -> Bé tự bật ra “Cái gì đây ạ?”
4. Ba tình huống mở rộng trong sinh hoạt hàng ngày
Để bé không bị rập khuôn (chỉ biết hỏi khi thấy cái túi), hãy áp dụng sang các bối cảnh tự nhiên:
5. Hai lỗi phổ biến cần tránh
-
Hỏi ngược lại bé: Tuyệt đối không hỏi “Con hỏi mẹ đi, con nói cái gì đây ạ đi”. Trẻ tự kỷ có xu hướng nhại lời (echolalia), nếu bạn nói câu dài như vậy, bé sẽ nhại lại nguyên cụm “Con hỏi mẹ đi”. Chỉ làm mẫu đúng câu bé cần nói (“Cái gì đây ạ?”).
-
Làm mẫu sai thời điểm: Nếu bé đang nhìn đi chỗ khác hoặc không hứng thú với chiếc túi mà bạn ép bé nói, bé sẽ chỉ nhại lại một cách máy móc mà không hiểu ý nghĩa của câu hỏi. Chỉ làm mẫu khi mắt bé đang nhìn vào vật và tay bé đang muốn lấy.
Nguồn tham khảo và tổng hợp: AI
Dạy bé hỏi câu "Ai đây?"
Để dạy câu hỏi “Ai đây ạ?”, nguyên tắc vẫn là tạo sự tò mò về sự xuất hiện của một người (hoặc nhân vật) mà bé yêu thích nhưng đang bị che khuất. Trẻ cần hiểu rằng câu hỏi này dùng cho người/nhân vật, khác với “Cái gì đây ạ?”dùng cho đồ vật.
1. Công tác chuẩn bị
-
1 chiếc khăn lớn (khăn tắm hoặc chăn mỏng không nhìn xuyên thấu) để chơi trò ú òa.
-
Ảnh in rời của những người thân quen (bố, mẹ, ông, bà, cô giáo, chính bé) hoặc các nhân vật hoạt hình bé cực kỳ yêu thích, đặt úp mặt xuống bàn hoặc cho vào phong bì/hộp.
-
Sự phối hợp của người thứ 3 (bố, bà, anh chị trong nhà) nếu có thể, để tạo tình huống thực tế sinh động nhất.
2. Quy trình 4 bước thực hiện (Tình huống: Trốn tìm dưới khăn / Ú òa)
Lưu ý: Nếu bé mới nói được câu ngắn, bạn có thể rút gọn mục tiêu thành “Ai đây?” trước, khi bé đã thành thạo mới thêm chữ “ạ”.
Bước 1: Tạo sự chú ý và bất ngờ
-
Nhờ một người thân (ví dụ: Bố – người bé rất thích chơi cùng) ngồi trước mặt bé và trùm kín khăn tắm lên đầu, hoặc nấp ngay sau cánh cửa hé mở. (Nếu chỉ có 2 mẹ con, bạn có thể tự lấy khăn trùm lên đầu mình hoặc dùng thú bông che kín mặt).
-
Người dưới khăn tạo ra âm thanh vui nhộn (tiếng cười khúc khích, tiếng giả giọng con vật, hoặc gọi tên bé “Ú òa, đố biết…”) và cử động nhẹ để thu hút sự chú ý của bé.
Bước 2: Làm mẫu và Nhắc (Prompting) đúng thời điểm
-
Ngay khoảnh khắc bé nhìn chằm chằm vào chiếc khăn hoặc đưa tay định kéo khăn ra, bạn giữ nhẹ tay bé lại, hướng ngón trỏ của bé chỉ vào người đang trùm khăn.
-
Nói mẫu ngay lập tức, to, rõ và nhấn giọng: “Ai đây ạ?”
-
Chờ 2–3 giây để bé bắt chước nói theo.
Bước 3: Củng cố (Khen thưởng bằng tương tác xã hội)
-
Ngay khi bé phát âm “Ai đây ạ?” (hoặc “Ai đây?”), lập tức kéo tung chiếc khăn ra.
-
Người dưới khăn reo to với biểu cảm thật vui: “À! Là Bố đây!” rồi cù lét, bế bổng hoặc ôm hôn bé (tạo niềm vui tức thì để bé thấy việc đặt câu hỏi mang lại kết quả cực kỳ thú vị).
Bước 4: Giảm dần sự trợ giúp (Fading) Sau khoảng 5–7 lượt chơi lặp lại (đổi người trùm khăn hoặc đổi vị trí nấp), bạn giảm dần việc nhắc lời:
-
Mức 1 (Nhắc toàn câu): Bạn chỉ tay và nói “Ai đây ạ?” -> Bé nói theo.
-
Mức 2 (Nhắc từ đầu): Khi bé định kéo khăn, bạn chỉ tay và gợi ý khẩu hình “Ai…” -> Bé tự bật ra “…đây ạ?”
-
Mức 3 (Tự chủ động): Người thân trùm khăn trước mặt bé, bạn chỉ tay vào chiếc khăn, nhìn bé với ánh mắt chờ đợi (im lặng 3–5 giây) -> Bé tự hỏi “Ai đây ạ?” để được kéo khăn.
3. Bốn tình huống mở rộng trong sinh hoạt hàng ngày
Để bé hiểu khái niệm “Ai” dùng trong nhiều hoàn cảnh khác nhau, bạn hãy lồng ghép vào các hoạt động sau:
4. Mẹo giúp bé phân biệt “Cái gì đây ạ?” và “Ai đây ạ?”
Khi bé đã biết nói cả hai câu, trẻ tự kỷ rất dễ bị nhầm lẫn (chỉ vào mẹ nhưng lại hỏi “Cái gì đây ạ?”). Để giúp bé phân biệt:
-
Giai đoạn đầu: Tách biệt rõ thời gian dạy. Chỉ chuyển sang dạy “Ai đây ạ?” khi bé đã tương đối vững câu “Cái gì đây ạ?”.
-
Giai đoạn kết hợp (Trò chơi xen kẽ): Chuẩn bị 1 chiếc hộp lớn (hoặc sau cánh cửa). Lượt 1: Giấu một món đồ chơi -> Nhắc bé hỏi “Cái gì đây ạ?”. Lượt 2: Bố nấp sau cửa -> Nhắc bé hỏi “Ai đây ạ?”.
-
Sửa lỗi nhẹ nhàng (Không chê trách): Nếu bé chỉ vào bức ảnh của bố mà hỏi “Cái gì đây ạ?”, bạn đừng nói “Sai rồi”, hãy lập tức làm mẫu đè lên bằng câu đúng với giọng nhấn mạnh từ đầu: “Ai đây ạ? -> À, là Bố!”, rồi khuyến khích bé lặp lại câu đúng.
Dạy bé hỏi câu hỏi “Tại sao?”
Để dạy câu hỏi “Tại sao lại thế ạ?” (hoặc rút gọn là “Sao thế ạ?” / “Tại sao?”), cấp độ nhận thức đã nâng lên một bậc so với câu hỏi “Cái gì” và “Ai”.
Nguyên tắc cốt lõi để trẻ bật ra câu hỏi này là phá vỡ quy luật quen thuộc (tạo ra sự cố hoặc sự bất thường). Trẻ tự kỷ vốn rất nhạy cảm với các quy trình cố định; khi một món đồ chơi bỗng dưng không hoạt động, hoặc người lớn có một hành động “kỳ quặc” trái với thường ngày, trẻ sẽ khựng lại vì thắc mắc. Đó chính là thời điểm vàng để dạy.
1. Điều kiện cần trước khi dạy
-
Bé đã biết nhận ra sự bất thường trong môi trường (ví dụ: thấy đồ chơi không chạy thì ngẩng lên nhìn mẹ, hoặc thấy cửa khóa thì kéo tay mẹ).
-
Bé đã hiểu được các câu giải thích nguyên nhân – kết quả ngắn gọn (ví dụ: “Hết pin rồi”, “Bị ướt rồi”, “Đau tay”).
-
(Mẹo: Câu “Tại sao lại thế ạ?” khá dài (5 âm tiết). Nếu bé nói chưa sõi, hãy rút gọn mục tiêu thành “Sao thế ạ?”hoặc “Tại sao ạ?” trước).
2. Quy trình 4 bước thực hiện (Tình huống: Đồ chơi “bỗng dưng” bị hỏng)
Chuẩn bị: Một món đồ chơi phát nhạc/phát sáng mà bé cực kỳ thích (đã được bạn tháo pin ra trước), và giấu sẵn viên pin trong túi áo.
Bước 1: Tạo “sự cố” bất ngờ
-
Đưa món đồ chơi cho bé như bình thường.
-
Bé bấm nút nhưng đồ chơi không kêu, không sáng đèn.
-
Bạn cầm lấy đồ chơi, bấm thử vài lần rồi xòe hai tay ra, nhún vai, nhăn mặt với biểu cảm ngạc nhiên phóng đại: “Ơ! Không kêu!”
Bước 2: Làm mẫu và Nhắc (Prompting) ngay khi bé thắc mắc
-
Ngay khoảnh khắc bé nhìn vào món đồ chơi rồi ngước nhìn bạn với vẻ mặt khó hiểu (hoặc sốt ruột đưa đồ chơi cho bạn sửa), bạn đặt tay lên cằm hoặc xòe tay ra.
-
Nói mẫu thật rõ ràng, chậm rãi với ngữ điệu thắc mắc: “Tại sao lại thế ạ?” (hoặc “Sao thế ạ?”).
-
Chờ 2–3 giây để bé lặp lại câu hỏi.
Bước 3: Giải thích ngắn gọn + Khắc phục sự cố ngay lập tức (Củng cố)
-
Ngay khi bé nói theo “Tại sao lại thế ạ?”, bạn lập tức lật mặt sau của đồ chơi ra chỉ vào ổ trống và giải thích thật ngắn gọn, trực quan: “À! Vì hết pin rồi!” (hoặc “Vì chưa lắp pin!”).
-
Lấy ngay viên pin trong túi lắp vào, bật công tắc cho đồ chơi phát sáng/kêu nhạc và trả lại cho bé chơi. (Việc lắp pin ngay giúp bé hiểu rằng: Đặt câu hỏi “Tại sao” sẽ tìm ra nguyên nhân và giải quyết được vấn đề để tiếp tục cuộc chơi).
Bước 4: Giảm dần sự trợ giúp (Fading) Lặp lại tình huống với các đồ vật bị “trục trặc” khác (bút lông bị đóng nắp không vẽ được, hộp bánh bị dán băng dính chặt không mở được…):
-
Mức 1 (Nhắc toàn câu): Bạn xòe tay làm mẫu “Tại sao lại thế ạ?” -> Bé nói theo.
-
Mức 2 (Nhắc cử chỉ + 1 từ đầu): Khi đồ chơi không chạy, bạn xòe hai tay, nhướng mày và mớm từ “Tại…” -> Bé tự nói tiếp “…sao lại thế ạ?”.
-
Mức 3 (Tự chủ động): Khi gặp sự cố, bạn chỉ xòe tay và nhìn bé với vẻ mặt ngạc nhiên, im lặng chờ 3–5 giây -> Bé tự bật ra câu hỏi.
3. Bốn tình huống mở rộng cực kỳ hiệu quả trong sinh hoạt
Trẻ sẽ hiểu sâu câu hỏi “Tại sao” nhất khi được đặt vào các tình huống hài hước hoặc cản trở nhẹ trong đời sống hàng ngày:
4. Ba lưu ý quan trọng khi dạy câu hỏi “Tại sao”
-
Câu trả lời phải cực kỳ ngắn gọn và nhìn thấy bằng mắt (Trực quan): Trẻ tự kỷ và rối loạn ngôn ngữ rất khó hiểu những lời giải thích trừu tượng dài dòng. Hãy luôn bắt đầu câu trả lời bằng chữ “Vì…” kèm theo hành động chỉ vào bằng chứng cụ thể (Ví dụ: “Vì hết pin” -> chỉ vào ổ pin trống; “Vì bàn bị ướt” -> đặt tay bé chạm vào vũng nước trên bàn).
-
Đừng biến thành bài kiểm tra lý thuyết: Ở giai đoạn đầu, tránh dùng tranh ảnh tĩnh để hỏi kiểu học thuật trước khi bé biết dùng câu hỏi trong thực tế. Hãy để bé trải nghiệm cảm giác “thắc mắc thật” qua trò chơi trước.
-
Kiên nhẫn với ngữ điệu: Khi làm mẫu câu “Tại sao lại thế ạ?”, hãy cố gắng kết hợp ngôn ngữ cơ thể (nghiêng đầu, nhướng mày, xòe hai bàn tay). Trẻ tự kỷ học qua thị giác rất tốt; cử chỉ xòe tay của bạn sau này sẽ trở thành dấu hiệu nhắc nhở tuyệt vời mà không cần dùng lời nói.
Kiến thức có tham khảo từ AI.
Dạy bé nói câu hỏi “[Tên đồ vật] ở đâu?”
Để dạy câu hỏi “[Tên đồ vật] ở đâu rồi ạ?” (hoặc rút gọn là “[Tên đồ vật] đâu rồi?”), nguyên tắc vàng là “Làm thiếu hụt một phần không thể thiếu” (Sabotage the environment).
Thay vì giấu một món đồ ngẫu nhiên và bắt bé đi tìm (khi bé chẳng có nhu cầu tìm nó), bạn hãy đưa cho bé một hoạt động bé cực kỳ thích nhưng cố tình cất đi công cụ quan trọng nhất. Khi bé đang rất cần món đồ đó để hoàn thành trò chơi hoặc việc ăn uống, động lực bật ra câu hỏi “Ở đâu rồi?” sẽ đạt mức cao nhất.
1. Điều kiện cần trước khi dạy
-
Bé đã biết gọi tên một số đồ vật quen thuộc (bóng, giày, thìa, sữa, ô tô…).
-
Bé hiểu được các chỉ dẫn vị trí đơn giản hoặc biết nhìn theo hướng tay chỉ của người lớn để lấy đồ.
-
(Lưu ý rút gọn: Nếu câu “[Tên đồ vật] + ở đâu rồi ạ?” quá dài so với hơi thở của bé, hãy dạy cấu trúc ngắn “Bóng đâu rồi?” hoặc “Thìa đâu ạ?” trước, sau đó mới kéo dài câu).
2. Quy trình 4 bước thực hiện (Tình huống: Thiếu mảnh ghép cuối cùng)
Chuẩn bị: Một bảng ghép hình (hoặc tháp xếp chồng, hộp thả hình) mà bé rất thích chơi. Bạn giữ lại mảnh ghép cuối cùng (ví dụ: hình con cá) và giấu dưới đùi mình hoặc dưới một chiếc khăn ngay gần đó.
Bước 1: Tạo tình huống “thiếu đồ”
-
Cùng bé ghép lần lượt các mảnh ghép lên bảng.
-
Đến ô trống cuối cùng, bé nhìn quanh mặt sàn để tìm mảnh ghép “con cá” nhưng không thấy.
-
Bạn xòe hai tay ra, nghiêng đầu ngó nghiêng tìm kiếm quanh sàn với vẻ mặt ngạc nhiên: “Ơ! Hết rồi à?”
Bước 2: Làm mẫu và Nhắc (Prompting) ngay khi bé ngơ ngác tìm
-
Ngay khoảnh khắc mắt bé đảo quanh tìm kiếm hoặc bé nhìn vào ô trống rồi ngước nhìn bạn, bạn lập tức xòe hai bàn tay (ngửa lòng bàn tay lên, nhún vai) và nói mẫu thật rõ: “Con cá ở đâu rồi ạ?” (hoặc “Cá đâu rồi ạ?”).
-
Chờ 2–3 giây để bé bắt chước nói theo.
Bước 3: Chỉ chỗ + Cho bé tìm thấy ngay lập tức (Củng cố)
-
Ngay khi bé phát âm câu hỏi, bạn lập tức chỉ tay vào chiếc khăn (hoặc gầm bàn ngay cạnh) và reo lên: “Ở dưới khăn kìa!” (hoặc “Ở đây này!”).
-
Để bé tự tay lật khăn lấy mảnh ghép lắp vào ô cuối cùng và vỗ tay khen thưởng. (Bé sẽ hiểu: Hỏi “ở đâu” = Được chỉ chỗ = Tìm thấy món đồ đang cần).
Bước 4: Giảm dần sự trợ giúp (Fading) Lặp lại trong các lượt chơi tiếp theo hoặc với các đồ vật khác:
-
Mức 1 (Nhắc toàn câu): Bạn xòe tay làm mẫu “Con cá ở đâu rồi ạ?” -> Bé lặp lại cả câu.
-
Mức 2 (Nhắc tên đồ vật + cử chỉ): Bạn chỉ vào ô trống, xòe tay và gợi ý từ đầu: “Con cá…” -> Bé tự nối tiếp “…ở đâu rồi ạ?”
-
Mức 3 (Chỉ dùng cử chỉ): Khi bé đang tìm đồ, bạn chỉ xòe hai bàn tay ra và nhìn bé chờ đợi (im lặng 3–5 giây) -> Bé tự bật ra câu hỏi.
3. Bốn tình huống “thiếu hụt” cực nhạy trong sinh hoạt hàng ngày
Đây là những khoảnh khắc bé có nhu cầu tìm đồ thật sự 100%, giúp câu hỏi trở nên tự nhiên mà không cần ngồi vào bàn học:
4. Ba lưu ý quan trọng để bé không bị nản hoặc cáu gắt
-
Giấu ở nơi “dễ tìm” trong giai đoạn đầu: Mục tiêu là dạy bé đặt câu hỏi, không phải thử thách khả năng tìm kiếm. Hãy để món đồ bị giấu lộ ra một góc (ví dụ: chiếc xe ô tô thò bánh xe ra khỏi rìa khăn) hoặc ở ngay gần tầm mắt để ngay khi bé hỏi xong, bạn chỉ tay là bé nhìn thấy ngay.
-
Thống nhất cử chỉ “Xòe hai bàn tay”: Cử chỉ xòe hai tay, nhún vai là ký hiệu hình ảnh toàn cầu cho câu hỏi “Ở đâu?”. Khi bạn luôn làm cử chỉ này kèm câu nói mẫu, chỉ sau một thời gian ngắn, mỗi khi bạn xòe tay ra là bé sẽ tự động bật ra câu hỏi mà không cần bạn phải nhắc lời.
-
Dạy song song cách trả lời (Chỉ vị trí): Sau khi bé hỏi “Ở đâu rồi ạ?”, câu trả lời của bạn nên nhấn mạnh vào các từ chỉ vị trí đơn giản (Trên bàn, Dưới ghế, Trong hộp) kèm theo ngón tay chỉ thật rõ ràng. Điều này giúp bé vừa học được cách hỏi, vừa mở rộng vốn từ về không gian.
Bảng tổng kết phân biệt 4 câu hỏi đã học
Để bạn dễ dàng ôn tập xen kẽ cho bé trong ngày mà không bị rối:
-
Cái gì đây ạ? -> Khi thấy vật bị che khuất một phần / trong túi kín (Kích thích bởi sự tò mò về đồ vật).
-
Ai đây ạ? -> Khi thấy người trùm khăn / gõ cửa / ảnh úp (Kích thích bởi sự tò mò về người).
-
Tại sao lại thế ạ? -> Khi đồ vật bị hỏng / quy trình bị cản trở / hành động ngược đời (Kích thích bởi sự cố bất thường).
-
[Tên vật] ở đâu rồi ạ? -> Khi thiếu mất công cụ quen thuộc để hoàn thành việc đang làm (Kích thích bởi nhu cầu tìm kiếm).
Nguồn: Kiến thức can thiệp thực tế và hỗ trợ từ AI.
Dậy bé hỏi câu “Cái này của ai?”
Để dạy câu hỏi “Cái này của ai?” (hoặc “Của ai đây ạ?”), trẻ cần bước đầu hiểu về khái niệm sở hữu (đồ vật gắn liền với một chủ nhân cụ thể).
Nguyên tắc cốt lõi để kích thích trẻ bật ra câu hỏi này là “Sự xuất hiện của đồ vật đặt nhầm chỗ” hoặc “Trò chơi phân phát đồ”. Nếu chỉ cầm một chiếc áo bất kỳ giơ lên hỏi, trẻ sẽ không có động lực quan tâm. Nhưng nếu trẻ thấy chiếc kính to đùng của bố lại nằm trong rổ đồ chơi của mình, hoặc trẻ được giao nhiệm vụ làm “người phát quà” cho cả nhà, trẻ sẽ có nhu cầu tìm chủ nhân thực sự của món đồ.
1. Điều kiện cần trước khi dạy
-
Bé đã nhận biết được tên các thành viên trong gia đình (Bố, Mẹ, Bà, anh/chị…) và biết chỉ vào bản thân mình.
-
Bé đã hiểu câu trả lời chỉ sự sở hữu đơn giản (Ví dụ: “Của bố”, “Của mẹ”, “Của con”).
-
(Mẹo rút gọn: Nếu câu “Cái này của ai ạ?” hơi dài, bạn có thể rút ngắn thành “Của ai đây?” hoặc “Của ai ạ?”, hoặc “[Tên đồ vật] của ai?” như “Giày của ai?”).
2. Quy trình 4 bước thực hiện (Tình huống: Chiếc giỏ phân loại đồ)
Chuẩn bị:
-
Ngồi chơi cùng 2–3 thành viên trong gia đình (ví dụ: Bố, Mẹ và Bé). (Nếu chỉ có 2 mẹ con, bạn có thể đặt thêm 1–2 bạn thú bông/búp bê ngồi bên cạnh hoặc dùng ảnh của Bố, Bà đặt trước mặt).
-
1 chiếc giỏ đựng các món đồ cá nhân đặc trưng, rõ ràng nhất của từng người: Kính mắt/đồng hồ của bố, kẹp tóc/túi xách của mẹ, và bình sữa/món đồ chơi yêu thích của bé.
Bước 1: Tạo tình huống cần tìm chủ nhân
-
Bạn lấy từ trong giỏ ra một món đồ của Bố (ví dụ: chiếc kính mắt to), cố tình ướm thử lên mặt bé (hoặc đặt vào lòng bé) làm chiếc kính bị rộng tuột xuống trông rất buồn cười.
-
Bạn tỏ vẻ ngạc nhiên, lắc đầu: “Ơ! Không vừa rồi! Cái kính to quá!”
Bước 2: Làm mẫu và Nhắc (Prompting) ngay khi bé bối rối
-
Ngay khi bé cầm chiếc kính nhìn ngắm hoặc đưa trả lại cho bạn, bạn chỉ ngón tay vào chiếc kính (hoặc cầm tay bé giơ chiếc kính lên) và nói mẫu thật rõ ràng, nhấn giọng ở cuối câu: “Cái này của ai?” (hoặc “Của ai đây ạ?”).
-
Chờ 2–3 giây để bé bắt chước nói theo.
Bước 3: Trả lời + Trao trả đồ để nhận tương tác vui (Củng cố)
-
Ngay khi bé phát âm câu hỏi, bạn chỉ ngay về phía Bố và trả lời hào hứng: “À! Của Bố đấy!”
-
Hướng dẫn bé mang chiếc kính đưa tận tay cho Bố đeo. Khi nhận kính, Bố lập tức khen ngợi, vỗ tay, thơm má hoặc cù lét bé. (Trẻ tự kỷ rất thích cảm giác hoàn thành nhiệm vụ — đặt đồ đúng chỗ và nhận được phản ứng tán thưởng mạnh mẽ từ người nhận).
Bước 4: Giảm dần sự trợ giúp (Fading) Lần lượt lấy các món đồ tiếp theo trong giỏ ra (kẹp tóc của mẹ, mũ của bé…):
-
Mức 1 (Nhắc toàn câu): Giơ món đồ lên và làm mẫu “Cái này của ai?” -> Bé nói theo.
-
Mức 2 (Nhắc từ đầu): Khi bé cầm món đồ lên, bạn chỉ vào món đồ và gợi ý khẩu hình “Cái này của…” -> Bé tự bật ra “…ai?”.
-
Mức 3 (Tự chủ động): Đưa cho bé lấy 1 món đồ trong giỏ, bạn nghiêng đầu, nhướng mày nhìn bé và nhìn sang mọi người xung quanh (im lặng chờ 3–5 giây) -> Bé tự giơ đồ lên hỏi “Cái này của ai?” trước khi mang đi phát.
3. Bốn tình huống thực tế giúp bé ứng dụng tự nhiên mỗi ngày
4. Hai lưu ý quan trọng khi dạy câu hỏi về sự sở hữu
-
Tránh nhầm lẫn đại từ (“Của con” và “Của mẹ”): Trẻ tự kỷ rất dễ nhại lời nguyên xi. Khi bé hỏi “Cái này của ai?”, nếu món đồ đó là của chính bé và bạn trả lời “Của con”, bé có thể hiểu nhầm chữ “con” dùng cho tất cả mọi thứ.
-
Cách khắc phục: Trong giai đoạn đầu, khi trả lời hãy dùng Tên riêng / Danh từ xưng hô cố định (Ví dụ: “Của Bố”, “Của Mẹ”, “Của Bi [tên bé]”) kèm theo hành động vỗ nhẹ vào ngực người đó. Khi bé đã phân biệt vững rồi mới đổi sang dạy đại từ “Của con / Của tớ”.
-
-
Đừng hỏi khi bé đang muốn chiếm hữu món đồ: Nếu bạn cầm một món đồ chơi mới tinh hoặc viên kẹo hấp dẫn rồi bắt bé hỏi “Cái này của ai?”, bé sẽ chỉ tập trung đòi lấy bằng được (“Của con! Cho con!”) mà không học được cách đặt câu hỏi. Hãy bắt đầu bằng những đồ dùng cá nhân quen thuộc của người lớn (kính, mũ, dép, cặp tóc, khẩu trang) để bé đóng vai “người giúp đỡ trả lại đồ” một cách vui vẻ.
Hệ thống 5 câu hỏi nền tảng cho bé (Từ dễ đến khó)
Vậy là bạn đã có trọn bộ 5 tình huống cốt lõi để phát triển tư duy đặt câu hỏi cho bé:
-
Cái gì đây ạ? (Khám phá tên đồ vật bị giấu)
-
Ai đây ạ? (Khám phá người/nhân vật đang trốn)
-
[Tên vật] ở đâu rồi ạ? (Tìm kiếm vật bị thiếu trong hoạt động)
-
Cái này của ai? (Xác định chủ nhân của đồ vật đặt nhầm chỗ)
-
Tại sao lại thế ạ? (Tìm nguyên nhân khi có sự cố bất thường)
Nguồn: Can thiệp thực chiến và hỗ trợ tổng hợp từ AI.
Dạy bé hỏi câu “Con mượn cái này được không ạ?”
Để dạy câu hỏi “Con mượn cái này được không ạ?” (hoặc rút gọn là “Cho con mượn?” / “Mượn được không ạ?”), bản chất giao tiếp đã chuyển từ tìm kiếm thông tin sang xin phép và thương lượng xã hội.
Thử thách lớn nhất ở trẻ tự kỷ, chậm phát triển là tính xung động: khi thích một món đồ người khác đang cầm, trẻ thường lao vào giật lấy ngay hoặc ăn vạ nếu không lấy được. Vì vậy, nguyên tắc cốt lõi là “Chặn nhẹ hành vi giật đồ + Trao quyền sở hữu ngay lập tức khi bé dùng lời nói” để bé nhận ra: Hỏi mượn bằng lời là cách nhanh nhất và dễ nhất để có được món đồ, nhanh hơn cả việc giằng co hay khóc lóc.
1. Điều kiện cần & Rút gọn câu theo khả năng của bé
Câu “Con mượn cái này được không ạ?” dài tới 7 âm tiết. Khi bé đang rất thèm món đồ trên tay bạn, việc bắt bé nói một câu quá dài sẽ dễ làm bé cáu gắt và bùng nổ hành vi. Hãy chia nấc thang độ dài phù hợp với bé hiện tại:
-
Mức cơ bản (2–3 từ): “Cho mượn ạ” / “Mượn nhé ạ” / “Con mượn nhé”.
-
Mức trung bình (4–5 từ): “Cho con mượn nhé ạ?” / “Mượn cái này nhé?”.
-
Mức hoàn chỉnh (6–7 từ): “Con mượn cái này được không ạ?”
2. Quy trình 4 bước thực hiện (Tình huống: Chơi song song)
Chuẩn bị: 2–3 món đồ chơi phát sáng, phát nhạc hoặc đất nặn, bút màu mà bé thích. Bạn ngồi ngay cạnh bé và tự chơi một món đồ thật hào hứng, tạo âm thanh vui nhộn để thu hút sự chú ý của bé.
Bước 1: Thu hút và Chặn nhẹ hành vi giật đồ (Blocking)
-
Bạn cầm món đồ chơi (ví dụ: máy bấm nhạc hoặc xe ô tô dây cót) chơi một cách say sưa: “Ôi, xe chạy nhanh chưa này, thích quá!”
-
Khi bé nhìn thấy và đưa tay định giằng lấy món đồ trên tay bạn, bạn giữ chắc món đồ lại (hoặc hơi thu nhẹ tay về phía ngực, đặt bàn tay còn lại chạm nhẹ vào tay bé để ngăn bé giật), nhưng gương mặt vẫn thật vui vẻ, thân thiện (không cau mày hay mắng “Không được giật!”).
Bước 2: Làm mẫu cử chỉ + Lời nói ngay lập tức
-
Ngay khoảnh khắc tay bé bị chặn lại và bé nhìn bạn, bạn hướng dẫn hai bàn tay bé mở ra (hoặc chỉ vào món đồ) và nói mẫu thật rõ ràng, chậm rãi: “Con mượn cái này được không ạ?” (hoặc “Cho con mượn nhé ạ?”).
-
Chờ 2–3 giây để bé bắt chước nói theo.
Bước 3: Đưa đồ ngay lập tức (Củng cố tức thì)
-
Ngay giây phút bé phát âm theo (dù chưa tròn vành rõ chữ), bạn lập tức nở nụ cười tươi, gật đầu cái rụp: “Được chứ! Cho con mượn này!” và trao ngay món đồ vào tay bé.
-
Để bé thoải mái chơi món đồ đó trong 30–60 giây. (Bước này cực kỳ quan trọng: Ở giai đoạn đầu mới học câu hỏi, 100% số lần bé hỏi mượn đều phải được đồng ý ngay để não bộ bé ghi nhận rằng câu hỏi này có “sức mạnh” mang lại đồ chơi).
Bước 4: Đổi lượt và Giảm dần sự trợ giúp (Fading) Sau khi bé chơi khoảng 1 phút, bạn lấy một món đồ chơi thứ hai còn hấp dẫn hơn ra chơi để bé lại muốn đổi, hoặc chính bạn làm mẫu hỏi bé: “Mẹ mượn cái này được không?” rồi cầm lại đồ chơi để bắt đầu lượt tập tiếp theo:
-
Mức 1 (Nhắc toàn câu): Chặn nhẹ tay -> Làm mẫu cả câu -> Bé nói theo -> Trao đồ.
-
Mức 2 (Nhắc từ mở đầu): Khi bé đưa tay ra xin, bạn giữ nhẹ đồ chơi, nhướng mày và mớm từ “Con mượn…” -> Bé tự nối tiếp “…cái này được không ạ?”.
-
Mức 3 (Nhắc bằng cử chỉ chờ đợi): Khi bé tiến lại gần muốn lấy đồ trên tay bạn, bạn hơi giữ đồ lại và nhìn bé với ánh mắt mong đợi (im lặng 3 giây) -> Bé tự bật ra câu hỏi mượn trước khi chạm vào đồ.
3. Bốn tình huống “Vàng” để luyện tập trong sinh hoạt hàng ngày
Để bé không nghĩ đây chỉ là bài tập với mẹ, hãy tạo ra các tình huống cần “mượn công cụ” trong đời sống:
4. Ba lưu ý sống còn để tránh bé ăn vạ khi học câu này
-
Tuyệt đối không từ chối (“Không được!”) ở giai đoạn mới dạy: Nhiều phụ huynh muốn rèn tính kiên nhẫn nên khi bé vừa vất vả nói được câu “Con mượn được không ạ?”, bố mẹ lại trả lời “Không được, mẹ đang chơi mà!”. Điều này sẽ dập tắt ngay lập tức động lực nói của trẻ tự kỷ (bé sẽ nghĩ: “Nói mỏi cả miệng mà cũng chẳng lấy được đồ, thà giật luôn cho nhanh”). Chỉ tập cho bé làm quen vớiคำ trả lời “Chờ một chút nhé” khi bé đã nói câu hỏi mượn cực kỳ thành thạo và tự giác trong ít nhất 2–3 tuần.
-
Đừng đợi đến khi bé đã khóc gào mới bắt nói: Nếu bạn giữ đồ quá lâu khiến bé cáu gắt, lăn ra đất ăn vạ rồi mới ép bé nói “Con nói cho mượn đi rồi mẹ đưa”, bé sẽ liên kết câu nói này với sự ức chế. Hãy chặn nhẹ và làm mẫu ngay ở giây đầu tiên khi bé vừa đưa tay ra và tâm trạng vẫn đang bình tĩnh, vui vẻ.
-
Làm gương ngược lại cho bé: Hàng ngày, mỗi khi bạn muốn cầm vào món đồ chơi bé đang cầm trên tay, bạn cũng hãy hỏi bé thật rõ ràng: “Mẹ mượn cái này được không?”, chờ 1–2 giây rồi mới cầm lấy, chơi một chút khoảng 5 giây rồi trả lại ngay cho bé kèm lời cảm ơn. Bé sẽ học được hai điều: câu hỏi đó dùng như thế nào, và việc “cho mượn” không có nghĩa là “mất luôn”.
Nguồn: AI và kinh nghiệm can thiệp thực tế.
Dạy con hỏi câu Đến lượt con chưa?”
Để dạy câu hỏi “Đến lượt con chưa ạ?” (hoặc rút gọn là “Đến lượt con chưa?” / “Lượt con chưa?”), mục tiêu cốt lõi là giúp trẻ làm chủ kỹ năng luân phiên (Turn-taking) và kiểm soát sự bốc đồng (chờ đợi).
Trẻ tự kỷ, rối loạn ngôn ngữ thường gặp khó khăn với khái niệm thời gian trừu tượng — khi người khác đang chơi, trẻ dễ nghĩ rằng mình bị tước mất đồ chơi vĩnh viễn nên sẽ lao vào giật lại hoặc khóc ăn vạ. Nguyên tắc vàng để dạy câu này là “Lượt của người lớn phải cực kỳ ngắn (chỉ 3–5 giây) + Dùng dấu hiệu đếm ngược rõ ràng” để bé hiểu rằng: Chờ một chút xíu rồi hỏi câu này là sẽ đến lượt mình ngay.
1. Điều kiện cần & Rút gọn câu theo khả năng của bé
-
Bé đã có thể ngồi chơi chung một hoạt động với người lớn trong khoảng 2–3 phút.
-
Bé đã quen với khái niệm luân phiên cơ bản qua hành động (Mẹ làm 1 lần – Con làm 1 lần).
-
Chia bậc độ dài câu nói:
-
Mức cơ bản (2 từ): “Lượt con?” / “Con nhé?” (kèm cử chỉ vỗ nhẹ vào ngực mình).
-
Mức trung bình (3–4 từ): “Đến lượt con chưa?”
-
Mức hoàn chỉnh (5 từ): “Đến lượt con chưa ạ?”
-
2. Quy trình 4 bước thực hiện (Tình huống: Trò chơi có điểm dừng ngắn)
Chuẩn bị: Chọn những trò chơi có hành động ngắn, dứt khoát và tạo hiệu ứng vui mắt ngay lập tức (Ví dụ: Cầu trượt thả bóng/thả xe ô tô, đập bóng xuống lỗ, thổi bong bóng xà phòng, bấm nút đồ chơi bật nhảy như chú hải tặc đâm kiếm, hoặc xếp tháp gỗ). Tránh dùng các trò chơi kéo dài không có điểm dừng rõ ràng (như tô màu hay ôm thú bông).
Bước 1: Thực hiện lượt của người lớn thật nhanh và hấp dẫn
-
Bạn cầm quả bóng (hoặc chiếc xe), vỗ nhẹ vào ngực mình và tuyên bố rõ ràng: “Lượt của mẹ!”
-
Thả quả bóng lăn xuống cầu trượt (chỉ mất khoảng 3 giây) và reo vui: “Chíuuu! Xong rồi!”
-
Cầm ngay quả bóng tiếp theo lên đặt ở đầu cầu trượt nhưng giữ nguyên tay ở đó (chưa thả) và nhìn về phía bé.
Bước 2: Chặn nhẹ + Làm mẫu câu hỏi kèm cử chỉ vỗ ngực
-
Ngay khoảnh khắc bé nhổm người lên, vươn tay định lấy quả bóng để thả, bạn hơi giữ nhẹ bóng lại.
-
Tay kia của bạn cầm nhẹ bàn tay bé vỗ vào ngực bé (cử chỉ báo hiệu “con/tớ”), đồng thời nói mẫu thật rõ ràng với ngữ điệu hỏi: “Đến lượt con chưa ạ?”
-
Chờ 2–3 giây để bé bắt chước nói theo (và vỗ vào ngực).
Bước 3: Trao quyền chơi ngay lập tức (Củng cố tức thì)
-
Ngay giây phút bé bật ra câu hỏi “Đến lượt con chưa ạ?”, bạn lập tức buông tay, đưa ngay quả bóng cho bé và reo lên hào hứng: “Rồi! Đến lượt con đấy!”
-
Để bé tự tay thả quả bóng và tận hưởng niềm vui. (Việc được chơi ngay lập tức sau khi hỏi giúp não bộ của bé liên kết chặt chẽ: Hỏi câu này = Được nhận lượt chơi hợp pháp mà không cần tranh giành).
Bước 4: Lặp lại luân phiên và Giảm dần lời nhắc (Fading) Cứ 1 lượt mẹ (3 giây) lại đến 1 lượt con. Sau 5–7 vòng luân phiên:
-
Mức 1 (Nhắc toàn câu + Cử chỉ): Bạn hướng dẫn bé vỗ ngực và nói mẫu “Đến lượt con chưa ạ?” -> Bé làm và nói theo.
-
Mức 2 (Nhắc cử chỉ + Từ mở đầu): Khi mẹ vừa thả bóng xong, bạn vỗ nhẹ vào ngực bé và mớm lời “Đến lượt…” -> Bé tự nói tiếp “…con chưa ạ?”.
-
Mức 3 (Tự chủ động): Mẹ vừa chơi xong lượt của mình thì cầm bóng dừng lại, nhìn bé với ánh mắt chờ đợi (im lặng 3 giây) -> Bé tự vỗ ngực và hỏi “Đến lượt con chưa ạ?”.
3. Bốn tình huống mở rộng cực kỳ hiệu quả trong sinh hoạt & vận động
Trẻ tự kỷ học câu hỏi này nhanh nhất khi được kết hợp với vận động thể chất (vì vận động mang lại cảm giác hưng phấn cao):
4. Ba bí quyết giúp bé không bị mất kiên nhẫn khi chờ đến lượt
-
Quy tắc “3 giây cho người lớn – 15 giây cho bé”: Ở giai đoạn đầu, khả năng chịu đựng sự chờ đợi của trẻ rất thấp. Lượt của bạn chỉ nên diễn ra chớp nhoáng (2–3 giây) như một cái cớ để tạo tình huống cho bé hỏi, còn khi đến lượt bé, hãy để bé tận hưởng lâu hơn (10–15 giây). Khi bé đã thành thạo việc đặt câu hỏi, bạn mới kéo dài dần lượt của mình lên 5 giây, 10 giây.
-
Sử dụng “Thẻ lượt chơi” (Visual Turn Card) nếu bé khó nhớ bằng lời: Với những bé có xu hướng thị giác mạnh, bạn có thể dùng một vật làm biểu tượng (ví dụ: một chiếc vòng tay to hoặc một tấm thẻ dán hình mặt cười). Ai cầm thẻ người đó được chơi. Khi bạn vừa chơi xong và cầm tấm thẻ giơ lên trước mặt bé, đó là tín hiệu trực quan cực kỳ rõ ràng để bé bật ra câu hỏi “Đến lượt con chưa ạ?” và nhận lấy tấm thẻ cùng đồ chơi.
-
Phân biệt rõ “Con” và “Mẹ” trong cử chỉ: Khi bạn nói “Lượt của mẹ”, hãy lấy tay bạn vỗ vào ngực bạn. Khi bạn làm mẫu cho bé câu “Đến lượt con chưa ạ?”, hãy cầm tay của chính bé vỗ vào ngực của bé (tuyệt đối không lấy tay bạn vỗ vào ngực bạn khi đang nói chữ “con”, vì bé sẽ bắt chước y hệt cử chỉ đó hoặc hiểu nhầm chữ “con” là chỉ mẹ).
Tổng kết lộ trình 6 câu hỏi giao tiếp xã hội của bé
Đến đây, bạn đã trang bị cho bé một bộ công cụ giao tiếp rất toàn diện từ cơ bản đến nâng cao:
-
Nhóm khám phá thế giới: Cái gì đây ạ? (Vật) – Ai đây ạ? (Người) – [Tên vật] ở đâu rồi ạ? (Vị trí) – Tại sao lại thế ạ? (Nguyên nhân).
-
Nhóm ranh giới & tương tác xã hội: Cái này của ai? (Sở hữu) – Con mượn cái này được không ạ? (Xin phép) – Đến lượt con chưa ạ? (Luân phiên & Chờ đợi).
Tham khảo: Kiến thức can thiệp thực tế và hỗ trợ từ AI.
Dậy con nói Nhu cầu Thiết yếu (Ăn, uống, vệ sinh)
Dưới đây là danh sách chi tiết và mở rộng cho Nhóm 1: Nhu cầu Thiết yếu, một trong 6 nhóm nên học đầu tiên, được chia theo mục đích giao tiếp và môi trường sinh hoạt của bé, giúp bé bị chậm nói, rối loạn ngôn ngữ nhanh hoà nhập với môi trường gia đình.
I. ĂN UỐNG
1. Từ đơn (1 âm tiết)
-
Nhóm Danh từ (Đồ vật, thức ăn):
-
Đồ ăn/uống: Cơm, cháo, sữa, nước, bánh, kẹo, thịt, cá, canh, bánh kem, chocolate, sữa chua, phô mai,…
📌 Lưu ý: Khi bạn cho con ăn hay uống bất cứ cái gì, hãy dạy con luôn từ đấy. Lưu ý chỉ nói từ đơn và chỉ vào đồ vật; nếu nói nhiều từ thì cần luôn nhấn mạnh khi nói đến danh từ cần dạy.
- Đồ dùng: Bát (chén), thìa (muỗng), cốc (ly), đũa, đĩa, yếm.
-
Đồ ăn/uống: Cơm, cháo, sữa, nước, bánh, kẹo, thịt, cá, canh, bánh kem, chocolate, sữa chua, phô mai,…
-
Nhóm Động từ (Hành động) – Cần ưu tiên dạy mạnh:
- Ăn, măm, uống, hút (ống hút), gạt, xúc, mút,…
- Bóc (bánh, kẹo), mở (hộp), đậy (nắp).
- Lấy, xin, cho, đút, cắn, nhai, nuốt.
- Thổi (khi nóng), cất, lau.
-
Nhóm Tính từ/Trạng từ (Trạng thái, cảm giác):
- Nóng, lạnh, ngon, chua, ngọt, cay, đắng, mặn,…
- Nữa (muốn thêm), hết (đã xong/hết sạch), no.
2. Câu 2 từ (Nguyên tắc ghép: Động/Tính từ + Danh từ)
- Yêu cầu hành động: Lấy thìa, bóc sữa, mở hộp, đút cơm, rót nước, lấy bánh, xé giấy.
- Bày tỏ nhu cầu: Uống nước, ăn cơm, uống sữa, măm cháo, xin bánh.
- Nêu tình trạng: Nóng quá, hết rồi, no rồi, ngon quá, rớt/rơi rồi, đổ nước, tay bẩn.
- Đòi hỏi thêm: Ăn nữa, sữa nữa, uống nữa.
II. VỆ SINH CÁ NHÂN
1. Từ đơn (1 âm tiết)
-
Nhóm Danh từ:
- Bô, bồn, nước, vòi.
- Giấy, khăn, tã (bỉm), quần, áo.
- Tay, mặt, mũi, miệng (những chỗ hay bị bẩn lúc ăn/chơi).
- Xà phòng (bông), dầu gội, sữa tắm.
-
Nhóm Động từ:
- Tè, ị, rặn.
- Rửa, lau, chùi, xoa.
- Cởi (quần, áo), mặc, kéo (khóa/quần).
- Xả (nước), vứt (rác).
-
Nhóm Tính từ/Trạng từ:
- Ướt, dơ (bẩn), thúi (hôi), sạch.
- Đau, ngứa, buồn.
2. Câu 2 từ (Nguyên tắc ghép: Động/Tính từ + Danh từ)
- Báo cáo nhu cầu: Đi tè, ị bô, đau bụng, buồn tè.
- Yêu cầu trợ giúp vệ sinh: Cởi quần, kéo quần, mặc áo, thay bỉm.
- Thực hiện hành động: Rửa tay, lau miệng, xả nước, vứt rác, lau mặt, rửa đít.
- Nêu tình trạng: Ướt quần, tay bẩn, thúi quá, ướt áo.
💡 Chiến lược dạy “Từ bản lề” (Pivot Words)
Với danh sách mở rộng này, bạn có thể áp dụng chiến lược Từ bản lề. Bạn chọn 1 Động từ cốt lõi (ví dụ từ MỞ) và ghép với nhiều Danh từ khác nhau trong ngày để dạy con:
- Đứng trước cửa phòng: “MỞ… cửa”
- Ăn vặt: “MỞ… hộp”
- Uống nước: “MỞ… nắp”
- Lấy đồ trong balo: “MỞ… cặp”
👉 Việc lặp lại động từ “MỞ” ở nhiều bối cảnh sẽ giúp não bộ của bé tự kỷ hiểu được chức năng của từ này nhanh hơn rất nhiều.
Nguồn tham khảo: Kiến thức thực tế dạy con và những gợi ý từ AI.
Dậy con nói Nhóm câu Yêu cầu Sự trợ giúp & Giao tiếp Cốt lõi
Nhóm này đóng vai trò như một “chiếc chìa khóa” để mở ra sự tương tác. Trẻ tự kỷ thường có xu hướng tự giải quyết vấn đề (kéo ghế để với đồ, tự cạy hộp) hoặc kéo tay người lớn đặt vào đồ vật thay vì dùng lời nói (đây gọi là dùng người lớn như một công cụ). Việc dạy từ vựng ở nhóm này sẽ giúp con phá vỡ thói quen đó.
Chúng ta sẽ chia Nhóm 2 thành 3 tiểu mục cực kỳ quan trọng:
I, GỌI NGƯỜI & THU HÚT SỰ CHÚ Ý
Đây là bước đầu tiên để giao tiếp: Phải gọi được người khác thì mới nhờ được.
1. Từ đơn (1 âm tiết)
-
Nhóm Danh từ (Đại từ chỉ người):
-
Mẹ, Ba (Bố), Bà, Ông, Cô (cô giáo), Anh, Chị.
-
Tên của con (để con nhận biết khi được gọi).
-
-
Nhóm Động từ:
-
Bế, ẵm, cõng, ôm.
-
Nhìn, xem, ra (đây).
-
-
Nhóm Từ chức năng/Cảm thán:
-
Ơi, Dạ, Có, Đây.
-
2. Câu 2 từ (Ghép Người + Hành động / Cảm thán)
-
Gọi người: Mẹ ơi, Ba ơi, Cô ơi, Bà ơi, Chị ơi
-
Đòi hỏi sự chú ý/âu yếm: Bế con, mẹ bế, ôm con, cõng con, dắt tay con,…
-
Kéo sự chú ý vào đồ vật: Nhìn này, xem này, ra đây, mẹ ra.
II, YÊU CẦU TRỢ GIÚP THAO TÁC (Khi gặp khó khăn)
Được dùng khi đồ chơi bị hỏng, đồ ăn trong hộp đậy chặt, hoặc đồ để trên cao ngoài tầm với.
1. Từ đơn (1 âm tiết)
-
Nhóm Động từ (Chìa khóa của nhóm này):
-
Giúp (từ này cực kỳ quan trọng).
-
Mở, bóc, vặn (nắp), tháo, gỡ (khi bị rối/kẹt).
-
Lấy, nhặt, cất.
-
Bật, tắt (tivi, quạt, đèn, đồ chơi phát nhạc).
-
Xỏ (giày/dép), mặc, cài (khuy áo).
-
-
Nhóm Danh từ:
-
Tay, chân (ví dụ: bị kẹt tay).
-
Đồ chơi, tivi, đèn, quạt, cửa, giày, tất (vớ).
-
-
Nhóm Tính từ / Trạng thái:
-
Khó, kẹt, hỏng, cao.
-
2. Câu 2 từ (Ghép Động/Tính từ + Danh từ)
-
Xin giúp đỡ chung: Giúp con, giúp bé, làm giúp.
-
Trợ giúp thao tác: Mở hộp, bóc kẹo, vặn nắp, bật lên, tắt đi, tháo ra.
-
Trợ giúp lấy đồ: Lấy đồ, lấy bóng, nhặt lên.
-
Báo cáo tình trạng để nhờ vả: Khó quá, kẹt rồi, hỏng rồi, cao quá.
III, GIAO TIẾP CỐT LÕI (Điều hướng hoạt động)
Giúp con thể hiện ý chí của mình: Có muốn làm tiếp không? Có thích không?
1. Từ đơn (1 âm tiết)
-
Nhóm Động từ (Thể hiện mong muốn):
-
Muốn, thích, cần.
-
-
Nhóm Từ chức năng (Khẳng định/Phủ định/Tình trạng):
-
Có, không.
-
Nữa (muốn thêm/lặp lại).
-
Rồi (đã xong), chưa, hết.
-
Xong, dừng.
-
2. Câu 2 từ
-
Đồng ý / Từ chối nhẹ nhàng: Có ạ, không ạ, muốn chơi, không thích, không muốn.
-
Điều khiển tiến độ: Chơi nữa, làm nữa, hát nữa, xem nữa.
-
Kết thúc hoạt động: Xong rồi, hết rồi, chưa xong, cất đi, dừng lại.
💡 Chiến lược dạy “Kéo tay thành Bật âm” (Từ Hành vi sang Ngôn ngữ)
Với nhóm này, lỗi hay gặp nhất là bé sẽ cầm tay mẹ, kéo lại chỗ cái hộp đồ chơi, đặt tay mẹ lên nắp hộp để mẹ mở (mà không nhìn mẹ, không nói gì).
Cách xử lý để gài bẫy dạy ngôn ngữ:
-
Khi con kéo tay mẹ đặt lên hộp, mẹ hãy nắm chặt tay lại, không mở hộp ngay.
-
Đưa hộp lên ngang tầm mắt mẹ để kích thích con giao tiếp mắt với mẹ.
-
Mẹ làm mẫu từ: “MỞ” (hoặc “Mẹ mở”). Nói to, rõ ràng, chậm rãi 1 lần.
-
Chờ 3-5 giây xem con có cố gắng phát âm theo không (dù chỉ là âm “M”, âm “Ơ” hoặc mấp máy môi).
-
Nếu con phát âm (hoặc có cố gắng) Lập tức mở hộp ngay và khen ngợi: “À đúng rồi, MỞ hộp! Mẹ mở nhé!”.
-
Nếu con khóc/cáu Mẹ nói lại chữ “MỞ” lần 2 rồi mở hộp, không ép quá lâu tránh meltdown, nhưng vẫn cho con thấy quy luật là “phải có âm thanh ‘mở’ thì hộp mới mở”.
Nguồn tham khảo: Kiến thức thực tế dạy con và những gợi ý từ AI.
Dậy con nói Nhóm câu Từ chối & Bảo vệ bản thân (Kỹ năng khước từ)
Trẻ tự kỷ nếu không biết cách dùng lời nói để từ chối sẽ rất dễ chuyển sang dùng hành vi tiêu cực (ném đồ, cắn, đập đầu, gạt phắt tay người lớn, la hét). Khi con học được cách nói “Không” hoặc “Thôi”, mức độ ăn vạ và căng thẳng của con sẽ giảm đi rõ rệt.
Dưới đây là 3 tiểu mục chi tiết cho nhóm này:
I, TỪ CHỐI MÓN ĂN, ĐỒ VẬT & HOẠT ĐỘNG
Giúp con nói lên nguyện vọng khi bị ép ăn món không thích hoặc khi con đã chơi đủ, muốn dừng lại.
1. Từ đơn (1 âm tiết)
-
Nhóm Từ chức năng / Phủ định (Nền tảng quan trọng nhất):
-
Không, Thôi, Đủ, Xong.
-
-
Nhóm Động từ:
-
Trả, Cất, Dừng, Bỏ, Buông.
-
-
Nhóm Tính từ / Trạng thái cơ thể (Giải thích lý do từ chối):
-
No, Mệt, Đắng, Cay, Nóng, Bẩn.
-
2. Câu 2 từ (Nguyên tắc ghép: Phủ định + Động từ / Trạng thái)
-
Phủ định trực tiếp: Không ăn, không uống, không chơi, không thích, không muốn.
-
Thông báo điểm dừng: Đủ rồi, thôi mà, xong rồi, cất đi, no rồi, mệt rồi.
-
Từ chối món ăn/đồ vật: Không lấy, bỏ ra, cất đồ.
II, BẢO VỆ ĐỒ CHƠI & RANH GIỚI CÁ NHÂN
Sử dụng khi bị bạn ở trường giật đồ chơi, bị người khác đụng vào người khi con chưa sẵn sàng, hoặc muốn giữ đồ của mình.
1. Từ đơn (1 âm tiết)
-
Nhóm Danh từ / Đại từ:
-
Con, Mẹ, [Tên của bé], Bạn.
-
-
Nhóm Động từ / Sở hữu:
-
Của (chỉ sự sở hữu), Giữ, Giành, Tránh, Buông.
-
-
Nhóm Từ chức năng / Mệnh lệnh:
-
Đừng, Thôi, Trả.
-
2. Câu 2 từ
-
Khẳng định quyền sở hữu: Của con, của [Tên bé], đồ con, bóng con.
-
Yêu cầu bạn/người khác dừng lại: Đừng giành, đừng lấy, trả con, đừng kéo, buông ra.
-
Yêu cầu khoảng cách: Đi ra, tránh ra, đừng đụng.
III, THÔNG BÁO QUÁ TẢI CẢM GIÁC & MỆT MỎI (Báo dừng kích thích)
Trẻ tự kỷ rất nhạy cảm với giác quan (âm thanh to, ánh sáng chói, chỗ đông người). Nhóm này giúp con báo động cho cha mẹ trước khi xảy ra tình trạng bùng nổ cảm xúc (meltdown).
1. Từ đơn (1 âm tiết)
-
Nhóm Tính từ / Cảm giác quá tải:
-
Ồn, Chói, Sợ, Đau, Mệt, Nóng, Lạnh.
-
-
Nhóm Động từ hành động:
-
Tắt, Che (mắt/tai), Đi (về), Bế.
-
2. Câu 2 từ
-
Báo cáo cảm giác khó chịu: Ồn quá, sợ quá, đau quá, chói quá, mệt rồi.
-
Yêu cầu thoát khỏi hoàn cảnh: Đi về, ra ngoài, tắt đi (tắt nhạc/tivi), mẹ bế.
💡 Chiến lược dạy “Đáp ứng ngay lập tức” (Huấn luyện Giao tiếp Chức năng)
Để con tin rằng “Dùng lời nói có hiệu quả hơn dùng hành vi”, trong thời gian đầu mới dạy:
-
Gài bẫy nhẹ: Đưa cho con một món ăn con không thích (hoặc một đồ chơi con đã chán).
-
Khi thấy con có dấu hiệu sắp đẩy tay mẹ hoặc nhăn mặt, bạn nhanh chóng làm mẫu cử chỉ (lắc đầu nhẹ) và nói to rõ: “KHÔNG” (hoặc “Không ăn”).
-
Ngay khi con lặp lại âm “Không” (dù chỉ là âm “K…” hoặc lắc đầu có bật âm), bạn hãy cất ngay món đó đi lập tức và khen: “Đúng rồi, không ăn thì cất đi!”.
-
Lưu ý vàng: Khi con đã dùng lời nói/bật âm từ chối đúng cách, người lớn phải tôn trọng lời từ chối đó ngay lập tức (ít nhất là trong giai đoạn học bật âm này). Nếu con nói “Không” mà mẹ vẫn cố ép ăn, con sẽ hiểu rằng lời nói vô tác dụng và sẽ quay lại dùng cách la hét hoặc ném chén.
Nguồn tham khảo: Kiến thức thực tế dạy con và những gợi ý từ AI.
Dạy con nói nhóm câu Hoạt động & Tương tác tại Trường Mầm non
Môi trường mầm non có mật độ kích thích giác quan cao và nhiều quy tắc tập thể. Việc dạy từ vựng cho nhóm này giúp con giảm bớt lo âu, biết cách tuân thủ nề nếp và bắt đầu xây dựng những mối quan hệ xã hội đầu đời với cô giáo, bạn bè.
I, ĐÓN – TRẢ TRẺ & CHÀO HỎI (Nghi thức xã hội đầu/cuối ngày)
Giúp con nhận biết sự chuyển giao giữa môi trường nhà và trường, giảm bớt cảm giác bị bỏ rơi khi cha mẹ đi về.
1. Từ đơn (1 âm tiết)
-
Nhóm Danh từ (Đại từ & Đồ dùng):
-
Cô, bạn, mẹ, ba, cặp (balo), dép, tủ.
-
-
Nhóm Động từ (Hành động xã hội):
-
Chào, về, cất, vào, bế, vẫy (tay), khoanh (tay).
-
-
Nhóm Từ chức năng / Lịch sự:
-
Ạ, dạ, ngoan.
-
2. Câu 2 từ
-
Chào hỏi khi đến/về: Chào cô, chào bạn, chào mẹ, con về.
-
Thực hiện thủ tục: Cất cặp, cất dép, vào lớp, vẫy tay.
-
Biểu lộ tình cảm/Nhu cầu: Mẹ đón, cô bế.
II, GIỜ HỌC, GIỜ VÒNG TRÒN & TUÂN THỦ NỀ NẾP
Giúp con hiểu các câu lệnh tập thể của cô giáo và tham gia vào hoạt động chung cùng các bạn.
1. Từ đơn (1 âm tiết)
-
Nhóm Danh từ:
-
Ghế, bàn, tranh, màu, kéo, giấy, đất (nặn), sách.
-
-
Nhóm Động từ (Lệnh tập thể):
-
Ngồi, đứng, hát, múa, vẽ, nặn, cất, nghe, nhìn, giơ (tay).
-
-
Nhóm Tính từ / Trạng thái:
-
Im (lặng), trật (tự), ngoan, đẹp.
-
2. Câu 2 từ (Nguyên tắc: Động từ + Danh từ / Mệnh lệnh)
-
Tuân thủ nề nếp: Ngồi xuống, đứng dậy, im lặng, khoanh tay, nhìn cô, lắng nghe.
-
Thực hiện hoạt động học: Tập vẽ, nặn đất, cất ghế, cất đồ.
-
Tương tác giờ học: Giơ tay, xin phát (giấy/màu).
III, GIỜ RA CHƠI & TƯƠNG TÁC CÙNG BẠN BÈ (Luân phiên & Chia sẻ)
Trẻ tự kỷ thường chơi song song (chơi một mình bên cạnh bạn) chứ chưa biết chơi tương tác. Nhóm này dạy con các từ chìa khóa để bắt đầu “chơi chung”.
1. Từ đơn (1 âm tiết)
-
Nhóm Danh từ:
-
Bạn, đồ (chơi), xe, bóng, lượt.
-
-
Nhóm Động từ (Hành động tương tác):
-
Cho, xin, mượn, trả, chơi, nhường, đẩy, đuổi.
-
-
Nhóm Từ chức năng (Chỉ lượt & Tương tác):
-
Cùng, chung, trước, sau, nữa.
-
2. Câu 2 từ
-
Kỹ năng xin xỏ / Mượn đồ: Xin bạn, cho con, mượn xe, mượn bóng.
-
Kỹ năng rủ rê / Chơi chung: Chơi chung, chơi cùng, chạy theo, đuổi bắt.
-
Kỹ năng luân phiên: Đến lượt, đợi chút, nhường bạn, xếp hàng.
IV, GIỜ ĂN & GIỜ NGỦ TRƯA TẠI TRƯỜNG
Giúp con tự lập trong các sinh hoạt tập thể tại lớp.
1. Từ đơn (1 âm tiết)
-
Nhóm Danh từ:
-
Khay, cơm, canh, thìa, đệm (chiếu), chăn, gối.
-
-
Nhóm Động từ:
-
Ăn, xúc, uống, nằm, ngủ, cất, lấy.
-
2. Câu 2 từ
-
Giờ ăn: Tự xúc, ăn hết, cất khay, lấy nước.
-
Giờ ngủ: Lấy gối, đắp chăn, nằm xuống, ngủ ngoan.
💡 Chiến lược phối hợp Nhà – Trường: “Bộ thẻ Visual Schedule & Đồng hành cùng cô giáo”
Trẻ tự kỷ học tốt nhất qua thị giác. Để giúp con tự tin giao tiếp ở trường, bạn có thể áp dụng 2 bước:
-
Tạo lịch trình bằng hình ảnh (Visual Schedule): Chụp ảnh thực tế các góc ở lớp của con (Góc dép, Tủ balo, Bàn ăn, Giường ngủ, Cô giáo). Ở nhà, mỗi tối hoặc sáng trước khi đi học, bạn giơ từng tấm ảnh ra và cùng con nói từ vựng tương ứng (Ví dụ: Chỉ vào ảnh tủ dép Nói: “CẤT DÉP”; Chỉ vào ảnh cô giáo Nói: “CHÀO CÔ”).
-
“Ủy quyền” cho cô giáo trao cơ hội bật âm: Nhờ cô giáo ở lớp không làm hộ con hoàn toàn. Ví dụ: Khi con muốn uống nước hoặc ăn thêm cơm, cô hãy đợi con mấp máy môi hoặc phát ra âm “NƯỚC” / “CƠM” mới đưa cho con, thay vì thấy con đứng nhìn là cô tự lấy giúp.
Nguồn tham khảo: Kiến thức thực tế dạy con và những gợi ý từ AI.
Dậy con nói Nhóm câu Sinh hoạt Hàng ngày tại Nhà (Routine Words)
Trẻ tự kỷ là những đứa trẻ của “thói quen” (routines). Các con học và ghi nhớ cực kỳ tốt nếu các sự việc diễn ra theo một trình tự có thể đoán trước. Vì vậy, lồng ghép từ vựng vào các nếp sinh hoạt hàng ngày là cách dạy tự nhiên nhất, ít áp lực nhất và có tần suất lặp lại cao nhất.
Chúng ta sẽ chia Nhóm 4 thành 4 tiểu mục dựa trên các khung giờ sinh hoạt cố định trong ngày:
I, TẮM RỬA & ĐÁNH RĂNG (Vệ sinh thân thể)
Đây là hoạt động tiếp xúc với nhiều cảm giác (nước, nhiệt độ, bọt), rất dễ để dạy các từ miêu tả trạng thái.
1. Từ đơn (1 âm tiết)
-
Nhóm Danh từ (Đồ dùng & Bộ phận cơ thể):
-
Nước, chậu (thau), vòi, khăn.
-
Xà phòng (bông), kem, bàn chải.
-
Đầu, tóc, mặt, tay, chân, răng.
-
-
Nhóm Động từ (Hành động):
-
Tắm, gội, rửa, lau.
-
Chà (đánh), xoa, dội, xả.
-
Bật, tắt (vòi nước).
-
-
Nhóm Tính từ / Cảm giác:
-
Sạch, bẩn (dơ), ướt, khô.
-
Ấm, lạnh, nóng.
-
2. Câu 2 từ (Ghép Động từ/Tính từ + Danh từ)
-
Gọi tên hoạt động: Đi tắm, rửa mặt, đánh răng, gội đầu, rửa tay.
-
Yêu cầu/Miêu tả hành động: Bật nước, tắt nước, xoa xà phòng, lau mặt, lau khô.
-
Nêu cảm giác: Nước lạnh, nước nóng, tay sạch, mặt bẩn, ướt rồi.
II, THAY & MẶC QUẦN ÁO
Hoạt động này rèn luyện cả vận động tinh (kéo, xỏ) và ngôn ngữ.
1. Từ đơn (1 âm tiết)
-
Nhóm Danh từ:
-
Quần, áo, bỉm (tã), tất (vớ), giày, dép, mũ (nón).
-
-
Nhóm Động từ:
-
Mặc, cởi, xỏ, kéo, cài, tháo.
-
Lấy, cất.
-
-
Nhóm Tính từ:
-
Chật, rộng, đẹp.
-
2. Câu 2 từ
-
Yêu cầu trợ giúp/Thực hiện: Mặc áo, cởi quần, xỏ tất, đi giày, đội mũ.
-
Chi tiết hành động: Kéo lên, kéo xuống, cài cúc (nút).
-
Đánh giá tình trạng: Áo bẩn, quần ướt, áo đẹp, chật quá.
III, CHUẨN BỊ ĐI NGỦ & THỨC DẬY
Giờ đi ngủ cần sự tĩnh lặng, từ vựng nên ngắn gọn, êm ái để tạo nếp thư giãn cho não bộ của con.
1. Từ đơn (1 âm tiết)
-
Nhóm Danh từ:
-
Giường, gối, chăn (mền), quạt, đèn.
-
Gấu (bông), sách, truyện.
-
-
Nhóm Động từ:
-
Ngủ, thức, dậy, nằm.
-
Đắp (chăn), ôm, nhắm (mắt).
-
Tắt, bật (đèn).
-
Đọc, kể.
-
-
Nhóm Tính từ / Trạng thái:
-
Tối, sáng, mệt.
-
2. Câu 2 từ
-
Chuẩn bị môi trường: Tắt đèn, bật quạt, đắp chăn, lên giường.
-
Hành động đi ngủ: Đi ngủ, nằm xuống, nhắm mắt, ôm gấu.
-
Giao tiếp trước/sau khi ngủ: Đọc truyện, ngủ ngon, dậy đi, sáng rồi.
IV, DỌN DẸP & KẾT THÚC HOẠT ĐỘNG
Giúp con thiết lập tính kỷ luật và hiểu rõ quy luật “Có bắt đầu thì phải có kết thúc”.
1. Từ đơn (1 âm tiết)
-
Nhóm Danh từ:
-
Đồ chơi, rổ (giỏ), thùng, rác.
-
-
Nhóm Động từ:
-
Cất, dọn, nhặt, vứt.
-
Xếp, bỏ.
-
-
Nhóm Từ chức năng / Đánh giá:
-
Xong, hết, gọn, sạch.
-
2. Câu 2 từ
-
Thực hiện lệnh: Cất đồ, dọn đi, vứt rác, nhặt lên.
-
Thông báo hoàn thành: Xong rồi, hết rồi, sạch rồi.
💡 Chiến lược dạy: “Tạm dừng chuỗi hành động quen thuộc” (Sabotage the Routine)
Bởi vì sinh hoạt hàng ngày lặp đi lặp lại như một cái máy, trẻ sẽ quen thuộc đến mức… không cần mở miệng nói cũng được việc. Để kích thích con bật âm, cha mẹ cần phải “phá bĩnh” (sabotage) thói quen đó một chút.
Cách thực hiện (Ví dụ với việc mặc áo/quần):
-
Bình thường bạn sẽ tròng áo qua đầu rồi kéo xuống luôn cho con.
-
Hôm nay, bạn tròng áo qua đầu con (che khuất mắt) và DỪNG LẠI, giữ nguyên tay không kéo xuống.
-
Con bị vướng, con sẽ khó chịu và cố kéo áo xuống hoặc ớ lên.
-
Ngay lúc đó, bạn làm mẫu từ: “KÉO” (hoặc “Cởi”).
-
Nếu con cố gắng bắt chước nói “Kéo” (hoặc chỉ phát âm “K..”, “E…”), bạn lập tức kéo áo xuống giúp con và cười tươi: “Đúng rồi, Kéo xuống!”.
Hoặc ví dụ với việc tắm:
-
Đưa xà phòng cho con nhưng chưa xả nước, chờ con đòi hỏi hoặc nhìn bạn thắc mắc. Bạn làm mẫu từ “BẬT” (bật nước) hoặc “NƯỚC”.
Nguyên lý ở đây là: Tạo ra một sự “chướng ngại” nhỏ, an toàn và hài hước trong một nếp sinh hoạt quen thuộc để con có lý do phải mở lời nhờ bạn giúp đỡ.
Ở nhà, trong 4 hoạt động trên (Tắm, Mặc đồ, Ngủ, Dọn đồ), bé nhà bạn thích thú (hoặc ít chống đối) hoạt động nào nhất? Chúng ta nên bắt đầu áp dụng chiến lược “Tạm dừng” ở hoạt động con thoải mái nhất nhé!
Nguồn tham khảo: Kiến thức thực tế dạy con và những gợi ý từ AI.
Dạy con nói nhóm câu Nhận diện Trạng thái Cơ thể & Cảm xúc
Trẻ tự kỷ thường gặp rất nhiều khó khăn trong việc nhận biết và gọi tên những gì đang diễn ra bên trong cơ thể mình (cảm giác giác quan, cơn đau, hoặc cảm xúc dâng trào). Khi không thể nói ra là mình đang “đau bụng”, “sợ tiếng ồn” hay “quá tải”, trẻ chỉ có một cách duy nhất để giải tỏa: khóc lóc, ăn vạ hoặc bùng nổ cảm xúc (meltdown).
Nhóm này giúp chuyển hóa những cảm giác mơ hồ bên trong thành từ ngữ cụ thể để trẻ gọi tên và nhờ cha mẹ giúp đỡ. Dưới đây là 3 tiểu mục chi tiết:
I, BÁO CÁO CẢM GIÁC CƠ THỂ & CƠN ĐAU (Physical Sensations)
Giúp con chỉ ra chính xác vị trí bị đau hoặc cảm giác khó chịu trên cơ thể thay vì chỉ khóc.
1. Từ đơn (1 âm tiết)
-
Nhóm Danh từ (Các bộ phận cơ thể dễ bị đau/mệt):
-
Bụng, đầu, tay, chân, mắt, tai, răng, họng, lưng, đít.
-
-
Nhóm Tính từ / Trạng thái cảm giác cơ thể:
-
Đau, ngứa, rát, tê, mệt, đói, khát, no.
-
Nóng, lạnh, cay, đắng.
-
-
Nhóm Động từ đi kèm:
-
Té (ngã), va, dập, kẹt, muỗi (đốt/chít).
-
2. Câu 2 từ (Nguyên tắc ghép: Trạng thái + Bộ phận cơ thể / Đại từ)
-
Báo vị trí đau/khó chịu: Đau bụng, đau tay, đau đầu, đau răng, ngứa chân, rát cổ, mệt quá.
-
Báo nhu cầu sinh lý cơ thể: Đói rồi, khát quá, nóng quá, lạnh quá, mệt rồi.
-
Giải thích nguyên nhân: Té ngã, muỗi đốt, kẹt tay, va bàn.
II, GỌI TÊN CẢM XÚC NỀN TẢNG (Basic Emotions)
Cảm xúc là thứ rất mơ hồ đối với trẻ tự kỷ. Chúng ta chỉ nên bắt đầu với 4 cảm xúc cơ bản nhất: Vui, Buồn, Sợ, Giận.
1. Từ đơn (1 âm tiết)
-
Nhóm Tính từ chỉ cảm xúc:
-
Vui, buồn, sợ, giận (tức), thích, ghét.
-
-
Nhóm Động từ biểu hiện cảm xúc:
-
Khóc, cười, sợ, hét, ôm.
-
-
Nhóm Trạng thái giác quan / Tâm lý:
-
Chói, ồn, hoảng, giật (mình).
-
2. Câu 2 từ
-
Gọi tên trạng thái bản thân: Con vui, con buồn, sợ quá, giận rồi, thích lắm, không thích.
-
Mô tả biểu hiện: Khóc rồi, cười to, sợ ma, ồn quá, chói quá.
III, YÊU CẦU XOA DỊU & ĐIỀU HOÀ CẢM XÚC (Co-regulation Requests)
Sau khi nhận biết được cảm xúc/sự khó chịu, con cần biết từ vựng để yêu cầu người lớn hỗ trợ mình bình tĩnh lại.
1. Từ đơn (1 âm tiết)
-
Nhóm Động từ (Hành động xoa dịu):
-
Thổi (cho bớt đau), xoa, ôm, gãi, vuốt, nắm (tay).
-
Dán (băng cá nhân), bôi (thuốc).
-
Bế, ra (ngoài), dỗ.
-
-
Nhóm Danh từ (Đồ vật giúp bình tĩnh):
-
Mẹ, ba, gấu, chăn, nước, thuốc.
-
2. Câu 2 từ
-
Yêu cầu hỗ trợ thể chất: Thổi đau, xoa bụng, gãi lưng, bôi thuốc, dán dán (băng gạc).
-
Yêu cầu xoa dịu tinh thần: Mẹ ôm, nắm tay, bế con, ôm gấu, đi ra.
IV, BẬT MÍ “BỘ THẺ CẢM XÚC & BẢNG CHỈ VỊ TRÍ ĐAU” (Body & Emotion Map)
Vì khi đau hoặc bùng nổ cảm xúc, não bộ của trẻ tự kỷ rơi vào trạng thái “quá tải” (stress), việc nhớ và phát âm ra từ ngữ rất khó khăn. Bạn nên làm sẵn 2 công cụ đơn giản này ở nhà:
-
Hình vẽ Cơ thể người đơn giản (Body Map): Vẽ hoặc in hình một bé trai đơn giản. Khi con ngã hoặc khóc gắt mà chưa nói được, bạn giơ hình ra và hỏi: “Đau ở đâu?”. Bạn chỉ vào bụng, tay, chân… Con chỉ cần chỉ tay vào vị trí đó trên hình, sau đó bạn hỗ trợ con bật âm: “ĐAU BỤNG” hoặc “ĐAU TAY”.
-
Dạy “Thổi” và “Xoa” làm hành vi thay thế: Khi con bị đau nhẹ, trẻ tự kỷ hay đập tay hoặc khóc ngất. Bạn hãy lập tức nắm nhẹ tay con, thổi nhẹ vào chỗ đau và nói: “Thổi… hết đau”. Dần dần, con sẽ học được cách chủ động đưa chỗ đau ra cho bạn và nói âm “THỔI” hoặc “XOA” để nhờ bạn giúp đỡ thay vì ngồi khóc.
Nguồn tham khảo: Kiến thức thực tế dạy con và những gợi ý từ AI.
Dạy con nói nhóm câu Vui chơi, Vận động & Tương tác xã hội
Môi trường ngoài trời và khu vui chơi là nơi trẻ có động lực giao tiếp cao nhất vì não bộ đang giải phóng dopamine qua các hoạt động vận động thô (chạy, nhảy, trượt). Đây là cơ hội vàng để biến sự hào hứng của con thành từ vựng thực tế.
I, TRÒ CHƠI VẬN ĐỘNG & THIẾT BỊ SÂN CHƠI
Dạy từ vựng gắn liền với các thiết bị quen thuộc tại sân chơi và hành động tương ứng.
1. Từ đơn (1 âm tiết)
-
Nhóm Danh từ (Thiết bị & Vật liệu):
-
Bóng, cầu (trượt), xích (đũ), nhún (bập bênh), cát, cỏ, nước, xe, thang.
-
-
Nhóm Động từ (Hành động vận động) – Ưu tiên dạy mạnh:
-
Đẩy, trượt, nhún, trèo, nhảy, chạy, ngã, quay, leo, thả.
-
-
Nhóm Tính từ / Trạng thái (Cảm giác vận động):
-
Cao, dốc, nhanh, chậm, mạnh, êm, sợ.
-
2. Câu 2 từ (Nguyên tắc ghép: Động từ + Danh từ / Trạng thái)
-
Yêu cầu hành động: Đẩy con, trượt xuống, trèo lên, nhún nhún, chạy nhanh, nhảy cao, leo thang.
-
Miêu tả cảm giác / Tình trạng: Cao quá, nhanh quá, dốc quá, ngã rồi, sợ quá.
II, TRÒ CHƠI TƯƠNG TÁC (Bong bóng xà phòng, đá bóng, trốn tìm)
Các trò chơi có tính luân phiên và tương tác qua lại giữa cha mẹ và con hoặc giữa con và bạn bè.
1. Từ đơn (1 âm tiết)
-
Nhóm Danh từ:
-
Bóng, bong (bóng), súng (súng nước/xà phòng), que, nước, bạn.
-
-
Nhóm Động từ:
-
Thổi, ném, đá, bắt, đập (vỡ), vỡ, tìm, trốn, đuổi, bắt.
-
-
Nhóm Tính từ / Từ chức năng:
-
To, bay, nhiều, hết, mất (rồi).
-
2. Câu 2 từ
-
Tạo tương tác / Đòi hỏi: Thổi bóng, đập vỡ, đá bóng, bắt bóng, ném đi, tìm con.
-
Miêu tả hiện tượng: Bóng bay, bóng to, hết bóng, mất rồi, vỡ rồi.
III, LUÂN PHIÊN, AN TOÀN & CHUYỂN ĐỔI HOẠT ĐỘNG
Giúp con học nề nếp công cộng, đảm bảo an toàn và không bị bùng nổ cảm xúc khi đến giờ phải đi về.
1. Từ đơn (1 âm tiết)
-
Nhóm Danh từ:
-
Lượt, bạn, đường, xe, cổng, tay.
-
-
Nhóm Động từ (Chỉ dẫn & An toàn):
-
Đợi, chờ, nhường, dừng, nắm (tay), buông, về, đổi (trò).
-
-
Nhóm Tính từ / Trạng thái:
-
Mệt, nóng, mồ (hôi), đau, xong.
-
2. Câu 2 từ
-
Quy tắc luân phiên & Tương tác: Đợi chút, đến lượt, nhường bạn, đổi trò.
-
An toàn & Chuyển đổi: Dừng lại, nắm tay, đi chậm, nguy hiểm, mệt rồi, đi về, cất xe.
💡 Chiến lược dạy: “Tạm dừng chuyển động” (The Pause & Wait Technique)
Hoạt động vận động có nhịp điệu (xích đu, bập bênh, trượt) là bối cảnh dễ dạy bật âm nhất trên đời. Bạn có thể áp dụng chiến lược này ngay chiều nay:
-
Với xích đu: Khi con đang ngồi trên xích đu và rất thích thú, bạn kéo xích đu về phía sau, giơ lên cao và DỪNG LẠI (không đẩy).
-
Con sẽ quay lại nhìn bạn với ánh mắt chờ đợi hoặc nhún nhảy đòi đẩy.
-
Bạn nhìn thẳng vào mắt con, cười tươi và nói rõ ràng từ: “ĐẨY” (hoặc “Đẩy con”).
-
Chờ 3 giây. Ngay khi con mấp máy môi hoặc phát ra bất kỳ âm thanh nào (dù chỉ là “Đ…”), bạn hãy đẩy xích đu ngay lập tức và reo hò: “ĐÚNG RỒI! ĐẨY NÈ!”.
-
Với cầu trượt: Giữ con lại ở đỉnh cầu trượt hoặc chắn ở chân cầu trượt, yêu cầu con bật âm “TRƯỢT” hoặc “XUỐNG” mới thả cho con trượt.
Nguồn tham khảo: Kiến thức thực tế dạy con và những gợi ý từ AI.
[Lập kế hoạch IEP] VB-MAPP: Chương trình đánh giá mốc phát triển và xếp lớp hành vi ngôn ngữ cho trẻ tự kỷ
(function() { const host = document.getElementById('vbmapp-wp-host'); if (!host) return; const placeholder = document.createComment('vbmapp-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // ========================================================= // 1. DỮ LIỆU ĐÁNH GIÁ MỐC PHÁT TRIỂN (MILESTONES LEVEL 1, 2, 3) // Đại diện toàn bộ 16 lĩnh vực qua 34 cụm mốc cốt lõi (Quy đổi chuẩn về thang 170 điểm: Level 1 = 45đ, Level 2 = 60đ, Level 3 = 65đ) // ========================================================= const milestoneDomains = [ // LEVEL 1 (0 - 18 THÁNG • 9 LĨNH VỰC • TỐI ĐA 45 ĐIỂM) { id: 1, lvl: 1, code: 'MAND-L1', name: '1. Yêu cầu - Mand (Level 1 • 0–18 tháng)', maxPts: 5, m1: 'Mốc 1–2: Yêu cầu được 2–4 vật/hoạt động yêu thích (có thể dùng lời, chỉ tay hoặc dấu hiệu).', m2: 'Mốc 3–4: Chủ động yêu cầu 6–8 vật khác nhau đang hiện diện trước mặt mà không cần nhắc lời.', m3: 'Mốc 5: Tự phát đưa ra ít nhất 10 yêu cầu (Mand) khác nhau trong ngày để xin đồ vật/hoạt động.' }, { id: 2, lvl: 1, code: 'TACT-L1', name: '2. Định danh / Gọi tên - Tact (Level 1 • 0–18 tháng)', maxPts: 5, m1: 'Mốc 1–2: Gọi đúng tên 2–4 người thân, thú cưng hoặc đồ vật rất quen thuộc.', m2: 'Mốc 3–4: Gọi đúng tên 6–10 đồ vật thông thường trong sinh hoạt hàng ngày.', m3: 'Mốc 5: Gọi tên chính xác ít nhất 10 đồ vật/hình ảnh quen thuộc khi được hỏi "Cái gì đây?".' }, { id: 3, lvl: 1, code: 'LR-L1', name: '3. Nghe hiểu - Listener Responding (Level 1 • 0–18 tháng)', maxPts: 5, m1: 'Mốc 1–2: Quay đầu nhìn khi nghe tiếng gọi tên mình và chú ý nhìn vào đồ vật người lớn chỉ.', m2: 'Mốc 3–4: Thực hiện được 4 mệnh lệnh vận động đơn giản (Vỗ tay, Đứng lên, Lại đây...) và chọn đúng 10 đồ vật.', m3: 'Mốc 5: Chỉ hoặc lấy đúng ít nhất 20 đồ vật/tranh ảnh quen thuộc khi người lớn gọi tên.' }, { id: 4, lvl: 1, code: 'VPMTS-L1', name: '4. Thị giác & Ghép mẫu - VP-MTS (Level 1 • 0–18 tháng)', maxPts: 5, m1: 'Mốc 1–2: Nhìn theo vật di chuyển, cầm nắm đồ vật nhỏ và thả hình khối vào hộp.', m2: 'Mốc 3–4: Xếp chồng các khối gỗ và ghép đúng các hình cơ bản vào bảng khuôn.', m3: 'Mốc 5: Ghép tương ứng đồ vật giống hệt nhau (3D–3D) và tranh giống tranh (2D–2D) trong tập hợp 4–6 mẫu.' }, { id: 5, lvl: 1, code: 'PLAY-L1', name: '5. Chơi Độc lập - Independent Play (Level 1 • 0–18 tháng)', maxPts: 5, m1: 'Mốc 1–2: Thao tác và khám phá các đồ chơi có tính nhân quả (bấm nút phát nhạc, lắc xúc xắc).', m2: 'Mốc 3–4: Chơi độc lập với nhiều loại đồ chơi khác nhau trong 2–3 phút mà không có hành vi rập khuôn.', m3: 'Mốc 5: Tự tìm kiếm đồ chơi và chơi đúng chức năng (đẩy xe, tháo lắp vòng) trong 5 phút.' }, { id: 6, lvl: 1, code: 'SOC-L1', name: '6. Hành vi Xã hội - Social Behavior (Level 1 • 0–18 tháng)', maxPts: 5, m1: 'Mốc 1–2: Giao tiếp mắt khi cần xin đồ và mỉm cười đáp lại khi người quen tương tác.', m2: 'Mốc 3–4: Nhìn theo hướng người lớn chỉ tay (Đáp ứng chú ý chung) và chú ý nhìn bạn khác chơi.', m3: 'Mốc 5: Tự nhiên nhìn mắt người lớn hoặc chỉ tay để khoe khi thấy điều thú vị (Khởi xướng chú ý chung).' }, { id: 7, lvl: 1, code: 'IMIT-L1', name: '7. Bắt chước Vận động - Motor Imitation (Level 1 • 0–18 tháng)', maxPts: 5, m1: 'Mốc 1–2: Bắt chước được 2–4 động tác vận động thô khi có gợi ý "Làm giống mẹ nào" (vỗ tay, giơ tay).', m2: 'Mốc 3–4: Bắt chước 8–10 thao tác vận động với đồ vật (gõ trống, đẩy xe, khuấy thìa).', m3: 'Mốc 5: Bắt chước chính xác 20 động tác vận động tinh và thô ngay lần làm mẫu đầu tiên.' }, { id: 8, lvl: 1, code: 'ECHO-L1', name: '8. Bắt chước Âm / Nhại âm - Echoic (Level 1 • 0–18 tháng)', maxPts: 5, m1: 'Mốc 1–2: Lặp lại được các nguyên âm đơn và âm tiết đơn giản (a, ba, ma, măm).', m2: 'Mốc 3–4: Lặp lại rõ ràng các từ đơn 1–2 âm tiết theo mẫu.', m3: 'Mốc 5: Nhại âm chính xác ít nhất 10–15 từ đơn và cụm từ 2 âm tiết (tương đương ≥ 15 điểm trên thang EESA).' }, { id: 9, lvl: 1, code: 'VOC-L1', name: '9. Phát âm Tự phát - Spontaneous Vocal (Level 1 • 0–18 tháng)', maxPts: 5, m1: 'Mốc 1–2: Thường xuyên phát ra các âm thanh bập bẹ đa dạng ngữ điệu khi chơi.', m2: 'Mốc 3–4: Phát ra các chuỗi âm thanh giống từ ngữ kèm nhìn người lớn.', m3: 'Mốc 5: Tự phát nói rõ ít nhất 10–15 từ đơn có nghĩa trong sinh hoạt hàng ngày.' }, // LEVEL 2 (18 - 30 THÁNG • 12 LĨNH VỰC • TỐI ĐA 60 ĐIỂM) { id: 10, lvl: 2, code: 'MAND-L2', name: '10. Yêu cầu - Mand (Level 2 • 18–30 tháng)', maxPts: 5, m1: 'Mốc 6–7: Yêu cầu 20 vật khác nhau (kể cả khi vật đó không có mặt ngay trước mắt) và yêu cầu hành động.', m2: 'Mốc 8–9: Yêu cầu bằng cụm 2–3 từ và bắt đầu biết hỏi để lấy thông tin ("Cái gì đây?", "Ở đâu?").', m3: 'Mốc 10: Tự phát đưa ra các yêu cầu mới linh hoạt trong ngày mà không cần huấn luyện trước.' }, { id: 11, lvl: 2, code: 'TACT-L2', name: '11. Định danh / Gọi tên - Tact (Level 2 • 18–30 tháng)', maxPts: 5, m1: 'Mốc 6–7: Gọi tên 25–50 đồ vật (kể cả qua tranh ảnh khái quát hóa).', m2: 'Mốc 8–9: Gọi tên được các hành động đang diễn ra (đang ăn, đang chạy, đang ngủ) và cụm Danh từ + Động từ.', m3: 'Mốc 10: Vốn từ gọi tên đạt ít nhất 150–200 từ (đồ vật, con vật, người, hành động).' }, { id: 12, lvl: 2, code: 'LR-L2', name: '12. Nghe hiểu - Listener Responding (Level 2 • 18–30 tháng)', maxPts: 5, m1: 'Mốc 6–7: Phân biệt và chọn đúng 40–50 đồ vật/tranh ảnh trong một mảng nhiều hình.', m2: 'Mốc 8–9: Thực hiện đúng 25 hành động theo lời nói và làm theo mệnh lệnh gồm 2 bước.', m3: 'Mốc 10: Nghe hiểu và nhận diện được tổng cộng trên 200 từ vựng (danh từ và động từ).' }, { id: 13, lvl: 2, code: 'VPMTS-L2', name: '13. Thị giác & Ghép mẫu - VP-MTS (Level 2 • 18–30 tháng)', maxPts: 5, m1: 'Mốc 6–7: Ghép vật 3D với tranh 2D không giống hệt hoàn toàn (khái quát hóa màu sắc/kích cỡ) trong mảng 8–10 hình.', m2: 'Mốc 8–9: Lắp ghép mô hình khối gỗ 3D theo mẫu và ghép tranh cắt rời 4–6 mảnh.', m3: 'Mốc 10: Phân loại các đồ vật khác nhau vào đúng nhóm danh mục (Đồ ăn, Con vật, Phương tiện) mà không cần mẫu.' }, { id: 14, lvl: 2, code: 'PLAY-L2', name: '14. Chơi Độc lập - Independent Play (Level 2 • 18–30 tháng)', maxPts: 5, m1: 'Mốc 6–7: Mang các đồ vật liên quan lại ghép đôi với nhau (đặt tách lên đĩa, đặt người lên xe) và lắp ghép đồ chơi.', m2: 'Mốc 8–9: Bắt đầu chơi giả vờ hướng tới đồ vật/búp bê (đút cho gấu ăn, lăn xe vào gara).', m3: 'Mốc 10: Tự chơi đóng vai giả vờ liên hoàn và tự dọn đồ chơi vào hộp khi kết thúc.' }, { id: 15, lvl: 2, code: 'SOC-L2', name: '15. Hành vi Xã hội & Chơi cùng bạn (Level 2 • 18–30 tháng)', maxPts: 5, m1: 'Mốc 6–7: Chủ động tiến lại gần bạn cùng tuổi và ngồi chơi song song cạnh bạn.', m2: 'Mốc 8–9: Biết dùng lời nói/cử chỉ xin đồ chơi từ bạn ("Cho tớ mượn") và theo dõi bạn chơi.', m3: 'Mốc 10: Tham gia chơi tương tác qua lại (lăn bóng, đuổi bắt, xếp hình chung) với bạn cùng tuổi.' }, { id: 16, lvl: 2, code: 'IMIT-L2', name: '16. Bắt chước Vận động (Level 2 • 18–30 tháng)', maxPts: 5, m1: 'Mốc 6–7: Bắt chước các cử động miệng – mặt và các thao tác vận động tinh phức tạp.', m2: 'Mốc 8–9: Bắt chước chuỗi hành động gồm 2 bước liên tiếp và bắt chước hành động của bạn cùng lớp.', m3: 'Mốc 10: Tự nhiên bắt chước các hành động chức năng mới trong sinh hoạt hàng ngày mà không cần nhắc.' }, { id: 17, lvl: 2, code: 'ECHO-L2', name: '17. Bắt chước Âm / Nhại âm - Echoic (Level 2 • 18–30 tháng)', maxPts: 5, m1: 'Mốc 6–7: Lặp lại rõ các từ có 2–3 âm tiết phức tạp.', m2: 'Mốc 8–9: Lặp lại đúng các cụm từ 3–4 từ kèm đúng ngữ điệu và trọng âm.', m3: 'Mốc 10: Đạt từ 50–60 điểm trở lên trên bài kiểm tra phát âm EESA.' }, { id: 18, lvl: 2, code: 'LRFFC-L2', name: '18. Nghe hiểu theo Chức năng, Đặc điểm, Phân loại - LRFFC (Level 2)', maxPts: 5, m1: 'Mốc 6–7: Chọn đúng con vật/đồ vật khi nghe tiếng kêu hoặc hành động đi kèm ("Con gì kêu gâu gâu?").', m2: 'Mốc 8–9: Chọn đúng vật trong tranh theo chức năng ("Con dùng cái gì để cắt giấy/để uống nước?") và đặc điểm ("Cái nào có bánh xe?").', m3: 'Mốc 10: Chọn đúng 25–50 vật khi được mô tả theo chức năng, đặc điểm hoặc danh mục phân loại.' }, { id: 19, lvl: 2, code: 'IV-L2', name: '19. Hội thoại & Liên tưởng từ - Intraverbal (Level 2 • 18–30 tháng)', maxPts: 5, m1: 'Mốc 6–7: Điền từ còn thiếu vào cuối câu hát quen thuộc hoặc câu nói bỏ lửng ("Chuẩn bị, một, hai... [ba!]").', m2: 'Mốc 8–9: Điền từ vào cụm từ quen thuộc ("Đánh răng rửa... [mặt]") và trả lời tên của bản thân.', m3: 'Mốc 10: Trả lời được ít nhất 25 câu hỏi "Cái gì?" đơn giản mà không cần nhìn tranh (VD: "Con ăn cái gì?").' }, { id: 20, lvl: 2, code: 'GROUP-L2', name: '20. Học trong Nhóm & Nội quy Lớp học (Level 2 • 18–30 tháng)', maxPts: 5, m1: 'Mốc 6–7: Ngồi yên tại bàn ăn/bàn học cùng nhóm 3–4 bạn trong 3–5 phút mà không bỏ chạy.', m2: 'Mốc 8–9: Cất đồ dùng cá nhân, xếp hàng chuyển tiếp hoạt động theo chỉ dẫn chung của giáo viên.', m3: 'Mốc 10: Ngồi học trong nhóm nhỏ 10 phút và giơ tay/trả lời được câu hỏi chung của cô giáo.' }, { id: 21, lvl: 2, code: 'LING-L2', name: '21. Cấu trúc Ngôn ngữ & Ngữ pháp (Level 2 • 18–30 tháng)', maxPts: 5, m1: 'Mốc 6–7: Phát âm từ đơn đủ rõ để người lạ hiểu được ít nhất 50% lời trẻ nói.', m2: 'Mốc 8–9: Vốn từ vựng diễn đạt đạt trên 100 từ và kết hợp được câu ngắn 2–3 từ.', m3: 'Mốc 10: Biết dùng từ phủ định ("Không phải..."), từ sở hữu ("Của con") và điều chỉnh âm lượng giọng nói.' }, // LEVEL 3 (30 - 48 THÁNG • 13 LĨNH VỰC • TỐI ĐA 65 ĐIỂM) { id: 22, lvl: 3, code: 'MAND-L3', name: '22. Yêu cầu Nâng cao - Mand (Level 3 • 30–48 tháng)', maxPts: 5, m1: 'Mốc 11–12: Thường xuyên đặt câu hỏi "Tại sao?", "Khi nào?", "Ai?" để tìm kiếm thông tin mới.', m2: 'Mốc 13–14: Yêu cầu người khác chú ý nghe mình kể chuyện hoặc nhờ giải quyết vấn đề phức tạp.', m3: 'Mốc 15: Đưa ra chỉ dẫn cho bạn cùng chơi và yêu cầu bằng câu đầy đủ kèm tính từ/giới từ.' }, { id: 23, lvl: 3, code: 'TACT-L3', name: '23. Định danh Mở rộng - Tact (Level 3 • 30–48 tháng)', maxPts: 5, m1: 'Mốc 11–12: Gọi tên chính xác màu sắc, hình dạng, tính từ đối lập (to/nhỏ, nóng/lạnh, ướt/khô) và giới từ.', m2: 'Mốc 13–14: Mô tả sự việc bằng câu hoàn chỉnh từ 4 từ trở lên và gọi tên cảm xúc của người khác.', m3: 'Mốc 15: Vốn từ định danh đạt từ 750 – 1000 từ thuộc mọi phạm trù đời sống.' }, { id: 24, lvl: 3, code: 'LR-L3', name: '24. Nghe hiểu Phức hợp - Listener Responding (Level 3 • 30–48 tháng)', maxPts: 5, m1: 'Mốc 11–12: Phân biệt giới từ (trên/dưới/bên cạnh), đại từ (anh ấy/cô ấy) và tính từ khi nghe yêu cầu.', m2: 'Mốc 13–14: Thực hiện chỉ dẫn phức hợp gồm 3 bước liên tiếp.', m3: 'Mốc 15: Vốn từ nghe hiểu đạt trên 1200 từ.' }, { id: 25, lvl: 3, code: 'VPMTS-L3', name: '25. Thị giác & Tư duy Khuôn mẫu (Level 3 • 30–48 tháng)', maxPts: 5, m1: 'Mốc 11–12: Ghép nối các vật có liên quan chức năng với nhau (bàn chải đi với kem đánh răng) và xếp hình 10 mảnh.', m2: 'Mốc 13–14: Dựng mô hình phức tạp từ 8–10 chi tiết và phân loại theo nhiều tiêu chí.', m3: 'Mốc 15: Hoàn thành chuỗi quy luật logic (A-B-A-B) và sắp xếp tranh theo trình tự thời gian 3–4 bước.' }, { id: 26, lvl: 3, code: 'PLAY-L3', name: '26. Chơi Đóng vai & Thủ công (Level 3 • 30–48 tháng)', maxPts: 5, m1: 'Mốc 11–12: Tự dựng kịch bản chơi đóng vai tưởng tượng (làm bác sĩ khám bệnh, nấu ăn mời khách).', m2: 'Mốc 13–14: Thực hiện các hoạt động nghệ thuật/thủ công (vẽ hình, tô màu, cắt dán, nặn đất sét).', m3: 'Mốc 15: Tự chơi độc lập có mục đích trong 10–15 phút mà không cần người lớn nhắc nhở.' }, { id: 27, lvl: 3, code: 'SOC-L3', name: '27. Tương tác Bạn bè & Chơi hợp tác (Level 3 • 30–48 tháng)', maxPts: 5, m1: 'Mốc 11–12: Tự nguyện hợp tác chia sẻ đồ chơi và chơi đóng vai cùng với bạn đồng trang lứa.', m2: 'Mốc 13–14: Trò chuyện qua lại 2–3 lượt với bạn cùng tuổi và nhận diện được cảm xúc vui/buồn của bạn.', m3: 'Mốc 15: Tham gia trò chơi tập thể có luật lệ (trốn tìm, cờ cá ngựa) và biết chờ đến lượt mà không cáu giận.' }, { id: 28, lvl: 3, code: 'LRFFC-L3', name: '28. Nghe hiểu Mô tả Phức tạp - LRFFC (Level 3 • 30–48 tháng)', maxPts: 5, m1: 'Mốc 11–12: Chọn đúng hình khi câu hỏi có chứa từ phủ định ("Cái nào KHÔNG phải là đồ ăn?").', m2: 'Mốc 13–14: Chọn đúng vật khi câu hỏi kết hợp 2–3 đặc điểm ("Con vật nào có 4 chân, sống ở nông trại và cho sữa?").', m3: 'Mốc 15: Trả lời đúng các câu hỏi phân loại Wh- đa dạng dựa trên tranh bối cảnh phức tạp.' }, { id: 29, lvl: 3, code: 'IV-L3', name: '29. Hội thoại & Kể chuyện - Intraverbal (Level 3 • 30–48 tháng)', maxPts: 5, m1: 'Mốc 11–12: Kể tên được các thành viên trong một nhóm danh mục ("Kể cho cô nghe tên các con vật/các loại quả").', m2: 'Mốc 13–14: Trả lời đúng các câu hỏi "Ở đâu?", "Khi nào?", "Ai?", "Làm thế nào?" và kể lại chuyện vừa nghe.', m3: 'Mốc 15: Mô tả lại một sự kiện đã xảy ra trong quá khứ và duy trì cuộc hội thoại 3–4 lượt về một chủ đề.' }, { id: 30, lvl: 3, code: 'GROUP-L3', name: '30. Kỹ năng Học Tập thể Lớp lớn (Level 3 • 30–48 tháng)', maxPts: 5, m1: 'Mốc 11–12: Tự đi vệ sinh, rửa tay và chuẩn bị đồ dùng học tập theo hiệu lệnh chung của lớp.', m2: 'Mốc 13–14: Ngồi học nghiêm túc trong nhóm 5–10 học sinh suốt 15–20 phút và làm bài tập độc lập.', m3: 'Mốc 15: Học được kiến thức mới thông qua việc nghe cô giáo giảng bài chung cho cả lớp.' }, { id: 31, lvl: 3, code: 'LING-L3', name: '31. Ngữ pháp & Câu phức (Level 3 • 30–48 tháng)', maxPts: 5, m1: 'Mốc 11–12: Sử dụng đúng các từ chỉ số nhiều, sở hữu và liên từ ("và", "nhưng", "bởi vì").', m2: 'Mốc 13–14: Nói đúng các từ chỉ thời gian quá khứ ("đã... rồi") và tương lai ("sẽ...").', m3: 'Mốc 15: Nói câu dài 4–5 từ chuẩn ngữ pháp với độ dài phát ngôn trung bình (MLU) đạt mức 4.0.' }, { id: 32, lvl: 3, code: 'READ-L3', name: '32. Tiền Đọc & Nhận biết Chữ - Reading (Level 3 • 30–48 tháng)', maxPts: 5, m1: 'Mốc 11–12: Chú ý nghe đọc sách truyện, ghép chữ cái giống nhau và chỉ đúng ít nhất 10 chữ cái.', m2: 'Mốc 13–14: Đọc to đúng tên 20 chữ cái và nhận biết được tên của chính mình trên thẻ chữ.', m3: 'Mốc 15: Ghép được 5 từ đơn giản (như "cá", "bò", "mẹ") với bức tranh tương ứng.' }, { id: 33, lvl: 3, code: 'WRIT-L3', name: '33. Tiền Viết & Đồ nét - Writing (Level 3 • 30–48 tháng)', maxPts: 5, m1: 'Mốc 11–12: Cầm bút bằng 3 ngón tay, vẽ đồ theo các đường thẳng, đường cong và tô màu trong khung.', m2: 'Mốc 13–14: Sao chép lại 5 hình học cơ bản (tròn, vuông, chữ thập, tam giác) và đồ theo nét chữ cái.', m3: 'Mốc 15: Tự viết được tên của bản thân mà không cần nhìn mẫu.' }, { id: 34, lvl: 3, code: 'MATH-L3', name: '34. Toán học Sớm - Math (Level 3 • 30–48 tháng)', maxPts: 5, m1: 'Mốc 11–12: Đếm vẹt từ 1 đến 10 và đếm lấy đúng số lượng từ 1 đến 5 đồ vật.', m2: 'Mốc 13–14: Nhận biết các chữ số từ 1 đến 10 và so sánh khái niệm toán học (nhiều hơn/ít hơn, dài/ngắn).', m3: 'Mốc 15: Ghép đúng thẻ chữ số (1–10) với số lượng đồ vật tương ứng.' } ]; // ========================================================= // 2. DỮ LIỆU 24 RÀO CẢN HỌC TẬP & NGÔN NGỮ (BARRIERS ASSESSMENT) // Chấm từ 0 (Không có rào cản) đến 4 (Rào cản rất nghiêm trọng) -> Tổng 0 - 96 điểm // ========================================================= const barriersList = [ { id: 1, name: '1. Hành vi tiêu cực / Chống đối (Negative Behavior)', desc: 'Khóc lóc, la hét, ăn vạ, ném đồ hoặc đánh/cắn khi được yêu cầu học tập hoặc khi bị từ chối.' }, { id: 2, name: '2. Kiểm soát hướng dẫn kém (Poor Instructional Control)', desc: 'Bỏ chạy khỏi bàn học, lờ đi lời cô giáo/bố mẹ, chỉ chịu hợp tác khi được chiều theo ý mình.' }, { id: 3, name: '3. Yêu cầu (Mand) yếu, vắng bóng hoặc sai lệch', desc: 'Không biết cách xin thứ mình muốn bằng lời/cử chỉ hoặc dùng hành vi khóc hét để đòi hỏi.' }, { id: 4, name: '4. Định danh / Gọi tên (Tact) yếu hoặc sai lệch', desc: 'Vốn từ gọi tên hạn chế, hay đoán mò hoặc không gọi tên được đồ vật dù biết nói nhại lại.' }, { id: 5, name: '5. Bắt chước vận động (Motor Imitation) yếu hoặc sai lệch', desc: 'Khó quan sát và bắt chước thao tác mẫu của người dạy, hoặc bắt chước máy móc không hiểu mục đích.' }, { id: 6, name: '6. Bắt chước âm / Nhại lời (Echoic) yếu hoặc Nhại lời máy móc', desc: 'Không lặp lại được âm thanh mẫu HOẶC ngược lại là nhại lại nguyên xi câu hỏi một cách vô nghĩa (Echolalia).' }, { id: 7, name: '7. Kỹ năng Tri giác thị giác & Ghép mẫu (VP-MTS) yếu', desc: 'Khó khăn khi quét mắt tìm hình, ghép hình hoặc chỉ ghép được khi đồ vật giống hệt mẫu 100%.' }, { id: 8, name: '8. Kỹ năng Nghe hiểu (Listener) yếu hoặc phụ thuộc ngữ cảnh', desc: 'Chậm hiểu lời nói, phải nhìn tay chỉ hoặc đoán ý chứ không thực sự phân biệt từng từ trong câu.' }, { id: 9, name: '9. Hội thoại & Liên tưởng từ (Intraverbal) yếu hoặc học vẹt', desc: 'Không trả lời được câu hỏi hội thoại hoặc chỉ trả lời rập khuôn một câu thuộc lòng duy nhất.' }, { id: 10, name: '10. Kỹ năng Xã hội (Social Skills) yếu hoặc suy giảm', desc: 'Thờ ơ với bạn cùng tuổi, không biết chia sẻ đồ chơi hay tham gia tương tác hai chiều.' }, { id: 11, name: '11. Phụ thuộc vào sự gợi ý (Prompt Dependency)', desc: 'Trẻ biết làm nhưng cứ ngồi chờ người lớn phải nhắc mớm âm đầu hoặc cầm tay chỉ việc mới chịu làm.' }, { id: 12, name: '12. Đoán mò câu trả lời (Scrolling Responses)', desc: 'Khi được hỏi hoặc yêu cầu, trẻ tung ra một loạt từ/cử chỉ liên tiếp để thử vận may xem cái nào trúng.' }, { id: 13, name: '13. Kỹ năng Quét thị giác kém (Impaired Scanning)', desc: 'Không nhìn bao quát hết các bức tranh trên bàn trước khi chọn, chỉ lấy đại tấm thẻ nằm gần tay nhất.' }, { id: 14, name: '14. Thất bại trong Phân biệt có điều kiện (Conditional Discrimination)', desc: 'Bị rối loạn khi câu lệnh có từ 2 thông tin trở lên (VD: lấy "bút đỏ" giữa bút xanh, kéo đỏ).' }, { id: 15, name: '15. Thất bại trong Khái quát hóa (Failure to Generalize)', desc: 'Chỉ làm được bài tập trên đúng bộ thẻ ở bàn học với cô giáo, ra ngoài đời thật hoặc đổi người hỏi thì không biết.' }, { id: 16, name: '16. Động lực học tập yếu hoặc khác thường (Weak/Atypical MO)', desc: 'Rất ít thứ có thể thu hút trẻ làm phần thưởng, hoặc trẻ nhanh chán phần thưởng chỉ sau vài phút.' }, { id: 17, name: '17. Đòi hỏi phần thưởng lập tức làm mất động lực (Response Cost Weakens MO)', desc: 'Nếu bài tập hơi khó hoặc phải làm 2–3 yêu cầu mới được thưởng là trẻ bỏ cuộc ngay.' }, { id: 18, name: '18. Phụ thuộc vào phần thưởng hữu hình (Reinforcer Dependency)', desc: 'Chỉ chịu làm việc khi nhìn thấy bánh kẹo/đồ chơi cầm sẵn trên tay người lớn, không làm vì lời khen xã hội.' }, { id: 19, name: '19. Hành vi tự kích thích giác quan (Self-Stimulation)', desc: 'Vẫy tay, nhìn nghiêng, xoay đồ vật, phát âm thanh lạ liên tục làm lấn át việc chú ý học tập.' }, { id: 20, name: '20. Khó khăn về Phát âm / Khẩu hình (Articulation Problems)', desc: 'Phát âm ngọng, mất âm hoặc rối loạn vận động lời nói khiến người nghe rất khó hiểu trẻ nói gì.' }, { id: 21, name: '21. Hành vi Ám ảnh – Cưỡng chế & Nghi thức cứng nhắc (Obsessive-Compulsive)', desc: 'Khăng khăng xếp hàng đồ vật, giữ thói quen cố định và phản ứng dữ dội nếu bị thay đổi.' }, { id: 22, name: '22. Tăng động & Giảm chú ý (Hyperactive Behavior)', desc: 'Luôn chân luôn tay, bồn chồn không ngồi yên được quá vài chục giây, rất dễ xao nhãng.' }, { id: 23, name: '23. Thất bại trong Giao tiếp mắt & Chú ý khuôn mặt (Failure to Make Eye Contact)', desc: 'Né tránh nhìn mặt người đối diện, bỏ lỡ các tín hiệu biểu cảm và khẩu hình của người dạy.' }, { id: 24, name: '24. Rối loạn Phòng vệ Giác quan (Sensory Defensiveness)', desc: 'Quá nhạy cảm với tiếng ồn (bịt tai), ánh sáng, mùi vị hoặc cảm giác chạm làm gián đoạn buổi học.' } ]; // ========================================================= // 3. DỮ LIỆU 18 TIÊU CHÍ ĐÁNH GIÁ CHUYỂN TIẾP HÒA NHẬP (TRANSITION ASSESSMENT) // Chấm từ 1 đến 5 điểm -> Tổng 18 đến 90 điểm // ========================================================= const transitionList = [ { id: 1, cat: 'Năng lực VB-MAPP cốt lõi', name: '1. Tổng điểm Mốc phát triển VB-MAPP (Milestones Score)', desc: '1đ: ≤25 điểm | 2đ: 26–50 điểm | 3đ: 51–99 điểm | 4đ: 100–134 điểm | 5đ: ≥135/170 điểm.' }, { id: 2, cat: 'Năng lực VB-MAPP cốt lõi', name: '2. Tổng điểm Rào cản học tập (Barriers Score)', desc: '1đ: >40 điểm rào cản | 2đ: 25–40đ | 3đ: 15–24đ | 4đ: 6–14đ | 5đ: 0–5 điểm rào cản.' }, { id: 3, cat: 'Năng lực VB-MAPP cốt lõi', name: '3. Hành vi tiêu cực & Kiểm soát hướng dẫn', desc: 'Mức độ hợp tác của trẻ mà không có hành vi ăn vạ, chống đối hay bỏ chạy khỏi lớp.' }, { id: 4, cat: 'Năng lực VB-MAPP cốt lõi', name: '4. Nội quy lớp học & Kỹ năng học trong nhóm', desc: 'Khả năng ngồi học cùng tập thể, xếp hàng, giơ tay và làm theo hiệu lệnh chung của giáo viên.' }, { id: 5, cat: 'Năng lực VB-MAPP cốt lõi', name: '5. Hành vi xã hội & Chơi cùng bạn đồng trang lứa', desc: 'Khả năng tương tác, chia sẻ và tham gia chơi hợp tác với các bạn cùng lớp.' }, { id: 6, cat: 'Năng lực VB-MAPP cốt lõi', name: '6. Mức độ độc lập trong làm việc học thuật', desc: 'Khả năng tự hoàn thành phiếu bài tập hoặc nhiệm vụ được giao mà không cần người ngồi kèm sát 1:1.' }, { id: 7, cat: 'Khả năng học tập tự nhiên', name: '7. Khái quát hóa kỹ năng sang môi trường mới', desc: 'Áp dụng được kiến thức đã học sang lớp học mới, giáo viên mới và học liệu mới.' }, { id: 8, cat: 'Khả năng học tập tự nhiên', name: '8. Độ rộng của các yếu tố củng cố / Động lực xã hội', desc: 'Trẻ biết cố gắng học tập vì lời khen, ngôi sao thi đua và niềm vui khám phá (không cần bánh kẹo).' }, { id: 9, cat: 'Khả năng học tập tự nhiên', name: '9. Tốc độ tiếp thu kỹ năng mới (Rate of Skill Acquisition)', desc: 'Số lần lặp lại cần thiết để trẻ nắm vững một kiến thức mới (5đ = hiểu ngay sau 1–3 lần hướng dẫn).' }, { id: 10, cat: 'Khả năng học tập tự nhiên', name: '10. Duy trì kỹ năng đã học qua thời gian (Retention)', desc: 'Nhớ lâu các bài đã học sau nhiều tuần mà không cần phải ôn đi ôn lại liên tục.' }, { id: 11, cat: 'Khả năng học tập tự nhiên', name: '11. Học tự nhiên từ môi trường &Quan sát bạn bè', desc: 'Tự học được từ mới và quy tắc mới chỉ bằng cách quan sát các bạn xung quanh làm.' }, { id: 12, cat: 'Khả năng học tập tự nhiên', name: '12. Khả năng thích ứng khi thay đổi lịch trình', desc: 'Bình tĩnh chấp nhận khi lớp học đổi giờ học, đổi chỗ ngồi hoặc có giáo viên dạy thay.' }, { id: 13, cat: 'Tự phục vụ & Tự chủ', name: '13. Các hành vi tự kích thích (Self-Stimulation)', desc: 'Mức độ kiểm soát không để các hành vi vẫy tay, lẩm bẩm gây chú ý hoặc cản trở giờ học chung.' }, { id: 14, cat: 'Tự phục vụ & Tự chủ', name: '14. Các hành vi rập khuôn & Sở thích thu hẹp', desc: 'Mức độ linh hoạt, không bị cuốn vào một chủ đề/đồ vật duy nhất trong lớp.' }, { id: 15, cat: 'Tự phục vụ & Tự chủ', name: '15. Kỹ năng tự làm việc và giải trí trong giờ ra chơi', desc: 'Biết tự chơi lành mạnh, đọc sách hoặc giao lưu với bạn trong giờ giải lao không cấu trúc.' }, { id: 16, cat: 'Tự phục vụ & Tự chủ', name: '16. Kỹ năng tự phục vụ cá nhân (Ăn uống, Mặc đồ, Vệ sinh)', desc: 'Tự xúc ăn gọn gàng, tự mặc áo khoác, mang giày dép và rửa tay.' }, { id: 17, cat: 'Tự phục vụ & Tự chủ', name: '17. Kỹ năng tự đi vệ sinh (Toileting Skills)', desc: 'Hoàn toàn kiểm soát việc đi vệ sinh độc lập và biết xin phép giáo viên khi cần.' }, { id: 18, cat: 'Tự phục vụ & Tự chủ', name: '18. Kỹ năng ăn uống tại trường (Bữa trưa tập thể)', desc: 'Ngồi ăn cùng bàn với các bạn, ăn đa dạng món ăn của trường mà không kén ăn cực đoan.' } ]; let activeTab = 'milestones'; // 'milestones' | 'barriers' | 'transition' let filterLvl = 'all'; // 'all' | '1' | '2' | '3' let mScores = {}; // Lưu điểm từng cụm mốc: 0, 2.5 (Đang hình thành), 5.0 (Hoàn thành cả 5 mốc) let bScores = {}; // Lưu 0..4 cho 24 rào cản let tScores = {}; // Lưu 1..5 cho 18 tiêu chí chuyển tiếp let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .vb-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .vb-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .vb-inner { padding: 24px; max-width: 960px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .vb-wrap.is-fullscreen .vb-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .vb-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 0 rgba(37, 99, 235, 0.4); } 70% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 10px rgba(37, 99, 235, 0); } 100% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 0 rgba(37, 99, 235, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #1d4ed8 0%, #2563eb 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Bộ chuyển đổi 3 Bảng VB-MAPP */ .vb-switcher { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; background: #f1f5f9; padding: 8px; border-radius: 12px; margin-bottom: 18px; } .vb-tab-btn { padding: 10px 12px; border-radius: 9px; border: 1.5px solid transparent; background: transparent; cursor: pointer; text-align: left; transition: all 0.2s ease; touch-action: manipulation; } .vb-tab-btn.active { background: #ffffff; border-color: #2563eb; box-shadow: 0 2px 8px rgba(15, 23, 42, 0.08); } .vb-tab-title { font-size: 13.8px; font-weight: 800; color: #0f172a; display: block; } .vb-tab-btn.active .vb-tab-title { color: #2563eb; } .vb-tab-sub { font-size: 11.5px; color: #64748b; margin-top: 2px; display: block; } /* Header */ .vb-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .vb-header-text { flex: 1 1 260px; } .vb-title { font-size: 20px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .vb-desc { font-size: 13.8px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #eff6ff; color: #1d4ed8; border: 1px solid #bfdbfe; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #2563eb; color: #ffffff; border-color: #2563eb; } /* Controls */ .vb-controls { display: flex; flex-direction: column; gap: 10px; margin-bottom: 18px; } .vb-presets { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; } .vb-preset-lbl { font-size: 12.5px; font-weight: 700; color: #475569; margin-right: 4px; } .vb-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; touch-action: manipulation; } .vb-pbtn:hover { background: #f1f5f9; } .vb-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } .vb-lvl-tabs { display: flex; flex-wrap: wrap; gap: 6px; } .vb-ltab { padding: 6px 12px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .vb-ltab.active { background: #2563eb; color: #ffffff; border-color: #2563eb; } /* Sticky Dashboard */ .vb-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .vb-wrap.is-fullscreen .vb-dash { top: 58px; } .vb-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .vb-score-big { font-size: 22px; font-weight: 800; line-height: 1.15; } .vb-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .vb-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .vb-pillars { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; font-size: 12px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .vb-pillar-box { background: #1e293b; padding: 7px 10px; border-radius: 8px; } .vb-pillar-val { font-weight: 700; color: #ffffff; font-size: 13.5px; display: block; margin-top: 2px; } /* Danh sách mục đánh giá */ .vb-item { border: 1px solid #e2e8f0; border-radius: 12px; padding: 14px 16px; margin-bottom: 12px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 8px; } .vb-item.mastered { border-color: #a7f3d0; background: #f0fdf4; } .vb-item.emerging { border-color: #fde68a; background: #fffbeb; } .vb-item.severe-barrier { border-color: #fca5a5; background: #fff5f5; } .vb-item-title { font-size: 15px; font-weight: 800; color: #0f172a; } .vb-item-desc { font-size: 13.2px; color: #334155; line-height: 1.5; } .vb-tags { display: flex; flex-wrap: wrap; gap: 6px; } .vb-tag { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .vb-tag.lvl1 { background: #fef3c7; color: #b45309; } .vb-tag.lvl2 { background: #dbeafe; color: #1d4ed8; } .vb-tag.lvl3 { background: #dcfce7; color: #15803d; } .vb-ans-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; margin-top: 4px; } .vb-abtn { padding: 8px 6px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 700; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .vb-abtn:hover { border-color: #64748b; } .vb-abtn.sel-green { background: #10b981; border-color: #10b981; color: #ffffff; } .vb-abtn.sel-blue { background: #3b82f6; border-color: #3b82f6; color: #ffffff; } .vb-abtn.sel-amber { background: #f59e0b; border-color: #f59e0b; color: #ffffff; } .vb-abtn.sel-red { background: #ef4444; border-color: #ef4444; color: #ffffff; } /* Hộp trích xuất IEP & Kết luận */ .vb-iep-box { margin-top: 18px; padding: 16px 18px; border-radius: 12px; background: #fffbeb; border: 1px solid #fde68a; border-left: 5px solid #f59e0b; font-size: 13.8px; color: #78350f; } .vb-iep-title { font-size: 15px; font-weight: 800; color: #92400e; margin-bottom: 8px; } .vb-result-box { margin-top: 16px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #2563eb; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 720px) { .vb-inner { padding: 14px; } .vb-switcher { grid-template-columns: 1fr; } .vb-title { font-size: 18px; } .vb-pillars { grid-template-columns: 1fr 1fr; } .vb-ans-grid { grid-template-columns: 1fr 1fr; } .vb-pbtn.reset { margin-left: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
Phần 1: Đánh Giá 170 Mốc Phát Triển Ngôn Ngữ & Học Tập VB-MAPP (Level 1, 2, 3)
Mỗi lĩnh vực trong mỗi Cấp độ gồm 5 mốc chuẩn (Tối đa 5.0 điểm/lĩnh vực). Hãy chọn điểm số tương ứng với số mốc bé đã đạt được trong lĩnh vực đó (từ 0.0 đến 5.0 điểm). Các lĩnh vực đang đạt dở dang (1.0 – 3.5 điểm) sẽ được tự động trích xuất làm Mục tiêu IEP ưu tiên.
`; } else if (activeTab === 'barriers') { lvlTabs.style.display = 'none'; headerInfo.innerHTML = `Phần 2: Đánh Giá 24 Rào Cản Học Tập & Tiếp Thu Ngôn Ngữ (Barriers Assessment • 0 – 96 Điểm)
Chấm mức độ từ 0 (Không có rào cản) đến 4 (Rào cản rất nghiêm trọng) cho 24 yếu tố cản trở việc học. Mọi rào cản từ mức 3 – 4 điểm cần được ưu tiên xây dựng kế hoạch can thiệp hành vi (BIP) trước khi nhồi nhét kiến thức mới.
`; } else { lvlTabs.style.display = 'none'; headerInfo.innerHTML = `Phần 3: Đánh Giá 18 Tiêu Chí Chuyển Tiếp Hòa Nhập (Transition Assessment • 18 – 90 Điểm)
Chấm từ 1 điểm (Chưa sẵn sàng) đến 5 điểm (Độc lập hoàn toàn) cho 18 tiêu chí để xác định xem trẻ nên tiếp tục can thiệp 1-kèm-1 chuyên sâu hay đã đủ điều kiện học nhóm / ra trường mẫu giáo, tiểu học hòa nhập.
`; } } function renderItems() { itemList.innerHTML = ''; if (activeTab === 'milestones') { const mOptions = [ { val: 0, lbl: '0.0đ (Chưa đạt mốc nào)' }, { val: 1.5, lbl: '1.5đ (Đạt mốc 1–2 ★ IEP)' }, { val: 2.5, lbl: '2.5đ (Đạt nửa chừng ★ IEP)' }, { val: 3.5, lbl: '3.5đ (Đạt mốc 3–4 ★ IEP)' }, { val: 5.0, lbl: '5.0đ (Hoàn thành đủ 5 mốc)' } ]; milestoneDomains.forEach(function(d) { if (filterLvl !== 'all' && String(d.lvl) !== filterLvl) return; const uVal = (mScores[d.id] !== undefined) ? mScores[d.id] : 0; let rowCls = 'vb-item'; if (uVal === 5.0) rowCls += ' mastered'; else if (uVal > 0) rowCls += ' emerging'; const lvlBadge = `Level ${d.lvl} (${d.lvl === 1 ? '0–18 tháng' : (d.lvl === 2 ? '18–30 tháng' : '30–48 tháng')})`; const btnsHtml = mOptions.map(opt => { let cls = 'vb-abtn'; if (uVal === opt.val) { if (opt.val === 5.0) cls += ' sel-green'; else if (opt.val > 0) cls += ' sel-amber'; else cls += ' sel-red'; } return ``; }).join(''); const el = document.createElement('div'); el.className = rowCls; el.innerHTML = `• ${d.m2}
• ${d.m3}
'); const barLines = severeBarriers.slice(0, 5).map(b => `• ⚠️ ${b.name}: Mức ${bScores[b.id]}/4đ — Cần can thiệp giảm thiểu.`).join('
'); iepBox.innerHTML = `
${iepLines || '• Hãy chọn mức điểm 1.5 – 3.5đ ở Tab Mốc phát triển để trích xuất mục tiêu IEP.'}
${barLines || '• Không có rào cản nào ở mức nghiêm trọng (≥ 3 điểm).'}
• Hồ sơ Mốc phát triển (Milestones): Đạt ${totalM.toFixed(1)} / 170.0 điểm (Level 1: ${sL1.toFixed(1)}/45đ • Level 2: ${sL2.toFixed(1)}/60đ • Level 3: ${sL3.toFixed(1)}/65đ).
• Hồ sơ Rào cản học tập (Barriers): Tổng điểm rào cản là ${totalB} / 96 điểm ${totalB <= 15 ? '(Rào cản thấp, thuận lợi cho việc tiếp thu kỹ năng mới)' : (totalB <= 35 ? '(Rào cản mức trung bình, cần kiểm soát sự phụ thuộc gợi ý và duy trì động lực MO)' : '(Rào cản cao, bắt buộc phải ưu tiên thiết lập kiểm soát hướng dẫn và giảm hành vi cản trở)')}.
• Đánh giá Chuyển tiếp Hòa nhập (Transition): Đạt ${totalT} / 90 điểm — ${transVerdict} `; updateFloatingFabVisibility(); } function applyPreset(type) { mScores = {}; bScores = {}; tScores = {}; if (type === 'reset') { milestoneDomains.forEach(d => { mScores[d.id] = 0; }); barriersList.forEach(b => { bScores[b.id] = 0; }); transitionList.forEach(t => { tScores[t.id] = 1; }); renderItems(); updateSummary(); return; } if (type === 'lvl1') { // Học sinh Level 1 (~32/170đ, Rào cản ~42/96, Chuyển tiếp ~28/90) milestoneDomains.forEach(d => { if (d.lvl === 1) mScores[d.id] = (d.id % 2 === 0) ? 3.5 : 2.5; else if (d.lvl === 2) mScores[d.id] = (d.id { bScores[b.id] = (idx % 3 === 0) ? 3 : ((idx % 2 === 0) ? 2 : 1); }); transitionList.forEach((t, idx) => { tScores[t.id] = (idx % 2 === 0) ? 2 : 1; }); } else if (type === 'lvl2') { // Học sinh Level 2 (~85/170đ, Rào cản ~22/96, Chuyển tiếp ~52/90) milestoneDomains.forEach(d => { if (d.lvl === 1) mScores[d.id] = 5.0; else if (d.lvl === 2) mScores[d.id] = (d.id % 2 === 0) ? 3.5 : 2.5; else mScores[d.id] = (d.id { bScores[b.id] = (idx % 4 === 0) ? 2 : ((idx % 2 === 0) ? 1 : 0); }); transitionList.forEach((t, idx) => { tScores[t.id] = (idx % 2 === 0) ? 3 : 3; }); } else if (type === 'lvl3') { // Học sinh Level 3 sẵn sàng hòa nhập (~142/170đ, Rào cản ~10/96, Chuyển tiếp ~74/90) milestoneDomains.forEach(d => { if (d.lvl === 1 || d.lvl === 2) mScores[d.id] = 5.0; else mScores[d.id] = (d.id % 2 === 0) ? 3.5 : 2.5; }); barriersList.forEach((b, idx) => { bScores[b.id] = (idx % 3 === 0) ? 1 : 0; }); transitionList.forEach((t, idx) => { tScores[t.id] = (idx % 2 === 0) ? 4 : 4; }); } renderItems(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); vbWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { vbWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 960px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } shadow.querySelectorAll('#tabSwitcher .vb-tab-btn').forEach(function(btn) { btn.onclick = function() { activeTab = this.getAttribute('data-tab'); shadow.querySelectorAll('#tabSwitcher .vb-tab-btn').forEach(b => b.classList.remove('active')); this.classList.add('active'); renderHeader(); renderItems(); }; }); shadow.querySelectorAll('.vb-pbtn').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-preset')); }; }); shadow.querySelectorAll('#lvlTabs .vb-ltab').forEach(function(tab) { tab.onclick = function() { filterLvl = this.getAttribute('data-lvl'); shadow.querySelectorAll('#lvlTabs .vb-ltab').forEach(t => t.classList.remove('active')); this.classList.add('active'); renderItems(); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); renderHeader(); applyPreset('lvl2'); })();
VB-MAPP (Verbal Behavior Milestones Assessment and Placement Program — Chương trình Đánh giá Mốc Phát triển và Xếp lớp Hành vi Ngôn ngữ) là công cụ đánh giá năng lực ngôn ngữ, học tập và xã hội phổ biến nhất thế giới trong lĩnh vực Phân tích Hành vi Ứng dụng (ABA). Công cụ được Tiến sĩ Mark L. Sundberg xuất bản năm 2008, xây dựng trực tiếp trên nền tảng lý thuyết Hành vi Ngôn ngữ (Verbal Behavior – 1957) của B.F. Skinner.
Nếu như PEP-3 là “xương sống” để lên kế hoạch giáo dục theo phương pháp TEACCH, thì VB-MAPP chính là “kim chỉ nam” của mọi trung tâm can thiệp ABA / VB: không dùng để dán nhãn chẩn đoán tự kỷ, mà dùng để đo chính xác trẻ đang ở mốc phát triển ngôn ngữ nào, điều gì đang cản trở việc học của trẻ, và trẻ đã đủ điều kiện để ra học hòa nhập hay chưa.
1. Tóm tắt cốt lõi về cấu trúc 5 Thành phần của VB-MAPP
| Thành phần đánh giá | Quy mô & Thang điểm | Nội dung và Mục đích lâm sàng cốt lõi |
| 1. Đánh giá Mốc phát triển(Milestones Assessment) |
170 mốcchia làm 3 Cấp độ (0 – 170 điểm):
• Level 1 (0–18 tháng): 9 lĩnh vực (45 điểm)
• Level 2 (18–30 tháng): 12 lĩnh vực (60 điểm)
• Level 3 (30–48 tháng): 13 lĩnh vực (65 điểm) |
Đo lường 16 lĩnh vực kỹ năng (Yêu cầu – Mand, Gọi tên – Tact, Nghe hiểu – Listener, Thị giác/Ghép mẫu – VP-MTS, Chơi độc lập, Xã hội, Bắt chước, Nhại âm – Echoic, Hội thoại – Intraverbal, Học nhóm, Ngữ pháp, Đọc, Viết, Toán). Mỗi mốc chấm 0 – 0.5 – 1.0 điểm. |
| 2. Đánh giá Rào cản(Barriers Assessment) |
24 rào cảnhọc tập & ngôn ngữ
Chấm từ |
Tìm ra nguyên nhân khiến trẻ không tiến bộ dù được dạy (VD: Hành vi chống đối, Phụ thuộc gợi ý, Tự kích thích giác quan, Nhại lời máy móc, Thiếu động lực/MO, Giao tiếp mắt kém…). Điểm càng cao rào cản càng nặng. |
| 3. Đánh giá Chuyển tiếp(Transition Assessment) |
18 tiêu chísẵn sàng hòa nhập
Chấm từ |
Xác định xem trẻ đã đủ kỹ năng tự lập, học trong nhóm đông, thích ứng thay đổi để chuyển từ can thiệp 1-kèm-1 (1:1) sang lớp mẫu giáo/tiểu học hòa nhập hay chưa. |
| 4. Phân tích Nhiệm vụ(Task Analysis) | Hàng trăm kỹ năng chi tiết hỗ trợ 170 mốc | Chia nhỏ từng mốc lớn thành các bước nhỏ để giáo viên ABA dạy từng ngày. |
| 5. Xếp lớp & Mục tiêu IEP(Placement & IEP Goals) | Khuyến nghị chương trình can thiệp | Định hướng trọng tâm can thiệp và trích xuất mục tiêu dạy học ưu tiên theo từng Cấp độ (Level 1, 2, 3). |
2. Giải nghĩa nhanh các thuật ngữ “Hành vi Ngôn ngữ” (Skinner’s Verbal Operants) trong VB-MAPP
-
Mand (Yêu cầu): Trẻ dùng lời nói/cử chỉ/hình ảnh để xin thứ trẻ đang muốn (VD: thấy nước và nói “Uống nước”).
-
Tact (Định danh / Gọi tên): Trẻ gọi tên sự vật, hành động, tính chất khi nhìn/nghe/chạm thấy (VD: thấy con chó và nói “Con chó”).
-
Listener Responding (Nghe hiểu): Trẻ thực hiện đúng yêu cầu hoặc chỉ đúng vật khi người khác nói (VD: “Chỉ cho mẹ cái cốc”).
-
Echoic (Bắt chước âm / Nhại âm): Trẻ phát âm lặp lại đúng âm thanh hoặc từ mà người lớn vừa làm mẫu.
-
Intraverbal (Hội thoại / Liên tưởng từ): Trẻ trả lời câu hỏi hoặc điền vào chỗ trống mà không cần nhìn thấy vật thật (VD: “Con mèo kêu thế nào?” “Meo meo”).
-
VP-MTS (Tri giác Thị giác & Ghép mẫu): Ghép vật giống vật, tranh giống tranh, phân loại và xếp hình.
Học nói: 6 nhóm danh mục lớn được chia theo mục đích giao tiếp và môi trường sinh hoạt của bé.
Nếu bạn đang muốn dạy bé chậm nói, trẻ rối loạn phổ tự kỷ, hay rối loạn ngôn ngữ, bạn nên bắt đầu từ những câu căn bản nhất gắn liền với hoạt động của bé tại nhà, trường mầm non và khi vui chơi ngoài trời (công viên, nhà bóng). Nguyên tắc quan trọng nhất là ngôn ngữ chức năng — tức là dạy những từ/câu giúp con giải quyết ngay nhu cầu thực tế để giảm thiểu sự cáu gắt (meltdown) do không thể giao tiếp. Dưới đây là 7 nhóm danh mục lớn được chia theo mục đích giao tiếp và môi trường sinh hoạt của bé.
1. Nhóm Bày tỏ Nhu cầu Thiết yếu (Ăn, uống, vệ sinh) ↗
Đây là nhóm cần ưu tiên số 1 để con sinh tồn và cảm thấy thoải mái.
- Mục tiêu: Con biết cách xin đồ ăn, thức uống mình thích hoặc thông báo khi có nhu cầu sinh lý.
- Ví dụ bối cảnh: Giờ ăn cơm ở nhà/trường, khi khát nước, khi buồn đi vệ sinh, khi muốn lấy đồ chơi ngoài tầm với.
2. Nhóm Yêu cầu Sự trợ giúp & Giao tiếp Cốt lõi ↗
Trẻ tự kỷ thường gặp khó khăn trong việc nhờ vả và có xu hướng tự làm (hoặc kéo tay người lớn thay vì nói). Nhóm này giúp con bật âm để tương tác.
- Mục tiêu: Con biết gọi người khác, nhờ giúp đỡ và biết trả lời “Có/Không”.
- Ví dụ bối cảnh: Không mở được hộp đồ chơi, không với được đồ, mặc/cởi quần áo khó, hoặc phản hồi khi mẹ/cô giáo gọi tên.
3. Nhóm Từ chối & Bảo vệ bản thân (Kỹ năng khước từ) ↗
Nhóm này cực kỳ quan trọng nhưng hay bị bỏ quên. Khi trẻ không biết nói “Không”, trẻ sẽ dùng hành vi (la hét, ném đồ, cắn) để phản đối.
- Mục tiêu: Con biết cách từ chối một cách an toàn và được chấp nhận.
- Ví dụ bối cảnh: Bị bạn giành đồ chơi, không muốn ăn món nào đó, tiếng ồn quá to, hoặc khi con đã mệt/đủ rồi không muốn chơi nữa.
4. Nhóm Sinh hoạt Hàng ngày tại Nhà (Routine Words) ↗
Trẻ tự kỷ học rất tốt qua các thói quen lặp đi lặp lại (routines). Từ vựng gắn liền với các bước sinh hoạt sẽ giúp con dễ nhớ nhất.
- Mục tiêu: Giao tiếp trong các hoạt động quen thuộc cùng gia đình.
- Ví dụ bối cảnh: Lúc thức dậy, đi tắm (các bộ phận cơ thể, xà phòng, nước), đánh răng, mặc quần áo, dọn đồ chơi, đi ngủ.
5. Nhóm Hoạt động & Tương tác tại Trường Mầm non ↗
Môi trường trường học đòi hỏi con phải tuân thủ nề nếp và chú ý chung với các bạn.
- Mục tiêu: Giúp con hiểu lệnh của cô, tương tác cơ bản với bạn bè và tham gia hoạt động chung.
- Ví dụ bối cảnh: Giờ vòng tròn (chào hỏi), cất ba lô, chia sẻ đồ chơi (xin bạn, đợi đến lượt), giờ ra chơi, hoặc lúc đợi mẹ đón về.
6. Nhóm Nhận diện Trạng thái Cơ thể & Cảm xúc ↗
Trẻ tự kỷ thường rối loạn cảm giác nên việc gọi tên được sự khó chịu trong cơ thể sẽ giúp con bình tĩnh lại.
- Mục tiêu: Con báo được cho người lớn khi bị đau, khó chịu, hoặc biểu đạt cảm xúc vui/buồn.
- Ví dụ bối cảnh: Bị té ngã (chỉ chỗ đau), buồn ngủ, nóng/lạnh, tức giận, hoặc vui vẻ khi được chơi trò yêu thích.
7. Nhóm Vui chơi, Vận động & Tương tác xã hội (Công viên, nhà bóng, sân chơi) ↗
- Mục tiêu: Con biết yêu cầu trò chơi mình muốn, mô tả hành động, học cách chờ đến lượt cơ bản và tuân thủ tín hiệu chuyển đổi/an toàn của người lớn.
- Ví dụ bối cảnh & Từ vựng tiềm năng:
- Yêu cầu trò chơi/hành động: Đẩy (nhờ mẹ đẩy xích đu), thả (bóng), ném, trượt, nhảy, thổi (bong bóng xà phòng).
- Tương tác/Luân phiên: Lượt của con, chờ một chút, nhường bạn, xin chơi chung.
- Từ chỉ vị trí/cảm giác: Lên, xuống, cao quá, nhanh, chậm.
- Chuyển đổi hoạt động & An toàn: Dừng lại, đi về, đổi trò, mệt rồi.
💡 Mẹo thực hành hiệu quả:
Việc dạy ngôn ngữ ở khu vui chơi cực kỳ hiệu quả vì bạn có thể kết hợp vận động + phát âm. Ví dụ: Khi con đang chơi xích đu, bạn giữ xích đu lại, chờ con bật âm “Đẩy” (hoặc chỉ tay/giao tiếp mắt) rồi mới đẩy tiếp.
📌 Thứ tự ưu tiên: Trong các nhóm trên, Nhóm 1, 2 và 3 là quan trọng nhất và nên được ưu tiên dạy trước để giúp bé giải tỏa bức xúc khi chưa thể nói ra nhu cầu của bản thân.
Nguồn tham khảo: Kiến thức thực tế dạy con và những gợi ý từ AI.
[Tự kỷ] GARS-3: Thang đánh giá và xác định mức độ hỗ trợ tự kỷ Gilliam (3 – 22 tuổi)
(function() { const host = document.getElementById('gars3-wp-host'); if (!host) return; const placeholder = document.createComment('gars3-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // 56 mục hành vi chuẩn theo cấu trúc 6 tiểu thang của GARS-3 (Gilliam, 2013) // sub: 'rb' (Hành vi hạn hẹp/lặp lại - 13 câu), 'si' (Tương tác xã hội - 14 câu), 'sc' (Giao tiếp xã hội - 9 câu), // 'er' (Phản ứng cảm xúc - 8 câu), 'cs' (Phong cách nhận thức - 7 câu), 'ms' (Ngôn ngữ kém thích ứng - 5 câu) // verbalOnly: true đối với tiểu thang CS và MS khi đánh giá theo Index 4 (Trẻ chưa có ngôn ngữ nói) const questions = [ // TIỂU THANG 1: HÀNH VI HẠN HẸP / LẶP LẠI (RB • Câu 1 - 13) { id: 1, sub: 'rb', verbalOnly: false, t: 'Nếu được để yên một mình, trẻ dành phần lớn thời gian cho các hành vi lặp đi lặp lại hoặc rập khuôn.' }, { id: 2, sub: 'rb', verbalOnly: false, t: 'Trẻ bị cuốn hút quá mức vào các kích thích thị giác (như ánh đèn, gương, vật xoay tròn, nhìn nghiêng qua kẽ ngón tay).' }, { id: 3, sub: 'rb', verbalOnly: false, t: 'Trẻ nhìn chằm chằm vào bàn tay, các ngón tay hoặc đồ vật giữ trước mắt trong ít nhất 5 giây.' }, { id: 4, sub: 'rb', verbalOnly: false, t: 'Trẻ liếm, ngửi hoặc đưa vào miệng những đồ vật không phải là thức ăn.' }, { id: 5, sub: 'rb', verbalOnly: false, t: 'Trẻ vẫy nhanh bàn tay, các ngón tay hoặc cánh tay khi phấn khích hoặc căng thẳng.' }, { id: 6, sub: 'rb', verbalOnly: false, t: 'Trẻ xoay tròn cơ thể hoặc chạy vòng quanh lặp đi lặp lại.' }, { id: 7, sub: 'rb', verbalOnly: false, t: 'Trẻ làm các động tác nhón gót, nhảy tưng tưng hoặc lao người tới trước khi di chuyển.' }, { id: 8, sub: 'rb', verbalOnly: false, t: 'Trẻ đung đưa thân mình tới – lui hoặc qua lại khi đang ngồi hoặc đứng.' }, { id: 9, sub: 'rb', verbalOnly: false, t: 'Trẻ xoay các đồ vật không được thiết kế để xoay (như xoay đĩa, cốc, hộp nhựa trên mặt sàn).' }, { id: 10, sub: 'rb', verbalOnly: false, t: 'Trẻ xếp các đồ vật thành hàng dài hoặc theo một khuôn mẫu cố định và rất tức giận nếu bị xê dịch.' }, { id: 11, sub: 'rb', verbalOnly: false, t: 'Trẻ lấy tay bịt tai hoặc la hét trước những âm thanh sinh hoạt thông thường (như máy sấy, máy xay, đám đông).' }, { id: 12, sub: 'rb', verbalOnly: false, t: 'Trẻ có những hành vi tự gây thương tích cho bản thân (như tự cắn tay, tự tát vào mặt, đập đầu).' }, { id: 13, sub: 'rb', verbalOnly: false, t: 'Trẻ đòi hỏi phải đi theo đúng một lộ trình hoặc thực hiện sinh hoạt theo đúng một nghi thức không được sai lệch.' }, // TIỂU THANG 2: TƯƠNG TÁC XÃ HỘI (SI • Câu 14 - 27) { id: 14, sub: 'si', verbalOnly: false, t: 'Trẻ tránh giao tiếp bằng ánh mắt (nhìn đi chỗ khác khi có người đang nhìn hoặc nói chuyện trực diện với trẻ).' }, { id: 15, sub: 'si', verbalOnly: false, t: 'Trẻ nhìn xuyên qua mọi người như thể họ không hề có mặt ở đó.' }, { id: 16, sub: 'si', verbalOnly: false, t: 'Trẻ chống cự hoặc tỏ ra cứng đờ, khó chịu khi được người khác ôm ấp, âu yếm.' }, { id: 17, sub: 'si', verbalOnly: false, t: 'Trẻ không bắt chước hành động của những người khác khi đang chơi đùa.' }, { id: 18, sub: 'si', verbalOnly: false, t: 'Trẻ tự tách mình ra hoặc thu mình lại trong các tình huống sinh hoạt nhóm, tập thể.' }, { id: 19, sub: 'si', verbalOnly: false, t: 'Trẻ chơi một mình cạnh các bạn khác nhưng không hề tương tác hay chơi hợp tác cùng bạn.' }, { id: 20, sub: 'si', verbalOnly: false, t: 'Trẻ tỏ ra rất ít hoặc không có hứng thú trong việc làm hài lòng người khác hay chờ lời khen.' }, { id: 21, sub: 'si', verbalOnly: false, t: 'Trẻ không mỉm cười đáp lại khi bố mẹ hoặc người quen mỉm cười với trẻ.' }, { id: 22, sub: 'si', verbalOnly: false, t: 'Trẻ không có biểu hiện sợ hãi hoặc lo lắng hợp lý trước những tình huống nguy hiểm thực tế.' }, { id: 23, sub: 'si', verbalOnly: false, t: 'Trẻ không chủ động mang đồ chơi hoặc vật thú vị lại khoe để chia sẻ niềm vui với người khác.' }, { id: 24, sub: 'si', verbalOnly: false, t: 'Trẻ làm một số việc nhất định theo kiểu lặp đi lặp lại mà không quan tâm đến phản ứng của người xung quanh.' }, { id: 25, sub: 'si', verbalOnly: false, t: 'Trẻ không phản ứng khi người khác cố gắng bắt chuyện hoặc rủ trẻ cùng tham gia hoạt động.' }, { id: 26, sub: 'si', verbalOnly: false, t: 'Trẻ gặp khó khăn lớn trong việc kết bạn và duy trì mối quan hệ với các bạn cùng trang lứa.' }, { id: 27, sub: 'si', verbalOnly: false, t: 'Trẻ không thể hiện sự quan tâm hay an ủi khi thấy người khác đang buồn khóc hoặc bị đau.' }, // TIỂU THANG 3: GIAO TIẾP XÃ HỘI (SC • Câu 28 - 36) { id: 28, sub: 'sc', verbalOnly: false, t: 'Trẻ phản ứng không phù hợp trước các chỉ dẫn đơn giản (như "Ngồi xuống", "Lại đây").' }, { id: 29, sub: 'sc', verbalOnly: false, t: 'Trẻ không nhìn theo hướng khi có người chỉ tay vào một vật ở xa trong phòng (Suy giảm chú ý chung).' }, { id: 30, sub: 'sc', verbalOnly: false, t: 'Trẻ dùng bàn tay của người lớn như một công cụ (kéo tay người lớn đặt vào đồ vật) thay vì chỉ trỏ và nhìn mặt.' }, { id: 31, sub: 'sc', verbalOnly: false, t: 'Trẻ không sử dụng các cử chỉ quy ước (như vẫy tay tạm biệt, gật đầu đồng ý, lắc đầu từ chối) để giao tiếp.' }, { id: 32, sub: 'sc', verbalOnly: false, t: 'Trẻ không biết cách bắt đầu hoặc duy trì một cuộc tương tác/trò chuyện qua lại với người khác.' }, { id: 33, sub: 'sc', verbalOnly: false, t: 'Trẻ không hiểu các câu nói đùa, lời trêu chọc vui vẻ hoặc các biểu cảm nét mặt tinh tế của người đối diện.' }, { id: 34, sub: 'sc', verbalOnly: false, t: 'Trẻ gặp khó khăn trong việc hiểu các quy tắc ngầm trong giao tiếp xã hội (như chờ đến lượt nói, giữ khoảng cách).' }, { id: 35, sub: 'sc', verbalOnly: false, t: 'Trẻ thiếu các hoạt động chơi đóng vai giả vờ hoặc chơi tưởng tượng đa dạng phù hợp với lứa tuổi.' }, { id: 36, sub: 'sc', verbalOnly: false, t: 'Nét mặt và ngôn ngữ cơ thể của trẻ không ăn khớp với nội dung giao tiếp đang diễn ra.' }, // TIỂU THANG 4: PHẢN ỨNG CẢM XÚC (ER • Câu 37 - 44) { id: 37, sub: 'er', verbalOnly: false, t: 'Trẻ bùng nổ cơn giận hoặc ăn vạ dữ dội khi bị từ chối hoặc khi không đạt được điều mình muốn.' }, { id: 38, sub: 'er', verbalOnly: false, t: 'Trẻ trở nên cực kỳ bối rối, hoảng loạn hoặc cáu kỉnh khi thói quen sinh hoạt hàng ngày bị thay đổi.' }, { id: 39, sub: 'er', verbalOnly: false, t: 'Trẻ phản ứng quá mức (khóc thét, la hét, chạy trốn) khi phải chuyển từ hoạt động đang thích sang hoạt động khác.' }, { id: 40, sub: 'er', verbalOnly: false, t: 'Trẻ cười khanh khách, khóc hoặc giận dữ một cách đột ngột mà không có nguyên nhân rõ ràng.' }, { id: 41, sub: 'er', verbalOnly: false, t: 'Trẻ thể hiện những phản ứng cảm xúc trái ngược hoặc hoàn toàn không phù hợp với tình huống thực tế.' }, { id: 42, sub: 'er', verbalOnly: false, t: 'Trẻ trở nên lo âu, căng thẳng tột độ khi bước vào những nơi mới lạ hoặc đông người.' }, { id: 43, sub: 'er', verbalOnly: false, t: 'Trẻ rất khó tự bình tĩnh lại một khi đã bị kích động hoặc rơi vào trạng thái quá tải cảm xúc.' }, { id: 44, sub: 'er', verbalOnly: false, t: 'Trẻ có những nỗi sợ hãi mãnh liệt bất thường đối với những đồ vật hoặc tình huống vô hại hàng ngày.' }, // TIỂU THANG 5: PHONG CÁCH NHẬN THỨC (CS • Câu 45 - 51 • Áp dụng trong hệ 6 tiểu thang) { id: 45, sub: 'cs', verbalOnly: true, t: 'Trẻ sử dụng cách nói chuyện đặc biệt già dặn, sách vở hoặc chính xác một cách máy móc so với tuổi.' }, { id: 46, sub: 'cs', verbalOnly: true, t: 'Trẻ gắn bó mãnh liệt một cách khác thường với một số đồ vật vô tri nhất định (như cục đá, nắp chai, tờ lịch).' }, { id: 47, sub: 'cs', verbalOnly: true, t: 'Trẻ chỉ nói hoặc tìm hiểu lặp đi lặp lại về một chủ đề chuyên biệt duy nhất (như khủng long, bản đồ, biển số xe, tàu hỏa).' }, { id: 48, sub: 'cs', verbalOnly: true, t: 'Trẻ có trí nhớ máy móc xuất sắc về các sự kiện, con số hoặc chi tiết vụn vặt nhưng lại khó nắm bắt ý chính tổng thể.' }, { id: 49, sub: 'cs', verbalOnly: true, t: 'Trẻ hiểu mọi lời nói theo đúng nghĩa đen (literal) và không hiểu được các thành ngữ, ẩn dụ hay lời nói bóng gió.' }, { id: 50, sub: 'cs', verbalOnly: true, t: 'Trẻ chú ý cực kỳ tỉ mỉ đến từng bộ phận nhỏ của đồ vật hơn là chức năng tổng thể của đồ vật đó.' }, { id: 51, sub: 'cs', verbalOnly: true, t: 'Trẻ thể hiện sự chênh lệch rất lớn giữa một vài kỹ năng vượt trội đặc biệt và sự thiếu hụt ở các kỹ năng thông thường khác.' }, // TIỂU THANG 6: NGÔN NGỮ KÉM THÍCH ỨNG (MS • Câu 52 - 56 • Chỉ chấm khi trẻ có ngôn ngữ nói) { id: 52, sub: 'ms', verbalOnly: true, t: 'Trẻ lặp lại (nhại lời) các từ ngữ hoặc câu nói vừa nghe được từ người khác hoặc từ tivi/quảng cáo.' }, { id: 53, sub: 'ms', verbalOnly: true, t: 'Trẻ lặp đi lặp lại một từ hoặc một cụm từ vô nghĩa nhiều lần không phục vụ mục đích giao tiếp.' }, { id: 54, sub: 'ms', verbalOnly: true, t: 'Trẻ nói chuyện với tông giọng phẳng lì đều đều như robot, hoặc có ngữ điệu, nhịp điệu, âm lượng bất thường.' }, { id: 55, sub: 'ms', verbalOnly: true, t: 'Trẻ sử dụng sai đại từ nhân xưng (dùng "Bạn / Mẹ / Anh ấy" để chỉ chính bản thân mình thay vì xưng "Con / Tôi").' }, { id: 56, sub: 'ms', verbalOnly: true, t: 'Trẻ tự tạo ra các từ ngữ riêng (neologisms) hoặc phát ngôn những câu hoàn toàn không phù hợp với ngữ cảnh cuộc hội thoại.' } ]; const subConfigs = { rb: { code: 'rb', name: '1. Hành vi Hạn hẹp / Lặp lại (RB)', count: 13, maxRaw: 39, color: '#f59e0b' }, si: { code: 'si', name: '2. Tương tác Xã hội (SI)', count: 14, maxRaw: 42, color: '#2563eb' }, sc: { code: 'sc', name: '3. Giao tiếp Xã hội (SC)', count: 9, maxRaw: 27, color: '#7c3aed' }, er: { code: 'er', name: '4. Phản ứng Cảm xúc (ER)', count: 8, maxRaw: 24, color: '#ec4899' }, cs: { code: 'cs', name: '5. Phong cách Nhận thức (CS)', count: 7, maxRaw: 21, color: '#0d9488' }, ms: { code: 'ms', name: '6. Ngôn ngữ Kém thích ứng (MS)', count: 5, maxRaw: 15, color: '#dc2626' } }; let isVerbal = true; // true = Chấm 6 tiểu thang (56 câu - Autism Index 6) | false = Chấm 4 tiểu thang (44 câu - Autism Index 4) let answers = {}; // Lưu mức điểm 0, 1, 2, 3 cho từng câu let filterSub = 'all'; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .g3-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .g3-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .g3-inner { padding: 24px; max-width: 940px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .g3-wrap.is-fullscreen .g3-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .g3-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(124, 58, 237, 0.45), 0 0 0 0 rgba(124, 58, 237, 0.4); } 70% { box-shadow: 0 6px 20px rgba(124, 58, 237, 0.45), 0 0 0 10px rgba(124, 58, 237, 0); } 100% { box-shadow: 0 6px 20px rgba(124, 58, 237, 0.45), 0 0 0 0 rgba(124, 58, 237, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #6d28d9 0%, #7c3aed 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(124, 58, 237, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Header */ .g3-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .g3-header-text { flex: 1 1 260px; } .g3-title { font-size: 21px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .g3-desc { font-size: 14px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #f5f3ff; color: #6d28d9; border: 1px solid #ddd6fe; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #7c3aed; color: #ffffff; border-color: #7c3aed; } /* Top Controls */ .g3-top-controls { display: grid; grid-template-columns: 1fr 1.25fr; gap: 12px; margin-bottom: 14px; } .g3-box-ctrl { background: #f8fafc; border: 1px solid #e2e8f0; padding: 10px 12px; border-radius: 10px; } .g3-ctrl-label { font-size: 12px; font-weight: 700; color: #475569; text-transform: uppercase; margin-bottom: 6px; display: block; } .g3-btn-group { display: flex; flex-wrap: wrap; gap: 6px; } .g3-btn-sm { padding: 6px 10px; border-radius: 7px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; flex: 1; text-align: center; touch-action: manipulation; } .g3-btn-sm:hover { background: #f1f5f9; } .g3-btn-sm.active { background: #6d28d9; color: #ffffff; border-color: #6d28d9; } .g3-btn-sm.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; flex: 0 0 auto; } .g3-domain-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 16px; } .g3-dtab { padding: 6px 12px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .g3-dtab.active { background: #6d28d9; color: #ffffff; border-color: #6d28d9; } /* Sticky Dashboard */ .g3-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .g3-wrap.is-fullscreen .g3-dash { top: 58px; } .g3-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .g3-score-big { font-size: 23px; font-weight: 800; line-height: 1.1; } .g3-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .g3-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .g3-bar-bg { height: 10px; background: #334155; border-radius: 5px; overflow: hidden; margin-bottom: 12px; } .g3-bar-fill { height: 100%; width: 0%; background: #10b981; transition: width 0.35s ease, background 0.35s ease; } .g3-pillars { display: grid; grid-template-columns: repeat(6, 1fr); gap: 6px; font-size: 11px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .g3-pillar-box { background: #1e293b; padding: 6px 8px; border-radius: 8px; } .g3-pillar-box.muted { opacity: 0.4; } .g3-pillar-val { font-weight: 700; color: #ffffff; font-size: 12.5px; display: block; margin-top: 2px; } /* Danh sách 56 câu hỏi */ .g3-q-item { border: 1px solid #e2e8f0; border-radius: 10px; padding: 14px 16px; margin-bottom: 12px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 10px; } .g3-q-item.sev-3 { border-color: #fda4af; background: #fff5f5; } .g3-q-item.sev-2 { border-color: #fde68a; background: #fffbeb; } .g3-q-item.skipped-item { opacity: 0.45; background: #f8fafc; border-style: dashed; pointer-events: none; } .g3-q-text { font-size: 14.5px; font-weight: 600; color: #1e293b; line-height: 1.5; } .g3-q-tags { display: flex; flex-wrap: wrap; gap: 6px; } .g3-tag { font-size: 11px; font-weight: 600; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .g3-ans-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; } .g3-abtn { padding: 8px 6px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 600; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .g3-abtn:hover { border-color: #64748b; } .g3-abtn.sel-0 { background: #10b981; border-color: #10b981; color: #ffffff; font-weight: 700; } .g3-abtn.sel-1 { background: #3b82f6; border-color: #3b82f6; color: #ffffff; font-weight: 700; } .g3-abtn.sel-2 { background: #f59e0b; border-color: #f59e0b; color: #ffffff; font-weight: 700; } .g3-abtn.sel-3 { background: #ef4444; border-color: #ef4444; color: #ffffff; font-weight: 700; } /* Biểu đồ 6 tiểu thang & Kết luận */ .g3-chart-card { margin-top: 20px; padding: 16px 18px; border-radius: 12px; background: #ffffff; border: 1px solid #e2e8f0; } .g3-chart-title { font-size: 14.5px; font-weight: 700; color: #0f172a; margin-bottom: 12px; } .g3-bar-row { display: flex; align-items: center; gap: 10px; margin-bottom: 9px; font-size: 12.5px; } .g3-bar-lbl { width: 225px; flex-shrink: 0; font-weight: 600; color: #334155; } .g3-bar-track { flex: 1; height: 16px; background: #f1f5f9; border-radius: 999px; overflow: hidden; } .g3-bar-val { width: 125px; text-align: right; font-weight: 700; color: #0f172a; flex-shrink: 0; } .g3-result-box { margin-top: 16px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #64748b; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 720px) { .g3-inner { padding: 14px; } .g3-title { font-size: 18px; } .g3-top-controls { grid-template-columns: 1fr; } .g3-pillars { grid-template-columns: repeat(2, 1fr); } .g3-ans-grid { grid-template-columns: 1fr 1fr; } .g3-abtn { padding: 10px 6px; } .g3-bar-lbl { width: 135px; font-size: 11.5px; } .g3-bar-val { width: 100px; font-size: 11.5px; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
Thang Đánh Giá Tự Kỷ Gilliam GARS-3 (56 Câu Hỏi • 3 – 22 Tuổi)
Công cụ chuẩn hóa của James E. Gilliam (2013) đánh giá 6 tiểu thang đo để quy đổi ra Chỉ số Tự kỷ (Autism Index) và phân loại trực tiếp Mức độ cần hỗ trợ theo DSM-5: ≤ 54 (Rất ít khả năng) • 55–70 (Mức độ 1) • 71–100 (Mức độ 2) • ≥ 101 (Mức độ 3).
• Mức độ cần hỗ trợ DSM-5: Mức 0 (Không cần hỗ trợ đặc biệt về ASD).
• Tổng điểm chuẩn quy đổi của các tiểu thang nằm dưới ngưỡng lâm sàng của GARS-3. `; } else if (autismIndex <= 70) { color = '#f59e0b'; badgeTxt = `CÓ KHẢ NĂNG ASD • DSM-5 MỨC ĐỘ 1 (Index: ${autismIndex})`; analysis = ` Kết luận GARS-3 — Có Khả Năng Thuộc Phổ Tự Kỷ (Autism Index = ${autismIndex}, vùng 55 – 70):
• Phân loại mức độ DSM-5 tương ứng: Mức độ 1 (Level 1 — Cần hỗ trợ / Requiring Support).
• Cá nhân có các biểu hiện khó khăn trong khởi xướng tương tác xã hội (${raw.si}/42), giao tiếp xã hội (${raw.sc}/27) và tính linh hoạt hành vi (${raw.rb}/39). Khuyến nghị đối chiếu thêm với đánh giá trực tiếp ADOS-2 và thang hành vi thích ứng Vineland-3. `; } else if (autismIndex <= 100) { color = '#ef4444'; badgeTxt = `KHẢ NĂNG RẤT CAO • DSM-5 MỨC ĐỘ 2 (Index: ${autismIndex})`; analysis = ` Kết luận GARS-3 — Khả Năng Rất Cao Thuộc Phổ Tự Kỷ (Autism Index = ${autismIndex}, vùng 71 – 100):
• Phân loại mức độ DSM-5 tương ứng: Mức độ 2 (Level 2 — Cần hỗ trợ đáng kể / Requiring Substantial Support).
• Điểm số bộc lộ sự suy giảm rõ rệt ở cả giao tiếp xã hội và các mẫu hành vi hạn hẹp/lặp lại ngay cả khi đã có hỗ trợ xung quanh. Cần thực hiện chẩn đoán đa chuyên khoa và xây dựng chương trình can thiệp cá nhân hóa (IEP). `; } else { color = '#dc2626'; badgeTxt = `KHẢ NĂNG RẤT CAO • DSM-5 MỨC ĐỘ 3 (Index: ${autismIndex})`; analysis = ` Kết luận GARS-3 — Khả Năng Rất Cao Thuộc Phổ Tự Kỷ (Autism Index = ${autismIndex} ≥ 101):
• Phân loại mức độ DSM-5 tương ứng: Mức độ 3 (Level 3 — Cần hỗ trợ rất nhiều / Requiring Very Substantial Support).
• Chỉ số Tự kỷ vượt mốc trung bình của mẫu chuẩn tự kỷ (Index ≥ 101), phản ánh sự thiếu hụt nghiêm trọng về kỹ năng giao tiếp lời nói/không lời, điều tiết cảm xúc (${raw.er}/24) và sự cứng nhắc hành vi (${raw.rb}/39). Khuyến nghị can thiệp chuyên sâu toàn diện kết hợp đánh giá chức năng bằng Vineland-3. `; } barFill.style.background = color; scoreBadge.textContent = badgeTxt; scoreBadge.style.background = color; scoreBadge.style.color = '#ffffff'; resultBox.style.borderLeftColor = color; resultBox.innerHTML = analysis; updateFloatingFabVisibility(); } function applyPreset(type) { answers = {}; if (type === 'reset') { renderQuestions(); updateSummary(); return; } questions.forEach(function(q) { answers[q.id] = 0; }); if (type === 'unlikely') { // Index ~48 (Mức 0) questions.forEach(function(q, idx) { if (idx % 6 === 0) answers[q.id] = 1; }); } else if (type === 'lvl1') { // Index ~64 (DSM-5 Level 1: 55 - 70) questions.forEach(function(q, idx) { if (idx % 2 === 0) answers[q.id] = 1; }); } else if (type === 'lvl2') { // Index ~86 (DSM-5 Level 2: 71 - 100) questions.forEach(function(q, idx) { if (idx % 3 === 0) answers[q.id] = 2; else answers[q.id] = 1; }); } else if (type === 'lvl3') { // Index ~112 (DSM-5 Level 3: >= 101) questions.forEach(function(q, idx) { if (idx % 2 === 0) answers[q.id] = 2; else if (idx % 3 === 0) answers[q.id] = 3; else answers[q.id] = 1; }); } renderQuestions(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); g3Wrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { g3Wrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 940px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } shadow.querySelectorAll('#verbalGroup .g3-btn-sm').forEach(function(btn) { btn.onclick = function() { isVerbal = (this.getAttribute('data-verbal') === 'yes'); shadow.querySelectorAll('#verbalGroup .g3-btn-sm').forEach(b => b.classList.remove('active')); this.classList.add('active'); renderQuestions(); updateSummary(); }; }); shadow.querySelectorAll('#presetGroup .g3-btn-sm').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-pre')); }; }); shadow.querySelectorAll('#domainTabs .g3-dtab').forEach(function(tab) { tab.onclick = function() { filterSub = this.getAttribute('data-sub'); shadow.querySelectorAll('#domainTabs .g3-dtab').forEach(t => t.classList.remove('active')); this.classList.add('active'); renderQuestions(); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); applyPreset('lvl2'); })();
GARS-3 (Gilliam Autism Rating Scale, Third Edition — Thang Đánh Giá Tự Kỷ Gilliam, Phiên bản 3) là một trong những công cụ đánh giá chuẩn hóa dựa trên quy chiếu chuẩn (norm-referenced) phổ biến nhất thế giới hiện nay dùng để sàng lọc chuyên sâu, hỗ trợ chẩn đoán xác định và ước lượng Mức độ cần hỗ trợ theo tiêu chuẩn DSM-5 (Level 1, Level 2, Level 3). Công cụ này do Giáo sư James E. Gilliam phát triển (xuất bản năm 2013 bởi Pro-Ed).
Cốt lõi về công cụ GARS-3
-
Đối tượng áp dụng: Dành cho trẻ em, thanh thiếu niên và người trưởng thành trẻ tuổi từ 3 đến 22 tuổi có các biểu hiện hành vi nghi ngờ thuộc Rối loạn phổ tự kỷ.
-
Người thực hiện: Phụ huynh, người chăm sóc hoặc giáo viên (những người hiểu rõ và tiếp xúc thường xuyên với trẻ ít nhất 2 tuần) điền trong khoảng 10 – 15 phút.
-
Cấu trúc 56 câu hỏi & 6 Tiểu thang đo (Subscales): Điểm đột phá của GARS-3 so với bản GARS-2 cũ là được thiết kế khớp trực tiếp với các tiêu chí của DSM-5, chia thành 56 mục hành vi thuộc 6 tiểu thang đo và phân luồng theo tình trạng ngôn ngữ nói:
| Tiểu thang đo GARS-3 | Số câu hỏi | Nội dung đánh giá trọng tâm | Áp dụng cho nhóm |
| 1. Hành vi Hạn hẹp / Lặp lại(Restricted/Repetitive Behaviors – RB) | 13 câu(Câu 1 – 13) | Vận động định hình (vẫy tay, xoay người), nghi thức cứng nhắc, phản ứng giác quan bất thường (bịt tai, ngửi/liếm đồ vật, nhìn nghiêng). | Cả trẻ Có lời nói & Chưa có lời nói |
| 2. Tương tác Xã hội(Social Interaction – SI) | 14 câu(Câu 14 – 27) | Né tránh giao tiếp mắt, thu mình, không chơi hợp tác với bạn, thiếu chia sẻ sự chú ý và phản ứng xã hội qua lại. | Cả trẻ Có lời nói & Chưa có lời nói |
| 3. Giao tiếp Xã hội(Social Communication – SC) | 9 câu(Câu 28 – 36) | Thiếu cử chỉ phi ngôn ngữ (chỉ trỏ, vẫy tay), khó hiểu nét mặt/ẩn ý, không biết bắt đầu hoặc duy trì tương tác. | Cả trẻ Có lời nói & Chưa có lời nói |
| 4. Phản ứng Cảm xúc(Emotional Responses – ER) | 8 câu(Câu 37 – 44) | Ăn vạ dữ dội khi thay đổi lịch trình, lo âu quá mức, cảm xúc lệch ngữ cảnh hoặc thiếu đồng cảm. | Cả trẻ Có lời nói & Chưa có lời nói |
| 5. Phong cách Nhận thức (Cognitive Style – CS) | 7 câu(Câu 45 – 51) | Chỉ chú ý tiểu tiết mà bỏ qua tổng thể, đam mê mãnh liệt một chủ đề hẹp, trí nhớ máy móc, gắn bó đồ vật lạ. | Cả trẻ Có lời nói & Chưa có lời nói (Bỏ qua nếu Chưa có lời nói) |
| 6. Ngôn ngữ Kém thích ứng (Maladaptive Speech – MS) | 5 câu(Câu 52 – 56) | Nhại lời (echolalia), đảo ngược đại từ xưng hô, giọng nói đều đều như robot, lặp lại từ/cụm từ vô nghĩa. | Chỉ chấm cho trẻ Có lời nói (Bỏ qua nếu Chưa có lời nói) |
-
Cách chấm điểm & Phân nhánh 4 Tiểu thang (Index 4) vs. 6 Tiểu thang (Index 6):
-
Mỗi mục được chấm từ
0đến3điểm:-
0— Hoàn toàn không giống trẻ (Not at all like the individual) -
1— Không giống trẻ lắm / Hiếm khi (Not much like the individual) -
2— Khá giống trẻ / Thỉnh thoảng (Somewhat like the individual) -
3— Rất giống trẻ / Thường xuyên (Very much like the individual)
-
-
Quy tắc phân nhánh của GARS-3:
-
Nhóm Có ngôn ngữ nói (Verbal): Chấm đủ cả 6 tiểu thang (56 câu, điểm thô tối đa 168) Quy đổi ra Autism Index 6.
-
Nhóm Chưa có ngôn ngữ nói / Không nói (Nonverbal): Chỉ chấm 4 tiểu thang đầu (RB, SI, SC, ER — gồm 44 câu, điểm thô tối đa 132), bỏ qua tiểu thang 5 và 6 Quy đổi ra Autism Index 4.
-
-
-
Bảng Diễn giải Chỉ số Tự kỷ (Autism Index) & Mức độ Hỗ trợ DSM-5:
| Chỉ số Tự kỷ (Autism Index) | Khả năng mắc Rối loạn Phổ Tự kỷ (Probability of ASD) | Mức độ cần hỗ trợ theo chuẩn DSM-5 (Severity Level) |
| điểm | Rất ít khả năng (Unlikely) | Mức 0: Không cần hỗ trợ đặc biệt về ASD. |
| 55 – 70 điểm | Có khả năng (Probable) | Mức độ 1 (Level 1): Cần hỗ trợ (Requiring Support). |
| 71 – 100 điểm | Khả năng rất cao (Very Likely) | Mức độ 2 (Level 2): Cần hỗ trợ đáng kể (Requiring Substantial Support). |
| điểm | Khả năng rất cao (Very Likely) | Mức độ 3 (Level 3): Cần hỗ trợ rất nhiều/tối đa (Requiring Very Substantial Support). |
Dinh Dưỡng - Não Bộ
Trẻ tự kỷ thường gặp vấn đề về trục kết nối giữa não bộ và ruột non, dẫn đến không hấp thụ đủ dinh dưỡng cần thiết cho sự phát triển và hoạt động bình thường của não bộ. Với sự hỗ trợ hữu ích từ AI, chúng ta sẽ cùng nhau học tập về kiến thức chung về dinh dưỡng cho não bộ, để có định hướng bổ sung cần thiết và phù hợp cho con.
Bài Viết
Nhóm dưỡng chất đóng vai trò sống còn cho sự phát triển não bộ trẻ
🧱 Đang xem Nhóm 1: "Gạch ngói" xây dựng cấu trúc não – Omega-3 (DHA và EPA)
• EPA (một dạng Omega-3 khác): Đóng vai trò chống viêm tuyệt vời, bảo vệ não khỏi các tổn thương.
• Ở trẻ tự kỷ: Bổ sung đủ Omega-3 thường được ghi nhận giúp cải thiện giao tiếp mắt và sự tập trung.
Các hợp chất điều phối toàn bộ hệ thống vận hành, bảo trì và cung cấp năng lượng cho não bộ
🛡️ Đang xem Chất quản lý số 1: Glutathione – "Hệ thống làm mát và dọn rác" vĩ đại nhất
Đánh giá rối loạn đi kèm & Phân biệt
(function(){
function mountShadowDiffTable(){
var host = document.getElementById('phuchoi-diff-host');
if(!host) return;
if(host.shadowRoot) return;
if(!host.attachShadow) return;
var shadow = host.attachShadow({mode:'open'});
var css = [
':host{all:initial;display:block;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:#1e293b;line-height:1.6;width:100%;box-sizing:border-box;}',
'*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}',
'.diff-card{width:100%;background:#ffffff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 8px 24px rgba(15,23,42,0.05);overflow:hidden;}',
'.diff-intro{background:linear-gradient(135deg,#fffbeb 0%,#fef3c7 100%);padding:20px 24px;border-bottom:1px solid #fde68a;display:flex;align-items:flex-start;gap:14px;}',
'.diff-icon{font-size:26px;line-height:1;background:#ffffff;width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 10px rgba(217,119,6,0.14);flex-shrink:0;}',
'.diff-intro-text{font-size:15px;color:#0f172a;margin:0;}',
'.diff-intro-text strong{color:#b45309;font-weight:700;}',
'.diff-table{width:100%;border-collapse:collapse;border-spacing:0;}',
'.diff-table thead th{background:#f8fafc;color:#334155;font-size:12.5px;font-weight:800;text-transform:uppercase;letter-spacing:0.4px;padding:14px 20px;text-align:left;border-bottom:2px solid #e2e8f0;}',
'.diff-table tbody tr{border-bottom:1px solid #e2e8f0;transition:background 0.2s ease;}',
'.diff-table tbody tr:last-child{border-bottom:none;}',
'.diff-table tbody tr:hover{background:#f8fafc;}',
'.diff-table td{padding:20px;vertical-align:top;}',
'.step-tag{display:inline-block;font-size:11px;font-weight:700;padding:2px 9px;border-radius:999px;text-transform:uppercase;margin-bottom:6px;}',
'.tag-orange{background:#ffedd5;color:#c2410c;}',
'.tag-sky{background:#e0f2fe;color:#0369a1;}',
'.tag-rose{background:#fce7f3;color:#be185d;}',
'.group-badge{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:800;color:#0f172a;}',
'.tools-wrap{display:flex;flex-wrap:wrap;gap:8px;}',
'.tool-link{display:inline-flex;align-items:center;gap:5px;padding:7px 14px;border-radius:8px;font-size:13.5px;font-weight:700;text-decoration:none;transition:all 0.18s ease;border:1.5px solid transparent;cursor:pointer;}',
'.tool-link::after{content:"↗";font-size:11px;opacity:0.75;}',
'.btn-orange{background:#fff7ed;color:#c2410c;border-color:#fed7aa;}',
'.btn-orange:hover{background:#ea580c;color:#ffffff;border-color:#ea580c;transform:translateY(-2px);box-shadow:0 4px 10px rgba(234,88,12,0.25);}',
'.btn-sky{background:#f0f9ff;color:#0369a1;border-color:#bae6fd;}',
'.btn-sky:hover{background:#0284c7;color:#ffffff;border-color:#0284c7;transform:translateY(-2px);box-shadow:0 4px 10px rgba(2,132,199,0.25);}',
'.btn-rose{background:#fdf2f8;color:#be185d;border-color:#fbcfe8;}',
'.btn-rose:hover{background:#db2777;color:#ffffff;border-color:#db2777;transform:translateY(-2px);box-shadow:0 4px 10px rgba(219,39,119,0.25);}',
'.desc-text{font-size:14.2px;color:#334155;margin:0;}',
'.desc-text strong{color:#0f172a;font-weight:700;}',
'.desc-text em{font-style:italic;color:#0f172a;background:#f1f5f9;padding:1px 6px;border-radius:4px;}',
'@media (max-width:768px){.diff-intro{padding:16px;}.diff-table thead{display:none;}.diff-table,.diff-table tbody,.diff-table tr,.diff-table td{display:block;width:100%;}.diff-table tbody tr{padding:16px;}.diff-table td{padding:6px 0;}.tools-wrap{margin:6px 0 8px 0;}}'
].join('');
var styleEl = document.createElement('style');
styleEl.textContent = css;
shadow.appendChild(styleEl);
var rowsData = [
{
tagCls: 'tag-orange',
tagTxt: 'Nhóm 1 • Đồng mắc 50–70%',
title: '⚡ Sàng lọc & Phân biệt ADHD',
btnCls: 'btn-orange',
toolName: 'Thang đo Vanderbilt & Conners-3',
toolUrl: 'https://phuchoi.vn/kien-thuc/cong-cu/danh-gia-roi-loan-di-kem-phan-biet/vanderbilt-va-conners-3/',
parts: [
{t: 'text', v: 'Hai công cụ tiêu chuẩn để sàng lọc và đánh giá '},
{t: 'strong', v: 'Tăng động giảm chú ý (ADHD)'},
{t: 'text', v: ' – rối loạn dễ nhầm lẫn nhất và cũng hay đi kèm nhất với phổ tự kỷ (tỷ lệ đồng mắc lên tới 50-70%).'}
]
},
{
tagCls: 'tag-sky',
tagTxt: 'Nhóm 2 • Ngôn ngữ chuyên sâu',
title: '🗣️ Phân biệt Chậm nói & Tự kỷ',
btnCls: 'btn-sky',
toolName: 'PLS-5 hoặc CELF',
toolUrl: 'https://phuchoi.vn/kien-thuc/cong-cu/danh-gia-roi-loan-di-kem-phan-biet/pls-5-hoac-celf/',
parts: [
{t: 'text', v: 'Công cụ đánh giá chuyên sâu về '},
{t: 'strong', v: 'Rối loạn ngôn ngữ'},
{t: 'text', v: ' (hiểu và diễn đạt), giúp phân biệt trẻ '},
{t: 'em', v: 'Chậm nói đơn thuần'},
{t: 'text', v: ' với trẻ '},
{t: 'em', v: 'Tự kỷ'},
{t: 'text', v: '.'}
]
},
{
tagCls: 'tag-rose',
tagTxt: 'Nhóm 3 • Từ 1.5 – 18 tuổi',
title: '🧠 Sàng lọc Cảm xúc & Hành vi',
btnCls: 'btn-rose',
toolName: 'CBCL',
toolUrl: 'https://phuchoi.vn/kien-thuc/cong-cu/danh-gia-roi-loan-di-kem-phan-biet/cbcl/',
parts: [
{t: 'text', v: 'Đánh giá tổng thể các vấn đề cảm xúc và hành vi (lo âu, trầm cảm, chống đối, thu mình...) ở trẻ từ 1.5 đến 18 tuổi.'}
]
}
];
var card = document.createElement('div');
card.className = 'diff-card';
var intro = document.createElement('div');
intro.className = 'diff-intro';
var icon = document.createElement('div');
icon.className = 'diff-icon';
icon.textContent = '🔍';
var introP = document.createElement('p');
introP.className = 'diff-intro-text';
introP.appendChild(document.createTextNode('Rất nhiều trẻ tự kỷ đi kèm '));
var st1 = document.createElement('strong');
st1.textContent = 'Tăng động giảm chú ý (ADHD)';
introP.appendChild(st1);
introP.appendChild(document.createTextNode(' hoặc '));
var st2 = document.createElement('strong');
st2.textContent = 'Rối loạn ngôn ngữ';
introP.appendChild(st2);
introP.appendChild(document.createTextNode(', và ngược lại, nhiều trẻ chỉ bị ADHD hoặc Chậm nói đơn thuần bị nhầm sang Tự kỷ. Các công cụ dưới đây sẽ giúp bố mẹ và chuyên gia phân biệt và chẩn đoán chính xác hơn.'));
intro.appendChild(icon);
intro.appendChild(introP);
card.appendChild(intro);
var table = document.createElement('table');
table.className = 'diff-table';
var thead = document.createElement('thead');
var trHead = document.createElement('tr');
var headers = [
{txt: 'Mục Tiêu Phân Biệt & Đồng Mắc', w: '27%'},
{txt: 'Công Cụ Đánh Giá (Nhấn để xem)', w: '28%'},
{txt: 'Vai Trò Lâm Sàng & Ý Nghĩa Chẩn Đoán', w: '45%'}
];
headers.forEach(function(h){
var th = document.createElement('th');
th.style.width = h.w;
th.textContent = h.txt;
trHead.appendChild(th);
});
thead.appendChild(trHead);
table.appendChild(thead);
var tbody = document.createElement('tbody');
rowsData.forEach(function(r){
var tr = document.createElement('tr');
var td1 = document.createElement('td');
var tag = document.createElement('span');
tag.className = 'step-tag ' + r.tagCls;
tag.textContent = r.tagTxt;
var badge = document.createElement('div');
badge.className = 'group-badge';
badge.textContent = r.title;
td1.appendChild(tag);
td1.appendChild(badge);
var td2 = document.createElement('td');
var wrap = document.createElement('div');
wrap.className = 'tools-wrap';
var a = document.createElement('a');
a.className = 'tool-link ' + r.btnCls;
a.href = r.toolUrl;
a.target = '_blank';
a.rel = 'noopener';
a.textContent = r.toolName;
wrap.appendChild(a);
td2.appendChild(wrap);
var td3 = document.createElement('td');
var desc = document.createElement('p');
desc.className = 'desc-text';
r.parts.forEach(function(p){
if(p.t === 'strong'){
var b = document.createElement('strong');
b.textContent = p.v;
desc.appendChild(b);
} else if(p.t === 'em'){
var i = document.createElement('em');
i.textContent = p.v;
desc.appendChild(i);
} else {
desc.appendChild(document.createTextNode(p.v));
}
});
td3.appendChild(desc);
tr.appendChild(td1);
tr.appendChild(td2);
tr.appendChild(td3);
tbody.appendChild(tr);
});
table.appendChild(tbody);
card.appendChild(table);
shadow.appendChild(card);
}
if(document.readyState === 'loading'){
document.addEventListener('DOMContentLoaded', mountShadowDiffTable);
} else {
mountShadowDiffTable();
}
})();
Bài Viết
[Tăng động - ADHD] Vanderbilt & Conners-3: Bộ thang đo sàng lọc và đánh giá rối loạn Tăng động giảm chú ý
Tăng động giảm chú ý (ADHD) – rối loạn dễ nhầm lẫn nhất và cũng hay đi kèm nhất với phổ tự kỷ (tỷ lệ đồng mắc lên tới 50-70%). Hai công cụ này sẽ giúp bạn sàng lọc rõ ADHD, tránh chẩn đoán nhầm.
(function() { const host = document.getElementById('adhd-wp-host'); if (!host) return; const placeholder = document.createComment('adhd-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // ========================================================= // PHẦN 1: DỮ LIỆU ĐẦY ĐỦ 55 MỤC THANG ĐO NICHQ VANDERBILT (47 TRIỆU CHỨNG + 8 HIỆU SUẤT) // ========================================================= const vanderbiltGroups = { ina: { code: 'ina', name: '1. Giảm chú ý (Inattention • Câu 1–9 • Ngưỡng ≥ 6/9 câu mức 2–3)', color: '#2563eb' }, hyp: { code: 'hyp', name: '2. Tăng động / Xung động (Hyperactivity/Impulsivity • Câu 10–18 • Ngưỡng ≥ 6/9)', color: '#ea580c' }, odd: { code: 'odd', name: '3. Thách thức Chống đối (Oppositional Defiant - ODD • Câu 19–26 • Ngưỡng ≥ 4/8)', color: '#d97706' }, cd: { code: 'cd', name: '4. Rối loạn Hành vi (Conduct Disorder - CD • Câu 27–40 • Ngưỡng ≥ 3/14)', color: '#dc2626' }, anx: { code: 'anx', name: '5. Lo âu & Trầm cảm (Anxiety / Depression • Câu 41–47 • Ngưỡng ≥ 3/7)', color: '#7c3aed' }, perf: { code: 'perf', name: '6. Hiệu suất Học tập & Quan hệ (Performance • Câu 48–55 • Cần ≥ 1 câu mức 4–5)', color: '#0d9488' } }; const vanderbiltItems = [ // NHÓM 1: GIẢM CHÚ Ý (INATTENTION • Câu 1 - 9 • Ngưỡng >= 6/9 câu đạt điểm 2 hoặc 3) { id: 1, grp: 'ina', t: 'Không chú ý kỹ đến các chi tiết hoặc mắc lỗi cẩu thả trong bài tập ở trường/công việc.' }, { id: 2, grp: 'ina', t: 'Gặp khó khăn trong việc duy trì sự tập trung chú ý vào những việc cần làm hoặc hoạt động chơi.' }, { id: 3, grp: 'ina', t: 'Có vẻ như không lắng nghe khi người khác nói chuyện trực tiếp với trẻ.' }, { id: 4, grp: 'ina', t: 'Không làm theo trọn vẹn các hướng dẫn và không hoàn thành bài tập/việc vặt (không phải do chống đối hay không hiểu).' }, { id: 5, grp: 'ina', t: 'Gặp khó khăn trong việc sắp xếp, tổ chức các nhiệm vụ và hoạt động hàng ngày.' }, { id: 6, grp: 'ina', t: 'Né tránh, không thích hoặc miễn cưỡng tham gia các việc đòi hỏi phải suy nghĩ tập trung lâu (như làm bài tập về nhà).' }, { id: 7, grp: 'ina', t: 'Hay làm mất những đồ dùng cần thiết cho học tập và sinh hoạt (bút, sách vở, đồ chơi, áo khoác).' }, { id: 8, grp: 'ina', t: 'Dễ bị phân tâm bởi các tiếng động hoặc sự việc bên ngoài.' }, { id: 9, grp: 'ina', t: 'Hay quên trong các hoạt động sinh hoạt hàng ngày.' }, // NHÓM 2: TĂNG ĐỘNG / XUNG ĐỘNG (HYPERACTIVITY / IMPULSIVITY • Câu 10 - 18 • Ngưỡng >= 6/9 câu đạt điểm 2 hoặc 3) { id: 10, grp: 'hyp', t: 'Hay bồn chồn ngọ nguậy tay chân hoặc vặn vẹo người trên ghế.' }, { id: 11, grp: 'hyp', t: 'Tự ý rời khỏi chỗ ngồi trong lớp học hoặc trong các tình huống cần phải ngồi yên (như tại bàn ăn).' }, { id: 12, grp: 'hyp', t: 'Chạy nhảy hoặc leo trèo quá mức trong những tình huống không phù hợp.' }, { id: 13, grp: 'hyp', t: 'Gặp khó khăn khi phải chơi hoặc tham gia các hoạt động giải trí một cách yên tĩnh, nhẹ nhàng.' }, { id: 14, grp: 'hyp', t: 'Luôn chân luôn tay ("On the go") hoặc hành động như thể được "gắn động cơ chạy liên tục".' }, { id: 15, grp: 'hyp', t: 'Nói quá nhiều.' }, { id: 16, grp: 'hyp', t: 'Buột miệng trả lời ngay khi người khác còn chưa hỏi xong câu hỏi.' }, { id: 17, grp: 'hyp', t: 'Gặp khó khăn lớn khi phải xếp hàng hoặc chờ đến lượt của mình.' }, { id: 18, grp: 'hyp', t: 'Hay ngắt lời hoặc xen ngang vào cuộc trò chuyện/trò chơi của người khác.' }, // NHÓM 3: RỐI LOẠN THÁCH THỨC CHỐNG ĐỐI (ODD • Câu 19 - 26 • Ngưỡng >= 4/8 câu đạt điểm 2 hoặc 3) { id: 19, grp: 'odd', t: 'Tranh cãi tay đôi với người lớn.' }, { id: 20, grp: 'odd', t: 'Hay mất bình tĩnh, nổi cơn cáu giận dữ dội.' }, { id: 21, grp: 'odd', t: 'Chủ động thách thức hoặc từ chối tuân theo các yêu cầu và quy tắc của người lớn.' }, { id: 22, grp: 'odd', t: 'Cố tình làm những việc gây khó chịu, chọc tức người khác.' }, { id: 23, grp: 'odd', t: 'Đổ lỗi cho người khác về những lỗi lầm hoặc hành vi sai trái của chính mình.' }, { id: 24, grp: 'odd', t: 'Rất nhạy cảm, dễ tự ái hoặc dễ bị người khác làm cho bực mình.' }, { id: 25, grp: 'odd', t: 'Hay tức giận và oán giận.' }, { id: 26, grp: 'odd', t: 'Có tính hằn học và muốn trả đũa.' }, // NHÓM 4: RỐI LOẠN HÀNH VI (CONDUCT DISORDER - CD • Câu 27 - 40 • Ngưỡng >= 3/14 câu đạt điểm 2 hoặc 3) { id: 27, grp: 'cd', t: 'Bắt nạt, đe dọa hoặc запугивать (uy hiếp) trẻ khác.' }, { id: 28, grp: 'cd', t: 'Chủ động khơi mào các cuộc đánh nhau tay chân.' }, { id: 29, grp: 'cd', t: 'Nói dối để trốn tránh trách nhiệm/hình phạt hoặc để trục lợi ("lừa gạt" người khác).' }, { id: 30, grp: 'cd', t: 'Trốn học mà không được phép.' }, { id: 31, grp: 'cd', t: 'Hung bạo về thể xác với người khác.' }, { id: 32, grp: 'cd', t: 'Lấy cắp những đồ vật có giá trị.' }, { id: 33, grp: 'cd', t: 'Cố tình phá hoại tài sản, đồ đạc của người khác.' }, { id: 34, grp: 'cd', t: 'Đã từng sử dụng vũ khí có thể gây thương tích nghiêm trọng (gậy, gạch đá, dao...).' }, { id: 35, grp: 'cd', t: 'Hung bạo, hành hạ thể xác đối với động vật.' }, { id: 36, grp: 'cd', t: 'Cố tình châm lửa đốt với ý định gây thiệt hại.' }, { id: 37, grp: 'cd', t: 'Đột nhập vào nhà, phòng hoặc xe của người khác.' }, { id: 38, grp: 'cd', t: 'Tự ý đi qua đêm ở bên ngoài mà không được phép.' }, { id: 39, grp: 'cd', t: 'Bỏ nhà đi qua đêm.' }, { id: 40, grp: 'cd', t: 'Ép buộc người khác vào hoạt động nhạy cảm không đồng thuận.' }, // NHÓM 5: LO ÂU & TRẦM CẢM (ANXIETY / DEPRESSION • Câu 41 - 47 • Ngưỡng >= 3/7 câu đạt điểm 2 hoặc 3) { id: 41, grp: 'anx', t: 'Sợ hãi, lo âu hoặc lo lắng quá mức.' }, { id: 42, grp: 'anx', t: 'Sợ thử làm những điều mới vì lo sợ sẽ mắc lỗi.' }, { id: 43, grp: 'anx', t: 'Cảm thấy bản thân vô giá trị hoặc kém cỏi hơn các bạn khác.' }, { id: 44, grp: 'anx', t: 'Tự trách bản thân về các vấn đề xảy ra, cảm thấy tội lỗi quá mức.' }, { id: 45, grp: 'anx', t: 'Cảm thấy cô đơn, không được yêu thương hoặc tủi thân ("không ai thương con").' }, { id: 46, grp: 'anx', t: 'Buồn bã, không vui hoặc trầm uất.' }, { id: 47, grp: 'anx', t: 'Ngượng ngùng, tự ti và rất dễ bối rối xấu hổ trước đám đông.' }, // NHÓM 6: ĐÁNH GIÁ HIỆU SUẤT THỰC TẾ (PERFORMANCE • Câu 48 - 55 • Chấm từ 1 đến 5 • Cần >= 1 câu đạt mức 4 hoặc 5) { id: 48, grp: 'perf', t: 'Hiệu suất học tập tổng thể ở trường (Overall school performance).' }, { id: 49, grp: 'perf', t: 'Kỹ năng Đọc (Reading).' }, { id: 50, grp: 'perf', t: 'Kỹ năng Viết (Writing).' }, { id: 51, grp: 'perf', t: 'Kỹ năng Toán học (Mathematics).' }, { id: 52, grp: 'perf', t: 'Mối quan hệ với cha mẹ / giáo viên (Relationship with parents / teachers).' }, { id: 53, grp: 'perf', t: 'Mối quan hệ với anh chị em ruột (Relationship with siblings).' }, { id: 54, grp: 'perf', t: 'Mối quan hệ với bạn bè đồng trang lứa (Relationship with peers).' }, { id: 55, grp: 'perf', t: 'Khả năng tham gia các hoạt động tập thể / đội nhóm có tổ chức (Participation in organized activities).' } ]; // ========================================================= // PHẦN 2: DỮ LIỆU THANG ĐO CONNERS-3 (6 TIỂU THANG NỘI DUNG • 30 MỤC CỐT LÕI • T-SCORE) // ========================================================= const connersScales = { in: { code: 'in', short: 'IN', name: '1. Giảm chú ý (Inattention - IN • 5 câu)', color: '#2563eb' }, hy: { code: 'hy', short: 'HY', name: '2. Tăng động / Xung động (Hyperactivity/Impulsivity - HY • 5 câu)', color: '#ea580c' }, lp: { code: 'lp', short: 'LP', name: '3. Các Vấn đề Học tập (Learning Problems - LP • 5 câu)', color: '#0284c7' }, ef: { code: 'ef', short: 'EF', name: '4. Chức năng Điều hành (Executive Functioning - EF • 5 câu)', color: '#7c3aed' }, ag: { code: 'ag', short: 'AG', name: '5. Thách thức / Gây hấn (Defiance / Aggression - AG • 5 câu)', color: '#dc2626' }, pr: { code: 'pr', short: 'PR', name: '6. Quan hệ Bạn bè (Peer Relations - PR • 5 câu)', color: '#0d9488' } }; const connersItems = [ // 1. GIẢM CHÚ Ý (INATTENTION - IN) { id: 101, sc: 'in', t: 'Thời gian tập trung chú ý rất ngắn, dễ bỏ dở giữa chừng việc đang làm.' }, { id: 102, sc: 'in', t: 'Mơ màng, lơ đãng hoặc có vẻ tâm trí đang "ở trên mây" khi nghe giảng/trò chuyện.' }, { id: 103, sc: 'in', t: 'Dễ bị thu hút, xao nhãng bởi bất kỳ âm thanh hay chuyển động nhỏ nào xung quanh.' }, { id: 104, sc: 'in', t: 'Chỉ tập trung được khi chơi điện tử/xem thứ cực kỳ yêu thích, nhưng mất chú ý ngay với bài vở thường ngày.' }, { id: 105, sc: 'in', t: 'Bỏ sót các chi tiết quan trọng và mắc nhiều lỗi bất cẩn không đáng có.' }, // 2. TĂNG ĐỘNG / XUNG ĐỘNG (HYPERACTIVITY/IMPULSIVITY - HY) { id: 106, sc: 'hy', t: 'Bồn chồn, không thể ngồi yên trên ghế mà luôn ngọ nguậy tay chân hoặc đứng lên ngồi xuống.' }, { id: 107, sc: 'hy', t: 'Hành động bốc đồng mà không kịp suy nghĩ đến hậu quả ("Làm trước nghĩ sau").' }, { id: 108, sc: 'hy', t: 'Dư thừa năng lượng, chạy nhảy hoặc leo trèo liên tục không biết mệt.' }, { id: 109, sc: 'hy', t: 'Rất mất kiên nhẫn khi phải chờ đến lượt mình trong trò chơi hoặc khi xếp hàng.' }, { id: 110, sc: 'hy', t: 'Gây ồn ào, nói liên hồi và hay chen ngang khi người khác đang bận hoặc đang nói chuyện.' }, // 3. CÁC VẤN ĐỀ HỌC TẬP (LEARNING PROBLEMS - LP) { id: 111, sc: 'lp', t: 'Gặp khó khăn trong việc đọc hiểu văn bản hoặc đánh vần/viết chính tả.' }, { id: 112, sc: 'lp', t: 'Khó nhớ các khái niệm toán học, bảng tính hoặc trình tự giải bài toán.' }, { id: 113, sc: 'lp', t: 'Cần người lớn giải thích lại nhiều lần mới hiểu được yêu cầu của bài học.' }, { id: 114, sc: 'lp', t: 'Học trước quên sau: những kiến thức hôm qua vừa thuộc hôm nay đã quên.' }, { id: 115, sc: 'lp', t: 'Chậm hoàn thành bài viết trên lớp và gặp khó khăn khi diễn đạt ý nghĩ thành câu chữ.' }, // 4. CHỨC NĂNG ĐIỀU HÀNH (EXECUTIVE FUNCTIONING - EF) { id: 116, sc: 'ef', t: 'Rất khó tự bắt đầu (khởi xướng) làm bài tập hay công việc nếu không có người ngồi cạnh đốc thúc.' }, { id: 117, sc: 'ef', t: 'Không biết cách lập kế hoạch trước hoặc không biết phải bắt đầu từ bước nào khi có nhiều việc cần làm.' }, { id: 118, sc: 'ef', t: 'Cặp sách, bàn học và phòng ngủ luôn trong tình trạng lộn xộn, thất lạc đồ đạc.' }, { id: 119, sc: 'ef', t: 'Quản lý thời gian kém: luôn lề mề, trễ giờ hoặc để nước đến chân mới nhảy.' }, { id: 120, sc: 'ef', t: 'Gặp khó khăn lớn khi phải chuyển đổi linh hoạt từ hoạt động/quy tắc này sang hoạt động khác.' }, // 5. THÁCH THỨC / GÂY HẤN (DEFIANCE / AGGRESSION - AG) { id: 121, sc: 'ag', t: 'Cãi lời, chống đối hoặc từ chối làm theo yêu cầu hợp lý của cha mẹ và giáo viên.' }, { id: 122, sc: 'ag', t: 'Dễ bùng nổ cơn giận dữ, la hét hoặc ném đồ đạc khi không vừa ý.' }, { id: 123, sc: 'ag', t: 'Cố tình trêu chọc, gây sự hoặc đổ lỗi cho người khác.' }, { id: 124, sc: 'ag', t: 'Có hành vi hung hăng lời nói (đe dọa) hoặc tay chân (đánh, đẩy) với trẻ khác.' }, { id: 125, sc: 'ag', t: 'Khó chấp nhận lời phê bình và giữ thái độ thù địch, bướng bỉnh kéo dài.' }, // 6. QUAN HỆ BẠN BÈ (PEER RELATIONS - PR) { id: 126, sc: 'pr', t: 'Gặp khó khăn lớn trong việc kết bạn hoặc giữ tình bạn lâu dài với bạn cùng trang lứa.' }, { id: 127, sc: 'pr', t: 'Hay bị các bạn cùng lớp từ chối chơi cùng, né tránh hoặc không được mời tham gia nhóm.' }, { id: 128, sc: 'pr', t: 'Không nhận ra các tín hiệu xã hội khi bạn bè đang khó chịu với hành vi quá trớn của mình.' }, { id: 129, sc: 'pr', t: 'Thường xuyên xảy ra xung đột, cãi vã hoặc muốn làm chỉ huy áp đặt bạn khi chơi chung.' }, { id: 130, sc: 'pr', t: 'Có vẻ cô lập, lạc lõng trong tập thể lớp học hoặc các hoạt động ngoại khóa.' } ]; let activeTool = 'vanderbilt'; // 'vanderbilt' | 'conners3' let filterSub = 'all'; // vanScores[id]: Câu 1..47 lưu 0..3; Câu 48..55 lưu 1..5 let vanScores = {}; // conScores[id]: Câu 101..130 lưu 0..3 let conScores = {}; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .ad-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } .ad-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .ad-inner { padding: 24px; max-width: 980px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .ad-wrap.is-fullscreen .ad-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .ad-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(234, 88, 12, 0.45), 0 0 0 0 rgba(234, 88, 12, 0.4); } 70% { box-shadow: 0 6px 20px rgba(234, 88, 12, 0.45), 0 0 0 10px rgba(234, 88, 12, 0); } 100% { box-shadow: 0 6px 20px rgba(234, 88, 12, 0.45), 0 0 0 0 rgba(234, 88, 12, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #c2410c 0%, #ea580c 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(234, 88, 12, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Bộ chuyển đổi 2 Thang đo: NICHQ Vanderbilt vs Conners-3 */ .tool-switcher { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; background: #f1f5f9; padding: 10px; border-radius: 12px; margin-bottom: 18px; } .tool-btn { padding: 12px 14px; border-radius: 9px; border: 2px solid transparent; background: rgba(255, 255, 255, 0.7); cursor: pointer; text-align: left; transition: all 0.2s ease; touch-action: manipulation; } .tool-btn:hover { background: #ffffff; } .tool-btn.active { background: #ffffff; border-color: #ea580c; box-shadow: 0 3px 10px rgba(15, 23, 42, 0.08); } .tool-btn-title { font-size: 14.5px; font-weight: 800; color: #0f172a; display: block; } .tool-btn.active .tool-btn-title { color: #c2410c; } .tool-btn-sub { font-size: 12px; color: #64748b; margin-top: 3px; display: block; } .ad-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .ad-header-text { flex: 1 1 260px; } .ad-title { font-size: 20px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .ad-desc { font-size: 13.8px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #fff7ed; color: #c2410c; border: 1px solid #fed7aa; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #ea580c; color: #ffffff; border-color: #ea580c; } .ad-controls { display: flex; flex-direction: column; gap: 10px; margin-bottom: 18px; } .ad-presets { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; } .ad-preset-lbl { font-size: 12.5px; font-weight: 700; color: #475569; margin-right: 4px; } .ad-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; touch-action: manipulation; } .ad-pbtn:hover { background: #f1f5f9; } .ad-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } .ad-sub-tabs { display: flex; flex-wrap: wrap; gap: 6px; } .ad-stab { padding: 6px 11px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .ad-stab.active { background: #ea580c; color: #ffffff; border-color: #ea580c; } /* Sticky Dashboard */ .ad-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .ad-wrap.is-fullscreen .ad-dash { top: 58px; } .ad-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .ad-score-big { font-size: 20px; font-weight: 800; line-height: 1.25; } .ad-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .ad-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .ad-pillars { display: grid; grid-template-columns: repeat(6, 1fr); gap: 6px; font-size: 11.5px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .ad-pillar-box { background: #1e293b; padding: 7px 8px; border-radius: 8px; border-left: 3px solid #475569; } .ad-pillar-box.pos { border-left-color: #ef4444; background: rgba(239, 68, 68, 0.16); } .ad-pillar-box.neg { border-left-color: #10b981; } .ad-pillar-val { font-weight: 800; color: #ffffff; font-size: 13px; display: block; margin-top: 2px; } /* Danh sách câu hỏi */ .ad-item { border: 1px solid #e2e8f0; border-radius: 10px; padding: 13px 15px; margin-bottom: 10px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 8px; } .ad-item.pos-sym { border-color: #fda4af; background: #fff5f5; } .ad-item.mid-sym { border-color: #fde68a; background: #fffbeb; } .ad-item-title { font-size: 14.5px; font-weight: 600; color: #1e293b; } .ad-tags { display: flex; flex-wrap: wrap; gap: 6px; } .ad-tag { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .ad-ans-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; } .ad-ans-grid.grid-5 { grid-template-columns: repeat(5, 1fr); } .ad-abtn { padding: 8px 6px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 11.8px; font-weight: 700; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .ad-abtn:hover { border-color: #64748b; } .ad-abtn.sel-ok { background: #10b981; border-color: #10b981; color: #ffffff; } .ad-abtn.sel-mid { background: #3b82f6; border-color: #3b82f6; color: #ffffff; } .ad-abtn.sel-warn { background: #f59e0b; border-color: #f59e0b; color: #ffffff; } .ad-abtn.sel-high { background: #ef4444; border-color: #ef4444; color: #ffffff; } /* Biểu đồ & Bảng tổng hợp */ .ad-chart-card { margin-top: 20px; padding: 16px 18px; border-radius: 12px; background: #ffffff; border: 1px solid #e2e8f0; } .ad-bar-row { display: flex; align-items: center; gap: 10px; margin-bottom: 9px; font-size: 12.5px; } .ad-bar-lbl { width: 280px; flex-shrink: 0; font-weight: 600; color: #334155; } .ad-bar-track { flex: 1; height: 16px; background: #f1f5f9; border-radius: 999px; overflow: hidden; } .ad-bar-val { width: 155px; text-align: right; font-weight: 700; color: #0f172a; flex-shrink: 0; } .ad-result-box { margin-top: 16px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #ea580c; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 780px) { .ad-inner { padding: 14px; } .tool-switcher { grid-template-columns: 1fr; } .ad-title { font-size: 18px; } .ad-pillars { grid-template-columns: 1fr 1fr; } .ad-ans-grid, .ad-ans-grid.grid-5 { grid-template-columns: 1fr 1fr; } .ad-bar-lbl { width: 145px; font-size: 11.5px; } .ad-bar-val { width: 115px; font-size: 11px; } .ad-pbtn.reset { margin-left: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
1. Thang Đánh Giá Chẩn Đoán ADHD NICHQ Vanderbilt (Đầy Đủ 55 Câu Hỏi • Chuẩn AAP)
' + '' + 'Công cụ tiêu chuẩn của Viện Hàn lâm Nhi khoa Hoa Kỳ (AAP — Mark Wolraich, 2003) gồm 47 câu triệu chứng (chấm 0–3, tính là Dương tính khi đạt mức 2 hoặc 3) và 8 câu Hiệu suất Học tập & Quan hệ (chấm 1–5, tính là Suy giảm khi có ≥ 1 câu đạt mức 4 hoặc 5).' + '
'; subTabs.innerHTML = '' + '' + '' + '' + '' + '' + ''; } else { headerInfo.innerHTML = '2. Thang Đánh Giá Hành Vi Toàn Diện Conners-3 (6 Tiểu Thang Nội Dung • Quy Đổi Điểm Chuẩn T-Score)
' + '' + 'Công cụ định lượng chuẩn hóa của Tiến sĩ C. Keith Conners (2008) cho trẻ từ 6 đến 18 tuổi. Đo lường mức độ nghiêm trọng qua Điểm chuẩn T-Score (Mean = 50, SD = 10) trên 6 lĩnh vực: Giảm chú ý (IN), Tăng động (HY), Học tập (LP), Chức năng Điều hành (EF), Gây hấn (AG) và Quan hệ Bạn bè (PR).' + '
'; subTabs.innerHTML = '' + '' + '' + '' + '' + '' + ''; } subTabs.querySelectorAll('.ad-stab').forEach(tab => { tab.onclick = function() { filterSub = this.getAttribute('data-sub'); subTabs.querySelectorAll('.ad-stab').forEach(t => t.classList.remove('active')); this.classList.add('active'); renderQuestions(); }; }); } function renderQuestions() { questionList.innerHTML = ''; const symBtns = [ { val: 0, lbl: '0 - Không bao giờ', cls: 'sel-ok' }, { val: 1, lbl: '1 - Thỉnh thoảng', cls: 'sel-mid' }, { val: 2, lbl: '2 - Thường xuyên (★ Đạt)', cls: 'sel-warn' }, { val: 3, lbl: '3 - Rất thường xuyên (★)', cls: 'sel-high' } ]; const perfBtns = [ { val: 1, lbl: '1 - Xuất sắc', cls: 'sel-ok' }, { val: 2, lbl: '2 - Trên trung bình', cls: 'sel-ok' }, { val: 3, lbl: '3 - Trung bình (Đạt)', cls: 'sel-mid' }, { val: 4, lbl: '4 - Có chút vấn đề (★)', cls: 'sel-warn' }, { val: 5, lbl: '5 - Nghiêm trọng (★)', cls: 'sel-high' } ]; if (activeTool === 'vanderbilt') { vanderbiltItems.forEach(function(it) { if (filterSub !== 'all' && it.grp !== filterSub) return; const isPerf = (it.grp === 'perf'); const defVal = isPerf ? 3 : 0; const uVal = (vanScores[it.id] !== undefined) ? vanScores[it.id] : defVal; const gCfg = vanderbiltGroups[it.grp]; let rowCls = 'ad-item'; if (!isPerf) { if (uVal >= 2) rowCls += ' pos-sym'; else if (uVal === 1) rowCls += ' mid-sym'; } else { if (uVal >= 4) rowCls += ' pos-sym'; } const btns = isPerf ? perfBtns : symBtns; const gridCls = isPerf ? 'ad-ans-grid grid-5' : 'ad-ans-grid'; const btnsHtml = btns.map(b => { const cls = 'ad-abtn' + (uVal === b.val ? ' ' + b.cls : ''); return ''; }).join(''); const el = document.createElement('div'); el.className = rowCls; el.innerHTML = '' + '' + '• 2. Tổng Điểm Nặng Nhẹ Triệu chứng ADHD (Total ADHD Symptom Score — Câu 1–18): Đạt ' + totalADHDRaw + ' / 54 điểm (Dùng làm mốc Baseline để theo dõi hiệu quả sau điều trị tâm lý/hành vi hoặc thuốc mỗi tháng).
' + '• 3. Sàng lọc Rối loạn Đồng mắc: ' + (comorbidities.length > 0 ? '⚠️ Phát hiện dấu hiệu vượt ngưỡng của: ' + comorbidities.join('; ') + '.' : '✓ Không vượt ngưỡng cắt ở các nhóm ODD, CD và Lo âu/Trầm cảm.') + '
' + '• 💡 Lưu ý chuẩn DSM-5-TR: Để xác lập chẩn đoán ADHD chính thức, các triệu chứng cần xuất hiện trước 12 tuổi và biểu hiện ở ít nhất 2 môi trường (cần đối chiếu cả Phiếu Phụ huynh và Phiếu Giáo viên).'; } else { // CONNERS-3 SUMMARY const raw = { in: 0, hy: 0, lp: 0, ef: 0, ag: 0, pr: 0 }; connersItems.forEach(function(it) { raw[it.sc] += (conScores[it.id] !== undefined) ? conScores[it.id] : 0; }); const tMap = { in: calcConnersT(raw.in, 15), hy: calcConnersT(raw.hy, 15), lp: calcConnersT(raw.lp, 15), ef: calcConnersT(raw.ef, 15), ag: calcConnersT(raw.ag, 15), pr: calcConnersT(raw.pr, 15) }; const adhdIndexT = Math.round((tMap.in + tMap.hy + tMap.ef) / 3); const cIndex = classifyConnersT(adhdIndexT); dashPillars.innerHTML = Object.keys(connersScales).map(k => { const sCfg = connersScales[k]; const cInfo = classifyConnersT(tMap[k]); return ( '
' + '• 2. Phân tích Chức năng Điều hành (EF = ' + tMap.ef + 'T) & Học tập (LP = ' + tMap.lp + 'T): ' + (tMap.ef >= 65 ? 'Trẻ gặp suy giảm rõ rệt ở khả năng tự khởi xướng công việc, tổ chức bàn học, quản lý thời gian và chuyển tiếp hoạt động. Cần hỗ trợ bằng thời gian biểu trực quan, đồng hồ đếm ngược (Visual Timer) và chia nhỏ bài tập.' : 'Chức năng điều hành và lập kế hoạch tương đối ổn định.') + '
' + '• 3. Tương tác Bạn bè (PR = ' + tMap.pr + 'T) & Kiểm soát Hành vi (AG = ' + tMap.ag + 'T): ' + (tMap.pr >= 65 ? 'Lưu ý: Ở trẻ có cả đặc điểm Tự kỷ (ASD) và ADHD, điểm PR (Quan hệ bạn bè) và EF (Chức năng điều hành) thường tăng rất cao (≥ 70T); cần kết hợp đối chiếu thêm với thang SRS-2 để can thiệp đồng thời kỹ năng xã hội và kiểm soát xung động.' : 'Quan hệ bạn bè và kiểm soát cảm xúc trong giới hạn cho phép.'); } updateFloatingFabVisibility(); } function applyPreset(type) { vanScores = {}; conScores = {}; vanderbiltItems.forEach(it => { vanScores[it.id] = (it.grp === 'perf') ? 3 : 0; }); connersItems.forEach(it => { conScores[it.id] = 0; }); if (type === 'reset' || type === 'normal') { if (type === 'normal') { vanderbiltItems.forEach((it, idx) => { if (it.grp !== 'perf') vanScores[it.id] = (idx % 4 === 0) ? 1 : 0; else vanScores[it.id] = 2; }); connersItems.forEach((it, idx) => { conScores[it.id] = (idx % 3 === 0) ? 1 : 0; }); } renderQuestions(); updateSummary(); return; } if (type === 'combined') { // ADHD Thể Hỗn hợp: 7/9 Giảm chú ý + 7/9 Tăng động + Suy giảm hiệu suất + EF/PR cao trên Conners-3 vanderbiltItems.forEach(it => { if (it.grp === 'ina') vanScores[it.id] = (it.id <= 7) ? 3 : 1; else if (it.grp === 'hyp') vanScores[it.id] = (it.id { if (it.sc === 'in' || it.sc === 'hy' || it.sc === 'ef') conScores[it.id] = 2; else if (it.sc === 'lp' || it.sc === 'pr') conScores[it.id] = 2; else conScores[it.id] = 1; }); } else if (type === 'inattentive') { // ADHD Thể Giảm chú ý đơn thuần: 8/9 Giảm chú ý, chỉ 2/9 Tăng động + EF & LP cao vanderbiltItems.forEach(it => { if (it.grp === 'ina') vanScores[it.id] = (it.id <= 8) ? 2 : 1; else if (it.grp === 'hyp') vanScores[it.id] = (it.id <= 11) ? 2 : 0; else if (it.grp === 'perf') vanScores[it.id] = (it.id { if (it.sc === 'in' || it.sc === 'ef' || it.sc === 'lp') conScores[it.id] = 2; else conScores[it.id] = 0; }); } else if (type === 'odd_comorbid') { // ADHD kèm Thách thức chống đối (ODD >= 5/8) vanderbiltItems.forEach(it => { if (it.grp === 'ina' || it.grp === 'hyp') vanScores[it.id] = 2; else if (it.grp === 'odd') vanScores[it.id] = (it.id = 52) ? 5 : 4; }); connersItems.forEach(it => { if (it.sc === 'in' || it.sc === 'hy' || it.sc === 'ag' || it.sc === 'pr') conScores[it.id] = 3; else conScores[it.id] = 2; }); } renderQuestions(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); adWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { adWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 980px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } shadow.querySelectorAll('#toolSwitcher .tool-btn').forEach(function(btn) { btn.onclick = function() { activeTool = this.getAttribute('data-tool'); shadow.querySelectorAll('#toolSwitcher .tool-btn').forEach(b => b.classList.remove('active')); this.classList.add('active'); renderHeaderAndTabs(); renderQuestions(); updateSummary(); }; }); shadow.querySelectorAll('.ad-pbtn').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-preset')); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); renderHeaderAndTabs(); applyPreset('combined'); })();
Thang đo NICHQ Vanderbilt (Vanderbilt ADHD Diagnostic Rating Scale — VADRS) và Thang đo Conners-3(Conners Comprehensive Behavior Rating Scales, 3rd Edition) là bộ đôi công cụ đánh giá Rối loạn Tăng động Giảm chú ý (ADHD) và các rối loạn hành vi đồng mắc (Bướng bỉnh chống đối – ODD, Rối loạn hành vi – CD, Lo âu/Trầm cảm, Chức năng điều hành) phổ biến nhất thế giới hiện nay.
Trong thực hành lâm sàng với trẻ Rối loạn phổ tự kỷ (ASD), nghiên cứu chỉ ra rằng có tới 40% – 70% trẻ tự kỷ đồng mắc các triệu chứng của ADHD. Do đó, việc sở hữu bộ đôi công cụ Vanderbilt và Conners-3 trên website sẽ giúp hoàn thiện mảnh ghép chẩn đoán phân biệt và chẩn đoán đồng mắc (DSM-5-TR đã chính thức cho phép chẩn đoán đồng mắc cả ASD và ADHD trên cùng một bệnh nhân).
1. So sánh lâm sàng giữa NICHQ Vanderbilt và Conners-3
[Ngôn ngữ] PLS-5 & CELF: Công cụ đánh giá chuyên sâu rối loạn ngôn ngữ và phân biệt Chậm nói đơn thuần với Tự kỷ
PLS-5 (Preschool Language Scales) hoặc CELF: Là hai công cụ đánh giá chuyên sâu về Rối loạn ngôn ngữ bao gồm cả ngôn ngữ hiểu và diễn đạt, giúp phân biệt trẻ Chậm nói đơn thuần với trẻ Tự kỷ.
(function() { const host = document.getElementById('slp-wp-host'); if (!host) return; const placeholder = document.createComment('slp-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // ========================================================= // PHẦN 1: DỮ LIỆU THANG ĐO NGÔN NGỮ MẦM NON PLS-5 (0 - 95 THÁNG / 0 - 7 TUỔI 11 THÁNG) // Chia thành 2 Thang chính: AC (Auditory Comprehension - 8 bậc) và EC (Expressive Communication - 8 bậc) // ========================================================= const pls5Items = [ // THANG 1: NGHE HIỂU THÍNH GIÁC (AUDITORY COMPREHENSION - AC • 8 BẬC TỪ 0 -> 84 THÁNG) { id: 1, scale: 'ac', refAge: 6, name: 'AC-1 (Mốc 0–9 tháng): Chú ý Thính giác & Phản ứng Tiền ngôn ngữ', desc: 'Trẻ quay đầu tìm nguồn âm thanh, nhìn chăm chú vào mặt người đang nói chuyện, hưởng ứng trò chơi Ú òa và hiểu giọng nói ngăn cản "Không!".' }, { id: 2, scale: 'ac', refAge: 14, name: 'AC-2 (Mốc 10–17 tháng): Hiểu Cử chỉ, Tên đồ vật quen thuộc & Mệnh lệnh 1 bước', desc: 'Quay lại ngay khi nghe gọi tên, nhìn theo hướng tay người lớn chỉ (Chú ý chung), chỉ đúng 3–5 bộ phận cơ thể/đồ vật quen thuộc và làm theo mệnh lệnh đơn ("Đưa bóng cho mẹ").' }, { id: 3, scale: 'ac', refAge: 22, name: 'AC-3 (Mốc 18–24 tháng): Chơi Biểu tượng, Chỉ tranh Danh từ/Động từ & Hiểu Giới từ cơ bản', desc: 'Biết chơi giả vờ với búp bê (cho ăn, ru ngủ), chỉ đúng 10–15 bức tranh danh từ và hành động (đang ăn, đang chạy, đang ngủ) trong sách tranh PLS-5, hiểu vị trí "Trong / Trên".' }, { id: 4, scale: 'ac', refAge: 32, name: 'AC-4 (Mốc 25–35 tháng): Hiểu Công dụng Đồ vật, Đại từ nhân xưng & Khái niệm Kích thước/Số lượng', desc: 'Chỉ đúng đồ vật theo công dụng ("Cái gì dùng để cắt/để uống?"), hiểu đại từ (Của con, Của cô, Anh ấy, Cô ấy), phân biệt To – Nhỏ, Một – Nhiều và làm theo mệnh lệnh 2 bước.' }, { id: 5, scale: 'ac', refAge: 44, name: 'AC-5 (Mốc 36–47 tháng / 3–4 tuổi): Hiểu Câu phủ định, Khái niệm Màu sắc, Không gian & Phân loại', desc: 'Hiểu câu phủ định ("Con nào KHÔNG biết bay?"), giới từ (Dưới, Cạnh, Trước, Sau), nhận diện 4 màu sắc, hiểu khái niệm cảm xúc và so sánh hơn.' }, { id: 6, scale: 'ac', refAge: 56, name: 'AC-6 (Mốc 48–59 tháng / 4–5 tuổi): Hiểu Câu phức, Câu bị động, Khái niệm Thời gian & Suy luận', desc: 'Hiểu các câu có mệnh đề phụ ("Trước khi..., Sau khi..."), phân biệt Sáng – Tối, Hôm qua – Ngày mai, đếm số lượng đến 5–10 và suy luận nguyên nhân tình huống.' }, { id: 7, scale: 'ac', refAge: 70, name: 'AC-7 (Mốc 60–71 tháng / 5–6 tuổi): Nghe hiểu Đoạn truyện ngắn, Nhận thức Âm vị & Khái niệm Thứ tự', desc: 'Nghe một đoạn truyện ngắn và trả lời đúng các câu hỏi chi tiết/suy luận, hiểu vị trí Đầu tiên – Ở giữa – Cuối cùng, nhận biết các từ bắt đầu cùng âm hoặc vần với nhau.' }, { id: 8, scale: 'ac', refAge: 84, name: 'AC-8 (Mốc 72–95 tháng / 6–7 tuổi): Hiểu Ngôn ngữ Học thuật, Thành ngữ/Ẩn dụ & Chỉ dẫn Phức hợp 3 bước', desc: 'Hiểu các cấu trúc câu phức tạp nhiều tầng, từ đồng nghĩa – trái nghĩa, suy luận ý định nhân vật (Thuyết tâm trí) và thực hiện chính xác chỉ dẫn đa bước.' }, // THANG 2: GIAO TIẾP DIỄN ĐẠT (EXPRESSIVE COMMUNICATION - EC • 8 BẬC TỪ 0 -> 84 THÁNG) { id: 9, scale: 'ec', refAge: 6, name: 'EC-1 (Mốc 0–9 tháng): Phát âm Tiền ngôn ngữ, Mỉm cười Xã hội & Bập bẹ Phụ âm – Nguyên âm', desc: 'Giao tiếp mắt mỉm cười, phát âm gù gù đáp trả và bập bẹ chuỗi âm tiết lặp lại ("ba-ba", "ma-ma", "đa-đa") với ít nhất 3–4 phụ âm khác nhau.' }, { id: 10, scale: 'ec', refAge: 14, name: 'EC-2 (Mốc 10–17 tháng): Giao tiếp Có chủ đích bằng Cử chỉ (Chỉ trỏ, Khoe đồ) & Nói 2–10 Từ đơn', desc: 'Chủ động chỉ ngón trỏ để yêu cầu hoặc chia sẻ sự chú ý kèm nhìn mắt, vẫy tay chào và nói chủ động từ 2 đến 10 từ đơn có nghĩa.' }, { id: 11, scale: 'ec', refAge: 22, name: 'EC-3 (Mốc 18–24 tháng): Vốn từ ≥ 50 từ, Gọi tên Tranh ảnh & Kết hợp Cụm 2–3 từ', desc: 'Gọi tên đúng các đồ vật quen thuộc trong sách PLS-5 và tự ghép 2–3 từ thành cụm từ có nghĩa ("Mẹ bế", "Uống sữa nữa", "Xe chạy kìa").' }, { id: 12, scale: 'ec', refAge: 32, name: 'EC-4 (Mốc 25–35 tháng): Nói Câu 3–4 từ, Đặt câu hỏi "Cái gì/Ở đâu?" & Dùng Đại từ/Giới từ', desc: 'Sử dụng câu có Chủ ngữ – Vị ngữ – Tân ngữ để mô tả tranh hành động, xưng "Con", dùng từ chỉ sở hữu và trả lời câu hỏi Ai / Cái gì / Đang làm gì.' }, { id: 13, scale: 'ec', refAge: 44, name: 'EC-5 (Mốc 36–47 tháng / 3–4 tuổi): Trả lời Câu hỏi "Tại sao/Như thế nào?", Giải thích Công dụng & Hội thoại', desc: 'Trả lời hợp lý câu hỏi "Tại sao con phải rửa tay?", "Khi đói con làm gì?", nói câu phức có từ nối ("và", "vì") và duy trì hội thoại qua lại 3–4 lượt.' }, { id: 14, scale: 'ec', refAge: 56, name: 'EC-6 (Mốc 48–59 tháng / 4–5 tuổi): Định nghĩa Từ vựng, Mô tả Điểm giống/khác nhau & Lặp lại câu dài', desc: 'Giải thích nghĩa của từ theo đặc điểm/danh mục, dùng đúng các từ chỉ thời gian quá khứ/tương lai và hoàn thành câu theo quy luật ngữ pháp.' }, { id: 15, scale: 'ec', refAge: 70, name: 'EC-7 (Mốc 60–71 tháng / 5–6 tuổi): Kể lại Câu chuyện có Mở – Thân – Kết theo Tranh & Giải quyết Vấn đề', desc: 'Sắp xếp và kể lại trọn vẹn câu chuyện theo chuỗi tranh một cách mạch lạc, trả lời câu hỏi xử lý tình huống xã hội và tách ghép âm tiết.' }, { id: 16, scale: 'ec', refAge: 84, name: 'EC-8 (Mốc 72–95 tháng / 6–7 tuổi): Đặt câu từ các Từ cho sẵn, Ngôn ngữ Trừu tượng & Thuyết phục', desc: 'Tự đặt câu hoàn chỉnh chứa 2–3 từ khóa cho trước (VD: "mặc dù... nhưng..."), giải thích từ đa nghĩa và sử dụng ngôn ngữ ngữ dụng linh hoạt.' } ]; // ========================================================= // PHẦN 2: DỮ LIỆU ĐÁNH GIÁ NGÔN NGỮ LÂM SÀNG CELF-5 (5 - 21 TUỔI • 10 TIỂU TRẮC NGHIỆM + PRAGMATICS) // Chấm trên thang Điểm chuẩn Tiểu trắc nghiệm Scaled Score (1 -> 19, Trung bình = 10, SD = 3) // ========================================================= const celf5Subtests = [ { id: 'SC', indices: ['CLS', 'RLI', 'LSI'], color: '#2563eb', name: '1. Hiểu Câu (Sentence Comprehension - SC) ★ [Thuộc CLS, RLI, LSI]', desc: 'Trẻ nghe một câu có cấu trúc ngữ pháp phức tạp dần và phải chỉ chọn đúng bức tranh tương ứng trong 4 bức tranh có các chi tiết gây nhiễu sát nhau.', measure: 'Đo lường khả năng giải mã cấu trúc ngữ pháp – cú pháp trong ngôn ngữ tiếp nhận.' }, { id: 'WC', indices: ['CLS', 'RLI', 'LCI'], color: '#0284c7', name: '2. Nhóm Từ / Quan hệ Từ vựng (Word Classes - WC) ★ [Thuộc CLS, RLI, LCI]', desc: 'Trẻ nhìn/nghe 3 – 4 từ (hoặc tranh) và phải chọn ra 2 từ có mối liên hệ ngữ nghĩa chặt chẽ nhất với nhau (VD: "Gối – Giường – Thước – Bút").', measure: 'Đo lường khả năng hiểu mối quan hệ ngữ nghĩa liên kết, phân loại khái niệm và suy luận từ vựng.' }, { id: 'FD', indices: ['CLS', 'RLI', 'LCI'], color: '#0d9488', name: '3. Làm theo Chỉ dẫn (Following Directions - FD) ★ [Thuộc CLS, RLI, LCI]', desc: 'Trẻ nghe một mệnh lệnh dài có chứa các khái niệm vị trí, thứ tự, kích thước, màu sắc và phải chỉ tay đúng vào các hình học theo đúng trình tự yêu cầu (VD: "Chỉ vào hình tròn màu đen thứ hai trước khi chỉ vào hình vuông lớn cuối cùng").', measure: 'Đo lường khả năng nghe hiểu chỉ dẫn phức hợp và trí nhớ làm việc ngôn ngữ ngắn hạn.' }, { id: 'WS', indices: ['CLS', 'ELI', 'LSI'], color: '#7c3aed', name: '4. Cấu trúc Từ / Hình thái – Ngữ pháp (Word Structure - WS) [Thuộc CLS, ELI, LSI]', desc: 'Người khám đọc một câu mẫu kèm tranh và bỏ lửng câu thứ hai để trẻ tự điền từ/cấu trúc ngữ pháp đúng (thì quá khứ/tương lai, từ chỉ số nhiều, sở hữu, so sánh, bị động).', measure: 'Đo lường khả năng vận dụng quy tắc ngữ pháp – hình thái học trong diễn đạt.' }, { id: 'RS', indices: ['CLS', 'ELI', 'LSI'], color: '#6d28d9', name: '5. Nhắc lại Câu (Recalling Sentences - RS) ★ [Thuộc CLS, ELI, LSI — Tiểu thang nhạy nhất với DLD]', desc: 'Trẻ nghe người khám đọc các câu có độ dài và độ phức tạp cú pháp tăng dần, sau đó phải nhắc lại nguyên văn từng chữ mà không được thêm bớt hay đổi từ.', measure: 'Chỉ báo lâm sàng nhạy bén số 1 thế giới để phát hiện Rối loạn Ngôn ngữ Phát triển (DLD): vì trẻ chỉ có thể nhắc lại câu dài nếu não bộ đã nắm vững cấu trúc cú pháp đó!' }, { id: 'FS', indices: ['CLS', 'ELI', 'LSI'], color: '#9333ea', name: '6. Đặt câu từ Từ khóa (Formulated Sentences - FS) ★ [Thuộc CLS, ELI, LSI]', desc: 'Trẻ nhìn một bức tranh bối cảnh sinh hoạt và phải tự đặt một câu nói hoàn chỉnh, đúng ngữ pháp, hợp ngữ cảnh có sử dụng 1 hoặc 2 từ khóa bắt buộc do người khám đưa ra (VD: đặt câu có từ "mặc dù" hoặc "trước khi").', measure: 'Đo lường khả năng lập kế hoạch cú pháp và diễn đạt câu phức trong ngữ cảnh thực tế.' }, { id: 'WD', indices: ['ELI', 'LCI'], color: '#10b981', name: '7. Định nghĩa Từ (Word Definitions - WD) [Thuộc ELI, LCI]', desc: 'Trẻ nghe một từ vựng trong câu và phải tự định nghĩa, giải thích chính xác ý nghĩa bản chất của từ đó bằng lời của mình.', measure: 'Đo lường độ sâu của vốn từ vựng diễn đạt và khả năng khái quát hóa ngôn ngữ.' }, { id: 'USP', indices: ['RLI', 'LCI'], color: '#059669', name: '8. Nghe hiểu Đoạn văn (Understanding Spoken Paragraphs - USP) [Thuộc RLI, LCI]', desc: 'Người khám đọc một đoạn truyện ngắn và hỏi trẻ các câu hỏi đánh giá: Ý chính, Chi tiết sự kiện, Trình tự, Suy luận nguyên nhân và Dự đoán điều sẽ xảy ra tiếp theo.', measure: 'Đo lường khả năng tích hợp thông tin ngôn ngữ bậc cao và suy luận văn bản.' }, { id: 'SR', indices: ['RLI', 'ELI', 'LCI'], color: '#f59e0b', name: '9. Quan hệ Ngữ nghĩa (Semantic Relationships - SR) [Thuộc LCI]', desc: 'Trẻ giải quyết các câu hỏi chứa mối quan hệ so sánh, không gian, thời gian và bị động phức tạp (VD: "Nam cao hơn Hùng nhưng thấp hơn Minh. Ai thấp nhất?").', measure: 'Đo lường khả năng xử lý logic ngữ nghĩa trừu tượng.' }, { id: 'PP', indices: ['PRAG'], color: '#dc2626', name: '10. Hồ sơ Ngôn ngữ Ngữ dụng (Pragmatics Profile & Pragmatics Activities - PP) ★ [Đặc hiệu cho ASD & SPCD]', desc: 'Đánh giá hơn 50 kỹ năng giao tiếp xã hội thực tế: giao tiếp mắt, đọc biểu cảm nét mặt/giọng điệu, biết bắt đầu – duy trì – chuyển chủ đề hội thoại, hiểu lời nói đùa/ẩn ý và xin lỗi/nhờ giúp đỡ phù hợp.', measure: 'Đo lường năng lực sử dụng ngôn ngữ trong tương tác xã hội (Ngữ dụng học — Pragmatics).' } ]; let activeTool = 'pls5'; // 'pls5' | 'celf5' let plsChildMonths = 36; // Tuổi thực cho PLS-5 (1 -> 95 tháng) // plsScores[id]: 2 (Đạt thành thạo), 1 (Đang hình thành), 0 (Chưa đạt) let plsScores = {}; // celfSS[id]: Scaled Score từ 1 đến 19 (Mean = 10, SD = 3) let celfSS = {}; let filterSub = 'all'; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .sl-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } .sl-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .sl-inner { padding: 24px; max-width: 980px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .sl-wrap.is-fullscreen .sl-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .sl-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 0 rgba(37, 99, 235, 0.4); } 70% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 10px rgba(37, 99, 235, 0); } 100% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 0 rgba(37, 99, 235, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #1d4ed8 0%, #2563eb 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Bộ chuyển đổi 2 Thang đo: PLS-5 vs CELF-5 */ .tool-switcher { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; background: #f1f5f9; padding: 10px; border-radius: 12px; margin-bottom: 18px; } .tool-btn { padding: 12px 14px; border-radius: 9px; border: 2px solid transparent; background: rgba(255, 255, 255, 0.7); cursor: pointer; text-align: left; transition: all 0.2s ease; touch-action: manipulation; } .tool-btn:hover { background: #ffffff; } .tool-btn.active { background: #ffffff; border-color: #2563eb; box-shadow: 0 3px 10px rgba(15, 23, 42, 0.08); } .tool-btn-title { font-size: 14.5px; font-weight: 800; color: #0f172a; display: block; } .tool-btn.active .tool-btn-title { color: #1d4ed8; } .tool-btn-sub { font-size: 12px; color: #64748b; margin-top: 3px; display: block; } .sl-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .sl-header-text { flex: 1 1 260px; } .sl-title { font-size: 20px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .sl-desc { font-size: 13.8px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #eff6ff; color: #1d4ed8; border: 1px solid #bfdbfe; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #2563eb; color: #ffffff; border-color: #2563eb; } .sl-controls { display: flex; flex-direction: column; gap: 10px; margin-bottom: 18px; } .sl-age-bar { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; background: #eff6ff; padding: 10px 14px; border-radius: 10px; border: 1px solid #bfdbfe; } .sl-select { padding: 7px 12px; border: 1px solid #2563eb; border-radius: 7px; font-size: 13.5px; font-weight: 700; color: #1e3a8a; background: #ffffff; } .sl-presets { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; } .sl-preset-lbl { font-size: 12.5px; font-weight: 700; color: #475569; margin-right: 4px; } .sl-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; touch-action: manipulation; } .sl-pbtn:hover { background: #f1f5f9; } .sl-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } /* Sticky Dashboard */ .sl-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .sl-wrap.is-fullscreen .sl-dash { top: 58px; } .sl-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .sl-score-big { font-size: 20px; font-weight: 800; line-height: 1.25; } .sl-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .sl-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .sl-pillars { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; font-size: 11.5px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .sl-pillar-box { background: #1e293b; padding: 7px 9px; border-radius: 8px; border-left: 3px solid #475569; } .sl-pillar-box.avg { border-left-color: #10b981; } .sl-pillar-box.mild { border-left-color: #f59e0b; background: rgba(245, 158, 11, 0.14); } .sl-pillar-box.sev { border-left-color: #ef4444; background: rgba(239, 68, 68, 0.16); } .sl-pillar-val { font-weight: 800; color: #ffffff; font-size: 13px; display: block; margin-top: 2px; } /* Danh sách mục */ .sl-item { border: 1px solid #e2e8f0; border-radius: 12px; padding: 14px 16px; margin-bottom: 12px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 8px; } .sl-item.pass-item { border-color: #a7f3d0; background: #f0fdf4; } .sl-item.mid-item { border-color: #fde68a; background: #fffbeb; } .sl-item.fail-item { border-color: #fca5a5; background: #fff5f5; } .sl-item-title { font-size: 15px; font-weight: 800; color: #0f172a; } .sl-item-desc { font-size: 13.4px; color: #334155; } .sl-tags { display: flex; flex-wrap: wrap; gap: 6px; } .sl-tag { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .sl-ans-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 2px; } .sl-ans-grid.grid-7 { grid-template-columns: repeat(7, 1fr); gap: 6px; } .sl-abtn { padding: 8px 6px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 700; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .sl-abtn:hover { border-color: #64748b; } .sl-abtn.sel-high { background: #2563eb; border-color: #2563eb; color: #ffffff; } .sl-abtn.sel-ok { background: #10b981; border-color: #10b981; color: #ffffff; } .sl-abtn.sel-warn { background: #f59e0b; border-color: #f59e0b; color: #ffffff; } .sl-abtn.sel-low { background: #ef4444; border-color: #ef4444; color: #ffffff; } /* Bảng Báo cáo Chuẩn Âm ngữ Trị liệu */ .sl-table-card { margin-top: 20px; padding: 16px 18px; border-radius: 12px; background: #ffffff; border: 1px solid #e2e8f0; overflow-x: auto; } .sl-table { width: 100%; border-collapse: collapse; font-size: 13px; min-width: 640px; } .sl-table th, .sl-table td { border: 1px solid #cbd5e1; padding: 8px 10px; text-align: center; } .sl-table th { background: #f1f5f9; font-weight: 800; color: #0f172a; } .sl-result-box { margin-top: 16px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #2563eb; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 780px) { .sl-inner { padding: 14px; } .tool-switcher { grid-template-columns: 1fr; } .sl-title { font-size: 18px; } .sl-pillars { grid-template-columns: 1fr 1fr; } .sl-ans-grid { grid-template-columns: 1fr; } .sl-ans-grid.grid-7 { grid-template-columns: repeat(4, 1fr); } .sl-pbtn.reset { margin-left: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
| Thang đo / Chỉ số Ngôn ngữ (Scale / Index) | Thành phần đánh giá | Điểm Chuẩn (Standard Score: 50–150) | Bách phân vị (Percentile) | Phân loại Mức độ Lâm sàng (SLP) |
|---|
1. Thang Đo Ngôn Ngữ Mầm Non PLS-5 — Preschool Language Scales, 5th Edition (0 Đến 7 Tuổi 11 Tháng)
' + '' + 'Công cụ tiêu chuẩn vàng của Zimmerman, Steiner & Pond (2011) đánh giá toàn diện từ giai đoạn tiền ngôn ngữ đến ngôn ngữ đầu tiểu học qua 2 thang: Nghe hiểu Thính giác (Auditory Comprehension - AC) và Giao tiếp Diễn đạt (Expressive Communication - EC), tổng hợp thành Tổng điểm Ngôn ngữ (Total Language Score - TLS).' + '
'; } else { plsAgeBar.style.display = 'none'; headerInfo.innerHTML = '2. Hệ Thống Đánh Giá Cơ Bản Ngôn Ngữ Lâm Sàng CELF-5 — Clinical Evaluation of Language Fundamentals (5 Đến 21 Tuổi)
' + '' + 'Công cụ chẩn đoán chuyên sâu của Wiig, Secord & Semel (2013) tính toán 5 Chỉ số Chuẩn hóa: Ngôn ngữ Cốt lõi (CLS), Tiếp nhận (RLI), Diễn đạt (ELI), Nội dung Ngữ nghĩa (LCI), Cấu trúc Ngữ pháp (LSI) và Hồ sơ Ngữ dụng (Pragmatics Profile).' + '
'; } } function renderItems() { itemList.innerHTML = ''; if (activeTool === 'pls5') { const curAge = parseInt(selPlsAge.value, 10) || 36; const plsBtns = [ { val: 2, lbl: 'Đạt thành thạo (Pass = 1.0)', cls: 'sel-ok' }, { val: 1, lbl: 'Đang hình thành (Emerging = 0.5)', cls: 'sel-warn' }, { val: 0, lbl: 'Chưa đạt (Fail = 0)', cls: 'sel-low' } ]; pls5Items.forEach(function(it) { const uVal = (plsScores[it.id] !== undefined) ? plsScores[it.id] : 0; const isAC = (it.scale === 'ac'); const badgeColor = isAC ? '#2563eb' : '#7c3aed'; const scaleLabel = isAC ? '1. Nghe hiểu Thính giác (Auditory Comprehension - AC)' : '2. Giao tiếp Diễn đạt (Expressive Communication - EC)'; let rowCls = 'sl-item '; if (uVal === 2) rowCls += 'pass-item'; else if (uVal === 1) rowCls += 'mid-item'; else if (it.refAge { const cls = 'sl-abtn' + (uVal === b.val ? ' ' + b.cls : ''); return ''; }).join(''); const ageNote = (it.refAge <= curAge) ? 'Mốc ≤ tuổi thực của bé (' + it.refAge + 'm ≤ ' + curAge + 'm)' : 'Mốc cao hơn tuổi hiện tại (' + it.refAge + 'm)'; const el = document.createElement('div'); el.className = rowCls; el.innerHTML = '' + '🎯 ' + st.measure + '
' + '• 2. Đề xuất Mục tiêu Can thiệp Âm ngữ Trị liệu (SLP): Tập trung dạy ngay tại bậc kỹ năng đầu tiên đang đạt mức Đang hình thành (1đ) hoặc Chưa đạt (0đ) ở bảng trên (Ưu tiên xây dựng Chú ý chung, Cử chỉ chỉ trỏ và Chơi biểu tượng trước khi ép trẻ nói câu dài).'; } else { // CELF-5 SUMMARY const ss = {}; celf5Subtests.forEach(st => { ss[st.id] = (celfSS[st.id] !== undefined) ? celfSS[st.id] : 10; }); // Tính 5 Chỉ số Chuẩn hóa của CELF-5 + Hồ sơ Ngữ dụng (PP) const indCLS = scaledAvgToStandard((ss.SC + ss.WC + ss.FD + ss.WS + ss.RS + ss.FS) / 6); const indRLI = scaledAvgToStandard((ss.SC + ss.WC + ss.FD + ss.USP) / 4); const indELI = scaledAvgToStandard((ss.WS + ss.RS + ss.FS + ss.WD) / 4); const indLCI = scaledAvgToStandard((ss.WC + ss.FD + ss.WD + ss.USP + ss.SR) / 5); const indLSI = scaledAvgToStandard((ss.SC + ss.WS + ss.RS + ss.FS) / 4); const indPRAG = scaledAvgToStandard(ss.PP); const cCLS = classifyLangStandardScore(indCLS); const cRLI = classifyLangStandardScore(indRLI); const cELI = classifyLangStandardScore(indELI); const cLCI = classifyLangStandardScore(indLCI); const cLSI = classifyLangStandardScore(indLSI); const cPRAG = classifyLangStandardScore(indPRAG); dashHeadline.textContent = 'CELF-5 Ngôn Ngữ Cốt Lõi (CLS): ' + indCLS + ' • Tiếp Nhận (RLI): ' + indRLI + ' • Diễn Đạt (ELI): ' + indELI; dashSub.textContent = 'Nội dung Ngữ nghĩa (LCI): ' + indLCI + ' • Cấu trúc Cú pháp (LSI): ' + indLSI + ' • Hồ sơ Ngữ dụng (PP): ' + indPRAG; dashPillars.innerHTML = '
' + ' Trẻ có năng lực từ vựng và ngữ pháp cấu trúc hoàn toàn bình thường (CLS = ' + indCLS + ', LSI = ' + indLSI + '), nhưng lại sụt giảm nặng ở Hồ sơ Ngữ dụng (Pragmatics Profile = ' + indPRAG + ' ≤ 77). Trẻ nói được câu dài đúng ngữ pháp nhưng không biết cách dùng ngôn ngữ để hội thoại qua lại, không hiểu ẩn ý/nói đùa và thiếu tinh tế xã hội.'; } else if (indCLS = 86) { diffAnalysis = '• 🔍 Phát hiện Kiểu hình Điển hình của Rối loạn Ngôn ngữ Phát triển (DLD — Mã ICD-11: 6A01.2):
' + ' Trẻ bị suy giảm rõ rệt ở Ngôn ngữ Cốt lõi (CLS = ' + indCLS + ') và tiểu thang Nhắc lại câu (RS = ' + ss.RS + '), nhưng Hồ sơ Ngữ dụng và ý định giao tiếp xã hội vẫn tốt (PP = ' + indPRAG + ' ≥ 86). Điều này giúp phân biệt DLD thuần túy với Rối loạn phổ tự kỷ!'; } else if (indCLS <= 77 && indPRAG <= 77) { diffAnalysis = '• 🚨 Ghi nhận Suy giảm Kép cả Cấu trúc Ngôn ngữ (CLS = ' + indCLS + ') lẫn Ngữ dụng Xã hội (PP = ' + indPRAG + '):
' + ' Thường gặp ở trẻ Rối loạn phổ tự kỷ có kèm suy giảm ngôn ngữ chức năng (Mã ICD-11: 6A02.2 / DSM-5-TR). Cần can thiệp đồng thời cả mở rộng cấu trúc câu/từ vựng lẫn kỹ năng tương tác hội thoại xã hội.'; } else { diffAnalysis = '• ✓ Hồ sơ Ngôn ngữ Học đường Ổn định: Cả 5 chỉ số ngôn ngữ cốt lõi và kỹ năng ngữ dụng đều nằm trong giới hạn bình thường của lứa tuổi.'; } resultBox.innerHTML = '
' + '• So sánh Nội dung Ngữ nghĩa (LCI = ' + indLCI + ') vs. Cấu trúc Cú pháp (LSI = ' + indLSI + '): ' + (Math.abs(indLCI - indLSI) >= 15 ? (indLCI > indLSI ? 'Vốn từ vựng ngữ nghĩa tốt hơn hẳn khả năng sắp xếp ngữ pháp câu (Cần tập trung rèn cú pháp đặt câu).' : 'Cấu trúc câu máy móc tốt hơn sự thấu hiểu sâu về ngữ nghĩa/đoạn văn (Hiện tượng Hyperlexia thường gặp ở trẻ ASD).') : 'Phát triển tương đối đồng đều giữa từ vựng ngữ nghĩa và cấu trúc ngữ pháp.'); } updateFloatingFabVisibility(); } function applyPreset(type) { plsScores = {}; celfSS = {}; const curAge = parseInt(selPlsAge.value, 10) || 36; if (type === 'reset') { pls5Items.forEach(it => { plsScores[it.id] = 0; }); celf5Subtests.forEach(st => { celfSS[st.id] = 10; }); renderItems(); updateSummary(); return; } if (type === 'normal') { pls5Items.forEach(it => { plsScores[it.id] = (it.refAge <= curAge) ? 2 : ((it.refAge { celfSS[st.id] = 10; }); } else if (type === 'exp_delay') { // Nghe hiểu tốt (AC / RLI ~100), nhưng Diễn đạt thấp (EC / ELI ~68) pls5Items.forEach(it => { if (it.scale === 'ac') { plsScores[it.id] = (it.refAge <= curAge) ? 2 : 0; } else { plsScores[it.id] = (it.refAge <= curAge * 0.55) ? 2 : 0; } }); celfSS = { SC: 10, WC: 10, FD: 10, USP: 10, SR: 10, WS: 5, RS: 5, FS: 5, WD: 7, PP: 10 }; } else if (type === 'dld_severe') { // Rối loạn ngôn ngữ hỗn hợp (Cả tiếp nhận và diễn đạt đều thấp { plsScores[it.id] = (it.refAge { if (it.id === 2 || it.id === 3 || it.id === 10 || it.id === 13) plsScores[it.id] = 1; else plsScores[it.id] = (it.refAge <= curAge) ? 2 : 0; }); celfSS = { SC: 12, WC: 12, FD: 10, WS: 12, RS: 12, FS: 10, WD: 10, USP: 5, SR: 7, PP: 3 }; } renderItems(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); slWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { slWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 980px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } shadow.querySelectorAll('#toolSwitcher .tool-btn').forEach(function(btn) { btn.onclick = function() { activeTool = this.getAttribute('data-tool'); shadow.querySelectorAll('#toolSwitcher .tool-btn').forEach(b => b.classList.remove('active')); this.classList.add('active'); renderHeader(); renderItems(); updateSummary(); }; }); selPlsAge.onchange = () => { applyPreset('exp_delay'); }; shadow.querySelectorAll('.sl-pbtn').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-preset')); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); renderHeader(); applyPreset('asd_prag'); })();
PLS-5 (Preschool Language Scales, Fifth Edition) và CELF-5 / CELF-P3 (Clinical Evaluation of Language Fundamentals) là bộ đôi “Tiêu chuẩn vàng” (Gold Standard) toàn cầu trong chuyên ngành Âm ngữ Trị liệu (Speech-Language Pathology – SLP) để đánh giá chẩn đoán toàn diện các rối loạn ngôn ngữ phát triển, chậm nói và khiếm khuyết ngôn ngữ ngữ dụng ở trẻ Tự kỷ (ASD), Rối loạn ngôn ngữ phát triển (DLD) và ADHD.
Trong thực hành lâm sàng, hai công cụ này tạo thành một trục nối tiếp hoàn hảo theo độ tuổi: PLS-5 bao phủ giai đoạn từ sơ sinh đến 7 tuổi, và CELF-5 tiếp nối từ 5 tuổi đến 21 tuổi.
1. So sánh lâm sàng giữa PLS-5 và CELF-5
[Cảm xúc - Hành vi] CBCL (Achenbach): Bảng kiểm đánh giá tổng thể các vấn đề cảm xúc và hành vi ở trẻ (1.5 – 18 tuổi)
CBCL (Child Behavior Checklist – Bảng kiểm hành vi trẻ em Achenbach): Đánh giá tổng thể các vấn đề cảm xúc và hành vi (lo âu, trầm cảm, chống đối, thu mình…) ở trẻ từ 1.5 đến 18 tuổi.
(function() { const host = document.getElementById('cbcl-wp-host'); if (!host) return; const placeholder = document.createComment('cbcl-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // ========================================================= // 1. CẤU HÌNH BẢN MẦM NON CBCL/1.5-5 (18 THÁNG - 5 TUỔI • 7 THANG HỘI CHỨNG) // ========================================================= const preschoolScales = { er: { code: 'er', broad: 'int', dsm: 'asd', name: '1. Phản ứng Cảm xúc (Emotionally Reactive - ER)', color: '#2563eb' }, ad: { code: 'ad', broad: 'int', dsm: 'anx', name: '2. Lo âu / Trầm cảm (Anxious/Depressed - AD)', color: '#0284c7' }, sc: { code: 'sc', broad: 'int', dsm: 'som', name: '3. Than phiền Cơ thể (Somatic Complaints - SC)', color: '#0d9488' }, wi: { code: 'wi', broad: 'int', dsm: 'asd', name: '4. Thu mình / Cô lập (Withdrawn - WI ★ Tự kỷ)', color: '#7c3aed' }, sl: { code: 'sl', broad: 'oth', dsm: 'slp', name: '5. Các Vấn đề Giấc ngủ (Sleep Problems - SL)', color: '#6366f1' }, ap: { code: 'ap', broad: 'ext', dsm: 'adh', name: '6. Các Vấn đề Chú ý (Attention Problems - AP)', color: '#f59e0b' }, ag: { code: 'ag', broad: 'ext', dsm: 'odd', name: '7. Hành vi Hung tính (Aggressive Behavior - AG)', color: '#dc2626' } }; // 42 mục cốt lõi đại diện đầy đủ 7 Thang Hội chứng của CBCL/1.5-5 (Mỗi thang 6 mục trọng tâm, chấm 0-1-2) const preschoolItems = [ // 1. PHẢN ỨNG CẢM XÚC (EMOTIONALLY REACTIVE - ER • Thuộc INTERNALIZING & DSM-ASD) { id: 1, sc: 'er', dsmASD: true, t: 'Rất căng thẳng, hoảng loạn hoặc khóc thét khi có sự thay đổi trong lịch trình/thói quen hàng ngày.' }, { id: 2, sc: 'er', dsmASD: true, t: 'Bối rối, kích động khi người thân hoặc đồ vật bị chuyển sang vị trí khác với mọi khi.' }, { id: 3, sc: 'er', dsmASD: false, t: 'Tâm trạng thay đổi thất thường, đột ngột chuyển từ vui sang buồn/cáu gắt không rõ lý do.' }, { id: 4, sc: 'er', dsmASD: false, t: 'Quá lo lắng, bồn chồn hoặc dễ bị kích động cảm xúc.' }, { id: 5, sc: 'er', dsmASD: false, t: 'Có những biểu hiện co giật cơ mặt hoặc cử động căng thẳng khi xúc động.' }, { id: 6, sc: 'er', dsmASD: false, t: 'Rên rỉ, mếu máo hoặc dỗi hờn kéo dài.' }, // 2. LO ÂU / TRẦM CẢM (ANXIOUS/DEPRESSED - AD • Thuộc INTERNALIZING) { id: 7, sc: 'ad', dsmASD: false, t: 'Bám dính lấy người lớn hoặc quá phụ thuộc không chịu rời bố mẹ.' }, { id: 8, sc: 'ad', dsmASD: false, t: 'Cảm xúc dễ bị tổn thương, rất nhạy cảm trước lời phê bình hay nhắc nhở nhẹ.' }, { id: 9, sc: 'ad', dsmASD: false, t: 'Quá sợ hãi trước một số con vật, tình huống hoặc nơi chốn nhất định.' }, { id: 10, sc: 'ad', dsmASD: false, t: 'Trông có vẻ buồn bã, không vui hoặc ủ rũ.' }, { id: 11, sc: 'ad', dsmASD: false, t: 'Ngượng ngùng, tự ti hoặc quá sợ sệt khi gặp người lạ.' }, { id: 12, sc: 'ad', dsmASD: false, t: 'Quá căng thẳng khi bị tách khỏi bố mẹ (như khi đến lớp mầm non).' }, // 3. THAN PHIỀN CƠ THỂ (SOMATIC COMPLAINTS - SC • Thuộc INTERNALIZING) { id: 13, sc: 'sc', dsmASD: false, t: 'Hay bị đau nhức cơ thể (đau đầu, đau chân tay) mà bác sĩ khám không tìm ra nguyên nhân thực tổn.' }, { id: 14, sc: 'sc', dsmASD: false, t: 'Hay bị đau bụng hoặc co thắt dạ dày khi căng thẳng.' }, { id: 15, sc: 'sc', dsmASD: false, t: 'Táo bón kéo dài hoặc giữ phân không chịu đi tiêu.' }, { id: 16, sc: 'sc', dsmASD: false, t: 'Buồn nôn, nôn ọe mà không do bệnh lý tiêu hóa.' }, { id: 17, sc: 'sc', dsmASD: false, t: 'Quá cầu toàn về sự sạch sẽ hoặc khó chịu cực mức khi quần áo/tay dính bẩn.' }, { id: 18, sc: 'sc', dsmASD: true, t: 'Kháng cự mạnh hoặc đau khổ trước một số âm thanh, mùi vị hoặc kết cấu thức ăn.' }, // 4. THU MÌNH / CÔ LẬP (WITHDRAWN - WI • Thuộc INTERNALIZING & ĐẶC HIỆU CHO DSM-5 AUTISM SPECTRUM) { id: 19, sc: 'wi', dsmASD: true, t: 'Tránh nhìn vào mắt người đối diện (Giao tiếp ánh mắt kém).' }, { id: 20, sc: 'wi', dsmASD: true, t: 'Không trả lời hoặc không quay lại khi người khác gọi tên hay nói chuyện cùng.' }, { id: 21, sc: 'wi', dsmASD: true, t: 'Ít thể hiện tình cảm ấm áp, âu yếm với người thân.' }, { id: 22, sc: 'wi', dsmASD: true, t: 'Có vẻ như đang ở trong thế giới riêng, thờ ơ không quan tâm đến những người xung quanh.' }, { id: 23, sc: 'wi', dsmASD: true, t: 'Từ chối tham gia các trò chơi vận động tương tác cùng trẻ khác (thích lủi thủi một mình).' }, { id: 24, sc: 'wi', dsmASD: true, t: 'Có những hành vi lặp đi lặp lại (đung đưa người, vẫy tay, xoay đồ vật) hoặc nhại lời.' }, // 5. VẤN ĐỀ GIẤC NGỦ (SLEEP PROBLEMS - SL) { id: 25, sc: 'sl', dsmASD: false, t: 'Không muốn ngủ một mình hoặc kháng cự việc lên giường đi ngủ vào buổi tối.' }, { id: 26, sc: 'sl', dsmASD: false, t: 'Rất khó đi vào giấc ngủ (trằn trọc lâu mới ngủ được).' }, { id: 27, sc: 'sl', dsmASD: false, t: 'Hay gặp ác mộng hoặc giật mình hoảng sợ khóc thét ban đêm.' }, { id: 28, sc: 'sl', dsmASD: false, t: 'Ngủ ít hơn hẳn so với đa số trẻ cùng độ tuổi (cả ngày lẫn đêm).' }, { id: 29, sc: 'sl', dsmASD: false, t: 'Thường xuyên thức giấc dậy giữa đêm và khó ngủ lại.' }, { id: 30, sc: 'sl', dsmASD: false, t: 'Nói mớ hoặc khóc lóc trong lúc đang ngủ.' }, // 6. VẤN ĐỀ CHÚ Ý (ATTENTION PROBLEMS - AP • Thuộc EXTERNALIZING & DSM-ADHD) { id: 31, sc: 'ap', dsmASD: false, t: 'Không thể tập trung chú ý lâu vào một hoạt động hoặc món đồ chơi.' }, { id: 32, sc: 'ap', dsmASD: false, t: 'Không thể ngồi yên được một lúc, luôn bồn chồn tăng động.' }, { id: 33, sc: 'ap', dsmASD: false, t: 'Nhanh chóng chuyển từ món đồ chơi này sang món đồ chơi khác mà không chơi trọn vẹn.' }, { id: 34, sc: 'ap', dsmASD: false, t: 'Đi lang thang hoặc chạy vụt đi mất mà không để ý an toàn.' }, { id: 35, sc: 'ap', dsmASD: false, t: 'Vụng về, phối hợp vận động kém hoặc hay làm rơi vỡ đồ vật do hấp tấp.' }, { id: 36, sc: 'ap', dsmASD: true, t: 'Chậm nói hoặc lời nói phát âm rất khó hiểu so với tuổi.' }, // 7. HÀNH VI HUNG TÍNH (AGGRESSIVE BEHAVIOR - AG • Thuộc EXTERNALIZING & DSM-ODD) { id: 37, sc: 'ag', dsmASD: false, t: 'Không thể chờ đợi, đòi hỏi mọi thứ mình muốn phải được đáp ứng ngay lập tức.' }, { id: 38, sc: 'ag', dsmASD: false, t: 'Bướng bỉnh, chống đối và không vâng lời người lớn.' }, { id: 39, sc: 'ag', dsmASD: false, t: 'Đánh, cắn, cấu hoặc xô đẩy người khác khi không vừa ý.' }, { id: 40, sc: 'ag', dsmASD: false, t: 'Đập phá đồ chơi của mình hoặc đồ đạc trong nhà.' }, { id: 41, sc: 'ag', dsmASD: false, t: 'Nổi cơn tam bành, ăn vạ giãy giụa dữ dội và la hét lớn.' }, { id: 42, sc: 'ag', dsmASD: false, t: 'Ích kỷ, không chịu chia sẻ đồ chơi hoặc dễ nổi giận khi bị nhắc nhở.' } ]; // ========================================================= // 2. CẤU HÌNH BẢN HỌC ĐƯỜNG CBCL/6-18 (6 - 18 TUỔI • 8 THANG HỘI CHỨNG) // ========================================================= const schoolScales = { ad: { code: 'ad', broad: 'int', name: '1. Lo âu / Trầm cảm (Anxious/Depressed - AD)', color: '#2563eb' }, wd: { code: 'wd', broad: 'int', name: '2. Thu mình / Trầm cảm (Withdrawn/Depressed - WD)', color: '#4f46e5' }, sc: { code: 'sc', broad: 'int', name: '3. Than phiền Cơ thể (Somatic Complaints - SC)', color: '#0d9488' }, sp: { code: 'sp', broad: 'oth', name: '4. Các Vấn đề Xã hội (Social Problems - SP)', color: '#0284c7' }, tp: { code: 'tp', broad: 'oth', name: '5. Các Vấn đề Tư duy (Thought Problems - TP ★ Ám ảnh/ASD)', color: '#7c3aed' }, ap: { code: 'ap', broad: 'oth', name: '6. Các Vấn đề Chú ý (Attention Problems - AP ★ ADHD)', color: '#f59e0b' }, rb: { code: 'rb', broad: 'ext', name: '7. Hành vi Phá vỡ Quy tắc (Rule-Breaking Behavior - RB)', color: '#ea580c' }, ag: { code: 'ag', broad: 'ext', name: '8. Hành vi Hung tính (Aggressive Behavior - AG)', color: '#dc2626' } }; // 48 mục cốt lõi đại diện đầy đủ 8 Thang Hội chứng của CBCL/6-18 (Mỗi thang 6 mục trọng tâm, chấm 0-1-2) const schoolItems = [ // 1. LO ÂU / TRẦM CẢM (ANXIOUS/DEPRESSED - AD • Thuộc INTERNALIZING & CBCL-DP) { id: 101, sc: 'ad', t: 'Khóc nhiều hoặc dễ bật khóc trước những chuyện nhỏ.' }, { id: 102, sc: 'ad', t: 'Sợ rằng mình có thể nghĩ hoặc làm điều gì đó sai trái; đòi hỏi bản thân phải hoàn hảo.' }, { id: 103, sc: 'ad', t: 'Cảm thấy không ai yêu thương mình hoặc cảm thấy bản thân vô giá trị, kém cỏi.' }, { id: 104, sc: 'ad', t: 'Căng thẳng, hồi hộp, sợ hãi hoặc lo âu quá mức.' }, { id: 105, sc: 'ad', t: 'Cảm thấy quá tội lỗi hoặc tự trách bản thân.' }, { id: 106, sc: 'ad', t: 'Hay lo lắng triền miên về việc học tập, gia đình hoặc tương lai.' }, // 2. THU MÌNH / TRẦM CẢM (WITHDRAWN/DEPRESSED - WD • Thuộc INTERNALIZING) { id: 107, sc: 'wd', t: 'Có rất ít điều khiến trẻ cảm thấy hứng thú hoặc vui vẻ.' }, { id: 108, sc: 'wd', t: 'Thích ở một mình hơn là ở cùng với những người khác.' }, { id: 109, sc: 'wd', t: 'Từ chối nói chuyện, thu mình khép kín và không chia sẻ tâm sự với ai.' }, { id: 110, sc: 'wd', t: 'Trông uể oải, hoạt động chậm chạp và thiếu năng lượng sống.' }, { id: 111, sc: 'wd', t: 'Buồn bã, ủ rũ hoặc trầm uất.' }, { id: 112, sc: 'wd', t: 'Nhút nhát, rụt rè và tránh tham gia các hoạt động tập thể.' }, // 3. THAN PHIỀN CƠ THỂ (SOMATIC COMPLAINTS - SC • Thuộc INTERNALIZING) { id: 113, sc: 'sc', t: 'Cảm thấy chóng mặt, choáng váng hoặc mệt mỏi quá mức mà không rõ lý do.' }, { id: 114, sc: 'sc', t: 'Than phiền bị đau nhức cơ thể (đau đầu, đau bụng, đau mỏi) không rõ nguyên nhân y khoa.' }, { id: 115, sc: 'sc', t: 'Buồn nôn, cảm thấy ốm hoặc khó chịu ở dạ dày khi áp lực đi học.' }, { id: 116, sc: 'sc', t: 'Than phiền về các vấn đề ở mắt hoặc da không do bệnh lý thực thể.' }, { id: 117, sc: 'sc', t: 'Hay gặp ác mộng hoặc rối loạn giấc ngủ đi kèm mệt mỏi cơ thể.' }, { id: 118, sc: 'sc', t: 'Than phiền tim đập nhanh hoặc khó thở khi căng thẳng.' }, // 4. VẤN ĐỀ XÃ HỘI (SOCIAL PROBLEMS - SP) { id: 119, sc: 'sp', t: 'Hành xử quá trẻ con, ngây ngô hơn nhiều so với độ tuổi thực.' }, { id: 120, sc: 'sp', t: 'Không hòa đồng với các trẻ khác, khó kết bạn đồng trang lứa.' }, { id: 121, sc: 'sp', t: 'Hay bị bạn bè trêu chọc, bắt nạt hoặc không được các bạn khác quý mến.' }, { id: 122, sc: 'sp', t: 'Thích chơi với những em nhỏ tuổi hơn mình thay vì bạn cùng tuổi.' }, { id: 123, sc: 'sp', t: 'Vụng về trong vận động và giao tiếp, dễ bị ngã hoặc gây tai nạn nhỏ.' }, { id: 124, sc: 'sp', t: 'Hay ghen tị hoặc cảm thấy người khác đang cố tình chống lại mình.' }, // 5. VẤN ĐỀ TƯ DUY (THOUGHT PROBLEMS - TP • Đặc trưng trong ASD, OCD & Tics) { id: 125, sc: 'tp', t: 'Không thể dứt đầu óc ra khỏi một số suy nghĩ hoặc ý tưởng ám ảnh nhất định (Obsessions).' }, { id: 126, sc: 'tp', t: 'Lặp đi lặp lại một số hành động hoặc nghi thức cố định liên tục (Compulsions / Stereotypies).' }, { id: 127, sc: 'tp', t: 'Có những hành vi kỳ lạ hoặc những ý tưởng khác thường.' }, { id: 128, sc: 'tp', t: 'Nhìn chằm chằm vào khoảng không hoặc có các cử động máy giật (Tics) / cạy da / xoay đồ vật.' }, { id: 129, sc: 'tp', t: 'Tích trữ nhiều đồ vật không cần thiết hoặc gắn bó kỳ lạ với một số đồ vật.' }, { id: 130, sc: 'tp', t: 'Gặp các vấn đề nghiêm trọng về giấc ngủ (mộng du, nói mớ, thức đêm).' }, // 6. VẤN ĐỀ CHÚ Ý (ATTENTION PROBLEMS - AP • Đặc trưng trong ADHD & CBCL-DP) { id: 131, sc: 'ap', t: 'Không thể tập trung, không thể duy trì sự chú ý lâu vào bài học hoặc công việc.' }, { id: 132, sc: 'ap', t: 'Không thể ngồi yên, luôn bồn chồn, ngọ nguậy hoặc tăng động.' }, { id: 133, sc: 'ap', t: 'Hay bối rối, lơ đãng hoặc đắm chìm trong mơ màng giữa giờ học.' }, { id: 134, sc: 'ap', t: 'Hấp tấp, bốc đồng, hành động mà không kịp suy nghĩ trước.' }, { id: 135, sc: 'ap', t: 'Không hoàn thành những việc đã bắt đầu làm; kết quả học tập ở trường kém.' }, { id: 136, sc: 'ap', t: 'Vụng về hoặc gặp khó khăn trong việc tổ chức sắp xếp công việc.' }, // 7. HÀNH VI PHÁ VỠ QUY TẮC (RULE-BREAKING BEHAVIOR - RB • Thuộc EXTERNALIZING) { id: 137, sc: 'rb', t: 'Không cảm thấy có lỗi hay hối hận sau khi đã hành xử sai trái.' }, { id: 138, sc: 'rb', t: 'Phá vỡ các nội quy ở nhà, ở trường hoặc ngoài xã hội.' }, { id: 139, sc: 'rb', t: 'Giao du với những nhóm bạn hay gây rắc rối.' }, { id: 140, sc: 'rb', t: 'Nói dối hoặc gian lận để trốn tránh trách nhiệm.' }, { id: 141, sc: 'rb', t: 'Lấy cắp đồ ở nhà hoặc bên ngoài; hoặc trốn học không xin phép.' }, { id: 142, sc: 'rb', t: 'Nói tục, chửi thề hoặc thích nghịch lửa.' }, // 8. HÀNH VI HUNG TÍNH (AGGRESSIVE BEHAVIOR - AG • Thuộc EXTERNALIZING & CBCL-DP) { id: 143, sc: 'ag', t: 'Hay tranh cãi tay đôi và bất tuân lời người lớn ở nhà/ở trường.' }, { id: 144, sc: 'ag', t: 'Bắt nạt, hung hăng hoặc đe dọa người khác.' }, { id: 145, sc: 'ag', t: 'Phá hỏng đồ đạc của chính mình hoặc của gia đình/người khác.' }, { id: 146, sc: 'ag', t: 'Đánh nhau hoặc tấn công thể xác người khác khi tức giận.' }, { id: 147, sc: 'ag', t: 'Nóng nảy, hay nổi cơn thịnh nộ, la hét ầm ĩ và đòi hỏi phải được chiều ý ngay.' }, { id: 148, sc: 'ag', t: 'Bướng bỉnh, lì lợm, cau có và dễ bị kích động.' } ]; let activeForm = 'preschool'; // 'preschool' (CBCL/1.5-5) | 'school' (CBCL/6-18) let filterSub = 'all'; let scoresPreschool = {}; // 0, 1, 2 let scoresSchool = {}; // 0, 1, 2 let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .cb-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } .cb-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .cb-inner { padding: 24px; max-width: 980px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .cb-wrap.is-fullscreen .cb-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .cb-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 0 rgba(37, 99, 235, 0.4); } 70% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 10px rgba(37, 99, 235, 0); } 100% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 0 rgba(37, 99, 235, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #1d4ed8 0%, #2563eb 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Bộ chuyển đổi 2 Phiên bản CBCL */ .form-switcher { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; background: #f1f5f9; padding: 10px; border-radius: 12px; margin-bottom: 18px; } .form-btn { padding: 12px 14px; border-radius: 9px; border: 2px solid transparent; background: rgba(255, 255, 255, 0.7); cursor: pointer; text-align: left; transition: all 0.2s ease; touch-action: manipulation; } .form-btn:hover { background: #ffffff; } .form-btn.active { background: #ffffff; border-color: #2563eb; box-shadow: 0 3px 10px rgba(15, 23, 42, 0.08); } .form-btn-title { font-size: 14.5px; font-weight: 800; color: #0f172a; display: block; } .form-btn.active .form-btn-title { color: #1d4ed8; } .form-btn-sub { font-size: 12px; color: #64748b; margin-top: 3px; display: block; } .cb-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .cb-header-text { flex: 1 1 260px; } .cb-title { font-size: 20px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .cb-desc { font-size: 13.8px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #eff6ff; color: #1d4ed8; border: 1px solid #bfdbfe; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #2563eb; color: #ffffff; border-color: #2563eb; } .cb-controls { display: flex; flex-direction: column; gap: 10px; margin-bottom: 18px; } .cb-presets { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; } .cb-preset-lbl { font-size: 12.5px; font-weight: 700; color: #475569; margin-right: 4px; } .cb-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; touch-action: manipulation; } .cb-pbtn:hover { background: #f1f5f9; } .cb-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } .cb-sub-tabs { display: flex; flex-wrap: wrap; gap: 6px; } .cb-stab { padding: 6px 11px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .cb-stab.active { background: #2563eb; color: #ffffff; border-color: #2563eb; } /* Sticky Dashboard */ .cb-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .cb-wrap.is-fullscreen .cb-dash { top: 58px; } .cb-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .cb-score-big { font-size: 20px; font-weight: 800; line-height: 1.25; } .cb-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .cb-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .cb-pillars { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; font-size: 11.5px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .cb-pillar-box { background: #1e293b; padding: 7px 9px; border-radius: 8px; border-left: 3px solid #475569; } .cb-pillar-box.norm { border-left-color: #10b981; } .cb-pillar-box.bord { border-left-color: #f59e0b; background: rgba(245, 158, 11, 0.14); } .cb-pillar-box.clin { border-left-color: #ef4444; background: rgba(239, 68, 68, 0.16); } .cb-pillar-val { font-weight: 800; color: #ffffff; font-size: 13.5px; display: block; margin-top: 2px; } /* Danh sách câu hỏi */ .cb-item { border: 1px solid #e2e8f0; border-radius: 10px; padding: 13px 15px; margin-bottom: 10px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 8px; } .cb-item.pts-2 { border-color: #fda4af; background: #fff5f5; } .cb-item.pts-1 { border-color: #fde68a; background: #fffbeb; } .cb-item-title { font-size: 14.5px; font-weight: 600; color: #1e293b; } .cb-tags { display: flex; flex-wrap: wrap; gap: 6px; } .cb-tag { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .cb-ans-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; } .cb-abtn { padding: 8px 6px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 700; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .cb-abtn:hover { border-color: #64748b; } .cb-abtn.sel-0 { background: #10b981; border-color: #10b981; color: #ffffff; } .cb-abtn.sel-1 { background: #f59e0b; border-color: #f59e0b; color: #ffffff; } .cb-abtn.sel-2 { background: #ef4444; border-color: #ef4444; color: #ffffff; } /* Biểu đồ T-Score các Thang Hội chứng */ .cb-chart-card { margin-top: 20px; padding: 16px 18px; border-radius: 12px; background: #ffffff; border: 1px solid #e2e8f0; } .cb-bar-row { display: flex; align-items: center; gap: 10px; margin-bottom: 9px; font-size: 12.5px; } .cb-bar-lbl { width: 280px; flex-shrink: 0; font-weight: 600; color: #334155; } .cb-bar-track { flex: 1; height: 16px; background: #f1f5f9; border-radius: 999px; overflow: hidden; } .cb-bar-val { width: 155px; text-align: right; font-weight: 700; color: #0f172a; flex-shrink: 0; } .cb-result-box { margin-top: 16px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #2563eb; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 780px) { .cb-inner { padding: 14px; } .form-switcher { grid-template-columns: 1fr; } .cb-title { font-size: 18px; } .cb-pillars { grid-template-columns: 1fr 1fr; } .cb-ans-grid { grid-template-columns: 1fr; } .cb-bar-lbl { width: 145px; font-size: 11.5px; } .cb-bar-val { width: 115px; font-size: 11px; } .cb-pbtn.reset { margin-left: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
1. Bảng Kiểm Hành Vi Trẻ Em Mầm Non ASEBA CBCL/1½–5 (18 Tháng Đến 5 Tuổi)
' + '' + 'Công cụ chuẩn hóa của Giáo sư Thomas M. Achenbach cho trẻ từ 1.5 đến 5 tuổi qua 7 Thang Hội chứng, 3 Chỉ số Tổng hợp Lớn (Nội tâm hóa, Ngoại hiện hóa, Tổng vấn đề) và Thang Định hướng DSM-5 Vấn đề Phổ Tự kỷ (Autism Spectrum Problems).' + '
'; subTabs.innerHTML = '' + '' + '' + '' + '' + '' + '' + ''; } else { headerInfo.innerHTML = '2. Bảng Kiểm Hành Vi Trẻ Em Lứa Tuổi Học Đường ASEBA CBCL/6–18 (6 Đến 18 Tuổi)
' + '' + 'Đánh giá toàn diện 8 Thang Hội chứng Thực nghiệm ở lứa tuổi học đường (6 – 18 tuổi), phân tách rõ Nội tâm hóa (Internalizing) vs. Ngoại hiện hóa (Externalizing), các vấn đề Xã hội/Tư duy/Chú ý và phát hiện Hồ sơ Mất điều tiết Cảm xúc Nghiêm trọng (CBCL-DP).' + '
'; subTabs.innerHTML = '' + '' + '' + '' + '' + '' + '' + '' + ''; } subTabs.querySelectorAll('.cb-stab').forEach(tab => { tab.onclick = function() { filterSub = this.getAttribute('data-sub'); subTabs.querySelectorAll('.cb-stab').forEach(t => t.classList.remove('active')); this.classList.add('active'); renderQuestions(); }; }); } function renderQuestions() { questionList.innerHTML = ''; const ansBtns = [ { val: 0, lbl: '0 - Không đúng (Not True)' }, { val: 1, lbl: '1 - Đôi khi / Đúng một phần (Sometimes)' }, { val: 2, lbl: '2 - Rất đúng / Thường xuyên (Very True)' } ]; const list = (activeForm === 'preschool') ? preschoolItems : schoolItems; const scaleMap = (activeForm === 'preschool') ? preschoolScales : schoolScales; const store = (activeForm === 'preschool') ? scoresPreschool : scoresSchool; list.forEach(function(it, idx) { if (filterSub !== 'all' && it.sc !== filterSub) return; const uVal = (store[it.id] !== undefined) ? store[it.id] : 0; const sCfg = scaleMap[it.sc]; let rowCls = 'cb-item'; if (uVal === 2) rowCls += ' pts-2'; else if (uVal === 1) rowCls += ' pts-1'; const btnsHtml = ansBtns.map(b => { const cls = 'cb-abtn' + (uVal === b.val ? ' sel-' + b.val : ''); return ''; }).join(''); const broadTag = (sCfg.broad === 'int') ? 'Nội tâm hóa (Internalizing)' : (sCfg.broad === 'ext' ? 'Ngoại hiện hóa (Externalizing)' : 'Hội chứng chuyên biệt'); const asdTag = it.dsmASD ? '★ Thuộc Thang DSM-5 Phổ Tự kỷ' : ''; const el = document.createElement('div'); el.className = rowCls; el.innerHTML = '' + '' + ' – Nội tâm hóa (Internalizing = ER+AD+SC+WI): ' + tInt + 'T (' + cInt.text + ').
' + ' – Ngoại hiện hóa (Externalizing = AP+AG): ' + tExt + 'T (' + cExt.text + ').
' + ' – Tổng các vấn đề (Total Problems): ' + tTot + 'T (' + cTot.text + ').
' + '• 2. Các Tiểu thang Hội chứng Vượt ngưỡng (≥ 65T): ' + (elevatedSyndromes.join(', ') || 'Không có thang hội chứng nào vượt ngưỡng 65T.') + '
' + '• 3. Đánh giá Chuyên biệt Thang DSM-5 Vấn đề Phổ Tự kỷ (Autism Spectrum Problems = ' + tDSM_ASD + 'T): ' + (tDSM_ASD >= 65 ? '⚠️ Điểm số trên thang Thu mình (Withdrawn) và Thang DSM-5 Phổ Tự kỷ (' + tDSM_ASD + 'T ≥ 65T) tăng cao có ý nghĩa lâm sàng. Theo nghiên cứu của Achenbach & Rescorla, sự kết hợp giữa Thu mình (WI) + Phản ứng cảm xúc (ER) + Vấn đề chú ý (AP) trên CBCL/1½–5 có độ nhạy rất cao với Rối loạn phổ tự kỷ (ASD); khuyến nghị thực hiện ngay chẩn đoán chuyên sâu bằng ADOS-2 / CARS-2 / DSM-5-TR.' : '✓ Điểm số trên thang DSM-5 Phổ Tự kỷ nằm trong giới hạn bình thường (≤ 64T).'); } else { // CBCL/6-18 SUMMARY const raw = { ad: 0, wd: 0, sc: 0, sp: 0, tp: 0, ap: 0, rb: 0, ag: 0 }; schoolItems.forEach(function(it) { const v = (scoresSchool[it.id] !== undefined) ? scoresSchool[it.id] : 0; raw[it.sc] += v; }); const intRaw = raw.ad + raw.wd + raw.sc; // 18 mục -> Max 36 const extRaw = raw.rb + raw.ag; // 12 mục -> Max 24 const totRaw = intRaw + extRaw + raw.sp + raw.tp + raw.ap; // 48 mục -> Max 96 const tInt = calcBroadbandT(intRaw, 36); const tExt = calcBroadbandT(extRaw, 24); const tTot = calcBroadbandT(totRaw, 96); const tMap = {}; Object.keys(schoolScales).forEach(k => { tMap[k] = calcSyndromeT(raw[k], 12); }); // Tính chỉ số Hồ sơ Mất điều tiết Cảm xúc Nghiêm trọng (CBCL-DP = T_AD + T_AP + T_AG, ngưỡng >= 210T) const dpSumT = tMap.ad + tMap.ap + tMap.ag; const isDP = (dpSumT >= 200); const cInt = classifyBroadbandT(tInt); const cExt = classifyBroadbandT(tExt); const cTot = classifyBroadbandT(tTot); dashHeadline.textContent = 'CBCL/6–18 Tổng Vấn Đề: ' + tTot + 'T • Nội Tâm Hóa: ' + tInt + 'T • Ngoại Hiện Hóa: ' + tExt + 'T'; dashPillars.innerHTML = '
' + '• 2. Các Thang Hội chứng Vượt ngưỡng (≥ 65T): ' + (elevatedList.join(', ') || 'Không có thang hội chứng nào vượt ngưỡng 65T.') + '
' + (isASDPattern ? '• 🧩 Phát hiện "Bộ Ba Tự Kỷ" trên CBCL/6–18 (Withdrawn/Depressed = ' + tMap.wd + 'T + Social Problems = ' + tMap.sp + 'T + Thought Problems = ' + tMap.tp + 'T): Nghiên cứu quốc tế chỉ ra rằng sự tăng cao đồng thời của 3 thang Thu mình (WD) + Vấn đề xã hội (SP) + Vấn đề tư duy (TP) là chữ ký đặc hiệu của Rối loạn phổ tự kỷ ở lứa tuổi học đường. Cần phối hợp đánh giá thêm bằng SRS-2 / ADOS-2.
' : '') + (isDP ? '• 🚨 Cảnh báo Hồ sơ Mất điều tiết Cảm xúc Nghiêm trọng (CBCL Dysregulation Profile / AAA = ' + dpSumT + 'T ≥ 200T): Tổng điểm T-Score của 3 thang Lo âu/Trầm cảm (' + tMap.ad + 'T) + Vấn đề chú ý (' + tMap.ap + 'T) + Hành vi hung tính (' + tMap.ag + 'T) đạt mức rất cao, phản ánh sự suy giảm nặng nề khả năng tự điều chỉnh cả cảm xúc, sự chú ý lẫn hành vi.' : ''); } updateFloatingFabVisibility(); } function applyPreset(type) { scoresPreschool = {}; scoresSchool = {}; preschoolItems.forEach(it => { scoresPreschool[it.id] = 0; }); schoolItems.forEach(it => { scoresSchool[it.id] = 0; }); if (type === 'reset' || type === 'normal') { if (type === 'normal') { preschoolItems.forEach((it, idx) => { scoresPreschool[it.id] = (idx % 5 === 0) ? 1 : 0; }); schoolItems.forEach((it, idx) => { scoresSchool[it.id] = (idx % 5 === 0) ? 1 : 0; }); } renderQuestions(); updateSummary(); return; } if (type === 'asd_profile') { // Kiểu hình Tự kỷ: Mầm non tăng cao WI, ER, AP; Học đường tăng cao WD, SP, TP, AP preschoolItems.forEach(it => { if (it.sc === 'wi' || it.dsmASD) scoresPreschool[it.id] = 2; else if (it.sc === 'er' || it.sc === 'ap' || it.sc === 'sl') scoresPreschool[it.id] = 1; }); schoolItems.forEach(it => { if (it.sc === 'wd' || it.sc === 'sp' || it.sc === 'tp') scoresSchool[it.id] = 2; else if (it.sc === 'ap') scoresSchool[it.id] = 1; }); } else if (type === 'internalizing') { // Nội tâm hóa: Lo âu/Trầm cảm + Thu mình + Than phiền cơ thể cao preschoolItems.forEach(it => { if (it.sc === 'er' || it.sc === 'ad' || it.sc === 'sc' || it.sc === 'wi') scoresPreschool[it.id] = 2; }); schoolItems.forEach(it => { if (it.sc === 'ad' || it.sc === 'wd' || it.sc === 'sc') scoresSchool[it.id] = 2; }); } else if (type === 'dysregulation') { // Hồ sơ mất điều tiết CBCL-DP: AD + AP + AG đều >= 70T preschoolItems.forEach(it => { if (it.sc === 'er' || it.sc === 'ad' || it.sc === 'ap' || it.sc === 'ag') scoresPreschool[it.id] = 2; }); schoolItems.forEach(it => { if (it.sc === 'ad' || it.sc === 'ap' || it.sc === 'ag' || it.sc === 'rb') scoresSchool[it.id] = 2; }); } renderQuestions(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); cbWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { cbWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 980px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } shadow.querySelectorAll('#formSwitcher .form-btn').forEach(function(btn) { btn.onclick = function() { activeForm = this.getAttribute('data-form'); shadow.querySelectorAll('#formSwitcher .form-btn').forEach(b => b.classList.remove('active')); this.classList.add('active'); renderHeaderAndTabs(); renderQuestions(); updateSummary(); }; }); shadow.querySelectorAll('.cb-pbtn').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-preset')); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); renderHeaderAndTabs(); applyPreset('asd_profile'); })();
CBCL (Child Behavior Checklist — Bảng Kiểm Hành Vi Trẻ Em) thuộc hệ thống ASEBA (Achenbach System of Empirically Based Assessment) do Giáo sư Thomas M. Achenbach (Đại học Vermont, Hoa Kỳ) phát triển là công cụ đánh giá tâm bệnh học, hành vi và cảm xúc phổ quát (Broad-band Behavioral Rating Scale) uy tín số 1 thế giới hiện nay (được sử dụng rộng rãi nhất tại các khoa Tâm thần Nhi, Tâm bệnh Bệnh viện Nhi Trung ương, Nhi Đồng 1 & 2 tại Việt Nam).
Trong quy trình đánh giá Rối loạn phổ tự kỷ (ASD) và ADHD, CBCL đóng vai trò như một “Máy quét toàn diện” (Broad-spectrum Scanner): không chỉ phát hiện nguy cơ tự kỷ và tăng động, mà còn bóc tách chính xác các vấn đề nội tâm hóa (Lo âu, Trầm cảm, Thu mình, Than phiền cơ thể, Giấc ngủ) và ngoại hiện hóa (Hung tính, Phá vỡ quy tắc, Chống đối) để bác sĩ không bỏ sót bất kỳ rối loạn đồng mắc nào.
1. Hai Phiên bản theo Độ tuổi của Hệ thống CBCL (ASEBA)
Hệ thống CBCL được chia làm 2 phiên bản chuẩn hóa riêng biệt theo lứa tuổi, chấm trên thang 3 mức: 0 - Không đúng (Not True) • 1 - Đôi khi đúng / Đúng một phần (Somewhat or Sometimes True) • 2 - Rất đúng / Thường xuyên đúng (Very True or Often True):
[Tự kỷ] STAT: Công cụ sàng lọc tự kỷ qua tương tác cho trẻ mới biết đi (24 – 36 tháng)
Bảng Chấm Điểm Sàng Lọc Tương Tác Trực Tiếp STAT (14 – 36 Tháng)
', 'Đánh giá Cấp độ 2 thông qua 12 hoạt động chơi tương tác trực tiếp trên 4 lĩnh vực giao tiếp xã hội sớm. Tổng điểm quy đổi theo trọng số từ 0.00 đến 4.00 điểm.
', '• Bé thể hiện khả năng phối hợp ánh mắt, chia sẻ sự chú ý (Chú ý chung: ' + sAtt.toFixed(2) + '/1.00) và yêu cầu giao tiếp (' + sReq.toFixed(2) + '/1.00) phù hợp.
• Ý nghĩa phân biệt: Nếu bé chậm nói nhưng đạt điểm STAT thấp như trên, bé có nền tảng giao tiếp phi ngôn ngữ tốt (gợi ý chậm nói đơn thuần hơn là rối loạn phổ tự kỷ).'; } else if (total < highCut) { color = '#f59e0b'; badgeTxt = 'NGƯỠNG CẦN THEO DÕI SÁT (' + total.toFixed(2) + ' / 4.00)'; analysis = 'Kết luận sàng lọc tương tác STAT — Vùng Giáp Ranh Cần Theo Dõi (' + total.toFixed(2) + '/4.00 điểm):
• Tổng điểm tiệm cận ngưỡng cắt lâm sàng (' + highCut.toFixed(2) + ' điểm). Hồ sơ chi tiết: Vui chơi (' + sPlay.toFixed(2) + '), Yêu cầu (' + sReq.toFixed(2) + '), Định hướng chú ý (' + sAtt.toFixed(2) + '), Bắt chước (' + sImit.toFixed(2) + ').
• Khuyến nghị: Cần đặc biệt lưu ý nếu điểm rủi ro tập trung ở mục Định hướng chú ý (Joint Attention) và Yêu cầu có giao tiếp mắt. Nên bắt đầu hướng dẫn phụ huynh can thiệp tương tác sớm và đánh giá thêm bằng ADOS-2 / Vineland-3.'; } else { color = '#ef4444'; badgeTxt = 'NGUY CƠ CAO ASD (≥ ' + highCut.toFixed(2) + ': ' + total.toFixed(2) + ')'; analysis = 'Kết luận sàng lọc tương tác STAT — Vượt Ngưỡng Điểm Cắt (Đạt ' + total.toFixed(2) + '/4.00 điểm, ngưỡng cắt ≥ ' + highCut.toFixed(2) + '):
• Qua quan sát tương tác trực tiếp, bé bộc lộ sự thiếu hụt rõ rệt ở các kỹ năng giao tiếp xã hội nền tảng: Vui chơi (' + sPlay.toFixed(2) + '/1.00), Yêu cầu (' + sReq.toFixed(2) + '/1.00), Định hướng chú ý chung (' + sAtt.toFixed(2) + '/1.00) và Bắt chước (' + sImit.toFixed(2) + '/1.00).
• Hướng xử trí chuẩn: Chuyển gửi ngay sang bước đánh giá chẩn đoán xác định (ADOS-2, DSM-5) và đánh giá hành vi thích ứng (Vineland-3) để can thiệp sớm ngay trong giai đoạn vàng.'; } barFillEl.style.background = color; badgeEl.textContent = badgeTxt; badgeEl.style.background = color; badgeEl.style.color = '#ffffff'; resBoxEl.style.borderLeftColor = color; resBoxEl.innerHTML = analysis; updateFloatingFabVisibility(); } function applyPreset(type) { scores = {}; if (type === 'reset') { renderItems(); updateSummary(); return; } items.forEach(function(it) { scores[it.id] = 'PASS'; }); if (type === 'speech') { // Trẻ chậm nói đơn thuần: Đạt hết Yêu cầu & Chú ý chung, chỉ trượt 1 mục chơi giả vờ phức tạp (0.50đ) scores[2] = 'FAIL'; } else if (type === 'border') { // Ngưỡng giáp ranh (2.00đ) scores[2] = 'FAIL'; // +0.50 scores[3] = 'FAIL'; // +0.50 scores[5] = 'FAIL'; // +0.25 scores[8] = 'FAIL'; // +0.25 scores[9] = 'FAIL'; // +0.25 scores[12] = 'FAIL'; // +0.25 } else if (type === 'asd') { // Nguy cơ tự kỷ điển hình (3.25đ) [1, 2, 3, 4, 5, 6, 7, 8, 9, 12].forEach(function(id) { scores[id] = 'FAIL'; }); } renderItems(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; var rect = host.getBoundingClientRect(); var viewH = window.innerHeight || document.documentElement.clientHeight; if (rect.top 180) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = 'position:fixed!important;inset:0!important;top:0!important;left:0!important;right:0!important;bottom:0!important;width:100vw!important;height:100vh!important;height:100dvh!important;max-width:none!important;max-height:none!important;margin:0!important;padding:0!important;z-index:2147483647!important;background:#f8fafc!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;display:block!important;'; wrapEl.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { wrapEl.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = ''; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } shadow.querySelectorAll('#ageGroup .st-btn-sm').forEach(function(btn) { btn.onclick = function() { ageBand = this.getAttribute('data-age'); shadow.querySelectorAll('#ageGroup .st-btn-sm').forEach(function(b) { b.classList.remove('active'); }); this.classList.add('active'); updateSummary(); }; }); shadow.querySelectorAll('#presetGroup .st-btn-sm').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-pre')); }; }); shadow.querySelectorAll('#domainTabs .st-dtab').forEach(function(tab) { tab.onclick = function() { filterDom = this.getAttribute('data-dom'); shadow.querySelectorAll('#domainTabs .st-dtab').forEach(function(t) { t.classList.remove('active'); }); this.classList.add('active'); renderItems(); }; }); shadow.getElementById('btnToggleFullscreen').onclick = function() { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = function() { setFullscreenState(false); }; fabBtn.onclick = function() { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', function(e) { if (e.key === 'Escape' && isFullscreen) setFullscreenState(false); }); applyPreset('asd'); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', initSTATWidget); } else { initSTATWidget(); } })();
STAT (Screening Tool for Autism in Toddlers and Young Children — Công cụ Sàng lọc Tự kỷ ở Trẻ mới biết đi và Trẻ nhỏ) là một công cụ sàng lọc tương tác trực tiếp (Cấp độ 2 – Level 2) được chuẩn hóa để phát hiện sớm các dấu hiệu nguy cơ của Rối loạn phổ tự kỷ (ASD) ở trẻ nhỏ. Công cụ này được phát triển bởi Giáo sư Wendy Stone và các cộng sự tại Đại học Vanderbilt (Hoa Kỳ).
Nếu như M-CHAT-R/F là công cụ Sàng lọc Cấp độ 1 (dựa trên bảng câu hỏi do phụ huynh tự điền cho trẻ từ 16 – 30 tháng), thì STAT đóng vai trò là bước kiểm tra trực tiếp ngay sau đó: chuyên gia sẽ trực tiếp chơi và tương tác với trẻ qua các hoạt động có cấu trúc để quan sát hành vi thực tế trước khi chuyển gửi đi chẩn đoán chuyên sâu (như ADOS-2).
1. Đặc điểm cốt lõi của công cụ STAT
-
Độ tuổi áp dụng:
-
Độ tuổi chuẩn hóa chính thức: Từ 24 đến 36 tháng tuổi (2 – 3 tuổi).
-
Độ tuổi mở rộng trong lâm sàng: Có thể áp dụng hiệu quả cho trẻ từ 14 đến 23 tháng tuổi (với ngưỡng điểm cắt điều chỉnh riêng) để phát hiện sớm ngay từ năm thứ hai đầu đời.
-
-
Hình thức thực hiện: Quan sát tương tác trực tiếp thông qua trò chơi (Play-based interactive assessment), không phụ thuộc vào lời kể chủ quan của phụ huynh.
-
Thời gian thực hiện: Khoảng 15 – 20 phút.
-
Độ nhạy và Độ đặc hiệu cao: STAT có độ nhạy khoảng 92% và độ đặc hiệu khoảng 85% trong việc phân biệt trẻ có nguy cơ Tự kỷ với trẻ chậm phát triển ngôn ngữ hoặc các rối loạn phát triển khác.
2. Cấu trúc 12 hoạt động trong 4 lĩnh vực (Domains)
Bài kiểm tra STAT bao gồm 12 hoạt động tương tác sử dụng bộ đồ chơi tiêu chuẩn, được chia vào 4 lĩnh vực giao tiếp xã hội sớm (chấm điểm ngay trong lúc chơi mà không đòi hỏi trẻ phải có ngôn ngữ nói):
3. Cách chấm điểm và Ngưỡng điểm cắt (Cut-off Score)
-
Chấm từng hoạt động: Mỗi hoạt động trong 12 mục được chấm là Đạt (Pass = 0 điểm rủi ro) hoặc Không đạt (Fail = 1 điểm rủi ro) dựa trên việc trẻ có thể hiện được hành vi giao tiếp xã hội mục tiêu (như phối hợp ánh mắt,chỉ trỏ, luân phiên) hay không.
-
Quy đổi điểm theo lĩnh vực:
-
Mỗi lĩnh vực trong 4 lĩnh vực sẽ được quy đổi thành điểm từ 0 đến 1 (dựa trên tỷ lệ số mục Không đạt trong lĩnh vực đó, tính theo bước nhảy 0,0.25,0.5,0.75,1.0).
-
Tổng điểm STAT là tổng điểm của cả 4 lĩnh vực, nằm trong khoảng từ 0 đến 4.0 điểm (điểm càng cao thì mức độ thiếu hụt giao tiếp xã hội càng lớn).
-
-
Ngưỡng điểm cắt lâm sàng (Cut-off):
-
Trẻ từ 24 – 36 tháng tuổi: Tổng điểm → Nguy cơ cao mắc Rối loạn phổ tự kỷ (ASD).
-
Trẻ từ 14 – 23 tháng tuổi: Ngưỡng điểm cắt thường được đặt ở mức (hoặc từ 2.25−2.5 để cảnh báo theo dõi sát) do trẻ dưới 2 tuổi có một số kỹ năng bắt chước/chơi giả vờ còn đang hoàn thiện.
-
4. Vị trí của STAT trong quy trình sàng lọc – chẩn đoán
Để hình dung rõ sự phối hợp giữa STAT và các công cụ bạn đã tìm hiểu trước đó:
-
Bước 1 — Sàng lọc diện rộng qua bảng hỏi phụ huynh (Level 1):
-
Trẻ 16 – 30 tháng: Dùng M-CHAT-R/F.
-
Trẻ tuổi: Dùng SCQ.
-
-
Bước 2 — Sàng lọc tương tác trực tiếp (Level 2 – Lọc dương tính giả):
-
Khi trẻ có kết quả nguy cơ trên M-CHAT-R/F, bác sĩ/chuyên viên tâm lý dùng STAT (15–20 phút) để trực tiếp tương tác với trẻ. Bước này giúp phân biệt nhanh trẻ chậm nói đơn thuần (vốn vẫn đạt tốt các mục giao tiếp mắt và chia sẻ sự chú ý trên STAT) với trẻ thực sự có nguy cơ tự kỷ.
-
-
Bước 3 — Chẩn đoán xác định & Đánh giá chức năng (Diagnostic & Functional Assessment):
-
Dùng tiêu chuẩn vàng ADOS-2 + ADI-R + DSM-5 để chẩn đoán xác định.
-
Dùng Vineland-3 để đo lường hành vi thích ứng thực tế và lên kế hoạch can thiệp cá nhân hóa (IEP).
-
[Chỉ số báo cáo] Chỉ số IQ vs. DQ: Phân biệt Thương số trí tuệ (IQ) và Thương số phát triển (DQ) trong chẩn đoán
Trong thực tế lâm sàng tại Việt Nam, khi cầm tờ phiếu kết quả khám tâm lý (ví dụ: phiếu KSPD Kyoto hay Bayley-III ghi DQ = 65), rất nhiều phụ huynh hoảng loạn vì tưởng con mình bị “thiểu năng trí tuệ vĩnh viễn giống như IQ = 65”.Ngược lại, nhiều giáo viên/chuyên viên mới vào nghề cũng gọi nhầm điểm DQ của trẻ 2 tuổi là “điểm IQ”.
(function() { const host = document.getElementById('dqiq-wp-host'); if (!host) return; const placeholder = document.createComment('dqiq-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .dq-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } .dq-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .dq-inner { padding: 24px; max-width: 980px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .dq-wrap.is-fullscreen .dq-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .dq-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 0 rgba(37, 99, 235, 0.4); } 70% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 10px rgba(37, 99, 235, 0); } 100% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 0 rgba(37, 99, 235, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #1d4ed8 0%, #2563eb 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } .dq-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .dq-header-text { flex: 1 1 260px; } .dq-title { font-size: 21px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .dq-desc { font-size: 14px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #eff6ff; color: #1d4ed8; border: 1px solid #bfdbfe; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #2563eb; color: #ffffff; border-color: #2563eb; } /* Presets */ .dq-presets { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; margin-bottom: 16px; } .dq-lbl { font-size: 12px; font-weight: 800; color: #0f172a; text-transform: uppercase; margin-right: 4px; } .dq-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; touch-action: manipulation; } .dq-pbtn:hover { background: #f1f5f9; } /* Grid nhập thông số */ .dq-input-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-bottom: 18px; } .dq-card { background: #f8fafc; border: 1px solid #cbd5e1; border-radius: 12px; padding: 14px; } .dq-card-title { font-size: 13px; font-weight: 800; color: #1e3a8a; margin-bottom: 8px; display: block; } .dq-field { margin-bottom: 10px; } .dq-field:last-child { margin-bottom: 0; } .dq-field label { font-size: 12px; font-weight: 700; color: #334155; display: block; margin-bottom: 4px; } .dq-field input, .dq-field select { width: 100%; padding: 8px 10px; border: 1px solid #94a3b8; border-radius: 7px; font-size: 14px; font-weight: 700; color: #0f172a; background: #ffffff; } /* Dashboard so sánh DQ vs IQ */ .dq-dash { background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .dq-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .dq-score-big { font-size: 20px; font-weight: 800; line-height: 1.25; } .dq-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .dq-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #2563eb; color: #ffffff; } .dq-pillars { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; font-size: 12px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .dq-pillar-box { background: #1e293b; padding: 8px 10px; border-radius: 8px; border-left: 3px solid #3b82f6; } .dq-pillar-val { font-weight: 800; color: #ffffff; font-size: 14px; display: block; margin-top: 2px; } /* Bảng quy chiếu SD, DQ và IQ */ .dq-table-card { margin-top: 16px; padding: 16px 18px; border-radius: 12px; background: #ffffff; border: 1px solid #e2e8f0; overflow-x: auto; } .dq-table { width: 100%; border-collapse: collapse; font-size: 13px; min-width: 640px; } .dq-table th, .dq-table td { border: 1px solid #cbd5e1; padding: 9px 12px; text-align: left; } .dq-table th { background: #f1f5f9; font-weight: 800; color: #0f172a; } .dq-table tr.active-band { background: #eff6ff; border: 2px solid #2563eb; } .dq-result-box { margin-top: 16px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #2563eb; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 760px) { .dq-inner { padding: 14px; } .dq-title { font-size: 18px; } .dq-input-grid { grid-template-columns: 1fr; } .dq-pillars { grid-template-columns: 1fr 1fr; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
Công Cụ Tính Toán, Đối Chiếu Chỉ Số DQ (Thương Số Phát Triển) vs. IQ (Thương Số Trí Tuệ) & Tư Vấn Chọn Thang Đo
Giúp phụ huynh và nhà chuyên môn tính nhanh Chỉ số Phát triển DQ = (DA / CA) × 100, phát hiện hiện tượng "DQ/IQ Thấp Giả Tạo do Rào cản Ngôn ngữ ở trẻ Tự kỷ", đối chiếu với Độ lệch chuẩn (SD) và chọn đúng công cụ đánh giá chuẩn quốc tế theo độ tuổi.
| Mốc Độ lệch chuẩn (SD) | Điểm Chuẩn (DQ / IQ) | Bách phân vị | Ý nghĩa trong DQ (Trẻ < 5 tuổi: KSPD, Bayley-III) | Ý nghĩa trong IQ (Trẻ ≥ 5–6 tuổi: WISC-V, Leiter-3) |
|---|---|---|---|---|
| ≥ +1 SD đến +2 SD | ≥ 115 điểm | ≥ 84% | Tốc độ phát triển sớm vượt trội so với tháng tuổi. | Trí tuệ Trên trung bình (115–129) đến Rất cao (≥130). |
| Trong khoảng ±1 SD | 85 – 114 điểm | 16% – 83% | Phát triển Bình thường (Typical Development): Đạt đúng các mốc tuổi. | Trí tuệ Trung bình (Average IQ): Chiếm 68% dân số. |
| Từ -1 SD đến -2 SD | 70 – 84 điểm | 2.3% – 15% | Chậm phát triển mức độ Nhẹ / Giáp ranh: Rất có cơ hội bắt kịp tuổi nếu can thiệp sớm. | Trí tuệ Ranh giới (Borderline Intellectual Functioning): Cần hỗ trợ phương pháp học. |
| Dưới -2 SD | < 70 điểm (Nặng: <55 • -3 SD) |
< 2.3% | Chậm phát triển Rõ rệt (GDD nếu chậm ≥2 lĩnh vực): Cần can thiệp sớm chuyên sâu ngay; chưa kết luận Khuyết tật trí tuệ vĩnh viễn! | Suy giảm Trí tuệ: Nếu đi kèm Hành vi thích ứng (Vineland-3) < 70 sẽ xác lập chẩn đoán Rối loạn Phát triển Trí tuệ (IDD). |
' + '• Bạn hãy nhìn kỹ: Năng lực Nhận thức phi ngôn ngữ của trẻ đạt tới ' + dqCog + ' điểm (Hoàn toàn Bình thường ≥ 85) và Vận động đạt ' + dqMot + ' điểm. Tuy nhiên, vì Ngôn ngữ – Xã hội chỉ đạt ' + dqLang + ' điểm (chênh lệch tới ' + gapCogLang + ' điểm), nên khi cộng trung bình lại thì DQ Tổng thể bị kéo tụt xuống còn ' + dqTotal + ' điểm!
' + '• Giải thích cho Phụ huynh: Trẻ KHÔNG bị chậm phát triển trí tuệ. Điểm tổng bị thấp hoàn toàn là do rào cản ngôn ngữ và giao tiếp xã hội kéo xuống. Khi được can thiệp mở khóa giao tiếp, điểm số tổng thể của trẻ sẽ bật tăng trở lại!' + '
' + '• ' + (ca < 60 ? 'Vì trẻ dưới 5 tuổi, chẩn đoán y khoa chuẩn xác là Chậm Phát triển Toàn diện (Global Developmental Delay - GDD). Cần can thiệp sớm toàn diện và đánh giá lại IQ khi trẻ lên 5–6 tuổi.' : (adapt === 'imp' ? 'Trẻ đã ≥ 5–6 tuổi, có cả Nhận thức < 70 (-2 SD) VÀ Hành vi thích ứng < 70 (-2 SD) → Thỏa mãn tiêu chuẩn Rối loạn Phát triển Trí tuệ (IDD — Mã ICD-11: 6A00 / DSM-5-TR).' : 'Dù điểm nhận thức < 70 nhưng Hành vi thích ứng của trẻ vẫn từ 70 trở lên, cần thận trọng kiểm tra lại bằng test IQ phi ngôn ngữ (Leiter-3/Raven) trước khi kết luận IDD.')) + '
' + '• 2. Bộ công cụ đánh giá chuẩn khuyến nghị sử dụng: ' + recommendedTools + trapWarning; updateFloatingFabVisibility(); } function applyCase(caseKey) { if (caseKey === 'asd_toddler') { inpCA.value = 30; inpDACog.value = 29; // DQ = 97 inpDALang.value = 14; // DQ = 47 inpDAMot.value = 27; // DQ = 90 selVerbal.value = 'nonverbal'; selAdaptive.value = 'border'; } else if (caseKey === 'asd_school') { inpCA.value = 84; // 7 tuổi inpDACog.value = 86; // NVIQ = 102 inpDALang.value = 45; // Ngôn ngữ = 54 inpDAMot.value = 78; // Vận động = 93 selVerbal.value = 'phrase'; selAdaptive.value = 'border'; } else if (caseKey === 'gdd_child') { inpCA.value = 24; inpDACog.value = 14; // DQ = 58 inpDALang.value = 12; // DQ = 50 inpDAMot.value = 16; // DQ = 67 selVerbal.value = 'nonverbal'; selAdaptive.value = 'imp'; } else if (caseKey === 'typical') { inpCA.value = 48; inpDACog.value = 48; inpDALang.value = 47; inpDAMot.value = 49; selVerbal.value = 'fluent'; selAdaptive.value = 'avg'; } updateAnalysis(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); dqWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { dqWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 980px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } [inpCA, inpDACog, inpDALang, inpDAMot, selVerbal, selAdaptive].forEach(el => { el.addEventListener('input', updateAnalysis); el.addEventListener('change', updateAnalysis); }); shadow.querySelectorAll('.dq-pbtn').forEach(btn => { btn.onclick = function() { applyCase(this.getAttribute('data-case')); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); applyCase('asd_toddler'); })();
Dưới đây là Bài viết chuyên môn chuẩn Y khoa – Tâm lý học (được trình bày sẵn sàng để bạn đăng làm bài viết nền tảng cạnh bài Độ lệch chuẩn SD), kèm theo 1 Công cụ HTML Tương tác: “Bộ Chuyển Đổi, Phân Giải DQ vs. IQ & Định Tuyến Thang Đo Chuẩn”
BÀI VIẾT CHUYÊN MÔN: Phân Biệt Chỉ Số DQ (Thương Số Phát Triển) và IQ (Thương Số Trí Tuệ) — Khi Nào Dùng DQ, Khi Nào Dùng IQ?
Trong lĩnh vực đánh giá rối loạn phát triển thần kinh (Tự kỷ, Chậm phát triển, ADHD, Khuyết tật trí tuệ), DQ(Developmental Quotient) và IQ (Intelligence Quotient) là hai con số xuất hiện nhiều nhất trên các bản báo cáo lâm sàng. Dù cả hai đều lấy mốc 100 là trung bình và dưới 70 (−2 SD) là suy giảm rõ rệt, nhưng bản chất thần kinh học, độ tuổi áp dụng và giá trị tiên lượng của chúng hoàn toàn khác nhau.
I. Bản chất của DQ (Thương số Phát triển) là gì?
DQ (Developmental Quotient — Thương số Phát triển) là chỉ số đo lường tốc độ đạt được các mốc phát triển toàn diện của trẻ nhỏ (thường từ 0 đến dưới 5–6 tuổi) so với những đứa trẻ bình thường cùng tháng tuổi.
-
Công thức tính DQ kinh điển (ví dụ trong thang KSPD Kyoto, Gesell, Mullen, PEP-3):
DQ=(Tuổi phaˊt triển (DA – Developmental Age)Tuổi thực (CA – Chronological Age))×100Ví dụ: Một bé 24 tháng tuổi (CA = 24) đi khám bằng thang KSPD Kyoto. Kỹ năng Ngôn ngữ – Xã hội của bé hiện chỉ làm được các mốc của trẻ 12 tháng tuổi (DA = 12). Khi đó:
DQ Ngoˆn ngữ=1224×100=50 -
Đặc điểm cốt lõi của DQ:
-
Đo lường các kỹ năng “Sensory-Motor” (Giác quan – Vận động & Tiền ngôn ngữ): Ở trẻ dưới 3–5 tuổi,tư duy trừu tượng chưa tách rời khỏi vận động và ngôn ngữ. Do đó, DQ đánh giá một “rổ kỹ năng” tổng hợp gồm: Vận động thô, Vận động tinh, Tự phục vụ, Ngôn ngữ sớm và Tương tác xã hội.
-
Có tính biến thiên rất lớn (Mềm dẻo thần kinh cao): Não bộ trẻ từ 0–5 tuổi có tính mềm dẻo (Neuroplasticity) cực kỳ mạnh mẽ. Một trẻ 2 tuổi có DQ = 60 do chậm nói và thiếu tương tác, sau 1–2 năm can thiệp sớm tích cực (như ESDM, ABA), trẻ bật nói và bắt kịp bạn bè thì DQ hoàn toàn có thể tăng vọt lên 90 – 100!
-
Là cơ sở để chẩn đoán “Chậm phát triển toàn diện” (GDD — Global Developmental Delay): Trong DSM-5-TR và ICD-11, bác sĩ chưa đặt bút chẩn đoán “Khuyết tật trí tuệ” cho trẻ dưới 5 tuổi mà gọi là GDDdựa trên chỉ số DQ này.
-
II. Bản chất của IQ (Thương số Trí tuệ) là gì?
IQ (Intelligence Quotient — Thương số Trí tuệ) là chỉ số đo lường năng lực tư duy nhận thức thuần túy, khả năng suy luận logic, giải quyết vấn đề trừu tượng, trí nhớ làm việc và tốc độ xử lý thông tin (thường áp dụng chuẩn xác nhất cho trẻ từ 5–6 tuổi trở lên).
-
Cách tính IQ hiện đại (Deviation IQ — như trong WISC-V, WAIS-IV, Leiter-3, Raven): IQ hiện đại không còn dùng công thức (Tuổi trí tuệ / Tuổi thực) × 100 như thế kỷ trước nữa, mà tính bằng Điểm chuẩn Độ lệch (Deviation IQ) dựa trên phân phối hình chuông (Mean=100,SD=15): so sánh trực tiếp vị trí của trẻ với hàng ngàn trẻ cùng độ tuổi chính xác đến từng tháng.
-
Đặc điểm cốt lõi của IQ:
-
Tách biệt khỏi vận động thô và kỹ năng sinh hoạt: Bài test IQ (như WISC-V hay Raven) không hỏi xem trẻ có biết nhảy lò cò hay tự mặc quần áo không, mà đi thẳng vào Tư duy khái niệm ngôn ngữ (VCI), Không gian thị giác (VSI), Suy luận quy nạp (FRI), Trí nhớ làm việc (WMI) và Tốc độ xử lý (PSI).
-
Có tính ổn định cao theo thời gian: Từ sau 6–7 tuổi, chỉ số IQ cốt lõi có xu hướng ổn định hơn nhiều so với DQ đầu đời.
-
Là cơ sở chẩn đoán “Rối loạn Phát triển Trí tuệ” (IDD — Intellectual Developmental Disorder): Khi trẻ ≥5−6 tuổi có IQ <70 (dưới −2 SD) đi kèm với suy giảm Hành vi thích ứng (trên thang Vineland-3 ), nhà lâm sàng mới xác lập chẩn đoán IDD.
-
III. Bảng So sánh Trực diện: DQ vs. IQ
Trẻ bị rối loạn phổ tự kỷ có cần dùng thuốc không?
Rối loạn phổ tự kỷ (ASD) không có thuốc điều trị đặc hiệu cho các triệu chứng cốt lõi (như khiếm khuyết giao tiếp xã hội hay hành vi lặp đi lặp lại). Phương pháp nền tảng và quan trọng nhất vẫn là can thiệp giáo dục, tâm lý, ngôn ngữ trị liệu và hành vi.
Tuy nhiên, trẻ tự kỷ có thể cần dùng thuốc khi xuất hiện các triệu chứng đi kèm hoặc rối loạn đồng mắc ở mức độ nặng, gây nguy hiểm cho bản thân, gia đình hoặc làm cản trở quá trình học tập, can thiệp của trẻ.
Khi nào trẻ tự kỷ được chỉ định dùng thuốc?
Bác sĩ chuyên khoa Tâm thần Nhi chỉ cân nhắc kê đơn khi các biện pháp can thiệp hành vi đơn thuần không kiểm soát được các vấn đề sau:
| Nhóm triệu chứng đi kèm | Biểu hiện cụ thể ở trẻ | Mục đích dùng thuốc |
| Kích động, cáu gắt nghiêm trọng | Đập đầu, tự cắn mình, la hét kéo dài, tấn công người xung quanh, đập phá đồ đạc | Giảm cơn bùng nổ cảm xúc và hành vi tự gây thương tích (FDA đã phê duyệt một số thuốc như Risperidone, Aripiprazole cho nhóm triệu chứng này) |
| Tăng động giảm chú ý (ADHD) | Chạy nhảy liên tục không biết mệt, không thể ngồi yên quá vài phút để học can thiệp, bốc đồng | Giúp trẻ tập trung tốt hơn, giảm xung động để tiếp thu bài học từ giáo viên và cha mẹ |
| Rối loạn giấc ngủ nặng | Khó vào giấc, thức giấc nhiều lần trong đêm, ngủ rất ít gây kiệt sức và cáu gắt vào ban ngày | Điều hòa nhịp sinh học (thường bắt đầu bằng vệ sinh giấc ngủ hoặc Melatonin theo chỉ định) |
| Lo âu, cưỡng chế hoặc trầm cảm | Sợ hãi quá mức trước thay đổi nhỏ, căng thẳng cực độ, thu mình (thường gặp ở trẻ lớn/vị thành niên) | Giảm mức độ căng thẳng thần kinh, ổn định khí sắc |
| Động kinh (co giật) | Khoảng 20% – 30% trẻ tự kỷ có kèm bất thường điện não hoặc cơn động kinh | Kiểm soát cơn co giật bằng thuốc chống động kinh để bảo vệ tế bào não |
Nguyên tắc bắt buộc khi dùng thuốc cho trẻ tự kỷ
-
Thuốc là công cụ hỗ trợ, không thay thế can thiệp: Thuốc đóng vai trò giúp trẻ “dịu lại”, ngủ ngon hơn và tập trung hơn để có thể tham gia hiệu quả vào các giờ học âm ngữ trị liệu, tâm vận động và giáo dục đặc biệt.
-
Tuyệt đối không tự ý dùng thuốc hoặc thực phẩm chức năng truyền miệng: Mọi loại thuốc hướng thần đều cần bác sĩ chuyên khoa thăm khám trực tiếp, tính liều theo cân nặng (bắt đầu từ liều thấp nhất có hiệu quả) và theo dõi định kỳ các tác dụng phụ (như tăng cân, buồn ngủ, chảy nước dãi).
-
Không tự ý ngưng thuốc đột ngột: Khi thấy trẻ ổn định hơn, phụ huynh cần tái khám để bác sĩ giảm liều theo phác đồ, tránh hiện tượng dội ngược triệu chứng (rebound) làm trẻ kích động mạnh hơn.
[Lập kế hoạch IEP] ABLLS-R: Hệ thống đánh giá kỹ năng ngôn ngữ và học tập cơ bản cho trẻ từ 2 – 12 tuổi
(function() { const host = document.getElementById('abllsr-wp-host'); if (!host) return; const placeholder = document.createComment('abllsr-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // 25 Lĩnh vực chuẩn của ABLLS-R (Từ A đến Z, không có chữ O) chia theo 4 Nhóm lớn // cat: 'basic' (Học tập cơ bản A-P), 'acad' (Học thuật Q-T), 'self' (Tự phục vụ U-X), 'motor' (Vận động Y-Z) const domains = [ // NHÓM 1: KỸ NĂNG HỌC TẬP CƠ BẢN (BASIC LEARNER SKILLS • A -> P) { id: 1, code: 'A', cat: 'basic', itemsCount: 19, name: 'A. Hợp tác & Hiệu quả phần thưởng (Cooperation & Reinforcer Effectiveness)', step1: 'A1–A5: Cầm lấy phần thưởng khi đưa, nhìn vào đồ vật người dạy giơ lên và phản ứng nhanh với 1–2 yêu cầu dễ.', step2: 'A6–A12: Làm việc vì nhiều loại phần thưởng khác nhau, chờ đợi không chạm vào đồ vật khi chưa cho phép.', step3: 'A13–A19: Hợp tác làm việc liên tục qua nhiều nhiệm vụ để nhận phần thưởng trì hoãn (bảng quy đổi sao/token) và lời khen xã hội.' }, { id: 2, code: 'B', cat: 'basic', itemsCount: 27, name: 'B. Biểu diễn Thị giác / Ghép mẫu (Visual Performance)', step1: 'B1–B8: Ghép đồ vật giống hệt đồ vật (3D–3D), tranh giống tranh (2D–2D) và xếp chồng khối gỗ.', step2: 'B9–B18: Thiết kế khối hình theo thẻ mẫu, ghép hình cắt rời (puzzle) và ghép nối các vật có liên quan chức năng.', step3: 'B19–B27: Phân loại đồ vật theo nhóm danh mục không cần mẫu, nối tiếp chuỗi quy luật (A-B-A-B), mê cung và sắp xếp chuỗi tranh theo trình tự.' }, { id: 3, code: 'C', cat: 'basic', itemsCount: 57, name: 'C. Ngôn ngữ Tiếp nhận / Nghe hiểu (Receptive Language)', step1: 'C1–C18: Quay đầu khi gọi tên, làm theo mệnh lệnh vận động đơn giản và chỉ đúng bộ phận cơ thể / đồ vật quen thuộc.', step2: 'C19–C39: Chọn đúng trên 100 tranh đồ vật/hành động, chọn vật khi nghe mô tả chức năng (dùng để làm gì), đặc điểm và phân loại.', step3: 'C40–C57: Chọn đúng 2–3 vật theo thứ tự, phân biệt giới từ (trên/dưới/cạnh), đại từ, tính từ đối lập và cảm xúc.' }, { id: 4, code: 'D', cat: 'basic', itemsCount: 27, name: 'D. Bắt chước Vận động (Motor Imitation)', step1: 'D1–D9: Bắt chước thao tác với đồ vật và bắt chước vận động thô của tay, chân, đầu khi có lệnh "Làm giống cô".', step2: 'D10–D18: Bắt chước vận động tinh bàn tay/ngón tay, bắt chước cử động miệng – mặt và bắt chước tốc độ/cường độ động tác.', step3: 'D19–D27: Bắt chước chuỗi 2–3 động tác liên tiếp, bắt chước theo bạn cùng lớp và bắt chước trì hoãn (nhớ làm lại sau vài phút).' }, { id: 5, code: 'E', cat: 'basic', itemsCount: 20, name: 'E. Bắt chước Âm / Nhại âm (Vocal Imitation - Echoic)', step1: 'E1–E6: Bắt chước các âm thanh nguyên âm, phụ âm cơ bản và âm thanh con vật/phương tiện khi được làm mẫu.', step2: 'E7–E14: Lặp lại rõ ràng các từ đơn, kết hợp phụ âm – nguyên âm và cụm từ ngắn 2–3 từ.', step3: 'E15–E20: Bắt chước chính xác các câu dài kèm đúng tốc độ (nhanh/chậm), âm lượng (to/nhỏ) và ngữ điệu cao độ.' }, { id: 6, code: 'F', cat: 'basic', itemsCount: 29, name: 'F. Yêu cầu (Requests - Mand)', step1: 'F1–F9: Yêu cầu bằng cử chỉ/từ đơn khi có vật yêu thích trước mặt và khi không có vật trước mặt (tự phát trên 10 yêu cầu/ngày).', step2: 'F10–F19: Yêu cầu người khác thực hiện hành động, yêu cầu sự giúp đỡ, xin đồ dùng còn thiếu để hoàn thành công việc.', step3: 'F20–F29: Yêu cầu dùng tính từ/giới từ/trạng từ và chủ động đặt câu hỏi "Cái gì?", "Ở đâu?", "Ai?", "Tại sao?" để lấy thông tin.' }, { id: 7, code: 'G', cat: 'basic', itemsCount: 47, name: 'G. Định danh / Gọi tên (Labeling - Tact)', step1: 'G1–G14: Gọi tên người thân, đồ vật quen thuộc, bộ phận cơ thể và các hành động phổ biến qua vật thật/tranh ảnh.', step2: 'G15–G31: Gọi tên kết hợp Danh từ + Động từ, gọi tên tính từ (màu sắc, hình khối, kích thước), chức năng và phân loại của vật.', step3: 'G32–G47: Gọi tên giới từ, đại từ, nghề nghiệp, cảm xúc nét mặt người khác và gọi tên các vấn đề/sự cố bất thường xung quanh.' }, { id: 8, code: 'H', cat: 'basic', itemsCount: 49, name: 'H. Hội thoại & Liên tưởng từ (Intraverbals)', step1: 'H1–H14: Điền từ vào bài hát, tạo tiếng kêu con vật, điền từ vào cụm từ quen thuộc và trả lời thông tin cá nhân (tên, tuổi).', step2: 'H15–H34: Trả lời các câu hỏi "Cái gì?", "Ở đâu?", "Ai?" về chức năng, đặc điểm và kể tên các vật trong một nhóm danh mục.', step3: 'H35–H49: Trả lời câu hỏi "Tại sao?", "Khi nào?", "Làm thế nào?", kể lại trình tự một sự việc và duy trì hội thoại nhiều lượt.' }, { id: 9, code: 'I', cat: 'basic', itemsCount: 9, name: 'I. Phát âm Tự phát (Spontaneous Vocalizations)', step1: 'I1–I3: Tự phát ra các âm thanh lời nói có ngữ điệu và tự nói các từ đơn khi chơi đùa.', step2: 'I4–I6: Tự hát theo bài hát và tự nói các cụm từ có nghĩa trong sinh hoạt mà không cần ai hỏi.', step3: 'I7–I9: Chủ động bắt chuyện, bình luận tự phát về sự vật xung quanh và trò chuyện tự nhiên với mọi người.' }, { id: 10, code: 'J', cat: 'basic', itemsCount: 20, name: 'J. Cú pháp và Ngữ pháp (Syntax and Grammar)', step1: 'J1–J6: Nói câu ngắn 2–4 từ theo đúng trật tự từ ngữ cơ bản trong tiếng Việt.', step2: 'J7–J13: Sử dụng đúng các từ chỉ số lượng, từ sở hữu ("của con"), từ phủ định ("không phải") và giới từ vị trí.', step3: 'J14–J20: Sử dụng chuẩn xác các từ chỉ thời gian quá khứ ("đã"), hiện tại ("đang"), tương lai ("sẽ") và các liên từ nối câu.' }, { id: 11, code: 'K', cat: 'basic', itemsCount: 15, name: 'K. Kỹ năng Chơi và Giải trí (Play and Leisure)', step1: 'K1–K5: Khám phá đồ chơi tích cực và chơi độc lập với đồ chơi nhân quả/lắp ghép trong 5–10 phút.', step2: 'K6–K10: Chơi đúng chức năng với bộ đồ chơi theo chủ đề (nhà bếp, đường đua xe) và chơi giả vờ đóng vai đơn giản.', step3: 'K11–K15: Chơi vận động với bóng, chơi trò chơi bàn cờ (board games) và chơi đóng vai sáng tạo cùng bạn đồng trang lứa.' }, { id: 12, code: 'L', cat: 'basic', itemsCount: 34, name: 'L. Tương tác Xã hội (Social Interaction)', step1: 'L1–L11: Giao tiếp mắt thích hợp, ở gần bạn cùng tuổi mà không có hành vi tiêu cực, nhận đồ từ bạn và đáp lại lời chào.', step2: 'L12–L23: Chủ động chia sẻ đồ vật với bạn, rủ bạn cùng chơi, chờ đến lượt và hỏi mượn đồ chơi lịch sự.', step3: 'L24–L34: Nhận ra khi bạn buồn/vui, điều chỉnh câu chuyện theo sự quan tâm của người nghe và duy trì tình bạn.' }, { id: 13, code: 'M', cat: 'basic', itemsCount: 12, name: 'M. Hướng dẫn trong Nhóm (Group Instruction)', step1: 'M1–M4: Ngồi yên tĩnh trong nhóm nhỏ (3–5 học sinh) và chú ý nhìn lên giáo viên cùng học liệu trên bảng.', step2: 'M5–M8: Thực hiện đúng các chỉ dẫn chung của giáo viên đưa ra cho cả nhóm và giơ tay xin phát biểu.', step3: 'M9–M12: Trả lời câu hỏi theo lượt trong nhóm lớn và tự tiếp thu được kiến thức mới qua bài giảng chung của lớp.' }, { id: 14, code: 'N', cat: 'basic', itemsCount: 10, name: 'N. Theo dõi Nội quy Lớp học (Classroom Routines)', step1: 'N1–N3: Tự cất cặp sách, áo khoác đúng nơi quy định và xếp hàng ngay ngắn khi được gọi.', step2: 'N4–N7: Tự lấy/cất đồ dùng học tập, tự chuyển tiếp giữa các góc hoạt động trong lớp mà không cần dắt tay.', step3: 'N8–N10: Làm việc độc lập tại bàn học trong 15–20 phút và kiên nhẫn chờ đợi khi giáo viên đang bận hỗ trợ bạn khác.' }, { id: 15, code: 'P', cat: 'basic', itemsCount: 6, name: 'P. Khái quát hóa Kỹ năng (Generalized Responding)', step1: 'P1–P2: Sử dụng được từ vựng và kỹ năng đã học với nhiều bộ tranh ảnh/đồ vật khác nhau.', step2: 'P3–P4: Thực hiện được kỹ năng đã học với nhiều giáo viên, người thân khác nhau và trong nhiều phòng học khác nhau.', step3: 'P5–P6: Tự động linh hoạt điều chỉnh cách phản ứng và vận dụng kỹ năng vào các tình huống tự nhiên ngoài cộng đồng.' }, // NHÓM 2: KỸ NĂNG HỌC THUẬT (ACADEMIC SKILLS • Q, R, S, T) { id: 16, code: 'Q', cat: 'acad', itemsCount: 17, name: 'Q. Kỹ năng Đọc (Reading)', step1: 'Q1–Q5: Nhận diện và gọi tên toàn bộ bảng chữ cái (chữ hoa & chữ thường) cùng âm của các chữ cái.', step2: 'Q6–Q12: Ghép từ với tranh tương ứng, đánh vần đọc trơn được các từ đơn và cụm từ ngắn.', step3: 'Q13–Q17: Đọc to đoạn văn ngắn và trả lời đúng các câu hỏi đọc hiểu về nội dung vừa đọc.' }, { id: 17, code: 'R', cat: 'acad', itemsCount: 29, name: 'R. Kỹ năng Toán học (Math)', step1: 'R1–R9: Đếm số thứ tự, đếm tương ứng 1–1 để lấy đúng số lượng đồ vật (1–20) và nhận diện chữ số.', step2: 'R10–R20: Hiểu các khái niệm so sánh (nhiều hơn, ít hơn, bằng nhau, thêm vào) và cộng trừ trong phạm vi 10.', step3: 'R21–R29: Xem đồng hồ chỉ giờ, nhận biết mệnh giá tiền tệ, đo lường và đếm nhảy bước (2, 5, 10).' }, { id: 18, code: 'S', cat: 'acad', itemsCount: 10, name: 'S. Kỹ năng Viết (Writing)', step1: 'S1–S3: Cầm bút đúng tư thế, gạch nét, tô màu gọn trong hình và đồ theo các nét thẳng/cong.', step2: 'S4–S7: Sao chép các hình học cơ bản, đồ chữ và tự viết tên của mình.', step3: 'S8–S10: Tự viết chính xác tất cả các chữ cái, chữ số và chép lại các từ/câu ngắn trên dòng kẻ.' }, { id: 19, code: 'T', cat: 'acad', itemsCount: 7, name: 'T. Đánh vần / Chính tả (Spelling)', step1: 'T1–T2: Ghép các thẻ chữ cái rời tạo thành tên của mình hoặc từ đơn có nhìn mẫu.', step2: 'T3–T5: Đánh vần bằng lời hoặc xếp chữ cái tạo thành từ đơn 3–4 chữ cái không cần nhìn mẫu.', step3: 'T6–T7: Viết chính tả đúng các từ vựng quen thuộc khi nghe đọc.' }, // NHÓM 3: KỸ NĂNG TỰ PHỤC VỤ CÁ NHÂN (SELF-HELP SKILLS • U, V, W, X) { id: 20, code: 'U', cat: 'self', itemsCount: 15, name: 'U. Mặc và Cởi quần áo (Dressing)', step1: 'U1–U5: Tự cởi tất, giày, quần thun, áo phông và biết phối hợp đưa tay/chân khi mặc đồ.', step2: 'U6–U10: Tự mặc quần, mặc áo phông/áo khoác, đi tất và mang giày đúng chân (trái/phải).', step3: 'U11–U15: Tự kéo khóa áo khoác, cài/mở cúc áo, cài khóa thắt lưng và buộc dây giày.' }, { id: 21, code: 'V', cat: 'self', itemsCount: 10, name: 'V. Kỹ năng Ăn uống (Eating)', step1: 'V1–V3: Tự ăn bằng tay, uống nước bằng cốc không đổ và tự dùng thìa/nĩa xúc thức ăn gọn gàng.', step2: 'V4–V7: Ngồi yên tại bàn ăn suốt bữa, ăn đa dạng nhóm thực phẩm, tự rót nước từ bình vào cốc.', step3: 'V8–V10: Tự lấy khay thức ăn, dùng dao phết bơ/cắt thức ăn mềm và tự dọn bát đĩa vào bồn sau khi ăn.' }, { id: 22, code: 'W', cat: 'self', itemsCount: 7, name: 'W. Vệ sinh Cá nhân & Chải chuốt (Grooming)', step1: 'W1–W3: Tự rửa tay bằng xà phòng, lau khô tay và lau mặt bằng khăn.', step2: 'W4–W5: Tự đánh răng đúng cách và tự chải đầu gọn gàng.', step3: 'W6–W7: Tự xì mũi bằng khăn giấy sạch sẽ và tự tắm rửa cơ thể cơ bản.' }, { id: 23, code: 'X', cat: 'self', itemsCount: 10, name: 'X. Kỹ năng Đi vệ sinh (Toileting)', step1: 'X1–X4: Đi tiểu vào bồn cầu khi được dẫn đi theo giờ và giữ quần khô ráo trong ngày.', step2: 'X5–X7: Tự chủ động báo hoặc tự đi vào nhà vệ sinh khi có nhu cầu (cả tiểu tiện và đại tiện).', step3: 'X8–X10: Tự hoàn tất toàn bộ quy trình đi vệ sinh: tự tụt/kéo quần, lau chùi vệ sinh sạch sẽ, xả nước và rửa tay.' }, // NHÓM 4: KỸ NĂNG VẬN ĐỘNG (MOTOR SKILLS • Y, Z) { id: 24, code: 'Y', cat: 'motor', itemsCount: 30, name: 'Y. Vận động Thô (Gross Motor)', step1: 'Y1–Y10: Đi, chạy vững vàng, bước lên xuống cầu thang luân phiên, nhảy chụm hai chân và lăn/đá bóng.', step2: 'Y11–Y20: Đứng một chân giữ thăng bằng, bắt bóng bằng hai tay, ném bóng trúng đích và đạp xe 3 bánh.', step3: 'Y21–Y30: Nhảy lò cò 1 chân, nhảy dây, đập bóng nảy liên tục, đu xà và đi xe đạp 2 bánh.' }, { id: 25, code: 'Z', cat: 'motor', itemsCount: 28, name: 'Z. Vận động Tinh (Fine Motor)', step1: 'Z1–Z9: Thả xu vào khe hẹp, nhặt vật nhỏ bằng ngón cái – trỏ, lật từng trang sách và xếp tháp khối gỗ.', step2: 'Z10–Z19: Xâu hạt nhỏ qua dây, vặn mở nắp lọ, kẹp kẹp quần áo và dùng kéo cắt đứt mảnh giấy.', step3: 'Z20–Z28: Cắt kéo chính xác theo đường cong/hình vẽ, gấp giấy theo nếp, dán keo gọn gàng và thao tác ngón tay tinh xảo.' } ]; // scores[id] lưu mức thành thạo trung bình của lĩnh vực đó trên thang 0..4 của ABLLS-R: // 0 (0% - Chưa bắt đầu), 1 (25% - Mức sơ khởi ★ IEP), 2 (50% - Đạt nửa chừng ★ IEP), 3 (75% - Gần hoàn thiện ★ IEP), 4 (100% - Đạt chuẩn Mastered) let scores = {}; let filterCat = 'all'; // 'all' | 'basic' | 'acad' | 'self' | 'motor' let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .ab-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .ab-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .ab-inner { padding: 24px; max-width: 960px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .ab-wrap.is-fullscreen .ab-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .ab-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(14, 116, 144, 0.45), 0 0 0 0 rgba(14, 116, 144, 0.4); } 70% { box-shadow: 0 6px 20px rgba(14, 116, 144, 0.45), 0 0 0 10px rgba(14, 116, 144, 0); } 100% { box-shadow: 0 6px 20px rgba(14, 116, 144, 0.45), 0 0 0 0 rgba(14, 116, 144, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #0e7490 0%, #0891b2 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(14, 116, 144, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Header */ .ab-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .ab-header-text { flex: 1 1 260px; } .ab-title { font-size: 21px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .ab-desc { font-size: 14px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #ecfeff; color: #0e7490; border: 1px solid #a5f3fc; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #0891b2; color: #ffffff; border-color: #0891b2; } /* Controls */ .ab-controls { display: flex; flex-direction: column; gap: 10px; margin-bottom: 18px; } .ab-presets { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; } .ab-preset-lbl { font-size: 12.5px; font-weight: 700; color: #475569; margin-right: 4px; } .ab-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; touch-action: manipulation; } .ab-pbtn:hover { background: #f1f5f9; } .ab-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } .ab-cat-tabs { display: flex; flex-wrap: wrap; gap: 6px; } .ab-ctab { padding: 6px 12px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .ab-ctab.active { background: #0e7490; color: #ffffff; border-color: #0e7490; } /* Sticky Dashboard */ .ab-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 18px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .ab-wrap.is-fullscreen .ab-dash { top: 58px; } .ab-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .ab-score-big { font-size: 22px; font-weight: 800; line-height: 1.15; } .ab-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .ab-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .ab-pillars { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; font-size: 12px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .ab-pillar-box { background: #1e293b; padding: 7px 10px; border-radius: 8px; } .ab-pillar-val { font-weight: 700; color: #ffffff; font-size: 13.5px; display: block; margin-top: 2px; } /* Biểu đồ Lưới Kỹ năng A-Z (Skill Tracking Grid) */ .ab-grid-card { background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 12px; padding: 14px 16px; margin-bottom: 18px; } .ab-grid-title { font-size: 13.5px; font-weight: 800; color: #0f172a; margin-bottom: 10px; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 8px; } .ab-tower-wrap { display: grid; grid-template-columns: repeat(25, 1fr); gap: 4px; align-items: end; } .ab-tower-col { display: flex; flex-direction: column; align-items: center; gap: 3px; } .ab-tower-cells { display: flex; flex-direction: column-reverse; gap: 2px; width: 100%; } .ab-cell { height: 11px; width: 100%; background: #e2e8f0; border-radius: 2px; transition: background 0.2s ease; } .ab-cell.filled-basic { background: #0284c7; } .ab-cell.filled-acad { background: #7c3aed; } .ab-cell.filled-self { background: #10b981; } .ab-cell.filled-motor { background: #f59e0b; } .ab-tower-lbl { font-size: 11px; font-weight: 800; color: #334155; margin-top: 2px; } /* Danh sách 25 Lĩnh vực */ .ab-item { border: 1px solid #e2e8f0; border-radius: 12px; padding: 14px 16px; margin-bottom: 12px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 8px; } .ab-item.mastered { border-color: #a7f3d0; background: #f0fdf4; } .ab-item.emerging { border-color: #fde68a; background: #fffbeb; } .ab-item-title { font-size: 15px; font-weight: 800; color: #0f172a; } .ab-item-desc { font-size: 13.2px; color: #334155; line-height: 1.5; } .ab-tags { display: flex; flex-wrap: wrap; gap: 6px; } .ab-tag { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .ab-tag.cat-basic { background: #e0f2fe; color: #0369a1; } .ab-tag.cat-acad { background: #f3e8ff; color: #7e22ce; } .ab-tag.cat-self { background: #dcfce7; color: #15803d; } .ab-tag.cat-motor { background: #fef3c7; color: #b45309; } .ab-ans-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; margin-top: 4px; } .ab-abtn { padding: 8px 6px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 700; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .ab-abtn:hover { border-color: #64748b; } .ab-abtn.sel-0 { background: #ef4444; border-color: #ef4444; color: #ffffff; } .ab-abtn.sel-1, .ab-abtn.sel-2 { background: #f59e0b; border-color: #f59e0b; color: #ffffff; } .ab-abtn.sel-3 { background: #0284c7; border-color: #0284c7; color: #ffffff; } .ab-abtn.sel-4 { background: #10b981; border-color: #10b981; color: #ffffff; } /* Hộp trích xuất IEP & Kết luận */ .ab-iep-box { margin-top: 18px; padding: 16px 18px; border-radius: 12px; background: #fffbeb; border: 1px solid #fde68a; border-left: 5px solid #f59e0b; font-size: 13.8px; color: #78350f; } .ab-iep-title { font-size: 15px; font-weight: 800; color: #92400e; margin-bottom: 8px; } .ab-result-box { margin-top: 16px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #0e7490; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 720px) { .ab-inner { padding: 14px; } .ab-title { font-size: 18px; } .ab-pillars { grid-template-columns: 1fr 1fr; } .ab-ans-grid { grid-template-columns: 1fr 1fr; } .ab-tower-wrap { grid-template-columns: repeat(13, 1fr); row-gap: 10px; } .ab-pbtn.reset { margin-left: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
Hệ Thống Đánh Giá Kỹ Năng Ngôn Ngữ & Học Tập Cơ Bản ABLLS-R (25 Lĩnh Vực A – Z • 544 Kỹ Năng)
Công cụ chuẩn hóa của Tiến sĩ James W. Partington (2006) phân tích 544 kỹ năng qua 25 bảng chữ cái (từ A đến Z). Hãy chấm mức độ thành thạo trung bình từ Mức 0 (0%) đến Mức 4 (100% - Độc lập hoàn toàn) cho từng lĩnh vực để vẽ Biểu đồ Lưới Kỹ năng (Skill Tracking Grid) và tự động trích xuất Mục tiêu Can thiệp IEP.
• Giai đoạn giữa (Mức 2–3): ${d.step2}
• Giai đoạn hoàn thiện (Mức 4): ${d.step3}
'); iepBox.innerHTML = `
• 1. Trụ cột Kỹ năng Học tập Cơ bản (A – P): Đạt ${pctBasic}%. ${pctBasic < 40 ? 'Cần ưu tiên tuyệt đối cho 6 lĩnh vực nền tảng: Hợp tác (A), Ghép mẫu thị giác (B), Nghe hiểu (C), Bắt chước vận động (D), Bắt chước âm (E) và Yêu cầu Mand (F).' : 'Học sinh đã có nền tảng học tập tốt, cần đẩy mạnh Hội thoại Intraverbal (H), Tương tác xã hội (L) và Học trong nhóm (M).'}
• 2. Trụ cột Kỹ năng Học thuật (Q – T): Đạt ${pctAcad}% (Đọc, Toán, Viết, Đánh vần).
• 3. Trụ cột Kỹ năng Tự phục vụ (U – X): Đạt ${pctSelf}% (Mặc đồ, Ăn uống, Chải chuốt, Đi vệ sinh).
• 4. Trụ cột Kỹ năng Vận động (Y – Z): Đạt ${pctMotor}% (Vận động Thô & Vận động Tinh). `; updateFloatingFabVisibility(); } function applyPreset(type) { scores = {}; if (type === 'reset') { domains.forEach(d => { scores[d.id] = 0; }); renderTowerGrid(); renderItems(); updateSummary(); return; } if (type === 'early') { // Người học sơ khởi (~25%) domains.forEach(d => { if (['A', 'B', 'C', 'D', 'F', 'Y', 'Z'].includes(d.code)) scores[d.id] = 2; else if (['E', 'G', 'K', 'U', 'V', 'W', 'X'].includes(d.code)) scores[d.id] = 1; else scores[d.id] = 0; }); } else if (type === 'inter') { // Người học trung cấp (~56%) domains.forEach(d => { if (['A', 'B', 'D', 'Y', 'Z', 'U', 'V'].includes(d.code)) scores[d.id] = 3; else if (['C', 'E', 'F', 'G', 'K', 'L', 'M', 'N', 'W', 'X'].includes(d.code)) scores[d.id] = 2; else scores[d.id] = 1; }); } else if (type === 'adv') { // Người học nâng cao (~82%) domains.forEach(d => { if (d.cat === 'basic' || d.cat === 'self' || d.cat === 'motor') { scores[d.id] = (d.id % 2 === 0) ? 4 : 3; } else { scores[d.id] = 3; } }); } renderTowerGrid(); renderItems(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); abWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { abWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 960px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } shadow.querySelectorAll('.ab-pbtn').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-preset')); }; }); shadow.querySelectorAll('#catTabs .ab-ctab').forEach(function(tab) { tab.onclick = function() { filterCat = this.getAttribute('data-cat'); shadow.querySelectorAll('#catTabs .ab-ctab').forEach(t => t.classList.remove('active')); this.classList.add('active'); renderItems(); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); applyPreset('inter'); })();
ABLLS-R (Assessment of Basic Language and Learning Skills – Revised — Đánh giá các Kỹ năng Ngôn ngữ và Học tập Cơ bản – Bản Hiệu đính) là công cụ đánh giá, hướng dẫn chương trình giảng dạy và hệ thống theo dõi kỹ năng toàn diện do Tiến sĩ James W. Partington xuất bản năm 2006 (phiên bản gốc năm 1998 viết cùng Tiến sĩ Mark Sundberg).
Trong can thiệp ABA (Phân tích Hành vi Ứng dụng), ABLLS-R và VB-MAPP là hai công cụ trụ cột luôn đi song hành với nhau:
-
Nếu VB-MAPP đối chiếu theo các mốc tuổi phát triển chuẩn (0 – 48 tháng), thì ABLLS-R là một hệ thống Phân tích Nhiệm vụ (Task Analysis) cực kỳ chi tiết gồm 544 kỹ năng nối tiếp nhau từ A đến Z (không giới hạn độ tuổi sinh học, miễn là trẻ cần học các kỹ năng tương đương một đứa trẻ phát triển điển hình trước khi vào lớp 1,thường áp dụng từ 2 đến 12+ tuổi).
-
Đặc biệt, ngoài ngôn ngữ và học tập, ABLLS-R đánh giá rất sâu mảng Tự phục vụ cá nhân (Ăn mặc, Ăn uống, Chải chuốt, Đi vệ sinh) và Vận động (Thô & Tinh) — những phần mà VB-MAPP không tách thành bảng chấm riêng.
1. Cấu trúc 25 Lĩnh vực (Từ A đến Z) chia làm 4 Nhóm lớn của ABLLS-R
Toàn bộ 544 kỹ năng trong ABLLS-R được chia thành 25 bảng chữ cái (từ A đến Z, không có chữ O) và gom vào 4 Trụ cột lớn:
| Nhóm kỹ năng lớn | Ký hiệu Lĩnh vực (Domains) | Tổng số mục | Nội dung đánh giá trọng tâm |
| 1. Kỹ năng Học tập Cơ bản (Basic Learner Skills) | A P (15 lĩnh vực) | 353 kỹ năng |
• A: Hợp tác & Hiệu quả phần thưởng (19) • B: Thị giác / Ghép mẫu (27) • C: Nghe hiểu (57)
• D: Bắt chước vận động (27) • E: Bắt chước âm (20) • F: Yêu cầu – Mand (29)
• G: Định danh / Gọi tên – Tact (47) • H: Hội thoại – Intraverbal (49) • I: Phát âm tự phát (9)
• J: Cú pháp & Ngữ pháp (20) • K: Chơi & Giải trí (15) • L: Tương tác xã hội (34)
• M: Học trong nhóm (12) • N: Theo dõi nội quy lớp học (10) • P: Khái quát hóa (6). |
| 2. Kỹ năng Học thuật(Academic Skills) | Q, R, S, T (4 lĩnh vực) | 84 kỹ năng |
• Q: Kỹ năng Đọc (17) • R: Kỹ năng Toán học (29)
• S: Kỹ năng Viết (10) • T: Đánh vần / Chính tả (7). |
| 3. Kỹ năng Tự phục vụ(Self-Help Skills) | U, V, W, X (4 lĩnh vực) | 59 kỹ năng |
• U: Mặc và cởi quần áo (15) • V: Tự ăn uống (10)
• W: Vệ sinh cá nhân / Chải chuốt (7) • X: Kỹ năng đi vệ sinh – Toileting (10). |
| 4. Kỹ năng Vận động(Motor Skills) | Y, Z (2 lĩnh vực) | 58 kỹ năng | • Y: Vận động thô – Gross Motor (30) • Z: Vận động tinh – Fine Motor (28). |
2. Quy tắc chấm điểm & Biểu đồ Lưới theo dõi (Skill Tracking Grid)
-
Các nhiệm vụ phức tạp trong ABLLS-R được chấm trên thang 0 – 4 điểm (các nhiệm vụ đơn giản hơn chấm thang 0 – 2 điểm):
-
0 điểm: Chưa thực hiện được kỹ năng dù có hỗ trợ. -
1 điểm: Đạt khoảng 25% tiêu chí hoặc cần hỗ trợ thể chất/làm mẫu nhiều. -
2 điểm: Đạt khoảng 50% tiêu chí hoặc làm được khi có gợi ý lời nói/cử chỉ. -
3 điểm: Đạt khoảng 75% tiêu chí, gần độc lập nhưng chưa khái quát hóa rộng. -
4 điểm(Đạt chuẩn tối đa – Mastered): Hoàn toàn độc lập, đúng tiêu chí về tốc độ, số lượng và khái quát hóa sang nhiều môi trường.
-
-
Nguyên tắc chọn Mục tiêu IEP từ ABLLS-R: Giáo viên ABA và phụ huynh sẽ chọn khoảng 15 – 30 kỹ năng đang đạt mức trung gian (1 – 3 điểm) hoặc nằm ngay sát trên các ô đã tô kín trên Biểu đồ Lưới để làm mục tiêu dạy học trong kỳ tiếp theo.
Tài liệu lưu hành nội bộ: Muốn trò chuyện phải có hai người
Đây là tài liệu phát hành nội bộ của Trung Tâm Hỗ Trợ Phát Triển Giáo Dục Hoà Nhập Cho Người Khuyết Tật TPHCM.

Dạy bé nói câu hỏi “[Tên đồ vật] ở đâu?”
Để dạy câu hỏi “[Tên đồ vật] ở đâu rồi ạ?” (hoặc rút gọn là “[Tên đồ vật] đâu rồi?”), nguyên tắc vàng là “Làm thiếu hụt một phần không thể thiếu” (Sabotage the environment).
Thay vì giấu một món đồ ngẫu nhiên và bắt bé đi tìm (khi bé chẳng có nhu cầu tìm nó), bạn hãy đưa cho bé một hoạt động bé cực kỳ thích nhưng cố tình cất đi công cụ quan trọng nhất. Khi bé đang rất cần món đồ đó để hoàn thành trò chơi hoặc việc ăn uống, động lực bật ra câu hỏi “Ở đâu rồi?” sẽ đạt mức cao nhất.
1. Điều kiện cần trước khi dạy
-
Bé đã biết gọi tên một số đồ vật quen thuộc (bóng, giày, thìa, sữa, ô tô…).
-
Bé hiểu được các chỉ dẫn vị trí đơn giản hoặc biết nhìn theo hướng tay chỉ của người lớn để lấy đồ.
-
(Lưu ý rút gọn: Nếu câu “[Tên đồ vật] + ở đâu rồi ạ?” quá dài so với hơi thở của bé, hãy dạy cấu trúc ngắn “Bóng đâu rồi?” hoặc “Thìa đâu ạ?” trước, sau đó mới kéo dài câu).
2. Quy trình 4 bước thực hiện (Tình huống: Thiếu mảnh ghép cuối cùng)
Chuẩn bị: Một bảng ghép hình (hoặc tháp xếp chồng, hộp thả hình) mà bé rất thích chơi. Bạn giữ lại mảnh ghép cuối cùng (ví dụ: hình con cá) và giấu dưới đùi mình hoặc dưới một chiếc khăn ngay gần đó.
Bước 1: Tạo tình huống “thiếu đồ”
-
Cùng bé ghép lần lượt các mảnh ghép lên bảng.
-
Đến ô trống cuối cùng, bé nhìn quanh mặt sàn để tìm mảnh ghép “con cá” nhưng không thấy.
-
Bạn xòe hai tay ra, nghiêng đầu ngó nghiêng tìm kiếm quanh sàn với vẻ mặt ngạc nhiên: “Ơ! Hết rồi à?”
Bước 2: Làm mẫu và Nhắc (Prompting) ngay khi bé ngơ ngác tìm
-
Ngay khoảnh khắc mắt bé đảo quanh tìm kiếm hoặc bé nhìn vào ô trống rồi ngước nhìn bạn, bạn lập tức xòe hai bàn tay (ngửa lòng bàn tay lên, nhún vai) và nói mẫu thật rõ: “Con cá ở đâu rồi ạ?” (hoặc “Cá đâu rồi ạ?”).
-
Chờ 2–3 giây để bé bắt chước nói theo.
Bước 3: Chỉ chỗ + Cho bé tìm thấy ngay lập tức (Củng cố)
-
Ngay khi bé phát âm câu hỏi, bạn lập tức chỉ tay vào chiếc khăn (hoặc gầm bàn ngay cạnh) và reo lên: “Ở dưới khăn kìa!” (hoặc “Ở đây này!”).
-
Để bé tự tay lật khăn lấy mảnh ghép lắp vào ô cuối cùng và vỗ tay khen thưởng. (Bé sẽ hiểu: Hỏi “ở đâu” = Được chỉ chỗ = Tìm thấy món đồ đang cần).
Bước 4: Giảm dần sự trợ giúp (Fading) Lặp lại trong các lượt chơi tiếp theo hoặc với các đồ vật khác:
-
Mức 1 (Nhắc toàn câu): Bạn xòe tay làm mẫu “Con cá ở đâu rồi ạ?” -> Bé lặp lại cả câu.
-
Mức 2 (Nhắc tên đồ vật + cử chỉ): Bạn chỉ vào ô trống, xòe tay và gợi ý từ đầu: “Con cá…” -> Bé tự nối tiếp “…ở đâu rồi ạ?”
-
Mức 3 (Chỉ dùng cử chỉ): Khi bé đang tìm đồ, bạn chỉ xòe hai bàn tay ra và nhìn bé chờ đợi (im lặng 3–5 giây) -> Bé tự bật ra câu hỏi.
3. Bốn tình huống “thiếu hụt” cực nhạy trong sinh hoạt hàng ngày
Đây là những khoảnh khắc bé có nhu cầu tìm đồ thật sự 100%, giúp câu hỏi trở nên tự nhiên mà không cần ngồi vào bàn học:
4. Ba lưu ý quan trọng để bé không bị nản hoặc cáu gắt
-
Giấu ở nơi “dễ tìm” trong giai đoạn đầu: Mục tiêu là dạy bé đặt câu hỏi, không phải thử thách khả năng tìm kiếm. Hãy để món đồ bị giấu lộ ra một góc (ví dụ: chiếc xe ô tô thò bánh xe ra khỏi rìa khăn) hoặc ở ngay gần tầm mắt để ngay khi bé hỏi xong, bạn chỉ tay là bé nhìn thấy ngay.
-
Thống nhất cử chỉ “Xòe hai bàn tay”: Cử chỉ xòe hai tay, nhún vai là ký hiệu hình ảnh toàn cầu cho câu hỏi “Ở đâu?”. Khi bạn luôn làm cử chỉ này kèm câu nói mẫu, chỉ sau một thời gian ngắn, mỗi khi bạn xòe tay ra là bé sẽ tự động bật ra câu hỏi mà không cần bạn phải nhắc lời.
-
Dạy song song cách trả lời (Chỉ vị trí): Sau khi bé hỏi “Ở đâu rồi ạ?”, câu trả lời của bạn nên nhấn mạnh vào các từ chỉ vị trí đơn giản (Trên bàn, Dưới ghế, Trong hộp) kèm theo ngón tay chỉ thật rõ ràng. Điều này giúp bé vừa học được cách hỏi, vừa mở rộng vốn từ về không gian.
Bảng tổng kết phân biệt 4 câu hỏi đã học
Để bạn dễ dàng ôn tập xen kẽ cho bé trong ngày mà không bị rối:
-
Cái gì đây ạ? -> Khi thấy vật bị che khuất một phần / trong túi kín (Kích thích bởi sự tò mò về đồ vật).
-
Ai đây ạ? -> Khi thấy người trùm khăn / gõ cửa / ảnh úp (Kích thích bởi sự tò mò về người).
-
Tại sao lại thế ạ? -> Khi đồ vật bị hỏng / quy trình bị cản trở / hành động ngược đời (Kích thích bởi sự cố bất thường).
-
[Tên vật] ở đâu rồi ạ? -> Khi thiếu mất công cụ quen thuộc để hoàn thành việc đang làm (Kích thích bởi nhu cầu tìm kiếm).
Nguồn: Kiến thức can thiệp thực tế và hỗ trợ từ AI.
Tiêu chuẩn chẩn đoán - Chỉ số đo lường
Giải thích dễ hiểu về các bộ tiêu chuẩn y khoa quốc tế mà bác sĩ dùng để chẩn đoán, cùng hướng dẫn cách đọc các con số, thuật ngữ chuyên ngành thường gặp trong tờ kết quả đánh giá của con.
Bài Viết
[Tiêu chuẩn quốc tế] DSM-5-TR: Cẩm nang tiêu chuẩn chẩn đoán và thống kê các rối loạn tâm thần của Hoa Kỳ (APA)
(function() { const host = document.getElementById('dsm5tr-wp-host'); if (!host) return; const placeholder = document.createComment('dsm5tr-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // Dữ liệu các Tiêu chuẩn Chẩn đoán chuẩn DSM-5-TR (APA, 2022) const criteriaList = [ // TIÊU CHUẨN A: BẮT BUỘC ĐẠT ĐỦ CẢ 3/3 (A1, A2, A3) { id: 'A1', group: 'A', code: 'Tiêu chí A1 (Bắt buộc)', title: 'A1. Khiếm khuyết trong tương hỗ cảm xúc – xã hội (Social-Emotional Reciprocity)', desc: 'Biểu hiện từ cách tiếp cận xã hội bất thường và thất bại trong hội thoại qua lại bình thường; đến giảm chia sẻ sở thích, cảm xúc hoặc tình cảm; cho đến thất bại hoàn toàn trong việc khởi xướng hoặc đáp lại các tương tác xã hội.', examples: 'Ví dụ lâm sàng: Trẻ ít chủ động khoe đồ chơi (sự chú ý chung), gọi tên ít quay lại, chỉ kéo tay người lớn khi cần lấy đồ chứ không trò chuyện qua lại, hoặc chỉ độc thoại một chiều về chủ đề mình thích.' }, { id: 'A2', group: 'A', code: 'Tiêu chí A2 (Bắt buộc)', title: 'A2. Khiếm khuyết trong các hành vi giao tiếp phi ngôn ngữ dùng cho tương tác xã hội', desc: 'Biểu hiện từ việc giao tiếp bằng lời nói và không lời thiếu sự phối hợp nhịp nhàng; đến những bất thường trong giao tiếp ánh mắt và ngôn ngữ cơ thể hoặc khiếm khuyết trong việc hiểu và sử dụng cử chỉ; cho đến sự vắng bóng hoàn toàn biểu cảm khuôn mặt và giao tiếp không lời.', examples: 'Ví dụ lâm sàng: Giao tiếp mắt kém/nhìn lướt qua, không biết chỉ ngón trỏ để chia sẻ sự quan tâm, nét mặt đơ cứng hoặc biểu cảm không khớp với lời nói, không hiểu cử chỉ/nét mặt của người đối diện.' }, { id: 'A3', group: 'A', code: 'Tiêu chí A3 (Bắt buộc)', title: 'A3. Khiếm khuyết trong việc phát triển, duy trì và thấu hiểu các mối quan hệ', desc: 'Biểu hiện từ những khó khăn trong việc điều chỉnh hành vi cho phù hợp với các ngữ cảnh xã hội khác nhau; đến những khó khăn trong việc chia sẻ trò chơi tưởng tượng hoặc kết bạn; cho đến sự thờ ơ không quan tâm đến bạn đồng trang lứa.', examples: 'Ví dụ lâm sàng: Thích chơi một mình hơn chơi với bạn, không biết tham gia trò chơi đóng vai giả vờ hợp tác, áp đặt luật chơi cứng nhắc lên bạn, hoặc muốn kết bạn nhưng không hiểu quy tắc xã hội ngầm.' }, // TIÊU CHUẨN B: BẮT BUỘC ĐẠT TỐI THIỂU 2/4 (B1, B2, B3, B4) { id: 'B1', group: 'B', code: 'Tiêu chí B1 (Cần ≥ 2/4 mục nhóm B)', title: 'B1. Vận động, sử dụng đồ vật hoặc lời nói rập khuôn hoặc lặp đi lặp lại', desc: 'Bao gồm các cử động vận động định hình đơn giản, xếp đồ chơi thành hàng hoặc lật xoay đồ vật, nhại lời (echolalia), hoặc dùng các cụm từ đặc dị (idiosyncratic phrases).', examples: 'Ví dụ lâm sàng: Vẫy tay, búng ngón tay, đi nhón gót, xoay tròn người; xếp ô tô/khối gỗ thành hàng dài cố định, quay bánh xe; nhại lại câu hỏi hoặc lặp lại lời thoại từ tivi/quảng cáo.' }, { id: 'B2', group: 'B', code: 'Tiêu chí B2 (Cần ≥ 2/4 mục nhóm B)', title: 'B2. Khăng khăng giữ sự giống nhau, tuân thủ cứng nhắc các thói quen hoặc các mẫu hành vi nghi thức', desc: 'Bao gồm các nghi thức hành vi bằng lời hoặc không lời; cực kỳ căng thẳng trước những thay đổi nhỏ; gặp khó khăn với việc chuyển tiếp hoạt động; mẫu tư duy cứng nhắc; các nghi thức chào hỏi; cần phải đi cùng một lộ trình hoặc ăn cùng một món ăn mỗi ngày.', examples: 'Ví dụ lâm sàng: Hoảng loạn/ăn vạ dữ dội nếu đi đường khác mọi ngày hoặc đổi vị trí đồ đạc; bắt người nhà phải nói đúng một câu cố định; rất khó khăn khi chuyển từ hoạt động đang thích sang hoạt động khác.' }, { id: 'B3', group: 'B', code: 'Tiêu chí B3 (Cần ≥ 2/4 mục nhóm B)', title: 'B3. Các sở thích thu hẹp, cố định với cường độ hoặc sự tập trung bất thường', desc: 'Gắn bó mạnh mẽ với hoặc bận tâm quá mức đến những đồ vật khác thường, hoặc các sở thích hạn hẹp một cách quá mức hay dai dẳng (perseverative interests).', examples: 'Ví dụ lâm sàng: Luôn cầm khư khư một vật vô tri (nắp chai, sợi dây, que gỗ); hoặc đam mê ám ảnh về biển số xe, bảng chữ cái, lịch vạn niên, hệ thống tàu điện, khủng long, quạt trần.' }, { id: 'B4', group: 'B', code: 'Tiêu chí B4 (Cần ≥ 2/4 mục nhóm B)', title: 'B4. Phản ứng quá mức hoặc kém phản ứng với kích thích giác quan, hoặc quan tâm bất thường đến yếu tố giác quan', desc: 'Biểu hiện sự thờ ơ rõ rệt với cảm giác đau/nhiệt độ, phản ứng chống đối với các âm thanh hoặc kết cấu bề mặt cụ thể, ngửi hoặc sờ chạm quá mức vào đồ vật, bị cuốn hút thị giác bởi ánh đèn hoặc chuyển động quay.', examples: 'Ví dụ lâm sàng: Lấy tay bịt tai trước tiếng máy sấy/máy xay, kén ăn kết cấu cực đoan, khó chịu với mác quần áo/cắt tóc; ngã đau không khóc; nhìn nghiêng sát mắt vào vật chuyển động hoặc ngửi/liếm đồ vật.' }, // TIÊU CHUẨN C, D, E: BẮT BUỘC ĐẠT ĐỦ CẢ 3/3 { id: 'C', group: 'CDE', code: 'Tiêu chuẩn C (Bắt buộc)', title: 'C. Các triệu chứng phải xuất hiện từ giai đoạn phát triển sớm (Early Developmental Period)', desc: 'Lưu ý chuẩn DSM-5-TR: Các triệu chứng có thể chưa biểu hiện đầy đủ cho đến khi các đòi hỏi giao tiếp xã hội vượt quá năng lực hạn chế của cá nhân, hoặc có thể bị che lấp (masked) bởi các chiến lược học được khi lớn lên.', examples: 'Ghi nhận qua bệnh sử gia đình hoặc sổ khám: Dấu hiệu chậm nói, ít giao tiếp mắt, ít chỉ trỏ hoặc hành vi rập khuôn đã có từ những năm đầu đời.' }, { id: 'D', group: 'CDE', code: 'Tiêu chuẩn D (Bắt buộc)', title: 'D. Các triệu chứng gây suy giảm có ý nghĩa lâm sàng trong chức năng hiện tại', desc: 'Các triệu chứng gây ra sự suy giảm đáng kể về mặt lâm sàng trong lĩnh vực xã hội, học đường, nghề nghiệp hoặc các lĩnh vực hoạt động quan trọng khác hiện tại.', examples: 'Ảnh hưởng trực tiếp đến khả năng hòa nhập trường lớp, kết bạn, tự phục vụ hoặc sinh hoạt gia đình.' }, { id: 'E', group: 'CDE', code: 'Tiêu chuẩn E (Bắt buộc)', title: 'E. Không được giải thích tốt hơn bởi Rối loạn Phát triển Trí tuệ hoặc Chậm Phát triển Toàn diện (GDD)', desc: 'Rối loạn phát triển trí tuệ (Intellectual Developmental Disorder) và Rối loạn phổ tự kỷ thường đồng mắc; để đặt chẩn đoán đồng mắc cả hai, năng lực giao tiếp xã hội của trẻ phải thấp hơn rõ rệt so với mức độ phát triển chung dự kiến của trẻ đó.', examples: 'Đã loại trừ trường hợp trẻ chỉ chậm đồng đều mà giao tiếp mắt, cử chỉ và tương tác cảm xúc vẫn phù hợp với tuổi trí tuệ.' } ]; // Trạng thái từng tiêu chí: // A1..A3, B1..B4: 'NO' (Không có), 'HIST' (Đạt theo bệnh sử), 'CUR_L1' (Đạt hiện tại - Mức 1), 'CUR_L2' (Đạt hiện tại - Mức 2), 'CUR_L3' (Đạt hiện tại - Mức 3) // C, D, E: 'YES' (Thỏa mãn), 'NO' (Không thỏa mãn) let statusMap = {}; let specIntellectual = 'none'; // 'none' | 'with_id' let specLanguage = 'with_lang_imp'; // 'none' | 'with_lang_imp' | 'nonverbal' let specComorbid = 'none'; // 'none' | 'adhd' | 'genetic' let filterGrp = 'all'; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .d5-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .d5-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .d5-inner { padding: 24px; max-width: 980px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .d5-wrap.is-fullscreen .d5-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .d5-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(30, 58, 138, 0.45), 0 0 0 0 rgba(30, 58, 138, 0.4); } 70% { box-shadow: 0 6px 20px rgba(30, 58, 138, 0.45), 0 0 0 10px rgba(30, 58, 138, 0); } 100% { box-shadow: 0 6px 20px rgba(30, 58, 138, 0.45), 0 0 0 0 rgba(30, 58, 138, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #1e3a8a 0%, #2563eb 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(30, 58, 138, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Header */ .d5-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .d5-header-text { flex: 1 1 260px; } .d5-title { font-size: 21px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .d5-desc { font-size: 14px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #eff6ff; color: #1e3a8a; border: 1px solid #bfdbfe; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #2563eb; color: #ffffff; border-color: #2563eb; } /* Controls & Specifiers */ .d5-presets { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; margin-bottom: 14px; } .d5-lbl { font-size: 12px; font-weight: 800; color: #0f172a; text-transform: uppercase; margin-right: 4px; } .d5-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; touch-action: manipulation; } .d5-pbtn:hover { background: #f1f5f9; } .d5-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } .d5-spec-panel { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 12px; padding: 12px 14px; margin-bottom: 16px; } .d5-select { width: 100%; padding: 8px 10px; border: 1px solid #cbd5e1; border-radius: 7px; font-size: 13px; font-weight: 600; color: #1e293b; background: #ffffff; margin-top: 4px; } .d5-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 16px; } .d5-tab { padding: 6px 12px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .d5-tab.active { background: #1e3a8a; color: #ffffff; border-color: #1e3a8a; } /* Sticky Dashboard */ .d5-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .d5-wrap.is-fullscreen .d5-dash { top: 58px; } .d5-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .d5-score-big { font-size: 20px; font-weight: 800; line-height: 1.25; } .d5-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .d5-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .d5-pillars { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; font-size: 12px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .d5-pillar-box { background: #1e293b; padding: 8px 10px; border-radius: 8px; border-left: 3px solid #475569; } .d5-pillar-box.met { border-left-color: #ef4444; background: rgba(239, 68, 68, 0.15); } .d5-pillar-box.unmet { border-left-color: #10b981; } .d5-pillar-val { font-weight: 800; color: #ffffff; font-size: 13.5px; display: block; margin-top: 2px; } /* Danh sách các tiêu chí DSM-5-TR */ .d5-item { border: 1px solid #e2e8f0; border-radius: 12px; padding: 15px 16px; margin-bottom: 12px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 8px; } .d5-item.crit-met { border-color: #fca5a5; background: #fff5f5; border-left: 5px solid #ef4444; } .d5-item.crit-unmet { border-color: #a7f3d0; background: #f0fdf4; } .d5-item-title { font-size: 15px; font-weight: 800; color: #0f172a; } .d5-item-desc { font-size: 13.5px; color: #334155; } .d5-item-ex { font-size: 12.8px; color: #475569; background: rgba(15, 23, 42, 0.03); padding: 7px 10px; border-radius: 6px; border-left: 3px solid #94a3b8; } .d5-tags { display: flex; flex-wrap: wrap; gap: 6px; } .d5-tag { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .d5-tag.grp-A { background: #dbeafe; color: #1d4ed8; } .d5-tag.grp-B { background: #fef3c7; color: #b45309; } .d5-tag.grp-CDE { background: #dcfce7; color: #15803d; } .d5-ans-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; margin-top: 4px; } .d5-ans-grid.grid-2 { grid-template-columns: 1fr 1fr; } .d5-abtn { padding: 8px 6px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 11.8px; font-weight: 700; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .d5-abtn:hover { border-color: #64748b; } .d5-abtn.sel-no { background: #10b981; border-color: #10b981; color: #ffffff; } .d5-abtn.sel-hist { background: #6366f1; border-color: #6366f1; color: #ffffff; } .d5-abtn.sel-l1 { background: #f59e0b; border-color: #f59e0b; color: #ffffff; } .d5-abtn.sel-l2 { background: #ea580c; border-color: #ea580c; color: #ffffff; } .d5-abtn.sel-l3, .d5-abtn.sel-yes { background: #ef4444; border-color: #ef4444; color: #ffffff; } /* Bảng Ma trận 3 Mức độ Cần Hỗ trợ chuẩn DSM-5-TR */ .d5-matrix-card { margin-top: 20px; padding: 16px 18px; border-radius: 12px; background: #ffffff; border: 1px solid #e2e8f0; overflow-x: auto; } .d5-table { width: 100%; border-collapse: collapse; font-size: 13px; min-width: 640px; } .d5-table th, .d5-table td { border: 1px solid #cbd5e1; padding: 10px 12px; text-align: left; vertical-align: top; } .d5-table th { background: #f1f5f9; font-weight: 800; color: #0f172a; } .d5-table tr.active-lvl { background: #fffbeb; border: 2px solid #f59e0b; } .d5-result-box { margin-top: 16px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #1e3a8a; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 760px) { .d5-inner { padding: 14px; } .d5-title { font-size: 18px; } .d5-spec-panel { grid-template-columns: 1fr; } .d5-pillars { grid-template-columns: 1fr 1fr; } .d5-ans-grid { grid-template-columns: 1fr; } .d5-pbtn.reset { margin-left: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
Bảng Kiểm Tiêu Chuẩn Chẩn Đoán Rối Loạn Phổ Tự Kỷ DSM-5-TR (APA, 2022 • Mã ICD-10-CM: F84.0)
Công cụ đối chiếu chính thức theo bản hiệu đính DSM-5-TR (2022) của Hiệp hội Tâm thần học Hoa Kỳ. Chẩn đoán xác định yêu cầu hội đủ: Tiêu chuẩn A (Đủ 3/3 tiêu chí A1, A2, A3) + Tiêu chuẩn B (Ít nhất 2/4 tiêu chí B1–B4) + Tiêu chuẩn C, D, E (Đủ 3/3), kèm phân loại Mức độ cần hỗ trợ (Level 1, 2, 3) và Các chỉ định đi kèm (Specifiers).
| Mức độ hỗ trợ (Severity Level) | Giao tiếp Xã hội (Social Communication - Tiêu chuẩn A) | Hành vi Hạn hẹp, Lặp lại (Restricted, Repetitive Behaviors - Tiêu chuẩn B) |
|---|---|---|
| Mức độ 1 (Level 1) "Cần hỗ trợ" (Requiring support) |
Nếu không có hỗ trợ tại chỗ, khiếm khuyết giao tiếp xã hội gây suy giảm dễ nhận thấy. Khó bắt đầu tương tác xã hội, phản ứng không điển hình hoặc không thành công trước lời mở đầu của người khác. Có vẻ giảm hứng thú tương tác xã hội. | Sự thiếu linh hoạt của hành vi gây cản trở đáng kể hoạt động ở một hoặc nhiều ngữ cảnh. Khó chuyển đổi giữa các hoạt động. Vấn đề về tổ chức và lập kế hoạch cản trở tính độc lập. |
| Mức độ 2 (Level 2) "Cần hỗ trợ đáng kể" (Substantial support) |
Khiếm khuyết rõ rệt về kỹ năng giao tiếp xã hội cả bằng lời và không lời; suy giảm xã hội biểu hiện rõ ngay cả khi đã có hỗ trợ tại chỗ; rất hạn chế khởi xướng tương tác xã hội và phản ứng nghèo nàn/bất thường. | Sự thiếu linh hoạt của hành vi, cực kỳ khó khăn khi đối mặt với sự thay đổi, hoặc các hành vi hạn hẹp/lặp lại xuất hiện thường xuyên đến mức người quan sát bình thường cũng nhận ra ngay và cản trở hoạt động trong nhiều bối cảnh. |
| Mức độ 3 (Level 3) "Cần hỗ trợ rất nhiều" (Very substantial support) |
Khiếm khuyết nghiêm trọng về kỹ năng giao tiếp xã hội bằng lời và không lời gây suy giảm nặng nề chức năng; rất hạn chế khởi xướng tương tác và chỉ phản ứng tối thiểu với người khác (ví dụ: chỉ nói vài từ đơn để đòi nhu cầu trực tiếp). | Sự thiếu linh hoạt của hành vi, cực kỳ khó thích ứng với thay đổi, hoặc các hành vi hạn hẹp/lặp lại gây cản trở nghiêm trọng đến mọi lĩnh vực hoạt động. Cực kỳ đau khổ/khó khăn khi phải chuyển hướng sự tập trung hoặc hành động. |
• Bằng chứng hội tụ tiêu chí: Đạt ${countA}/3 tiêu chí Nhóm A (yêu cầu bắt buộc 3/3) + Đạt ${countB}/4 tiêu chí Nhóm B (yêu cầu ≥ 2/4) + Thỏa mãn đầy đủ 3/3 điều kiện C, D, E.
• Phân loại Mức độ Cần Hỗ trợ (Severity Specifiers):
– Về Giao tiếp xã hội (Tiêu chuẩn A): Mức độ ${lvlA} (${lvlA === 3 ? 'Cần hỗ trợ rất nhiều' : (lvlA === 2 ? 'Cần hỗ trợ đáng kể' : 'Cần hỗ trợ')}).
– Về Hành vi hạn hẹp & lặp lại (Tiêu chuẩn B): Mức độ ${lvlB} (${lvlB === 3 ? 'Cần hỗ trợ rất nhiều' : (lvlB === 2 ? 'Cần hỗ trợ đáng kể' : 'Cần hỗ trợ')}).
• Các chỉ định lâm sàng đi kèm (Clinical Specifiers):
1. Trí tuệ: ${idSpecText}.
2. Ngôn ngữ: ${langSpecText}.
3. Bệnh lý đi kèm: ${comSpecText}. `; } else if (metAllA && !metMinB && metAllCDE) { // Đạt đủ 3/3 tiêu chí nhóm A và C, D, E nhưng chỉ có 0 hoặc 1 tiêu chí nhóm B -> Chẩn đoán phân biệt với Rối loạn Giao tiếp Xã hội (SPCD) badgeColor = '#0284c7'; badgeTxt = 'GỢI Ý RỐI LOẠN GIAO TIẾP XÃ HỘI (SPCD • F80.82)'; dashHeadline.textContent = `Đạt đủ Tiêu chuẩn A (3/3) nhưng chưa đủ Tiêu chuẩn B (${countB}/4 < 2 tiêu chí)`; valLvl.textContent = 'Phân biệt SPCD'; reportHtml = `
• Ghi chú chính thức của DSM-5-TR: "Những cá nhân có khiếm khuyết rõ rệt về giao tiếp xã hội nhưng các triệu chứng không đáp ứng đủ tiêu chuẩn của Rối loạn phổ tự kỷ (do không có đủ ≥ 2 tiêu chí hành vi hạn hẹp/lặp lại nhóm B ở cả hiện tại lẫn bệnh sử) cần được đánh giá theo chẩn đoán Rối loạn Giao tiếp Xã hội (Social [Pragmatic] Communication Disorder - SPCD, Mã ICD-10-CM: F80.82)." `; } else { badgeColor = '#10b981'; badgeTxt = 'CHƯA ĐỦ TIÊU CHUẨN CHẨN ĐOÁN ASD'; dashHeadline.textContent = `Chưa hội đủ điều kiện bắt buộc của thuật toán DSM-5-TR (A: ${countA}/3 • B: ${countB}/4 • C-D-E: ${countCDE}/3)`; valLvl.textContent = 'Không đủ chuẩn'; reportHtml = ` Kết luận Đối chiếu DSM-5-TR — Chưa Đạt Ngưỡng Chẩn Đoán Rối Loạn Phổ Tự Kỷ (F84.0):
• Để thiết lập chẩn đoán xác định Rối loạn phổ tự kỷ theo DSM-5-TR, cá nhân bắt buộc phải đạt đồng thời: Đủ 3/3 tiêu chí nhóm A (Hiện đạt: ${countA}/3), tối thiểu 2/4 tiêu chí nhóm B (Hiện đạt: ${countB}/4) và đủ 3/3 điều kiện C, D, E (Hiện đạt: ${countCDE}/3).
• Nếu trẻ chỉ chậm nói đơn thuần (không suy giảm tương hỗ cảm xúc A1 và giao tiếp phi ngôn ngữ A2), cần đánh giá theo hướng Rối loạn Ngôn ngữ (Language Disorder - F80.9). `; } scoreBadge.textContent = badgeTxt; scoreBadge.style.background = badgeColor; scoreBadge.style.color = '#ffffff'; resultBox.style.borderLeftColor = badgeColor; resultBox.innerHTML = reportHtml; updateFloatingFabVisibility(); } function applyPreset(type) { statusMap = {}; criteriaList.forEach(c => { statusMap[c.id] = 'NO'; }); if (type === 'reset') { renderItems(); updateSummary(); return; } if (type === 'asd_l1') { // ASD Level 1 (Tự kỷ chức năng cao) statusMap['A1'] = 'CUR_L1'; statusMap['A2'] = 'CUR_L1'; statusMap['A3'] = 'CUR_L1'; statusMap['B1'] = 'NO'; statusMap['B2'] = 'CUR_L1'; statusMap['B3'] = 'CUR_L1'; statusMap['B4'] = 'HIST'; statusMap['C'] = 'YES'; statusMap['D'] = 'YES'; statusMap['E'] = 'YES'; selSpecID.value = 'none'; selSpecLang.value = 'none'; } else if (type === 'asd_l2') { // ASD Level 2 (Cần hỗ trợ đáng kể) statusMap['A1'] = 'CUR_L2'; statusMap['A2'] = 'CUR_L2'; statusMap['A3'] = 'CUR_L2'; statusMap['B1'] = 'CUR_L2'; statusMap['B2'] = 'CUR_L2'; statusMap['B3'] = 'NO'; statusMap['B4'] = 'CUR_L1'; statusMap['C'] = 'YES'; statusMap['D'] = 'YES'; statusMap['E'] = 'YES'; selSpecID.value = 'none'; selSpecLang.value = 'with_lang_imp'; } else if (type === 'asd_l3') { // ASD Level 3 (Cần hỗ trợ rất nhiều) statusMap['A1'] = 'CUR_L3'; statusMap['A2'] = 'CUR_L3'; statusMap['A3'] = 'CUR_L3'; statusMap['B1'] = 'CUR_L3'; statusMap['B2'] = 'CUR_L2'; statusMap['B3'] = 'CUR_L2'; statusMap['B4'] = 'CUR_L3'; statusMap['C'] = 'YES'; statusMap['D'] = 'YES'; statusMap['E'] = 'YES'; selSpecID.value = 'with_id'; selSpecLang.value = 'nonverbal'; } else if (type === 'spcd') { // Rối loạn giao tiếp xã hội SPCD: Đạt đủ 3/3 nhóm A và C, D, E nhưng chỉ có 0 hoặc 1 nhóm B statusMap['A1'] = 'CUR_L1'; statusMap['A2'] = 'CUR_L1'; statusMap['A3'] = 'CUR_L1'; statusMap['B1'] = 'NO'; statusMap['B2'] = 'CUR_L1'; statusMap['B3'] = 'NO'; statusMap['B4'] = 'NO'; statusMap['C'] = 'YES'; statusMap['D'] = 'YES'; statusMap['E'] = 'YES'; } renderItems(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); d5Wrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { d5Wrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 980px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } shadow.querySelectorAll('.d5-pbtn').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-preset')); }; }); [selSpecID, selSpecLang, selSpecComorbid].forEach(sel => { sel.onchange = () => { updateSummary(); }; }); shadow.querySelectorAll('#grpTabs .d5-tab').forEach(function(tab) { tab.onclick = function() { filterGrp = this.getAttribute('data-grp'); shadow.querySelectorAll('#grpTabs .d5-tab').forEach(t => t.classList.remove('active')); this.classList.add('active'); renderItems(); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); applyPreset('asd_l2'); })();
DSM-5-TR (viết tắt của Diagnostic and Statistical Manual of Mental Disorders, Fifth Edition, Text Revision – Cẩm nang Chẩn đoán và Thống kê các Rối loạn Tâm thần, Phiên bản thứ 5, Bản hiệu đính văn bản) là hệ thống phân loại và tiêu chuẩn chẩn đoán các rối loạn tâm thần uy tín nhất thế giới hiện nay, được Hiệp hội Tâm thần học Hoa Kỳ (APA) xuất bản vào tháng 3 năm 2022.
Mục đích và Vai trò chính
DSM-5-TR được ví như “cuốn kinh thánh” của ngành tâm thần học và tâm lý học lâm sàng, đóng vai trò cốt lõi trong 3 lĩnh vực:
-
Chẩn đoán lâm sàng: Cung cấp danh sách các triệu chứng cụ thể, thời gian kéo dài và mức độ suy giảm chức năng để các bác sĩ tâm thần, nhà tâm lý học xác định chính xác một người đang mắc rối loạn nào (ví dụ: Trầm cảm chủ yếu, Rối loạn phổ tự kỷ, ADHD, Tâm thần phân liệt…).
-
Ngôn ngữ chung cho giới chuyên môn: Giúp các bác sĩ, nhà nghiên cứu trên toàn cầu trao đổi thông tin bệnh án và kết quả nghiên cứu một cách đồng nhất.
-
Cơ sở pháp lý và bảo hiểm: Cung cấp mã bệnh chuẩn xác (tích hợp với bảng mã ICD-10-CM) để làm căn cứ thanh toán bảo hiểm y tế, giám định pháp y và hoạch định chính sách sức khỏe cộng đồng.
Những điểm mới nổi bật của DSM-5-TR (so với DSM-5 năm 2013)
Sau gần một thập kỷ kể từ khi DSM-5 ra đời (2013), bản hiệu đính TR (Text Revision) đã được cập nhật với sự tham gia của hơn 200 chuyên gia nhằm phản ánh các nghiên cứu khoa học mới nhất:
-
Bổ sung chẩn đoán mới – Rối loạn đau buồn kéo dài (Prolonged Grief Disorder): Chính thức công nhận tình trạng đau buồn dữ dội, dai dẳng sau khi mất người thân (kéo dài trên 12 tháng ở người lớn và 6 tháng ở trẻ em/thanh thiếu niên) làm suy giảm nghiêm trọng khả năng sinh hoạt bình thường.
-
Cập nhật mã triệu chứng tự sát và tự hủy hoại: Thêm các mã theo dõi hành vi tự sát và tự gây thương tích không nhằm mục đích tự sát (Non-suicidal self-injury), giúp bác sĩ ghi nhận và theo dõi nguy cơ này ngay cả khi bệnh nhân không mắc một rối loạn tâm thần cụ thể nào khác.
-
Làm rõ tiêu chuẩn của hơn 70 rối loạn: Tinh chỉnh lại câu chữ trong tiêu chuẩn chẩn đoán của các rối loạn như Rối loạn phổ tự kỷ (ASD), Rối loạn lưỡng cực, Rối loạn trầm cảm… để tránh gây hiểu lầm hoặc chẩn đoán quá tay trong thực hành.
-
Chú trọng yếu tố văn hóa, chủng tộc và phân biệt đối xử: Lần đầu tiên đưa vào một nhóm chuyên trách rà soát tác động của sự phân biệt chủng tộc và bất bình đẳng xã hội lên sức khỏe tâm thần, giúp giảm thiểu định kiến khi chẩn đoán cho các nhóm yếu thế.
-
Cập nhật thuật ngữ về giới: Điều chỉnh ngôn ngữ trong chương Bất. ổn giới (Gender Dysphoria) theo hướng tôn trọng, chính xác và giảm kỳ thị hơn (ví dụ: thay “desired gender” thành “experienced gender”).
Sự khác biệt giữa DSM-5-TR và ICD-11 (Áp dụng tại Việt Nam)
Tại Việt Nam cũng như nhiều quốc gia khác, các bác sĩ và chuyên gia tâm lý thường sử dụng song song hai hệ thống này:
| Tiêu chí | DSM-5-TR | ICD-11 (Chương Rối loạn Tâm thần) |
| Tổ chức phát hành | Hiệp hội Tâm thần học Hoa Kỳ (APA) | Tổ chức Y tế Thế giới (WHO) |
| Phạm vi bao phủ | Chỉ chuyên biệt về các rối loạn tâm thần | Bao gồm tất cả các loại bệnh lý y khoa và tâm thần |
| Đặc điểm tiêu chuẩn | Tiêu chuẩn định lượng rất chi tiết, chặt chẽ (yêu cầu đủ X trên Y triệu chứng trong thời gian cụ thể) | Hướng dẫn mang tính mô tả linh hoạt hơn để phù hợp với nhiều nền văn hóa và điều kiện y tế khác nhau |
| Ứng dụng tại Việt Nam | Được ưa chuộng trong nghiên cứu khoa học, đào tạo chuyên sâu và đánh giá tâm lý lâm sàng | Là bộ mã bắt buộc về mặt hành chính y tế (hiện Việt Nam đang chuyển giao từ ICD-10 sang ICD-11) để làm bệnh án và bảo hiểm |
Lưu ý quan trọng: DSM-5-TR chỉ liệt kê các tiêu chuẩn nhận diện bệnh chứ không hướng dẫn phác đồ điều trị (như dùng thuốc gì hay trị liệu ra sao). Ngoài ra, bộ tiêu chuẩn này được thiết kế cho các chuyên gia đã qua đào tạo bài bản; việc người đọc tự tra cứu để “tự bắt bệnh” (self-diagnose) rất dễ dẫn đến sai lệch vì nhiều triệu chứng tâm lý có sự chồng chéo phức tạp với nhau.
[Tiêu chuẩn quốc tế] ICD-11: Bảng phân loại quốc tế về bệnh tật và các rối loạn phát triển thần kinh của WHO
(function() { const host = document.getElementById('icd11-wp-host'); if (!host) return; const placeholder = document.createComment('icd11-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // Các Đặc điểm Thiết yếu bắt buộc theo hướng dẫn CDDR của WHO ICD-11 (Mã gốc 6A02) const essentialFeatures = [ // TRỤ CỘT 1: KHIẾM KHUYẾT BỀN VỮNG TRONG KHỞI XƯỚNG & DUY TRÌ TƯƠNG TÁC XÃ HỘI VÀ GIAO TIP XÃ HỘI { id: 'S1', pillar: 'SOC', code: 'Đặc điểm Thiết yếu 1A (Trụ cột Xã hội)', title: '1A. Khiếm khuyết trong tương hỗ cảm xúc – xã hội và hội thoại qua lại hai chiều', desc: 'Khó khăn bền vững trong việc bắt đầu, đáp lại và duy trì tương tác xã hội qua lại; giảm chia sẻ sở thích, cảm xúc và chú ý chung (Joint Attention) với người khác.', examples: 'Biểu hiện: Ít chủ động khoe đồ vật hoặc chia sẻ niềm vui; gọi tên ít phản ứng; không biết duy trì hội thoại qua lại hoặc chỉ nói về chủ đề của riêng mình.' }, { id: 'S2', pillar: 'SOC', code: 'Đặc điểm Thiết yếu 1B (Trụ cột Xã hội)', title: '1B. Khiếm khuyết trong tích hợp giao tiếp bằng lời nói và phi ngôn ngữ', desc: 'Sự bất thường hoặc thiếu phối hợp giữa lời nói với giao tiếp ánh mắt, biểu cảm khuôn mặt, tư thế cơ thể và các cử chỉ giao tiếp quy ước (chỉ trỏ, vẫy tay, gật/lắc đầu).', examples: 'Biểu hiện: Giao tiếp mắt hạn chế hoặc cứng nhắc; ít dùng cử chỉ chỉ tay để chia sẻ; giọng điệu nói chuyện phẳng lì/khác lạ; khó hiểu ngôn ngữ cơ thể và ẩn ý.' }, { id: 'S3', pillar: 'SOC', code: 'Đặc điểm Thiết yếu 1C (Trụ cột Xã hội)', title: '1C. Khiếm khuyết trong thấu hiểu, thiết lập và duy trì mối quan hệ với bạn đồng trang lứa', desc: 'Khó khăn trong việc điều chỉnh hành vi theo các ngữ cảnh xã hội khác nhau, thiếu kỹ năng chơi tưởng tượng hợp tác hoặc thiếu sự nhạy cảm với cảm xúc của người khác.', examples: 'Biểu hiện: Chơi một mình tách biệt trong nhóm bạn; không biết tham gia trò chơi đóng vai cùng bạn; nhận xét thẳng thừng thiếu tinh tế hoặc rất khó kết bạn thân.' }, // TRỤ CỘT 2: CÁC MẪU HÀNH VI, SỞ THÍCH VÀ HOẠT ĐỘNG HẠN HẸP, LẶP ĐI LẶP LẠI VÀ CỨNG NHẮC { id: 'R1', pillar: 'RRB', code: 'Đặc điểm Thiết yếu 2A (Trụ cột Hành vi RRB)', title: '2A. Các cử động vận động, thao tác với đồ vật hoặc lời nói rập khuôn, lặp đi lặp lại', desc: 'Xuất hiện các vận động định hình đơn giản hoặc phức tạp, sử dụng đồ chơi theo cách rập khuôn không đúng chức năng, hoặc nhại lời (echolalia) / lặp lại cụm từ cố định.', examples: 'Biểu hiện: Vẫy tay, búng ngón tay, đi nhón gót, đung đưa người, xoay tròn; xếp đồ chơi thành hàng dài, xoay bánh xe; nhại lại câu hỏi hoặc lời quảng cáo.' }, { id: 'R2', pillar: 'RRB', code: 'Đặc điểm Thiết yếu 2B (Trụ cột Hành vi RRB)', title: '2B. Đòi hỏi sự bất biến quá mức, tuân thủ cứng nhắc thói quen hoặc hành vi nghi thức', desc: 'Kháng cự mạnh mẽ hoặc rơi vào trạng thái căng thẳng, hoảng loạn cực độ trước những thay đổi nhỏ trong môi trường, lịch trình sinh hoạt hoặc lộ trình di chuyển.', examples: 'Biểu hiện: Khóc thét/ăn vạ khi thay đổi đường đi, đổi chỗ ngồi hoặc chuyển tiếp hoạt động; đòi hỏi làm mọi việc theo đúng một trình tự nghi thức.' }, { id: 'R3', pillar: 'RRB', code: 'Đặc điểm Thiết yếu 2C (Trụ cột Hành vi RRB)', title: '2C. Sở thích thu hẹp, cố định với cường độ hoặc sự tập trung bất thường', desc: 'Bận tâm dai dẳng và mãnh liệt vào một vài chủ đề chuyên biệt hẹp, hoặc gắn bó kỳ lạ với những đồ vật vô tri không phải đồ chơi thông thường.', examples: 'Biểu hiện: Ám ảnh với con số, chữ cái, lịch, biển số xe, tàu hỏa, bản đồ, quạt quay; hoặc luôn cầm chặt một nắp chai, que nhựa, hòn đá.' }, { id: 'R4', pillar: 'RRB', code: 'Đặc điểm Thiết yếu 2D (Trụ cột Hành vi RRB)', title: '2D. Tăng nhạy cảm hoặc Giảm nhạy cảm suốt đời đối với các kích thích giác quan', desc: 'Phản ứng quá mức (né tránh/quá tải), kém phản ứng (thờ ơ với đau/nhiệt độ) hoặc tìm kiếm cuốn hút khác thường vào các yếu tố giác quan (âm thanh, ánh sáng, xúc giác, mùi vị).', examples: 'Biểu hiện: Bịt tai trước tiếng ồn thông thường, kén ăn kết cấu cực đoan, sợ cắt tóc/rửa mặt; nhìn nghiêng sát mắt vào vật chuyển động hoặc ngửi/liếm đồ vật.' }, // TRỤ CỘT 3: ĐIỀU KIỆN KHỞI PHÁT & SUY GIẢM CHỨC NĂNG BẮT BUỘC CỦA ICD-11 { id: 'O1', pillar: 'ONSET', code: 'Điều kiện Bắt buộc 3A (Khởi phát)', title: '3A. Khởi phát trong giai đoạn phát triển sớm (thường ở thời kỳ ấu nhi / đầu tuổi thơ)', desc: 'Các triệu chứng bắt đầu từ giai đoạn phát triển sớm, nhưng có thể chỉ bộc lộ đầy đủ sau này khi các yêu cầu xã hội vượt quá khả năng hạn chế của cá nhân.', examples: 'Xác nhận qua bệnh sử phát triển từ trước tuổi đi học (kể cả những trường hợp lớn lên mới đi khám do trước đó cố gắng ngụy trang xã hội).' }, { id: 'O2', pillar: 'ONSET', code: 'Điều kiện Bắt buộc 3B (Suy giảm chức năng)', title: '3B. Gây suy giảm đáng kể trong chức năng cá nhân, gia đình, xã hội, giáo dục hoặc nghề nghiệp', desc: 'Các khiếm khuyết đủ nghiêm trọng để gây cản trở rõ rệt hoạt động hàng ngày; nếu cá nhân duy trì được hoạt động thì phải trả giá bằng sự nỗ lực căng thẳng quá mức.', examples: 'Gây rào cản rõ trong giao tiếp gia đình, hòa nhập trường lớp, kết bạn hoặc công việc.' } ]; // Ma trận 6 Mã Chẩn đoán chính thức của ICD-11 (WHO) dựa trên IDD (Trí tuệ) và Functional Language (Ngôn ngữ chức năng) const icd11Subcodes = [ { code: '6A02.0', idd: 'no', lang: 'mild_none', name: '6A02.0 — Rối loạn phổ tự kỷ KHÔNG kèm rối loạn phát triển trí tuệ và suy giảm ngôn ngữ chức năng nhẹ hoặc không suy giảm', desc: 'Cá nhân có trí tuệ trong giới hạn bình thường (IQ ≥ 70) và sử dụng được câu nói/ngôn ngữ đầy đủ để giao tiếp nhu cầu cá nhân (Tương đương Hội chứng Asperger / Tự kỷ chức năng cao trước đây).' }, { code: '6A02.1', idd: 'yes', lang: 'mild_none', name: '6A02.1 — Rối loạn phổ tự kỷ CÓ kèm rối loạn phát triển trí tuệ và suy giảm ngôn ngữ chức năng nhẹ hoặc không suy giảm', desc: 'Cá nhân đáp ứng tiêu chuẩn Rối loạn phát triển trí tuệ (6A00), nhưng khả năng nói/ký hiệu chức năng tương đối tốt so với mức tuổi trí tuệ.' }, { code: '6A02.2', idd: 'no', lang: 'impaired', name: '6A02.2 — Rối loạn phổ tự kỷ KHÔNG kèm rối loạn phát triển trí tuệ và có suy giảm ngôn ngữ chức năng rõ rệt', desc: 'Cá nhân không bị khuyết tật trí tuệ (nhận thức phi ngôn ngữ bình thường), nhưng ngôn ngữ diễn đạt chức năng bị suy giảm rõ (chỉ dùng được từ đơn hoặc cụm từ ngắn).' }, { code: '6A02.3', idd: 'yes', lang: 'impaired', name: '6A02.3 — Rối loạn phổ tự kỷ CÓ kèm rối loạn phát triển trí tuệ và có suy giảm ngôn ngữ chức năng rõ rệt', desc: 'Cá nhân vừa có Rối loạn phát triển trí tuệ, vừa bị suy giảm rõ rệt ngôn ngữ chức năng (chỉ nói được từ đơn hoặc cụm từ đơn giản).' }, { code: '6A02.2 (Nonverbal / 6A02.4)', idd: 'no', lang: 'absent', name: '6A02.2 / 6A02.4 — Rối loạn phổ tự kỷ KHÔNG kèm rối loạn phát triển trí tuệ và vắng bóng hoàn toàn ngôn ngữ chức năng', desc: 'Cá nhân có nhận thức phi ngôn ngữ bình thường nhưng hoàn toàn không có lời nói hoặc phương tiện giao tiếp biểu tượng chức năng.' }, { code: '6A02.5', idd: 'yes', lang: 'absent', name: '6A02.5 — Rối loạn phổ tự kỷ CÓ kèm rối loạn phát triển trí tuệ và vắng bóng hoàn toàn ngôn ngữ chức năng', desc: 'Cá nhân vừa có Rối loạn phát triển trí tuệ, vừa vắng bóng hoàn toàn (hoặc hầu như không có) khả năng dùng lời nói/ký hiệu chức năng để diễn đạt nhu cầu.' } ]; let featStatus = {}; // 'YES' | 'NO' let selIDD = 'no'; // 'no' (Không kèm suy giảm trí tuệ) | 'yes' (Có kèm suy giảm trí tuệ) let selLang = 'impaired'; // 'mild_none' (Không/Nhẹ) | 'impaired' (Suy giảm rõ: từ đơn/cụm từ) | 'absent' (Vắng bóng hoàn toàn) let selRegression = 'no'; // 'no' (Không mất kỹ năng) | 'yes' (Có mất kỹ năng đã từng đạt được) let filterPillar = 'all'; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .ic-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .ic-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .ic-inner { padding: 24px; max-width: 980px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .ic-wrap.is-fullscreen .ic-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .ic-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(2, 132, 199, 0.45), 0 0 0 0 rgba(2, 132, 199, 0.4); } 70% { box-shadow: 0 6px 20px rgba(2, 132, 199, 0.45), 0 0 0 10px rgba(2, 132, 199, 0); } 100% { box-shadow: 0 6px 20px rgba(2, 132, 199, 0.45), 0 0 0 0 rgba(2, 132, 199, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #0369a1 0%, #0284c7 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(2, 132, 199, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Header */ .ic-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .ic-header-text { flex: 1 1 260px; } .ic-title { font-size: 21px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .ic-desc { font-size: 14px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #f0f9ff; color: #0369a1; border: 1px solid #bae6fd; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #0284c7; color: #ffffff; border-color: #0284c7; } /* Bộ chọn Trục Mã hóa ICD-11 (Trí tuệ x Ngôn ngữ x Thoái lui) */ .ic-spec-panel { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; background: #f0f9ff; border: 1px solid #bae6fd; border-radius: 12px; padding: 14px; margin-bottom: 14px; } .ic-lbl { font-size: 12px; font-weight: 800; color: #0369a1; text-transform: uppercase; display: block; margin-bottom: 5px; } .ic-select { width: 100%; padding: 8px 10px; border: 1px solid #7dd3fc; border-radius: 7px; font-size: 13px; font-weight: 700; color: #0f172a; background: #ffffff; } /* Presets */ .ic-presets { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; margin-bottom: 14px; } .ic-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; touch-action: manipulation; } .ic-pbtn:hover { background: #f1f5f9; } .ic-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } .ic-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 16px; } .ic-tab { padding: 6px 12px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .ic-tab.active { background: #0284c7; color: #ffffff; border-color: #0284c7; } /* Sticky Dashboard */ .ic-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .ic-wrap.is-fullscreen .ic-dash { top: 58px; } .ic-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .ic-score-big { font-size: 20px; font-weight: 800; line-height: 1.25; } .ic-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .ic-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .ic-pillars { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; font-size: 12px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .ic-pillar-box { background: #1e293b; padding: 8px 10px; border-radius: 8px; border-left: 3px solid #475569; } .ic-pillar-box.met { border-left-color: #ef4444; background: rgba(239, 68, 68, 0.15); } .ic-pillar-box.unmet { border-left-color: #10b981; } .ic-pillar-val { font-weight: 800; color: #ffffff; font-size: 13.5px; display: block; margin-top: 2px; } /* Danh sách đặc điểm thiết yếu ICD-11 */ .ic-item { border: 1px solid #e2e8f0; border-radius: 12px; padding: 15px 16px; margin-bottom: 12px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 8px; } .ic-item.feat-yes { border-color: #fca5a5; background: #fff5f5; border-left: 5px solid #ef4444; } .ic-item.feat-no { border-color: #a7f3d0; background: #f0fdf4; } .ic-item-title { font-size: 15px; font-weight: 800; color: #0f172a; } .ic-item-desc { font-size: 13.5px; color: #334155; } .ic-item-ex { font-size: 12.8px; color: #475569; background: rgba(15, 23, 42, 0.03); padding: 7px 10px; border-radius: 6px; border-left: 3px solid #94a3b8; } .ic-tags { display: flex; flex-wrap: wrap; gap: 6px; } .ic-tag { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .ic-tag.p-SOC { background: #dbeafe; color: #1d4ed8; } .ic-tag.p-RRB { background: #fef3c7; color: #b45309; } .ic-tag.p-ONSET { background: #dcfce7; color: #15803d; } .ic-ans-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 4px; } .ic-abtn { padding: 9px 10px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 700; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .ic-abtn:hover { border-color: #64748b; } .ic-abtn.sel-no { background: #10b981; border-color: #10b981; color: #ffffff; } .ic-abtn.sel-yes { background: #ef4444; border-color: #ef4444; color: #ffffff; } /* Bảng Ma trận 6 Mã ICD-11 (6A02.0 -> 6A02.5) - Vừa khít 100% không cần cuộn ngang */ .ic-matrix-card { margin-top: 20px; padding: 14px; border-radius: 12px; background: #ffffff; border: 1px solid #e2e8f0; width: 100%; overflow: hidden; } .ic-table { width: 100%; max-width: 100%; table-layout: fixed; border-collapse: collapse; font-size: 12.8px; line-height: 1.45; } .ic-table th, .ic-table td { border: 1px solid #cbd5e1; padding: 8px 9px; text-align: left; vertical-align: top; word-wrap: break-word; overflow-wrap: break-word; hyphens: auto; } .ic-table th { background: #f1f5f9; font-weight: 800; color: #0f172a; } .ic-table tr.active-code { background: #eff6ff; border: 2px solid #0284c7; } .ic-result-box { margin-top: 16px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #0284c7; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 760px) { .ic-inner { padding: 14px; } .ic-title { font-size: 18px; } .ic-spec-panel { grid-template-columns: 1fr; } .ic-pillars { grid-template-columns: 1fr 1fr; } .ic-ans-grid { grid-template-columns: 1fr; } .ic-pbtn.reset { margin-left: 0; } .ic-matrix-card { padding: 10px; } .ic-table { font-size: 11.5px; } .ic-table th, .ic-table td { padding: 6px 6px; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
Bảng Kiểm & Định Mã Chẩn Đoán Rối Loạn Phổ Tự Kỷ Theo Phân Loại Quốc Tế ICD-11 (WHO • Mã 6A02)
Công cụ chuẩn hóa theo ICD-11 (Tổ chức Y tế Thế giới WHO) giúp đối chiếu Các đặc điểm thiết yếu bắt buộc (Essential Features) và tự động tra cứu chính xác Mã phân nhóm lâm sàng (6A02.0 → 6A02.5) dựa trên ma trận kết hợp giữa Phát triển Trí tuệ (IDD) và Ngôn ngữ Chức năng (Functional Language).
| Mã ICD-11 | Rối loạn Phát triển Trí tuệ (IDD) | Mức độ Ngôn ngữ Chức năng | Mô tả Phân nhóm Lâm sàng của WHO |
|---|
• Mô tả định danh của WHO: ${matchedSub.desc}
• Chỉ định tiền sử thoái lui phát triển: ${regText}.
• Đối chiếu tương đương sang ICD-10 (đang dùng song song tại BV Việt Nam): Mã F84.0 (Tự kỷ ở trẻ em) ${matchedSub.code === '6A02.0' ? 'hoặc F84.5 (Hội chứng Asperger)' : ''}. `; } else if (metSOC && !metRRB && metONSET) { valCode.textContent = '6A01.22 (Ngữ dụng)'; dashHeadline.textContent = 'Đạt Trụ cột Xã hội nhưng thiếu Trụ cột Hành vi lặp lại → Phân biệt Mã 6A01.22'; scoreBadge.textContent = 'PHÂN BIỆT MÃ 6A01.22'; scoreBadge.style.background = '#f59e0b'; scoreBadge.style.color = '#ffffff'; resultBox.style.borderLeftColor = '#f59e0b'; resultBox.innerHTML = ` Hướng dẫn Chẩn đoán Phân biệt của ICD-11 (WHO):
• Cá nhân có suy giảm rõ rệt về Giao tiếp & Tương tác xã hội (${cntSOC}/3 đặc điểm) nhưng không bộc lộ các mẫu hành vi hạn hẹp, lặp lại và cứng nhắc (${cntRRB}/4 đặc điểm).
• Theo phân loại ICD-11 của WHO, trường hợp này được mã hóa sang Mã 6A01.22 — Rối loạn ngôn ngữ phát triển với suy giảm chủ yếu về ngôn ngữ ngữ dụng (Developmental language disorder with impairment of mainly pragmatic language). `; } else { valCode.textContent = 'Chưa đủ chuẩn 6A02'; dashHeadline.textContent = 'Chưa hội đủ các Đặc điểm Thiết yếu của Rối loạn Phổ Tự kỷ (Mã 6A02)'; scoreBadge.textContent = 'CHƯA ĐỦ TIÊU CHUẨN 6A02'; scoreBadge.style.background = '#10b981'; scoreBadge.style.color = '#ffffff'; resultBox.style.borderLeftColor = '#10b981'; resultBox.innerHTML = ` Kết luận Đối chiếu ICD-11 — Chưa Đạt Tiêu Chuẩn Mã 6A02:
• Để mã hóa chẩn đoán thuộc nhóm 6A02 (Autism Spectrum Disorder), cá nhân cần có bằng chứng ở cả Trụ cột Giao tiếp – Tương tác xã hội (${cntSOC}/3), Trụ cột Hành vi hạn hẹp – Lặp lại (${cntRRB}/4) và thỏa mãn đầy đủ 2 điều kiện Khởi phát sớm & Suy giảm chức năng (${cntONSET}/2). `; } updateFloatingFabVisibility(); } function applyPreset(type) { featStatus = {}; essentialFeatures.forEach(f => { featStatus[f.id] = 'NO'; }); if (type === 'reset') { renderItems(); updateSummary(); return; } // Bật đủ các đặc điểm thiết yếu của 6A02 ['S1', 'S2', 'S3', 'R1', 'R2', 'R4', 'O1', 'O2'].forEach(id => { featStatus[id] = 'YES'; }); if (type === '6A02_0') { elIDD.value = 'no'; elLang.value = 'mild_none'; elRegression.value = 'no'; featStatus['R1'] = 'NO'; featStatus['R3'] = 'YES'; } else if (type === '6A02_2') { elIDD.value = 'no'; elLang.value = 'impaired'; elRegression.value = 'no'; } else if (type === '6A02_3') { elIDD.value = 'yes'; elLang.value = 'impaired'; elRegression.value = 'no'; } else if (type === '6A02_5') { elIDD.value = 'yes'; elLang.value = 'absent'; elRegression.value = 'yes'; featStatus['R3'] = 'YES'; } renderItems(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); icWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { icWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 980px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } [elIDD, elLang, elRegression].forEach(sel => { sel.onchange = () => { updateSummary(); }; }); shadow.querySelectorAll('.ic-pbtn').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-preset')); }; }); shadow.querySelectorAll('#pillarTabs .ic-tab').forEach(function(tab) { tab.onclick = function() { filterPillar = this.getAttribute('data-pil'); shadow.querySelectorAll('#pillarTabs .ic-tab').forEach(t => t.classList.remove('active')); this.classList.add('active'); renderItems(); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); applyPreset('6A02_2'); })();
ICD-11 (viết tắt của International Classification of Diseases, 11th Revision – Bảng phân loại Quốc tế về Bệnh tật, Phiên bản lần thứ 11) là bộ tiêu chuẩn toàn cầu dùng để phân loại, mã hóa và thống kê tất cả các loại bệnh tật, chấn thương, rối loạn sức khỏe và nguyên nhân tử vong ở con người.
Bộ tiêu chuẩn này do Tổ chức Y tế Thế giới (WHO) biên soạn, được thông qua vào năm 2019 và chính thức có hiệu lực trên toàn cầu từ ngày 1 tháng 1 năm 2022 (thay thế cho phiên bản ICD-10 đã sử dụng từ đầu những năm 1990).
Vai trò và Mục đích cốt lõi của ICD-11
Khác với DSM-5-TR chỉ tập trung vào sức khỏe tâm thần, ICD-11 bao quát toàn bộ nền y học (từ tim mạch, ung thư,truyền nhiễm cho đến tâm thần, chấn thương tai nạn) với hơn 17.000 danh mục mã bệnh và hơn 120.000 thuật ngữ lâm sàng.
-
Thống kê dịch tễ học toàn cầu: Giúp WHO và Bộ Y tế các nước theo dõi tỷ lệ mắc bệnh, nguyên nhân tử vong và phát hiện sớm các dịch bệnh hoặc xu hướng sức khỏe mới.
-
Quản lý bệnh viện và Bảo hiểm y tế: Mọi chẩn đoán trên giấy ra viện, đơn thuốc hay hồ sơ bảo hiểm đều phải gắn với một “mã ICD”. Cơ quan bảo hiểm dựa vào mã này để xét duyệt chi trả viện phí.
-
Chuẩn hóa dữ liệu y tế số: Được thiết kế hoàn toàn trên nền tảng kỹ thuật số, cho phép tích hợp trực tiếp vào phần mềm Quản lý thông tin bệnh viện (HIS) và Hồ sơ bệnh án điện tử (EMR).
Những đột phá lớn của ICD-11 so với ICD-10
Sau hơn 30 năm kể từ bản ICD-10, ICD-11 mang đến những thay đổi mang tính bước ngoặt để bắt kịp y học hiện đại:
-
Cấu trúc mã bệnh thông minh và chi tiết hơn: Cho phép ghép nối nhiều mã (post-coordination) để mô tả chính xác tình trạng bệnh (ví dụ: không chỉ mã hóa “ung thư phổi”, mà có thể ghép thêm mã vị trí khối u, giai đoạn di căn và mức độ nghiêm trọng).
-
Cập nhật lớn về Sức khỏe tâm thần và Hành vi:
-
Thêm các chẩn đoán thời đại số: Lần đầu tiên đưa Rối loạn chơi game (Gaming disorder) và Rối loạn căng thẳng sau sang chấn phức tạp (Complex PTSD) vào danh mục bệnh chính thức.
-
Giải bệnh lý hóa vấn đề bản dạng giới: Chuyển mục “Không phù hợp giới” (Gender incongruence – người chuyển giới) ra khỏi chương Rối loạn tâm thần và đưa vào chương mới về Các tình trạng liên quan đến sức khỏe tình dục, giúp xóa bỏ định kiến coi người chuyển giới là mắc bệnh tâm thần nhưng vẫn đảm bảo quyền tiếp cận dịch vụ y tế của họ.
-
-
Bổ sung chương mới về Y học cổ truyền: Lần đầu tiên các chẩn đoán của Y học cổ truyền (Đông y) được chuẩn hóa và đưa vào hệ thống phân loại y tế quốc tế.
-
Theo dõi tình trạng Kháng kháng sinh (AMR): Cung cấp bộ mã riêng để ghi nhận các ca nhiễm khuẩn kháng thuốc – một trong những mối đe dọa y tế lớn nhất hiện nay.
Ứng dụng của ICD-11 tại Việt Nam
Tại Việt Nam, hệ thống phân loại ICD của WHO là tiêu chuẩn bắt buộc mang tính pháp lý tại tất cả các cơ sở khám chữa bệnh công lập và tư nhân:
| Giai đoạn | Tình hình áp dụng tại các bệnh viện Việt Nam |
| Hiện hành (Phổ biến) | Các bệnh viện vẫn đang sử dụng rộng rãi bảng mã ICD-10 để kê đơn, làm hồ sơ bệnh án và quyết toán Bảo hiểm Y tế (BHYT). |
| Lộ trình chuyển đổi | Bộ Y tế Việt Nam đang trong quá trình dịch thuật chuẩn hóa, tập huấn nhân lực và nâng cấp hạ tầng công nghệ thông tin bệnh viện để chuyển dịch dần từ ICD-10 sang ICD-11 nhằm đồng bộ với dữ liệu của WHO. |
Ví dụ thực tế: Khi bạn đi khám bệnh tại Việt Nam, trên sổ khám hoặc giấy ra viện luôn có mục “Chẩn đoán” kèm theo một ký hiệu như J00 (Viêm mũi họng cấp/cảm thường) hoặc F32 (Giai đoạn trầm cảm) – đó chính là mã bệnh trích từ hệ thống ICD của WHO (hiện tại là mã ICD-10; trong ICD-11, mã của giai đoạn trầm cảm sẽ chuyển thành 6A70).
[Tiêu chuẩn quốc tế] ICF / ICF-CY: Khung phân loại quốc tế về Chức năng, Khuyết tật và Sức khỏe trẻ em của WHO
(function() { function initICFTool() { const host = document.getElementById('icfcy-wp-host'); if (!host || host.shadowRoot) return; const placeholder = document.createComment('icfcy-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // Cấu hình 3 Phiên bản theo nhóm tuổi của ICF Core Set for ASD (WHO & Karolinska Institutet) const ageGroupConfigs = { preschool: { code: 'preschool', tabTitle: '🧸 1. Mầm non ICF-CY (0 – 5 tuổi)', tabSub: 'Chú ý chung, Bắt chước & Chơi đùa', fullTitle: 'Bộ Cốt Lõi ICF-CY Dành Cho Trẻ Nhỏ & Mầm Non (0 – 5 Tuổi • WHO ICF-CY Core Set)', desc: 'Tập trung vào các mã ICF-CY đặc trưng đầu đời: chức năng tâm lý xã hội (b122), điều hòa cảm xúc (b152), bắt chước (d130), chú ý chung (d161), giao tiếp không lời (d315/d335), chơi đùa (d880) và sự hỗ trợ của cha mẹ (e310).' }, school: { code: 'school', tabTitle: '🎒 2. Học đường ICF-CY (6 – 16 tuổi)', tabSub: 'Học tập, Điều hành, Bạn bè & Trường lớp', fullTitle: 'Bộ Cốt Lõi ICF-CY Dành Cho Trẻ Em & Thiếu Niên Lứa Tuổi Học Đường (6 – 16 Tuổi)', desc: 'Đánh giá toàn diện chức năng điều hành (b164), kiểm soát xung động, hội thoại (d350), xử lý căng thẳng (d240), kết bạn đồng trang lứa (d750), giáo dục phổ thông (d820) và điều chỉnh môi trường lớp học (e130/e330).' }, adult: { code: 'adult', tabTitle: '🧑 3. Vị thành niên & Người lớn (≥ 17 tuổi)', tabSub: 'Tự lập, Lao động, Cộng đồng & Dịch vụ', fullTitle: 'Bộ Cốt Lõi ICF Dành Cho Thanh Thiếu Niên Lớn & Người Trưởng Thành (Từ 17 Tuổi Trở Lên)', desc: 'Đo lường khả năng sống tự lập (d570/d640), quan hệ xã hội phức hợp (d720), đào tạo nghề & việc làm (d840/d850), đi lại cộng đồng và hệ thống dịch vụ an sinh – việc làm (e585/e590).' } }; // Danh mục 32 Mã ICF / ICF-CY Cốt lõi thuộc 3 Thành phần: b (Body Functions), d (Activities & Participation), e (Environmental Factors) const icfCategories = [ // ===================================================== // THÀNH PHẦN 1: CHỨC NĂNG CƠ THỂ & TÂM THẦN (BODY FUNCTIONS • Mã b • 10 mục) // ===================================================== { id: 'b122', comp: 'b', code: 'b122', ages: ['preschool', 'school', 'adult'], name: 'b122 — Chức năng Tâm lý Xã hội Toàn cục (Global Psychosocial Functions)', desc: 'Các chức năng tâm thần cần thiết để tích hợp và hình thành các kỹ năng giao tiếp cá nhân – xã hội, thấu hiểu ý nghĩa xã hội và thiết lập tương tác hai chiều (Thuyết tâm trí).' }, { id: 'b125', comp: 'b', code: 'b125', ages: ['preschool', 'school'], name: 'b125 — Khí chất và Xu hướng Phản ứng Phát triển (Dispositions & Intra-personal Functions - ICF-CY)', desc: 'Khả năng thích ứng trước các tình huống mới lạ, mức độ linh hoạt hành vi so với sự cứng nhắc hoặc kháng cự thay đổi ở trẻ em.' }, { id: 'b134', comp: 'b', code: 'b134', ages: ['preschool', 'school', 'adult'], name: 'b134 — Chức năng Giấc ngủ (Sleep Functions)', desc: 'Thời lượng, chất lượng giấc ngủ, khả năng dễ đi vào giấc ngủ và duy trì giấc ngủ suốt đêm không bị thức giấc.' }, { id: 'b140', comp: 'b', code: 'b140', ages: ['preschool', 'school', 'adult'], name: 'b140 — Chức năng Chú ý (Attention Functions)', desc: 'Khả năng duy trì sự tập trung chú ý trong khoảng thời gian cần thiết, chuyển hướng chú ý linh hoạt và chia sẻ sự chú ý với người khác.' }, { id: 'b147', comp: 'b', code: 'b147', ages: ['preschool', 'school', 'adult'], name: 'b147 — Chức năng Tâm thần – Vận động (Psychomotor Functions)', desc: 'Kiểm soát mức độ hoạt động vận động và lời nói (không bị tăng động bồn chồn quá mức, chậm chạp lờ đờ hoặc có các cử động định hình rập khuôn).' }, { id: 'b152', comp: 'b', code: 'b152', ages: ['preschool', 'school', 'adult'], name: 'b152 — Chức năng Cảm xúc (Emotional Functions)', desc: 'Sự phù hợp của cảm xúc với hoàn cảnh và khả năng tự điều tiết cảm xúc (kiểm soát cơn giận, lo âu, thất vọng).' }, { id: 'b156', comp: 'b', code: 'b156', ages: ['preschool', 'school', 'adult'], name: 'b156 — Chức năng Tri giác & Xử lý Giác quan (Perceptual Functions)', desc: 'Khả năng tiếp nhận, phân biệt và điều hòa các kích thích Thính giác, Thị giác, Xúc giác, Vị – Khứu giác và Tiền đình – Bản thể (không bị quá tải hoặc tìm kiếm cảm giác bất thường).' }, { id: 'b164', comp: 'b', code: 'b164', ages: ['school', 'adult'], name: 'b164 — Chức năng Tư duy Bậc cao / Chức năng Điều hành (Higher-level Cognitive / Executive Functions)', desc: 'Tư duy trừu tượng, tổ chức và lập kế hoạch công việc, quản lý thời gian, tính linh hoạt nhận thức và giải quyết vấn đề.' }, { id: 'b167', comp: 'b', code: 'b167', ages: ['preschool', 'school', 'adult'], name: 'b167 — Chức năng Tâm thần về Ngôn ngữ (Mental Functions of Language)', desc: 'Năng lực thần kinh trong việc tiếp nhận giải mã ngôn ngữ (nghe hiểu/đọc hiểu) và diễn đạt ngôn ngữ (lời nói/chữ viết/ký hiệu).' }, { id: 'b760', comp: 'b', code: 'b760', ages: ['preschool', 'school', 'adult'], name: 'b760 — Kiểm soát và Phối hợp Vận động Tự chủ (Control of Voluntary Movement / Praxis)', desc: 'Sự khéo léo phối hợp mắt – tay, phối hợp hai bên cơ thể và lập kế hoạch vận động tinh/thô.' }, // ===================================================== // THÀNH PHẦN 2: HOẠT ĐỘNG VÀ THAM GIA (ACTIVITIES & PARTICIPATION • Mã d • 14 mục) // ===================================================== { id: 'd130', comp: 'd', code: 'd130', ages: ['preschool', 'school'], name: 'd130 — Sao chép / Bắt chước (Copying / Imitation - Chương 1: Học tập cơ bản)', desc: 'Bắt chước nét mặt, cử chỉ cơ thể, thao tác với đồ vật, âm thanh và chữ cái như một phần của quá trình học tập sớm.' }, { id: 'd161', comp: 'd', code: 'd161', ages: ['preschool', 'school'], name: 'd161 — Định hướng Chú ý / Chú ý Chung (Directing Attention / Joint Attention - ICF-CY)', desc: 'Chủ động hướng sự chú ý vào khuôn mặt, giọng nói của người khác và cùng chia sẻ sự chú ý vào một đồ vật/sự kiện chung.' }, { id: 'd230', comp: 'd', code: 'd230', ages: ['preschool', 'school', 'adult'], name: 'd230 — Thực hiện Lịch trình Sinh hoạt Hàng ngày (Carrying out Daily Routine)', desc: 'Thực hiện các hoạt động thường nhật từ sáng đến tối, chuyển tiếp mượt mà giữa các hoạt động và thích ứng khi lịch trình thay đổi.' }, { id: 'd240', comp: 'd', code: 'd240', ages: ['preschool', 'school', 'adult'], name: 'd240 — Xử lý Căng thẳng và Các Đòi hỏi Tâm lý (Handling Stress & Psychological Demands)', desc: 'Kiểm soát áp lực, sự quá tải và hành vi thích ứng khi đối mặt với yêu cầu học tập, công việc hoặc tình huống khủng hoảng.' }, { id: 'd310', comp: 'd', code: 'd310', ages: ['preschool', 'school', 'adult'], name: 'd310 — Giao tiếp Tiếp nhận: Hiểu Thông điệp Lời nói (Communicating with - Receiving Spoken Messages)', desc: 'Hiểu đúng nghĩa đen và nghĩa bóng/ngữ dụng của các câu nói trong giao tiếp hàng ngày.' }, { id: 'd315', comp: 'd', code: 'd315', ages: ['preschool', 'school', 'adult'], name: 'd315 — Giao tiếp Tiếp nhận: Hiểu Thông điệp Phi ngôn ngữ (Receiving Nonverbal Messages)', desc: 'Đọc hiểu cử chỉ tay chân, biểu cảm khuôn mặt, ngôn ngữ cơ thể và các ký hiệu/biểu tượng hình ảnh.' }, { id: 'd330', comp: 'd', code: 'd330', ages: ['preschool', 'school', 'adult'], name: 'd330 — Giao tiếp Diễn đạt: Nói (Speaking)', desc: 'Sử dụng từ ngữ, cụm từ và câu nói có nghĩa để yêu cầu, bình luận, kể chuyện và diễn đạt suy nghĩ.' }, { id: 'd335', comp: 'd', code: 'd335', ages: ['preschool', 'school', 'adult'], name: 'd335 — Tạo Thông điệp Phi ngôn ngữ / AAC (Producing Nonverbal Messages)', desc: 'Sử dụng ánh mắt, chỉ trỏ, gật/lắc đầu, nét mặt hoặc tranh ảnh PECS / thiết bị AAC để truyền đạt thông tin.' }, { id: 'd350', comp: 'd', code: 'd350', ages: ['school', 'adult'], name: 'd350 — Hội thoại Qua lại (Conversation)', desc: 'Bắt đầu, duy trì và kết thúc cuộc trò chuyện qua lại hai chiều với một hoặc nhiều người theo đúng chủ đề và quy tắc luân phiên.' }, { id: 'd510_d570', comp: 'd', code: 'd510–d570', ages: ['preschool', 'school', 'adult'], name: 'd510–d570 — Tự Chăm sóc Bản thân (Self-Care: Tắm rửa, Đi vệ sinh, Mặc đồ, Ăn uống & Giữ an toàn)', desc: 'Mức độ độc lập trong việc tự xúc ăn, uống nước, đi vệ sinh, tắm gội, mặc quần áo và chăm sóc sức khỏe cá nhân.' }, { id: 'd710_d720', comp: 'd', code: 'd710–d720', ages: ['preschool', 'school', 'adult'], name: 'd710–d720 — Tương tác Giữa các Cá nhân Cơ bản & Phức hợp (Interpersonal Interactions)', desc: 'Thể hiện sự tôn trọng, ấm áp, giữ khoảng cách xã hội phù hợp và điều chỉnh hành vi ứng xử trong các mối quan hệ.' }, { id: 'd750', comp: 'd', code: 'd750', ages: ['preschool', 'school', 'adult'], name: 'd750 — Các Mối quan hệ Xã hội Không chính thức / Kết bạn (Informal Social Relationships / Peers)', desc: 'Khả năng làm quen, chơi hợp tác và duy trì tình bạn với bạn đồng trang lứa ở lớp học, khu dân cư.' }, { id: 'd880', comp: 'd', code: 'd880', ages: ['preschool', 'school'], name: 'd880 — Tham gia vào Hoạt động Chơi đùa (Engagement in Play - Mã đặc hiệu ICF-CY)', desc: 'Từ chơi khám phá độc lập, chơi quan sát, chơi song song đến chơi đóng vai giả vờ và chơi hợp tác có luật lệ với bạn.' }, { id: 'd815_d850', comp: 'd', code: 'd815–d850', ages: ['preschool', 'school', 'adult'], name: 'd815–d850 — Giáo dục Mầm non / Phổ thông & Việc làm (Education and Employment)', desc: 'Tham gia hòa nhập hiệu quả tại trường mầm non (d815), trường phổ thông (d820), học nghề (d840) hoặc lao động việc làm (d850).' }, // ===================================================== // THÀNH PHẦN 3: YẾU TỐ MÔI TRƯỜNG (ENVIRONMENTAL FACTORS • Mã e • 8 mục) // ===================================================== { id: 'e125_e130', comp: 'e', code: 'e125–e130', ages: ['preschool', 'school', 'adult'], name: 'e125–e130 — Sản phẩm & Công nghệ Hỗ trợ Giao tiếp và Giáo dục (Assistive Tech, AAC & Visual Supports)', desc: 'Sự sẵn có của bảng lịch trình hình ảnh, thẻ PECS, thiết bị hỗ trợ giao tiếp AAC, phần mềm học tập và giáo cụ trực quan.' }, { id: 'e240_e250', comp: 'e', code: 'e240–e250', ages: ['preschool', 'school', 'adult'], name: 'e240–e250 — Môi trường Vật lý: Ánh sáng & Âm thanh (Light and Sound in Environment)', desc: 'Mức độ tiếng ồn, âm vang và cường độ ánh sáng tại nhà/lớp học/nơi làm việc (là Rào cản gây quá tải giác quan hay đã được điều chỉnh Thúc đẩy êm dịu).' }, { id: 'e310', comp: 'e', code: 'e310', ages: ['preschool', 'school', 'adult'], name: 'e310 — Sự Hỗ trợ từ Gia đình Ruột thịt (Immediate Family Support)', desc: 'Mức độ thấu hiểu, đồng hành can thiệp thực hành hàng ngày và hỗ trợ tinh thần/vật chất từ cha mẹ, anh chị em.' }, { id: 'e330_e340', comp: 'e', code: 'e330–e340', ages: ['preschool', 'school', 'adult'], name: 'e330–e340 — Giáo viên, Quản lý & Người Hỗ trợ Cá nhân (Teachers, Supervisors & Personal Care Providers)', desc: 'Sự hỗ trợ thực tế từ giáo viên đứng lớp, giáo viên hỗ trợ hòa nhập (Shadow teacher) hoặc người hướng dẫn tại nơi làm việc.' }, { id: 'e355', comp: 'e', code: 'e355', ages: ['preschool', 'school', 'adult'], name: 'e355 — Đội ngũ Chuyên gia Y tế & Trị liệu (Health & Therapy Professionals)', desc: 'Sự hỗ trợ chuyên môn từ Bác sĩ Nhi phát triển/Tâm thần, chuyên gia Tâm lý, Ngôn ngữ trị liệu (SLP), Hoạt động trị liệu (OT) và Giáo dục đặc biệt.' }, { id: 'e410_e460', comp: 'e', code: 'e410–e460', ages: ['preschool', 'school', 'adult'], name: 'e410–e460 — Thái độ của Gia đình, Bạn bè, Nhà trường & Xã hội (Individual and Societal Attitudes)', desc: 'Thái độ bao dung, tôn trọng sự đa dạng thần kinh và hỗ trợ hòa nhập (Facilitator +) hay kỳ thị, bắt nạt, thiếu thông cảm (Barrier .).' }, { id: 'e580', comp: 'e', code: 'e580', ages: ['preschool', 'school', 'adult'], name: 'e580 — Dịch vụ, Hệ thống và Chính sách Y tế / Phục hồi chức năng (Health Services & Policies)', desc: 'Khả năng tiếp cận dịch vụ sàng lọc sớm, chẩn đoán, can thiệp sớm và bảo hiểm y tế tại địa phương.' }, { id: 'e585_e590', comp: 'e', code: 'e585–e590', ages: ['preschool', 'school', 'adult'], name: 'e585–e590 — Dịch vụ, Hệ thống và Chính sách Giáo dục Hòa nhập & Việc làm (Education & Labor Services)', desc: 'Chính sách hỗ trợ giáo dục đặc biệt/hòa nhập tại trường học, đào tạo hướng nghiệp và chính sách việc làm cho người tự kỷ.' } ]; let currentAgeGrp = 'preschool'; let filterComp = 'all'; let qualifiers = {}; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .icf-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } .icf-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .icf-inner { padding: 24px; max-width: 980px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .icf-wrap.is-fullscreen .icf-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .icf-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(2, 132, 199, 0.45), 0 0 0 0 rgba(2, 132, 199, 0.4); } 70% { box-shadow: 0 6px 20px rgba(2, 132, 199, 0.45), 0 0 0 10px rgba(2, 132, 199, 0); } 100% { box-shadow: 0 6px 20px rgba(2, 132, 199, 0.45), 0 0 0 0 rgba(2, 132, 199, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #0369a1 0%, #0284c7 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(2, 132, 199, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } .age-switcher-box { background: #f1f5f9; padding: 10px; border-radius: 12px; margin-bottom: 18px; } .age-switcher-lbl { font-size: 12px; font-weight: 800; color: #334155; text-transform: uppercase; margin-bottom: 8px; display: block; } .age-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; } .age-btn { padding: 10px 12px; border-radius: 9px; border: 1.5px solid transparent; background: rgba(255, 255, 255, 0.65); cursor: pointer; text-align: left; transition: all 0.18s ease; touch-action: manipulation; } .age-btn:hover { background: #ffffff; } .age-btn.active { background: #ffffff; border-color: #0284c7; box-shadow: 0 3px 10px rgba(15, 23, 42, 0.08); } .age-btn-title { font-size: 13.5px; font-weight: 800; color: #0f172a; display: block; } .age-btn.active .age-btn-title { color: #0369a1; } .age-btn-sub { font-size: 11.5px; color: #64748b; margin-top: 2px; display: block; } .icf-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .icf-header-text { flex: 1 1 260px; } .icf-title { font-size: 20px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .icf-desc { font-size: 13.8px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #f0f9ff; color: #0369a1; border: 1px solid #bae6fd; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #0284c7; color: #ffffff; border-color: #0284c7; } .icf-controls { display: flex; flex-direction: column; gap: 10px; margin-bottom: 18px; } .icf-presets { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; } .icf-preset-lbl { font-size: 12.5px; font-weight: 700; color: #475569; margin-right: 4px; } .icf-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; touch-action: manipulation; } .icf-pbtn:hover { background: #f1f5f9; } .icf-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } .icf-comp-tabs { display: flex; flex-wrap: wrap; gap: 6px; } .icf-ctab { padding: 6px 12px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .icf-ctab.active { background: #0284c7; color: #ffffff; border-color: #0284c7; } .icf-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .icf-wrap.is-fullscreen .icf-dash { top: 58px; } .icf-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .icf-score-big { font-size: 20px; font-weight: 800; line-height: 1.25; } .icf-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .icf-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .icf-pillars { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; font-size: 12px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .icf-pillar-box { background: #1e293b; padding: 7px 10px; border-radius: 8px; } .icf-pillar-val { font-weight: 800; color: #ffffff; font-size: 13.5px; display: block; margin-top: 2px; } .icf-item { border: 1px solid #e2e8f0; border-radius: 12px; padding: 14px 16px; margin-bottom: 12px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 8px; } .icf-item.imp-high { border-color: #fca5a5; background: #fff5f5; } .icf-item.imp-mid { border-color: #fde68a; background: #fffbeb; } .icf-item.fac-good { border-color: #a7f3d0; background: #f0fdf4; } .icf-item-title { font-size: 15px; font-weight: 800; color: #0f172a; } .icf-item-desc { font-size: 13.4px; color: #334155; } .icf-tags { display: flex; flex-wrap: wrap; gap: 6px; } .icf-tag { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .icf-tag.comp-b { background: #dbeafe; color: #1d4ed8; } .icf-tag.comp-d { background: #f3e8ff; color: #7e22ce; } .icf-tag.comp-e { background: #dcfce7; color: #15803d; } .icf-ans-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; margin-top: 4px; } .icf-abtn { padding: 8px 5px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 11.5px; font-weight: 700; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .icf-abtn:hover { border-color: #64748b; } .icf-abtn.sel-green { background: #10b981; border-color: #10b981; color: #ffffff; } .icf-abtn.sel-blue { background: #0284c7; border-color: #0284c7; color: #ffffff; } .icf-abtn.sel-amber { background: #f59e0b; border-color: #f59e0b; color: #ffffff; } .icf-abtn.sel-orange { background: #ea580c; border-color: #ea580c; color: #ffffff; } .icf-abtn.sel-red { background: #ef4444; border-color: #ef4444; color: #ffffff; } .icf-profile-card { margin-top: 20px; padding: 16px 18px; border-radius: 12px; background: #ffffff; border: 1px solid #e2e8f0; overflow-x: auto; } .icf-table { width: 100%; border-collapse: collapse; font-size: 12.8px; min-width: 640px; } .icf-table th, .icf-table td { border: 1px solid #cbd5e1; padding: 8px 10px; text-align: left; } .icf-table th { background: #f1f5f9; font-weight: 800; color: #0f172a; } .icf-result-box { margin-top: 16px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #0284c7; font-size: 14px; line-height: 1.65; color: #1e293b; } .icf-result-box code { background: #e2e8f0; padding: 1px 5px; border-radius: 4px; font-weight: 700; font-size: 13px; } @media (max-width: 760px) { .icf-inner { padding: 14px; } .age-grid { grid-template-columns: 1fr; } .icf-title { font-size: 18px; } .icf-pillars { grid-template-columns: 1fr 1fr; } .icf-ans-grid { grid-template-columns: 1fr 1fr; } .icf-pbtn.reset { margin-left: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
| Mã ICF đầy đủ | Thành phần ICF | Tên Lĩnh vực Chức năng / Hoạt động / Môi trường | Mức độ Định lượng (WHO Qualifier) |
|---|
${aCfg.fullTitle}
${aCfg.desc}
`; } function formatQualifierLabel(comp, qVal) { if (comp === 'b' || comp === 'd') { const map = { 0: '.0 — Không khiếm khuyết/khó khăn (0–4%)', 1: '.1 — Mức độ Nhẹ (5–24%)', 2: '.2 — Mức độ Vừa (25–49%)', 3: '.3 — Mức độ Nặng (50–95%)', 4: '.4 — Mức độ Hoàn toàn (96–100%)' }; return map[qVal] || map[0]; } else { const mapE = { '-3': '.3 — Rào cản Nặng (Severe Barrier)', '-1': '.1 — Rào cản Nhẹ–Vừa (Mild/Mod Barrier)', '0': '.0 — Không ảnh hưởng (Neutral)', '2': '+2 — Yếu tố Thúc đẩy Vừa (Mod Facilitator)', '4': '+4 — Yếu tố Thúc đẩy Rất mạnh (Complete Facilitator)' }; return mapE[String(qVal)] || mapE['0']; } } function formatFullICFCode(cat, qVal) { if (cat.comp === 'b' || cat.comp === 'd') { return `${cat.code}.${qVal}`; } else { if (qVal 0) return `${cat.code}+${qVal}`; return `${cat.code}.0`; } } function renderItems() { const activeCats = getActiveCategories(); itemList.innerHTML = ''; const bdBtns = [ { val: 0, lbl: '.0 - Không khó khăn (0–4%)', cls: 'sel-green' }, { val: 1, lbl: '.1 - Mức Nhẹ (5–24%)', cls: 'sel-blue' }, { val: 2, lbl: '.2 - Mức Vừa (25–49%)', cls: 'sel-amber' }, { val: 3, lbl: '.3 - Mức Nặng (50–95%)', cls: 'sel-orange' }, { val: 4, lbl: '.4 - Hoàn toàn (96–100%)', cls: 'sel-red' } ]; const eBtns = [ { val: -3, lbl: '.3 - Rào cản Nặng (Barrier)', cls: 'sel-red' }, { val: -1, lbl: '.1 - Rào cản Nhẹ–Vừa', cls: 'sel-amber' }, { val: 0, lbl: '.0 - Trung tính (0%)', cls: 'sel-blue' }, { val: 2, lbl: '+2 - Hỗ trợ / Thúc đẩy Khá', cls: 'sel-green' }, { val: 4, lbl: '+4 - Hỗ trợ / Thúc đẩy Tối đa', cls: 'sel-green' } ]; activeCats.forEach(function(cat) { if (filterComp !== 'all' && cat.comp !== filterComp) return; const uVal = (qualifiers[cat.id] !== undefined) ? qualifiers[cat.id] : 0; const fullCode = formatFullICFCode(cat, uVal); let rowCls = 'icf-item'; if (cat.comp === 'b' || cat.comp === 'd') { if (uVal >= 3) rowCls += ' imp-high'; else if (uVal === 2) rowCls += ' imp-mid'; else if (uVal === 0) rowCls += ' fac-good'; } else { if (uVal 0) rowCls += ' fac-good'; } const compName = (cat.comp === 'b') ? '1. Chức năng Cơ thể [ b ]' : (cat.comp === 'd' ? '2. Hoạt động & Tham gia [ d ]' : '3. Yếu tố Môi trường [ e ]'); const btns = (cat.comp === 'e') ? eBtns : bdBtns; const btnsHtml = btns.map(b => { const cls = 'icf-abtn' + (uVal === b.val ? ` ${b.cls}` : ''); return ``; }).join(''); const el = document.createElement('div'); el.className = rowCls; el.innerHTML = `${fullCode} thay cho dấu `)
resultBox.innerHTML = `
🌐 BẢN TỔNG HỢP LẬP LUẬN PHỤC HỒI CHỨC NĂNG THEO MÔ HÌNH TÂM – SINH – XÃ HỘI ICF (WHO):
• 1. Các Khiếm khuyết Cơ thể [b] & Hạn chế Hoạt động – Tham gia [d] từ mức Vừa đến Nặng (≥ .2):
${severeList.join(', ') || 'Không có mục nào ở mức ≥ .2.'}
• 2. Các Yếu tố Thúc đẩy Môi trường hiện có [e+]:
${facilitatorList.join(', ') || 'Chưa ghi nhận yếu tố thúc đẩy (+).'}
• 3. Các Rào cản Môi trường cần dỡ bỏ [e.]:
${barrierList.join(', ') || 'Không có rào cản môi trường đáng kể.'}
• 💡 Chiến lược Can thiệp theo Triết lý ICF-CY: Khuyết tật là kết quả của sự tương tác giữa khiếm khuyết cá nhân (b) và rào cản môi trường (e). Ngay cả khi mức độ khiếm khuyết thần kinh (b122, b167) chưa thể thay đổi ngay một sớm một chiều, việc chuyển hóa các mã Môi trường từ Rào cản (.2/.3) thành Yếu tố Thúc đẩy (+3/+4) (như trang bị lịch trình hình ảnh/AAC e125+4, giảm tiếng ồn lớp học e250+3, huấn luyện phụ huynh và giáo viên e310+4, e330+4) sẽ lập tức cải thiện điểm Thực hiện thực tế (Performance) trên các mã Hoạt động & Tham gia (d)!
`;
updateFloatingFabVisibility();
}
function applyPreset(type) {
qualifiers = {};
icfCategories.forEach(c => { qualifiers[c.id] = 0; });
if (type === 'reset') {
renderItems();
updateSummary();
return;
}
if (type === 'good_env') {
icfCategories.forEach((c, idx) => {
if (c.comp === 'b' || c.comp === 'd') {
qualifiers[c.id] = (idx % 2 === 0) ? 2 : 1;
} else {
qualifiers[c.id] = (c.id === 'e240_e250') ? 2 : 4;
}
});
} else if (type === 'barrier_env') {
icfCategories.forEach((c, idx) => {
if (c.comp === 'b' || c.comp === 'd') {
qualifiers[c.id] = (idx % 2 === 0) ? 3 : 2;
} else {
qualifiers[c.id] = (c.id === 'e310') ? 2 : -3;
}
});
} else if (type === 'mild') {
icfCategories.forEach((c, idx) => {
if (c.comp === 'b' || c.comp === 'd') {
qualifiers[c.id] = (idx % 2 === 0) ? 1 : 0;
} else {
qualifiers[c.id] = 2;
}
});
}
renderItems();
updateSummary();
}
function updateFloatingFabVisibility() {
if (isFullscreen) {
fabBtn.classList.add('visible', 'is-exit-mode');
fabText.textContent = 'Thu nhỏ lại';
fabIcon.textContent = '✕';
return;
}
fabBtn.classList.remove('is-exit-mode');
fabText.textContent = 'Phóng to bảng';
fabIcon.textContent = '⛶';
const rect = host.getBoundingClientRect();
const viewH = window.innerHeight || document.documentElement.clientHeight;
const isReadingWidget = rect.top 180;
if (isReadingWidget) {
fabBtn.classList.add('visible');
} else {
fabBtn.classList.remove('visible');
}
}
function setFullscreenState(active) {
if (active === isFullscreen) return;
isFullscreen = active;
if (isFullscreen) {
savedScrollY = window.scrollY || window.pageYOffset || 0;
if (host.parentNode && host.parentNode !== document.body) {
host.parentNode.insertBefore(placeholder, host);
document.body.appendChild(host);
}
host.style.cssText = [
'position: fixed !important',
'inset: 0 !important',
'top: 0 !important',
'left: 0 !important',
'right: 0 !important',
'bottom: 0 !important',
'width: 100vw !important',
'height: 100vh !important',
'height: 100dvh !important',
'max-width: none !important',
'max-height: none !important',
'margin: 0 !important',
'padding: 0 !important',
'z-index: 2147483647 !important',
'background: #f8fafc !important',
'overflow-y: auto !important',
'-webkit-overflow-scrolling: touch !important',
'display: block !important'
].join(';');
icfWrap.classList.add('is-fullscreen');
document.documentElement.style.overflow = 'hidden';
document.body.style.overflow = 'hidden';
fsText.textContent = 'Thu nhỏ';
fsIcon.textContent = '✕';
host.scrollTop = 0;
} else {
icfWrap.classList.remove('is-fullscreen');
if (placeholder.parentNode) {
placeholder.parentNode.insertBefore(host, placeholder);
placeholder.parentNode.removeChild(placeholder);
}
host.style.cssText = 'width: 100%; max-width: 980px; margin: 28px auto; display: block; clear: both;';
document.documentElement.style.overflow = '';
document.body.style.overflow = '';
fsText.textContent = 'Toàn màn hình';
fsIcon.textContent = '⛶';
if (document.fullscreenElement && document.exitFullscreen) {
document.exitFullscreen().catch(() => {});
}
window.scrollTo(0, savedScrollY);
}
updateFloatingFabVisibility();
}
shadow.querySelectorAll('#ageGrid .age-btn').forEach(function(btn) {
btn.onclick = function() {
currentAgeGrp = this.getAttribute('data-age');
shadow.querySelectorAll('#ageGrid .age-btn').forEach(b => b.classList.remove('active'));
this.classList.add('active');
renderHeader();
renderItems();
updateSummary();
};
});
shadow.querySelectorAll('.icf-pbtn').forEach(function(btn) {
btn.onclick = function() {
applyPreset(this.getAttribute('data-preset'));
};
});
shadow.querySelectorAll('#compTabs .icf-ctab').forEach(function(tab) {
tab.onclick = function() {
filterComp = this.getAttribute('data-comp');
shadow.querySelectorAll('#compTabs .icf-ctab').forEach(t => t.classList.remove('active'));
this.classList.add('active');
renderItems();
};
});
shadow.getElementById('btnToggleFullscreen').onclick = () => {
setFullscreenState(!isFullscreen);
};
shadow.getElementById('btnExitFloating').onclick = () => {
setFullscreenState(false);
};
fabBtn.onclick = () => {
setFullscreenState(!isFullscreen);
};
window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true });
window.addEventListener('resize', updateFloatingFabVisibility, { passive: true });
window.addEventListener('keydown', (e) => {
if (e.key === 'Escape' && isFullscreen) {
setFullscreenState(false);
}
});
renderHeader();
applyPreset('good_env');
}
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', initICFTool);
} else {
initICFTool();
}
})();
ICF / ICF-CY (Khung Phân loại Quốc tế về Chức năng, Khuyết tật và Sức khỏe của WHO): Nếu ICD-11 dùng để “gọi tên bệnh”, thì ICF là bộ tiêu chuẩn quốc tế giúp đánh giá khả năng hoạt động và sự tham gia xã hội của trẻ, làm nền tảng cho mọi kế hoạch can thiệp hiện đại.
ICF (International Classification of Functioning, Disability and Health — 2001) và ICF-CY (Bản dành cho Trẻ em và Thanh thiếu niên — 2007, hiện đã được hợp nhất trực tiếp vào hệ thống ICF chung và liên kết chặt chẽ với ICD-11) là Khung Phân loại Quốc tế về Chức năng, Khuyết tật và Sức khỏe do Tổ chức Y tế Thế giới (WHO) ban hành.
Nếu như ICD-11 (mã 6A02) và DSM-5-TR (mã F84.0) trả lời câu hỏi: “Trẻ mắc hội chứng/rối loạn gì?”, thì ICF / ICF-CY trả lời câu hỏi quan trọng không kém trong phục hồi chức năng và giáo dục đặc biệt: “Đứa trẻ này đang vận hành trong đời sống hàng ngày như thế nào, điểm mạnh là gì, và môi trường xung quanh đang hỗ trợ hay cản trở trẻ ra sao?”
1. Tóm tắt cốt lõi về Cấu trúc & Hệ thống Mã hóa của ICF / ICF-CY
Mô hình Tâm – Sinh – Xã hội (Biopsychosocial Model) của ICF chia chức năng con người thành 4 Thành phần (Components) được ký hiệu bằng 4 chữ cái đầu (b, s, d, e):
Mã ký hiệu
Thành phần phân loại (Component)
Nội dung lâm sàng trong Tự kỷ (ASD) & Phát triển
Hệ thống Chấm điểm Định lượng (Qualifiers)
b
1. Chức năng Cơ thể
(Body Functions)
Chức năng tâm thần – thần kinh (b1), giác quan (b2), giọng nói và lời nói (b3), vận động (b7).
VD: b122 (Tâm lý xã hội), b140 (Chú ý), b164(Điều hành).
Mức độ khiếm khuyết (0 – 4):
• .0 Không khiếm khuyết (0–4%)
• .1 Khiếm khuyết nhẹ (5–24%)
• .2 Khiếm khuyết vừa (25–49%)
• .3 Khiếm khuyết nặng (50–95%)
• .4 Khiếm khuyết hoàn toàn (96–100%)
s
2. Cấu trúc Cơ thể
(Body Structures)
Cấu trúc giải phẫu của hệ thần kinh (s110 Cấu trúc não bộ) hoặc cơ quan phát âm (s3).
Thường ít chấm biến đổi ở trẻ ASD đơn thuần (trừ khi kèm bại não, dị tật giải phẫu).
d
3. Hoạt động & Tham gia
(Activities & Participation)
Học tập (d1), Thực hiện nhiệm vụ (d2), Giao tiếp (d3), Vận động (d4), Tự chăm sóc (d5), Đời sống gia đình (d6), Tương tác cá nhân (d7), Học đường & Nghề nghiệp (d8).
👉 Đặc trưng trẻ nhỏ (ICF-CY): Chơi đùa (d880), Chú ý chung (d161), Bắt chước (d130).
Đánh giá song song 2 chỉ số (.0đến .4):
1. Năng lực tự thân (Capacity):Khả năng trẻ tự làm trong môi trường chuẩn không có hỗ trợ.
2. Thực hiện thực tế (Performance): Mức độ trẻ làm được trong đời sống hàng ngày khi đã có hỗ trợ/điều chỉnh.
e
4. Yếu tố Môi trường
(Environmental Factors)
Học liệu/Công nghệ hỗ trợ AAC (e1), Môi trường ánh sáng/âm thanh (e2), Sự hỗ trợ của gia đình/giáo viên (e3), Thái độ xã hội (e4), Dịch vụ y tế – giáo dục (e5).
Chấm theo 2 chiều đối lập:
• Rào cản (Barrier): .1 đến .4(Cản trở trẻ)
• Thúc đẩy (Facilitator): +1đến +4 (Hỗ trợ giúp trẻ làm tốt hơn)
2. Bộ Cốt lõi ICF cho Rối loạn Phổ Tự kỷ (ICF Core Sets for ASD) & Các Công cụ Quốc tế
Vì toàn bộ cuốn ICF-CY có tới hơn 1.600 mã phân loại (quá dài để chấm trên một bệnh nhân), Tổ chức Y tế Thế giới (WHO), ICF Research Branch và Viện Karolinska (Thụy Điển – GS. Sven Bölte) đã nghiên cứu chuẩn hóa thành Bộ Cốt lõi ICF dành riêng cho Tự kỷ (ICF Core Sets for ASD) với các phiên bản theo độ tuổi: Mầm non (0–5 tuổi), Học đường (6–16 tuổi) và Người lớn (≥17 tuổi).
Ngoài ra, các hệ thống tra cứu chính thức của quốc tế hiện có:
-
WHO ICF Browser: Trình duyệt tra cứu cây phân loại mã ICF chính thức của WHO (icd.who.int/dev11/l-icf/en).
-
ICF-based Documentation Tool: Công cụ lập biểu đồ hồ sơ chức năng của ICF Research Branch (Thụy Sĩ).
[Chỉ số báo cáo] Chỉ số IQ vs. DQ: Phân biệt Thương số trí tuệ (IQ) và Thương số phát triển (DQ) trong chẩn đoán
Trong thực tế lâm sàng tại Việt Nam, khi cầm tờ phiếu kết quả khám tâm lý (ví dụ: phiếu KSPD Kyoto hay Bayley-III ghi DQ = 65), rất nhiều phụ huynh hoảng loạn vì tưởng con mình bị “thiểu năng trí tuệ vĩnh viễn giống như IQ = 65”.Ngược lại, nhiều giáo viên/chuyên viên mới vào nghề cũng gọi nhầm điểm DQ của trẻ 2 tuổi là “điểm IQ”.
(function() { const host = document.getElementById('dqiq-wp-host'); if (!host) return; const placeholder = document.createComment('dqiq-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .dq-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } .dq-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .dq-inner { padding: 24px; max-width: 980px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .dq-wrap.is-fullscreen .dq-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .dq-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 0 rgba(37, 99, 235, 0.4); } 70% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 10px rgba(37, 99, 235, 0); } 100% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 0 rgba(37, 99, 235, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #1d4ed8 0%, #2563eb 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } .dq-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .dq-header-text { flex: 1 1 260px; } .dq-title { font-size: 21px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .dq-desc { font-size: 14px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #eff6ff; color: #1d4ed8; border: 1px solid #bfdbfe; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #2563eb; color: #ffffff; border-color: #2563eb; } /* Presets */ .dq-presets { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; margin-bottom: 16px; } .dq-lbl { font-size: 12px; font-weight: 800; color: #0f172a; text-transform: uppercase; margin-right: 4px; } .dq-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; touch-action: manipulation; } .dq-pbtn:hover { background: #f1f5f9; } /* Grid nhập thông số */ .dq-input-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-bottom: 18px; } .dq-card { background: #f8fafc; border: 1px solid #cbd5e1; border-radius: 12px; padding: 14px; } .dq-card-title { font-size: 13px; font-weight: 800; color: #1e3a8a; margin-bottom: 8px; display: block; } .dq-field { margin-bottom: 10px; } .dq-field:last-child { margin-bottom: 0; } .dq-field label { font-size: 12px; font-weight: 700; color: #334155; display: block; margin-bottom: 4px; } .dq-field input, .dq-field select { width: 100%; padding: 8px 10px; border: 1px solid #94a3b8; border-radius: 7px; font-size: 14px; font-weight: 700; color: #0f172a; background: #ffffff; } /* Dashboard so sánh DQ vs IQ */ .dq-dash { background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .dq-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .dq-score-big { font-size: 20px; font-weight: 800; line-height: 1.25; } .dq-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .dq-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #2563eb; color: #ffffff; } .dq-pillars { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; font-size: 12px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .dq-pillar-box { background: #1e293b; padding: 8px 10px; border-radius: 8px; border-left: 3px solid #3b82f6; } .dq-pillar-val { font-weight: 800; color: #ffffff; font-size: 14px; display: block; margin-top: 2px; } /* Bảng quy chiếu SD, DQ và IQ */ .dq-table-card { margin-top: 16px; padding: 16px 18px; border-radius: 12px; background: #ffffff; border: 1px solid #e2e8f0; overflow-x: auto; } .dq-table { width: 100%; border-collapse: collapse; font-size: 13px; min-width: 640px; } .dq-table th, .dq-table td { border: 1px solid #cbd5e1; padding: 9px 12px; text-align: left; } .dq-table th { background: #f1f5f9; font-weight: 800; color: #0f172a; } .dq-table tr.active-band { background: #eff6ff; border: 2px solid #2563eb; } .dq-result-box { margin-top: 16px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #2563eb; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 760px) { .dq-inner { padding: 14px; } .dq-title { font-size: 18px; } .dq-input-grid { grid-template-columns: 1fr; } .dq-pillars { grid-template-columns: 1fr 1fr; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
Công Cụ Tính Toán, Đối Chiếu Chỉ Số DQ (Thương Số Phát Triển) vs. IQ (Thương Số Trí Tuệ) & Tư Vấn Chọn Thang Đo
Giúp phụ huynh và nhà chuyên môn tính nhanh Chỉ số Phát triển DQ = (DA / CA) × 100, phát hiện hiện tượng "DQ/IQ Thấp Giả Tạo do Rào cản Ngôn ngữ ở trẻ Tự kỷ", đối chiếu với Độ lệch chuẩn (SD) và chọn đúng công cụ đánh giá chuẩn quốc tế theo độ tuổi.
| Mốc Độ lệch chuẩn (SD) | Điểm Chuẩn (DQ / IQ) | Bách phân vị | Ý nghĩa trong DQ (Trẻ < 5 tuổi: KSPD, Bayley-III) | Ý nghĩa trong IQ (Trẻ ≥ 5–6 tuổi: WISC-V, Leiter-3) |
|---|---|---|---|---|
| ≥ +1 SD đến +2 SD | ≥ 115 điểm | ≥ 84% | Tốc độ phát triển sớm vượt trội so với tháng tuổi. | Trí tuệ Trên trung bình (115–129) đến Rất cao (≥130). |
| Trong khoảng ±1 SD | 85 – 114 điểm | 16% – 83% | Phát triển Bình thường (Typical Development): Đạt đúng các mốc tuổi. | Trí tuệ Trung bình (Average IQ): Chiếm 68% dân số. |
| Từ -1 SD đến -2 SD | 70 – 84 điểm | 2.3% – 15% | Chậm phát triển mức độ Nhẹ / Giáp ranh: Rất có cơ hội bắt kịp tuổi nếu can thiệp sớm. | Trí tuệ Ranh giới (Borderline Intellectual Functioning): Cần hỗ trợ phương pháp học. |
| Dưới -2 SD | < 70 điểm (Nặng: <55 • -3 SD) |
< 2.3% | Chậm phát triển Rõ rệt (GDD nếu chậm ≥2 lĩnh vực): Cần can thiệp sớm chuyên sâu ngay; chưa kết luận Khuyết tật trí tuệ vĩnh viễn! | Suy giảm Trí tuệ: Nếu đi kèm Hành vi thích ứng (Vineland-3) < 70 sẽ xác lập chẩn đoán Rối loạn Phát triển Trí tuệ (IDD). |
' + '• Bạn hãy nhìn kỹ: Năng lực Nhận thức phi ngôn ngữ của trẻ đạt tới ' + dqCog + ' điểm (Hoàn toàn Bình thường ≥ 85) và Vận động đạt ' + dqMot + ' điểm. Tuy nhiên, vì Ngôn ngữ – Xã hội chỉ đạt ' + dqLang + ' điểm (chênh lệch tới ' + gapCogLang + ' điểm), nên khi cộng trung bình lại thì DQ Tổng thể bị kéo tụt xuống còn ' + dqTotal + ' điểm!
' + '• Giải thích cho Phụ huynh: Trẻ KHÔNG bị chậm phát triển trí tuệ. Điểm tổng bị thấp hoàn toàn là do rào cản ngôn ngữ và giao tiếp xã hội kéo xuống. Khi được can thiệp mở khóa giao tiếp, điểm số tổng thể của trẻ sẽ bật tăng trở lại!' + '
' + '• ' + (ca < 60 ? 'Vì trẻ dưới 5 tuổi, chẩn đoán y khoa chuẩn xác là Chậm Phát triển Toàn diện (Global Developmental Delay - GDD). Cần can thiệp sớm toàn diện và đánh giá lại IQ khi trẻ lên 5–6 tuổi.' : (adapt === 'imp' ? 'Trẻ đã ≥ 5–6 tuổi, có cả Nhận thức < 70 (-2 SD) VÀ Hành vi thích ứng < 70 (-2 SD) → Thỏa mãn tiêu chuẩn Rối loạn Phát triển Trí tuệ (IDD — Mã ICD-11: 6A00 / DSM-5-TR).' : 'Dù điểm nhận thức < 70 nhưng Hành vi thích ứng của trẻ vẫn từ 70 trở lên, cần thận trọng kiểm tra lại bằng test IQ phi ngôn ngữ (Leiter-3/Raven) trước khi kết luận IDD.')) + '
' + '• 2. Bộ công cụ đánh giá chuẩn khuyến nghị sử dụng: ' + recommendedTools + trapWarning; updateFloatingFabVisibility(); } function applyCase(caseKey) { if (caseKey === 'asd_toddler') { inpCA.value = 30; inpDACog.value = 29; // DQ = 97 inpDALang.value = 14; // DQ = 47 inpDAMot.value = 27; // DQ = 90 selVerbal.value = 'nonverbal'; selAdaptive.value = 'border'; } else if (caseKey === 'asd_school') { inpCA.value = 84; // 7 tuổi inpDACog.value = 86; // NVIQ = 102 inpDALang.value = 45; // Ngôn ngữ = 54 inpDAMot.value = 78; // Vận động = 93 selVerbal.value = 'phrase'; selAdaptive.value = 'border'; } else if (caseKey === 'gdd_child') { inpCA.value = 24; inpDACog.value = 14; // DQ = 58 inpDALang.value = 12; // DQ = 50 inpDAMot.value = 16; // DQ = 67 selVerbal.value = 'nonverbal'; selAdaptive.value = 'imp'; } else if (caseKey === 'typical') { inpCA.value = 48; inpDACog.value = 48; inpDALang.value = 47; inpDAMot.value = 49; selVerbal.value = 'fluent'; selAdaptive.value = 'avg'; } updateAnalysis(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); dqWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { dqWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 980px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } [inpCA, inpDACog, inpDALang, inpDAMot, selVerbal, selAdaptive].forEach(el => { el.addEventListener('input', updateAnalysis); el.addEventListener('change', updateAnalysis); }); shadow.querySelectorAll('.dq-pbtn').forEach(btn => { btn.onclick = function() { applyCase(this.getAttribute('data-case')); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); applyCase('asd_toddler'); })();
Dưới đây là Bài viết chuyên môn chuẩn Y khoa – Tâm lý học (được trình bày sẵn sàng để bạn đăng làm bài viết nền tảng cạnh bài Độ lệch chuẩn SD), kèm theo 1 Công cụ HTML Tương tác: “Bộ Chuyển Đổi, Phân Giải DQ vs. IQ & Định Tuyến Thang Đo Chuẩn”
BÀI VIẾT CHUYÊN MÔN: Phân Biệt Chỉ Số DQ (Thương Số Phát Triển) và IQ (Thương Số Trí Tuệ) — Khi Nào Dùng DQ, Khi Nào Dùng IQ?
Trong lĩnh vực đánh giá rối loạn phát triển thần kinh (Tự kỷ, Chậm phát triển, ADHD, Khuyết tật trí tuệ), DQ(Developmental Quotient) và IQ (Intelligence Quotient) là hai con số xuất hiện nhiều nhất trên các bản báo cáo lâm sàng. Dù cả hai đều lấy mốc 100 là trung bình và dưới 70 (−2 SD) là suy giảm rõ rệt, nhưng bản chất thần kinh học, độ tuổi áp dụng và giá trị tiên lượng của chúng hoàn toàn khác nhau.
I. Bản chất của DQ (Thương số Phát triển) là gì?
DQ (Developmental Quotient — Thương số Phát triển) là chỉ số đo lường tốc độ đạt được các mốc phát triển toàn diện của trẻ nhỏ (thường từ 0 đến dưới 5–6 tuổi) so với những đứa trẻ bình thường cùng tháng tuổi.
-
Công thức tính DQ kinh điển (ví dụ trong thang KSPD Kyoto, Gesell, Mullen, PEP-3):
DQ=(Tuổi phaˊt triển (DA – Developmental Age)Tuổi thực (CA – Chronological Age))×100Ví dụ: Một bé 24 tháng tuổi (CA = 24) đi khám bằng thang KSPD Kyoto. Kỹ năng Ngôn ngữ – Xã hội của bé hiện chỉ làm được các mốc của trẻ 12 tháng tuổi (DA = 12). Khi đó:
DQ Ngoˆn ngữ=1224×100=50 -
Đặc điểm cốt lõi của DQ:
-
Đo lường các kỹ năng “Sensory-Motor” (Giác quan – Vận động & Tiền ngôn ngữ): Ở trẻ dưới 3–5 tuổi,tư duy trừu tượng chưa tách rời khỏi vận động và ngôn ngữ. Do đó, DQ đánh giá một “rổ kỹ năng” tổng hợp gồm: Vận động thô, Vận động tinh, Tự phục vụ, Ngôn ngữ sớm và Tương tác xã hội.
-
Có tính biến thiên rất lớn (Mềm dẻo thần kinh cao): Não bộ trẻ từ 0–5 tuổi có tính mềm dẻo (Neuroplasticity) cực kỳ mạnh mẽ. Một trẻ 2 tuổi có DQ = 60 do chậm nói và thiếu tương tác, sau 1–2 năm can thiệp sớm tích cực (như ESDM, ABA), trẻ bật nói và bắt kịp bạn bè thì DQ hoàn toàn có thể tăng vọt lên 90 – 100!
-
Là cơ sở để chẩn đoán “Chậm phát triển toàn diện” (GDD — Global Developmental Delay): Trong DSM-5-TR và ICD-11, bác sĩ chưa đặt bút chẩn đoán “Khuyết tật trí tuệ” cho trẻ dưới 5 tuổi mà gọi là GDDdựa trên chỉ số DQ này.
-
II. Bản chất của IQ (Thương số Trí tuệ) là gì?
IQ (Intelligence Quotient — Thương số Trí tuệ) là chỉ số đo lường năng lực tư duy nhận thức thuần túy, khả năng suy luận logic, giải quyết vấn đề trừu tượng, trí nhớ làm việc và tốc độ xử lý thông tin (thường áp dụng chuẩn xác nhất cho trẻ từ 5–6 tuổi trở lên).
-
Cách tính IQ hiện đại (Deviation IQ — như trong WISC-V, WAIS-IV, Leiter-3, Raven): IQ hiện đại không còn dùng công thức (Tuổi trí tuệ / Tuổi thực) × 100 như thế kỷ trước nữa, mà tính bằng Điểm chuẩn Độ lệch (Deviation IQ) dựa trên phân phối hình chuông (Mean=100,SD=15): so sánh trực tiếp vị trí của trẻ với hàng ngàn trẻ cùng độ tuổi chính xác đến từng tháng.
-
Đặc điểm cốt lõi của IQ:
-
Tách biệt khỏi vận động thô và kỹ năng sinh hoạt: Bài test IQ (như WISC-V hay Raven) không hỏi xem trẻ có biết nhảy lò cò hay tự mặc quần áo không, mà đi thẳng vào Tư duy khái niệm ngôn ngữ (VCI), Không gian thị giác (VSI), Suy luận quy nạp (FRI), Trí nhớ làm việc (WMI) và Tốc độ xử lý (PSI).
-
Có tính ổn định cao theo thời gian: Từ sau 6–7 tuổi, chỉ số IQ cốt lõi có xu hướng ổn định hơn nhiều so với DQ đầu đời.
-
Là cơ sở chẩn đoán “Rối loạn Phát triển Trí tuệ” (IDD — Intellectual Developmental Disorder): Khi trẻ ≥5−6 tuổi có IQ <70 (dưới −2 SD) đi kèm với suy giảm Hành vi thích ứng (trên thang Vineland-3 ), nhà lâm sàng mới xác lập chẩn đoán IDD.
-
III. Bảng So sánh Trực diện: DQ vs. IQ
[Chỉ số báo cáo] Độ lệch chuẩn (SD) & Bách phân vị: Hướng dẫn đọc các chỉ số thống kê trong báo cáo đánh giá của trẻ
Độ lệch chuẩn (viết tắt là SD – Standard Deviation) là thước đo cho biết điểm số hoặc chỉ số của một cá nhân lệch đi bao xa so với mức trung bình của đám đông (quần thể chuẩn).
Trong các công cụ đánh giá tâm lý, y khoa (như bài test IQ, thang đo trầm cảm, lo âu, phát triển trẻ em hay bảng chiều cao/cân nặng của WHO), một con số điểm thô đứng một mình thường không có nhiều ý nghĩa. Các chuyên gia phải dùng đơn vị SD để trả lời câu hỏi quan trọng nhất: “So với những người cùng độ tuổi và hoàn cảnh, mức điểm này là bình thường hay bất thường?”
Nguyên lý hoạt động: “Đường cong hình chuông” và Quy tắc 68–95–99.7
Khi khảo sát một đặc điểm bất kỳ (như trí thông minh, mức độ chú ý, hoặc chiều cao) trên hàng ngàn người, kết quả thu được luôn tạo thành một Phân phối chuẩn (Normal Distribution) có hình dáng giống một chiếc chuông úp:
-
Điểm Trung bình (Mean – ký hiệu là hoặc , tương ứng mức ): Nằm ở đỉnh cao nhất ở chính giữa chiếc chuông. Đa số mọi người đều tập trung quanh mức này.
-
Độ lệch chuẩn (SD – ký hiệu là ): Là “bước nhảy” tính từ điểm trung bình sang hai bên sườn chuông.
-
Dấu cộng (): Cao hơn mức trung bình.
-
Dấu trừ (): Thấp hơn mức trung bình.
-
Theo quy luật thống kê trên đường cong hình chuông:
-
Từ −1 SD đến : Bao gồm khoảng 68% dân số (nhóm đa số, hoàn toàn bình thường).
-
Từ đến : Bao gồm khoảng 95% dân số.
-
Vượt quá (tức chỉ còn khoảng 5% ở hai đầu mút): Đây là vùng “hiếm gặp”. Trong y khoa và tâm lý học lâm sàng (kể cả DSM-5-TR và ICD-11), mốc đến thường được chọn làm ngưỡng cắt (cut-off) để xác định sự suy giảm chức năng hoặc tình trạng bệnh lý.
Cách đọc hiểu đơn vị SD trong các công cụ đánh giá
Tùy thuộc vào công cụ đang đo lường năng lực tích cực (như IQ, trí nhớ, chiều cao) hay đo lường triệu chứng bệnh lý(như mức độ lo âu, tăng động, trầm cảm), ý nghĩa của dấu và sẽ khác nhau:
| Khoảng SD | Tỷ lệ trong dân số | Nếu đo Năng lực / Phát triển (VD: Test IQ, ngôn ngữ, chiều cao) | Nếu đo Triệu chứng / Hành vi (VD: Thang đo trầm cảm, ADHD) |
| Trong khoảng đến | ~68% (Đại đa số) | Bình thường / Trung bình: Phát triển đúng chuẩn độ tuổi. | Bình thường: Không có biểu hiện rối loạn đáng kể. |
| Từ đến | ~18% (Khá phổ biến) | Cận biên (Borderline): Hơi thấp hoặc hơi nhỉnh hơn trung bình, cần theo dõi thêm. | Nguy cơ nhẹ / Cận lâm sàng: Có biểu hiện nhưng chưa đủ nặng để kết luận bệnh. |
| Từ đến | ~9% (Ít gặp) | Kém / Chậm phát triển mức nhẹ (nếu là ) hoặc Vượt trội (nếu là ). | Mức độ Trung bình (Lâm sàng):Bắt đầu gây suy giảm chức năng sinh hoạt. |
| Vượt quá hoặc | Chỉ ~5% (Rất hiếm – khoảng 2.3% mỗi đầu) | Rối loạn / Khuyết tật rõ rệt (nếu ) hoặc Thiên tài / Xuất sắc (nếu ). | Mức độ Nặng (nếu ): Triệu chứng vượt ngưỡng báo động, cần can thiệp chuyên khoa. |
Hai ví dụ thực tế dễ hình dung nhất
-
Trong bài kiểm tra Trí tuệ (Test IQ Wechsler – WISC/WAIS):
-
Điểm trung bình chuẩn của nhân loại được quy ước là M=100, và mỗi 1 SD=15.
-
Nếu một người có IQ từ 85 đến 115 (tức nằm trong khoảng đến ): Người đó có trí tuệ trung bình như 68% dân số.
-
Theo DSM-5-TR, một trong các tiêu chuẩn để chẩn đoán Khuyết tật trí tuệ (Intellectual Disability) là điểm IQ thấp hơn mức trung bình từ trở lên – tức là điểm (100−2×15=70).
-
-
Trong thang đo hành vi tâm lý (như thang Vanderbilt, Conners cho ADHD hoặc CBCL):
-
Kết quả thường được máy tính quy đổi ra Điểm T (T-score), trong đó mức trung bình của trẻ bình thường là , và 1 SD=10 điểm.
-
Nếu kết quả của trẻ báo điểm T là 65 (tức ) hoặc 70 (tức ), nghĩa là mức độ hiếu động/kém chú ý của trẻ đang cao hơn 95%–98% các bạn cùng trang lứa – đây là cơ sở định lượng để bác sĩ xem xét chẩn đoán.
-
Bạn có thể kéo thanh trượt trong mô hình tương tác dưới đây để xem điểm số của một cá nhân (hoặc hình dạng đường cong) thay đổi vị trí như thế nào theo từng mốc Độ lệch chuẩn ():
Mô phỏng Phân phối chuẩn & Quy đổi Độ lệch chuẩn (SD)
Kéo thanh trượt để quan sát vị trí điểm số trên đường cong hình chuông và bảng quy đổi lâm sàng
| Khoảng SD | Tỷ lệ dân số | Điểm IQ (TB=100) | Điểm T (TB=50) | Đo Năng lực (VD: IQ, Ngôn ngữ) | Đo Triệu chứng (VD: ADHD, Trầm cảm) |
|---|---|---|---|---|---|
| ≤ -2.0 SD | ~2.3% | ≤ 70 | ≤ 30 | Chậm phát triển / Khuyết tật rõ rệt | Thấp (Không có triệu chứng) |
| -2.0 đến -1.0 SD | ~13.6% | 71 – 84 | 31 – 39 | Cận biên / Thấp hơn trung bình | Bình thường |
| -1.0 đến +1.0 SD | ~68.2% | 85 – 115 | 40 – 60 | Bình thường / Trung bình | Bình thường |
| +1.0 đến +2.0 SD | ~13.6% | 116 – 129 | 61 – 69 | Trên trung bình / Khá giỏi | Nguy cơ / Cận lâm sàng (từ +1.5 SD) |
| ≥ +2.0 SD | ~2.3% | ≥ 130 | ≥ 70 | Rất vượt trội / Xuất sắc | Vượt ngưỡng lâm sàng (Mức độ nặng) |
Điểm mấu chốt cần nhớ: Khi đọc một bản kết quả đánh giá, bạn chỉ cần nhìn xem chỉ số SD có nằm trong vùng an toàn từ đến hay không. Nếu con số chạm hoặc vượt mốc đến , đó là tín hiệu cho thấy chỉ số này đang nằm ở rìa của tháp chuông và cần được chuyên gia lưu tâm.
[Tự kỷ] SRS-2: Thang đo phản ứng xã hội và sàng lọc mức độ tự kỷ (Từ 2.5 tuổi)
(function() { const host = document.getElementById('srs2-wp-host'); if (!host) return; const placeholder = document.createComment('srs2-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // Cấu hình 4 Phiên bản theo độ tuổi & người đánh giá của SRS-2 const formConfigs = { preschool: { code: 'preschool', tabTitle: '🧸 1. Preschool (2.5 – 4.5 tuổi)', tabSub: 'Mầm non • Cha mẹ / Giáo viên', fullTitle: 'SRS-2 Preschool Form — Dành Cho Trẻ Mầm Non (2.5 Đến 4.5 Tuổi • Cha Mẹ / Giáo Viên Đánh Giá)', desc: 'Đánh giá 65 hành vi đáp ứng xã hội và rập khuôn ở trẻ mẫu giáo từ 30 đến 54 tháng tuổi. Hệ thống tự động quy đổi sang Điểm chuẩn T-Score (Mean = 50, SD = 10) trên 5 Tiểu thang điều trị và 2 Chỉ số tương thích DSM-5.', subj: 'Bé', poss: 'của bé', peer: 'các bạn nhỏ khác', env: 'ở nhà / lớp mẫu giáo' }, school: { code: 'school', tabTitle: '🎒 2. School-Age (4 – 18 tuổi)', tabSub: 'Học đường • Cha mẹ / Giáo viên', fullTitle: 'SRS-2 School-Age Form — Dành Cho Trẻ Em & Thanh Thiếu Niên (4 Đến 18 Tuổi • Cha Mẹ / Giáo Viên Đánh Giá)', desc: 'Phiên bản chuẩn hóa phổ biến nhất dành cho lứa tuổi học đường (4 – 18 tuổi). Đo lường định lượng mức độ suy giảm giao tiếp xã hội trên dải liên tục từ Bình thường (≤59T), Nhẹ (60–65T), Trung bình (66–75T) đến Nặng (≥76T).', subj: 'Trẻ', poss: 'của trẻ', peer: 'bạn đồng trang lứa', env: 'ở trường / ở nhà' }, adult_other: { code: 'adult_other', tabTitle: '👥 3. Adult Other (≥ 19 tuổi)', tabSub: 'Người lớn • Người thân đánh giá', fullTitle: 'SRS-2 Adult Form (Other-Report) — Dành Cho Người Trưởng Thành (Từ 19 Tuổi Trở Lên • Người Thân / Bạn Đời Đánh Giá)', desc: 'Dành cho vợ/chồng, bố mẹ, anh chị hoặc bạn thân đánh giá khách quan về khả năng tương tác xã hội, thấu cảm và tính linh hoạt hành vi của người trưởng thành trong đời sống hàng ngày.', subj: 'Người này', poss: 'của họ', peer: 'mọi người xung quanh', env: 'trong công việc / cuộc sống' }, adult_self: { code: 'adult_self', tabTitle: '🧑 4. Adult Self-Report (≥ 19 tuổi)', tabSub: 'Người lớn • Tự đánh giá (Tôi)', fullTitle: 'SRS-2 Adult Self-Report Form — Bảng Tự Đánh Giá Dành Cho Người Trưởng Thành (Từ 19 Tuổi Trở Lên)', desc: 'Phiên bản tự báo cáo ở ngôi thứ nhất ("Tôi...") giúp người trưởng thành tự lượng giá 5 Tiểu thang đáp ứng xã hội (Nhận thức, Tư duy, Giao tiếp, Động lực xã hội và Hành vi lặp lại).', subj: 'Tôi', poss: 'của mình', peer: 'người khác', env: 'trong công việc / giao tiếp' } }; // Cấu hình 5 Tiểu thang điều trị (Treatment Subscales) của SRS-2 (Tổng 65 câu = 195 điểm thô) // DSM-5 SCI (Social Communication & Interaction) = AWR + COG + COM + MOT (53 câu = 159 điểm) // DSM-5 RRB (Restricted Interests & Repetitive Behavior) = RRB (12 câu = 36 điểm) const subConfigs = { awr: { code: 'awr', dsm: 'sci', count: 8, maxRaw: 24, name: '1. Nhận thức Xã hội (Social Awareness - AWR • 8 câu)', color: '#0284c7' }, cog: { code: 'cog', dsm: 'sci', count: 12, maxRaw: 36, name: '2. Tư duy / Giải mã Xã hội (Social Cognition - COG • 12 câu)', color: '#2563eb' }, com: { code: 'com', dsm: 'sci', count: 22, maxRaw: 66, name: '3. Giao tiếp Xã hội (Social Communication - COM • 22 câu)', color: '#4f46e5' }, mot: { code: 'mot', dsm: 'sci', count: 11, maxRaw: 33, name: '4. Động lực Xã hội (Social Motivation - MOT • 11 câu)', color: '#7c3aed' }, rrb: { code: 'rrb', dsm: 'rrb', count: 12, maxRaw: 36, name: '5. Sở thích Hẹp & Hành vi Lặp lại (Restricted/Repetitive - RRB • 12 câu)', color: '#dc2626' } }; // Đầy đủ 65 mục chuẩn của SRS-2 phân bổ chính xác vào 5 Tiểu thang (AWR: 8, COG: 12, COM: 22, MOT: 11, RRB: 12) // rev: true đối với 17 câu đảo ngược (mô tả kỹ năng xã hội tích cực -> Chọn "Không đúng" = 3 điểm rủi ro, "Hầu như luôn đúng" = 0 điểm) const rawQuestions = [ // TIỂU THANG 1: NHẬN THỨC XÃ HỘI (SOCIAL AWARENESS - AWR • 8 câu) { id: 1, sub: 'awr', rev: true, c: '{S} nhận biết được những gì người khác đang nghĩ hoặc đang cảm thấy.' }, { id: 2, sub: 'awr', rev: true, c: 'Biểu cảm trên khuôn mặt {P} ăn khớp với những gì {S_low} đang nói.' }, { id: 3, sub: 'awr', rev: false, c: '{S} dường như không nhận ra khi mình đang nói quá to hoặc gây ra tiếng ồn làm phiền {E}.' }, { id: 4, sub: 'awr', rev: false, c: '{S} đi xuyên vào giữa hai người đang nói chuyện mà không nhận ra điều đó là thiếu tế nhị.' }, { id: 5, sub: 'awr', rev: true, c: '{S} chú ý khi có ai đó {E} đang buồn bã hoặc cần sự giúp đỡ.' }, { id: 6, sub: 'awr', rev: false, c: '{S} nhìn chằm chằm hoặc nhìn lơ đãng vào khoảng không mà không để ý đến những gì diễn ra xung quanh.' }, { id: 7, sub: 'awr', rev: true, c: '{S} giữ vệ sinh cá nhân và tác phong phù hợp khi xuất hiện trước {E}.' }, { id: 8, sub: 'awr', rev: false, c: '{S} không nhận ra khi mình đang đứng quá gần hoặc xâm phạm không gian riêng của {E}.' }, // TIỂU THANG 2: TƯ DUY / GIẢI MÃ XÃ HỘI (SOCIAL COGNITION - COG • 12 câu) { id: 9, sub: 'cog', rev: false, c: '{S} hiểu mọi lời nói theo đúng nghĩa đen và không bắt được ẩn ý đằng sau câu nói.' }, { id: 10, sub: 'cog', rev: true, c: '{S} nhận ra ngay khi có ai đó đang trêu đùa hoặc lấy mình ra làm trò cười.' }, { id: 11, sub: 'cog', rev: false, c: '{S} gặp khó khăn trong việc hiểu ý nghĩa của giọng điệu và biểu cảm nét mặt của {E}.' }, { id: 12, sub: 'cog', rev: true, c: '{S} hiểu được mối liên hệ nguyên nhân – kết quả giữa các sự kiện xã hội.' }, { id: 13, sub: 'cog', rev: false, c: '{S} dễ bị hiểu nhầm hoặc phản ứng sai lệch trước những câu nói đùa, châm biếm nhẹ nhàng.' }, { id: 14, sub: 'cog', rev: false, c: '{S} quá ngây thơ, dễ tin người và không nhận ra ý đồ không tốt của người khác.' }, { id: 15, sub: 'cog', rev: true, c: '{S} có khả năng tưởng tượng và tham gia các hoạt động giả định / sáng tạo phong phú.' }, { id: 16, sub: 'cog', rev: false, c: 'Khi có chuyện bất ngờ xảy ra, {S_low} chỉ tập trung vào một chi tiết nhỏ không quan trọng thay vì nhìn bức tranh tổng thể.' }, { id: 17, sub: 'cog', rev: false, c: '{S} khó phân biệt được giữa việc ai đó vô tình làm sai với việc họ cố ý trêu chọc mình.' }, { id: 18, sub: 'cog', rev: true, c: '{S} hiểu được các quy tắc ngầm trong giao tiếp và ứng xử phù hợp {V}.' }, { id: 19, sub: 'cog', rev: false, c: '{S} tỏ ra bối rối, quá tải khi cuộc trò chuyện diễn ra nhanh hoặc có nhiều người cùng nói.' }, { id: 20, sub: 'cog', rev: false, c: '{S} đưa ra những nhận xét kỳ lạ hoặc không ăn nhập với chủ đề mà mọi người đang bàn luận.' }, // TIỂU THANG 3: GIAO TIẾP XÃ HỘI (SOCIAL COMMUNICATION - COM • 22 câu) { id: 21, sub: 'com', rev: true, c: '{S} có thể truyền đạt suy nghĩ và cảm xúc {P} cho người khác một cách dễ dàng.' }, { id: 22, sub: 'com', rev: false, c: '{S} gặp khó khăn lớn trong việc duy trì cuộc trò chuyện qua lại hai chiều (như đánh bóng bàn).' }, { id: 23, sub: 'com', rev: false, c: '{S} tránh giao tiếp trực diện bằng ánh mắt khi đang nói chuyện với {E}.' }, { id: 24, sub: 'com', rev: true, c: '{S} biết cách thương lượng, thỏa hiệp và giải quyết bất đồng với {E} một cách linh hoạt.' }, { id: 25, sub: 'com', rev: false, c: '{S} nói chuyện với giọng điệu khác thường (như giọng phẳng lì như robot, giọng quá cao hoặc nói lắp bắp máy móc).' }, { id: 26, sub: 'com', rev: false, c: '{S} tỏ ra vụng về, thiếu đồng bộ khi phải phối hợp tương tác cùng {E}.' }, { id: 27, sub: 'com', rev: true, c: '{S} biết chủ động an ủi hoặc thể hiện sự cảm thông khi thấy người khác buồn.' }, { id: 28, sub: 'com', rev: false, c: '{S} cứ nói thao thao bất tuyệt về một chủ đề dù người nghe đã tỏ vẻ chán hoặc muốn đổi chuyện.' }, { id: 29, sub: 'com', rev: false, c: '{S} gặp khó khăn trong việc trả lời trực tiếp vào trọng tâm câu hỏi của người đối diện.' }, { id: 30, sub: 'com', rev: true, c: '{S} chơi đùa hoặc làm việc nhóm hòa hợp, nhịp nhàng cùng với {E}.' }, { id: 31, sub: 'com', rev: false, c: 'Nét mặt {P} thường lạnh lùng, ít biểu cảm khiến người khác khó đoán được tâm trạng.' }, { id: 32, sub: 'com', rev: false, c: '{S} rất ít sử dụng các cử chỉ tay chân tự nhiên để minh họa khi đang nói chuyện.' }, { id: 33, sub: 'com', rev: true, c: '{S} biết điều chỉnh cách nói chuyện tùy theo người nghe là người lớn hay bạn bè.' }, { id: 34, sub: 'com', rev: false, c: '{S} thường đặt những câu hỏi thiếu tế nhị hoặc nhận xét thẳng thừng làm người khác ngượng ngùng.' }, { id: 35, sub: 'com', rev: false, c: '{S} không biết cách bắt đầu một cuộc trò chuyện thân mật hay chào hỏi tự nhiên.' }, { id: 36, sub: 'com', rev: true, c: '{S} lắng nghe chăm chú và chờ đến lượt mình khi trò chuyện nhóm.' }, { id: 37, sub: 'com', rev: false, c: '{S} phản ứng với sự thay đổi tâm trạng của người khác một cách chậm chạp hoặc lệch pha.' }, { id: 38, sub: 'com', rev: false, c: '{S} rất khó kết bạn mới hoặc giữ được những mối quan hệ bạn bè thân thiết lâu dài.' }, { id: 39, sub: 'com', rev: true, c: '{S} chủ động chia sẻ niềm vui, sở thích hoặc thành quả của mình với người thân.' }, { id: 40, sub: 'com', rev: false, c: 'Khi nói chuyện, {S_low} sử dụng từ ngữ quá sách vở, trịnh trọng hoặc rập khuôn so với lứa tuổi.' }, { id: 41, sub: 'com', rev: false, c: '{S} không biết cách nhờ người khác giúp đỡ một cách phù hợp khi gặp khó khăn.' }, { id: 42, sub: 'com', rev: false, c: '{S} dễ gây hiểu lầm là thô lỗ hoặc thờ ơ dù bản thân không hề có ý xấu.' }, // TIỂU THANG 4: ĐỘNG LỰC XÃ HỘI (SOCIAL MOTIVATION - MOT • 11 câu) { id: 43, sub: 'mot', rev: false, c: '{S} cảm thấy căng thẳng, thiếu tự nhiên hơn rất nhiều khi ở trong các tình huống giao lưu xã hội so với khi ở một mình.' }, { id: 44, sub: 'mot', rev: true, c: '{S} tự tin khi giao tiếp và tiếp xúc với những người mới quen.' }, { id: 45, sub: 'mot', rev: false, c: '{S} thích ở một mình hơn là tham gia các hoạt động vui chơi, tụ tập cùng {E}.' }, { id: 46, sub: 'mot', rev: false, c: '{S} không chủ động tìm kiếm sự tham gia của người khác mà thường tự tách mình ra góc riêng.' }, { id: 47, sub: 'mot', rev: true, c: '{S} hào hứng tham gia các hoạt động tập thể, câu lạc bộ hoặc trò chơi nhóm {V}.' }, { id: 48, sub: 'mot', rev: false, c: '{S} tỏ ra quá bám dính vào một người quen duy nhất hoặc hoàn toàn thờ ơ ở nơi đông người.' }, { id: 49, sub: 'mot', rev: false, c: '{S} né tránh những tình huống đòi hỏi phải hợp tác chặt chẽ với người khác.' }, { id: 50, sub: 'mot', rev: true, c: '{S} chủ động bắt chuyện hoặc rủ {E} cùng tham gia hoạt động.' }, { id: 51, sub: 'mot', rev: false, c: '{S} có vẻ xa cách, khép kín và khó tiếp cận về mặt tình cảm.' }, { id: 52, sub: 'mot', rev: false, c: '{S} dễ bị lo âu, sợ hãi quá mức trước các sự kiện xã hội mới lạ.' }, { id: 53, sub: 'mot', rev: false, c: '{S} ít quan tâm đến việc người khác đánh giá hay nghĩ gì về mình.' }, // TIỂU THANG 5: SỞ THÍCH HẠN HẸP & HÀNH VI LẶP LẠI (RESTRICTED/REPETITIVE - RRB • 12 câu) { id: 54, sub: 'rrb', rev: false, c: 'Khi đang căng thẳng, {S_low} thể hiện những hành vi cứng nhắc, rập khuôn và rất khó dứt ra được.' }, { id: 55, sub: 'rrb', rev: false, c: '{S} rất bức bối, cáu giận nếu thói quen sinh hoạt hoặc lịch trình quen thuộc bị thay đổi.' }, { id: 56, sub: 'rrb', rev: false, c: '{S} có những cử động tay chân hoặc cơ thể lặp đi lặp lại (như vẫy tay, đung đưa người, xoay đồ vật, nhón gót).' }, { id: 57, sub: 'rrb', rev: false, c: '{S} chỉ suy nghĩ hoặc nói đi nói lại mãi về một chủ đề hẹp duy nhất mà bản thân đam mê.' }, { id: 58, sub: 'rrb', rev: false, c: '{S} bị người khác xem là có những thói quen kỳ lạ hoặc lập dị.' }, { id: 59, sub: 'rrb', rev: false, c: '{S} chạm vào người khác hoặc đồ vật theo một cách thức khác thường, máy móc.' }, { id: 60, sub: 'rrb', rev: false, c: '{S} quá nhạy cảm với một số âm thanh, ánh sáng hoặc kết cấu bề mặt (quần áo, thức ăn).' }, { id: 61, sub: 'rrb', rev: false, c: 'Phạm vi sở thích {P} rất hẹp và khác biệt so với {E}.' }, { id: 62, sub: 'rrb', rev: false, c: '{S} rất khó chuyển tiếp từ hoạt động này sang hoạt động khác.' }, { id: 63, sub: 'rrb', rev: false, c: '{S} lặp đi lặp lại một số từ ngữ, câu nói (nhại lời) hoặc âm thanh một cách vô thức.' }, { id: 64, sub: 'rrb', rev: false, c: '{S} bị cuốn hút quá mức vào các bộ phận nhỏ của đồ vật, con số, danh sách hoặc quy luật cố định.' }, { id: 65, sub: 'rrb', rev: false, c: '{S} đòi hỏi mọi đồ đạc hoặc công việc phải được sắp xếp theo đúng một trật tự bất di bất dịch.' } ]; let currentForm = 'school'; // 'preschool' | 'school' | 'adult_other' | 'adult_self' // ratings[id] lưu lựa chọn trên thang Likert 1..4 của SRS-2: // 1 = Không đúng (Not True) // 2 = Đôi khi đúng (Sometimes True) // 3 = Thường xuyên đúng (Often True) // 4 = Hầu như luôn đúng (Almost Always True) let ratings = {}; let filterSub = 'all'; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .sr-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .sr-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .sr-inner { padding: 24px; max-width: 980px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .sr-wrap.is-fullscreen .sr-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .sr-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(79, 70, 229, 0.45), 0 0 0 0 rgba(79, 70, 229, 0.4); } 70% { box-shadow: 0 6px 20px rgba(79, 70, 229, 0.45), 0 0 0 10px rgba(79, 70, 229, 0); } 100% { box-shadow: 0 6px 20px rgba(79, 70, 229, 0.45), 0 0 0 0 rgba(79, 70, 229, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #4338ca 0%, #4f46e5 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(79, 70, 229, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Bộ chuyển đổi 4 Phiên bản Độ tuổi SRS-2 */ .form-switcher-box { background: #f1f5f9; padding: 10px; border-radius: 12px; margin-bottom: 18px; } .form-switcher-lbl { font-size: 12px; font-weight: 800; color: #334155; text-transform: uppercase; margin-bottom: 8px; display: block; } .form-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; } .form-btn { padding: 10px 10px; border-radius: 9px; border: 1.5px solid transparent; background: rgba(255, 255, 255, 0.65); cursor: pointer; text-align: left; transition: all 0.18s ease; touch-action: manipulation; } .form-btn:hover { background: #ffffff; } .form-btn.active { background: #ffffff; border-color: #4f46e5; box-shadow: 0 3px 10px rgba(15, 23, 42, 0.08); } .form-btn-title { font-size: 13px; font-weight: 800; color: #0f172a; display: block; } .form-btn.active .form-btn-title { color: #4338ca; } .form-btn-sub { font-size: 11px; color: #64748b; margin-top: 2px; display: block; } /* Header */ .sr-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .sr-header-text { flex: 1 1 260px; } .sr-title { font-size: 20px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .sr-desc { font-size: 13.8px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #eef2ff; color: #4338ca; border: 1px solid #c7d2fe; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #4f46e5; color: #ffffff; border-color: #4f46e5; } /* Controls */ .sr-controls { display: flex; flex-direction: column; gap: 10px; margin-bottom: 18px; } .sr-presets { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; } .sr-preset-lbl { font-size: 12.5px; font-weight: 700; color: #475569; margin-right: 4px; } .sr-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; touch-action: manipulation; } .sr-pbtn:hover { background: #f1f5f9; } .sr-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } .sr-sub-tabs { display: flex; flex-wrap: wrap; gap: 6px; } .sr-stab { padding: 6px 11px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .sr-stab.active { background: #4f46e5; color: #ffffff; border-color: #4f46e5; } /* Sticky Dashboard */ .sr-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .sr-wrap.is-fullscreen .sr-dash { top: 58px; } .sr-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .sr-score-big { font-size: 23px; font-weight: 800; line-height: 1.15; } .sr-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .sr-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .sr-bar-bg { height: 10px; background: #334155; border-radius: 5px; overflow: hidden; margin-bottom: 12px; } .sr-bar-fill { height: 100%; width: 0%; background: #10b981; transition: width 0.35s ease, background 0.35s ease; } .sr-pillars { display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; font-size: 11.5px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .sr-pillar-box { background: #1e293b; padding: 7px 8px; border-radius: 8px; } .sr-pillar-val { font-weight: 800; color: #ffffff; font-size: 13px; display: block; margin-top: 2px; } /* Danh sách 65 câu hỏi */ .sr-q-item { border: 1px solid #e2e8f0; border-radius: 10px; padding: 14px 16px; margin-bottom: 10px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 8px; } .sr-q-item.pts-3 { border-color: #fda4af; background: #fff5f5; } .sr-q-item.pts-2 { border-color: #fde68a; background: #fffbeb; } .sr-q-text { font-size: 14.5px; font-weight: 600; color: #1e293b; line-height: 1.5; } .sr-q-tags { display: flex; flex-wrap: wrap; gap: 6px; } .sr-tag { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .sr-tag.rev-tag { background: #fee2e2; color: #b91c1c; } .sr-ans-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; } .sr-abtn { padding: 8px 6px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 600; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .sr-abtn:hover { border-color: #64748b; } .sr-abtn.sel-0 { background: #10b981; border-color: #10b981; color: #ffffff; font-weight: 700; } .sr-abtn.sel-1 { background: #3b82f6; border-color: #3b82f6; color: #ffffff; font-weight: 700; } .sr-abtn.sel-2 { background: #f59e0b; border-color: #f59e0b; color: #ffffff; font-weight: 700; } .sr-abtn.sel-3 { background: #ef4444; border-color: #ef4444; color: #ffffff; font-weight: 700; } /* Biểu đồ T-Score 5 Tiểu thang & 2 Chỉ số DSM-5 */ .sr-chart-card { margin-top: 20px; padding: 16px 18px; border-radius: 12px; background: #ffffff; border: 1px solid #e2e8f0; } .sr-chart-title { font-size: 14.5px; font-weight: 800; color: #0f172a; margin-bottom: 12px; } .sr-bar-row { display: flex; align-items: center; gap: 10px; margin-bottom: 9px; font-size: 12.5px; } .sr-bar-lbl { width: 270px; flex-shrink: 0; font-weight: 600; color: #334155; } .sr-bar-track { flex: 1; height: 16px; background: #f1f5f9; border-radius: 999px; overflow: hidden; } .sr-bar-val { width: 150px; text-align: right; font-weight: 700; color: #0f172a; flex-shrink: 0; } .sr-result-box { margin-top: 16px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #4f46e5; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 760px) { .sr-inner { padding: 14px; } .form-grid { grid-template-columns: 1fr 1fr; } .sr-title { font-size: 18px; } .sr-pillars { grid-template-columns: 1fr 1fr; } .sr-ans-grid { grid-template-columns: 1fr 1fr; } .sr-bar-lbl { width: 140px; font-size: 11.5px; } .sr-bar-val { width: 115px; font-size: 11px; } .sr-pbtn.reset { margin-left: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
${fCfg.fullTitle}
${fCfg.desc}
`; } function renderQuestions() { const fCfg = formConfigs[currentForm]; questionList.innerHTML = ''; const likertOptions = [ { val: 1, lbl: '1 - Không đúng' }, { val: 2, lbl: '2 - Đôi khi đúng' }, { val: 3, lbl: '3 - Thường xuyên đúng' }, { val: 4, lbl: '4 - Hầu như luôn đúng' } ]; rawQuestions.forEach(function(q) { if (filterSub !== 'all' && q.sub !== filterSub) return; const uLikert = ratings[q.id] || 1; const pts = getItemScore(q, uLikert); const sCfg = subConfigs[q.sub]; let rowCls = 'sr-q-item'; if (pts === 3) rowCls += ' pts-3'; else if (pts === 2) rowCls += ' pts-2'; const btnsHtml = likertOptions.map(opt => { const optPts = getItemScore(q, opt.val); let cls = 'sr-abtn'; if (uLikert === opt.val) { cls += ` sel-${optPts}`; } return ``; }).join(''); const revBadge = q.rev ? '⚡ Câu đảo ngược (Chọn "1 - Không đúng" = 3đ)' : 'Câu thuận (Chọn "4 - Luôn đúng" = 3đ)'; const el = document.createElement('div'); el.className = rowCls; el.innerHTML = `• Tổng điểm SRS-2: Đạt ${totalRaw} / 195 điểm thô → Quy đổi tương đương ${tTotal}T (${clsTotal.text}).
• Hai Chỉ số Tương thích DSM-5:
1. Giao tiếp & Tương tác Xã hội (SCI = AWR + COG + COM + MOT): ${sciRaw}/159đ (${tSCI}T — ${clsSCI.text}).
2. Sở thích Hạn hẹp & Hành vi Lặp lại (RRB): ${rrbRaw}/36đ (${tRRB}T — ${clsRRB.text}).
• Định hướng Mục tiêu Can thiệp theo 5 Tiểu thang (Treatment Subscales):
– Nếu AWR (${tAWR}T) và COG (${tCOG}T) cao: Cần can thiệp dạy nhận diện tín hiệu phi ngôn ngữ, đọc biểu cảm nét mặt và huấn luyện Thuyết tâm trí (Theory of Mind / Câu chuyện xã hội Social Stories).
– Nếu COM (${tCOM}T) và MOT (${tMOT}T) cao: Cần rèn kỹ năng khởi xướng hội thoại qua lại 2 chiều, giảm lo âu xã hội và ghép nhóm chơi tương tác đồng trang lứa có hỗ trợ. `; updateFloatingFabVisibility(); } function applyPreset(type) { ratings = {}; const setScoreForQuestion = function(q, targetPts) { // targetPts: 0, 1, 2, 3 if (!q.rev) { ratings[q.id] = targetPts + 1; } else { ratings[q.id] = 4 - targetPts; } }; if (type === 'reset') { rawQuestions.forEach(q => { setScoreForQuestion(q, 0); }); renderQuestions(); updateSummary(); return; } if (type === 'normal') { // ~24/195đ (~48T - Bình thường { setScoreForQuestion(q, (idx % 3 === 0) ? 1 : 0); }); } else if (type === 'mild') { // ~70/195đ (~63T - Mức độ Nhẹ 60T - 65T) rawQuestions.forEach((q, idx) => { setScoreForQuestion(q, (idx % 10 === 0) ? 2 : 1); }); } else if (type === 'mod') { // ~98/195đ (~71T - Mức độ Trung bình 66T - 75T) rawQuestions.forEach((q, idx) => { setScoreForQuestion(q, (idx % 2 === 0) ? 2 : 1); }); } else if (type === 'sev') { // ~136/195đ (~82T - Mức độ Nặng >= 76T) rawQuestions.forEach((q, idx) => { setScoreForQuestion(q, (idx % 3 === 0) ? 3 : 2); }); } renderQuestions(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); srWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { srWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 980px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } shadow.querySelectorAll('#formGrid .form-btn').forEach(function(btn) { btn.onclick = function() { currentForm = this.getAttribute('data-form'); shadow.querySelectorAll('#formGrid .form-btn').forEach(b => b.classList.remove('active')); this.classList.add('active'); renderHeader(); renderQuestions(); updateSummary(); }; }); shadow.querySelectorAll('.sr-pbtn').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-preset')); }; }); shadow.querySelectorAll('#subTabs .sr-stab').forEach(function(tab) { tab.onclick = function() { filterSub = this.getAttribute('data-sub'); shadow.querySelectorAll('#subTabs .sr-stab').forEach(t => t.classList.remove('active')); this.classList.add('active'); renderQuestions(); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); renderHeader(); applyPreset('mod'); })();
SRS-2 (Social Responsiveness Scale – Thang đo Phản ứng Xã hội): Công cụ sàng lọc và đo lường mức độ khiếm khuyết giao tiếp xã hội trong tự kỷ (từ 2.5 tuổi đến trưởng thành), rất phổ biến trong các nghiên cứu và phòng khám quốc tế.
RS-2 (Social Responsiveness Scale, Second Edition — Thang đo Đáp ứng Xã hội, Phiên bản 2) là công cụ đánh giá định lượng hàng đầu thế giới dùng để đo lường mức độ suy giảm tương tác xã hội và các hành vi hạn hẹp, lặp lại đặc trưng của Rối loạn phổ tự kỷ (ASD) trong môi trường tự nhiên hàng ngày. Công cụ được phát triển bởi Giáo sư John N. Constantino và Christian P. Gruber (xuất bản năm 2012 bởi WPS).
Khác với các công cụ phân loại “Có / Không” (nhị phân), SRS-2 đo lường các đặc điểm phổ tự kỷ trên một dải liên tục (Continuous Dimension) thông qua hệ thống Điểm chuẩn T-Score (Trung bình = 50, Độ lệch chuẩn SD = 10):giúp phát hiện cả những trường hợp suy giảm giao tiếp xã hội mức độ nhẹ / dưới ngưỡng mà các bài test khác dễ bỏ sót, đồng thời lập Hồ sơ 5 Tiểu thang Điều trị (5 Treatment Subscales) để lên kế hoạch can thiệp kỹ năng xã hội.
1. Hệ thống 4 Phiên bản theo Độ tuổi & Người đánh giá của SRS-2
Toàn bộ các phiên bản của SRS-2 đều gồm đúng 65 câu hỏi, chấm trên thang Likert 4 mức từ 0 đến 3 điểm (trên phiếu giấy ghi từ 1 đến 4, khi tính điểm thô quy về 0 – 3 tạo thành Tổng điểm thô từ 0 đến 195 điểm, trong đó có các câu hỏi thuận và câu hỏi đảo ngược):
| Phiên bản (Form) | Độ tuổi áp dụng | Người đánh giá | Ngữ cảnh đánh giá đặc thù |
| 1. Preschool Form(Mầm non) | 2.5 – 4.5 tuổi (30 – 54 tháng) | Cha mẹ hoặc Giáo viên mầm non | Tập trung vào giao tiếp mắt sớm, chú ý chung, chơi giả vờ, tương tác ở lớp mẫu giáo và phản ứng giác quan đầu đời. |
| 2. School-Age Form(Học đường) | 4 – 18 tuổi | Cha mẹ hoặc Giáo viên phổ thông | Có quy chuẩn riêng theo giới tính (Nam / Nữ) và người chấm. Đánh giá quan hệ bạn bè, hội thoại, làm việc nhóm và hành vi ở trường/nhà. |
| 3. Adult Form (Other) (Người lớn – Người thân chấm) | Từ 19 tuổi trở lên | Vợ/chồng, Bố mẹ, Anh chị hoặc Bạn thân | Đánh giá khách quan từ góc nhìn người thân về khả năng duy trì quan hệ tình cảm, công việc và thích ứng xã hội của người trưởng thành. |
| 4. Adult Self-Report(Người lớn – Tự đánh giá) | Từ 19 tuổi trở lên | Bản thân tự đánh giá (Self-report) | Ngôi thứ nhất (“Tôi…”), giúp người trưởng thành tự nhận diện các khó khăn xã hội, cảm giác quá tải và xu hướng cứng nhắc của bản thân. |
2. Cấu trúc 5 Tiểu thang Điều trị & 2 Chỉ số Tương thích DSM-5 của SRS-2
Điểm mạnh nhất của SRS-2 là tách tổng điểm thành 5 Tiểu thang Điều trị (Treatment Subscales) và gom lại thành 2 Chỉ số Tương thích DSM-5:
| Chỉ số Tương thích DSM-5 | Mã | Tên Tiểu thang Điều trị (Treatment Subscale) | Số câu | Nội dung lâm sàng cốt lõi |
| 1. Giao tiếp và Tương tác Xã hội (Social Communication and Interaction – SCI • 53 câu) | AWR | 1. Nhận thức Xã hội(Social Awareness) | 8 câu | Khả năng thu nhận các tín hiệu xã hội cơ bản (biết khi nào mình nói quá to, nhận ra biểu cảm/ý định của người xung quanh). |
| COG | 2. Nhận thức / Tư duy Xã hội (Social Cognition) | 12 câu | Khả năng giải mã và diễn giải các tín hiệu xã hội sau khi đã nhìn/nghe thấy (Thuyết tâm trí, hiểu lời nói đùa, nghĩa bóng, nguyên nhân – hệ quả xã hội). | |
| COM | 3. Giao tiếp Xã hội(Social Communication) | 22 câu | Năng lực diễn đạt và tương hỗ xã hội (hội thoại qua lại 2 chiều, phối hợp ánh mắt – nét mặt – cử chỉ, chia sẻ cảm xúc). | |
| MOT | 4. Động lực Xã hội(Social Motivation) | 11 câu | Mức độ hứng thú chủ động tham gia tương tác xã hội so với sự thu mình, lo âu xã hội hoặc thích tách biệt ở một mình. | |
| 2. Hành vi Hạn hẹp & Lặp lại (RRB • 12 câu) | RRB | 5. Sở thích Hạn hẹp & Hành vi Lặp lại(Restricted Interests & Repetitive Behavior) | 12 câu | Các cử động định hình (mannerisms), thói quen cứng nhắc, kháng cự thay đổi và đam mê ám ảnh vào chủ đề hẹp. |
3. Bảng Diễn giải Điểm Chuẩn T-Score của SRS-2 (Mean=50,SD=10)
[Lập kế hoạch IEP] AFLS: Công cụ đánh giá kỹ năng sống độc lập, tự phục vụ và hòa nhập cộng đồng (Từ 2 tuổi)
(function() { const host = document.getElementById('afls-wp-host'); if (!host) return; const placeholder = document.createComment('afls-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // Cấu hình 6 Mô-đun Đánh giá (Protocols) chuẩn của AFLS (Partington & Mueller, 2012) const moduleConfigs = { basic: { code: 'basic', short: 'BLS', color: '#2563eb', tabTitle: '🪥 1. Sống Cơ bản (Basic)', tabSub: '8 Lĩnh vực • Tự chăm sóc nền tảng', fullTitle: 'Mô-đun 1: Kỹ Năng Sống Cơ Bản — AFLS Basic Living Skills Protocol (8 Lĩnh Vực)', desc: 'Đánh giá các kỹ năng tự chăm sóc, vệ sinh, an toàn và giao tiếp thiết yếu nhất hàng ngày. Đây là mô-đun ưu tiên số 1 cho mọi lứa tuổi từ 2 tuổi trở lên.' }, home: { code: 'home', short: 'HMS', color: '#0d9488', tabTitle: '🏠 2. Tại Gia đình (Home)', tabSub: '7 Lĩnh vực • Việc nhà, Giặt ủi & Nấu ăn', fullTitle: 'Mô-đun 2: Kỹ Năng Tại Gia Đình — AFLS Home Skills Protocol (7 Lĩnh Vực)', desc: 'Đánh giá khả năng tham gia sinh hoạt gia đình: ăn uống lịch sự, rửa bát, giặt gấp quần áo, dọn dẹp phòng ốc, giải trí lành mạnh và tự chế biến món ăn trong bếp.' }, comm: { code: 'comm', short: 'CPS', color: '#7c3aed', tabTitle: '🛒 3. Cộng đồng (Community)', tabSub: '7 Lĩnh vực • Đi đường, Mua sắm & Tiền tệ', fullTitle: 'Mô-đun 3: Kỹ Năng Tham Gia Cộng Đồng — AFLS Community Participation Protocol (7 Lĩnh Vực)', desc: 'Đánh giá năng lực định hướng ngoài xã hội: đi bộ qua đường an toàn, đi siêu thị mua sắm, ăn uống tại nhà hàng, quản lý tiền mặt/thẻ, dùng điện thoại và quản lý thời gian.' }, school: { code: 'school', short: 'SCS', color: '#f59e0b', tabTitle: '🏫 4. Học đường (School)', tabSub: '7 Lĩnh vực • Lớp học, Bạn bè & Công nghệ', fullTitle: 'Mô-đun 4: Kỹ Năng Học Đường — AFLS School Skills Protocol (7 Lĩnh Vực)', desc: 'Đánh giá các kỹ năng thực tiễn để học sinh tự xoay xở trong trường học (từ Tiểu học đến Trung học): tuân thủ nội quy, tự ăn ở căng-tin, dùng máy tính và vận dụng kiến thức vào thực tế.' }, voc: { code: 'voc', short: 'VOC', color: '#ea580c', tabTitle: '💼 5. Hướng nghiệp (Vocational)', tabSub: '7 Lĩnh vực • Tìm việc, Kỹ năng nghề & An toàn', fullTitle: 'Mô-đun 5: Kỹ Năng Hướng Nghiệp & Việc Làm — AFLS Vocational Skills Protocol (7 Lĩnh Vực)', desc: 'Đánh giá sự sẵn sàng lao động cho thanh thiếu niên (≥ 14 tuổi) và người trưởng thành: chuẩn bị hồ sơ, phỏng vấn, tác phong làm việc, giao tiếp đồng nghiệp và kỹ năng nghề thực hành.' }, indep: { code: 'indep', short: 'ILS', color: '#dc2626', tabTitle: '🔑 6. Sống Độc lập (Independent)', tabSub: '6 Lĩnh vực • Tài chính, Y tế & Tự quyết', fullTitle: 'Mô-đun 6: Kỹ Năng Sống Độc Lập — AFLS Independent Living Skills Protocol (6 Lĩnh Vực)', desc: 'Đánh giá các kỹ năng sống tự chủ cấp cao của người trưởng thành: quản lý chi tiêu/hóa đơn, tự chăm sóc y tế/uống thuốc, đi lại bằng phương tiện công cộng và tự bảo vệ quyền lợi bản thân.' } }; // Đầy đủ 42 Lĩnh vực chức năng thuộc 6 Mô-đun AFLS (Chấm thang 0 -> 4 điểm chuẩn Partington) const domains = [ // ===================================================== // MÔ-ĐUN 1: KỸ NĂNG SỐNG CƠ BẢN (BASIC LIVING SKILLS • 8 LĨNH VỰC) // ===================================================== { id: 1, mod: 'basic', code: 'BLS-1', name: '1. Tự Quản lý Hành vi & Cảm xúc (Self-Management)', step1: 'Bình tĩnh khi có thay đổi nhỏ trong sinh hoạt và hợp tác dừng hành vi khi được nhắc.', step2: 'Biết chờ đợi 5–10 phút khi chưa được đáp ứng ngay và tự dùng lời/ký hiệu để xin nghỉ giải lao.', step3: 'Tự kiểm soát cảm xúc không ăn vạ/tự gây hại và tự áp dụng chiến lược thư giãn khi căng thẳng ngoài cộng đồng.' }, { id: 2, mod: 'basic', code: 'BLS-2', name: '2. Giao tiếp Chức năng Cơ bản (Basic Communication)', step1: 'Biết yêu cầu đồ ăn, thức uống, đi vệ sinh và sự giúp đỡ bằng lời nói, cử chỉ hoặc thiết bị AAC/PECS.', step2: 'Trả lời đúng thông tin cá nhân thiết yếu (Họ tên, Tuổi, Tên bố mẹ, Số điện thoại/Địa chỉ khi đi lạc).', step3: 'Truyền đạt rõ ràng khi cơ thể bị đau/ốm và chủ động thông báo các sự cố khẩn cấp cho người lớn.' }, { id: 3, mod: 'basic', code: 'BLS-3', name: '3. Mặc và Cởi Quần áo (Dressing)', step1: 'Tự cởi và mặc quần thun, áo phông, tất và giày dán Velcro.', step2: 'Mặc quần áo đúng mặt trước/sau, mặt phải/trái, đi giày đúng chân trái/phải và tự cài cúc áo, kéo khóa.', step3: 'Tự chọn trang phục phù hợp với thời tiết (nóng/lạnh/mưa), hoàn cảnh xã hội và tự buộc dây giày thành thạo.' }, { id: 4, mod: 'basic', code: 'BLS-4', name: '4. Kỹ năng Đi vệ sinh (Toileting)', step1: 'Đi tiểu và đại tiện vào bồn cầu theo lịch nhắc, giữ quần khô ráo suốt ban ngày và ban đêm.', step2: 'Tự chủ động nhận biết nhu cầu và tự đi vào nhà vệ sinh mà không cần ai nhắc.', step3: 'Hoàn tất độc lập 100% quy trình tại cả nhà riêng lẫn nhà vệ sinh công cộng (đóng chốt cửa, tự lau chùi sạch, xả nước, rửa tay).' }, { id: 5, mod: 'basic', code: 'BLS-5', name: '5. Chải chuốt & Vệ sinh Cá nhân (Grooming)', step1: 'Tự rửa tay bằng xà phòng, lau khô tay, lau mặt và xì mũi bằng khăn giấy.', step2: 'Tự lấy kem đánh răng, đánh răng sạch các mặt răng, súc miệng và tự chải tóc gọn gàng.', step3: 'Tự chăm sóc móng tay, dùng lăn khử mùi, chăm sóc da mặt, cạo râu (nam) hoặc vệ sinh chu kỳ kinh nguyệt (nữ).' }, { id: 6, mod: 'basic', code: 'BLS-6', name: '6. Kỹ năng Tắm rửa (Bathing)', step1: 'Hợp tác trong bồn tắm/vòi sen, tự xoa xà phòng lên cơ thể và dội nước tráng sạch.', step2: 'Tự gội đầu bằng dầu gội, xả sạch bọt không để vào mắt và tự dùng khăn tắm lau khô toàn thân.', step3: 'Tự điều chỉnh nhiệt độ nước an toàn (nóng/lạnh), tự tắm gội độc lập hoàn toàn và treo khăn/dọn phòng tắm sau khi tắm.' }, { id: 7, mod: 'basic', code: 'BLS-7', name: '7. Sức khỏe, An toàn & Sơ cứu Cơ bản (Health, Safety & First Aid)', step1: 'Nhận biết và tránh các mối nguy hiểm trực tiếp (ổ điện, vật sắc nhọn, bếp nóng, hóa chất tẩy rửa, nước sâu).', step2: 'Biết báo ngay khi bị đứt tay/trầy xước, hợp tác rửa vết thương, dán băng cá nhân (Band-Aid) và uống thuốc theo hướng dẫn.', step3: 'Tự sơ cứu vết thương nhỏ, biết thoát hiểm khi có chuông báo cháy và tuyệt đối không đi theo người lạ.' }, { id: 8, mod: 'basic', code: 'BLS-8', name: '8. Thói quen Ban đêm & Giấc ngủ (Nighttime Routines)', step1: 'Thực hiện quy trình chuẩn bị đi ngủ (mặc đồ ngủ, đi vệ sinh, đánh răng) và nằm lên giường đúng giờ.', step2: 'Tự ngủ trên giường riêng suốt đêm mà không thức dậy đi lang thang hay gọi người nhà.', step3: 'Tự đặt đồng hồ báo thức, tự thức dậy đúng giờ vào buổi sáng và tự gấp chăn màn gọn gàng.' }, // ===================================================== // MÔ-ĐUN 2: KỸ NĂNG TẠI GIA ĐÌNH (HOME SKILLS • 7 LĨNH VỰC) // ===================================================== { id: 9, mod: 'home', code: 'HMS-1', name: '9. Ăn uống Tại Nhà & Phép lịch sự trên bàn ăn (Meals at Home)', step1: 'Tự dùng thìa, đũa/nĩa ăn uống gọn gàng tại bàn ăn và tự rót nước từ bình ra cốc.', step2: 'Phụ giúp bày bát đũa lên bàn ăn trước bữa cơm và tự mang bát đĩa bẩn của mình ra bồn rửa sau khi ăn.', step3: 'Sử dụng dao cắt thức ăn mềm, mời cơm, lấy thức ăn vừa đủ và giữ tác phong lịch sự suốt bữa ăn gia đình.' }, { id: 10, mod: 'home', code: 'HMS-2', name: '10. Rửa bát & Dọn dẹp Bồn rửa (Dishes)', step1: 'Tráng sạch thức ăn thừa trên bát đĩa và phân loại bát, đĩa, thìa đũa vào bồn rửa.', step2: 'Tự rửa sạch bát đĩa bằng nước rửa chén, tráng sạch bọt và úp lên giá phơi khô.', step3: 'Xếp bát đĩa vào máy rửa bát (hoặc cất bát đĩa đã khô vào đúng ngăn tủ bếp) và lau khô mặt bàn bếp.' }, { id: 11, mod: 'home', code: 'HMS-3', name: '11. Quần áo & Giặt ủi (Clothing and Laundry)', step1: 'Bỏ quần áo bẩn vào giỏ giặt mỗi ngày và phân loại quần áo sạch của mình.', step2: 'Biết gấp gọn áo phông, quần dài, tất và treo áo sơ mi/áo khoác lên móc treo vào tủ.', step3: 'Tự phân loại đồ trắng/đồ màu, cho quần áo và nước giặt vào máy giặt, bấm nút giặt, phơi đồ và là (ủi) quần áo cơ bản.' }, { id: 12, mod: 'home', code: 'HMS-4', name: '12. Dọn dẹp Nhà cửa & Việc nhà (Housekeeping and Chores)', step1: 'Tự cất đồ chơi/đồ dùng sau khi dùng, lau bàn và bỏ rác vào thùng rác.', step2: 'Quét nhà, hút bụi sàn nhà, lau nhà bằng cây lau và buộc túi rác mang ra nơi tập kết.', step3: 'Tự dọn phòng ngủ cá nhân, thay vỏ chăn ga gối, lau chùi bồn rửa mặt/nhà vệ sinh và chăm sóc cây cảnh/thú cưng.' }, { id: 13, mod: 'home', code: 'HMS-5', name: '13. Cơ học Gia dụng & Sửa chữa Vặt (Household Mechanics)', step1: 'Sử dụng thành thạo chìa khóa để mở/khóa cửa nhà, bật/tắt quạt, điều hòa và kéo rèm cửa.', step2: 'Biết thay pin cho điều khiển từ xa/đồng hồ và biết dùng tua-vít/dụng cụ cơ bản an toàn.', step3: 'Biết thay bóng đèn bàn, xử lý khi mất điện (dùng đèn pin) và khóa van nước/ngắt cầu dao khi có sự cố rò rỉ.' }, { id: 14, mod: 'home', code: 'HMS-6', name: '14. Kỹ năng Giải trí Lành mạnh Tại nhà (Home Leisure)', step1: 'Tự chơi đồ chơi, xem sách tranh, nghe nhạc hoặc tô màu độc lập trong 20–30 phút.', step2: 'Tham gia chơi cờ cá ngựa, Uno, lắp ráp mô hình hoặc chơi thể thao vận động cùng người thân.', step3: 'Tự quản lý thời gian giải trí hợp lý (không nghiện màn hình điện thoại/tivi quá giờ quy định) và theo đuổi sở thích lành mạnh.' }, { id: 15, mod: 'home', code: 'HMS-7', name: '15. Kỹ năng Bếp núc & Nấu ăn (Kitchen and Cooking)', step1: 'Tự lấy đồ ăn trong tủ lạnh, bóc vỏ trái cây (chuối, quýt), phết bơ/mứt lên bánh mì và pha sữa/ngũ cốc.', step2: 'Rửa sạch rau củ, sử dụng lò vi sóng, ấm đun siêu tốc, nồi cơm điện để hâm nóng thức ăn và cắm cơm an toàn.', step3: 'Sử dụng dao gọt/thái thực phẩm an toàn và tự nấu được các món ăn cơ bản (luộc trứng/rau, rán trứng, nấu mì) trên bếp.' }, // ===================================================== // MÔ-ĐUN 3: KỸ NĂNG THAM GIA CỘNG ĐỒNG (COMMUNITY PARTICIPATION • 7 LĨNH VỰC) // ===================================================== { id: 16, mod: 'comm', code: 'CPS-1', name: '16. Di chuyển Cơ bản & An toàn Giao thông (Basic Mobility)', step1: 'Đi bộ trên vỉa hè cạnh người lớn mà không tự ý chạy lao xuống lòng đường; thắt dây an toàn khi ngồi ô tô/đội mũ bảo hiểm khi đi xe máy.', step2: 'Hiểu tín hiệu đèn giao thông (Đèn đỏ dừng lại, Đèn xanh đi) và quan sát Trái – Phải – Trái trước khi qua đường tại vạch kẻ.', step3: 'Tự đi bộ an toàn đến các địa điểm gần nhà (cửa hàng, trường học, công viên) và nhận diện các biển báo công cộng.' }, { id: 17, mod: 'comm', code: 'CPS-2', name: '17. Kiến thức & Ứng xử Nơi Công cộng (Community Knowledge)', step1: 'Giữ trật tự nơi công cộng, biết xếp hàng chờ đến lượt và nhận biết biểu tượng nhà vệ sinh Nam / Nữ.', step2: 'Biết chức năng của các địa điểm trong cộng đồng (Bệnh viện, Siêu thị, Bưu điện, Đồn công an, Hiệu cắt tóc, Thư viện).', step3: 'Biết tìm nhân viên bảo vệ/công an hoặc người có thẻ tên để nhờ giúp đỡ khi bị lạc hoặc gặp sự cố ngoài đường.' }, { id: 18, mod: 'comm', code: 'CPS-3', name: '18. Kỹ năng Đi Siêu thị & Mua sắm (Shopping)', step1: 'Đi cùng người lớn trong siêu thị, đẩy xe hàng cẩn thận và không tự ý bóc đồ ăn khi chưa thanh toán.', step2: 'Tìm đúng các món đồ cần mua theo danh sách hình ảnh/chữ viết và mang ra quầy thu ngân xếp hàng.', step3: 'Kiểm tra giá tiền, hạn sử dụng trên bao bì, tự thanh toán tại quầy thu ngân, nhận lại tiền thừa/hóa đơn và xách đồ về.' }, { id: 19, mod: 'comm', code: 'CPS-4', name: '19. Ăn uống Tại Nhà hàng / Quán ăn (Meals in Public)', step1: 'Ngồi yên tại bàn ăn trong nhà hàng/quán ăn và chờ đợi trong lúc món ăn đang được chuẩn bị.', step2: 'Xem thực đơn (menu) để tự chọn món ăn/đồ uống mình muốn và tự lấy khay/ống hút/khăn giấy tại quầy tự phục vụ.', step3: 'Tự gọi món trực tiếp với nhân viên phục vụ, ăn uống lịch sự nơi đông người và tự thanh toán hóa đơn bữa ăn.' }, { id: 20, mod: 'comm', code: 'CPS-5', name: '20. Kỹ năng Tiền tệ & Thanh toán (Money)', step1: 'Nhận biết và phân loại chính xác các mệnh giá tiền giấy Việt Nam (1.000đ → 500.000đ).', step2: 'Đếm tổng số tiền đang có trong ví và biết mệnh giá nào đủ để mua một món hàng có ghi giá sẵn.', step3: 'Tính nhẩm tiền thừa cần nhận lại khi mua hàng và biết sử dụng thẻ thanh toán / ví điện tử an toàn.' }, { id: 21, mod: 'comm', code: 'CPS-6', name: '21. Kỹ năng Sử dụng Điện thoại (Phone)', step1: 'Biết nghe điện thoại khi có người thân gọi đến, chào hỏi và đưa máy cho bố mẹ khi cần.', step2: 'Tự mở danh bạ gọi điện thoại/gọi video cho bố mẹ, người thân và trả lời đúng mình đang ở đâu.', step3: 'Biết gọi các số điện thoại khẩn cấp (113, 114, 115), nhắn tin văn bản lịch sự và bảo mật thông tin trên điện thoại.' }, { id: 22, mod: 'comm', code: 'CPS-7', name: '22. Kỹ năng Thời gian & Lịch trình (Time)', step1: 'Phân biệt các buổi trong ngày (Sáng, Trưa, Chiều, Tối) và làm theo thời khóa biểu hình ảnh/chữ viết.', step2: 'Đọc giờ đúng và giờ lẻ phút trên đồng hồ điện tử và đồng hồ kim; đọc thứ, ngày, tháng trên lịch.', step3: 'Ước lượng thời gian di chuyển, tự quản lý lịch hẹn cá nhân và luôn có mặt đúng giờ quy định.' }, // ===================================================== // MÔ-ĐUN 4: KỸ NĂNG HỌC ĐƯỜNG (SCHOOL SKILLS • 7 LĨNH VỰC) // ===================================================== { id: 23, mod: 'school', code: 'SCS-1', name: '23. Nội quy Lớp học & Tự tổ chức Học tập (Classroom Routines)', step1: 'Tự đi vào lớp, cất cặp sách, lấy sách vở theo môn học và ngồi học nghiêm túc trong suốt tiết học.', step2: 'Làm theo hướng dẫn chung của giáo viên cho cả lớp, tự giơ tay xin phát biểu hoặc xin phép đi vệ sinh.', step3: 'Tự ghi chép bài tập về nhà vào sổ dặn dò, tự chuẩn bị cặp sách cho ngày hôm sau và nộp bài đúng hạn.' }, { id: 24, mod: 'school', code: 'SCS-2', name: '24. Kỹ năng Ăn bán trú tại Căng-tin Trường (Meals at School)', step1: 'Xếp hàng nhận khay cơm bán trú hoặc tự mở hộp cơm trưa mang từ nhà đi.', step2: 'Ngồi ăn đúng vị trí cùng các bạn cùng lớp trong thời gian quy định mà không rời bàn.', step3: 'Tự dọn khay cơm, phân loại rác/thức ăn thừa và xếp bát thìa vào đúng khay thu gom của nhà ăn trường.' }, { id: 25, mod: 'school', code: 'SCS-3', name: '25. Kỹ năng Xã hội Học đường & Làm việc Nhóm (School Social Skills)', step1: 'Chào hỏi thầy cô và bạn bè, tham gia các hoạt động giờ ra chơi mà không xô đẩy hay giật đồ.', step2: 'Hợp tác làm bài tập nhóm với 2–3 bạn cùng lớp, biết chia sẻ dụng cụ học tập và lắng nghe ý kiến bạn.', step3: 'Nhận biết hành vi bắt nạt học đường để báo giáo viên và biết cách từ chối khi bạn rủ làm việc sai nội quy.' }, { id: 26, mod: 'school', code: 'SCS-4', name: '26. Sử dụng Công nghệ & Máy tính (Technology)', step1: 'Biết bật/tắt máy tính/máy tính bảng, sử dụng chuột và bàn phím để mở phần mềm học tập.', step2: 'Đánh máy văn bản tiếng Việt có dấu, lưu file tài liệu vào thư mục và in tài liệu.', step3: 'Tra cứu thông tin học tập an toàn trên Internet, gửi email nộp bài và tuân thủ quy tắc an toàn mạng.' }, { id: 27, mod: 'school', code: 'SCS-5', name: '27. Kiến thức Tự nhiên & Xã hội Chung (Common Knowledge)', step1: 'Nhận biết các mùa, hiện tượng thời tiết, các ngày lễ lớn và các nghề nghiệp phổ biến trong xã hội.', step2: 'Hiểu chức năng các bộ phận cơ thể, tháp dinh dưỡng lành mạnh và quy luật sinh trưởng của cây cối/động vật.', step3: 'Nắm được kiến thức địa lý cơ bản (tỉnh thành, đất nước) và các quy định ứng xử văn minh công cộng.' }, { id: 28, mod: 'school', code: 'SCS-6', name: '28. Học thuật Cốt lõi: Đọc hiểu, Viết & Toán (Core Academics)', step1: 'Đọc trơn đoạn văn bản, chép bài từ bảng vào vở rõ ràng và thực hiện phép cộng trừ trong phạm vi 100.', step2: 'Tóm tắt ý chính bài đọc, viết đoạn văn ngắn theo chủ đề và làm phép nhân chia/giải toán có lời văn.', step3: 'Sử dụng máy tính bỏ túi (Calculator), từ điển tra cứu và hoàn thành bài kiểm tra trên lớp độc lập.' }, { id: 29, mod: 'school', code: 'SCS-7', name: '29. Học thuật Ứng dụng Đời sống (Applied Academics)', step1: 'Đọc hiểu các biển báo chỉ dẫn trong trường và cộng trừ số lượng đồ dùng thực tế.', step2: 'Đo chiều dài bằng thước kẻ, cân khối lượng nguyên liệu, đong thể tích nước và xem nhiệt kế.', step3: 'Đọc hiểu thời khóa biểu, bảng hướng dẫn sử dụng sản phẩm, công thức nấu ăn và lập bảng tính tiền đơn giản.' }, // ===================================================== // MÔ-ĐUN 5: KỸ NĂNG HƯỚNG NGHIỆP & VIỆC LÀM (VOCATIONAL SKILLS • 7 LĨNH VỰC) // ===================================================== { id: 30, mod: 'voc', code: 'VOC-1', name: '30. Tìm kiếm Việc làm & Hồ sơ Xin việc (Job Search)', step1: 'Nhận biết các công việc phù hợp với sở thích và thế mạnh của bản thân.', step2: 'Điền đầy đủ thông tin cá nhân vào mẫu Đơn xin việc / Sơ yếu lý lịch (CV) trên giấy hoặc máy tính.', step3: 'Tìm kiếm thông tin tuyển dụng và nộp hồ sơ ứng tuyển đúng quy trình.' }, { id: 31, mod: 'voc', code: 'VOC-2', name: '31. Kỹ năng Phỏng vấn Xin việc (Interview Skills)', step1: 'Ăn mặc chỉnh tề, gọn gàng, đến đúng giờ hẹn phỏng vấn và chào hỏi người phỏng vấn lịch sự.', step2: 'Duy trì tư thế ngồi ngay ngắn, giao tiếp mắt phù hợp và trả lời rõ ràng các câu hỏi về kỹ năng bản thân.', step3: 'Đặt câu hỏi phù hợp về công việc/lịch làm việc và nói lời cảm ơn khi kết thúc buổi phỏng vấn.' }, { id: 32, mod: 'voc', code: 'VOC-3', name: '32. Tác phong & Kỹ năng Làm việc Cốt lõi (Basic Work Skills)', step1: 'Đi làm đúng giờ, chấm công, mặc đồng phục/đeo thẻ nhân viên và bắt tay vào việc ngay.', step2: 'Duy trì làm việc liên tục trong ca làm việc (2–4 tiếng), tuân thủ giờ nghỉ giải lao và tự chuyển sang nhiệm vụ tiếp theo khi làm xong.', step3: 'Đảm bảo tốc độ và chất lượng sản phẩm đạt chuẩn, tự kiểm tra lỗi sai và dọn dẹp gọn gàng khu vực làm việc cuối ca.' }, { id: 33, mod: 'voc', code: 'VOC-4', name: '33. Quan hệ Đồng nghiệp & Cấp trên (Coworker & Supervisor Relations)', step1: 'Chào hỏi đồng nghiệp/quản lý, giữ khoảng cách giao tiếp lịch sự và không tự ý lấy đồ của đồng nghiệp.', step2: 'Chấp nhận lời góp ý sửa sai từ người quản lý một cách bình tĩnh và điều chỉnh lại cách làm ngay.', step3: 'Biết chủ động báo cáo quản lý khi hết nguyên vật liệu, khi máy móc hỏng hoặc khi cần xin nghỉ phép.' }, { id: 34, mod: 'voc', code: 'VOC-5', name: '34. An toàn Lao động tại Nơi làm việc (Workplace Safety)', step1: 'Đeo đầy đủ trang bị bảo hộ (găng tay, khẩu trang, tạp dề, mũ) theo quy định của nơi làm việc.', step2: 'Nhận biết các biển cảnh báo an toàn (Sàn ướt, Điện cao thế, Lối thoát hiểm) và vận hành dụng cụ đúng quy trình.', step3: 'Xử lý đúng quy trình khi có sự cố đổ vỡ/cháy nổ và báo ngay cho bộ phận an toàn.' }, { id: 35, mod: 'voc', code: 'VOC-6', name: '35. Kỹ năng Nghề Văn phòng, Siêu thị & Kho bãi (Office, Retail & Warehouse)', step1: 'Phân loại hàng hóa/tài liệu theo mã số, dán nhãn giá, đóng gói sản phẩm vào hộp đúng số lượng.', step2: 'Sắp xếp hàng hóa lên kệ siêu thị ngay ngắn (hàng hạn cũ xếp ra ngoài), photocopy và hủy giấy tờ.', step3: 'Kiểm kê số lượng tồn kho, nhập dữ liệu cơ bản vào máy tính và hỗ trợ khách hàng tìm vị trí sản phẩm.' }, { id: 36, mod: 'voc', code: 'VOC-7', name: '36. Kỹ năng Nghề Dịch vụ, Nhà hàng & Làm bánh/Nông nghiệp (Service & Hospitality)', step1: 'Lau dọn bàn ghế nhà hàng, gấp khăn ăn, xếp bộ dao nĩa và thu gom bát đĩa bẩn.', step2: 'Sơ chế nguyên liệu làm bánh/pha chế theo công thức định lượng hoặc chăm sóc tưới cây nhà kính.', step3: 'Phục vụ đồ ăn/đồ uống cho khách lịch sự và duy trì tiêu chuẩn vệ sinh an toàn thực phẩm.' }, // ===================================================== // MÔ-ĐUN 6: KỸ NĂNG SỐNG ĐỘC LẬP (INDEPENDENT LIVING SKILLS • 6 LĨNH VỰC) // ===================================================== { id: 37, mod: 'indep', code: 'ILS-1', name: '37. Quản lý Tài chính Cá nhân & Chi tiêu (Money Management)', step1: 'Hiểu khái niệm thu nhập, tiết kiệm và giữ gìn tiền mặt/thẻ ngân hàng cẩn thận không làm mất.', step2: 'Lập ngân sách chi tiêu hàng tuần trong giới hạn số tiền cho phép (ưu tiên nhu cầu thiết yếu trước sở thích).', step3: 'Sử dụng cây ATM/ứng dụng ngân hàng an toàn, thanh toán hóa đơn sinh hoạt và tuyệt đối không cho người lạ vay/chuyển tiền.' }, { id: 38, mod: 'indep', code: 'ILS-2', name: '38. Đi lại Độc lập bằng Phương tiện Công cộng (Community Transportation)', step1: 'Đi bộ hoặc đi xe đạp an toàn trên các tuyến đường quen thuộc quanh khu dân cư.', step2: 'Biết tra cứu tuyến xe buýt/tàu điện, chờ tại trạm, quẹt thẻ/mua vé và bấm chuông xuống đúng bến.', step3: 'Biết đặt xe công nghệ hoặc xử lý khi nhỡ chuyến xe/lạc đường (gọi người thân, xem bản đồ định vị).' }, { id: 39, mod: 'indep', code: 'ILS-3', name: '39. Tự Chăm sóc Y tế & Quản lý Thuốc men (Personal Health & Medication)', step1: 'Nhận biết các triệu chứng ốm thông thường (sốt, đau đầu, đau bụng, cảm cúm) và biết cặp nhiệt độ.', step2: 'Sử dụng hộp chia thuốc theo ngày để tự uống thuốc định kỳ đúng liều lượng và đúng giờ.', step3: 'Biết trình thẻ Bảo hiểm y tế/CCCD khi đi khám bệnh và mô tả triệu chứng rõ ràng với bác sĩ.' }, { id: 40, mod: 'indep', code: 'ILS-4', name: '40. Quản lý Không gian Sống & An ninh Nhà ở (Living Space Management)', step1: 'Luôn kiểm tra khóa cửa, tắt bếp, tắt điện nước trước khi ra khỏi nhà hoặc trước khi đi ngủ.', step2: 'Lập danh sách thực phẩm/nhu yếu phẩm trong nhà sắp hết để chủ động đi mua bổ sung.', step3: 'Không mở cửa cho người lạ vào nhà và biết liên hệ ban quản lý tòa nhà/thợ sửa chữa khi hỏng điện nước.' }, { id: 41, mod: 'indep', code: 'ILS-5', name: '41. Tư duy Giải quyết Vấn đề Đời sống (Everyday Problem Solving)', step1: 'Bình tĩnh tìm phương án thay thế khi gặp sự cố nhỏ (như hết món ăn yêu thích, trời mưa bất chợt, quên mang ô).', step2: 'Biết tìm kiếm sự trợ giúp từ những nguồn đáng tin cậy khi gặp tình huống vượt quá khả năng tự xử lý.', step3: 'Nhận diện được các tình huống lừa đảo qua điện thoại/mạng xã hội hoặc lợi dụng tài chính/tình cảm.' }, { id: 42, mod: 'indep', code: 'ILS-6', name: '42. Giao tiếp Xã hội Người lớn & Tự bảo vệ Quyền lợi (Social & Self-Advocacy)', step1: 'Phân biệt rõ mối quan hệ (Người thân, Bạn bè, Đồng nghiệp, Người quen sơ, Người lạ) để có giới hạn tiếp xúc phù hợp.', step2: 'Biết nói lời "Không" một cách kiên quyết và lịch sự khi bị ép làm điều mình không thoải mái hoặc vi phạm quy tắc.', step3: 'Chủ động trình bày nhu cầu hỗ trợ chính đáng của bản thân ở trường học/nơi làm việc (Self-Advocacy).' } ]; let activeMod = 'all'; // 'all' | 'basic' | 'home' | 'comm' | 'school' | 'voc' | 'indep' // scores[id] lưu mức độ độc lập trên thang 0..4 của AFLS: // 0 (0% - Chưa làm được), 1 (25% - Cần cầm tay/nhắc nhiều), 2 (50% - Cần gợi ý lời nói), 3 (75% - Cần giám sát nhẹ), 4 (100% - Độc lập hoàn toàn) let scores = {}; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .af-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .af-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .af-inner { padding: 24px; max-width: 980px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .af-wrap.is-fullscreen .af-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .af-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(13, 148, 136, 0.45), 0 0 0 0 rgba(13, 148, 136, 0.4); } 70% { box-shadow: 0 6px 20px rgba(13, 148, 136, 0.45), 0 0 0 10px rgba(13, 148, 136, 0); } 100% { box-shadow: 0 6px 20px rgba(13, 148, 136, 0.45), 0 0 0 0 rgba(13, 148, 136, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #0f766e 0%, #0d9488 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(13, 148, 136, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Bộ chuyển đổi 6 Mô-đun AFLS */ .mod-switcher-box { background: #f1f5f9; padding: 10px; border-radius: 12px; margin-bottom: 18px; } .mod-switcher-lbl { font-size: 12px; font-weight: 800; color: #334155; text-transform: uppercase; margin-bottom: 8px; display: block; } .mod-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 6px; } .mod-btn { padding: 9px 8px; border-radius: 9px; border: 1.5px solid transparent; background: rgba(255, 255, 255, 0.65); cursor: pointer; text-align: left; transition: all 0.18s ease; touch-action: manipulation; } .mod-btn:hover { background: #ffffff; } .mod-btn.active { background: #ffffff; border-color: #0d9488; box-shadow: 0 3px 10px rgba(15, 23, 42, 0.08); } .mod-btn-title { font-size: 12.2px; font-weight: 800; color: #0f172a; display: block; line-height: 1.25; } .mod-btn.active .mod-btn-title { color: #0f766e; } .mod-btn-sub { font-size: 10.5px; color: #64748b; margin-top: 2px; display: block; line-height: 1.2; } /* Header */ .af-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .af-header-text { flex: 1 1 260px; } .af-title { font-size: 20px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .af-desc { font-size: 13.8px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #f0fdfa; color: #0f766e; border: 1px solid #99f6e4; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #0d9488; color: #ffffff; border-color: #0d9488; } /* Controls */ .af-presets { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; margin-bottom: 16px; } .af-preset-lbl { font-size: 12.5px; font-weight: 700; color: #475569; margin-right: 4px; } .af-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; touch-action: manipulation; } .af-pbtn:hover { background: #f1f5f9; } .af-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } /* Sticky Dashboard */ .af-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .af-wrap.is-fullscreen .af-dash { top: 58px; } .af-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .af-score-big { font-size: 21px; font-weight: 800; line-height: 1.2; } .af-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .af-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .af-pillars { display: grid; grid-template-columns: repeat(6, 1fr); gap: 6px; font-size: 11.5px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .af-pillar-box { background: #1e293b; padding: 7px 8px; border-radius: 8px; } .af-pillar-val { font-weight: 800; color: #ffffff; font-size: 13px; display: block; margin-top: 2px; } /* Danh sách 42 Lĩnh vực AFLS */ .af-item { border: 1px solid #e2e8f0; border-radius: 12px; padding: 14px 16px; margin-bottom: 12px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 8px; } .af-item.mastered { border-color: #a7f3d0; background: #f0fdf4; } .af-item.emerging { border-color: #fde68a; background: #fffbeb; } .af-item-title { font-size: 15px; font-weight: 800; color: #0f172a; } .af-item-desc { font-size: 13.2px; color: #334155; line-height: 1.5; } .af-tags { display: flex; flex-wrap: wrap; gap: 6px; } .af-tag { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .af-ans-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; margin-top: 4px; } .af-abtn { padding: 8px 6px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 700; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .af-abtn:hover { border-color: #64748b; } .af-abtn.sel-0 { background: #ef4444; border-color: #ef4444; color: #ffffff; } .af-abtn.sel-1, .af-abtn.sel-2 { background: #f59e0b; border-color: #f59e0b; color: #ffffff; } .af-abtn.sel-3 { background: #0284c7; border-color: #0284c7; color: #ffffff; } .af-abtn.sel-4 { background: #10b981; border-color: #10b981; color: #ffffff; } /* Biểu đồ 6 Mô-đun & Hộp trích xuất IEP/ISP */ .af-chart-card { margin-top: 20px; padding: 16px 18px; border-radius: 12px; background: #ffffff; border: 1px solid #e2e8f0; } .af-bar-row { display: flex; align-items: center; gap: 10px; margin-bottom: 9px; font-size: 12.5px; } .af-bar-lbl { width: 265px; flex-shrink: 0; font-weight: 600; color: #334155; } .af-bar-track { flex: 1; height: 16px; background: #f1f5f9; border-radius: 999px; overflow: hidden; } .af-bar-val { width: 125px; text-align: right; font-weight: 700; color: #0f172a; flex-shrink: 0; } .af-iep-box { margin-top: 16px; padding: 16px 18px; border-radius: 12px; background: #fffbeb; border: 1px solid #fde68a; border-left: 5px solid #f59e0b; font-size: 13.8px; color: #78350f; line-height: 1.6; } .af-iep-title { font-size: 15px; font-weight: 800; color: #92400e; margin-bottom: 8px; } .af-result-box { margin-top: 16px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #0d9488; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 780px) { .af-inner { padding: 14px; } .mod-grid { grid-template-columns: 1fr 1fr; } .af-title { font-size: 18px; } .af-pillars { grid-template-columns: repeat(2, 1fr); } .af-ans-grid { grid-template-columns: 1fr 1fr; } .af-bar-lbl { width: 145px; font-size: 11.5px; } .af-pbtn.reset { margin-left: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
Hệ Thống Đánh Giá Các Kỹ Năng Sống Chức Năng AFLS Toàn Diện (6 Mô-đun • 42 Lĩnh Vực)
Công cụ tiêu chuẩn của Tiến sĩ James Partington & Michael Mueller (2012) đo lường mức độ tự lập thực tế từ 2 tuổi đến tuổi trưởng thành qua 6 Mô-đun: Sống Cơ bản, Tại Gia đình, Cộng đồng, Học đường, Hướng nghiệp và Sống Độc lập.
`; } else { const mCfg = moduleConfigs[activeMod]; headerInfo.innerHTML = `${mCfg.fullTitle}
${mCfg.desc}
`; } } function renderItems() { itemList.innerHTML = ''; const scaleBtns = [ { val: 0, lbl: '0đ - Chưa làm được (0%)' }, { val: 1, lbl: '1đ - Cần cầm tay/nhắc nhiều (25% ★)' }, { val: 2, lbl: '2đ - Cần gợi ý lời nói (50% ★)' }, { val: 3, lbl: '3đ - Cần giám sát nhẹ (75% ★)' }, { val: 4, lbl: '4đ - Độc lập hoàn toàn (100%)' } ]; domains.forEach(function(d) { if (activeMod !== 'all' && d.mod !== activeMod) return; const uVal = (scores[d.id] !== undefined) ? scores[d.id] : 0; const mCfg = moduleConfigs[d.mod]; let rowCls = 'af-item'; if (uVal === 4) rowCls += ' mastered'; else if (uVal >= 1 && uVal { const cls = 'af-abtn' + (uVal === b.val ? ` sel-${b.val}` : ''); return ``; }).join(''); const el = document.createElement('div'); el.className = rowCls; el.innerHTML = `• Cấp độ Mở rộng (Mức 3): ${d.step2}
• Cấp độ Độc lập Hoàn toàn (Mức 4): ${d.step3}
'); iepBox.innerHTML = `
• 1. Mô-đun Kỹ năng Sống Cơ bản (Basic Living Skills): Đạt ${getModPct('basic')}% — ${getModPct('basic') < 70 ? 'Cần ưu tiên tuyệt đối việc hoàn thiện kỹ năng Đi vệ sinh, Mặc đồ, Tắm rửa, Chải chuốt và An toàn cơ bản trước.' : 'Nền tảng tự chăm sóc bản thân đã vững vàng.'}
• 2. Mô-đun Tại Gia đình (${getModPct('home')}%) & Cộng đồng (${getModPct('comm')}%): Phản ánh khả năng tự phục vụ bữa ăn, làm việc nhà, đi lại an toàn và mua sắm ngoài xã hội.
• 3. Mô-đun Học đường (${getModPct('school')}%), Hướng nghiệp (${getModPct('voc')}%) & Sống Độc lập (${getModPct('indep')}%): Định hướng lộ trình chuyển tiếp sang lao động nghề nghiệp có hỗ trợ và tự chủ ở tuổi trưởng thành. `; updateFloatingFabVisibility(); } function applyPreset(type) { scores = {}; domains.forEach(d => { scores[d.id] = 0; }); if (type === 'reset') { renderItems(); updateSummary(); return; } if (type === 'child_basic') { // Trẻ nhỏ đang rèn Sống cơ bản (Mức 2-3), Gia đình & Học đường (Mức 1-2) domains.forEach(d => { if (d.mod === 'basic') scores[d.id] = (d.id % 2 === 0) ? 3 : 2; else if (d.mod === 'home' || d.mod === 'school') scores[d.id] = (d.id % 2 === 0) ? 2 : 1; else if (d.mod === 'comm') scores[d.id] = 1; else scores[d.id] = 0; }); } else if (type === 'teen_transition') { // Thiếu niên: Sống cơ bản thành thạo (Mức 4), Gia đình & Học đường & Cộng đồng khá (Mức 2-3), bắt đầu Hướng nghiệp (Mức 1-2) domains.forEach(d => { if (d.mod === 'basic') scores[d.id] = 4; else if (d.mod === 'home' || d.mod === 'school') scores[d.id] = 3; else if (d.mod === 'comm') scores[d.id] = (d.id % 2 === 0) ? 3 : 2; else if (d.mod === 'voc' || d.mod === 'indep') scores[d.id] = (d.id % 2 === 0) ? 2 : 1; }); } else if (type === 'adult_voc') { // Thanh niên / Người lớn hướng nghiệp & sống bán độc lập domains.forEach(d => { if (d.mod === 'basic' || d.mod === 'home') scores[d.id] = 4; else if (d.mod === 'comm' || d.mod === 'school') scores[d.id] = (d.id % 2 === 0) ? 4 : 3; else scores[d.id] = (d.id % 2 === 0) ? 3 : 2; }); } renderItems(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); afWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { afWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 980px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } shadow.querySelectorAll('#modGrid .mod-btn').forEach(function(btn) { btn.onclick = function() { activeMod = this.getAttribute('data-mod'); shadow.querySelectorAll('#modGrid .mod-btn').forEach(b => b.classList.remove('active')); this.classList.add('active'); renderHeader(); renderItems(); updateSummary(); }; }); shadow.querySelectorAll('.af-pbtn').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-preset')); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); renderHeader(); applyPreset('teen_transition'); })();
AFLS (Assessment of Functional Living Skills): Cùng “họ” với VB-MAPP và ABLLS-R, nhưng chuyên đánh giá kỹ năng sống độc lập, tự phục vụ, hòa nhập cộng đồng và hướng nghiệp cho trẻ từ 2 tuổi đến trưởng thành.
AFLS (Assessment of Functional Living Skills — Đánh giá các Kỹ năng Sống Chức năng) là công cụ đánh giá, hệ thống theo dõi kỹ năng và hướng dẫn chương trình giảng dạy nối tiếp trực tiếp của ABLLS-R, do Tiến sĩ James W. Partington và Tiến sĩ Michael M. Mueller phát triển (xuất bản năm 2012 bởi Behavior Analysts, Inc.).
Nếu như VB-MAPP, ESDM hay ABLLS-R tập trung vào giai đoạn can thiệp sớm và ngôn ngữ học thuật nền tảng cho trẻ nhỏ, thì AFLS giải quyết bài toán lớn nhất của các gia đình có con Tự kỷ và Chậm phát triển từ 2 tuổi đến suốt tuổi trưởng thành: làm sao để cá nhân có thể tự chăm sóc bản thân, sống tự lập tại nhà, đi lại an toàn ngoài cộng đồng, hòa nhập trường học và làm việc kiếm sống mà ít phụ thuộc nhất vào cha mẹ hay người chăm sóc.
1. Cấu trúc 6 Mô-đun Đánh giá Độc lập của Hệ thống AFLS
Toàn bộ chương trình AFLS được thiết kế thành 6 Mô-đun (Assessment Protocols) bao gồm tổng cộng hơn 1.900 kỹ năng thực tế, có thể sử dụng độc lập hoặc kết hợp tùy theo độ tuổi và nhu cầu sống của người học:
| Mô-đun Đánh giá (Protocol) | Số lĩnh vực | Các Lĩnh vực Kỹ năng Thành phần Cốt lõi (Domains) | Mục tiêu Đầu ra Thực tiễn |
|
1. Kỹ năng Sống Cơ bản
(Basic Living Skills) |
8 lĩnh vực |
1. Tự quản lý hành vi (Self-Management)
2. Giao tiếp cơ bản (Basic Communication)
3. Mặc quần áo (Dressing)
4. Đi vệ sinh (Toileting)
5. Chải chuốt & Vệ sinh (Grooming)
6. Tắm rửa (Bathing)
7. Sức khỏe, An toàn & Sơ cứu (Health, Safety & First Aid)
8. Thói quen ban đêm & Giấc ngủ (Nighttime Routines) |
Thiết lập những kỹ năng sinh tồn và tự chăm sóc cơ bản nhất mà bất kỳ cá nhân nào cũng cần có để không phụ thuộc hoàn toàn vào người chăm sóc 24/24. |
|
2. Kỹ năng Tại Gia đình
(Home Skills) |
7 lĩnh vực |
1. Ăn uống tại nhà (Meals at Home)
2. Rửa bát & Dọn bếp (Dishes)
3. Quần áo & Giặt ủi (Clothing and Laundry)
4. Dọn dẹp & Việc nhà (Housekeeping and Chores)
5. Cơ học & Sửa chữa vặt (Household Mechanics)
6. Giải trí tại nhà (Leisure)
7. Bếp núc & Nấu ăn (Kitchen and Cooking) |
Giúp cá nhân trở thành một thành viên đóng góp tích cực trong gia đình và tiến tới khả năng sống tự lập / bán tự lập trong căn hộ riêng. |
|
3. Kỹ năng Tham gia Cộng đồng
(Community Participation) |
7 lĩnh vực |
1. Di chuyển cơ bản & Qua đường (Basic Mobility)
2. Kiến thức cộng đồng (Community Knowledge)
3. Mua sắm siêu thị/cửa hàng (Shopping)
4. Ăn uống tại nhà hàng (Meals in Public)
5. Tiền tệ & Ngân hàng (Money)
6. Điện thoại (Phone)
7. Thời gian & Lịch trình (Time) |
Trang bị kỹ năng đi lại an toàn trên đường phố, sử dụng phương tiện công cộng, tự đi siêu thị mua đồ, trả tiền, xem giờ và xử lý tình huống khẩn cấp. |
|
4. Kỹ năng Học đường
(School Skills) |
9 lĩnh vực |
1. Nội quy lớp học (Classroom Routines)
2. Ăn trưa ở trường (Meals at School)
3. Kỹ năng xã hội học đường (Social Skills)
4. Công nghệ máy tính (Technology)
5. Kiến thức chung (Common Knowledge)
6. Học thuật cốt lõi (Core Academics)
7. Học thuật ứng dụng (Applied Academics) |
Tối ưu hóa khả năng thích ứng từ cấp Tiểu học, Trung học cơ sở đến Trung học phổ thông mà giảm dần sự kèm cặp của giáo viên hỗ trợ 1:1. |
|
5. Kỹ năng Hướng nghiệp & Việc làm
(Vocational Skills) |
9 lĩnh vực |
1. Tìm kiếm việc làm & Hồ sơ (Job Search)
2. Phỏng vấn (Interview)
3. Kỹ năng làm việc cốt lõi (Basic Work Skills)
4. Quan hệ đồng nghiệp & Quản lý (Coworker Relations)
5. An toàn lao động (Workplace Safety)
6. Kỹ năng nghề cố định (Fixed Activity Skills: Văn phòng, Bán lẻ, Kho bãi, Nhà hàng, Vệ sinh…) |
Chuẩn bị cho thanh thiếu niên và người trưởng thành tự kỷ tham gia lao động có hỗ trợ hoặc làm việc độc lập tạo thu nhập. |
|
6. Kỹ năng Sống Độc lập
(Independent Living Skills) |
11 lĩnh vực | Quản lý tài chính cá nhân, Thuê nhà/Hóa đơn, Chăm sóc y tế/Uống thuốc, Đi lại đường dài, Tư duy giải quyết vấn đề đời sống, Quan hệ xã hội & Tự bảo vệ quyền lợi (Self-Advocacy). | Đỉnh cao của sự tự chủ ở tuổi trưởng thành. |
2. Quy tắc Chấm điểm (0 – 2 và 0 – 4) & Biểu đồ Lưới Độc lập (AFLS Independence Grid)
Giống như người anh em ABLLS-R, AFLS sử dụng hệ thống chấm điểm phân bậc nhiệm vụ để đo chính xác Mức độ Hỗ trợ Cần thiết:
-
0 điểm: Chưa thực hiện được kỹ năng hoặc kháng cự. -
1 điểm(Cần nhắc nhở nhiều / Hỗ trợ thể chất – ~25%): Thực hiện được một phần nhỏ khi có người cầm tay chỉ việc hoặc nhắc liên tục từng bước. -
2 điểm(Cần gợi ý lời nói / Cử chỉ – ~50%): Tự làm được các thao tác nhưng vẫn cần người đứng cạnh nhắc “Bước tiếp theo làm gì?”. -
3 điểm(Gần độc lập / Cần giám sát nhẹ – ~75%): Tự thực hiện được quy trình nhưng đôi khi còn sót chi tiết hoặc cần người kiểm tra lại kết quả cuối cùng. -
4 điểm(Độc lập hoàn toàn – 100% Mastered): Tự khởi xướng và hoàn thành trọn vẹn công việc đúng tiêu chuẩn chất lượng, an toàn và khái quát hóa ở nhiều bối cảnh mà không cần ai nhắc nhở.
[Chậm phát triển] Bayley-III: Tiêu chuẩn vàng đánh giá định lượng sự phát triển của trẻ nhỏ (1 – 42 tháng)
(function() { const host = document.getElementById('bayley3-wp-host'); if (!host) return; const placeholder = document.createComment('bayley3-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // Cấu hình 7 Tiểu thang đo thuộc 5 Lĩnh vực chính của Bayley-III const subConfigs = { cog: { code: 'cog', scale: 'COG', name: '1. Nhận thức (Cognitive Subtest)', color: '#2563eb', isDirect: true }, rc: { code: 'rc', scale: 'LAN', name: '2A. Ngôn ngữ Tiếp nhận (Receptive Communication)', color: '#7c3aed', isDirect: true }, ec: { code: 'ec', scale: 'LAN', name: '2B. Ngôn ngữ Diễn đạt (Expressive Communication)', color: '#9333ea', isDirect: true }, fm: { code: 'fm', scale: 'MOT', name: '3A. Vận động Tinh (Fine Motor)', color: '#0d9488', isDirect: true }, gm: { code: 'gm', scale: 'MOT', name: '3B. Vận động Thô (Gross Motor)', color: '#10b981', isDirect: true }, se: { code: 'se', scale: 'SE', name: '4. Cảm xúc – Xã hội (Social-Emotional Questionnaire)', color: '#f59e0b', isDirect: false }, ab: { code: 'ab', scale: 'AB', name: '5. Hành vi Thích ứng (Adaptive Behavior - GAC)', color: '#ea580c', isDirect: false } }; // 42 Mục đánh giá chuẩn theo bậc thang tháng tuổi (6 mục cốt lõi cho mỗi tiểu thang từ 1 -> 42 tháng) // Trực tiếp (cog, rc, ec, fm, gm): chấm 1 (Đạt - Credit) hoặc 0 (Không đạt - No Credit) // Phụ huynh (se, ab): chấm 0 (Chưa có/Không thể), 1 (Đôi khi/Cần nhắc), 2 (Thường xuyên/Độc lập) const items = [ // 1. NHẬN THỨC (COGNITIVE • 6 bậc từ 3m -> 42m) { id: 1, sub: 'cog', refAge: 4, name: 'COG-1 (Mốc 3–6 tháng): Khám phá bằng mắt, nắm giữ lục lạc và tìm kiếm nguồn âm thanh', desc: 'Trẻ nhìn chăm chú vào đồ vật, đưa tay nắm lấy vòng tròn/lục lạc và quay đầu tìm tiếng chuông.' }, { id: 2, sub: 'cog', refAge: 9, name: 'COG-2 (Mốc 7–11 tháng): Kéo dây lấy vòng & Tìm đồ chơi bị giấu dưới cốc (Hằng định đối tượng)', desc: 'Nhấc chiếc cốc hoặc kéo khăn để lấy món đồ chơi vừa bị người khám che khuất trước mặt.' }, { id: 3, sub: 'cog', refAge: 15, name: 'COG-3 (Mốc 12–17 tháng): Bỏ các khối gỗ vào cốc, mở nắp hộp và đặt đúng hình tròn vào bảng khuôn', desc: 'Hiểu quan hệ vật chứa – vật bị chứa và lắp khớp hình tròn vào bảng ghép hình Bayley.' }, { id: 4, sub: 'cog', refAge: 22, name: 'COG-4 (Mốc 18–24 tháng): Hoàn thành bảng ghép hình 3 khuôn (Tròn, Vuông, Tam giác) & Chơi giả vờ với búp bê', desc: 'Đặt đúng cả 3 hình cơ bản vào bảng khuôn và biết dùng thìa/cốc giả vờ đút cho gấu/búp bê.' }, { id: 5, sub: 'cog', refAge: 30, name: 'COG-5 (Mốc 25–33 tháng): Ghép tranh cắt đôi, phân loại màu sắc & Hiểu khái niệm "Một" và "Nhiều"', desc: 'Ghép khớp bức tranh cắt rời và phân biệt đúng khái niệm kích thước To – Nhỏ.' }, { id: 6, sub: 'cog', refAge: 40, name: 'COG-6 (Mốc 34–42 tháng): Đếm tương ứng số lượng đến 5, phân loại đa tiêu chí & Hoàn thành quy luật hình học', desc: 'Đếm lấy đúng số khối gỗ, nhớ vị trí đồ vật ẩn và giải quyết bài toán không gian trên bộ test Bayley.' }, // 2A. NGÔN NGỮ TIẾP NHẬN (RECEPTIVE COMMUNICATION • 6 bậc) { id: 7, sub: 'rc', refAge: 4, name: 'RC-1 (Mốc 3–6 tháng): Bình tĩnh khi nghe giọng nói êm dịu và quay đầu phản ứng với âm thanh khác nhau', desc: 'Phân biệt âm thanh giọng người với tiếng động môi trường và chú ý nhìn miệng người nói.' }, { id: 8, sub: 'rc', refAge: 9, name: 'RC-2 (Mốc 7–11 tháng): Quay đầu ngay khi gọi tên, dừng tay khi nghe "Không" & Hiểu các từ quen thuộc', desc: 'Nhìn về phía quả bóng/bình sữa khi người khám hỏi "Bóng đâu?" và tham gia trò chơi vỗ tay/ú òa.' }, { id: 9, sub: 'rc', refAge: 15, name: 'RC-3 (Mốc 12–17 tháng): Chỉ đúng ít nhất 3 đồ vật thật & 3 bộ phận cơ thể khi được yêu cầu bằng lời', desc: 'Thực hiện đúng mệnh lệnh đơn 1 bước (VD: "Đưa cho cô chiếc thìa", "Chỉ mũi của con nào").' }, { id: 10, sub: 'rc', refAge: 22, name: 'RC-4 (Mốc 18–24 tháng): Chỉ đúng 6–8 bức tranh danh từ và 3–4 bức tranh hành động trong Sách tranh Bayley', desc: 'Nhận diện chính xác các đồ vật và động từ (đang ăn, đang ngủ, đang chạy, đang rửa tay) trên trang sách.' }, { id: 11, sub: 'rc', refAge: 30, name: 'RC-5 (Mốc 25–33 tháng): Hiểu đại từ nhân xưng (Của con, Của cô, Anh ấy) & Giới từ (Trong, Trên, Dưới)', desc: 'Thực hiện đúng yêu cầu đặt đồ vật theo vị trí không gian và hiểu công dụng của đồ vật.' }, { id: 12, sub: 'rc', refAge: 40, name: 'RC-6 (Mốc 34–42 tháng): Hiểu câu phủ định, thì quá khứ/tương lai, khái niệm số nhiều và mệnh lệnh 2–3 bước', desc: 'Hiểu các cấu trúc ngữ pháp phức tạp và phân loại nhóm sự vật khi nghe câu hỏi.' }, // 2B. NGÔN NGỮ DIỄN ĐẠT (EXPRESSIVE COMMUNICATION • 6 bậc) { id: 13, sub: 'ec', refAge: 4, name: 'EC-1 (Mốc 3–6 tháng): Mỉm cười phát âm gù gù (cooing) đáp lại người khám và thay đổi âm thanh theo cảm xúc', desc: 'Phát ra ít nhất 2 nguyên âm khác nhau và dùng âm thanh để thu hút sự chú ý.' }, { id: 14, sub: 'ec', refAge: 9, name: 'EC-2 (Mốc 7–11 tháng): Bập bẹ chuỗi phụ âm – nguyên âm (ba-ba, ma-ma) và dùng cử chỉ chỉ trỏ/vẫy tay', desc: 'Tham gia luân phiên phát âm qua lại và chủ động chỉ ngón trỏ vào thứ mình muốn.' }, { id: 15, sub: 'ec', refAge: 15, name: 'EC-3 (Mốc 12–17 tháng): Nói chủ động từ 2 đến 8 từ đơn có nghĩa đúng ngữ cảnh', desc: 'Dùng từ đơn kết hợp ánh mắt để yêu cầu đồ vật hoặc gọi tên đồ chơi quen thuộc.' }, { id: 16, sub: 'ec', refAge: 22, name: 'EC-4 (Mốc 18–24 tháng): Gọi tên đúng ít nhất 5 bức tranh trong sách Bayley và nói cụm từ 2 từ', desc: 'Kết hợp 2 từ tạo thành cụm từ có nghĩa ("Mẹ bế", "Mở hộp", "Xe chạy").' }, { id: 17, sub: 'ec', refAge: 30, name: 'EC-5 (Mốc 25–33 tháng): Đặt câu 3–4 từ, dùng đại từ xưng hô "Con" và trả lời câu hỏi "Cái gì / Làm gì?"', desc: 'Mô tả hành động trong bức tranh bằng cụm Chủ ngữ + Vị ngữ rõ ràng.' }, { id: 18, sub: 'ec', refAge: 40, name: 'EC-6 (Mốc 34–42 tháng): Nói câu phức hoàn chỉnh, đặt câu hỏi "Tại sao/Ở đâu?" và kể lại sự việc theo tranh', desc: 'Sử dụng đúng các từ chỉ thời gian, giới từ và duy trì hội thoại nhiều lượt.' }, // 3A. VẬN ĐỘNG TINH (FINE MOTOR • 6 bậc) { id: 19, sub: 'fm', refAge: 4, name: 'FM-1 (Mốc 3–6 tháng): Mắt dõi theo vòng tròn 180 độ, mở bàn tay chủ động nắm khối gỗ và đưa về đường giữa', desc: 'Phối hợp mắt – tay bước đầu khi vươn tới đồ vật.' }, { id: 20, sub: 'fm', refAge: 9, name: 'FM-2 (Mốc 7–11 tháng): Chuyển khối gỗ qua lại hai tay và nhặt viên thức ăn nhỏ bằng ngón cái – ngón trỏ (Pincer)', desc: 'Cầm kẹp chính xác vật nhỏ bằng đầu ngón cái và ngón trỏ không cần tỳ cả lòng bàn tay.' }, { id: 21, sub: 'fm', refAge: 15, name: 'FM-3 (Mốc 12–17 tháng): Xếp chồng tháp 2–3 khối gỗ, thả hạt nhỏ vào lọ cổ hẹp và cầm bút vạch nét tự phát', desc: 'Kiểm soát cổ tay để đặt khối gỗ cân bằng và cầm bút sáp tô lên giấy.' }, { id: 22, sub: 'fm', refAge: 22, name: 'FM-4 (Mốc 18–24 tháng): Xếp chồng tháp 6 khối gỗ, lật từng trang sách mỏng và bắt chước vạch nét dọc/ngang', desc: 'Tách ngón tay khéo léo lật từng tờ giấy và vẽ nét thẳng theo mẫu.' }, { id: 23, sub: 'fm', refAge: 30, name: 'FM-5 (Mốc 25–33 tháng): Xếp tháp 8–9 khối gỗ, xâu chuỗi hạt vuông vào dây và dùng kéo bấm cắt giấy', desc: 'Phối hợp hai tay đồng bộ: một tay giữ giấy/dây, một tay thao tác kéo/hạt.' }, { id: 24, sub: 'fm', refAge: 40, name: 'FM-6 (Mốc 34–42 tháng): Cầm bút 3 ngón vẽ hình tròn, chữ thập (+), cắt giấy theo đường kẻ và cài cúc áo', desc: 'Sao chép đúng các hình học cơ bản và điều khiển lực ngón tay tinh tế.' }, // 3B. VẬN ĐỘNG THÔ (GROSS MOTOR • 6 bậc) { id: 25, sub: 'gm', refAge: 4, name: 'GM-1 (Mốc 3–6 tháng): Giữ đầu vững vàng 90 độ, chống hai cẳng tay nâng ngực khi nằm sấp và lẫy lật người', desc: 'Kiểm soát trục cổ – thân trên vững và tự lẫy từ sấp sang ngửa / ngửa sang sấp.' }, { id: 26, sub: 'gm', refAge: 9, name: 'GM-2 (Mốc 7–11 tháng): Tự ngồi vững độc lập không cần đỡ, bò phối hợp tay – gối và vịn thành ghế đứng dậy', desc: 'Chuyển tư thế linh hoạt từ ngồi sang bò và lần bước đi men theo đồ đạc.' }, { id: 27, sub: 'gm', refAge: 15, name: 'GM-3 (Mốc 12–17 tháng): Tự đứng dậy giữa sàn và bước đi độc lập vững vàng không cần vịn', desc: 'Đi độc lập khắp phòng, cúi nhặt đồ chơi rồi đứng lên không mất thăng bằng.' }, { id: 28, sub: 'gm', refAge: 22, name: 'GM-4 (Mốc 18–24 tháng): Chạy phối hợp tốt, đá bóng về phía trước và bước lên xuống cầu thang có vịn (dồn chân)', desc: 'Đi lùi, chạy không ngã và tự bước lên bậc cầu thang.' }, { id: 29, sub: 'gm', refAge: 30, name: 'GM-5 (Mốc 25–33 tháng): Nhảy tại chỗ hai chân rời mặt sàn, nhảy từ bậc thấp xuống đất và đi kiễng gót', desc: 'Bật nhảy bằng hai chân cùng lúc và bước lên cầu thang luân phiên chân có vịn nhẹ.' }, { id: 30, sub: 'gm', refAge: 40, name: 'GM-6 (Mốc 34–42 tháng): Đứng một chân giữ thăng bằng 3–5 giây, nhảy xa qua vạch và lên cầu thang luân phiên không vịn', desc: 'Kiểm soát thăng bằng động và tĩnh ở mức độ hoàn thiện của lứa tuổi mầm non.' }, // 4. CẢM XÚC – XÃ HỘI (SOCIAL-EMOTIONAL • Greenspan 6 mốc giai đoạn) { id: 31, sub: 'se', refAge: 4, name: 'SE-1 (Giai đoạn 1 • 0–3m): Tự điều hòa cảm giác & Chú ý quan tâm đến thế giới xung quanh', desc: 'Trẻ dễ dàng bình tĩnh lại khi được bố mẹ ôm ấp/trò chuyện và thích thú nhìn mặt, nghe giọng người thân.' }, { id: 32, sub: 'se', refAge: 8, name: 'SE-2 (Giai đoạn 2 • 4–8m): Gắn kết tình cảm ấm áp & Mỉm cười tương tác với người chăm sóc', desc: 'Trẻ thể hiện niềm vui rạng rỡ, giao tiếp mắt ấm áp và hưởng ứng khi bố mẹ đùa giỡn.' }, { id: 33, sub: 'se', refAge: 14, name: 'SE-3 (Giai đoạn 3 • 9–14m): Giao tiếp hai chiều có mục đích bằng ánh mắt, nét mặt và cử chỉ', desc: 'Trẻ chủ động khởi xướng và đáp lại các vòng giao tiếp qua lại (khoe đồ, chỉ tay, cười đáp trả).' }, { id: 34, sub: 'se', refAge: 20, name: 'SE-4 (Giai đoạn 4 • 15–20m): Giải quyết vấn đề xã hội phức hợp & Chia sẻ sự chú ý chung', desc: 'Trẻ biết dẫn bố mẹ đi lấy thứ mình cần kết hợp nhìn mắt, ra hiệu và phối hợp nhiều cử chỉ liên tiếp.' }, { id: 35, sub: 'se', refAge: 28, name: 'SE-5 (Giai đoạn 5 • 21–30m): Sử dụng ý tưởng biểu tượng cảm xúc & Chơi đóng vai giả vờ có cảm xúc', desc: 'Trẻ dùng lời nói/hành động giả vờ để thể hiện các chủ đề tình cảm (vỗ về búp bê khóc, nấu ăn mời mẹ).' }, { id: 36, sub: 'se', refAge: 38, name: 'SE-6 (Giai đoạn 6 • 31–42m): Kết nối tư duy cảm xúc logic (Hiểu nguyên nhân – hệ quả cảm xúc)', desc: 'Trẻ trả lời được "Tại sao con buồn/vui?", biết thương lượng với bạn và điều tiết cơn giận bằng lời.' }, // 5. HÀNH VI THÍCH ỨNG (ADAPTIVE BEHAVIOR - ABAS-II • 6 nhóm chức năng cốt lõi) { id: 37, sub: 'ab', refAge: 6, name: 'AB-1 (Giao tiếp & Xã hội cơ bản): Biểu đạt nhu cầu rõ ràng, chào hỏi và quan tâm đến người xung quanh', desc: 'Trẻ biết ra hiệu/nói khi cần giúp, mỉm cười chào người quen và chú ý đến các bạn nhỏ khác.' }, { id: 38, sub: 'ab', refAge: 12, name: 'AB-2 (Tự phục vụ Ăn uống): Tự cầm bình/cốc uống nước và tự dùng tay/thìa xúc thức ăn', desc: 'Trẻ hợp tác ngồi ăn tại bàn, tự cầm cốc uống và tự xúc ăn theo lứa tuổi.' }, { id: 39, sub: 'ab', refAge: 18, name: 'AB-3 (Vận động & Khám phá an toàn): Di chuyển vững vàng trong nhà/sân chơi và tránh vật cản', desc: 'Trẻ tự đi lại lấy đồ dùng và dừng lại khi người lớn cảnh báo nguy hiểm (nóng, điện, độ cao).' }, { id: 40, sub: 'ab', refAge: 24, name: 'AB-4 (Vệ sinh & Mặc đồ cơ bản): Tự cởi giày tất, quần thun, biết rửa tay và báo khi tã bẩn/mắc vệ sinh', desc: 'Trẻ phối hợp đưa tay chân khi mặc áo và bắt đầu biết báo hiệu nhu cầu đi vệ sinh.' }, { id: 41, sub: 'ab', refAge: 32, name: 'AB-5 (Tự định hướng & Giải trí): Tự chơi đồ chơi đúng cách trong 10–15 phút và biết làm việc nhà nhỏ', desc: 'Trẻ tự chọn đồ chơi, chơi có mục đích và biết tự cất đồ chơi vào giỏ khi được nhắc.' }, { id: 42, sub: 'ab', refAge: 40, name: 'AB-6 (Thích ứng Cộng đồng & Bạn bè): Đi vệ sinh độc lập, tự mặc quần áo và biết chờ lượt khi chơi với bạn', desc: 'Trẻ tuân thủ quy tắc nơi công cộng/lớp mầm non và hòa đồng khi chơi chung với bạn.' } ]; // answers[id] lưu: 2 (Đạt hoàn toàn / Thường xuyên), 1 (Đang hình thành / Đôi khi), 0 (Chưa đạt / Không có) let answers = {}; let childAgeMonths = 24; let prematureWeeks = 0; let filterSub = 'all'; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .by-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .by-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .by-inner { padding: 24px; max-width: 980px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .by-wrap.is-fullscreen .by-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .by-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 0 rgba(37, 99, 235, 0.4); } 70% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 10px rgba(37, 99, 235, 0); } 100% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 0 rgba(37, 99, 235, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #1d4ed8 0%, #2563eb 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Header */ .by-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .by-header-text { flex: 1 1 260px; } .by-title { font-size: 21px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .by-desc { font-size: 14px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #eff6ff; color: #1d4ed8; border: 1px solid #bfdbfe; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #2563eb; color: #ffffff; border-color: #2563eb; } /* Controls */ .by-top-panel { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; background: #f8fafc; border: 1px solid #cbd5e1; border-radius: 12px; padding: 14px; margin-bottom: 14px; } .by-ctrl-lbl { font-size: 12px; font-weight: 800; color: #0f172a; text-transform: uppercase; margin-bottom: 6px; display: block; } .by-select { padding: 8px 10px; border: 1px solid #94a3b8; border-radius: 7px; font-size: 13.5px; font-weight: 700; color: #0f172a; background: #ffffff; width: 100%; } .by-presets { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; margin-bottom: 14px; } .by-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; touch-action: manipulation; } .by-pbtn:hover { background: #f1f5f9; } .by-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } .by-sub-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 16px; } .by-stab { padding: 6px 11px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .by-stab.active { background: #2563eb; color: #ffffff; border-color: #2563eb; } /* Sticky Dashboard: 5 Điểm Composite (Mean = 100, SD = 15) */ .by-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .by-wrap.is-fullscreen .by-dash { top: 58px; } .by-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .by-score-big { font-size: 20px; font-weight: 800; line-height: 1.2; } .by-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .by-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .by-pillars { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; font-size: 11.5px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .by-pillar-box { background: #1e293b; padding: 7px 9px; border-radius: 8px; border-left: 3px solid #475569; } .by-pillar-box.norm { border-left-color: #10b981; } .by-pillar-box.mild { border-left-color: #f59e0b; background: rgba(245, 158, 11, 0.14); } .by-pillar-box.sev { border-left-color: #ef4444; background: rgba(239, 68, 68, 0.15); } .by-pillar-val { font-weight: 800; color: #ffffff; font-size: 13.5px; display: block; margin-top: 2px; } /* Danh sách mục */ .by-item { border: 1px solid #e2e8f0; border-radius: 10px; padding: 14px 16px; margin-bottom: 10px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 8px; } .by-item.pass-item { border-color: #a7f3d0; background: #f0fdf4; } .by-item.emerge-item { border-color: #fde68a; background: #fffbeb; } .by-item.fail-item { border-color: #fca5a5; background: #fff5f5; } .by-item-title { font-size: 14.5px; font-weight: 700; color: #0f172a; } .by-item-desc { font-size: 13.2px; color: #475569; } .by-tags { display: flex; flex-wrap: wrap; gap: 6px; } .by-tag { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .by-ans-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; } .by-abtn { padding: 8px 6px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 700; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .by-abtn:hover { border-color: #64748b; } .by-abtn.sel-2 { background: #10b981; border-color: #10b981; color: #ffffff; } .by-abtn.sel-1 { background: #f59e0b; border-color: #f59e0b; color: #ffffff; } .by-abtn.sel-0 { background: #ef4444; border-color: #ef4444; color: #ffffff; } /* Bảng tổng hợp Scaled Score (1-19) & Composite Score (40-160) */ .by-table-card { margin-top: 20px; padding: 16px 18px; border-radius: 12px; background: #ffffff; border: 1px solid #e2e8f0; overflow-x: auto; } .by-table { width: 100%; border-collapse: collapse; font-size: 13px; min-width: 620px; } .by-table th, .by-table td { border: 1px solid #cbd5e1; padding: 8px 10px; text-align: center; } .by-table th { background: #f1f5f9; font-weight: 700; color: #0f172a; } .by-result-box { margin-top: 16px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #2563eb; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 740px) { .by-inner { padding: 14px; } .by-title { font-size: 18px; } .by-top-panel { grid-template-columns: 1fr; } .by-pillars { grid-template-columns: 1fr 1fr; } .by-ans-grid { grid-template-columns: 1fr; } .by-pbtn.reset { margin-left: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
Thang Đánh Giá Phát Triển Trẻ Nhũ Nhi & Trẻ Nhỏ Bayley-III (5 Lĩnh Vực • 1 – 42 Tháng)
Công cụ tiêu chuẩn vàng của Nancy Bayley (2006) đánh giá định lượng 5 Lĩnh vực: Nhận thức, Ngôn ngữ (Tiếp nhận & Diễn đạt), Vận động (Tinh & Thô), Cảm xúc – Xã hội và Hành vi Thích ứng. Hệ thống tự động quy đổi ra Điểm chuẩn Tiểu thang (Scaled Score: 1–19, TB = 10) và Điểm Tổng hợp (Composite Score: 40–160, TB = 100, SD = 15).
| Lĩnh vực / Tiểu thang đo Bayley-III | Tuổi phát triển ước tính (DA) | Điểm Chuẩn Tiểu Thang (Scaled Score: 1–19) | Điểm Tổng Hợp Lĩnh Vực (Composite: 40–160) | Bách phân vị (Percentile) | Phân loại chuẩn lâm sàng |
|---|
• 1. Phân tích Độ lệch Nhận thức – Ngôn ngữ (Discrepancy Analysis): Nhận thức đạt ${compCOG} điểm trong khi Ngôn ngữ đạt ${compLAN} điểm (Chênh lệch: ${cogLanGap} điểm) và Cảm xúc – Xã hội đạt ${compSE} điểm. ${cogLanGap >= 15 || compSE < 80 ? '
👉 Cảnh báo kiểu hình phân tách (ASD Red Flag): Trẻ có năng lực giải quyết vấn đề phi ngôn ngữ (Nhận thức & Vận động) tốt hơn hẳn so với Ngôn ngữ và Cảm xúc – Xã hội. Đây là dấu hiệu đặc trưng cần kết hợp sàng lọc/chẩn đoán Rối loạn phổ tự kỷ bằng STAT / ADOS-2 (Module T/1).' : ''}
• 2. Tiêu chuẩn Can thiệp Sớm: Theo tiêu chuẩn quốc tế, bất kỳ lĩnh vực nào trên Bayley-III có Composite Score < 70 (dưới -2 SD) hoặc có ≥ 2 lĩnh vực dưới 85 (dưới -1 SD) đều đủ điều kiện y khoa để bắt đầu chương trình Can thiệp sớm cá nhân hóa ngay lập tức. `; updateFloatingFabVisibility(); } function applyPreset(type) { const adjAge = getAdjustedAge(); answers = {}; if (type === 'reset') { items.forEach(it => { answers[it.id] = 0; }); renderItems(); updateSummary(); return; } if (type === 'typical') { // Đạt tất cả các mục { if (it.refAge <= adjAge) answers[it.id] = 2; else if (it.refAge { if (it.sub === 'cog' || it.sub === 'fm' || it.sub === 'gm') { answers[it.id] = (it.refAge <= adjAge) ? 2 : 0; } else { if (it.refAge <= adjAge - 12) answers[it.id] = 2; else if (it.refAge { if (it.refAge <= Math.max(4, adjAge * 0.5)) answers[it.id] = 2; else if (it.refAge <= Math.max(8, adjAge * 0.65)) answers[it.id] = 1; else answers[it.id] = 0; }); } renderItems(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); byWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { byWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 980px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } selChildAge.onchange = () => { applyPreset('asd_risk'); }; selPremature.onchange = () => { renderItems(); updateSummary(); }; shadow.querySelectorAll('.by-pbtn').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-preset')); }; }); shadow.querySelectorAll('#subTabs .by-stab').forEach(function(tab) { tab.onclick = function() { filterSub = this.getAttribute('data-sub'); shadow.querySelectorAll('#subTabs .by-stab').forEach(t => t.classList.remove('active')); this.classList.add('active'); renderItems(); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); applyPreset('asd_risk'); })();
Bayley-III (Bayley Scales of Infant and Toddler Development, Third Edition — Thang đánh giá sự phát triển của trẻ nhũ nhi và trẻ nhỏ Bayley, Phiên bản 3) được y khoa thế giới mệnh danh là “Tiêu chuẩn vàng” (Gold Standard) toàn diện nhất để đánh giá định lượng sự phát triển của trẻ nhỏ trong giai đoạn đầu đời. Công cụ được phát triển bởi Giáo sư Nancy Bayley (phiên bản 3 xuất bản năm 2006 bởi Pearson).
Nếu như Denver II hay ASQ-3 chỉ là công cụ Sàng lọc (Screening) để phát hiện nguy cơ chậm phát triển, thì Bayley-III là công cụ ĐÁNH GIÁ CHẨN ĐOÁN CHUYÊN SÂU (Diagnostic Assessment): cung cấp các chỉ số chuẩn hóa chính xác như một bài kiểm tra IQ đầu đời để xác định mức độ chậm phát triển và đủ điều kiện nhận can thiệp sớm.
1. Tóm tắt cốt lõi về cấu trúc & Hệ thống tính điểm của Bayley-III
-
Độ tuổi áp dụng: Trẻ từ 1 tháng đến 42 tháng tuổi (3.5 tuổi).
-
Cấu trúc 5 Lĩnh vực (3 Lĩnh vực Tương tác trực tiếp + 2 Bảng hỏi Phụ huynh):
| Lĩnh vực chính (Scales) | Các Tiểu thang đo (Subtests) | Hình thức đánh giá & Nội dung cốt lõi |
| 1. Nhận thức(Cognitive Scale) | 1 tiểu thang duy nhất (91 mục) | Khám trực tiếp trẻ: Đánh giá khám phá giác quan – vận động, hằng định đối tượng, giải quyết vấn đề, ghép hình, phân loại, khái niệm số lượng và chơi giả vờ (không phụ thuộc ngôn ngữ nói). |
| 2. Ngôn ngữ(Language Scale) |
• Ngôn ngữ Tiếp nhận (Receptive – 49 mục)
• Ngôn ngữ Diễn đạt (Expressive – 48 mục) |
Khám trực tiếp trẻ:
• Tiếp nhận: Nghe hiểu từ vựng, chỉ tranh, làm theo mệnh lệnh, hiểu giới từ/ngữ pháp.
• Diễn đạt: Phát âm tiền ngôn ngữ, cử chỉ, gọi tên đồ vật/tranh ảnh, nói cụm từ và câu phức. |
| 3. Vận động(Motor Scale) |
• Vận động Tinh(Fine Motor – 66 mục)
• Vận động Thô(Gross Motor – 72 mục) |
Khám trực tiếp trẻ:
• Vận động Tinh: Dõi mắt, cầm nắm kẹp chì, xếp khối gỗ, lật trang sách, vẽ nét và cắt kéo.
• Vận động Thô: Kiểm soát đầu cổ, lẫy, ngồi, bò, đứng, đi, chạy, nhảy, leo cầu thang, đá/bắt bóng. |
| 4. Cảm xúc – Xã hội(Social-Emotional) | Thang Greenspantheo 6 mốc giai đoạn phát triển cảm xúc | Phụ huynh trả lời (Chấm tần suất 0 – 5): Tự điều hòa cảm xúc, gắn kết với người chăm sóc, giao tiếp hai chiều có mục đích và tư duy biểu tượng cảm xúc. |
| 5. Hành vi Thích ứng(Adaptive Behavior) | 10 khu vực kỹ năng (Dựa trên hệ thống ABAS-II) | Phụ huynh trả lời (Chấm mức độ độc lập 0 – 3): Giao tiếp, Tự chăm sóc, Tự định hướng, Sức khỏe & An toàn, Giải trí, Xã hội, Sinh hoạt tại nhà/cộng đồng, Vận động. |
2. Quy tắc Quy đổi Điểm Chuẩn Hóa của Bayley-III (Scaled Score & Composite Score)
Đây là phần làm nên giá trị khoa học vượt trội của Bayley-III:
-
Điểm Chuẩn Tiểu Thang (Scaled Score — từ 1 đến 19 điểm):
-
Trung bình dân số chuẩn = 10 điểm, Độ lệch chuẩn (SD) = 3 điểm.
-
Khoảng bình thường (±1 SD): Từ 7 đến 13 điểm. Dưới 7 điểm () là bắt đầu suy giảm.
-
-
Điểm Tổng Hợp Lĩnh Vực (Composite Score — từ 40 đến 160 điểm):
-
Trung bình dân số chuẩn = 100 điểm, Độ lệch chuẩn (SD) = 15 điểm (tương tự thang điểm IQ hoặc Vineland-3):
-
điểm ( trở lên): Phát triển trên mức trung bình / Vượt trội.
-
85 – 114 điểm (): Trong giới hạn Bình thường (Average).
-
70 – 84 điểm ( đến ): Chậm phát triển mức độ Nhẹ / Vùng Giáp ranh.
-
điểm (Dưới ): Chậm phát triển mức độ Trung bình – Nặng (Significant Delay) — Đủ tiêu chuẩn y khoa can thiệp sớm tích cực.
-
-
[Chỉ số báo cáo] Độ lệch chuẩn (SD) & Bách phân vị: Hướng dẫn đọc các chỉ số thống kê trong báo cáo đánh giá của trẻ
Độ lệch chuẩn (viết tắt là SD – Standard Deviation) là thước đo cho biết điểm số hoặc chỉ số của một cá nhân lệch đi bao xa so với mức trung bình của đám đông (quần thể chuẩn).
Trong các công cụ đánh giá tâm lý, y khoa (như bài test IQ, thang đo trầm cảm, lo âu, phát triển trẻ em hay bảng chiều cao/cân nặng của WHO), một con số điểm thô đứng một mình thường không có nhiều ý nghĩa. Các chuyên gia phải dùng đơn vị SD để trả lời câu hỏi quan trọng nhất: “So với những người cùng độ tuổi và hoàn cảnh, mức điểm này là bình thường hay bất thường?”
Nguyên lý hoạt động: “Đường cong hình chuông” và Quy tắc 68–95–99.7
Khi khảo sát một đặc điểm bất kỳ (như trí thông minh, mức độ chú ý, hoặc chiều cao) trên hàng ngàn người, kết quả thu được luôn tạo thành một Phân phối chuẩn (Normal Distribution) có hình dáng giống một chiếc chuông úp:
-
Điểm Trung bình (Mean – ký hiệu là hoặc , tương ứng mức ): Nằm ở đỉnh cao nhất ở chính giữa chiếc chuông. Đa số mọi người đều tập trung quanh mức này.
-
Độ lệch chuẩn (SD – ký hiệu là ): Là “bước nhảy” tính từ điểm trung bình sang hai bên sườn chuông.
-
Dấu cộng (): Cao hơn mức trung bình.
-
Dấu trừ (): Thấp hơn mức trung bình.
-
Theo quy luật thống kê trên đường cong hình chuông:
-
Từ −1 SD đến : Bao gồm khoảng 68% dân số (nhóm đa số, hoàn toàn bình thường).
-
Từ đến : Bao gồm khoảng 95% dân số.
-
Vượt quá (tức chỉ còn khoảng 5% ở hai đầu mút): Đây là vùng “hiếm gặp”. Trong y khoa và tâm lý học lâm sàng (kể cả DSM-5-TR và ICD-11), mốc đến thường được chọn làm ngưỡng cắt (cut-off) để xác định sự suy giảm chức năng hoặc tình trạng bệnh lý.
Cách đọc hiểu đơn vị SD trong các công cụ đánh giá
Tùy thuộc vào công cụ đang đo lường năng lực tích cực (như IQ, trí nhớ, chiều cao) hay đo lường triệu chứng bệnh lý(như mức độ lo âu, tăng động, trầm cảm), ý nghĩa của dấu và sẽ khác nhau:
| Khoảng SD | Tỷ lệ trong dân số | Nếu đo Năng lực / Phát triển (VD: Test IQ, ngôn ngữ, chiều cao) | Nếu đo Triệu chứng / Hành vi (VD: Thang đo trầm cảm, ADHD) |
| Trong khoảng đến | ~68% (Đại đa số) | Bình thường / Trung bình: Phát triển đúng chuẩn độ tuổi. | Bình thường: Không có biểu hiện rối loạn đáng kể. |
| Từ đến | ~18% (Khá phổ biến) | Cận biên (Borderline): Hơi thấp hoặc hơi nhỉnh hơn trung bình, cần theo dõi thêm. | Nguy cơ nhẹ / Cận lâm sàng: Có biểu hiện nhưng chưa đủ nặng để kết luận bệnh. |
| Từ đến | ~9% (Ít gặp) | Kém / Chậm phát triển mức nhẹ (nếu là ) hoặc Vượt trội (nếu là ). | Mức độ Trung bình (Lâm sàng):Bắt đầu gây suy giảm chức năng sinh hoạt. |
| Vượt quá hoặc | Chỉ ~5% (Rất hiếm – khoảng 2.3% mỗi đầu) | Rối loạn / Khuyết tật rõ rệt (nếu ) hoặc Thiên tài / Xuất sắc (nếu ). | Mức độ Nặng (nếu ): Triệu chứng vượt ngưỡng báo động, cần can thiệp chuyên khoa. |
Hai ví dụ thực tế dễ hình dung nhất
-
Trong bài kiểm tra Trí tuệ (Test IQ Wechsler – WISC/WAIS):
-
Điểm trung bình chuẩn của nhân loại được quy ước là M=100, và mỗi 1 SD=15.
-
Nếu một người có IQ từ 85 đến 115 (tức nằm trong khoảng đến ): Người đó có trí tuệ trung bình như 68% dân số.
-
Theo DSM-5-TR, một trong các tiêu chuẩn để chẩn đoán Khuyết tật trí tuệ (Intellectual Disability) là điểm IQ thấp hơn mức trung bình từ trở lên – tức là điểm (100−2×15=70).
-
-
Trong thang đo hành vi tâm lý (như thang Vanderbilt, Conners cho ADHD hoặc CBCL):
-
Kết quả thường được máy tính quy đổi ra Điểm T (T-score), trong đó mức trung bình của trẻ bình thường là , và 1 SD=10 điểm.
-
Nếu kết quả của trẻ báo điểm T là 65 (tức ) hoặc 70 (tức ), nghĩa là mức độ hiếu động/kém chú ý của trẻ đang cao hơn 95%–98% các bạn cùng trang lứa – đây là cơ sở định lượng để bác sĩ xem xét chẩn đoán.
-
Bạn có thể kéo thanh trượt trong mô hình tương tác dưới đây để xem điểm số của một cá nhân (hoặc hình dạng đường cong) thay đổi vị trí như thế nào theo từng mốc Độ lệch chuẩn ():
Mô phỏng Phân phối chuẩn & Quy đổi Độ lệch chuẩn (SD)
Kéo thanh trượt để quan sát vị trí điểm số trên đường cong hình chuông và bảng quy đổi lâm sàng
| Khoảng SD | Tỷ lệ dân số | Điểm IQ (TB=100) | Điểm T (TB=50) | Đo Năng lực (VD: IQ, Ngôn ngữ) | Đo Triệu chứng (VD: ADHD, Trầm cảm) |
|---|---|---|---|---|---|
| ≤ -2.0 SD | ~2.3% | ≤ 70 | ≤ 30 | Chậm phát triển / Khuyết tật rõ rệt | Thấp (Không có triệu chứng) |
| -2.0 đến -1.0 SD | ~13.6% | 71 – 84 | 31 – 39 | Cận biên / Thấp hơn trung bình | Bình thường |
| -1.0 đến +1.0 SD | ~68.2% | 85 – 115 | 40 – 60 | Bình thường / Trung bình | Bình thường |
| +1.0 đến +2.0 SD | ~13.6% | 116 – 129 | 61 – 69 | Trên trung bình / Khá giỏi | Nguy cơ / Cận lâm sàng (từ +1.5 SD) |
| ≥ +2.0 SD | ~2.3% | ≥ 130 | ≥ 70 | Rất vượt trội / Xuất sắc | Vượt ngưỡng lâm sàng (Mức độ nặng) |
Điểm mấu chốt cần nhớ: Khi đọc một bản kết quả đánh giá, bạn chỉ cần nhìn xem chỉ số SD có nằm trong vùng an toàn từ đến hay không. Nếu con số chạm hoặc vượt mốc đến , đó là tín hiệu cho thấy chỉ số này đang nằm ở rìa của tháp chuông và cần được chuyên gia lưu tâm.
Dậy bé hỏi câu “Cái này của ai?”
Để dạy câu hỏi “Cái này của ai?” (hoặc “Của ai đây ạ?”), trẻ cần bước đầu hiểu về khái niệm sở hữu (đồ vật gắn liền với một chủ nhân cụ thể).
Nguyên tắc cốt lõi để kích thích trẻ bật ra câu hỏi này là “Sự xuất hiện của đồ vật đặt nhầm chỗ” hoặc “Trò chơi phân phát đồ”. Nếu chỉ cầm một chiếc áo bất kỳ giơ lên hỏi, trẻ sẽ không có động lực quan tâm. Nhưng nếu trẻ thấy chiếc kính to đùng của bố lại nằm trong rổ đồ chơi của mình, hoặc trẻ được giao nhiệm vụ làm “người phát quà” cho cả nhà, trẻ sẽ có nhu cầu tìm chủ nhân thực sự của món đồ.
1. Điều kiện cần trước khi dạy
-
Bé đã nhận biết được tên các thành viên trong gia đình (Bố, Mẹ, Bà, anh/chị…) và biết chỉ vào bản thân mình.
-
Bé đã hiểu câu trả lời chỉ sự sở hữu đơn giản (Ví dụ: “Của bố”, “Của mẹ”, “Của con”).
-
(Mẹo rút gọn: Nếu câu “Cái này của ai ạ?” hơi dài, bạn có thể rút ngắn thành “Của ai đây?” hoặc “Của ai ạ?”, hoặc “[Tên đồ vật] của ai?” như “Giày của ai?”).
2. Quy trình 4 bước thực hiện (Tình huống: Chiếc giỏ phân loại đồ)
Chuẩn bị:
-
Ngồi chơi cùng 2–3 thành viên trong gia đình (ví dụ: Bố, Mẹ và Bé). (Nếu chỉ có 2 mẹ con, bạn có thể đặt thêm 1–2 bạn thú bông/búp bê ngồi bên cạnh hoặc dùng ảnh của Bố, Bà đặt trước mặt).
-
1 chiếc giỏ đựng các món đồ cá nhân đặc trưng, rõ ràng nhất của từng người: Kính mắt/đồng hồ của bố, kẹp tóc/túi xách của mẹ, và bình sữa/món đồ chơi yêu thích của bé.
Bước 1: Tạo tình huống cần tìm chủ nhân
-
Bạn lấy từ trong giỏ ra một món đồ của Bố (ví dụ: chiếc kính mắt to), cố tình ướm thử lên mặt bé (hoặc đặt vào lòng bé) làm chiếc kính bị rộng tuột xuống trông rất buồn cười.
-
Bạn tỏ vẻ ngạc nhiên, lắc đầu: “Ơ! Không vừa rồi! Cái kính to quá!”
Bước 2: Làm mẫu và Nhắc (Prompting) ngay khi bé bối rối
-
Ngay khi bé cầm chiếc kính nhìn ngắm hoặc đưa trả lại cho bạn, bạn chỉ ngón tay vào chiếc kính (hoặc cầm tay bé giơ chiếc kính lên) và nói mẫu thật rõ ràng, nhấn giọng ở cuối câu: “Cái này của ai?” (hoặc “Của ai đây ạ?”).
-
Chờ 2–3 giây để bé bắt chước nói theo.
Bước 3: Trả lời + Trao trả đồ để nhận tương tác vui (Củng cố)
-
Ngay khi bé phát âm câu hỏi, bạn chỉ ngay về phía Bố và trả lời hào hứng: “À! Của Bố đấy!”
-
Hướng dẫn bé mang chiếc kính đưa tận tay cho Bố đeo. Khi nhận kính, Bố lập tức khen ngợi, vỗ tay, thơm má hoặc cù lét bé. (Trẻ tự kỷ rất thích cảm giác hoàn thành nhiệm vụ — đặt đồ đúng chỗ và nhận được phản ứng tán thưởng mạnh mẽ từ người nhận).
Bước 4: Giảm dần sự trợ giúp (Fading) Lần lượt lấy các món đồ tiếp theo trong giỏ ra (kẹp tóc của mẹ, mũ của bé…):
-
Mức 1 (Nhắc toàn câu): Giơ món đồ lên và làm mẫu “Cái này của ai?” -> Bé nói theo.
-
Mức 2 (Nhắc từ đầu): Khi bé cầm món đồ lên, bạn chỉ vào món đồ và gợi ý khẩu hình “Cái này của…” -> Bé tự bật ra “…ai?”.
-
Mức 3 (Tự chủ động): Đưa cho bé lấy 1 món đồ trong giỏ, bạn nghiêng đầu, nhướng mày nhìn bé và nhìn sang mọi người xung quanh (im lặng chờ 3–5 giây) -> Bé tự giơ đồ lên hỏi “Cái này của ai?” trước khi mang đi phát.
3. Bốn tình huống thực tế giúp bé ứng dụng tự nhiên mỗi ngày
4. Hai lưu ý quan trọng khi dạy câu hỏi về sự sở hữu
-
Tránh nhầm lẫn đại từ (“Của con” và “Của mẹ”): Trẻ tự kỷ rất dễ nhại lời nguyên xi. Khi bé hỏi “Cái này của ai?”, nếu món đồ đó là của chính bé và bạn trả lời “Của con”, bé có thể hiểu nhầm chữ “con” dùng cho tất cả mọi thứ.
-
Cách khắc phục: Trong giai đoạn đầu, khi trả lời hãy dùng Tên riêng / Danh từ xưng hô cố định (Ví dụ: “Của Bố”, “Của Mẹ”, “Của Bi [tên bé]”) kèm theo hành động vỗ nhẹ vào ngực người đó. Khi bé đã phân biệt vững rồi mới đổi sang dạy đại từ “Của con / Của tớ”.
-
-
Đừng hỏi khi bé đang muốn chiếm hữu món đồ: Nếu bạn cầm một món đồ chơi mới tinh hoặc viên kẹo hấp dẫn rồi bắt bé hỏi “Cái này của ai?”, bé sẽ chỉ tập trung đòi lấy bằng được (“Của con! Cho con!”) mà không học được cách đặt câu hỏi. Hãy bắt đầu bằng những đồ dùng cá nhân quen thuộc của người lớn (kính, mũ, dép, cặp tóc, khẩu trang) để bé đóng vai “người giúp đỡ trả lại đồ” một cách vui vẻ.
Hệ thống 5 câu hỏi nền tảng cho bé (Từ dễ đến khó)
Vậy là bạn đã có trọn bộ 5 tình huống cốt lõi để phát triển tư duy đặt câu hỏi cho bé:
-
Cái gì đây ạ? (Khám phá tên đồ vật bị giấu)
-
Ai đây ạ? (Khám phá người/nhân vật đang trốn)
-
[Tên vật] ở đâu rồi ạ? (Tìm kiếm vật bị thiếu trong hoạt động)
-
Cái này của ai? (Xác định chủ nhân của đồ vật đặt nhầm chỗ)
-
Tại sao lại thế ạ? (Tìm nguyên nhân khi có sự cố bất thường)
Nguồn: Can thiệp thực chiến và hỗ trợ tổng hợp từ AI.
Phổ Tự Kỷ Là Gì?
Bài Viết
"Hiệu ứng sốt" (Fever effect) trong Rối loạn phổ tự kỷ
“Hiệu ứng sốt” (Fever effect) trong Rối loạn phổ tự kỷ (ASD – Autism Spectrum Disorder) là hiện tượng một bộ phận trẻ tự kỷ có sự thuyên giảm rõ rệt các triệu chứng cốt lõi khi cơ thể bị sốt (thường từ 38°C trở lên). Trẻ bất ngờ giao tiếp mắt sâu hơn, bật âm hoặc nói câu dài hơn, bình tĩnh, kết nối cảm xúc tốt hơn và giảm hẳn các hành vi định hình lặp đi lặp lại.
Ý nghĩa y học cốt lõi: Đối với cả giới khoa học lẫn các bậc phụ huynh, đây không chỉ là một hiện tượng sinh học kỳ lạ mà còn là bằng chứng sống động nhất cho thấy não bộ của trẻ tự kỷ không bị “tổn thương cấu trúc vĩnh viễn”. Các mạng lưới thần kinh đảm nhiệm ngôn ngữ và giao tiếp xã hội vẫn tồn tại nguyên vẹn trong não trẻ; chúng chỉ đang bị “kẹt” về mặt chức năng sinh hóa và hoàn toàn có thể vận hành trơn tru khi có một tác nhân mở khóa phù hợp.
Phần 1: Bức tranh Dịch tễ học – Hiệu ứng sốt phổ biến đến đâu và ai là người đáp ứng?
Lịch sử nghiên cứu hiệu ứng sốt trải qua hơn 40 năm, đi từ những ghi nhận truyền miệng đến các cuộc tranh luận dữ dội bằng dữ liệu lớn để trả lời câu hỏi: Bao nhiêu phần trăm trẻ tự kỷ thực sự có hiện tượng này?
- Giai đoạn ghi nhận sơ khai (1980–2012): Y văn thế giới lần đầu tiên ghi nhận chính thức hiện tượng này qua báo cáo của Sullivan (1980) và Cotterill (1985) khi chứng kiến trẻ tự kỷ trở nên hoạt ngôn và gắn kết lạ thường trong đợt sốt virus. Đến năm 2012, Fisch chứng minh hiệu ứng này còn xuất hiện ở cả trẻ mắc Hội chứng nhiễm sắc thể X dễ gãy (Fragile X syndrome).
- Nghiên cứu tiến cứu đầu tiên của Curran, Zimmerman và cộng sự (2007): Theo dõi 30 trẻ ASD trong cơn sốt ≥ 38°C và so sánh với 30 trẻ đối chứng. Kết quả gây tiếng vang lớn khi ghi nhận 83% (25/30) trẻ tự kỷ có cải thiện ít nhất một khía cạnh hành vi (giảm tăng động, giảm cáu kỉnh, giảm hành vi rập khuôn và tăng lời nói), nhưng các cải thiện này biến mất khi trẻ hạ sốt.
- Khảo sát dữ liệu lớn của UCSF – Grzadzinski, Catherine Lord và cộng sự (2018): Phân tích hồi cứu trên 2.152 trẻ tự kỷ từ kho dữ liệu di truyền Simons Simplex Collection cho thấy khoảng 17% (tương đương 1/6 số trẻ) có biểu hiện tốt lên khi sốt. Phân tích di truyền của UCSF chỉ ra nhóm này không có sự khác biệt về tỷ lệ đột biến gen mới (de novo mutations), nhưng về mặt lâm sàng, đây là những trẻ có năng lực nhận thức phi ngôn ngữ thấp hơn, ngôn ngữ hạn chế hơn và hành vi lặp lại nặng hơn.
- Cú “phản biện” bằng theo dõi thời gian thực của UCLA & UCSF – Byrne, Lord, Bishop và cộng sự (2022–2023): Nghi ngờ con số 17%–83% trước đó bị ảnh hưởng bởi sai số hồi tưởng (phụ huynh chỉ nhớ những lần hiếm hoi con ngoan đột xuất khi ốm), nhóm nghiên cứu theo dõi trực tiếp theo thời gian thực trên 141 trẻ ASD và 103 trẻ bình thường ngay lúc trẻ đang sốt. Kết quả cho thấy đại đa số trẻ tự kỷ cũng mệt mỏi, cáu gắt và thu mình hơn khi ốm giống như trẻ bình thường; chỉ có khoảng 2–6% (3/141 trẻ) thực sự cải thiện hành vi. Tuy nhiên, khi phân tích tiếp trên 3.687 gia đình, nhóm UCLA/UCSF khẳng định: Dù hiếm hơn suy nghĩ trước đây, hiệu ứng sốt là có thật 100% ở một “phân nhóm sinh học đặc thù” (neuroimmune subtype) – những trẻ có mẹ từng bị sốt/nhiễm trùng khi mang thai (MIA), gia đình có bệnh tự miễn, và bản thân trẻ hay bị rối loạn tiêu hóa, rối loạn giấc ngủ.
- Phát hiện mới nhất tại Bệnh viện Nhi Tây An, Trung Quốc – Chunyang Li và cộng sự (2026): Đánh giá mù đôi bằng thang đo ADOS-2 trên trẻ em tự kỷ Trung Quốc đã mang lại một phát hiện rất đáng khích lệ: Trong số những trẻ đáp ứng tích cực với sốt, có 76,92% chỉ cải thiện tạm thời, nhưng có tới 23,08% duy trì được các kỹ năng và sự tiến bộ hành vi ngay cả sau khi cơn sốt đã kết thúc.
Phần 2: Giải mã Cơ chế Sinh học – Điều gì thực sự diễn ra trong não trẻ khi sốt?
Khi một đứa trẻ bị sốt, có hai sự kiện diễn ra đồng thời: Hệ miễn dịch tiết ra các phân tử chống viêm và Nhiệt độ vật lý của cơ thể tăng lên. Giới khoa học hiện nay chia làm 3 nhánh nghiên cứu lớn giải thích cách hai yếu tố này “sửa lỗi” tạm thời cho não bộ tự kỷ:
1. Nhánh Miễn dịch – Thần kinh: Chìa khóa mang tên Cytokine IL-17A
- Đột phá từ MIT & Harvard (Reed, Gloria Choi, Jun Huh – Nature 2019, 2020): Thử nghiệm trên chuột tự kỷ cho thấy nếu chỉ làm tăng thân nhiệt đơn thuần ở nhóm chuột tự kỷ do miễn dịch thai kỳ (MIA) thì hành vi không đổi, nhưng khi gây sốt bằng phản ứng viêm (LPS), chuột lập tức khôi phục giao tiếp xã hội. Thủ phạm tạo nên phép màu này là phân tử miễn dịch Interleukin-17A (IL-17A). Khi sốt, tế bào miễn dịch tiết ra IL-17A đi qua hàng rào máu não, gắn thẳng vào các thụ thể tại vùng vỏ não cảm giác thân thể sơ cấp (S1DZ) – vùng não vốn bị kích thích quá mức ở trẻ tự kỷ. IL-17A đóng vai trò như một “chiếc phanh” làm dịu vùng S1DZ, trả lại sự cân bằng cho toàn bộ mạng lưới xã hội. Năm 2020, nhóm MIT chứng minh thêm: ở các dòng chuột tự kỷ do đột biến gen (Shank3, Cntnap2, Fmr1), cơ thể không tự tiết đủ IL-17A khi sốt, nhưng nếu đưa trực tiếp IL-17A vào não, triệu chứng tự kỷ của chúng cũng biến mất.
- Cơ chế Tiểu não từ Đại học Nam Kinh & ĐH Y Thủ Đô (Jun Yin, Chen Zhang et al., Molecular Psychiatry 6/2026): Mở rộng phát hiện của MIT, các nhà khoa học Trung Quốc phát hiện ngay tại tiểu não, các tế bào miễn dịch nội khu (Microglia) cũng tự tiết ra IL-17A tác động lên tế bào thần kinh Purkinje, giúp sửa chữa trực tiếp lỗi dẫn truyền khớp thần kinh và phục hồi hành vi xã hội.
2. Nhánh Nhiệt độ Vật lý & Kênh Ion: Khi sức nóng trực tiếp “hạ nhiệt” não bộ
Không phải mọi ca cải thiện đều nhờ hệ miễn dịch; nhiều dạng tự kỷ do gen lại đáp ứng trực tiếp với nhiệt độ vật lý:
- Cơ chế Kênh Kali trên gen Scn2a (Yiming Shen et al. – Viện Y tế Quốc gia Mỹ NIH, Molecular Psychiatry 7/2026): Ở mô hình tự kỷ mang đột biến gen Scn2a, các tế bào thần kinh vỏ não bị phóng điện hỗn loạn (excess spiking). Khi nhiệt độ não tăng lên mức sốt (38.5–39.5°C), sức nóng kích hoạt kênh cảm nhận nhiệt TRPV3 và mở kênh Kali, giúp dập tắt sự phóng điện quá mức và phục hồi hoàn toàn khả năng nhận thức, học tập mà không cần đến phản ứng nhiễm trùng.
- Cơ chế Phản ứng sốc nhiệt (HSPs) & Thụ thể AMPA trên gen IQSEC2 (Levy, Wagner et al. – Viện Technion Israel & UConn, 2021–2023): Nhiệt độ cao kích hoạt các Protein sốc nhiệt (Heat Shock Proteins) hoạt động như những “người thợ bảo trì” tế bào, làm giảm 50–60% protein Arf6-GTP dư thừa và khôi phục các thụ thể AMPA (GluA2) tại khớp thần kinh đồi thị, giúp cắt cơn co giật và giúp trẻ bật âm giao tiếp.
- Thử nghiệm thủy trị liệu trên người (Hollander et al. – ĐH Y Albert Einstein, 2013–2015): Ngâm 15 trẻ tự kỷ trong bồn nước ấm để nâng thân nhiệt nhẹ tương đương sốt (lên tới 38.9°C) mà không có nhiễm trùng vẫn giúp trẻ tăng rõ rệt khả năng tương tác xã hội và giảm hành vi định hình.
3. Nhánh Dẫn truyền Thần kinh & Chuyển hóa Tế bào
- Hệ thống Nhân lục – Noradrenaline (LC-NA) (Mehler & Purpura, 2009): Cơn sốt kích thích nhân lục (Locus Coeruleus) ở thân não tiết ra Noradrenaline, giúp trẻ thoát khỏi trạng thái quá tải cảm giác, tăng sự tập trung và điều tiết cảm xúc.
- Đánh thức Hormone gắn kết Oxytocin (Catherine Dulac Lab – Đại học Harvard, 2022–2025): Vùng dưới đồi trước vừa là trung tâm gây sốt của cơ thể, vừa là nơi chứa các tế bào tiết Oxytocin (hormone tình yêu và gắn kết xã hội). Khi cơn sốt khởi phát tại vùng dưới đồi, nó vô tình kích hoạt lại các tế bào thần kinh Oxytocin đang bị suy giảm chức năng ở trẻ tự kỷ.
- Khởi động lại “Phản ứng Nguy hiểm Tế bào” – CDR (Naviaux et al. – UC San Diego, 2017): Tế bào của trẻ tự kỷ bị kẹt trong trạng thái phòng vệ mãn tính (CDR) làm gián đoạn giao tiếp giữa các tế bào. Cơn sốt cấp tính hoặc thuốc Suramin giúp thiết lập lại quá trình chuyển hóa purin của ty thể, đưa tế bào về trạng thái bình thường.
- Giảm độc tính Glutamate & Hệ Endocannabinoid (Good 2011; Kerr 2013; Singh & Zimmerman 2014): Sốt làm tăng lưu lượng máu não, giảm nồng độ chất kích thích Glutamate dư thừa, tăng tiết Anandamide (chất tạo cảm giác bình an nội sinh) và kích hoạt con đường chống oxy hóa Nrf2.
Bảng Tổng hợp Các Cột mốc Nghiên cứu Khoa học về Hiệu ứng Sốt ở Trẻ Tự kỷ
| Nhóm Nghiên cứu / Cơ quan | Năm | Hướng tiếp cận | Cơ chế / Kết quả cốt lõi được chứng minh |
|---|---|---|---|
| Curran, Zimmerman et al. | 2007 | Lâm sàng tiến cứu | 83% (25/30) trẻ cải thiện hành vi khi sốt ≥ 38°C. |
| Mehler & Purpura | 2009 | Giải phẫu thần kinh | Sốt kích hoạt hệ thống Locus Coeruleus – Noradrenaline tái cân bằng mạng lưới não. |
| Singh, Zimmerman (Johns Hopkins) | 2014 | Thử nghiệm lâm sàng | Dùng Sulforaphane (bông cải xanh) giả lập phản ứng sốc nhiệt, cải thiện 34% hành vi bất thường. |
| Hollander et al. (Albert Einstein) | 2015 | Thử nghiệm lâm sàng | Ngâm nước ấm nâng thân nhiệt vật lý giúp giảm hành vi lặp lại, tăng giao tiếp. |
| Naviaux et al. (UC San Diego) | 2017 | Chuyển hóa tế bào | Thử nghiệm thuốc Suramin gỡ bỏ trạng thái “Phản ứng nguy hiểm tế bào” (CDR). |
| Grzadzinski, Lord et al. (UCSF) | 2018 | Dịch tễ & Di truyền | 17% trên 2.152 trẻ đáp ứng sốt; thường là trẻ có nhận thức phi ngôn ngữ thấp và hành vi nặng. |
| Reed, Choi, Huh (MIT & Harvard) | 2019, 2020 | Miễn dịch thần kinh | Phân tử miễn dịch IL-17A gắn vào vỏ não S1DZ giúp phục hồi giao tiếp ở chuột MIA và đột biến gen. |
| Byrne, Lord, Bishop (UCLA & UCSF) | 2022, 2023 | Theo dõi thời gian thực | Tỷ lệ thực tế không bị nhiễu trí nhớ là 2–6%, định hình phân nhóm “tự kỷ miễn dịch – thần kinh”. |
| Levy, Wagner et al. (Technion) | 2021–2023 | Gen & Liệu pháp nhiệt | Nhiệt độ cao làm giảm Arf6-GTP, phục hồi thụ thể AMPA trên mô hình đột biến gen IQSEC2. |
| Catherine Dulac Lab (Harvard) | 2022–2025 | Mạch thần kinh | Trung tâm gây sốt ở vùng dưới đồi kích hoạt lại mạng lưới tiết Oxytocin xã hội. |
| Chunyang Li et al. (BV Nhi Tây An) | 2026 | Lâm sàng mù đôi | 23,08% trẻ có hiệu ứng sốt giữ được đà tiến bộ hành vi ngay cả sau khi đã hết sốt. |
| Jun Yin et al. (ĐH Nam Kinh) | 2026 | Sinh học phân tử | Tế bào Microglia ở tiểu não tiết IL-17A tác động lên tế bào Purkinje giúp phục hồi hành vi xã hội. |
| Yiming Shen et al. (NIH – Mỹ) | 2026 | Điện sinh lý thần kinh | Nhiệt độ sốt kích hoạt kênh Kali & TRPV3, dập tắt phóng điện quá mức ở mô hình gen Scn2a. |
Phần 3: Giải pháp Thực tiễn và Chiến lược An toàn cho Cha mẹ có con Tự kỷ
Hiểu được cơ chế của hiệu ứng sốt mang lại cho cha mẹ một góc nhìn hoàn toàn mới để hỗ trợ con. Tuy nhiên, ranh giới giữa ứng dụng khoa học và sự nguy hiểm cho sức khỏe của trẻ rất mong manh, đòi hỏi cha mẹ phải tuân thủ các nguyên tắc y khoa nghiêm ngặt:
1. Nguyên tắc An toàn Tối thượng: Những điều TUYỆT ĐỐI KHÔNG LÀM
- Tuyệt đối không cố tình làm con bị ốm hoặc nhiễm trùng: Việc cho trẻ tiếp xúc với mầm bệnh để mong có “hiệu ứng sốt” là vô cùng nguy hiểm, có thể dẫn đến biến chứng viêm phổi, nhiễm trùng huyết hoặc thậm chí là hội chứng PANDAS/PANS (rối loạn thần kinh tự miễn sau nhiễm khuẩn làm triệu chứng tự kỷ và tic thần kinh nặng lên gấp bội).
- Không bỏ thuốc hạ sốt khi trẻ sốt cao hoặc có nguy cơ co giật: Khoảng 20–30% trẻ tự kỷ có sóng động kinh tiềm ẩn trên điện não đồ hoặc tiền sử co giật do sốt. Nếu trẻ sốt cao trên 38.5°C kèm theo mệt lả, đau đớn hoặc có tiền sử co giật, cha mẹ bắt buộc phải hạ sốt và chăm sóc y tế theo đúng chỉ định của bác sĩ nhi khoa.
2. Tạo “Nhật ký Theo dõi Sốt” để xác định Phân nhóm Sinh học của con
Cha mẹ hãy chuẩn bị một cuốn sổ hoặc ghi chú trên điện thoại để quan sát mỗi khi con vô tình bị sốt tự nhiên:
- Ghi chép chi tiết: Mức nhiệt độ (ví dụ: 38.2°C), nguyên nhân sốt (viêm họng, sốt virus, sau tiêm chủng), và những thay đổi cụ thể (con có nhìn mắt lâu hơn không, có gọi mẹ hay nói câu dài hơn không, có đỡ chạy nhảy quay tròn không, và trạng thái đó kéo dài bao lâu sau khi hạ sốt).
- Ý nghĩa chẩn đoán: Nếu con bạn thực sự nằm trong nhóm có cải thiện rõ rệt khi sốt, đây là một chỉ điểm sinh học (biomarker) vô giá. Hãy cung cấp thông tin này cho bác sĩ thần kinh hoặc chuyên gia y sinh đang theo dõi cho bé. Điều này báo hiệu bé có khả năng cao thuộc “phân nhóm tự kỷ miễn dịch – chuyển hóa” (thường đi kèm viêm ruột, dị ứng thực phẩm, rối loạn ty thể hoặc thiếu hụt folate não) và sẽ đáp ứng rất tốt với các can thiệp y sinh nhắm vào chống viêm và chống oxy hóa.
3. Nắm bắt “Cửa sổ Vàng” khi trẻ sốt nhẹ (Theo phát hiện của nghiên cứu Tây An 2026)
Nghiên cứu năm 2026 tại Bệnh viện Nhi Tây An chỉ ra rằng gần 1/4 số trẻ có thể giữ lại được các kỹ năng sau khi hết sốt. Khi trẻ chỉ hơi ấm người hoặc sốt nhẹ (37.8°C – 38.2°C), trẻ vẫn tỉnh táo, không đau đớn hay mệt lả và bắt đầu xuất hiện “hiệu ứng sốt” (mắt sáng, tập trung, thích tương tác):
- Tận dụng tương tác nhẹ nhàng tại chỗ: Khi các mạch thần kinh ở vùng vỏ não S1DZ và tiểu não đang tạm thời được “mở khóa”, trẻ tiếp thu ngôn ngữ và cảm xúc xã hội nhạy bén gấp nhiều lần ngày thường. Cha mẹ đừng ép trẻ học bàn giấy mệt mỏi, mà hãy trò chuyện thủ thỉ, đọc sách tranh, gọi tên cảm xúc, chơi các trò chơi luân phiên nhẹ nhàng trên giường để củng cố đường mòn thần kinh (neuroplasticity) ngay trong lúc não trẻ đang kết nối tốt nhất.
4. Áp dụng Liệu pháp Nhiệt ấm An toàn & Điều hòa Cảm giác tại nhà
Dựa trên thử nghiệm của Đại học Y Albert Einstein (Hollander et al.) và Viện Technion (Levy et al.) về tác động của nhiệt độ ấm lên kênh ion và hệ thống Oxytocin vùng dưới đồi:
- Tắm bồn nước ấm mỗi tối (Warm Hydrotherapy): Cho trẻ ngâm mình thư giãn trong bồn nước ấm ở mức nhiệt độ an toàn (khoảng 37.5°C – 38.5°C, tuyệt đối không dùng nước quá nóng gây bỏng hoặc sốc nhiệt) trong khoảng 15–20 phút trước khi đi ngủ hoặc trước giờ tương tác cùng bố mẹ.
- Lợi ích kép: Nước ấm vừa tạo áp lực sâu (deep pressure) lên hệ xúc giác giúp làm dịu vùng vỏ não cảm giác, vừa tăng nhẹ tuần hoàn máu ngoại vi, kích thích tiết Oxytocin tự nhiên, giảm nồng độ Glutamate gây căng thẳng và giúp trẻ đi vào giấc ngủ sâu hơn. Luôn cho trẻ uống đủ nước lọc hoặc điện giải trước và sau khi tắm ấm.
5. Can thiệp Dinh dưỡng – Sinh hóa mô phỏng “Phản ứng Sốc nhiệt” (Sulforaphane)
Đây là giải pháp có bằng chứng lâm sàng vững chắc nhất hiện nay mà phụ huynh có thể tham khảo ý kiến bác sĩ để áp dụng mà không cần trẻ phải chịu đựng cơn sốt:
- Cơ chế: Trong nghiên cứu nổi tiếng của Đại học Johns Hopkins và Harvard (Singh, Zimmerman et al., 2014 & 2021), hoạt chất Sulforaphane chiết xuất từ mầm bông cải xanh (Broccoli Sprout Extract) đã được chứng minh có khả năng bật công tắc Protein sốc nhiệt (HSPs) và kích hoạt con đường Nrf2 bảo vệ ty thể, giảm viêm thần kinh – mô phỏng lại chính xác những lợi ích sinh hóa của một cơn sốt ở cấp độ tế bào.
- Cách áp dụng thực tế: Cha mẹ có thể bổ sung thực phẩm giàu tiền chất sulforaphane (như mầm bông cải xanh tươi, súp lơ xanh hấp chín tới kết hợp một chút bột hạt cải bẹ/mù tạt để cung cấp enzyme myrosinase giúp chuyển hóa hoạt chất) vào thực đơn của trẻ, hoặc trao đổi với bác sĩ chuyên khoa để sử dụng các thực phẩm bảo vệ sức khỏe chứa chiết xuất Sulforaphane đã được chuẩn hóa liều lượng theo cân nặng của bé.
6. Chăm sóc Trục Ruột – Não – Miễn dịch và Giấc ngủ
Vì nhóm trẻ có hiệu ứng sốt gắn liền mật thiết với sự rối loạn hệ miễn dịch (IL-17A) và chuyển hóa năng lượng tế bào:
- Kiểm soát tình trạng viêm mạn tính từ đường ruột: Khoảng 70% tế bào miễn dịch (bao gồm cả các tế bào Th17 tiết ra IL-17A) nằm ở hệ bạch huyết đường ruột. Việc xử lý triệt để tình trạng táo bón, tiêu chảy, loạn khuẩn đường ruột thông qua chế độ ăn lành mạnh, hạn chế đường tinh luyện/thực phẩm chế biến sẵn và bổ sung lợi khuẩn (Probiotics), Omega-3 (EPA/DHA) sẽ giúp ổn định hệ trục miễn dịch – thần kinh từ gốc.
- Bảo vệ giấc ngủ và vận động thể chất: Các bài tập vận động thể chất vừa sức mỗi ngày (chạy bộ, bơi lội, nhảy bạt nhún) cũng là một cách tự nhiên và an toàn nhất để làm tăng nhẹ thân nhiệt sinh lý, kích thích nhân lục tiết Noradrenaline và thúc đẩy sản sinh yếu tố dinh dưỡng thần kinh (BDNF) giúp não bộ của trẻ phát triển bền vững mỗi ngày.
Dấu hiệu nhận biết trẻ tự kỷ
Trẻ mang hội chứng phổ tự kỷ có những dấu hiệu nào? Làm sao để nhận biết theo từng giai đoạn của trẻ từ 6 tháng đến 5 tuổi? Làm sao để phân biệt quyết định giữa tự kỷ với Tăng động giảm chú ý (ADHD) hay chậm nói thông thường? Bài viết dưới đây sẽ làm rõ những câu trả lời cho bố mẹ.
Rối loạn phổ tự kỷ (ASD) đi kèm chậm phát triển được đặc trưng bởi hai trụ cột cốt lõi theo tiêu chuẩn y khoa DSM-5: khiếm khuyết về giao tiếp – tương tác xã hội và các mẫu hành vi, sở thích rập khuôn, lặp đi lặp lại (kèm theo rối loạn xử lý giác quan). Điểm phân biệt quyết định giữa tự kỷ với Tăng động giảm chú ý (ADHD) hay chậm nói thông thường không nằm ở việc “trẻ nói được bao nhiêu từ” hay “nghịch ngợm mức nào”, mà nằm ở động cơ kết nối xã hội và khả năng chú ý chung (Joint Attention).
1. Dấu hiệu nhận biết theo từng mốc tuổi (Từ 6 tháng đến 5 tuổi)
Sự khác biệt của trẻ phổ tự kỷ kèm chậm phát triển thường bộc lộ qua sự thiếu hụt các kỹ năng tiền ngôn ngữ trước khi biểu hiện thành chậm nói.
Giai đoạn 6 – 12 tháng: Thiếu tương tác nền tảng
-
Giao tiếp mắt và biểu cảm: Ít hoặc không nhìn vào mắt người chăm sóc khi bú, khi được bế hoặc trò chuyện. Hiếm khi nở “nụ cười xã hội” (cười đáp lại khi người khác trêu đùa).
-
Phản ứng âm thanh: Không quay đầu khi được gọi tên (ở mốc 9–12 tháng), dù trẻ vẫn giật mình hoặc chạy ra xem khi nghe tiếng nhạc quảng cáo, tiếng mở gói bánh (thính lực hoàn toàn bình thường nhưng chọn lọc âm thanh).
-
Cử chỉ: Không biết vẫy tay chào, vỗ tay, hoặc giơ hai tay đòi bế. Không bập bẹ các âm đa dạng (ba-ba, ma-ma) mang tính chất gọi hỏi.
Giai đoạn 12 – 18 tháng: Đứt gãy “Chú ý chung” (Mốc sàng lọc vàng)
-
Không chỉ tay bằng ngón trỏ (Pointing): Ở tuổi này, trẻ bình thường biết dùng ngón trỏ chỉ vào đồ vật để xin(Imperative pointing) và quan trọng hơn là chỉ để khoe/chia sẻ sự thích thú (Declarative pointing) rồi quay lại nhìn mắt bố mẹ. Trẻ tự kỷ thường không chỉ ngón trỏ mà kéo tay người lớn đặt lên đồ vật như một công cụ để mở nắp hoặc lấy hộ.
-
Không bắt chước: Không bắt chước các hành động đơn giản như chải đầu, nghe điện thoại đồ chơi, hoặc làm theo khẩu hình.
-
Từ đơn: Chưa có từ đơn có nghĩa khi 16 tháng tuổi.
Giai đoạn 18 – 24 tháng: Hành vi rập khuôn & Chơi đơn độc
-
Thiếu chơi giả vờ (Pretend Play): Không biết chơi đóng vai (cho búp bê ăn, giả làm bác sĩ, nấu ăn). Thay vào đó, trẻ chơi đồ chơi theo cách phi chức năng: lật ngửa ô tô để quay bánh xe liên tục, xếp hàng dài đồ vật theo một đường thẳng cố định (ai làm lệch sẽ gào khóc dữ dội).
-
Thoái lui phát triển (Regression): Khoảng 25–30% trẻ tự kỷ từng nói được vài từ hoặc biết vẫy tay lúc 12–15 tháng nhưng đột ngột mất hẳn ngôn ngữ và thu mình lại trong giai đoạn 18–24 tháng.
-
Kích thích giác quan (Stimming): Đi nhón gót thường xuyên, vẫy tay trước mặt, xoay tròn người mà không chóng mặt, nhìn nghiêng (liếc mắt) vào các vật chuyển động hoặc khe sáng.
Giai đoạn 2 – 3 tuổi: Bất thường ngôn ngữ & Cảm xúc
-
Nhại lời (Echolalia): Trẻ có thể không nói hoặc nói được nhưng chỉ lặp lại nguyên văn câu hỏi của người lớn (Hỏi: “Con ăn cơm chưa?” – Đáp: “Con ăn cơm chưa?”) hoặc đọc thuộc lòng lời thoại tiếng Anh, bài hát trên tivi nhưng không dùng được ngôn ngữ để xin uống nước hay diễn đạt nhu cầu.
-
Khủng hoảng (Meltdown) khi thay đổi: Rất cứng nhắc với trình tự sinh hoạt (phải đi đúng một con đường về nhà, mặc đúng một chiếc áo, ăn đúng một loại thức ăn có kết cấu nhất định).
Giai đoạn 3 – 5 tuổi: Rào cản hòa nhập xã hội
-
Không kết bạn: Chơi cạnh các bạn nhưng không chơi cùng (không hiểu luật chơi luân phiên, không quan tâm cảm xúc vui buồn của người khác).
-
Ngôn ngữ thiếu ngữ cảnh: Nếu có ngôn ngữ, giọng nói thường đều đều như robot (thiếu ngữ điệu), sai đại từ nhân xưng (gọi bản thân là “bạn”, “con” theo cách người lớn gọi mình), hiểu mọi thứ theo nghĩa đen tuyệt đối.
2. Phân biệt rõ ràng: Tự kỷ (ASD) vs. Tăng động giảm chú ý (ADHD) vs. Chậm nói đơn thuần
Rất nhiều phụ huynh nhầm lẫn giữa các hội chứng này vì bên ngoài trẻ đều có biểu hiện “gọi không thưa”, “chạy nhảy liên tục” hoặc “ăn vạ”. Bảng dưới đây vạch rõ nguyên nhân gốc rễ (luận điểm phân biệt) của từng hành vi:
Lưu ý lâm sàng: Khoảng 30–50% trẻ tự kỷ có đi kèm các triệu chứng của ADHD (gọi là đồng mắc AuDHD). Tuy nhiên, ADHD đơn thuần thường không gây chậm nói nặng và trẻ ADHD luôn hiểu rõ cảm xúc, nét mặt của người khác.
3. Các dấu hiệu ở “Trẻ bình thường” rất dễ bị hiểu nhầm là Tự kỷ
Đừng vội kết luận trẻ tự kỷ nếu chỉ thấy một vài hành vi bề nổi nhưng kỹ năng giao tiếp mắt và chú ý chung của trẻ vẫn tốt:
-
Đi nhón gót (Toe-walking): Khá phổ biến ở trẻ mới tập đi (12–24 tháng) do đang khám phá thăng bằng hoặc có gân gót chân hơi ngắn (Idiopathic toe-walking). Nếu trẻ đi nhón gót nhưng vẫn cười đùa, chỉ trỏ, nói chuyện bình thường thì đây chỉ là thói quen vận động.
-
Xếp đồ chơi thành hàng hoặc thích quay đồ vật (Giai đoạn 18–30 tháng): Trong tâm lý học phát triển, đây là giai đoạn trẻ hình thành “Sơ đồ nhận thức” (Play Schemas) về quỹ đạo chuyển động (Rotation schema) và trật tự không gian (Positioning schema).
-
Điểm khác biệt: Trẻ bình thường xếp hàng xong sẽ gọi bố mẹ xem và nếu bạn thêm một chiếc xe vào hàng, trẻ sẽ hào hứng chơi tiếp. Trẻ tự kỷ xếp hàng trong trạng thái đắm chìm, không cho ai can thiệp.
-
-
Vẫy tay khi phấn khích (Hand-flapping): Trẻ dưới 2 tuổi hệ thần kinh vận động chưa hoàn thiện nên khi quá vui mừng thường vung vẩy hai tay hoặc dậm chân. Hành vi này ở trẻ bình thường chỉ xuất hiện đúng lúc có cảm xúc vui sướng và nhìn thẳng vào bố mẹ, trong khi ở trẻ tự kỷ, vẫy tay xảy ra tự phát ngay cả khi ngồi một mình để tự kích thích thị giác/cảm giác cơ khớp.
-
“Loạn ngôn ngữ giả tự kỷ” do xem tivi/điện thoại sớm (Virtual Autism): Trẻ dưới 2 tuổi xem màn hình quá nhiều (trên 2–3 giờ/ngày) có thể bị thụ động hóa: gọi không quay lại, nhại tiếng Anh vô nghĩa, cáu gắt khi bị tịch thu điện thoại.
-
Điểm khác biệt: Khi cắt tuyệt đối màn hình và tăng tương tác trực tiếp trong 1–2 tháng, trẻ bị ảnh hưởng bởi màn hình sẽ phục hồi giao tiếp mắt và bật âm rất nhanh, trong khi trẻ tự kỷ thực sự (do nguyên nhân thần kinh bẩm sinh) cần can thiệp chuyên sâu dài hạn.
-
-
Khủng hoảng tuổi lên 2 (Terrible Twos Tantrum) vs. Quá tải giác quan (Autistic Meltdown):
-
Ăn vạ thông thường (Tantrum): Có mục đích (đòi mua đồ chơi, đòi xem điện thoại). Trẻ vừa khóc vừa liếc nhìn xem bố mẹ có nhượng bộ không; khi được đáp ứng hoặc được đánh lạc hướng thì nín ngay.
-
Cơn bùng nổ tự kỷ (Meltdown): Xảy ra do quá tải âm thanh, ánh sáng hoặc thay đổi đột ngột. Trẻ mất kiểm soát hoàn toàn, không quan tâm có ai nhìn hay không, và dù có đưa đồ trẻ thích thì cơn hoảng loạn cũng không dừng lại ngay được.
-
Công cụ đối chiếu & Sàng lọc phân biệt trực quan
Sử dụng bảng điều khiển tương tác dưới đây được tạ bởi Google Gemini dựa trên dữ liệu khoa học công bố để đưa ra giao diện trực quan giúp lọc theo từng độ tuổi hoặc đối chiếu trực tiếp mức độ biểu hiện qua 6 trục hành vi cốt lõi giữa Tự kỷ (ASD), Tăng động giảm chú ý (ADHD), Chậm nói đơn thuần, và Trẻ phát triển điển hình:
(function() { const host = document.getElementById('asd-chart-wp-host'); if (!host) return; // Thẻ giữ chỗ (Placeholder) để khi nhấc bảng ra document.body không làm giật trang WordPress const placeholder = document.createComment('asd-chart-portal-placeholder'); // Khởi tạo Shadow DOM cách ly 100% với CSS của Theme WordPress const shadow = host.attachShadow({ mode: 'open' }); const groups = [ { id: 'typical', name: 'Phát triển điển hình', color: '#10b981', active: true }, { id: 'speech', name: 'Chậm nói đơn thuần', color: '#3b82f6', active: true }, { id: 'adhd', name: 'Tăng động (ADHD)', color: '#f59e0b', active: true }, { id: 'asd', name: 'Phổ tự kỷ (ASD)', color: '#ef4444', active: true } ]; const metrics = [ '1. Giao tiếp mắt & Nụ cười xã hội', '2. Chú ý chung & Chỉ trỏ chia sẻ', '3. Ngôn ngữ diễn đạt & Hiểu lời', '4. Chơi giả vờ & Tưởng tượng', '5. Tập trung & Kiểm soát xung động', '6. Linh hoạt trước thay đổi & Giác quan' ]; const dataset = { age1: { scores: { typical: [95, 90, 85, 80, 75, 85], speech: [95, 90, 30, 80, 75, 80], adhd: [80, 75, 80, 75, 35, 70], asd: [25, 15, 25, 20, 40, 25] }, insight: 'Ở mốc 12–18 tháng (Mốc vàng sàng lọc): Trẻ Chậm nói đơn thuần có điểm Ngôn ngữ thấp (30%) nhưng dùng Giao tiếp mắt (95%) và Chỉ trỏ (90%) cực tốt để bù đắp. Ngược lại, trẻ Phổ tự kỷ suy giảm đồng loạt cả Giao tiếp mắt lẫn Chú ý chung (15–25%).' }, age2: { scores: { typical: [95, 95, 90, 90, 80, 85], speech: [95, 90, 40, 85, 75, 80], adhd: [80, 80, 80, 80, 25, 65], asd: [30, 20, 30, 20, 35, 20] }, insight: 'Ở mốc 24–36 tháng: Sự khác biệt bộc lộ rõ ở kỹ năng Chơi giả vờ và Tính linh hoạt. Trẻ Tự kỷ thường xếp hàng đồ vật, quay bánh xe và hoảng loạn khi thay đổi thói quen (20%), trong khi trẻ ADHD chơi đúng chức năng nhưng nhanh chán và khó ngồi yên (25%).' }, age3: { scores: { typical: [95, 95, 95, 95, 85, 90], speech: [95, 95, 70, 90, 80, 85], adhd: [85, 85, 85, 85, 20, 60], asd: [35, 25, 40, 25, 35, 25] }, insight: 'Ở mốc 3–5 tuổi: Trẻ Chậm nói đơn thuần bắt đầu đuổi kịp ngôn ngữ (70%) và hòa nhập bạn bè tốt. Ranh giới giữa Tự kỷ và ADHD lúc này nằm ở Động lực xã hội: trẻ ADHD rất thích kết bạn nhưng bốc đồng (20% kiểm soát), còn trẻ Tự kỷ gặp rào cản trong giao tiếp hai chiều.' } }; let currentAge = 'age1'; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .acw-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 14px; box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06); overflow: hidden; position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .acw-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .acw-inner { padding: 24px; max-width: 900px; margin: 0 auto; background: #ffffff; } .acw-wrap.is-fullscreen .acw-inner { min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng khi cuộn */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .acw-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(2, 132, 199, 0.45), 0 0 0 0 rgba(2, 132, 199, 0.4); } 70% { box-shadow: 0 6px 20px rgba(2, 132, 199, 0.45), 0 0 0 10px rgba(2, 132, 199, 0); } 100% { box-shadow: 0 6px 20px rgba(2, 132, 199, 0.45), 0 0 0 0 rgba(2, 132, 199, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #0369a1 0%, #0284c7 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(2, 132, 199, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Header của bảng */ .acw-header-row { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; margin-bottom: 16px; } .acw-header-text { flex: 1 1 260px; } .acw-title { font-size: 20px; font-weight: 700; margin: 0 0 6px 0; color: #0f172a; line-height: 1.35; } .acw-subtitle { font-size: 14px; color: #64748b; margin: 0; line-height: 1.5; } .btn-fullscreen-top { background: #f0f9ff; color: #0369a1; border: 1px solid #bae6fd; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #0284c7; color: #ffffff; border-color: #0284c7; } /* Bộ lọc độ tuổi */ .acw-age-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; background: #f1f5f9; padding: 6px; border-radius: 10px; } .acw-age-btn { flex: 1; min-width: 105px; padding: 9px 12px; border: none; background: transparent; border-radius: 7px; font-size: 14px; font-weight: 600; color: #475569; cursor: pointer; transition: all 0.2s ease; text-align: center; touch-action: manipulation; } .acw-age-btn:hover { color: #0f172a; } .acw-age-btn.active { background: #ffffff; color: #0284c7; box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08); } /* Bộ lọc nhóm trẻ */ .acw-group-toggles { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 22px; padding-bottom: 16px; border-bottom: 1px solid #f1f5f9; } .acw-toggle-btn { display: inline-flex; align-items: center; gap: 8px; padding: 6px 12px; border-radius: 20px; font-size: 13px; font-weight: 600; cursor: pointer; border: 1.5px solid #cbd5e1; background: #ffffff; color: #334155; transition: all 0.2s ease; user-select: none; touch-action: manipulation; } .acw-toggle-btn.off { opacity: 0.4; background: #f8fafc; text-decoration: line-through; } .acw-dot { width: 10px; height: 10px; border-radius: 50%; display: inline-block; flex-shrink: 0; } /* Khu vực biểu đồ */ .acw-metric-row { margin-bottom: 18px; } .acw-metric-label { font-size: 14px; font-weight: 700; color: #1e293b; margin-bottom: 8px; display: flex; justify-content: space-between; align-items: baseline; } .acw-bars-wrap { display: flex; flex-direction: column; gap: 7px; background: #f8fafc; padding: 10px 12px; border-radius: 8px; border: 1px solid #f1f5f9; } .acw-bar-item { display: flex; align-items: center; gap: 10px; font-size: 12.5px; } .acw-bar-name { width: 140px; flex-shrink: 0; color: #475569; font-weight: 500; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .acw-bar-track { flex: 1; height: 18px; background: #e2e8f0; border-radius: 9px; overflow: hidden; position: relative; } .acw-bar-fill { height: 100%; border-radius: 9px; transition: width 0.45s cubic-bezier(0.22, 1, 0.36, 1); position: relative; } .acw-bar-val { width: 42px; text-align: right; font-weight: 700; color: #334155; flex-shrink: 0; } /* Hộp luận điểm phân biệt */ .acw-insight-box { margin-top: 22px; background: #f0f9ff; border-left: 4px solid #0284c7; padding: 14px 16px; border-radius: 6px; font-size: 13.5px; line-height: 1.6; color: #0c4a6e; } .acw-insight-title { font-weight: 700; margin-bottom: 4px; color: #0369a1; display: block; } @media (max-width: 560px) { .acw-inner { padding: 16px; } .acw-title { font-size: 17.5px; } .acw-bar-name { width: 108px; font-size: 11.5px; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
Bảng Đối Chiếu 6 Trục Hành Vi Phát Triển Theo Độ Tuổi
Chọn mốc tuổi và bật/tắt các nhóm bên dưới để so sánh mức độ đáp ứng kỹ năng (thang 0 – 100%).
(function() { const host = document.getElementById('mchat-wp-host'); if (!host) return; // Thẻ giữ chỗ (Placeholder) để khi nhấc bảng ra document.body không làm giật trang WordPress const placeholder = document.createComment('mchat-portal-placeholder'); // Khởi tạo Shadow DOM cách ly 100% với CSS của Theme WordPress const shadow = host.attachShadow({ mode: 'open' }); // Dữ liệu 20 câu hỏi M-CHAT-R chuẩn y khoa const questions = [ { id: 1, t: 'Nếu bạn chỉ tay vào một vật gì đó trong phòng, bé có nhìn theo hướng bạn chỉ không?', r: 'NO', c: 'crit', cat: 'Đáp ứng chú ý chung' }, { id: 2, t: 'Bạn có bao giờ tự hỏi liệu con mình có bị điếc (nghe kém) không?', r: 'YES', c: 'sen', cat: 'Phản ứng âm thanh (Câu đảo ngược)' }, { id: 3, t: 'Bé có biết chơi trò giả vờ không? (VD: giả vờ uống nước từ cốc rỗng, nghe điện thoại, cho búp bê ăn)', r: 'NO', c: 'soc', cat: 'Tư duy chơi giả vờ' }, { id: 4, t: 'Bé có thích leo trèo lên đồ vật không? (VD: bàn ghế, cầu thang, đồ chơi vận động)', r: 'NO', c: 'sen', cat: 'Vận động thô' }, { id: 5, t: 'Bé có những cử động ngón tay bất thường ở ngay sát trước mắt mình không? (VD: vẫy/búng ngón tay sát mắt)', r: 'YES', c: 'sen', cat: 'Kích thích thị giác - Stimming (Câu đảo ngược)' }, { id: 6, t: 'Bé có dùng một ngón tay (ngón trỏ) để chỉ vào thứ bé muốn XIN hoặc nhờ lấy giúp không?', r: 'NO', c: 'crit', cat: 'Chỉ trỏ yêu cầu' }, { id: 7, t: 'Bé có dùng một ngón tay để chỉ vào thứ gì đó thú vị chỉ để KHOE / CHIA SẺ với bạn không? (VD: chỉ máy bay, con chó)', r: 'NO', c: 'crit', cat: 'Khởi xướng chú ý chung (Quan trọng nhất)' }, { id: 8, t: 'Bé có quan tâm đến những đứa trẻ khác không? (VD: nhìn các bạn chơi, cười hoặc đi tới gần bạn)', r: 'NO', c: 'soc', cat: 'Động lực xã hội' }, { id: 9, t: 'Bé có mang đồ vật lại đưa cho bạn xem chỉ để KHOE (chứ không phải để nhờ mở giúp) không?', r: 'NO', c: 'crit', cat: 'Chia sẻ niềm vui hai chiều' }, { id: 10, t: 'Bé có phản ứng (ngẩng lên nhìn, bập bẹ, ngừng chơi) khi bạn gọi tên bé không?', r: 'NO', c: 'soc', cat: 'Định hướng tên gọi' }, { id: 11, t: 'Khi bạn mỉm cười với bé, bé có mỉm cười đáp lại bạn không?', r: 'NO', c: 'soc', cat: 'Nụ cười xã hội' }, { id: 12, t: 'Bé có tỏ ra khó chịu quá mức, bịt tai hoặc hoảng loạn trước những tiếng ồn thông thường hàng ngày không?', r: 'YES', c: 'sen', cat: 'Nhạy cảm thính giác (Câu đảo ngược)' }, { id: 13, t: 'Bé đã biết đi chưa?', r: 'NO', c: 'sen', cat: 'Vận động cơ bản' }, { id: 14, t: 'Bé có nhìn vào mắt bạn khi bạn đang nói chuyện, chơi đùa hoặc mặc quần áo cho bé không?', r: 'NO', c: 'crit', cat: 'Giao tiếp mắt trực diện' }, { id: 15, t: 'Bé có cố gắng bắt chước những gì bạn làm không? (VD: vẫy tay bye-bye, vỗ tay, làm tiếng động vui nhộn)', r: 'NO', c: 'crit', cat: 'Bắt chước xã hội' }, { id: 16, t: 'Nếu bạn quay đầu nhìn thứ gì đó, bé có nhìn quanh để xem bạn đang nhìn cái gì không?', r: 'NO', c: 'soc', cat: 'Theo dõi ánh mắt' }, { id: 17, t: 'Bé có cố gắng thu hút sự chú ý để bạn nhìn vào bé không? (VD: nhìn bạn chờ khen hoặc kêu "Mẹ nhìn này")', r: 'NO', c: 'soc', cat: 'Tìm kiếm sự công nhận' }, { id: 18, t: 'Bé có hiểu khi bạn bảo bé làm một việc gì đó không? (VD: không chỉ tay mà nói "Con lấy cho mẹ cái chăn")', r: 'NO', c: 'sen', cat: 'Ngôn ngữ tiếp nhận (Hiểu lời)' }, { id: 19, t: 'Nếu có điều gì mới lạ xảy ra, bé có nhìn lên mặt bạn để xem bạn phản ứng thế nào về việc đó không?', r: 'NO', c: 'crit', cat: 'Tham chiếu xã hội' }, { id: 20, t: 'Bé có thích các hoạt động chuyển động có tương tác không? (VD: được đung đưa, nhún nhảy trên đùi bạn)', r: 'NO', c: 'soc', cat: 'Tương tác cảm xúc - vận động' } ]; let answers = {}; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .mc-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (ĐÃ ĐƯỢC PORTAL RA BODY) */ .mc-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .mc-inner { padding: 24px; max-width: 900px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .mc-wrap.is-fullscreen .mc-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng khi cuộn */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .mc-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(3, 105, 161, 0.45), 0 0 0 0 rgba(3, 105, 161, 0.4); } 70% { box-shadow: 0 6px 20px rgba(3, 105, 161, 0.45), 0 0 0 10px rgba(3, 105, 161, 0); } 100% { box-shadow: 0 6px 20px rgba(3, 105, 161, 0.45), 0 0 0 0 rgba(3, 105, 161, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #0369a1 0%, #0284c7 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(3, 105, 161, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Phần tiêu đề */ .mc-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 18px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .mc-header-text { flex: 1 1 260px; } .mc-title { font-size: 21px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .mc-desc { font-size: 14px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #f0f9ff; color: #0369a1; border: 1px solid #bae6fd; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #0284c7; color: #ffffff; border-color: #0284c7; } /* Thanh nút kịch bản mẫu */ .mc-presets { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; } .mc-preset-lbl { font-size: 12.5px; font-weight: 700; color: #475569; margin-right: 4px; } .mc-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; transition: all 0.15s ease; touch-action: manipulation; } .mc-pbtn:hover { background: #f1f5f9; border-color: #94a3b8; } .mc-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } /* Bảng điểm nổi (Sticky Dashboard) */ .mc-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } /* Khi ở chế độ toàn màn hình, đẩy bảng điểm xuống ngay dưới thanh thoát toàn màn hình */ .mc-wrap.is-fullscreen .mc-dash { top: 58px; } .mc-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .mc-score-big { font-size: 24px; font-weight: 800; line-height: 1; } .mc-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .mc-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .mc-bar-bg { height: 10px; background: #334155; border-radius: 5px; overflow: hidden; margin-bottom: 12px; } .mc-bar-fill { height: 100%; width: 0%; background: #10b981; transition: width 0.35s ease, background 0.35s ease; } .mc-pillars { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; font-size: 12px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .mc-pillar-box { background: #1e293b; padding: 7px 10px; border-radius: 8px; } .mc-pillar-val { font-weight: 700; color: #ffffff; font-size: 13.5px; display: block; margin-top: 2px; } /* Danh sách 20 câu hỏi */ .mc-q-item { border: 1px solid #e2e8f0; border-radius: 10px; padding: 14px 16px; margin-bottom: 12px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 10px; } .mc-q-item.risk-flagged { border-color: #fca5a5; background: #fff5f5; } .mc-q-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; } .mc-q-text { font-size: 14.5px; font-weight: 600; color: #1e293b; line-height: 1.5; flex: 1; } .mc-q-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; } .mc-tag { font-size: 11px; font-weight: 600; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .mc-tag.crit { background: #e0f2fe; color: #0369a1; } .mc-tag.rev { background: #fef3c7; color: #b45309; } /* Nút chọn CÓ / KHÔNG */ .mc-ans-group { display: flex; gap: 8px; flex-shrink: 0; } .mc-abtn { min-width: 78px; padding: 8px 14px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 13.5px; font-weight: 700; color: #334155; cursor: pointer; transition: all 0.15s ease; touch-action: manipulation; } .mc-abtn:hover { border-color: #64748b; } .mc-abtn.sel-safe { background: #10b981; border-color: #10b981; color: #ffffff; } .mc-abtn.sel-risk { background: #ef4444; border-color: #ef4444; color: #ffffff; } /* Hộp phân tích kết quả cuối bảng */ .mc-result-box { margin-top: 20px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #64748b; font-size: 14px; line-height: 1.65; color: #1e293b; } /* Tối ưu giao diện điện thoại */ @media (max-width: 600px) { .mc-inner { padding: 14px; } .mc-title { font-size: 18px; } .mc-q-head { flex-direction: column; } .mc-ans-group { width: 100%; } .mc-abtn { flex: 1; padding: 10px 14px; } .mc-pillars { grid-template-columns: 1fr; } .mc-pbtn.reset { margin-left: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
Bảng Chấm Điểm Sàng Lọc Tự Kỷ Chuẩn Y Khoa M-CHAT-R/F (16 – 30 tháng)
Hãy chọn CÓ hoặc KHÔNG dựa trên hành vi thường xuyên của bé. Hệ thống tự động đảo chiều điểm ở câu 2, 5, 12 và đối chiếu nhóm kỹ năng Chú ý chung để phân biệt với Chậm nói đơn thuần / ADHD.
• Hệ thống Chú ý chung và Giao tiếp phi ngôn ngữ của bé hoạt động tốt (${crit}/7 điểm rủi ro nhóm cốt lõi).
• Phân biệt với Chậm nói đơn thuần: Nếu bé hiện tại chưa nói được nhiều từ nhưng đạt mức điểm này (biết chỉ trỏ khoe đồ, nhìn mắt, hiểu lời nói), khả năng rất cao bé chỉ bị chậm nói diễn đạt đơn thuần. Nếu bé dưới 24 tháng tuổi, hãy sàng lọc lại khi bé tròn 24 tháng. `; } else if (total = 2) ? `Bé có ${crit}/7 dấu hiệu rủi ro ở nhóm Chú ý chung cốt lõi (chỉ trỏ, giao tiếp mắt, khoe đồ vật). Đây là dấu hiệu cảnh báo sớm của phổ tự kỷ chứ không chỉ là chậm nói hay hiếu động đơn thuần.` : `Điểm rủi ro của bé chủ yếu nằm ở nhóm Giác quan/Ngôn ngữ hoặc Mất tập trung, trong khi Chú ý chung cốt lõi khá tốt (${crit}/7). Trường hợp này rất dễ gặp ở trẻ Tăng động giảm chú ý (ADHD) hoặc chậm nói kèm nhạy cảm giác quan.`; analysis = ` Kết luận sàng lọc — Nguy cơ TRUNG BÌNH (${total}/20 điểm):
• ${diffNote}
• Hướng xử trí chuẩn M-CHAT-R/F: Cần thực hiện bước 2 — Phỏng vấn theo dõi (Follow-Up) cho ${total} câu có điểm rủi ro để làm rõ ngữ cảnh. Nếu sau khi kiểm tra kỹ vẫn còn từ 2 điểm trở lên, cần đưa bé đi khám chuyên khoa Tâm bệnh / Nhi phát triển hành vi. `; } else { color = '#ef4444'; badgeTxt = 'NGUY CƠ CAO (8 – 20 điểm)'; analysis = ` Kết luận sàng lọc — Nguy cơ CAO (${total}/20 điểm, trong đó có ${crit}/7 câu cốt lõi):
• Bé biểu hiện sự suy giảm rõ rệt ở cả hai trụ cột: Chú ý chung (Joint Attention) và Tương tác xã hội hai chiều.
• Hướng xử trí chuẩn M-CHAT-R/F: Với mức điểm từ 8 trở lên, gia đình có thể bỏ qua bước phỏng vấn phụ và đưa bé đi khám chẩn đoán chuyên sâu ngay (bằng thang ADOS-2, DSM-5) tại khoa Tâm bệnh / Phát triển hành vi Nhi để bắt đầu can thiệp sớm trong giai đoạn vàng. `; } barFillEl.style.background = color; badgeEl.textContent = badgeTxt; badgeEl.style.background = color; badgeEl.style.color = '#ffffff'; resBoxEl.style.borderLeftColor = color; resBoxEl.innerHTML = analysis; updateFloatingFabVisibility(); } // Kiểm tra vùng cuộn để hiện/ẩn nút nổi thông minh function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; // Hiện nút nổi khi người đọc đang lướt ngang qua vùng bảng M-CHAT-R/F const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } // KỸ THUẬT DOM PORTAL: Nhấc thẳng #mchat-wp-host ra trực tiếp document.body khi phóng to function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); mcWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { mcWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 880px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } // Gắn sự kiện cho các nút Kịch bản mẫu const presetBtns = shadow.querySelectorAll('.mc-pbtn'); presetBtns.forEach(function(btn) { btn.onclick = function() { const type = this.getAttribute('data-preset'); answers = {}; if (type === 'speech') { questions.forEach(function(q) { answers[q.id] = (q.r === 'YES' ? 'NO' : 'YES'); }); answers[18] = 'NO'; } else if (type === 'adhd') { questions.forEach(function(q) { answers[q.id] = (q.r === 'YES' ? 'NO' : 'YES'); }); answers[2] = 'YES'; answers[10] = 'NO'; answers[12] = 'YES'; } else if (type === 'asd') { questions.forEach(function(q) { answers[q.id] = (q.r === 'YES' ? 'NO' : 'YES'); }); [1, 2, 3, 5, 6, 7, 8, 9, 10, 14, 15, 16, 19].forEach(function(id) { const qObj = questions[id - 1]; answers[id] = qObj.r; }); } renderQuestions(); updateSummary(); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); renderQuestions(); updateSummary(); })();
Dấu hiệu động kinh ngầm ở trẻ tự kỷ - Khi nào nên làm?
📋 BẢNG ĐÁNH GIÁ CHUYÊN SÂU: DẤU HIỆU ĐỘNG KINH NGẦM (SEDs) & CƠN ĐỘNG KINH CỤC BỘ Ở TRẺ TỰ KỶ
Được thiết kế dựa trên phân loại cơn động kinh của Liên đoàn Quốc tế Chống Động kinh (ILAE) và các hội chứng điện não đồ đặc thù ở trẻ rối loạn phát triển (Landau-Kleffner, ESES/CSWS, Động kinh thùy thái dương & thùy trán).
PHẦN I: THOÁI LUI PHÁT TRIỂN & HỘI CHỨNG MẤT NGÔN NGỮ (Landau-Kleffner / ESES)
Đánh giá nguy cơ sóng động kinh ngầm phát sinh liên tục trong giấc ngủ gây phá hủy vùng ngôn ngữ và nhận thức.
1. Mất ngôn ngữ và kỹ năng giao tiếp đã từng có (Thoái lui phát triển):
Trẻ trước đó đã nói được từ đơn/từ ghép, biết chỉ tay, vẫy chào, giao tiếp mắt bình thường nhưng bỗng nhiên mất dần hoặc mất hẳn (đặc biệt lưu ý nếu xảy ra sau mốc 2 tuổi).
2. Hiện tượng "Điếc từ vựng" (Auditory Verbal Agnosia):
Trẻ vẫn nghe rất rõ tiếng động môi trường (tiếng mở gói bánh, tiếng nhạc, tiếng gọi từ xa vẫn quay lại) nhưng lại hoàn toàn ngơ ngác, không hiểu nghĩa các câu nói quen thuộc hàng ngày của bố mẹ.
3. Sự dao động nhận thức bất thường theo chu kỳ ("Lúc nhớ lúc quên"):
Trẻ có những tuần/ngày rất lanh lợi, học rất nhanh, nhưng đột nhiên rơi vào những đợt "chững lại", ngơ ngác, quên sạch các bài học/kỹ năng đã thuộc lòng trước đó mà không rõ lý do.
PHẦN II: CƠN VẮNG Ý THỨC & CỬ ĐỘNG TỰ ĐỘNG VÔ THỨC (Absence & Focal Impaired Awareness)
Phân biệt giữa sự mất tập trung/tự kích thích (Stimming) của tự kỷ và cơn "ngắt kết nối" do phóng điện não.
4. Cơn "đứng hình" – Đờ người không thể cắt ngang:
Đang nhai cơm, đang bước đi hoặc đang chơi, trẻ đột ngột khựng lại, nhìn xuyên thấu vào khoảng không từ 5–30 giây. Dù bố mẹ vẫy tay sát mắt, búng tay hay chạm mạnh vào người trẻ cũng không phản ứng trong vài giây đó.
5. Hành vi tự động vùng miệng – mặt trong lúc đờ đẫn (Oroalimentary Automatisms):
Khi đang nhìn vô hồn, trẻ có kèm theo chép miệng liên tục, nhai tóp tép dù trong miệng không có thức ăn, nuốt nước bọt liên hồi, chảy dãi đột ngột hoặc mấp máy môi vô thức?
6. Nháy mắt rung giật hoặc tay xoắn vặn vô thức kèm mất tập trung:
Hai mí mắt nháy liên hồi với tốc độ rất nhanh (như cánh bướm rung), hoặc một bên tay cứ tự động cấu véo, xoắn vặn vạt áo, hoặc đột ngột buông rơi thìa/đồ chơi đang cầm trên tay mà không biết.
PHẦN III: VẬN ĐỘNG VI THỂ, GIẬT CƠ & MẤT TRƯƠNG LỰC CƠ (Myoclonic, Atonic & Tonic)
Các cơn động kinh vận động cực ngắn (1–3 giây) rất dễ bị nhầm với tật máy cơ (Tics) hoặc trẻ hậu đậu hay vấp ngã.
7. Cơn gục đầu đột ngột hoặc ngã khuỵu gối (Atonic / Drop Attacks):
Trẻ đang ngồi ăn/học bỗng nhiên đầu gục mạnh xuống bàn cái "rụp" (như người ngủ gật bị rơi đầu), hoặc đang đứng/đi tự dưng hai đầu gối mềm nhũn làm ngã sập xuống đất trong tích tắc rồi đứng dậy ngay.
8. Giật cơ từng chuỗi ngắn như điện giật (Myoclonic Jerks):
Hai vai, cánh tay hoặc toàn thân trẻ giật nảy lên một cái (giống hệt phản xạ giật mình khi bước hụt cầu thang), thường xảy ra thành từng cụm 3–5 cái liên tiếp, đặc biệt hay gặp vào lúc vừa mới ngủ dậy hoặc đang thiu thiu ngủ.
9. Cơn đảo mắt, trợn ngược mắt hoặc quay cứng đầu – cổ sang một bên (Versive / Tonic):
Hai tròng mắt đột ngột đảo ngược lên trên (chỉ thấy lòng trắng) hoặc mắt và đầu cùng quay cứng sang một bên trong vài giây kèm theo một bên tay co/duỗi cứng (khác với hành vi liếc mắt ngắm đồ vật của trẻ tự kỷ).
PHẦN IV: BIỂU HIỆN BẤT THƯỜNG TRONG GIẤC NGỦ (Nocturnal Frontal Lobe & Sleep Epilepsy)
70% sóng động kinh ngầm ở trẻ tự kỷ chỉ kích hoạt mạnh khi não bước vào giấc ngủ sâu (Non-REM).
10. Cơn thức giấc kịch phát định hình vào khung giờ cố định ban đêm:
Trẻ đang ngủ bỗng bật dậy, mắt mở trừng trừng, vẻ mặt hoảng loạn, hai chân đạp như đạp xe hoặc tay chân vung vẩy/gồng cứng. Đặc điểm nhận diện là kịch bản cử động đêm nào cũng giống hệt nhau và thường xảy ra sau khi ngủ khoảng 30–90 phút hoặc gần sáng.
11. Giật mép, cứng hàm, phát âm thanh lạ hoặc chảy nhiều nước bọt khi đang ngủ (Rolandic Seizures):
Khi đang ngủ (nhất là lúc mới ngủ hoặc gần sáng), trẻ có tiếng khò khè ở họng như mắc nghẹn, một bên mép/má giật nhẹ, nghiến hàm cứng kèm chảy ướt đẫm nước bọt ra gối?
12. Dấu vết để lại vào buổi sáng sau những cơn động kinh đêm thầm lặng:
Buổi sáng thức dậy trẻ có vết cắn rách/bầm ở rìa lưỡi hoặc niêm mạc má, tiểu dầm bất thường (ở trẻ đã bỏ bỉm đêm từ lâu), hoặc trẻ lừ đừ, đau đầu, đi đứng loạng choạng/yếu nhẹ một bên tay chân trong 15–30 phút đầu mới dậy?
PHẦN V: CẢM XÚC KỊCH PHÁT, THẦN KINH THỰC VẬT & GIÁC QUAN (Temporal & Occipital Lobe)
Động kinh thùy thái dương và thùy chẩm ở trẻ tự kỷ thường tạo ra cơn hoảng sợ, cười khóc vô cớ, ảo giác hoặc rối loạn thực vật.
13. Cơn hoảng sợ tột độ hoặc cười/khóc sặc sụa hoàn toàn vô cớ (Gelastic / Dacrystic / Ictal Fear):
Đang ngồi yên tĩnh, không hề có tác nhân gây sợ hay bị trêu đùa, trẻ bỗng nhiên ôm chặt bố mẹ hoặc chạy trốn với vẻ mặt kinh hoàng tột độ; hoặc tự dưng bật cười khanh khách / khóc nức nở một cách cơ học, vô hồn trong 30 giây – 2 phút rồi tự tắt hẳn.
14. Biểu hiện Thần kinh thực vật đi kèm cơn (Autonomic Seizures):
Ngay trước hoặc trong lúc trẻ đờ người/hoảng sợ, cha mẹ quan sát thấy trẻ đột ngột tái mét mặt hoặc đỏ bừng mặt, vã mồ hôi lạnh, tim đập thình thịch, hai đồng tử mắt giãn to, hoặc trẻ tự nhiên ôm bụng/nôn khan vài tiếng rồi hết ngay (không phải bệnh tiêu hóa)?
15. Phản ứng với ảo giác giác quan thoáng qua (Sensory Aura – Thùy chẩm / Thùy thái dương):
Trong phòng hoàn toàn yên tĩnh và ánh sáng bình thường, trẻ đột ngột ôm đầu, lấy tay dụi mắt/che chặt mắt, bịt chặt tai la hét, hoặc nhìn đuổi theo một điểm vô hình trong không trung (do nhìn thấy đốm sáng nhấp nháy hoặc nghe tiếng ù trong đầu trước cơn)?
PHẦN VI: ĐẶC ĐIỂM SAU CƠN & YẾU TỐ NGUY CƠ Y KHOA (Post-ictal State & Risk Factors)
Trạng thái "sau cơn" (Post-ictal) là tiêu chuẩn vàng để phân biệt cơn động kinh thực sự với hành vi tự kỷ.
16. Trạng thái của trẻ NGAY SAU KHI kết thúc các biểu hiện lạ (Post-ictal Phase):
Sau một cơn phóng điện não, tế bào thần kinh bị cạn kiệt năng lượng tạm thời. Ngay sau khi hết đờ người, giật cơ hoặc la hét vô cớ, trẻ có biểu hiện thế nào?
17. Hoàn cảnh xuất hiện & Yếu tố kích khởi ánh sáng/nhiệt độ:
Hành vi tự kỷ thường xuất hiện khi trẻ rảnh rỗi/căng thẳng. Ngược lại, các biểu hiện lạ của con bạn có xuất hiện bất kể hoàn cảnh (kể cả khi đang nhai món rất thích, đang đi cầu thang) hoặc dễ bùng phát khi nhìn ánh sáng nhấp nháy (đèn LED, nắng xuyên qua hàng cây), khi sốt/thiếu ngủ không?
18. Tiền sử y khoa của bản thân trẻ và gia đình:
Trẻ có từng bị co giật do sốt cao (nhất là sốt co giật phức tạp kéo dài >15 phút hoặc tái phát nhiều lần), tiền sử sinh ngạt/sinh non nhẹ cân, hoặc trong gia đình có người mắc động kinh / rối loạn thần kinh không?
*Miễn trừ trách nhiệm y khoa: Bảng đánh giá 18 tiêu chí này là công cụ sàng lọc lâm sàng hỗ trợ phụ huynh quan sát có hệ thống, không thay thế cho chẩn đoán của bác sĩ chuyên khoa Thần kinh nhi và kết quả đo Điện não đồ (EEG).
⚠️ Cha mẹ vui lòng hoàn thành đủ 18 câu hỏi (Hiện đã chọn '+answered+'/18 câu) để hệ thống lập biểu đồ phân khu chính xác nhất!
Kết quả sàng lọc cho thấy trẻ có dấu hiệu cảnh báo đỏ (Red Flags) hoặc tổng điểm triệu chứng lâm sàng ở ngưỡng cao. Ở trẻ tự kỷ, việc phát hiện và kiểm soát sớm sóng động kinh ngầm sẽ giúp bảo vệ tế bào thần kinh và mở khóa lại khả năng tiếp thu ngôn ngữ.
- Quay video thực tế (Quan trọng số 1): Hãy đặt sẵn điện thoại để quay lại khoảnh khắc trẻ đờ người, giật cơ, đảo mắt hoặc thức giấc ban đêm. Khi thấy trẻ bắt đầu đờ người, hãy vừa quay video vừa gọi tên/vẫy tay trước mắt trẻ để bác sĩ đánh giá mức độ mất ý thức.
- Yêu cầu đo Điện não đồ giấc ngủ (Sleep EEG / Video-EEG): Đo EEG thức ngắn hạn (15–20 phút) rất dễ bỏ sót sóng động kinh ngầm (đặc biệt là hội chứng Landau-Kleffner và ESES chỉ xuất hiện khi ngủ sâu). Hãy hỏi bác sĩ về chỉ định đo EEG giấc ngủ kéo dài tối thiểu 60–120 phút hoặc qua đêm.
- Chụp màn hình bảng kết quả này: Đưa danh sách các dấu hiệu ghi nhận được bên dưới cho bác sĩ Thần kinh nhi để tiết kiệm thời gian khai thác bệnh sử.
Trẻ chưa có các dấu hiệu cờ đỏ cấp tính nhưng có một số biểu hiện nằm ở vùng giao thoa giữa hành vi tự kích thích giác quan (Stimming) của tự kỷ và hoạt động điện não bất thường nhẹ.
- Thực hiện nghiệm pháp "Ngắt cơn": Mỗi khi thấy con nhìn đăm chiêu hoặc làm hành động lặp lại, hãy thử chạm vào vai và đưa món đồ con cực kỳ thích ra trước mặt. Nếu con nhìn theo ngay, đó thường là hành vi tự kỷ. Nếu con hoàn toàn không biết gì trong vài giây, hãy ghi chép lại.
- Lập nhật ký triệu chứng: Ghi lại thời điểm xảy ra (trước/sau khi ngủ, khi đang ăn...), thời gian kéo dài bao nhiêu giây và trạng thái của con sau đó.
- Nếu tần suất các cơn tăng lên hoặc việc học của con bị chững lại rõ rệt, cha mẹ nên cho con đi khám Thần kinh nhi để kiểm tra Điện não đồ (EEG) tầm soát.
Hiện tại, các biểu hiện của trẻ chủ yếu mang đặc trưng của rối loạn phổ tự kỷ (như thiếu tập trung có chọn lọc hoặc tự kích thích giác quan khi rảnh rỗi), hầu như không thấy dấu hiệu lâm sàng của cơn động kinh hay sóng động kinh ngầm gây thoái lui.
- Theo hướng dẫn y khoa hiện hành, trẻ tự kỷ không có triệu chứng nghi ngờ lâm sàng và phát triển tiến bộ đều đặn thì chưa bắt buộc phải can thiệp đo Điện não đồ ngay.
- Cha mẹ hãy yên tâm duy trì chương trình can thiệp giáo dục đặc biệt, ngôn ngữ trị liệu và đánh giá lại bảng kiểm này sau mỗi 6 tháng (hoặc khi trẻ bước vào giai đoạn tiền dậy thì).
- ';for(var k=0;k<redFlags.length;k++){rfHTML+='
- '+redFlags[k]+' ';}rfHTML+='
| Nhóm triệu chứng lâm sàng | Điểm số | Mức đánh giá |
|---|---|---|
| '+catNames[c]+' | '+s+' / 9 | '+badge+' |
'+levelTitle+'
💡 Nhiều người vẫn luôn nghĩ động kinh là phải có biểu hiện co giật bên ngoài, nhưng thực tế thì không phải.
Các nghiên cứu y khoa đã phân tích mối liên hệ giữa rối loạn phổ tự kỷ (ASD) và các bất thường trên điện não đồ (EEG) — thường được gọi là “sóng động kinh ngầm” hay phóng điện dạng động kinh dưới lâm sàng (Subclinical Epileptiform Discharges – SEDs), tức là có sóng bất thường trên máy đo nhưng trẻ không hề có cơn co giật thực tế bên ngoài.
📊 Số liệu thống kê từ các phân tích tổng hợp và nghiên cứu chuyên sâu:
- Tỷ lệ có sóng động kinh ngầm (không có cơn co giật): Dao động trung bình từ 20% đến 60% (phổ biến nhất trong khoảng 30% – 50%) tùy thuộc vào phương pháp đo (đo ngắn hạn hay đo qua đêm khi ngủ).
- Tỷ lệ mắc bệnh động kinh thực sự (có cơn co giật lâm sàng): Chiếm khoảng 15% đến 30% ở trẻ tự kỷ, cao hơn rất nhiều so với tỷ lệ 1% – 2% ở trẻ bình thường.
- Trường hợp ngoại lệ có tỷ lệ rất cao: Ở một nhóm nhỏ trẻ tự kỷ có hiện tượng thoái lui phát triển (trẻ đang nói được hoặc giao tiếp bình thường bỗng nhiên mất ngôn ngữ và kỹ năng) hoặc khi đo từ não đồ (MEG) chuyên sâu, tỷ lệ phát hiện sóng bất thường có thể lên tới 60% – 70% (một số nghiên cứu nhỏ lẻ ghi nhận tới gần 80% ở nhóm đặc thù này). Đây có thể là nguồn gốc khiến con số 80% bị hiểu nhầm và quy chụp cho toàn bộ trẻ phổ tự kỷ.
🩺 Khi nào cha mẹ thực sự cần đưa trẻ đi đo Điện não đồ (EEG)?
Bác sĩ chuyên khoa Thần kinh nhi thường chỉ định đo EEG (ưu tiên đo khi ngủ) nếu trẻ tự kỷ có kèm theo các dấu hiệu nghi ngờ sau:
- Thoái lui ngôn ngữ và kỹ năng rõ rệt: Đang biết nói bỗng nhiên im lặng, mất hẳn giao tiếp mắt sau 18–24 tháng tuổi.
- Các cơn “vắng ý thức” (Absence seizures): Trẻ đột ngột đờ người, mắt nhìn vô định trong vài giây đến vài chục giây, gọi hay vẫy tay trước mặt không phản ứng (khác với việc trẻ mải chơi không thèm quay lại).
- Cử động bất thường lặp lại: Giật nhẹ cơ mặt, nháy mắt liên tục kèm đờ đẫn, gục đầu đột ngột, hoặc giật cơ tay chân khi mới ngủ dậy.
Cụ thể hơn, ở trẻ tự kỷ, việc nhận biết các dấu hiệu nghi ngờ động kinh khá khó khăn vì nhiều biểu hiện rất giống với hành vi tự kích thích (stimming) hoặc sự thiếu tập trung đặc trưng của trẻ. Cha mẹ nên đưa trẻ đến khám chuyên khoa Thần kinh nhi để đo điện não đồ (EEG) nếu quan sát thấy 1 trong 5 nhóm biểu hiện dưới đây:
1. Thoái lui phát triển đột ngột hoặc mất ngôn ngữ Quan trọng nhất
- Biểu hiện: Trẻ trước đó đã nói được từ đơn, từ ghép, biết chỉ tay hoặc giao tiếp mắt nhưng đột nhiên mất hẳn các kỹ năng này (đặc biệt nếu xảy ra sau mốc 2–3 tuổi).
- Khả năng đi kèm: Trẻ nghe thấy âm thanh (vẫn giật mình khi có tiếng động lớn) nhưng hoàn toàn không hiểu lời nói của bố mẹ như thể bị điếc từ vựng. Đây là dấu hiệu cảnh báo cần đo điện não đồ giấc ngủ để loại trừ hội chứng Landau-Kleffner (mất ngôn ngữ mắc phải do sóng động kinh ngầm khi ngủ).
2. Các cơn “đờ người” – Vắng ý thức (Absence Seizures)
- Biểu hiện: Trẻ đang chơi, đang ăn hoặc đi lại thì đột ngột đứng khựng lại, mắt nhìn trân trân vào khoảng không trong khoảng 5 đến 20 giây, sau đó lại tiếp tục hoạt động như chưa có chuyện gì xảy ra.
- Dấu hiệu đi kèm trong cơn: Nháy mắt liên tục với tốc độ nhanh, môi mấp máy như đang nhai chép miệng, hoặc tay xoắn vặn quần áo một cách vô thức.
3. Giật cơ hoặc mất trương lực cơ bất thường
- Cơn gục đầu / khuỵu gối (Atonic): Trẻ đang ngồi hoặc đứng bỗng nhiên gục đầu xuống bàn cái “rụp”, hoặc đầu gối tự dưng mềm nhũn làm trẻ ngã khuỵu xuống đất trong tích tắc rồi tự đứng dậy ngay.
- Giật cơ (Myoclonic): Tay, chân hoặc vai của trẻ giật nảy lên một cái (giống như bị giật mình hoặc điện giật nhẹ), thường xảy ra thành từng chuỗi ngắn vào thời điểm vừa mới thức dậy hoặc bắt đầu thiu thiu ngủ.
- Lệch mắt, gồng cứng ngắn: Hai mắt đột ngột đảo ngược lên trên hoặc liếc cứng sang một bên kèm theo gồng nhẹ tay chân trong vài giây.
4. Rối loạn bất thường trong giấc ngủ
Sóng động kinh thường hoạt động mạnh nhất khi não chuyển từ trạng thái thức sang ngủ sâu:
- Trẻ đang ngủ bỗng ngồi bật dậy, mắt mở to hoảng loạn, tay chân đạp quẫy hoặc gồng cứng có tính chất lặp đi lặp lại giống hệt nhau vào các khung giờ cố định mỗi đêm.
- Tỉnh giấc vào buổi sáng với biểu hiện lừ đừ, mệt mỏi rã rời, yếu tạm thời một bên tay/chân, hoặc phát hiện vết cắn ở rìa lưỡi, tiểu dầm bất thường (ở trẻ đã biết tự chủ vệ sinh ban đêm).
5. Những cơn bùng nổ cảm xúc hoặc sợ hãi “không có lý do”
- Khác với cơn ăn vạ (luôn có nguyên nhân như đòi đồ chơi không được) hay quá tải giác quan (do chỗ đông người, tiếng ồn), cơn động kinh cục bộ ở thùy thái dương có thể khiến trẻ đột ngột ôm đầu, la hét, mặt tái mét vì sợ hãi tột độ, hoặc cười sặc sụa vô cớ trong 1–2 phút rồi lả đi, ngủ thiếp đi ngay sau đó.
🔍 Bảng phân biệt nhanh: Hành vi Tự kỷ hay Cơn Động kinh?
| Tiêu chí quan sát | Hành vi tự kỷ (Mất tập trung / Stimming) | Nghi ngờ cơn động kinh |
|---|---|---|
| Cách ngắt cơn | Có thể cắt ngang nếu bố mẹ chạm mạnh vào người, chắn tầm nhìn hoặc đưa món đồ trẻ cực kỳ thích ra trước mặt. | Không thể cắt ngang dù bố mẹ vỗ vào mặt, gọi to hay vẫy tay sát mắt; trẻ hoàn toàn “ngắt kết nối” trong vài giây đó. |
| Ánh mắt | Nhìn chăm chú vào một vật (bánh xe quay, quạt trần, ngón tay) hoặc liếc mắt có chủ đích. | Nhìn xuyên thấu vô hồn, đồng tử có thể giãn nhẹ, hoặc mắt giật/trợn ngược lên trên. |
| Sau khi kết thúc | Trẻ tỉnh táo bình thường, có thể cáu gắt nếu bị làm phiền khi đang tự kích thích. | Trẻ thường ngơ ngác vài giây, mệt mỏi, buồn ngủ rũ rượi, hoặc không nhớ mình vừa đánh rơi đồ vật trên tay. |
| Hoàn cảnh xuất hiện | Thường xảy ra khi trẻ rảnh rỗi, nhàm chán, quá phấn khích hoặc căng thẳng. | Xảy ra bất kỳ lúc nào, kể cả khi đang nhai cơm, đang bước cầu thang hay đang ngủ. |
Nguồn: Kiến thức y khoa chính thống, tham khảo và hỗ trợ từ AI.
Những Sai Lầm Và Sự Thật Về Phổ Tự Kỷ
Những hiểu sai về trẻ tự kỷ, được trích dẫn và tổng hợp bởi bác sỹ Quyết nhi tw, dưới đây sẽ giúp chúng ta hiểu sâu hơn về hội chứng này theo một lăng kính đặc biệt hơn.
Tự Kỷ Có Phải Là Bệnh?

Tất Cả Trẻ Tự Kỷ Đều Thông Minh Và Sẽ Thành Thiên Tài Nếu Nuôi Dậy Tốt?

Trẻ Tự Kỷ Không Biết Kết Bạn Và Chỉ Thích Cô Độc?

Trẻ Có Hội Chứng Phổ Tự Kỷ Không Biết Yêu Thương Và Vô Tâm?

Trẻ Tự Kỷ Không Muốn Giao Tiếp Với Ai?

Trẻ Tự Kỷ Không Có Đầy Đủ Các Cung Bậc Cảm Xúc?

Trẻ Tự Kỷ Hung Dữ Và Nguy Hiểm

Tất Cả Trẻ Tự Kỷ Trí Tuệ Đều Kém?

Có Thể Chữa Khỏi Phổ Tự Kỷ Được Không?

Trẻ bị rối loạn phổ tự kỷ có cần dùng thuốc không?
Rối loạn phổ tự kỷ (ASD) không có thuốc điều trị đặc hiệu cho các triệu chứng cốt lõi (như khiếm khuyết giao tiếp xã hội hay hành vi lặp đi lặp lại). Phương pháp nền tảng và quan trọng nhất vẫn là can thiệp giáo dục, tâm lý, ngôn ngữ trị liệu và hành vi.
Tuy nhiên, trẻ tự kỷ có thể cần dùng thuốc khi xuất hiện các triệu chứng đi kèm hoặc rối loạn đồng mắc ở mức độ nặng, gây nguy hiểm cho bản thân, gia đình hoặc làm cản trở quá trình học tập, can thiệp của trẻ.
Khi nào trẻ tự kỷ được chỉ định dùng thuốc?
Bác sĩ chuyên khoa Tâm thần Nhi chỉ cân nhắc kê đơn khi các biện pháp can thiệp hành vi đơn thuần không kiểm soát được các vấn đề sau:
| Nhóm triệu chứng đi kèm | Biểu hiện cụ thể ở trẻ | Mục đích dùng thuốc |
| Kích động, cáu gắt nghiêm trọng | Đập đầu, tự cắn mình, la hét kéo dài, tấn công người xung quanh, đập phá đồ đạc | Giảm cơn bùng nổ cảm xúc và hành vi tự gây thương tích (FDA đã phê duyệt một số thuốc như Risperidone, Aripiprazole cho nhóm triệu chứng này) |
| Tăng động giảm chú ý (ADHD) | Chạy nhảy liên tục không biết mệt, không thể ngồi yên quá vài phút để học can thiệp, bốc đồng | Giúp trẻ tập trung tốt hơn, giảm xung động để tiếp thu bài học từ giáo viên và cha mẹ |
| Rối loạn giấc ngủ nặng | Khó vào giấc, thức giấc nhiều lần trong đêm, ngủ rất ít gây kiệt sức và cáu gắt vào ban ngày | Điều hòa nhịp sinh học (thường bắt đầu bằng vệ sinh giấc ngủ hoặc Melatonin theo chỉ định) |
| Lo âu, cưỡng chế hoặc trầm cảm | Sợ hãi quá mức trước thay đổi nhỏ, căng thẳng cực độ, thu mình (thường gặp ở trẻ lớn/vị thành niên) | Giảm mức độ căng thẳng thần kinh, ổn định khí sắc |
| Động kinh (co giật) | Khoảng 20% – 30% trẻ tự kỷ có kèm bất thường điện não hoặc cơn động kinh | Kiểm soát cơn co giật bằng thuốc chống động kinh để bảo vệ tế bào não |
Nguyên tắc bắt buộc khi dùng thuốc cho trẻ tự kỷ
-
Thuốc là công cụ hỗ trợ, không thay thế can thiệp: Thuốc đóng vai trò giúp trẻ “dịu lại”, ngủ ngon hơn và tập trung hơn để có thể tham gia hiệu quả vào các giờ học âm ngữ trị liệu, tâm vận động và giáo dục đặc biệt.
-
Tuyệt đối không tự ý dùng thuốc hoặc thực phẩm chức năng truyền miệng: Mọi loại thuốc hướng thần đều cần bác sĩ chuyên khoa thăm khám trực tiếp, tính liều theo cân nặng (bắt đầu từ liều thấp nhất có hiệu quả) và theo dõi định kỳ các tác dụng phụ (như tăng cân, buồn ngủ, chảy nước dãi).
-
Không tự ý ngưng thuốc đột ngột: Khi thấy trẻ ổn định hơn, phụ huynh cần tái khám để bác sĩ giảm liều theo phác đồ, tránh hiện tượng dội ngược triệu chứng (rebound) làm trẻ kích động mạnh hơn.
Trẻ tự kỷ Bùng nổ nhanh, cáu gắt,... Chuẩn đoán theo cơ chế thần kinh?
Gần như trên 90% cha mẹ nuôi con tự kỷ đều gặp vấn đề bùng nổ cảm xúc ở trẻ. Hiện tượng một đứa trẻ thuộc phổ tự kỷ bùng nổ tức thì, la hét, đỏ mặt tía tai ngay khoảnh khắc bị từ chối hoặc bị yêu cầu chuyển đổi hoạt động (transition) thực chất là kết quả của một “phản ứng dây chuyền” trong não bộ.
🧠 TIẾP CẬN NGUYÊN NHÂN TRẺ TỰ KỶ BÙNG NỔ CẢM XÚC
Có 5 cơ chế thần kinh cốt lõi trong não bộ có thể là nguyên nhân gốc rễ châm ngòi cho vụ nổ này:
1. “Cú sốc tụt áp Dopamine” (Reward Prediction Error – RPE)
Đây là nguyên nhân hàng đầu giải thích cho việc bùng nổ khi bị từ chối hoặc bị lấy mất đồ đang chơi.
- Cơ chế: Hệ thống khen thưởng của não (tại Nhân accumbens và Thể vân – Striatum) hoạt động dựa trên Dopamine. Khi bé đang chơi vui hoặc đang kỳ vọng có được một thứ gì đó, mức Dopamine đang ở đỉnh cao. Khi bị từ chối đột ngột, trong não xảy ra hiện tượng gọi là Sai số dự đoán phần thưởng âm tính (Negative Reward Prediction Error) — nồng độ Dopamine rơi thẳng đứng xuống vực sâu trong vài phần nghìn giây.
- Hệ quả: Ở não bộ tự kỷ, sự sụt giảm Dopamine đột ngột này không chỉ gây cảm giác “tiếc nuối” nhẹ như người bình thường, mà nó kích hoạt ngay lập tức Vùng vỏ não đai trước (Anterior Cingulate Cortex – ACC) — vùng não xử lý nỗi đau thể xác. Tức là đối với não của bé, câu nói “Không được!” tạo ra một tín hiệu thần kinh tương đương với việc bị đánh đau, dẫn đến phản ứng gào thét dữ dội để tự vệ.
2. “Kẹt số” tại Hạch nền và Vỏ não trán ổ mắt (Cognitive Inflexibility)
Cơ chế này giải thích tại sao bé bùng nổ khi phải chuyển tiếp hoạt động (ví dụ: đang xếp hình phải dừng lại đi tắm).
- Cơ chế: Để chuyển từ hành động A sang hành động B, Vỏ não trán ổ mắt (Orbitofrontal Cortex – OFC) và Hạch nền (Basal Ganglia – đặc biệt là Nhân đuôi) phải thực hiện thao tác: “Tắt chương trình A → Xóa bộ nhớ đệm → Bật chương trình B”.
- Hệ quả: Ở trẻ tự kỷ, mạch thần kinh tại Hạch nền có xu hướng “khóa cứng” để duy trì tính ổn định (cũng là nơi tạo ra các hành vi lặp đi lặp lại). Khi người lớn bắt bé chuyển hoạt động ngay lập tức, não bé rơi vào trạng thái “kẹt số cơ học” — chương trình A chưa kịp tắt mà chương trình B đã bị ép nạp vào. Sự xung đột dữ liệu này gây ra “đoản mạch” tạm thời, kích hoạt hệ thống báo động khẩn cấp.
3. Mất cân bằng Hưng phấn / Ức chế (Tỷ lệ Glutamate / GABA)
Đây là cơ chế ở cấp độ hóa học tế bào giải thích tại sao cơn bùng nổ lại diễn ra nhanh (dưới 1 giây) và kéo dài (khó dỗ).
- Cơ chế: Não bộ vận hành nhờ hai bàn đạp: Glutamate (chất dẫn truyền kích thích – chân ga) và GABA (chất dẫn truyền ức chế – chân phanh). Một giả thuyết rất nổi tiếng trong khoa học tự kỷ là sự mất cân bằng tỷ lệ E/I (Excitation/Inhibition Imbalance) — tức là thừa Glutamate nhưng thiếu hụt GABA (hoặc thụ thể GABA hoạt động kém hiệu quả).
- Hệ quả: Khi có một kích thích nhỏ (bị từ chối), vì thiếu “chất làm dịu” GABA tại chỗ, các nơ-ron vùng cảm xúc bắn xung điện bằng Glutamate lan truyền như một đám cháy rừng không có vòi cứu hỏa. Đặc biệt, trong Hiệu ứng Sốt, nhiệt độ và các cytokine viêm đã được chứng minh là giúp điều chỉnh lại hoạt động của hệ Glutamate/GABA này, giúp não bé êm dịu hơn.
4. “Phanh dây thần kinh Phế vị” bị tuột (Polyvagal Theory & Vagal Brake)
Cơ chế này giải thích trực tiếp hiện tượng “đỏ mặt tía tai” và chuyển từ cáu giận sang la hét không kiểm soát.
- Cơ chế: Theo Lý thuyết Đa phế vị (Polyvagal Theory của Tiến sĩ Stephen Porges), nhánh bụng của Dây thần kinh số X (Dây thần kinh Phế vị – Vagus Nerve) đóng vai trò giữ nhịp tim bình tĩnh và điều khiển cơ mặt, giọng nói để giao tiếp xã hội. Nó được gọi là “Phanh Phế vị” (Vagal Brake).
- Hệ quả: Ở trẻ tự kỷ, trương lực dây thần kinh phế vị khi gặp căng thẳng thường rất mỏng manh. Ngay khi gặp điều không vừa ý, “Phanh Phế vị” bị nhả ra hoàn toàn trong tích tắc. Ngay lập tức, máu dồn lên mặt (đỏ mặt tía tai), thanh quản co thắt tạo ra tiếng la hét tần số cao, và hệ thần kinh lùi về trạng thái sinh tồn nguyên thủy.
5. Vùng Dưới đồi và Chất xám quanh cống não (PAG – Công tắc thịnh nộ)
Nếu một đứa trẻ chỉ cáu bình thường thì chỉ dừng ở vỏ não và hạch hạnh nhân. Nhưng nếu trẻ la hét kéo dài, đỏ mặt tía tai, đập phá, tín hiệu đã đi xuống sâu hơn:
- Cơ chế: Khi Hạch hạnh nhân bị kích thích quá ngưỡng mà không có Vỏ não trước trán kìm lại, nó truyền lệnh thẳng xuống Vùng dưới đồi (Hypothalamus) và Chất xám quanh cống não (Periaqueductal Gray – PAG) ở trung não.
- Hệ quả: PAG chính là trung tâm điều khiển phản ứng “Thịnh nộ phòng vệ” (Defensive Rage) bẩm sinh của động vật có vú. Một khi PAG đã bị kích hoạt, đứa trẻ hoàn toàn không còn khả năng nghe lời giải thích lý lẽ (vì vùng ngôn ngữ đã bị ngắt kết nối tạm thời), và cơ thể phải xả hết năng lượng sinh học qua việc la hét thì cơn bùng nổ mới dừng lại.
🔍 LÀM SAO ĐỂ BIẾT NGUYÊN NHÂN NÀO ĐANG CHIẾM ƯU THẾ Ở BÉ?
Bảng tổng hợp dưới đây sẽ giúp bạn định hình nguyên nhân nào đang chiếm ưu thế ở bé:
| Nguyên nhân thần kinh | Dấu hiệu nhận biết đặc trưng trong cơn bùng nổ | Đích tác động sinh học / dược lý tương ứng |
|---|---|---|
| 1. Tụt áp Dopamine (RPE) | Chỉ bùng nổ khi bị từ chối thứ đang muốn hoặc bị lấy mất đồ chơi yêu thích. Nếu được cho lại món đồ đó thì nín ngay lập tức. | Hệ Dopamine/Norepinephrine tại vỏ não trước trán và thể vân. |
| 2. Kẹt số chuyển tiếp (OFC & Hạch nền) | Bùng nổ ngay cả khi chuyển từ một việc bình thường sang một việc bé rất thích (chỉ vì sự thay đổi diễn ra bất ngờ, không báo trước). | Hệ Serotonin, Dopamine và tính linh hoạt của mạng lưới điều hành (Alpha-2A). |
| 3. Thiếu hụt phanh GABA / Thừa Glutamate | Cơn bùng nổ kéo dài rất lâu (“lâu hơn là la hét”), dù nguyên nhân ban đầu đã được giải quyết nhưng não bé vẫn không tự “hạ nhiệt” được. | Hệ GABAergic / Glutamatergic (Đây là đích mà cơn sốt và các chất chống viêm thần kinh như Sulforaphane, NAC tác động rất mạnh). |
| 4. Kích hoạt trục Hạnh nhân – Nhân xanh (NE) | Phản ứng thể chất cực nhanh (đỏ mặt tía tai trong vài giây), gồng cứng người, tim đập thình thịch lúc đang cáu. | Thụ thể Alpha-2A (Guanfacine) để giữ phanh từ trên xuống, hoặc Beta-blocker (Propranolol) khóa phản ứng đỏ mặt/tim đập. |
📌 Thực tế lâm sàng: Đến trên 80% trẻ tự kỷ gắn với nguyên nhân “Tụt áp Dopamine (RPE)” với biểu hiện đặc trưng: “Chỉ bùng nổ khi bị từ chối thứ đang muốn hoặc bị lấy mất đồ chơi yêu thích. Nếu được cho lại món đồ đó thì nín ngay lập tức”.
📖 Làm sao để điều trị cáu gắt, bùng nổ cảm xúc ở trẻ tự kỷ? Những bài viết dưới đây sẽ hữu ích:
Sách: Hướng dẫn cha mẹ thực hành trị liệu hoạt động cho trẻ tự kỷ
Đây là cuốn sách Hướng dẫn cha mẹ thực hành trị liệu hoạt động cho trẻ tự kỷ (thực hành kỹ năng vận động, phối hợp cảm giác, tự đi vệ sinh) do Trần Thị Bích Ngọc và Đỗ Tiến Sơn dịch.
Trẻ tự kỷ Bùng nổ nhanh, cáu gắt,... Chuẩn đoán theo cơ chế thần kinh?
Gần như trên 90% cha mẹ nuôi con tự kỷ đều gặp vấn đề bùng nổ cảm xúc ở trẻ. Hiện tượng một đứa trẻ thuộc phổ tự kỷ bùng nổ tức thì, la hét, đỏ mặt tía tai ngay khoảnh khắc bị từ chối hoặc bị yêu cầu chuyển đổi hoạt động (transition) thực chất là kết quả của một “phản ứng dây chuyền” trong não bộ.
🧠 TIẾP CẬN NGUYÊN NHÂN TRẺ TỰ KỶ BÙNG NỔ CẢM XÚC
Có 5 cơ chế thần kinh cốt lõi trong não bộ có thể là nguyên nhân gốc rễ châm ngòi cho vụ nổ này:
1. “Cú sốc tụt áp Dopamine” (Reward Prediction Error – RPE)
Đây là nguyên nhân hàng đầu giải thích cho việc bùng nổ khi bị từ chối hoặc bị lấy mất đồ đang chơi.
- Cơ chế: Hệ thống khen thưởng của não (tại Nhân accumbens và Thể vân – Striatum) hoạt động dựa trên Dopamine. Khi bé đang chơi vui hoặc đang kỳ vọng có được một thứ gì đó, mức Dopamine đang ở đỉnh cao. Khi bị từ chối đột ngột, trong não xảy ra hiện tượng gọi là Sai số dự đoán phần thưởng âm tính (Negative Reward Prediction Error) — nồng độ Dopamine rơi thẳng đứng xuống vực sâu trong vài phần nghìn giây.
- Hệ quả: Ở não bộ tự kỷ, sự sụt giảm Dopamine đột ngột này không chỉ gây cảm giác “tiếc nuối” nhẹ như người bình thường, mà nó kích hoạt ngay lập tức Vùng vỏ não đai trước (Anterior Cingulate Cortex – ACC) — vùng não xử lý nỗi đau thể xác. Tức là đối với não của bé, câu nói “Không được!” tạo ra một tín hiệu thần kinh tương đương với việc bị đánh đau, dẫn đến phản ứng gào thét dữ dội để tự vệ.
2. “Kẹt số” tại Hạch nền và Vỏ não trán ổ mắt (Cognitive Inflexibility)
Cơ chế này giải thích tại sao bé bùng nổ khi phải chuyển tiếp hoạt động (ví dụ: đang xếp hình phải dừng lại đi tắm).
- Cơ chế: Để chuyển từ hành động A sang hành động B, Vỏ não trán ổ mắt (Orbitofrontal Cortex – OFC) và Hạch nền (Basal Ganglia – đặc biệt là Nhân đuôi) phải thực hiện thao tác: “Tắt chương trình A → Xóa bộ nhớ đệm → Bật chương trình B”.
- Hệ quả: Ở trẻ tự kỷ, mạch thần kinh tại Hạch nền có xu hướng “khóa cứng” để duy trì tính ổn định (cũng là nơi tạo ra các hành vi lặp đi lặp lại). Khi người lớn bắt bé chuyển hoạt động ngay lập tức, não bé rơi vào trạng thái “kẹt số cơ học” — chương trình A chưa kịp tắt mà chương trình B đã bị ép nạp vào. Sự xung đột dữ liệu này gây ra “đoản mạch” tạm thời, kích hoạt hệ thống báo động khẩn cấp.
3. Mất cân bằng Hưng phấn / Ức chế (Tỷ lệ Glutamate / GABA)
Đây là cơ chế ở cấp độ hóa học tế bào giải thích tại sao cơn bùng nổ lại diễn ra nhanh (dưới 1 giây) và kéo dài (khó dỗ).
- Cơ chế: Não bộ vận hành nhờ hai bàn đạp: Glutamate (chất dẫn truyền kích thích – chân ga) và GABA (chất dẫn truyền ức chế – chân phanh). Một giả thuyết rất nổi tiếng trong khoa học tự kỷ là sự mất cân bằng tỷ lệ E/I (Excitation/Inhibition Imbalance) — tức là thừa Glutamate nhưng thiếu hụt GABA (hoặc thụ thể GABA hoạt động kém hiệu quả).
- Hệ quả: Khi có một kích thích nhỏ (bị từ chối), vì thiếu “chất làm dịu” GABA tại chỗ, các nơ-ron vùng cảm xúc bắn xung điện bằng Glutamate lan truyền như một đám cháy rừng không có vòi cứu hỏa. Đặc biệt, trong Hiệu ứng Sốt, nhiệt độ và các cytokine viêm đã được chứng minh là giúp điều chỉnh lại hoạt động của hệ Glutamate/GABA này, giúp não bé êm dịu hơn.
4. “Phanh dây thần kinh Phế vị” bị tuột (Polyvagal Theory & Vagal Brake)
Cơ chế này giải thích trực tiếp hiện tượng “đỏ mặt tía tai” và chuyển từ cáu giận sang la hét không kiểm soát.
- Cơ chế: Theo Lý thuyết Đa phế vị (Polyvagal Theory của Tiến sĩ Stephen Porges), nhánh bụng của Dây thần kinh số X (Dây thần kinh Phế vị – Vagus Nerve) đóng vai trò giữ nhịp tim bình tĩnh và điều khiển cơ mặt, giọng nói để giao tiếp xã hội. Nó được gọi là “Phanh Phế vị” (Vagal Brake).
- Hệ quả: Ở trẻ tự kỷ, trương lực dây thần kinh phế vị khi gặp căng thẳng thường rất mỏng manh. Ngay khi gặp điều không vừa ý, “Phanh Phế vị” bị nhả ra hoàn toàn trong tích tắc. Ngay lập tức, máu dồn lên mặt (đỏ mặt tía tai), thanh quản co thắt tạo ra tiếng la hét tần số cao, và hệ thần kinh lùi về trạng thái sinh tồn nguyên thủy.
5. Vùng Dưới đồi và Chất xám quanh cống não (PAG – Công tắc thịnh nộ)
Nếu một đứa trẻ chỉ cáu bình thường thì chỉ dừng ở vỏ não và hạch hạnh nhân. Nhưng nếu trẻ la hét kéo dài, đỏ mặt tía tai, đập phá, tín hiệu đã đi xuống sâu hơn:
- Cơ chế: Khi Hạch hạnh nhân bị kích thích quá ngưỡng mà không có Vỏ não trước trán kìm lại, nó truyền lệnh thẳng xuống Vùng dưới đồi (Hypothalamus) và Chất xám quanh cống não (Periaqueductal Gray – PAG) ở trung não.
- Hệ quả: PAG chính là trung tâm điều khiển phản ứng “Thịnh nộ phòng vệ” (Defensive Rage) bẩm sinh của động vật có vú. Một khi PAG đã bị kích hoạt, đứa trẻ hoàn toàn không còn khả năng nghe lời giải thích lý lẽ (vì vùng ngôn ngữ đã bị ngắt kết nối tạm thời), và cơ thể phải xả hết năng lượng sinh học qua việc la hét thì cơn bùng nổ mới dừng lại.
🔍 LÀM SAO ĐỂ BIẾT NGUYÊN NHÂN NÀO ĐANG CHIẾM ƯU THẾ Ở BÉ?
Bảng tổng hợp dưới đây sẽ giúp bạn định hình nguyên nhân nào đang chiếm ưu thế ở bé:
| Nguyên nhân thần kinh | Dấu hiệu nhận biết đặc trưng trong cơn bùng nổ | Đích tác động sinh học / dược lý tương ứng |
|---|---|---|
| 1. Tụt áp Dopamine (RPE) | Chỉ bùng nổ khi bị từ chối thứ đang muốn hoặc bị lấy mất đồ chơi yêu thích. Nếu được cho lại món đồ đó thì nín ngay lập tức. | Hệ Dopamine/Norepinephrine tại vỏ não trước trán và thể vân. |
| 2. Kẹt số chuyển tiếp (OFC & Hạch nền) | Bùng nổ ngay cả khi chuyển từ một việc bình thường sang một việc bé rất thích (chỉ vì sự thay đổi diễn ra bất ngờ, không báo trước). | Hệ Serotonin, Dopamine và tính linh hoạt của mạng lưới điều hành (Alpha-2A). |
| 3. Thiếu hụt phanh GABA / Thừa Glutamate | Cơn bùng nổ kéo dài rất lâu (“lâu hơn là la hét”), dù nguyên nhân ban đầu đã được giải quyết nhưng não bé vẫn không tự “hạ nhiệt” được. | Hệ GABAergic / Glutamatergic (Đây là đích mà cơn sốt và các chất chống viêm thần kinh như Sulforaphane, NAC tác động rất mạnh). |
| 4. Kích hoạt trục Hạnh nhân – Nhân xanh (NE) | Phản ứng thể chất cực nhanh (đỏ mặt tía tai trong vài giây), gồng cứng người, tim đập thình thịch lúc đang cáu. | Thụ thể Alpha-2A (Guanfacine) để giữ phanh từ trên xuống, hoặc Beta-blocker (Propranolol) khóa phản ứng đỏ mặt/tim đập. |
📌 Thực tế lâm sàng: Đến trên 80% trẻ tự kỷ gắn với nguyên nhân “Tụt áp Dopamine (RPE)” với biểu hiện đặc trưng: “Chỉ bùng nổ khi bị từ chối thứ đang muốn hoặc bị lấy mất đồ chơi yêu thích. Nếu được cho lại món đồ đó thì nín ngay lập tức”.
📖 Làm sao để điều trị cáu gắt, bùng nổ cảm xúc ở trẻ tự kỷ? Những bài viết dưới đây sẽ hữu ích:
[Chậm phát triển] Thang Kyoto: Công cụ đánh giá sự phát triển tâm lý – vận động và tính chỉ số DQ
Thang đánh giá sự phát triển tâm lý Kyoto (Kyoto Scale of Psychological Development – viết tắt là KSPD) là một trong những bộ công cụ đánh giá phát triển lâm sàng quan trọng và có lịch sử ứng dụng lâu đời tại Việt Nam, đặc biệt ở các trường đại học sư phạm, viện tâm lý và bệnh viện nhi.
Tuy nhiên, dưới góc độ chuyên môn và thiết kế phần mềm, bạn cần nắm rõ bản chất: KSPD KHÔNG phải là thang sàng lọc hay chẩn đoán đặc hiệu cho tự kỷ, mà là thang đo sự phát triển tâm lý – vận động tổng quát (tương tự như Bayley-III hay Denver II), được dùng để xác định “Tuổi phát triển” và “Chỉ số phát triển (DQ)” của trẻ tự kỷ hoặc chậm phát triển.
Lưu ý: Bố mẹ cần Bộ giáo cụ vật lý tiêu chuẩn để kết hợp với bộ câu hỏi để đánh giá. Công cụ dưới đây chủ yếu phục vụ các thầy cô hoặc chuyên gia, giúp họ nhập liệu và in kết quả đánh giá chính xác sau quá trình kiểm tra.
:host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; } .kspd-outer { width: 100%; background: transparent; position: relative; } /* 2. KHI BẬT CHẾ ĐỘ TOÀN MÀN HÌNH (DOM PORTAL RA BODY) */ .kspd-outer.is-fullscreen { width: 100% !important; min-height: 100% !important; background: #f8fafc !important; padding-bottom: 90px !important; } .kspd-wrap { max-width: 1080px; margin: 0 auto; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; color: #1e293b; } .kspd-outer.is-fullscreen .kspd-wrap { padding: 18px; } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 18px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .kspd-outer.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 14px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* 3. NÚT NỔI TRƯỢT DỌC THEO VÙNG BẢNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(30, 58, 138, 0.45), 0 0 0 0 rgba(30, 58, 138, 0.4); } 70% { box-shadow: 0 6px 20px rgba(30, 58, 138, 0.45), 0 0 0 10px rgba(30, 58, 138, 0); } 100% { box-shadow: 0 6px 20px rgba(30, 58, 138, 0.45), 0 0 0 0 rgba(30, 58, 138, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #1e3a8a 0%, #2563eb 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(30, 58, 138, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } .btn-fullscreen-top { background: #eff6ff; color: #1d4ed8; border: 1px solid #bfdbfe; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #2563eb; color: #ffffff; border-color: #2563eb; } /* CSS GỐC CỦA HỆ THỐNG KSPD */ .kspd-box { background: #fff; border: 1px solid #e2e8f0; border-radius: 12px; padding: 24px; margin-bottom: 24px; box-shadow: 0 4px 12px rgba(0,0,0,0.04); } .kspd-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; } .kspd-grid-4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-top: 14px; } .kspd-field label { display: block; font-weight: 600; font-size: 13.5px; margin-bottom: 6px; color: #334155; } .kspd-field input, .kspd-field textarea, .kspd-field select { width: 100%; padding: 9px 12px; border: 1px solid #cbd5e1; border-radius: 6px; font-size: 14.5px; box-sizing: border-box; background: #fff; color: #1e293b; font-family: inherit; } .kspd-btn { background: #2563eb; color: #fff !important; text-decoration: none !important; border: none; padding: 10px 18px; border-radius: 6px; font-size: 14px; font-weight: 600; cursor: pointer; display: inline-block; font-family: inherit; } .kspd-btn:hover { background: #1d4ed8; } .kspd-btn-sm { padding: 6px 12px; font-size: 12.5px; border-radius: 5px; } .kspd-btn-danger { background: #dc2626; } .kspd-btn-outline { background: #f1f5f9; color: #1e293b !important; border: 1px solid #cbd5e1; } .kspd-tabs { display: flex; gap: 8px; border-bottom: 2px solid #e2e8f0; margin-top: 16px; padding-bottom: 8px; flex-wrap: wrap; } .kspd-tab-btn { background: #f8fafc; border: 1px solid #cbd5e1; padding: 9px 16px; border-radius: 6px; cursor: pointer; font-weight: 600; color: #475569; font-family: inherit; } .kspd-tab-btn.active { background: #1e3a8a; color: #fff; border-color: #1e3a8a; } .kspd-tab-pane { display: none; padding-top: 12px; max-height: 520px; overflow-y: auto; border: 1px solid #e2e8f0; border-radius: 8px; margin-top: 8px; background: #fff; } .kspd-outer.is-fullscreen .kspd-tab-pane { max-height: 68vh; } .kspd-tab-pane.active { display: block; } .kspd-table-scroll { width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; } .kspd-table { width: 100%; border-collapse: collapse; font-size: 13.5px; min-width: 640px; } .kspd-table th, .kspd-table td { border: 1px solid #cbd5e1; padding: 9px 10px; text-align: center; } .kspd-table th { background: #f1f5f9; font-weight: 700; position: sticky; top: 0; z-index: 2; } .kspd-radio-group label { display: inline-block; margin-right: 6px; cursor: pointer; font-weight: 600; padding: 4px 8px; border-radius: 4px; border: 1px solid #cbd5e1; font-size: 12.5px; } .kspd-basal-row { background: #f0fdf4 !important; opacity: 0.85; } @media (max-width: 768px) { .kspd-grid-2, .kspd-grid-4 { grid-template-columns: 1fr; } .kspd-box { padding: 14px; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } } @media print { .no-print, .fs-floating-bar, .floating-zoom-fab, .btn-fullscreen-top { display: none !important; } .kspd-box { box-shadow: none; border: none; padding: 0; } }
1. Phiếu Chấm Điện Tử KSPD Đầy Đủ (Đang nạp: 323 tiểu mục)
Bao gồm: 76 mục P-M (1–60 tháng), 126 mục C-A (1–156 tháng) và 126 mục L-S (1–156 tháng).
| Bậc tuổi | Mã mục | Nội dung tiểu mục thử nghiệm KSPD | Trọng số | Kết quả chấm |
|---|---|---|---|---|
| 1 tháng | PM_001_1 |
Nằm sấp nhấc cằm rời mặt giường | +0.25 th | |
| 1 tháng | PM_001_2 |
Nằm ngửa giữ đầu ở đường giữa hoặc quay sang bên | +0.25 th | |
| 1 tháng | PM_001_3 |
Phản xạ nắm chặt bàn tay khi chạm vào lòng bàn tay | +0.25 th | |
| 1 tháng | PM_001_4 |
Co duỗi hai chân luân phiên khi nằm ngửa | +0.25 th | |
| 2 tháng | PM_002_1 |
Nằm sấp nâng đầu góc 45 độ giữ vững | +0.25 th | |
| 2 tháng | PM_002_2 |
Giữ đầu thẳng tạm thời khi được bế vác vai | +0.25 th | |
| 2 tháng | PM_002_3 |
Đạp duỗi hai chân mạnh mẽ có nhịp điệu | +0.25 th | |
| 2 tháng | PM_002_4 |
Nằm sấp chịu lực nhẹ trên hai cẳng tay | +0.25 th | |
| 3 tháng | PM_003_1 |
Nằm sấp chống hai cẳng tay nâng đầu và ngực góc 90 độ | +0.25 th | |
| 3 tháng | PM_003_2 |
Giữ đầu vững vàng khi bế ngồi có đỡ lưng | +0.25 th | |
| 3 tháng | PM_003_3 |
Kéo ngồi dậy đầu không bị ngửa trễ ra sau | +0.25 th | |
| 3 tháng | PM_003_4 |
Nằm ngửa đưa hai bàn tay chụm lại ở đường giữa ngực | +0.25 th | |
| 4 tháng | PM_004_1 |
Lẫy từ nằm sấp sang nằm ngửa hoặc nghiêng người | +0.25 th | |
| 4 tháng | PM_004_2 |
Ngồi có đỡ giữ thẳng lưng trên | +0.25 th | |
| 4 tháng | PM_004_3 |
Khi giữ đứng nách, chân chịu được một phần trọng lượng cơ thể | +0.25 th | |
| 4 tháng | PM_004_4 |
Nằm sấp duỗi thẳng hai tay chống nâng ngực cao | +0.25 th | |
| 5 tháng | PM_005_1 |
Lẫy hoàn chỉnh từ nằm ngửa sang nằm sấp | +0.25 th | |
| 5 tháng | PM_005_2 |
Kéo hai tay trẻ từ nằm ngửa lên tư thế ngồi (trẻ tự gồng cổ kéo lên) | +0.25 th | |
| 5 tháng | PM_005_3 |
Giữ đứng dưới nách trẻ nhún nhảy hai chân liên tục | +0.25 th | |
| 5 tháng | PM_005_4 |
Nằm sấp xoay trục cơ thể sang hai bên | +0.25 th | |
| 6 tháng | PM_006_1 |
Ngồi chống hai tay phía trước giữ thăng bằng ngắn | +0.25 th | |
| 6 tháng | PM_006_2 |
Lẫy lăn tròn hai chiều ngửa - sấp linh hoạt | +0.25 th | |
| 6 tháng | PM_006_3 |
Nằm sấp với một tay lấy đồ chơi phía trước | +0.25 th | |
| 6 tháng | PM_006_4 |
Chịu toàn bộ sức nặng trên hai chân khi được giữ nách | +0.25 th | |
| 7 tháng | PM_007_1 |
Tự ngồi vững không cần chống tay (> 30 giây) | +0.25 th | |
| 7 tháng | PM_007_2 |
Trườn sấp tiến về phía trước để lấy đồ chơi | +0.25 th | |
| 7 tháng | PM_007_3 |
Chuyển từ tư thế nằm sấp sang chống bốn điểm (tay - gối) | +0.25 th | |
| 7 tháng | PM_007_4 |
Ngồi vững xoay người sang hai bên lấy đồ vật | +0.25 th | |
| 8 tháng | PM_008_1 |
Bò phối hợp tay và đầu gối nhịp nhàng | +0.25 th | |
| 8 tháng | PM_008_2 |
Tự chuyển từ tư thế nằm sấp/bò sang ngồi độc lập | +0.25 th | |
| 8 tháng | PM_008_3 |
Vịn thành giường/cũi tự kéo người đứng dậy trên hai chân | +0.25 th | |
| 8 tháng | PM_008_4 |
Ngồi vững nghiêng người nhặt đồ chơi không mất thăng bằng | +0.25 th | |
| 9 tháng | PM_009_1 |
Đứng vịn vững vàng bằng một tay hoặc hai tay vào thành ghế | +0.25 th | |
| 9 tháng | PM_009_2 |
Tự ngồi xuống từ tư thế đứng vịn có kiểm soát | +0.25 th | |
| 9 tháng | PM_009_3 |
Lần bước đi ngang dọc theo thành giường/ghế sofa | +0.25 th | |
| 9 tháng | PM_009_4 |
Bò vượt qua chướng ngại vật thấp trên sàn | +0.25 th | |
| 10 tháng | PM_010_1 |
Đi men thành bàn/ghế chỉ dùng 1 tay giữ nhẹ | +0.25 th | |
| 10 tháng | PM_010_2 |
Đứng buông tay độc lập vài giây (2-3 giây) | +0.25 th | |
| 10 tháng | PM_010_3 |
Bò leo lên bậc cầu thang hoặc bậc thềm thấp | +0.25 th | |
| 10 tháng | PM_010_4 |
Bước đi về phía trước khi người lớn dắt hai tay | +0.25 th | |
| 11 tháng | PM_011_1 |
Tự đứng vững một mình không cần vịn (> 5-10 giây) | +0.25 th | |
| 11 tháng | PM_011_2 |
Đi về phía trước khi người lớn chỉ dắt một tay | +0.25 th | |
| 11 tháng | PM_011_3 |
Ngồi xổm xuống nhặt đồ chơi rồi đứng lên có vịn nhẹ | +0.25 th | |
| 11 tháng | PM_011_4 |
Tự đứng dậy từ giữa sàn không cần vịn đồ vật | +0.25 th | |
| 12 tháng | PM_012_1 |
Tự bước đi độc lập 3 - 5 bước đầu tiên | +0.25 th | |
| 12 tháng | PM_012_2 |
Đứng vững cúi nhặt đồ chơi rồi đứng thẳng lên không ngã | +0.25 th | |
| 12 tháng | PM_012_3 |
Vừa đi vừa cầm đồ chơi trên tay | +0.25 th | |
| 12 tháng | PM_012_4 |
Bò lùi xuống bậc thềm/cầu thang an toàn | +0.25 th | |
| 15 tháng | PM_015_1 |
Đi độc lập vững vàng khắp phòng, tự dừng và đổi hướng | +0.75 th | |
| 15 tháng | PM_015_2 |
Bước lên cầu thang khi được dắt 1 tay hoặc vịn tường | +0.75 th | |
| 15 tháng | PM_015_3 |
Đi lùi về phía sau 2 - 3 bước | +0.75 th | |
| 15 tháng | PM_015_4 |
Ngồi xuống ghế nhỏ trẻ em độc lập | +0.75 th | |
| 18 tháng | PM_018_1 |
Chạy cứng chân nhưng hiếm khi bị ngã | +0.75 th | |
| 18 tháng | PM_018_2 |
Bước lên cầu thang có vịn lan can (bước dồn 2 chân/bậc) | +0.75 th | |
| 18 tháng | PM_018_3 |
Đá quả bóng về phía trước (bóng lăn đi, trẻ không ngã) | +0.75 th | |
| 18 tháng | PM_018_4 |
Đi kéo theo đồ chơi có dây phía sau lưng | +0.75 th | |
| 21 tháng | PM_021_1 |
Bước xuống cầu thang có vịn tay hoặc dắt 1 tay (dồn chân) | +0.75 th | |
| 21 tháng | PM_021_2 |
Chạy khá vững và biết tránh vật cản trên đường | +0.75 th | |
| 21 tháng | PM_021_3 |
Đứng ném bóng từ trên cao về phía trước không mất đà | +0.75 th | |
| 21 tháng | PM_021_4 |
Nhảy từ bậc cầu thang cuối cùng xuống sàn có đỡ nhẹ | +0.75 th | |
| 24 tháng | PM_024_1 |
Chạy tốt, tự dừng lại và chuyển hướng đột ngột không ngã | +0.75 th | |
| 24 tháng | PM_024_2 |
Tự lên và xuống cầu thang không cần vịn (dồn chân) | +0.75 th | |
| 24 tháng | PM_024_3 |
Nhảy tại chỗ hai chân rời mặt đất cùng lúc | +0.75 th | |
| 24 tháng | PM_024_4 |
Đứng kiễng gót chân theo mẫu | +0.75 th | |
| 30 tháng | PM_030_1 |
Nhảy từ bục cao 15-20cm xuống đất bằng hai chân vững vàng | +1.50 th | |
| 30 tháng | PM_030_2 |
Đi kiễng gót chân liên tục trên một đoạn dài (> 2m) | +1.50 th | |
| 30 tháng | PM_030_3 |
Bước lên cầu thang luân phiên từng chân có vịn nhẹ | +1.50 th | |
| 30 tháng | PM_030_4 |
Đứng một chân giữ thăng bằng được 1 - 2 giây | +1.50 th | |
| 36 tháng | PM_036_1 |
Bước lên cầu thang luân phiên từng chân không cần vịn | +1.50 th | |
| 36 tháng | PM_036_2 |
Đứng một chân giữ thăng bằng vững từ 3 - 5 giây | +1.50 th | |
| 36 tháng | PM_036_3 |
Nhảy xa về phía trước bằng hai chân chụm (> 30cm) | +1.50 th | |
| 36 tháng | PM_036_4 |
Đạp xe ba bánh tiến về phía trước và điều khiển tay lái | +1.50 th | |
| 42 tháng | PM_042_1 |
Bước xuống cầu thang luân phiên từng chân không cần vịn | +1.50 th | |
| 42 tháng | PM_042_2 |
Nhảy lò cò trên một chân được 2 - 3 bước | +1.50 th | |
| 42 tháng | PM_042_3 |
Bắt quả bóng to ném tới bằng hai bàn tay (không ôm vào ngực) | +1.50 th | |
| 42 tháng | PM_042_4 |
Đi nối gót (mũi chân sau chạm gót chân trước) trên vạch thẳng | +1.50 th | |
| 48 tháng | PM_048_1 |
Đứng một chân giữ thăng bằng vững vàng > 8 - 10 giây | +1.50 th | |
| 48 tháng | PM_048_2 |
Nhảy lò cò một chân liên tục 5 - 8 bước tiến về trước | +1.50 th | |
| 48 tháng | PM_048_3 |
Nhảy qua dây căng thấp (cao 15-20cm) bằng hai chân chụm | +1.50 th | |
| 48 tháng | PM_048_4 |
Chạy nhanh đổi hướng zíc-zắc linh hoạt | +1.50 th | |
| 54 tháng | PM_054_1 |
Đi thăng bằng lùi nối gót trên đường kẻ thẳng 2m | +3.00 th | |
| 54 tháng | PM_054_2 |
Ném bóng nhỏ trúng đích ở khoảng cách 1.5 - 2m | +3.00 th | |
| 60 tháng | PM_060_1 |
Nhảy chân sáo (Skipping) luân phiên hai chân nhịp nhàng | +3.00 th | |
| 60 tháng | PM_060_2 |
Đứng một chân nhắm mắt giữ thăng bằng > 5 giây | +3.00 th |
| Bậc tuổi | Mã mục | Nội dung tiểu mục thử nghiệm KSPD | Trọng số | Kết quả chấm |
|---|---|---|---|---|
| 1 tháng | CA_001_1 |
Mắt nhìn tập trung vào khuôn mặt người đối diện hoặc vòng tròn đỏ | +0.25 th | |
| 1 tháng | CA_001_2 |
Mắt dõi theo vòng tròn đỏ di chuyển từ bên này sang đường giữa | +0.25 th | |
| 1 tháng | CA_001_3 |
Nghe tiếng chuông lắc có phản ứng chớp mắt hoặc dừng cử động | +0.25 th | |
| 1 tháng | CA_001_4 |
Mắt nhìn theo vật di chuyển góc 45 độ | +0.25 th | |
| 2 tháng | CA_002_1 |
Mắt dõi theo vòng tròn đỏ di chuyển qua đường giữa 90 - 180 độ | +0.25 th | |
| 2 tháng | CA_002_2 |
Mắt nhìn theo người di chuyển trong phòng | +0.25 th | |
| 2 tháng | CA_002_3 |
Chuyển ánh nhìn luân phiên giữa hai vật thể đặt trước mặt | +0.25 th | |
| 2 tháng | CA_002_4 |
Bàn tay mở hé thường xuyên hơn, giữ lục lạc ngắn khi đặt vào tay | +0.25 th | |
| 3 tháng | CA_003_1 |
Mắt dõi theo vòng tròn đỏ di chuyển vòng tròn 180 độ hoàn chỉnh | +0.25 th | |
| 3 tháng | CA_003_2 |
Nhìn ngắm hai bàn tay của chính mình (Hand regard) | +0.25 th | |
| 3 tháng | CA_003_3 |
Cầm giữ lục lạc chủ động và lắc nhẹ tạo âm thanh | +0.25 th | |
| 3 tháng | CA_003_4 |
Nhìn ngay vào khối gỗ hoặc đồ chơi đặt trên mặt bàn trước mặt | +0.25 th | |
| 4 tháng | CA_004_1 |
Đưa hai tay hướng về phía đồ chơi treo trước ngực (chưa chạm chuẩn) | +0.25 th | |
| 4 tháng | CA_004_2 |
Chạm và nắm được đồ chơi đưa gần tầm tay | +0.25 th | |
| 4 tháng | CA_004_3 |
Đưa đồ chơi cầm được vào miệng khám phá | +0.25 th | |
| 4 tháng | CA_004_4 |
Quay đầu tìm kiếm chính xác hướng phát ra tiếng chuông | +0.25 th | |
| 5 tháng | CA_005_1 |
Với một tay nắm trúng khối gỗ đặt trên bàn ngay lần đầu | +0.25 th | |
| 5 tháng | CA_005_2 |
Cầm một khối gỗ và mắt nhìn chú ý sang khối gỗ thứ hai | +0.25 th | |
| 5 tháng | CA_005_3 |
Cầm giấy vò hoặc vẫy tạo tiếng sột soạt | +0.25 th | |
| 5 tháng | CA_005_4 |
Kéo khăn che trên mặt mình ra | +0.25 th | |
| 6 tháng | CA_006_1 |
Chuyển đồ chơi/khối gỗ từ tay này sang tay kia thành thạo | +0.25 th | |
| 6 tháng | CA_006_2 |
Mỗi tay cầm giữ đồng thời một khối gỗ vuông (2 khối) | +0.25 th | |
| 6 tháng | CA_006_3 |
Đập khối gỗ hoặc đồ chơi xuống mặt bàn tạo tiếng kêu | +0.25 th | |
| 6 tháng | CA_006_4 |
Nhìn theo đồ vật bị rơi xuống sàn nhà | +0.25 th | |
| 7 tháng | CA_007_1 |
Cầm kẹp khối gỗ bằng ngón cái và các ngón (Radial palmar grasp) | +0.25 th | |
| 7 tháng | CA_007_2 |
Giữ 2 khối gỗ trên hai tay và mắt nhìn sang khối thứ 3 | +0.25 th | |
| 7 tháng | CA_007_3 |
Lật cốc úp để lấy đồ chơi vừa được giấu bên dưới (che một phần) | +0.25 th | |
| 7 tháng | CA_007_4 |
Dùng tay cào lấy hạt nhỏ trên mặt bàn | +0.25 th | |
| 8 tháng | CA_008_1 |
Đập hai khối gỗ trên hai tay vào nhau ở đường giữa | +0.25 th | |
| 8 tháng | CA_008_2 |
Kéo dây để lấy chiếc vòng gắn ở đầu dây về phía mình | +0.25 th | |
| 8 tháng | CA_008_3 |
Lật khăn/cốc tìm đồ chơi bị giấu kín hoàn toàn trước mặt | +0.25 th | |
| 8 tháng | CA_008_4 |
Cầm giữ khối gỗ thứ 2 mà không làm rơi khối thứ 1 | +0.25 th | |
| 9 tháng | CA_009_1 |
Cầm kẹp hạt nhỏ bằng ngón cái và cạnh ngón trỏ (Scissor grasp) | +0.25 th | |
| 9 tháng | CA_009_2 |
Chọc ngón trỏ vào lỗ nhỏ trên bảng hoặc khám phá chi tiết nhỏ | +0.25 th | |
| 9 tháng | CA_009_3 |
Nhặt chiếc chuông bằng phần tay cầm và lắc kêu theo mẫu | +0.25 th | |
| 9 tháng | CA_009_4 |
Lấy khối gỗ ra khỏi lòng cốc nhựa | +0.25 th | |
| 10 tháng | CA_010_1 |
Cầm kẹp hạt nhỏ chính xác bằng hai đầu ngón cái và ngón trỏ (Pincer grasp) | +0.25 th | |
| 10 tháng | CA_010_2 |
Thả khối gỗ vào trong cốc (chạm tay vào cốc nhưng chưa buông hoàn toàn) | +0.25 th | |
| 10 tháng | CA_010_3 |
Mở giấy gói lỏng để lấy khối gỗ/đồ chơi bên trong | +0.25 th | |
| 10 tháng | CA_010_4 |
Dùng dùi trống gõ bắt chước lên mặt trống/bàn | +0.25 th | |
| 11 tháng | CA_011_1 |
Bỏ thả thành công ít nhất 1 - 2 khối gỗ vào trong lòng cốc | +0.25 th | |
| 11 tháng | CA_011_2 |
Lấy viên hạt nhỏ ra khỏi lọ thủy tinh nhỏ (bằng cách thò ngón tay) | +0.25 th | |
| 11 tháng | CA_011_3 |
Bắt chước ngoáy thìa trong cốc nhựa | +0.25 th | |
| 11 tháng | CA_011_4 |
Lật giở từng cụm trang sách bìa cứng | +0.25 th | |
| 12 tháng | CA_012_1 |
Bỏ liên tiếp 3 - 4 khối gỗ vào trong cốc theo yêu cầu | +0.25 th | |
| 12 tháng | CA_012_2 |
Đặt khối gỗ này lên trên khối gỗ kia (tập xếp tháp 2 khối) | +0.25 th | |
| 12 tháng | CA_012_3 |
Nhấc hình tròn ra khỏi bảng ghép hình 3 khuôn cơ bản | +0.25 th | |
| 12 tháng | CA_012_4 |
Cầm bút sáp chấm hoặc vạch nét đầu tiên lên giấy | +0.25 th | |
| 15 tháng | CA_015_1 |
Xếp chồng tháp 2 khối gỗ vuông đứng vững | +0.60 th | |
| 15 tháng | CA_015_2 |
Đặt đúng hình tròn vào khuôn trên bảng ghép hình 3 hình | +0.60 th | |
| 15 tháng | CA_015_3 |
Bỏ hạt nhỏ vào trong lọ cổ hẹp và biết dốc ngược lọ để đổ hạt ra | +0.60 th | |
| 15 tháng | CA_015_4 |
Vẽ nguệch ngoạc tự phát trên giấy sau khi xem làm mẫu | +0.60 th | |
| 15 tháng | CA_015_5 |
Mở nắp hộp tròn để lấy đồ chơi bên trong | +0.60 th | |
| 18 tháng | CA_018_1 |
Xếp chồng tháp 3 - 4 khối gỗ vuông đứng vững | +0.60 th | |
| 18 tháng | CA_018_2 |
Đặt đúng cả 2 hình (Tròn và Vuông) vào bảng ghép hình | +0.60 th | |
| 18 tháng | CA_018_3 |
Bắt chước vạch một nét thẳng/dọc trên giấy bằng bút sáp | +0.60 th | |
| 18 tháng | CA_018_4 |
Lật từng trang sách mỏng (2-3 trang một lần) | +0.60 th | |
| 18 tháng | CA_018_5 |
Dùng que/thước khều đồ chơi nằm ngoài tầm tay với | +0.60 th | |
| 21 tháng | CA_021_1 |
Xếp chồng tháp 5 khối gỗ vuông đứng vững | +0.60 th | |
| 21 tháng | CA_021_2 |
Đặt đúng cả 3 hình (Tròn, Vuông, Tam giác) vào bảng ghép hình chuẩn | +0.60 th | |
| 21 tháng | CA_021_3 |
Xếp 2 - 3 khối gỗ nối đuôi nhau thành hàng ngang làm đoàn tàu | +0.60 th | |
| 21 tháng | CA_021_4 |
Bắt chước vẽ nét tròn xoay vòng trên giấy | +0.60 th | |
| 21 tháng | CA_021_5 |
Đậy đúng nắp hộp hình vuông vào thân hộp vuông | +0.60 th | |
| 24 tháng | CA_024_1 |
Xếp chồng tháp 6 - 7 khối gỗ vuông đứng vững | +0.60 th | |
| 24 tháng | CA_024_2 |
Đặt đúng cả 3 hình vào bảng ghép hình ngay cả khi xoay ngược bảng 180 độ | +0.60 th | |
| 24 tháng | CA_024_3 |
Xếp mô hình đoàn tàu có ống khói (4 khối gỗ) theo mẫu | +0.60 th | |
| 24 tháng | CA_024_4 |
Bắt chước vẽ nét thẳng đứng và nét ngang rõ ràng | +0.60 th | |
| 24 tháng | CA_024_5 |
Gấp đôi tờ giấy hình vuông một lần theo mẫu | +0.60 th | |
| 30 tháng | CA_030_1 |
Xếp chồng tháp 8 - 9 khối gỗ vuông đứng vững | +1.20 th | |
| 30 tháng | CA_030_2 |
Xếp mô hình cây cầu (3 khối gỗ có khe hở ở giữa) khi nhìn làm mẫu | +1.20 th | |
| 30 tháng | CA_030_3 |
Bắt chước vẽ hình tròn khép kín tương đối chuẩn | +1.20 th | |
| 30 tháng | CA_030_4 |
Ghép đúng bức tranh cắt đôi (2 mảnh ghép thành hình con cá/cái bát) | +1.20 th | |
| 30 tháng | CA_030_5 |
So sánh và đặt chồng khít 4 hình học cơ bản cùng loại | +1.20 th | |
| 36 tháng | CA_036_1 |
Tự xếp mô hình cây cầu 3 khối gỗ chỉ nhìn mẫu hoàn chỉnh (không cần xem thao tác) | +1.20 th | |
| 36 tháng | CA_036_2 |
Bắt chước vẽ hình chữ thập (+) gồm nét dọc và nét ngang cắt nhau | +1.20 th | |
| 36 tháng | CA_036_3 |
Gấp tờ giấy vuông làm tư (gấp 2 lần vuông góc) theo mẫu | +1.20 th | |
| 36 tháng | CA_036_4 |
So sánh hai vạch thẳng và chỉ đúng vạch nào dài hơn (3/3 lần) | +1.20 th | |
| 36 tháng | CA_036_5 |
Xâu được 4 hạt gỗ lớn vào dây có đầu cứng | +1.20 th | |
| 42 tháng | CA_042_1 |
Ghép đúng bức tranh cắt làm 3 - 4 mảnh rời nhau | +1.20 th | |
| 42 tháng | CA_042_2 |
Phân loại và ghép cặp 10 thẻ hình học theo hình dạng và màu sắc | +1.20 th | |
| 42 tháng | CA_042_3 |
Vẽ hình người cơ bản có ít nhất 2 - 3 bộ phận (đầu, chân, mắt) | +1.20 th | |
| 42 tháng | CA_042_4 |
Xếp mô hình cổng/tháp 5 khối gỗ theo mẫu | +1.20 th | |
| 42 tháng | CA_042_5 |
Dùng kéo cắt đứt đôi tờ giấy theo đường thẳng | +1.20 th | |
| 48 tháng | CA_048_1 |
Sao chép hình vuông có 4 góc vuông rõ rệt khi nhìn thẻ mẫu | +1.20 th | |
| 48 tháng | CA_048_2 |
Gấp giấy hình tam giác chéo góc chính xác theo mẫu | +1.20 th | |
| 48 tháng | CA_048_3 |
Đếm chỉ tay chính xác và lấy đúng 4 khối gỗ theo yêu cầu | +1.20 th | |
| 48 tháng | CA_048_4 |
Hoàn thành bảng ghép hình 4 mảnh cắt chéo thành hình chữ nhật (Patience picture) | +1.20 th | |
| 48 tháng | CA_048_5 |
So sánh trọng lượng 2 hộp giống hệt nhau (3g và 15g) chỉ ra hộp nặng hơn | +1.20 th | |
| 54 tháng | CA_054_1 |
Xếp mô hình bậc thang 6 khối gỗ (3 bậc) sau khi xem làm mẫu | +1.20 th | |
| 54 tháng | CA_054_2 |
Sao chép hình tam giác cân có 3 góc nhọn rõ ràng | +1.20 th | |
| 54 tháng | CA_054_3 |
Vẽ hình người có từ 6 bộ phận trở lên (đầu, mình, tay, chân, mắt, miệng) | +1.20 th | |
| 54 tháng | CA_054_4 |
Nhận biết phần còn thiếu trên tranh vẽ (chân bàn, tai thỏ, ngón tay) | +1.20 th | |
| 54 tháng | CA_054_5 |
Đếm và lấy đúng 6 - 8 khối gỗ từ đống khối gỗ | +1.20 th | |
| 60 tháng | CA_060_1 |
Xếp mô hình bậc thang 10 khối gỗ (4 bậc) theo mẫu | +1.20 th | |
| 60 tháng | CA_060_2 |
Sao chép hình thoi (Diamond) có 4 cạnh chéo cân đối | +1.20 th | |
| 60 tháng | CA_060_3 |
Gấp giấy Origami nâng cao (gấp máy bay/mũ hai nếp chéo) | +1.20 th | |
| 60 tháng | CA_060_4 |
Tìm đường thoát ra khỏi mê cung đơn giản bằng bút chì không chạm vạch | +1.20 th | |
| 60 tháng | CA_060_5 |
Đếm chính xác từ 10 - 13 khối gỗ và trả lời tổng số lượng | +1.20 th | |
| 66 tháng | CA_066_1 |
Vẽ lại hình phức hợp (Hình chữ nhật có đường chéo bên trong) theo mẫu | +1.50 th | |
| 66 tháng | CA_066_2 |
Sắp xếp chuỗi 5 hộp theo thứ tự trọng lượng từ nặng nhất đến nhẹ nhất | +1.50 th | |
| 66 tháng | CA_066_3 |
Nhận diện qui luật chuỗi hạt (Tròn - Vuông - Tròn - Vuông) và xếp tiếp đúng qui luật | +1.50 th | |
| 66 tháng | CA_066_4 |
Cắt rời hình tròn theo đường viền vẽ sẵn bằng kéo gọn gàng | +1.50 th | |
| 72 tháng | CA_072_1 |
Xếp mô hình kim tự tháp có khe hở (10 khối gỗ) nhìn mẫu hoàn chỉnh | +1.50 th | |
| 72 tháng | CA_072_2 |
Sao chép hình ngôi sao 6 cánh (hai tam giác lồng nhau) chính xác | +1.50 th | |
| 72 tháng | CA_072_3 |
Tính nhẩm phép cộng trừ trên khối gỗ cụ thể trong phạm vi 5 | +1.50 th | |
| 72 tháng | CA_072_4 |
Ghép đúng các khối gỗ sơn màu (Kohs Block Design) mẫu 4 khối cơ bản | +1.50 th | |
| 84 tháng | CA_084_1 |
Ghép khối Kohs Block Design mẫu đường chéo 4 khối trong thời gian quy định | +3.00 th | |
| 84 tháng | CA_084_2 |
Gấp giấy cắt một nhát tạo thành hình thoi hoặc bông hoa đối xứng ở giữa | +3.00 th | |
| 84 tháng | CA_084_3 |
Phát hiện điểm vô lý trong bức tranh tình huống (Absurdities pictures) | +3.00 th | |
| 84 tháng | CA_084_4 |
Nhớ và vẽ lại 2 hình kỷ hà chuẩn sau khi cho nhìn mẫu 10 giây (Benton/Bender) | +3.00 th | |
| 96 tháng | CA_096_1 |
Ghép khối Kohs Block Design mẫu 9 khối phức tạp trong thời gian chuẩn | +3.00 th | |
| 96 tháng | CA_096_2 |
Giải bài toán tìm quả bóng bị mất trong cánh đồng cỏ (Vẽ lộ trình tìm kiếm hệ thống) | +3.00 th | |
| 96 tháng | CA_096_3 |
Tái tạo chuỗi gõ nhịp 4 khối gỗ theo trình tự ngược lại (Knox Cube Imitation) | +3.00 th | |
| 96 tháng | CA_096_4 |
Nhận diện quy luật ma trận hình học khuyết (tương tự Raven cơ bản) | +3.00 th | |
| 108 tháng | CA_108_1 |
Giải bài toán suy luận quy nạp từ giấy gấp đục lỗ (đoán số lỗ và vị trí khi mở ra) | +4.00 th | |
| 108 tháng | CA_108_2 |
Phân tích số lượng khối gỗ ẩn trong mô hình khối lập phương 3D vẽ trên tranh | +4.00 th | |
| 108 tháng | CA_108_3 |
Ghép hoàn chỉnh mẫu Kohs 16 khối nâng cao đúng thời gian | +4.00 th | |
| 120 tháng | CA_120_1 |
Suy luận không gian đảo chiều: Vẽ hình phản chiếu qua gương của hình kỷ hà phức tạp | +4.00 th | |
| 120 tháng | CA_120_2 |
Giải bài toán cân bằng trọng lượng và đòn bẩy logic | +4.00 th | |
| 120 tháng | CA_120_3 |
Mã hóa ký hiệu chữ số nhanh trong 60 giây không sai sót | +4.00 th | |
| 132 tháng | CA_132_1 |
Giải bài toán hoán vị và tổ hợp logic với 4 màu sắc khác nhau | +6.00 th | |
| 132 tháng | CA_132_2 |
Tái cấu trúc hình học trừu tượng từ các mảnh cắt đa giác không đối xứng | +6.00 th | |
| 144 tháng | CA_144_1 |
Suy luận quy luật chuỗi số học hai tầng (cấp số cộng biến thiên) | +6.00 th | |
| 144 tháng | CA_144_2 |
Giải quyết bài toán chia nước bằng 3 bình có dung tích khác nhau | +6.00 th | |
| 156 tháng | CA_156_1 |
Tổng hợp tư duy trừu tượng không gian 3 chiều và suy luận hình thức cấp cao | +12.00 th |
| Bậc tuổi | Mã mục | Nội dung tiểu mục thử nghiệm KSPD | Trọng số | Kết quả chấm |
|---|---|---|---|---|
| 1 tháng | LS_001_1 |
Phát ra âm thanh nguyên âm nhỏ trong cổ họng (a, u, ư) ngoài tiếng khóc | +0.33 th | |
| 1 tháng | LS_001_2 |
Ngừng khóc hoặc dịu lại khi được người lớn bế lên và nói chuyện êm dịu | +0.33 th | |
| 1 tháng | LS_001_3 |
Chú ý nhìn vào khuôn mặt mẹ khi mẹ trò chuyện ở khoảng cách 25-30cm | +0.33 th | |
| 2 tháng | LS_002_1 |
Mỉm cười xã hội đáp lại khi người lớn mỉm cười và trò chuyện (Social smile) | +0.33 th | |
| 2 tháng | LS_002_2 |
Phát âm gù gù (Cooing: a-gu, ơ-ơ) đáp lại giọng nói người lớn | +0.33 th | |
| 2 tháng | LS_002_3 |
Biểu lộ nét mặt hào hứng khi thấy người quen đến gần | +0.33 th | |
| 3 tháng | LS_003_1 |
Cười thành tiếng lớn khi được trêu đùa hoặc cù nhẹ | +0.33 th | |
| 3 tháng | LS_003_2 |
Quay đầu và mắt hướng về phía phát ra giọng nói của mẹ | +0.33 th | |
| 3 tháng | LS_003_3 |
Phát âm đáp trả qua lại như đang trò chuyện với người lớn | +0.33 th | |
| 4 tháng | LS_004_1 |
Cười to khanh khách và reo lên khi chơi ú òa hoặc đùa giỡn | +0.33 th | |
| 4 tháng | LS_004_2 |
Phân biệt được giọng nói vui vẻ và giọng nghiêm khắc của người lớn | +0.33 th | |
| 4 tháng | LS_004_3 |
Nhìn chăm chú và mỉm cười với hình ảnh của mình trong gương | +0.33 th | |
| 5 tháng | LS_005_1 |
Quay đầu lại ngay lập tức khi nghe gọi tên mình | +0.33 th | |
| 5 tháng | LS_005_2 |
Bập bẹ các phụ âm môi đầu tiên (ba, ma, đa) | +0.33 th | |
| 5 tháng | LS_005_3 |
Đưa tay vỗ hoặc chạm vào hình ảnh em bé trong gương | +0.33 th | |
| 6 tháng | LS_006_1 |
Phân biệt người quen và người lạ (nhìn dò xét hoặc rụt rè với người lạ) | +0.33 th | |
| 6 tháng | LS_006_2 |
Bập bẹ chuỗi âm tiết lặp lại (ba-ba, ma-ma, da-da) | +0.33 th | |
| 6 tháng | LS_006_3 |
Giơ hai tay lên đòi bế khi thấy mẹ đưa tay ra | +0.33 th | |
| 7 tháng | LS_007_1 |
Chơi trò Ú òa (Peek-a-boo) chủ động cười và chờ đợi người lớn mở khăn | +0.33 th | |
| 7 tháng | LS_007_2 |
Hiểu từ "Không" (dừng tay lại một chút khi nghe giọng nhắc "Không!") | +0.33 th | |
| 7 tháng | LS_007_3 |
Phát âm bập bẹ đa dạng ngữ điệu giống câu nói | +0.33 th | |
| 8 tháng | LS_008_1 |
Bắt chước vỗ tay (hoan hô) hoặc đập bàn theo người lớn | +0.33 th | |
| 8 tháng | LS_008_2 |
Quay đầu nhìn theo hướng người lớn chỉ tay ở gần | +0.33 th | |
| 8 tháng | LS_008_3 |
Biểu lộ phản ứng rõ khi lấy mất đồ chơi đang cầm | +0.33 th | |
| 9 tháng | LS_009_1 |
Biết vẫy tay "Bye-bye" / "Ạ" theo lời nhắc hoặc làm mẫu | +0.33 th | |
| 9 tháng | LS_009_2 |
Hiểu và làm theo yêu cầu có kèm cử chỉ ("Đưa cho mẹ nào") | +0.33 th | |
| 9 tháng | LS_009_3 |
Kéo áo hoặc phát âm gọi để thu hút sự chú ý của người lớn | +0.33 th | |
| 10 tháng | LS_010_1 |
Chỉ ngón trỏ vào đồ vật mình thích để yêu cầu (Imperative pointing) | +0.33 th | |
| 10 tháng | LS_010_2 |
Hiểu tên gọi của một số đồ vật/người quen thuộc khi được hỏi ("Bóng đâu?", "Mẹ đâu?") | +0.33 th | |
| 10 tháng | LS_010_3 |
Bắt chước các âm thanh đơn giản do người lớn tạo ra (tiếng ho, tiếng tặc lưỡi) | +0.33 th | |
| 11 tháng | LS_011_1 |
Nói được ít nhất 1 từ đơn có nghĩa đúng ngữ cảnh (mẹ, bà, măm...) | +0.33 th | |
| 11 tháng | LS_011_2 |
Đưa đồ chơi cho người lớn khi nghe yêu cầu bằng lời (không cần xòe tay ra hiệu) | +0.33 th | |
| 11 tháng | LS_011_3 |
Biết lắc đầu thể hiện sự từ chối / không muốn | +0.33 th | |
| 12 tháng | LS_012_1 |
Nói được 2 - 3 từ đơn có nghĩa chủ động ngoài từ "bà/mẹ" | +0.33 th | |
| 12 tháng | LS_012_2 |
Chia sẻ sự chú ý chung (Joint Attention): Chỉ ngón trỏ vào vật lạ và quay lại nhìn mắt mẹ | +0.33 th | |
| 12 tháng | LS_012_3 |
Chơi lăn bóng qua lại luân phiên với người đánh giá | +0.33 th | |
| 15 tháng | LS_015_1 |
Sử dụng từ 4 - 6 từ đơn có nghĩa thường xuyên trong giao tiếp | +0.60 th | |
| 15 tháng | LS_015_2 |
Chỉ đúng ít nhất 1 bộ phận cơ thể trên người mình hoặc búp bê khi được hỏi | +0.60 th | |
| 15 tháng | LS_015_3 |
Hiểu và thực hiện mệnh lệnh đơn giản 1 bước ("Con mang bóng lại đây") | +0.60 th | |
| 15 tháng | LS_015_4 |
Bắt chước hành động sinh hoạt của người lớn (cầm lược chải đầu, nghe điện thoại) | +0.60 th | |
| 15 tháng | LS_015_5 |
Biết chỉ tay vào đồ vật kết hợp phát âm để xin phép/yêu cầu | +0.60 th | |
| 18 tháng | LS_018_1 |
Vốn từ đơn đạt từ 10 - 15 từ trở lên | +0.60 th | |
| 18 tháng | LS_018_2 |
Chỉ đúng 2 - 3 bộ phận cơ thể khi được hỏi ("Mắt đâu?", "Mũi đâu?", "Tai đâu?") | +0.60 th | |
| 18 tháng | LS_018_3 |
Chỉ đúng ít nhất 1 - 2 bức tranh đồ vật quen thuộc trên bảng tranh KSPD (Chó, Xe, Giày...) | +0.60 th | |
| 18 tháng | LS_018_4 |
Chơi giả vờ với búp bê (cho búp bê ăn bột, bế ru búp bê ngủ) | +0.60 th | |
| 18 tháng | LS_018_5 |
Dùng lời nói hoặc cử chỉ gật đầu khi muốn xin thêm | +0.60 th | |
| 21 tháng | LS_021_1 |
Bắt đầu kết hợp 2 từ thành cụm từ có nghĩa ("Mẹ bế", "Đi chơi", "Uống sữa") | +0.60 th | |
| 21 tháng | LS_021_2 |
Chỉ đúng 4 bộ phận cơ thể khi được hỏi bằng lời | +0.60 th | |
| 21 tháng | LS_021_3 |
Chỉ đúng 3 - 4 bức tranh đồ vật trên thẻ tranh chuẩn khi hỏi "Cái gì đây/ở đâu?" | +0.60 th | |
| 21 tháng | LS_021_4 |
Thực hiện đúng 2 mệnh lệnh liên tiếp với quả bóng ("Đưa bóng cho mẹ, đưa cho cô") | +0.60 th | |
| 21 tháng | LS_021_5 |
Bắt chước nói lại ngay các từ mới nghe người lớn nói | +0.60 th | |
| 24 tháng | LS_024_1 |
Nói câu 2 - 3 từ thường xuyên để diễn đạt nhu cầu và nhận xét sự việc | +0.60 th | |
| 24 tháng | LS_024_2 |
Chỉ đúng 5 - 6 bức tranh đồ vật trên bảng tranh KSPD và gọi tên đúng ít nhất 3 tranh | +0.60 th | |
| 24 tháng | LS_024_3 |
Xưng tên của mình hoặc dùng đại từ "Con" khi nói chuyện | +0.60 th | |
| 24 tháng | LS_024_4 |
Hiểu và thực hiện 3 yêu cầu khác nhau với đồ vật (Đặt lên bàn, đưa cho mẹ, cất vào hộp) | +0.60 th | |
| 24 tháng | LS_024_5 |
Chơi giả vờ nối tiếp 2 hành động (múc thức ăn rồi đút cho gấu bông) | +0.60 th | |
| 30 tháng | LS_030_1 |
Gọi tên chính xác 5 - 6 bức tranh đồ vật quen thuộc trên thẻ tranh KSPD | +1.20 th | |
| 30 tháng | LS_030_2 |
Hiểu câu hỏi về công dụng đồ vật ("Cái gì dùng để uống nước?", "Cái gì dùng để đi vào chân?") - Đạt >= 3/5 | +1.20 th | |
| 30 tháng | LS_030_3 |
Nói được họ và tên đầy đủ của bản thân khi được hỏi | +1.20 th | |
| 30 tháng | LS_030_4 |
Sử dụng đúng đại từ nhân xưng "Con - Mẹ / Cô" trong câu nói 3 - 4 từ | +1.20 th | |
| 30 tháng | LS_030_5 |
Biết chờ đến lượt trong trò chơi luân phiên với người đánh giá | +1.20 th | |
| 36 tháng | LS_036_1 |
Trả lời đúng giới tính của bản thân ("Con là bé trai hay bé gái?") | +1.20 th | |
| 36 tháng | LS_036_2 |
Hiểu khái niệm giới từ không gian: Đặt khối gỗ TRÊN, DƯỚI, TRƯỚC, SAU, TRONG chiếc hộp (Đạt >= 3/4) | +1.20 th | |
| 36 tháng | LS_036_3 |
Trả lời câu hỏi tình huống sinh hoạt ("Khi đói bụng con làm gì?", "Khi buồn ngủ con làm gì?") | +1.20 th | |
| 36 tháng | LS_036_4 |
Lặp lại chính xác câu gồm 6 - 7 âm tiết hoặc chuỗi 3 chữ số (VD: "4 - 7 - 2") | +1.20 th | |
| 36 tháng | LS_036_5 |
Nhận biết và gọi tên đúng ít nhất 2 - 3 màu sắc cơ bản (Đỏ, Vàng, Xanh) | +1.20 th | |
| 42 tháng | LS_042_1 |
Hiểu và trả lời câu hỏi "Tại sao?" và "Khi nào?" trong sinh hoạt hàng ngày | +1.20 th | |
| 42 tháng | LS_042_2 |
Mô tả được các hành động đang diễn ra trong bức tranh tình huống (Em bé đang làm gì?) | +1.20 th | |
| 42 tháng | LS_042_3 |
Gọi tên đúng 4 màu sắc cơ bản (Đỏ, Xanh dương, Vàng, Xanh lá) | +1.20 th | |
| 42 tháng | LS_042_4 |
Phân biệt khái niệm đối lập: To - Nhỏ, Dài - Ngắn, Nhiều - Ít | +1.20 th | |
| 42 tháng | LS_042_5 |
Chơi phối hợp theo nhóm nhỏ với trẻ khác, biết chia sẻ đồ chơi | +1.20 th | |
| 48 tháng | LS_048_1 |
Trả lời đúng câu hỏi xử lý tình huống ("Khi bị đứt tay chảy máu con làm gì?", "Khi trời mưa chuẩn bị đi ra ngoài thì làm sao?") | +1.20 th | |
| 48 tháng | LS_048_2 |
Nhắc lại chính xác chuỗi 4 chữ số ngẫu nhiên (VD: "3 - 8 - 1 - 6") | +1.20 th | |
| 48 tháng | LS_048_3 |
Hiểu và giải thích điểm giống nhau/khác nhau cơ bản giữa 2 sự vật (Con chim và Con chó) | +1.20 th | |
| 48 tháng | LS_048_4 |
Kể lại được một sự việc vừa xảy ra hoặc một đoạn truyện ngắn có đầu có cuối | +1.20 th | |
| 48 tháng | LS_048_5 |
Tự mặc quần áo, cài cúc áo to và đi giày không cần giúp | +1.20 th | |
| 54 tháng | LS_054_1 |
Định nghĩa được ít nhất 4 - 5 từ vựng quen thuộc theo công dụng hoặc đặc điểm (Cái mũ, Quả táo, Cái bàn...) | +1.20 th | |
| 54 tháng | LS_054_2 |
Phân biệt đúng tay Phải và tay Trái của chính mình | +1.20 th | |
| 54 tháng | LS_054_3 |
Hiểu các khái niệm thời gian: Sáng, Trưa, Tối, Hôm qua, Ngày mai | +1.20 th | |
| 54 tháng | LS_054_4 |
Thực hiện chuỗi 3 mệnh lệnh nối tiếp nhau theo đúng thứ tự yêu cầu | +1.20 th | |
| 54 tháng | LS_054_5 |
Tuân thủ luật chơi trong các trò chơi có quy tắc thắng - thua | +1.20 th | |
| 60 tháng | LS_060_1 |
Trả lời đầy đủ: Họ tên, Tuổi, Địa chỉ nhà (hoặc tên trường lớp) và tên bố mẹ | +1.20 th | |
| 60 tháng | LS_060_2 |
Tìm từ trái nghĩa chính xác ("Anh trai là con trai, chị gái là...", "Mùa hè thì nóng, mùa đông thì...") - Đạt >= 3/4 | +1.20 th | |
| 60 tháng | LS_060_3 |
Lặp lại chính xác câu dài 10 - 12 âm tiết không bỏ sót từ | +1.20 th | |
| 60 tháng | LS_060_4 |
Giải thích ý nghĩa tình huống xã hội và cảm xúc của nhân vật trong tranh | +1.20 th | |
| 60 tháng | LS_060_5 |
Đếm xuôi từ 1 đến 20 và biết đếm ngược từ 10 về 1 | +1.20 th | |
| 66 tháng | LS_066_1 |
Nêu điểm giống nhau về bản chất giữa 2 sự vật (Chuối và Táo; Tàu hỏa và Ô tô) | +1.50 th | |
| 66 tháng | LS_066_2 |
Nêu được các ngày trong tuần theo đúng thứ tự (Thứ Hai đến Chủ Nhật) | +1.50 th | |
| 66 tháng | LS_066_3 |
Nhắc lại chuỗi 5 chữ số xuôi và chuỗi 3 chữ số ngược | +1.50 th | |
| 66 tháng | LS_066_4 |
Hiểu các câu nói đùa hoặc câu đố chữ đơn giản phù hợp lứa tuổi | +1.50 th | |
| 72 tháng | LS_072_1 |
Định nghĩa từ vựng theo phân loại khái niệm cấp trên (VD: Chó là động vật nuôi 4 chân...) | +1.50 th | |
| 72 tháng | LS_072_2 |
Phân biệt tay Phải và tay Trái của người ngồi đối diện mình | +1.50 th | |
| 72 tháng | LS_072_3 |
Giải bài toán đố bằng lời trong phạm vi 10 (Có 8 cái kẹo, cho bạn 3 cái còn mấy cái?) | +1.50 th | |
| 72 tháng | LS_072_4 |
Giải thích hợp lý tại sao cần phải tuân thủ các quy tắc xã hội (Tại sao không được lấy đồ của người khác?) | +1.50 th | |
| 84 tháng | LS_084_1 |
Tìm điểm giống nhau và khác nhau đồng thời giữa hai khái niệm (Gỗ và Sắt; Nước và Đá) | +3.00 th | |
| 84 tháng | LS_084_2 |
Kể tên các tháng trong năm và các mùa tương ứng | +3.00 th | |
| 84 tháng | LS_084_3 |
Nhắc lại chuỗi 4 chữ số theo thứ tự ngược lại (Backward Digit Span) | +3.00 th | |
| 84 tháng | LS_084_4 |
Đọc hiểu một đoạn văn ngắn 4 câu và trả lời đúng 3 câu hỏi chi tiết | +3.00 th | |
| 96 tháng | LS_096_1 |
Giải thích sự vô lý bằng lời (Verbal Absurdities): Phát hiện mâu thuẫn logic trong câu chuyện ngắn | +3.00 th | |
| 96 tháng | LS_096_2 |
Tính nhẩm tiền thừa khi mua hàng trong tình huống giả định (Mua bánh 3.000đ, đưa 10.000đ) | +3.00 th | |
| 96 tháng | LS_096_3 |
Sắp xếp các từ bị xáo trộn thành một câu hoàn chỉnh đúng ngữ pháp và ngữ nghĩa | +3.00 th | |
| 96 tháng | LS_096_4 |
Hiểu nghĩa bóng của câu thành ngữ/tục ngữ đơn giản | +3.00 th | |
| 108 tháng | LS_108_1 |
Giải thích các khái niệm trừu tượng (Lòng dũng cảm, Sự công bằng, Lòng biết ơn) | +4.00 th | |
| 108 tháng | LS_108_2 |
Nhắc lại chuỗi 6 chữ số xuôi và 4 - 5 chữ số ngược | +4.00 th | |
| 108 tháng | LS_108_3 |
Tóm tắt ý chính và bài học rút ra từ một câu chuyện ngụ ngôn | +4.00 th | |
| 120 tháng | LS_120_1 |
Tìm điểm tương đồng trừu tượng giữa 3 sự vật cùng lúc (Rắn - Bò - Chim sẻ) | +4.00 th | |
| 120 tháng | LS_120_2 |
Điền từ liên kết logic (Tuy... nhưng..., Nếu... thì...) vào đoạn văn khuyết | +4.00 th | |
| 120 tháng | LS_120_3 |
Giải bài toán đố hai phép tính liên tiếp bằng tính nhẩm | +4.00 th | |
| 132 tháng | LS_132_1 |
Phân tích nguyên nhân - hệ quả xã hội của các quy định pháp luật/nhà trường | +4.00 th | |
| 132 tháng | LS_132_2 |
Định nghĩa từ vựng học thuật cấp độ trung học cơ sở | +4.00 th | |
| 132 tháng | LS_132_3 |
Nhắc lại chuỗi 5 chữ số theo thứ tự ngược lại | +4.00 th | |
| 144 tháng | LS_144_1 |
Giải thích ý nghĩa ẩn dụ sâu sắc của các câu tục ngữ/ngạn ngữ cổ điển | +6.00 th | |
| 144 tháng | LS_144_2 |
Tái lập lập luận logic từ một đoạn văn bản khoa học ngắn | +6.00 th | |
| 156 tháng | LS_156_1 |
Tư duy ngôn ngữ khái quát hóa, tranh biện đa chiều và suy luận đạo đức xã hội cấp cao | +12.00 th |
1. Dữ liệu tổng quan và Lịch sử Việt hóa của Thang Kyoto (KSPD)
-
Nguồn gốc: Được khởi xướng bởi Giáo sư Masako Ikuzawa và cộng sự tại Nhật Bản từ năm 1954 (dựa trên nền tảng thang Gesell), sửa đổi mở rộng năm 1982 và hai phiên bản chuẩn hóa lớn gần nhất là KSPD 2001 và KSPD 2020.
-
Quá trình đưa vào Việt Nam: Ngay từ năm 2002, phiên bản KSPD 2001 (Vietnamese Version) đã được nhóm tác giả Nhật Bản (Ikuzawa, Matsushita, Nakase) phối hợp với Trung tâm Giao lưu Phúc lợi Xã hội Quốc tế Kyoto chuyển giao chính thức sang Việt Nam. Hiện nay, các trường như ĐH Sư phạm Hà Nội, ĐH Giáo dục (ĐHQGHN), các trung tâm thuộc Hội Khoa học Tâm lý – Giáo dục Việt Nam và nhiều bệnh viện vẫn đào tạo và sử dụng bộ công cụ này rất phổ biến.
-
Độ tuổi áp dụng: Từ sơ sinh (0 tháng tuổi) đến người trưởng thành (thực tế lâm sàng tại Việt Nam dùng nhiều nhất cho nhóm 0 – 13 tuổi, đặc biệt là trẻ từ 1 – 6 tuổi chưa thể làm các bài test IQ chuẩn như WISC).
-
Số lượng tiểu mục: Khoảng 328 mục (items) thử nghiệm tương tác trực tiếp bằng bộ giáo cụ chuẩn (khối gỗ,tranh ảnh, bảng ghép hình, chuông, hộp…) kết hợp quan sát hành vi.
2. Cấu trúc 3 lĩnh vực và Công thức tính điểm của KSPD
Thang Kyoto đánh giá đứa trẻ qua 3 lĩnh vực (Domains) cốt lõi. Khi áp dụng trên trẻ Rối loạn phổ tự kỷ (ASD), sự chênh lệch điểm số giữa 3 lĩnh vực này tạo ra một “đồ thị hình răng cưa” rất đặc trưng:
| Lĩnh vực đánh giá | Ký hiệu | Nội dung kiểm tra | Đặc điểm thường gặp ở trẻ Tự kỷ (ASD) |
|
1. Tư thế – Vận động
(Postural – Motor) |
P-M | Kiểm soát đầu cổ, lẫy, bò, đi, chạy, nhảy, thăng bằng vận động thô. | Điểm P-M thường cao nhất, gần tương đương hoặc chỉ chậm nhẹ so với tuổi thực. |
|
2. Nhận thức – Thích ứng
(Cognitive – Adaptive) |
C-A | Vận động tinh, phối hợp tay – mắt, xếp khối, ghép hình, phân biệt hình khối/màu sắc, giải quyết vấn đề phi ngôn ngữ. | Điểm C-A ở mức trung bình hoặc khá (nhiều trẻ tự kỷ làm rất tốt các bài ghép hình, xếp khối thị giác không gian). |
|
3. Ngôn ngữ – Xã hội
(Language – Social) |
L-S | Hiểu lời nói, diễn đạt ngôn ngữ, bắt chước xã hội, giao tiếp mắt, tương tác với người đánh giá, hiểu quy tắc xã hội. | Điểm L-S thường sụt giảm sâu nhất. Độ lệch giữa và càng lớn thì dấu hiệu rối loạn giao tiếp xã hội càng rõ. |
Công thức tính Chỉ số phát triển (DQ – Developmental Quotient)
Với từng lĩnh vực (P-M, C-A, L-S) và Tổng thể (Overall), chuyên gia sẽ xác định được Tuổi phát triển (DA – Developmental Age) tính theo tháng hoặc ngày, sau đó chia cho Tuổi thực (CA – Chronological Age):
Bảng phân loại mức độ phát triển theo chỉ số DQ tại Việt Nam:
-
DQ>115: Phát triển tốt / Vượt chuẩn
-
DQ=85−115: Phát triển bình thường
-
DQ=70−84: Chậm phát triển mức độ nhẹ (hoặc ranh giới)
-
DQ=55−69: Chậm phát triển mức độ trung bình
-
DQ=40−54: Chậm phát triển mức độ nặng
-
DQ<40: Chậm phát triển mức độ rất nặng
Sách: Son-Rise: Phép màu cho trẻ tự kỷ - Barry Neil Kaufman và Raun Kaufman
Đây là cuốn sách Son-Rise: Phép màu cho trẻ tự kỷ của hai tác giả Barry Neil Kaufman và Raun Kaufman. Cuốn sách này kể về câu chuyện thực tế họ đã giúp con trai của mình chiến thắng chứng tự kỷ rất nặng như thế nào. Hành trình của họ sẽ giúp bố mẹ rất nhiều.
Dưới đây là danh sách các file tài liệu PDF được chia sẻ trong cùng chủ đề nuôi dạy và can thiệp trẻ tự kỷ:
- Kate C. Wilde – Hỗ trợ trẻ tự kỷ: Giúp trẻ vượt qua các khó khăn trong sinh hoạt hằng ngày
- Tài liệu Bệnh viện E: Phổ tự kỷ là gì? Chuẩn đoán và điều trị
- Ngôn Ngữ Và Hoạt Động Thường Ngày – Trinh Foundation Australia
- Tài liệu lưu hành nội bộ: Muốn trò chuyện phải có hai người
- Sách: Hướng dẫn cha mẹ thực hành trị liệu hoạt động cho trẻ tự kỷ
- Sách: Nuôi dạy trẻ có rối loạn phổ tự kỷ trong môi trường gia đình
- Sách: Nuôi dạy trẻ mắc chứng rối loạn tăng động giảm chú ý ADHD – Russell A. Barkley
- Hướng dẫn Trị Liệu Rối Loạn Ăn Uống Cho Một Trẻ Tự Kỷ Điển Hình
- Sổ tay điều trị rối loạn phổ tự kỷ – OHSU
- Rối loạn giác quan ở trẻ tự kỷ – Bác sĩ Thảo biên soạn
- 100 Bài can thiệp hành vi cho trẻ ptk
- Các hoạt động điều hòa giác quan
Công cụ đánh giá Tự Kỷ
Trên thế giới và cả ở Việt Nam hiện nay, việc đánh giá Rối loạn phổ tự kỷ (ASD) không dựa vào một bài kiểm tra đơn lẻ mà được chia thành các nhóm công cụ theo từng mục đích cụ thể: Sàng lọc ban đầu, Chẩn đoán chuyên sâu và Đánh giá chức năng hỗ trợ lập kế hoạch can thiệp. Tất cả các công cụ này được số hoá vào các danh mục dưới đây với dữ liệu đều được đối chiếu với hệ thống tiêu chuẩn y khoa quốc tế là DSM-5-TR (Mỹ) và ICD-11 (WHO).
Bài Viết
Sàng lọc ban đầu (Phát hiện sớm nguy cơ)
(function(){
function mountShadowScreening(){
var host = document.getElementById('phuchoi-screening-host');
if(!host) return;
if(host.shadowRoot) return;
if(!host.attachShadow) return;
var shadow = host.attachShadow({mode:'open'});
var css = [
':host{all:initial;display:block;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:#1e293b;line-height:1.6;width:100%;box-sizing:border-box;}',
'*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}',
'.screening-card{width:100%;background:#ffffff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 8px 24px rgba(15,23,42,0.05);overflow:hidden;}',
'.sc-intro{background:linear-gradient(135deg,#fffbeb 0%,#fef3c7 100%);padding:20px 24px;border-bottom:1px solid #fde68a;display:flex;align-items:center;gap:14px;}',
'.sc-icon{font-size:26px;line-height:1;background:#ffffff;width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 10px rgba(217,119,6,0.12);flex-shrink:0;}',
'.sc-intro-text{font-size:15px;color:#0f172a;margin:0;}',
'.sc-intro-text strong{color:#b45309;font-weight:700;}',
'.sc-table{width:100%;border-collapse:collapse;border-spacing:0;}',
'.sc-table thead th{background:#f8fafc;color:#334155;font-size:12.5px;font-weight:800;text-transform:uppercase;letter-spacing:0.4px;padding:14px 20px;text-align:left;border-bottom:2px solid #e2e8f0;}',
'.sc-table tbody tr{border-bottom:1px solid #e2e8f0;transition:background 0.2s ease;}',
'.sc-table tbody tr:last-child{border-bottom:none;}',
'.sc-table tbody tr:hover{background:#f8fafc;}',
'.sc-table td{padding:20px;vertical-align:top;}',
'.step-tag{display:inline-block;font-size:11px;font-weight:700;padding:2px 9px;border-radius:999px;text-transform:uppercase;margin-bottom:6px;}',
'.tag-blue{background:#dbeafe;color:#1d4ed8;}',
'.tag-green{background:#dcfce7;color:#15803d;}',
'.group-badge{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:800;color:#0f172a;}',
'.tools-wrap{display:flex;flex-wrap:wrap;gap:8px;}',
'.tool-link{display:inline-flex;align-items:center;gap:5px;padding:6px 13px;border-radius:8px;font-size:13.5px;font-weight:700;text-decoration:none;transition:all 0.18s ease;border:1.5px solid transparent;cursor:pointer;}',
'.tool-link::after{content:"↗";font-size:11px;opacity:0.75;}',
'.tool-blue{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe;}',
'.tool-blue:hover{background:#2563eb;color:#ffffff;border-color:#2563eb;transform:translateY(-2px);box-shadow:0 4px 10px rgba(37,99,235,0.25);}',
'.tool-green{background:#f0fdf4;color:#15803d;border-color:#bbf7d0;}',
'.tool-green:hover{background:#16a34a;color:#ffffff;border-color:#16a34a;transform:translateY(-2px);box-shadow:0 4px 10px rgba(22,163,74,0.25);}',
'.desc-text{font-size:14.2px;color:#334155;margin:0;}',
'@media (max-width:768px){.sc-intro{padding:16px;align-items:flex-start;}.sc-table thead{display:none;}.sc-table,.sc-table tbody,.sc-table tr,.sc-table td{display:block;width:100%;}.sc-table tbody tr{padding:16px;}.sc-table td{padding:6px 0;}.tools-wrap{margin:6px 0 8px 0;}}'
].join('');
var styleEl = document.createElement('style');
styleEl.textContent = css;
shadow.appendChild(styleEl);
var rowsData = [
{
stepCls: 'tag-blue',
stepTxt: 'Nhóm 1 • Chuyên biệt',
title: '🧩 Nhóm sàng lọc Tự kỷ',
btnCls: 'tool-blue',
tools: [
{name: 'M-CHAT-R/F', url: 'https://phuchoi.vn/kien-thuc/cong-cu/sang-loc-ban-dau/m-chat-r-f/'},
{name: 'STAT', url: 'https://phuchoi.vn/kien-thuc/cong-cu/sang-loc-ban-dau/stat/'},
{name: 'SCQ', url: 'https://phuchoi.vn/kien-thuc/cong-cu/sang-loc-ban-dau/scq/'},
{name: 'CAST', url: 'https://phuchoi.vn/kien-thuc/cong-cu/sang-loc-ban-dau/cast/'},
{name: 'ASSQ', url: 'https://phuchoi.vn/kien-thuc/cong-cu/sang-loc-ban-dau/assq/'},
{name: 'AQ', url: 'https://phuchoi.vn/kien-thuc/cong-cu/sang-loc-ban-dau/aq/'},
{name: 'RAADS-R', url: 'https://phuchoi.vn/kien-thuc/cong-cu/sang-loc-ban-dau/raads-r/'},
{name: 'CSBS DP', url: 'https://phuchoi.vn/kien-thuc/cong-cu/sang-loc-ban-dau/csbs-dp/'},
{name: 'SRS-2', url: 'https://phuchoi.vn/kien-thuc/cong-cu/sang-loc-ban-dau/srs-2/'}
],
desc: 'Các bộ câu hỏi chuẩn hóa giúp phát hiện sớm dấu hiệu nguy cơ tự kỷ qua từng độ tuổi, làm cơ sở định hướng thăm khám chuyên sâu.'
},
{
stepCls: 'tag-green',
stepTxt: 'Nhóm 2 • Toàn diện',
title: '🌱 Nhóm sàng lọc Phát triển chung',
btnCls: 'tool-green',
tools: [
{name: 'ASQ-3', url: 'https://phuchoi.vn/kien-thuc/cong-cu/sang-loc-ban-dau/asq-3/'},
{name: 'Denver II', url: 'https://phuchoi.vn/kien-thuc/cong-cu/sang-loc-ban-dau/denver-ii/'},
{name: 'PEDS', url: 'https://phuchoi.vn/kien-thuc/cong-cu/sang-loc-ban-dau/peds/'}
],
desc: 'Rà soát các mốc phát triển toàn diện (vận động, ngôn ngữ, nhận thức, xã hội) theo độ tuổi của trẻ.'
}
];
var card = document.createElement('div');
card.className = 'screening-card';
var intro = document.createElement('div');
intro.className = 'sc-intro';
var icon = document.createElement('div');
icon.className = 'sc-icon';
icon.textContent = '⚠️';
var introP = document.createElement('p');
introP.className = 'sc-intro-text';
introP.appendChild(document.createTextNode('Với các bộ công cụ bên dưới, kết quả sàng lọc chỉ mang tính chất '));
var strongEl = document.createElement('strong');
strongEl.textContent = 'cảnh báo sớm';
introP.appendChild(strongEl);
introP.appendChild(document.createTextNode(', không thay thế cho kết luận chẩn đoán y khoa chuyên sâu.'));
intro.appendChild(icon);
intro.appendChild(introP);
card.appendChild(intro);
var table = document.createElement('table');
table.className = 'sc-table';
var thead = document.createElement('thead');
var trHead = document.createElement('tr');
var headers = [
{txt: 'Phân Nhóm Sàng Lọc', w: '26%'},
{txt: 'Bộ Công Cụ Chuẩn Hóa (Nhấn để xem)', w: '36%'},
{txt: 'Vai Trò & Ý Nghĩa Thực Tiễn', w: '38%'}
];
headers.forEach(function(h){
var th = document.createElement('th');
th.style.width = h.w;
th.textContent = h.txt;
trHead.appendChild(th);
});
thead.appendChild(trHead);
table.appendChild(thead);
var tbody = document.createElement('tbody');
rowsData.forEach(function(r){
var tr = document.createElement('tr');
var td1 = document.createElement('td');
var tag = document.createElement('span');
tag.className = 'step-tag ' + r.stepCls;
tag.textContent = r.stepTxt;
var badge = document.createElement('div');
badge.className = 'group-badge';
badge.textContent = r.title;
td1.appendChild(tag);
td1.appendChild(badge);
var td2 = document.createElement('td');
var wrap = document.createElement('div');
wrap.className = 'tools-wrap';
r.tools.forEach(function(t){
var a = document.createElement('a');
a.className = 'tool-link ' + r.btnCls;
a.href = t.url;
a.target = '_blank';
a.rel = 'noopener';
a.textContent = t.name;
wrap.appendChild(a);
});
td2.appendChild(wrap);
var td3 = document.createElement('td');
var desc = document.createElement('p');
desc.className = 'desc-text';
desc.textContent = r.desc;
td3.appendChild(desc);
tr.appendChild(td1);
tr.appendChild(td2);
tr.appendChild(td3);
tbody.appendChild(tr);
});
table.appendChild(tbody);
card.appendChild(table);
shadow.appendChild(card);
}
if(document.readyState === 'loading'){
document.addEventListener('DOMContentLoaded', mountShadowScreening);
} else {
mountShadowScreening();
}
})();
[Tự kỷ] CSBS DP: Bảng kiểm sàng lọc sớm giao tiếp và dấu hiệu tự kỷ cho trẻ rất nhỏ (6 – 24 tháng)
(function() { const host = document.getElementById('csbsdp-wp-host'); if (!host) return; const placeholder = document.createComment('csbsdp-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // Bảng Ngưỡng Điểm Cắt Đáng Lo Ngại (Concern Cutoffs 24 tháng) // Nếu điểm của trẻ <= các mốc dưới đây thì rơi vào vùng "Đáng lo ngại (Concern)" const normCutoffsByMonth = { 6: { soc: 7, spe: 1, sym: 2, tot: 12 }, 7: { soc: 8, spe: 1, sym: 2, tot: 13 }, 8: { soc: 9, spe: 2, sym: 3, tot: 16 }, 9: { soc: 11, spe: 2, sym: 3, tot: 18 }, 10: { soc: 13, spe: 3, sym: 4, tot: 22 }, 11: { soc: 14, spe: 3, sym: 5, tot: 24 }, 12: { soc: 15, spe: 4, sym: 6, tot: 27 }, 13: { soc: 16, spe: 4, sym: 7, tot: 29 }, 14: { soc: 17, spe: 5, sym: 8, tot: 32 }, 15: { soc: 18, spe: 5, sym: 9, tot: 34 }, 16: { soc: 19, spe: 6, sym: 10, tot: 37 }, 17: { soc: 19, spe: 6, sym: 11, tot: 38 }, 18: { soc: 20, spe: 7, sym: 11, tot: 40 }, 19: { soc: 20, spe: 8, sym: 12, tot: 42 }, 20: { soc: 20, spe: 8, sym: 12, tot: 42 }, 21: { soc: 20, spe: 9, sym: 13, tot: 44 }, 22: { soc: 20, spe: 9, sym: 13, tot: 44 }, 23: { soc: 21, spe: 10, sym: 14, tot: 46 }, 24: { soc: 21, spe: 10, sym: 14, tot: 46 } }; // Cấu hình 7 Cụm kỹ năng (Clusters) thuộc 3 Chỉ số Tổng hợp (Composites) const clusterConfigs = { emo: { code: 'emo', comp: 'soc', max: 8, name: 'Cụm 1. Cảm xúc & Giao tiếp Ánh mắt (Emotion & Eye Gaze • 4 câu)', color: '#2563eb' }, com: { code: 'com', comp: 'soc', max: 8, name: 'Cụm 2. Giao tiếp Có Chủ đích (Communication • 4 câu)', color: '#1d4ed8' }, ges: { code: 'ges', comp: 'soc', max: 10, name: 'Cụm 3. Cử chỉ Giao tiếp (Gestures • 5 câu)', color: '#3b82f6' }, snd: { code: 'snd', comp: 'spe', max: 8, name: 'Cụm 4. Âm thanh Tiền ngôn ngữ (Sounds • 3 câu)', color: '#0d9488' }, wrd: { code: 'wrd', comp: 'spe', max: 6, name: 'Cụm 5. Từ vựng & Kết hợp từ (Words • 2 câu)', color: '#059669' }, und: { code: 'und', comp: 'sym', max: 6, name: 'Cụm 6. Thông hiểu Ngôn ngữ (Understanding • 2 câu)', color: '#7c3aed' }, obj: { code: 'obj', comp: 'sym', max: 11, name: 'Cụm 7. Sử dụng Đồ vật & Chơi giả vờ (Object Use • 4 câu)', color: '#9333ea' } }; // Đầy đủ 24 Câu hỏi chuẩn của CSBS DP Infant-Toddler Checklist (Tổng điểm tối đa = 57 điểm) const stdOpts012 = [ { pt: 0, lbl: 'Chưa có (Not Yet • 0đ)' }, { pt: 1, lbl: 'Thỉnh thoảng (Sometimes • 1đ)' }, { pt: 2, lbl: 'Thường xuyên (Often • 2đ)' } ]; const questions = [ // CỤM 1: CẢM XÚC & GIAO TIẾP ÁNH MẮT (Câu 1 - 4 • Max 8đ • Thuộc SOCIAL COMPOSITE) { id: 1, clu: 'emo', comp: 'soc', t: 'Bạn có dễ dàng nhận biết được khi nào bé đang vui vẻ và khi nào bé đang khó chịu/buồn bực không?', opts: stdOpts012 }, { id: 2, clu: 'emo', comp: 'soc', t: 'Khi đang chơi với các món đồ chơi, bé có quay sang nhìn bạn để xem bạn có đang nhìn bé chơi không?', opts: stdOpts012 }, { id: 3, clu: 'emo', comp: 'soc', t: 'Bé có mỉm cười hoặc cười thành tiếng trong khi đang nhìn vào mắt bạn không?', opts: stdOpts012 }, { id: 4, clu: 'emo', comp: 'soc', t: 'Khi bạn nhìn và chỉ tay vào một món đồ chơi ở góc bên kia phòng, bé có nhìn theo hướng tay bạn chỉ tới món đồ chơi đó không?', opts: stdOpts012 }, // CỤM 2: GIAO TIẾP CÓ CHỦ ĐÍCH (Câu 5 - 8 • Max 8đ • Thuộc SOCIAL COMPOSITE) { id: 5, clu: 'com', comp: 'soc', t: 'Bé có biết chủ động cho bạn biết khi bé cần sự giúp đỡ hoặc muốn lấy một đồ vật nằm ngoài tầm tay với không?', opts: stdOpts012 }, { id: 6, clu: 'com', comp: 'soc', t: 'Khi bạn đang không chú ý đến bé, bé có cố gắng làm điều gì đó (như phát âm, gọi, kéo áo) để thu hút sự chú ý của bạn không?', opts: stdOpts012 }, { id: 7, clu: 'com', comp: 'soc', t: 'Bé có làm những trò ngộ nghĩnh, đáng yêu chỉ để khiến bạn bật cười không?', opts: stdOpts012 }, { id: 8, clu: 'com', comp: 'soc', t: 'Bé có cố gắng thu hút bạn chú ý nhìn vào những đồ vật mà bé thấy thú vị (nhưng không phải để xin lấy hộ) không?', opts: stdOpts012 }, // CỤM 3: CỬ CHỈ GIAO TIẾP (Câu 9 - 13 • Max 10đ • Thuộc SOCIAL COMPOSITE) { id: 9, clu: 'ges', comp: 'soc', t: 'Bé có biết cầm lấy một đồ vật và đưa trao vào tay bạn không?', opts: stdOpts012 }, { id: 10, clu: 'ges', comp: 'soc', t: 'Bé có giơ đồ vật lên đưa cho bạn xem (khoe đồ) nhưng không phải để đưa hẳn cho bạn không?', opts: stdOpts012 }, { id: 11, clu: 'ges', comp: 'soc', t: 'Bé có biết vẫy tay chào tạm biệt ("Bye-bye") không?', opts: stdOpts012 }, { id: 12, clu: 'ges', comp: 'soc', t: 'Bé có biết dùng ngón tay chỉ trỏ vào các đồ vật ở xa không?', opts: stdOpts012 }, { id: 13, clu: 'ges', comp: 'soc', t: 'Bé có biết gật đầu để biểu thị ý "Có / Đồng ý" không?', opts: stdOpts012 }, // CỤM 4: ÂM THANH TIỀN NGÔN NGỮ (Câu 14 - 16 • Max 8đ • Thuộc SPEECH COMPOSITE) { id: 14, clu: 'snd', comp: 'spe', t: 'Bé có sử dụng các âm thanh hoặc từ ngữ để xin giúp đỡ hoặc để thu hút sự chú ý của bạn không?', opts: stdOpts012 }, { id: 15, clu: 'snd', comp: 'spe', t: 'Bé có biết ghép các âm thanh lại với nhau thành chuỗi âm tiết lặp lại (ví dụ: "ba-ba-ba", "ma-ma", "đa-ga") không?', opts: stdOpts012 }, { id: 16, clu: 'snd', comp: 'spe', t: 'Bé đã phát âm được khoảng bao nhiêu phụ âm sau đây: M, N, B, P, D, T, G, K, V, L, S, X, Ch, Nh...?', opts: [ { pt: 0, lbl: 'Chưa có âm nào (0đ)' }, { pt: 1, lbl: '1 – 2 phụ âm (1đ)' }, { pt: 2, lbl: '3 – 4 phụ âm (2đ)' }, { pt: 3, lbl: '5 – 8 phụ âm (3đ)' }, { pt: 4, lbl: 'Trên 8 phụ âm (4đ)' } ] }, // CỤM 5: TỪ VỰNG & KẾT HỢP TỪ (Câu 17 - 18 • Max 6đ • Thuộc SPEECH COMPOSITE) { id: 17, clu: 'wrd', comp: 'spe', t: 'Bé đã tự nói được khoảng bao nhiêu từ đơn có nghĩa mà bạn nhận ra được (như "Mẹ", "Bà", "Măm", "Bóng", "Xe" — tính cả từ phát âm chưa thật tròn vành)?', opts: [ { pt: 0, lbl: 'Chưa nói từ nào (0đ)' }, { pt: 1, lbl: '1 – 3 từ đơn (1đ)' }, { pt: 2, lbl: '4 – 10 từ đơn (2đ)' }, { pt: 3, lbl: '11 – 30 từ đơn (3đ)' }, { pt: 4, lbl: 'Trên 30 từ vựng (4đ)' } ] }, { id: 18, clu: 'wrd', comp: 'spe', t: 'Bé có biết ghép 2 từ lại với nhau thành cụm từ có nghĩa (ví dụ: "Thêm nữa", "Mẹ bế", "Đi chơi", "Bóng này") không?', opts: stdOpts012 }, // CỤM 6: THÔNG HIỂU NGÔN NGỮ (Câu 19 - 20 • Max 6đ • Thuộc SYMBOLIC COMPOSITE) { id: 19, clu: 'und', comp: 'sym', t: 'Khi bạn gọi tên của bé, bé có quay đầu lại nhìn hoặc phản ứng ngay không?', opts: stdOpts012 }, { id: 20, clu: 'und', comp: 'sym', t: 'Bé hiểu được khoảng bao nhiêu tên gọi của người thân, bộ phận cơ thể hoặc đồ vật quen thuộc khi bạn hỏi mà không chỉ tay (như "Mẹ đâu?", "Bóng đâu?", "Mũi đâu?")?', opts: [ { pt: 0, lbl: 'Chưa hiểu tên đồ vật nào (0đ)' }, { pt: 1, lbl: 'Hiểu 1 – 3 tên gọi (1đ)' }, { pt: 2, lbl: 'Hiểu 4 – 10 tên gọi (2đ)' }, { pt: 3, lbl: 'Hiểu 11 – 30 tên gọi (3đ)' }, { pt: 4, lbl: 'Hiểu trên 30 tên gọi (4đ)' } ] }, // CỤM 7: SỬ DỤNG ĐỒ VẬT & CHƠI GIẢ VỜ (Câu 21 - 24 • Max 11đ • Thuộc SYMBOLIC COMPOSITE) { id: 21, clu: 'obj', comp: 'sym', t: 'Bé có tỏ ra thích thú chơi với nhiều loại đồ vật/đồ chơi đa dạng khác nhau (không chỉ dính chặt vào 1 món duy nhất) không?', opts: stdOpts012 }, { id: 22, clu: 'obj', comp: 'sym', t: 'Bé biết sử dụng đúng chức năng được khoảng bao nhiêu đồ vật thực tế sau đây: Cốc (để uống), Thìa/Bát (để xúc), Lược (chải đầu), Bàn chải (đánh răng), Điện thoại (áp lên tai), Xe hơi (đẩy lăn)?', opts: [ { pt: 0, lbl: 'Chưa biết dùng đúng chức năng (0đ)' }, { pt: 1, lbl: '1 – 2 đồ vật (1đ)' }, { pt: 2, lbl: '3 – 4 đồ vật (2đ)' }, { pt: 3, lbl: 'Từ 5 đồ vật trở lên (3đ)' } ] }, { id: 23, clu: 'obj', comp: 'sym', t: 'Bé có thể xếp chồng được khoảng bao nhiêu khối gỗ (hoặc hộp/vòng xếp) lên nhau thành tháp?', opts: [ { pt: 0, lbl: 'Chưa biết xếp chồng (0đ)' }, { pt: 1, lbl: 'Xếp được 2 khối (1đ)' }, { pt: 2, lbl: 'Xếp được 3 – 4 khối (2đ)' }, { pt: 3, lbl: 'Xếp được từ 5 khối trở lên (3đ)' } ] }, { id: 24, clu: 'obj', comp: 'sym', t: 'Bé có biết chơi đóng vai giả vờ chăm sóc búp bê hoặc thú nhồi bông (như lấy thìa đút cho gấu ăn, cho búp bê uống nước, đắp chăn ru búp bê ngủ) không?', opts: [ { pt: 0, lbl: 'Chưa biết chơi giả vờ (0đ)' }, { pt: 1, lbl: 'Thỉnh thoảng / Làm theo mẫu (1đ)' }, { pt: 3, lbl: 'Thường xuyên tự chơi giả vờ đa dạng (3đ)' } ] } ]; let childMonth = 18; // Mặc định 18 tháng tuổi (Có thể chọn bất kỳ tháng nào từ 6 đến 24 tháng) let answers = {}; let filterComp = 'all'; // 'all' | 'soc' | 'spe' | 'sym' let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .cs-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .cs-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .cs-inner { padding: 24px; max-width: 980px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .cs-wrap.is-fullscreen .cs-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .cs-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 0 rgba(37, 99, 235, 0.4); } 70% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 10px rgba(37, 99, 235, 0); } 100% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 0 rgba(37, 99, 235, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #1d4ed8 0%, #2563eb 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Header */ .cs-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .cs-header-text { flex: 1 1 260px; } .cs-title { font-size: 21px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .cs-desc { font-size: 14px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #eff6ff; color: #1d4ed8; border: 1px solid #bfdbfe; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #2563eb; color: #ffffff; border-color: #2563eb; } /* Controls */ .cs-top-panel { display: grid; grid-template-columns: 1fr 1.4fr; gap: 12px; background: #f8fafc; border: 1px solid #cbd5e1; border-radius: 12px; padding: 14px; margin-bottom: 14px; } .cs-lbl { font-size: 12px; font-weight: 800; color: #0f172a; text-transform: uppercase; display: block; margin-bottom: 6px; } .cs-select { width: 100%; padding: 8px 10px; border: 1px solid #2563eb; border-radius: 7px; font-size: 14px; font-weight: 700; color: #1e3a8a; background: #ffffff; } .cs-presets { display: flex; flex-wrap: wrap; gap: 6px; } .cs-pbtn { padding: 7px 10px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 600; color: #334155; cursor: pointer; flex: 1 1 auto; text-align: center; touch-action: manipulation; } .cs-pbtn:hover { background: #f1f5f9; } .cs-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; } .cs-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 16px; } .cs-tab { padding: 6px 12px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .cs-tab.active { background: #2563eb; color: #ffffff; border-color: #2563eb; } /* Sticky Dashboard */ .cs-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .cs-wrap.is-fullscreen .cs-dash { top: 58px; } .cs-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .cs-score-big { font-size: 21px; font-weight: 800; line-height: 1.2; } .cs-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .cs-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .cs-pillars { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; font-size: 12px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .cs-pillar-box { background: #1e293b; padding: 8px 10px; border-radius: 8px; border-left: 3px solid #475569; } .cs-pillar-box.concern { border-left-color: #ef4444; background: rgba(239, 68, 68, 0.16); } .cs-pillar-box.ok { border-left-color: #10b981; } .cs-pillar-val { font-weight: 800; color: #ffffff; font-size: 13.5px; display: block; margin-top: 2px; } /* Danh sách 24 câu hỏi */ .cs-item { border: 1px solid #e2e8f0; border-radius: 10px; padding: 14px 16px; margin-bottom: 10px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 8px; } .cs-item.pts-high { border-color: #a7f3d0; background: #f0fdf4; } .cs-item.pts-mid { border-color: #fde68a; background: #fffbeb; } .cs-item.pts-zero { border-color: #fca5a5; background: #fff5f5; } .cs-item-title { font-size: 14.5px; font-weight: 600; color: #1e293b; } .cs-tags { display: flex; flex-wrap: wrap; gap: 6px; } .cs-tag { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .cs-ans-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; } .cs-ans-grid.grid-4 { grid-template-columns: repeat(4, 1fr); } .cs-ans-grid.grid-5 { grid-template-columns: repeat(5, 1fr); } .cs-abtn { padding: 8px 6px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 700; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .cs-abtn:hover { border-color: #64748b; } .cs-abtn.sel-zero { background: #ef4444; border-color: #ef4444; color: #ffffff; } .cs-abtn.sel-mid { background: #f59e0b; border-color: #f59e0b; color: #ffffff; } .cs-abtn.sel-max { background: #10b981; border-color: #10b981; color: #ffffff; } /* Biểu đồ 7 Cụm kỹ năng & Kết luận */ .cs-chart-card { margin-top: 20px; padding: 16px 18px; border-radius: 12px; background: #ffffff; border: 1px solid #e2e8f0; } .cs-bar-row { display: flex; align-items: center; gap: 10px; margin-bottom: 9px; font-size: 12.5px; } .cs-bar-lbl { width: 280px; flex-shrink: 0; font-weight: 600; color: #334155; } .cs-bar-track { flex: 1; height: 16px; background: #f1f5f9; border-radius: 999px; overflow: hidden; } .cs-bar-val { width: 95px; text-align: right; font-weight: 700; color: #0f172a; flex-shrink: 0; } .cs-result-box { margin-top: 16px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #2563eb; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 740px) { .cs-inner { padding: 14px; } .cs-title { font-size: 18px; } .cs-top-panel { grid-template-columns: 1fr; } .cs-pillars { grid-template-columns: 1fr 1fr; } .cs-ans-grid, .cs-ans-grid.grid-4, .cs-ans-grid.grid-5 { grid-template-columns: 1fr; } .cs-bar-lbl { width: 150px; font-size: 11.5px; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
Bảng Kiểm Sàng Lọc Hành Vi Giao Tiếp & Biểu Tượng Sớm CSBS DP ITC (24 Câu Hỏi • 6 – 24 Tháng)
Công cụ chuẩn hóa của Wetherby & Prizant (2002) đánh giá 7 Cụm kỹ năng tiền ngôn ngữ và 3 Chỉ số Tổng hợp (Xã hội: 26đ • Lời nói: 14đ • Biểu tượng: 17đ • Tổng: 57đ). Hệ thống tự động tra cứu Ngưỡng điểm cắt chuẩn (-1.25 SD) tại chính xác từng tháng tuổi (từ 6 đến 24 tháng) để phát hiện sớm Nguy cơ Tự kỷ và Chậm nói.
• Theo quy tắc chuẩn của Giáo sư Amy Wetherby & Barry Prizant (2002), trẻ cần được chuyển gửi đánh giá phát triển chuyên sâu ngay lập tức khi rơi vào vùng Đáng lo ngại ở Chỉ số Xã hội (${socScore}/26đ, ngưỡng ≤${cut.soc}), Chỉ số Biểu tượng (${symScore}/17đ, ngưỡng ≤${cut.sym}) hoặc Tổng điểm (${totScore}/57đ, ngưỡng ≤${cut.tot}).
• Phân tích chuyên biệt về Nguy cơ Tự kỷ sớm: ${isSocConcern && isSymConcern ? 'Sự sụt giảm đồng thời ở cả Giao tiếp Xã hội (Ánh mắt: ' + cluSums.emo + '/8, Giao tiếp chủ đích: ' + cluSums.com + '/8, Cử chỉ: ' + cluSums.ges + '/10) và Tư duy Biểu tượng (Nghe hiểu: ' + cluSums.und + '/6, Chơi giả vờ: ' + cluSums.obj + '/11) là dấu hiệu chỉ báo sớm đặc hiệu nhất của Rối loạn phổ tự kỷ (ASD) ở trẻ dưới 2 tuổi.' : 'Trẻ có thiếu hụt ở các kỹ năng nền tảng tiền ngôn ngữ.'}
• Hướng xử trí: Thực hiện đánh giá trực tiếp bằng mẫu hành vi CSBS DP Behavior Sample, ADOS-2 (Module T) hoặc Bayley-III / KSPD và can thiệp sớm ngay mà không chờ trẻ lớn hơn. `; } else if (isSpeConcern) { badgeColor = '#f59e0b'; badgeTxt = 'CHỈ THẤP LỜI NÓI (THEO DÕI CHẬM NÓI ĐƠN THUẦN)'; analysis = ` Kết luận CSBS DP ITC tại mốc ${childMonth} tháng — CHỈ ĐÁNG LO NGẠI ĐƠN ĐỘC Ở CHỈ SỐ LỜI NÓI (Late Talker Profile):
• Điểm Tổng hợp Xã hội (${socScore}/26đ > ${cut.soc}), Tổng hợp Biểu tượng (${symScore}/17đ > ${cut.sym}) và Tổng điểm (${totScore}/57đ > ${cut.tot}) của bé đều nằm trong giới hạn bình thường. Bé có giao tiếp mắt, chỉ trỏ, khoe đồ, hiểu lời nói và chơi giả vờ tốt.
• Tuy nhiên, riêng Chỉ số Lời nói (Speech: ${speScore}/14đ ≤ ngưỡng ${cut.spe}) đang thấp hơn chuẩn tuổi.
• Hướng xử trí chuẩn CSBS DP: Đây là hồ sơ điển hình của nhóm Chậm nói diễn đạt đơn thuần (Late Talker). Hướng dẫn cha mẹ tăng cường kích thích ngôn ngữ tại nhà và sàng lọc lại bằng CSBS DP ITC sau 3 tháng; nếu sau 3 tháng vẫn ở vùng Concern thì chuyển khám Ngôn ngữ trị liệu. `; } else { badgeColor = '#10b981'; badgeTxt = 'KHÔNG ĐÁNG LO NGẠI (PHÁT TRIỂN ĐÚNG TUỔI)'; analysis = ` Kết luận CSBS DP ITC tại mốc ${childMonth} tháng — KHÔNG ĐÁNG LO NGẠI (NO CONCERN):
• Cả 3 Chỉ số Tổng hợp (Xã hội: ${socScore}/26đ • Lời nói: ${speScore}/14đ • Biểu tượng: ${symScore}/17đ) và Tổng điểm (${totScore}/57đ) của bé đều vượt trên ngưỡng cắt chuẩn của lứa tuổi ${childMonth} tháng.
• Các tiền đề giao tiếp sớm (ánh mắt, chú ý chung, cử chỉ, âm thanh và chơi biểu tượng) phát triển tốt. Hẹn sàng lọc định kỳ lại sau mỗi 3–6 tháng cho đến khi bé tròn 24 tháng tuổi. `; } scoreBadge.textContent = badgeTxt; scoreBadge.style.background = badgeColor; scoreBadge.style.color = '#ffffff'; resultBox.style.borderLeftColor = badgeColor; resultBox.innerHTML = analysis; updateFloatingFabVisibility(); } function applyPreset(type) { answers = {}; if (type === 'reset') { questions.forEach(q => { answers[q.id] = 0; }); renderQuestions(); updateSummary(); return; } if (type === 'typical') { // Phát triển bình thường (Tổng ~48/57đ) questions.forEach(q => { const maxPt = q.opts[q.opts.length - 1].pt; answers[q.id] = (q.id % 4 === 0) ? Math.max(1, maxPt - 1) : maxPt; }); } else if (type === 'late_talker') { // Chậm nói đơn thuần: Xã hội cao (23/26) & Biểu tượng cao (14/17), nhưng Lời nói thấp (4/14) questions.forEach(q => { const maxPt = q.opts[q.opts.length - 1].pt; if (q.comp === 'soc' || q.comp === 'sym') { answers[q.id] = (q.id % 3 === 0) ? Math.max(1, maxPt - 1) : maxPt; } else { // Speech thấp answers[q.id] = (q.id === 14 || q.id === 15) ? 1 : ((q.id === 16 || q.id === 17) ? 1 : 0); } }); } else if (type === 'asd_risk') { // Nguy cơ tự kỷ sớm: Suy giảm mạnh ở Xã hội (9/26) và Biểu tượng (6/17), Lời nói (4/14) -> Tổng 19/57đ questions.forEach((q, idx) => { if (q.comp === 'soc') { answers[q.id] = (idx % 2 === 0) ? 1 : 0; } else if (q.comp === 'sym') { answers[q.id] = (q.id === 21 || q.id === 23) ? 2 : 1; } else { answers[q.id] = (idx % 2 === 0) ? 1 : 0; } }); } renderQuestions(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); csWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { csWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 980px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } selMonth.onchange = function() { childMonth = parseInt(this.value, 10) || 18; updateSummary(); }; shadow.querySelectorAll('.cs-pbtn').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-preset')); }; }); shadow.querySelectorAll('#compTabs .cs-tab').forEach(function(tab) { tab.onclick = function() { filterComp = this.getAttribute('data-comp'); shadow.querySelectorAll('#compTabs .cs-tab').forEach(t => t.classList.remove('active')); this.classList.add('active'); renderQuestions(); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); applyPreset('asd_risk'); })();
CSBS DP (Bản kiểm Giao tiếp và Hành vi Biểu tượng): Công cụ sàng lọc cực kỳ nhạy dành cho trẻ rất nhỏ (6 – 24 tháng tuổi), giúp phát hiện nguy cơ chậm nói và tự kỷ sớm hơn cả M-CHAT-R/F.
CSBS DP với đặc biệt là bảng Infant-Toddler Checklist (ITC), là công cụ sàng lọc sớm nhất và nhạy bén nhất thế giới hiện nay để phát hiện Rối loạn giao tiếp và Nguy cơ Rối loạn phổ tự kỷ (ASD) ngay từ giai đoạn tiền ngôn ngữ (trước cả khi trẻ biết nói). Công cụ được phát triển bởi Giáo sư Amy M. Wetherby và Barry M. Prizant (xuất bản năm 2002 bởi Brookes Publishing).
Nếu như M-CHAT-R/F chỉ áp dụng được khi trẻ đã đủ 16 – 30 tháng tuổi, thì CSBS DP ITC lấp đầy khoảng trống cực kỳ quan trọng từ 6 đến 24 tháng tuổi: giúp phát hiện các dấu hiệu cảnh báo tự kỷ ở những em bé mới 9 – 12 – 15 tháng tuổi thông qua việc đo lường 7 tiền đề giao tiếp sớm (7 Prelinguistic Predictors).
1. Tóm tắt cốt lõi về cấu trúc 24 Câu hỏi & 3 Chỉ số Tổng hợp của CSBS DP ITC
Bảng kiểm CSBS DP Infant-Toddler Checklist gồm đúng 24 câu hỏi (chia thành 7 Cụm kỹ năng – Clusters và gom vào 3 Chỉ số Tổng hợp – Composites), với tổng điểm thô tối đa là 57 điểm:
| Chỉ số Tổng hợp (Composite) | Điểm tối đa | Các Cụm kỹ năng thành phần (7 Clusters) | Ý nghĩa phát triển & Dấu hiệu đỏ Tự kỷ sớm |
| 1. Tổng hợp Xã hội(Social Composite) | 26 điểm(13 câu) |
• Cảm xúc & Ánh mắt(Emotion & Eye Gaze — Câu 1–4: 8đ)
• Giao tiếp(Communication — Câu 5–8: 8đ)
• Cử chỉ(Gestures — Câu 9–13: 10đ) |
Đánh giá khả năng chia sẻ cảm xúc, nhìn mắt, tần suất giao tiếp chú ý chung (khoe đồ, chỉ trỏ) và sử dụng cử chỉ quy ước (vẫy tay, gật/lắc đầu). Sụt giảm điểm ở cụm này là chỉ báo đặc hiệu nhất của Tự kỷ sớm. |
| 2. Tổng hợp Lời nói(Speech Composite) | 14 điểm(5 câu) |
• Âm thanh(Sounds — Câu 14–16: 8đ)
• Từ vựng (Words — Câu 17–18: 6đ) |
Đánh giá việc bập bẹ chuỗi phụ âm – nguyên âm, sự đa dạng của các phụ âm đầu và số lượng từ đơn/cụm từ có nghĩa trẻ tự nói được. |
| 3. Tổng hợp Biểu tượng(Symbolic Composite) | 17 điểm(6 câu) |
• Thông hiểu ngôn ngữ(Understanding — Câu 19–20: 6đ)
• Sử dụng đồ vật & Chơi giả vờ(Object Use — Câu 21–24: 11đ) |
Đánh giá tư duy biểu tượng: khả năng hiểu tên gọi đồ vật/mệnh lệnh gắn với khả năng chơi đúng chức năng, xếp chồng khối gỗ và chơi đóng vai giả vờ (cho búp bê ăn). |
| TỔNG CỘNG (TOTAL) | 57 điểm(24 câu) | 7 Cụm kỹ năng tiền ngôn ngữ | Đối chiếu theo 19 mốc tháng tuổi liên tục (từ 6 đến 24 tháng). |
2. Quy tắc Chấm điểm & Ngưỡng Cắt Lâm sàng (Criterion Cutoffs -1.25 SD)
-
Cách chấm điểm từng câu:
-
Các câu hỏi tần suất (
Chưa•Thỉnh thoảng•Thường xuyên): Chấm 0 – 1 – 2 điểm. -
Các câu hỏi định lượng số lượng (số lượng từ vựng, số âm thanh, số đồ vật hiểu được, số khối gỗ xếp chồng): Chấm từ 0 – 1 – 2 – 3 hoặc 0 – 1 – 2 – 3 – 4 điểm tùy câu.
-
-
Quy tắc “Điểm Cắt Đáng Lo Ngại” (Concern Cutoff ≤−1.25 SD / Bách phân vị thứ 10): Theo chuẩn của Wetherby & Prizant (2002), tại mỗi tháng tuổi từ 6 đến 24 tháng, trẻ cần được chuyển gửi đánh giá chuyên sâu ngay nếu rơi vào 1 trong 3 trường hợp:
-
Đạt mức Đáng lo ngại (Concern) ở Tổng điểm (Total Score), HOẶC
-
Đạt mức Đáng lo ngại (Concern) ở Chỉ số Xã hội (Social Composite), HOẶC
-
Đạt mức Đáng lo ngại (Concern) ở Chỉ số Biểu tượng (Symbolic Composite).(Riêng nếu trẻ chỉ thấp đơn độc ở Chỉ số Lời nói – Speech Composite trong khi Xã hội và Biểu tượng vẫn bình thường, hướng dẫn chuẩn là theo dõi định kỳ và đánh giá lại sau 3 tháng vì có thể là chậm nói đơn thuần / Late Talker).
-
[Tự kỷ] M-CHAT-R/F: Bảng chấm điểm sàng lọc tự kỷ chuẩn y khoa cho trẻ 16 – 30 tháng tuổi
M-CHAT-R/F (viết tắt của Modified Checklist for Autism in Toddlers, Revised with Follow-Up) là bảng kiểm sàng lọc sớm nguy cơ rối loạn phổ tự kỷ (ASD) dành cho trẻ nhỏ từ 16 đến 30 tháng tuổi. Đây là một trong những công cụ tầm soát tự kỷ chuẩn hóa phổ biến và uy tín nhất trên thế giới hiện nay, được Viện Hàn lâm Nhi khoa Hoa Kỳ (AAP) khuyến nghị sử dụng.
(function() { const host = document.getElementById('mchat-wp-host'); if (!host) return; // Thẻ giữ chỗ (Placeholder) để khi nhấc bảng ra document.body không làm giật trang WordPress const placeholder = document.createComment('mchat-portal-placeholder'); // Khởi tạo Shadow DOM cách ly 100% với CSS của Theme WordPress const shadow = host.attachShadow({ mode: 'open' }); // Dữ liệu 20 câu hỏi M-CHAT-R chuẩn y khoa const questions = [ { id: 1, t: 'Nếu bạn chỉ tay vào một vật gì đó trong phòng, bé có nhìn theo hướng bạn chỉ không?', r: 'NO', c: 'crit', cat: 'Đáp ứng chú ý chung' }, { id: 2, t: 'Bạn có bao giờ tự hỏi liệu con mình có bị điếc (nghe kém) không?', r: 'YES', c: 'sen', cat: 'Phản ứng âm thanh (Câu đảo ngược)' }, { id: 3, t: 'Bé có biết chơi trò giả vờ không? (VD: giả vờ uống nước từ cốc rỗng, nghe điện thoại, cho búp bê ăn)', r: 'NO', c: 'soc', cat: 'Tư duy chơi giả vờ' }, { id: 4, t: 'Bé có thích leo trèo lên đồ vật không? (VD: bàn ghế, cầu thang, đồ chơi vận động)', r: 'NO', c: 'sen', cat: 'Vận động thô' }, { id: 5, t: 'Bé có những cử động ngón tay bất thường ở ngay sát trước mắt mình không? (VD: vẫy/búng ngón tay sát mắt)', r: 'YES', c: 'sen', cat: 'Kích thích thị giác - Stimming (Câu đảo ngược)' }, { id: 6, t: 'Bé có dùng một ngón tay (ngón trỏ) để chỉ vào thứ bé muốn XIN hoặc nhờ lấy giúp không?', r: 'NO', c: 'crit', cat: 'Chỉ trỏ yêu cầu' }, { id: 7, t: 'Bé có dùng một ngón tay để chỉ vào thứ gì đó thú vị chỉ để KHOE / CHIA SẺ với bạn không? (VD: chỉ máy bay, con chó)', r: 'NO', c: 'crit', cat: 'Khởi xướng chú ý chung (Quan trọng nhất)' }, { id: 8, t: 'Bé có quan tâm đến những đứa trẻ khác không? (VD: nhìn các bạn chơi, cười hoặc đi tới gần bạn)', r: 'NO', c: 'soc', cat: 'Động lực xã hội' }, { id: 9, t: 'Bé có mang đồ vật lại đưa cho bạn xem chỉ để KHOE (chứ không phải để nhờ mở giúp) không?', r: 'NO', c: 'crit', cat: 'Chia sẻ niềm vui hai chiều' }, { id: 10, t: 'Bé có phản ứng (ngẩng lên nhìn, bập bẹ, ngừng chơi) khi bạn gọi tên bé không?', r: 'NO', c: 'soc', cat: 'Định hướng tên gọi' }, { id: 11, t: 'Khi bạn mỉm cười với bé, bé có mỉm cười đáp lại bạn không?', r: 'NO', c: 'soc', cat: 'Nụ cười xã hội' }, { id: 12, t: 'Bé có tỏ ra khó chịu quá mức, bịt tai hoặc hoảng loạn trước những tiếng ồn thông thường hàng ngày không?', r: 'YES', c: 'sen', cat: 'Nhạy cảm thính giác (Câu đảo ngược)' }, { id: 13, t: 'Bé đã biết đi chưa?', r: 'NO', c: 'sen', cat: 'Vận động cơ bản' }, { id: 14, t: 'Bé có nhìn vào mắt bạn khi bạn đang nói chuyện, chơi đùa hoặc mặc quần áo cho bé không?', r: 'NO', c: 'crit', cat: 'Giao tiếp mắt trực diện' }, { id: 15, t: 'Bé có cố gắng bắt chước những gì bạn làm không? (VD: vẫy tay bye-bye, vỗ tay, làm tiếng động vui nhộn)', r: 'NO', c: 'crit', cat: 'Bắt chước xã hội' }, { id: 16, t: 'Nếu bạn quay đầu nhìn thứ gì đó, bé có nhìn quanh để xem bạn đang nhìn cái gì không?', r: 'NO', c: 'soc', cat: 'Theo dõi ánh mắt' }, { id: 17, t: 'Bé có cố gắng thu hút sự chú ý để bạn nhìn vào bé không? (VD: nhìn bạn chờ khen hoặc kêu "Mẹ nhìn này")', r: 'NO', c: 'soc', cat: 'Tìm kiếm sự công nhận' }, { id: 18, t: 'Bé có hiểu khi bạn bảo bé làm một việc gì đó không? (VD: không chỉ tay mà nói "Con lấy cho mẹ cái chăn")', r: 'NO', c: 'sen', cat: 'Ngôn ngữ tiếp nhận (Hiểu lời)' }, { id: 19, t: 'Nếu có điều gì mới lạ xảy ra, bé có nhìn lên mặt bạn để xem bạn phản ứng thế nào về việc đó không?', r: 'NO', c: 'crit', cat: 'Tham chiếu xã hội' }, { id: 20, t: 'Bé có thích các hoạt động chuyển động có tương tác không? (VD: được đung đưa, nhún nhảy trên đùi bạn)', r: 'NO', c: 'soc', cat: 'Tương tác cảm xúc - vận động' } ]; let answers = {}; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .mc-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (ĐÃ ĐƯỢC PORTAL RA BODY) */ .mc-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .mc-inner { padding: 24px; max-width: 900px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .mc-wrap.is-fullscreen .mc-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng khi cuộn */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .mc-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(3, 105, 161, 0.45), 0 0 0 0 rgba(3, 105, 161, 0.4); } 70% { box-shadow: 0 6px 20px rgba(3, 105, 161, 0.45), 0 0 0 10px rgba(3, 105, 161, 0); } 100% { box-shadow: 0 6px 20px rgba(3, 105, 161, 0.45), 0 0 0 0 rgba(3, 105, 161, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #0369a1 0%, #0284c7 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(3, 105, 161, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Phần tiêu đề */ .mc-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 18px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .mc-header-text { flex: 1 1 260px; } .mc-title { font-size: 21px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .mc-desc { font-size: 14px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #f0f9ff; color: #0369a1; border: 1px solid #bae6fd; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #0284c7; color: #ffffff; border-color: #0284c7; } /* Thanh nút kịch bản mẫu */ .mc-presets { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; } .mc-preset-lbl { font-size: 12.5px; font-weight: 700; color: #475569; margin-right: 4px; } .mc-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; transition: all 0.15s ease; touch-action: manipulation; } .mc-pbtn:hover { background: #f1f5f9; border-color: #94a3b8; } .mc-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } /* Bảng điểm nổi (Sticky Dashboard) */ .mc-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } /* Khi ở chế độ toàn màn hình, đẩy bảng điểm xuống ngay dưới thanh thoát toàn màn hình */ .mc-wrap.is-fullscreen .mc-dash { top: 58px; } .mc-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .mc-score-big { font-size: 24px; font-weight: 800; line-height: 1; } .mc-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .mc-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .mc-bar-bg { height: 10px; background: #334155; border-radius: 5px; overflow: hidden; margin-bottom: 12px; } .mc-bar-fill { height: 100%; width: 0%; background: #10b981; transition: width 0.35s ease, background 0.35s ease; } .mc-pillars { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; font-size: 12px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .mc-pillar-box { background: #1e293b; padding: 7px 10px; border-radius: 8px; } .mc-pillar-val { font-weight: 700; color: #ffffff; font-size: 13.5px; display: block; margin-top: 2px; } /* Danh sách 20 câu hỏi */ .mc-q-item { border: 1px solid #e2e8f0; border-radius: 10px; padding: 14px 16px; margin-bottom: 12px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 10px; } .mc-q-item.risk-flagged { border-color: #fca5a5; background: #fff5f5; } .mc-q-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; } .mc-q-text { font-size: 14.5px; font-weight: 600; color: #1e293b; line-height: 1.5; flex: 1; } .mc-q-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; } .mc-tag { font-size: 11px; font-weight: 600; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .mc-tag.crit { background: #e0f2fe; color: #0369a1; } .mc-tag.rev { background: #fef3c7; color: #b45309; } /* Nút chọn CÓ / KHÔNG */ .mc-ans-group { display: flex; gap: 8px; flex-shrink: 0; } .mc-abtn { min-width: 78px; padding: 8px 14px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 13.5px; font-weight: 700; color: #334155; cursor: pointer; transition: all 0.15s ease; touch-action: manipulation; } .mc-abtn:hover { border-color: #64748b; } .mc-abtn.sel-safe { background: #10b981; border-color: #10b981; color: #ffffff; } .mc-abtn.sel-risk { background: #ef4444; border-color: #ef4444; color: #ffffff; } /* Hộp phân tích kết quả cuối bảng */ .mc-result-box { margin-top: 20px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #64748b; font-size: 14px; line-height: 1.65; color: #1e293b; } /* Tối ưu giao diện điện thoại */ @media (max-width: 600px) { .mc-inner { padding: 14px; } .mc-title { font-size: 18px; } .mc-q-head { flex-direction: column; } .mc-ans-group { width: 100%; } .mc-abtn { flex: 1; padding: 10px 14px; } .mc-pillars { grid-template-columns: 1fr; } .mc-pbtn.reset { margin-left: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
Bảng Chấm Điểm Sàng Lọc Tự Kỷ Chuẩn Y Khoa M-CHAT-R/F (16 – 30 tháng)
Hãy chọn CÓ hoặc KHÔNG dựa trên hành vi thường xuyên của bé. Hệ thống tự động đảo chiều điểm ở câu 2, 5, 12 và đối chiếu nhóm kỹ năng Chú ý chung để phân biệt với Chậm nói đơn thuần / ADHD.
• Hệ thống Chú ý chung và Giao tiếp phi ngôn ngữ của bé hoạt động tốt (${crit}/7 điểm rủi ro nhóm cốt lõi).
• Phân biệt với Chậm nói đơn thuần: Nếu bé hiện tại chưa nói được nhiều từ nhưng đạt mức điểm này (biết chỉ trỏ khoe đồ, nhìn mắt, hiểu lời nói), khả năng rất cao bé chỉ bị chậm nói diễn đạt đơn thuần. Nếu bé dưới 24 tháng tuổi, hãy sàng lọc lại khi bé tròn 24 tháng. `; } else if (total = 2) ? `Bé có ${crit}/7 dấu hiệu rủi ro ở nhóm Chú ý chung cốt lõi (chỉ trỏ, giao tiếp mắt, khoe đồ vật). Đây là dấu hiệu cảnh báo sớm của phổ tự kỷ chứ không chỉ là chậm nói hay hiếu động đơn thuần.` : `Điểm rủi ro của bé chủ yếu nằm ở nhóm Giác quan/Ngôn ngữ hoặc Mất tập trung, trong khi Chú ý chung cốt lõi khá tốt (${crit}/7). Trường hợp này rất dễ gặp ở trẻ Tăng động giảm chú ý (ADHD) hoặc chậm nói kèm nhạy cảm giác quan.`; analysis = ` Kết luận sàng lọc — Nguy cơ TRUNG BÌNH (${total}/20 điểm):
• ${diffNote}
• Hướng xử trí chuẩn M-CHAT-R/F: Cần thực hiện bước 2 — Phỏng vấn theo dõi (Follow-Up) cho ${total} câu có điểm rủi ro để làm rõ ngữ cảnh. Nếu sau khi kiểm tra kỹ vẫn còn từ 2 điểm trở lên, cần đưa bé đi khám chuyên khoa Tâm bệnh / Nhi phát triển hành vi. `; } else { color = '#ef4444'; badgeTxt = 'NGUY CƠ CAO (8 – 20 điểm)'; analysis = ` Kết luận sàng lọc — Nguy cơ CAO (${total}/20 điểm, trong đó có ${crit}/7 câu cốt lõi):
• Bé biểu hiện sự suy giảm rõ rệt ở cả hai trụ cột: Chú ý chung (Joint Attention) và Tương tác xã hội hai chiều.
• Hướng xử trí chuẩn M-CHAT-R/F: Với mức điểm từ 8 trở lên, gia đình có thể bỏ qua bước phỏng vấn phụ và đưa bé đi khám chẩn đoán chuyên sâu ngay (bằng thang ADOS-2, DSM-5) tại khoa Tâm bệnh / Phát triển hành vi Nhi để bắt đầu can thiệp sớm trong giai đoạn vàng. `; } barFillEl.style.background = color; badgeEl.textContent = badgeTxt; badgeEl.style.background = color; badgeEl.style.color = '#ffffff'; resBoxEl.style.borderLeftColor = color; resBoxEl.innerHTML = analysis; updateFloatingFabVisibility(); } // Kiểm tra vùng cuộn để hiện/ẩn nút nổi thông minh function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; // Hiện nút nổi khi người đọc đang lướt ngang qua vùng bảng M-CHAT-R/F const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } // KỸ THUẬT DOM PORTAL: Nhấc thẳng #mchat-wp-host ra trực tiếp document.body khi phóng to function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); mcWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { mcWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 880px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } // Gắn sự kiện cho các nút Kịch bản mẫu const presetBtns = shadow.querySelectorAll('.mc-pbtn'); presetBtns.forEach(function(btn) { btn.onclick = function() { const type = this.getAttribute('data-preset'); answers = {}; if (type === 'speech') { questions.forEach(function(q) { answers[q.id] = (q.r === 'YES' ? 'NO' : 'YES'); }); answers[18] = 'NO'; } else if (type === 'adhd') { questions.forEach(function(q) { answers[q.id] = (q.r === 'YES' ? 'NO' : 'YES'); }); answers[2] = 'YES'; answers[10] = 'NO'; answers[12] = 'YES'; } else if (type === 'asd') { questions.forEach(function(q) { answers[q.id] = (q.r === 'YES' ? 'NO' : 'YES'); }); [1, 2, 3, 5, 6, 7, 8, 9, 10, 14, 15, 16, 19].forEach(function(id) { const qObj = questions[id - 1]; answers[id] = qObj.r; }); } renderQuestions(); updateSummary(); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); renderQuestions(); updateSummary(); })();
1. Cấu trúc của công cụ (Quy trình 2 bước)
Tên gọi M-CHAT-R/F thể hiện rõ hai giai đoạn thực hiện của bài kiểm tra:
-
Giai đoạn 1 – M-CHAT-R (Bảng câu hỏi sửa đổi): Gồm 20 câu hỏi dưới dạng Có/Không dành cho cha mẹ hoặc người chăm sóc chính trả lời. Các câu hỏi xoay quanh hành vi, kỹ năng giao tiếp, tương tác xã hội và cách trẻ phản ứng với môi trường xung quanh (ví dụ: Trẻ có chỉ tay để khoe đồ vật không? Trẻ có nhìn vào mắt bạn không? Trẻ có quay đầu lại khi được gọi tên không?).
-
Giai đoạn 2 – Follow-Up (Phỏng vấn theo dõi – chữ “F”): Dành cho những trẻ có kết quả nằm trong nhóm nguy cơ trung bình ở Giai đoạn 1. Chuyên gia y tế hoặc tâm lý sẽ hỏi chi tiết hơn về những câu mà trẻ “không vượt qua” (dựa trên sơ đồ luồng câu hỏi chuẩn) để lọc bỏ các trường hợp dương tính giả (trẻ bình thường nhưng cha mẹ hiểu nhầm câu hỏi) trước khi quyết định chuyển trẻ đi khám chuyên sâu.
2. Cách tính điểm và phân loại nguy cơ (Giai đoạn 1)
Sau khi cha mẹ trả lời 20 câu hỏi, tổng điểm (từ 0 đến 20) sẽ phân trẻ vào 3 mức độ:
3. Những lưu ý quan trọng khi sử dụng
-
Là công cụ sàng lọc, KHÔNG phải công cụ chẩn đoán: Kết quả M-CHAT-R/F báo “nguy cơ cao” không đồng nghĩa 100% là trẻ mắc tự kỷ (trẻ có thể bị chậm nói đơn thuần, khiếm thính hoặc rối loạn phát triển khác). Để chẩn đoán chính xác, trẻ cần được các bác sĩ chuyên khoa Nhi, Tâm thần nhi hoặc chuyên gia Tâm lý lâm sàng trực tiếp thăm khám (sử dụng các bộ công cụ chuyên sâu như ADOS-2, DSM-5…).
-
Hoàn toàn miễn phí và nhanh chóng: Phụ huynh chỉ mất khoảng 5–10 phút để hoàn thành. Tại Việt Nam, bộ công cụ này đã được chuẩn hóa tiếng Việt và tích hợp trực tuyến trên nhiều nền tảng hỗ trợ trẻ tự kỷ (như hệ thống A365) cũng như tại các bệnh viện Nhi.
Nội dung được tạo với sự đánh giá từ tài liệu gốc và hỗ trợ bởi AI.
[Tự kỷ] STAT: Công cụ sàng lọc tự kỷ qua tương tác cho trẻ mới biết đi (24 – 36 tháng)
Bảng Chấm Điểm Sàng Lọc Tương Tác Trực Tiếp STAT (14 – 36 Tháng)
', 'Đánh giá Cấp độ 2 thông qua 12 hoạt động chơi tương tác trực tiếp trên 4 lĩnh vực giao tiếp xã hội sớm. Tổng điểm quy đổi theo trọng số từ 0.00 đến 4.00 điểm.
', '• Bé thể hiện khả năng phối hợp ánh mắt, chia sẻ sự chú ý (Chú ý chung: ' + sAtt.toFixed(2) + '/1.00) và yêu cầu giao tiếp (' + sReq.toFixed(2) + '/1.00) phù hợp.
• Ý nghĩa phân biệt: Nếu bé chậm nói nhưng đạt điểm STAT thấp như trên, bé có nền tảng giao tiếp phi ngôn ngữ tốt (gợi ý chậm nói đơn thuần hơn là rối loạn phổ tự kỷ).'; } else if (total < highCut) { color = '#f59e0b'; badgeTxt = 'NGƯỠNG CẦN THEO DÕI SÁT (' + total.toFixed(2) + ' / 4.00)'; analysis = 'Kết luận sàng lọc tương tác STAT — Vùng Giáp Ranh Cần Theo Dõi (' + total.toFixed(2) + '/4.00 điểm):
• Tổng điểm tiệm cận ngưỡng cắt lâm sàng (' + highCut.toFixed(2) + ' điểm). Hồ sơ chi tiết: Vui chơi (' + sPlay.toFixed(2) + '), Yêu cầu (' + sReq.toFixed(2) + '), Định hướng chú ý (' + sAtt.toFixed(2) + '), Bắt chước (' + sImit.toFixed(2) + ').
• Khuyến nghị: Cần đặc biệt lưu ý nếu điểm rủi ro tập trung ở mục Định hướng chú ý (Joint Attention) và Yêu cầu có giao tiếp mắt. Nên bắt đầu hướng dẫn phụ huynh can thiệp tương tác sớm và đánh giá thêm bằng ADOS-2 / Vineland-3.'; } else { color = '#ef4444'; badgeTxt = 'NGUY CƠ CAO ASD (≥ ' + highCut.toFixed(2) + ': ' + total.toFixed(2) + ')'; analysis = 'Kết luận sàng lọc tương tác STAT — Vượt Ngưỡng Điểm Cắt (Đạt ' + total.toFixed(2) + '/4.00 điểm, ngưỡng cắt ≥ ' + highCut.toFixed(2) + '):
• Qua quan sát tương tác trực tiếp, bé bộc lộ sự thiếu hụt rõ rệt ở các kỹ năng giao tiếp xã hội nền tảng: Vui chơi (' + sPlay.toFixed(2) + '/1.00), Yêu cầu (' + sReq.toFixed(2) + '/1.00), Định hướng chú ý chung (' + sAtt.toFixed(2) + '/1.00) và Bắt chước (' + sImit.toFixed(2) + '/1.00).
• Hướng xử trí chuẩn: Chuyển gửi ngay sang bước đánh giá chẩn đoán xác định (ADOS-2, DSM-5) và đánh giá hành vi thích ứng (Vineland-3) để can thiệp sớm ngay trong giai đoạn vàng.'; } barFillEl.style.background = color; badgeEl.textContent = badgeTxt; badgeEl.style.background = color; badgeEl.style.color = '#ffffff'; resBoxEl.style.borderLeftColor = color; resBoxEl.innerHTML = analysis; updateFloatingFabVisibility(); } function applyPreset(type) { scores = {}; if (type === 'reset') { renderItems(); updateSummary(); return; } items.forEach(function(it) { scores[it.id] = 'PASS'; }); if (type === 'speech') { // Trẻ chậm nói đơn thuần: Đạt hết Yêu cầu & Chú ý chung, chỉ trượt 1 mục chơi giả vờ phức tạp (0.50đ) scores[2] = 'FAIL'; } else if (type === 'border') { // Ngưỡng giáp ranh (2.00đ) scores[2] = 'FAIL'; // +0.50 scores[3] = 'FAIL'; // +0.50 scores[5] = 'FAIL'; // +0.25 scores[8] = 'FAIL'; // +0.25 scores[9] = 'FAIL'; // +0.25 scores[12] = 'FAIL'; // +0.25 } else if (type === 'asd') { // Nguy cơ tự kỷ điển hình (3.25đ) [1, 2, 3, 4, 5, 6, 7, 8, 9, 12].forEach(function(id) { scores[id] = 'FAIL'; }); } renderItems(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; var rect = host.getBoundingClientRect(); var viewH = window.innerHeight || document.documentElement.clientHeight; if (rect.top 180) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = 'position:fixed!important;inset:0!important;top:0!important;left:0!important;right:0!important;bottom:0!important;width:100vw!important;height:100vh!important;height:100dvh!important;max-width:none!important;max-height:none!important;margin:0!important;padding:0!important;z-index:2147483647!important;background:#f8fafc!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;display:block!important;'; wrapEl.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { wrapEl.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = ''; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } shadow.querySelectorAll('#ageGroup .st-btn-sm').forEach(function(btn) { btn.onclick = function() { ageBand = this.getAttribute('data-age'); shadow.querySelectorAll('#ageGroup .st-btn-sm').forEach(function(b) { b.classList.remove('active'); }); this.classList.add('active'); updateSummary(); }; }); shadow.querySelectorAll('#presetGroup .st-btn-sm').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-pre')); }; }); shadow.querySelectorAll('#domainTabs .st-dtab').forEach(function(tab) { tab.onclick = function() { filterDom = this.getAttribute('data-dom'); shadow.querySelectorAll('#domainTabs .st-dtab').forEach(function(t) { t.classList.remove('active'); }); this.classList.add('active'); renderItems(); }; }); shadow.getElementById('btnToggleFullscreen').onclick = function() { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = function() { setFullscreenState(false); }; fabBtn.onclick = function() { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', function(e) { if (e.key === 'Escape' && isFullscreen) setFullscreenState(false); }); applyPreset('asd'); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', initSTATWidget); } else { initSTATWidget(); } })();
STAT (Screening Tool for Autism in Toddlers and Young Children — Công cụ Sàng lọc Tự kỷ ở Trẻ mới biết đi và Trẻ nhỏ) là một công cụ sàng lọc tương tác trực tiếp (Cấp độ 2 – Level 2) được chuẩn hóa để phát hiện sớm các dấu hiệu nguy cơ của Rối loạn phổ tự kỷ (ASD) ở trẻ nhỏ. Công cụ này được phát triển bởi Giáo sư Wendy Stone và các cộng sự tại Đại học Vanderbilt (Hoa Kỳ).
Nếu như M-CHAT-R/F là công cụ Sàng lọc Cấp độ 1 (dựa trên bảng câu hỏi do phụ huynh tự điền cho trẻ từ 16 – 30 tháng), thì STAT đóng vai trò là bước kiểm tra trực tiếp ngay sau đó: chuyên gia sẽ trực tiếp chơi và tương tác với trẻ qua các hoạt động có cấu trúc để quan sát hành vi thực tế trước khi chuyển gửi đi chẩn đoán chuyên sâu (như ADOS-2).
1. Đặc điểm cốt lõi của công cụ STAT
-
Độ tuổi áp dụng:
-
Độ tuổi chuẩn hóa chính thức: Từ 24 đến 36 tháng tuổi (2 – 3 tuổi).
-
Độ tuổi mở rộng trong lâm sàng: Có thể áp dụng hiệu quả cho trẻ từ 14 đến 23 tháng tuổi (với ngưỡng điểm cắt điều chỉnh riêng) để phát hiện sớm ngay từ năm thứ hai đầu đời.
-
-
Hình thức thực hiện: Quan sát tương tác trực tiếp thông qua trò chơi (Play-based interactive assessment), không phụ thuộc vào lời kể chủ quan của phụ huynh.
-
Thời gian thực hiện: Khoảng 15 – 20 phút.
-
Độ nhạy và Độ đặc hiệu cao: STAT có độ nhạy khoảng 92% và độ đặc hiệu khoảng 85% trong việc phân biệt trẻ có nguy cơ Tự kỷ với trẻ chậm phát triển ngôn ngữ hoặc các rối loạn phát triển khác.
2. Cấu trúc 12 hoạt động trong 4 lĩnh vực (Domains)
Bài kiểm tra STAT bao gồm 12 hoạt động tương tác sử dụng bộ đồ chơi tiêu chuẩn, được chia vào 4 lĩnh vực giao tiếp xã hội sớm (chấm điểm ngay trong lúc chơi mà không đòi hỏi trẻ phải có ngôn ngữ nói):
3. Cách chấm điểm và Ngưỡng điểm cắt (Cut-off Score)
-
Chấm từng hoạt động: Mỗi hoạt động trong 12 mục được chấm là Đạt (Pass = 0 điểm rủi ro) hoặc Không đạt (Fail = 1 điểm rủi ro) dựa trên việc trẻ có thể hiện được hành vi giao tiếp xã hội mục tiêu (như phối hợp ánh mắt,chỉ trỏ, luân phiên) hay không.
-
Quy đổi điểm theo lĩnh vực:
-
Mỗi lĩnh vực trong 4 lĩnh vực sẽ được quy đổi thành điểm từ 0 đến 1 (dựa trên tỷ lệ số mục Không đạt trong lĩnh vực đó, tính theo bước nhảy 0,0.25,0.5,0.75,1.0).
-
Tổng điểm STAT là tổng điểm của cả 4 lĩnh vực, nằm trong khoảng từ 0 đến 4.0 điểm (điểm càng cao thì mức độ thiếu hụt giao tiếp xã hội càng lớn).
-
-
Ngưỡng điểm cắt lâm sàng (Cut-off):
-
Trẻ từ 24 – 36 tháng tuổi: Tổng điểm → Nguy cơ cao mắc Rối loạn phổ tự kỷ (ASD).
-
Trẻ từ 14 – 23 tháng tuổi: Ngưỡng điểm cắt thường được đặt ở mức (hoặc từ 2.25−2.5 để cảnh báo theo dõi sát) do trẻ dưới 2 tuổi có một số kỹ năng bắt chước/chơi giả vờ còn đang hoàn thiện.
-
4. Vị trí của STAT trong quy trình sàng lọc – chẩn đoán
Để hình dung rõ sự phối hợp giữa STAT và các công cụ bạn đã tìm hiểu trước đó:
-
Bước 1 — Sàng lọc diện rộng qua bảng hỏi phụ huynh (Level 1):
-
Trẻ 16 – 30 tháng: Dùng M-CHAT-R/F.
-
Trẻ tuổi: Dùng SCQ.
-
-
Bước 2 — Sàng lọc tương tác trực tiếp (Level 2 – Lọc dương tính giả):
-
Khi trẻ có kết quả nguy cơ trên M-CHAT-R/F, bác sĩ/chuyên viên tâm lý dùng STAT (15–20 phút) để trực tiếp tương tác với trẻ. Bước này giúp phân biệt nhanh trẻ chậm nói đơn thuần (vốn vẫn đạt tốt các mục giao tiếp mắt và chia sẻ sự chú ý trên STAT) với trẻ thực sự có nguy cơ tự kỷ.
-
-
Bước 3 — Chẩn đoán xác định & Đánh giá chức năng (Diagnostic & Functional Assessment):
-
Dùng tiêu chuẩn vàng ADOS-2 + ADI-R + DSM-5 để chẩn đoán xác định.
-
Dùng Vineland-3 để đo lường hành vi thích ứng thực tế và lên kế hoạch can thiệp cá nhân hóa (IEP).
-
[Tự kỷ] SRS-2: Thang đo phản ứng xã hội và sàng lọc mức độ tự kỷ (Từ 2.5 tuổi)
(function() { const host = document.getElementById('srs2-wp-host'); if (!host) return; const placeholder = document.createComment('srs2-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // Cấu hình 4 Phiên bản theo độ tuổi & người đánh giá của SRS-2 const formConfigs = { preschool: { code: 'preschool', tabTitle: '🧸 1. Preschool (2.5 – 4.5 tuổi)', tabSub: 'Mầm non • Cha mẹ / Giáo viên', fullTitle: 'SRS-2 Preschool Form — Dành Cho Trẻ Mầm Non (2.5 Đến 4.5 Tuổi • Cha Mẹ / Giáo Viên Đánh Giá)', desc: 'Đánh giá 65 hành vi đáp ứng xã hội và rập khuôn ở trẻ mẫu giáo từ 30 đến 54 tháng tuổi. Hệ thống tự động quy đổi sang Điểm chuẩn T-Score (Mean = 50, SD = 10) trên 5 Tiểu thang điều trị và 2 Chỉ số tương thích DSM-5.', subj: 'Bé', poss: 'của bé', peer: 'các bạn nhỏ khác', env: 'ở nhà / lớp mẫu giáo' }, school: { code: 'school', tabTitle: '🎒 2. School-Age (4 – 18 tuổi)', tabSub: 'Học đường • Cha mẹ / Giáo viên', fullTitle: 'SRS-2 School-Age Form — Dành Cho Trẻ Em & Thanh Thiếu Niên (4 Đến 18 Tuổi • Cha Mẹ / Giáo Viên Đánh Giá)', desc: 'Phiên bản chuẩn hóa phổ biến nhất dành cho lứa tuổi học đường (4 – 18 tuổi). Đo lường định lượng mức độ suy giảm giao tiếp xã hội trên dải liên tục từ Bình thường (≤59T), Nhẹ (60–65T), Trung bình (66–75T) đến Nặng (≥76T).', subj: 'Trẻ', poss: 'của trẻ', peer: 'bạn đồng trang lứa', env: 'ở trường / ở nhà' }, adult_other: { code: 'adult_other', tabTitle: '👥 3. Adult Other (≥ 19 tuổi)', tabSub: 'Người lớn • Người thân đánh giá', fullTitle: 'SRS-2 Adult Form (Other-Report) — Dành Cho Người Trưởng Thành (Từ 19 Tuổi Trở Lên • Người Thân / Bạn Đời Đánh Giá)', desc: 'Dành cho vợ/chồng, bố mẹ, anh chị hoặc bạn thân đánh giá khách quan về khả năng tương tác xã hội, thấu cảm và tính linh hoạt hành vi của người trưởng thành trong đời sống hàng ngày.', subj: 'Người này', poss: 'của họ', peer: 'mọi người xung quanh', env: 'trong công việc / cuộc sống' }, adult_self: { code: 'adult_self', tabTitle: '🧑 4. Adult Self-Report (≥ 19 tuổi)', tabSub: 'Người lớn • Tự đánh giá (Tôi)', fullTitle: 'SRS-2 Adult Self-Report Form — Bảng Tự Đánh Giá Dành Cho Người Trưởng Thành (Từ 19 Tuổi Trở Lên)', desc: 'Phiên bản tự báo cáo ở ngôi thứ nhất ("Tôi...") giúp người trưởng thành tự lượng giá 5 Tiểu thang đáp ứng xã hội (Nhận thức, Tư duy, Giao tiếp, Động lực xã hội và Hành vi lặp lại).', subj: 'Tôi', poss: 'của mình', peer: 'người khác', env: 'trong công việc / giao tiếp' } }; // Cấu hình 5 Tiểu thang điều trị (Treatment Subscales) của SRS-2 (Tổng 65 câu = 195 điểm thô) // DSM-5 SCI (Social Communication & Interaction) = AWR + COG + COM + MOT (53 câu = 159 điểm) // DSM-5 RRB (Restricted Interests & Repetitive Behavior) = RRB (12 câu = 36 điểm) const subConfigs = { awr: { code: 'awr', dsm: 'sci', count: 8, maxRaw: 24, name: '1. Nhận thức Xã hội (Social Awareness - AWR • 8 câu)', color: '#0284c7' }, cog: { code: 'cog', dsm: 'sci', count: 12, maxRaw: 36, name: '2. Tư duy / Giải mã Xã hội (Social Cognition - COG • 12 câu)', color: '#2563eb' }, com: { code: 'com', dsm: 'sci', count: 22, maxRaw: 66, name: '3. Giao tiếp Xã hội (Social Communication - COM • 22 câu)', color: '#4f46e5' }, mot: { code: 'mot', dsm: 'sci', count: 11, maxRaw: 33, name: '4. Động lực Xã hội (Social Motivation - MOT • 11 câu)', color: '#7c3aed' }, rrb: { code: 'rrb', dsm: 'rrb', count: 12, maxRaw: 36, name: '5. Sở thích Hẹp & Hành vi Lặp lại (Restricted/Repetitive - RRB • 12 câu)', color: '#dc2626' } }; // Đầy đủ 65 mục chuẩn của SRS-2 phân bổ chính xác vào 5 Tiểu thang (AWR: 8, COG: 12, COM: 22, MOT: 11, RRB: 12) // rev: true đối với 17 câu đảo ngược (mô tả kỹ năng xã hội tích cực -> Chọn "Không đúng" = 3 điểm rủi ro, "Hầu như luôn đúng" = 0 điểm) const rawQuestions = [ // TIỂU THANG 1: NHẬN THỨC XÃ HỘI (SOCIAL AWARENESS - AWR • 8 câu) { id: 1, sub: 'awr', rev: true, c: '{S} nhận biết được những gì người khác đang nghĩ hoặc đang cảm thấy.' }, { id: 2, sub: 'awr', rev: true, c: 'Biểu cảm trên khuôn mặt {P} ăn khớp với những gì {S_low} đang nói.' }, { id: 3, sub: 'awr', rev: false, c: '{S} dường như không nhận ra khi mình đang nói quá to hoặc gây ra tiếng ồn làm phiền {E}.' }, { id: 4, sub: 'awr', rev: false, c: '{S} đi xuyên vào giữa hai người đang nói chuyện mà không nhận ra điều đó là thiếu tế nhị.' }, { id: 5, sub: 'awr', rev: true, c: '{S} chú ý khi có ai đó {E} đang buồn bã hoặc cần sự giúp đỡ.' }, { id: 6, sub: 'awr', rev: false, c: '{S} nhìn chằm chằm hoặc nhìn lơ đãng vào khoảng không mà không để ý đến những gì diễn ra xung quanh.' }, { id: 7, sub: 'awr', rev: true, c: '{S} giữ vệ sinh cá nhân và tác phong phù hợp khi xuất hiện trước {E}.' }, { id: 8, sub: 'awr', rev: false, c: '{S} không nhận ra khi mình đang đứng quá gần hoặc xâm phạm không gian riêng của {E}.' }, // TIỂU THANG 2: TƯ DUY / GIẢI MÃ XÃ HỘI (SOCIAL COGNITION - COG • 12 câu) { id: 9, sub: 'cog', rev: false, c: '{S} hiểu mọi lời nói theo đúng nghĩa đen và không bắt được ẩn ý đằng sau câu nói.' }, { id: 10, sub: 'cog', rev: true, c: '{S} nhận ra ngay khi có ai đó đang trêu đùa hoặc lấy mình ra làm trò cười.' }, { id: 11, sub: 'cog', rev: false, c: '{S} gặp khó khăn trong việc hiểu ý nghĩa của giọng điệu và biểu cảm nét mặt của {E}.' }, { id: 12, sub: 'cog', rev: true, c: '{S} hiểu được mối liên hệ nguyên nhân – kết quả giữa các sự kiện xã hội.' }, { id: 13, sub: 'cog', rev: false, c: '{S} dễ bị hiểu nhầm hoặc phản ứng sai lệch trước những câu nói đùa, châm biếm nhẹ nhàng.' }, { id: 14, sub: 'cog', rev: false, c: '{S} quá ngây thơ, dễ tin người và không nhận ra ý đồ không tốt của người khác.' }, { id: 15, sub: 'cog', rev: true, c: '{S} có khả năng tưởng tượng và tham gia các hoạt động giả định / sáng tạo phong phú.' }, { id: 16, sub: 'cog', rev: false, c: 'Khi có chuyện bất ngờ xảy ra, {S_low} chỉ tập trung vào một chi tiết nhỏ không quan trọng thay vì nhìn bức tranh tổng thể.' }, { id: 17, sub: 'cog', rev: false, c: '{S} khó phân biệt được giữa việc ai đó vô tình làm sai với việc họ cố ý trêu chọc mình.' }, { id: 18, sub: 'cog', rev: true, c: '{S} hiểu được các quy tắc ngầm trong giao tiếp và ứng xử phù hợp {V}.' }, { id: 19, sub: 'cog', rev: false, c: '{S} tỏ ra bối rối, quá tải khi cuộc trò chuyện diễn ra nhanh hoặc có nhiều người cùng nói.' }, { id: 20, sub: 'cog', rev: false, c: '{S} đưa ra những nhận xét kỳ lạ hoặc không ăn nhập với chủ đề mà mọi người đang bàn luận.' }, // TIỂU THANG 3: GIAO TIẾP XÃ HỘI (SOCIAL COMMUNICATION - COM • 22 câu) { id: 21, sub: 'com', rev: true, c: '{S} có thể truyền đạt suy nghĩ và cảm xúc {P} cho người khác một cách dễ dàng.' }, { id: 22, sub: 'com', rev: false, c: '{S} gặp khó khăn lớn trong việc duy trì cuộc trò chuyện qua lại hai chiều (như đánh bóng bàn).' }, { id: 23, sub: 'com', rev: false, c: '{S} tránh giao tiếp trực diện bằng ánh mắt khi đang nói chuyện với {E}.' }, { id: 24, sub: 'com', rev: true, c: '{S} biết cách thương lượng, thỏa hiệp và giải quyết bất đồng với {E} một cách linh hoạt.' }, { id: 25, sub: 'com', rev: false, c: '{S} nói chuyện với giọng điệu khác thường (như giọng phẳng lì như robot, giọng quá cao hoặc nói lắp bắp máy móc).' }, { id: 26, sub: 'com', rev: false, c: '{S} tỏ ra vụng về, thiếu đồng bộ khi phải phối hợp tương tác cùng {E}.' }, { id: 27, sub: 'com', rev: true, c: '{S} biết chủ động an ủi hoặc thể hiện sự cảm thông khi thấy người khác buồn.' }, { id: 28, sub: 'com', rev: false, c: '{S} cứ nói thao thao bất tuyệt về một chủ đề dù người nghe đã tỏ vẻ chán hoặc muốn đổi chuyện.' }, { id: 29, sub: 'com', rev: false, c: '{S} gặp khó khăn trong việc trả lời trực tiếp vào trọng tâm câu hỏi của người đối diện.' }, { id: 30, sub: 'com', rev: true, c: '{S} chơi đùa hoặc làm việc nhóm hòa hợp, nhịp nhàng cùng với {E}.' }, { id: 31, sub: 'com', rev: false, c: 'Nét mặt {P} thường lạnh lùng, ít biểu cảm khiến người khác khó đoán được tâm trạng.' }, { id: 32, sub: 'com', rev: false, c: '{S} rất ít sử dụng các cử chỉ tay chân tự nhiên để minh họa khi đang nói chuyện.' }, { id: 33, sub: 'com', rev: true, c: '{S} biết điều chỉnh cách nói chuyện tùy theo người nghe là người lớn hay bạn bè.' }, { id: 34, sub: 'com', rev: false, c: '{S} thường đặt những câu hỏi thiếu tế nhị hoặc nhận xét thẳng thừng làm người khác ngượng ngùng.' }, { id: 35, sub: 'com', rev: false, c: '{S} không biết cách bắt đầu một cuộc trò chuyện thân mật hay chào hỏi tự nhiên.' }, { id: 36, sub: 'com', rev: true, c: '{S} lắng nghe chăm chú và chờ đến lượt mình khi trò chuyện nhóm.' }, { id: 37, sub: 'com', rev: false, c: '{S} phản ứng với sự thay đổi tâm trạng của người khác một cách chậm chạp hoặc lệch pha.' }, { id: 38, sub: 'com', rev: false, c: '{S} rất khó kết bạn mới hoặc giữ được những mối quan hệ bạn bè thân thiết lâu dài.' }, { id: 39, sub: 'com', rev: true, c: '{S} chủ động chia sẻ niềm vui, sở thích hoặc thành quả của mình với người thân.' }, { id: 40, sub: 'com', rev: false, c: 'Khi nói chuyện, {S_low} sử dụng từ ngữ quá sách vở, trịnh trọng hoặc rập khuôn so với lứa tuổi.' }, { id: 41, sub: 'com', rev: false, c: '{S} không biết cách nhờ người khác giúp đỡ một cách phù hợp khi gặp khó khăn.' }, { id: 42, sub: 'com', rev: false, c: '{S} dễ gây hiểu lầm là thô lỗ hoặc thờ ơ dù bản thân không hề có ý xấu.' }, // TIỂU THANG 4: ĐỘNG LỰC XÃ HỘI (SOCIAL MOTIVATION - MOT • 11 câu) { id: 43, sub: 'mot', rev: false, c: '{S} cảm thấy căng thẳng, thiếu tự nhiên hơn rất nhiều khi ở trong các tình huống giao lưu xã hội so với khi ở một mình.' }, { id: 44, sub: 'mot', rev: true, c: '{S} tự tin khi giao tiếp và tiếp xúc với những người mới quen.' }, { id: 45, sub: 'mot', rev: false, c: '{S} thích ở một mình hơn là tham gia các hoạt động vui chơi, tụ tập cùng {E}.' }, { id: 46, sub: 'mot', rev: false, c: '{S} không chủ động tìm kiếm sự tham gia của người khác mà thường tự tách mình ra góc riêng.' }, { id: 47, sub: 'mot', rev: true, c: '{S} hào hứng tham gia các hoạt động tập thể, câu lạc bộ hoặc trò chơi nhóm {V}.' }, { id: 48, sub: 'mot', rev: false, c: '{S} tỏ ra quá bám dính vào một người quen duy nhất hoặc hoàn toàn thờ ơ ở nơi đông người.' }, { id: 49, sub: 'mot', rev: false, c: '{S} né tránh những tình huống đòi hỏi phải hợp tác chặt chẽ với người khác.' }, { id: 50, sub: 'mot', rev: true, c: '{S} chủ động bắt chuyện hoặc rủ {E} cùng tham gia hoạt động.' }, { id: 51, sub: 'mot', rev: false, c: '{S} có vẻ xa cách, khép kín và khó tiếp cận về mặt tình cảm.' }, { id: 52, sub: 'mot', rev: false, c: '{S} dễ bị lo âu, sợ hãi quá mức trước các sự kiện xã hội mới lạ.' }, { id: 53, sub: 'mot', rev: false, c: '{S} ít quan tâm đến việc người khác đánh giá hay nghĩ gì về mình.' }, // TIỂU THANG 5: SỞ THÍCH HẠN HẸP & HÀNH VI LẶP LẠI (RESTRICTED/REPETITIVE - RRB • 12 câu) { id: 54, sub: 'rrb', rev: false, c: 'Khi đang căng thẳng, {S_low} thể hiện những hành vi cứng nhắc, rập khuôn và rất khó dứt ra được.' }, { id: 55, sub: 'rrb', rev: false, c: '{S} rất bức bối, cáu giận nếu thói quen sinh hoạt hoặc lịch trình quen thuộc bị thay đổi.' }, { id: 56, sub: 'rrb', rev: false, c: '{S} có những cử động tay chân hoặc cơ thể lặp đi lặp lại (như vẫy tay, đung đưa người, xoay đồ vật, nhón gót).' }, { id: 57, sub: 'rrb', rev: false, c: '{S} chỉ suy nghĩ hoặc nói đi nói lại mãi về một chủ đề hẹp duy nhất mà bản thân đam mê.' }, { id: 58, sub: 'rrb', rev: false, c: '{S} bị người khác xem là có những thói quen kỳ lạ hoặc lập dị.' }, { id: 59, sub: 'rrb', rev: false, c: '{S} chạm vào người khác hoặc đồ vật theo một cách thức khác thường, máy móc.' }, { id: 60, sub: 'rrb', rev: false, c: '{S} quá nhạy cảm với một số âm thanh, ánh sáng hoặc kết cấu bề mặt (quần áo, thức ăn).' }, { id: 61, sub: 'rrb', rev: false, c: 'Phạm vi sở thích {P} rất hẹp và khác biệt so với {E}.' }, { id: 62, sub: 'rrb', rev: false, c: '{S} rất khó chuyển tiếp từ hoạt động này sang hoạt động khác.' }, { id: 63, sub: 'rrb', rev: false, c: '{S} lặp đi lặp lại một số từ ngữ, câu nói (nhại lời) hoặc âm thanh một cách vô thức.' }, { id: 64, sub: 'rrb', rev: false, c: '{S} bị cuốn hút quá mức vào các bộ phận nhỏ của đồ vật, con số, danh sách hoặc quy luật cố định.' }, { id: 65, sub: 'rrb', rev: false, c: '{S} đòi hỏi mọi đồ đạc hoặc công việc phải được sắp xếp theo đúng một trật tự bất di bất dịch.' } ]; let currentForm = 'school'; // 'preschool' | 'school' | 'adult_other' | 'adult_self' // ratings[id] lưu lựa chọn trên thang Likert 1..4 của SRS-2: // 1 = Không đúng (Not True) // 2 = Đôi khi đúng (Sometimes True) // 3 = Thường xuyên đúng (Often True) // 4 = Hầu như luôn đúng (Almost Always True) let ratings = {}; let filterSub = 'all'; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .sr-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .sr-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .sr-inner { padding: 24px; max-width: 980px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .sr-wrap.is-fullscreen .sr-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .sr-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(79, 70, 229, 0.45), 0 0 0 0 rgba(79, 70, 229, 0.4); } 70% { box-shadow: 0 6px 20px rgba(79, 70, 229, 0.45), 0 0 0 10px rgba(79, 70, 229, 0); } 100% { box-shadow: 0 6px 20px rgba(79, 70, 229, 0.45), 0 0 0 0 rgba(79, 70, 229, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #4338ca 0%, #4f46e5 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(79, 70, 229, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Bộ chuyển đổi 4 Phiên bản Độ tuổi SRS-2 */ .form-switcher-box { background: #f1f5f9; padding: 10px; border-radius: 12px; margin-bottom: 18px; } .form-switcher-lbl { font-size: 12px; font-weight: 800; color: #334155; text-transform: uppercase; margin-bottom: 8px; display: block; } .form-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; } .form-btn { padding: 10px 10px; border-radius: 9px; border: 1.5px solid transparent; background: rgba(255, 255, 255, 0.65); cursor: pointer; text-align: left; transition: all 0.18s ease; touch-action: manipulation; } .form-btn:hover { background: #ffffff; } .form-btn.active { background: #ffffff; border-color: #4f46e5; box-shadow: 0 3px 10px rgba(15, 23, 42, 0.08); } .form-btn-title { font-size: 13px; font-weight: 800; color: #0f172a; display: block; } .form-btn.active .form-btn-title { color: #4338ca; } .form-btn-sub { font-size: 11px; color: #64748b; margin-top: 2px; display: block; } /* Header */ .sr-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .sr-header-text { flex: 1 1 260px; } .sr-title { font-size: 20px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .sr-desc { font-size: 13.8px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #eef2ff; color: #4338ca; border: 1px solid #c7d2fe; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #4f46e5; color: #ffffff; border-color: #4f46e5; } /* Controls */ .sr-controls { display: flex; flex-direction: column; gap: 10px; margin-bottom: 18px; } .sr-presets { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; } .sr-preset-lbl { font-size: 12.5px; font-weight: 700; color: #475569; margin-right: 4px; } .sr-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; touch-action: manipulation; } .sr-pbtn:hover { background: #f1f5f9; } .sr-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } .sr-sub-tabs { display: flex; flex-wrap: wrap; gap: 6px; } .sr-stab { padding: 6px 11px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .sr-stab.active { background: #4f46e5; color: #ffffff; border-color: #4f46e5; } /* Sticky Dashboard */ .sr-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .sr-wrap.is-fullscreen .sr-dash { top: 58px; } .sr-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .sr-score-big { font-size: 23px; font-weight: 800; line-height: 1.15; } .sr-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .sr-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .sr-bar-bg { height: 10px; background: #334155; border-radius: 5px; overflow: hidden; margin-bottom: 12px; } .sr-bar-fill { height: 100%; width: 0%; background: #10b981; transition: width 0.35s ease, background 0.35s ease; } .sr-pillars { display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; font-size: 11.5px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .sr-pillar-box { background: #1e293b; padding: 7px 8px; border-radius: 8px; } .sr-pillar-val { font-weight: 800; color: #ffffff; font-size: 13px; display: block; margin-top: 2px; } /* Danh sách 65 câu hỏi */ .sr-q-item { border: 1px solid #e2e8f0; border-radius: 10px; padding: 14px 16px; margin-bottom: 10px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 8px; } .sr-q-item.pts-3 { border-color: #fda4af; background: #fff5f5; } .sr-q-item.pts-2 { border-color: #fde68a; background: #fffbeb; } .sr-q-text { font-size: 14.5px; font-weight: 600; color: #1e293b; line-height: 1.5; } .sr-q-tags { display: flex; flex-wrap: wrap; gap: 6px; } .sr-tag { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .sr-tag.rev-tag { background: #fee2e2; color: #b91c1c; } .sr-ans-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; } .sr-abtn { padding: 8px 6px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 600; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .sr-abtn:hover { border-color: #64748b; } .sr-abtn.sel-0 { background: #10b981; border-color: #10b981; color: #ffffff; font-weight: 700; } .sr-abtn.sel-1 { background: #3b82f6; border-color: #3b82f6; color: #ffffff; font-weight: 700; } .sr-abtn.sel-2 { background: #f59e0b; border-color: #f59e0b; color: #ffffff; font-weight: 700; } .sr-abtn.sel-3 { background: #ef4444; border-color: #ef4444; color: #ffffff; font-weight: 700; } /* Biểu đồ T-Score 5 Tiểu thang & 2 Chỉ số DSM-5 */ .sr-chart-card { margin-top: 20px; padding: 16px 18px; border-radius: 12px; background: #ffffff; border: 1px solid #e2e8f0; } .sr-chart-title { font-size: 14.5px; font-weight: 800; color: #0f172a; margin-bottom: 12px; } .sr-bar-row { display: flex; align-items: center; gap: 10px; margin-bottom: 9px; font-size: 12.5px; } .sr-bar-lbl { width: 270px; flex-shrink: 0; font-weight: 600; color: #334155; } .sr-bar-track { flex: 1; height: 16px; background: #f1f5f9; border-radius: 999px; overflow: hidden; } .sr-bar-val { width: 150px; text-align: right; font-weight: 700; color: #0f172a; flex-shrink: 0; } .sr-result-box { margin-top: 16px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #4f46e5; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 760px) { .sr-inner { padding: 14px; } .form-grid { grid-template-columns: 1fr 1fr; } .sr-title { font-size: 18px; } .sr-pillars { grid-template-columns: 1fr 1fr; } .sr-ans-grid { grid-template-columns: 1fr 1fr; } .sr-bar-lbl { width: 140px; font-size: 11.5px; } .sr-bar-val { width: 115px; font-size: 11px; } .sr-pbtn.reset { margin-left: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
${fCfg.fullTitle}
${fCfg.desc}
`; } function renderQuestions() { const fCfg = formConfigs[currentForm]; questionList.innerHTML = ''; const likertOptions = [ { val: 1, lbl: '1 - Không đúng' }, { val: 2, lbl: '2 - Đôi khi đúng' }, { val: 3, lbl: '3 - Thường xuyên đúng' }, { val: 4, lbl: '4 - Hầu như luôn đúng' } ]; rawQuestions.forEach(function(q) { if (filterSub !== 'all' && q.sub !== filterSub) return; const uLikert = ratings[q.id] || 1; const pts = getItemScore(q, uLikert); const sCfg = subConfigs[q.sub]; let rowCls = 'sr-q-item'; if (pts === 3) rowCls += ' pts-3'; else if (pts === 2) rowCls += ' pts-2'; const btnsHtml = likertOptions.map(opt => { const optPts = getItemScore(q, opt.val); let cls = 'sr-abtn'; if (uLikert === opt.val) { cls += ` sel-${optPts}`; } return ``; }).join(''); const revBadge = q.rev ? '⚡ Câu đảo ngược (Chọn "1 - Không đúng" = 3đ)' : 'Câu thuận (Chọn "4 - Luôn đúng" = 3đ)'; const el = document.createElement('div'); el.className = rowCls; el.innerHTML = `• Tổng điểm SRS-2: Đạt ${totalRaw} / 195 điểm thô → Quy đổi tương đương ${tTotal}T (${clsTotal.text}).
• Hai Chỉ số Tương thích DSM-5:
1. Giao tiếp & Tương tác Xã hội (SCI = AWR + COG + COM + MOT): ${sciRaw}/159đ (${tSCI}T — ${clsSCI.text}).
2. Sở thích Hạn hẹp & Hành vi Lặp lại (RRB): ${rrbRaw}/36đ (${tRRB}T — ${clsRRB.text}).
• Định hướng Mục tiêu Can thiệp theo 5 Tiểu thang (Treatment Subscales):
– Nếu AWR (${tAWR}T) và COG (${tCOG}T) cao: Cần can thiệp dạy nhận diện tín hiệu phi ngôn ngữ, đọc biểu cảm nét mặt và huấn luyện Thuyết tâm trí (Theory of Mind / Câu chuyện xã hội Social Stories).
– Nếu COM (${tCOM}T) và MOT (${tMOT}T) cao: Cần rèn kỹ năng khởi xướng hội thoại qua lại 2 chiều, giảm lo âu xã hội và ghép nhóm chơi tương tác đồng trang lứa có hỗ trợ. `; updateFloatingFabVisibility(); } function applyPreset(type) { ratings = {}; const setScoreForQuestion = function(q, targetPts) { // targetPts: 0, 1, 2, 3 if (!q.rev) { ratings[q.id] = targetPts + 1; } else { ratings[q.id] = 4 - targetPts; } }; if (type === 'reset') { rawQuestions.forEach(q => { setScoreForQuestion(q, 0); }); renderQuestions(); updateSummary(); return; } if (type === 'normal') { // ~24/195đ (~48T - Bình thường { setScoreForQuestion(q, (idx % 3 === 0) ? 1 : 0); }); } else if (type === 'mild') { // ~70/195đ (~63T - Mức độ Nhẹ 60T - 65T) rawQuestions.forEach((q, idx) => { setScoreForQuestion(q, (idx % 10 === 0) ? 2 : 1); }); } else if (type === 'mod') { // ~98/195đ (~71T - Mức độ Trung bình 66T - 75T) rawQuestions.forEach((q, idx) => { setScoreForQuestion(q, (idx % 2 === 0) ? 2 : 1); }); } else if (type === 'sev') { // ~136/195đ (~82T - Mức độ Nặng >= 76T) rawQuestions.forEach((q, idx) => { setScoreForQuestion(q, (idx % 3 === 0) ? 3 : 2); }); } renderQuestions(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); srWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { srWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 980px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } shadow.querySelectorAll('#formGrid .form-btn').forEach(function(btn) { btn.onclick = function() { currentForm = this.getAttribute('data-form'); shadow.querySelectorAll('#formGrid .form-btn').forEach(b => b.classList.remove('active')); this.classList.add('active'); renderHeader(); renderQuestions(); updateSummary(); }; }); shadow.querySelectorAll('.sr-pbtn').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-preset')); }; }); shadow.querySelectorAll('#subTabs .sr-stab').forEach(function(tab) { tab.onclick = function() { filterSub = this.getAttribute('data-sub'); shadow.querySelectorAll('#subTabs .sr-stab').forEach(t => t.classList.remove('active')); this.classList.add('active'); renderQuestions(); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); renderHeader(); applyPreset('mod'); })();
SRS-2 (Social Responsiveness Scale – Thang đo Phản ứng Xã hội): Công cụ sàng lọc và đo lường mức độ khiếm khuyết giao tiếp xã hội trong tự kỷ (từ 2.5 tuổi đến trưởng thành), rất phổ biến trong các nghiên cứu và phòng khám quốc tế.
RS-2 (Social Responsiveness Scale, Second Edition — Thang đo Đáp ứng Xã hội, Phiên bản 2) là công cụ đánh giá định lượng hàng đầu thế giới dùng để đo lường mức độ suy giảm tương tác xã hội và các hành vi hạn hẹp, lặp lại đặc trưng của Rối loạn phổ tự kỷ (ASD) trong môi trường tự nhiên hàng ngày. Công cụ được phát triển bởi Giáo sư John N. Constantino và Christian P. Gruber (xuất bản năm 2012 bởi WPS).
Khác với các công cụ phân loại “Có / Không” (nhị phân), SRS-2 đo lường các đặc điểm phổ tự kỷ trên một dải liên tục (Continuous Dimension) thông qua hệ thống Điểm chuẩn T-Score (Trung bình = 50, Độ lệch chuẩn SD = 10):giúp phát hiện cả những trường hợp suy giảm giao tiếp xã hội mức độ nhẹ / dưới ngưỡng mà các bài test khác dễ bỏ sót, đồng thời lập Hồ sơ 5 Tiểu thang Điều trị (5 Treatment Subscales) để lên kế hoạch can thiệp kỹ năng xã hội.
1. Hệ thống 4 Phiên bản theo Độ tuổi & Người đánh giá của SRS-2
Toàn bộ các phiên bản của SRS-2 đều gồm đúng 65 câu hỏi, chấm trên thang Likert 4 mức từ 0 đến 3 điểm (trên phiếu giấy ghi từ 1 đến 4, khi tính điểm thô quy về 0 – 3 tạo thành Tổng điểm thô từ 0 đến 195 điểm, trong đó có các câu hỏi thuận và câu hỏi đảo ngược):
| Phiên bản (Form) | Độ tuổi áp dụng | Người đánh giá | Ngữ cảnh đánh giá đặc thù |
| 1. Preschool Form(Mầm non) | 2.5 – 4.5 tuổi (30 – 54 tháng) | Cha mẹ hoặc Giáo viên mầm non | Tập trung vào giao tiếp mắt sớm, chú ý chung, chơi giả vờ, tương tác ở lớp mẫu giáo và phản ứng giác quan đầu đời. |
| 2. School-Age Form(Học đường) | 4 – 18 tuổi | Cha mẹ hoặc Giáo viên phổ thông | Có quy chuẩn riêng theo giới tính (Nam / Nữ) và người chấm. Đánh giá quan hệ bạn bè, hội thoại, làm việc nhóm và hành vi ở trường/nhà. |
| 3. Adult Form (Other) (Người lớn – Người thân chấm) | Từ 19 tuổi trở lên | Vợ/chồng, Bố mẹ, Anh chị hoặc Bạn thân | Đánh giá khách quan từ góc nhìn người thân về khả năng duy trì quan hệ tình cảm, công việc và thích ứng xã hội của người trưởng thành. |
| 4. Adult Self-Report(Người lớn – Tự đánh giá) | Từ 19 tuổi trở lên | Bản thân tự đánh giá (Self-report) | Ngôi thứ nhất (“Tôi…”), giúp người trưởng thành tự nhận diện các khó khăn xã hội, cảm giác quá tải và xu hướng cứng nhắc của bản thân. |
2. Cấu trúc 5 Tiểu thang Điều trị & 2 Chỉ số Tương thích DSM-5 của SRS-2
Điểm mạnh nhất của SRS-2 là tách tổng điểm thành 5 Tiểu thang Điều trị (Treatment Subscales) và gom lại thành 2 Chỉ số Tương thích DSM-5:
| Chỉ số Tương thích DSM-5 | Mã | Tên Tiểu thang Điều trị (Treatment Subscale) | Số câu | Nội dung lâm sàng cốt lõi |
| 1. Giao tiếp và Tương tác Xã hội (Social Communication and Interaction – SCI • 53 câu) | AWR | 1. Nhận thức Xã hội(Social Awareness) | 8 câu | Khả năng thu nhận các tín hiệu xã hội cơ bản (biết khi nào mình nói quá to, nhận ra biểu cảm/ý định của người xung quanh). |
| COG | 2. Nhận thức / Tư duy Xã hội (Social Cognition) | 12 câu | Khả năng giải mã và diễn giải các tín hiệu xã hội sau khi đã nhìn/nghe thấy (Thuyết tâm trí, hiểu lời nói đùa, nghĩa bóng, nguyên nhân – hệ quả xã hội). | |
| COM | 3. Giao tiếp Xã hội(Social Communication) | 22 câu | Năng lực diễn đạt và tương hỗ xã hội (hội thoại qua lại 2 chiều, phối hợp ánh mắt – nét mặt – cử chỉ, chia sẻ cảm xúc). | |
| MOT | 4. Động lực Xã hội(Social Motivation) | 11 câu | Mức độ hứng thú chủ động tham gia tương tác xã hội so với sự thu mình, lo âu xã hội hoặc thích tách biệt ở một mình. | |
| 2. Hành vi Hạn hẹp & Lặp lại (RRB • 12 câu) | RRB | 5. Sở thích Hạn hẹp & Hành vi Lặp lại(Restricted Interests & Repetitive Behavior) | 12 câu | Các cử động định hình (mannerisms), thói quen cứng nhắc, kháng cự thay đổi và đam mê ám ảnh vào chủ đề hẹp. |
3. Bảng Diễn giải Điểm Chuẩn T-Score của SRS-2 (Mean=50,SD=10)
[Tự kỷ] SCQ: Bảng câu hỏi sàng lọc giao tiếp xã hội và phổ tự kỷ (Từ 4 tuổi trở lên)
Bảng Câu Hỏi Sàng Lọc Giao Tiếp Xã Hội SCQ (Từ 4 Tuổi Trở Lên)
', 'Đánh giá 40 chỉ báo hành vi theo cấu trúc SCQ (Lifetime Form) dựa trên tiêu chuẩn vàng ADI-R. Hệ thống tự động phân luồng ở Câu 1 và đối chiếu 2 ngưỡng điểm cắt lâm sàng (≥ 11 điểm và ≥ 15 điểm).
', '• Tổng điểm thấp hơn cả ngưỡng chuẩn (15 điểm) và ngưỡng nhạy cao cho trẻ nhỏ (11 điểm).
• Các kỹ năng Tương tác xã hội qua lại (' + rsi + '/15) và Giao tiếp (' + com + '/' + maxCom + ') không bộc lộ sự suy giảm lan tỏa đặc trưng của phổ tự kỷ.'; } else if (total < 15) { color = '#f59e0b'; badgeTxt = 'NGƯỠNG CẢNH BÁO SỚM (' + total + '/' + maxScore + ' điểm)'; analysis = 'Kết luận sàng lọc SCQ — Ngưỡng Cần Lưu Ý Lâm Sàng (11 – 14 điểm: Đạt ' + total + '/' + maxScore + ' điểm):
• Nhiều nghiên cứu lâm sàng khuyến nghị sử dụng điểm cắt ≥ 11 cho trẻ từ 4 – 7 tuổi để tránh bỏ sót Tự kỷ mức độ nhẹ hoặc Rối loạn giao tiếp xã hội (SPCD).
• Hồ sơ trụ cột: Tương tác xã hội (' + rsi + '/15) • Giao tiếp (' + com + '/' + maxCom + ') • Hành vi lặp lại (' + rrb + '/' + maxRrb + '). Khuyến nghị đánh giá thêm bằng thang Vineland-3.'; } else { color = '#ef4444'; badgeTxt = 'NGUY CƠ CAO ASD (' + total + '/' + maxScore + ' điểm)'; analysis = 'Kết luận sàng lọc SCQ — Vượt Ngưỡng Điểm Cắt Chuẩn (≥ 15 điểm: Đạt ' + total + '/' + maxScore + ' điểm):
• Kết quả sàng lọc dương tính trên thang SCQ ở cả 3 trụ cột: Tương tác xã hội (' + rsi + '/15), Giao tiếp (' + com + '/' + maxCom + ') và Hành vi lặp lại (' + rrb + '/' + maxRrb + ').
• Hướng xử trí chuẩn: Cần chuyển gửi trẻ thực hiện đánh giá chẩn đoán toàn diện bằng ADOS-2, ADI-R và Vineland-3.'; } barFillEl.style.background = color; badgeEl.textContent = badgeTxt; badgeEl.style.background = color; badgeEl.style.color = '#ffffff'; resBoxEl.style.borderLeftColor = color; resBoxEl.innerHTML = analysis; updateFloatingFabVisibility(); } function applyPreset(type) { answers = {}; if (type === 'reset') { answers[1] = 'YES'; renderQuestions(); updateSummary(); return; } if (type === 'typical') { answers[1] = 'YES'; questions.forEach(function(q) { if (q.id !== 1) answers[q.id] = (q.r === 'YES' ? 'NO' : 'YES'); }); answers[8] = 'YES'; answers[11] = 'YES'; answers[20] = 'NO'; } else if (type === 'spcd') { answers[1] = 'YES'; questions.forEach(function(q) { if (q.id !== 1) answers[q.id] = (q.r === 'YES' ? 'NO' : 'YES'); }); [2, 4, 8, 19, 20, 22, 23, 28, 30, 35, 39, 40].forEach(function(id) { answers[id] = questions[id - 1].r; }); } else if (type === 'hfasd') { answers[1] = 'YES'; questions.forEach(function(q) { if (q.id !== 1) answers[q.id] = (q.r === 'YES' ? 'NO' : 'YES'); }); [2, 3, 4, 5, 7, 8, 9, 11, 12, 13, 15, 19, 20, 22, 26, 30, 31, 35, 39].forEach(function(id) { answers[id] = questions[id - 1].r; }); } else if (type === 'nvasd') { answers[1] = 'NO'; questions.forEach(function(q) { if (q.id !== 1 && !q.verbalOnly) answers[q.id] = (q.r === 'YES' ? 'NO' : 'YES'); }); [8, 9, 10, 12, 14, 15, 16, 18, 19, 21, 22, 23, 24, 26, 28, 29, 30, 32, 35, 36, 37, 39].forEach(function(id) { answers[id] = questions[id - 1].r; }); } renderQuestions(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; var rect = host.getBoundingClientRect(); var viewH = window.innerHeight || document.documentElement.clientHeight; if (rect.top 180) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = 'position:fixed!important;inset:0!important;top:0!important;left:0!important;right:0!important;bottom:0!important;width:100vw!important;height:100vh!important;height:100dvh!important;max-width:none!important;max-height:none!important;margin:0!important;padding:0!important;z-index:2147483647!important;background:#f8fafc!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;display:block!important;'; wrapEl.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { wrapEl.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = ''; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } shadow.querySelectorAll('.scq-pbtn').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-preset')); }; }); shadow.querySelectorAll('#domainTabs .scq-dtab').forEach(function(tab) { tab.onclick = function() { filterType = this.getAttribute('data-dom'); shadow.querySelectorAll('#domainTabs .scq-dtab').forEach(function(t) { t.classList.remove('active'); }); this.classList.add('active'); renderQuestions(); }; }); shadow.getElementById('btnToggleFullscreen').onclick = function() { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = function() { setFullscreenState(false); }; fabBtn.onclick = function() { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', function(e) { if (e.key === 'Escape' && isFullscreen) setFullscreenState(false); }); applyPreset('hfasd'); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', initSCQWidget); } else { initSCQWidget(); } })();
SCQ (Social Communication Questionnaire — Bảng câu hỏi Giao tiếp Xã hội, trước đây từng có tên là Autism Screening Questionnaire – ASQ) là một công cụ sàng lọc chuẩn hóa hàng đầu dùng để phát hiện các dấu hiệu của Rối loạn phổ tự kỷ (ASD). Công cụ này được phát triển bởi ba chuyên gia đầu ngành là Michael Rutter, Anthony Bailey và Catherine Lord.
Nếu như M-CHAT-R/F được thiết kế cho trẻ nhỏ từ 16 – 30 tháng tuổi, thì SCQ chính là công cụ nối tiếp hoàn hảo để sàng lọc cho trẻ lớn hơn và người trưởng thành (từ 4 tuổi trở lên).
1. Nguồn gốc và Cơ sở khoa học
SCQ được thiết kế dựa trực tiếp trên các câu hỏi cốt lõi của ADI-R (Autism Diagnostic Interview-Revised — Phỏng vấn chẩn đoán tự kỷ bản hiệu đính, vốn là “tiêu chuẩn vàng” trong chẩn đoán tự kỷ nhưng mất từ 1.5 đến 2.5 giờ để thực hiện).
SCQ rút gọn quy trình đó thành 40 câu hỏi Đúng/Sai (Có/Không) dành cho phụ huynh hoặc người chăm sóc chính điền trong khoảng 10 phút, giúp tiết kiệm tối đa thời gian trước khi quyết định có cần đưa trẻ đi đánh giá chuyên sâu (như ADOS-2, ADI-R, Vineland-3) hay không.
2. Đối tượng áp dụng
-
Độ tuổi thực tế (Chronological Age): Từ 4 tuổi (48 tháng) trở lên (bao gồm trẻ mẫu giáo lớn, học sinh tiểu học,thanh thiếu niên và người lớn).
-
Tuổi phát triển tâm thần (Mental Age): Tối thiểu đạt mức từ 2.0 tuổi trở lên.
3. Hai phiên bản của SCQ
Công cụ SCQ được chia làm 2 mẫu phiếu tùy theo mục đích lâm sàng:
4. Cấu trúc 40 câu hỏi và 3 lĩnh vực đánh giá
Bảng hỏi gồm 40 câu trả lời CÓ / KHÔNG, tập trung vào 3 trụ cột triệu chứng cốt lõi của phổ tự kỷ:
-
Tương tác xã hội qua lại (Reciprocal Social Interaction): Giao tiếp mắt, nụ cười xã hội, sự quan tâm đến bạn bè cùng trang lứa, khả năng chia sẻ cảm xúc và an ủi người khác.
-
Giao tiếp (Communication): Cách sử dụng cử chỉ (chỉ trỏ, gật đầu), trò chuyện qua lại hai chiều, chơi giả vờ/tưởng tượng và các biểu hiện ngôn ngữ bất thường (nhại lời, nói lặp đi lặp lại, đảo ngược đại từ).
-
Các mẫu hành vi hạn hẹp, lặp đi lặp lại và rập khuôn (Restricted, Repetitive, and Stereotyped Patterns of Behavior): Sở thích đặc biệt quá mức, nghi thức cứng nhắc, cử động tay chân/cơ thể bất thường (stimming) hoặc thu hút giác quan lạ.
5. Cách tính điểm và Điểm cắt lâm sàng (Cut-off Score)
-
Câu số 1 (Câu phân luồng ngôn ngữ): “Hiện tại trẻ có thể nói bằng các cụm từ hoặc câu ngắn không?”. Câu số 1 không tính điểm, mà dùng để phân nhánh:
-
Nếu Câu 1 = CÓ (Trẻ có ngôn ngữ nói): Phụ huynh trả lời tiếp từ câu 2 đến câu 40. Tổng điểm tối đa là 39 điểm (tính từ 39 câu).
-
Nếu Câu 1 = KHÔNG (Trẻ chưa có ngôn ngữ cụm từ): Phụ huynh bỏ qua 6 câu về ngôn ngữ nói phức tạp (câu 2 đến câu 7) và trả lời từ câu 8 đến câu 40. Tổng điểm tối đa là 33 điểm (tính từ 33 câu).
-
-
Quy tắc chấm điểm (0 và 1):
Khoảng một nửa số câu hỏi được thiết kế theo chiều thuận (chọn CÓ = 1 điểm nguy cơ, thường là các hành vi bất thường) và nửa còn lại theo chiều nghịch (chọn KHÔNG = 1 điểm nguy cơ, thường là các kỹ năng phát triển bình thường bị thiếu hụt).
-
Ngưỡng điểm cắt (Cut-off):
-
điểm (Chuẩn gốc): Gợi ý nguy cơ cao mắc Rối loạn phổ tự kỷ (ASD), cần chuyển gửi đi đánh giá chẩn đoán chuyên sâu.
-
hoặc điểm (Khuyến nghị lâm sàng mới cho trẻ từ 4 – 7 tuổi): Nhiều nghiên cứu lâm sàng hiện đại khuyến nghị hạ điểm cắt xuống 11 hoặc 12 điểm ở nhóm trẻ nhỏ (hoặc trẻ chưa có lời nói) để tăng độ nhạy, tránh bỏ sót những trẻ tự kỷ mức độ nhẹ / chức năng cao.
-
Nguồn: Tài liệu chính thống với sự hỗ trợ của AI!
[Tự kỷ] CAST: Bài kiểm tra phát hiện sớm dấu hiệu rối loạn phổ tự kỷ ở trẻ 4 – 11 tuổi
(function() { const host = document.getElementById('cast-wp-host'); if (!host) return; const placeholder = document.createComment('cast-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // 37 câu hỏi chuẩn CAST (Cambridge University) // r: Đáp án tính 1 điểm ('YES' hoặc 'NO', 'CTRL' = 6 câu kiểm soát không tính điểm: 3, 4, 12, 22, 26, 33) // dom: 'soc' (Tương tác xã hội & Bạn bè - 12 câu), 'com' (Giao tiếp & Ngữ dụng - 12 câu), 'rrb' (Cứng nhắc & Sở thích hẹp - 7 câu), 'ctrl' (Kiểm soát - 6 câu) const questions = [ { id: 1, r: 'NO', dom: 'soc', cat: 'Tương tác bạn bè', t: 'Trẻ có dễ dàng tham gia chơi cùng với những đứa trẻ khác không?' }, { id: 2, r: 'NO', dom: 'com', cat: 'Giao tiếp hai chiều', t: 'Trẻ có tự nhiên bắt chuyện và trò chuyện qua lại với bạn một cách thoải mái không?' }, { id: 3, r: 'CTRL', dom: 'ctrl', cat: 'Câu kiểm soát phát triển (Không tính điểm)', t: 'Trẻ bắt đầu biết nói từ khi tròn 2 tuổi phải không?' }, { id: 4, r: 'CTRL', dom: 'ctrl', cat: 'Câu kiểm soát phát triển (Không tính điểm)', t: 'Trẻ có thích các hoạt động thể thao, vận động thể chất không?' }, { id: 5, r: 'YES', dom: 'rrb', cat: 'Trí nhớ chi tiết / Học vẹt', t: 'Việc ghi nhớ chính xác các thông tin, dữ kiện chi tiết có phải là điều cực kỳ quan trọng đối với trẻ không?' }, { id: 6, r: 'NO', dom: 'com', cat: 'Luân phiên hội thoại', t: 'Trẻ có hiểu và thực hiện tốt việc chờ đến lượt khi trò chuyện qua lại với người khác không?' }, { id: 7, r: 'NO', dom: 'com', cat: 'Chơi giả vờ / Tưởng tượng', t: 'Trẻ có thích chơi các trò đóng vai, giả vờ hoặc tưởng tượng không?' }, { id: 8, r: 'YES', dom: 'rrb', cat: 'Tính cứng nhắc / Quy tắc', t: 'Trẻ có thích làm mọi việc lặp đi lặp lại theo đúng một cách cố định không?' }, { id: 9, r: 'NO', dom: 'com', cat: 'Duy trì cuộc trò chuyện', t: 'Trẻ có thể tự duy trì một cuộc trò chuyện qua lại nhiều lượt với người khác không?' }, { id: 10, r: 'NO', dom: 'soc', cat: 'Hòa nhập nhóm bạn', t: 'Trẻ có dễ dàng kết bạn và hòa nhập với các bạn cùng trang lứa ở trường không?' }, { id: 11, r: 'NO', dom: 'com', cat: 'Quan tâm chủ đề của người nghe', t: 'Khi nói chuyện, trẻ có quan tâm xem người đối diện có hứng thú với chủ đề trẻ đang nói không?' }, { id: 12, r: 'CTRL', dom: 'ctrl', cat: 'Câu kiểm soát phát triển (Không tính điểm)', t: 'Trẻ có thích đọc sách phù hợp với lứa tuổi của mình không?' }, { id: 13, r: 'NO', dom: 'soc', cat: 'Sở thích chung với bạn đồng trang lứa', t: 'Trẻ có hầu hết các sở thích giống như những đứa trẻ khác cùng độ tuổi không?' }, { id: 14, r: 'YES', dom: 'rrb', cat: 'Sở thích hẹp / Chuyên sâu', t: 'Trẻ có một mối quan tâm/sở thích đặc biệt nào đó chiếm gần hết thời gian khiến trẻ ít làm việc khác không?' }, { id: 15, r: 'NO', dom: 'soc', cat: 'Duy trì tình bạn', t: 'Trẻ có những người bạn thân thực sự (chứ không chỉ là người quen biết chung chung) không?' }, { id: 16, r: 'NO', dom: 'soc', cat: 'Chia sẻ sự chú ý', t: 'Trẻ có thường mang những thứ trẻ thích hoặc tự làm được lại đưa cho bạn xem để khoe không?' }, { id: 17, r: 'NO', dom: 'com', cat: 'Kể chuyện xã hội', t: 'Trẻ có thích nói chuyện tào lao vui vẻ hoặc chia sẻ cảm xúc hàng ngày với bạn không?' }, { id: 18, r: 'YES', dom: 'rrb', cat: 'Trí nhớ máy móc khác thường', t: 'Trẻ có trí nhớ chi tiết khác thường về những thông tin mà hầu hết người khác đều quên ngay không?' }, { id: 19, r: 'NO', dom: 'soc', cat: 'Giao tiếp mắt', t: 'Trẻ có sử dụng giao tiếp mắt tự nhiên và phù hợp khi nói chuyện với người khác không?' }, { id: 20, r: 'YES', dom: 'com', cat: 'Ngôn ngữ hình thức / Khác lạ', t: 'Giọng điệu của trẻ có vẻ đều đều, khác thường hoặc cách dùng từ quá sách vở/già dặn so với tuổi không?' }, { id: 21, r: 'NO', dom: 'soc', cat: 'Tầm quan trọng của con người', t: 'Đối với trẻ, con người (bạn bè, người thân) có quan trọng hơn là các đồ vật/sự vật không?' }, { id: 22, r: 'CTRL', dom: 'ctrl', cat: 'Câu kiểm soát phát triển (Không tính điểm)', t: 'Trẻ đã có thể tự mặc quần áo mà không cần giúp đỡ chưa?' }, { id: 23, r: 'NO', dom: 'soc', cat: 'Kỹ năng luân phiên xã hội', t: 'Trẻ có giỏi việc nhường nhịn và luân phiên khi tham gia hoạt động chung với người khác không?' }, { id: 24, r: 'NO', dom: 'soc', cat: 'Chơi nhập vai hợp tác', t: 'Trẻ có chơi đóng vai giả vờ cùng với một hoặc nhiều đứa trẻ khác không?' }, { id: 25, r: 'YES', dom: 'com', cat: 'Thiếu tinh tế xã hội', t: 'Trẻ có hay buột miệng nói hoặc làm những điều thiếu tế nhị, không phù hợp hoàn cảnh xã hội không?' }, { id: 26, r: 'CTRL', dom: 'ctrl', cat: 'Câu kiểm soát phát triển (Không tính điểm)', t: 'Trẻ có thể đếm đến 50 mà không bỏ sót số nào không?' }, { id: 27, r: 'NO', dom: 'soc', cat: 'Nụ cười xã hội', t: 'Trẻ có mỉm cười tự nhiên đáp lại khi tương tác với người khác không?' }, { id: 28, r: 'YES', dom: 'rrb', cat: 'Vận động định hình (Stimming)', t: 'Trẻ có những cử động cơ thể hoặc tay chân lặp đi lặp lại bất thường không?' }, { id: 29, r: 'YES', dom: 'soc', cat: 'Hành vi xã hội một chiều', t: 'Cách cư xử xã hội của trẻ có vẻ thiên về một chiều và luôn muốn mọi thứ phải theo đúng điều kiện của trẻ không?' }, { id: 30, r: 'YES', dom: 'com', cat: 'Tách biệt nội dung hội thoại', t: 'Đôi khi trẻ có nói "thao thao bất tuyệt" về chủ đề của riêng mình mà không liên quan gì đến câu chuyện chung không?' }, { id: 31, r: 'YES', dom: 'rrb', cat: 'Thích chơi một mình', t: 'Trẻ có thích tự chơi các hoạt động tưởng tượng một mình hơn là chơi cùng bạn khác không?' }, { id: 32, r: 'YES', dom: 'com', cat: 'Mất mạch câu chuyện', t: 'Đôi khi trẻ có làm người nghe bối rối vì không giải thích rõ trẻ đang nói về chủ đề gì không?' }, { id: 33, r: 'CTRL', dom: 'ctrl', cat: 'Câu kiểm soát phát triển (Không tính điểm)', t: 'Trẻ đã biết đi xe đạp hai bánh chưa?' }, { id: 34, r: 'YES', dom: 'rrb', cat: 'Áp đặt quy tắc lên bạn bè', t: 'Trẻ có cố gắng áp đặt các thói quen hoặc luật lệ cứng nhắc của bản thân lên bạn cùng chơi không?' }, { id: 35, r: 'NO', dom: 'soc', cat: 'Quan tâm hình ảnh xã hội', t: 'Trẻ có quan tâm đến việc nhóm bạn ở trường nghĩ gì hoặc đánh giá thế nào về mình không?' }, { id: 36, r: 'YES', dom: 'com', cat: 'Độc thoại trong giao tiếp', t: 'Khi nói chuyện, trẻ có thường biến cuộc hội thoại thành bài độc thoại một chiều về sở thích của trẻ không?' }, { id: 37, r: 'YES', dom: 'com', cat: 'Hiểu theo nghĩa đen (Literal)', t: 'Trẻ có gặp khó khăn khi hiểu các câu nói đùa, thành ngữ, ẩn dụ hoặc lời nói mỉa mai không?' } ]; let answers = {}; let filterDom = 'all'; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .cast-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .cast-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .cast-inner { padding: 24px; max-width: 920px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .cast-wrap.is-fullscreen .cast-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .cast-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 0 rgba(37, 99, 235, 0.4); } 70% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 10px rgba(37, 99, 235, 0); } 100% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 0 rgba(37, 99, 235, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #1d4ed8 0%, #2563eb 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Header */ .cast-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .cast-header-text { flex: 1 1 260px; } .cast-title { font-size: 21px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .cast-desc { font-size: 14px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #eff6ff; color: #1d4ed8; border: 1px solid #bfdbfe; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #2563eb; color: #ffffff; border-color: #2563eb; } /* Controls */ .cast-controls { display: flex; flex-direction: column; gap: 10px; margin-bottom: 18px; } .cast-presets { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; } .cast-preset-lbl { font-size: 12.5px; font-weight: 700; color: #475569; margin-right: 4px; } .cast-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; transition: all 0.15s ease; touch-action: manipulation; } .cast-pbtn:hover { background: #f1f5f9; border-color: #94a3b8; } .cast-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } .cast-domain-tabs { display: flex; flex-wrap: wrap; gap: 6px; } .cast-dtab { padding: 6px 12px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .cast-dtab.active { background: #2563eb; color: #ffffff; border-color: #2563eb; } /* Sticky Dashboard */ .cast-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .cast-wrap.is-fullscreen .cast-dash { top: 58px; } .cast-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .cast-score-big { font-size: 24px; font-weight: 800; line-height: 1; } .cast-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .cast-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .cast-bar-bg { height: 10px; background: #334155; border-radius: 5px; overflow: hidden; margin-bottom: 12px; } .cast-bar-fill { height: 100%; width: 0%; background: #10b981; transition: width 0.35s ease, background 0.35s ease; } .cast-pillars { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; font-size: 12px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .cast-pillar-box { background: #1e293b; padding: 7px 10px; border-radius: 8px; } .cast-pillar-val { font-weight: 700; color: #ffffff; font-size: 13.5px; display: block; margin-top: 2px; } /* Danh sách 37 câu hỏi */ .cast-q-item { border: 1px solid #e2e8f0; border-radius: 10px; padding: 14px 16px; margin-bottom: 12px; background: #ffffff; transition: all 0.2s ease; } .cast-q-item.risk-flagged { border-color: #fca5a5; background: #fff5f5; } .cast-q-item.ctrl-item { background: #f8fafc; border-style: dashed; } .cast-q-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; } .cast-q-text { font-size: 14.5px; font-weight: 600; color: #1e293b; line-height: 1.5; flex: 1; } .cast-q-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; } .cast-tag { font-size: 11px; font-weight: 600; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .cast-tag.dom-soc { background: #dbeafe; color: #1d4ed8; } .cast-tag.dom-com { background: #f3e8ff; color: #7e22ce; } .cast-tag.dom-rrb { background: #fef3c7; color: #b45309; } .cast-tag.ctrl { background: #e2e8f0; color: #334155; } .cast-ans-group { display: flex; gap: 8px; flex-shrink: 0; } .cast-abtn { min-width: 78px; padding: 8px 14px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 13.5px; font-weight: 700; color: #334155; cursor: pointer; transition: all 0.15s ease; touch-action: manipulation; } .cast-abtn:hover { border-color: #64748b; } .cast-abtn.sel-safe { background: #10b981; border-color: #10b981; color: #ffffff; } .cast-abtn.sel-risk { background: #ef4444; border-color: #ef4444; color: #ffffff; } .cast-abtn.sel-ctrl { background: #64748b; border-color: #64748b; color: #ffffff; } .cast-result-box { margin-top: 20px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #64748b; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 600px) { .cast-inner { padding: 14px; } .cast-title { font-size: 18px; } .cast-q-head { flex-direction: column; } .cast-ans-group { width: 100%; } .cast-abtn { flex: 1; padding: 10px 14px; } .cast-pillars { grid-template-columns: 1fr; } .cast-pbtn.reset { margin-left: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
Bài Test Sàng Lọc Phổ Tự Kỷ Tuổi Đi Học CAST (4 – 11 Tuổi)
Đánh giá 37 câu hỏi CÓ / KHÔNG theo chuẩn Đại học Cambridge (Anh). Hệ thống tính điểm trên 31 câu chỉ báo (tự động tách riêng 6 câu kiểm soát phát triển chung không tính điểm: câu 3, 4, 12, 22, 26, 33). Ngưỡng điểm cắt chuẩn: ≥ 15 điểm.
• Tổng điểm thấp hơn cả ngưỡng giáp ranh (12 điểm) và ngưỡng cắt chuẩn (15 điểm).
• Trẻ thể hiện khả năng kết bạn, trò chuyện qua lại hai chiều (${com}/12) và hòa nhập nhóm bạn học đường (${soc}/12) phù hợp với lứa tuổi. `; } else if (total < 15) { color = '#f59e0b'; badgeTxt = `VÙNG GIÁP RANH (${total}/31 điểm)`; analysis = ` Kết luận sàng lọc CAST — Vùng Giáp Ranh Cần Lưu Ý (12 – 14 điểm: Đạt ${total}/31 điểm):
• Điểm số tiệm cận ngưỡng cắt lâm sàng (≥ 15 điểm). Hồ sơ 3 trụ cột: Tương tác xã hội (${soc}/12) • Giao tiếp ngữ dụng (${com}/12) • Hành vi cứng nhắc & Sở thích hẹp (${rrb}/7).
• Khuyến nghị: Nên kết hợp đối chiếu thêm bảng sàng lọc từ Giáo viên (như thang ASSQ) và theo dõi kỹ năng hiểu nghĩa bóng, duy trì tình bạn ở trường. `; } else { color = '#ef4444'; badgeTxt = `NGUY CƠ CAO ASD (≥ 15: ${total}/31đ)`; analysis = ` Kết luận sàng lọc CAST — Vượt Ngưỡng Điểm Cắt Lâm Sàng (≥ 15 điểm: Đạt ${total}/31 điểm):
• Kết quả dương tính trên thang CAST với các dấu hiệu đặc trưng ở cả 3 lĩnh vực: Tương tác bạn bè (${soc}/12), Giao tiếp ngữ dụng (${com}/12) và Sở thích chuyên sâu / Tính cứng nhắc (${rrb}/7).
• Hướng xử trí chuẩn: Cần chuyển gửi trẻ thực hiện đánh giá chẩn đoán chuyên sâu bằng ADOS-2 (Module 3), ADI-R và đánh giá năng lực thích ứng Vineland-3 để xây dựng kế hoạch hỗ trợ kỹ năng xã hội học đường. `; } barFillEl.style.background = color; badgeEl.textContent = badgeTxt; badgeEl.style.background = color; badgeEl.style.color = '#ffffff'; resBoxEl.style.borderLeftColor = color; resBoxEl.innerHTML = analysis; updateFloatingFabVisibility(); } function applyPreset(type) { answers = {}; if (type === 'reset') { renderQuestions(); updateSummary(); return; } questions.forEach(function(q) { if (q.r === 'CTRL') answers[q.id] = 'YES'; else answers[q.id] = (q.r === 'YES' ? 'NO' : 'YES'); }); if (type === 'typical') { [5, 14, 18].forEach(function(id) { answers[id] = questions[id - 1].r; }); } else if (type === 'border') { [1, 5, 6, 8, 10, 11, 14, 15, 18, 20, 25, 30, 37].forEach(function(id) { answers[id] = questions[id - 1].r; }); } else if (type === 'hfasd') { [1, 2, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 18, 19, 20, 25, 29, 30, 34, 36, 37].forEach(function(id) { answers[id] = questions[id - 1].r; }); } renderQuestions(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); castWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { castWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 900px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } shadow.querySelectorAll('.cast-pbtn').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-preset')); }; }); shadow.querySelectorAll('#domainTabs .cast-dtab').forEach(function(tab) { tab.onclick = function() { filterDom = this.getAttribute('data-dom'); shadow.querySelectorAll('#domainTabs .cast-dtab').forEach(t => t.classList.remove('active')); this.classList.add('active'); renderQuestions(); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); applyPreset('hfasd'); })();
CAST (Childhood Autism Spectrum Test — trước đây gọi là Childhood Asperger Syndrome Test) là công cụ sàng lọc chuẩn hóa do Trung tâm Nghiên cứu Tự kỷ (ARC) tại Đại học Cambridge (Anh) (Fiona Scott, Simon Baron-Cohen và cộng sự) phát triển.
Mục đích lâm sàng: Phát hiện các dấu hiệu Rối loạn phổ tự kỷ mức độ nhẹ / Tự kỷ chức năng cao (High-Functioning Autism / Asperger) ở trẻ em độ tuổi đi học — nhóm trẻ thường có trí tuệ và ngôn ngữ bề mặt bình thường nhưng gặp rào cản trong giao tiếp xã hội tinh tế, kết bạn và hành vi linh hoạt ở trường.
-
Độ tuổi áp dụng: 4 đến 11 tuổi (Bậc Mầm non lớn & Tiểu học).
-
Người thực hiện: Phụ huynh hoặc người chăm sóc chính trả lời trong khoảng 10 phút.
-
Cấu trúc câu hỏi (37 câu CÓ / KHÔNG):
-
31 câu tính điểm nguy cơ chia vào 3 trụ cột: Tương tác xã hội & Bạn bè (12 câu), Giao tiếp & Ngữ dụng (12 câu), Hành vi cứng nhắc & Sở thích hẹp (7 câu).
-
6 câu kiểm soát phát triển chung không tính điểm: Câu số 3, 4, 12, 22, 26, 33.
-
-
Cách tính điểm & Ngưỡng điểm cắt (Cut-off):
-
Tổng điểm tối đa: 31 điểm (mỗi câu khớp chỉ báo ASD = 1 điểm).
-
điểm: Ngưỡng nguy cơ cao (Positive screen), cần chuyển gửi đánh giá chẩn đoán chuyên sâu (ADOS-2, ADI-R, Vineland-3).
-
12 – 14 điểm: Vùng giáp ranh (Borderline), cần theo dõi sát và đối chiếu thêm đánh giá từ giáo viên.
-
Nguồn: Tài liệu gốc với sự hỗ trợ của AI.
[Tự kỷ] ASSQ: Bảng câu hỏi sàng lọc phổ tự kỷ chức năng cao ở trẻ học đường (7 – 16 tuổi)
(function() { const host = document.getElementById('assq-wp-host'); if (!host) return; const placeholder = document.createComment('assq-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // 27 câu hỏi chuẩn ASSQ (Ehlers, Gillberg & Wing, 1999) // dom: 'soc' (Tương tác xã hội - 11 câu), 'com' (Giao tiếp & Ngữ dụng - 6 câu), 'rrb' (Cứng nhắc & Lặp lại - 5 câu), 'mot' (Vận động & Biểu cảm/Tics - 5 câu) const questions = [ { id: 1, dom: 'com', cat: 'Phong cách ngôn ngữ', t: 'Cách nói chuyện và cư xử già dặn kiểu "ông cụ non" (kiểu cách, sách vở hơn bạn cùng tuổi).' }, { id: 2, dom: 'soc', cat: 'Hình ảnh trong mắt bạn bè', t: 'Được các bạn cùng trang lứa coi như một "giáo sư lập dị" (biết rất nhiều về vài thứ nhưng xa rời thực tế).' }, { id: 3, dom: 'soc', cat: 'Thế giới nội tâm', t: 'Sống như trong thế giới riêng của bản thân với những mối quan tâm trí tuệ hẹp và mang tính cá nhân.' }, { id: 4, dom: 'rrb', cat: 'Trí nhớ cơ học', t: 'Tích lũy các sự kiện, số liệu về một số chủ đề nhất định (trí nhớ cơ học rất tốt) nhưng không thực sự hiểu sâu ý nghĩa tổng thể.' }, { id: 5, dom: 'com', cat: 'Hiểu theo nghĩa đen', t: 'Hiểu ngôn ngữ theo đúng nghĩa đen; không hiểu được nghĩa bóng, ẩn dụ, lời nói đùa hoặc châm biếm.' }, { id: 6, dom: 'com', cat: 'Diễn đạt lệch chuẩn', t: 'Có phong cách giao tiếp lệch chuẩn: cách diễn đạt trang trọng quá mức, cầu kỳ, cổ điển hoặc cứng nhắc như "robot".' }, { id: 7, dom: 'com', cat: 'Từ ngữ tự tạo', t: 'Tự bịa ra các từ ngữ hoặc cách diễn đạt riêng biệt không giống ai.' }, { id: 8, dom: 'com', cat: 'Giọng điệu khác lạ', t: 'Có giọng nói hoặc cách phát âm khác thường (quá to, quá nhỏ, đều đều một tông giọng, hoặc ngữ điệu kỳ lạ).' }, { id: 9, dom: 'mot', cat: 'Âm thanh không chủ đích', t: 'Phát âm ra những âm thanh không chủ đích như: hắng giọng, khịt mũi, tặc lưỡi, rên rỉ hoặc kêu lên bất chợt.' }, { id: 10, dom: 'rrb', cat: 'Năng lực không đồng đều', t: 'Phong độ học tập/thực hiện nhiệm vụ rất thất thường: cực kỳ xuất sắc ở một số mảng nhưng lại rất kém ở những mảng đơn giản khác.' }, { id: 11, dom: 'com', cat: 'Ngữ dụng xã hội', t: 'Sử dụng ngôn ngữ trôi chảy nhưng thất bại trong việc điều chỉnh lời nói cho phù hợp với ngữ cảnh xã hội hoặc người nghe.' }, { id: 12, dom: 'soc', cat: 'Thấu cảm xã hội', t: 'Thiếu sự đồng cảm (không nhận ra hoặc không thấu hiểu được cảm xúc của người khác).' }, { id: 13, dom: 'soc', cat: 'Nhận xét thiếu tinh tế', t: 'Hay đưa ra những nhận xét ngây thơ, thẳng thừng làm người khác ngượng ngùng mà không nhận thức được.' }, { id: 14, dom: 'soc', cat: 'Giao tiếp ánh mắt', t: 'Có kiểu nhìn chằm chằm hoặc giao tiếp ánh mắt lệch chuẩn (tránh nhìn mắt hoặc nhìn cứng nhắc).' }, { id: 15, dom: 'soc', cat: 'Thiết lập quan hệ bạn bè', t: 'Có mong muốn hòa đồng với bạn bè nhưng luôn thất bại trong việc thiết lập và duy trì mối quan hệ với bạn cùng lứa.' }, { id: 16, dom: 'soc', cat: 'Tương tác một chiều', t: 'Chỉ có thể ở bên cạnh các bạn khác nếu mọi người chịu làm theo đúng luật lệ và điều kiện của trẻ.' }, { id: 17, dom: 'soc', cat: 'Tình bạn thân thiết', t: 'Thiếu vắng một người bạn thân thực sự.' }, { id: 18, dom: 'soc', cat: 'Phán đoán tình huống', t: 'Thiếu "lẽ thường" (common sense) trong các tình huống ứng xử đời sống hàng ngày.' }, { id: 19, dom: 'soc', cat: 'Phối hợp nhóm / Đồng đội', t: 'Kém trong các trò chơi đồng đội: không có khái niệm hợp tác nhóm mà chỉ tự tính điểm/chơi theo ý riêng.' }, { id: 20, dom: 'mot', cat: 'Phối hợp vận động', t: 'Có cử chỉ hoặc dáng chạy nhảy, vận động vụng về, thiếu sự phối hợp nhịp nhàng và uyển chuyển.' }, { id: 21, dom: 'mot', cat: 'Cử động không chủ đích', t: 'Có những cử động khuôn mặt hoặc cơ thể không chủ đích (nháy mắt, nhăn mặt, vặn vẹo tay chân).' }, { id: 22, dom: 'rrb', cat: 'Hành vi bắt buộc lặp lại', t: 'Gặp khó khăn trong việc hoàn thành các sinh hoạt cá nhân hàng ngày do cứ phải lặp đi lặp lại một số hành động hoặc suy nghĩ bắt buộc.' }, { id: 23, dom: 'rrb', cat: 'Nghi thức cứng nhắc', t: 'Có những thói quen/nghi thức đặc biệt: luôn khăng khăng không cho phép bất kỳ sự thay đổi nào.' }, { id: 24, dom: 'rrb', cat: 'Gắn bó đồ vật khác lạ', t: 'Có sự gắn bó khác thường với một số đồ vật nhất định (sưu tầm hoặc luôn mang theo những thứ không phù hợp lứa tuổi).' }, { id: 25, dom: 'soc', cat: 'Nguy cơ bị bắt nạt', t: 'Thường bị những đứa trẻ khác trêu chọc, bắt nạt hoặc cô lập.' }, { id: 26, dom: 'mot', cat: 'Biểu cảm nét mặt', t: 'Có biểu cảm khuôn mặt khác thường (ít biểu cảm, đơ cứng hoặc biểu cảm lệch pha với hoàn cảnh).' }, { id: 27, dom: 'mot', cat: 'Tư thế cơ thể', t: 'Có tư thế cơ thể hoặc dáng đứng/dáng ngồi khác thường, cứng nhắc.' } ]; let answers = {}; let rater = 'parent'; // 'parent' (Cut-off >= 19) | 'teacher' (Cut-off >= 22) let filterDom = 'all'; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .assq-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .assq-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .assq-inner { padding: 24px; max-width: 920px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .assq-wrap.is-fullscreen .assq-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .assq-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(124, 58, 237, 0.45), 0 0 0 0 rgba(124, 58, 237, 0.4); } 70% { box-shadow: 0 6px 20px rgba(124, 58, 237, 0.45), 0 0 0 10px rgba(124, 58, 237, 0); } 100% { box-shadow: 0 6px 20px rgba(124, 58, 237, 0.45), 0 0 0 0 rgba(124, 58, 237, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #6d28d9 0%, #7c3aed 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(124, 58, 237, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Header */ .assq-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .assq-header-text { flex: 1 1 260px; } .assq-title { font-size: 21px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .assq-desc { font-size: 14px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #f5f3ff; color: #6d28d9; border: 1px solid #ddd6fe; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #7c3aed; color: #ffffff; border-color: #7c3aed; } /* Khu vực chọn Người đánh giá & Kịch bản mẫu */ .assq-top-controls { display: grid; grid-template-columns: 1fr 1.25fr; gap: 12px; margin-bottom: 14px; } .assq-box-ctrl { background: #f8fafc; border: 1px solid #e2e8f0; padding: 10px 12px; border-radius: 10px; } .assq-ctrl-label { font-size: 12px; font-weight: 700; color: #475569; text-transform: uppercase; margin-bottom: 6px; display: block; } .assq-rater-group, .assq-preset-group { display: flex; flex-wrap: wrap; gap: 6px; } .assq-btn-sm { padding: 6px 10px; border-radius: 7px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; flex: 1; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .assq-btn-sm:hover { background: #f1f5f9; } .assq-btn-sm.active { background: #6d28d9; color: #ffffff; border-color: #6d28d9; } .assq-btn-sm.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; flex: 0 0 auto; } /* Bộ lọc 4 nhóm triệu chứng */ .assq-domain-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 16px; } .assq-dtab { padding: 6px 12px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .assq-dtab.active { background: #6d28d9; color: #ffffff; border-color: #6d28d9; } /* Bảng điểm nổi (Sticky Dashboard) */ .assq-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .assq-wrap.is-fullscreen .assq-dash { top: 58px; } .assq-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .assq-score-big { font-size: 24px; font-weight: 800; line-height: 1; } .assq-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .assq-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .assq-bar-bg { height: 10px; background: #334155; border-radius: 5px; overflow: hidden; margin-bottom: 12px; } .assq-bar-fill { height: 100%; width: 0%; background: #10b981; transition: width 0.35s ease, background 0.35s ease; } .assq-pillars { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; font-size: 12px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .assq-pillar-box { background: #1e293b; padding: 7px 10px; border-radius: 8px; } .assq-pillar-val { font-weight: 700; color: #ffffff; font-size: 13.5px; display: block; margin-top: 2px; } /* Danh sách 27 câu hỏi */ .assq-q-item { border: 1px solid #e2e8f0; border-radius: 10px; padding: 14px 16px; margin-bottom: 12px; background: #ffffff; transition: all 0.2s ease; } .assq-q-item.risk-high { border-color: #fca5a5; background: #fff5f5; } .assq-q-item.risk-mid { border-color: #fde68a; background: #fffbeb; } .assq-q-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 14px; } .assq-q-text { font-size: 14.5px; font-weight: 600; color: #1e293b; line-height: 1.5; flex: 1; } .assq-q-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; } .assq-tag { font-size: 11px; font-weight: 600; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .assq-tag.dom-soc { background: #dbeafe; color: #1d4ed8; } .assq-tag.dom-com { background: #f3e8ff; color: #7e22ce; } .assq-tag.dom-rrb { background: #fef3c7; color: #b45309; } .assq-tag.dom-mot { background: #dcfce7; color: #15803d; } .assq-ans-group { display: flex; gap: 6px; flex-shrink: 0; } .assq-abtn { min-width: 78px; padding: 8px 10px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 700; color: #334155; cursor: pointer; transition: all 0.15s ease; touch-action: manipulation; } .assq-abtn:hover { border-color: #64748b; } .assq-abtn.sel-0 { background: #10b981; border-color: #10b981; color: #ffffff; } .assq-abtn.sel-1 { background: #f59e0b; border-color: #f59e0b; color: #ffffff; } .assq-abtn.sel-2 { background: #ef4444; border-color: #ef4444; color: #ffffff; } .assq-result-box { margin-top: 20px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #64748b; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 680px) { .assq-inner { padding: 14px; } .assq-title { font-size: 18px; } .assq-top-controls { grid-template-columns: 1fr; } .assq-pillars { grid-template-columns: 1fr 1fr; } .assq-q-head { flex-direction: column; } .assq-ans-group { width: 100%; } .assq-abtn { flex: 1; padding: 10px 6px; font-size: 12px; min-width: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
Bảng Câu Hỏi Sàng Lọc Phổ Tự Kỷ ASSQ (7 – 16 Tuổi)
Đánh giá 27 biểu hiện hành vi theo thang điểm 0 – 1 – 2 (Tổng điểm tối đa: 54 điểm). Công cụ chuẩn hóa cho cả Phụ huynh (Ngưỡng cắt ≥ 19 điểm) và Giáo viên (Ngưỡng cắt ≥ 22 điểm) nhằm phát hiện sớm Tự kỷ chức năng cao / Asperger ở lứa tuổi học đường.
• Tổng điểm thấp hơn cả ngưỡng cảnh báo sớm (${warnCut} điểm) và ngưỡng cắt lâm sàng (≥ ${highCut} điểm dành cho ${raterLabel}).
• Trẻ không bộc lộ sự khác biệt lan tỏa về giao tiếp ngữ dụng hay tương tác bạn bè so với nhóm tuổi. `; } else if (total < highCut) { color = '#f59e0b'; badgeTxt = `VÙNG CẢNH BÁO (${total}/54 điểm)`; analysis = ` Kết luận sàng lọc ASSQ (${raterLabel}) — Vùng Cảnh Báo Giáp Ranh (${total}/54 điểm, ngưỡng cắt ≥ ${highCut}):
• Hồ sơ 4 lĩnh vực: Tương tác xã hội (${soc}/22) • Giao tiếp & Ngôn ngữ (${com}/12) • Cứng nhắc & Lặp lại (${rrb}/10) • Vận động & Biểu cảm (${mot}/10).
• Khuyến nghị: Nên cho cả Phụ huynh và Giáo viên cùng chấm độc lập trên thang ASSQ để đối chiếu hành vi của trẻ ở nhà và ở trường, đồng thời theo dõi kỹ năng kết bạn và hòa nhập nhóm. `; } else { color = '#ef4444'; badgeTxt = `NGUY CƠ CAO ASD (≥ ${highCut}: ${total}/54đ)`; analysis = ` Kết luận sàng lọc ASSQ (${raterLabel}) — Vượt Ngưỡng Điểm Cắt Lâm Sàng (Đạt ${total}/54 điểm, ngưỡng cắt ≥ ${highCut}):
• Kết quả sàng lọc dương tính trên thang ASSQ với các biểu hiện rõ nét ở: Tương tác xã hội (${soc}/22), Giao tiếp ngữ dụng (${com}/12), Thói quen cứng nhắc (${rrb}/10) và Đặc điểm vận động/biểu cảm (${mot}/10).
• Hướng xử trí chuẩn: Cần chuyển gửi trẻ khám chuyên khoa Tâm bệnh / Tâm lý lâm sàng để đánh giá chẩn đoán bằng ADOS-2 (Module 3/4), ADI-R và đánh giá hành vi thích ứng Vineland-3. `; } barFillEl.style.background = color; badgeEl.textContent = badgeTxt; badgeEl.style.background = color; badgeEl.style.color = '#ffffff'; resBoxEl.style.borderLeftColor = color; resBoxEl.innerHTML = analysis; updateFloatingFabVisibility(); } function applyPreset(type) { answers = {}; if (type === 'reset') { renderQuestions(); updateSummary(); return; } questions.forEach(function(q) { answers[q.id] = 0; }); if (type === 'typical') { answers[1] = 1; answers[4] = 2; answers[20] = 1; // 4 điểm } else if (type === 'border') { // 16 điểm [1, 2, 4, 5, 6, 11, 13, 15, 17, 19, 20].forEach(function(id, idx) { answers[id] = (idx < 5) ? 2 : 1; }); } else if (type === 'hfasd') { // 28 điểm [1, 2, 3, 4, 5, 6, 8, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 23, 25].forEach(function(id, idx) { answers[id] = (idx < 9) ? 2 : 1; }); } renderQuestions(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); assqWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { assqWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 900px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } shadow.querySelectorAll('#raterGroup .assq-btn-sm').forEach(function(btn) { btn.onclick = function() { rater = this.getAttribute('data-rater'); shadow.querySelectorAll('#raterGroup .assq-btn-sm').forEach(b => b.classList.remove('active')); this.classList.add('active'); updateSummary(); }; }); shadow.querySelectorAll('#presetGroup .assq-btn-sm').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-pre')); }; }); shadow.querySelectorAll('#domainTabs .assq-dtab').forEach(function(tab) { tab.onclick = function() { filterDom = this.getAttribute('data-dom'); shadow.querySelectorAll('#domainTabs .assq-dtab').forEach(t => t.classList.remove('active')); this.classList.add('active'); renderQuestions(); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); applyPreset('hfasd'); })();
ASSQ (Autism Spectrum Screening Questionnaire — Bảng câu hỏi Sàng lọc Phổ Tự kỷ) là công cụ sàng lọc lâm sàng do Stephan Ehlers, Christopher Gillberg và Lorna Wing phát triển (1999).
-
Mục đích lâm sàng: Chuyên dùng để sàng lọc các dấu hiệu Rối loạn phổ tự kỷ chức năng cao (High-Functioning Autism / Hội chứng Asperger trước đây) ở trẻ em và thanh thiếu niên có trí tuệ trong giới hạn bình thường hoặc cao nhưng gặp khó khăn đặc trưng về tương tác xã hội, ngôn ngữ ngữ dụng, thói quen cứng nhắc và sự vụng về vận động.
-
Độ tuổi áp dụng: 7 đến 16 tuổi (Bậc Tiểu học & Trung học cơ sở).
-
Người thực hiện: Được thiết kế để cả Phụ huynh VÀ Giáo viên cùng đánh giá độc lập dựa trên việc so sánh hành vi của trẻ với các bạn cùng trang lứa.
-
Cấu trúc 27 câu hỏi & Thang điểm (0 – 1 – 2):
-
Gồm 27 mục hành vi chia vào 4 nhóm triệu chứng: Tương tác xã hội (11 câu), Giao tiếp & Ngôn ngữ (6 câu), Hành vi hạn hẹp & Lặp lại (5 câu), Vận động & Cử động/Âm thanh bất thường (5 câu).
-
Chấm theo 3 mức độ:
0(Không đúng),1(Đúng một phần / Đôi khi),2(Hoàn toàn đúng / Nổi bật rõ rệt).
-
-
Ngưỡng điểm cắt chuẩn hóa (Cut-off Score trên thang 0 – 54 điểm):
-
Khi Phụ huynh đánh giá: điểm → Nguy cơ cao thuộc Phổ tự kỷ.
-
Khi Giáo viên đánh giá: điểm → Nguy cơ cao thuộc Phổ tự kỷ.
-
Từ 13 – 18 điểm (Phụ huynh) hoặc 15 – 21 điểm (Giáo viên): Vùng cảnh báo giáp ranh cần theo dõi và đối chiếu giữa gia đình – nhà trường.
-
Nguồn: Tài liệu gốc cùng sự hỗ trợ biên tập nội dung với AI.
[Tự kỷ] AQ: Thang đo chỉ số phổ tự kỷ dành cho trẻ em, thanh thiếu niên và người lớn (Từ 4 tuổi)
(function() { const host = document.getElementById('aq-full-wp-host'); if (!host) return; const placeholder = document.createComment('aq-full-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // 50 câu hỏi chuẩn AQ (Cambridge University) với 2 bản ngữ pháp: // tc: Ngôi thứ 3 dành cho Phụ huynh đánh giá con (AQ-Child 4-11 tuổi & AQ-Adolescent 12-15 tuổi) // ta: Ngôi thứ 1 dành cho Người từ 16 tuổi trở lên tự đánh giá (AQ-Adult 16+) // r: Chiều tính điểm đặc điểm tự kỷ ('AGREE' = Đồng ý, 'DISAGREE' = Không đồng ý) // dom: 'soc' (Kỹ năng xã hội), 'swi' (Chuyển đổi chú ý), 'det' (Chú ý chi tiết), 'com' (Giao tiếp), 'ima' (Trí tưởng tượng) const questions = [ { id: 1, r: 'DISAGREE', dom: 'soc', tc: 'Con thích làm mọi việc cùng với người khác hơn là tự làm một mình.', ta: 'Tôi thích làm mọi việc cùng với người khác hơn là tự làm một mình.' }, { id: 2, r: 'AGREE', dom: 'swi', tc: 'Con thích làm mọi việc lặp đi lặp lại theo đúng một cách quen thuộc.', ta: 'Tôi thích làm mọi việc lặp đi lặp lại theo đúng một cách quen thuộc.' }, { id: 3, r: 'DISAGREE', dom: 'ima', tc: 'Nếu cố gắng tưởng tượng một điều gì đó, con rất dễ dàng hình dung ra bức tranh sống động trong đầu.', ta: 'Nếu cố gắng tưởng tượng một điều gì đó, tôi rất dễ dàng hình dung ra bức tranh sống động trong đầu.' }, { id: 4, r: 'AGREE', dom: 'swi', tc: 'Con thường bị cuốn sâu vào một việc đến mức quên mất những thứ khác xung quanh.', ta: 'Tôi thường bị cuốn sâu vào một việc đến mức quên mất những thứ khác xung quanh.' }, { id: 5, r: 'AGREE', dom: 'det', tc: 'Con thường nghe thấy những âm thanh nhỏ nhặt mà người khác không để ý.', ta: 'Tôi thường nghe thấy những âm thanh nhỏ nhặt mà người khác không để ý.' }, { id: 6, r: 'AGREE', dom: 'det', tc: 'Con thường chú ý đến biển số xe hoặc các chuỗi thông tin, ký hiệu tương tự.', ta: 'Tôi thường chú ý đến biển số xe hoặc các chuỗi thông tin tương tự.' }, { id: 7, r: 'AGREE', dom: 'com', tc: 'Người khác thường bảo rằng những điều con nói là thiếu lịch sự/thiếu tế nhị, dù bản thân con nghĩ nó bình thường.', ta: 'Người khác thường bảo rằng những điều tôi nói là thiếu lịch sự, dù bản thân tôi nghĩ nó hoàn toàn bình thường.' }, { id: 8, r: 'DISAGREE', dom: 'ima', tc: 'Khi nghe hoặc đọc một câu chuyện, con có thể dễ dàng hình dung ra diện mạo của các nhân vật.', ta: 'Khi đọc một câu chuyện, tôi có thể dễ dàng hình dung ra diện mạo của các nhân vật.' }, { id: 9, r: 'AGREE', dom: 'det', tc: 'Con bị cuốn hút mạnh mẽ bởi các mốc ngày tháng (lịch, ngày sinh, niên đại).', ta: 'Tôi bị cuốn hút mạnh mẽ bởi các mốc ngày tháng (lịch, ngày sinh, niên đại).' }, { id: 10, r: 'DISAGREE', dom: 'swi', tc: 'Trong một nhóm đông người, con có thể dễ dàng theo dõi nhiều cuộc trò chuyện của mọi người xung quanh cùng lúc.', ta: 'Trong một nhóm đông người, tôi có thể dễ dàng theo dõi nhiều cuộc trò chuyện khác nhau cùng lúc.' }, { id: 11, r: 'DISAGREE', dom: 'soc', tc: 'Con cảm thấy các tình huống giao tiếp xã hội rất dễ dàng và thoải mái.', ta: 'Tôi cảm thấy các tình huống giao tiếp xã hội rất dễ dàng và thoải mái.' }, { id: 12, r: 'AGREE', dom: 'det', tc: 'Con có xu hướng nhận ra những chi tiết nhỏ mà người khác thường bỏ qua.', ta: 'Tôi có xu hướng nhận ra những chi tiết nhỏ mà người khác thường bỏ qua.' }, { id: 13, r: 'AGREE', dom: 'soc', tc: 'Con thích đến thư viện hoặc ở góc yên tĩnh hơn là đi dự một bữa tiệc đông đúc.', ta: 'Tôi thích đến thư viện hơn là đi dự một bữa tiệc.' }, { id: 14, r: 'DISAGREE', dom: 'ima', tc: 'Con thấy việc tự nghĩ ra các câu chuyện hư cấu, bịa chuyện vui là rất dễ dàng.', ta: 'Tôi thấy việc tự nghĩ ra các câu chuyện hư cấu là rất dễ dàng.' }, { id: 15, r: 'DISAGREE', dom: 'soc', tc: 'Con bị thu hút bởi con người (bạn bè, người thân) mạnh mẽ hơn là bởi các đồ vật/sự vật.', ta: 'Tôi cảm thấy mình bị thu hút bởi con người mạnh mẽ hơn là bởi các đồ vật/sự vật.' }, { id: 16, r: 'AGREE', dom: 'swi', tc: 'Con có những sở thích rất mãnh liệt và sẽ cảm thấy bứt rứt, cáu kỉnh nếu không được theo đuổi chúng.', ta: 'Tôi có những sở thích rất mãnh liệt và sẽ cảm thấy bứt rứt, khó chịu nếu không được theo đuổi chúng.' }, { id: 17, r: 'DISAGREE', dom: 'com', tc: 'Con thích những cuộc trò chuyện xã giao, tán gẫu vui vẻ với mọi người.', ta: 'Tôi thích những cuộc trò chuyện xã giao (tán gẫu chuyện phiếm) với mọi người.' }, { id: 18, r: 'AGREE', dom: 'com', tc: 'Khi con đang hào hứng nói về chủ đề của mình, người khác thường rất khó chen lời vào.', ta: 'Khi tôi đang nói về chủ đề của mình, người khác thường rất khó chen lời vào.' }, { id: 19, r: 'AGREE', dom: 'det', tc: 'Con bị hấp dẫn đặc biệt bởi các con số.', ta: 'Tôi bị hấp dẫn đặc biệt bởi các con số.' }, { id: 20, r: 'AGREE', dom: 'ima', tc: 'Khi đọc truyện hoặc xem phim hoạt hình, con thấy khó đoán được ý định ngầm của các nhân vật.', ta: 'Khi đọc truyện hoặc xem phim, tôi thấy khó đoán được ý định ngầm của các nhân vật.' }, { id: 21, r: 'AGREE', dom: 'ima', tc: 'Con không mấy hứng thú với các câu chuyện tiểu thuyết hư cấu (thích sách bách khoa, thực tế hơn).', ta: 'Tôi không mấy hứng thú với việc đọc sách tiểu thuyết hư cấu.' }, { id: 22, r: 'AGREE', dom: 'soc', tc: 'Con thấy việc kết thêm bạn mới là rất khó khăn.', ta: 'Tôi thấy việc kết thêm bạn mới là rất khó khăn.' }, { id: 23, r: 'AGREE', dom: 'det', tc: 'Con luôn nhận ra các quy luật hoặc họa tiết lặp lại trong mọi vật xung quanh.', ta: 'Tôi luôn nhận ra các quy luật hoặc họa tiết lặp lại trong mọi vật xung quanh.' }, { id: 24, r: 'DISAGREE', dom: 'ima', tc: 'Con thích đi xem kịch/xem biểu diễn hơn là đi tham quan bảo tàng trưng bày.', ta: 'Tôi thích đi xem kịch ở nhà hát hơn là đi tham quan bảo tàng.' }, { id: 25, r: 'DISAGREE', dom: 'swi', tc: 'Con không hề cảm thấy phiền lòng hay khó chịu nếu thói quen sinh hoạt hàng ngày bị xáo trộn.', ta: 'Tôi không hề cảm thấy phiền lòng nếu thói quen sinh hoạt hàng ngày của mình bị xáo trộn.' }, { id: 26, r: 'AGREE', dom: 'com', tc: 'Con thường lúng túng không biết phải làm thế nào để duy trì cuộc trò chuyện với bạn bè.', ta: 'Tôi thường xuyên nhận thấy mình không biết phải làm thế nào để duy trì một cuộc trò chuyện.' }, { id: 27, r: 'DISAGREE', dom: 'com', tc: 'Con dễ dàng hiểu được "ẩn ý" đằng sau lời nói khi ai đó đang trò chuyện với mình.', ta: 'Tôi dễ dàng hiểu được "ẩn ý" đằng sau lời nói khi ai đó đang trò chuyện với mình.' }, { id: 28, r: 'DISAGREE', dom: 'det', tc: 'Con thường tập trung vào bức tranh tổng thể hơn là chỉ chú ý vào các chi tiết nhỏ lẻ.', ta: 'Tôi thường tập trung vào bức tranh tổng thể hơn là các chi tiết nhỏ lẻ.' }, { id: 29, r: 'DISAGREE', dom: 'det', tc: 'Con không giỏi lắm trong việc ghi nhớ các dãy số điện thoại.', ta: 'Tôi không giỏi việc ghi nhớ các số điện thoại.' }, { id: 30, r: 'DISAGREE', dom: 'det', tc: 'Con thường không để ý đến những thay đổi nhỏ trong phòng hoặc sự thay đổi ngoại hình của người khác.', ta: 'Tôi thường không để ý đến những thay đổi nhỏ trong một khung cảnh hoặc ngoại hình của một người.' }, { id: 31, r: 'DISAGREE', dom: 'com', tc: 'Con biết cách nhận ra khi nào người đang nghe mình nói bắt đầu cảm thấy chán.', ta: 'Tôi biết cách nhận ra khi nào người đang nghe mình nói bắt đầu cảm thấy chán.' }, { id: 32, r: 'DISAGREE', dom: 'swi', tc: 'Con thấy rất dễ dàng khi phải làm hoặc chuyển đổi qua lại nhiều việc cùng một lúc.', ta: 'Tôi thấy rất dễ dàng khi phải làm nhiều hơn một việc cùng một lúc.' }, { id: 33, r: 'AGREE', dom: 'com', tc: 'Khi nói chuyện qua điện thoại, con thường không chắc khi nào đến lượt mình nên nói.', ta: 'Khi nói chuyện qua điện thoại, tôi thường không chắc khi nào đến lượt mình nên nói.' }, { id: 34, r: 'DISAGREE', dom: 'swi', tc: 'Con thích làm mọi việc một cách ngẫu hứng, tự phát mà không cần báo trước.', ta: 'Tôi thích làm mọi việc một cách ngẫu hứng, tự phát.' }, { id: 35, r: 'AGREE', dom: 'com', tc: 'Con thường là người cuối cùng trong nhóm hiểu ra ý nghĩa của một câu nói đùa.', ta: 'Tôi thường là người cuối cùng hiểu ra ý nghĩa của một câu nói đùa.' }, { id: 36, r: 'DISAGREE', dom: 'soc', tc: 'Con dễ dàng đoán được người khác đang nghĩ gì hoặc cảm thấy thế nào chỉ bằng cách nhìn vào nét mặt họ.', ta: 'Tôi dễ dàng đoán được người khác đang nghĩ gì hoặc cảm thấy thế nào chỉ bằng cách nhìn vào nét mặt họ.' }, { id: 37, r: 'DISAGREE', dom: 'swi', tc: 'Nếu bị ngắt quãng khi đang làm dở việc, con có thể quay lại làm tiếp việc đó ngay lập tức rất dễ dàng.', ta: 'Nếu bị gián đoạn khi đang làm dở việc, tôi có thể quay lại làm tiếp việc đó ngay lập tức một cách dễ dàng.' }, { id: 38, r: 'DISAGREE', dom: 'com', tc: 'Con rất có khiếu trong việc trò chuyện làm quen, tán gẫu với bạn bè.', ta: 'Tôi rất có khiếu trong việc trò chuyện xã giao.' }, { id: 39, r: 'AGREE', dom: 'com', tc: 'Mọi người thường nhận xét rằng con cứ nói đi nói lại mãi về cùng một chủ đề.', ta: 'Mọi người thường bảo rằng tôi cứ nói đi nói lại mãi về cùng một chủ đề.' }, { id: 40, r: 'DISAGREE', dom: 'ima', tc: 'Con rất thích chơi các trò đóng vai giả vờ cùng với những đứa trẻ khác.', ta: 'Khi còn nhỏ, tôi rất thích chơi các trò đóng vai giả vờ cùng với những đứa trẻ khác.' }, { id: 41, r: 'AGREE', dom: 'ima', tc: 'Con thích sưu tầm thông tin phân loại về các nhóm sự vật (như khủng long, dòng xe hơi, loài chim, tàu hỏa...).', ta: 'Tôi thích sưu tầm thông tin phân loại về các nhóm sự vật (như các dòng xe hơi, loài chim, tàu hỏa, cây cối...).' }, { id: 42, r: 'AGREE', dom: 'ima', tc: 'Con thấy rất khó hình dung cảm giác sẽ ra sao nếu mình đặt bản thân vào vị trí của một người khác.', ta: 'Tôi thấy rất khó hình dung cảm giác sẽ ra sao nếu mình ở vào vị trí của một người khác.' }, { id: 43, r: 'AGREE', dom: 'swi', tc: 'Con thích lên kế hoạch trước thật kỹ cho bất kỳ hoạt động nào mà con tham gia.', ta: 'Tôi thích lên kế hoạch tỉ mỉ cho bất kỳ hoạt động nào mà tôi tham gia.' }, { id: 44, r: 'DISAGREE', dom: 'soc', tc: 'Con yêu thích các dịp tụ tập, sinh hoạt tập thể hay giao lưu xã hội.', ta: 'Tôi yêu thích các dịp tụ tập, giao lưu xã hội.' }, { id: 45, r: 'AGREE', dom: 'soc', tc: 'Con thấy khó nắm bắt được ý định thực sự của người khác.', ta: 'Tôi thấy khó nắm bắt được ý định thực sự của người khác.' }, { id: 46, r: 'AGREE', dom: 'swi', tc: 'Những tình huống hoặc môi trường mới lạ luôn làm con cảm thấy lo lắng, bất an.', ta: 'Những tình huống mới lạ luôn làm tôi cảm thấy lo lắng, bất an.' }, { id: 47, r: 'DISAGREE', dom: 'soc', tc: 'Con thích gặp gỡ và làm quen với những người bạn mới.', ta: 'Tôi thích gặp gỡ và làm quen với những người mới.' }, { id: 48, r: 'DISAGREE', dom: 'soc', tc: 'Con là một đứa trẻ khéo léo, biết cách ứng xử hài hòa với mọi người.', ta: 'Tôi là một người khéo léo, biết ngoại giao trong ứng xử.' }, { id: 49, r: 'DISAGREE', dom: 'det', tc: 'Con không giỏi lắm trong việc nhớ ngày sinh nhật của mọi người.', ta: 'Tôi không giỏi lắm trong việc nhớ ngày sinh nhật của mọi người.' }, { id: 50, r: 'DISAGREE', dom: 'ima', tc: 'Con thấy việc chơi các trò đóng vai, giả vờ cùng bạn bè là rất dễ dàng.', ta: 'Tôi thấy việc chơi các trò đóng vai, giả vờ cùng trẻ nhỏ là rất dễ dàng.' } ]; // version: 'child' (4-11 tuổi, thang 0-150, cut-off >= 76) | 'adolescent' (12-15 tuổi, thang 0-50, cut-off >= 30) | 'adult' (16+, thang 0-50, cut-off >= 32) let version = 'child'; let answers = {}; // 'DA' | 'SA' | 'SD' | 'DD' let filterDom = 'all'; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .aq-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .aq-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .aq-inner { padding: 24px; max-width: 940px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .aq-wrap.is-fullscreen .aq-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .aq-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(2, 132, 199, 0.45), 0 0 0 0 rgba(2, 132, 199, 0.4); } 70% { box-shadow: 0 6px 20px rgba(2, 132, 199, 0.45), 0 0 0 10px rgba(2, 132, 199, 0); } 100% { box-shadow: 0 6px 20px rgba(2, 132, 199, 0.45), 0 0 0 0 rgba(2, 132, 199, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #0369a1 0%, #0284c7 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(2, 132, 199, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Thanh chọn 3 phiên bản độ tuổi */ .ver-switcher { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; background: #f1f5f9; padding: 8px; border-radius: 12px; margin-bottom: 18px; } .ver-btn { padding: 10px 12px; border-radius: 9px; border: 1.5px solid transparent; background: transparent; cursor: pointer; text-align: left; transition: all 0.2s ease; touch-action: manipulation; } .ver-btn.active { background: #ffffff; border-color: #0284c7; box-shadow: 0 2px 8px rgba(15, 23, 42, 0.08); } .ver-btn-title { font-size: 14px; font-weight: 800; color: #0f172a; display: block; } .ver-btn.active .ver-btn-title { color: #0284c7; } .ver-btn-sub { font-size: 11.5px; color: #64748b; margin-top: 2px; display: block; } /* Header */ .aq-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .aq-header-text { flex: 1 1 260px; } .aq-title { font-size: 20px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .aq-desc { font-size: 13.8px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #f0f9ff; color: #0369a1; border: 1px solid #bae6fd; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #0284c7; color: #ffffff; border-color: #0284c7; } /* Controls */ .aq-controls { display: flex; flex-direction: column; gap: 10px; margin-bottom: 18px; } .aq-presets { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; } .aq-preset-lbl { font-size: 12.5px; font-weight: 700; color: #475569; margin-right: 4px; } .aq-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; transition: all 0.15s ease; touch-action: manipulation; } .aq-pbtn:hover { background: #f1f5f9; border-color: #94a3b8; } .aq-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } .aq-domain-tabs { display: flex; flex-wrap: wrap; gap: 6px; } .aq-dtab { padding: 6px 12px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .aq-dtab.active { background: #0284c7; color: #ffffff; border-color: #0284c7; } /* Sticky Dashboard */ .aq-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .aq-wrap.is-fullscreen .aq-dash { top: 58px; } .aq-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .aq-score-big { font-size: 24px; font-weight: 800; line-height: 1; } .aq-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .aq-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .aq-bar-bg { height: 10px; background: #334155; border-radius: 5px; overflow: hidden; margin-bottom: 12px; } .aq-bar-fill { height: 100%; width: 0%; background: #10b981; transition: width 0.35s ease, background 0.35s ease; } .aq-pillars { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; font-size: 11.5px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .aq-pillar-box { background: #1e293b; padding: 7px 9px; border-radius: 8px; } .aq-pillar-val { font-weight: 700; color: #ffffff; font-size: 13px; display: block; margin-top: 2px; } /* Danh sách 50 câu hỏi */ .aq-q-item { border: 1px solid #e2e8f0; border-radius: 10px; padding: 14px 16px; margin-bottom: 12px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 10px; } .aq-q-item.trait-scored { border-color: #93c5fd; background: #f8fafc; } .aq-q-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; } .aq-q-text { font-size: 14.5px; font-weight: 600; color: #1e293b; line-height: 1.5; flex: 1; } .aq-q-tags { display: flex; flex-wrap: wrap; gap: 6px; } .aq-tag { font-size: 11px; font-weight: 600; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .aq-tag.dom-soc { background: #dbeafe; color: #1d4ed8; } .aq-tag.dom-swi { background: #fef3c7; color: #b45309; } .aq-tag.dom-det { background: #dcfce7; color: #15803d; } .aq-tag.dom-com { background: #f3e8ff; color: #7e22ce; } .aq-tag.dom-ima { background: #fce7f3; color: #be185d; } /* 4 nút lựa chọn Likert */ .aq-ans-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; } .aq-abtn { padding: 8px 6px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 600; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .aq-abtn:hover { border-color: #64748b; } .aq-abtn.sel-safe { background: #10b981; border-color: #10b981; color: #ffffff; font-weight: 700; } .aq-abtn.sel-mid { background: #f59e0b; border-color: #f59e0b; color: #ffffff; font-weight: 700; } .aq-abtn.sel-trait { background: #0284c7; border-color: #0284c7; color: #ffffff; font-weight: 700; } /* Biểu đồ 5 tiểu lĩnh vực & Kết luận */ .aq-chart-card { margin-top: 20px; padding: 16px 18px; border-radius: 12px; background: #ffffff; border: 1px solid #e2e8f0; } .aq-chart-title { font-size: 14.5px; font-weight: 700; color: #0f172a; margin-bottom: 12px; } .aq-bar-row { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; font-size: 12.5px; } .aq-bar-lbl { width: 175px; flex-shrink: 0; font-weight: 600; color: #334155; } .aq-bar-track { flex: 1; height: 16px; background: #f1f5f9; border-radius: 999px; overflow: hidden; } .aq-bar-val { width: 68px; text-align: right; font-weight: 700; color: #0f172a; flex-shrink: 0; } .aq-result-box { margin-top: 16px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #64748b; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 720px) { .aq-inner { padding: 14px; } .ver-switcher { grid-template-columns: 1fr; } .aq-title { font-size: 18px; } .aq-pillars { grid-template-columns: repeat(2, 1fr); } .aq-ans-grid { grid-template-columns: 1fr 1fr; } .aq-abtn { padding: 10px 8px; font-size: 12.5px; } .aq-bar-lbl { width: 125px; font-size: 11.5px; } .aq-pbtn.reset { margin-left: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
Bảng Đánh Giá AQ-Child Dành Cho Trẻ Em (4 – 11 Tuổi • Phụ Huynh Chấm)
Chuẩn hóa bởi Auyeung & Baron-Cohen (2008 - Đại học Cambridge). Phụ huynh chọn mức độ phù hợp với hành vi của bé. Mỗi câu được tính từ 0 đến 3 điểm (Tổng điểm tối đa: 150 điểm). Ngưỡng điểm cắt lâm sàng chuẩn: ≥ 76 điểm (Độ nhạy 95%, độ đặc hiệu 95%).
`; } else if (version === 'adolescent') { headerInfo.innerHTML = `Bảng Đánh Giá AQ-Adolescent Dành Cho Vị Thành Niên (12 – 15 Tuổi • Phụ Huynh Chấm)
Chuẩn hóa bởi Baron-Cohen et al. (2006 - Đại học Cambridge). Phụ huynh đánh giá con qua 50 câu hỏi chấm nhị phân 0 hoặc 1 điểm (Tổng điểm tối đa: 50 điểm). Ngưỡng điểm cắt lâm sàng chuẩn cho lứa tuổi 12–15: ≥ 30 điểm.
`; } else { headerInfo.innerHTML = `Bảng Tự Đánh Giá AQ-Adult Dành Cho Thanh Thiếu Niên Lớn & Người Lớn (Từ 16 Tuổi Trở Lên)
Chuẩn hóa bởi Baron-Cohen et al. (2001 - Đại học Cambridge). Người làm tự trả lời 50 câu hỏi theo quy tắc nhị phân 0 hoặc 1 điểm (Tổng điểm tối đa: 50 điểm). Ngưỡng sàng lọc phòng khám: ≥ 26 điểm • Ngưỡng chuẩn lâm sàng: ≥ 32 điểm.
`; } } function renderQuestions() { listEl.innerHTML = ''; const isParentReport = (version !== 'adult'); questions.forEach(function(q) { if (filterDom !== 'all' && q.dom !== filterDom) return; const uAns = answers[q.id] || null; const pts = getItemScore(q, uAns); const isHighTrait = (version === 'child') ? (pts >= 2) : (pts === 1); const dInfo = getDomInfo(q.dom); const item = document.createElement('div'); item.className = 'aq-q-item' + (isHighTrait ? ' trait-scored' : ''); const options = [ { code: 'DA', label: 'Hoàn toàn đồng ý' }, { code: 'SA', label: 'Đồng ý một phần' }, { code: 'SD', label: 'Không đồng ý một phần' }, { code: 'DD', label: 'Hoàn toàn không đồng ý' } ]; const btnsHtml = options.map(opt => { const optPts = getItemScore(q, opt.code); let cls = 'aq-abtn'; if (uAns === opt.code) { if (version === 'child') { cls += (optPts >= 2) ? ' sel-trait' : (optPts === 1 ? ' sel-mid' : ' sel-safe'); } else { cls += (optPts === 1) ? ' sel-trait' : ' sel-safe'; } } const ptLabel = (version === 'child') ? ` (${optPts}đ)` : ` (${optPts}đ)`; return ``; }).join(''); const qText = isParentReport ? q.tc : q.ta; const ruleText = (version === 'child') ? (q.r === 'AGREE' ? 'Thang 0–3đ (Đồng ý hoàn toàn = 3đ)' : 'Thang 0–3đ (Không đồng ý hoàn toàn = 3đ)') : (q.r === 'AGREE' ? 'Đồng ý (Hoàn toàn/Một phần) = 1đ' : 'Không đồng ý (Hoàn toàn/Một phần) = 1đ'); item.innerHTML = `• Điểm số thấp hơn ngưỡng cảnh báo (60 điểm) và ngưỡng cắt chuẩn (≥ 76 điểm). Theo nghiên cứu của Auyeung & Baron-Cohen (2008), điểm trung bình ở nhóm trẻ phát triển điển hình là khoảng 41.8 điểm (Bé trai ~45.7đ, Bé gái ~37.7đ). `; } else if (total < 76) { color = '#f59e0b'; badgeTxt = `VÙNG GIÁP RANH (${total}/150đ)`; analysis = ` Kết luận AQ-Child (4 – 11 tuổi) — Vùng Giáp Ranh Cần Lưu Ý (60 – 75 điểm: Đạt ${total}/150 điểm):
• Điểm số tiệm cận ngưỡng cắt chuẩn (≥ 76 điểm). Bé bộc lộ một số nét đặc trưng ở: Kỹ năng xã hội (${domScores.soc}/30), Chuyển đổi chú ý (${domScores.swi}/30), Chú ý chi tiết (${domScores.det}/30), Giao tiếp (${domScores.com}/30), Trí tưởng tượng (${domScores.ima}/30).
• Khuyến nghị: Nên kết hợp đối chiếu thêm với thang CAST hoặc ASSQ (do giáo viên đánh giá) để theo dõi khả năng hòa nhập học đường của bé. `; } else { color = '#ef4444'; badgeTxt = `VƯỢT NGƯỠNG AQ-CHILD (≥ 76: ${total}/150đ)`; analysis = ` Kết luận AQ-Child (4 – 11 tuổi) — Vượt Ngưỡng Điểm Cắt Lâm Sàng (≥ 76 điểm: Đạt ${total}/150 điểm):
• Theo nghiên cứu chuẩn hóa tại Đại học Cambridge, ngưỡng ≥ 76/150 điểm có độ nhạy và độ đặc hiệu lên tới 95% trong việc nhận diện trẻ thuộc Phổ tự kỷ / Tự kỷ chức năng cao (Asperger).
• Hướng xử trí chuẩn: Gia đình nên đưa bé đi khám và đánh giá chẩn đoán chuyên sâu bằng ADOS-2 (Module 3), ADI-R và đánh giá năng lực thích ứng Vineland-3 để xây dựng kế hoạch hỗ trợ kỹ năng xã hội sớm. `; } } else if (version === 'adolescent') { // Ngưỡng AQ-Adolescent (0 - 50, cut-off >= 30) if (total < 24) { color = '#10b981'; badgeTxt = `MỨC ĐIỂN HÌNH (${total}/50đ)`; analysis = ` Kết luận AQ-Adolescent (12 – 15 tuổi) — Trong phạm vi điển hình (${total}/50 điểm):
• Điểm số thấp hơn ngưỡng giáp ranh (24 điểm) và ngưỡng cắt chuẩn dành cho lứa tuổi vị thành niên (≥ 30 điểm). `; } else if (total < 30) { color = '#f59e0b'; badgeTxt = `VÙNG GIÁP RANH (${total}/50đ)`; analysis = ` Kết luận AQ-Adolescent (12 – 15 tuổi) — Vùng Cảnh Báo Giáp Ranh (24 – 29 điểm: Đạt ${total}/50 điểm):
• Điểm số tiệm cận ngưỡng cắt chuẩn (≥ 30 điểm). Ở lứa tuổi THCS (12–15 tuổi), các áp lực về giao tiếp nhóm bạn phức tạp có thể làm bộc lộ rõ khó khăn ở mục Kỹ năng xã hội (${domScores.soc}/10) và Chuyển đổi chú ý (${domScores.swi}/10). Khuyến nghị đối chiếu thêm thang ASSQ từ giáo viên và tham vấn chuyên gia tâm lý. `; } else { color = '#ef4444'; badgeTxt = `VƯỢT NGƯỠNG AQ-ADOLESCENT (≥ 30: ${total}/50đ)`; analysis = ` Kết luận AQ-Adolescent (12 – 15 tuổi) — Vượt Ngưỡng Điểm Cắt Lâm Sàng (≥ 30 điểm: Đạt ${total}/50 điểm):
• Theo nghiên cứu của Baron-Cohen et al. (2006), gần 90% thanh thiếu niên có chẩn đoán Tự kỷ chức năng cao / Asperger có điểm AQ-Adolescent từ 30/50 trở lên.
• Hướng xử trí chuẩn: Khuyến nghị chuyển gửi đánh giá chẩn đoán chuyên khoa (ADOS-2 Module 3/4, DSM-5, Vineland-3) để hỗ trợ kỹ năng điều tiết cảm xúc và giao tiếp xã hội tuổi dậy thì. `; } } else { // Ngưỡng AQ-Adult (0 - 50, sàng lọc >= 26, chuẩn >= 32) if (total < 26) { color = '#10b981'; badgeTxt = `DƯỚI NGƯỠNG SÀNG LỌC (${total}/50đ)`; analysis = ` Kết luận AQ-Adult (Từ 16 tuổi trở lên) — Dưới ngưỡng sàng lọc lâm sàng (${total}/50 điểm):
• Điểm số nằm dưới ngưỡng sàng lọc phòng khám (26 điểm) và ngưỡng chuẩn (32 điểm). (Mức từ 22–25 điểm thường gặp ở những người có tư duy hệ thống hóa/phân tích kỹ thuật mạnh nhưng vẫn hòa nhập xã hội tốt). `; } else if (total < 32) { color = '#f59e0b'; badgeTxt = `VÙNG GIÁP RANH LÂM SÀNG (${total}/50đ)`; analysis = ` Kết luận AQ-Adult (Từ 16 tuổi trở lên) — Vùng Giáp Ranh / Ngưỡng Sàng Lọc Nhạy (26 – 31 điểm: Đạt ${total}/50 điểm):
• Vượt ngưỡng sàng lọc phòng khám ($\ge 26$ điểm theo Woodbury-Smith et al., 2005). Nếu các đặc điểm này gây căng thẳng hoặc cản trở trong công việc, học tập và các mối quan hệ xã hội, bạn nên tham vấn chuyên gia tâm lý lâm sàng. `; } else { color = '#ef4444'; badgeTxt = `VƯỢT NGƯỠNG CHUẨN AQ (≥ 32: ${total}/50đ)`; analysis = ` Kết luận AQ-Adult (Từ 16 tuổi trở lên) — Vượt Ngưỡng Điểm Cắt Lâm Sàng Chuẩn ($\ge 32$ điểm: Đạt ${total}/50 điểm):
• Khoảng 80% người trưởng thành thuộc Phổ tự kỷ chức năng cao / Asperger đạt mức điểm từ 32 trở lên trên thang AQ.
• Khuyến nghị: Có thể sử dụng bảng kết quả 5 tiểu lĩnh vực này để trao đổi trực tiếp với bác sĩ chuyên khoa Tâm thần / Chuyên gia Tâm lý lâm sàng nhằm thực hiện đánh giá chẩn đoán chính thức (ADOS-2 Module 4). `; } } barFillEl.style.background = color; badgeEl.textContent = badgeTxt; badgeEl.style.background = color; badgeEl.style.color = '#ffffff'; resBoxEl.style.borderLeftColor = color; resBoxEl.innerHTML = analysis; updateFloatingFabVisibility(); } function applyPreset(type) { answers = {}; if (type === 'reset') { renderQuestions(); updateSummary(); return; } // Đặt toàn bộ về mức 0 điểm trước questions.forEach(function(q) { answers[q.id] = (q.r === 'AGREE') ? 'DD' : 'DA'; }); if (type === 'typical') { // Mức điển hình (~42/150 ở Child, ~16/50 ở Adolescent/Adult) questions.forEach(function(q, idx) { if (idx % 3 === 0) { // 1 điểm ở Child, 0 điểm ở Adult answers[q.id] = (q.r === 'AGREE') ? 'SD' : 'SA'; } }); [2, 4, 5, 6, 9, 12, 13, 19, 23, 28, 29, 30, 32, 34, 41, 43].forEach(function(id) { const q = questions[id - 1]; answers[id] = (q.r === 'AGREE') ? 'SA' : 'SD'; }); } else if (type === 'border') { // Mức giáp ranh (~68/150 ở Child, 27/50 ở Adolescent/Adult) [ 1, 2, 4, 5, 6, 7, 9, 10, 11, 12, 13, 16, 17, 18, 19, 20, 22, 23, 25, 26, 28, 32, 33, 35, 39, 41, 43 ].forEach(function(id, idx) { const q = questions[id - 1]; const strong = (idx % 2 === 0); if (q.r === 'AGREE') answers[id] = strong ? 'DA' : 'SA'; else answers[id] = strong ? 'DD' : 'SD'; }); } else if (type === 'asd') { // Mức vượt ngưỡng cao (~98/150 ở Child, 38/50 ở Adolescent/Adult) [ 1, 2, 4, 5, 6, 7, 9, 10, 11, 12, 13, 15, 16, 17, 18, 19, 20, 22, 23, 25, 26, 27, 28, 31, 32, 33, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 45, 46 ].forEach(function(id, idx) { const q = questions[id - 1]; const strong = (idx % 3 !== 0); if (q.r === 'AGREE') answers[id] = strong ? 'DA' : 'SA'; else answers[id] = strong ? 'DD' : 'SD'; }); } renderQuestions(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); aqWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { aqWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 940px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } // Sự kiện chuyển đổi 3 phiên bản độ tuổi (Child / Adolescent / Adult) shadow.querySelectorAll('#verSwitcher .ver-btn').forEach(function(btn) { btn.onclick = function() { version = this.getAttribute('data-ver'); shadow.querySelectorAll('#verSwitcher .ver-btn').forEach(b => b.classList.remove('active')); this.classList.add('active'); renderHeader(); renderQuestions(); updateSummary(); }; }); shadow.querySelectorAll('.aq-pbtn').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-preset')); }; }); shadow.querySelectorAll('#domainTabs .aq-dtab').forEach(function(tab) { tab.onclick = function() { filterDom = this.getAttribute('data-dom'); shadow.querySelectorAll('#domainTabs .aq-dtab').forEach(t => t.classList.remove('active')); this.classList.add('active'); renderQuestions(); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); renderHeader(); applyPreset('asd'); })();
AQ (Autism-Spectrum Quotient — Chỉ số Phổ Tự kỷ) là công cụ sàng lọc chuẩn hóa nổi tiếng nhất thế giới dùng để đo lường mức độ hiện diện của các đặc điểm thuộc phổ tự kỷ ở những người có trí tuệ bình thường (IQ ≥85). Công cụ này do Giáo sư Simon Baron-Cohen và cộng sự tại Trung tâm Nghiên cứu Tự kỷ (ARC) — Đại học Cambridge (Anh)phát triển năm 2001.
1. Tóm tắt cốt lõi về công cụ AQ
-
Mục đích lâm sàng: Đo lường xem một cá nhân có các nét đặc trưng thuộc Phổ tự kỷ / Tự kỷ chức năng cao (Asperger) ở mức độ nào trên một dải liên tục từ dân số điển hình đến ngưỡng lâm sàng.
-
Các phiên bản theo độ tuổi:
-
AQ-Adult (Phiên bản chuẩn phổ biến nhất): Dành cho người từ 16 tuổi trở lên tự đánh giá (Self-report).
-
AQ-Adolescent (12 – 15 tuổi) & AQ-Child (4 – 11 tuổi): Do phụ huynh đánh giá.
-
AQ-10: Bản rút gọn gồm 10 câu hỏi dùng để sàng lọc nhanh tại phòng khám đa khoa.
-
-
Cấu trúc 50 câu hỏi & 5 tiểu lĩnh vực (Mỗi lĩnh vực 10 câu):
-
Kỹ năng xã hội (Social Skills): Mức độ thoải mái và tự tin trong các tình huống giao tiếp xã hội, kết bạn,tiệc tùng.
-
Chuyển đổi sự chú ý (Attention Switching): Tính linh hoạt khi thay đổi kế hoạch, làm nhiều việc cùng lúc hoặc chuyển sang hoạt động mới.
-
Chú ý đến chi tiết (Attention to Detail): Xu hướng nhận ra các chi tiết nhỏ, con số, ngày tháng, quy luật hay hoa văn mà người khác thường bỏ qua.
-
Giao tiếp (Communication): Khả năng hiểu hàm ý, lời nói lịch sự xã giao, duy trì hội thoại qua lại và đọc ngôn ngữ cơ thể.
-
Trí tưởng tượng (Imagination): Khả năng hình dung câu chuyện giả tưởng, nhập vai nhân vật và suy đoán cảm xúc/ý định của người khác (Thuyết tâm trí).
-
-
Cách tính điểm chuẩn Baron-Cohen (Thang 0 – 50 điểm):
-
Người làm chọn 1 trong 4 mức: Hoàn toàn đồng ý • Đồng ý một phần • Không đồng ý một phần • Hoàn toàn không đồng ý.
-
Quy tắc nhị phân (0 hoặc 1 điểm): Để tránh sai lệch do xu hướng chọn mức cực đoan hay trung dung,phương pháp gốc của Baron-Cohen tính 1 điểm cho cả mức “Hoàn toàn…” lẫn “Một phần…” nếu câu trả lời đi theo chiều hướng đặc điểm tự kỷ:
-
24 câu thuận (Chọn Đồng ý = 1 điểm): Câu 2, 4, 5, 6, 7, 9, 12, 13, 16, 18, 19, 20, 21, 22, 23, 26, 33,35, 39, 41, 42, 43, 45, 46.
-
26 câu nghịch (Chọn Không đồng ý = 1 điểm): Câu 1, 3, 8, 10, 11, 14, 15, 17, 24, 25, 27, 28, 29, 30,31, 32, 34, 36, 37, 38, 40, 44, 47, 48, 49, 50.
-
-
-
Các mốc điểm tham chiếu lâm sàng (Cut-off Scores):
-
0 – 25 điểm: Mức trung bình trong dân số chung (Điểm trung bình của nhóm đối chứng là ~16.4 điểm: Nam ~17.8, Nữ ~15.4).
-
26 – 31 điểm: Ngưỡng giáp ranh / Sàng lọc lâm sàng (Nghiên cứu của Woodbury-Smith và cộng sự cho thấy ngưỡng rất nhạy để sàng lọc tại phòng khám).
-
32 – 50 điểm: Ngưỡng điểm cắt chuẩn ( điểm) — Khoảng 80% người được chẩn đoán Tự kỷ chức năng cao / Asperger có điểm từ 32 trở lên (trong khi chỉ có 2% dân số chung đạt mức này).
-
[Tự kỷ] RAADS-R: Thang đo sàng lọc và hỗ trợ chẩn đoán tự kỷ ở người trưởng thành (> 16 tuổi)
(function() { const host = document.getElementById('raads-wp-host'); if (!host) return; const placeholder = document.createComment('raads-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // Danh sách 17 câu đảo ngược chuẩn RAADS-R (Chọn "Không bao giờ đúng" = 3 điểm) // 1, 6, 11, 18, 23, 26, 33, 37, 43, 47, 48, 53, 58, 62, 68, 72, 77 // dom: 'soc' (Quan hệ xã hội - 39 câu), 'cir' (Sở thích thu hẹp - 14 câu), 'lan' (Ngôn ngữ - 7 câu), 'sen' (Giác quan & Vận động - 20 câu) const questions = [ { id: 1, rev: true, dom: 'soc', t: 'Tôi là một người giàu lòng trắc ẩn và dễ đồng cảm với người khác.' }, { id: 2, rev: false, dom: 'lan', t: 'Tôi thường sử dụng các từ và cụm từ học được từ phim ảnh hoặc tivi khi trò chuyện hàng ngày.' }, { id: 3, rev: false, dom: 'soc', t: 'Tôi thường bất ngờ khi người khác nói rằng tôi đã cư xử thô lỗ hoặc thiếu tế nhị.' }, { id: 4, rev: false, dom: 'sen', t: 'Đôi khi tôi nói quá to hoặc quá nhỏ mà bản thân không hề nhận ra.' }, { id: 5, rev: false, dom: 'soc', t: 'Tôi thường không biết phải cư xử như thế nào trong các tình huống xã hội.' }, { id: 6, rev: true, dom: 'soc', t: 'Tôi có thể dễ dàng đặt mình vào vị trí của người khác để hiểu cảm giác của họ.' }, { id: 7, rev: false, dom: 'lan', t: 'Tôi gặp khó khăn trong việc hiểu nghĩa bóng như các thành ngữ, tục ngữ hoặc lời nói ẩn dụ.' }, { id: 8, rev: false, dom: 'soc', t: 'Tôi chỉ thích nói chuyện với những người có cùng sở thích đặc biệt với mình.' }, { id: 9, rev: false, dom: 'cir', t: 'Tôi tập trung vào các chi tiết nhỏ hơn là ý tưởng tổng thể.' }, { id: 10, rev: false, dom: 'sen', t: 'Tôi luôn chú ý rất rõ đến cảm giác của thức ăn ở trong miệng mình.' }, { id: 11, rev: true, dom: 'soc', t: 'Tôi nhớ đến bạn bè và gia đình khi chúng tôi phải xa nhau.' }, { id: 12, rev: false, dom: 'soc', t: 'Đôi khi tôi vô tình xúc phạm người khác vì nói thẳng tuột những gì mình đang nghĩ.' }, { id: 13, rev: false, dom: 'cir', t: 'Tôi chỉ thích suy nghĩ và nói về một vài chủ đề mà tôi thực sự quan tâm.' }, { id: 14, rev: false, dom: 'soc', t: 'Khi đi ăn ở nhà hàng, tôi thích đi một mình hơn là đi cùng với người khác.' }, { id: 15, rev: false, dom: 'lan', t: 'Tôi không thể hình dung ra cảm giác sẽ như thế nào nếu mình trở thành một người khác.' }, { id: 16, rev: false, dom: 'sen', t: 'Tôi từng được bảo rằng mình có dáng đi hoặc tư thế hơi vụng về, thiếu phối hợp.' }, { id: 17, rev: false, dom: 'soc', t: 'Người khác thường coi tôi là người kỳ lạ hoặc khác biệt.' }, { id: 18, rev: true, dom: 'soc', t: 'Tôi hiểu rõ khi nào bạn bè của mình cần được vỗ về, an ủi.' }, { id: 19, rev: false, dom: 'sen', t: 'Tôi rất nhạy cảm với cảm giác của quần áo khi chạm vào da mình (như mác áo, chất vải thô).' }, { id: 20, rev: false, dom: 'soc', t: 'Tôi thích bắt chước cách hành động và nói năng của một số người để giúp mình trông có vẻ bình thường hơn.' }, { id: 21, rev: false, dom: 'soc', t: 'Tôi cảm thấy rất lo lắng, căng thẳng khi phải nói chuyện với nhiều hơn một người cùng lúc.' }, { id: 22, rev: false, dom: 'soc', t: 'Tôi phải tự ép mình "hành xử bình thường" để làm hài lòng người khác và khiến họ quý mến mình.' }, { id: 23, rev: true, dom: 'soc', t: 'Việc gặp gỡ và làm quen với những người mới đối với tôi thường khá dễ dàng.' }, { id: 24, rev: false, dom: 'cir', t: 'Tôi bị bối rối hoặc khó chịu khi có ai đó làm gián đoạn lúc tôi đang nói về chủ đề mình yêu thích.' }, { id: 25, rev: false, dom: 'soc', t: 'Tôi thấy khó hiểu được cảm giác của người khác khi chúng tôi đang trò chuyện.' }, { id: 26, rev: true, dom: 'soc', t: 'Tôi thích trò chuyện cùng với nhiều người xung quanh một bàn ăn hoặc trong một nhóm bạn.' }, { id: 27, rev: false, dom: 'lan', t: 'Tôi hiểu mọi thứ theo đúng nghĩa đen, vì vậy tôi thường bỏ lỡ ẩn ý của người đang nói.' }, { id: 28, rev: false, dom: 'soc', t: 'Tôi thấy rất khó nhận biết khi nào một người đang cảm thấy xấu hổ, ghen tị hoặc bối rối.' }, { id: 29, rev: false, dom: 'sen', t: 'Một số kết cấu bề mặt bình thường không làm phiền người khác nhưng lại khiến tôi vô cùng khó chịu khi chạm vào.' }, { id: 30, rev: false, dom: 'cir', t: 'Tôi trở nên cực kỳ bức bối khi cách thức tôi vẫn thường làm mọi việc bị thay đổi đột ngột.' }, { id: 31, rev: false, dom: 'soc', t: 'Tôi chưa bao giờ muốn hoặc cần có một mối quan hệ được gọi là "tình cảm thân mật".' }, { id: 32, rev: false, dom: 'cir', t: 'Tôi rất khó bắt đầu hoặc dừng lại một cuộc trò chuyện cho đến khi tôi đã nói xong hết ý của mình.' }, { id: 33, rev: true, dom: 'sen', t: 'Tôi nói chuyện với nhịp điệu và tông giọng tự nhiên, bình thường.' }, { id: 34, rev: false, dom: 'sen', t: 'Cùng một âm thanh, màu sắc hoặc kết cấu có thể đột ngột chuyển từ rất nhạy cảm sang hoàn toàn không cảm thấy gì.' }, { id: 35, rev: false, dom: 'lan', t: 'Cụm từ "Anh ấy làm tôi cảm thấy..." hay các câu ẩn dụ cảm xúc tương tự thường làm tôi thấy khó hiểu.' }, { id: 36, rev: false, dom: 'sen', t: 'Đôi khi âm thanh của một từ ngữ hoặc tiếng ồn cao vút có thể gây đau đớn cho tai của tôi.' }, { id: 37, rev: true, dom: 'soc', t: 'Tôi là một người dễ cảm thông và thấu hiểu.' }, { id: 38, rev: false, dom: 'soc', t: 'Tôi không cảm thấy kết nối về mặt cảm xúc với các nhân vật trong phim và không thể cảm nhận những gì họ trải qua.' }, { id: 39, rev: false, dom: 'soc', t: 'Tôi không thể nhận ra khi nào có ai đó đang tán tỉnh mình.' }, { id: 40, rev: false, dom: 'cir', t: 'Tôi có thể hình dung cực kỳ chi tiết trong tâm trí về những thứ mà tôi quan tâm.' }, { id: 41, rev: false, dom: 'cir', t: 'Tôi có lưu giữ các danh sách về những thứ làm tôi thích thú, ngay cả khi chúng không có giá trị sử dụng thực tế.' }, { id: 42, rev: false, dom: 'sen', t: 'Khi tôi cảm thấy bị quá tải bởi các giác quan, tôi phải tự cô lập bản thân để ngắt bớt các kích thích đó.' }, { id: 43, rev: true, dom: 'soc', t: 'Tôi thích tâm sự và thảo luận mọi chuyện với bạn bè của mình.' }, { id: 44, rev: false, dom: 'soc', t: 'Tôi không thể phân biệt được liệu ai đó đang quan tâm hay đang chán ngấy những gì tôi đang nói.' }, { id: 45, rev: false, dom: 'soc', t: 'Rất khó để tôi đọc được nét mặt, ngôn ngữ cơ thể và cử chỉ tay chân khi ai đó đang nói chuyện.' }, { id: 46, rev: false, dom: 'sen', t: 'Cùng một thứ (như quần áo hoặc nhiệt độ) có thể cho tôi cảm giác hoàn toàn khác nhau vào những thời điểm khác nhau.' }, { id: 47, rev: true, dom: 'soc', t: 'Tôi cảm thấy rất thoải mái khi hẹn hò hoặc tham gia các hoạt động giao lưu xã hội.' }, { id: 48, rev: true, dom: 'soc', t: 'Tôi cố gắng giúp đỡ người khác một cách tự nhiên khi họ đang nói về vấn đề khó khăn của mình.' }, { id: 49, rev: false, dom: 'sen', t: 'Tôi từng được nhận xét là có giọng nói khác thường (ví dụ: giọng phẳng lì đều đều, trẻ con hoặc cao vút).' }, { id: 50, rev: false, dom: 'cir', t: 'Đôi khi một ý nghĩ hoặc một chủ đề cứ mắc kẹt trong đầu tôi và tôi buộc phải nói về nó ngay cả khi không ai quan tâm.' }, { id: 51, rev: false, dom: 'sen', t: 'Tôi thường làm một số cử động tay lặp đi lặp lại (như vẫy nhẹ, xoắn ngón tay, nhịp tay hoặc xoay đồ vật).' }, { id: 52, rev: false, dom: 'cir', t: 'Tôi chưa bao giờ thấy hứng thú với những gì hầu hết mọi người xung quanh coi là thú vị.' }, { id: 53, rev: true, dom: 'soc', t: 'Tôi được mọi người xem là một người có tính cách ấm áp và thân thiện.' }, { id: 54, rev: false, dom: 'soc', t: 'Tôi giao tiếp với người khác bằng cách làm theo một bộ các quy tắc cố định mà tôi phải tự ghi nhớ.' }, { id: 55, rev: false, dom: 'soc', t: 'Rất khó để tôi biết phải làm thế nào khi làm việc hoặc sinh hoạt trong một nhóm.' }, { id: 56, rev: false, dom: 'cir', t: 'Khi tôi đang nói chuyện với ai đó, rất khó để chuyển sang chủ đề khác ngoài chủ đề hiện tại.' }, { id: 57, rev: false, dom: 'sen', t: 'Đôi khi tôi phải lấy tay bịt tai lại để chặn bớt những tiếng ồn gây đau tai (như tiếng máy hút bụi, tiếng còi, đám đông).' }, { id: 58, rev: true, dom: 'lan', t: 'Tôi có thể tán gẫu và nói chuyện phiếm một cách dễ dàng với mọi người.' }, { id: 59, rev: false, dom: 'sen', t: 'Đôi khi những thứ đáng lẽ phải gây đau đớn (như khi tôi tự làm mình bị thương) lại không làm tôi thấy đau.' }, { id: 60, rev: false, dom: 'soc', t: 'Khi nói chuyện với một ai đó, tôi gặp khó khăn trong việc biết khi nào đến lượt mình nói hoặc lượt mình lắng nghe.' }, { id: 61, rev: false, dom: 'soc', t: 'Những người hiểu rõ tôi thường coi tôi là một người sống khép kín, tách biệt.' }, { id: 62, rev: true, dom: 'sen', t: 'Tôi thường nhìn thẳng vào mắt người đối diện một cách tự nhiên khi trò chuyện.' }, { id: 63, rev: false, dom: 'cir', t: 'Tôi thích mọi thứ phải diễn ra chính xác như cũ từ ngày này qua ngày khác và ngay cả những thay đổi nhỏ cũng làm tôi phiền lòng.' }, { id: 64, rev: false, dom: 'soc', t: 'Làm thế nào để kết bạn và giữ gìn tình bạn luôn là một điều bí ẩn khó hiểu đối với tôi.' }, { id: 65, rev: false, dom: 'sen', t: 'Việc xoay tròn người, đung đưa cơ thể hoặc nhịp chân giúp tôi tự làm dịu bản thân khi cảm thấy quá tải.' }, { id: 66, rev: false, dom: 'lan', t: 'Cụm từ "Mang trái tim trên tay áo" (bộc lộ cảm xúc ra ngoài) không có ý nghĩa gì đối với tôi khi nghĩ về nó.' }, { id: 67, rev: false, dom: 'sen', t: 'Nếu tôi ở một nơi có quá nhiều mùi hương, kết cấu bề mặt chạm vào da, tiếng ồn hoặc ánh sáng chói, tôi cảm thấy lo âu hoặc đơ cứng.' }, { id: 68, rev: true, dom: 'soc', t: 'Tôi có thể nhận biết khi nào một ai đó nói một đằng nhưng thực tâm lại có ý một nẻo.' }, { id: 69, rev: false, dom: 'soc', t: 'Tôi thích được ở một mình càng nhiều càng tốt.' }, { id: 70, rev: false, dom: 'cir', t: 'Tôi cất giữ những suy nghĩ trong tâm trí giống như xếp trên các thẻ ghi chú và lấy ra đúng tấm thẻ cần tìm khi muốn.' }, { id: 71, rev: false, dom: 'sen', t: 'Cùng một âm thanh có thể lúc thì nghe rất to nhưng lúc khác lại nghe rất nhỏ.' }, { id: 72, rev: true, dom: 'soc', t: 'Tôi thích dành thời gian ăn uống và trò chuyện cùng với gia đình và bạn bè.' }, { id: 73, rev: false, dom: 'sen', t: 'Tôi không thể chịu đựng được những thứ mà tôi không thích (như một số mùi hương, kết cấu vải, âm thanh hoặc màu sắc).' }, { id: 74, rev: false, dom: 'sen', t: 'Tôi không thích được người khác ôm hoặc giữ chặt vào người.' }, { id: 75, rev: false, dom: 'cir', t: 'Khi đi đến bất cứ đâu, tôi đều phải đi theo một lộ trình quen thuộc, nếu không tôi sẽ cảm thấy rất bối rối và bồn chồn.' }, { id: 76, rev: false, dom: 'soc', t: 'Thật khó để hình dung được những người khác đang mong đợi điều gì ở tôi.' }, { id: 77, rev: true, dom: 'soc', t: 'Tôi thích việc có những người bạn thân thiết trong cuộc sống.' }, { id: 78, rev: false, dom: 'cir', t: 'Mọi người thường bảo rằng tôi kể quá nhiều chi tiết tỉ mỉ không cần thiết khi nói chuyện.' }, { id: 79, rev: false, dom: 'soc', t: 'Tôi thường được bảo rằng mình hay đặt những câu hỏi làm người khác ngượng ngùng, khó xử.' }, { id: 80, rev: false, dom: 'soc', t: 'Tôi có xu hướng chỉ ra những lỗi sai của người khác ngay lập tức mà không để ý đến cảm xúc của họ.' } ]; // answers[id] lưu 1 trong 4 mã thời điểm: // 'BOTH' (Đúng cả hiện tại & khi < 16 tuổi) // 'NOW' (Chỉ đúng ở hiện tại) // 'YNG' (Chỉ đúng khi < 16 tuổi) // 'NEV' (Không bao giờ đúng) let answers = {}; let filterDom = 'all'; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .rd-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .rd-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .rd-inner { padding: 24px; max-width: 940px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .rd-wrap.is-fullscreen .rd-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .rd-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(79, 70, 229, 0.45), 0 0 0 0 rgba(79, 70, 229, 0.4); } 70% { box-shadow: 0 6px 20px rgba(79, 70, 229, 0.45), 0 0 0 10px rgba(79, 70, 229, 0); } 100% { box-shadow: 0 6px 20px rgba(79, 70, 229, 0.45), 0 0 0 0 rgba(79, 70, 229, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #4338ca 0%, #4f46e5 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(79, 70, 229, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Header */ .rd-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .rd-header-text { flex: 1 1 260px; } .rd-title { font-size: 21px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .rd-desc { font-size: 14px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #eef2ff; color: #4338ca; border: 1px solid #c7d2fe; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #4f46e5; color: #ffffff; border-color: #4f46e5; } /* Controls */ .rd-controls { display: flex; flex-direction: column; gap: 10px; margin-bottom: 18px; } .rd-presets { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; } .rd-preset-lbl { font-size: 12.5px; font-weight: 700; color: #475569; margin-right: 4px; } .rd-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; transition: all 0.15s ease; touch-action: manipulation; } .rd-pbtn:hover { background: #f1f5f9; border-color: #94a3b8; } .rd-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } .rd-domain-tabs { display: flex; flex-wrap: wrap; gap: 6px; } .rd-dtab { padding: 6px 12px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .rd-dtab.active { background: #4f46e5; color: #ffffff; border-color: #4f46e5; } /* Sticky Dashboard */ .rd-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .rd-wrap.is-fullscreen .rd-dash { top: 58px; } .rd-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .rd-score-big { font-size: 24px; font-weight: 800; line-height: 1; } .rd-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .rd-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .rd-bar-bg { height: 10px; background: #334155; border-radius: 5px; overflow: hidden; margin-bottom: 12px; } .rd-bar-fill { height: 100%; width: 0%; background: #10b981; transition: width 0.35s ease, background 0.35s ease; } .rd-pillars { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; font-size: 11.5px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .rd-pillar-box { background: #1e293b; padding: 7px 10px; border-radius: 8px; } .rd-pillar-val { font-weight: 700; color: #ffffff; font-size: 13px; display: block; margin-top: 2px; } /* Danh sách 80 câu hỏi */ .rd-q-item { border: 1px solid #e2e8f0; border-radius: 10px; padding: 14px 16px; margin-bottom: 12px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 10px; } .rd-q-item.high-scored { border-color: #fda4af; background: #fff5f5; } .rd-q-item.mid-scored { border-color: #fde68a; background: #fffbeb; } .rd-q-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; } .rd-q-text { font-size: 14.5px; font-weight: 600; color: #1e293b; line-height: 1.5; flex: 1; } .rd-q-tags { display: flex; flex-wrap: wrap; gap: 6px; } .rd-tag { font-size: 11px; font-weight: 600; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .rd-tag.dom-soc { background: #dbeafe; color: #1d4ed8; } .rd-tag.dom-cir { background: #fef3c7; color: #b45309; } .rd-tag.dom-lan { background: #f3e8ff; color: #7e22ce; } .rd-tag.dom-sen { background: #dcfce7; color: #15803d; } .rd-tag.rev-tag { background: #fee2e2; color: #b91c1c; } /* 4 nút lựa chọn thời điểm RAADS-R */ .rd-ans-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; } .rd-abtn { padding: 8px 6px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 600; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .rd-abtn:hover { border-color: #64748b; } .rd-abtn.sel-0 { background: #10b981; border-color: #10b981; color: #ffffff; font-weight: 700; } .rd-abtn.sel-1 { background: #3b82f6; border-color: #3b82f6; color: #ffffff; font-weight: 700; } .rd-abtn.sel-2 { background: #f59e0b; border-color: #f59e0b; color: #ffffff; font-weight: 700; } .rd-abtn.sel-3 { background: #ef4444; border-color: #ef4444; color: #ffffff; font-weight: 700; } /* Biểu đồ 4 tiểu lĩnh vực & Kết luận */ .rd-chart-card { margin-top: 20px; padding: 16px 18px; border-radius: 12px; background: #ffffff; border: 1px solid #e2e8f0; } .rd-chart-title { font-size: 14.5px; font-weight: 700; color: #0f172a; margin-bottom: 12px; } .rd-bar-row { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; font-size: 12.5px; } .rd-bar-lbl { width: 210px; flex-shrink: 0; font-weight: 600; color: #334155; } .rd-bar-track { flex: 1; height: 16px; background: #f1f5f9; border-radius: 999px; overflow: hidden; } .rd-bar-val { width: 115px; text-align: right; font-weight: 700; color: #0f172a; flex-shrink: 0; } .rd-result-box { margin-top: 16px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #64748b; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 720px) { .rd-inner { padding: 14px; } .rd-title { font-size: 18px; } .rd-pillars { grid-template-columns: 1fr 1fr; } .rd-ans-grid { grid-template-columns: 1fr 1fr; } .rd-abtn { padding: 10px 8px; font-size: 12px; } .rd-bar-lbl { width: 130px; font-size: 11.5px; } .rd-bar-val { width: 95px; font-size: 11.5px; } .rd-pbtn.reset { margin-left: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
Thang Đo Chẩn Đoán Phổ Tự Kỷ & Asperger RAADS-R (80 Câu Hỏi • Từ 16 Tuổi Trở Lên)
Công cụ lâm sàng chuẩn hóa của Ritvo et al. (2011) đánh giá xuyên suốt dòng thời gian (trước 16 tuổi và hiện tại) trên thang 0 – 240 điểm. Hệ thống tự động đảo chiều điểm ở 17 câu nghịch và đối chiếu ngưỡng điểm cắt lâm sàng chuẩn (≥ 65 điểm).
• Tổng điểm thấp hơn cả ngưỡng giáp ranh (50 điểm) và ngưỡng điểm cắt chuẩn (≥ 65 điểm). Trong nghiên cứu gốc của Ritvo (2011), điểm trung bình của nhóm thần kinh điển hình là khoảng 26 điểm.
• Không ghi nhận tập hợp dấu hiệu Rối loạn phổ tự kỷ có ý nghĩa lâm sàng xuyên suốt quá trình phát triển. `; } else if (total < 65) { color = '#f59e0b'; badgeTxt = `VÙNG GIÁP RANH (${total}/240đ)`; analysis = ` Kết luận RAADS-R — Vùng Giáp Ranh Cần Lưu Ý (50 – 64 điểm: Đạt ${total}/240 điểm):
• Điểm số tiệm cận ngưỡng cắt chuẩn (≥ 65 điểm). Hồ sơ 4 tiểu lĩnh vực: Quan hệ xã hội (${domScores.soc}/117, ngưỡng ≥ 31) • Sở thích thu hẹp (${domScores.cir}/42, ngưỡng ≥ 15) • Ngôn ngữ (${domScores.lan}/21, ngưỡng ≥ 4) • Giác quan – Vận động (${domScores.sen}/60, ngưỡng ≥ 16).
• Nhận định: Một số cá nhân tự kỷ có mức độ ngụy trang xã hội cao hoặc người có lo âu xã hội / ADHD có thể rơi vào vùng điểm này. Khuyến nghị tham vấn chuyên gia tâm lý lâm sàng nếu các đặc điểm gây cản trở cuộc sống. `; } else if (total < 130) { color = '#ef4444'; badgeTxt = `VƯỢT NGƯỠNG CHUẨN RAADS-R (≥ 65: ${total}đ)`; analysis = ` Kết luận RAADS-R — Vượt Ngưỡng Điểm Cắt Lâm Sàng Chuẩn ($\ge 65$ điểm: Đạt ${total}/240 điểm):
• Kết quả dương tính trên thang RAADS-R (ngưỡng $\ge 65$ điểm có độ nhạy 97% trong nghiên cứu chuẩn hóa của Ritvo et al., 2011).
• Chi tiết 4 trụ cột: Quan hệ xã hội (${domScores.soc}/117) • Sở thích thu hẹp (${domScores.cir}/42) • Ngôn ngữ (${domScores.lan}/21) • Giác quan – Vận động (${domScores.sen}/60).
• Hướng xử trí: Kết quả này cung cấp cơ sở lâm sàng vững chắc để bạn thực hiện đánh giá chẩn đoán chính thức với Bác sĩ chuyên khoa Tâm thần / Chuyên gia Tâm lý lâm sàng (kết hợp phỏng vấn lịch sử phát triển và ADOS-2 Module 4). `; } else { color = '#dc2626'; badgeTxt = `MỨC ĐIỂN HÌNH PHỔ TỰ KỶ (${total}/240đ)`; analysis = ` Kết luận RAADS-R — Mức Điểm Đặc Trưng Của Phổ Tự Kỷ ($\ge 130$ điểm: Đạt ${total}/240 điểm):
• Tổng điểm của bạn tương đương hoặc cao hơn mức điểm trung bình của nhóm người trưởng thành được chẩn đoán Tự kỷ / Asperger trong nghiên cứu đa trung tâm quốc tế (~134/240 điểm).
• Sự hiện diện nhất quán của các đặc điểm từ thời thơ ấu ( setPoints(id, 2)); } else if (type === 'border') { // 58 điểm questions.forEach((q, idx) => { if (idx % 3 === 0) setPoints(q.id, 2); else if (idx % 7 === 0) setPoints(q.id, 1); }); } else if (type === 'masked') { // 86 điểm (Nhiều câu chọn "Chỉ đúng khi { if (idx % 2 === 0) setPoints(q.id, 1); }); [5, 8, 9, 13, 19, 20, 21, 22, 23, 27, 29, 30, 36, 40, 42, 45, 54, 57, 62, 64, 67, 69].forEach(id => { setPoints(id, 3); }); } else if (type === 'asd') { // 138 điểm (Hồ sơ ASD điển hình) questions.forEach((q, idx) => { if (idx % 2 === 0) setPoints(q.id, 3); else if (idx % 3 === 0) setPoints(q.id, 2); else setPoints(q.id, 1); }); } renderQuestions(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); rdWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { rdWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 940px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } shadow.querySelectorAll('.rd-pbtn').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-preset')); }; }); shadow.querySelectorAll('#domainTabs .rd-dtab').forEach(function(tab) { tab.onclick = function() { filterDom = this.getAttribute('data-dom'); shadow.querySelectorAll('#domainTabs .rd-dtab').forEach(t => t.classList.remove('active')); this.classList.add('active'); renderQuestions(); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); applyPreset('asd'); })();
RAADS-R (Ritvo Autism Asperger Diagnostic Scale-Revised — Thang đo Chẩn đoán Tự kỷ và Asperger Ritvo – Bản Hiệu đính) là công cụ lâm sàng chuyên sâu do Tiến sĩ Riva Ariella Ritvo và cộng sự (Đại học Yale & UCLA) phát triển năm 2011.
Đây là công cụ hàng đầu thế giới hiện nay dùng để hỗ trợ phát hiện các đặc điểm Rối loạn phổ tự kỷ ở người trưởng thành và thanh thiếu niên lớn (từ 16 tuổi trở lên) có trí tuệ bình thường (IQ ≥80) — đặc biệt là những trường hợp tự kỷ mức độ nhẹ / chức năng cao bị bỏ sót khi còn nhỏ nhờ khả năng “ngụy trang xã hội” (masking).
1. Tóm tắt cốt lõi về công cụ RAADS-R
-
Điểm vượt trội so với thang AQ: Nếu thang AQ chỉ hỏi về trạng thái hiện tại, thì RAADS-R đánh giá xuyên suốt dòng thời gian phát triển (so sánh hành vi trước 16 tuổi và hiện tại). Điều này cực kỳ quan trọng vì nhiều người lớn tự kỷ đã học cách bắt chước giao tiếp khi trưởng thành, nhưng hồi nhỏ (dưới 16 tuổi) lại bộc lộ triệu chứng rất rõ.
-
Độ nhạy và Độ đặc hiệu: Trong nghiên cứu đa trung tâm của Ritvo (2011), RAADS-R đạt độ nhạy 97% và độ đặc hiệu 100% tại ngưỡng điểm cắt chuẩn ().
-
Cấu trúc 80 câu hỏi & 4 Tiểu lĩnh vực:
-
Quan hệ xã hội (Social Relatedness — 39 câu): Khả năng thấu cảm, kết bạn, duy trì mối quan hệ, đọc ngôn ngữ cơ thể và tương tác nhóm (Ngưỡng cắt tiểu lĩnh vực: điểm).
-
Sở thích thu hẹp (Circumscribed Interests — 14 câu): Đam mê chuyên sâu, thói quen cố định, chú ý chi tiết và khó chịu khi thay đổi lịch trình (Ngưỡng cắt: điểm).
-
Ngôn ngữ (Language — 7 câu): Hiểu theo nghĩa đen, giọng điệu nói chuyện, khó hiểu ẩn dụ/nói đùa và kịch bản giao tiếp (Ngưỡng cắt: điểm).
-
Giác quan – Vận động (Sensorimotor — 20 câu): Nhạy cảm quá mức với âm thanh, ánh sáng, kết cấu quần áo/thức ăn, phối hợp vận động và cử động định hình (Ngưỡng cắt: ≥16 điểm).
-
-
Quy tắc chấm điểm (Thang 0 – 240 điểm):
-
Mỗi câu có 4 mốc thời gian để chọn:
-
Đúng ở cả hiện tại và khi < 16 tuổi -
Chỉ đúng ở hiện tại -
Chỉ đúng khi tôi < 16 tuổi -
Không bao giờ đúng
-
-
63 câu thuận (mô tả đặc điểm tự kỷ): Chấm lần lượt 3 – 2 – 1 – 0 điểm.
-
17 câu đảo ngược (Normative items): Câu số 1, 6, 11, 18, 23, 26, 33, 37, 43, 47, 48, 53, 58, 62, 68, 72, 77(mô tả kỹ năng xã hội điển hình): Chấm đảo chiều 0 – 1 – 2 – 3 điểm (Chọn “Không bao giờ đúng” = 3 điểm).
-
-
Các mốc điểm tham chiếu lâm sàng (Cut-off Scores):
-
0 – 49 điểm: Dưới ngưỡng lâm sàng (Trung bình dân số thần kinh điển hình ~26 điểm).
-
50 – 64 điểm: Vùng giáp ranh — Có một số đặc điểm phổ tự kỷ nhưng chưa vượt ngưỡng chuẩn.
-
65 – 129 điểm: Vượt ngưỡng điểm cắt lâm sàng chuẩn ( điểm) — Gợi ý khả năng cao thuộc Phổ tự kỷ.
-
130 – 240 điểm: Mức điểm điển hình của người trưởng thành tự kỷ (Điểm trung bình của nhóm ASD trong nghiên cứu gốc là ~134 điểm).
-
[Phát triển chung] ASQ-3: Bộ câu hỏi sàng lọc phát triển toàn diện theo độ tuổi (1 – 66 tháng)
(function() { const host = document.getElementById('asq3-wp-host'); if (!host) return; const placeholder = document.createComment('asq3-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // Cấu hình 5 Lĩnh vực chuẩn của ASQ-3 (Mỗi lĩnh vực 6 câu x 10đ = 60 điểm tối đa) const domConfigs = { com: { code: 'com', name: '1. Giao tiếp (Communication)', color: '#2563eb' }, gm: { code: 'gm', name: '2. Vận động Thô (Gross Motor)', color: '#10b981' }, fm: { code: 'fm', name: '3. Vận động Tinh (Fine Motor)', color: '#0d9488' }, psv: { code: 'psv', name: '4. Giải quyết Vấn đề (Problem Solving)', color: '#f59e0b' }, psc: { code: 'psc', name: '5. Cá nhân – Xã hội (Personal-Social)', color: '#7c3aed' } }; // Dữ liệu các Bộ câu hỏi chuẩn ASQ-3 theo từng Mốc Tháng Tuổi trọng điểm kèm Ngưỡng Cắt (cutoff: -2 SD, monitor: -1 SD) const ageForms = { m6: { code: 'm6', label: '👶 Mốc 6 Tháng (5 – 6 tháng 30 ngày)', cutoffs: { com: { cut: 29.65, mon: 40.80 }, gm: { cut: 22.25, mon: 34.10 }, fm: { cut: 25.14, mon: 37.60 }, psv: { cut: 27.72, mon: 39.50 }, psc: { cut: 25.34, mon: 37.20 } }, items: [ // Giao tiếp (6m) { id: 1, dom: 'com', t: 'Bé có phát ra những âm thanh cao vút (reo lên thích thú) không?' }, { id: 2, dom: 'com', t: 'Khi tự chơi với âm thanh, bé có phát ra các tiếng gầm gừ, lầu bầu hoặc các âm trầm trong cổ họng không?' }, { id: 3, dom: 'com', t: 'Nếu bạn gọi bé khi bạn đang ở khuất tầm mắt, bé có nhìn về phía phát ra giọng nói của bạn không?' }, { id: 4, dom: 'com', t: 'Khi có tiếng động lớn bất ngờ, bé có quay đầu nhìn về phía phát ra âm thanh đó không?' }, { id: 5, dom: 'com', t: 'Bé có phát ra các âm thanh như "đa", "ga", "ca", "ba" không?' }, { id: 6, dom: 'com', t: 'Nếu bạn bắt chước lại đúng những âm thanh bé vừa phát ra, bé có lặp lại những âm thanh đó với bạn không?' }, // Vận động thô (6m) { id: 7, dom: 'gm', t: 'Khi nằm ngửa, bé có giơ cao chân lên và dùng tay nắm lấy bàn chân của mình không?' }, { id: 8, dom: 'gm', t: 'Khi đang nằm sấp, bé có tự duỗi thẳng cả hai cánh tay để đẩy nâng toàn bộ phần ngực rời khỏi mặt sàn không?' }, { id: 9, dom: 'gm', t: 'Bé có tự lẫy từ tư thế nằm ngửa sang nằm sấp và từ nằm sấp sang nằm ngửa được không?' }, { id: 10, dom: 'gm', t: 'Khi bạn đặt bé ngồi trên sàn, bé có thể tự chống hai bàn tay xuống sàn phía trước để ngồi vững trong 5 giây không?' }, { id: 11, dom: 'gm', t: 'Khi bạn giữ hai bên nách cho bé đứng, bé có chịu được sức nặng cơ thể trên đôi chân và nhún nhảy lên xuống không?' }, { id: 12, dom: 'gm', t: 'Bé có thể vào tư thế bò (chống trên hai bàn tay và hai đầu gối) được không?' }, // Vận động tinh (6m) { id: 13, dom: 'fm', t: 'Bé có với lấy và cầm giữ một món đồ chơi bằng cả hai bàn tay cùng lúc không?' }, { id: 14, dom: 'fm', t: 'Ketika nằm ngửa, bé có đưa tay chạm hoặc nắm lấy một món đồ chơi nhỏ đưa ngang tầm ngực không?' }, { id: 15, dom: 'fm', t: 'Bé có tự cầm lấy một món đồ chơi nhỏ bằng một bàn tay (dùng cả lòng bàn tay và các ngón tay) không?' }, { id: 16, dom: 'fm', t: 'Bé có cố gắng dùng các ngón tay cào hoặc bốc một mẩu vụn bánh nhỏ bằng hạt đậu trên mặt bàn không?' }, { id: 17, dom: 'fm', t: 'Bé có tự nhặt một món đồ chơi nhỏ chỉ bằng một tay không?' }, { id: 18, dom: 'fm', t: 'Bé có chuyển thành thạo một món đồ chơi từ bàn tay này sang bàn tay kia không?' }, // Giải quyết vấn đề (6m) { id: 19, dom: 'psv', t: 'Khi món đồ chơi rơi khỏi tay xuống mặt bàn trước mặt, bé có nhìn theo món đồ chơi đó không?' }, { id: 20, dom: 'psv', t: 'Bé có đưa đồ chơi lên miệng để mút hoặc gặm khám phá không?' }, { id: 21, dom: 'psv', t: 'Bé có chuyển món đồ chơi từ tay này sang tay kia để quan sát không?' }, { id: 22, dom: 'psv', t: 'Khi đang cầm một món đồ chơi trên một tay, bé có đưa tay còn lại với lấy thêm món đồ chơi thứ hai không?' }, { id: 23, dom: 'psv', t: 'Bé có đập món đồ chơi lên mặt bàn lên xuống nhiều lần để tạo ra âm thanh không?' }, { id: 24, dom: 'psv', t: 'Khi thấy món đồ chơi rơi xuống sàn nhà, bé có nghiêng đầu nhìn xuống sàn để tìm kiếm nó không?' }, // Cá nhân - Xã hội (6m) { id: 25, dom: 'psc', t: 'Khi nhìn vào gương, bé có mỉm cười hoặc phát âm ê a với hình ảnh của mình trong gương không?' }, { id: 26, dom: 'psc', t: 'Bé có cư xử khác nhau giữa người quen và người lạ (như nhìn dò xét, rụt rè hoặc im lặng trước người lạ) không?' }, { id: 27, dom: 'psc', t: 'Khi nằm ngửa, bé có đưa bàn chân lên miệng để ngậm nghịch không?' }, { id: 28, dom: 'psc', t: 'Khi đang ở trước gương, bé có đưa tay ra vỗ hoặc chạm vào hình ảnh trong gương không?' }, { id: 29, dom: 'psc', t: 'Bé có đặt hai bàn tay lên bình sữa hoặc bầu ngực mẹ khi đang bú không?' }, { id: 30, dom: 'psc', t: 'Bé có tự cầm chiếc bánh ăn dặm đưa lên miệng để mút/gặm không?' } ] }, m12: { code: 'm12', label: '🍼 Mốc 12 Tháng (11 – 12 tháng 30 ngày)', cutoffs: { com: { cut: 15.64, mon: 29.50 }, gm: { cut: 21.49, mon: 35.80 }, fm: { cut: 34.50, mon: 43.40 }, psv: { cut: 27.32, mon: 38.60 }, psc: { cut: 21.73, mon: 33.70 } }, items: [ // Giao tiếp (12m) { id: 1, dom: 'com', t: 'Bé có phát ra hai âm tiết giống nhau liền nhau như "ba-ba", "đa-đa", "ma-ma" không?' }, { id: 2, dom: 'com', t: 'Khi bạn làm mẫu, bé có bắt chước chơi trò "Ú òa", "Vỗ tay hoan hô" hoặc vẫy tay "Bye-bye" không?' }, { id: 3, dom: 'com', t: 'Nếu bạn hỏi "Quả bóng đâu?" (mà không chỉ tay), bé có nhìn về phía quả bóng không?' }, { id: 4, dom: 'com', t: 'Khi bé muốn một thứ gì đó, bé có biết đưa tay chỉ vào đồ vật đó để cho bạn biết không?' }, { id: 5, dom: 'com', t: 'Bé có thực hiện được một yêu cầu đơn giản (như "Lại đây", "Đưa cho mẹ") ngay cả khi bạn không làm cử chỉ ra hiệu không?' }, { id: 6, dom: 'com', t: 'Bé có nói được ít nhất 3 từ đơn có nghĩa (như "Mẹ", "Bà", "Măm", "Bóng") và dùng đúng ngữ cảnh không?' }, // Vận động thô (12m) { id: 7, dom: 'gm', t: 'Khi một tay vịn vào bàn ghế, bé có thể cúi xuống nhặt một món đồ chơi dưới sàn mà không bị ngã không?' }, { id: 8, dom: 'gm', t: 'Bé có đi men dọc theo thành ghế sofa hoặc bàn trong khi chỉ dùng một tay vịn giữ thăng bằng không?' }, { id: 9, dom: 'gm', t: 'Khi bạn nắm một bàn tay của bé để dắt, bé có tự bước đi về phía trước được không?' }, { id: 10, dom: 'gm', t: 'Bé có thể tự đứng vững một mình và bước đi độc lập được vài bước mà không cần vịn vào bất cứ thứ gì không?' }, { id: 11, dom: 'gm', t: 'Bé có thể tự đứng ở giữa sàn rồi cúi xuống nhặt đồ chơi mà không cần vịn tay vào đồ đạc không?' }, { id: 12, dom: 'gm', t: 'Bé có tự đi lại vững vàng hơn 5 – 6 bước liên tiếp mà không bị ngã hay loạng choạng nhiều không?' }, // Vận động tinh (12m) { id: 13, dom: 'fm', t: 'Bé có tự nhặt được một mẩu bánh nhỏ / hạt nhỏ bằng đầu ngón cái và đầu ngón trỏ (kẹp chì) không?' }, { id: 14, dom: 'fm', t: 'Bé có thể cầm một món đồ chơi nhỏ trên tay và chủ động thả rơi nó xuống mặt bàn/trong hộp khi muốn không?' }, { id: 15, dom: 'fm', t: 'Khi nhặt mẩu bánh nhỏ bằng ngón cái và ngón trỏ, bàn tay và cánh tay của bé có nhấc hẳn lên khỏi mặt bàn (không cần tỳ cánh tay xuống bàn) không?' }, { id: 16, dom: 'fm', t: 'Bé có biết bỏ một khối gỗ vào trong hộp hoặc cốc rồi lại thò tay lấy khối gỗ đó ra khỏi hộp không?' }, { id: 17, dom: 'fm', t: 'Bé có phụ giúp lật trang sách bìa cứng khi bạn đọc sách cho bé nghe không?' }, { id: 18, dom: 'fm', t: 'Bé có thể ném một quả bóng nhỏ về phía trước bằng chuyển động cánh tay không?' }, // Giải quyết vấn đề (12m) { id: 19, dom: 'psv', t: 'Khi hai tay bé đang cầm hai khối gỗ, bé có biết đập hai khối gỗ đó vào nhau ở trước ngực không?' }, { id: 20, dom: 'psv', t: 'Bé có biết dùng ngón trỏ để chọc, ấn hoặc khám phá các chi tiết nhỏ của đồ chơi không?' }, { id: 21, dom: 'psv', t: 'Nếu nhìn thấy bạn giấu món đồ chơi hoàn toàn dưới một chiếc khăn, bé có tự kéo khăn ra để tìm lấy món đồ chơi đó không?' }, { id: 22, dom: 'psv', t: 'Sau khi nhìn bạn thả một khối gỗ vào trong chiếc cốc, bé có bắt chước thả khối gỗ vào trong cốc không?' }, { id: 23, dom: 'psv', t: 'Bé có biết bỏ liền 2 khối gỗ vào trong cốc/hộp và giữ chúng nằm yên trong đó không?' }, { id: 24, dom: 'psv', t: 'Sau khi bạn cầm bút sáp vẽ mẫu vài nét trên giấy, bé có cầm bút và cố gắng vạch nét bắt chước trên giấy không?' }, // Cá nhân - Xã hội (12m) { id: 25, dom: 'psc', t: 'Khi bạn đưa hai tay ra và nói "Lại đây với mẹ nào", bé có giơ hai tay lên để được bạn bế không?' }, { id: 26, dom: 'psc', t: 'Bé có tự cầm bánh hoặc thức ăn cắt nhỏ bằng ngón tay để tự đưa vào miệng ăn không?' }, { id: 27, dom: 'psc', t: 'Khi bạn mặc quần áo cho bé, bé có biết phối hợp xỏ tay vào ống tay áo hoặc đưa chân vào ống quần không?' }, { id: 28, dom: 'psc', t: 'Bé có biết lăn hoặc ném trả lại quả bóng cho bạn để hai mẹ con cùng chơi qua lại không?' }, { id: 29, dom: 'psc', t: 'Bé có biết ôm ấp, vỗ về một con búp bê hoặc thú nhồi bông không?' }, { id: 30, dom: 'psc', t: 'Khi bạn giữ chiếc cốc nước cho bé uống, bé có đưa hai tay lên cùng giữ chiếc cốc để uống không?' } ] }, m18: { code: 'm18', label: '🧸 Mốc 18 Tháng (17 – 18 tháng 30 ngày)', cutoffs: { com: { cut: 13.06, mon: 27.60 }, gm: { cut: 37.38, mon: 46.40 }, fm: { cut: 34.32, mon: 43.30 }, psv: { cut: 25.74, mon: 35.80 }, psc: { cut: 27.19, mon: 37.80 } }, items: [ // Giao tiếp (18m) { id: 1, dom: 'com', t: 'Khi bé muốn một thứ gì đó ở trên cao, bé có đi tìm bạn và chỉ ngón trỏ vào vật đó kèm nhìn bạn không?' }, { id: 2, dom: 'com', t: 'Khi xem sách cùng bạn, bé có bắt chước một số âm thanh hoặc từ đơn mà bạn đọc không?' }, { id: 3, dom: 'com', t: 'Khi bạn hỏi "Con mèo/Quả bóng ở đâu?", bé có chỉ đúng vào bức tranh tương ứng trong sách không?' }, { id: 4, dom: 'com', t: 'Bé có thực hiện đúng các yêu cầu đơn giản bằng lời mà bạn không cần chỉ tay (như "Đi lấy giày của con lại đây") không?' }, { id: 5, dom: 'com', t: 'Ngoài từ "Bố" và "Mẹ", bé có nói được ít nhất 8 từ đơn có nghĩa trở lên không?' }, { id: 6, dom: 'com', t: 'Bé có bắt đầu ghép 2 từ lại với nhau thành cụm từ ngắn (như "Uống sữa", "Mẹ bế", "Mở ra") không?' }, // Vận động thô (18m) { id: 7, dom: 'gm', t: 'Bé có tự cúi xuống hoặc ngồi xổm nhặt đồ vật dưới sàn rồi tự đứng thẳng lên mà không cần vịn vào bất cứ thứ gì không?' }, { id: 8, dom: 'gm', t: 'Bé có tự đi lại vững vàng khắp nhà hơn là bò không?' }, { id: 9, dom: 'gm', t: 'Bé có tự bước đi tốt mà rất hiếm khi bị vấp ngã không?' }, { id: 10, dom: 'gm', t: 'Bé có tự trèo lên một vật thấp (như chiếc ghế sofa hoặc ghế nhỏ) để lấy món đồ chơi ở trên đó không?' }, { id: 11, dom: 'gm', t: 'Bé có bước xuống cầu thang được khi bạn nắm giữ một bàn tay của bé không?' }, { id: 12, dom: 'gm', t: 'Khi bạn đặt quả bóng dưới sàn, bé có biết vung chân đá quả bóng lăn về phía trước (thay vì bước dẫm lên bóng) không?' }, // Vận động tinh (18m) { id: 13, dom: 'fm', t: 'Bé có thể ném một quả bóng nhỏ về phía trước khi đang đứng mà không bị ngã không?' }, { id: 14, dom: 'fm', t: 'Bé có xếp chồng được ít nhất 3 khối gỗ vuông nhỏ lên nhau thành tháp đứng vững không?' }, { id: 15, dom: 'fm', t: 'Bé có tự cầm bút sáp màu và vẽ nguệch ngoạc lên trang giấy mà không cần bạn làm mẫu trước không?' }, { id: 16, dom: 'fm', t: 'Bé có tự lật được các trang của một cuốn sách (có thể lật 2–3 trang cùng lúc) không?' }, { id: 17, dom: 'fm', t: 'Bé có biết dùng đầu ngón tay lấy một mẩu bánh nhỏ ra khỏi một chiếc lọ nhựa trong suốt cổ hẹp không?' }, { id: 18, dom: 'fm', t: 'Bé có xếp chồng được 4 – 5 khối gỗ vuông nhỏ lên nhau thành tháp không?' }, // Giải quyết vấn đề (18m) { id: 19, dom: 'psv', t: 'Bé có thả liên tiếp 5 – 6 đồ vật nhỏ vào trong một chiếc hộp không?' }, { id: 20, dom: 'psv', t: 'Sau khi bạn thả một mẩu bánh nhỏ vào trong lọ nhựa trong suốt, bé có biết tự dốc ngược cái lọ xuống để đổ mẩu bánh ra tay không?' }, { id: 21, dom: 'psv', t: 'Bé có chơi giả vờ với các đồ vật (như áp điện thoại đồ chơi lên tai nghe, hoặc cầm lược giả vờ chải đầu) không?' }, { id: 22, dom: 'psv', t: 'Sau khi nhìn bạn vẽ một nét thẳng trên giấy, bé có cầm bút bắt chước vạch nét theo bạn không?' }, { id: 23, dom: 'psv', t: 'Nếu món đồ chơi lăn vào gầm ghế ngoài tầm tay với, bé có biết dùng một chiếc que/thước để khều nó ra hoặc kéo khăn trải bàn lại gần không?' }, { id: 24, dom: 'psv', t: 'Khi bạn xếp mẫu 3–4 khối gỗ nối đuôi nhau làm đoàn tàu, bé có xếp các khối gỗ thành hàng ngang giống bạn không?' }, // Cá nhân - Xã hội (18m) { id: 25, dom: 'psc', t: 'Bé có tự dùng thìa xúc thức ăn đưa vào miệng (dù có thể còn rơi vãi một ít) không?' }, { id: 26, dom: 'psc', t: 'Bé có tự cởi được các món đồ dễ như tất, mũ hoặc giày đã tháo dây không?' }, { id: 27, dom: 'psc', t: 'Bé có tự cầm cốc bằng hai tay uống nước rồi đặt cốc xuống bàn mà hầu như không làm đổ nước ra ngoài không?' }, { id: 28, dom: 'psc', t: 'Bé có bắt chước làm theo các việc nhà của bạn (như cầm khăn lau bàn, cầm chổi quét nhà) không?' }, { id: 29, dom: 'psc', t: 'Bé có thường xuyên nhìn vào hình ảnh của mình trong gương và mỉm cười hoặc làm trò trước gương không?' }, { id: 30, dom: 'psc', t: 'Bé có chủ động kéo tay bạn hoặc mang đồ chơi lại khoe để rủ bạn cùng xem/mở giúp không?' } ] }, m24: { code: 'm24', label: '👦 Mốc 24 Tháng (23 – 25 tháng 15 ngày • 2 Tuổi)', cutoffs: { com: { cut: 25.17, mon: 38.00 }, gm: { cut: 38.07, mon: 46.50 }, fm: { cut: 35.16, mon: 43.20 }, psv: { cut: 29.78, mon: 39.60 }, psc: { cut: 31.54, mon: 40.50 } }, items: [ // Giao tiếp (24m) { id: 1, dom: 'com', t: 'Khi bạn gọi tên các bức tranh quen thuộc (như con mèo, quả bóng, con chó, chiếc xe), bé có chỉ đúng vào bức tranh đó trong sách không?' }, { id: 2, dom: 'com', t: 'Bé có bắt chước nói lại chính xác một câu ngắn gồm 2 từ khi bạn làm mẫu (ví dụ: "Mẹ ơi", "Đi về") không?' }, { id: 3, dom: 'com', t: 'Khi bạn yêu cầu bằng lời mà không chỉ tay, bé có thực hiện được ít nhất 3 mệnh lệnh khác nhau (như "Đặt lên bàn", "Đưa dép cho mẹ", "Đóng cửa lại") không?' }, { id: 4, dom: 'com', t: 'Khi bạn chỉ vào bức tranh quả bóng, cái cốc, chiếc mũ và hỏi "Cái gì đây?", bé có gọi đúng tên các đồ vật đó không?' }, { id: 5, dom: 'com', t: 'Bé có tự nói được các câu gồm 2 đến 3 từ để diễn đạt ý khác nhau (như "Con uống sữa", "Đi chơi công viên", "Bóng của con") không?' }, { id: 6, dom: 'com', t: 'Bé có sử dụng đúng ít nhất 2 đại từ nhân xưng như "Con", "Mẹ", "Của con" khi nói chuyện không?' }, // Vận động thô (24m) { id: 7, dom: 'gm', t: 'Bé có thể tự bước xuống cầu thang khi một tay vịn vào lan can hoặc tường (hoặc nắm tay bạn) không?' }, { id: 8, dom: 'gm', t: 'Khi đứng trước quả bóng, bé có tự vung chân đá quả bóng lăn về phía trước mà không cần vịn tay vào đâu không?' }, { id: 9, dom: 'gm', t: 'Bé có thể tự bước lên và bước xuống ít nhất 2 bậc cầu thang một mình (có thể vịn tường/lan can, bước dồn 2 chân trên 1 bậc) không?' }, { id: 10, dom: 'gm', t: 'Bé có chạy khá vững vàng và biết tự dừng lại mà không bị đâm sầm vào đồ đạc hoặc ngã không?' }, { id: 11, dom: 'gm', t: 'Bé có biết bật nhảy tại chỗ sao cho cả hai bàn chân cùng nhấc rời khỏi mặt đất một lúc không?' }, { id: 12, dom: 'gm', t: 'Khi đứng ở bậc cầu thang cuối cùng, bé có thể nhảy bằng hai chân xuống mặt sàn nhà không?' }, // Vận động tinh (24m) { id: 13, dom: 'fm', t: 'Bé có tự dùng thìa xúc thức ăn đưa vào miệng ngay ngắn, không bị lật ngược chiếc thìa làm đổ thức ăn không?' }, { id: 14, dom: 'fm', t: 'Bé có tự lật từng trang sách một (mỗi lần chỉ lật 1 trang giấy) khi xem sách không?' }, { id: 15, dom: 'fm', t: 'Bé có biết xoay cổ tay để vặn mở nắp lọ nhỏ, xoay tay nắm cửa hoặc vặn dây cót đồ chơi không?' }, { id: 16, dom: 'fm', t: 'Bé có tự bật hoặc tắt công tắc đèn gắn trên tường được không?' }, { id: 17, dom: 'fm', t: 'Bé có xếp chồng được một tháp cao gồm 6 – 7 khối gỗ vuông nhỏ đứng vững không?' }, { id: 18, dom: 'fm', t: 'Bé có biết xâu được ít nhất 2 – 3 hạt gỗ lớn hoặc ống nhựa qua một sợi dây giày có đầu cứng không?' }, // Giải quyết vấn đề (24m) { id: 19, dom: 'psv', t: 'Sau khi nhìn bạn vẽ một đường thẳng từ trên xuống dưới trên giấy, bé có cầm bút bắt chước vẽ một đường thẳng tương tự không?' }, { id: 20, dom: 'psv', t: 'Khi muốn lấy một đồ vật ở trên bàn cao, bé có biết tự đi kéo một chiếc ghế nhỏ lại rồi trèo lên ghế để lấy đồ không?' }, { id: 21, dom: 'psv', t: 'Sau khi bạn xếp 4 khối gỗ nối tiếp nhau làm đoàn tàu, bé có bắt chước xếp 4 khối gỗ thành hàng ngang giống bạn không?' }, { id: 22, dom: 'psv', t: 'Nếu bạn đưa cho bé một chiếc lọ có nắp vặn lỏng bên trong đựng bánh, bé có biết tự xoay mở nắp lọ để lấy bánh ra không?' }, { id: 23, dom: 'psv', t: 'Bé có chơi đóng vai giả vờ bằng cách dùng vật này thay thế cho vật kia (như lấy cái bát đội lên đầu giả làm mũ, hoặc lấy khối gỗ giả làm ô tô) không?' }, { id: 24, dom: 'psv', t: 'Bé có biết tự cất đồ chơi vào đúng chỗ quen thuộc (như bỏ khối gỗ vào hộp, cất sách lên kệ) khi kết thúc giờ chơi không?' }, // Cá nhân - Xã hội (24m) { id: 25, dom: 'psc', t: 'Bé có tự cầm cốc một mình uống nước rồi đặt xuống bàn mà không làm đổ nước nữa không?' }, { id: 26, dom: 'psc', t: 'Bé có chơi giả vờ chăm sóc búp bê hoặc thú bông (như đút cho ăn, đắp chăn cho ngủ, đặt ngồi bô) không?' }, { id: 27, dom: 'psc', t: 'Bé có tự dùng dĩa/nĩa hoặc thìa để xiên/xúc thức ăn tự lập trong bữa ăn không?' }, { id: 28, dom: 'psc', t: 'Khi chơi gần các bạn nhỏ khác, bé có thích ngồi chơi những món đồ chơi giống như các bạn bên cạnh đang chơi không?' }, { id: 29, dom: 'psc', t: 'Bé có tự đẩy các loại đồ chơi có bánh xe lớn (như xe đẩy siêu thị đồ chơi, xe nôi búp bê) đi vòng quanh và biết bẻ lái tránh chướng ngại vật không?' }, { id: 30, dom: 'psc', t: 'Bé có biết gọi bạn là "Mẹ / Bố" hoặc xưng tên mình khi nhìn thấy ảnh chụp của hai mẹ con không?' } ] }, m36: { code: 'm36', label: '🧒 Mốc 36 Tháng (34 tháng 16 ngày – 38 tháng 30 ngày • 3 Tuổi)', cutoffs: { com: { cut: 30.99, mon: 41.50 }, gm: { cut: 36.99, mon: 46.20 }, fm: { cut: 18.07, mon: 31.80 }, psv: { cut: 30.29, mon: 40.80 }, psc: { cut: 35.33, mon: 43.90 } }, items: [ // Giao tiếp (36m) { id: 1, dom: 'com', t: 'Khi bạn hỏi, bé có chỉ đúng được ít nhất 7 bộ phận cơ thể (như đầu, tóc, mắt, mũi, miệng, tai, tay, bụng, chân, đầu gối) không?' }, { id: 2, dom: 'com', t: 'Bé có nói được các câu hoàn chỉnh gồm từ 3 đến 4 từ trở lên không?' }, { id: 3, dom: 'com', t: 'Nếu bạn yêu cầu, bé có đặt được một cuốn sách "LÊN TRÊN bàn", "XUỐNG DƯỚI ghế" hoặc "BÊN CẠNH hộp" đúng theo lời bạn nói không?' }, { id: 4, dom: 'com', t: 'Khi xem tranh một con vật/người đang chạy hoặc đang ăn và bạn hỏi "Ai đang làm gì đây?", bé có trả lời được cả tên và hành động (như "Con chó đang chạy") không?' }, { id: 5, dom: 'com', t: 'Khi bạn cầm một chiếc khóa kéo trên áo và hỏi "Con đang làm gì đây?", bé có dùng được các từ chỉ hành động đang diễn ra ("Con đang kéo khóa / mở áo") không?' }, { id: 6, dom: 'com', t: 'Khi bạn hỏi "Tên đầy đủ ( cả họ và tên) của con là gì?", bé có trả lời đúng họ và tên của mình không?' }, // Vận động thô (36m) { id: 7, dom: 'gm', t: 'Bé có đứng co một chân lên và giữ thăng bằng trên một chân còn lại được khoảng 1 – 2 giây mà không cần vịn vào đâu không?' }, { id: 8, dom: 'gm', t: 'Khi đứng yên, bé có biết vung tay từ trên cao qua đầu để ném quả bóng về phía trước được ít nhất 1.5 mét không?' }, { id: 9, dom: 'gm', t: 'Bé có thể chụm hai chân bật nhảy xa về phía trước được một khoảng ít nhất 15 – 20 cm không?' }, { id: 10, dom: 'gm', t: 'Bé có tự bước lên cầu thang bằng cách bước luân phiên từng chân (mỗi bậc cầu thang đặt 1 bàn chân như người lớn) không?' }, { id: 11, dom: 'gm', t: 'Bé có biết ngồi lên xe đạp 3 bánh và dùng hai bàn chân nhấn bàn đạp để xe lăn bánh tiến về phía trước không?' }, { id: 12, dom: 'gm', t: 'Bé có thể tự bước lên và xuống cầu thang vững vàng mà không cần vịn vào tường hay lan can không?' }, // Vận động tinh (36m) { id: 13, dom: 'fm', t: 'Sau khi nhìn bạn vẽ một đường thẳng ngang trên giấy, bé có cầm bút vẽ lại được một đường ngang tương tự không?' }, { id: 14, dom: 'fm', t: 'Bé có tự xâu được các hạt gỗ/nhựa vào một sợi dây nhỏ thành chuỗi vòng không?' }, { id: 15, dom: 'fm', t: 'Sau khi nhìn thấy bức vẽ hình tròn của bạn, bé có tự vẽ lại được một hình tròn khép kín trên giấy không?' }, { id: 16, dom: 'fm', t: 'Bé có biết cầm kéo trẻ em và nhấp kéo mở ra – khép lại để cắt vào mép tờ giấy không?' }, { id: 17, dom: 'fm', t: 'Khi vẽ, bé có cầm bút bằng ngón cái và các ngón tay (giống tư thế cầm bút của người lớn) thay vì nắm chặt cả nắm đấm không?' }, { id: 18, dom: 'fm', t: 'Sau khi nhìn bạn vẽ hình chữ thập (+), bé có cố gắng vẽ một đường dọc và một đường ngang cắt nhau tạo thành dấu cộng (+) không?' }, // Giải quyết vấn đề (36m) { id: 19, dom: 'psv', t: 'Khi bạn xếp mẫu 3 khối gỗ tạo thành hình "Cây cầu" (2 khối ở dưới cách nhau một khe nhỏ và 1 khối bắc ngang ở trên), bé có xếp lại được cây cầu giống bạn không?' }, { id: 20, dom: 'psv', t: 'Khi bạn vẽ một hình người chưa có chân và hỏi "Còn thiếu cái gì đây?", bé có nhận ra và nói đúng phần bị thiếu không?' }, { id: 21, dom: 'psv', t: 'Nếu bạn đọc chậm rãi 2 chữ số (ví dụ: "3 - 7" hoặc "5 - 2") và bảo bé nhắc lại, bé có đọc lại đúng theo thứ tự đó không?' }, { id: 22, dom: 'psv', t: 'Khi bạn chỉ vào hai vòng tròn (1 to, 1 nhỏ) và hỏi "Cái nào TO hơn?", bé có chỉ đúng không?' }, { id: 23, dom: 'psv', t: 'Bé có thích chơi hóa trang (như đội mũ của bố, đeo túi của mẹ) để đóng giả làm bố/mẹ/bác sĩ không?' }, { id: 24, dom: 'psv', t: 'Nếu bạn đọc chậm 3 chữ số (ví dụ: "4 - 7 - 2"), bé có nhắc lại được đúng cả 3 số theo thứ tự không?' }, // Cá nhân - Xã hội (36m) { id: 25, dom: 'psc', t: 'Bé có tự dùng thìa xúc ăn thành thạo mà hầu như không làm rơi vãi thức ăn ra ngoài nữa không?' }, { id: 26, dom: 'psc', t: 'Bé có tự mặc được áo khoác mở ngực hoặc áo sơ mi mà không cần bạn giúp xỏ tay áo không?' }, { id: 27, dom: 'psc', t: 'Khi bạn hỏi "Con là con trai hay con gái?", bé có trả lời đúng giới tính của mình không?' }, { id: 28, dom: 'psc', t: 'Bé có biết chờ đến lượt của mình khi tham gia trò chơi cùng người lớn hoặc các bạn khác không?' }, { id: 29, dom: 'psc', t: 'Bé có tự kéo quần dài/quần đùi xuống khi đi vệ sinh và tự kéo quần lên lại không?' }, { id: 30, dom: 'psc', t: 'Bé có kể được tên của ít nhất một người bạn thân cùng lớp hoặc hàng xóm không?' } ] }, m48: { code: 'm48', label: '🎒 Mốc 48 Tháng (45 – 50 tháng 30 ngày • 4 Tuổi)', cutoffs: { com: { cut: 30.72, mon: 42.10 }, gm: { cut: 32.78, mon: 43.60 }, fm: { cut: 15.81, mon: 30.60 }, psv: { cut: 31.30, mon: 42.50 }, psc: { cut: 26.60, mon: 39.20 } }, items: [ // Giao tiếp (48m) { id: 1, dom: 'com', t: 'Bé có kể được tên ít nhất 3 sự vật thuộc cùng một nhóm danh mục (ví dụ: "Kể cho mẹ nghe tên 3 con vật / 3 món đồ ăn") không?' }, { id: 2, dom: 'com', t: 'Khi bạn hỏi "Con dùng cái gì để mô tả con voi?", bé có dùng được ít nhất 2 từ chỉ đặc điểm (như "Con voi to, có cái vòi dài") không?' }, { id: 3, dom: 'com', t: 'Bé có sử dụng đúng các từ chỉ kết thúc ở quá khứ ("đã... rồi") và tương lai ("sẽ...") trong câu nói hàng ngày không?' }, { id: 4, dom: 'com', t: 'Bé có thực hiện đúng một chuỗi gồm 3 yêu cầu liên tiếp không liên quan nhau (như "Con vỗ tay, rồi đi ra cửa, rồi ngồi xuống") không?' }, { id: 5, dom: 'com', t: 'Bé có nói được các câu đầy đủ gồm tất cả các từ liên kết (như "Con muốn đi công viên VỚI bố BỞI VÌ...") không?' }, { id: 6, dom: 'com', t: 'Bé có trả lời hợp lý các câu hỏi tình huống "Con sẽ làm gì khi con bị đói / khi con bị mệt / khi con bị lạnh?" không?' }, // Vận động thô (48m) { id: 7, dom: 'gm', t: 'Khi bạn đứng cách bé khoảng 1.5 mét và ném một quả bóng lớn tới, bé có dùng hai bàn tay bắt gọn được quả bóng không?' }, { id: 8, dom: 'gm', t: 'Bé có tự leo lên các bậc thang của cầu trượt cao ở công viên và trượt xuống mà không cần giúp đỡ không?' }, { id: 9, dom: 'gm', t: 'Khi đang chạy, bé có thể bật nhảy lên cao về phía trước mà không bị giảm tốc độ hay ngã không?' }, { id: 10, dom: 'gm', t: 'Bé có biết nhảy lò cò trên một chân được ít nhất 2 – 3 bước liên tiếp không?' }, { id: 11, dom: 'gm', t: 'Bé có thể chụm hai chân bật nhảy xa về phía trước được ít nhất 50 cm không?' }, { id: 12, dom: 'gm', t: 'Bé có đứng thăng bằng vững vàng trên một chân trong ít nhất 5 giây mà không cần vịn tay không?' }, // Vận động tinh (48m) { id: 13, dom: 'fm', t: 'Bé có tự ghép hoàn chỉnh được các bộ xếp hình tranh (puzzle) gồm từ 5 đến 7 mảnh rời nhau không?' }, { id: 14, dom: 'fm', t: 'Bé có dùng kéo cắt đứt đôi một tờ giấy theo một đường kẻ thẳng từ đầu này sang đầu kia (lệch không quá 1 cm) không?' }, { id: 15, dom: 'fm', t: 'Khi nhìn mẫu, bé có vẽ sao chép lại được cả 3 hình: Hình tròn (○), Hình chữ thập (+) và Hình vuông (□) không?' }, { id: 16, dom: 'fm', t: 'Bé có tự mở và cài được ít nhất một chiếc cúc áo/khuy quần vừa tay không?' }, { id: 17, dom: 'fm', t: 'Bé có tự vẽ được hình một người có ít nhất 3 – 4 bộ phận cơ thể rõ ràng (đầu, mắt, thân/chân, tay) không?' }, { id: 18, dom: 'fm', t: 'Bé có tô màu vào bên trong một hình vẽ sẵn mà hầu như không bị lem ra ngoài đường viền không?' }, // Giải quyết vấn đề (48m) { id: 19, dom: 'psv', t: 'Khi bạn nói "Mẹ có một con mèo nhỏ, còn bạn Lan có một con mèo TO HƠN", bé có chỉ đúng vào bức tranh con mèo to hơn không?' }, { id: 20, dom: 'psv', t: 'Khi bạn đặt 5 đồ vật thành hàng trên bàn và hỏi "Có bao nhiêu cái đây?", bé có dùng tay chỉ đếm từng cái từ 1 đến 5 đúng số lượng không?' }, { id: 21, dom: 'psv', t: 'Khi bạn chỉ vào các đồ vật, bé có gọi đúng tên ít nhất 4 màu sắc khác nhau (Đỏ, Vàng, Xanh dương, Xanh lá...) không?' }, { id: 22, dom: 'psv', t: 'Bé có biết phân biệt và chỉ đúng đâu là "Cái nhỏ nhất" trong số 3 đồ vật có kích thước khác nhau không?' }, { id: 23, dom: 'psv', t: 'Bé có chơi đóng vai giả vờ theo kịch bản phức tạp cùng bạn bè (như chơi bán hàng, chơi khám bệnh) không?' }, { id: 24, dom: 'psv', t: 'Bé có tự đếm vẹt liên tục từ 1 đến 10 theo đúng thứ tự không?' }, // Cá nhân - Xã hội (48m) { id: 25, dom: 'psc', t: 'Bé có tự lấy kem và tự đánh răng cho mình mà chỉ cần người lớn kiểm tra nhẹ lại không?' }, { id: 26, dom: 'psc', t: 'Bé có tự phục vụ một món ăn nhẹ đơn giản (như tự rót nước từ bình nhỏ ra cốc hoặc tự lấy bánh/sữa chua ăn) không?' }, { id: 27, dom: 'psc', t: 'Bé có kể được tên của ít nhất 2 người bạn cùng chơi ở lớp hoặc hàng xóm không?' }, { id: 28, dom: 'psc', t: 'Bé có tự rửa tay và mặt bằng xà phòng rồi tự lấy khăn lau khô mà không cần giúp đỡ không?' }, { id: 29, dom: 'psc', t: 'Bé có tự mặc và tự cởi toàn bộ quần áo của mình (trừ việc buộc dây giày khó) không?' }, { id: 30, dom: 'psc', t: 'Khi được hỏi, bé có trả lời đúng được ít nhất 3 trong 4 thông tin cá nhân: Họ tên, Tuổi, Tên bố mẹ, Tên thành phố/quận nơi ở không?' } ] }, m60: { code: 'm60', label: '🎓 Mốc 60 Tháng (57 – 66 tháng • 5 Tuổi)', cutoffs: { com: { cut: 33.19, mon: 43.80 }, gm: { cut: 31.28, mon: 42.30 }, fm: { cut: 26.54, mon: 38.60 }, psv: { cut: 29.99, mon: 41.20 }, psc: { cut: 39.07, mon: 47.00 } }, items: [ // Giao tiếp (60m) { id: 1, dom: 'com', t: 'Bé có thực hiện đúng một chuỗi 3 mệnh lệnh hoàn toàn độc lập mà không cần bất kỳ cử chỉ gợi ý nào của bạn không?' }, { id: 2, dom: 'com', t: 'Bé có thường xuyên nói các câu hoàn chỉnh dài từ 4 đến 5 từ trở lên với đầy đủ ngữ pháp không?' }, { id: 3, dom: 'com', t: 'Khi kể lại một chuyện đã xảy ra ở lớp hôm qua, bé có dùng đúng các từ chỉ thời gian quá khứ không?' }, { id: 4, dom: 'com', t: 'Bé có sử dụng các từ so sánh như "Nặng hơn", "Mạnh hơn", "Dài hơn", "Nhanh hơn" trong câu nói hàng ngày không?' }, { id: 5, dom: 'com', t: 'Bé có trả lời đúng cả 2 câu hỏi suy luận: "Con làm gì khi khát nước?" và "Tại sao chúng ta phải mặc áo ấm khi trời lạnh?" không?' }, { id: 6, dom: 'com', t: 'Bé có thể lặp lại chính xác các câu dài 9 – 10 âm tiết mà không bỏ sót từ nào khi bạn đọc mẫu không?' }, // Vận động thô (60m) { id: 7, dom: 'gm', t: 'Khi đứng yên, bé có vung tay ném một quả bóng nhỏ đi xa được ít nhất 2 – 3 mét trúng hướng người đối diện không?' }, { id: 8, dom: 'gm', t: 'Bé có bắt gọn được một quả bóng lớn bằng hai bàn tay (mà không cần ôm ghì vào ngực) khi đứng cách bạn 2 mét không?' }, { id: 9, dom: 'gm', t: 'Bé có đứng thăng bằng vững vàng trên một chân trong ít nhất 5 – 8 giây mà không bị nghiêng ngả không?' }, { id: 10, dom: 'gm', t: 'Bé có bước đi nối gót (mũi bàn chân sau chạm sát vào gót bàn chân trước) trên một đường kẻ thẳng dài 4.5 mét không?' }, { id: 11, dom: 'gm', t: 'Bé có nhảy lò cò trên một chân tiến về phía trước được một đoạn dài từ 1.5 đến 2 mét không?' }, { id: 12, dom: 'gm', t: 'Bé có biết nhảy chân sáo (Skipping — bật nhảy luân phiên từng chân nhịp nhàng) không?' }, // Vận động tinh (60m) { id: 13, dom: 'fm', t: 'Bé có tự đồ theo một đường kẻ thẳng trên giấy bằng bút chì mà không bị lệch khỏi đường kẻ quá 2 lần không?' }, { id: 14, dom: 'fm', t: 'Bé có tự vẽ được hình một người có ít nhất 6 bộ phận cơ thể (đầu, thân, hai tay, hai chân, mắt, mũi, miệng) không?' }, { id: 15, dom: 'fm', t: 'Bé có dùng kéo cắt rời một tờ giấy theo đúng đường kẻ thẳng từ mép này sang mép kia mà không bị rách giấy không?' }, { id: 16, dom: 'fm', t: 'Khi nhìn mẫu, bé có tự vẽ sao chép lại được cả 3 hình học: Hình chữ thập (+), Hình vuông (□) và Hình tam giác (△) không?' }, { id: 17, dom: 'fm', t: 'Khi nhìn các chữ cái viết mẫu (như V, H, T, C, A), bé có tự cầm bút chép lại được các chữ cái đó ngay ngắn không?' }, { id: 18, dom: 'fm', t: 'Bé có tự viết được tên của chính mình (hoặc ít nhất 4 chữ cái đầu trong tên) mà không cần nhìn mẫu không?' }, // Giải quyết vấn đề (60m) { id: 19, dom: 'psv', t: 'Khi bạn chỉ vào 5 đồ vật khác kích cỡ và hỏi "Cái nào NHỎ NHẤT?", bé có chỉ đúng ngay không?' }, { id: 20, dom: 'psv', t: 'Khi bạn nói các câu khuyết từ trái nghĩa: "Ban ngày thì sáng, ban đêm thì [tối]", "Con rùa đi chậm, con thỏ chạy [nhanh]", bé có điền đúng từ không?' }, { id: 21, dom: 'psv', t: 'Bé có tự đếm trơn tru từ 1 đến 15 mà không bị nhầm hay bỏ sót số nào không?' }, { id: 22, dom: 'psv', t: 'Khi nhìn vào các thẻ chữ số từ 1 đến 10, bé có đọc đúng tên ít nhất 5 chữ số bất kỳ không?' }, { id: 23, dom: 'psv', t: 'Bé có gọi đúng tên của ít nhất 4 chữ cái trong bảng chữ cái khi bạn chỉ ngẫu nhiên không?' }, { id: 24, dom: 'psv', t: 'Khi xếp 4 đồ vật thành hàng ngang, bé có hiểu và chỉ đúng đâu là "Cái ĐẦU TIÊN", "Cái Ở GIỮA" và "Cái CUỐI CÙNG" không?' }, // Cá nhân - Xã hội (60m) { id: 25, dom: 'psc', t: 'Bé có tự dùng thìa và nĩa/dĩa ăn uống sạch sẽ, lịch sự như người lớn mà không làm vương vãi thức ăn không?' }, { id: 26, dom: 'psc', t: 'Bé có tự rửa tay và mặt bằng xà phòng rồi lau khô hoàn toàn độc lập trước khi ăn không?' }, { id: 27, dom: 'psc', t: 'Bé có trả lời đúng ít nhất 4 thông tin cá nhân: Họ và tên, Tuổi, Địa chỉ nhà/Phường xã, Số điện thoại bố mẹ hoặc Ngày sinh không?' }, { id: 28, dom: 'psc', t: 'Bé có tự mặc và tự cởi quần áo, tự cài cúc áo và kéo khóa quần mà không cần bất kỳ sự trợ giúp nào không?' }, { id: 29, dom: 'psc', t: 'Bé có tự đi vệ sinh hoàn toàn độc lập (tự vào nhà vệ sinh, tự lau chùi sạch sẽ, xả nước và rửa tay) không?' }, { id: 30, dom: 'psc', t: 'Bé có biết luân phiên chờ đến lượt, chia sẻ đồ chơi và tuân thủ luật chơi khi chơi nhóm cùng các bạn đồng trang lứa không?' } ] } }; // 6 Câu hỏi Tổng quát (Overall Red Flags - Phần cuối của mọi phiếu ASQ-3) const overallQuestions = [ { id: 'ov1', t: '1. Bạn có nghi ngờ bé gặp vấn đề về thính lực (nghe kém hoặc gọi tên không quay lại) không?' }, { id: 'ov2', t: '2. Bạn có nghĩ rằng cách bé nói chuyện hoặc phát âm chậm hơn rõ rệt so với các bé cùng tuổi không?' }, { id: 'ov3', t: '3. Bạn có lo lắng rằng bé không hiểu được phần lớn những gì bạn nói với bé không?' }, { id: 'ov4', t: '4. Bạn có nghĩ rằng cách bé đi đứng, chạy nhảy hoặc sử dụng đôi bàn tay bị cứng nhắc, vụng về hoặc lệch hai bên không?' }, { id: 'ov5', t: '5. Bạn có lo lắng về hành vi, giao tiếp ánh mắt hoặc cách bé tương tác xã hội với người xung quanh không?' }, { id: 'ov6', t: '6. Có điều gì khác về sức khỏe, giấc ngủ hoặc sự phát triển của bé khiến bạn cảm thấy bất an không?' } ]; let currentForm = 'm24'; // 'm6' | 'm12' | 'm18' | 'm24' | 'm36' | 'm48' | 'm60' let answersByForm = { m6: {}, m12: {}, m18: {}, m24: {}, m36: {}, m48: {}, m60: {} }; let overallConcerns = {}; // true = Có lo ngại, false = Không lo ngại let filterDom = 'all'; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .aq3-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .aq3-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .aq3-inner { padding: 24px; max-width: 980px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .aq3-wrap.is-fullscreen .aq3-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .aq3-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 0 rgba(37, 99, 235, 0.4); } 70% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 10px rgba(37, 99, 235, 0); } 100% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 0 rgba(37, 99, 235, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #1d4ed8 0%, #2563eb 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Header */ .aq3-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .aq3-header-text { flex: 1 1 260px; } .aq3-title { font-size: 21px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .aq3-desc { font-size: 14px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #eff6ff; color: #1d4ed8; border: 1px solid #bfdbfe; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #2563eb; color: #ffffff; border-color: #2563eb; } /* Bộ chọn Mốc Tháng Tuổi ASQ-3 */ .age-selector-box { background: #f1f5f9; padding: 12px; border-radius: 12px; margin-bottom: 16px; } .age-lbl { font-size: 12px; font-weight: 800; color: #0f172a; text-transform: uppercase; margin-bottom: 8px; display: block; } .age-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 6px; } .age-btn { padding: 8px 6px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 700; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .age-btn:hover { border-color: #2563eb; } .age-btn.active { background: #2563eb; border-color: #2563eb; color: #ffffff; box-shadow: 0 3px 10px rgba(37, 99, 235, 0.25); } /* Controls */ .aq3-presets { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; margin-bottom: 14px; } .aq3-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; touch-action: manipulation; } .aq3-pbtn:hover { background: #f1f5f9; } .aq3-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } .aq3-domain-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 16px; } .aq3-dtab { padding: 6px 12px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .aq3-dtab.active { background: #2563eb; color: #ffffff; border-color: #2563eb; } /* Sticky Dashboard: 5 Lĩnh vực ASQ-3 */ .aq3-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .aq3-wrap.is-fullscreen .aq3-dash { top: 58px; } .aq3-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .aq3-score-big { font-size: 20px; font-weight: 800; line-height: 1.2; } .aq3-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .aq3-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .aq3-pillars { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; font-size: 11.5px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .aq3-pillar-box { background: #1e293b; padding: 7px 9px; border-radius: 8px; border-left: 3px solid #475569; } .aq3-pillar-box.zone-white { border-left-color: #10b981; } .aq3-pillar-box.zone-gray { border-left-color: #f59e0b; background: rgba(245, 158, 11, 0.15); } .aq3-pillar-box.zone-black { border-left-color: #ef4444; background: rgba(239, 68, 68, 0.16); } .aq3-pillar-val { font-weight: 800; color: #ffffff; font-size: 13px; display: block; margin-top: 2px; } /* Danh sách 30 câu hỏi */ .aq3-item { border: 1px solid #e2e8f0; border-radius: 10px; padding: 14px 16px; margin-bottom: 10px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 8px; } .aq3-item.ans-10 { border-color: #a7f3d0; background: #f0fdf4; } .aq3-item.ans-5 { border-color: #fde68a; background: #fffbeb; } .aq3-item.ans-0 { border-color: #fca5a5; background: #fff5f5; } .aq3-item-title { font-size: 14.5px; font-weight: 600; color: #1e293b; } .aq3-tags { display: flex; flex-wrap: wrap; gap: 6px; } .aq3-tag { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .aq3-ans-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; } .aq3-abtn { padding: 8px 8px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 700; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .aq3-abtn:hover { border-color: #64748b; } .aq3-abtn.sel-10 { background: #10b981; border-color: #10b981; color: #ffffff; } .aq3-abtn.sel-5 { background: #f59e0b; border-color: #f59e0b; color: #ffffff; } .aq3-abtn.sel-0 { background: #ef4444; border-color: #ef4444; color: #ffffff; } /* Bảng Tóm tắt Thông tin ASQ-3 (Biểu đồ Vùng Đen - Vùng Xám - Vùng Trắng) */ .aq3-summary-card { margin-top: 20px; padding: 16px 18px; border-radius: 12px; background: #ffffff; border: 1px solid #e2e8f0; overflow-x: auto; } .aq3-sum-table { width: 100%; border-collapse: collapse; font-size: 13px; min-width: 620px; } .aq3-sum-table th, .aq3-sum-table td { border: 1px solid #cbd5e1; padding: 8px 10px; text-align: center; } .aq3-sum-table th { background: #f1f5f9; font-weight: 700; color: #0f172a; } .aq3-result-box { margin-top: 16px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #2563eb; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 740px) { .aq3-inner { padding: 14px; } .aq3-title { font-size: 18px; } .age-grid { grid-template-columns: repeat(3, 1fr); } .aq3-pillars { grid-template-columns: 1fr 1fr; } .aq3-ans-grid { grid-template-columns: 1fr; } .aq3-pbtn.reset { margin-left: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
Bộ Câu Hỏi Sàng Lọc Phát Triển Theo Độ Tuổi & Giai Đoạn ASQ-3 (5 Lĩnh Vực • 1 – 66 Tháng)
Công cụ sàng lọc chuẩn hóa của Đại học Oregon (Squires & Bricker, 2009) trên 5 lĩnh vực (mỗi lĩnh vực 6 câu = 60 điểm): Giao tiếp, Vận động Thô, Vận động Tinh, Giải quyết Vấn đề và Cá nhân – Xã hội. Hệ thống tự động đối chiếu điểm số của bé với Ngưỡng điểm cắt chuẩn (-2 SD) và Vùng giám sát (-1 SD đến -2 SD) của từng độ tuổi.
| Lĩnh vực Phát triển ASQ-3 | Điểm Cắt (-2 SD) | Vùng Giám Sát (-1 đến -2 SD) | Điểm Của Bé (0 – 60đ) | Phân Vùng Kết Quả Lâm Sàng |
|---|
• Bé có ${blackCount} lĩnh vực rơi xuống dưới điểm cắt chuẩn (-2 SD): ${blackNames.join(', ')} ${grayCount > 0 ? `(và ${grayCount} lĩnh vực trong Vùng giám sát: ${grayNames.join(', ')})` : ''}.
• Số cờ đỏ tổng quát (Overall Red Flags): ${redFlagCount}/6 mối lo ngại từ phụ huynh.
• Hướng xử trí chuẩn theo Bộ Y tế & Đại học Oregon:
1. Nếu điểm rơi vào Vùng Đen ở lĩnh vực Giao tiếp (${sums.com}/60đ) và/hoặc Cá nhân – Xã hội (${sums.psc}/60đ) (đặc biệt ở trẻ 16–30 tháng), bắt buộc phải thực hiện thêm bảng sàng lọc tự kỷ M-CHAT-R/F / STAT ngay lập tức.
2. Chuyển gửi trẻ khám chuyên khoa Nhi Phát triển / Tâm bệnh để đánh giá chẩn đoán xác định bằng Bayley-III / KSPD / PEP-3 / ADOS-2 và can thiệp sớm. `; } else if (grayCount > 0 || redFlagCount > 0) { badgeColor = '#f59e0b'; badgeTxt = `VÙNG GIÁM SÁT / CẦN THEO DÕI (${grayCount} Lĩnh vực Xám • ${redFlagCount} Cờ đỏ)`; analysis = ` Kết luận Sàng lọc ASQ-3 (${fCfg.label}) — VÙNG GIÁM SÁT (Monitoring Zone • Từ -1 SD đến -2 SD):
• Bé có ${grayCount} lĩnh vực nằm trong Vùng Xám (Giám sát): ${grayNames.join(', ') || 'Không có'} và ${redFlagCount} mối lo ngại ở phần Câu hỏi Tổng quát.
• Hướng xử trí chuẩn: Hướng dẫn phụ huynh thực hiện các hoạt động trò chơi kích thích phát triển tại nhà tập trung vào các câu đang đạt mức "Thỉnh thoảng (5đ)" hoặc "Chưa (0đ)", sau đó sàng lọc lại bằng ASQ-3 sau 1 đến 2 tháng. Nếu có cờ đỏ về ngôn ngữ/giao tiếp mắt, nên làm thêm M-CHAT-R/F ngay. `; } else { badgeColor = '#10b981'; badgeTxt = 'PHÁT TRIỂN ĐÚNG TIẾN ĐỘ (ON SCHEDULE)'; analysis = ` Kết luận Sàng lọc ASQ-3 (${fCfg.label}) — PHÁT TRIỂN ĐÚNG TIẾN ĐỘ (Tất cả 5/5 Lĩnh vực nằm ở Vùng Trắng):
• Điểm số của bé ở cả 5 lĩnh vực (Giao tiếp: ${sums.com}đ, Vận động Thô: ${sums.gm}đ, Vận động Tinh: ${sums.fm}đ, Giải quyết Vấn đề: ${sums.psv}đ, Cá nhân – Xã hội: ${sums.psc}đ) đều cao hơn ngưỡng giám sát chuẩn.
• Khuyến nghị: Tiếp tục duy trì các hoạt động vui chơi tương tác phong phú theo lứa tuổi và hẹn sàng lọc lại ở mốc tháng tuổi kế tiếp của ASQ-3. `; } scoreBadge.textContent = badgeTxt; scoreBadge.style.background = badgeColor; scoreBadge.style.color = '#ffffff'; resultBox.style.borderLeftColor = badgeColor; resultBox.innerHTML = analysis; updateFloatingFabVisibility(); } function applyPresetToForm(formKey, type) { const fCfg = ageForms[formKey]; const curAns = {}; overallConcerns = {}; if (type === 'reset') { fCfg.items.forEach(it => { curAns[it.id] = 0; }); } else if (type === 'typical') { // Đúng tiến độ (50 - 60 điểm mỗi lĩnh vực) fCfg.items.forEach((it, idx) => { curAns[it.id] = (idx % 6 === 5) ? 5 : 10; }); } else if (type === 'monitor') { // Vùng giám sát (35 điểm ở Giao tiếp & Giải quyết vấn đề) fCfg.items.forEach((it, idx) => { const pos = idx % 6; if (it.dom === 'com' || it.dom === 'psv') { curAns[it.id] = (pos < 2) ? 10 : ((pos < 5) ? 5 : 0); // 35đ } else { curAns[it.id] = (pos { const pos = idx % 6; if (it.dom === 'com') { curAns[it.id] = (pos === 0) ? 10 : ((pos === 1) ? 5 : 0); // 15đ (Vùng Đen) } else if (it.dom === 'psc') { curAns[it.id] = (pos <= 1) ? 10 : 0; // 20đ (Vùng Đen) } else if (it.dom === 'psv') { curAns[it.id] = (pos <= 2) ? 10 : ((pos === 3) ? 5 : 0); // 35đ (Vùng Xám) } else { curAns[it.id] = (pos < 5) ? 10 : 0; // 50đ (Vùng Trắng) } }); overallConcerns['ov2'] = true; overallConcerns['ov5'] = true; } answersByForm[formKey] = curAns; } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); aq3Wrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { aq3Wrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 980px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } shadow.querySelectorAll('#ageGrid .age-btn').forEach(function(btn) { btn.onclick = function() { currentForm = this.getAttribute('data-form'); shadow.querySelectorAll('#ageGrid .age-btn').forEach(b => b.classList.remove('active')); this.classList.add('active'); renderItems(); updateSummary(); }; }); shadow.querySelectorAll('.aq3-pbtn').forEach(function(btn) { btn.onclick = function() { const pType = this.getAttribute('data-preset'); applyPresetToForm(currentForm, pType); renderItems(); updateSummary(); }; }); shadow.querySelectorAll('#domainTabs .aq3-dtab').forEach(function(tab) { tab.onclick = function() { filterDom = this.getAttribute('data-dom'); shadow.querySelectorAll('#domainTabs .aq3-dtab').forEach(t => t.classList.remove('active')); this.classList.add('active'); renderItems(); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); // Khởi tạo sẵn dữ liệu mẫu cho cả 7 mốc tuổi để chuyển tab xem được ngay ['m6', 'm12', 'm18', 'm24', 'm36', 'm48', 'm60'].forEach(fKey => { applyPresetToForm(fKey, 'asd_delay'); }); renderItems(); updateSummary(); })();
ASQ-3 (Ages & Stages Questionnaires, Third Edition — Bộ Câu hỏi Sàng lọc Phát triển Theo Độ tuổi và Giai đoạn, Phiên bản 3) là công cụ sàng lọc phát triển sớm do phụ huynh tự thực hiện phổ biến nhất thế giới hiện nay (và được Bộ Y tế Việt Nam cũng như Tổ chức Y tế Thế giới WHO khuyến nghị sử dụng rộng rãi). Công cụ do Giáo sư Jane Squiresvà Diane Bricker tại Đại học Oregon (Hoa Kỳ) phát triển (xuất bản bản thứ 3 năm 2009 bởi Brookes Publishing).
Nếu như Denver II hay Bayley-III đòi hỏi chuyên gia trực tiếp thực hiện tại phòng khám, thì ASQ-3 tận dụng chính nguồn dữ liệu quý giá nhất là sự quan sát hàng ngày của cha mẹ tại nhà để phát hiện sớm nguy cơ chậm phát triển trên cả 5 lĩnh vực chỉ trong 10 – 15 phút.
1. Tóm tắt cốt lõi về cấu trúc & Hệ thống tính điểm của ASQ-3
-
Độ tuổi áp dụng: Trẻ từ 1 tháng đến 66 tháng tuổi (5.5 tuổi), được chia thành 21 bộ câu hỏi theo từng mốc tháng tuổi (2, 4, 6, 8, 9, 10, 12, 14, 16, 18, 20, 22, 24, 27, 30, 33, 36, 42, 48, 54 và 60 tháng).
-
Cấu trúc 5 Lĩnh vực Phát triển (30 câu hỏi / mỗi độ tuổi): Mỗi bộ câu hỏi ở từng mốc tuổi đều bao gồm đúng 30 câu hỏi chia đều cho 5 lĩnh vực (mỗi lĩnh vực 6 câu), cộng thêm phần Câu hỏi Tổng quát (Overall — không tính điểm nhưng dùng để cảnh báo các dấu hiệu đỏ lâm sàng):
| Lĩnh vực đánh giá (Domain) | Số câu hỏi | Nội dung đánh giá trọng tâm | Điểm tối đa |
| 1. Giao tiếp(Communication) | 6 câu | Bập bẹ, quay đầu khi gọi tên, chỉ trỏ, hiểu mệnh lệnh, vốn từ đơn, nói cụm từ/câu và trả lời câu hỏi. | 60 điểm |
| 2. Vận động Thô(Gross Motor) | 6 câu | Kiểm soát đầu cổ, lẫy, ngồi, bò, đứng, đi, chạy, leo cầu thang, nhảy tại chỗ, đứng 1 chân, bắt/đá bóng. | 60 điểm |
| 3. Vận động Tinh(Fine Motor) | 6 câu | Phối hợp tay – mắt, cầm nắm hạt nhỏ (kẹp chì), lật trang sách, xếp khối gỗ, xâu hạt, cầm bút vẽ hình và cắt kéo. | 60 điểm |
| 4. Giải quyết Vấn đề(Problem Solving) | 6 câu | Tư duy nhận thức sớm: tìm đồ chơi bị giấu, nhìn trong gương, thả hình vào khuôn, chơi giả vờ, phân loại và đếm số. | 60 điểm |
| 5. Cá nhân – Xã hội(Personal-Social) | 6 câu | Giao tiếp mắt, mỉm cười, tự uống cốc/xúc thìa, tự cởi/mặc quần áo, rửa tay, đi vệ sinh và chơi luân phiên với bạn. | 60 điểm |
2. Quy tắc Chấm điểm (10 – 5 – 0) & Phân vùng Theo Độ lệch chuẩn (SD)
-
Thang điểm cho từng câu hỏi:
-
CÓ(Yes = 10 điểm): Trẻ đã thực hiện được kỹ năng đó thường xuyên, thành thạo. -
THỈNH THOẢNG(Sometimes = 5 điểm): Trẻ mới bắt đầu làm được đôi lúc hoặc mới chớm hình thành. -
CHƯA(Not Yet = 0 điểm): Trẻ chưa từng thực hiện được kỹ năng đó.
-
-
Tổng điểm mỗi lĩnh vực: Từ 0 đến 60 điểm (Mỗi lĩnh vực có 6 câu ×10 điểm=60 điểm).
-
3 Vùng Phân loại Chuẩn của ASQ-3 (Đối chiếu theo Điểm cắt – Cut-off Score tại từng độ tuổi):
-
🟢 Vùng Trắng — Phát triển Đúng tiến độ (Above Cut-off / On Schedule — Trên mốc ):Điểm số cao hơn ngưỡng giám sát. Trẻ phát triển bình thường theo tuổi.
-
🟡 Vùng Xám — Vùng Giám sát / Cần theo dõi (Monitoring Zone — Từ đến ): Điểm nằm sát ngưỡng cắt. Cần cung cấp các bài tập kích thích phát triển tại nhà và sàng lọc lại sau 1–2 tháng.
-
🔴 Vùng Đen — Dưới Điểm cắt / Nguy cơ Chậm phát triển (Below Cut-off — Dưới ):Điểm số rơi xuống dưới ngưỡng cắt chuẩn (chỉ gặp ở ~2.3% dân số). Cần chuyển gửi khám chuyên khoa ngay (kết hợp sàng lọc tự kỷ M-CHAT-R/F nếu rơi vào lĩnh vực Giao tiếp & Cá nhân – Xã hội, hoặc đánh giá chuyên sâu bằng Bayley-III / KSPD / PEP-3).
-
[Phát triển chung] PEDS: Thang sàng lọc tình trạng phát triển của trẻ từ 0 – 8 tuổi do cha mẹ thực hiện
(function() { const host = document.getElementById('peds-wp-host'); if (!host) return; const placeholder = document.createComment('peds-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // 10 Câu hỏi chuẩn của PEDS (Frances Page Glascoe) kèm quy tắc tuổi để tính là Predictive Concern (Mối lo ngại Dự báo cao) // minPredAge: Tháng tuổi tối thiểu mà nếu có lo ngại ở câu đó sẽ được tính là Predictive (0 = Mọi lứa tuổi đều là Predictive; 999 = Luôn là Non-predictive) const pedsQuestions = [ { id: 1, code: 'GLO', domain: '1. Nhận thức chung & Phát triển Tổng thể (Global / Cognitive)', minPredAge: 0, // Mọi lứa tuổi đều là Predictive q: 'Câu 1. Anh/chị có lo lắng rằng con chậm hiểu, nhận thức chậm hơn các bạn cùng tuổi hoặc có điều gì bất thường chung về sự phát triển của con không?', examples: 'Các dấu hiệu thường gặp: Trẻ chậm chạp trong việc học kỹ năng mới, có vẻ ngây ngô hơn tuổi, mất các kỹ năng từng làm được hoặc chậm toàn diện.' }, { id: 2, code: 'EL', domain: '2. Ngôn ngữ Diễn đạt & Phát âm (Expressive Language & Articulation)', minPredAge: 0, // Mọi lứa tuổi đều là Predictive q: 'Câu 2. Anh/chị có bất kỳ lo lắng nào về cách con nói chuyện và phát âm không?', examples: 'Các dấu hiệu thường gặp: Chậm bập bẹ, chậm nói từ đơn/cụm từ, vốn từ ít, chỉ kéo tay người lớn thay vì nói, nhại lời máy móc hoặc phát âm rất khó nghe.' }, { id: 3, code: 'RL', domain: '3. Ngôn ngữ Tiếp nhận / Nghe hiểu (Receptive Language)', minPredAge: 18, // Từ 18 tháng trở lên tính là Predictive q: 'Câu 3. Anh/chị có bất kỳ lo lắng nào về việc con hiểu những gì anh/chị nói với con không?', examples: 'Các dấu hiệu thường gặp: Gọi tên nhiều lần không quay lại, không hiểu các yêu cầu đơn giản khi không có cử chỉ chỉ tay, hoặc trả lời lạc đề.' }, { id: 4, code: 'FM', domain: '4. Sử dụng bàn tay và ngón tay - Vận động Tinh (Fine Motor)', minPredAge: 54, // Từ 4.5 tuổi (54 tháng) trở lên tính là Predictive q: 'Câu 4. Anh/chị có bất kỳ lo lắng nào về cách con sử dụng đôi bàn tay và các ngón tay để làm các việc nhỏ không?', examples: 'Các dấu hiệu thường gặp: Khó cầm nắm đồ vật nhỏ, rơi đổ thức ăn nhiều khi xúc thìa, lóng ngóng khi xếp hình, cầm bút vẽ hoặc dùng kéo.' }, { id: 5, code: 'GM', domain: '5. Sử dụng tay chân vận động - Vận động Thô (Gross Motor)', minPredAge: 36, // Từ 3 tuổi (36 tháng) trở lên tính là Predictive q: 'Câu 5. Anh/chị có bất kỳ lo lắng nào về cách con sử dụng tay và chân để lẫy, bò, đi, chạy hoặc leo trèo không?', examples: 'Các dấu hiệu thường gặp: Chậm biết ngồi/đi, dáng đi loạng choạng dễ vấp ngã, đi nhón gót liên tục, hoặc khó khăn khi leo cầu thang, chạy nhảy.' }, { id: 6, code: 'BEH', domain: '6. Hành vi ứng xử & Tự điều chỉnh (Behavior)', minPredAge: 999, // Phân vào Non-predictive (Định tuyến sang Path C nếu không có Predictive) q: 'Câu 6. Anh/chị có bất kỳ lo lắng nào về hành vi ứng xử của con không?', examples: 'Các dấu hiệu thường gặp: Hay ăn vạ khóc thét kéo dài, tăng động chạy nhảy không ngừng, bướng bỉnh chống đối, hoặc có cử động lặp lại (vẫy tay, xoay đồ vật).' }, { id: 7, code: 'SE', domain: '7. Quan hệ xã hội & Cảm xúc (Social-Emotional)', minPredAge: 999, // Phân vào Non-predictive / Cảnh báo Tự kỷ & Cảm xúc q: 'Câu 7. Anh/chị có bất kỳ lo lắng nào về việc con hòa đồng với những người khác (giao tiếp mắt, kết bạn, chia sẻ cảm xúc) không?', examples: 'Các dấu hiệu thường gặp: Ít nhìn mắt, thích chơi một mình tách biệt, không biết khoe đồ chơi (chú ý chung), quá nhút nhát hoặc dễ lo âu căng thẳng.' }, { id: 8, code: 'SH', domain: '8. Kỹ năng Tự phục vụ cá nhân (Self-Help)', minPredAge: 999, // Phân vào Non-predictive q: 'Câu 8. Anh/chị có bất kỳ lo lắng nào về việc con học cách tự làm mọi việc cho bản thân (ăn uống, mặc đồ, đi vệ sinh) không?', examples: 'Các dấu hiệu thường gặp: Chưa tự cầm cốc/xúc ăn theo tuổi, chưa biết phối hợp mặc quần áo, rửa tay hoặc chậm kiểm soát việc đi vệ sinh.' }, { id: 9, code: 'SCH', domain: '9. Kỹ năng Tiền học đường & Học tập ở trường (School / Pre-academic)', minPredAge: 54, // Từ 4.5 tuổi (54 tháng) trở lên tính là Predictive q: 'Câu 9. Anh/chị có bất kỳ lo lắng nào về việc con học các khái niệm ở lớp mầm non hoặc kỹ năng học tập ở trường không?', examples: 'Các dấu hiệu thường gặp: Khó nhớ màu sắc, hình khối, con số, chữ cái; khó ngồi yên chú ý nghe cô giáo giảng hoặc chậm tiếp thu bài trên lớp.' }, { id: 10, code: 'MED', domain: '10. Thính lực, Thị lực, Sức khỏe & Y khoa (Medical / Sensory / Health)', minPredAge: 0, // Mọi lo ngại về thính lực/thị lực/sức khỏe thần kinh đều cần lưu ý đặc biệt q: 'Câu 10. Anh/chị có lo lắng gì về thính lực (nghe), thị lực (nhìn), giấc ngủ, việc ăn uống hoặc sức khỏe thể chất của con không?', examples: 'Các dấu hiệu thường gặp: Nghi ngờ nghe kém, nhạy cảm tiếng ồn (bịt tai), nhìn nghiêng/lác mắt, kén ăn cực đoan, rối loạn giấc ngủ hoặc co giật.' } ]; // Các mốc kỹ năng kiểm tra nhanh PEDS:DM (Developmental Milestones) theo từng nhóm tuổi để bổ trợ quyết định ở Path B / Path C const pedsDmByAge = { '6': 'Mốc PEDS:DM 6 tháng: Biết lẫy 2 chiều, chống tay nâng ngực cao, với tay nắm đồ chơi, quay đầu tìm tiếng gọi và cười thành tiếng.', '12': 'Mốc PEDS:DM 12 tháng: Đứng vịn/chập chững đi, nhặt vật nhỏ bằng ngón cái-trỏ, biết chỉ tay xin đồ, vẫy tay chào và nói 1–3 từ đơn.', '18': 'Mốc PEDS:DM 18 tháng: Đi vững, tự xúc thìa, xếp tháp 3 khối gỗ, chỉ đúng bộ phận cơ thể, nói ≥ 8–10 từ đơn và biết khoe đồ vật (chú ý chung).', '24': 'Mốc PEDS:DM 24 tháng (2 tuổi): Đá bóng, chạy vững, nói câu ngắn 2–3 từ, chỉ đúng tranh đồ vật khi gọi tên và biết chơi giả vờ chăm sóc búp bê.', '36': 'Mốc PEDS:DM 36 tháng (3 tuổi): Bước lên cầu thang luân phiên, vẽ hình tròn, nói câu 3–4 từ rõ ràng, trả lời được họ tên/giới tính và chơi cùng bạn.', '48': 'Mốc PEDS:DM 48 tháng (4 tuổi): Nhảy lò cò 1 chân, cắt giấy bằng kéo, vẽ hình chữ thập/hình vuông, kể lại chuyện ngắn và tự mặc quần áo.', '60': 'Mốc PEDS:DM 60 tháng (5 tuổi): Đứng 1 chân > 5 giây, viết được một số chữ cái/con số, đếm đến 10–15, hiểu từ trái nghĩa và tuân thủ luật chơi nhóm.', '72': 'Mốc PEDS:DM 72–95 tháng (6–8 tuổi): Đọc đánh vần từ/câu ngắn, cộng trừ phạm vi 10, viết chữ ngay ngắn, tự lập hoàn toàn sinh hoạt và kết bạn tốt.' }; // answers[id] lưu: 'NO' (Không lo ngại = 0), 'LITTLE' (Lo ngại một chút = 1), 'YES' (Có lo ngại rõ rệt = 2) let answers = {}; let childAgeMonths = 24; let hasCommBarrier = false; // Path D: Rào cản giao tiếp với người trả lời let dmPassStatus = 'pass'; // 'pass' (Đạt mốc PEDS:DM) | 'fail' (Chưa đạt mốc PEDS:DM) let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .pd-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .pd-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .pd-inner { padding: 24px; max-width: 980px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .pd-wrap.is-fullscreen .pd-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .pd-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(124, 58, 237, 0.45), 0 0 0 0 rgba(124, 58, 237, 0.4); } 70% { box-shadow: 0 6px 20px rgba(124, 58, 237, 0.45), 0 0 0 10px rgba(124, 58, 237, 0); } 100% { box-shadow: 0 6px 20px rgba(124, 58, 237, 0.45), 0 0 0 0 rgba(124, 58, 237, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #6d28d9 0%, #7c3aed 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(124, 58, 237, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Header */ .pd-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .pd-header-text { flex: 1 1 260px; } .pd-title { font-size: 21px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .pd-desc { font-size: 14px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #f5f3ff; color: #6d28d9; border: 1px solid #ddd6fe; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #7c3aed; color: #ffffff; border-color: #7c3aed; } /* Top Panel: Chọn Tuổi & PEDS:DM */ .pd-top-panel { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; background: #f8fafc; border: 1px solid #cbd5e1; border-radius: 12px; padding: 14px; margin-bottom: 14px; } .pd-lbl { font-size: 12px; font-weight: 800; color: #0f172a; text-transform: uppercase; display: block; margin-bottom: 5px; } .pd-select { width: 100%; padding: 8px 10px; border: 1px solid #94a3b8; border-radius: 7px; font-size: 13.5px; font-weight: 700; color: #0f172a; background: #ffffff; } .pd-dm-banner { grid-column: 1 / -1; background: #ffffff; border: 1px dashed #c4b5fd; border-left: 4px solid #7c3aed; padding: 10px 12px; border-radius: 8px; font-size: 13px; color: #334155; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 10px; } /* Presets */ .pd-presets { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; margin-bottom: 16px; } .pd-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; touch-action: manipulation; } .pd-pbtn:hover { background: #f1f5f9; } .pd-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } /* Sticky Dashboard */ .pd-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .pd-wrap.is-fullscreen .pd-dash { top: 58px; } .pd-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .pd-score-big { font-size: 21px; font-weight: 800; line-height: 1.2; } .pd-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .pd-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .pd-pillars { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; font-size: 12px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .pd-pillar-box { background: #1e293b; padding: 8px 10px; border-radius: 8px; border-left: 3px solid #475569; } .pd-pillar-val { font-weight: 800; color: #ffffff; font-size: 13.5px; display: block; margin-top: 2px; } /* Danh sách 10 câu hỏi PEDS */ .pd-item { border: 1px solid #e2e8f0; border-radius: 12px; padding: 14px 16px; margin-bottom: 12px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 8px; } .pd-item.pred-concern { border-color: #fca5a5; background: #fff5f5; border-left: 5px solid #ef4444; } .pd-item.nonpred-concern { border-color: #fde68a; background: #fffbeb; border-left: 5px solid #f59e0b; } .pd-item.no-concern { border-color: #a7f3d0; background: #f0fdf4; } .pd-item-title { font-size: 15px; font-weight: 800; color: #0f172a; } .pd-item-ex { font-size: 13px; color: #475569; background: rgba(15, 23, 42, 0.03); padding: 6px 10px; border-radius: 6px; } .pd-tags { display: flex; flex-wrap: wrap; gap: 6px; } .pd-tag { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .pd-tag.tag-pred { background: #fee2e2; color: #b91c1c; } .pd-tag.tag-non { background: #fef3c7; color: #b45309; } .pd-ans-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 2px; } .pd-abtn { padding: 8px 8px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 700; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .pd-abtn:hover { border-color: #64748b; } .pd-abtn.sel-NO { background: #10b981; border-color: #10b981; color: #ffffff; } .pd-abtn.sel-LITTLE { background: #f59e0b; border-color: #f59e0b; color: #ffffff; } .pd-abtn.sel-YES { background: #ef4444; border-color: #ef4444; color: #ffffff; } /* Bảng 5 Lộ trình Xử trí Lâm sàng PEDS (Paths A - E) */ .pd-paths-card { margin-top: 20px; padding: 16px 18px; border-radius: 12px; background: #ffffff; border: 1px solid #e2e8f0; overflow-x: auto; } .pd-table { width: 100%; border-collapse: collapse; font-size: 13px; min-width: 640px; } .pd-table th, .pd-table td { border: 1px solid #cbd5e1; padding: 9px 12px; text-align: left; } .pd-table th { background: #f1f5f9; font-weight: 800; color: #0f172a; } .pd-table tr.active-path { background: #fef3c7; border: 2px solid #d97706; } .pd-result-box { margin-top: 16px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #7c3aed; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 740px) { .pd-inner { padding: 14px; } .pd-title { font-size: 18px; } .pd-top-panel { grid-template-columns: 1fr; } .pd-pillars { grid-template-columns: 1fr 1fr; } .pd-ans-grid { grid-template-columns: 1fr; } .pd-pbtn.reset { margin-left: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
Thang Đánh Giá Tình Trạng Phát Triển Của Trẻ Do Cha Mẹ Thực Hiện PEDS & PEDS:DM (0 – 8 Tuổi)
Công cụ sàng lọc chuẩn hóa của Giáo sư Frances Page Glascoe phân tích 10 nhóm mối lo ngại của phụ huynh theo độ tuổi để tách biệt giữa Mối lo ngại Dự báo Nguy cơ Cao (Predictive Concerns) và Mối lo ngại Ít dự báo (Non-predictive Concerns), từ đó định tuyến tự động vào 5 Lộ trình Xử trí Lâm sàng (Path A, B, C, D, E).
| Lộ trình PEDS | Tiêu chuẩn Phân luồng | Hướng xử trí Lâm sàng Chuẩn theo Viện Hàn lâm Nhi khoa Hoa Kỳ (AAP) |
|---|---|---|
| 🔴 Lộ trình A (Path A) Nguy cơ Cao (High Risk) |
Có ≥ 2 mối lo ngại Dự báo cao (Predictive Concerns) | Chuyển gửi đánh giá chuyên sâu ngay lập tức: Phối hợp khám Chuyên khoa Nhi Phát triển, Ngôn ngữ trị liệu, Tâm lý lâm sàng (làm thêm M-CHAT-R/F hoặc ADOS-2 nếu có lo ngại giao tiếp/xã hội; làm Bayley-III / KSPD / PEP-3 để lập kế hoạch can thiệp sớm). |
| 🟠 Lộ trình B (Path B) Nguy cơ Trung bình |
Có đúng 1 mối lo ngại Dự báo cao (1 Predictive Concern) | Thực hiện Sàng lọc Thứ cấp (Second-stage Screening): Kiểm tra ngay các mốc kỹ năng PEDS:DM hoặc cho làm thêm ASQ-3 / M-CHAT-R/F. Nếu trẻ Không đạt sàng lọc thứ cấp → Chuyển gửi can thiệp như Path A. Nếu Đạt → Hướng dẫn kích thích tại nhà và hẹn theo dõi sát. |
| 🟡 Lộ trình C (Path C) Nguy cơ Hành vi / Cảm xúc |
0 lo ngại Dự báo, nhưng có ≥ 1 lo ngại Không dự báo (Hành vi, Cảm xúc, Tự phục vụ...) | Sàng lọc Hành vi – Cảm xúc & Tư vấn Phụ huynh: Ở trẻ 16–30 tháng cần sàng lọc tự kỷ bằng M-CHAT-R/F; ở trẻ lớn hơn sàng lọc hành vi bằng PSC / Vanderbilt. Tư vấn chiến lược quản lý hành vi tích cực cho cha mẹ và theo dõi lại sau 4–6 tuần. |
| 🟣 Lộ trình D (Path D) Rào cản Giao tiếp |
Cha mẹ khó giao tiếp hoặc người đi cùng không nắm rõ tình trạng trẻ | Đánh giá Trực tiếp trên Trẻ: Không thể dựa vào bảng hỏi PEDS đơn thuần; cần sử dụng công cụ kiểm tra trực tiếp kỹ năng của trẻ tại phòng khám (như PEDS:DM, Denver II, KSPD hoặc STAT). |
| 🟢 Lộ trình E (Path E) Nguy cơ Thấp (Low Risk) |
Không có mối lo ngại nào (0 Predictive & 0 Non-predictive) | Theo dõi Định kỳ Thường quy: Trấn an phụ huynh, khen ngợi sự phát triển tốt của trẻ (nếu trẻ đồng thời đạt mốc PEDS:DM) và hẹn sàng lọc lại ở lần khám sức khỏe định kỳ kế tiếp. |
• Khi người đi cùng không trực tiếp chăm sóc trẻ hoặc gặp khó khăn khi diễn đạt mối lo ngại, PEDS quy định chuyển sang Path D.
• Hướng xử trí: Thực hiện đánh giá trực tiếp trên trẻ bằng PEDS:DM, Denver II hoặc KSPD / Bayley-III. `; } else if (predCount >= 2) { activePath = 'A'; rowPathA.className = 'active-path'; badgeColor = '#dc2626'; badgeTxt = `PATH A • NGUY CƠ CAO (${predCount} Lo ngại Dự báo)`; valPath.textContent = 'Path A (Chuyển gửi ngay)'; dashHeadline.textContent = `Lộ Trình Quyết Định PEDS: Path A — Nguy Cơ Cao (${predCount} Mối lo ngại Dự báo)`; analysis = ` Kết luận PEDS tại mốc ${childAgeMonths} tháng — LỘ TRÌNH A (Path A • Nguy cơ Chậm phát triển / Rối loạn Phổ Tự kỷ CAO):
• Ghi nhận ${predCount} mối lo ngại Dự báo cao (Predictive Concerns): ${predList.join(', ')} ${nonPredCount > 0 ? `kèm theo ${nonPredCount} mối lo ngại khác (${nonPredList.join(', ')})` : ''}.
• Hướng xử trí chuẩn theo PEDS:
1. Chuyển gửi đánh giá chuyên sâu ngay lập tức (Can thiệp sớm, Ngôn ngữ trị liệu, Tâm lý – Giáo dục đặc biệt).
2. Nếu có kèm lo ngại ở Câu 2 (Ngôn ngữ diễn đạt), Câu 3 (Nghe hiểu) hoặc Câu 7 (Quan hệ xã hội), cần thực hiện ngay sàng lọc tự kỷ chuyên biệt (M-CHAT-R/F, STAT, SCQ) và đánh giá chẩn đoán bằng ADOS-2 / CARS-2 / DSM-5-TR. `; } else if (predCount === 1) { activePath = 'B'; rowPathB.className = 'active-path'; badgeColor = '#ea580c'; badgeTxt = 'PATH B • NGUY CƠ TRUNG BÌNH (1 Lo ngại Dự báo)'; valPath.textContent = 'Path B (Sàng lọc thứ cấp)'; dashHeadline.textContent = 'Lộ Trình Quyết Định PEDS: Path B — Cần Sàng Lọc Thứ Cấp (ASQ-3 / PEDS:DM)'; analysis = ` Kết luận PEDS tại mốc ${childAgeMonths} tháng — LỘ TRÌNH B (Path B • Nguy cơ Trung bình – Cao):
• Ghi nhận đúng 1 mối lo ngại Dự báo cao (Predictive Concern) tại: ${predList.join(', ')} ${nonPredCount > 0 ? `(và ${nonPredCount} mối lo ngại ít dự báo: ${nonPredList.join(', ')})` : ''}.
• Kết hợp kết quả Mốc kỹ năng PEDS:DM hiện tại (${dmPassStatus === 'pass' ? 'Trẻ ĐẠT mốc PEDS:DM' : 'Trẻ CHƯA ĐẠT mốc PEDS:DM'}):
${dmPassStatus === 'fail' ? '👉 Vì trẻ CHƯA ĐẠT mốc kỹ năng PEDS:DM kèm 1 mối lo ngại dự báo, trẻ cần được chuyển gửi đánh giá chuyên sâu ngay như Path A (làm thêm ASQ-3 / M-CHAT-R/F / KSPD).' : '👉 Trẻ hiện đạt mốc PEDS:DM cơ bản, khuyến nghị thực hiện thêm bảng ASQ-3 (hoặc M-CHAT-R/F nếu trẻ 16–30 tháng), hướng dẫn cha mẹ kích thích phát triển tại nhà và hẹn tái khám sau 4–6 tuần.'} `; } else if (nonPredCount >= 1) { activePath = 'C'; rowPathC.className = 'active-path'; badgeColor = '#d97706'; badgeTxt = `PATH C • LƯU Ý HÀNH VI / XÃ HỘI (${nonPredCount} mục)`; valPath.textContent = 'Path C (Tư vấn & Sàng lọc HV)'; dashHeadline.textContent = 'Lộ Trình Quyết Định PEDS: Path C — Lưu Ý Hành Vi, Cảm Xúc & Xã Hội'; analysis = ` Kết luận PEDS tại mốc ${childAgeMonths} tháng — LỘ TRÌNH C (Path C • Nguy cơ về Hành vi / Cảm xúc – Xã hội):
• Không có mối lo ngại dự báo chậm phát triển trí tuệ/ngôn ngữ, nhưng phụ huynh có ${nonPredCount} mối lo ngại ở nhóm Không dự báo: ${nonPredList.join(', ')}.
• Hướng xử trí chuẩn: Tư vấn chiến lược hướng dẫn hành vi tích cực cho phụ huynh. Nếu phụ huynh lo lắng về Giao tiếp xã hội (Câu 7) hoặc Hành vi (Câu 6), cần làm thêm sàng lọc tự kỷ (M-CHAT-R/F / CAST / ASSQ) hoặc sàng lọc ADHD (Vanderbilt) để không bỏ sót tự kỷ chức năng cao. `; } else { activePath = 'E'; rowPathE.className = 'active-path'; badgeColor = (dmPassStatus === 'pass') ? '#10b981' : '#f59e0b'; badgeTxt = (dmPassStatus === 'pass') ? 'PATH E • NGUY CƠ THẤP (BÌNH THƯỜNG)' : 'PATH E (NHƯNG CHƯA ĐẠT PEDS:DM)'; valPath.textContent = 'Path E (Theo dõi định kỳ)'; dashHeadline.textContent = 'Lộ Trình Quyết Định PEDS: Path E — Nguy Cơ Thấp (Không có mối lo ngại)'; analysis = ` Kết luận PEDS tại mốc ${childAgeMonths} tháng — LỘ TRÌNH E (Path E • Nguy cơ Thấp):
• Phụ huynh không có bất kỳ mối lo ngại nào ở cả 10 lĩnh vực phát triển và hành vi.
• ${dmPassStatus === 'pass' ? 'Trẻ đồng thời ĐẠT các mốc kỹ năng PEDS:DM tương ứng với lứa tuổi. Trấn an, khen ngợi cha mẹ và hẹn theo dõi định kỳ ở mốc tuổi tiếp theo.' : '⚠️ Lưu ý từ PEDS:DM: Dù phụ huynh không bày tỏ lo lắng trên PEDS, nhưng trẻ chưa đạt mốc kỹ năng PEDS:DM của lứa tuổi. Cần cho phụ huynh làm thêm bảng ASQ-3 để kiểm tra khách quan.'} `; } dashSub.textContent = `Tại mốc ${childAgeMonths} tháng tuổi: ${predCount} Lo ngại Dự báo cao (Predictive) • ${nonPredCount} Lo ngại Ít dự báo (Non-predictive)`; scoreBadge.textContent = badgeTxt; scoreBadge.style.background = badgeColor; scoreBadge.style.color = '#ffffff'; resultBox.style.borderLeftColor = badgeColor; resultBox.innerHTML = analysis; updateFloatingFabVisibility(); } function applyPreset(type) { answers = {}; pedsQuestions.forEach(q => { answers[q.id] = 'NO'; }); hasCommBarrier = false; selBarrier.value = 'no'; dmPassStatus = 'pass'; if (type === 'reset' || type === 'pathE') { renderDmBanner(); renderQuestions(); updateSummary(); return; } if (type === 'pathA') { // >= 2 mối lo ngại Dự báo cao (Câu 2 Ngôn ngữ diễn đạt, Câu 3 Nghe hiểu, Câu 7 Xã hội) answers[2] = 'YES'; answers[3] = 'YES'; answers[7] = 'YES'; dmPassStatus = 'fail'; } else if (type === 'pathB') { // Đúng 1 mối lo ngại Dự báo cao (Câu 2 Ngôn ngữ diễn đạt) answers[2] = 'LITTLE'; dmPassStatus = 'pass'; } else if (type === 'pathC') { // Chỉ lo ngại Hành vi (Câu 6) và Tự phục vụ (Câu 8) -> Non-predictive -> Path C answers[6] = 'YES'; answers[8] = 'LITTLE'; dmPassStatus = 'pass'; } renderDmBanner(); renderQuestions(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); pdWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { pdWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 980px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } selChildAge.onchange = function() { childAgeMonths = parseInt(this.value, 10) || 24; renderDmBanner(); renderQuestions(); updateSummary(); }; selBarrier.onchange = function() { hasCommBarrier = (this.value === 'yes'); updateSummary(); }; btnDmPass.onclick = () => { dmPassStatus = 'pass'; renderDmBanner(); updateSummary(); }; btnDmFail.onclick = () => { dmPassStatus = 'fail'; renderDmBanner(); updateSummary(); }; shadow.querySelectorAll('.pd-pbtn[data-preset]').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-preset')); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); applyPreset('pathA'); })();
PEDS (Parents’ Evaluation of Developmental Status): Bộ câu hỏi sàng lọc phát triển dựa trên mối bận tâm của cha mẹ (dành cho trẻ 0 – 8 tuổi). Cùng với ASQ-3 và M-CHAT-R/F, đây là bộ công cụ được Bộ Y tế Việt Nam và Viện Hàn lâm Nhi khoa Hoa Kỳ (AAP) khuyến cáo sử dụng rộng rãi nhất.
Công cụ được phát triển bởi Giáo sư Frances Page Glascoe (Đại học Vanderbilt, Hoa Kỳ — xuất bản năm 1997, cập nhật hệ thống PEDS-R và kết hợp cùng PEDS:DM).
1. Điểm khác biệt độc đáo của PEDS so với ASQ-3 và Denver II
Nếu như ASQ-3 hay Denver II hỏi cha mẹ xem “Trẻ đã làm được kỹ năng X chưa?”, thì PEDS đi theo hướng ngược lại nhưng cực kỳ nhạy bén: khai thác trực tiếp Những mối lo ngại của cha mẹ (Parental Concerns) qua 10 câu hỏi(chỉ mất 2 – 5 phút), sau đó phân loại mối lo ngại đó thuộc nhóm Có giá trị dự báo nguy cơ cao (Predictive Concerns)hay Ít có giá trị dự báo (Non-predictive Concerns) dựa trên độ tuổi cụ thể của trẻ.
-
Độ tuổi áp dụng: Từ sơ sinh (0 tháng) đến 8 tuổi (95 tháng / 7 tuổi 11 tháng).
-
Cấu trúc 10 câu hỏi chuẩn của PEDS (Response Form):
-
Câu 1 (Mở đầu): “Anh/chị có bất kỳ lo lắng nào về cách học tập, sự phát triển hoặc hành vi của con không?”
-
Câu 2 – 9 (8 Lĩnh vực cốt lõi): Hỏi cụ thể mối lo ngại về:
-
Ngôn ngữ Diễn đạt & Phát âm (Expressive Language and Articulation –
EL) -
Ngôn ngữ Tiếp nhận / Nghe hiểu (Receptive Language –
RL) -
Vận động Tinh (Fine Motor –
FM) -
Vận động Thô (Gross Motor –
GM) -
Hành vi (Behavior –
BEH) -
Cảm xúc – Xã hội (Social-Emotional –
SE) -
Tự phục vụ cá nhân (Self-Help –
SH) -
Học tập / Tiền học đường (School / Pre-academic –
SCH)
-
-
Câu 10 (Y khoa / Khác): Các mối lo ngại về thính lực, thị lực, giấc ngủ, ăn uống hoặc sức khỏe toàn trạng (Global/Cognitive & Health).
-
2. Ma trận “Mối lo ngại Dự báo (Predictive)” theo Độ tuổi & 5 Lộ trình Xử trí (Paths A – E)
Điểm cốt lõi trên Phiếu chấm điểm PEDS (PEDS Score Form) là: một mối lo ngại ở lĩnh vực này có thể chỉ là bình thường ở tuổi nhỏ, nhưng khi trẻ lớn hơn mà cha mẹ vẫn lo ngại thì nó trở thành Chỉ báo Dự báo Nguy cơ Cao (Predictive / Significant Concern):
Dựa trên số lượng mối lo ngại Dự báo (Predictive) và Không dự báo (Non-predictive), PEDS tự động phân trẻ vào 1 trong 5 Lộ trình Quyết định Lâm sàng (Paths A, B, C, D, E):
[Phát triển chung] Denver II: Công cụ sàng lọc phát triển tâm thần – vận động kinh điển cho trẻ 0 – 6 tuổi
(function() { const host = document.getElementById('denver2-wp-host'); if (!host) return; const placeholder = document.createComment('denver2-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // Cấu hình 4 Lĩnh vực chuẩn của Denver II (Tổng 125 mục) const domConfigs = { ps: { code: 'ps', name: '1. Cá nhân – Xã hội (Personal-Social)', count: 25, color: '#2563eb' }, fm: { code: 'fm', name: '2. Vận động Tinh – Thích ứng (Fine Motor)', count: 29, color: '#0d9488' }, la: { code: 'la', name: '3. Ngôn ngữ (Language)', count: 39, color: '#7c3aed' }, gm: { code: 'gm', name: '4. Vận động Thô (Gross Motor)', count: 32, color: '#ea580c' } }; // Đầy đủ 125 mục chuẩn Denver II với mốc tháng tuổi [p25, p50, p75, p90] // rAllow: true nếu cho phép chấm qua Báo cáo của phụ huynh [R] const items = [ // ===================================================== // 1. CÁ NHÂN - XÃ HỘI (PERSONAL-SOCIAL • 25 MỤC) // ===================================================== { id: 1, dom: 'ps', rAllow: false, p: [0.1, 0.2, 0.7, 1.3], t: 'Nhìn chăm chú vào khuôn mặt người đối diện' }, { id: 2, dom: 'ps', rAllow: true, p: [0.3, 0.7, 1.2, 1.8], t: 'Mỉm cười đáp lại khi được trò chuyện / trêu đùa' }, { id: 3, dom: 'ps', rAllow: false, p: [0.7, 1.2, 1.8, 2.4], t: 'Mỉm cười tự phát với người xung quanh' }, { id: 4, dom: 'ps', rAllow: false, p: [1.5, 2.3, 3.2, 4.2], t: 'Nhìn ngắm bàn tay của chính mình' }, { id: 5, dom: 'ps', rAllow: false, p: [3.8, 4.7, 5.6, 6.8], t: 'Cố gắng với lấy đồ chơi nằm ngoài tầm tay' }, { id: 6, dom: 'ps', rAllow: true, p: [4.8, 5.6, 6.5, 7.5], t: 'Tự cầm bánh quy ăn một mình' }, { id: 7, dom: 'ps', rAllow: false, p: [5.5, 6.8, 8.2, 9.8], t: 'Chơi trò Ú òa (Peek-a-boo) cùng người lớn' }, { id: 8, dom: 'ps', rAllow: false, p: [6.5, 8.0, 9.5, 11.2], t: 'Cố gắng giữ lại đồ chơi khi người khám kéo nhẹ' }, { id: 9, dom: 'ps', rAllow: true, p: [7.0, 8.6, 10.5, 13.5], t: 'Biết vẫy tay chào tạm biệt ("Bye-bye")' }, { id: 10, dom: 'ps', rAllow: true, p: [7.5, 9.2, 11.0, 13.8], t: 'Biết vỗ tay (hoan hô) theo người lớn' }, { id: 11, dom: 'ps', rAllow: true, p: [9.5, 11.2, 13.0, 15.5],t: 'Biết thể hiện ý muốn (chỉ tay/ra hiệu không khóc)' }, { id: 12, dom: 'ps', rAllow: false, p: [10.0, 11.8, 14.0, 16.5],t: 'Chơi lăn bóng qua lại với người khám' }, { id: 13, dom: 'ps', rAllow: true, p: [10.5, 12.5, 15.0, 17.5],t: 'Tự cầm cốc uống nước không đổ nhiều' }, { id: 14, dom: 'ps', rAllow: true, p: [11.5, 13.8, 16.2, 19.5],t: 'Bắt chước làm việc nhà (lau bàn, quét nhà)' }, { id: 15, dom: 'ps', rAllow: true, p: [13.0, 15.2, 18.0, 21.0],t: 'Tự dùng thìa/muỗng xúc ăn (còn rơi vãi ít)' }, { id: 16, dom: 'ps', rAllow: true, p: [14.5, 17.5, 20.5, 24.0],t: 'Tự cởi bỏ một món quần áo (giày, tất, mũ, quần)' }, { id: 17, dom: 'ps', rAllow: false, p: [15.5, 18.5, 21.5, 25.0],t: 'Đút cho búp bê ăn (Chơi giả vờ với búp bê)' }, { id: 18, dom: 'ps', rAllow: true, p: [18.0, 21.5, 25.5, 30.0],t: 'Tự mặc được một món quần áo (quần đùi, áo khoác)' }, { id: 19, dom: 'ps', rAllow: true, p: [19.0, 23.5, 28.5, 34.0],t: 'Đánh răng khi có người lớn hướng dẫn/hỗ trợ' }, { id: 20, dom: 'ps', rAllow: true, p: [20.0, 24.5, 30.0, 36.0],t: 'Tự rửa tay bằng xà phòng và lau khô tay' }, { id: 21, dom: 'ps', rAllow: true, p: [25.0, 30.5, 36.5, 42.5],t: 'Kể được tên của ít nhất 1 người bạn cùng chơi' }, { id: 22, dom: 'ps', rAllow: true, p: [26.0, 31.5, 38.0, 44.0],t: 'Tự mặc được áo thun/áo chui đầu' }, { id: 23, dom: 'ps', rAllow: true, p: [30.0, 36.0, 43.0, 50.0],t: 'Tự mặc quần áo hoàn toàn không cần giúp đỡ' }, { id: 24, dom: 'ps', rAllow: false, p: [33.0, 40.5, 48.0, 56.0],t: 'Chơi các trò chơi bàn cờ/thẻ bài chờ đến lượt' }, { id: 25, dom: 'ps', rAllow: true, p: [36.0, 44.0, 52.0, 60.0],t: 'Tự đánh răng độc lập và tự chuẩn bị đồ ăn nhẹ (bánh/ngũ cốc)' }, // ===================================================== // 2. VẬN ĐỘNG TINH - THÍCH ỨNG (FINE MOTOR-ADAPTIVE • 29 MỤC) // ===================================================== { id: 26, dom: 'fm', rAllow: false, p: [0.1, 0.3, 0.9, 1.5], t: 'Mắt nhìn theo quả bông đỏ di chuyển tới đường giữa' }, { id: 27, dom: 'fm', rAllow: false, p: [0.5, 1.1, 1.8, 2.6], t: 'Mắt nhìn theo quả bông đỏ vượt qua đường giữa' }, { id: 28, dom: 'fm', rAllow: false, p: [1.5, 2.3, 3.1, 3.8], t: 'Cầm giữ lục lạc khi được đặt vào lòng bàn tay' }, { id: 29, dom: 'fm', rAllow: false, p: [1.8, 2.6, 3.5, 4.3], t: 'Chắp hai bàn tay lại với nhau ở trước ngực' }, { id: 30, dom: 'fm', rAllow: false, p: [2.2, 3.1, 4.0, 4.9], t: 'Mắt nhìn theo vật di chuyển góc 180 độ hoàn chỉnh' }, { id: 31, dom: 'fm', rAllow: false, p: [2.8, 3.6, 4.5, 5.4], t: 'Nhìn chú ý vào viên nho khô (vật rất nhỏ) trên bàn' }, { id: 32, dom: 'fm', rAllow: false, p: [3.3, 4.2, 5.1, 6.0], t: 'Với tay nắm lấy đồ chơi đưa trước mặt' }, { id: 33, dom: 'fm', rAllow: false, p: [4.2, 5.1, 6.0, 7.2], t: 'Nhìn tìm kiếm sợi chỉ đỏ bị thả rơi xuống sàn' }, { id: 34, dom: 'fm', rAllow: false, p: [4.8, 5.6, 6.5, 7.5], t: 'Dùng cả bàn tay cào lấy viên nho khô/hạt nhỏ' }, { id: 35, dom: 'fm', rAllow: false, p: [5.0, 5.8, 6.7, 7.8], t: 'Chuyển khối gỗ từ tay này sang tay kia' }, { id: 36, dom: 'fm', rAllow: false, p: [5.6, 6.5, 7.5, 8.8], t: 'Mỗi tay cầm giữ đồng thời 1 khối gỗ (2 khối cùng lúc)' }, { id: 37, dom: 'fm', rAllow: false, p: [7.2, 8.2, 9.4, 10.6], t: 'Nhặt viên nho khô bằng ngón cái và ngón trỏ (Pincer grasp)' }, { id: 38, dom: 'fm', rAllow: false, p: [7.5, 8.8, 10.2, 11.8], t: 'Đập hai khối gỗ trên hai tay vào nhau ở đường giữa' }, { id: 39, dom: 'fm', rAllow: false, p: [9.5, 10.8, 12.2, 14.0],t: 'Bỏ khối gỗ vào trong lòng chiếc cốc nhựa' }, { id: 40, dom: 'fm', rAllow: false, p: [11.5, 13.2, 15.0, 17.0],t: 'Cầm bút sáp vẽ nguệch ngoạc tự phát trên giấy' }, { id: 41, dom: 'fm', rAllow: false, p: [12.5, 14.5, 16.8, 19.5],t: 'Dốc ngược lọ nhỏ để đổ viên nho khô ra ngoài (sau khi xem mẫu)' }, { id: 42, dom: 'fm', rAllow: false, p: [13.5, 15.8, 18.2, 20.8],t: 'Xếp chồng tháp gồm 2 khối gỗ vuông đứng vững' }, { id: 43, dom: 'fm', rAllow: false, p: [16.5, 19.0, 22.0, 25.5],t: 'Xếp chồng tháp gồm 4 khối gỗ vuông đứng vững' }, { id: 44, dom: 'fm', rAllow: false, p: [19.5, 22.8, 26.5, 30.5],t: 'Xếp chồng tháp gồm 6 khối gỗ vuông đứng vững' }, { id: 45, dom: 'fm', rAllow: false, p: [22.0, 26.0, 30.0, 35.0],t: 'Bắt chước vẽ một đường thẳng đứng trên giấy' }, { id: 46, dom: 'fm', rAllow: false, p: [24.0, 29.0, 34.5, 40.5],t: 'Xếp chồng tháp gồm 8 khối gỗ vuông đứng vững' }, { id: 47, dom: 'fm', rAllow: false, p: [28.0, 33.0, 38.5, 44.0],t: 'Cử động ngón cái độc lập khi nắm tay (Thumb wiggle)' }, { id: 48, dom: 'fm', rAllow: false, p: [31.0, 36.0, 41.5, 47.5],t: 'Sao chép hình tròn khép kín khi nhìn thẻ mẫu' }, { id: 49, dom: 'fm', rAllow: false, p: [36.0, 41.5, 48.0, 55.0],t: 'Vẽ hình người có ít nhất 3 bộ phận cơ thể' }, { id: 50, dom: 'fm', rAllow: false, p: [38.0, 44.0, 50.5, 57.5],t: 'Sao chép hình chữ thập (+) khi nhìn thẻ mẫu' }, { id: 51, dom: 'fm', rAllow: false, p: [40.0, 46.5, 53.5, 60.5],t: 'Chỉ đúng đường thẳng nào dài hơn (Đạt 3/3 lần thử)' }, { id: 52, dom: 'fm', rAllow: false, p: [46.0, 53.0, 60.0, 67.0],t: 'Sao chép hình vuông khi nhìn mẫu (không cần xem vẽ mẫu)' }, { id: 53, dom: 'fm', rAllow: false, p: [48.0, 55.0, 62.5, 70.0],t: 'Sao chép hình vuông sau khi được xem người khám vẽ mẫu' }, { id: 54, dom: 'fm', rAllow: false, p: [50.0, 57.5, 65.0, 72.0],t: 'Vẽ hình người đầy đủ có từ 6 bộ phận cơ thể trở lên' }, // ===================================================== // 3. NGÔN NGỮ (LANGUAGE • 39 MỤC) // ===================================================== { id: 55, dom: 'la', rAllow: false, p: [0.1, 0.2, 0.5, 1.0], t: 'Phản ứng với tiếng chuông lắc (chớp mắt, giật mình, dừng cử động)' }, { id: 56, dom: 'la', rAllow: true, p: [0.2, 0.6, 1.2, 1.8], t: 'Phát ra các âm thanh nhỏ trong cổ họng (ngoài tiếng khóc)' }, { id: 57, dom: 'la', rAllow: false, p: [1.0, 1.6, 2.3, 3.0], t: 'Phát âm gù gù (OOH / AAH) khi thoải mái' }, { id: 58, dom: 'la', rAllow: false, p: [1.4, 2.1, 2.9, 3.8], t: 'Cười thành tiếng lớn (Laughs)' }, { id: 59, dom: 'la', rAllow: false, p: [1.8, 2.7, 3.8, 4.8], t: 'Reo hét lên vì thích thú (Squeals)' }, { id: 60, dom: 'la', rAllow: false, p: [3.2, 4.2, 5.2, 6.4], t: 'Quay đầu về phía phát ra giọng nói của người khám' }, { id: 61, dom: 'la', rAllow: false, p: [3.8, 4.8, 5.8, 7.0], t: 'Quay đầu tìm chính xác hướng phát ra tiếng lục lạc' }, { id: 62, dom: 'la', rAllow: false, p: [5.0, 6.0, 7.2, 8.5], t: 'Bắt chước các âm thanh lời nói của người lớn' }, { id: 63, dom: 'la', rAllow: false, p: [5.4, 6.4, 7.6, 9.0], t: 'Bập bẹ các âm tiết đơn (ba, đa, ga, ma)' }, { id: 64, dom: 'la', rAllow: false, p: [6.0, 7.2, 8.6, 10.2], t: 'Phát âm chuỗi âm tiết lặp lại (ba-ba, đa-đa, ma-ma không đặc hiệu)' }, { id: 65, dom: 'la', rAllow: false, p: [6.5, 7.8, 9.2, 11.0], t: 'Kết hợp các âm tiết khác nhau (đa-ga, ba-đa)' }, { id: 66, dom: 'la', rAllow: true, p: [7.5, 9.2, 11.2, 13.5], t: 'Nói "Bà / Bố / Mẹ" đúng người (Đặc hiệu)' }, { id: 67, dom: 'la', rAllow: true, p: [9.0, 11.0, 13.0, 15.2],t: 'Nói được ít nhất 1 từ đơn có nghĩa (ngoài Bố/Mẹ)' }, { id: 68, dom: 'la', rAllow: true, p: [10.5, 12.2, 14.5, 17.0],t: 'Nói được 2 từ đơn có nghĩa' }, { id: 69, dom: 'la', rAllow: true, p: [11.8, 13.8, 16.2, 19.0],t: 'Nói được 3 từ đơn có nghĩa' }, { id: 70, dom: 'la', rAllow: true, p: [13.5, 16.0, 19.0, 22.5],t: 'Nói được 6 từ đơn có nghĩa trở lên' }, { id: 71, dom: 'la', rAllow: false, p: [15.0, 17.8, 21.0, 24.5],t: 'Chỉ đúng ít nhất 2 bức tranh khi người khám gọi tên' }, { id: 72, dom: 'la', rAllow: true, p: [16.5, 19.5, 23.0, 26.5],t: 'Kết hợp 2 từ thành cụm từ có nghĩa ("Uống nước", "Đi chơi")' }, { id: 73, dom: 'la', rAllow: false, p: [17.5, 20.5, 24.0, 28.0],t: 'Gọi đúng tên ít nhất 1 bức tranh trên bảng tranh Denver' }, { id: 74, dom: 'la', rAllow: false, p: [18.5, 21.5, 25.0, 29.5],t: 'Chỉ đúng ít nhất 6 bộ phận cơ thể trên búp bê/bản thân' }, { id: 75, dom: 'la', rAllow: false, p: [20.0, 24.0, 28.5, 33.5],t: 'Chỉ đúng 4 bức tranh khi người khám gọi tên' }, { id: 76, dom: 'la', rAllow: false, p: [21.0, 25.5, 30.5, 36.0],t: 'Lời nói của trẻ dễ hiểu được một nửa (50% người lạ hiểu)' }, { id: 77, dom: 'la', rAllow: false, p: [24.0, 29.0, 34.5, 40.0],t: 'Gọi đúng tên 4 bức tranh trên bảng tranh Denver' }, { id: 78, dom: 'la', rAllow: false, p: [26.0, 31.0, 37.0, 43.0],t: 'Biết công dụng của 2 đồ vật ("Cái gì dùng để uống/để viết?")' }, { id: 79, dom: 'la', rAllow: false, p: [28.0, 33.5, 39.5, 46.0],t: 'Đếm và lấy đúng 1 khối gỗ khi được yêu cầu' }, { id: 80, dom: 'la', rAllow: false, p: [29.0, 35.0, 41.5, 48.0],t: 'Biết công dụng của 3 đồ vật quen thuộc' }, { id: 81, dom: 'la', rAllow: false, p: [30.0, 36.0, 42.5, 49.5],t: 'Biết ít nhất 2 hành động trong tranh ("Con gì đang bay/đang kêu meo?")' }, { id: 82, dom: 'la', rAllow: false, p: [32.0, 38.5, 45.5, 52.5],t: 'Hiểu 2 tính từ trạng thái ("Khi bị lạnh/mệt/đói con làm gì?")' }, { id: 83, dom: 'la', rAllow: false, p: [34.0, 40.5, 48.0, 55.0],t: 'Gọi đúng tên ít nhất 1 màu sắc cơ bản' }, { id: 84, dom: 'la', rAllow: false, p: [36.0, 42.5, 50.0, 57.5],t: 'Hiểu và thực hiện đúng 4 giới từ (Trên, Dưới, Trước, Sau)' }, { id: 85, dom: 'la', rAllow: false, p: [37.0, 44.0, 51.5, 59.0],t: 'Lời nói của trẻ hoàn toàn rõ ràng, dễ hiểu 100%' }, { id: 86, dom: 'la', rAllow: false, p: [39.0, 46.0, 53.5, 61.5],t: 'Hiểu 4 hành động trong bảng tranh Denver' }, { id: 87, dom: 'la', rAllow: false, p: [42.0, 49.0, 57.0, 65.0],t: 'Định nghĩa đúng ít nhất 5 từ vựng (Bóng, Hồ, Bàn, Nhà, Chuối, Rèm...)' }, { id: 88, dom: 'la', rAllow: false, p: [44.0, 51.0, 58.5, 66.5],t: 'Gọi đúng tên 4 màu sắc (Đỏ, Xanh dương, Vàng, Xanh lá)' }, { id: 89, dom: 'la', rAllow: false, p: [46.0, 53.0, 60.5, 68.0],t: 'Hiểu 3 tính từ trạng thái (Lạnh, Mệt, Đói)' }, { id: 90, dom: 'la', rAllow: false, p: [48.0, 55.5, 63.0, 70.0],t: 'Đếm và lấy đúng 5 khối gỗ theo yêu cầu' }, { id: 91, dom: 'la', rAllow: false, p: [50.0, 57.5, 65.0, 71.0],t: 'Biết tìm 2 cặp từ trái nghĩa ("Lửa thì nóng, nước đá thì...")' }, { id: 92, dom: 'la', rAllow: false, p: [52.0, 59.5, 67.0, 72.0],t: 'Định nghĩa đúng ít nhất 7 từ vựng chuẩn' }, { id: 93, dom: 'la', rAllow: false, p: [54.0, 61.5, 68.5, 72.0],t: 'Hiểu chất liệu tạo nên 3 đồ vật ("Thìa/Giày/Cửa làm bằng gì?")' }, // ===================================================== // 4. VẬN ĐỘNG THÔ (GROSS MOTOR • 32 MỤC) // ===================================================== { id: 94, dom: 'gm', rAllow: false, p: [0.1, 0.2, 0.5, 0.9], t: 'Cử động hai tay và hai chân đồng đều khi nằm ngửa' }, { id: 95, dom: 'gm', rAllow: false, p: [0.1, 0.4, 0.9, 1.5], t: 'Nằm sấp tự nhấc đầu rời khỏi mặt bàn/giường' }, { id: 96, dom: 'gm', rAllow: false, p: [0.8, 1.5, 2.3, 3.2], t: 'Nằm sấp nâng đầu lên góc 45 độ giữ vững' }, { id: 97, dom: 'gm', rAllow: false, p: [1.5, 2.2, 3.1, 4.0], t: 'Nằm sấp nâng đầu và ngực góc 90 độ' }, { id: 98, dom: 'gm', rAllow: false, p: [1.8, 2.7, 3.6, 4.5], t: 'Giữ đầu thẳng vững vàng khi được bế ngồi' }, { id: 99, dom: 'gm', rAllow: false, p: [2.2, 3.2, 4.2, 5.2], t: 'Nằm sấp chống hai cẳng tay nâng ngực cao' }, { id: 100, dom: 'gm', rAllow: true, p: [2.5, 3.6, 4.6, 5.6], t: 'Tự lẫy lật người (từ sấp sang ngửa hoặc ngược lại)' }, { id: 101, dom: 'gm', rAllow: false, p: [3.2, 4.2, 5.2, 6.3], t: 'Kéo hai tay từ nằm ngửa lên ngồi đầu không bị trễ ra sau' }, { id: 102, dom: 'gm', rAllow: false, p: [3.8, 4.8, 5.8, 6.8], t: 'Chịu một phần trọng lượng cơ thể trên hai chân khi được giữ đứng' }, { id: 103, dom: 'gm', rAllow: false, p: [5.2, 5.9, 6.8, 7.8], t: 'Tự ngồi vững không cần đỡ lưng trong ít nhất 5 – 30 giây' }, { id: 104, dom: 'gm', rAllow: false, p: [6.5, 7.6, 8.8, 10.0], t: 'Vịn thành bàn/ghế tự kéo người đứng dậy' }, { id: 105, dom: 'gm', rAllow: true, p: [7.0, 8.2, 9.4, 10.6], t: 'Tự chuyển về tư thế ngồi độc lập (từ nằm hoặc bò)' }, { id: 106, dom: 'gm', rAllow: false, p: [7.2, 8.5, 9.8, 11.2], t: 'Đứng vững vàng khi vịn vào đồ đạc (> 5 giây)' }, { id: 107, dom: 'gm', rAllow: false, p: [9.2, 10.4, 11.6, 13.0],t: 'Tự đứng độc lập một mình được khoảng 2 giây' }, { id: 108, dom: 'gm', rAllow: false, p: [10.0, 11.5, 13.0, 14.5],t: 'Tự đứng vững một mình trên 10 giây không cần vịn' }, { id: 109, dom: 'gm', rAllow: false, p: [11.0, 12.3, 13.8, 15.2],t: 'Đứng vững cúi xuống nhặt đồ vật rồi đứng thẳng lên không ngã' }, { id: 110, dom: 'gm', rAllow: false, p: [11.2, 12.5, 14.0, 15.5],t: 'Đi độc lập vững vàng không bị ngã' }, { id: 111, dom: 'gm', rAllow: true, p: [12.5, 14.2, 16.5, 19.0],t: 'Đi lùi về phía sau 2 – 3 bước' }, { id: 112, dom: 'gm', rAllow: false, p: [13.5, 15.8, 18.0, 20.5],t: 'Chạy vững vàng về phía trước' }, { id: 113, dom: 'gm', rAllow: true, p: [14.0, 16.8, 19.5, 22.5],t: 'Bước lên các bậc cầu thang' }, { id: 114, dom: 'gm', rAllow: false, p: [15.5, 18.2, 21.0, 24.0],t: 'Đá quả bóng lăn về phía trước mà không cần vịn' }, { id: 115, dom: 'gm', rAllow: false, p: [19.5, 22.8, 26.5, 30.0],t: 'Nhảy tại chỗ hai chân rời mặt sàn cùng lúc' }, { id: 116, dom: 'gm', rAllow: false, p: [20.0, 23.8, 28.0, 32.5],t: 'Đứng ném bóng qua đầu về phía người khám' }, { id: 117, dom: 'gm', rAllow: false, p: [24.0, 28.5, 33.0, 38.0],t: 'Nhảy xa về phía trước qua tờ giấy rộng 22cm (Broad jump)' }, { id: 118, dom: 'gm', rAllow: false, p: [22.5, 27.0, 32.0, 37.0],t: 'Đứng thăng bằng trên 1 chân được 1 giây' }, { id: 119, dom: 'gm', rAllow: false, p: [26.0, 31.0, 36.5, 42.0],t: 'Đứng thăng bằng trên 1 chân được 2 giây' }, { id: 120, dom: 'gm', rAllow: false, p: [30.0, 35.5, 41.5, 48.0],t: 'Đứng thăng bằng trên 1 chân được 3 giây' }, { id: 121, dom: 'gm', rAllow: false, p: [36.0, 41.5, 48.0, 54.5],t: 'Nhảy lò cò trên 1 chân liên tiếp 2 – 3 bước' }, { id: 122, dom: 'gm', rAllow: false, p: [38.0, 44.0, 51.0, 58.0],t: 'Đứng thăng bằng trên 1 chân được 4 giây' }, { id: 123, dom: 'gm', rAllow: false, p: [41.0, 47.5, 55.0, 62.0],t: 'Đứng thăng bằng trên 1 chân được 5 giây' }, { id: 124, dom: 'gm', rAllow: false, p: [45.0, 52.0, 59.5, 67.0],t: 'Đi nối gót (mũi chân sau chạm sát gót chân trước) 4 bước liên tiếp' }, { id: 125, dom: 'gm', rAllow: false, p: [48.0, 55.5, 63.5, 71.0],t: 'Đứng thăng bằng vững vàng trên 1 chân trong 6 giây trở lên' } ]; // answers[id] lưu: 'P' (Pass - Đạt), 'F' (Fail - Không đạt), 'R' (Refusal - Từ chối), 'NO' (No Opportunity - Không có cơ hội) let answers = {}; let childAgeMonths = 24.0; // Tuổi thực (Tháng) let prematureWeeks = 0; // Số tuần sinh non (nếu sinh trước 38 tuần và trẻ <= 24 tháng) let filterDom = 'all'; // 'all' | 'ps' | 'fm' | 'la' | 'gm' let viewMode = 'age_window'; // 'age_window' (Chỉ hiện mục quanh Đường tuổi của trẻ) | 'all' (Hiện toàn bộ 125 mục) let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .dv-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .dv-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .dv-inner { padding: 24px; max-width: 980px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .dv-wrap.is-fullscreen .dv-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .dv-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(13, 148, 136, 0.45), 0 0 0 0 rgba(13, 148, 136, 0.4); } 70% { box-shadow: 0 6px 20px rgba(13, 148, 136, 0.45), 0 0 0 10px rgba(13, 148, 136, 0); } 100% { box-shadow: 0 6px 20px rgba(13, 148, 136, 0.45), 0 0 0 0 rgba(13, 148, 136, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #0f766e 0%, #0d9488 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(13, 148, 136, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Header */ .dv-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .dv-header-text { flex: 1 1 260px; } .dv-title { font-size: 21px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .dv-desc { font-size: 14px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #f0fdfa; color: #0f766e; border: 1px solid #99f6e4; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #0d9488; color: #ffffff; border-color: #0d9488; } /* Khu vực thiết lập Đường tuổi (Age Line) & Kịch bản */ .dv-age-panel { display: grid; grid-template-columns: 1.15fr 1fr 1.1fr; gap: 12px; background: #f8fafc; border: 1px solid #cbd5e1; border-radius: 12px; padding: 14px; margin-bottom: 14px; } .dv-ctrl-box { display: flex; flex-direction: column; gap: 6px; } .dv-ctrl-lbl { font-size: 12px; font-weight: 800; color: #0f172a; text-transform: uppercase; } .dv-input-row { display: flex; gap: 6px; align-items: center; } .dv-select, .dv-num-input { padding: 8px 10px; border: 1px solid #94a3b8; border-radius: 7px; font-size: 13.5px; font-weight: 700; color: #0f172a; background: #ffffff; width: 100%; } .dv-presets-bar { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; margin-bottom: 14px; } .dv-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; touch-action: manipulation; } .dv-pbtn:hover { background: #f1f5f9; } .dv-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } .dv-domain-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 16px; } .dv-dtab { padding: 6px 12px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .dv-dtab.active { background: #0f766e; color: #ffffff; border-color: #0f766e; } /* Sticky Dashboard */ .dv-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .dv-wrap.is-fullscreen .dv-dash { top: 58px; } .dv-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .dv-score-big { font-size: 21px; font-weight: 800; line-height: 1.2; } .dv-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .dv-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .dv-pillars { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; font-size: 12px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .dv-pillar-box { background: #1e293b; padding: 7px 10px; border-radius: 8px; } .dv-pillar-val { font-weight: 700; color: #ffffff; font-size: 13.5px; display: block; margin-top: 2px; } /* Danh sách 125 mục kèm Thanh bách phân vị (25% - 50% - 75% - 90%) */ .dv-item { border: 1px solid #e2e8f0; border-radius: 10px; padding: 13px 15px; margin-bottom: 10px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 8px; } .dv-item.status-delay { border-color: #fca5a5; background: #fff5f5; border-left: 5px solid #ef4444; } .dv-item.status-caution { border-color: #fde68a; background: #fffbeb; border-left: 5px solid #f59e0b; } .dv-item.status-pass { border-color: #a7f3d0; background: #f0fdf4; } .dv-item-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; flex-wrap: wrap; } .dv-item-title { font-size: 14.5px; font-weight: 700; color: #0f172a; } .dv-tags { display: flex; flex-wrap: wrap; gap: 6px; } .dv-tag { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .dv-tag.tag-delay { background: #fee2e2; color: #b91c1c; } .dv-tag.tag-caution { background: #fef3c7; color: #b45309; } .dv-tag.tag-normal { background: #dcfce7; color: #15803d; } /* Thanh trực quan hóa Mốc 25% - 50% - 75% - 90% so với Đường tuổi */ .dv-bar-visual { display: flex; align-items: center; gap: 8px; background: #f8fafc; border: 1px solid #e2e8f0; padding: 6px 10px; border-radius: 6px; font-size: 12px; color: #334155; flex-wrap: wrap; } .dv-pct-chip { padding: 2px 7px; border-radius: 4px; background: #e2e8f0; font-weight: 600; } .dv-pct-chip.zone-75-90 { background: #cbd5e1; color: #0f172a; font-weight: 800; } /* 4 nút chấm chuẩn Denver II: P, F, R, NO */ .dv-ans-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; } .dv-abtn { padding: 8px 6px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 700; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .dv-abtn:hover { border-color: #64748b; } .dv-abtn.sel-P { background: #10b981; border-color: #10b981; color: #ffffff; } .dv-abtn.sel-F { background: #ef4444; border-color: #ef4444; color: #ffffff; } .dv-abtn.sel-R { background: #f59e0b; border-color: #f59e0b; color: #ffffff; } .dv-abtn.sel-NO { background: #64748b; border-color: #64748b; color: #ffffff; } .dv-result-box { margin-top: 20px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #0d9488; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 740px) { .dv-inner { padding: 14px; } .dv-title { font-size: 18px; } .dv-age-panel { grid-template-columns: 1fr; } .dv-pillars { grid-template-columns: 1fr 1fr; } .dv-ans-grid { grid-template-columns: 1fr 1fr; } .dv-pbtn.reset { margin-left: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
Trắc Nghiệm Sàng Lọc Phát Triển Tâm Thần – Vận Động Denver II (125 Mục • 0 – 72 Tháng)
Công cụ sàng lọc chuẩn hóa của Frankenburg & Dodds (1992) trên 4 lĩnh vực: Cá nhân – Xã hội (25 mục), Vận động Tinh – Thích ứng (29 mục), Ngôn ngữ (39 mục) và Vận động Thô (32 mục). Hệ thống tự động kẻ Đường tuổi (Age Line), xác định các mục Chậm (Delay >90%), Cảnh báo (Caution 75–90%) và đưa ra kết luận sàng lọc chuẩn.
• Trẻ đã Từ chối thực hiện (R) ở ${totalRefDelays} mục nằm bên trái Đường tuổi (>90%) và ${totalRefCautions} mục trong vùng 75%–90%.
• Hướng xử trí chuẩn Denver II: Đặt lịch hẹn đánh giá lại cho trẻ sau 1 đến 2 tuần (khi trẻ khỏe mạnh, tỉnh táo và hợp tác tốt hơn). Nếu lần khám lại trẻ vẫn tiếp tục không thực hiện được, cần chuyển sang diện Nghi ngờ (Suspect) để khám chuyên khoa. `; } else if (totalDelays >= 1 || totalCautions >= 2) { color = '#ef4444'; badgeTxt = `NGHI NGỜ CHẬM PHÁT TRIỂN (SUSPECT • ${totalDelays} Delay, ${totalCautions} Caution)`; const delayNames = delayItemsList.map(i => `#${i.id} ${i.t}`).join(', '); const cautionNames = cautionItemsList.map(i => `#${i.id} ${i.t}`).join(', '); analysis = ` Kết luận Sàng lọc Denver II tại mốc ${ageLine} tháng — NGHI NGỜ (Suspect):
• Theo tiêu chuẩn của Frankenburg & Dodds, kết quả được phân loại là Nghi ngờ (Suspect) khi có từ ≥ 1 mục Chậm (Delay) và/hoặc ≥ 2 mục Cảnh báo (Caution).
• Các mục Chậm phát triển (Delay >90%): ${delayNames || 'Không có'}.
• Các mục Cảnh báo (Caution 75%–90%): ${cautionNames || 'Không có'}.
• Hướng xử trí lâm sàng: Nếu sự thiếu hụt tập trung ở lĩnh vực Ngôn ngữ (${domStats.la.delay} Delay, ${domStats.la.caution} Caution) và Cá nhân – Xã hội (${domStats.ps.delay} Delay, ${domStats.ps.caution} Caution), cần sàng lọc chuyên sâu ngay bằng M-CHAT-R/F / STAT và đánh giá toàn diện bằng KSPD / PEP-3 / Vineland-3 để can thiệp sớm. `; } else { color = (totalCautions === 1) ? '#f59e0b' : '#10b981'; badgeTxt = (totalCautions === 1) ? 'BÌNH THƯỜNG (CÓ 1 CẢNH BÁO NHẸ)' : 'PHÁT TRIỂN BÌNH THƯỜNG (NORMAL)'; analysis = ` Kết luận Sàng lọc Denver II tại mốc ${ageLine} tháng — ${badgeTxt}:
• Trẻ không có mục Chậm phát triển (Delay) nào và chỉ có ${totalCautions}/1 mục Cảnh báo (Caution) cho phép.
• Các mốc kỹ năng về Cá nhân – Xã hội, Vận động Tinh – Thích ứng, Ngôn ngữ và Vận động Thô đều đạt tương ứng với Đường tuổi ${ageLine} tháng. Khuyến nghị tiếp tục theo dõi định kỳ ở các mốc khám sức khỏe tiếp theo. `; } scoreBadge.textContent = badgeTxt; scoreBadge.style.background = color; scoreBadge.style.color = '#ffffff'; resultBox.style.borderLeftColor = color; resultBox.innerHTML = analysis; updateFloatingFabVisibility(); } function applyPreset(type) { const ageLine = getAdjustedAge(); answers = {}; if (type === 'reset') { renderItems(); updateSummary(); return; } // Mặc định đặt tất cả các mục bên trái Đường tuổi và cắt Đường tuổi là Đạt (P) items.forEach(function(it) { if (it.p[0] 1 Caution (Vẫn Normal) const cItem = items.find(it => ageLine >= it.p[2] && ageLine >= 2 Delay & Caution (Suspect) items.forEach(function(it) { if ((it.dom === 'la' || it.dom === 'ps') && it.p[3] >= (ageLine - 6) && it.p[0] Untestable const leftItems = items.filter(it => ageLine > it.p[3] && it.p[3] >= (ageLine - 6)); leftItems.slice(0, 2).forEach(it => { answers[it.id] = 'R'; }); } renderItems(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); dvWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { dvWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 980px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } inpAgeMonths.onchange = () => { applyPreset('suspect_lang'); }; quickAgeSelect.onchange = function() { inpAgeMonths.value = this.value; applyPreset('suspect_lang'); }; selPremature.onchange = () => { renderItems(); updateSummary(); }; selViewMode.onchange = function() { viewMode = this.value; renderItems(); }; shadow.querySelectorAll('.dv-pbtn').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-preset')); }; }); shadow.querySelectorAll('#domainTabs .dv-dtab').forEach(function(tab) { tab.onclick = function() { filterDom = this.getAttribute('data-dom'); shadow.querySelectorAll('#domainTabs .dv-dtab').forEach(t => t.classList.remove('active')); this.classList.add('active'); renderItems(); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); applyPreset('suspect_lang'); })();
Denver II (Denver Developmental Screening Test II — Trắc nghiệm Sàng lọc Phát triển Denver II) là công cụ sàng lọc phát triển tâm thần – vận động kinh điển và được sử dụng rộng rãi nhất tại các bệnh viện Nhi, khoa Tâm bệnh và trung tâm can thiệp sớm trên toàn thế giới (cũng như tại Việt Nam). Công cụ do Giáo sư William K. Frankenburg và Josiah B. Dodds (Đại học Colorado, Hoa Kỳ) phát triển năm 1967 và hiệu đính chuẩn hóa thành bản Denver II vào năm 1992.
1. Tóm tắt cốt lõi về công cụ Denver II
-
Độ tuổi áp dụng: Trẻ từ sơ sinh (0 tháng) đến 6 tuổi (72 tháng) (có điều chỉnh tuổi sinh non cho trẻ sinh trước 38 tuần tuổi thai đến khi trẻ tròn 24 tháng).
-
Cấu trúc 125 mục (Items) chia làm 4 Lĩnh vực phát triển:
-
Cá nhân – Xã hội (Personal-Social — 25 mục): Giao tiếp mắt, mỉm cười, tự ăn uống, mặc quần áo, đánh răng, chơi tương tác với bạn.
-
Vận động Tinh – Thích ứng (Fine Motor-Adaptive — 29 mục): Nhìn theo vật, cầm nắm hạt nhỏ, xếp tháp khối gỗ, vẽ hình (tròn, chữ thập, vuông, hình người).
-
Ngôn ngữ (Language — 39 mục): Quay đầu tìm âm thanh, bập bẹ, nói từ đơn, chỉ tranh, gọi tên đồ vật,hiểu giới từ, định nghĩa từ.
-
Vận động Thô (Gross Motor — 32 mục): Nâng đầu, lẫy, ngồi, bò, đứng, đi, chạy, nhảy tại chỗ, đứng 1 chân, nhảy lò cò, đi nối gót.
-
-
Cơ chế “Đường tuổi” (Age Line) và Thanh bách phân vị (25% – 50% – 75% – 90%): Trên biểu đồ Denver II,mỗi kỹ năng là một thanh ngang thể hiện mốc tuổi mà 25%, 50%, 75% và 90% trẻ em bình thường thực hiện được (vùng từ 75% đến 90% được tô đậm). Người khám kẻ một Đường dọc tại đúng tháng tuổi hiện tại của trẻ (Age Line) cắt qua các thanh kỹ năng và chấm 1 trong 4 kết quả:
P(Pass – Đạt),F(Fail – Không đạt),R(Refusal – Từ chối) hoặcNO(No Opportunity – Không có cơ hội).
2. Quy tắc Phân giải từng Mục & Kết luận Tổng thể chuẩn Denver II
| Phân loại từng mục | Điều kiện xác định so với Đường tuổi (Age Line) của trẻ |
| 1. Chậm phát triển (Delay) | Đường tuổi của trẻ đã vượt hoàn toàn sang bên phải mốc 90% của thanh kỹ năng (tức là > 90% trẻ cùng tuổi đã làm được), nhưng trẻ lại Không đạt (F) hoặc Từ chối (R). |
| 2. Cảnh báo / Thận trọng (Caution) | Đường tuổi của trẻ nằm trong vùng từ 75% đến 90% của thanh kỹ năng, và trẻ Không đạt (F) hoặc Từ chối (R). |
| 3. Phát triển Vượt trội (Advanced) | Trẻ Đạt (P) một kỹ năng nằm hoàn toàn ở bên phải Đường tuổi (dưới cả mốc 25% trẻ cùng tuổi làm được). |
Kết luận Sàng lọc Tổng thể Denver II:
-
🟢 BÌNH THƯỜNG (Normal): Không có mục Chậm (Delay) nào VÀ có tối đa 1 mục Cảnh báo (Caution).
-
🟡 NGHI NGỜ (Suspect): Có từ mục Cảnh báo (Caution) VÀ/HOẶC có từ mục Chậm (Delay) Cần sàng lọc lại sau 1–2 tuần hoặc chuyển gửi đánh giá chuyên sâu (PEP-3, KSPD, Vineland-3, ADOS-2).
-
⚪ KHÔNG ĐÁNH GIÁ ĐƯỢC (Untestable): Trẻ Từ chối (
R) ở mục nằm hoàn toàn bên trái đường tuổi () hoặc ở mục nằm trong vùng 75%−90%.
Chẩn đoán chuyên sâu
(function(){
function mountShadowDiagTable(){
var host = document.getElementById('phuchoi-diag-host');
if(!host) return;
if(host.shadowRoot) return;
if(!host.attachShadow) return;
var shadow = host.attachShadow({mode:'open'});
var css = [
':host{all:initial;display:block;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:#1e293b;line-height:1.6;width:100%;box-sizing:border-box;}',
'*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}',
'.diag-card{width:100%;background:#ffffff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 8px 24px rgba(15,23,42,0.05);overflow:hidden;}',
'.diag-intro{background:linear-gradient(135deg,#f0fdfa 0%,#ccfbf1 100%);padding:20px 24px;border-bottom:1px solid #99f6e4;display:flex;align-items:flex-start;gap:14px;}',
'.diag-icon{font-size:26px;line-height:1;background:#ffffff;width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 10px rgba(13,148,136,0.14);flex-shrink:0;}',
'.diag-intro-text{font-size:15px;color:#0f172a;margin:0;}',
'.diag-intro-text strong{color:#0f766e;font-weight:700;}',
'.diag-table{width:100%;border-collapse:collapse;border-spacing:0;}',
'.diag-table thead th{background:#f8fafc;color:#334155;font-size:12.5px;font-weight:800;text-transform:uppercase;letter-spacing:0.4px;padding:14px 20px;text-align:left;border-bottom:2px solid #e2e8f0;}',
'.diag-table tbody tr{border-bottom:1px solid #e2e8f0;transition:background 0.2s ease;}',
'.diag-table tbody tr:last-child{border-bottom:none;}',
'.diag-table tbody tr:hover{background:#f8fafc;}',
'.diag-table td{padding:20px;vertical-align:top;}',
'.step-tag{display:inline-block;font-size:11px;font-weight:700;padding:2px 9px;border-radius:999px;text-transform:uppercase;margin-bottom:6px;}',
'.tag-teal{background:#ccfbf1;color:#0f766e;}',
'.tag-indigo{background:#e0e7ff;color:#4338ca;}',
'.group-badge{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:800;color:#0f172a;}',
'.tools-wrap{display:flex;flex-wrap:wrap;gap:8px;}',
'.tool-link{display:inline-flex;align-items:center;gap:5px;padding:6px 13px;border-radius:8px;font-size:13.5px;font-weight:700;text-decoration:none;transition:all 0.18s ease;border:1.5px solid transparent;cursor:pointer;}',
'.tool-link::after{content:"↗";font-size:11px;opacity:0.75;}',
'.tool-sub{font-weight:500;font-size:12px;opacity:0.85;}',
'.btn-teal{background:#f0fdfa;color:#0f766e;border-color:#99f6e4;}',
'.btn-teal:hover{background:#0d9488;color:#ffffff;border-color:#0d9488;transform:translateY(-2px);box-shadow:0 4px 10px rgba(13,148,136,0.25);}',
'.btn-indigo{background:#eef2ff;color:#4338ca;border-color:#c7d2fe;}',
'.btn-indigo:hover{background:#4f46e5;color:#ffffff;border-color:#4f46e5;transform:translateY(-2px);box-shadow:0 4px 10px rgba(79,70,229,0.25);}',
'.desc-text{font-size:14.2px;color:#334155;margin:0;}',
'@media (max-width:768px){.diag-intro{padding:16px;}.diag-table thead{display:none;}.diag-table,.diag-table tbody,.diag-table tr,.diag-table td{display:block;width:100%;}.diag-table tbody tr{padding:16px;}.diag-table td{padding:6px 0;}.tools-wrap{margin:6px 0 8px 0;}}'
].join('');
var styleEl = document.createElement('style');
styleEl.textContent = css;
shadow.appendChild(styleEl);
var rowsData = [
{
tagCls: 'tag-teal',
tagTxt: 'Trụ cột 1 • Tiêu chuẩn vàng ASD',
title: '🏅 Chẩn đoán Phổ tự kỷ',
btnCls: 'btn-teal',
tools: [
{name: 'ADOS-2', sub: '', url: 'https://phuchoi.vn/kien-thuc/cong-cu/chuan-doan-chuyen-sau/ados-2/'},
{name: 'ADI-R', sub: '', url: 'https://phuchoi.vn/kien-thuc/cong-cu/chuan-doan-chuyen-sau/adi-r/'},
{name: 'CARS-2', sub: '', url: 'https://phuchoi.vn/kien-thuc/cong-cu/chuan-doan-chuyen-sau/cars-2/'},
{name: 'GARS-3', sub: '', url: 'https://phuchoi.vn/kien-thuc/cong-cu/chuan-doan-chuyen-sau/gars-3/'}
],
desc: 'Các công cụ tiêu chuẩn vàng kết hợp giữa quan sát hành vi bán cấu trúc và phỏng vấn bệnh sử phát triển, dùng để chẩn đoán xác định, chẩn đoán phân biệt và định lượng mức độ nặng của phổ tự kỷ.'
},
{
tagCls: 'tag-indigo',
tagTxt: 'Trụ cột 2 • Chỉ số DQ & IQ',
title: '📊 Đánh giá Chậm phát triển',
btnCls: 'btn-indigo',
tools: [
{name: 'Bayley-III', sub: '', url: 'https://phuchoi.vn/kien-thuc/cong-cu/chuan-doan-chuyen-sau/bayley-iii/'},
{name: 'Kyoto', sub: '', url: 'https://phuchoi.vn/kien-thuc/cong-cu/chuan-doan-chuyen-sau/kyoto/'},
{name: 'WISC-V', sub: '(kèm WPPSI-IV)', url: 'https://phuchoi.vn/kien-thuc/cong-cu/chuan-doan-chuyen-sau/wisc-v/'},
{name: 'Raven & Leiter-3', sub: '', url: 'https://phuchoi.vn/kien-thuc/cong-cu/chuan-doan-chuyen-sau/raven-leiter-3/'}
],
desc: 'Các thang đo định lượng sự phát triển tâm lý - vận động, cung cấp chỉ số phát triển (DQ) và tuổi phát triển tương đương nhằm đánh giá toàn diện mức độ chậm phát triển đầu đời của trẻ.'
}
];
var card = document.createElement('div');
card.className = 'diag-card';
var intro = document.createElement('div');
intro.className = 'diag-intro';
var icon = document.createElement('div');
icon.className = 'diag-icon';
icon.textContent = '🩺';
var introP = document.createElement('p');
introP.className = 'diag-intro-text';
introP.appendChild(document.createTextNode('Hệ thống '));
var st = document.createElement('strong');
st.textContent = 'thang đo lâm sàng tiêu chuẩn vàng';
introP.appendChild(st);
introP.appendChild(document.createTextNode(' được thực hiện bởi chuyên gia nhằm đưa ra kết luận chính xác về rối loạn phổ tự kỷ và mức độ chậm phát triển của trẻ. Đây là căn cứ khoa học cốt lõi để phân loại mức độ hỗ trợ và định hướng phác đồ can thiệp chuyên biệt.'));
intro.appendChild(icon);
intro.appendChild(introP);
card.appendChild(intro);
var table = document.createElement('table');
table.className = 'diag-table';
var thead = document.createElement('thead');
var trHead = document.createElement('tr');
var headers = [
{txt: 'Lĩnh Vực Chẩn Đoán Lâm Sàng', w: '26%'},
{txt: 'Thang Đo Tiêu Chuẩn Vàng (Nhấn để xem)', w: '32%'},
{txt: 'Giá Trị Khoa Học & Định Hướng Can Thiệp', w: '42%'}
];
headers.forEach(function(h){
var th = document.createElement('th');
th.style.width = h.w;
th.textContent = h.txt;
trHead.appendChild(th);
});
thead.appendChild(trHead);
table.appendChild(thead);
var tbody = document.createElement('tbody');
rowsData.forEach(function(r){
var tr = document.createElement('tr');
var td1 = document.createElement('td');
var tag = document.createElement('span');
tag.className = 'step-tag ' + r.tagCls;
tag.textContent = r.tagTxt;
var badge = document.createElement('div');
badge.className = 'group-badge';
badge.textContent = r.title;
td1.appendChild(tag);
td1.appendChild(badge);
var td2 = document.createElement('td');
var wrap = document.createElement('div');
wrap.className = 'tools-wrap';
r.tools.forEach(function(t){
var a = document.createElement('a');
a.className = 'tool-link ' + r.btnCls;
a.href = t.url;
a.target = '_blank';
a.rel = 'noopener';
a.appendChild(document.createTextNode(t.name));
if(t.sub){
var subSpan = document.createElement('span');
subSpan.className = 'tool-sub';
subSpan.textContent = ' ' + t.sub;
a.appendChild(subSpan);
}
wrap.appendChild(a);
});
td2.appendChild(wrap);
var td3 = document.createElement('td');
var desc = document.createElement('p');
desc.className = 'desc-text';
desc.textContent = r.desc;
td3.appendChild(desc);
tr.appendChild(td1);
tr.appendChild(td2);
tr.appendChild(td3);
tbody.appendChild(tr);
});
table.appendChild(tbody);
card.appendChild(table);
shadow.appendChild(card);
}
if(document.readyState === 'loading'){
document.addEventListener('DOMContentLoaded', mountShadowDiagTable);
} else {
mountShadowDiagTable();
}
})();
[Tự kỷ] ADOS-2: Tiêu chuẩn vàng quan sát lâm sàng xác định rối loạn phổ tự kỷ (Từ 12 tháng tuổi)
(function() { const host = document.getElementById('ados2-wp-host'); if (!host) return; const placeholder = document.createComment('ados2-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // Thông tin cấu hình & Ngưỡng cắt chuẩn của 5 Module ADOS-2 const moduleConfigs = { modT: { code: 'modT', name: 'Module T (Toddler • 12 – 30 tháng)', ageDesc: 'Trẻ từ 12 đến 30 tháng tuổi (đã biết đi độc lập)', langDesc: 'Từ chưa có lời nói đến nói cụm từ ngắn', cutSpectrum: 10, // Ngưỡng Quan ngại Nhẹ - Trung bình cutAutism: 14, // Ngưỡng Quan ngại Trung bình - Nặng isToddler: true, tasks: 'Chơi tự do, Gọi tên, Thổi bong bóng xà phòng, Chơi ú òa / Vận động xã hội, Tắm cho búp bê, Đồ chơi gây ngạc nhiên, Bữa ăn nhẹ.' }, mod1: { code: 'mod1', name: 'Module 1 (≥ 31 tháng • Chưa nói / Từ đơn)', ageDesc: 'Trẻ từ 31 tháng tuổi trở lên', langDesc: 'Chưa có lời nói hoặc chỉ nói từ đơn rời rạc (chưa nói được cụm 3 từ)', cutSpectrum: 8, // Ngưỡng Phổ tự kỷ (ASD) cutAutism: 12, // Ngưỡng Tự kỷ điển hình (Autism) isToddler: false, tasks: 'Chơi tự do, Phản ứng với tên gọi, Chơi bóng luân phiên, Thổi bong bóng, Tiệc sinh nhật giả vờ cho búp bê, Đáp ứng chú ý chung, Bữa ăn nhẹ.' }, mod2: { code: 'mod2', name: 'Module 2 (Nói cụm từ • Chưa lưu loát)', ageDesc: 'Mọi độ tuổi (thường là trẻ mầm non / tiểu học nhỏ)', langDesc: 'Nói được cụm từ ngắn (≥ 3 từ) nhưng chưa nói câu phức lưu loát', cutSpectrum: 8, cutAutism: 10, isToddler: false, tasks: 'Trò chơi lắp ghép, Chơi đóng vai với mô hình nhân vật, Minh họa hành động (đánh răng), Xem sách tranh không chữ, Mô tả bức tranh, Tiệc sinh nhật.' }, mod3: { code: 'mod3', name: 'Module 3 (Trẻ & Thiếu niên • Nói lưu loát)', ageDesc: 'Trẻ em và thiếu niên nhỏ (4 – 15 tuổi)', langDesc: 'Ngôn ngữ nói lưu loát (đặt câu phức, kể chuyện mạch lạc)', cutSpectrum: 7, cutAutism: 9, isToddler: false, tasks: 'Đóng vai tương tác với mô hình, Kể chuyện từ sách tranh, Tự sáng tác câu chuyện từ 5 đồ vật, Trò chuyện về Cảm xúc, Tình bạn & Sự cô đơn.' }, mod4: { code: 'mod4', name: 'Module 4 (≥ 16 tuổi & Người lớn • Lưu loát)', ageDesc: 'Thanh thiếu niên lớn và Người trưởng thành (từ 16 tuổi trở lên)', langDesc: 'Ngôn ngữ nói lưu loát, có mức độ tự lập nhất định', cutSpectrum: 8, cutAutism: 10, isToddler: false, tasks: 'Phỏng vấn công việc/học tập, Các mối quan hệ bạn bè & Hẹn hò/Hôn nhân, Cảm xúc & Sự đồng cảm, Kể chuyện sáng tạo từ 5 đồ vật, Giải thích truyện tranh.' } }; // 14 Chỉ báo cốt lõi trong Bảng Thuật Toán Chẩn Đoán ADOS-2 (10 mục SA + 4 mục RRB) // Mỗi mục chấm 0, 1, 2, 3 (Khi tính vào thuật toán: mức 3 tự động chuyển thành 2 điểm -> Max 28 điểm) const algoItems = [ { id: 1, dom: 'sa', sub: 'Giao tiếp', name: 'A1. Phát âm định hướng xã hội / Tần suất giao tiếp tự phát', desc: 'Mức độ trẻ/người lớn tự nhiên hướng lời nói, âm thanh hoặc cuộc trò chuyện về phía người khám để tương tác xã hội (không chỉ khi đòi hỏi).' }, { id: 2, dom: 'sa', sub: 'Giao tiếp', name: 'A2. Ngữ điệu, Nhịp điệu & Giọng nói khác thường', desc: 'Giọng nói đều đều một tông (monotone), quá to/quá nhỏ, ngữ điệu lơ lớ như robot hoặc nhịp điệu thiếu tự nhiên.' }, { id: 3, dom: 'sa', sub: 'Giao tiếp', name: 'A3. Sử dụng cử chỉ giao tiếp mô tả & Quy ước (Gestures)', desc: 'Khả năng tự nhiên dùng cử chỉ tay (chỉ trỏ, vẫy tay, gật/lắc đầu, mô tả hình dáng/hành động bằng tay) phối hợp với lời nói.' }, { id: 4, dom: 'sa', sub: 'Giao tiếp', name: 'A4. Trò chuyện qua lại hai chiều / Chỉ trỏ giao tiếp', desc: 'Ở Module 2–4: Khả năng nối tiếp câu chuyện qua lại với người khám. Ở Module T/1: Khả năng dùng ngón trỏ chỉ vào vật ở xa để chia sẻ/yêu cầu.' }, { id: 5, dom: 'sa', sub: 'Tương tác xã hội qua lại', name: 'B1. Giao tiếp ánh mắt bất thường (Unusual Eye Contact)', desc: 'Đánh giá sự linh hoạt, tự nhiên và phối hợp của ánh mắt khi bắt đầu, duy trì và điều tiết tương tác xã hội với người khám.' }, { id: 6, dom: 'sa', sub: 'Tương tác xã hội qua lại', name: 'B2. Biểu cảm khuôn mặt hướng tới người khác (Facial Expressions)', desc: 'Sự đa dạng của nét mặt (vui, ngạc nhiên, bối rối...) được hướng trực tiếp về phía người khám để truyền tải cảm xúc.' }, { id: 7, dom: 'sa', sub: 'Tương tác xã hội qua lại', name: 'B3. Chia sẻ niềm vui trong tương tác (Shared Enjoyment)', desc: 'Khả năng bộc lộ và lan tỏa niềm vui chân thực cùng với người khám trong các hoạt động chơi hoặc trò chuyện thú vị.' }, { id: 8, dom: 'sa', sub: 'Tương tác xã hội qua lại', name: 'B4. Khởi xướng & Đáp ứng Chú ý chung / Thấu hiểu cảm xúc (Empathy)', desc: 'Ở Module T/1/2: Phối hợp ánh mắt chia sẻ vật thú vị (Joint Attention). Ở Module 3/4: Khả năng nhận diện, mô tả và đồng cảm với cảm xúc của người khác.' }, { id: 9, dom: 'sa', sub: 'Tương tác xã hội qua lại', name: 'B5. Chất lượng các Khởi xướng xã hội (Quality of Social Overtures)', desc: 'Tính phù hợp về mặt ngữ cảnh và sự phối hợp nhịp nhàng khi chủ động bắt chuyện, khoe đồ hoặc thu hút sự chú ý của người khám.' }, { id: 10, dom: 'sa', sub: 'Tương tác xã hội qua lại', name: 'B6. Chất lượng Đáp ứng xã hội & Mức độ gắn kết tổng thể (Rapport)', desc: 'Cách phản hồi trước các lời mời tương tác của người khám và mức độ thoải mái, tự nhiên của toàn bộ buổi đánh giá.' }, { id: 11, dom: 'rrb', sub: 'Hành vi hạn hẹp & Lặp lại', name: 'D1. Ngôn ngữ rập khuôn / Nhại lời / Cụm từ đặc dị', desc: 'Nhại lời tức thì hoặc trì hoãn (lặp lại lời quảng cáo/phim), đảo ngược đại từ xưng hô hoặc lặp đi lặp lại các câu nói theo khuôn mẫu cứng nhắc.' }, { id: 12, dom: 'rrb', sub: 'Hành vi hạn hẹp & Lặp lại', name: 'D2. Quan tâm giác quan bất thường đối với đồ vật hoặc con người', desc: 'Nhìn nghiêng sát mắt vào đồ vật, xoay bánh xe để ngắm, ngửi/liếm đồ chơi, sờ ngắm kết cấu bề mặt hoặc bịt tai trước âm thanh bình thường.' }, { id: 13, dom: 'rrb', sub: 'Hành vi hạn hẹp & Lặp lại', name: 'D3. Cử động tay, ngón tay và toàn thân định hình (Mannerisms)', desc: 'Vẫy tay, búng/vặn ngón tay trước mắt, nhón gót, xoay tròn hoặc đung đưa cơ thể lặp đi lặp lại.' }, { id: 14, dom: 'rrb', sub: 'Hành vi hạn hẹp & Lặp lại', name: 'D4. Bận tâm quá mức đến chủ đề hẹp / Hành vi nghi thức & Thói quen', desc: 'Xếp hàng đồ vật cứng nhắc, đòi hỏi làm theo đúng một trình tự cố định hoặc chỉ nói mãi về một chủ đề chuyên biệt.' } ]; let currentMod = 'mod1'; let rawScores = {}; // Lưu mức chấm thô: 0, 1, 2, 3 (Khi tính thuật toán: Math.min(2, raw)) let filterDom = 'all'; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .ad-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .ad-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .ad-inner { padding: 24px; max-width: 940px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .ad-wrap.is-fullscreen .ad-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .ad-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(15, 118, 110, 0.45), 0 0 0 0 rgba(15, 118, 110, 0.4); } 70% { box-shadow: 0 6px 20px rgba(15, 118, 110, 0.45), 0 0 0 10px rgba(15, 118, 110, 0); } 100% { box-shadow: 0 6px 20px rgba(15, 118, 110, 0.45), 0 0 0 0 rgba(15, 118, 110, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #0f766e 0%, #0d9488 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(15, 118, 110, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Header */ .ad-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .ad-header-text { flex: 1 1 260px; } .ad-title { font-size: 21px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .ad-desc { font-size: 14px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #f0fdfa; color: #0f766e; border: 1px solid #99f6e4; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #0d9488; color: #ffffff; border-color: #0d9488; } /* Bộ chọn 5 Module ADOS-2 */ .mod-selector-box { background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 12px; padding: 14px; margin-bottom: 16px; } .mod-lbl { font-size: 12.5px; font-weight: 800; color: #0f172a; text-transform: uppercase; margin-bottom: 8px; display: block; } .mod-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; margin-bottom: 12px; } .mod-btn { padding: 10px 8px; border-radius: 9px; border: 1.5px solid #cbd5e1; background: #ffffff; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .mod-btn:hover { border-color: #0d9488; } .mod-btn.active { background: #0f766e; border-color: #0f766e; color: #ffffff; box-shadow: 0 4px 12px rgba(15, 118, 110, 0.25); } .mod-btn-code { font-size: 13.5px; font-weight: 800; display: block; } .mod-btn-sub { font-size: 11px; opacity: 0.85; display: block; margin-top: 2px; } .mod-info-banner { background: #ffffff; border: 1px dashed #99f6e4; border-left: 4px solid #0d9488; padding: 10px 12px; border-radius: 8px; font-size: 13px; color: #334155; } /* Kịch bản mẫu & Lọc trụ cột */ .ad-controls { display: flex; flex-direction: column; gap: 10px; margin-bottom: 18px; } .ad-presets { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; } .ad-preset-lbl { font-size: 12.5px; font-weight: 700; color: #475569; margin-right: 4px; } .ad-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; touch-action: manipulation; } .ad-pbtn:hover { background: #f1f5f9; } .ad-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } .ad-domain-tabs { display: flex; flex-wrap: wrap; gap: 6px; } .ad-dtab { padding: 6px 12px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .ad-dtab.active { background: #0f766e; color: #ffffff; border-color: #0f766e; } /* Sticky Dashboard */ .ad-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .ad-wrap.is-fullscreen .ad-dash { top: 58px; } .ad-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .ad-score-big { font-size: 23px; font-weight: 800; line-height: 1.1; } .ad-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .ad-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .ad-bar-bg { height: 10px; background: #334155; border-radius: 5px; overflow: hidden; margin-bottom: 12px; } .ad-bar-fill { height: 100%; width: 0%; background: #10b981; transition: width 0.35s ease, background 0.35s ease; } .ad-pillars { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; font-size: 12px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .ad-pillar-box { background: #1e293b; padding: 7px 10px; border-radius: 8px; } .ad-pillar-val { font-weight: 700; color: #ffffff; font-size: 13.5px; display: block; margin-top: 2px; } /* Danh sách 14 mục thuật toán */ .ad-q-item { border: 1px solid #e2e8f0; border-radius: 10px; padding: 14px 16px; margin-bottom: 12px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 10px; } .ad-q-item.high-scored { border-color: #fda4af; background: #fff5f5; } .ad-q-item.mid-scored { border-color: #fde68a; background: #fffbeb; } .ad-q-title { font-size: 14.8px; font-weight: 700; color: #0f172a; } .ad-q-desc { font-size: 13.5px; color: #475569; } .ad-q-tags { display: flex; flex-wrap: wrap; gap: 6px; } .ad-tag { font-size: 11px; font-weight: 600; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .ad-tag.dom-sa { background: #dbeafe; color: #1d4ed8; } .ad-tag.dom-rrb { background: #fef3c7; color: #b45309; } .ad-ans-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; } .ad-abtn { padding: 8px 6px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 600; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .ad-abtn:hover { border-color: #64748b; } .ad-abtn.sel-0 { background: #10b981; border-color: #10b981; color: #ffffff; font-weight: 700; } .ad-abtn.sel-1 { background: #f59e0b; border-color: #f59e0b; color: #ffffff; font-weight: 700; } .ad-abtn.sel-2, .ad-abtn.sel-3 { background: #ef4444; border-color: #ef4444; color: #ffffff; font-weight: 700; } .ad-result-box { margin-top: 20px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #64748b; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 720px) { .ad-inner { padding: 14px; } .ad-title { font-size: 18px; } .mod-grid { grid-template-columns: 1fr 1fr; } .ad-pillars { grid-template-columns: 1fr; } .ad-ans-grid { grid-template-columns: 1fr 1fr; } .ad-abtn { padding: 10px 6px; } .ad-pbtn.reset { margin-left: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
Bảng Mô Phỏng Thuật Toán Chẩn Đoán Tiêu Chuẩn Vàng ADOS-2 (5 Module)
Công cụ mô phỏng cách thức quy đổi điểm Thuật toán Chẩn đoán ADOS-2 (Diagnostic Algorithm) trên 2 trụ cột: Cảm xúc Xã hội (SA) và Hành vi Hạn hẹp & Lặp lại (RRB). Hệ thống tự động áp dụng quy tắc chuẩn: mức điểm thô 3 được quy đổi thành 2 điểm thuật toán và ước tính Điểm so sánh mức độ nặng CSS (1 – 10).
• Tổng điểm kết hợp SA + RRB đạt ${total}/28 điểm (SA = ${sa}/20, RRB = ${rrb}/8), thấp hơn ngưỡng điểm cắt của ${cfg.name.split(' (')[0]} (≥ ${cfg.cutSpectrum} điểm).
• Điểm so sánh mức độ (CSS): ${cssInfo.css}/10 (${cssInfo.label}). Nếu trẻ có chậm nói hoặc tăng động nhưng điểm ADOS-2 nằm dưới ngưỡng này, cần tập trung đánh giá Rối loạn ngôn ngữ diễn đạt hoặc ADHD. `; } else if (total < cfg.cutAutism) { color = '#f59e0b'; badgeTxt = cfg.isToddler ? `QUAN NGẠI NHẸ - TRUNG BÌNH (${total}đ)` : `PHỔ TỰ KỶ - ASD (${total}đ • CSS ${cssInfo.css}/10)`; analysis = ` Phân loại Thuật toán ADOS-2 (${cfg.name}) — ${badgeTxt}:
• Tổng điểm thuật toán đạt ${total}/28 điểm (Cảm xúc Xã hội SA = ${sa}/20 • Hành vi Lặp lại RRB = ${rrb}/8), vượt ngưỡng phân loại Phổ tự kỷ (≥ ${cfg.cutSpectrum} điểm).
• Điểm so sánh mức độ (CSS): ${cssInfo.css}/10 (${cssInfo.label}). Kết quả quan sát trực tiếp ủng hộ chẩn đoán Rối loạn phổ tự kỷ mức độ nhẹ - trung bình, cần kết hợp với lịch sử phát triển (ADI-R / DSM-5) và đánh giá hành vi thích ứng (Vineland-3). `; } else { color = '#ef4444'; badgeTxt = cfg.isToddler ? `QUAN NGẠI TRUNG BÌNH - NẶNG (${total}đ)` : `TỰ KỶ ĐIỂN HÌNH - AUTISM (${total}đ • CSS ${cssInfo.css}/10)`; analysis = ` Phân loại Thuật toán ADOS-2 (${cfg.name}) — ${badgeTxt}:
• Tổng điểm thuật toán đạt ${total}/28 điểm (Cảm xúc Xã hội SA = ${sa}/20 • Hành vi Lặp lại RRB = ${rrb}/8), vượt ngưỡng phân loại Tự kỷ điển hình (≥ ${cfg.cutAutism} điểm).
• Điểm so sánh mức độ (CSS): ${cssInfo.css}/10 (${cssInfo.label}). Người được đánh giá thể hiện các thiếu hụt rõ rệt ở cả giao tiếp xã hội tương hỗ và các mẫu hành vi rập khuôn. Khuyến nghị hoàn tất hồ sơ chẩn đoán đa chuyên khoa và triển khai chương trình can thiệp cá nhân hóa (IEP) dựa trên thang Vineland-3. `; } barFill.style.background = color; scoreBadge.textContent = badgeTxt; scoreBadge.style.background = color; scoreBadge.style.color = '#ffffff'; resultBox.style.borderLeftColor = color; resultBox.innerHTML = analysis; updateFloatingFabVisibility(); } function applyPreset(type) { rawScores = {}; if (type === 'reset') { renderItems(); updateSummary(); return; } algoItems.forEach(function(it) { rawScores[it.id] = 0; }); if (type === 'non') { // 3 điểm thuật toán (Dưới ngưỡng) rawScores[2] = 1; rawScores[3] = 1; rawScores[9] = 1; } else if (type === 'spectrum') { // 9 điểm thuật toán (Trong vùng Phổ tự kỷ ASD / Nhẹ - Trung bình) [1, 3, 4, 5, 7, 8, 10, 12, 14].forEach(function(id) { rawScores[id] = 1; }); } else if (type === 'autism') { // 18 điểm thuật toán (Vượt ngưỡng Tự kỷ điển hình, có cả mức 2 và mức 3 quy về 2) [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14].forEach(function(id, idx) { if (idx % 3 === 0) rawScores[id] = 3; // Quy về 2đ else if (idx % 2 === 0) rawScores[id] = 2; // 2đ else rawScores[id] = 1; // 1đ }); } renderItems(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); adWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { adWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 940px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } shadow.querySelectorAll('#modGrid .mod-btn').forEach(function(btn) { btn.onclick = function() { currentMod = this.getAttribute('data-mod'); shadow.querySelectorAll('#modGrid .mod-btn').forEach(b => b.classList.remove('active')); this.classList.add('active'); renderModBanner(); updateSummary(); }; }); shadow.querySelectorAll('.ad-pbtn').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-preset')); }; }); shadow.querySelectorAll('#domainTabs .ad-dtab').forEach(function(tab) { tab.onclick = function() { filterDom = this.getAttribute('data-dom'); shadow.querySelectorAll('#domainTabs .ad-dtab').forEach(t => t.classList.remove('active')); this.classList.add('active'); renderItems(); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); renderModBanner(); applyPreset('autism'); })();
ADOS-2 (Autism Diagnostic Observation Schedule, Second Edition — Lịch trình Quan sát Chẩn đoán Tự kỷ, Phiên bản 2) là công cụ đánh giá lâm sàng được y khoa thế giới công nhận là “Tiêu chuẩn vàng” (Gold Standard) trong việc chẩn đoán xác định Rối loạn phổ tự kỷ (ASD). Công cụ này được phát triển bởi Giáo sư Catherine Lord, Michael Rutter và các cộng sự (xuất bản bởi WPS năm 2012).
Khác hoàn toàn với các công cụ sàng lọc (Screening) dựa trên bảng hỏi như M-CHAT-R/F, SCQ, CAST, ASSQ hay AQ, ADOS-2 là công cụ CHẨN ĐOÁN (Diagnostic) thông qua việc nhà lâm sàng trực tiếp tương tác, tạo ra các “tình huống xã hội có cấu trúc” (Social Presses) để quan sát phản ứng thực tế của trẻ/người lớn trong khoảng 40 – 60 phút.
1. Hệ thống 5 Module của ADOS-2 (Chọn theo Mức độ Ngôn ngữ & Độ tuổi)
Điểm độc đáo nhất của ADOS-2 là không dùng một bài kiểm tra chung cho mọi người, mà chia thành 5 Module riêng biệt. Chuyên gia bắt buộc phải chọn đúng 1 Module khớp với khả năng ngôn ngữ diễn đạt hiện tại và độ tuổi của người được khám (để tránh việc trẻ bị điểm kém chỉ vì chưa biết nói):
| Module | Đối tượng & Độ tuổi | Mức độ ngôn ngữ diễn đạt yêu cầu | Hoạt động tương tác tiêu biểu trong phòng khám |
| Module T(Toddler) | Trẻ nhỏ 12 – 30 tháng tuổi (Biết đi độc lập) | Chưa nói đến nói cụm từ đơn giản. | Chơi bóng luân phiên, thổi bong bóng xà phòng, tắm cho búp bê, chơi ú òa, gây ngạc nhiên bằng đồ chơi điều khiển. |
| Module 1 | Trẻ từ 31 tháng tuổi trở lên | Chưa có lời nói hoặc chỉ nói từ đơn rời rạc (Chưa nói được cụm 3 từ). | Tương tác tự do, tiệc sinh nhật giả vờ cho búp bê, thổi bong bóng, gọi tên, chỉ trỏ chú ý chung. |
| Module 2 | Mọi độ tuổi (Thường là trẻ mẫu giáo) | Nói được cụm từ ngắn(từ 3 từ trở lên) nhưng chưa nói lưu loát. | Chơi đóng vai tưởng tượng với mô hình nhân vật, xem sách tranh không chữ, trò chuyện đơn giản, mô tả bức tranh. |
| Module 3 | Trẻ em & Thiếu niên nhỏ (Thường 4 – 15 tuổi) | Ngôn ngữ nói lưu loát(Nói được câu phức, kể chuyện quá khứ/tương lai). | Đóng vai câu chuyện bằng mô hình, tự sáng tác câu chuyện từ 5 đồ vật bất kỳ, phỏng vấn về tình bạn, sự cô đơn và cảm xúc. |
| Module 4 | Thanh thiếu niên lớn & Người lớn (Từ 16 tuổi trở lên) | Ngôn ngữ nói lưu loát và có tính tự lập nhất định. | Phỏng vấn chuyên sâu về công việc/học tập, tình bạn, hôn nhân/hẹn hò, cảm xúc cá nhân, giải thích truyện tranh và kể chuyện sáng tạo. |
2. Cấu trúc Chấm điểm Thuật toán ADOS-2 (Algorithm Scoring)
Trong lúc tương tác, chuyên gia ghi chép rất nhiều hành vi, nhưng khi đưa vào Bảng Thuật Toán Chẩn Đoán (Diagnostic Algorithm), ADOS-2 chỉ lọc ra 14 chỉ báo cốt lõi nhất chia làm 2 trụ cột (bám sát tiêu chuẩn DSM-5):
-
Cảm xúc Xã hội (Social Affect – SA • 10 mục): Bao gồm Giao tiếp (ngữ điệu, cử chỉ, chỉ trỏ, hội thoại) và Tương tác xã hội qua lại (giao tiếp mắt bất thường, biểu cảm nét mặt, chia sẻ niềm vui, chú ý chung, chất lượng khởi xướng và đáp ứng xã hội).
-
Hành vi Hạn hẹp và Lặp đi lặp lại (Restricted and Repetitive Behavior – RRB • 4 mục): Ngôn ngữ rập khuôn/nhại lời, thu hút giác quan lạ, cử động tay/cơ thể định hình (stimming) và mối bận tâm/nghi thức cứng nhắc.
-
Quy tắc quy đổi điểm đặc biệt của ADOS-2:
-
Khi chấm thô tại phòng khám, mỗi mục chấm từ
0đến3điểm (0= Bình thường,1= Bất thường nhẹ,2= Bất thường rõ rệt,3= Bất thường nghiêm trọng). -
Tuy nhiên, khi cộng vào Thuật toán chẩn đoán: Mọi mức điểm
3đều được quy đổi về2điểm (để một hành vi quá nặng không làm lệch tổng điểm toàn bài). Như vậy mỗi mục trong thuật toán có giá trị 0, 1 hoặc 2 điểm (Tổng điểm tối đa của 14 mục thuật toán là 28 điểm).
-
-
Phân loại kết quả & Điểm so sánh mức độ (CSS – Calibrated Severity Score):
-
Module 1 – 4: Phân loại thành 3 mức: Không thuộc phổ tự kỷ (Non-spectrum) Phổ tự kỷ (Autism Spectrum – ASD) Tự kỷ điển hình (Autism), đồng thời quy đổi ra Điểm so sánh CSS (từ 1 đến 10 điểm) để biết mức độ triệu chứng từ Rất nhẹ (1–2), Nhẹ (3–4), Trung bình (5–7) đến Nặng (8–10).
-
Module T (12–30 tháng): Vì trẻ quá nhỏ chưa kết luận chẩn đoán cứng, ADOS-2 phân thành 3 mức độ Quan ngại (Range of Concern): Ít/Không quan ngại Quan ngại nhẹ – trung bình Quan ngại trung bình – nặng.
-
[Tự kỷ] ADI-R: Phỏng vấn sâu lịch sử phát triển chẩn đoán phổ tự kỷ cho trẻ từ 2 tuổi
(function() { const host = document.getElementById('adir-wp-host'); if (!host) return; const placeholder = document.createComment('adir-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // 37 Mục cốt lõi trong Thuật toán Chẩn đoán ADI-R chia theo 4 Miền (A, B, C, D) và các Tiểu lĩnh vực chuẩn // dom: 'A' (Tương tác xã hội - Cut >= 10), 'B' (Giao tiếp - Cut >= 8 nếu có lời nói, >= 7 nếu chưa nói), 'C' (Hành vi lặp lại - Cut >= 3), 'D' (Khởi phát = 1) // verbalOnly: true đối với tiểu lĩnh vực B2(V) và B3(V) (Chỉ tính cho trẻ/người có ngôn ngữ nói cụm từ) const algoItems = [ // MIỀN A: TƯƠNG TÁC XÃ HỘI QUA LẠI (15 mục -> Tối đa 30 điểm thuật toán, Ngưỡng cắt >= 10) { id: 1, dom: 'A', sub: 'A1. Hành vi phi ngôn ngữ điều tiết tương tác', verbalOnly: false, name: 'A1.1. Giao tiếp ánh mắt trực diện (Direct Gaze)', desc: 'Mức độ sử dụng ánh mắt nhìn trực diện vào mặt người khác để bắt đầu, duy trì và điều tiết tương tác xã hội (Giai đoạn 4–5 tuổi / Hiện tại).' }, { id: 2, dom: 'A', sub: 'A1. Hành vi phi ngôn ngữ điều tiết tương tác', verbalOnly: false, name: 'A1.2. Nụ cười xã hội (Social Smiling)', desc: 'Khả năng mỉm cười tự nhiên đáp lại người khác hoặc mỉm cười kết hợp nhìn mắt để chào hỏi, chia sẻ sự thân thiện.' }, { id: 3, dom: 'A', sub: 'A1. Hành vi phi ngôn ngữ điều tiết tương tác', verbalOnly: false, name: 'A1.3. Độ đa dạng biểu cảm khuôn mặt dùng để giao tiếp', desc: 'Sự phong phú của nét mặt (ngạc nhiên, vui, buồn, bối rối...) được hướng về phía người khác để truyền tải cảm xúc.' }, { id: 4, dom: 'A', sub: 'A2. Phát triển mối quan hệ bạn bè đồng trang lứa', verbalOnly: false, name: 'A2.1. Chơi tưởng tượng cùng với bạn đồng trang lứa', desc: 'Khả năng cùng bàn bạc, chia vai và phối hợp chơi đóng vai giả vờ chung với các bạn nhỏ khác.' }, { id: 5, dom: 'A', sub: 'A2. Phát triển mối quan hệ bạn bè đồng trang lứa', verbalOnly: false, name: 'A2.2. Sự quan tâm đến những đứa trẻ khác', desc: 'Mức độ chú ý, thích thú quan sát và muốn tiến lại gần các bạn cùng lứa tuổi.' }, { id: 6, dom: 'A', sub: 'A2. Phát triển mối quan hệ bạn bè đồng trang lứa', verbalOnly: false, name: 'A2.3. Phản ứng khi những đứa trẻ khác tiến lại gần', desc: 'Sự cởi mở, vui vẻ và hợp tác khi một bạn nhỏ khác chủ động tiến tới rủ chơi hoặc bắt chuyện.' }, { id: 7, dom: 'A', sub: 'A2. Phát triển mối quan hệ bạn bè đồng trang lứa', verbalOnly: false, name: 'A2.4. Chơi theo nhóm với bạn đồng trang lứa / Tình bạn thân', desc: 'Khả năng tham gia các trò chơi tập thể luân phiên (từ 4–10 tuổi) hoặc xây dựng tình bạn thân thiết hai chiều (từ 10 tuổi trở lên).' }, { id: 8, dom: 'A', sub: 'A3. Chia sẻ niềm vui và sở thích chung', verbalOnly: false, name: 'A3.1. Đưa đồ vật cho người khác xem và định hướng chú ý (Showing)', desc: 'Chủ động mang đồ chơi, bức vẽ hoặc vật mới lạ lại khoe với bố mẹ chỉ để chia sẻ niềm vui (chứ không phải để nhờ sửa/mở giúp).' }, { id: 9, dom: 'A', sub: 'A3. Chia sẻ niềm vui và sở thích chung', verbalOnly: false, name: 'A3.2. Tự nguyện chia sẻ đồ vật với người khác (Offering to Share)', desc: 'Tự giác mời hoặc chia sẻ đồ ăn, món đồ chơi yêu thích với bố mẹ hoặc bạn bè.' }, { id: 10, dom: 'A', sub: 'A3. Chia sẻ niềm vui và sở thích chung', verbalOnly: false, name: 'A3.3. Tìm kiếm việc chia sẻ niềm vui với người khác', desc: 'Mong muốn lôi cuốn bố mẹ/người thân cùng tham gia vào hoạt động trẻ đang hứng thú để nhân đôi niềm vui.' }, { id: 11, dom: 'A', sub: 'A4. Tương hỗ về mặt cảm xúc – xã hội', verbalOnly: false, name: 'A4.1. Sử dụng cơ thể của người khác để giao tiếp (Use of Other’s Body)', desc: 'Cầm bàn tay hoặc cổ tay của bố mẹ đặt vào nắm cửa, nắp hộp như một công cụ cơ học mà không nhìn mặt hay giao tiếp.' }, { id: 12, dom: 'A', sub: 'A4. Tương hỗ về mặt cảm xúc – xã hội', verbalOnly: false, name: 'A4.2. Chủ động vỗ về, an ủi người khác (Offering Comfort)', desc: 'Tự nhiên nhận ra khi bố mẹ/người thân bị đau hoặc buồn khóc và tiến lại vỗ về, hỏi thăm, ôm an ủi.' }, { id: 13, dom: 'A', sub: 'A4. Tương hỗ về mặt cảm xúc – xã hội', verbalOnly: false, name: 'A4.3. Chất lượng các khởi xướng xã hội (Quality of Social Overtures)', desc: 'Sự phối hợp nhịp nhàng giữa ánh mắt, nét mặt, cử chỉ và âm thanh khi trẻ chủ động xin giúp đỡ hoặc bắt chuyện.' }, { id: 14, dom: 'A', sub: 'A4. Tương hỗ về mặt cảm xúc – xã hội', verbalOnly: false, name: 'A4.4. Biểu cảm khuôn mặt không phù hợp ngữ cảnh', desc: 'Cười to vô cớ một mình hoặc biểu lộ nét mặt hoàn toàn lệch pha với bầu không khí cảm xúc xung quanh.' }, { id: 15, dom: 'A', sub: 'A4. Tương hỗ về mặt cảm xúc – xã hội', verbalOnly: false, name: 'A4.5. Tính phù hợp của các phản ứng xã hội', desc: 'Mức độ đáp lại tự nhiên, đúng ngữ cảnh khi người lớn hoặc người quen bắt chuyện, gợi chuyện.' }, // MIỀN B: GIAO TIẾP (13 mục cho nhóm Có lời nói -> Max 26đ, Cut >= 8 | 7 mục cho nhóm Chưa nói -> Max 14đ, Cut >= 7) { id: 16, dom: 'B', sub: 'B1. Cử chỉ giao tiếp & Bù đắp phi ngôn ngữ', verbalOnly: false, name: 'B1.1. Chỉ trỏ để thể hiện sự quan tâm / chia sẻ (Pointing to Express Interest)', desc: 'Dùng ngón trỏ chỉ vào các vật ở xa (máy bay, con vật, tranh ảnh) kết hợp nhìn lại bố mẹ để chia sẻ sự chú ý.' }, { id: 17, dom: 'B', sub: 'B1. Cử chỉ giao tiếp & Bù đắp phi ngôn ngữ', verbalOnly: false, name: 'B1.2. Gật đầu biểu thị ý "Có / Đồng ý"', desc: 'Sử dụng cử chỉ gật đầu tự nhiên để trả lời đồng ý trong giao tiếp hàng ngày.' }, { id: 18, dom: 'B', sub: 'B1. Cử chỉ giao tiếp & Bù đắp phi ngôn ngữ', verbalOnly: false, name: 'B1.3. Lắc đầu biểu thị ý "Không / Từ chối"', desc: 'Sử dụng cử chỉ lắc đầu tự nhiên để từ chối hoặc phủ định.' }, { id: 19, dom: 'B', sub: 'B1. Cử chỉ giao tiếp & Bù đắp phi ngôn ngữ', verbalOnly: false, name: 'B1.4. Các cử chỉ quy ước và cử chỉ mô tả bằng tay', desc: 'Vẫy tay chào tạm biệt, vỗ tay hoan hô, ra hiệu im lặng hoặc dùng tay mô tả hình dáng/hành động của sự vật.' }, { id: 20, dom: 'B', sub: 'B4. Chơi giả vờ và Bắt chước xã hội', verbalOnly: false, name: 'B4.1. Bắt chước tự phát các hành động của người khác', desc: 'Tự nhiên bắt chước các việc làm hàng ngày của bố mẹ (như quét nhà, lau bàn, nghe điện thoại, nấu ăn) mà không cần nhắc.' }, { id: 21, dom: 'B', sub: 'B4. Chơi giả vờ và Bắt chước xã hội', verbalOnly: false, name: 'B4.2. Chơi giả vờ / Chơi đóng vai tưởng tượng (Imaginative Play)', desc: 'Sử dụng búp bê, mô hình nhân vật hoặc đồ vật thay thế để dựng các kịch bản đóng vai đa dạng, sáng tạo.' }, { id: 22, dom: 'B', sub: 'B4. Chơi giả vờ và Bắt chước xã hội', verbalOnly: false, name: 'B4.3. Chơi các trò chơi xã hội bắt chước qua lại', desc: 'Hào hứng tham gia và chủ động khởi xướng các trò chơi tương tác như ú òa, chi chi chành chành, vỗ tay theo bài hát.' }, { id: 23, dom: 'B', sub: 'B2(V). Khởi xướng và Duy trì hội thoại (Chỉ chấm khi có lời nói)', verbalOnly: true, name: 'B2(V).1. Tán gẫu xã hội / Trò chuyện thân thiện (Social Verbalization)', desc: 'Nói chuyện với người khác chỉ nhằm mục đích thân thiện, chia sẻ trải nghiệm (chứ không chỉ để xin đồ hoặc hỏi thông tin).' }, { id: 24, dom: 'B', sub: 'B2(V). Khởi xướng và Duy trì hội thoại (Chỉ chấm khi có lời nói)', verbalOnly: true, name: 'B2(V).2. Hội thoại qua lại hai chiều (Reciprocal Conversation)', desc: 'Khả năng lắng nghe ý của người đối diện và nối tiếp câu chuyện qua lại nhiều lượt một cách linh hoạt.' }, { id: 25, dom: 'B', sub: 'B3(V). Ngôn ngữ rập khuôn, lặp lại và đặc dị (Chỉ chấm khi có lời nói)', verbalOnly: true, name: 'B3(V).1. Ngôn ngữ rập khuôn / Nhại lời trì hoãn', desc: 'Lặp đi lặp lại các câu thoại từ tivi, quảng cáo, sách truyện hoặc dùng các cụm từ khuôn mẫu cố định.' }, { id: 26, dom: 'B', sub: 'B3(V). Ngôn ngữ rập khuôn, lặp lại và đặc dị (Chỉ chấm khi có lời nói)', verbalOnly: true, name: 'B3(V).2. Câu hỏi hoặc phát ngôn không phù hợp ngữ cảnh', desc: 'Hay buột miệng đặt những câu hỏi cá nhân thiếu tế nhị hoặc nói những câu lạc lõng với hoàn cảnh xã hội.' }, { id: 27, dom: 'B', sub: 'B3(V). Ngôn ngữ rập khuôn, lặp lại và đặc dị (Chỉ chấm khi có lời nói)', verbalOnly: true, name: 'B3(V).3. Đảo ngược đại từ nhân xưng (Pronominal Reversal)', desc: 'Nhầm lẫn đại từ xưng hô (xưng "Bạn / Mẹ / Anh" thay vì "Con / Tôi", hoặc tự gọi bản thân bằng tên riêng ở ngôi thứ ba).' }, { id: 28, dom: 'B', sub: 'B3(V). Ngôn ngữ rập khuôn, lặp lại và đặc dị (Chỉ chấm khi có lời nói)', verbalOnly: true, name: 'B3(V).4. Từ ngữ tự bịa / Cách dùng từ đặc dị (Neologisms)', desc: 'Tự đặt ra các từ mới không có trong từ điển hoặc gán một ý nghĩa riêng biệt kỳ lạ cho từ ngữ thông thường.' }, // MIỀN C: HÀNH VI HẠN HẸP, LẶP LẠI VÀ RẬP KHUÔN (6 mục -> Tối đa 12 điểm thuật toán, Ngưỡng cắt >= 3) { id: 29, dom: 'C', sub: 'C1. Bận tâm bao trùm và Sở thích hạn hẹp', verbalOnly: false, name: 'C1.1. Sở thích khác thường (Unusual Preoccupations)', desc: 'Mối quan tâm kỳ lạ về mặt nội dung (như biển số xe, lịch vạn niên, hệ thống ống nước, quạt trần, sơ đồ tàu điện).' }, { id: 30, dom: 'C', sub: 'C1. Bận tâm bao trùm và Sở thích hạn hẹp', verbalOnly: false, name: 'C1.2. Sở thích thu hẹp với cường độ quá mức (Circumscribed Interests)', desc: 'Đam mê một chủ đề với mức độ mãnh liệt, chiếm trọn thời gian rảnh và cản trở các hoạt động sinh hoạt/giao lưu khác.' }, { id: 31, dom: 'C', sub: 'C2. Thói quen, Nghi thức cứng nhắc và Kháng cự thay đổi', verbalOnly: false, name: 'C2.1. Nghi thức lời nói hoặc Nghi thức hành vi bắt buộc', desc: 'Bắt buộc phải thực hiện các hành động theo đúng một trình tự cố định hoặc ép người nhà phải nói/trả lời theo đúng một kịch bản.' }, { id: 32, dom: 'C', sub: 'C3. Cử động tay và cơ thể định hình, rập khuôn', verbalOnly: false, name: 'C3.1. Cử động tay/ngón tay hoặc toàn thân định hình (Mannerisms)', desc: 'Vẫy tay, búng/xoắn ngón tay trước mắt, nhón chân đi lại, xoay tròn người hoặc đung đưa thân mình lặp đi lặp lại.' }, { id: 33, dom: 'C', sub: 'C4. Bận tâm đến bộ phận đồ vật hoặc Giác quan bất thường', verbalOnly: false, name: 'C4.1. Sử dụng đồ vật lặp lại / Bận tâm đến bộ phận của đồ vật', desc: 'Xếp hàng dài các đồ vật, chỉ thích xoay bánh xe ô tô hoặc bật/tắt công tắc liên tục thay vì chơi đúng chức năng.' }, { id: 34, dom: 'C', sub: 'C4. Bận tâm đến bộ phận đồ vật hoặc Giác quan bất thường', verbalOnly: false, name: 'C4.2. Các mối quan tâm giác quan khác thường (Unusual Sensory Interests)', desc: 'Nhìn nghiêng sát mắt vào vật chuyển động, ngửi/liếm đồ vật không phải thức ăn, hoặc mê mẩn sờ ngắm một số bề mặt.' }, // MIỀN D: BẤT THƯỜNG PHÁT TRIỂN KHỞI PHÁT TRƯỚC 36 THÁNG TUỔI (3 nhóm chỉ báo đại diện -> Ngưỡng cắt >= 1) { id: 35, dom: 'D', sub: 'D. Khởi phát bất thường ≤ 36 tháng tuổi (Tính 0 hoặc 1 điểm)', verbalOnly: false, name: 'D1. Cha mẹ nhận thấy dấu hiệu bất thường đầu tiên trước 36 tháng tuổi', desc: 'Phụ huynh đã bắt đầu lo lắng về sự phát triển ngôn ngữ, giao tiếp mắt hoặc phản ứng xã hội của bé từ khi bé dưới 3 tuổi.' }, { id: 36, dom: 'D', sub: 'D. Khởi phát bất thường ≤ 36 tháng tuổi (Tính 0 hoặc 1 điểm)', verbalOnly: false, name: 'D2. Chậm mốc nói từ đơn (> 24 tháng) hoặc nói cụm từ (> 33 tháng)', desc: 'Bé nói từ đơn có nghĩa đầu tiên sau 24 tháng tuổi HOẶC nói cụm từ (2–3 từ) đầu tiên sau 33 tháng tuổi (hoặc từng mất kỹ năng ngôn ngữ).' }, { id: 37, dom: 'D', sub: 'D. Khởi phát bất thường ≤ 36 tháng tuổi (Tính 0 hoặc 1 điểm)', verbalOnly: false, name: 'D3. Nhận định của chuyên gia lâm sàng về thời điểm khởi phát ≤ 36 tháng', desc: 'Dựa trên toàn bộ bệnh sử, nhà lâm sàng xác nhận các bất thường phát triển đã xuất hiện trước mốc 36 tháng tuổi.' } ]; let isVerbal = true; // true = Có ngôn ngữ nói (Miền B max 26, cut >= 8) | false = Chưa có lời nói (Miền B bỏ B2V & B3V, max 14, cut >= 7) let rawScores = {}; // Lưu 0, 1, 2, 3 let filterDom = 'all'; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .ar-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .ar-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .ar-inner { padding: 24px; max-width: 940px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .ar-wrap.is-fullscreen .ar-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .ar-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(30, 58, 138, 0.45), 0 0 0 0 rgba(30, 58, 138, 0.4); } 70% { box-shadow: 0 6px 20px rgba(30, 58, 138, 0.45), 0 0 0 10px rgba(30, 58, 138, 0); } 100% { box-shadow: 0 6px 20px rgba(30, 58, 138, 0.45), 0 0 0 0 rgba(30, 58, 138, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #1e3a8a 0%, #2563eb 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(30, 58, 138, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Header */ .ar-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .ar-header-text { flex: 1 1 260px; } .ar-title { font-size: 21px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .ar-desc { font-size: 14px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #eff6ff; color: #1e3a8a; border: 1px solid #bfdbfe; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #2563eb; color: #ffffff; border-color: #2563eb; } /* Top Controls */ .ar-top-controls { display: grid; grid-template-columns: 1fr 1.25fr; gap: 12px; margin-bottom: 14px; } .ar-box-ctrl { background: #f8fafc; border: 1px solid #e2e8f0; padding: 10px 12px; border-radius: 10px; } .ar-ctrl-label { font-size: 12px; font-weight: 700; color: #475569; text-transform: uppercase; margin-bottom: 6px; display: block; } .ar-btn-group { display: flex; flex-wrap: wrap; gap: 6px; } .ar-btn-sm { padding: 6px 10px; border-radius: 7px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; flex: 1; text-align: center; touch-action: manipulation; } .ar-btn-sm:hover { background: #f1f5f9; } .ar-btn-sm.active { background: #1e3a8a; color: #ffffff; border-color: #1e3a8a; } .ar-btn-sm.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; flex: 0 0 auto; } .ar-domain-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 16px; } .ar-dtab { padding: 6px 12px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .ar-dtab.active { background: #1e3a8a; color: #ffffff; border-color: #1e3a8a; } /* Sticky Dashboard */ .ar-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .ar-wrap.is-fullscreen .ar-dash { top: 58px; } .ar-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .ar-score-big { font-size: 21px; font-weight: 800; line-height: 1.2; } .ar-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .ar-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .ar-pillars { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; font-size: 12px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .ar-pillar-box { background: #1e293b; padding: 8px 10px; border-radius: 8px; border-left: 3px solid #475569; } .ar-pillar-box.met { border-left-color: #ef4444; background: rgba(239, 68, 68, 0.14); } .ar-pillar-box.safe { border-left-color: #10b981; } .ar-pillar-val { font-weight: 700; color: #ffffff; font-size: 13.5px; display: block; margin-top: 2px; } /* Danh sách mục phỏng vấn thuật toán */ .ar-q-item { border: 1px solid #e2e8f0; border-radius: 10px; padding: 14px 16px; margin-bottom: 12px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 10px; } .ar-q-item.high-scored { border-color: #fda4af; background: #fff5f5; } .ar-q-item.mid-scored { border-color: #fde68a; background: #fffbeb; } .ar-q-item.skipped-item { opacity: 0.45; background: #f8fafc; border-style: dashed; pointer-events: none; } .ar-q-title { font-size: 14.8px; font-weight: 700; color: #0f172a; } .ar-q-desc { font-size: 13.5px; color: #475569; } .ar-q-tags { display: flex; flex-wrap: wrap; gap: 6px; } .ar-tag { font-size: 11px; font-weight: 600; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .ar-tag.dom-A { background: #dbeafe; color: #1d4ed8; } .ar-tag.dom-B { background: #f3e8ff; color: #7e22ce; } .ar-tag.dom-C { background: #fef3c7; color: #b45309; } .ar-tag.dom-D { background: #dcfce7; color: #15803d; } .ar-ans-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; } .ar-abtn { padding: 8px 6px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 600; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .ar-abtn:hover { border-color: #64748b; } .ar-abtn.sel-0 { background: #10b981; border-color: #10b981; color: #ffffff; font-weight: 700; } .ar-abtn.sel-1 { background: #f59e0b; border-color: #f59e0b; color: #ffffff; font-weight: 700; } .ar-abtn.sel-2, .ar-abtn.sel-3 { background: #ef4444; border-color: #ef4444; color: #ffffff; font-weight: 700; } .ar-result-box { margin-top: 20px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #64748b; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 720px) { .ar-inner { padding: 14px; } .ar-title { font-size: 18px; } .ar-top-controls { grid-template-columns: 1fr; } .ar-pillars { grid-template-columns: 1fr 1fr; } .ar-ans-grid { grid-template-columns: 1fr 1fr; } .ar-abtn { padding: 10px 6px; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
Bảng Chấm Điểm Thuật Toán Phỏng Vấn Chẩn Đoán Tự Kỷ ADI-R (4 Miền Cốt Lõi)
Công cụ phỏng vấn chẩn đoán tiêu chuẩn vàng của Rutter, Le Couteur & Lord (2003) dành cho cá nhân có tuổi phát triển tâm thần từ 24 tháng trở lên. Hệ thống tự động quy đổi điểm thuật toán (mức 3 quy về 2 điểm) và đối chiếu điều kiện đạt chuẩn chẩn đoán trên cả 4 miền: Miền A (≥ 10đ), Miền B (≥ 8đ hoặc ≥ 7đ), Miền C (≥ 3đ) và Miền D (≥ 1đ).
• Miền A (Tương tác xã hội qua lại): Đạt ${sA}/30 điểm (Vượt ngưỡng chuẩn ≥ 10 điểm).
• Miền B (Giao tiếp - ${isVerbal ? 'Nhóm có lời nói' : 'Nhóm chưa có lời nói'}): Đạt ${sB}/${maxB} điểm (Vượt ngưỡng chuẩn ≥ ${cutB} điểm).
• Miền C (Hành vi hạn hẹp & Lặp lại): Đạt ${sC}/12 điểm (Vượt ngưỡng chuẩn ≥ 3 điểm).
• Miền D (Khởi phát bất thường ≤ 36 tháng): Đạt ${sD}/3 điểm (Vượt ngưỡng chuẩn ≥ 1 điểm).
• Hướng xử trí lâm sàng: Hồ sơ lịch sử phát triển trên ADI-R hoàn toàn khớp với chẩn đoán Rối loạn phổ tự kỷ. Cần kết hợp đối chiếu với kết quả quan sát trực tiếp trên ADOS-2 và thang hành vi thích ứng Vineland-3 để hoàn thiện báo cáo chẩn đoán xác định. `; } else if (metCount >= 2) { scoreBadge.textContent = `ĐẠT ${metCount}/4 MIỀN (HỒ SƠ KHÔNG ĐIỂN HÌNH)`; scoreBadge.style.background = '#f59e0b'; scoreBadge.style.color = '#ffffff'; resultBox.style.borderLeftColor = '#f59e0b'; resultBox.innerHTML = ` Kết luận Thuật toán ADI-R — Hồ Sơ Phổ Tự Kỷ Không Điển Hình / Chưa Đủ 4 Miền (Đạt ${metCount}/4 Miền):
• Theo quy tắc nghiêm ngặt của ADI-R, chẩn đoán Tự kỷ cổ điển yêu cầu vượt ngưỡng ở cả 4 miền. Hiện tại hồ sơ đạt: Miền A (${sA}/30, ngưỡng ≥10) • Miền B (${sB}/${maxB}, ngưỡng ≥${cutB}) • Miền C (${sC}/12, ngưỡng ≥3) • Miền D (${sD}/3, ngưỡng ≥1).
• Ý nghĩa lâm sàng: Trường hợp vượt ngưỡng ở Miền A và Miền B nhưng thiếu Miền C (Hành vi lặp lại) rất hay gặp ở Rối loạn giao tiếp xã hội (SPCD) hoặc Tự kỷ mức độ nhẹ/chức năng cao. Cần kết hợp kết quả quan sát trực tiếp ADOS-2 và tiêu chuẩn DSM-5 để quyết định chẩn đoán cuối cùng. `; } else { scoreBadge.textContent = `DƯỚI NGƯỠNG CHẨN ĐOÁN ADI-R (${metCount}/4 MIỀN)`; scoreBadge.style.background = '#10b981'; scoreBadge.style.color = '#ffffff'; resultBox.style.borderLeftColor = '#10b981'; resultBox.innerHTML = ` Kết luận Thuật toán ADI-R — Không Đạt Ngưỡng Chẩn Đoán Tự Kỷ (Chỉ đạt ${metCount}/4 Miền):
• Điểm số chi tiết: Miền A (${sA}/30) • Miền B (${sB}/${maxB}) • Miền C (${sC}/12) • Miền D (${sD}/3).
• Nếu trẻ chỉ tăng điểm đơn độc ở Miền B (Giao tiếp) và Miền D (Chậm nói trước 36 tháng) nhưng Miền A (Tương tác xã hội) và Miền C (Hành vi lặp lại) hoàn toàn bình thường, hồ sơ hướng tới Rối loạn ngôn ngữ phát triển (DLD) chứ không phải Rối loạn phổ tự kỷ. `; } updateFloatingFabVisibility(); } function applyPreset(type) { rawScores = {}; if (type === 'reset') { renderItems(); updateSummary(); return; } algoItems.forEach(function(it) { rawScores[it.id] = 0; }); if (type === 'non') { // Rối loạn ngôn ngữ đơn thuần: Miền A = 3đ (Dưới ngưỡng 10), Miền B = 6đ, Miền C = 1đ, Miền D = 2đ [1, 4, 21].forEach(id => { rawScores[id] = 1; }); [16, 19, 20, 23, 24].forEach(id => { rawScores[id] = 1; }); rawScores[29] = 1; rawScores[35] = 1; rawScores[36] = 1; } else if (type === 'partial') { // Đạt Miền A (14đ), Miền B (10đ), Miền D (2đ), nhưng thiếu Miền C (1đ { rawScores[id] = (idx { rawScores[id] = (idx = 3) rawScores[35] = 1; rawScores[37] = 1; } else if (type === 'autism') { // Đạt chuẩn cả 4 miền: Miền A (19đ), Miền B (15đ), Miền C (7đ), Miền D (3đ) [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15].forEach((id, idx) => { rawScores[id] = (idx { rawScores[id] = (idx { rawScores[id] = (idx < 2) ? 2 : 1; }); rawScores[35] = 2; rawScores[36] = 2; rawScores[37] = 1; } renderItems(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); arWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { arWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 940px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } shadow.querySelectorAll('#verbalGroup .ar-btn-sm').forEach(function(btn) { btn.onclick = function() { isVerbal = (this.getAttribute('data-verbal') === 'yes'); shadow.querySelectorAll('#verbalGroup .ar-btn-sm').forEach(b => b.classList.remove('active')); this.classList.add('active'); renderItems(); updateSummary(); }; }); shadow.querySelectorAll('#presetGroup .ar-btn-sm').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-pre')); }; }); shadow.querySelectorAll('#domainTabs .ar-dtab').forEach(function(tab) { tab.onclick = function() { filterDom = this.getAttribute('data-dom'); shadow.querySelectorAll('#domainTabs .ar-dtab').forEach(t => t.classList.remove('active')); this.classList.add('active'); renderItems(); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); applyPreset('autism'); })();
ADI-R (Autism Diagnostic Interview-Revised — Phỏng vấn Chẩn đoán Tự kỷ, Bản Hiệu đính) là công cụ phỏng vấn lâm sàng bán cấu trúc chuyên sâu dành cho phụ huynh hoặc người chăm sóc chính, được phát triển bởi Giáo sư Michael Rutter, Ann Le Couteur và Catherine Lord (2003).
Trong y khoa thế giới, bộ đôi ADOS-2 (quan sát trực tiếp hành vi hiện tại) và ADI-R (khai thác toàn bộ lịch sử phát triển từ nhỏ) tạo thành “Tiêu chuẩn vàng kép” (Dual Gold Standard) để chẩn đoán xác định Rối loạn phổ tự kỷ (ASD).
Tóm tắt cốt lõi về công cụ ADI-R
-
Đối tượng áp dụng: Mọi cá nhân (từ trẻ nhỏ đến người trưởng thành) miễn là có tuổi phát triển tâm thần (Mental Age) từ 2.0 tuổi (24 tháng) trở lên.
-
Hình thức & Thời gian: Bác sĩ/Chuyên gia tâm lý phỏng vấn trực tiếp phụ huynh qua 93 mục hỏi chi tiết (kéo dài từ 1.5 đến 2.5 giờ), tập trung vào các hành vi cụ thể ở giai đoạn 4.0 – 5.0 tuổi (“Most Abnormal 4.0–5.0” — giai đoạn các triệu chứng tự kỷ bộc lộ điển hình nhất và ít bị che lấp bởi kỹ năng học tập sau này) hoặc thời điểm hiện tại (đối với trẻ dưới 4 tuổi).
-
4 Trụ cột trong Thuật toán Chẩn đoán ADI-R (Diagnostic Algorithm): Mặc dù phỏng vấn 93 câu, thuật toán tính điểm chẩn đoán chỉ rút trích các mục cốt lõi chia vào 4 miền (Domains) và 12 tiểu lĩnh vực (Subdomains):
| Mã miền | Tên miền đánh giá trong Thuật toán ADI-R | Số tiểu lĩnh vực | Điểm tối đa | Ngưỡng điểm cắt chuẩn (Cut-off) |
| Miền A | Bất thường định tính trong Tương tác Xã hội qua lại (Reciprocal Social Interaction) | 4 tiểu lĩnh vực (A1, A2, A3, A4) | 30 điểm | điểm |
| Miền B (V) (Có lời nói) | Bất thường định tính trong Giao tiếp — Nhóm có ngôn ngữ nói (Verbal) | 4 tiểu lĩnh vực (B1, B4, B2V, B3V) | 26 điểm | điểm |
| Miền B (NV)(Chưa nói) | Bất thường định tính trong Giao tiếp — Nhóm chưa có ngôn ngữ nói (Non-Verbal) | 2 tiểu lĩnh vực (B1, B4 — bỏ B2V, B3V) | 14 điểm | điểm |
| Miền C | Các mẫu hành vi hạn hẹp, lặp đi lặp lại và rập khuôn (Restricted, Repetitive Behaviors) | 4 tiểu lĩnh vực (C1, C2, C3, C4) | 12 điểm | điểm |
| Miền D | Bất thường phát triển khởi phát trước 36 tháng tuổi (Abnormality of Development $\le 36$m) | 5 chỉ báo khởi phát sớm (D1 – D5) | 5 điểm | điểm |
- Quy tắc chấm điểm & Kết luận Chẩn đoán ADI-R:
-
Tương tự ADOS-2, khi chấm phỏng vấn thô, mỗi mục có thang
0,1,2,3điểm. Khi đưa vào Thuật toán chẩn đoán, mọi mức điểm3đều được quy đổi về2điểm (ngoài trừ Miền D quy đổi nhị phân0hoặc1điểm). -
Điều kiện dương tính chuẩn ADI-R: Để đạt chẩn đoán Tự kỷ (Autism) theo thuật toán ADI-R, cá nhân phải đồng thời đạt hoặc vượt ngưỡng điểm cắt ở CẢ 4 MIỀN (A, B, C và D). Nếu chỉ vượt ngưỡng ở 2 hoặc 3 miền (ví dụ thiếu Miền C hoặc Miền D), hồ sơ sẽ được phân loại là Đặc điểm Phổ tự kỷ không điển hình / Cần kết hợp ADOS-2 & DSM-5.
[Tự kỷ] CARS-2: Thang chẩn đoán phân biệt và đo lường mức độ nặng phổ tự kỷ (Từ 2 tuổi)
(function() { const host = document.getElementById('cars2-wp-host'); if (!host) return; const placeholder = document.createComment('cars2-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // ========================================== // DỮ LIỆU 1: 15 MỤC CHUẨN CỦA CARS2-ST (STANDARD VERSION) // ========================================== const stItems = [ { id: 1, dom: 'soc', name: 'Mục I. Quan hệ với mọi người (Relating to People)', desc: 'Đánh giá mức độ trẻ chủ động tương tác, giao tiếp mắt, đáp lại sự quan tâm của người lớn hay thu mình, thờ ơ, né tránh tiếp xúc.', guide: '1.0: Tương tác tự nhiên theo tuổi | 2.0: Nhút nhát/né tránh nhẹ, ít nhìn mắt | 3.0: Cách biệt, phải nỗ lực mạnh mới thu hút được | 4.0: Hoàn toàn thờ ơ, không phản ứng với người khác.' }, { id: 2, dom: 'soc', name: 'Mục II. Bắt chước (Imitation)', desc: 'Khả năng bắt chước âm thanh, lời nói và các động tác vận động (vẫy tay, vỗ tay, làm theo mẫu) tức thì hoặc trì hoãn.', guide: '1.0: Bắt chước tốt | 2.0: Bắt chước được các hành vi đơn giản khi được nhắc | 3.0: Chỉ bắt chước đôi lúc với sự hỗ trợ lớn | 4.0: Hiếm khi hoặc không bao giờ bắt chước.' }, { id: 3, dom: 'soc', name: 'Mục III. Phản ứng cảm xúc (Emotional Response)', desc: 'Sự phù hợp của biểu cảm nét mặt, tâm trạng (vui, buồn, khóc, cười) với hoàn cảnh xung quanh.', guide: '1.0: Cảm xúc phù hợp | 2.0: Đôi khi phản ứng cảm xúc hơi lệch ngữ cảnh | 3.0: Cười/khóc vô cớ, hoặc đơ cứng cảm xúc rõ | 4.0: Cảm xúc cực kỳ bất thường, không liên quan tình huống.' }, { id: 4, dom: 'rrb', name: 'Mục IV. Sử dụng cơ thể (Body Use)', desc: 'Sự phối hợp vận động và các cử động cơ thể bất thường (nhón gót, vẫy tay, xoay người, đung đưa, tự gây hại).', guide: '1.0: Vận động bình thường | 2.0: Hơi vụng về hoặc có cử động lặp lại thoáng qua | 3.0: Vẫy tay, nhón gót, xoay người rõ rệt | 4.0: Cử động định hình với cường độ cao, liên tục.' }, { id: 5, dom: 'rrb', name: 'Mục V. Sử dụng đồ vật (Object Use)', desc: 'Cách trẻ quan tâm và chơi với đồ chơi (chơi đúng chức năng/tưởng tượng hay chỉ xếp hàng, xoay bánh xe, đập gõ).', guide: '1.0: Chơi đúng chức năng & tưởng tượng | 2.0: Chơi đơn điệu hoặc săm soi chi tiết nhẹ | 3.0: Xếp hàng, quay bánh xe, ít chơi đúng cách | 4.0: Chỉ cuốn hút rập khuôn vào bộ phận đồ vật.' }, { id: 6, dom: 'rrb', name: 'Mục VI. Thích ứng với sự thay đổi (Adaptation to Change)', desc: 'Khả năng chuyển đổi hoạt động, chấp nhận thay đổi lộ trình, chỗ ngồi, đồ vật hoặc thói quen sinh hoạt.', guide: '1.0: Linh hoạt bình thường | 2.0: Hơi bướng bỉnh khi chuyển hoạt động | 3.0: Khó chịu, cáu giận rõ khi đổi thói quen | 4.0: Hoảng loạn hoặc ăn vạ dữ dội trước thay đổi nhỏ.' }, { id: 7, dom: 'sen', name: 'Mục VII. Phản ứng thị giác (Visual Response)', desc: 'Cách sử dụng ánh mắt để quan sát người/vật (nhìn thẳng tự nhiên hay nhìn nghiêng/liếc mắt, nhìn chằm chằm ánh đèn/vật quay).', guide: '1.0: Quan sát bình thường | 2.0: Đôi khi nhìn vật hơn nhìn người, tránh nhìn mắt nhẹ | 3.0: Nhìn nghiêng sát mắt, mê mẩn vật quay/ánh sáng | 4.0: Né tránh nhìn người nghiêm trọng, kích thích thị giác nặng.' }, { id: 8, dom: 'sen', name: 'Mục VIII. Phản ứng thính giác (Listening Response)', desc: 'Phản ứng với tiếng gọi tên và các âm thanh môi trường (phản ứng quá mức/bịt tai hoặc thờ ơ như không nghe thấy).', guide: '1.0: Nghe & phản ứng bình thường | 2.0: Đôi khi gọi tên chậm quay lại hoặc hơi nhạy tiếng ồn | 3.0: Lúc như điếc lúc lại giật mình bịt tai | 4.0: Phản ứng quá mức hoặc thờ ơ nghiêm trọng với âm thanh.' }, { id: 9, dom: 'sen', name: 'Mục IX. Phản ứng Vị giác, Khứu giác, Xúc giác (Taste, Smell, and Touch)', desc: 'Cách trẻ khám phá đồ vật qua các giác quan gần và phản ứng với cảm giác đau, nhiệt độ, chất liệu quần áo/thức ăn.', guide: '1.0: Bình thường | 2.0: Kén ăn kết cấu nhẹ hoặc hay đưa đồ lên miệng/ngửi | 3.0: Ngửi/liếm đồ vật rõ, chịu đau cao bất thường hoặc né tránh chạm | 4.0: Khám phá đồ vật chủ yếu bằng liếm/ngửi/sờ bất thường.' }, { id: 10, dom: 'sen', name: 'Mục X. Sự sợ hãi hoặc Lo âu (Fear or Nervousness)', desc: 'Mức độ sợ hãi quá mức trước những thứ vô hại hoặc ngược lại là hoàn toàn không biết sợ trước nguy hiểm thực tế.', guide: '1.0: Biết sợ hợp lý theo tuổi | 2.0: Đôi khi lo lắng hoặc liều lĩnh hơn bạn cùng tuổi | 3.0: Sợ hãi vô lý hoặc thiếu nhận thức nguy hiểm rõ | 4.0: Hoảng sợ cực độ không dỗ được hoặc bất chấp nguy hiểm.' }, { id: 11, dom: 'com', name: 'Mục XI. Giao tiếp bằng lời nói (Verbal Communication)', desc: 'Mức độ phát triển lời nói và các bất thường ngôn ngữ (chậm nói, nhại lời, đảo ngược đại từ, ngôn ngữ rập khuôn).', guide: '1.0: Ngôn ngữ phù hợp tuổi | 2.0: Chậm nói nhẹ hoặc đôi khi nhại lời | 3.0: Không có lời nói giao tiếp hoặc nhại lời/nói vô nghĩa nhiều | 4.0: Hoàn toàn không dùng lời nói có nghĩa hoặc chỉ phát âm thanh lạ.' }, { id: 12, dom: 'com', name: 'Mục XII. Giao tiếp không lời (Nonverbal Communication)', desc: 'Việc sử dụng cử chỉ (chỉ trỏ, gật/lắc đầu, vẫy tay, nét mặt) để bày tỏ nhu cầu và chia sẻ sự chú ý.', guide: '1.0: Dùng cử chỉ tốt | 2.0: Cử chỉ còn nghèo nàn, chỉ tay chưa rõ | 3.0: Kéo tay người lớn thay vì chỉ trỏ, ít hiểu cử chỉ | 4.0: Hoàn toàn không dùng hoặc không hiểu cử chỉ phi ngôn ngữ.' }, { id: 13, dom: 'gen', name: 'Mục XIII. Mức độ hoạt động (Activity Level)', desc: 'Mức độ vận động trong phòng khám và sinh hoạt (tăng động, chạy nhảy liên tục hoặc thụ động, ì ạch quá mức).', guide: '1.0: Hoạt động vừa phải | 2.0: Hơi hiếu động hoặc hơi chậm chạp nhẹ | 3.0: Tăng động khó ngồi yên hoặc rất thụ động | 4.0: Cực kỳ tăng động/lờ đờ suốt buổi, rất khó điều chỉnh.' }, { id: 14, dom: 'gen', name: 'Mục XIV. Mức độ và Tính nhất quán của Phản ứng Trí tuệ (Intellectual Response)', desc: 'Sự đồng đều giữa các kỹ năng nhận thức (trí tuệ đồng đều hay phát triển lệch, có kỹ năng vượt trội xen lẫn thiếu hụt).', guide: '1.0: Trí tuệ bình thường & đồng đều | 2.0: Chậm nhẹ đồng đều các lĩnh vực | 3.0: Nhận thức không đồng đều, có mảng giỏi bất ngờ | 4.0: Lệch lạc lớn giữa các kỹ năng (Savant/Splinter skills) kèm suy giảm chung.' }, { id: 15, dom: 'gen', name: 'Mục XV. Ấn tượng chung của Nhà lâm sàng (General Impressions)', desc: 'Đánh giá tổng thể của chuyên gia về mức độ tự kỷ dựa trên toàn bộ quá trình quan sát và bệnh sử.', guide: '1.0: Không tự kỷ | 2.0: Tự kỷ mức độ nhẹ | 3.0: Tự kỷ mức độ trung bình | 4.0: Tự kỷ mức độ nặng.' } ]; // ========================================== // DỮ LIỆU 2: 15 MỤC CHUẨN CỦA CARS2-HF (HIGH-FUNCTIONING • >= 6 TUỔI, IQ >= 80, NÓI LƯU LOÁT) // ========================================== const hfItems = [ { id: 1, dom: 'soc', name: 'Mục I. Hiểu biết Cảm xúc – Xã hội (Social-Emotional Understanding)', desc: 'Khả năng nhận diện cảm xúc, đọc ngôn ngữ cơ thể, nét mặt và hiểu góc nhìn/suy nghĩ của người khác (Thuyết tâm trí).', guide: '1.0: Thấu cảm & hiểu ý người khác tốt | 2.0: Đôi khi hiểu sai ẩn ý hoặc cảm xúc tinh tế | 3.0: Khó đặt mình vào vị trí người khác rõ rệt | 4.0: Hầu như không nhận thức được cảm xúc/quan điểm của người đối diện.' }, { id: 2, dom: 'soc', name: 'Mục II. Biểu đạt Cảm xúc và Điều tiết Cảm xúc (Emotional Expression & Regulation)', desc: 'Cách thể hiện cảm xúc qua nét mặt/giọng nói và khả năng tự kiểm soát cơn giận, lo âu hoặc thất vọng.', guide: '1.0: Biểu đạt & tự điều tiết tốt | 2.0: Biểu cảm hơi cứng nhắc hoặc dễ cáu khi thất bại | 3.0: Bùng nổ cảm xúc hoặc nét mặt phẳng lì lệch ngữ cảnh | 4.0: Rối loạn điều tiết cảm xúc nghiêm trọng.' }, { id: 3, dom: 'soc', name: 'Mục III. Quan hệ với mọi người (Relating to People)', desc: 'Tính tương hỗ hai chiều khi tương tác với người lớn và bạn cùng trang lứa, khả năng kết bạn và duy trì tình bạn.', guide: '1.0: Quan hệ hai chiều tự nhiên | 2.0: Muốn kết bạn nhưng vụng về, tương tác hơi một chiều | 3.0: Ít chủ động xã hội hoặc chỉ tương tác theo điều kiện riêng | 4.0: Tách biệt xã hội hoặc hoàn toàn một chiều.' }, { id: 4, dom: 'rrb', name: 'Mục IV. Sử dụng cơ thể (Body Use)', desc: 'Sự khéo léo vận động tinh/thô, dáng đi đứng, tư thế và các cử động định hình hoặc tics vận động.', guide: '1.0: Phối hợp vận động tốt | 2.0: Hơi vụng về trong thể thao/viết chữ hoặc tư thế hơi cứng | 3.0: Vụng về rõ hoặc có cử động tay/cơ thể lặp lại | 4.0: Cử động định hình hoặc bất thường vận động nghiêm trọng.' }, { id: 5, dom: 'rrb', name: 'Mục V. Sử dụng đồ vật trong vui chơi & Sở thích thu hẹp (Object Use in Play)', desc: 'Khả năng chơi tưởng tượng linh hoạt so với việc chỉ sưu tầm thông tin, phân loại hoặc đam mê các chủ đề chuyên biệt hẹp.', guide: '1.0: Sở thích đa dạng, linh hoạt | 2.0: Rất mê 1–2 chủ đề nhưng vẫn chuyển sang việc khác được | 3.0: Sở thích đặc biệt chiếm phần lớn thời gian và câu chuyện | 4.0: Ám ảnh mãnh liệt với chủ đề hẹp, cản trở sinh hoạt.' }, { id: 6, dom: 'rrb', name: 'Mục VI. Thích ứng với thay đổi & Sở thích hạn hẹp (Adaptation to Change)', desc: 'Tính linh hoạt khi thay đổi kế hoạch, quy tắc, lịch trình và xu hướng khăng khăng giữ các nghi thức cá nhân.', guide: '1.0: Thích nghi linh hoạt | 2.0: Cần báo trước khi đổi lịch, hơi cứng nhắc quy tắc | 3.0: Căng thẳng, phản ứng mạnh khi kế hoạch thay đổi | 4.0: Đòi hỏi sự bất biến tuyệt đối, hoảng loạn khi thay đổi.' }, { id: 7, dom: 'sen', name: 'Mục VII. Phản ứng thị giác (Visual Response)', desc: 'Chất lượng giao tiếp ánh mắt khi trò chuyện và sự chú ý quá mức đến các chi tiết thị giác nhỏ hoặc ánh sáng.', guide: '1.0: Giao tiếp mắt tự nhiên | 2.0: Nhìn mắt không đều hoặc nhìn chằm chằm hơi cứng | 3.0: Tránh nhìn mắt rõ rệt hoặc cuốn hút vào chi tiết thị giác | 4.0: Bất thường nghiêm trọng trong giao tiếp mắt.' }, { id: 8, dom: 'sen', name: 'Mục VIII. Phản ứng thính giác (Listening Response)', desc: 'Phản ứng với tiếng ồn môi trường và khả năng lọc âm thanh để lắng nghe người đối diện trong nơi đông người.', guide: '1.0: Lắng nghe bình thường | 2.0: Dễ xao nhãng bởi tiếng động nhỏ hoặc ghét một số tiếng ồn | 3.0: Quá tải thính giác rõ (phải bịt tai) hoặc chậm xử lý lời nói | 4.0: Nhạy cảm thính giác cực độ gây cản trở sinh hoạt.' }, { id: 9, dom: 'sen', name: 'Mục IX. Phản ứng và Nhạy cảm Giác quan khác (Taste, Smell, Touch)', desc: 'Nhạy cảm với chất liệu quần áo (mác áo), kết cấu thức ăn, mùi hương hoặc cảm giác đụng chạm cơ thể.', guide: '1.0: Không có nhạy cảm đặc biệt | 2.0: Kén một số chất vải hoặc món ăn nhất định | 3.0: Phản ứng gay gắt với mùi, kết cấu thức ăn hoặc cái ôm | 4.0: Rối loạn xử lý giác quan nặng.' }, { id: 10, dom: 'sen', name: 'Mục X. Sự sợ hãi hoặc Lo âu (Fear or Anxiety)', desc: 'Mức độ lo âu xã hội, căng thẳng trước tình huống mới, ám ảnh sợ hoặc thiếu nhận thức rủi ro xã hội.', guide: '1.0: Mức lo âu bình thường | 2.0: Hay lo lắng khi gặp người lạ/tình huống mới | 3.0: Lo âu thường trực, căng thẳng rõ rệt | 4.0: Lo âu hoặc hoảng loạn nghiêm trọng làm tê liệt hoạt động.' }, { id: 11, dom: 'com', name: 'Mục XI. Giao tiếp bằng lời nói (Verbal Communication)', desc: 'Kỹ năng hội thoại qua lại hai chiều, cách dùng từ (kiểu cách "ông cụ non"), giọng điệu và khả năng hiểu nghĩa bóng/nói đùa.', guide: '1.0: Hội thoại linh hoạt, hiểu nghĩa bóng | 2.0: Nói hơi sách vở, đôi khi hiểu theo nghĩa đen | 3.0: Độc thoại một chiều về sở thích, giọng đều đều, khó hiểu ẩn dụ | 4.0: Giao tiếp ngữ dụng suy giảm nghiêm trọng.' }, { id: 12, dom: 'com', name: 'Mục XII. Giao tiếp không lời (Nonverbal Communication)', desc: 'Sự phối hợp giữa cử chỉ tay, tư thế cơ thể, khoảng cách giao tiếp và biểu cảm nét mặt khi đang nói chuyện.', guide: '1.0: Ngôn ngữ cơ thể tự nhiên | 2.0: Cử chỉ hơi ít hoặc khoảng cách đứng hơi gần/xa | 3.0: Hiếm dùng cử chỉ minh họa, nét mặt và lời nói thiếu ăn khớp | 4.0: Ngôn ngữ phi ngôn ngữ hoàn toàn rời rạc, cứng nhắc.' }, { id: 13, dom: 'gen', name: 'Mục XIII. Khả năng Tích hợp Tư duy & Nhận thức Tổng thể (Thinking/Cognitive Integration)', desc: 'Khả năng nhìn nhận bức tranh tổng thể (Central Coherence) thay vì chỉ sa đà vào các chi tiết vụn vặt rời rạc.', guide: '1.0: Nắm bắt ý chính & tổng thể tốt | 2.0: Chú ý nhiều đến tiểu tiết nhưng vẫn hiểu ý chính khi nhắc | 3.0: Nhớ chi tiết cực tốt nhưng bỏ lỡ ý nghĩa tổng thể của tình huống | 4.0: Tư duy mảnh vụn, không thể kết nối thành bức tranh chung.' }, { id: 14, dom: 'gen', name: 'Mục XIV. Mức độ và Tính nhất quán của Phản ứng Trí tuệ (Intellectual Response)', desc: 'Sự chênh lệch giữa trí thông minh học thuật/ghi nhớ và khả năng giải quyết vấn đề thực tế ("lẽ thường" xã hội).', guide: '1.0: Năng lực nhận thức và thực tế cân bằng | 2.0: Học tốt nhưng kỹ năng ứng phó thực tế hơi chậm | 3.0: Chênh lệch lớn giữa điểm số/kiến thức và sự ngây thơ ngoài đời | 4.0: Lệch lạc cực đoan giữa năng lực chuyên biệt và kỹ năng sống.' }, { id: 15, dom: 'gen', name: 'Mục XV. Ấn tượng chung của Nhà lâm sàng (General Impressions)', desc: 'Đánh giá tổng quát của chuyên gia về mức độ triệu chứng thuộc Phổ tự kỷ trên toàn bộ 14 lĩnh vực trên.', guide: '1.0: Không thuộc phổ tự kỷ | 2.0: Phổ tự kỷ mức độ nhẹ | 3.0: Phổ tự kỷ mức độ trung bình | 4.0: Phổ tự kỷ mức độ nặng.' } ]; // formType: 'st_u13' (CARS2-ST = 13 tuổi: Cut 28.0 / 35.0) | 'hf' (CARS2-HF >= 6 tuổi, IQ >= 80: Cut 28.0 / 34.0) let formType = 'st_u13'; let scores = {}; // Lưu điểm từng mục (1.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0) let filterDom = 'all'; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .c2-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .c2-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .c2-inner { padding: 24px; max-width: 940px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .c2-wrap.is-fullscreen .c2-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .c2-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(217, 119, 6, 0.45), 0 0 0 0 rgba(217, 119, 6, 0.4); } 70% { box-shadow: 0 6px 20px rgba(217, 119, 6, 0.45), 0 0 0 10px rgba(217, 119, 6, 0); } 100% { box-shadow: 0 6px 20px rgba(217, 119, 6, 0.45), 0 0 0 0 rgba(217, 119, 6, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #b45309 0%, #d97706 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(217, 119, 6, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Bộ chuyển đổi 3 mẫu phiếu CARS-2 */ .form-switcher { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; background: #f1f5f9; padding: 8px; border-radius: 12px; margin-bottom: 18px; } .form-btn { padding: 10px 12px; border-radius: 9px; border: 1.5px solid transparent; background: transparent; cursor: pointer; text-align: left; transition: all 0.2s ease; touch-action: manipulation; } .form-btn.active { background: #ffffff; border-color: #d97706; box-shadow: 0 2px 8px rgba(15, 23, 42, 0.08); } .form-btn-title { font-size: 13.8px; font-weight: 800; color: #0f172a; display: block; } .form-btn.active .form-btn-title { color: #b45309; } .form-btn-sub { font-size: 11.5px; color: #64748b; margin-top: 2px; display: block; } /* Header */ .c2-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .c2-header-text { flex: 1 1 260px; } .c2-title { font-size: 20px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .c2-desc { font-size: 13.8px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #fffbeb; color: #b45309; border: 1px solid #fde68a; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #d97706; color: #ffffff; border-color: #d97706; } /* Controls */ .c2-controls { display: flex; flex-direction: column; gap: 10px; margin-bottom: 18px; } .c2-presets { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; } .c2-preset-lbl { font-size: 12.5px; font-weight: 700; color: #475569; margin-right: 4px; } .c2-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; touch-action: manipulation; } .c2-pbtn:hover { background: #f1f5f9; } .c2-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } .c2-domain-tabs { display: flex; flex-wrap: wrap; gap: 6px; } .c2-dtab { padding: 6px 12px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .c2-dtab.active { background: #d97706; color: #ffffff; border-color: #d97706; } /* Sticky Dashboard */ .c2-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .c2-wrap.is-fullscreen .c2-dash { top: 58px; } .c2-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .c2-score-big { font-size: 24px; font-weight: 800; line-height: 1; } .c2-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .c2-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .c2-bar-bg { height: 10px; background: #334155; border-radius: 5px; overflow: hidden; margin-bottom: 12px; } .c2-bar-fill { height: 100%; width: 0%; background: #10b981; transition: width 0.35s ease, background 0.35s ease; } .c2-pillars { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; font-size: 12px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .c2-pillar-box { background: #1e293b; padding: 7px 10px; border-radius: 8px; } .c2-pillar-val { font-weight: 700; color: #ffffff; font-size: 13.5px; display: block; margin-top: 2px; } /* Danh sách 15 mục CARS-2 */ .c2-item { border: 1px solid #e2e8f0; border-radius: 12px; padding: 15px 16px; margin-bottom: 12px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 8px; } .c2-item.sev-high { border-color: #fca5a5; background: #fff5f5; } .c2-item.sev-mid { border-color: #fde68a; background: #fffbeb; } .c2-item-title { font-size: 15px; font-weight: 800; color: #0f172a; } .c2-item-desc { font-size: 13.5px; color: #334155; } .c2-item-guide { font-size: 12.5px; color: #475569; background: #f8fafc; padding: 7px 10px; border-radius: 6px; border-left: 3px solid #cbd5e1; } /* 7 nút điểm bước nhảy 0.5 (1.0 -> 4.0) */ .c2-scale-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 6px; margin-top: 4px; } .c2-sbtn { padding: 8px 4px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .c2-sbtn:hover { border-color: #64748b; } .c2-sbtn-num { font-size: 13.5px; font-weight: 800; display: block; color: #0f172a; } .c2-sbtn-lbl { font-size: 10.5px; color: #64748b; display: block; margin-top: 1px; } .c2-sbtn.sel-norm { background: #10b981; border-color: #10b981; } .c2-sbtn.sel-mild { background: #f59e0b; border-color: #f59e0b; } .c2-sbtn.sel-sev { background: #ef4444; border-color: #ef4444; } .c2-sbtn.sel-norm .c2-sbtn-num, .c2-sbtn.sel-norm .c2-sbtn-lbl, .c2-sbtn.sel-mild .c2-sbtn-num, .c2-sbtn.sel-mild .c2-sbtn-lbl, .c2-sbtn.sel-sev .c2-sbtn-num, .c2-sbtn.sel-sev .c2-sbtn-lbl { color: #ffffff; } .c2-result-box { margin-top: 20px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #64748b; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 720px) { .c2-inner { padding: 14px; } .form-switcher { grid-template-columns: 1fr; } .c2-title { font-size: 18px; } .c2-pillars { grid-template-columns: 1fr 1fr; } .c2-scale-grid { grid-template-columns: repeat(4, 1fr); } .c2-pbtn.reset { margin-left: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
${cfg.title}
${cfg.desc}
`; } function renderItems() { const cfg = getActiveConfig(); itemList.innerHTML = ''; cfg.items.forEach(function(it) { if (filterDom !== 'all' && it.dom !== filterDom) return; const uVal = (scores[it.id] !== undefined) ? scores[it.id] : 1.0; let rowCls = 'c2-item'; if (uVal >= 3.0) rowCls += ' sev-high'; else if (uVal >= 2.0) rowCls += ' sev-mid'; const btnsHtml = scaleSteps.map(st => { let cls = 'c2-sbtn'; if (uVal === st.val) { if (st.val <= 1.5) cls += ' sel-norm'; else if (st.val <= 2.5) cls += ' sel-mild'; else cls += ' sel-sev'; } return ` `; }).join(''); const el = document.createElement('div'); el.className = rowCls; el.innerHTML = `• Tổng điểm thấp hơn ngưỡng điểm cắt phân loại tự kỷ (${cfg.cutMild.toFixed(1)} điểm).
• Nếu trẻ có một số mục lẻ đạt 2.0 – 2.5 điểm ở phần Giao tiếp hoặc Hoạt động nhưng tổng điểm dưới ${cfg.cutMild.toFixed(1)}, cần đánh giá phân biệt với Chậm phát triển ngôn ngữ, Tăng động giảm chú ý (ADHD) hoặc Rối loạn xử lý giác quan đơn thuần. `; } else if (total < cfg.cutSev) { color = '#f59e0b'; badgeTxt = `TỰ KỶ NHẸ – TRUNG BÌNH (${total.toFixed(1)}đ)`; analysis = ` Kết luận CARS-2 — Mức Độ Triệu Chứng Phổ Tự Kỷ NHẸ ĐẾN TRUNG BÌNH (${total.toFixed(1)} / 60.0 điểm):
• Tổng điểm nằm trong khoảng ${cfg.cutMild.toFixed(1)} – ${(cfg.cutSev - 0.5).toFixed(1)} điểm. Hồ sơ phân bố: Tương tác & Giao tiếp (${sSocCom.toFixed(1)}/20.0) • Cơ thể, Đồ vật & Thay đổi (${sRrb.toFixed(1)}/12.0) • Giác quan & Lo âu (${sSen.toFixed(1)}/16.0).
• Hướng xử trí lâm sàng: Kết quả tương ứng với mức độ cần hỗ trợ (Level 1 – Level 2 theo DSM-5). Khuyến nghị kết hợp đánh giá năng lực thích ứng bằng Vineland-3 để xây dựng mục tiêu can thiệp cá nhân hóa (IEP) tập trung vào các mục có điểm từ 2.5 trở lên. `; } else { color = '#ef4444'; badgeTxt = `TỰ KỶ MỨC ĐỘ NẶNG (≥ ${cfg.cutSev.toFixed(1)}: ${total.toFixed(1)}đ)`; analysis = ` Kết luận CARS-2 — Mức Độ Triệu Chứng Phổ Tự Kỷ NẶNG (Đạt ${total.toFixed(1)} / 60.0 điểm, ngưỡng ≥ ${cfg.cutSev.toFixed(1)}):
• Tổng điểm vượt ngưỡng phân loại Tự kỷ mức độ nặng trên thang CARS-2, phản ánh sự suy giảm lan tỏa ở cả Tương tác – Giao tiếp (${sSocCom.toFixed(1)}/20.0), Hành vi định hình/Kháng cự thay đổi (${sRrb.toFixed(1)}/12.0) và Phản ứng giác quan (${sSen.toFixed(1)}/16.0).
• Hướng xử trí lâm sàng: Cần triển khai chương trình can thiệp sớm tích cực, đa chuyên ngành (Ngôn ngữ trị liệu, Hoạt động trị liệu giác quan, Can thiệp hành vi phát triển) và theo dõi định kỳ lại bằng CARS-2 + Vineland-3 sau mỗi 6 tháng. `; } barFill.style.background = color; scoreBadge.textContent = badgeTxt; scoreBadge.style.background = color; scoreBadge.style.color = '#ffffff'; resultBox.style.borderLeftColor = color; resultBox.innerHTML = analysis; updateFloatingFabVisibility(); } function applyPreset(type) { scores = {}; for (let i = 1; i { scores[id] = (idx % 2 === 0) ? 2.0 : 1.5; }); } else if (type === 'mild') { // 32.5 điểm (Mức Nhẹ - Trung bình) [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15].forEach((id, idx) => { if (idx % 3 === 0) scores[id] = 2.5; else if (idx % 2 === 0) scores[id] = 2.0; else scores[id] = 2.0; }); } else if (type === 'severe') { // 43.5 điểm (Mức Nặng) [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15].forEach((id, idx) => { if (idx % 3 === 0) scores[id] = 3.5; else if (idx % 2 === 0) scores[id] = 3.0; else scores[id] = 2.5; }); } renderItems(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); c2Wrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { c2Wrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 940px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } shadow.querySelectorAll('#formSwitcher .form-btn').forEach(function(btn) { btn.onclick = function() { formType = this.getAttribute('data-form'); shadow.querySelectorAll('#formSwitcher .form-btn').forEach(b => b.classList.remove('active')); this.classList.add('active'); renderHeader(); renderItems(); updateSummary(); }; }); shadow.querySelectorAll('.c2-pbtn').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-preset')); }; }); shadow.querySelectorAll('#domainTabs .c2-dtab').forEach(function(tab) { tab.onclick = function() { filterDom = this.getAttribute('data-dom'); shadow.querySelectorAll('#domainTabs .c2-dtab').forEach(t => t.classList.remove('active')); this.classList.add('active'); renderItems(); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); renderHeader(); applyPreset('mild'); })();
CARS-2 (Childhood Autism Rating Scale, Second Edition — Thang Đánh Giá Tự Kỷ Ở Trẻ Em, Phiên bản 2) là một trong những công cụ quan sát lâm sàng kinh điển và được sử dụng rộng rãi nhất tại các bệnh viện, trung tâm tâm lý trên toàn thế giới (và tại Việt Nam) để hỗ trợ chẩn đoán phân biệt và đo lường mức độ nặng (Severity) của Rối loạn phổ tự kỷ. Công cụ được phát triển bởi Giáo sư Eric Schopler, Mary Van Bourgondien và các cộng sự (2010).
1. Điểm cải tiến đột phá của CARS-2 so với bản CARS cũ
Ở bản CARS gốc (1988), công cụ này rất nhạy với trẻ tự kỷ điển hình có kèm chậm phát triển trí tuệ, nhưng lại dễ bỏ sót nhóm Tự kỷ chức năng cao (High-Functioning Autism / Asperger). Vì vậy, CARS-2 đã được tách thành 2 phiên bản đánh giá chuyên biệt (đều gồm 15 mục, chấm từ 1.0 đến 4.0 điểm với bước nhảy 0.5 điểm):
| Đặc điểm | 1. Bản Tiêu chuẩn (CARS2-ST — Standard Version) | 2. Bản Chức năng cao (CARS2-HF — High-Functioning) |
| Đối tượng áp dụng |
• Trẻ dưới 6 tuổi (mọi mức độ phát triển).
• Hoặc trẻ từ 6 tuổi trở lên nhưng có IQ hoặc chậm nói / giao tiếp hạn chế. |
• Cá nhân từ 6 tuổi trở lên, nói lưu loát VÀ có chỉ số trí tuệ IQ (Tự kỷ chức năng cao / Asperger). |
| Cấu trúc 15 mục đánh giá | Giữ nguyên 15 mục kinh điển (Quan hệ với người, Bắt chước, Cảm xúc, Sử dụng cơ thể, Sử dụng đồ vật, Thích ứng thay đổi, Thị giác, Thính giác, Vị-Khứu-Xúc giác, Sợ hãi/Lo âu, Giao tiếp lời nói, Giao tiếp không lời, Mức độ hoạt động, Trí tuệ, Ấn tượng chung). | Thay thế các mục vận động/bắt chước cơ bản bằng các mục tinh tế hơn: Biểu đạt cảm xúc – xã hội, Hiểu cảm xúc & Thuyết tâm trí (Theory of Mind), Khởi xướng hội thoại, Tư duy tích hợp tổng thể (Central Coherence). |
| Cách chấm từng mục |
7 mức điểm (từ 1.0 đến 4.0, bước nhảy 0.5):
|
Tương tự (7 mức từ 1.0 đến 4.0 với bước nhảy 0.5). Tổng điểm nằm trong khoảng từ 15.0 đến 60.0 điểm. |
| Ngưỡng điểm cắt (Cut-off Score) |
• Trẻ < 13 tuổi:
–
–
–
• (Lưu ý: Với nhóm tuổi dùng bản ST, ngưỡng cắt hạ xuống cho mức Nhẹ–TB và 35.0 cho mức Nặng). |
• Áp dụng cho lứa tuổi ≥ 6 tuổi (IQ ≥ 80): –
–
– |
(Điểm đặc trưng của CARS-2 là nếu tất cả 15 mục đều bình thường hoàn toàn thì tổng điểm khởi đầu là 15.0 điểm chứ không phải 0 điểm).
[Tự kỷ] GARS-3: Thang đánh giá và xác định mức độ hỗ trợ tự kỷ Gilliam (3 – 22 tuổi)
(function() { const host = document.getElementById('gars3-wp-host'); if (!host) return; const placeholder = document.createComment('gars3-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // 56 mục hành vi chuẩn theo cấu trúc 6 tiểu thang của GARS-3 (Gilliam, 2013) // sub: 'rb' (Hành vi hạn hẹp/lặp lại - 13 câu), 'si' (Tương tác xã hội - 14 câu), 'sc' (Giao tiếp xã hội - 9 câu), // 'er' (Phản ứng cảm xúc - 8 câu), 'cs' (Phong cách nhận thức - 7 câu), 'ms' (Ngôn ngữ kém thích ứng - 5 câu) // verbalOnly: true đối với tiểu thang CS và MS khi đánh giá theo Index 4 (Trẻ chưa có ngôn ngữ nói) const questions = [ // TIỂU THANG 1: HÀNH VI HẠN HẸP / LẶP LẠI (RB • Câu 1 - 13) { id: 1, sub: 'rb', verbalOnly: false, t: 'Nếu được để yên một mình, trẻ dành phần lớn thời gian cho các hành vi lặp đi lặp lại hoặc rập khuôn.' }, { id: 2, sub: 'rb', verbalOnly: false, t: 'Trẻ bị cuốn hút quá mức vào các kích thích thị giác (như ánh đèn, gương, vật xoay tròn, nhìn nghiêng qua kẽ ngón tay).' }, { id: 3, sub: 'rb', verbalOnly: false, t: 'Trẻ nhìn chằm chằm vào bàn tay, các ngón tay hoặc đồ vật giữ trước mắt trong ít nhất 5 giây.' }, { id: 4, sub: 'rb', verbalOnly: false, t: 'Trẻ liếm, ngửi hoặc đưa vào miệng những đồ vật không phải là thức ăn.' }, { id: 5, sub: 'rb', verbalOnly: false, t: 'Trẻ vẫy nhanh bàn tay, các ngón tay hoặc cánh tay khi phấn khích hoặc căng thẳng.' }, { id: 6, sub: 'rb', verbalOnly: false, t: 'Trẻ xoay tròn cơ thể hoặc chạy vòng quanh lặp đi lặp lại.' }, { id: 7, sub: 'rb', verbalOnly: false, t: 'Trẻ làm các động tác nhón gót, nhảy tưng tưng hoặc lao người tới trước khi di chuyển.' }, { id: 8, sub: 'rb', verbalOnly: false, t: 'Trẻ đung đưa thân mình tới – lui hoặc qua lại khi đang ngồi hoặc đứng.' }, { id: 9, sub: 'rb', verbalOnly: false, t: 'Trẻ xoay các đồ vật không được thiết kế để xoay (như xoay đĩa, cốc, hộp nhựa trên mặt sàn).' }, { id: 10, sub: 'rb', verbalOnly: false, t: 'Trẻ xếp các đồ vật thành hàng dài hoặc theo một khuôn mẫu cố định và rất tức giận nếu bị xê dịch.' }, { id: 11, sub: 'rb', verbalOnly: false, t: 'Trẻ lấy tay bịt tai hoặc la hét trước những âm thanh sinh hoạt thông thường (như máy sấy, máy xay, đám đông).' }, { id: 12, sub: 'rb', verbalOnly: false, t: 'Trẻ có những hành vi tự gây thương tích cho bản thân (như tự cắn tay, tự tát vào mặt, đập đầu).' }, { id: 13, sub: 'rb', verbalOnly: false, t: 'Trẻ đòi hỏi phải đi theo đúng một lộ trình hoặc thực hiện sinh hoạt theo đúng một nghi thức không được sai lệch.' }, // TIỂU THANG 2: TƯƠNG TÁC XÃ HỘI (SI • Câu 14 - 27) { id: 14, sub: 'si', verbalOnly: false, t: 'Trẻ tránh giao tiếp bằng ánh mắt (nhìn đi chỗ khác khi có người đang nhìn hoặc nói chuyện trực diện với trẻ).' }, { id: 15, sub: 'si', verbalOnly: false, t: 'Trẻ nhìn xuyên qua mọi người như thể họ không hề có mặt ở đó.' }, { id: 16, sub: 'si', verbalOnly: false, t: 'Trẻ chống cự hoặc tỏ ra cứng đờ, khó chịu khi được người khác ôm ấp, âu yếm.' }, { id: 17, sub: 'si', verbalOnly: false, t: 'Trẻ không bắt chước hành động của những người khác khi đang chơi đùa.' }, { id: 18, sub: 'si', verbalOnly: false, t: 'Trẻ tự tách mình ra hoặc thu mình lại trong các tình huống sinh hoạt nhóm, tập thể.' }, { id: 19, sub: 'si', verbalOnly: false, t: 'Trẻ chơi một mình cạnh các bạn khác nhưng không hề tương tác hay chơi hợp tác cùng bạn.' }, { id: 20, sub: 'si', verbalOnly: false, t: 'Trẻ tỏ ra rất ít hoặc không có hứng thú trong việc làm hài lòng người khác hay chờ lời khen.' }, { id: 21, sub: 'si', verbalOnly: false, t: 'Trẻ không mỉm cười đáp lại khi bố mẹ hoặc người quen mỉm cười với trẻ.' }, { id: 22, sub: 'si', verbalOnly: false, t: 'Trẻ không có biểu hiện sợ hãi hoặc lo lắng hợp lý trước những tình huống nguy hiểm thực tế.' }, { id: 23, sub: 'si', verbalOnly: false, t: 'Trẻ không chủ động mang đồ chơi hoặc vật thú vị lại khoe để chia sẻ niềm vui với người khác.' }, { id: 24, sub: 'si', verbalOnly: false, t: 'Trẻ làm một số việc nhất định theo kiểu lặp đi lặp lại mà không quan tâm đến phản ứng của người xung quanh.' }, { id: 25, sub: 'si', verbalOnly: false, t: 'Trẻ không phản ứng khi người khác cố gắng bắt chuyện hoặc rủ trẻ cùng tham gia hoạt động.' }, { id: 26, sub: 'si', verbalOnly: false, t: 'Trẻ gặp khó khăn lớn trong việc kết bạn và duy trì mối quan hệ với các bạn cùng trang lứa.' }, { id: 27, sub: 'si', verbalOnly: false, t: 'Trẻ không thể hiện sự quan tâm hay an ủi khi thấy người khác đang buồn khóc hoặc bị đau.' }, // TIỂU THANG 3: GIAO TIẾP XÃ HỘI (SC • Câu 28 - 36) { id: 28, sub: 'sc', verbalOnly: false, t: 'Trẻ phản ứng không phù hợp trước các chỉ dẫn đơn giản (như "Ngồi xuống", "Lại đây").' }, { id: 29, sub: 'sc', verbalOnly: false, t: 'Trẻ không nhìn theo hướng khi có người chỉ tay vào một vật ở xa trong phòng (Suy giảm chú ý chung).' }, { id: 30, sub: 'sc', verbalOnly: false, t: 'Trẻ dùng bàn tay của người lớn như một công cụ (kéo tay người lớn đặt vào đồ vật) thay vì chỉ trỏ và nhìn mặt.' }, { id: 31, sub: 'sc', verbalOnly: false, t: 'Trẻ không sử dụng các cử chỉ quy ước (như vẫy tay tạm biệt, gật đầu đồng ý, lắc đầu từ chối) để giao tiếp.' }, { id: 32, sub: 'sc', verbalOnly: false, t: 'Trẻ không biết cách bắt đầu hoặc duy trì một cuộc tương tác/trò chuyện qua lại với người khác.' }, { id: 33, sub: 'sc', verbalOnly: false, t: 'Trẻ không hiểu các câu nói đùa, lời trêu chọc vui vẻ hoặc các biểu cảm nét mặt tinh tế của người đối diện.' }, { id: 34, sub: 'sc', verbalOnly: false, t: 'Trẻ gặp khó khăn trong việc hiểu các quy tắc ngầm trong giao tiếp xã hội (như chờ đến lượt nói, giữ khoảng cách).' }, { id: 35, sub: 'sc', verbalOnly: false, t: 'Trẻ thiếu các hoạt động chơi đóng vai giả vờ hoặc chơi tưởng tượng đa dạng phù hợp với lứa tuổi.' }, { id: 36, sub: 'sc', verbalOnly: false, t: 'Nét mặt và ngôn ngữ cơ thể của trẻ không ăn khớp với nội dung giao tiếp đang diễn ra.' }, // TIỂU THANG 4: PHẢN ỨNG CẢM XÚC (ER • Câu 37 - 44) { id: 37, sub: 'er', verbalOnly: false, t: 'Trẻ bùng nổ cơn giận hoặc ăn vạ dữ dội khi bị từ chối hoặc khi không đạt được điều mình muốn.' }, { id: 38, sub: 'er', verbalOnly: false, t: 'Trẻ trở nên cực kỳ bối rối, hoảng loạn hoặc cáu kỉnh khi thói quen sinh hoạt hàng ngày bị thay đổi.' }, { id: 39, sub: 'er', verbalOnly: false, t: 'Trẻ phản ứng quá mức (khóc thét, la hét, chạy trốn) khi phải chuyển từ hoạt động đang thích sang hoạt động khác.' }, { id: 40, sub: 'er', verbalOnly: false, t: 'Trẻ cười khanh khách, khóc hoặc giận dữ một cách đột ngột mà không có nguyên nhân rõ ràng.' }, { id: 41, sub: 'er', verbalOnly: false, t: 'Trẻ thể hiện những phản ứng cảm xúc trái ngược hoặc hoàn toàn không phù hợp với tình huống thực tế.' }, { id: 42, sub: 'er', verbalOnly: false, t: 'Trẻ trở nên lo âu, căng thẳng tột độ khi bước vào những nơi mới lạ hoặc đông người.' }, { id: 43, sub: 'er', verbalOnly: false, t: 'Trẻ rất khó tự bình tĩnh lại một khi đã bị kích động hoặc rơi vào trạng thái quá tải cảm xúc.' }, { id: 44, sub: 'er', verbalOnly: false, t: 'Trẻ có những nỗi sợ hãi mãnh liệt bất thường đối với những đồ vật hoặc tình huống vô hại hàng ngày.' }, // TIỂU THANG 5: PHONG CÁCH NHẬN THỨC (CS • Câu 45 - 51 • Áp dụng trong hệ 6 tiểu thang) { id: 45, sub: 'cs', verbalOnly: true, t: 'Trẻ sử dụng cách nói chuyện đặc biệt già dặn, sách vở hoặc chính xác một cách máy móc so với tuổi.' }, { id: 46, sub: 'cs', verbalOnly: true, t: 'Trẻ gắn bó mãnh liệt một cách khác thường với một số đồ vật vô tri nhất định (như cục đá, nắp chai, tờ lịch).' }, { id: 47, sub: 'cs', verbalOnly: true, t: 'Trẻ chỉ nói hoặc tìm hiểu lặp đi lặp lại về một chủ đề chuyên biệt duy nhất (như khủng long, bản đồ, biển số xe, tàu hỏa).' }, { id: 48, sub: 'cs', verbalOnly: true, t: 'Trẻ có trí nhớ máy móc xuất sắc về các sự kiện, con số hoặc chi tiết vụn vặt nhưng lại khó nắm bắt ý chính tổng thể.' }, { id: 49, sub: 'cs', verbalOnly: true, t: 'Trẻ hiểu mọi lời nói theo đúng nghĩa đen (literal) và không hiểu được các thành ngữ, ẩn dụ hay lời nói bóng gió.' }, { id: 50, sub: 'cs', verbalOnly: true, t: 'Trẻ chú ý cực kỳ tỉ mỉ đến từng bộ phận nhỏ của đồ vật hơn là chức năng tổng thể của đồ vật đó.' }, { id: 51, sub: 'cs', verbalOnly: true, t: 'Trẻ thể hiện sự chênh lệch rất lớn giữa một vài kỹ năng vượt trội đặc biệt và sự thiếu hụt ở các kỹ năng thông thường khác.' }, // TIỂU THANG 6: NGÔN NGỮ KÉM THÍCH ỨNG (MS • Câu 52 - 56 • Chỉ chấm khi trẻ có ngôn ngữ nói) { id: 52, sub: 'ms', verbalOnly: true, t: 'Trẻ lặp lại (nhại lời) các từ ngữ hoặc câu nói vừa nghe được từ người khác hoặc từ tivi/quảng cáo.' }, { id: 53, sub: 'ms', verbalOnly: true, t: 'Trẻ lặp đi lặp lại một từ hoặc một cụm từ vô nghĩa nhiều lần không phục vụ mục đích giao tiếp.' }, { id: 54, sub: 'ms', verbalOnly: true, t: 'Trẻ nói chuyện với tông giọng phẳng lì đều đều như robot, hoặc có ngữ điệu, nhịp điệu, âm lượng bất thường.' }, { id: 55, sub: 'ms', verbalOnly: true, t: 'Trẻ sử dụng sai đại từ nhân xưng (dùng "Bạn / Mẹ / Anh ấy" để chỉ chính bản thân mình thay vì xưng "Con / Tôi").' }, { id: 56, sub: 'ms', verbalOnly: true, t: 'Trẻ tự tạo ra các từ ngữ riêng (neologisms) hoặc phát ngôn những câu hoàn toàn không phù hợp với ngữ cảnh cuộc hội thoại.' } ]; const subConfigs = { rb: { code: 'rb', name: '1. Hành vi Hạn hẹp / Lặp lại (RB)', count: 13, maxRaw: 39, color: '#f59e0b' }, si: { code: 'si', name: '2. Tương tác Xã hội (SI)', count: 14, maxRaw: 42, color: '#2563eb' }, sc: { code: 'sc', name: '3. Giao tiếp Xã hội (SC)', count: 9, maxRaw: 27, color: '#7c3aed' }, er: { code: 'er', name: '4. Phản ứng Cảm xúc (ER)', count: 8, maxRaw: 24, color: '#ec4899' }, cs: { code: 'cs', name: '5. Phong cách Nhận thức (CS)', count: 7, maxRaw: 21, color: '#0d9488' }, ms: { code: 'ms', name: '6. Ngôn ngữ Kém thích ứng (MS)', count: 5, maxRaw: 15, color: '#dc2626' } }; let isVerbal = true; // true = Chấm 6 tiểu thang (56 câu - Autism Index 6) | false = Chấm 4 tiểu thang (44 câu - Autism Index 4) let answers = {}; // Lưu mức điểm 0, 1, 2, 3 cho từng câu let filterSub = 'all'; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .g3-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .g3-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .g3-inner { padding: 24px; max-width: 940px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .g3-wrap.is-fullscreen .g3-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .g3-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(124, 58, 237, 0.45), 0 0 0 0 rgba(124, 58, 237, 0.4); } 70% { box-shadow: 0 6px 20px rgba(124, 58, 237, 0.45), 0 0 0 10px rgba(124, 58, 237, 0); } 100% { box-shadow: 0 6px 20px rgba(124, 58, 237, 0.45), 0 0 0 0 rgba(124, 58, 237, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #6d28d9 0%, #7c3aed 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(124, 58, 237, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Header */ .g3-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .g3-header-text { flex: 1 1 260px; } .g3-title { font-size: 21px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .g3-desc { font-size: 14px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #f5f3ff; color: #6d28d9; border: 1px solid #ddd6fe; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #7c3aed; color: #ffffff; border-color: #7c3aed; } /* Top Controls */ .g3-top-controls { display: grid; grid-template-columns: 1fr 1.25fr; gap: 12px; margin-bottom: 14px; } .g3-box-ctrl { background: #f8fafc; border: 1px solid #e2e8f0; padding: 10px 12px; border-radius: 10px; } .g3-ctrl-label { font-size: 12px; font-weight: 700; color: #475569; text-transform: uppercase; margin-bottom: 6px; display: block; } .g3-btn-group { display: flex; flex-wrap: wrap; gap: 6px; } .g3-btn-sm { padding: 6px 10px; border-radius: 7px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; flex: 1; text-align: center; touch-action: manipulation; } .g3-btn-sm:hover { background: #f1f5f9; } .g3-btn-sm.active { background: #6d28d9; color: #ffffff; border-color: #6d28d9; } .g3-btn-sm.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; flex: 0 0 auto; } .g3-domain-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 16px; } .g3-dtab { padding: 6px 12px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .g3-dtab.active { background: #6d28d9; color: #ffffff; border-color: #6d28d9; } /* Sticky Dashboard */ .g3-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .g3-wrap.is-fullscreen .g3-dash { top: 58px; } .g3-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .g3-score-big { font-size: 23px; font-weight: 800; line-height: 1.1; } .g3-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .g3-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .g3-bar-bg { height: 10px; background: #334155; border-radius: 5px; overflow: hidden; margin-bottom: 12px; } .g3-bar-fill { height: 100%; width: 0%; background: #10b981; transition: width 0.35s ease, background 0.35s ease; } .g3-pillars { display: grid; grid-template-columns: repeat(6, 1fr); gap: 6px; font-size: 11px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .g3-pillar-box { background: #1e293b; padding: 6px 8px; border-radius: 8px; } .g3-pillar-box.muted { opacity: 0.4; } .g3-pillar-val { font-weight: 700; color: #ffffff; font-size: 12.5px; display: block; margin-top: 2px; } /* Danh sách 56 câu hỏi */ .g3-q-item { border: 1px solid #e2e8f0; border-radius: 10px; padding: 14px 16px; margin-bottom: 12px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 10px; } .g3-q-item.sev-3 { border-color: #fda4af; background: #fff5f5; } .g3-q-item.sev-2 { border-color: #fde68a; background: #fffbeb; } .g3-q-item.skipped-item { opacity: 0.45; background: #f8fafc; border-style: dashed; pointer-events: none; } .g3-q-text { font-size: 14.5px; font-weight: 600; color: #1e293b; line-height: 1.5; } .g3-q-tags { display: flex; flex-wrap: wrap; gap: 6px; } .g3-tag { font-size: 11px; font-weight: 600; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .g3-ans-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; } .g3-abtn { padding: 8px 6px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 600; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .g3-abtn:hover { border-color: #64748b; } .g3-abtn.sel-0 { background: #10b981; border-color: #10b981; color: #ffffff; font-weight: 700; } .g3-abtn.sel-1 { background: #3b82f6; border-color: #3b82f6; color: #ffffff; font-weight: 700; } .g3-abtn.sel-2 { background: #f59e0b; border-color: #f59e0b; color: #ffffff; font-weight: 700; } .g3-abtn.sel-3 { background: #ef4444; border-color: #ef4444; color: #ffffff; font-weight: 700; } /* Biểu đồ 6 tiểu thang & Kết luận */ .g3-chart-card { margin-top: 20px; padding: 16px 18px; border-radius: 12px; background: #ffffff; border: 1px solid #e2e8f0; } .g3-chart-title { font-size: 14.5px; font-weight: 700; color: #0f172a; margin-bottom: 12px; } .g3-bar-row { display: flex; align-items: center; gap: 10px; margin-bottom: 9px; font-size: 12.5px; } .g3-bar-lbl { width: 225px; flex-shrink: 0; font-weight: 600; color: #334155; } .g3-bar-track { flex: 1; height: 16px; background: #f1f5f9; border-radius: 999px; overflow: hidden; } .g3-bar-val { width: 125px; text-align: right; font-weight: 700; color: #0f172a; flex-shrink: 0; } .g3-result-box { margin-top: 16px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #64748b; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 720px) { .g3-inner { padding: 14px; } .g3-title { font-size: 18px; } .g3-top-controls { grid-template-columns: 1fr; } .g3-pillars { grid-template-columns: repeat(2, 1fr); } .g3-ans-grid { grid-template-columns: 1fr 1fr; } .g3-abtn { padding: 10px 6px; } .g3-bar-lbl { width: 135px; font-size: 11.5px; } .g3-bar-val { width: 100px; font-size: 11.5px; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
Thang Đánh Giá Tự Kỷ Gilliam GARS-3 (56 Câu Hỏi • 3 – 22 Tuổi)
Công cụ chuẩn hóa của James E. Gilliam (2013) đánh giá 6 tiểu thang đo để quy đổi ra Chỉ số Tự kỷ (Autism Index) và phân loại trực tiếp Mức độ cần hỗ trợ theo DSM-5: ≤ 54 (Rất ít khả năng) • 55–70 (Mức độ 1) • 71–100 (Mức độ 2) • ≥ 101 (Mức độ 3).
• Mức độ cần hỗ trợ DSM-5: Mức 0 (Không cần hỗ trợ đặc biệt về ASD).
• Tổng điểm chuẩn quy đổi của các tiểu thang nằm dưới ngưỡng lâm sàng của GARS-3. `; } else if (autismIndex <= 70) { color = '#f59e0b'; badgeTxt = `CÓ KHẢ NĂNG ASD • DSM-5 MỨC ĐỘ 1 (Index: ${autismIndex})`; analysis = ` Kết luận GARS-3 — Có Khả Năng Thuộc Phổ Tự Kỷ (Autism Index = ${autismIndex}, vùng 55 – 70):
• Phân loại mức độ DSM-5 tương ứng: Mức độ 1 (Level 1 — Cần hỗ trợ / Requiring Support).
• Cá nhân có các biểu hiện khó khăn trong khởi xướng tương tác xã hội (${raw.si}/42), giao tiếp xã hội (${raw.sc}/27) và tính linh hoạt hành vi (${raw.rb}/39). Khuyến nghị đối chiếu thêm với đánh giá trực tiếp ADOS-2 và thang hành vi thích ứng Vineland-3. `; } else if (autismIndex <= 100) { color = '#ef4444'; badgeTxt = `KHẢ NĂNG RẤT CAO • DSM-5 MỨC ĐỘ 2 (Index: ${autismIndex})`; analysis = ` Kết luận GARS-3 — Khả Năng Rất Cao Thuộc Phổ Tự Kỷ (Autism Index = ${autismIndex}, vùng 71 – 100):
• Phân loại mức độ DSM-5 tương ứng: Mức độ 2 (Level 2 — Cần hỗ trợ đáng kể / Requiring Substantial Support).
• Điểm số bộc lộ sự suy giảm rõ rệt ở cả giao tiếp xã hội và các mẫu hành vi hạn hẹp/lặp lại ngay cả khi đã có hỗ trợ xung quanh. Cần thực hiện chẩn đoán đa chuyên khoa và xây dựng chương trình can thiệp cá nhân hóa (IEP). `; } else { color = '#dc2626'; badgeTxt = `KHẢ NĂNG RẤT CAO • DSM-5 MỨC ĐỘ 3 (Index: ${autismIndex})`; analysis = ` Kết luận GARS-3 — Khả Năng Rất Cao Thuộc Phổ Tự Kỷ (Autism Index = ${autismIndex} ≥ 101):
• Phân loại mức độ DSM-5 tương ứng: Mức độ 3 (Level 3 — Cần hỗ trợ rất nhiều / Requiring Very Substantial Support).
• Chỉ số Tự kỷ vượt mốc trung bình của mẫu chuẩn tự kỷ (Index ≥ 101), phản ánh sự thiếu hụt nghiêm trọng về kỹ năng giao tiếp lời nói/không lời, điều tiết cảm xúc (${raw.er}/24) và sự cứng nhắc hành vi (${raw.rb}/39). Khuyến nghị can thiệp chuyên sâu toàn diện kết hợp đánh giá chức năng bằng Vineland-3. `; } barFill.style.background = color; scoreBadge.textContent = badgeTxt; scoreBadge.style.background = color; scoreBadge.style.color = '#ffffff'; resultBox.style.borderLeftColor = color; resultBox.innerHTML = analysis; updateFloatingFabVisibility(); } function applyPreset(type) { answers = {}; if (type === 'reset') { renderQuestions(); updateSummary(); return; } questions.forEach(function(q) { answers[q.id] = 0; }); if (type === 'unlikely') { // Index ~48 (Mức 0) questions.forEach(function(q, idx) { if (idx % 6 === 0) answers[q.id] = 1; }); } else if (type === 'lvl1') { // Index ~64 (DSM-5 Level 1: 55 - 70) questions.forEach(function(q, idx) { if (idx % 2 === 0) answers[q.id] = 1; }); } else if (type === 'lvl2') { // Index ~86 (DSM-5 Level 2: 71 - 100) questions.forEach(function(q, idx) { if (idx % 3 === 0) answers[q.id] = 2; else answers[q.id] = 1; }); } else if (type === 'lvl3') { // Index ~112 (DSM-5 Level 3: >= 101) questions.forEach(function(q, idx) { if (idx % 2 === 0) answers[q.id] = 2; else if (idx % 3 === 0) answers[q.id] = 3; else answers[q.id] = 1; }); } renderQuestions(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); g3Wrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { g3Wrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 940px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } shadow.querySelectorAll('#verbalGroup .g3-btn-sm').forEach(function(btn) { btn.onclick = function() { isVerbal = (this.getAttribute('data-verbal') === 'yes'); shadow.querySelectorAll('#verbalGroup .g3-btn-sm').forEach(b => b.classList.remove('active')); this.classList.add('active'); renderQuestions(); updateSummary(); }; }); shadow.querySelectorAll('#presetGroup .g3-btn-sm').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-pre')); }; }); shadow.querySelectorAll('#domainTabs .g3-dtab').forEach(function(tab) { tab.onclick = function() { filterSub = this.getAttribute('data-sub'); shadow.querySelectorAll('#domainTabs .g3-dtab').forEach(t => t.classList.remove('active')); this.classList.add('active'); renderQuestions(); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); applyPreset('lvl2'); })();
GARS-3 (Gilliam Autism Rating Scale, Third Edition — Thang Đánh Giá Tự Kỷ Gilliam, Phiên bản 3) là một trong những công cụ đánh giá chuẩn hóa dựa trên quy chiếu chuẩn (norm-referenced) phổ biến nhất thế giới hiện nay dùng để sàng lọc chuyên sâu, hỗ trợ chẩn đoán xác định và ước lượng Mức độ cần hỗ trợ theo tiêu chuẩn DSM-5 (Level 1, Level 2, Level 3). Công cụ này do Giáo sư James E. Gilliam phát triển (xuất bản năm 2013 bởi Pro-Ed).
Cốt lõi về công cụ GARS-3
-
Đối tượng áp dụng: Dành cho trẻ em, thanh thiếu niên và người trưởng thành trẻ tuổi từ 3 đến 22 tuổi có các biểu hiện hành vi nghi ngờ thuộc Rối loạn phổ tự kỷ.
-
Người thực hiện: Phụ huynh, người chăm sóc hoặc giáo viên (những người hiểu rõ và tiếp xúc thường xuyên với trẻ ít nhất 2 tuần) điền trong khoảng 10 – 15 phút.
-
Cấu trúc 56 câu hỏi & 6 Tiểu thang đo (Subscales): Điểm đột phá của GARS-3 so với bản GARS-2 cũ là được thiết kế khớp trực tiếp với các tiêu chí của DSM-5, chia thành 56 mục hành vi thuộc 6 tiểu thang đo và phân luồng theo tình trạng ngôn ngữ nói:
| Tiểu thang đo GARS-3 | Số câu hỏi | Nội dung đánh giá trọng tâm | Áp dụng cho nhóm |
| 1. Hành vi Hạn hẹp / Lặp lại(Restricted/Repetitive Behaviors – RB) | 13 câu(Câu 1 – 13) | Vận động định hình (vẫy tay, xoay người), nghi thức cứng nhắc, phản ứng giác quan bất thường (bịt tai, ngửi/liếm đồ vật, nhìn nghiêng). | Cả trẻ Có lời nói & Chưa có lời nói |
| 2. Tương tác Xã hội(Social Interaction – SI) | 14 câu(Câu 14 – 27) | Né tránh giao tiếp mắt, thu mình, không chơi hợp tác với bạn, thiếu chia sẻ sự chú ý và phản ứng xã hội qua lại. | Cả trẻ Có lời nói & Chưa có lời nói |
| 3. Giao tiếp Xã hội(Social Communication – SC) | 9 câu(Câu 28 – 36) | Thiếu cử chỉ phi ngôn ngữ (chỉ trỏ, vẫy tay), khó hiểu nét mặt/ẩn ý, không biết bắt đầu hoặc duy trì tương tác. | Cả trẻ Có lời nói & Chưa có lời nói |
| 4. Phản ứng Cảm xúc(Emotional Responses – ER) | 8 câu(Câu 37 – 44) | Ăn vạ dữ dội khi thay đổi lịch trình, lo âu quá mức, cảm xúc lệch ngữ cảnh hoặc thiếu đồng cảm. | Cả trẻ Có lời nói & Chưa có lời nói |
| 5. Phong cách Nhận thức (Cognitive Style – CS) | 7 câu(Câu 45 – 51) | Chỉ chú ý tiểu tiết mà bỏ qua tổng thể, đam mê mãnh liệt một chủ đề hẹp, trí nhớ máy móc, gắn bó đồ vật lạ. | Cả trẻ Có lời nói & Chưa có lời nói (Bỏ qua nếu Chưa có lời nói) |
| 6. Ngôn ngữ Kém thích ứng (Maladaptive Speech – MS) | 5 câu(Câu 52 – 56) | Nhại lời (echolalia), đảo ngược đại từ xưng hô, giọng nói đều đều như robot, lặp lại từ/cụm từ vô nghĩa. | Chỉ chấm cho trẻ Có lời nói (Bỏ qua nếu Chưa có lời nói) |
-
Cách chấm điểm & Phân nhánh 4 Tiểu thang (Index 4) vs. 6 Tiểu thang (Index 6):
-
Mỗi mục được chấm từ
0đến3điểm:-
0— Hoàn toàn không giống trẻ (Not at all like the individual) -
1— Không giống trẻ lắm / Hiếm khi (Not much like the individual) -
2— Khá giống trẻ / Thỉnh thoảng (Somewhat like the individual) -
3— Rất giống trẻ / Thường xuyên (Very much like the individual)
-
-
Quy tắc phân nhánh của GARS-3:
-
Nhóm Có ngôn ngữ nói (Verbal): Chấm đủ cả 6 tiểu thang (56 câu, điểm thô tối đa 168) Quy đổi ra Autism Index 6.
-
Nhóm Chưa có ngôn ngữ nói / Không nói (Nonverbal): Chỉ chấm 4 tiểu thang đầu (RB, SI, SC, ER — gồm 44 câu, điểm thô tối đa 132), bỏ qua tiểu thang 5 và 6 Quy đổi ra Autism Index 4.
-
-
-
Bảng Diễn giải Chỉ số Tự kỷ (Autism Index) & Mức độ Hỗ trợ DSM-5:
| Chỉ số Tự kỷ (Autism Index) | Khả năng mắc Rối loạn Phổ Tự kỷ (Probability of ASD) | Mức độ cần hỗ trợ theo chuẩn DSM-5 (Severity Level) |
| điểm | Rất ít khả năng (Unlikely) | Mức 0: Không cần hỗ trợ đặc biệt về ASD. |
| 55 – 70 điểm | Có khả năng (Probable) | Mức độ 1 (Level 1): Cần hỗ trợ (Requiring Support). |
| 71 – 100 điểm | Khả năng rất cao (Very Likely) | Mức độ 2 (Level 2): Cần hỗ trợ đáng kể (Requiring Substantial Support). |
| điểm | Khả năng rất cao (Very Likely) | Mức độ 3 (Level 3): Cần hỗ trợ rất nhiều/tối đa (Requiring Very Substantial Support). |
[Chậm phát triển] Bayley-III: Tiêu chuẩn vàng đánh giá định lượng sự phát triển của trẻ nhỏ (1 – 42 tháng)
(function() { const host = document.getElementById('bayley3-wp-host'); if (!host) return; const placeholder = document.createComment('bayley3-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // Cấu hình 7 Tiểu thang đo thuộc 5 Lĩnh vực chính của Bayley-III const subConfigs = { cog: { code: 'cog', scale: 'COG', name: '1. Nhận thức (Cognitive Subtest)', color: '#2563eb', isDirect: true }, rc: { code: 'rc', scale: 'LAN', name: '2A. Ngôn ngữ Tiếp nhận (Receptive Communication)', color: '#7c3aed', isDirect: true }, ec: { code: 'ec', scale: 'LAN', name: '2B. Ngôn ngữ Diễn đạt (Expressive Communication)', color: '#9333ea', isDirect: true }, fm: { code: 'fm', scale: 'MOT', name: '3A. Vận động Tinh (Fine Motor)', color: '#0d9488', isDirect: true }, gm: { code: 'gm', scale: 'MOT', name: '3B. Vận động Thô (Gross Motor)', color: '#10b981', isDirect: true }, se: { code: 'se', scale: 'SE', name: '4. Cảm xúc – Xã hội (Social-Emotional Questionnaire)', color: '#f59e0b', isDirect: false }, ab: { code: 'ab', scale: 'AB', name: '5. Hành vi Thích ứng (Adaptive Behavior - GAC)', color: '#ea580c', isDirect: false } }; // 42 Mục đánh giá chuẩn theo bậc thang tháng tuổi (6 mục cốt lõi cho mỗi tiểu thang từ 1 -> 42 tháng) // Trực tiếp (cog, rc, ec, fm, gm): chấm 1 (Đạt - Credit) hoặc 0 (Không đạt - No Credit) // Phụ huynh (se, ab): chấm 0 (Chưa có/Không thể), 1 (Đôi khi/Cần nhắc), 2 (Thường xuyên/Độc lập) const items = [ // 1. NHẬN THỨC (COGNITIVE • 6 bậc từ 3m -> 42m) { id: 1, sub: 'cog', refAge: 4, name: 'COG-1 (Mốc 3–6 tháng): Khám phá bằng mắt, nắm giữ lục lạc và tìm kiếm nguồn âm thanh', desc: 'Trẻ nhìn chăm chú vào đồ vật, đưa tay nắm lấy vòng tròn/lục lạc và quay đầu tìm tiếng chuông.' }, { id: 2, sub: 'cog', refAge: 9, name: 'COG-2 (Mốc 7–11 tháng): Kéo dây lấy vòng & Tìm đồ chơi bị giấu dưới cốc (Hằng định đối tượng)', desc: 'Nhấc chiếc cốc hoặc kéo khăn để lấy món đồ chơi vừa bị người khám che khuất trước mặt.' }, { id: 3, sub: 'cog', refAge: 15, name: 'COG-3 (Mốc 12–17 tháng): Bỏ các khối gỗ vào cốc, mở nắp hộp và đặt đúng hình tròn vào bảng khuôn', desc: 'Hiểu quan hệ vật chứa – vật bị chứa và lắp khớp hình tròn vào bảng ghép hình Bayley.' }, { id: 4, sub: 'cog', refAge: 22, name: 'COG-4 (Mốc 18–24 tháng): Hoàn thành bảng ghép hình 3 khuôn (Tròn, Vuông, Tam giác) & Chơi giả vờ với búp bê', desc: 'Đặt đúng cả 3 hình cơ bản vào bảng khuôn và biết dùng thìa/cốc giả vờ đút cho gấu/búp bê.' }, { id: 5, sub: 'cog', refAge: 30, name: 'COG-5 (Mốc 25–33 tháng): Ghép tranh cắt đôi, phân loại màu sắc & Hiểu khái niệm "Một" và "Nhiều"', desc: 'Ghép khớp bức tranh cắt rời và phân biệt đúng khái niệm kích thước To – Nhỏ.' }, { id: 6, sub: 'cog', refAge: 40, name: 'COG-6 (Mốc 34–42 tháng): Đếm tương ứng số lượng đến 5, phân loại đa tiêu chí & Hoàn thành quy luật hình học', desc: 'Đếm lấy đúng số khối gỗ, nhớ vị trí đồ vật ẩn và giải quyết bài toán không gian trên bộ test Bayley.' }, // 2A. NGÔN NGỮ TIẾP NHẬN (RECEPTIVE COMMUNICATION • 6 bậc) { id: 7, sub: 'rc', refAge: 4, name: 'RC-1 (Mốc 3–6 tháng): Bình tĩnh khi nghe giọng nói êm dịu và quay đầu phản ứng với âm thanh khác nhau', desc: 'Phân biệt âm thanh giọng người với tiếng động môi trường và chú ý nhìn miệng người nói.' }, { id: 8, sub: 'rc', refAge: 9, name: 'RC-2 (Mốc 7–11 tháng): Quay đầu ngay khi gọi tên, dừng tay khi nghe "Không" & Hiểu các từ quen thuộc', desc: 'Nhìn về phía quả bóng/bình sữa khi người khám hỏi "Bóng đâu?" và tham gia trò chơi vỗ tay/ú òa.' }, { id: 9, sub: 'rc', refAge: 15, name: 'RC-3 (Mốc 12–17 tháng): Chỉ đúng ít nhất 3 đồ vật thật & 3 bộ phận cơ thể khi được yêu cầu bằng lời', desc: 'Thực hiện đúng mệnh lệnh đơn 1 bước (VD: "Đưa cho cô chiếc thìa", "Chỉ mũi của con nào").' }, { id: 10, sub: 'rc', refAge: 22, name: 'RC-4 (Mốc 18–24 tháng): Chỉ đúng 6–8 bức tranh danh từ và 3–4 bức tranh hành động trong Sách tranh Bayley', desc: 'Nhận diện chính xác các đồ vật và động từ (đang ăn, đang ngủ, đang chạy, đang rửa tay) trên trang sách.' }, { id: 11, sub: 'rc', refAge: 30, name: 'RC-5 (Mốc 25–33 tháng): Hiểu đại từ nhân xưng (Của con, Của cô, Anh ấy) & Giới từ (Trong, Trên, Dưới)', desc: 'Thực hiện đúng yêu cầu đặt đồ vật theo vị trí không gian và hiểu công dụng của đồ vật.' }, { id: 12, sub: 'rc', refAge: 40, name: 'RC-6 (Mốc 34–42 tháng): Hiểu câu phủ định, thì quá khứ/tương lai, khái niệm số nhiều và mệnh lệnh 2–3 bước', desc: 'Hiểu các cấu trúc ngữ pháp phức tạp và phân loại nhóm sự vật khi nghe câu hỏi.' }, // 2B. NGÔN NGỮ DIỄN ĐẠT (EXPRESSIVE COMMUNICATION • 6 bậc) { id: 13, sub: 'ec', refAge: 4, name: 'EC-1 (Mốc 3–6 tháng): Mỉm cười phát âm gù gù (cooing) đáp lại người khám và thay đổi âm thanh theo cảm xúc', desc: 'Phát ra ít nhất 2 nguyên âm khác nhau và dùng âm thanh để thu hút sự chú ý.' }, { id: 14, sub: 'ec', refAge: 9, name: 'EC-2 (Mốc 7–11 tháng): Bập bẹ chuỗi phụ âm – nguyên âm (ba-ba, ma-ma) và dùng cử chỉ chỉ trỏ/vẫy tay', desc: 'Tham gia luân phiên phát âm qua lại và chủ động chỉ ngón trỏ vào thứ mình muốn.' }, { id: 15, sub: 'ec', refAge: 15, name: 'EC-3 (Mốc 12–17 tháng): Nói chủ động từ 2 đến 8 từ đơn có nghĩa đúng ngữ cảnh', desc: 'Dùng từ đơn kết hợp ánh mắt để yêu cầu đồ vật hoặc gọi tên đồ chơi quen thuộc.' }, { id: 16, sub: 'ec', refAge: 22, name: 'EC-4 (Mốc 18–24 tháng): Gọi tên đúng ít nhất 5 bức tranh trong sách Bayley và nói cụm từ 2 từ', desc: 'Kết hợp 2 từ tạo thành cụm từ có nghĩa ("Mẹ bế", "Mở hộp", "Xe chạy").' }, { id: 17, sub: 'ec', refAge: 30, name: 'EC-5 (Mốc 25–33 tháng): Đặt câu 3–4 từ, dùng đại từ xưng hô "Con" và trả lời câu hỏi "Cái gì / Làm gì?"', desc: 'Mô tả hành động trong bức tranh bằng cụm Chủ ngữ + Vị ngữ rõ ràng.' }, { id: 18, sub: 'ec', refAge: 40, name: 'EC-6 (Mốc 34–42 tháng): Nói câu phức hoàn chỉnh, đặt câu hỏi "Tại sao/Ở đâu?" và kể lại sự việc theo tranh', desc: 'Sử dụng đúng các từ chỉ thời gian, giới từ và duy trì hội thoại nhiều lượt.' }, // 3A. VẬN ĐỘNG TINH (FINE MOTOR • 6 bậc) { id: 19, sub: 'fm', refAge: 4, name: 'FM-1 (Mốc 3–6 tháng): Mắt dõi theo vòng tròn 180 độ, mở bàn tay chủ động nắm khối gỗ và đưa về đường giữa', desc: 'Phối hợp mắt – tay bước đầu khi vươn tới đồ vật.' }, { id: 20, sub: 'fm', refAge: 9, name: 'FM-2 (Mốc 7–11 tháng): Chuyển khối gỗ qua lại hai tay và nhặt viên thức ăn nhỏ bằng ngón cái – ngón trỏ (Pincer)', desc: 'Cầm kẹp chính xác vật nhỏ bằng đầu ngón cái và ngón trỏ không cần tỳ cả lòng bàn tay.' }, { id: 21, sub: 'fm', refAge: 15, name: 'FM-3 (Mốc 12–17 tháng): Xếp chồng tháp 2–3 khối gỗ, thả hạt nhỏ vào lọ cổ hẹp và cầm bút vạch nét tự phát', desc: 'Kiểm soát cổ tay để đặt khối gỗ cân bằng và cầm bút sáp tô lên giấy.' }, { id: 22, sub: 'fm', refAge: 22, name: 'FM-4 (Mốc 18–24 tháng): Xếp chồng tháp 6 khối gỗ, lật từng trang sách mỏng và bắt chước vạch nét dọc/ngang', desc: 'Tách ngón tay khéo léo lật từng tờ giấy và vẽ nét thẳng theo mẫu.' }, { id: 23, sub: 'fm', refAge: 30, name: 'FM-5 (Mốc 25–33 tháng): Xếp tháp 8–9 khối gỗ, xâu chuỗi hạt vuông vào dây và dùng kéo bấm cắt giấy', desc: 'Phối hợp hai tay đồng bộ: một tay giữ giấy/dây, một tay thao tác kéo/hạt.' }, { id: 24, sub: 'fm', refAge: 40, name: 'FM-6 (Mốc 34–42 tháng): Cầm bút 3 ngón vẽ hình tròn, chữ thập (+), cắt giấy theo đường kẻ và cài cúc áo', desc: 'Sao chép đúng các hình học cơ bản và điều khiển lực ngón tay tinh tế.' }, // 3B. VẬN ĐỘNG THÔ (GROSS MOTOR • 6 bậc) { id: 25, sub: 'gm', refAge: 4, name: 'GM-1 (Mốc 3–6 tháng): Giữ đầu vững vàng 90 độ, chống hai cẳng tay nâng ngực khi nằm sấp và lẫy lật người', desc: 'Kiểm soát trục cổ – thân trên vững và tự lẫy từ sấp sang ngửa / ngửa sang sấp.' }, { id: 26, sub: 'gm', refAge: 9, name: 'GM-2 (Mốc 7–11 tháng): Tự ngồi vững độc lập không cần đỡ, bò phối hợp tay – gối và vịn thành ghế đứng dậy', desc: 'Chuyển tư thế linh hoạt từ ngồi sang bò và lần bước đi men theo đồ đạc.' }, { id: 27, sub: 'gm', refAge: 15, name: 'GM-3 (Mốc 12–17 tháng): Tự đứng dậy giữa sàn và bước đi độc lập vững vàng không cần vịn', desc: 'Đi độc lập khắp phòng, cúi nhặt đồ chơi rồi đứng lên không mất thăng bằng.' }, { id: 28, sub: 'gm', refAge: 22, name: 'GM-4 (Mốc 18–24 tháng): Chạy phối hợp tốt, đá bóng về phía trước và bước lên xuống cầu thang có vịn (dồn chân)', desc: 'Đi lùi, chạy không ngã và tự bước lên bậc cầu thang.' }, { id: 29, sub: 'gm', refAge: 30, name: 'GM-5 (Mốc 25–33 tháng): Nhảy tại chỗ hai chân rời mặt sàn, nhảy từ bậc thấp xuống đất và đi kiễng gót', desc: 'Bật nhảy bằng hai chân cùng lúc và bước lên cầu thang luân phiên chân có vịn nhẹ.' }, { id: 30, sub: 'gm', refAge: 40, name: 'GM-6 (Mốc 34–42 tháng): Đứng một chân giữ thăng bằng 3–5 giây, nhảy xa qua vạch và lên cầu thang luân phiên không vịn', desc: 'Kiểm soát thăng bằng động và tĩnh ở mức độ hoàn thiện của lứa tuổi mầm non.' }, // 4. CẢM XÚC – XÃ HỘI (SOCIAL-EMOTIONAL • Greenspan 6 mốc giai đoạn) { id: 31, sub: 'se', refAge: 4, name: 'SE-1 (Giai đoạn 1 • 0–3m): Tự điều hòa cảm giác & Chú ý quan tâm đến thế giới xung quanh', desc: 'Trẻ dễ dàng bình tĩnh lại khi được bố mẹ ôm ấp/trò chuyện và thích thú nhìn mặt, nghe giọng người thân.' }, { id: 32, sub: 'se', refAge: 8, name: 'SE-2 (Giai đoạn 2 • 4–8m): Gắn kết tình cảm ấm áp & Mỉm cười tương tác với người chăm sóc', desc: 'Trẻ thể hiện niềm vui rạng rỡ, giao tiếp mắt ấm áp và hưởng ứng khi bố mẹ đùa giỡn.' }, { id: 33, sub: 'se', refAge: 14, name: 'SE-3 (Giai đoạn 3 • 9–14m): Giao tiếp hai chiều có mục đích bằng ánh mắt, nét mặt và cử chỉ', desc: 'Trẻ chủ động khởi xướng và đáp lại các vòng giao tiếp qua lại (khoe đồ, chỉ tay, cười đáp trả).' }, { id: 34, sub: 'se', refAge: 20, name: 'SE-4 (Giai đoạn 4 • 15–20m): Giải quyết vấn đề xã hội phức hợp & Chia sẻ sự chú ý chung', desc: 'Trẻ biết dẫn bố mẹ đi lấy thứ mình cần kết hợp nhìn mắt, ra hiệu và phối hợp nhiều cử chỉ liên tiếp.' }, { id: 35, sub: 'se', refAge: 28, name: 'SE-5 (Giai đoạn 5 • 21–30m): Sử dụng ý tưởng biểu tượng cảm xúc & Chơi đóng vai giả vờ có cảm xúc', desc: 'Trẻ dùng lời nói/hành động giả vờ để thể hiện các chủ đề tình cảm (vỗ về búp bê khóc, nấu ăn mời mẹ).' }, { id: 36, sub: 'se', refAge: 38, name: 'SE-6 (Giai đoạn 6 • 31–42m): Kết nối tư duy cảm xúc logic (Hiểu nguyên nhân – hệ quả cảm xúc)', desc: 'Trẻ trả lời được "Tại sao con buồn/vui?", biết thương lượng với bạn và điều tiết cơn giận bằng lời.' }, // 5. HÀNH VI THÍCH ỨNG (ADAPTIVE BEHAVIOR - ABAS-II • 6 nhóm chức năng cốt lõi) { id: 37, sub: 'ab', refAge: 6, name: 'AB-1 (Giao tiếp & Xã hội cơ bản): Biểu đạt nhu cầu rõ ràng, chào hỏi và quan tâm đến người xung quanh', desc: 'Trẻ biết ra hiệu/nói khi cần giúp, mỉm cười chào người quen và chú ý đến các bạn nhỏ khác.' }, { id: 38, sub: 'ab', refAge: 12, name: 'AB-2 (Tự phục vụ Ăn uống): Tự cầm bình/cốc uống nước và tự dùng tay/thìa xúc thức ăn', desc: 'Trẻ hợp tác ngồi ăn tại bàn, tự cầm cốc uống và tự xúc ăn theo lứa tuổi.' }, { id: 39, sub: 'ab', refAge: 18, name: 'AB-3 (Vận động & Khám phá an toàn): Di chuyển vững vàng trong nhà/sân chơi và tránh vật cản', desc: 'Trẻ tự đi lại lấy đồ dùng và dừng lại khi người lớn cảnh báo nguy hiểm (nóng, điện, độ cao).' }, { id: 40, sub: 'ab', refAge: 24, name: 'AB-4 (Vệ sinh & Mặc đồ cơ bản): Tự cởi giày tất, quần thun, biết rửa tay và báo khi tã bẩn/mắc vệ sinh', desc: 'Trẻ phối hợp đưa tay chân khi mặc áo và bắt đầu biết báo hiệu nhu cầu đi vệ sinh.' }, { id: 41, sub: 'ab', refAge: 32, name: 'AB-5 (Tự định hướng & Giải trí): Tự chơi đồ chơi đúng cách trong 10–15 phút và biết làm việc nhà nhỏ', desc: 'Trẻ tự chọn đồ chơi, chơi có mục đích và biết tự cất đồ chơi vào giỏ khi được nhắc.' }, { id: 42, sub: 'ab', refAge: 40, name: 'AB-6 (Thích ứng Cộng đồng & Bạn bè): Đi vệ sinh độc lập, tự mặc quần áo và biết chờ lượt khi chơi với bạn', desc: 'Trẻ tuân thủ quy tắc nơi công cộng/lớp mầm non và hòa đồng khi chơi chung với bạn.' } ]; // answers[id] lưu: 2 (Đạt hoàn toàn / Thường xuyên), 1 (Đang hình thành / Đôi khi), 0 (Chưa đạt / Không có) let answers = {}; let childAgeMonths = 24; let prematureWeeks = 0; let filterSub = 'all'; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .by-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .by-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .by-inner { padding: 24px; max-width: 980px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .by-wrap.is-fullscreen .by-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .by-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 0 rgba(37, 99, 235, 0.4); } 70% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 10px rgba(37, 99, 235, 0); } 100% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 0 rgba(37, 99, 235, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #1d4ed8 0%, #2563eb 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Header */ .by-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .by-header-text { flex: 1 1 260px; } .by-title { font-size: 21px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .by-desc { font-size: 14px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #eff6ff; color: #1d4ed8; border: 1px solid #bfdbfe; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #2563eb; color: #ffffff; border-color: #2563eb; } /* Controls */ .by-top-panel { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; background: #f8fafc; border: 1px solid #cbd5e1; border-radius: 12px; padding: 14px; margin-bottom: 14px; } .by-ctrl-lbl { font-size: 12px; font-weight: 800; color: #0f172a; text-transform: uppercase; margin-bottom: 6px; display: block; } .by-select { padding: 8px 10px; border: 1px solid #94a3b8; border-radius: 7px; font-size: 13.5px; font-weight: 700; color: #0f172a; background: #ffffff; width: 100%; } .by-presets { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; margin-bottom: 14px; } .by-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; touch-action: manipulation; } .by-pbtn:hover { background: #f1f5f9; } .by-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } .by-sub-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 16px; } .by-stab { padding: 6px 11px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .by-stab.active { background: #2563eb; color: #ffffff; border-color: #2563eb; } /* Sticky Dashboard: 5 Điểm Composite (Mean = 100, SD = 15) */ .by-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .by-wrap.is-fullscreen .by-dash { top: 58px; } .by-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .by-score-big { font-size: 20px; font-weight: 800; line-height: 1.2; } .by-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .by-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .by-pillars { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; font-size: 11.5px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .by-pillar-box { background: #1e293b; padding: 7px 9px; border-radius: 8px; border-left: 3px solid #475569; } .by-pillar-box.norm { border-left-color: #10b981; } .by-pillar-box.mild { border-left-color: #f59e0b; background: rgba(245, 158, 11, 0.14); } .by-pillar-box.sev { border-left-color: #ef4444; background: rgba(239, 68, 68, 0.15); } .by-pillar-val { font-weight: 800; color: #ffffff; font-size: 13.5px; display: block; margin-top: 2px; } /* Danh sách mục */ .by-item { border: 1px solid #e2e8f0; border-radius: 10px; padding: 14px 16px; margin-bottom: 10px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 8px; } .by-item.pass-item { border-color: #a7f3d0; background: #f0fdf4; } .by-item.emerge-item { border-color: #fde68a; background: #fffbeb; } .by-item.fail-item { border-color: #fca5a5; background: #fff5f5; } .by-item-title { font-size: 14.5px; font-weight: 700; color: #0f172a; } .by-item-desc { font-size: 13.2px; color: #475569; } .by-tags { display: flex; flex-wrap: wrap; gap: 6px; } .by-tag { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .by-ans-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; } .by-abtn { padding: 8px 6px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 700; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .by-abtn:hover { border-color: #64748b; } .by-abtn.sel-2 { background: #10b981; border-color: #10b981; color: #ffffff; } .by-abtn.sel-1 { background: #f59e0b; border-color: #f59e0b; color: #ffffff; } .by-abtn.sel-0 { background: #ef4444; border-color: #ef4444; color: #ffffff; } /* Bảng tổng hợp Scaled Score (1-19) & Composite Score (40-160) */ .by-table-card { margin-top: 20px; padding: 16px 18px; border-radius: 12px; background: #ffffff; border: 1px solid #e2e8f0; overflow-x: auto; } .by-table { width: 100%; border-collapse: collapse; font-size: 13px; min-width: 620px; } .by-table th, .by-table td { border: 1px solid #cbd5e1; padding: 8px 10px; text-align: center; } .by-table th { background: #f1f5f9; font-weight: 700; color: #0f172a; } .by-result-box { margin-top: 16px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #2563eb; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 740px) { .by-inner { padding: 14px; } .by-title { font-size: 18px; } .by-top-panel { grid-template-columns: 1fr; } .by-pillars { grid-template-columns: 1fr 1fr; } .by-ans-grid { grid-template-columns: 1fr; } .by-pbtn.reset { margin-left: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
Thang Đánh Giá Phát Triển Trẻ Nhũ Nhi & Trẻ Nhỏ Bayley-III (5 Lĩnh Vực • 1 – 42 Tháng)
Công cụ tiêu chuẩn vàng của Nancy Bayley (2006) đánh giá định lượng 5 Lĩnh vực: Nhận thức, Ngôn ngữ (Tiếp nhận & Diễn đạt), Vận động (Tinh & Thô), Cảm xúc – Xã hội và Hành vi Thích ứng. Hệ thống tự động quy đổi ra Điểm chuẩn Tiểu thang (Scaled Score: 1–19, TB = 10) và Điểm Tổng hợp (Composite Score: 40–160, TB = 100, SD = 15).
| Lĩnh vực / Tiểu thang đo Bayley-III | Tuổi phát triển ước tính (DA) | Điểm Chuẩn Tiểu Thang (Scaled Score: 1–19) | Điểm Tổng Hợp Lĩnh Vực (Composite: 40–160) | Bách phân vị (Percentile) | Phân loại chuẩn lâm sàng |
|---|
• 1. Phân tích Độ lệch Nhận thức – Ngôn ngữ (Discrepancy Analysis): Nhận thức đạt ${compCOG} điểm trong khi Ngôn ngữ đạt ${compLAN} điểm (Chênh lệch: ${cogLanGap} điểm) và Cảm xúc – Xã hội đạt ${compSE} điểm. ${cogLanGap >= 15 || compSE < 80 ? '
👉 Cảnh báo kiểu hình phân tách (ASD Red Flag): Trẻ có năng lực giải quyết vấn đề phi ngôn ngữ (Nhận thức & Vận động) tốt hơn hẳn so với Ngôn ngữ và Cảm xúc – Xã hội. Đây là dấu hiệu đặc trưng cần kết hợp sàng lọc/chẩn đoán Rối loạn phổ tự kỷ bằng STAT / ADOS-2 (Module T/1).' : ''}
• 2. Tiêu chuẩn Can thiệp Sớm: Theo tiêu chuẩn quốc tế, bất kỳ lĩnh vực nào trên Bayley-III có Composite Score < 70 (dưới -2 SD) hoặc có ≥ 2 lĩnh vực dưới 85 (dưới -1 SD) đều đủ điều kiện y khoa để bắt đầu chương trình Can thiệp sớm cá nhân hóa ngay lập tức. `; updateFloatingFabVisibility(); } function applyPreset(type) { const adjAge = getAdjustedAge(); answers = {}; if (type === 'reset') { items.forEach(it => { answers[it.id] = 0; }); renderItems(); updateSummary(); return; } if (type === 'typical') { // Đạt tất cả các mục { if (it.refAge <= adjAge) answers[it.id] = 2; else if (it.refAge { if (it.sub === 'cog' || it.sub === 'fm' || it.sub === 'gm') { answers[it.id] = (it.refAge <= adjAge) ? 2 : 0; } else { if (it.refAge <= adjAge - 12) answers[it.id] = 2; else if (it.refAge { if (it.refAge <= Math.max(4, adjAge * 0.5)) answers[it.id] = 2; else if (it.refAge <= Math.max(8, adjAge * 0.65)) answers[it.id] = 1; else answers[it.id] = 0; }); } renderItems(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); byWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { byWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 980px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } selChildAge.onchange = () => { applyPreset('asd_risk'); }; selPremature.onchange = () => { renderItems(); updateSummary(); }; shadow.querySelectorAll('.by-pbtn').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-preset')); }; }); shadow.querySelectorAll('#subTabs .by-stab').forEach(function(tab) { tab.onclick = function() { filterSub = this.getAttribute('data-sub'); shadow.querySelectorAll('#subTabs .by-stab').forEach(t => t.classList.remove('active')); this.classList.add('active'); renderItems(); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); applyPreset('asd_risk'); })();
Bayley-III (Bayley Scales of Infant and Toddler Development, Third Edition — Thang đánh giá sự phát triển của trẻ nhũ nhi và trẻ nhỏ Bayley, Phiên bản 3) được y khoa thế giới mệnh danh là “Tiêu chuẩn vàng” (Gold Standard) toàn diện nhất để đánh giá định lượng sự phát triển của trẻ nhỏ trong giai đoạn đầu đời. Công cụ được phát triển bởi Giáo sư Nancy Bayley (phiên bản 3 xuất bản năm 2006 bởi Pearson).
Nếu như Denver II hay ASQ-3 chỉ là công cụ Sàng lọc (Screening) để phát hiện nguy cơ chậm phát triển, thì Bayley-III là công cụ ĐÁNH GIÁ CHẨN ĐOÁN CHUYÊN SÂU (Diagnostic Assessment): cung cấp các chỉ số chuẩn hóa chính xác như một bài kiểm tra IQ đầu đời để xác định mức độ chậm phát triển và đủ điều kiện nhận can thiệp sớm.
1. Tóm tắt cốt lõi về cấu trúc & Hệ thống tính điểm của Bayley-III
-
Độ tuổi áp dụng: Trẻ từ 1 tháng đến 42 tháng tuổi (3.5 tuổi).
-
Cấu trúc 5 Lĩnh vực (3 Lĩnh vực Tương tác trực tiếp + 2 Bảng hỏi Phụ huynh):
| Lĩnh vực chính (Scales) | Các Tiểu thang đo (Subtests) | Hình thức đánh giá & Nội dung cốt lõi |
| 1. Nhận thức(Cognitive Scale) | 1 tiểu thang duy nhất (91 mục) | Khám trực tiếp trẻ: Đánh giá khám phá giác quan – vận động, hằng định đối tượng, giải quyết vấn đề, ghép hình, phân loại, khái niệm số lượng và chơi giả vờ (không phụ thuộc ngôn ngữ nói). |
| 2. Ngôn ngữ(Language Scale) |
• Ngôn ngữ Tiếp nhận (Receptive – 49 mục)
• Ngôn ngữ Diễn đạt (Expressive – 48 mục) |
Khám trực tiếp trẻ:
• Tiếp nhận: Nghe hiểu từ vựng, chỉ tranh, làm theo mệnh lệnh, hiểu giới từ/ngữ pháp.
• Diễn đạt: Phát âm tiền ngôn ngữ, cử chỉ, gọi tên đồ vật/tranh ảnh, nói cụm từ và câu phức. |
| 3. Vận động(Motor Scale) |
• Vận động Tinh(Fine Motor – 66 mục)
• Vận động Thô(Gross Motor – 72 mục) |
Khám trực tiếp trẻ:
• Vận động Tinh: Dõi mắt, cầm nắm kẹp chì, xếp khối gỗ, lật trang sách, vẽ nét và cắt kéo.
• Vận động Thô: Kiểm soát đầu cổ, lẫy, ngồi, bò, đứng, đi, chạy, nhảy, leo cầu thang, đá/bắt bóng. |
| 4. Cảm xúc – Xã hội(Social-Emotional) | Thang Greenspantheo 6 mốc giai đoạn phát triển cảm xúc | Phụ huynh trả lời (Chấm tần suất 0 – 5): Tự điều hòa cảm xúc, gắn kết với người chăm sóc, giao tiếp hai chiều có mục đích và tư duy biểu tượng cảm xúc. |
| 5. Hành vi Thích ứng(Adaptive Behavior) | 10 khu vực kỹ năng (Dựa trên hệ thống ABAS-II) | Phụ huynh trả lời (Chấm mức độ độc lập 0 – 3): Giao tiếp, Tự chăm sóc, Tự định hướng, Sức khỏe & An toàn, Giải trí, Xã hội, Sinh hoạt tại nhà/cộng đồng, Vận động. |
2. Quy tắc Quy đổi Điểm Chuẩn Hóa của Bayley-III (Scaled Score & Composite Score)
Đây là phần làm nên giá trị khoa học vượt trội của Bayley-III:
-
Điểm Chuẩn Tiểu Thang (Scaled Score — từ 1 đến 19 điểm):
-
Trung bình dân số chuẩn = 10 điểm, Độ lệch chuẩn (SD) = 3 điểm.
-
Khoảng bình thường (±1 SD): Từ 7 đến 13 điểm. Dưới 7 điểm () là bắt đầu suy giảm.
-
-
Điểm Tổng Hợp Lĩnh Vực (Composite Score — từ 40 đến 160 điểm):
-
Trung bình dân số chuẩn = 100 điểm, Độ lệch chuẩn (SD) = 15 điểm (tương tự thang điểm IQ hoặc Vineland-3):
-
điểm ( trở lên): Phát triển trên mức trung bình / Vượt trội.
-
85 – 114 điểm (): Trong giới hạn Bình thường (Average).
-
70 – 84 điểm ( đến ): Chậm phát triển mức độ Nhẹ / Vùng Giáp ranh.
-
điểm (Dưới ): Chậm phát triển mức độ Trung bình – Nặng (Significant Delay) — Đủ tiêu chuẩn y khoa can thiệp sớm tích cực.
-
-
[Chậm phát triển] Thang Kyoto: Công cụ đánh giá sự phát triển tâm lý – vận động và tính chỉ số DQ
Thang đánh giá sự phát triển tâm lý Kyoto (Kyoto Scale of Psychological Development – viết tắt là KSPD) là một trong những bộ công cụ đánh giá phát triển lâm sàng quan trọng và có lịch sử ứng dụng lâu đời tại Việt Nam, đặc biệt ở các trường đại học sư phạm, viện tâm lý và bệnh viện nhi.
Tuy nhiên, dưới góc độ chuyên môn và thiết kế phần mềm, bạn cần nắm rõ bản chất: KSPD KHÔNG phải là thang sàng lọc hay chẩn đoán đặc hiệu cho tự kỷ, mà là thang đo sự phát triển tâm lý – vận động tổng quát (tương tự như Bayley-III hay Denver II), được dùng để xác định “Tuổi phát triển” và “Chỉ số phát triển (DQ)” của trẻ tự kỷ hoặc chậm phát triển.
Lưu ý: Bố mẹ cần Bộ giáo cụ vật lý tiêu chuẩn để kết hợp với bộ câu hỏi để đánh giá. Công cụ dưới đây chủ yếu phục vụ các thầy cô hoặc chuyên gia, giúp họ nhập liệu và in kết quả đánh giá chính xác sau quá trình kiểm tra.
:host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; } .kspd-outer { width: 100%; background: transparent; position: relative; } /* 2. KHI BẬT CHẾ ĐỘ TOÀN MÀN HÌNH (DOM PORTAL RA BODY) */ .kspd-outer.is-fullscreen { width: 100% !important; min-height: 100% !important; background: #f8fafc !important; padding-bottom: 90px !important; } .kspd-wrap { max-width: 1080px; margin: 0 auto; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; color: #1e293b; } .kspd-outer.is-fullscreen .kspd-wrap { padding: 18px; } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 18px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .kspd-outer.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 14px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* 3. NÚT NỔI TRƯỢT DỌC THEO VÙNG BẢNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(30, 58, 138, 0.45), 0 0 0 0 rgba(30, 58, 138, 0.4); } 70% { box-shadow: 0 6px 20px rgba(30, 58, 138, 0.45), 0 0 0 10px rgba(30, 58, 138, 0); } 100% { box-shadow: 0 6px 20px rgba(30, 58, 138, 0.45), 0 0 0 0 rgba(30, 58, 138, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #1e3a8a 0%, #2563eb 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(30, 58, 138, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } .btn-fullscreen-top { background: #eff6ff; color: #1d4ed8; border: 1px solid #bfdbfe; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #2563eb; color: #ffffff; border-color: #2563eb; } /* CSS GỐC CỦA HỆ THỐNG KSPD */ .kspd-box { background: #fff; border: 1px solid #e2e8f0; border-radius: 12px; padding: 24px; margin-bottom: 24px; box-shadow: 0 4px 12px rgba(0,0,0,0.04); } .kspd-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; } .kspd-grid-4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-top: 14px; } .kspd-field label { display: block; font-weight: 600; font-size: 13.5px; margin-bottom: 6px; color: #334155; } .kspd-field input, .kspd-field textarea, .kspd-field select { width: 100%; padding: 9px 12px; border: 1px solid #cbd5e1; border-radius: 6px; font-size: 14.5px; box-sizing: border-box; background: #fff; color: #1e293b; font-family: inherit; } .kspd-btn { background: #2563eb; color: #fff !important; text-decoration: none !important; border: none; padding: 10px 18px; border-radius: 6px; font-size: 14px; font-weight: 600; cursor: pointer; display: inline-block; font-family: inherit; } .kspd-btn:hover { background: #1d4ed8; } .kspd-btn-sm { padding: 6px 12px; font-size: 12.5px; border-radius: 5px; } .kspd-btn-danger { background: #dc2626; } .kspd-btn-outline { background: #f1f5f9; color: #1e293b !important; border: 1px solid #cbd5e1; } .kspd-tabs { display: flex; gap: 8px; border-bottom: 2px solid #e2e8f0; margin-top: 16px; padding-bottom: 8px; flex-wrap: wrap; } .kspd-tab-btn { background: #f8fafc; border: 1px solid #cbd5e1; padding: 9px 16px; border-radius: 6px; cursor: pointer; font-weight: 600; color: #475569; font-family: inherit; } .kspd-tab-btn.active { background: #1e3a8a; color: #fff; border-color: #1e3a8a; } .kspd-tab-pane { display: none; padding-top: 12px; max-height: 520px; overflow-y: auto; border: 1px solid #e2e8f0; border-radius: 8px; margin-top: 8px; background: #fff; } .kspd-outer.is-fullscreen .kspd-tab-pane { max-height: 68vh; } .kspd-tab-pane.active { display: block; } .kspd-table-scroll { width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; } .kspd-table { width: 100%; border-collapse: collapse; font-size: 13.5px; min-width: 640px; } .kspd-table th, .kspd-table td { border: 1px solid #cbd5e1; padding: 9px 10px; text-align: center; } .kspd-table th { background: #f1f5f9; font-weight: 700; position: sticky; top: 0; z-index: 2; } .kspd-radio-group label { display: inline-block; margin-right: 6px; cursor: pointer; font-weight: 600; padding: 4px 8px; border-radius: 4px; border: 1px solid #cbd5e1; font-size: 12.5px; } .kspd-basal-row { background: #f0fdf4 !important; opacity: 0.85; } @media (max-width: 768px) { .kspd-grid-2, .kspd-grid-4 { grid-template-columns: 1fr; } .kspd-box { padding: 14px; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } } @media print { .no-print, .fs-floating-bar, .floating-zoom-fab, .btn-fullscreen-top { display: none !important; } .kspd-box { box-shadow: none; border: none; padding: 0; } }
1. Phiếu Chấm Điện Tử KSPD Đầy Đủ (Đang nạp: 323 tiểu mục)
Bao gồm: 76 mục P-M (1–60 tháng), 126 mục C-A (1–156 tháng) và 126 mục L-S (1–156 tháng).
| Bậc tuổi | Mã mục | Nội dung tiểu mục thử nghiệm KSPD | Trọng số | Kết quả chấm |
|---|---|---|---|---|
| 1 tháng | PM_001_1 |
Nằm sấp nhấc cằm rời mặt giường | +0.25 th | |
| 1 tháng | PM_001_2 |
Nằm ngửa giữ đầu ở đường giữa hoặc quay sang bên | +0.25 th | |
| 1 tháng | PM_001_3 |
Phản xạ nắm chặt bàn tay khi chạm vào lòng bàn tay | +0.25 th | |
| 1 tháng | PM_001_4 |
Co duỗi hai chân luân phiên khi nằm ngửa | +0.25 th | |
| 2 tháng | PM_002_1 |
Nằm sấp nâng đầu góc 45 độ giữ vững | +0.25 th | |
| 2 tháng | PM_002_2 |
Giữ đầu thẳng tạm thời khi được bế vác vai | +0.25 th | |
| 2 tháng | PM_002_3 |
Đạp duỗi hai chân mạnh mẽ có nhịp điệu | +0.25 th | |
| 2 tháng | PM_002_4 |
Nằm sấp chịu lực nhẹ trên hai cẳng tay | +0.25 th | |
| 3 tháng | PM_003_1 |
Nằm sấp chống hai cẳng tay nâng đầu và ngực góc 90 độ | +0.25 th | |
| 3 tháng | PM_003_2 |
Giữ đầu vững vàng khi bế ngồi có đỡ lưng | +0.25 th | |
| 3 tháng | PM_003_3 |
Kéo ngồi dậy đầu không bị ngửa trễ ra sau | +0.25 th | |
| 3 tháng | PM_003_4 |
Nằm ngửa đưa hai bàn tay chụm lại ở đường giữa ngực | +0.25 th | |
| 4 tháng | PM_004_1 |
Lẫy từ nằm sấp sang nằm ngửa hoặc nghiêng người | +0.25 th | |
| 4 tháng | PM_004_2 |
Ngồi có đỡ giữ thẳng lưng trên | +0.25 th | |
| 4 tháng | PM_004_3 |
Khi giữ đứng nách, chân chịu được một phần trọng lượng cơ thể | +0.25 th | |
| 4 tháng | PM_004_4 |
Nằm sấp duỗi thẳng hai tay chống nâng ngực cao | +0.25 th | |
| 5 tháng | PM_005_1 |
Lẫy hoàn chỉnh từ nằm ngửa sang nằm sấp | +0.25 th | |
| 5 tháng | PM_005_2 |
Kéo hai tay trẻ từ nằm ngửa lên tư thế ngồi (trẻ tự gồng cổ kéo lên) | +0.25 th | |
| 5 tháng | PM_005_3 |
Giữ đứng dưới nách trẻ nhún nhảy hai chân liên tục | +0.25 th | |
| 5 tháng | PM_005_4 |
Nằm sấp xoay trục cơ thể sang hai bên | +0.25 th | |
| 6 tháng | PM_006_1 |
Ngồi chống hai tay phía trước giữ thăng bằng ngắn | +0.25 th | |
| 6 tháng | PM_006_2 |
Lẫy lăn tròn hai chiều ngửa - sấp linh hoạt | +0.25 th | |
| 6 tháng | PM_006_3 |
Nằm sấp với một tay lấy đồ chơi phía trước | +0.25 th | |
| 6 tháng | PM_006_4 |
Chịu toàn bộ sức nặng trên hai chân khi được giữ nách | +0.25 th | |
| 7 tháng | PM_007_1 |
Tự ngồi vững không cần chống tay (> 30 giây) | +0.25 th | |
| 7 tháng | PM_007_2 |
Trườn sấp tiến về phía trước để lấy đồ chơi | +0.25 th | |
| 7 tháng | PM_007_3 |
Chuyển từ tư thế nằm sấp sang chống bốn điểm (tay - gối) | +0.25 th | |
| 7 tháng | PM_007_4 |
Ngồi vững xoay người sang hai bên lấy đồ vật | +0.25 th | |
| 8 tháng | PM_008_1 |
Bò phối hợp tay và đầu gối nhịp nhàng | +0.25 th | |
| 8 tháng | PM_008_2 |
Tự chuyển từ tư thế nằm sấp/bò sang ngồi độc lập | +0.25 th | |
| 8 tháng | PM_008_3 |
Vịn thành giường/cũi tự kéo người đứng dậy trên hai chân | +0.25 th | |
| 8 tháng | PM_008_4 |
Ngồi vững nghiêng người nhặt đồ chơi không mất thăng bằng | +0.25 th | |
| 9 tháng | PM_009_1 |
Đứng vịn vững vàng bằng một tay hoặc hai tay vào thành ghế | +0.25 th | |
| 9 tháng | PM_009_2 |
Tự ngồi xuống từ tư thế đứng vịn có kiểm soát | +0.25 th | |
| 9 tháng | PM_009_3 |
Lần bước đi ngang dọc theo thành giường/ghế sofa | +0.25 th | |
| 9 tháng | PM_009_4 |
Bò vượt qua chướng ngại vật thấp trên sàn | +0.25 th | |
| 10 tháng | PM_010_1 |
Đi men thành bàn/ghế chỉ dùng 1 tay giữ nhẹ | +0.25 th | |
| 10 tháng | PM_010_2 |
Đứng buông tay độc lập vài giây (2-3 giây) | +0.25 th | |
| 10 tháng | PM_010_3 |
Bò leo lên bậc cầu thang hoặc bậc thềm thấp | +0.25 th | |
| 10 tháng | PM_010_4 |
Bước đi về phía trước khi người lớn dắt hai tay | +0.25 th | |
| 11 tháng | PM_011_1 |
Tự đứng vững một mình không cần vịn (> 5-10 giây) | +0.25 th | |
| 11 tháng | PM_011_2 |
Đi về phía trước khi người lớn chỉ dắt một tay | +0.25 th | |
| 11 tháng | PM_011_3 |
Ngồi xổm xuống nhặt đồ chơi rồi đứng lên có vịn nhẹ | +0.25 th | |
| 11 tháng | PM_011_4 |
Tự đứng dậy từ giữa sàn không cần vịn đồ vật | +0.25 th | |
| 12 tháng | PM_012_1 |
Tự bước đi độc lập 3 - 5 bước đầu tiên | +0.25 th | |
| 12 tháng | PM_012_2 |
Đứng vững cúi nhặt đồ chơi rồi đứng thẳng lên không ngã | +0.25 th | |
| 12 tháng | PM_012_3 |
Vừa đi vừa cầm đồ chơi trên tay | +0.25 th | |
| 12 tháng | PM_012_4 |
Bò lùi xuống bậc thềm/cầu thang an toàn | +0.25 th | |
| 15 tháng | PM_015_1 |
Đi độc lập vững vàng khắp phòng, tự dừng và đổi hướng | +0.75 th | |
| 15 tháng | PM_015_2 |
Bước lên cầu thang khi được dắt 1 tay hoặc vịn tường | +0.75 th | |
| 15 tháng | PM_015_3 |
Đi lùi về phía sau 2 - 3 bước | +0.75 th | |
| 15 tháng | PM_015_4 |
Ngồi xuống ghế nhỏ trẻ em độc lập | +0.75 th | |
| 18 tháng | PM_018_1 |
Chạy cứng chân nhưng hiếm khi bị ngã | +0.75 th | |
| 18 tháng | PM_018_2 |
Bước lên cầu thang có vịn lan can (bước dồn 2 chân/bậc) | +0.75 th | |
| 18 tháng | PM_018_3 |
Đá quả bóng về phía trước (bóng lăn đi, trẻ không ngã) | +0.75 th | |
| 18 tháng | PM_018_4 |
Đi kéo theo đồ chơi có dây phía sau lưng | +0.75 th | |
| 21 tháng | PM_021_1 |
Bước xuống cầu thang có vịn tay hoặc dắt 1 tay (dồn chân) | +0.75 th | |
| 21 tháng | PM_021_2 |
Chạy khá vững và biết tránh vật cản trên đường | +0.75 th | |
| 21 tháng | PM_021_3 |
Đứng ném bóng từ trên cao về phía trước không mất đà | +0.75 th | |
| 21 tháng | PM_021_4 |
Nhảy từ bậc cầu thang cuối cùng xuống sàn có đỡ nhẹ | +0.75 th | |
| 24 tháng | PM_024_1 |
Chạy tốt, tự dừng lại và chuyển hướng đột ngột không ngã | +0.75 th | |
| 24 tháng | PM_024_2 |
Tự lên và xuống cầu thang không cần vịn (dồn chân) | +0.75 th | |
| 24 tháng | PM_024_3 |
Nhảy tại chỗ hai chân rời mặt đất cùng lúc | +0.75 th | |
| 24 tháng | PM_024_4 |
Đứng kiễng gót chân theo mẫu | +0.75 th | |
| 30 tháng | PM_030_1 |
Nhảy từ bục cao 15-20cm xuống đất bằng hai chân vững vàng | +1.50 th | |
| 30 tháng | PM_030_2 |
Đi kiễng gót chân liên tục trên một đoạn dài (> 2m) | +1.50 th | |
| 30 tháng | PM_030_3 |
Bước lên cầu thang luân phiên từng chân có vịn nhẹ | +1.50 th | |
| 30 tháng | PM_030_4 |
Đứng một chân giữ thăng bằng được 1 - 2 giây | +1.50 th | |
| 36 tháng | PM_036_1 |
Bước lên cầu thang luân phiên từng chân không cần vịn | +1.50 th | |
| 36 tháng | PM_036_2 |
Đứng một chân giữ thăng bằng vững từ 3 - 5 giây | +1.50 th | |
| 36 tháng | PM_036_3 |
Nhảy xa về phía trước bằng hai chân chụm (> 30cm) | +1.50 th | |
| 36 tháng | PM_036_4 |
Đạp xe ba bánh tiến về phía trước và điều khiển tay lái | +1.50 th | |
| 42 tháng | PM_042_1 |
Bước xuống cầu thang luân phiên từng chân không cần vịn | +1.50 th | |
| 42 tháng | PM_042_2 |
Nhảy lò cò trên một chân được 2 - 3 bước | +1.50 th | |
| 42 tháng | PM_042_3 |
Bắt quả bóng to ném tới bằng hai bàn tay (không ôm vào ngực) | +1.50 th | |
| 42 tháng | PM_042_4 |
Đi nối gót (mũi chân sau chạm gót chân trước) trên vạch thẳng | +1.50 th | |
| 48 tháng | PM_048_1 |
Đứng một chân giữ thăng bằng vững vàng > 8 - 10 giây | +1.50 th | |
| 48 tháng | PM_048_2 |
Nhảy lò cò một chân liên tục 5 - 8 bước tiến về trước | +1.50 th | |
| 48 tháng | PM_048_3 |
Nhảy qua dây căng thấp (cao 15-20cm) bằng hai chân chụm | +1.50 th | |
| 48 tháng | PM_048_4 |
Chạy nhanh đổi hướng zíc-zắc linh hoạt | +1.50 th | |
| 54 tháng | PM_054_1 |
Đi thăng bằng lùi nối gót trên đường kẻ thẳng 2m | +3.00 th | |
| 54 tháng | PM_054_2 |
Ném bóng nhỏ trúng đích ở khoảng cách 1.5 - 2m | +3.00 th | |
| 60 tháng | PM_060_1 |
Nhảy chân sáo (Skipping) luân phiên hai chân nhịp nhàng | +3.00 th | |
| 60 tháng | PM_060_2 |
Đứng một chân nhắm mắt giữ thăng bằng > 5 giây | +3.00 th |
| Bậc tuổi | Mã mục | Nội dung tiểu mục thử nghiệm KSPD | Trọng số | Kết quả chấm |
|---|---|---|---|---|
| 1 tháng | CA_001_1 |
Mắt nhìn tập trung vào khuôn mặt người đối diện hoặc vòng tròn đỏ | +0.25 th | |
| 1 tháng | CA_001_2 |
Mắt dõi theo vòng tròn đỏ di chuyển từ bên này sang đường giữa | +0.25 th | |
| 1 tháng | CA_001_3 |
Nghe tiếng chuông lắc có phản ứng chớp mắt hoặc dừng cử động | +0.25 th | |
| 1 tháng | CA_001_4 |
Mắt nhìn theo vật di chuyển góc 45 độ | +0.25 th | |
| 2 tháng | CA_002_1 |
Mắt dõi theo vòng tròn đỏ di chuyển qua đường giữa 90 - 180 độ | +0.25 th | |
| 2 tháng | CA_002_2 |
Mắt nhìn theo người di chuyển trong phòng | +0.25 th | |
| 2 tháng | CA_002_3 |
Chuyển ánh nhìn luân phiên giữa hai vật thể đặt trước mặt | +0.25 th | |
| 2 tháng | CA_002_4 |
Bàn tay mở hé thường xuyên hơn, giữ lục lạc ngắn khi đặt vào tay | +0.25 th | |
| 3 tháng | CA_003_1 |
Mắt dõi theo vòng tròn đỏ di chuyển vòng tròn 180 độ hoàn chỉnh | +0.25 th | |
| 3 tháng | CA_003_2 |
Nhìn ngắm hai bàn tay của chính mình (Hand regard) | +0.25 th | |
| 3 tháng | CA_003_3 |
Cầm giữ lục lạc chủ động và lắc nhẹ tạo âm thanh | +0.25 th | |
| 3 tháng | CA_003_4 |
Nhìn ngay vào khối gỗ hoặc đồ chơi đặt trên mặt bàn trước mặt | +0.25 th | |
| 4 tháng | CA_004_1 |
Đưa hai tay hướng về phía đồ chơi treo trước ngực (chưa chạm chuẩn) | +0.25 th | |
| 4 tháng | CA_004_2 |
Chạm và nắm được đồ chơi đưa gần tầm tay | +0.25 th | |
| 4 tháng | CA_004_3 |
Đưa đồ chơi cầm được vào miệng khám phá | +0.25 th | |
| 4 tháng | CA_004_4 |
Quay đầu tìm kiếm chính xác hướng phát ra tiếng chuông | +0.25 th | |
| 5 tháng | CA_005_1 |
Với một tay nắm trúng khối gỗ đặt trên bàn ngay lần đầu | +0.25 th | |
| 5 tháng | CA_005_2 |
Cầm một khối gỗ và mắt nhìn chú ý sang khối gỗ thứ hai | +0.25 th | |
| 5 tháng | CA_005_3 |
Cầm giấy vò hoặc vẫy tạo tiếng sột soạt | +0.25 th | |
| 5 tháng | CA_005_4 |
Kéo khăn che trên mặt mình ra | +0.25 th | |
| 6 tháng | CA_006_1 |
Chuyển đồ chơi/khối gỗ từ tay này sang tay kia thành thạo | +0.25 th | |
| 6 tháng | CA_006_2 |
Mỗi tay cầm giữ đồng thời một khối gỗ vuông (2 khối) | +0.25 th | |
| 6 tháng | CA_006_3 |
Đập khối gỗ hoặc đồ chơi xuống mặt bàn tạo tiếng kêu | +0.25 th | |
| 6 tháng | CA_006_4 |
Nhìn theo đồ vật bị rơi xuống sàn nhà | +0.25 th | |
| 7 tháng | CA_007_1 |
Cầm kẹp khối gỗ bằng ngón cái và các ngón (Radial palmar grasp) | +0.25 th | |
| 7 tháng | CA_007_2 |
Giữ 2 khối gỗ trên hai tay và mắt nhìn sang khối thứ 3 | +0.25 th | |
| 7 tháng | CA_007_3 |
Lật cốc úp để lấy đồ chơi vừa được giấu bên dưới (che một phần) | +0.25 th | |
| 7 tháng | CA_007_4 |
Dùng tay cào lấy hạt nhỏ trên mặt bàn | +0.25 th | |
| 8 tháng | CA_008_1 |
Đập hai khối gỗ trên hai tay vào nhau ở đường giữa | +0.25 th | |
| 8 tháng | CA_008_2 |
Kéo dây để lấy chiếc vòng gắn ở đầu dây về phía mình | +0.25 th | |
| 8 tháng | CA_008_3 |
Lật khăn/cốc tìm đồ chơi bị giấu kín hoàn toàn trước mặt | +0.25 th | |
| 8 tháng | CA_008_4 |
Cầm giữ khối gỗ thứ 2 mà không làm rơi khối thứ 1 | +0.25 th | |
| 9 tháng | CA_009_1 |
Cầm kẹp hạt nhỏ bằng ngón cái và cạnh ngón trỏ (Scissor grasp) | +0.25 th | |
| 9 tháng | CA_009_2 |
Chọc ngón trỏ vào lỗ nhỏ trên bảng hoặc khám phá chi tiết nhỏ | +0.25 th | |
| 9 tháng | CA_009_3 |
Nhặt chiếc chuông bằng phần tay cầm và lắc kêu theo mẫu | +0.25 th | |
| 9 tháng | CA_009_4 |
Lấy khối gỗ ra khỏi lòng cốc nhựa | +0.25 th | |
| 10 tháng | CA_010_1 |
Cầm kẹp hạt nhỏ chính xác bằng hai đầu ngón cái và ngón trỏ (Pincer grasp) | +0.25 th | |
| 10 tháng | CA_010_2 |
Thả khối gỗ vào trong cốc (chạm tay vào cốc nhưng chưa buông hoàn toàn) | +0.25 th | |
| 10 tháng | CA_010_3 |
Mở giấy gói lỏng để lấy khối gỗ/đồ chơi bên trong | +0.25 th | |
| 10 tháng | CA_010_4 |
Dùng dùi trống gõ bắt chước lên mặt trống/bàn | +0.25 th | |
| 11 tháng | CA_011_1 |
Bỏ thả thành công ít nhất 1 - 2 khối gỗ vào trong lòng cốc | +0.25 th | |
| 11 tháng | CA_011_2 |
Lấy viên hạt nhỏ ra khỏi lọ thủy tinh nhỏ (bằng cách thò ngón tay) | +0.25 th | |
| 11 tháng | CA_011_3 |
Bắt chước ngoáy thìa trong cốc nhựa | +0.25 th | |
| 11 tháng | CA_011_4 |
Lật giở từng cụm trang sách bìa cứng | +0.25 th | |
| 12 tháng | CA_012_1 |
Bỏ liên tiếp 3 - 4 khối gỗ vào trong cốc theo yêu cầu | +0.25 th | |
| 12 tháng | CA_012_2 |
Đặt khối gỗ này lên trên khối gỗ kia (tập xếp tháp 2 khối) | +0.25 th | |
| 12 tháng | CA_012_3 |
Nhấc hình tròn ra khỏi bảng ghép hình 3 khuôn cơ bản | +0.25 th | |
| 12 tháng | CA_012_4 |
Cầm bút sáp chấm hoặc vạch nét đầu tiên lên giấy | +0.25 th | |
| 15 tháng | CA_015_1 |
Xếp chồng tháp 2 khối gỗ vuông đứng vững | +0.60 th | |
| 15 tháng | CA_015_2 |
Đặt đúng hình tròn vào khuôn trên bảng ghép hình 3 hình | +0.60 th | |
| 15 tháng | CA_015_3 |
Bỏ hạt nhỏ vào trong lọ cổ hẹp và biết dốc ngược lọ để đổ hạt ra | +0.60 th | |
| 15 tháng | CA_015_4 |
Vẽ nguệch ngoạc tự phát trên giấy sau khi xem làm mẫu | +0.60 th | |
| 15 tháng | CA_015_5 |
Mở nắp hộp tròn để lấy đồ chơi bên trong | +0.60 th | |
| 18 tháng | CA_018_1 |
Xếp chồng tháp 3 - 4 khối gỗ vuông đứng vững | +0.60 th | |
| 18 tháng | CA_018_2 |
Đặt đúng cả 2 hình (Tròn và Vuông) vào bảng ghép hình | +0.60 th | |
| 18 tháng | CA_018_3 |
Bắt chước vạch một nét thẳng/dọc trên giấy bằng bút sáp | +0.60 th | |
| 18 tháng | CA_018_4 |
Lật từng trang sách mỏng (2-3 trang một lần) | +0.60 th | |
| 18 tháng | CA_018_5 |
Dùng que/thước khều đồ chơi nằm ngoài tầm tay với | +0.60 th | |
| 21 tháng | CA_021_1 |
Xếp chồng tháp 5 khối gỗ vuông đứng vững | +0.60 th | |
| 21 tháng | CA_021_2 |
Đặt đúng cả 3 hình (Tròn, Vuông, Tam giác) vào bảng ghép hình chuẩn | +0.60 th | |
| 21 tháng | CA_021_3 |
Xếp 2 - 3 khối gỗ nối đuôi nhau thành hàng ngang làm đoàn tàu | +0.60 th | |
| 21 tháng | CA_021_4 |
Bắt chước vẽ nét tròn xoay vòng trên giấy | +0.60 th | |
| 21 tháng | CA_021_5 |
Đậy đúng nắp hộp hình vuông vào thân hộp vuông | +0.60 th | |
| 24 tháng | CA_024_1 |
Xếp chồng tháp 6 - 7 khối gỗ vuông đứng vững | +0.60 th | |
| 24 tháng | CA_024_2 |
Đặt đúng cả 3 hình vào bảng ghép hình ngay cả khi xoay ngược bảng 180 độ | +0.60 th | |
| 24 tháng | CA_024_3 |
Xếp mô hình đoàn tàu có ống khói (4 khối gỗ) theo mẫu | +0.60 th | |
| 24 tháng | CA_024_4 |
Bắt chước vẽ nét thẳng đứng và nét ngang rõ ràng | +0.60 th | |
| 24 tháng | CA_024_5 |
Gấp đôi tờ giấy hình vuông một lần theo mẫu | +0.60 th | |
| 30 tháng | CA_030_1 |
Xếp chồng tháp 8 - 9 khối gỗ vuông đứng vững | +1.20 th | |
| 30 tháng | CA_030_2 |
Xếp mô hình cây cầu (3 khối gỗ có khe hở ở giữa) khi nhìn làm mẫu | +1.20 th | |
| 30 tháng | CA_030_3 |
Bắt chước vẽ hình tròn khép kín tương đối chuẩn | +1.20 th | |
| 30 tháng | CA_030_4 |
Ghép đúng bức tranh cắt đôi (2 mảnh ghép thành hình con cá/cái bát) | +1.20 th | |
| 30 tháng | CA_030_5 |
So sánh và đặt chồng khít 4 hình học cơ bản cùng loại | +1.20 th | |
| 36 tháng | CA_036_1 |
Tự xếp mô hình cây cầu 3 khối gỗ chỉ nhìn mẫu hoàn chỉnh (không cần xem thao tác) | +1.20 th | |
| 36 tháng | CA_036_2 |
Bắt chước vẽ hình chữ thập (+) gồm nét dọc và nét ngang cắt nhau | +1.20 th | |
| 36 tháng | CA_036_3 |
Gấp tờ giấy vuông làm tư (gấp 2 lần vuông góc) theo mẫu | +1.20 th | |
| 36 tháng | CA_036_4 |
So sánh hai vạch thẳng và chỉ đúng vạch nào dài hơn (3/3 lần) | +1.20 th | |
| 36 tháng | CA_036_5 |
Xâu được 4 hạt gỗ lớn vào dây có đầu cứng | +1.20 th | |
| 42 tháng | CA_042_1 |
Ghép đúng bức tranh cắt làm 3 - 4 mảnh rời nhau | +1.20 th | |
| 42 tháng | CA_042_2 |
Phân loại và ghép cặp 10 thẻ hình học theo hình dạng và màu sắc | +1.20 th | |
| 42 tháng | CA_042_3 |
Vẽ hình người cơ bản có ít nhất 2 - 3 bộ phận (đầu, chân, mắt) | +1.20 th | |
| 42 tháng | CA_042_4 |
Xếp mô hình cổng/tháp 5 khối gỗ theo mẫu | +1.20 th | |
| 42 tháng | CA_042_5 |
Dùng kéo cắt đứt đôi tờ giấy theo đường thẳng | +1.20 th | |
| 48 tháng | CA_048_1 |
Sao chép hình vuông có 4 góc vuông rõ rệt khi nhìn thẻ mẫu | +1.20 th | |
| 48 tháng | CA_048_2 |
Gấp giấy hình tam giác chéo góc chính xác theo mẫu | +1.20 th | |
| 48 tháng | CA_048_3 |
Đếm chỉ tay chính xác và lấy đúng 4 khối gỗ theo yêu cầu | +1.20 th | |
| 48 tháng | CA_048_4 |
Hoàn thành bảng ghép hình 4 mảnh cắt chéo thành hình chữ nhật (Patience picture) | +1.20 th | |
| 48 tháng | CA_048_5 |
So sánh trọng lượng 2 hộp giống hệt nhau (3g và 15g) chỉ ra hộp nặng hơn | +1.20 th | |
| 54 tháng | CA_054_1 |
Xếp mô hình bậc thang 6 khối gỗ (3 bậc) sau khi xem làm mẫu | +1.20 th | |
| 54 tháng | CA_054_2 |
Sao chép hình tam giác cân có 3 góc nhọn rõ ràng | +1.20 th | |
| 54 tháng | CA_054_3 |
Vẽ hình người có từ 6 bộ phận trở lên (đầu, mình, tay, chân, mắt, miệng) | +1.20 th | |
| 54 tháng | CA_054_4 |
Nhận biết phần còn thiếu trên tranh vẽ (chân bàn, tai thỏ, ngón tay) | +1.20 th | |
| 54 tháng | CA_054_5 |
Đếm và lấy đúng 6 - 8 khối gỗ từ đống khối gỗ | +1.20 th | |
| 60 tháng | CA_060_1 |
Xếp mô hình bậc thang 10 khối gỗ (4 bậc) theo mẫu | +1.20 th | |
| 60 tháng | CA_060_2 |
Sao chép hình thoi (Diamond) có 4 cạnh chéo cân đối | +1.20 th | |
| 60 tháng | CA_060_3 |
Gấp giấy Origami nâng cao (gấp máy bay/mũ hai nếp chéo) | +1.20 th | |
| 60 tháng | CA_060_4 |
Tìm đường thoát ra khỏi mê cung đơn giản bằng bút chì không chạm vạch | +1.20 th | |
| 60 tháng | CA_060_5 |
Đếm chính xác từ 10 - 13 khối gỗ và trả lời tổng số lượng | +1.20 th | |
| 66 tháng | CA_066_1 |
Vẽ lại hình phức hợp (Hình chữ nhật có đường chéo bên trong) theo mẫu | +1.50 th | |
| 66 tháng | CA_066_2 |
Sắp xếp chuỗi 5 hộp theo thứ tự trọng lượng từ nặng nhất đến nhẹ nhất | +1.50 th | |
| 66 tháng | CA_066_3 |
Nhận diện qui luật chuỗi hạt (Tròn - Vuông - Tròn - Vuông) và xếp tiếp đúng qui luật | +1.50 th | |
| 66 tháng | CA_066_4 |
Cắt rời hình tròn theo đường viền vẽ sẵn bằng kéo gọn gàng | +1.50 th | |
| 72 tháng | CA_072_1 |
Xếp mô hình kim tự tháp có khe hở (10 khối gỗ) nhìn mẫu hoàn chỉnh | +1.50 th | |
| 72 tháng | CA_072_2 |
Sao chép hình ngôi sao 6 cánh (hai tam giác lồng nhau) chính xác | +1.50 th | |
| 72 tháng | CA_072_3 |
Tính nhẩm phép cộng trừ trên khối gỗ cụ thể trong phạm vi 5 | +1.50 th | |
| 72 tháng | CA_072_4 |
Ghép đúng các khối gỗ sơn màu (Kohs Block Design) mẫu 4 khối cơ bản | +1.50 th | |
| 84 tháng | CA_084_1 |
Ghép khối Kohs Block Design mẫu đường chéo 4 khối trong thời gian quy định | +3.00 th | |
| 84 tháng | CA_084_2 |
Gấp giấy cắt một nhát tạo thành hình thoi hoặc bông hoa đối xứng ở giữa | +3.00 th | |
| 84 tháng | CA_084_3 |
Phát hiện điểm vô lý trong bức tranh tình huống (Absurdities pictures) | +3.00 th | |
| 84 tháng | CA_084_4 |
Nhớ và vẽ lại 2 hình kỷ hà chuẩn sau khi cho nhìn mẫu 10 giây (Benton/Bender) | +3.00 th | |
| 96 tháng | CA_096_1 |
Ghép khối Kohs Block Design mẫu 9 khối phức tạp trong thời gian chuẩn | +3.00 th | |
| 96 tháng | CA_096_2 |
Giải bài toán tìm quả bóng bị mất trong cánh đồng cỏ (Vẽ lộ trình tìm kiếm hệ thống) | +3.00 th | |
| 96 tháng | CA_096_3 |
Tái tạo chuỗi gõ nhịp 4 khối gỗ theo trình tự ngược lại (Knox Cube Imitation) | +3.00 th | |
| 96 tháng | CA_096_4 |
Nhận diện quy luật ma trận hình học khuyết (tương tự Raven cơ bản) | +3.00 th | |
| 108 tháng | CA_108_1 |
Giải bài toán suy luận quy nạp từ giấy gấp đục lỗ (đoán số lỗ và vị trí khi mở ra) | +4.00 th | |
| 108 tháng | CA_108_2 |
Phân tích số lượng khối gỗ ẩn trong mô hình khối lập phương 3D vẽ trên tranh | +4.00 th | |
| 108 tháng | CA_108_3 |
Ghép hoàn chỉnh mẫu Kohs 16 khối nâng cao đúng thời gian | +4.00 th | |
| 120 tháng | CA_120_1 |
Suy luận không gian đảo chiều: Vẽ hình phản chiếu qua gương của hình kỷ hà phức tạp | +4.00 th | |
| 120 tháng | CA_120_2 |
Giải bài toán cân bằng trọng lượng và đòn bẩy logic | +4.00 th | |
| 120 tháng | CA_120_3 |
Mã hóa ký hiệu chữ số nhanh trong 60 giây không sai sót | +4.00 th | |
| 132 tháng | CA_132_1 |
Giải bài toán hoán vị và tổ hợp logic với 4 màu sắc khác nhau | +6.00 th | |
| 132 tháng | CA_132_2 |
Tái cấu trúc hình học trừu tượng từ các mảnh cắt đa giác không đối xứng | +6.00 th | |
| 144 tháng | CA_144_1 |
Suy luận quy luật chuỗi số học hai tầng (cấp số cộng biến thiên) | +6.00 th | |
| 144 tháng | CA_144_2 |
Giải quyết bài toán chia nước bằng 3 bình có dung tích khác nhau | +6.00 th | |
| 156 tháng | CA_156_1 |
Tổng hợp tư duy trừu tượng không gian 3 chiều và suy luận hình thức cấp cao | +12.00 th |
| Bậc tuổi | Mã mục | Nội dung tiểu mục thử nghiệm KSPD | Trọng số | Kết quả chấm |
|---|---|---|---|---|
| 1 tháng | LS_001_1 |
Phát ra âm thanh nguyên âm nhỏ trong cổ họng (a, u, ư) ngoài tiếng khóc | +0.33 th | |
| 1 tháng | LS_001_2 |
Ngừng khóc hoặc dịu lại khi được người lớn bế lên và nói chuyện êm dịu | +0.33 th | |
| 1 tháng | LS_001_3 |
Chú ý nhìn vào khuôn mặt mẹ khi mẹ trò chuyện ở khoảng cách 25-30cm | +0.33 th | |
| 2 tháng | LS_002_1 |
Mỉm cười xã hội đáp lại khi người lớn mỉm cười và trò chuyện (Social smile) | +0.33 th | |
| 2 tháng | LS_002_2 |
Phát âm gù gù (Cooing: a-gu, ơ-ơ) đáp lại giọng nói người lớn | +0.33 th | |
| 2 tháng | LS_002_3 |
Biểu lộ nét mặt hào hứng khi thấy người quen đến gần | +0.33 th | |
| 3 tháng | LS_003_1 |
Cười thành tiếng lớn khi được trêu đùa hoặc cù nhẹ | +0.33 th | |
| 3 tháng | LS_003_2 |
Quay đầu và mắt hướng về phía phát ra giọng nói của mẹ | +0.33 th | |
| 3 tháng | LS_003_3 |
Phát âm đáp trả qua lại như đang trò chuyện với người lớn | +0.33 th | |
| 4 tháng | LS_004_1 |
Cười to khanh khách và reo lên khi chơi ú òa hoặc đùa giỡn | +0.33 th | |
| 4 tháng | LS_004_2 |
Phân biệt được giọng nói vui vẻ và giọng nghiêm khắc của người lớn | +0.33 th | |
| 4 tháng | LS_004_3 |
Nhìn chăm chú và mỉm cười với hình ảnh của mình trong gương | +0.33 th | |
| 5 tháng | LS_005_1 |
Quay đầu lại ngay lập tức khi nghe gọi tên mình | +0.33 th | |
| 5 tháng | LS_005_2 |
Bập bẹ các phụ âm môi đầu tiên (ba, ma, đa) | +0.33 th | |
| 5 tháng | LS_005_3 |
Đưa tay vỗ hoặc chạm vào hình ảnh em bé trong gương | +0.33 th | |
| 6 tháng | LS_006_1 |
Phân biệt người quen và người lạ (nhìn dò xét hoặc rụt rè với người lạ) | +0.33 th | |
| 6 tháng | LS_006_2 |
Bập bẹ chuỗi âm tiết lặp lại (ba-ba, ma-ma, da-da) | +0.33 th | |
| 6 tháng | LS_006_3 |
Giơ hai tay lên đòi bế khi thấy mẹ đưa tay ra | +0.33 th | |
| 7 tháng | LS_007_1 |
Chơi trò Ú òa (Peek-a-boo) chủ động cười và chờ đợi người lớn mở khăn | +0.33 th | |
| 7 tháng | LS_007_2 |
Hiểu từ "Không" (dừng tay lại một chút khi nghe giọng nhắc "Không!") | +0.33 th | |
| 7 tháng | LS_007_3 |
Phát âm bập bẹ đa dạng ngữ điệu giống câu nói | +0.33 th | |
| 8 tháng | LS_008_1 |
Bắt chước vỗ tay (hoan hô) hoặc đập bàn theo người lớn | +0.33 th | |
| 8 tháng | LS_008_2 |
Quay đầu nhìn theo hướng người lớn chỉ tay ở gần | +0.33 th | |
| 8 tháng | LS_008_3 |
Biểu lộ phản ứng rõ khi lấy mất đồ chơi đang cầm | +0.33 th | |
| 9 tháng | LS_009_1 |
Biết vẫy tay "Bye-bye" / "Ạ" theo lời nhắc hoặc làm mẫu | +0.33 th | |
| 9 tháng | LS_009_2 |
Hiểu và làm theo yêu cầu có kèm cử chỉ ("Đưa cho mẹ nào") | +0.33 th | |
| 9 tháng | LS_009_3 |
Kéo áo hoặc phát âm gọi để thu hút sự chú ý của người lớn | +0.33 th | |
| 10 tháng | LS_010_1 |
Chỉ ngón trỏ vào đồ vật mình thích để yêu cầu (Imperative pointing) | +0.33 th | |
| 10 tháng | LS_010_2 |
Hiểu tên gọi của một số đồ vật/người quen thuộc khi được hỏi ("Bóng đâu?", "Mẹ đâu?") | +0.33 th | |
| 10 tháng | LS_010_3 |
Bắt chước các âm thanh đơn giản do người lớn tạo ra (tiếng ho, tiếng tặc lưỡi) | +0.33 th | |
| 11 tháng | LS_011_1 |
Nói được ít nhất 1 từ đơn có nghĩa đúng ngữ cảnh (mẹ, bà, măm...) | +0.33 th | |
| 11 tháng | LS_011_2 |
Đưa đồ chơi cho người lớn khi nghe yêu cầu bằng lời (không cần xòe tay ra hiệu) | +0.33 th | |
| 11 tháng | LS_011_3 |
Biết lắc đầu thể hiện sự từ chối / không muốn | +0.33 th | |
| 12 tháng | LS_012_1 |
Nói được 2 - 3 từ đơn có nghĩa chủ động ngoài từ "bà/mẹ" | +0.33 th | |
| 12 tháng | LS_012_2 |
Chia sẻ sự chú ý chung (Joint Attention): Chỉ ngón trỏ vào vật lạ và quay lại nhìn mắt mẹ | +0.33 th | |
| 12 tháng | LS_012_3 |
Chơi lăn bóng qua lại luân phiên với người đánh giá | +0.33 th | |
| 15 tháng | LS_015_1 |
Sử dụng từ 4 - 6 từ đơn có nghĩa thường xuyên trong giao tiếp | +0.60 th | |
| 15 tháng | LS_015_2 |
Chỉ đúng ít nhất 1 bộ phận cơ thể trên người mình hoặc búp bê khi được hỏi | +0.60 th | |
| 15 tháng | LS_015_3 |
Hiểu và thực hiện mệnh lệnh đơn giản 1 bước ("Con mang bóng lại đây") | +0.60 th | |
| 15 tháng | LS_015_4 |
Bắt chước hành động sinh hoạt của người lớn (cầm lược chải đầu, nghe điện thoại) | +0.60 th | |
| 15 tháng | LS_015_5 |
Biết chỉ tay vào đồ vật kết hợp phát âm để xin phép/yêu cầu | +0.60 th | |
| 18 tháng | LS_018_1 |
Vốn từ đơn đạt từ 10 - 15 từ trở lên | +0.60 th | |
| 18 tháng | LS_018_2 |
Chỉ đúng 2 - 3 bộ phận cơ thể khi được hỏi ("Mắt đâu?", "Mũi đâu?", "Tai đâu?") | +0.60 th | |
| 18 tháng | LS_018_3 |
Chỉ đúng ít nhất 1 - 2 bức tranh đồ vật quen thuộc trên bảng tranh KSPD (Chó, Xe, Giày...) | +0.60 th | |
| 18 tháng | LS_018_4 |
Chơi giả vờ với búp bê (cho búp bê ăn bột, bế ru búp bê ngủ) | +0.60 th | |
| 18 tháng | LS_018_5 |
Dùng lời nói hoặc cử chỉ gật đầu khi muốn xin thêm | +0.60 th | |
| 21 tháng | LS_021_1 |
Bắt đầu kết hợp 2 từ thành cụm từ có nghĩa ("Mẹ bế", "Đi chơi", "Uống sữa") | +0.60 th | |
| 21 tháng | LS_021_2 |
Chỉ đúng 4 bộ phận cơ thể khi được hỏi bằng lời | +0.60 th | |
| 21 tháng | LS_021_3 |
Chỉ đúng 3 - 4 bức tranh đồ vật trên thẻ tranh chuẩn khi hỏi "Cái gì đây/ở đâu?" | +0.60 th | |
| 21 tháng | LS_021_4 |
Thực hiện đúng 2 mệnh lệnh liên tiếp với quả bóng ("Đưa bóng cho mẹ, đưa cho cô") | +0.60 th | |
| 21 tháng | LS_021_5 |
Bắt chước nói lại ngay các từ mới nghe người lớn nói | +0.60 th | |
| 24 tháng | LS_024_1 |
Nói câu 2 - 3 từ thường xuyên để diễn đạt nhu cầu và nhận xét sự việc | +0.60 th | |
| 24 tháng | LS_024_2 |
Chỉ đúng 5 - 6 bức tranh đồ vật trên bảng tranh KSPD và gọi tên đúng ít nhất 3 tranh | +0.60 th | |
| 24 tháng | LS_024_3 |
Xưng tên của mình hoặc dùng đại từ "Con" khi nói chuyện | +0.60 th | |
| 24 tháng | LS_024_4 |
Hiểu và thực hiện 3 yêu cầu khác nhau với đồ vật (Đặt lên bàn, đưa cho mẹ, cất vào hộp) | +0.60 th | |
| 24 tháng | LS_024_5 |
Chơi giả vờ nối tiếp 2 hành động (múc thức ăn rồi đút cho gấu bông) | +0.60 th | |
| 30 tháng | LS_030_1 |
Gọi tên chính xác 5 - 6 bức tranh đồ vật quen thuộc trên thẻ tranh KSPD | +1.20 th | |
| 30 tháng | LS_030_2 |
Hiểu câu hỏi về công dụng đồ vật ("Cái gì dùng để uống nước?", "Cái gì dùng để đi vào chân?") - Đạt >= 3/5 | +1.20 th | |
| 30 tháng | LS_030_3 |
Nói được họ và tên đầy đủ của bản thân khi được hỏi | +1.20 th | |
| 30 tháng | LS_030_4 |
Sử dụng đúng đại từ nhân xưng "Con - Mẹ / Cô" trong câu nói 3 - 4 từ | +1.20 th | |
| 30 tháng | LS_030_5 |
Biết chờ đến lượt trong trò chơi luân phiên với người đánh giá | +1.20 th | |
| 36 tháng | LS_036_1 |
Trả lời đúng giới tính của bản thân ("Con là bé trai hay bé gái?") | +1.20 th | |
| 36 tháng | LS_036_2 |
Hiểu khái niệm giới từ không gian: Đặt khối gỗ TRÊN, DƯỚI, TRƯỚC, SAU, TRONG chiếc hộp (Đạt >= 3/4) | +1.20 th | |
| 36 tháng | LS_036_3 |
Trả lời câu hỏi tình huống sinh hoạt ("Khi đói bụng con làm gì?", "Khi buồn ngủ con làm gì?") | +1.20 th | |
| 36 tháng | LS_036_4 |
Lặp lại chính xác câu gồm 6 - 7 âm tiết hoặc chuỗi 3 chữ số (VD: "4 - 7 - 2") | +1.20 th | |
| 36 tháng | LS_036_5 |
Nhận biết và gọi tên đúng ít nhất 2 - 3 màu sắc cơ bản (Đỏ, Vàng, Xanh) | +1.20 th | |
| 42 tháng | LS_042_1 |
Hiểu và trả lời câu hỏi "Tại sao?" và "Khi nào?" trong sinh hoạt hàng ngày | +1.20 th | |
| 42 tháng | LS_042_2 |
Mô tả được các hành động đang diễn ra trong bức tranh tình huống (Em bé đang làm gì?) | +1.20 th | |
| 42 tháng | LS_042_3 |
Gọi tên đúng 4 màu sắc cơ bản (Đỏ, Xanh dương, Vàng, Xanh lá) | +1.20 th | |
| 42 tháng | LS_042_4 |
Phân biệt khái niệm đối lập: To - Nhỏ, Dài - Ngắn, Nhiều - Ít | +1.20 th | |
| 42 tháng | LS_042_5 |
Chơi phối hợp theo nhóm nhỏ với trẻ khác, biết chia sẻ đồ chơi | +1.20 th | |
| 48 tháng | LS_048_1 |
Trả lời đúng câu hỏi xử lý tình huống ("Khi bị đứt tay chảy máu con làm gì?", "Khi trời mưa chuẩn bị đi ra ngoài thì làm sao?") | +1.20 th | |
| 48 tháng | LS_048_2 |
Nhắc lại chính xác chuỗi 4 chữ số ngẫu nhiên (VD: "3 - 8 - 1 - 6") | +1.20 th | |
| 48 tháng | LS_048_3 |
Hiểu và giải thích điểm giống nhau/khác nhau cơ bản giữa 2 sự vật (Con chim và Con chó) | +1.20 th | |
| 48 tháng | LS_048_4 |
Kể lại được một sự việc vừa xảy ra hoặc một đoạn truyện ngắn có đầu có cuối | +1.20 th | |
| 48 tháng | LS_048_5 |
Tự mặc quần áo, cài cúc áo to và đi giày không cần giúp | +1.20 th | |
| 54 tháng | LS_054_1 |
Định nghĩa được ít nhất 4 - 5 từ vựng quen thuộc theo công dụng hoặc đặc điểm (Cái mũ, Quả táo, Cái bàn...) | +1.20 th | |
| 54 tháng | LS_054_2 |
Phân biệt đúng tay Phải và tay Trái của chính mình | +1.20 th | |
| 54 tháng | LS_054_3 |
Hiểu các khái niệm thời gian: Sáng, Trưa, Tối, Hôm qua, Ngày mai | +1.20 th | |
| 54 tháng | LS_054_4 |
Thực hiện chuỗi 3 mệnh lệnh nối tiếp nhau theo đúng thứ tự yêu cầu | +1.20 th | |
| 54 tháng | LS_054_5 |
Tuân thủ luật chơi trong các trò chơi có quy tắc thắng - thua | +1.20 th | |
| 60 tháng | LS_060_1 |
Trả lời đầy đủ: Họ tên, Tuổi, Địa chỉ nhà (hoặc tên trường lớp) và tên bố mẹ | +1.20 th | |
| 60 tháng | LS_060_2 |
Tìm từ trái nghĩa chính xác ("Anh trai là con trai, chị gái là...", "Mùa hè thì nóng, mùa đông thì...") - Đạt >= 3/4 | +1.20 th | |
| 60 tháng | LS_060_3 |
Lặp lại chính xác câu dài 10 - 12 âm tiết không bỏ sót từ | +1.20 th | |
| 60 tháng | LS_060_4 |
Giải thích ý nghĩa tình huống xã hội và cảm xúc của nhân vật trong tranh | +1.20 th | |
| 60 tháng | LS_060_5 |
Đếm xuôi từ 1 đến 20 và biết đếm ngược từ 10 về 1 | +1.20 th | |
| 66 tháng | LS_066_1 |
Nêu điểm giống nhau về bản chất giữa 2 sự vật (Chuối và Táo; Tàu hỏa và Ô tô) | +1.50 th | |
| 66 tháng | LS_066_2 |
Nêu được các ngày trong tuần theo đúng thứ tự (Thứ Hai đến Chủ Nhật) | +1.50 th | |
| 66 tháng | LS_066_3 |
Nhắc lại chuỗi 5 chữ số xuôi và chuỗi 3 chữ số ngược | +1.50 th | |
| 66 tháng | LS_066_4 |
Hiểu các câu nói đùa hoặc câu đố chữ đơn giản phù hợp lứa tuổi | +1.50 th | |
| 72 tháng | LS_072_1 |
Định nghĩa từ vựng theo phân loại khái niệm cấp trên (VD: Chó là động vật nuôi 4 chân...) | +1.50 th | |
| 72 tháng | LS_072_2 |
Phân biệt tay Phải và tay Trái của người ngồi đối diện mình | +1.50 th | |
| 72 tháng | LS_072_3 |
Giải bài toán đố bằng lời trong phạm vi 10 (Có 8 cái kẹo, cho bạn 3 cái còn mấy cái?) | +1.50 th | |
| 72 tháng | LS_072_4 |
Giải thích hợp lý tại sao cần phải tuân thủ các quy tắc xã hội (Tại sao không được lấy đồ của người khác?) | +1.50 th | |
| 84 tháng | LS_084_1 |
Tìm điểm giống nhau và khác nhau đồng thời giữa hai khái niệm (Gỗ và Sắt; Nước và Đá) | +3.00 th | |
| 84 tháng | LS_084_2 |
Kể tên các tháng trong năm và các mùa tương ứng | +3.00 th | |
| 84 tháng | LS_084_3 |
Nhắc lại chuỗi 4 chữ số theo thứ tự ngược lại (Backward Digit Span) | +3.00 th | |
| 84 tháng | LS_084_4 |
Đọc hiểu một đoạn văn ngắn 4 câu và trả lời đúng 3 câu hỏi chi tiết | +3.00 th | |
| 96 tháng | LS_096_1 |
Giải thích sự vô lý bằng lời (Verbal Absurdities): Phát hiện mâu thuẫn logic trong câu chuyện ngắn | +3.00 th | |
| 96 tháng | LS_096_2 |
Tính nhẩm tiền thừa khi mua hàng trong tình huống giả định (Mua bánh 3.000đ, đưa 10.000đ) | +3.00 th | |
| 96 tháng | LS_096_3 |
Sắp xếp các từ bị xáo trộn thành một câu hoàn chỉnh đúng ngữ pháp và ngữ nghĩa | +3.00 th | |
| 96 tháng | LS_096_4 |
Hiểu nghĩa bóng của câu thành ngữ/tục ngữ đơn giản | +3.00 th | |
| 108 tháng | LS_108_1 |
Giải thích các khái niệm trừu tượng (Lòng dũng cảm, Sự công bằng, Lòng biết ơn) | +4.00 th | |
| 108 tháng | LS_108_2 |
Nhắc lại chuỗi 6 chữ số xuôi và 4 - 5 chữ số ngược | +4.00 th | |
| 108 tháng | LS_108_3 |
Tóm tắt ý chính và bài học rút ra từ một câu chuyện ngụ ngôn | +4.00 th | |
| 120 tháng | LS_120_1 |
Tìm điểm tương đồng trừu tượng giữa 3 sự vật cùng lúc (Rắn - Bò - Chim sẻ) | +4.00 th | |
| 120 tháng | LS_120_2 |
Điền từ liên kết logic (Tuy... nhưng..., Nếu... thì...) vào đoạn văn khuyết | +4.00 th | |
| 120 tháng | LS_120_3 |
Giải bài toán đố hai phép tính liên tiếp bằng tính nhẩm | +4.00 th | |
| 132 tháng | LS_132_1 |
Phân tích nguyên nhân - hệ quả xã hội của các quy định pháp luật/nhà trường | +4.00 th | |
| 132 tháng | LS_132_2 |
Định nghĩa từ vựng học thuật cấp độ trung học cơ sở | +4.00 th | |
| 132 tháng | LS_132_3 |
Nhắc lại chuỗi 5 chữ số theo thứ tự ngược lại | +4.00 th | |
| 144 tháng | LS_144_1 |
Giải thích ý nghĩa ẩn dụ sâu sắc của các câu tục ngữ/ngạn ngữ cổ điển | +6.00 th | |
| 144 tháng | LS_144_2 |
Tái lập lập luận logic từ một đoạn văn bản khoa học ngắn | +6.00 th | |
| 156 tháng | LS_156_1 |
Tư duy ngôn ngữ khái quát hóa, tranh biện đa chiều và suy luận đạo đức xã hội cấp cao | +12.00 th |
1. Dữ liệu tổng quan và Lịch sử Việt hóa của Thang Kyoto (KSPD)
-
Nguồn gốc: Được khởi xướng bởi Giáo sư Masako Ikuzawa và cộng sự tại Nhật Bản từ năm 1954 (dựa trên nền tảng thang Gesell), sửa đổi mở rộng năm 1982 và hai phiên bản chuẩn hóa lớn gần nhất là KSPD 2001 và KSPD 2020.
-
Quá trình đưa vào Việt Nam: Ngay từ năm 2002, phiên bản KSPD 2001 (Vietnamese Version) đã được nhóm tác giả Nhật Bản (Ikuzawa, Matsushita, Nakase) phối hợp với Trung tâm Giao lưu Phúc lợi Xã hội Quốc tế Kyoto chuyển giao chính thức sang Việt Nam. Hiện nay, các trường như ĐH Sư phạm Hà Nội, ĐH Giáo dục (ĐHQGHN), các trung tâm thuộc Hội Khoa học Tâm lý – Giáo dục Việt Nam và nhiều bệnh viện vẫn đào tạo và sử dụng bộ công cụ này rất phổ biến.
-
Độ tuổi áp dụng: Từ sơ sinh (0 tháng tuổi) đến người trưởng thành (thực tế lâm sàng tại Việt Nam dùng nhiều nhất cho nhóm 0 – 13 tuổi, đặc biệt là trẻ từ 1 – 6 tuổi chưa thể làm các bài test IQ chuẩn như WISC).
-
Số lượng tiểu mục: Khoảng 328 mục (items) thử nghiệm tương tác trực tiếp bằng bộ giáo cụ chuẩn (khối gỗ,tranh ảnh, bảng ghép hình, chuông, hộp…) kết hợp quan sát hành vi.
2. Cấu trúc 3 lĩnh vực và Công thức tính điểm của KSPD
Thang Kyoto đánh giá đứa trẻ qua 3 lĩnh vực (Domains) cốt lõi. Khi áp dụng trên trẻ Rối loạn phổ tự kỷ (ASD), sự chênh lệch điểm số giữa 3 lĩnh vực này tạo ra một “đồ thị hình răng cưa” rất đặc trưng:
| Lĩnh vực đánh giá | Ký hiệu | Nội dung kiểm tra | Đặc điểm thường gặp ở trẻ Tự kỷ (ASD) |
|
1. Tư thế – Vận động
(Postural – Motor) |
P-M | Kiểm soát đầu cổ, lẫy, bò, đi, chạy, nhảy, thăng bằng vận động thô. | Điểm P-M thường cao nhất, gần tương đương hoặc chỉ chậm nhẹ so với tuổi thực. |
|
2. Nhận thức – Thích ứng
(Cognitive – Adaptive) |
C-A | Vận động tinh, phối hợp tay – mắt, xếp khối, ghép hình, phân biệt hình khối/màu sắc, giải quyết vấn đề phi ngôn ngữ. | Điểm C-A ở mức trung bình hoặc khá (nhiều trẻ tự kỷ làm rất tốt các bài ghép hình, xếp khối thị giác không gian). |
|
3. Ngôn ngữ – Xã hội
(Language – Social) |
L-S | Hiểu lời nói, diễn đạt ngôn ngữ, bắt chước xã hội, giao tiếp mắt, tương tác với người đánh giá, hiểu quy tắc xã hội. | Điểm L-S thường sụt giảm sâu nhất. Độ lệch giữa và càng lớn thì dấu hiệu rối loạn giao tiếp xã hội càng rõ. |
Công thức tính Chỉ số phát triển (DQ – Developmental Quotient)
Với từng lĩnh vực (P-M, C-A, L-S) và Tổng thể (Overall), chuyên gia sẽ xác định được Tuổi phát triển (DA – Developmental Age) tính theo tháng hoặc ngày, sau đó chia cho Tuổi thực (CA – Chronological Age):
Bảng phân loại mức độ phát triển theo chỉ số DQ tại Việt Nam:
-
DQ>115: Phát triển tốt / Vượt chuẩn
-
DQ=85−115: Phát triển bình thường
-
DQ=70−84: Chậm phát triển mức độ nhẹ (hoặc ranh giới)
-
DQ=55−69: Chậm phát triển mức độ trung bình
-
DQ=40−54: Chậm phát triển mức độ nặng
-
DQ<40: Chậm phát triển mức độ rất nặng
[Đo lường IQ] WPPSI-IV: Thang đo trí tuệ Wechsler dành cho trẻ mẫu giáo và đầu tiểu học (2 – 7 tuổi)
(function() { const host = document.getElementById('wppsi4-wp-host'); if (!host) return; const placeholder = document.createComment('wppsi4-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // Cấu hình 5 Chỉ số Chính (Primary Index Scales) của WPPSI-IV const indexConfigs = { vci: { code: 'vci', short: 'VCI', name: '1. Hiểu Lời nói (Verbal Comprehension - VCI)', color: '#2563eb' }, vsi: { code: 'vsi', short: 'VSI', name: '2. Không gian Thị giác (Visual Spatial - VSI)', color: '#0d9488' }, fri: { code: 'fri', short: 'FRI', name: '3. Tư duy Lưu loát / Logic (Fluid Reasoning - FRI)', color: '#7c3aed' }, wmi: { code: 'wmi', short: 'WMI', name: '4. Trí nhớ Làm việc (Working Memory - WMI)', color: '#f59e0b' }, psi: { code: 'psi', short: 'PSI', name: '5. Tốc độ Xử lý (Processing Speed - PSI)', color: '#dc2626' } }; // ========================================================= // DẢI TUỔI 1: 2 TUỔI 6 THÁNG - 3 TUỔI 11 THÁNG (30 - 47 THÁNG • 7 TIỂU TRẮC NGHIỆM) // ========================================================= const bandYoungSubtests = [ { id: 'RV', idx: 'vci', role: '★ Tính VCI, FSIQ, GAI & VAI', name: '1. Từ vựng Tiếp nhận (Receptive Vocabulary - RV) ★', desc: 'Trẻ nhìn vào 4 bức tranh trên một trang sách và chỉ tay vào bức tranh đúng với từ vựng mà người khám vừa đọc to.', measure: 'Đo lường vốn từ vựng nghe hiểu và khả năng tiếp thu ngôn ngữ sớm (không yêu cầu trẻ phải nói).' }, { id: 'IN', idx: 'vci', role: '★ Tính VCI, FSIQ & GAI', name: '2. Thông tin (Information - IN) ★', desc: 'Ở các câu đầu trẻ chỉ tay chọn tranh; ở các câu sau trẻ trả lời bằng lời các câu hỏi về kiến thức chung xung quanh (bộ phận cơ thể, công dụng đồ vật, con vật).', measure: 'Đo lường khả năng thu nhận, lưu giữ và truy xuất kiến thức thực tế từ môi trường.' }, { id: 'PN', idx: 'vci', role: 'Bổ sung (Tính Chỉ số Tiếp thu Từ vựng VAI)', name: '3. Gọi tên Tranh (Picture Naming - PN) [Thuộc VAI]', desc: 'Trẻ nhìn từng bức tranh đồ vật/con vật quen thuộc trong sách kích thích và gọi đúng tên của sự vật đó.', measure: 'Đo lường vốn từ vựng diễn đạt (Expressive Vocabulary) và khả năng truy xuất từ ngữ.' }, { id: 'BD', idx: 'vsi', role: '★ Tính VSI, FSIQ, GAI & NVI', name: '4. Xếp khối (Block Design - BD) ★', desc: 'Trẻ dùng các khối gỗ 1 màu hoặc 2 màu (Đỏ - Trắng) để xếp lại đúng theo mô hình mẫu người khám vừa làm hoặc theo hình in trong sách.', measure: 'Đo lường khả năng phân tích – tổng hợp không gian thị giác và phối hợp mắt – tay.' }, { id: 'OA', idx: 'vsi', role: '★ Tính VSI, FSIQ, GAI & NVI', name: '5. Lắp ghép Đồ vật (Object Assembly - OA) ★', desc: 'Trẻ được trao các mảnh ghép cắt rời (từ 2 đến 5 mảnh) và phải xoay, ghép chúng lại thành một hình đồ vật/con vật hoàn chỉnh trong thời gian quy định.', measure: 'Đo lường khả năng tổng hợp toàn thể thị giác từ các bộ phận rời rạc (Visual-Spatial Closure).' }, { id: 'PM', idx: 'wmi', role: '★ Tính WMI, FSIQ & NVI', name: '6. Nhớ Tranh ảnh (Picture Memory - PM) ★', desc: 'Trẻ nhìn một trang có 1 hoặc nhiều hình vẽ trong 3–5 giây, sau đó lật sang trang sau có nhiều hình gây nhiễu và chỉ tay vào đúng các hình vừa nhìn thấy.', measure: 'Đo lường trí nhớ làm việc thị giác ngắn hạn và sự tập trung chú ý (100% không cần lời nói).' }, { id: 'ZL', idx: 'wmi', role: '★ Tính WMI & NVI', name: '7. Vị trí Vườn thú (Zoo Locations - ZL) ★', desc: 'Trẻ nhìn các thẻ hình con thú được đặt vào các ô chuồng trên tấm lưới trong vài giây, sau đó người khám cất đi và trẻ phải đặt lại đúng từng con thú vào đúng ô vị trí của nó.', measure: 'Đo lường trí nhớ làm việc không gian – thị giác (Visual-Spatial Working Memory).' } ]; // ========================================================= // DẢI TUỔI 2: 4 TUỔI 0 THÁNG - 7 TUỔI 7 THÁNG (48 - 91 THÁNG • 10 TIỂU TRẮC NGHIỆM) // ========================================================= const bandOldSubtests = [ { id: 'IN', idx: 'vci', role: '★ Tính VCI, FSIQ & GAI', name: '1. Thông tin (Information - IN) ★', desc: 'Trẻ trả lời các câu hỏi về kiến thức tự nhiên, xã hội, số lượng, thời gian và chức năng sự vật phù hợp lứa tuổi mẫu giáo lớn – lớp 1, lớp 2.', measure: 'Đo lường vốn kiến thức tích lũy và trí nhớ dài hạn về ngôn ngữ.' }, { id: 'SI', idx: 'vci', role: '★ Tính VCI, FSIQ & GAI', name: '2. Tương đồng (Similarities - SI) ★', desc: 'Ở các câu đầu trẻ chọn tranh có chung đặc điểm; ở các câu sau trẻ giải thích bằng lời xem hai khái niệm giống nhau ở điểm bản chất nào.', measure: 'Đo lường tư duy hình thành khái niệm bằng lời và suy luận trừu tượng ngôn ngữ.' }, { id: 'BD', idx: 'vsi', role: '★ Tính VSI, FSIQ, GAI & NVI', name: '3. Xếp khối (Block Design - BD) ★', desc: 'Trẻ sử dụng các khối lập phương hai màu Đỏ - Trắng để xếp thành các mẫu hình học phức tạp dần trong giới hạn thời gian.', measure: 'Đo lường tư duy không gian 2D/3D (Thường là đỉnh thế mạnh vượt trội ở trẻ Tự kỷ - ASD).' }, { id: 'OA', idx: 'vsi', role: '★ Tính VSI', name: '4. Lắp ghép Đồ vật (Object Assembly - OA) ★', desc: 'Trẻ ghép các mảnh rời không có khung viền sẵn để tạo thành hình hoàn chỉnh có nghĩa.', measure: 'Đo lường khả năng tích hợp thị giác – vận động và nhận diện cấu trúc tổng thể.' }, { id: 'MR', idx: 'fri', role: '★ Tính FRI, FSIQ, GAI & NVI', name: '5. Ma trận Suy luận (Matrix Reasoning - MR) ★', desc: 'Trẻ quan sát một ma trận hình ảnh bị khuyết một ô và chỉ tay chọn mảnh ghép đúng quy luật logic từ các phương án bên dưới.', measure: 'Đo lường trí thông minh lưu loát (Fluid Intelligence) và suy luận quy nạp phi ngôn ngữ.' }, { id: 'PC', idx: 'fri', role: '★ Tính FRI & NVI', name: '6. Khái niệm Hình ảnh (Picture Concepts - PC) ★', desc: 'Trẻ nhìn 2 hoặc 3 hàng tranh ảnh và phải chọn ra từ mỗi hàng đúng 1 bức tranh sao cho chúng có cùng một đặc điểm/khái niệm chung với nhau.', measure: 'Đo lường khả năng phân loại khái niệm trừu tượng và suy luận tương quan mà không cần nói.' }, { id: 'PM', idx: 'wmi', role: '★ Tính WMI, FSIQ, CPI & NVI', name: '7. Nhớ Tranh ảnh (Picture Memory - PM) ★', desc: 'Trẻ ghi nhớ nhanh một nhóm các bức tranh trên trang kích thích rồi chỉ lại các bức tranh đó trên trang đáp án có nhiều hình gây nhiễu.', measure: 'Đo lường trí nhớ làm việc thị giác và khả năng kháng nhiễu.' }, { id: 'ZL', idx: 'wmi', role: '★ Tính WMI & CPI', name: '8. Vị trí Vườn thú (Zoo Locations - ZL) ★', desc: 'Trẻ ghi nhớ vị trí tọa độ của nhiều thẻ hình con vật trên sơ đồ chuồng thú và đặt lại chính xác từng thẻ.', measure: 'Đo lường dung lượng trí nhớ làm việc không gian.' }, { id: 'BS', idx: 'psi', role: '★ Tính PSI, FSIQ, CPI & NVI', name: '9. Tìm Bọ — Đóng dấu mực (Bug Search - BS) ★', desc: 'Trong vòng 120 giây, trẻ cầm bút đóng dấu mực (Ink Dauber) chấm thật nhanh vào con bọ trong nhóm 5 con bên phải khớp với con bọ mẫu bên trái.', measure: 'Đo lường tốc độ quét phân biệt thị giác và ra quyết định nhanh (không bị cản trở bởi kỹ năng cầm bút chì).' }, { id: 'CA', idx: 'psi', role: '★ Tính PSI & CPI', name: '10. Gạch bỏ Hình — Đóng dấu mực (Cancellation - CA) ★', desc: 'Trong vòng 45 giây cho mỗi trang (1 trang lộn xộn và 1 trang xếp theo hàng), trẻ dùng bút đóng dấu mực chấm chọn tất cả các hình thuộc nhóm "Quần áo" nằm lẫn giữa các đồ vật khác.', measure: 'Đo lường tốc độ xử lý thị giác, chú ý có chọn lọc và phân loại danh mục nhanh.' } ]; let activeBand = 'old'; // 'young' (2:6 - 3:11) | 'old' (4:0 - 7:7) let filterIdx = 'all'; // Lưu Scaled Score (1..19, Mean = 10, SD = 3) let ssYoung = { RV: 10, IN: 10, PN: 10, BD: 10, OA: 10, PM: 10, ZL: 10 }; let ssOld = { IN: 10, SI: 10, BD: 10, OA: 10, MR: 10, PC: 10, PM: 10, ZL: 10, BS: 10, CA: 10 }; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .wp-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } .wp-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .wp-inner { padding: 24px; max-width: 980px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .wp-wrap.is-fullscreen .wp-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .wp-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(124, 58, 237, 0.45), 0 0 0 0 rgba(124, 58, 237, 0.4); } 70% { box-shadow: 0 6px 20px rgba(124, 58, 237, 0.45), 0 0 0 10px rgba(124, 58, 237, 0); } 100% { box-shadow: 0 6px 20px rgba(124, 58, 237, 0.45), 0 0 0 0 rgba(124, 58, 237, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #6d28d9 0%, #7c3aed 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(124, 58, 237, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Bộ chuyển đổi 2 Dải Độ Tuổi WPPSI-IV */ .band-switcher { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; background: #f1f5f9; padding: 10px; border-radius: 12px; margin-bottom: 18px; } .band-btn { padding: 12px 14px; border-radius: 9px; border: 2px solid transparent; background: rgba(255, 255, 255, 0.7); cursor: pointer; text-align: left; transition: all 0.2s ease; touch-action: manipulation; } .band-btn:hover { background: #ffffff; } .band-btn.active { background: #ffffff; border-color: #7c3aed; box-shadow: 0 3px 10px rgba(15, 23, 42, 0.08); } .band-btn-title { font-size: 14.5px; font-weight: 800; color: #0f172a; display: block; } .band-btn.active .band-btn-title { color: #6d28d9; } .band-btn-sub { font-size: 12px; color: #64748b; margin-top: 3px; display: block; } .wp-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .wp-header-text { flex: 1 1 260px; } .wp-title { font-size: 20px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .wp-desc { font-size: 13.8px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #f5f3ff; color: #6d28d9; border: 1px solid #ddd6fe; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #7c3aed; color: #ffffff; border-color: #7c3aed; } .wp-controls { display: flex; flex-direction: column; gap: 10px; margin-bottom: 18px; } .wp-presets { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; } .wp-preset-lbl { font-size: 12.5px; font-weight: 700; color: #475569; margin-right: 4px; } .wp-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; touch-action: manipulation; } .wp-pbtn:hover { background: #f1f5f9; } .wp-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } .wp-sub-tabs { display: flex; flex-wrap: wrap; gap: 6px; } .wp-stab { padding: 6px 11px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .wp-stab.active { background: #7c3aed; color: #ffffff; border-color: #7c3aed; } /* Sticky Dashboard */ .wp-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .wp-wrap.is-fullscreen .wp-dash { top: 58px; } .wp-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .wp-score-big { font-size: 20px; font-weight: 800; line-height: 1.25; } .wp-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .wp-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .wp-pillars { display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; font-size: 11.5px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .wp-pillar-box { background: #1e293b; padding: 7px 9px; border-radius: 8px; border-left: 3px solid #475569; } .wp-pillar-box.high { border-left-color: #3b82f6; background: rgba(59, 130, 246, 0.15); } .wp-pillar-box.avg { border-left-color: #10b981; } .wp-pillar-box.low { border-left-color: #f59e0b; background: rgba(245, 158, 11, 0.14); } .wp-pillar-box.imp { border-left-color: #ef4444; background: rgba(239, 68, 68, 0.16); } .wp-pillar-val { font-weight: 800; color: #ffffff; font-size: 13.5px; display: block; margin-top: 2px; } /* Danh sách Tiểu trắc nghiệm */ .wp-item { border: 1px solid #e2e8f0; border-radius: 12px; padding: 15px 16px; margin-bottom: 12px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 8px; } .wp-item.ss-high { border-color: #93c5fd; background: #eff6ff; } .wp-item.ss-avg { border-color: #a7f3d0; background: #f0fdf4; } .wp-item.ss-low { border-color: #fde68a; background: #fffbeb; } .wp-item.ss-imp { border-color: #fca5a5; background: #fff5f5; } .wp-item-title { font-size: 15px; font-weight: 800; color: #0f172a; } .wp-item-desc { font-size: 13.5px; color: #334155; } .wp-item-meas { font-size: 12.5px; color: #475569; background: rgba(15, 23, 42, 0.03); padding: 6px 10px; border-radius: 6px; border-left: 3px solid #94a3b8; } .wp-tags { display: flex; flex-wrap: wrap; gap: 6px; } .wp-tag { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .wp-scale-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 6px; margin-top: 4px; } .wp-sbtn { padding: 8px 4px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .wp-sbtn:hover { border-color: #64748b; } .wp-sbtn-num { font-size: 13px; font-weight: 800; display: block; color: #0f172a; } .wp-sbtn-lbl { font-size: 10.5px; color: #64748b; display: block; margin-top: 1px; } .wp-sbtn.sel-imp { background: #ef4444; border-color: #ef4444; } .wp-sbtn.sel-low { background: #f59e0b; border-color: #f59e0b; } .wp-sbtn.sel-avg { background: #10b981; border-color: #10b981; } .wp-sbtn.sel-high { background: #2563eb; border-color: #2563eb; } .wp-sbtn.sel-imp .wp-sbtn-num, .wp-sbtn.sel-imp .wp-sbtn-lbl, .wp-sbtn.sel-low .wp-sbtn-num, .wp-sbtn.sel-low .wp-sbtn-lbl, .wp-sbtn.sel-avg .wp-sbtn-num, .wp-sbtn.sel-avg .wp-sbtn-lbl, .wp-sbtn.sel-high .wp-sbtn-num, .wp-sbtn.sel-high .wp-sbtn-lbl { color: #ffffff; } /* Bảng báo cáo */ .wp-table-card { margin-top: 20px; padding: 16px 18px; border-radius: 12px; background: #ffffff; border: 1px solid #e2e8f0; overflow-x: auto; } .wp-table { width: 100%; border-collapse: collapse; font-size: 13px; min-width: 640px; } .wp-table th, .wp-table td { border: 1px solid #cbd5e1; padding: 8px 10px; text-align: center; } .wp-table th { background: #f1f5f9; font-weight: 800; color: #0f172a; } .wp-result-box { margin-top: 16px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #7c3aed; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 780px) { .wp-inner { padding: 14px; } .band-switcher { grid-template-columns: 1fr; } .wp-title { font-size: 18px; } .wp-pillars { grid-template-columns: 1fr 1fr; } .wp-scale-grid { grid-template-columns: repeat(4, 1fr); } .wp-pbtn.reset { margin-left: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
| Thang Chỉ số WPPSI-IV (Index Scale) | Các Tiểu trắc nghiệm cấu thành | Tổng Scaled Scores | Điểm Chuẩn (Composite: 40–160) | Bách phân vị (Percentile) | Phân loại Chuẩn Wechsler |
|---|
1. Thang Đo WPPSI-IV Dải Tuổi Nhỏ: 2 Tuổi 6 Tháng – 3 Tuổi 11 Tháng (7 Tiểu Trắc Nghiệm)
' + '' + 'Thiết kế tối ưu cho trẻ mẫu giáo nhỏ (30 – 47 tháng): đánh giá 3 Chỉ số Chính (Hiểu Lời nói VCI, Không gian Thị giác VSI, Trí nhớ Làm việc WMI), IQ Toàn thang (FSIQ) cùng Chỉ số Tiếp thu Từ vựng (VAI) và Chỉ số Phi ngôn ngữ (NVI).' + '
'; subTabs.innerHTML = '' + '' + '' + ''; } else { headerInfo.innerHTML = '2. Thang Đo WPPSI-IV Dải Tuổi Lớn: 4 Tuổi 0 Tháng – 7 Tuổi 7 Tháng (10 Tiểu Trắc Nghiệm)
' + '' + 'Đánh giá cấu trúc nhận thức hoàn chỉnh cho trẻ mẫu giáo lớn & đầu tiểu học (48 – 91 tháng) qua 5 Chỉ số Chính (VCI, VSI, FRI, WMI, PSI dùng bút đóng dấu mực Ink Dauber), FSIQ và 3 Chỉ số Phụ (NVI, GAI, CPI).' + '
'; subTabs.innerHTML = '' + '' + '' + '' + '' + ''; } subTabs.querySelectorAll('.wp-stab').forEach(tab => { tab.onclick = function() { filterIdx = this.getAttribute('data-idx'); subTabs.querySelectorAll('.wp-stab').forEach(t => t.classList.remove('active')); this.classList.add('active'); renderItems(); }; }); } function renderItems() { itemList.innerHTML = ''; const list = (activeBand === 'young') ? bandYoungSubtests : bandOldSubtests; const store = (activeBand === 'young') ? ssYoung : ssOld; list.forEach(function(st) { if (filterIdx !== 'all' && st.idx !== filterIdx) return; const uSS = (store[st.id] !== undefined) ? store[st.id] : 10; const iCfg = indexConfigs[st.idx]; let rowCls = 'wp-item '; if (uSS >= 13) rowCls += 'ss-high'; else if (uSS >= 8) rowCls += 'ss-avg'; else if (uSS >= 6) rowCls += 'ss-low'; else rowCls += 'ss-imp'; const btnsHtml = ssSteps.map(step => { const cls = 'wp-sbtn' + (uSS === step.val ? ' ' + step.cls : ''); return ( '' ); }).join(''); const el = document.createElement('div'); el.className = rowCls; el.innerHTML = '' + '' + '• 2. Đánh giá Chỉ số Tiếp thu Từ vựng (VAI = ' + compVAI + '): So sánh giữa Từ vựng Tiếp nhận (RV = ' + s.RV + ') và Gọi tên Tranh (PN = ' + s.PN + ') giúp định hướng mục tiêu can thiệp Âm ngữ trị liệu.'; } else { // DẢI TUỔI LỚN: 4:0 - 7:7 const s = ssOld; const sumVCI = s.IN + s.SI; const sumVSI = s.BD + s.OA; const sumFRI = s.MR + s.PC; const sumWMI = s.PM + s.ZL; const sumPSI = s.BS + s.CA; const sumFSIQ = s.IN + s.SI + s.BD + s.MR + s.PM + s.BS; // 6 bài tính FSIQ ở dải 4:0-7:7 const sumGAI = s.IN + s.SI + s.BD + s.MR; const sumCPI = s.PM + s.ZL + s.BS + s.CA; const sumNVI = s.BD + s.MR + s.PC + s.PM + s.BS; const compVCI = calcCompositeFromSS(sumVCI, 2); const compVSI = calcCompositeFromSS(sumVSI, 2); const compFRI = calcCompositeFromSS(sumFRI, 2); const compWMI = calcCompositeFromSS(sumWMI, 2); const compPSI = calcCompositeFromSS(sumPSI, 2); const compFSIQ = calcCompositeFromSS(sumFSIQ, 6); const compGAI = calcCompositeFromSS(sumGAI, 4); const compCPI = calcCompositeFromSS(sumCPI, 4); const compNVI = calcCompositeFromSS(sumNVI, 5); const cVCI = classifyWechsler(compVCI); const cVSI = classifyWechsler(compVSI); const cFRI = classifyWechsler(compFRI); const cWMI = classifyWechsler(compWMI); const cPSI = classifyWechsler(compPSI); const cFSIQ = classifyWechsler(compFSIQ); const cGAI = classifyWechsler(compGAI); const cCPI = classifyWechsler(compCPI); const cNVI = classifyWechsler(compNVI); const nviVciGap = compNVI - compVCI; const gaiCpiGap = compGAI - compCPI; dashHeadline.textContent = 'WPPSI-IV (4:0–7:7) — FSIQ: ' + compFSIQ + ' • Phi Ngôn Ngữ (NVI): ' + compNVI + ' • Năng Lực Chung (GAI): ' + compGAI; dashSub.textContent = 'Hiệu suất Nhận thức (CPI): ' + compCPI + ' • Độ lệch NVI - VCI: ' + (nviVciGap >= 0 ? '+' : '') + nviVciGap + ' điểm • Độ lệch GAI - CPI: ' + (gaiCpiGap >= 0 ? '+' : '') + gaiCpiGap + ' điểm'; dashPillars.style.gridTemplateColumns = 'repeat(5, 1fr)'; dashPillars.innerHTML = '
' + '• 2. Đánh giá Sẵn sàng Học đường qua Trí nhớ Làm việc (WMI = ' + compWMI + ') & Tốc độ Xử lý (PSI = ' + compPSI + '): ' + (compPSI < 85 || compWMI FSIQ ~63 (= 130) ssYoung = { RV: 17, IN: 15, PN: 15, BD: 17, OA: 15, PM: 15, ZL: 15 }; ssOld = { IN: 17, SI: 15, BD: 17, OA: 15, MR: 17, PC: 15, PM: 15, ZL: 15, BS: 13, CA: 13 }; } renderItems(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); wpWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { wpWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 980px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } shadow.querySelectorAll('#bandSwitcher .band-btn').forEach(function(btn) { btn.onclick = function() { activeBand = this.getAttribute('data-band'); shadow.querySelectorAll('#bandSwitcher .band-btn').forEach(b => b.classList.remove('active')); this.classList.add('active'); renderHeaderAndTabs(); renderItems(); updateSummary(); }; }); shadow.querySelectorAll('.wp-pbtn').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-preset')); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); renderHeaderAndTabs(); applyPreset('asd_preschool'); })();
WPPSI-IV (Wechsler Preschool and Primary Scale of Intelligence, Fourth Edition — Thang đo Trí tuệ Wechsler dành cho Trẻ Mẫu giáo và Đầu Tiểu học, Phiên bản 4, xuất bản năm 2012 bởi Pearson) là “tiêu chuẩn vàng” để đánh giá năng lực nhận thức cho trẻ từ 2 tuổi 6 tháng đến 7 tuổi 7 tháng (30 – 91 tháng).
Trong hệ thống công cụ đánh giá của bạn, WPPSI-IV chính là chiếc cầu nối hoàn hảo nhất giữa giai đoạn đánh giá DQ đầu đời (Bayley-III / KSPD) và giai đoạn đánh giá IQ học đường (WISC-V): giúp phát hiện sớm trẻ có năng khiếu (Gifted), xác định mức độ chậm phát triển toàn diện (GDD), và tách bạch năng lực nhận thức phi ngôn ngữ của trẻ Tự kỷ (ASD) ngay ở lứa tuổi mẫu giáo thông qua các bài test trò chơi đóng dấu mực (Ink Dauber) không đòi hỏi kỹ năng cầm bút viết.
1. Sự phân hóa Cấu trúc 2 Dải Độ Tuổi của WPPSI-IV
Vì sự phát triển não bộ của trẻ 2.5 tuổi rất khác với trẻ 6–7 tuổi, WPPSI-IV chia thành 2 Dải độ tuổi (Age Bands) với cấu trúc các Chỉ số chính (Primary Index Scales) và Tiểu trắc nghiệm khác nhau:
| Dải độ tuổi | Các Chỉ số Chính (Primary Indexes) | Các Tiểu trắc nghiệm Chính cấu thành (Primary Subtests) | Các Chỉ số Phụ Lâm sàng (Ancillary Indexes) |
|
1. Dải Nhỏ:
2 tuổi 6 tháng – 3 tuổi 11 tháng
(30 – 47 tháng) |
3 Chỉ số Chính + FSIQ:
1. Hiểu Lời nói (VCI)
2. Không gian Thị giác (VSI)
3. Trí nhớ Làm việc (WMI) |
Gồm 6 bài (5 bài tính FSIQ):
• VCI: Từ vựng Tiếp nhận (RV)★, Thông tin (IN) ★
• VSI: Xếp khối (BD) ★, Lắp ghép Đồ vật (OA) ★
• WMI: Nhớ Tranh ảnh (PM) ★, Vườn thú (ZL) |
• VAI (Tiếp thu Từ vựng: RV + PN)
• NVI (Phi ngôn ngữ: BD + OA + PM + ZL)
• GAI (Năng lực chung: RV + IN + BD + OA) |
|
2. Dải Lớn:
4 tuổi 0 tháng – 7 tuổi 7 tháng
(48 – 91 tháng) |
5 Chỉ số Chính + FSIQ:
(Giống hệt cấu trúc WISC-V)
1. Hiểu Lời nói (VCI)
2. Không gian Thị giác (VSI)
3. Tư duy Lưu loát (FRI)
4. Trí nhớ Làm việc (WMI)
5. Tốc độ Xử lý (PSI) |
Gồm 10 bài (6 bài tính FSIQ):
• VCI: Thông tin (IN) ★, Tương đồng (SI) ★
• VSI: Xếp khối (BD) ★, Lắp ghép Đồ vật (OA)
• FRI: Ma trận Suy luận (MR) ★, Khái niệm Hình ảnh (PC)
• WMI: Nhớ Tranh ảnh (PM) ★, Vườn thú (ZL)
• PSI: Tìm Bọ (BS) ★, Gạch bỏ Hình (CA) |
• VAI (Tiếp thu Từ vựng: RV + PN)
• NVI (Phi ngôn ngữ: BD +MR + PC + PM + BS)
• GAI (Năng lực chung: IN + SI + BD + MR)
• CPI (Hiệu suất nhận thức: PM + ZL + BS + CA) |
2. Những cải tiến “Thân thiện với Trẻ Tự kỷ & Trẻ Mầm non” của WPPSI-IV
-
Giảm tối đa áp lực ngôn ngữ nói: Ở các tiểu trắc nghiệm mới như Nhớ Tranh ảnh (Picture Memory), Vườn thú (Zoo Locations), Khái niệm Hình ảnh (Picture Concepts), trẻ hoàn toàn chỉ cần chỉ tay hoặc đặt thẻ hình vào đúng ô mà không cần nói một từ nào.
-
Dùng “Bút đóng dấu mực” (Ink Dauber) cho Tốc độ xử lý (PSI): Ở tuổi 4–5, nhiều trẻ mầm non (đặc biệt là trẻ ASD/ADHD có vận động tinh kém) chưa cầm bút chì gạch nhanh được. Trong bài Tìm Bọ (Bug Search) và Gạch bỏ Hình (Cancellation), trẻ được cầm con dấu mực chấm “cộp, cộp” lên hình đúng — vừa giống trò chơi thú vị,vừa loại bỏ sai số do kỹ năng cầm bút yếu!
-
Chỉ số Tiếp thu Từ vựng (Vocabulary Acquisition Index – VAI): Kết hợp Từ vựng Tiếp nhận (Receptive Vocabulary — chỉ tranh) và Gọi tên Tranh (Picture Naming) để đo lường khả năng phát triển vốn từ gốc của trẻ có rối loạn ngôn ngữ trước khi bước vào các câu hỏi suy luận dài.
[Đo lường IQ] WISC-V: Thang đo trí tuệ Wechsler đánh giá toàn diện nhận thức và chỉ số IQ cho trẻ em (6-16 tuổi)
(function() { const host = document.getElementById('wisc5-wp-host'); if (!host) return; const placeholder = document.createComment('wisc5-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // Cấu hình 5 Chỉ số Chính (Primary Index Scales) của WISC-V const indexConfigs = { vci: { code: 'vci', short: 'VCI', name: '1. Hiểu Lời nói (Verbal Comprehension - VCI)', color: '#2563eb' }, vsi: { code: 'vsi', short: 'VSI', name: '2. Không gian Thị giác (Visual Spatial - VSI)', color: '#0d9488' }, fri: { code: 'fri', short: 'FRI', name: '3. Tư duy Lưu loát / Logic (Fluid Reasoning - FRI)', color: '#7c3aed' }, wmi: { code: 'wmi', short: 'WMI', name: '4. Trí nhớ Làm việc (Working Memory - WMI)', color: '#f59e0b' }, psi: { code: 'psi', short: 'PSI', name: '5. Tốc độ Xử lý (Processing Speed - PSI)', color: '#dc2626' } }; // Đầy đủ 10 Tiểu trắc nghiệm Chính (Primary Subtests) của WISC-V // inFSIQ: true đối với 7 tiểu trắc nghiệm dùng để tính FSIQ // inGAI: true đối với 5 tiểu trắc nghiệm dùng để tính GAI (General Ability Index) // inCPI: true đối với 4 tiểu trắc nghiệm dùng để tính CPI (Cognitive Proficiency Index) // inNVI: true đối với 6 tiểu trắc nghiệm dùng để tính NVI (Nonverbal Index) const subtests = [ { id: 'SI', idx: 'vci', inFSIQ: true, inGAI: true, inCPI: false, inNVI: false, name: '1. Tương đồng (Similarities - SI) ★ [Thuộc FSIQ & GAI]', desc: 'Trẻ được nghe 2 từ chỉ các đồ vật hoặc khái niệm thông thường và phải giải thích xem chúng giống nhau ở điểm bản chất nào (VD: "Đỏ và Xanh giống nhau thế nào?", "Tức giận và Vui vẻ giống nhau thế nào?").', measure: 'Đo lường tư duy hình thành khái niệm bằng lời và khả năng suy luận trừu tượng ngôn ngữ.' }, { id: 'VC', idx: 'vci', inFSIQ: true, inGAI: true, inCPI: false, inNVI: false, name: '2. Từ vựng (Vocabulary - VC) ★ [Thuộc FSIQ & GAI]', desc: 'Trẻ gọi tên các bức tranh (ở mục đầu) và định nghĩa ý nghĩa của các từ vựng có độ trừu tượng tăng dần do người khám đọc to.', measure: 'Đo lường vốn từ vựng tích lũy, trí nhớ dài hạn về ngôn ngữ và mức độ phát triển biểu đạt lời nói.' }, { id: 'BD', idx: 'vsi', inFSIQ: true, inGAI: true, inCPI: false, inNVI: true, name: '3. Xếp khối Kohs (Block Design - BD) ★ [Thuộc FSIQ, GAI & NVI]', desc: 'Trong thời gian giới hạn, trẻ quan sát mô hình mẫu (hoặc tranh 2D) và dùng các khối lập phương hai màu Đỏ - Trắng để xếp lại đúng hình mẫu đó.', measure: 'Đo lường khả năng phân tích – tổng hợp thị giác không gian và phối hợp thị giác – vận động (Thường là thế mạnh nổi bật ở trẻ Tự kỷ - ASD).' }, { id: 'VP', idx: 'vsi', inFSIQ: false, inGAI: false, inCPI: false, inNVI: true, name: '4. Ghép hình Thị giác (Visual Puzzles - VP) [Thuộc VSI & NVI]', desc: 'Trẻ nhìn một hình hoàn chỉnh và phải chọn ra đúng 3 mảnh ghép rời từ 6 lựa chọn để khi xoay/ghép lại trong đầu sẽ tạo thành hình mẫu (không dùng tay chạm).', measure: 'Đo lường khả năng xoay hình trong tâm trí và tư duy không gian thị giác thuần túy không phụ thuộc vận động tay.' }, { id: 'MR', idx: 'fri', inFSIQ: true, inGAI: true, inCPI: false, inNVI: true, name: '5. Ma trận Suy luận (Matrix Reasoning - MR) ★ [Thuộc FSIQ, GAI & NVI]', desc: 'Trẻ xem một ma trận hình ảnh hoặc chuỗi hình bị khuyết một ô và chọn mảnh ghép đúng quy luật logic từ các phương án bên dưới.', measure: 'Đo lường trí thông minh lưu loát (Fluid Intelligence), suy luận quy nạp hình ảnh phi ngôn ngữ.' }, { id: 'FW', idx: 'fri', inFSIQ: true, inGAI: true, inCPI: false, inNVI: true, name: '6. Cân Trọng lượng (Figure Weights - FW) ★ [Thuộc FSIQ, GAI & NVI]', desc: 'Trẻ quan sát các chiếc cân thăng bằng có đặt các hình khối/vật thể và chọn đáp án đúng để giúp chiếc cân còn trống giữ được trạng thái cân bằng.', measure: 'Đo lường tư duy suy luận định lượng, logic đại số sơ cấp và suy diễn tương quan.' }, { id: 'DS', idx: 'wmi', inFSIQ: true, inGAI: false, inCPI: true, inNVI: false, name: '7. Nhớ Dãy số (Digit Span - DS) ★ [Thuộc FSIQ & CPI]', desc: 'Gồm 3 phần: Nhắc lại dãy số Xuôi (Forward), Nhắc lại dãy số Ngược từ cuối lên đầu (Backward) và Sắp xếp lại dãy số theo thứ tự từ nhỏ đến lớn (Sequencing).', measure: 'Đo lường trí nhớ làm việc thính giác, khả năng tập trung chú ý và thao tác tinh thần trên con số.' }, { id: 'PS', idx: 'wmi', inFSIQ: false, inGAI: false, inCPI: true, inNVI: true, name: '8. Nhớ Chuỗi tranh (Picture Span - PS) [Thuộc WMI, CPI & NVI]', desc: 'Trẻ nhìn một trang có một hoặc nhiều bức tranh trong vài giây, sau đó lật sang trang sau và phải chỉ lại đúng các bức tranh đó theo đúng thứ tự đã xuất hiện.', measure: 'Đo lường dung lượng trí nhớ làm việc thị giác và kiểm soát sự chú ý hình ảnh.' }, { id: 'CD', idx: 'psi', inFSIQ: true, inGAI: false, inCPI: true, inNVI: true, name: '9. Mã hóa (Coding - CD) ★ [Thuộc FSIQ, CPI & NVI]', desc: 'Trong vòng 120 giây, trẻ dùng bút chì chép lại thật nhanh các ký hiệu hình học tương ứng với từng con số (hoặc hình mẫu) theo bảng khóa cho sẵn.', measure: 'Đo lường tốc độ xử lý thông tin thị giác – vận động, sự linh hoạt viết vẽ và duy trì chú ý.' }, { id: 'SS', idx: 'psi', inFSIQ: false, inGAI: false, inCPI: true, inNVI: false, name: '10. Tìm Biểu tượng (Symbol Search - SS) [Thuộc PSI & CPI]', desc: 'Trong vòng 120 giây, trẻ quét mắt thật nhanh qua từng hàng biểu tượng để gạch chọn xem biểu tượng mục tiêu bên trái có xuất hiện trong nhóm bên phải hay không.', measure: 'Đo lường tốc độ quét phân biệt thị giác và ra quyết định nhận thức nhanh.' } ]; // scaledScores[id] lưu Điểm chuẩn Tiểu trắc nghiệm từ 1 đến 19 (Trung bình dân số = 10, SD = 3) let scaledScores = {}; let filterIdx = 'all'; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .w5-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .w5-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .w5-inner { padding: 24px; max-width: 980px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .w5-wrap.is-fullscreen .w5-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .w5-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 0 rgba(37, 99, 235, 0.4); } 70% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 10px rgba(37, 99, 235, 0); } 100% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 0 rgba(37, 99, 235, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #1e3a8a 0%, #2563eb 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Header */ .w5-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .w5-header-text { flex: 1 1 260px; } .w5-title { font-size: 21px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .w5-desc { font-size: 14px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #eff6ff; color: #1d4ed8; border: 1px solid #bfdbfe; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #2563eb; color: #ffffff; border-color: #2563eb; } /* Controls */ .w5-presets { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; margin-bottom: 14px; } .w5-lbl { font-size: 12px; font-weight: 800; color: #0f172a; text-transform: uppercase; margin-right: 4px; } .w5-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; touch-action: manipulation; } .w5-pbtn:hover { background: #f1f5f9; } .w5-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } .w5-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 16px; } .w5-tab { padding: 6px 12px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .w5-tab.active { background: #2563eb; color: #ffffff; border-color: #2563eb; } /* Sticky Dashboard */ .w5-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .w5-wrap.is-fullscreen .w5-dash { top: 58px; } .w5-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .w5-score-big { font-size: 21px; font-weight: 800; line-height: 1.2; } .w5-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .w5-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .w5-pillars { display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; font-size: 11.5px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .w5-pillar-box { background: #1e293b; padding: 7px 9px; border-radius: 8px; border-left: 3px solid #475569; } .w5-pillar-box.high { border-left-color: #3b82f6; background: rgba(59, 130, 246, 0.15); } .w5-pillar-box.avg { border-left-color: #10b981; } .w5-pillar-box.low { border-left-color: #f59e0b; background: rgba(245, 158, 11, 0.14); } .w5-pillar-box.imp { border-left-color: #ef4444; background: rgba(239, 68, 68, 0.16); } .w5-pillar-val { font-weight: 800; color: #ffffff; font-size: 13.5px; display: block; margin-top: 2px; } /* Danh sách 10 Tiểu trắc nghiệm */ .w5-item { border: 1px solid #e2e8f0; border-radius: 12px; padding: 15px 16px; margin-bottom: 12px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 8px; } .w5-item.ss-high { border-color: #93c5fd; background: #eff6ff; } .w5-item.ss-avg { border-color: #a7f3d0; background: #f0fdf4; } .w5-item.ss-low { border-color: #fde68a; background: #fffbeb; } .w5-item.ss-imp { border-color: #fca5a5; background: #fff5f5; } .w5-item-title { font-size: 15px; font-weight: 800; color: #0f172a; } .w5-item-desc { font-size: 13.5px; color: #334155; } .w5-item-meas { font-size: 12.5px; color: #475569; background: rgba(15, 23, 42, 0.03); padding: 6px 10px; border-radius: 6px; border-left: 3px solid #94a3b8; } .w5-tags { display: flex; flex-wrap: wrap; gap: 6px; } .w5-tag { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } /* 7 mốc chọn nhanh Scaled Score (1 -> 19, Mean = 10, SD = 3) */ .w5-scale-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 6px; margin-top: 4px; } .w5-sbtn { padding: 8px 4px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .w5-sbtn:hover { border-color: #64748b; } .w5-sbtn-num { font-size: 13px; font-weight: 800; display: block; color: #0f172a; } .w5-sbtn-lbl { font-size: 10.5px; color: #64748b; display: block; margin-top: 1px; } .w5-sbtn.sel-imp { background: #ef4444; border-color: #ef4444; } .w5-sbtn.sel-low { background: #f59e0b; border-color: #f59e0b; } .w5-sbtn.sel-avg { background: #10b981; border-color: #10b981; } .w5-sbtn.sel-high { background: #2563eb; border-color: #2563eb; } .w5-sbtn.sel-imp .w5-sbtn-num, .w5-sbtn.sel-imp .w5-sbtn-lbl, .w5-sbtn.sel-low .w5-sbtn-num, .w5-sbtn.sel-low .w5-sbtn-lbl, .w5-sbtn.sel-avg .w5-sbtn-num, .w5-sbtn.sel-avg .w5-sbtn-lbl, .w5-sbtn.sel-high .w5-sbtn-num, .w5-sbtn.sel-high .w5-sbtn-lbl { color: #ffffff; } /* Bảng tổng hợp 5 Chỉ số chính + FSIQ + 3 Chỉ số phụ (GAI, CPI, NVI) */ .w5-table-card { margin-top: 20px; padding: 16px 18px; border-radius: 12px; background: #ffffff; border: 1px solid #e2e8f0; overflow-x: auto; } .w5-table { width: 100%; border-collapse: collapse; font-size: 13px; min-width: 640px; } .w5-table th, .w5-table td { border: 1px solid #cbd5e1; padding: 8px 10px; text-align: center; } .w5-table th { background: #f1f5f9; font-weight: 800; color: #0f172a; } .w5-result-box { margin-top: 16px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #2563eb; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 760px) { .w5-inner { padding: 14px; } .w5-title { font-size: 18px; } .w5-pillars { grid-template-columns: 1fr 1fr; } .w5-scale-grid { grid-template-columns: repeat(4, 1fr); } .w5-pbtn.reset { margin-left: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
Thang Đo Trí Tuệ Wechsler Dành Cho Trẻ Em WISC-V (6 Tuổi – 16 Tuổi 11 Tháng • 10 Tiểu Trắc Nghiệm)
Công cụ tiêu chuẩn vàng đánh giá năng lực nhận thức trẻ em theo mô hình CHC qua 5 Chỉ số Chính: Hiểu Lời nói (VCI), Không gian Thị giác (VSI), Tư duy Lưu loát (FRI), Trí nhớ Làm việc (WMI), Tốc độ Xử lý (PSI), cùng IQ Toàn thang (FSIQ) và 3 Chỉ số Phụ Lâm sàng (GAI, CPI, NVI).
| Thang Chỉ số WISC-V (Index Scale) | Các Tiểu trắc nghiệm cấu thành | Tổng Scaled Scores | Điểm Chuẩn (Composite: 40–160) | Bách phân vị (Percentile) | Phân loại Chuẩn Wechsler |
|---|
')} `; updateFloatingFabVisibility(); } function applyPreset(type) { scaledScores = {}; subtests.forEach(st => { scaledScores[st.id] = 10; }); if (type === 'reset') { renderItems(); updateSummary(); return; } if (type === 'asd_profile') { // Kiểu hình ASD điển hình: Xếp khối (BD=15) & Ma trận (MR=13) rất giỏi, nhưng Từ vựng/Tương đồng (SI=7, VC=7) và Tốc độ xử lý (CD=5, SS=7) thấp scaledScores = { SI: 7, VC: 7, BD: 15, VP: 13, MR: 13, FW: 13, DS: 10, PS: 10, CD: 5, SS: 7 }; } else if (type === 'adhd_profile') { // Kiểu hình ADHD: VCI, VSI, FRI tốt (SS=13), nhưng Trí nhớ làm việc (DS=7, PS=7) và Tốc độ xử lý (CD=5, SS=7) tụt sâu -> GAI ~116, CPI ~81 scaledScores = { SI: 13, VC: 13, BD: 13, VP: 13, MR: 13, FW: 13, DS: 7, PS: 7, CD: 5, SS: 7 }; } else if (type === 'idd_profile') { // Khuyết tật trí tuệ (IDD): Tất cả các tiểu trắc nghiệm đều ở mức SS = 3 - 5 -> FSIQ ~63 ( FSIQ >= 130 scaledScores = { SI: 17, VC: 17, BD: 15, VP: 15, MR: 17, FW: 15, DS: 15, PS: 15, CD: 13, SS: 13 }; } renderItems(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); w5Wrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { w5Wrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 980px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } shadow.querySelectorAll('.w5-pbtn').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-preset')); }; }); shadow.querySelectorAll('#idxTabs .w5-tab').forEach(function(tab) { tab.onclick = function() { filterIdx = this.getAttribute('data-idx'); shadow.querySelectorAll('#idxTabs .w5-tab').forEach(t => t.classList.remove('active')); this.classList.add('active'); renderItems(); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); applyPreset('asd_profile'); })();
WISC-V (Wechsler Intelligence Scale for Children, Fifth Edition — Thang đo Trí tuệ Wechsler dành cho Trẻ em, Phiên bản 5) là “Tiêu chuẩn vàng” (Gold Standard) uy tín nhất thế giới hiện nay để đánh giá toàn diện năng lực nhận thức và chỉ số thông minh (IQ) cho trẻ em và thanh thiếu niên từ 6 tuổi 0 tháng đến 16 tuổi 11 tháng. Công cụ được phát triển dựa trên di sản của Tiến sĩ David Wechsler và được Pearson xuất bản năm 2014.
Trong đánh giá các rối loạn phát triển thần kinh (như Rối loạn phổ tự kỷ – ASD, Tăng động giảm chú ý – ADHD,Khuyết tật học tập đặc hiệu – SLD, và Rối loạn phát triển trí tuệ – IDD), WISC-V không chỉ dừng lại ở một con số IQ tổng quát. Giá trị lâm sàng đắt giá nhất của WISC-V là việc lập Biểu đồ Hồ sơ Nhận thức (Cognitive Profile) qua 5 chỉ số chính và 5 chỉ số phụ để phát hiện Sự phân tách / Độ lệch nội tại (Scatter / Discrepancy) giữa tư duy cốt lõi và hiệu suất xử lý thông tin.
1. Điểm đột phá của WISC-V so với bản WISC-IV cũ
Ở phiên bản WISC-IV trước đây, hệ thống chỉ có 4 Chỉ số chính (Hiểu lời nói – VCI, Tư duy tri giác – PRI, Trí nhớ làm việc – WMI, Tốc độ xử lý – PSI). Sang bản WISC-V, chỉ số Tư duy tri giác (PRI) đã được tách thành 2 chỉ số độc lập là Không gian Thị giác (VSI) và Tư duy Lưu loát / Suy luận Лоgic (FRI), nâng tổng số lên 5 Chỉ số Chính (Primary Index Scales) theo đúng lý thuyết cấu trúc trí tuệ hiện đại CHC (Cattell-Horn-Carroll):
[Đo lường IQ] Raven & Leiter-3: Bộ trắc nghiệm đo chỉ số thông minh (IQ) phi ngôn ngữ cho trẻ chậm nói, tự kỷ
(function() { const host = document.getElementById('nviq-wp-host'); if (!host) return; const placeholder = document.createComment('nviq-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // ========================================================= // 1. DỮ LIỆU RAVEN CPM (COLOURED PROGRESSIVE MATRICES • 36 MỤC: BỘ A, Ab, B) // ========================================================= const cpmSets = [ { id: 'CPM_A', code: 'Bộ A', max: 12, color: '#2563eb', title: 'Bộ A (12 mục: A1 → A12) — Hoàn thiện Mẫu hình Liên tục (Continuous Patterns)', desc: 'Đánh giá khả năng tri giác thị giác cơ bản: nhận diện sự đồng nhất về màu sắc, đường kẻ, mật độ chấm và hoàn thiện phần bị khuyết của một bức nền liên tục.', skills: 'A1–A6: Ghép nền đơn sắc & đường kẻ thẳng/ngang | A7–A10: Giao điểm đường kẻ & mật độ hoa văn | A11–A12: Hoa văn chéo phức hợp hai chiều.' }, { id: 'CPM_Ab', code: 'Bộ Ab', max: 12, color: '#0d9488', title: 'Bộ Ab (12 mục: Ab1 → Ab12) — Nhận thức Cấu trúc Rời rạc thành Tổng thể (Discrete Figures as Spatial Wholes)', desc: 'Trẻ quan sát 3 góc của một hình đối xứng (gồm 4 phần tư) và phải chọn mảnh ghép thứ 4 có hướng xoay và góc đối xứng khớp với 3 phần còn lại.', skills: 'Ab1–Ab5: Đối xứng gương đơn giản của hình tròn/vuông | Ab6–Ab9: Xoay góc 90 độ của hình khuyết và mũi tên | Ab10–Ab12: Đảo chiều không gian và đóng khung hình học.' }, { id: 'CPM_B', code: 'Bộ B', max: 12, color: '#7c3aed', title: 'Bộ B (12 mục: B1 → B12) — Suy luận Tương tự Hình học (Analogical Reasoning)', desc: 'Đo lường bước chuyển sang tư duy logic trừu tượng (Cặp hình trên biến đổi thế nào thì cặp hình dưới biến đổi tương tự theo đúng quy luật đó).', skills: 'B1–B4: Đồng nhất hình học cơ bản | B5–B8: Quy luật đối xứng lật hình & đổi màu nền | B9–B12: Phép suy luận tương tự 2 biến số (vừa đổi hình dạng vừa đổi tô đậm/rỗng).' } ]; // ========================================================= // 2. DỮ LIỆU RAVEN SPM (STANDARD PROGRESSIVE MATRICES • 60 MỤC: BỘ A, B, C, D, E) // ========================================================= const spmSets = [ { id: 'SPM_A', code: 'Bộ A', max: 12, color: '#0284c7', title: 'Bộ A (12 mục: A1 → A12) — Tri giác Hoàn thiện Khuôn mẫu Liên tục', desc: 'Kiểm tra khả năng phân biệt thị giác nền tảng, nối tiếp các đường lưới thẳng, chéo và hoa văn liên tục.', skills: 'Cấp độ 1: Tri giác đồng nhất và liên tục thị giác không gian.' }, { id: 'SPM_B', code: 'Bộ B', max: 12, color: '#2563eb', title: 'Bộ B (12 mục: B1 → B12) — Tư duy Tương tự trên Ma trận 2×2 (Analogical Changes)', desc: 'Phát hiện mối quan hệ đối xứng trục dọc/ngang, phép xoay hình và phép biến đổi tương tự giữa các cặp hình.', skills: 'Cấp độ 2: Suy luận tương tự (A : B :: C : ?) trên ma trận 2×2.' }, { id: 'SPM_C', code: 'Bộ C', max: 12, color: '#0d9488', title: 'Bộ C (12 mục: C1 → C12) — Biến đổi Tịnh tiến và Tăng dần trên Ma trận 3×3 (Progressive Alterations)', desc: 'Khắc họa quy luật thay đổi liên tục theo cả hàng ngang và cột dọc trên lưới 9 ô (3×3): tăng giảm kích thước, thêm bớt chi tiết hoặc dịch chuyển vị trí.', skills: 'Cấp độ 3: Theo dõi đồng thời 2 chiều biến thiên (hàng ngang + cột dọc).' }, { id: 'SPM_D', code: 'Bộ D', max: 12, color: '#7c3aed', title: 'Bộ D (12 mục: D1 → D12) — Quy luật Hoán vị và Tổ hợp Hình học trên Ma trận 3×3 (Permutations)', desc: 'Đòi hỏi tìm ra quy luật phân phối hoán vị của 3 nhóm hình dạng, 3 kiểu nét vẽ và 3 hướng xoay sao cho mỗi hàng và mỗi cột đều hội đủ 3 thuộc tính.', skills: 'Cấp độ 4: Suy luận tổ hợp đa biến (Latin Square Logic).' }, { id: 'SPM_E', code: 'Bộ E', max: 12, color: '#dc2626', title: 'Bộ E (12 mục: E1 → E12) — Phép Cộng, Trừ và Giao/Hợp Trừu tượng Hình học (Abstract Algebraic Operations)', desc: 'Cấp độ tư duy trừu tượng cao nhất của Raven: thực hiện phép cộng hình, trừ phần giao nhau (XOR) hoặc lấy phần chung (AND) giữa Ô 1 và Ô 2 để ra Ô 3.', skills: 'Cấp độ 5: Phân tích và tổng hợp đại số hình ảnh thuần túy (Fluid Intelligence đỉnh cao).' } ]; // ========================================================= // 3. DỮ LIỆU LEITER-3 (8 TIỂU TRẮC NGHIỆM: 4 COGNITIVE BATTERY + 4 ATTENTION/MEMORY BATTERY) // Chấm trên thang Scaled Score từ 1 đến 19 (Trung bình = 10, SD = 3) // ========================================================= const leiterSubtests = [ // BỘ PIN NHẬN THỨC (COGNITIVE BATTERY -> TÍNH NONVERBAL IQ) { id: 'FG', battery: 'cog', color: '#2563eb', name: '1. Hình – Nền (Figure Ground - FG) ★ [Thuộc Nonverbal IQ]', desc: 'Trẻ cầm các thẻ nhỏ có vẽ một đồ vật/hình học và phải chỉ ra xem đồ vật đó đang ẩn giấu ở vị trí nào bên trong một bức tranh lớn phức tạp có nhiều chi tiết đan xen.', measure: 'Đo lường khả năng lọc nhiễu thị giác, nhận diện hình chính tách khỏi nền rối và sự linh hoạt tri giác.' }, { id: 'FC', battery: 'cog', color: '#0284c7', name: '2. Hoàn thiện Hình dạng (Form Completion - FC) ★ [Thuộc Nonverbal IQ]', desc: 'Trẻ nhìn các mảnh rời rạc bị cắt vụn của một đồ vật/hình khối và phải hình dung trong đầu xem khi ghép chúng lại sẽ tạo thành hình hoàn chỉnh nào trên khung giá đỡ.', measure: 'Đo lường khả năng tổng hợp toàn thể từ các bộ phận rời rạc (Gestalt Visual Closure).' }, { id: 'CA', battery: 'cog', color: '#7c3aed', name: '3. Phân loại & Tương tự (Classification and Analogies - CA) ★ [Thuộc Nonverbal IQ]', desc: 'Trẻ dùng các khối mút/thẻ hình để phân loại theo thuộc tính ở các câu đầu, và giải các bài toán ma trận tương tự hình học ở các câu nâng cao.', measure: 'Đo lường tư duy hình thành khái niệm và suy luận quy nạp phi ngôn ngữ.' }, { id: 'SO', battery: 'cog', color: '#9333ea', name: '4. Trật tự Chuỗi nối tiếp (Sequential Order - SO) ★ [Thuộc Nonverbal IQ]', desc: 'Trẻ quan sát một chuỗi các khối hình sắp xếp theo quy luật tăng tiến hoặc lặp lại trên khung Easel và chọn đúng khối mút còn thiếu đặt vào khe trống.', measure: 'Đo lường khả năng phát hiện quy luật chuỗi logic và suy luận tuần tự.' }, // BỘ PIN CHÚ Ý & TRÍ NHỚ (ATTENTION & MEMORY BATTERY -> TÍNH NONVERBAL MEMORY & PROCESSING SPEED) { id: 'FM', battery: 'mem', color: '#0d9488', name: '5. Trí nhớ Xuôi (Forward Memory - FM) [Thuộc Nonverbal Memory]', desc: 'Người khám chỉ tay lần lượt vào một chuỗi các bức tranh theo thứ tự, sau đó trẻ phải chỉ tay lặp lại đúng các bức tranh đó theo đúng thứ tự vừa nhìn thấy.', measure: 'Đo lường dung lượng ghi nhớ thị giác ngắn hạn.' }, { id: 'RM', battery: 'mem', color: '#10b981', name: '6. Trí nhớ Ngược (Reverse Memory - RM) [Thuộc Nonverbal Memory]', desc: 'Người khám chỉ tay vào một chuỗi các bức tranh, và trẻ phải chỉ lại theo thứ tự ĐẢO NGƯỢC từ hình cuối cùng về hình đầu tiên.', measure: 'Đo lường trí nhớ làm việc phi ngôn ngữ (Nonverbal Working Memory) và khả năng kiểm soát điều hành.' }, { id: 'AS', battery: 'spd', color: '#f59e0b', name: '7. Duy trì Chú ý (Attention Sustained - AS) [Thuộc Processing Speed]', desc: 'Trong thời gian quy định (30–60 giây), trẻ dùng bút gạch tìm tất cả các hình mục tiêu nằm lẫn trong một trang giấy dày đặc các hình gây nhiễu.', measure: 'Đo lường tốc độ quét thị giác, sự tập trung bền bỉ và khả năng ức chế xung động.' }, { id: 'AD', battery: 'spd', color: '#dc2626', name: '8. Phân chia Chú ý / Stroop Phi ngôn ngữ (Attention Divided / Nonverbal Stroop - AD)', desc: 'Trẻ phải vừa phân loại thẻ hình vừa chuyển đổi quy tắc chú ý linh hoạt dưới áp lực thời gian.', measure: 'Đo lường tính linh hoạt nhận thức (Cognitive Flexibility) và tốc độ xử lý điều hành.' } ]; let activeTool = 'cpm'; // 'cpm' (Raven CPM 36) | 'spm' (Raven SPM 60) | 'leiter3' (Leiter-3) let childAgeYears = 8; // Tuổi đối chiếu chuẩn let cpmScores = { CPM_A: 10, CPM_Ab: 9, CPM_B: 8 }; let spmScores = { SPM_A: 11, SPM_B: 10, SPM_C: 9, SPM_D: 8, SPM_E: 5 }; let leiterSS = { FG: 13, FC: 13, CA: 12, SO: 12, FM: 10, RM: 9, AS: 8, AD: 8 }; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .nv-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .nv-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .nv-inner { padding: 24px; max-width: 980px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .nv-wrap.is-fullscreen .nv-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .nv-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(13, 148, 136, 0.45), 0 0 0 0 rgba(13, 148, 136, 0.4); } 70% { box-shadow: 0 6px 20px rgba(13, 148, 136, 0.45), 0 0 0 10px rgba(13, 148, 136, 0); } 100% { box-shadow: 0 6px 20px rgba(13, 148, 136, 0.45), 0 0 0 0 rgba(13, 148, 136, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #0f766e 0%, #0d9488 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(13, 148, 136, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Bộ chuyển đổi 3 Công cụ IQ Phi ngôn ngữ */ .tool-switcher { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; background: #f1f5f9; padding: 8px; border-radius: 12px; margin-bottom: 18px; } .tool-btn { padding: 10px 12px; border-radius: 9px; border: 1.5px solid transparent; background: rgba(255, 255, 255, 0.65); cursor: pointer; text-align: left; transition: all 0.2s ease; touch-action: manipulation; } .tool-btn:hover { background: #ffffff; } .tool-btn.active { background: #ffffff; border-color: #0d9488; box-shadow: 0 3px 10px rgba(15, 23, 42, 0.08); } .tool-btn-title { font-size: 13.8px; font-weight: 800; color: #0f172a; display: block; } .tool-btn.active .tool-btn-title { color: #0f766e; } .tool-btn-sub { font-size: 11.5px; color: #64748b; margin-top: 2px; display: block; } /* Header */ .nv-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .nv-header-text { flex: 1 1 260px; } .nv-title { font-size: 20px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .nv-desc { font-size: 13.8px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #f0fdfa; color: #0f766e; border: 1px solid #99f6e4; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #0d9488; color: #ffffff; border-color: #0d9488; } /* Top Controls */ .nv-top-panel { display: grid; grid-template-columns: 1fr 1.5fr; gap: 12px; background: #f8fafc; border: 1px solid #cbd5e1; border-radius: 12px; padding: 14px; margin-bottom: 16px; } .nv-lbl { font-size: 12px; font-weight: 800; color: #0f172a; text-transform: uppercase; display: block; margin-bottom: 6px; } .nv-select { width: 100%; padding: 8px 10px; border: 1px solid #0d9488; border-radius: 7px; font-size: 13.5px; font-weight: 700; color: #0f172a; background: #ffffff; } .nv-presets { display: flex; flex-wrap: wrap; gap: 6px; } .nv-pbtn { padding: 7px 10px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 600; color: #334155; cursor: pointer; flex: 1 1 auto; text-align: center; touch-action: manipulation; } .nv-pbtn:hover { background: #f1f5f9; } .nv-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; } /* Sticky Dashboard */ .nv-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .nv-wrap.is-fullscreen .nv-dash { top: 58px; } .nv-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .nv-score-big { font-size: 21px; font-weight: 800; line-height: 1.2; } .nv-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .nv-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .nv-pillars { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; font-size: 12px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .nv-pillar-box { background: #1e293b; padding: 8px 10px; border-radius: 8px; border-left: 3px solid #0d9488; } .nv-pillar-val { font-weight: 800; color: #ffffff; font-size: 13.5px; display: block; margin-top: 2px; } /* Danh sách các Bộ / Tiểu trắc nghiệm */ .nv-item { border: 1px solid #e2e8f0; border-radius: 12px; padding: 15px 16px; margin-bottom: 12px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 8px; } .nv-item-title { font-size: 15px; font-weight: 800; color: #0f172a; } .nv-item-desc { font-size: 13.5px; color: #334155; } .nv-item-sub { font-size: 12.5px; color: #475569; background: #f8fafc; padding: 6px 10px; border-radius: 6px; border-left: 3px solid #cbd5e1; } .nv-tags { display: flex; flex-wrap: wrap; gap: 6px; } .nv-tag { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .nv-btn-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 6px; margin-top: 4px; } .nv-sbtn { padding: 8px 4px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 700; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .nv-sbtn:hover { border-color: #64748b; } .nv-sbtn.sel-low { background: #ef4444; border-color: #ef4444; color: #ffffff; } .nv-sbtn.sel-mid { background: #f59e0b; border-color: #f59e0b; color: #ffffff; } .nv-sbtn.sel-good { background: #10b981; border-color: #10b981; color: #ffffff; } .nv-sbtn.sel-top { background: #2563eb; border-color: #2563eb; color: #ffffff; } /* Bảng phân bậc Raven (Grade I -> V) & Leiter-3 */ .nv-table-card { margin-top: 20px; padding: 16px 18px; border-radius: 12px; background: #ffffff; border: 1px solid #e2e8f0; overflow-x: auto; } .nv-table { width: 100%; border-collapse: collapse; font-size: 13px; min-width: 640px; } .nv-table th, .nv-table td { border: 1px solid #cbd5e1; padding: 9px 12px; text-align: left; } .nv-table th { background: #f1f5f9; font-weight: 800; color: #0f172a; } .nv-table tr.active-row { background: #f0fdfa; border: 2px solid #0d9488; } .nv-result-box { margin-top: 16px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #0d9488; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 760px) { .nv-inner { padding: 14px; } .tool-switcher { grid-template-columns: 1fr; } .nv-title { font-size: 18px; } .nv-top-panel { grid-template-columns: 1fr; } .nv-pillars { grid-template-columns: 1fr 1fr; } .nv-btn-grid { grid-template-columns: repeat(4, 1fr); } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
| Phân bậc Raven (Grade) | Bách phân vị (Percentile) | IQ Phi ngôn ngữ (Mean=100, SD=15) | Định danh Năng lực Trí tuệ Phi ngôn ngữ (John C. Raven & Leiter-3) |
|---|---|---|---|
| Bậc I (Grade I) | ≥ 95% | ≥ 125 điểm | Trí tuệ Vượt trội (Intellectually Superior): Tư duy suy luận quy nạp và không gian thị giác xuất sắc (thuộc nhóm 5% cao nhất cùng độ tuổi). |
| Bậc II (Grade II) | 75% – 94% (II+: ≥90%) |
110 – 124 điểm | Trên mức Trung bình (Definitely Above Average): Năng lực giải quyết vấn đề phi ngôn ngữ tốt hơn đa số trẻ cùng tuổi (Thường gặp ở trẻ Tự kỷ có thế mạnh thị giác). |
| Bậc III (Grade III) | 25% – 74% (III+: >50% | III-: <50%) |
90 – 109 điểm | Trí tuệ Trung bình (Intellectually Average): Năng lực tư duy phi ngôn ngữ phát triển bình thường theo đúng độ tuổi. |
| Bậc IV (Grade IV) | 6% – 24% (IV-: ≤10%) |
70 – 89 điểm | Dưới mức Trung bình / Ranh giới (Definitely Below Average): Cần hỗ trợ trực quan hóa và chia nhỏ bước khi học các khái niệm trừu tượng. |
| Bậc V (Grade V) | ≤ 5% | < 70 điểm (-2 SD) | Suy giảm Nhận thức Rõ rệt (Intellectual Impairment): Suy giảm cả tư duy phi ngôn ngữ (Nếu kèm suy giảm hành vi thích ứng trên Vineland-3 sẽ xác nhận Khuyết tật trí tuệ - IDD). |
1. Trắc Nghiệm Khuôn Hình Tiếp Diễn Raven Bản Màu — Raven’s CPM (36 Mục • Bộ A, Ab, B)
Thiết kế chuyên biệt cho trẻ em từ 5 đến 11 tuổi và trẻ chậm nói / rối loạn giao tiếp. Trẻ chỉ tay chọn mảnh ghép đúng trong 36 ma trận màu (Mỗi bộ A, Ab, B tối đa 12 điểm). Hệ thống tự động kiểm tra Độ lệch nhất quán (Consistency Discrepancy) và quy đổi ra Bậc trí tuệ Raven (Grade I – V).
`; } else if (activeTool === 'spm') { headerInfo.innerHTML = `2. Trắc Nghiệm Khuôn Hình Tiếp Diễn Raven Bản Tiêu Chuẩn — Raven’s SPM (60 Mục • Bộ A, B, C, D, E)
Đánh giá toàn diện năng lực suy luận quy nạp và tư duy hệ thống phi ngôn ngữ cho trẻ từ 6 tuổi đến người trưởng thành qua 5 Bộ (A, B, C, D, E — mỗi bộ 12 câu, tổng 60 điểm).
`; } else { headerInfo.innerHTML = `3. Thang Đo Hiệu Suất Quốc Tế Leiter-3 — Đánh Giá IQ, Trí Nhớ & Chú Ý 100% Phi Ngôn Ngữ (3 – 75+ Tuổi)
Công cụ tiêu chuẩn vàng đánh giá nhận thức hoàn toàn không dùng lời nói cả từ phía người khám lẫn trẻ. Chấm điểm chuẩn Scaled Score (1 – 19, TB = 10) cho 4 bài Nhận thức (tính Nonverbal IQ) và 4 bài Chú ý – Trí nhớ (tính Nonverbal Memory & Processing Speed).
`; } } function renderItems() { itemList.innerHTML = ''; if (activeTool === 'cpm' || activeTool === 'spm') { const sets = (activeTool === 'cpm') ? cpmSets : spmSets; const store = (activeTool === 'cpm') ? cpmScores : spmScores; const stepChoices = [0, 2, 4, 6, 8, 10, 12]; // Điểm từng bộ trên thang 0..12 sets.forEach(function(s) { const uVal = (store[s.id] !== undefined) ? store[s.id] : 8; const btnsHtml = stepChoices.map(pt => { let cls = 'nv-sbtn'; if (uVal === pt) { if (pt >= 10) cls += ' sel-top'; else if (pt >= 7) cls += ' sel-good'; else if (pt >= 4) cls += ' sel-mid'; else cls += ' sel-low'; } return ``; }).join(''); const el = document.createElement('div'); el.className = 'nv-item'; el.innerHTML = `• Đối chiếu quy chuẩn ở ${childAgeYears} tuổi: Xếp loại ${cInfo.gradeTxt}, tương đương IQ Phi ngôn ngữ ~${nviq} điểm.
• Kiểm tra tính nhất quán nội tại (Consistency Check): ${validityTxt}. `; } else if (activeTool === 'spm') { const sA = spmScores.SPM_A, sB = spmScores.SPM_B, sC = spmScores.SPM_C, sD = spmScores.SPM_D, sE = spmScores.SPM_E; const rawTotal = sA + sB + sC + sD + sE; // Max 60 const expectedMeanSPM = { 5: 18, 6: 22, 7: 26, 8: 31, 9: 35, 10: 39, 12: 43, 16: 48 }; const expMean = expectedMeanSPM[childAgeYears] || 35; nviq = Math.round(100 + ((rawTotal - expMean) / 7.5) * 15); nviq = Math.max(50, Math.min(145, nviq)); const isConsistent = (sE <= sA + 1) && (sD <= sA + 2); validityTxt = isConsistent ? '✓ Hợp lệ (Đường cong điểm giảm dần hợp lý từ Bộ A → Bộ E)' : '⚠️ Cảnh báo lệch phân bố giữa các Bộ A–E'; dashPillars.innerHTML = `
• Xếp bậc năng lực trí tuệ Raven: ${cInfo.gradeTxt}, tương đương IQ Phi ngôn ngữ ~${nviq} điểm.
• Phân tích 5 cấp độ tư duy: Trẻ xử lý tốt các bài toán hoàn thiện mẫu (Bộ A: ${sA}/12) và tương tự 2×2 (Bộ B: ${sB}/12); mức độ duy trì trên ma trận 3×3 biến thiên (Bộ C: ${sC}/12), hoán vị tổ hợp (Bộ D: ${sD}/12) và đại số hình học trừu tượng (Bộ E: ${sE}/12). `; } else { // LEITER-3 const sumCogSS = leiterSS.FG + leiterSS.FC + leiterSS.CA + leiterSS.SO; // 4 bài tính Nonverbal IQ const sumMemSS = leiterSS.FM + leiterSS.RM; // 2 bài tính Nonverbal Memory const sumSpdSS = leiterSS.AS + leiterSS.AD; // 2 bài tính Processing Speed nviq = Math.max(45, Math.min(155, Math.round(100 + ((sumCogSS / 4) - 10) * 5.2))); const nvMem = Math.max(45, Math.min(155, Math.round(100 + ((sumMemSS / 2) - 10) * 5.2))); const nvSpd = Math.max(45, Math.min(155, Math.round(100 + ((sumSpdSS / 2) - 10) * 5.2))); const cInfo = classifyNVIQ(nviq); dashHeadline.textContent = `Leiter-3 Nonverbal IQ: ${nviq} • Trí Nhớ Phi Ngôn Ngữ: ${nvMem} • Tốc Độ Xử Lý: ${nvSpd}`; dashSub.textContent = `Tổng Scaled Scores 4 bài Nhận thức (FG+FC+CA+SO): ${sumCogSS} (Trung bình chuẩn = 40)`; dashPillars.innerHTML = `
• 2. Chỉ số Trí nhớ Phi ngôn ngữ (Nonverbal Memory Composite): Đạt ${nvMem} điểm (Nhớ xuôi FM = ${leiterSS.FM}, Nhớ ngược RM = ${leiterSS.RM}).
• 3. Chỉ số Chú ý & Tốc độ xử lý (Processing Speed Composite): Đạt ${nvSpd} điểm (Duy trì chú ý AS = ${leiterSS.AS}, Phân chia chú ý AD = ${leiterSS.AD}). `; } const cFinal = classifyNVIQ(nviq); if (cFinal.grade === 'G1') rowG1.className = 'active-row'; else if (cFinal.grade === 'G2') rowG2.className = 'active-row'; else if (cFinal.grade === 'G3') rowG3.className = 'active-row'; else if (cFinal.grade === 'G4') rowG4.className = 'active-row'; else rowG5.className = 'active-row'; scoreBadge.textContent = `${cFinal.gradeTxt.split('•')[0].trim()} (NVIQ: ${nviq})`; scoreBadge.style.background = cFinal.color; scoreBadge.style.color = '#ffffff'; resultBox.style.borderLeftColor = cFinal.color; resultBox.innerHTML = `
• 💡 Ý nghĩa đặc biệt trong Chẩn đoán Tự kỷ (ASD) & Phân mã ICD-11 / DSM-5-TR:
${nviq >= 85 ? '👉 Với IQ Phi ngôn ngữ đạt ' + nviq + ' điểm (≥ 85), trẻ có tiềm năng nhận thức cốt lõi hoàn toàn bình thường/tốt bất chấp việc trẻ có thể đang chậm nói nặng. Kết quả này giúp loại trừ Khuyết tật trí tuệ (IDD) (Định mã ICD-11: 6A02.0 hoặc 6A02.2) và khẳng định việc dạy học cho trẻ cần tận dụng tối đa Giáo cụ trực quan hình ảnh (Visual Supports / TEACCH / PECS).' : (nviq >= 70 ? '👉 IQ Phi ngôn ngữ nằm ở vùng Ranh giới (' + nviq + ' điểm), cần kết hợp đánh giá hành vi thích ứng Vineland-3 và hỗ trợ học tập trực quan từng bước.' : '👉 IQ Phi ngôn ngữ dưới 70 điểm (-2 SD), phản ánh sự suy giảm cả ở tư duy không lời. Cần đối chiếu thêm với Vineland-3 để xác định mức độ hỗ trợ toàn diện.')} `; updateFloatingFabVisibility(); } function applyPreset(type) { if (type === 'reset') { cpmScores = { CPM_A: 0, CPM_Ab: 0, CPM_B: 0 }; spmScores = { SPM_A: 0, SPM_B: 0, SPM_C: 0, SPM_D: 0, SPM_E: 0 }; leiterSS = { FG: 10, FC: 10, CA: 10, SO: 10, FM: 10, RM: 10, AS: 10, AD: 10 }; } else if (type === 'asd_strength') { // Thế mạnh thị giác tự kỷ (Bậc I - II: NVIQ ~118) cpmScores = { CPM_A: 12, CPM_Ab: 10, CPM_B: 8 }; // 30/36 spmScores = { SPM_A: 12, SPM_B: 10, SPM_C: 8, SPM_D: 8, SPM_E: 6 }; // 44/60 leiterSS = { FG: 14, FC: 14, CA: 12, SO: 12, FM: 10, RM: 8, AS: 8, AD: 8 }; } else if (type === 'average') { // Trung bình (Bậc III: NVIQ ~100) cpmScores = { CPM_A: 10, CPM_Ab: 8, CPM_B: 6 }; // 24/36 spmScores = { SPM_A: 10, SPM_B: 8, SPM_C: 6, SPM_D: 6, SPM_E: 2 }; // 32/60 leiterSS = { FG: 10, FC: 10, CA: 10, SO: 10, FM: 10, RM: 10, AS: 10, AD: 10 }; } else if (type === 'borderline') { // Dưới trung bình / Ranh giới (Bậc IV: NVIQ ~78) cpmScores = { CPM_A: 8, CPM_Ab: 6, CPM_B: 4 }; // 18/36 spmScores = { SPM_A: 8, SPM_B: 6, SPM_C: 4, SPM_D: 2, SPM_E: 0 }; // 20/60 leiterSS = { FG: 6, FC: 6, CA: 6, SO: 6, FM: 6, RM: 6, AS: 6, AD: 6 }; } else if (type === 'impaired') { // Suy giảm trí tuệ (Bậc V: NVIQ < 70) cpmScores = { CPM_A: 6, CPM_Ab: 4, CPM_B: 2 }; // 12/36 spmScores = { SPM_A: 6, SPM_B: 4, SPM_C: 2, SPM_D: 0, SPM_E: 0 }; // 12/60 leiterSS = { FG: 4, FC: 4, CA: 4, SO: 4, FM: 4, RM: 4, AS: 4, AD: 4 }; } renderItems(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); nvWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { nvWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 980px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } shadow.querySelectorAll('#toolSwitcher .tool-btn').forEach(function(btn) { btn.onclick = function() { activeTool = this.getAttribute('data-tool'); shadow.querySelectorAll('#toolSwitcher .tool-btn').forEach(b => b.classList.remove('active')); this.classList.add('active'); renderHeader(); renderItems(); updateSummary(); }; }); selAge.onchange = () => { updateSummary(); }; shadow.querySelectorAll('.nv-pbtn').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-preset')); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); renderHeader(); applyPreset('asd_strength'); })();
Raven (Trắc nghiệm khuôn hình tiếp diễn) hoặc Leiter-3: Các thang đo IQ phi ngôn ngữ (Non-verbal IQ). Đây là công cụ “cứu cánh” bắt buộc phải có khi đánh giá trẻ tự kỷ hoặc trẻ chậm nói nặng (vì trẻ không nói được sẽ bị điểm thấp oan nếu đo bằng các bài test IQ thông thường).
Trong thực hành lâm sàng với trẻ Rối loạn phổ tự kỷ (ASD) (đặc biệt là trẻ chậm nói, chưa có lời nói hoặc rối loạn ngôn ngữ nặng), nếu dùng các bài test IQ phụ thuộc nhiều vào lời nói, điểm số của trẻ sẽ bị kéo tụt giả tạo và dễ bị chẩn đoán nhầm thành Khuyết tật trí tuệ (IDD). Raven và Leiter-3 giải quyết triệt để rào cản này bằng cách đo lường trực tiếp Trí thông minh Lưu loát (Fluid Intelligence – Gf) và tư duy suy luận hình ảnh mà không yêu cầu trẻ phải phát âm một từ nào.
| Tiêu chí so sánh | 1. Raven’s Progressive Matrices (CPM & SPM) | 2. Leiter-3 (Leiter International Performance Scale-3) |
| Tác giả & Xuất bản | John C. Raven (1938, cập nhật Raven’s 2 bởi Pearson). | Gale H. Roid, Lucy J. Miller et al. (2013, Stoelting). |
| Độ tuổi áp dụng |
• Bản Màu (CPM): 5 – 11 tuổi (hoặc trẻ chậm phát triển/người già).
• Bản Tiêu chuẩn (SPM): 6 – 80+ tuổi. |
3 tuổi 0 tháng đến 75+ tuổi (Cực mạnh cho trẻ mầm non từ 3 tuổi). |
| Phương thức thực hiện | Trẻ nhìn ma trận hình ảnh bị khuyết 1 mảnh và chỉ tay chọn 1 trong 6 (hoặc 8) mảnh ghép bên dưới để hoàn thiện quy luật. | 100% Phi ngôn ngữ cả 2 chiều: Người khám cũng không được nói, chỉ dùng cử chỉ điệu bộ; trẻ di chuyển các khối mút/thẻ hình đặt vào các khe trên khung giá đỡ (Easel). |
| Cấu trúc các Tiểu thang |
• Raven CPM (36 mục — 3 Bộ A, Ab, B): Mỗi bộ 12 câu.
• Raven SPM (60 mục — 5 Bộ A, B, C, D, E): Mỗi bộ 12 câu tăng dần độ khó quy luật. |
Chia làm 2 Bộ pin độc lập (10 tiểu trắc nghiệm):
1. Bộ Nhận thức (Cognitive Battery — 4 bài tính Nonverbal IQ): Figure Ground (FG), Form Completion (FC), Classification/Analogies (CA), Sequential Order (SO).
2. Bộ Chú ý & Trí nhớ (Attention & Memory — 4 bài tính Nonverbal Memory & Processing Speed): Attention Sustained (AS), Attention Divided (AD), Forward Memory (FM), Reverse Memory (RM). |
| Hệ thống tính điểm |
• Tính Tổng điểm thô (CPM: 0–36đ; SPM: 0–60đ).
• Kiểm tra Độ lệch phân bố chuẩn (Discrepancy Consistency) giữa các bộ A, B, C, D, E.
• Quy đổi ra Bách phân vị (Percentile: Bậc I đến Bậc V) và IQ Phi ngôn ngữ tương đương. |
• Chấm Scaled Score (1 – 19, Mean = 10, SD = 3) cho từng tiểu trắc nghiệm.
• Quy đổi ra Nonverbal IQ (40 – 160, Mean = 100, SD = 15), Nonverbal Memory và Processing Speed. |
(Một phát hiện nổi tiếng trong y văn tự kỷ của Giáo sư Laurent Mottron năm 2007 là: Trẻ tự kỷ khi làm bài test Raventhường đạt điểm Bách phân vị cao hơn từ 30 đến 70 bậc so với khi làm bài test Wechsler có lời nói — vì tư duy ma trận thị giác chính là thế mạnh bẩm sinh của não bộ tự kỷ!)
Đánh giá chức năng - Lập kế hoạch can thiệp
(function(){
function mountShadowRoadmap(){
var host = document.getElementById('phuchoi-roadmap-host');
if(!host) return;
if(host.shadowRoot) return;
if(!host.attachShadow) return;
var shadow = host.attachShadow({mode:'open'});
var css = [
':host{all:initial;display:block;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:#1e293b;line-height:1.6;width:100%;box-sizing:border-box;}',
'*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}',
'.roadmap-card{width:100%;background:#ffffff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 8px 24px rgba(15,23,42,0.05);overflow:hidden;}',
'.rm-intro{background:linear-gradient(135deg,#f0f9ff 0%,#e0f2fe 100%);padding:20px 24px;border-bottom:1px solid #bae6fd;display:flex;align-items:flex-start;gap:14px;}',
'.rm-icon{font-size:26px;line-height:1;background:#ffffff;width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 10px rgba(2,132,199,0.12);flex-shrink:0;}',
'.rm-intro-text{font-size:15px;color:#0f172a;margin:0;}',
'.rm-intro-text strong{color:#0369a1;font-weight:700;}',
'.rm-table{width:100%;border-collapse:collapse;border-spacing:0;}',
'.rm-table thead th{background:#f8fafc;color:#334155;font-size:12.5px;font-weight:800;text-transform:uppercase;letter-spacing:0.4px;padding:14px 20px;text-align:left;border-bottom:2px solid #e2e8f0;}',
'.rm-table tbody tr{border-bottom:1px solid #e2e8f0;transition:background 0.2s ease;}',
'.rm-table tbody tr:last-child{border-bottom:none;}',
'.rm-table tbody tr:hover{background:#f8fafc;}',
'.rm-table td{padding:20px;vertical-align:top;}',
'.step-tag{display:inline-block;font-size:11px;font-weight:700;padding:2px 9px;border-radius:999px;text-transform:uppercase;margin-bottom:6px;}',
'.step-1{background:#ede9fe;color:#6d28d9;}',
'.step-2{background:#dbeafe;color:#1d4ed8;}',
'.step-3{background:#dcfce7;color:#15803d;}',
'.group-badge{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:800;color:#0f172a;}',
'.tools-wrap{display:flex;flex-wrap:wrap;gap:8px;}',
'.tool-link{display:inline-flex;align-items:center;gap:5px;padding:6px 13px;border-radius:8px;font-size:13.5px;font-weight:700;text-decoration:none;transition:all 0.18s ease;border:1.5px solid transparent;cursor:pointer;}',
'.tool-link::after{content:"↗";font-size:11px;opacity:0.75;}',
'.tool-purple{background:#f5f3ff;color:#6d28d9;border-color:#ddd6fe;}',
'.tool-purple:hover{background:#7c3aed;color:#ffffff;border-color:#7c3aed;transform:translateY(-2px);box-shadow:0 4px 10px rgba(124,58,237,0.25);}',
'.tool-blue{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe;}',
'.tool-blue:hover{background:#2563eb;color:#ffffff;border-color:#2563eb;transform:translateY(-2px);box-shadow:0 4px 10px rgba(37,99,235,0.25);}',
'.tool-green{background:#f0fdf4;color:#15803d;border-color:#bbf7d0;}',
'.tool-green:hover{background:#16a34a;color:#ffffff;border-color:#16a34a;transform:translateY(-2px);box-shadow:0 4px 10px rgba(22,163,74,0.25);}',
'.desc-text{font-size:14.2px;color:#334155;margin:0;}',
'@media (max-width:768px){.rm-intro{padding:16px;}.rm-table thead{display:none;}.rm-table,.rm-table tbody,.rm-table tr,.rm-table td{display:block;width:100%;}.rm-table tbody tr{padding:16px;}.rm-table td{padding:6px 0;}.tools-wrap{margin:6px 0 8px 0;}}'
].join('');
var styleEl = document.createElement('style');
styleEl.textContent = css;
shadow.appendChild(styleEl);
var rowsData = [
{
stepCls: 'step-1',
stepTxt: 'Bước 1 • Nền tảng',
title: '🧩 Hành vi thích ứng & Giác quan',
btnCls: 'tool-purple',
tools: [
{name: 'Vineland-3', url: 'https://phuchoi.vn/kien-thuc/cong-cu/danh-gia-chuc-nang-lap-ke-hoach-can-thiep/vineland-3/'},
{name: 'Sensory Profile 2', url: 'https://phuchoi.vn/kien-thuc/cong-cu/danh-gia-chuc-nang-lap-ke-hoach-can-thiep/sensory-profile-2/'},
{name: 'SPM-2', url: 'https://phuchoi.vn/kien-thuc/cong-cu/danh-gia-chuc-nang-lap-ke-hoach-can-thiep/spm-2/'}
],
desc: 'Đánh giá khả năng tự lập, thích nghi trong sinh hoạt hàng ngày và cách hệ thần kinh của trẻ tiếp nhận, phản ứng với các kích thích giác quan (âm thanh, ánh sáng, xúc giác, vận động...).'
},
{
stepCls: 'step-2',
stepTxt: 'Bước 2 • Lên giáo án',
title: '🎯 Lập kế hoạch giáo dục cá nhân (IEP)',
btnCls: 'tool-blue',
tools: [
{name: 'PEP-3', url: 'https://phuchoi.vn/kien-thuc/cong-cu/danh-gia-chuc-nang-lap-ke-hoach-can-thiep/pep-3/'},
{name: 'VB-MAPP', url: 'https://phuchoi.vn/kien-thuc/cong-cu/danh-gia-chuc-nang-lap-ke-hoach-can-thiep/vb-mapp/'},
{name: 'ABLLS-R', url: 'https://phuchoi.vn/kien-thuc/cong-cu/danh-gia-chuc-nang-lap-ke-hoach-can-thiep/ablls-r/'},
{name: 'ESDM', url: 'https://phuchoi.vn/kien-thuc/cong-cu/danh-gia-chuc-nang-lap-ke-hoach-can-thiep/esdm/'},
{name: 'AFLS', url: 'https://phuchoi.vn/kien-thuc/cong-cu/danh-gia-chuc-nang-lap-ke-hoach-can-thiep/afls/'}
],
desc: 'Các bộ công cụ chia nhỏ từng kỹ năng (ngôn ngữ, giao tiếp, học tập, bắt chước...) giúp xác định chính xác trẻ đang dừng ở mốc nào, từ đó lên giáo án can thiệp cá nhân hóa (IEP) phù hợp nhất.'
},
{
stepCls: 'step-3',
stepTxt: 'Bước 3 • Đo lường',
title: '📈 Theo dõi hiệu quả can thiệp',
btnCls: 'tool-green',
tools: [
{name: 'ATEC', url: 'https://phuchoi.vn/kien-thuc/cong-cu/danh-gia-chuc-nang-lap-ke-hoach-can-thiep/atec/'}
],
desc: 'Bảng kiểm định kỳ giúp cha mẹ và giáo viên đối chiếu điểm số trước và sau mỗi giai đoạn can thiệp, từ đó đánh giá phương pháp hiện tại có hiệu quả với trẻ hay không.'
}
];
var card = document.createElement('div');
card.className = 'roadmap-card';
var intro = document.createElement('div');
intro.className = 'rm-intro';
var icon = document.createElement('div');
icon.className = 'rm-icon';
icon.textContent = '🗺️';
var introP = document.createElement('p');
introP.className = 'rm-intro-text';
introP.appendChild(document.createTextNode('Sau khi có kết quả chẩn đoán, các công cụ này đóng vai trò như '));
var strongEl = document.createElement('strong');
strongEl.textContent = '"bản đồ chỉ đường"';
introP.appendChild(strongEl);
introP.appendChild(document.createTextNode(', giúp chuyên gia và gia đình nắm rõ điểm mạnh, điểm yếu cụ thể của trẻ để thiết kế mục tiêu dạy học sát sườn và đo lường sự tiến bộ theo thời gian.'));
intro.appendChild(icon);
intro.appendChild(introP);
card.appendChild(intro);
var table = document.createElement('table');
table.className = 'rm-table';
var thead = document.createElement('thead');
var trHead = document.createElement('tr');
var headers = [
{txt: 'Nhóm Chức Năng & Mục Tiêu', w: '27%'},
{txt: 'Bộ Công Cụ Chuẩn Hóa (Nhấn để xem)', w: '31%'},
{txt: 'Vai Trò & Ý Nghĩa Thực Tiễn', w: '42%'}
];
headers.forEach(function(h){
var th = document.createElement('th');
th.style.width = h.w;
th.textContent = h.txt;
trHead.appendChild(th);
});
thead.appendChild(trHead);
table.appendChild(thead);
var tbody = document.createElement('tbody');
rowsData.forEach(function(r){
var tr = document.createElement('tr');
var td1 = document.createElement('td');
var tag = document.createElement('span');
tag.className = 'step-tag ' + r.stepCls;
tag.textContent = r.stepTxt;
var badge = document.createElement('div');
badge.className = 'group-badge';
badge.textContent = r.title;
td1.appendChild(tag);
td1.appendChild(badge);
var td2 = document.createElement('td');
var wrap = document.createElement('div');
wrap.className = 'tools-wrap';
r.tools.forEach(function(t){
var a = document.createElement('a');
a.className = 'tool-link ' + r.btnCls;
a.href = t.url;
a.target = '_blank';
a.rel = 'noopener';
a.textContent = t.name;
wrap.appendChild(a);
});
td2.appendChild(wrap);
var td3 = document.createElement('td');
var desc = document.createElement('p');
desc.className = 'desc-text';
desc.textContent = r.desc;
td3.appendChild(desc);
tr.appendChild(td1);
tr.appendChild(td2);
tr.appendChild(td3);
tbody.appendChild(tr);
});
table.appendChild(tbody);
card.appendChild(table);
shadow.appendChild(card);
}
if(document.readyState === 'loading'){
document.addEventListener('DOMContentLoaded', mountShadowRoadmap);
} else {
mountShadowRoadmap();
}
})();
[Lập kế hoạch IEP] Bảng kiểm ESDM: Đánh giá kỹ năng toàn diện và lên mục tiêu can thiệp sớm cho trẻ tự kỷ (12 – 48 tháng)
(function() { const host = document.getElementById('esdm-wp-host'); if (!host) return; const placeholder = document.createComment('esdm-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // Cấu hình 9 Lĩnh vực chuẩn của Bảng kiểm ESDM (Rogers & Dawson, 2010) const domConfigs = { rc: { code: 'rc', name: '1. Ngôn ngữ Tiếp nhận (Receptive Communication)', color: '#2563eb' }, ec: { code: 'ec', name: '2. Ngôn ngữ Diễn đạt (Expressive Communication)', color: '#0284c7' }, soc: { code: 'soc', name: '3. Kỹ năng Xã hội & Chú ý chung (Social & JA)', color: '#7c3aed' }, imi: { code: 'imi', name: '4. Bắt chước (Imitation)', color: '#9333ea' }, cog: { code: 'cog', name: '5. Nhận thức (Cognition)', color: '#0d9488' }, pla: { code: 'pla', name: '6. Kỹ năng Chơi: Tác chức năng & Tưởng tượng (Play)', color: '#10b981' }, fm: { code: 'fm', name: '7. Vận động Tinh (Fine Motor)', color: '#f59e0b' }, gm: { code: 'gm', name: '8. Vận động Thô (Gross Motor)', color: '#ea580c' }, ind: { code: 'ind', name: '9. Độc lập Cá nhân / Tự phục vụ (Independence)', color: '#dc2626' } }; // Cấu hình 4 Cấp độ phát triển chuẩn ESDM (Levels 1 - 4) // Mỗi cấp độ gồm 18 cụm mục tiêu cốt lõi đại diện cho đủ 9 Lĩnh vực (Mỗi lĩnh vực 2 cụm mục tiêu chuẩn ESDM) const levelData = { lvl1: { code: 'lvl1', tabTitle: '🌱 Cấp độ 1 (12 – 18 tháng)', tabSub: 'Level 1 • Nền tảng giao tiếp & chú ý chung', fullTitle: 'Bảng Kiểm ESDM Cấp Độ 1 (Level 1 • Tương Đương Tuổi Phát Triển 12 – 18 Tháng)', desc: 'Tập trung xây dựng nền tảng gắn kết cảm xúc, giao tiếp mắt, đáp ứng và khởi xướng sự chú ý chung (Joint Attention), cử chỉ chỉ trỏ, bắt chước thao tác với đồ vật và các từ đơn đầu tiên.', items: [ // 1. Ngôn ngữ Tiếp nhận (L1) { id: 101, dom: 'rc', name: 'RC-L1.1: Định hướng âm thanh, quay đầu nhìn mắt ngay khi nghe gọi tên và dừng tay khi nghe "Dừng lại / Không"', desc: 'Trẻ quay đầu nhìn thẳng vào mặt người gọi trong vòng 2 giây và hiểu các từ ngăn cản cơ bản.' }, { id: 102, dom: 'rc', name: 'RC-L1.2: Thực hiện đúng 8–10 mệnh lệnh vận động đơn giản 1 bước và nhận diện 10–15 đồ vật/bộ phận cơ thể quen thuộc', desc: 'Nhìn, chỉ hoặc đưa đúng đồ vật khi nghe yêu cầu ("Đưa bóng cho mẹ", "Chỉ mũi của con") và hiểu cử chỉ xòe tay.' }, // 2. Ngôn ngữ Diễn đạt (L1) { id: 103, dom: 'ec', name: 'EC-L1.1: Sử dụng cử chỉ chỉ ngón trỏ (kèm nhìn mắt) và phát âm có chủ đích để yêu cầu đồ vật mong muốn', desc: 'Trẻ phối hợp ánh mắt + cử chỉ vươn tay/chỉ trỏ + âm thanh để xin mở hộp, xin thêm bong bóng hoặc đồ ăn.' }, { id: 104, dom: 'ec', name: 'EC-L1.2: Bắt chước phát âm và tự phát nói từ 5 – 10 từ đơn gần đúng trong các hoạt động chơi chung', desc: 'Sử dụng các âm tiết và từ đơn có nghĩa ("măm", "bóng", "mở", "nữa", "bà/mẹ") hướng tới người đối diện.' }, // 3. Kỹ năng Xã hội & Chú ý chung (L1) { id: 105, dom: 'soc', name: 'SOC-L1.1: Tham gia các trò chơi cảm giác – xã hội (Ú òa, cù léc, hát vận động) kèm nhìn mắt và mỉm cười chia sẻ', desc: 'Duy trì tương tác vui vẻ trong 2–3 lượt và biết ra hiệu/nhìn mắt để yêu cầu người lớn tiếp tục trò chơi.' }, { id: 106, dom: 'soc', name: 'SOC-L1.2: Đáp ứng và Khởi xướng Chú ý chung (Nhìn theo tay chỉ của người lớn & Giơ đồ chơi khoe/chỉ tay chia sẻ)', desc: 'Trẻ chuyển ánh mắt luân phiên giữa món đồ chơi thú vị và khuôn mặt người lớn để chia sẻ niềm vui.' }, // 4. Bắt chước (L1) { id: 107, dom: 'imi', name: 'IMI-L1.1: Bắt chước 8–10 hành động đơn giản với đồ vật ngay sau khi người lớn làm mẫu trong trò chơi', desc: 'Ví dụ: Lăn xe, gõ trống, thả khối vào hộp, lắc xúc xắc, khuấy thìa trong cốc.' }, { id: 108, dom: 'imi', name: 'IMI-L1.2: Bắt chước 6–10 động tác vận động cơ thể/cử chỉ bài hát và các cử động miệng – mặt, nguyên âm', desc: 'Bắt chước vỗ tay, đập bàn, giơ tay lên cao, vẫy tay tạm biệt và chu môi/phồng má tạo âm thanh.' }, // 5. Nhận thức (L1) { id: 109, dom: 'cog', name: 'COG-L1.1: Ghép đôi tương ứng các đồ vật giống hệt nhau (3D–3D) và đặt đúng 3 hình cơ bản vào bảng khuôn', desc: 'Ghép cốc với cốc, thìa với thìa, bóng với bóng và lắp hình Tròn, Vuông, Tam giác vào khuôn.' }, { id: 110, dom: 'cog', name: 'COG-L1.2: Ghép đồ vật thật với bức tranh 2D tương ứng và phân loại ban đầu 2 nhóm đồ vật', desc: 'Nhận biết sự tương đồng giữa đồ chơi thật trên tay và hình chụp của nó trên thẻ tranh.' }, // 6. Kỹ năng Chơi (L1) { id: 111, dom: 'pla', name: 'PLA-L1.1: Chơi đúng chức năng với đa dạng đồ chơi nhân quả và đồ chơi tháo lắp (xếp tháp, thả khối, lồng cốc)', desc: 'Hoàn thành trọn vẹn nhiệm vụ của món đồ chơi (thả hết các khối vào hộp rồi mở nắp lấy ra) mà không lặp lại cứng nhắc.' }, { id: 112, dom: 'pla', name: 'PLA-L1.2: Thực hiện các hành động chơi chức năng quy ước hướng về bản thân (Đưa cốc lên uống, áp điện thoại lên tai, chải đầu)', desc: 'Sử dụng đúng công dụng xã hội của 5–8 đồ vật sinh hoạt thu nhỏ trên chính cơ thể mình.' }, // 7. Vận động Tinh (L1) { id: 113, dom: 'fm', name: 'FM-L1.1: Cầm kẹp vật nhỏ bằng đầu ngón cái – ngón trỏ (Pincer grasp), xếp chồng 3 khối gỗ và lật trang sách bìa cứng', desc: 'Thả hạt nhỏ/đồng xu vào khe hẹp và phối hợp hai tay để tháo mở các khối Lego Duplo lớn.' }, { id: 114, dom: 'fm', name: 'FM-L1.2: Cầm bút sáp màu bằng lòng bàn tay/ngón tay để vẽ nguệch ngoạc tự phát trên giấy sau khi xem mẫu', desc: 'Tạo được các nét chấm và nét vạch rõ ràng trên mặt giấy.' }, // 8. Vận động Thô (L1) { id: 115, dom: 'gm', name: 'GM-L1.1: Đi độc lập vững vàng, tự cúi nhặt đồ chơi dưới sàn đứng lên không ngã và trèo lên ghế nhỏ', desc: 'Di chuyển linh hoạt trong phòng và mang theo đồ chơi lớn khi đi.' }, { id: 116, dom: 'gm', name: 'GM-L1.2: Lăn bóng qua lại, ném bóng bằng tay về phía trước và bước đá quả bóng lớn mà không mất thăng bằng', desc: 'Bò hoặc bước vịn lên các bậc cầu thang thấp an toàn.' }, // 9. Độc lập Cá nhân (L1) { id: 117, dom: 'ind', name: 'IND-L1.1: Ngồi tại bàn ăn cùng gia đình, tự cầm cốc uống nước bằng hai tay và dùng ngón tay/thìa tự xúc thức ăn', desc: 'Chấp nhận thử nhiều kết cấu thức ăn khác nhau và tự đưa thìa có thức ăn vào miệng.' }, { id: 118, dom: 'ind', name: 'IND-L1.2: Phối hợp đưa tay chân khi mặc đồ, tự cởi mũ/tất/giày lỏng và chịu đưa tay dưới vòi nước khi rửa tay', desc: 'Bắt đầu tham gia vào quy trình tự chăm sóc bản thân hàng ngày.' } ] }, lvl2: { code: 'lvl2', tabTitle: '🌿 Cấp độ 2 (18 – 24 tháng)', tabSub: 'Level 2 • Cụm từ 2 từ & Chơi giả vờ với búp bê', fullTitle: 'Bảng Kiểm ESDM Cấp Độ 2 (Level 2 • Tương Đương Tuổi Phát Triển 18 – 24 Tháng)', desc: 'Mở rộng vốn từ vựng nghe hiểu và diễn đạt lên trên 50 từ, bắt đầu ghép cụm 2 từ, chơi đóng vai giả vờ hướng tới búp bê/người khác, bắt chước chuỗi 2 bước và chơi song song cạnh bạn đồng trang lứa.', items: [ // 1. Ngôn ngữ Tiếp nhận (L2) { id: 201, dom: 'rc', name: 'RC-L2.1: Thực hiện mệnh lệnh theo lời nói mà không cần cử chỉ gợi ý & Chỉ đúng 10–15 bức tranh đồ vật/con vật trong sách', desc: 'Hiểu các động từ hành động trên tranh ("Ai đang ăn/đang ngủ/đang chạy?") và lấy đồ vật từ khoảng cách xa.' }, { id: 202, dom: 'rc', name: 'RC-L2.2: Nhận diện 8–10 bộ phận cơ thể trên bản thân và trên búp bê, bắt đầu hiểu giới từ "Trong / Trên"', desc: 'Làm theo chỉ dẫn đặt đồ vật vào trong hộp hoặc lên trên bàn.' }, // 2. Ngôn ngữ Diễn đạt (L2) { id: 203, dom: 'ec', name: 'EC-L2.1: Sử dụng vốn từ vựng tự phát từ 30 – 50 từ đơn (danh từ, động từ, từ chỉ vị trí) để yêu cầu và gọi tên', desc: 'Chủ động gọi tên đồ vật trong tranh/ngoài đời để khoe với người lớn và biết nói tên của bản thân.' }, { id: 204, dom: 'ec', name: 'EC-L2.2: Kết hợp 2 từ tạo thành cụm từ có nghĩa ("Mở hộp", "Thêm bóng", "Chào mẹ", "Con ăn") và dùng lời từ chối "Không"', desc: 'Biết dùng câu hỏi đơn giản "Cái gì đây?" kèm ngữ điệu lên giọng.' }, // 3. Kỹ năng Xã hội & Chú ý chung (L2) { id: 205, dom: 'soc', name: 'SOC-L2.1: Khởi xướng và duy trì tương tác xã hội qua lại với người lớn bằng sự kết hợp Ánh mắt + Cử chỉ + Lời nói', desc: 'Biết chào hỏi/tạm biệt có nhìn mắt, mang sách/đồ chơi lại rủ người lớn cùng chơi và an ủi khi thấy người khác giả vờ đau.' }, { id: 206, dom: 'soc', name: 'SOC-L2.2: Ngồi chơi song song gần các bạn cùng trang lứa, quan sát bắt chước bạn và trao/nhận đồ chơi khi được gợi ý', desc: 'Tham gia vào các trò chơi vòng tròn đơn giản cùng 2–3 bạn mà không bỏ đi hoặc giật đồ.' }, // 4. Bắt chước (L2) { id: 207, dom: 'imi', name: 'IMI-L2.1: Bắt chước chuỗi hành động gồm 2 bước liên tiếp với đồ vật và bắt chước các hành động chơi giả vờ', desc: 'Ví dụ: Mở nắp hộp lấy khối gỗ ra rồi xếp lên nhau; hoặc khuấy thìa trong cốc rồi đút cho búp bê uống.' }, { id: 208, dom: 'imi', name: 'IMI-L2.2: Bắt chước các cử chỉ bàn tay vô hình (làm tai thỏ, ống nhòm), nét mặt cảm xúc và cụm từ 2 từ', desc: 'Quan sát kỹ và tái tạo lại ngay các động tác vận động tinh và lời nói mẫu.' }, // 5. Nhận thức (L2) { id: 209, dom: 'cog', name: 'COG-L2.1: Phân loại và ghép đôi đồ vật/tranh ảnh theo Màu sắc, Hình khối cơ bản và Kích thước (To – Nhỏ)', desc: 'Ghép các bức tranh không giống hệt 100% nhưng cùng loại (VD: các giống chó khác nhau vào chung một nhóm).' }, { id: 210, dom: 'cog', name: 'COG-L2.2: Ghép nối các đồ vật có liên quan chức năng với nhau (Bút đi với giấy, Thìa đi với bát, Giày đi với tất)', desc: 'Hoàn thành bảng ghép hình gỗ có núm cầm gồm 4 – 6 mảnh rời.' }, // 6. Kỹ năng Chơi (L2) { id: 211, dom: 'pla', name: 'PLA-L2.1: Chơi đóng vai giả vờ hướng tới búp bê/thú bông và người khác (Đút cho gấu ăn, chải tóc cho mẹ, đắp chăn cho búp bê)', desc: 'Kết hợp 2–3 hành động liên hoàn trong một chủ đề chơi giả vờ (Rót nước vào cốc -> Khuấy -> Cho búp bê uống).' }, { id: 212, dom: 'pla', name: 'PLA-L2.2: Bắt đầu dùng vật thay thế tượng trưng trong lúc chơi (Lấy khối gỗ giả làm bánh/điện thoại) và tự chơi độc lập 5–10 phút', desc: 'Biết tự lấy đồ chơi, chơi đúng cách và cất dọn vào hộp khi kết thúc.' }, // 7. Vận động Tinh (L2) { id: 213, dom: 'fm', name: 'FM-L2.1: Xếp chồng tháp 6–8 khối gỗ, xâu 3–4 hạt gỗ lớn vào dây và biết xoay cổ tay vặn mở nắp lọ', desc: 'Lắp ghép các khối hình có khớp nối chặt và lật từng trang sách mỏng.' }, { id: 214, dom: 'fm', name: 'FM-L2.2: Cầm bút bằng các ngón tay bắt chước vẽ đường thẳng đứng, đường ngang và nét tròn xoay vòng; tập nhấp kéo cắt đất nặn/giấy', desc: 'Sử dụng đất nặn với các dụng cụ (lăn đất, ấn khuôn, cắm que).' }, // 8. Vận động Thô (L2) { id: 215, dom: 'gm', name: 'GM-L2.1: Chạy vững vàng không ngã, tự bước lên và xuống cầu thang không cần vịn (bước dồn chân) và nhảy chụm hai chân tại chỗ', desc: 'Nhảy từ bậc thềm thấp xuống sàn bằng hai chân.' }, { id: 216, dom: 'gm', name: 'GM-L2.2: Đứng ném bóng qua đầu về phía trước, đá bóng trúng hướng và ngồi chòi chân trên xe 3 bánh tiến về trước', desc: 'Bắt chước các tư thế vận động toàn thân (đứng kiễng chân, bò chui qua hầm).' }, // 9. Độc lập Cá nhân (L2) { id: 217, dom: 'ind', name: 'IND-L2.1: Tự dùng thìa và nĩa xúc ăn gọn gàng, uống nước bằng ống hút/cốc mở không đổ và tự lấy khăn lau miệng', desc: 'Ngồi yên tại bàn ăn suốt bữa cùng gia đình hoặc các bạn ở lớp.' }, { id: 218, dom: 'ind', name: 'IND-L2.2: Tự cởi quần thun, áo khoác đã mở khóa, giày tất; tự rửa tay xà phòng và bắt đầu ngồi bô/bồn cầu theo giờ', desc: 'Biết bỏ quần áo bẩn vào giỏ và bỏ rác vào thùng khi được nhắc.' } ] }, lvl3: { code: 'lvl3', tabTitle: '🌳 Cấp độ 3 (24 – 36 tháng)', tabSub: 'Level 3 • Câu 3–4 từ, Bạn bè & Đi vệ sinh', fullTitle: 'Bảng Kiểm ESDM Cấp Độ 3 (Level 3 • Tương Đương Tuổi Phát Triển 24 – 36 Tháng / 2 – 3 Tuổi)', desc: 'Phát triển ngôn ngữ câu 3–4 từ, trả lời câu hỏi Wh- (Ai, Cái gì, Ở đâu), chơi hợp tác chia sẻ với bạn đồng trang lứa, nhận diện cảm xúc, chơi kịch bản tưởng tượng và tự lập đi vệ sinh.', items: [ // 1. Ngôn ngữ Tiếp nhận (L3) { id: 301, dom: 'rc', name: 'RC-L3.1: Hiểu các giới từ không gian (Trên, Dưới, Trong, Cạnh, Trước, Sau) và đại từ nhân xưng/sở hữu (Anh ấy, Cô ấy, Của con, Của bạn)', desc: 'Thực hiện chính xác mệnh lệnh gồm 2 bước liên tiếp với các đồ vật khác nhau.' }, { id: 302, dom: 'rc', name: 'RC-L3.2: Chọn đúng đồ vật khi nghe mô tả theo công dụng ("Cái gì dùng để cắt/để ngủ?") và chú ý nghe kể một cuốn truyện tranh ngắn 5 phút', desc: 'Chỉ đúng các chi tiết và nhân vật trong truyện khi được hỏi.' }, // 2. Ngôn ngữ Diễn đạt (L3) { id: 303, dom: 'ec', name: 'EC-L3.1: Nói câu 3 – 4 từ thường xuyên để bình luận, mô tả hành động và trả lời câu hỏi "Cái gì?", "Ai?", "Ở đâu?"', desc: 'Sử dụng đúng đại từ "Con" để xưng hô và nói rõ họ tên, tuổi của mình.' }, { id: 304, dom: 'ec', name: 'EC-L3.2: Chủ động đặt câu hỏi "Cái gì đó?", "Ở đâu rồi?" và duy trì hội thoại ngắn 2–3 lượt về một chủ đề chung', desc: 'Bắt đầu sử dụng các từ chỉ số nhiều, tính từ màu sắc/kích thước và từ chỉ quá khứ ("rồi").' }, // 3. Kỹ năng Xã hội: Người lớn & Bạn bè (L3) { id: 305, dom: 'soc', name: 'SOC-L3.1: Tham gia chơi hợp tác luân phiên (Turn-taking) với bạn đồng trang lứa trong 5–10 phút và biết chia sẻ đồ dùng', desc: 'Biết dùng lời nói để rủ bạn chơi ("Chơi với tớ đi"), xin mượn đồ chơi và đưa đồ cho bạn.' }, { id: 306, dom: 'soc', name: 'SOC-L3.2: Nhận diện và gọi tên các cảm xúc cơ bản (Vui, Buồn, Giận, Sợ) trên tranh và trên khuôn mặt người thật', desc: 'Biết bắt chước hành động của bạn cùng lớp trong các trò chơi tập thể (đuổi bắt, trốn tìm, làm đoàn tàu).' }, // 4. Bắt chước (L3) { id: 307, dom: 'imi', name: 'IMI-L3.1: Bắt chước chuỗi hành động gồm 3 bước liên tiếp và dựng lại mô hình lắp ghép từ 4–5 khối hình theo mẫu của người lớn', desc: 'Quan sát mẫu lắp ghép hoàn chỉnh và tự chọn các khối tương ứng để dựng lại.' }, { id: 308, dom: 'imi', name: 'IMI-L3.2: Bắt chước toàn bộ bài hát vận động nhiều động tác và bắt chước lời nói/hành động của bạn cùng trang lứa trong giờ chơi', desc: 'Thực hiện đồng bộ động tác cùng nhóm bạn mà không cần hỗ trợ thể chất.' }, // 5. Nhận thức (L3) { id: 309, dom: 'cog', name: 'COG-L3.1: Phân loại đồ vật theo nhóm danh mục khái niệm (Con vật, Đồ ăn, Quần áo, Phương tiện) và gọi tên 4 màu sắc cơ bản', desc: 'Hiểu các cặp khái niệm đối lập: To – Nhỏ, Dài – Ngắn, Nóng – Lạnh, Ướt – Khô, Nhiều – Ít.' }, { id: 310, dom: 'cog', name: 'COG-L3.2: Đếm chỉ tay tương ứng 1–1 và lấy đúng số lượng từ 1 đến 3 đồ vật; ghép tranh cắt rời 4–6 mảnh khít nhau', desc: 'Ghép nối chuỗi lô-tô hình ảnh và tìm ra vật có mối liên hệ logic.' }, // 6. Kỹ năng Chơi (L3) { id: 311, dom: 'pla', name: 'PLA-L3.1: Xây dựng công trình sáng tạo từ khối gỗ/Lego (xây nhà, chuồng thú, đường ray) và kết hợp nhân vật vào chơi kịch bản', desc: 'Gán thuộc tính tưởng tượng và lời thoại cho nhân vật búp bê/con vật trong lúc chơi.' }, { id: 312, dom: 'pla', name: 'PLA-L3.2: Thực hiện chuỗi kịch bản chơi đóng vai gồm 3–4 bước có cốt truyện (Nấu thức ăn -> Bày bàn -> Mời búp bê ăn -> Rửa bát)', desc: 'Có thể chơi đóng vai tưởng tượng mà không cần đồ vật thật (giả vờ cầm vòi nước xịt chữa cháy).' }, // 7. Vận động Tinh (L3) { id: 313, dom: 'fm', name: 'FM-L3.1: Cầm bút bằng 3 ngón tay vẽ sao chép hình tròn (○), hình chữ thập (+) và tô màu vào trong hình vẽ đơn giản', desc: 'Bắt đầu vẽ hình mặt người có mắt, miệng hoặc hình bông hoa/ông mặt trời.' }, { id: 314, dom: 'fm', name: 'FM-L3.2: Dùng kéo cắt đứt đôi mảnh giấy theo đường thẳng, xâu chuỗi hạt nhỏ và tự mở/cài cúc áo lớn hoặc khóa kéo', desc: 'Ghép hoàn chỉnh bộ xếp hình Jigsaw Puzzle từ 5 – 8 mảnh.' }, // 8. Vận động Thô (L3) { id: 315, dom: 'gm', name: 'GM-L3.1: Bước lên cầu thang luân phiên từng chân không cần vịn, đứng một chân giữ thăng bằng 3 giây và nhảy xa qua vạch', desc: 'Đạp xe 3 bánh thành thạo và tự điều khiển tay lái rẽ qua góc cua.' }, { id: 316, dom: 'gm', name: 'GM-L3.2: Bắt quả bóng lớn ném tới bằng hai tay và ném bóng nhỏ bằng một tay trúng đích ở khoảng cách 1.5m', desc: 'Đá bóng đang lăn tới và tham gia các trò chơi vận động vượt chướng ngại vật.' }, // 9. Độc lập Cá nhân (L3) { id: 317, dom: 'ind', name: 'IND-L3.1: Kiểm soát việc đi vệ sinh ban ngày (Báo khi có nhu cầu hoặc tự đi vào nhà vệ sinh, tự kéo quần xuống/lên và xả nước)', desc: 'Tự rửa tay, lau khô tay, tự đánh răng cơ bản và tự chải đầu/lau mũi bằng khăn giấy.' }, { id: 318, dom: 'ind', name: 'IND-L3.2: Tự mặc và tự cởi quần đùi/quần dài, áo khoác, đi tất và mang giày (dán Velcro); phụ giúp dọn bàn ăn/cho thú cưng ăn', desc: 'Làm theo các quy trình sinh hoạt cá nhân gồm 3–4 bước mà ít cần nhắc nhở.' } ] }, lvl4: { code: 'lvl4', tabTitle: '🎓 Cấp độ 4 (36 – 48 tháng)', tabSub: 'Level 4 • Hội thoại, Tư duy cảm xúc & Tiền học đường', fullTitle: 'Bảng Kiểm ESDM Cấp Độ 4 (Level 4 • Tương Đương Tuổi Phát Triển 36 – 48 Tháng / 3 – 4 Tuổi)', desc: 'Đỉnh cao của chương trình ESDM nhằm chuẩn bị cho trẻ hòa nhập hoàn toàn vào lớp mẫu giáo lớn: kể lại sự kiện quá khứ, trả lời câu hỏi "Tại sao / Khi nào?", hiểu góc nhìn của bạn bè, chơi nhóm có luật lệ và nắm vững khái niệm chữ cái – con số.', items: [ // 1. Ngôn ngữ Tiếp nhận (L4) { id: 401, dom: 'rc', name: 'RC-L4.1: Hiểu các khái niệm so sánh (Lớn nhất, Nhỏ nhất, Dài hơn, Ngắn hơn), từ chỉ số lượng và khái niệm Giống nhau – Khác nhau', desc: 'Thực hiện chính xác chỉ dẫn phức hợp gồm 3 bước không liên quan nhau và hiểu câu hỏi phủ định ("Cái nào KHÔNG phải là...").' }, { id: 402, dom: 'rc', name: 'RC-L4.2: Nghe hiểu câu chuyện kể dài và trả lời đúng các câu hỏi đọc hiểu về nhân vật, sự kiện và nguyên nhân trong truyện', desc: 'Hiểu các khái niệm thời gian (Hôm qua, Hôm nay, Buổi sáng, Buổi tối) và thứ tự (Đầu tiên, Tiếp theo, Cuối cùng).' }, // 2. Ngôn ngữ Diễn đạt (L4) { id: 403, dom: 'ec', name: 'EC-L4.1: Trả lời hợp lý các câu hỏi "Tại sao?", "Khi nào?", "Làm thế nào?" và giải thích công dụng/đặc điểm của sự vật', desc: 'Nói câu phức dài 5–6 từ sử dụng liên từ ("và", "bởi vì", "nhưng") và đúng các từ chỉ quá khứ/tương lai.' }, { id: 404, dom: 'ec', name: 'EC-L4.2: Kể lại một sự việc đã trải qua trong ngày/quá khứ và duy trì cuộc hội thoại qua lại 4–5 lượt với người lớn và bạn bè', desc: 'Biết hỏi lại người đối diện và điều chỉnh thông tin khi người nghe chưa hiểu.' }, // 3. Kỹ năng Xã hội & Bạn bè (L4) { id: 405, dom: 'soc', name: 'SOC-L4.1: Chủ động mời bạn cùng chơi đóng vai theo kịch bản chung, biết thương lượng phân vai và giải quyết mâu thuẫn bằng lời', desc: 'Chơi hòa đồng với nhóm 2–3 bạn trong 15–20 phút mà không cần người lớn đứng kèm sát.' }, { id: 406, dom: 'soc', name: 'SOC-L4.2: Lý giải được nguyên nhân gây ra cảm xúc của người khác ("Tại sao bạn khóc/vui?") và thể hiện sự đồng cảm phù hợp', desc: 'Nhận thức được suy nghĩ và sở thích của bạn có thể khác với sở thích của mình (Thuyết tâm trí sơ khởi).' }, // 4. Nhận thức & Tiền học đường (L4) { id: 407, dom: 'cog', name: 'COG-L4.1: Đếm tương ứng số lượng đến 10, nhận diện chữ số (1–10) và ghép đúng thẻ chữ số với số lượng đồ vật tương ứng', desc: 'Hiểu khái niệm "Nhiều hơn / Ít hơn / Bằng nhau" và thêm bớt trong phạm vi 5.' }, { id: 408, dom: 'cog', name: 'COG-L4.2: Nhận diện ít nhất 10–15 chữ cái, nhận biết tên mình viết trên thẻ, nối tiếp chuỗi quy luật (A-B-A-B) và sắp xếp 3–4 tranh theo trình tự câu chuyện', desc: 'Trả lời được câu hỏi giải quyết vấn đề thực tế ("Nếu làm đổ nước ra sàn thì con phải làm gì?").' }, // 5. Kỹ năng Chơi (L4) { id: 409, dom: 'pla', name: 'PLA-L4.1: Tổ chức kịch bản chơi đóng vai phức tạp nhiều vai (Đi khám bác sĩ, Đi siêu thị, Cứu hỏa) kết hợp làm đạo cụ thủ công', desc: 'Linh hoạt chấp nhận ý tưởng thay đổi tình huống chơi do bạn cùng chơi đưa ra.' }, { id: 410, dom: 'pla', name: 'PLA-L4.2: Tham gia các trò chơi bàn cờ (Board games: Cờ cá ngựa, Domino, Lô-tô) và trò chơi vận động tập thể có luật Thắng – Thua', desc: 'Biết chờ lượt, tuân thủ luật chơi chung của nhóm và bình tĩnh khi thua cuộc.' }, // 6. Vận động Tinh (L4) { id: 411, dom: 'fm', name: 'FM-L4.1: Vẽ sao chép hình vuông (□), đường chéo (╱), viết một số chữ cái/tên mình và vẽ hình người có ≥ 6 bộ phận cơ thể', desc: 'Vẽ các bức tranh có chủ đề nhận diện được (ngôi nhà, cái cây, ô tô, con vật) và tô màu kín không lem.' }, { id: 412, dom: 'fm', name: 'FM-L4.2: Dùng kéo cắt rời các hình vẽ theo đường thẳng và đường cong (hình tròn, hình vuông) rồi dán keo tạo sản phẩm thủ công', desc: 'Ghép hoàn chỉnh bộ xếp hình Jigsaw từ 10 – 12 mảnh nhỏ.' }, // 7. Vận động Thô (L4) { id: 413, dom: 'gm', name: 'GM-L4.1: Nhảy lò cò trên 1 chân liên tiếp 5 bước, đứng 1 chân > 5 giây, đi nối gót trên vạch thẳng và bước xuống cầu thang luân phiên', desc: 'Chạy nhanh đổi hướng linh hoạt và nhảy qua chướng ngại vật.' }, { id: 414, dom: 'gm', name: 'GM-L4.2: Đập bóng nảy xuống sàn rồi bắt lại, bắt bóng nhỏ bằng hai bàn tay và ném bóng trúng rổ/đích từ xa', desc: 'Tham gia trọn vẹn các trò chơi vận động nhóm trong giờ Thể dục mầm non.' }, // 8. Độc lập Cá nhân (L4) { id: 415, dom: 'ind', name: 'IND-L4.1: Hoàn toàn độc lập trong toàn bộ quy trình đi vệ sinh (tự đi, tự lau chùi sạch, xả nước, mặc quần, rửa tay) và tự mặc quần áo (cài cúc, kéo khóa)', desc: 'Biết tự đi giày đúng chân trái/phải và tự chuẩn bị đồ dùng cá nhân khi đi học.' }, { id: 416, dom: 'ind', name: 'IND-L4.2: Tự rót nước từ bình ra cốc, tự phục vụ bữa ăn nhẹ, dọn bát đĩa sau khi ăn và tuân thủ nội quy an toàn nơi công cộng (nắm tay qua đường)', desc: 'Làm việc độc lập trong nhóm lớp mầm non suốt 15–20 phút.' } ] } }; let currentLvl = 'lvl1'; // 'lvl1' | 'lvl2' | 'lvl3' | 'lvl4' // scoresByLvl[lvl][id] lưu: 2 ('+' Thành thạo), 1 ('+/-' Đang hình thành ★ Mục tiêu IEP 12 tuần), 0 ('-' Chưa đạt) let scoresByLvl = { lvl1: {}, lvl2: {}, lvl3: {}, lvl4: {} }; let filterDom = 'all'; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .es-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .es-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .es-inner { padding: 24px; max-width: 980px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .es-wrap.is-fullscreen .es-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .es-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(5, 150, 105, 0.45), 0 0 0 0 rgba(5, 150, 105, 0.4); } 70% { box-shadow: 0 6px 20px rgba(5, 150, 105, 0.45), 0 0 0 10px rgba(5, 150, 105, 0); } 100% { box-shadow: 0 6px 20px rgba(5, 150, 105, 0.45), 0 0 0 0 rgba(5, 150, 105, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #047857 0%, #059669 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(5, 150, 105, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Bộ chuyển đổi 4 Cấp độ ESDM (Levels 1 - 4) */ .lvl-switcher-box { background: #f1f5f9; padding: 10px; border-radius: 12px; margin-bottom: 18px; } .lvl-switcher-lbl { font-size: 12px; font-weight: 800; color: #334155; text-transform: uppercase; margin-bottom: 8px; display: block; } .lvl-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; } .lvl-btn { padding: 10px 10px; border-radius: 9px; border: 1.5px solid transparent; background: rgba(255, 255, 255, 0.65); cursor: pointer; text-align: left; transition: all 0.18s ease; touch-action: manipulation; } .lvl-btn:hover { background: #ffffff; } .lvl-btn.active { background: #ffffff; border-color: #059669; box-shadow: 0 3px 10px rgba(15, 23, 42, 0.08); } .lvl-btn-title { font-size: 13px; font-weight: 800; color: #0f172a; display: block; } .lvl-btn.active .lvl-btn-title { color: #047857; } .lvl-btn-sub { font-size: 11px; color: #64748b; margin-top: 2px; display: block; } /* Header */ .es-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .es-header-text { flex: 1 1 260px; } .es-title { font-size: 20px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .es-desc { font-size: 13.8px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #ecfdf5; color: #047857; border: 1px solid #a7f3d0; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #059669; color: #ffffff; border-color: #059669; } /* Controls */ .es-controls { display: flex; flex-direction: column; gap: 10px; margin-bottom: 18px; } .es-presets { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; } .es-preset-lbl { font-size: 12.5px; font-weight: 700; color: #475569; margin-right: 4px; } .es-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; touch-action: manipulation; } .es-pbtn:hover { background: #f1f5f9; } .es-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } .es-dom-tabs { display: flex; flex-wrap: wrap; gap: 6px; } .es-dtab { padding: 6px 11px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .es-dtab.active { background: #059669; color: #ffffff; border-color: #059669; } /* Sticky Dashboard */ .es-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .es-wrap.is-fullscreen .es-dash { top: 58px; } .es-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .es-score-big { font-size: 21px; font-weight: 800; line-height: 1.2; } .es-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .es-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .es-pillars { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; font-size: 12px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .es-pillar-box { background: #1e293b; padding: 7px 10px; border-radius: 8px; } .es-pillar-val { font-weight: 800; color: #ffffff; font-size: 13.5px; display: block; margin-top: 2px; } /* Danh sách mục kỹ năng ESDM */ .es-item { border: 1px solid #e2e8f0; border-radius: 10px; padding: 14px 16px; margin-bottom: 10px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 8px; } .es-item.pass-item { border-color: #a7f3d0; background: #f0fdf4; } .es-item.emerge-item { border-color: #fde68a; background: #fffbeb; border-left: 5px solid #f59e0b; } .es-item.fail-item { border-color: #fca5a5; background: #fff5f5; } .es-item-title { font-size: 14.8px; font-weight: 700; color: #0f172a; } .es-item-desc { font-size: 13.4px; color: #475569; } .es-tags { display: flex; flex-wrap: wrap; gap: 6px; } .es-tag { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .es-ans-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 2px; } .es-abtn { padding: 8px 8px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 700; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .es-abtn:hover { border-color: #64748b; } .es-abtn.sel-2 { background: #10b981; border-color: #10b981; color: #ffffff; } .es-abtn.sel-1 { background: #f59e0b; border-color: #f59e0b; color: #ffffff; } .es-abtn.sel-0 { background: #ef4444; border-color: #ef4444; color: #ffffff; } /* Biểu đồ 9 Lĩnh vực & Hộp trích xuất Mục tiêu 12 Tuần */ .es-chart-card { margin-top: 20px; padding: 16px 18px; border-radius: 12px; background: #ffffff; border: 1px solid #e2e8f0; } .es-bar-row { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; font-size: 12.5px; } .es-bar-lbl { width: 260px; flex-shrink: 0; font-weight: 600; color: #334155; } .es-bar-track { flex: 1; height: 16px; background: #f1f5f9; border-radius: 999px; overflow: hidden; } .es-bar-val { width: 115px; text-align: right; font-weight: 700; color: #0f172a; flex-shrink: 0; } .es-iep-box { margin-top: 16px; padding: 16px 18px; border-radius: 12px; background: #fffbeb; border: 1px solid #fde68a; border-left: 5px solid #f59e0b; font-size: 13.8px; color: #78350f; line-height: 1.6; } .es-iep-title { font-size: 15px; font-weight: 800; color: #92400e; margin-bottom: 8px; } .es-result-box { margin-top: 16px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #059669; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 760px) { .es-inner { padding: 14px; } .lvl-grid { grid-template-columns: 1fr 1fr; } .es-title { font-size: 18px; } .es-pillars { grid-template-columns: 1fr 1fr; } .es-ans-grid { grid-template-columns: 1fr; } .es-bar-lbl { width: 145px; font-size: 11.5px; } .es-pbtn.reset { margin-left: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
${lCfg.fullTitle}
${lCfg.desc}
`; } function renderItems() { const lCfg = levelData[currentLvl]; const curScores = scoresByLvl[currentLvl]; itemList.innerHTML = ''; const esdmBtns = [ { val: 2, lbl: '[ + ] Thành thạo / Nhất quán (Pass)' }, { val: 1, lbl: '[ +/- ] Đang hình thành / Cần gợi ý (★ IEP 12 tuần)' }, { val: 0, lbl: '[ - ] Chưa thực hiện được (Fail)' } ]; lCfg.items.forEach(function(it) { if (filterDom !== 'all' && it.dom !== filterDom) return; const uVal = (curScores[it.id] !== undefined) ? curScores[it.id] : 0; const dCfg = domConfigs[it.dom]; let rowCls = 'es-item '; if (uVal === 2) rowCls += 'pass-item'; else if (uVal === 1) rowCls += 'emerge-item'; else rowCls += 'fail-item'; const btnsHtml = esdmBtns.map(b => { const cls = 'es-abtn' + (uVal === b.val ? ` sel-${b.val}` : ''); return ``; }).join(''); const el = document.createElement('div'); el.className = rowCls; el.innerHTML = `Tiêu chí hoàn thành sau 12 tuần: ${it.desc} (Chia thành 4 bước nhỏ Task Analysis dạy lồng ghép trong hoạt động chơi chung hàng ngày). `).join('
'); iepBox.innerHTML = `
• Phân bố 4 Trụ cột: Giao tiếp Nghe hiểu & Diễn đạt (${pctComm}%) • Kỹ năng Xã hội, Chú ý chung & Bắt chước (${pctSocImi}%) • Nhận thức & Kỹ năng Chơi (${pctCogPlay}%) • Vận động & Độc lập cá nhân (${pctMotInd}%).
• Nguyên tắc vàng khi dạy trẻ theo ESDM: Thay vì tách rời từng lĩnh vực tại bàn học, hãy lồng ghép 2 – 3 mục tiêu từ các lĩnh vực khác nhau (ví dụ: vừa Bắt chước hành động chơi + vừa Nhìn mắt chia sẻ + vừa Nói từ đơn yêu cầu) vào cùng một Hoạt động Chơi Chung (Joint Activity Routine) kéo dài 2–5 phút để tối ưu hóa sự kết nối thần kinh của trẻ. `; updateFloatingFabVisibility(); } function applyPresetToLvl(lvlKey, type) { const lCfg = levelData[lvlKey]; const cur = {}; if (type === 'reset') { lCfg.items.forEach(it => { cur[it.id] = 0; }); } else if (type === 'beginning') { // Mới bắt đầu (~30%): Mục đầu mỗi lĩnh vực đạt [+/-], mục sau [-] lCfg.items.forEach((it, idx) => { cur[it.id] = (idx % 2 === 0) ? 1 : 0; }); } else if (type === 'midway') { // Giữa cấp độ (~65%): Giỏi Nhận thức/Vận động ([+]), còn Giao tiếp/Xã hội/Chơi đang ở mức [+/-] để vào IEP 12 tuần lCfg.items.forEach((it, idx) => { if (it.dom === 'cog' || it.dom === 'fm' || it.dom === 'gm') { cur[it.id] = 2; } else { cur[it.id] = (idx % 2 === 0) ? 2 : 1; } }); } else if (type === 'mastered') { // Hoàn thành cấp độ (>= 85%) lCfg.items.forEach((it, idx) => { cur[it.id] = (idx % 5 === 4) ? 1 : 2; }); } scoresByLvl[lvlKey] = cur; } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); esWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { esWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 980px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } shadow.querySelectorAll('#lvlGrid .lvl-btn').forEach(function(btn) { btn.onclick = function() { currentLvl = this.getAttribute('data-lvl'); shadow.querySelectorAll('#lvlGrid .lvl-btn').forEach(b => b.classList.remove('active')); this.classList.add('active'); renderHeader(); renderItems(); updateSummary(); }; }); shadow.querySelectorAll('.es-pbtn').forEach(function(btn) { btn.onclick = function() { applyPresetToLvl(currentLvl, this.getAttribute('data-preset')); renderItems(); updateSummary(); }; }); shadow.querySelectorAll('#domTabs .es-dtab').forEach(function(tab) { tab.onclick = function() { filterDom = this.getAttribute('data-dom'); shadow.querySelectorAll('#domTabs .es-dtab').forEach(t => t.classList.remove('active')); this.classList.add('active'); renderItems(); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); // Khởi tạo sẵn dữ liệu mẫu cho cả 4 cấp độ ['lvl1', 'lvl2', 'lvl3', 'lvl4'].forEach(k => { applyPresetToLvl(k, 'midway'); }); renderHeader(); renderItems(); updateSummary(); })();
Bảng kiểm ESDM (ESDM Curriculum Checklist): Công cụ đánh giá kỹ năng toàn diện để lên mục tiêu can thiệp cho trẻ tự kỷ từ 12 – 48 tháng tuổi theo mô hình Denver.
Bảng kiểm Chương trình Can thiệp Sớm Mô hình Denver (ESDM Curriculum Checklist — Early Start Denver Model) là công cụ đánh giá phát triển và lập kế hoạch can thiệp cá nhân hóa hàng đầu thế giới dành riêng cho trẻ nhỏ có Rối loạn phổ tự kỷ (ASD) từ 12 đến 48 tháng tuổi (có thể mở rộng đến 60 tháng). Công cụ được phát triển bởi hai nhà khoa học lừng danh là Giáo sư Sally J. Rogers và Giáo sư Geraldine Dawson (xuất bản năm 2010 bởi Guilford Press).
Nếu như VB-MAPP hay ABLLS-R đi theo hướng Phân tích Hành vi Ứng dụng (ABA) có cấu trúc chặt chẽ tại bàn học,thì ESDM là sự kết hợp hoàn hảo giữa Khoa học Phát triển Trẻ thơ (Developmental Science) và Nguyên lý Hành vi Tự nhiên (NDBI — Naturalistic Developmental Behavioral Interventions): đánh giá và dạy trẻ ngay trong các hoạt động chơi tương tác cảm xúc chung (Joint Activity Routines) tràn ngập niềm vui, giao tiếp mắt và sự chia sẻ.
1. Tóm tắt cốt lõi về cấu trúc 4 Cấp độ (Levels 1 – 4) & 9 Lĩnh vực của ESDM
Bảng kiểm ESDM gồm khoảng 480 mục kỹ năng được chia thành 4 Cấp độ phát triển (Levels 1, 2, 3, 4) nối tiếp nhau theo mốc tháng tuổi của trẻ phát triển điển hình:
| Cấp độ ESDM (Level) | Độ tuổi phát triển tương đương | Các Lĩnh vực Đánh giá trong từng Cấp độ (9 Domains) |
| Cấp độ 1 (Level 1) | 12 – 18 tháng tuổi (Hoặc 9 – 18 tháng) |
Gồm 8 lĩnh vực nền tảng:
1. Ngôn ngữ Tiếp nhận (Receptive Communication)
2. Ngôn ngữ Diễn đạt (Expressive Communication)
3. Kỹ năng Xã hội (Social Skills)
4. Bắt chước (Imitation)
5. Nhận thức (Cognition)
6. Kỹ năng Chơi (Play)
7. Vận động Tinh (Fine Motor)
8. Vận động Thô (Gross Motor)
9. Hành vi & Độc lập Cá nhân (Personal Independence: Ăn uống, Mặc đồ, Vệ sinh, Việc vặt). |
| Cấp độ 2 (Level 2) | 18 – 24 tháng tuổi | Bổ sung thêm tiểu mục Chú ý Chung (Joint Attention) tách riêng hoặc lồng ghép sâu vào Giao tiếp & Xã hội, đẩy mạnh kết hợp từ và chơi đóng vai giả vờ. |
| Cấp độ 3 (Level 3) | 24 – 36 tháng tuổi (2 – 3 tuổi) | Đánh giá hội thoại qua lại, tương tác xã hội với Người lớn và Bạn đồng trang lứa (Peers), chơi biểu tượng kịch bản và tự lập vệ sinh. |
| Cấp độ 4 (Level 4) | 36 – 48 tháng tuổi (3 – 4 tuổi) | Tập trung vào ngôn ngữ phức hợp (câu hỏi Wh-, kể chuyện, quá khứ/tương lai), lý giải cảm xúc (Thuyết tâm trí sơ khởi), chơi nhóm có luật và kỹ năng tiền học đường. |
2. Quy tắc Mã hóa Chấm điểm (+, +/-, -) & Chu kỳ Lập Mục tiêu IEP 12 Tuần
Điểm đặc sắc nhất của Bảng kiểm ESDM là quy trình đánh giá định kỳ mỗi 12 tuần (3 tháng) một lần để chọn ra các mục tiêu dạy học sát sườn nhất:
-
Mã chấm điểm chuẩn ESDM:
-
+hoặcP(Pass / Thành thạo = 2 điểm): Trẻ thực hiện kỹ năng đó một cách nhất quán, tự phát, khái quát hóa được với nhiều người và nhiều đồ vật khác nhau (>80% cơ hội). -
+/-(Emerging / Đang hình thành hoặc Không nhất quán = 1 điểm): Trẻ mới làm được đôi lúc, chỉ làm được với bố mẹ hoặc với 1 món đồ chơi quen thuộc, hoặc cần một chút gợi ý nhẹ. → Đây chính là nguồn trích xuất Mục tiêu Can thiệp 12 Tuần (12-Week Intervention Objectives) hàng đầu của ESDM! -
-hoặcF(Fail / Chưa đạt = 0 điểm): Trẻ chưa thực hiện được hoặc kháng cự, không thể dạy ngay lúc này.
-
-
Nguyên tắc viết Kế hoạch Can thiệp 12 tuần của ESDM: Từ mỗi lĩnh vực, nhà trị liệu sẽ lấy các mục đầu tiên bị điểm
+/-(hoặc-nằm ngay sau chuỗi+) để viết thành 2 – 3 mục tiêu ngắn hạn có thể hoàn thành trong vòng 12 tuần (Tổng cộng khoảng 16 – 24 mục tiêu / 12 tuần chia đều trên tất cả các lĩnh vực).
[Lập kế hoạch IEP] PEP-3: Đánh giá phát triển tâm lý giáo dục và lập kế hoạch can thiệp cá nhân (6 tháng – 7 tuổi)
(function() { const host = document.getElementById('pep3-wp-host'); if (!host) return; const placeholder = document.createComment('pep3-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // Cấu hình 10 Tiểu thang đo PEP-3 (6 tiểu thang Phát triển Kỹ năng + 4 tiểu thang Hành vi Kém thích ứng) const subConfigs = { // 6 TIỂU THANG PHÁT TRIỂN (DEVELOPMENTAL SUBTESTS - Điểm càng cao = Tuổi phát triển càng cao) cvp: { code: 'cvp', group: 'comm', isDev: true, name: '1. Nhận thức Có lời / Tiền ngôn ngữ (CVP)', maxAge: 72, color: '#2563eb' }, el: { code: 'el', group: 'comm', isDev: true, name: '2. Ngôn ngữ Diễn đạt (EL)', maxAge: 72, color: '#3b82f6' }, rl: { code: 'rl', group: 'comm', isDev: true, name: '3. Ngôn ngữ Tiếp nhận (RL)', maxAge: 72, color: '#0284c7' }, fm: { code: 'fm', group: 'mot', isDev: true, name: '4. Vận động Tinh (FM)', maxAge: 72, color: '#0d9488' }, gm: { code: 'gm', group: 'mot', isDev: true, name: '5. Vận động Thô (GM)', maxAge: 72, color: '#10b981' }, vmi: { code: 'vmi', group: 'mot', isDev: true, name: '6. Bắt chước Vận động – Thị giác (VMI)', maxAge: 72, color: '#059669' }, // 4 TIỂU THANG HÀNH VI KÉM THÍCH ỨNG (MALADAPTIVE SUBTESTS - Điểm 2 = Phù hợp/Không bất thường, 1 = Bất thường nhẹ, 0 = Bất thường nặng) ae: { code: 'ae', group: 'mal', isDev: false, name: '7. Biểu đạt Cảm xúc (AE)', maxAge: 0, color: '#f59e0b' }, sr: { code: 'sr', group: 'mal', isDev: false, name: '8. Tương hỗ Xã hội (SR)', maxAge: 0, color: '#d97706' }, cmb: { code: 'cmb', group: 'mal', isDev: false, name: '9. Hành vi Vận động Đặc trưng (CMB)', maxAge: 0, color: '#ef4444' }, cvb: { code: 'cvb', group: 'mal', isDev: false, name: '10. Hành vi Lời nói Đặc trưng (CVB)', maxAge: 0, color: '#dc2626' } }; // 50 Nhiệm vụ & Chỉ báo đại diện cho 10 Tiểu thang đo PEP-3 (Mỗi tiểu thang 5 mục chuẩn theo bậc thang phát triển) const items = [ // 1. CVP - Nhận thức Có lời / Tiền ngôn ngữ { id: 1, sub: 'cvp', ageEquiv: '14–18m', name: 'CVP-1. Tìm đồ vật bị giấu dưới chiếc cốc (Hằng định đối tượng)', desc: 'Quan sát người khám giấu món đồ chơi dưới 1 trong 2 chiếc cốc và lật đúng cốc có đồ chơi.' }, { id: 2, sub: 'cvp', ageEquiv: '20–24m', name: 'CVP-2. Đặt đúng 3 hình khối cơ bản (Tròn, Vuông, Tam giác) vào bảng khuôn', desc: 'Tự xoay và lắp khớp 3 hình cơ bản vào đúng ô tương ứng trên bảng gỗ.' }, { id: 3, sub: 'cvp', ageEquiv: '28–36m', name: 'CVP-3. Phân loại đồ vật theo màu sắc hoặc hình dạng mà không cần làm mẫu lời nói', desc: 'Nhóm các thẻ màu hoặc khối hình cùng loại vào đúng khay phân loại.' }, { id: 4, sub: 'cvp', ageEquiv: '42–54m', name: 'CVP-4. Ghép tranh cắt rời 4 – 6 mảnh tạo thành hình hoàn chỉnh', desc: 'Quan sát tổng thể và ghép đúng các mảnh rời thành bức tranh con vật/đồ vật.' }, { id: 5, sub: 'cvp', ageEquiv: '60–72m', name: 'CVP-5. Hoàn thành chuỗi quy luật logic & Đếm tương ứng số lượng đến 10', desc: 'Đếm chính xác số lượng đồ vật và nhận biết chữ số / quy luật nối tiếp.' }, // 2. EL - Ngôn ngữ Diễn đạt { id: 6, sub: 'el', ageEquiv: '14–18m', name: 'EL-1. Chủ động dùng cử chỉ hoặc âm thanh/từ đơn để yêu cầu "Thêm nữa" hoặc "Mở giúp"', desc: 'Khi dừng thổi bong bóng hoặc đóng chặt hộp bánh, trẻ chủ động phát âm/ra hiệu xin tiếp.' }, { id: 7, sub: 'el', ageEquiv: '22–28m', name: 'EL-2. Gọi đúng tên ít nhất 5 đồ vật hoặc con vật quen thuộc trong bộ test', desc: 'Nói rõ từ đơn chỉ tên cốc, bóng, xe hơi, con chó, con mèo... khi được hỏi "Cái gì đây?".' }, { id: 8, sub: 'el', ageEquiv: '30–40m', name: 'EL-3. Sử dụng cụm từ 2 – 3 từ để mô tả hành động hoặc bày tỏ nhu cầu', desc: 'Nói được cụm từ như "Con uống nước", "Mở hộp ra", "Em bé ngủ".' }, { id: 9, sub: 'el', ageEquiv: '45–56m', name: 'EL-4. Trả lời đúng các câu hỏi "Ai?", "Làm gì?", "Ở đâu?" khi xem sách tranh', desc: 'Dùng câu hoàn chỉnh để mô tả sự việc đang diễn ra trong tranh.' }, { id: 10, sub: 'el', ageEquiv: '60–72m', name: 'EL-5. Kể lại một sự việc hoặc duy trì hội thoại ngắn đúng chủ đề với người khám', desc: 'Sử dụng đại từ nhân xưng đúng và nối tiếp câu chuyện qua lại từ 2–3 lượt.' }, // 3. RL - Ngôn ngữ Tiếp nhận { id: 11, sub: 'rl', ageEquiv: '12–16m', name: 'RL-1. Quay đầu nhìn ngay khi người khám gọi tên trẻ và dừng tay khi nghe "Dừng lại / Không"', desc: 'Định hướng tốt với tên gọi và hiểu lệnh ngăn cản cơ bản.' }, { id: 12, sub: 'rl', ageEquiv: '18–24m', name: 'RL-2. Chỉ đúng ít nhất 4 bộ phận cơ thể (Mắt, Mũi, Miệng, Tai, Đầu) trên búp bê hoặc bản thân', desc: 'Thực hiện đúng khi nghe câu hỏi "Mũi của em bé đâu?".' }, { id: 13, sub: 'rl', ageEquiv: '26–34m', name: 'RL-3. Thực hiện đúng mệnh lệnh đơn 1 bước không kèm cử chỉ chỉ tay', desc: 'Ví dụ: "Đưa cho cô quả bóng", "Đặt cái cốc lên bàn".' }, { id: 14, sub: 'rl', ageEquiv: '38–48m', name: 'RL-4. Hiểu các động từ hành động và giới từ vị trí (Trong, Trên, Dưới)', desc: 'Chỉ đúng tranh "Ai đang chạy/ăn?" và đặt đồ vật "vào trong hộp / xuống dưới bàn".' }, { id: 15, sub: 'rl', ageEquiv: '54–72m', name: 'RL-5. Thực hiện chính xác chỉ dẫn phức hợp gồm 2 – 3 bước liên tiếp', desc: 'Ví dụ: "Con lấy cây bút màu đỏ rồi đặt vào trong chiếc hộp xanh nhé".' }, // 4. FM - Vận động Tinh { id: 16, sub: 'fm', ageEquiv: '14–18m', name: 'FM-1. Nhặt hạt nhỏ/viên bánh bằng ngón cái và ngón trỏ (Pincer grasp) bỏ vào lọ', desc: 'Phối hợp tay – mắt và kẹp nhặt bằng đầu ngón cái - ngón trỏ gọn gàng.' }, { id: 17, sub: 'fm', ageEquiv: '22–28m', name: 'FM-2. Xếp chồng tháp từ 6 – 8 khối gỗ vuông mà không bị đổ', desc: 'Kiểm soát lực bàn tay để đặt thẳng hàng các khối gỗ nhỏ.' }, { id: 18, sub: 'fm', ageEquiv: '30–40m', name: 'FM-3. Xâu được ít nhất 4 hạt gỗ lớn qua dây và biết vặn mở nắp lọ', desc: 'Phối hợp hai tay đồng bộ: một tay giữ dây, một tay luồn hạt.' }, { id: 19, sub: 'fm', ageEquiv: '42–54m', name: 'FM-4. Cầm bút bằng 3 ngón tay vẽ bắt chước đường thẳng đứng, ngang và hình tròn', desc: 'Sao chép lại đúng hình cơ bản trên giấy.' }, { id: 20, sub: 'fm', ageEquiv: '56–72m', name: 'FM-5. Dùng kéo cắt giấy theo đường kẻ thẳng và tô màu gọn trong hình vẽ', desc: 'Sử dụng kéo nhịp nhàng cắt đôi tờ giấy theo vạch kẻ.' }, // 5. GM - Vận động Thô { id: 21, sub: 'gm', ageEquiv: '14–18m', name: 'GM-1. Đi độc lập vững vàng và cúi nhặt đồ chơi dưới sàn không bị ngã', desc: 'Giữ thăng bằng tốt khi di chuyển và thay đổi tư thế.' }, { id: 22, sub: 'gm', ageEquiv: '22–28m', name: 'GM-2. Đá quả bóng lớn về phía trước mà không cần vịn tay và biết nhảy chụm hai chân', desc: 'Co chân đá trúng bóng mà không mất thăng bằng.' }, { id: 23, sub: 'gm', ageEquiv: '30–40m', name: 'GM-3. Bước lên cầu thang luân phiên hai chân và bắt được bóng lớn bằng hai tay', desc: 'Phối hợp vận động toàn thân khi leo bậc thang và đón hướng bóng.' }, { id: 24, sub: 'gm', ageEquiv: '42–54m', name: 'GM-4. Đứng một chân giữ thăng bằng trong 3 – 5 giây và ném bóng trúng đích', desc: 'Kiểm soát thăng bằng tĩnh trên một chân.' }, { id: 25, sub: 'gm', ageEquiv: '56–72m', name: 'GM-5. Nhảy lò cò một chân liên tiếp 4 – 5 bước và đập bắt bóng nảy xuống sàn', desc: 'Kỹ năng vận động thô phối hợp nâng cao.' }, // 6. VMI - Bắt chước Vận động – Thị giác { id: 26, sub: 'vmi', ageEquiv: '14–20m', name: 'VMI-1. Bắt chước thao tác đơn giản với đồ vật (Lắc chuông, dùng thìa khuấy cốc)', desc: 'Quan sát người khám làm mẫu và thực hiện lại ngay với đồ vật.' }, { id: 27, sub: 'vmi', ageEquiv: '22–30m', name: 'VMI-2. Bắt chước các cử chỉ cơ thể thô (Vỗ tay, giơ hai tay lên cao, vỗ nhẹ lên đầu)', desc: 'Bắt chước động tác cơ thể không có đồ vật.' }, { id: 28, sub: 'vmi', ageEquiv: '32–42m', name: 'VMI-3. Bắt chước thao tác với đất nặn (Lăn dài thanh đất, ấn dẹp và cắm que vào đất)', desc: 'Thực hiện chuỗi 2 thao tác liên tiếp theo mẫu.' }, { id: 29, sub: 'vmi', ageEquiv: '44–56m', name: 'VMI-4. Bắt chước cử động ngón tay tinh tế (Chạm ngón cái vào từng ngón tay, làm ống nhòm)', desc: 'Quan sát kỹ và điều khiển đúng các ngón tay theo người khám.' }, { id: 30, sub: 'vmi', ageEquiv: '58–72m', name: 'VMI-5. Sao chép lại đúng mô hình lắp ghép từ 4 – 5 khối gỗ nhiều màu', desc: 'Nhìn mẫu lắp ghép của người khám và dựng lại y hệt về vị trí và màu sắc.' }, // 7. AE - Biểu đạt Cảm xúc (Hành vi Kém thích ứng: 2 = Phù hợp, 1 = Bất thường nhẹ, 0 = Bất thường rõ/nặng) { id: 31, sub: 'ae', ageEquiv: 'Hành vi', name: 'AE-1. Sử dụng biểu cảm nét mặt đa dạng và phù hợp với từng tình huống tương tác', desc: 'Mức 2: Phù hợp tự nhiên | Mức 1: Nét mặt hơi ít biểu cảm | Mức 0: Đơ cứng hoặc cười/khóc vô cớ.' }, { id: 32, sub: 'ae', ageEquiv: 'Hành vi', name: 'AE-2. Thể hiện nụ cười xã hội và chia sẻ niềm vui khi chơi đùa cùng người khám', desc: 'Mức 2: Vui vẻ chia sẻ | Mức 1: Chỉ cười khi được cù/kích thích mạnh | Mức 0: Không chia sẻ cảm xúc.' }, { id: 33, sub: 'ae', ageEquiv: 'Hành vi', name: 'AE-3. Điều tiết cảm xúc bình tĩnh khi gặp bài tập khó hoặc khi cất đồ chơi', desc: 'Mức 2: Bình tĩnh chấp nhận | Mức 1: Rên rỉ/khó chịu nhẹ nhưng dỗ được | Mức 0: Ăn vạ dữ dội, la hét.' }, { id: 34, sub: 'ae', ageEquiv: 'Hành vi', name: 'AE-4. Mức độ thoải mái, không sợ hãi hoặc lo âu quá mức trong phòng đánh giá', desc: 'Mức 2: Tự tin khám phá | Mức 1: Hơi căng thẳng lúc đầu | Mức 0: Hoảng sợ khóc thét kéo dài.' }, { id: 35, sub: 'ae', ageEquiv: 'Hành vi', name: 'AE-5. Duy trì sự chú ý và cảm xúc ổn định xuyên suốt buổi kiểm tra', desc: 'Mức 2: Ổn định tốt | Mức 1: Tâm trạng thất thường nhẹ | Mức 0: Biến đổi cảm xúc đột ngột không rõ lý do.' }, // 8. SR - Tương hỗ Xã hội { id: 36, sub: 'sr', ageEquiv: 'Hành vi', name: 'SR-1. Giao tiếp bằng ánh mắt tự nhiên, linh hoạt với người khám', desc: 'Mức 2: Nhìn mắt tốt | Mức 1: Nhìn mắt thoáng qua, cần nhắc | Mức 0: Hoàn toàn né tránh giao tiếp mắt.' }, { id: 37, sub: 'sr', ageEquiv: 'Hành vi', name: 'SR-2. Chủ động khởi xướng tương tác xã hội và tìm kiếm sự giúp đỡ đúng cách', desc: 'Mức 2: Nhìn mặt + chỉ tay/nói để nhờ giúp | Mức 1: Kéo tay người khám nhưng có nhìn lên | Mức 0: Cầm tay người khám như công cụ vô tri.' }, { id: 38, sub: 'sr', ageEquiv: 'Hành vi', name: 'SR-3. Chia sẻ sự chú ý chung (Joint Attention) khi thấy đồ vật thú vị, bất ngờ', desc: 'Mức 2: Tự nhiên khoe đồ/nhìn người khám | Mức 1: Chỉ nhìn theo khi người khám chỉ tay | Mức 0: Không có chú ý chung.' }, { id: 39, sub: 'sr', ageEquiv: 'Hành vi', name: 'SR-4. Tham gia chơi luân phiên qua lại (Turn-taking) cùng người khám', desc: 'Mức 2: Chờ lượt và lăn bóng/chơi qua lại tốt | Mức 1: Tham gia được 1–2 lượt khi nhắc | Mức 0: Chỉ giữ khư khư chơi một mình.' }, { id: 40, sub: 'sr', ageEquiv: 'Hành vi', name: 'SR-5. Nhận thức được sự hiện diện và phản hồi tích cực trước lời khen của người khám', desc: 'Mức 2: Vui khi được khen, hợp tác tốt | Mức 1: Ít quan tâm lời khen | Mức 0: Thờ ơ như không có người bên cạnh.' }, // 9. CMB - Hành vi Vận động Đặc trưng { id: 41, sub: 'cmb', ageEquiv: 'Hành vi', name: 'CMB-1. Không có các cử động tay/ngón tay hoặc cơ thể định hình (vẫy tay, búng tay, đung đưa)', desc: 'Mức 2: Không có stimming | Mức 1: Xuất hiện thoáng qua khi phấn khích | Mức 0: Vẫy tay/đung đưa/nhón gót liên tục.' }, { id: 42, sub: 'cmb', ageEquiv: 'Hành vi', name: 'CMB-2. Khám phá đồ vật đúng chức năng (Không ngửi, liếm hoặc cắn đồ chơi)', desc: 'Mức 2: Chơi đúng cách | Mức 1: Đôi khi đưa đồ lên miệng/ngửi nhưng nhắc thì dừng | Mức 0: Liên tục liếm, ngửi, gõ đồ vật.' }, { id: 43, sub: 'cmb', ageEquiv: 'Hành vi', name: 'CMB-3. Quan sát thị giác bình thường (Không nhìn nghiêng sát mắt hoặc mê mẩn vật quay)', desc: 'Mức 2: Nhìn thẳng tự nhiên | Mức 1: Thỉnh thoảng liếc nghiêng ngắm đồ vật | Mức 0: Cuốn hút mãnh liệt vào việc xoay/nhìn nghiêng.' }, { id: 44, sub: 'cmb', ageEquiv: 'Hành vi', name: 'CMB-4. Phản ứng bình thường với âm thanh và xúc giác trong phòng test', desc: 'Mức 2: Bình thường | Mức 1: Hơi nhạy với vài âm thanh/chất liệu | Mức 0: Bịt tai la hét hoặc tìm kiếm kích thích giác quan mạnh.' }, { id: 45, sub: 'cmb', ageEquiv: 'Hành vi', name: 'CMB-5. Linh hoạt chuyển từ bài tập này sang bài tập khác mà không đòi giữ khư khư đồ vật', desc: 'Mức 2: Chuyển bài mượt mà | Mức 1: Cần báo trước hoặc đếm ngược | Mức 0: Cứng nhắc xếp hàng, chống đối chuyển hoạt động.' }, // 10. CVB - Hành vi Lời nói Đặc trưng { id: 46, sub: 'cvb', ageEquiv: 'Hành vi', name: 'CVB-1. Không nhại lời máy móc (Immediate/Delayed Echolalia)', desc: 'Mức 2: Nói có chủ đích (hoặc chưa nói nhưng không phát âm rập khuôn) | Mức 1: Thỉnh thoảng nhại lại câu hỏi | Mức 0: Nhại lời liên tục.' }, { id: 47, sub: 'cvb', ageEquiv: 'Hành vi', name: 'CVB-2. Không tự phát ra các âm thanh vô nghĩa, tiếng rên, tiếng rít lặp đi lặp lại', desc: 'Mức 2: Không có âm thanh tự kích thích | Mức 1: Thỉnh thoảng lẩm bẩm khi chơi một mình | Mức 0: Phát âm thanh lạ/lặp lại suốt buổi.' }, { id: 48, sub: 'cvb', ageEquiv: 'Hành vi', name: 'CVB-3. Giọng điệu, tốc độ và âm lượng phát âm tự nhiên', desc: 'Mức 2: Ngữ điệu tự nhiên | Mức 1: Giọng hơi đều đều hoặc hơi to/nhỏ | Mức 0: Giọng robot phẳng lì hoặc lơ lớ bất thường rõ.' }, { id: 49, sub: 'cvb', ageEquiv: 'Hành vi', name: 'CVB-4. Lời nói/âm thanh hướng tới mục đích giao tiếp với người đối diện', desc: 'Mức 2: Giao tiếp có định hướng | Mức 1: Đôi khi tự nói một mình | Mức 0: Chỉ độc thoại vô nghĩa, không hướng tới ai.' }, { id: 50, sub: 'cvb', ageEquiv: 'Hành vi', name: 'CVB-5. Sử dụng từ vựng và đại từ xưng hô phù hợp ngữ cảnh', desc: 'Mức 2: Dùng từ phù hợp | Mức 1: Đôi khi nhầm đại từ "Con - Mẹ" | Mức 0: Đảo ngược đại từ hoàn toàn hoặc dùng từ tự bịa.' } ]; // answers[id] lưu: 2 (Đạt / Pass), 1 (Chớm đạt / Emerge), 0 (Không đạt / Fail) let answers = {}; let chronoAgeMonths = 42; // Tuổi thực mặc định: 42 tháng (3.5 tuổi) let filterSub = 'all'; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .p3-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .p3-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .p3-inner { padding: 24px; max-width: 940px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .p3-wrap.is-fullscreen .p3-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .p3-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(5, 150, 105, 0.45), 0 0 0 0 rgba(5, 150, 105, 0.4); } 70% { box-shadow: 0 6px 20px rgba(5, 150, 105, 0.45), 0 0 0 10px rgba(5, 150, 105, 0); } 100% { box-shadow: 0 6px 20px rgba(5, 150, 105, 0.45), 0 0 0 0 rgba(5, 150, 105, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #047857 0%, #059669 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(5, 150, 105, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Header */ .p3-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .p3-header-text { flex: 1 1 260px; } .p3-title { font-size: 21px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .p3-desc { font-size: 14px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #ecfdf5; color: #047857; border: 1px solid #a7f3d0; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #059669; color: #ffffff; border-color: #059669; } /* Top Controls */ .p3-top-controls { display: grid; grid-template-columns: 1fr 1.35fr; gap: 12px; margin-bottom: 14px; } .p3-box-ctrl { background: #f8fafc; border: 1px solid #e2e8f0; padding: 10px 12px; border-radius: 10px; } .p3-ctrl-label { font-size: 12px; font-weight: 700; color: #475569; text-transform: uppercase; margin-bottom: 6px; display: block; } .p3-btn-group { display: flex; flex-wrap: wrap; gap: 6px; } .p3-btn-sm { padding: 6px 10px; border-radius: 7px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; flex: 1; text-align: center; touch-action: manipulation; } .p3-btn-sm:hover { background: #f1f5f9; } .p3-btn-sm.active { background: #059669; color: #ffffff; border-color: #059669; } .p3-btn-sm.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; flex: 0 0 auto; } .p3-domain-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 16px; } .p3-dtab { padding: 6px 11px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .p3-dtab.active { background: #059669; color: #ffffff; border-color: #059669; } /* Sticky Dashboard */ .p3-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .p3-wrap.is-fullscreen .p3-dash { top: 58px; } .p3-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .p3-score-big { font-size: 22px; font-weight: 800; line-height: 1.15; } .p3-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .p3-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .p3-pillars { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; font-size: 12px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .p3-pillar-box { background: #1e293b; padding: 7px 10px; border-radius: 8px; } .p3-pillar-val { font-weight: 700; color: #ffffff; font-size: 13.5px; display: block; margin-top: 2px; } /* Danh sách nhiệm vụ PEP-3 */ .p3-q-item { border: 1px solid #e2e8f0; border-radius: 10px; padding: 14px 16px; margin-bottom: 12px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 8px; } .p3-q-item.emerge-item { border-color: #fde68a; background: #fffbeb; } .p3-q-item.fail-item { border-color: #fca5a5; background: #fff5f5; } .p3-q-item.pass-item { border-color: #a7f3d0; background: #f0fdf4; } .p3-q-title { font-size: 14.8px; font-weight: 700; color: #0f172a; } .p3-q-desc { font-size: 13.5px; color: #475569; } .p3-q-tags { display: flex; flex-wrap: wrap; gap: 6px; } .p3-tag { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .p3-ans-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 2px; } .p3-abtn { padding: 8px 8px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 700; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .p3-abtn:hover { border-color: #64748b; } .p3-abtn.sel-2 { background: #10b981; border-color: #10b981; color: #ffffff; } .p3-abtn.sel-1 { background: #f59e0b; border-color: #f59e0b; color: #ffffff; } .p3-abtn.sel-0 { background: #ef4444; border-color: #ef4444; color: #ffffff; } /* Biểu đồ 10 tiểu thang & Hộp trích xuất IEP */ .p3-chart-card { margin-top: 20px; padding: 16px 18px; border-radius: 12px; background: #ffffff; border: 1px solid #e2e8f0; } .p3-chart-title { font-size: 14.5px; font-weight: 700; color: #0f172a; margin-bottom: 12px; } .p3-bar-row { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; font-size: 12.5px; } .p3-bar-lbl { width: 245px; flex-shrink: 0; font-weight: 600; color: #334155; } .p3-bar-track { flex: 1; height: 16px; background: #f1f5f9; border-radius: 999px; overflow: hidden; } .p3-bar-val { width: 125px; text-align: right; font-weight: 700; color: #0f172a; flex-shrink: 0; } .p3-iep-box { margin-top: 16px; padding: 16px 18px; border-radius: 12px; background: #fffbeb; border: 1px solid #fde68a; border-left: 5px solid #f59e0b; font-size: 13.8px; color: #78350f; } .p3-iep-title { font-size: 15px; font-weight: 800; color: #92400e; margin-bottom: 8px; } .p3-iep-row { display: flex; align-items: flex-start; gap: 8px; margin-bottom: 5px; line-height: 1.45; } .p3-result-box { margin-top: 16px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #059669; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 720px) { .p3-inner { padding: 14px; } .p3-title { font-size: 18px; } .p3-top-controls { grid-template-columns: 1fr; } .p3-pillars { grid-template-columns: 1fr 1fr; } .p3-ans-grid { grid-template-columns: 1fr; } .p3-bar-lbl { width: 140px; font-size: 11.5px; } .p3-bar-val { width: 105px; font-size: 11.5px; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
Thang Đánh Giá Tâm Lý – Giáo Dục PEP-3 & Trích Xuất Kế Hoạch Can Thiệp IEP (6 Tháng – 7 Tuổi)
Công cụ chuẩn hóa của chương trình TEACCH (Schopler et al., 2005) đánh giá 10 tiểu thang đo (6 tiểu thang Kỹ năng phát triển + 4 tiểu thang Hành vi). Điểm cốt lõi của PEP-3 là phát hiện các kỹ năng Chớm đạt / Đang hình thành (Emerge = 1 điểm) để tự động trích xuất thành Mục tiêu Can thiệp Cá nhân hóa (IEP).
• Chỉ số Tổng hợp Giao tiếp (Communication Composite): Ước tính đạt ~${commAge} tháng (Nhận thức CVP: ~${devAge.cvp}m • Diễn đạt EL: ~${devAge.el}m • Tiếp nhận RL: ~${devAge.rl}m).
• Chỉ số Tổng hợp Vận động (Motor Composite): Ước tính đạt ~${motAge} tháng (Vận động Tinh FM: ~${devAge.fm}m • Vận động Thô GM: ~${devAge.gm}m • Bắt chước VMI: ~${devAge.vmi}m).
• Độ lệch nội tại (Scatter Profile): Chênh lệch giữa Vận động và Giao tiếp là ${profileGap} tháng ${profileGap >= 12 ? '(Hồ sơ phát triển không đồng đều đặc trưng của phổ tự kỷ — Nên dùng thế mạnh Thị giác & Vận động tinh để hỗ trợ dạy Ngôn ngữ theo phương pháp TEACCH)' : '(Hai lĩnh vực phát triển khá tương đồng)'}.
• Tổng hợp Hành vi Kém thích ứng: ${malLabel} (Cảm xúc AE: ${raw.ae}/10 • Tương hỗ xã hội SR: ${raw.sr}/10 • Hành vi vận động CMB: ${raw.cmb}/10 • Hành vi lời nói CVB: ${raw.cvb}/10). `; updateFloatingFabVisibility(); } function applyPreset(type) { answers = {}; if (type === 'reset') { renderItems(); updateSummary(); return; } if (type === 'mild') { // Trẻ 42 tháng chậm nói / tự kỷ nhẹ: Đạt các mục đầu, Chớm đạt các mục giữa items.forEach(function(it, idx) { const posInSub = (it.id - 1) % 5; // 0, 1, 2, 3, 4 if (subConfigs[it.sub].isDev) { if (posInSub <= 1) answers[it.id] = 2; else if (posInSub vào IEP else answers[it.id] = 0; } else { answers[it.id] = (posInSub <= 2) ? 2 : 1; } }); } else if (type === 'uneven') { // Hồ sơ lệch điển hình ASD: Giỏi Vận động tinh/thô & Nhận thức không lời, nhưng chậm Ngôn ngữ diễn đạt/tiếp nhận items.forEach(function(it) { const pos = (it.id - 1) % 5; if (it.sub === 'fm' || it.sub === 'gm' || it.sub === 'cvp') { answers[it.id] = (pos <= 3) ? 2 : 1; } else if (it.sub === 'el' || it.sub === 'rl' || it.sub === 'vmi') { if (pos === 0) answers[it.id] = 2; else if (pos <= 2) answers[it.id] = 1; else answers[it.id] = 0; } else { answers[it.id] = (pos <= 1) ? 2 : (pos <= 3 ? 1 : 0); } }); } else if (type === 'severe') { // Mức độ trung bình - nặng items.forEach(function(it) { const pos = (it.id - 1) % 5; if (subConfigs[it.sub].isDev) { if (pos === 0) answers[it.id] = 2; else if (pos === 1) answers[it.id] = 1; else answers[it.id] = 0; } else { answers[it.id] = (pos === 0) ? 1 : 0; } }); } renderItems(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); p3Wrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { p3Wrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 940px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } shadow.querySelectorAll('#ageGroup .p3-btn-sm').forEach(function(btn) { btn.onclick = function() { chronoAgeMonths = parseInt(this.getAttribute('data-age'), 10); shadow.querySelectorAll('#ageGroup .p3-btn-sm').forEach(b => b.classList.remove('active')); this.classList.add('active'); updateSummary(); }; }); shadow.querySelectorAll('#presetGroup .p3-btn-sm').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-pre')); }; }); shadow.querySelectorAll('#domainTabs .p3-dtab').forEach(function(tab) { tab.onclick = function() { filterSub = this.getAttribute('data-sub'); shadow.querySelectorAll('#domainTabs .p3-dtab').forEach(t => t.classList.remove('active')); this.classList.add('active'); renderItems(); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); applyPreset('uneven'); })();
PEP-3 (Psychoeducational Profile, Third Edition — Trắc nghiệm Tâm lý – Giáo dục, Phiên bản 3) là công cụ đánh giá phát triển và lập kế hoạch giáo dục cá nhân hóa (IEP) hàng đầu thế giới dành cho trẻ có Rối loạn phổ tự kỷ (ASD) và các rối loạn phát triển lan tỏa. Công cụ này được phát triển bởi Giáo sư Eric Schopler và các cộng sự thuộc chương trình TEACCH (Đại học Bắc Carolina, Hoa Kỳ — xuất bản năm 2005).
Khác với các công cụ sàng lọc (M-CHAT-R/F, SCQ, CAST) hay chẩn đoán phân loại (ADOS-2, ADI-R), mục đích cốt lõi nhất của PEP-3 là để LÊN KẾ HOẠCH CAN THIỆP: tìm ra trẻ đã làm được gì, chưa làm được gì, và đặc biệt là những kỹ năng đang chớm hình thành (Emerging) để lấy đó làm mục tiêu dạy học ngay lập tức.
Tóm tắt cốt lõi về Thang đo PEP-3
-
Độ tuổi áp dụng: Trẻ có tuổi thực hoặc tuổi phát triển từ 6 tháng đến 7 tuổi (84 tháng) (đặc biệt hữu ích cho trẻ từ 2 – 7 tuổi chưa có lời nói hoặc khó hợp tác với các bài test IQ truyền thống).
-
Điểm “ăn tiền” nhất của PEP-3 — Cơ chế chấm điểm 3 mức (0 – 1 – 2):
-
Đạt(Pass = 2 điểm): Trẻ tự thực hiện thành công nhiệm vụ mà không cần làm mẫu hay hỗ trợ thêm. -
Chớm đạt / Đang hình thành(Emerge = 1 điểm): Trẻ hiểu một phần nhiệm vụ, làm được khi có chút gợi ý/làm mẫu, hoặc thực hiện theo cách riêng gần đúng. Đây chính là “Vùng phát triển gần” (ZPD) — kho báu để giáo viên/phụ huynh chọn làm mục tiêu IEP trong 3–6 tháng tới! -
Không đạt(Fail = 0 điểm): Trẻ hoàn toàn không thực hiện được hoặc từ chối dù đã được hướng dẫn.
-
2. Cấu trúc 10 Tiểu thang đo & 3 Chỉ số Tổng hợp (Composites)
Phần đánh giá trực tiếp trẻ (Performance Test) của PEP-3 gồm 172 mục chia làm 10 tiểu thang đo (6 tiểu thang Phát triển kỹ năng + 4 tiểu thang Hành vi kém thích ứng), gộp lại thành 3 Chỉ số Tổng hợp:
| Nhóm Chỉ số Tổng hợp (Composite) | Mã | Tên Tiểu thang đo (Subtest) | Nội dung đánh giá trọng tâm |
| 1. Tổng hợp Giao tiếp(Communication Composite) | CVP | 1. Nhận thức Có lời / Tiền ngôn ngữ (Cognitive Verbal/Preverbal – 34 mục) | Giải quyết vấn đề, định danh đồ vật, phân loại, đếm số, hiểu khái niệm màu sắc/hình khối, ghép tranh. |
| EL | 2. Ngôn ngữ Diễn đạt(Expressive Language – 25 mục) | Yêu cầu bằng cử chỉ/lời nói, gọi tên đồ vật, nói cụm từ/câu, đọc chữ/số, duy trì hội thoại cơ bản. | |
| RL | 3. Ngôn ngữ Tiếp nhận(Receptive Language – 19 mục) | Quay đầu khi gọi tên, chỉ đúng đồ vật/bộ phận cơ thể theo lời nói, làm theo mệnh lệnh 1–2 bước. | |
| 2. Tổng hợp Vận động(Motor Composite) | FM | 4. Vận động Tinh (Fine Motor – 20 mục) | Thổi bong bóng, cầm nắm kẹp chì, xâu hạt, lắp ghép khối gỗ, vặn nắp lọ, tô màu và dùng kéo cắt. |
| GM | 5. Vận động Thô (Gross Motor – 15 mục) | Đi, chạy, nhảy tại chỗ, bước lên xuống cầu thang luân phiên, bắt bóng, ném bóng và đá bóng. | |
| VMI | 6. Bắt chước Vận động – Thị giác (Visual-Motor Imitation – 10 mục) | Bắt chước thao tác với đồ vật (lắc chuông, lăn đất nặn), bắt chước cử chỉ cơ thể và nét mặt. | |
| 3. Tổng hợp Hành vi Kém thích ứng(Maladaptive Behaviors) | AE | 7. Biểu đạt Cảm xúc(Affective Expression – 11 mục) | Giao tiếp mắt, nụ cười xã hội, sự phù hợp của nét mặt và mức độ lo âu/cáu giận trong buổi test. |
| SR | 8. Tương hỗ Xã hội (Social Reciprocity – 12 mục) | Khởi xướng tương tác, chia sẻ sự chú ý (Joint Attention), hợp tác chơi qua lại với người khám. | |
| CMB | 9. Hành vi Vận động Đặc trưng (Characteristic Motor Behaviors – 15 mục) | Mức độ xuất hiện cử động định hình (vẫy tay, nhón gót), ngửi/liếm đồ vật, săm soi chi tiết thị giác. | |
| CVB | 10. Hành vi Lời nói Đặc trưng (Characteristic Verbal Behaviors – 11 mục) | Nhại lời (echolalia), lặp lại âm thanh vô nghĩa, giọng nói lơ lớ/đều đều, tự nói chuyện một mình. |
(Ngoài 10 tiểu thang trực tiếp trên, PEP-3 còn có phần Báo cáo của Người chăm sóc – Caregiver Report gồm 38 mục đánh giá Hành vi có vấn đề, Tự phục vụ cá nhân và Hành vi thích ứng).
[Lập kế hoạch IEP] VB-MAPP: Chương trình đánh giá mốc phát triển và xếp lớp hành vi ngôn ngữ cho trẻ tự kỷ
(function() { const host = document.getElementById('vbmapp-wp-host'); if (!host) return; const placeholder = document.createComment('vbmapp-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // ========================================================= // 1. DỮ LIỆU ĐÁNH GIÁ MỐC PHÁT TRIỂN (MILESTONES LEVEL 1, 2, 3) // Đại diện toàn bộ 16 lĩnh vực qua 34 cụm mốc cốt lõi (Quy đổi chuẩn về thang 170 điểm: Level 1 = 45đ, Level 2 = 60đ, Level 3 = 65đ) // ========================================================= const milestoneDomains = [ // LEVEL 1 (0 - 18 THÁNG • 9 LĨNH VỰC • TỐI ĐA 45 ĐIỂM) { id: 1, lvl: 1, code: 'MAND-L1', name: '1. Yêu cầu - Mand (Level 1 • 0–18 tháng)', maxPts: 5, m1: 'Mốc 1–2: Yêu cầu được 2–4 vật/hoạt động yêu thích (có thể dùng lời, chỉ tay hoặc dấu hiệu).', m2: 'Mốc 3–4: Chủ động yêu cầu 6–8 vật khác nhau đang hiện diện trước mặt mà không cần nhắc lời.', m3: 'Mốc 5: Tự phát đưa ra ít nhất 10 yêu cầu (Mand) khác nhau trong ngày để xin đồ vật/hoạt động.' }, { id: 2, lvl: 1, code: 'TACT-L1', name: '2. Định danh / Gọi tên - Tact (Level 1 • 0–18 tháng)', maxPts: 5, m1: 'Mốc 1–2: Gọi đúng tên 2–4 người thân, thú cưng hoặc đồ vật rất quen thuộc.', m2: 'Mốc 3–4: Gọi đúng tên 6–10 đồ vật thông thường trong sinh hoạt hàng ngày.', m3: 'Mốc 5: Gọi tên chính xác ít nhất 10 đồ vật/hình ảnh quen thuộc khi được hỏi "Cái gì đây?".' }, { id: 3, lvl: 1, code: 'LR-L1', name: '3. Nghe hiểu - Listener Responding (Level 1 • 0–18 tháng)', maxPts: 5, m1: 'Mốc 1–2: Quay đầu nhìn khi nghe tiếng gọi tên mình và chú ý nhìn vào đồ vật người lớn chỉ.', m2: 'Mốc 3–4: Thực hiện được 4 mệnh lệnh vận động đơn giản (Vỗ tay, Đứng lên, Lại đây...) và chọn đúng 10 đồ vật.', m3: 'Mốc 5: Chỉ hoặc lấy đúng ít nhất 20 đồ vật/tranh ảnh quen thuộc khi người lớn gọi tên.' }, { id: 4, lvl: 1, code: 'VPMTS-L1', name: '4. Thị giác & Ghép mẫu - VP-MTS (Level 1 • 0–18 tháng)', maxPts: 5, m1: 'Mốc 1–2: Nhìn theo vật di chuyển, cầm nắm đồ vật nhỏ và thả hình khối vào hộp.', m2: 'Mốc 3–4: Xếp chồng các khối gỗ và ghép đúng các hình cơ bản vào bảng khuôn.', m3: 'Mốc 5: Ghép tương ứng đồ vật giống hệt nhau (3D–3D) và tranh giống tranh (2D–2D) trong tập hợp 4–6 mẫu.' }, { id: 5, lvl: 1, code: 'PLAY-L1', name: '5. Chơi Độc lập - Independent Play (Level 1 • 0–18 tháng)', maxPts: 5, m1: 'Mốc 1–2: Thao tác và khám phá các đồ chơi có tính nhân quả (bấm nút phát nhạc, lắc xúc xắc).', m2: 'Mốc 3–4: Chơi độc lập với nhiều loại đồ chơi khác nhau trong 2–3 phút mà không có hành vi rập khuôn.', m3: 'Mốc 5: Tự tìm kiếm đồ chơi và chơi đúng chức năng (đẩy xe, tháo lắp vòng) trong 5 phút.' }, { id: 6, lvl: 1, code: 'SOC-L1', name: '6. Hành vi Xã hội - Social Behavior (Level 1 • 0–18 tháng)', maxPts: 5, m1: 'Mốc 1–2: Giao tiếp mắt khi cần xin đồ và mỉm cười đáp lại khi người quen tương tác.', m2: 'Mốc 3–4: Nhìn theo hướng người lớn chỉ tay (Đáp ứng chú ý chung) và chú ý nhìn bạn khác chơi.', m3: 'Mốc 5: Tự nhiên nhìn mắt người lớn hoặc chỉ tay để khoe khi thấy điều thú vị (Khởi xướng chú ý chung).' }, { id: 7, lvl: 1, code: 'IMIT-L1', name: '7. Bắt chước Vận động - Motor Imitation (Level 1 • 0–18 tháng)', maxPts: 5, m1: 'Mốc 1–2: Bắt chước được 2–4 động tác vận động thô khi có gợi ý "Làm giống mẹ nào" (vỗ tay, giơ tay).', m2: 'Mốc 3–4: Bắt chước 8–10 thao tác vận động với đồ vật (gõ trống, đẩy xe, khuấy thìa).', m3: 'Mốc 5: Bắt chước chính xác 20 động tác vận động tinh và thô ngay lần làm mẫu đầu tiên.' }, { id: 8, lvl: 1, code: 'ECHO-L1', name: '8. Bắt chước Âm / Nhại âm - Echoic (Level 1 • 0–18 tháng)', maxPts: 5, m1: 'Mốc 1–2: Lặp lại được các nguyên âm đơn và âm tiết đơn giản (a, ba, ma, măm).', m2: 'Mốc 3–4: Lặp lại rõ ràng các từ đơn 1–2 âm tiết theo mẫu.', m3: 'Mốc 5: Nhại âm chính xác ít nhất 10–15 từ đơn và cụm từ 2 âm tiết (tương đương ≥ 15 điểm trên thang EESA).' }, { id: 9, lvl: 1, code: 'VOC-L1', name: '9. Phát âm Tự phát - Spontaneous Vocal (Level 1 • 0–18 tháng)', maxPts: 5, m1: 'Mốc 1–2: Thường xuyên phát ra các âm thanh bập bẹ đa dạng ngữ điệu khi chơi.', m2: 'Mốc 3–4: Phát ra các chuỗi âm thanh giống từ ngữ kèm nhìn người lớn.', m3: 'Mốc 5: Tự phát nói rõ ít nhất 10–15 từ đơn có nghĩa trong sinh hoạt hàng ngày.' }, // LEVEL 2 (18 - 30 THÁNG • 12 LĨNH VỰC • TỐI ĐA 60 ĐIỂM) { id: 10, lvl: 2, code: 'MAND-L2', name: '10. Yêu cầu - Mand (Level 2 • 18–30 tháng)', maxPts: 5, m1: 'Mốc 6–7: Yêu cầu 20 vật khác nhau (kể cả khi vật đó không có mặt ngay trước mắt) và yêu cầu hành động.', m2: 'Mốc 8–9: Yêu cầu bằng cụm 2–3 từ và bắt đầu biết hỏi để lấy thông tin ("Cái gì đây?", "Ở đâu?").', m3: 'Mốc 10: Tự phát đưa ra các yêu cầu mới linh hoạt trong ngày mà không cần huấn luyện trước.' }, { id: 11, lvl: 2, code: 'TACT-L2', name: '11. Định danh / Gọi tên - Tact (Level 2 • 18–30 tháng)', maxPts: 5, m1: 'Mốc 6–7: Gọi tên 25–50 đồ vật (kể cả qua tranh ảnh khái quát hóa).', m2: 'Mốc 8–9: Gọi tên được các hành động đang diễn ra (đang ăn, đang chạy, đang ngủ) và cụm Danh từ + Động từ.', m3: 'Mốc 10: Vốn từ gọi tên đạt ít nhất 150–200 từ (đồ vật, con vật, người, hành động).' }, { id: 12, lvl: 2, code: 'LR-L2', name: '12. Nghe hiểu - Listener Responding (Level 2 • 18–30 tháng)', maxPts: 5, m1: 'Mốc 6–7: Phân biệt và chọn đúng 40–50 đồ vật/tranh ảnh trong một mảng nhiều hình.', m2: 'Mốc 8–9: Thực hiện đúng 25 hành động theo lời nói và làm theo mệnh lệnh gồm 2 bước.', m3: 'Mốc 10: Nghe hiểu và nhận diện được tổng cộng trên 200 từ vựng (danh từ và động từ).' }, { id: 13, lvl: 2, code: 'VPMTS-L2', name: '13. Thị giác & Ghép mẫu - VP-MTS (Level 2 • 18–30 tháng)', maxPts: 5, m1: 'Mốc 6–7: Ghép vật 3D với tranh 2D không giống hệt hoàn toàn (khái quát hóa màu sắc/kích cỡ) trong mảng 8–10 hình.', m2: 'Mốc 8–9: Lắp ghép mô hình khối gỗ 3D theo mẫu và ghép tranh cắt rời 4–6 mảnh.', m3: 'Mốc 10: Phân loại các đồ vật khác nhau vào đúng nhóm danh mục (Đồ ăn, Con vật, Phương tiện) mà không cần mẫu.' }, { id: 14, lvl: 2, code: 'PLAY-L2', name: '14. Chơi Độc lập - Independent Play (Level 2 • 18–30 tháng)', maxPts: 5, m1: 'Mốc 6–7: Mang các đồ vật liên quan lại ghép đôi với nhau (đặt tách lên đĩa, đặt người lên xe) và lắp ghép đồ chơi.', m2: 'Mốc 8–9: Bắt đầu chơi giả vờ hướng tới đồ vật/búp bê (đút cho gấu ăn, lăn xe vào gara).', m3: 'Mốc 10: Tự chơi đóng vai giả vờ liên hoàn và tự dọn đồ chơi vào hộp khi kết thúc.' }, { id: 15, lvl: 2, code: 'SOC-L2', name: '15. Hành vi Xã hội & Chơi cùng bạn (Level 2 • 18–30 tháng)', maxPts: 5, m1: 'Mốc 6–7: Chủ động tiến lại gần bạn cùng tuổi và ngồi chơi song song cạnh bạn.', m2: 'Mốc 8–9: Biết dùng lời nói/cử chỉ xin đồ chơi từ bạn ("Cho tớ mượn") và theo dõi bạn chơi.', m3: 'Mốc 10: Tham gia chơi tương tác qua lại (lăn bóng, đuổi bắt, xếp hình chung) với bạn cùng tuổi.' }, { id: 16, lvl: 2, code: 'IMIT-L2', name: '16. Bắt chước Vận động (Level 2 • 18–30 tháng)', maxPts: 5, m1: 'Mốc 6–7: Bắt chước các cử động miệng – mặt và các thao tác vận động tinh phức tạp.', m2: 'Mốc 8–9: Bắt chước chuỗi hành động gồm 2 bước liên tiếp và bắt chước hành động của bạn cùng lớp.', m3: 'Mốc 10: Tự nhiên bắt chước các hành động chức năng mới trong sinh hoạt hàng ngày mà không cần nhắc.' }, { id: 17, lvl: 2, code: 'ECHO-L2', name: '17. Bắt chước Âm / Nhại âm - Echoic (Level 2 • 18–30 tháng)', maxPts: 5, m1: 'Mốc 6–7: Lặp lại rõ các từ có 2–3 âm tiết phức tạp.', m2: 'Mốc 8–9: Lặp lại đúng các cụm từ 3–4 từ kèm đúng ngữ điệu và trọng âm.', m3: 'Mốc 10: Đạt từ 50–60 điểm trở lên trên bài kiểm tra phát âm EESA.' }, { id: 18, lvl: 2, code: 'LRFFC-L2', name: '18. Nghe hiểu theo Chức năng, Đặc điểm, Phân loại - LRFFC (Level 2)', maxPts: 5, m1: 'Mốc 6–7: Chọn đúng con vật/đồ vật khi nghe tiếng kêu hoặc hành động đi kèm ("Con gì kêu gâu gâu?").', m2: 'Mốc 8–9: Chọn đúng vật trong tranh theo chức năng ("Con dùng cái gì để cắt giấy/để uống nước?") và đặc điểm ("Cái nào có bánh xe?").', m3: 'Mốc 10: Chọn đúng 25–50 vật khi được mô tả theo chức năng, đặc điểm hoặc danh mục phân loại.' }, { id: 19, lvl: 2, code: 'IV-L2', name: '19. Hội thoại & Liên tưởng từ - Intraverbal (Level 2 • 18–30 tháng)', maxPts: 5, m1: 'Mốc 6–7: Điền từ còn thiếu vào cuối câu hát quen thuộc hoặc câu nói bỏ lửng ("Chuẩn bị, một, hai... [ba!]").', m2: 'Mốc 8–9: Điền từ vào cụm từ quen thuộc ("Đánh răng rửa... [mặt]") và trả lời tên của bản thân.', m3: 'Mốc 10: Trả lời được ít nhất 25 câu hỏi "Cái gì?" đơn giản mà không cần nhìn tranh (VD: "Con ăn cái gì?").' }, { id: 20, lvl: 2, code: 'GROUP-L2', name: '20. Học trong Nhóm & Nội quy Lớp học (Level 2 • 18–30 tháng)', maxPts: 5, m1: 'Mốc 6–7: Ngồi yên tại bàn ăn/bàn học cùng nhóm 3–4 bạn trong 3–5 phút mà không bỏ chạy.', m2: 'Mốc 8–9: Cất đồ dùng cá nhân, xếp hàng chuyển tiếp hoạt động theo chỉ dẫn chung của giáo viên.', m3: 'Mốc 10: Ngồi học trong nhóm nhỏ 10 phút và giơ tay/trả lời được câu hỏi chung của cô giáo.' }, { id: 21, lvl: 2, code: 'LING-L2', name: '21. Cấu trúc Ngôn ngữ & Ngữ pháp (Level 2 • 18–30 tháng)', maxPts: 5, m1: 'Mốc 6–7: Phát âm từ đơn đủ rõ để người lạ hiểu được ít nhất 50% lời trẻ nói.', m2: 'Mốc 8–9: Vốn từ vựng diễn đạt đạt trên 100 từ và kết hợp được câu ngắn 2–3 từ.', m3: 'Mốc 10: Biết dùng từ phủ định ("Không phải..."), từ sở hữu ("Của con") và điều chỉnh âm lượng giọng nói.' }, // LEVEL 3 (30 - 48 THÁNG • 13 LĨNH VỰC • TỐI ĐA 65 ĐIỂM) { id: 22, lvl: 3, code: 'MAND-L3', name: '22. Yêu cầu Nâng cao - Mand (Level 3 • 30–48 tháng)', maxPts: 5, m1: 'Mốc 11–12: Thường xuyên đặt câu hỏi "Tại sao?", "Khi nào?", "Ai?" để tìm kiếm thông tin mới.', m2: 'Mốc 13–14: Yêu cầu người khác chú ý nghe mình kể chuyện hoặc nhờ giải quyết vấn đề phức tạp.', m3: 'Mốc 15: Đưa ra chỉ dẫn cho bạn cùng chơi và yêu cầu bằng câu đầy đủ kèm tính từ/giới từ.' }, { id: 23, lvl: 3, code: 'TACT-L3', name: '23. Định danh Mở rộng - Tact (Level 3 • 30–48 tháng)', maxPts: 5, m1: 'Mốc 11–12: Gọi tên chính xác màu sắc, hình dạng, tính từ đối lập (to/nhỏ, nóng/lạnh, ướt/khô) và giới từ.', m2: 'Mốc 13–14: Mô tả sự việc bằng câu hoàn chỉnh từ 4 từ trở lên và gọi tên cảm xúc của người khác.', m3: 'Mốc 15: Vốn từ định danh đạt từ 750 – 1000 từ thuộc mọi phạm trù đời sống.' }, { id: 24, lvl: 3, code: 'LR-L3', name: '24. Nghe hiểu Phức hợp - Listener Responding (Level 3 • 30–48 tháng)', maxPts: 5, m1: 'Mốc 11–12: Phân biệt giới từ (trên/dưới/bên cạnh), đại từ (anh ấy/cô ấy) và tính từ khi nghe yêu cầu.', m2: 'Mốc 13–14: Thực hiện chỉ dẫn phức hợp gồm 3 bước liên tiếp.', m3: 'Mốc 15: Vốn từ nghe hiểu đạt trên 1200 từ.' }, { id: 25, lvl: 3, code: 'VPMTS-L3', name: '25. Thị giác & Tư duy Khuôn mẫu (Level 3 • 30–48 tháng)', maxPts: 5, m1: 'Mốc 11–12: Ghép nối các vật có liên quan chức năng với nhau (bàn chải đi với kem đánh răng) và xếp hình 10 mảnh.', m2: 'Mốc 13–14: Dựng mô hình phức tạp từ 8–10 chi tiết và phân loại theo nhiều tiêu chí.', m3: 'Mốc 15: Hoàn thành chuỗi quy luật logic (A-B-A-B) và sắp xếp tranh theo trình tự thời gian 3–4 bước.' }, { id: 26, lvl: 3, code: 'PLAY-L3', name: '26. Chơi Đóng vai & Thủ công (Level 3 • 30–48 tháng)', maxPts: 5, m1: 'Mốc 11–12: Tự dựng kịch bản chơi đóng vai tưởng tượng (làm bác sĩ khám bệnh, nấu ăn mời khách).', m2: 'Mốc 13–14: Thực hiện các hoạt động nghệ thuật/thủ công (vẽ hình, tô màu, cắt dán, nặn đất sét).', m3: 'Mốc 15: Tự chơi độc lập có mục đích trong 10–15 phút mà không cần người lớn nhắc nhở.' }, { id: 27, lvl: 3, code: 'SOC-L3', name: '27. Tương tác Bạn bè & Chơi hợp tác (Level 3 • 30–48 tháng)', maxPts: 5, m1: 'Mốc 11–12: Tự nguyện hợp tác chia sẻ đồ chơi và chơi đóng vai cùng với bạn đồng trang lứa.', m2: 'Mốc 13–14: Trò chuyện qua lại 2–3 lượt với bạn cùng tuổi và nhận diện được cảm xúc vui/buồn của bạn.', m3: 'Mốc 15: Tham gia trò chơi tập thể có luật lệ (trốn tìm, cờ cá ngựa) và biết chờ đến lượt mà không cáu giận.' }, { id: 28, lvl: 3, code: 'LRFFC-L3', name: '28. Nghe hiểu Mô tả Phức tạp - LRFFC (Level 3 • 30–48 tháng)', maxPts: 5, m1: 'Mốc 11–12: Chọn đúng hình khi câu hỏi có chứa từ phủ định ("Cái nào KHÔNG phải là đồ ăn?").', m2: 'Mốc 13–14: Chọn đúng vật khi câu hỏi kết hợp 2–3 đặc điểm ("Con vật nào có 4 chân, sống ở nông trại và cho sữa?").', m3: 'Mốc 15: Trả lời đúng các câu hỏi phân loại Wh- đa dạng dựa trên tranh bối cảnh phức tạp.' }, { id: 29, lvl: 3, code: 'IV-L3', name: '29. Hội thoại & Kể chuyện - Intraverbal (Level 3 • 30–48 tháng)', maxPts: 5, m1: 'Mốc 11–12: Kể tên được các thành viên trong một nhóm danh mục ("Kể cho cô nghe tên các con vật/các loại quả").', m2: 'Mốc 13–14: Trả lời đúng các câu hỏi "Ở đâu?", "Khi nào?", "Ai?", "Làm thế nào?" và kể lại chuyện vừa nghe.', m3: 'Mốc 15: Mô tả lại một sự kiện đã xảy ra trong quá khứ và duy trì cuộc hội thoại 3–4 lượt về một chủ đề.' }, { id: 30, lvl: 3, code: 'GROUP-L3', name: '30. Kỹ năng Học Tập thể Lớp lớn (Level 3 • 30–48 tháng)', maxPts: 5, m1: 'Mốc 11–12: Tự đi vệ sinh, rửa tay và chuẩn bị đồ dùng học tập theo hiệu lệnh chung của lớp.', m2: 'Mốc 13–14: Ngồi học nghiêm túc trong nhóm 5–10 học sinh suốt 15–20 phút và làm bài tập độc lập.', m3: 'Mốc 15: Học được kiến thức mới thông qua việc nghe cô giáo giảng bài chung cho cả lớp.' }, { id: 31, lvl: 3, code: 'LING-L3', name: '31. Ngữ pháp & Câu phức (Level 3 • 30–48 tháng)', maxPts: 5, m1: 'Mốc 11–12: Sử dụng đúng các từ chỉ số nhiều, sở hữu và liên từ ("và", "nhưng", "bởi vì").', m2: 'Mốc 13–14: Nói đúng các từ chỉ thời gian quá khứ ("đã... rồi") và tương lai ("sẽ...").', m3: 'Mốc 15: Nói câu dài 4–5 từ chuẩn ngữ pháp với độ dài phát ngôn trung bình (MLU) đạt mức 4.0.' }, { id: 32, lvl: 3, code: 'READ-L3', name: '32. Tiền Đọc & Nhận biết Chữ - Reading (Level 3 • 30–48 tháng)', maxPts: 5, m1: 'Mốc 11–12: Chú ý nghe đọc sách truyện, ghép chữ cái giống nhau và chỉ đúng ít nhất 10 chữ cái.', m2: 'Mốc 13–14: Đọc to đúng tên 20 chữ cái và nhận biết được tên của chính mình trên thẻ chữ.', m3: 'Mốc 15: Ghép được 5 từ đơn giản (như "cá", "bò", "mẹ") với bức tranh tương ứng.' }, { id: 33, lvl: 3, code: 'WRIT-L3', name: '33. Tiền Viết & Đồ nét - Writing (Level 3 • 30–48 tháng)', maxPts: 5, m1: 'Mốc 11–12: Cầm bút bằng 3 ngón tay, vẽ đồ theo các đường thẳng, đường cong và tô màu trong khung.', m2: 'Mốc 13–14: Sao chép lại 5 hình học cơ bản (tròn, vuông, chữ thập, tam giác) và đồ theo nét chữ cái.', m3: 'Mốc 15: Tự viết được tên của bản thân mà không cần nhìn mẫu.' }, { id: 34, lvl: 3, code: 'MATH-L3', name: '34. Toán học Sớm - Math (Level 3 • 30–48 tháng)', maxPts: 5, m1: 'Mốc 11–12: Đếm vẹt từ 1 đến 10 và đếm lấy đúng số lượng từ 1 đến 5 đồ vật.', m2: 'Mốc 13–14: Nhận biết các chữ số từ 1 đến 10 và so sánh khái niệm toán học (nhiều hơn/ít hơn, dài/ngắn).', m3: 'Mốc 15: Ghép đúng thẻ chữ số (1–10) với số lượng đồ vật tương ứng.' } ]; // ========================================================= // 2. DỮ LIỆU 24 RÀO CẢN HỌC TẬP & NGÔN NGỮ (BARRIERS ASSESSMENT) // Chấm từ 0 (Không có rào cản) đến 4 (Rào cản rất nghiêm trọng) -> Tổng 0 - 96 điểm // ========================================================= const barriersList = [ { id: 1, name: '1. Hành vi tiêu cực / Chống đối (Negative Behavior)', desc: 'Khóc lóc, la hét, ăn vạ, ném đồ hoặc đánh/cắn khi được yêu cầu học tập hoặc khi bị từ chối.' }, { id: 2, name: '2. Kiểm soát hướng dẫn kém (Poor Instructional Control)', desc: 'Bỏ chạy khỏi bàn học, lờ đi lời cô giáo/bố mẹ, chỉ chịu hợp tác khi được chiều theo ý mình.' }, { id: 3, name: '3. Yêu cầu (Mand) yếu, vắng bóng hoặc sai lệch', desc: 'Không biết cách xin thứ mình muốn bằng lời/cử chỉ hoặc dùng hành vi khóc hét để đòi hỏi.' }, { id: 4, name: '4. Định danh / Gọi tên (Tact) yếu hoặc sai lệch', desc: 'Vốn từ gọi tên hạn chế, hay đoán mò hoặc không gọi tên được đồ vật dù biết nói nhại lại.' }, { id: 5, name: '5. Bắt chước vận động (Motor Imitation) yếu hoặc sai lệch', desc: 'Khó quan sát và bắt chước thao tác mẫu của người dạy, hoặc bắt chước máy móc không hiểu mục đích.' }, { id: 6, name: '6. Bắt chước âm / Nhại lời (Echoic) yếu hoặc Nhại lời máy móc', desc: 'Không lặp lại được âm thanh mẫu HOẶC ngược lại là nhại lại nguyên xi câu hỏi một cách vô nghĩa (Echolalia).' }, { id: 7, name: '7. Kỹ năng Tri giác thị giác & Ghép mẫu (VP-MTS) yếu', desc: 'Khó khăn khi quét mắt tìm hình, ghép hình hoặc chỉ ghép được khi đồ vật giống hệt mẫu 100%.' }, { id: 8, name: '8. Kỹ năng Nghe hiểu (Listener) yếu hoặc phụ thuộc ngữ cảnh', desc: 'Chậm hiểu lời nói, phải nhìn tay chỉ hoặc đoán ý chứ không thực sự phân biệt từng từ trong câu.' }, { id: 9, name: '9. Hội thoại & Liên tưởng từ (Intraverbal) yếu hoặc học vẹt', desc: 'Không trả lời được câu hỏi hội thoại hoặc chỉ trả lời rập khuôn một câu thuộc lòng duy nhất.' }, { id: 10, name: '10. Kỹ năng Xã hội (Social Skills) yếu hoặc suy giảm', desc: 'Thờ ơ với bạn cùng tuổi, không biết chia sẻ đồ chơi hay tham gia tương tác hai chiều.' }, { id: 11, name: '11. Phụ thuộc vào sự gợi ý (Prompt Dependency)', desc: 'Trẻ biết làm nhưng cứ ngồi chờ người lớn phải nhắc mớm âm đầu hoặc cầm tay chỉ việc mới chịu làm.' }, { id: 12, name: '12. Đoán mò câu trả lời (Scrolling Responses)', desc: 'Khi được hỏi hoặc yêu cầu, trẻ tung ra một loạt từ/cử chỉ liên tiếp để thử vận may xem cái nào trúng.' }, { id: 13, name: '13. Kỹ năng Quét thị giác kém (Impaired Scanning)', desc: 'Không nhìn bao quát hết các bức tranh trên bàn trước khi chọn, chỉ lấy đại tấm thẻ nằm gần tay nhất.' }, { id: 14, name: '14. Thất bại trong Phân biệt có điều kiện (Conditional Discrimination)', desc: 'Bị rối loạn khi câu lệnh có từ 2 thông tin trở lên (VD: lấy "bút đỏ" giữa bút xanh, kéo đỏ).' }, { id: 15, name: '15. Thất bại trong Khái quát hóa (Failure to Generalize)', desc: 'Chỉ làm được bài tập trên đúng bộ thẻ ở bàn học với cô giáo, ra ngoài đời thật hoặc đổi người hỏi thì không biết.' }, { id: 16, name: '16. Động lực học tập yếu hoặc khác thường (Weak/Atypical MO)', desc: 'Rất ít thứ có thể thu hút trẻ làm phần thưởng, hoặc trẻ nhanh chán phần thưởng chỉ sau vài phút.' }, { id: 17, name: '17. Đòi hỏi phần thưởng lập tức làm mất động lực (Response Cost Weakens MO)', desc: 'Nếu bài tập hơi khó hoặc phải làm 2–3 yêu cầu mới được thưởng là trẻ bỏ cuộc ngay.' }, { id: 18, name: '18. Phụ thuộc vào phần thưởng hữu hình (Reinforcer Dependency)', desc: 'Chỉ chịu làm việc khi nhìn thấy bánh kẹo/đồ chơi cầm sẵn trên tay người lớn, không làm vì lời khen xã hội.' }, { id: 19, name: '19. Hành vi tự kích thích giác quan (Self-Stimulation)', desc: 'Vẫy tay, nhìn nghiêng, xoay đồ vật, phát âm thanh lạ liên tục làm lấn át việc chú ý học tập.' }, { id: 20, name: '20. Khó khăn về Phát âm / Khẩu hình (Articulation Problems)', desc: 'Phát âm ngọng, mất âm hoặc rối loạn vận động lời nói khiến người nghe rất khó hiểu trẻ nói gì.' }, { id: 21, name: '21. Hành vi Ám ảnh – Cưỡng chế & Nghi thức cứng nhắc (Obsessive-Compulsive)', desc: 'Khăng khăng xếp hàng đồ vật, giữ thói quen cố định và phản ứng dữ dội nếu bị thay đổi.' }, { id: 22, name: '22. Tăng động & Giảm chú ý (Hyperactive Behavior)', desc: 'Luôn chân luôn tay, bồn chồn không ngồi yên được quá vài chục giây, rất dễ xao nhãng.' }, { id: 23, name: '23. Thất bại trong Giao tiếp mắt & Chú ý khuôn mặt (Failure to Make Eye Contact)', desc: 'Né tránh nhìn mặt người đối diện, bỏ lỡ các tín hiệu biểu cảm và khẩu hình của người dạy.' }, { id: 24, name: '24. Rối loạn Phòng vệ Giác quan (Sensory Defensiveness)', desc: 'Quá nhạy cảm với tiếng ồn (bịt tai), ánh sáng, mùi vị hoặc cảm giác chạm làm gián đoạn buổi học.' } ]; // ========================================================= // 3. DỮ LIỆU 18 TIÊU CHÍ ĐÁNH GIÁ CHUYỂN TIẾP HÒA NHẬP (TRANSITION ASSESSMENT) // Chấm từ 1 đến 5 điểm -> Tổng 18 đến 90 điểm // ========================================================= const transitionList = [ { id: 1, cat: 'Năng lực VB-MAPP cốt lõi', name: '1. Tổng điểm Mốc phát triển VB-MAPP (Milestones Score)', desc: '1đ: ≤25 điểm | 2đ: 26–50 điểm | 3đ: 51–99 điểm | 4đ: 100–134 điểm | 5đ: ≥135/170 điểm.' }, { id: 2, cat: 'Năng lực VB-MAPP cốt lõi', name: '2. Tổng điểm Rào cản học tập (Barriers Score)', desc: '1đ: >40 điểm rào cản | 2đ: 25–40đ | 3đ: 15–24đ | 4đ: 6–14đ | 5đ: 0–5 điểm rào cản.' }, { id: 3, cat: 'Năng lực VB-MAPP cốt lõi', name: '3. Hành vi tiêu cực & Kiểm soát hướng dẫn', desc: 'Mức độ hợp tác của trẻ mà không có hành vi ăn vạ, chống đối hay bỏ chạy khỏi lớp.' }, { id: 4, cat: 'Năng lực VB-MAPP cốt lõi', name: '4. Nội quy lớp học & Kỹ năng học trong nhóm', desc: 'Khả năng ngồi học cùng tập thể, xếp hàng, giơ tay và làm theo hiệu lệnh chung của giáo viên.' }, { id: 5, cat: 'Năng lực VB-MAPP cốt lõi', name: '5. Hành vi xã hội & Chơi cùng bạn đồng trang lứa', desc: 'Khả năng tương tác, chia sẻ và tham gia chơi hợp tác với các bạn cùng lớp.' }, { id: 6, cat: 'Năng lực VB-MAPP cốt lõi', name: '6. Mức độ độc lập trong làm việc học thuật', desc: 'Khả năng tự hoàn thành phiếu bài tập hoặc nhiệm vụ được giao mà không cần người ngồi kèm sát 1:1.' }, { id: 7, cat: 'Khả năng học tập tự nhiên', name: '7. Khái quát hóa kỹ năng sang môi trường mới', desc: 'Áp dụng được kiến thức đã học sang lớp học mới, giáo viên mới và học liệu mới.' }, { id: 8, cat: 'Khả năng học tập tự nhiên', name: '8. Độ rộng của các yếu tố củng cố / Động lực xã hội', desc: 'Trẻ biết cố gắng học tập vì lời khen, ngôi sao thi đua và niềm vui khám phá (không cần bánh kẹo).' }, { id: 9, cat: 'Khả năng học tập tự nhiên', name: '9. Tốc độ tiếp thu kỹ năng mới (Rate of Skill Acquisition)', desc: 'Số lần lặp lại cần thiết để trẻ nắm vững một kiến thức mới (5đ = hiểu ngay sau 1–3 lần hướng dẫn).' }, { id: 10, cat: 'Khả năng học tập tự nhiên', name: '10. Duy trì kỹ năng đã học qua thời gian (Retention)', desc: 'Nhớ lâu các bài đã học sau nhiều tuần mà không cần phải ôn đi ôn lại liên tục.' }, { id: 11, cat: 'Khả năng học tập tự nhiên', name: '11. Học tự nhiên từ môi trường &Quan sát bạn bè', desc: 'Tự học được từ mới và quy tắc mới chỉ bằng cách quan sát các bạn xung quanh làm.' }, { id: 12, cat: 'Khả năng học tập tự nhiên', name: '12. Khả năng thích ứng khi thay đổi lịch trình', desc: 'Bình tĩnh chấp nhận khi lớp học đổi giờ học, đổi chỗ ngồi hoặc có giáo viên dạy thay.' }, { id: 13, cat: 'Tự phục vụ & Tự chủ', name: '13. Các hành vi tự kích thích (Self-Stimulation)', desc: 'Mức độ kiểm soát không để các hành vi vẫy tay, lẩm bẩm gây chú ý hoặc cản trở giờ học chung.' }, { id: 14, cat: 'Tự phục vụ & Tự chủ', name: '14. Các hành vi rập khuôn & Sở thích thu hẹp', desc: 'Mức độ linh hoạt, không bị cuốn vào một chủ đề/đồ vật duy nhất trong lớp.' }, { id: 15, cat: 'Tự phục vụ & Tự chủ', name: '15. Kỹ năng tự làm việc và giải trí trong giờ ra chơi', desc: 'Biết tự chơi lành mạnh, đọc sách hoặc giao lưu với bạn trong giờ giải lao không cấu trúc.' }, { id: 16, cat: 'Tự phục vụ & Tự chủ', name: '16. Kỹ năng tự phục vụ cá nhân (Ăn uống, Mặc đồ, Vệ sinh)', desc: 'Tự xúc ăn gọn gàng, tự mặc áo khoác, mang giày dép và rửa tay.' }, { id: 17, cat: 'Tự phục vụ & Tự chủ', name: '17. Kỹ năng tự đi vệ sinh (Toileting Skills)', desc: 'Hoàn toàn kiểm soát việc đi vệ sinh độc lập và biết xin phép giáo viên khi cần.' }, { id: 18, cat: 'Tự phục vụ & Tự chủ', name: '18. Kỹ năng ăn uống tại trường (Bữa trưa tập thể)', desc: 'Ngồi ăn cùng bàn với các bạn, ăn đa dạng món ăn của trường mà không kén ăn cực đoan.' } ]; let activeTab = 'milestones'; // 'milestones' | 'barriers' | 'transition' let filterLvl = 'all'; // 'all' | '1' | '2' | '3' let mScores = {}; // Lưu điểm từng cụm mốc: 0, 2.5 (Đang hình thành), 5.0 (Hoàn thành cả 5 mốc) let bScores = {}; // Lưu 0..4 cho 24 rào cản let tScores = {}; // Lưu 1..5 cho 18 tiêu chí chuyển tiếp let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .vb-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .vb-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .vb-inner { padding: 24px; max-width: 960px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .vb-wrap.is-fullscreen .vb-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .vb-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 0 rgba(37, 99, 235, 0.4); } 70% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 10px rgba(37, 99, 235, 0); } 100% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 0 rgba(37, 99, 235, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #1d4ed8 0%, #2563eb 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Bộ chuyển đổi 3 Bảng VB-MAPP */ .vb-switcher { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; background: #f1f5f9; padding: 8px; border-radius: 12px; margin-bottom: 18px; } .vb-tab-btn { padding: 10px 12px; border-radius: 9px; border: 1.5px solid transparent; background: transparent; cursor: pointer; text-align: left; transition: all 0.2s ease; touch-action: manipulation; } .vb-tab-btn.active { background: #ffffff; border-color: #2563eb; box-shadow: 0 2px 8px rgba(15, 23, 42, 0.08); } .vb-tab-title { font-size: 13.8px; font-weight: 800; color: #0f172a; display: block; } .vb-tab-btn.active .vb-tab-title { color: #2563eb; } .vb-tab-sub { font-size: 11.5px; color: #64748b; margin-top: 2px; display: block; } /* Header */ .vb-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .vb-header-text { flex: 1 1 260px; } .vb-title { font-size: 20px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .vb-desc { font-size: 13.8px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #eff6ff; color: #1d4ed8; border: 1px solid #bfdbfe; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #2563eb; color: #ffffff; border-color: #2563eb; } /* Controls */ .vb-controls { display: flex; flex-direction: column; gap: 10px; margin-bottom: 18px; } .vb-presets { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; } .vb-preset-lbl { font-size: 12.5px; font-weight: 700; color: #475569; margin-right: 4px; } .vb-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; touch-action: manipulation; } .vb-pbtn:hover { background: #f1f5f9; } .vb-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } .vb-lvl-tabs { display: flex; flex-wrap: wrap; gap: 6px; } .vb-ltab { padding: 6px 12px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .vb-ltab.active { background: #2563eb; color: #ffffff; border-color: #2563eb; } /* Sticky Dashboard */ .vb-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .vb-wrap.is-fullscreen .vb-dash { top: 58px; } .vb-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .vb-score-big { font-size: 22px; font-weight: 800; line-height: 1.15; } .vb-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .vb-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .vb-pillars { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; font-size: 12px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .vb-pillar-box { background: #1e293b; padding: 7px 10px; border-radius: 8px; } .vb-pillar-val { font-weight: 700; color: #ffffff; font-size: 13.5px; display: block; margin-top: 2px; } /* Danh sách mục đánh giá */ .vb-item { border: 1px solid #e2e8f0; border-radius: 12px; padding: 14px 16px; margin-bottom: 12px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 8px; } .vb-item.mastered { border-color: #a7f3d0; background: #f0fdf4; } .vb-item.emerging { border-color: #fde68a; background: #fffbeb; } .vb-item.severe-barrier { border-color: #fca5a5; background: #fff5f5; } .vb-item-title { font-size: 15px; font-weight: 800; color: #0f172a; } .vb-item-desc { font-size: 13.2px; color: #334155; line-height: 1.5; } .vb-tags { display: flex; flex-wrap: wrap; gap: 6px; } .vb-tag { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .vb-tag.lvl1 { background: #fef3c7; color: #b45309; } .vb-tag.lvl2 { background: #dbeafe; color: #1d4ed8; } .vb-tag.lvl3 { background: #dcfce7; color: #15803d; } .vb-ans-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; margin-top: 4px; } .vb-abtn { padding: 8px 6px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 700; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .vb-abtn:hover { border-color: #64748b; } .vb-abtn.sel-green { background: #10b981; border-color: #10b981; color: #ffffff; } .vb-abtn.sel-blue { background: #3b82f6; border-color: #3b82f6; color: #ffffff; } .vb-abtn.sel-amber { background: #f59e0b; border-color: #f59e0b; color: #ffffff; } .vb-abtn.sel-red { background: #ef4444; border-color: #ef4444; color: #ffffff; } /* Hộp trích xuất IEP & Kết luận */ .vb-iep-box { margin-top: 18px; padding: 16px 18px; border-radius: 12px; background: #fffbeb; border: 1px solid #fde68a; border-left: 5px solid #f59e0b; font-size: 13.8px; color: #78350f; } .vb-iep-title { font-size: 15px; font-weight: 800; color: #92400e; margin-bottom: 8px; } .vb-result-box { margin-top: 16px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #2563eb; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 720px) { .vb-inner { padding: 14px; } .vb-switcher { grid-template-columns: 1fr; } .vb-title { font-size: 18px; } .vb-pillars { grid-template-columns: 1fr 1fr; } .vb-ans-grid { grid-template-columns: 1fr 1fr; } .vb-pbtn.reset { margin-left: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
Phần 1: Đánh Giá 170 Mốc Phát Triển Ngôn Ngữ & Học Tập VB-MAPP (Level 1, 2, 3)
Mỗi lĩnh vực trong mỗi Cấp độ gồm 5 mốc chuẩn (Tối đa 5.0 điểm/lĩnh vực). Hãy chọn điểm số tương ứng với số mốc bé đã đạt được trong lĩnh vực đó (từ 0.0 đến 5.0 điểm). Các lĩnh vực đang đạt dở dang (1.0 – 3.5 điểm) sẽ được tự động trích xuất làm Mục tiêu IEP ưu tiên.
`; } else if (activeTab === 'barriers') { lvlTabs.style.display = 'none'; headerInfo.innerHTML = `Phần 2: Đánh Giá 24 Rào Cản Học Tập & Tiếp Thu Ngôn Ngữ (Barriers Assessment • 0 – 96 Điểm)
Chấm mức độ từ 0 (Không có rào cản) đến 4 (Rào cản rất nghiêm trọng) cho 24 yếu tố cản trở việc học. Mọi rào cản từ mức 3 – 4 điểm cần được ưu tiên xây dựng kế hoạch can thiệp hành vi (BIP) trước khi nhồi nhét kiến thức mới.
`; } else { lvlTabs.style.display = 'none'; headerInfo.innerHTML = `Phần 3: Đánh Giá 18 Tiêu Chí Chuyển Tiếp Hòa Nhập (Transition Assessment • 18 – 90 Điểm)
Chấm từ 1 điểm (Chưa sẵn sàng) đến 5 điểm (Độc lập hoàn toàn) cho 18 tiêu chí để xác định xem trẻ nên tiếp tục can thiệp 1-kèm-1 chuyên sâu hay đã đủ điều kiện học nhóm / ra trường mẫu giáo, tiểu học hòa nhập.
`; } } function renderItems() { itemList.innerHTML = ''; if (activeTab === 'milestones') { const mOptions = [ { val: 0, lbl: '0.0đ (Chưa đạt mốc nào)' }, { val: 1.5, lbl: '1.5đ (Đạt mốc 1–2 ★ IEP)' }, { val: 2.5, lbl: '2.5đ (Đạt nửa chừng ★ IEP)' }, { val: 3.5, lbl: '3.5đ (Đạt mốc 3–4 ★ IEP)' }, { val: 5.0, lbl: '5.0đ (Hoàn thành đủ 5 mốc)' } ]; milestoneDomains.forEach(function(d) { if (filterLvl !== 'all' && String(d.lvl) !== filterLvl) return; const uVal = (mScores[d.id] !== undefined) ? mScores[d.id] : 0; let rowCls = 'vb-item'; if (uVal === 5.0) rowCls += ' mastered'; else if (uVal > 0) rowCls += ' emerging'; const lvlBadge = `Level ${d.lvl} (${d.lvl === 1 ? '0–18 tháng' : (d.lvl === 2 ? '18–30 tháng' : '30–48 tháng')})`; const btnsHtml = mOptions.map(opt => { let cls = 'vb-abtn'; if (uVal === opt.val) { if (opt.val === 5.0) cls += ' sel-green'; else if (opt.val > 0) cls += ' sel-amber'; else cls += ' sel-red'; } return ``; }).join(''); const el = document.createElement('div'); el.className = rowCls; el.innerHTML = `• ${d.m2}
• ${d.m3}
'); const barLines = severeBarriers.slice(0, 5).map(b => `• ⚠️ ${b.name}: Mức ${bScores[b.id]}/4đ — Cần can thiệp giảm thiểu.`).join('
'); iepBox.innerHTML = `
${iepLines || '• Hãy chọn mức điểm 1.5 – 3.5đ ở Tab Mốc phát triển để trích xuất mục tiêu IEP.'}
${barLines || '• Không có rào cản nào ở mức nghiêm trọng (≥ 3 điểm).'}
• Hồ sơ Mốc phát triển (Milestones): Đạt ${totalM.toFixed(1)} / 170.0 điểm (Level 1: ${sL1.toFixed(1)}/45đ • Level 2: ${sL2.toFixed(1)}/60đ • Level 3: ${sL3.toFixed(1)}/65đ).
• Hồ sơ Rào cản học tập (Barriers): Tổng điểm rào cản là ${totalB} / 96 điểm ${totalB <= 15 ? '(Rào cản thấp, thuận lợi cho việc tiếp thu kỹ năng mới)' : (totalB <= 35 ? '(Rào cản mức trung bình, cần kiểm soát sự phụ thuộc gợi ý và duy trì động lực MO)' : '(Rào cản cao, bắt buộc phải ưu tiên thiết lập kiểm soát hướng dẫn và giảm hành vi cản trở)')}.
• Đánh giá Chuyển tiếp Hòa nhập (Transition): Đạt ${totalT} / 90 điểm — ${transVerdict} `; updateFloatingFabVisibility(); } function applyPreset(type) { mScores = {}; bScores = {}; tScores = {}; if (type === 'reset') { milestoneDomains.forEach(d => { mScores[d.id] = 0; }); barriersList.forEach(b => { bScores[b.id] = 0; }); transitionList.forEach(t => { tScores[t.id] = 1; }); renderItems(); updateSummary(); return; } if (type === 'lvl1') { // Học sinh Level 1 (~32/170đ, Rào cản ~42/96, Chuyển tiếp ~28/90) milestoneDomains.forEach(d => { if (d.lvl === 1) mScores[d.id] = (d.id % 2 === 0) ? 3.5 : 2.5; else if (d.lvl === 2) mScores[d.id] = (d.id { bScores[b.id] = (idx % 3 === 0) ? 3 : ((idx % 2 === 0) ? 2 : 1); }); transitionList.forEach((t, idx) => { tScores[t.id] = (idx % 2 === 0) ? 2 : 1; }); } else if (type === 'lvl2') { // Học sinh Level 2 (~85/170đ, Rào cản ~22/96, Chuyển tiếp ~52/90) milestoneDomains.forEach(d => { if (d.lvl === 1) mScores[d.id] = 5.0; else if (d.lvl === 2) mScores[d.id] = (d.id % 2 === 0) ? 3.5 : 2.5; else mScores[d.id] = (d.id { bScores[b.id] = (idx % 4 === 0) ? 2 : ((idx % 2 === 0) ? 1 : 0); }); transitionList.forEach((t, idx) => { tScores[t.id] = (idx % 2 === 0) ? 3 : 3; }); } else if (type === 'lvl3') { // Học sinh Level 3 sẵn sàng hòa nhập (~142/170đ, Rào cản ~10/96, Chuyển tiếp ~74/90) milestoneDomains.forEach(d => { if (d.lvl === 1 || d.lvl === 2) mScores[d.id] = 5.0; else mScores[d.id] = (d.id % 2 === 0) ? 3.5 : 2.5; }); barriersList.forEach((b, idx) => { bScores[b.id] = (idx % 3 === 0) ? 1 : 0; }); transitionList.forEach((t, idx) => { tScores[t.id] = (idx % 2 === 0) ? 4 : 4; }); } renderItems(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); vbWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { vbWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 960px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } shadow.querySelectorAll('#tabSwitcher .vb-tab-btn').forEach(function(btn) { btn.onclick = function() { activeTab = this.getAttribute('data-tab'); shadow.querySelectorAll('#tabSwitcher .vb-tab-btn').forEach(b => b.classList.remove('active')); this.classList.add('active'); renderHeader(); renderItems(); }; }); shadow.querySelectorAll('.vb-pbtn').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-preset')); }; }); shadow.querySelectorAll('#lvlTabs .vb-ltab').forEach(function(tab) { tab.onclick = function() { filterLvl = this.getAttribute('data-lvl'); shadow.querySelectorAll('#lvlTabs .vb-ltab').forEach(t => t.classList.remove('active')); this.classList.add('active'); renderItems(); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); renderHeader(); applyPreset('lvl2'); })();
VB-MAPP (Verbal Behavior Milestones Assessment and Placement Program — Chương trình Đánh giá Mốc Phát triển và Xếp lớp Hành vi Ngôn ngữ) là công cụ đánh giá năng lực ngôn ngữ, học tập và xã hội phổ biến nhất thế giới trong lĩnh vực Phân tích Hành vi Ứng dụng (ABA). Công cụ được Tiến sĩ Mark L. Sundberg xuất bản năm 2008, xây dựng trực tiếp trên nền tảng lý thuyết Hành vi Ngôn ngữ (Verbal Behavior – 1957) của B.F. Skinner.
Nếu như PEP-3 là “xương sống” để lên kế hoạch giáo dục theo phương pháp TEACCH, thì VB-MAPP chính là “kim chỉ nam” của mọi trung tâm can thiệp ABA / VB: không dùng để dán nhãn chẩn đoán tự kỷ, mà dùng để đo chính xác trẻ đang ở mốc phát triển ngôn ngữ nào, điều gì đang cản trở việc học của trẻ, và trẻ đã đủ điều kiện để ra học hòa nhập hay chưa.
1. Tóm tắt cốt lõi về cấu trúc 5 Thành phần của VB-MAPP
| Thành phần đánh giá | Quy mô & Thang điểm | Nội dung và Mục đích lâm sàng cốt lõi |
| 1. Đánh giá Mốc phát triển(Milestones Assessment) |
170 mốcchia làm 3 Cấp độ (0 – 170 điểm):
• Level 1 (0–18 tháng): 9 lĩnh vực (45 điểm)
• Level 2 (18–30 tháng): 12 lĩnh vực (60 điểm)
• Level 3 (30–48 tháng): 13 lĩnh vực (65 điểm) |
Đo lường 16 lĩnh vực kỹ năng (Yêu cầu – Mand, Gọi tên – Tact, Nghe hiểu – Listener, Thị giác/Ghép mẫu – VP-MTS, Chơi độc lập, Xã hội, Bắt chước, Nhại âm – Echoic, Hội thoại – Intraverbal, Học nhóm, Ngữ pháp, Đọc, Viết, Toán). Mỗi mốc chấm 0 – 0.5 – 1.0 điểm. |
| 2. Đánh giá Rào cản(Barriers Assessment) |
24 rào cảnhọc tập & ngôn ngữ
Chấm từ |
Tìm ra nguyên nhân khiến trẻ không tiến bộ dù được dạy (VD: Hành vi chống đối, Phụ thuộc gợi ý, Tự kích thích giác quan, Nhại lời máy móc, Thiếu động lực/MO, Giao tiếp mắt kém…). Điểm càng cao rào cản càng nặng. |
| 3. Đánh giá Chuyển tiếp(Transition Assessment) |
18 tiêu chísẵn sàng hòa nhập
Chấm từ |
Xác định xem trẻ đã đủ kỹ năng tự lập, học trong nhóm đông, thích ứng thay đổi để chuyển từ can thiệp 1-kèm-1 (1:1) sang lớp mẫu giáo/tiểu học hòa nhập hay chưa. |
| 4. Phân tích Nhiệm vụ(Task Analysis) | Hàng trăm kỹ năng chi tiết hỗ trợ 170 mốc | Chia nhỏ từng mốc lớn thành các bước nhỏ để giáo viên ABA dạy từng ngày. |
| 5. Xếp lớp & Mục tiêu IEP(Placement & IEP Goals) | Khuyến nghị chương trình can thiệp | Định hướng trọng tâm can thiệp và trích xuất mục tiêu dạy học ưu tiên theo từng Cấp độ (Level 1, 2, 3). |
2. Giải nghĩa nhanh các thuật ngữ “Hành vi Ngôn ngữ” (Skinner’s Verbal Operants) trong VB-MAPP
-
Mand (Yêu cầu): Trẻ dùng lời nói/cử chỉ/hình ảnh để xin thứ trẻ đang muốn (VD: thấy nước và nói “Uống nước”).
-
Tact (Định danh / Gọi tên): Trẻ gọi tên sự vật, hành động, tính chất khi nhìn/nghe/chạm thấy (VD: thấy con chó và nói “Con chó”).
-
Listener Responding (Nghe hiểu): Trẻ thực hiện đúng yêu cầu hoặc chỉ đúng vật khi người khác nói (VD: “Chỉ cho mẹ cái cốc”).
-
Echoic (Bắt chước âm / Nhại âm): Trẻ phát âm lặp lại đúng âm thanh hoặc từ mà người lớn vừa làm mẫu.
-
Intraverbal (Hội thoại / Liên tưởng từ): Trẻ trả lời câu hỏi hoặc điền vào chỗ trống mà không cần nhìn thấy vật thật (VD: “Con mèo kêu thế nào?” “Meo meo”).
-
VP-MTS (Tri giác Thị giác & Ghép mẫu): Ghép vật giống vật, tranh giống tranh, phân loại và xếp hình.
[Lập kế hoạch IEP] ABLLS-R: Hệ thống đánh giá kỹ năng ngôn ngữ và học tập cơ bản cho trẻ từ 2 – 12 tuổi
(function() { const host = document.getElementById('abllsr-wp-host'); if (!host) return; const placeholder = document.createComment('abllsr-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // 25 Lĩnh vực chuẩn của ABLLS-R (Từ A đến Z, không có chữ O) chia theo 4 Nhóm lớn // cat: 'basic' (Học tập cơ bản A-P), 'acad' (Học thuật Q-T), 'self' (Tự phục vụ U-X), 'motor' (Vận động Y-Z) const domains = [ // NHÓM 1: KỸ NĂNG HỌC TẬP CƠ BẢN (BASIC LEARNER SKILLS • A -> P) { id: 1, code: 'A', cat: 'basic', itemsCount: 19, name: 'A. Hợp tác & Hiệu quả phần thưởng (Cooperation & Reinforcer Effectiveness)', step1: 'A1–A5: Cầm lấy phần thưởng khi đưa, nhìn vào đồ vật người dạy giơ lên và phản ứng nhanh với 1–2 yêu cầu dễ.', step2: 'A6–A12: Làm việc vì nhiều loại phần thưởng khác nhau, chờ đợi không chạm vào đồ vật khi chưa cho phép.', step3: 'A13–A19: Hợp tác làm việc liên tục qua nhiều nhiệm vụ để nhận phần thưởng trì hoãn (bảng quy đổi sao/token) và lời khen xã hội.' }, { id: 2, code: 'B', cat: 'basic', itemsCount: 27, name: 'B. Biểu diễn Thị giác / Ghép mẫu (Visual Performance)', step1: 'B1–B8: Ghép đồ vật giống hệt đồ vật (3D–3D), tranh giống tranh (2D–2D) và xếp chồng khối gỗ.', step2: 'B9–B18: Thiết kế khối hình theo thẻ mẫu, ghép hình cắt rời (puzzle) và ghép nối các vật có liên quan chức năng.', step3: 'B19–B27: Phân loại đồ vật theo nhóm danh mục không cần mẫu, nối tiếp chuỗi quy luật (A-B-A-B), mê cung và sắp xếp chuỗi tranh theo trình tự.' }, { id: 3, code: 'C', cat: 'basic', itemsCount: 57, name: 'C. Ngôn ngữ Tiếp nhận / Nghe hiểu (Receptive Language)', step1: 'C1–C18: Quay đầu khi gọi tên, làm theo mệnh lệnh vận động đơn giản và chỉ đúng bộ phận cơ thể / đồ vật quen thuộc.', step2: 'C19–C39: Chọn đúng trên 100 tranh đồ vật/hành động, chọn vật khi nghe mô tả chức năng (dùng để làm gì), đặc điểm và phân loại.', step3: 'C40–C57: Chọn đúng 2–3 vật theo thứ tự, phân biệt giới từ (trên/dưới/cạnh), đại từ, tính từ đối lập và cảm xúc.' }, { id: 4, code: 'D', cat: 'basic', itemsCount: 27, name: 'D. Bắt chước Vận động (Motor Imitation)', step1: 'D1–D9: Bắt chước thao tác với đồ vật và bắt chước vận động thô của tay, chân, đầu khi có lệnh "Làm giống cô".', step2: 'D10–D18: Bắt chước vận động tinh bàn tay/ngón tay, bắt chước cử động miệng – mặt và bắt chước tốc độ/cường độ động tác.', step3: 'D19–D27: Bắt chước chuỗi 2–3 động tác liên tiếp, bắt chước theo bạn cùng lớp và bắt chước trì hoãn (nhớ làm lại sau vài phút).' }, { id: 5, code: 'E', cat: 'basic', itemsCount: 20, name: 'E. Bắt chước Âm / Nhại âm (Vocal Imitation - Echoic)', step1: 'E1–E6: Bắt chước các âm thanh nguyên âm, phụ âm cơ bản và âm thanh con vật/phương tiện khi được làm mẫu.', step2: 'E7–E14: Lặp lại rõ ràng các từ đơn, kết hợp phụ âm – nguyên âm và cụm từ ngắn 2–3 từ.', step3: 'E15–E20: Bắt chước chính xác các câu dài kèm đúng tốc độ (nhanh/chậm), âm lượng (to/nhỏ) và ngữ điệu cao độ.' }, { id: 6, code: 'F', cat: 'basic', itemsCount: 29, name: 'F. Yêu cầu (Requests - Mand)', step1: 'F1–F9: Yêu cầu bằng cử chỉ/từ đơn khi có vật yêu thích trước mặt và khi không có vật trước mặt (tự phát trên 10 yêu cầu/ngày).', step2: 'F10–F19: Yêu cầu người khác thực hiện hành động, yêu cầu sự giúp đỡ, xin đồ dùng còn thiếu để hoàn thành công việc.', step3: 'F20–F29: Yêu cầu dùng tính từ/giới từ/trạng từ và chủ động đặt câu hỏi "Cái gì?", "Ở đâu?", "Ai?", "Tại sao?" để lấy thông tin.' }, { id: 7, code: 'G', cat: 'basic', itemsCount: 47, name: 'G. Định danh / Gọi tên (Labeling - Tact)', step1: 'G1–G14: Gọi tên người thân, đồ vật quen thuộc, bộ phận cơ thể và các hành động phổ biến qua vật thật/tranh ảnh.', step2: 'G15–G31: Gọi tên kết hợp Danh từ + Động từ, gọi tên tính từ (màu sắc, hình khối, kích thước), chức năng và phân loại của vật.', step3: 'G32–G47: Gọi tên giới từ, đại từ, nghề nghiệp, cảm xúc nét mặt người khác và gọi tên các vấn đề/sự cố bất thường xung quanh.' }, { id: 8, code: 'H', cat: 'basic', itemsCount: 49, name: 'H. Hội thoại & Liên tưởng từ (Intraverbals)', step1: 'H1–H14: Điền từ vào bài hát, tạo tiếng kêu con vật, điền từ vào cụm từ quen thuộc và trả lời thông tin cá nhân (tên, tuổi).', step2: 'H15–H34: Trả lời các câu hỏi "Cái gì?", "Ở đâu?", "Ai?" về chức năng, đặc điểm và kể tên các vật trong một nhóm danh mục.', step3: 'H35–H49: Trả lời câu hỏi "Tại sao?", "Khi nào?", "Làm thế nào?", kể lại trình tự một sự việc và duy trì hội thoại nhiều lượt.' }, { id: 9, code: 'I', cat: 'basic', itemsCount: 9, name: 'I. Phát âm Tự phát (Spontaneous Vocalizations)', step1: 'I1–I3: Tự phát ra các âm thanh lời nói có ngữ điệu và tự nói các từ đơn khi chơi đùa.', step2: 'I4–I6: Tự hát theo bài hát và tự nói các cụm từ có nghĩa trong sinh hoạt mà không cần ai hỏi.', step3: 'I7–I9: Chủ động bắt chuyện, bình luận tự phát về sự vật xung quanh và trò chuyện tự nhiên với mọi người.' }, { id: 10, code: 'J', cat: 'basic', itemsCount: 20, name: 'J. Cú pháp và Ngữ pháp (Syntax and Grammar)', step1: 'J1–J6: Nói câu ngắn 2–4 từ theo đúng trật tự từ ngữ cơ bản trong tiếng Việt.', step2: 'J7–J13: Sử dụng đúng các từ chỉ số lượng, từ sở hữu ("của con"), từ phủ định ("không phải") và giới từ vị trí.', step3: 'J14–J20: Sử dụng chuẩn xác các từ chỉ thời gian quá khứ ("đã"), hiện tại ("đang"), tương lai ("sẽ") và các liên từ nối câu.' }, { id: 11, code: 'K', cat: 'basic', itemsCount: 15, name: 'K. Kỹ năng Chơi và Giải trí (Play and Leisure)', step1: 'K1–K5: Khám phá đồ chơi tích cực và chơi độc lập với đồ chơi nhân quả/lắp ghép trong 5–10 phút.', step2: 'K6–K10: Chơi đúng chức năng với bộ đồ chơi theo chủ đề (nhà bếp, đường đua xe) và chơi giả vờ đóng vai đơn giản.', step3: 'K11–K15: Chơi vận động với bóng, chơi trò chơi bàn cờ (board games) và chơi đóng vai sáng tạo cùng bạn đồng trang lứa.' }, { id: 12, code: 'L', cat: 'basic', itemsCount: 34, name: 'L. Tương tác Xã hội (Social Interaction)', step1: 'L1–L11: Giao tiếp mắt thích hợp, ở gần bạn cùng tuổi mà không có hành vi tiêu cực, nhận đồ từ bạn và đáp lại lời chào.', step2: 'L12–L23: Chủ động chia sẻ đồ vật với bạn, rủ bạn cùng chơi, chờ đến lượt và hỏi mượn đồ chơi lịch sự.', step3: 'L24–L34: Nhận ra khi bạn buồn/vui, điều chỉnh câu chuyện theo sự quan tâm của người nghe và duy trì tình bạn.' }, { id: 13, code: 'M', cat: 'basic', itemsCount: 12, name: 'M. Hướng dẫn trong Nhóm (Group Instruction)', step1: 'M1–M4: Ngồi yên tĩnh trong nhóm nhỏ (3–5 học sinh) và chú ý nhìn lên giáo viên cùng học liệu trên bảng.', step2: 'M5–M8: Thực hiện đúng các chỉ dẫn chung của giáo viên đưa ra cho cả nhóm và giơ tay xin phát biểu.', step3: 'M9–M12: Trả lời câu hỏi theo lượt trong nhóm lớn và tự tiếp thu được kiến thức mới qua bài giảng chung của lớp.' }, { id: 14, code: 'N', cat: 'basic', itemsCount: 10, name: 'N. Theo dõi Nội quy Lớp học (Classroom Routines)', step1: 'N1–N3: Tự cất cặp sách, áo khoác đúng nơi quy định và xếp hàng ngay ngắn khi được gọi.', step2: 'N4–N7: Tự lấy/cất đồ dùng học tập, tự chuyển tiếp giữa các góc hoạt động trong lớp mà không cần dắt tay.', step3: 'N8–N10: Làm việc độc lập tại bàn học trong 15–20 phút và kiên nhẫn chờ đợi khi giáo viên đang bận hỗ trợ bạn khác.' }, { id: 15, code: 'P', cat: 'basic', itemsCount: 6, name: 'P. Khái quát hóa Kỹ năng (Generalized Responding)', step1: 'P1–P2: Sử dụng được từ vựng và kỹ năng đã học với nhiều bộ tranh ảnh/đồ vật khác nhau.', step2: 'P3–P4: Thực hiện được kỹ năng đã học với nhiều giáo viên, người thân khác nhau và trong nhiều phòng học khác nhau.', step3: 'P5–P6: Tự động linh hoạt điều chỉnh cách phản ứng và vận dụng kỹ năng vào các tình huống tự nhiên ngoài cộng đồng.' }, // NHÓM 2: KỸ NĂNG HỌC THUẬT (ACADEMIC SKILLS • Q, R, S, T) { id: 16, code: 'Q', cat: 'acad', itemsCount: 17, name: 'Q. Kỹ năng Đọc (Reading)', step1: 'Q1–Q5: Nhận diện và gọi tên toàn bộ bảng chữ cái (chữ hoa & chữ thường) cùng âm của các chữ cái.', step2: 'Q6–Q12: Ghép từ với tranh tương ứng, đánh vần đọc trơn được các từ đơn và cụm từ ngắn.', step3: 'Q13–Q17: Đọc to đoạn văn ngắn và trả lời đúng các câu hỏi đọc hiểu về nội dung vừa đọc.' }, { id: 17, code: 'R', cat: 'acad', itemsCount: 29, name: 'R. Kỹ năng Toán học (Math)', step1: 'R1–R9: Đếm số thứ tự, đếm tương ứng 1–1 để lấy đúng số lượng đồ vật (1–20) và nhận diện chữ số.', step2: 'R10–R20: Hiểu các khái niệm so sánh (nhiều hơn, ít hơn, bằng nhau, thêm vào) và cộng trừ trong phạm vi 10.', step3: 'R21–R29: Xem đồng hồ chỉ giờ, nhận biết mệnh giá tiền tệ, đo lường và đếm nhảy bước (2, 5, 10).' }, { id: 18, code: 'S', cat: 'acad', itemsCount: 10, name: 'S. Kỹ năng Viết (Writing)', step1: 'S1–S3: Cầm bút đúng tư thế, gạch nét, tô màu gọn trong hình và đồ theo các nét thẳng/cong.', step2: 'S4–S7: Sao chép các hình học cơ bản, đồ chữ và tự viết tên của mình.', step3: 'S8–S10: Tự viết chính xác tất cả các chữ cái, chữ số và chép lại các từ/câu ngắn trên dòng kẻ.' }, { id: 19, code: 'T', cat: 'acad', itemsCount: 7, name: 'T. Đánh vần / Chính tả (Spelling)', step1: 'T1–T2: Ghép các thẻ chữ cái rời tạo thành tên của mình hoặc từ đơn có nhìn mẫu.', step2: 'T3–T5: Đánh vần bằng lời hoặc xếp chữ cái tạo thành từ đơn 3–4 chữ cái không cần nhìn mẫu.', step3: 'T6–T7: Viết chính tả đúng các từ vựng quen thuộc khi nghe đọc.' }, // NHÓM 3: KỸ NĂNG TỰ PHỤC VỤ CÁ NHÂN (SELF-HELP SKILLS • U, V, W, X) { id: 20, code: 'U', cat: 'self', itemsCount: 15, name: 'U. Mặc và Cởi quần áo (Dressing)', step1: 'U1–U5: Tự cởi tất, giày, quần thun, áo phông và biết phối hợp đưa tay/chân khi mặc đồ.', step2: 'U6–U10: Tự mặc quần, mặc áo phông/áo khoác, đi tất và mang giày đúng chân (trái/phải).', step3: 'U11–U15: Tự kéo khóa áo khoác, cài/mở cúc áo, cài khóa thắt lưng và buộc dây giày.' }, { id: 21, code: 'V', cat: 'self', itemsCount: 10, name: 'V. Kỹ năng Ăn uống (Eating)', step1: 'V1–V3: Tự ăn bằng tay, uống nước bằng cốc không đổ và tự dùng thìa/nĩa xúc thức ăn gọn gàng.', step2: 'V4–V7: Ngồi yên tại bàn ăn suốt bữa, ăn đa dạng nhóm thực phẩm, tự rót nước từ bình vào cốc.', step3: 'V8–V10: Tự lấy khay thức ăn, dùng dao phết bơ/cắt thức ăn mềm và tự dọn bát đĩa vào bồn sau khi ăn.' }, { id: 22, code: 'W', cat: 'self', itemsCount: 7, name: 'W. Vệ sinh Cá nhân & Chải chuốt (Grooming)', step1: 'W1–W3: Tự rửa tay bằng xà phòng, lau khô tay và lau mặt bằng khăn.', step2: 'W4–W5: Tự đánh răng đúng cách và tự chải đầu gọn gàng.', step3: 'W6–W7: Tự xì mũi bằng khăn giấy sạch sẽ và tự tắm rửa cơ thể cơ bản.' }, { id: 23, code: 'X', cat: 'self', itemsCount: 10, name: 'X. Kỹ năng Đi vệ sinh (Toileting)', step1: 'X1–X4: Đi tiểu vào bồn cầu khi được dẫn đi theo giờ và giữ quần khô ráo trong ngày.', step2: 'X5–X7: Tự chủ động báo hoặc tự đi vào nhà vệ sinh khi có nhu cầu (cả tiểu tiện và đại tiện).', step3: 'X8–X10: Tự hoàn tất toàn bộ quy trình đi vệ sinh: tự tụt/kéo quần, lau chùi vệ sinh sạch sẽ, xả nước và rửa tay.' }, // NHÓM 4: KỸ NĂNG VẬN ĐỘNG (MOTOR SKILLS • Y, Z) { id: 24, code: 'Y', cat: 'motor', itemsCount: 30, name: 'Y. Vận động Thô (Gross Motor)', step1: 'Y1–Y10: Đi, chạy vững vàng, bước lên xuống cầu thang luân phiên, nhảy chụm hai chân và lăn/đá bóng.', step2: 'Y11–Y20: Đứng một chân giữ thăng bằng, bắt bóng bằng hai tay, ném bóng trúng đích và đạp xe 3 bánh.', step3: 'Y21–Y30: Nhảy lò cò 1 chân, nhảy dây, đập bóng nảy liên tục, đu xà và đi xe đạp 2 bánh.' }, { id: 25, code: 'Z', cat: 'motor', itemsCount: 28, name: 'Z. Vận động Tinh (Fine Motor)', step1: 'Z1–Z9: Thả xu vào khe hẹp, nhặt vật nhỏ bằng ngón cái – trỏ, lật từng trang sách và xếp tháp khối gỗ.', step2: 'Z10–Z19: Xâu hạt nhỏ qua dây, vặn mở nắp lọ, kẹp kẹp quần áo và dùng kéo cắt đứt mảnh giấy.', step3: 'Z20–Z28: Cắt kéo chính xác theo đường cong/hình vẽ, gấp giấy theo nếp, dán keo gọn gàng và thao tác ngón tay tinh xảo.' } ]; // scores[id] lưu mức thành thạo trung bình của lĩnh vực đó trên thang 0..4 của ABLLS-R: // 0 (0% - Chưa bắt đầu), 1 (25% - Mức sơ khởi ★ IEP), 2 (50% - Đạt nửa chừng ★ IEP), 3 (75% - Gần hoàn thiện ★ IEP), 4 (100% - Đạt chuẩn Mastered) let scores = {}; let filterCat = 'all'; // 'all' | 'basic' | 'acad' | 'self' | 'motor' let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .ab-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .ab-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .ab-inner { padding: 24px; max-width: 960px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .ab-wrap.is-fullscreen .ab-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .ab-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(14, 116, 144, 0.45), 0 0 0 0 rgba(14, 116, 144, 0.4); } 70% { box-shadow: 0 6px 20px rgba(14, 116, 144, 0.45), 0 0 0 10px rgba(14, 116, 144, 0); } 100% { box-shadow: 0 6px 20px rgba(14, 116, 144, 0.45), 0 0 0 0 rgba(14, 116, 144, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #0e7490 0%, #0891b2 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(14, 116, 144, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Header */ .ab-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .ab-header-text { flex: 1 1 260px; } .ab-title { font-size: 21px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .ab-desc { font-size: 14px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #ecfeff; color: #0e7490; border: 1px solid #a5f3fc; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #0891b2; color: #ffffff; border-color: #0891b2; } /* Controls */ .ab-controls { display: flex; flex-direction: column; gap: 10px; margin-bottom: 18px; } .ab-presets { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; } .ab-preset-lbl { font-size: 12.5px; font-weight: 700; color: #475569; margin-right: 4px; } .ab-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; touch-action: manipulation; } .ab-pbtn:hover { background: #f1f5f9; } .ab-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } .ab-cat-tabs { display: flex; flex-wrap: wrap; gap: 6px; } .ab-ctab { padding: 6px 12px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .ab-ctab.active { background: #0e7490; color: #ffffff; border-color: #0e7490; } /* Sticky Dashboard */ .ab-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 18px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .ab-wrap.is-fullscreen .ab-dash { top: 58px; } .ab-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .ab-score-big { font-size: 22px; font-weight: 800; line-height: 1.15; } .ab-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .ab-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .ab-pillars { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; font-size: 12px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .ab-pillar-box { background: #1e293b; padding: 7px 10px; border-radius: 8px; } .ab-pillar-val { font-weight: 700; color: #ffffff; font-size: 13.5px; display: block; margin-top: 2px; } /* Biểu đồ Lưới Kỹ năng A-Z (Skill Tracking Grid) */ .ab-grid-card { background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 12px; padding: 14px 16px; margin-bottom: 18px; } .ab-grid-title { font-size: 13.5px; font-weight: 800; color: #0f172a; margin-bottom: 10px; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 8px; } .ab-tower-wrap { display: grid; grid-template-columns: repeat(25, 1fr); gap: 4px; align-items: end; } .ab-tower-col { display: flex; flex-direction: column; align-items: center; gap: 3px; } .ab-tower-cells { display: flex; flex-direction: column-reverse; gap: 2px; width: 100%; } .ab-cell { height: 11px; width: 100%; background: #e2e8f0; border-radius: 2px; transition: background 0.2s ease; } .ab-cell.filled-basic { background: #0284c7; } .ab-cell.filled-acad { background: #7c3aed; } .ab-cell.filled-self { background: #10b981; } .ab-cell.filled-motor { background: #f59e0b; } .ab-tower-lbl { font-size: 11px; font-weight: 800; color: #334155; margin-top: 2px; } /* Danh sách 25 Lĩnh vực */ .ab-item { border: 1px solid #e2e8f0; border-radius: 12px; padding: 14px 16px; margin-bottom: 12px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 8px; } .ab-item.mastered { border-color: #a7f3d0; background: #f0fdf4; } .ab-item.emerging { border-color: #fde68a; background: #fffbeb; } .ab-item-title { font-size: 15px; font-weight: 800; color: #0f172a; } .ab-item-desc { font-size: 13.2px; color: #334155; line-height: 1.5; } .ab-tags { display: flex; flex-wrap: wrap; gap: 6px; } .ab-tag { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .ab-tag.cat-basic { background: #e0f2fe; color: #0369a1; } .ab-tag.cat-acad { background: #f3e8ff; color: #7e22ce; } .ab-tag.cat-self { background: #dcfce7; color: #15803d; } .ab-tag.cat-motor { background: #fef3c7; color: #b45309; } .ab-ans-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; margin-top: 4px; } .ab-abtn { padding: 8px 6px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 700; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .ab-abtn:hover { border-color: #64748b; } .ab-abtn.sel-0 { background: #ef4444; border-color: #ef4444; color: #ffffff; } .ab-abtn.sel-1, .ab-abtn.sel-2 { background: #f59e0b; border-color: #f59e0b; color: #ffffff; } .ab-abtn.sel-3 { background: #0284c7; border-color: #0284c7; color: #ffffff; } .ab-abtn.sel-4 { background: #10b981; border-color: #10b981; color: #ffffff; } /* Hộp trích xuất IEP & Kết luận */ .ab-iep-box { margin-top: 18px; padding: 16px 18px; border-radius: 12px; background: #fffbeb; border: 1px solid #fde68a; border-left: 5px solid #f59e0b; font-size: 13.8px; color: #78350f; } .ab-iep-title { font-size: 15px; font-weight: 800; color: #92400e; margin-bottom: 8px; } .ab-result-box { margin-top: 16px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #0e7490; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 720px) { .ab-inner { padding: 14px; } .ab-title { font-size: 18px; } .ab-pillars { grid-template-columns: 1fr 1fr; } .ab-ans-grid { grid-template-columns: 1fr 1fr; } .ab-tower-wrap { grid-template-columns: repeat(13, 1fr); row-gap: 10px; } .ab-pbtn.reset { margin-left: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
Hệ Thống Đánh Giá Kỹ Năng Ngôn Ngữ & Học Tập Cơ Bản ABLLS-R (25 Lĩnh Vực A – Z • 544 Kỹ Năng)
Công cụ chuẩn hóa của Tiến sĩ James W. Partington (2006) phân tích 544 kỹ năng qua 25 bảng chữ cái (từ A đến Z). Hãy chấm mức độ thành thạo trung bình từ Mức 0 (0%) đến Mức 4 (100% - Độc lập hoàn toàn) cho từng lĩnh vực để vẽ Biểu đồ Lưới Kỹ năng (Skill Tracking Grid) và tự động trích xuất Mục tiêu Can thiệp IEP.
• Giai đoạn giữa (Mức 2–3): ${d.step2}
• Giai đoạn hoàn thiện (Mức 4): ${d.step3}
'); iepBox.innerHTML = `
• 1. Trụ cột Kỹ năng Học tập Cơ bản (A – P): Đạt ${pctBasic}%. ${pctBasic < 40 ? 'Cần ưu tiên tuyệt đối cho 6 lĩnh vực nền tảng: Hợp tác (A), Ghép mẫu thị giác (B), Nghe hiểu (C), Bắt chước vận động (D), Bắt chước âm (E) và Yêu cầu Mand (F).' : 'Học sinh đã có nền tảng học tập tốt, cần đẩy mạnh Hội thoại Intraverbal (H), Tương tác xã hội (L) và Học trong nhóm (M).'}
• 2. Trụ cột Kỹ năng Học thuật (Q – T): Đạt ${pctAcad}% (Đọc, Toán, Viết, Đánh vần).
• 3. Trụ cột Kỹ năng Tự phục vụ (U – X): Đạt ${pctSelf}% (Mặc đồ, Ăn uống, Chải chuốt, Đi vệ sinh).
• 4. Trụ cột Kỹ năng Vận động (Y – Z): Đạt ${pctMotor}% (Vận động Thô & Vận động Tinh). `; updateFloatingFabVisibility(); } function applyPreset(type) { scores = {}; if (type === 'reset') { domains.forEach(d => { scores[d.id] = 0; }); renderTowerGrid(); renderItems(); updateSummary(); return; } if (type === 'early') { // Người học sơ khởi (~25%) domains.forEach(d => { if (['A', 'B', 'C', 'D', 'F', 'Y', 'Z'].includes(d.code)) scores[d.id] = 2; else if (['E', 'G', 'K', 'U', 'V', 'W', 'X'].includes(d.code)) scores[d.id] = 1; else scores[d.id] = 0; }); } else if (type === 'inter') { // Người học trung cấp (~56%) domains.forEach(d => { if (['A', 'B', 'D', 'Y', 'Z', 'U', 'V'].includes(d.code)) scores[d.id] = 3; else if (['C', 'E', 'F', 'G', 'K', 'L', 'M', 'N', 'W', 'X'].includes(d.code)) scores[d.id] = 2; else scores[d.id] = 1; }); } else if (type === 'adv') { // Người học nâng cao (~82%) domains.forEach(d => { if (d.cat === 'basic' || d.cat === 'self' || d.cat === 'motor') { scores[d.id] = (d.id % 2 === 0) ? 4 : 3; } else { scores[d.id] = 3; } }); } renderTowerGrid(); renderItems(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); abWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { abWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 960px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } shadow.querySelectorAll('.ab-pbtn').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-preset')); }; }); shadow.querySelectorAll('#catTabs .ab-ctab').forEach(function(tab) { tab.onclick = function() { filterCat = this.getAttribute('data-cat'); shadow.querySelectorAll('#catTabs .ab-ctab').forEach(t => t.classList.remove('active')); this.classList.add('active'); renderItems(); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); applyPreset('inter'); })();
ABLLS-R (Assessment of Basic Language and Learning Skills – Revised — Đánh giá các Kỹ năng Ngôn ngữ và Học tập Cơ bản – Bản Hiệu đính) là công cụ đánh giá, hướng dẫn chương trình giảng dạy và hệ thống theo dõi kỹ năng toàn diện do Tiến sĩ James W. Partington xuất bản năm 2006 (phiên bản gốc năm 1998 viết cùng Tiến sĩ Mark Sundberg).
Trong can thiệp ABA (Phân tích Hành vi Ứng dụng), ABLLS-R và VB-MAPP là hai công cụ trụ cột luôn đi song hành với nhau:
-
Nếu VB-MAPP đối chiếu theo các mốc tuổi phát triển chuẩn (0 – 48 tháng), thì ABLLS-R là một hệ thống Phân tích Nhiệm vụ (Task Analysis) cực kỳ chi tiết gồm 544 kỹ năng nối tiếp nhau từ A đến Z (không giới hạn độ tuổi sinh học, miễn là trẻ cần học các kỹ năng tương đương một đứa trẻ phát triển điển hình trước khi vào lớp 1,thường áp dụng từ 2 đến 12+ tuổi).
-
Đặc biệt, ngoài ngôn ngữ và học tập, ABLLS-R đánh giá rất sâu mảng Tự phục vụ cá nhân (Ăn mặc, Ăn uống, Chải chuốt, Đi vệ sinh) và Vận động (Thô & Tinh) — những phần mà VB-MAPP không tách thành bảng chấm riêng.
1. Cấu trúc 25 Lĩnh vực (Từ A đến Z) chia làm 4 Nhóm lớn của ABLLS-R
Toàn bộ 544 kỹ năng trong ABLLS-R được chia thành 25 bảng chữ cái (từ A đến Z, không có chữ O) và gom vào 4 Trụ cột lớn:
| Nhóm kỹ năng lớn | Ký hiệu Lĩnh vực (Domains) | Tổng số mục | Nội dung đánh giá trọng tâm |
| 1. Kỹ năng Học tập Cơ bản (Basic Learner Skills) | A P (15 lĩnh vực) | 353 kỹ năng |
• A: Hợp tác & Hiệu quả phần thưởng (19) • B: Thị giác / Ghép mẫu (27) • C: Nghe hiểu (57)
• D: Bắt chước vận động (27) • E: Bắt chước âm (20) • F: Yêu cầu – Mand (29)
• G: Định danh / Gọi tên – Tact (47) • H: Hội thoại – Intraverbal (49) • I: Phát âm tự phát (9)
• J: Cú pháp & Ngữ pháp (20) • K: Chơi & Giải trí (15) • L: Tương tác xã hội (34)
• M: Học trong nhóm (12) • N: Theo dõi nội quy lớp học (10) • P: Khái quát hóa (6). |
| 2. Kỹ năng Học thuật(Academic Skills) | Q, R, S, T (4 lĩnh vực) | 84 kỹ năng |
• Q: Kỹ năng Đọc (17) • R: Kỹ năng Toán học (29)
• S: Kỹ năng Viết (10) • T: Đánh vần / Chính tả (7). |
| 3. Kỹ năng Tự phục vụ(Self-Help Skills) | U, V, W, X (4 lĩnh vực) | 59 kỹ năng |
• U: Mặc và cởi quần áo (15) • V: Tự ăn uống (10)
• W: Vệ sinh cá nhân / Chải chuốt (7) • X: Kỹ năng đi vệ sinh – Toileting (10). |
| 4. Kỹ năng Vận động(Motor Skills) | Y, Z (2 lĩnh vực) | 58 kỹ năng | • Y: Vận động thô – Gross Motor (30) • Z: Vận động tinh – Fine Motor (28). |
2. Quy tắc chấm điểm & Biểu đồ Lưới theo dõi (Skill Tracking Grid)
-
Các nhiệm vụ phức tạp trong ABLLS-R được chấm trên thang 0 – 4 điểm (các nhiệm vụ đơn giản hơn chấm thang 0 – 2 điểm):
-
0 điểm: Chưa thực hiện được kỹ năng dù có hỗ trợ. -
1 điểm: Đạt khoảng 25% tiêu chí hoặc cần hỗ trợ thể chất/làm mẫu nhiều. -
2 điểm: Đạt khoảng 50% tiêu chí hoặc làm được khi có gợi ý lời nói/cử chỉ. -
3 điểm: Đạt khoảng 75% tiêu chí, gần độc lập nhưng chưa khái quát hóa rộng. -
4 điểm(Đạt chuẩn tối đa – Mastered): Hoàn toàn độc lập, đúng tiêu chí về tốc độ, số lượng và khái quát hóa sang nhiều môi trường.
-
-
Nguyên tắc chọn Mục tiêu IEP từ ABLLS-R: Giáo viên ABA và phụ huynh sẽ chọn khoảng 15 – 30 kỹ năng đang đạt mức trung gian (1 – 3 điểm) hoặc nằm ngay sát trên các ô đã tô kín trên Biểu đồ Lưới để làm mục tiêu dạy học trong kỳ tiếp theo.
[Lập kế hoạch IEP] AFLS: Công cụ đánh giá kỹ năng sống độc lập, tự phục vụ và hòa nhập cộng đồng (Từ 2 tuổi)
(function() { const host = document.getElementById('afls-wp-host'); if (!host) return; const placeholder = document.createComment('afls-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // Cấu hình 6 Mô-đun Đánh giá (Protocols) chuẩn của AFLS (Partington & Mueller, 2012) const moduleConfigs = { basic: { code: 'basic', short: 'BLS', color: '#2563eb', tabTitle: '🪥 1. Sống Cơ bản (Basic)', tabSub: '8 Lĩnh vực • Tự chăm sóc nền tảng', fullTitle: 'Mô-đun 1: Kỹ Năng Sống Cơ Bản — AFLS Basic Living Skills Protocol (8 Lĩnh Vực)', desc: 'Đánh giá các kỹ năng tự chăm sóc, vệ sinh, an toàn và giao tiếp thiết yếu nhất hàng ngày. Đây là mô-đun ưu tiên số 1 cho mọi lứa tuổi từ 2 tuổi trở lên.' }, home: { code: 'home', short: 'HMS', color: '#0d9488', tabTitle: '🏠 2. Tại Gia đình (Home)', tabSub: '7 Lĩnh vực • Việc nhà, Giặt ủi & Nấu ăn', fullTitle: 'Mô-đun 2: Kỹ Năng Tại Gia Đình — AFLS Home Skills Protocol (7 Lĩnh Vực)', desc: 'Đánh giá khả năng tham gia sinh hoạt gia đình: ăn uống lịch sự, rửa bát, giặt gấp quần áo, dọn dẹp phòng ốc, giải trí lành mạnh và tự chế biến món ăn trong bếp.' }, comm: { code: 'comm', short: 'CPS', color: '#7c3aed', tabTitle: '🛒 3. Cộng đồng (Community)', tabSub: '7 Lĩnh vực • Đi đường, Mua sắm & Tiền tệ', fullTitle: 'Mô-đun 3: Kỹ Năng Tham Gia Cộng Đồng — AFLS Community Participation Protocol (7 Lĩnh Vực)', desc: 'Đánh giá năng lực định hướng ngoài xã hội: đi bộ qua đường an toàn, đi siêu thị mua sắm, ăn uống tại nhà hàng, quản lý tiền mặt/thẻ, dùng điện thoại và quản lý thời gian.' }, school: { code: 'school', short: 'SCS', color: '#f59e0b', tabTitle: '🏫 4. Học đường (School)', tabSub: '7 Lĩnh vực • Lớp học, Bạn bè & Công nghệ', fullTitle: 'Mô-đun 4: Kỹ Năng Học Đường — AFLS School Skills Protocol (7 Lĩnh Vực)', desc: 'Đánh giá các kỹ năng thực tiễn để học sinh tự xoay xở trong trường học (từ Tiểu học đến Trung học): tuân thủ nội quy, tự ăn ở căng-tin, dùng máy tính và vận dụng kiến thức vào thực tế.' }, voc: { code: 'voc', short: 'VOC', color: '#ea580c', tabTitle: '💼 5. Hướng nghiệp (Vocational)', tabSub: '7 Lĩnh vực • Tìm việc, Kỹ năng nghề & An toàn', fullTitle: 'Mô-đun 5: Kỹ Năng Hướng Nghiệp & Việc Làm — AFLS Vocational Skills Protocol (7 Lĩnh Vực)', desc: 'Đánh giá sự sẵn sàng lao động cho thanh thiếu niên (≥ 14 tuổi) và người trưởng thành: chuẩn bị hồ sơ, phỏng vấn, tác phong làm việc, giao tiếp đồng nghiệp và kỹ năng nghề thực hành.' }, indep: { code: 'indep', short: 'ILS', color: '#dc2626', tabTitle: '🔑 6. Sống Độc lập (Independent)', tabSub: '6 Lĩnh vực • Tài chính, Y tế & Tự quyết', fullTitle: 'Mô-đun 6: Kỹ Năng Sống Độc Lập — AFLS Independent Living Skills Protocol (6 Lĩnh Vực)', desc: 'Đánh giá các kỹ năng sống tự chủ cấp cao của người trưởng thành: quản lý chi tiêu/hóa đơn, tự chăm sóc y tế/uống thuốc, đi lại bằng phương tiện công cộng và tự bảo vệ quyền lợi bản thân.' } }; // Đầy đủ 42 Lĩnh vực chức năng thuộc 6 Mô-đun AFLS (Chấm thang 0 -> 4 điểm chuẩn Partington) const domains = [ // ===================================================== // MÔ-ĐUN 1: KỸ NĂNG SỐNG CƠ BẢN (BASIC LIVING SKILLS • 8 LĨNH VỰC) // ===================================================== { id: 1, mod: 'basic', code: 'BLS-1', name: '1. Tự Quản lý Hành vi & Cảm xúc (Self-Management)', step1: 'Bình tĩnh khi có thay đổi nhỏ trong sinh hoạt và hợp tác dừng hành vi khi được nhắc.', step2: 'Biết chờ đợi 5–10 phút khi chưa được đáp ứng ngay và tự dùng lời/ký hiệu để xin nghỉ giải lao.', step3: 'Tự kiểm soát cảm xúc không ăn vạ/tự gây hại và tự áp dụng chiến lược thư giãn khi căng thẳng ngoài cộng đồng.' }, { id: 2, mod: 'basic', code: 'BLS-2', name: '2. Giao tiếp Chức năng Cơ bản (Basic Communication)', step1: 'Biết yêu cầu đồ ăn, thức uống, đi vệ sinh và sự giúp đỡ bằng lời nói, cử chỉ hoặc thiết bị AAC/PECS.', step2: 'Trả lời đúng thông tin cá nhân thiết yếu (Họ tên, Tuổi, Tên bố mẹ, Số điện thoại/Địa chỉ khi đi lạc).', step3: 'Truyền đạt rõ ràng khi cơ thể bị đau/ốm và chủ động thông báo các sự cố khẩn cấp cho người lớn.' }, { id: 3, mod: 'basic', code: 'BLS-3', name: '3. Mặc và Cởi Quần áo (Dressing)', step1: 'Tự cởi và mặc quần thun, áo phông, tất và giày dán Velcro.', step2: 'Mặc quần áo đúng mặt trước/sau, mặt phải/trái, đi giày đúng chân trái/phải và tự cài cúc áo, kéo khóa.', step3: 'Tự chọn trang phục phù hợp với thời tiết (nóng/lạnh/mưa), hoàn cảnh xã hội và tự buộc dây giày thành thạo.' }, { id: 4, mod: 'basic', code: 'BLS-4', name: '4. Kỹ năng Đi vệ sinh (Toileting)', step1: 'Đi tiểu và đại tiện vào bồn cầu theo lịch nhắc, giữ quần khô ráo suốt ban ngày và ban đêm.', step2: 'Tự chủ động nhận biết nhu cầu và tự đi vào nhà vệ sinh mà không cần ai nhắc.', step3: 'Hoàn tất độc lập 100% quy trình tại cả nhà riêng lẫn nhà vệ sinh công cộng (đóng chốt cửa, tự lau chùi sạch, xả nước, rửa tay).' }, { id: 5, mod: 'basic', code: 'BLS-5', name: '5. Chải chuốt & Vệ sinh Cá nhân (Grooming)', step1: 'Tự rửa tay bằng xà phòng, lau khô tay, lau mặt và xì mũi bằng khăn giấy.', step2: 'Tự lấy kem đánh răng, đánh răng sạch các mặt răng, súc miệng và tự chải tóc gọn gàng.', step3: 'Tự chăm sóc móng tay, dùng lăn khử mùi, chăm sóc da mặt, cạo râu (nam) hoặc vệ sinh chu kỳ kinh nguyệt (nữ).' }, { id: 6, mod: 'basic', code: 'BLS-6', name: '6. Kỹ năng Tắm rửa (Bathing)', step1: 'Hợp tác trong bồn tắm/vòi sen, tự xoa xà phòng lên cơ thể và dội nước tráng sạch.', step2: 'Tự gội đầu bằng dầu gội, xả sạch bọt không để vào mắt và tự dùng khăn tắm lau khô toàn thân.', step3: 'Tự điều chỉnh nhiệt độ nước an toàn (nóng/lạnh), tự tắm gội độc lập hoàn toàn và treo khăn/dọn phòng tắm sau khi tắm.' }, { id: 7, mod: 'basic', code: 'BLS-7', name: '7. Sức khỏe, An toàn & Sơ cứu Cơ bản (Health, Safety & First Aid)', step1: 'Nhận biết và tránh các mối nguy hiểm trực tiếp (ổ điện, vật sắc nhọn, bếp nóng, hóa chất tẩy rửa, nước sâu).', step2: 'Biết báo ngay khi bị đứt tay/trầy xước, hợp tác rửa vết thương, dán băng cá nhân (Band-Aid) và uống thuốc theo hướng dẫn.', step3: 'Tự sơ cứu vết thương nhỏ, biết thoát hiểm khi có chuông báo cháy và tuyệt đối không đi theo người lạ.' }, { id: 8, mod: 'basic', code: 'BLS-8', name: '8. Thói quen Ban đêm & Giấc ngủ (Nighttime Routines)', step1: 'Thực hiện quy trình chuẩn bị đi ngủ (mặc đồ ngủ, đi vệ sinh, đánh răng) và nằm lên giường đúng giờ.', step2: 'Tự ngủ trên giường riêng suốt đêm mà không thức dậy đi lang thang hay gọi người nhà.', step3: 'Tự đặt đồng hồ báo thức, tự thức dậy đúng giờ vào buổi sáng và tự gấp chăn màn gọn gàng.' }, // ===================================================== // MÔ-ĐUN 2: KỸ NĂNG TẠI GIA ĐÌNH (HOME SKILLS • 7 LĨNH VỰC) // ===================================================== { id: 9, mod: 'home', code: 'HMS-1', name: '9. Ăn uống Tại Nhà & Phép lịch sự trên bàn ăn (Meals at Home)', step1: 'Tự dùng thìa, đũa/nĩa ăn uống gọn gàng tại bàn ăn và tự rót nước từ bình ra cốc.', step2: 'Phụ giúp bày bát đũa lên bàn ăn trước bữa cơm và tự mang bát đĩa bẩn của mình ra bồn rửa sau khi ăn.', step3: 'Sử dụng dao cắt thức ăn mềm, mời cơm, lấy thức ăn vừa đủ và giữ tác phong lịch sự suốt bữa ăn gia đình.' }, { id: 10, mod: 'home', code: 'HMS-2', name: '10. Rửa bát & Dọn dẹp Bồn rửa (Dishes)', step1: 'Tráng sạch thức ăn thừa trên bát đĩa và phân loại bát, đĩa, thìa đũa vào bồn rửa.', step2: 'Tự rửa sạch bát đĩa bằng nước rửa chén, tráng sạch bọt và úp lên giá phơi khô.', step3: 'Xếp bát đĩa vào máy rửa bát (hoặc cất bát đĩa đã khô vào đúng ngăn tủ bếp) và lau khô mặt bàn bếp.' }, { id: 11, mod: 'home', code: 'HMS-3', name: '11. Quần áo & Giặt ủi (Clothing and Laundry)', step1: 'Bỏ quần áo bẩn vào giỏ giặt mỗi ngày và phân loại quần áo sạch của mình.', step2: 'Biết gấp gọn áo phông, quần dài, tất và treo áo sơ mi/áo khoác lên móc treo vào tủ.', step3: 'Tự phân loại đồ trắng/đồ màu, cho quần áo và nước giặt vào máy giặt, bấm nút giặt, phơi đồ và là (ủi) quần áo cơ bản.' }, { id: 12, mod: 'home', code: 'HMS-4', name: '12. Dọn dẹp Nhà cửa & Việc nhà (Housekeeping and Chores)', step1: 'Tự cất đồ chơi/đồ dùng sau khi dùng, lau bàn và bỏ rác vào thùng rác.', step2: 'Quét nhà, hút bụi sàn nhà, lau nhà bằng cây lau và buộc túi rác mang ra nơi tập kết.', step3: 'Tự dọn phòng ngủ cá nhân, thay vỏ chăn ga gối, lau chùi bồn rửa mặt/nhà vệ sinh và chăm sóc cây cảnh/thú cưng.' }, { id: 13, mod: 'home', code: 'HMS-5', name: '13. Cơ học Gia dụng & Sửa chữa Vặt (Household Mechanics)', step1: 'Sử dụng thành thạo chìa khóa để mở/khóa cửa nhà, bật/tắt quạt, điều hòa và kéo rèm cửa.', step2: 'Biết thay pin cho điều khiển từ xa/đồng hồ và biết dùng tua-vít/dụng cụ cơ bản an toàn.', step3: 'Biết thay bóng đèn bàn, xử lý khi mất điện (dùng đèn pin) và khóa van nước/ngắt cầu dao khi có sự cố rò rỉ.' }, { id: 14, mod: 'home', code: 'HMS-6', name: '14. Kỹ năng Giải trí Lành mạnh Tại nhà (Home Leisure)', step1: 'Tự chơi đồ chơi, xem sách tranh, nghe nhạc hoặc tô màu độc lập trong 20–30 phút.', step2: 'Tham gia chơi cờ cá ngựa, Uno, lắp ráp mô hình hoặc chơi thể thao vận động cùng người thân.', step3: 'Tự quản lý thời gian giải trí hợp lý (không nghiện màn hình điện thoại/tivi quá giờ quy định) và theo đuổi sở thích lành mạnh.' }, { id: 15, mod: 'home', code: 'HMS-7', name: '15. Kỹ năng Bếp núc & Nấu ăn (Kitchen and Cooking)', step1: 'Tự lấy đồ ăn trong tủ lạnh, bóc vỏ trái cây (chuối, quýt), phết bơ/mứt lên bánh mì và pha sữa/ngũ cốc.', step2: 'Rửa sạch rau củ, sử dụng lò vi sóng, ấm đun siêu tốc, nồi cơm điện để hâm nóng thức ăn và cắm cơm an toàn.', step3: 'Sử dụng dao gọt/thái thực phẩm an toàn và tự nấu được các món ăn cơ bản (luộc trứng/rau, rán trứng, nấu mì) trên bếp.' }, // ===================================================== // MÔ-ĐUN 3: KỸ NĂNG THAM GIA CỘNG ĐỒNG (COMMUNITY PARTICIPATION • 7 LĨNH VỰC) // ===================================================== { id: 16, mod: 'comm', code: 'CPS-1', name: '16. Di chuyển Cơ bản & An toàn Giao thông (Basic Mobility)', step1: 'Đi bộ trên vỉa hè cạnh người lớn mà không tự ý chạy lao xuống lòng đường; thắt dây an toàn khi ngồi ô tô/đội mũ bảo hiểm khi đi xe máy.', step2: 'Hiểu tín hiệu đèn giao thông (Đèn đỏ dừng lại, Đèn xanh đi) và quan sát Trái – Phải – Trái trước khi qua đường tại vạch kẻ.', step3: 'Tự đi bộ an toàn đến các địa điểm gần nhà (cửa hàng, trường học, công viên) và nhận diện các biển báo công cộng.' }, { id: 17, mod: 'comm', code: 'CPS-2', name: '17. Kiến thức & Ứng xử Nơi Công cộng (Community Knowledge)', step1: 'Giữ trật tự nơi công cộng, biết xếp hàng chờ đến lượt và nhận biết biểu tượng nhà vệ sinh Nam / Nữ.', step2: 'Biết chức năng của các địa điểm trong cộng đồng (Bệnh viện, Siêu thị, Bưu điện, Đồn công an, Hiệu cắt tóc, Thư viện).', step3: 'Biết tìm nhân viên bảo vệ/công an hoặc người có thẻ tên để nhờ giúp đỡ khi bị lạc hoặc gặp sự cố ngoài đường.' }, { id: 18, mod: 'comm', code: 'CPS-3', name: '18. Kỹ năng Đi Siêu thị & Mua sắm (Shopping)', step1: 'Đi cùng người lớn trong siêu thị, đẩy xe hàng cẩn thận và không tự ý bóc đồ ăn khi chưa thanh toán.', step2: 'Tìm đúng các món đồ cần mua theo danh sách hình ảnh/chữ viết và mang ra quầy thu ngân xếp hàng.', step3: 'Kiểm tra giá tiền, hạn sử dụng trên bao bì, tự thanh toán tại quầy thu ngân, nhận lại tiền thừa/hóa đơn và xách đồ về.' }, { id: 19, mod: 'comm', code: 'CPS-4', name: '19. Ăn uống Tại Nhà hàng / Quán ăn (Meals in Public)', step1: 'Ngồi yên tại bàn ăn trong nhà hàng/quán ăn và chờ đợi trong lúc món ăn đang được chuẩn bị.', step2: 'Xem thực đơn (menu) để tự chọn món ăn/đồ uống mình muốn và tự lấy khay/ống hút/khăn giấy tại quầy tự phục vụ.', step3: 'Tự gọi món trực tiếp với nhân viên phục vụ, ăn uống lịch sự nơi đông người và tự thanh toán hóa đơn bữa ăn.' }, { id: 20, mod: 'comm', code: 'CPS-5', name: '20. Kỹ năng Tiền tệ & Thanh toán (Money)', step1: 'Nhận biết và phân loại chính xác các mệnh giá tiền giấy Việt Nam (1.000đ → 500.000đ).', step2: 'Đếm tổng số tiền đang có trong ví và biết mệnh giá nào đủ để mua một món hàng có ghi giá sẵn.', step3: 'Tính nhẩm tiền thừa cần nhận lại khi mua hàng và biết sử dụng thẻ thanh toán / ví điện tử an toàn.' }, { id: 21, mod: 'comm', code: 'CPS-6', name: '21. Kỹ năng Sử dụng Điện thoại (Phone)', step1: 'Biết nghe điện thoại khi có người thân gọi đến, chào hỏi và đưa máy cho bố mẹ khi cần.', step2: 'Tự mở danh bạ gọi điện thoại/gọi video cho bố mẹ, người thân và trả lời đúng mình đang ở đâu.', step3: 'Biết gọi các số điện thoại khẩn cấp (113, 114, 115), nhắn tin văn bản lịch sự và bảo mật thông tin trên điện thoại.' }, { id: 22, mod: 'comm', code: 'CPS-7', name: '22. Kỹ năng Thời gian & Lịch trình (Time)', step1: 'Phân biệt các buổi trong ngày (Sáng, Trưa, Chiều, Tối) và làm theo thời khóa biểu hình ảnh/chữ viết.', step2: 'Đọc giờ đúng và giờ lẻ phút trên đồng hồ điện tử và đồng hồ kim; đọc thứ, ngày, tháng trên lịch.', step3: 'Ước lượng thời gian di chuyển, tự quản lý lịch hẹn cá nhân và luôn có mặt đúng giờ quy định.' }, // ===================================================== // MÔ-ĐUN 4: KỸ NĂNG HỌC ĐƯỜNG (SCHOOL SKILLS • 7 LĨNH VỰC) // ===================================================== { id: 23, mod: 'school', code: 'SCS-1', name: '23. Nội quy Lớp học & Tự tổ chức Học tập (Classroom Routines)', step1: 'Tự đi vào lớp, cất cặp sách, lấy sách vở theo môn học và ngồi học nghiêm túc trong suốt tiết học.', step2: 'Làm theo hướng dẫn chung của giáo viên cho cả lớp, tự giơ tay xin phát biểu hoặc xin phép đi vệ sinh.', step3: 'Tự ghi chép bài tập về nhà vào sổ dặn dò, tự chuẩn bị cặp sách cho ngày hôm sau và nộp bài đúng hạn.' }, { id: 24, mod: 'school', code: 'SCS-2', name: '24. Kỹ năng Ăn bán trú tại Căng-tin Trường (Meals at School)', step1: 'Xếp hàng nhận khay cơm bán trú hoặc tự mở hộp cơm trưa mang từ nhà đi.', step2: 'Ngồi ăn đúng vị trí cùng các bạn cùng lớp trong thời gian quy định mà không rời bàn.', step3: 'Tự dọn khay cơm, phân loại rác/thức ăn thừa và xếp bát thìa vào đúng khay thu gom của nhà ăn trường.' }, { id: 25, mod: 'school', code: 'SCS-3', name: '25. Kỹ năng Xã hội Học đường & Làm việc Nhóm (School Social Skills)', step1: 'Chào hỏi thầy cô và bạn bè, tham gia các hoạt động giờ ra chơi mà không xô đẩy hay giật đồ.', step2: 'Hợp tác làm bài tập nhóm với 2–3 bạn cùng lớp, biết chia sẻ dụng cụ học tập và lắng nghe ý kiến bạn.', step3: 'Nhận biết hành vi bắt nạt học đường để báo giáo viên và biết cách từ chối khi bạn rủ làm việc sai nội quy.' }, { id: 26, mod: 'school', code: 'SCS-4', name: '26. Sử dụng Công nghệ & Máy tính (Technology)', step1: 'Biết bật/tắt máy tính/máy tính bảng, sử dụng chuột và bàn phím để mở phần mềm học tập.', step2: 'Đánh máy văn bản tiếng Việt có dấu, lưu file tài liệu vào thư mục và in tài liệu.', step3: 'Tra cứu thông tin học tập an toàn trên Internet, gửi email nộp bài và tuân thủ quy tắc an toàn mạng.' }, { id: 27, mod: 'school', code: 'SCS-5', name: '27. Kiến thức Tự nhiên & Xã hội Chung (Common Knowledge)', step1: 'Nhận biết các mùa, hiện tượng thời tiết, các ngày lễ lớn và các nghề nghiệp phổ biến trong xã hội.', step2: 'Hiểu chức năng các bộ phận cơ thể, tháp dinh dưỡng lành mạnh và quy luật sinh trưởng của cây cối/động vật.', step3: 'Nắm được kiến thức địa lý cơ bản (tỉnh thành, đất nước) và các quy định ứng xử văn minh công cộng.' }, { id: 28, mod: 'school', code: 'SCS-6', name: '28. Học thuật Cốt lõi: Đọc hiểu, Viết & Toán (Core Academics)', step1: 'Đọc trơn đoạn văn bản, chép bài từ bảng vào vở rõ ràng và thực hiện phép cộng trừ trong phạm vi 100.', step2: 'Tóm tắt ý chính bài đọc, viết đoạn văn ngắn theo chủ đề và làm phép nhân chia/giải toán có lời văn.', step3: 'Sử dụng máy tính bỏ túi (Calculator), từ điển tra cứu và hoàn thành bài kiểm tra trên lớp độc lập.' }, { id: 29, mod: 'school', code: 'SCS-7', name: '29. Học thuật Ứng dụng Đời sống (Applied Academics)', step1: 'Đọc hiểu các biển báo chỉ dẫn trong trường và cộng trừ số lượng đồ dùng thực tế.', step2: 'Đo chiều dài bằng thước kẻ, cân khối lượng nguyên liệu, đong thể tích nước và xem nhiệt kế.', step3: 'Đọc hiểu thời khóa biểu, bảng hướng dẫn sử dụng sản phẩm, công thức nấu ăn và lập bảng tính tiền đơn giản.' }, // ===================================================== // MÔ-ĐUN 5: KỸ NĂNG HƯỚNG NGHIỆP & VIỆC LÀM (VOCATIONAL SKILLS • 7 LĨNH VỰC) // ===================================================== { id: 30, mod: 'voc', code: 'VOC-1', name: '30. Tìm kiếm Việc làm & Hồ sơ Xin việc (Job Search)', step1: 'Nhận biết các công việc phù hợp với sở thích và thế mạnh của bản thân.', step2: 'Điền đầy đủ thông tin cá nhân vào mẫu Đơn xin việc / Sơ yếu lý lịch (CV) trên giấy hoặc máy tính.', step3: 'Tìm kiếm thông tin tuyển dụng và nộp hồ sơ ứng tuyển đúng quy trình.' }, { id: 31, mod: 'voc', code: 'VOC-2', name: '31. Kỹ năng Phỏng vấn Xin việc (Interview Skills)', step1: 'Ăn mặc chỉnh tề, gọn gàng, đến đúng giờ hẹn phỏng vấn và chào hỏi người phỏng vấn lịch sự.', step2: 'Duy trì tư thế ngồi ngay ngắn, giao tiếp mắt phù hợp và trả lời rõ ràng các câu hỏi về kỹ năng bản thân.', step3: 'Đặt câu hỏi phù hợp về công việc/lịch làm việc và nói lời cảm ơn khi kết thúc buổi phỏng vấn.' }, { id: 32, mod: 'voc', code: 'VOC-3', name: '32. Tác phong & Kỹ năng Làm việc Cốt lõi (Basic Work Skills)', step1: 'Đi làm đúng giờ, chấm công, mặc đồng phục/đeo thẻ nhân viên và bắt tay vào việc ngay.', step2: 'Duy trì làm việc liên tục trong ca làm việc (2–4 tiếng), tuân thủ giờ nghỉ giải lao và tự chuyển sang nhiệm vụ tiếp theo khi làm xong.', step3: 'Đảm bảo tốc độ và chất lượng sản phẩm đạt chuẩn, tự kiểm tra lỗi sai và dọn dẹp gọn gàng khu vực làm việc cuối ca.' }, { id: 33, mod: 'voc', code: 'VOC-4', name: '33. Quan hệ Đồng nghiệp & Cấp trên (Coworker & Supervisor Relations)', step1: 'Chào hỏi đồng nghiệp/quản lý, giữ khoảng cách giao tiếp lịch sự và không tự ý lấy đồ của đồng nghiệp.', step2: 'Chấp nhận lời góp ý sửa sai từ người quản lý một cách bình tĩnh và điều chỉnh lại cách làm ngay.', step3: 'Biết chủ động báo cáo quản lý khi hết nguyên vật liệu, khi máy móc hỏng hoặc khi cần xin nghỉ phép.' }, { id: 34, mod: 'voc', code: 'VOC-5', name: '34. An toàn Lao động tại Nơi làm việc (Workplace Safety)', step1: 'Đeo đầy đủ trang bị bảo hộ (găng tay, khẩu trang, tạp dề, mũ) theo quy định của nơi làm việc.', step2: 'Nhận biết các biển cảnh báo an toàn (Sàn ướt, Điện cao thế, Lối thoát hiểm) và vận hành dụng cụ đúng quy trình.', step3: 'Xử lý đúng quy trình khi có sự cố đổ vỡ/cháy nổ và báo ngay cho bộ phận an toàn.' }, { id: 35, mod: 'voc', code: 'VOC-6', name: '35. Kỹ năng Nghề Văn phòng, Siêu thị & Kho bãi (Office, Retail & Warehouse)', step1: 'Phân loại hàng hóa/tài liệu theo mã số, dán nhãn giá, đóng gói sản phẩm vào hộp đúng số lượng.', step2: 'Sắp xếp hàng hóa lên kệ siêu thị ngay ngắn (hàng hạn cũ xếp ra ngoài), photocopy và hủy giấy tờ.', step3: 'Kiểm kê số lượng tồn kho, nhập dữ liệu cơ bản vào máy tính và hỗ trợ khách hàng tìm vị trí sản phẩm.' }, { id: 36, mod: 'voc', code: 'VOC-7', name: '36. Kỹ năng Nghề Dịch vụ, Nhà hàng & Làm bánh/Nông nghiệp (Service & Hospitality)', step1: 'Lau dọn bàn ghế nhà hàng, gấp khăn ăn, xếp bộ dao nĩa và thu gom bát đĩa bẩn.', step2: 'Sơ chế nguyên liệu làm bánh/pha chế theo công thức định lượng hoặc chăm sóc tưới cây nhà kính.', step3: 'Phục vụ đồ ăn/đồ uống cho khách lịch sự và duy trì tiêu chuẩn vệ sinh an toàn thực phẩm.' }, // ===================================================== // MÔ-ĐUN 6: KỸ NĂNG SỐNG ĐỘC LẬP (INDEPENDENT LIVING SKILLS • 6 LĨNH VỰC) // ===================================================== { id: 37, mod: 'indep', code: 'ILS-1', name: '37. Quản lý Tài chính Cá nhân & Chi tiêu (Money Management)', step1: 'Hiểu khái niệm thu nhập, tiết kiệm và giữ gìn tiền mặt/thẻ ngân hàng cẩn thận không làm mất.', step2: 'Lập ngân sách chi tiêu hàng tuần trong giới hạn số tiền cho phép (ưu tiên nhu cầu thiết yếu trước sở thích).', step3: 'Sử dụng cây ATM/ứng dụng ngân hàng an toàn, thanh toán hóa đơn sinh hoạt và tuyệt đối không cho người lạ vay/chuyển tiền.' }, { id: 38, mod: 'indep', code: 'ILS-2', name: '38. Đi lại Độc lập bằng Phương tiện Công cộng (Community Transportation)', step1: 'Đi bộ hoặc đi xe đạp an toàn trên các tuyến đường quen thuộc quanh khu dân cư.', step2: 'Biết tra cứu tuyến xe buýt/tàu điện, chờ tại trạm, quẹt thẻ/mua vé và bấm chuông xuống đúng bến.', step3: 'Biết đặt xe công nghệ hoặc xử lý khi nhỡ chuyến xe/lạc đường (gọi người thân, xem bản đồ định vị).' }, { id: 39, mod: 'indep', code: 'ILS-3', name: '39. Tự Chăm sóc Y tế & Quản lý Thuốc men (Personal Health & Medication)', step1: 'Nhận biết các triệu chứng ốm thông thường (sốt, đau đầu, đau bụng, cảm cúm) và biết cặp nhiệt độ.', step2: 'Sử dụng hộp chia thuốc theo ngày để tự uống thuốc định kỳ đúng liều lượng và đúng giờ.', step3: 'Biết trình thẻ Bảo hiểm y tế/CCCD khi đi khám bệnh và mô tả triệu chứng rõ ràng với bác sĩ.' }, { id: 40, mod: 'indep', code: 'ILS-4', name: '40. Quản lý Không gian Sống & An ninh Nhà ở (Living Space Management)', step1: 'Luôn kiểm tra khóa cửa, tắt bếp, tắt điện nước trước khi ra khỏi nhà hoặc trước khi đi ngủ.', step2: 'Lập danh sách thực phẩm/nhu yếu phẩm trong nhà sắp hết để chủ động đi mua bổ sung.', step3: 'Không mở cửa cho người lạ vào nhà và biết liên hệ ban quản lý tòa nhà/thợ sửa chữa khi hỏng điện nước.' }, { id: 41, mod: 'indep', code: 'ILS-5', name: '41. Tư duy Giải quyết Vấn đề Đời sống (Everyday Problem Solving)', step1: 'Bình tĩnh tìm phương án thay thế khi gặp sự cố nhỏ (như hết món ăn yêu thích, trời mưa bất chợt, quên mang ô).', step2: 'Biết tìm kiếm sự trợ giúp từ những nguồn đáng tin cậy khi gặp tình huống vượt quá khả năng tự xử lý.', step3: 'Nhận diện được các tình huống lừa đảo qua điện thoại/mạng xã hội hoặc lợi dụng tài chính/tình cảm.' }, { id: 42, mod: 'indep', code: 'ILS-6', name: '42. Giao tiếp Xã hội Người lớn & Tự bảo vệ Quyền lợi (Social & Self-Advocacy)', step1: 'Phân biệt rõ mối quan hệ (Người thân, Bạn bè, Đồng nghiệp, Người quen sơ, Người lạ) để có giới hạn tiếp xúc phù hợp.', step2: 'Biết nói lời "Không" một cách kiên quyết và lịch sự khi bị ép làm điều mình không thoải mái hoặc vi phạm quy tắc.', step3: 'Chủ động trình bày nhu cầu hỗ trợ chính đáng của bản thân ở trường học/nơi làm việc (Self-Advocacy).' } ]; let activeMod = 'all'; // 'all' | 'basic' | 'home' | 'comm' | 'school' | 'voc' | 'indep' // scores[id] lưu mức độ độc lập trên thang 0..4 của AFLS: // 0 (0% - Chưa làm được), 1 (25% - Cần cầm tay/nhắc nhiều), 2 (50% - Cần gợi ý lời nói), 3 (75% - Cần giám sát nhẹ), 4 (100% - Độc lập hoàn toàn) let scores = {}; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .af-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .af-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .af-inner { padding: 24px; max-width: 980px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .af-wrap.is-fullscreen .af-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .af-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(13, 148, 136, 0.45), 0 0 0 0 rgba(13, 148, 136, 0.4); } 70% { box-shadow: 0 6px 20px rgba(13, 148, 136, 0.45), 0 0 0 10px rgba(13, 148, 136, 0); } 100% { box-shadow: 0 6px 20px rgba(13, 148, 136, 0.45), 0 0 0 0 rgba(13, 148, 136, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #0f766e 0%, #0d9488 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(13, 148, 136, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Bộ chuyển đổi 6 Mô-đun AFLS */ .mod-switcher-box { background: #f1f5f9; padding: 10px; border-radius: 12px; margin-bottom: 18px; } .mod-switcher-lbl { font-size: 12px; font-weight: 800; color: #334155; text-transform: uppercase; margin-bottom: 8px; display: block; } .mod-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 6px; } .mod-btn { padding: 9px 8px; border-radius: 9px; border: 1.5px solid transparent; background: rgba(255, 255, 255, 0.65); cursor: pointer; text-align: left; transition: all 0.18s ease; touch-action: manipulation; } .mod-btn:hover { background: #ffffff; } .mod-btn.active { background: #ffffff; border-color: #0d9488; box-shadow: 0 3px 10px rgba(15, 23, 42, 0.08); } .mod-btn-title { font-size: 12.2px; font-weight: 800; color: #0f172a; display: block; line-height: 1.25; } .mod-btn.active .mod-btn-title { color: #0f766e; } .mod-btn-sub { font-size: 10.5px; color: #64748b; margin-top: 2px; display: block; line-height: 1.2; } /* Header */ .af-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .af-header-text { flex: 1 1 260px; } .af-title { font-size: 20px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .af-desc { font-size: 13.8px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #f0fdfa; color: #0f766e; border: 1px solid #99f6e4; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #0d9488; color: #ffffff; border-color: #0d9488; } /* Controls */ .af-presets { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; margin-bottom: 16px; } .af-preset-lbl { font-size: 12.5px; font-weight: 700; color: #475569; margin-right: 4px; } .af-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; touch-action: manipulation; } .af-pbtn:hover { background: #f1f5f9; } .af-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } /* Sticky Dashboard */ .af-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .af-wrap.is-fullscreen .af-dash { top: 58px; } .af-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .af-score-big { font-size: 21px; font-weight: 800; line-height: 1.2; } .af-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .af-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .af-pillars { display: grid; grid-template-columns: repeat(6, 1fr); gap: 6px; font-size: 11.5px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .af-pillar-box { background: #1e293b; padding: 7px 8px; border-radius: 8px; } .af-pillar-val { font-weight: 800; color: #ffffff; font-size: 13px; display: block; margin-top: 2px; } /* Danh sách 42 Lĩnh vực AFLS */ .af-item { border: 1px solid #e2e8f0; border-radius: 12px; padding: 14px 16px; margin-bottom: 12px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 8px; } .af-item.mastered { border-color: #a7f3d0; background: #f0fdf4; } .af-item.emerging { border-color: #fde68a; background: #fffbeb; } .af-item-title { font-size: 15px; font-weight: 800; color: #0f172a; } .af-item-desc { font-size: 13.2px; color: #334155; line-height: 1.5; } .af-tags { display: flex; flex-wrap: wrap; gap: 6px; } .af-tag { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .af-ans-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; margin-top: 4px; } .af-abtn { padding: 8px 6px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 700; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .af-abtn:hover { border-color: #64748b; } .af-abtn.sel-0 { background: #ef4444; border-color: #ef4444; color: #ffffff; } .af-abtn.sel-1, .af-abtn.sel-2 { background: #f59e0b; border-color: #f59e0b; color: #ffffff; } .af-abtn.sel-3 { background: #0284c7; border-color: #0284c7; color: #ffffff; } .af-abtn.sel-4 { background: #10b981; border-color: #10b981; color: #ffffff; } /* Biểu đồ 6 Mô-đun & Hộp trích xuất IEP/ISP */ .af-chart-card { margin-top: 20px; padding: 16px 18px; border-radius: 12px; background: #ffffff; border: 1px solid #e2e8f0; } .af-bar-row { display: flex; align-items: center; gap: 10px; margin-bottom: 9px; font-size: 12.5px; } .af-bar-lbl { width: 265px; flex-shrink: 0; font-weight: 600; color: #334155; } .af-bar-track { flex: 1; height: 16px; background: #f1f5f9; border-radius: 999px; overflow: hidden; } .af-bar-val { width: 125px; text-align: right; font-weight: 700; color: #0f172a; flex-shrink: 0; } .af-iep-box { margin-top: 16px; padding: 16px 18px; border-radius: 12px; background: #fffbeb; border: 1px solid #fde68a; border-left: 5px solid #f59e0b; font-size: 13.8px; color: #78350f; line-height: 1.6; } .af-iep-title { font-size: 15px; font-weight: 800; color: #92400e; margin-bottom: 8px; } .af-result-box { margin-top: 16px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #0d9488; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 780px) { .af-inner { padding: 14px; } .mod-grid { grid-template-columns: 1fr 1fr; } .af-title { font-size: 18px; } .af-pillars { grid-template-columns: repeat(2, 1fr); } .af-ans-grid { grid-template-columns: 1fr 1fr; } .af-bar-lbl { width: 145px; font-size: 11.5px; } .af-pbtn.reset { margin-left: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
Hệ Thống Đánh Giá Các Kỹ Năng Sống Chức Năng AFLS Toàn Diện (6 Mô-đun • 42 Lĩnh Vực)
Công cụ tiêu chuẩn của Tiến sĩ James Partington & Michael Mueller (2012) đo lường mức độ tự lập thực tế từ 2 tuổi đến tuổi trưởng thành qua 6 Mô-đun: Sống Cơ bản, Tại Gia đình, Cộng đồng, Học đường, Hướng nghiệp và Sống Độc lập.
`; } else { const mCfg = moduleConfigs[activeMod]; headerInfo.innerHTML = `${mCfg.fullTitle}
${mCfg.desc}
`; } } function renderItems() { itemList.innerHTML = ''; const scaleBtns = [ { val: 0, lbl: '0đ - Chưa làm được (0%)' }, { val: 1, lbl: '1đ - Cần cầm tay/nhắc nhiều (25% ★)' }, { val: 2, lbl: '2đ - Cần gợi ý lời nói (50% ★)' }, { val: 3, lbl: '3đ - Cần giám sát nhẹ (75% ★)' }, { val: 4, lbl: '4đ - Độc lập hoàn toàn (100%)' } ]; domains.forEach(function(d) { if (activeMod !== 'all' && d.mod !== activeMod) return; const uVal = (scores[d.id] !== undefined) ? scores[d.id] : 0; const mCfg = moduleConfigs[d.mod]; let rowCls = 'af-item'; if (uVal === 4) rowCls += ' mastered'; else if (uVal >= 1 && uVal { const cls = 'af-abtn' + (uVal === b.val ? ` sel-${b.val}` : ''); return ``; }).join(''); const el = document.createElement('div'); el.className = rowCls; el.innerHTML = `• Cấp độ Mở rộng (Mức 3): ${d.step2}
• Cấp độ Độc lập Hoàn toàn (Mức 4): ${d.step3}
'); iepBox.innerHTML = `
• 1. Mô-đun Kỹ năng Sống Cơ bản (Basic Living Skills): Đạt ${getModPct('basic')}% — ${getModPct('basic') < 70 ? 'Cần ưu tiên tuyệt đối việc hoàn thiện kỹ năng Đi vệ sinh, Mặc đồ, Tắm rửa, Chải chuốt và An toàn cơ bản trước.' : 'Nền tảng tự chăm sóc bản thân đã vững vàng.'}
• 2. Mô-đun Tại Gia đình (${getModPct('home')}%) & Cộng đồng (${getModPct('comm')}%): Phản ánh khả năng tự phục vụ bữa ăn, làm việc nhà, đi lại an toàn và mua sắm ngoài xã hội.
• 3. Mô-đun Học đường (${getModPct('school')}%), Hướng nghiệp (${getModPct('voc')}%) & Sống Độc lập (${getModPct('indep')}%): Định hướng lộ trình chuyển tiếp sang lao động nghề nghiệp có hỗ trợ và tự chủ ở tuổi trưởng thành. `; updateFloatingFabVisibility(); } function applyPreset(type) { scores = {}; domains.forEach(d => { scores[d.id] = 0; }); if (type === 'reset') { renderItems(); updateSummary(); return; } if (type === 'child_basic') { // Trẻ nhỏ đang rèn Sống cơ bản (Mức 2-3), Gia đình & Học đường (Mức 1-2) domains.forEach(d => { if (d.mod === 'basic') scores[d.id] = (d.id % 2 === 0) ? 3 : 2; else if (d.mod === 'home' || d.mod === 'school') scores[d.id] = (d.id % 2 === 0) ? 2 : 1; else if (d.mod === 'comm') scores[d.id] = 1; else scores[d.id] = 0; }); } else if (type === 'teen_transition') { // Thiếu niên: Sống cơ bản thành thạo (Mức 4), Gia đình & Học đường & Cộng đồng khá (Mức 2-3), bắt đầu Hướng nghiệp (Mức 1-2) domains.forEach(d => { if (d.mod === 'basic') scores[d.id] = 4; else if (d.mod === 'home' || d.mod === 'school') scores[d.id] = 3; else if (d.mod === 'comm') scores[d.id] = (d.id % 2 === 0) ? 3 : 2; else if (d.mod === 'voc' || d.mod === 'indep') scores[d.id] = (d.id % 2 === 0) ? 2 : 1; }); } else if (type === 'adult_voc') { // Thanh niên / Người lớn hướng nghiệp & sống bán độc lập domains.forEach(d => { if (d.mod === 'basic' || d.mod === 'home') scores[d.id] = 4; else if (d.mod === 'comm' || d.mod === 'school') scores[d.id] = (d.id % 2 === 0) ? 4 : 3; else scores[d.id] = (d.id % 2 === 0) ? 3 : 2; }); } renderItems(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); afWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { afWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 980px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } shadow.querySelectorAll('#modGrid .mod-btn').forEach(function(btn) { btn.onclick = function() { activeMod = this.getAttribute('data-mod'); shadow.querySelectorAll('#modGrid .mod-btn').forEach(b => b.classList.remove('active')); this.classList.add('active'); renderHeader(); renderItems(); updateSummary(); }; }); shadow.querySelectorAll('.af-pbtn').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-preset')); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); renderHeader(); applyPreset('teen_transition'); })();
AFLS (Assessment of Functional Living Skills): Cùng “họ” với VB-MAPP và ABLLS-R, nhưng chuyên đánh giá kỹ năng sống độc lập, tự phục vụ, hòa nhập cộng đồng và hướng nghiệp cho trẻ từ 2 tuổi đến trưởng thành.
AFLS (Assessment of Functional Living Skills — Đánh giá các Kỹ năng Sống Chức năng) là công cụ đánh giá, hệ thống theo dõi kỹ năng và hướng dẫn chương trình giảng dạy nối tiếp trực tiếp của ABLLS-R, do Tiến sĩ James W. Partington và Tiến sĩ Michael M. Mueller phát triển (xuất bản năm 2012 bởi Behavior Analysts, Inc.).
Nếu như VB-MAPP, ESDM hay ABLLS-R tập trung vào giai đoạn can thiệp sớm và ngôn ngữ học thuật nền tảng cho trẻ nhỏ, thì AFLS giải quyết bài toán lớn nhất của các gia đình có con Tự kỷ và Chậm phát triển từ 2 tuổi đến suốt tuổi trưởng thành: làm sao để cá nhân có thể tự chăm sóc bản thân, sống tự lập tại nhà, đi lại an toàn ngoài cộng đồng, hòa nhập trường học và làm việc kiếm sống mà ít phụ thuộc nhất vào cha mẹ hay người chăm sóc.
1. Cấu trúc 6 Mô-đun Đánh giá Độc lập của Hệ thống AFLS
Toàn bộ chương trình AFLS được thiết kế thành 6 Mô-đun (Assessment Protocols) bao gồm tổng cộng hơn 1.900 kỹ năng thực tế, có thể sử dụng độc lập hoặc kết hợp tùy theo độ tuổi và nhu cầu sống của người học:
| Mô-đun Đánh giá (Protocol) | Số lĩnh vực | Các Lĩnh vực Kỹ năng Thành phần Cốt lõi (Domains) | Mục tiêu Đầu ra Thực tiễn |
|
1. Kỹ năng Sống Cơ bản
(Basic Living Skills) |
8 lĩnh vực |
1. Tự quản lý hành vi (Self-Management)
2. Giao tiếp cơ bản (Basic Communication)
3. Mặc quần áo (Dressing)
4. Đi vệ sinh (Toileting)
5. Chải chuốt & Vệ sinh (Grooming)
6. Tắm rửa (Bathing)
7. Sức khỏe, An toàn & Sơ cứu (Health, Safety & First Aid)
8. Thói quen ban đêm & Giấc ngủ (Nighttime Routines) |
Thiết lập những kỹ năng sinh tồn và tự chăm sóc cơ bản nhất mà bất kỳ cá nhân nào cũng cần có để không phụ thuộc hoàn toàn vào người chăm sóc 24/24. |
|
2. Kỹ năng Tại Gia đình
(Home Skills) |
7 lĩnh vực |
1. Ăn uống tại nhà (Meals at Home)
2. Rửa bát & Dọn bếp (Dishes)
3. Quần áo & Giặt ủi (Clothing and Laundry)
4. Dọn dẹp & Việc nhà (Housekeeping and Chores)
5. Cơ học & Sửa chữa vặt (Household Mechanics)
6. Giải trí tại nhà (Leisure)
7. Bếp núc & Nấu ăn (Kitchen and Cooking) |
Giúp cá nhân trở thành một thành viên đóng góp tích cực trong gia đình và tiến tới khả năng sống tự lập / bán tự lập trong căn hộ riêng. |
|
3. Kỹ năng Tham gia Cộng đồng
(Community Participation) |
7 lĩnh vực |
1. Di chuyển cơ bản & Qua đường (Basic Mobility)
2. Kiến thức cộng đồng (Community Knowledge)
3. Mua sắm siêu thị/cửa hàng (Shopping)
4. Ăn uống tại nhà hàng (Meals in Public)
5. Tiền tệ & Ngân hàng (Money)
6. Điện thoại (Phone)
7. Thời gian & Lịch trình (Time) |
Trang bị kỹ năng đi lại an toàn trên đường phố, sử dụng phương tiện công cộng, tự đi siêu thị mua đồ, trả tiền, xem giờ và xử lý tình huống khẩn cấp. |
|
4. Kỹ năng Học đường
(School Skills) |
9 lĩnh vực |
1. Nội quy lớp học (Classroom Routines)
2. Ăn trưa ở trường (Meals at School)
3. Kỹ năng xã hội học đường (Social Skills)
4. Công nghệ máy tính (Technology)
5. Kiến thức chung (Common Knowledge)
6. Học thuật cốt lõi (Core Academics)
7. Học thuật ứng dụng (Applied Academics) |
Tối ưu hóa khả năng thích ứng từ cấp Tiểu học, Trung học cơ sở đến Trung học phổ thông mà giảm dần sự kèm cặp của giáo viên hỗ trợ 1:1. |
|
5. Kỹ năng Hướng nghiệp & Việc làm
(Vocational Skills) |
9 lĩnh vực |
1. Tìm kiếm việc làm & Hồ sơ (Job Search)
2. Phỏng vấn (Interview)
3. Kỹ năng làm việc cốt lõi (Basic Work Skills)
4. Quan hệ đồng nghiệp & Quản lý (Coworker Relations)
5. An toàn lao động (Workplace Safety)
6. Kỹ năng nghề cố định (Fixed Activity Skills: Văn phòng, Bán lẻ, Kho bãi, Nhà hàng, Vệ sinh…) |
Chuẩn bị cho thanh thiếu niên và người trưởng thành tự kỷ tham gia lao động có hỗ trợ hoặc làm việc độc lập tạo thu nhập. |
|
6. Kỹ năng Sống Độc lập
(Independent Living Skills) |
11 lĩnh vực | Quản lý tài chính cá nhân, Thuê nhà/Hóa đơn, Chăm sóc y tế/Uống thuốc, Đi lại đường dài, Tư duy giải quyết vấn đề đời sống, Quan hệ xã hội & Tự bảo vệ quyền lợi (Self-Advocacy). | Đỉnh cao của sự tự chủ ở tuổi trưởng thành. |
2. Quy tắc Chấm điểm (0 – 2 và 0 – 4) & Biểu đồ Lưới Độc lập (AFLS Independence Grid)
Giống như người anh em ABLLS-R, AFLS sử dụng hệ thống chấm điểm phân bậc nhiệm vụ để đo chính xác Mức độ Hỗ trợ Cần thiết:
-
0 điểm: Chưa thực hiện được kỹ năng hoặc kháng cự. -
1 điểm(Cần nhắc nhở nhiều / Hỗ trợ thể chất – ~25%): Thực hiện được một phần nhỏ khi có người cầm tay chỉ việc hoặc nhắc liên tục từng bước. -
2 điểm(Cần gợi ý lời nói / Cử chỉ – ~50%): Tự làm được các thao tác nhưng vẫn cần người đứng cạnh nhắc “Bước tiếp theo làm gì?”. -
3 điểm(Gần độc lập / Cần giám sát nhẹ – ~75%): Tự thực hiện được quy trình nhưng đôi khi còn sót chi tiết hoặc cần người kiểm tra lại kết quả cuối cùng. -
4 điểm(Độc lập hoàn toàn – 100% Mastered): Tự khởi xướng và hoàn thành trọn vẹn công việc đúng tiêu chuẩn chất lượng, an toàn và khái quát hóa ở nhiều bối cảnh mà không cần ai nhắc nhở.
[Hành vi thích ứng] Vineland-3: Thang đo lường hành vi thích ứng và năng lực tự lập từ sơ sinh đến trưởng thành
Vineland-3 (tên đầy đủ: Vineland Adaptive Behavior Scales – Third Edition) là một công cụ đánh giá chuẩn hóa hàng đầu thế giới trong lĩnh vực tâm lý học lâm sàng, giáo dục đặc biệt và y khoa phát triển. Công cụ này được thiết kế để đo lường hành vi thích ứng (adaptive behavior) của một cá nhân từ khi mới sinh (0 tuổi) đến 90 tuổi. Dưới đây là phiên bản online tiếng Việt giúp đánh giá kết quả rất và chính xác. Nên thực hiện trên màn hình máy tính sẽ trực quan hơn.
(function() { const host = document.getElementById('vn3-wp-host'); if (!host) return; // Thẻ giữ chỗ khi dùng DOM Portal đưa bảng ra thẳng document.body const placeholder = document.createComment('vn3-portal-placeholder'); // Khởi tạo Shadow DOM để cách ly 100% CSS với Theme WordPress const shadow = host.attachShadow({ mode: 'open' }); const domains = [ { id: 'comm', name: 'Giao tiếp (Communication)', core: true, subdomains: [ { id: 'rec', name: 'Tiếp nhận (Receptive)', items: [ 'Quay đầu hoặc nhìn theo khi được gọi tên', 'Hiểu và làm theo chỉ dẫn đơn giản 1 bước', 'Chỉ đúng các bộ phận cơ thể hoặc đồ vật quen thuộc khi được hỏi', 'Hiểu các câu hỏi "Ai", "Cái gì", "Ở đâu"', 'Làm theo chỉ dẫn gồm 2–3 bước liên tiếp không cần nhắc lại', 'Chú ý lắng nghe câu chuyện hoặc hướng dẫn trong 15 phút' ] }, { id: 'exp', name: 'Diễn đạt (Expressive)', items: [ 'Sử dụng cử chỉ hoặc từ đơn để yêu cầu đồ vật mong muốn', 'Nói được cụm từ 2–3 từ để diễn đạt ý muốn', 'Đặt câu hỏi "Cái gì đây?", "Tại sao?" phù hợp ngữ cảnh', 'Nói câu hoàn chỉnh có chủ ngữ - vị ngữ rõ ràng', 'Kể lại sự việc đã xảy ra trong ngày theo trình tự hợp lý', 'Duy trì cuộc trò chuyện qua lại nhiều lượt đúng chủ đề' ] }, { id: 'wri', name: 'Viết (Written)', items: [ 'Cầm sách đúng chiều và lật từng trang xem hình', 'Nhận biết các chữ cái trong bảng chữ cái và chữ số cơ bản', 'Tự viết hoặc tô theo được tên của bản thân', 'Đọc hiểu các từ đơn giản, biển báo hoặc nhãn hiệu quen thuộc', 'Đọc hiểu câu ngắn hoặc đoạn văn phù hợp lứa tuổi', 'Viết được câu ngắn hoặc tin nhắn có nghĩa rõ ràng' ] } ] }, { id: 'dls', name: 'Kỹ năng sống hàng ngày (Daily Living Skills)', core: true, subdomains: [ { id: 'per', name: 'Cá nhân (Personal)', items: [ 'Tự cầm cốc uống nước và dùng thìa xúc ăn gọn gàng', 'Thông báo hoặc tự đi vệ sinh đúng nơi quy định', 'Tự cởi và mặc quần áo đơn giản (quần thun, áo phông)', 'Tự rửa tay bằng xà phòng, lau khô và tự đánh răng', 'Tự tắm rửa sạch sẽ mà chỉ cần giám sát tối thiểu', 'Biết cài cúc áo, kéo khóa và buộc dây giày' ] }, { id: 'dom', name: 'Gia đình (Domestic)', items: [ 'Tự cất đồ chơi hoặc đồ dùng cá nhân vào đúng chỗ sau khi dùng', 'Bỏ rác vào thùng rác và phụ dọn bàn ăn', 'Biết lau bàn, quét nhà hoặc gấp quần áo đơn giản', 'Nhận biết và tránh các vật dụng nguy hiểm (ổ điện, nước sôi, dao)', 'Tự lấy đồ ăn nhẹ/nước uống và dọn dẹp sau khi ăn', 'Sử dụng an toàn một số thiết bị gia dụng cơ bản' ] }, { id: 'com', name: 'Cộng đồng (Community)', items: [ 'Nắm tay người lớn hoặc đi trên vỉa hè an toàn khi ra đường', 'Quan sát hai bên và tuân thủ tín hiệu đèn khi qua đường', 'Hiểu khái niệm thời gian cơ bản (sáng/tối, hôm qua/ngày mai)', 'Nhận biết công dụng của tiền và phân biệt các mệnh giá tiền', 'Xem được giờ trên đồng hồ kim hoặc đồng hồ điện tử', 'Biết mua món đồ nhỏ và kiểm tra tiền thừa hoặc dùng điện thoại liên lạc' ] } ] }, { id: 'soc', name: 'Xã hội hóa (Socialization)', core: true, subdomains: [ { id: 'ipr', name: 'Quan hệ liên cá nhân (Interpersonal)', items: [ 'Giao tiếp mắt và mỉm cười đáp lại người quen', 'Nhận biết cảm xúc vui, buồn, tức giận của người khác', 'Bắt chước hành động hoặc biểu cảm của người lớn/bạn bè', 'Thể hiện sự quan tâm, an ủi khi thấy người khác buồn hoặc đau', 'Chủ động chào hỏi và bắt chuyện với bạn cùng trang lứa', 'Xây dựng và duy trì tình bạn thân thiết với ít nhất 1–2 bạn' ] }, { id: 'pla', name: 'Vui chơi & Giải trí (Play & Leisure)', items: [ 'Chơi các trò chơi tương tác đơn giản (ú òa, lăn bóng qua lại)', 'Chơi giả vờ (cho búp bê ăn, nấu ăn, đóng vai nhân vật)', 'Chơi cạnh và chia sẻ đồ chơi với trẻ khác khi được gợi ý', 'Biết chờ đến lượt (luân phiên) trong trò chơi nhóm', 'Tuân thủ luật chơi trong các trò chơi vận động hoặc cờ bàn', 'Chủ động rủ bạn cùng tham gia hoạt động giải trí chung' ] }, { id: 'cop', name: 'Kỹ năng ứng phó (Coping Skills)', items: [ 'Biết nói lời "Cảm ơn" và "Xin lỗi" phù hợp hoàn cảnh', 'Chuyển đổi hoạt động mà không la hét hay ăn vạ kéo dài', 'Kiểm soát cơn giận khi không đạt được điều mình muốn ngay lập tức', 'Chấp nhận sự thay đổi nhỏ trong lịch trình sinh hoạt hàng ngày', 'Biết xin phép trước khi lấy đồ của người khác', 'Giữ bình tĩnh và chấp nhận kết quả khi thua cuộc trong trò chơi' ] } ] }, { id: 'mot', name: 'Kỹ năng vận động (Motor Skills - Tùy chọn)', core: false, subdomains: [ { id: 'gro', name: 'Vận động thô (Gross Motor)', items: [ 'Đi vững vàng, chạy không bị vấp ngã', 'Bước lên và xuống cầu thang luân phiên hai chân', 'Nhảy bật bằng hai chân tại chỗ và nhảy qua vật cản thấp', 'Đứng một chân giữ thăng bằng trong vài giây và nhảy lò cò', 'Đá bóng về phía trước trúng hướng mục tiêu', 'Ném và bắt được bóng cỡ vừa bằng hai tay' ] }, { id: 'fin', name: 'Vận động tinh (Fine Motor)', items: [ 'Nhặt vật nhỏ bằng ngón cái và ngón trỏ (kẹp gọng kìm)', 'Xếp chồng được từ 6–8 khối gỗ hoặc lắp ghép mô hình đơn giản', 'Mở nắp hộp, vặn tay nắm cửa và xâu hạt qua dây', 'Cầm bút bằng 3 đầu ngón tay (tư thế kiềng 3 chân)', 'Vẽ theo được hình tròn, hình vuông, đường thẳng và tô màu trong hình', 'Sử dụng kéo cắt giấy theo đường thẳng và đường cong' ] } ] } ]; const itemScores = {}; const quickVScales = {}; let entryMode = 'items'; let activeDomainId = 'comm'; let isFullscreen = false; let savedScrollY = 0; function applyPreset(type) { domains.forEach(d => { d.subdomains.forEach(s => { s.items.forEach((_, idx) => { const key = `${s.id}_${idx}`; if (type === 'typical') { itemScores[key] = idx < 4 ? 2 : 1; quickVScales[s.id] = 15; } else if (type === 'asd') { if (s.id === 'wri' || s.id === 'per' || s.id === 'fin') { itemScores[key] = idx < 4 ? 2 : 1; quickVScales[s.id] = 14; } else if (d.id === 'comm' || d.id === 'soc') { itemScores[key] = idx < 2 ? 2 : (idx === 2 ? 1 : 0); quickVScales[s.id] = 9; } else { itemScores[key] = idx < 3 ? 2 : (idx === 3 ? 1 : 0); quickVScales[s.id] = 11; } } else if (type === 'idd') { itemScores[key] = idx < 1 ? 2 : (idx 0) prob = 1 - prob; return Math.max(1, Math.min(99, Math.round(prob * 100))); } function getAdaptiveLevel(ss) { if (ss >= 130) return { label: 'Rất cao (High)', cls: 'lvl-high' }; if (ss >= 115) return { label: 'Khá cao (Moderately High)', cls: 'lvl-mhigh' }; if (ss >= 86) return { label: 'Đạt yêu cầu / Trung bình (Adequate)', cls: 'lvl-adeq' }; if (ss >= 71) return { label: 'Thấp vừa phải (Moderately Low)', cls: 'lvl-mlow' }; return { label: 'Thấp (Low)', cls: 'lvl-low' }; } function computePsychometrics() { const subResults = {}; const domainResults = {}; domains.forEach(d => { let vSum = 0; d.subdomains.forEach(s => { let raw = 0; s.items.forEach((_, idx) => { raw += (itemScores[`${s.id}_${idx}`] || 0); }); const vScale = entryMode === 'quick' ? (quickVScales[s.id] || 15) : Math.round(6 + (raw / 12) * 15); quickVScales[s.id] = vScale; subResults[s.id] = { raw, vScale, name: s.name, domainId: d.id }; vSum += vScale; }); const vAvg = vSum / d.subdomains.length; const ss = Math.round(100 + ((vAvg - 15) / 3) * 15); const clampedSS = Math.max(40, Math.min(140, ss)); const pct = standardScoreToPercentile(clampedSS); const level = getAdaptiveLevel(clampedSS); domainResults[d.id] = { name: d.name, core: d.core, vSum, ss: clampedSS, ci: `${Math.max(40, clampedSS - 5)} – ${Math.min(140, clampedSS + 5)}`, pct, level }; }); const coreSSSum = domainResults.comm.ss + domainResults.dls.ss + domainResults.soc.ss; const abcSS = Math.round(coreSSSum / 3); const abcPct = standardScoreToPercentile(abcSS); const abcLevel = getAdaptiveLevel(abcSS); return { subResults, domainResults, abc: { ss: abcSS, ci: `${Math.max(40, abcSS - 4)} – ${Math.min(140, abcSS + 4)}`, pct: abcPct, level: abcLevel } }; } shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; color: #0f172a; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .app-wrap { width: 100%; background: #ffffff; border: 1px solid #cbd5e1; border-radius: 16px; box-shadow: 0 10px 30px -5px rgba(15, 23, 42, 0.08); overflow: hidden; position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (ĐÃ ĐƯỢC PORTAL RA BODY) */ .app-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 80px !important; } /* Thanh ghim thoát toàn màn hình luôn nổi ở trên cùng khi cuộn trên điện thoại */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .app-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 0.85rem; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 0.8rem; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 0 rgba(37, 99, 235, 0.4); } 70% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 10px rgba(37, 99, 235, 0); } 100% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 0 rgba(37, 99, 235, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #1d4ed8 0%, #2563eb 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 0.84rem; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 0.85rem; } /* Header */ .app-header { background: linear-gradient(135deg, #1e3a8a 0%, #2563eb 100%); color: #ffffff; padding: 18px 20px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 14px; } .app-header h2 { font-size: 1.2rem; font-weight: 700; color: #ffffff; margin-bottom: 4px; } .app-header p { font-size: 0.84rem; color: #dbeafe; } .header-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; } .preset-bar { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; } .preset-label { font-size: 0.76rem; color: #bfdbfe; font-weight: 600; } .btn-preset { background: rgba(255, 255, 255, 0.15); color: #ffffff; border: 1px solid rgba(255, 255, 255, 0.35); padding: 6px 11px; border-radius: 999px; font-size: 0.76rem; font-weight: 600; cursor: pointer; } .btn-preset:hover { background: rgba(255, 255, 255, 0.28); } .btn-fullscreen { background: #ffffff; color: #1e3a8a; border: none; padding: 7px 14px; border-radius: 999px; font-size: 0.8rem; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); } /* Thanh công cụ chế độ */ .mode-bar { background: #f1f5f9; padding: 12px 20px; border-bottom: 1px solid #e2e8f0; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; } .mode-switch { display: flex; gap: 6px; flex-wrap: wrap; } .mode-btn { padding: 7px 14px; border-radius: 8px; border: 1px solid #cbd5e1; background: #ffffff; color: #475569; font-size: 0.82rem; font-weight: 600; cursor: pointer; } .mode-btn.active { background: #2563eb; color: #ffffff; border-color: #2563eb; } /* KPI Cards */ .kpi-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; padding: 16px 20px; background: #f8fafc; border-bottom: 1px solid #e2e8f0; } .kpi-card { background: #ffffff; border: 1px solid #e2e8f0; border-radius: 12px; padding: 12px 14px; } .kpi-card.highlight { background: #eff6ff; border-color: #93c5fd; } .kpi-label { font-size: 0.73rem; font-weight: 700; color: #475569; text-transform: uppercase; } .kpi-val { font-size: 1.45rem; font-weight: 800; color: #0f172a; margin: 2px 0; } .kpi-sub { font-size: 0.74rem; color: #64748b; } /* Khu vực nhập câu hỏi */ .section-body { padding: 18px 20px; background: #ffffff; } .domain-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; } .d-tab { padding: 8px 14px; border-radius: 10px; border: 1px solid #cbd5e1; background: #f8fafc; color: #334155; font-size: 0.84rem; font-weight: 600; cursor: pointer; } .d-tab.active { background: #1e3a8a; color: #ffffff; border-color: #1e3a8a; } .subdomain-block { border: 1px solid #e2e8f0; border-radius: 12px; margin-bottom: 16px; overflow: hidden; } .sub-title-bar { background: #f8fafc; padding: 10px 14px; border-bottom: 1px solid #e2e8f0; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 8px; font-weight: 700; font-size: 0.9rem; } .sub-score-pill { font-size: 0.76rem; background: #dbeafe; color: #1d4ed8; padding: 3px 10px; border-radius: 999px; } .item-row { padding: 12px 14px; border-bottom: 1px solid #f1f5f9; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 10px; } .item-row:last-child { border-bottom: none; } .item-text { font-size: 0.88rem; color: #1e293b; flex: 1 1 220px; } .score-btns { display: flex; gap: 8px; flex-shrink: 0; } .s-btn { width: 40px; height: 36px; border-radius: 8px; border: 1px solid #cbd5e1; background: #ffffff; font-weight: 700; font-size: 0.88rem; cursor: pointer; color: #475569; touch-action: manipulation; } .s-btn.s-2 { background: #16a34a; color: #fff; border-color: #16a34a; } .s-btn.s-1 { background: #f59e0b; color: #fff; border-color: #f59e0b; } .s-btn.s-0 { background: #dc2626; color: #fff; border-color: #dc2626; } /* Quick Sliders */ .quick-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 12px; } .quick-card { border: 1px solid #e2e8f0; border-radius: 10px; padding: 12px 14px; background: #ffffff; } .quick-card label { display: flex; justify-content: space-between; font-size: 0.85rem; font-weight: 700; margin-bottom: 6px; } .quick-card input[type="range"] { width: 100%; height: 24px; accent-color: #2563eb; } /* Bảng Báo Cáo & Biểu Đồ */ .report-section { padding: 20px; border-top: 2px solid #e2e8f0; background: #f8fafc; } .report-title { font-size: 1.02rem; font-weight: 700; margin-bottom: 12px; color: #0f172a; } .table-scroll { width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 12px; margin-bottom: 20px; } table.v-table { width: 100%; border-collapse: collapse; min-width: 520px; text-align: left; font-size: 0.84rem; } .v-table th { background: #f1f5f9; padding: 10px 12px; font-weight: 700; color: #334155; border-bottom: 1px solid #cbd5e1; } .v-table td { padding: 10px 12px; border-bottom: 1px solid #e2e8f0; } .v-table tr.row-abc { background: #eff6ff; font-weight: 700; } .lvl-badge { display: inline-block; padding: 2px 8px; border-radius: 999px; font-size: 0.73rem; font-weight: 700; } .lvl-high, .lvl-mhigh { background: #dcfce7; color: #15803d; } .lvl-adeq { background: #dbeafe; color: #1d4ed8; } .lvl-mlow { background: #fef3c7; color: #b45309; } .lvl-low { background: #fee2e2; color: #b91c1c; } .chart-box { background: #ffffff; border: 1px solid #e2e8f0; border-radius: 12px; padding: 16px; margin-bottom: 16px; } .bar-row { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; font-size: 0.82rem; } .bar-label { width: 180px; flex-shrink: 0; font-weight: 600; color: #334155; } .bar-track { flex: 1; height: 18px; background: #f1f5f9; border-radius: 999px; overflow: hidden; } .bar-fill { height: 100%; border-radius: 999px; transition: width 0.3s ease; } .bar-val { width: 46px; text-align: right; font-weight: 700; flex-shrink: 0; } .iep-box { background: #fffbeb; border: 1px solid #fde68a; border-radius: 12px; padding: 14px; } .iep-item { font-size: 0.85rem; color: #78350f; padding: 4px 0; display: flex; gap: 8px; } @media (max-width: 600px) { .bar-label { width: 115px; font-size: 0.74rem; } .app-header, .section-body, .report-section, .kpi-grid { padding: 12px; } .kpi-grid { grid-template-columns: 1fr 1fr; } .item-row { padding: 10px 12px; } .s-btn { width: 42px; height: 38px; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 0.8rem; } }
Mô Phỏng Đánh Giá Hành Vi Thích Ứng Vineland-3
Thực hành chấm điểm (0–1–2), quy đổi V-Scale, Điểm Chuẩn & Hồ sơ năng lực
| Lĩnh vực / Chỉ số | Điểm Chuẩn (SS) | Khoảng tin cậy 90% | Bách phân vị | Mức độ thích ứng |
|---|
Khác với các bài kiểm tra chỉ số thông minh (IQ) đo lường tiềm năng nhận thức, Vineland-3 đánh giá những gì một người thực sự làm được trong cuộc sống hàng ngày để tự chăm sóc bản thân, giao tiếp và hòa nhập với cộng đồng.
1. Cấu trúc các lĩnh vực đánh giá của Vineland-3
Vineland-3 đo lường hành vi thích ứng thông qua 3 lĩnh vực cốt lõi (tạo nên chỉ số Tổng hợp Hành vi Thích ứng – Adaptive Behavior Composite – ABC) và 2 lĩnh vực tùy chọn:
Bạn có thể tương tác với sơ đồ cấu trúc dưới đây để khám phá chi tiết các lĩnh vực, tiểu lĩnh vực và thang điểm chuẩn hóa của công cụ Vineland-3:
(function() { const host = document.getElementById('vn3-struct-wp-host'); if (!host) return; // Thẻ giữ chỗ (Placeholder) để khi nhấc bảng ra document.body không làm giật trang WordPress const placeholder = document.createComment('vn3-struct-portal-placeholder'); // Khởi tạo Shadow DOM cách ly 100% với CSS của Theme WordPress const shadow = host.attachShadow({ mode: 'open' }); const domainsData = [ { id: "comm", category: "core", badgeText: "Cốt lõi (Tính vào ABC)", title: "1. Giao tiếp (Communication)", desc: "Khả năng lắng nghe, hiểu lời nói, sử dụng ngôn ngữ cử chỉ/lời nói để giao tiếp và kỹ năng đọc - viết.", ageRange: "0 – 90 tuổi", scaleInfo: "Điểm Chuẩn (M = 100, SD = 15)", subdomains: [ { name: "Tiếp nhận (Receptive)", age: "0 – 90 tuổi", items: [ "Quay đầu khi được gọi tên, nhìn theo hướng chỉ tay", "Hiểu câu hỏi và làm theo chỉ dẫn 2–3 bước", "Chú ý lắng nghe câu chuyện hoặc bài giảng" ] }, { name: "Diễn đạt (Expressive)", age: "0 – 90 tuổi", items: [ "Dùng cử chỉ, từ đơn hoặc câu để yêu cầu và biểu đạt", "Kể lại sự việc đã xảy ra theo trình tự logic", "Duy trì hội thoại hai chiều đúng chủ đề" ] }, { name: "Viết (Written)", age: "3 – 90 tuổi", items: [ "Nhận biết chữ cái, đọc từ ngữ và biển báo", "Đọc hiểu văn bản, sách báo phù hợp lứa tuổi", "Viết tên, viết câu hoàn chỉnh hoặc soạn tin nhắn" ] } ] }, { id: "dls", category: "core", badgeText: "Cốt lõi (Tính vào ABC)", title: "2. Kỹ năng sống hàng ngày (Daily Living Skills)", desc: "Khả năng tự chăm sóc bản thân, thực hiện công việc nhà và vận hành độc lập ngoài cộng đồng.", ageRange: "0 – 90 tuổi", scaleInfo: "Điểm Chuẩn (M = 100, SD = 15)", subdomains: [ { name: "Cá nhân (Personal)", age: "0 – 90 tuổi", items: [ "Tự ăn uống bằng thìa/đũa gọn gàng", "Tự mặc quần áo, đi vệ sinh, tắm rửa, đánh răng", "Tự chăm sóc sức khỏe cá nhân cơ bản" ] }, { name: "Gia đình (Domestic)", age: "3 – 90 tuổi", items: [ "Cất đồ đạc, quét dọn nhà cửa, rửa bát, gấp quần áo", "Sử dụng thiết bị gia dụng cẩn thận, an toàn", "Sơ chế thực phẩm và chuẩn bị bữa ăn đơn giản" ] }, { name: "Cộng đồng (Community)", age: "3 – 90 tuổi", items: [ "Tuân thủ quy tắc an toàn khi đi bộ và qua đường", "Xem đồng hồ, quản lý thời gian, dùng điện thoại", "Nhận biết mệnh giá tiền, mua sắm và tính tiền thừa" ] } ] }, { id: "soc", category: "core", badgeText: "Cốt lõi (Tính vào ABC)", title: "3. Xã hội hóa (Socialization)", desc: "Cách tương tác với người khác, kết bạn, tham gia trò chơi nhóm, kiểm soát cảm xúc và ứng xử lịch sự.", ageRange: "0 – 90 tuổi", scaleInfo: "Điểm Chuẩn (M = 100, SD = 15)", subdomains: [ { name: "Quan hệ liên cá nhân (Interpersonal)", age: "0 – 90 tuổi", items: [ "Giao tiếp mắt, mỉm cười đáp lại và thể hiện sự gắn bó", "Nhận diện cảm xúc vui, buồn, giận của người khác", "Chủ động kết bạn và thể hiện sự quan tâm, đồng cảm" ] }, { name: "Vui chơi & Giải trí (Play & Leisure)", age: "0 – 90 tuổi", items: [ "Chơi giả vờ (đóng vai) và chơi hợp tác cùng bạn", "Chia sẻ đồ chơi và biết chờ đến lượt (luân phiên)", "Tuân thủ luật chơi trong các trò chơi tập thể" ] }, { name: "Kỹ năng ứng phó (Coping Skills)", age: "2 – 90 tuổi", items: [ "Biết nói lời cảm ơn, xin lỗi đúng hoàn cảnh", "Kiểm soát cơn giận hoặc sự thất vọng khi bị từ chối", "Thích nghi linh hoạt khi thay đổi lịch trình" ] } ] }, { id: "mot", category: "optional", badgeText: "Tùy chọn (0 – 9 tuổi)", title: "4. Kỹ năng vận động (Motor Skills)", desc: "Đánh giá sự phối hợp cơ bắp lớn để di chuyển và cơ nhỏ bàn tay để thao tác đồ vật chính xác.", ageRange: "0 – 9 tuổi (hoặc người có suy giảm vận động)", scaleInfo: "Điểm Chuẩn (M = 100, SD = 15)", subdomains: [ { name: "Vận động thô (Gross Motor)", age: "0 – 9 tuổi", items: [ "Ngồi vững, bò, tự đi, chạy và giữ thăng bằng", "Bước lên xuống cầu thang luân phiên hai chân", "Nhảy lò cò, đá bóng, ném và bắt bóng bằng hai tay" ] }, { name: "Vận động tinh (Fine Motor)", age: "0 – 9 tuổi", items: [ "Nhặt vật nhỏ bằng ngón cái và ngón trỏ", "Mở nắp hộp, vặn tay nắm cửa, lật từng trang sách", "Cầm bút tô màu/vẽ và dùng kéo cắt theo đường kẻ" ] } ] }, { id: "mal", category: "maladaptive", badgeText: "Tùy chọn (Cảnh báo lâm sàng)", title: "5. Hành vi kém thích ứng (Maladaptive Behavior)", desc: "Các hành vi gây cản trở sinh hoạt và học tập hàng ngày như lo âu, thu mình, cáu giận hoặc tự gây hại.", ageRange: "3 – 90 tuổi", scaleInfo: "V-scale (M = 15, SD = 3) — Điểm ≥ 18 cần lưu ý", subdomains: [ { name: "Hướng nội (Internalizing)", age: "3 – 90 tuổi", items: [ "Lo âu, sợ hãi quá mức hoặc dễ khóc vô cớ", "Thu mình, né tránh xã hội, buồn bã kéo dài", "Rối loạn giấc ngủ hoặc ăn uống do căng thẳng" ] }, { name: "Hướng ngoại (Externalizing)", age: "3 – 90 tuổi", items: [ "Ăn vạ dữ dội, la hét hoặc đập phá đồ đạc", "Gây hấn (đánh, cắn, xô đẩy) hoặc chống đối người lớn", "Bốc đồng, vi phạm nội quy trường lớp" ] }, { name: "Vấn đề nghiêm trọng (Critical Items)", age: "3 – 90 tuổi", items: [ "Hành vi tự gây thương tích (tự cắn tay, đập đầu)", "Hành vi định hình rập khuôn hoặc cuốn hút giác quan lạ", "Tự ý bỏ chạy khỏi nơi an toàn không nhận thức nguy hiểm" ] } ] } ]; let currentFilter = "all"; let openIds = new Set(["comm"]); let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; color: #0f172a; line-height: 1.55; width: 100%; box-sizing: border-box; --bg: #f8fafc; --card: #ffffff; --text: #0f172a; --muted: #475569; --border: #e2e8f0; --core: #2563eb; --core-soft: #eff6ff; --opt: #7c3aed; --opt-soft: #f5f3ff; --mal: #dc2626; --mal-soft: #fef2f2; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .vineland-wrapper { width: 100%; background: var(--card); border: 1px solid var(--border); border-radius: 16px; box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06); overflow: hidden; position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .vineland-wrapper.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng khi cuộn */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .vineland-wrapper.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 0.85rem; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 0.8rem; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 0 rgba(37, 99, 235, 0.4); } 70% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 10px rgba(37, 99, 235, 0); } 100% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 0 rgba(37, 99, 235, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #1d4ed8 0%, #2563eb 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 0.84rem; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 0.85rem; } /* Header Banner */ .v-header { background: linear-gradient(135deg, #1e3a8a 0%, #2563eb 100%); color: #ffffff; padding: 20px 24px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 14px; } .v-header-text { flex: 1 1 260px; } .v-header h2 { font-size: clamp(1.15rem, 2.5vw, 1.4rem); font-weight: 700; margin-bottom: 6px; color: #ffffff; } .v-header p { font-size: 0.9rem; color: #dbeafe; } .btn-fullscreen-top { background: #ffffff; color: #1e3a8a; border: none; padding: 8px 14px; border-radius: 999px; font-size: 0.82rem; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); transition: transform 0.15s ease; } .btn-fullscreen-top:hover { transform: translateY(-1px); } /* Thanh lọc & Tóm tắt chỉ số ABC */ .v-toolbar { padding: 14px 20px; background: #f1f5f9; border-bottom: 1px solid var(--border); display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; } .abc-summary { font-size: 0.85rem; color: #1e293b; background: #ffffff; padding: 6px 12px; border-radius: 8px; border: 1px solid #cbd5e1; font-weight: 600; } .filter-tabs { display: flex; flex-wrap: wrap; gap: 6px; } .tab-btn { padding: 6px 12px; font-size: 0.8rem; font-weight: 600; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; color: var(--muted); cursor: pointer; transition: all 0.2s; touch-action: manipulation; } .tab-btn.active { background: var(--core); color: #ffffff; border-color: var(--core); } /* Danh sách Lĩnh vực 1 cột duy nhất (Full-width) */ .domain-stack { padding: 16px 20px; display: flex; flex-direction: column; gap: 12px; max-width: 1020px; margin: 0 auto; } .domain-item { border: 1px solid var(--border); border-radius: 12px; background: #ffffff; overflow: hidden; transition: box-shadow 0.2s; } .domain-item:hover { box-shadow: 0 4px 12px rgba(15, 23, 42, 0.05); } .domain-item.core { border-left: 5px solid var(--core); } .domain-item.optional { border-left: 5px solid var(--opt); } .domain-item.maladaptive { border-left: 5px solid var(--mal); } .domain-summary { padding: 16px 18px; display: flex; justify-content: space-between; align-items: center; gap: 12px; cursor: pointer; user-select: none; background: #ffffff; } .domain-summary:hover { background: #f8fafc; } .domain-info { display: flex; flex-direction: column; gap: 4px; } .domain-top-row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; } .domain-title { font-size: 1.02rem; font-weight: 700; color: var(--text); } .badge { font-size: 0.72rem; font-weight: 700; padding: 2px 9px; border-radius: 999px; text-transform: uppercase; } .badge.core { background: var(--core-soft); color: var(--core); } .badge.optional { background: var(--opt-soft); color: var(--opt); } .badge.maladaptive { background: var(--mal-soft); color: var(--mal); } .domain-desc { font-size: 0.875rem; color: var(--muted); } .toggle-icon { width: 28px; height: 28px; border-radius: 50%; background: #f1f5f9; display: flex; align-items: center; justify-content: center; font-size: 0.75rem; color: var(--muted); flex-shrink: 0; transition: transform 0.25s ease, background 0.2s; } .domain-item.open .toggle-icon { transform: rotate(180deg); background: var(--core); color: #ffffff; } /* Nội dung chi tiết xổ xuống bên dưới */ .domain-content { display: none; padding: 16px 18px 18px; background: #f8fafc; border-top: 1px solid var(--border); } .domain-item.open .domain-content { display: block; } .meta-bar { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 14px; } .meta-pill { background: #ffffff; border: 1px solid var(--border); padding: 6px 12px; border-radius: 8px; font-size: 0.8rem; color: #334155; } /* Lưới Tiểu lĩnh vực tự co giãn */ .subdomain-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 12px; } .sub-card { background: #ffffff; border: 1px solid var(--border); border-radius: 10px; padding: 14px; display: flex; flex-direction: column; gap: 10px; } .sub-header { display: flex; justify-content: space-between; align-items: flex-start; gap: 8px; border-bottom: 1px dashed var(--border); padding-bottom: 8px; } .sub-name { font-weight: 700; font-size: 0.92rem; color: #1e293b; } .sub-age { font-size: 0.72rem; font-weight: 600; background: #f1f5f9; color: #475569; padding: 2px 7px; border-radius: 6px; white-space: nowrap; } /* Dùng Flexbox
Cấu trúc Thang đo Hành vi Thích ứng Vineland-3
Nhấp vào từng lĩnh vực để mở rộng các tiểu lĩnh vực và chỉ báo hành vi tương ứng (0 – 90 tuổi)
2. Hình thức thực hiện (3 phiên bản)
Vineland-3 không yêu cầu người được đánh giá phải trực tiếp làm bài kiểm tra, mà thu thập thông tin qua người hiểu rõ họ nhất (cha mẹ, người chăm sóc, giáo viên) bằng 3 hình thức:
-
Phỏng vấn (Interview Form): Chuyên gia tâm lý trò chuyện bán cấu trúc với phụ huynh/người chăm sóc (không đọc nguyên văn câu hỏi như bảng hỏi mà trao đổi tự nhiên để chấm điểm). Đây là hình thức có độ tin cậy lâm sàng cao nhất.
-
Bảng hỏi Phụ huynh/Người chăm sóc (Parent/Caregiver Form): Phụ huynh tự điền vào bảng câu hỏi đánh giá hành vi ở nhà (có cả bản toàn diện Comprehensive và bản rút gọn Domain-Level).
-
Bảng hỏi Giáo viên (Teacher Form): Giáo viên đánh giá các kỹ năng thích ứng của học sinh trong môi trường học đường (áp dụng cho trẻ từ 3 đến 21 tuổi).
3. Ứng dụng thực tiễn của Vineland-3
-
Hỗ trợ chẩn đoán lâm sàng: Là tiêu chuẩn vàng để chẩn đoán Khuyết tật trí tuệ (Intellectual Disability) (vì tiêu chuẩn DSM-5 yêu cầu phải có sự thiếu hụt cả về IQ lẫn hành vi thích ứng), Rối loạn phổ tự kỷ (ASD), chậm phát triển toàn diện (GDD), ADHD và các tổn thương não.
-
Lập kế hoạch can thiệp (IEP): Giúp nhà chuyên môn xác định chính xác điểm mạnh và điểm yếu thực tế của trẻ để xây dựng Kế hoạch Giáo dục Cá nhân hóa (IEP).
-
Theo dõi tiến độ: Đo lường sự tiến bộ của cá nhân theo thời gian hoặc đánh giá hiệu quả của một chương trình trị liệu.
4. Cách tính điểm cơ bản
-
Thang điểm hành vi: Mỗi mục câu hỏi trong Vineland-3 được chấm theo tần suất cá nhân tự thực hiện kỹ năng đó mà không cần nhắc nhở hay hỗ trợ: 2 (Thường xuyên), 1 (Thỉnh thoảng), 0 (Không bao giờ).
-
Điểm Chuẩn (Standard Scores): Các lĩnh vực chính và điểm tổng hợp (ABC) có điểm trung bình là 100 và độ lệch chuẩn là 15 (tương tự thang đo IQ).
-
Điểm V-scale: Các tiểu lĩnh vực sử dụng điểm v-scale với trung bình là 15 và độ lệch chuẩn là 3.
Nội dung được lấy từ tài liệu gốc và hỗ trợ tạo công cụ bởi AI.
[Giác quan] SPM-2: Thang đánh giá rối loạn xử lý giác quan đa môi trường (Gia đình và Trường học)
(function() { const host = document.getElementById('spm2-wp-host'); if (!host) return; const placeholder = document.createComment('spm2-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // Cấu hình 5 Phiên bản Độ tuổi & Môi trường của SPM-2 (Kuhaneck, Henry, Glennon, Parham & Ecker, 2021) const formConfigs = { infant: { code: 'infant', tabTitle: '👶 1. Infant/Toddler (4–30m)', tabSub: 'Nhũ nhi & Trẻ nhỏ • Cha mẹ', fullTitle: 'SPM-2 Infant / Toddler Form — Dành Cho Trẻ Nhũ Nhi & Trẻ Nhỏ (4 Đến 30 Tháng Tuổi • Cha Mẹ Đánh Giá)', desc: 'Đánh giá sớm khả năng điều hòa giác quan, tương tác xã hội đầu đời và tiền đề lập kế hoạch vận động (Praxis) ở trẻ từ 4 đến 30 tháng tuổi.', subj: 'Bé', poss: 'của bé', peer: 'người thân và các bé khác', env: 'trong sinh hoạt hàng ngày ở nhà' }, preschool: { code: 'preschool', tabTitle: '🧸 2. Preschool (2–5 tuổi)', tabSub: 'Mầm non • Gia đình / Trường', fullTitle: 'SPM-2 Preschool Form — Dành Cho Trẻ Mầm Non (2 Đến 5 Tuổi • Cha Mẹ / Giáo Viên Đánh Giá)', desc: 'Đo lường 8 lĩnh vực xử lý giác quan, thực hành vận động (Praxis) và tham gia xã hội ở lứa tuổi mẫu giáo (2 – 5 tuổi).', subj: 'Bé', poss: 'của bé', peer: 'các bạn cùng lớp mẫu giáo', env: 'ở nhà và lớp mầm non' }, child_home: { code: 'child_home', tabTitle: '🏠 3. Child Home (5–12 tuổi)', tabSub: 'Trẻ em tại Nhà • Cha mẹ chấm', fullTitle: 'SPM-2 Child Home Form — Dành Cho Trẻ Em Lứa Tuổi Học Đường Tại Gia Đình (5 Đến 12 Tuổi • Cha Mẹ Đánh Giá)', desc: 'Phiên bản chuẩn hóa dành cho phụ huynh đánh giá 80 chỉ báo thuộc 6 hệ giác quan (tính Tổng điểm Giác quan ST), Lập kế hoạch vận động (PLA) và Tham gia xã hội (SOC) tại nhà.', subj: 'Trẻ', poss: 'của trẻ', peer: 'bạn bè đồng trang lứa', env: 'tại gia đình và ngoài cộng đồng' }, child_school: { code: 'child_school', tabTitle: '🏫 4. Child School (5–12 tuổi)', tabSub: 'Trẻ em tại Lớp • Giáo viên chấm', fullTitle: 'SPM-2 Child Main Classroom Form — Dành Cho Giáo Viên Đánh Giá Tại Trường Học (5 Đến 12 Tuổi)', desc: 'Đánh giá cách thức xử lý giác quan và khả năng lập kế hoạch vận động (Praxis) ảnh hưởng đến việc học tập, viết bài, giờ ra chơi và tương tác tại lớp học.', subj: 'Học sinh', poss: 'của học sinh', peer: 'các bạn cùng lớp', env: 'trong lớp học và sân trường' }, adolescent_adult: { code: 'adolescent_adult', tabTitle: '🧑 5. Teen/Adult (12–87 tuổi)', tabSub: 'Vị thành niên & Người lớn • Tự chấm', fullTitle: 'SPM-2 Adolescent / Adult Self-Report Form — Bảng Tự Đánh Giá Dành Cho Vị Thành Niên & Người Lớn (12 – 87 Tuổi)', desc: 'Phiên bản tự đánh giá ở ngôi thứ nhất ("Tôi...") đo lường 8 tiểu thang SPM-2 trong học tập, công việc, lái xe, quản lý sinh hoạt và quan hệ xã hội.', subj: 'Tôi', poss: 'của mình', peer: 'mọi người xung quanh', env: 'trong công việc và cuộc sống' } }; // Cấu hình 8 Tiểu thang Cốt lõi của SPM-2 (Mỗi tiểu thang 10 câu hỏi, chấm từ 1 đến 4 điểm -> Điểm thô mỗi thang từ 10 đến 40 điểm) // inST: true đối với 6 hệ giác quan cấu thành Tổng điểm Giác quan (Sensory Total - ST: 60 câu -> Điểm thô từ 60 đến 240 điểm) const scaleConfigs = { soc: { code: 'soc', short: 'SOC', inST: false, rev: true, name: '1. Tham gia Xã hội (Social Participation - SOC • 10 câu)', color: '#2563eb' }, vis: { code: 'vis', short: 'VIS', inST: true, rev: false, name: '2. Thị giác (Vision - VIS • 10 câu) ★ [Thuộc ST]', color: '#0891b2' }, hea: { code: 'hea', short: 'HEA', inST: true, rev: false, name: '3. Thính giác (Hearing - HEA • 10 câu) ★ [Thuộc ST]', color: '#0284c7' }, tou: { code: 'tou', short: 'TOU', inST: true, rev: false, name: '4. Xúc giác (Touch - TOU • 10 câu) ★ [Thuộc ST]', color: '#0d9488' }, ts: { code: 'ts', short: 'T&S', inST: true, rev: false, name: '5. Vị giác & Khứu giác (Taste and Smell - T&S • 10 câu) ★ [Thuộc ST]', color: '#10b981' }, bod: { code: 'bod', short: 'BOD', inST: true, rev: false, name: '6. Nhận thức Cơ thể / Bản thể (Body Awareness - BOD • 10 câu) ★ [Thuộc ST]', color: '#f59e0b' }, bal: { code: 'bal', short: 'BAL', inST: true, rev: false, name: '7. Thăng bằng & Chuyển động / Tiền đình (Balance & Motion - BAL • 10 câu) ★ [Thuộc ST]', color: '#ea580c' }, pla: { code: 'pla', short: 'PLA', inST: false, rev: false, name: '8. Lập kế hoạch Vận động & Ý tưởng (Planning and Ideas / Praxis - PLA • 10 câu)', color: '#7c3aed' } }; // Đầy đủ 80 câu hỏi chuẩn theo cấu trúc 8 Tiểu thang của SPM-2 (Mỗi tiểu thang 10 câu) // mech: 'over' (Tăng phản ứng - Hyper-reactivity), 'under' (Giảm phản ứng - Hypo-reactivity), 'seek' (Tìm kiếm cảm giác - Seeking), 'perc' (Nhận thức phân biệt giác quan - Perception), 'prax' (Lập kế hoạch & Ý tưởng - Praxis), 'soc' (Tham gia xã hội) const rawQuestions = [ // ===================================================== // 1. THAM GIA XÃ HỘI (SOCIAL PARTICIPATION - SOC • Câu 1 - 10 • ĐẢO NGƯỢC: Luôn luôn=1đ, Không bao giờ=4đ) // ===================================================== { id: 1, sc: 'soc', mech: 'soc', c: '{S} chơi đùa hoặc hợp tác làm việc hòa đồng cùng với {E}.' }, { id: 2, sc: 'soc', mech: 'soc', c: '{S} biết chia sẻ đồ dùng, đồ chơi và chờ đến lượt một cách tự nguyện.' }, { id: 3, sc: 'soc', mech: 'soc', c: '{S} tham gia tích cực vào các cuộc trò chuyện hoặc hoạt động chung {V}.' }, { id: 4, sc: 'soc', mech: 'soc', c: '{S} duy trì giao tiếp ánh mắt phù hợp và tự nhiên khi nói chuyện với người khác.' }, { id: 5, sc: 'soc', mech: 'soc', c: '{S} linh hoạt chấp nhận khi luật chơi thay đổi hoặc khi làm theo ý kiến của {E}.' }, { id: 6, sc: 'soc', mech: 'soc', c: '{S} nhận ra cảm xúc của người khác và thể hiện sự quan tâm, đồng cảm phù hợp.' }, { id: 7, sc: 'soc', mech: 'soc', c: '{S} biết cách tự giải quyết các bất đồng nhỏ với {E} mà không nổi nóng hay ăn vạ.' }, { id: 8, sc: 'soc', mech: 'soc', c: '{S} hòa nhập dễ dàng khi bước vào các buổi tụ tập, sinh hoạt tập thể hoặc nơi mới lạ.' }, { id: 9, sc: 'soc', mech: 'soc', c: '{S} hiểu được các câu nói đùa vui vẻ và ngôn ngữ cơ thể của {E}.' }, { id: 10, sc: 'soc', mech: 'soc', c: '{S} kết bạn và duy trì được mối quan hệ thân thiết với {E}.' }, // ===================================================== // 2. THỊ GIÁC (VISION - VIS • Câu 11 - 20 • THUỘC SENSORY TOTAL - ST) // ===================================================== { id: 11, sc: 'vis', mech: 'over', c: '{S} tỏ ra khó chịu, nheo mắt hoặc lấy tay che mắt trước ánh sáng mặt trời hoặc đèn sáng trong phòng.' }, { id: 12, sc: 'vis', mech: 'over', c: '{S} rất dễ bị phân tâm bởi các chuyển động thị giác xung quanh (như người đi qua lại, cảnh vật ngoài cửa sổ).' }, { id: 13, sc: 'vis', mech: 'perc', c: '{S} gặp khó khăn khi tìm một món đồ đang nằm lẫn trong ngăn kéo hoặc trên mặt bàn có nhiều đồ vật.' }, { id: 14, sc: 'vis', mech: 'seek', c: '{S} thích nhìn chằm chằm vào các vật xoay tròn (quạt trần, bánh xe), ánh đèn nhấp nháy hoặc bóng nắng.' }, { id: 15, sc: 'vis', mech: 'seek', c: '{S} hay nhìn nghiêng qua khóe mắt hoặc đưa các ngón tay/đồ vật lại thật sát trước mắt để ngắm.' }, { id: 16, sc: 'vis', mech: 'perc', c: '{S} hay bị nhìn nhầm dòng khi đọc sách, chép bài trên bảng hoặc bỏ sót các chi tiết hình ảnh.' }, { id: 17, sc: 'vis', mech: 'under',c: '{S} đi lại hay va quệt vào bàn ghế, khung cửa hoặc không để ý thấy chướng ngại vật ngay trước mặt.' }, { id: 18, sc: 'vis', mech: 'over', c: '{S} cảm thấy căng thẳng, mỏi mệt hoặc đau đầu khi ở trong những căn phòng trang trí quá sặc sỡ, lộn xộn.' }, { id: 19, sc: 'vis', mech: 'perc', c: '{S} gặp khó khăn trong việc ước lượng khoảng cách không gian (như khi bước xuống bậc thang hoặc bắt bóng bay tới).' }, { id: 20, sc: 'vis', mech: 'seek', c: '{S} bị cuốn hút mãnh liệt vào việc xếp các đồ vật thẳng hàng tăm tắp hoặc ngắm các đường thẳng song song.' }, // ===================================================== // 3. THÍNH GIÁC (HEARING - HEA • Câu 21 - 30 • THUỘC SENSORY TOTAL - ST) // ===================================================== { id: 21, sc: 'hea', mech: 'over', c: '{S} lấy hai tay bịt chặt tai, khóc hoặc hoảng sợ trước các âm thanh sinh hoạt (máy hút bụi, máy sấy, tiếng xả bồn cầu).' }, { id: 22, sc: 'hea', mech: 'over', c: '{S} rất dễ bị giật mình hoặc căng thẳng trước những tiếng động bất ngờ (tiếng chuông, tiếng còi xe, tiếng chó sủa).' }, { id: 23, sc: 'hea', mech: 'over', c: '{S} không thể tập trung làm việc nếu xung quanh có tiếng ồn nền nhỏ (tiếng quạt chạy, tiếng điều hòa, tiếng thì thầm).' }, { id: 24, sc: 'hea', mech: 'under',c: '{S} không quay lại hoặc không phản ứng khi được gọi tên nhiều lần (dù thính lực hoàn toàn bình thường).' }, { id: 25, sc: 'hea', mech: 'perc', c: '{S} gặp khó khăn trong việc xác định xem âm thanh hoặc tiếng người gọi đang phát ra từ hướng nào.' }, { id: 26, sc: 'hea', mech: 'seek', c: '{S} thích tự phát ra các âm thanh lạ, tiếng ngân nga lặp đi lặp lại hoặc đập gõ đồ vật để nghe tiếng vang.' }, { id: 27, sc: 'hea', mech: 'seek', c: '{S} thích bật âm lượng tivi/loa thật to hoặc áp sát tai vào vật đang phát ra âm thanh/rung động.' }, { id: 28, sc: 'hea', mech: 'over', c: '{S} tỏ ra quá tải, cáu gắt hoặc muốn bỏ ra ngoài khi ở nơi đông người ồn ào (nhà ăn, siêu thị, tiệc sinh nhật).' }, { id: 29, sc: 'hea', mech: 'perc', c: '{S} chậm hiểu lời nói hoặc thường xuyên phải hỏi lại khi người đối diện nói hơi nhanh.' }, { id: 30, sc: 'hea', mech: 'over', c: '{S} yêu cầu mọi người phải im lặng hoặc khó chịu khi nghe giọng hát/giọng nói cao của một số người.' }, // ===================================================== // 4. XÚC GIÁC (TOUCH - TOU • Câu 31 - 40 • THUỘC SENSORY TOTAL - ST) // ===================================================== { id: 31, sc: 'tou', mech: 'over', c: '{S} cực kỳ khó chịu, giãy giụa hoặc phản kháng khi cắt tóc, cắt móng tay, gội đầu hoặc rửa mặt.' }, { id: 32, sc: 'tou', mech: 'over', c: '{S} bứt rứt với mác quần áo, đường chỉ may tất, cổ áo hoặc từ chối mặc một số chất liệu vải nhất định.' }, { id: 33, sc: 'tou', mech: 'over', c: '{S} né tránh hoặc đòi lau rửa tay ngay lập tức nếu tay dính bẩn (hồ dán, màu vẽ, đất nặn, cát, thức ăn ướt).' }, { id: 34, sc: 'tou', mech: 'over', c: '{S} giật lùi lại, cáu giận hoặc đẩy ra khi có ai đó chạm nhẹ bất ngờ vào người hoặc đứng sát cạnh.' }, { id: 35, sc: 'tou', mech: 'under',c: '{S} dường như không cảm thấy đau hoặc không khóc khi bị ngã va đập mạnh, trầy xước hay đứt tay.' }, { id: 36, sc: 'tou', mech: 'under',c: '{S} không nhận ra khi mặt mũi, quần áo bị dính bẩn hoặc khi giày dép đang mang ngược chân.' }, { id: 37, sc: 'tou', mech: 'seek', c: '{S} liên tục sờ chạm, vuốt ve mọi bề mặt đồ đạc, tường nhà hoặc chạm vào người khác.' }, { id: 38, sc: 'tou', mech: 'seek', c: '{S} rất thích được ôm siết thật chặt, thích chui rúc vào góc hẹp hoặc thích đắp chăn nặng đè lên người.' }, { id: 39, sc: 'tou', mech: 'perc', c: '{S} gặp khó khăn khi phải mò tìm một đồ vật trong cặp sách/túi quần bằng tay mà không nhìn.' }, { id: 40, sc: 'tou', mech: 'over', c: '{S} không chịu đi chân trần trên cỏ, cát, thảm nhám hoặc rất nhạy cảm với nhiệt độ nước tắm.' }, // ===================================================== // 5. VỊ GIÁC & KHỨU GIÁC (TASTE AND SMELL - T&S • Câu 41 - 50 • THUỘC SENSORY TOTAL - ST) // ===================================================== { id: 41, sc: 'ts', mech: 'over', c: '{S} cực kỳ kén ăn, chỉ chấp nhận ăn một vài món quen thuộc và từ chối thử các món ăn mới.' }, { id: 42, sc: 'ts', mech: 'over', c: '{S} dễ bị nôn ọe khi ăn thức ăn có kết cấu lợn cợn, dai, nhão hoặc khi đánh răng.' }, { id: 43, sc: 'ts', mech: 'over', c: '{S} phản ứng gay gắt, bịt mũi hoặc buồn nôn trước các mùi thức ăn, mùi nước hoa, xà phòng hoặc mùi phòng vệ sinh.' }, { id: 44, sc: 'ts', mech: 'seek', c: '{S} thường xuyên đưa các đồ vật không phải thức ăn (cổ áo, bút chì, đồ chơi nhựa, ngón tay) lên miệng để liếm, cắn hoặc nhai.' }, { id: 45, sc: 'ts', mech: 'seek', c: '{S} có thói quen đưa mọi đồ vật hoặc người khác lên mũi để ngửi khi mới tiếp xúc.' }, { id: 46, sc: 'ts', mech: 'seek', c: '{S} thích các món ăn có gia vị cực mạnh (rất chua, rất cay, rất mặn) hoặc đồ ăn cứng giòn.' }, { id: 47, sc: 'ts', mech: 'under',c: '{S} không nhận ra khi thức ăn quá nóng/quá cay hoặc khi mùi trong phòng rất nồng.' }, { id: 48, sc: 'ts', mech: 'perc', c: '{S} khó phân biệt các mùi vị khác nhau hoặc nhét quá đầy thức ăn vào miệng cùng một lúc.' }, { id: 49, sc: 'ts', mech: 'under',c: '{S} ngậm thức ăn lâu trong miệng mà không nuốt hoặc không nhận ra thức ăn/nước bọt còn dính quanh môi.' }, { id: 50, sc: 'ts', mech: 'over', c: '{S} đòi hỏi các món ăn phải được để riêng rẽ trên đĩa, không được chạm hay trộn lẫn vào nhau.' }, // ===================================================== // 6. NHẬN THỨC CƠ THỂ / CẢM THỤ BẢN THỂ (BODY AWARENESS - BOD • Câu 51 - 60 • THUỘC SENSORY TOTAL - ST) // ===================================================== { id: 51, sc: 'bod', mech: 'perc', c: '{S} kiểm soát lực tay kém: cầm bút ấn quá mạnh làm rách giấy/gãy ngòi, hoặc cầm đồ vật quá lỏng làm rơi.' }, { id: 52, sc: 'bod', mech: 'perc', c: '{S} đóng cửa, đặt đồ vật xuống bàn hoặc bước chân đi lại tạo tiếng động ầm ầm quá mạnh mà không cố ý.' }, { id: 53, sc: 'bod', mech: 'seek', c: '{S} thích lao người va đập mạnh vào tường, nệm, ghế sofa hoặc vật lộn, xô đẩy mạnh khi chơi.' }, { id: 54, sc: 'bod', mech: 'seek', c: '{S} thường xuyên đi nhón gót chân, nhảy dậm chân mạnh xuống sàn hoặc gồng cứng cơ tay/chân.' }, { id: 55, sc: 'bod', mech: 'under',c: '{S} có vẻ nhanh mỏi cơ, hay nằm bò dài ra bàn, chống cằm hoặc phải tựa người vào tường/ghế khi ngồi.' }, { id: 56, sc: 'bod', mech: 'perc', c: '{S} làm hỏng hoặc làm gãy đồ chơi/đồ dùng do dùng lực kéo, vặn hoặc bóp quá mạnh.' }, { id: 57, sc: 'bod', mech: 'seek', c: '{S} hay nghiến răng, cắn chặt hàm hoặc thích mang vác các đồ vật nặng.' }, { id: 58, sc: 'bod', mech: 'perc', c: '{S} ôm người thân hoặc vuốt ve thú cưng quá mạnh tay khiến họ bị đau dù chỉ định thể hiện tình cảm.' }, { id: 59, sc: 'bod', mech: 'perc', c: '{S} gặp khó khăn trong việc định vị tư thế tay chân nếu không nhìn trực tiếp vào tay chân mình.' }, { id: 60, sc: 'bod', mech: 'seek', c: '{S} thích treo người đu xà, chống đẩy tay lên ghế hoặc tự vẫy/búng mạnh các khớp ngón tay.' }, // ===================================================== // 7. THĂNG BẰNG & CHUYỂN ĐỘNG / TIỀN ĐÌNH (BALANCE AND MOTION - BAL • Câu 61 - 70 • THUỘC SENSORY TOTAL - ST) // ===================================================== { id: 61, sc: 'bal', mech: 'seek', c: '{S} luôn chân luôn tay, tìm kiếm mọi cơ hội để chạy nhảy, nhún nhảy hoặc leo trèo không ngừng nghỉ.' }, { id: 62, sc: 'bal', mech: 'seek', c: '{S} thích tự xoay tròn cơ thể nhiều vòng hoặc ngồi ghế xoay tốc độ cao mà không hề bị chóng mặt.' }, { id: 63, sc: 'bal', mech: 'seek', c: '{S} liên tục đung đưa thân mình hoặc lắc lư đầu qua lại trong khi đang ngồi.' }, { id: 64, sc: 'bal', mech: 'over', c: '{S} sợ hãi hoặc lo lắng tột độ khi bàn chân rời khỏi mặt đất (sợ xích đu, cầu trượt, thang cuốn, leo cao).' }, { id: 65, sc: 'bal', mech: 'over', c: '{S} rất sợ khi bị ngửa đầu ra sau (như khi nằm gội đầu) hoặc khi bị thay đổi tư thế đột ngột.' }, { id: 66, sc: 'bal', mech: 'under',c: '{S} giữ thăng bằng kém, dễ bị vấp ngã trên mặt phẳng hoặc loạng choạng khi đi trên bề mặt gồ ghề.' }, { id: 67, sc: 'bal', mech: 'over', c: '{S} rất dễ bị say tàu xe, chóng mặt hoặc buồn nôn khi đi ô tô, thang máy.' }, { id: 68, sc: 'bal', mech: 'under',c: '{S} phản xạ chống tay bảo vệ chậm khi bị mất thăng bằng sắp ngã.' }, { id: 69, sc: 'bal', mech: 'under',c: '{S} gặp khó khăn khi phải giữ thăng bằng trên một chân, nhảy lò cò hoặc đi xe đạp.' }, { id: 70, sc: 'bal', mech: 'seek', c: '{S} thích các tư thế dốc ngược đầu xuống dưới (như trồng cây chuối, vắt người ngược khỏi thành giường/ghế).' }, // ===================================================== // 8. LẬP KẾ HOẠCH VẬN ĐỘNG & Ý TƯỞNG (PLANNING AND IDEAS / PRAXIS - PLA • Câu 71 - 80) // ===================================================== { id: 71, sc: 'pla', mech: 'prax', c: '{S} gặp khó khăn trong việc tự nghĩ ra ý tưởng trò chơi mới hoặc cách mới để sử dụng đồ vật (Suy giảm Ideation).' }, { id: 72, sc: 'pla', mech: 'prax', c: '{S} cứ lặp đi lặp lại mãi một cách chơi hoặc một thao tác cũ thay vì thử nghiệm các bước mới.' }, { id: 73, sc: 'pla', mech: 'prax', c: '{S} trông vụng về, lóng ngóng và mất nhiều thời gian khi học một động tác vận động mới (như tập nhảy dây, tập bơi, bài thể dục).' }, { id: 74, sc: 'pla', mech: 'prax', c: '{S} gặp khó khăn khi bắt chước chính xác các động tác cơ thể hoặc thao tác tay của người làm mẫu.' }, { id: 75, sc: 'pla', mech: 'prax', c: '{S} thực hiện các công việc gồm nhiều bước (như mặc quần áo, chuẩn bị cặp sách, làm thủ công) một cách lộn xộn, sai thứ tự.' }, { id: 76, sc: 'pla', mech: 'prax', c: '{S} gặp khó khăn khi phải phối hợp nhịp nhàng cả hai bên tay – chân cùng lúc (như một tay giữ giấy một tay cắt kéo, cài cúc áo, buộc dây giày).' }, { id: 77, sc: 'pla', mech: 'prax', c: '{S} khó căn chỉnh đúng thời điểm và tốc độ vận động (như bắt trượt bóng đang bay tới hoặc đá hụt bóng đang lăn).' }, { id: 78, sc: 'pla', mech: 'prax', c: '{S} để bàn học, góc đồ chơi hoặc không gian làm việc cực kỳ bừa bộn và không biết cách tự sắp xếp tổ chức lại.' }, { id: 79, sc: 'pla', mech: 'prax', c: '{S} tốn rất nhiều thời gian và nỗ lực để hoàn thành các bài tập viết chữ, vẽ hình hoặc lắp ghép mô hình.' }, { id: 80, sc: 'pla', mech: 'prax', c: '{S} dễ nản lòng, bỏ cuộc hoặc nhờ người khác làm hộ ngay khi gặp một nhiệm vụ đòi hỏi khéo léo tay chân mới.' } ]; let currentForm = 'child_home'; // 'infant' | 'preschool' | 'child_home' | 'child_school' | 'adolescent_adult' // ratings[id] lưu lựa chọn trên thang tần suất 1..4: // 1 = Không bao giờ (Never) // 2 = Thỉnh thoảng (Occasionally) // 3 = Thường xuyên (Frequently) // 4 = Luôn luôn (Always) let ratings = {}; let filterScale = 'all'; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .sm-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .sm-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .sm-inner { padding: 24px; max-width: 980px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .sm-wrap.is-fullscreen .sm-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .sm-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(124, 58, 237, 0.45), 0 0 0 0 rgba(124, 58, 237, 0.4); } 70% { box-shadow: 0 6px 20px rgba(124, 58, 237, 0.45), 0 0 0 10px rgba(124, 58, 237, 0); } 100% { box-shadow: 0 6px 20px rgba(124, 58, 237, 0.45), 0 0 0 0 rgba(124, 58, 237, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #6d28d9 0%, #7c3aed 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(124, 58, 237, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Bộ chuyển đổi 5 Phiên bản Độ tuổi & Môi trường của SPM-2 */ .form-switcher-box { background: #f1f5f9; padding: 10px; border-radius: 12px; margin-bottom: 18px; } .form-switcher-lbl { font-size: 12px; font-weight: 800; color: #334155; text-transform: uppercase; margin-bottom: 8px; display: block; } .form-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; } .form-btn { padding: 9px 8px; border-radius: 9px; border: 1.5px solid transparent; background: rgba(255, 255, 255, 0.65); cursor: pointer; text-align: left; transition: all 0.18s ease; touch-action: manipulation; } .form-btn:hover { background: #ffffff; } .form-btn.active { background: #ffffff; border-color: #7c3aed; box-shadow: 0 3px 10px rgba(15, 23, 42, 0.08); } .form-btn-title { font-size: 12.5px; font-weight: 800; color: #0f172a; display: block; line-height: 1.25; } .form-btn.active .form-btn-title { color: #6d28d9; } .form-btn-sub { font-size: 10.8px; color: #64748b; margin-top: 2px; display: block; line-height: 1.2; } /* Header */ .sm-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .sm-header-text { flex: 1 1 260px; } .sm-title { font-size: 20px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .sm-desc { font-size: 13.8px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #f5f3ff; color: #6d28d9; border: 1px solid #ddd6fe; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #7c3aed; color: #ffffff; border-color: #7c3aed; } /* Controls */ .sm-controls { display: flex; flex-direction: column; gap: 10px; margin-bottom: 18px; } .sm-presets { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; } .sm-preset-lbl { font-size: 12.5px; font-weight: 700; color: #475569; margin-right: 4px; } .sm-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; touch-action: manipulation; } .sm-pbtn:hover { background: #f1f5f9; } .sm-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } .sm-scale-tabs { display: flex; flex-wrap: wrap; gap: 6px; } .sm-stab { padding: 6px 11px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .sm-stab.active { background: #6d28d9; color: #ffffff; border-color: #6d28d9; } /* Sticky Dashboard */ .sm-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .sm-wrap.is-fullscreen .sm-dash { top: 58px; } .sm-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .sm-score-big { font-size: 21px; font-weight: 800; line-height: 1.2; } .sm-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .sm-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .sm-pillars { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; font-size: 11.5px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .sm-pillar-box { background: #1e293b; padding: 7px 9px; border-radius: 8px; border-left: 3px solid #475569; } .sm-pillar-box.typ { border-left-color: #10b981; } .sm-pillar-box.mod { border-left-color: #f59e0b; background: rgba(245, 158, 11, 0.14); } .sm-pillar-box.sev { border-left-color: #ef4444; background: rgba(239, 68, 68, 0.16); } .sm-pillar-val { font-weight: 800; color: #ffffff; font-size: 13px; display: block; margin-top: 2px; } /* Danh sách 80 câu hỏi */ .sm-q-item { border: 1px solid #e2e8f0; border-radius: 10px; padding: 14px 16px; margin-bottom: 10px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 8px; } .sm-q-item.pts-4 { border-color: #fda4af; background: #fff5f5; } .sm-q-item.pts-3 { border-color: #fde68a; background: #fffbeb; } .sm-q-text { font-size: 14.5px; font-weight: 600; color: #1e293b; line-height: 1.5; } .sm-q-tags { display: flex; flex-wrap: wrap; gap: 6px; } .sm-tag { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .sm-ans-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; } .sm-abtn { padding: 8px 6px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 600; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .sm-abtn:hover { border-color: #64748b; } .sm-abtn.sel-1 { background: #10b981; border-color: #10b981; color: #ffffff; font-weight: 700; } .sm-abtn.sel-2 { background: #3b82f6; border-color: #3b82f6; color: #ffffff; font-weight: 700; } .sm-abtn.sel-3 { background: #f59e0b; border-color: #f59e0b; color: #ffffff; font-weight: 700; } .sm-abtn.sel-4 { background: #ef4444; border-color: #ef4444; color: #ffffff; font-weight: 700; } /* Biểu đồ T-Score 8 Tiểu thang & Tổng điểm ST */ .sm-chart-card { margin-top: 20px; padding: 16px 18px; border-radius: 12px; background: #ffffff; border: 1px solid #e2e8f0; } .sm-chart-title { font-size: 14.5px; font-weight: 800; color: #0f172a; margin-bottom: 12px; } .sm-bar-row { display: flex; align-items: center; gap: 10px; margin-bottom: 9px; font-size: 12.5px; } .sm-bar-lbl { width: 280px; flex-shrink: 0; font-weight: 600; color: #334155; } .sm-bar-track { flex: 1; height: 16px; background: #f1f5f9; border-radius: 999px; overflow: hidden; } .sm-bar-val { width: 155px; text-align: right; font-weight: 700; color: #0f172a; flex-shrink: 0; } .sm-asi-box { margin-top: 16px; padding: 16px 18px; border-radius: 12px; background: #f5f3ff; border: 1px solid #ddd6fe; border-left: 5px solid #7c3aed; font-size: 13.8px; color: #1e1b4b; line-height: 1.6; } .sm-result-box { margin-top: 16px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #2563eb; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 780px) { .sm-inner { padding: 14px; } .form-grid { grid-template-columns: 1fr 1fr; } .sm-title { font-size: 18px; } .sm-pillars { grid-template-columns: 1fr 1fr; } .sm-ans-grid { grid-template-columns: 1fr 1fr; } .sm-bar-lbl { width: 145px; font-size: 11.5px; } .sm-bar-val { width: 115px; font-size: 11px; } .sm-pbtn.reset { margin-left: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
${fCfg.fullTitle}
${fCfg.desc}
`; } function renderQuestions() { const fCfg = formConfigs[currentForm]; questionList.innerHTML = ''; const freqOptions = [ { val: 1, lbl: '1 - Không bao giờ (Never)' }, { val: 2, lbl: '2 - Thỉnh thoảng (Occasionally)' }, { val: 3, lbl: '3 - Thường xuyên (Frequently)' }, { val: 4, lbl: '4 - Luôn luôn (Always)' } ]; rawQuestions.forEach(function(q) { if (filterScale !== 'all' && q.sc !== filterScale) return; const sCfg = scaleConfigs[q.sc]; const defaultFreq = sCfg.rev ? 4 : 1; // Mặc định điểm rủi ro = 1đ const uFreq = (ratings[q.id] !== undefined) ? ratings[q.id] : defaultFreq; const pts = getItemPoints(q, uFreq); let rowCls = 'sm-q-item'; if (pts === 4) rowCls += ' pts-4'; else if (pts === 3) rowCls += ' pts-3'; const btnsHtml = freqOptions.map(opt => { const optPts = getItemPoints(q, opt.val); let cls = 'sm-abtn'; if (uFreq === opt.val) { cls += ` sel-${optPts}`; } return ``; }).join(''); const mechLabel = { soc: 'Tham gia Xã hội', over: 'Cơ chế ASI: Tăng phản ứng / Quá tải (Hyper-reactivity)', under:'Cơ chế ASI: Giảm phản ứng / Thờ ơ (Hypo-reactivity)', seek: 'Cơ chế ASI: Tìm kiếm cảm giác (Sensory Seeking)', perc: 'Cơ chế ASI: Nhận thức phân biệt giác quan (Perception)', prax: 'Cơ chế ASI: Lập kế hoạch vận động & Ý tưởng (Praxis)' }[q.mech]; const el = document.createElement('div'); el.className = rowCls; el.innerHTML = `• 2. Giảm phản ứng / Thờ ơ giác quan (Hypo-reactivity): Mức độ ảnh hưởng ${getMechPct('under')}% (Chậm nhận biết tín hiệu gọi tên, đau, bẩn hoặc mất thăng bằng).
• 3. Tìm kiếm cảm giác mạnh (Sensory Seeking): Mức độ ảnh hưởng ${getMechPct('seek')}% (Liên quan đến Bản thể BOD: ${tScores.bod}T và Tiền đình BAL: ${tScores.bal}T).
• 4. Nhận thức phân biệt giác quan (Sensory Perception): Mức độ ảnh hưởng ${getMechPct('perc')}% (Khả năng định vị cơ thể, kiểm soát lực tay và tri giác không gian).
• 5. Thực hành vận động & Ý tưởng hóa (Praxis: Ideation & Motor Planning - PLA): Đạt ${tScores.pla}T (${cPLA.text}) — ${tScores.pla >= 60 ? '⚠️ Khi PLA ≥ 60T đi kèm với sự suy giảm ở Xúc giác (TOU = ' + tScores.tou + 'T), Bản thể (BOD = ' + tScores.bod + 'T) hoặc Tiền đình (BAL = ' + tScores.bal + 'T), đây là bằng chứng lâm sàng điển hình của hội chứng Mất thực hành vận động do giác quan (Somatodyspraxia / Vestibular-Bilateral Integration Deficit) theo Jean Ayres.' : 'Khả năng lên ý tưởng và lập kế hoạch vận động nằm trong giới hạn bình thường.'} `; resultBox.style.borderLeftColor = cOverall.color; resultBox.innerHTML = ` Tổng hợp Kết luận Lâm sàng & Khuyến nghị Can thiệp Hoạt động Trị liệu (OT) theo SPM-2:
• Hồ sơ Tổng quát (${formConfigs[currentForm].tabTitle}): Tổng điểm Giác quan ST = ${tScores.st}T (${cST.text}) • Lập kế hoạch vận động & Ý tưởng PLA = ${tScores.pla}T (${cPLA.text}) • Tham gia Xã hội SOC = ${tScores.soc}T (${cSOC.text}).
• Định hướng Can thiệp Hoạt động Trị liệu Tích hợp Giác quan (Ayres Sensory Integration - OT/ASI):
1. Nếu PLA (${tScores.pla}T), BOD (${tScores.bod}T) và BAL (${tScores.bal}T) cao (≥ 60T): Cần can thiệp trong phòng Sensory Gym có thiết bị treo (xích đu trị liệu, ván trượt scooter, vượt chướng ngại vật đa bước) để trẻ tự lên ý tưởng (Ideation), tự lập kế hoạch cơ thể vượt qua thử thách thích ứng (Adaptive Response).
2. Nếu HEA (${tScores.hea}T), TOU (${tScores.tou}T) và T&S (${tScores.ts}T) cao (≥ 60T): Áp dụng kỹ thuật điều hòa cảm thụ bản thể lực sâu (Deep Pressure / Heavy Work) và giảm tải kích thích môi trường lớp học/gia đình. `; updateFloatingFabVisibility(); } function applyPreset(type) { ratings = {}; const setTargetPts = function(q, targetPts) { // targetPts: 1, 2, 3, 4 const sCfg = scaleConfigs[q.sc]; if (!sCfg.rev) { ratings[q.id] = targetPts; } else { ratings[q.id] = 5 - targetPts; } }; if (type === 'reset') { rawQuestions.forEach(q => { setTargetPts(q, 1); }); renderQuestions(); updateSummary(); return; } if (type === 'typical') { // Điển hình (40T - 59T) rawQuestions.forEach((q, idx) => { setTargetPts(q, (idx % 4 === 0) ? 2 : 1); }); } else if (type === 'dyspraxia') { // Mất thực hành vận động do giác quan (Somatodyspraxia): Tăng cao BOD, BAL & PLA (>= 70T) rawQuestions.forEach((q, idx) => { if (q.sc === 'pla' || q.sc === 'bod' || q.sc === 'bal') { setTargetPts(q, (idx % 2 === 0) ? 3 : 3); } else if (q.sc === 'tou' || q.sc === 'soc') { setTargetPts(q, 2); } else { setTargetPts(q, 1); } }); } else if (type === 'modulation') { // Quá tải / Phòng vệ giác quan: Tăng cao HEA, TOU, T&S (>= 70T) rawQuestions.forEach((q, idx) => { if (q.sc === 'hea' || q.sc === 'tou' || q.sc === 'ts') { setTargetPts(q, (idx % 2 === 0) ? 3 : 3); } else { setTargetPts(q, (idx % 3 === 0) ? 2 : 1); } }); } else if (type === 'asd_full') { // Hồ sơ Tự kỷ điển hình: Tăng cao cả ST, PLA và SOC rawQuestions.forEach((q, idx) => { setTargetPts(q, (idx % 3 === 0) ? 3 : 2); }); } renderQuestions(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); smWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { smWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 980px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } shadow.querySelectorAll('#formGrid .form-btn').forEach(function(btn) { btn.onclick = function() { currentForm = this.getAttribute('data-form'); shadow.querySelectorAll('#formGrid .form-btn').forEach(b => b.classList.remove('active')); this.classList.add('active'); renderHeader(); renderQuestions(); updateSummary(); }; }); shadow.querySelectorAll('.sm-pbtn').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-preset')); }; }); shadow.querySelectorAll('#scaleTabs .sm-stab').forEach(function(tab) { tab.onclick = function() { filterScale = this.getAttribute('data-sc'); shadow.querySelectorAll('#scaleTabs .sm-stab').forEach(t => t.classList.remove('active')); this.classList.add('active'); renderQuestions(); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); renderHeader(); applyPreset('dyspraxia'); })();
Bên cạnh Sensory Profile 2, SPM-2 là công cụ đánh giá rối loạn xử lý giác quan rất mạnh vì có phiên bản đánh giá trẻ ở cả môi trường gia đình và môi trường trường học.
SPM-2 (Sensory Processing Measure, Second Edition — Thang đo Xử lý Giác quan, Phiên bản 2) là một trong hai công cụ đánh giá chuẩn hóa đỉnh cao nhất của chuyên ngành Hoạt động Trị liệu (Occupational Therapy – OT) trên thế giới hiện nay (song hành cùng Sensory Profile 2), do các chuyên gia Heather Miller Kuhaneck, Diana A. Henry, Tara J. Glennon, L. Diane Parham vàChristian Ecker phát triển (xuất bản năm 2021 bởi WPS).
Nếu như Sensory Profile 2 (Winnie Dunn) tập trung phân loại trẻ theo 4 Góc phần tư ngưỡng thần kinh, thì SPM-2 được xây dựng trực tiếp trên Lý thuyết Hòa nhập Giác quan Kinh điển của Tiến sĩ A. Jean Ayres (Ayres Sensory Integration® – ASI). Đây là công cụ DUY NHẤT đo lường trực tiếp cả Khả năng Lập kế hoạch Vận động / Ý tưởng hóa (Praxis: Ideation & Motor Planning) và sự tham gia xã hội xuyên suốt từ 4 tháng tuổi đến 87 tuổi trên nhiều môi trường sống khác nhau.
1. Điểm đột phá làm nên tầm quan trọng của SPM-2 (2021)
-
Đánh giá trực tiếp “Praxis” (Lập kế hoạch vận động & Ý tưởng hóa): Rất nhiều trẻ Tự kỷ (ASD), ADHD hoặc Rối loạn phối hợp vận động (DCD) có cơ bắp hoàn toàn khỏe mạnh nhưng lại cực kỳ vụng về, không biết cách bắt chước động tác mới, không biết tự nghĩ ra cách chơi đồ chơi mới (thiếu Ideation), hoặc lóng ngóng khi mặc quần áo/dùng kéo/đá bóng (suy giảm Motor Planning). SPM-2 có hẳn thang đo riêng cho Lập kế hoạch và Ý tưởng (Planning and Ideas – PLA) để bắt mạch chính xác tình trạng Mất thực hành vận động do giác quan (Somatodyspraxia) này.
-
Đo lường đầy đủ 8 Lĩnh vực Cốt lõi (8 Core Scales) & Tổng điểm Giác quan (ST):
-
6 Hệ Giác quan cấu thành Tổng điểm Giác quan (Sensory Total – ST):
-
Thị giác (Vision –
VIS) -
Thính giác (Hearing –
HEA) -
Xúc giác (Touch –
TOU) -
Vị giác & Khứu giác (Taste and Smell –
T&S— điểm mới tách riêng rõ ràng ở bản SPM-2) -
Nhận thức Cơ thể / Cảm thụ Bản thể (Body Awareness / Proprioception –
BOD) -
Thăng bằng & Chuyển động / Tiền đình (Balance and Motion / Vestibular –
BAL)
-
-
2 Lĩnh vực Chức năng Bậc cao (Đứng độc lập không cộng vào ST): 7. Lập kế hoạch & Ý tưởng(Planning and Ideas / Praxis –
PLA) 8. Tham gia Xã hội (Social Participation –SOC)
-
-
So sánh Đa môi trường (Gia đình vs. Trường học): Nhiều trẻ ở nhà thì rất bình thường nhưng cứ đến lớp học đông đúc, đèn sáng, nhiều tiếng ồn là bùng nổ hành vi hoặc thu mình. SPM-2 cho phép đối chiếu trực tiếp điểm T-Score giữa Bản Gia đình (Home Form) và Bản Lớp học (Classroom Form) để xác định sự khác biệt môi trường (Environmental Difference).
2. Hệ thống 5 Cấp độ Tuổi & Bảng Quy đổi Điểm Chuẩn T-Score của SPM-2
-
5 Nhóm Độ tuổi & Phiên bản của SPM-2 (Mỗi mẫu chính gồm 80 câu hỏi, chấm thang 4 mức từ 1 đến 4 điểm):
-
Infant / Toddler (Nhũ nhi & Trẻ nhỏ • 4 – 30 tháng): Dành cho cha mẹ/người chăm sóc đánh giá sớm.
-
Preschool (Mầm non • 2 – 5 tuổi): Bản Gia đình (Home) & Bản Trường mầm non (School).
-
Child (Trẻ em • 5 – 12 tuổi): Bản Gia đình (Home) & Bản Lớp học tiểu học (Main Classroom).
-
Adolescent (Vị thành niên • 12 – 21 tuổi): Bản Gia đình, Bản Trường học & Bản Tự đánh giá (Self-Report).
-
Adult (Người trưởng thành • 21 – 87 tuổi): Bản Tự đánh giá (Self-Report) & Bản Người thân đánh giá (Rater).
-
-
Quy tắc chấm điểm (Thang tần suất 1 – 4 điểm):
-
Đối với 7 thang (
VIS, HEA, TOU, T&S, BOD, BAL, PLA— mô tả hành vi rối loạn):1 - Không bao giờ(1đ) •2 - Thỉnh thoảng(2đ) •3 - Thường xuyên(3đ) •4 - Luôn luôn(4đ). -
Riêng đối với thang
SOC(Tham gia Xã hội — mô tả kỹ năng xã hội tích cực): Chấm ĐẢO NGƯỢC (4 - Luôn luôn= 1đ •3 - Thường xuyên= 2đ •2 - Thỉnh thoảng= 3đ •1 - Không bao giờ= 4đ rủi ro).
-
-
Bảng Diễn giải Điểm Chuẩn T-Score của SPM-2 (Mean=50,SD=10):
[Giác quan] Sensory Profile 2: Công cụ đo lường rối loạn xử lý giác quan ở trẻ tự kỷ từ 0 tuổi đến trưởng thành
(function() { const host = document.getElementById('sp2-full-wp-host'); if (!host) return; const placeholder = document.createComment('sp2-full-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // Cấu hình 4 Góc phần tư chuẩn Winnie Dunn const quadConfigs = { seek: { code: 'seek', name: '1. Tìm kiếm cảm giác (Seeking / Seeker)', thresh: 'Ngưỡng Cao + Chủ động', color: '#f59e0b' }, avoi: { code: 'avoi', name: '2. Né tránh cảm giác (Avoiding / Avoider)', thresh: 'Ngưỡng Thấp + Chủ động', color: '#ef4444' }, sens: { code: 'sens', name: '3. Nhạy cảm giác quan (Sensitivity / Sensor)', thresh: 'Ngưỡng Thấp + Thụ động', color: '#8b5cf6' }, regi: { code: 'regi', name: '4. Đăng ký cảm giác thấp / Thờ ơ (Registration)', thresh: 'Ngưỡng Cao + Thụ động', color: '#0284c7' } }; // Cấu hình thông tin 5 Phiên bản theo độ tuổi & người đánh giá const versionConfigs = { infant: { code: 'infant', tabTitle: '👶 1. Infant (0 – 6 tháng)', tabSub: 'Nhũ nhi • Cha mẹ đánh giá', fullTitle: 'Infant Sensory Profile 2 — Dành Cho Trẻ Sơ Sinh & Nhũ Nhi (0 – 6 Tháng Tuổi)', desc: 'Đánh giá các phản ứng điều hòa giác quan sớm nhất của bé trong 6 tháng đầu đời (giấc ngủ, nhịp bú, phản ứng khi bế, tắm rửa, thay tã, âm thanh và ánh sáng) để hướng dẫn cha mẹ cách vỗ về và thiết lập môi trường chăm sóc êm dịu.', sections: [ { code: 'gen', name: '1. Điều hòa Chung & Giấc ngủ (General)', color: '#6366f1' }, { code: 'aud', name: '2. Thính giác Sơ sinh (Auditory)', color: '#2563eb' }, { code: 'vis', name: '3. Thị giác & Giao tiếp mắt (Visual)', color: '#0891b2' }, { code: 'tou', name: '4. Xúc giác: Bế ẵm, Tắm & Thay tã (Touch)', color: '#0d9488' }, { code: 'mov', name: '5. Tiền đình & Chuyển động đung đưa (Movement)', color: '#f59e0b' }, { code: 'ora', name: '6. Cảm giác Miệng & Bú mút (Oral)', color: '#dc2626' } ], items: [ // General (0-6m) { id: 1, sec: 'gen', quad: 'sens', t: 'Bé rất khó đi vào giấc ngủ hoặc cực kỳ dễ giật mình thức giấc chỉ vì một tiếng động hay thay đổi nhỏ trong phòng.' }, { id: 2, sec: 'gen', quad: 'avoi', t: 'Bé quấy khóc dữ dội và rất khó dỗ dành mỗi khi lịch sinh hoạt (giờ bú, giờ ngủ) hoặc người bế bị thay đổi.' }, { id: 3, sec: 'gen', quad: 'regi', t: 'Bé ngủ li bì quá nhiều, trông lờ đờ và rất ít khi chủ động thức dậy đòi bú.' }, { id: 4, sec: 'gen', quad: 'seek', t: 'Bé chỉ chịu nằm yên hoặc nín khóc khi được người lớn đung đưa liên tục, vỗ nhịp hoặc bật âm thanh trắng.' }, // Auditory (0-6m) { id: 5, sec: 'aud', quad: 'sens', t: 'Bé giật bắn mình, khóc thét hoặc chớp mắt liên tục khi nghe tiếng động bất ngờ (tiếng đóng cửa, tiếng ho, máy xay).' }, { id: 6, sec: 'aud', quad: 'avoi', t: 'Bé quay đầu đi hoặc khóc gắt lên khi ở nơi có nhiều người đang nói chuyện cùng lúc.' }, { id: 7, sec: 'aud', quad: 'regi', t: 'Bé không quay đầu tìm kiếm hoặc không có phản ứng gì khi bố mẹ gọi tên/trò chuyện ngay gần bên tai.' }, { id: 8, sec: 'aud', quad: 'seek', t: 'Bé tỏ ra phấn khích, đạp chân tay và tự phát ra nhiều âm thanh ê a khi nghe nhạc hoặc giọng nói vui nhộn.' }, // Visual (0-6m) { id: 9, sec: 'vis', quad: 'avoi', t: 'Bé quay mặt đi, nhắm chặt mắt hoặc quấy khóc khi nhìn thấy ánh đèn sáng hoặc khi người lớn đưa mặt lại gần nhìn trực diện.' }, { id: 10, sec: 'vis', quad: 'sens', t: 'Bé nhanh chóng bị quá tải, mỏi mệt hoặc nấc cụt/trớ sữa khi nhìn những đồ chơi treo nôi có quá nhiều màu sắc chuyển động.' }, { id: 11, sec: 'vis', quad: 'regi', t: 'Bé không nhìn theo khuôn mặt của mẹ hoặc đồ vật màu sắc di chuyển ngang qua tầm mắt.' }, { id: 12, sec: 'vis', quad: 'seek', t: 'Bé nhìn chằm chằm rất lâu vào quạt trần đang quay, bóng đèn hoặc các họa tiết tương phản mạnh.' }, // Touch (0-6m) { id: 13, sec: 'tou', quad: 'avoi', t: 'Bé ưỡn cong lưng, gồng cứng người hoặc đẩy ra khi được người lớn ôm ấp, bế áp sát vào lòng.' }, { id: 14, sec: 'tou', quad: 'sens', t: 'Bé khóc thét, cáu kỉnh mỗi khi được cởi quần áo, thay tã bỉm, lau mặt hoặc khi cho vào chậu nước tắm.' }, { id: 15, sec: 'tou', quad: 'regi', t: 'Bé không hề tỏ ra khó chịu hay khóc báo hiệu khi tã bỉm đã ướt sũng hoặc bẩn rất lâu.' }, { id: 16, sec: 'tou', quad: 'seek', t: 'Bé chỉ dễ chịu và ngủ ngon khi được quấn chũn (swaddle) thật chặt hoặc đắp chăn có độ nặng nhẹ lên ngực.' }, // Movement (0-6m) { id: 17, sec: 'mov', quad: 'sens', t: 'Bé khóc thét hoặc hốt hoảng dang hai tay (phản xạ Moro mạnh) mỗi khi được đặt nằm ngửa xuống giường hoặc nhấc bổng lên.' }, { id: 18, sec: 'mov', quad: 'avoi', t: 'Bé rất ghét tư thế nằm sấp (Tummy time) hoặc khi bị thay đổi tư thế đầu đột ngột.' }, { id: 19, sec: 'mov', quad: 'seek', t: 'Bé rất thích được bế nhún nhảy nhịp nhàng, đưa võng/nôi hoặc đẩy đi dạo bằng xe đẩy liên tục.' }, { id: 20, sec: 'mov', quad: 'regi', t: 'Cơ thể bé có vẻ mềm nhão (trương lực cơ thấp), ít đạp chân tay và chậm kiểm soát cổ hơn các bé cùng tháng tuổi.' }, // Oral (0-6m) { id: 21, sec: 'ora', quad: 'sens', t: 'Bé rất dễ bị sặc, ọe hoặc trớ sữa khi bú hoặc khi đổi từ ti mẹ sang bình sữa / núm ti giả khác chất liệu.' }, { id: 22, sec: 'ora', quad: 'regi', t: 'Bé mút sữa rất yếu, hay ngủ quên khi mới bú được vài hơi hoặc sữa chảy tràn ra hai bên khóe miệng.' }, { id: 23, sec: 'ora', quad: 'seek', t: 'Bé liên tục mút ngón tay, nắm tay hoặc mút ti giả/vạt áo rất mạnh ngay cả khi vừa mới bú no xong.' }, { id: 24, sec: 'ora', quad: 'avoi', t: 'Bé quay đầu né tránh, mím chặt môi hoặc khóc đẩy ra khi có bất kỳ vật gì (như thìa nhỏ, gạc rơ lưỡi) chạm vào môi.' } ] }, toddler: { code: 'toddler', tabTitle: '🧸 2. Toddler (7 – 35 tháng)', tabSub: 'Trẻ mới biết đi • Cha mẹ chấm', fullTitle: 'Toddler Sensory Profile 2 — Dành Cho Trẻ Mới Biết Đi (7 – 35 Tháng Tuổi)', desc: 'Đánh giá giai đoạn vàng từ 7 đến 35 tháng tuổi — thời điểm trẻ bắt đầu bò, đi, ăn thức ăn đặc và khám phá thế giới. Công cụ giúp phát hiện sớm các dấu hiệu rối loạn điều hòa giác quan thường đi kèm với chậm nói và nguy cơ tự kỷ sớm.', sections: [ { code: 'gen', name: '1. Điều hòa Sinh hoạt Chung (General)', color: '#6366f1' }, { code: 'aud', name: '2. Thính giác (Auditory)', color: '#2563eb' }, { code: 'vis', name: '3. Thị giác (Visual)', color: '#0891b2' }, { code: 'tou', name: '4. Xúc giác (Touch)', color: '#0d9488' }, { code: 'mov', name: '5. Tiền đình & Vận động (Movement)', color: '#f59e0b' }, { code: 'ora', name: '6. Cảm giác Miệng & Ăn dặm (Oral)', color: '#dc2626' }, { code: 'beh', name: '7. Hành vi & Cảm xúc Tương tác (Behavior)', color: '#7c3aed' } ], items: [ // General (7-35m) { id: 1, sec: 'gen', quad: 'sens', t: 'Bé rất khó dỗ khi quấy khóc và mất rất nhiều thời gian mới bình tĩnh lại được sau khi bị giật mình hoặc thất vọng.' }, { id: 2, sec: 'gen', quad: 'avoi', t: 'Bé bám chặt lấy mẹ, khóc thét và từ chối bước vào những nơi mới lạ hoặc có người lạ.' }, { id: 3, sec: 'gen', quad: 'regi', t: 'Bé có nhịp sinh học ngủ – thức thất thường và trông có vẻ chậm chạp, ít năng lượng hơn các bé cùng tuổi.' }, { id: 4, sec: 'gen', quad: 'seek', t: 'Bé chạy nhảy, leo trèo không ngừng nghỉ suốt cả ngày như "không biết mệt".' }, // Auditory (7-35m) { id: 5, sec: 'aud', quad: 'avoi', t: 'Bé lấy hai tay bịt chặt tai hoặc khóc chạy trốn khi nghe tiếng máy hút bụi, máy sấy tóc, máy xay sinh tố.' }, { id: 6, sec: 'aud', quad: 'regi', t: 'Bé không quay đầu lại khi bố mẹ gọi tên nhiều lần (dù bé nghe thấy ngay tiếng nhạc quảng cáo hoặc tiếng bóc bánh).' }, { id: 7, sec: 'aud', quad: 'sens', t: 'Bé giật mình hoặc dừng chơi ngay lập tức khi nghe tiếng chó sủa, tiếng còi xe hoặc tiếng động nhỏ ngoài hành lang.' }, { id: 8, sec: 'aud', quad: 'seek', t: 'Bé thích đập gõ đồ chơi liên tục để tạo tiếng vang hoặc áp sát tai vào loa phát nhạc.' }, // Visual (7-35m) { id: 9, sec: 'vis', quad: 'seek', t: 'Bé thích nằm nghiêng đầu trên sàn để nhìn bánh xe ô tô đồ chơi lăn qua lăn lại hoặc nhìn quạt quay.' }, { id: 10, sec: 'vis', quad: 'avoi', t: 'Bé tránh nhìn vào mắt người đối diện ngay cả khi đang được bế hoặc đang xin đồ ăn.' }, { id: 11, sec: 'vis', quad: 'sens', t: 'Bé nheo mắt, dụi mắt hoặc quấy khóc khi đi từ trong nhà ra ngoài trời nắng sáng.' }, { id: 12, sec: 'vis', quad: 'regi', t: 'Bé đi lại hay va vào bàn ghế hoặc không nhìn thấy món đồ chơi rơi ngay dưới chân mình.' }, // Touch (7-35m) { id: 13, sec: 'tou', quad: 'sens', t: 'Bé khóc lóc, giãy giụa dữ dội mỗi khi gội đầu, cắt tóc, cắt móng tay hoặc rửa mặt.' }, { id: 14, sec: 'tou', quad: 'avoi', t: 'Bé không chịu đi chân trần trên cỏ, cát hoặc thảm nhám và xòe tay khóc ngay nếu tay dính cháo/bẩn.' }, { id: 15, sec: 'tou', quad: 'regi', t: 'Bé bị ngã va đập mạnh hoặc kẹp tay nhưng hầu như không khóc và không tỏ ra đau đớn.' }, { id: 16, sec: 'tou', quad: 'seek', t: 'Bé thích chui rúc vào khe hẹp giữa ghế sofa, thích được bố mẹ ôm siết chặt hoặc cù léc mạnh.' }, // Movement (7-35m) { id: 17, sec: 'mov', quad: 'seek', t: 'Bé thích tự xoay tròn cơ thể nhiều vòng, nhún nhảy trên giường nệm hoặc đi nhón gót chân.' }, { id: 18, sec: 'mov', quad: 'avoi', t: 'Bé sợ hãi bám chặt vào người lớn khi được đặt lên xích đu, cầu trượt hoặc thú nhún ở sân chơi.' }, { id: 19, sec: 'mov', quad: 'sens', t: 'Bé rất sợ khi bị nhấc bổng lên cao hoặc khi bước xuống bậc thềm/cầu thang.' }, { id: 20, sec: 'mov', quad: 'regi', t: 'Bé giữ thăng bằng kém, rất hay bị vấp ngã khi chạy hoặc phải vịn vào đồ đạc để giữ tư thế.' }, // Oral (7-35m) { id: 21, sec: 'ora', quad: 'sens', t: 'Bé chỉ chịu ăn cháo xay nhuyễn hoặc vài món cố định; nếu thức ăn hơi lợn cợn hoặc đổi mùi vị là bé nôn ọe ngay.' }, { id: 22, sec: 'ora', quad: 'seek', t: 'Bé đưa bất cứ đồ vật gì cầm trên tay (đồ chơi nhựa, gỗ, quần áo, sỏi đá) vào miệng để gặm, liếm.' }, { id: 23, sec: 'ora', quad: 'avoi', t: 'Bé mím chặt miệng và chống cự quyết liệt khi bố mẹ đánh răng hoặc đút món ăn mới.' }, { id: 24, sec: 'ora', quad: 'regi', t: 'Bé ngậm thức ăn trong má rất lâu không chịu nhai nuốt hoặc thường xuyên chảy nước dãi.' }, // Behavior (7-35m) { id: 25, sec: 'beh', quad: 'avoi', t: 'Bé ăn vạ nằm lăn ra sàn khóc thét nếu đồ chơi bị lệch khỏi hàng hoặc khi đi khác đường quen thuộc.' }, { id: 26, sec: 'beh', quad: 'sens', t: 'Bé rất dễ bị kích động, cáu gắt khi ở nơi đông đúc như siêu thị, khu vui chơi hoặc đám đông.' }, { id: 27, sec: 'beh', quad: 'seek', t: 'Bé lao đi chạy nhảy tự do mà không hề quay lại nhìn bố mẹ hay nhận thức nguy hiểm.' }, { id: 28, sec: 'beh', quad: 'regi', t: 'Bé ngồi chơi thờ ơ một mình, rất khó thu hút bé tham gia vào các trò chơi ú òa hay lăn bóng qua lại.' } ] }, child: { code: 'child', tabTitle: '🧒 3. Child (3 – 14 tuổi)', tabSub: 'Bản Phụ huynh • 6 Giác quan + 3 Hành vi', fullTitle: 'Child Sensory Profile 2 — Dành Cho Trẻ Em & Thiếu Niên (3 Tuổi – 14 Tuổi 11 Tháng • Phụ Huynh Chấm)', desc: 'Phiên bản chuẩn hóa đầy đủ nhất dành cho phụ huynh đánh giá trẻ từ 3 đến gần 15 tuổi qua 6 Hệ giác quan (Thính giác, Thị giác, Xúc giác, Tiền đình, Bản thể, Miệng) và 3 Nhóm Hành vi (Ứng xử, Cảm xúc – Xã hội, Chú ý).', sections: [ { code: 'aud', name: '1. Thính giác (Auditory)', color: '#2563eb' }, { code: 'vis', name: '2. Thị giác (Visual)', color: '#0891b2' }, { code: 'tou', name: '3. Xúc giác (Touch)', color: '#0d9488' }, { code: 'mov', name: '4. Tiền đình / Chuyển động (Movement)', color: '#f59e0b' }, { code: 'bod', name: '5. Cảm thụ Bản thể / Vị trí cơ thể (Body Position)', color: '#ea580c' }, { code: 'ora', name: '6. Cảm giác Miệng (Oral Sensory)', color: '#dc2626' }, { code: 'con', name: '7. Hành vi Ứng xử (Conduct)', color: '#7c3aed' }, { code: 'soc', name: '8. Cảm xúc – Xã hội (Social Emotional)', color: '#db2777' }, { code: 'att', name: '9. Phản ứng Chú ý (Attentional)', color: '#4f46e5' } ], items: [ { id: 1, sec: 'aud', quad: 'avoi', t: 'Trẻ lấy tay bịt tai hoặc tỏ ra đau đớn trước những âm thanh sinh hoạt thông thường (máy sấy, máy hút bụi, tiếng xả nước).' }, { id: 2, sec: 'aud', quad: 'sens', t: 'Trẻ rất dễ bị phân tâm hoặc khó làm việc nếu xung quanh có tiếng ồn nền (tiếng quạt, tiếng nói chuyện bên ngoài).' }, { id: 3, sec: 'aud', quad: 'regi', t: 'Trẻ không phản ứng khi được gọi tên trong phòng dù thính lực của trẻ hoàn toàn bình thường.' }, { id: 4, sec: 'aud', quad: 'seek', t: 'Trẻ thích tự tạo ra âm thanh lạ, bật tivi thật to hoặc thích nghe đi nghe lại một số tiếng động đặc biệt.' }, { id: 5, sec: 'vis', quad: 'sens', t: 'Trẻ khó chịu trước ánh sáng chói hoặc dễ bị xao nhãng bởi phòng học treo quá nhiều tranh ảnh, người đi lại.' }, { id: 6, sec: 'vis', quad: 'seek', t: 'Trẻ thích nhìn ngắm các vật xoay tròn, ánh đèn nhấp nháy hoặc nhìn nghiêng sát mắt vào đồ vật.' }, { id: 7, sec: 'vis', quad: 'regi', t: 'Trẻ khó tìm thấy món đồ chơi/đồ dùng đang nằm lẫn trong ngăn kéo hoặc trên bàn có nhiều đồ vật.' }, { id: 8, sec: 'vis', quad: 'avoi', t: 'Trẻ tránh giao tiếp ánh mắt trực diện hoặc thích ngồi ở góc tối, yên tĩnh.' }, { id: 9, sec: 'tou', quad: 'sens', t: 'Trẻ rất khó chịu khi cắt tóc, cắt móng tay hoặc bứt rứt với mác quần áo, đường may tất, chất vải thô.' }, { id: 10, sec: 'tou', quad: 'avoi', t: 'Trẻ né tránh khi tay dính bẩn (hồ dán, đất nặn, màu vẽ) và phản ứng mạnh khi có người chạm nhẹ bất ngờ.' }, { id: 11, sec: 'tou', quad: 'seek', t: 'Trẻ liên tục sờ chạm vào mọi bề mặt đồ vật, quần áo hoặc chạm vào người khác.' }, { id: 12, sec: 'tou', quad: 'regi', t: 'Trẻ không nhận ra khi mặt/tay bị dính bẩn hoặc ít cảm thấy đau khi bị va đập, trầy xước.' }, { id: 13, sec: 'mov', quad: 'seek', t: 'Trẻ luôn chân luôn tay, tìm mọi cơ hội để chạy nhảy, xoay tròn, nhún nhảy hoặc đung đưa cơ thể.' }, { id: 14, sec: 'mov', quad: 'avoi', t: 'Trẻ sợ hãi khi bàn chân rời khỏi mặt đất (sợ xích đu, cầu trượt, thang cuốn hoặc leo cao).' }, { id: 15, sec: 'mov', quad: 'sens', t: 'Trẻ dễ bị say xe, chóng mặt hoặc khó chịu khi thay đổi tư thế đầu đột ngột.' }, { id: 16, sec: 'mov', quad: 'regi', t: 'Trẻ dễ bị vấp ngã hoặc mất thăng bằng khi đi trên bề mặt gồ ghề.' }, { id: 17, sec: 'bod', quad: 'regi', t: 'Trẻ nhanh mỏi cơ, thường xuyên nằm bò ra bàn, chống cằm hoặc dựa người vào tường khi ngồi.' }, { id: 18, sec: 'bod', quad: 'seek', t: 'Trẻ thích lao người va mạnh vào nệm/ghế sofa, thích được ôm siết chặt hoặc đi nhón gót chân.' }, { id: 19, sec: 'bod', quad: 'regi', t: 'Trẻ kiểm soát lực bàn tay kém (cầm bút ấn quá mạnh làm rách giấy hoặc đóng cửa ầm ầm).' }, { id: 20, sec: 'bod', quad: 'seek', t: 'Trẻ hay gồng cứng cơ tay/chân, vẫy tay hoặc nghiến răng để tự tạo cảm giác lên khớp.' }, { id: 21, sec: 'ora', quad: 'sens', t: 'Trẻ cực kỳ kén ăn, từ chối thức ăn có kết cấu lạ (lợn cợn, dai, nhão) và dễ bị ọe khi đánh răng/ngửi mùi lạ.' }, { id: 22, sec: 'ora', quad: 'seek', t: 'Trẻ thường xuyên đưa cổ áo, bút chì, đồ chơi hoặc ngón tay vào miệng để ngậm, cắn, nhai.' }, { id: 23, sec: 'ora', quad: 'seek', t: 'Trẻ thích các món ăn có vị thật đậm (chua, cay, mặn) hoặc đồ ăn giòn rụm.' }, { id: 24, sec: 'ora', quad: 'regi', t: 'Trẻ ngậm thức ăn lâu trong miệng hoặc không nhận ra thức ăn còn dính quanh miệng.' }, { id: 25, sec: 'con', quad: 'avoi', t: 'Trẻ rất cứng nhắc, đòi hỏi mọi việc phải diễn ra theo đúng một quy trình cố định.' }, { id: 26, sec: 'con', quad: 'sens', t: 'Trẻ bùng nổ cơn ăn vạ dữ dội khi phải chuyển đổi hoạt động hoặc khi kế hoạch thay đổi.' }, { id: 27, sec: 'con', quad: 'seek', t: 'Trẻ hành động bốc đồng, vội vã lao vào làm mà không quan sát an toàn.' }, { id: 28, sec: 'con', quad: 'regi', t: 'Trẻ cần người lớn phải nhắc nhở liên tục mới hoàn thành được việc sinh hoạt hàng ngày.' }, { id: 29, sec: 'soc', quad: 'avoi', t: 'Trẻ thích tự chơi một mình ở góc riêng hơn là tham gia nhóm bạn đông đúc, ồn ào.' }, { id: 30, sec: 'soc', quad: 'sens', t: 'Trẻ rất dễ lo âu, căng thẳng và khó tự làm dịu bản thân khi ở nơi đông người.' }, { id: 31, sec: 'soc', quad: 'avoi', t: 'Trẻ gặp khó khăn trong việc kết bạn và hiểu ngôn ngữ cơ thể của bạn cùng trang lứa.' }, { id: 32, sec: 'soc', quad: 'regi', t: 'Trẻ ít biểu lộ cảm xúc trên nét mặt hoặc chậm nhận ra cảm xúc của người khác.' }, { id: 33, sec: 'att', quad: 'sens', t: 'Trẻ nhảy từ việc này sang việc khác vì bị thu hút bởi mọi âm thanh/hình ảnh nhỏ xung quanh.' }, { id: 34, sec: 'att', quad: 'regi', t: 'Trẻ có vẻ mơ màng, nhìn vô định và bỏ lỡ các hướng dẫn của người lớn.' }, { id: 35, sec: 'att', quad: 'seek', t: 'Trẻ khó ngồi yên tập trung nếu không được cử động tay chân hoặc cầm nghịch đồ vật.' }, { id: 36, sec: 'att', quad: 'avoi', t: 'Trẻ chỉ tập trung cực kỳ sâu vào một chủ đề/đồ vật quen thuộc và ngắt kết nối với xung quanh.' } ] }, school: { code: 'school', tabTitle: '🏫 4. School Companion (3 – 14 tuổi)', tabSub: 'Bản Giáo viên • 4 Chỉ số Học đường', fullTitle: 'School Companion Sensory Profile 2 — Dành Cho Giáo Viên Đánh Giá Học Sinh Trên Lớp (3 – 14 Tuổi)', desc: 'Đánh giá cách xử lý giác quan của học sinh ảnh hưởng đến việc học tập và hòa nhập tại trường. Ngoài 4 Góc phần tư, phiên bản này cung cấp 4 Chỉ số Học đường độc quyền (School Factors 1–4): Cần hỗ trợ, Nhận thức, Dung nạp và Sẵn sàng học tập.', sections: [ { code: 'sf1', name: 'School Factor 1: Nhu cầu Hỗ trợ trên lớp (Supports)', color: '#2563eb' }, { code: 'sf2', name: 'School Factor 2: Nhận thức & Chú ý bài giảng (Awareness)', color: '#0891b2' }, { code: 'sf3', name: 'School Factor 3: Mức độ Dung nạp Môi trường lớp (Tolerance)', color: '#f59e0b' }, { code: 'sf4', name: 'School Factor 4: Sự Sẵn sàng Tham gia Học tập (Availability)', color: '#dc2626' } ], items: [ // School Factor 1: Supports (Học sinh cần giáo viên điều chỉnh/hỗ trợ nhiều để hoàn thành bài) { id: 1, sec: 'sf1', quad: 'seek', t: 'Học sinh liên tục ngọ nguậy trên ghế, đung đưa chân hoặc đứng dậy đi lại tự do trong giờ cô giáo đang giảng bài.' }, { id: 2, sec: 'sf1', quad: 'seek', t: 'Học sinh hay chạm tay vào bạn ngồi cạnh, sờ nghịch đồ dùng trên bàn hoặc phát ra tiếng động làm ồn lớp học.' }, { id: 3, sec: 'sf1', quad: 'regi', t: 'Học sinh cần giáo viên phải đến tận bàn gõ nhẹ hoặc gọi riêng tên mới bắt đầu mở sách vở làm theo cả lớp.' }, { id: 4, sec: 'sf1', quad: 'sens', t: 'Học sinh dễ bị mất kiểm soát cảm xúc khi xếp hàng chuyển tiết, giờ ra chơi hoặc khi lớp học có hoạt động ngoại khóa.' }, { id: 5, sec: 'sf1', quad: 'seek', t: 'Học sinh hay cắn đầu bút chì, gặm cổ áo hoặc cầm bút ấn quá mạnh làm gãy ngòi/rách vở.' }, { id: 6, sec: 'sf1', quad: 'regi', t: 'Học sinh làm việc chậm hơn các bạn và thường xuyên để bàn học, cặp sách lộn xộn không tìm thấy đồ dùng.' }, // School Factor 2: Awareness (Mức độ tỉnh táo & tập trung vào bài học) { id: 7, sec: 'sf2', quad: 'regi', t: 'Học sinh ngồi nhìn vô định ra cửa sổ hoặc có vẻ mơ màng, "tắt kết nối" trong lúc giáo viên giảng bài chung.' }, { id: 8, sec: 'sf2', quad: 'sens', t: 'Học sinh lập tức quay đầu nhìn ra ngoài mỗi khi có người đi ngang hành lang hoặc có tiếng sột soạt nhỏ trong lớp.' }, { id: 9, sec: 'sf2', quad: 'regi', t: 'Học sinh thường xuyên nằm dài bò ra mặt bàn hoặc chống đầu lên tay như thể rất mệt mỏi, thiếu năng lượng.' }, { id: 10, sec: 'sf2', quad: 'seek', t: 'Học sinh vội vàng làm bài tập một cách hấp tấp mà không đọc kỹ yêu cầu hoặc không nghe hết câu hỏi của giáo viên.' }, { id: 11, sec: 'sf2', quad: 'sens', t: 'Học sinh gặp khó khăn khi phải chép bài từ trên bảng xuống vở (dễ nhìn nhầm dòng hoặc bỏ sót chữ).' }, { id: 12, sec: 'sf2', quad: 'regi', t: 'Học sinh không nhận ra khi quần áo bị xộc xệch, dây giày bị tuột hoặc mặt mũi dính mực/thức ăn.' }, // School Factor 3: Tolerance (Khả năng chịu đựng các kích thích trong môi trường học đường) { id: 13, sec: 'sf3', quad: 'sens', t: 'Học sinh bịt tai hoặc tỏ ra căng thẳng khi cả lớp đồng thanh đọc to, khi nghe tiếng chuông trường hoặc ở nhà ăn tập thể.' }, { id: 14, sec: 'sf3', quad: 'avoi', t: 'Học sinh cực kỳ khó chịu hoặc đẩy bạn ra nếu các bạn đứng gần chạm vào người khi xếp hàng.' }, { id: 15, sec: 'sf3', quad: 'avoi', t: 'Học sinh phản ứng gay gắt (khóc, chống đối) khi lớp học thay đổi thời khóa biểu, đổi chỗ ngồi hoặc có giáo viên dạy thay.' }, { id: 16, sec: 'sf3', quad: 'sens', t: 'Học sinh từ chối sử dụng hồ dán, đất nặn, màu nước trong giờ Mỹ thuật vì sợ bẩn tay.' }, { id: 17, sec: 'sf3', quad: 'avoi', t: 'Học sinh rất cứng nhắc về luật chơi và dễ nổi giận với các bạn trong nhóm nếu mọi việc không làm theo đúng ý mình.' }, { id: 18, sec: 'sf3', quad: 'sens', t: 'Học sinh phàn nàn về ánh đèn huỳnh quang trong lớp, mùi thức ăn ở căng-tin hoặc mùi nhà vệ sinh trường.' }, // School Factor 4: Availability (Sự sẵn sàng tham gia tương tác học đường) { id: 19, sec: 'sf4', quad: 'avoi', t: 'Học sinh tự tách mình đứng ở góc sân trường một mình trong giờ ra chơi để tránh đám đông ồn ào.' }, { id: 20, sec: 'sf4', quad: 'avoi', t: 'Học sinh né tránh tham gia các trò chơi vận động tập thể trong giờ Thể dục hoặc các buổi biểu diễn văn nghệ.' }, { id: 21, sec: 'sf4', quad: 'regi', t: 'Học sinh thụ động ngồi im, không bao giờ chủ động giơ tay phát biểu hay nhờ giáo viên giúp đỡ khi không hiểu bài.' }, { id: 22, sec: 'sf4', quad: 'avoi', t: 'Học sinh tránh giao tiếp ánh mắt khi giáo viên hoặc bạn bè đang nói chuyện trực tiếp với mình.' }, { id: 23, sec: 'sf4', quad: 'regi', t: 'Học sinh khó bắt kịp nhịp độ trò chuyện nhanh và các trò đùa của nhóm bạn cùng lớp.' }, { id: 24, sec: 'sf4', quad: 'avoi', t: 'Khi lớp học quá ồn hoặc có bài tập mới, học sinh có xu hướng gục mặt xuống bàn hoặc xin đi vệ sinh để trốn tránh.' } ] }, adult: { code: 'adult', tabTitle: '🧑 5. Adolescent / Adult (≥ 11 tuổi)', tabSub: 'Vị thành niên & Người lớn • Tự chấm', fullTitle: 'Adolescent / Adult Sensory Profile — Dành Cho Thanh Thiếu Niên & Người Trưởng Thành (Từ 11 Tuổi Trở Lên • Tự Đánh Giá)', desc: 'Phiên bản tự đánh giá (Self-report) ở ngôi thứ nhất ("Tôi...") giúp thanh thiếu niên và người trưởng thành nhận diện ngưỡng thần kinh giác quan của bản thân trong học tập, môi trường công sở, giao thông và đời sống xã hội.', sections: [ { code: 'ora', name: '1. Vị giác & Khứu giác (Taste / Smell Processing)', color: '#dc2626' }, { code: 'mov', name: '2. Chuyển động & Tiền đình (Movement Processing)', color: '#f59e0b' }, { code: 'vis', name: '3. Thị giác (Visual Processing)', color: '#0891b2' }, { code: 'tou', name: '4. Xúc giác (Touch Processing)', color: '#0d9488' }, { code: 'act', name: '5. Mức độ Hoạt động & Năng lượng (Activity Level)', color: '#7c3aed' }, { code: 'aud', name: '6. Thính giác (Auditory Processing)', color: '#2563eb' } ], items: [ // Taste / Smell { id: 1, sec: 'ora', quad: 'avoi', t: 'Tôi tránh đi qua hoặc rời đi ngay khi đến các quầy bán nước hoa, mỹ phẩm hoặc nơi có mùi hương nồng.' }, { id: 2, sec: 'ora', quad: 'sens', t: 'Tôi chỉ ăn những món ăn quen thuộc và rất nhạy cảm với kết cấu thức ăn lạ (như đồ ăn nhầy, mỡ, hoặc lợn cợn).' }, { id: 3, sec: 'ora', quad: 'seek', t: 'Tôi thích cho thêm nhiều gia vị đậm đà (cay, chua, mặn) vào món ăn hoặc thích nhai kẹo cao su/đồ ăn giòn khi làm việc.' }, { id: 4, sec: 'ora', quad: 'regi', t: 'Tôi thường không nhận ra mùi thức ăn bị khét hoặc mùi hương trong phòng trừ khi nó cực kỳ nồng.' }, // Movement { id: 5, sec: 'mov', quad: 'sens', t: 'Tôi rất dễ bị say tàu xe, chóng mặt khi đi thang máy nhanh hoặc khi nhìn màn hình chuyển động nhanh.' }, { id: 6, sec: 'mov', quad: 'avoi', t: 'Tôi tránh các trò chơi cảm giác mạnh, tàu lượn hoặc những nơi cao, chông chênh.' }, { id: 7, sec: 'mov', quad: 'seek', t: 'Tôi thường xuyên rung đùi, xoay ghế, bấm bút hoặc đi lại quanh phòng trong lúc đang suy nghĩ hoặc nghe điện thoại.' }, { id: 8, sec: 'mov', quad: 'regi', t: 'Tôi hay bị vấp vào bậc thềm, va khuỷu tay vào cạnh bàn/khung cửa mà không biết tại sao mình có vết bầm.' }, // Visual { id: 9, sec: 'vis', quad: 'sens', t: 'Tôi cảm thấy nhức mắt, đau đầu khi làm việc dưới ánh đèn huỳnh quang sáng chói hoặc khi ra nắng mà không đeo kính râm.' }, { id: 10, sec: 'vis', quad: 'avoi', t: 'Tôi thích kéo rèm cửa, bật đèn vàng dịu nhẹ ở nhà và tránh đến các trung tâm thương mại đông đúc nhiều biển hiệu nhấp nháy.' }, { id: 11, sec: 'vis', quad: 'regi', t: 'Tôi thường bỏ lỡ biển chỉ dẫn trên đường hoặc rất khó tìm thấy món đồ đang để ngay trước mặt trên bàn làm việc.' }, { id: 12, sec: 'vis', quad: 'seek', t: 'Tôi thích những không gian nhiều màu sắc sống động, thích xem pháo hoa hoặc các hiệu ứng thị giác chuyển động.' }, // Touch { id: 13, sec: 'tou', quad: 'sens', t: 'Tôi luôn phải cắt bỏ mác quần áo và không thể chịu được các chất vải thô ráp, len châm chích hoặc cổ áo bó sát.' }, { id: 14, sec: 'tou', quad: 'avoi', t: 'Tôi cảm thấy căng thẳng, không thoải mái khi người lạ đứng quá gần mình trong thang máy/đám đông hoặc khi ai đó chạm vào vai bất ngờ.' }, { id: 15, sec: 'tou', quad: 'seek', t: 'Tôi thích đi chân trần, thích sờ tay vào các chất liệu vải mềm/lông thú hoặc thích đắp chăn nặng (weighted blanket) khi ngủ.' }, { id: 16, sec: 'tou', quad: 'regi', t: 'Tôi thường không nhận ra ngay khi mình bị đứt tay nhẹ, bị côn trùng đốt hoặc khi nước tắm quá nóng/quá lạnh.' }, // Activity Level { id: 17, sec: 'act', quad: 'avoi', t: 'Sau một ngày phải giao tiếp xã hội hoặc làm việc ở nơi đông người, tôi bị kiệt sức hoàn toàn và cần ở một mình trong phòng yên tĩnh để hồi phục.' }, { id: 18, sec: 'act', quad: 'regi', t: 'Tôi cảm thấy khó khởi động công việc vào buổi sáng và thường cần nhiều thời gian hơn người khác để bắt nhịp với lịch trình.' }, { id: 19, sec: 'act', quad: 'seek', t: 'Tôi thích lịch trình bận rộn với nhiều hoạt động liên tiếp và cảm thấy bứt rứt nếu phải ngồi yên một chỗ quá lâu.' }, { id: 20, sec: 'act', quad: 'sens', t: 'Tôi rất căng thẳng nếu kế hoạch trong ngày bị thay đổi đột ngột vào phút chót.' }, // Auditory { id: 21, sec: 'aud', quad: 'sens', t: 'Tôi rất khó tập trung đọc sách hoặc làm việc nếu có tiếng đồng hồ tích tắc, tiếng nhai thức ăn hoặc tiếng nói chuyện ở bàn bên cạnh.' }, { id: 22, sec: 'aud', quad: 'avoi', t: 'Tôi thường xuyên phải đeo tai nghe chống ồn (noise-canceling) khi làm việc hoặc khi đi ra nơi công cộng để chặn bớt tiếng ồn.' }, { id: 23, sec: 'aud', quad: 'regi', t: 'Người khác thường phải gọi tên tôi 2–3 lần hoặc nhắc lại câu hỏi vì tôi không nghe kịp câu đầu tiên khi đang tập trung việc khác.' }, { id: 24, sec: 'aud', quad: 'seek', t: 'Tôi thích vừa làm việc/học tập vừa bật nhạc nền hoặc thích những nơi có âm thanh sôi động.' } ] } }; let currentVer = 'child'; // 'infant' | 'toddler' | 'child' | 'school' | 'adult' let answersByVer = { infant: {}, toddler: {}, child: {}, school: {}, adult: {} }; let filterSec = 'all'; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .sp-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .sp-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .sp-inner { padding: 24px; max-width: 960px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .sp-wrap.is-fullscreen .sp-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .sp-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(217, 119, 6, 0.45), 0 0 0 0 rgba(217, 119, 6, 0.4); } 70% { box-shadow: 0 6px 20px rgba(217, 119, 6, 0.45), 0 0 0 10px rgba(217, 119, 6, 0); } 100% { box-shadow: 0 6px 20px rgba(217, 119, 6, 0.45), 0 0 0 0 rgba(217, 119, 6, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #b45309 0%, #d97706 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(217, 119, 6, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Bộ chuyển đổi 5 Phiên bản Độ tuổi & Môi trường */ .ver-switcher-box { background: #f1f5f9; padding: 10px; border-radius: 12px; margin-bottom: 18px; } .ver-switcher-lbl { font-size: 12px; font-weight: 800; color: #334155; text-transform: uppercase; margin-bottom: 8px; display: block; } .ver-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; } .ver-btn { padding: 9px 8px; border-radius: 9px; border: 1.5px solid transparent; background: rgba(255, 255, 255, 0.6); cursor: pointer; text-align: left; transition: all 0.18s ease; touch-action: manipulation; } .ver-btn:hover { background: #ffffff; } .ver-btn.active { background: #ffffff; border-color: #d97706; box-shadow: 0 3px 10px rgba(15, 23, 42, 0.08); } .ver-btn-title { font-size: 12.8px; font-weight: 800; color: #0f172a; display: block; line-height: 1.25; } .ver-btn.active .ver-btn-title { color: #b45309; } .ver-btn-sub { font-size: 11px; color: #64748b; margin-top: 3px; display: block; line-height: 1.25; } /* Header */ .sp-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .sp-header-text { flex: 1 1 260px; } .sp-title { font-size: 20px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .sp-desc { font-size: 13.8px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #fffbeb; color: #b45309; border: 1px solid #fde68a; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #d97706; color: #ffffff; border-color: #d97706; } /* Controls */ .sp-controls { display: flex; flex-direction: column; gap: 10px; margin-bottom: 18px; } .sp-presets { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; } .sp-preset-lbl { font-size: 12.5px; font-weight: 700; color: #475569; margin-right: 4px; } .sp-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; touch-action: manipulation; } .sp-pbtn:hover { background: #f1f5f9; } .sp-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } .sp-filter-tabs { display: flex; flex-wrap: wrap; gap: 6px; } .sp-ftab { padding: 6px 11px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .sp-ftab.active { background: #b45309; color: #ffffff; border-color: #b45309; } /* Sticky Dashboard: 4 Góc phần tư Dunn */ .sp-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .sp-wrap.is-fullscreen .sp-dash { top: 58px; } .sp-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .sp-score-big { font-size: 20px; font-weight: 800; line-height: 1.2; } .sp-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .sp-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .sp-pillars { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; font-size: 12px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .sp-pillar-box { background: #1e293b; padding: 8px 10px; border-radius: 8px; border-left: 3px solid #475569; } .sp-pillar-box.much-more { border-left-color: #ef4444; background: rgba(239, 68, 68, 0.15); } .sp-pillar-box.more { border-left-color: #f59e0b; background: rgba(245, 158, 11, 0.14); } .sp-pillar-box.typical { border-left-color: #10b981; } .sp-pillar-val { font-weight: 700; color: #ffffff; font-size: 13px; display: block; margin-top: 2px; } /* Danh sách câu hỏi */ .sp-q-item { border: 1px solid #e2e8f0; border-radius: 10px; padding: 14px 16px; margin-bottom: 12px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 10px; } .sp-q-item.freq-high { border-color: #fda4af; background: #fff5f5; } .sp-q-item.freq-mid { border-color: #fde68a; background: #fffbeb; } .sp-q-text { font-size: 14.5px; font-weight: 600; color: #1e293b; line-height: 1.5; } .sp-q-tags { display: flex; flex-wrap: wrap; gap: 6px; } .sp-tag { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .sp-ans-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; } .sp-abtn { padding: 8px 4px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 11.5px; font-weight: 600; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .sp-abtn:hover { border-color: #64748b; } .sp-abtn.sel-1, .sp-abtn.sel-2 { background: #10b981; border-color: #10b981; color: #ffffff; font-weight: 700; } .sp-abtn.sel-3 { background: #3b82f6; border-color: #3b82f6; color: #ffffff; font-weight: 700; } .sp-abtn.sel-4 { background: #f59e0b; border-color: #f59e0b; color: #ffffff; font-weight: 700; } .sp-abtn.sel-5 { background: #ef4444; border-color: #ef4444; color: #ffffff; font-weight: 700; } /* Biểu đồ & Thực đơn Giác quan */ .sp-chart-card { margin-top: 20px; padding: 16px 18px; border-radius: 12px; background: #ffffff; border: 1px solid #e2e8f0; } .sp-chart-title { font-size: 14.5px; font-weight: 700; color: #0f172a; margin-bottom: 12px; } .sp-bar-row { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; font-size: 12.5px; } .sp-bar-lbl { width: 265px; flex-shrink: 0; font-weight: 600; color: #334155; } .sp-bar-track { flex: 1; height: 16px; background: #f1f5f9; border-radius: 999px; overflow: hidden; } .sp-bar-val { width: 145px; text-align: right; font-weight: 700; color: #0f172a; flex-shrink: 0; } .sp-diet-box { margin-top: 16px; padding: 16px 18px; border-radius: 12px; background: #fffbeb; border: 1px solid #fde68a; border-left: 5px solid #d97706; font-size: 13.8px; color: #78350f; line-height: 1.6; } .sp-diet-title { font-size: 15px; font-weight: 800; color: #92400e; margin-bottom: 8px; } .sp-result-box { margin-top: 16px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #2563eb; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 780px) { .sp-inner { padding: 14px; } .ver-grid { grid-template-columns: 1fr 1fr; } .sp-title { font-size: 18px; } .sp-pillars { grid-template-columns: 1fr 1fr; } .sp-ans-grid { grid-template-columns: 1fr; } .sp-bar-lbl { width: 140px; font-size: 11.5px; } .sp-bar-val { width: 110px; font-size: 11px; } .sp-pbtn.reset { margin-left: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
${vCfg.fullTitle}
${vCfg.desc}
`; let tabsHtml = ``; vCfg.sections.forEach(s => { const cnt = vCfg.items.filter(it => it.sec === s.code).length; tabsHtml += ``; }); filterTabs.innerHTML = tabsHtml; filterTabs.querySelectorAll('.sp-ftab').forEach(btn => { btn.onclick = function() { filterSec = this.getAttribute('data-sec'); renderHeaderAndFilters(); renderItems(); }; }); } function renderItems() { const vCfg = versionConfigs[currentVer]; const secMap = getSecMap(vCfg); const curAns = answersByVer[currentVer]; itemList.innerHTML = ''; vCfg.items.forEach(function(it) { if (filterSec !== 'all' && it.sec !== filterSec) return; const uVal = (curAns[it.id] !== undefined) ? curAns[it.id] : 1; const sCfg = secMap[it.sec]; const qCfg = quadConfigs[it.quad]; let rowCls = 'sp-q-item'; if (uVal >= 4) rowCls += ' freq-high'; else if (uVal === 3) rowCls += ' freq-mid'; const btnsHtml = freqOptions.map(opt => { const cls = 'sp-abtn' + (uVal === opt.val ? ` sel-${opt.val}` : ''); return ``; }).join(''); const el = document.createElement('div'); el.className = rowCls; el.innerHTML = `')} `; const secAlertNames = elevatedSections.map(s => `${s.cfg.name.split('(')[0].trim()} (${s.raw}/${s.maxR}đ - ${s.clsInfo.text})`).join(', '); resultBox.style.borderLeftColor = overallStatus.color; resultBox.innerHTML = ` Tổng hợp Kết luận ${vCfg.fullTitle.split('—')[0].trim()}:
• 1. Hồ sơ 4 Góc phần tư Winnie Dunn: Tìm kiếm (${cSeek.text}) • Né tránh (${cAvoi.text}) • Nhạy cảm (${cSens.text}) • Đăng ký thấp (${cRegi.text}).
• 2. Các lĩnh vực vượt ngưỡng chuẩn (+1 SD / +2 SD): ${secAlertNames || 'Tất cả các lĩnh vực đều nằm trong vùng Giống đa số điển hình.'} `; updateFloatingFabVisibility(); } function applyPresetToCurrentVer(type) { const vCfg = versionConfigs[currentVer]; const curAns = {}; vCfg.items.forEach(it => { curAns[it.id] = 1; }); if (type !== 'reset') { if (type === 'typical') { vCfg.items.forEach((it, idx) => { curAns[it.id] = (idx % 3 === 0) ? 2 : 1; }); } else if (type === 'seeker') { vCfg.items.forEach(it => { curAns[it.id] = (it.quad === 'seek') ? 4 : 2; }); } else if (type === 'defensive') { vCfg.items.forEach(it => { curAns[it.id] = (it.quad === 'avoi' || it.quad === 'sens') ? 4 : 2; }); } else if (type === 'mixed') { vCfg.items.forEach((it, idx) => { if (it.quad === 'avoi' || it.quad === 'sens') curAns[it.id] = (idx % 2 === 0) ? 4 : 3; else if (it.quad === 'seek' || it.quad === 'regi') curAns[it.id] = 4; else curAns[it.id] = 3; }); } } answersByVer[currentVer] = curAns; renderItems(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); spWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { spWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 960px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } shadow.querySelectorAll('#verGrid .ver-btn').forEach(function(btn) { btn.onclick = function() { currentVer = this.getAttribute('data-ver'); filterSec = 'all'; shadow.querySelectorAll('#verGrid .ver-btn').forEach(b => b.classList.remove('active')); this.classList.add('active'); renderHeaderAndFilters(); renderItems(); updateSummary(); }; }); shadow.querySelectorAll('.sp-pbtn').forEach(function(btn) { btn.onclick = function() { applyPresetToCurrentVer(this.getAttribute('data-preset')); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); // Khởi tạo sẵn dữ liệu mẫu cho cả 5 phiên bản để chuyển tab xem được ngay ['infant', 'toddler', 'school', 'adult', 'child'].forEach(vKey => { currentVer = vKey; applyPresetToCurrentVer('mixed'); }); renderHeaderAndFilters(); })();
Sensory Profile 2 (Hồ sơ Giác quan 2) là công cụ đánh giá chuẩn hóa hàng đầu thế giới trong lĩnh vực Hoạt động Trị liệu (Occupational Therapy – OT) dùng để đo lường các mẫu hình xử lý giác quan của trẻ trong đời sống hàng ngày (ở nhà, ở trường và ngoài cộng đồng). Công cụ này do Giáo sư Winnie Dunn phát triển (xuất bản năm 2014 bởi Pearson),áp dụng cho trẻ từ sơ sinh đến 14 tuổi 11 tháng.
Ở trẻ có Rối loạn phổ tự kỷ (ASD) hoặc ADHD, có tới 70% – 90% trẻ gặp khó khăn về xử lý giác quan (như bịt tai trước tiếng ồn, kén ăn cực đoan, nhón gót, xoay người, hoặc tìm kiếm cảm giác mạnh). Sensory Profile 2 giúp giải mã chính xác hệ thần kinh của trẻ đang xử lý thông tin như thế nào, từ đó thiết kế “Thực đơn Giác quan” (Sensory Diet) và điều chỉnh môi trường học tập phù hợp.
I. Cơ sở lý thuyết cốt lõi: Mô hình 4 Góc phần tư của Winnie Dunn (Dunn’s Four Quadrant Model)
Điểm đặc sắc nhất của Sensory Profile 2 là sự giao thoa giữa 2 trục: Ngưỡng thần kinh (Neurological Threshold: Cao hay Thấp) và Chiến lược tự điều chỉnh hành vi (Self-Regulation: Thụ động hay Chủ động), tạo thành 4 Mẫu hình xử lý giác quan (4 Quadrants):
| Mẫu hình (Quadrant) | Ngưỡng thần kinh | Chiến lược hành vi | Biểu hiện lâm sàng điển hình ở trẻ |
| 1. Tìm kiếm cảm giác(Seeking / Seeker) | Ngưỡng Cao(Cần kích thích mạnh mới cảm nhận được) | Chủ động (Tự đi tìm thêm kích thích) | Luôn chân luôn tay, thích chạy nhảy, xoay tròn, va chạm mạnh, sờ mó mọi vật, ngửi/nhai đồ vật, thích âm thanh to hoặc nhìn vật chuyển động. |
| 2. Né tránh cảm giác (Avoiding / Avoider) | Ngưỡng Thấp(Rất nhanh bị quá tải giác quan) | Chủ động (Chủ động rút lui / kiểm soát để chặn kích thích) | Bịt tai trước tiếng ồn, ghét chỗ đông người, trốn vào góc tối/yên tĩnh, giữ thói quen cứng nhắc để tránh bất ngờ, phản kháng khi bị ép tham gia. |
| 3. Nhạy cảm giác quan(Sensitivity / Sensor) | Ngưỡng Thấp(Phát hiện cả những kích thích rất nhỏ) | Thụ động (Không tự rút lui mà chịu đựng rồi cáu gắt / xao nhãng) | Rất dễ giật mình, dễ bị phân tâm bởi tiếng động nhỏ/ánh sáng, kén chọn thức ăn có kết cấu lạ, khó chịu với mác quần áo, hay phàn nàn, cáu kỉnh. |
| 4. Đăng ký cảm giác thấp / Thờ ơ (Registration / Bystander) | Ngưỡng Cao(Độ nhạy tiếp nhận tín hiệu thấp) | Thụ động (Không chủ động tìm kiếm, bỏ lỡ tín hiệu xung quanh) | Gọi tên nhiều lần không quay lại (dù thính lực bình thường), vẻ mặt lờ đờ/mơ màng, chậm phản ứng với cơn đau hoặc vết bẩn trên mặt, nhanh mỏi cơ, dựa dẫm. |
II. Cấu trúc các Phần đánh giá & Thang điểm trong Sensory Profile 2
-
Các phiên bản theo độ tuổi: Infant (0–6 tháng), Toddler (7–35 tháng), Child (3 – 14 tuổi 11 tháng — Phiên bản phổ biến nhất gồm 86 câu), Short (Bản rút gọn 34 câu) và School Companion (Dành cho giáo viên).
-
9 Phần đánh giá (6 Hệ giác quan + 3 Lĩnh vực Hành vi liên quan):
-
6 Hệ giác quan: Thính giác (Auditory), Thị giác (Visual), Xúc giác (Touch), Tiền đình / Chuyển động (Movement), Cảm thụ bản thể / Vị trí cơ thể (Body Position), Cảm giác Miệng (Oral).
-
3 Nhóm Hành vi: Hành vi ứng xử (Conduct), Phản ứng cảm xúc – xã hội (Social Emotional), Phản ứng chú ý (Attentional).
-
-
Thang chấm tần suất 5 mức (1 đến 5 điểm):
-
5— Hầu như luôn luôn ( thời gian) -
4— Thường xuyên ( thời gian) -
3— Một nửa thời gian ( thời gian) -
2— Thỉnh thoảng ( thời gian) -
1— Hầu như không bao giờ ( thời gian)
-
-
Hệ thống phân loại theo Phân phối Chuẩn (Bell Curve Classification):
-
Ít hơn nhiều / Ít hơn những trẻ khác (Much Less / Less Than Others — dưới −1 SD).
-
Giống như đa số những trẻ khác (Just Like the Majority of Others — trong khoảng −1 SD đến +1 SD, chiếm 68% trẻ điển hình).
-
Nhiều hơn những trẻ khác (More Than Others — từ +1 SD đến +2 SD: Vùng cần theo dõi & điều chỉnh môi trường).
-
Nhiều hơn rất nhiều so với những trẻ khác (Much More Than Others — trên +2 SD: Rối loạn xử lý giác quan rõ rệt, cần can thiệp Hoạt động trị liệu – OT).
-
SD là viết tắt của Standard Deviation (tiếng Việt gọi là Độ lệch chuẩn).
Trong các thang đo tâm lý và y khoa chuẩn hóa (như Sensory Profile 2, Vineland-3, ASQ-3, SRS-2 hay bài test IQ), SDchính là “thước đo khoảng cách” cho biết điểm số của một đứa trẻ lệch đi bao xa so với mức trung bình của những đứa trẻ bình thường cùng độ tuổi.
Hình dung trực quan qua “Đường cong hình chuông” (Bell Curve)
Khi các nhà khoa học khảo sát hàng ngàn đứa trẻ phát triển bình thường và vẽ điểm số của chúng lên biểu đồ, kết quả sẽ tạo thành một Đường cong phân phối chuẩn (hình quả chuông) như sơ đồ dưới đây (trong đó ký hiệu μ ở chính giữa là Điểm trung bình, và σ chính là 1 SD):

Nhìn vào biểu đồ hình chuông trên, bạn sẽ thấy quy luật 68 – 95 cực kỳ dễ hiểu:
-
Trong khoảng từ −1 SD đến +1 SD (Phần bụng chuông ở giữa): Chiếm 68% tổng số trẻ em trong cộng đồng Đây là vùng “Bình thường / Giống đa số trẻ khác”.
-
Vượt ra ngoài mốc ±1 SD đến ±2 SD (Hai bên sườn chuông): Chỉ có khoảng 14% trẻ nằm ở sườn phải (từ +1 SD đến ) và 14% nằm ở sườn trái Bắt đầu có sự khác biệt rõ (“Nhiều hơn” hoặc “Ít hơn” đa số trẻ khác), thuộc Vùng Giáp ranh / Cần theo dõi.
-
Vượt quá mốc +2 SD hoặc thấp hơn −2 SD (Hai đuôi ngoài cùng của quả chuông): Mỗi bên đuôi chỉ chiếm khoảng 2% dân số Đây là sự chênh lệch rất lớn, trong y khoa lấy mốc từ trở đi làm ngưỡng kết luận Bất thường / Có ý nghĩa lâm sàng.
Bảng giải nghĩa SD trong Sensory Profile 2:
Trong công cụ Sensory Profile 2 bạn vừa làm ở trên, điểm càng cao nghĩa là tần suất hành vi giác quan đó xuất hiện càng nhiều:
| Ký hiệu độ lệch chuẩn | Tên phân loại trong Sensory Profile 2 | Tỷ lệ trẻ trong dân số | Ý nghĩa lâm sàng thực tế |
| Dưới | Ít hơn rất nhiều(Much Less Than Others) | ~2% | Trẻ hầu như không bao giờ có phản ứng đó (ít hơn tuyệt đối so với trẻ cùng tuổi). |
| đến | Ít hơn đa số(Less Than Others) | ~14% | Trẻ ít biểu hiện hành vi đó hơn các bạn cùng trang lứa. |
| đến | Giống đa số trẻ khác (Just Like the Majority) | ~68% | BÌNH THƯỜNG: Hệ thần kinh xử lý giác quan hài hòa giống đa số trẻ em cùng tuổi. |
| đến | Nhiều hơn đa số(More Than Others) | ~14% | CẢNH BÁO / GIÁP RANH: Trẻ nhạy cảm, né tránh hoặc tìm kiếm cảm giác nhiều hơn rõ rệt so với bạn bè. Cần điều chỉnh môi trường học tập/sinh hoạt. |
| Trên | Nhiều hơn rất nhiều (Much More Than Others) | ~2% | VƯỢT NGƯỠNG LÂM SÀNG: Rối loạn xử lý giác quan mức độ nặng (chỉ gặp ở ~2% dân số), gây cản trở sinh hoạt và cần can thiệp Hoạt động trị liệu (OT). |
Mẹo cực nhanh để bạn đọc mọi bảng điểm Tâm lý (Vineland-3, IQ, ASQ-3, SRS-2)
Nắm được khái niệm SD, bạn sẽ hiểu ngay vì sao các bảng công cụ trên website của bạn lại có những con số điểm cắt như 70, 85 hay 60:
-
Với thang đo Kỹ năng (như Vineland-3 hoặc IQ): Điểm càng thấp là càng chậm.
-
Trung bình dân số đặt là 100 điểm, và 1 SD=15 điểm.
-
Mốc −1 SD là 100−15=85 (Dưới 85 điểm là bắt đầu chậm hơn mức trung bình).
-
Mốc −2 SD là 100−30=70 (Dưới 70 điểm là suy giảm rõ rệt có ý nghĩa chẩn đoán lâm sàng!).
-
-
Với thang đo Triệu chứng (như CARS-2, SRS-2 dùng điểm T-Score): Điểm càng cao là triệu chứng càng nặng.
-
Trung bình dân số đặt là 50 điểm, và 1 SD=10 điểm.
-
Mốc +1 SD là 50+10=60 điểm (Từ 60 điểm trở lên là bắt đầu vào vùng Tự kỷ mức độ Nhẹ).
-
Mốc +2 SD là 50+20=70 điểm (Từ 70 điểm trở lên là mức độ Trung bình – Nặng).
-
[Theo dõi tiến bộ] ATEC: Bảng kiểm đánh giá hiệu quả điều trị và theo dõi tiến bộ ở trẻ tự kỷ (2 – 12 tuổi)
(function() { const host = document.getElementById('atec-wp-host'); if (!host) return; const placeholder = document.createComment('atec-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // Cấu hình 4 Phân mục chuẩn của ATEC (Tổng 77 câu = 179 điểm) const subConfigs = { s1: { code: 's1', name: 'I. Lời nói / Ngôn ngữ / Giao tiếp (14 câu)', max: 28, color: '#2563eb', rule: 'Kỹ năng tích cực: Rất đúng = 0đ | Đúng một phần = 1đ | Không đúng = 2đ' }, s2: { code: 's2', name: 'II. Kỹ năng Xã hội (20 câu)', max: 40, color: '#7c3aed', rule: 'Khiếm khuyết xã hội: Không giống = 0đ | Giống một phần = 1đ | Rất giống = 2đ' }, s3: { code: 's3', name: 'III. Nhận thức Giác quan / Tư duy (18 câu)', max: 36, color: '#0d9488', rule: 'Năng lực nhận thức: Rất giống = 0đ | Giống một phần = 1đ | Không giống = 2đ' }, s4: { code: 's4', name: 'IV. Sức khỏe / Thể chất / Hành vi (25 câu)', max: 75, color: '#dc2626', rule: 'Mức độ vấn đề: Không = 0đ | Nhẹ = 1đ | Vừa = 2đ | Nghiêm trọng = 3đ' } }; // Đầy đủ 77 câu hỏi chuẩn ATEC (Autism Research Institute - Rimland & Edelson) const questions = [ // PHẦN I: LỜI NÓI / NGÔN NGỮ / GIAO TIẾP (Câu 1 - 14 • Max 28đ • Rất đúng=0, Đúng một phần=1, Không đúng=2) { id: 1, sub: 's1', t: 'Biết tên của chính mình (quay lại hoặc phản ứng khi được gọi tên).' }, { id: 2, sub: 's1', t: 'Phản ứng dừng lại khi nghe hiệu lệnh "Không" hoặc "Dừng lại".' }, { id: 3, sub: 's1', t: 'Có thể làm theo một số mệnh lệnh đơn giản.' }, { id: 4, sub: 's1', t: 'Có thể sử dụng từng từ đơn (Ví dụ: Không, Ăn, Nước, Mẹ...).' }, { id: 5, sub: 's1', t: 'Có thể sử dụng cụm 2 từ nối tiếp nhau (Ví dụ: Không muốn, Đi về, Uống sữa...).' }, { id: 6, sub: 's1', t: 'Có thể sử dụng cụm 3 từ trở lên (Ví dụ: Con muốn uống sữa...).' }, { id: 7, sub: 's1', t: 'Biết từ 10 từ vựng trở lên.' }, { id: 8, sub: 's1', t: 'Có thể nói các câu có từ 4 từ trở lên.' }, { id: 9, sub: 's1', t: 'Giải thích được điều trẻ đang muốn bằng lời nói.' }, { id: 10, sub: 's1', t: 'Biết đặt các câu hỏi có ý nghĩa.' }, { id: 11, sub: 's1', t: 'Lời nói của trẻ có xu hướng mang tính liên quan, có ý nghĩa với tình huống hiện tại.' }, { id: 12, sub: 's1', t: 'Thường xuyên sử dụng được nhiều câu nói liên tiếp nhau.' }, { id: 13, sub: 's1', t: 'Duy trì được một cuộc trò chuyện qua lại khá tốt.' }, { id: 14, sub: 's1', t: 'Có khả năng giao tiếp bằng lời nói tương đương với trẻ bình thường cùng độ tuổi.' }, // PHẦN II: KỸ NĂNG XÃ HỘI (Câu 15 - 34 • Max 40đ • Không giống=0, Giống một phần=1, Rất giống=2) { id: 15, sub: 's2', t: 'Có vẻ như đang ở trong một "vỏ bọc" riêng — bạn không thể tiếp cận kết nối với trẻ.' }, { id: 16, sub: 's2', t: 'Phớt lờ những người khác như thể họ không tồn tại.' }, { id: 17, sub: 's2', t: 'Khi có người nói chuyện cùng, trẻ hầu như không chú ý hoặc rất ít chú ý.' }, { id: 18, sub: 's2', t: 'Không hợp tác và có tính chống đối.' }, { id: 19, sub: 's2', t: 'Không có giao tiếp bằng ánh mắt (tránh nhìn mắt).' }, { id: 20, sub: 's2', t: 'Thích được để yên chơi một mình hơn là chơi cùng người khác.' }, { id: 21, sub: 's2', t: 'Không thể hiện tình cảm ấm áp, âu yếm với người thân.' }, { id: 22, sub: 's2', t: 'Không biết chào hỏi bố mẹ khi đi học về hoặc khi gặp lại.' }, { id: 23, sub: 's2', t: 'Tránh né việc tiếp xúc, tương tác với những người khác.' }, { id: 24, sub: 's2', t: 'Không bắt chước hành động của người khác.' }, { id: 25, sub: 's2', t: 'Không thích được ôm ấp hoặc giữ trong lòng.' }, { id: 26, sub: 's2', t: 'Không biết chia sẻ đồ vật hoặc mang đồ lại khoe với người khác.' }, { id: 27, sub: 's2', t: 'Không biết vẫy tay chào tạm biệt ("Bye bye").' }, { id: 28, sub: 's2', t: 'Không nghe lời và bất tuân các chỉ dẫn.' }, { id: 29, sub: 's2', t: 'Thường xuyên nổi cơn tam bành, ăn vạ dữ dội.' }, { id: 30, sub: 's2', t: 'Không có bạn bè và không chơi với bạn cùng trang lứa.' }, { id: 31, sub: 's2', t: 'Hiếm khi mỉm cười với người khác.' }, { id: 32, sub: 's2', t: 'Vô cảm trước cảm xúc của người khác (không để ý khi người khác buồn/khóc).' }, { id: 33, sub: 's2', t: 'Thờ ơ không quan tâm đến việc người khác có quý mến hay khen mình không.' }, { id: 34, sub: 's2', t: 'Thờ ơ hoàn toàn khi bố mẹ rời đi (không có phản ứng lưu luyến).' }, // PHẦN III: NHẬN THỨC GIÁC QUAN / TƯ DUY (Câu 35 - 52 • Max 36đ • Rất giống=0, Giống một phần=1, Không giống=2) { id: 35, sub: 's3', t: 'Phản ứng tương xứng khi nghe gọi tên của mình.' }, { id: 36, sub: 's3', t: 'Đáp lại tích cực khi được người khác khen ngợi.' }, { id: 37, sub: 's3', t: 'Nhìn vào con người và các loài động vật xung quanh.' }, { id: 38, sub: 's3', t: 'Chú ý nhìn vào tranh ảnh và xem tivi có hiểu nội dung.' }, { id: 39, sub: 's3', t: 'Biết vẽ hình, tô màu hoặc làm các hoạt động mỹ thuật/thủ công.' }, { id: 40, sub: 's3', t: 'Chơi với các món đồ chơi một cách phù hợp (đúng chức năng của đồ chơi).' }, { id: 41, sub: 's3', t: 'Có biểu cảm khuôn mặt phù hợp với từng hoàn cảnh cảm xúc.' }, { id: 42, sub: 's3', t: 'Hiểu được các câu chuyện kể trên tivi hoặc phim hoạt hình.' }, { id: 43, sub: 's3', t: 'Hiểu được những lời giải thích của người lớn.' }, { id: 44, sub: 's3', t: 'Có nhận thức về môi trường và những gì đang diễn ra xung quanh.' }, { id: 45, sub: 's3', t: 'Có nhận thức về mối nguy hiểm (tránh độ cao, xe cộ, vật nóng).' }, { id: 46, sub: 's3', t: 'Thể hiện trí tưởng tượng (chơi đóng vai giả vờ).' }, { id: 47, sub: 's3', t: 'Chủ động khởi xướng các hoạt động vui chơi/học tập.' }, { id: 48, sub: 's3', t: 'Có thể tự mặc quần áo mà không cần giúp đỡ nhiều.' }, { id: 49, sub: 's3', t: 'Tò mò, thích tìm hiểu và khám phá những điều mới mẻ.' }, { id: 50, sub: 's3', t: 'Mạnh dạn thử nghiệm, khám phá môi trường xung quanh.' }, { id: 51, sub: 's3', t: 'Bắt nhịp tốt với mọi chuyện, không bị lơ đãng hay bỏ lỡ thông tin.' }, { id: 52, sub: 's3', t: 'Nhìn theo hướng mà những người khác đang nhìn hoặc chỉ tay tới.' }, // PHẦN IV: SỨC KHỎE / THỂ CHẤT / HÀNH VI (Câu 53 - 77 • Max 75đ • Không=0, Nhẹ=1, Vừa=2, Nghiêm trọng=3) { id: 53, sub: 's4', t: 'Đái dầm vào ban đêm.' }, { id: 54, sub: 's4', t: 'Đái ra quần vào ban ngày.' }, { id: 55, sub: 's4', t: 'Đại tiện (ị đùn) ra quần.' }, { id: 56, sub: 's4', t: 'Tiêu chảy thường xuyên hoặc phân lỏng.' }, { id: 57, sub: 's4', t: 'Táo bón kéo dài.' }, { id: 58, sub: 's4', t: 'Các vấn đề về giấc ngủ (khó ngủ, thức giấc giữa đêm, ngủ ít).' }, { id: 59, sub: 's4', t: 'Ăn quá nhiều hoặc cực kỳ kén ăn / ăn quá ít.' }, { id: 60, sub: 's4', t: 'Kén chọn thực phẩm cực đoan (chỉ ăn một vài món cố định).' }, { id: 61, sub: 's4', t: 'Cơn tăng động, chạy nhảy bồn chồn không ngừng (Hyperactive).' }, { id: 62, sub: 's4', t: 'Trạng thái lờ đờ, mệt mỏi, thiếu năng lượng (Lethargic).' }, { id: 63, sub: 's4', t: 'Tự đánh hoặc tự làm đau chính bản thân mình (Self-injurious).' }, { id: 64, sub: 's4', t: 'Đánh, cắn hoặc làm đau những người khác.' }, { id: 65, sub: 's4', t: 'Phá hỏng đồ đạc, xé sách vở hoặc đập phá đồ chơi.' }, { id: 66, sub: 's4', t: 'Nhạy cảm quá mức với âm thanh (hay bịt tai trước tiếng ồn).' }, { id: 67, sub: 's4', t: 'Lo âu, căng thẳng hoặc sợ hãi quá mức.' }, { id: 68, sub: 's4', t: 'Không vui vẻ, hay khóc lóc hoặc cáu gắt vô cớ.' }, { id: 69, sub: 's4', t: 'Co giật hoặc các cơn vắng ý thức (Seizures).' }, { id: 70, sub: 's4', t: 'Lời nói mang tính ám ảnh, lặp đi lặp lại một câu/từ.' }, { id: 71, sub: 's4', t: 'Các thói quen cứng nhắc (đòi hỏi mọi thứ phải y nguyên không được thay đổi).' }, { id: 72, sub: 's4', t: 'La hét hoặc kêu ré lên bất chợt.' }, { id: 73, sub: 's4', t: 'Đòi hỏi mọi thứ phải được đáp ứng ngay lập tức.' }, { id: 74, sub: 's4', t: 'Thường xuyên bị kích động, bồn chồn lo lắng.' }, { id: 75, sub: 's4', t: 'Không nhạy cảm với cơn đau (ngã đau hoặc chảy máu nhưng không khóc).' }, { id: 76, sub: 's4', t: 'Bị cuốn hút / dán mắt vào một số đồ vật hoặc chủ đề nhất định.' }, { id: 77, sub: 's4', t: 'Các cử động cơ thể lặp đi lặp lại (vẫy tay, đung đưa người, xoay tròn).' } ]; // answers[id] lưu trực tiếp ĐIỂM RỦI RO của câu đó (0, 1, 2 cho Phần I, II, III; và 0, 1, 2, 3 cho Phần IV) let answers = {}; let filterSub = 'all'; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .at-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .at-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .at-inner { padding: 24px; max-width: 960px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .at-wrap.is-fullscreen .at-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .at-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 0 rgba(37, 99, 235, 0.4); } 70% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 10px rgba(37, 99, 235, 0); } 100% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 0 rgba(37, 99, 235, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #1d4ed8 0%, #2563eb 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Header */ .at-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .at-header-text { flex: 1 1 260px; } .at-title { font-size: 21px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .at-desc { font-size: 14px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #eff6ff; color: #1d4ed8; border: 1px solid #bfdbfe; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #2563eb; color: #ffffff; border-color: #2563eb; } /* Controls */ .at-controls { display: flex; flex-direction: column; gap: 10px; margin-bottom: 18px; } .at-presets { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; } .at-preset-lbl { font-size: 12.5px; font-weight: 700; color: #475569; margin-right: 4px; } .at-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; touch-action: manipulation; } .at-pbtn:hover { background: #f1f5f9; } .at-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } .at-sub-tabs { display: flex; flex-wrap: wrap; gap: 6px; } .at-stab { padding: 6px 12px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .at-stab.active { background: #2563eb; color: #ffffff; border-color: #2563eb; } /* Sticky Dashboard */ .at-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .at-wrap.is-fullscreen .at-dash { top: 58px; } .at-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .at-score-big { font-size: 23px; font-weight: 800; line-height: 1.15; } .at-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .at-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .at-bar-bg { height: 10px; background: #334155; border-radius: 5px; overflow: hidden; margin-bottom: 12px; } .at-bar-fill { height: 100%; width: 0%; background: #10b981; transition: width 0.35s ease, background 0.35s ease; } .at-pillars { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; font-size: 12px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .at-pillar-box { background: #1e293b; padding: 7px 10px; border-radius: 8px; } .at-pillar-val { font-weight: 700; color: #ffffff; font-size: 13.5px; display: block; margin-top: 2px; } /* Danh sách 77 câu hỏi */ .at-q-item { border: 1px solid #e2e8f0; border-radius: 10px; padding: 14px 16px; margin-bottom: 12px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 10px; } .at-q-item.risk-high { border-color: #fda4af; background: #fff5f5; } .at-q-item.risk-mid { border-color: #fde68a; background: #fffbeb; } .at-q-text { font-size: 14.5px; font-weight: 600; color: #1e293b; line-height: 1.5; } .at-q-tags { display: flex; flex-wrap: wrap; gap: 6px; } .at-tag { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .at-ans-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; } .at-ans-grid.grid-4 { grid-template-columns: repeat(4, 1fr); } .at-abtn { padding: 8px 6px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 600; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .at-abtn:hover { border-color: #64748b; } .at-abtn.sel-0 { background: #10b981; border-color: #10b981; color: #ffffff; font-weight: 700; } .at-abtn.sel-1 { background: #f59e0b; border-color: #f59e0b; color: #ffffff; font-weight: 700; } .at-abtn.sel-2, .at-abtn.sel-3 { background: #ef4444; border-color: #ef4444; color: #ffffff; font-weight: 700; } /* Biểu đồ 4 phân mục & Kết luận */ .at-chart-card { margin-top: 20px; padding: 16px 18px; border-radius: 12px; background: #ffffff; border: 1px solid #e2e8f0; } .at-chart-title { font-size: 14.5px; font-weight: 700; color: #0f172a; margin-bottom: 12px; } .at-bar-row { display: flex; align-items: center; gap: 10px; margin-bottom: 9px; font-size: 12.5px; } .at-bar-lbl { width: 255px; flex-shrink: 0; font-weight: 600; color: #334155; } .at-bar-track { flex: 1; height: 16px; background: #f1f5f9; border-radius: 999px; overflow: hidden; } .at-bar-val { width: 110px; text-align: right; font-weight: 700; color: #0f172a; flex-shrink: 0; } .at-result-box { margin-top: 16px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #2563eb; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 720px) { .at-inner { padding: 14px; } .at-title { font-size: 18px; } .at-pillars { grid-template-columns: 1fr 1fr; } .at-ans-grid, .at-ans-grid.grid-4 { grid-template-columns: 1fr; } .at-bar-lbl { width: 145px; font-size: 11.5px; } .at-bar-val { width: 90px; font-size: 11.5px; } .at-pbtn.reset { margin-left: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
Bảng Kiểm Đánh Giá Điều Trị Tự Kỷ ATEC (Đầy Đủ 77 Câu Hỏi • Thang 0 – 179 Điểm)
Công cụ chuẩn hóa của Viện Nghiên cứu Tự kỷ Hoa Kỳ (ARI — Rimland & Edelson) dùng để đo lường mức độ triệu chứng và theo dõi sự tiến bộ qua từng giai đoạn can thiệp. Quy tắc: Điểm càng thấp trẻ càng tốt (0–19: Tối thiểu • 20–39: Nhẹ • 40–69: Trung bình • 70–103: Nặng • ≥104: Rất nặng).
• Bách phân vị ARI: ${pctText}.
• Trẻ có kỹ năng ngôn ngữ giao tiếp (${scores.s1}/28), tương tác xã hội (${scores.s2}/40), nhận thức giác quan (${scores.s3}/36) và sức khỏe hành vi (${scores.s4}/75) rất tốt. Nếu trẻ trước đây từng có điểm ATEC cao và nay giảm xuống dưới 20 điểm, đây là dấu hiệu đáp ứng can thiệp cực kỳ xuất sắc. `; } else if (total <= 39) { color = '#0284c7'; badgeTxt = `MỨC ĐỘ NHẸ - MILD (${total}/179đ)`; analysis = ` Kết luận ATEC — Triệu chứng Phổ Tự Kỷ Mức Độ NHẸ (20 – 39 điểm: Đạt ${total}/179 điểm):
• Bách phân vị ARI: ${pctText}.
• Phân tích 4 trụ cột: Lời nói & Giao tiếp (${scores.s1}/28đ) • Kỹ năng Xã hội (${scores.s2}/40đ) • Nhận thức & Giác quan (${scores.s3}/36đ) • Sức khỏe & Hành vi (${scores.s4}/75đ).
• Định hướng: Trẻ có nền tảng khá tốt để học hòa nhập, cần tiếp tục củng cố các kỹ năng giao tiếp xã hội tinh tế và theo dõi lại bằng ATEC sau mỗi 2–3 tháng. `; } else if (total <= 69) { color = '#f59e0b'; badgeTxt = `MỨC ĐỘ TRUNG BÌNH - MODERATE (${total}/179đ)`; analysis = ` Kết luận ATEC — Triệu chứng Phổ Tự Kỷ Mức Độ TRUNG BÌNH (40 – 69 điểm: Đạt ${total}/179 điểm):
• Bách phân vị ARI: ${pctText}.
• Phân tích 4 trụ cột: Lời nói & Giao tiếp (${scores.s1}/28đ) • Kỹ năng Xã hội (${scores.s2}/40đ) • Nhận thức & Giác quan (${scores.s3}/36đ) • Sức khỏe & Hành vi (${scores.s4}/75đ).
• Định hướng: Hãy nhìn vào biểu đồ tỷ lệ % ở trên để xem phân mục nào đang chiếm tỷ lệ điểm cao nhất (ví dụ: nếu Phần I và III cao cần đẩy mạnh ABA/VB-MAPP và Ngôn ngữ trị liệu; nếu Phần IV cao cần giải quyết vấn đề giấc ngủ, tiêu hóa và điều hòa giác quan). `; } else { color = '#ef4444'; badgeTxt = total <= 103 ? `MỨC ĐỘ NẶNG - SEVERE (${total}/179đ)` : `MỨC ĐỘ RẤT NẶNG (${total}/179đ)`; analysis = ` Kết luận ATEC — Triệu chứng Phổ Tự Kỷ Mức Độ NẶNG / RẤT NẶNG (≥ 70 điểm: Đạt ${total}/179 điểm):
• Bách phân vị ARI: ${pctText}.
• Phân tích 4 trụ cột: Lời nói & Giao tiếp (${scores.s1}/28đ) • Kỹ năng Xã hội (${scores.s2}/40đ) • Nhận thức & Giác quan (${scores.s3}/36đ) • Sức khỏe & Hành vi (${scores.s4}/75đ).
• Định hướng: Trẻ cần chương trình can thiệp tích cực 1-kèm-1 toàn diện (kết hợp thiết lập ngôn ngữ nền tảng qua VB-MAPP/PEP-3, Hoạt động trị liệu giác quan OT và thăm khám y khoa nhi phát triển để cải thiện giấc ngủ/tiêu hóa ở Phần IV). Hãy lưu lại mốc điểm ${total} điểm này làm mốc nền (Baseline) để đánh giá lại sau 3 tháng can thiệp! `; } barFill.style.background = color; scoreBadge.textContent = badgeTxt; scoreBadge.style.background = color; scoreBadge.style.color = '#ffffff'; resultBox.style.borderLeftColor = color; resultBox.innerHTML = analysis; updateFloatingFabVisibility(); } function applyPreset(type) { answers = {}; if (type === 'reset') { renderQuestions(); updateSummary(); return; } if (type === 'recovered') { // 15 điểm (Sau can thiệp tốt) questions.forEach((q, idx) => { answers[q.id] = (idx % 5 === 0) ? 1 : 0; }); } else if (type === 'mild') { // 32 điểm (Mức độ Nhẹ) questions.forEach((q, idx) => { answers[q.id] = (idx % 3 === 0) ? 1 : ((idx % 11 === 0) ? 2 : 0); }); } else if (type === 'mod') { // 56 điểm (Mức độ Trung bình) questions.forEach((q, idx) => { if (idx % 4 === 0) answers[q.id] = 2; else if (idx % 2 === 0) answers[q.id] = 1; else answers[q.id] = 0; }); } else if (type === 'sev') { // 88 điểm (Mức độ Nặng trước can thiệp) questions.forEach((q, idx) => { if (q.sub === 's4' && idx % 5 === 0) answers[q.id] = 3; else if (idx % 2 === 0) answers[q.id] = 2; else answers[q.id] = 1; }); } renderQuestions(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); atWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { atWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 960px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } shadow.querySelectorAll('.at-pbtn').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-preset')); }; }); shadow.querySelectorAll('#subTabs .at-stab').forEach(function(tab) { tab.onclick = function() { filterSub = this.getAttribute('data-sub'); shadow.querySelectorAll('#subTabs .at-stab').forEach(t => t.classList.remove('active')); this.classList.add('active'); renderQuestions(); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); applyPreset('mod'); })();
ATEC (Autism Treatment Evaluation Checklist — Bảng Kiểm Đánh Giá Điều Trị Tự Kỷ) là công cụ định lượng hàng đầu thế giới chuyên dùng để đo lường hiệu quả trước và sau can thiệp ở trẻ có Rối loạn phổ tự kỷ (ASD). Công cụ được Tiến sĩ Bernard Rimland và Tiến sĩ Stephen M. Edelson tại Viện Nghiên cứu Tự kỷ Hoa Kỳ (Autism Research Institute – ARI) phát triển năm 1999.
Khác với các công cụ sàng lọc một lần (như M-CHAT-R/F hay CAST), mục đích cốt lõi của ATEC là giúp phụ huynh,giáo viên và nhà trị liệu theo dõi sự tiến bộ của trẻ theo từng tháng/quý (khi áp dụng phương pháp giáo dục mới, ngôn ngữ trị liệu, điều hòa giác quan hoặc chế độ dinh dưỡng/y sinh).
1. Tóm tắt cốt lõi về cấu trúc & Cách tính điểm của ATEC
-
Độ tuổi áp dụng: Phổ biến nhất cho trẻ từ 2 đến 12 tuổi (có thể mở rộng cho lứa tuổi lớn hơn đang trong quá trình can thiệp).
-
Quy tắc vàng của điểm ATEC: ĐIỂM CÀNG THẤP = TRẺ CÀNG TỐT (ÍT TRIỆU CHỨNG HƠN). Khi trẻ tiến bộ qua các tháng can thiệp, tổng điểm ATEC sẽ giảm dần về 0.
-
Cấu trúc 77 câu hỏi chia làm 4 Phân mục (Tổng điểm từ 0 đến 179 điểm):
| Phân mục (Subscale) | Số câu hỏi | Quy tắc chấm điểm & Trọng số đặc biệt | Điểm tối đa |
| I. Lời nói / Ngôn ngữ / Giao tiếp(Speech/Language/Communication) | 14 câu(Câu 1 – 14) |
Hỏi về các kỹ năng tích cực trẻ làm được:
•
•
• |
28 điểm |
| II. Kỹ năng Xã hội (Sociability) | 20 câu(Câu 15 – 34) |
Hỏi về các khiếm khuyết xã hội của trẻ:
•
•
• |
40 điểm |
| III. Nhận thức Giác quan / Tư duy(Sensory/Cognitive Awareness) | 18 câu(Câu 35 – 52) |
Hỏi về các năng lực nhận thức tích cựccủa trẻ:
•
•
• |
36 điểm |
| IV. Sức khỏe / Thể chất / Hành vi(Health/Physical/Behavior) | 25 câu(Câu 53 – 77) |
Hỏi về các vấn đề sức khỏe, tiêu hóa, giấc ngủ & hành vi:
•
•
•
• |
75 điểm |
| TỔNG CỘNG TOÀN BẢNG | 77 câu | Tổng điểm càng thấp trẻ phát triển càng tốt | 179 điểm |
2. Bảng Phân loại Mức độ Nặng theo Tổng điểm ATEC (ARI Percentile Norms)
| Khoảng Tổng điểm ATEC (0 – 179) | Bách phân vị (Percentile) | Phân loại Mức độ Triệu chứng Lâm sàng |
| 0 – 19 điểm | < 5% | Không có / Triệu chứng tối thiểu: Tương đương trẻ phát triển điển hình hoặc đã phục hồi rất tốt sau can thiệp. |
| 20 – 39 điểm | 5% – 19% | Mức độ Nhẹ (Mild): Trẻ có ngôn ngữ giao tiếp và nhận thức khá tốt, chỉ còn một số khó khăn xã hội hoặc hành vi nhẹ. |
| 40 – 69 điểm | 20% – 59% | Mức độ Trung bình (Moderate): Cần chương trình can thiệp có cấu trúc đều đặn về ngôn ngữ, xã hội và điều hòa hành vi. |
| 70 – 103 điểm | 60% – 89% | Mức độ Nặng (Severe): Suy giảm rõ rệt ở nhiều lĩnh vực, cần can thiệp cá nhân 1:1 chuyên sâu và chăm sóc y sinh/giác quan. |
| 104 – 179 điểm | Mức độ Rất nặng (Profound): Nằm trong nhóm 10% có biểu hiện nặng nhất, cần hỗ trợ toàn diện mọi mặt sinh hoạt. |
Đánh giá rối loạn đi kèm & Phân biệt
(function(){
function mountShadowDiffTable(){
var host = document.getElementById('phuchoi-diff-host');
if(!host) return;
if(host.shadowRoot) return;
if(!host.attachShadow) return;
var shadow = host.attachShadow({mode:'open'});
var css = [
':host{all:initial;display:block;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:#1e293b;line-height:1.6;width:100%;box-sizing:border-box;}',
'*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}',
'.diff-card{width:100%;background:#ffffff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 8px 24px rgba(15,23,42,0.05);overflow:hidden;}',
'.diff-intro{background:linear-gradient(135deg,#fffbeb 0%,#fef3c7 100%);padding:20px 24px;border-bottom:1px solid #fde68a;display:flex;align-items:flex-start;gap:14px;}',
'.diff-icon{font-size:26px;line-height:1;background:#ffffff;width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 10px rgba(217,119,6,0.14);flex-shrink:0;}',
'.diff-intro-text{font-size:15px;color:#0f172a;margin:0;}',
'.diff-intro-text strong{color:#b45309;font-weight:700;}',
'.diff-table{width:100%;border-collapse:collapse;border-spacing:0;}',
'.diff-table thead th{background:#f8fafc;color:#334155;font-size:12.5px;font-weight:800;text-transform:uppercase;letter-spacing:0.4px;padding:14px 20px;text-align:left;border-bottom:2px solid #e2e8f0;}',
'.diff-table tbody tr{border-bottom:1px solid #e2e8f0;transition:background 0.2s ease;}',
'.diff-table tbody tr:last-child{border-bottom:none;}',
'.diff-table tbody tr:hover{background:#f8fafc;}',
'.diff-table td{padding:20px;vertical-align:top;}',
'.step-tag{display:inline-block;font-size:11px;font-weight:700;padding:2px 9px;border-radius:999px;text-transform:uppercase;margin-bottom:6px;}',
'.tag-orange{background:#ffedd5;color:#c2410c;}',
'.tag-sky{background:#e0f2fe;color:#0369a1;}',
'.tag-rose{background:#fce7f3;color:#be185d;}',
'.group-badge{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:800;color:#0f172a;}',
'.tools-wrap{display:flex;flex-wrap:wrap;gap:8px;}',
'.tool-link{display:inline-flex;align-items:center;gap:5px;padding:7px 14px;border-radius:8px;font-size:13.5px;font-weight:700;text-decoration:none;transition:all 0.18s ease;border:1.5px solid transparent;cursor:pointer;}',
'.tool-link::after{content:"↗";font-size:11px;opacity:0.75;}',
'.btn-orange{background:#fff7ed;color:#c2410c;border-color:#fed7aa;}',
'.btn-orange:hover{background:#ea580c;color:#ffffff;border-color:#ea580c;transform:translateY(-2px);box-shadow:0 4px 10px rgba(234,88,12,0.25);}',
'.btn-sky{background:#f0f9ff;color:#0369a1;border-color:#bae6fd;}',
'.btn-sky:hover{background:#0284c7;color:#ffffff;border-color:#0284c7;transform:translateY(-2px);box-shadow:0 4px 10px rgba(2,132,199,0.25);}',
'.btn-rose{background:#fdf2f8;color:#be185d;border-color:#fbcfe8;}',
'.btn-rose:hover{background:#db2777;color:#ffffff;border-color:#db2777;transform:translateY(-2px);box-shadow:0 4px 10px rgba(219,39,119,0.25);}',
'.desc-text{font-size:14.2px;color:#334155;margin:0;}',
'.desc-text strong{color:#0f172a;font-weight:700;}',
'.desc-text em{font-style:italic;color:#0f172a;background:#f1f5f9;padding:1px 6px;border-radius:4px;}',
'@media (max-width:768px){.diff-intro{padding:16px;}.diff-table thead{display:none;}.diff-table,.diff-table tbody,.diff-table tr,.diff-table td{display:block;width:100%;}.diff-table tbody tr{padding:16px;}.diff-table td{padding:6px 0;}.tools-wrap{margin:6px 0 8px 0;}}'
].join('');
var styleEl = document.createElement('style');
styleEl.textContent = css;
shadow.appendChild(styleEl);
var rowsData = [
{
tagCls: 'tag-orange',
tagTxt: 'Nhóm 1 • Đồng mắc 50–70%',
title: '⚡ Sàng lọc & Phân biệt ADHD',
btnCls: 'btn-orange',
toolName: 'Thang đo Vanderbilt & Conners-3',
toolUrl: 'https://phuchoi.vn/kien-thuc/cong-cu/danh-gia-roi-loan-di-kem-phan-biet/vanderbilt-va-conners-3/',
parts: [
{t: 'text', v: 'Hai công cụ tiêu chuẩn để sàng lọc và đánh giá '},
{t: 'strong', v: 'Tăng động giảm chú ý (ADHD)'},
{t: 'text', v: ' – rối loạn dễ nhầm lẫn nhất và cũng hay đi kèm nhất với phổ tự kỷ (tỷ lệ đồng mắc lên tới 50-70%).'}
]
},
{
tagCls: 'tag-sky',
tagTxt: 'Nhóm 2 • Ngôn ngữ chuyên sâu',
title: '🗣️ Phân biệt Chậm nói & Tự kỷ',
btnCls: 'btn-sky',
toolName: 'PLS-5 hoặc CELF',
toolUrl: 'https://phuchoi.vn/kien-thuc/cong-cu/danh-gia-roi-loan-di-kem-phan-biet/pls-5-hoac-celf/',
parts: [
{t: 'text', v: 'Công cụ đánh giá chuyên sâu về '},
{t: 'strong', v: 'Rối loạn ngôn ngữ'},
{t: 'text', v: ' (hiểu và diễn đạt), giúp phân biệt trẻ '},
{t: 'em', v: 'Chậm nói đơn thuần'},
{t: 'text', v: ' với trẻ '},
{t: 'em', v: 'Tự kỷ'},
{t: 'text', v: '.'}
]
},
{
tagCls: 'tag-rose',
tagTxt: 'Nhóm 3 • Từ 1.5 – 18 tuổi',
title: '🧠 Sàng lọc Cảm xúc & Hành vi',
btnCls: 'btn-rose',
toolName: 'CBCL',
toolUrl: 'https://phuchoi.vn/kien-thuc/cong-cu/danh-gia-roi-loan-di-kem-phan-biet/cbcl/',
parts: [
{t: 'text', v: 'Đánh giá tổng thể các vấn đề cảm xúc và hành vi (lo âu, trầm cảm, chống đối, thu mình...) ở trẻ từ 1.5 đến 18 tuổi.'}
]
}
];
var card = document.createElement('div');
card.className = 'diff-card';
var intro = document.createElement('div');
intro.className = 'diff-intro';
var icon = document.createElement('div');
icon.className = 'diff-icon';
icon.textContent = '🔍';
var introP = document.createElement('p');
introP.className = 'diff-intro-text';
introP.appendChild(document.createTextNode('Rất nhiều trẻ tự kỷ đi kèm '));
var st1 = document.createElement('strong');
st1.textContent = 'Tăng động giảm chú ý (ADHD)';
introP.appendChild(st1);
introP.appendChild(document.createTextNode(' hoặc '));
var st2 = document.createElement('strong');
st2.textContent = 'Rối loạn ngôn ngữ';
introP.appendChild(st2);
introP.appendChild(document.createTextNode(', và ngược lại, nhiều trẻ chỉ bị ADHD hoặc Chậm nói đơn thuần bị nhầm sang Tự kỷ. Các công cụ dưới đây sẽ giúp bố mẹ và chuyên gia phân biệt và chẩn đoán chính xác hơn.'));
intro.appendChild(icon);
intro.appendChild(introP);
card.appendChild(intro);
var table = document.createElement('table');
table.className = 'diff-table';
var thead = document.createElement('thead');
var trHead = document.createElement('tr');
var headers = [
{txt: 'Mục Tiêu Phân Biệt & Đồng Mắc', w: '27%'},
{txt: 'Công Cụ Đánh Giá (Nhấn để xem)', w: '28%'},
{txt: 'Vai Trò Lâm Sàng & Ý Nghĩa Chẩn Đoán', w: '45%'}
];
headers.forEach(function(h){
var th = document.createElement('th');
th.style.width = h.w;
th.textContent = h.txt;
trHead.appendChild(th);
});
thead.appendChild(trHead);
table.appendChild(thead);
var tbody = document.createElement('tbody');
rowsData.forEach(function(r){
var tr = document.createElement('tr');
var td1 = document.createElement('td');
var tag = document.createElement('span');
tag.className = 'step-tag ' + r.tagCls;
tag.textContent = r.tagTxt;
var badge = document.createElement('div');
badge.className = 'group-badge';
badge.textContent = r.title;
td1.appendChild(tag);
td1.appendChild(badge);
var td2 = document.createElement('td');
var wrap = document.createElement('div');
wrap.className = 'tools-wrap';
var a = document.createElement('a');
a.className = 'tool-link ' + r.btnCls;
a.href = r.toolUrl;
a.target = '_blank';
a.rel = 'noopener';
a.textContent = r.toolName;
wrap.appendChild(a);
td2.appendChild(wrap);
var td3 = document.createElement('td');
var desc = document.createElement('p');
desc.className = 'desc-text';
r.parts.forEach(function(p){
if(p.t === 'strong'){
var b = document.createElement('strong');
b.textContent = p.v;
desc.appendChild(b);
} else if(p.t === 'em'){
var i = document.createElement('em');
i.textContent = p.v;
desc.appendChild(i);
} else {
desc.appendChild(document.createTextNode(p.v));
}
});
td3.appendChild(desc);
tr.appendChild(td1);
tr.appendChild(td2);
tr.appendChild(td3);
tbody.appendChild(tr);
});
table.appendChild(tbody);
card.appendChild(table);
shadow.appendChild(card);
}
if(document.readyState === 'loading'){
document.addEventListener('DOMContentLoaded', mountShadowDiffTable);
} else {
mountShadowDiffTable();
}
})();
[Tăng động - ADHD] Vanderbilt & Conners-3: Bộ thang đo sàng lọc và đánh giá rối loạn Tăng động giảm chú ý
Tăng động giảm chú ý (ADHD) – rối loạn dễ nhầm lẫn nhất và cũng hay đi kèm nhất với phổ tự kỷ (tỷ lệ đồng mắc lên tới 50-70%). Hai công cụ này sẽ giúp bạn sàng lọc rõ ADHD, tránh chẩn đoán nhầm.
(function() { const host = document.getElementById('adhd-wp-host'); if (!host) return; const placeholder = document.createComment('adhd-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // ========================================================= // PHẦN 1: DỮ LIỆU ĐẦY ĐỦ 55 MỤC THANG ĐO NICHQ VANDERBILT (47 TRIỆU CHỨNG + 8 HIỆU SUẤT) // ========================================================= const vanderbiltGroups = { ina: { code: 'ina', name: '1. Giảm chú ý (Inattention • Câu 1–9 • Ngưỡng ≥ 6/9 câu mức 2–3)', color: '#2563eb' }, hyp: { code: 'hyp', name: '2. Tăng động / Xung động (Hyperactivity/Impulsivity • Câu 10–18 • Ngưỡng ≥ 6/9)', color: '#ea580c' }, odd: { code: 'odd', name: '3. Thách thức Chống đối (Oppositional Defiant - ODD • Câu 19–26 • Ngưỡng ≥ 4/8)', color: '#d97706' }, cd: { code: 'cd', name: '4. Rối loạn Hành vi (Conduct Disorder - CD • Câu 27–40 • Ngưỡng ≥ 3/14)', color: '#dc2626' }, anx: { code: 'anx', name: '5. Lo âu & Trầm cảm (Anxiety / Depression • Câu 41–47 • Ngưỡng ≥ 3/7)', color: '#7c3aed' }, perf: { code: 'perf', name: '6. Hiệu suất Học tập & Quan hệ (Performance • Câu 48–55 • Cần ≥ 1 câu mức 4–5)', color: '#0d9488' } }; const vanderbiltItems = [ // NHÓM 1: GIẢM CHÚ Ý (INATTENTION • Câu 1 - 9 • Ngưỡng >= 6/9 câu đạt điểm 2 hoặc 3) { id: 1, grp: 'ina', t: 'Không chú ý kỹ đến các chi tiết hoặc mắc lỗi cẩu thả trong bài tập ở trường/công việc.' }, { id: 2, grp: 'ina', t: 'Gặp khó khăn trong việc duy trì sự tập trung chú ý vào những việc cần làm hoặc hoạt động chơi.' }, { id: 3, grp: 'ina', t: 'Có vẻ như không lắng nghe khi người khác nói chuyện trực tiếp với trẻ.' }, { id: 4, grp: 'ina', t: 'Không làm theo trọn vẹn các hướng dẫn và không hoàn thành bài tập/việc vặt (không phải do chống đối hay không hiểu).' }, { id: 5, grp: 'ina', t: 'Gặp khó khăn trong việc sắp xếp, tổ chức các nhiệm vụ và hoạt động hàng ngày.' }, { id: 6, grp: 'ina', t: 'Né tránh, không thích hoặc miễn cưỡng tham gia các việc đòi hỏi phải suy nghĩ tập trung lâu (như làm bài tập về nhà).' }, { id: 7, grp: 'ina', t: 'Hay làm mất những đồ dùng cần thiết cho học tập và sinh hoạt (bút, sách vở, đồ chơi, áo khoác).' }, { id: 8, grp: 'ina', t: 'Dễ bị phân tâm bởi các tiếng động hoặc sự việc bên ngoài.' }, { id: 9, grp: 'ina', t: 'Hay quên trong các hoạt động sinh hoạt hàng ngày.' }, // NHÓM 2: TĂNG ĐỘNG / XUNG ĐỘNG (HYPERACTIVITY / IMPULSIVITY • Câu 10 - 18 • Ngưỡng >= 6/9 câu đạt điểm 2 hoặc 3) { id: 10, grp: 'hyp', t: 'Hay bồn chồn ngọ nguậy tay chân hoặc vặn vẹo người trên ghế.' }, { id: 11, grp: 'hyp', t: 'Tự ý rời khỏi chỗ ngồi trong lớp học hoặc trong các tình huống cần phải ngồi yên (như tại bàn ăn).' }, { id: 12, grp: 'hyp', t: 'Chạy nhảy hoặc leo trèo quá mức trong những tình huống không phù hợp.' }, { id: 13, grp: 'hyp', t: 'Gặp khó khăn khi phải chơi hoặc tham gia các hoạt động giải trí một cách yên tĩnh, nhẹ nhàng.' }, { id: 14, grp: 'hyp', t: 'Luôn chân luôn tay ("On the go") hoặc hành động như thể được "gắn động cơ chạy liên tục".' }, { id: 15, grp: 'hyp', t: 'Nói quá nhiều.' }, { id: 16, grp: 'hyp', t: 'Buột miệng trả lời ngay khi người khác còn chưa hỏi xong câu hỏi.' }, { id: 17, grp: 'hyp', t: 'Gặp khó khăn lớn khi phải xếp hàng hoặc chờ đến lượt của mình.' }, { id: 18, grp: 'hyp', t: 'Hay ngắt lời hoặc xen ngang vào cuộc trò chuyện/trò chơi của người khác.' }, // NHÓM 3: RỐI LOẠN THÁCH THỨC CHỐNG ĐỐI (ODD • Câu 19 - 26 • Ngưỡng >= 4/8 câu đạt điểm 2 hoặc 3) { id: 19, grp: 'odd', t: 'Tranh cãi tay đôi với người lớn.' }, { id: 20, grp: 'odd', t: 'Hay mất bình tĩnh, nổi cơn cáu giận dữ dội.' }, { id: 21, grp: 'odd', t: 'Chủ động thách thức hoặc từ chối tuân theo các yêu cầu và quy tắc của người lớn.' }, { id: 22, grp: 'odd', t: 'Cố tình làm những việc gây khó chịu, chọc tức người khác.' }, { id: 23, grp: 'odd', t: 'Đổ lỗi cho người khác về những lỗi lầm hoặc hành vi sai trái của chính mình.' }, { id: 24, grp: 'odd', t: 'Rất nhạy cảm, dễ tự ái hoặc dễ bị người khác làm cho bực mình.' }, { id: 25, grp: 'odd', t: 'Hay tức giận và oán giận.' }, { id: 26, grp: 'odd', t: 'Có tính hằn học và muốn trả đũa.' }, // NHÓM 4: RỐI LOẠN HÀNH VI (CONDUCT DISORDER - CD • Câu 27 - 40 • Ngưỡng >= 3/14 câu đạt điểm 2 hoặc 3) { id: 27, grp: 'cd', t: 'Bắt nạt, đe dọa hoặc запугивать (uy hiếp) trẻ khác.' }, { id: 28, grp: 'cd', t: 'Chủ động khơi mào các cuộc đánh nhau tay chân.' }, { id: 29, grp: 'cd', t: 'Nói dối để trốn tránh trách nhiệm/hình phạt hoặc để trục lợi ("lừa gạt" người khác).' }, { id: 30, grp: 'cd', t: 'Trốn học mà không được phép.' }, { id: 31, grp: 'cd', t: 'Hung bạo về thể xác với người khác.' }, { id: 32, grp: 'cd', t: 'Lấy cắp những đồ vật có giá trị.' }, { id: 33, grp: 'cd', t: 'Cố tình phá hoại tài sản, đồ đạc của người khác.' }, { id: 34, grp: 'cd', t: 'Đã từng sử dụng vũ khí có thể gây thương tích nghiêm trọng (gậy, gạch đá, dao...).' }, { id: 35, grp: 'cd', t: 'Hung bạo, hành hạ thể xác đối với động vật.' }, { id: 36, grp: 'cd', t: 'Cố tình châm lửa đốt với ý định gây thiệt hại.' }, { id: 37, grp: 'cd', t: 'Đột nhập vào nhà, phòng hoặc xe của người khác.' }, { id: 38, grp: 'cd', t: 'Tự ý đi qua đêm ở bên ngoài mà không được phép.' }, { id: 39, grp: 'cd', t: 'Bỏ nhà đi qua đêm.' }, { id: 40, grp: 'cd', t: 'Ép buộc người khác vào hoạt động nhạy cảm không đồng thuận.' }, // NHÓM 5: LO ÂU & TRẦM CẢM (ANXIETY / DEPRESSION • Câu 41 - 47 • Ngưỡng >= 3/7 câu đạt điểm 2 hoặc 3) { id: 41, grp: 'anx', t: 'Sợ hãi, lo âu hoặc lo lắng quá mức.' }, { id: 42, grp: 'anx', t: 'Sợ thử làm những điều mới vì lo sợ sẽ mắc lỗi.' }, { id: 43, grp: 'anx', t: 'Cảm thấy bản thân vô giá trị hoặc kém cỏi hơn các bạn khác.' }, { id: 44, grp: 'anx', t: 'Tự trách bản thân về các vấn đề xảy ra, cảm thấy tội lỗi quá mức.' }, { id: 45, grp: 'anx', t: 'Cảm thấy cô đơn, không được yêu thương hoặc tủi thân ("không ai thương con").' }, { id: 46, grp: 'anx', t: 'Buồn bã, không vui hoặc trầm uất.' }, { id: 47, grp: 'anx', t: 'Ngượng ngùng, tự ti và rất dễ bối rối xấu hổ trước đám đông.' }, // NHÓM 6: ĐÁNH GIÁ HIỆU SUẤT THỰC TẾ (PERFORMANCE • Câu 48 - 55 • Chấm từ 1 đến 5 • Cần >= 1 câu đạt mức 4 hoặc 5) { id: 48, grp: 'perf', t: 'Hiệu suất học tập tổng thể ở trường (Overall school performance).' }, { id: 49, grp: 'perf', t: 'Kỹ năng Đọc (Reading).' }, { id: 50, grp: 'perf', t: 'Kỹ năng Viết (Writing).' }, { id: 51, grp: 'perf', t: 'Kỹ năng Toán học (Mathematics).' }, { id: 52, grp: 'perf', t: 'Mối quan hệ với cha mẹ / giáo viên (Relationship with parents / teachers).' }, { id: 53, grp: 'perf', t: 'Mối quan hệ với anh chị em ruột (Relationship with siblings).' }, { id: 54, grp: 'perf', t: 'Mối quan hệ với bạn bè đồng trang lứa (Relationship with peers).' }, { id: 55, grp: 'perf', t: 'Khả năng tham gia các hoạt động tập thể / đội nhóm có tổ chức (Participation in organized activities).' } ]; // ========================================================= // PHẦN 2: DỮ LIỆU THANG ĐO CONNERS-3 (6 TIỂU THANG NỘI DUNG • 30 MỤC CỐT LÕI • T-SCORE) // ========================================================= const connersScales = { in: { code: 'in', short: 'IN', name: '1. Giảm chú ý (Inattention - IN • 5 câu)', color: '#2563eb' }, hy: { code: 'hy', short: 'HY', name: '2. Tăng động / Xung động (Hyperactivity/Impulsivity - HY • 5 câu)', color: '#ea580c' }, lp: { code: 'lp', short: 'LP', name: '3. Các Vấn đề Học tập (Learning Problems - LP • 5 câu)', color: '#0284c7' }, ef: { code: 'ef', short: 'EF', name: '4. Chức năng Điều hành (Executive Functioning - EF • 5 câu)', color: '#7c3aed' }, ag: { code: 'ag', short: 'AG', name: '5. Thách thức / Gây hấn (Defiance / Aggression - AG • 5 câu)', color: '#dc2626' }, pr: { code: 'pr', short: 'PR', name: '6. Quan hệ Bạn bè (Peer Relations - PR • 5 câu)', color: '#0d9488' } }; const connersItems = [ // 1. GIẢM CHÚ Ý (INATTENTION - IN) { id: 101, sc: 'in', t: 'Thời gian tập trung chú ý rất ngắn, dễ bỏ dở giữa chừng việc đang làm.' }, { id: 102, sc: 'in', t: 'Mơ màng, lơ đãng hoặc có vẻ tâm trí đang "ở trên mây" khi nghe giảng/trò chuyện.' }, { id: 103, sc: 'in', t: 'Dễ bị thu hút, xao nhãng bởi bất kỳ âm thanh hay chuyển động nhỏ nào xung quanh.' }, { id: 104, sc: 'in', t: 'Chỉ tập trung được khi chơi điện tử/xem thứ cực kỳ yêu thích, nhưng mất chú ý ngay với bài vở thường ngày.' }, { id: 105, sc: 'in', t: 'Bỏ sót các chi tiết quan trọng và mắc nhiều lỗi bất cẩn không đáng có.' }, // 2. TĂNG ĐỘNG / XUNG ĐỘNG (HYPERACTIVITY/IMPULSIVITY - HY) { id: 106, sc: 'hy', t: 'Bồn chồn, không thể ngồi yên trên ghế mà luôn ngọ nguậy tay chân hoặc đứng lên ngồi xuống.' }, { id: 107, sc: 'hy', t: 'Hành động bốc đồng mà không kịp suy nghĩ đến hậu quả ("Làm trước nghĩ sau").' }, { id: 108, sc: 'hy', t: 'Dư thừa năng lượng, chạy nhảy hoặc leo trèo liên tục không biết mệt.' }, { id: 109, sc: 'hy', t: 'Rất mất kiên nhẫn khi phải chờ đến lượt mình trong trò chơi hoặc khi xếp hàng.' }, { id: 110, sc: 'hy', t: 'Gây ồn ào, nói liên hồi và hay chen ngang khi người khác đang bận hoặc đang nói chuyện.' }, // 3. CÁC VẤN ĐỀ HỌC TẬP (LEARNING PROBLEMS - LP) { id: 111, sc: 'lp', t: 'Gặp khó khăn trong việc đọc hiểu văn bản hoặc đánh vần/viết chính tả.' }, { id: 112, sc: 'lp', t: 'Khó nhớ các khái niệm toán học, bảng tính hoặc trình tự giải bài toán.' }, { id: 113, sc: 'lp', t: 'Cần người lớn giải thích lại nhiều lần mới hiểu được yêu cầu của bài học.' }, { id: 114, sc: 'lp', t: 'Học trước quên sau: những kiến thức hôm qua vừa thuộc hôm nay đã quên.' }, { id: 115, sc: 'lp', t: 'Chậm hoàn thành bài viết trên lớp và gặp khó khăn khi diễn đạt ý nghĩ thành câu chữ.' }, // 4. CHỨC NĂNG ĐIỀU HÀNH (EXECUTIVE FUNCTIONING - EF) { id: 116, sc: 'ef', t: 'Rất khó tự bắt đầu (khởi xướng) làm bài tập hay công việc nếu không có người ngồi cạnh đốc thúc.' }, { id: 117, sc: 'ef', t: 'Không biết cách lập kế hoạch trước hoặc không biết phải bắt đầu từ bước nào khi có nhiều việc cần làm.' }, { id: 118, sc: 'ef', t: 'Cặp sách, bàn học và phòng ngủ luôn trong tình trạng lộn xộn, thất lạc đồ đạc.' }, { id: 119, sc: 'ef', t: 'Quản lý thời gian kém: luôn lề mề, trễ giờ hoặc để nước đến chân mới nhảy.' }, { id: 120, sc: 'ef', t: 'Gặp khó khăn lớn khi phải chuyển đổi linh hoạt từ hoạt động/quy tắc này sang hoạt động khác.' }, // 5. THÁCH THỨC / GÂY HẤN (DEFIANCE / AGGRESSION - AG) { id: 121, sc: 'ag', t: 'Cãi lời, chống đối hoặc từ chối làm theo yêu cầu hợp lý của cha mẹ và giáo viên.' }, { id: 122, sc: 'ag', t: 'Dễ bùng nổ cơn giận dữ, la hét hoặc ném đồ đạc khi không vừa ý.' }, { id: 123, sc: 'ag', t: 'Cố tình trêu chọc, gây sự hoặc đổ lỗi cho người khác.' }, { id: 124, sc: 'ag', t: 'Có hành vi hung hăng lời nói (đe dọa) hoặc tay chân (đánh, đẩy) với trẻ khác.' }, { id: 125, sc: 'ag', t: 'Khó chấp nhận lời phê bình và giữ thái độ thù địch, bướng bỉnh kéo dài.' }, // 6. QUAN HỆ BẠN BÈ (PEER RELATIONS - PR) { id: 126, sc: 'pr', t: 'Gặp khó khăn lớn trong việc kết bạn hoặc giữ tình bạn lâu dài với bạn cùng trang lứa.' }, { id: 127, sc: 'pr', t: 'Hay bị các bạn cùng lớp từ chối chơi cùng, né tránh hoặc không được mời tham gia nhóm.' }, { id: 128, sc: 'pr', t: 'Không nhận ra các tín hiệu xã hội khi bạn bè đang khó chịu với hành vi quá trớn của mình.' }, { id: 129, sc: 'pr', t: 'Thường xuyên xảy ra xung đột, cãi vã hoặc muốn làm chỉ huy áp đặt bạn khi chơi chung.' }, { id: 130, sc: 'pr', t: 'Có vẻ cô lập, lạc lõng trong tập thể lớp học hoặc các hoạt động ngoại khóa.' } ]; let activeTool = 'vanderbilt'; // 'vanderbilt' | 'conners3' let filterSub = 'all'; // vanScores[id]: Câu 1..47 lưu 0..3; Câu 48..55 lưu 1..5 let vanScores = {}; // conScores[id]: Câu 101..130 lưu 0..3 let conScores = {}; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .ad-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } .ad-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .ad-inner { padding: 24px; max-width: 980px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .ad-wrap.is-fullscreen .ad-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .ad-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(234, 88, 12, 0.45), 0 0 0 0 rgba(234, 88, 12, 0.4); } 70% { box-shadow: 0 6px 20px rgba(234, 88, 12, 0.45), 0 0 0 10px rgba(234, 88, 12, 0); } 100% { box-shadow: 0 6px 20px rgba(234, 88, 12, 0.45), 0 0 0 0 rgba(234, 88, 12, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #c2410c 0%, #ea580c 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(234, 88, 12, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Bộ chuyển đổi 2 Thang đo: NICHQ Vanderbilt vs Conners-3 */ .tool-switcher { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; background: #f1f5f9; padding: 10px; border-radius: 12px; margin-bottom: 18px; } .tool-btn { padding: 12px 14px; border-radius: 9px; border: 2px solid transparent; background: rgba(255, 255, 255, 0.7); cursor: pointer; text-align: left; transition: all 0.2s ease; touch-action: manipulation; } .tool-btn:hover { background: #ffffff; } .tool-btn.active { background: #ffffff; border-color: #ea580c; box-shadow: 0 3px 10px rgba(15, 23, 42, 0.08); } .tool-btn-title { font-size: 14.5px; font-weight: 800; color: #0f172a; display: block; } .tool-btn.active .tool-btn-title { color: #c2410c; } .tool-btn-sub { font-size: 12px; color: #64748b; margin-top: 3px; display: block; } .ad-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .ad-header-text { flex: 1 1 260px; } .ad-title { font-size: 20px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .ad-desc { font-size: 13.8px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #fff7ed; color: #c2410c; border: 1px solid #fed7aa; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #ea580c; color: #ffffff; border-color: #ea580c; } .ad-controls { display: flex; flex-direction: column; gap: 10px; margin-bottom: 18px; } .ad-presets { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; } .ad-preset-lbl { font-size: 12.5px; font-weight: 700; color: #475569; margin-right: 4px; } .ad-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; touch-action: manipulation; } .ad-pbtn:hover { background: #f1f5f9; } .ad-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } .ad-sub-tabs { display: flex; flex-wrap: wrap; gap: 6px; } .ad-stab { padding: 6px 11px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .ad-stab.active { background: #ea580c; color: #ffffff; border-color: #ea580c; } /* Sticky Dashboard */ .ad-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .ad-wrap.is-fullscreen .ad-dash { top: 58px; } .ad-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .ad-score-big { font-size: 20px; font-weight: 800; line-height: 1.25; } .ad-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .ad-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .ad-pillars { display: grid; grid-template-columns: repeat(6, 1fr); gap: 6px; font-size: 11.5px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .ad-pillar-box { background: #1e293b; padding: 7px 8px; border-radius: 8px; border-left: 3px solid #475569; } .ad-pillar-box.pos { border-left-color: #ef4444; background: rgba(239, 68, 68, 0.16); } .ad-pillar-box.neg { border-left-color: #10b981; } .ad-pillar-val { font-weight: 800; color: #ffffff; font-size: 13px; display: block; margin-top: 2px; } /* Danh sách câu hỏi */ .ad-item { border: 1px solid #e2e8f0; border-radius: 10px; padding: 13px 15px; margin-bottom: 10px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 8px; } .ad-item.pos-sym { border-color: #fda4af; background: #fff5f5; } .ad-item.mid-sym { border-color: #fde68a; background: #fffbeb; } .ad-item-title { font-size: 14.5px; font-weight: 600; color: #1e293b; } .ad-tags { display: flex; flex-wrap: wrap; gap: 6px; } .ad-tag { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .ad-ans-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; } .ad-ans-grid.grid-5 { grid-template-columns: repeat(5, 1fr); } .ad-abtn { padding: 8px 6px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 11.8px; font-weight: 700; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .ad-abtn:hover { border-color: #64748b; } .ad-abtn.sel-ok { background: #10b981; border-color: #10b981; color: #ffffff; } .ad-abtn.sel-mid { background: #3b82f6; border-color: #3b82f6; color: #ffffff; } .ad-abtn.sel-warn { background: #f59e0b; border-color: #f59e0b; color: #ffffff; } .ad-abtn.sel-high { background: #ef4444; border-color: #ef4444; color: #ffffff; } /* Biểu đồ & Bảng tổng hợp */ .ad-chart-card { margin-top: 20px; padding: 16px 18px; border-radius: 12px; background: #ffffff; border: 1px solid #e2e8f0; } .ad-bar-row { display: flex; align-items: center; gap: 10px; margin-bottom: 9px; font-size: 12.5px; } .ad-bar-lbl { width: 280px; flex-shrink: 0; font-weight: 600; color: #334155; } .ad-bar-track { flex: 1; height: 16px; background: #f1f5f9; border-radius: 999px; overflow: hidden; } .ad-bar-val { width: 155px; text-align: right; font-weight: 700; color: #0f172a; flex-shrink: 0; } .ad-result-box { margin-top: 16px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #ea580c; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 780px) { .ad-inner { padding: 14px; } .tool-switcher { grid-template-columns: 1fr; } .ad-title { font-size: 18px; } .ad-pillars { grid-template-columns: 1fr 1fr; } .ad-ans-grid, .ad-ans-grid.grid-5 { grid-template-columns: 1fr 1fr; } .ad-bar-lbl { width: 145px; font-size: 11.5px; } .ad-bar-val { width: 115px; font-size: 11px; } .ad-pbtn.reset { margin-left: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
1. Thang Đánh Giá Chẩn Đoán ADHD NICHQ Vanderbilt (Đầy Đủ 55 Câu Hỏi • Chuẩn AAP)
' + '' + 'Công cụ tiêu chuẩn của Viện Hàn lâm Nhi khoa Hoa Kỳ (AAP — Mark Wolraich, 2003) gồm 47 câu triệu chứng (chấm 0–3, tính là Dương tính khi đạt mức 2 hoặc 3) và 8 câu Hiệu suất Học tập & Quan hệ (chấm 1–5, tính là Suy giảm khi có ≥ 1 câu đạt mức 4 hoặc 5).' + '
'; subTabs.innerHTML = '' + '' + '' + '' + '' + '' + ''; } else { headerInfo.innerHTML = '2. Thang Đánh Giá Hành Vi Toàn Diện Conners-3 (6 Tiểu Thang Nội Dung • Quy Đổi Điểm Chuẩn T-Score)
' + '' + 'Công cụ định lượng chuẩn hóa của Tiến sĩ C. Keith Conners (2008) cho trẻ từ 6 đến 18 tuổi. Đo lường mức độ nghiêm trọng qua Điểm chuẩn T-Score (Mean = 50, SD = 10) trên 6 lĩnh vực: Giảm chú ý (IN), Tăng động (HY), Học tập (LP), Chức năng Điều hành (EF), Gây hấn (AG) và Quan hệ Bạn bè (PR).' + '
'; subTabs.innerHTML = '' + '' + '' + '' + '' + '' + ''; } subTabs.querySelectorAll('.ad-stab').forEach(tab => { tab.onclick = function() { filterSub = this.getAttribute('data-sub'); subTabs.querySelectorAll('.ad-stab').forEach(t => t.classList.remove('active')); this.classList.add('active'); renderQuestions(); }; }); } function renderQuestions() { questionList.innerHTML = ''; const symBtns = [ { val: 0, lbl: '0 - Không bao giờ', cls: 'sel-ok' }, { val: 1, lbl: '1 - Thỉnh thoảng', cls: 'sel-mid' }, { val: 2, lbl: '2 - Thường xuyên (★ Đạt)', cls: 'sel-warn' }, { val: 3, lbl: '3 - Rất thường xuyên (★)', cls: 'sel-high' } ]; const perfBtns = [ { val: 1, lbl: '1 - Xuất sắc', cls: 'sel-ok' }, { val: 2, lbl: '2 - Trên trung bình', cls: 'sel-ok' }, { val: 3, lbl: '3 - Trung bình (Đạt)', cls: 'sel-mid' }, { val: 4, lbl: '4 - Có chút vấn đề (★)', cls: 'sel-warn' }, { val: 5, lbl: '5 - Nghiêm trọng (★)', cls: 'sel-high' } ]; if (activeTool === 'vanderbilt') { vanderbiltItems.forEach(function(it) { if (filterSub !== 'all' && it.grp !== filterSub) return; const isPerf = (it.grp === 'perf'); const defVal = isPerf ? 3 : 0; const uVal = (vanScores[it.id] !== undefined) ? vanScores[it.id] : defVal; const gCfg = vanderbiltGroups[it.grp]; let rowCls = 'ad-item'; if (!isPerf) { if (uVal >= 2) rowCls += ' pos-sym'; else if (uVal === 1) rowCls += ' mid-sym'; } else { if (uVal >= 4) rowCls += ' pos-sym'; } const btns = isPerf ? perfBtns : symBtns; const gridCls = isPerf ? 'ad-ans-grid grid-5' : 'ad-ans-grid'; const btnsHtml = btns.map(b => { const cls = 'ad-abtn' + (uVal === b.val ? ' ' + b.cls : ''); return ''; }).join(''); const el = document.createElement('div'); el.className = rowCls; el.innerHTML = '' + '' + '• 2. Tổng Điểm Nặng Nhẹ Triệu chứng ADHD (Total ADHD Symptom Score — Câu 1–18): Đạt ' + totalADHDRaw + ' / 54 điểm (Dùng làm mốc Baseline để theo dõi hiệu quả sau điều trị tâm lý/hành vi hoặc thuốc mỗi tháng).
' + '• 3. Sàng lọc Rối loạn Đồng mắc: ' + (comorbidities.length > 0 ? '⚠️ Phát hiện dấu hiệu vượt ngưỡng của: ' + comorbidities.join('; ') + '.' : '✓ Không vượt ngưỡng cắt ở các nhóm ODD, CD và Lo âu/Trầm cảm.') + '
' + '• 💡 Lưu ý chuẩn DSM-5-TR: Để xác lập chẩn đoán ADHD chính thức, các triệu chứng cần xuất hiện trước 12 tuổi và biểu hiện ở ít nhất 2 môi trường (cần đối chiếu cả Phiếu Phụ huynh và Phiếu Giáo viên).'; } else { // CONNERS-3 SUMMARY const raw = { in: 0, hy: 0, lp: 0, ef: 0, ag: 0, pr: 0 }; connersItems.forEach(function(it) { raw[it.sc] += (conScores[it.id] !== undefined) ? conScores[it.id] : 0; }); const tMap = { in: calcConnersT(raw.in, 15), hy: calcConnersT(raw.hy, 15), lp: calcConnersT(raw.lp, 15), ef: calcConnersT(raw.ef, 15), ag: calcConnersT(raw.ag, 15), pr: calcConnersT(raw.pr, 15) }; const adhdIndexT = Math.round((tMap.in + tMap.hy + tMap.ef) / 3); const cIndex = classifyConnersT(adhdIndexT); dashPillars.innerHTML = Object.keys(connersScales).map(k => { const sCfg = connersScales[k]; const cInfo = classifyConnersT(tMap[k]); return ( '
' + '• 2. Phân tích Chức năng Điều hành (EF = ' + tMap.ef + 'T) & Học tập (LP = ' + tMap.lp + 'T): ' + (tMap.ef >= 65 ? 'Trẻ gặp suy giảm rõ rệt ở khả năng tự khởi xướng công việc, tổ chức bàn học, quản lý thời gian và chuyển tiếp hoạt động. Cần hỗ trợ bằng thời gian biểu trực quan, đồng hồ đếm ngược (Visual Timer) và chia nhỏ bài tập.' : 'Chức năng điều hành và lập kế hoạch tương đối ổn định.') + '
' + '• 3. Tương tác Bạn bè (PR = ' + tMap.pr + 'T) & Kiểm soát Hành vi (AG = ' + tMap.ag + 'T): ' + (tMap.pr >= 65 ? 'Lưu ý: Ở trẻ có cả đặc điểm Tự kỷ (ASD) và ADHD, điểm PR (Quan hệ bạn bè) và EF (Chức năng điều hành) thường tăng rất cao (≥ 70T); cần kết hợp đối chiếu thêm với thang SRS-2 để can thiệp đồng thời kỹ năng xã hội và kiểm soát xung động.' : 'Quan hệ bạn bè và kiểm soát cảm xúc trong giới hạn cho phép.'); } updateFloatingFabVisibility(); } function applyPreset(type) { vanScores = {}; conScores = {}; vanderbiltItems.forEach(it => { vanScores[it.id] = (it.grp === 'perf') ? 3 : 0; }); connersItems.forEach(it => { conScores[it.id] = 0; }); if (type === 'reset' || type === 'normal') { if (type === 'normal') { vanderbiltItems.forEach((it, idx) => { if (it.grp !== 'perf') vanScores[it.id] = (idx % 4 === 0) ? 1 : 0; else vanScores[it.id] = 2; }); connersItems.forEach((it, idx) => { conScores[it.id] = (idx % 3 === 0) ? 1 : 0; }); } renderQuestions(); updateSummary(); return; } if (type === 'combined') { // ADHD Thể Hỗn hợp: 7/9 Giảm chú ý + 7/9 Tăng động + Suy giảm hiệu suất + EF/PR cao trên Conners-3 vanderbiltItems.forEach(it => { if (it.grp === 'ina') vanScores[it.id] = (it.id <= 7) ? 3 : 1; else if (it.grp === 'hyp') vanScores[it.id] = (it.id { if (it.sc === 'in' || it.sc === 'hy' || it.sc === 'ef') conScores[it.id] = 2; else if (it.sc === 'lp' || it.sc === 'pr') conScores[it.id] = 2; else conScores[it.id] = 1; }); } else if (type === 'inattentive') { // ADHD Thể Giảm chú ý đơn thuần: 8/9 Giảm chú ý, chỉ 2/9 Tăng động + EF & LP cao vanderbiltItems.forEach(it => { if (it.grp === 'ina') vanScores[it.id] = (it.id <= 8) ? 2 : 1; else if (it.grp === 'hyp') vanScores[it.id] = (it.id <= 11) ? 2 : 0; else if (it.grp === 'perf') vanScores[it.id] = (it.id { if (it.sc === 'in' || it.sc === 'ef' || it.sc === 'lp') conScores[it.id] = 2; else conScores[it.id] = 0; }); } else if (type === 'odd_comorbid') { // ADHD kèm Thách thức chống đối (ODD >= 5/8) vanderbiltItems.forEach(it => { if (it.grp === 'ina' || it.grp === 'hyp') vanScores[it.id] = 2; else if (it.grp === 'odd') vanScores[it.id] = (it.id = 52) ? 5 : 4; }); connersItems.forEach(it => { if (it.sc === 'in' || it.sc === 'hy' || it.sc === 'ag' || it.sc === 'pr') conScores[it.id] = 3; else conScores[it.id] = 2; }); } renderQuestions(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); adWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { adWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 980px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } shadow.querySelectorAll('#toolSwitcher .tool-btn').forEach(function(btn) { btn.onclick = function() { activeTool = this.getAttribute('data-tool'); shadow.querySelectorAll('#toolSwitcher .tool-btn').forEach(b => b.classList.remove('active')); this.classList.add('active'); renderHeaderAndTabs(); renderQuestions(); updateSummary(); }; }); shadow.querySelectorAll('.ad-pbtn').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-preset')); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); renderHeaderAndTabs(); applyPreset('combined'); })();
Thang đo NICHQ Vanderbilt (Vanderbilt ADHD Diagnostic Rating Scale — VADRS) và Thang đo Conners-3(Conners Comprehensive Behavior Rating Scales, 3rd Edition) là bộ đôi công cụ đánh giá Rối loạn Tăng động Giảm chú ý (ADHD) và các rối loạn hành vi đồng mắc (Bướng bỉnh chống đối – ODD, Rối loạn hành vi – CD, Lo âu/Trầm cảm, Chức năng điều hành) phổ biến nhất thế giới hiện nay.
Trong thực hành lâm sàng với trẻ Rối loạn phổ tự kỷ (ASD), nghiên cứu chỉ ra rằng có tới 40% – 70% trẻ tự kỷ đồng mắc các triệu chứng của ADHD. Do đó, việc sở hữu bộ đôi công cụ Vanderbilt và Conners-3 trên website sẽ giúp hoàn thiện mảnh ghép chẩn đoán phân biệt và chẩn đoán đồng mắc (DSM-5-TR đã chính thức cho phép chẩn đoán đồng mắc cả ASD và ADHD trên cùng một bệnh nhân).
1. So sánh lâm sàng giữa NICHQ Vanderbilt và Conners-3
[Ngôn ngữ] PLS-5 & CELF: Công cụ đánh giá chuyên sâu rối loạn ngôn ngữ và phân biệt Chậm nói đơn thuần với Tự kỷ
PLS-5 (Preschool Language Scales) hoặc CELF: Là hai công cụ đánh giá chuyên sâu về Rối loạn ngôn ngữ bao gồm cả ngôn ngữ hiểu và diễn đạt, giúp phân biệt trẻ Chậm nói đơn thuần với trẻ Tự kỷ.
(function() { const host = document.getElementById('slp-wp-host'); if (!host) return; const placeholder = document.createComment('slp-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // ========================================================= // PHẦN 1: DỮ LIỆU THANG ĐO NGÔN NGỮ MẦM NON PLS-5 (0 - 95 THÁNG / 0 - 7 TUỔI 11 THÁNG) // Chia thành 2 Thang chính: AC (Auditory Comprehension - 8 bậc) và EC (Expressive Communication - 8 bậc) // ========================================================= const pls5Items = [ // THANG 1: NGHE HIỂU THÍNH GIÁC (AUDITORY COMPREHENSION - AC • 8 BẬC TỪ 0 -> 84 THÁNG) { id: 1, scale: 'ac', refAge: 6, name: 'AC-1 (Mốc 0–9 tháng): Chú ý Thính giác & Phản ứng Tiền ngôn ngữ', desc: 'Trẻ quay đầu tìm nguồn âm thanh, nhìn chăm chú vào mặt người đang nói chuyện, hưởng ứng trò chơi Ú òa và hiểu giọng nói ngăn cản "Không!".' }, { id: 2, scale: 'ac', refAge: 14, name: 'AC-2 (Mốc 10–17 tháng): Hiểu Cử chỉ, Tên đồ vật quen thuộc & Mệnh lệnh 1 bước', desc: 'Quay lại ngay khi nghe gọi tên, nhìn theo hướng tay người lớn chỉ (Chú ý chung), chỉ đúng 3–5 bộ phận cơ thể/đồ vật quen thuộc và làm theo mệnh lệnh đơn ("Đưa bóng cho mẹ").' }, { id: 3, scale: 'ac', refAge: 22, name: 'AC-3 (Mốc 18–24 tháng): Chơi Biểu tượng, Chỉ tranh Danh từ/Động từ & Hiểu Giới từ cơ bản', desc: 'Biết chơi giả vờ với búp bê (cho ăn, ru ngủ), chỉ đúng 10–15 bức tranh danh từ và hành động (đang ăn, đang chạy, đang ngủ) trong sách tranh PLS-5, hiểu vị trí "Trong / Trên".' }, { id: 4, scale: 'ac', refAge: 32, name: 'AC-4 (Mốc 25–35 tháng): Hiểu Công dụng Đồ vật, Đại từ nhân xưng & Khái niệm Kích thước/Số lượng', desc: 'Chỉ đúng đồ vật theo công dụng ("Cái gì dùng để cắt/để uống?"), hiểu đại từ (Của con, Của cô, Anh ấy, Cô ấy), phân biệt To – Nhỏ, Một – Nhiều và làm theo mệnh lệnh 2 bước.' }, { id: 5, scale: 'ac', refAge: 44, name: 'AC-5 (Mốc 36–47 tháng / 3–4 tuổi): Hiểu Câu phủ định, Khái niệm Màu sắc, Không gian & Phân loại', desc: 'Hiểu câu phủ định ("Con nào KHÔNG biết bay?"), giới từ (Dưới, Cạnh, Trước, Sau), nhận diện 4 màu sắc, hiểu khái niệm cảm xúc và so sánh hơn.' }, { id: 6, scale: 'ac', refAge: 56, name: 'AC-6 (Mốc 48–59 tháng / 4–5 tuổi): Hiểu Câu phức, Câu bị động, Khái niệm Thời gian & Suy luận', desc: 'Hiểu các câu có mệnh đề phụ ("Trước khi..., Sau khi..."), phân biệt Sáng – Tối, Hôm qua – Ngày mai, đếm số lượng đến 5–10 và suy luận nguyên nhân tình huống.' }, { id: 7, scale: 'ac', refAge: 70, name: 'AC-7 (Mốc 60–71 tháng / 5–6 tuổi): Nghe hiểu Đoạn truyện ngắn, Nhận thức Âm vị & Khái niệm Thứ tự', desc: 'Nghe một đoạn truyện ngắn và trả lời đúng các câu hỏi chi tiết/suy luận, hiểu vị trí Đầu tiên – Ở giữa – Cuối cùng, nhận biết các từ bắt đầu cùng âm hoặc vần với nhau.' }, { id: 8, scale: 'ac', refAge: 84, name: 'AC-8 (Mốc 72–95 tháng / 6–7 tuổi): Hiểu Ngôn ngữ Học thuật, Thành ngữ/Ẩn dụ & Chỉ dẫn Phức hợp 3 bước', desc: 'Hiểu các cấu trúc câu phức tạp nhiều tầng, từ đồng nghĩa – trái nghĩa, suy luận ý định nhân vật (Thuyết tâm trí) và thực hiện chính xác chỉ dẫn đa bước.' }, // THANG 2: GIAO TIẾP DIỄN ĐẠT (EXPRESSIVE COMMUNICATION - EC • 8 BẬC TỪ 0 -> 84 THÁNG) { id: 9, scale: 'ec', refAge: 6, name: 'EC-1 (Mốc 0–9 tháng): Phát âm Tiền ngôn ngữ, Mỉm cười Xã hội & Bập bẹ Phụ âm – Nguyên âm', desc: 'Giao tiếp mắt mỉm cười, phát âm gù gù đáp trả và bập bẹ chuỗi âm tiết lặp lại ("ba-ba", "ma-ma", "đa-đa") với ít nhất 3–4 phụ âm khác nhau.' }, { id: 10, scale: 'ec', refAge: 14, name: 'EC-2 (Mốc 10–17 tháng): Giao tiếp Có chủ đích bằng Cử chỉ (Chỉ trỏ, Khoe đồ) & Nói 2–10 Từ đơn', desc: 'Chủ động chỉ ngón trỏ để yêu cầu hoặc chia sẻ sự chú ý kèm nhìn mắt, vẫy tay chào và nói chủ động từ 2 đến 10 từ đơn có nghĩa.' }, { id: 11, scale: 'ec', refAge: 22, name: 'EC-3 (Mốc 18–24 tháng): Vốn từ ≥ 50 từ, Gọi tên Tranh ảnh & Kết hợp Cụm 2–3 từ', desc: 'Gọi tên đúng các đồ vật quen thuộc trong sách PLS-5 và tự ghép 2–3 từ thành cụm từ có nghĩa ("Mẹ bế", "Uống sữa nữa", "Xe chạy kìa").' }, { id: 12, scale: 'ec', refAge: 32, name: 'EC-4 (Mốc 25–35 tháng): Nói Câu 3–4 từ, Đặt câu hỏi "Cái gì/Ở đâu?" & Dùng Đại từ/Giới từ', desc: 'Sử dụng câu có Chủ ngữ – Vị ngữ – Tân ngữ để mô tả tranh hành động, xưng "Con", dùng từ chỉ sở hữu và trả lời câu hỏi Ai / Cái gì / Đang làm gì.' }, { id: 13, scale: 'ec', refAge: 44, name: 'EC-5 (Mốc 36–47 tháng / 3–4 tuổi): Trả lời Câu hỏi "Tại sao/Như thế nào?", Giải thích Công dụng & Hội thoại', desc: 'Trả lời hợp lý câu hỏi "Tại sao con phải rửa tay?", "Khi đói con làm gì?", nói câu phức có từ nối ("và", "vì") và duy trì hội thoại qua lại 3–4 lượt.' }, { id: 14, scale: 'ec', refAge: 56, name: 'EC-6 (Mốc 48–59 tháng / 4–5 tuổi): Định nghĩa Từ vựng, Mô tả Điểm giống/khác nhau & Lặp lại câu dài', desc: 'Giải thích nghĩa của từ theo đặc điểm/danh mục, dùng đúng các từ chỉ thời gian quá khứ/tương lai và hoàn thành câu theo quy luật ngữ pháp.' }, { id: 15, scale: 'ec', refAge: 70, name: 'EC-7 (Mốc 60–71 tháng / 5–6 tuổi): Kể lại Câu chuyện có Mở – Thân – Kết theo Tranh & Giải quyết Vấn đề', desc: 'Sắp xếp và kể lại trọn vẹn câu chuyện theo chuỗi tranh một cách mạch lạc, trả lời câu hỏi xử lý tình huống xã hội và tách ghép âm tiết.' }, { id: 16, scale: 'ec', refAge: 84, name: 'EC-8 (Mốc 72–95 tháng / 6–7 tuổi): Đặt câu từ các Từ cho sẵn, Ngôn ngữ Trừu tượng & Thuyết phục', desc: 'Tự đặt câu hoàn chỉnh chứa 2–3 từ khóa cho trước (VD: "mặc dù... nhưng..."), giải thích từ đa nghĩa và sử dụng ngôn ngữ ngữ dụng linh hoạt.' } ]; // ========================================================= // PHẦN 2: DỮ LIỆU ĐÁNH GIÁ NGÔN NGỮ LÂM SÀNG CELF-5 (5 - 21 TUỔI • 10 TIỂU TRẮC NGHIỆM + PRAGMATICS) // Chấm trên thang Điểm chuẩn Tiểu trắc nghiệm Scaled Score (1 -> 19, Trung bình = 10, SD = 3) // ========================================================= const celf5Subtests = [ { id: 'SC', indices: ['CLS', 'RLI', 'LSI'], color: '#2563eb', name: '1. Hiểu Câu (Sentence Comprehension - SC) ★ [Thuộc CLS, RLI, LSI]', desc: 'Trẻ nghe một câu có cấu trúc ngữ pháp phức tạp dần và phải chỉ chọn đúng bức tranh tương ứng trong 4 bức tranh có các chi tiết gây nhiễu sát nhau.', measure: 'Đo lường khả năng giải mã cấu trúc ngữ pháp – cú pháp trong ngôn ngữ tiếp nhận.' }, { id: 'WC', indices: ['CLS', 'RLI', 'LCI'], color: '#0284c7', name: '2. Nhóm Từ / Quan hệ Từ vựng (Word Classes - WC) ★ [Thuộc CLS, RLI, LCI]', desc: 'Trẻ nhìn/nghe 3 – 4 từ (hoặc tranh) và phải chọn ra 2 từ có mối liên hệ ngữ nghĩa chặt chẽ nhất với nhau (VD: "Gối – Giường – Thước – Bút").', measure: 'Đo lường khả năng hiểu mối quan hệ ngữ nghĩa liên kết, phân loại khái niệm và suy luận từ vựng.' }, { id: 'FD', indices: ['CLS', 'RLI', 'LCI'], color: '#0d9488', name: '3. Làm theo Chỉ dẫn (Following Directions - FD) ★ [Thuộc CLS, RLI, LCI]', desc: 'Trẻ nghe một mệnh lệnh dài có chứa các khái niệm vị trí, thứ tự, kích thước, màu sắc và phải chỉ tay đúng vào các hình học theo đúng trình tự yêu cầu (VD: "Chỉ vào hình tròn màu đen thứ hai trước khi chỉ vào hình vuông lớn cuối cùng").', measure: 'Đo lường khả năng nghe hiểu chỉ dẫn phức hợp và trí nhớ làm việc ngôn ngữ ngắn hạn.' }, { id: 'WS', indices: ['CLS', 'ELI', 'LSI'], color: '#7c3aed', name: '4. Cấu trúc Từ / Hình thái – Ngữ pháp (Word Structure - WS) [Thuộc CLS, ELI, LSI]', desc: 'Người khám đọc một câu mẫu kèm tranh và bỏ lửng câu thứ hai để trẻ tự điền từ/cấu trúc ngữ pháp đúng (thì quá khứ/tương lai, từ chỉ số nhiều, sở hữu, so sánh, bị động).', measure: 'Đo lường khả năng vận dụng quy tắc ngữ pháp – hình thái học trong diễn đạt.' }, { id: 'RS', indices: ['CLS', 'ELI', 'LSI'], color: '#6d28d9', name: '5. Nhắc lại Câu (Recalling Sentences - RS) ★ [Thuộc CLS, ELI, LSI — Tiểu thang nhạy nhất với DLD]', desc: 'Trẻ nghe người khám đọc các câu có độ dài và độ phức tạp cú pháp tăng dần, sau đó phải nhắc lại nguyên văn từng chữ mà không được thêm bớt hay đổi từ.', measure: 'Chỉ báo lâm sàng nhạy bén số 1 thế giới để phát hiện Rối loạn Ngôn ngữ Phát triển (DLD): vì trẻ chỉ có thể nhắc lại câu dài nếu não bộ đã nắm vững cấu trúc cú pháp đó!' }, { id: 'FS', indices: ['CLS', 'ELI', 'LSI'], color: '#9333ea', name: '6. Đặt câu từ Từ khóa (Formulated Sentences - FS) ★ [Thuộc CLS, ELI, LSI]', desc: 'Trẻ nhìn một bức tranh bối cảnh sinh hoạt và phải tự đặt một câu nói hoàn chỉnh, đúng ngữ pháp, hợp ngữ cảnh có sử dụng 1 hoặc 2 từ khóa bắt buộc do người khám đưa ra (VD: đặt câu có từ "mặc dù" hoặc "trước khi").', measure: 'Đo lường khả năng lập kế hoạch cú pháp và diễn đạt câu phức trong ngữ cảnh thực tế.' }, { id: 'WD', indices: ['ELI', 'LCI'], color: '#10b981', name: '7. Định nghĩa Từ (Word Definitions - WD) [Thuộc ELI, LCI]', desc: 'Trẻ nghe một từ vựng trong câu và phải tự định nghĩa, giải thích chính xác ý nghĩa bản chất của từ đó bằng lời của mình.', measure: 'Đo lường độ sâu của vốn từ vựng diễn đạt và khả năng khái quát hóa ngôn ngữ.' }, { id: 'USP', indices: ['RLI', 'LCI'], color: '#059669', name: '8. Nghe hiểu Đoạn văn (Understanding Spoken Paragraphs - USP) [Thuộc RLI, LCI]', desc: 'Người khám đọc một đoạn truyện ngắn và hỏi trẻ các câu hỏi đánh giá: Ý chính, Chi tiết sự kiện, Trình tự, Suy luận nguyên nhân và Dự đoán điều sẽ xảy ra tiếp theo.', measure: 'Đo lường khả năng tích hợp thông tin ngôn ngữ bậc cao và suy luận văn bản.' }, { id: 'SR', indices: ['RLI', 'ELI', 'LCI'], color: '#f59e0b', name: '9. Quan hệ Ngữ nghĩa (Semantic Relationships - SR) [Thuộc LCI]', desc: 'Trẻ giải quyết các câu hỏi chứa mối quan hệ so sánh, không gian, thời gian và bị động phức tạp (VD: "Nam cao hơn Hùng nhưng thấp hơn Minh. Ai thấp nhất?").', measure: 'Đo lường khả năng xử lý logic ngữ nghĩa trừu tượng.' }, { id: 'PP', indices: ['PRAG'], color: '#dc2626', name: '10. Hồ sơ Ngôn ngữ Ngữ dụng (Pragmatics Profile & Pragmatics Activities - PP) ★ [Đặc hiệu cho ASD & SPCD]', desc: 'Đánh giá hơn 50 kỹ năng giao tiếp xã hội thực tế: giao tiếp mắt, đọc biểu cảm nét mặt/giọng điệu, biết bắt đầu – duy trì – chuyển chủ đề hội thoại, hiểu lời nói đùa/ẩn ý và xin lỗi/nhờ giúp đỡ phù hợp.', measure: 'Đo lường năng lực sử dụng ngôn ngữ trong tương tác xã hội (Ngữ dụng học — Pragmatics).' } ]; let activeTool = 'pls5'; // 'pls5' | 'celf5' let plsChildMonths = 36; // Tuổi thực cho PLS-5 (1 -> 95 tháng) // plsScores[id]: 2 (Đạt thành thạo), 1 (Đang hình thành), 0 (Chưa đạt) let plsScores = {}; // celfSS[id]: Scaled Score từ 1 đến 19 (Mean = 10, SD = 3) let celfSS = {}; let filterSub = 'all'; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .sl-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } .sl-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .sl-inner { padding: 24px; max-width: 980px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .sl-wrap.is-fullscreen .sl-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .sl-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 0 rgba(37, 99, 235, 0.4); } 70% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 10px rgba(37, 99, 235, 0); } 100% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 0 rgba(37, 99, 235, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #1d4ed8 0%, #2563eb 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Bộ chuyển đổi 2 Thang đo: PLS-5 vs CELF-5 */ .tool-switcher { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; background: #f1f5f9; padding: 10px; border-radius: 12px; margin-bottom: 18px; } .tool-btn { padding: 12px 14px; border-radius: 9px; border: 2px solid transparent; background: rgba(255, 255, 255, 0.7); cursor: pointer; text-align: left; transition: all 0.2s ease; touch-action: manipulation; } .tool-btn:hover { background: #ffffff; } .tool-btn.active { background: #ffffff; border-color: #2563eb; box-shadow: 0 3px 10px rgba(15, 23, 42, 0.08); } .tool-btn-title { font-size: 14.5px; font-weight: 800; color: #0f172a; display: block; } .tool-btn.active .tool-btn-title { color: #1d4ed8; } .tool-btn-sub { font-size: 12px; color: #64748b; margin-top: 3px; display: block; } .sl-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .sl-header-text { flex: 1 1 260px; } .sl-title { font-size: 20px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .sl-desc { font-size: 13.8px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #eff6ff; color: #1d4ed8; border: 1px solid #bfdbfe; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #2563eb; color: #ffffff; border-color: #2563eb; } .sl-controls { display: flex; flex-direction: column; gap: 10px; margin-bottom: 18px; } .sl-age-bar { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; background: #eff6ff; padding: 10px 14px; border-radius: 10px; border: 1px solid #bfdbfe; } .sl-select { padding: 7px 12px; border: 1px solid #2563eb; border-radius: 7px; font-size: 13.5px; font-weight: 700; color: #1e3a8a; background: #ffffff; } .sl-presets { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; } .sl-preset-lbl { font-size: 12.5px; font-weight: 700; color: #475569; margin-right: 4px; } .sl-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; touch-action: manipulation; } .sl-pbtn:hover { background: #f1f5f9; } .sl-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } /* Sticky Dashboard */ .sl-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .sl-wrap.is-fullscreen .sl-dash { top: 58px; } .sl-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .sl-score-big { font-size: 20px; font-weight: 800; line-height: 1.25; } .sl-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .sl-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .sl-pillars { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; font-size: 11.5px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .sl-pillar-box { background: #1e293b; padding: 7px 9px; border-radius: 8px; border-left: 3px solid #475569; } .sl-pillar-box.avg { border-left-color: #10b981; } .sl-pillar-box.mild { border-left-color: #f59e0b; background: rgba(245, 158, 11, 0.14); } .sl-pillar-box.sev { border-left-color: #ef4444; background: rgba(239, 68, 68, 0.16); } .sl-pillar-val { font-weight: 800; color: #ffffff; font-size: 13px; display: block; margin-top: 2px; } /* Danh sách mục */ .sl-item { border: 1px solid #e2e8f0; border-radius: 12px; padding: 14px 16px; margin-bottom: 12px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 8px; } .sl-item.pass-item { border-color: #a7f3d0; background: #f0fdf4; } .sl-item.mid-item { border-color: #fde68a; background: #fffbeb; } .sl-item.fail-item { border-color: #fca5a5; background: #fff5f5; } .sl-item-title { font-size: 15px; font-weight: 800; color: #0f172a; } .sl-item-desc { font-size: 13.4px; color: #334155; } .sl-tags { display: flex; flex-wrap: wrap; gap: 6px; } .sl-tag { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .sl-ans-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 2px; } .sl-ans-grid.grid-7 { grid-template-columns: repeat(7, 1fr); gap: 6px; } .sl-abtn { padding: 8px 6px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 700; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .sl-abtn:hover { border-color: #64748b; } .sl-abtn.sel-high { background: #2563eb; border-color: #2563eb; color: #ffffff; } .sl-abtn.sel-ok { background: #10b981; border-color: #10b981; color: #ffffff; } .sl-abtn.sel-warn { background: #f59e0b; border-color: #f59e0b; color: #ffffff; } .sl-abtn.sel-low { background: #ef4444; border-color: #ef4444; color: #ffffff; } /* Bảng Báo cáo Chuẩn Âm ngữ Trị liệu */ .sl-table-card { margin-top: 20px; padding: 16px 18px; border-radius: 12px; background: #ffffff; border: 1px solid #e2e8f0; overflow-x: auto; } .sl-table { width: 100%; border-collapse: collapse; font-size: 13px; min-width: 640px; } .sl-table th, .sl-table td { border: 1px solid #cbd5e1; padding: 8px 10px; text-align: center; } .sl-table th { background: #f1f5f9; font-weight: 800; color: #0f172a; } .sl-result-box { margin-top: 16px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #2563eb; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 780px) { .sl-inner { padding: 14px; } .tool-switcher { grid-template-columns: 1fr; } .sl-title { font-size: 18px; } .sl-pillars { grid-template-columns: 1fr 1fr; } .sl-ans-grid { grid-template-columns: 1fr; } .sl-ans-grid.grid-7 { grid-template-columns: repeat(4, 1fr); } .sl-pbtn.reset { margin-left: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
| Thang đo / Chỉ số Ngôn ngữ (Scale / Index) | Thành phần đánh giá | Điểm Chuẩn (Standard Score: 50–150) | Bách phân vị (Percentile) | Phân loại Mức độ Lâm sàng (SLP) |
|---|
1. Thang Đo Ngôn Ngữ Mầm Non PLS-5 — Preschool Language Scales, 5th Edition (0 Đến 7 Tuổi 11 Tháng)
' + '' + 'Công cụ tiêu chuẩn vàng của Zimmerman, Steiner & Pond (2011) đánh giá toàn diện từ giai đoạn tiền ngôn ngữ đến ngôn ngữ đầu tiểu học qua 2 thang: Nghe hiểu Thính giác (Auditory Comprehension - AC) và Giao tiếp Diễn đạt (Expressive Communication - EC), tổng hợp thành Tổng điểm Ngôn ngữ (Total Language Score - TLS).' + '
'; } else { plsAgeBar.style.display = 'none'; headerInfo.innerHTML = '2. Hệ Thống Đánh Giá Cơ Bản Ngôn Ngữ Lâm Sàng CELF-5 — Clinical Evaluation of Language Fundamentals (5 Đến 21 Tuổi)
' + '' + 'Công cụ chẩn đoán chuyên sâu của Wiig, Secord & Semel (2013) tính toán 5 Chỉ số Chuẩn hóa: Ngôn ngữ Cốt lõi (CLS), Tiếp nhận (RLI), Diễn đạt (ELI), Nội dung Ngữ nghĩa (LCI), Cấu trúc Ngữ pháp (LSI) và Hồ sơ Ngữ dụng (Pragmatics Profile).' + '
'; } } function renderItems() { itemList.innerHTML = ''; if (activeTool === 'pls5') { const curAge = parseInt(selPlsAge.value, 10) || 36; const plsBtns = [ { val: 2, lbl: 'Đạt thành thạo (Pass = 1.0)', cls: 'sel-ok' }, { val: 1, lbl: 'Đang hình thành (Emerging = 0.5)', cls: 'sel-warn' }, { val: 0, lbl: 'Chưa đạt (Fail = 0)', cls: 'sel-low' } ]; pls5Items.forEach(function(it) { const uVal = (plsScores[it.id] !== undefined) ? plsScores[it.id] : 0; const isAC = (it.scale === 'ac'); const badgeColor = isAC ? '#2563eb' : '#7c3aed'; const scaleLabel = isAC ? '1. Nghe hiểu Thính giác (Auditory Comprehension - AC)' : '2. Giao tiếp Diễn đạt (Expressive Communication - EC)'; let rowCls = 'sl-item '; if (uVal === 2) rowCls += 'pass-item'; else if (uVal === 1) rowCls += 'mid-item'; else if (it.refAge { const cls = 'sl-abtn' + (uVal === b.val ? ' ' + b.cls : ''); return ''; }).join(''); const ageNote = (it.refAge <= curAge) ? 'Mốc ≤ tuổi thực của bé (' + it.refAge + 'm ≤ ' + curAge + 'm)' : 'Mốc cao hơn tuổi hiện tại (' + it.refAge + 'm)'; const el = document.createElement('div'); el.className = rowCls; el.innerHTML = '' + '🎯 ' + st.measure + '
' + '• 2. Đề xuất Mục tiêu Can thiệp Âm ngữ Trị liệu (SLP): Tập trung dạy ngay tại bậc kỹ năng đầu tiên đang đạt mức Đang hình thành (1đ) hoặc Chưa đạt (0đ) ở bảng trên (Ưu tiên xây dựng Chú ý chung, Cử chỉ chỉ trỏ và Chơi biểu tượng trước khi ép trẻ nói câu dài).'; } else { // CELF-5 SUMMARY const ss = {}; celf5Subtests.forEach(st => { ss[st.id] = (celfSS[st.id] !== undefined) ? celfSS[st.id] : 10; }); // Tính 5 Chỉ số Chuẩn hóa của CELF-5 + Hồ sơ Ngữ dụng (PP) const indCLS = scaledAvgToStandard((ss.SC + ss.WC + ss.FD + ss.WS + ss.RS + ss.FS) / 6); const indRLI = scaledAvgToStandard((ss.SC + ss.WC + ss.FD + ss.USP) / 4); const indELI = scaledAvgToStandard((ss.WS + ss.RS + ss.FS + ss.WD) / 4); const indLCI = scaledAvgToStandard((ss.WC + ss.FD + ss.WD + ss.USP + ss.SR) / 5); const indLSI = scaledAvgToStandard((ss.SC + ss.WS + ss.RS + ss.FS) / 4); const indPRAG = scaledAvgToStandard(ss.PP); const cCLS = classifyLangStandardScore(indCLS); const cRLI = classifyLangStandardScore(indRLI); const cELI = classifyLangStandardScore(indELI); const cLCI = classifyLangStandardScore(indLCI); const cLSI = classifyLangStandardScore(indLSI); const cPRAG = classifyLangStandardScore(indPRAG); dashHeadline.textContent = 'CELF-5 Ngôn Ngữ Cốt Lõi (CLS): ' + indCLS + ' • Tiếp Nhận (RLI): ' + indRLI + ' • Diễn Đạt (ELI): ' + indELI; dashSub.textContent = 'Nội dung Ngữ nghĩa (LCI): ' + indLCI + ' • Cấu trúc Cú pháp (LSI): ' + indLSI + ' • Hồ sơ Ngữ dụng (PP): ' + indPRAG; dashPillars.innerHTML = '
' + ' Trẻ có năng lực từ vựng và ngữ pháp cấu trúc hoàn toàn bình thường (CLS = ' + indCLS + ', LSI = ' + indLSI + '), nhưng lại sụt giảm nặng ở Hồ sơ Ngữ dụng (Pragmatics Profile = ' + indPRAG + ' ≤ 77). Trẻ nói được câu dài đúng ngữ pháp nhưng không biết cách dùng ngôn ngữ để hội thoại qua lại, không hiểu ẩn ý/nói đùa và thiếu tinh tế xã hội.'; } else if (indCLS = 86) { diffAnalysis = '• 🔍 Phát hiện Kiểu hình Điển hình của Rối loạn Ngôn ngữ Phát triển (DLD — Mã ICD-11: 6A01.2):
' + ' Trẻ bị suy giảm rõ rệt ở Ngôn ngữ Cốt lõi (CLS = ' + indCLS + ') và tiểu thang Nhắc lại câu (RS = ' + ss.RS + '), nhưng Hồ sơ Ngữ dụng và ý định giao tiếp xã hội vẫn tốt (PP = ' + indPRAG + ' ≥ 86). Điều này giúp phân biệt DLD thuần túy với Rối loạn phổ tự kỷ!'; } else if (indCLS <= 77 && indPRAG <= 77) { diffAnalysis = '• 🚨 Ghi nhận Suy giảm Kép cả Cấu trúc Ngôn ngữ (CLS = ' + indCLS + ') lẫn Ngữ dụng Xã hội (PP = ' + indPRAG + '):
' + ' Thường gặp ở trẻ Rối loạn phổ tự kỷ có kèm suy giảm ngôn ngữ chức năng (Mã ICD-11: 6A02.2 / DSM-5-TR). Cần can thiệp đồng thời cả mở rộng cấu trúc câu/từ vựng lẫn kỹ năng tương tác hội thoại xã hội.'; } else { diffAnalysis = '• ✓ Hồ sơ Ngôn ngữ Học đường Ổn định: Cả 5 chỉ số ngôn ngữ cốt lõi và kỹ năng ngữ dụng đều nằm trong giới hạn bình thường của lứa tuổi.'; } resultBox.innerHTML = '
' + '• So sánh Nội dung Ngữ nghĩa (LCI = ' + indLCI + ') vs. Cấu trúc Cú pháp (LSI = ' + indLSI + '): ' + (Math.abs(indLCI - indLSI) >= 15 ? (indLCI > indLSI ? 'Vốn từ vựng ngữ nghĩa tốt hơn hẳn khả năng sắp xếp ngữ pháp câu (Cần tập trung rèn cú pháp đặt câu).' : 'Cấu trúc câu máy móc tốt hơn sự thấu hiểu sâu về ngữ nghĩa/đoạn văn (Hiện tượng Hyperlexia thường gặp ở trẻ ASD).') : 'Phát triển tương đối đồng đều giữa từ vựng ngữ nghĩa và cấu trúc ngữ pháp.'); } updateFloatingFabVisibility(); } function applyPreset(type) { plsScores = {}; celfSS = {}; const curAge = parseInt(selPlsAge.value, 10) || 36; if (type === 'reset') { pls5Items.forEach(it => { plsScores[it.id] = 0; }); celf5Subtests.forEach(st => { celfSS[st.id] = 10; }); renderItems(); updateSummary(); return; } if (type === 'normal') { pls5Items.forEach(it => { plsScores[it.id] = (it.refAge <= curAge) ? 2 : ((it.refAge { celfSS[st.id] = 10; }); } else if (type === 'exp_delay') { // Nghe hiểu tốt (AC / RLI ~100), nhưng Diễn đạt thấp (EC / ELI ~68) pls5Items.forEach(it => { if (it.scale === 'ac') { plsScores[it.id] = (it.refAge <= curAge) ? 2 : 0; } else { plsScores[it.id] = (it.refAge <= curAge * 0.55) ? 2 : 0; } }); celfSS = { SC: 10, WC: 10, FD: 10, USP: 10, SR: 10, WS: 5, RS: 5, FS: 5, WD: 7, PP: 10 }; } else if (type === 'dld_severe') { // Rối loạn ngôn ngữ hỗn hợp (Cả tiếp nhận và diễn đạt đều thấp { plsScores[it.id] = (it.refAge { if (it.id === 2 || it.id === 3 || it.id === 10 || it.id === 13) plsScores[it.id] = 1; else plsScores[it.id] = (it.refAge <= curAge) ? 2 : 0; }); celfSS = { SC: 12, WC: 12, FD: 10, WS: 12, RS: 12, FS: 10, WD: 10, USP: 5, SR: 7, PP: 3 }; } renderItems(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); slWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { slWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 980px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } shadow.querySelectorAll('#toolSwitcher .tool-btn').forEach(function(btn) { btn.onclick = function() { activeTool = this.getAttribute('data-tool'); shadow.querySelectorAll('#toolSwitcher .tool-btn').forEach(b => b.classList.remove('active')); this.classList.add('active'); renderHeader(); renderItems(); updateSummary(); }; }); selPlsAge.onchange = () => { applyPreset('exp_delay'); }; shadow.querySelectorAll('.sl-pbtn').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-preset')); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); renderHeader(); applyPreset('asd_prag'); })();
PLS-5 (Preschool Language Scales, Fifth Edition) và CELF-5 / CELF-P3 (Clinical Evaluation of Language Fundamentals) là bộ đôi “Tiêu chuẩn vàng” (Gold Standard) toàn cầu trong chuyên ngành Âm ngữ Trị liệu (Speech-Language Pathology – SLP) để đánh giá chẩn đoán toàn diện các rối loạn ngôn ngữ phát triển, chậm nói và khiếm khuyết ngôn ngữ ngữ dụng ở trẻ Tự kỷ (ASD), Rối loạn ngôn ngữ phát triển (DLD) và ADHD.
Trong thực hành lâm sàng, hai công cụ này tạo thành một trục nối tiếp hoàn hảo theo độ tuổi: PLS-5 bao phủ giai đoạn từ sơ sinh đến 7 tuổi, và CELF-5 tiếp nối từ 5 tuổi đến 21 tuổi.
1. So sánh lâm sàng giữa PLS-5 và CELF-5
[Cảm xúc - Hành vi] CBCL (Achenbach): Bảng kiểm đánh giá tổng thể các vấn đề cảm xúc và hành vi ở trẻ (1.5 – 18 tuổi)
CBCL (Child Behavior Checklist – Bảng kiểm hành vi trẻ em Achenbach): Đánh giá tổng thể các vấn đề cảm xúc và hành vi (lo âu, trầm cảm, chống đối, thu mình…) ở trẻ từ 1.5 đến 18 tuổi.
(function() { const host = document.getElementById('cbcl-wp-host'); if (!host) return; const placeholder = document.createComment('cbcl-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // ========================================================= // 1. CẤU HÌNH BẢN MẦM NON CBCL/1.5-5 (18 THÁNG - 5 TUỔI • 7 THANG HỘI CHỨNG) // ========================================================= const preschoolScales = { er: { code: 'er', broad: 'int', dsm: 'asd', name: '1. Phản ứng Cảm xúc (Emotionally Reactive - ER)', color: '#2563eb' }, ad: { code: 'ad', broad: 'int', dsm: 'anx', name: '2. Lo âu / Trầm cảm (Anxious/Depressed - AD)', color: '#0284c7' }, sc: { code: 'sc', broad: 'int', dsm: 'som', name: '3. Than phiền Cơ thể (Somatic Complaints - SC)', color: '#0d9488' }, wi: { code: 'wi', broad: 'int', dsm: 'asd', name: '4. Thu mình / Cô lập (Withdrawn - WI ★ Tự kỷ)', color: '#7c3aed' }, sl: { code: 'sl', broad: 'oth', dsm: 'slp', name: '5. Các Vấn đề Giấc ngủ (Sleep Problems - SL)', color: '#6366f1' }, ap: { code: 'ap', broad: 'ext', dsm: 'adh', name: '6. Các Vấn đề Chú ý (Attention Problems - AP)', color: '#f59e0b' }, ag: { code: 'ag', broad: 'ext', dsm: 'odd', name: '7. Hành vi Hung tính (Aggressive Behavior - AG)', color: '#dc2626' } }; // 42 mục cốt lõi đại diện đầy đủ 7 Thang Hội chứng của CBCL/1.5-5 (Mỗi thang 6 mục trọng tâm, chấm 0-1-2) const preschoolItems = [ // 1. PHẢN ỨNG CẢM XÚC (EMOTIONALLY REACTIVE - ER • Thuộc INTERNALIZING & DSM-ASD) { id: 1, sc: 'er', dsmASD: true, t: 'Rất căng thẳng, hoảng loạn hoặc khóc thét khi có sự thay đổi trong lịch trình/thói quen hàng ngày.' }, { id: 2, sc: 'er', dsmASD: true, t: 'Bối rối, kích động khi người thân hoặc đồ vật bị chuyển sang vị trí khác với mọi khi.' }, { id: 3, sc: 'er', dsmASD: false, t: 'Tâm trạng thay đổi thất thường, đột ngột chuyển từ vui sang buồn/cáu gắt không rõ lý do.' }, { id: 4, sc: 'er', dsmASD: false, t: 'Quá lo lắng, bồn chồn hoặc dễ bị kích động cảm xúc.' }, { id: 5, sc: 'er', dsmASD: false, t: 'Có những biểu hiện co giật cơ mặt hoặc cử động căng thẳng khi xúc động.' }, { id: 6, sc: 'er', dsmASD: false, t: 'Rên rỉ, mếu máo hoặc dỗi hờn kéo dài.' }, // 2. LO ÂU / TRẦM CẢM (ANXIOUS/DEPRESSED - AD • Thuộc INTERNALIZING) { id: 7, sc: 'ad', dsmASD: false, t: 'Bám dính lấy người lớn hoặc quá phụ thuộc không chịu rời bố mẹ.' }, { id: 8, sc: 'ad', dsmASD: false, t: 'Cảm xúc dễ bị tổn thương, rất nhạy cảm trước lời phê bình hay nhắc nhở nhẹ.' }, { id: 9, sc: 'ad', dsmASD: false, t: 'Quá sợ hãi trước một số con vật, tình huống hoặc nơi chốn nhất định.' }, { id: 10, sc: 'ad', dsmASD: false, t: 'Trông có vẻ buồn bã, không vui hoặc ủ rũ.' }, { id: 11, sc: 'ad', dsmASD: false, t: 'Ngượng ngùng, tự ti hoặc quá sợ sệt khi gặp người lạ.' }, { id: 12, sc: 'ad', dsmASD: false, t: 'Quá căng thẳng khi bị tách khỏi bố mẹ (như khi đến lớp mầm non).' }, // 3. THAN PHIỀN CƠ THỂ (SOMATIC COMPLAINTS - SC • Thuộc INTERNALIZING) { id: 13, sc: 'sc', dsmASD: false, t: 'Hay bị đau nhức cơ thể (đau đầu, đau chân tay) mà bác sĩ khám không tìm ra nguyên nhân thực tổn.' }, { id: 14, sc: 'sc', dsmASD: false, t: 'Hay bị đau bụng hoặc co thắt dạ dày khi căng thẳng.' }, { id: 15, sc: 'sc', dsmASD: false, t: 'Táo bón kéo dài hoặc giữ phân không chịu đi tiêu.' }, { id: 16, sc: 'sc', dsmASD: false, t: 'Buồn nôn, nôn ọe mà không do bệnh lý tiêu hóa.' }, { id: 17, sc: 'sc', dsmASD: false, t: 'Quá cầu toàn về sự sạch sẽ hoặc khó chịu cực mức khi quần áo/tay dính bẩn.' }, { id: 18, sc: 'sc', dsmASD: true, t: 'Kháng cự mạnh hoặc đau khổ trước một số âm thanh, mùi vị hoặc kết cấu thức ăn.' }, // 4. THU MÌNH / CÔ LẬP (WITHDRAWN - WI • Thuộc INTERNALIZING & ĐẶC HIỆU CHO DSM-5 AUTISM SPECTRUM) { id: 19, sc: 'wi', dsmASD: true, t: 'Tránh nhìn vào mắt người đối diện (Giao tiếp ánh mắt kém).' }, { id: 20, sc: 'wi', dsmASD: true, t: 'Không trả lời hoặc không quay lại khi người khác gọi tên hay nói chuyện cùng.' }, { id: 21, sc: 'wi', dsmASD: true, t: 'Ít thể hiện tình cảm ấm áp, âu yếm với người thân.' }, { id: 22, sc: 'wi', dsmASD: true, t: 'Có vẻ như đang ở trong thế giới riêng, thờ ơ không quan tâm đến những người xung quanh.' }, { id: 23, sc: 'wi', dsmASD: true, t: 'Từ chối tham gia các trò chơi vận động tương tác cùng trẻ khác (thích lủi thủi một mình).' }, { id: 24, sc: 'wi', dsmASD: true, t: 'Có những hành vi lặp đi lặp lại (đung đưa người, vẫy tay, xoay đồ vật) hoặc nhại lời.' }, // 5. VẤN ĐỀ GIẤC NGỦ (SLEEP PROBLEMS - SL) { id: 25, sc: 'sl', dsmASD: false, t: 'Không muốn ngủ một mình hoặc kháng cự việc lên giường đi ngủ vào buổi tối.' }, { id: 26, sc: 'sl', dsmASD: false, t: 'Rất khó đi vào giấc ngủ (trằn trọc lâu mới ngủ được).' }, { id: 27, sc: 'sl', dsmASD: false, t: 'Hay gặp ác mộng hoặc giật mình hoảng sợ khóc thét ban đêm.' }, { id: 28, sc: 'sl', dsmASD: false, t: 'Ngủ ít hơn hẳn so với đa số trẻ cùng độ tuổi (cả ngày lẫn đêm).' }, { id: 29, sc: 'sl', dsmASD: false, t: 'Thường xuyên thức giấc dậy giữa đêm và khó ngủ lại.' }, { id: 30, sc: 'sl', dsmASD: false, t: 'Nói mớ hoặc khóc lóc trong lúc đang ngủ.' }, // 6. VẤN ĐỀ CHÚ Ý (ATTENTION PROBLEMS - AP • Thuộc EXTERNALIZING & DSM-ADHD) { id: 31, sc: 'ap', dsmASD: false, t: 'Không thể tập trung chú ý lâu vào một hoạt động hoặc món đồ chơi.' }, { id: 32, sc: 'ap', dsmASD: false, t: 'Không thể ngồi yên được một lúc, luôn bồn chồn tăng động.' }, { id: 33, sc: 'ap', dsmASD: false, t: 'Nhanh chóng chuyển từ món đồ chơi này sang món đồ chơi khác mà không chơi trọn vẹn.' }, { id: 34, sc: 'ap', dsmASD: false, t: 'Đi lang thang hoặc chạy vụt đi mất mà không để ý an toàn.' }, { id: 35, sc: 'ap', dsmASD: false, t: 'Vụng về, phối hợp vận động kém hoặc hay làm rơi vỡ đồ vật do hấp tấp.' }, { id: 36, sc: 'ap', dsmASD: true, t: 'Chậm nói hoặc lời nói phát âm rất khó hiểu so với tuổi.' }, // 7. HÀNH VI HUNG TÍNH (AGGRESSIVE BEHAVIOR - AG • Thuộc EXTERNALIZING & DSM-ODD) { id: 37, sc: 'ag', dsmASD: false, t: 'Không thể chờ đợi, đòi hỏi mọi thứ mình muốn phải được đáp ứng ngay lập tức.' }, { id: 38, sc: 'ag', dsmASD: false, t: 'Bướng bỉnh, chống đối và không vâng lời người lớn.' }, { id: 39, sc: 'ag', dsmASD: false, t: 'Đánh, cắn, cấu hoặc xô đẩy người khác khi không vừa ý.' }, { id: 40, sc: 'ag', dsmASD: false, t: 'Đập phá đồ chơi của mình hoặc đồ đạc trong nhà.' }, { id: 41, sc: 'ag', dsmASD: false, t: 'Nổi cơn tam bành, ăn vạ giãy giụa dữ dội và la hét lớn.' }, { id: 42, sc: 'ag', dsmASD: false, t: 'Ích kỷ, không chịu chia sẻ đồ chơi hoặc dễ nổi giận khi bị nhắc nhở.' } ]; // ========================================================= // 2. CẤU HÌNH BẢN HỌC ĐƯỜNG CBCL/6-18 (6 - 18 TUỔI • 8 THANG HỘI CHỨNG) // ========================================================= const schoolScales = { ad: { code: 'ad', broad: 'int', name: '1. Lo âu / Trầm cảm (Anxious/Depressed - AD)', color: '#2563eb' }, wd: { code: 'wd', broad: 'int', name: '2. Thu mình / Trầm cảm (Withdrawn/Depressed - WD)', color: '#4f46e5' }, sc: { code: 'sc', broad: 'int', name: '3. Than phiền Cơ thể (Somatic Complaints - SC)', color: '#0d9488' }, sp: { code: 'sp', broad: 'oth', name: '4. Các Vấn đề Xã hội (Social Problems - SP)', color: '#0284c7' }, tp: { code: 'tp', broad: 'oth', name: '5. Các Vấn đề Tư duy (Thought Problems - TP ★ Ám ảnh/ASD)', color: '#7c3aed' }, ap: { code: 'ap', broad: 'oth', name: '6. Các Vấn đề Chú ý (Attention Problems - AP ★ ADHD)', color: '#f59e0b' }, rb: { code: 'rb', broad: 'ext', name: '7. Hành vi Phá vỡ Quy tắc (Rule-Breaking Behavior - RB)', color: '#ea580c' }, ag: { code: 'ag', broad: 'ext', name: '8. Hành vi Hung tính (Aggressive Behavior - AG)', color: '#dc2626' } }; // 48 mục cốt lõi đại diện đầy đủ 8 Thang Hội chứng của CBCL/6-18 (Mỗi thang 6 mục trọng tâm, chấm 0-1-2) const schoolItems = [ // 1. LO ÂU / TRẦM CẢM (ANXIOUS/DEPRESSED - AD • Thuộc INTERNALIZING & CBCL-DP) { id: 101, sc: 'ad', t: 'Khóc nhiều hoặc dễ bật khóc trước những chuyện nhỏ.' }, { id: 102, sc: 'ad', t: 'Sợ rằng mình có thể nghĩ hoặc làm điều gì đó sai trái; đòi hỏi bản thân phải hoàn hảo.' }, { id: 103, sc: 'ad', t: 'Cảm thấy không ai yêu thương mình hoặc cảm thấy bản thân vô giá trị, kém cỏi.' }, { id: 104, sc: 'ad', t: 'Căng thẳng, hồi hộp, sợ hãi hoặc lo âu quá mức.' }, { id: 105, sc: 'ad', t: 'Cảm thấy quá tội lỗi hoặc tự trách bản thân.' }, { id: 106, sc: 'ad', t: 'Hay lo lắng triền miên về việc học tập, gia đình hoặc tương lai.' }, // 2. THU MÌNH / TRẦM CẢM (WITHDRAWN/DEPRESSED - WD • Thuộc INTERNALIZING) { id: 107, sc: 'wd', t: 'Có rất ít điều khiến trẻ cảm thấy hứng thú hoặc vui vẻ.' }, { id: 108, sc: 'wd', t: 'Thích ở một mình hơn là ở cùng với những người khác.' }, { id: 109, sc: 'wd', t: 'Từ chối nói chuyện, thu mình khép kín và không chia sẻ tâm sự với ai.' }, { id: 110, sc: 'wd', t: 'Trông uể oải, hoạt động chậm chạp và thiếu năng lượng sống.' }, { id: 111, sc: 'wd', t: 'Buồn bã, ủ rũ hoặc trầm uất.' }, { id: 112, sc: 'wd', t: 'Nhút nhát, rụt rè và tránh tham gia các hoạt động tập thể.' }, // 3. THAN PHIỀN CƠ THỂ (SOMATIC COMPLAINTS - SC • Thuộc INTERNALIZING) { id: 113, sc: 'sc', t: 'Cảm thấy chóng mặt, choáng váng hoặc mệt mỏi quá mức mà không rõ lý do.' }, { id: 114, sc: 'sc', t: 'Than phiền bị đau nhức cơ thể (đau đầu, đau bụng, đau mỏi) không rõ nguyên nhân y khoa.' }, { id: 115, sc: 'sc', t: 'Buồn nôn, cảm thấy ốm hoặc khó chịu ở dạ dày khi áp lực đi học.' }, { id: 116, sc: 'sc', t: 'Than phiền về các vấn đề ở mắt hoặc da không do bệnh lý thực thể.' }, { id: 117, sc: 'sc', t: 'Hay gặp ác mộng hoặc rối loạn giấc ngủ đi kèm mệt mỏi cơ thể.' }, { id: 118, sc: 'sc', t: 'Than phiền tim đập nhanh hoặc khó thở khi căng thẳng.' }, // 4. VẤN ĐỀ XÃ HỘI (SOCIAL PROBLEMS - SP) { id: 119, sc: 'sp', t: 'Hành xử quá trẻ con, ngây ngô hơn nhiều so với độ tuổi thực.' }, { id: 120, sc: 'sp', t: 'Không hòa đồng với các trẻ khác, khó kết bạn đồng trang lứa.' }, { id: 121, sc: 'sp', t: 'Hay bị bạn bè trêu chọc, bắt nạt hoặc không được các bạn khác quý mến.' }, { id: 122, sc: 'sp', t: 'Thích chơi với những em nhỏ tuổi hơn mình thay vì bạn cùng tuổi.' }, { id: 123, sc: 'sp', t: 'Vụng về trong vận động và giao tiếp, dễ bị ngã hoặc gây tai nạn nhỏ.' }, { id: 124, sc: 'sp', t: 'Hay ghen tị hoặc cảm thấy người khác đang cố tình chống lại mình.' }, // 5. VẤN ĐỀ TƯ DUY (THOUGHT PROBLEMS - TP • Đặc trưng trong ASD, OCD & Tics) { id: 125, sc: 'tp', t: 'Không thể dứt đầu óc ra khỏi một số suy nghĩ hoặc ý tưởng ám ảnh nhất định (Obsessions).' }, { id: 126, sc: 'tp', t: 'Lặp đi lặp lại một số hành động hoặc nghi thức cố định liên tục (Compulsions / Stereotypies).' }, { id: 127, sc: 'tp', t: 'Có những hành vi kỳ lạ hoặc những ý tưởng khác thường.' }, { id: 128, sc: 'tp', t: 'Nhìn chằm chằm vào khoảng không hoặc có các cử động máy giật (Tics) / cạy da / xoay đồ vật.' }, { id: 129, sc: 'tp', t: 'Tích trữ nhiều đồ vật không cần thiết hoặc gắn bó kỳ lạ với một số đồ vật.' }, { id: 130, sc: 'tp', t: 'Gặp các vấn đề nghiêm trọng về giấc ngủ (mộng du, nói mớ, thức đêm).' }, // 6. VẤN ĐỀ CHÚ Ý (ATTENTION PROBLEMS - AP • Đặc trưng trong ADHD & CBCL-DP) { id: 131, sc: 'ap', t: 'Không thể tập trung, không thể duy trì sự chú ý lâu vào bài học hoặc công việc.' }, { id: 132, sc: 'ap', t: 'Không thể ngồi yên, luôn bồn chồn, ngọ nguậy hoặc tăng động.' }, { id: 133, sc: 'ap', t: 'Hay bối rối, lơ đãng hoặc đắm chìm trong mơ màng giữa giờ học.' }, { id: 134, sc: 'ap', t: 'Hấp tấp, bốc đồng, hành động mà không kịp suy nghĩ trước.' }, { id: 135, sc: 'ap', t: 'Không hoàn thành những việc đã bắt đầu làm; kết quả học tập ở trường kém.' }, { id: 136, sc: 'ap', t: 'Vụng về hoặc gặp khó khăn trong việc tổ chức sắp xếp công việc.' }, // 7. HÀNH VI PHÁ VỠ QUY TẮC (RULE-BREAKING BEHAVIOR - RB • Thuộc EXTERNALIZING) { id: 137, sc: 'rb', t: 'Không cảm thấy có lỗi hay hối hận sau khi đã hành xử sai trái.' }, { id: 138, sc: 'rb', t: 'Phá vỡ các nội quy ở nhà, ở trường hoặc ngoài xã hội.' }, { id: 139, sc: 'rb', t: 'Giao du với những nhóm bạn hay gây rắc rối.' }, { id: 140, sc: 'rb', t: 'Nói dối hoặc gian lận để trốn tránh trách nhiệm.' }, { id: 141, sc: 'rb', t: 'Lấy cắp đồ ở nhà hoặc bên ngoài; hoặc trốn học không xin phép.' }, { id: 142, sc: 'rb', t: 'Nói tục, chửi thề hoặc thích nghịch lửa.' }, // 8. HÀNH VI HUNG TÍNH (AGGRESSIVE BEHAVIOR - AG • Thuộc EXTERNALIZING & CBCL-DP) { id: 143, sc: 'ag', t: 'Hay tranh cãi tay đôi và bất tuân lời người lớn ở nhà/ở trường.' }, { id: 144, sc: 'ag', t: 'Bắt nạt, hung hăng hoặc đe dọa người khác.' }, { id: 145, sc: 'ag', t: 'Phá hỏng đồ đạc của chính mình hoặc của gia đình/người khác.' }, { id: 146, sc: 'ag', t: 'Đánh nhau hoặc tấn công thể xác người khác khi tức giận.' }, { id: 147, sc: 'ag', t: 'Nóng nảy, hay nổi cơn thịnh nộ, la hét ầm ĩ và đòi hỏi phải được chiều ý ngay.' }, { id: 148, sc: 'ag', t: 'Bướng bỉnh, lì lợm, cau có và dễ bị kích động.' } ]; let activeForm = 'preschool'; // 'preschool' (CBCL/1.5-5) | 'school' (CBCL/6-18) let filterSub = 'all'; let scoresPreschool = {}; // 0, 1, 2 let scoresSchool = {}; // 0, 1, 2 let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .cb-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } .cb-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .cb-inner { padding: 24px; max-width: 980px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .cb-wrap.is-fullscreen .cb-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .cb-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 0 rgba(37, 99, 235, 0.4); } 70% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 10px rgba(37, 99, 235, 0); } 100% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 0 rgba(37, 99, 235, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #1d4ed8 0%, #2563eb 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Bộ chuyển đổi 2 Phiên bản CBCL */ .form-switcher { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; background: #f1f5f9; padding: 10px; border-radius: 12px; margin-bottom: 18px; } .form-btn { padding: 12px 14px; border-radius: 9px; border: 2px solid transparent; background: rgba(255, 255, 255, 0.7); cursor: pointer; text-align: left; transition: all 0.2s ease; touch-action: manipulation; } .form-btn:hover { background: #ffffff; } .form-btn.active { background: #ffffff; border-color: #2563eb; box-shadow: 0 3px 10px rgba(15, 23, 42, 0.08); } .form-btn-title { font-size: 14.5px; font-weight: 800; color: #0f172a; display: block; } .form-btn.active .form-btn-title { color: #1d4ed8; } .form-btn-sub { font-size: 12px; color: #64748b; margin-top: 3px; display: block; } .cb-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .cb-header-text { flex: 1 1 260px; } .cb-title { font-size: 20px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .cb-desc { font-size: 13.8px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #eff6ff; color: #1d4ed8; border: 1px solid #bfdbfe; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #2563eb; color: #ffffff; border-color: #2563eb; } .cb-controls { display: flex; flex-direction: column; gap: 10px; margin-bottom: 18px; } .cb-presets { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; } .cb-preset-lbl { font-size: 12.5px; font-weight: 700; color: #475569; margin-right: 4px; } .cb-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; touch-action: manipulation; } .cb-pbtn:hover { background: #f1f5f9; } .cb-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } .cb-sub-tabs { display: flex; flex-wrap: wrap; gap: 6px; } .cb-stab { padding: 6px 11px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .cb-stab.active { background: #2563eb; color: #ffffff; border-color: #2563eb; } /* Sticky Dashboard */ .cb-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .cb-wrap.is-fullscreen .cb-dash { top: 58px; } .cb-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .cb-score-big { font-size: 20px; font-weight: 800; line-height: 1.25; } .cb-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .cb-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .cb-pillars { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; font-size: 11.5px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .cb-pillar-box { background: #1e293b; padding: 7px 9px; border-radius: 8px; border-left: 3px solid #475569; } .cb-pillar-box.norm { border-left-color: #10b981; } .cb-pillar-box.bord { border-left-color: #f59e0b; background: rgba(245, 158, 11, 0.14); } .cb-pillar-box.clin { border-left-color: #ef4444; background: rgba(239, 68, 68, 0.16); } .cb-pillar-val { font-weight: 800; color: #ffffff; font-size: 13.5px; display: block; margin-top: 2px; } /* Danh sách câu hỏi */ .cb-item { border: 1px solid #e2e8f0; border-radius: 10px; padding: 13px 15px; margin-bottom: 10px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 8px; } .cb-item.pts-2 { border-color: #fda4af; background: #fff5f5; } .cb-item.pts-1 { border-color: #fde68a; background: #fffbeb; } .cb-item-title { font-size: 14.5px; font-weight: 600; color: #1e293b; } .cb-tags { display: flex; flex-wrap: wrap; gap: 6px; } .cb-tag { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .cb-ans-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; } .cb-abtn { padding: 8px 6px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 700; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .cb-abtn:hover { border-color: #64748b; } .cb-abtn.sel-0 { background: #10b981; border-color: #10b981; color: #ffffff; } .cb-abtn.sel-1 { background: #f59e0b; border-color: #f59e0b; color: #ffffff; } .cb-abtn.sel-2 { background: #ef4444; border-color: #ef4444; color: #ffffff; } /* Biểu đồ T-Score các Thang Hội chứng */ .cb-chart-card { margin-top: 20px; padding: 16px 18px; border-radius: 12px; background: #ffffff; border: 1px solid #e2e8f0; } .cb-bar-row { display: flex; align-items: center; gap: 10px; margin-bottom: 9px; font-size: 12.5px; } .cb-bar-lbl { width: 280px; flex-shrink: 0; font-weight: 600; color: #334155; } .cb-bar-track { flex: 1; height: 16px; background: #f1f5f9; border-radius: 999px; overflow: hidden; } .cb-bar-val { width: 155px; text-align: right; font-weight: 700; color: #0f172a; flex-shrink: 0; } .cb-result-box { margin-top: 16px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #2563eb; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 780px) { .cb-inner { padding: 14px; } .form-switcher { grid-template-columns: 1fr; } .cb-title { font-size: 18px; } .cb-pillars { grid-template-columns: 1fr 1fr; } .cb-ans-grid { grid-template-columns: 1fr; } .cb-bar-lbl { width: 145px; font-size: 11.5px; } .cb-bar-val { width: 115px; font-size: 11px; } .cb-pbtn.reset { margin-left: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
1. Bảng Kiểm Hành Vi Trẻ Em Mầm Non ASEBA CBCL/1½–5 (18 Tháng Đến 5 Tuổi)
' + '' + 'Công cụ chuẩn hóa của Giáo sư Thomas M. Achenbach cho trẻ từ 1.5 đến 5 tuổi qua 7 Thang Hội chứng, 3 Chỉ số Tổng hợp Lớn (Nội tâm hóa, Ngoại hiện hóa, Tổng vấn đề) và Thang Định hướng DSM-5 Vấn đề Phổ Tự kỷ (Autism Spectrum Problems).' + '
'; subTabs.innerHTML = '' + '' + '' + '' + '' + '' + '' + ''; } else { headerInfo.innerHTML = '2. Bảng Kiểm Hành Vi Trẻ Em Lứa Tuổi Học Đường ASEBA CBCL/6–18 (6 Đến 18 Tuổi)
' + '' + 'Đánh giá toàn diện 8 Thang Hội chứng Thực nghiệm ở lứa tuổi học đường (6 – 18 tuổi), phân tách rõ Nội tâm hóa (Internalizing) vs. Ngoại hiện hóa (Externalizing), các vấn đề Xã hội/Tư duy/Chú ý và phát hiện Hồ sơ Mất điều tiết Cảm xúc Nghiêm trọng (CBCL-DP).' + '
'; subTabs.innerHTML = '' + '' + '' + '' + '' + '' + '' + '' + ''; } subTabs.querySelectorAll('.cb-stab').forEach(tab => { tab.onclick = function() { filterSub = this.getAttribute('data-sub'); subTabs.querySelectorAll('.cb-stab').forEach(t => t.classList.remove('active')); this.classList.add('active'); renderQuestions(); }; }); } function renderQuestions() { questionList.innerHTML = ''; const ansBtns = [ { val: 0, lbl: '0 - Không đúng (Not True)' }, { val: 1, lbl: '1 - Đôi khi / Đúng một phần (Sometimes)' }, { val: 2, lbl: '2 - Rất đúng / Thường xuyên (Very True)' } ]; const list = (activeForm === 'preschool') ? preschoolItems : schoolItems; const scaleMap = (activeForm === 'preschool') ? preschoolScales : schoolScales; const store = (activeForm === 'preschool') ? scoresPreschool : scoresSchool; list.forEach(function(it, idx) { if (filterSub !== 'all' && it.sc !== filterSub) return; const uVal = (store[it.id] !== undefined) ? store[it.id] : 0; const sCfg = scaleMap[it.sc]; let rowCls = 'cb-item'; if (uVal === 2) rowCls += ' pts-2'; else if (uVal === 1) rowCls += ' pts-1'; const btnsHtml = ansBtns.map(b => { const cls = 'cb-abtn' + (uVal === b.val ? ' sel-' + b.val : ''); return ''; }).join(''); const broadTag = (sCfg.broad === 'int') ? 'Nội tâm hóa (Internalizing)' : (sCfg.broad === 'ext' ? 'Ngoại hiện hóa (Externalizing)' : 'Hội chứng chuyên biệt'); const asdTag = it.dsmASD ? '★ Thuộc Thang DSM-5 Phổ Tự kỷ' : ''; const el = document.createElement('div'); el.className = rowCls; el.innerHTML = '' + '' + ' – Nội tâm hóa (Internalizing = ER+AD+SC+WI): ' + tInt + 'T (' + cInt.text + ').
' + ' – Ngoại hiện hóa (Externalizing = AP+AG): ' + tExt + 'T (' + cExt.text + ').
' + ' – Tổng các vấn đề (Total Problems): ' + tTot + 'T (' + cTot.text + ').
' + '• 2. Các Tiểu thang Hội chứng Vượt ngưỡng (≥ 65T): ' + (elevatedSyndromes.join(', ') || 'Không có thang hội chứng nào vượt ngưỡng 65T.') + '
' + '• 3. Đánh giá Chuyên biệt Thang DSM-5 Vấn đề Phổ Tự kỷ (Autism Spectrum Problems = ' + tDSM_ASD + 'T): ' + (tDSM_ASD >= 65 ? '⚠️ Điểm số trên thang Thu mình (Withdrawn) và Thang DSM-5 Phổ Tự kỷ (' + tDSM_ASD + 'T ≥ 65T) tăng cao có ý nghĩa lâm sàng. Theo nghiên cứu của Achenbach & Rescorla, sự kết hợp giữa Thu mình (WI) + Phản ứng cảm xúc (ER) + Vấn đề chú ý (AP) trên CBCL/1½–5 có độ nhạy rất cao với Rối loạn phổ tự kỷ (ASD); khuyến nghị thực hiện ngay chẩn đoán chuyên sâu bằng ADOS-2 / CARS-2 / DSM-5-TR.' : '✓ Điểm số trên thang DSM-5 Phổ Tự kỷ nằm trong giới hạn bình thường (≤ 64T).'); } else { // CBCL/6-18 SUMMARY const raw = { ad: 0, wd: 0, sc: 0, sp: 0, tp: 0, ap: 0, rb: 0, ag: 0 }; schoolItems.forEach(function(it) { const v = (scoresSchool[it.id] !== undefined) ? scoresSchool[it.id] : 0; raw[it.sc] += v; }); const intRaw = raw.ad + raw.wd + raw.sc; // 18 mục -> Max 36 const extRaw = raw.rb + raw.ag; // 12 mục -> Max 24 const totRaw = intRaw + extRaw + raw.sp + raw.tp + raw.ap; // 48 mục -> Max 96 const tInt = calcBroadbandT(intRaw, 36); const tExt = calcBroadbandT(extRaw, 24); const tTot = calcBroadbandT(totRaw, 96); const tMap = {}; Object.keys(schoolScales).forEach(k => { tMap[k] = calcSyndromeT(raw[k], 12); }); // Tính chỉ số Hồ sơ Mất điều tiết Cảm xúc Nghiêm trọng (CBCL-DP = T_AD + T_AP + T_AG, ngưỡng >= 210T) const dpSumT = tMap.ad + tMap.ap + tMap.ag; const isDP = (dpSumT >= 200); const cInt = classifyBroadbandT(tInt); const cExt = classifyBroadbandT(tExt); const cTot = classifyBroadbandT(tTot); dashHeadline.textContent = 'CBCL/6–18 Tổng Vấn Đề: ' + tTot + 'T • Nội Tâm Hóa: ' + tInt + 'T • Ngoại Hiện Hóa: ' + tExt + 'T'; dashPillars.innerHTML = '
' + '• 2. Các Thang Hội chứng Vượt ngưỡng (≥ 65T): ' + (elevatedList.join(', ') || 'Không có thang hội chứng nào vượt ngưỡng 65T.') + '
' + (isASDPattern ? '• 🧩 Phát hiện "Bộ Ba Tự Kỷ" trên CBCL/6–18 (Withdrawn/Depressed = ' + tMap.wd + 'T + Social Problems = ' + tMap.sp + 'T + Thought Problems = ' + tMap.tp + 'T): Nghiên cứu quốc tế chỉ ra rằng sự tăng cao đồng thời của 3 thang Thu mình (WD) + Vấn đề xã hội (SP) + Vấn đề tư duy (TP) là chữ ký đặc hiệu của Rối loạn phổ tự kỷ ở lứa tuổi học đường. Cần phối hợp đánh giá thêm bằng SRS-2 / ADOS-2.
' : '') + (isDP ? '• 🚨 Cảnh báo Hồ sơ Mất điều tiết Cảm xúc Nghiêm trọng (CBCL Dysregulation Profile / AAA = ' + dpSumT + 'T ≥ 200T): Tổng điểm T-Score của 3 thang Lo âu/Trầm cảm (' + tMap.ad + 'T) + Vấn đề chú ý (' + tMap.ap + 'T) + Hành vi hung tính (' + tMap.ag + 'T) đạt mức rất cao, phản ánh sự suy giảm nặng nề khả năng tự điều chỉnh cả cảm xúc, sự chú ý lẫn hành vi.' : ''); } updateFloatingFabVisibility(); } function applyPreset(type) { scoresPreschool = {}; scoresSchool = {}; preschoolItems.forEach(it => { scoresPreschool[it.id] = 0; }); schoolItems.forEach(it => { scoresSchool[it.id] = 0; }); if (type === 'reset' || type === 'normal') { if (type === 'normal') { preschoolItems.forEach((it, idx) => { scoresPreschool[it.id] = (idx % 5 === 0) ? 1 : 0; }); schoolItems.forEach((it, idx) => { scoresSchool[it.id] = (idx % 5 === 0) ? 1 : 0; }); } renderQuestions(); updateSummary(); return; } if (type === 'asd_profile') { // Kiểu hình Tự kỷ: Mầm non tăng cao WI, ER, AP; Học đường tăng cao WD, SP, TP, AP preschoolItems.forEach(it => { if (it.sc === 'wi' || it.dsmASD) scoresPreschool[it.id] = 2; else if (it.sc === 'er' || it.sc === 'ap' || it.sc === 'sl') scoresPreschool[it.id] = 1; }); schoolItems.forEach(it => { if (it.sc === 'wd' || it.sc === 'sp' || it.sc === 'tp') scoresSchool[it.id] = 2; else if (it.sc === 'ap') scoresSchool[it.id] = 1; }); } else if (type === 'internalizing') { // Nội tâm hóa: Lo âu/Trầm cảm + Thu mình + Than phiền cơ thể cao preschoolItems.forEach(it => { if (it.sc === 'er' || it.sc === 'ad' || it.sc === 'sc' || it.sc === 'wi') scoresPreschool[it.id] = 2; }); schoolItems.forEach(it => { if (it.sc === 'ad' || it.sc === 'wd' || it.sc === 'sc') scoresSchool[it.id] = 2; }); } else if (type === 'dysregulation') { // Hồ sơ mất điều tiết CBCL-DP: AD + AP + AG đều >= 70T preschoolItems.forEach(it => { if (it.sc === 'er' || it.sc === 'ad' || it.sc === 'ap' || it.sc === 'ag') scoresPreschool[it.id] = 2; }); schoolItems.forEach(it => { if (it.sc === 'ad' || it.sc === 'ap' || it.sc === 'ag' || it.sc === 'rb') scoresSchool[it.id] = 2; }); } renderQuestions(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); cbWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { cbWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 980px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } shadow.querySelectorAll('#formSwitcher .form-btn').forEach(function(btn) { btn.onclick = function() { activeForm = this.getAttribute('data-form'); shadow.querySelectorAll('#formSwitcher .form-btn').forEach(b => b.classList.remove('active')); this.classList.add('active'); renderHeaderAndTabs(); renderQuestions(); updateSummary(); }; }); shadow.querySelectorAll('.cb-pbtn').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-preset')); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); renderHeaderAndTabs(); applyPreset('asd_profile'); })();
CBCL (Child Behavior Checklist — Bảng Kiểm Hành Vi Trẻ Em) thuộc hệ thống ASEBA (Achenbach System of Empirically Based Assessment) do Giáo sư Thomas M. Achenbach (Đại học Vermont, Hoa Kỳ) phát triển là công cụ đánh giá tâm bệnh học, hành vi và cảm xúc phổ quát (Broad-band Behavioral Rating Scale) uy tín số 1 thế giới hiện nay (được sử dụng rộng rãi nhất tại các khoa Tâm thần Nhi, Tâm bệnh Bệnh viện Nhi Trung ương, Nhi Đồng 1 & 2 tại Việt Nam).
Trong quy trình đánh giá Rối loạn phổ tự kỷ (ASD) và ADHD, CBCL đóng vai trò như một “Máy quét toàn diện” (Broad-spectrum Scanner): không chỉ phát hiện nguy cơ tự kỷ và tăng động, mà còn bóc tách chính xác các vấn đề nội tâm hóa (Lo âu, Trầm cảm, Thu mình, Than phiền cơ thể, Giấc ngủ) và ngoại hiện hóa (Hung tính, Phá vỡ quy tắc, Chống đối) để bác sĩ không bỏ sót bất kỳ rối loạn đồng mắc nào.
1. Hai Phiên bản theo Độ tuổi của Hệ thống CBCL (ASEBA)
Hệ thống CBCL được chia làm 2 phiên bản chuẩn hóa riêng biệt theo lứa tuổi, chấm trên thang 3 mức: 0 - Không đúng (Not True) • 1 - Đôi khi đúng / Đúng một phần (Somewhat or Sometimes True) • 2 - Rất đúng / Thường xuyên đúng (Very True or Often True):
Tiêu chuẩn chẩn đoán - Chỉ số đo lường
Giải thích dễ hiểu về các bộ tiêu chuẩn y khoa quốc tế mà bác sĩ dùng để chẩn đoán, cùng hướng dẫn cách đọc các con số, thuật ngữ chuyên ngành thường gặp trong tờ kết quả đánh giá của con.
[Tiêu chuẩn quốc tế] DSM-5-TR: Cẩm nang tiêu chuẩn chẩn đoán và thống kê các rối loạn tâm thần của Hoa Kỳ (APA)
(function() { const host = document.getElementById('dsm5tr-wp-host'); if (!host) return; const placeholder = document.createComment('dsm5tr-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // Dữ liệu các Tiêu chuẩn Chẩn đoán chuẩn DSM-5-TR (APA, 2022) const criteriaList = [ // TIÊU CHUẨN A: BẮT BUỘC ĐẠT ĐỦ CẢ 3/3 (A1, A2, A3) { id: 'A1', group: 'A', code: 'Tiêu chí A1 (Bắt buộc)', title: 'A1. Khiếm khuyết trong tương hỗ cảm xúc – xã hội (Social-Emotional Reciprocity)', desc: 'Biểu hiện từ cách tiếp cận xã hội bất thường và thất bại trong hội thoại qua lại bình thường; đến giảm chia sẻ sở thích, cảm xúc hoặc tình cảm; cho đến thất bại hoàn toàn trong việc khởi xướng hoặc đáp lại các tương tác xã hội.', examples: 'Ví dụ lâm sàng: Trẻ ít chủ động khoe đồ chơi (sự chú ý chung), gọi tên ít quay lại, chỉ kéo tay người lớn khi cần lấy đồ chứ không trò chuyện qua lại, hoặc chỉ độc thoại một chiều về chủ đề mình thích.' }, { id: 'A2', group: 'A', code: 'Tiêu chí A2 (Bắt buộc)', title: 'A2. Khiếm khuyết trong các hành vi giao tiếp phi ngôn ngữ dùng cho tương tác xã hội', desc: 'Biểu hiện từ việc giao tiếp bằng lời nói và không lời thiếu sự phối hợp nhịp nhàng; đến những bất thường trong giao tiếp ánh mắt và ngôn ngữ cơ thể hoặc khiếm khuyết trong việc hiểu và sử dụng cử chỉ; cho đến sự vắng bóng hoàn toàn biểu cảm khuôn mặt và giao tiếp không lời.', examples: 'Ví dụ lâm sàng: Giao tiếp mắt kém/nhìn lướt qua, không biết chỉ ngón trỏ để chia sẻ sự quan tâm, nét mặt đơ cứng hoặc biểu cảm không khớp với lời nói, không hiểu cử chỉ/nét mặt của người đối diện.' }, { id: 'A3', group: 'A', code: 'Tiêu chí A3 (Bắt buộc)', title: 'A3. Khiếm khuyết trong việc phát triển, duy trì và thấu hiểu các mối quan hệ', desc: 'Biểu hiện từ những khó khăn trong việc điều chỉnh hành vi cho phù hợp với các ngữ cảnh xã hội khác nhau; đến những khó khăn trong việc chia sẻ trò chơi tưởng tượng hoặc kết bạn; cho đến sự thờ ơ không quan tâm đến bạn đồng trang lứa.', examples: 'Ví dụ lâm sàng: Thích chơi một mình hơn chơi với bạn, không biết tham gia trò chơi đóng vai giả vờ hợp tác, áp đặt luật chơi cứng nhắc lên bạn, hoặc muốn kết bạn nhưng không hiểu quy tắc xã hội ngầm.' }, // TIÊU CHUẨN B: BẮT BUỘC ĐẠT TỐI THIỂU 2/4 (B1, B2, B3, B4) { id: 'B1', group: 'B', code: 'Tiêu chí B1 (Cần ≥ 2/4 mục nhóm B)', title: 'B1. Vận động, sử dụng đồ vật hoặc lời nói rập khuôn hoặc lặp đi lặp lại', desc: 'Bao gồm các cử động vận động định hình đơn giản, xếp đồ chơi thành hàng hoặc lật xoay đồ vật, nhại lời (echolalia), hoặc dùng các cụm từ đặc dị (idiosyncratic phrases).', examples: 'Ví dụ lâm sàng: Vẫy tay, búng ngón tay, đi nhón gót, xoay tròn người; xếp ô tô/khối gỗ thành hàng dài cố định, quay bánh xe; nhại lại câu hỏi hoặc lặp lại lời thoại từ tivi/quảng cáo.' }, { id: 'B2', group: 'B', code: 'Tiêu chí B2 (Cần ≥ 2/4 mục nhóm B)', title: 'B2. Khăng khăng giữ sự giống nhau, tuân thủ cứng nhắc các thói quen hoặc các mẫu hành vi nghi thức', desc: 'Bao gồm các nghi thức hành vi bằng lời hoặc không lời; cực kỳ căng thẳng trước những thay đổi nhỏ; gặp khó khăn với việc chuyển tiếp hoạt động; mẫu tư duy cứng nhắc; các nghi thức chào hỏi; cần phải đi cùng một lộ trình hoặc ăn cùng một món ăn mỗi ngày.', examples: 'Ví dụ lâm sàng: Hoảng loạn/ăn vạ dữ dội nếu đi đường khác mọi ngày hoặc đổi vị trí đồ đạc; bắt người nhà phải nói đúng một câu cố định; rất khó khăn khi chuyển từ hoạt động đang thích sang hoạt động khác.' }, { id: 'B3', group: 'B', code: 'Tiêu chí B3 (Cần ≥ 2/4 mục nhóm B)', title: 'B3. Các sở thích thu hẹp, cố định với cường độ hoặc sự tập trung bất thường', desc: 'Gắn bó mạnh mẽ với hoặc bận tâm quá mức đến những đồ vật khác thường, hoặc các sở thích hạn hẹp một cách quá mức hay dai dẳng (perseverative interests).', examples: 'Ví dụ lâm sàng: Luôn cầm khư khư một vật vô tri (nắp chai, sợi dây, que gỗ); hoặc đam mê ám ảnh về biển số xe, bảng chữ cái, lịch vạn niên, hệ thống tàu điện, khủng long, quạt trần.' }, { id: 'B4', group: 'B', code: 'Tiêu chí B4 (Cần ≥ 2/4 mục nhóm B)', title: 'B4. Phản ứng quá mức hoặc kém phản ứng với kích thích giác quan, hoặc quan tâm bất thường đến yếu tố giác quan', desc: 'Biểu hiện sự thờ ơ rõ rệt với cảm giác đau/nhiệt độ, phản ứng chống đối với các âm thanh hoặc kết cấu bề mặt cụ thể, ngửi hoặc sờ chạm quá mức vào đồ vật, bị cuốn hút thị giác bởi ánh đèn hoặc chuyển động quay.', examples: 'Ví dụ lâm sàng: Lấy tay bịt tai trước tiếng máy sấy/máy xay, kén ăn kết cấu cực đoan, khó chịu với mác quần áo/cắt tóc; ngã đau không khóc; nhìn nghiêng sát mắt vào vật chuyển động hoặc ngửi/liếm đồ vật.' }, // TIÊU CHUẨN C, D, E: BẮT BUỘC ĐẠT ĐỦ CẢ 3/3 { id: 'C', group: 'CDE', code: 'Tiêu chuẩn C (Bắt buộc)', title: 'C. Các triệu chứng phải xuất hiện từ giai đoạn phát triển sớm (Early Developmental Period)', desc: 'Lưu ý chuẩn DSM-5-TR: Các triệu chứng có thể chưa biểu hiện đầy đủ cho đến khi các đòi hỏi giao tiếp xã hội vượt quá năng lực hạn chế của cá nhân, hoặc có thể bị che lấp (masked) bởi các chiến lược học được khi lớn lên.', examples: 'Ghi nhận qua bệnh sử gia đình hoặc sổ khám: Dấu hiệu chậm nói, ít giao tiếp mắt, ít chỉ trỏ hoặc hành vi rập khuôn đã có từ những năm đầu đời.' }, { id: 'D', group: 'CDE', code: 'Tiêu chuẩn D (Bắt buộc)', title: 'D. Các triệu chứng gây suy giảm có ý nghĩa lâm sàng trong chức năng hiện tại', desc: 'Các triệu chứng gây ra sự suy giảm đáng kể về mặt lâm sàng trong lĩnh vực xã hội, học đường, nghề nghiệp hoặc các lĩnh vực hoạt động quan trọng khác hiện tại.', examples: 'Ảnh hưởng trực tiếp đến khả năng hòa nhập trường lớp, kết bạn, tự phục vụ hoặc sinh hoạt gia đình.' }, { id: 'E', group: 'CDE', code: 'Tiêu chuẩn E (Bắt buộc)', title: 'E. Không được giải thích tốt hơn bởi Rối loạn Phát triển Trí tuệ hoặc Chậm Phát triển Toàn diện (GDD)', desc: 'Rối loạn phát triển trí tuệ (Intellectual Developmental Disorder) và Rối loạn phổ tự kỷ thường đồng mắc; để đặt chẩn đoán đồng mắc cả hai, năng lực giao tiếp xã hội của trẻ phải thấp hơn rõ rệt so với mức độ phát triển chung dự kiến của trẻ đó.', examples: 'Đã loại trừ trường hợp trẻ chỉ chậm đồng đều mà giao tiếp mắt, cử chỉ và tương tác cảm xúc vẫn phù hợp với tuổi trí tuệ.' } ]; // Trạng thái từng tiêu chí: // A1..A3, B1..B4: 'NO' (Không có), 'HIST' (Đạt theo bệnh sử), 'CUR_L1' (Đạt hiện tại - Mức 1), 'CUR_L2' (Đạt hiện tại - Mức 2), 'CUR_L3' (Đạt hiện tại - Mức 3) // C, D, E: 'YES' (Thỏa mãn), 'NO' (Không thỏa mãn) let statusMap = {}; let specIntellectual = 'none'; // 'none' | 'with_id' let specLanguage = 'with_lang_imp'; // 'none' | 'with_lang_imp' | 'nonverbal' let specComorbid = 'none'; // 'none' | 'adhd' | 'genetic' let filterGrp = 'all'; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .d5-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .d5-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .d5-inner { padding: 24px; max-width: 980px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .d5-wrap.is-fullscreen .d5-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .d5-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(30, 58, 138, 0.45), 0 0 0 0 rgba(30, 58, 138, 0.4); } 70% { box-shadow: 0 6px 20px rgba(30, 58, 138, 0.45), 0 0 0 10px rgba(30, 58, 138, 0); } 100% { box-shadow: 0 6px 20px rgba(30, 58, 138, 0.45), 0 0 0 0 rgba(30, 58, 138, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #1e3a8a 0%, #2563eb 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(30, 58, 138, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Header */ .d5-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .d5-header-text { flex: 1 1 260px; } .d5-title { font-size: 21px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .d5-desc { font-size: 14px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #eff6ff; color: #1e3a8a; border: 1px solid #bfdbfe; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #2563eb; color: #ffffff; border-color: #2563eb; } /* Controls & Specifiers */ .d5-presets { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; margin-bottom: 14px; } .d5-lbl { font-size: 12px; font-weight: 800; color: #0f172a; text-transform: uppercase; margin-right: 4px; } .d5-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; touch-action: manipulation; } .d5-pbtn:hover { background: #f1f5f9; } .d5-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } .d5-spec-panel { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 12px; padding: 12px 14px; margin-bottom: 16px; } .d5-select { width: 100%; padding: 8px 10px; border: 1px solid #cbd5e1; border-radius: 7px; font-size: 13px; font-weight: 600; color: #1e293b; background: #ffffff; margin-top: 4px; } .d5-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 16px; } .d5-tab { padding: 6px 12px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .d5-tab.active { background: #1e3a8a; color: #ffffff; border-color: #1e3a8a; } /* Sticky Dashboard */ .d5-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .d5-wrap.is-fullscreen .d5-dash { top: 58px; } .d5-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .d5-score-big { font-size: 20px; font-weight: 800; line-height: 1.25; } .d5-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .d5-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .d5-pillars { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; font-size: 12px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .d5-pillar-box { background: #1e293b; padding: 8px 10px; border-radius: 8px; border-left: 3px solid #475569; } .d5-pillar-box.met { border-left-color: #ef4444; background: rgba(239, 68, 68, 0.15); } .d5-pillar-box.unmet { border-left-color: #10b981; } .d5-pillar-val { font-weight: 800; color: #ffffff; font-size: 13.5px; display: block; margin-top: 2px; } /* Danh sách các tiêu chí DSM-5-TR */ .d5-item { border: 1px solid #e2e8f0; border-radius: 12px; padding: 15px 16px; margin-bottom: 12px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 8px; } .d5-item.crit-met { border-color: #fca5a5; background: #fff5f5; border-left: 5px solid #ef4444; } .d5-item.crit-unmet { border-color: #a7f3d0; background: #f0fdf4; } .d5-item-title { font-size: 15px; font-weight: 800; color: #0f172a; } .d5-item-desc { font-size: 13.5px; color: #334155; } .d5-item-ex { font-size: 12.8px; color: #475569; background: rgba(15, 23, 42, 0.03); padding: 7px 10px; border-radius: 6px; border-left: 3px solid #94a3b8; } .d5-tags { display: flex; flex-wrap: wrap; gap: 6px; } .d5-tag { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .d5-tag.grp-A { background: #dbeafe; color: #1d4ed8; } .d5-tag.grp-B { background: #fef3c7; color: #b45309; } .d5-tag.grp-CDE { background: #dcfce7; color: #15803d; } .d5-ans-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; margin-top: 4px; } .d5-ans-grid.grid-2 { grid-template-columns: 1fr 1fr; } .d5-abtn { padding: 8px 6px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 11.8px; font-weight: 700; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .d5-abtn:hover { border-color: #64748b; } .d5-abtn.sel-no { background: #10b981; border-color: #10b981; color: #ffffff; } .d5-abtn.sel-hist { background: #6366f1; border-color: #6366f1; color: #ffffff; } .d5-abtn.sel-l1 { background: #f59e0b; border-color: #f59e0b; color: #ffffff; } .d5-abtn.sel-l2 { background: #ea580c; border-color: #ea580c; color: #ffffff; } .d5-abtn.sel-l3, .d5-abtn.sel-yes { background: #ef4444; border-color: #ef4444; color: #ffffff; } /* Bảng Ma trận 3 Mức độ Cần Hỗ trợ chuẩn DSM-5-TR */ .d5-matrix-card { margin-top: 20px; padding: 16px 18px; border-radius: 12px; background: #ffffff; border: 1px solid #e2e8f0; overflow-x: auto; } .d5-table { width: 100%; border-collapse: collapse; font-size: 13px; min-width: 640px; } .d5-table th, .d5-table td { border: 1px solid #cbd5e1; padding: 10px 12px; text-align: left; vertical-align: top; } .d5-table th { background: #f1f5f9; font-weight: 800; color: #0f172a; } .d5-table tr.active-lvl { background: #fffbeb; border: 2px solid #f59e0b; } .d5-result-box { margin-top: 16px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #1e3a8a; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 760px) { .d5-inner { padding: 14px; } .d5-title { font-size: 18px; } .d5-spec-panel { grid-template-columns: 1fr; } .d5-pillars { grid-template-columns: 1fr 1fr; } .d5-ans-grid { grid-template-columns: 1fr; } .d5-pbtn.reset { margin-left: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
Bảng Kiểm Tiêu Chuẩn Chẩn Đoán Rối Loạn Phổ Tự Kỷ DSM-5-TR (APA, 2022 • Mã ICD-10-CM: F84.0)
Công cụ đối chiếu chính thức theo bản hiệu đính DSM-5-TR (2022) của Hiệp hội Tâm thần học Hoa Kỳ. Chẩn đoán xác định yêu cầu hội đủ: Tiêu chuẩn A (Đủ 3/3 tiêu chí A1, A2, A3) + Tiêu chuẩn B (Ít nhất 2/4 tiêu chí B1–B4) + Tiêu chuẩn C, D, E (Đủ 3/3), kèm phân loại Mức độ cần hỗ trợ (Level 1, 2, 3) và Các chỉ định đi kèm (Specifiers).
| Mức độ hỗ trợ (Severity Level) | Giao tiếp Xã hội (Social Communication - Tiêu chuẩn A) | Hành vi Hạn hẹp, Lặp lại (Restricted, Repetitive Behaviors - Tiêu chuẩn B) |
|---|---|---|
| Mức độ 1 (Level 1) "Cần hỗ trợ" (Requiring support) |
Nếu không có hỗ trợ tại chỗ, khiếm khuyết giao tiếp xã hội gây suy giảm dễ nhận thấy. Khó bắt đầu tương tác xã hội, phản ứng không điển hình hoặc không thành công trước lời mở đầu của người khác. Có vẻ giảm hứng thú tương tác xã hội. | Sự thiếu linh hoạt của hành vi gây cản trở đáng kể hoạt động ở một hoặc nhiều ngữ cảnh. Khó chuyển đổi giữa các hoạt động. Vấn đề về tổ chức và lập kế hoạch cản trở tính độc lập. |
| Mức độ 2 (Level 2) "Cần hỗ trợ đáng kể" (Substantial support) |
Khiếm khuyết rõ rệt về kỹ năng giao tiếp xã hội cả bằng lời và không lời; suy giảm xã hội biểu hiện rõ ngay cả khi đã có hỗ trợ tại chỗ; rất hạn chế khởi xướng tương tác xã hội và phản ứng nghèo nàn/bất thường. | Sự thiếu linh hoạt của hành vi, cực kỳ khó khăn khi đối mặt với sự thay đổi, hoặc các hành vi hạn hẹp/lặp lại xuất hiện thường xuyên đến mức người quan sát bình thường cũng nhận ra ngay và cản trở hoạt động trong nhiều bối cảnh. |
| Mức độ 3 (Level 3) "Cần hỗ trợ rất nhiều" (Very substantial support) |
Khiếm khuyết nghiêm trọng về kỹ năng giao tiếp xã hội bằng lời và không lời gây suy giảm nặng nề chức năng; rất hạn chế khởi xướng tương tác và chỉ phản ứng tối thiểu với người khác (ví dụ: chỉ nói vài từ đơn để đòi nhu cầu trực tiếp). | Sự thiếu linh hoạt của hành vi, cực kỳ khó thích ứng với thay đổi, hoặc các hành vi hạn hẹp/lặp lại gây cản trở nghiêm trọng đến mọi lĩnh vực hoạt động. Cực kỳ đau khổ/khó khăn khi phải chuyển hướng sự tập trung hoặc hành động. |
• Bằng chứng hội tụ tiêu chí: Đạt ${countA}/3 tiêu chí Nhóm A (yêu cầu bắt buộc 3/3) + Đạt ${countB}/4 tiêu chí Nhóm B (yêu cầu ≥ 2/4) + Thỏa mãn đầy đủ 3/3 điều kiện C, D, E.
• Phân loại Mức độ Cần Hỗ trợ (Severity Specifiers):
– Về Giao tiếp xã hội (Tiêu chuẩn A): Mức độ ${lvlA} (${lvlA === 3 ? 'Cần hỗ trợ rất nhiều' : (lvlA === 2 ? 'Cần hỗ trợ đáng kể' : 'Cần hỗ trợ')}).
– Về Hành vi hạn hẹp & lặp lại (Tiêu chuẩn B): Mức độ ${lvlB} (${lvlB === 3 ? 'Cần hỗ trợ rất nhiều' : (lvlB === 2 ? 'Cần hỗ trợ đáng kể' : 'Cần hỗ trợ')}).
• Các chỉ định lâm sàng đi kèm (Clinical Specifiers):
1. Trí tuệ: ${idSpecText}.
2. Ngôn ngữ: ${langSpecText}.
3. Bệnh lý đi kèm: ${comSpecText}. `; } else if (metAllA && !metMinB && metAllCDE) { // Đạt đủ 3/3 tiêu chí nhóm A và C, D, E nhưng chỉ có 0 hoặc 1 tiêu chí nhóm B -> Chẩn đoán phân biệt với Rối loạn Giao tiếp Xã hội (SPCD) badgeColor = '#0284c7'; badgeTxt = 'GỢI Ý RỐI LOẠN GIAO TIẾP XÃ HỘI (SPCD • F80.82)'; dashHeadline.textContent = `Đạt đủ Tiêu chuẩn A (3/3) nhưng chưa đủ Tiêu chuẩn B (${countB}/4 < 2 tiêu chí)`; valLvl.textContent = 'Phân biệt SPCD'; reportHtml = `
• Ghi chú chính thức của DSM-5-TR: "Những cá nhân có khiếm khuyết rõ rệt về giao tiếp xã hội nhưng các triệu chứng không đáp ứng đủ tiêu chuẩn của Rối loạn phổ tự kỷ (do không có đủ ≥ 2 tiêu chí hành vi hạn hẹp/lặp lại nhóm B ở cả hiện tại lẫn bệnh sử) cần được đánh giá theo chẩn đoán Rối loạn Giao tiếp Xã hội (Social [Pragmatic] Communication Disorder - SPCD, Mã ICD-10-CM: F80.82)." `; } else { badgeColor = '#10b981'; badgeTxt = 'CHƯA ĐỦ TIÊU CHUẨN CHẨN ĐOÁN ASD'; dashHeadline.textContent = `Chưa hội đủ điều kiện bắt buộc của thuật toán DSM-5-TR (A: ${countA}/3 • B: ${countB}/4 • C-D-E: ${countCDE}/3)`; valLvl.textContent = 'Không đủ chuẩn'; reportHtml = ` Kết luận Đối chiếu DSM-5-TR — Chưa Đạt Ngưỡng Chẩn Đoán Rối Loạn Phổ Tự Kỷ (F84.0):
• Để thiết lập chẩn đoán xác định Rối loạn phổ tự kỷ theo DSM-5-TR, cá nhân bắt buộc phải đạt đồng thời: Đủ 3/3 tiêu chí nhóm A (Hiện đạt: ${countA}/3), tối thiểu 2/4 tiêu chí nhóm B (Hiện đạt: ${countB}/4) và đủ 3/3 điều kiện C, D, E (Hiện đạt: ${countCDE}/3).
• Nếu trẻ chỉ chậm nói đơn thuần (không suy giảm tương hỗ cảm xúc A1 và giao tiếp phi ngôn ngữ A2), cần đánh giá theo hướng Rối loạn Ngôn ngữ (Language Disorder - F80.9). `; } scoreBadge.textContent = badgeTxt; scoreBadge.style.background = badgeColor; scoreBadge.style.color = '#ffffff'; resultBox.style.borderLeftColor = badgeColor; resultBox.innerHTML = reportHtml; updateFloatingFabVisibility(); } function applyPreset(type) { statusMap = {}; criteriaList.forEach(c => { statusMap[c.id] = 'NO'; }); if (type === 'reset') { renderItems(); updateSummary(); return; } if (type === 'asd_l1') { // ASD Level 1 (Tự kỷ chức năng cao) statusMap['A1'] = 'CUR_L1'; statusMap['A2'] = 'CUR_L1'; statusMap['A3'] = 'CUR_L1'; statusMap['B1'] = 'NO'; statusMap['B2'] = 'CUR_L1'; statusMap['B3'] = 'CUR_L1'; statusMap['B4'] = 'HIST'; statusMap['C'] = 'YES'; statusMap['D'] = 'YES'; statusMap['E'] = 'YES'; selSpecID.value = 'none'; selSpecLang.value = 'none'; } else if (type === 'asd_l2') { // ASD Level 2 (Cần hỗ trợ đáng kể) statusMap['A1'] = 'CUR_L2'; statusMap['A2'] = 'CUR_L2'; statusMap['A3'] = 'CUR_L2'; statusMap['B1'] = 'CUR_L2'; statusMap['B2'] = 'CUR_L2'; statusMap['B3'] = 'NO'; statusMap['B4'] = 'CUR_L1'; statusMap['C'] = 'YES'; statusMap['D'] = 'YES'; statusMap['E'] = 'YES'; selSpecID.value = 'none'; selSpecLang.value = 'with_lang_imp'; } else if (type === 'asd_l3') { // ASD Level 3 (Cần hỗ trợ rất nhiều) statusMap['A1'] = 'CUR_L3'; statusMap['A2'] = 'CUR_L3'; statusMap['A3'] = 'CUR_L3'; statusMap['B1'] = 'CUR_L3'; statusMap['B2'] = 'CUR_L2'; statusMap['B3'] = 'CUR_L2'; statusMap['B4'] = 'CUR_L3'; statusMap['C'] = 'YES'; statusMap['D'] = 'YES'; statusMap['E'] = 'YES'; selSpecID.value = 'with_id'; selSpecLang.value = 'nonverbal'; } else if (type === 'spcd') { // Rối loạn giao tiếp xã hội SPCD: Đạt đủ 3/3 nhóm A và C, D, E nhưng chỉ có 0 hoặc 1 nhóm B statusMap['A1'] = 'CUR_L1'; statusMap['A2'] = 'CUR_L1'; statusMap['A3'] = 'CUR_L1'; statusMap['B1'] = 'NO'; statusMap['B2'] = 'CUR_L1'; statusMap['B3'] = 'NO'; statusMap['B4'] = 'NO'; statusMap['C'] = 'YES'; statusMap['D'] = 'YES'; statusMap['E'] = 'YES'; } renderItems(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); d5Wrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { d5Wrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 980px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } shadow.querySelectorAll('.d5-pbtn').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-preset')); }; }); [selSpecID, selSpecLang, selSpecComorbid].forEach(sel => { sel.onchange = () => { updateSummary(); }; }); shadow.querySelectorAll('#grpTabs .d5-tab').forEach(function(tab) { tab.onclick = function() { filterGrp = this.getAttribute('data-grp'); shadow.querySelectorAll('#grpTabs .d5-tab').forEach(t => t.classList.remove('active')); this.classList.add('active'); renderItems(); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); applyPreset('asd_l2'); })();
DSM-5-TR (viết tắt của Diagnostic and Statistical Manual of Mental Disorders, Fifth Edition, Text Revision – Cẩm nang Chẩn đoán và Thống kê các Rối loạn Tâm thần, Phiên bản thứ 5, Bản hiệu đính văn bản) là hệ thống phân loại và tiêu chuẩn chẩn đoán các rối loạn tâm thần uy tín nhất thế giới hiện nay, được Hiệp hội Tâm thần học Hoa Kỳ (APA) xuất bản vào tháng 3 năm 2022.
Mục đích và Vai trò chính
DSM-5-TR được ví như “cuốn kinh thánh” của ngành tâm thần học và tâm lý học lâm sàng, đóng vai trò cốt lõi trong 3 lĩnh vực:
-
Chẩn đoán lâm sàng: Cung cấp danh sách các triệu chứng cụ thể, thời gian kéo dài và mức độ suy giảm chức năng để các bác sĩ tâm thần, nhà tâm lý học xác định chính xác một người đang mắc rối loạn nào (ví dụ: Trầm cảm chủ yếu, Rối loạn phổ tự kỷ, ADHD, Tâm thần phân liệt…).
-
Ngôn ngữ chung cho giới chuyên môn: Giúp các bác sĩ, nhà nghiên cứu trên toàn cầu trao đổi thông tin bệnh án và kết quả nghiên cứu một cách đồng nhất.
-
Cơ sở pháp lý và bảo hiểm: Cung cấp mã bệnh chuẩn xác (tích hợp với bảng mã ICD-10-CM) để làm căn cứ thanh toán bảo hiểm y tế, giám định pháp y và hoạch định chính sách sức khỏe cộng đồng.
Những điểm mới nổi bật của DSM-5-TR (so với DSM-5 năm 2013)
Sau gần một thập kỷ kể từ khi DSM-5 ra đời (2013), bản hiệu đính TR (Text Revision) đã được cập nhật với sự tham gia của hơn 200 chuyên gia nhằm phản ánh các nghiên cứu khoa học mới nhất:
-
Bổ sung chẩn đoán mới – Rối loạn đau buồn kéo dài (Prolonged Grief Disorder): Chính thức công nhận tình trạng đau buồn dữ dội, dai dẳng sau khi mất người thân (kéo dài trên 12 tháng ở người lớn và 6 tháng ở trẻ em/thanh thiếu niên) làm suy giảm nghiêm trọng khả năng sinh hoạt bình thường.
-
Cập nhật mã triệu chứng tự sát và tự hủy hoại: Thêm các mã theo dõi hành vi tự sát và tự gây thương tích không nhằm mục đích tự sát (Non-suicidal self-injury), giúp bác sĩ ghi nhận và theo dõi nguy cơ này ngay cả khi bệnh nhân không mắc một rối loạn tâm thần cụ thể nào khác.
-
Làm rõ tiêu chuẩn của hơn 70 rối loạn: Tinh chỉnh lại câu chữ trong tiêu chuẩn chẩn đoán của các rối loạn như Rối loạn phổ tự kỷ (ASD), Rối loạn lưỡng cực, Rối loạn trầm cảm… để tránh gây hiểu lầm hoặc chẩn đoán quá tay trong thực hành.
-
Chú trọng yếu tố văn hóa, chủng tộc và phân biệt đối xử: Lần đầu tiên đưa vào một nhóm chuyên trách rà soát tác động của sự phân biệt chủng tộc và bất bình đẳng xã hội lên sức khỏe tâm thần, giúp giảm thiểu định kiến khi chẩn đoán cho các nhóm yếu thế.
-
Cập nhật thuật ngữ về giới: Điều chỉnh ngôn ngữ trong chương Bất. ổn giới (Gender Dysphoria) theo hướng tôn trọng, chính xác và giảm kỳ thị hơn (ví dụ: thay “desired gender” thành “experienced gender”).
Sự khác biệt giữa DSM-5-TR và ICD-11 (Áp dụng tại Việt Nam)
Tại Việt Nam cũng như nhiều quốc gia khác, các bác sĩ và chuyên gia tâm lý thường sử dụng song song hai hệ thống này:
| Tiêu chí | DSM-5-TR | ICD-11 (Chương Rối loạn Tâm thần) |
| Tổ chức phát hành | Hiệp hội Tâm thần học Hoa Kỳ (APA) | Tổ chức Y tế Thế giới (WHO) |
| Phạm vi bao phủ | Chỉ chuyên biệt về các rối loạn tâm thần | Bao gồm tất cả các loại bệnh lý y khoa và tâm thần |
| Đặc điểm tiêu chuẩn | Tiêu chuẩn định lượng rất chi tiết, chặt chẽ (yêu cầu đủ X trên Y triệu chứng trong thời gian cụ thể) | Hướng dẫn mang tính mô tả linh hoạt hơn để phù hợp với nhiều nền văn hóa và điều kiện y tế khác nhau |
| Ứng dụng tại Việt Nam | Được ưa chuộng trong nghiên cứu khoa học, đào tạo chuyên sâu và đánh giá tâm lý lâm sàng | Là bộ mã bắt buộc về mặt hành chính y tế (hiện Việt Nam đang chuyển giao từ ICD-10 sang ICD-11) để làm bệnh án và bảo hiểm |
Lưu ý quan trọng: DSM-5-TR chỉ liệt kê các tiêu chuẩn nhận diện bệnh chứ không hướng dẫn phác đồ điều trị (như dùng thuốc gì hay trị liệu ra sao). Ngoài ra, bộ tiêu chuẩn này được thiết kế cho các chuyên gia đã qua đào tạo bài bản; việc người đọc tự tra cứu để “tự bắt bệnh” (self-diagnose) rất dễ dẫn đến sai lệch vì nhiều triệu chứng tâm lý có sự chồng chéo phức tạp với nhau.
[Tiêu chuẩn quốc tế] ICD-11: Bảng phân loại quốc tế về bệnh tật và các rối loạn phát triển thần kinh của WHO
(function() { const host = document.getElementById('icd11-wp-host'); if (!host) return; const placeholder = document.createComment('icd11-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // Các Đặc điểm Thiết yếu bắt buộc theo hướng dẫn CDDR của WHO ICD-11 (Mã gốc 6A02) const essentialFeatures = [ // TRỤ CỘT 1: KHIẾM KHUYẾT BỀN VỮNG TRONG KHỞI XƯỚNG & DUY TRÌ TƯƠNG TÁC XÃ HỘI VÀ GIAO TIP XÃ HỘI { id: 'S1', pillar: 'SOC', code: 'Đặc điểm Thiết yếu 1A (Trụ cột Xã hội)', title: '1A. Khiếm khuyết trong tương hỗ cảm xúc – xã hội và hội thoại qua lại hai chiều', desc: 'Khó khăn bền vững trong việc bắt đầu, đáp lại và duy trì tương tác xã hội qua lại; giảm chia sẻ sở thích, cảm xúc và chú ý chung (Joint Attention) với người khác.', examples: 'Biểu hiện: Ít chủ động khoe đồ vật hoặc chia sẻ niềm vui; gọi tên ít phản ứng; không biết duy trì hội thoại qua lại hoặc chỉ nói về chủ đề của riêng mình.' }, { id: 'S2', pillar: 'SOC', code: 'Đặc điểm Thiết yếu 1B (Trụ cột Xã hội)', title: '1B. Khiếm khuyết trong tích hợp giao tiếp bằng lời nói và phi ngôn ngữ', desc: 'Sự bất thường hoặc thiếu phối hợp giữa lời nói với giao tiếp ánh mắt, biểu cảm khuôn mặt, tư thế cơ thể và các cử chỉ giao tiếp quy ước (chỉ trỏ, vẫy tay, gật/lắc đầu).', examples: 'Biểu hiện: Giao tiếp mắt hạn chế hoặc cứng nhắc; ít dùng cử chỉ chỉ tay để chia sẻ; giọng điệu nói chuyện phẳng lì/khác lạ; khó hiểu ngôn ngữ cơ thể và ẩn ý.' }, { id: 'S3', pillar: 'SOC', code: 'Đặc điểm Thiết yếu 1C (Trụ cột Xã hội)', title: '1C. Khiếm khuyết trong thấu hiểu, thiết lập và duy trì mối quan hệ với bạn đồng trang lứa', desc: 'Khó khăn trong việc điều chỉnh hành vi theo các ngữ cảnh xã hội khác nhau, thiếu kỹ năng chơi tưởng tượng hợp tác hoặc thiếu sự nhạy cảm với cảm xúc của người khác.', examples: 'Biểu hiện: Chơi một mình tách biệt trong nhóm bạn; không biết tham gia trò chơi đóng vai cùng bạn; nhận xét thẳng thừng thiếu tinh tế hoặc rất khó kết bạn thân.' }, // TRỤ CỘT 2: CÁC MẪU HÀNH VI, SỞ THÍCH VÀ HOẠT ĐỘNG HẠN HẸP, LẶP ĐI LẶP LẠI VÀ CỨNG NHẮC { id: 'R1', pillar: 'RRB', code: 'Đặc điểm Thiết yếu 2A (Trụ cột Hành vi RRB)', title: '2A. Các cử động vận động, thao tác với đồ vật hoặc lời nói rập khuôn, lặp đi lặp lại', desc: 'Xuất hiện các vận động định hình đơn giản hoặc phức tạp, sử dụng đồ chơi theo cách rập khuôn không đúng chức năng, hoặc nhại lời (echolalia) / lặp lại cụm từ cố định.', examples: 'Biểu hiện: Vẫy tay, búng ngón tay, đi nhón gót, đung đưa người, xoay tròn; xếp đồ chơi thành hàng dài, xoay bánh xe; nhại lại câu hỏi hoặc lời quảng cáo.' }, { id: 'R2', pillar: 'RRB', code: 'Đặc điểm Thiết yếu 2B (Trụ cột Hành vi RRB)', title: '2B. Đòi hỏi sự bất biến quá mức, tuân thủ cứng nhắc thói quen hoặc hành vi nghi thức', desc: 'Kháng cự mạnh mẽ hoặc rơi vào trạng thái căng thẳng, hoảng loạn cực độ trước những thay đổi nhỏ trong môi trường, lịch trình sinh hoạt hoặc lộ trình di chuyển.', examples: 'Biểu hiện: Khóc thét/ăn vạ khi thay đổi đường đi, đổi chỗ ngồi hoặc chuyển tiếp hoạt động; đòi hỏi làm mọi việc theo đúng một trình tự nghi thức.' }, { id: 'R3', pillar: 'RRB', code: 'Đặc điểm Thiết yếu 2C (Trụ cột Hành vi RRB)', title: '2C. Sở thích thu hẹp, cố định với cường độ hoặc sự tập trung bất thường', desc: 'Bận tâm dai dẳng và mãnh liệt vào một vài chủ đề chuyên biệt hẹp, hoặc gắn bó kỳ lạ với những đồ vật vô tri không phải đồ chơi thông thường.', examples: 'Biểu hiện: Ám ảnh với con số, chữ cái, lịch, biển số xe, tàu hỏa, bản đồ, quạt quay; hoặc luôn cầm chặt một nắp chai, que nhựa, hòn đá.' }, { id: 'R4', pillar: 'RRB', code: 'Đặc điểm Thiết yếu 2D (Trụ cột Hành vi RRB)', title: '2D. Tăng nhạy cảm hoặc Giảm nhạy cảm suốt đời đối với các kích thích giác quan', desc: 'Phản ứng quá mức (né tránh/quá tải), kém phản ứng (thờ ơ với đau/nhiệt độ) hoặc tìm kiếm cuốn hút khác thường vào các yếu tố giác quan (âm thanh, ánh sáng, xúc giác, mùi vị).', examples: 'Biểu hiện: Bịt tai trước tiếng ồn thông thường, kén ăn kết cấu cực đoan, sợ cắt tóc/rửa mặt; nhìn nghiêng sát mắt vào vật chuyển động hoặc ngửi/liếm đồ vật.' }, // TRỤ CỘT 3: ĐIỀU KIỆN KHỞI PHÁT & SUY GIẢM CHỨC NĂNG BẮT BUỘC CỦA ICD-11 { id: 'O1', pillar: 'ONSET', code: 'Điều kiện Bắt buộc 3A (Khởi phát)', title: '3A. Khởi phát trong giai đoạn phát triển sớm (thường ở thời kỳ ấu nhi / đầu tuổi thơ)', desc: 'Các triệu chứng bắt đầu từ giai đoạn phát triển sớm, nhưng có thể chỉ bộc lộ đầy đủ sau này khi các yêu cầu xã hội vượt quá khả năng hạn chế của cá nhân.', examples: 'Xác nhận qua bệnh sử phát triển từ trước tuổi đi học (kể cả những trường hợp lớn lên mới đi khám do trước đó cố gắng ngụy trang xã hội).' }, { id: 'O2', pillar: 'ONSET', code: 'Điều kiện Bắt buộc 3B (Suy giảm chức năng)', title: '3B. Gây suy giảm đáng kể trong chức năng cá nhân, gia đình, xã hội, giáo dục hoặc nghề nghiệp', desc: 'Các khiếm khuyết đủ nghiêm trọng để gây cản trở rõ rệt hoạt động hàng ngày; nếu cá nhân duy trì được hoạt động thì phải trả giá bằng sự nỗ lực căng thẳng quá mức.', examples: 'Gây rào cản rõ trong giao tiếp gia đình, hòa nhập trường lớp, kết bạn hoặc công việc.' } ]; // Ma trận 6 Mã Chẩn đoán chính thức của ICD-11 (WHO) dựa trên IDD (Trí tuệ) và Functional Language (Ngôn ngữ chức năng) const icd11Subcodes = [ { code: '6A02.0', idd: 'no', lang: 'mild_none', name: '6A02.0 — Rối loạn phổ tự kỷ KHÔNG kèm rối loạn phát triển trí tuệ và suy giảm ngôn ngữ chức năng nhẹ hoặc không suy giảm', desc: 'Cá nhân có trí tuệ trong giới hạn bình thường (IQ ≥ 70) và sử dụng được câu nói/ngôn ngữ đầy đủ để giao tiếp nhu cầu cá nhân (Tương đương Hội chứng Asperger / Tự kỷ chức năng cao trước đây).' }, { code: '6A02.1', idd: 'yes', lang: 'mild_none', name: '6A02.1 — Rối loạn phổ tự kỷ CÓ kèm rối loạn phát triển trí tuệ và suy giảm ngôn ngữ chức năng nhẹ hoặc không suy giảm', desc: 'Cá nhân đáp ứng tiêu chuẩn Rối loạn phát triển trí tuệ (6A00), nhưng khả năng nói/ký hiệu chức năng tương đối tốt so với mức tuổi trí tuệ.' }, { code: '6A02.2', idd: 'no', lang: 'impaired', name: '6A02.2 — Rối loạn phổ tự kỷ KHÔNG kèm rối loạn phát triển trí tuệ và có suy giảm ngôn ngữ chức năng rõ rệt', desc: 'Cá nhân không bị khuyết tật trí tuệ (nhận thức phi ngôn ngữ bình thường), nhưng ngôn ngữ diễn đạt chức năng bị suy giảm rõ (chỉ dùng được từ đơn hoặc cụm từ ngắn).' }, { code: '6A02.3', idd: 'yes', lang: 'impaired', name: '6A02.3 — Rối loạn phổ tự kỷ CÓ kèm rối loạn phát triển trí tuệ và có suy giảm ngôn ngữ chức năng rõ rệt', desc: 'Cá nhân vừa có Rối loạn phát triển trí tuệ, vừa bị suy giảm rõ rệt ngôn ngữ chức năng (chỉ nói được từ đơn hoặc cụm từ đơn giản).' }, { code: '6A02.2 (Nonverbal / 6A02.4)', idd: 'no', lang: 'absent', name: '6A02.2 / 6A02.4 — Rối loạn phổ tự kỷ KHÔNG kèm rối loạn phát triển trí tuệ và vắng bóng hoàn toàn ngôn ngữ chức năng', desc: 'Cá nhân có nhận thức phi ngôn ngữ bình thường nhưng hoàn toàn không có lời nói hoặc phương tiện giao tiếp biểu tượng chức năng.' }, { code: '6A02.5', idd: 'yes', lang: 'absent', name: '6A02.5 — Rối loạn phổ tự kỷ CÓ kèm rối loạn phát triển trí tuệ và vắng bóng hoàn toàn ngôn ngữ chức năng', desc: 'Cá nhân vừa có Rối loạn phát triển trí tuệ, vừa vắng bóng hoàn toàn (hoặc hầu như không có) khả năng dùng lời nói/ký hiệu chức năng để diễn đạt nhu cầu.' } ]; let featStatus = {}; // 'YES' | 'NO' let selIDD = 'no'; // 'no' (Không kèm suy giảm trí tuệ) | 'yes' (Có kèm suy giảm trí tuệ) let selLang = 'impaired'; // 'mild_none' (Không/Nhẹ) | 'impaired' (Suy giảm rõ: từ đơn/cụm từ) | 'absent' (Vắng bóng hoàn toàn) let selRegression = 'no'; // 'no' (Không mất kỹ năng) | 'yes' (Có mất kỹ năng đã từng đạt được) let filterPillar = 'all'; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .ic-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .ic-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .ic-inner { padding: 24px; max-width: 980px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .ic-wrap.is-fullscreen .ic-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .ic-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(2, 132, 199, 0.45), 0 0 0 0 rgba(2, 132, 199, 0.4); } 70% { box-shadow: 0 6px 20px rgba(2, 132, 199, 0.45), 0 0 0 10px rgba(2, 132, 199, 0); } 100% { box-shadow: 0 6px 20px rgba(2, 132, 199, 0.45), 0 0 0 0 rgba(2, 132, 199, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #0369a1 0%, #0284c7 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(2, 132, 199, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Header */ .ic-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .ic-header-text { flex: 1 1 260px; } .ic-title { font-size: 21px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .ic-desc { font-size: 14px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #f0f9ff; color: #0369a1; border: 1px solid #bae6fd; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #0284c7; color: #ffffff; border-color: #0284c7; } /* Bộ chọn Trục Mã hóa ICD-11 (Trí tuệ x Ngôn ngữ x Thoái lui) */ .ic-spec-panel { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; background: #f0f9ff; border: 1px solid #bae6fd; border-radius: 12px; padding: 14px; margin-bottom: 14px; } .ic-lbl { font-size: 12px; font-weight: 800; color: #0369a1; text-transform: uppercase; display: block; margin-bottom: 5px; } .ic-select { width: 100%; padding: 8px 10px; border: 1px solid #7dd3fc; border-radius: 7px; font-size: 13px; font-weight: 700; color: #0f172a; background: #ffffff; } /* Presets */ .ic-presets { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; margin-bottom: 14px; } .ic-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; touch-action: manipulation; } .ic-pbtn:hover { background: #f1f5f9; } .ic-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } .ic-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 16px; } .ic-tab { padding: 6px 12px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .ic-tab.active { background: #0284c7; color: #ffffff; border-color: #0284c7; } /* Sticky Dashboard */ .ic-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .ic-wrap.is-fullscreen .ic-dash { top: 58px; } .ic-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .ic-score-big { font-size: 20px; font-weight: 800; line-height: 1.25; } .ic-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .ic-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .ic-pillars { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; font-size: 12px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .ic-pillar-box { background: #1e293b; padding: 8px 10px; border-radius: 8px; border-left: 3px solid #475569; } .ic-pillar-box.met { border-left-color: #ef4444; background: rgba(239, 68, 68, 0.15); } .ic-pillar-box.unmet { border-left-color: #10b981; } .ic-pillar-val { font-weight: 800; color: #ffffff; font-size: 13.5px; display: block; margin-top: 2px; } /* Danh sách đặc điểm thiết yếu ICD-11 */ .ic-item { border: 1px solid #e2e8f0; border-radius: 12px; padding: 15px 16px; margin-bottom: 12px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 8px; } .ic-item.feat-yes { border-color: #fca5a5; background: #fff5f5; border-left: 5px solid #ef4444; } .ic-item.feat-no { border-color: #a7f3d0; background: #f0fdf4; } .ic-item-title { font-size: 15px; font-weight: 800; color: #0f172a; } .ic-item-desc { font-size: 13.5px; color: #334155; } .ic-item-ex { font-size: 12.8px; color: #475569; background: rgba(15, 23, 42, 0.03); padding: 7px 10px; border-radius: 6px; border-left: 3px solid #94a3b8; } .ic-tags { display: flex; flex-wrap: wrap; gap: 6px; } .ic-tag { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .ic-tag.p-SOC { background: #dbeafe; color: #1d4ed8; } .ic-tag.p-RRB { background: #fef3c7; color: #b45309; } .ic-tag.p-ONSET { background: #dcfce7; color: #15803d; } .ic-ans-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 4px; } .ic-abtn { padding: 9px 10px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 700; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .ic-abtn:hover { border-color: #64748b; } .ic-abtn.sel-no { background: #10b981; border-color: #10b981; color: #ffffff; } .ic-abtn.sel-yes { background: #ef4444; border-color: #ef4444; color: #ffffff; } /* Bảng Ma trận 6 Mã ICD-11 (6A02.0 -> 6A02.5) - Vừa khít 100% không cần cuộn ngang */ .ic-matrix-card { margin-top: 20px; padding: 14px; border-radius: 12px; background: #ffffff; border: 1px solid #e2e8f0; width: 100%; overflow: hidden; } .ic-table { width: 100%; max-width: 100%; table-layout: fixed; border-collapse: collapse; font-size: 12.8px; line-height: 1.45; } .ic-table th, .ic-table td { border: 1px solid #cbd5e1; padding: 8px 9px; text-align: left; vertical-align: top; word-wrap: break-word; overflow-wrap: break-word; hyphens: auto; } .ic-table th { background: #f1f5f9; font-weight: 800; color: #0f172a; } .ic-table tr.active-code { background: #eff6ff; border: 2px solid #0284c7; } .ic-result-box { margin-top: 16px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #0284c7; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 760px) { .ic-inner { padding: 14px; } .ic-title { font-size: 18px; } .ic-spec-panel { grid-template-columns: 1fr; } .ic-pillars { grid-template-columns: 1fr 1fr; } .ic-ans-grid { grid-template-columns: 1fr; } .ic-pbtn.reset { margin-left: 0; } .ic-matrix-card { padding: 10px; } .ic-table { font-size: 11.5px; } .ic-table th, .ic-table td { padding: 6px 6px; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
Bảng Kiểm & Định Mã Chẩn Đoán Rối Loạn Phổ Tự Kỷ Theo Phân Loại Quốc Tế ICD-11 (WHO • Mã 6A02)
Công cụ chuẩn hóa theo ICD-11 (Tổ chức Y tế Thế giới WHO) giúp đối chiếu Các đặc điểm thiết yếu bắt buộc (Essential Features) và tự động tra cứu chính xác Mã phân nhóm lâm sàng (6A02.0 → 6A02.5) dựa trên ma trận kết hợp giữa Phát triển Trí tuệ (IDD) và Ngôn ngữ Chức năng (Functional Language).
| Mã ICD-11 | Rối loạn Phát triển Trí tuệ (IDD) | Mức độ Ngôn ngữ Chức năng | Mô tả Phân nhóm Lâm sàng của WHO |
|---|
• Mô tả định danh của WHO: ${matchedSub.desc}
• Chỉ định tiền sử thoái lui phát triển: ${regText}.
• Đối chiếu tương đương sang ICD-10 (đang dùng song song tại BV Việt Nam): Mã F84.0 (Tự kỷ ở trẻ em) ${matchedSub.code === '6A02.0' ? 'hoặc F84.5 (Hội chứng Asperger)' : ''}. `; } else if (metSOC && !metRRB && metONSET) { valCode.textContent = '6A01.22 (Ngữ dụng)'; dashHeadline.textContent = 'Đạt Trụ cột Xã hội nhưng thiếu Trụ cột Hành vi lặp lại → Phân biệt Mã 6A01.22'; scoreBadge.textContent = 'PHÂN BIỆT MÃ 6A01.22'; scoreBadge.style.background = '#f59e0b'; scoreBadge.style.color = '#ffffff'; resultBox.style.borderLeftColor = '#f59e0b'; resultBox.innerHTML = ` Hướng dẫn Chẩn đoán Phân biệt của ICD-11 (WHO):
• Cá nhân có suy giảm rõ rệt về Giao tiếp & Tương tác xã hội (${cntSOC}/3 đặc điểm) nhưng không bộc lộ các mẫu hành vi hạn hẹp, lặp lại và cứng nhắc (${cntRRB}/4 đặc điểm).
• Theo phân loại ICD-11 của WHO, trường hợp này được mã hóa sang Mã 6A01.22 — Rối loạn ngôn ngữ phát triển với suy giảm chủ yếu về ngôn ngữ ngữ dụng (Developmental language disorder with impairment of mainly pragmatic language). `; } else { valCode.textContent = 'Chưa đủ chuẩn 6A02'; dashHeadline.textContent = 'Chưa hội đủ các Đặc điểm Thiết yếu của Rối loạn Phổ Tự kỷ (Mã 6A02)'; scoreBadge.textContent = 'CHƯA ĐỦ TIÊU CHUẨN 6A02'; scoreBadge.style.background = '#10b981'; scoreBadge.style.color = '#ffffff'; resultBox.style.borderLeftColor = '#10b981'; resultBox.innerHTML = ` Kết luận Đối chiếu ICD-11 — Chưa Đạt Tiêu Chuẩn Mã 6A02:
• Để mã hóa chẩn đoán thuộc nhóm 6A02 (Autism Spectrum Disorder), cá nhân cần có bằng chứng ở cả Trụ cột Giao tiếp – Tương tác xã hội (${cntSOC}/3), Trụ cột Hành vi hạn hẹp – Lặp lại (${cntRRB}/4) và thỏa mãn đầy đủ 2 điều kiện Khởi phát sớm & Suy giảm chức năng (${cntONSET}/2). `; } updateFloatingFabVisibility(); } function applyPreset(type) { featStatus = {}; essentialFeatures.forEach(f => { featStatus[f.id] = 'NO'; }); if (type === 'reset') { renderItems(); updateSummary(); return; } // Bật đủ các đặc điểm thiết yếu của 6A02 ['S1', 'S2', 'S3', 'R1', 'R2', 'R4', 'O1', 'O2'].forEach(id => { featStatus[id] = 'YES'; }); if (type === '6A02_0') { elIDD.value = 'no'; elLang.value = 'mild_none'; elRegression.value = 'no'; featStatus['R1'] = 'NO'; featStatus['R3'] = 'YES'; } else if (type === '6A02_2') { elIDD.value = 'no'; elLang.value = 'impaired'; elRegression.value = 'no'; } else if (type === '6A02_3') { elIDD.value = 'yes'; elLang.value = 'impaired'; elRegression.value = 'no'; } else if (type === '6A02_5') { elIDD.value = 'yes'; elLang.value = 'absent'; elRegression.value = 'yes'; featStatus['R3'] = 'YES'; } renderItems(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); icWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { icWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 980px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } [elIDD, elLang, elRegression].forEach(sel => { sel.onchange = () => { updateSummary(); }; }); shadow.querySelectorAll('.ic-pbtn').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-preset')); }; }); shadow.querySelectorAll('#pillarTabs .ic-tab').forEach(function(tab) { tab.onclick = function() { filterPillar = this.getAttribute('data-pil'); shadow.querySelectorAll('#pillarTabs .ic-tab').forEach(t => t.classList.remove('active')); this.classList.add('active'); renderItems(); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); applyPreset('6A02_2'); })();
ICD-11 (viết tắt của International Classification of Diseases, 11th Revision – Bảng phân loại Quốc tế về Bệnh tật, Phiên bản lần thứ 11) là bộ tiêu chuẩn toàn cầu dùng để phân loại, mã hóa và thống kê tất cả các loại bệnh tật, chấn thương, rối loạn sức khỏe và nguyên nhân tử vong ở con người.
Bộ tiêu chuẩn này do Tổ chức Y tế Thế giới (WHO) biên soạn, được thông qua vào năm 2019 và chính thức có hiệu lực trên toàn cầu từ ngày 1 tháng 1 năm 2022 (thay thế cho phiên bản ICD-10 đã sử dụng từ đầu những năm 1990).
Vai trò và Mục đích cốt lõi của ICD-11
Khác với DSM-5-TR chỉ tập trung vào sức khỏe tâm thần, ICD-11 bao quát toàn bộ nền y học (từ tim mạch, ung thư,truyền nhiễm cho đến tâm thần, chấn thương tai nạn) với hơn 17.000 danh mục mã bệnh và hơn 120.000 thuật ngữ lâm sàng.
-
Thống kê dịch tễ học toàn cầu: Giúp WHO và Bộ Y tế các nước theo dõi tỷ lệ mắc bệnh, nguyên nhân tử vong và phát hiện sớm các dịch bệnh hoặc xu hướng sức khỏe mới.
-
Quản lý bệnh viện và Bảo hiểm y tế: Mọi chẩn đoán trên giấy ra viện, đơn thuốc hay hồ sơ bảo hiểm đều phải gắn với một “mã ICD”. Cơ quan bảo hiểm dựa vào mã này để xét duyệt chi trả viện phí.
-
Chuẩn hóa dữ liệu y tế số: Được thiết kế hoàn toàn trên nền tảng kỹ thuật số, cho phép tích hợp trực tiếp vào phần mềm Quản lý thông tin bệnh viện (HIS) và Hồ sơ bệnh án điện tử (EMR).
Những đột phá lớn của ICD-11 so với ICD-10
Sau hơn 30 năm kể từ bản ICD-10, ICD-11 mang đến những thay đổi mang tính bước ngoặt để bắt kịp y học hiện đại:
-
Cấu trúc mã bệnh thông minh và chi tiết hơn: Cho phép ghép nối nhiều mã (post-coordination) để mô tả chính xác tình trạng bệnh (ví dụ: không chỉ mã hóa “ung thư phổi”, mà có thể ghép thêm mã vị trí khối u, giai đoạn di căn và mức độ nghiêm trọng).
-
Cập nhật lớn về Sức khỏe tâm thần và Hành vi:
-
Thêm các chẩn đoán thời đại số: Lần đầu tiên đưa Rối loạn chơi game (Gaming disorder) và Rối loạn căng thẳng sau sang chấn phức tạp (Complex PTSD) vào danh mục bệnh chính thức.
-
Giải bệnh lý hóa vấn đề bản dạng giới: Chuyển mục “Không phù hợp giới” (Gender incongruence – người chuyển giới) ra khỏi chương Rối loạn tâm thần và đưa vào chương mới về Các tình trạng liên quan đến sức khỏe tình dục, giúp xóa bỏ định kiến coi người chuyển giới là mắc bệnh tâm thần nhưng vẫn đảm bảo quyền tiếp cận dịch vụ y tế của họ.
-
-
Bổ sung chương mới về Y học cổ truyền: Lần đầu tiên các chẩn đoán của Y học cổ truyền (Đông y) được chuẩn hóa và đưa vào hệ thống phân loại y tế quốc tế.
-
Theo dõi tình trạng Kháng kháng sinh (AMR): Cung cấp bộ mã riêng để ghi nhận các ca nhiễm khuẩn kháng thuốc – một trong những mối đe dọa y tế lớn nhất hiện nay.
Ứng dụng của ICD-11 tại Việt Nam
Tại Việt Nam, hệ thống phân loại ICD của WHO là tiêu chuẩn bắt buộc mang tính pháp lý tại tất cả các cơ sở khám chữa bệnh công lập và tư nhân:
| Giai đoạn | Tình hình áp dụng tại các bệnh viện Việt Nam |
| Hiện hành (Phổ biến) | Các bệnh viện vẫn đang sử dụng rộng rãi bảng mã ICD-10 để kê đơn, làm hồ sơ bệnh án và quyết toán Bảo hiểm Y tế (BHYT). |
| Lộ trình chuyển đổi | Bộ Y tế Việt Nam đang trong quá trình dịch thuật chuẩn hóa, tập huấn nhân lực và nâng cấp hạ tầng công nghệ thông tin bệnh viện để chuyển dịch dần từ ICD-10 sang ICD-11 nhằm đồng bộ với dữ liệu của WHO. |
Ví dụ thực tế: Khi bạn đi khám bệnh tại Việt Nam, trên sổ khám hoặc giấy ra viện luôn có mục “Chẩn đoán” kèm theo một ký hiệu như J00 (Viêm mũi họng cấp/cảm thường) hoặc F32 (Giai đoạn trầm cảm) – đó chính là mã bệnh trích từ hệ thống ICD của WHO (hiện tại là mã ICD-10; trong ICD-11, mã của giai đoạn trầm cảm sẽ chuyển thành 6A70).
[Tiêu chuẩn quốc tế] ICF / ICF-CY: Khung phân loại quốc tế về Chức năng, Khuyết tật và Sức khỏe trẻ em của WHO
(function() { function initICFTool() { const host = document.getElementById('icfcy-wp-host'); if (!host || host.shadowRoot) return; const placeholder = document.createComment('icfcy-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // Cấu hình 3 Phiên bản theo nhóm tuổi của ICF Core Set for ASD (WHO & Karolinska Institutet) const ageGroupConfigs = { preschool: { code: 'preschool', tabTitle: '🧸 1. Mầm non ICF-CY (0 – 5 tuổi)', tabSub: 'Chú ý chung, Bắt chước & Chơi đùa', fullTitle: 'Bộ Cốt Lõi ICF-CY Dành Cho Trẻ Nhỏ & Mầm Non (0 – 5 Tuổi • WHO ICF-CY Core Set)', desc: 'Tập trung vào các mã ICF-CY đặc trưng đầu đời: chức năng tâm lý xã hội (b122), điều hòa cảm xúc (b152), bắt chước (d130), chú ý chung (d161), giao tiếp không lời (d315/d335), chơi đùa (d880) và sự hỗ trợ của cha mẹ (e310).' }, school: { code: 'school', tabTitle: '🎒 2. Học đường ICF-CY (6 – 16 tuổi)', tabSub: 'Học tập, Điều hành, Bạn bè & Trường lớp', fullTitle: 'Bộ Cốt Lõi ICF-CY Dành Cho Trẻ Em & Thiếu Niên Lứa Tuổi Học Đường (6 – 16 Tuổi)', desc: 'Đánh giá toàn diện chức năng điều hành (b164), kiểm soát xung động, hội thoại (d350), xử lý căng thẳng (d240), kết bạn đồng trang lứa (d750), giáo dục phổ thông (d820) và điều chỉnh môi trường lớp học (e130/e330).' }, adult: { code: 'adult', tabTitle: '🧑 3. Vị thành niên & Người lớn (≥ 17 tuổi)', tabSub: 'Tự lập, Lao động, Cộng đồng & Dịch vụ', fullTitle: 'Bộ Cốt Lõi ICF Dành Cho Thanh Thiếu Niên Lớn & Người Trưởng Thành (Từ 17 Tuổi Trở Lên)', desc: 'Đo lường khả năng sống tự lập (d570/d640), quan hệ xã hội phức hợp (d720), đào tạo nghề & việc làm (d840/d850), đi lại cộng đồng và hệ thống dịch vụ an sinh – việc làm (e585/e590).' } }; // Danh mục 32 Mã ICF / ICF-CY Cốt lõi thuộc 3 Thành phần: b (Body Functions), d (Activities & Participation), e (Environmental Factors) const icfCategories = [ // ===================================================== // THÀNH PHẦN 1: CHỨC NĂNG CƠ THỂ & TÂM THẦN (BODY FUNCTIONS • Mã b • 10 mục) // ===================================================== { id: 'b122', comp: 'b', code: 'b122', ages: ['preschool', 'school', 'adult'], name: 'b122 — Chức năng Tâm lý Xã hội Toàn cục (Global Psychosocial Functions)', desc: 'Các chức năng tâm thần cần thiết để tích hợp và hình thành các kỹ năng giao tiếp cá nhân – xã hội, thấu hiểu ý nghĩa xã hội và thiết lập tương tác hai chiều (Thuyết tâm trí).' }, { id: 'b125', comp: 'b', code: 'b125', ages: ['preschool', 'school'], name: 'b125 — Khí chất và Xu hướng Phản ứng Phát triển (Dispositions & Intra-personal Functions - ICF-CY)', desc: 'Khả năng thích ứng trước các tình huống mới lạ, mức độ linh hoạt hành vi so với sự cứng nhắc hoặc kháng cự thay đổi ở trẻ em.' }, { id: 'b134', comp: 'b', code: 'b134', ages: ['preschool', 'school', 'adult'], name: 'b134 — Chức năng Giấc ngủ (Sleep Functions)', desc: 'Thời lượng, chất lượng giấc ngủ, khả năng dễ đi vào giấc ngủ và duy trì giấc ngủ suốt đêm không bị thức giấc.' }, { id: 'b140', comp: 'b', code: 'b140', ages: ['preschool', 'school', 'adult'], name: 'b140 — Chức năng Chú ý (Attention Functions)', desc: 'Khả năng duy trì sự tập trung chú ý trong khoảng thời gian cần thiết, chuyển hướng chú ý linh hoạt và chia sẻ sự chú ý với người khác.' }, { id: 'b147', comp: 'b', code: 'b147', ages: ['preschool', 'school', 'adult'], name: 'b147 — Chức năng Tâm thần – Vận động (Psychomotor Functions)', desc: 'Kiểm soát mức độ hoạt động vận động và lời nói (không bị tăng động bồn chồn quá mức, chậm chạp lờ đờ hoặc có các cử động định hình rập khuôn).' }, { id: 'b152', comp: 'b', code: 'b152', ages: ['preschool', 'school', 'adult'], name: 'b152 — Chức năng Cảm xúc (Emotional Functions)', desc: 'Sự phù hợp của cảm xúc với hoàn cảnh và khả năng tự điều tiết cảm xúc (kiểm soát cơn giận, lo âu, thất vọng).' }, { id: 'b156', comp: 'b', code: 'b156', ages: ['preschool', 'school', 'adult'], name: 'b156 — Chức năng Tri giác & Xử lý Giác quan (Perceptual Functions)', desc: 'Khả năng tiếp nhận, phân biệt và điều hòa các kích thích Thính giác, Thị giác, Xúc giác, Vị – Khứu giác và Tiền đình – Bản thể (không bị quá tải hoặc tìm kiếm cảm giác bất thường).' }, { id: 'b164', comp: 'b', code: 'b164', ages: ['school', 'adult'], name: 'b164 — Chức năng Tư duy Bậc cao / Chức năng Điều hành (Higher-level Cognitive / Executive Functions)', desc: 'Tư duy trừu tượng, tổ chức và lập kế hoạch công việc, quản lý thời gian, tính linh hoạt nhận thức và giải quyết vấn đề.' }, { id: 'b167', comp: 'b', code: 'b167', ages: ['preschool', 'school', 'adult'], name: 'b167 — Chức năng Tâm thần về Ngôn ngữ (Mental Functions of Language)', desc: 'Năng lực thần kinh trong việc tiếp nhận giải mã ngôn ngữ (nghe hiểu/đọc hiểu) và diễn đạt ngôn ngữ (lời nói/chữ viết/ký hiệu).' }, { id: 'b760', comp: 'b', code: 'b760', ages: ['preschool', 'school', 'adult'], name: 'b760 — Kiểm soát và Phối hợp Vận động Tự chủ (Control of Voluntary Movement / Praxis)', desc: 'Sự khéo léo phối hợp mắt – tay, phối hợp hai bên cơ thể và lập kế hoạch vận động tinh/thô.' }, // ===================================================== // THÀNH PHẦN 2: HOẠT ĐỘNG VÀ THAM GIA (ACTIVITIES & PARTICIPATION • Mã d • 14 mục) // ===================================================== { id: 'd130', comp: 'd', code: 'd130', ages: ['preschool', 'school'], name: 'd130 — Sao chép / Bắt chước (Copying / Imitation - Chương 1: Học tập cơ bản)', desc: 'Bắt chước nét mặt, cử chỉ cơ thể, thao tác với đồ vật, âm thanh và chữ cái như một phần của quá trình học tập sớm.' }, { id: 'd161', comp: 'd', code: 'd161', ages: ['preschool', 'school'], name: 'd161 — Định hướng Chú ý / Chú ý Chung (Directing Attention / Joint Attention - ICF-CY)', desc: 'Chủ động hướng sự chú ý vào khuôn mặt, giọng nói của người khác và cùng chia sẻ sự chú ý vào một đồ vật/sự kiện chung.' }, { id: 'd230', comp: 'd', code: 'd230', ages: ['preschool', 'school', 'adult'], name: 'd230 — Thực hiện Lịch trình Sinh hoạt Hàng ngày (Carrying out Daily Routine)', desc: 'Thực hiện các hoạt động thường nhật từ sáng đến tối, chuyển tiếp mượt mà giữa các hoạt động và thích ứng khi lịch trình thay đổi.' }, { id: 'd240', comp: 'd', code: 'd240', ages: ['preschool', 'school', 'adult'], name: 'd240 — Xử lý Căng thẳng và Các Đòi hỏi Tâm lý (Handling Stress & Psychological Demands)', desc: 'Kiểm soát áp lực, sự quá tải và hành vi thích ứng khi đối mặt với yêu cầu học tập, công việc hoặc tình huống khủng hoảng.' }, { id: 'd310', comp: 'd', code: 'd310', ages: ['preschool', 'school', 'adult'], name: 'd310 — Giao tiếp Tiếp nhận: Hiểu Thông điệp Lời nói (Communicating with - Receiving Spoken Messages)', desc: 'Hiểu đúng nghĩa đen và nghĩa bóng/ngữ dụng của các câu nói trong giao tiếp hàng ngày.' }, { id: 'd315', comp: 'd', code: 'd315', ages: ['preschool', 'school', 'adult'], name: 'd315 — Giao tiếp Tiếp nhận: Hiểu Thông điệp Phi ngôn ngữ (Receiving Nonverbal Messages)', desc: 'Đọc hiểu cử chỉ tay chân, biểu cảm khuôn mặt, ngôn ngữ cơ thể và các ký hiệu/biểu tượng hình ảnh.' }, { id: 'd330', comp: 'd', code: 'd330', ages: ['preschool', 'school', 'adult'], name: 'd330 — Giao tiếp Diễn đạt: Nói (Speaking)', desc: 'Sử dụng từ ngữ, cụm từ và câu nói có nghĩa để yêu cầu, bình luận, kể chuyện và diễn đạt suy nghĩ.' }, { id: 'd335', comp: 'd', code: 'd335', ages: ['preschool', 'school', 'adult'], name: 'd335 — Tạo Thông điệp Phi ngôn ngữ / AAC (Producing Nonverbal Messages)', desc: 'Sử dụng ánh mắt, chỉ trỏ, gật/lắc đầu, nét mặt hoặc tranh ảnh PECS / thiết bị AAC để truyền đạt thông tin.' }, { id: 'd350', comp: 'd', code: 'd350', ages: ['school', 'adult'], name: 'd350 — Hội thoại Qua lại (Conversation)', desc: 'Bắt đầu, duy trì và kết thúc cuộc trò chuyện qua lại hai chiều với một hoặc nhiều người theo đúng chủ đề và quy tắc luân phiên.' }, { id: 'd510_d570', comp: 'd', code: 'd510–d570', ages: ['preschool', 'school', 'adult'], name: 'd510–d570 — Tự Chăm sóc Bản thân (Self-Care: Tắm rửa, Đi vệ sinh, Mặc đồ, Ăn uống & Giữ an toàn)', desc: 'Mức độ độc lập trong việc tự xúc ăn, uống nước, đi vệ sinh, tắm gội, mặc quần áo và chăm sóc sức khỏe cá nhân.' }, { id: 'd710_d720', comp: 'd', code: 'd710–d720', ages: ['preschool', 'school', 'adult'], name: 'd710–d720 — Tương tác Giữa các Cá nhân Cơ bản & Phức hợp (Interpersonal Interactions)', desc: 'Thể hiện sự tôn trọng, ấm áp, giữ khoảng cách xã hội phù hợp và điều chỉnh hành vi ứng xử trong các mối quan hệ.' }, { id: 'd750', comp: 'd', code: 'd750', ages: ['preschool', 'school', 'adult'], name: 'd750 — Các Mối quan hệ Xã hội Không chính thức / Kết bạn (Informal Social Relationships / Peers)', desc: 'Khả năng làm quen, chơi hợp tác và duy trì tình bạn với bạn đồng trang lứa ở lớp học, khu dân cư.' }, { id: 'd880', comp: 'd', code: 'd880', ages: ['preschool', 'school'], name: 'd880 — Tham gia vào Hoạt động Chơi đùa (Engagement in Play - Mã đặc hiệu ICF-CY)', desc: 'Từ chơi khám phá độc lập, chơi quan sát, chơi song song đến chơi đóng vai giả vờ và chơi hợp tác có luật lệ với bạn.' }, { id: 'd815_d850', comp: 'd', code: 'd815–d850', ages: ['preschool', 'school', 'adult'], name: 'd815–d850 — Giáo dục Mầm non / Phổ thông & Việc làm (Education and Employment)', desc: 'Tham gia hòa nhập hiệu quả tại trường mầm non (d815), trường phổ thông (d820), học nghề (d840) hoặc lao động việc làm (d850).' }, // ===================================================== // THÀNH PHẦN 3: YẾU TỐ MÔI TRƯỜNG (ENVIRONMENTAL FACTORS • Mã e • 8 mục) // ===================================================== { id: 'e125_e130', comp: 'e', code: 'e125–e130', ages: ['preschool', 'school', 'adult'], name: 'e125–e130 — Sản phẩm & Công nghệ Hỗ trợ Giao tiếp và Giáo dục (Assistive Tech, AAC & Visual Supports)', desc: 'Sự sẵn có của bảng lịch trình hình ảnh, thẻ PECS, thiết bị hỗ trợ giao tiếp AAC, phần mềm học tập và giáo cụ trực quan.' }, { id: 'e240_e250', comp: 'e', code: 'e240–e250', ages: ['preschool', 'school', 'adult'], name: 'e240–e250 — Môi trường Vật lý: Ánh sáng & Âm thanh (Light and Sound in Environment)', desc: 'Mức độ tiếng ồn, âm vang và cường độ ánh sáng tại nhà/lớp học/nơi làm việc (là Rào cản gây quá tải giác quan hay đã được điều chỉnh Thúc đẩy êm dịu).' }, { id: 'e310', comp: 'e', code: 'e310', ages: ['preschool', 'school', 'adult'], name: 'e310 — Sự Hỗ trợ từ Gia đình Ruột thịt (Immediate Family Support)', desc: 'Mức độ thấu hiểu, đồng hành can thiệp thực hành hàng ngày và hỗ trợ tinh thần/vật chất từ cha mẹ, anh chị em.' }, { id: 'e330_e340', comp: 'e', code: 'e330–e340', ages: ['preschool', 'school', 'adult'], name: 'e330–e340 — Giáo viên, Quản lý & Người Hỗ trợ Cá nhân (Teachers, Supervisors & Personal Care Providers)', desc: 'Sự hỗ trợ thực tế từ giáo viên đứng lớp, giáo viên hỗ trợ hòa nhập (Shadow teacher) hoặc người hướng dẫn tại nơi làm việc.' }, { id: 'e355', comp: 'e', code: 'e355', ages: ['preschool', 'school', 'adult'], name: 'e355 — Đội ngũ Chuyên gia Y tế & Trị liệu (Health & Therapy Professionals)', desc: 'Sự hỗ trợ chuyên môn từ Bác sĩ Nhi phát triển/Tâm thần, chuyên gia Tâm lý, Ngôn ngữ trị liệu (SLP), Hoạt động trị liệu (OT) và Giáo dục đặc biệt.' }, { id: 'e410_e460', comp: 'e', code: 'e410–e460', ages: ['preschool', 'school', 'adult'], name: 'e410–e460 — Thái độ của Gia đình, Bạn bè, Nhà trường & Xã hội (Individual and Societal Attitudes)', desc: 'Thái độ bao dung, tôn trọng sự đa dạng thần kinh và hỗ trợ hòa nhập (Facilitator +) hay kỳ thị, bắt nạt, thiếu thông cảm (Barrier .).' }, { id: 'e580', comp: 'e', code: 'e580', ages: ['preschool', 'school', 'adult'], name: 'e580 — Dịch vụ, Hệ thống và Chính sách Y tế / Phục hồi chức năng (Health Services & Policies)', desc: 'Khả năng tiếp cận dịch vụ sàng lọc sớm, chẩn đoán, can thiệp sớm và bảo hiểm y tế tại địa phương.' }, { id: 'e585_e590', comp: 'e', code: 'e585–e590', ages: ['preschool', 'school', 'adult'], name: 'e585–e590 — Dịch vụ, Hệ thống và Chính sách Giáo dục Hòa nhập & Việc làm (Education & Labor Services)', desc: 'Chính sách hỗ trợ giáo dục đặc biệt/hòa nhập tại trường học, đào tạo hướng nghiệp và chính sách việc làm cho người tự kỷ.' } ]; let currentAgeGrp = 'preschool'; let filterComp = 'all'; let qualifiers = {}; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .icf-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } .icf-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .icf-inner { padding: 24px; max-width: 980px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .icf-wrap.is-fullscreen .icf-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .icf-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(2, 132, 199, 0.45), 0 0 0 0 rgba(2, 132, 199, 0.4); } 70% { box-shadow: 0 6px 20px rgba(2, 132, 199, 0.45), 0 0 0 10px rgba(2, 132, 199, 0); } 100% { box-shadow: 0 6px 20px rgba(2, 132, 199, 0.45), 0 0 0 0 rgba(2, 132, 199, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #0369a1 0%, #0284c7 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(2, 132, 199, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } .age-switcher-box { background: #f1f5f9; padding: 10px; border-radius: 12px; margin-bottom: 18px; } .age-switcher-lbl { font-size: 12px; font-weight: 800; color: #334155; text-transform: uppercase; margin-bottom: 8px; display: block; } .age-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; } .age-btn { padding: 10px 12px; border-radius: 9px; border: 1.5px solid transparent; background: rgba(255, 255, 255, 0.65); cursor: pointer; text-align: left; transition: all 0.18s ease; touch-action: manipulation; } .age-btn:hover { background: #ffffff; } .age-btn.active { background: #ffffff; border-color: #0284c7; box-shadow: 0 3px 10px rgba(15, 23, 42, 0.08); } .age-btn-title { font-size: 13.5px; font-weight: 800; color: #0f172a; display: block; } .age-btn.active .age-btn-title { color: #0369a1; } .age-btn-sub { font-size: 11.5px; color: #64748b; margin-top: 2px; display: block; } .icf-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .icf-header-text { flex: 1 1 260px; } .icf-title { font-size: 20px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .icf-desc { font-size: 13.8px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #f0f9ff; color: #0369a1; border: 1px solid #bae6fd; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #0284c7; color: #ffffff; border-color: #0284c7; } .icf-controls { display: flex; flex-direction: column; gap: 10px; margin-bottom: 18px; } .icf-presets { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; } .icf-preset-lbl { font-size: 12.5px; font-weight: 700; color: #475569; margin-right: 4px; } .icf-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; touch-action: manipulation; } .icf-pbtn:hover { background: #f1f5f9; } .icf-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } .icf-comp-tabs { display: flex; flex-wrap: wrap; gap: 6px; } .icf-ctab { padding: 6px 12px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .icf-ctab.active { background: #0284c7; color: #ffffff; border-color: #0284c7; } .icf-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .icf-wrap.is-fullscreen .icf-dash { top: 58px; } .icf-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .icf-score-big { font-size: 20px; font-weight: 800; line-height: 1.25; } .icf-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .icf-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .icf-pillars { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; font-size: 12px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .icf-pillar-box { background: #1e293b; padding: 7px 10px; border-radius: 8px; } .icf-pillar-val { font-weight: 800; color: #ffffff; font-size: 13.5px; display: block; margin-top: 2px; } .icf-item { border: 1px solid #e2e8f0; border-radius: 12px; padding: 14px 16px; margin-bottom: 12px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 8px; } .icf-item.imp-high { border-color: #fca5a5; background: #fff5f5; } .icf-item.imp-mid { border-color: #fde68a; background: #fffbeb; } .icf-item.fac-good { border-color: #a7f3d0; background: #f0fdf4; } .icf-item-title { font-size: 15px; font-weight: 800; color: #0f172a; } .icf-item-desc { font-size: 13.4px; color: #334155; } .icf-tags { display: flex; flex-wrap: wrap; gap: 6px; } .icf-tag { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .icf-tag.comp-b { background: #dbeafe; color: #1d4ed8; } .icf-tag.comp-d { background: #f3e8ff; color: #7e22ce; } .icf-tag.comp-e { background: #dcfce7; color: #15803d; } .icf-ans-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; margin-top: 4px; } .icf-abtn { padding: 8px 5px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 11.5px; font-weight: 700; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .icf-abtn:hover { border-color: #64748b; } .icf-abtn.sel-green { background: #10b981; border-color: #10b981; color: #ffffff; } .icf-abtn.sel-blue { background: #0284c7; border-color: #0284c7; color: #ffffff; } .icf-abtn.sel-amber { background: #f59e0b; border-color: #f59e0b; color: #ffffff; } .icf-abtn.sel-orange { background: #ea580c; border-color: #ea580c; color: #ffffff; } .icf-abtn.sel-red { background: #ef4444; border-color: #ef4444; color: #ffffff; } .icf-profile-card { margin-top: 20px; padding: 16px 18px; border-radius: 12px; background: #ffffff; border: 1px solid #e2e8f0; overflow-x: auto; } .icf-table { width: 100%; border-collapse: collapse; font-size: 12.8px; min-width: 640px; } .icf-table th, .icf-table td { border: 1px solid #cbd5e1; padding: 8px 10px; text-align: left; } .icf-table th { background: #f1f5f9; font-weight: 800; color: #0f172a; } .icf-result-box { margin-top: 16px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #0284c7; font-size: 14px; line-height: 1.65; color: #1e293b; } .icf-result-box code { background: #e2e8f0; padding: 1px 5px; border-radius: 4px; font-weight: 700; font-size: 13px; } @media (max-width: 760px) { .icf-inner { padding: 14px; } .age-grid { grid-template-columns: 1fr; } .icf-title { font-size: 18px; } .icf-pillars { grid-template-columns: 1fr 1fr; } .icf-ans-grid { grid-template-columns: 1fr 1fr; } .icf-pbtn.reset { margin-left: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
| Mã ICF đầy đủ | Thành phần ICF | Tên Lĩnh vực Chức năng / Hoạt động / Môi trường | Mức độ Định lượng (WHO Qualifier) |
|---|
${aCfg.fullTitle}
${aCfg.desc}
`; } function formatQualifierLabel(comp, qVal) { if (comp === 'b' || comp === 'd') { const map = { 0: '.0 — Không khiếm khuyết/khó khăn (0–4%)', 1: '.1 — Mức độ Nhẹ (5–24%)', 2: '.2 — Mức độ Vừa (25–49%)', 3: '.3 — Mức độ Nặng (50–95%)', 4: '.4 — Mức độ Hoàn toàn (96–100%)' }; return map[qVal] || map[0]; } else { const mapE = { '-3': '.3 — Rào cản Nặng (Severe Barrier)', '-1': '.1 — Rào cản Nhẹ–Vừa (Mild/Mod Barrier)', '0': '.0 — Không ảnh hưởng (Neutral)', '2': '+2 — Yếu tố Thúc đẩy Vừa (Mod Facilitator)', '4': '+4 — Yếu tố Thúc đẩy Rất mạnh (Complete Facilitator)' }; return mapE[String(qVal)] || mapE['0']; } } function formatFullICFCode(cat, qVal) { if (cat.comp === 'b' || cat.comp === 'd') { return `${cat.code}.${qVal}`; } else { if (qVal 0) return `${cat.code}+${qVal}`; return `${cat.code}.0`; } } function renderItems() { const activeCats = getActiveCategories(); itemList.innerHTML = ''; const bdBtns = [ { val: 0, lbl: '.0 - Không khó khăn (0–4%)', cls: 'sel-green' }, { val: 1, lbl: '.1 - Mức Nhẹ (5–24%)', cls: 'sel-blue' }, { val: 2, lbl: '.2 - Mức Vừa (25–49%)', cls: 'sel-amber' }, { val: 3, lbl: '.3 - Mức Nặng (50–95%)', cls: 'sel-orange' }, { val: 4, lbl: '.4 - Hoàn toàn (96–100%)', cls: 'sel-red' } ]; const eBtns = [ { val: -3, lbl: '.3 - Rào cản Nặng (Barrier)', cls: 'sel-red' }, { val: -1, lbl: '.1 - Rào cản Nhẹ–Vừa', cls: 'sel-amber' }, { val: 0, lbl: '.0 - Trung tính (0%)', cls: 'sel-blue' }, { val: 2, lbl: '+2 - Hỗ trợ / Thúc đẩy Khá', cls: 'sel-green' }, { val: 4, lbl: '+4 - Hỗ trợ / Thúc đẩy Tối đa', cls: 'sel-green' } ]; activeCats.forEach(function(cat) { if (filterComp !== 'all' && cat.comp !== filterComp) return; const uVal = (qualifiers[cat.id] !== undefined) ? qualifiers[cat.id] : 0; const fullCode = formatFullICFCode(cat, uVal); let rowCls = 'icf-item'; if (cat.comp === 'b' || cat.comp === 'd') { if (uVal >= 3) rowCls += ' imp-high'; else if (uVal === 2) rowCls += ' imp-mid'; else if (uVal === 0) rowCls += ' fac-good'; } else { if (uVal 0) rowCls += ' fac-good'; } const compName = (cat.comp === 'b') ? '1. Chức năng Cơ thể [ b ]' : (cat.comp === 'd' ? '2. Hoạt động & Tham gia [ d ]' : '3. Yếu tố Môi trường [ e ]'); const btns = (cat.comp === 'e') ? eBtns : bdBtns; const btnsHtml = btns.map(b => { const cls = 'icf-abtn' + (uVal === b.val ? ` ${b.cls}` : ''); return ``; }).join(''); const el = document.createElement('div'); el.className = rowCls; el.innerHTML = `${fullCode} thay cho dấu `)
resultBox.innerHTML = `
🌐 BẢN TỔNG HỢP LẬP LUẬN PHỤC HỒI CHỨC NĂNG THEO MÔ HÌNH TÂM – SINH – XÃ HỘI ICF (WHO):
• 1. Các Khiếm khuyết Cơ thể [b] & Hạn chế Hoạt động – Tham gia [d] từ mức Vừa đến Nặng (≥ .2):
${severeList.join(', ') || 'Không có mục nào ở mức ≥ .2.'}
• 2. Các Yếu tố Thúc đẩy Môi trường hiện có [e+]:
${facilitatorList.join(', ') || 'Chưa ghi nhận yếu tố thúc đẩy (+).'}
• 3. Các Rào cản Môi trường cần dỡ bỏ [e.]:
${barrierList.join(', ') || 'Không có rào cản môi trường đáng kể.'}
• 💡 Chiến lược Can thiệp theo Triết lý ICF-CY: Khuyết tật là kết quả của sự tương tác giữa khiếm khuyết cá nhân (b) và rào cản môi trường (e). Ngay cả khi mức độ khiếm khuyết thần kinh (b122, b167) chưa thể thay đổi ngay một sớm một chiều, việc chuyển hóa các mã Môi trường từ Rào cản (.2/.3) thành Yếu tố Thúc đẩy (+3/+4) (như trang bị lịch trình hình ảnh/AAC e125+4, giảm tiếng ồn lớp học e250+3, huấn luyện phụ huynh và giáo viên e310+4, e330+4) sẽ lập tức cải thiện điểm Thực hiện thực tế (Performance) trên các mã Hoạt động & Tham gia (d)!
`;
updateFloatingFabVisibility();
}
function applyPreset(type) {
qualifiers = {};
icfCategories.forEach(c => { qualifiers[c.id] = 0; });
if (type === 'reset') {
renderItems();
updateSummary();
return;
}
if (type === 'good_env') {
icfCategories.forEach((c, idx) => {
if (c.comp === 'b' || c.comp === 'd') {
qualifiers[c.id] = (idx % 2 === 0) ? 2 : 1;
} else {
qualifiers[c.id] = (c.id === 'e240_e250') ? 2 : 4;
}
});
} else if (type === 'barrier_env') {
icfCategories.forEach((c, idx) => {
if (c.comp === 'b' || c.comp === 'd') {
qualifiers[c.id] = (idx % 2 === 0) ? 3 : 2;
} else {
qualifiers[c.id] = (c.id === 'e310') ? 2 : -3;
}
});
} else if (type === 'mild') {
icfCategories.forEach((c, idx) => {
if (c.comp === 'b' || c.comp === 'd') {
qualifiers[c.id] = (idx % 2 === 0) ? 1 : 0;
} else {
qualifiers[c.id] = 2;
}
});
}
renderItems();
updateSummary();
}
function updateFloatingFabVisibility() {
if (isFullscreen) {
fabBtn.classList.add('visible', 'is-exit-mode');
fabText.textContent = 'Thu nhỏ lại';
fabIcon.textContent = '✕';
return;
}
fabBtn.classList.remove('is-exit-mode');
fabText.textContent = 'Phóng to bảng';
fabIcon.textContent = '⛶';
const rect = host.getBoundingClientRect();
const viewH = window.innerHeight || document.documentElement.clientHeight;
const isReadingWidget = rect.top 180;
if (isReadingWidget) {
fabBtn.classList.add('visible');
} else {
fabBtn.classList.remove('visible');
}
}
function setFullscreenState(active) {
if (active === isFullscreen) return;
isFullscreen = active;
if (isFullscreen) {
savedScrollY = window.scrollY || window.pageYOffset || 0;
if (host.parentNode && host.parentNode !== document.body) {
host.parentNode.insertBefore(placeholder, host);
document.body.appendChild(host);
}
host.style.cssText = [
'position: fixed !important',
'inset: 0 !important',
'top: 0 !important',
'left: 0 !important',
'right: 0 !important',
'bottom: 0 !important',
'width: 100vw !important',
'height: 100vh !important',
'height: 100dvh !important',
'max-width: none !important',
'max-height: none !important',
'margin: 0 !important',
'padding: 0 !important',
'z-index: 2147483647 !important',
'background: #f8fafc !important',
'overflow-y: auto !important',
'-webkit-overflow-scrolling: touch !important',
'display: block !important'
].join(';');
icfWrap.classList.add('is-fullscreen');
document.documentElement.style.overflow = 'hidden';
document.body.style.overflow = 'hidden';
fsText.textContent = 'Thu nhỏ';
fsIcon.textContent = '✕';
host.scrollTop = 0;
} else {
icfWrap.classList.remove('is-fullscreen');
if (placeholder.parentNode) {
placeholder.parentNode.insertBefore(host, placeholder);
placeholder.parentNode.removeChild(placeholder);
}
host.style.cssText = 'width: 100%; max-width: 980px; margin: 28px auto; display: block; clear: both;';
document.documentElement.style.overflow = '';
document.body.style.overflow = '';
fsText.textContent = 'Toàn màn hình';
fsIcon.textContent = '⛶';
if (document.fullscreenElement && document.exitFullscreen) {
document.exitFullscreen().catch(() => {});
}
window.scrollTo(0, savedScrollY);
}
updateFloatingFabVisibility();
}
shadow.querySelectorAll('#ageGrid .age-btn').forEach(function(btn) {
btn.onclick = function() {
currentAgeGrp = this.getAttribute('data-age');
shadow.querySelectorAll('#ageGrid .age-btn').forEach(b => b.classList.remove('active'));
this.classList.add('active');
renderHeader();
renderItems();
updateSummary();
};
});
shadow.querySelectorAll('.icf-pbtn').forEach(function(btn) {
btn.onclick = function() {
applyPreset(this.getAttribute('data-preset'));
};
});
shadow.querySelectorAll('#compTabs .icf-ctab').forEach(function(tab) {
tab.onclick = function() {
filterComp = this.getAttribute('data-comp');
shadow.querySelectorAll('#compTabs .icf-ctab').forEach(t => t.classList.remove('active'));
this.classList.add('active');
renderItems();
};
});
shadow.getElementById('btnToggleFullscreen').onclick = () => {
setFullscreenState(!isFullscreen);
};
shadow.getElementById('btnExitFloating').onclick = () => {
setFullscreenState(false);
};
fabBtn.onclick = () => {
setFullscreenState(!isFullscreen);
};
window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true });
window.addEventListener('resize', updateFloatingFabVisibility, { passive: true });
window.addEventListener('keydown', (e) => {
if (e.key === 'Escape' && isFullscreen) {
setFullscreenState(false);
}
});
renderHeader();
applyPreset('good_env');
}
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', initICFTool);
} else {
initICFTool();
}
})();
ICF / ICF-CY (Khung Phân loại Quốc tế về Chức năng, Khuyết tật và Sức khỏe của WHO): Nếu ICD-11 dùng để “gọi tên bệnh”, thì ICF là bộ tiêu chuẩn quốc tế giúp đánh giá khả năng hoạt động và sự tham gia xã hội của trẻ, làm nền tảng cho mọi kế hoạch can thiệp hiện đại.
ICF (International Classification of Functioning, Disability and Health — 2001) và ICF-CY (Bản dành cho Trẻ em và Thanh thiếu niên — 2007, hiện đã được hợp nhất trực tiếp vào hệ thống ICF chung và liên kết chặt chẽ với ICD-11) là Khung Phân loại Quốc tế về Chức năng, Khuyết tật và Sức khỏe do Tổ chức Y tế Thế giới (WHO) ban hành.
Nếu như ICD-11 (mã 6A02) và DSM-5-TR (mã F84.0) trả lời câu hỏi: “Trẻ mắc hội chứng/rối loạn gì?”, thì ICF / ICF-CY trả lời câu hỏi quan trọng không kém trong phục hồi chức năng và giáo dục đặc biệt: “Đứa trẻ này đang vận hành trong đời sống hàng ngày như thế nào, điểm mạnh là gì, và môi trường xung quanh đang hỗ trợ hay cản trở trẻ ra sao?”
1. Tóm tắt cốt lõi về Cấu trúc & Hệ thống Mã hóa của ICF / ICF-CY
Mô hình Tâm – Sinh – Xã hội (Biopsychosocial Model) của ICF chia chức năng con người thành 4 Thành phần (Components) được ký hiệu bằng 4 chữ cái đầu (b, s, d, e):
Mã ký hiệu
Thành phần phân loại (Component)
Nội dung lâm sàng trong Tự kỷ (ASD) & Phát triển
Hệ thống Chấm điểm Định lượng (Qualifiers)
b
1. Chức năng Cơ thể
(Body Functions)
Chức năng tâm thần – thần kinh (b1), giác quan (b2), giọng nói và lời nói (b3), vận động (b7).
VD: b122 (Tâm lý xã hội), b140 (Chú ý), b164(Điều hành).
Mức độ khiếm khuyết (0 – 4):
• .0 Không khiếm khuyết (0–4%)
• .1 Khiếm khuyết nhẹ (5–24%)
• .2 Khiếm khuyết vừa (25–49%)
• .3 Khiếm khuyết nặng (50–95%)
• .4 Khiếm khuyết hoàn toàn (96–100%)
s
2. Cấu trúc Cơ thể
(Body Structures)
Cấu trúc giải phẫu của hệ thần kinh (s110 Cấu trúc não bộ) hoặc cơ quan phát âm (s3).
Thường ít chấm biến đổi ở trẻ ASD đơn thuần (trừ khi kèm bại não, dị tật giải phẫu).
d
3. Hoạt động & Tham gia
(Activities & Participation)
Học tập (d1), Thực hiện nhiệm vụ (d2), Giao tiếp (d3), Vận động (d4), Tự chăm sóc (d5), Đời sống gia đình (d6), Tương tác cá nhân (d7), Học đường & Nghề nghiệp (d8).
👉 Đặc trưng trẻ nhỏ (ICF-CY): Chơi đùa (d880), Chú ý chung (d161), Bắt chước (d130).
Đánh giá song song 2 chỉ số (.0đến .4):
1. Năng lực tự thân (Capacity):Khả năng trẻ tự làm trong môi trường chuẩn không có hỗ trợ.
2. Thực hiện thực tế (Performance): Mức độ trẻ làm được trong đời sống hàng ngày khi đã có hỗ trợ/điều chỉnh.
e
4. Yếu tố Môi trường
(Environmental Factors)
Học liệu/Công nghệ hỗ trợ AAC (e1), Môi trường ánh sáng/âm thanh (e2), Sự hỗ trợ của gia đình/giáo viên (e3), Thái độ xã hội (e4), Dịch vụ y tế – giáo dục (e5).
Chấm theo 2 chiều đối lập:
• Rào cản (Barrier): .1 đến .4(Cản trở trẻ)
• Thúc đẩy (Facilitator): +1đến +4 (Hỗ trợ giúp trẻ làm tốt hơn)
2. Bộ Cốt lõi ICF cho Rối loạn Phổ Tự kỷ (ICF Core Sets for ASD) & Các Công cụ Quốc tế
Vì toàn bộ cuốn ICF-CY có tới hơn 1.600 mã phân loại (quá dài để chấm trên một bệnh nhân), Tổ chức Y tế Thế giới (WHO), ICF Research Branch và Viện Karolinska (Thụy Điển – GS. Sven Bölte) đã nghiên cứu chuẩn hóa thành Bộ Cốt lõi ICF dành riêng cho Tự kỷ (ICF Core Sets for ASD) với các phiên bản theo độ tuổi: Mầm non (0–5 tuổi), Học đường (6–16 tuổi) và Người lớn (≥17 tuổi).
Ngoài ra, các hệ thống tra cứu chính thức của quốc tế hiện có:
-
WHO ICF Browser: Trình duyệt tra cứu cây phân loại mã ICF chính thức của WHO (icd.who.int/dev11/l-icf/en).
-
ICF-based Documentation Tool: Công cụ lập biểu đồ hồ sơ chức năng của ICF Research Branch (Thụy Sĩ).
[Chỉ số báo cáo] Chỉ số IQ vs. DQ: Phân biệt Thương số trí tuệ (IQ) và Thương số phát triển (DQ) trong chẩn đoán
Trong thực tế lâm sàng tại Việt Nam, khi cầm tờ phiếu kết quả khám tâm lý (ví dụ: phiếu KSPD Kyoto hay Bayley-III ghi DQ = 65), rất nhiều phụ huynh hoảng loạn vì tưởng con mình bị “thiểu năng trí tuệ vĩnh viễn giống như IQ = 65”.Ngược lại, nhiều giáo viên/chuyên viên mới vào nghề cũng gọi nhầm điểm DQ của trẻ 2 tuổi là “điểm IQ”.
(function() { const host = document.getElementById('dqiq-wp-host'); if (!host) return; const placeholder = document.createComment('dqiq-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .dq-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } .dq-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .dq-inner { padding: 24px; max-width: 980px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .dq-wrap.is-fullscreen .dq-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .dq-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 0 rgba(37, 99, 235, 0.4); } 70% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 10px rgba(37, 99, 235, 0); } 100% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 0 rgba(37, 99, 235, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #1d4ed8 0%, #2563eb 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } .dq-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .dq-header-text { flex: 1 1 260px; } .dq-title { font-size: 21px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .dq-desc { font-size: 14px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #eff6ff; color: #1d4ed8; border: 1px solid #bfdbfe; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #2563eb; color: #ffffff; border-color: #2563eb; } /* Presets */ .dq-presets { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; margin-bottom: 16px; } .dq-lbl { font-size: 12px; font-weight: 800; color: #0f172a; text-transform: uppercase; margin-right: 4px; } .dq-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; touch-action: manipulation; } .dq-pbtn:hover { background: #f1f5f9; } /* Grid nhập thông số */ .dq-input-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-bottom: 18px; } .dq-card { background: #f8fafc; border: 1px solid #cbd5e1; border-radius: 12px; padding: 14px; } .dq-card-title { font-size: 13px; font-weight: 800; color: #1e3a8a; margin-bottom: 8px; display: block; } .dq-field { margin-bottom: 10px; } .dq-field:last-child { margin-bottom: 0; } .dq-field label { font-size: 12px; font-weight: 700; color: #334155; display: block; margin-bottom: 4px; } .dq-field input, .dq-field select { width: 100%; padding: 8px 10px; border: 1px solid #94a3b8; border-radius: 7px; font-size: 14px; font-weight: 700; color: #0f172a; background: #ffffff; } /* Dashboard so sánh DQ vs IQ */ .dq-dash { background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .dq-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .dq-score-big { font-size: 20px; font-weight: 800; line-height: 1.25; } .dq-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .dq-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #2563eb; color: #ffffff; } .dq-pillars { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; font-size: 12px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .dq-pillar-box { background: #1e293b; padding: 8px 10px; border-radius: 8px; border-left: 3px solid #3b82f6; } .dq-pillar-val { font-weight: 800; color: #ffffff; font-size: 14px; display: block; margin-top: 2px; } /* Bảng quy chiếu SD, DQ và IQ */ .dq-table-card { margin-top: 16px; padding: 16px 18px; border-radius: 12px; background: #ffffff; border: 1px solid #e2e8f0; overflow-x: auto; } .dq-table { width: 100%; border-collapse: collapse; font-size: 13px; min-width: 640px; } .dq-table th, .dq-table td { border: 1px solid #cbd5e1; padding: 9px 12px; text-align: left; } .dq-table th { background: #f1f5f9; font-weight: 800; color: #0f172a; } .dq-table tr.active-band { background: #eff6ff; border: 2px solid #2563eb; } .dq-result-box { margin-top: 16px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #2563eb; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 760px) { .dq-inner { padding: 14px; } .dq-title { font-size: 18px; } .dq-input-grid { grid-template-columns: 1fr; } .dq-pillars { grid-template-columns: 1fr 1fr; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
Công Cụ Tính Toán, Đối Chiếu Chỉ Số DQ (Thương Số Phát Triển) vs. IQ (Thương Số Trí Tuệ) & Tư Vấn Chọn Thang Đo
Giúp phụ huynh và nhà chuyên môn tính nhanh Chỉ số Phát triển DQ = (DA / CA) × 100, phát hiện hiện tượng "DQ/IQ Thấp Giả Tạo do Rào cản Ngôn ngữ ở trẻ Tự kỷ", đối chiếu với Độ lệch chuẩn (SD) và chọn đúng công cụ đánh giá chuẩn quốc tế theo độ tuổi.
| Mốc Độ lệch chuẩn (SD) | Điểm Chuẩn (DQ / IQ) | Bách phân vị | Ý nghĩa trong DQ (Trẻ < 5 tuổi: KSPD, Bayley-III) | Ý nghĩa trong IQ (Trẻ ≥ 5–6 tuổi: WISC-V, Leiter-3) |
|---|---|---|---|---|
| ≥ +1 SD đến +2 SD | ≥ 115 điểm | ≥ 84% | Tốc độ phát triển sớm vượt trội so với tháng tuổi. | Trí tuệ Trên trung bình (115–129) đến Rất cao (≥130). |
| Trong khoảng ±1 SD | 85 – 114 điểm | 16% – 83% | Phát triển Bình thường (Typical Development): Đạt đúng các mốc tuổi. | Trí tuệ Trung bình (Average IQ): Chiếm 68% dân số. |
| Từ -1 SD đến -2 SD | 70 – 84 điểm | 2.3% – 15% | Chậm phát triển mức độ Nhẹ / Giáp ranh: Rất có cơ hội bắt kịp tuổi nếu can thiệp sớm. | Trí tuệ Ranh giới (Borderline Intellectual Functioning): Cần hỗ trợ phương pháp học. |
| Dưới -2 SD | < 70 điểm (Nặng: <55 • -3 SD) |
< 2.3% | Chậm phát triển Rõ rệt (GDD nếu chậm ≥2 lĩnh vực): Cần can thiệp sớm chuyên sâu ngay; chưa kết luận Khuyết tật trí tuệ vĩnh viễn! | Suy giảm Trí tuệ: Nếu đi kèm Hành vi thích ứng (Vineland-3) < 70 sẽ xác lập chẩn đoán Rối loạn Phát triển Trí tuệ (IDD). |
' + '• Bạn hãy nhìn kỹ: Năng lực Nhận thức phi ngôn ngữ của trẻ đạt tới ' + dqCog + ' điểm (Hoàn toàn Bình thường ≥ 85) và Vận động đạt ' + dqMot + ' điểm. Tuy nhiên, vì Ngôn ngữ – Xã hội chỉ đạt ' + dqLang + ' điểm (chênh lệch tới ' + gapCogLang + ' điểm), nên khi cộng trung bình lại thì DQ Tổng thể bị kéo tụt xuống còn ' + dqTotal + ' điểm!
' + '• Giải thích cho Phụ huynh: Trẻ KHÔNG bị chậm phát triển trí tuệ. Điểm tổng bị thấp hoàn toàn là do rào cản ngôn ngữ và giao tiếp xã hội kéo xuống. Khi được can thiệp mở khóa giao tiếp, điểm số tổng thể của trẻ sẽ bật tăng trở lại!' + '
' + '• ' + (ca < 60 ? 'Vì trẻ dưới 5 tuổi, chẩn đoán y khoa chuẩn xác là Chậm Phát triển Toàn diện (Global Developmental Delay - GDD). Cần can thiệp sớm toàn diện và đánh giá lại IQ khi trẻ lên 5–6 tuổi.' : (adapt === 'imp' ? 'Trẻ đã ≥ 5–6 tuổi, có cả Nhận thức < 70 (-2 SD) VÀ Hành vi thích ứng < 70 (-2 SD) → Thỏa mãn tiêu chuẩn Rối loạn Phát triển Trí tuệ (IDD — Mã ICD-11: 6A00 / DSM-5-TR).' : 'Dù điểm nhận thức < 70 nhưng Hành vi thích ứng của trẻ vẫn từ 70 trở lên, cần thận trọng kiểm tra lại bằng test IQ phi ngôn ngữ (Leiter-3/Raven) trước khi kết luận IDD.')) + '
' + '• 2. Bộ công cụ đánh giá chuẩn khuyến nghị sử dụng: ' + recommendedTools + trapWarning; updateFloatingFabVisibility(); } function applyCase(caseKey) { if (caseKey === 'asd_toddler') { inpCA.value = 30; inpDACog.value = 29; // DQ = 97 inpDALang.value = 14; // DQ = 47 inpDAMot.value = 27; // DQ = 90 selVerbal.value = 'nonverbal'; selAdaptive.value = 'border'; } else if (caseKey === 'asd_school') { inpCA.value = 84; // 7 tuổi inpDACog.value = 86; // NVIQ = 102 inpDALang.value = 45; // Ngôn ngữ = 54 inpDAMot.value = 78; // Vận động = 93 selVerbal.value = 'phrase'; selAdaptive.value = 'border'; } else if (caseKey === 'gdd_child') { inpCA.value = 24; inpDACog.value = 14; // DQ = 58 inpDALang.value = 12; // DQ = 50 inpDAMot.value = 16; // DQ = 67 selVerbal.value = 'nonverbal'; selAdaptive.value = 'imp'; } else if (caseKey === 'typical') { inpCA.value = 48; inpDACog.value = 48; inpDALang.value = 47; inpDAMot.value = 49; selVerbal.value = 'fluent'; selAdaptive.value = 'avg'; } updateAnalysis(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); dqWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { dqWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 980px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } [inpCA, inpDACog, inpDALang, inpDAMot, selVerbal, selAdaptive].forEach(el => { el.addEventListener('input', updateAnalysis); el.addEventListener('change', updateAnalysis); }); shadow.querySelectorAll('.dq-pbtn').forEach(btn => { btn.onclick = function() { applyCase(this.getAttribute('data-case')); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); applyCase('asd_toddler'); })();
Dưới đây là Bài viết chuyên môn chuẩn Y khoa – Tâm lý học (được trình bày sẵn sàng để bạn đăng làm bài viết nền tảng cạnh bài Độ lệch chuẩn SD), kèm theo 1 Công cụ HTML Tương tác: “Bộ Chuyển Đổi, Phân Giải DQ vs. IQ & Định Tuyến Thang Đo Chuẩn”
BÀI VIẾT CHUYÊN MÔN: Phân Biệt Chỉ Số DQ (Thương Số Phát Triển) và IQ (Thương Số Trí Tuệ) — Khi Nào Dùng DQ, Khi Nào Dùng IQ?
Trong lĩnh vực đánh giá rối loạn phát triển thần kinh (Tự kỷ, Chậm phát triển, ADHD, Khuyết tật trí tuệ), DQ(Developmental Quotient) và IQ (Intelligence Quotient) là hai con số xuất hiện nhiều nhất trên các bản báo cáo lâm sàng. Dù cả hai đều lấy mốc 100 là trung bình và dưới 70 (−2 SD) là suy giảm rõ rệt, nhưng bản chất thần kinh học, độ tuổi áp dụng và giá trị tiên lượng của chúng hoàn toàn khác nhau.
I. Bản chất của DQ (Thương số Phát triển) là gì?
DQ (Developmental Quotient — Thương số Phát triển) là chỉ số đo lường tốc độ đạt được các mốc phát triển toàn diện của trẻ nhỏ (thường từ 0 đến dưới 5–6 tuổi) so với những đứa trẻ bình thường cùng tháng tuổi.
-
Công thức tính DQ kinh điển (ví dụ trong thang KSPD Kyoto, Gesell, Mullen, PEP-3):
DQ=(Tuổi phaˊt triển (DA – Developmental Age)Tuổi thực (CA – Chronological Age))×100Ví dụ: Một bé 24 tháng tuổi (CA = 24) đi khám bằng thang KSPD Kyoto. Kỹ năng Ngôn ngữ – Xã hội của bé hiện chỉ làm được các mốc của trẻ 12 tháng tuổi (DA = 12). Khi đó:
DQ Ngoˆn ngữ=1224×100=50 -
Đặc điểm cốt lõi của DQ:
-
Đo lường các kỹ năng “Sensory-Motor” (Giác quan – Vận động & Tiền ngôn ngữ): Ở trẻ dưới 3–5 tuổi,tư duy trừu tượng chưa tách rời khỏi vận động và ngôn ngữ. Do đó, DQ đánh giá một “rổ kỹ năng” tổng hợp gồm: Vận động thô, Vận động tinh, Tự phục vụ, Ngôn ngữ sớm và Tương tác xã hội.
-
Có tính biến thiên rất lớn (Mềm dẻo thần kinh cao): Não bộ trẻ từ 0–5 tuổi có tính mềm dẻo (Neuroplasticity) cực kỳ mạnh mẽ. Một trẻ 2 tuổi có DQ = 60 do chậm nói và thiếu tương tác, sau 1–2 năm can thiệp sớm tích cực (như ESDM, ABA), trẻ bật nói và bắt kịp bạn bè thì DQ hoàn toàn có thể tăng vọt lên 90 – 100!
-
Là cơ sở để chẩn đoán “Chậm phát triển toàn diện” (GDD — Global Developmental Delay): Trong DSM-5-TR và ICD-11, bác sĩ chưa đặt bút chẩn đoán “Khuyết tật trí tuệ” cho trẻ dưới 5 tuổi mà gọi là GDDdựa trên chỉ số DQ này.
-
II. Bản chất của IQ (Thương số Trí tuệ) là gì?
IQ (Intelligence Quotient — Thương số Trí tuệ) là chỉ số đo lường năng lực tư duy nhận thức thuần túy, khả năng suy luận logic, giải quyết vấn đề trừu tượng, trí nhớ làm việc và tốc độ xử lý thông tin (thường áp dụng chuẩn xác nhất cho trẻ từ 5–6 tuổi trở lên).
-
Cách tính IQ hiện đại (Deviation IQ — như trong WISC-V, WAIS-IV, Leiter-3, Raven): IQ hiện đại không còn dùng công thức (Tuổi trí tuệ / Tuổi thực) × 100 như thế kỷ trước nữa, mà tính bằng Điểm chuẩn Độ lệch (Deviation IQ) dựa trên phân phối hình chuông (Mean=100,SD=15): so sánh trực tiếp vị trí của trẻ với hàng ngàn trẻ cùng độ tuổi chính xác đến từng tháng.
-
Đặc điểm cốt lõi của IQ:
-
Tách biệt khỏi vận động thô và kỹ năng sinh hoạt: Bài test IQ (như WISC-V hay Raven) không hỏi xem trẻ có biết nhảy lò cò hay tự mặc quần áo không, mà đi thẳng vào Tư duy khái niệm ngôn ngữ (VCI), Không gian thị giác (VSI), Suy luận quy nạp (FRI), Trí nhớ làm việc (WMI) và Tốc độ xử lý (PSI).
-
Có tính ổn định cao theo thời gian: Từ sau 6–7 tuổi, chỉ số IQ cốt lõi có xu hướng ổn định hơn nhiều so với DQ đầu đời.
-
Là cơ sở chẩn đoán “Rối loạn Phát triển Trí tuệ” (IDD — Intellectual Developmental Disorder): Khi trẻ ≥5−6 tuổi có IQ <70 (dưới −2 SD) đi kèm với suy giảm Hành vi thích ứng (trên thang Vineland-3 ), nhà lâm sàng mới xác lập chẩn đoán IDD.
-
III. Bảng So sánh Trực diện: DQ vs. IQ
[Chỉ số báo cáo] Độ lệch chuẩn (SD) & Bách phân vị: Hướng dẫn đọc các chỉ số thống kê trong báo cáo đánh giá của trẻ
Độ lệch chuẩn (viết tắt là SD – Standard Deviation) là thước đo cho biết điểm số hoặc chỉ số của một cá nhân lệch đi bao xa so với mức trung bình của đám đông (quần thể chuẩn).
Trong các công cụ đánh giá tâm lý, y khoa (như bài test IQ, thang đo trầm cảm, lo âu, phát triển trẻ em hay bảng chiều cao/cân nặng của WHO), một con số điểm thô đứng một mình thường không có nhiều ý nghĩa. Các chuyên gia phải dùng đơn vị SD để trả lời câu hỏi quan trọng nhất: “So với những người cùng độ tuổi và hoàn cảnh, mức điểm này là bình thường hay bất thường?”
Nguyên lý hoạt động: “Đường cong hình chuông” và Quy tắc 68–95–99.7
Khi khảo sát một đặc điểm bất kỳ (như trí thông minh, mức độ chú ý, hoặc chiều cao) trên hàng ngàn người, kết quả thu được luôn tạo thành một Phân phối chuẩn (Normal Distribution) có hình dáng giống một chiếc chuông úp:
-
Điểm Trung bình (Mean – ký hiệu là hoặc , tương ứng mức ): Nằm ở đỉnh cao nhất ở chính giữa chiếc chuông. Đa số mọi người đều tập trung quanh mức này.
-
Độ lệch chuẩn (SD – ký hiệu là ): Là “bước nhảy” tính từ điểm trung bình sang hai bên sườn chuông.
-
Dấu cộng (): Cao hơn mức trung bình.
-
Dấu trừ (): Thấp hơn mức trung bình.
-
Theo quy luật thống kê trên đường cong hình chuông:
-
Từ −1 SD đến : Bao gồm khoảng 68% dân số (nhóm đa số, hoàn toàn bình thường).
-
Từ đến : Bao gồm khoảng 95% dân số.
-
Vượt quá (tức chỉ còn khoảng 5% ở hai đầu mút): Đây là vùng “hiếm gặp”. Trong y khoa và tâm lý học lâm sàng (kể cả DSM-5-TR và ICD-11), mốc đến thường được chọn làm ngưỡng cắt (cut-off) để xác định sự suy giảm chức năng hoặc tình trạng bệnh lý.
Cách đọc hiểu đơn vị SD trong các công cụ đánh giá
Tùy thuộc vào công cụ đang đo lường năng lực tích cực (như IQ, trí nhớ, chiều cao) hay đo lường triệu chứng bệnh lý(như mức độ lo âu, tăng động, trầm cảm), ý nghĩa của dấu và sẽ khác nhau:
| Khoảng SD | Tỷ lệ trong dân số | Nếu đo Năng lực / Phát triển (VD: Test IQ, ngôn ngữ, chiều cao) | Nếu đo Triệu chứng / Hành vi (VD: Thang đo trầm cảm, ADHD) |
| Trong khoảng đến | ~68% (Đại đa số) | Bình thường / Trung bình: Phát triển đúng chuẩn độ tuổi. | Bình thường: Không có biểu hiện rối loạn đáng kể. |
| Từ đến | ~18% (Khá phổ biến) | Cận biên (Borderline): Hơi thấp hoặc hơi nhỉnh hơn trung bình, cần theo dõi thêm. | Nguy cơ nhẹ / Cận lâm sàng: Có biểu hiện nhưng chưa đủ nặng để kết luận bệnh. |
| Từ đến | ~9% (Ít gặp) | Kém / Chậm phát triển mức nhẹ (nếu là ) hoặc Vượt trội (nếu là ). | Mức độ Trung bình (Lâm sàng):Bắt đầu gây suy giảm chức năng sinh hoạt. |
| Vượt quá hoặc | Chỉ ~5% (Rất hiếm – khoảng 2.3% mỗi đầu) | Rối loạn / Khuyết tật rõ rệt (nếu ) hoặc Thiên tài / Xuất sắc (nếu ). | Mức độ Nặng (nếu ): Triệu chứng vượt ngưỡng báo động, cần can thiệp chuyên khoa. |
Hai ví dụ thực tế dễ hình dung nhất
-
Trong bài kiểm tra Trí tuệ (Test IQ Wechsler – WISC/WAIS):
-
Điểm trung bình chuẩn của nhân loại được quy ước là M=100, và mỗi 1 SD=15.
-
Nếu một người có IQ từ 85 đến 115 (tức nằm trong khoảng đến ): Người đó có trí tuệ trung bình như 68% dân số.
-
Theo DSM-5-TR, một trong các tiêu chuẩn để chẩn đoán Khuyết tật trí tuệ (Intellectual Disability) là điểm IQ thấp hơn mức trung bình từ trở lên – tức là điểm (100−2×15=70).
-
-
Trong thang đo hành vi tâm lý (như thang Vanderbilt, Conners cho ADHD hoặc CBCL):
-
Kết quả thường được máy tính quy đổi ra Điểm T (T-score), trong đó mức trung bình của trẻ bình thường là , và 1 SD=10 điểm.
-
Nếu kết quả của trẻ báo điểm T là 65 (tức ) hoặc 70 (tức ), nghĩa là mức độ hiếu động/kém chú ý của trẻ đang cao hơn 95%–98% các bạn cùng trang lứa – đây là cơ sở định lượng để bác sĩ xem xét chẩn đoán.
-
Bạn có thể kéo thanh trượt trong mô hình tương tác dưới đây để xem điểm số của một cá nhân (hoặc hình dạng đường cong) thay đổi vị trí như thế nào theo từng mốc Độ lệch chuẩn ():
Mô phỏng Phân phối chuẩn & Quy đổi Độ lệch chuẩn (SD)
Kéo thanh trượt để quan sát vị trí điểm số trên đường cong hình chuông và bảng quy đổi lâm sàng
| Khoảng SD | Tỷ lệ dân số | Điểm IQ (TB=100) | Điểm T (TB=50) | Đo Năng lực (VD: IQ, Ngôn ngữ) | Đo Triệu chứng (VD: ADHD, Trầm cảm) |
|---|---|---|---|---|---|
| ≤ -2.0 SD | ~2.3% | ≤ 70 | ≤ 30 | Chậm phát triển / Khuyết tật rõ rệt | Thấp (Không có triệu chứng) |
| -2.0 đến -1.0 SD | ~13.6% | 71 – 84 | 31 – 39 | Cận biên / Thấp hơn trung bình | Bình thường |
| -1.0 đến +1.0 SD | ~68.2% | 85 – 115 | 40 – 60 | Bình thường / Trung bình | Bình thường |
| +1.0 đến +2.0 SD | ~13.6% | 116 – 129 | 61 – 69 | Trên trung bình / Khá giỏi | Nguy cơ / Cận lâm sàng (từ +1.5 SD) |
| ≥ +2.0 SD | ~2.3% | ≥ 130 | ≥ 70 | Rất vượt trội / Xuất sắc | Vượt ngưỡng lâm sàng (Mức độ nặng) |
Điểm mấu chốt cần nhớ: Khi đọc một bản kết quả đánh giá, bạn chỉ cần nhìn xem chỉ số SD có nằm trong vùng an toàn từ đến hay không. Nếu con số chạm hoặc vượt mốc đến , đó là tín hiệu cho thấy chỉ số này đang nằm ở rìa của tháp chuông và cần được chuyên gia lưu tâm.
[Hành vi thích ứng] Vineland-3: Thang đo lường hành vi thích ứng và năng lực tự lập từ sơ sinh đến trưởng thành
Vineland-3 (tên đầy đủ: Vineland Adaptive Behavior Scales – Third Edition) là một công cụ đánh giá chuẩn hóa hàng đầu thế giới trong lĩnh vực tâm lý học lâm sàng, giáo dục đặc biệt và y khoa phát triển. Công cụ này được thiết kế để đo lường hành vi thích ứng (adaptive behavior) của một cá nhân từ khi mới sinh (0 tuổi) đến 90 tuổi. Dưới đây là phiên bản online tiếng Việt giúp đánh giá kết quả rất và chính xác. Nên thực hiện trên màn hình máy tính sẽ trực quan hơn.
(function() { const host = document.getElementById('vn3-wp-host'); if (!host) return; // Thẻ giữ chỗ khi dùng DOM Portal đưa bảng ra thẳng document.body const placeholder = document.createComment('vn3-portal-placeholder'); // Khởi tạo Shadow DOM để cách ly 100% CSS với Theme WordPress const shadow = host.attachShadow({ mode: 'open' }); const domains = [ { id: 'comm', name: 'Giao tiếp (Communication)', core: true, subdomains: [ { id: 'rec', name: 'Tiếp nhận (Receptive)', items: [ 'Quay đầu hoặc nhìn theo khi được gọi tên', 'Hiểu và làm theo chỉ dẫn đơn giản 1 bước', 'Chỉ đúng các bộ phận cơ thể hoặc đồ vật quen thuộc khi được hỏi', 'Hiểu các câu hỏi "Ai", "Cái gì", "Ở đâu"', 'Làm theo chỉ dẫn gồm 2–3 bước liên tiếp không cần nhắc lại', 'Chú ý lắng nghe câu chuyện hoặc hướng dẫn trong 15 phút' ] }, { id: 'exp', name: 'Diễn đạt (Expressive)', items: [ 'Sử dụng cử chỉ hoặc từ đơn để yêu cầu đồ vật mong muốn', 'Nói được cụm từ 2–3 từ để diễn đạt ý muốn', 'Đặt câu hỏi "Cái gì đây?", "Tại sao?" phù hợp ngữ cảnh', 'Nói câu hoàn chỉnh có chủ ngữ - vị ngữ rõ ràng', 'Kể lại sự việc đã xảy ra trong ngày theo trình tự hợp lý', 'Duy trì cuộc trò chuyện qua lại nhiều lượt đúng chủ đề' ] }, { id: 'wri', name: 'Viết (Written)', items: [ 'Cầm sách đúng chiều và lật từng trang xem hình', 'Nhận biết các chữ cái trong bảng chữ cái và chữ số cơ bản', 'Tự viết hoặc tô theo được tên của bản thân', 'Đọc hiểu các từ đơn giản, biển báo hoặc nhãn hiệu quen thuộc', 'Đọc hiểu câu ngắn hoặc đoạn văn phù hợp lứa tuổi', 'Viết được câu ngắn hoặc tin nhắn có nghĩa rõ ràng' ] } ] }, { id: 'dls', name: 'Kỹ năng sống hàng ngày (Daily Living Skills)', core: true, subdomains: [ { id: 'per', name: 'Cá nhân (Personal)', items: [ 'Tự cầm cốc uống nước và dùng thìa xúc ăn gọn gàng', 'Thông báo hoặc tự đi vệ sinh đúng nơi quy định', 'Tự cởi và mặc quần áo đơn giản (quần thun, áo phông)', 'Tự rửa tay bằng xà phòng, lau khô và tự đánh răng', 'Tự tắm rửa sạch sẽ mà chỉ cần giám sát tối thiểu', 'Biết cài cúc áo, kéo khóa và buộc dây giày' ] }, { id: 'dom', name: 'Gia đình (Domestic)', items: [ 'Tự cất đồ chơi hoặc đồ dùng cá nhân vào đúng chỗ sau khi dùng', 'Bỏ rác vào thùng rác và phụ dọn bàn ăn', 'Biết lau bàn, quét nhà hoặc gấp quần áo đơn giản', 'Nhận biết và tránh các vật dụng nguy hiểm (ổ điện, nước sôi, dao)', 'Tự lấy đồ ăn nhẹ/nước uống và dọn dẹp sau khi ăn', 'Sử dụng an toàn một số thiết bị gia dụng cơ bản' ] }, { id: 'com', name: 'Cộng đồng (Community)', items: [ 'Nắm tay người lớn hoặc đi trên vỉa hè an toàn khi ra đường', 'Quan sát hai bên và tuân thủ tín hiệu đèn khi qua đường', 'Hiểu khái niệm thời gian cơ bản (sáng/tối, hôm qua/ngày mai)', 'Nhận biết công dụng của tiền và phân biệt các mệnh giá tiền', 'Xem được giờ trên đồng hồ kim hoặc đồng hồ điện tử', 'Biết mua món đồ nhỏ và kiểm tra tiền thừa hoặc dùng điện thoại liên lạc' ] } ] }, { id: 'soc', name: 'Xã hội hóa (Socialization)', core: true, subdomains: [ { id: 'ipr', name: 'Quan hệ liên cá nhân (Interpersonal)', items: [ 'Giao tiếp mắt và mỉm cười đáp lại người quen', 'Nhận biết cảm xúc vui, buồn, tức giận của người khác', 'Bắt chước hành động hoặc biểu cảm của người lớn/bạn bè', 'Thể hiện sự quan tâm, an ủi khi thấy người khác buồn hoặc đau', 'Chủ động chào hỏi và bắt chuyện với bạn cùng trang lứa', 'Xây dựng và duy trì tình bạn thân thiết với ít nhất 1–2 bạn' ] }, { id: 'pla', name: 'Vui chơi & Giải trí (Play & Leisure)', items: [ 'Chơi các trò chơi tương tác đơn giản (ú òa, lăn bóng qua lại)', 'Chơi giả vờ (cho búp bê ăn, nấu ăn, đóng vai nhân vật)', 'Chơi cạnh và chia sẻ đồ chơi với trẻ khác khi được gợi ý', 'Biết chờ đến lượt (luân phiên) trong trò chơi nhóm', 'Tuân thủ luật chơi trong các trò chơi vận động hoặc cờ bàn', 'Chủ động rủ bạn cùng tham gia hoạt động giải trí chung' ] }, { id: 'cop', name: 'Kỹ năng ứng phó (Coping Skills)', items: [ 'Biết nói lời "Cảm ơn" và "Xin lỗi" phù hợp hoàn cảnh', 'Chuyển đổi hoạt động mà không la hét hay ăn vạ kéo dài', 'Kiểm soát cơn giận khi không đạt được điều mình muốn ngay lập tức', 'Chấp nhận sự thay đổi nhỏ trong lịch trình sinh hoạt hàng ngày', 'Biết xin phép trước khi lấy đồ của người khác', 'Giữ bình tĩnh và chấp nhận kết quả khi thua cuộc trong trò chơi' ] } ] }, { id: 'mot', name: 'Kỹ năng vận động (Motor Skills - Tùy chọn)', core: false, subdomains: [ { id: 'gro', name: 'Vận động thô (Gross Motor)', items: [ 'Đi vững vàng, chạy không bị vấp ngã', 'Bước lên và xuống cầu thang luân phiên hai chân', 'Nhảy bật bằng hai chân tại chỗ và nhảy qua vật cản thấp', 'Đứng một chân giữ thăng bằng trong vài giây và nhảy lò cò', 'Đá bóng về phía trước trúng hướng mục tiêu', 'Ném và bắt được bóng cỡ vừa bằng hai tay' ] }, { id: 'fin', name: 'Vận động tinh (Fine Motor)', items: [ 'Nhặt vật nhỏ bằng ngón cái và ngón trỏ (kẹp gọng kìm)', 'Xếp chồng được từ 6–8 khối gỗ hoặc lắp ghép mô hình đơn giản', 'Mở nắp hộp, vặn tay nắm cửa và xâu hạt qua dây', 'Cầm bút bằng 3 đầu ngón tay (tư thế kiềng 3 chân)', 'Vẽ theo được hình tròn, hình vuông, đường thẳng và tô màu trong hình', 'Sử dụng kéo cắt giấy theo đường thẳng và đường cong' ] } ] } ]; const itemScores = {}; const quickVScales = {}; let entryMode = 'items'; let activeDomainId = 'comm'; let isFullscreen = false; let savedScrollY = 0; function applyPreset(type) { domains.forEach(d => { d.subdomains.forEach(s => { s.items.forEach((_, idx) => { const key = `${s.id}_${idx}`; if (type === 'typical') { itemScores[key] = idx < 4 ? 2 : 1; quickVScales[s.id] = 15; } else if (type === 'asd') { if (s.id === 'wri' || s.id === 'per' || s.id === 'fin') { itemScores[key] = idx < 4 ? 2 : 1; quickVScales[s.id] = 14; } else if (d.id === 'comm' || d.id === 'soc') { itemScores[key] = idx < 2 ? 2 : (idx === 2 ? 1 : 0); quickVScales[s.id] = 9; } else { itemScores[key] = idx < 3 ? 2 : (idx === 3 ? 1 : 0); quickVScales[s.id] = 11; } } else if (type === 'idd') { itemScores[key] = idx < 1 ? 2 : (idx 0) prob = 1 - prob; return Math.max(1, Math.min(99, Math.round(prob * 100))); } function getAdaptiveLevel(ss) { if (ss >= 130) return { label: 'Rất cao (High)', cls: 'lvl-high' }; if (ss >= 115) return { label: 'Khá cao (Moderately High)', cls: 'lvl-mhigh' }; if (ss >= 86) return { label: 'Đạt yêu cầu / Trung bình (Adequate)', cls: 'lvl-adeq' }; if (ss >= 71) return { label: 'Thấp vừa phải (Moderately Low)', cls: 'lvl-mlow' }; return { label: 'Thấp (Low)', cls: 'lvl-low' }; } function computePsychometrics() { const subResults = {}; const domainResults = {}; domains.forEach(d => { let vSum = 0; d.subdomains.forEach(s => { let raw = 0; s.items.forEach((_, idx) => { raw += (itemScores[`${s.id}_${idx}`] || 0); }); const vScale = entryMode === 'quick' ? (quickVScales[s.id] || 15) : Math.round(6 + (raw / 12) * 15); quickVScales[s.id] = vScale; subResults[s.id] = { raw, vScale, name: s.name, domainId: d.id }; vSum += vScale; }); const vAvg = vSum / d.subdomains.length; const ss = Math.round(100 + ((vAvg - 15) / 3) * 15); const clampedSS = Math.max(40, Math.min(140, ss)); const pct = standardScoreToPercentile(clampedSS); const level = getAdaptiveLevel(clampedSS); domainResults[d.id] = { name: d.name, core: d.core, vSum, ss: clampedSS, ci: `${Math.max(40, clampedSS - 5)} – ${Math.min(140, clampedSS + 5)}`, pct, level }; }); const coreSSSum = domainResults.comm.ss + domainResults.dls.ss + domainResults.soc.ss; const abcSS = Math.round(coreSSSum / 3); const abcPct = standardScoreToPercentile(abcSS); const abcLevel = getAdaptiveLevel(abcSS); return { subResults, domainResults, abc: { ss: abcSS, ci: `${Math.max(40, abcSS - 4)} – ${Math.min(140, abcSS + 4)}`, pct: abcPct, level: abcLevel } }; } shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; color: #0f172a; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .app-wrap { width: 100%; background: #ffffff; border: 1px solid #cbd5e1; border-radius: 16px; box-shadow: 0 10px 30px -5px rgba(15, 23, 42, 0.08); overflow: hidden; position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (ĐÃ ĐƯỢC PORTAL RA BODY) */ .app-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 80px !important; } /* Thanh ghim thoát toàn màn hình luôn nổi ở trên cùng khi cuộn trên điện thoại */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .app-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 0.85rem; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 0.8rem; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 0 rgba(37, 99, 235, 0.4); } 70% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 10px rgba(37, 99, 235, 0); } 100% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 0 rgba(37, 99, 235, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #1d4ed8 0%, #2563eb 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 0.84rem; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 0.85rem; } /* Header */ .app-header { background: linear-gradient(135deg, #1e3a8a 0%, #2563eb 100%); color: #ffffff; padding: 18px 20px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 14px; } .app-header h2 { font-size: 1.2rem; font-weight: 700; color: #ffffff; margin-bottom: 4px; } .app-header p { font-size: 0.84rem; color: #dbeafe; } .header-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; } .preset-bar { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; } .preset-label { font-size: 0.76rem; color: #bfdbfe; font-weight: 600; } .btn-preset { background: rgba(255, 255, 255, 0.15); color: #ffffff; border: 1px solid rgba(255, 255, 255, 0.35); padding: 6px 11px; border-radius: 999px; font-size: 0.76rem; font-weight: 600; cursor: pointer; } .btn-preset:hover { background: rgba(255, 255, 255, 0.28); } .btn-fullscreen { background: #ffffff; color: #1e3a8a; border: none; padding: 7px 14px; border-radius: 999px; font-size: 0.8rem; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); } /* Thanh công cụ chế độ */ .mode-bar { background: #f1f5f9; padding: 12px 20px; border-bottom: 1px solid #e2e8f0; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; } .mode-switch { display: flex; gap: 6px; flex-wrap: wrap; } .mode-btn { padding: 7px 14px; border-radius: 8px; border: 1px solid #cbd5e1; background: #ffffff; color: #475569; font-size: 0.82rem; font-weight: 600; cursor: pointer; } .mode-btn.active { background: #2563eb; color: #ffffff; border-color: #2563eb; } /* KPI Cards */ .kpi-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; padding: 16px 20px; background: #f8fafc; border-bottom: 1px solid #e2e8f0; } .kpi-card { background: #ffffff; border: 1px solid #e2e8f0; border-radius: 12px; padding: 12px 14px; } .kpi-card.highlight { background: #eff6ff; border-color: #93c5fd; } .kpi-label { font-size: 0.73rem; font-weight: 700; color: #475569; text-transform: uppercase; } .kpi-val { font-size: 1.45rem; font-weight: 800; color: #0f172a; margin: 2px 0; } .kpi-sub { font-size: 0.74rem; color: #64748b; } /* Khu vực nhập câu hỏi */ .section-body { padding: 18px 20px; background: #ffffff; } .domain-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; } .d-tab { padding: 8px 14px; border-radius: 10px; border: 1px solid #cbd5e1; background: #f8fafc; color: #334155; font-size: 0.84rem; font-weight: 600; cursor: pointer; } .d-tab.active { background: #1e3a8a; color: #ffffff; border-color: #1e3a8a; } .subdomain-block { border: 1px solid #e2e8f0; border-radius: 12px; margin-bottom: 16px; overflow: hidden; } .sub-title-bar { background: #f8fafc; padding: 10px 14px; border-bottom: 1px solid #e2e8f0; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 8px; font-weight: 700; font-size: 0.9rem; } .sub-score-pill { font-size: 0.76rem; background: #dbeafe; color: #1d4ed8; padding: 3px 10px; border-radius: 999px; } .item-row { padding: 12px 14px; border-bottom: 1px solid #f1f5f9; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 10px; } .item-row:last-child { border-bottom: none; } .item-text { font-size: 0.88rem; color: #1e293b; flex: 1 1 220px; } .score-btns { display: flex; gap: 8px; flex-shrink: 0; } .s-btn { width: 40px; height: 36px; border-radius: 8px; border: 1px solid #cbd5e1; background: #ffffff; font-weight: 700; font-size: 0.88rem; cursor: pointer; color: #475569; touch-action: manipulation; } .s-btn.s-2 { background: #16a34a; color: #fff; border-color: #16a34a; } .s-btn.s-1 { background: #f59e0b; color: #fff; border-color: #f59e0b; } .s-btn.s-0 { background: #dc2626; color: #fff; border-color: #dc2626; } /* Quick Sliders */ .quick-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 12px; } .quick-card { border: 1px solid #e2e8f0; border-radius: 10px; padding: 12px 14px; background: #ffffff; } .quick-card label { display: flex; justify-content: space-between; font-size: 0.85rem; font-weight: 700; margin-bottom: 6px; } .quick-card input[type="range"] { width: 100%; height: 24px; accent-color: #2563eb; } /* Bảng Báo Cáo & Biểu Đồ */ .report-section { padding: 20px; border-top: 2px solid #e2e8f0; background: #f8fafc; } .report-title { font-size: 1.02rem; font-weight: 700; margin-bottom: 12px; color: #0f172a; } .table-scroll { width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 12px; margin-bottom: 20px; } table.v-table { width: 100%; border-collapse: collapse; min-width: 520px; text-align: left; font-size: 0.84rem; } .v-table th { background: #f1f5f9; padding: 10px 12px; font-weight: 700; color: #334155; border-bottom: 1px solid #cbd5e1; } .v-table td { padding: 10px 12px; border-bottom: 1px solid #e2e8f0; } .v-table tr.row-abc { background: #eff6ff; font-weight: 700; } .lvl-badge { display: inline-block; padding: 2px 8px; border-radius: 999px; font-size: 0.73rem; font-weight: 700; } .lvl-high, .lvl-mhigh { background: #dcfce7; color: #15803d; } .lvl-adeq { background: #dbeafe; color: #1d4ed8; } .lvl-mlow { background: #fef3c7; color: #b45309; } .lvl-low { background: #fee2e2; color: #b91c1c; } .chart-box { background: #ffffff; border: 1px solid #e2e8f0; border-radius: 12px; padding: 16px; margin-bottom: 16px; } .bar-row { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; font-size: 0.82rem; } .bar-label { width: 180px; flex-shrink: 0; font-weight: 600; color: #334155; } .bar-track { flex: 1; height: 18px; background: #f1f5f9; border-radius: 999px; overflow: hidden; } .bar-fill { height: 100%; border-radius: 999px; transition: width 0.3s ease; } .bar-val { width: 46px; text-align: right; font-weight: 700; flex-shrink: 0; } .iep-box { background: #fffbeb; border: 1px solid #fde68a; border-radius: 12px; padding: 14px; } .iep-item { font-size: 0.85rem; color: #78350f; padding: 4px 0; display: flex; gap: 8px; } @media (max-width: 600px) { .bar-label { width: 115px; font-size: 0.74rem; } .app-header, .section-body, .report-section, .kpi-grid { padding: 12px; } .kpi-grid { grid-template-columns: 1fr 1fr; } .item-row { padding: 10px 12px; } .s-btn { width: 42px; height: 38px; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 0.8rem; } }
Mô Phỏng Đánh Giá Hành Vi Thích Ứng Vineland-3
Thực hành chấm điểm (0–1–2), quy đổi V-Scale, Điểm Chuẩn & Hồ sơ năng lực
| Lĩnh vực / Chỉ số | Điểm Chuẩn (SS) | Khoảng tin cậy 90% | Bách phân vị | Mức độ thích ứng |
|---|
Khác với các bài kiểm tra chỉ số thông minh (IQ) đo lường tiềm năng nhận thức, Vineland-3 đánh giá những gì một người thực sự làm được trong cuộc sống hàng ngày để tự chăm sóc bản thân, giao tiếp và hòa nhập với cộng đồng.
1. Cấu trúc các lĩnh vực đánh giá của Vineland-3
Vineland-3 đo lường hành vi thích ứng thông qua 3 lĩnh vực cốt lõi (tạo nên chỉ số Tổng hợp Hành vi Thích ứng – Adaptive Behavior Composite – ABC) và 2 lĩnh vực tùy chọn:
Bạn có thể tương tác với sơ đồ cấu trúc dưới đây để khám phá chi tiết các lĩnh vực, tiểu lĩnh vực và thang điểm chuẩn hóa của công cụ Vineland-3:
(function() { const host = document.getElementById('vn3-struct-wp-host'); if (!host) return; // Thẻ giữ chỗ (Placeholder) để khi nhấc bảng ra document.body không làm giật trang WordPress const placeholder = document.createComment('vn3-struct-portal-placeholder'); // Khởi tạo Shadow DOM cách ly 100% với CSS của Theme WordPress const shadow = host.attachShadow({ mode: 'open' }); const domainsData = [ { id: "comm", category: "core", badgeText: "Cốt lõi (Tính vào ABC)", title: "1. Giao tiếp (Communication)", desc: "Khả năng lắng nghe, hiểu lời nói, sử dụng ngôn ngữ cử chỉ/lời nói để giao tiếp và kỹ năng đọc - viết.", ageRange: "0 – 90 tuổi", scaleInfo: "Điểm Chuẩn (M = 100, SD = 15)", subdomains: [ { name: "Tiếp nhận (Receptive)", age: "0 – 90 tuổi", items: [ "Quay đầu khi được gọi tên, nhìn theo hướng chỉ tay", "Hiểu câu hỏi và làm theo chỉ dẫn 2–3 bước", "Chú ý lắng nghe câu chuyện hoặc bài giảng" ] }, { name: "Diễn đạt (Expressive)", age: "0 – 90 tuổi", items: [ "Dùng cử chỉ, từ đơn hoặc câu để yêu cầu và biểu đạt", "Kể lại sự việc đã xảy ra theo trình tự logic", "Duy trì hội thoại hai chiều đúng chủ đề" ] }, { name: "Viết (Written)", age: "3 – 90 tuổi", items: [ "Nhận biết chữ cái, đọc từ ngữ và biển báo", "Đọc hiểu văn bản, sách báo phù hợp lứa tuổi", "Viết tên, viết câu hoàn chỉnh hoặc soạn tin nhắn" ] } ] }, { id: "dls", category: "core", badgeText: "Cốt lõi (Tính vào ABC)", title: "2. Kỹ năng sống hàng ngày (Daily Living Skills)", desc: "Khả năng tự chăm sóc bản thân, thực hiện công việc nhà và vận hành độc lập ngoài cộng đồng.", ageRange: "0 – 90 tuổi", scaleInfo: "Điểm Chuẩn (M = 100, SD = 15)", subdomains: [ { name: "Cá nhân (Personal)", age: "0 – 90 tuổi", items: [ "Tự ăn uống bằng thìa/đũa gọn gàng", "Tự mặc quần áo, đi vệ sinh, tắm rửa, đánh răng", "Tự chăm sóc sức khỏe cá nhân cơ bản" ] }, { name: "Gia đình (Domestic)", age: "3 – 90 tuổi", items: [ "Cất đồ đạc, quét dọn nhà cửa, rửa bát, gấp quần áo", "Sử dụng thiết bị gia dụng cẩn thận, an toàn", "Sơ chế thực phẩm và chuẩn bị bữa ăn đơn giản" ] }, { name: "Cộng đồng (Community)", age: "3 – 90 tuổi", items: [ "Tuân thủ quy tắc an toàn khi đi bộ và qua đường", "Xem đồng hồ, quản lý thời gian, dùng điện thoại", "Nhận biết mệnh giá tiền, mua sắm và tính tiền thừa" ] } ] }, { id: "soc", category: "core", badgeText: "Cốt lõi (Tính vào ABC)", title: "3. Xã hội hóa (Socialization)", desc: "Cách tương tác với người khác, kết bạn, tham gia trò chơi nhóm, kiểm soát cảm xúc và ứng xử lịch sự.", ageRange: "0 – 90 tuổi", scaleInfo: "Điểm Chuẩn (M = 100, SD = 15)", subdomains: [ { name: "Quan hệ liên cá nhân (Interpersonal)", age: "0 – 90 tuổi", items: [ "Giao tiếp mắt, mỉm cười đáp lại và thể hiện sự gắn bó", "Nhận diện cảm xúc vui, buồn, giận của người khác", "Chủ động kết bạn và thể hiện sự quan tâm, đồng cảm" ] }, { name: "Vui chơi & Giải trí (Play & Leisure)", age: "0 – 90 tuổi", items: [ "Chơi giả vờ (đóng vai) và chơi hợp tác cùng bạn", "Chia sẻ đồ chơi và biết chờ đến lượt (luân phiên)", "Tuân thủ luật chơi trong các trò chơi tập thể" ] }, { name: "Kỹ năng ứng phó (Coping Skills)", age: "2 – 90 tuổi", items: [ "Biết nói lời cảm ơn, xin lỗi đúng hoàn cảnh", "Kiểm soát cơn giận hoặc sự thất vọng khi bị từ chối", "Thích nghi linh hoạt khi thay đổi lịch trình" ] } ] }, { id: "mot", category: "optional", badgeText: "Tùy chọn (0 – 9 tuổi)", title: "4. Kỹ năng vận động (Motor Skills)", desc: "Đánh giá sự phối hợp cơ bắp lớn để di chuyển và cơ nhỏ bàn tay để thao tác đồ vật chính xác.", ageRange: "0 – 9 tuổi (hoặc người có suy giảm vận động)", scaleInfo: "Điểm Chuẩn (M = 100, SD = 15)", subdomains: [ { name: "Vận động thô (Gross Motor)", age: "0 – 9 tuổi", items: [ "Ngồi vững, bò, tự đi, chạy và giữ thăng bằng", "Bước lên xuống cầu thang luân phiên hai chân", "Nhảy lò cò, đá bóng, ném và bắt bóng bằng hai tay" ] }, { name: "Vận động tinh (Fine Motor)", age: "0 – 9 tuổi", items: [ "Nhặt vật nhỏ bằng ngón cái và ngón trỏ", "Mở nắp hộp, vặn tay nắm cửa, lật từng trang sách", "Cầm bút tô màu/vẽ và dùng kéo cắt theo đường kẻ" ] } ] }, { id: "mal", category: "maladaptive", badgeText: "Tùy chọn (Cảnh báo lâm sàng)", title: "5. Hành vi kém thích ứng (Maladaptive Behavior)", desc: "Các hành vi gây cản trở sinh hoạt và học tập hàng ngày như lo âu, thu mình, cáu giận hoặc tự gây hại.", ageRange: "3 – 90 tuổi", scaleInfo: "V-scale (M = 15, SD = 3) — Điểm ≥ 18 cần lưu ý", subdomains: [ { name: "Hướng nội (Internalizing)", age: "3 – 90 tuổi", items: [ "Lo âu, sợ hãi quá mức hoặc dễ khóc vô cớ", "Thu mình, né tránh xã hội, buồn bã kéo dài", "Rối loạn giấc ngủ hoặc ăn uống do căng thẳng" ] }, { name: "Hướng ngoại (Externalizing)", age: "3 – 90 tuổi", items: [ "Ăn vạ dữ dội, la hét hoặc đập phá đồ đạc", "Gây hấn (đánh, cắn, xô đẩy) hoặc chống đối người lớn", "Bốc đồng, vi phạm nội quy trường lớp" ] }, { name: "Vấn đề nghiêm trọng (Critical Items)", age: "3 – 90 tuổi", items: [ "Hành vi tự gây thương tích (tự cắn tay, đập đầu)", "Hành vi định hình rập khuôn hoặc cuốn hút giác quan lạ", "Tự ý bỏ chạy khỏi nơi an toàn không nhận thức nguy hiểm" ] } ] } ]; let currentFilter = "all"; let openIds = new Set(["comm"]); let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; color: #0f172a; line-height: 1.55; width: 100%; box-sizing: border-box; --bg: #f8fafc; --card: #ffffff; --text: #0f172a; --muted: #475569; --border: #e2e8f0; --core: #2563eb; --core-soft: #eff6ff; --opt: #7c3aed; --opt-soft: #f5f3ff; --mal: #dc2626; --mal-soft: #fef2f2; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .vineland-wrapper { width: 100%; background: var(--card); border: 1px solid var(--border); border-radius: 16px; box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06); overflow: hidden; position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .vineland-wrapper.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng khi cuộn */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .vineland-wrapper.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 0.85rem; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 0.8rem; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 0 rgba(37, 99, 235, 0.4); } 70% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 10px rgba(37, 99, 235, 0); } 100% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 0 rgba(37, 99, 235, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #1d4ed8 0%, #2563eb 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 0.84rem; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 0.85rem; } /* Header Banner */ .v-header { background: linear-gradient(135deg, #1e3a8a 0%, #2563eb 100%); color: #ffffff; padding: 20px 24px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 14px; } .v-header-text { flex: 1 1 260px; } .v-header h2 { font-size: clamp(1.15rem, 2.5vw, 1.4rem); font-weight: 700; margin-bottom: 6px; color: #ffffff; } .v-header p { font-size: 0.9rem; color: #dbeafe; } .btn-fullscreen-top { background: #ffffff; color: #1e3a8a; border: none; padding: 8px 14px; border-radius: 999px; font-size: 0.82rem; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); transition: transform 0.15s ease; } .btn-fullscreen-top:hover { transform: translateY(-1px); } /* Thanh lọc & Tóm tắt chỉ số ABC */ .v-toolbar { padding: 14px 20px; background: #f1f5f9; border-bottom: 1px solid var(--border); display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; } .abc-summary { font-size: 0.85rem; color: #1e293b; background: #ffffff; padding: 6px 12px; border-radius: 8px; border: 1px solid #cbd5e1; font-weight: 600; } .filter-tabs { display: flex; flex-wrap: wrap; gap: 6px; } .tab-btn { padding: 6px 12px; font-size: 0.8rem; font-weight: 600; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; color: var(--muted); cursor: pointer; transition: all 0.2s; touch-action: manipulation; } .tab-btn.active { background: var(--core); color: #ffffff; border-color: var(--core); } /* Danh sách Lĩnh vực 1 cột duy nhất (Full-width) */ .domain-stack { padding: 16px 20px; display: flex; flex-direction: column; gap: 12px; max-width: 1020px; margin: 0 auto; } .domain-item { border: 1px solid var(--border); border-radius: 12px; background: #ffffff; overflow: hidden; transition: box-shadow 0.2s; } .domain-item:hover { box-shadow: 0 4px 12px rgba(15, 23, 42, 0.05); } .domain-item.core { border-left: 5px solid var(--core); } .domain-item.optional { border-left: 5px solid var(--opt); } .domain-item.maladaptive { border-left: 5px solid var(--mal); } .domain-summary { padding: 16px 18px; display: flex; justify-content: space-between; align-items: center; gap: 12px; cursor: pointer; user-select: none; background: #ffffff; } .domain-summary:hover { background: #f8fafc; } .domain-info { display: flex; flex-direction: column; gap: 4px; } .domain-top-row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; } .domain-title { font-size: 1.02rem; font-weight: 700; color: var(--text); } .badge { font-size: 0.72rem; font-weight: 700; padding: 2px 9px; border-radius: 999px; text-transform: uppercase; } .badge.core { background: var(--core-soft); color: var(--core); } .badge.optional { background: var(--opt-soft); color: var(--opt); } .badge.maladaptive { background: var(--mal-soft); color: var(--mal); } .domain-desc { font-size: 0.875rem; color: var(--muted); } .toggle-icon { width: 28px; height: 28px; border-radius: 50%; background: #f1f5f9; display: flex; align-items: center; justify-content: center; font-size: 0.75rem; color: var(--muted); flex-shrink: 0; transition: transform 0.25s ease, background 0.2s; } .domain-item.open .toggle-icon { transform: rotate(180deg); background: var(--core); color: #ffffff; } /* Nội dung chi tiết xổ xuống bên dưới */ .domain-content { display: none; padding: 16px 18px 18px; background: #f8fafc; border-top: 1px solid var(--border); } .domain-item.open .domain-content { display: block; } .meta-bar { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 14px; } .meta-pill { background: #ffffff; border: 1px solid var(--border); padding: 6px 12px; border-radius: 8px; font-size: 0.8rem; color: #334155; } /* Lưới Tiểu lĩnh vực tự co giãn */ .subdomain-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 12px; } .sub-card { background: #ffffff; border: 1px solid var(--border); border-radius: 10px; padding: 14px; display: flex; flex-direction: column; gap: 10px; } .sub-header { display: flex; justify-content: space-between; align-items: flex-start; gap: 8px; border-bottom: 1px dashed var(--border); padding-bottom: 8px; } .sub-name { font-weight: 700; font-size: 0.92rem; color: #1e293b; } .sub-age { font-size: 0.72rem; font-weight: 600; background: #f1f5f9; color: #475569; padding: 2px 7px; border-radius: 6px; white-space: nowrap; } /* Dùng Flexbox
Cấu trúc Thang đo Hành vi Thích ứng Vineland-3
Nhấp vào từng lĩnh vực để mở rộng các tiểu lĩnh vực và chỉ báo hành vi tương ứng (0 – 90 tuổi)
2. Hình thức thực hiện (3 phiên bản)
Vineland-3 không yêu cầu người được đánh giá phải trực tiếp làm bài kiểm tra, mà thu thập thông tin qua người hiểu rõ họ nhất (cha mẹ, người chăm sóc, giáo viên) bằng 3 hình thức:
-
Phỏng vấn (Interview Form): Chuyên gia tâm lý trò chuyện bán cấu trúc với phụ huynh/người chăm sóc (không đọc nguyên văn câu hỏi như bảng hỏi mà trao đổi tự nhiên để chấm điểm). Đây là hình thức có độ tin cậy lâm sàng cao nhất.
-
Bảng hỏi Phụ huynh/Người chăm sóc (Parent/Caregiver Form): Phụ huynh tự điền vào bảng câu hỏi đánh giá hành vi ở nhà (có cả bản toàn diện Comprehensive và bản rút gọn Domain-Level).
-
Bảng hỏi Giáo viên (Teacher Form): Giáo viên đánh giá các kỹ năng thích ứng của học sinh trong môi trường học đường (áp dụng cho trẻ từ 3 đến 21 tuổi).
3. Ứng dụng thực tiễn của Vineland-3
-
Hỗ trợ chẩn đoán lâm sàng: Là tiêu chuẩn vàng để chẩn đoán Khuyết tật trí tuệ (Intellectual Disability) (vì tiêu chuẩn DSM-5 yêu cầu phải có sự thiếu hụt cả về IQ lẫn hành vi thích ứng), Rối loạn phổ tự kỷ (ASD), chậm phát triển toàn diện (GDD), ADHD và các tổn thương não.
-
Lập kế hoạch can thiệp (IEP): Giúp nhà chuyên môn xác định chính xác điểm mạnh và điểm yếu thực tế của trẻ để xây dựng Kế hoạch Giáo dục Cá nhân hóa (IEP).
-
Theo dõi tiến độ: Đo lường sự tiến bộ của cá nhân theo thời gian hoặc đánh giá hiệu quả của một chương trình trị liệu.
4. Cách tính điểm cơ bản
-
Thang điểm hành vi: Mỗi mục câu hỏi trong Vineland-3 được chấm theo tần suất cá nhân tự thực hiện kỹ năng đó mà không cần nhắc nhở hay hỗ trợ: 2 (Thường xuyên), 1 (Thỉnh thoảng), 0 (Không bao giờ).
-
Điểm Chuẩn (Standard Scores): Các lĩnh vực chính và điểm tổng hợp (ABC) có điểm trung bình là 100 và độ lệch chuẩn là 15 (tương tự thang đo IQ).
-
Điểm V-scale: Các tiểu lĩnh vực sử dụng điểm v-scale với trung bình là 15 và độ lệch chuẩn là 3.
Nội dung được lấy từ tài liệu gốc và hỗ trợ tạo công cụ bởi AI.
[Tự kỷ] SCQ: Bảng câu hỏi sàng lọc giao tiếp xã hội và phổ tự kỷ (Từ 4 tuổi trở lên)
Bảng Câu Hỏi Sàng Lọc Giao Tiếp Xã Hội SCQ (Từ 4 Tuổi Trở Lên)
', 'Đánh giá 40 chỉ báo hành vi theo cấu trúc SCQ (Lifetime Form) dựa trên tiêu chuẩn vàng ADI-R. Hệ thống tự động phân luồng ở Câu 1 và đối chiếu 2 ngưỡng điểm cắt lâm sàng (≥ 11 điểm và ≥ 15 điểm).
', '• Tổng điểm thấp hơn cả ngưỡng chuẩn (15 điểm) và ngưỡng nhạy cao cho trẻ nhỏ (11 điểm).
• Các kỹ năng Tương tác xã hội qua lại (' + rsi + '/15) và Giao tiếp (' + com + '/' + maxCom + ') không bộc lộ sự suy giảm lan tỏa đặc trưng của phổ tự kỷ.'; } else if (total < 15) { color = '#f59e0b'; badgeTxt = 'NGƯỠNG CẢNH BÁO SỚM (' + total + '/' + maxScore + ' điểm)'; analysis = 'Kết luận sàng lọc SCQ — Ngưỡng Cần Lưu Ý Lâm Sàng (11 – 14 điểm: Đạt ' + total + '/' + maxScore + ' điểm):
• Nhiều nghiên cứu lâm sàng khuyến nghị sử dụng điểm cắt ≥ 11 cho trẻ từ 4 – 7 tuổi để tránh bỏ sót Tự kỷ mức độ nhẹ hoặc Rối loạn giao tiếp xã hội (SPCD).
• Hồ sơ trụ cột: Tương tác xã hội (' + rsi + '/15) • Giao tiếp (' + com + '/' + maxCom + ') • Hành vi lặp lại (' + rrb + '/' + maxRrb + '). Khuyến nghị đánh giá thêm bằng thang Vineland-3.'; } else { color = '#ef4444'; badgeTxt = 'NGUY CƠ CAO ASD (' + total + '/' + maxScore + ' điểm)'; analysis = 'Kết luận sàng lọc SCQ — Vượt Ngưỡng Điểm Cắt Chuẩn (≥ 15 điểm: Đạt ' + total + '/' + maxScore + ' điểm):
• Kết quả sàng lọc dương tính trên thang SCQ ở cả 3 trụ cột: Tương tác xã hội (' + rsi + '/15), Giao tiếp (' + com + '/' + maxCom + ') và Hành vi lặp lại (' + rrb + '/' + maxRrb + ').
• Hướng xử trí chuẩn: Cần chuyển gửi trẻ thực hiện đánh giá chẩn đoán toàn diện bằng ADOS-2, ADI-R và Vineland-3.'; } barFillEl.style.background = color; badgeEl.textContent = badgeTxt; badgeEl.style.background = color; badgeEl.style.color = '#ffffff'; resBoxEl.style.borderLeftColor = color; resBoxEl.innerHTML = analysis; updateFloatingFabVisibility(); } function applyPreset(type) { answers = {}; if (type === 'reset') { answers[1] = 'YES'; renderQuestions(); updateSummary(); return; } if (type === 'typical') { answers[1] = 'YES'; questions.forEach(function(q) { if (q.id !== 1) answers[q.id] = (q.r === 'YES' ? 'NO' : 'YES'); }); answers[8] = 'YES'; answers[11] = 'YES'; answers[20] = 'NO'; } else if (type === 'spcd') { answers[1] = 'YES'; questions.forEach(function(q) { if (q.id !== 1) answers[q.id] = (q.r === 'YES' ? 'NO' : 'YES'); }); [2, 4, 8, 19, 20, 22, 23, 28, 30, 35, 39, 40].forEach(function(id) { answers[id] = questions[id - 1].r; }); } else if (type === 'hfasd') { answers[1] = 'YES'; questions.forEach(function(q) { if (q.id !== 1) answers[q.id] = (q.r === 'YES' ? 'NO' : 'YES'); }); [2, 3, 4, 5, 7, 8, 9, 11, 12, 13, 15, 19, 20, 22, 26, 30, 31, 35, 39].forEach(function(id) { answers[id] = questions[id - 1].r; }); } else if (type === 'nvasd') { answers[1] = 'NO'; questions.forEach(function(q) { if (q.id !== 1 && !q.verbalOnly) answers[q.id] = (q.r === 'YES' ? 'NO' : 'YES'); }); [8, 9, 10, 12, 14, 15, 16, 18, 19, 21, 22, 23, 24, 26, 28, 29, 30, 32, 35, 36, 37, 39].forEach(function(id) { answers[id] = questions[id - 1].r; }); } renderQuestions(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; var rect = host.getBoundingClientRect(); var viewH = window.innerHeight || document.documentElement.clientHeight; if (rect.top 180) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = 'position:fixed!important;inset:0!important;top:0!important;left:0!important;right:0!important;bottom:0!important;width:100vw!important;height:100vh!important;height:100dvh!important;max-width:none!important;max-height:none!important;margin:0!important;padding:0!important;z-index:2147483647!important;background:#f8fafc!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;display:block!important;'; wrapEl.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { wrapEl.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = ''; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } shadow.querySelectorAll('.scq-pbtn').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-preset')); }; }); shadow.querySelectorAll('#domainTabs .scq-dtab').forEach(function(tab) { tab.onclick = function() { filterType = this.getAttribute('data-dom'); shadow.querySelectorAll('#domainTabs .scq-dtab').forEach(function(t) { t.classList.remove('active'); }); this.classList.add('active'); renderQuestions(); }; }); shadow.getElementById('btnToggleFullscreen').onclick = function() { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = function() { setFullscreenState(false); }; fabBtn.onclick = function() { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', function(e) { if (e.key === 'Escape' && isFullscreen) setFullscreenState(false); }); applyPreset('hfasd'); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', initSCQWidget); } else { initSCQWidget(); } })();
SCQ (Social Communication Questionnaire — Bảng câu hỏi Giao tiếp Xã hội, trước đây từng có tên là Autism Screening Questionnaire – ASQ) là một công cụ sàng lọc chuẩn hóa hàng đầu dùng để phát hiện các dấu hiệu của Rối loạn phổ tự kỷ (ASD). Công cụ này được phát triển bởi ba chuyên gia đầu ngành là Michael Rutter, Anthony Bailey và Catherine Lord.
Nếu như M-CHAT-R/F được thiết kế cho trẻ nhỏ từ 16 – 30 tháng tuổi, thì SCQ chính là công cụ nối tiếp hoàn hảo để sàng lọc cho trẻ lớn hơn và người trưởng thành (từ 4 tuổi trở lên).
1. Nguồn gốc và Cơ sở khoa học
SCQ được thiết kế dựa trực tiếp trên các câu hỏi cốt lõi của ADI-R (Autism Diagnostic Interview-Revised — Phỏng vấn chẩn đoán tự kỷ bản hiệu đính, vốn là “tiêu chuẩn vàng” trong chẩn đoán tự kỷ nhưng mất từ 1.5 đến 2.5 giờ để thực hiện).
SCQ rút gọn quy trình đó thành 40 câu hỏi Đúng/Sai (Có/Không) dành cho phụ huynh hoặc người chăm sóc chính điền trong khoảng 10 phút, giúp tiết kiệm tối đa thời gian trước khi quyết định có cần đưa trẻ đi đánh giá chuyên sâu (như ADOS-2, ADI-R, Vineland-3) hay không.
2. Đối tượng áp dụng
-
Độ tuổi thực tế (Chronological Age): Từ 4 tuổi (48 tháng) trở lên (bao gồm trẻ mẫu giáo lớn, học sinh tiểu học,thanh thiếu niên và người lớn).
-
Tuổi phát triển tâm thần (Mental Age): Tối thiểu đạt mức từ 2.0 tuổi trở lên.
3. Hai phiên bản của SCQ
Công cụ SCQ được chia làm 2 mẫu phiếu tùy theo mục đích lâm sàng:
4. Cấu trúc 40 câu hỏi và 3 lĩnh vực đánh giá
Bảng hỏi gồm 40 câu trả lời CÓ / KHÔNG, tập trung vào 3 trụ cột triệu chứng cốt lõi của phổ tự kỷ:
-
Tương tác xã hội qua lại (Reciprocal Social Interaction): Giao tiếp mắt, nụ cười xã hội, sự quan tâm đến bạn bè cùng trang lứa, khả năng chia sẻ cảm xúc và an ủi người khác.
-
Giao tiếp (Communication): Cách sử dụng cử chỉ (chỉ trỏ, gật đầu), trò chuyện qua lại hai chiều, chơi giả vờ/tưởng tượng và các biểu hiện ngôn ngữ bất thường (nhại lời, nói lặp đi lặp lại, đảo ngược đại từ).
-
Các mẫu hành vi hạn hẹp, lặp đi lặp lại và rập khuôn (Restricted, Repetitive, and Stereotyped Patterns of Behavior): Sở thích đặc biệt quá mức, nghi thức cứng nhắc, cử động tay chân/cơ thể bất thường (stimming) hoặc thu hút giác quan lạ.
5. Cách tính điểm và Điểm cắt lâm sàng (Cut-off Score)
-
Câu số 1 (Câu phân luồng ngôn ngữ): “Hiện tại trẻ có thể nói bằng các cụm từ hoặc câu ngắn không?”. Câu số 1 không tính điểm, mà dùng để phân nhánh:
-
Nếu Câu 1 = CÓ (Trẻ có ngôn ngữ nói): Phụ huynh trả lời tiếp từ câu 2 đến câu 40. Tổng điểm tối đa là 39 điểm (tính từ 39 câu).
-
Nếu Câu 1 = KHÔNG (Trẻ chưa có ngôn ngữ cụm từ): Phụ huynh bỏ qua 6 câu về ngôn ngữ nói phức tạp (câu 2 đến câu 7) và trả lời từ câu 8 đến câu 40. Tổng điểm tối đa là 33 điểm (tính từ 33 câu).
-
-
Quy tắc chấm điểm (0 và 1):
Khoảng một nửa số câu hỏi được thiết kế theo chiều thuận (chọn CÓ = 1 điểm nguy cơ, thường là các hành vi bất thường) và nửa còn lại theo chiều nghịch (chọn KHÔNG = 1 điểm nguy cơ, thường là các kỹ năng phát triển bình thường bị thiếu hụt).
-
Ngưỡng điểm cắt (Cut-off):
-
điểm (Chuẩn gốc): Gợi ý nguy cơ cao mắc Rối loạn phổ tự kỷ (ASD), cần chuyển gửi đi đánh giá chẩn đoán chuyên sâu.
-
hoặc điểm (Khuyến nghị lâm sàng mới cho trẻ từ 4 – 7 tuổi): Nhiều nghiên cứu lâm sàng hiện đại khuyến nghị hạ điểm cắt xuống 11 hoặc 12 điểm ở nhóm trẻ nhỏ (hoặc trẻ chưa có lời nói) để tăng độ nhạy, tránh bỏ sót những trẻ tự kỷ mức độ nhẹ / chức năng cao.
-
Nguồn: Tài liệu chính thống với sự hỗ trợ của AI!
Dạy bé hỏi câu “Con mượn cái này được không ạ?”
Để dạy câu hỏi “Con mượn cái này được không ạ?” (hoặc rút gọn là “Cho con mượn?” / “Mượn được không ạ?”), bản chất giao tiếp đã chuyển từ tìm kiếm thông tin sang xin phép và thương lượng xã hội.
Thử thách lớn nhất ở trẻ tự kỷ, chậm phát triển là tính xung động: khi thích một món đồ người khác đang cầm, trẻ thường lao vào giật lấy ngay hoặc ăn vạ nếu không lấy được. Vì vậy, nguyên tắc cốt lõi là “Chặn nhẹ hành vi giật đồ + Trao quyền sở hữu ngay lập tức khi bé dùng lời nói” để bé nhận ra: Hỏi mượn bằng lời là cách nhanh nhất và dễ nhất để có được món đồ, nhanh hơn cả việc giằng co hay khóc lóc.
1. Điều kiện cần & Rút gọn câu theo khả năng của bé
Câu “Con mượn cái này được không ạ?” dài tới 7 âm tiết. Khi bé đang rất thèm món đồ trên tay bạn, việc bắt bé nói một câu quá dài sẽ dễ làm bé cáu gắt và bùng nổ hành vi. Hãy chia nấc thang độ dài phù hợp với bé hiện tại:
-
Mức cơ bản (2–3 từ): “Cho mượn ạ” / “Mượn nhé ạ” / “Con mượn nhé”.
-
Mức trung bình (4–5 từ): “Cho con mượn nhé ạ?” / “Mượn cái này nhé?”.
-
Mức hoàn chỉnh (6–7 từ): “Con mượn cái này được không ạ?”
2. Quy trình 4 bước thực hiện (Tình huống: Chơi song song)
Chuẩn bị: 2–3 món đồ chơi phát sáng, phát nhạc hoặc đất nặn, bút màu mà bé thích. Bạn ngồi ngay cạnh bé và tự chơi một món đồ thật hào hứng, tạo âm thanh vui nhộn để thu hút sự chú ý của bé.
Bước 1: Thu hút và Chặn nhẹ hành vi giật đồ (Blocking)
-
Bạn cầm món đồ chơi (ví dụ: máy bấm nhạc hoặc xe ô tô dây cót) chơi một cách say sưa: “Ôi, xe chạy nhanh chưa này, thích quá!”
-
Khi bé nhìn thấy và đưa tay định giằng lấy món đồ trên tay bạn, bạn giữ chắc món đồ lại (hoặc hơi thu nhẹ tay về phía ngực, đặt bàn tay còn lại chạm nhẹ vào tay bé để ngăn bé giật), nhưng gương mặt vẫn thật vui vẻ, thân thiện (không cau mày hay mắng “Không được giật!”).
Bước 2: Làm mẫu cử chỉ + Lời nói ngay lập tức
-
Ngay khoảnh khắc tay bé bị chặn lại và bé nhìn bạn, bạn hướng dẫn hai bàn tay bé mở ra (hoặc chỉ vào món đồ) và nói mẫu thật rõ ràng, chậm rãi: “Con mượn cái này được không ạ?” (hoặc “Cho con mượn nhé ạ?”).
-
Chờ 2–3 giây để bé bắt chước nói theo.
Bước 3: Đưa đồ ngay lập tức (Củng cố tức thì)
-
Ngay giây phút bé phát âm theo (dù chưa tròn vành rõ chữ), bạn lập tức nở nụ cười tươi, gật đầu cái rụp: “Được chứ! Cho con mượn này!” và trao ngay món đồ vào tay bé.
-
Để bé thoải mái chơi món đồ đó trong 30–60 giây. (Bước này cực kỳ quan trọng: Ở giai đoạn đầu mới học câu hỏi, 100% số lần bé hỏi mượn đều phải được đồng ý ngay để não bộ bé ghi nhận rằng câu hỏi này có “sức mạnh” mang lại đồ chơi).
Bước 4: Đổi lượt và Giảm dần sự trợ giúp (Fading) Sau khi bé chơi khoảng 1 phút, bạn lấy một món đồ chơi thứ hai còn hấp dẫn hơn ra chơi để bé lại muốn đổi, hoặc chính bạn làm mẫu hỏi bé: “Mẹ mượn cái này được không?” rồi cầm lại đồ chơi để bắt đầu lượt tập tiếp theo:
-
Mức 1 (Nhắc toàn câu): Chặn nhẹ tay -> Làm mẫu cả câu -> Bé nói theo -> Trao đồ.
-
Mức 2 (Nhắc từ mở đầu): Khi bé đưa tay ra xin, bạn giữ nhẹ đồ chơi, nhướng mày và mớm từ “Con mượn…” -> Bé tự nối tiếp “…cái này được không ạ?”.
-
Mức 3 (Nhắc bằng cử chỉ chờ đợi): Khi bé tiến lại gần muốn lấy đồ trên tay bạn, bạn hơi giữ đồ lại và nhìn bé với ánh mắt mong đợi (im lặng 3 giây) -> Bé tự bật ra câu hỏi mượn trước khi chạm vào đồ.
3. Bốn tình huống “Vàng” để luyện tập trong sinh hoạt hàng ngày
Để bé không nghĩ đây chỉ là bài tập với mẹ, hãy tạo ra các tình huống cần “mượn công cụ” trong đời sống:
4. Ba lưu ý sống còn để tránh bé ăn vạ khi học câu này
-
Tuyệt đối không từ chối (“Không được!”) ở giai đoạn mới dạy: Nhiều phụ huynh muốn rèn tính kiên nhẫn nên khi bé vừa vất vả nói được câu “Con mượn được không ạ?”, bố mẹ lại trả lời “Không được, mẹ đang chơi mà!”. Điều này sẽ dập tắt ngay lập tức động lực nói của trẻ tự kỷ (bé sẽ nghĩ: “Nói mỏi cả miệng mà cũng chẳng lấy được đồ, thà giật luôn cho nhanh”). Chỉ tập cho bé làm quen vớiคำ trả lời “Chờ một chút nhé” khi bé đã nói câu hỏi mượn cực kỳ thành thạo và tự giác trong ít nhất 2–3 tuần.
-
Đừng đợi đến khi bé đã khóc gào mới bắt nói: Nếu bạn giữ đồ quá lâu khiến bé cáu gắt, lăn ra đất ăn vạ rồi mới ép bé nói “Con nói cho mượn đi rồi mẹ đưa”, bé sẽ liên kết câu nói này với sự ức chế. Hãy chặn nhẹ và làm mẫu ngay ở giây đầu tiên khi bé vừa đưa tay ra và tâm trạng vẫn đang bình tĩnh, vui vẻ.
-
Làm gương ngược lại cho bé: Hàng ngày, mỗi khi bạn muốn cầm vào món đồ chơi bé đang cầm trên tay, bạn cũng hãy hỏi bé thật rõ ràng: “Mẹ mượn cái này được không?”, chờ 1–2 giây rồi mới cầm lấy, chơi một chút khoảng 5 giây rồi trả lại ngay cho bé kèm lời cảm ơn. Bé sẽ học được hai điều: câu hỏi đó dùng như thế nào, và việc “cho mượn” không có nghĩa là “mất luôn”.
Nguồn: AI và kinh nghiệm can thiệp thực tế.
[Giác quan] SPM-2: Thang đánh giá rối loạn xử lý giác quan đa môi trường (Gia đình và Trường học)
(function() { const host = document.getElementById('spm2-wp-host'); if (!host) return; const placeholder = document.createComment('spm2-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // Cấu hình 5 Phiên bản Độ tuổi & Môi trường của SPM-2 (Kuhaneck, Henry, Glennon, Parham & Ecker, 2021) const formConfigs = { infant: { code: 'infant', tabTitle: '👶 1. Infant/Toddler (4–30m)', tabSub: 'Nhũ nhi & Trẻ nhỏ • Cha mẹ', fullTitle: 'SPM-2 Infant / Toddler Form — Dành Cho Trẻ Nhũ Nhi & Trẻ Nhỏ (4 Đến 30 Tháng Tuổi • Cha Mẹ Đánh Giá)', desc: 'Đánh giá sớm khả năng điều hòa giác quan, tương tác xã hội đầu đời và tiền đề lập kế hoạch vận động (Praxis) ở trẻ từ 4 đến 30 tháng tuổi.', subj: 'Bé', poss: 'của bé', peer: 'người thân và các bé khác', env: 'trong sinh hoạt hàng ngày ở nhà' }, preschool: { code: 'preschool', tabTitle: '🧸 2. Preschool (2–5 tuổi)', tabSub: 'Mầm non • Gia đình / Trường', fullTitle: 'SPM-2 Preschool Form — Dành Cho Trẻ Mầm Non (2 Đến 5 Tuổi • Cha Mẹ / Giáo Viên Đánh Giá)', desc: 'Đo lường 8 lĩnh vực xử lý giác quan, thực hành vận động (Praxis) và tham gia xã hội ở lứa tuổi mẫu giáo (2 – 5 tuổi).', subj: 'Bé', poss: 'của bé', peer: 'các bạn cùng lớp mẫu giáo', env: 'ở nhà và lớp mầm non' }, child_home: { code: 'child_home', tabTitle: '🏠 3. Child Home (5–12 tuổi)', tabSub: 'Trẻ em tại Nhà • Cha mẹ chấm', fullTitle: 'SPM-2 Child Home Form — Dành Cho Trẻ Em Lứa Tuổi Học Đường Tại Gia Đình (5 Đến 12 Tuổi • Cha Mẹ Đánh Giá)', desc: 'Phiên bản chuẩn hóa dành cho phụ huynh đánh giá 80 chỉ báo thuộc 6 hệ giác quan (tính Tổng điểm Giác quan ST), Lập kế hoạch vận động (PLA) và Tham gia xã hội (SOC) tại nhà.', subj: 'Trẻ', poss: 'của trẻ', peer: 'bạn bè đồng trang lứa', env: 'tại gia đình và ngoài cộng đồng' }, child_school: { code: 'child_school', tabTitle: '🏫 4. Child School (5–12 tuổi)', tabSub: 'Trẻ em tại Lớp • Giáo viên chấm', fullTitle: 'SPM-2 Child Main Classroom Form — Dành Cho Giáo Viên Đánh Giá Tại Trường Học (5 Đến 12 Tuổi)', desc: 'Đánh giá cách thức xử lý giác quan và khả năng lập kế hoạch vận động (Praxis) ảnh hưởng đến việc học tập, viết bài, giờ ra chơi và tương tác tại lớp học.', subj: 'Học sinh', poss: 'của học sinh', peer: 'các bạn cùng lớp', env: 'trong lớp học và sân trường' }, adolescent_adult: { code: 'adolescent_adult', tabTitle: '🧑 5. Teen/Adult (12–87 tuổi)', tabSub: 'Vị thành niên & Người lớn • Tự chấm', fullTitle: 'SPM-2 Adolescent / Adult Self-Report Form — Bảng Tự Đánh Giá Dành Cho Vị Thành Niên & Người Lớn (12 – 87 Tuổi)', desc: 'Phiên bản tự đánh giá ở ngôi thứ nhất ("Tôi...") đo lường 8 tiểu thang SPM-2 trong học tập, công việc, lái xe, quản lý sinh hoạt và quan hệ xã hội.', subj: 'Tôi', poss: 'của mình', peer: 'mọi người xung quanh', env: 'trong công việc và cuộc sống' } }; // Cấu hình 8 Tiểu thang Cốt lõi của SPM-2 (Mỗi tiểu thang 10 câu hỏi, chấm từ 1 đến 4 điểm -> Điểm thô mỗi thang từ 10 đến 40 điểm) // inST: true đối với 6 hệ giác quan cấu thành Tổng điểm Giác quan (Sensory Total - ST: 60 câu -> Điểm thô từ 60 đến 240 điểm) const scaleConfigs = { soc: { code: 'soc', short: 'SOC', inST: false, rev: true, name: '1. Tham gia Xã hội (Social Participation - SOC • 10 câu)', color: '#2563eb' }, vis: { code: 'vis', short: 'VIS', inST: true, rev: false, name: '2. Thị giác (Vision - VIS • 10 câu) ★ [Thuộc ST]', color: '#0891b2' }, hea: { code: 'hea', short: 'HEA', inST: true, rev: false, name: '3. Thính giác (Hearing - HEA • 10 câu) ★ [Thuộc ST]', color: '#0284c7' }, tou: { code: 'tou', short: 'TOU', inST: true, rev: false, name: '4. Xúc giác (Touch - TOU • 10 câu) ★ [Thuộc ST]', color: '#0d9488' }, ts: { code: 'ts', short: 'T&S', inST: true, rev: false, name: '5. Vị giác & Khứu giác (Taste and Smell - T&S • 10 câu) ★ [Thuộc ST]', color: '#10b981' }, bod: { code: 'bod', short: 'BOD', inST: true, rev: false, name: '6. Nhận thức Cơ thể / Bản thể (Body Awareness - BOD • 10 câu) ★ [Thuộc ST]', color: '#f59e0b' }, bal: { code: 'bal', short: 'BAL', inST: true, rev: false, name: '7. Thăng bằng & Chuyển động / Tiền đình (Balance & Motion - BAL • 10 câu) ★ [Thuộc ST]', color: '#ea580c' }, pla: { code: 'pla', short: 'PLA', inST: false, rev: false, name: '8. Lập kế hoạch Vận động & Ý tưởng (Planning and Ideas / Praxis - PLA • 10 câu)', color: '#7c3aed' } }; // Đầy đủ 80 câu hỏi chuẩn theo cấu trúc 8 Tiểu thang của SPM-2 (Mỗi tiểu thang 10 câu) // mech: 'over' (Tăng phản ứng - Hyper-reactivity), 'under' (Giảm phản ứng - Hypo-reactivity), 'seek' (Tìm kiếm cảm giác - Seeking), 'perc' (Nhận thức phân biệt giác quan - Perception), 'prax' (Lập kế hoạch & Ý tưởng - Praxis), 'soc' (Tham gia xã hội) const rawQuestions = [ // ===================================================== // 1. THAM GIA XÃ HỘI (SOCIAL PARTICIPATION - SOC • Câu 1 - 10 • ĐẢO NGƯỢC: Luôn luôn=1đ, Không bao giờ=4đ) // ===================================================== { id: 1, sc: 'soc', mech: 'soc', c: '{S} chơi đùa hoặc hợp tác làm việc hòa đồng cùng với {E}.' }, { id: 2, sc: 'soc', mech: 'soc', c: '{S} biết chia sẻ đồ dùng, đồ chơi và chờ đến lượt một cách tự nguyện.' }, { id: 3, sc: 'soc', mech: 'soc', c: '{S} tham gia tích cực vào các cuộc trò chuyện hoặc hoạt động chung {V}.' }, { id: 4, sc: 'soc', mech: 'soc', c: '{S} duy trì giao tiếp ánh mắt phù hợp và tự nhiên khi nói chuyện với người khác.' }, { id: 5, sc: 'soc', mech: 'soc', c: '{S} linh hoạt chấp nhận khi luật chơi thay đổi hoặc khi làm theo ý kiến của {E}.' }, { id: 6, sc: 'soc', mech: 'soc', c: '{S} nhận ra cảm xúc của người khác và thể hiện sự quan tâm, đồng cảm phù hợp.' }, { id: 7, sc: 'soc', mech: 'soc', c: '{S} biết cách tự giải quyết các bất đồng nhỏ với {E} mà không nổi nóng hay ăn vạ.' }, { id: 8, sc: 'soc', mech: 'soc', c: '{S} hòa nhập dễ dàng khi bước vào các buổi tụ tập, sinh hoạt tập thể hoặc nơi mới lạ.' }, { id: 9, sc: 'soc', mech: 'soc', c: '{S} hiểu được các câu nói đùa vui vẻ và ngôn ngữ cơ thể của {E}.' }, { id: 10, sc: 'soc', mech: 'soc', c: '{S} kết bạn và duy trì được mối quan hệ thân thiết với {E}.' }, // ===================================================== // 2. THỊ GIÁC (VISION - VIS • Câu 11 - 20 • THUỘC SENSORY TOTAL - ST) // ===================================================== { id: 11, sc: 'vis', mech: 'over', c: '{S} tỏ ra khó chịu, nheo mắt hoặc lấy tay che mắt trước ánh sáng mặt trời hoặc đèn sáng trong phòng.' }, { id: 12, sc: 'vis', mech: 'over', c: '{S} rất dễ bị phân tâm bởi các chuyển động thị giác xung quanh (như người đi qua lại, cảnh vật ngoài cửa sổ).' }, { id: 13, sc: 'vis', mech: 'perc', c: '{S} gặp khó khăn khi tìm một món đồ đang nằm lẫn trong ngăn kéo hoặc trên mặt bàn có nhiều đồ vật.' }, { id: 14, sc: 'vis', mech: 'seek', c: '{S} thích nhìn chằm chằm vào các vật xoay tròn (quạt trần, bánh xe), ánh đèn nhấp nháy hoặc bóng nắng.' }, { id: 15, sc: 'vis', mech: 'seek', c: '{S} hay nhìn nghiêng qua khóe mắt hoặc đưa các ngón tay/đồ vật lại thật sát trước mắt để ngắm.' }, { id: 16, sc: 'vis', mech: 'perc', c: '{S} hay bị nhìn nhầm dòng khi đọc sách, chép bài trên bảng hoặc bỏ sót các chi tiết hình ảnh.' }, { id: 17, sc: 'vis', mech: 'under',c: '{S} đi lại hay va quệt vào bàn ghế, khung cửa hoặc không để ý thấy chướng ngại vật ngay trước mặt.' }, { id: 18, sc: 'vis', mech: 'over', c: '{S} cảm thấy căng thẳng, mỏi mệt hoặc đau đầu khi ở trong những căn phòng trang trí quá sặc sỡ, lộn xộn.' }, { id: 19, sc: 'vis', mech: 'perc', c: '{S} gặp khó khăn trong việc ước lượng khoảng cách không gian (như khi bước xuống bậc thang hoặc bắt bóng bay tới).' }, { id: 20, sc: 'vis', mech: 'seek', c: '{S} bị cuốn hút mãnh liệt vào việc xếp các đồ vật thẳng hàng tăm tắp hoặc ngắm các đường thẳng song song.' }, // ===================================================== // 3. THÍNH GIÁC (HEARING - HEA • Câu 21 - 30 • THUỘC SENSORY TOTAL - ST) // ===================================================== { id: 21, sc: 'hea', mech: 'over', c: '{S} lấy hai tay bịt chặt tai, khóc hoặc hoảng sợ trước các âm thanh sinh hoạt (máy hút bụi, máy sấy, tiếng xả bồn cầu).' }, { id: 22, sc: 'hea', mech: 'over', c: '{S} rất dễ bị giật mình hoặc căng thẳng trước những tiếng động bất ngờ (tiếng chuông, tiếng còi xe, tiếng chó sủa).' }, { id: 23, sc: 'hea', mech: 'over', c: '{S} không thể tập trung làm việc nếu xung quanh có tiếng ồn nền nhỏ (tiếng quạt chạy, tiếng điều hòa, tiếng thì thầm).' }, { id: 24, sc: 'hea', mech: 'under',c: '{S} không quay lại hoặc không phản ứng khi được gọi tên nhiều lần (dù thính lực hoàn toàn bình thường).' }, { id: 25, sc: 'hea', mech: 'perc', c: '{S} gặp khó khăn trong việc xác định xem âm thanh hoặc tiếng người gọi đang phát ra từ hướng nào.' }, { id: 26, sc: 'hea', mech: 'seek', c: '{S} thích tự phát ra các âm thanh lạ, tiếng ngân nga lặp đi lặp lại hoặc đập gõ đồ vật để nghe tiếng vang.' }, { id: 27, sc: 'hea', mech: 'seek', c: '{S} thích bật âm lượng tivi/loa thật to hoặc áp sát tai vào vật đang phát ra âm thanh/rung động.' }, { id: 28, sc: 'hea', mech: 'over', c: '{S} tỏ ra quá tải, cáu gắt hoặc muốn bỏ ra ngoài khi ở nơi đông người ồn ào (nhà ăn, siêu thị, tiệc sinh nhật).' }, { id: 29, sc: 'hea', mech: 'perc', c: '{S} chậm hiểu lời nói hoặc thường xuyên phải hỏi lại khi người đối diện nói hơi nhanh.' }, { id: 30, sc: 'hea', mech: 'over', c: '{S} yêu cầu mọi người phải im lặng hoặc khó chịu khi nghe giọng hát/giọng nói cao của một số người.' }, // ===================================================== // 4. XÚC GIÁC (TOUCH - TOU • Câu 31 - 40 • THUỘC SENSORY TOTAL - ST) // ===================================================== { id: 31, sc: 'tou', mech: 'over', c: '{S} cực kỳ khó chịu, giãy giụa hoặc phản kháng khi cắt tóc, cắt móng tay, gội đầu hoặc rửa mặt.' }, { id: 32, sc: 'tou', mech: 'over', c: '{S} bứt rứt với mác quần áo, đường chỉ may tất, cổ áo hoặc từ chối mặc một số chất liệu vải nhất định.' }, { id: 33, sc: 'tou', mech: 'over', c: '{S} né tránh hoặc đòi lau rửa tay ngay lập tức nếu tay dính bẩn (hồ dán, màu vẽ, đất nặn, cát, thức ăn ướt).' }, { id: 34, sc: 'tou', mech: 'over', c: '{S} giật lùi lại, cáu giận hoặc đẩy ra khi có ai đó chạm nhẹ bất ngờ vào người hoặc đứng sát cạnh.' }, { id: 35, sc: 'tou', mech: 'under',c: '{S} dường như không cảm thấy đau hoặc không khóc khi bị ngã va đập mạnh, trầy xước hay đứt tay.' }, { id: 36, sc: 'tou', mech: 'under',c: '{S} không nhận ra khi mặt mũi, quần áo bị dính bẩn hoặc khi giày dép đang mang ngược chân.' }, { id: 37, sc: 'tou', mech: 'seek', c: '{S} liên tục sờ chạm, vuốt ve mọi bề mặt đồ đạc, tường nhà hoặc chạm vào người khác.' }, { id: 38, sc: 'tou', mech: 'seek', c: '{S} rất thích được ôm siết thật chặt, thích chui rúc vào góc hẹp hoặc thích đắp chăn nặng đè lên người.' }, { id: 39, sc: 'tou', mech: 'perc', c: '{S} gặp khó khăn khi phải mò tìm một đồ vật trong cặp sách/túi quần bằng tay mà không nhìn.' }, { id: 40, sc: 'tou', mech: 'over', c: '{S} không chịu đi chân trần trên cỏ, cát, thảm nhám hoặc rất nhạy cảm với nhiệt độ nước tắm.' }, // ===================================================== // 5. VỊ GIÁC & KHỨU GIÁC (TASTE AND SMELL - T&S • Câu 41 - 50 • THUỘC SENSORY TOTAL - ST) // ===================================================== { id: 41, sc: 'ts', mech: 'over', c: '{S} cực kỳ kén ăn, chỉ chấp nhận ăn một vài món quen thuộc và từ chối thử các món ăn mới.' }, { id: 42, sc: 'ts', mech: 'over', c: '{S} dễ bị nôn ọe khi ăn thức ăn có kết cấu lợn cợn, dai, nhão hoặc khi đánh răng.' }, { id: 43, sc: 'ts', mech: 'over', c: '{S} phản ứng gay gắt, bịt mũi hoặc buồn nôn trước các mùi thức ăn, mùi nước hoa, xà phòng hoặc mùi phòng vệ sinh.' }, { id: 44, sc: 'ts', mech: 'seek', c: '{S} thường xuyên đưa các đồ vật không phải thức ăn (cổ áo, bút chì, đồ chơi nhựa, ngón tay) lên miệng để liếm, cắn hoặc nhai.' }, { id: 45, sc: 'ts', mech: 'seek', c: '{S} có thói quen đưa mọi đồ vật hoặc người khác lên mũi để ngửi khi mới tiếp xúc.' }, { id: 46, sc: 'ts', mech: 'seek', c: '{S} thích các món ăn có gia vị cực mạnh (rất chua, rất cay, rất mặn) hoặc đồ ăn cứng giòn.' }, { id: 47, sc: 'ts', mech: 'under',c: '{S} không nhận ra khi thức ăn quá nóng/quá cay hoặc khi mùi trong phòng rất nồng.' }, { id: 48, sc: 'ts', mech: 'perc', c: '{S} khó phân biệt các mùi vị khác nhau hoặc nhét quá đầy thức ăn vào miệng cùng một lúc.' }, { id: 49, sc: 'ts', mech: 'under',c: '{S} ngậm thức ăn lâu trong miệng mà không nuốt hoặc không nhận ra thức ăn/nước bọt còn dính quanh môi.' }, { id: 50, sc: 'ts', mech: 'over', c: '{S} đòi hỏi các món ăn phải được để riêng rẽ trên đĩa, không được chạm hay trộn lẫn vào nhau.' }, // ===================================================== // 6. NHẬN THỨC CƠ THỂ / CẢM THỤ BẢN THỂ (BODY AWARENESS - BOD • Câu 51 - 60 • THUỘC SENSORY TOTAL - ST) // ===================================================== { id: 51, sc: 'bod', mech: 'perc', c: '{S} kiểm soát lực tay kém: cầm bút ấn quá mạnh làm rách giấy/gãy ngòi, hoặc cầm đồ vật quá lỏng làm rơi.' }, { id: 52, sc: 'bod', mech: 'perc', c: '{S} đóng cửa, đặt đồ vật xuống bàn hoặc bước chân đi lại tạo tiếng động ầm ầm quá mạnh mà không cố ý.' }, { id: 53, sc: 'bod', mech: 'seek', c: '{S} thích lao người va đập mạnh vào tường, nệm, ghế sofa hoặc vật lộn, xô đẩy mạnh khi chơi.' }, { id: 54, sc: 'bod', mech: 'seek', c: '{S} thường xuyên đi nhón gót chân, nhảy dậm chân mạnh xuống sàn hoặc gồng cứng cơ tay/chân.' }, { id: 55, sc: 'bod', mech: 'under',c: '{S} có vẻ nhanh mỏi cơ, hay nằm bò dài ra bàn, chống cằm hoặc phải tựa người vào tường/ghế khi ngồi.' }, { id: 56, sc: 'bod', mech: 'perc', c: '{S} làm hỏng hoặc làm gãy đồ chơi/đồ dùng do dùng lực kéo, vặn hoặc bóp quá mạnh.' }, { id: 57, sc: 'bod', mech: 'seek', c: '{S} hay nghiến răng, cắn chặt hàm hoặc thích mang vác các đồ vật nặng.' }, { id: 58, sc: 'bod', mech: 'perc', c: '{S} ôm người thân hoặc vuốt ve thú cưng quá mạnh tay khiến họ bị đau dù chỉ định thể hiện tình cảm.' }, { id: 59, sc: 'bod', mech: 'perc', c: '{S} gặp khó khăn trong việc định vị tư thế tay chân nếu không nhìn trực tiếp vào tay chân mình.' }, { id: 60, sc: 'bod', mech: 'seek', c: '{S} thích treo người đu xà, chống đẩy tay lên ghế hoặc tự vẫy/búng mạnh các khớp ngón tay.' }, // ===================================================== // 7. THĂNG BẰNG & CHUYỂN ĐỘNG / TIỀN ĐÌNH (BALANCE AND MOTION - BAL • Câu 61 - 70 • THUỘC SENSORY TOTAL - ST) // ===================================================== { id: 61, sc: 'bal', mech: 'seek', c: '{S} luôn chân luôn tay, tìm kiếm mọi cơ hội để chạy nhảy, nhún nhảy hoặc leo trèo không ngừng nghỉ.' }, { id: 62, sc: 'bal', mech: 'seek', c: '{S} thích tự xoay tròn cơ thể nhiều vòng hoặc ngồi ghế xoay tốc độ cao mà không hề bị chóng mặt.' }, { id: 63, sc: 'bal', mech: 'seek', c: '{S} liên tục đung đưa thân mình hoặc lắc lư đầu qua lại trong khi đang ngồi.' }, { id: 64, sc: 'bal', mech: 'over', c: '{S} sợ hãi hoặc lo lắng tột độ khi bàn chân rời khỏi mặt đất (sợ xích đu, cầu trượt, thang cuốn, leo cao).' }, { id: 65, sc: 'bal', mech: 'over', c: '{S} rất sợ khi bị ngửa đầu ra sau (như khi nằm gội đầu) hoặc khi bị thay đổi tư thế đột ngột.' }, { id: 66, sc: 'bal', mech: 'under',c: '{S} giữ thăng bằng kém, dễ bị vấp ngã trên mặt phẳng hoặc loạng choạng khi đi trên bề mặt gồ ghề.' }, { id: 67, sc: 'bal', mech: 'over', c: '{S} rất dễ bị say tàu xe, chóng mặt hoặc buồn nôn khi đi ô tô, thang máy.' }, { id: 68, sc: 'bal', mech: 'under',c: '{S} phản xạ chống tay bảo vệ chậm khi bị mất thăng bằng sắp ngã.' }, { id: 69, sc: 'bal', mech: 'under',c: '{S} gặp khó khăn khi phải giữ thăng bằng trên một chân, nhảy lò cò hoặc đi xe đạp.' }, { id: 70, sc: 'bal', mech: 'seek', c: '{S} thích các tư thế dốc ngược đầu xuống dưới (như trồng cây chuối, vắt người ngược khỏi thành giường/ghế).' }, // ===================================================== // 8. LẬP KẾ HOẠCH VẬN ĐỘNG & Ý TƯỞNG (PLANNING AND IDEAS / PRAXIS - PLA • Câu 71 - 80) // ===================================================== { id: 71, sc: 'pla', mech: 'prax', c: '{S} gặp khó khăn trong việc tự nghĩ ra ý tưởng trò chơi mới hoặc cách mới để sử dụng đồ vật (Suy giảm Ideation).' }, { id: 72, sc: 'pla', mech: 'prax', c: '{S} cứ lặp đi lặp lại mãi một cách chơi hoặc một thao tác cũ thay vì thử nghiệm các bước mới.' }, { id: 73, sc: 'pla', mech: 'prax', c: '{S} trông vụng về, lóng ngóng và mất nhiều thời gian khi học một động tác vận động mới (như tập nhảy dây, tập bơi, bài thể dục).' }, { id: 74, sc: 'pla', mech: 'prax', c: '{S} gặp khó khăn khi bắt chước chính xác các động tác cơ thể hoặc thao tác tay của người làm mẫu.' }, { id: 75, sc: 'pla', mech: 'prax', c: '{S} thực hiện các công việc gồm nhiều bước (như mặc quần áo, chuẩn bị cặp sách, làm thủ công) một cách lộn xộn, sai thứ tự.' }, { id: 76, sc: 'pla', mech: 'prax', c: '{S} gặp khó khăn khi phải phối hợp nhịp nhàng cả hai bên tay – chân cùng lúc (như một tay giữ giấy một tay cắt kéo, cài cúc áo, buộc dây giày).' }, { id: 77, sc: 'pla', mech: 'prax', c: '{S} khó căn chỉnh đúng thời điểm và tốc độ vận động (như bắt trượt bóng đang bay tới hoặc đá hụt bóng đang lăn).' }, { id: 78, sc: 'pla', mech: 'prax', c: '{S} để bàn học, góc đồ chơi hoặc không gian làm việc cực kỳ bừa bộn và không biết cách tự sắp xếp tổ chức lại.' }, { id: 79, sc: 'pla', mech: 'prax', c: '{S} tốn rất nhiều thời gian và nỗ lực để hoàn thành các bài tập viết chữ, vẽ hình hoặc lắp ghép mô hình.' }, { id: 80, sc: 'pla', mech: 'prax', c: '{S} dễ nản lòng, bỏ cuộc hoặc nhờ người khác làm hộ ngay khi gặp một nhiệm vụ đòi hỏi khéo léo tay chân mới.' } ]; let currentForm = 'child_home'; // 'infant' | 'preschool' | 'child_home' | 'child_school' | 'adolescent_adult' // ratings[id] lưu lựa chọn trên thang tần suất 1..4: // 1 = Không bao giờ (Never) // 2 = Thỉnh thoảng (Occasionally) // 3 = Thường xuyên (Frequently) // 4 = Luôn luôn (Always) let ratings = {}; let filterScale = 'all'; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .sm-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .sm-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .sm-inner { padding: 24px; max-width: 980px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .sm-wrap.is-fullscreen .sm-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .sm-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(124, 58, 237, 0.45), 0 0 0 0 rgba(124, 58, 237, 0.4); } 70% { box-shadow: 0 6px 20px rgba(124, 58, 237, 0.45), 0 0 0 10px rgba(124, 58, 237, 0); } 100% { box-shadow: 0 6px 20px rgba(124, 58, 237, 0.45), 0 0 0 0 rgba(124, 58, 237, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #6d28d9 0%, #7c3aed 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(124, 58, 237, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Bộ chuyển đổi 5 Phiên bản Độ tuổi & Môi trường của SPM-2 */ .form-switcher-box { background: #f1f5f9; padding: 10px; border-radius: 12px; margin-bottom: 18px; } .form-switcher-lbl { font-size: 12px; font-weight: 800; color: #334155; text-transform: uppercase; margin-bottom: 8px; display: block; } .form-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; } .form-btn { padding: 9px 8px; border-radius: 9px; border: 1.5px solid transparent; background: rgba(255, 255, 255, 0.65); cursor: pointer; text-align: left; transition: all 0.18s ease; touch-action: manipulation; } .form-btn:hover { background: #ffffff; } .form-btn.active { background: #ffffff; border-color: #7c3aed; box-shadow: 0 3px 10px rgba(15, 23, 42, 0.08); } .form-btn-title { font-size: 12.5px; font-weight: 800; color: #0f172a; display: block; line-height: 1.25; } .form-btn.active .form-btn-title { color: #6d28d9; } .form-btn-sub { font-size: 10.8px; color: #64748b; margin-top: 2px; display: block; line-height: 1.2; } /* Header */ .sm-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .sm-header-text { flex: 1 1 260px; } .sm-title { font-size: 20px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .sm-desc { font-size: 13.8px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #f5f3ff; color: #6d28d9; border: 1px solid #ddd6fe; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #7c3aed; color: #ffffff; border-color: #7c3aed; } /* Controls */ .sm-controls { display: flex; flex-direction: column; gap: 10px; margin-bottom: 18px; } .sm-presets { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; } .sm-preset-lbl { font-size: 12.5px; font-weight: 700; color: #475569; margin-right: 4px; } .sm-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; touch-action: manipulation; } .sm-pbtn:hover { background: #f1f5f9; } .sm-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } .sm-scale-tabs { display: flex; flex-wrap: wrap; gap: 6px; } .sm-stab { padding: 6px 11px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .sm-stab.active { background: #6d28d9; color: #ffffff; border-color: #6d28d9; } /* Sticky Dashboard */ .sm-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .sm-wrap.is-fullscreen .sm-dash { top: 58px; } .sm-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .sm-score-big { font-size: 21px; font-weight: 800; line-height: 1.2; } .sm-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .sm-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .sm-pillars { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; font-size: 11.5px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .sm-pillar-box { background: #1e293b; padding: 7px 9px; border-radius: 8px; border-left: 3px solid #475569; } .sm-pillar-box.typ { border-left-color: #10b981; } .sm-pillar-box.mod { border-left-color: #f59e0b; background: rgba(245, 158, 11, 0.14); } .sm-pillar-box.sev { border-left-color: #ef4444; background: rgba(239, 68, 68, 0.16); } .sm-pillar-val { font-weight: 800; color: #ffffff; font-size: 13px; display: block; margin-top: 2px; } /* Danh sách 80 câu hỏi */ .sm-q-item { border: 1px solid #e2e8f0; border-radius: 10px; padding: 14px 16px; margin-bottom: 10px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 8px; } .sm-q-item.pts-4 { border-color: #fda4af; background: #fff5f5; } .sm-q-item.pts-3 { border-color: #fde68a; background: #fffbeb; } .sm-q-text { font-size: 14.5px; font-weight: 600; color: #1e293b; line-height: 1.5; } .sm-q-tags { display: flex; flex-wrap: wrap; gap: 6px; } .sm-tag { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .sm-ans-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; } .sm-abtn { padding: 8px 6px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 600; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .sm-abtn:hover { border-color: #64748b; } .sm-abtn.sel-1 { background: #10b981; border-color: #10b981; color: #ffffff; font-weight: 700; } .sm-abtn.sel-2 { background: #3b82f6; border-color: #3b82f6; color: #ffffff; font-weight: 700; } .sm-abtn.sel-3 { background: #f59e0b; border-color: #f59e0b; color: #ffffff; font-weight: 700; } .sm-abtn.sel-4 { background: #ef4444; border-color: #ef4444; color: #ffffff; font-weight: 700; } /* Biểu đồ T-Score 8 Tiểu thang & Tổng điểm ST */ .sm-chart-card { margin-top: 20px; padding: 16px 18px; border-radius: 12px; background: #ffffff; border: 1px solid #e2e8f0; } .sm-chart-title { font-size: 14.5px; font-weight: 800; color: #0f172a; margin-bottom: 12px; } .sm-bar-row { display: flex; align-items: center; gap: 10px; margin-bottom: 9px; font-size: 12.5px; } .sm-bar-lbl { width: 280px; flex-shrink: 0; font-weight: 600; color: #334155; } .sm-bar-track { flex: 1; height: 16px; background: #f1f5f9; border-radius: 999px; overflow: hidden; } .sm-bar-val { width: 155px; text-align: right; font-weight: 700; color: #0f172a; flex-shrink: 0; } .sm-asi-box { margin-top: 16px; padding: 16px 18px; border-radius: 12px; background: #f5f3ff; border: 1px solid #ddd6fe; border-left: 5px solid #7c3aed; font-size: 13.8px; color: #1e1b4b; line-height: 1.6; } .sm-result-box { margin-top: 16px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #2563eb; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 780px) { .sm-inner { padding: 14px; } .form-grid { grid-template-columns: 1fr 1fr; } .sm-title { font-size: 18px; } .sm-pillars { grid-template-columns: 1fr 1fr; } .sm-ans-grid { grid-template-columns: 1fr 1fr; } .sm-bar-lbl { width: 145px; font-size: 11.5px; } .sm-bar-val { width: 115px; font-size: 11px; } .sm-pbtn.reset { margin-left: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
${fCfg.fullTitle}
${fCfg.desc}
`; } function renderQuestions() { const fCfg = formConfigs[currentForm]; questionList.innerHTML = ''; const freqOptions = [ { val: 1, lbl: '1 - Không bao giờ (Never)' }, { val: 2, lbl: '2 - Thỉnh thoảng (Occasionally)' }, { val: 3, lbl: '3 - Thường xuyên (Frequently)' }, { val: 4, lbl: '4 - Luôn luôn (Always)' } ]; rawQuestions.forEach(function(q) { if (filterScale !== 'all' && q.sc !== filterScale) return; const sCfg = scaleConfigs[q.sc]; const defaultFreq = sCfg.rev ? 4 : 1; // Mặc định điểm rủi ro = 1đ const uFreq = (ratings[q.id] !== undefined) ? ratings[q.id] : defaultFreq; const pts = getItemPoints(q, uFreq); let rowCls = 'sm-q-item'; if (pts === 4) rowCls += ' pts-4'; else if (pts === 3) rowCls += ' pts-3'; const btnsHtml = freqOptions.map(opt => { const optPts = getItemPoints(q, opt.val); let cls = 'sm-abtn'; if (uFreq === opt.val) { cls += ` sel-${optPts}`; } return ``; }).join(''); const mechLabel = { soc: 'Tham gia Xã hội', over: 'Cơ chế ASI: Tăng phản ứng / Quá tải (Hyper-reactivity)', under:'Cơ chế ASI: Giảm phản ứng / Thờ ơ (Hypo-reactivity)', seek: 'Cơ chế ASI: Tìm kiếm cảm giác (Sensory Seeking)', perc: 'Cơ chế ASI: Nhận thức phân biệt giác quan (Perception)', prax: 'Cơ chế ASI: Lập kế hoạch vận động & Ý tưởng (Praxis)' }[q.mech]; const el = document.createElement('div'); el.className = rowCls; el.innerHTML = `• 2. Giảm phản ứng / Thờ ơ giác quan (Hypo-reactivity): Mức độ ảnh hưởng ${getMechPct('under')}% (Chậm nhận biết tín hiệu gọi tên, đau, bẩn hoặc mất thăng bằng).
• 3. Tìm kiếm cảm giác mạnh (Sensory Seeking): Mức độ ảnh hưởng ${getMechPct('seek')}% (Liên quan đến Bản thể BOD: ${tScores.bod}T và Tiền đình BAL: ${tScores.bal}T).
• 4. Nhận thức phân biệt giác quan (Sensory Perception): Mức độ ảnh hưởng ${getMechPct('perc')}% (Khả năng định vị cơ thể, kiểm soát lực tay và tri giác không gian).
• 5. Thực hành vận động & Ý tưởng hóa (Praxis: Ideation & Motor Planning - PLA): Đạt ${tScores.pla}T (${cPLA.text}) — ${tScores.pla >= 60 ? '⚠️ Khi PLA ≥ 60T đi kèm với sự suy giảm ở Xúc giác (TOU = ' + tScores.tou + 'T), Bản thể (BOD = ' + tScores.bod + 'T) hoặc Tiền đình (BAL = ' + tScores.bal + 'T), đây là bằng chứng lâm sàng điển hình của hội chứng Mất thực hành vận động do giác quan (Somatodyspraxia / Vestibular-Bilateral Integration Deficit) theo Jean Ayres.' : 'Khả năng lên ý tưởng và lập kế hoạch vận động nằm trong giới hạn bình thường.'} `; resultBox.style.borderLeftColor = cOverall.color; resultBox.innerHTML = ` Tổng hợp Kết luận Lâm sàng & Khuyến nghị Can thiệp Hoạt động Trị liệu (OT) theo SPM-2:
• Hồ sơ Tổng quát (${formConfigs[currentForm].tabTitle}): Tổng điểm Giác quan ST = ${tScores.st}T (${cST.text}) • Lập kế hoạch vận động & Ý tưởng PLA = ${tScores.pla}T (${cPLA.text}) • Tham gia Xã hội SOC = ${tScores.soc}T (${cSOC.text}).
• Định hướng Can thiệp Hoạt động Trị liệu Tích hợp Giác quan (Ayres Sensory Integration - OT/ASI):
1. Nếu PLA (${tScores.pla}T), BOD (${tScores.bod}T) và BAL (${tScores.bal}T) cao (≥ 60T): Cần can thiệp trong phòng Sensory Gym có thiết bị treo (xích đu trị liệu, ván trượt scooter, vượt chướng ngại vật đa bước) để trẻ tự lên ý tưởng (Ideation), tự lập kế hoạch cơ thể vượt qua thử thách thích ứng (Adaptive Response).
2. Nếu HEA (${tScores.hea}T), TOU (${tScores.tou}T) và T&S (${tScores.ts}T) cao (≥ 60T): Áp dụng kỹ thuật điều hòa cảm thụ bản thể lực sâu (Deep Pressure / Heavy Work) và giảm tải kích thích môi trường lớp học/gia đình. `; updateFloatingFabVisibility(); } function applyPreset(type) { ratings = {}; const setTargetPts = function(q, targetPts) { // targetPts: 1, 2, 3, 4 const sCfg = scaleConfigs[q.sc]; if (!sCfg.rev) { ratings[q.id] = targetPts; } else { ratings[q.id] = 5 - targetPts; } }; if (type === 'reset') { rawQuestions.forEach(q => { setTargetPts(q, 1); }); renderQuestions(); updateSummary(); return; } if (type === 'typical') { // Điển hình (40T - 59T) rawQuestions.forEach((q, idx) => { setTargetPts(q, (idx % 4 === 0) ? 2 : 1); }); } else if (type === 'dyspraxia') { // Mất thực hành vận động do giác quan (Somatodyspraxia): Tăng cao BOD, BAL & PLA (>= 70T) rawQuestions.forEach((q, idx) => { if (q.sc === 'pla' || q.sc === 'bod' || q.sc === 'bal') { setTargetPts(q, (idx % 2 === 0) ? 3 : 3); } else if (q.sc === 'tou' || q.sc === 'soc') { setTargetPts(q, 2); } else { setTargetPts(q, 1); } }); } else if (type === 'modulation') { // Quá tải / Phòng vệ giác quan: Tăng cao HEA, TOU, T&S (>= 70T) rawQuestions.forEach((q, idx) => { if (q.sc === 'hea' || q.sc === 'tou' || q.sc === 'ts') { setTargetPts(q, (idx % 2 === 0) ? 3 : 3); } else { setTargetPts(q, (idx % 3 === 0) ? 2 : 1); } }); } else if (type === 'asd_full') { // Hồ sơ Tự kỷ điển hình: Tăng cao cả ST, PLA và SOC rawQuestions.forEach((q, idx) => { setTargetPts(q, (idx % 3 === 0) ? 3 : 2); }); } renderQuestions(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); smWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { smWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 980px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } shadow.querySelectorAll('#formGrid .form-btn').forEach(function(btn) { btn.onclick = function() { currentForm = this.getAttribute('data-form'); shadow.querySelectorAll('#formGrid .form-btn').forEach(b => b.classList.remove('active')); this.classList.add('active'); renderHeader(); renderQuestions(); updateSummary(); }; }); shadow.querySelectorAll('.sm-pbtn').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-preset')); }; }); shadow.querySelectorAll('#scaleTabs .sm-stab').forEach(function(tab) { tab.onclick = function() { filterScale = this.getAttribute('data-sc'); shadow.querySelectorAll('#scaleTabs .sm-stab').forEach(t => t.classList.remove('active')); this.classList.add('active'); renderQuestions(); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); renderHeader(); applyPreset('dyspraxia'); })();
Bên cạnh Sensory Profile 2, SPM-2 là công cụ đánh giá rối loạn xử lý giác quan rất mạnh vì có phiên bản đánh giá trẻ ở cả môi trường gia đình và môi trường trường học.
SPM-2 (Sensory Processing Measure, Second Edition — Thang đo Xử lý Giác quan, Phiên bản 2) là một trong hai công cụ đánh giá chuẩn hóa đỉnh cao nhất của chuyên ngành Hoạt động Trị liệu (Occupational Therapy – OT) trên thế giới hiện nay (song hành cùng Sensory Profile 2), do các chuyên gia Heather Miller Kuhaneck, Diana A. Henry, Tara J. Glennon, L. Diane Parham vàChristian Ecker phát triển (xuất bản năm 2021 bởi WPS).
Nếu như Sensory Profile 2 (Winnie Dunn) tập trung phân loại trẻ theo 4 Góc phần tư ngưỡng thần kinh, thì SPM-2 được xây dựng trực tiếp trên Lý thuyết Hòa nhập Giác quan Kinh điển của Tiến sĩ A. Jean Ayres (Ayres Sensory Integration® – ASI). Đây là công cụ DUY NHẤT đo lường trực tiếp cả Khả năng Lập kế hoạch Vận động / Ý tưởng hóa (Praxis: Ideation & Motor Planning) và sự tham gia xã hội xuyên suốt từ 4 tháng tuổi đến 87 tuổi trên nhiều môi trường sống khác nhau.
1. Điểm đột phá làm nên tầm quan trọng của SPM-2 (2021)
-
Đánh giá trực tiếp “Praxis” (Lập kế hoạch vận động & Ý tưởng hóa): Rất nhiều trẻ Tự kỷ (ASD), ADHD hoặc Rối loạn phối hợp vận động (DCD) có cơ bắp hoàn toàn khỏe mạnh nhưng lại cực kỳ vụng về, không biết cách bắt chước động tác mới, không biết tự nghĩ ra cách chơi đồ chơi mới (thiếu Ideation), hoặc lóng ngóng khi mặc quần áo/dùng kéo/đá bóng (suy giảm Motor Planning). SPM-2 có hẳn thang đo riêng cho Lập kế hoạch và Ý tưởng (Planning and Ideas – PLA) để bắt mạch chính xác tình trạng Mất thực hành vận động do giác quan (Somatodyspraxia) này.
-
Đo lường đầy đủ 8 Lĩnh vực Cốt lõi (8 Core Scales) & Tổng điểm Giác quan (ST):
-
6 Hệ Giác quan cấu thành Tổng điểm Giác quan (Sensory Total – ST):
-
Thị giác (Vision –
VIS) -
Thính giác (Hearing –
HEA) -
Xúc giác (Touch –
TOU) -
Vị giác & Khứu giác (Taste and Smell –
T&S— điểm mới tách riêng rõ ràng ở bản SPM-2) -
Nhận thức Cơ thể / Cảm thụ Bản thể (Body Awareness / Proprioception –
BOD) -
Thăng bằng & Chuyển động / Tiền đình (Balance and Motion / Vestibular –
BAL)
-
-
2 Lĩnh vực Chức năng Bậc cao (Đứng độc lập không cộng vào ST): 7. Lập kế hoạch & Ý tưởng(Planning and Ideas / Praxis –
PLA) 8. Tham gia Xã hội (Social Participation –SOC)
-
-
So sánh Đa môi trường (Gia đình vs. Trường học): Nhiều trẻ ở nhà thì rất bình thường nhưng cứ đến lớp học đông đúc, đèn sáng, nhiều tiếng ồn là bùng nổ hành vi hoặc thu mình. SPM-2 cho phép đối chiếu trực tiếp điểm T-Score giữa Bản Gia đình (Home Form) và Bản Lớp học (Classroom Form) để xác định sự khác biệt môi trường (Environmental Difference).
2. Hệ thống 5 Cấp độ Tuổi & Bảng Quy đổi Điểm Chuẩn T-Score của SPM-2
-
5 Nhóm Độ tuổi & Phiên bản của SPM-2 (Mỗi mẫu chính gồm 80 câu hỏi, chấm thang 4 mức từ 1 đến 4 điểm):
-
Infant / Toddler (Nhũ nhi & Trẻ nhỏ • 4 – 30 tháng): Dành cho cha mẹ/người chăm sóc đánh giá sớm.
-
Preschool (Mầm non • 2 – 5 tuổi): Bản Gia đình (Home) & Bản Trường mầm non (School).
-
Child (Trẻ em • 5 – 12 tuổi): Bản Gia đình (Home) & Bản Lớp học tiểu học (Main Classroom).
-
Adolescent (Vị thành niên • 12 – 21 tuổi): Bản Gia đình, Bản Trường học & Bản Tự đánh giá (Self-Report).
-
Adult (Người trưởng thành • 21 – 87 tuổi): Bản Tự đánh giá (Self-Report) & Bản Người thân đánh giá (Rater).
-
-
Quy tắc chấm điểm (Thang tần suất 1 – 4 điểm):
-
Đối với 7 thang (
VIS, HEA, TOU, T&S, BOD, BAL, PLA— mô tả hành vi rối loạn):1 - Không bao giờ(1đ) •2 - Thỉnh thoảng(2đ) •3 - Thường xuyên(3đ) •4 - Luôn luôn(4đ). -
Riêng đối với thang
SOC(Tham gia Xã hội — mô tả kỹ năng xã hội tích cực): Chấm ĐẢO NGƯỢC (4 - Luôn luôn= 1đ •3 - Thường xuyên= 2đ •2 - Thỉnh thoảng= 3đ •1 - Không bao giờ= 4đ rủi ro).
-
-
Bảng Diễn giải Điểm Chuẩn T-Score của SPM-2 (Mean=50,SD=10):
Sách: Nuôi dạy trẻ có rối loạn phổ tự kỷ trong môi trường gia đình
Nuôi dạy trẻ có rối loạn phổ tự kỷ trong môi trường gia đình là ấn phẩm nhiều tác giả. Cuốn sách này cung cấp cho bố mẹ một bức tranh toàn cảnh nhất, thực tế nhất, mà cũng dễ áp dụng nhất để có thể hướng dẫn, giáo dục can thiệp trẻ tại nhà gắn với các hoạt động chăm sóc thường ngày.

Vi chất cho trẻ tự kỷ
Sau khi đã nắm được các kiến thức chung về dinh dưỡng cho sự phát triển của não bộ, chúng ta sẽ đi chi tiết vào việc bổ sung các dưỡng chất cụ thể sao cho đúng, sao cho đủ trong danh mục này.
Bài Viết
Cốm Egaruta - Hỗ trợ giảm triệu chứng lăng xăng tăng động và dễ cáu gắt
| Thành phần (Hàm lượng) | Nguồn gốc & Các hoạt chất hóa học cụ thể bên trong |
|---|---|
| An tức hương (105 mg) |
Nhựa khô từ thân cây Bồ đề (Styrax tonkinensis). Chứa các chất hóa học: Acid benzoic tự do Coniferyl benzoate Benzyl benzoate Cinnamyl cinnamate Acid siaresinolic (Triterpenoid) Vanillin |
| Taurine (100 mg) |
Axit amin sulfonic tự nhiên (2-aminoethanesulfonic acid), tập trung nồng độ rất cao tại mô não đang phát triển, võng mạc và cơ tim. |
| Cao Câu đằng (75 mg) |
Chiết xuất từ thân có gai móc cây Câu đằng (Uncaria rhynchophylla). Chứa nhóm Alkaloid nhân indol quan trọng: Rhynchophylline Isorhynchophylline Corynoxeine Hirsutine Hirsuteine cùng với Flavonoid, Tannin và Phenolic. |
| GABA (25 mg) |
Gamma-Aminobutyric Acid (C4H9NO2) – Chất dẫn truyền thần kinh ức chế chủ đạo của hệ thần kinh trung ương. |
| Magie (7.5 mg nguyên tố) |
Bào chế dạng muối Magnesium citrate hoặc Magnesium chloride (MgCl2) giải phóng ion Mg2+ tự do. |
Tại sao Sulforaphane (Cải xanh tươi) lại nổi tiếng trong nghiên cứu về giảm hành vi Tự kỷ (ASD)?
Sulforaphane được giới y sinh học đặc biệt chú ý sau nghiên cứu lâm sàng nổi tiếng của Đại học Johns Hopkins và Harvard (công bố trên tạp chí PNAS). Khác với các vi chất thông thường, Sulforaphane đi xuyên qua hàng rào máu não rất mạnh và tác động thông qua 3 cơ chế:
-
Bật công tắc gen Nrf2: Kích hoạt hệ thống tự sản xuất chất chống oxy hóa nội sinh mạnh nhất của cơ thể (như Glutathione), giúp dập tắt tình trạng viêm thần kinh (neuroinflammation) và stress oxy hóa ở não trẻ tự kỷ (vốn là nguyên nhân lớn khiến Nhân xanh bắn xung nền Tonic quá mức và gây mất cân bằng Glutamate/GABA).
-
Bắt chước “Hiệu ứng Sốt” (Fever Effect): Nhiều cha mẹ nhận thấy khi trẻ tự kỷ bị sốt, trẻ bỗng nhiên tỉnh táo,giao tiếp mắt tốt hơn, nói nhiều hơn và giảm hẳn hành vi kích thích lặp lại. Sulforaphane kích hoạt các Protein sốc nhiệt (Heat Shock Proteins – HSP) ở cấp độ tế bào giống hệt như khi cơ thể đang sốt nhẹ, giúp bảo vệ và phục hồi chức năng khớp thần kinh mà không làm trẻ bị sốt thật.
-
Bảo vệ ty thể (Mitochondria): Giúp tế bào não sản xuất năng lượng ổn định hơn.
1. Những lưu ý khi mua thực phẩm chức năng Sulforaphane
Phân tử Sulforaphane tự do rất kém bền vững (dễ bị phân hủy nhanh ở nhiệt độ phòng). Do đó, để cơ thể thực sự nhận được Sulforaphane, sản phẩm bắt buộc phải rơi vào 1 trong 2 dạng chuẩn hóa sau:
2. Lưu ý thực tế khi sử dụng (dù không cần đơn bác sĩ)
-
Mùi vị đặc trưng: Tinh chất mầm súp lơ xanh chuẩn có mùi hăng nồng của hợp chất lưu huỳnh (giống mùi cải ngồng/củ cải). Nếu dùng cho trẻ nhỏ không nuốt được viên, khi tách vỏ nang hoặc nghiền viên nén cần trộn vào thức ăn có vị đậm (như sốt táo, bơ đậu phộng, sinh tố chua ngọt) và không pha vào nước/cháo nóng trên 40°C(nhiệt độ cao sẽ làm chết ngay enzyme Myrosinase).
-
Tác dụng phụ ban đầu (Hiện tượng thải độc / Die-off nhẹ): Do Sulforaphane kích hoạt mạnh quá trình giải độc gan (Pha II) và chứa hợp chất lưu huỳnh, trong 3–5 ngày đầu trẻ có thể đi ngoài phân hơi lỏng, xì hơi nặng mùi hơn hoặc hơi bứt rứt nhẹ. Luôn bắt đầu từ 1/4 đến 1/2 liều chuẩn để cơ thể làm quen.
-
Kiểm tra nếu trẻ nhạy cảm lưu huỳnh (CBS / SUOX mutation): Một số ít trẻ có rối loạn chuyển hóa lưu huỳnh (ăn trứng, hành tỏi, bông cải hay bị bồn chồn, nước tiểu khai nồng mùi lưu huỳnh) cần thận trọng thử liều cực nhỏ trước.
Trong các thử nghiệm lâm sàng của Đại học Johns Hopkins (dẫn đầu bởi Giáo sư Thần kinh Nhi Andrew Zimmerman và Giáo sư Paul Talalay), liều lượng Sulforaphane được chuẩn hóa bằng đơn vị micromol (μmol) và sau đó quy đổi sang miligam (mg) dựa trên trọng lượng cơ thể.
Có 2 cách tính liều được áp dụng trong hệ thống nghiên cứu của Johns Hopkins (cách chia theo bậc cân nặng trong nghiên cứu gốc 2014 và công thức tính chính xác theo từng kg cho trẻ nhỏ từ 3–12 tuổi trong nghiên cứu năm 2021):
2.1. Bảng chia theo 3 bậc cân nặng (Nghiên cứu gốc Singh et al., PNAS 2014)
Trong thử nghiệm đầu tiên kéo dài 18 tuần, các nhà khoa học sử dụng viên chiết xuất mầm bông cải xanh chứa khoảng 50 μmol Sulforaphane mỗi viên (tương đương ≈8.85 mg Sulforaphane hoạt tính/viên) và chia theo 3 mốc cân nặng như sau:
2.2. Công thức tính chi tiết theo từng kg cho trẻ nhỏ (Nghiên cứu Zimmerman et al., Molecular Autism 2021)
Vì mốc “dưới 45 kg đều uống 50 μmol” ở nghiên cứu đầu tiên là quá rộng đối với trẻ nhỏ từ 3–12 tuổi (ví dụ trẻ 15 kg và trẻ 40 kg không thể uống bằng nhau), trong thử nghiệm lâm sàng giai đoạn 2 trên 57 trẻ tự kỷ (3–12 tuổi) sử dụng chế phẩm Avmacol (Glucoraphanin + enzyme Myrosinase hoạt tính), nhóm Johns Hopkins đã áp dụng công thức tính theo từng kg cân nặng:
-
Liều mục tiêu tính theo Micromol: Khoảng 2.2 μmol Sulforaphane / kg cân nặng / ngày (hoặc dao động trong vùng an toàn từ 1.5−2.5 μmol/kg/ngày).
-
Quy đổi sang Miligam (mg) để cha mẹ đọc nhãn TPCN:
-
Nếu nhãn ghi lượng Sulforaphane thực tế (Actual Sulforaphane yield): Khoảng 0.25−0.38 mg / kg cân nặng / ngày.
-
Nếu nhãn ghi lượng tiền chất Glucoraphanin (có kèm enzyme Myrosinase): Do hiệu suất chuyển hóa từ Glucoraphanin sang Sulforaphane trong ruột đạt khoảng 35%–45%, liều Glucoraphanin cần uống là khoảng 1.2−2.0 mg Glucoraphanin / kg cân nặng / ngày.
-
Bảng tra nhanh liều lượng cho trẻ nhỏ (từ 12 kg đến 45 kg):
2.3. Bốn nguyên tắc cho uống từ phác đồ gốc của Johns Hopkins
-
Quy tắc “Dò liều bậc thang” (Titration): Trong thực tế lâm sàng, không bao giờ cho trẻ uống ngay liều tối đa theo cân nặng ở ngày đầu tiên. Hãy bắt đầu bằng 1/4 hoặc 1/2 liều tính được trong 5–7 ngày đầu, nếu bụng dạ trẻ êm và không bị bứt rứt thì mới tăng dần lên đủ liều chuẩn.
-
Thời điểm uống: Cho uống 1 lần duy nhất vào buổi sáng cùng bữa ăn (hoặc ngay sau ăn sáng). Không nên uống vào buổi tối vì Sulforaphane thúc đẩy năng lượng ty thể, có thể làm một số trẻ tỉnh táo khó ngủ.
-
Cách pha khi trẻ không nuốt được viên: Trong nghiên cứu năm 2021, đối với trẻ 3–7 tuổi, các bác sĩ hướng dẫn cha mẹ nghiền viên thuốc trộn vào một thìa thức ăn nguội/mát (như sữa chua, sốt táo, nước ép trái cây hoặc bơ hạt). Tuyệt đối không pha vào cháo nóng hay nước ấm vì enzyme Myrosinase sẽ bị hỏng.
-
Mốc thời gian đánh giá hiệu quả: Trong các thử nghiệm của Johns Hopkins, những thay đổi đầu tiên (giảm cáu gắt, giảm tăng động/stimming, tăng giao tiếp mắt) bắt đầu nhận thấy ở tuần thứ 4, rõ rệt nhất ở tuần thứ 10 đến tuần thứ 15. Đáng chú ý là khi ngừng uống sau 4 tuần, các triệu chứng quay trở lại mức ban đầu — cho thấy Sulforaphane đóng vai trò duy trì bảo vệ tế bào hàng ngày giống như dinh dưỡng.
Bạn có thể kéo thanh trượt Cân nặng của bé (kg) trong công cụ tính toán dưới đây để xem ngay liều lượng quy đổi chính xác theo phác đồ Johns Hopkins cho từng loại nhãn thực phẩm chức năng:
/* Cô lập toàn bộ biến và style bên trong #sfn-calc-wp-widget */ #sfn-calc-wp-widget { --ff-sans: 'Google Sans Flex', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; --ff-mono: 'Google Sans Code', monospace; --lumi-sys-spacing--xxs: 2px; --lumi-sys-spacing--xs: 4px; --lumi-sys-spacing--s: 8px; --lumi-sys-spacing--m: 12px; --lumi-sys-spacing--l: 16px; --lumi-sys-spacing--xl: 20px; --lumi-sys-spacing--xxl: 24px; --lumi-sys-spacing--3xl: 28px; --lumi-sys-spacing--4xl: 36px; --lumi-sys-shape--extra-small: 4px; --lumi-sys-shape--small: 8px; --lumi-sys-shape--medium: 12px; --lumi-sys-shape--large: 16px; --lumi-sys-shape--large-max: 24px; --lumi-sys-shape--xl: 28px; --lumi-sys-shape--xl-max: 40px; --lumi-sys-shape--full: 999px; --lumi-sys-elevation--level1: 0 0 20px 0 rgba(0, 0, 0, 0.04); --lumi-sys-elevation--level2: 0 0 20px 0 rgba(0, 0, 0, 0.11); --lumi-sys-color--surface: #fdfcfc; --lumi-sys-color--surface-dim: #f2f0f0; --lumi-sys-color--surface-bright: #ffffff; --lumi-sys-color--surface-container: #f2f0f0; --lumi-sys-color--surface-container-high: #e6e6e6; --lumi-sys-color--on-surface: #000000; --lumi-sys-color--on-surface-default: #000000; --lumi-sys-color--on-surface-variant: rgba(0, 0, 0, 0.55); --lumi-sys-color--on-surface-de-emphasis: rgba(0, 0, 0, 0.55); --lumi-sys-color--on-surface-low: rgba(0, 0, 0, 0.08); --lumi-sys-color--accent: #9dd2ff; --lumi-sys-color--accent-container: #dcf1ff; --lumi-sys-color--accent-fixed: #3186ff; --lumi-sys-color--primary: #3186ff; --lumi-sys-color--stroke-default: #e3e3e3; --lumi-sys-color--chart-series-1: #2575fc; --lumi-sys-color--chart-series-2: #5b6e9e; --lumi-sys-color--chart-series-3: #228a49; --lumi-sys-color--chart-series-4: #62991b; --lumi-sys-color--chart-series-5: #1e564d; --lumi-sys-color--chart-series-6: #526a45; --lumi-sys-color--chart-series-7: #2780c4; --lumi-sys-color--chart-series-8: #997112; --lumi-sys-color--chart-series-9: #705ec2; --lumi-sys-color--chart-series-10: #c84288; /* Aliases */ --surface: var(--lumi-sys-color--surface); --surface-dim: var(--lumi-sys-color--surface-dim); --surface-bright: var(--lumi-sys-color--surface-bright); --surface-container: var(--lumi-sys-color--surface-container); --surface-container-high: var(--lumi-sys-color--surface-container-high); --on-surface: var(--lumi-sys-color--on-surface); --on-surface-variant: var(--lumi-sys-color--on-surface-variant); --on-surface-low: var(--lumi-sys-color--on-surface-low); --primary: var(--lumi-sys-color--primary); --accent: var(--lumi-sys-color--accent); --accent-container: var(--lumi-sys-color--accent-container); --accent-fixed: var(--lumi-sys-color--accent-fixed); --stroke-default: var(--lumi-sys-color--stroke-default); --chart-1: var(--lumi-sys-color--chart-series-1); --chart-2: var(--lumi-sys-color--chart-series-2); --chart-3: var(--lumi-sys-color--chart-series-3); --chart-4: var(--lumi-sys-color--chart-series-4); --chart-5: var(--lumi-sys-color--chart-series-5); --chart-6: var(--lumi-sys-color--chart-series-6); --chart-7: var(--lumi-sys-color--chart-series-7); --chart-8: var(--lumi-sys-color--chart-series-8); --chart-9: var(--lumi-sys-color--chart-series-9); --chart-10: var(--lumi-sys-color--chart-series-10); --spacing-l: var(--lumi-sys-spacing--l); --r-container: var(--lumi-sys-shape--xl-max); --r-l: var(--lumi-sys-shape--large-max); --r-full: var(--lumi-sys-shape--full); width: 100%; max-width: 708px; margin: 24px auto; font-family: var(--ff-sans); color: var(--on-surface); box-sizing: border-box; line-height: 1.5; -webkit-font-smoothing: antialiased; } /* Hỗ trợ Dark Mode nếu theme hoặc thiết bị bật chế độ tối */ #sfn-calc-wp-widget[data-theme="dark"], body.dark-mode #sfn-calc-wp-widget { --lumi-sys-color--surface: #0f0f0f; --lumi-sys-color--surface-dim: #141414; --lumi-sys-color--surface-bright: #1c1c1c; --lumi-sys-color--surface-container: #141414; --lumi-sys-color--surface-container-high: #1c1c1c; --lumi-sys-color--on-surface: #e0e0e0; --lumi-sys-color--on-surface-default: #e0e0e0; --lumi-sys-color--on-surface-variant: rgba(255, 255, 255, 0.55); --lumi-sys-color--on-surface-de-emphasis: rgba(255, 255, 255, 0.55); --lumi-sys-color--on-surface-low: rgba(255, 255, 255, 0.12); --lumi-sys-color--accent: #1f3b9b; --lumi-sys-color--accent-container: #192967; --lumi-sys-color--accent-fixed: #3186ff; --lumi-sys-color--primary: #9dd2ff; --lumi-sys-color--stroke-default: #2d2f38; --lumi-sys-color--chart-series-1: #9dd2ff; --lumi-sys-color--chart-series-2: #96a7d6; --lumi-sys-color--chart-series-3: #50e389; --lumi-sys-color--chart-series-4: #c8f585; --lumi-sys-color--chart-series-5: #f5f2e6; --lumi-sys-color--chart-series-6: #dcd8c0; --lumi-sys-color--chart-series-7: #82c7ff; --lumi-sys-color--chart-series-8: #f5d77f; --lumi-sys-color--chart-series-9: #d9ceff; --lumi-sys-color--chart-series-10: #ffa6d7; } #sfn-calc-wp-widget *, #sfn-calc-wp-widget *::before, #sfn-calc-wp-widget *::after { box-sizing: border-box; } #sfn-calc-wp-widget svg text { stroke: none; paint-order: fill; } /* Typography */ #sfn-calc-wp-widget .lumi-display-s { font-family: var(--ff-sans); font-size: 2rem; line-height: 2.375rem; font-weight: 360; } #sfn-calc-wp-widget .lumi-headline-m { font-family: var(--ff-sans); font-size: 1.5rem; line-height: 1.75rem; font-weight: 450; } #sfn-calc-wp-widget .lumi-headline-s { font-family: var(--ff-sans); font-size: 1.25rem; line-height: 1.5rem; font-weight: 470; } #sfn-calc-wp-widget .lumi-body-m { font-family: var(--ff-sans); font-size: 0.9375rem; line-height: 1.25rem; font-weight: 400; } #sfn-calc-wp-widget .lumi-body-s { font-family: var(--ff-sans); font-size: 0.8125rem; line-height: 1.0625rem; font-weight: 400; } #sfn-calc-wp-widget .lumi-caption { font-family: var(--ff-mono); font-style: italic; font-size: 13px; line-height: 20px; font-weight: 400; } #sfn-calc-wp-widget .lumi-code { font-family: var(--ff-mono); font-size: 15px; line-height: 20px; font-weight: 400; } /* Buttons & Chips (Scoped) */ #sfn-calc-wp-widget button { appearance: none; -webkit-appearance: none; display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 36px; padding: 8px 18px; font-family: var(--ff-sans); font-size: 13px; font-weight: 500; line-height: 18px; color: var(--on-surface); background-color: var(--surface-bright); border: 1px solid var(--stroke-default); border-radius: 999px; cursor: pointer; user-select: none; transition: background-color 0.15s, color 0.15s, border-color 0.15s, transform 0.1s; text-decoration: none; margin: 0; } #sfn-calc-wp-widget button:hover { background-color: var(--surface-container-high); } #sfn-calc-wp-widget button:active { transform: scale(0.98); } #sfn-calc-wp-widget .lumi-btn.is-selected, #sfn-calc-wp-widget .lumi-btn[aria-pressed="true"] { background-color: var(--accent-container); color: var(--on-surface); border-color: transparent; } #sfn-calc-wp-widget .lumi-chip { min-height: 36px; padding: 0 16px; font-size: 13px; font-weight: 500; color: var(--on-surface); background: var(--surface-bright); border: 1px solid var(--stroke-default); border-radius: 999px; } #sfn-calc-wp-widget .lumi-chip.is-active, #sfn-calc-wp-widget .lumi-chip[aria-pressed="true"] { color: var(--accent-fixed); background: var(--accent-container); border-color: transparent; font-weight: 600; } /* Slider (Scoped) */ #sfn-calc-wp-widget .lumi-slider { appearance: none; -webkit-appearance: none; width: calc(100% + 28px); margin: 0 -14px; height: 40px; background: transparent; cursor: pointer; border: none; padding: 0; } #sfn-calc-wp-widget .lumi-slider:focus { outline: none; } #sfn-calc-wp-widget .lumi-slider::-webkit-slider-runnable-track { height: 4px; --thumb-center: calc(14px + (100% - 28px) * (var(--progress, 11.76%) / 100%)); --active-end: calc(var(--thumb-center) - 8px + (var(--progress, 11.76%) / 100%) * 6px); background-image: radial-gradient(circle at calc(100% - 18px) center, var(--on-surface-variant) 2px, transparent 2.5px), linear-gradient(to right, transparent 0, transparent 14px, var(--on-surface) 14px, var(--on-surface) var(--active-end), transparent var(--active-end), transparent calc(var(--thumb-center) + 8px), var(--stroke-default) calc(var(--thumb-center) + 8px), var(--stroke-default) calc(100% - 16px), transparent calc(100% - 16px), transparent 100%); border-radius: 999px; } #sfn-calc-wp-widget .lumi-slider::-webkit-slider-thumb { appearance: none; -webkit-appearance: none; width: 32px; height: 32px; border-radius: 50%; background-color: transparent; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Crect x='14' y='6' width='4' height='20' rx='2' fill='%23000000'/%3E%3C/svg%3E"); background-size: 32px 32px; background-repeat: no-repeat; background-position: center; border: none; margin-top: -14px; cursor: pointer; transition: background-color 0.15s; } #sfn-calc-wp-widget[data-theme="dark"] .lumi-slider::-webkit-slider-thumb, body.dark-mode #sfn-calc-wp-widget .lumi-slider::-webkit-slider-thumb { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Crect x='14' y='6' width='4' height='20' rx='2' fill='%23ffffff'/%3E%3C/svg%3E"); } #sfn-calc-wp-widget .lumi-slider:hover::-webkit-slider-thumb { background-color: var(--on-surface-low); } #sfn-calc-wp-widget .lumi-slider-value { display: flex; align-items: center; justify-content: center; min-width: 72px; height: 40px; padding: 0 12px; background-color: var(--surface-bright); border-radius: 16px; font-family: var(--ff-sans); font-size: 15px; font-weight: 540; font-variant-numeric: tabular-nums; color: var(--on-surface); } /* Layout Components */ #sfn-calc-wp-widget .outer-deck { background-color: var(--surface-bright); border: 1px solid var(--stroke-default); border-radius: var(--r-container, 40px); padding: 24px; display: flex; flex-direction: column; gap: 20px; box-shadow: var(--lumi-sys-elevation--level1); } #sfn-calc-wp-widget .header-block { display: flex; flex-direction: column; gap: 6px; } #sfn-calc-wp-widget .header-block h2, #sfn-calc-wp-widget .header-block p { margin: 0; color: var(--on-surface); } #sfn-calc-wp-widget .metrics-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; } #sfn-calc-wp-widget .metric-card { background-color: var(--surface-dim); border-radius: var(--r-l, 24px); padding: 16px; display: flex; flex-direction: column; justify-content: space-between; gap: 8px; transition: background-color 0.2s ease; } #sfn-calc-wp-widget .metric-card.is-highlighted { background-color: var(--accent-container); } #sfn-calc-wp-widget .metric-label, #sfn-calc-wp-widget .metric-val { color: var(--on-surface); margin: 0; } #sfn-calc-wp-widget .metric-value-row { display: flex; align-items: baseline; gap: 6px; flex-wrap: wrap; } #sfn-calc-wp-widget .metric-unit, #sfn-calc-wp-widget .metric-sub { color: var(--on-surface-variant); margin: 0; } #sfn-calc-wp-widget .titration-box { background-color: var(--surface-dim); border-radius: var(--r-l, 24px); padding: 16px 20px; display: flex; flex-direction: column; gap: 10px; } #sfn-calc-wp-widget .titration-header { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; } #sfn-calc-wp-widget .titration-track { width: 100%; height: 10px; background-color: var(--on-surface-low); border-radius: 999px; overflow: hidden; position: relative; } #sfn-calc-wp-widget .titration-fill { height: 100%; background-color: var(--on-surface); border-radius: 999px; transition: width 0.25s cubic-bezier(0.22, 1, 0.36, 1); } #sfn-calc-wp-widget .titration-steps { display: flex; justify-content: space-between; gap: 8px; flex-wrap: wrap; } #sfn-calc-wp-widget .chart-panel { display: flex; flex-direction: column; gap: 12px; } #sfn-calc-wp-widget .chart-top-bar { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 8px; } #sfn-calc-wp-widget .lumi-chart-legend { display: flex; justify-content: center; align-items: center; gap: 24px; margin-top: 12px; width: 100%; flex-wrap: wrap; } #sfn-calc-wp-widget .lumi-legend-item { display: inline-flex; align-items: center; gap: 8px; } #sfn-calc-wp-widget .lumi-legend-dot { width: 16px; height: 16px; border-radius: 50%; flex-shrink: 0; display: inline-block; } #sfn-calc-wp-widget .lumi-legend-label { font-family: var(--ff-mono); font-style: italic; font-size: 13px; line-height: 20px; color: var(--on-surface); } #sfn-calc-wp-widget .control-panel { background-color: var(--surface-dim); border-radius: var(--r-l, 24px); padding: 20px; display: flex; flex-direction: column; gap: 16px; } #sfn-calc-wp-widget .control-row-top { display: flex; justify-content: space-between; align-items: center; gap: 12px; } #sfn-calc-wp-widget .toggle-strip { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; } @media (max-width: 560px) { #sfn-calc-wp-widget .outer-deck { padding: 18px; border-radius: 28px; } #sfn-calc-wp-widget .metrics-grid { grid-template-columns: 1fr; } }
Phác đồ Liều lượng Sulforaphane & Glucoraphanin
Chuẩn hóa theo thử nghiệm lâm sàng Đại học Johns Hopkins (Zimmerman 2021: 2,1 μmol/kg/ngày & Singh 2014)
Sulforaphane hoạt tính
Liều mục tiêu: 42 μmol/ngày (≈ 0,37 mg/kg)
Glucoraphanin + Myrosinase
Tra trên nhãn chiết xuất hạt/mầm bông cải xanh
Liều khởi đầu (Tuần 1)
Dò liều 30% (≈ 2,2 mg SFN hoạt tính) trong 7 ngày
Không thể tải biểu đồ
Vui lòng thử tải lại trang.
3. Tự tạo Sulforaphane từ Mầm bông cải xanh (broccoli sprouts)
Nếu tôi tự trồng mầm bông cải xanh (broccoli sprouts) tại nhà cho bé ăn, thì cần bao nhiêu gam rau mầm tươi mỗi ngày để tương đương với liều Sulforaphane trong nghiên cứu của Johns Hopkins?
Mầm bông cải xanh (broccoli sprouts) thu hoạch ở ngày thứ 3 đến ngày thứ 5 chứa lượng tiền chất Glucoraphanin cao gấp 20 đến 100 lần so với cây súp lơ xanh trưởng thành. Tuy nhiên, lượng rau mầm tươi cần ăn mỗi ngày phụ thuộc rất lớn vào cách bạn sơ chế trước khi xay cho bé.
Dựa trên số liệu phân tích định lượng của Phòng thí nghiệm Hóa bảo vệ Cullman (thuộc Đại học Johns Hopkins), trung bình 1 gam mầm bông cải xanh tươi (3–5 ngày tuổi) chứa khoảng 2.5−3.5 mg Glucoraphanin.
-
Nếu xay sống thông thường: Một loại protein nội sinh trong mầm rau có tên là ESP (Epithiospecifier protein) sẽ “cướp” mất 75%–80% quá trình chuyển hóa và biến Glucoraphanin thành Sulforaphane Nitrile (một chất hoàn toàn vô tác dụng). Khi đó, rau mầm tươi chỉ tạo ra được khoảng 0.3−0.4 mg Sulforaphane.
-
Nếu chần qua nước nóng 70∘C trong đúng 10 phút trước khi xay (hoặc xay kèm một nhúm bột hạt mù tạt): Nhiệt độ 70∘C sẽ tiêu diệt hoàn toàn protein phá hoại ESP nhưng vẫn giữ nguyên vẹn 100% enzyme quý Myrosinase. Nhờ đó, lượng Sulforaphane thu được tăng gấp 3.5 lần, đạt tới 1.0−1.3 mg Sulforaphane trên mỗi 1g rau mầm tươi.
3.1. Bảng quy đổi lượng mầm bông cải xanh tươi cần dùng mỗi ngày (theo chuẩn Johns Hopkins)
Dưới đây là lượng rau mầm tươi đã ráo nước (tính bằng gam) tương ứng với công thức liều lâm sàng của Johns Hopkins (≈2.1−2.2 μmol/kg hay ≈0.37 mg Sulforaphane/kg cân nặng):
(Lợi ích cực lớn của phương pháp xử lý nhiệt 70∘C là bé chỉ cần uống một lượng mầm cực ít — chỉ khoảng 5g đến 10g mỗi ngày — nên giảm được tối đa vị hăng nồng và không làm bé bị đầy bụng).
3.2. Quy trình 4 bước “Nhân 3.5 lần hoạt chất” và Cấp đông dùng cả tuần
Trẻ tự kỷ rất nhạy cảm về vị giác và khứu giác, hơn nữa việc ngày nào cũng lích kích chế biến vài gam rau mầm rất mất thời gian. Bạn có thể làm 1 mẻ vào cuối tuần và đông đá thành từng viên nhỏ (Sulforaphane sau khi đã hình thành cực kỳ bền vững ở nhiệt độ đông đá −18∘C):
Bước 1: Thu hoạch đúng “Ngày vàng” (Ngày 3 đến Ngày 5)

-
Thời điểm thu hoạch: Thu hoạch ngay khi mầm đạt từ 3 đến 5 ngày tuổi.
-
Nguyên tắc cốt lõi: Không để mầm mọc quá dài thành lá xanh lớn (microgreens) vì tổng lượng tiền chất Glucoraphanin trong mỗi hạt là cố định — mầm càng lớn thì nồng độ hoạt chất tính trên mỗi gam trọng lượng càng bị pha loãng.
-
Nhận biết mầm khỏe: Lớp lông tơ trắng muốt mọc quanh chân rễ vào ngày thứ 3 là lông hút nước tự nhiên (root hairs), hoàn toàn không có mùi hôi, đừng nhầm lẫn với nấm mốc mà bỏ đi.
Bước 2: Ngâm nước ấm 70∘C trong 10 phút (Bước quyết định)

-
Công thức pha nước không cần nhiệt kế: Pha theo tỷ lệ 2 phần nước sôi (100∘C) + 1 phần nước lọc nguội (25∘C) sẽ cho ra mức nhiệt xấp xỉ 70∘C (hoặc kiểm tra trực tiếp bằng nhiệt kế bếp).
-
Thao tác: Thả toàn bộ mầm tươi vào ngâm đúng 10 phút, sau đó vớt ra xả nhanh qua nước mát. Mức nhiệt 70∘C giúp bất hoạt protein ESP (vốn làm chệch hướng phản ứng sang chất không có tác dụng), trong khi vẫn giữ nguyên vẹn enzyme Myrosinase, giúp lượng Sulforaphane tạo thành tăng gấp 3.5 lần.
-
Cảnh báo nhiệt độ & Mẹo cứu nguy: Tuyệt đối không dùng nước trên 80∘C vì sẽ làm chết luôn enzyme Myrosinase. Nếu lỡ tay pha nước quá nóng, khi chuyển sang bước xay bạn chỉ cần rắc thêm 1 đầu tăm bột hạt mù tạt vàng (mustard seed powder) hoặc vài cọng cải củ/cải xoong sống vào cối xay để bổ sung lại enzyme Myrosinase.
Bước 3: Xay nhuyễn và chờ 15–20 phút để kích hoạt phản ứng

-
Xay phá vỡ tế bào: Cho mầm đã chần vào máy xay cùng một ít nước lọc, thêm vài giọt nước cốt chanh hoặc vài miếng dứa/táo (môi trường hơi chua giàu Vitamin C giúp bảo vệ Sulforaphane không bị oxy hóa).
-
Thời gian nghỉ bắt buộc: Sau khi xay nhuyễn mịn, để yên hỗn hợp ở nhiệt độ phòng trong 15 – 20 phút trước khi đem cấp đông. Đây là khoảng thời gian bắt buộc để enzyme Myrosinase tiếp xúc và cắt toàn bộ Glucoraphanin thành Sulforaphane hoạt tính.
Bước 4: Đổ khuôn đá viên và bảo quản ở −18∘C

-
Chia liều theo ngày: Đổ hỗn hợp vào khay đá silicon có nắp đậy sao cho mỗi ô tương ứng chính xác với liều 1 ngày của bé (ví dụ mỗi ô tương ứng 5 g hoặc 8 g mầm tươi).
-
Cách dùng mỗi sáng: Lấy 1 viên ra khỏi tủ đông, để rã đông tự nhiên trong 15 phút hoặc trộn thẳng vào sinh tố chuối, xoài, sữa chua, sốt táo cho bé dùng ngay sau bữa sáng (không pha vào cháo/súp đang nóng trên 40∘C).
3.3. Hai nguyên tắc an toàn bắt buộc khi tự trồng mầm cho trẻ nhỏ
-
Chọn hạt giống chuyên dụng (Sprouting seeds): Chỉ mua hạt giống hữu cơ ghi rõ nhãn For Sprouting / Microgreens. Tuyệt đối không mua hạt giống trồng cây nông nghiệp vì thường được tẩm hóa chất chống nấm mốc rất độc.
-
Kiểm soát vi sinh vật: Môi trường ủ mầm ẩm ướt rất dễ phát sinh vi khuẩn Salmonella hoặc E. coli. Bước ngâm nước 70∘C trong 10 phút vừa giúp nhân 3.5 lần hoạt chất, vừa đóng vai trò thanh trùng bề mặt mầm rau,bảo vệ hệ tiêu hóa nhạy cảm của trẻ.
Bạn có thể sử dụng công cụ tính toán dưới đây để nhập Cân nặng của bé và chọn Phương pháp chế biến, hệ thống sẽ tính chính xác số gam mầm tươi cần dùng mỗi ngày và lượng hạt khô cần ngâm cho cả tuần:
/* Cô lập toàn bộ biến và style bên trong #sprout-calc-wp-widget */ #sprout-calc-wp-widget { --ff-sans: 'Google Sans Flex', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; --ff-mono: 'Google Sans Code', monospace; --lumi-sys-spacing--xxs: 2px; --lumi-sys-spacing--xs: 4px; --lumi-sys-spacing--s: 8px; --lumi-sys-spacing--m: 12px; --lumi-sys-spacing--l: 16px; --lumi-sys-spacing--xl: 20px; --lumi-sys-spacing--xxl: 24px; --lumi-sys-spacing--3xl: 28px; --lumi-sys-spacing--4xl: 36px; --lumi-sys-shape--extra-small: 4px; --lumi-sys-shape--small: 8px; --lumi-sys-shape--medium: 12px; --lumi-sys-shape--large: 16px; --lumi-sys-shape--large-max: 24px; --lumi-sys-shape--xl: 28px; --lumi-sys-shape--xl-max: 40px; --lumi-sys-shape--full: 999px; --lumi-sys-elevation--level1: 0 0 20px 0 rgba(0, 0, 0, 0.04); --lumi-sys-elevation--level2: 0 0 20px 0 rgba(0, 0, 0, 0.11); --lumi-sys-color--surface: #fdfcfc; --lumi-sys-color--surface-dim: #f2f0f0; --lumi-sys-color--surface-bright: #ffffff; --lumi-sys-color--surface-container: #f2f0f0; --lumi-sys-color--surface-container-high: #e6e6e6; --lumi-sys-color--on-surface: #000000; --lumi-sys-color--on-surface-default: #000000; --lumi-sys-color--on-surface-variant: rgba(0, 0, 0, 0.55); --lumi-sys-color--on-surface-de-emphasis: rgba(0, 0, 0, 0.55); --lumi-sys-color--on-surface-low: rgba(0, 0, 0, 0.08); --lumi-sys-color--accent: #9dd2ff; --lumi-sys-color--accent-container: #dcf1ff; --lumi-sys-color--accent-fixed: #3186ff; --lumi-sys-color--primary: #3186ff; --lumi-sys-color--stroke-default: #e3e3e3; --lumi-sys-color--chart-series-1: #2575fc; --lumi-sys-color--chart-series-2: #5b6e9e; --lumi-sys-color--chart-series-3: #228a49; --lumi-sys-color--chart-series-4: #62991b; --lumi-sys-color--chart-series-5: #1e564d; /* Aliases */ --surface: var(--lumi-sys-color--surface); --surface-dim: var(--lumi-sys-color--surface-dim); --surface-bright: var(--lumi-sys-color--surface-bright); --surface-container: var(--lumi-sys-color--surface-container); --surface-container-high: var(--lumi-sys-color--surface-container-high); --on-surface: var(--lumi-sys-color--on-surface); --on-surface-variant: var(--lumi-sys-color--on-surface-variant); --on-surface-low: var(--lumi-sys-color--on-surface-low); --primary: var(--lumi-sys-color--primary); --accent: var(--lumi-sys-color--accent); --accent-container: var(--lumi-sys-color--accent-container); --accent-fixed: var(--lumi-sys-color--accent-fixed); --stroke-default: var(--lumi-sys-color--stroke-default); --chart-1: var(--lumi-sys-color--chart-series-1); --chart-2: var(--lumi-sys-color--chart-series-2); --chart-3: var(--lumi-sys-color--chart-series-3); --chart-4: var(--lumi-sys-color--chart-series-4); --chart-5: var(--lumi-sys-color--chart-series-5); --spacing-xs: var(--lumi-sys-spacing--xs); --spacing-s: var(--lumi-sys-spacing--s); --spacing-m: var(--lumi-sys-spacing--m); --spacing-l: var(--lumi-sys-spacing--l); --spacing-xl: var(--lumi-sys-spacing--xl); --r-container: var(--lumi-sys-shape--xl-max); --r-l: var(--lumi-sys-shape--large-max); --r-m: var(--lumi-sys-shape--large); --r-full: var(--lumi-sys-shape--full); width: 100%; max-width: 708px; margin: 24px auto; font-family: var(--ff-sans); color: var(--on-surface); box-sizing: border-box; line-height: 1.5; -webkit-font-smoothing: antialiased; } /* Hỗ trợ Dark Mode */ #sprout-calc-wp-widget[data-theme="dark"], body.dark-mode #sprout-calc-wp-widget { --lumi-sys-color--surface: #0f0f0f; --lumi-sys-color--surface-dim: #141414; --lumi-sys-color--surface-bright: #1c1c1c; --lumi-sys-color--surface-container: #141414; --lumi-sys-color--surface-container-high: #1c1c1c; --lumi-sys-color--on-surface: #e0e0e0; --lumi-sys-color--on-surface-default: #e0e0e0; --lumi-sys-color--on-surface-variant: rgba(255, 255, 255, 0.55); --lumi-sys-color--on-surface-de-emphasis: rgba(255, 255, 255, 0.55); --lumi-sys-color--on-surface-low: rgba(255, 255, 255, 0.12); --lumi-sys-color--accent: #1f3b9b; --lumi-sys-color--accent-container: #192967; --lumi-sys-color--accent-fixed: #3186ff; --lumi-sys-color--primary: #9dd2ff; --lumi-sys-color--stroke-default: #2d2f38; --lumi-sys-color--chart-series-1: #9dd2ff; --lumi-sys-color--chart-series-2: #96a7d6; --lumi-sys-color--chart-series-3: #50e389; --lumi-sys-color--chart-series-4: #c8f585; --lumi-sys-color--chart-series-5: #f5f2e6; } #sprout-calc-wp-widget *, #sprout-calc-wp-widget *::before, #sprout-calc-wp-widget *::after { box-sizing: border-box; } /* Typography */ #sprout-calc-wp-widget .lumi-display-s { font-family: var(--ff-sans); font-size: 2rem; line-height: 2.375rem; font-weight: 360; } #sprout-calc-wp-widget .lumi-headline-m { font-family: var(--ff-sans); font-size: 1.5rem; line-height: 1.75rem; font-weight: 450; } #sprout-calc-wp-widget .lumi-headline-s { font-family: var(--ff-sans); font-size: 1.25rem; line-height: 1.5rem; font-weight: 470; } #sprout-calc-wp-widget .lumi-body-m { font-family: var(--ff-sans); font-size: 0.9375rem; line-height: 1.25rem; font-weight: 400; } #sprout-calc-wp-widget .lumi-body-s { font-family: var(--ff-sans); font-size: 0.8125rem; line-height: 1.0625rem; font-weight: 400; } #sprout-calc-wp-widget .lumi-body-s-emphasized { font-family: var(--ff-sans); font-size: 0.8125rem; line-height: 1.0625rem; font-weight: 550; font-variant-numeric: tabular-nums; } #sprout-calc-wp-widget .lumi-caption { font-family: var(--ff-mono); font-style: italic; font-size: 13px; line-height: 20px; font-weight: 400; } #sprout-calc-wp-widget .lumi-code { font-family: var(--ff-mono); font-size: 15px; line-height: 20px; font-weight: 400; } /* Buttons (Scoped) */ #sprout-calc-wp-widget button { appearance: none; -webkit-appearance: none; display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 36px; padding: 8px 18px; font-family: var(--ff-sans); font-size: 13px; font-weight: 500; line-height: 18px; color: var(--on-surface); background-color: var(--surface-bright); border: 1px solid var(--stroke-default); border-radius: 999px; cursor: pointer; user-select: none; transition: background-color 0.15s, color 0.15s, border-color 0.15s, transform 0.1s; text-decoration: none; margin: 0; } #sprout-calc-wp-widget button:hover { background-color: var(--surface-container-high); } #sprout-calc-wp-widget button:active { transform: scale(0.98); } #sprout-calc-wp-widget .lumi-btn.is-selected, #sprout-calc-wp-widget .lumi-btn[aria-pressed="true"] { background-color: var(--accent-container); color: var(--on-surface); border-color: transparent; } /* Slider (Scoped) */ #sprout-calc-wp-widget .lumi-slider-row { display: flex; flex-direction: column; gap: var(--spacing-xs, 4px); width: 100%; } #sprout-calc-wp-widget .lumi-slider { appearance: none; -webkit-appearance: none; width: calc(100% + 28px); margin: 0 -14px; height: 40px; background: transparent; cursor: pointer; border: none; padding: 0; } #sprout-calc-wp-widget .lumi-slider:focus { outline: none; } #sprout-calc-wp-widget .lumi-slider::-webkit-slider-runnable-track { height: 4px; --thumb-center: calc(14px + (100% - 28px) * (var(--progress, 14.28%) / 100%)); --active-end: calc(var(--thumb-center) - 8px + (var(--progress, 14.28%) / 100%) * 6px); background-image: radial-gradient(circle at calc(100% - 18px) center, var(--on-surface-variant) 2px, transparent 2.5px), linear-gradient(to right, transparent 0, transparent 14px, var(--on-surface) 14px, var(--on-surface) var(--active-end), transparent var(--active-end), transparent calc(var(--thumb-center) + 8px), var(--stroke-default) calc(var(--thumb-center) + 8px), var(--stroke-default) calc(100% - 16px), transparent calc(100% - 16px), transparent 100%); border-radius: 999px; } #sprout-calc-wp-widget .lumi-slider::-webkit-slider-thumb { appearance: none; -webkit-appearance: none; width: 32px; height: 32px; border-radius: 50%; background-color: transparent; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Crect x='14' y='6' width='4' height='20' rx='2' fill='%23000000'/%3E%3C/svg%3E"); background-size: 32px 32px; background-repeat: no-repeat; background-position: center; border: none; margin-top: -14px; cursor: pointer; transition: background-color 0.15s; } #sprout-calc-wp-widget[data-theme="dark"] .lumi-slider::-webkit-slider-thumb, body.dark-mode #sprout-calc-wp-widget .lumi-slider::-webkit-slider-thumb { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Crect x='14' y='6' width='4' height='20' rx='2' fill='%23ffffff'/%3E%3C/svg%3E"); } #sprout-calc-wp-widget .lumi-slider:hover::-webkit-slider-thumb { background-color: var(--on-surface-low); } #sprout-calc-wp-widget .lumi-slider-value { display: flex; align-items: center; justify-content: center; min-width: 64px; height: 40px; padding: 0 12px; background-color: var(--surface-dim); border-radius: 16px; font-family: var(--ff-sans); font-size: 15px; font-weight: 540; font-variant-numeric: tabular-nums; color: var(--on-surface); } /* Layout Components */ #sprout-calc-wp-widget .outer-shell { background-color: var(--surface-bright); border: 1px solid var(--stroke-default); border-radius: var(--r-container, 40px); padding: var(--spacing-xl, 20px); display: flex; flex-direction: column; gap: var(--spacing-xl, 20px); box-shadow: var(--lumi-sys-elevation--level1); } @media (min-width: 520px) { #sprout-calc-wp-widget .outer-shell { padding: 28px; } } #sprout-calc-wp-widget .header-block { display: flex; flex-direction: column; gap: var(--spacing-xs, 4px); } #sprout-calc-wp-widget .header-meta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--spacing-s, 8px); } #sprout-calc-wp-widget .target-pill { background-color: var(--surface-dim); color: var(--on-surface); border-radius: var(--r-full, 999px); padding: 6px 14px; display: inline-flex; align-items: center; gap: 6px; } #sprout-calc-wp-widget .metrics-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(175px, 1fr)); gap: var(--spacing-m, 12px); } #sprout-calc-wp-widget .metric-box { background-color: var(--surface-dim); border-radius: var(--r-l, 24px); padding: var(--spacing-l, 16px); display: flex; flex-direction: column; justify-content: space-between; gap: var(--spacing-xs, 4px); } #sprout-calc-wp-widget .metric-unit { color: var(--on-surface-variant); margin-inline-start: 4px; } #sprout-calc-wp-widget .controls-section { display: flex; flex-direction: column; gap: var(--spacing-l, 16px); padding-top: var(--spacing-xs, 4px); } #sprout-calc-wp-widget .slider-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: var(--spacing-xs, 4px); } #sprout-calc-wp-widget .method-group { display: flex; flex-direction: column; gap: var(--spacing-s, 8px); } #sprout-calc-wp-widget .method-buttons { display: flex; flex-wrap: wrap; gap: var(--spacing-s, 8px); } #sprout-calc-wp-widget .method-note { background-color: var(--surface-dim); border-radius: var(--r-m, 16px); padding: 12px 16px; display: flex; flex-direction: column; gap: 4px; } #sprout-calc-wp-widget .chart-section { display: flex; flex-direction: column; gap: var(--spacing-s, 8px); } #sprout-calc-wp-widget .chart-header { display: flex; justify-content: space-between; align-items: baseline; flex-wrap: wrap; gap: var(--spacing-xs, 4px); } #sprout-calc-wp-widget .footnote-bar { padding-top: var(--spacing-xs, 4px); border-top: 1px solid var(--on-surface-low); display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--spacing-s, 8px); }
Quy đổi theo phác đồ Đại học Johns Hopkins (2,1 μmol/kg/ngày) cho mầm tươi 4 ngày tuổi
So sánh lượng mầm tươi cần ăn mỗi ngày (g/ngày)
Càng ít gam càng dễ cho bé uốngKhông thể tải biểu đồ
Vui lòng thử tải lại trang.
3.4. Nếu là thực phẩm chức năng, có sản phẩm nào nổi tiếng không?
Trong giới y sinh học (đặc biệt là cộng đồng can thiệp tự kỷ tại Mỹ và châu Âu), thị trường TPCN Sulforaphane được sàng lọc rất khắt khe vì nhiều dòng giá rẻ trên Amazon thực chất chỉ là “bột bông cải xanh sấy khô” không còn hoạt tính.
Dưới đây là 5 thương hiệu nổi tiếng, uy tín nhất đã được kiểm chứng qua các thử nghiệm lâm sàng độc lập (của Johns Hopkins, Đại học Bắc Carolina…) và được các bác sĩ Y sinh (MAPS doctors) khuyên dùng nhiều nhất:
1. Avmacol (của hãng Nutramax Laboratories – Mỹ) — “Tiêu chuẩn vàng” trong nghiên cứu
-
Vì sao nổi tiếng nhất? Đây chính là sản phẩm đích danh được Đại học Johns Hopkins chọn sử dụng trong các thử nghiệm lâm sàng chính thức về tự kỷ (nghiên cứu của GS. Zimmerman năm 2021), cũng như hàng chục thử nghiệm tại Mỹ.
-
Cơ chế: Chứa bộ đôi chuẩn hóa Glucoraphanin (từ hạt bông cải xanh) + Enzyme Myrosinase hoạt tính.
-
Các dòng sản phẩm phù hợp cho trẻ:
-
Avmacol Regular Strength (Viên nén tiêu chuẩn): Mỗi viên cung cấp khoảng 15 mg Glucoraphanin (chuyển hóa ra khoảng 5–6 mg Sulforaphane thực tế).
-
Avmacol Extra Strength: Hàm lượng gấp đôi (khoảng 30 mg Glucoraphanin/viên), ngoài ra có bổ sung thêm chiết xuất nấm Maitake giúp tăng hấp thu.
-
-
Ưu/Nhược điểm: Độ tin cậy và tính ổn định số 1. Nhược điểm là dạng viên nén (tablet) nên với trẻ nhỏ phải dùng dụng cụ nghiền thuốc (pill crusher) nghiền mịn rồi trộn vào sốt táo hoặc sữa chua.
2. BrocElite (của hãng Mara Labs – Mỹ) — Dạng Sulforaphane tự do ổn định hóa
-
Vì sao nổi tiếng? Do cựu nhà nghiên cứu từ Johns Hopkins đồng sáng lập. Thay vì bắt cơ thể tự chuyển hóa trong ruột, hãng dùng công nghệ chiết xuất tự nhiên để tạo ra Sulforaphane tự do đã được ổn định hóa (Stabilized Free Sulforaphane) ngay trong viên nang.
-
Hàm lượng: Mỗi viên chứa 5 mg Sulforaphane thực tế (kèm theo PEITC – một hợp chất chống viêm thần kinh khác từ họ cải).
-
Ưu/Nhược điểm: Không phụ thuộc vào việc đường ruột của trẻ tốt hay xấu, uống vào hấp thu thẳng. Viên nang (capsule) rất nhỏ, có thể tháo vỏ nang đổ bột ra pha cho trẻ (nhưng bột có vị hơi cay nồng đặc trưng nên cần giấu kỹ trong đồ ăn có vị đậm).
3. Prostaphane (của hãng Nutrinov – Pháp) — Dạng chuẩn y khoa châu Âu
-
Vì sao nổi tiếng? Trước khi có BrocElite, Prostaphane của Pháp là sản phẩm duy nhất trên thế giới chiết xuất được Sulforaphane tự do ổn định từ hạt bông cải xanh và được bác sĩ Rhonda Patrick (chuyên gia hàng đầu thế giới về Sulforaphane) đánh giá cao nhất.
-
Hàm lượng: Mỗi viên rất nhỏ, chứa chính xác 10 mg Sulforaphane tự do.
-
Ưu/Nhược điểm: Chất lượng cực kỳ cao, viên bé xíu như hạt đậu nên trẻ trên 5–6 tuổi tập nuốt viên rất dễ. Nhược điểm là hàng nội địa Pháp, thường phải đặt mua qua các nhà phân phối châu Âu và cần bảo quản mát cẩn thận khi vận chuyển về Việt Nam.
4. BROQ (Mỹ) — Bản sao công nghệ của Prostaphane tại thị trường Mỹ
-
Sử dụng chính nguồn nguyên liệu độc quyền của Nutrinov (Pháp) nhưng đóng gói và phân phối tại Mỹ. Mỗi viên chứa 10 mg Sulforaphane tự do ổn định. Nếu bạn mua hàng từ Mỹ (ship về Việt Nam) thì tìm mua BROQ sẽ dễ hơn Prostaphane.
5. Jarrow Formulas BroccoMax (Mỹ) — Lựa chọn kinh tế, dễ mua nhất
-
Vì sao nổi tiếng? Là dòng phổ thông lâu đời, rất dễ tìm mua trên iHerb hoặc các shop hàng Mỹ với mức giá chỉ bằng 1/3 đến 1/4 so với Avmacol hay BrocElite.
-
Thành phần: Mỗi viên nang chứa khoảng 17.5 mg Glucoraphanin cùng với enzyme Myrosinase hoạt tính.
-
Lưu ý cực kỳ quan trọng khi dùng cho trẻ nhỏ: Viên nang của BroccoMax sử dụng vỏ nang kháng axit dạ dày (Delayed-release capsule – DRcaps) để bảo vệ enzyme Myrosinase xuống tới ruột non. Nếu trẻ biết nuốt nguyên viên thì hiệu quả rất tốt. Nhưng nếu bạn tháo vỏ nang ra trộn vào thức ăn, axit dạ dày sẽ phá hủy một phần enzyme Myrosinase.
-
Mẹo khắc phục nếu tháo vỏ nang BroccoMax: Khi trộn bột thuốc vào thức ăn cho bé, hãy rắc thêm một đầu tăm bột hạt mù tạt hữu cơ (Organic Mustard Seed Powder) — enzyme Myrosinase trong hạt mù tạt cực kỳ bền với axit dạ dày, giúp cứu vãn hoàn toàn quá trình chuyển hóa.
-
Bảng so sánh nhanh để bạn dễ chọn cho bé
Kinh nghiệm tránh mua nhầm hàng “vô tác dụng”
Khi lướt tìm mua TPCN cho bé, nếu bạn thấy một lọ ghi “Broccoli Sprout Extract 500mg” hoặc “Sulforaphane 400mcg” nhưng nhìn vào bảng thành phần (Supplement Facts):
-
Không hề có chữ “Myrosinase” (và cũng không phải dạng Stabilized Free Sulforaphane).
-
Hoặc ghi hàm lượng chỉ tính bằng mcg (microgam) (ví dụ 400 mcg=0.4, tức là phải uống tới 20 viên mới bằng 1 liều nghiên cứu của Johns Hopkins). Hãy bỏ qua ngay những lọ này vì uống vào hầu như không có tác
Tự kỷ - Rối loạn tiêu hoá và men vi sinh (probiotics) nên dùng
Rối loạn phổ tự kỷ (ASD) ở một bộ phận lớn trẻ nhỏ không đơn thuần là câu chuyện về tâm lý hay hành vi đơn độc, mà là hệ quả trực tiếp từ sự rối loạn sâu sắc của Trục Ruột – Miễn dịch – Não bộ (Gut-Immune-Brain Axis). Từ 40% đến 70% trẻ tự kỷ gặp các vấn đề tiêu hóa mạn tính, trong đó ruột non và đại tràng chính là “tâm chấn” khởi phát phản ứng viêm âm ỉ truyền thẳng lên hệ thần kinh trung ương.
Đường ruột là nơi chứa 70–80% tế bào miễn dịch của cơ thể. Các nghiên cứu tiêu hóa học chỉ ra rằng từ 40% đến 70% trẻ tự kỷ có các triệu chứng tiêu hóa đi kèm (táo bón mãn tính, phân sống, tiêu chảy, chướng bụng), và nguyên nhân sâu xa là do tình trạng viêm niêm mạc ruột âm ỉ:
-
Nghiên cứu của Đại học Y Harvard & Bệnh viện Đa khoa Massachusetts (de Magistris, Alessio Fasano et al. – JPGN, 2010 & Fiorentino et al. – Molecular Autism, 2016): Giáo sư Alessio Fasano (người phát hiện ra protein Zonulin điều khiển độ mở của hàng rào ruột) đã chứng minh có tới 36,7% trẻ tự kỷ bị tăng tính thấm thành ruột (“rò rỉ ruột” – Leaky Gut) so với dưới 5% ở dân số bình thường. Khi xét nghiệm mẫu mô ruột và não của người tự kỷ (2016), nhóm Harvard phát hiện sự suy giảm nghiêm trọng các protein liên kết chặt (tight junctions như Claudin, Occludin) ở cả hàng rào niêm mạc ruột lẫn hàng rào máu não.
-
Nghiên cứu mô bệnh học niêm mạc ruột của Torrente et al. (Molecular Psychiatry, 2002) & Ashwood et al. (Journal of Clinical Immunology, 2003–2004): Nội soi và sinh thiết trực tiếp niêm mạc ruột non và đại tràng của trẻ tự kỷ có triệu chứng tiêu hóa cho thấy sự thâm nhiễm dày đặc của các tế bào lympho T (CD3+,CD8+), tế bào γδ T và sự tăng tiết mạnh chất gây viêm TNF-α ngay tại lớp biểu mô ruột, trong khi chất chống viêm tự nhiên là IL-10 lại bị suy giảm nặng nề.
-
Nghiên cứu về rối loạn hệ vi sinh và viêm ruột (Rose, Ashwood et al. – Brain, Behavior, and Immunity, 2018):Xác nhận trẻ tự kỷ có vấn đề tiêu hóa sở hữu hệ vi sinh vật đường ruột mất cân bằng (loạn khuẩn), dẫn đến niêm mạc ruột liên tục tiết ra các cytokine gây viêm (IL-5, IL-15, IL-17) và làm suy yếu hàng rào bảo vệ ruột.
Phần 1: Cơ chế Rối loạn Tiêu hóa, Hấp thu ở Ruột non và Chuyển hóa ở Trẻ Tự kỷ
Ruột non là cơ quan đảm nhiệm hơn 90% quá trình phân giải thức ăn, hấp thu vi chất dinh dưỡng và chứa hệ thống bạch huyết miễn dịch lớn nhất cơ thể (mảng Peyer). Ở trẻ tự kỷ thuộc phân nhóm miễn dịch – chuyển hóa, khu vực này xảy ra 4 đứt gãy sinh học nghiêm trọng:
1. Suy giảm Enzyme tiêu hóa tại bờ bàn chải ruột non & Thuyết “Opioid ngoại sinh”
- Kém phân giải Carbohydrate và Đạm: Các nghiên cứu sinh thiết ruột non ở trẻ tự kỷ (như của ĐH Harvard và ĐH Columbia) phát hiện sự thiếu hụt rõ rệt các enzyme tại bờ bàn chải ruột non (như lactase, sucrase, isomaltase và đặc biệt là enzyme DPP-IV).
- Sự hình thành chất gây nghiện thần kinh (Opioid Peptides): Do thiếu enzyme DPP-IV, đạm sữa bò (Casein) và đạm lúa mì (Gluten) không được cắt nhỏ hoàn toàn thành các axit amin đơn lẻ mà dừng lại ở dạng các chuỗi peptide ngắn là Casomorphin và Gliadorphin.
- Hệ quả: Phần thức ăn không tiêu hóa hết bị đẩy xuống dưới gây phân sống, lổn nhổn cặn; đồng thời phần đường/tinh bột dư thừa bị vi khuẩn và nấm men tại ruột non lên men mạnh mẽ (gây hội chứng quá phát vi khuẩn ruột non – SIBO và nhiễm nấm Candida), sinh ra khí gas làm bụng trẻ luôn chướng căng.
2. Hội chứng “Rò rỉ ruột” (Leaky Gut) và Quá tải độc tố nội sinh
- Ở ruột non bình thường, các tế bào biểu mô liên kết chặt chẽ với nhau bằng hệ thống “khóa kéo” protein (tight junctions như Claudin, Occludin). Ở trẻ tự kỷ (theo nghiên cứu của GS Alessio Fasano – ĐH Harvard), nồng độ protein Zonulin tăng cao làm bung các mối nối này, tạo ra các khe hở trên thành ruột non.
- Qua các khe hở này, độc tố vỏ vi khuẩn (LPS), độc tố nấm Candida (Acetaldehyde, Arabinose), độc tố vi khuẩn Clostridia (HPHPA) và các mảnh peptide Casomorphin/Gliadorphin lọt thẳng vào mạch máu. Khi lên đến não, chúng gắn vào thụ thể thần kinh khiến trẻ rơi vào trạng thái lơ mơ như “say rượu”, cười vô cớ, đi nhón gót, tăng động hoặc bùng nổ các cơn la hét, tự làm đau.
3. Kích hoạt “Bão viêm âm ỉ” (Th17 / IL-17A) từ Ruột lên Não
- Khi dị nguyên và độc tố tràn qua thành ruột non vào máu, hệ miễn dịch lập tức phát lệnh báo động. Các tế bào miễn dịch Th17 tại thành ruột tiết ra hàng loạt cytokine tiền viêm (TNF-α, IL-1β, IL-6 và IL-17A nền).
- Lượng cytokine viêm rò rỉ liên tục mỗi ngày đi qua hàng rào máu não, làm cho các “ổ khóa” thụ thể trên vùng vỏ não cảm giác (S1DZ) bị “nhờn” và kích thích tế bào miễn dịch trong não (Microglia) ở vỏ não và tiểu não nổi loạn. Hậu quả là nơ-ron thần kinh bị phóng điện quá mức (hyperactivity), làm đứt gãy khả năng giao tiếp mắt và ngôn ngữ của trẻ.
4. Kém hấp thu Vi chất và Suy giảm Chuyển hóa Năng lượng Ty thể (CDR)
- Thiếu hụt nguyên liệu tạo chất dẫn truyền thần kinh: Viêm niêm mạc ruột non làm xẹp các nhung mao ruột, khiến trẻ dù ăn được nhưng không hấp thu được Sắt, Kẽm, Magie, Vitamin nhóm B (B6, B9, B12), Vitamin D3 và Axit amin (như Tryptophan). Thiếu Kẽm và B6 làm não không tổng hợp được GABA (chất làm dịu thần kinh) và Serotonin/Melatonin (chất điều hòa cảm xúc và giấc ngủ).
- Kẹt trong “Phản ứng Nguy hiểm Tế bào” (CDR) và suy giảm Ty thể: Độc tố từ ruột và gốc tự do làm suy yếu nhà máy năng lượng Ty thể (tăng Lactate, giảm ATP) và làm cạn kiệt chất chống oxy hóa chủ đạo là Glutathione, đồng thời kích thích sinh ra kháng thể khóa cổng vận chuyển Folate vào não (FRAA).
Phần 2: Nhận diện Biểu hiện Lâm sàng và Xét nghiệm Kiểm tra
1. Các dấu hiệu bên ngoài cảnh báo trẻ đang bị viêm & loạn khuẩn ruột
- Tư thế giảm đau ngụy trang (Posturing): Trẻ hay nằm sấp đè chặt bụng xuống sàn lạnh, vắt ngang bụng qua thành ghế sofa, đùi bố mẹ hoặc ấn tay vào bụng; hay ưỡn lưng, nhai áo quần (do trào ngược thầm lặng).
- Đặc điểm phân bất thường: Táo bón vón cục như phân dê hoặc phân sống lổn nhổn cặn rau/thịt; nếu nhiễm nấm Candida thì phân thường xốp có bọt khí, bọc dịch nhầy trắng/vàng, mùi chua khẳn như men rượu/bia kèm theo vòng da tấy đỏ rực quanh lỗ hậu môn gây ngứa rát.
- Giấc ngủ và Thần kinh: Khó vào giấc, trằn trọc, hay bật dậy lúc 1–3 giờ sáng khóc thét hoặc cười khúc khích vô cớ; quầng mắt thâm tím (allergic shiners), cực kỳ kén ăn nhưng lại “nghiện” đồ ngọt, sữa bò, bánh mì/mì gói.
2. Các xét nghiệm kiểm tra (Thực hiện được tại Việt Nam)
- Xét nghiệm Phân (Sàng lọc không xâm lấn): Định lượng Fecal Calprotectin (chỉ số vàng đo viêm niêm mạc ruột), tổng phân tích phân tìm cặn dư tiêu hóa (hạt mỡ, sợi cơ), đo độ pH phân và soi tìm nấm Candida.
- Xét nghiệm Máu cơ bản & Chuyên sâu: hs-CRP (đo viêm mạch máu âm ỉ), Công thức máu (chú ý bạch cầu ái toan Eosinophils), Ferritin, Sắt, Kẽm, Vitamin D3, B12, Homocysteine, định lượng cytokine IL-6, kháng thể liên cầu khuẩn ASLO (tầm soát PANDAS) và bảng dị ứng thực phẩm IgE / IgG. (Các chỉ số đặc biệt như Zonulin, kháng thể Folate FRAA hoặc Axit hữu cơ niệu OAT cần gửi mẫu qua đơn vị liên kết quốc tế).
Phần 3: Các Chủng Men Vi sinh Đích và Thực phẩm Chức năng Khuyên dùng
Để phục hồi khả năng tiêu hóa – hấp thu tại ruột non, dập tắt nấm Candida và mở khóa giao tiếp qua Trục Ruột – Não, cha mẹ cần chọn đúng phân chủng (Strain) lợi khuẩn và các hoạt chất sinh học đã có chứng nhận lâm sàng:
1. Ba nhóm Chủng Men Vi sinh Chủ lực và Sản phẩm tương ứng
Nhóm 1: Nấm men Saccharomyces boulardii (Chiến binh quét sạch nấm Candida và độc tố ruột)
- Cơ chế: Là nấm men vi sinh kích thước lớn, kháng hoàn toàn axit dạ dày và thuốc kháng sinh. Nó hoạt động như “chiếc chổi” quét sạch nấm Candida, trung hòa độc tố vi khuẩn Clostridia, làm săn khuôn phân (trị phân sống, nhầy bọt, mùi chua) và tăng tiết kháng thể sIgA bảo vệ niêm mạc ruột non.
- Sản phẩm tiêu biểu:
- Optibac “For Bowel Calm” (Hộp màu Nâu Cam – Anh): Ưu tiên số 1 cho trẻ tự kỷ vì chứa 5 tỷ CFU (250mg) S. boulardii tinh khiết, không chứa đường sữa Lactose (Dairy-free), không Gluten.
- Bioflora 100mg/200mg (Pháp) hoặc Normagut 250mg: Dễ mua tại các nhà thuốc Việt Nam (chứa chủng chuẩn S. boulardii CNCM I-745, nhưng lưu ý gói Bioflora có chứa một lượng nhỏ tá dược đường Lactose).
- Klaire Labs Saccharomyces Boulardii (Mỹ): Dòng chuyên biệt cho trẻ tự kỷ.
Nhóm 2: Limosilactobacillus reuteri (Phục hồi ruột non, kháng viêm TNF-α & Kích thích tiết Oxytocin)
- Cơ chế: Cư trú ngay tại dạ dày và ruột non, tiết chất kháng khuẩn tự nhiên Reuterin. Đặc biệt, phân chủng L. reuteri ATCC PTA 6475 đã được chứng minh trên tạp chí Cell và Neuron có khả năng ức chế trực tiếp cytokine gây viêm TNF-α tại thành ruột và gửi tín hiệu qua dây thần kinh Phế vị (Vagus nerve) lên vùng dưới đồi của não để kích thích sản sinh hormone gắn kết xã hội Oxytocin (cơ chế tương tự như khi trẻ có “Hiệu ứng sốt”).
- Sản phẩm tiêu biểu:
- BioGaia Gastrus (Thụy Điển – Dạng viên nhai): Sản phẩm duy nhất chứa tổ hợp kép cả 2 chủng L. reuteri ATCC PTA 6475 (chuyên sâu cho Trục Ruột – Não & kháng viêm) và L. reuteri DSM 17938 (điều hòa nhu động ruột). Loại này hiện đang không bán sẵn tại Việt Nam.
- BioGaia Protectis (Thụy Điển – Dạng giọt/viên): Chỉ chứa 1 chủng DSM 17938, phù hợp cho trẻ nhỏ dưới 2 tuổi trị táo bón, nôn trớ cơ bản. Loại này đang bán nhiều ở hiệu thuốc.
Nhóm 3: Tổ hợp Bifidobacterium longum, B. infantis, B. breve & Lactobacillus plantarum/rhamnosus (Hàn gắn “Rò rỉ ruột” và làm dịu thần kinh)
- Cơ chế: Nhóm Bifidobacterium định cư ở đại tràng giúp lên men chất xơ tạo ra axit béo chuỗi ngắn (Butyrate) – nguồn năng lượng trực tiếp để tái tạo tế bào biểu mô ruột, đóng chặt các khe hở Leaky Gut, làm mềm phân trị táo bón và giảm lo âu. Nhóm L. plantarum và L. rhamnosus GG hoạt động mạnh ở ruột non giúp phân giải thức ăn, chống phân sống.
- Sản phẩm tiêu biểu:
- BioAmicus Complete (Canada – Dạng giọt): Chứa trọn bộ 10 chủng lợi khuẩn (có mặt cả Bifidobacterium longum, B. infantis, B. breve, L. plantarum, L. rhamnosus và L. reuteri cơ bản). Hoàn toàn không chứa đạm sữa, không Gluten, không mùi vị.
- Optibac Babies & Children (Optibac Hồng – Anh): Dạng gói bột chứa 3 tỷ CFU (B. breve M-16V, B. infantis Rosell-33, L. rhamnosus GG) kèm chất xơ FOS và Vitamin D3, rất mạnh về trị táo bón và giảm dị ứng/chàm.
- Life-Space Probiotic Powder for Children (Úc) hoặc Neuralli MP (chứa chủng L. plantarum PS128 chuyên biệt cho thần kinh tự kỷ).
2. Các Thực phẩm Chức năng Hỗ trợ Hấp thu Ruột non & Mô phỏng “Hiệu ứng sốt”
Để cắt đứt vòng xoắn viêm từ ruột lên não, men vi sinh nên được phối hợp cùng các nhóm dưỡng chất sinh học sau:
- Hoạt chất Sulforaphane (Mô phỏng Hiệu ứng sốt & Kháng viêm thần kinh): Chiết xuất từ mầm bông cải xanh (Broccoli Sprout Extract – như dòng Avmacol của Mỹ, BrocElite hoặc Swanson/Jarrow Sulforaphane). Giúp bật công tắc Nrf2 và Protein sốc nhiệt (HSPs), vừa hạ nồng độ IL-17A viêm âm ỉ ở máu ngoại vi để chống “nhờn” thụ thể, vừa đi qua hàng rào máu não làm dịu vùng vỏ não cảm giác S1DZ.
- Kẽm sinh học & L-Glutamine (Hàn gắn niêm mạc ruột non và kích thích vị giác): Kẽm dạng dễ hấp thu (Zinc Picolinate / Zinc Bisglycinate / Zinc Carnosine – như của Thorne, Pure Encapsulations, Nature’s Way, BioCare) giúp tái tạo nhung mao ruột non, sản xuất enzyme tiêu hóa và tổng hợp chất dẫn truyền thần kinh GABA.
- Enzyme tiêu hóa chuyên biệt DPP-IV (Hỗ trợ phân giải Gluten/Casein tại ruột non): Các dòng enzyme như Houston Enzymes (TriEnza / Peptizyde) hoặc Klaire Labs Vital-Zymes giúp cắt đứt chuỗi peptide Casomorphin/Gliadorphin ngay tại ruột non, ngăn chúng thấm vào máu gây “say” thần kinh.
- Omega-3 tinh khiết giàu EPA/DHA & Luteolin (Dập tắt viêm tế bào não): Dầu cá tinh khiết chuẩn IFOS (như Nordic Naturals Ultimate Omega / Children’s DHA, Wiley’s Finest) kết hợp hoạt chất Luteolin (như NeuroProtek) giúp khóa tế bào Mast và làm dịu tế bào Microglia đang bị viêm trong não.
-
Luteolin và Quercetin (Flavonoid tự nhiên): Nghiên cứu của Giáo sư Theoharis Theoharides (Đại học Tufts, Mỹ) chứng minh Luteolin (chiết xuất từ hoa hòe, cúc La Mã, hạt cần tây) có khả năng khóa chặt tế bào Mast (Mast cells) và làm dịu tế bào Microglia trong não, giảm rõ rệt chỉ số IL-6 và TNF-α ở trẻ tự kỷ.
-
Curcumin (dạng Phytosome/Nano dễ hấp thu) và N-Acetylcysteine (NAC): NAC là tiền chất tạo ra Glutathione(chất chống oxy hóa mạnh nhất của cơ thể), đã được thử nghiệm lâm sàng tại Đại học Stanford chứng minh giúp giảm mạnh sự cáu gắt, kích động và viêm thần kinh bằng cách hạ nồng độ Glutamate dư thừa ở khớp thần kinh.
Phần 4: Bảng Tổng hợp Phác đồ Phối hợp Thực tế trong Ngày cho Cha mẹ
Dưới đây là lịch trình mẫu, chỉ để tham khảo chứ không phải đơn thuốc hay kiến nghị nên dùng và tránh việc các chất cạnh tranh hấp thu lẫn nhau và hạn chế phản ứng sốc độc tố nấm chết (Die-off). Mọi đơn thuốc hay việc sử dụng đều phải có sự hướng dẫn của bác sỹ.
| Thời điểm trong ngày | Sản phẩm / Hoạt chất sử dụng | Liều lượng chuẩn gợi ý | Mục đích sinh học tại Ruột & Não |
|---|---|---|---|
| Sáng (Trước ăn 30p hoặc đầu bữa ăn) | Optibac For Bowel Calm (hoặc Bioflora / Normagut) | 1/2 – 1 viên (tháo vỏ nang pha nước nguội < 30°C) | Nấm men S. boulardii tráng màng bảo vệ ruột non, bẫy nấm Candida và trung hòa độc tố. |
| Sáng (Ngay sau ăn sáng 30p) | BioAmicus Complete (hoặc Optibac Hồng) + Sulforaphane | 5 giọt BioAmicus + Liều Sulforaphane theo cân nặng | Cấy 10 chủng lợi khuẩn (B. longum, L. plantarum…) phân giải thức ăn; Sulforaphane bật công tắc Nrf2/HSPs trên não. |
| Trưa (Trong hoặc ngay sau bữa ăn) | Omega-3 (EPA/DHA) + Vitamin D3/K2 (và Enzyme DPP-IV đầu bữa) | Theo hàm lượng EPA/DHA khuyến nghị theo tuổi | Hấp thu tối đa qua chất béo bữa ăn; kháng viêm màng tế bào thần kinh và điều hòa miễn dịch Th17. |
| Chiều (Sau ăn 1–2 giờ, cách xa men) | Kẽm sinh học (Zinc) | 5mg – 15mg kẽm nguyên tố (tùy tuổi và xét nghiệm) | Tái tạo nhung mao ruột non, khóa chặt kẽ hở Leaky Gut mà không cản trở lợi khuẩn. |
| Tối (Sau ăn tối 30–60p / Trước ngủ) | BioGaia Gastrus (Sau khi đã tắm nước ấm 37.5–38.5°C) | 1/2 – 1 viên nhai (hoặc nghiền mịn pha nước nguội) | Chủng ATCC PTA 6475 bám dính suốt đêm để ức chế TNF-α và kích thích dây thần kinh phế vị tiết Oxytocin giúp bé ngủ sâu. |
3 Nguyên tắc Vàng khi bắt đầu áp dụng
- Quy tắc “Đi chậm và Từng thứ một” (Start Low, Go Slow): Không bao giờ đưa tất cả các sản phẩm vào cùng một ngày. Hãy bắt đầu bằng việc cắt giảm đường tinh luyện/sữa bò/bột mì, đưa S. boulardii (1/2 liều) hoặc BioAmicus vào trước trong 4–5 ngày; khi bụng bé êm mới đưa tiếp BioGaia Gastrus, rồi sau 1–2 tuần mới thêm Kẽm, Omega-3 và Sulforaphane để quan sát rõ phản ứng của con.
- Bảo vệ hoạt lực lợi khuẩn: Tuyệt đối không pha bất kỳ loại men vi sinh nào vào nước nóng, cháo nóng trên 37°C. Luôn lắc kỹ lọ BioAmicus trước khi nhỏ và bảo quản ngăn mát tủ lạnh sau khi mở nắp.
- Đồng hành cùng vận động và giấc ngủ: Kết hợp tắm bồn nước ấm 15–20 phút mỗi tối (liệu pháp nhiệt an toàn) và vận động thể chất ra mồ hôi ban ngày để kích thích tự nhiên hệ thống Nhân lục – Noradrenaline và Oxytocin, tạo bàn đạp sinh học vững chắc nhất cho quá trình can thiệp giáo dục của bé.
Choline - Trí nhớ và khả năng học hỏi
[Tự kỷ] CAST: Bài kiểm tra phát hiện sớm dấu hiệu rối loạn phổ tự kỷ ở trẻ 4 – 11 tuổi
(function() { const host = document.getElementById('cast-wp-host'); if (!host) return; const placeholder = document.createComment('cast-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // 37 câu hỏi chuẩn CAST (Cambridge University) // r: Đáp án tính 1 điểm ('YES' hoặc 'NO', 'CTRL' = 6 câu kiểm soát không tính điểm: 3, 4, 12, 22, 26, 33) // dom: 'soc' (Tương tác xã hội & Bạn bè - 12 câu), 'com' (Giao tiếp & Ngữ dụng - 12 câu), 'rrb' (Cứng nhắc & Sở thích hẹp - 7 câu), 'ctrl' (Kiểm soát - 6 câu) const questions = [ { id: 1, r: 'NO', dom: 'soc', cat: 'Tương tác bạn bè', t: 'Trẻ có dễ dàng tham gia chơi cùng với những đứa trẻ khác không?' }, { id: 2, r: 'NO', dom: 'com', cat: 'Giao tiếp hai chiều', t: 'Trẻ có tự nhiên bắt chuyện và trò chuyện qua lại với bạn một cách thoải mái không?' }, { id: 3, r: 'CTRL', dom: 'ctrl', cat: 'Câu kiểm soát phát triển (Không tính điểm)', t: 'Trẻ bắt đầu biết nói từ khi tròn 2 tuổi phải không?' }, { id: 4, r: 'CTRL', dom: 'ctrl', cat: 'Câu kiểm soát phát triển (Không tính điểm)', t: 'Trẻ có thích các hoạt động thể thao, vận động thể chất không?' }, { id: 5, r: 'YES', dom: 'rrb', cat: 'Trí nhớ chi tiết / Học vẹt', t: 'Việc ghi nhớ chính xác các thông tin, dữ kiện chi tiết có phải là điều cực kỳ quan trọng đối với trẻ không?' }, { id: 6, r: 'NO', dom: 'com', cat: 'Luân phiên hội thoại', t: 'Trẻ có hiểu và thực hiện tốt việc chờ đến lượt khi trò chuyện qua lại với người khác không?' }, { id: 7, r: 'NO', dom: 'com', cat: 'Chơi giả vờ / Tưởng tượng', t: 'Trẻ có thích chơi các trò đóng vai, giả vờ hoặc tưởng tượng không?' }, { id: 8, r: 'YES', dom: 'rrb', cat: 'Tính cứng nhắc / Quy tắc', t: 'Trẻ có thích làm mọi việc lặp đi lặp lại theo đúng một cách cố định không?' }, { id: 9, r: 'NO', dom: 'com', cat: 'Duy trì cuộc trò chuyện', t: 'Trẻ có thể tự duy trì một cuộc trò chuyện qua lại nhiều lượt với người khác không?' }, { id: 10, r: 'NO', dom: 'soc', cat: 'Hòa nhập nhóm bạn', t: 'Trẻ có dễ dàng kết bạn và hòa nhập với các bạn cùng trang lứa ở trường không?' }, { id: 11, r: 'NO', dom: 'com', cat: 'Quan tâm chủ đề của người nghe', t: 'Khi nói chuyện, trẻ có quan tâm xem người đối diện có hứng thú với chủ đề trẻ đang nói không?' }, { id: 12, r: 'CTRL', dom: 'ctrl', cat: 'Câu kiểm soát phát triển (Không tính điểm)', t: 'Trẻ có thích đọc sách phù hợp với lứa tuổi của mình không?' }, { id: 13, r: 'NO', dom: 'soc', cat: 'Sở thích chung với bạn đồng trang lứa', t: 'Trẻ có hầu hết các sở thích giống như những đứa trẻ khác cùng độ tuổi không?' }, { id: 14, r: 'YES', dom: 'rrb', cat: 'Sở thích hẹp / Chuyên sâu', t: 'Trẻ có một mối quan tâm/sở thích đặc biệt nào đó chiếm gần hết thời gian khiến trẻ ít làm việc khác không?' }, { id: 15, r: 'NO', dom: 'soc', cat: 'Duy trì tình bạn', t: 'Trẻ có những người bạn thân thực sự (chứ không chỉ là người quen biết chung chung) không?' }, { id: 16, r: 'NO', dom: 'soc', cat: 'Chia sẻ sự chú ý', t: 'Trẻ có thường mang những thứ trẻ thích hoặc tự làm được lại đưa cho bạn xem để khoe không?' }, { id: 17, r: 'NO', dom: 'com', cat: 'Kể chuyện xã hội', t: 'Trẻ có thích nói chuyện tào lao vui vẻ hoặc chia sẻ cảm xúc hàng ngày với bạn không?' }, { id: 18, r: 'YES', dom: 'rrb', cat: 'Trí nhớ máy móc khác thường', t: 'Trẻ có trí nhớ chi tiết khác thường về những thông tin mà hầu hết người khác đều quên ngay không?' }, { id: 19, r: 'NO', dom: 'soc', cat: 'Giao tiếp mắt', t: 'Trẻ có sử dụng giao tiếp mắt tự nhiên và phù hợp khi nói chuyện với người khác không?' }, { id: 20, r: 'YES', dom: 'com', cat: 'Ngôn ngữ hình thức / Khác lạ', t: 'Giọng điệu của trẻ có vẻ đều đều, khác thường hoặc cách dùng từ quá sách vở/già dặn so với tuổi không?' }, { id: 21, r: 'NO', dom: 'soc', cat: 'Tầm quan trọng của con người', t: 'Đối với trẻ, con người (bạn bè, người thân) có quan trọng hơn là các đồ vật/sự vật không?' }, { id: 22, r: 'CTRL', dom: 'ctrl', cat: 'Câu kiểm soát phát triển (Không tính điểm)', t: 'Trẻ đã có thể tự mặc quần áo mà không cần giúp đỡ chưa?' }, { id: 23, r: 'NO', dom: 'soc', cat: 'Kỹ năng luân phiên xã hội', t: 'Trẻ có giỏi việc nhường nhịn và luân phiên khi tham gia hoạt động chung với người khác không?' }, { id: 24, r: 'NO', dom: 'soc', cat: 'Chơi nhập vai hợp tác', t: 'Trẻ có chơi đóng vai giả vờ cùng với một hoặc nhiều đứa trẻ khác không?' }, { id: 25, r: 'YES', dom: 'com', cat: 'Thiếu tinh tế xã hội', t: 'Trẻ có hay buột miệng nói hoặc làm những điều thiếu tế nhị, không phù hợp hoàn cảnh xã hội không?' }, { id: 26, r: 'CTRL', dom: 'ctrl', cat: 'Câu kiểm soát phát triển (Không tính điểm)', t: 'Trẻ có thể đếm đến 50 mà không bỏ sót số nào không?' }, { id: 27, r: 'NO', dom: 'soc', cat: 'Nụ cười xã hội', t: 'Trẻ có mỉm cười tự nhiên đáp lại khi tương tác với người khác không?' }, { id: 28, r: 'YES', dom: 'rrb', cat: 'Vận động định hình (Stimming)', t: 'Trẻ có những cử động cơ thể hoặc tay chân lặp đi lặp lại bất thường không?' }, { id: 29, r: 'YES', dom: 'soc', cat: 'Hành vi xã hội một chiều', t: 'Cách cư xử xã hội của trẻ có vẻ thiên về một chiều và luôn muốn mọi thứ phải theo đúng điều kiện của trẻ không?' }, { id: 30, r: 'YES', dom: 'com', cat: 'Tách biệt nội dung hội thoại', t: 'Đôi khi trẻ có nói "thao thao bất tuyệt" về chủ đề của riêng mình mà không liên quan gì đến câu chuyện chung không?' }, { id: 31, r: 'YES', dom: 'rrb', cat: 'Thích chơi một mình', t: 'Trẻ có thích tự chơi các hoạt động tưởng tượng một mình hơn là chơi cùng bạn khác không?' }, { id: 32, r: 'YES', dom: 'com', cat: 'Mất mạch câu chuyện', t: 'Đôi khi trẻ có làm người nghe bối rối vì không giải thích rõ trẻ đang nói về chủ đề gì không?' }, { id: 33, r: 'CTRL', dom: 'ctrl', cat: 'Câu kiểm soát phát triển (Không tính điểm)', t: 'Trẻ đã biết đi xe đạp hai bánh chưa?' }, { id: 34, r: 'YES', dom: 'rrb', cat: 'Áp đặt quy tắc lên bạn bè', t: 'Trẻ có cố gắng áp đặt các thói quen hoặc luật lệ cứng nhắc của bản thân lên bạn cùng chơi không?' }, { id: 35, r: 'NO', dom: 'soc', cat: 'Quan tâm hình ảnh xã hội', t: 'Trẻ có quan tâm đến việc nhóm bạn ở trường nghĩ gì hoặc đánh giá thế nào về mình không?' }, { id: 36, r: 'YES', dom: 'com', cat: 'Độc thoại trong giao tiếp', t: 'Khi nói chuyện, trẻ có thường biến cuộc hội thoại thành bài độc thoại một chiều về sở thích của trẻ không?' }, { id: 37, r: 'YES', dom: 'com', cat: 'Hiểu theo nghĩa đen (Literal)', t: 'Trẻ có gặp khó khăn khi hiểu các câu nói đùa, thành ngữ, ẩn dụ hoặc lời nói mỉa mai không?' } ]; let answers = {}; let filterDom = 'all'; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .cast-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .cast-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .cast-inner { padding: 24px; max-width: 920px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .cast-wrap.is-fullscreen .cast-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .cast-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 0 rgba(37, 99, 235, 0.4); } 70% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 10px rgba(37, 99, 235, 0); } 100% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 0 rgba(37, 99, 235, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #1d4ed8 0%, #2563eb 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Header */ .cast-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .cast-header-text { flex: 1 1 260px; } .cast-title { font-size: 21px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .cast-desc { font-size: 14px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #eff6ff; color: #1d4ed8; border: 1px solid #bfdbfe; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #2563eb; color: #ffffff; border-color: #2563eb; } /* Controls */ .cast-controls { display: flex; flex-direction: column; gap: 10px; margin-bottom: 18px; } .cast-presets { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; } .cast-preset-lbl { font-size: 12.5px; font-weight: 700; color: #475569; margin-right: 4px; } .cast-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; transition: all 0.15s ease; touch-action: manipulation; } .cast-pbtn:hover { background: #f1f5f9; border-color: #94a3b8; } .cast-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } .cast-domain-tabs { display: flex; flex-wrap: wrap; gap: 6px; } .cast-dtab { padding: 6px 12px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .cast-dtab.active { background: #2563eb; color: #ffffff; border-color: #2563eb; } /* Sticky Dashboard */ .cast-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .cast-wrap.is-fullscreen .cast-dash { top: 58px; } .cast-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .cast-score-big { font-size: 24px; font-weight: 800; line-height: 1; } .cast-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .cast-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .cast-bar-bg { height: 10px; background: #334155; border-radius: 5px; overflow: hidden; margin-bottom: 12px; } .cast-bar-fill { height: 100%; width: 0%; background: #10b981; transition: width 0.35s ease, background 0.35s ease; } .cast-pillars { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; font-size: 12px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .cast-pillar-box { background: #1e293b; padding: 7px 10px; border-radius: 8px; } .cast-pillar-val { font-weight: 700; color: #ffffff; font-size: 13.5px; display: block; margin-top: 2px; } /* Danh sách 37 câu hỏi */ .cast-q-item { border: 1px solid #e2e8f0; border-radius: 10px; padding: 14px 16px; margin-bottom: 12px; background: #ffffff; transition: all 0.2s ease; } .cast-q-item.risk-flagged { border-color: #fca5a5; background: #fff5f5; } .cast-q-item.ctrl-item { background: #f8fafc; border-style: dashed; } .cast-q-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; } .cast-q-text { font-size: 14.5px; font-weight: 600; color: #1e293b; line-height: 1.5; flex: 1; } .cast-q-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; } .cast-tag { font-size: 11px; font-weight: 600; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .cast-tag.dom-soc { background: #dbeafe; color: #1d4ed8; } .cast-tag.dom-com { background: #f3e8ff; color: #7e22ce; } .cast-tag.dom-rrb { background: #fef3c7; color: #b45309; } .cast-tag.ctrl { background: #e2e8f0; color: #334155; } .cast-ans-group { display: flex; gap: 8px; flex-shrink: 0; } .cast-abtn { min-width: 78px; padding: 8px 14px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 13.5px; font-weight: 700; color: #334155; cursor: pointer; transition: all 0.15s ease; touch-action: manipulation; } .cast-abtn:hover { border-color: #64748b; } .cast-abtn.sel-safe { background: #10b981; border-color: #10b981; color: #ffffff; } .cast-abtn.sel-risk { background: #ef4444; border-color: #ef4444; color: #ffffff; } .cast-abtn.sel-ctrl { background: #64748b; border-color: #64748b; color: #ffffff; } .cast-result-box { margin-top: 20px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #64748b; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 600px) { .cast-inner { padding: 14px; } .cast-title { font-size: 18px; } .cast-q-head { flex-direction: column; } .cast-ans-group { width: 100%; } .cast-abtn { flex: 1; padding: 10px 14px; } .cast-pillars { grid-template-columns: 1fr; } .cast-pbtn.reset { margin-left: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
Bài Test Sàng Lọc Phổ Tự Kỷ Tuổi Đi Học CAST (4 – 11 Tuổi)
Đánh giá 37 câu hỏi CÓ / KHÔNG theo chuẩn Đại học Cambridge (Anh). Hệ thống tính điểm trên 31 câu chỉ báo (tự động tách riêng 6 câu kiểm soát phát triển chung không tính điểm: câu 3, 4, 12, 22, 26, 33). Ngưỡng điểm cắt chuẩn: ≥ 15 điểm.
• Tổng điểm thấp hơn cả ngưỡng giáp ranh (12 điểm) và ngưỡng cắt chuẩn (15 điểm).
• Trẻ thể hiện khả năng kết bạn, trò chuyện qua lại hai chiều (${com}/12) và hòa nhập nhóm bạn học đường (${soc}/12) phù hợp với lứa tuổi. `; } else if (total < 15) { color = '#f59e0b'; badgeTxt = `VÙNG GIÁP RANH (${total}/31 điểm)`; analysis = ` Kết luận sàng lọc CAST — Vùng Giáp Ranh Cần Lưu Ý (12 – 14 điểm: Đạt ${total}/31 điểm):
• Điểm số tiệm cận ngưỡng cắt lâm sàng (≥ 15 điểm). Hồ sơ 3 trụ cột: Tương tác xã hội (${soc}/12) • Giao tiếp ngữ dụng (${com}/12) • Hành vi cứng nhắc & Sở thích hẹp (${rrb}/7).
• Khuyến nghị: Nên kết hợp đối chiếu thêm bảng sàng lọc từ Giáo viên (như thang ASSQ) và theo dõi kỹ năng hiểu nghĩa bóng, duy trì tình bạn ở trường. `; } else { color = '#ef4444'; badgeTxt = `NGUY CƠ CAO ASD (≥ 15: ${total}/31đ)`; analysis = ` Kết luận sàng lọc CAST — Vượt Ngưỡng Điểm Cắt Lâm Sàng (≥ 15 điểm: Đạt ${total}/31 điểm):
• Kết quả dương tính trên thang CAST với các dấu hiệu đặc trưng ở cả 3 lĩnh vực: Tương tác bạn bè (${soc}/12), Giao tiếp ngữ dụng (${com}/12) và Sở thích chuyên sâu / Tính cứng nhắc (${rrb}/7).
• Hướng xử trí chuẩn: Cần chuyển gửi trẻ thực hiện đánh giá chẩn đoán chuyên sâu bằng ADOS-2 (Module 3), ADI-R và đánh giá năng lực thích ứng Vineland-3 để xây dựng kế hoạch hỗ trợ kỹ năng xã hội học đường. `; } barFillEl.style.background = color; badgeEl.textContent = badgeTxt; badgeEl.style.background = color; badgeEl.style.color = '#ffffff'; resBoxEl.style.borderLeftColor = color; resBoxEl.innerHTML = analysis; updateFloatingFabVisibility(); } function applyPreset(type) { answers = {}; if (type === 'reset') { renderQuestions(); updateSummary(); return; } questions.forEach(function(q) { if (q.r === 'CTRL') answers[q.id] = 'YES'; else answers[q.id] = (q.r === 'YES' ? 'NO' : 'YES'); }); if (type === 'typical') { [5, 14, 18].forEach(function(id) { answers[id] = questions[id - 1].r; }); } else if (type === 'border') { [1, 5, 6, 8, 10, 11, 14, 15, 18, 20, 25, 30, 37].forEach(function(id) { answers[id] = questions[id - 1].r; }); } else if (type === 'hfasd') { [1, 2, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 18, 19, 20, 25, 29, 30, 34, 36, 37].forEach(function(id) { answers[id] = questions[id - 1].r; }); } renderQuestions(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); castWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { castWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 900px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } shadow.querySelectorAll('.cast-pbtn').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-preset')); }; }); shadow.querySelectorAll('#domainTabs .cast-dtab').forEach(function(tab) { tab.onclick = function() { filterDom = this.getAttribute('data-dom'); shadow.querySelectorAll('#domainTabs .cast-dtab').forEach(t => t.classList.remove('active')); this.classList.add('active'); renderQuestions(); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); applyPreset('hfasd'); })();
CAST (Childhood Autism Spectrum Test — trước đây gọi là Childhood Asperger Syndrome Test) là công cụ sàng lọc chuẩn hóa do Trung tâm Nghiên cứu Tự kỷ (ARC) tại Đại học Cambridge (Anh) (Fiona Scott, Simon Baron-Cohen và cộng sự) phát triển.
Mục đích lâm sàng: Phát hiện các dấu hiệu Rối loạn phổ tự kỷ mức độ nhẹ / Tự kỷ chức năng cao (High-Functioning Autism / Asperger) ở trẻ em độ tuổi đi học — nhóm trẻ thường có trí tuệ và ngôn ngữ bề mặt bình thường nhưng gặp rào cản trong giao tiếp xã hội tinh tế, kết bạn và hành vi linh hoạt ở trường.
-
Độ tuổi áp dụng: 4 đến 11 tuổi (Bậc Mầm non lớn & Tiểu học).
-
Người thực hiện: Phụ huynh hoặc người chăm sóc chính trả lời trong khoảng 10 phút.
-
Cấu trúc câu hỏi (37 câu CÓ / KHÔNG):
-
31 câu tính điểm nguy cơ chia vào 3 trụ cột: Tương tác xã hội & Bạn bè (12 câu), Giao tiếp & Ngữ dụng (12 câu), Hành vi cứng nhắc & Sở thích hẹp (7 câu).
-
6 câu kiểm soát phát triển chung không tính điểm: Câu số 3, 4, 12, 22, 26, 33.
-
-
Cách tính điểm & Ngưỡng điểm cắt (Cut-off):
-
Tổng điểm tối đa: 31 điểm (mỗi câu khớp chỉ báo ASD = 1 điểm).
-
điểm: Ngưỡng nguy cơ cao (Positive screen), cần chuyển gửi đánh giá chẩn đoán chuyên sâu (ADOS-2, ADI-R, Vineland-3).
-
12 – 14 điểm: Vùng giáp ranh (Borderline), cần theo dõi sát và đối chiếu thêm đánh giá từ giáo viên.
-
Nguồn: Tài liệu gốc với sự hỗ trợ của AI.
[Đo lường IQ] WPPSI-IV: Thang đo trí tuệ Wechsler dành cho trẻ mẫu giáo và đầu tiểu học (2 – 7 tuổi)
(function() { const host = document.getElementById('wppsi4-wp-host'); if (!host) return; const placeholder = document.createComment('wppsi4-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // Cấu hình 5 Chỉ số Chính (Primary Index Scales) của WPPSI-IV const indexConfigs = { vci: { code: 'vci', short: 'VCI', name: '1. Hiểu Lời nói (Verbal Comprehension - VCI)', color: '#2563eb' }, vsi: { code: 'vsi', short: 'VSI', name: '2. Không gian Thị giác (Visual Spatial - VSI)', color: '#0d9488' }, fri: { code: 'fri', short: 'FRI', name: '3. Tư duy Lưu loát / Logic (Fluid Reasoning - FRI)', color: '#7c3aed' }, wmi: { code: 'wmi', short: 'WMI', name: '4. Trí nhớ Làm việc (Working Memory - WMI)', color: '#f59e0b' }, psi: { code: 'psi', short: 'PSI', name: '5. Tốc độ Xử lý (Processing Speed - PSI)', color: '#dc2626' } }; // ========================================================= // DẢI TUỔI 1: 2 TUỔI 6 THÁNG - 3 TUỔI 11 THÁNG (30 - 47 THÁNG • 7 TIỂU TRẮC NGHIỆM) // ========================================================= const bandYoungSubtests = [ { id: 'RV', idx: 'vci', role: '★ Tính VCI, FSIQ, GAI & VAI', name: '1. Từ vựng Tiếp nhận (Receptive Vocabulary - RV) ★', desc: 'Trẻ nhìn vào 4 bức tranh trên một trang sách và chỉ tay vào bức tranh đúng với từ vựng mà người khám vừa đọc to.', measure: 'Đo lường vốn từ vựng nghe hiểu và khả năng tiếp thu ngôn ngữ sớm (không yêu cầu trẻ phải nói).' }, { id: 'IN', idx: 'vci', role: '★ Tính VCI, FSIQ & GAI', name: '2. Thông tin (Information - IN) ★', desc: 'Ở các câu đầu trẻ chỉ tay chọn tranh; ở các câu sau trẻ trả lời bằng lời các câu hỏi về kiến thức chung xung quanh (bộ phận cơ thể, công dụng đồ vật, con vật).', measure: 'Đo lường khả năng thu nhận, lưu giữ và truy xuất kiến thức thực tế từ môi trường.' }, { id: 'PN', idx: 'vci', role: 'Bổ sung (Tính Chỉ số Tiếp thu Từ vựng VAI)', name: '3. Gọi tên Tranh (Picture Naming - PN) [Thuộc VAI]', desc: 'Trẻ nhìn từng bức tranh đồ vật/con vật quen thuộc trong sách kích thích và gọi đúng tên của sự vật đó.', measure: 'Đo lường vốn từ vựng diễn đạt (Expressive Vocabulary) và khả năng truy xuất từ ngữ.' }, { id: 'BD', idx: 'vsi', role: '★ Tính VSI, FSIQ, GAI & NVI', name: '4. Xếp khối (Block Design - BD) ★', desc: 'Trẻ dùng các khối gỗ 1 màu hoặc 2 màu (Đỏ - Trắng) để xếp lại đúng theo mô hình mẫu người khám vừa làm hoặc theo hình in trong sách.', measure: 'Đo lường khả năng phân tích – tổng hợp không gian thị giác và phối hợp mắt – tay.' }, { id: 'OA', idx: 'vsi', role: '★ Tính VSI, FSIQ, GAI & NVI', name: '5. Lắp ghép Đồ vật (Object Assembly - OA) ★', desc: 'Trẻ được trao các mảnh ghép cắt rời (từ 2 đến 5 mảnh) và phải xoay, ghép chúng lại thành một hình đồ vật/con vật hoàn chỉnh trong thời gian quy định.', measure: 'Đo lường khả năng tổng hợp toàn thể thị giác từ các bộ phận rời rạc (Visual-Spatial Closure).' }, { id: 'PM', idx: 'wmi', role: '★ Tính WMI, FSIQ & NVI', name: '6. Nhớ Tranh ảnh (Picture Memory - PM) ★', desc: 'Trẻ nhìn một trang có 1 hoặc nhiều hình vẽ trong 3–5 giây, sau đó lật sang trang sau có nhiều hình gây nhiễu và chỉ tay vào đúng các hình vừa nhìn thấy.', measure: 'Đo lường trí nhớ làm việc thị giác ngắn hạn và sự tập trung chú ý (100% không cần lời nói).' }, { id: 'ZL', idx: 'wmi', role: '★ Tính WMI & NVI', name: '7. Vị trí Vườn thú (Zoo Locations - ZL) ★', desc: 'Trẻ nhìn các thẻ hình con thú được đặt vào các ô chuồng trên tấm lưới trong vài giây, sau đó người khám cất đi và trẻ phải đặt lại đúng từng con thú vào đúng ô vị trí của nó.', measure: 'Đo lường trí nhớ làm việc không gian – thị giác (Visual-Spatial Working Memory).' } ]; // ========================================================= // DẢI TUỔI 2: 4 TUỔI 0 THÁNG - 7 TUỔI 7 THÁNG (48 - 91 THÁNG • 10 TIỂU TRẮC NGHIỆM) // ========================================================= const bandOldSubtests = [ { id: 'IN', idx: 'vci', role: '★ Tính VCI, FSIQ & GAI', name: '1. Thông tin (Information - IN) ★', desc: 'Trẻ trả lời các câu hỏi về kiến thức tự nhiên, xã hội, số lượng, thời gian và chức năng sự vật phù hợp lứa tuổi mẫu giáo lớn – lớp 1, lớp 2.', measure: 'Đo lường vốn kiến thức tích lũy và trí nhớ dài hạn về ngôn ngữ.' }, { id: 'SI', idx: 'vci', role: '★ Tính VCI, FSIQ & GAI', name: '2. Tương đồng (Similarities - SI) ★', desc: 'Ở các câu đầu trẻ chọn tranh có chung đặc điểm; ở các câu sau trẻ giải thích bằng lời xem hai khái niệm giống nhau ở điểm bản chất nào.', measure: 'Đo lường tư duy hình thành khái niệm bằng lời và suy luận trừu tượng ngôn ngữ.' }, { id: 'BD', idx: 'vsi', role: '★ Tính VSI, FSIQ, GAI & NVI', name: '3. Xếp khối (Block Design - BD) ★', desc: 'Trẻ sử dụng các khối lập phương hai màu Đỏ - Trắng để xếp thành các mẫu hình học phức tạp dần trong giới hạn thời gian.', measure: 'Đo lường tư duy không gian 2D/3D (Thường là đỉnh thế mạnh vượt trội ở trẻ Tự kỷ - ASD).' }, { id: 'OA', idx: 'vsi', role: '★ Tính VSI', name: '4. Lắp ghép Đồ vật (Object Assembly - OA) ★', desc: 'Trẻ ghép các mảnh rời không có khung viền sẵn để tạo thành hình hoàn chỉnh có nghĩa.', measure: 'Đo lường khả năng tích hợp thị giác – vận động và nhận diện cấu trúc tổng thể.' }, { id: 'MR', idx: 'fri', role: '★ Tính FRI, FSIQ, GAI & NVI', name: '5. Ma trận Suy luận (Matrix Reasoning - MR) ★', desc: 'Trẻ quan sát một ma trận hình ảnh bị khuyết một ô và chỉ tay chọn mảnh ghép đúng quy luật logic từ các phương án bên dưới.', measure: 'Đo lường trí thông minh lưu loát (Fluid Intelligence) và suy luận quy nạp phi ngôn ngữ.' }, { id: 'PC', idx: 'fri', role: '★ Tính FRI & NVI', name: '6. Khái niệm Hình ảnh (Picture Concepts - PC) ★', desc: 'Trẻ nhìn 2 hoặc 3 hàng tranh ảnh và phải chọn ra từ mỗi hàng đúng 1 bức tranh sao cho chúng có cùng một đặc điểm/khái niệm chung với nhau.', measure: 'Đo lường khả năng phân loại khái niệm trừu tượng và suy luận tương quan mà không cần nói.' }, { id: 'PM', idx: 'wmi', role: '★ Tính WMI, FSIQ, CPI & NVI', name: '7. Nhớ Tranh ảnh (Picture Memory - PM) ★', desc: 'Trẻ ghi nhớ nhanh một nhóm các bức tranh trên trang kích thích rồi chỉ lại các bức tranh đó trên trang đáp án có nhiều hình gây nhiễu.', measure: 'Đo lường trí nhớ làm việc thị giác và khả năng kháng nhiễu.' }, { id: 'ZL', idx: 'wmi', role: '★ Tính WMI & CPI', name: '8. Vị trí Vườn thú (Zoo Locations - ZL) ★', desc: 'Trẻ ghi nhớ vị trí tọa độ của nhiều thẻ hình con vật trên sơ đồ chuồng thú và đặt lại chính xác từng thẻ.', measure: 'Đo lường dung lượng trí nhớ làm việc không gian.' }, { id: 'BS', idx: 'psi', role: '★ Tính PSI, FSIQ, CPI & NVI', name: '9. Tìm Bọ — Đóng dấu mực (Bug Search - BS) ★', desc: 'Trong vòng 120 giây, trẻ cầm bút đóng dấu mực (Ink Dauber) chấm thật nhanh vào con bọ trong nhóm 5 con bên phải khớp với con bọ mẫu bên trái.', measure: 'Đo lường tốc độ quét phân biệt thị giác và ra quyết định nhanh (không bị cản trở bởi kỹ năng cầm bút chì).' }, { id: 'CA', idx: 'psi', role: '★ Tính PSI & CPI', name: '10. Gạch bỏ Hình — Đóng dấu mực (Cancellation - CA) ★', desc: 'Trong vòng 45 giây cho mỗi trang (1 trang lộn xộn và 1 trang xếp theo hàng), trẻ dùng bút đóng dấu mực chấm chọn tất cả các hình thuộc nhóm "Quần áo" nằm lẫn giữa các đồ vật khác.', measure: 'Đo lường tốc độ xử lý thị giác, chú ý có chọn lọc và phân loại danh mục nhanh.' } ]; let activeBand = 'old'; // 'young' (2:6 - 3:11) | 'old' (4:0 - 7:7) let filterIdx = 'all'; // Lưu Scaled Score (1..19, Mean = 10, SD = 3) let ssYoung = { RV: 10, IN: 10, PN: 10, BD: 10, OA: 10, PM: 10, ZL: 10 }; let ssOld = { IN: 10, SI: 10, BD: 10, OA: 10, MR: 10, PC: 10, PM: 10, ZL: 10, BS: 10, CA: 10 }; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .wp-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } .wp-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .wp-inner { padding: 24px; max-width: 980px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .wp-wrap.is-fullscreen .wp-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .wp-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(124, 58, 237, 0.45), 0 0 0 0 rgba(124, 58, 237, 0.4); } 70% { box-shadow: 0 6px 20px rgba(124, 58, 237, 0.45), 0 0 0 10px rgba(124, 58, 237, 0); } 100% { box-shadow: 0 6px 20px rgba(124, 58, 237, 0.45), 0 0 0 0 rgba(124, 58, 237, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #6d28d9 0%, #7c3aed 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(124, 58, 237, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Bộ chuyển đổi 2 Dải Độ Tuổi WPPSI-IV */ .band-switcher { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; background: #f1f5f9; padding: 10px; border-radius: 12px; margin-bottom: 18px; } .band-btn { padding: 12px 14px; border-radius: 9px; border: 2px solid transparent; background: rgba(255, 255, 255, 0.7); cursor: pointer; text-align: left; transition: all 0.2s ease; touch-action: manipulation; } .band-btn:hover { background: #ffffff; } .band-btn.active { background: #ffffff; border-color: #7c3aed; box-shadow: 0 3px 10px rgba(15, 23, 42, 0.08); } .band-btn-title { font-size: 14.5px; font-weight: 800; color: #0f172a; display: block; } .band-btn.active .band-btn-title { color: #6d28d9; } .band-btn-sub { font-size: 12px; color: #64748b; margin-top: 3px; display: block; } .wp-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .wp-header-text { flex: 1 1 260px; } .wp-title { font-size: 20px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .wp-desc { font-size: 13.8px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #f5f3ff; color: #6d28d9; border: 1px solid #ddd6fe; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #7c3aed; color: #ffffff; border-color: #7c3aed; } .wp-controls { display: flex; flex-direction: column; gap: 10px; margin-bottom: 18px; } .wp-presets { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; } .wp-preset-lbl { font-size: 12.5px; font-weight: 700; color: #475569; margin-right: 4px; } .wp-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; touch-action: manipulation; } .wp-pbtn:hover { background: #f1f5f9; } .wp-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } .wp-sub-tabs { display: flex; flex-wrap: wrap; gap: 6px; } .wp-stab { padding: 6px 11px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .wp-stab.active { background: #7c3aed; color: #ffffff; border-color: #7c3aed; } /* Sticky Dashboard */ .wp-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .wp-wrap.is-fullscreen .wp-dash { top: 58px; } .wp-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .wp-score-big { font-size: 20px; font-weight: 800; line-height: 1.25; } .wp-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .wp-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .wp-pillars { display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; font-size: 11.5px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .wp-pillar-box { background: #1e293b; padding: 7px 9px; border-radius: 8px; border-left: 3px solid #475569; } .wp-pillar-box.high { border-left-color: #3b82f6; background: rgba(59, 130, 246, 0.15); } .wp-pillar-box.avg { border-left-color: #10b981; } .wp-pillar-box.low { border-left-color: #f59e0b; background: rgba(245, 158, 11, 0.14); } .wp-pillar-box.imp { border-left-color: #ef4444; background: rgba(239, 68, 68, 0.16); } .wp-pillar-val { font-weight: 800; color: #ffffff; font-size: 13.5px; display: block; margin-top: 2px; } /* Danh sách Tiểu trắc nghiệm */ .wp-item { border: 1px solid #e2e8f0; border-radius: 12px; padding: 15px 16px; margin-bottom: 12px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 8px; } .wp-item.ss-high { border-color: #93c5fd; background: #eff6ff; } .wp-item.ss-avg { border-color: #a7f3d0; background: #f0fdf4; } .wp-item.ss-low { border-color: #fde68a; background: #fffbeb; } .wp-item.ss-imp { border-color: #fca5a5; background: #fff5f5; } .wp-item-title { font-size: 15px; font-weight: 800; color: #0f172a; } .wp-item-desc { font-size: 13.5px; color: #334155; } .wp-item-meas { font-size: 12.5px; color: #475569; background: rgba(15, 23, 42, 0.03); padding: 6px 10px; border-radius: 6px; border-left: 3px solid #94a3b8; } .wp-tags { display: flex; flex-wrap: wrap; gap: 6px; } .wp-tag { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .wp-scale-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 6px; margin-top: 4px; } .wp-sbtn { padding: 8px 4px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .wp-sbtn:hover { border-color: #64748b; } .wp-sbtn-num { font-size: 13px; font-weight: 800; display: block; color: #0f172a; } .wp-sbtn-lbl { font-size: 10.5px; color: #64748b; display: block; margin-top: 1px; } .wp-sbtn.sel-imp { background: #ef4444; border-color: #ef4444; } .wp-sbtn.sel-low { background: #f59e0b; border-color: #f59e0b; } .wp-sbtn.sel-avg { background: #10b981; border-color: #10b981; } .wp-sbtn.sel-high { background: #2563eb; border-color: #2563eb; } .wp-sbtn.sel-imp .wp-sbtn-num, .wp-sbtn.sel-imp .wp-sbtn-lbl, .wp-sbtn.sel-low .wp-sbtn-num, .wp-sbtn.sel-low .wp-sbtn-lbl, .wp-sbtn.sel-avg .wp-sbtn-num, .wp-sbtn.sel-avg .wp-sbtn-lbl, .wp-sbtn.sel-high .wp-sbtn-num, .wp-sbtn.sel-high .wp-sbtn-lbl { color: #ffffff; } /* Bảng báo cáo */ .wp-table-card { margin-top: 20px; padding: 16px 18px; border-radius: 12px; background: #ffffff; border: 1px solid #e2e8f0; overflow-x: auto; } .wp-table { width: 100%; border-collapse: collapse; font-size: 13px; min-width: 640px; } .wp-table th, .wp-table td { border: 1px solid #cbd5e1; padding: 8px 10px; text-align: center; } .wp-table th { background: #f1f5f9; font-weight: 800; color: #0f172a; } .wp-result-box { margin-top: 16px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #7c3aed; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 780px) { .wp-inner { padding: 14px; } .band-switcher { grid-template-columns: 1fr; } .wp-title { font-size: 18px; } .wp-pillars { grid-template-columns: 1fr 1fr; } .wp-scale-grid { grid-template-columns: repeat(4, 1fr); } .wp-pbtn.reset { margin-left: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
| Thang Chỉ số WPPSI-IV (Index Scale) | Các Tiểu trắc nghiệm cấu thành | Tổng Scaled Scores | Điểm Chuẩn (Composite: 40–160) | Bách phân vị (Percentile) | Phân loại Chuẩn Wechsler |
|---|
1. Thang Đo WPPSI-IV Dải Tuổi Nhỏ: 2 Tuổi 6 Tháng – 3 Tuổi 11 Tháng (7 Tiểu Trắc Nghiệm)
' + '' + 'Thiết kế tối ưu cho trẻ mẫu giáo nhỏ (30 – 47 tháng): đánh giá 3 Chỉ số Chính (Hiểu Lời nói VCI, Không gian Thị giác VSI, Trí nhớ Làm việc WMI), IQ Toàn thang (FSIQ) cùng Chỉ số Tiếp thu Từ vựng (VAI) và Chỉ số Phi ngôn ngữ (NVI).' + '
'; subTabs.innerHTML = '' + '' + '' + ''; } else { headerInfo.innerHTML = '2. Thang Đo WPPSI-IV Dải Tuổi Lớn: 4 Tuổi 0 Tháng – 7 Tuổi 7 Tháng (10 Tiểu Trắc Nghiệm)
' + '' + 'Đánh giá cấu trúc nhận thức hoàn chỉnh cho trẻ mẫu giáo lớn & đầu tiểu học (48 – 91 tháng) qua 5 Chỉ số Chính (VCI, VSI, FRI, WMI, PSI dùng bút đóng dấu mực Ink Dauber), FSIQ và 3 Chỉ số Phụ (NVI, GAI, CPI).' + '
'; subTabs.innerHTML = '' + '' + '' + '' + '' + ''; } subTabs.querySelectorAll('.wp-stab').forEach(tab => { tab.onclick = function() { filterIdx = this.getAttribute('data-idx'); subTabs.querySelectorAll('.wp-stab').forEach(t => t.classList.remove('active')); this.classList.add('active'); renderItems(); }; }); } function renderItems() { itemList.innerHTML = ''; const list = (activeBand === 'young') ? bandYoungSubtests : bandOldSubtests; const store = (activeBand === 'young') ? ssYoung : ssOld; list.forEach(function(st) { if (filterIdx !== 'all' && st.idx !== filterIdx) return; const uSS = (store[st.id] !== undefined) ? store[st.id] : 10; const iCfg = indexConfigs[st.idx]; let rowCls = 'wp-item '; if (uSS >= 13) rowCls += 'ss-high'; else if (uSS >= 8) rowCls += 'ss-avg'; else if (uSS >= 6) rowCls += 'ss-low'; else rowCls += 'ss-imp'; const btnsHtml = ssSteps.map(step => { const cls = 'wp-sbtn' + (uSS === step.val ? ' ' + step.cls : ''); return ( '' ); }).join(''); const el = document.createElement('div'); el.className = rowCls; el.innerHTML = '' + '' + '• 2. Đánh giá Chỉ số Tiếp thu Từ vựng (VAI = ' + compVAI + '): So sánh giữa Từ vựng Tiếp nhận (RV = ' + s.RV + ') và Gọi tên Tranh (PN = ' + s.PN + ') giúp định hướng mục tiêu can thiệp Âm ngữ trị liệu.'; } else { // DẢI TUỔI LỚN: 4:0 - 7:7 const s = ssOld; const sumVCI = s.IN + s.SI; const sumVSI = s.BD + s.OA; const sumFRI = s.MR + s.PC; const sumWMI = s.PM + s.ZL; const sumPSI = s.BS + s.CA; const sumFSIQ = s.IN + s.SI + s.BD + s.MR + s.PM + s.BS; // 6 bài tính FSIQ ở dải 4:0-7:7 const sumGAI = s.IN + s.SI + s.BD + s.MR; const sumCPI = s.PM + s.ZL + s.BS + s.CA; const sumNVI = s.BD + s.MR + s.PC + s.PM + s.BS; const compVCI = calcCompositeFromSS(sumVCI, 2); const compVSI = calcCompositeFromSS(sumVSI, 2); const compFRI = calcCompositeFromSS(sumFRI, 2); const compWMI = calcCompositeFromSS(sumWMI, 2); const compPSI = calcCompositeFromSS(sumPSI, 2); const compFSIQ = calcCompositeFromSS(sumFSIQ, 6); const compGAI = calcCompositeFromSS(sumGAI, 4); const compCPI = calcCompositeFromSS(sumCPI, 4); const compNVI = calcCompositeFromSS(sumNVI, 5); const cVCI = classifyWechsler(compVCI); const cVSI = classifyWechsler(compVSI); const cFRI = classifyWechsler(compFRI); const cWMI = classifyWechsler(compWMI); const cPSI = classifyWechsler(compPSI); const cFSIQ = classifyWechsler(compFSIQ); const cGAI = classifyWechsler(compGAI); const cCPI = classifyWechsler(compCPI); const cNVI = classifyWechsler(compNVI); const nviVciGap = compNVI - compVCI; const gaiCpiGap = compGAI - compCPI; dashHeadline.textContent = 'WPPSI-IV (4:0–7:7) — FSIQ: ' + compFSIQ + ' • Phi Ngôn Ngữ (NVI): ' + compNVI + ' • Năng Lực Chung (GAI): ' + compGAI; dashSub.textContent = 'Hiệu suất Nhận thức (CPI): ' + compCPI + ' • Độ lệch NVI - VCI: ' + (nviVciGap >= 0 ? '+' : '') + nviVciGap + ' điểm • Độ lệch GAI - CPI: ' + (gaiCpiGap >= 0 ? '+' : '') + gaiCpiGap + ' điểm'; dashPillars.style.gridTemplateColumns = 'repeat(5, 1fr)'; dashPillars.innerHTML = '
' + '• 2. Đánh giá Sẵn sàng Học đường qua Trí nhớ Làm việc (WMI = ' + compWMI + ') & Tốc độ Xử lý (PSI = ' + compPSI + '): ' + (compPSI < 85 || compWMI FSIQ ~63 (= 130) ssYoung = { RV: 17, IN: 15, PN: 15, BD: 17, OA: 15, PM: 15, ZL: 15 }; ssOld = { IN: 17, SI: 15, BD: 17, OA: 15, MR: 17, PC: 15, PM: 15, ZL: 15, BS: 13, CA: 13 }; } renderItems(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); wpWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { wpWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 980px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } shadow.querySelectorAll('#bandSwitcher .band-btn').forEach(function(btn) { btn.onclick = function() { activeBand = this.getAttribute('data-band'); shadow.querySelectorAll('#bandSwitcher .band-btn').forEach(b => b.classList.remove('active')); this.classList.add('active'); renderHeaderAndTabs(); renderItems(); updateSummary(); }; }); shadow.querySelectorAll('.wp-pbtn').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-preset')); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); renderHeaderAndTabs(); applyPreset('asd_preschool'); })();
WPPSI-IV (Wechsler Preschool and Primary Scale of Intelligence, Fourth Edition — Thang đo Trí tuệ Wechsler dành cho Trẻ Mẫu giáo và Đầu Tiểu học, Phiên bản 4, xuất bản năm 2012 bởi Pearson) là “tiêu chuẩn vàng” để đánh giá năng lực nhận thức cho trẻ từ 2 tuổi 6 tháng đến 7 tuổi 7 tháng (30 – 91 tháng).
Trong hệ thống công cụ đánh giá của bạn, WPPSI-IV chính là chiếc cầu nối hoàn hảo nhất giữa giai đoạn đánh giá DQ đầu đời (Bayley-III / KSPD) và giai đoạn đánh giá IQ học đường (WISC-V): giúp phát hiện sớm trẻ có năng khiếu (Gifted), xác định mức độ chậm phát triển toàn diện (GDD), và tách bạch năng lực nhận thức phi ngôn ngữ của trẻ Tự kỷ (ASD) ngay ở lứa tuổi mẫu giáo thông qua các bài test trò chơi đóng dấu mực (Ink Dauber) không đòi hỏi kỹ năng cầm bút viết.
1. Sự phân hóa Cấu trúc 2 Dải Độ Tuổi của WPPSI-IV
Vì sự phát triển não bộ của trẻ 2.5 tuổi rất khác với trẻ 6–7 tuổi, WPPSI-IV chia thành 2 Dải độ tuổi (Age Bands) với cấu trúc các Chỉ số chính (Primary Index Scales) và Tiểu trắc nghiệm khác nhau:
| Dải độ tuổi | Các Chỉ số Chính (Primary Indexes) | Các Tiểu trắc nghiệm Chính cấu thành (Primary Subtests) | Các Chỉ số Phụ Lâm sàng (Ancillary Indexes) |
|
1. Dải Nhỏ:
2 tuổi 6 tháng – 3 tuổi 11 tháng
(30 – 47 tháng) |
3 Chỉ số Chính + FSIQ:
1. Hiểu Lời nói (VCI)
2. Không gian Thị giác (VSI)
3. Trí nhớ Làm việc (WMI) |
Gồm 6 bài (5 bài tính FSIQ):
• VCI: Từ vựng Tiếp nhận (RV)★, Thông tin (IN) ★
• VSI: Xếp khối (BD) ★, Lắp ghép Đồ vật (OA) ★
• WMI: Nhớ Tranh ảnh (PM) ★, Vườn thú (ZL) |
• VAI (Tiếp thu Từ vựng: RV + PN)
• NVI (Phi ngôn ngữ: BD + OA + PM + ZL)
• GAI (Năng lực chung: RV + IN + BD + OA) |
|
2. Dải Lớn:
4 tuổi 0 tháng – 7 tuổi 7 tháng
(48 – 91 tháng) |
5 Chỉ số Chính + FSIQ:
(Giống hệt cấu trúc WISC-V)
1. Hiểu Lời nói (VCI)
2. Không gian Thị giác (VSI)
3. Tư duy Lưu loát (FRI)
4. Trí nhớ Làm việc (WMI)
5. Tốc độ Xử lý (PSI) |
Gồm 10 bài (6 bài tính FSIQ):
• VCI: Thông tin (IN) ★, Tương đồng (SI) ★
• VSI: Xếp khối (BD) ★, Lắp ghép Đồ vật (OA)
• FRI: Ma trận Suy luận (MR) ★, Khái niệm Hình ảnh (PC)
• WMI: Nhớ Tranh ảnh (PM) ★, Vườn thú (ZL)
• PSI: Tìm Bọ (BS) ★, Gạch bỏ Hình (CA) |
• VAI (Tiếp thu Từ vựng: RV + PN)
• NVI (Phi ngôn ngữ: BD +MR + PC + PM + BS)
• GAI (Năng lực chung: IN + SI + BD + MR)
• CPI (Hiệu suất nhận thức: PM + ZL + BS + CA) |
2. Những cải tiến “Thân thiện với Trẻ Tự kỷ & Trẻ Mầm non” của WPPSI-IV
-
Giảm tối đa áp lực ngôn ngữ nói: Ở các tiểu trắc nghiệm mới như Nhớ Tranh ảnh (Picture Memory), Vườn thú (Zoo Locations), Khái niệm Hình ảnh (Picture Concepts), trẻ hoàn toàn chỉ cần chỉ tay hoặc đặt thẻ hình vào đúng ô mà không cần nói một từ nào.
-
Dùng “Bút đóng dấu mực” (Ink Dauber) cho Tốc độ xử lý (PSI): Ở tuổi 4–5, nhiều trẻ mầm non (đặc biệt là trẻ ASD/ADHD có vận động tinh kém) chưa cầm bút chì gạch nhanh được. Trong bài Tìm Bọ (Bug Search) và Gạch bỏ Hình (Cancellation), trẻ được cầm con dấu mực chấm “cộp, cộp” lên hình đúng — vừa giống trò chơi thú vị,vừa loại bỏ sai số do kỹ năng cầm bút yếu!
-
Chỉ số Tiếp thu Từ vựng (Vocabulary Acquisition Index – VAI): Kết hợp Từ vựng Tiếp nhận (Receptive Vocabulary — chỉ tranh) và Gọi tên Tranh (Picture Naming) để đo lường khả năng phát triển vốn từ gốc của trẻ có rối loạn ngôn ngữ trước khi bước vào các câu hỏi suy luận dài.
Dạy con hỏi câu Đến lượt con chưa?”
Để dạy câu hỏi “Đến lượt con chưa ạ?” (hoặc rút gọn là “Đến lượt con chưa?” / “Lượt con chưa?”), mục tiêu cốt lõi là giúp trẻ làm chủ kỹ năng luân phiên (Turn-taking) và kiểm soát sự bốc đồng (chờ đợi).
Trẻ tự kỷ, rối loạn ngôn ngữ thường gặp khó khăn với khái niệm thời gian trừu tượng — khi người khác đang chơi, trẻ dễ nghĩ rằng mình bị tước mất đồ chơi vĩnh viễn nên sẽ lao vào giật lại hoặc khóc ăn vạ. Nguyên tắc vàng để dạy câu này là “Lượt của người lớn phải cực kỳ ngắn (chỉ 3–5 giây) + Dùng dấu hiệu đếm ngược rõ ràng” để bé hiểu rằng: Chờ một chút xíu rồi hỏi câu này là sẽ đến lượt mình ngay.
1. Điều kiện cần & Rút gọn câu theo khả năng của bé
-
Bé đã có thể ngồi chơi chung một hoạt động với người lớn trong khoảng 2–3 phút.
-
Bé đã quen với khái niệm luân phiên cơ bản qua hành động (Mẹ làm 1 lần – Con làm 1 lần).
-
Chia bậc độ dài câu nói:
-
Mức cơ bản (2 từ): “Lượt con?” / “Con nhé?” (kèm cử chỉ vỗ nhẹ vào ngực mình).
-
Mức trung bình (3–4 từ): “Đến lượt con chưa?”
-
Mức hoàn chỉnh (5 từ): “Đến lượt con chưa ạ?”
-
2. Quy trình 4 bước thực hiện (Tình huống: Trò chơi có điểm dừng ngắn)
Chuẩn bị: Chọn những trò chơi có hành động ngắn, dứt khoát và tạo hiệu ứng vui mắt ngay lập tức (Ví dụ: Cầu trượt thả bóng/thả xe ô tô, đập bóng xuống lỗ, thổi bong bóng xà phòng, bấm nút đồ chơi bật nhảy như chú hải tặc đâm kiếm, hoặc xếp tháp gỗ). Tránh dùng các trò chơi kéo dài không có điểm dừng rõ ràng (như tô màu hay ôm thú bông).
Bước 1: Thực hiện lượt của người lớn thật nhanh và hấp dẫn
-
Bạn cầm quả bóng (hoặc chiếc xe), vỗ nhẹ vào ngực mình và tuyên bố rõ ràng: “Lượt của mẹ!”
-
Thả quả bóng lăn xuống cầu trượt (chỉ mất khoảng 3 giây) và reo vui: “Chíuuu! Xong rồi!”
-
Cầm ngay quả bóng tiếp theo lên đặt ở đầu cầu trượt nhưng giữ nguyên tay ở đó (chưa thả) và nhìn về phía bé.
Bước 2: Chặn nhẹ + Làm mẫu câu hỏi kèm cử chỉ vỗ ngực
-
Ngay khoảnh khắc bé nhổm người lên, vươn tay định lấy quả bóng để thả, bạn hơi giữ nhẹ bóng lại.
-
Tay kia của bạn cầm nhẹ bàn tay bé vỗ vào ngực bé (cử chỉ báo hiệu “con/tớ”), đồng thời nói mẫu thật rõ ràng với ngữ điệu hỏi: “Đến lượt con chưa ạ?”
-
Chờ 2–3 giây để bé bắt chước nói theo (và vỗ vào ngực).
Bước 3: Trao quyền chơi ngay lập tức (Củng cố tức thì)
-
Ngay giây phút bé bật ra câu hỏi “Đến lượt con chưa ạ?”, bạn lập tức buông tay, đưa ngay quả bóng cho bé và reo lên hào hứng: “Rồi! Đến lượt con đấy!”
-
Để bé tự tay thả quả bóng và tận hưởng niềm vui. (Việc được chơi ngay lập tức sau khi hỏi giúp não bộ của bé liên kết chặt chẽ: Hỏi câu này = Được nhận lượt chơi hợp pháp mà không cần tranh giành).
Bước 4: Lặp lại luân phiên và Giảm dần lời nhắc (Fading) Cứ 1 lượt mẹ (3 giây) lại đến 1 lượt con. Sau 5–7 vòng luân phiên:
-
Mức 1 (Nhắc toàn câu + Cử chỉ): Bạn hướng dẫn bé vỗ ngực và nói mẫu “Đến lượt con chưa ạ?” -> Bé làm và nói theo.
-
Mức 2 (Nhắc cử chỉ + Từ mở đầu): Khi mẹ vừa thả bóng xong, bạn vỗ nhẹ vào ngực bé và mớm lời “Đến lượt…” -> Bé tự nói tiếp “…con chưa ạ?”.
-
Mức 3 (Tự chủ động): Mẹ vừa chơi xong lượt của mình thì cầm bóng dừng lại, nhìn bé với ánh mắt chờ đợi (im lặng 3 giây) -> Bé tự vỗ ngực và hỏi “Đến lượt con chưa ạ?”.
3. Bốn tình huống mở rộng cực kỳ hiệu quả trong sinh hoạt & vận động
Trẻ tự kỷ học câu hỏi này nhanh nhất khi được kết hợp với vận động thể chất (vì vận động mang lại cảm giác hưng phấn cao):
4. Ba bí quyết giúp bé không bị mất kiên nhẫn khi chờ đến lượt
-
Quy tắc “3 giây cho người lớn – 15 giây cho bé”: Ở giai đoạn đầu, khả năng chịu đựng sự chờ đợi của trẻ rất thấp. Lượt của bạn chỉ nên diễn ra chớp nhoáng (2–3 giây) như một cái cớ để tạo tình huống cho bé hỏi, còn khi đến lượt bé, hãy để bé tận hưởng lâu hơn (10–15 giây). Khi bé đã thành thạo việc đặt câu hỏi, bạn mới kéo dài dần lượt của mình lên 5 giây, 10 giây.
-
Sử dụng “Thẻ lượt chơi” (Visual Turn Card) nếu bé khó nhớ bằng lời: Với những bé có xu hướng thị giác mạnh, bạn có thể dùng một vật làm biểu tượng (ví dụ: một chiếc vòng tay to hoặc một tấm thẻ dán hình mặt cười). Ai cầm thẻ người đó được chơi. Khi bạn vừa chơi xong và cầm tấm thẻ giơ lên trước mặt bé, đó là tín hiệu trực quan cực kỳ rõ ràng để bé bật ra câu hỏi “Đến lượt con chưa ạ?” và nhận lấy tấm thẻ cùng đồ chơi.
-
Phân biệt rõ “Con” và “Mẹ” trong cử chỉ: Khi bạn nói “Lượt của mẹ”, hãy lấy tay bạn vỗ vào ngực bạn. Khi bạn làm mẫu cho bé câu “Đến lượt con chưa ạ?”, hãy cầm tay của chính bé vỗ vào ngực của bé (tuyệt đối không lấy tay bạn vỗ vào ngực bạn khi đang nói chữ “con”, vì bé sẽ bắt chước y hệt cử chỉ đó hoặc hiểu nhầm chữ “con” là chỉ mẹ).
Tổng kết lộ trình 6 câu hỏi giao tiếp xã hội của bé
Đến đây, bạn đã trang bị cho bé một bộ công cụ giao tiếp rất toàn diện từ cơ bản đến nâng cao:
-
Nhóm khám phá thế giới: Cái gì đây ạ? (Vật) – Ai đây ạ? (Người) – [Tên vật] ở đâu rồi ạ? (Vị trí) – Tại sao lại thế ạ? (Nguyên nhân).
-
Nhóm ranh giới & tương tác xã hội: Cái này của ai? (Sở hữu) – Con mượn cái này được không ạ? (Xin phép) – Đến lượt con chưa ạ? (Luân phiên & Chờ đợi).
Tham khảo: Kiến thức can thiệp thực tế và hỗ trợ từ AI.
Dậy con nói Nhu cầu Thiết yếu (Ăn, uống, vệ sinh)
Dưới đây là danh sách chi tiết và mở rộng cho Nhóm 1: Nhu cầu Thiết yếu, một trong 6 nhóm nên học đầu tiên, được chia theo mục đích giao tiếp và môi trường sinh hoạt của bé, giúp bé bị chậm nói, rối loạn ngôn ngữ nhanh hoà nhập với môi trường gia đình.
I. ĂN UỐNG
1. Từ đơn (1 âm tiết)
-
Nhóm Danh từ (Đồ vật, thức ăn):
-
Đồ ăn/uống: Cơm, cháo, sữa, nước, bánh, kẹo, thịt, cá, canh, bánh kem, chocolate, sữa chua, phô mai,…
📌 Lưu ý: Khi bạn cho con ăn hay uống bất cứ cái gì, hãy dạy con luôn từ đấy. Lưu ý chỉ nói từ đơn và chỉ vào đồ vật; nếu nói nhiều từ thì cần luôn nhấn mạnh khi nói đến danh từ cần dạy.
- Đồ dùng: Bát (chén), thìa (muỗng), cốc (ly), đũa, đĩa, yếm.
-
Đồ ăn/uống: Cơm, cháo, sữa, nước, bánh, kẹo, thịt, cá, canh, bánh kem, chocolate, sữa chua, phô mai,…
-
Nhóm Động từ (Hành động) – Cần ưu tiên dạy mạnh:
- Ăn, măm, uống, hút (ống hút), gạt, xúc, mút,…
- Bóc (bánh, kẹo), mở (hộp), đậy (nắp).
- Lấy, xin, cho, đút, cắn, nhai, nuốt.
- Thổi (khi nóng), cất, lau.
-
Nhóm Tính từ/Trạng từ (Trạng thái, cảm giác):
- Nóng, lạnh, ngon, chua, ngọt, cay, đắng, mặn,…
- Nữa (muốn thêm), hết (đã xong/hết sạch), no.
2. Câu 2 từ (Nguyên tắc ghép: Động/Tính từ + Danh từ)
- Yêu cầu hành động: Lấy thìa, bóc sữa, mở hộp, đút cơm, rót nước, lấy bánh, xé giấy.
- Bày tỏ nhu cầu: Uống nước, ăn cơm, uống sữa, măm cháo, xin bánh.
- Nêu tình trạng: Nóng quá, hết rồi, no rồi, ngon quá, rớt/rơi rồi, đổ nước, tay bẩn.
- Đòi hỏi thêm: Ăn nữa, sữa nữa, uống nữa.
II. VỆ SINH CÁ NHÂN
1. Từ đơn (1 âm tiết)
-
Nhóm Danh từ:
- Bô, bồn, nước, vòi.
- Giấy, khăn, tã (bỉm), quần, áo.
- Tay, mặt, mũi, miệng (những chỗ hay bị bẩn lúc ăn/chơi).
- Xà phòng (bông), dầu gội, sữa tắm.
-
Nhóm Động từ:
- Tè, ị, rặn.
- Rửa, lau, chùi, xoa.
- Cởi (quần, áo), mặc, kéo (khóa/quần).
- Xả (nước), vứt (rác).
-
Nhóm Tính từ/Trạng từ:
- Ướt, dơ (bẩn), thúi (hôi), sạch.
- Đau, ngứa, buồn.
2. Câu 2 từ (Nguyên tắc ghép: Động/Tính từ + Danh từ)
- Báo cáo nhu cầu: Đi tè, ị bô, đau bụng, buồn tè.
- Yêu cầu trợ giúp vệ sinh: Cởi quần, kéo quần, mặc áo, thay bỉm.
- Thực hiện hành động: Rửa tay, lau miệng, xả nước, vứt rác, lau mặt, rửa đít.
- Nêu tình trạng: Ướt quần, tay bẩn, thúi quá, ướt áo.
💡 Chiến lược dạy “Từ bản lề” (Pivot Words)
Với danh sách mở rộng này, bạn có thể áp dụng chiến lược Từ bản lề. Bạn chọn 1 Động từ cốt lõi (ví dụ từ MỞ) và ghép với nhiều Danh từ khác nhau trong ngày để dạy con:
- Đứng trước cửa phòng: “MỞ… cửa”
- Ăn vặt: “MỞ… hộp”
- Uống nước: “MỞ… nắp”
- Lấy đồ trong balo: “MỞ… cặp”
👉 Việc lặp lại động từ “MỞ” ở nhiều bối cảnh sẽ giúp não bộ của bé tự kỷ hiểu được chức năng của từ này nhanh hơn rất nhiều.
Nguồn tham khảo: Kiến thức thực tế dạy con và những gợi ý từ AI.
Điều Trị
Bài Viết
Thuốc Risperdal trong điều trị triệu chứng tự kỷ
| Phân nhóm | Tên chất cụ thể | Bản chất & Vai trò trong viên thuốc |
|---|---|---|
| Hoạt chất chính (Active Ingredient) |
Risperidone (1 mg) (C23H27FN4O2) |
Dẫn xuất benzisoxazole. Đây là phân tử duy nhất quyết định tác dụng điều trị trên não bộ. |
| Tá dược độn (Trợ tạo khối) |
Lactose monohydrate, Tinh bột ngô (Corn starch), Cellulose vi tinh thể | Giúp định hình kích thước viên thuốc để có thể bẻ đôi chính xác. (Lưu ý: Có chứa đường sữa Lactose). |
| Tá dược rã & trơn | Natri lauryl sulfate, Magie stearate, Silica keo khan | Giúp viên thuốc tan rã nhanh khi vào dịch dạ dày để giải phóng Risperidone vào máu. |
| Tá dược bao phim | Hypromellose, Propylene glycol, Titanium dioxide | Tạo lớp màng bọc ngoài màu trắng, che giấu vị đắng nhẹ của hoạt chất và bảo vệ thuốc khỏi độ ẩm. |
Norepinephrine, Phổ tự kỷ và bùng nổ cảm xúc
Norepinephrine (còn gọi là noradrenaline) có mối liên hệ chặt chẽ với Rối loạn phổ tự kỷ (ASD), đặc biệt thông qua việc điều chỉnh sự chú ý, mức độ cảnh giác (arousal), xử lý cảm giác và phản ứng với căng thẳng. Dù không phải nguyên nhân gốc rễ nhưng nó liên quan mật thiết đến trạng thái bùng nổ cảm xúc, dễ cáu gắt của trẻ. Thông tin bên dưới mang tính chất khoa học, mọi chỉ định về thuốc đều phải thông qua bác sỹ.
Trong não bộ, norepinephrine được sản xuất chủ yếu tại một vùng nhỏ ở thân não gọi là Locus Coeruleus (LC – Nhân xanh). Hệ thống LC-NE đóng vai trò như một công tắc điều phối việc não bộ nên tập trung vào một chi tiết cụ thể hay mở rộng sự chú ý ra môi trường xung quanh.
Các biểu hiện ở phổ tự kỷ liên quan đến Norepinephrine
| Tiêu chí lâm sàng ở trẻ ASD | Guanfacine (Tenex – IR / Intuniv – ER) | Clonidine (Catapres – IR / Kapvay – ER) |
| Triệu chứng mục tiêu số 1 |
• Tăng động, bốc đồng ban ngày(chạy nhảy không ngừng, không ngồi yên được trong giờ học 1-1). • Quá tải giác quan & Khó chuyển tiếp (la hét khi phải đổi hoạt động). |
• Mất ngủ đầu giấc nặng (thức đến 11–12h đêm, chạy nhảy trên giường). • Cơn bùng nổ (Meltdown) dữ dội có tính chất kích động cơ thể, hung hăng hoặc tự làm đau (đập đầu, cắn tay). |
| Độ tỉnh táo trong giờ can thiệp | Tốt hơn rõ rệt. Sau 1–2 tuần đầu làm quen, trẻ tỉnh táo để tiếp thu bài học ngôn ngữ/hành vi. | Kém hơn nếu dùng ban ngày. Dễ gây buồn ngủ, mắt lờ đờ, hoặc dễ cáu kỉnh do mệt (over-tired). |
| Thời gian bán thải & Độ êm | Dài (14–17 giờ). Nồng độ thuốc trong máu ổn định, ít bị hiện tượng “hết thuốc đột ngột” làm trẻ cáu gắt trở lại. | Ngắn hơn (6–12 giờ ở trẻ em). Dạng giải phóng tức thời (IR) chỉ kéo dài 3–5 giờ $\rightarrow$ dễ gây hiệu ứng “bật lò xo” (rebound) làm trẻ quấy khóc khi thuốc hết tác dụng giữa chừng. |
| Tác động lên Tics & Stimming | Giảm tốt các tật máy giật (Tics) và giảm bớt sự căng thẳng dẫn đến hành vi định hình (vẫy tay, xoay tròn). | Giảm cực mạnh Tics và sự bồn chồn vận động toàn thân. |
| Khả năng cho trẻ uống thuốc(Rất quan trọng với trẻ ASD kén ăn) |
• Dạng IR (Tenex): Viên nén có thể nghiền nhỏ pha nước/sữa chua. • Dạng ER (Intuniv): Tuyệt đối không được nhai hay nghiền (nghiền ra sẽ giải phóng ồ ạt gây tụt huyết áp). Trẻ phải biết nuốt chửng cả viên. |
• Dạng IR (Catapres): Viên rất nhỏ, dễ nghiền pha thức ăn. • Có dạng Miếng dán qua da (Catapres-TTS)thay mỗi 7 ngày — cứu cánh cho trẻ tự kỷ kháng cự uống thuốc cực đoan (dù đôi khi gây ngứa da chỗ dán). |
| Tác dụng phụ đặc thù ở trẻ ASD | Mệt mỏi tuần đầu, táo bón (cần lưu ý vì trẻ tự kỷ vốn hay bị táo bón), khô miệng, hạ nhẹ huyết áp. | Buồn ngủ sâu, chóng mặt, hạ huyết áp/nhịp tim rõ, khô miệng, và đôi khi gây ác mộng hoặc thức giấc nửa đêm khi thuốc IR hết tác dụng lúc 2–3h sáng. |
Khi nào chọn thuốc nào? (5 Kịch bản thực tế ở trẻ Tự kỷ)
Để quyết định chính xác, bác sĩ thường phân tích biểu đồ hành vi 24 giờ của trẻ theo 5 kịch bản sau:
Kịch bản 1: Trẻ tự kỷ kèm ADHD, vào lớp can thiệp là chạy quanh phòng, giật đồ chơi, không duy trì được giao tiếp mắt quá 3 giây, nhưng tối vẫn ngủ được.
-
Lựa chọn ưu tiên: Guanfacine.
-
Lý do: Cần củng cố chức năng điều hành của vỏ não trước trán suốt ban ngày để trẻ ngồi học được mà không làm trẻ gục xuống bàn ngủ.
Kịch bản 2: Trẻ tự kỷ đến 10–11h đêm vẫn nhảy nhót, la hét, lăn lộn không tài nào vào giấc ngủ (dù đã dùng Melatonin nhưng không ăn thua).
-
Lựa chọn ưu tiên: Clonidine (uống trước giờ đi ngủ 45–60 phút).
-
Lý do: Tác dụng an thần nhanh của Clonidine giúp hạ nhiệt hệ giao cảm, đưa trẻ vào giấc ngủ trong vòng 1 giờ.(Mẹo lâm sàng: Nhiều bác sĩ kết hợp Melatonin để kích hoạt nhịp sinh học + Clonidine để làm dịu hệ giao cảm).
Kịch bản 3: Trẻ bị quá tải giác quan nghiêm trọng (Sensory Overload) — đi siêu thị, nghe tiếng máy sấy hay đổi đường đi học là bùng nổ (meltdown) kéo dài cả tiếng đồng hồ.
-
Lựa chọn ưu tiên: Guanfacine dùng nền hàng ngày. Nếu cơn kích động thể chất quá mạnh hoặc kèm tự gây thương tích nhẹ, bác sĩ có thể cân nhắc Clonidine chia nhiều lần (hoặc dạng kéo dài Kapvay).
Kịch bản 4: Trẻ không thể nuốt nguyên viên thuốc và nhạy cảm vùng miệng (nhận ra vị thuốc là nôn ói ngay).
-
Lưu ý quyết định: Không dùng được viên nén giải phóng kéo dài (Intuniv hoặc Kapvay) vì bắt buộc phải nuốt nguyên viên. Khi đó bác sĩ phải chọn dạng viên nén tức thời (IR) để nghiền nhỏ (Guanfacine IR chia 2 lần/ngày hoặc Clonidine IR chia 2–3 lần/ngày), hoặc dùng miếng dán Clonidine.
Kịch bản 5: Chiến lược “Phối hợp Ngày – Đêm” hoặc “Kẹp cùng thuốc kích thích”
-
Có những trẻ tự kỷ được kê Guanfacine vào buổi sáng (để đi học tập trung, đỡ bốc đồng) và một liều rất nhỏ Clonidine vào buổi tối (để ngủ sâu).
-
Hoặc trẻ uống Methylphenidate (Concerta/Ritalin) buổi sáng nhưng đến 4–5 giờ chiều thuốc hết tác dụng khiến trẻ cáu gắt, đập phá (Rebound crash) → Bác sĩ cho uống thêm Guanfacine hoặc Clonidine vào buổi chiều/tốiđể “hạ cánh êm ái”.
Điều trị bùng nổ cảm xúc ở trẻ tự kỷ
Từ bài Trẻ tự kỷ Bùng nổ nhanh, cáu gắt,… Chuẩn đoán theo cơ chế thần kinh, dưới đây sẽ là các phương thức tiếp cận để điều trị và giảm hành vi này ở 80% trẻ tự kỷ gắn với hiện tượng Bùng nổ, nhưng lại về trạng thái bình thường ngay khi đạt được mục đích. Bài viết này sẽ cực kỳ hữu ích cho mục đích tìm hiểu, việc dùng thuốc hay áp dụng bất kỳ phương pháp chữa trị nào cần được chỉ định bởi bác sỹ.
Trong thần kinh học lâm sàng, dấu hiệu “nín ngay lập tức khi có lại phần thưởng” chứng minh rằng não bộ của bé KHÔNG bị rơi vào trạng thái “bão Glutamate mất kiểm soát toàn diện” hay “kích hoạt trung tâm thịnh nộ mù quáng (PAG)” (bởi nếu đã trượt xuống hai trạng thái đó, dù bạn có trả lại 10 món đồ chơi thì đứa trẻ vẫn tiếp tục gào khóc, ném đồ và không thể tự dừng lại suốt 30–45 phút).
Thay vào đó, biểu hiện này khẳng định vấn đề cốt lõi nằm trọn vẹn ở Trục Phần thưởng – Điều hành (Frontostriatal Circuit: Thể vân – Vỏ não trước trán) với cơ chế chủ đạo là Cú sốc tụt áp Dopamine (Negative Reward Prediction Error – RPE) kết hợp với Xung đỉnh Norepinephrine (Phasic NE surge).
1. Giải mã chính xác chuyện gì xảy ra trong tích tắc đó
-
Khi đang cầm món đồ yêu thích: Hệ thống Dopamine từ vùng VTA bắn lên Nhân Accumbens (중 tâm phần thưởng) đang duy trì ở mức cao. Với một đứa trẻ 4 tuổi có xu hướng tìm kiếm cảm giác (Nhánh A), món đồ chơi đó chính là “nguồn cấp Dopamine” giúp não bé cảm thấy an toàn và tập trung.
-
Khoảnh khắc bị lấy mất / từ chối: Nguồn cấp Dopamine bị ngắt đột ngột. Nồng độ Dopamine tại khe synap rơi tự do (tụt áp). Vỏ não đai trước (ACC) lập tức báo động “Đau đớn/Khẩn cấp!”, kích hoạt Nhân xanh phóng ra một cơn sóng Norepinephrine tức thời làm bé đỏ mặt tía tai, la hét để đòi lại bằng được nguồn Dopamine đã mất.
-
Khoảnh khắc trả lại món đồ: Dòng chảy Dopamine tại Nhân Accumbens được bơm đầy trở lại ngay lập tức. Cơn báo động ở ACC tắt phụt, Nhân xanh ngừng bắn xung Norepinephrine, và vì hệ thần kinh tự chủ của bé vốn khỏe mạnh (không bị cường giao cảm nền), bé nín ngay tức khắc.
2. Liệu trình tiếp cận đa tầng (Theo mô hình Khoa học Thần kinh & Hành vi)
Vì vấn đề nằm ở “Độ dốc của cú tụt Dopamine” và “Khả năng chịu đựng sự trì hoãn của Vỏ não trước trán”, một chiến lược can thiệp trúng đích sẽ kết hợp giữa Điều chỉnh Dược lý/Sinh hóa (làm đệm giảm xóc cho não) và Kỹ thuật “Hạ cánh mềm Dopamine” (tránh làm đứt gãy tín hiệu đột ngột):
Tầng 1: Định hướng Dược lý Thần kinh (Làm “Bộ giảm xóc” tại Vỏ não trước trán) – Dùng thuốc
+, Guanfacine vẫn là lựa chọn trúng đích số 1:
Cơ chế trong trường hợp này: Guanfacine không làm thay đổi lượng Dopamine ở vùng phần thưởng, nhưng nó gắn vào thụ thể Alpha-2A tại Vỏ não trước trán (PFC). Khi mạng lưới PFC được kết nối chặt chẽ (giống như trong những ngày Hậu sốt của bé), PFC sẽ gửi một luồng tín hiệu xuống Nhân Accumbens và Hạch hạnh nhân như một chiếc “phuộc nhún giảm xóc”: “Mất món đồ chơi này hơi buồn một chút, nhưng không nguy hiểm, chờ một lát sẽ có thứ khác”.
Ở Việt Nam, hiện tại các bác sỹ hay kê Tepirace thay vì Guanfacine. Tepirace có hoạt chất Clonidin, cùng nhóm với guanfacine, nhưng cần đánh giá chính xác tình trạng của bé là dư thừa Norepinephrine nền hay sự mất cân bằng giữa tín hiệu Nền (Tonic) và tín hiệu Đỉnh (Phasic) tại trục Nhân xanh – Vỏ não trước trán (LC-PFC).
- Dấu hiện điển hình của dư thừa Norepinephrine nền là Hay bé lăng xăng kiểu quá tải và lo âu (bồn chồn, đứng ngồi không yên khi đến nơi đông người, nhiều tiếng ồn, dễ bị giật mình, luôn trong tư thế phòng thủ). Trong trường hợp này nên dùng Clonidin.
- Bé chạy nhảy liên tục vì tìm kiếm cảm giác (sensory seeking – thích xoay tròn, leo trèo, va chạm mạnh, không biết sợ), nhưng không hung hăng, bùng nổ nhưng trạng thái tự làm đau ít thì nên uống Guanfacine.
Kết quả kỳ vọng: Khi bị từ chối, Dopamine vẫn giảm nhưng không gây kích hoạt cơn sóng Norepinephrine đỏ mặt tía tai. Khoảng thời gian từ lúc bị từ chối đến lúc bé bùng nổ được kéo giãn ra (từ 0.5 giây lên thành 5–10 giây), đủ để người lớn đánh lạc hướng hoặc giải thích, và bé nghe hiểu được.
Cụ thể hơn về Norepinephrine, bùng nổ cảm xúc và ứng dụng trong tiếp cận thuốc xem đầy đủ hơn tại đây.
+, Tại sao KHÔNG cần dùng nặng tay đến nhóm chống loạn thần (Risperidone/Aripiprazole)?
Trên lâm sàng, nhiều nơi hay kê Risperidone cho trẻ tự kỷ hay la hét. Nhưng Risperidone hoạt động bằng cách khóa chặt thụ thể Dopamine (D2). Với một bé lăng xăng Nhánh A và chỉ khóc khi mất đồ chơi (nín ngay khi trả lại), việc khóa Dopamine là quá mức cần thiết và làm phẳng lặng động lực học tập tự nhiên của trẻ.
+, Vai trò của NAC (N-Acetylcysteine) ở kiểu hình này:
Dù bé không bị “đám cháy Glutamate kéo dài”, NAC vẫn có giá trị hỗ trợ ở mức độ vừa phải vì nó điều hòa lượng Glutamate đổ vào Thể vân (Striatum) — nơi tiếp nhận Dopamine. Nhờ đó, nó giúp bé bớt “bám dính” cực đoan vào một món đồ chơi duy nhất, giúp việc thương lượng lấy lại đồ chơi dễ dàng hơn.
Tầng 2: Can thiệp Sinh hóa hỗ trợ Hệ Dopamine – Norepinephrine (Không dùng thuốc)
Để giúp não bộ của bé tự tổng hợp và duy trì mức Dopamine / Norepinephrine nền ổn định hơn (tránh việc não bị “đói” Dopamine dẫn đến phải chạy nhảy Nhánh A hoặc giữ khư khư đồ chơi):
Tầng 3: Kỹ thuật Hành vi dựa trên Thần kinh học — “Bắc cầu Dopamine” (Dopamine Bridging)
Một lưu ý cực kỳ quan trọng về mặt thần kinh học: Việc “trả lại món đồ chơi ngay khi bé la hét đỏ mặt và bé nín ngay” về mặt ngắn hạn giúp dập tắt tiếng khóc, nhưng về mặt dài hạn lại vô tình tạo ra một Phản xạ có điều kiện siêu mạnh tại Thể vân:
Não bé sẽ học được công thức: Bị lấy đồ -> La hét đỏ mặt (tăng Norepinephrine) -> Đồ chơi lập tức quay về (Dopamine vọt trở lại)! Càng lặp lại, tốc độ la hét lần sau sẽ càng nhanh và dữ dội hơn.
Để xử lý đúng vào cơ chế “Tránh tụt áp Dopamine đột ngột” mà không củng cố hành vi la hét, khoa học hành vi (ABA hiện đại / ESDM) áp dụng 3 bước “Hạ cánh mềm Dopamine”:
-
Tuyệt đối không “Ngắt cầu dao đột ngột” (No Cold-Turkey Removal): Đừng bao giờ giật hoặc lấy món đồ chơi đi ngay lập tức. Thay vào đó, hãy dùng Đồng hồ cát hoặc Đồng hồ đếm ngược trực quan bằng hình ảnh(Visual Timer) báo trước 2 phút. Khi mắt bé nhìn thấy vạch màu đỏ đang cạn dần, Vỏ não trước trán được chuẩn bị trước, lượng Dopamine sẽ giảm từ từ theo đường dốc thoải chứ không rơi thẳng đứng xuống vực.
-
Kỹ thuật “Đổi ngang giá trị” (Dopamine Bridging – Bắc cầu): Trước khi lấy món đồ A ra khỏi tay bé 2 giây, hãy đưa sẵn món đồ B (hoặc một kích thích cảm giác mạnh mà bé thích ở Nhánh A như nhột, tung hứng, đồ ăn vặt yêu thích) vào tầm mắt của bé. Khi tay phải bé vừa chạm vào món B (Dopamine từ món B bắt đầu tiết ra), lúc đó mới nhẹ nhàng rút món A đi. Não bé không bị rơi vào “khoảng trống Dopamine”.
-
Tập luyện “Trì hoãn 3 giây” (Micro-Delay Tolerance): Khi bé đòi một món đồ, thay vì từ chối thẳng thừng (“Không!”) hoặc đưa ngay lập tức, hãy giữ món đồ trong tầm nhìn của bé, đếm chậm từng nhịp “1… 2… 3… Của con đây!” rồi đưa cho bé ngay trước khi bé kịp cáu. Khi Vỏ não trước trán quen với 3 giây, nâng dần lên 5 giây, 10 giây. Đây chính là bài tập “tập tạ” trực tiếp cho các thụ thể Alpha-2A tại Vỏ não trước trán!
Nguồn: Nghiên cứu với sự hỗ trợ của AI.
[Tự kỷ] ASSQ: Bảng câu hỏi sàng lọc phổ tự kỷ chức năng cao ở trẻ học đường (7 – 16 tuổi)
(function() { const host = document.getElementById('assq-wp-host'); if (!host) return; const placeholder = document.createComment('assq-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // 27 câu hỏi chuẩn ASSQ (Ehlers, Gillberg & Wing, 1999) // dom: 'soc' (Tương tác xã hội - 11 câu), 'com' (Giao tiếp & Ngữ dụng - 6 câu), 'rrb' (Cứng nhắc & Lặp lại - 5 câu), 'mot' (Vận động & Biểu cảm/Tics - 5 câu) const questions = [ { id: 1, dom: 'com', cat: 'Phong cách ngôn ngữ', t: 'Cách nói chuyện và cư xử già dặn kiểu "ông cụ non" (kiểu cách, sách vở hơn bạn cùng tuổi).' }, { id: 2, dom: 'soc', cat: 'Hình ảnh trong mắt bạn bè', t: 'Được các bạn cùng trang lứa coi như một "giáo sư lập dị" (biết rất nhiều về vài thứ nhưng xa rời thực tế).' }, { id: 3, dom: 'soc', cat: 'Thế giới nội tâm', t: 'Sống như trong thế giới riêng của bản thân với những mối quan tâm trí tuệ hẹp và mang tính cá nhân.' }, { id: 4, dom: 'rrb', cat: 'Trí nhớ cơ học', t: 'Tích lũy các sự kiện, số liệu về một số chủ đề nhất định (trí nhớ cơ học rất tốt) nhưng không thực sự hiểu sâu ý nghĩa tổng thể.' }, { id: 5, dom: 'com', cat: 'Hiểu theo nghĩa đen', t: 'Hiểu ngôn ngữ theo đúng nghĩa đen; không hiểu được nghĩa bóng, ẩn dụ, lời nói đùa hoặc châm biếm.' }, { id: 6, dom: 'com', cat: 'Diễn đạt lệch chuẩn', t: 'Có phong cách giao tiếp lệch chuẩn: cách diễn đạt trang trọng quá mức, cầu kỳ, cổ điển hoặc cứng nhắc như "robot".' }, { id: 7, dom: 'com', cat: 'Từ ngữ tự tạo', t: 'Tự bịa ra các từ ngữ hoặc cách diễn đạt riêng biệt không giống ai.' }, { id: 8, dom: 'com', cat: 'Giọng điệu khác lạ', t: 'Có giọng nói hoặc cách phát âm khác thường (quá to, quá nhỏ, đều đều một tông giọng, hoặc ngữ điệu kỳ lạ).' }, { id: 9, dom: 'mot', cat: 'Âm thanh không chủ đích', t: 'Phát âm ra những âm thanh không chủ đích như: hắng giọng, khịt mũi, tặc lưỡi, rên rỉ hoặc kêu lên bất chợt.' }, { id: 10, dom: 'rrb', cat: 'Năng lực không đồng đều', t: 'Phong độ học tập/thực hiện nhiệm vụ rất thất thường: cực kỳ xuất sắc ở một số mảng nhưng lại rất kém ở những mảng đơn giản khác.' }, { id: 11, dom: 'com', cat: 'Ngữ dụng xã hội', t: 'Sử dụng ngôn ngữ trôi chảy nhưng thất bại trong việc điều chỉnh lời nói cho phù hợp với ngữ cảnh xã hội hoặc người nghe.' }, { id: 12, dom: 'soc', cat: 'Thấu cảm xã hội', t: 'Thiếu sự đồng cảm (không nhận ra hoặc không thấu hiểu được cảm xúc của người khác).' }, { id: 13, dom: 'soc', cat: 'Nhận xét thiếu tinh tế', t: 'Hay đưa ra những nhận xét ngây thơ, thẳng thừng làm người khác ngượng ngùng mà không nhận thức được.' }, { id: 14, dom: 'soc', cat: 'Giao tiếp ánh mắt', t: 'Có kiểu nhìn chằm chằm hoặc giao tiếp ánh mắt lệch chuẩn (tránh nhìn mắt hoặc nhìn cứng nhắc).' }, { id: 15, dom: 'soc', cat: 'Thiết lập quan hệ bạn bè', t: 'Có mong muốn hòa đồng với bạn bè nhưng luôn thất bại trong việc thiết lập và duy trì mối quan hệ với bạn cùng lứa.' }, { id: 16, dom: 'soc', cat: 'Tương tác một chiều', t: 'Chỉ có thể ở bên cạnh các bạn khác nếu mọi người chịu làm theo đúng luật lệ và điều kiện của trẻ.' }, { id: 17, dom: 'soc', cat: 'Tình bạn thân thiết', t: 'Thiếu vắng một người bạn thân thực sự.' }, { id: 18, dom: 'soc', cat: 'Phán đoán tình huống', t: 'Thiếu "lẽ thường" (common sense) trong các tình huống ứng xử đời sống hàng ngày.' }, { id: 19, dom: 'soc', cat: 'Phối hợp nhóm / Đồng đội', t: 'Kém trong các trò chơi đồng đội: không có khái niệm hợp tác nhóm mà chỉ tự tính điểm/chơi theo ý riêng.' }, { id: 20, dom: 'mot', cat: 'Phối hợp vận động', t: 'Có cử chỉ hoặc dáng chạy nhảy, vận động vụng về, thiếu sự phối hợp nhịp nhàng và uyển chuyển.' }, { id: 21, dom: 'mot', cat: 'Cử động không chủ đích', t: 'Có những cử động khuôn mặt hoặc cơ thể không chủ đích (nháy mắt, nhăn mặt, vặn vẹo tay chân).' }, { id: 22, dom: 'rrb', cat: 'Hành vi bắt buộc lặp lại', t: 'Gặp khó khăn trong việc hoàn thành các sinh hoạt cá nhân hàng ngày do cứ phải lặp đi lặp lại một số hành động hoặc suy nghĩ bắt buộc.' }, { id: 23, dom: 'rrb', cat: 'Nghi thức cứng nhắc', t: 'Có những thói quen/nghi thức đặc biệt: luôn khăng khăng không cho phép bất kỳ sự thay đổi nào.' }, { id: 24, dom: 'rrb', cat: 'Gắn bó đồ vật khác lạ', t: 'Có sự gắn bó khác thường với một số đồ vật nhất định (sưu tầm hoặc luôn mang theo những thứ không phù hợp lứa tuổi).' }, { id: 25, dom: 'soc', cat: 'Nguy cơ bị bắt nạt', t: 'Thường bị những đứa trẻ khác trêu chọc, bắt nạt hoặc cô lập.' }, { id: 26, dom: 'mot', cat: 'Biểu cảm nét mặt', t: 'Có biểu cảm khuôn mặt khác thường (ít biểu cảm, đơ cứng hoặc biểu cảm lệch pha với hoàn cảnh).' }, { id: 27, dom: 'mot', cat: 'Tư thế cơ thể', t: 'Có tư thế cơ thể hoặc dáng đứng/dáng ngồi khác thường, cứng nhắc.' } ]; let answers = {}; let rater = 'parent'; // 'parent' (Cut-off >= 19) | 'teacher' (Cut-off >= 22) let filterDom = 'all'; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .assq-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .assq-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .assq-inner { padding: 24px; max-width: 920px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .assq-wrap.is-fullscreen .assq-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .assq-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(124, 58, 237, 0.45), 0 0 0 0 rgba(124, 58, 237, 0.4); } 70% { box-shadow: 0 6px 20px rgba(124, 58, 237, 0.45), 0 0 0 10px rgba(124, 58, 237, 0); } 100% { box-shadow: 0 6px 20px rgba(124, 58, 237, 0.45), 0 0 0 0 rgba(124, 58, 237, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #6d28d9 0%, #7c3aed 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(124, 58, 237, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Header */ .assq-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .assq-header-text { flex: 1 1 260px; } .assq-title { font-size: 21px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .assq-desc { font-size: 14px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #f5f3ff; color: #6d28d9; border: 1px solid #ddd6fe; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #7c3aed; color: #ffffff; border-color: #7c3aed; } /* Khu vực chọn Người đánh giá & Kịch bản mẫu */ .assq-top-controls { display: grid; grid-template-columns: 1fr 1.25fr; gap: 12px; margin-bottom: 14px; } .assq-box-ctrl { background: #f8fafc; border: 1px solid #e2e8f0; padding: 10px 12px; border-radius: 10px; } .assq-ctrl-label { font-size: 12px; font-weight: 700; color: #475569; text-transform: uppercase; margin-bottom: 6px; display: block; } .assq-rater-group, .assq-preset-group { display: flex; flex-wrap: wrap; gap: 6px; } .assq-btn-sm { padding: 6px 10px; border-radius: 7px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; flex: 1; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .assq-btn-sm:hover { background: #f1f5f9; } .assq-btn-sm.active { background: #6d28d9; color: #ffffff; border-color: #6d28d9; } .assq-btn-sm.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; flex: 0 0 auto; } /* Bộ lọc 4 nhóm triệu chứng */ .assq-domain-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 16px; } .assq-dtab { padding: 6px 12px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .assq-dtab.active { background: #6d28d9; color: #ffffff; border-color: #6d28d9; } /* Bảng điểm nổi (Sticky Dashboard) */ .assq-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .assq-wrap.is-fullscreen .assq-dash { top: 58px; } .assq-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .assq-score-big { font-size: 24px; font-weight: 800; line-height: 1; } .assq-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .assq-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .assq-bar-bg { height: 10px; background: #334155; border-radius: 5px; overflow: hidden; margin-bottom: 12px; } .assq-bar-fill { height: 100%; width: 0%; background: #10b981; transition: width 0.35s ease, background 0.35s ease; } .assq-pillars { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; font-size: 12px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .assq-pillar-box { background: #1e293b; padding: 7px 10px; border-radius: 8px; } .assq-pillar-val { font-weight: 700; color: #ffffff; font-size: 13.5px; display: block; margin-top: 2px; } /* Danh sách 27 câu hỏi */ .assq-q-item { border: 1px solid #e2e8f0; border-radius: 10px; padding: 14px 16px; margin-bottom: 12px; background: #ffffff; transition: all 0.2s ease; } .assq-q-item.risk-high { border-color: #fca5a5; background: #fff5f5; } .assq-q-item.risk-mid { border-color: #fde68a; background: #fffbeb; } .assq-q-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 14px; } .assq-q-text { font-size: 14.5px; font-weight: 600; color: #1e293b; line-height: 1.5; flex: 1; } .assq-q-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; } .assq-tag { font-size: 11px; font-weight: 600; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .assq-tag.dom-soc { background: #dbeafe; color: #1d4ed8; } .assq-tag.dom-com { background: #f3e8ff; color: #7e22ce; } .assq-tag.dom-rrb { background: #fef3c7; color: #b45309; } .assq-tag.dom-mot { background: #dcfce7; color: #15803d; } .assq-ans-group { display: flex; gap: 6px; flex-shrink: 0; } .assq-abtn { min-width: 78px; padding: 8px 10px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 700; color: #334155; cursor: pointer; transition: all 0.15s ease; touch-action: manipulation; } .assq-abtn:hover { border-color: #64748b; } .assq-abtn.sel-0 { background: #10b981; border-color: #10b981; color: #ffffff; } .assq-abtn.sel-1 { background: #f59e0b; border-color: #f59e0b; color: #ffffff; } .assq-abtn.sel-2 { background: #ef4444; border-color: #ef4444; color: #ffffff; } .assq-result-box { margin-top: 20px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #64748b; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 680px) { .assq-inner { padding: 14px; } .assq-title { font-size: 18px; } .assq-top-controls { grid-template-columns: 1fr; } .assq-pillars { grid-template-columns: 1fr 1fr; } .assq-q-head { flex-direction: column; } .assq-ans-group { width: 100%; } .assq-abtn { flex: 1; padding: 10px 6px; font-size: 12px; min-width: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
Bảng Câu Hỏi Sàng Lọc Phổ Tự Kỷ ASSQ (7 – 16 Tuổi)
Đánh giá 27 biểu hiện hành vi theo thang điểm 0 – 1 – 2 (Tổng điểm tối đa: 54 điểm). Công cụ chuẩn hóa cho cả Phụ huynh (Ngưỡng cắt ≥ 19 điểm) và Giáo viên (Ngưỡng cắt ≥ 22 điểm) nhằm phát hiện sớm Tự kỷ chức năng cao / Asperger ở lứa tuổi học đường.
• Tổng điểm thấp hơn cả ngưỡng cảnh báo sớm (${warnCut} điểm) và ngưỡng cắt lâm sàng (≥ ${highCut} điểm dành cho ${raterLabel}).
• Trẻ không bộc lộ sự khác biệt lan tỏa về giao tiếp ngữ dụng hay tương tác bạn bè so với nhóm tuổi. `; } else if (total < highCut) { color = '#f59e0b'; badgeTxt = `VÙNG CẢNH BÁO (${total}/54 điểm)`; analysis = ` Kết luận sàng lọc ASSQ (${raterLabel}) — Vùng Cảnh Báo Giáp Ranh (${total}/54 điểm, ngưỡng cắt ≥ ${highCut}):
• Hồ sơ 4 lĩnh vực: Tương tác xã hội (${soc}/22) • Giao tiếp & Ngôn ngữ (${com}/12) • Cứng nhắc & Lặp lại (${rrb}/10) • Vận động & Biểu cảm (${mot}/10).
• Khuyến nghị: Nên cho cả Phụ huynh và Giáo viên cùng chấm độc lập trên thang ASSQ để đối chiếu hành vi của trẻ ở nhà và ở trường, đồng thời theo dõi kỹ năng kết bạn và hòa nhập nhóm. `; } else { color = '#ef4444'; badgeTxt = `NGUY CƠ CAO ASD (≥ ${highCut}: ${total}/54đ)`; analysis = ` Kết luận sàng lọc ASSQ (${raterLabel}) — Vượt Ngưỡng Điểm Cắt Lâm Sàng (Đạt ${total}/54 điểm, ngưỡng cắt ≥ ${highCut}):
• Kết quả sàng lọc dương tính trên thang ASSQ với các biểu hiện rõ nét ở: Tương tác xã hội (${soc}/22), Giao tiếp ngữ dụng (${com}/12), Thói quen cứng nhắc (${rrb}/10) và Đặc điểm vận động/biểu cảm (${mot}/10).
• Hướng xử trí chuẩn: Cần chuyển gửi trẻ khám chuyên khoa Tâm bệnh / Tâm lý lâm sàng để đánh giá chẩn đoán bằng ADOS-2 (Module 3/4), ADI-R và đánh giá hành vi thích ứng Vineland-3. `; } barFillEl.style.background = color; badgeEl.textContent = badgeTxt; badgeEl.style.background = color; badgeEl.style.color = '#ffffff'; resBoxEl.style.borderLeftColor = color; resBoxEl.innerHTML = analysis; updateFloatingFabVisibility(); } function applyPreset(type) { answers = {}; if (type === 'reset') { renderQuestions(); updateSummary(); return; } questions.forEach(function(q) { answers[q.id] = 0; }); if (type === 'typical') { answers[1] = 1; answers[4] = 2; answers[20] = 1; // 4 điểm } else if (type === 'border') { // 16 điểm [1, 2, 4, 5, 6, 11, 13, 15, 17, 19, 20].forEach(function(id, idx) { answers[id] = (idx < 5) ? 2 : 1; }); } else if (type === 'hfasd') { // 28 điểm [1, 2, 3, 4, 5, 6, 8, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 23, 25].forEach(function(id, idx) { answers[id] = (idx < 9) ? 2 : 1; }); } renderQuestions(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); assqWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { assqWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 900px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } shadow.querySelectorAll('#raterGroup .assq-btn-sm').forEach(function(btn) { btn.onclick = function() { rater = this.getAttribute('data-rater'); shadow.querySelectorAll('#raterGroup .assq-btn-sm').forEach(b => b.classList.remove('active')); this.classList.add('active'); updateSummary(); }; }); shadow.querySelectorAll('#presetGroup .assq-btn-sm').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-pre')); }; }); shadow.querySelectorAll('#domainTabs .assq-dtab').forEach(function(tab) { tab.onclick = function() { filterDom = this.getAttribute('data-dom'); shadow.querySelectorAll('#domainTabs .assq-dtab').forEach(t => t.classList.remove('active')); this.classList.add('active'); renderQuestions(); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); applyPreset('hfasd'); })();
ASSQ (Autism Spectrum Screening Questionnaire — Bảng câu hỏi Sàng lọc Phổ Tự kỷ) là công cụ sàng lọc lâm sàng do Stephan Ehlers, Christopher Gillberg và Lorna Wing phát triển (1999).
-
Mục đích lâm sàng: Chuyên dùng để sàng lọc các dấu hiệu Rối loạn phổ tự kỷ chức năng cao (High-Functioning Autism / Hội chứng Asperger trước đây) ở trẻ em và thanh thiếu niên có trí tuệ trong giới hạn bình thường hoặc cao nhưng gặp khó khăn đặc trưng về tương tác xã hội, ngôn ngữ ngữ dụng, thói quen cứng nhắc và sự vụng về vận động.
-
Độ tuổi áp dụng: 7 đến 16 tuổi (Bậc Tiểu học & Trung học cơ sở).
-
Người thực hiện: Được thiết kế để cả Phụ huynh VÀ Giáo viên cùng đánh giá độc lập dựa trên việc so sánh hành vi của trẻ với các bạn cùng trang lứa.
-
Cấu trúc 27 câu hỏi & Thang điểm (0 – 1 – 2):
-
Gồm 27 mục hành vi chia vào 4 nhóm triệu chứng: Tương tác xã hội (11 câu), Giao tiếp & Ngôn ngữ (6 câu), Hành vi hạn hẹp & Lặp lại (5 câu), Vận động & Cử động/Âm thanh bất thường (5 câu).
-
Chấm theo 3 mức độ:
0(Không đúng),1(Đúng một phần / Đôi khi),2(Hoàn toàn đúng / Nổi bật rõ rệt).
-
-
Ngưỡng điểm cắt chuẩn hóa (Cut-off Score trên thang 0 – 54 điểm):
-
Khi Phụ huynh đánh giá: điểm → Nguy cơ cao thuộc Phổ tự kỷ.
-
Khi Giáo viên đánh giá: điểm → Nguy cơ cao thuộc Phổ tự kỷ.
-
Từ 13 – 18 điểm (Phụ huynh) hoặc 15 – 21 điểm (Giáo viên): Vùng cảnh báo giáp ranh cần theo dõi và đối chiếu giữa gia đình – nhà trường.
-
Nguồn: Tài liệu gốc cùng sự hỗ trợ biên tập nội dung với AI.
[Đo lường IQ] WISC-V: Thang đo trí tuệ Wechsler đánh giá toàn diện nhận thức và chỉ số IQ cho trẻ em (6-16 tuổi)
(function() { const host = document.getElementById('wisc5-wp-host'); if (!host) return; const placeholder = document.createComment('wisc5-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // Cấu hình 5 Chỉ số Chính (Primary Index Scales) của WISC-V const indexConfigs = { vci: { code: 'vci', short: 'VCI', name: '1. Hiểu Lời nói (Verbal Comprehension - VCI)', color: '#2563eb' }, vsi: { code: 'vsi', short: 'VSI', name: '2. Không gian Thị giác (Visual Spatial - VSI)', color: '#0d9488' }, fri: { code: 'fri', short: 'FRI', name: '3. Tư duy Lưu loát / Logic (Fluid Reasoning - FRI)', color: '#7c3aed' }, wmi: { code: 'wmi', short: 'WMI', name: '4. Trí nhớ Làm việc (Working Memory - WMI)', color: '#f59e0b' }, psi: { code: 'psi', short: 'PSI', name: '5. Tốc độ Xử lý (Processing Speed - PSI)', color: '#dc2626' } }; // Đầy đủ 10 Tiểu trắc nghiệm Chính (Primary Subtests) của WISC-V // inFSIQ: true đối với 7 tiểu trắc nghiệm dùng để tính FSIQ // inGAI: true đối với 5 tiểu trắc nghiệm dùng để tính GAI (General Ability Index) // inCPI: true đối với 4 tiểu trắc nghiệm dùng để tính CPI (Cognitive Proficiency Index) // inNVI: true đối với 6 tiểu trắc nghiệm dùng để tính NVI (Nonverbal Index) const subtests = [ { id: 'SI', idx: 'vci', inFSIQ: true, inGAI: true, inCPI: false, inNVI: false, name: '1. Tương đồng (Similarities - SI) ★ [Thuộc FSIQ & GAI]', desc: 'Trẻ được nghe 2 từ chỉ các đồ vật hoặc khái niệm thông thường và phải giải thích xem chúng giống nhau ở điểm bản chất nào (VD: "Đỏ và Xanh giống nhau thế nào?", "Tức giận và Vui vẻ giống nhau thế nào?").', measure: 'Đo lường tư duy hình thành khái niệm bằng lời và khả năng suy luận trừu tượng ngôn ngữ.' }, { id: 'VC', idx: 'vci', inFSIQ: true, inGAI: true, inCPI: false, inNVI: false, name: '2. Từ vựng (Vocabulary - VC) ★ [Thuộc FSIQ & GAI]', desc: 'Trẻ gọi tên các bức tranh (ở mục đầu) và định nghĩa ý nghĩa của các từ vựng có độ trừu tượng tăng dần do người khám đọc to.', measure: 'Đo lường vốn từ vựng tích lũy, trí nhớ dài hạn về ngôn ngữ và mức độ phát triển biểu đạt lời nói.' }, { id: 'BD', idx: 'vsi', inFSIQ: true, inGAI: true, inCPI: false, inNVI: true, name: '3. Xếp khối Kohs (Block Design - BD) ★ [Thuộc FSIQ, GAI & NVI]', desc: 'Trong thời gian giới hạn, trẻ quan sát mô hình mẫu (hoặc tranh 2D) và dùng các khối lập phương hai màu Đỏ - Trắng để xếp lại đúng hình mẫu đó.', measure: 'Đo lường khả năng phân tích – tổng hợp thị giác không gian và phối hợp thị giác – vận động (Thường là thế mạnh nổi bật ở trẻ Tự kỷ - ASD).' }, { id: 'VP', idx: 'vsi', inFSIQ: false, inGAI: false, inCPI: false, inNVI: true, name: '4. Ghép hình Thị giác (Visual Puzzles - VP) [Thuộc VSI & NVI]', desc: 'Trẻ nhìn một hình hoàn chỉnh và phải chọn ra đúng 3 mảnh ghép rời từ 6 lựa chọn để khi xoay/ghép lại trong đầu sẽ tạo thành hình mẫu (không dùng tay chạm).', measure: 'Đo lường khả năng xoay hình trong tâm trí và tư duy không gian thị giác thuần túy không phụ thuộc vận động tay.' }, { id: 'MR', idx: 'fri', inFSIQ: true, inGAI: true, inCPI: false, inNVI: true, name: '5. Ma trận Suy luận (Matrix Reasoning - MR) ★ [Thuộc FSIQ, GAI & NVI]', desc: 'Trẻ xem một ma trận hình ảnh hoặc chuỗi hình bị khuyết một ô và chọn mảnh ghép đúng quy luật logic từ các phương án bên dưới.', measure: 'Đo lường trí thông minh lưu loát (Fluid Intelligence), suy luận quy nạp hình ảnh phi ngôn ngữ.' }, { id: 'FW', idx: 'fri', inFSIQ: true, inGAI: true, inCPI: false, inNVI: true, name: '6. Cân Trọng lượng (Figure Weights - FW) ★ [Thuộc FSIQ, GAI & NVI]', desc: 'Trẻ quan sát các chiếc cân thăng bằng có đặt các hình khối/vật thể và chọn đáp án đúng để giúp chiếc cân còn trống giữ được trạng thái cân bằng.', measure: 'Đo lường tư duy suy luận định lượng, logic đại số sơ cấp và suy diễn tương quan.' }, { id: 'DS', idx: 'wmi', inFSIQ: true, inGAI: false, inCPI: true, inNVI: false, name: '7. Nhớ Dãy số (Digit Span - DS) ★ [Thuộc FSIQ & CPI]', desc: 'Gồm 3 phần: Nhắc lại dãy số Xuôi (Forward), Nhắc lại dãy số Ngược từ cuối lên đầu (Backward) và Sắp xếp lại dãy số theo thứ tự từ nhỏ đến lớn (Sequencing).', measure: 'Đo lường trí nhớ làm việc thính giác, khả năng tập trung chú ý và thao tác tinh thần trên con số.' }, { id: 'PS', idx: 'wmi', inFSIQ: false, inGAI: false, inCPI: true, inNVI: true, name: '8. Nhớ Chuỗi tranh (Picture Span - PS) [Thuộc WMI, CPI & NVI]', desc: 'Trẻ nhìn một trang có một hoặc nhiều bức tranh trong vài giây, sau đó lật sang trang sau và phải chỉ lại đúng các bức tranh đó theo đúng thứ tự đã xuất hiện.', measure: 'Đo lường dung lượng trí nhớ làm việc thị giác và kiểm soát sự chú ý hình ảnh.' }, { id: 'CD', idx: 'psi', inFSIQ: true, inGAI: false, inCPI: true, inNVI: true, name: '9. Mã hóa (Coding - CD) ★ [Thuộc FSIQ, CPI & NVI]', desc: 'Trong vòng 120 giây, trẻ dùng bút chì chép lại thật nhanh các ký hiệu hình học tương ứng với từng con số (hoặc hình mẫu) theo bảng khóa cho sẵn.', measure: 'Đo lường tốc độ xử lý thông tin thị giác – vận động, sự linh hoạt viết vẽ và duy trì chú ý.' }, { id: 'SS', idx: 'psi', inFSIQ: false, inGAI: false, inCPI: true, inNVI: false, name: '10. Tìm Biểu tượng (Symbol Search - SS) [Thuộc PSI & CPI]', desc: 'Trong vòng 120 giây, trẻ quét mắt thật nhanh qua từng hàng biểu tượng để gạch chọn xem biểu tượng mục tiêu bên trái có xuất hiện trong nhóm bên phải hay không.', measure: 'Đo lường tốc độ quét phân biệt thị giác và ra quyết định nhận thức nhanh.' } ]; // scaledScores[id] lưu Điểm chuẩn Tiểu trắc nghiệm từ 1 đến 19 (Trung bình dân số = 10, SD = 3) let scaledScores = {}; let filterIdx = 'all'; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .w5-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .w5-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .w5-inner { padding: 24px; max-width: 980px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .w5-wrap.is-fullscreen .w5-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .w5-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 0 rgba(37, 99, 235, 0.4); } 70% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 10px rgba(37, 99, 235, 0); } 100% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 0 rgba(37, 99, 235, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #1e3a8a 0%, #2563eb 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Header */ .w5-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .w5-header-text { flex: 1 1 260px; } .w5-title { font-size: 21px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .w5-desc { font-size: 14px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #eff6ff; color: #1d4ed8; border: 1px solid #bfdbfe; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #2563eb; color: #ffffff; border-color: #2563eb; } /* Controls */ .w5-presets { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; margin-bottom: 14px; } .w5-lbl { font-size: 12px; font-weight: 800; color: #0f172a; text-transform: uppercase; margin-right: 4px; } .w5-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; touch-action: manipulation; } .w5-pbtn:hover { background: #f1f5f9; } .w5-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } .w5-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 16px; } .w5-tab { padding: 6px 12px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .w5-tab.active { background: #2563eb; color: #ffffff; border-color: #2563eb; } /* Sticky Dashboard */ .w5-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .w5-wrap.is-fullscreen .w5-dash { top: 58px; } .w5-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .w5-score-big { font-size: 21px; font-weight: 800; line-height: 1.2; } .w5-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .w5-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .w5-pillars { display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; font-size: 11.5px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .w5-pillar-box { background: #1e293b; padding: 7px 9px; border-radius: 8px; border-left: 3px solid #475569; } .w5-pillar-box.high { border-left-color: #3b82f6; background: rgba(59, 130, 246, 0.15); } .w5-pillar-box.avg { border-left-color: #10b981; } .w5-pillar-box.low { border-left-color: #f59e0b; background: rgba(245, 158, 11, 0.14); } .w5-pillar-box.imp { border-left-color: #ef4444; background: rgba(239, 68, 68, 0.16); } .w5-pillar-val { font-weight: 800; color: #ffffff; font-size: 13.5px; display: block; margin-top: 2px; } /* Danh sách 10 Tiểu trắc nghiệm */ .w5-item { border: 1px solid #e2e8f0; border-radius: 12px; padding: 15px 16px; margin-bottom: 12px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 8px; } .w5-item.ss-high { border-color: #93c5fd; background: #eff6ff; } .w5-item.ss-avg { border-color: #a7f3d0; background: #f0fdf4; } .w5-item.ss-low { border-color: #fde68a; background: #fffbeb; } .w5-item.ss-imp { border-color: #fca5a5; background: #fff5f5; } .w5-item-title { font-size: 15px; font-weight: 800; color: #0f172a; } .w5-item-desc { font-size: 13.5px; color: #334155; } .w5-item-meas { font-size: 12.5px; color: #475569; background: rgba(15, 23, 42, 0.03); padding: 6px 10px; border-radius: 6px; border-left: 3px solid #94a3b8; } .w5-tags { display: flex; flex-wrap: wrap; gap: 6px; } .w5-tag { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } /* 7 mốc chọn nhanh Scaled Score (1 -> 19, Mean = 10, SD = 3) */ .w5-scale-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 6px; margin-top: 4px; } .w5-sbtn { padding: 8px 4px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .w5-sbtn:hover { border-color: #64748b; } .w5-sbtn-num { font-size: 13px; font-weight: 800; display: block; color: #0f172a; } .w5-sbtn-lbl { font-size: 10.5px; color: #64748b; display: block; margin-top: 1px; } .w5-sbtn.sel-imp { background: #ef4444; border-color: #ef4444; } .w5-sbtn.sel-low { background: #f59e0b; border-color: #f59e0b; } .w5-sbtn.sel-avg { background: #10b981; border-color: #10b981; } .w5-sbtn.sel-high { background: #2563eb; border-color: #2563eb; } .w5-sbtn.sel-imp .w5-sbtn-num, .w5-sbtn.sel-imp .w5-sbtn-lbl, .w5-sbtn.sel-low .w5-sbtn-num, .w5-sbtn.sel-low .w5-sbtn-lbl, .w5-sbtn.sel-avg .w5-sbtn-num, .w5-sbtn.sel-avg .w5-sbtn-lbl, .w5-sbtn.sel-high .w5-sbtn-num, .w5-sbtn.sel-high .w5-sbtn-lbl { color: #ffffff; } /* Bảng tổng hợp 5 Chỉ số chính + FSIQ + 3 Chỉ số phụ (GAI, CPI, NVI) */ .w5-table-card { margin-top: 20px; padding: 16px 18px; border-radius: 12px; background: #ffffff; border: 1px solid #e2e8f0; overflow-x: auto; } .w5-table { width: 100%; border-collapse: collapse; font-size: 13px; min-width: 640px; } .w5-table th, .w5-table td { border: 1px solid #cbd5e1; padding: 8px 10px; text-align: center; } .w5-table th { background: #f1f5f9; font-weight: 800; color: #0f172a; } .w5-result-box { margin-top: 16px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #2563eb; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 760px) { .w5-inner { padding: 14px; } .w5-title { font-size: 18px; } .w5-pillars { grid-template-columns: 1fr 1fr; } .w5-scale-grid { grid-template-columns: repeat(4, 1fr); } .w5-pbtn.reset { margin-left: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
Thang Đo Trí Tuệ Wechsler Dành Cho Trẻ Em WISC-V (6 Tuổi – 16 Tuổi 11 Tháng • 10 Tiểu Trắc Nghiệm)
Công cụ tiêu chuẩn vàng đánh giá năng lực nhận thức trẻ em theo mô hình CHC qua 5 Chỉ số Chính: Hiểu Lời nói (VCI), Không gian Thị giác (VSI), Tư duy Lưu loát (FRI), Trí nhớ Làm việc (WMI), Tốc độ Xử lý (PSI), cùng IQ Toàn thang (FSIQ) và 3 Chỉ số Phụ Lâm sàng (GAI, CPI, NVI).
| Thang Chỉ số WISC-V (Index Scale) | Các Tiểu trắc nghiệm cấu thành | Tổng Scaled Scores | Điểm Chuẩn (Composite: 40–160) | Bách phân vị (Percentile) | Phân loại Chuẩn Wechsler |
|---|
')} `; updateFloatingFabVisibility(); } function applyPreset(type) { scaledScores = {}; subtests.forEach(st => { scaledScores[st.id] = 10; }); if (type === 'reset') { renderItems(); updateSummary(); return; } if (type === 'asd_profile') { // Kiểu hình ASD điển hình: Xếp khối (BD=15) & Ma trận (MR=13) rất giỏi, nhưng Từ vựng/Tương đồng (SI=7, VC=7) và Tốc độ xử lý (CD=5, SS=7) thấp scaledScores = { SI: 7, VC: 7, BD: 15, VP: 13, MR: 13, FW: 13, DS: 10, PS: 10, CD: 5, SS: 7 }; } else if (type === 'adhd_profile') { // Kiểu hình ADHD: VCI, VSI, FRI tốt (SS=13), nhưng Trí nhớ làm việc (DS=7, PS=7) và Tốc độ xử lý (CD=5, SS=7) tụt sâu -> GAI ~116, CPI ~81 scaledScores = { SI: 13, VC: 13, BD: 13, VP: 13, MR: 13, FW: 13, DS: 7, PS: 7, CD: 5, SS: 7 }; } else if (type === 'idd_profile') { // Khuyết tật trí tuệ (IDD): Tất cả các tiểu trắc nghiệm đều ở mức SS = 3 - 5 -> FSIQ ~63 ( FSIQ >= 130 scaledScores = { SI: 17, VC: 17, BD: 15, VP: 15, MR: 17, FW: 15, DS: 15, PS: 15, CD: 13, SS: 13 }; } renderItems(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); w5Wrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { w5Wrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 980px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } shadow.querySelectorAll('.w5-pbtn').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-preset')); }; }); shadow.querySelectorAll('#idxTabs .w5-tab').forEach(function(tab) { tab.onclick = function() { filterIdx = this.getAttribute('data-idx'); shadow.querySelectorAll('#idxTabs .w5-tab').forEach(t => t.classList.remove('active')); this.classList.add('active'); renderItems(); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); applyPreset('asd_profile'); })();
WISC-V (Wechsler Intelligence Scale for Children, Fifth Edition — Thang đo Trí tuệ Wechsler dành cho Trẻ em, Phiên bản 5) là “Tiêu chuẩn vàng” (Gold Standard) uy tín nhất thế giới hiện nay để đánh giá toàn diện năng lực nhận thức và chỉ số thông minh (IQ) cho trẻ em và thanh thiếu niên từ 6 tuổi 0 tháng đến 16 tuổi 11 tháng. Công cụ được phát triển dựa trên di sản của Tiến sĩ David Wechsler và được Pearson xuất bản năm 2014.
Trong đánh giá các rối loạn phát triển thần kinh (như Rối loạn phổ tự kỷ – ASD, Tăng động giảm chú ý – ADHD,Khuyết tật học tập đặc hiệu – SLD, và Rối loạn phát triển trí tuệ – IDD), WISC-V không chỉ dừng lại ở một con số IQ tổng quát. Giá trị lâm sàng đắt giá nhất của WISC-V là việc lập Biểu đồ Hồ sơ Nhận thức (Cognitive Profile) qua 5 chỉ số chính và 5 chỉ số phụ để phát hiện Sự phân tách / Độ lệch nội tại (Scatter / Discrepancy) giữa tư duy cốt lõi và hiệu suất xử lý thông tin.
1. Điểm đột phá của WISC-V so với bản WISC-IV cũ
Ở phiên bản WISC-IV trước đây, hệ thống chỉ có 4 Chỉ số chính (Hiểu lời nói – VCI, Tư duy tri giác – PRI, Trí nhớ làm việc – WMI, Tốc độ xử lý – PSI). Sang bản WISC-V, chỉ số Tư duy tri giác (PRI) đã được tách thành 2 chỉ số độc lập là Không gian Thị giác (VSI) và Tư duy Lưu loát / Suy luận Лоgic (FRI), nâng tổng số lên 5 Chỉ số Chính (Primary Index Scales) theo đúng lý thuyết cấu trúc trí tuệ hiện đại CHC (Cattell-Horn-Carroll):
[Giác quan] Sensory Profile 2: Công cụ đo lường rối loạn xử lý giác quan ở trẻ tự kỷ từ 0 tuổi đến trưởng thành
(function() { const host = document.getElementById('sp2-full-wp-host'); if (!host) return; const placeholder = document.createComment('sp2-full-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // Cấu hình 4 Góc phần tư chuẩn Winnie Dunn const quadConfigs = { seek: { code: 'seek', name: '1. Tìm kiếm cảm giác (Seeking / Seeker)', thresh: 'Ngưỡng Cao + Chủ động', color: '#f59e0b' }, avoi: { code: 'avoi', name: '2. Né tránh cảm giác (Avoiding / Avoider)', thresh: 'Ngưỡng Thấp + Chủ động', color: '#ef4444' }, sens: { code: 'sens', name: '3. Nhạy cảm giác quan (Sensitivity / Sensor)', thresh: 'Ngưỡng Thấp + Thụ động', color: '#8b5cf6' }, regi: { code: 'regi', name: '4. Đăng ký cảm giác thấp / Thờ ơ (Registration)', thresh: 'Ngưỡng Cao + Thụ động', color: '#0284c7' } }; // Cấu hình thông tin 5 Phiên bản theo độ tuổi & người đánh giá const versionConfigs = { infant: { code: 'infant', tabTitle: '👶 1. Infant (0 – 6 tháng)', tabSub: 'Nhũ nhi • Cha mẹ đánh giá', fullTitle: 'Infant Sensory Profile 2 — Dành Cho Trẻ Sơ Sinh & Nhũ Nhi (0 – 6 Tháng Tuổi)', desc: 'Đánh giá các phản ứng điều hòa giác quan sớm nhất của bé trong 6 tháng đầu đời (giấc ngủ, nhịp bú, phản ứng khi bế, tắm rửa, thay tã, âm thanh và ánh sáng) để hướng dẫn cha mẹ cách vỗ về và thiết lập môi trường chăm sóc êm dịu.', sections: [ { code: 'gen', name: '1. Điều hòa Chung & Giấc ngủ (General)', color: '#6366f1' }, { code: 'aud', name: '2. Thính giác Sơ sinh (Auditory)', color: '#2563eb' }, { code: 'vis', name: '3. Thị giác & Giao tiếp mắt (Visual)', color: '#0891b2' }, { code: 'tou', name: '4. Xúc giác: Bế ẵm, Tắm & Thay tã (Touch)', color: '#0d9488' }, { code: 'mov', name: '5. Tiền đình & Chuyển động đung đưa (Movement)', color: '#f59e0b' }, { code: 'ora', name: '6. Cảm giác Miệng & Bú mút (Oral)', color: '#dc2626' } ], items: [ // General (0-6m) { id: 1, sec: 'gen', quad: 'sens', t: 'Bé rất khó đi vào giấc ngủ hoặc cực kỳ dễ giật mình thức giấc chỉ vì một tiếng động hay thay đổi nhỏ trong phòng.' }, { id: 2, sec: 'gen', quad: 'avoi', t: 'Bé quấy khóc dữ dội và rất khó dỗ dành mỗi khi lịch sinh hoạt (giờ bú, giờ ngủ) hoặc người bế bị thay đổi.' }, { id: 3, sec: 'gen', quad: 'regi', t: 'Bé ngủ li bì quá nhiều, trông lờ đờ và rất ít khi chủ động thức dậy đòi bú.' }, { id: 4, sec: 'gen', quad: 'seek', t: 'Bé chỉ chịu nằm yên hoặc nín khóc khi được người lớn đung đưa liên tục, vỗ nhịp hoặc bật âm thanh trắng.' }, // Auditory (0-6m) { id: 5, sec: 'aud', quad: 'sens', t: 'Bé giật bắn mình, khóc thét hoặc chớp mắt liên tục khi nghe tiếng động bất ngờ (tiếng đóng cửa, tiếng ho, máy xay).' }, { id: 6, sec: 'aud', quad: 'avoi', t: 'Bé quay đầu đi hoặc khóc gắt lên khi ở nơi có nhiều người đang nói chuyện cùng lúc.' }, { id: 7, sec: 'aud', quad: 'regi', t: 'Bé không quay đầu tìm kiếm hoặc không có phản ứng gì khi bố mẹ gọi tên/trò chuyện ngay gần bên tai.' }, { id: 8, sec: 'aud', quad: 'seek', t: 'Bé tỏ ra phấn khích, đạp chân tay và tự phát ra nhiều âm thanh ê a khi nghe nhạc hoặc giọng nói vui nhộn.' }, // Visual (0-6m) { id: 9, sec: 'vis', quad: 'avoi', t: 'Bé quay mặt đi, nhắm chặt mắt hoặc quấy khóc khi nhìn thấy ánh đèn sáng hoặc khi người lớn đưa mặt lại gần nhìn trực diện.' }, { id: 10, sec: 'vis', quad: 'sens', t: 'Bé nhanh chóng bị quá tải, mỏi mệt hoặc nấc cụt/trớ sữa khi nhìn những đồ chơi treo nôi có quá nhiều màu sắc chuyển động.' }, { id: 11, sec: 'vis', quad: 'regi', t: 'Bé không nhìn theo khuôn mặt của mẹ hoặc đồ vật màu sắc di chuyển ngang qua tầm mắt.' }, { id: 12, sec: 'vis', quad: 'seek', t: 'Bé nhìn chằm chằm rất lâu vào quạt trần đang quay, bóng đèn hoặc các họa tiết tương phản mạnh.' }, // Touch (0-6m) { id: 13, sec: 'tou', quad: 'avoi', t: 'Bé ưỡn cong lưng, gồng cứng người hoặc đẩy ra khi được người lớn ôm ấp, bế áp sát vào lòng.' }, { id: 14, sec: 'tou', quad: 'sens', t: 'Bé khóc thét, cáu kỉnh mỗi khi được cởi quần áo, thay tã bỉm, lau mặt hoặc khi cho vào chậu nước tắm.' }, { id: 15, sec: 'tou', quad: 'regi', t: 'Bé không hề tỏ ra khó chịu hay khóc báo hiệu khi tã bỉm đã ướt sũng hoặc bẩn rất lâu.' }, { id: 16, sec: 'tou', quad: 'seek', t: 'Bé chỉ dễ chịu và ngủ ngon khi được quấn chũn (swaddle) thật chặt hoặc đắp chăn có độ nặng nhẹ lên ngực.' }, // Movement (0-6m) { id: 17, sec: 'mov', quad: 'sens', t: 'Bé khóc thét hoặc hốt hoảng dang hai tay (phản xạ Moro mạnh) mỗi khi được đặt nằm ngửa xuống giường hoặc nhấc bổng lên.' }, { id: 18, sec: 'mov', quad: 'avoi', t: 'Bé rất ghét tư thế nằm sấp (Tummy time) hoặc khi bị thay đổi tư thế đầu đột ngột.' }, { id: 19, sec: 'mov', quad: 'seek', t: 'Bé rất thích được bế nhún nhảy nhịp nhàng, đưa võng/nôi hoặc đẩy đi dạo bằng xe đẩy liên tục.' }, { id: 20, sec: 'mov', quad: 'regi', t: 'Cơ thể bé có vẻ mềm nhão (trương lực cơ thấp), ít đạp chân tay và chậm kiểm soát cổ hơn các bé cùng tháng tuổi.' }, // Oral (0-6m) { id: 21, sec: 'ora', quad: 'sens', t: 'Bé rất dễ bị sặc, ọe hoặc trớ sữa khi bú hoặc khi đổi từ ti mẹ sang bình sữa / núm ti giả khác chất liệu.' }, { id: 22, sec: 'ora', quad: 'regi', t: 'Bé mút sữa rất yếu, hay ngủ quên khi mới bú được vài hơi hoặc sữa chảy tràn ra hai bên khóe miệng.' }, { id: 23, sec: 'ora', quad: 'seek', t: 'Bé liên tục mút ngón tay, nắm tay hoặc mút ti giả/vạt áo rất mạnh ngay cả khi vừa mới bú no xong.' }, { id: 24, sec: 'ora', quad: 'avoi', t: 'Bé quay đầu né tránh, mím chặt môi hoặc khóc đẩy ra khi có bất kỳ vật gì (như thìa nhỏ, gạc rơ lưỡi) chạm vào môi.' } ] }, toddler: { code: 'toddler', tabTitle: '🧸 2. Toddler (7 – 35 tháng)', tabSub: 'Trẻ mới biết đi • Cha mẹ chấm', fullTitle: 'Toddler Sensory Profile 2 — Dành Cho Trẻ Mới Biết Đi (7 – 35 Tháng Tuổi)', desc: 'Đánh giá giai đoạn vàng từ 7 đến 35 tháng tuổi — thời điểm trẻ bắt đầu bò, đi, ăn thức ăn đặc và khám phá thế giới. Công cụ giúp phát hiện sớm các dấu hiệu rối loạn điều hòa giác quan thường đi kèm với chậm nói và nguy cơ tự kỷ sớm.', sections: [ { code: 'gen', name: '1. Điều hòa Sinh hoạt Chung (General)', color: '#6366f1' }, { code: 'aud', name: '2. Thính giác (Auditory)', color: '#2563eb' }, { code: 'vis', name: '3. Thị giác (Visual)', color: '#0891b2' }, { code: 'tou', name: '4. Xúc giác (Touch)', color: '#0d9488' }, { code: 'mov', name: '5. Tiền đình & Vận động (Movement)', color: '#f59e0b' }, { code: 'ora', name: '6. Cảm giác Miệng & Ăn dặm (Oral)', color: '#dc2626' }, { code: 'beh', name: '7. Hành vi & Cảm xúc Tương tác (Behavior)', color: '#7c3aed' } ], items: [ // General (7-35m) { id: 1, sec: 'gen', quad: 'sens', t: 'Bé rất khó dỗ khi quấy khóc và mất rất nhiều thời gian mới bình tĩnh lại được sau khi bị giật mình hoặc thất vọng.' }, { id: 2, sec: 'gen', quad: 'avoi', t: 'Bé bám chặt lấy mẹ, khóc thét và từ chối bước vào những nơi mới lạ hoặc có người lạ.' }, { id: 3, sec: 'gen', quad: 'regi', t: 'Bé có nhịp sinh học ngủ – thức thất thường và trông có vẻ chậm chạp, ít năng lượng hơn các bé cùng tuổi.' }, { id: 4, sec: 'gen', quad: 'seek', t: 'Bé chạy nhảy, leo trèo không ngừng nghỉ suốt cả ngày như "không biết mệt".' }, // Auditory (7-35m) { id: 5, sec: 'aud', quad: 'avoi', t: 'Bé lấy hai tay bịt chặt tai hoặc khóc chạy trốn khi nghe tiếng máy hút bụi, máy sấy tóc, máy xay sinh tố.' }, { id: 6, sec: 'aud', quad: 'regi', t: 'Bé không quay đầu lại khi bố mẹ gọi tên nhiều lần (dù bé nghe thấy ngay tiếng nhạc quảng cáo hoặc tiếng bóc bánh).' }, { id: 7, sec: 'aud', quad: 'sens', t: 'Bé giật mình hoặc dừng chơi ngay lập tức khi nghe tiếng chó sủa, tiếng còi xe hoặc tiếng động nhỏ ngoài hành lang.' }, { id: 8, sec: 'aud', quad: 'seek', t: 'Bé thích đập gõ đồ chơi liên tục để tạo tiếng vang hoặc áp sát tai vào loa phát nhạc.' }, // Visual (7-35m) { id: 9, sec: 'vis', quad: 'seek', t: 'Bé thích nằm nghiêng đầu trên sàn để nhìn bánh xe ô tô đồ chơi lăn qua lăn lại hoặc nhìn quạt quay.' }, { id: 10, sec: 'vis', quad: 'avoi', t: 'Bé tránh nhìn vào mắt người đối diện ngay cả khi đang được bế hoặc đang xin đồ ăn.' }, { id: 11, sec: 'vis', quad: 'sens', t: 'Bé nheo mắt, dụi mắt hoặc quấy khóc khi đi từ trong nhà ra ngoài trời nắng sáng.' }, { id: 12, sec: 'vis', quad: 'regi', t: 'Bé đi lại hay va vào bàn ghế hoặc không nhìn thấy món đồ chơi rơi ngay dưới chân mình.' }, // Touch (7-35m) { id: 13, sec: 'tou', quad: 'sens', t: 'Bé khóc lóc, giãy giụa dữ dội mỗi khi gội đầu, cắt tóc, cắt móng tay hoặc rửa mặt.' }, { id: 14, sec: 'tou', quad: 'avoi', t: 'Bé không chịu đi chân trần trên cỏ, cát hoặc thảm nhám và xòe tay khóc ngay nếu tay dính cháo/bẩn.' }, { id: 15, sec: 'tou', quad: 'regi', t: 'Bé bị ngã va đập mạnh hoặc kẹp tay nhưng hầu như không khóc và không tỏ ra đau đớn.' }, { id: 16, sec: 'tou', quad: 'seek', t: 'Bé thích chui rúc vào khe hẹp giữa ghế sofa, thích được bố mẹ ôm siết chặt hoặc cù léc mạnh.' }, // Movement (7-35m) { id: 17, sec: 'mov', quad: 'seek', t: 'Bé thích tự xoay tròn cơ thể nhiều vòng, nhún nhảy trên giường nệm hoặc đi nhón gót chân.' }, { id: 18, sec: 'mov', quad: 'avoi', t: 'Bé sợ hãi bám chặt vào người lớn khi được đặt lên xích đu, cầu trượt hoặc thú nhún ở sân chơi.' }, { id: 19, sec: 'mov', quad: 'sens', t: 'Bé rất sợ khi bị nhấc bổng lên cao hoặc khi bước xuống bậc thềm/cầu thang.' }, { id: 20, sec: 'mov', quad: 'regi', t: 'Bé giữ thăng bằng kém, rất hay bị vấp ngã khi chạy hoặc phải vịn vào đồ đạc để giữ tư thế.' }, // Oral (7-35m) { id: 21, sec: 'ora', quad: 'sens', t: 'Bé chỉ chịu ăn cháo xay nhuyễn hoặc vài món cố định; nếu thức ăn hơi lợn cợn hoặc đổi mùi vị là bé nôn ọe ngay.' }, { id: 22, sec: 'ora', quad: 'seek', t: 'Bé đưa bất cứ đồ vật gì cầm trên tay (đồ chơi nhựa, gỗ, quần áo, sỏi đá) vào miệng để gặm, liếm.' }, { id: 23, sec: 'ora', quad: 'avoi', t: 'Bé mím chặt miệng và chống cự quyết liệt khi bố mẹ đánh răng hoặc đút món ăn mới.' }, { id: 24, sec: 'ora', quad: 'regi', t: 'Bé ngậm thức ăn trong má rất lâu không chịu nhai nuốt hoặc thường xuyên chảy nước dãi.' }, // Behavior (7-35m) { id: 25, sec: 'beh', quad: 'avoi', t: 'Bé ăn vạ nằm lăn ra sàn khóc thét nếu đồ chơi bị lệch khỏi hàng hoặc khi đi khác đường quen thuộc.' }, { id: 26, sec: 'beh', quad: 'sens', t: 'Bé rất dễ bị kích động, cáu gắt khi ở nơi đông đúc như siêu thị, khu vui chơi hoặc đám đông.' }, { id: 27, sec: 'beh', quad: 'seek', t: 'Bé lao đi chạy nhảy tự do mà không hề quay lại nhìn bố mẹ hay nhận thức nguy hiểm.' }, { id: 28, sec: 'beh', quad: 'regi', t: 'Bé ngồi chơi thờ ơ một mình, rất khó thu hút bé tham gia vào các trò chơi ú òa hay lăn bóng qua lại.' } ] }, child: { code: 'child', tabTitle: '🧒 3. Child (3 – 14 tuổi)', tabSub: 'Bản Phụ huynh • 6 Giác quan + 3 Hành vi', fullTitle: 'Child Sensory Profile 2 — Dành Cho Trẻ Em & Thiếu Niên (3 Tuổi – 14 Tuổi 11 Tháng • Phụ Huynh Chấm)', desc: 'Phiên bản chuẩn hóa đầy đủ nhất dành cho phụ huynh đánh giá trẻ từ 3 đến gần 15 tuổi qua 6 Hệ giác quan (Thính giác, Thị giác, Xúc giác, Tiền đình, Bản thể, Miệng) và 3 Nhóm Hành vi (Ứng xử, Cảm xúc – Xã hội, Chú ý).', sections: [ { code: 'aud', name: '1. Thính giác (Auditory)', color: '#2563eb' }, { code: 'vis', name: '2. Thị giác (Visual)', color: '#0891b2' }, { code: 'tou', name: '3. Xúc giác (Touch)', color: '#0d9488' }, { code: 'mov', name: '4. Tiền đình / Chuyển động (Movement)', color: '#f59e0b' }, { code: 'bod', name: '5. Cảm thụ Bản thể / Vị trí cơ thể (Body Position)', color: '#ea580c' }, { code: 'ora', name: '6. Cảm giác Miệng (Oral Sensory)', color: '#dc2626' }, { code: 'con', name: '7. Hành vi Ứng xử (Conduct)', color: '#7c3aed' }, { code: 'soc', name: '8. Cảm xúc – Xã hội (Social Emotional)', color: '#db2777' }, { code: 'att', name: '9. Phản ứng Chú ý (Attentional)', color: '#4f46e5' } ], items: [ { id: 1, sec: 'aud', quad: 'avoi', t: 'Trẻ lấy tay bịt tai hoặc tỏ ra đau đớn trước những âm thanh sinh hoạt thông thường (máy sấy, máy hút bụi, tiếng xả nước).' }, { id: 2, sec: 'aud', quad: 'sens', t: 'Trẻ rất dễ bị phân tâm hoặc khó làm việc nếu xung quanh có tiếng ồn nền (tiếng quạt, tiếng nói chuyện bên ngoài).' }, { id: 3, sec: 'aud', quad: 'regi', t: 'Trẻ không phản ứng khi được gọi tên trong phòng dù thính lực của trẻ hoàn toàn bình thường.' }, { id: 4, sec: 'aud', quad: 'seek', t: 'Trẻ thích tự tạo ra âm thanh lạ, bật tivi thật to hoặc thích nghe đi nghe lại một số tiếng động đặc biệt.' }, { id: 5, sec: 'vis', quad: 'sens', t: 'Trẻ khó chịu trước ánh sáng chói hoặc dễ bị xao nhãng bởi phòng học treo quá nhiều tranh ảnh, người đi lại.' }, { id: 6, sec: 'vis', quad: 'seek', t: 'Trẻ thích nhìn ngắm các vật xoay tròn, ánh đèn nhấp nháy hoặc nhìn nghiêng sát mắt vào đồ vật.' }, { id: 7, sec: 'vis', quad: 'regi', t: 'Trẻ khó tìm thấy món đồ chơi/đồ dùng đang nằm lẫn trong ngăn kéo hoặc trên bàn có nhiều đồ vật.' }, { id: 8, sec: 'vis', quad: 'avoi', t: 'Trẻ tránh giao tiếp ánh mắt trực diện hoặc thích ngồi ở góc tối, yên tĩnh.' }, { id: 9, sec: 'tou', quad: 'sens', t: 'Trẻ rất khó chịu khi cắt tóc, cắt móng tay hoặc bứt rứt với mác quần áo, đường may tất, chất vải thô.' }, { id: 10, sec: 'tou', quad: 'avoi', t: 'Trẻ né tránh khi tay dính bẩn (hồ dán, đất nặn, màu vẽ) và phản ứng mạnh khi có người chạm nhẹ bất ngờ.' }, { id: 11, sec: 'tou', quad: 'seek', t: 'Trẻ liên tục sờ chạm vào mọi bề mặt đồ vật, quần áo hoặc chạm vào người khác.' }, { id: 12, sec: 'tou', quad: 'regi', t: 'Trẻ không nhận ra khi mặt/tay bị dính bẩn hoặc ít cảm thấy đau khi bị va đập, trầy xước.' }, { id: 13, sec: 'mov', quad: 'seek', t: 'Trẻ luôn chân luôn tay, tìm mọi cơ hội để chạy nhảy, xoay tròn, nhún nhảy hoặc đung đưa cơ thể.' }, { id: 14, sec: 'mov', quad: 'avoi', t: 'Trẻ sợ hãi khi bàn chân rời khỏi mặt đất (sợ xích đu, cầu trượt, thang cuốn hoặc leo cao).' }, { id: 15, sec: 'mov', quad: 'sens', t: 'Trẻ dễ bị say xe, chóng mặt hoặc khó chịu khi thay đổi tư thế đầu đột ngột.' }, { id: 16, sec: 'mov', quad: 'regi', t: 'Trẻ dễ bị vấp ngã hoặc mất thăng bằng khi đi trên bề mặt gồ ghề.' }, { id: 17, sec: 'bod', quad: 'regi', t: 'Trẻ nhanh mỏi cơ, thường xuyên nằm bò ra bàn, chống cằm hoặc dựa người vào tường khi ngồi.' }, { id: 18, sec: 'bod', quad: 'seek', t: 'Trẻ thích lao người va mạnh vào nệm/ghế sofa, thích được ôm siết chặt hoặc đi nhón gót chân.' }, { id: 19, sec: 'bod', quad: 'regi', t: 'Trẻ kiểm soát lực bàn tay kém (cầm bút ấn quá mạnh làm rách giấy hoặc đóng cửa ầm ầm).' }, { id: 20, sec: 'bod', quad: 'seek', t: 'Trẻ hay gồng cứng cơ tay/chân, vẫy tay hoặc nghiến răng để tự tạo cảm giác lên khớp.' }, { id: 21, sec: 'ora', quad: 'sens', t: 'Trẻ cực kỳ kén ăn, từ chối thức ăn có kết cấu lạ (lợn cợn, dai, nhão) và dễ bị ọe khi đánh răng/ngửi mùi lạ.' }, { id: 22, sec: 'ora', quad: 'seek', t: 'Trẻ thường xuyên đưa cổ áo, bút chì, đồ chơi hoặc ngón tay vào miệng để ngậm, cắn, nhai.' }, { id: 23, sec: 'ora', quad: 'seek', t: 'Trẻ thích các món ăn có vị thật đậm (chua, cay, mặn) hoặc đồ ăn giòn rụm.' }, { id: 24, sec: 'ora', quad: 'regi', t: 'Trẻ ngậm thức ăn lâu trong miệng hoặc không nhận ra thức ăn còn dính quanh miệng.' }, { id: 25, sec: 'con', quad: 'avoi', t: 'Trẻ rất cứng nhắc, đòi hỏi mọi việc phải diễn ra theo đúng một quy trình cố định.' }, { id: 26, sec: 'con', quad: 'sens', t: 'Trẻ bùng nổ cơn ăn vạ dữ dội khi phải chuyển đổi hoạt động hoặc khi kế hoạch thay đổi.' }, { id: 27, sec: 'con', quad: 'seek', t: 'Trẻ hành động bốc đồng, vội vã lao vào làm mà không quan sát an toàn.' }, { id: 28, sec: 'con', quad: 'regi', t: 'Trẻ cần người lớn phải nhắc nhở liên tục mới hoàn thành được việc sinh hoạt hàng ngày.' }, { id: 29, sec: 'soc', quad: 'avoi', t: 'Trẻ thích tự chơi một mình ở góc riêng hơn là tham gia nhóm bạn đông đúc, ồn ào.' }, { id: 30, sec: 'soc', quad: 'sens', t: 'Trẻ rất dễ lo âu, căng thẳng và khó tự làm dịu bản thân khi ở nơi đông người.' }, { id: 31, sec: 'soc', quad: 'avoi', t: 'Trẻ gặp khó khăn trong việc kết bạn và hiểu ngôn ngữ cơ thể của bạn cùng trang lứa.' }, { id: 32, sec: 'soc', quad: 'regi', t: 'Trẻ ít biểu lộ cảm xúc trên nét mặt hoặc chậm nhận ra cảm xúc của người khác.' }, { id: 33, sec: 'att', quad: 'sens', t: 'Trẻ nhảy từ việc này sang việc khác vì bị thu hút bởi mọi âm thanh/hình ảnh nhỏ xung quanh.' }, { id: 34, sec: 'att', quad: 'regi', t: 'Trẻ có vẻ mơ màng, nhìn vô định và bỏ lỡ các hướng dẫn của người lớn.' }, { id: 35, sec: 'att', quad: 'seek', t: 'Trẻ khó ngồi yên tập trung nếu không được cử động tay chân hoặc cầm nghịch đồ vật.' }, { id: 36, sec: 'att', quad: 'avoi', t: 'Trẻ chỉ tập trung cực kỳ sâu vào một chủ đề/đồ vật quen thuộc và ngắt kết nối với xung quanh.' } ] }, school: { code: 'school', tabTitle: '🏫 4. School Companion (3 – 14 tuổi)', tabSub: 'Bản Giáo viên • 4 Chỉ số Học đường', fullTitle: 'School Companion Sensory Profile 2 — Dành Cho Giáo Viên Đánh Giá Học Sinh Trên Lớp (3 – 14 Tuổi)', desc: 'Đánh giá cách xử lý giác quan của học sinh ảnh hưởng đến việc học tập và hòa nhập tại trường. Ngoài 4 Góc phần tư, phiên bản này cung cấp 4 Chỉ số Học đường độc quyền (School Factors 1–4): Cần hỗ trợ, Nhận thức, Dung nạp và Sẵn sàng học tập.', sections: [ { code: 'sf1', name: 'School Factor 1: Nhu cầu Hỗ trợ trên lớp (Supports)', color: '#2563eb' }, { code: 'sf2', name: 'School Factor 2: Nhận thức & Chú ý bài giảng (Awareness)', color: '#0891b2' }, { code: 'sf3', name: 'School Factor 3: Mức độ Dung nạp Môi trường lớp (Tolerance)', color: '#f59e0b' }, { code: 'sf4', name: 'School Factor 4: Sự Sẵn sàng Tham gia Học tập (Availability)', color: '#dc2626' } ], items: [ // School Factor 1: Supports (Học sinh cần giáo viên điều chỉnh/hỗ trợ nhiều để hoàn thành bài) { id: 1, sec: 'sf1', quad: 'seek', t: 'Học sinh liên tục ngọ nguậy trên ghế, đung đưa chân hoặc đứng dậy đi lại tự do trong giờ cô giáo đang giảng bài.' }, { id: 2, sec: 'sf1', quad: 'seek', t: 'Học sinh hay chạm tay vào bạn ngồi cạnh, sờ nghịch đồ dùng trên bàn hoặc phát ra tiếng động làm ồn lớp học.' }, { id: 3, sec: 'sf1', quad: 'regi', t: 'Học sinh cần giáo viên phải đến tận bàn gõ nhẹ hoặc gọi riêng tên mới bắt đầu mở sách vở làm theo cả lớp.' }, { id: 4, sec: 'sf1', quad: 'sens', t: 'Học sinh dễ bị mất kiểm soát cảm xúc khi xếp hàng chuyển tiết, giờ ra chơi hoặc khi lớp học có hoạt động ngoại khóa.' }, { id: 5, sec: 'sf1', quad: 'seek', t: 'Học sinh hay cắn đầu bút chì, gặm cổ áo hoặc cầm bút ấn quá mạnh làm gãy ngòi/rách vở.' }, { id: 6, sec: 'sf1', quad: 'regi', t: 'Học sinh làm việc chậm hơn các bạn và thường xuyên để bàn học, cặp sách lộn xộn không tìm thấy đồ dùng.' }, // School Factor 2: Awareness (Mức độ tỉnh táo & tập trung vào bài học) { id: 7, sec: 'sf2', quad: 'regi', t: 'Học sinh ngồi nhìn vô định ra cửa sổ hoặc có vẻ mơ màng, "tắt kết nối" trong lúc giáo viên giảng bài chung.' }, { id: 8, sec: 'sf2', quad: 'sens', t: 'Học sinh lập tức quay đầu nhìn ra ngoài mỗi khi có người đi ngang hành lang hoặc có tiếng sột soạt nhỏ trong lớp.' }, { id: 9, sec: 'sf2', quad: 'regi', t: 'Học sinh thường xuyên nằm dài bò ra mặt bàn hoặc chống đầu lên tay như thể rất mệt mỏi, thiếu năng lượng.' }, { id: 10, sec: 'sf2', quad: 'seek', t: 'Học sinh vội vàng làm bài tập một cách hấp tấp mà không đọc kỹ yêu cầu hoặc không nghe hết câu hỏi của giáo viên.' }, { id: 11, sec: 'sf2', quad: 'sens', t: 'Học sinh gặp khó khăn khi phải chép bài từ trên bảng xuống vở (dễ nhìn nhầm dòng hoặc bỏ sót chữ).' }, { id: 12, sec: 'sf2', quad: 'regi', t: 'Học sinh không nhận ra khi quần áo bị xộc xệch, dây giày bị tuột hoặc mặt mũi dính mực/thức ăn.' }, // School Factor 3: Tolerance (Khả năng chịu đựng các kích thích trong môi trường học đường) { id: 13, sec: 'sf3', quad: 'sens', t: 'Học sinh bịt tai hoặc tỏ ra căng thẳng khi cả lớp đồng thanh đọc to, khi nghe tiếng chuông trường hoặc ở nhà ăn tập thể.' }, { id: 14, sec: 'sf3', quad: 'avoi', t: 'Học sinh cực kỳ khó chịu hoặc đẩy bạn ra nếu các bạn đứng gần chạm vào người khi xếp hàng.' }, { id: 15, sec: 'sf3', quad: 'avoi', t: 'Học sinh phản ứng gay gắt (khóc, chống đối) khi lớp học thay đổi thời khóa biểu, đổi chỗ ngồi hoặc có giáo viên dạy thay.' }, { id: 16, sec: 'sf3', quad: 'sens', t: 'Học sinh từ chối sử dụng hồ dán, đất nặn, màu nước trong giờ Mỹ thuật vì sợ bẩn tay.' }, { id: 17, sec: 'sf3', quad: 'avoi', t: 'Học sinh rất cứng nhắc về luật chơi và dễ nổi giận với các bạn trong nhóm nếu mọi việc không làm theo đúng ý mình.' }, { id: 18, sec: 'sf3', quad: 'sens', t: 'Học sinh phàn nàn về ánh đèn huỳnh quang trong lớp, mùi thức ăn ở căng-tin hoặc mùi nhà vệ sinh trường.' }, // School Factor 4: Availability (Sự sẵn sàng tham gia tương tác học đường) { id: 19, sec: 'sf4', quad: 'avoi', t: 'Học sinh tự tách mình đứng ở góc sân trường một mình trong giờ ra chơi để tránh đám đông ồn ào.' }, { id: 20, sec: 'sf4', quad: 'avoi', t: 'Học sinh né tránh tham gia các trò chơi vận động tập thể trong giờ Thể dục hoặc các buổi biểu diễn văn nghệ.' }, { id: 21, sec: 'sf4', quad: 'regi', t: 'Học sinh thụ động ngồi im, không bao giờ chủ động giơ tay phát biểu hay nhờ giáo viên giúp đỡ khi không hiểu bài.' }, { id: 22, sec: 'sf4', quad: 'avoi', t: 'Học sinh tránh giao tiếp ánh mắt khi giáo viên hoặc bạn bè đang nói chuyện trực tiếp với mình.' }, { id: 23, sec: 'sf4', quad: 'regi', t: 'Học sinh khó bắt kịp nhịp độ trò chuyện nhanh và các trò đùa của nhóm bạn cùng lớp.' }, { id: 24, sec: 'sf4', quad: 'avoi', t: 'Khi lớp học quá ồn hoặc có bài tập mới, học sinh có xu hướng gục mặt xuống bàn hoặc xin đi vệ sinh để trốn tránh.' } ] }, adult: { code: 'adult', tabTitle: '🧑 5. Adolescent / Adult (≥ 11 tuổi)', tabSub: 'Vị thành niên & Người lớn • Tự chấm', fullTitle: 'Adolescent / Adult Sensory Profile — Dành Cho Thanh Thiếu Niên & Người Trưởng Thành (Từ 11 Tuổi Trở Lên • Tự Đánh Giá)', desc: 'Phiên bản tự đánh giá (Self-report) ở ngôi thứ nhất ("Tôi...") giúp thanh thiếu niên và người trưởng thành nhận diện ngưỡng thần kinh giác quan của bản thân trong học tập, môi trường công sở, giao thông và đời sống xã hội.', sections: [ { code: 'ora', name: '1. Vị giác & Khứu giác (Taste / Smell Processing)', color: '#dc2626' }, { code: 'mov', name: '2. Chuyển động & Tiền đình (Movement Processing)', color: '#f59e0b' }, { code: 'vis', name: '3. Thị giác (Visual Processing)', color: '#0891b2' }, { code: 'tou', name: '4. Xúc giác (Touch Processing)', color: '#0d9488' }, { code: 'act', name: '5. Mức độ Hoạt động & Năng lượng (Activity Level)', color: '#7c3aed' }, { code: 'aud', name: '6. Thính giác (Auditory Processing)', color: '#2563eb' } ], items: [ // Taste / Smell { id: 1, sec: 'ora', quad: 'avoi', t: 'Tôi tránh đi qua hoặc rời đi ngay khi đến các quầy bán nước hoa, mỹ phẩm hoặc nơi có mùi hương nồng.' }, { id: 2, sec: 'ora', quad: 'sens', t: 'Tôi chỉ ăn những món ăn quen thuộc và rất nhạy cảm với kết cấu thức ăn lạ (như đồ ăn nhầy, mỡ, hoặc lợn cợn).' }, { id: 3, sec: 'ora', quad: 'seek', t: 'Tôi thích cho thêm nhiều gia vị đậm đà (cay, chua, mặn) vào món ăn hoặc thích nhai kẹo cao su/đồ ăn giòn khi làm việc.' }, { id: 4, sec: 'ora', quad: 'regi', t: 'Tôi thường không nhận ra mùi thức ăn bị khét hoặc mùi hương trong phòng trừ khi nó cực kỳ nồng.' }, // Movement { id: 5, sec: 'mov', quad: 'sens', t: 'Tôi rất dễ bị say tàu xe, chóng mặt khi đi thang máy nhanh hoặc khi nhìn màn hình chuyển động nhanh.' }, { id: 6, sec: 'mov', quad: 'avoi', t: 'Tôi tránh các trò chơi cảm giác mạnh, tàu lượn hoặc những nơi cao, chông chênh.' }, { id: 7, sec: 'mov', quad: 'seek', t: 'Tôi thường xuyên rung đùi, xoay ghế, bấm bút hoặc đi lại quanh phòng trong lúc đang suy nghĩ hoặc nghe điện thoại.' }, { id: 8, sec: 'mov', quad: 'regi', t: 'Tôi hay bị vấp vào bậc thềm, va khuỷu tay vào cạnh bàn/khung cửa mà không biết tại sao mình có vết bầm.' }, // Visual { id: 9, sec: 'vis', quad: 'sens', t: 'Tôi cảm thấy nhức mắt, đau đầu khi làm việc dưới ánh đèn huỳnh quang sáng chói hoặc khi ra nắng mà không đeo kính râm.' }, { id: 10, sec: 'vis', quad: 'avoi', t: 'Tôi thích kéo rèm cửa, bật đèn vàng dịu nhẹ ở nhà và tránh đến các trung tâm thương mại đông đúc nhiều biển hiệu nhấp nháy.' }, { id: 11, sec: 'vis', quad: 'regi', t: 'Tôi thường bỏ lỡ biển chỉ dẫn trên đường hoặc rất khó tìm thấy món đồ đang để ngay trước mặt trên bàn làm việc.' }, { id: 12, sec: 'vis', quad: 'seek', t: 'Tôi thích những không gian nhiều màu sắc sống động, thích xem pháo hoa hoặc các hiệu ứng thị giác chuyển động.' }, // Touch { id: 13, sec: 'tou', quad: 'sens', t: 'Tôi luôn phải cắt bỏ mác quần áo và không thể chịu được các chất vải thô ráp, len châm chích hoặc cổ áo bó sát.' }, { id: 14, sec: 'tou', quad: 'avoi', t: 'Tôi cảm thấy căng thẳng, không thoải mái khi người lạ đứng quá gần mình trong thang máy/đám đông hoặc khi ai đó chạm vào vai bất ngờ.' }, { id: 15, sec: 'tou', quad: 'seek', t: 'Tôi thích đi chân trần, thích sờ tay vào các chất liệu vải mềm/lông thú hoặc thích đắp chăn nặng (weighted blanket) khi ngủ.' }, { id: 16, sec: 'tou', quad: 'regi', t: 'Tôi thường không nhận ra ngay khi mình bị đứt tay nhẹ, bị côn trùng đốt hoặc khi nước tắm quá nóng/quá lạnh.' }, // Activity Level { id: 17, sec: 'act', quad: 'avoi', t: 'Sau một ngày phải giao tiếp xã hội hoặc làm việc ở nơi đông người, tôi bị kiệt sức hoàn toàn và cần ở một mình trong phòng yên tĩnh để hồi phục.' }, { id: 18, sec: 'act', quad: 'regi', t: 'Tôi cảm thấy khó khởi động công việc vào buổi sáng và thường cần nhiều thời gian hơn người khác để bắt nhịp với lịch trình.' }, { id: 19, sec: 'act', quad: 'seek', t: 'Tôi thích lịch trình bận rộn với nhiều hoạt động liên tiếp và cảm thấy bứt rứt nếu phải ngồi yên một chỗ quá lâu.' }, { id: 20, sec: 'act', quad: 'sens', t: 'Tôi rất căng thẳng nếu kế hoạch trong ngày bị thay đổi đột ngột vào phút chót.' }, // Auditory { id: 21, sec: 'aud', quad: 'sens', t: 'Tôi rất khó tập trung đọc sách hoặc làm việc nếu có tiếng đồng hồ tích tắc, tiếng nhai thức ăn hoặc tiếng nói chuyện ở bàn bên cạnh.' }, { id: 22, sec: 'aud', quad: 'avoi', t: 'Tôi thường xuyên phải đeo tai nghe chống ồn (noise-canceling) khi làm việc hoặc khi đi ra nơi công cộng để chặn bớt tiếng ồn.' }, { id: 23, sec: 'aud', quad: 'regi', t: 'Người khác thường phải gọi tên tôi 2–3 lần hoặc nhắc lại câu hỏi vì tôi không nghe kịp câu đầu tiên khi đang tập trung việc khác.' }, { id: 24, sec: 'aud', quad: 'seek', t: 'Tôi thích vừa làm việc/học tập vừa bật nhạc nền hoặc thích những nơi có âm thanh sôi động.' } ] } }; let currentVer = 'child'; // 'infant' | 'toddler' | 'child' | 'school' | 'adult' let answersByVer = { infant: {}, toddler: {}, child: {}, school: {}, adult: {} }; let filterSec = 'all'; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .sp-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .sp-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .sp-inner { padding: 24px; max-width: 960px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .sp-wrap.is-fullscreen .sp-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .sp-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(217, 119, 6, 0.45), 0 0 0 0 rgba(217, 119, 6, 0.4); } 70% { box-shadow: 0 6px 20px rgba(217, 119, 6, 0.45), 0 0 0 10px rgba(217, 119, 6, 0); } 100% { box-shadow: 0 6px 20px rgba(217, 119, 6, 0.45), 0 0 0 0 rgba(217, 119, 6, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #b45309 0%, #d97706 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(217, 119, 6, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Bộ chuyển đổi 5 Phiên bản Độ tuổi & Môi trường */ .ver-switcher-box { background: #f1f5f9; padding: 10px; border-radius: 12px; margin-bottom: 18px; } .ver-switcher-lbl { font-size: 12px; font-weight: 800; color: #334155; text-transform: uppercase; margin-bottom: 8px; display: block; } .ver-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; } .ver-btn { padding: 9px 8px; border-radius: 9px; border: 1.5px solid transparent; background: rgba(255, 255, 255, 0.6); cursor: pointer; text-align: left; transition: all 0.18s ease; touch-action: manipulation; } .ver-btn:hover { background: #ffffff; } .ver-btn.active { background: #ffffff; border-color: #d97706; box-shadow: 0 3px 10px rgba(15, 23, 42, 0.08); } .ver-btn-title { font-size: 12.8px; font-weight: 800; color: #0f172a; display: block; line-height: 1.25; } .ver-btn.active .ver-btn-title { color: #b45309; } .ver-btn-sub { font-size: 11px; color: #64748b; margin-top: 3px; display: block; line-height: 1.25; } /* Header */ .sp-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .sp-header-text { flex: 1 1 260px; } .sp-title { font-size: 20px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .sp-desc { font-size: 13.8px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #fffbeb; color: #b45309; border: 1px solid #fde68a; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #d97706; color: #ffffff; border-color: #d97706; } /* Controls */ .sp-controls { display: flex; flex-direction: column; gap: 10px; margin-bottom: 18px; } .sp-presets { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; } .sp-preset-lbl { font-size: 12.5px; font-weight: 700; color: #475569; margin-right: 4px; } .sp-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; touch-action: manipulation; } .sp-pbtn:hover { background: #f1f5f9; } .sp-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } .sp-filter-tabs { display: flex; flex-wrap: wrap; gap: 6px; } .sp-ftab { padding: 6px 11px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .sp-ftab.active { background: #b45309; color: #ffffff; border-color: #b45309; } /* Sticky Dashboard: 4 Góc phần tư Dunn */ .sp-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .sp-wrap.is-fullscreen .sp-dash { top: 58px; } .sp-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .sp-score-big { font-size: 20px; font-weight: 800; line-height: 1.2; } .sp-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .sp-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .sp-pillars { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; font-size: 12px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .sp-pillar-box { background: #1e293b; padding: 8px 10px; border-radius: 8px; border-left: 3px solid #475569; } .sp-pillar-box.much-more { border-left-color: #ef4444; background: rgba(239, 68, 68, 0.15); } .sp-pillar-box.more { border-left-color: #f59e0b; background: rgba(245, 158, 11, 0.14); } .sp-pillar-box.typical { border-left-color: #10b981; } .sp-pillar-val { font-weight: 700; color: #ffffff; font-size: 13px; display: block; margin-top: 2px; } /* Danh sách câu hỏi */ .sp-q-item { border: 1px solid #e2e8f0; border-radius: 10px; padding: 14px 16px; margin-bottom: 12px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 10px; } .sp-q-item.freq-high { border-color: #fda4af; background: #fff5f5; } .sp-q-item.freq-mid { border-color: #fde68a; background: #fffbeb; } .sp-q-text { font-size: 14.5px; font-weight: 600; color: #1e293b; line-height: 1.5; } .sp-q-tags { display: flex; flex-wrap: wrap; gap: 6px; } .sp-tag { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .sp-ans-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; } .sp-abtn { padding: 8px 4px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 11.5px; font-weight: 600; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .sp-abtn:hover { border-color: #64748b; } .sp-abtn.sel-1, .sp-abtn.sel-2 { background: #10b981; border-color: #10b981; color: #ffffff; font-weight: 700; } .sp-abtn.sel-3 { background: #3b82f6; border-color: #3b82f6; color: #ffffff; font-weight: 700; } .sp-abtn.sel-4 { background: #f59e0b; border-color: #f59e0b; color: #ffffff; font-weight: 700; } .sp-abtn.sel-5 { background: #ef4444; border-color: #ef4444; color: #ffffff; font-weight: 700; } /* Biểu đồ & Thực đơn Giác quan */ .sp-chart-card { margin-top: 20px; padding: 16px 18px; border-radius: 12px; background: #ffffff; border: 1px solid #e2e8f0; } .sp-chart-title { font-size: 14.5px; font-weight: 700; color: #0f172a; margin-bottom: 12px; } .sp-bar-row { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; font-size: 12.5px; } .sp-bar-lbl { width: 265px; flex-shrink: 0; font-weight: 600; color: #334155; } .sp-bar-track { flex: 1; height: 16px; background: #f1f5f9; border-radius: 999px; overflow: hidden; } .sp-bar-val { width: 145px; text-align: right; font-weight: 700; color: #0f172a; flex-shrink: 0; } .sp-diet-box { margin-top: 16px; padding: 16px 18px; border-radius: 12px; background: #fffbeb; border: 1px solid #fde68a; border-left: 5px solid #d97706; font-size: 13.8px; color: #78350f; line-height: 1.6; } .sp-diet-title { font-size: 15px; font-weight: 800; color: #92400e; margin-bottom: 8px; } .sp-result-box { margin-top: 16px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #2563eb; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 780px) { .sp-inner { padding: 14px; } .ver-grid { grid-template-columns: 1fr 1fr; } .sp-title { font-size: 18px; } .sp-pillars { grid-template-columns: 1fr 1fr; } .sp-ans-grid { grid-template-columns: 1fr; } .sp-bar-lbl { width: 140px; font-size: 11.5px; } .sp-bar-val { width: 110px; font-size: 11px; } .sp-pbtn.reset { margin-left: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
${vCfg.fullTitle}
${vCfg.desc}
`; let tabsHtml = ``; vCfg.sections.forEach(s => { const cnt = vCfg.items.filter(it => it.sec === s.code).length; tabsHtml += ``; }); filterTabs.innerHTML = tabsHtml; filterTabs.querySelectorAll('.sp-ftab').forEach(btn => { btn.onclick = function() { filterSec = this.getAttribute('data-sec'); renderHeaderAndFilters(); renderItems(); }; }); } function renderItems() { const vCfg = versionConfigs[currentVer]; const secMap = getSecMap(vCfg); const curAns = answersByVer[currentVer]; itemList.innerHTML = ''; vCfg.items.forEach(function(it) { if (filterSec !== 'all' && it.sec !== filterSec) return; const uVal = (curAns[it.id] !== undefined) ? curAns[it.id] : 1; const sCfg = secMap[it.sec]; const qCfg = quadConfigs[it.quad]; let rowCls = 'sp-q-item'; if (uVal >= 4) rowCls += ' freq-high'; else if (uVal === 3) rowCls += ' freq-mid'; const btnsHtml = freqOptions.map(opt => { const cls = 'sp-abtn' + (uVal === opt.val ? ` sel-${opt.val}` : ''); return ``; }).join(''); const el = document.createElement('div'); el.className = rowCls; el.innerHTML = `')} `; const secAlertNames = elevatedSections.map(s => `${s.cfg.name.split('(')[0].trim()} (${s.raw}/${s.maxR}đ - ${s.clsInfo.text})`).join(', '); resultBox.style.borderLeftColor = overallStatus.color; resultBox.innerHTML = ` Tổng hợp Kết luận ${vCfg.fullTitle.split('—')[0].trim()}:
• 1. Hồ sơ 4 Góc phần tư Winnie Dunn: Tìm kiếm (${cSeek.text}) • Né tránh (${cAvoi.text}) • Nhạy cảm (${cSens.text}) • Đăng ký thấp (${cRegi.text}).
• 2. Các lĩnh vực vượt ngưỡng chuẩn (+1 SD / +2 SD): ${secAlertNames || 'Tất cả các lĩnh vực đều nằm trong vùng Giống đa số điển hình.'} `; updateFloatingFabVisibility(); } function applyPresetToCurrentVer(type) { const vCfg = versionConfigs[currentVer]; const curAns = {}; vCfg.items.forEach(it => { curAns[it.id] = 1; }); if (type !== 'reset') { if (type === 'typical') { vCfg.items.forEach((it, idx) => { curAns[it.id] = (idx % 3 === 0) ? 2 : 1; }); } else if (type === 'seeker') { vCfg.items.forEach(it => { curAns[it.id] = (it.quad === 'seek') ? 4 : 2; }); } else if (type === 'defensive') { vCfg.items.forEach(it => { curAns[it.id] = (it.quad === 'avoi' || it.quad === 'sens') ? 4 : 2; }); } else if (type === 'mixed') { vCfg.items.forEach((it, idx) => { if (it.quad === 'avoi' || it.quad === 'sens') curAns[it.id] = (idx % 2 === 0) ? 4 : 3; else if (it.quad === 'seek' || it.quad === 'regi') curAns[it.id] = 4; else curAns[it.id] = 3; }); } } answersByVer[currentVer] = curAns; renderItems(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); spWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { spWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 960px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } shadow.querySelectorAll('#verGrid .ver-btn').forEach(function(btn) { btn.onclick = function() { currentVer = this.getAttribute('data-ver'); filterSec = 'all'; shadow.querySelectorAll('#verGrid .ver-btn').forEach(b => b.classList.remove('active')); this.classList.add('active'); renderHeaderAndFilters(); renderItems(); updateSummary(); }; }); shadow.querySelectorAll('.sp-pbtn').forEach(function(btn) { btn.onclick = function() { applyPresetToCurrentVer(this.getAttribute('data-preset')); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); // Khởi tạo sẵn dữ liệu mẫu cho cả 5 phiên bản để chuyển tab xem được ngay ['infant', 'toddler', 'school', 'adult', 'child'].forEach(vKey => { currentVer = vKey; applyPresetToCurrentVer('mixed'); }); renderHeaderAndFilters(); })();
Sensory Profile 2 (Hồ sơ Giác quan 2) là công cụ đánh giá chuẩn hóa hàng đầu thế giới trong lĩnh vực Hoạt động Trị liệu (Occupational Therapy – OT) dùng để đo lường các mẫu hình xử lý giác quan của trẻ trong đời sống hàng ngày (ở nhà, ở trường và ngoài cộng đồng). Công cụ này do Giáo sư Winnie Dunn phát triển (xuất bản năm 2014 bởi Pearson),áp dụng cho trẻ từ sơ sinh đến 14 tuổi 11 tháng.
Ở trẻ có Rối loạn phổ tự kỷ (ASD) hoặc ADHD, có tới 70% – 90% trẻ gặp khó khăn về xử lý giác quan (như bịt tai trước tiếng ồn, kén ăn cực đoan, nhón gót, xoay người, hoặc tìm kiếm cảm giác mạnh). Sensory Profile 2 giúp giải mã chính xác hệ thần kinh của trẻ đang xử lý thông tin như thế nào, từ đó thiết kế “Thực đơn Giác quan” (Sensory Diet) và điều chỉnh môi trường học tập phù hợp.
I. Cơ sở lý thuyết cốt lõi: Mô hình 4 Góc phần tư của Winnie Dunn (Dunn’s Four Quadrant Model)
Điểm đặc sắc nhất của Sensory Profile 2 là sự giao thoa giữa 2 trục: Ngưỡng thần kinh (Neurological Threshold: Cao hay Thấp) và Chiến lược tự điều chỉnh hành vi (Self-Regulation: Thụ động hay Chủ động), tạo thành 4 Mẫu hình xử lý giác quan (4 Quadrants):
| Mẫu hình (Quadrant) | Ngưỡng thần kinh | Chiến lược hành vi | Biểu hiện lâm sàng điển hình ở trẻ |
| 1. Tìm kiếm cảm giác(Seeking / Seeker) | Ngưỡng Cao(Cần kích thích mạnh mới cảm nhận được) | Chủ động (Tự đi tìm thêm kích thích) | Luôn chân luôn tay, thích chạy nhảy, xoay tròn, va chạm mạnh, sờ mó mọi vật, ngửi/nhai đồ vật, thích âm thanh to hoặc nhìn vật chuyển động. |
| 2. Né tránh cảm giác (Avoiding / Avoider) | Ngưỡng Thấp(Rất nhanh bị quá tải giác quan) | Chủ động (Chủ động rút lui / kiểm soát để chặn kích thích) | Bịt tai trước tiếng ồn, ghét chỗ đông người, trốn vào góc tối/yên tĩnh, giữ thói quen cứng nhắc để tránh bất ngờ, phản kháng khi bị ép tham gia. |
| 3. Nhạy cảm giác quan(Sensitivity / Sensor) | Ngưỡng Thấp(Phát hiện cả những kích thích rất nhỏ) | Thụ động (Không tự rút lui mà chịu đựng rồi cáu gắt / xao nhãng) | Rất dễ giật mình, dễ bị phân tâm bởi tiếng động nhỏ/ánh sáng, kén chọn thức ăn có kết cấu lạ, khó chịu với mác quần áo, hay phàn nàn, cáu kỉnh. |
| 4. Đăng ký cảm giác thấp / Thờ ơ (Registration / Bystander) | Ngưỡng Cao(Độ nhạy tiếp nhận tín hiệu thấp) | Thụ động (Không chủ động tìm kiếm, bỏ lỡ tín hiệu xung quanh) | Gọi tên nhiều lần không quay lại (dù thính lực bình thường), vẻ mặt lờ đờ/mơ màng, chậm phản ứng với cơn đau hoặc vết bẩn trên mặt, nhanh mỏi cơ, dựa dẫm. |
II. Cấu trúc các Phần đánh giá & Thang điểm trong Sensory Profile 2
-
Các phiên bản theo độ tuổi: Infant (0–6 tháng), Toddler (7–35 tháng), Child (3 – 14 tuổi 11 tháng — Phiên bản phổ biến nhất gồm 86 câu), Short (Bản rút gọn 34 câu) và School Companion (Dành cho giáo viên).
-
9 Phần đánh giá (6 Hệ giác quan + 3 Lĩnh vực Hành vi liên quan):
-
6 Hệ giác quan: Thính giác (Auditory), Thị giác (Visual), Xúc giác (Touch), Tiền đình / Chuyển động (Movement), Cảm thụ bản thể / Vị trí cơ thể (Body Position), Cảm giác Miệng (Oral).
-
3 Nhóm Hành vi: Hành vi ứng xử (Conduct), Phản ứng cảm xúc – xã hội (Social Emotional), Phản ứng chú ý (Attentional).
-
-
Thang chấm tần suất 5 mức (1 đến 5 điểm):
-
5— Hầu như luôn luôn ( thời gian) -
4— Thường xuyên ( thời gian) -
3— Một nửa thời gian ( thời gian) -
2— Thỉnh thoảng ( thời gian) -
1— Hầu như không bao giờ ( thời gian)
-
-
Hệ thống phân loại theo Phân phối Chuẩn (Bell Curve Classification):
-
Ít hơn nhiều / Ít hơn những trẻ khác (Much Less / Less Than Others — dưới −1 SD).
-
Giống như đa số những trẻ khác (Just Like the Majority of Others — trong khoảng −1 SD đến +1 SD, chiếm 68% trẻ điển hình).
-
Nhiều hơn những trẻ khác (More Than Others — từ +1 SD đến +2 SD: Vùng cần theo dõi & điều chỉnh môi trường).
-
Nhiều hơn rất nhiều so với những trẻ khác (Much More Than Others — trên +2 SD: Rối loạn xử lý giác quan rõ rệt, cần can thiệp Hoạt động trị liệu – OT).
-
SD là viết tắt của Standard Deviation (tiếng Việt gọi là Độ lệch chuẩn).
Trong các thang đo tâm lý và y khoa chuẩn hóa (như Sensory Profile 2, Vineland-3, ASQ-3, SRS-2 hay bài test IQ), SDchính là “thước đo khoảng cách” cho biết điểm số của một đứa trẻ lệch đi bao xa so với mức trung bình của những đứa trẻ bình thường cùng độ tuổi.
Hình dung trực quan qua “Đường cong hình chuông” (Bell Curve)
Khi các nhà khoa học khảo sát hàng ngàn đứa trẻ phát triển bình thường và vẽ điểm số của chúng lên biểu đồ, kết quả sẽ tạo thành một Đường cong phân phối chuẩn (hình quả chuông) như sơ đồ dưới đây (trong đó ký hiệu μ ở chính giữa là Điểm trung bình, và σ chính là 1 SD):

Nhìn vào biểu đồ hình chuông trên, bạn sẽ thấy quy luật 68 – 95 cực kỳ dễ hiểu:
-
Trong khoảng từ −1 SD đến +1 SD (Phần bụng chuông ở giữa): Chiếm 68% tổng số trẻ em trong cộng đồng Đây là vùng “Bình thường / Giống đa số trẻ khác”.
-
Vượt ra ngoài mốc ±1 SD đến ±2 SD (Hai bên sườn chuông): Chỉ có khoảng 14% trẻ nằm ở sườn phải (từ +1 SD đến ) và 14% nằm ở sườn trái Bắt đầu có sự khác biệt rõ (“Nhiều hơn” hoặc “Ít hơn” đa số trẻ khác), thuộc Vùng Giáp ranh / Cần theo dõi.
-
Vượt quá mốc +2 SD hoặc thấp hơn −2 SD (Hai đuôi ngoài cùng của quả chuông): Mỗi bên đuôi chỉ chiếm khoảng 2% dân số Đây là sự chênh lệch rất lớn, trong y khoa lấy mốc từ trở đi làm ngưỡng kết luận Bất thường / Có ý nghĩa lâm sàng.
Bảng giải nghĩa SD trong Sensory Profile 2:
Trong công cụ Sensory Profile 2 bạn vừa làm ở trên, điểm càng cao nghĩa là tần suất hành vi giác quan đó xuất hiện càng nhiều:
| Ký hiệu độ lệch chuẩn | Tên phân loại trong Sensory Profile 2 | Tỷ lệ trẻ trong dân số | Ý nghĩa lâm sàng thực tế |
| Dưới | Ít hơn rất nhiều(Much Less Than Others) | ~2% | Trẻ hầu như không bao giờ có phản ứng đó (ít hơn tuyệt đối so với trẻ cùng tuổi). |
| đến | Ít hơn đa số(Less Than Others) | ~14% | Trẻ ít biểu hiện hành vi đó hơn các bạn cùng trang lứa. |
| đến | Giống đa số trẻ khác (Just Like the Majority) | ~68% | BÌNH THƯỜNG: Hệ thần kinh xử lý giác quan hài hòa giống đa số trẻ em cùng tuổi. |
| đến | Nhiều hơn đa số(More Than Others) | ~14% | CẢNH BÁO / GIÁP RANH: Trẻ nhạy cảm, né tránh hoặc tìm kiếm cảm giác nhiều hơn rõ rệt so với bạn bè. Cần điều chỉnh môi trường học tập/sinh hoạt. |
| Trên | Nhiều hơn rất nhiều (Much More Than Others) | ~2% | VƯỢT NGƯỠNG LÂM SÀNG: Rối loạn xử lý giác quan mức độ nặng (chỉ gặp ở ~2% dân số), gây cản trở sinh hoạt và cần can thiệp Hoạt động trị liệu (OT). |
Mẹo cực nhanh để bạn đọc mọi bảng điểm Tâm lý (Vineland-3, IQ, ASQ-3, SRS-2)
Nắm được khái niệm SD, bạn sẽ hiểu ngay vì sao các bảng công cụ trên website của bạn lại có những con số điểm cắt như 70, 85 hay 60:
-
Với thang đo Kỹ năng (như Vineland-3 hoặc IQ): Điểm càng thấp là càng chậm.
-
Trung bình dân số đặt là 100 điểm, và 1 SD=15 điểm.
-
Mốc −1 SD là 100−15=85 (Dưới 85 điểm là bắt đầu chậm hơn mức trung bình).
-
Mốc −2 SD là 100−30=70 (Dưới 70 điểm là suy giảm rõ rệt có ý nghĩa chẩn đoán lâm sàng!).
-
-
Với thang đo Triệu chứng (như CARS-2, SRS-2 dùng điểm T-Score): Điểm càng cao là triệu chứng càng nặng.
-
Trung bình dân số đặt là 50 điểm, và 1 SD=10 điểm.
-
Mốc +1 SD là 50+10=60 điểm (Từ 60 điểm trở lên là bắt đầu vào vùng Tự kỷ mức độ Nhẹ).
-
Mốc +2 SD là 50+20=70 điểm (Từ 70 điểm trở lên là mức độ Trung bình – Nặng).
-
Sách: Nuôi dạy trẻ mắc chứng rối loạn tăng động giảm chú ý ADHD - Russell A. Barkley
Đây bản PDF của cuốn sách “Nuôi dạy trẻ mắc chứng rối loạn tăng động giảm chú ý ADHD – tác giả Russell A. Barkley”.

Trẻ tự kỷ thường đi kèm với hội chứng ADHD dù nặng hay nhẹ. 12 nguyên tắc trong cuốn sách này được đúc kết từ chính những công trình nghiên cứu mà tác giả đã dành cả đời để thực hiện. Hiểu về hội chứng ADHD, và sử dụng các chìa khóa thành công mà ông đã xác định để nuôi dạy trẻ trở nên hạnh phúc, khỏe mạnh dù mắc hội chứng ADHD.
[Đo lường IQ] Raven & Leiter-3: Bộ trắc nghiệm đo chỉ số thông minh (IQ) phi ngôn ngữ cho trẻ chậm nói, tự kỷ
(function() { const host = document.getElementById('nviq-wp-host'); if (!host) return; const placeholder = document.createComment('nviq-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // ========================================================= // 1. DỮ LIỆU RAVEN CPM (COLOURED PROGRESSIVE MATRICES • 36 MỤC: BỘ A, Ab, B) // ========================================================= const cpmSets = [ { id: 'CPM_A', code: 'Bộ A', max: 12, color: '#2563eb', title: 'Bộ A (12 mục: A1 → A12) — Hoàn thiện Mẫu hình Liên tục (Continuous Patterns)', desc: 'Đánh giá khả năng tri giác thị giác cơ bản: nhận diện sự đồng nhất về màu sắc, đường kẻ, mật độ chấm và hoàn thiện phần bị khuyết của một bức nền liên tục.', skills: 'A1–A6: Ghép nền đơn sắc & đường kẻ thẳng/ngang | A7–A10: Giao điểm đường kẻ & mật độ hoa văn | A11–A12: Hoa văn chéo phức hợp hai chiều.' }, { id: 'CPM_Ab', code: 'Bộ Ab', max: 12, color: '#0d9488', title: 'Bộ Ab (12 mục: Ab1 → Ab12) — Nhận thức Cấu trúc Rời rạc thành Tổng thể (Discrete Figures as Spatial Wholes)', desc: 'Trẻ quan sát 3 góc của một hình đối xứng (gồm 4 phần tư) và phải chọn mảnh ghép thứ 4 có hướng xoay và góc đối xứng khớp với 3 phần còn lại.', skills: 'Ab1–Ab5: Đối xứng gương đơn giản của hình tròn/vuông | Ab6–Ab9: Xoay góc 90 độ của hình khuyết và mũi tên | Ab10–Ab12: Đảo chiều không gian và đóng khung hình học.' }, { id: 'CPM_B', code: 'Bộ B', max: 12, color: '#7c3aed', title: 'Bộ B (12 mục: B1 → B12) — Suy luận Tương tự Hình học (Analogical Reasoning)', desc: 'Đo lường bước chuyển sang tư duy logic trừu tượng (Cặp hình trên biến đổi thế nào thì cặp hình dưới biến đổi tương tự theo đúng quy luật đó).', skills: 'B1–B4: Đồng nhất hình học cơ bản | B5–B8: Quy luật đối xứng lật hình & đổi màu nền | B9–B12: Phép suy luận tương tự 2 biến số (vừa đổi hình dạng vừa đổi tô đậm/rỗng).' } ]; // ========================================================= // 2. DỮ LIỆU RAVEN SPM (STANDARD PROGRESSIVE MATRICES • 60 MỤC: BỘ A, B, C, D, E) // ========================================================= const spmSets = [ { id: 'SPM_A', code: 'Bộ A', max: 12, color: '#0284c7', title: 'Bộ A (12 mục: A1 → A12) — Tri giác Hoàn thiện Khuôn mẫu Liên tục', desc: 'Kiểm tra khả năng phân biệt thị giác nền tảng, nối tiếp các đường lưới thẳng, chéo và hoa văn liên tục.', skills: 'Cấp độ 1: Tri giác đồng nhất và liên tục thị giác không gian.' }, { id: 'SPM_B', code: 'Bộ B', max: 12, color: '#2563eb', title: 'Bộ B (12 mục: B1 → B12) — Tư duy Tương tự trên Ma trận 2×2 (Analogical Changes)', desc: 'Phát hiện mối quan hệ đối xứng trục dọc/ngang, phép xoay hình và phép biến đổi tương tự giữa các cặp hình.', skills: 'Cấp độ 2: Suy luận tương tự (A : B :: C : ?) trên ma trận 2×2.' }, { id: 'SPM_C', code: 'Bộ C', max: 12, color: '#0d9488', title: 'Bộ C (12 mục: C1 → C12) — Biến đổi Tịnh tiến và Tăng dần trên Ma trận 3×3 (Progressive Alterations)', desc: 'Khắc họa quy luật thay đổi liên tục theo cả hàng ngang và cột dọc trên lưới 9 ô (3×3): tăng giảm kích thước, thêm bớt chi tiết hoặc dịch chuyển vị trí.', skills: 'Cấp độ 3: Theo dõi đồng thời 2 chiều biến thiên (hàng ngang + cột dọc).' }, { id: 'SPM_D', code: 'Bộ D', max: 12, color: '#7c3aed', title: 'Bộ D (12 mục: D1 → D12) — Quy luật Hoán vị và Tổ hợp Hình học trên Ma trận 3×3 (Permutations)', desc: 'Đòi hỏi tìm ra quy luật phân phối hoán vị của 3 nhóm hình dạng, 3 kiểu nét vẽ và 3 hướng xoay sao cho mỗi hàng và mỗi cột đều hội đủ 3 thuộc tính.', skills: 'Cấp độ 4: Suy luận tổ hợp đa biến (Latin Square Logic).' }, { id: 'SPM_E', code: 'Bộ E', max: 12, color: '#dc2626', title: 'Bộ E (12 mục: E1 → E12) — Phép Cộng, Trừ và Giao/Hợp Trừu tượng Hình học (Abstract Algebraic Operations)', desc: 'Cấp độ tư duy trừu tượng cao nhất của Raven: thực hiện phép cộng hình, trừ phần giao nhau (XOR) hoặc lấy phần chung (AND) giữa Ô 1 và Ô 2 để ra Ô 3.', skills: 'Cấp độ 5: Phân tích và tổng hợp đại số hình ảnh thuần túy (Fluid Intelligence đỉnh cao).' } ]; // ========================================================= // 3. DỮ LIỆU LEITER-3 (8 TIỂU TRẮC NGHIỆM: 4 COGNITIVE BATTERY + 4 ATTENTION/MEMORY BATTERY) // Chấm trên thang Scaled Score từ 1 đến 19 (Trung bình = 10, SD = 3) // ========================================================= const leiterSubtests = [ // BỘ PIN NHẬN THỨC (COGNITIVE BATTERY -> TÍNH NONVERBAL IQ) { id: 'FG', battery: 'cog', color: '#2563eb', name: '1. Hình – Nền (Figure Ground - FG) ★ [Thuộc Nonverbal IQ]', desc: 'Trẻ cầm các thẻ nhỏ có vẽ một đồ vật/hình học và phải chỉ ra xem đồ vật đó đang ẩn giấu ở vị trí nào bên trong một bức tranh lớn phức tạp có nhiều chi tiết đan xen.', measure: 'Đo lường khả năng lọc nhiễu thị giác, nhận diện hình chính tách khỏi nền rối và sự linh hoạt tri giác.' }, { id: 'FC', battery: 'cog', color: '#0284c7', name: '2. Hoàn thiện Hình dạng (Form Completion - FC) ★ [Thuộc Nonverbal IQ]', desc: 'Trẻ nhìn các mảnh rời rạc bị cắt vụn của một đồ vật/hình khối và phải hình dung trong đầu xem khi ghép chúng lại sẽ tạo thành hình hoàn chỉnh nào trên khung giá đỡ.', measure: 'Đo lường khả năng tổng hợp toàn thể từ các bộ phận rời rạc (Gestalt Visual Closure).' }, { id: 'CA', battery: 'cog', color: '#7c3aed', name: '3. Phân loại & Tương tự (Classification and Analogies - CA) ★ [Thuộc Nonverbal IQ]', desc: 'Trẻ dùng các khối mút/thẻ hình để phân loại theo thuộc tính ở các câu đầu, và giải các bài toán ma trận tương tự hình học ở các câu nâng cao.', measure: 'Đo lường tư duy hình thành khái niệm và suy luận quy nạp phi ngôn ngữ.' }, { id: 'SO', battery: 'cog', color: '#9333ea', name: '4. Trật tự Chuỗi nối tiếp (Sequential Order - SO) ★ [Thuộc Nonverbal IQ]', desc: 'Trẻ quan sát một chuỗi các khối hình sắp xếp theo quy luật tăng tiến hoặc lặp lại trên khung Easel và chọn đúng khối mút còn thiếu đặt vào khe trống.', measure: 'Đo lường khả năng phát hiện quy luật chuỗi logic và suy luận tuần tự.' }, // BỘ PIN CHÚ Ý & TRÍ NHỚ (ATTENTION & MEMORY BATTERY -> TÍNH NONVERBAL MEMORY & PROCESSING SPEED) { id: 'FM', battery: 'mem', color: '#0d9488', name: '5. Trí nhớ Xuôi (Forward Memory - FM) [Thuộc Nonverbal Memory]', desc: 'Người khám chỉ tay lần lượt vào một chuỗi các bức tranh theo thứ tự, sau đó trẻ phải chỉ tay lặp lại đúng các bức tranh đó theo đúng thứ tự vừa nhìn thấy.', measure: 'Đo lường dung lượng ghi nhớ thị giác ngắn hạn.' }, { id: 'RM', battery: 'mem', color: '#10b981', name: '6. Trí nhớ Ngược (Reverse Memory - RM) [Thuộc Nonverbal Memory]', desc: 'Người khám chỉ tay vào một chuỗi các bức tranh, và trẻ phải chỉ lại theo thứ tự ĐẢO NGƯỢC từ hình cuối cùng về hình đầu tiên.', measure: 'Đo lường trí nhớ làm việc phi ngôn ngữ (Nonverbal Working Memory) và khả năng kiểm soát điều hành.' }, { id: 'AS', battery: 'spd', color: '#f59e0b', name: '7. Duy trì Chú ý (Attention Sustained - AS) [Thuộc Processing Speed]', desc: 'Trong thời gian quy định (30–60 giây), trẻ dùng bút gạch tìm tất cả các hình mục tiêu nằm lẫn trong một trang giấy dày đặc các hình gây nhiễu.', measure: 'Đo lường tốc độ quét thị giác, sự tập trung bền bỉ và khả năng ức chế xung động.' }, { id: 'AD', battery: 'spd', color: '#dc2626', name: '8. Phân chia Chú ý / Stroop Phi ngôn ngữ (Attention Divided / Nonverbal Stroop - AD)', desc: 'Trẻ phải vừa phân loại thẻ hình vừa chuyển đổi quy tắc chú ý linh hoạt dưới áp lực thời gian.', measure: 'Đo lường tính linh hoạt nhận thức (Cognitive Flexibility) và tốc độ xử lý điều hành.' } ]; let activeTool = 'cpm'; // 'cpm' (Raven CPM 36) | 'spm' (Raven SPM 60) | 'leiter3' (Leiter-3) let childAgeYears = 8; // Tuổi đối chiếu chuẩn let cpmScores = { CPM_A: 10, CPM_Ab: 9, CPM_B: 8 }; let spmScores = { SPM_A: 11, SPM_B: 10, SPM_C: 9, SPM_D: 8, SPM_E: 5 }; let leiterSS = { FG: 13, FC: 13, CA: 12, SO: 12, FM: 10, RM: 9, AS: 8, AD: 8 }; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .nv-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .nv-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .nv-inner { padding: 24px; max-width: 980px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .nv-wrap.is-fullscreen .nv-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .nv-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(13, 148, 136, 0.45), 0 0 0 0 rgba(13, 148, 136, 0.4); } 70% { box-shadow: 0 6px 20px rgba(13, 148, 136, 0.45), 0 0 0 10px rgba(13, 148, 136, 0); } 100% { box-shadow: 0 6px 20px rgba(13, 148, 136, 0.45), 0 0 0 0 rgba(13, 148, 136, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #0f766e 0%, #0d9488 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(13, 148, 136, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Bộ chuyển đổi 3 Công cụ IQ Phi ngôn ngữ */ .tool-switcher { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; background: #f1f5f9; padding: 8px; border-radius: 12px; margin-bottom: 18px; } .tool-btn { padding: 10px 12px; border-radius: 9px; border: 1.5px solid transparent; background: rgba(255, 255, 255, 0.65); cursor: pointer; text-align: left; transition: all 0.2s ease; touch-action: manipulation; } .tool-btn:hover { background: #ffffff; } .tool-btn.active { background: #ffffff; border-color: #0d9488; box-shadow: 0 3px 10px rgba(15, 23, 42, 0.08); } .tool-btn-title { font-size: 13.8px; font-weight: 800; color: #0f172a; display: block; } .tool-btn.active .tool-btn-title { color: #0f766e; } .tool-btn-sub { font-size: 11.5px; color: #64748b; margin-top: 2px; display: block; } /* Header */ .nv-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .nv-header-text { flex: 1 1 260px; } .nv-title { font-size: 20px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .nv-desc { font-size: 13.8px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #f0fdfa; color: #0f766e; border: 1px solid #99f6e4; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #0d9488; color: #ffffff; border-color: #0d9488; } /* Top Controls */ .nv-top-panel { display: grid; grid-template-columns: 1fr 1.5fr; gap: 12px; background: #f8fafc; border: 1px solid #cbd5e1; border-radius: 12px; padding: 14px; margin-bottom: 16px; } .nv-lbl { font-size: 12px; font-weight: 800; color: #0f172a; text-transform: uppercase; display: block; margin-bottom: 6px; } .nv-select { width: 100%; padding: 8px 10px; border: 1px solid #0d9488; border-radius: 7px; font-size: 13.5px; font-weight: 700; color: #0f172a; background: #ffffff; } .nv-presets { display: flex; flex-wrap: wrap; gap: 6px; } .nv-pbtn { padding: 7px 10px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 600; color: #334155; cursor: pointer; flex: 1 1 auto; text-align: center; touch-action: manipulation; } .nv-pbtn:hover { background: #f1f5f9; } .nv-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; } /* Sticky Dashboard */ .nv-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .nv-wrap.is-fullscreen .nv-dash { top: 58px; } .nv-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .nv-score-big { font-size: 21px; font-weight: 800; line-height: 1.2; } .nv-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .nv-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .nv-pillars { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; font-size: 12px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .nv-pillar-box { background: #1e293b; padding: 8px 10px; border-radius: 8px; border-left: 3px solid #0d9488; } .nv-pillar-val { font-weight: 800; color: #ffffff; font-size: 13.5px; display: block; margin-top: 2px; } /* Danh sách các Bộ / Tiểu trắc nghiệm */ .nv-item { border: 1px solid #e2e8f0; border-radius: 12px; padding: 15px 16px; margin-bottom: 12px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 8px; } .nv-item-title { font-size: 15px; font-weight: 800; color: #0f172a; } .nv-item-desc { font-size: 13.5px; color: #334155; } .nv-item-sub { font-size: 12.5px; color: #475569; background: #f8fafc; padding: 6px 10px; border-radius: 6px; border-left: 3px solid #cbd5e1; } .nv-tags { display: flex; flex-wrap: wrap; gap: 6px; } .nv-tag { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .nv-btn-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 6px; margin-top: 4px; } .nv-sbtn { padding: 8px 4px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 700; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .nv-sbtn:hover { border-color: #64748b; } .nv-sbtn.sel-low { background: #ef4444; border-color: #ef4444; color: #ffffff; } .nv-sbtn.sel-mid { background: #f59e0b; border-color: #f59e0b; color: #ffffff; } .nv-sbtn.sel-good { background: #10b981; border-color: #10b981; color: #ffffff; } .nv-sbtn.sel-top { background: #2563eb; border-color: #2563eb; color: #ffffff; } /* Bảng phân bậc Raven (Grade I -> V) & Leiter-3 */ .nv-table-card { margin-top: 20px; padding: 16px 18px; border-radius: 12px; background: #ffffff; border: 1px solid #e2e8f0; overflow-x: auto; } .nv-table { width: 100%; border-collapse: collapse; font-size: 13px; min-width: 640px; } .nv-table th, .nv-table td { border: 1px solid #cbd5e1; padding: 9px 12px; text-align: left; } .nv-table th { background: #f1f5f9; font-weight: 800; color: #0f172a; } .nv-table tr.active-row { background: #f0fdfa; border: 2px solid #0d9488; } .nv-result-box { margin-top: 16px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #0d9488; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 760px) { .nv-inner { padding: 14px; } .tool-switcher { grid-template-columns: 1fr; } .nv-title { font-size: 18px; } .nv-top-panel { grid-template-columns: 1fr; } .nv-pillars { grid-template-columns: 1fr 1fr; } .nv-btn-grid { grid-template-columns: repeat(4, 1fr); } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
| Phân bậc Raven (Grade) | Bách phân vị (Percentile) | IQ Phi ngôn ngữ (Mean=100, SD=15) | Định danh Năng lực Trí tuệ Phi ngôn ngữ (John C. Raven & Leiter-3) |
|---|---|---|---|
| Bậc I (Grade I) | ≥ 95% | ≥ 125 điểm | Trí tuệ Vượt trội (Intellectually Superior): Tư duy suy luận quy nạp và không gian thị giác xuất sắc (thuộc nhóm 5% cao nhất cùng độ tuổi). |
| Bậc II (Grade II) | 75% – 94% (II+: ≥90%) |
110 – 124 điểm | Trên mức Trung bình (Definitely Above Average): Năng lực giải quyết vấn đề phi ngôn ngữ tốt hơn đa số trẻ cùng tuổi (Thường gặp ở trẻ Tự kỷ có thế mạnh thị giác). |
| Bậc III (Grade III) | 25% – 74% (III+: >50% | III-: <50%) |
90 – 109 điểm | Trí tuệ Trung bình (Intellectually Average): Năng lực tư duy phi ngôn ngữ phát triển bình thường theo đúng độ tuổi. |
| Bậc IV (Grade IV) | 6% – 24% (IV-: ≤10%) |
70 – 89 điểm | Dưới mức Trung bình / Ranh giới (Definitely Below Average): Cần hỗ trợ trực quan hóa và chia nhỏ bước khi học các khái niệm trừu tượng. |
| Bậc V (Grade V) | ≤ 5% | < 70 điểm (-2 SD) | Suy giảm Nhận thức Rõ rệt (Intellectual Impairment): Suy giảm cả tư duy phi ngôn ngữ (Nếu kèm suy giảm hành vi thích ứng trên Vineland-3 sẽ xác nhận Khuyết tật trí tuệ - IDD). |
1. Trắc Nghiệm Khuôn Hình Tiếp Diễn Raven Bản Màu — Raven’s CPM (36 Mục • Bộ A, Ab, B)
Thiết kế chuyên biệt cho trẻ em từ 5 đến 11 tuổi và trẻ chậm nói / rối loạn giao tiếp. Trẻ chỉ tay chọn mảnh ghép đúng trong 36 ma trận màu (Mỗi bộ A, Ab, B tối đa 12 điểm). Hệ thống tự động kiểm tra Độ lệch nhất quán (Consistency Discrepancy) và quy đổi ra Bậc trí tuệ Raven (Grade I – V).
`; } else if (activeTool === 'spm') { headerInfo.innerHTML = `2. Trắc Nghiệm Khuôn Hình Tiếp Diễn Raven Bản Tiêu Chuẩn — Raven’s SPM (60 Mục • Bộ A, B, C, D, E)
Đánh giá toàn diện năng lực suy luận quy nạp và tư duy hệ thống phi ngôn ngữ cho trẻ từ 6 tuổi đến người trưởng thành qua 5 Bộ (A, B, C, D, E — mỗi bộ 12 câu, tổng 60 điểm).
`; } else { headerInfo.innerHTML = `3. Thang Đo Hiệu Suất Quốc Tế Leiter-3 — Đánh Giá IQ, Trí Nhớ & Chú Ý 100% Phi Ngôn Ngữ (3 – 75+ Tuổi)
Công cụ tiêu chuẩn vàng đánh giá nhận thức hoàn toàn không dùng lời nói cả từ phía người khám lẫn trẻ. Chấm điểm chuẩn Scaled Score (1 – 19, TB = 10) cho 4 bài Nhận thức (tính Nonverbal IQ) và 4 bài Chú ý – Trí nhớ (tính Nonverbal Memory & Processing Speed).
`; } } function renderItems() { itemList.innerHTML = ''; if (activeTool === 'cpm' || activeTool === 'spm') { const sets = (activeTool === 'cpm') ? cpmSets : spmSets; const store = (activeTool === 'cpm') ? cpmScores : spmScores; const stepChoices = [0, 2, 4, 6, 8, 10, 12]; // Điểm từng bộ trên thang 0..12 sets.forEach(function(s) { const uVal = (store[s.id] !== undefined) ? store[s.id] : 8; const btnsHtml = stepChoices.map(pt => { let cls = 'nv-sbtn'; if (uVal === pt) { if (pt >= 10) cls += ' sel-top'; else if (pt >= 7) cls += ' sel-good'; else if (pt >= 4) cls += ' sel-mid'; else cls += ' sel-low'; } return ``; }).join(''); const el = document.createElement('div'); el.className = 'nv-item'; el.innerHTML = `• Đối chiếu quy chuẩn ở ${childAgeYears} tuổi: Xếp loại ${cInfo.gradeTxt}, tương đương IQ Phi ngôn ngữ ~${nviq} điểm.
• Kiểm tra tính nhất quán nội tại (Consistency Check): ${validityTxt}. `; } else if (activeTool === 'spm') { const sA = spmScores.SPM_A, sB = spmScores.SPM_B, sC = spmScores.SPM_C, sD = spmScores.SPM_D, sE = spmScores.SPM_E; const rawTotal = sA + sB + sC + sD + sE; // Max 60 const expectedMeanSPM = { 5: 18, 6: 22, 7: 26, 8: 31, 9: 35, 10: 39, 12: 43, 16: 48 }; const expMean = expectedMeanSPM[childAgeYears] || 35; nviq = Math.round(100 + ((rawTotal - expMean) / 7.5) * 15); nviq = Math.max(50, Math.min(145, nviq)); const isConsistent = (sE <= sA + 1) && (sD <= sA + 2); validityTxt = isConsistent ? '✓ Hợp lệ (Đường cong điểm giảm dần hợp lý từ Bộ A → Bộ E)' : '⚠️ Cảnh báo lệch phân bố giữa các Bộ A–E'; dashPillars.innerHTML = `
• Xếp bậc năng lực trí tuệ Raven: ${cInfo.gradeTxt}, tương đương IQ Phi ngôn ngữ ~${nviq} điểm.
• Phân tích 5 cấp độ tư duy: Trẻ xử lý tốt các bài toán hoàn thiện mẫu (Bộ A: ${sA}/12) và tương tự 2×2 (Bộ B: ${sB}/12); mức độ duy trì trên ma trận 3×3 biến thiên (Bộ C: ${sC}/12), hoán vị tổ hợp (Bộ D: ${sD}/12) và đại số hình học trừu tượng (Bộ E: ${sE}/12). `; } else { // LEITER-3 const sumCogSS = leiterSS.FG + leiterSS.FC + leiterSS.CA + leiterSS.SO; // 4 bài tính Nonverbal IQ const sumMemSS = leiterSS.FM + leiterSS.RM; // 2 bài tính Nonverbal Memory const sumSpdSS = leiterSS.AS + leiterSS.AD; // 2 bài tính Processing Speed nviq = Math.max(45, Math.min(155, Math.round(100 + ((sumCogSS / 4) - 10) * 5.2))); const nvMem = Math.max(45, Math.min(155, Math.round(100 + ((sumMemSS / 2) - 10) * 5.2))); const nvSpd = Math.max(45, Math.min(155, Math.round(100 + ((sumSpdSS / 2) - 10) * 5.2))); const cInfo = classifyNVIQ(nviq); dashHeadline.textContent = `Leiter-3 Nonverbal IQ: ${nviq} • Trí Nhớ Phi Ngôn Ngữ: ${nvMem} • Tốc Độ Xử Lý: ${nvSpd}`; dashSub.textContent = `Tổng Scaled Scores 4 bài Nhận thức (FG+FC+CA+SO): ${sumCogSS} (Trung bình chuẩn = 40)`; dashPillars.innerHTML = `
• 2. Chỉ số Trí nhớ Phi ngôn ngữ (Nonverbal Memory Composite): Đạt ${nvMem} điểm (Nhớ xuôi FM = ${leiterSS.FM}, Nhớ ngược RM = ${leiterSS.RM}).
• 3. Chỉ số Chú ý & Tốc độ xử lý (Processing Speed Composite): Đạt ${nvSpd} điểm (Duy trì chú ý AS = ${leiterSS.AS}, Phân chia chú ý AD = ${leiterSS.AD}). `; } const cFinal = classifyNVIQ(nviq); if (cFinal.grade === 'G1') rowG1.className = 'active-row'; else if (cFinal.grade === 'G2') rowG2.className = 'active-row'; else if (cFinal.grade === 'G3') rowG3.className = 'active-row'; else if (cFinal.grade === 'G4') rowG4.className = 'active-row'; else rowG5.className = 'active-row'; scoreBadge.textContent = `${cFinal.gradeTxt.split('•')[0].trim()} (NVIQ: ${nviq})`; scoreBadge.style.background = cFinal.color; scoreBadge.style.color = '#ffffff'; resultBox.style.borderLeftColor = cFinal.color; resultBox.innerHTML = `
• 💡 Ý nghĩa đặc biệt trong Chẩn đoán Tự kỷ (ASD) & Phân mã ICD-11 / DSM-5-TR:
${nviq >= 85 ? '👉 Với IQ Phi ngôn ngữ đạt ' + nviq + ' điểm (≥ 85), trẻ có tiềm năng nhận thức cốt lõi hoàn toàn bình thường/tốt bất chấp việc trẻ có thể đang chậm nói nặng. Kết quả này giúp loại trừ Khuyết tật trí tuệ (IDD) (Định mã ICD-11: 6A02.0 hoặc 6A02.2) và khẳng định việc dạy học cho trẻ cần tận dụng tối đa Giáo cụ trực quan hình ảnh (Visual Supports / TEACCH / PECS).' : (nviq >= 70 ? '👉 IQ Phi ngôn ngữ nằm ở vùng Ranh giới (' + nviq + ' điểm), cần kết hợp đánh giá hành vi thích ứng Vineland-3 và hỗ trợ học tập trực quan từng bước.' : '👉 IQ Phi ngôn ngữ dưới 70 điểm (-2 SD), phản ánh sự suy giảm cả ở tư duy không lời. Cần đối chiếu thêm với Vineland-3 để xác định mức độ hỗ trợ toàn diện.')} `; updateFloatingFabVisibility(); } function applyPreset(type) { if (type === 'reset') { cpmScores = { CPM_A: 0, CPM_Ab: 0, CPM_B: 0 }; spmScores = { SPM_A: 0, SPM_B: 0, SPM_C: 0, SPM_D: 0, SPM_E: 0 }; leiterSS = { FG: 10, FC: 10, CA: 10, SO: 10, FM: 10, RM: 10, AS: 10, AD: 10 }; } else if (type === 'asd_strength') { // Thế mạnh thị giác tự kỷ (Bậc I - II: NVIQ ~118) cpmScores = { CPM_A: 12, CPM_Ab: 10, CPM_B: 8 }; // 30/36 spmScores = { SPM_A: 12, SPM_B: 10, SPM_C: 8, SPM_D: 8, SPM_E: 6 }; // 44/60 leiterSS = { FG: 14, FC: 14, CA: 12, SO: 12, FM: 10, RM: 8, AS: 8, AD: 8 }; } else if (type === 'average') { // Trung bình (Bậc III: NVIQ ~100) cpmScores = { CPM_A: 10, CPM_Ab: 8, CPM_B: 6 }; // 24/36 spmScores = { SPM_A: 10, SPM_B: 8, SPM_C: 6, SPM_D: 6, SPM_E: 2 }; // 32/60 leiterSS = { FG: 10, FC: 10, CA: 10, SO: 10, FM: 10, RM: 10, AS: 10, AD: 10 }; } else if (type === 'borderline') { // Dưới trung bình / Ranh giới (Bậc IV: NVIQ ~78) cpmScores = { CPM_A: 8, CPM_Ab: 6, CPM_B: 4 }; // 18/36 spmScores = { SPM_A: 8, SPM_B: 6, SPM_C: 4, SPM_D: 2, SPM_E: 0 }; // 20/60 leiterSS = { FG: 6, FC: 6, CA: 6, SO: 6, FM: 6, RM: 6, AS: 6, AD: 6 }; } else if (type === 'impaired') { // Suy giảm trí tuệ (Bậc V: NVIQ < 70) cpmScores = { CPM_A: 6, CPM_Ab: 4, CPM_B: 2 }; // 12/36 spmScores = { SPM_A: 6, SPM_B: 4, SPM_C: 2, SPM_D: 0, SPM_E: 0 }; // 12/60 leiterSS = { FG: 4, FC: 4, CA: 4, SO: 4, FM: 4, RM: 4, AS: 4, AD: 4 }; } renderItems(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); nvWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { nvWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 980px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } shadow.querySelectorAll('#toolSwitcher .tool-btn').forEach(function(btn) { btn.onclick = function() { activeTool = this.getAttribute('data-tool'); shadow.querySelectorAll('#toolSwitcher .tool-btn').forEach(b => b.classList.remove('active')); this.classList.add('active'); renderHeader(); renderItems(); updateSummary(); }; }); selAge.onchange = () => { updateSummary(); }; shadow.querySelectorAll('.nv-pbtn').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-preset')); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); renderHeader(); applyPreset('asd_strength'); })();
Raven (Trắc nghiệm khuôn hình tiếp diễn) hoặc Leiter-3: Các thang đo IQ phi ngôn ngữ (Non-verbal IQ). Đây là công cụ “cứu cánh” bắt buộc phải có khi đánh giá trẻ tự kỷ hoặc trẻ chậm nói nặng (vì trẻ không nói được sẽ bị điểm thấp oan nếu đo bằng các bài test IQ thông thường).
Trong thực hành lâm sàng với trẻ Rối loạn phổ tự kỷ (ASD) (đặc biệt là trẻ chậm nói, chưa có lời nói hoặc rối loạn ngôn ngữ nặng), nếu dùng các bài test IQ phụ thuộc nhiều vào lời nói, điểm số của trẻ sẽ bị kéo tụt giả tạo và dễ bị chẩn đoán nhầm thành Khuyết tật trí tuệ (IDD). Raven và Leiter-3 giải quyết triệt để rào cản này bằng cách đo lường trực tiếp Trí thông minh Lưu loát (Fluid Intelligence – Gf) và tư duy suy luận hình ảnh mà không yêu cầu trẻ phải phát âm một từ nào.
| Tiêu chí so sánh | 1. Raven’s Progressive Matrices (CPM & SPM) | 2. Leiter-3 (Leiter International Performance Scale-3) |
| Tác giả & Xuất bản | John C. Raven (1938, cập nhật Raven’s 2 bởi Pearson). | Gale H. Roid, Lucy J. Miller et al. (2013, Stoelting). |
| Độ tuổi áp dụng |
• Bản Màu (CPM): 5 – 11 tuổi (hoặc trẻ chậm phát triển/người già).
• Bản Tiêu chuẩn (SPM): 6 – 80+ tuổi. |
3 tuổi 0 tháng đến 75+ tuổi (Cực mạnh cho trẻ mầm non từ 3 tuổi). |
| Phương thức thực hiện | Trẻ nhìn ma trận hình ảnh bị khuyết 1 mảnh và chỉ tay chọn 1 trong 6 (hoặc 8) mảnh ghép bên dưới để hoàn thiện quy luật. | 100% Phi ngôn ngữ cả 2 chiều: Người khám cũng không được nói, chỉ dùng cử chỉ điệu bộ; trẻ di chuyển các khối mút/thẻ hình đặt vào các khe trên khung giá đỡ (Easel). |
| Cấu trúc các Tiểu thang |
• Raven CPM (36 mục — 3 Bộ A, Ab, B): Mỗi bộ 12 câu.
• Raven SPM (60 mục — 5 Bộ A, B, C, D, E): Mỗi bộ 12 câu tăng dần độ khó quy luật. |
Chia làm 2 Bộ pin độc lập (10 tiểu trắc nghiệm):
1. Bộ Nhận thức (Cognitive Battery — 4 bài tính Nonverbal IQ): Figure Ground (FG), Form Completion (FC), Classification/Analogies (CA), Sequential Order (SO).
2. Bộ Chú ý & Trí nhớ (Attention & Memory — 4 bài tính Nonverbal Memory & Processing Speed): Attention Sustained (AS), Attention Divided (AD), Forward Memory (FM), Reverse Memory (RM). |
| Hệ thống tính điểm |
• Tính Tổng điểm thô (CPM: 0–36đ; SPM: 0–60đ).
• Kiểm tra Độ lệch phân bố chuẩn (Discrepancy Consistency) giữa các bộ A, B, C, D, E.
• Quy đổi ra Bách phân vị (Percentile: Bậc I đến Bậc V) và IQ Phi ngôn ngữ tương đương. |
• Chấm Scaled Score (1 – 19, Mean = 10, SD = 3) cho từng tiểu trắc nghiệm.
• Quy đổi ra Nonverbal IQ (40 – 160, Mean = 100, SD = 15), Nonverbal Memory và Processing Speed. |
(Một phát hiện nổi tiếng trong y văn tự kỷ của Giáo sư Laurent Mottron năm 2007 là: Trẻ tự kỷ khi làm bài test Raventhường đạt điểm Bách phân vị cao hơn từ 30 đến 70 bậc so với khi làm bài test Wechsler có lời nói — vì tư duy ma trận thị giác chính là thế mạnh bẩm sinh của não bộ tự kỷ!)
Dậy con nói Nhóm câu Yêu cầu Sự trợ giúp & Giao tiếp Cốt lõi
Nhóm này đóng vai trò như một “chiếc chìa khóa” để mở ra sự tương tác. Trẻ tự kỷ thường có xu hướng tự giải quyết vấn đề (kéo ghế để với đồ, tự cạy hộp) hoặc kéo tay người lớn đặt vào đồ vật thay vì dùng lời nói (đây gọi là dùng người lớn như một công cụ). Việc dạy từ vựng ở nhóm này sẽ giúp con phá vỡ thói quen đó.
Chúng ta sẽ chia Nhóm 2 thành 3 tiểu mục cực kỳ quan trọng:
I, GỌI NGƯỜI & THU HÚT SỰ CHÚ Ý
Đây là bước đầu tiên để giao tiếp: Phải gọi được người khác thì mới nhờ được.
1. Từ đơn (1 âm tiết)
-
Nhóm Danh từ (Đại từ chỉ người):
-
Mẹ, Ba (Bố), Bà, Ông, Cô (cô giáo), Anh, Chị.
-
Tên của con (để con nhận biết khi được gọi).
-
-
Nhóm Động từ:
-
Bế, ẵm, cõng, ôm.
-
Nhìn, xem, ra (đây).
-
-
Nhóm Từ chức năng/Cảm thán:
-
Ơi, Dạ, Có, Đây.
-
2. Câu 2 từ (Ghép Người + Hành động / Cảm thán)
-
Gọi người: Mẹ ơi, Ba ơi, Cô ơi, Bà ơi, Chị ơi
-
Đòi hỏi sự chú ý/âu yếm: Bế con, mẹ bế, ôm con, cõng con, dắt tay con,…
-
Kéo sự chú ý vào đồ vật: Nhìn này, xem này, ra đây, mẹ ra.
II, YÊU CẦU TRỢ GIÚP THAO TÁC (Khi gặp khó khăn)
Được dùng khi đồ chơi bị hỏng, đồ ăn trong hộp đậy chặt, hoặc đồ để trên cao ngoài tầm với.
1. Từ đơn (1 âm tiết)
-
Nhóm Động từ (Chìa khóa của nhóm này):
-
Giúp (từ này cực kỳ quan trọng).
-
Mở, bóc, vặn (nắp), tháo, gỡ (khi bị rối/kẹt).
-
Lấy, nhặt, cất.
-
Bật, tắt (tivi, quạt, đèn, đồ chơi phát nhạc).
-
Xỏ (giày/dép), mặc, cài (khuy áo).
-
-
Nhóm Danh từ:
-
Tay, chân (ví dụ: bị kẹt tay).
-
Đồ chơi, tivi, đèn, quạt, cửa, giày, tất (vớ).
-
-
Nhóm Tính từ / Trạng thái:
-
Khó, kẹt, hỏng, cao.
-
2. Câu 2 từ (Ghép Động/Tính từ + Danh từ)
-
Xin giúp đỡ chung: Giúp con, giúp bé, làm giúp.
-
Trợ giúp thao tác: Mở hộp, bóc kẹo, vặn nắp, bật lên, tắt đi, tháo ra.
-
Trợ giúp lấy đồ: Lấy đồ, lấy bóng, nhặt lên.
-
Báo cáo tình trạng để nhờ vả: Khó quá, kẹt rồi, hỏng rồi, cao quá.
III, GIAO TIẾP CỐT LÕI (Điều hướng hoạt động)
Giúp con thể hiện ý chí của mình: Có muốn làm tiếp không? Có thích không?
1. Từ đơn (1 âm tiết)
-
Nhóm Động từ (Thể hiện mong muốn):
-
Muốn, thích, cần.
-
-
Nhóm Từ chức năng (Khẳng định/Phủ định/Tình trạng):
-
Có, không.
-
Nữa (muốn thêm/lặp lại).
-
Rồi (đã xong), chưa, hết.
-
Xong, dừng.
-
2. Câu 2 từ
-
Đồng ý / Từ chối nhẹ nhàng: Có ạ, không ạ, muốn chơi, không thích, không muốn.
-
Điều khiển tiến độ: Chơi nữa, làm nữa, hát nữa, xem nữa.
-
Kết thúc hoạt động: Xong rồi, hết rồi, chưa xong, cất đi, dừng lại.
💡 Chiến lược dạy “Kéo tay thành Bật âm” (Từ Hành vi sang Ngôn ngữ)
Với nhóm này, lỗi hay gặp nhất là bé sẽ cầm tay mẹ, kéo lại chỗ cái hộp đồ chơi, đặt tay mẹ lên nắp hộp để mẹ mở (mà không nhìn mẹ, không nói gì).
Cách xử lý để gài bẫy dạy ngôn ngữ:
-
Khi con kéo tay mẹ đặt lên hộp, mẹ hãy nắm chặt tay lại, không mở hộp ngay.
-
Đưa hộp lên ngang tầm mắt mẹ để kích thích con giao tiếp mắt với mẹ.
-
Mẹ làm mẫu từ: “MỞ” (hoặc “Mẹ mở”). Nói to, rõ ràng, chậm rãi 1 lần.
-
Chờ 3-5 giây xem con có cố gắng phát âm theo không (dù chỉ là âm “M”, âm “Ơ” hoặc mấp máy môi).
-
Nếu con phát âm (hoặc có cố gắng) Lập tức mở hộp ngay và khen ngợi: “À đúng rồi, MỞ hộp! Mẹ mở nhé!”.
-
Nếu con khóc/cáu Mẹ nói lại chữ “MỞ” lần 2 rồi mở hộp, không ép quá lâu tránh meltdown, nhưng vẫn cho con thấy quy luật là “phải có âm thanh ‘mở’ thì hộp mới mở”.
Nguồn tham khảo: Kiến thức thực tế dạy con và những gợi ý từ AI.
[Theo dõi tiến bộ] ATEC: Bảng kiểm đánh giá hiệu quả điều trị và theo dõi tiến bộ ở trẻ tự kỷ (2 – 12 tuổi)
(function() { const host = document.getElementById('atec-wp-host'); if (!host) return; const placeholder = document.createComment('atec-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // Cấu hình 4 Phân mục chuẩn của ATEC (Tổng 77 câu = 179 điểm) const subConfigs = { s1: { code: 's1', name: 'I. Lời nói / Ngôn ngữ / Giao tiếp (14 câu)', max: 28, color: '#2563eb', rule: 'Kỹ năng tích cực: Rất đúng = 0đ | Đúng một phần = 1đ | Không đúng = 2đ' }, s2: { code: 's2', name: 'II. Kỹ năng Xã hội (20 câu)', max: 40, color: '#7c3aed', rule: 'Khiếm khuyết xã hội: Không giống = 0đ | Giống một phần = 1đ | Rất giống = 2đ' }, s3: { code: 's3', name: 'III. Nhận thức Giác quan / Tư duy (18 câu)', max: 36, color: '#0d9488', rule: 'Năng lực nhận thức: Rất giống = 0đ | Giống một phần = 1đ | Không giống = 2đ' }, s4: { code: 's4', name: 'IV. Sức khỏe / Thể chất / Hành vi (25 câu)', max: 75, color: '#dc2626', rule: 'Mức độ vấn đề: Không = 0đ | Nhẹ = 1đ | Vừa = 2đ | Nghiêm trọng = 3đ' } }; // Đầy đủ 77 câu hỏi chuẩn ATEC (Autism Research Institute - Rimland & Edelson) const questions = [ // PHẦN I: LỜI NÓI / NGÔN NGỮ / GIAO TIẾP (Câu 1 - 14 • Max 28đ • Rất đúng=0, Đúng một phần=1, Không đúng=2) { id: 1, sub: 's1', t: 'Biết tên của chính mình (quay lại hoặc phản ứng khi được gọi tên).' }, { id: 2, sub: 's1', t: 'Phản ứng dừng lại khi nghe hiệu lệnh "Không" hoặc "Dừng lại".' }, { id: 3, sub: 's1', t: 'Có thể làm theo một số mệnh lệnh đơn giản.' }, { id: 4, sub: 's1', t: 'Có thể sử dụng từng từ đơn (Ví dụ: Không, Ăn, Nước, Mẹ...).' }, { id: 5, sub: 's1', t: 'Có thể sử dụng cụm 2 từ nối tiếp nhau (Ví dụ: Không muốn, Đi về, Uống sữa...).' }, { id: 6, sub: 's1', t: 'Có thể sử dụng cụm 3 từ trở lên (Ví dụ: Con muốn uống sữa...).' }, { id: 7, sub: 's1', t: 'Biết từ 10 từ vựng trở lên.' }, { id: 8, sub: 's1', t: 'Có thể nói các câu có từ 4 từ trở lên.' }, { id: 9, sub: 's1', t: 'Giải thích được điều trẻ đang muốn bằng lời nói.' }, { id: 10, sub: 's1', t: 'Biết đặt các câu hỏi có ý nghĩa.' }, { id: 11, sub: 's1', t: 'Lời nói của trẻ có xu hướng mang tính liên quan, có ý nghĩa với tình huống hiện tại.' }, { id: 12, sub: 's1', t: 'Thường xuyên sử dụng được nhiều câu nói liên tiếp nhau.' }, { id: 13, sub: 's1', t: 'Duy trì được một cuộc trò chuyện qua lại khá tốt.' }, { id: 14, sub: 's1', t: 'Có khả năng giao tiếp bằng lời nói tương đương với trẻ bình thường cùng độ tuổi.' }, // PHẦN II: KỸ NĂNG XÃ HỘI (Câu 15 - 34 • Max 40đ • Không giống=0, Giống một phần=1, Rất giống=2) { id: 15, sub: 's2', t: 'Có vẻ như đang ở trong một "vỏ bọc" riêng — bạn không thể tiếp cận kết nối với trẻ.' }, { id: 16, sub: 's2', t: 'Phớt lờ những người khác như thể họ không tồn tại.' }, { id: 17, sub: 's2', t: 'Khi có người nói chuyện cùng, trẻ hầu như không chú ý hoặc rất ít chú ý.' }, { id: 18, sub: 's2', t: 'Không hợp tác và có tính chống đối.' }, { id: 19, sub: 's2', t: 'Không có giao tiếp bằng ánh mắt (tránh nhìn mắt).' }, { id: 20, sub: 's2', t: 'Thích được để yên chơi một mình hơn là chơi cùng người khác.' }, { id: 21, sub: 's2', t: 'Không thể hiện tình cảm ấm áp, âu yếm với người thân.' }, { id: 22, sub: 's2', t: 'Không biết chào hỏi bố mẹ khi đi học về hoặc khi gặp lại.' }, { id: 23, sub: 's2', t: 'Tránh né việc tiếp xúc, tương tác với những người khác.' }, { id: 24, sub: 's2', t: 'Không bắt chước hành động của người khác.' }, { id: 25, sub: 's2', t: 'Không thích được ôm ấp hoặc giữ trong lòng.' }, { id: 26, sub: 's2', t: 'Không biết chia sẻ đồ vật hoặc mang đồ lại khoe với người khác.' }, { id: 27, sub: 's2', t: 'Không biết vẫy tay chào tạm biệt ("Bye bye").' }, { id: 28, sub: 's2', t: 'Không nghe lời và bất tuân các chỉ dẫn.' }, { id: 29, sub: 's2', t: 'Thường xuyên nổi cơn tam bành, ăn vạ dữ dội.' }, { id: 30, sub: 's2', t: 'Không có bạn bè và không chơi với bạn cùng trang lứa.' }, { id: 31, sub: 's2', t: 'Hiếm khi mỉm cười với người khác.' }, { id: 32, sub: 's2', t: 'Vô cảm trước cảm xúc của người khác (không để ý khi người khác buồn/khóc).' }, { id: 33, sub: 's2', t: 'Thờ ơ không quan tâm đến việc người khác có quý mến hay khen mình không.' }, { id: 34, sub: 's2', t: 'Thờ ơ hoàn toàn khi bố mẹ rời đi (không có phản ứng lưu luyến).' }, // PHẦN III: NHẬN THỨC GIÁC QUAN / TƯ DUY (Câu 35 - 52 • Max 36đ • Rất giống=0, Giống một phần=1, Không giống=2) { id: 35, sub: 's3', t: 'Phản ứng tương xứng khi nghe gọi tên của mình.' }, { id: 36, sub: 's3', t: 'Đáp lại tích cực khi được người khác khen ngợi.' }, { id: 37, sub: 's3', t: 'Nhìn vào con người và các loài động vật xung quanh.' }, { id: 38, sub: 's3', t: 'Chú ý nhìn vào tranh ảnh và xem tivi có hiểu nội dung.' }, { id: 39, sub: 's3', t: 'Biết vẽ hình, tô màu hoặc làm các hoạt động mỹ thuật/thủ công.' }, { id: 40, sub: 's3', t: 'Chơi với các món đồ chơi một cách phù hợp (đúng chức năng của đồ chơi).' }, { id: 41, sub: 's3', t: 'Có biểu cảm khuôn mặt phù hợp với từng hoàn cảnh cảm xúc.' }, { id: 42, sub: 's3', t: 'Hiểu được các câu chuyện kể trên tivi hoặc phim hoạt hình.' }, { id: 43, sub: 's3', t: 'Hiểu được những lời giải thích của người lớn.' }, { id: 44, sub: 's3', t: 'Có nhận thức về môi trường và những gì đang diễn ra xung quanh.' }, { id: 45, sub: 's3', t: 'Có nhận thức về mối nguy hiểm (tránh độ cao, xe cộ, vật nóng).' }, { id: 46, sub: 's3', t: 'Thể hiện trí tưởng tượng (chơi đóng vai giả vờ).' }, { id: 47, sub: 's3', t: 'Chủ động khởi xướng các hoạt động vui chơi/học tập.' }, { id: 48, sub: 's3', t: 'Có thể tự mặc quần áo mà không cần giúp đỡ nhiều.' }, { id: 49, sub: 's3', t: 'Tò mò, thích tìm hiểu và khám phá những điều mới mẻ.' }, { id: 50, sub: 's3', t: 'Mạnh dạn thử nghiệm, khám phá môi trường xung quanh.' }, { id: 51, sub: 's3', t: 'Bắt nhịp tốt với mọi chuyện, không bị lơ đãng hay bỏ lỡ thông tin.' }, { id: 52, sub: 's3', t: 'Nhìn theo hướng mà những người khác đang nhìn hoặc chỉ tay tới.' }, // PHẦN IV: SỨC KHỎE / THỂ CHẤT / HÀNH VI (Câu 53 - 77 • Max 75đ • Không=0, Nhẹ=1, Vừa=2, Nghiêm trọng=3) { id: 53, sub: 's4', t: 'Đái dầm vào ban đêm.' }, { id: 54, sub: 's4', t: 'Đái ra quần vào ban ngày.' }, { id: 55, sub: 's4', t: 'Đại tiện (ị đùn) ra quần.' }, { id: 56, sub: 's4', t: 'Tiêu chảy thường xuyên hoặc phân lỏng.' }, { id: 57, sub: 's4', t: 'Táo bón kéo dài.' }, { id: 58, sub: 's4', t: 'Các vấn đề về giấc ngủ (khó ngủ, thức giấc giữa đêm, ngủ ít).' }, { id: 59, sub: 's4', t: 'Ăn quá nhiều hoặc cực kỳ kén ăn / ăn quá ít.' }, { id: 60, sub: 's4', t: 'Kén chọn thực phẩm cực đoan (chỉ ăn một vài món cố định).' }, { id: 61, sub: 's4', t: 'Cơn tăng động, chạy nhảy bồn chồn không ngừng (Hyperactive).' }, { id: 62, sub: 's4', t: 'Trạng thái lờ đờ, mệt mỏi, thiếu năng lượng (Lethargic).' }, { id: 63, sub: 's4', t: 'Tự đánh hoặc tự làm đau chính bản thân mình (Self-injurious).' }, { id: 64, sub: 's4', t: 'Đánh, cắn hoặc làm đau những người khác.' }, { id: 65, sub: 's4', t: 'Phá hỏng đồ đạc, xé sách vở hoặc đập phá đồ chơi.' }, { id: 66, sub: 's4', t: 'Nhạy cảm quá mức với âm thanh (hay bịt tai trước tiếng ồn).' }, { id: 67, sub: 's4', t: 'Lo âu, căng thẳng hoặc sợ hãi quá mức.' }, { id: 68, sub: 's4', t: 'Không vui vẻ, hay khóc lóc hoặc cáu gắt vô cớ.' }, { id: 69, sub: 's4', t: 'Co giật hoặc các cơn vắng ý thức (Seizures).' }, { id: 70, sub: 's4', t: 'Lời nói mang tính ám ảnh, lặp đi lặp lại một câu/từ.' }, { id: 71, sub: 's4', t: 'Các thói quen cứng nhắc (đòi hỏi mọi thứ phải y nguyên không được thay đổi).' }, { id: 72, sub: 's4', t: 'La hét hoặc kêu ré lên bất chợt.' }, { id: 73, sub: 's4', t: 'Đòi hỏi mọi thứ phải được đáp ứng ngay lập tức.' }, { id: 74, sub: 's4', t: 'Thường xuyên bị kích động, bồn chồn lo lắng.' }, { id: 75, sub: 's4', t: 'Không nhạy cảm với cơn đau (ngã đau hoặc chảy máu nhưng không khóc).' }, { id: 76, sub: 's4', t: 'Bị cuốn hút / dán mắt vào một số đồ vật hoặc chủ đề nhất định.' }, { id: 77, sub: 's4', t: 'Các cử động cơ thể lặp đi lặp lại (vẫy tay, đung đưa người, xoay tròn).' } ]; // answers[id] lưu trực tiếp ĐIỂM RỦI RO của câu đó (0, 1, 2 cho Phần I, II, III; và 0, 1, 2, 3 cho Phần IV) let answers = {}; let filterSub = 'all'; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .at-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .at-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .at-inner { padding: 24px; max-width: 960px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .at-wrap.is-fullscreen .at-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .at-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 0 rgba(37, 99, 235, 0.4); } 70% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 10px rgba(37, 99, 235, 0); } 100% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 0 rgba(37, 99, 235, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #1d4ed8 0%, #2563eb 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Header */ .at-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .at-header-text { flex: 1 1 260px; } .at-title { font-size: 21px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .at-desc { font-size: 14px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #eff6ff; color: #1d4ed8; border: 1px solid #bfdbfe; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #2563eb; color: #ffffff; border-color: #2563eb; } /* Controls */ .at-controls { display: flex; flex-direction: column; gap: 10px; margin-bottom: 18px; } .at-presets { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; } .at-preset-lbl { font-size: 12.5px; font-weight: 700; color: #475569; margin-right: 4px; } .at-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; touch-action: manipulation; } .at-pbtn:hover { background: #f1f5f9; } .at-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } .at-sub-tabs { display: flex; flex-wrap: wrap; gap: 6px; } .at-stab { padding: 6px 12px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .at-stab.active { background: #2563eb; color: #ffffff; border-color: #2563eb; } /* Sticky Dashboard */ .at-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .at-wrap.is-fullscreen .at-dash { top: 58px; } .at-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .at-score-big { font-size: 23px; font-weight: 800; line-height: 1.15; } .at-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .at-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .at-bar-bg { height: 10px; background: #334155; border-radius: 5px; overflow: hidden; margin-bottom: 12px; } .at-bar-fill { height: 100%; width: 0%; background: #10b981; transition: width 0.35s ease, background 0.35s ease; } .at-pillars { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; font-size: 12px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .at-pillar-box { background: #1e293b; padding: 7px 10px; border-radius: 8px; } .at-pillar-val { font-weight: 700; color: #ffffff; font-size: 13.5px; display: block; margin-top: 2px; } /* Danh sách 77 câu hỏi */ .at-q-item { border: 1px solid #e2e8f0; border-radius: 10px; padding: 14px 16px; margin-bottom: 12px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 10px; } .at-q-item.risk-high { border-color: #fda4af; background: #fff5f5; } .at-q-item.risk-mid { border-color: #fde68a; background: #fffbeb; } .at-q-text { font-size: 14.5px; font-weight: 600; color: #1e293b; line-height: 1.5; } .at-q-tags { display: flex; flex-wrap: wrap; gap: 6px; } .at-tag { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .at-ans-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; } .at-ans-grid.grid-4 { grid-template-columns: repeat(4, 1fr); } .at-abtn { padding: 8px 6px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 600; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .at-abtn:hover { border-color: #64748b; } .at-abtn.sel-0 { background: #10b981; border-color: #10b981; color: #ffffff; font-weight: 700; } .at-abtn.sel-1 { background: #f59e0b; border-color: #f59e0b; color: #ffffff; font-weight: 700; } .at-abtn.sel-2, .at-abtn.sel-3 { background: #ef4444; border-color: #ef4444; color: #ffffff; font-weight: 700; } /* Biểu đồ 4 phân mục & Kết luận */ .at-chart-card { margin-top: 20px; padding: 16px 18px; border-radius: 12px; background: #ffffff; border: 1px solid #e2e8f0; } .at-chart-title { font-size: 14.5px; font-weight: 700; color: #0f172a; margin-bottom: 12px; } .at-bar-row { display: flex; align-items: center; gap: 10px; margin-bottom: 9px; font-size: 12.5px; } .at-bar-lbl { width: 255px; flex-shrink: 0; font-weight: 600; color: #334155; } .at-bar-track { flex: 1; height: 16px; background: #f1f5f9; border-radius: 999px; overflow: hidden; } .at-bar-val { width: 110px; text-align: right; font-weight: 700; color: #0f172a; flex-shrink: 0; } .at-result-box { margin-top: 16px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #2563eb; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 720px) { .at-inner { padding: 14px; } .at-title { font-size: 18px; } .at-pillars { grid-template-columns: 1fr 1fr; } .at-ans-grid, .at-ans-grid.grid-4 { grid-template-columns: 1fr; } .at-bar-lbl { width: 145px; font-size: 11.5px; } .at-bar-val { width: 90px; font-size: 11.5px; } .at-pbtn.reset { margin-left: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
Bảng Kiểm Đánh Giá Điều Trị Tự Kỷ ATEC (Đầy Đủ 77 Câu Hỏi • Thang 0 – 179 Điểm)
Công cụ chuẩn hóa của Viện Nghiên cứu Tự kỷ Hoa Kỳ (ARI — Rimland & Edelson) dùng để đo lường mức độ triệu chứng và theo dõi sự tiến bộ qua từng giai đoạn can thiệp. Quy tắc: Điểm càng thấp trẻ càng tốt (0–19: Tối thiểu • 20–39: Nhẹ • 40–69: Trung bình • 70–103: Nặng • ≥104: Rất nặng).
• Bách phân vị ARI: ${pctText}.
• Trẻ có kỹ năng ngôn ngữ giao tiếp (${scores.s1}/28), tương tác xã hội (${scores.s2}/40), nhận thức giác quan (${scores.s3}/36) và sức khỏe hành vi (${scores.s4}/75) rất tốt. Nếu trẻ trước đây từng có điểm ATEC cao và nay giảm xuống dưới 20 điểm, đây là dấu hiệu đáp ứng can thiệp cực kỳ xuất sắc. `; } else if (total <= 39) { color = '#0284c7'; badgeTxt = `MỨC ĐỘ NHẸ - MILD (${total}/179đ)`; analysis = ` Kết luận ATEC — Triệu chứng Phổ Tự Kỷ Mức Độ NHẸ (20 – 39 điểm: Đạt ${total}/179 điểm):
• Bách phân vị ARI: ${pctText}.
• Phân tích 4 trụ cột: Lời nói & Giao tiếp (${scores.s1}/28đ) • Kỹ năng Xã hội (${scores.s2}/40đ) • Nhận thức & Giác quan (${scores.s3}/36đ) • Sức khỏe & Hành vi (${scores.s4}/75đ).
• Định hướng: Trẻ có nền tảng khá tốt để học hòa nhập, cần tiếp tục củng cố các kỹ năng giao tiếp xã hội tinh tế và theo dõi lại bằng ATEC sau mỗi 2–3 tháng. `; } else if (total <= 69) { color = '#f59e0b'; badgeTxt = `MỨC ĐỘ TRUNG BÌNH - MODERATE (${total}/179đ)`; analysis = ` Kết luận ATEC — Triệu chứng Phổ Tự Kỷ Mức Độ TRUNG BÌNH (40 – 69 điểm: Đạt ${total}/179 điểm):
• Bách phân vị ARI: ${pctText}.
• Phân tích 4 trụ cột: Lời nói & Giao tiếp (${scores.s1}/28đ) • Kỹ năng Xã hội (${scores.s2}/40đ) • Nhận thức & Giác quan (${scores.s3}/36đ) • Sức khỏe & Hành vi (${scores.s4}/75đ).
• Định hướng: Hãy nhìn vào biểu đồ tỷ lệ % ở trên để xem phân mục nào đang chiếm tỷ lệ điểm cao nhất (ví dụ: nếu Phần I và III cao cần đẩy mạnh ABA/VB-MAPP và Ngôn ngữ trị liệu; nếu Phần IV cao cần giải quyết vấn đề giấc ngủ, tiêu hóa và điều hòa giác quan). `; } else { color = '#ef4444'; badgeTxt = total <= 103 ? `MỨC ĐỘ NẶNG - SEVERE (${total}/179đ)` : `MỨC ĐỘ RẤT NẶNG (${total}/179đ)`; analysis = ` Kết luận ATEC — Triệu chứng Phổ Tự Kỷ Mức Độ NẶNG / RẤT NẶNG (≥ 70 điểm: Đạt ${total}/179 điểm):
• Bách phân vị ARI: ${pctText}.
• Phân tích 4 trụ cột: Lời nói & Giao tiếp (${scores.s1}/28đ) • Kỹ năng Xã hội (${scores.s2}/40đ) • Nhận thức & Giác quan (${scores.s3}/36đ) • Sức khỏe & Hành vi (${scores.s4}/75đ).
• Định hướng: Trẻ cần chương trình can thiệp tích cực 1-kèm-1 toàn diện (kết hợp thiết lập ngôn ngữ nền tảng qua VB-MAPP/PEP-3, Hoạt động trị liệu giác quan OT và thăm khám y khoa nhi phát triển để cải thiện giấc ngủ/tiêu hóa ở Phần IV). Hãy lưu lại mốc điểm ${total} điểm này làm mốc nền (Baseline) để đánh giá lại sau 3 tháng can thiệp! `; } barFill.style.background = color; scoreBadge.textContent = badgeTxt; scoreBadge.style.background = color; scoreBadge.style.color = '#ffffff'; resultBox.style.borderLeftColor = color; resultBox.innerHTML = analysis; updateFloatingFabVisibility(); } function applyPreset(type) { answers = {}; if (type === 'reset') { renderQuestions(); updateSummary(); return; } if (type === 'recovered') { // 15 điểm (Sau can thiệp tốt) questions.forEach((q, idx) => { answers[q.id] = (idx % 5 === 0) ? 1 : 0; }); } else if (type === 'mild') { // 32 điểm (Mức độ Nhẹ) questions.forEach((q, idx) => { answers[q.id] = (idx % 3 === 0) ? 1 : ((idx % 11 === 0) ? 2 : 0); }); } else if (type === 'mod') { // 56 điểm (Mức độ Trung bình) questions.forEach((q, idx) => { if (idx % 4 === 0) answers[q.id] = 2; else if (idx % 2 === 0) answers[q.id] = 1; else answers[q.id] = 0; }); } else if (type === 'sev') { // 88 điểm (Mức độ Nặng trước can thiệp) questions.forEach((q, idx) => { if (q.sub === 's4' && idx % 5 === 0) answers[q.id] = 3; else if (idx % 2 === 0) answers[q.id] = 2; else answers[q.id] = 1; }); } renderQuestions(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); atWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { atWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 960px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } shadow.querySelectorAll('.at-pbtn').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-preset')); }; }); shadow.querySelectorAll('#subTabs .at-stab').forEach(function(tab) { tab.onclick = function() { filterSub = this.getAttribute('data-sub'); shadow.querySelectorAll('#subTabs .at-stab').forEach(t => t.classList.remove('active')); this.classList.add('active'); renderQuestions(); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); applyPreset('mod'); })();
ATEC (Autism Treatment Evaluation Checklist — Bảng Kiểm Đánh Giá Điều Trị Tự Kỷ) là công cụ định lượng hàng đầu thế giới chuyên dùng để đo lường hiệu quả trước và sau can thiệp ở trẻ có Rối loạn phổ tự kỷ (ASD). Công cụ được Tiến sĩ Bernard Rimland và Tiến sĩ Stephen M. Edelson tại Viện Nghiên cứu Tự kỷ Hoa Kỳ (Autism Research Institute – ARI) phát triển năm 1999.
Khác với các công cụ sàng lọc một lần (như M-CHAT-R/F hay CAST), mục đích cốt lõi của ATEC là giúp phụ huynh,giáo viên và nhà trị liệu theo dõi sự tiến bộ của trẻ theo từng tháng/quý (khi áp dụng phương pháp giáo dục mới, ngôn ngữ trị liệu, điều hòa giác quan hoặc chế độ dinh dưỡng/y sinh).
1. Tóm tắt cốt lõi về cấu trúc & Cách tính điểm của ATEC
-
Độ tuổi áp dụng: Phổ biến nhất cho trẻ từ 2 đến 12 tuổi (có thể mở rộng cho lứa tuổi lớn hơn đang trong quá trình can thiệp).
-
Quy tắc vàng của điểm ATEC: ĐIỂM CÀNG THẤP = TRẺ CÀNG TỐT (ÍT TRIỆU CHỨNG HƠN). Khi trẻ tiến bộ qua các tháng can thiệp, tổng điểm ATEC sẽ giảm dần về 0.
-
Cấu trúc 77 câu hỏi chia làm 4 Phân mục (Tổng điểm từ 0 đến 179 điểm):
| Phân mục (Subscale) | Số câu hỏi | Quy tắc chấm điểm & Trọng số đặc biệt | Điểm tối đa |
| I. Lời nói / Ngôn ngữ / Giao tiếp(Speech/Language/Communication) | 14 câu(Câu 1 – 14) |
Hỏi về các kỹ năng tích cực trẻ làm được:
•
•
• |
28 điểm |
| II. Kỹ năng Xã hội (Sociability) | 20 câu(Câu 15 – 34) |
Hỏi về các khiếm khuyết xã hội của trẻ:
•
•
• |
40 điểm |
| III. Nhận thức Giác quan / Tư duy(Sensory/Cognitive Awareness) | 18 câu(Câu 35 – 52) |
Hỏi về các năng lực nhận thức tích cựccủa trẻ:
•
•
• |
36 điểm |
| IV. Sức khỏe / Thể chất / Hành vi(Health/Physical/Behavior) | 25 câu(Câu 53 – 77) |
Hỏi về các vấn đề sức khỏe, tiêu hóa, giấc ngủ & hành vi:
•
•
•
• |
75 điểm |
| TỔNG CỘNG TOÀN BẢNG | 77 câu | Tổng điểm càng thấp trẻ phát triển càng tốt | 179 điểm |
2. Bảng Phân loại Mức độ Nặng theo Tổng điểm ATEC (ARI Percentile Norms)
| Khoảng Tổng điểm ATEC (0 – 179) | Bách phân vị (Percentile) | Phân loại Mức độ Triệu chứng Lâm sàng |
| 0 – 19 điểm | < 5% | Không có / Triệu chứng tối thiểu: Tương đương trẻ phát triển điển hình hoặc đã phục hồi rất tốt sau can thiệp. |
| 20 – 39 điểm | 5% – 19% | Mức độ Nhẹ (Mild): Trẻ có ngôn ngữ giao tiếp và nhận thức khá tốt, chỉ còn một số khó khăn xã hội hoặc hành vi nhẹ. |
| 40 – 69 điểm | 20% – 59% | Mức độ Trung bình (Moderate): Cần chương trình can thiệp có cấu trúc đều đặn về ngôn ngữ, xã hội và điều hòa hành vi. |
| 70 – 103 điểm | 60% – 89% | Mức độ Nặng (Severe): Suy giảm rõ rệt ở nhiều lĩnh vực, cần can thiệp cá nhân 1:1 chuyên sâu và chăm sóc y sinh/giác quan. |
| 104 – 179 điểm | Mức độ Rất nặng (Profound): Nằm trong nhóm 10% có biểu hiện nặng nhất, cần hỗ trợ toàn diện mọi mặt sinh hoạt. |
Hướng dẫn Trị Liệu Rối Loạn Ăn Uống Cho Một Trẻ Tự Kỷ Điển Hình
Chia sẻ dưới đây là tài liệu hướng dẫn trị liệu rối loạn ăn uống cho một trường hợp trẻ tự kỷ điển hình do bs- thạc sĩ Nguyễn Thị Hạnh tổng hợp lại.
[Tự kỷ] AQ: Thang đo chỉ số phổ tự kỷ dành cho trẻ em, thanh thiếu niên và người lớn (Từ 4 tuổi)
(function() { const host = document.getElementById('aq-full-wp-host'); if (!host) return; const placeholder = document.createComment('aq-full-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // 50 câu hỏi chuẩn AQ (Cambridge University) với 2 bản ngữ pháp: // tc: Ngôi thứ 3 dành cho Phụ huynh đánh giá con (AQ-Child 4-11 tuổi & AQ-Adolescent 12-15 tuổi) // ta: Ngôi thứ 1 dành cho Người từ 16 tuổi trở lên tự đánh giá (AQ-Adult 16+) // r: Chiều tính điểm đặc điểm tự kỷ ('AGREE' = Đồng ý, 'DISAGREE' = Không đồng ý) // dom: 'soc' (Kỹ năng xã hội), 'swi' (Chuyển đổi chú ý), 'det' (Chú ý chi tiết), 'com' (Giao tiếp), 'ima' (Trí tưởng tượng) const questions = [ { id: 1, r: 'DISAGREE', dom: 'soc', tc: 'Con thích làm mọi việc cùng với người khác hơn là tự làm một mình.', ta: 'Tôi thích làm mọi việc cùng với người khác hơn là tự làm một mình.' }, { id: 2, r: 'AGREE', dom: 'swi', tc: 'Con thích làm mọi việc lặp đi lặp lại theo đúng một cách quen thuộc.', ta: 'Tôi thích làm mọi việc lặp đi lặp lại theo đúng một cách quen thuộc.' }, { id: 3, r: 'DISAGREE', dom: 'ima', tc: 'Nếu cố gắng tưởng tượng một điều gì đó, con rất dễ dàng hình dung ra bức tranh sống động trong đầu.', ta: 'Nếu cố gắng tưởng tượng một điều gì đó, tôi rất dễ dàng hình dung ra bức tranh sống động trong đầu.' }, { id: 4, r: 'AGREE', dom: 'swi', tc: 'Con thường bị cuốn sâu vào một việc đến mức quên mất những thứ khác xung quanh.', ta: 'Tôi thường bị cuốn sâu vào một việc đến mức quên mất những thứ khác xung quanh.' }, { id: 5, r: 'AGREE', dom: 'det', tc: 'Con thường nghe thấy những âm thanh nhỏ nhặt mà người khác không để ý.', ta: 'Tôi thường nghe thấy những âm thanh nhỏ nhặt mà người khác không để ý.' }, { id: 6, r: 'AGREE', dom: 'det', tc: 'Con thường chú ý đến biển số xe hoặc các chuỗi thông tin, ký hiệu tương tự.', ta: 'Tôi thường chú ý đến biển số xe hoặc các chuỗi thông tin tương tự.' }, { id: 7, r: 'AGREE', dom: 'com', tc: 'Người khác thường bảo rằng những điều con nói là thiếu lịch sự/thiếu tế nhị, dù bản thân con nghĩ nó bình thường.', ta: 'Người khác thường bảo rằng những điều tôi nói là thiếu lịch sự, dù bản thân tôi nghĩ nó hoàn toàn bình thường.' }, { id: 8, r: 'DISAGREE', dom: 'ima', tc: 'Khi nghe hoặc đọc một câu chuyện, con có thể dễ dàng hình dung ra diện mạo của các nhân vật.', ta: 'Khi đọc một câu chuyện, tôi có thể dễ dàng hình dung ra diện mạo của các nhân vật.' }, { id: 9, r: 'AGREE', dom: 'det', tc: 'Con bị cuốn hút mạnh mẽ bởi các mốc ngày tháng (lịch, ngày sinh, niên đại).', ta: 'Tôi bị cuốn hút mạnh mẽ bởi các mốc ngày tháng (lịch, ngày sinh, niên đại).' }, { id: 10, r: 'DISAGREE', dom: 'swi', tc: 'Trong một nhóm đông người, con có thể dễ dàng theo dõi nhiều cuộc trò chuyện của mọi người xung quanh cùng lúc.', ta: 'Trong một nhóm đông người, tôi có thể dễ dàng theo dõi nhiều cuộc trò chuyện khác nhau cùng lúc.' }, { id: 11, r: 'DISAGREE', dom: 'soc', tc: 'Con cảm thấy các tình huống giao tiếp xã hội rất dễ dàng và thoải mái.', ta: 'Tôi cảm thấy các tình huống giao tiếp xã hội rất dễ dàng và thoải mái.' }, { id: 12, r: 'AGREE', dom: 'det', tc: 'Con có xu hướng nhận ra những chi tiết nhỏ mà người khác thường bỏ qua.', ta: 'Tôi có xu hướng nhận ra những chi tiết nhỏ mà người khác thường bỏ qua.' }, { id: 13, r: 'AGREE', dom: 'soc', tc: 'Con thích đến thư viện hoặc ở góc yên tĩnh hơn là đi dự một bữa tiệc đông đúc.', ta: 'Tôi thích đến thư viện hơn là đi dự một bữa tiệc.' }, { id: 14, r: 'DISAGREE', dom: 'ima', tc: 'Con thấy việc tự nghĩ ra các câu chuyện hư cấu, bịa chuyện vui là rất dễ dàng.', ta: 'Tôi thấy việc tự nghĩ ra các câu chuyện hư cấu là rất dễ dàng.' }, { id: 15, r: 'DISAGREE', dom: 'soc', tc: 'Con bị thu hút bởi con người (bạn bè, người thân) mạnh mẽ hơn là bởi các đồ vật/sự vật.', ta: 'Tôi cảm thấy mình bị thu hút bởi con người mạnh mẽ hơn là bởi các đồ vật/sự vật.' }, { id: 16, r: 'AGREE', dom: 'swi', tc: 'Con có những sở thích rất mãnh liệt và sẽ cảm thấy bứt rứt, cáu kỉnh nếu không được theo đuổi chúng.', ta: 'Tôi có những sở thích rất mãnh liệt và sẽ cảm thấy bứt rứt, khó chịu nếu không được theo đuổi chúng.' }, { id: 17, r: 'DISAGREE', dom: 'com', tc: 'Con thích những cuộc trò chuyện xã giao, tán gẫu vui vẻ với mọi người.', ta: 'Tôi thích những cuộc trò chuyện xã giao (tán gẫu chuyện phiếm) với mọi người.' }, { id: 18, r: 'AGREE', dom: 'com', tc: 'Khi con đang hào hứng nói về chủ đề của mình, người khác thường rất khó chen lời vào.', ta: 'Khi tôi đang nói về chủ đề của mình, người khác thường rất khó chen lời vào.' }, { id: 19, r: 'AGREE', dom: 'det', tc: 'Con bị hấp dẫn đặc biệt bởi các con số.', ta: 'Tôi bị hấp dẫn đặc biệt bởi các con số.' }, { id: 20, r: 'AGREE', dom: 'ima', tc: 'Khi đọc truyện hoặc xem phim hoạt hình, con thấy khó đoán được ý định ngầm của các nhân vật.', ta: 'Khi đọc truyện hoặc xem phim, tôi thấy khó đoán được ý định ngầm của các nhân vật.' }, { id: 21, r: 'AGREE', dom: 'ima', tc: 'Con không mấy hứng thú với các câu chuyện tiểu thuyết hư cấu (thích sách bách khoa, thực tế hơn).', ta: 'Tôi không mấy hứng thú với việc đọc sách tiểu thuyết hư cấu.' }, { id: 22, r: 'AGREE', dom: 'soc', tc: 'Con thấy việc kết thêm bạn mới là rất khó khăn.', ta: 'Tôi thấy việc kết thêm bạn mới là rất khó khăn.' }, { id: 23, r: 'AGREE', dom: 'det', tc: 'Con luôn nhận ra các quy luật hoặc họa tiết lặp lại trong mọi vật xung quanh.', ta: 'Tôi luôn nhận ra các quy luật hoặc họa tiết lặp lại trong mọi vật xung quanh.' }, { id: 24, r: 'DISAGREE', dom: 'ima', tc: 'Con thích đi xem kịch/xem biểu diễn hơn là đi tham quan bảo tàng trưng bày.', ta: 'Tôi thích đi xem kịch ở nhà hát hơn là đi tham quan bảo tàng.' }, { id: 25, r: 'DISAGREE', dom: 'swi', tc: 'Con không hề cảm thấy phiền lòng hay khó chịu nếu thói quen sinh hoạt hàng ngày bị xáo trộn.', ta: 'Tôi không hề cảm thấy phiền lòng nếu thói quen sinh hoạt hàng ngày của mình bị xáo trộn.' }, { id: 26, r: 'AGREE', dom: 'com', tc: 'Con thường lúng túng không biết phải làm thế nào để duy trì cuộc trò chuyện với bạn bè.', ta: 'Tôi thường xuyên nhận thấy mình không biết phải làm thế nào để duy trì một cuộc trò chuyện.' }, { id: 27, r: 'DISAGREE', dom: 'com', tc: 'Con dễ dàng hiểu được "ẩn ý" đằng sau lời nói khi ai đó đang trò chuyện với mình.', ta: 'Tôi dễ dàng hiểu được "ẩn ý" đằng sau lời nói khi ai đó đang trò chuyện với mình.' }, { id: 28, r: 'DISAGREE', dom: 'det', tc: 'Con thường tập trung vào bức tranh tổng thể hơn là chỉ chú ý vào các chi tiết nhỏ lẻ.', ta: 'Tôi thường tập trung vào bức tranh tổng thể hơn là các chi tiết nhỏ lẻ.' }, { id: 29, r: 'DISAGREE', dom: 'det', tc: 'Con không giỏi lắm trong việc ghi nhớ các dãy số điện thoại.', ta: 'Tôi không giỏi việc ghi nhớ các số điện thoại.' }, { id: 30, r: 'DISAGREE', dom: 'det', tc: 'Con thường không để ý đến những thay đổi nhỏ trong phòng hoặc sự thay đổi ngoại hình của người khác.', ta: 'Tôi thường không để ý đến những thay đổi nhỏ trong một khung cảnh hoặc ngoại hình của một người.' }, { id: 31, r: 'DISAGREE', dom: 'com', tc: 'Con biết cách nhận ra khi nào người đang nghe mình nói bắt đầu cảm thấy chán.', ta: 'Tôi biết cách nhận ra khi nào người đang nghe mình nói bắt đầu cảm thấy chán.' }, { id: 32, r: 'DISAGREE', dom: 'swi', tc: 'Con thấy rất dễ dàng khi phải làm hoặc chuyển đổi qua lại nhiều việc cùng một lúc.', ta: 'Tôi thấy rất dễ dàng khi phải làm nhiều hơn một việc cùng một lúc.' }, { id: 33, r: 'AGREE', dom: 'com', tc: 'Khi nói chuyện qua điện thoại, con thường không chắc khi nào đến lượt mình nên nói.', ta: 'Khi nói chuyện qua điện thoại, tôi thường không chắc khi nào đến lượt mình nên nói.' }, { id: 34, r: 'DISAGREE', dom: 'swi', tc: 'Con thích làm mọi việc một cách ngẫu hứng, tự phát mà không cần báo trước.', ta: 'Tôi thích làm mọi việc một cách ngẫu hứng, tự phát.' }, { id: 35, r: 'AGREE', dom: 'com', tc: 'Con thường là người cuối cùng trong nhóm hiểu ra ý nghĩa của một câu nói đùa.', ta: 'Tôi thường là người cuối cùng hiểu ra ý nghĩa của một câu nói đùa.' }, { id: 36, r: 'DISAGREE', dom: 'soc', tc: 'Con dễ dàng đoán được người khác đang nghĩ gì hoặc cảm thấy thế nào chỉ bằng cách nhìn vào nét mặt họ.', ta: 'Tôi dễ dàng đoán được người khác đang nghĩ gì hoặc cảm thấy thế nào chỉ bằng cách nhìn vào nét mặt họ.' }, { id: 37, r: 'DISAGREE', dom: 'swi', tc: 'Nếu bị ngắt quãng khi đang làm dở việc, con có thể quay lại làm tiếp việc đó ngay lập tức rất dễ dàng.', ta: 'Nếu bị gián đoạn khi đang làm dở việc, tôi có thể quay lại làm tiếp việc đó ngay lập tức một cách dễ dàng.' }, { id: 38, r: 'DISAGREE', dom: 'com', tc: 'Con rất có khiếu trong việc trò chuyện làm quen, tán gẫu với bạn bè.', ta: 'Tôi rất có khiếu trong việc trò chuyện xã giao.' }, { id: 39, r: 'AGREE', dom: 'com', tc: 'Mọi người thường nhận xét rằng con cứ nói đi nói lại mãi về cùng một chủ đề.', ta: 'Mọi người thường bảo rằng tôi cứ nói đi nói lại mãi về cùng một chủ đề.' }, { id: 40, r: 'DISAGREE', dom: 'ima', tc: 'Con rất thích chơi các trò đóng vai giả vờ cùng với những đứa trẻ khác.', ta: 'Khi còn nhỏ, tôi rất thích chơi các trò đóng vai giả vờ cùng với những đứa trẻ khác.' }, { id: 41, r: 'AGREE', dom: 'ima', tc: 'Con thích sưu tầm thông tin phân loại về các nhóm sự vật (như khủng long, dòng xe hơi, loài chim, tàu hỏa...).', ta: 'Tôi thích sưu tầm thông tin phân loại về các nhóm sự vật (như các dòng xe hơi, loài chim, tàu hỏa, cây cối...).' }, { id: 42, r: 'AGREE', dom: 'ima', tc: 'Con thấy rất khó hình dung cảm giác sẽ ra sao nếu mình đặt bản thân vào vị trí của một người khác.', ta: 'Tôi thấy rất khó hình dung cảm giác sẽ ra sao nếu mình ở vào vị trí của một người khác.' }, { id: 43, r: 'AGREE', dom: 'swi', tc: 'Con thích lên kế hoạch trước thật kỹ cho bất kỳ hoạt động nào mà con tham gia.', ta: 'Tôi thích lên kế hoạch tỉ mỉ cho bất kỳ hoạt động nào mà tôi tham gia.' }, { id: 44, r: 'DISAGREE', dom: 'soc', tc: 'Con yêu thích các dịp tụ tập, sinh hoạt tập thể hay giao lưu xã hội.', ta: 'Tôi yêu thích các dịp tụ tập, giao lưu xã hội.' }, { id: 45, r: 'AGREE', dom: 'soc', tc: 'Con thấy khó nắm bắt được ý định thực sự của người khác.', ta: 'Tôi thấy khó nắm bắt được ý định thực sự của người khác.' }, { id: 46, r: 'AGREE', dom: 'swi', tc: 'Những tình huống hoặc môi trường mới lạ luôn làm con cảm thấy lo lắng, bất an.', ta: 'Những tình huống mới lạ luôn làm tôi cảm thấy lo lắng, bất an.' }, { id: 47, r: 'DISAGREE', dom: 'soc', tc: 'Con thích gặp gỡ và làm quen với những người bạn mới.', ta: 'Tôi thích gặp gỡ và làm quen với những người mới.' }, { id: 48, r: 'DISAGREE', dom: 'soc', tc: 'Con là một đứa trẻ khéo léo, biết cách ứng xử hài hòa với mọi người.', ta: 'Tôi là một người khéo léo, biết ngoại giao trong ứng xử.' }, { id: 49, r: 'DISAGREE', dom: 'det', tc: 'Con không giỏi lắm trong việc nhớ ngày sinh nhật của mọi người.', ta: 'Tôi không giỏi lắm trong việc nhớ ngày sinh nhật của mọi người.' }, { id: 50, r: 'DISAGREE', dom: 'ima', tc: 'Con thấy việc chơi các trò đóng vai, giả vờ cùng bạn bè là rất dễ dàng.', ta: 'Tôi thấy việc chơi các trò đóng vai, giả vờ cùng trẻ nhỏ là rất dễ dàng.' } ]; // version: 'child' (4-11 tuổi, thang 0-150, cut-off >= 76) | 'adolescent' (12-15 tuổi, thang 0-50, cut-off >= 30) | 'adult' (16+, thang 0-50, cut-off >= 32) let version = 'child'; let answers = {}; // 'DA' | 'SA' | 'SD' | 'DD' let filterDom = 'all'; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .aq-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .aq-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .aq-inner { padding: 24px; max-width: 940px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .aq-wrap.is-fullscreen .aq-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .aq-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(2, 132, 199, 0.45), 0 0 0 0 rgba(2, 132, 199, 0.4); } 70% { box-shadow: 0 6px 20px rgba(2, 132, 199, 0.45), 0 0 0 10px rgba(2, 132, 199, 0); } 100% { box-shadow: 0 6px 20px rgba(2, 132, 199, 0.45), 0 0 0 0 rgba(2, 132, 199, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #0369a1 0%, #0284c7 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(2, 132, 199, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Thanh chọn 3 phiên bản độ tuổi */ .ver-switcher { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; background: #f1f5f9; padding: 8px; border-radius: 12px; margin-bottom: 18px; } .ver-btn { padding: 10px 12px; border-radius: 9px; border: 1.5px solid transparent; background: transparent; cursor: pointer; text-align: left; transition: all 0.2s ease; touch-action: manipulation; } .ver-btn.active { background: #ffffff; border-color: #0284c7; box-shadow: 0 2px 8px rgba(15, 23, 42, 0.08); } .ver-btn-title { font-size: 14px; font-weight: 800; color: #0f172a; display: block; } .ver-btn.active .ver-btn-title { color: #0284c7; } .ver-btn-sub { font-size: 11.5px; color: #64748b; margin-top: 2px; display: block; } /* Header */ .aq-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .aq-header-text { flex: 1 1 260px; } .aq-title { font-size: 20px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .aq-desc { font-size: 13.8px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #f0f9ff; color: #0369a1; border: 1px solid #bae6fd; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #0284c7; color: #ffffff; border-color: #0284c7; } /* Controls */ .aq-controls { display: flex; flex-direction: column; gap: 10px; margin-bottom: 18px; } .aq-presets { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; } .aq-preset-lbl { font-size: 12.5px; font-weight: 700; color: #475569; margin-right: 4px; } .aq-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; transition: all 0.15s ease; touch-action: manipulation; } .aq-pbtn:hover { background: #f1f5f9; border-color: #94a3b8; } .aq-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } .aq-domain-tabs { display: flex; flex-wrap: wrap; gap: 6px; } .aq-dtab { padding: 6px 12px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .aq-dtab.active { background: #0284c7; color: #ffffff; border-color: #0284c7; } /* Sticky Dashboard */ .aq-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .aq-wrap.is-fullscreen .aq-dash { top: 58px; } .aq-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .aq-score-big { font-size: 24px; font-weight: 800; line-height: 1; } .aq-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .aq-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .aq-bar-bg { height: 10px; background: #334155; border-radius: 5px; overflow: hidden; margin-bottom: 12px; } .aq-bar-fill { height: 100%; width: 0%; background: #10b981; transition: width 0.35s ease, background 0.35s ease; } .aq-pillars { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; font-size: 11.5px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .aq-pillar-box { background: #1e293b; padding: 7px 9px; border-radius: 8px; } .aq-pillar-val { font-weight: 700; color: #ffffff; font-size: 13px; display: block; margin-top: 2px; } /* Danh sách 50 câu hỏi */ .aq-q-item { border: 1px solid #e2e8f0; border-radius: 10px; padding: 14px 16px; margin-bottom: 12px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 10px; } .aq-q-item.trait-scored { border-color: #93c5fd; background: #f8fafc; } .aq-q-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; } .aq-q-text { font-size: 14.5px; font-weight: 600; color: #1e293b; line-height: 1.5; flex: 1; } .aq-q-tags { display: flex; flex-wrap: wrap; gap: 6px; } .aq-tag { font-size: 11px; font-weight: 600; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .aq-tag.dom-soc { background: #dbeafe; color: #1d4ed8; } .aq-tag.dom-swi { background: #fef3c7; color: #b45309; } .aq-tag.dom-det { background: #dcfce7; color: #15803d; } .aq-tag.dom-com { background: #f3e8ff; color: #7e22ce; } .aq-tag.dom-ima { background: #fce7f3; color: #be185d; } /* 4 nút lựa chọn Likert */ .aq-ans-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; } .aq-abtn { padding: 8px 6px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 600; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .aq-abtn:hover { border-color: #64748b; } .aq-abtn.sel-safe { background: #10b981; border-color: #10b981; color: #ffffff; font-weight: 700; } .aq-abtn.sel-mid { background: #f59e0b; border-color: #f59e0b; color: #ffffff; font-weight: 700; } .aq-abtn.sel-trait { background: #0284c7; border-color: #0284c7; color: #ffffff; font-weight: 700; } /* Biểu đồ 5 tiểu lĩnh vực & Kết luận */ .aq-chart-card { margin-top: 20px; padding: 16px 18px; border-radius: 12px; background: #ffffff; border: 1px solid #e2e8f0; } .aq-chart-title { font-size: 14.5px; font-weight: 700; color: #0f172a; margin-bottom: 12px; } .aq-bar-row { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; font-size: 12.5px; } .aq-bar-lbl { width: 175px; flex-shrink: 0; font-weight: 600; color: #334155; } .aq-bar-track { flex: 1; height: 16px; background: #f1f5f9; border-radius: 999px; overflow: hidden; } .aq-bar-val { width: 68px; text-align: right; font-weight: 700; color: #0f172a; flex-shrink: 0; } .aq-result-box { margin-top: 16px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #64748b; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 720px) { .aq-inner { padding: 14px; } .ver-switcher { grid-template-columns: 1fr; } .aq-title { font-size: 18px; } .aq-pillars { grid-template-columns: repeat(2, 1fr); } .aq-ans-grid { grid-template-columns: 1fr 1fr; } .aq-abtn { padding: 10px 8px; font-size: 12.5px; } .aq-bar-lbl { width: 125px; font-size: 11.5px; } .aq-pbtn.reset { margin-left: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
Bảng Đánh Giá AQ-Child Dành Cho Trẻ Em (4 – 11 Tuổi • Phụ Huynh Chấm)
Chuẩn hóa bởi Auyeung & Baron-Cohen (2008 - Đại học Cambridge). Phụ huynh chọn mức độ phù hợp với hành vi của bé. Mỗi câu được tính từ 0 đến 3 điểm (Tổng điểm tối đa: 150 điểm). Ngưỡng điểm cắt lâm sàng chuẩn: ≥ 76 điểm (Độ nhạy 95%, độ đặc hiệu 95%).
`; } else if (version === 'adolescent') { headerInfo.innerHTML = `Bảng Đánh Giá AQ-Adolescent Dành Cho Vị Thành Niên (12 – 15 Tuổi • Phụ Huynh Chấm)
Chuẩn hóa bởi Baron-Cohen et al. (2006 - Đại học Cambridge). Phụ huynh đánh giá con qua 50 câu hỏi chấm nhị phân 0 hoặc 1 điểm (Tổng điểm tối đa: 50 điểm). Ngưỡng điểm cắt lâm sàng chuẩn cho lứa tuổi 12–15: ≥ 30 điểm.
`; } else { headerInfo.innerHTML = `Bảng Tự Đánh Giá AQ-Adult Dành Cho Thanh Thiếu Niên Lớn & Người Lớn (Từ 16 Tuổi Trở Lên)
Chuẩn hóa bởi Baron-Cohen et al. (2001 - Đại học Cambridge). Người làm tự trả lời 50 câu hỏi theo quy tắc nhị phân 0 hoặc 1 điểm (Tổng điểm tối đa: 50 điểm). Ngưỡng sàng lọc phòng khám: ≥ 26 điểm • Ngưỡng chuẩn lâm sàng: ≥ 32 điểm.
`; } } function renderQuestions() { listEl.innerHTML = ''; const isParentReport = (version !== 'adult'); questions.forEach(function(q) { if (filterDom !== 'all' && q.dom !== filterDom) return; const uAns = answers[q.id] || null; const pts = getItemScore(q, uAns); const isHighTrait = (version === 'child') ? (pts >= 2) : (pts === 1); const dInfo = getDomInfo(q.dom); const item = document.createElement('div'); item.className = 'aq-q-item' + (isHighTrait ? ' trait-scored' : ''); const options = [ { code: 'DA', label: 'Hoàn toàn đồng ý' }, { code: 'SA', label: 'Đồng ý một phần' }, { code: 'SD', label: 'Không đồng ý một phần' }, { code: 'DD', label: 'Hoàn toàn không đồng ý' } ]; const btnsHtml = options.map(opt => { const optPts = getItemScore(q, opt.code); let cls = 'aq-abtn'; if (uAns === opt.code) { if (version === 'child') { cls += (optPts >= 2) ? ' sel-trait' : (optPts === 1 ? ' sel-mid' : ' sel-safe'); } else { cls += (optPts === 1) ? ' sel-trait' : ' sel-safe'; } } const ptLabel = (version === 'child') ? ` (${optPts}đ)` : ` (${optPts}đ)`; return ``; }).join(''); const qText = isParentReport ? q.tc : q.ta; const ruleText = (version === 'child') ? (q.r === 'AGREE' ? 'Thang 0–3đ (Đồng ý hoàn toàn = 3đ)' : 'Thang 0–3đ (Không đồng ý hoàn toàn = 3đ)') : (q.r === 'AGREE' ? 'Đồng ý (Hoàn toàn/Một phần) = 1đ' : 'Không đồng ý (Hoàn toàn/Một phần) = 1đ'); item.innerHTML = `• Điểm số thấp hơn ngưỡng cảnh báo (60 điểm) và ngưỡng cắt chuẩn (≥ 76 điểm). Theo nghiên cứu của Auyeung & Baron-Cohen (2008), điểm trung bình ở nhóm trẻ phát triển điển hình là khoảng 41.8 điểm (Bé trai ~45.7đ, Bé gái ~37.7đ). `; } else if (total < 76) { color = '#f59e0b'; badgeTxt = `VÙNG GIÁP RANH (${total}/150đ)`; analysis = ` Kết luận AQ-Child (4 – 11 tuổi) — Vùng Giáp Ranh Cần Lưu Ý (60 – 75 điểm: Đạt ${total}/150 điểm):
• Điểm số tiệm cận ngưỡng cắt chuẩn (≥ 76 điểm). Bé bộc lộ một số nét đặc trưng ở: Kỹ năng xã hội (${domScores.soc}/30), Chuyển đổi chú ý (${domScores.swi}/30), Chú ý chi tiết (${domScores.det}/30), Giao tiếp (${domScores.com}/30), Trí tưởng tượng (${domScores.ima}/30).
• Khuyến nghị: Nên kết hợp đối chiếu thêm với thang CAST hoặc ASSQ (do giáo viên đánh giá) để theo dõi khả năng hòa nhập học đường của bé. `; } else { color = '#ef4444'; badgeTxt = `VƯỢT NGƯỠNG AQ-CHILD (≥ 76: ${total}/150đ)`; analysis = ` Kết luận AQ-Child (4 – 11 tuổi) — Vượt Ngưỡng Điểm Cắt Lâm Sàng (≥ 76 điểm: Đạt ${total}/150 điểm):
• Theo nghiên cứu chuẩn hóa tại Đại học Cambridge, ngưỡng ≥ 76/150 điểm có độ nhạy và độ đặc hiệu lên tới 95% trong việc nhận diện trẻ thuộc Phổ tự kỷ / Tự kỷ chức năng cao (Asperger).
• Hướng xử trí chuẩn: Gia đình nên đưa bé đi khám và đánh giá chẩn đoán chuyên sâu bằng ADOS-2 (Module 3), ADI-R và đánh giá năng lực thích ứng Vineland-3 để xây dựng kế hoạch hỗ trợ kỹ năng xã hội sớm. `; } } else if (version === 'adolescent') { // Ngưỡng AQ-Adolescent (0 - 50, cut-off >= 30) if (total < 24) { color = '#10b981'; badgeTxt = `MỨC ĐIỂN HÌNH (${total}/50đ)`; analysis = ` Kết luận AQ-Adolescent (12 – 15 tuổi) — Trong phạm vi điển hình (${total}/50 điểm):
• Điểm số thấp hơn ngưỡng giáp ranh (24 điểm) và ngưỡng cắt chuẩn dành cho lứa tuổi vị thành niên (≥ 30 điểm). `; } else if (total < 30) { color = '#f59e0b'; badgeTxt = `VÙNG GIÁP RANH (${total}/50đ)`; analysis = ` Kết luận AQ-Adolescent (12 – 15 tuổi) — Vùng Cảnh Báo Giáp Ranh (24 – 29 điểm: Đạt ${total}/50 điểm):
• Điểm số tiệm cận ngưỡng cắt chuẩn (≥ 30 điểm). Ở lứa tuổi THCS (12–15 tuổi), các áp lực về giao tiếp nhóm bạn phức tạp có thể làm bộc lộ rõ khó khăn ở mục Kỹ năng xã hội (${domScores.soc}/10) và Chuyển đổi chú ý (${domScores.swi}/10). Khuyến nghị đối chiếu thêm thang ASSQ từ giáo viên và tham vấn chuyên gia tâm lý. `; } else { color = '#ef4444'; badgeTxt = `VƯỢT NGƯỠNG AQ-ADOLESCENT (≥ 30: ${total}/50đ)`; analysis = ` Kết luận AQ-Adolescent (12 – 15 tuổi) — Vượt Ngưỡng Điểm Cắt Lâm Sàng (≥ 30 điểm: Đạt ${total}/50 điểm):
• Theo nghiên cứu của Baron-Cohen et al. (2006), gần 90% thanh thiếu niên có chẩn đoán Tự kỷ chức năng cao / Asperger có điểm AQ-Adolescent từ 30/50 trở lên.
• Hướng xử trí chuẩn: Khuyến nghị chuyển gửi đánh giá chẩn đoán chuyên khoa (ADOS-2 Module 3/4, DSM-5, Vineland-3) để hỗ trợ kỹ năng điều tiết cảm xúc và giao tiếp xã hội tuổi dậy thì. `; } } else { // Ngưỡng AQ-Adult (0 - 50, sàng lọc >= 26, chuẩn >= 32) if (total < 26) { color = '#10b981'; badgeTxt = `DƯỚI NGƯỠNG SÀNG LỌC (${total}/50đ)`; analysis = ` Kết luận AQ-Adult (Từ 16 tuổi trở lên) — Dưới ngưỡng sàng lọc lâm sàng (${total}/50 điểm):
• Điểm số nằm dưới ngưỡng sàng lọc phòng khám (26 điểm) và ngưỡng chuẩn (32 điểm). (Mức từ 22–25 điểm thường gặp ở những người có tư duy hệ thống hóa/phân tích kỹ thuật mạnh nhưng vẫn hòa nhập xã hội tốt). `; } else if (total < 32) { color = '#f59e0b'; badgeTxt = `VÙNG GIÁP RANH LÂM SÀNG (${total}/50đ)`; analysis = ` Kết luận AQ-Adult (Từ 16 tuổi trở lên) — Vùng Giáp Ranh / Ngưỡng Sàng Lọc Nhạy (26 – 31 điểm: Đạt ${total}/50 điểm):
• Vượt ngưỡng sàng lọc phòng khám ($\ge 26$ điểm theo Woodbury-Smith et al., 2005). Nếu các đặc điểm này gây căng thẳng hoặc cản trở trong công việc, học tập và các mối quan hệ xã hội, bạn nên tham vấn chuyên gia tâm lý lâm sàng. `; } else { color = '#ef4444'; badgeTxt = `VƯỢT NGƯỠNG CHUẨN AQ (≥ 32: ${total}/50đ)`; analysis = ` Kết luận AQ-Adult (Từ 16 tuổi trở lên) — Vượt Ngưỡng Điểm Cắt Lâm Sàng Chuẩn ($\ge 32$ điểm: Đạt ${total}/50 điểm):
• Khoảng 80% người trưởng thành thuộc Phổ tự kỷ chức năng cao / Asperger đạt mức điểm từ 32 trở lên trên thang AQ.
• Khuyến nghị: Có thể sử dụng bảng kết quả 5 tiểu lĩnh vực này để trao đổi trực tiếp với bác sĩ chuyên khoa Tâm thần / Chuyên gia Tâm lý lâm sàng nhằm thực hiện đánh giá chẩn đoán chính thức (ADOS-2 Module 4). `; } } barFillEl.style.background = color; badgeEl.textContent = badgeTxt; badgeEl.style.background = color; badgeEl.style.color = '#ffffff'; resBoxEl.style.borderLeftColor = color; resBoxEl.innerHTML = analysis; updateFloatingFabVisibility(); } function applyPreset(type) { answers = {}; if (type === 'reset') { renderQuestions(); updateSummary(); return; } // Đặt toàn bộ về mức 0 điểm trước questions.forEach(function(q) { answers[q.id] = (q.r === 'AGREE') ? 'DD' : 'DA'; }); if (type === 'typical') { // Mức điển hình (~42/150 ở Child, ~16/50 ở Adolescent/Adult) questions.forEach(function(q, idx) { if (idx % 3 === 0) { // 1 điểm ở Child, 0 điểm ở Adult answers[q.id] = (q.r === 'AGREE') ? 'SD' : 'SA'; } }); [2, 4, 5, 6, 9, 12, 13, 19, 23, 28, 29, 30, 32, 34, 41, 43].forEach(function(id) { const q = questions[id - 1]; answers[id] = (q.r === 'AGREE') ? 'SA' : 'SD'; }); } else if (type === 'border') { // Mức giáp ranh (~68/150 ở Child, 27/50 ở Adolescent/Adult) [ 1, 2, 4, 5, 6, 7, 9, 10, 11, 12, 13, 16, 17, 18, 19, 20, 22, 23, 25, 26, 28, 32, 33, 35, 39, 41, 43 ].forEach(function(id, idx) { const q = questions[id - 1]; const strong = (idx % 2 === 0); if (q.r === 'AGREE') answers[id] = strong ? 'DA' : 'SA'; else answers[id] = strong ? 'DD' : 'SD'; }); } else if (type === 'asd') { // Mức vượt ngưỡng cao (~98/150 ở Child, 38/50 ở Adolescent/Adult) [ 1, 2, 4, 5, 6, 7, 9, 10, 11, 12, 13, 15, 16, 17, 18, 19, 20, 22, 23, 25, 26, 27, 28, 31, 32, 33, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 45, 46 ].forEach(function(id, idx) { const q = questions[id - 1]; const strong = (idx % 3 !== 0); if (q.r === 'AGREE') answers[id] = strong ? 'DA' : 'SA'; else answers[id] = strong ? 'DD' : 'SD'; }); } renderQuestions(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); aqWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { aqWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 940px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } // Sự kiện chuyển đổi 3 phiên bản độ tuổi (Child / Adolescent / Adult) shadow.querySelectorAll('#verSwitcher .ver-btn').forEach(function(btn) { btn.onclick = function() { version = this.getAttribute('data-ver'); shadow.querySelectorAll('#verSwitcher .ver-btn').forEach(b => b.classList.remove('active')); this.classList.add('active'); renderHeader(); renderQuestions(); updateSummary(); }; }); shadow.querySelectorAll('.aq-pbtn').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-preset')); }; }); shadow.querySelectorAll('#domainTabs .aq-dtab').forEach(function(tab) { tab.onclick = function() { filterDom = this.getAttribute('data-dom'); shadow.querySelectorAll('#domainTabs .aq-dtab').forEach(t => t.classList.remove('active')); this.classList.add('active'); renderQuestions(); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); renderHeader(); applyPreset('asd'); })();
AQ (Autism-Spectrum Quotient — Chỉ số Phổ Tự kỷ) là công cụ sàng lọc chuẩn hóa nổi tiếng nhất thế giới dùng để đo lường mức độ hiện diện của các đặc điểm thuộc phổ tự kỷ ở những người có trí tuệ bình thường (IQ ≥85). Công cụ này do Giáo sư Simon Baron-Cohen và cộng sự tại Trung tâm Nghiên cứu Tự kỷ (ARC) — Đại học Cambridge (Anh)phát triển năm 2001.
1. Tóm tắt cốt lõi về công cụ AQ
-
Mục đích lâm sàng: Đo lường xem một cá nhân có các nét đặc trưng thuộc Phổ tự kỷ / Tự kỷ chức năng cao (Asperger) ở mức độ nào trên một dải liên tục từ dân số điển hình đến ngưỡng lâm sàng.
-
Các phiên bản theo độ tuổi:
-
AQ-Adult (Phiên bản chuẩn phổ biến nhất): Dành cho người từ 16 tuổi trở lên tự đánh giá (Self-report).
-
AQ-Adolescent (12 – 15 tuổi) & AQ-Child (4 – 11 tuổi): Do phụ huynh đánh giá.
-
AQ-10: Bản rút gọn gồm 10 câu hỏi dùng để sàng lọc nhanh tại phòng khám đa khoa.
-
-
Cấu trúc 50 câu hỏi & 5 tiểu lĩnh vực (Mỗi lĩnh vực 10 câu):
-
Kỹ năng xã hội (Social Skills): Mức độ thoải mái và tự tin trong các tình huống giao tiếp xã hội, kết bạn,tiệc tùng.
-
Chuyển đổi sự chú ý (Attention Switching): Tính linh hoạt khi thay đổi kế hoạch, làm nhiều việc cùng lúc hoặc chuyển sang hoạt động mới.
-
Chú ý đến chi tiết (Attention to Detail): Xu hướng nhận ra các chi tiết nhỏ, con số, ngày tháng, quy luật hay hoa văn mà người khác thường bỏ qua.
-
Giao tiếp (Communication): Khả năng hiểu hàm ý, lời nói lịch sự xã giao, duy trì hội thoại qua lại và đọc ngôn ngữ cơ thể.
-
Trí tưởng tượng (Imagination): Khả năng hình dung câu chuyện giả tưởng, nhập vai nhân vật và suy đoán cảm xúc/ý định của người khác (Thuyết tâm trí).
-
-
Cách tính điểm chuẩn Baron-Cohen (Thang 0 – 50 điểm):
-
Người làm chọn 1 trong 4 mức: Hoàn toàn đồng ý • Đồng ý một phần • Không đồng ý một phần • Hoàn toàn không đồng ý.
-
Quy tắc nhị phân (0 hoặc 1 điểm): Để tránh sai lệch do xu hướng chọn mức cực đoan hay trung dung,phương pháp gốc của Baron-Cohen tính 1 điểm cho cả mức “Hoàn toàn…” lẫn “Một phần…” nếu câu trả lời đi theo chiều hướng đặc điểm tự kỷ:
-
24 câu thuận (Chọn Đồng ý = 1 điểm): Câu 2, 4, 5, 6, 7, 9, 12, 13, 16, 18, 19, 20, 21, 22, 23, 26, 33,35, 39, 41, 42, 43, 45, 46.
-
26 câu nghịch (Chọn Không đồng ý = 1 điểm): Câu 1, 3, 8, 10, 11, 14, 15, 17, 24, 25, 27, 28, 29, 30,31, 32, 34, 36, 37, 38, 40, 44, 47, 48, 49, 50.
-
-
-
Các mốc điểm tham chiếu lâm sàng (Cut-off Scores):
-
0 – 25 điểm: Mức trung bình trong dân số chung (Điểm trung bình của nhóm đối chứng là ~16.4 điểm: Nam ~17.8, Nữ ~15.4).
-
26 – 31 điểm: Ngưỡng giáp ranh / Sàng lọc lâm sàng (Nghiên cứu của Woodbury-Smith và cộng sự cho thấy ngưỡng rất nhạy để sàng lọc tại phòng khám).
-
32 – 50 điểm: Ngưỡng điểm cắt chuẩn ( điểm) — Khoảng 80% người được chẩn đoán Tự kỷ chức năng cao / Asperger có điểm từ 32 trở lên (trong khi chỉ có 2% dân số chung đạt mức này).
-
Dậy con nói Nhóm câu Từ chối & Bảo vệ bản thân (Kỹ năng khước từ)
Trẻ tự kỷ nếu không biết cách dùng lời nói để từ chối sẽ rất dễ chuyển sang dùng hành vi tiêu cực (ném đồ, cắn, đập đầu, gạt phắt tay người lớn, la hét). Khi con học được cách nói “Không” hoặc “Thôi”, mức độ ăn vạ và căng thẳng của con sẽ giảm đi rõ rệt.
Dưới đây là 3 tiểu mục chi tiết cho nhóm này:
I, TỪ CHỐI MÓN ĂN, ĐỒ VẬT & HOẠT ĐỘNG
Giúp con nói lên nguyện vọng khi bị ép ăn món không thích hoặc khi con đã chơi đủ, muốn dừng lại.
1. Từ đơn (1 âm tiết)
-
Nhóm Từ chức năng / Phủ định (Nền tảng quan trọng nhất):
-
Không, Thôi, Đủ, Xong.
-
-
Nhóm Động từ:
-
Trả, Cất, Dừng, Bỏ, Buông.
-
-
Nhóm Tính từ / Trạng thái cơ thể (Giải thích lý do từ chối):
-
No, Mệt, Đắng, Cay, Nóng, Bẩn.
-
2. Câu 2 từ (Nguyên tắc ghép: Phủ định + Động từ / Trạng thái)
-
Phủ định trực tiếp: Không ăn, không uống, không chơi, không thích, không muốn.
-
Thông báo điểm dừng: Đủ rồi, thôi mà, xong rồi, cất đi, no rồi, mệt rồi.
-
Từ chối món ăn/đồ vật: Không lấy, bỏ ra, cất đồ.
II, BẢO VỆ ĐỒ CHƠI & RANH GIỚI CÁ NHÂN
Sử dụng khi bị bạn ở trường giật đồ chơi, bị người khác đụng vào người khi con chưa sẵn sàng, hoặc muốn giữ đồ của mình.
1. Từ đơn (1 âm tiết)
-
Nhóm Danh từ / Đại từ:
-
Con, Mẹ, [Tên của bé], Bạn.
-
-
Nhóm Động từ / Sở hữu:
-
Của (chỉ sự sở hữu), Giữ, Giành, Tránh, Buông.
-
-
Nhóm Từ chức năng / Mệnh lệnh:
-
Đừng, Thôi, Trả.
-
2. Câu 2 từ
-
Khẳng định quyền sở hữu: Của con, của [Tên bé], đồ con, bóng con.
-
Yêu cầu bạn/người khác dừng lại: Đừng giành, đừng lấy, trả con, đừng kéo, buông ra.
-
Yêu cầu khoảng cách: Đi ra, tránh ra, đừng đụng.
III, THÔNG BÁO QUÁ TẢI CẢM GIÁC & MỆT MỎI (Báo dừng kích thích)
Trẻ tự kỷ rất nhạy cảm với giác quan (âm thanh to, ánh sáng chói, chỗ đông người). Nhóm này giúp con báo động cho cha mẹ trước khi xảy ra tình trạng bùng nổ cảm xúc (meltdown).
1. Từ đơn (1 âm tiết)
-
Nhóm Tính từ / Cảm giác quá tải:
-
Ồn, Chói, Sợ, Đau, Mệt, Nóng, Lạnh.
-
-
Nhóm Động từ hành động:
-
Tắt, Che (mắt/tai), Đi (về), Bế.
-
2. Câu 2 từ
-
Báo cáo cảm giác khó chịu: Ồn quá, sợ quá, đau quá, chói quá, mệt rồi.
-
Yêu cầu thoát khỏi hoàn cảnh: Đi về, ra ngoài, tắt đi (tắt nhạc/tivi), mẹ bế.
💡 Chiến lược dạy “Đáp ứng ngay lập tức” (Huấn luyện Giao tiếp Chức năng)
Để con tin rằng “Dùng lời nói có hiệu quả hơn dùng hành vi”, trong thời gian đầu mới dạy:
-
Gài bẫy nhẹ: Đưa cho con một món ăn con không thích (hoặc một đồ chơi con đã chán).
-
Khi thấy con có dấu hiệu sắp đẩy tay mẹ hoặc nhăn mặt, bạn nhanh chóng làm mẫu cử chỉ (lắc đầu nhẹ) và nói to rõ: “KHÔNG” (hoặc “Không ăn”).
-
Ngay khi con lặp lại âm “Không” (dù chỉ là âm “K…” hoặc lắc đầu có bật âm), bạn hãy cất ngay món đó đi lập tức và khen: “Đúng rồi, không ăn thì cất đi!”.
-
Lưu ý vàng: Khi con đã dùng lời nói/bật âm từ chối đúng cách, người lớn phải tôn trọng lời từ chối đó ngay lập tức (ít nhất là trong giai đoạn học bật âm này). Nếu con nói “Không” mà mẹ vẫn cố ép ăn, con sẽ hiểu rằng lời nói vô tác dụng và sẽ quay lại dùng cách la hét hoặc ném chén.
Nguồn tham khảo: Kiến thức thực tế dạy con và những gợi ý từ AI.
Sổ tay điều trị rối loạn phổ tự kỷ - OHSU
Đây là tài liệu được tổng hợp và phát hành bởi. Autism Clinic (Phòng Khám Bệnh Tự Kỷ) tại OHSU Doernbecher’s Child Development and Rehabilitation Center (CDRC).
[Tự kỷ] RAADS-R: Thang đo sàng lọc và hỗ trợ chẩn đoán tự kỷ ở người trưởng thành (> 16 tuổi)
(function() { const host = document.getElementById('raads-wp-host'); if (!host) return; const placeholder = document.createComment('raads-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // Danh sách 17 câu đảo ngược chuẩn RAADS-R (Chọn "Không bao giờ đúng" = 3 điểm) // 1, 6, 11, 18, 23, 26, 33, 37, 43, 47, 48, 53, 58, 62, 68, 72, 77 // dom: 'soc' (Quan hệ xã hội - 39 câu), 'cir' (Sở thích thu hẹp - 14 câu), 'lan' (Ngôn ngữ - 7 câu), 'sen' (Giác quan & Vận động - 20 câu) const questions = [ { id: 1, rev: true, dom: 'soc', t: 'Tôi là một người giàu lòng trắc ẩn và dễ đồng cảm với người khác.' }, { id: 2, rev: false, dom: 'lan', t: 'Tôi thường sử dụng các từ và cụm từ học được từ phim ảnh hoặc tivi khi trò chuyện hàng ngày.' }, { id: 3, rev: false, dom: 'soc', t: 'Tôi thường bất ngờ khi người khác nói rằng tôi đã cư xử thô lỗ hoặc thiếu tế nhị.' }, { id: 4, rev: false, dom: 'sen', t: 'Đôi khi tôi nói quá to hoặc quá nhỏ mà bản thân không hề nhận ra.' }, { id: 5, rev: false, dom: 'soc', t: 'Tôi thường không biết phải cư xử như thế nào trong các tình huống xã hội.' }, { id: 6, rev: true, dom: 'soc', t: 'Tôi có thể dễ dàng đặt mình vào vị trí của người khác để hiểu cảm giác của họ.' }, { id: 7, rev: false, dom: 'lan', t: 'Tôi gặp khó khăn trong việc hiểu nghĩa bóng như các thành ngữ, tục ngữ hoặc lời nói ẩn dụ.' }, { id: 8, rev: false, dom: 'soc', t: 'Tôi chỉ thích nói chuyện với những người có cùng sở thích đặc biệt với mình.' }, { id: 9, rev: false, dom: 'cir', t: 'Tôi tập trung vào các chi tiết nhỏ hơn là ý tưởng tổng thể.' }, { id: 10, rev: false, dom: 'sen', t: 'Tôi luôn chú ý rất rõ đến cảm giác của thức ăn ở trong miệng mình.' }, { id: 11, rev: true, dom: 'soc', t: 'Tôi nhớ đến bạn bè và gia đình khi chúng tôi phải xa nhau.' }, { id: 12, rev: false, dom: 'soc', t: 'Đôi khi tôi vô tình xúc phạm người khác vì nói thẳng tuột những gì mình đang nghĩ.' }, { id: 13, rev: false, dom: 'cir', t: 'Tôi chỉ thích suy nghĩ và nói về một vài chủ đề mà tôi thực sự quan tâm.' }, { id: 14, rev: false, dom: 'soc', t: 'Khi đi ăn ở nhà hàng, tôi thích đi một mình hơn là đi cùng với người khác.' }, { id: 15, rev: false, dom: 'lan', t: 'Tôi không thể hình dung ra cảm giác sẽ như thế nào nếu mình trở thành một người khác.' }, { id: 16, rev: false, dom: 'sen', t: 'Tôi từng được bảo rằng mình có dáng đi hoặc tư thế hơi vụng về, thiếu phối hợp.' }, { id: 17, rev: false, dom: 'soc', t: 'Người khác thường coi tôi là người kỳ lạ hoặc khác biệt.' }, { id: 18, rev: true, dom: 'soc', t: 'Tôi hiểu rõ khi nào bạn bè của mình cần được vỗ về, an ủi.' }, { id: 19, rev: false, dom: 'sen', t: 'Tôi rất nhạy cảm với cảm giác của quần áo khi chạm vào da mình (như mác áo, chất vải thô).' }, { id: 20, rev: false, dom: 'soc', t: 'Tôi thích bắt chước cách hành động và nói năng của một số người để giúp mình trông có vẻ bình thường hơn.' }, { id: 21, rev: false, dom: 'soc', t: 'Tôi cảm thấy rất lo lắng, căng thẳng khi phải nói chuyện với nhiều hơn một người cùng lúc.' }, { id: 22, rev: false, dom: 'soc', t: 'Tôi phải tự ép mình "hành xử bình thường" để làm hài lòng người khác và khiến họ quý mến mình.' }, { id: 23, rev: true, dom: 'soc', t: 'Việc gặp gỡ và làm quen với những người mới đối với tôi thường khá dễ dàng.' }, { id: 24, rev: false, dom: 'cir', t: 'Tôi bị bối rối hoặc khó chịu khi có ai đó làm gián đoạn lúc tôi đang nói về chủ đề mình yêu thích.' }, { id: 25, rev: false, dom: 'soc', t: 'Tôi thấy khó hiểu được cảm giác của người khác khi chúng tôi đang trò chuyện.' }, { id: 26, rev: true, dom: 'soc', t: 'Tôi thích trò chuyện cùng với nhiều người xung quanh một bàn ăn hoặc trong một nhóm bạn.' }, { id: 27, rev: false, dom: 'lan', t: 'Tôi hiểu mọi thứ theo đúng nghĩa đen, vì vậy tôi thường bỏ lỡ ẩn ý của người đang nói.' }, { id: 28, rev: false, dom: 'soc', t: 'Tôi thấy rất khó nhận biết khi nào một người đang cảm thấy xấu hổ, ghen tị hoặc bối rối.' }, { id: 29, rev: false, dom: 'sen', t: 'Một số kết cấu bề mặt bình thường không làm phiền người khác nhưng lại khiến tôi vô cùng khó chịu khi chạm vào.' }, { id: 30, rev: false, dom: 'cir', t: 'Tôi trở nên cực kỳ bức bối khi cách thức tôi vẫn thường làm mọi việc bị thay đổi đột ngột.' }, { id: 31, rev: false, dom: 'soc', t: 'Tôi chưa bao giờ muốn hoặc cần có một mối quan hệ được gọi là "tình cảm thân mật".' }, { id: 32, rev: false, dom: 'cir', t: 'Tôi rất khó bắt đầu hoặc dừng lại một cuộc trò chuyện cho đến khi tôi đã nói xong hết ý của mình.' }, { id: 33, rev: true, dom: 'sen', t: 'Tôi nói chuyện với nhịp điệu và tông giọng tự nhiên, bình thường.' }, { id: 34, rev: false, dom: 'sen', t: 'Cùng một âm thanh, màu sắc hoặc kết cấu có thể đột ngột chuyển từ rất nhạy cảm sang hoàn toàn không cảm thấy gì.' }, { id: 35, rev: false, dom: 'lan', t: 'Cụm từ "Anh ấy làm tôi cảm thấy..." hay các câu ẩn dụ cảm xúc tương tự thường làm tôi thấy khó hiểu.' }, { id: 36, rev: false, dom: 'sen', t: 'Đôi khi âm thanh của một từ ngữ hoặc tiếng ồn cao vút có thể gây đau đớn cho tai của tôi.' }, { id: 37, rev: true, dom: 'soc', t: 'Tôi là một người dễ cảm thông và thấu hiểu.' }, { id: 38, rev: false, dom: 'soc', t: 'Tôi không cảm thấy kết nối về mặt cảm xúc với các nhân vật trong phim và không thể cảm nhận những gì họ trải qua.' }, { id: 39, rev: false, dom: 'soc', t: 'Tôi không thể nhận ra khi nào có ai đó đang tán tỉnh mình.' }, { id: 40, rev: false, dom: 'cir', t: 'Tôi có thể hình dung cực kỳ chi tiết trong tâm trí về những thứ mà tôi quan tâm.' }, { id: 41, rev: false, dom: 'cir', t: 'Tôi có lưu giữ các danh sách về những thứ làm tôi thích thú, ngay cả khi chúng không có giá trị sử dụng thực tế.' }, { id: 42, rev: false, dom: 'sen', t: 'Khi tôi cảm thấy bị quá tải bởi các giác quan, tôi phải tự cô lập bản thân để ngắt bớt các kích thích đó.' }, { id: 43, rev: true, dom: 'soc', t: 'Tôi thích tâm sự và thảo luận mọi chuyện với bạn bè của mình.' }, { id: 44, rev: false, dom: 'soc', t: 'Tôi không thể phân biệt được liệu ai đó đang quan tâm hay đang chán ngấy những gì tôi đang nói.' }, { id: 45, rev: false, dom: 'soc', t: 'Rất khó để tôi đọc được nét mặt, ngôn ngữ cơ thể và cử chỉ tay chân khi ai đó đang nói chuyện.' }, { id: 46, rev: false, dom: 'sen', t: 'Cùng một thứ (như quần áo hoặc nhiệt độ) có thể cho tôi cảm giác hoàn toàn khác nhau vào những thời điểm khác nhau.' }, { id: 47, rev: true, dom: 'soc', t: 'Tôi cảm thấy rất thoải mái khi hẹn hò hoặc tham gia các hoạt động giao lưu xã hội.' }, { id: 48, rev: true, dom: 'soc', t: 'Tôi cố gắng giúp đỡ người khác một cách tự nhiên khi họ đang nói về vấn đề khó khăn của mình.' }, { id: 49, rev: false, dom: 'sen', t: 'Tôi từng được nhận xét là có giọng nói khác thường (ví dụ: giọng phẳng lì đều đều, trẻ con hoặc cao vút).' }, { id: 50, rev: false, dom: 'cir', t: 'Đôi khi một ý nghĩ hoặc một chủ đề cứ mắc kẹt trong đầu tôi và tôi buộc phải nói về nó ngay cả khi không ai quan tâm.' }, { id: 51, rev: false, dom: 'sen', t: 'Tôi thường làm một số cử động tay lặp đi lặp lại (như vẫy nhẹ, xoắn ngón tay, nhịp tay hoặc xoay đồ vật).' }, { id: 52, rev: false, dom: 'cir', t: 'Tôi chưa bao giờ thấy hứng thú với những gì hầu hết mọi người xung quanh coi là thú vị.' }, { id: 53, rev: true, dom: 'soc', t: 'Tôi được mọi người xem là một người có tính cách ấm áp và thân thiện.' }, { id: 54, rev: false, dom: 'soc', t: 'Tôi giao tiếp với người khác bằng cách làm theo một bộ các quy tắc cố định mà tôi phải tự ghi nhớ.' }, { id: 55, rev: false, dom: 'soc', t: 'Rất khó để tôi biết phải làm thế nào khi làm việc hoặc sinh hoạt trong một nhóm.' }, { id: 56, rev: false, dom: 'cir', t: 'Khi tôi đang nói chuyện với ai đó, rất khó để chuyển sang chủ đề khác ngoài chủ đề hiện tại.' }, { id: 57, rev: false, dom: 'sen', t: 'Đôi khi tôi phải lấy tay bịt tai lại để chặn bớt những tiếng ồn gây đau tai (như tiếng máy hút bụi, tiếng còi, đám đông).' }, { id: 58, rev: true, dom: 'lan', t: 'Tôi có thể tán gẫu và nói chuyện phiếm một cách dễ dàng với mọi người.' }, { id: 59, rev: false, dom: 'sen', t: 'Đôi khi những thứ đáng lẽ phải gây đau đớn (như khi tôi tự làm mình bị thương) lại không làm tôi thấy đau.' }, { id: 60, rev: false, dom: 'soc', t: 'Khi nói chuyện với một ai đó, tôi gặp khó khăn trong việc biết khi nào đến lượt mình nói hoặc lượt mình lắng nghe.' }, { id: 61, rev: false, dom: 'soc', t: 'Những người hiểu rõ tôi thường coi tôi là một người sống khép kín, tách biệt.' }, { id: 62, rev: true, dom: 'sen', t: 'Tôi thường nhìn thẳng vào mắt người đối diện một cách tự nhiên khi trò chuyện.' }, { id: 63, rev: false, dom: 'cir', t: 'Tôi thích mọi thứ phải diễn ra chính xác như cũ từ ngày này qua ngày khác và ngay cả những thay đổi nhỏ cũng làm tôi phiền lòng.' }, { id: 64, rev: false, dom: 'soc', t: 'Làm thế nào để kết bạn và giữ gìn tình bạn luôn là một điều bí ẩn khó hiểu đối với tôi.' }, { id: 65, rev: false, dom: 'sen', t: 'Việc xoay tròn người, đung đưa cơ thể hoặc nhịp chân giúp tôi tự làm dịu bản thân khi cảm thấy quá tải.' }, { id: 66, rev: false, dom: 'lan', t: 'Cụm từ "Mang trái tim trên tay áo" (bộc lộ cảm xúc ra ngoài) không có ý nghĩa gì đối với tôi khi nghĩ về nó.' }, { id: 67, rev: false, dom: 'sen', t: 'Nếu tôi ở một nơi có quá nhiều mùi hương, kết cấu bề mặt chạm vào da, tiếng ồn hoặc ánh sáng chói, tôi cảm thấy lo âu hoặc đơ cứng.' }, { id: 68, rev: true, dom: 'soc', t: 'Tôi có thể nhận biết khi nào một ai đó nói một đằng nhưng thực tâm lại có ý một nẻo.' }, { id: 69, rev: false, dom: 'soc', t: 'Tôi thích được ở một mình càng nhiều càng tốt.' }, { id: 70, rev: false, dom: 'cir', t: 'Tôi cất giữ những suy nghĩ trong tâm trí giống như xếp trên các thẻ ghi chú và lấy ra đúng tấm thẻ cần tìm khi muốn.' }, { id: 71, rev: false, dom: 'sen', t: 'Cùng một âm thanh có thể lúc thì nghe rất to nhưng lúc khác lại nghe rất nhỏ.' }, { id: 72, rev: true, dom: 'soc', t: 'Tôi thích dành thời gian ăn uống và trò chuyện cùng với gia đình và bạn bè.' }, { id: 73, rev: false, dom: 'sen', t: 'Tôi không thể chịu đựng được những thứ mà tôi không thích (như một số mùi hương, kết cấu vải, âm thanh hoặc màu sắc).' }, { id: 74, rev: false, dom: 'sen', t: 'Tôi không thích được người khác ôm hoặc giữ chặt vào người.' }, { id: 75, rev: false, dom: 'cir', t: 'Khi đi đến bất cứ đâu, tôi đều phải đi theo một lộ trình quen thuộc, nếu không tôi sẽ cảm thấy rất bối rối và bồn chồn.' }, { id: 76, rev: false, dom: 'soc', t: 'Thật khó để hình dung được những người khác đang mong đợi điều gì ở tôi.' }, { id: 77, rev: true, dom: 'soc', t: 'Tôi thích việc có những người bạn thân thiết trong cuộc sống.' }, { id: 78, rev: false, dom: 'cir', t: 'Mọi người thường bảo rằng tôi kể quá nhiều chi tiết tỉ mỉ không cần thiết khi nói chuyện.' }, { id: 79, rev: false, dom: 'soc', t: 'Tôi thường được bảo rằng mình hay đặt những câu hỏi làm người khác ngượng ngùng, khó xử.' }, { id: 80, rev: false, dom: 'soc', t: 'Tôi có xu hướng chỉ ra những lỗi sai của người khác ngay lập tức mà không để ý đến cảm xúc của họ.' } ]; // answers[id] lưu 1 trong 4 mã thời điểm: // 'BOTH' (Đúng cả hiện tại & khi < 16 tuổi) // 'NOW' (Chỉ đúng ở hiện tại) // 'YNG' (Chỉ đúng khi < 16 tuổi) // 'NEV' (Không bao giờ đúng) let answers = {}; let filterDom = 'all'; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .rd-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .rd-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .rd-inner { padding: 24px; max-width: 940px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .rd-wrap.is-fullscreen .rd-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .rd-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(79, 70, 229, 0.45), 0 0 0 0 rgba(79, 70, 229, 0.4); } 70% { box-shadow: 0 6px 20px rgba(79, 70, 229, 0.45), 0 0 0 10px rgba(79, 70, 229, 0); } 100% { box-shadow: 0 6px 20px rgba(79, 70, 229, 0.45), 0 0 0 0 rgba(79, 70, 229, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #4338ca 0%, #4f46e5 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(79, 70, 229, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Header */ .rd-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .rd-header-text { flex: 1 1 260px; } .rd-title { font-size: 21px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .rd-desc { font-size: 14px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #eef2ff; color: #4338ca; border: 1px solid #c7d2fe; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #4f46e5; color: #ffffff; border-color: #4f46e5; } /* Controls */ .rd-controls { display: flex; flex-direction: column; gap: 10px; margin-bottom: 18px; } .rd-presets { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; } .rd-preset-lbl { font-size: 12.5px; font-weight: 700; color: #475569; margin-right: 4px; } .rd-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; transition: all 0.15s ease; touch-action: manipulation; } .rd-pbtn:hover { background: #f1f5f9; border-color: #94a3b8; } .rd-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } .rd-domain-tabs { display: flex; flex-wrap: wrap; gap: 6px; } .rd-dtab { padding: 6px 12px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .rd-dtab.active { background: #4f46e5; color: #ffffff; border-color: #4f46e5; } /* Sticky Dashboard */ .rd-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .rd-wrap.is-fullscreen .rd-dash { top: 58px; } .rd-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .rd-score-big { font-size: 24px; font-weight: 800; line-height: 1; } .rd-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .rd-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .rd-bar-bg { height: 10px; background: #334155; border-radius: 5px; overflow: hidden; margin-bottom: 12px; } .rd-bar-fill { height: 100%; width: 0%; background: #10b981; transition: width 0.35s ease, background 0.35s ease; } .rd-pillars { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; font-size: 11.5px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .rd-pillar-box { background: #1e293b; padding: 7px 10px; border-radius: 8px; } .rd-pillar-val { font-weight: 700; color: #ffffff; font-size: 13px; display: block; margin-top: 2px; } /* Danh sách 80 câu hỏi */ .rd-q-item { border: 1px solid #e2e8f0; border-radius: 10px; padding: 14px 16px; margin-bottom: 12px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 10px; } .rd-q-item.high-scored { border-color: #fda4af; background: #fff5f5; } .rd-q-item.mid-scored { border-color: #fde68a; background: #fffbeb; } .rd-q-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; } .rd-q-text { font-size: 14.5px; font-weight: 600; color: #1e293b; line-height: 1.5; flex: 1; } .rd-q-tags { display: flex; flex-wrap: wrap; gap: 6px; } .rd-tag { font-size: 11px; font-weight: 600; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .rd-tag.dom-soc { background: #dbeafe; color: #1d4ed8; } .rd-tag.dom-cir { background: #fef3c7; color: #b45309; } .rd-tag.dom-lan { background: #f3e8ff; color: #7e22ce; } .rd-tag.dom-sen { background: #dcfce7; color: #15803d; } .rd-tag.rev-tag { background: #fee2e2; color: #b91c1c; } /* 4 nút lựa chọn thời điểm RAADS-R */ .rd-ans-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; } .rd-abtn { padding: 8px 6px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 600; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .rd-abtn:hover { border-color: #64748b; } .rd-abtn.sel-0 { background: #10b981; border-color: #10b981; color: #ffffff; font-weight: 700; } .rd-abtn.sel-1 { background: #3b82f6; border-color: #3b82f6; color: #ffffff; font-weight: 700; } .rd-abtn.sel-2 { background: #f59e0b; border-color: #f59e0b; color: #ffffff; font-weight: 700; } .rd-abtn.sel-3 { background: #ef4444; border-color: #ef4444; color: #ffffff; font-weight: 700; } /* Biểu đồ 4 tiểu lĩnh vực & Kết luận */ .rd-chart-card { margin-top: 20px; padding: 16px 18px; border-radius: 12px; background: #ffffff; border: 1px solid #e2e8f0; } .rd-chart-title { font-size: 14.5px; font-weight: 700; color: #0f172a; margin-bottom: 12px; } .rd-bar-row { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; font-size: 12.5px; } .rd-bar-lbl { width: 210px; flex-shrink: 0; font-weight: 600; color: #334155; } .rd-bar-track { flex: 1; height: 16px; background: #f1f5f9; border-radius: 999px; overflow: hidden; } .rd-bar-val { width: 115px; text-align: right; font-weight: 700; color: #0f172a; flex-shrink: 0; } .rd-result-box { margin-top: 16px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #64748b; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 720px) { .rd-inner { padding: 14px; } .rd-title { font-size: 18px; } .rd-pillars { grid-template-columns: 1fr 1fr; } .rd-ans-grid { grid-template-columns: 1fr 1fr; } .rd-abtn { padding: 10px 8px; font-size: 12px; } .rd-bar-lbl { width: 130px; font-size: 11.5px; } .rd-bar-val { width: 95px; font-size: 11.5px; } .rd-pbtn.reset { margin-left: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
Thang Đo Chẩn Đoán Phổ Tự Kỷ & Asperger RAADS-R (80 Câu Hỏi • Từ 16 Tuổi Trở Lên)
Công cụ lâm sàng chuẩn hóa của Ritvo et al. (2011) đánh giá xuyên suốt dòng thời gian (trước 16 tuổi và hiện tại) trên thang 0 – 240 điểm. Hệ thống tự động đảo chiều điểm ở 17 câu nghịch và đối chiếu ngưỡng điểm cắt lâm sàng chuẩn (≥ 65 điểm).
• Tổng điểm thấp hơn cả ngưỡng giáp ranh (50 điểm) và ngưỡng điểm cắt chuẩn (≥ 65 điểm). Trong nghiên cứu gốc của Ritvo (2011), điểm trung bình của nhóm thần kinh điển hình là khoảng 26 điểm.
• Không ghi nhận tập hợp dấu hiệu Rối loạn phổ tự kỷ có ý nghĩa lâm sàng xuyên suốt quá trình phát triển. `; } else if (total < 65) { color = '#f59e0b'; badgeTxt = `VÙNG GIÁP RANH (${total}/240đ)`; analysis = ` Kết luận RAADS-R — Vùng Giáp Ranh Cần Lưu Ý (50 – 64 điểm: Đạt ${total}/240 điểm):
• Điểm số tiệm cận ngưỡng cắt chuẩn (≥ 65 điểm). Hồ sơ 4 tiểu lĩnh vực: Quan hệ xã hội (${domScores.soc}/117, ngưỡng ≥ 31) • Sở thích thu hẹp (${domScores.cir}/42, ngưỡng ≥ 15) • Ngôn ngữ (${domScores.lan}/21, ngưỡng ≥ 4) • Giác quan – Vận động (${domScores.sen}/60, ngưỡng ≥ 16).
• Nhận định: Một số cá nhân tự kỷ có mức độ ngụy trang xã hội cao hoặc người có lo âu xã hội / ADHD có thể rơi vào vùng điểm này. Khuyến nghị tham vấn chuyên gia tâm lý lâm sàng nếu các đặc điểm gây cản trở cuộc sống. `; } else if (total < 130) { color = '#ef4444'; badgeTxt = `VƯỢT NGƯỠNG CHUẨN RAADS-R (≥ 65: ${total}đ)`; analysis = ` Kết luận RAADS-R — Vượt Ngưỡng Điểm Cắt Lâm Sàng Chuẩn ($\ge 65$ điểm: Đạt ${total}/240 điểm):
• Kết quả dương tính trên thang RAADS-R (ngưỡng $\ge 65$ điểm có độ nhạy 97% trong nghiên cứu chuẩn hóa của Ritvo et al., 2011).
• Chi tiết 4 trụ cột: Quan hệ xã hội (${domScores.soc}/117) • Sở thích thu hẹp (${domScores.cir}/42) • Ngôn ngữ (${domScores.lan}/21) • Giác quan – Vận động (${domScores.sen}/60).
• Hướng xử trí: Kết quả này cung cấp cơ sở lâm sàng vững chắc để bạn thực hiện đánh giá chẩn đoán chính thức với Bác sĩ chuyên khoa Tâm thần / Chuyên gia Tâm lý lâm sàng (kết hợp phỏng vấn lịch sử phát triển và ADOS-2 Module 4). `; } else { color = '#dc2626'; badgeTxt = `MỨC ĐIỂN HÌNH PHỔ TỰ KỶ (${total}/240đ)`; analysis = ` Kết luận RAADS-R — Mức Điểm Đặc Trưng Của Phổ Tự Kỷ ($\ge 130$ điểm: Đạt ${total}/240 điểm):
• Tổng điểm của bạn tương đương hoặc cao hơn mức điểm trung bình của nhóm người trưởng thành được chẩn đoán Tự kỷ / Asperger trong nghiên cứu đa trung tâm quốc tế (~134/240 điểm).
• Sự hiện diện nhất quán của các đặc điểm từ thời thơ ấu ( setPoints(id, 2)); } else if (type === 'border') { // 58 điểm questions.forEach((q, idx) => { if (idx % 3 === 0) setPoints(q.id, 2); else if (idx % 7 === 0) setPoints(q.id, 1); }); } else if (type === 'masked') { // 86 điểm (Nhiều câu chọn "Chỉ đúng khi { if (idx % 2 === 0) setPoints(q.id, 1); }); [5, 8, 9, 13, 19, 20, 21, 22, 23, 27, 29, 30, 36, 40, 42, 45, 54, 57, 62, 64, 67, 69].forEach(id => { setPoints(id, 3); }); } else if (type === 'asd') { // 138 điểm (Hồ sơ ASD điển hình) questions.forEach((q, idx) => { if (idx % 2 === 0) setPoints(q.id, 3); else if (idx % 3 === 0) setPoints(q.id, 2); else setPoints(q.id, 1); }); } renderQuestions(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); rdWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { rdWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 940px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } shadow.querySelectorAll('.rd-pbtn').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-preset')); }; }); shadow.querySelectorAll('#domainTabs .rd-dtab').forEach(function(tab) { tab.onclick = function() { filterDom = this.getAttribute('data-dom'); shadow.querySelectorAll('#domainTabs .rd-dtab').forEach(t => t.classList.remove('active')); this.classList.add('active'); renderQuestions(); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); applyPreset('asd'); })();
RAADS-R (Ritvo Autism Asperger Diagnostic Scale-Revised — Thang đo Chẩn đoán Tự kỷ và Asperger Ritvo – Bản Hiệu đính) là công cụ lâm sàng chuyên sâu do Tiến sĩ Riva Ariella Ritvo và cộng sự (Đại học Yale & UCLA) phát triển năm 2011.
Đây là công cụ hàng đầu thế giới hiện nay dùng để hỗ trợ phát hiện các đặc điểm Rối loạn phổ tự kỷ ở người trưởng thành và thanh thiếu niên lớn (từ 16 tuổi trở lên) có trí tuệ bình thường (IQ ≥80) — đặc biệt là những trường hợp tự kỷ mức độ nhẹ / chức năng cao bị bỏ sót khi còn nhỏ nhờ khả năng “ngụy trang xã hội” (masking).
1. Tóm tắt cốt lõi về công cụ RAADS-R
-
Điểm vượt trội so với thang AQ: Nếu thang AQ chỉ hỏi về trạng thái hiện tại, thì RAADS-R đánh giá xuyên suốt dòng thời gian phát triển (so sánh hành vi trước 16 tuổi và hiện tại). Điều này cực kỳ quan trọng vì nhiều người lớn tự kỷ đã học cách bắt chước giao tiếp khi trưởng thành, nhưng hồi nhỏ (dưới 16 tuổi) lại bộc lộ triệu chứng rất rõ.
-
Độ nhạy và Độ đặc hiệu: Trong nghiên cứu đa trung tâm của Ritvo (2011), RAADS-R đạt độ nhạy 97% và độ đặc hiệu 100% tại ngưỡng điểm cắt chuẩn ().
-
Cấu trúc 80 câu hỏi & 4 Tiểu lĩnh vực:
-
Quan hệ xã hội (Social Relatedness — 39 câu): Khả năng thấu cảm, kết bạn, duy trì mối quan hệ, đọc ngôn ngữ cơ thể và tương tác nhóm (Ngưỡng cắt tiểu lĩnh vực: điểm).
-
Sở thích thu hẹp (Circumscribed Interests — 14 câu): Đam mê chuyên sâu, thói quen cố định, chú ý chi tiết và khó chịu khi thay đổi lịch trình (Ngưỡng cắt: điểm).
-
Ngôn ngữ (Language — 7 câu): Hiểu theo nghĩa đen, giọng điệu nói chuyện, khó hiểu ẩn dụ/nói đùa và kịch bản giao tiếp (Ngưỡng cắt: điểm).
-
Giác quan – Vận động (Sensorimotor — 20 câu): Nhạy cảm quá mức với âm thanh, ánh sáng, kết cấu quần áo/thức ăn, phối hợp vận động và cử động định hình (Ngưỡng cắt: ≥16 điểm).
-
-
Quy tắc chấm điểm (Thang 0 – 240 điểm):
-
Mỗi câu có 4 mốc thời gian để chọn:
-
Đúng ở cả hiện tại và khi < 16 tuổi -
Chỉ đúng ở hiện tại -
Chỉ đúng khi tôi < 16 tuổi -
Không bao giờ đúng
-
-
63 câu thuận (mô tả đặc điểm tự kỷ): Chấm lần lượt 3 – 2 – 1 – 0 điểm.
-
17 câu đảo ngược (Normative items): Câu số 1, 6, 11, 18, 23, 26, 33, 37, 43, 47, 48, 53, 58, 62, 68, 72, 77(mô tả kỹ năng xã hội điển hình): Chấm đảo chiều 0 – 1 – 2 – 3 điểm (Chọn “Không bao giờ đúng” = 3 điểm).
-
-
Các mốc điểm tham chiếu lâm sàng (Cut-off Scores):
-
0 – 49 điểm: Dưới ngưỡng lâm sàng (Trung bình dân số thần kinh điển hình ~26 điểm).
-
50 – 64 điểm: Vùng giáp ranh — Có một số đặc điểm phổ tự kỷ nhưng chưa vượt ngưỡng chuẩn.
-
65 – 129 điểm: Vượt ngưỡng điểm cắt lâm sàng chuẩn ( điểm) — Gợi ý khả năng cao thuộc Phổ tự kỷ.
-
130 – 240 điểm: Mức điểm điển hình của người trưởng thành tự kỷ (Điểm trung bình của nhóm ASD trong nghiên cứu gốc là ~134 điểm).
-
Dạy con nói nhóm câu Hoạt động & Tương tác tại Trường Mầm non
Môi trường mầm non có mật độ kích thích giác quan cao và nhiều quy tắc tập thể. Việc dạy từ vựng cho nhóm này giúp con giảm bớt lo âu, biết cách tuân thủ nề nếp và bắt đầu xây dựng những mối quan hệ xã hội đầu đời với cô giáo, bạn bè.
I, ĐÓN – TRẢ TRẺ & CHÀO HỎI (Nghi thức xã hội đầu/cuối ngày)
Giúp con nhận biết sự chuyển giao giữa môi trường nhà và trường, giảm bớt cảm giác bị bỏ rơi khi cha mẹ đi về.
1. Từ đơn (1 âm tiết)
-
Nhóm Danh từ (Đại từ & Đồ dùng):
-
Cô, bạn, mẹ, ba, cặp (balo), dép, tủ.
-
-
Nhóm Động từ (Hành động xã hội):
-
Chào, về, cất, vào, bế, vẫy (tay), khoanh (tay).
-
-
Nhóm Từ chức năng / Lịch sự:
-
Ạ, dạ, ngoan.
-
2. Câu 2 từ
-
Chào hỏi khi đến/về: Chào cô, chào bạn, chào mẹ, con về.
-
Thực hiện thủ tục: Cất cặp, cất dép, vào lớp, vẫy tay.
-
Biểu lộ tình cảm/Nhu cầu: Mẹ đón, cô bế.
II, GIỜ HỌC, GIỜ VÒNG TRÒN & TUÂN THỦ NỀ NẾP
Giúp con hiểu các câu lệnh tập thể của cô giáo và tham gia vào hoạt động chung cùng các bạn.
1. Từ đơn (1 âm tiết)
-
Nhóm Danh từ:
-
Ghế, bàn, tranh, màu, kéo, giấy, đất (nặn), sách.
-
-
Nhóm Động từ (Lệnh tập thể):
-
Ngồi, đứng, hát, múa, vẽ, nặn, cất, nghe, nhìn, giơ (tay).
-
-
Nhóm Tính từ / Trạng thái:
-
Im (lặng), trật (tự), ngoan, đẹp.
-
2. Câu 2 từ (Nguyên tắc: Động từ + Danh từ / Mệnh lệnh)
-
Tuân thủ nề nếp: Ngồi xuống, đứng dậy, im lặng, khoanh tay, nhìn cô, lắng nghe.
-
Thực hiện hoạt động học: Tập vẽ, nặn đất, cất ghế, cất đồ.
-
Tương tác giờ học: Giơ tay, xin phát (giấy/màu).
III, GIỜ RA CHƠI & TƯƠNG TÁC CÙNG BẠN BÈ (Luân phiên & Chia sẻ)
Trẻ tự kỷ thường chơi song song (chơi một mình bên cạnh bạn) chứ chưa biết chơi tương tác. Nhóm này dạy con các từ chìa khóa để bắt đầu “chơi chung”.
1. Từ đơn (1 âm tiết)
-
Nhóm Danh từ:
-
Bạn, đồ (chơi), xe, bóng, lượt.
-
-
Nhóm Động từ (Hành động tương tác):
-
Cho, xin, mượn, trả, chơi, nhường, đẩy, đuổi.
-
-
Nhóm Từ chức năng (Chỉ lượt & Tương tác):
-
Cùng, chung, trước, sau, nữa.
-
2. Câu 2 từ
-
Kỹ năng xin xỏ / Mượn đồ: Xin bạn, cho con, mượn xe, mượn bóng.
-
Kỹ năng rủ rê / Chơi chung: Chơi chung, chơi cùng, chạy theo, đuổi bắt.
-
Kỹ năng luân phiên: Đến lượt, đợi chút, nhường bạn, xếp hàng.
IV, GIỜ ĂN & GIỜ NGỦ TRƯA TẠI TRƯỜNG
Giúp con tự lập trong các sinh hoạt tập thể tại lớp.
1. Từ đơn (1 âm tiết)
-
Nhóm Danh từ:
-
Khay, cơm, canh, thìa, đệm (chiếu), chăn, gối.
-
-
Nhóm Động từ:
-
Ăn, xúc, uống, nằm, ngủ, cất, lấy.
-
2. Câu 2 từ
-
Giờ ăn: Tự xúc, ăn hết, cất khay, lấy nước.
-
Giờ ngủ: Lấy gối, đắp chăn, nằm xuống, ngủ ngoan.
💡 Chiến lược phối hợp Nhà – Trường: “Bộ thẻ Visual Schedule & Đồng hành cùng cô giáo”
Trẻ tự kỷ học tốt nhất qua thị giác. Để giúp con tự tin giao tiếp ở trường, bạn có thể áp dụng 2 bước:
-
Tạo lịch trình bằng hình ảnh (Visual Schedule): Chụp ảnh thực tế các góc ở lớp của con (Góc dép, Tủ balo, Bàn ăn, Giường ngủ, Cô giáo). Ở nhà, mỗi tối hoặc sáng trước khi đi học, bạn giơ từng tấm ảnh ra và cùng con nói từ vựng tương ứng (Ví dụ: Chỉ vào ảnh tủ dép Nói: “CẤT DÉP”; Chỉ vào ảnh cô giáo Nói: “CHÀO CÔ”).
-
“Ủy quyền” cho cô giáo trao cơ hội bật âm: Nhờ cô giáo ở lớp không làm hộ con hoàn toàn. Ví dụ: Khi con muốn uống nước hoặc ăn thêm cơm, cô hãy đợi con mấp máy môi hoặc phát ra âm “NƯỚC” / “CƠM” mới đưa cho con, thay vì thấy con đứng nhìn là cô tự lấy giúp.
Nguồn tham khảo: Kiến thức thực tế dạy con và những gợi ý từ AI.
Rối loạn giác quan ở trẻ tự kỷ - Bác sĩ Thảo biên soạn
Trong tài liệu này, bác sĩ Thảo đã phân tích rõ 8 rối loạn giác quan mà trẻ phổ tự kỷ mắc phải. Rất hữu ích với tất cả phụ huynh muốn can thiệp thành công cho con tại nhà.
[Phát triển chung] ASQ-3: Bộ câu hỏi sàng lọc phát triển toàn diện theo độ tuổi (1 – 66 tháng)
(function() { const host = document.getElementById('asq3-wp-host'); if (!host) return; const placeholder = document.createComment('asq3-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // Cấu hình 5 Lĩnh vực chuẩn của ASQ-3 (Mỗi lĩnh vực 6 câu x 10đ = 60 điểm tối đa) const domConfigs = { com: { code: 'com', name: '1. Giao tiếp (Communication)', color: '#2563eb' }, gm: { code: 'gm', name: '2. Vận động Thô (Gross Motor)', color: '#10b981' }, fm: { code: 'fm', name: '3. Vận động Tinh (Fine Motor)', color: '#0d9488' }, psv: { code: 'psv', name: '4. Giải quyết Vấn đề (Problem Solving)', color: '#f59e0b' }, psc: { code: 'psc', name: '5. Cá nhân – Xã hội (Personal-Social)', color: '#7c3aed' } }; // Dữ liệu các Bộ câu hỏi chuẩn ASQ-3 theo từng Mốc Tháng Tuổi trọng điểm kèm Ngưỡng Cắt (cutoff: -2 SD, monitor: -1 SD) const ageForms = { m6: { code: 'm6', label: '👶 Mốc 6 Tháng (5 – 6 tháng 30 ngày)', cutoffs: { com: { cut: 29.65, mon: 40.80 }, gm: { cut: 22.25, mon: 34.10 }, fm: { cut: 25.14, mon: 37.60 }, psv: { cut: 27.72, mon: 39.50 }, psc: { cut: 25.34, mon: 37.20 } }, items: [ // Giao tiếp (6m) { id: 1, dom: 'com', t: 'Bé có phát ra những âm thanh cao vút (reo lên thích thú) không?' }, { id: 2, dom: 'com', t: 'Khi tự chơi với âm thanh, bé có phát ra các tiếng gầm gừ, lầu bầu hoặc các âm trầm trong cổ họng không?' }, { id: 3, dom: 'com', t: 'Nếu bạn gọi bé khi bạn đang ở khuất tầm mắt, bé có nhìn về phía phát ra giọng nói của bạn không?' }, { id: 4, dom: 'com', t: 'Khi có tiếng động lớn bất ngờ, bé có quay đầu nhìn về phía phát ra âm thanh đó không?' }, { id: 5, dom: 'com', t: 'Bé có phát ra các âm thanh như "đa", "ga", "ca", "ba" không?' }, { id: 6, dom: 'com', t: 'Nếu bạn bắt chước lại đúng những âm thanh bé vừa phát ra, bé có lặp lại những âm thanh đó với bạn không?' }, // Vận động thô (6m) { id: 7, dom: 'gm', t: 'Khi nằm ngửa, bé có giơ cao chân lên và dùng tay nắm lấy bàn chân của mình không?' }, { id: 8, dom: 'gm', t: 'Khi đang nằm sấp, bé có tự duỗi thẳng cả hai cánh tay để đẩy nâng toàn bộ phần ngực rời khỏi mặt sàn không?' }, { id: 9, dom: 'gm', t: 'Bé có tự lẫy từ tư thế nằm ngửa sang nằm sấp và từ nằm sấp sang nằm ngửa được không?' }, { id: 10, dom: 'gm', t: 'Khi bạn đặt bé ngồi trên sàn, bé có thể tự chống hai bàn tay xuống sàn phía trước để ngồi vững trong 5 giây không?' }, { id: 11, dom: 'gm', t: 'Khi bạn giữ hai bên nách cho bé đứng, bé có chịu được sức nặng cơ thể trên đôi chân và nhún nhảy lên xuống không?' }, { id: 12, dom: 'gm', t: 'Bé có thể vào tư thế bò (chống trên hai bàn tay và hai đầu gối) được không?' }, // Vận động tinh (6m) { id: 13, dom: 'fm', t: 'Bé có với lấy và cầm giữ một món đồ chơi bằng cả hai bàn tay cùng lúc không?' }, { id: 14, dom: 'fm', t: 'Ketika nằm ngửa, bé có đưa tay chạm hoặc nắm lấy một món đồ chơi nhỏ đưa ngang tầm ngực không?' }, { id: 15, dom: 'fm', t: 'Bé có tự cầm lấy một món đồ chơi nhỏ bằng một bàn tay (dùng cả lòng bàn tay và các ngón tay) không?' }, { id: 16, dom: 'fm', t: 'Bé có cố gắng dùng các ngón tay cào hoặc bốc một mẩu vụn bánh nhỏ bằng hạt đậu trên mặt bàn không?' }, { id: 17, dom: 'fm', t: 'Bé có tự nhặt một món đồ chơi nhỏ chỉ bằng một tay không?' }, { id: 18, dom: 'fm', t: 'Bé có chuyển thành thạo một món đồ chơi từ bàn tay này sang bàn tay kia không?' }, // Giải quyết vấn đề (6m) { id: 19, dom: 'psv', t: 'Khi món đồ chơi rơi khỏi tay xuống mặt bàn trước mặt, bé có nhìn theo món đồ chơi đó không?' }, { id: 20, dom: 'psv', t: 'Bé có đưa đồ chơi lên miệng để mút hoặc gặm khám phá không?' }, { id: 21, dom: 'psv', t: 'Bé có chuyển món đồ chơi từ tay này sang tay kia để quan sát không?' }, { id: 22, dom: 'psv', t: 'Khi đang cầm một món đồ chơi trên một tay, bé có đưa tay còn lại với lấy thêm món đồ chơi thứ hai không?' }, { id: 23, dom: 'psv', t: 'Bé có đập món đồ chơi lên mặt bàn lên xuống nhiều lần để tạo ra âm thanh không?' }, { id: 24, dom: 'psv', t: 'Khi thấy món đồ chơi rơi xuống sàn nhà, bé có nghiêng đầu nhìn xuống sàn để tìm kiếm nó không?' }, // Cá nhân - Xã hội (6m) { id: 25, dom: 'psc', t: 'Khi nhìn vào gương, bé có mỉm cười hoặc phát âm ê a với hình ảnh của mình trong gương không?' }, { id: 26, dom: 'psc', t: 'Bé có cư xử khác nhau giữa người quen và người lạ (như nhìn dò xét, rụt rè hoặc im lặng trước người lạ) không?' }, { id: 27, dom: 'psc', t: 'Khi nằm ngửa, bé có đưa bàn chân lên miệng để ngậm nghịch không?' }, { id: 28, dom: 'psc', t: 'Khi đang ở trước gương, bé có đưa tay ra vỗ hoặc chạm vào hình ảnh trong gương không?' }, { id: 29, dom: 'psc', t: 'Bé có đặt hai bàn tay lên bình sữa hoặc bầu ngực mẹ khi đang bú không?' }, { id: 30, dom: 'psc', t: 'Bé có tự cầm chiếc bánh ăn dặm đưa lên miệng để mút/gặm không?' } ] }, m12: { code: 'm12', label: '🍼 Mốc 12 Tháng (11 – 12 tháng 30 ngày)', cutoffs: { com: { cut: 15.64, mon: 29.50 }, gm: { cut: 21.49, mon: 35.80 }, fm: { cut: 34.50, mon: 43.40 }, psv: { cut: 27.32, mon: 38.60 }, psc: { cut: 21.73, mon: 33.70 } }, items: [ // Giao tiếp (12m) { id: 1, dom: 'com', t: 'Bé có phát ra hai âm tiết giống nhau liền nhau như "ba-ba", "đa-đa", "ma-ma" không?' }, { id: 2, dom: 'com', t: 'Khi bạn làm mẫu, bé có bắt chước chơi trò "Ú òa", "Vỗ tay hoan hô" hoặc vẫy tay "Bye-bye" không?' }, { id: 3, dom: 'com', t: 'Nếu bạn hỏi "Quả bóng đâu?" (mà không chỉ tay), bé có nhìn về phía quả bóng không?' }, { id: 4, dom: 'com', t: 'Khi bé muốn một thứ gì đó, bé có biết đưa tay chỉ vào đồ vật đó để cho bạn biết không?' }, { id: 5, dom: 'com', t: 'Bé có thực hiện được một yêu cầu đơn giản (như "Lại đây", "Đưa cho mẹ") ngay cả khi bạn không làm cử chỉ ra hiệu không?' }, { id: 6, dom: 'com', t: 'Bé có nói được ít nhất 3 từ đơn có nghĩa (như "Mẹ", "Bà", "Măm", "Bóng") và dùng đúng ngữ cảnh không?' }, // Vận động thô (12m) { id: 7, dom: 'gm', t: 'Khi một tay vịn vào bàn ghế, bé có thể cúi xuống nhặt một món đồ chơi dưới sàn mà không bị ngã không?' }, { id: 8, dom: 'gm', t: 'Bé có đi men dọc theo thành ghế sofa hoặc bàn trong khi chỉ dùng một tay vịn giữ thăng bằng không?' }, { id: 9, dom: 'gm', t: 'Khi bạn nắm một bàn tay của bé để dắt, bé có tự bước đi về phía trước được không?' }, { id: 10, dom: 'gm', t: 'Bé có thể tự đứng vững một mình và bước đi độc lập được vài bước mà không cần vịn vào bất cứ thứ gì không?' }, { id: 11, dom: 'gm', t: 'Bé có thể tự đứng ở giữa sàn rồi cúi xuống nhặt đồ chơi mà không cần vịn tay vào đồ đạc không?' }, { id: 12, dom: 'gm', t: 'Bé có tự đi lại vững vàng hơn 5 – 6 bước liên tiếp mà không bị ngã hay loạng choạng nhiều không?' }, // Vận động tinh (12m) { id: 13, dom: 'fm', t: 'Bé có tự nhặt được một mẩu bánh nhỏ / hạt nhỏ bằng đầu ngón cái và đầu ngón trỏ (kẹp chì) không?' }, { id: 14, dom: 'fm', t: 'Bé có thể cầm một món đồ chơi nhỏ trên tay và chủ động thả rơi nó xuống mặt bàn/trong hộp khi muốn không?' }, { id: 15, dom: 'fm', t: 'Khi nhặt mẩu bánh nhỏ bằng ngón cái và ngón trỏ, bàn tay và cánh tay của bé có nhấc hẳn lên khỏi mặt bàn (không cần tỳ cánh tay xuống bàn) không?' }, { id: 16, dom: 'fm', t: 'Bé có biết bỏ một khối gỗ vào trong hộp hoặc cốc rồi lại thò tay lấy khối gỗ đó ra khỏi hộp không?' }, { id: 17, dom: 'fm', t: 'Bé có phụ giúp lật trang sách bìa cứng khi bạn đọc sách cho bé nghe không?' }, { id: 18, dom: 'fm', t: 'Bé có thể ném một quả bóng nhỏ về phía trước bằng chuyển động cánh tay không?' }, // Giải quyết vấn đề (12m) { id: 19, dom: 'psv', t: 'Khi hai tay bé đang cầm hai khối gỗ, bé có biết đập hai khối gỗ đó vào nhau ở trước ngực không?' }, { id: 20, dom: 'psv', t: 'Bé có biết dùng ngón trỏ để chọc, ấn hoặc khám phá các chi tiết nhỏ của đồ chơi không?' }, { id: 21, dom: 'psv', t: 'Nếu nhìn thấy bạn giấu món đồ chơi hoàn toàn dưới một chiếc khăn, bé có tự kéo khăn ra để tìm lấy món đồ chơi đó không?' }, { id: 22, dom: 'psv', t: 'Sau khi nhìn bạn thả một khối gỗ vào trong chiếc cốc, bé có bắt chước thả khối gỗ vào trong cốc không?' }, { id: 23, dom: 'psv', t: 'Bé có biết bỏ liền 2 khối gỗ vào trong cốc/hộp và giữ chúng nằm yên trong đó không?' }, { id: 24, dom: 'psv', t: 'Sau khi bạn cầm bút sáp vẽ mẫu vài nét trên giấy, bé có cầm bút và cố gắng vạch nét bắt chước trên giấy không?' }, // Cá nhân - Xã hội (12m) { id: 25, dom: 'psc', t: 'Khi bạn đưa hai tay ra và nói "Lại đây với mẹ nào", bé có giơ hai tay lên để được bạn bế không?' }, { id: 26, dom: 'psc', t: 'Bé có tự cầm bánh hoặc thức ăn cắt nhỏ bằng ngón tay để tự đưa vào miệng ăn không?' }, { id: 27, dom: 'psc', t: 'Khi bạn mặc quần áo cho bé, bé có biết phối hợp xỏ tay vào ống tay áo hoặc đưa chân vào ống quần không?' }, { id: 28, dom: 'psc', t: 'Bé có biết lăn hoặc ném trả lại quả bóng cho bạn để hai mẹ con cùng chơi qua lại không?' }, { id: 29, dom: 'psc', t: 'Bé có biết ôm ấp, vỗ về một con búp bê hoặc thú nhồi bông không?' }, { id: 30, dom: 'psc', t: 'Khi bạn giữ chiếc cốc nước cho bé uống, bé có đưa hai tay lên cùng giữ chiếc cốc để uống không?' } ] }, m18: { code: 'm18', label: '🧸 Mốc 18 Tháng (17 – 18 tháng 30 ngày)', cutoffs: { com: { cut: 13.06, mon: 27.60 }, gm: { cut: 37.38, mon: 46.40 }, fm: { cut: 34.32, mon: 43.30 }, psv: { cut: 25.74, mon: 35.80 }, psc: { cut: 27.19, mon: 37.80 } }, items: [ // Giao tiếp (18m) { id: 1, dom: 'com', t: 'Khi bé muốn một thứ gì đó ở trên cao, bé có đi tìm bạn và chỉ ngón trỏ vào vật đó kèm nhìn bạn không?' }, { id: 2, dom: 'com', t: 'Khi xem sách cùng bạn, bé có bắt chước một số âm thanh hoặc từ đơn mà bạn đọc không?' }, { id: 3, dom: 'com', t: 'Khi bạn hỏi "Con mèo/Quả bóng ở đâu?", bé có chỉ đúng vào bức tranh tương ứng trong sách không?' }, { id: 4, dom: 'com', t: 'Bé có thực hiện đúng các yêu cầu đơn giản bằng lời mà bạn không cần chỉ tay (như "Đi lấy giày của con lại đây") không?' }, { id: 5, dom: 'com', t: 'Ngoài từ "Bố" và "Mẹ", bé có nói được ít nhất 8 từ đơn có nghĩa trở lên không?' }, { id: 6, dom: 'com', t: 'Bé có bắt đầu ghép 2 từ lại với nhau thành cụm từ ngắn (như "Uống sữa", "Mẹ bế", "Mở ra") không?' }, // Vận động thô (18m) { id: 7, dom: 'gm', t: 'Bé có tự cúi xuống hoặc ngồi xổm nhặt đồ vật dưới sàn rồi tự đứng thẳng lên mà không cần vịn vào bất cứ thứ gì không?' }, { id: 8, dom: 'gm', t: 'Bé có tự đi lại vững vàng khắp nhà hơn là bò không?' }, { id: 9, dom: 'gm', t: 'Bé có tự bước đi tốt mà rất hiếm khi bị vấp ngã không?' }, { id: 10, dom: 'gm', t: 'Bé có tự trèo lên một vật thấp (như chiếc ghế sofa hoặc ghế nhỏ) để lấy món đồ chơi ở trên đó không?' }, { id: 11, dom: 'gm', t: 'Bé có bước xuống cầu thang được khi bạn nắm giữ một bàn tay của bé không?' }, { id: 12, dom: 'gm', t: 'Khi bạn đặt quả bóng dưới sàn, bé có biết vung chân đá quả bóng lăn về phía trước (thay vì bước dẫm lên bóng) không?' }, // Vận động tinh (18m) { id: 13, dom: 'fm', t: 'Bé có thể ném một quả bóng nhỏ về phía trước khi đang đứng mà không bị ngã không?' }, { id: 14, dom: 'fm', t: 'Bé có xếp chồng được ít nhất 3 khối gỗ vuông nhỏ lên nhau thành tháp đứng vững không?' }, { id: 15, dom: 'fm', t: 'Bé có tự cầm bút sáp màu và vẽ nguệch ngoạc lên trang giấy mà không cần bạn làm mẫu trước không?' }, { id: 16, dom: 'fm', t: 'Bé có tự lật được các trang của một cuốn sách (có thể lật 2–3 trang cùng lúc) không?' }, { id: 17, dom: 'fm', t: 'Bé có biết dùng đầu ngón tay lấy một mẩu bánh nhỏ ra khỏi một chiếc lọ nhựa trong suốt cổ hẹp không?' }, { id: 18, dom: 'fm', t: 'Bé có xếp chồng được 4 – 5 khối gỗ vuông nhỏ lên nhau thành tháp không?' }, // Giải quyết vấn đề (18m) { id: 19, dom: 'psv', t: 'Bé có thả liên tiếp 5 – 6 đồ vật nhỏ vào trong một chiếc hộp không?' }, { id: 20, dom: 'psv', t: 'Sau khi bạn thả một mẩu bánh nhỏ vào trong lọ nhựa trong suốt, bé có biết tự dốc ngược cái lọ xuống để đổ mẩu bánh ra tay không?' }, { id: 21, dom: 'psv', t: 'Bé có chơi giả vờ với các đồ vật (như áp điện thoại đồ chơi lên tai nghe, hoặc cầm lược giả vờ chải đầu) không?' }, { id: 22, dom: 'psv', t: 'Sau khi nhìn bạn vẽ một nét thẳng trên giấy, bé có cầm bút bắt chước vạch nét theo bạn không?' }, { id: 23, dom: 'psv', t: 'Nếu món đồ chơi lăn vào gầm ghế ngoài tầm tay với, bé có biết dùng một chiếc que/thước để khều nó ra hoặc kéo khăn trải bàn lại gần không?' }, { id: 24, dom: 'psv', t: 'Khi bạn xếp mẫu 3–4 khối gỗ nối đuôi nhau làm đoàn tàu, bé có xếp các khối gỗ thành hàng ngang giống bạn không?' }, // Cá nhân - Xã hội (18m) { id: 25, dom: 'psc', t: 'Bé có tự dùng thìa xúc thức ăn đưa vào miệng (dù có thể còn rơi vãi một ít) không?' }, { id: 26, dom: 'psc', t: 'Bé có tự cởi được các món đồ dễ như tất, mũ hoặc giày đã tháo dây không?' }, { id: 27, dom: 'psc', t: 'Bé có tự cầm cốc bằng hai tay uống nước rồi đặt cốc xuống bàn mà hầu như không làm đổ nước ra ngoài không?' }, { id: 28, dom: 'psc', t: 'Bé có bắt chước làm theo các việc nhà của bạn (như cầm khăn lau bàn, cầm chổi quét nhà) không?' }, { id: 29, dom: 'psc', t: 'Bé có thường xuyên nhìn vào hình ảnh của mình trong gương và mỉm cười hoặc làm trò trước gương không?' }, { id: 30, dom: 'psc', t: 'Bé có chủ động kéo tay bạn hoặc mang đồ chơi lại khoe để rủ bạn cùng xem/mở giúp không?' } ] }, m24: { code: 'm24', label: '👦 Mốc 24 Tháng (23 – 25 tháng 15 ngày • 2 Tuổi)', cutoffs: { com: { cut: 25.17, mon: 38.00 }, gm: { cut: 38.07, mon: 46.50 }, fm: { cut: 35.16, mon: 43.20 }, psv: { cut: 29.78, mon: 39.60 }, psc: { cut: 31.54, mon: 40.50 } }, items: [ // Giao tiếp (24m) { id: 1, dom: 'com', t: 'Khi bạn gọi tên các bức tranh quen thuộc (như con mèo, quả bóng, con chó, chiếc xe), bé có chỉ đúng vào bức tranh đó trong sách không?' }, { id: 2, dom: 'com', t: 'Bé có bắt chước nói lại chính xác một câu ngắn gồm 2 từ khi bạn làm mẫu (ví dụ: "Mẹ ơi", "Đi về") không?' }, { id: 3, dom: 'com', t: 'Khi bạn yêu cầu bằng lời mà không chỉ tay, bé có thực hiện được ít nhất 3 mệnh lệnh khác nhau (như "Đặt lên bàn", "Đưa dép cho mẹ", "Đóng cửa lại") không?' }, { id: 4, dom: 'com', t: 'Khi bạn chỉ vào bức tranh quả bóng, cái cốc, chiếc mũ và hỏi "Cái gì đây?", bé có gọi đúng tên các đồ vật đó không?' }, { id: 5, dom: 'com', t: 'Bé có tự nói được các câu gồm 2 đến 3 từ để diễn đạt ý khác nhau (như "Con uống sữa", "Đi chơi công viên", "Bóng của con") không?' }, { id: 6, dom: 'com', t: 'Bé có sử dụng đúng ít nhất 2 đại từ nhân xưng như "Con", "Mẹ", "Của con" khi nói chuyện không?' }, // Vận động thô (24m) { id: 7, dom: 'gm', t: 'Bé có thể tự bước xuống cầu thang khi một tay vịn vào lan can hoặc tường (hoặc nắm tay bạn) không?' }, { id: 8, dom: 'gm', t: 'Khi đứng trước quả bóng, bé có tự vung chân đá quả bóng lăn về phía trước mà không cần vịn tay vào đâu không?' }, { id: 9, dom: 'gm', t: 'Bé có thể tự bước lên và bước xuống ít nhất 2 bậc cầu thang một mình (có thể vịn tường/lan can, bước dồn 2 chân trên 1 bậc) không?' }, { id: 10, dom: 'gm', t: 'Bé có chạy khá vững vàng và biết tự dừng lại mà không bị đâm sầm vào đồ đạc hoặc ngã không?' }, { id: 11, dom: 'gm', t: 'Bé có biết bật nhảy tại chỗ sao cho cả hai bàn chân cùng nhấc rời khỏi mặt đất một lúc không?' }, { id: 12, dom: 'gm', t: 'Khi đứng ở bậc cầu thang cuối cùng, bé có thể nhảy bằng hai chân xuống mặt sàn nhà không?' }, // Vận động tinh (24m) { id: 13, dom: 'fm', t: 'Bé có tự dùng thìa xúc thức ăn đưa vào miệng ngay ngắn, không bị lật ngược chiếc thìa làm đổ thức ăn không?' }, { id: 14, dom: 'fm', t: 'Bé có tự lật từng trang sách một (mỗi lần chỉ lật 1 trang giấy) khi xem sách không?' }, { id: 15, dom: 'fm', t: 'Bé có biết xoay cổ tay để vặn mở nắp lọ nhỏ, xoay tay nắm cửa hoặc vặn dây cót đồ chơi không?' }, { id: 16, dom: 'fm', t: 'Bé có tự bật hoặc tắt công tắc đèn gắn trên tường được không?' }, { id: 17, dom: 'fm', t: 'Bé có xếp chồng được một tháp cao gồm 6 – 7 khối gỗ vuông nhỏ đứng vững không?' }, { id: 18, dom: 'fm', t: 'Bé có biết xâu được ít nhất 2 – 3 hạt gỗ lớn hoặc ống nhựa qua một sợi dây giày có đầu cứng không?' }, // Giải quyết vấn đề (24m) { id: 19, dom: 'psv', t: 'Sau khi nhìn bạn vẽ một đường thẳng từ trên xuống dưới trên giấy, bé có cầm bút bắt chước vẽ một đường thẳng tương tự không?' }, { id: 20, dom: 'psv', t: 'Khi muốn lấy một đồ vật ở trên bàn cao, bé có biết tự đi kéo một chiếc ghế nhỏ lại rồi trèo lên ghế để lấy đồ không?' }, { id: 21, dom: 'psv', t: 'Sau khi bạn xếp 4 khối gỗ nối tiếp nhau làm đoàn tàu, bé có bắt chước xếp 4 khối gỗ thành hàng ngang giống bạn không?' }, { id: 22, dom: 'psv', t: 'Nếu bạn đưa cho bé một chiếc lọ có nắp vặn lỏng bên trong đựng bánh, bé có biết tự xoay mở nắp lọ để lấy bánh ra không?' }, { id: 23, dom: 'psv', t: 'Bé có chơi đóng vai giả vờ bằng cách dùng vật này thay thế cho vật kia (như lấy cái bát đội lên đầu giả làm mũ, hoặc lấy khối gỗ giả làm ô tô) không?' }, { id: 24, dom: 'psv', t: 'Bé có biết tự cất đồ chơi vào đúng chỗ quen thuộc (như bỏ khối gỗ vào hộp, cất sách lên kệ) khi kết thúc giờ chơi không?' }, // Cá nhân - Xã hội (24m) { id: 25, dom: 'psc', t: 'Bé có tự cầm cốc một mình uống nước rồi đặt xuống bàn mà không làm đổ nước nữa không?' }, { id: 26, dom: 'psc', t: 'Bé có chơi giả vờ chăm sóc búp bê hoặc thú bông (như đút cho ăn, đắp chăn cho ngủ, đặt ngồi bô) không?' }, { id: 27, dom: 'psc', t: 'Bé có tự dùng dĩa/nĩa hoặc thìa để xiên/xúc thức ăn tự lập trong bữa ăn không?' }, { id: 28, dom: 'psc', t: 'Khi chơi gần các bạn nhỏ khác, bé có thích ngồi chơi những món đồ chơi giống như các bạn bên cạnh đang chơi không?' }, { id: 29, dom: 'psc', t: 'Bé có tự đẩy các loại đồ chơi có bánh xe lớn (như xe đẩy siêu thị đồ chơi, xe nôi búp bê) đi vòng quanh và biết bẻ lái tránh chướng ngại vật không?' }, { id: 30, dom: 'psc', t: 'Bé có biết gọi bạn là "Mẹ / Bố" hoặc xưng tên mình khi nhìn thấy ảnh chụp của hai mẹ con không?' } ] }, m36: { code: 'm36', label: '🧒 Mốc 36 Tháng (34 tháng 16 ngày – 38 tháng 30 ngày • 3 Tuổi)', cutoffs: { com: { cut: 30.99, mon: 41.50 }, gm: { cut: 36.99, mon: 46.20 }, fm: { cut: 18.07, mon: 31.80 }, psv: { cut: 30.29, mon: 40.80 }, psc: { cut: 35.33, mon: 43.90 } }, items: [ // Giao tiếp (36m) { id: 1, dom: 'com', t: 'Khi bạn hỏi, bé có chỉ đúng được ít nhất 7 bộ phận cơ thể (như đầu, tóc, mắt, mũi, miệng, tai, tay, bụng, chân, đầu gối) không?' }, { id: 2, dom: 'com', t: 'Bé có nói được các câu hoàn chỉnh gồm từ 3 đến 4 từ trở lên không?' }, { id: 3, dom: 'com', t: 'Nếu bạn yêu cầu, bé có đặt được một cuốn sách "LÊN TRÊN bàn", "XUỐNG DƯỚI ghế" hoặc "BÊN CẠNH hộp" đúng theo lời bạn nói không?' }, { id: 4, dom: 'com', t: 'Khi xem tranh một con vật/người đang chạy hoặc đang ăn và bạn hỏi "Ai đang làm gì đây?", bé có trả lời được cả tên và hành động (như "Con chó đang chạy") không?' }, { id: 5, dom: 'com', t: 'Khi bạn cầm một chiếc khóa kéo trên áo và hỏi "Con đang làm gì đây?", bé có dùng được các từ chỉ hành động đang diễn ra ("Con đang kéo khóa / mở áo") không?' }, { id: 6, dom: 'com', t: 'Khi bạn hỏi "Tên đầy đủ ( cả họ và tên) của con là gì?", bé có trả lời đúng họ và tên của mình không?' }, // Vận động thô (36m) { id: 7, dom: 'gm', t: 'Bé có đứng co một chân lên và giữ thăng bằng trên một chân còn lại được khoảng 1 – 2 giây mà không cần vịn vào đâu không?' }, { id: 8, dom: 'gm', t: 'Khi đứng yên, bé có biết vung tay từ trên cao qua đầu để ném quả bóng về phía trước được ít nhất 1.5 mét không?' }, { id: 9, dom: 'gm', t: 'Bé có thể chụm hai chân bật nhảy xa về phía trước được một khoảng ít nhất 15 – 20 cm không?' }, { id: 10, dom: 'gm', t: 'Bé có tự bước lên cầu thang bằng cách bước luân phiên từng chân (mỗi bậc cầu thang đặt 1 bàn chân như người lớn) không?' }, { id: 11, dom: 'gm', t: 'Bé có biết ngồi lên xe đạp 3 bánh và dùng hai bàn chân nhấn bàn đạp để xe lăn bánh tiến về phía trước không?' }, { id: 12, dom: 'gm', t: 'Bé có thể tự bước lên và xuống cầu thang vững vàng mà không cần vịn vào tường hay lan can không?' }, // Vận động tinh (36m) { id: 13, dom: 'fm', t: 'Sau khi nhìn bạn vẽ một đường thẳng ngang trên giấy, bé có cầm bút vẽ lại được một đường ngang tương tự không?' }, { id: 14, dom: 'fm', t: 'Bé có tự xâu được các hạt gỗ/nhựa vào một sợi dây nhỏ thành chuỗi vòng không?' }, { id: 15, dom: 'fm', t: 'Sau khi nhìn thấy bức vẽ hình tròn của bạn, bé có tự vẽ lại được một hình tròn khép kín trên giấy không?' }, { id: 16, dom: 'fm', t: 'Bé có biết cầm kéo trẻ em và nhấp kéo mở ra – khép lại để cắt vào mép tờ giấy không?' }, { id: 17, dom: 'fm', t: 'Khi vẽ, bé có cầm bút bằng ngón cái và các ngón tay (giống tư thế cầm bút của người lớn) thay vì nắm chặt cả nắm đấm không?' }, { id: 18, dom: 'fm', t: 'Sau khi nhìn bạn vẽ hình chữ thập (+), bé có cố gắng vẽ một đường dọc và một đường ngang cắt nhau tạo thành dấu cộng (+) không?' }, // Giải quyết vấn đề (36m) { id: 19, dom: 'psv', t: 'Khi bạn xếp mẫu 3 khối gỗ tạo thành hình "Cây cầu" (2 khối ở dưới cách nhau một khe nhỏ và 1 khối bắc ngang ở trên), bé có xếp lại được cây cầu giống bạn không?' }, { id: 20, dom: 'psv', t: 'Khi bạn vẽ một hình người chưa có chân và hỏi "Còn thiếu cái gì đây?", bé có nhận ra và nói đúng phần bị thiếu không?' }, { id: 21, dom: 'psv', t: 'Nếu bạn đọc chậm rãi 2 chữ số (ví dụ: "3 - 7" hoặc "5 - 2") và bảo bé nhắc lại, bé có đọc lại đúng theo thứ tự đó không?' }, { id: 22, dom: 'psv', t: 'Khi bạn chỉ vào hai vòng tròn (1 to, 1 nhỏ) và hỏi "Cái nào TO hơn?", bé có chỉ đúng không?' }, { id: 23, dom: 'psv', t: 'Bé có thích chơi hóa trang (như đội mũ của bố, đeo túi của mẹ) để đóng giả làm bố/mẹ/bác sĩ không?' }, { id: 24, dom: 'psv', t: 'Nếu bạn đọc chậm 3 chữ số (ví dụ: "4 - 7 - 2"), bé có nhắc lại được đúng cả 3 số theo thứ tự không?' }, // Cá nhân - Xã hội (36m) { id: 25, dom: 'psc', t: 'Bé có tự dùng thìa xúc ăn thành thạo mà hầu như không làm rơi vãi thức ăn ra ngoài nữa không?' }, { id: 26, dom: 'psc', t: 'Bé có tự mặc được áo khoác mở ngực hoặc áo sơ mi mà không cần bạn giúp xỏ tay áo không?' }, { id: 27, dom: 'psc', t: 'Khi bạn hỏi "Con là con trai hay con gái?", bé có trả lời đúng giới tính của mình không?' }, { id: 28, dom: 'psc', t: 'Bé có biết chờ đến lượt của mình khi tham gia trò chơi cùng người lớn hoặc các bạn khác không?' }, { id: 29, dom: 'psc', t: 'Bé có tự kéo quần dài/quần đùi xuống khi đi vệ sinh và tự kéo quần lên lại không?' }, { id: 30, dom: 'psc', t: 'Bé có kể được tên của ít nhất một người bạn thân cùng lớp hoặc hàng xóm không?' } ] }, m48: { code: 'm48', label: '🎒 Mốc 48 Tháng (45 – 50 tháng 30 ngày • 4 Tuổi)', cutoffs: { com: { cut: 30.72, mon: 42.10 }, gm: { cut: 32.78, mon: 43.60 }, fm: { cut: 15.81, mon: 30.60 }, psv: { cut: 31.30, mon: 42.50 }, psc: { cut: 26.60, mon: 39.20 } }, items: [ // Giao tiếp (48m) { id: 1, dom: 'com', t: 'Bé có kể được tên ít nhất 3 sự vật thuộc cùng một nhóm danh mục (ví dụ: "Kể cho mẹ nghe tên 3 con vật / 3 món đồ ăn") không?' }, { id: 2, dom: 'com', t: 'Khi bạn hỏi "Con dùng cái gì để mô tả con voi?", bé có dùng được ít nhất 2 từ chỉ đặc điểm (như "Con voi to, có cái vòi dài") không?' }, { id: 3, dom: 'com', t: 'Bé có sử dụng đúng các từ chỉ kết thúc ở quá khứ ("đã... rồi") và tương lai ("sẽ...") trong câu nói hàng ngày không?' }, { id: 4, dom: 'com', t: 'Bé có thực hiện đúng một chuỗi gồm 3 yêu cầu liên tiếp không liên quan nhau (như "Con vỗ tay, rồi đi ra cửa, rồi ngồi xuống") không?' }, { id: 5, dom: 'com', t: 'Bé có nói được các câu đầy đủ gồm tất cả các từ liên kết (như "Con muốn đi công viên VỚI bố BỞI VÌ...") không?' }, { id: 6, dom: 'com', t: 'Bé có trả lời hợp lý các câu hỏi tình huống "Con sẽ làm gì khi con bị đói / khi con bị mệt / khi con bị lạnh?" không?' }, // Vận động thô (48m) { id: 7, dom: 'gm', t: 'Khi bạn đứng cách bé khoảng 1.5 mét và ném một quả bóng lớn tới, bé có dùng hai bàn tay bắt gọn được quả bóng không?' }, { id: 8, dom: 'gm', t: 'Bé có tự leo lên các bậc thang của cầu trượt cao ở công viên và trượt xuống mà không cần giúp đỡ không?' }, { id: 9, dom: 'gm', t: 'Khi đang chạy, bé có thể bật nhảy lên cao về phía trước mà không bị giảm tốc độ hay ngã không?' }, { id: 10, dom: 'gm', t: 'Bé có biết nhảy lò cò trên một chân được ít nhất 2 – 3 bước liên tiếp không?' }, { id: 11, dom: 'gm', t: 'Bé có thể chụm hai chân bật nhảy xa về phía trước được ít nhất 50 cm không?' }, { id: 12, dom: 'gm', t: 'Bé có đứng thăng bằng vững vàng trên một chân trong ít nhất 5 giây mà không cần vịn tay không?' }, // Vận động tinh (48m) { id: 13, dom: 'fm', t: 'Bé có tự ghép hoàn chỉnh được các bộ xếp hình tranh (puzzle) gồm từ 5 đến 7 mảnh rời nhau không?' }, { id: 14, dom: 'fm', t: 'Bé có dùng kéo cắt đứt đôi một tờ giấy theo một đường kẻ thẳng từ đầu này sang đầu kia (lệch không quá 1 cm) không?' }, { id: 15, dom: 'fm', t: 'Khi nhìn mẫu, bé có vẽ sao chép lại được cả 3 hình: Hình tròn (○), Hình chữ thập (+) và Hình vuông (□) không?' }, { id: 16, dom: 'fm', t: 'Bé có tự mở và cài được ít nhất một chiếc cúc áo/khuy quần vừa tay không?' }, { id: 17, dom: 'fm', t: 'Bé có tự vẽ được hình một người có ít nhất 3 – 4 bộ phận cơ thể rõ ràng (đầu, mắt, thân/chân, tay) không?' }, { id: 18, dom: 'fm', t: 'Bé có tô màu vào bên trong một hình vẽ sẵn mà hầu như không bị lem ra ngoài đường viền không?' }, // Giải quyết vấn đề (48m) { id: 19, dom: 'psv', t: 'Khi bạn nói "Mẹ có một con mèo nhỏ, còn bạn Lan có một con mèo TO HƠN", bé có chỉ đúng vào bức tranh con mèo to hơn không?' }, { id: 20, dom: 'psv', t: 'Khi bạn đặt 5 đồ vật thành hàng trên bàn và hỏi "Có bao nhiêu cái đây?", bé có dùng tay chỉ đếm từng cái từ 1 đến 5 đúng số lượng không?' }, { id: 21, dom: 'psv', t: 'Khi bạn chỉ vào các đồ vật, bé có gọi đúng tên ít nhất 4 màu sắc khác nhau (Đỏ, Vàng, Xanh dương, Xanh lá...) không?' }, { id: 22, dom: 'psv', t: 'Bé có biết phân biệt và chỉ đúng đâu là "Cái nhỏ nhất" trong số 3 đồ vật có kích thước khác nhau không?' }, { id: 23, dom: 'psv', t: 'Bé có chơi đóng vai giả vờ theo kịch bản phức tạp cùng bạn bè (như chơi bán hàng, chơi khám bệnh) không?' }, { id: 24, dom: 'psv', t: 'Bé có tự đếm vẹt liên tục từ 1 đến 10 theo đúng thứ tự không?' }, // Cá nhân - Xã hội (48m) { id: 25, dom: 'psc', t: 'Bé có tự lấy kem và tự đánh răng cho mình mà chỉ cần người lớn kiểm tra nhẹ lại không?' }, { id: 26, dom: 'psc', t: 'Bé có tự phục vụ một món ăn nhẹ đơn giản (như tự rót nước từ bình nhỏ ra cốc hoặc tự lấy bánh/sữa chua ăn) không?' }, { id: 27, dom: 'psc', t: 'Bé có kể được tên của ít nhất 2 người bạn cùng chơi ở lớp hoặc hàng xóm không?' }, { id: 28, dom: 'psc', t: 'Bé có tự rửa tay và mặt bằng xà phòng rồi tự lấy khăn lau khô mà không cần giúp đỡ không?' }, { id: 29, dom: 'psc', t: 'Bé có tự mặc và tự cởi toàn bộ quần áo của mình (trừ việc buộc dây giày khó) không?' }, { id: 30, dom: 'psc', t: 'Khi được hỏi, bé có trả lời đúng được ít nhất 3 trong 4 thông tin cá nhân: Họ tên, Tuổi, Tên bố mẹ, Tên thành phố/quận nơi ở không?' } ] }, m60: { code: 'm60', label: '🎓 Mốc 60 Tháng (57 – 66 tháng • 5 Tuổi)', cutoffs: { com: { cut: 33.19, mon: 43.80 }, gm: { cut: 31.28, mon: 42.30 }, fm: { cut: 26.54, mon: 38.60 }, psv: { cut: 29.99, mon: 41.20 }, psc: { cut: 39.07, mon: 47.00 } }, items: [ // Giao tiếp (60m) { id: 1, dom: 'com', t: 'Bé có thực hiện đúng một chuỗi 3 mệnh lệnh hoàn toàn độc lập mà không cần bất kỳ cử chỉ gợi ý nào của bạn không?' }, { id: 2, dom: 'com', t: 'Bé có thường xuyên nói các câu hoàn chỉnh dài từ 4 đến 5 từ trở lên với đầy đủ ngữ pháp không?' }, { id: 3, dom: 'com', t: 'Khi kể lại một chuyện đã xảy ra ở lớp hôm qua, bé có dùng đúng các từ chỉ thời gian quá khứ không?' }, { id: 4, dom: 'com', t: 'Bé có sử dụng các từ so sánh như "Nặng hơn", "Mạnh hơn", "Dài hơn", "Nhanh hơn" trong câu nói hàng ngày không?' }, { id: 5, dom: 'com', t: 'Bé có trả lời đúng cả 2 câu hỏi suy luận: "Con làm gì khi khát nước?" và "Tại sao chúng ta phải mặc áo ấm khi trời lạnh?" không?' }, { id: 6, dom: 'com', t: 'Bé có thể lặp lại chính xác các câu dài 9 – 10 âm tiết mà không bỏ sót từ nào khi bạn đọc mẫu không?' }, // Vận động thô (60m) { id: 7, dom: 'gm', t: 'Khi đứng yên, bé có vung tay ném một quả bóng nhỏ đi xa được ít nhất 2 – 3 mét trúng hướng người đối diện không?' }, { id: 8, dom: 'gm', t: 'Bé có bắt gọn được một quả bóng lớn bằng hai bàn tay (mà không cần ôm ghì vào ngực) khi đứng cách bạn 2 mét không?' }, { id: 9, dom: 'gm', t: 'Bé có đứng thăng bằng vững vàng trên một chân trong ít nhất 5 – 8 giây mà không bị nghiêng ngả không?' }, { id: 10, dom: 'gm', t: 'Bé có bước đi nối gót (mũi bàn chân sau chạm sát vào gót bàn chân trước) trên một đường kẻ thẳng dài 4.5 mét không?' }, { id: 11, dom: 'gm', t: 'Bé có nhảy lò cò trên một chân tiến về phía trước được một đoạn dài từ 1.5 đến 2 mét không?' }, { id: 12, dom: 'gm', t: 'Bé có biết nhảy chân sáo (Skipping — bật nhảy luân phiên từng chân nhịp nhàng) không?' }, // Vận động tinh (60m) { id: 13, dom: 'fm', t: 'Bé có tự đồ theo một đường kẻ thẳng trên giấy bằng bút chì mà không bị lệch khỏi đường kẻ quá 2 lần không?' }, { id: 14, dom: 'fm', t: 'Bé có tự vẽ được hình một người có ít nhất 6 bộ phận cơ thể (đầu, thân, hai tay, hai chân, mắt, mũi, miệng) không?' }, { id: 15, dom: 'fm', t: 'Bé có dùng kéo cắt rời một tờ giấy theo đúng đường kẻ thẳng từ mép này sang mép kia mà không bị rách giấy không?' }, { id: 16, dom: 'fm', t: 'Khi nhìn mẫu, bé có tự vẽ sao chép lại được cả 3 hình học: Hình chữ thập (+), Hình vuông (□) và Hình tam giác (△) không?' }, { id: 17, dom: 'fm', t: 'Khi nhìn các chữ cái viết mẫu (như V, H, T, C, A), bé có tự cầm bút chép lại được các chữ cái đó ngay ngắn không?' }, { id: 18, dom: 'fm', t: 'Bé có tự viết được tên của chính mình (hoặc ít nhất 4 chữ cái đầu trong tên) mà không cần nhìn mẫu không?' }, // Giải quyết vấn đề (60m) { id: 19, dom: 'psv', t: 'Khi bạn chỉ vào 5 đồ vật khác kích cỡ và hỏi "Cái nào NHỎ NHẤT?", bé có chỉ đúng ngay không?' }, { id: 20, dom: 'psv', t: 'Khi bạn nói các câu khuyết từ trái nghĩa: "Ban ngày thì sáng, ban đêm thì [tối]", "Con rùa đi chậm, con thỏ chạy [nhanh]", bé có điền đúng từ không?' }, { id: 21, dom: 'psv', t: 'Bé có tự đếm trơn tru từ 1 đến 15 mà không bị nhầm hay bỏ sót số nào không?' }, { id: 22, dom: 'psv', t: 'Khi nhìn vào các thẻ chữ số từ 1 đến 10, bé có đọc đúng tên ít nhất 5 chữ số bất kỳ không?' }, { id: 23, dom: 'psv', t: 'Bé có gọi đúng tên của ít nhất 4 chữ cái trong bảng chữ cái khi bạn chỉ ngẫu nhiên không?' }, { id: 24, dom: 'psv', t: 'Khi xếp 4 đồ vật thành hàng ngang, bé có hiểu và chỉ đúng đâu là "Cái ĐẦU TIÊN", "Cái Ở GIỮA" và "Cái CUỐI CÙNG" không?' }, // Cá nhân - Xã hội (60m) { id: 25, dom: 'psc', t: 'Bé có tự dùng thìa và nĩa/dĩa ăn uống sạch sẽ, lịch sự như người lớn mà không làm vương vãi thức ăn không?' }, { id: 26, dom: 'psc', t: 'Bé có tự rửa tay và mặt bằng xà phòng rồi lau khô hoàn toàn độc lập trước khi ăn không?' }, { id: 27, dom: 'psc', t: 'Bé có trả lời đúng ít nhất 4 thông tin cá nhân: Họ và tên, Tuổi, Địa chỉ nhà/Phường xã, Số điện thoại bố mẹ hoặc Ngày sinh không?' }, { id: 28, dom: 'psc', t: 'Bé có tự mặc và tự cởi quần áo, tự cài cúc áo và kéo khóa quần mà không cần bất kỳ sự trợ giúp nào không?' }, { id: 29, dom: 'psc', t: 'Bé có tự đi vệ sinh hoàn toàn độc lập (tự vào nhà vệ sinh, tự lau chùi sạch sẽ, xả nước và rửa tay) không?' }, { id: 30, dom: 'psc', t: 'Bé có biết luân phiên chờ đến lượt, chia sẻ đồ chơi và tuân thủ luật chơi khi chơi nhóm cùng các bạn đồng trang lứa không?' } ] } }; // 6 Câu hỏi Tổng quát (Overall Red Flags - Phần cuối của mọi phiếu ASQ-3) const overallQuestions = [ { id: 'ov1', t: '1. Bạn có nghi ngờ bé gặp vấn đề về thính lực (nghe kém hoặc gọi tên không quay lại) không?' }, { id: 'ov2', t: '2. Bạn có nghĩ rằng cách bé nói chuyện hoặc phát âm chậm hơn rõ rệt so với các bé cùng tuổi không?' }, { id: 'ov3', t: '3. Bạn có lo lắng rằng bé không hiểu được phần lớn những gì bạn nói với bé không?' }, { id: 'ov4', t: '4. Bạn có nghĩ rằng cách bé đi đứng, chạy nhảy hoặc sử dụng đôi bàn tay bị cứng nhắc, vụng về hoặc lệch hai bên không?' }, { id: 'ov5', t: '5. Bạn có lo lắng về hành vi, giao tiếp ánh mắt hoặc cách bé tương tác xã hội với người xung quanh không?' }, { id: 'ov6', t: '6. Có điều gì khác về sức khỏe, giấc ngủ hoặc sự phát triển của bé khiến bạn cảm thấy bất an không?' } ]; let currentForm = 'm24'; // 'm6' | 'm12' | 'm18' | 'm24' | 'm36' | 'm48' | 'm60' let answersByForm = { m6: {}, m12: {}, m18: {}, m24: {}, m36: {}, m48: {}, m60: {} }; let overallConcerns = {}; // true = Có lo ngại, false = Không lo ngại let filterDom = 'all'; let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .aq3-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .aq3-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .aq3-inner { padding: 24px; max-width: 980px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .aq3-wrap.is-fullscreen .aq3-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .aq3-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 0 rgba(37, 99, 235, 0.4); } 70% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 10px rgba(37, 99, 235, 0); } 100% { box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45), 0 0 0 0 rgba(37, 99, 235, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #1d4ed8 0%, #2563eb 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(37, 99, 235, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Header */ .aq3-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .aq3-header-text { flex: 1 1 260px; } .aq3-title { font-size: 21px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .aq3-desc { font-size: 14px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #eff6ff; color: #1d4ed8; border: 1px solid #bfdbfe; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #2563eb; color: #ffffff; border-color: #2563eb; } /* Bộ chọn Mốc Tháng Tuổi ASQ-3 */ .age-selector-box { background: #f1f5f9; padding: 12px; border-radius: 12px; margin-bottom: 16px; } .age-lbl { font-size: 12px; font-weight: 800; color: #0f172a; text-transform: uppercase; margin-bottom: 8px; display: block; } .age-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 6px; } .age-btn { padding: 8px 6px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 700; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .age-btn:hover { border-color: #2563eb; } .age-btn.active { background: #2563eb; border-color: #2563eb; color: #ffffff; box-shadow: 0 3px 10px rgba(37, 99, 235, 0.25); } /* Controls */ .aq3-presets { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; margin-bottom: 14px; } .aq3-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; touch-action: manipulation; } .aq3-pbtn:hover { background: #f1f5f9; } .aq3-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } .aq3-domain-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 16px; } .aq3-dtab { padding: 6px 12px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .aq3-dtab.active { background: #2563eb; color: #ffffff; border-color: #2563eb; } /* Sticky Dashboard: 5 Lĩnh vực ASQ-3 */ .aq3-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .aq3-wrap.is-fullscreen .aq3-dash { top: 58px; } .aq3-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .aq3-score-big { font-size: 20px; font-weight: 800; line-height: 1.2; } .aq3-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .aq3-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .aq3-pillars { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; font-size: 11.5px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .aq3-pillar-box { background: #1e293b; padding: 7px 9px; border-radius: 8px; border-left: 3px solid #475569; } .aq3-pillar-box.zone-white { border-left-color: #10b981; } .aq3-pillar-box.zone-gray { border-left-color: #f59e0b; background: rgba(245, 158, 11, 0.15); } .aq3-pillar-box.zone-black { border-left-color: #ef4444; background: rgba(239, 68, 68, 0.16); } .aq3-pillar-val { font-weight: 800; color: #ffffff; font-size: 13px; display: block; margin-top: 2px; } /* Danh sách 30 câu hỏi */ .aq3-item { border: 1px solid #e2e8f0; border-radius: 10px; padding: 14px 16px; margin-bottom: 10px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 8px; } .aq3-item.ans-10 { border-color: #a7f3d0; background: #f0fdf4; } .aq3-item.ans-5 { border-color: #fde68a; background: #fffbeb; } .aq3-item.ans-0 { border-color: #fca5a5; background: #fff5f5; } .aq3-item-title { font-size: 14.5px; font-weight: 600; color: #1e293b; } .aq3-tags { display: flex; flex-wrap: wrap; gap: 6px; } .aq3-tag { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .aq3-ans-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; } .aq3-abtn { padding: 8px 8px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 700; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .aq3-abtn:hover { border-color: #64748b; } .aq3-abtn.sel-10 { background: #10b981; border-color: #10b981; color: #ffffff; } .aq3-abtn.sel-5 { background: #f59e0b; border-color: #f59e0b; color: #ffffff; } .aq3-abtn.sel-0 { background: #ef4444; border-color: #ef4444; color: #ffffff; } /* Bảng Tóm tắt Thông tin ASQ-3 (Biểu đồ Vùng Đen - Vùng Xám - Vùng Trắng) */ .aq3-summary-card { margin-top: 20px; padding: 16px 18px; border-radius: 12px; background: #ffffff; border: 1px solid #e2e8f0; overflow-x: auto; } .aq3-sum-table { width: 100%; border-collapse: collapse; font-size: 13px; min-width: 620px; } .aq3-sum-table th, .aq3-sum-table td { border: 1px solid #cbd5e1; padding: 8px 10px; text-align: center; } .aq3-sum-table th { background: #f1f5f9; font-weight: 700; color: #0f172a; } .aq3-result-box { margin-top: 16px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #2563eb; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 740px) { .aq3-inner { padding: 14px; } .aq3-title { font-size: 18px; } .age-grid { grid-template-columns: repeat(3, 1fr); } .aq3-pillars { grid-template-columns: 1fr 1fr; } .aq3-ans-grid { grid-template-columns: 1fr; } .aq3-pbtn.reset { margin-left: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
Bộ Câu Hỏi Sàng Lọc Phát Triển Theo Độ Tuổi & Giai Đoạn ASQ-3 (5 Lĩnh Vực • 1 – 66 Tháng)
Công cụ sàng lọc chuẩn hóa của Đại học Oregon (Squires & Bricker, 2009) trên 5 lĩnh vực (mỗi lĩnh vực 6 câu = 60 điểm): Giao tiếp, Vận động Thô, Vận động Tinh, Giải quyết Vấn đề và Cá nhân – Xã hội. Hệ thống tự động đối chiếu điểm số của bé với Ngưỡng điểm cắt chuẩn (-2 SD) và Vùng giám sát (-1 SD đến -2 SD) của từng độ tuổi.
| Lĩnh vực Phát triển ASQ-3 | Điểm Cắt (-2 SD) | Vùng Giám Sát (-1 đến -2 SD) | Điểm Của Bé (0 – 60đ) | Phân Vùng Kết Quả Lâm Sàng |
|---|
• Bé có ${blackCount} lĩnh vực rơi xuống dưới điểm cắt chuẩn (-2 SD): ${blackNames.join(', ')} ${grayCount > 0 ? `(và ${grayCount} lĩnh vực trong Vùng giám sát: ${grayNames.join(', ')})` : ''}.
• Số cờ đỏ tổng quát (Overall Red Flags): ${redFlagCount}/6 mối lo ngại từ phụ huynh.
• Hướng xử trí chuẩn theo Bộ Y tế & Đại học Oregon:
1. Nếu điểm rơi vào Vùng Đen ở lĩnh vực Giao tiếp (${sums.com}/60đ) và/hoặc Cá nhân – Xã hội (${sums.psc}/60đ) (đặc biệt ở trẻ 16–30 tháng), bắt buộc phải thực hiện thêm bảng sàng lọc tự kỷ M-CHAT-R/F / STAT ngay lập tức.
2. Chuyển gửi trẻ khám chuyên khoa Nhi Phát triển / Tâm bệnh để đánh giá chẩn đoán xác định bằng Bayley-III / KSPD / PEP-3 / ADOS-2 và can thiệp sớm. `; } else if (grayCount > 0 || redFlagCount > 0) { badgeColor = '#f59e0b'; badgeTxt = `VÙNG GIÁM SÁT / CẦN THEO DÕI (${grayCount} Lĩnh vực Xám • ${redFlagCount} Cờ đỏ)`; analysis = ` Kết luận Sàng lọc ASQ-3 (${fCfg.label}) — VÙNG GIÁM SÁT (Monitoring Zone • Từ -1 SD đến -2 SD):
• Bé có ${grayCount} lĩnh vực nằm trong Vùng Xám (Giám sát): ${grayNames.join(', ') || 'Không có'} và ${redFlagCount} mối lo ngại ở phần Câu hỏi Tổng quát.
• Hướng xử trí chuẩn: Hướng dẫn phụ huynh thực hiện các hoạt động trò chơi kích thích phát triển tại nhà tập trung vào các câu đang đạt mức "Thỉnh thoảng (5đ)" hoặc "Chưa (0đ)", sau đó sàng lọc lại bằng ASQ-3 sau 1 đến 2 tháng. Nếu có cờ đỏ về ngôn ngữ/giao tiếp mắt, nên làm thêm M-CHAT-R/F ngay. `; } else { badgeColor = '#10b981'; badgeTxt = 'PHÁT TRIỂN ĐÚNG TIẾN ĐỘ (ON SCHEDULE)'; analysis = ` Kết luận Sàng lọc ASQ-3 (${fCfg.label}) — PHÁT TRIỂN ĐÚNG TIẾN ĐỘ (Tất cả 5/5 Lĩnh vực nằm ở Vùng Trắng):
• Điểm số của bé ở cả 5 lĩnh vực (Giao tiếp: ${sums.com}đ, Vận động Thô: ${sums.gm}đ, Vận động Tinh: ${sums.fm}đ, Giải quyết Vấn đề: ${sums.psv}đ, Cá nhân – Xã hội: ${sums.psc}đ) đều cao hơn ngưỡng giám sát chuẩn.
• Khuyến nghị: Tiếp tục duy trì các hoạt động vui chơi tương tác phong phú theo lứa tuổi và hẹn sàng lọc lại ở mốc tháng tuổi kế tiếp của ASQ-3. `; } scoreBadge.textContent = badgeTxt; scoreBadge.style.background = badgeColor; scoreBadge.style.color = '#ffffff'; resultBox.style.borderLeftColor = badgeColor; resultBox.innerHTML = analysis; updateFloatingFabVisibility(); } function applyPresetToForm(formKey, type) { const fCfg = ageForms[formKey]; const curAns = {}; overallConcerns = {}; if (type === 'reset') { fCfg.items.forEach(it => { curAns[it.id] = 0; }); } else if (type === 'typical') { // Đúng tiến độ (50 - 60 điểm mỗi lĩnh vực) fCfg.items.forEach((it, idx) => { curAns[it.id] = (idx % 6 === 5) ? 5 : 10; }); } else if (type === 'monitor') { // Vùng giám sát (35 điểm ở Giao tiếp & Giải quyết vấn đề) fCfg.items.forEach((it, idx) => { const pos = idx % 6; if (it.dom === 'com' || it.dom === 'psv') { curAns[it.id] = (pos < 2) ? 10 : ((pos < 5) ? 5 : 0); // 35đ } else { curAns[it.id] = (pos { const pos = idx % 6; if (it.dom === 'com') { curAns[it.id] = (pos === 0) ? 10 : ((pos === 1) ? 5 : 0); // 15đ (Vùng Đen) } else if (it.dom === 'psc') { curAns[it.id] = (pos <= 1) ? 10 : 0; // 20đ (Vùng Đen) } else if (it.dom === 'psv') { curAns[it.id] = (pos <= 2) ? 10 : ((pos === 3) ? 5 : 0); // 35đ (Vùng Xám) } else { curAns[it.id] = (pos < 5) ? 10 : 0; // 50đ (Vùng Trắng) } }); overallConcerns['ov2'] = true; overallConcerns['ov5'] = true; } answersByForm[formKey] = curAns; } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); aq3Wrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { aq3Wrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 980px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } shadow.querySelectorAll('#ageGrid .age-btn').forEach(function(btn) { btn.onclick = function() { currentForm = this.getAttribute('data-form'); shadow.querySelectorAll('#ageGrid .age-btn').forEach(b => b.classList.remove('active')); this.classList.add('active'); renderItems(); updateSummary(); }; }); shadow.querySelectorAll('.aq3-pbtn').forEach(function(btn) { btn.onclick = function() { const pType = this.getAttribute('data-preset'); applyPresetToForm(currentForm, pType); renderItems(); updateSummary(); }; }); shadow.querySelectorAll('#domainTabs .aq3-dtab').forEach(function(tab) { tab.onclick = function() { filterDom = this.getAttribute('data-dom'); shadow.querySelectorAll('#domainTabs .aq3-dtab').forEach(t => t.classList.remove('active')); this.classList.add('active'); renderItems(); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); // Khởi tạo sẵn dữ liệu mẫu cho cả 7 mốc tuổi để chuyển tab xem được ngay ['m6', 'm12', 'm18', 'm24', 'm36', 'm48', 'm60'].forEach(fKey => { applyPresetToForm(fKey, 'asd_delay'); }); renderItems(); updateSummary(); })();
ASQ-3 (Ages & Stages Questionnaires, Third Edition — Bộ Câu hỏi Sàng lọc Phát triển Theo Độ tuổi và Giai đoạn, Phiên bản 3) là công cụ sàng lọc phát triển sớm do phụ huynh tự thực hiện phổ biến nhất thế giới hiện nay (và được Bộ Y tế Việt Nam cũng như Tổ chức Y tế Thế giới WHO khuyến nghị sử dụng rộng rãi). Công cụ do Giáo sư Jane Squiresvà Diane Bricker tại Đại học Oregon (Hoa Kỳ) phát triển (xuất bản bản thứ 3 năm 2009 bởi Brookes Publishing).
Nếu như Denver II hay Bayley-III đòi hỏi chuyên gia trực tiếp thực hiện tại phòng khám, thì ASQ-3 tận dụng chính nguồn dữ liệu quý giá nhất là sự quan sát hàng ngày của cha mẹ tại nhà để phát hiện sớm nguy cơ chậm phát triển trên cả 5 lĩnh vực chỉ trong 10 – 15 phút.
1. Tóm tắt cốt lõi về cấu trúc & Hệ thống tính điểm của ASQ-3
-
Độ tuổi áp dụng: Trẻ từ 1 tháng đến 66 tháng tuổi (5.5 tuổi), được chia thành 21 bộ câu hỏi theo từng mốc tháng tuổi (2, 4, 6, 8, 9, 10, 12, 14, 16, 18, 20, 22, 24, 27, 30, 33, 36, 42, 48, 54 và 60 tháng).
-
Cấu trúc 5 Lĩnh vực Phát triển (30 câu hỏi / mỗi độ tuổi): Mỗi bộ câu hỏi ở từng mốc tuổi đều bao gồm đúng 30 câu hỏi chia đều cho 5 lĩnh vực (mỗi lĩnh vực 6 câu), cộng thêm phần Câu hỏi Tổng quát (Overall — không tính điểm nhưng dùng để cảnh báo các dấu hiệu đỏ lâm sàng):
| Lĩnh vực đánh giá (Domain) | Số câu hỏi | Nội dung đánh giá trọng tâm | Điểm tối đa |
| 1. Giao tiếp(Communication) | 6 câu | Bập bẹ, quay đầu khi gọi tên, chỉ trỏ, hiểu mệnh lệnh, vốn từ đơn, nói cụm từ/câu và trả lời câu hỏi. | 60 điểm |
| 2. Vận động Thô(Gross Motor) | 6 câu | Kiểm soát đầu cổ, lẫy, ngồi, bò, đứng, đi, chạy, leo cầu thang, nhảy tại chỗ, đứng 1 chân, bắt/đá bóng. | 60 điểm |
| 3. Vận động Tinh(Fine Motor) | 6 câu | Phối hợp tay – mắt, cầm nắm hạt nhỏ (kẹp chì), lật trang sách, xếp khối gỗ, xâu hạt, cầm bút vẽ hình và cắt kéo. | 60 điểm |
| 4. Giải quyết Vấn đề(Problem Solving) | 6 câu | Tư duy nhận thức sớm: tìm đồ chơi bị giấu, nhìn trong gương, thả hình vào khuôn, chơi giả vờ, phân loại và đếm số. | 60 điểm |
| 5. Cá nhân – Xã hội(Personal-Social) | 6 câu | Giao tiếp mắt, mỉm cười, tự uống cốc/xúc thìa, tự cởi/mặc quần áo, rửa tay, đi vệ sinh và chơi luân phiên với bạn. | 60 điểm |
2. Quy tắc Chấm điểm (10 – 5 – 0) & Phân vùng Theo Độ lệch chuẩn (SD)
-
Thang điểm cho từng câu hỏi:
-
CÓ(Yes = 10 điểm): Trẻ đã thực hiện được kỹ năng đó thường xuyên, thành thạo. -
THỈNH THOẢNG(Sometimes = 5 điểm): Trẻ mới bắt đầu làm được đôi lúc hoặc mới chớm hình thành. -
CHƯA(Not Yet = 0 điểm): Trẻ chưa từng thực hiện được kỹ năng đó.
-
-
Tổng điểm mỗi lĩnh vực: Từ 0 đến 60 điểm (Mỗi lĩnh vực có 6 câu ×10 điểm=60 điểm).
-
3 Vùng Phân loại Chuẩn của ASQ-3 (Đối chiếu theo Điểm cắt – Cut-off Score tại từng độ tuổi):
-
🟢 Vùng Trắng — Phát triển Đúng tiến độ (Above Cut-off / On Schedule — Trên mốc ):Điểm số cao hơn ngưỡng giám sát. Trẻ phát triển bình thường theo tuổi.
-
🟡 Vùng Xám — Vùng Giám sát / Cần theo dõi (Monitoring Zone — Từ đến ): Điểm nằm sát ngưỡng cắt. Cần cung cấp các bài tập kích thích phát triển tại nhà và sàng lọc lại sau 1–2 tháng.
-
🔴 Vùng Đen — Dưới Điểm cắt / Nguy cơ Chậm phát triển (Below Cut-off — Dưới ):Điểm số rơi xuống dưới ngưỡng cắt chuẩn (chỉ gặp ở ~2.3% dân số). Cần chuyển gửi khám chuyên khoa ngay (kết hợp sàng lọc tự kỷ M-CHAT-R/F nếu rơi vào lĩnh vực Giao tiếp & Cá nhân – Xã hội, hoặc đánh giá chuyên sâu bằng Bayley-III / KSPD / PEP-3).
-
100 Bài can thiệp hành vi cho trẻ ptk
Đây là tài liệu được chia sẻ khá phổ biến và hữu ích cho bố mẹ nào muốn can thiệp cho con tại nhà.
Dậy con nói Nhóm câu Sinh hoạt Hàng ngày tại Nhà (Routine Words)
Trẻ tự kỷ là những đứa trẻ của “thói quen” (routines). Các con học và ghi nhớ cực kỳ tốt nếu các sự việc diễn ra theo một trình tự có thể đoán trước. Vì vậy, lồng ghép từ vựng vào các nếp sinh hoạt hàng ngày là cách dạy tự nhiên nhất, ít áp lực nhất và có tần suất lặp lại cao nhất.
Chúng ta sẽ chia Nhóm 4 thành 4 tiểu mục dựa trên các khung giờ sinh hoạt cố định trong ngày:
I, TẮM RỬA & ĐÁNH RĂNG (Vệ sinh thân thể)
Đây là hoạt động tiếp xúc với nhiều cảm giác (nước, nhiệt độ, bọt), rất dễ để dạy các từ miêu tả trạng thái.
1. Từ đơn (1 âm tiết)
-
Nhóm Danh từ (Đồ dùng & Bộ phận cơ thể):
-
Nước, chậu (thau), vòi, khăn.
-
Xà phòng (bông), kem, bàn chải.
-
Đầu, tóc, mặt, tay, chân, răng.
-
-
Nhóm Động từ (Hành động):
-
Tắm, gội, rửa, lau.
-
Chà (đánh), xoa, dội, xả.
-
Bật, tắt (vòi nước).
-
-
Nhóm Tính từ / Cảm giác:
-
Sạch, bẩn (dơ), ướt, khô.
-
Ấm, lạnh, nóng.
-
2. Câu 2 từ (Ghép Động từ/Tính từ + Danh từ)
-
Gọi tên hoạt động: Đi tắm, rửa mặt, đánh răng, gội đầu, rửa tay.
-
Yêu cầu/Miêu tả hành động: Bật nước, tắt nước, xoa xà phòng, lau mặt, lau khô.
-
Nêu cảm giác: Nước lạnh, nước nóng, tay sạch, mặt bẩn, ướt rồi.
II, THAY & MẶC QUẦN ÁO
Hoạt động này rèn luyện cả vận động tinh (kéo, xỏ) và ngôn ngữ.
1. Từ đơn (1 âm tiết)
-
Nhóm Danh từ:
-
Quần, áo, bỉm (tã), tất (vớ), giày, dép, mũ (nón).
-
-
Nhóm Động từ:
-
Mặc, cởi, xỏ, kéo, cài, tháo.
-
Lấy, cất.
-
-
Nhóm Tính từ:
-
Chật, rộng, đẹp.
-
2. Câu 2 từ
-
Yêu cầu trợ giúp/Thực hiện: Mặc áo, cởi quần, xỏ tất, đi giày, đội mũ.
-
Chi tiết hành động: Kéo lên, kéo xuống, cài cúc (nút).
-
Đánh giá tình trạng: Áo bẩn, quần ướt, áo đẹp, chật quá.
III, CHUẨN BỊ ĐI NGỦ & THỨC DẬY
Giờ đi ngủ cần sự tĩnh lặng, từ vựng nên ngắn gọn, êm ái để tạo nếp thư giãn cho não bộ của con.
1. Từ đơn (1 âm tiết)
-
Nhóm Danh từ:
-
Giường, gối, chăn (mền), quạt, đèn.
-
Gấu (bông), sách, truyện.
-
-
Nhóm Động từ:
-
Ngủ, thức, dậy, nằm.
-
Đắp (chăn), ôm, nhắm (mắt).
-
Tắt, bật (đèn).
-
Đọc, kể.
-
-
Nhóm Tính từ / Trạng thái:
-
Tối, sáng, mệt.
-
2. Câu 2 từ
-
Chuẩn bị môi trường: Tắt đèn, bật quạt, đắp chăn, lên giường.
-
Hành động đi ngủ: Đi ngủ, nằm xuống, nhắm mắt, ôm gấu.
-
Giao tiếp trước/sau khi ngủ: Đọc truyện, ngủ ngon, dậy đi, sáng rồi.
IV, DỌN DẸP & KẾT THÚC HOẠT ĐỘNG
Giúp con thiết lập tính kỷ luật và hiểu rõ quy luật “Có bắt đầu thì phải có kết thúc”.
1. Từ đơn (1 âm tiết)
-
Nhóm Danh từ:
-
Đồ chơi, rổ (giỏ), thùng, rác.
-
-
Nhóm Động từ:
-
Cất, dọn, nhặt, vứt.
-
Xếp, bỏ.
-
-
Nhóm Từ chức năng / Đánh giá:
-
Xong, hết, gọn, sạch.
-
2. Câu 2 từ
-
Thực hiện lệnh: Cất đồ, dọn đi, vứt rác, nhặt lên.
-
Thông báo hoàn thành: Xong rồi, hết rồi, sạch rồi.
💡 Chiến lược dạy: “Tạm dừng chuỗi hành động quen thuộc” (Sabotage the Routine)
Bởi vì sinh hoạt hàng ngày lặp đi lặp lại như một cái máy, trẻ sẽ quen thuộc đến mức… không cần mở miệng nói cũng được việc. Để kích thích con bật âm, cha mẹ cần phải “phá bĩnh” (sabotage) thói quen đó một chút.
Cách thực hiện (Ví dụ với việc mặc áo/quần):
-
Bình thường bạn sẽ tròng áo qua đầu rồi kéo xuống luôn cho con.
-
Hôm nay, bạn tròng áo qua đầu con (che khuất mắt) và DỪNG LẠI, giữ nguyên tay không kéo xuống.
-
Con bị vướng, con sẽ khó chịu và cố kéo áo xuống hoặc ớ lên.
-
Ngay lúc đó, bạn làm mẫu từ: “KÉO” (hoặc “Cởi”).
-
Nếu con cố gắng bắt chước nói “Kéo” (hoặc chỉ phát âm “K..”, “E…”), bạn lập tức kéo áo xuống giúp con và cười tươi: “Đúng rồi, Kéo xuống!”.
Hoặc ví dụ với việc tắm:
-
Đưa xà phòng cho con nhưng chưa xả nước, chờ con đòi hỏi hoặc nhìn bạn thắc mắc. Bạn làm mẫu từ “BẬT” (bật nước) hoặc “NƯỚC”.
Nguyên lý ở đây là: Tạo ra một sự “chướng ngại” nhỏ, an toàn và hài hước trong một nếp sinh hoạt quen thuộc để con có lý do phải mở lời nhờ bạn giúp đỡ.
Ở nhà, trong 4 hoạt động trên (Tắm, Mặc đồ, Ngủ, Dọn đồ), bé nhà bạn thích thú (hoặc ít chống đối) hoạt động nào nhất? Chúng ta nên bắt đầu áp dụng chiến lược “Tạm dừng” ở hoạt động con thoải mái nhất nhé!
Nguồn tham khảo: Kiến thức thực tế dạy con và những gợi ý từ AI.
[Phát triển chung] PEDS: Thang sàng lọc tình trạng phát triển của trẻ từ 0 – 8 tuổi do cha mẹ thực hiện
(function() { const host = document.getElementById('peds-wp-host'); if (!host) return; const placeholder = document.createComment('peds-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // 10 Câu hỏi chuẩn của PEDS (Frances Page Glascoe) kèm quy tắc tuổi để tính là Predictive Concern (Mối lo ngại Dự báo cao) // minPredAge: Tháng tuổi tối thiểu mà nếu có lo ngại ở câu đó sẽ được tính là Predictive (0 = Mọi lứa tuổi đều là Predictive; 999 = Luôn là Non-predictive) const pedsQuestions = [ { id: 1, code: 'GLO', domain: '1. Nhận thức chung & Phát triển Tổng thể (Global / Cognitive)', minPredAge: 0, // Mọi lứa tuổi đều là Predictive q: 'Câu 1. Anh/chị có lo lắng rằng con chậm hiểu, nhận thức chậm hơn các bạn cùng tuổi hoặc có điều gì bất thường chung về sự phát triển của con không?', examples: 'Các dấu hiệu thường gặp: Trẻ chậm chạp trong việc học kỹ năng mới, có vẻ ngây ngô hơn tuổi, mất các kỹ năng từng làm được hoặc chậm toàn diện.' }, { id: 2, code: 'EL', domain: '2. Ngôn ngữ Diễn đạt & Phát âm (Expressive Language & Articulation)', minPredAge: 0, // Mọi lứa tuổi đều là Predictive q: 'Câu 2. Anh/chị có bất kỳ lo lắng nào về cách con nói chuyện và phát âm không?', examples: 'Các dấu hiệu thường gặp: Chậm bập bẹ, chậm nói từ đơn/cụm từ, vốn từ ít, chỉ kéo tay người lớn thay vì nói, nhại lời máy móc hoặc phát âm rất khó nghe.' }, { id: 3, code: 'RL', domain: '3. Ngôn ngữ Tiếp nhận / Nghe hiểu (Receptive Language)', minPredAge: 18, // Từ 18 tháng trở lên tính là Predictive q: 'Câu 3. Anh/chị có bất kỳ lo lắng nào về việc con hiểu những gì anh/chị nói với con không?', examples: 'Các dấu hiệu thường gặp: Gọi tên nhiều lần không quay lại, không hiểu các yêu cầu đơn giản khi không có cử chỉ chỉ tay, hoặc trả lời lạc đề.' }, { id: 4, code: 'FM', domain: '4. Sử dụng bàn tay và ngón tay - Vận động Tinh (Fine Motor)', minPredAge: 54, // Từ 4.5 tuổi (54 tháng) trở lên tính là Predictive q: 'Câu 4. Anh/chị có bất kỳ lo lắng nào về cách con sử dụng đôi bàn tay và các ngón tay để làm các việc nhỏ không?', examples: 'Các dấu hiệu thường gặp: Khó cầm nắm đồ vật nhỏ, rơi đổ thức ăn nhiều khi xúc thìa, lóng ngóng khi xếp hình, cầm bút vẽ hoặc dùng kéo.' }, { id: 5, code: 'GM', domain: '5. Sử dụng tay chân vận động - Vận động Thô (Gross Motor)', minPredAge: 36, // Từ 3 tuổi (36 tháng) trở lên tính là Predictive q: 'Câu 5. Anh/chị có bất kỳ lo lắng nào về cách con sử dụng tay và chân để lẫy, bò, đi, chạy hoặc leo trèo không?', examples: 'Các dấu hiệu thường gặp: Chậm biết ngồi/đi, dáng đi loạng choạng dễ vấp ngã, đi nhón gót liên tục, hoặc khó khăn khi leo cầu thang, chạy nhảy.' }, { id: 6, code: 'BEH', domain: '6. Hành vi ứng xử & Tự điều chỉnh (Behavior)', minPredAge: 999, // Phân vào Non-predictive (Định tuyến sang Path C nếu không có Predictive) q: 'Câu 6. Anh/chị có bất kỳ lo lắng nào về hành vi ứng xử của con không?', examples: 'Các dấu hiệu thường gặp: Hay ăn vạ khóc thét kéo dài, tăng động chạy nhảy không ngừng, bướng bỉnh chống đối, hoặc có cử động lặp lại (vẫy tay, xoay đồ vật).' }, { id: 7, code: 'SE', domain: '7. Quan hệ xã hội & Cảm xúc (Social-Emotional)', minPredAge: 999, // Phân vào Non-predictive / Cảnh báo Tự kỷ & Cảm xúc q: 'Câu 7. Anh/chị có bất kỳ lo lắng nào về việc con hòa đồng với những người khác (giao tiếp mắt, kết bạn, chia sẻ cảm xúc) không?', examples: 'Các dấu hiệu thường gặp: Ít nhìn mắt, thích chơi một mình tách biệt, không biết khoe đồ chơi (chú ý chung), quá nhút nhát hoặc dễ lo âu căng thẳng.' }, { id: 8, code: 'SH', domain: '8. Kỹ năng Tự phục vụ cá nhân (Self-Help)', minPredAge: 999, // Phân vào Non-predictive q: 'Câu 8. Anh/chị có bất kỳ lo lắng nào về việc con học cách tự làm mọi việc cho bản thân (ăn uống, mặc đồ, đi vệ sinh) không?', examples: 'Các dấu hiệu thường gặp: Chưa tự cầm cốc/xúc ăn theo tuổi, chưa biết phối hợp mặc quần áo, rửa tay hoặc chậm kiểm soát việc đi vệ sinh.' }, { id: 9, code: 'SCH', domain: '9. Kỹ năng Tiền học đường & Học tập ở trường (School / Pre-academic)', minPredAge: 54, // Từ 4.5 tuổi (54 tháng) trở lên tính là Predictive q: 'Câu 9. Anh/chị có bất kỳ lo lắng nào về việc con học các khái niệm ở lớp mầm non hoặc kỹ năng học tập ở trường không?', examples: 'Các dấu hiệu thường gặp: Khó nhớ màu sắc, hình khối, con số, chữ cái; khó ngồi yên chú ý nghe cô giáo giảng hoặc chậm tiếp thu bài trên lớp.' }, { id: 10, code: 'MED', domain: '10. Thính lực, Thị lực, Sức khỏe & Y khoa (Medical / Sensory / Health)', minPredAge: 0, // Mọi lo ngại về thính lực/thị lực/sức khỏe thần kinh đều cần lưu ý đặc biệt q: 'Câu 10. Anh/chị có lo lắng gì về thính lực (nghe), thị lực (nhìn), giấc ngủ, việc ăn uống hoặc sức khỏe thể chất của con không?', examples: 'Các dấu hiệu thường gặp: Nghi ngờ nghe kém, nhạy cảm tiếng ồn (bịt tai), nhìn nghiêng/lác mắt, kén ăn cực đoan, rối loạn giấc ngủ hoặc co giật.' } ]; // Các mốc kỹ năng kiểm tra nhanh PEDS:DM (Developmental Milestones) theo từng nhóm tuổi để bổ trợ quyết định ở Path B / Path C const pedsDmByAge = { '6': 'Mốc PEDS:DM 6 tháng: Biết lẫy 2 chiều, chống tay nâng ngực cao, với tay nắm đồ chơi, quay đầu tìm tiếng gọi và cười thành tiếng.', '12': 'Mốc PEDS:DM 12 tháng: Đứng vịn/chập chững đi, nhặt vật nhỏ bằng ngón cái-trỏ, biết chỉ tay xin đồ, vẫy tay chào và nói 1–3 từ đơn.', '18': 'Mốc PEDS:DM 18 tháng: Đi vững, tự xúc thìa, xếp tháp 3 khối gỗ, chỉ đúng bộ phận cơ thể, nói ≥ 8–10 từ đơn và biết khoe đồ vật (chú ý chung).', '24': 'Mốc PEDS:DM 24 tháng (2 tuổi): Đá bóng, chạy vững, nói câu ngắn 2–3 từ, chỉ đúng tranh đồ vật khi gọi tên và biết chơi giả vờ chăm sóc búp bê.', '36': 'Mốc PEDS:DM 36 tháng (3 tuổi): Bước lên cầu thang luân phiên, vẽ hình tròn, nói câu 3–4 từ rõ ràng, trả lời được họ tên/giới tính và chơi cùng bạn.', '48': 'Mốc PEDS:DM 48 tháng (4 tuổi): Nhảy lò cò 1 chân, cắt giấy bằng kéo, vẽ hình chữ thập/hình vuông, kể lại chuyện ngắn và tự mặc quần áo.', '60': 'Mốc PEDS:DM 60 tháng (5 tuổi): Đứng 1 chân > 5 giây, viết được một số chữ cái/con số, đếm đến 10–15, hiểu từ trái nghĩa và tuân thủ luật chơi nhóm.', '72': 'Mốc PEDS:DM 72–95 tháng (6–8 tuổi): Đọc đánh vần từ/câu ngắn, cộng trừ phạm vi 10, viết chữ ngay ngắn, tự lập hoàn toàn sinh hoạt và kết bạn tốt.' }; // answers[id] lưu: 'NO' (Không lo ngại = 0), 'LITTLE' (Lo ngại một chút = 1), 'YES' (Có lo ngại rõ rệt = 2) let answers = {}; let childAgeMonths = 24; let hasCommBarrier = false; // Path D: Rào cản giao tiếp với người trả lời let dmPassStatus = 'pass'; // 'pass' (Đạt mốc PEDS:DM) | 'fail' (Chưa đạt mốc PEDS:DM) let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .pd-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .pd-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .pd-inner { padding: 24px; max-width: 980px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .pd-wrap.is-fullscreen .pd-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .pd-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(124, 58, 237, 0.45), 0 0 0 0 rgba(124, 58, 237, 0.4); } 70% { box-shadow: 0 6px 20px rgba(124, 58, 237, 0.45), 0 0 0 10px rgba(124, 58, 237, 0); } 100% { box-shadow: 0 6px 20px rgba(124, 58, 237, 0.45), 0 0 0 0 rgba(124, 58, 237, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #6d28d9 0%, #7c3aed 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(124, 58, 237, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Header */ .pd-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .pd-header-text { flex: 1 1 260px; } .pd-title { font-size: 21px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .pd-desc { font-size: 14px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #f5f3ff; color: #6d28d9; border: 1px solid #ddd6fe; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #7c3aed; color: #ffffff; border-color: #7c3aed; } /* Top Panel: Chọn Tuổi & PEDS:DM */ .pd-top-panel { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; background: #f8fafc; border: 1px solid #cbd5e1; border-radius: 12px; padding: 14px; margin-bottom: 14px; } .pd-lbl { font-size: 12px; font-weight: 800; color: #0f172a; text-transform: uppercase; display: block; margin-bottom: 5px; } .pd-select { width: 100%; padding: 8px 10px; border: 1px solid #94a3b8; border-radius: 7px; font-size: 13.5px; font-weight: 700; color: #0f172a; background: #ffffff; } .pd-dm-banner { grid-column: 1 / -1; background: #ffffff; border: 1px dashed #c4b5fd; border-left: 4px solid #7c3aed; padding: 10px 12px; border-radius: 8px; font-size: 13px; color: #334155; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 10px; } /* Presets */ .pd-presets { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; margin-bottom: 16px; } .pd-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; touch-action: manipulation; } .pd-pbtn:hover { background: #f1f5f9; } .pd-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } /* Sticky Dashboard */ .pd-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .pd-wrap.is-fullscreen .pd-dash { top: 58px; } .pd-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .pd-score-big { font-size: 21px; font-weight: 800; line-height: 1.2; } .pd-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .pd-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .pd-pillars { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; font-size: 12px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .pd-pillar-box { background: #1e293b; padding: 8px 10px; border-radius: 8px; border-left: 3px solid #475569; } .pd-pillar-val { font-weight: 800; color: #ffffff; font-size: 13.5px; display: block; margin-top: 2px; } /* Danh sách 10 câu hỏi PEDS */ .pd-item { border: 1px solid #e2e8f0; border-radius: 12px; padding: 14px 16px; margin-bottom: 12px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 8px; } .pd-item.pred-concern { border-color: #fca5a5; background: #fff5f5; border-left: 5px solid #ef4444; } .pd-item.nonpred-concern { border-color: #fde68a; background: #fffbeb; border-left: 5px solid #f59e0b; } .pd-item.no-concern { border-color: #a7f3d0; background: #f0fdf4; } .pd-item-title { font-size: 15px; font-weight: 800; color: #0f172a; } .pd-item-ex { font-size: 13px; color: #475569; background: rgba(15, 23, 42, 0.03); padding: 6px 10px; border-radius: 6px; } .pd-tags { display: flex; flex-wrap: wrap; gap: 6px; } .pd-tag { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .pd-tag.tag-pred { background: #fee2e2; color: #b91c1c; } .pd-tag.tag-non { background: #fef3c7; color: #b45309; } .pd-ans-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 2px; } .pd-abtn { padding: 8px 8px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 700; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .pd-abtn:hover { border-color: #64748b; } .pd-abtn.sel-NO { background: #10b981; border-color: #10b981; color: #ffffff; } .pd-abtn.sel-LITTLE { background: #f59e0b; border-color: #f59e0b; color: #ffffff; } .pd-abtn.sel-YES { background: #ef4444; border-color: #ef4444; color: #ffffff; } /* Bảng 5 Lộ trình Xử trí Lâm sàng PEDS (Paths A - E) */ .pd-paths-card { margin-top: 20px; padding: 16px 18px; border-radius: 12px; background: #ffffff; border: 1px solid #e2e8f0; overflow-x: auto; } .pd-table { width: 100%; border-collapse: collapse; font-size: 13px; min-width: 640px; } .pd-table th, .pd-table td { border: 1px solid #cbd5e1; padding: 9px 12px; text-align: left; } .pd-table th { background: #f1f5f9; font-weight: 800; color: #0f172a; } .pd-table tr.active-path { background: #fef3c7; border: 2px solid #d97706; } .pd-result-box { margin-top: 16px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #7c3aed; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 740px) { .pd-inner { padding: 14px; } .pd-title { font-size: 18px; } .pd-top-panel { grid-template-columns: 1fr; } .pd-pillars { grid-template-columns: 1fr 1fr; } .pd-ans-grid { grid-template-columns: 1fr; } .pd-pbtn.reset { margin-left: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
Thang Đánh Giá Tình Trạng Phát Triển Của Trẻ Do Cha Mẹ Thực Hiện PEDS & PEDS:DM (0 – 8 Tuổi)
Công cụ sàng lọc chuẩn hóa của Giáo sư Frances Page Glascoe phân tích 10 nhóm mối lo ngại của phụ huynh theo độ tuổi để tách biệt giữa Mối lo ngại Dự báo Nguy cơ Cao (Predictive Concerns) và Mối lo ngại Ít dự báo (Non-predictive Concerns), từ đó định tuyến tự động vào 5 Lộ trình Xử trí Lâm sàng (Path A, B, C, D, E).
| Lộ trình PEDS | Tiêu chuẩn Phân luồng | Hướng xử trí Lâm sàng Chuẩn theo Viện Hàn lâm Nhi khoa Hoa Kỳ (AAP) |
|---|---|---|
| 🔴 Lộ trình A (Path A) Nguy cơ Cao (High Risk) |
Có ≥ 2 mối lo ngại Dự báo cao (Predictive Concerns) | Chuyển gửi đánh giá chuyên sâu ngay lập tức: Phối hợp khám Chuyên khoa Nhi Phát triển, Ngôn ngữ trị liệu, Tâm lý lâm sàng (làm thêm M-CHAT-R/F hoặc ADOS-2 nếu có lo ngại giao tiếp/xã hội; làm Bayley-III / KSPD / PEP-3 để lập kế hoạch can thiệp sớm). |
| 🟠 Lộ trình B (Path B) Nguy cơ Trung bình |
Có đúng 1 mối lo ngại Dự báo cao (1 Predictive Concern) | Thực hiện Sàng lọc Thứ cấp (Second-stage Screening): Kiểm tra ngay các mốc kỹ năng PEDS:DM hoặc cho làm thêm ASQ-3 / M-CHAT-R/F. Nếu trẻ Không đạt sàng lọc thứ cấp → Chuyển gửi can thiệp như Path A. Nếu Đạt → Hướng dẫn kích thích tại nhà và hẹn theo dõi sát. |
| 🟡 Lộ trình C (Path C) Nguy cơ Hành vi / Cảm xúc |
0 lo ngại Dự báo, nhưng có ≥ 1 lo ngại Không dự báo (Hành vi, Cảm xúc, Tự phục vụ...) | Sàng lọc Hành vi – Cảm xúc & Tư vấn Phụ huynh: Ở trẻ 16–30 tháng cần sàng lọc tự kỷ bằng M-CHAT-R/F; ở trẻ lớn hơn sàng lọc hành vi bằng PSC / Vanderbilt. Tư vấn chiến lược quản lý hành vi tích cực cho cha mẹ và theo dõi lại sau 4–6 tuần. |
| 🟣 Lộ trình D (Path D) Rào cản Giao tiếp |
Cha mẹ khó giao tiếp hoặc người đi cùng không nắm rõ tình trạng trẻ | Đánh giá Trực tiếp trên Trẻ: Không thể dựa vào bảng hỏi PEDS đơn thuần; cần sử dụng công cụ kiểm tra trực tiếp kỹ năng của trẻ tại phòng khám (như PEDS:DM, Denver II, KSPD hoặc STAT). |
| 🟢 Lộ trình E (Path E) Nguy cơ Thấp (Low Risk) |
Không có mối lo ngại nào (0 Predictive & 0 Non-predictive) | Theo dõi Định kỳ Thường quy: Trấn an phụ huynh, khen ngợi sự phát triển tốt của trẻ (nếu trẻ đồng thời đạt mốc PEDS:DM) và hẹn sàng lọc lại ở lần khám sức khỏe định kỳ kế tiếp. |
• Khi người đi cùng không trực tiếp chăm sóc trẻ hoặc gặp khó khăn khi diễn đạt mối lo ngại, PEDS quy định chuyển sang Path D.
• Hướng xử trí: Thực hiện đánh giá trực tiếp trên trẻ bằng PEDS:DM, Denver II hoặc KSPD / Bayley-III. `; } else if (predCount >= 2) { activePath = 'A'; rowPathA.className = 'active-path'; badgeColor = '#dc2626'; badgeTxt = `PATH A • NGUY CƠ CAO (${predCount} Lo ngại Dự báo)`; valPath.textContent = 'Path A (Chuyển gửi ngay)'; dashHeadline.textContent = `Lộ Trình Quyết Định PEDS: Path A — Nguy Cơ Cao (${predCount} Mối lo ngại Dự báo)`; analysis = ` Kết luận PEDS tại mốc ${childAgeMonths} tháng — LỘ TRÌNH A (Path A • Nguy cơ Chậm phát triển / Rối loạn Phổ Tự kỷ CAO):
• Ghi nhận ${predCount} mối lo ngại Dự báo cao (Predictive Concerns): ${predList.join(', ')} ${nonPredCount > 0 ? `kèm theo ${nonPredCount} mối lo ngại khác (${nonPredList.join(', ')})` : ''}.
• Hướng xử trí chuẩn theo PEDS:
1. Chuyển gửi đánh giá chuyên sâu ngay lập tức (Can thiệp sớm, Ngôn ngữ trị liệu, Tâm lý – Giáo dục đặc biệt).
2. Nếu có kèm lo ngại ở Câu 2 (Ngôn ngữ diễn đạt), Câu 3 (Nghe hiểu) hoặc Câu 7 (Quan hệ xã hội), cần thực hiện ngay sàng lọc tự kỷ chuyên biệt (M-CHAT-R/F, STAT, SCQ) và đánh giá chẩn đoán bằng ADOS-2 / CARS-2 / DSM-5-TR. `; } else if (predCount === 1) { activePath = 'B'; rowPathB.className = 'active-path'; badgeColor = '#ea580c'; badgeTxt = 'PATH B • NGUY CƠ TRUNG BÌNH (1 Lo ngại Dự báo)'; valPath.textContent = 'Path B (Sàng lọc thứ cấp)'; dashHeadline.textContent = 'Lộ Trình Quyết Định PEDS: Path B — Cần Sàng Lọc Thứ Cấp (ASQ-3 / PEDS:DM)'; analysis = ` Kết luận PEDS tại mốc ${childAgeMonths} tháng — LỘ TRÌNH B (Path B • Nguy cơ Trung bình – Cao):
• Ghi nhận đúng 1 mối lo ngại Dự báo cao (Predictive Concern) tại: ${predList.join(', ')} ${nonPredCount > 0 ? `(và ${nonPredCount} mối lo ngại ít dự báo: ${nonPredList.join(', ')})` : ''}.
• Kết hợp kết quả Mốc kỹ năng PEDS:DM hiện tại (${dmPassStatus === 'pass' ? 'Trẻ ĐẠT mốc PEDS:DM' : 'Trẻ CHƯA ĐẠT mốc PEDS:DM'}):
${dmPassStatus === 'fail' ? '👉 Vì trẻ CHƯA ĐẠT mốc kỹ năng PEDS:DM kèm 1 mối lo ngại dự báo, trẻ cần được chuyển gửi đánh giá chuyên sâu ngay như Path A (làm thêm ASQ-3 / M-CHAT-R/F / KSPD).' : '👉 Trẻ hiện đạt mốc PEDS:DM cơ bản, khuyến nghị thực hiện thêm bảng ASQ-3 (hoặc M-CHAT-R/F nếu trẻ 16–30 tháng), hướng dẫn cha mẹ kích thích phát triển tại nhà và hẹn tái khám sau 4–6 tuần.'} `; } else if (nonPredCount >= 1) { activePath = 'C'; rowPathC.className = 'active-path'; badgeColor = '#d97706'; badgeTxt = `PATH C • LƯU Ý HÀNH VI / XÃ HỘI (${nonPredCount} mục)`; valPath.textContent = 'Path C (Tư vấn & Sàng lọc HV)'; dashHeadline.textContent = 'Lộ Trình Quyết Định PEDS: Path C — Lưu Ý Hành Vi, Cảm Xúc & Xã Hội'; analysis = ` Kết luận PEDS tại mốc ${childAgeMonths} tháng — LỘ TRÌNH C (Path C • Nguy cơ về Hành vi / Cảm xúc – Xã hội):
• Không có mối lo ngại dự báo chậm phát triển trí tuệ/ngôn ngữ, nhưng phụ huynh có ${nonPredCount} mối lo ngại ở nhóm Không dự báo: ${nonPredList.join(', ')}.
• Hướng xử trí chuẩn: Tư vấn chiến lược hướng dẫn hành vi tích cực cho phụ huynh. Nếu phụ huynh lo lắng về Giao tiếp xã hội (Câu 7) hoặc Hành vi (Câu 6), cần làm thêm sàng lọc tự kỷ (M-CHAT-R/F / CAST / ASSQ) hoặc sàng lọc ADHD (Vanderbilt) để không bỏ sót tự kỷ chức năng cao. `; } else { activePath = 'E'; rowPathE.className = 'active-path'; badgeColor = (dmPassStatus === 'pass') ? '#10b981' : '#f59e0b'; badgeTxt = (dmPassStatus === 'pass') ? 'PATH E • NGUY CƠ THẤP (BÌNH THƯỜNG)' : 'PATH E (NHƯNG CHƯA ĐẠT PEDS:DM)'; valPath.textContent = 'Path E (Theo dõi định kỳ)'; dashHeadline.textContent = 'Lộ Trình Quyết Định PEDS: Path E — Nguy Cơ Thấp (Không có mối lo ngại)'; analysis = ` Kết luận PEDS tại mốc ${childAgeMonths} tháng — LỘ TRÌNH E (Path E • Nguy cơ Thấp):
• Phụ huynh không có bất kỳ mối lo ngại nào ở cả 10 lĩnh vực phát triển và hành vi.
• ${dmPassStatus === 'pass' ? 'Trẻ đồng thời ĐẠT các mốc kỹ năng PEDS:DM tương ứng với lứa tuổi. Trấn an, khen ngợi cha mẹ và hẹn theo dõi định kỳ ở mốc tuổi tiếp theo.' : '⚠️ Lưu ý từ PEDS:DM: Dù phụ huynh không bày tỏ lo lắng trên PEDS, nhưng trẻ chưa đạt mốc kỹ năng PEDS:DM của lứa tuổi. Cần cho phụ huynh làm thêm bảng ASQ-3 để kiểm tra khách quan.'} `; } dashSub.textContent = `Tại mốc ${childAgeMonths} tháng tuổi: ${predCount} Lo ngại Dự báo cao (Predictive) • ${nonPredCount} Lo ngại Ít dự báo (Non-predictive)`; scoreBadge.textContent = badgeTxt; scoreBadge.style.background = badgeColor; scoreBadge.style.color = '#ffffff'; resultBox.style.borderLeftColor = badgeColor; resultBox.innerHTML = analysis; updateFloatingFabVisibility(); } function applyPreset(type) { answers = {}; pedsQuestions.forEach(q => { answers[q.id] = 'NO'; }); hasCommBarrier = false; selBarrier.value = 'no'; dmPassStatus = 'pass'; if (type === 'reset' || type === 'pathE') { renderDmBanner(); renderQuestions(); updateSummary(); return; } if (type === 'pathA') { // >= 2 mối lo ngại Dự báo cao (Câu 2 Ngôn ngữ diễn đạt, Câu 3 Nghe hiểu, Câu 7 Xã hội) answers[2] = 'YES'; answers[3] = 'YES'; answers[7] = 'YES'; dmPassStatus = 'fail'; } else if (type === 'pathB') { // Đúng 1 mối lo ngại Dự báo cao (Câu 2 Ngôn ngữ diễn đạt) answers[2] = 'LITTLE'; dmPassStatus = 'pass'; } else if (type === 'pathC') { // Chỉ lo ngại Hành vi (Câu 6) và Tự phục vụ (Câu 8) -> Non-predictive -> Path C answers[6] = 'YES'; answers[8] = 'LITTLE'; dmPassStatus = 'pass'; } renderDmBanner(); renderQuestions(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); pdWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { pdWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 980px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } selChildAge.onchange = function() { childAgeMonths = parseInt(this.value, 10) || 24; renderDmBanner(); renderQuestions(); updateSummary(); }; selBarrier.onchange = function() { hasCommBarrier = (this.value === 'yes'); updateSummary(); }; btnDmPass.onclick = () => { dmPassStatus = 'pass'; renderDmBanner(); updateSummary(); }; btnDmFail.onclick = () => { dmPassStatus = 'fail'; renderDmBanner(); updateSummary(); }; shadow.querySelectorAll('.pd-pbtn[data-preset]').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-preset')); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); applyPreset('pathA'); })();
PEDS (Parents’ Evaluation of Developmental Status): Bộ câu hỏi sàng lọc phát triển dựa trên mối bận tâm của cha mẹ (dành cho trẻ 0 – 8 tuổi). Cùng với ASQ-3 và M-CHAT-R/F, đây là bộ công cụ được Bộ Y tế Việt Nam và Viện Hàn lâm Nhi khoa Hoa Kỳ (AAP) khuyến cáo sử dụng rộng rãi nhất.
Công cụ được phát triển bởi Giáo sư Frances Page Glascoe (Đại học Vanderbilt, Hoa Kỳ — xuất bản năm 1997, cập nhật hệ thống PEDS-R và kết hợp cùng PEDS:DM).
1. Điểm khác biệt độc đáo của PEDS so với ASQ-3 và Denver II
Nếu như ASQ-3 hay Denver II hỏi cha mẹ xem “Trẻ đã làm được kỹ năng X chưa?”, thì PEDS đi theo hướng ngược lại nhưng cực kỳ nhạy bén: khai thác trực tiếp Những mối lo ngại của cha mẹ (Parental Concerns) qua 10 câu hỏi(chỉ mất 2 – 5 phút), sau đó phân loại mối lo ngại đó thuộc nhóm Có giá trị dự báo nguy cơ cao (Predictive Concerns)hay Ít có giá trị dự báo (Non-predictive Concerns) dựa trên độ tuổi cụ thể của trẻ.
-
Độ tuổi áp dụng: Từ sơ sinh (0 tháng) đến 8 tuổi (95 tháng / 7 tuổi 11 tháng).
-
Cấu trúc 10 câu hỏi chuẩn của PEDS (Response Form):
-
Câu 1 (Mở đầu): “Anh/chị có bất kỳ lo lắng nào về cách học tập, sự phát triển hoặc hành vi của con không?”
-
Câu 2 – 9 (8 Lĩnh vực cốt lõi): Hỏi cụ thể mối lo ngại về:
-
Ngôn ngữ Diễn đạt & Phát âm (Expressive Language and Articulation –
EL) -
Ngôn ngữ Tiếp nhận / Nghe hiểu (Receptive Language –
RL) -
Vận động Tinh (Fine Motor –
FM) -
Vận động Thô (Gross Motor –
GM) -
Hành vi (Behavior –
BEH) -
Cảm xúc – Xã hội (Social-Emotional –
SE) -
Tự phục vụ cá nhân (Self-Help –
SH) -
Học tập / Tiền học đường (School / Pre-academic –
SCH)
-
-
Câu 10 (Y khoa / Khác): Các mối lo ngại về thính lực, thị lực, giấc ngủ, ăn uống hoặc sức khỏe toàn trạng (Global/Cognitive & Health).
-
2. Ma trận “Mối lo ngại Dự báo (Predictive)” theo Độ tuổi & 5 Lộ trình Xử trí (Paths A – E)
Điểm cốt lõi trên Phiếu chấm điểm PEDS (PEDS Score Form) là: một mối lo ngại ở lĩnh vực này có thể chỉ là bình thường ở tuổi nhỏ, nhưng khi trẻ lớn hơn mà cha mẹ vẫn lo ngại thì nó trở thành Chỉ báo Dự báo Nguy cơ Cao (Predictive / Significant Concern):
Dựa trên số lượng mối lo ngại Dự báo (Predictive) và Không dự báo (Non-predictive), PEDS tự động phân trẻ vào 1 trong 5 Lộ trình Quyết định Lâm sàng (Paths A, B, C, D, E):
Dạy con nói nhóm câu Nhận diện Trạng thái Cơ thể & Cảm xúc
Trẻ tự kỷ thường gặp rất nhiều khó khăn trong việc nhận biết và gọi tên những gì đang diễn ra bên trong cơ thể mình (cảm giác giác quan, cơn đau, hoặc cảm xúc dâng trào). Khi không thể nói ra là mình đang “đau bụng”, “sợ tiếng ồn” hay “quá tải”, trẻ chỉ có một cách duy nhất để giải tỏa: khóc lóc, ăn vạ hoặc bùng nổ cảm xúc (meltdown).
Nhóm này giúp chuyển hóa những cảm giác mơ hồ bên trong thành từ ngữ cụ thể để trẻ gọi tên và nhờ cha mẹ giúp đỡ. Dưới đây là 3 tiểu mục chi tiết:
I, BÁO CÁO CẢM GIÁC CƠ THỂ & CƠN ĐAU (Physical Sensations)
Giúp con chỉ ra chính xác vị trí bị đau hoặc cảm giác khó chịu trên cơ thể thay vì chỉ khóc.
1. Từ đơn (1 âm tiết)
-
Nhóm Danh từ (Các bộ phận cơ thể dễ bị đau/mệt):
-
Bụng, đầu, tay, chân, mắt, tai, răng, họng, lưng, đít.
-
-
Nhóm Tính từ / Trạng thái cảm giác cơ thể:
-
Đau, ngứa, rát, tê, mệt, đói, khát, no.
-
Nóng, lạnh, cay, đắng.
-
-
Nhóm Động từ đi kèm:
-
Té (ngã), va, dập, kẹt, muỗi (đốt/chít).
-
2. Câu 2 từ (Nguyên tắc ghép: Trạng thái + Bộ phận cơ thể / Đại từ)
-
Báo vị trí đau/khó chịu: Đau bụng, đau tay, đau đầu, đau răng, ngứa chân, rát cổ, mệt quá.
-
Báo nhu cầu sinh lý cơ thể: Đói rồi, khát quá, nóng quá, lạnh quá, mệt rồi.
-
Giải thích nguyên nhân: Té ngã, muỗi đốt, kẹt tay, va bàn.
II, GỌI TÊN CẢM XÚC NỀN TẢNG (Basic Emotions)
Cảm xúc là thứ rất mơ hồ đối với trẻ tự kỷ. Chúng ta chỉ nên bắt đầu với 4 cảm xúc cơ bản nhất: Vui, Buồn, Sợ, Giận.
1. Từ đơn (1 âm tiết)
-
Nhóm Tính từ chỉ cảm xúc:
-
Vui, buồn, sợ, giận (tức), thích, ghét.
-
-
Nhóm Động từ biểu hiện cảm xúc:
-
Khóc, cười, sợ, hét, ôm.
-
-
Nhóm Trạng thái giác quan / Tâm lý:
-
Chói, ồn, hoảng, giật (mình).
-
2. Câu 2 từ
-
Gọi tên trạng thái bản thân: Con vui, con buồn, sợ quá, giận rồi, thích lắm, không thích.
-
Mô tả biểu hiện: Khóc rồi, cười to, sợ ma, ồn quá, chói quá.
III, YÊU CẦU XOA DỊU & ĐIỀU HOÀ CẢM XÚC (Co-regulation Requests)
Sau khi nhận biết được cảm xúc/sự khó chịu, con cần biết từ vựng để yêu cầu người lớn hỗ trợ mình bình tĩnh lại.
1. Từ đơn (1 âm tiết)
-
Nhóm Động từ (Hành động xoa dịu):
-
Thổi (cho bớt đau), xoa, ôm, gãi, vuốt, nắm (tay).
-
Dán (băng cá nhân), bôi (thuốc).
-
Bế, ra (ngoài), dỗ.
-
-
Nhóm Danh từ (Đồ vật giúp bình tĩnh):
-
Mẹ, ba, gấu, chăn, nước, thuốc.
-
2. Câu 2 từ
-
Yêu cầu hỗ trợ thể chất: Thổi đau, xoa bụng, gãi lưng, bôi thuốc, dán dán (băng gạc).
-
Yêu cầu xoa dịu tinh thần: Mẹ ôm, nắm tay, bế con, ôm gấu, đi ra.
IV, BẬT MÍ “BỘ THẺ CẢM XÚC & BẢNG CHỈ VỊ TRÍ ĐAU” (Body & Emotion Map)
Vì khi đau hoặc bùng nổ cảm xúc, não bộ của trẻ tự kỷ rơi vào trạng thái “quá tải” (stress), việc nhớ và phát âm ra từ ngữ rất khó khăn. Bạn nên làm sẵn 2 công cụ đơn giản này ở nhà:
-
Hình vẽ Cơ thể người đơn giản (Body Map): Vẽ hoặc in hình một bé trai đơn giản. Khi con ngã hoặc khóc gắt mà chưa nói được, bạn giơ hình ra và hỏi: “Đau ở đâu?”. Bạn chỉ vào bụng, tay, chân… Con chỉ cần chỉ tay vào vị trí đó trên hình, sau đó bạn hỗ trợ con bật âm: “ĐAU BỤNG” hoặc “ĐAU TAY”.
-
Dạy “Thổi” và “Xoa” làm hành vi thay thế: Khi con bị đau nhẹ, trẻ tự kỷ hay đập tay hoặc khóc ngất. Bạn hãy lập tức nắm nhẹ tay con, thổi nhẹ vào chỗ đau và nói: “Thổi… hết đau”. Dần dần, con sẽ học được cách chủ động đưa chỗ đau ra cho bạn và nói âm “THỔI” hoặc “XOA” để nhờ bạn giúp đỡ thay vì ngồi khóc.
Nguồn tham khảo: Kiến thức thực tế dạy con và những gợi ý từ AI.
Các hoạt động điều hòa giác quan
Dưới đây là danh sách các hoạt động giúp điều hòa giác quan cho trẻ tự kỷ, có thể áp dụng bổ sung vào các hoạt động thường ngày với trẻ mà bố mẹ nên biết.
[Phát triển chung] Denver II: Công cụ sàng lọc phát triển tâm thần – vận động kinh điển cho trẻ 0 – 6 tuổi
(function() { const host = document.getElementById('denver2-wp-host'); if (!host) return; const placeholder = document.createComment('denver2-portal-placeholder'); const shadow = host.attachShadow({ mode: 'open' }); // Cấu hình 4 Lĩnh vực chuẩn của Denver II (Tổng 125 mục) const domConfigs = { ps: { code: 'ps', name: '1. Cá nhân – Xã hội (Personal-Social)', count: 25, color: '#2563eb' }, fm: { code: 'fm', name: '2. Vận động Tinh – Thích ứng (Fine Motor)', count: 29, color: '#0d9488' }, la: { code: 'la', name: '3. Ngôn ngữ (Language)', count: 39, color: '#7c3aed' }, gm: { code: 'gm', name: '4. Vận động Thô (Gross Motor)', count: 32, color: '#ea580c' } }; // Đầy đủ 125 mục chuẩn Denver II với mốc tháng tuổi [p25, p50, p75, p90] // rAllow: true nếu cho phép chấm qua Báo cáo của phụ huynh [R] const items = [ // ===================================================== // 1. CÁ NHÂN - XÃ HỘI (PERSONAL-SOCIAL • 25 MỤC) // ===================================================== { id: 1, dom: 'ps', rAllow: false, p: [0.1, 0.2, 0.7, 1.3], t: 'Nhìn chăm chú vào khuôn mặt người đối diện' }, { id: 2, dom: 'ps', rAllow: true, p: [0.3, 0.7, 1.2, 1.8], t: 'Mỉm cười đáp lại khi được trò chuyện / trêu đùa' }, { id: 3, dom: 'ps', rAllow: false, p: [0.7, 1.2, 1.8, 2.4], t: 'Mỉm cười tự phát với người xung quanh' }, { id: 4, dom: 'ps', rAllow: false, p: [1.5, 2.3, 3.2, 4.2], t: 'Nhìn ngắm bàn tay của chính mình' }, { id: 5, dom: 'ps', rAllow: false, p: [3.8, 4.7, 5.6, 6.8], t: 'Cố gắng với lấy đồ chơi nằm ngoài tầm tay' }, { id: 6, dom: 'ps', rAllow: true, p: [4.8, 5.6, 6.5, 7.5], t: 'Tự cầm bánh quy ăn một mình' }, { id: 7, dom: 'ps', rAllow: false, p: [5.5, 6.8, 8.2, 9.8], t: 'Chơi trò Ú òa (Peek-a-boo) cùng người lớn' }, { id: 8, dom: 'ps', rAllow: false, p: [6.5, 8.0, 9.5, 11.2], t: 'Cố gắng giữ lại đồ chơi khi người khám kéo nhẹ' }, { id: 9, dom: 'ps', rAllow: true, p: [7.0, 8.6, 10.5, 13.5], t: 'Biết vẫy tay chào tạm biệt ("Bye-bye")' }, { id: 10, dom: 'ps', rAllow: true, p: [7.5, 9.2, 11.0, 13.8], t: 'Biết vỗ tay (hoan hô) theo người lớn' }, { id: 11, dom: 'ps', rAllow: true, p: [9.5, 11.2, 13.0, 15.5],t: 'Biết thể hiện ý muốn (chỉ tay/ra hiệu không khóc)' }, { id: 12, dom: 'ps', rAllow: false, p: [10.0, 11.8, 14.0, 16.5],t: 'Chơi lăn bóng qua lại với người khám' }, { id: 13, dom: 'ps', rAllow: true, p: [10.5, 12.5, 15.0, 17.5],t: 'Tự cầm cốc uống nước không đổ nhiều' }, { id: 14, dom: 'ps', rAllow: true, p: [11.5, 13.8, 16.2, 19.5],t: 'Bắt chước làm việc nhà (lau bàn, quét nhà)' }, { id: 15, dom: 'ps', rAllow: true, p: [13.0, 15.2, 18.0, 21.0],t: 'Tự dùng thìa/muỗng xúc ăn (còn rơi vãi ít)' }, { id: 16, dom: 'ps', rAllow: true, p: [14.5, 17.5, 20.5, 24.0],t: 'Tự cởi bỏ một món quần áo (giày, tất, mũ, quần)' }, { id: 17, dom: 'ps', rAllow: false, p: [15.5, 18.5, 21.5, 25.0],t: 'Đút cho búp bê ăn (Chơi giả vờ với búp bê)' }, { id: 18, dom: 'ps', rAllow: true, p: [18.0, 21.5, 25.5, 30.0],t: 'Tự mặc được một món quần áo (quần đùi, áo khoác)' }, { id: 19, dom: 'ps', rAllow: true, p: [19.0, 23.5, 28.5, 34.0],t: 'Đánh răng khi có người lớn hướng dẫn/hỗ trợ' }, { id: 20, dom: 'ps', rAllow: true, p: [20.0, 24.5, 30.0, 36.0],t: 'Tự rửa tay bằng xà phòng và lau khô tay' }, { id: 21, dom: 'ps', rAllow: true, p: [25.0, 30.5, 36.5, 42.5],t: 'Kể được tên của ít nhất 1 người bạn cùng chơi' }, { id: 22, dom: 'ps', rAllow: true, p: [26.0, 31.5, 38.0, 44.0],t: 'Tự mặc được áo thun/áo chui đầu' }, { id: 23, dom: 'ps', rAllow: true, p: [30.0, 36.0, 43.0, 50.0],t: 'Tự mặc quần áo hoàn toàn không cần giúp đỡ' }, { id: 24, dom: 'ps', rAllow: false, p: [33.0, 40.5, 48.0, 56.0],t: 'Chơi các trò chơi bàn cờ/thẻ bài chờ đến lượt' }, { id: 25, dom: 'ps', rAllow: true, p: [36.0, 44.0, 52.0, 60.0],t: 'Tự đánh răng độc lập và tự chuẩn bị đồ ăn nhẹ (bánh/ngũ cốc)' }, // ===================================================== // 2. VẬN ĐỘNG TINH - THÍCH ỨNG (FINE MOTOR-ADAPTIVE • 29 MỤC) // ===================================================== { id: 26, dom: 'fm', rAllow: false, p: [0.1, 0.3, 0.9, 1.5], t: 'Mắt nhìn theo quả bông đỏ di chuyển tới đường giữa' }, { id: 27, dom: 'fm', rAllow: false, p: [0.5, 1.1, 1.8, 2.6], t: 'Mắt nhìn theo quả bông đỏ vượt qua đường giữa' }, { id: 28, dom: 'fm', rAllow: false, p: [1.5, 2.3, 3.1, 3.8], t: 'Cầm giữ lục lạc khi được đặt vào lòng bàn tay' }, { id: 29, dom: 'fm', rAllow: false, p: [1.8, 2.6, 3.5, 4.3], t: 'Chắp hai bàn tay lại với nhau ở trước ngực' }, { id: 30, dom: 'fm', rAllow: false, p: [2.2, 3.1, 4.0, 4.9], t: 'Mắt nhìn theo vật di chuyển góc 180 độ hoàn chỉnh' }, { id: 31, dom: 'fm', rAllow: false, p: [2.8, 3.6, 4.5, 5.4], t: 'Nhìn chú ý vào viên nho khô (vật rất nhỏ) trên bàn' }, { id: 32, dom: 'fm', rAllow: false, p: [3.3, 4.2, 5.1, 6.0], t: 'Với tay nắm lấy đồ chơi đưa trước mặt' }, { id: 33, dom: 'fm', rAllow: false, p: [4.2, 5.1, 6.0, 7.2], t: 'Nhìn tìm kiếm sợi chỉ đỏ bị thả rơi xuống sàn' }, { id: 34, dom: 'fm', rAllow: false, p: [4.8, 5.6, 6.5, 7.5], t: 'Dùng cả bàn tay cào lấy viên nho khô/hạt nhỏ' }, { id: 35, dom: 'fm', rAllow: false, p: [5.0, 5.8, 6.7, 7.8], t: 'Chuyển khối gỗ từ tay này sang tay kia' }, { id: 36, dom: 'fm', rAllow: false, p: [5.6, 6.5, 7.5, 8.8], t: 'Mỗi tay cầm giữ đồng thời 1 khối gỗ (2 khối cùng lúc)' }, { id: 37, dom: 'fm', rAllow: false, p: [7.2, 8.2, 9.4, 10.6], t: 'Nhặt viên nho khô bằng ngón cái và ngón trỏ (Pincer grasp)' }, { id: 38, dom: 'fm', rAllow: false, p: [7.5, 8.8, 10.2, 11.8], t: 'Đập hai khối gỗ trên hai tay vào nhau ở đường giữa' }, { id: 39, dom: 'fm', rAllow: false, p: [9.5, 10.8, 12.2, 14.0],t: 'Bỏ khối gỗ vào trong lòng chiếc cốc nhựa' }, { id: 40, dom: 'fm', rAllow: false, p: [11.5, 13.2, 15.0, 17.0],t: 'Cầm bút sáp vẽ nguệch ngoạc tự phát trên giấy' }, { id: 41, dom: 'fm', rAllow: false, p: [12.5, 14.5, 16.8, 19.5],t: 'Dốc ngược lọ nhỏ để đổ viên nho khô ra ngoài (sau khi xem mẫu)' }, { id: 42, dom: 'fm', rAllow: false, p: [13.5, 15.8, 18.2, 20.8],t: 'Xếp chồng tháp gồm 2 khối gỗ vuông đứng vững' }, { id: 43, dom: 'fm', rAllow: false, p: [16.5, 19.0, 22.0, 25.5],t: 'Xếp chồng tháp gồm 4 khối gỗ vuông đứng vững' }, { id: 44, dom: 'fm', rAllow: false, p: [19.5, 22.8, 26.5, 30.5],t: 'Xếp chồng tháp gồm 6 khối gỗ vuông đứng vững' }, { id: 45, dom: 'fm', rAllow: false, p: [22.0, 26.0, 30.0, 35.0],t: 'Bắt chước vẽ một đường thẳng đứng trên giấy' }, { id: 46, dom: 'fm', rAllow: false, p: [24.0, 29.0, 34.5, 40.5],t: 'Xếp chồng tháp gồm 8 khối gỗ vuông đứng vững' }, { id: 47, dom: 'fm', rAllow: false, p: [28.0, 33.0, 38.5, 44.0],t: 'Cử động ngón cái độc lập khi nắm tay (Thumb wiggle)' }, { id: 48, dom: 'fm', rAllow: false, p: [31.0, 36.0, 41.5, 47.5],t: 'Sao chép hình tròn khép kín khi nhìn thẻ mẫu' }, { id: 49, dom: 'fm', rAllow: false, p: [36.0, 41.5, 48.0, 55.0],t: 'Vẽ hình người có ít nhất 3 bộ phận cơ thể' }, { id: 50, dom: 'fm', rAllow: false, p: [38.0, 44.0, 50.5, 57.5],t: 'Sao chép hình chữ thập (+) khi nhìn thẻ mẫu' }, { id: 51, dom: 'fm', rAllow: false, p: [40.0, 46.5, 53.5, 60.5],t: 'Chỉ đúng đường thẳng nào dài hơn (Đạt 3/3 lần thử)' }, { id: 52, dom: 'fm', rAllow: false, p: [46.0, 53.0, 60.0, 67.0],t: 'Sao chép hình vuông khi nhìn mẫu (không cần xem vẽ mẫu)' }, { id: 53, dom: 'fm', rAllow: false, p: [48.0, 55.0, 62.5, 70.0],t: 'Sao chép hình vuông sau khi được xem người khám vẽ mẫu' }, { id: 54, dom: 'fm', rAllow: false, p: [50.0, 57.5, 65.0, 72.0],t: 'Vẽ hình người đầy đủ có từ 6 bộ phận cơ thể trở lên' }, // ===================================================== // 3. NGÔN NGỮ (LANGUAGE • 39 MỤC) // ===================================================== { id: 55, dom: 'la', rAllow: false, p: [0.1, 0.2, 0.5, 1.0], t: 'Phản ứng với tiếng chuông lắc (chớp mắt, giật mình, dừng cử động)' }, { id: 56, dom: 'la', rAllow: true, p: [0.2, 0.6, 1.2, 1.8], t: 'Phát ra các âm thanh nhỏ trong cổ họng (ngoài tiếng khóc)' }, { id: 57, dom: 'la', rAllow: false, p: [1.0, 1.6, 2.3, 3.0], t: 'Phát âm gù gù (OOH / AAH) khi thoải mái' }, { id: 58, dom: 'la', rAllow: false, p: [1.4, 2.1, 2.9, 3.8], t: 'Cười thành tiếng lớn (Laughs)' }, { id: 59, dom: 'la', rAllow: false, p: [1.8, 2.7, 3.8, 4.8], t: 'Reo hét lên vì thích thú (Squeals)' }, { id: 60, dom: 'la', rAllow: false, p: [3.2, 4.2, 5.2, 6.4], t: 'Quay đầu về phía phát ra giọng nói của người khám' }, { id: 61, dom: 'la', rAllow: false, p: [3.8, 4.8, 5.8, 7.0], t: 'Quay đầu tìm chính xác hướng phát ra tiếng lục lạc' }, { id: 62, dom: 'la', rAllow: false, p: [5.0, 6.0, 7.2, 8.5], t: 'Bắt chước các âm thanh lời nói của người lớn' }, { id: 63, dom: 'la', rAllow: false, p: [5.4, 6.4, 7.6, 9.0], t: 'Bập bẹ các âm tiết đơn (ba, đa, ga, ma)' }, { id: 64, dom: 'la', rAllow: false, p: [6.0, 7.2, 8.6, 10.2], t: 'Phát âm chuỗi âm tiết lặp lại (ba-ba, đa-đa, ma-ma không đặc hiệu)' }, { id: 65, dom: 'la', rAllow: false, p: [6.5, 7.8, 9.2, 11.0], t: 'Kết hợp các âm tiết khác nhau (đa-ga, ba-đa)' }, { id: 66, dom: 'la', rAllow: true, p: [7.5, 9.2, 11.2, 13.5], t: 'Nói "Bà / Bố / Mẹ" đúng người (Đặc hiệu)' }, { id: 67, dom: 'la', rAllow: true, p: [9.0, 11.0, 13.0, 15.2],t: 'Nói được ít nhất 1 từ đơn có nghĩa (ngoài Bố/Mẹ)' }, { id: 68, dom: 'la', rAllow: true, p: [10.5, 12.2, 14.5, 17.0],t: 'Nói được 2 từ đơn có nghĩa' }, { id: 69, dom: 'la', rAllow: true, p: [11.8, 13.8, 16.2, 19.0],t: 'Nói được 3 từ đơn có nghĩa' }, { id: 70, dom: 'la', rAllow: true, p: [13.5, 16.0, 19.0, 22.5],t: 'Nói được 6 từ đơn có nghĩa trở lên' }, { id: 71, dom: 'la', rAllow: false, p: [15.0, 17.8, 21.0, 24.5],t: 'Chỉ đúng ít nhất 2 bức tranh khi người khám gọi tên' }, { id: 72, dom: 'la', rAllow: true, p: [16.5, 19.5, 23.0, 26.5],t: 'Kết hợp 2 từ thành cụm từ có nghĩa ("Uống nước", "Đi chơi")' }, { id: 73, dom: 'la', rAllow: false, p: [17.5, 20.5, 24.0, 28.0],t: 'Gọi đúng tên ít nhất 1 bức tranh trên bảng tranh Denver' }, { id: 74, dom: 'la', rAllow: false, p: [18.5, 21.5, 25.0, 29.5],t: 'Chỉ đúng ít nhất 6 bộ phận cơ thể trên búp bê/bản thân' }, { id: 75, dom: 'la', rAllow: false, p: [20.0, 24.0, 28.5, 33.5],t: 'Chỉ đúng 4 bức tranh khi người khám gọi tên' }, { id: 76, dom: 'la', rAllow: false, p: [21.0, 25.5, 30.5, 36.0],t: 'Lời nói của trẻ dễ hiểu được một nửa (50% người lạ hiểu)' }, { id: 77, dom: 'la', rAllow: false, p: [24.0, 29.0, 34.5, 40.0],t: 'Gọi đúng tên 4 bức tranh trên bảng tranh Denver' }, { id: 78, dom: 'la', rAllow: false, p: [26.0, 31.0, 37.0, 43.0],t: 'Biết công dụng của 2 đồ vật ("Cái gì dùng để uống/để viết?")' }, { id: 79, dom: 'la', rAllow: false, p: [28.0, 33.5, 39.5, 46.0],t: 'Đếm và lấy đúng 1 khối gỗ khi được yêu cầu' }, { id: 80, dom: 'la', rAllow: false, p: [29.0, 35.0, 41.5, 48.0],t: 'Biết công dụng của 3 đồ vật quen thuộc' }, { id: 81, dom: 'la', rAllow: false, p: [30.0, 36.0, 42.5, 49.5],t: 'Biết ít nhất 2 hành động trong tranh ("Con gì đang bay/đang kêu meo?")' }, { id: 82, dom: 'la', rAllow: false, p: [32.0, 38.5, 45.5, 52.5],t: 'Hiểu 2 tính từ trạng thái ("Khi bị lạnh/mệt/đói con làm gì?")' }, { id: 83, dom: 'la', rAllow: false, p: [34.0, 40.5, 48.0, 55.0],t: 'Gọi đúng tên ít nhất 1 màu sắc cơ bản' }, { id: 84, dom: 'la', rAllow: false, p: [36.0, 42.5, 50.0, 57.5],t: 'Hiểu và thực hiện đúng 4 giới từ (Trên, Dưới, Trước, Sau)' }, { id: 85, dom: 'la', rAllow: false, p: [37.0, 44.0, 51.5, 59.0],t: 'Lời nói của trẻ hoàn toàn rõ ràng, dễ hiểu 100%' }, { id: 86, dom: 'la', rAllow: false, p: [39.0, 46.0, 53.5, 61.5],t: 'Hiểu 4 hành động trong bảng tranh Denver' }, { id: 87, dom: 'la', rAllow: false, p: [42.0, 49.0, 57.0, 65.0],t: 'Định nghĩa đúng ít nhất 5 từ vựng (Bóng, Hồ, Bàn, Nhà, Chuối, Rèm...)' }, { id: 88, dom: 'la', rAllow: false, p: [44.0, 51.0, 58.5, 66.5],t: 'Gọi đúng tên 4 màu sắc (Đỏ, Xanh dương, Vàng, Xanh lá)' }, { id: 89, dom: 'la', rAllow: false, p: [46.0, 53.0, 60.5, 68.0],t: 'Hiểu 3 tính từ trạng thái (Lạnh, Mệt, Đói)' }, { id: 90, dom: 'la', rAllow: false, p: [48.0, 55.5, 63.0, 70.0],t: 'Đếm và lấy đúng 5 khối gỗ theo yêu cầu' }, { id: 91, dom: 'la', rAllow: false, p: [50.0, 57.5, 65.0, 71.0],t: 'Biết tìm 2 cặp từ trái nghĩa ("Lửa thì nóng, nước đá thì...")' }, { id: 92, dom: 'la', rAllow: false, p: [52.0, 59.5, 67.0, 72.0],t: 'Định nghĩa đúng ít nhất 7 từ vựng chuẩn' }, { id: 93, dom: 'la', rAllow: false, p: [54.0, 61.5, 68.5, 72.0],t: 'Hiểu chất liệu tạo nên 3 đồ vật ("Thìa/Giày/Cửa làm bằng gì?")' }, // ===================================================== // 4. VẬN ĐỘNG THÔ (GROSS MOTOR • 32 MỤC) // ===================================================== { id: 94, dom: 'gm', rAllow: false, p: [0.1, 0.2, 0.5, 0.9], t: 'Cử động hai tay và hai chân đồng đều khi nằm ngửa' }, { id: 95, dom: 'gm', rAllow: false, p: [0.1, 0.4, 0.9, 1.5], t: 'Nằm sấp tự nhấc đầu rời khỏi mặt bàn/giường' }, { id: 96, dom: 'gm', rAllow: false, p: [0.8, 1.5, 2.3, 3.2], t: 'Nằm sấp nâng đầu lên góc 45 độ giữ vững' }, { id: 97, dom: 'gm', rAllow: false, p: [1.5, 2.2, 3.1, 4.0], t: 'Nằm sấp nâng đầu và ngực góc 90 độ' }, { id: 98, dom: 'gm', rAllow: false, p: [1.8, 2.7, 3.6, 4.5], t: 'Giữ đầu thẳng vững vàng khi được bế ngồi' }, { id: 99, dom: 'gm', rAllow: false, p: [2.2, 3.2, 4.2, 5.2], t: 'Nằm sấp chống hai cẳng tay nâng ngực cao' }, { id: 100, dom: 'gm', rAllow: true, p: [2.5, 3.6, 4.6, 5.6], t: 'Tự lẫy lật người (từ sấp sang ngửa hoặc ngược lại)' }, { id: 101, dom: 'gm', rAllow: false, p: [3.2, 4.2, 5.2, 6.3], t: 'Kéo hai tay từ nằm ngửa lên ngồi đầu không bị trễ ra sau' }, { id: 102, dom: 'gm', rAllow: false, p: [3.8, 4.8, 5.8, 6.8], t: 'Chịu một phần trọng lượng cơ thể trên hai chân khi được giữ đứng' }, { id: 103, dom: 'gm', rAllow: false, p: [5.2, 5.9, 6.8, 7.8], t: 'Tự ngồi vững không cần đỡ lưng trong ít nhất 5 – 30 giây' }, { id: 104, dom: 'gm', rAllow: false, p: [6.5, 7.6, 8.8, 10.0], t: 'Vịn thành bàn/ghế tự kéo người đứng dậy' }, { id: 105, dom: 'gm', rAllow: true, p: [7.0, 8.2, 9.4, 10.6], t: 'Tự chuyển về tư thế ngồi độc lập (từ nằm hoặc bò)' }, { id: 106, dom: 'gm', rAllow: false, p: [7.2, 8.5, 9.8, 11.2], t: 'Đứng vững vàng khi vịn vào đồ đạc (> 5 giây)' }, { id: 107, dom: 'gm', rAllow: false, p: [9.2, 10.4, 11.6, 13.0],t: 'Tự đứng độc lập một mình được khoảng 2 giây' }, { id: 108, dom: 'gm', rAllow: false, p: [10.0, 11.5, 13.0, 14.5],t: 'Tự đứng vững một mình trên 10 giây không cần vịn' }, { id: 109, dom: 'gm', rAllow: false, p: [11.0, 12.3, 13.8, 15.2],t: 'Đứng vững cúi xuống nhặt đồ vật rồi đứng thẳng lên không ngã' }, { id: 110, dom: 'gm', rAllow: false, p: [11.2, 12.5, 14.0, 15.5],t: 'Đi độc lập vững vàng không bị ngã' }, { id: 111, dom: 'gm', rAllow: true, p: [12.5, 14.2, 16.5, 19.0],t: 'Đi lùi về phía sau 2 – 3 bước' }, { id: 112, dom: 'gm', rAllow: false, p: [13.5, 15.8, 18.0, 20.5],t: 'Chạy vững vàng về phía trước' }, { id: 113, dom: 'gm', rAllow: true, p: [14.0, 16.8, 19.5, 22.5],t: 'Bước lên các bậc cầu thang' }, { id: 114, dom: 'gm', rAllow: false, p: [15.5, 18.2, 21.0, 24.0],t: 'Đá quả bóng lăn về phía trước mà không cần vịn' }, { id: 115, dom: 'gm', rAllow: false, p: [19.5, 22.8, 26.5, 30.0],t: 'Nhảy tại chỗ hai chân rời mặt sàn cùng lúc' }, { id: 116, dom: 'gm', rAllow: false, p: [20.0, 23.8, 28.0, 32.5],t: 'Đứng ném bóng qua đầu về phía người khám' }, { id: 117, dom: 'gm', rAllow: false, p: [24.0, 28.5, 33.0, 38.0],t: 'Nhảy xa về phía trước qua tờ giấy rộng 22cm (Broad jump)' }, { id: 118, dom: 'gm', rAllow: false, p: [22.5, 27.0, 32.0, 37.0],t: 'Đứng thăng bằng trên 1 chân được 1 giây' }, { id: 119, dom: 'gm', rAllow: false, p: [26.0, 31.0, 36.5, 42.0],t: 'Đứng thăng bằng trên 1 chân được 2 giây' }, { id: 120, dom: 'gm', rAllow: false, p: [30.0, 35.5, 41.5, 48.0],t: 'Đứng thăng bằng trên 1 chân được 3 giây' }, { id: 121, dom: 'gm', rAllow: false, p: [36.0, 41.5, 48.0, 54.5],t: 'Nhảy lò cò trên 1 chân liên tiếp 2 – 3 bước' }, { id: 122, dom: 'gm', rAllow: false, p: [38.0, 44.0, 51.0, 58.0],t: 'Đứng thăng bằng trên 1 chân được 4 giây' }, { id: 123, dom: 'gm', rAllow: false, p: [41.0, 47.5, 55.0, 62.0],t: 'Đứng thăng bằng trên 1 chân được 5 giây' }, { id: 124, dom: 'gm', rAllow: false, p: [45.0, 52.0, 59.5, 67.0],t: 'Đi nối gót (mũi chân sau chạm sát gót chân trước) 4 bước liên tiếp' }, { id: 125, dom: 'gm', rAllow: false, p: [48.0, 55.5, 63.5, 71.0],t: 'Đứng thăng bằng vững vàng trên 1 chân trong 6 giây trở lên' } ]; // answers[id] lưu: 'P' (Pass - Đạt), 'F' (Fail - Không đạt), 'R' (Refusal - Từ chối), 'NO' (No Opportunity - Không có cơ hội) let answers = {}; let childAgeMonths = 24.0; // Tuổi thực (Tháng) let prematureWeeks = 0; // Số tuần sinh non (nếu sinh trước 38 tuần và trẻ <= 24 tháng) let filterDom = 'all'; // 'all' | 'ps' | 'fm' | 'la' | 'gm' let viewMode = 'age_window'; // 'age_window' (Chỉ hiện mục quanh Đường tuổi của trẻ) | 'all' (Hiện toàn bộ 125 mục) let isFullscreen = false; let savedScrollY = 0; shadow.innerHTML = ` :host { all: initial; display: block; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; color: #1e293b; line-height: 1.5; width: 100%; box-sizing: border-box; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } .dv-wrap { width: 100%; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 16px; box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06); position: relative; } /* KHI BẬT TOÀN MÀN HÌNH (PORTAL RA BODY) */ .dv-wrap.is-fullscreen { width: 100% !important; min-height: 100% !important; border-radius: 0 !important; border: none !important; box-shadow: none !important; background: #f8fafc !important; padding-bottom: 84px !important; } .dv-inner { padding: 24px; max-width: 980px; margin: 0 auto; background: #ffffff; border-radius: 16px; } .dv-wrap.is-fullscreen .dv-inner { border-radius: 0; min-height: calc(100vh - 52px); box-shadow: 0 4px 24px rgba(15, 23, 42, 0.05); } /* Thanh ghim thoát toàn màn hình luôn nổi trên cùng */ .fs-floating-bar { display: none; position: sticky; top: 0; z-index: 99999; background: #0f172a; color: #ffffff; padding: 12px 16px; justify-content: space-between; align-items: center; border-bottom: 1px solid #334155; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25); } .dv-wrap.is-fullscreen .fs-floating-bar { display: flex; } .fs-floating-title { font-size: 13.5px; font-weight: 700; color: #f8fafc; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-right: 10px; } .btn-exit-floating { background: #ef4444; color: #ffffff; border: none; padding: 7px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 700; cursor: pointer; flex-shrink: 0; box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4); } /* NÚT NỔI TRƯỢT DỌC THEO NỘI DUNG (FLOATING ZOOM FAB) */ @keyframes fabPulse { 0% { box-shadow: 0 6px 20px rgba(13, 148, 136, 0.45), 0 0 0 0 rgba(13, 148, 136, 0.4); } 70% { box-shadow: 0 6px 20px rgba(13, 148, 136, 0.45), 0 0 0 10px rgba(13, 148, 136, 0); } 100% { box-shadow: 0 6px 20px rgba(13, 148, 136, 0.45), 0 0 0 0 rgba(13, 148, 136, 0); } } .floating-zoom-fab { position: fixed; bottom: 20px; left: 16px; z-index: 2147483646; background: linear-gradient(135deg, #0f766e 0%, #0d9488 100%); color: #ffffff; border: 2px solid #ffffff; padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 6px 20px rgba(13, 148, 136, 0.45); animation: fabPulse 2.5s infinite; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s, background 0.2s; touch-action: manipulation; } .floating-zoom-fab.visible { opacity: 1; visibility: visible; transform: translateY(0); } .floating-zoom-fab:hover { transform: translateY(-2px) scale(1.02); } .floating-zoom-fab.is-exit-mode { background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%); box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45); animation: none; } .fab-icon-circle { width: 22px; height: 22px; border-radius: 50%; background: rgba(255, 255, 255, 0.22); display: inline-flex; align-items: center; justify-content: center; font-size: 13px; } /* Header */ .dv-header { border-bottom: 1px solid #e2e8f0; padding-bottom: 16px; margin-bottom: 16px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 12px; } .dv-header-text { flex: 1 1 260px; } .dv-title { font-size: 21px; font-weight: 800; color: #0f172a; margin: 0 0 6px 0; line-height: 1.35; } .dv-desc { font-size: 14px; color: #475569; margin: 0; line-height: 1.55; } .btn-fullscreen-top { background: #f0fdfa; color: #0f766e; border: 1px solid #99f6e4; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; transition: all 0.2s ease; } .btn-fullscreen-top:hover { background: #0d9488; color: #ffffff; border-color: #0d9488; } /* Khu vực thiết lập Đường tuổi (Age Line) & Kịch bản */ .dv-age-panel { display: grid; grid-template-columns: 1.15fr 1fr 1.1fr; gap: 12px; background: #f8fafc; border: 1px solid #cbd5e1; border-radius: 12px; padding: 14px; margin-bottom: 14px; } .dv-ctrl-box { display: flex; flex-direction: column; gap: 6px; } .dv-ctrl-lbl { font-size: 12px; font-weight: 800; color: #0f172a; text-transform: uppercase; } .dv-input-row { display: flex; gap: 6px; align-items: center; } .dv-select, .dv-num-input { padding: 8px 10px; border: 1px solid #94a3b8; border-radius: 7px; font-size: 13.5px; font-weight: 700; color: #0f172a; background: #ffffff; width: 100%; } .dv-presets-bar { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; background: #f8fafc; padding: 10px 12px; border-radius: 10px; border: 1px dashed #cbd5e1; margin-bottom: 14px; } .dv-pbtn { padding: 6px 11px; border-radius: 6px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; touch-action: manipulation; } .dv-pbtn:hover { background: #f1f5f9; } .dv-pbtn.reset { color: #dc2626; border-color: #fecaca; background: #fef2f2; margin-left: auto; } .dv-domain-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 16px; } .dv-dtab { padding: 6px 12px; border-radius: 999px; border: 1px solid #cbd5e1; background: #ffffff; font-size: 12.5px; font-weight: 600; color: #475569; cursor: pointer; touch-action: manipulation; } .dv-dtab.active { background: #0f766e; color: #ffffff; border-color: #0f766e; } /* Sticky Dashboard */ .dv-dash { position: sticky; top: 12px; z-index: 20; background: #0f172a; color: #ffffff; border-radius: 12px; padding: 16px 18px; margin-bottom: 20px; box-shadow: 0 10px 25px rgba(15, 23, 42, 0.18); } .dv-wrap.is-fullscreen .dv-dash { top: 58px; } .dv-dash-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; } .dv-score-big { font-size: 21px; font-weight: 800; line-height: 1.2; } .dv-score-sub { font-size: 12.5px; color: #94a3b8; margin-top: 4px; } .dv-badge { padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; background: #334155; color: #e2e8f0; } .dv-pillars { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; font-size: 12px; border-top: 1px solid #1e293b; padding-top: 10px; color: #cbd5e1; } .dv-pillar-box { background: #1e293b; padding: 7px 10px; border-radius: 8px; } .dv-pillar-val { font-weight: 700; color: #ffffff; font-size: 13.5px; display: block; margin-top: 2px; } /* Danh sách 125 mục kèm Thanh bách phân vị (25% - 50% - 75% - 90%) */ .dv-item { border: 1px solid #e2e8f0; border-radius: 10px; padding: 13px 15px; margin-bottom: 10px; background: #ffffff; transition: all 0.2s ease; display: flex; flex-direction: column; gap: 8px; } .dv-item.status-delay { border-color: #fca5a5; background: #fff5f5; border-left: 5px solid #ef4444; } .dv-item.status-caution { border-color: #fde68a; background: #fffbeb; border-left: 5px solid #f59e0b; } .dv-item.status-pass { border-color: #a7f3d0; background: #f0fdf4; } .dv-item-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; flex-wrap: wrap; } .dv-item-title { font-size: 14.5px; font-weight: 700; color: #0f172a; } .dv-tags { display: flex; flex-wrap: wrap; gap: 6px; } .dv-tag { font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 4px; background: #f1f5f9; color: #475569; } .dv-tag.tag-delay { background: #fee2e2; color: #b91c1c; } .dv-tag.tag-caution { background: #fef3c7; color: #b45309; } .dv-tag.tag-normal { background: #dcfce7; color: #15803d; } /* Thanh trực quan hóa Mốc 25% - 50% - 75% - 90% so với Đường tuổi */ .dv-bar-visual { display: flex; align-items: center; gap: 8px; background: #f8fafc; border: 1px solid #e2e8f0; padding: 6px 10px; border-radius: 6px; font-size: 12px; color: #334155; flex-wrap: wrap; } .dv-pct-chip { padding: 2px 7px; border-radius: 4px; background: #e2e8f0; font-weight: 600; } .dv-pct-chip.zone-75-90 { background: #cbd5e1; color: #0f172a; font-weight: 800; } /* 4 nút chấm chuẩn Denver II: P, F, R, NO */ .dv-ans-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; } .dv-abtn { padding: 8px 6px; border-radius: 8px; border: 1.5px solid #cbd5e1; background: #ffffff; font-size: 12px; font-weight: 700; color: #334155; cursor: pointer; text-align: center; transition: all 0.15s ease; touch-action: manipulation; } .dv-abtn:hover { border-color: #64748b; } .dv-abtn.sel-P { background: #10b981; border-color: #10b981; color: #ffffff; } .dv-abtn.sel-F { background: #ef4444; border-color: #ef4444; color: #ffffff; } .dv-abtn.sel-R { background: #f59e0b; border-color: #f59e0b; color: #ffffff; } .dv-abtn.sel-NO { background: #64748b; border-color: #64748b; color: #ffffff; } .dv-result-box { margin-top: 20px; padding: 18px; border-radius: 12px; background: #f8fafc; border-left: 5px solid #0d9488; font-size: 14px; line-height: 1.65; color: #1e293b; } @media (max-width: 740px) { .dv-inner { padding: 14px; } .dv-title { font-size: 18px; } .dv-age-panel { grid-template-columns: 1fr; } .dv-pillars { grid-template-columns: 1fr 1fr; } .dv-ans-grid { grid-template-columns: 1fr 1fr; } .dv-pbtn.reset { margin-left: 0; } .floating-zoom-fab { bottom: 16px; left: 12px; padding: 9px 14px; font-size: 12.5px; } }
Trắc Nghiệm Sàng Lọc Phát Triển Tâm Thần – Vận Động Denver II (125 Mục • 0 – 72 Tháng)
Công cụ sàng lọc chuẩn hóa của Frankenburg & Dodds (1992) trên 4 lĩnh vực: Cá nhân – Xã hội (25 mục), Vận động Tinh – Thích ứng (29 mục), Ngôn ngữ (39 mục) và Vận động Thô (32 mục). Hệ thống tự động kẻ Đường tuổi (Age Line), xác định các mục Chậm (Delay >90%), Cảnh báo (Caution 75–90%) và đưa ra kết luận sàng lọc chuẩn.
• Trẻ đã Từ chối thực hiện (R) ở ${totalRefDelays} mục nằm bên trái Đường tuổi (>90%) và ${totalRefCautions} mục trong vùng 75%–90%.
• Hướng xử trí chuẩn Denver II: Đặt lịch hẹn đánh giá lại cho trẻ sau 1 đến 2 tuần (khi trẻ khỏe mạnh, tỉnh táo và hợp tác tốt hơn). Nếu lần khám lại trẻ vẫn tiếp tục không thực hiện được, cần chuyển sang diện Nghi ngờ (Suspect) để khám chuyên khoa. `; } else if (totalDelays >= 1 || totalCautions >= 2) { color = '#ef4444'; badgeTxt = `NGHI NGỜ CHẬM PHÁT TRIỂN (SUSPECT • ${totalDelays} Delay, ${totalCautions} Caution)`; const delayNames = delayItemsList.map(i => `#${i.id} ${i.t}`).join(', '); const cautionNames = cautionItemsList.map(i => `#${i.id} ${i.t}`).join(', '); analysis = ` Kết luận Sàng lọc Denver II tại mốc ${ageLine} tháng — NGHI NGỜ (Suspect):
• Theo tiêu chuẩn của Frankenburg & Dodds, kết quả được phân loại là Nghi ngờ (Suspect) khi có từ ≥ 1 mục Chậm (Delay) và/hoặc ≥ 2 mục Cảnh báo (Caution).
• Các mục Chậm phát triển (Delay >90%): ${delayNames || 'Không có'}.
• Các mục Cảnh báo (Caution 75%–90%): ${cautionNames || 'Không có'}.
• Hướng xử trí lâm sàng: Nếu sự thiếu hụt tập trung ở lĩnh vực Ngôn ngữ (${domStats.la.delay} Delay, ${domStats.la.caution} Caution) và Cá nhân – Xã hội (${domStats.ps.delay} Delay, ${domStats.ps.caution} Caution), cần sàng lọc chuyên sâu ngay bằng M-CHAT-R/F / STAT và đánh giá toàn diện bằng KSPD / PEP-3 / Vineland-3 để can thiệp sớm. `; } else { color = (totalCautions === 1) ? '#f59e0b' : '#10b981'; badgeTxt = (totalCautions === 1) ? 'BÌNH THƯỜNG (CÓ 1 CẢNH BÁO NHẸ)' : 'PHÁT TRIỂN BÌNH THƯỜNG (NORMAL)'; analysis = ` Kết luận Sàng lọc Denver II tại mốc ${ageLine} tháng — ${badgeTxt}:
• Trẻ không có mục Chậm phát triển (Delay) nào và chỉ có ${totalCautions}/1 mục Cảnh báo (Caution) cho phép.
• Các mốc kỹ năng về Cá nhân – Xã hội, Vận động Tinh – Thích ứng, Ngôn ngữ và Vận động Thô đều đạt tương ứng với Đường tuổi ${ageLine} tháng. Khuyến nghị tiếp tục theo dõi định kỳ ở các mốc khám sức khỏe tiếp theo. `; } scoreBadge.textContent = badgeTxt; scoreBadge.style.background = color; scoreBadge.style.color = '#ffffff'; resultBox.style.borderLeftColor = color; resultBox.innerHTML = analysis; updateFloatingFabVisibility(); } function applyPreset(type) { const ageLine = getAdjustedAge(); answers = {}; if (type === 'reset') { renderItems(); updateSummary(); return; } // Mặc định đặt tất cả các mục bên trái Đường tuổi và cắt Đường tuổi là Đạt (P) items.forEach(function(it) { if (it.p[0] 1 Caution (Vẫn Normal) const cItem = items.find(it => ageLine >= it.p[2] && ageLine >= 2 Delay & Caution (Suspect) items.forEach(function(it) { if ((it.dom === 'la' || it.dom === 'ps') && it.p[3] >= (ageLine - 6) && it.p[0] Untestable const leftItems = items.filter(it => ageLine > it.p[3] && it.p[3] >= (ageLine - 6)); leftItems.slice(0, 2).forEach(it => { answers[it.id] = 'R'; }); } renderItems(); updateSummary(); } function updateFloatingFabVisibility() { if (isFullscreen) { fabBtn.classList.add('visible', 'is-exit-mode'); fabText.textContent = 'Thu nhỏ lại'; fabIcon.textContent = '✕'; return; } fabBtn.classList.remove('is-exit-mode'); fabText.textContent = 'Phóng to bảng'; fabIcon.textContent = '⛶'; const rect = host.getBoundingClientRect(); const viewH = window.innerHeight || document.documentElement.clientHeight; const isReadingWidget = rect.top 180; if (isReadingWidget) { fabBtn.classList.add('visible'); } else { fabBtn.classList.remove('visible'); } } function setFullscreenState(active) { if (active === isFullscreen) return; isFullscreen = active; if (isFullscreen) { savedScrollY = window.scrollY || window.pageYOffset || 0; if (host.parentNode && host.parentNode !== document.body) { host.parentNode.insertBefore(placeholder, host); document.body.appendChild(host); } host.style.cssText = [ 'position: fixed !important', 'inset: 0 !important', 'top: 0 !important', 'left: 0 !important', 'right: 0 !important', 'bottom: 0 !important', 'width: 100vw !important', 'height: 100vh !important', 'height: 100dvh !important', 'max-width: none !important', 'max-height: none !important', 'margin: 0 !important', 'padding: 0 !important', 'z-index: 2147483647 !important', 'background: #f8fafc !important', 'overflow-y: auto !important', '-webkit-overflow-scrolling: touch !important', 'display: block !important' ].join(';'); dvWrap.classList.add('is-fullscreen'); document.documentElement.style.overflow = 'hidden'; document.body.style.overflow = 'hidden'; fsText.textContent = 'Thu nhỏ'; fsIcon.textContent = '✕'; host.scrollTop = 0; } else { dvWrap.classList.remove('is-fullscreen'); if (placeholder.parentNode) { placeholder.parentNode.insertBefore(host, placeholder); placeholder.parentNode.removeChild(placeholder); } host.style.cssText = 'width: 100%; max-width: 980px; margin: 28px auto; display: block; clear: both;'; document.documentElement.style.overflow = ''; document.body.style.overflow = ''; fsText.textContent = 'Toàn màn hình'; fsIcon.textContent = '⛶'; if (document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().catch(() => {}); } window.scrollTo(0, savedScrollY); } updateFloatingFabVisibility(); } inpAgeMonths.onchange = () => { applyPreset('suspect_lang'); }; quickAgeSelect.onchange = function() { inpAgeMonths.value = this.value; applyPreset('suspect_lang'); }; selPremature.onchange = () => { renderItems(); updateSummary(); }; selViewMode.onchange = function() { viewMode = this.value; renderItems(); }; shadow.querySelectorAll('.dv-pbtn').forEach(function(btn) { btn.onclick = function() { applyPreset(this.getAttribute('data-preset')); }; }); shadow.querySelectorAll('#domainTabs .dv-dtab').forEach(function(tab) { tab.onclick = function() { filterDom = this.getAttribute('data-dom'); shadow.querySelectorAll('#domainTabs .dv-dtab').forEach(t => t.classList.remove('active')); this.classList.add('active'); renderItems(); }; }); shadow.getElementById('btnToggleFullscreen').onclick = () => { setFullscreenState(!isFullscreen); }; shadow.getElementById('btnExitFloating').onclick = () => { setFullscreenState(false); }; fabBtn.onclick = () => { setFullscreenState(!isFullscreen); }; window.addEventListener('scroll', updateFloatingFabVisibility, { passive: true }); window.addEventListener('resize', updateFloatingFabVisibility, { passive: true }); window.addEventListener('keydown', (e) => { if (e.key === 'Escape' && isFullscreen) { setFullscreenState(false); } }); applyPreset('suspect_lang'); })();
Denver II (Denver Developmental Screening Test II — Trắc nghiệm Sàng lọc Phát triển Denver II) là công cụ sàng lọc phát triển tâm thần – vận động kinh điển và được sử dụng rộng rãi nhất tại các bệnh viện Nhi, khoa Tâm bệnh và trung tâm can thiệp sớm trên toàn thế giới (cũng như tại Việt Nam). Công cụ do Giáo sư William K. Frankenburg và Josiah B. Dodds (Đại học Colorado, Hoa Kỳ) phát triển năm 1967 và hiệu đính chuẩn hóa thành bản Denver II vào năm 1992.
1. Tóm tắt cốt lõi về công cụ Denver II
-
Độ tuổi áp dụng: Trẻ từ sơ sinh (0 tháng) đến 6 tuổi (72 tháng) (có điều chỉnh tuổi sinh non cho trẻ sinh trước 38 tuần tuổi thai đến khi trẻ tròn 24 tháng).
-
Cấu trúc 125 mục (Items) chia làm 4 Lĩnh vực phát triển:
-
Cá nhân – Xã hội (Personal-Social — 25 mục): Giao tiếp mắt, mỉm cười, tự ăn uống, mặc quần áo, đánh răng, chơi tương tác với bạn.
-
Vận động Tinh – Thích ứng (Fine Motor-Adaptive — 29 mục): Nhìn theo vật, cầm nắm hạt nhỏ, xếp tháp khối gỗ, vẽ hình (tròn, chữ thập, vuông, hình người).
-
Ngôn ngữ (Language — 39 mục): Quay đầu tìm âm thanh, bập bẹ, nói từ đơn, chỉ tranh, gọi tên đồ vật,hiểu giới từ, định nghĩa từ.
-
Vận động Thô (Gross Motor — 32 mục): Nâng đầu, lẫy, ngồi, bò, đứng, đi, chạy, nhảy tại chỗ, đứng 1 chân, nhảy lò cò, đi nối gót.
-
-
Cơ chế “Đường tuổi” (Age Line) và Thanh bách phân vị (25% – 50% – 75% – 90%): Trên biểu đồ Denver II,mỗi kỹ năng là một thanh ngang thể hiện mốc tuổi mà 25%, 50%, 75% và 90% trẻ em bình thường thực hiện được (vùng từ 75% đến 90% được tô đậm). Người khám kẻ một Đường dọc tại đúng tháng tuổi hiện tại của trẻ (Age Line) cắt qua các thanh kỹ năng và chấm 1 trong 4 kết quả:
P(Pass – Đạt),F(Fail – Không đạt),R(Refusal – Từ chối) hoặcNO(No Opportunity – Không có cơ hội).
2. Quy tắc Phân giải từng Mục & Kết luận Tổng thể chuẩn Denver II
| Phân loại từng mục | Điều kiện xác định so với Đường tuổi (Age Line) của trẻ |
| 1. Chậm phát triển (Delay) | Đường tuổi của trẻ đã vượt hoàn toàn sang bên phải mốc 90% của thanh kỹ năng (tức là > 90% trẻ cùng tuổi đã làm được), nhưng trẻ lại Không đạt (F) hoặc Từ chối (R). |
| 2. Cảnh báo / Thận trọng (Caution) | Đường tuổi của trẻ nằm trong vùng từ 75% đến 90% của thanh kỹ năng, và trẻ Không đạt (F) hoặc Từ chối (R). |
| 3. Phát triển Vượt trội (Advanced) | Trẻ Đạt (P) một kỹ năng nằm hoàn toàn ở bên phải Đường tuổi (dưới cả mốc 25% trẻ cùng tuổi làm được). |
Kết luận Sàng lọc Tổng thể Denver II:
-
🟢 BÌNH THƯỜNG (Normal): Không có mục Chậm (Delay) nào VÀ có tối đa 1 mục Cảnh báo (Caution).
-
🟡 NGHI NGỜ (Suspect): Có từ mục Cảnh báo (Caution) VÀ/HOẶC có từ mục Chậm (Delay) Cần sàng lọc lại sau 1–2 tuần hoặc chuyển gửi đánh giá chuyên sâu (PEP-3, KSPD, Vineland-3, ADOS-2).
-
⚪ KHÔNG ĐÁNH GIÁ ĐƯỢC (Untestable): Trẻ Từ chối (
R) ở mục nằm hoàn toàn bên trái đường tuổi () hoặc ở mục nằm trong vùng 75%−90%.
Dạy con nói nhóm câu Vui chơi, Vận động & Tương tác xã hội
Môi trường ngoài trời và khu vui chơi là nơi trẻ có động lực giao tiếp cao nhất vì não bộ đang giải phóng dopamine qua các hoạt động vận động thô (chạy, nhảy, trượt). Đây là cơ hội vàng để biến sự hào hứng của con thành từ vựng thực tế.
I, TRÒ CHƠI VẬN ĐỘNG & THIẾT BỊ SÂN CHƠI
Dạy từ vựng gắn liền với các thiết bị quen thuộc tại sân chơi và hành động tương ứng.
1. Từ đơn (1 âm tiết)
-
Nhóm Danh từ (Thiết bị & Vật liệu):
-
Bóng, cầu (trượt), xích (đũ), nhún (bập bênh), cát, cỏ, nước, xe, thang.
-
-
Nhóm Động từ (Hành động vận động) – Ưu tiên dạy mạnh:
-
Đẩy, trượt, nhún, trèo, nhảy, chạy, ngã, quay, leo, thả.
-
-
Nhóm Tính từ / Trạng thái (Cảm giác vận động):
-
Cao, dốc, nhanh, chậm, mạnh, êm, sợ.
-
2. Câu 2 từ (Nguyên tắc ghép: Động từ + Danh từ / Trạng thái)
-
Yêu cầu hành động: Đẩy con, trượt xuống, trèo lên, nhún nhún, chạy nhanh, nhảy cao, leo thang.
-
Miêu tả cảm giác / Tình trạng: Cao quá, nhanh quá, dốc quá, ngã rồi, sợ quá.
II, TRÒ CHƠI TƯƠNG TÁC (Bong bóng xà phòng, đá bóng, trốn tìm)
Các trò chơi có tính luân phiên và tương tác qua lại giữa cha mẹ và con hoặc giữa con và bạn bè.
1. Từ đơn (1 âm tiết)
-
Nhóm Danh từ:
-
Bóng, bong (bóng), súng (súng nước/xà phòng), que, nước, bạn.
-
-
Nhóm Động từ:
-
Thổi, ném, đá, bắt, đập (vỡ), vỡ, tìm, trốn, đuổi, bắt.
-
-
Nhóm Tính từ / Từ chức năng:
-
To, bay, nhiều, hết, mất (rồi).
-
2. Câu 2 từ
-
Tạo tương tác / Đòi hỏi: Thổi bóng, đập vỡ, đá bóng, bắt bóng, ném đi, tìm con.
-
Miêu tả hiện tượng: Bóng bay, bóng to, hết bóng, mất rồi, vỡ rồi.
III, LUÂN PHIÊN, AN TOÀN & CHUYỂN ĐỔI HOẠT ĐỘNG
Giúp con học nề nếp công cộng, đảm bảo an toàn và không bị bùng nổ cảm xúc khi đến giờ phải đi về.
1. Từ đơn (1 âm tiết)
-
Nhóm Danh từ:
-
Lượt, bạn, đường, xe, cổng, tay.
-
-
Nhóm Động từ (Chỉ dẫn & An toàn):
-
Đợi, chờ, nhường, dừng, nắm (tay), buông, về, đổi (trò).
-
-
Nhóm Tính từ / Trạng thái:
-
Mệt, nóng, mồ (hôi), đau, xong.
-
2. Câu 2 từ
-
Quy tắc luân phiên & Tương tác: Đợi chút, đến lượt, nhường bạn, đổi trò.
-
An toàn & Chuyển đổi: Dừng lại, nắm tay, đi chậm, nguy hiểm, mệt rồi, đi về, cất xe.
💡 Chiến lược dạy: “Tạm dừng chuyển động” (The Pause & Wait Technique)
Hoạt động vận động có nhịp điệu (xích đu, bập bênh, trượt) là bối cảnh dễ dạy bật âm nhất trên đời. Bạn có thể áp dụng chiến lược này ngay chiều nay:
-
Với xích đu: Khi con đang ngồi trên xích đu và rất thích thú, bạn kéo xích đu về phía sau, giơ lên cao và DỪNG LẠI (không đẩy).
-
Con sẽ quay lại nhìn bạn với ánh mắt chờ đợi hoặc nhún nhảy đòi đẩy.
-
Bạn nhìn thẳng vào mắt con, cười tươi và nói rõ ràng từ: “ĐẨY” (hoặc “Đẩy con”).
-
Chờ 3 giây. Ngay khi con mấp máy môi hoặc phát ra bất kỳ âm thanh nào (dù chỉ là “Đ…”), bạn hãy đẩy xích đu ngay lập tức và reo hò: “ĐÚNG RỒI! ĐẨY NÈ!”.
-
Với cầu trượt: Giữ con lại ở đỉnh cầu trượt hoặc chắn ở chân cầu trượt, yêu cầu con bật âm “TRƯỢT” hoặc “XUỐNG” mới thả cho con trượt.
Nguồn tham khảo: Kiến thức thực tế dạy con và những gợi ý từ AI.