import React, { useState } from ‘react’;
import { AlertCircle, CheckCircle, Info, AlertTriangle } from ‘lucide-react’;
const DrinkingAssessmentApp = () => {
const [currentQuestion, setCurrentQuestion] = useState(0);
const [answers, setAnswers] = useState({});
const [showResult, setShowResult] = useState(false);
const questions = [
{
id: 1,
text: “あなたはアルコール含有飲料をどれくらいの頻度で飲みますか?”,
options: [
{ text: “飲まない”, score: 0 },
{ text: “1ヶ月に1度程度”, score: 1 },
{ text: “1ヶ月に2~4度”, score: 2 },
{ text: “1週に2~3度”, score: 3 },
{ text: “1週に4度以上”, score: 4 }
]
},
{
id: 2,
text: “飲酒するときには通常どのくらいの量を飲みますか?”,
options: [
{ text: “1~2ドリンク”, score: 0 },
{ text: “3~4ドリンク”, score: 1 },
{ text: “5~6ドリンク”, score: 2 },
{ text: “7~9ドリンク”, score: 3 },
{ text: “10ドリンク以上”, score: 4 }
]
},
{
id: 3,
text: “1度に6ドリンク以上飲酒することがどのくらいの頻度でありますか?”,
options: [
{ text: “ない”, score: 0 },
{ text: “1ヶ月に1度未満”, score: 1 },
{ text: “1ヶ月に1度”, score: 2 },
{ text: “1週に1度”, score: 3 },
{ text: “毎日あるいはほとんど毎日”, score: 4 }
]
},
{
id: 4,
text: “過去1年間に、飲み始めると止められなかったことが、どのくらいの頻度でありましたか?”,
options: [
{ text: “ない”, score: 0 },
{ text: “1ヶ月に1度未満”, score: 1 },
{ text: “1ヶ月に1度”, score: 2 },
{ text: “1週に1度”, score: 3 },
{ text: “毎日あるいはほとんど毎日”, score: 4 }
]
},
{
id: 5,
text: “過去1年間に、普通だと行えることを飲酒していたためにできなくなったことが、どのくらいの頻度でありましたか?”,
options: [
{ text: “ない”, score: 0 },
{ text: “1ヶ月に1度未満”, score: 1 },
{ text: “1ヶ月に1度”, score: 2 },
{ text: “1週に1度”, score: 3 },
{ text: “毎日あるいはほとんど毎日”, score: 4 }
]
},
{
id: 6,
text: “過去1年間に、深酒の後体調を整えるために、朝迎え酒をせねばならなかったことが、どのくらいの頻度でありましたか?”,
options: [
{ text: “ない”, score: 0 },
{ text: “1ヶ月に1度未満”, score: 1 },
{ text: “1ヶ月に1度”, score: 2 },
{ text: “1週に1度”, score: 3 },
{ text: “毎日あるいはほとんど毎日”, score: 4 }
]
},
{
id: 7,
text: “過去1年間に、飲酒後罪悪感や自責の念にかられたことが、どのくらいの頻度でありましたか?”,
options: [
{ text: “ない”, score: 0 },
{ text: “1ヶ月に1度未満”, score: 1 },
{ text: “1ヶ月に1度”, score: 2 },
{ text: “1週に1度”, score: 3 },
{ text: “毎日あるいはほとんど毎日”, score: 4 }
]
},
{
id: 8,
text: “過去1年間に、飲酒のため前夜の出来事を思い出せなかったことが、どのくらいの頻度でありましたか?”,
options: [
{ text: “ない”, score: 0 },
{ text: “1ヶ月に1度未満”, score: 1 },
{ text: “1ヶ月に1度”, score: 2 },
{ text: “1週に1度”, score: 3 },
{ text: “毎日あるいはほとんど毎日”, score: 4 }
]
},
{
id: 9,
text: “あなたの飲酒のために、あなた自身か他の誰かがけがをしたことがありますか?”,
options: [
{ text: “ない”, score: 0 },
{ text: “あるが、過去1年はなし”, score: 2 },
{ text: “過去1年間にあり”, score: 4 }
]
},
{
id: 10,
text: “肉親や親戚、友人、医師、あるいは他の健康管理にたずさわる人が、あなたの飲酒について心配したり、飲酒量を減らすように勧めたりしたことがありますか?”,
options: [
{ text: “ない”, score: 0 },
{ text: “あるが、過去1年はなし”, score: 2 },
{ text: “過去1年間にあり”, score: 4 }
]
}
];
const drinkConversionTable = [
{ type: “ビール(5%)”, items: [
{ name: “コップ(180ml)”, drinks: “0.7” },
{ name: “小ビンまたは350ml缶”, drinks: “1.4” },
{ name: “中ビンまたは500ml缶”, drinks: “2.0” },
{ name: “中ジョッキ(320ml)”, drinks: “1.3” },
{ name: “大ジョッキ(600ml)”, drinks: “2.4” }
]},
{ type: “日本酒(15%)”, items: [
{ name: “1合(180ml)”, drinks: “2.2” },
{ name: “お猪口(30ml)”, drinks: “0.4” }
]},
{ type: “焼酎”, items: [
{ name: “焼酎(20%)1合(180ml)”, drinks: “2.9” },
{ name: “焼酎(25%)1合(180ml)”, drinks: “3.6” }
]},
{ type: “酎ハイ(7%)”, items: [
{ name: “350ml缶”, drinks: “2.0” },
{ name: “500ml缶”, drinks: “2.8” }
]},
{ type: “ワイン(12%)”, items: [
{ name: “ワイングラス(120ml)”, drinks: “1.2” },
{ name: “ハーフボトル(375ml)”, drinks: “3.6” },
{ name: “フルボトル(750ml)”, drinks: “7.2” }
]},
{ type: “ウィスキー(40%)”, items: [
{ name: “シングル水割り(原酒で30ml)”, drinks: “1.0” },
{ name: “ダブル水割り(原酒で60ml)”, drinks: “2.0” },
{ name: “ボトル1本(720ml)”, drinks: “23.0” }
]},
{ type: “梅酒(15%)”, items: [
{ name: “1合(180ml)”, drinks: “2.2” },
{ name: “お猪口(30ml)”, drinks: “0.4” }
]}
];
const handleAnswer = (score) => {
const newAnswers = { …answers, [currentQuestion]: score };
setAnswers(newAnswers);
if (currentQuestion < questions.length - 1) {
setCurrentQuestion(currentQuestion + 1);
} else {
setShowResult(true);
}
};
const calculateTotal = () => {
return Object.values(answers).reduce((sum, score) => sum + score, 0);
};
const getAdvice = (score) => {
if (score <= 9) {
return {
level: "危険の少ない飲酒",
color: "text-green-600",
bgColor: "bg-green-50",
borderColor: "border-green-200",
icon:
,
title: “今のところ、危険の少ない飲み方です”,
advice: [
“今後も飲酒する場合は、1日1単位(1ドリンク)まで”,
“多い日でも2単位は超えないようにしてください”,
“週に2日は休肝日を心がけてください”
]
};
} else if (score <= 19) {
return {
level: "危険の高い飲酒",
color: "text-yellow-600",
bgColor: "bg-yellow-50",
borderColor: "border-yellow-200",
icon:
,
title: “いまの飲み方を続けていると健康や社会生活に影響が出るおそれがあります”,
advice: [
“適度な飲酒の目安は1日1単位まで”,
“多い日でも2単位は超えないようにし、週に2日は休肝日をつくりましょう”,
“高血圧・糖尿病・脂質異常症・肝機能障害などの生活習慣病がある場合は、飲酒が病状を悪化させるおそれがあります”,
“2週間の禁酒をして、お酒が体に与えた影響を確かめてみましょう”
]
};
} else {
return {
level: “アルコール依存症が疑われる”,
color: “text-red-600”,
bgColor: “bg-red-50”,
borderColor: “border-red-200”,
icon:
,
title: “アルコール依存症の疑いがあります”,
advice: [
“節酒はむずかしく、断酒が必要と思われます”,
“飲酒の悪影響は、健康だけでなく、家庭や職場での生活にもおよびます”,
“一度、アルコール依存症の専門医にご相談されることをお勧めします”,
“専門的な治療が必要な可能性があります”
]
};
}
};
const resetQuiz = () => {
setCurrentQuestion(0);
setAnswers({});
setShowResult(false);
};
const goBack = () => {
if (currentQuestion > 0) {
setCurrentQuestion(currentQuestion – 1);
}
};
const [showDrinkTable, setShowDrinkTable] = useState(false);
if (showResult) {
const totalScore = calculateTotal();
const advice = getAdvice(totalScore);
return (
AUDIT診断結果
{totalScore}点
(最大40点)
{advice.icon}
{advice.level}
{advice.title}
{advice.advice.map((item, index) => (
))}
相談窓口
精神保健福祉センター
• 北九州市保健所精神保健福祉センター:093-522-8729
• 東京都立精神保健福祉センター:03-3844-2210
専門医療機関
• 医療法人社団翠会 八幡厚生病院:093-691-3344
• さくらの木クリニック秋葉原:03-3255-3960
アルコール依存症相談先一覧
• 特定非営利活動法人ASK:https://www.ask.or.jp/article/6489
重要な注意事項
• AUDITの点数はあくまでも判断材料の一つであり、アルコール依存症か否かを判断するものではありません
• 1ドリンク = 純アルコール10g
);
}
return (
AUDIT(アルコール依存症スクリーニングテスト)
質問 {currentQuestion + 1} / {questions.length}
{currentQuestion === 1 && (
{showDrinkTable && (
ドリンク換算表(1ドリンク = 純アルコール10g)
{drinkConversionTable.map((category, index) => (
{category.type}
{category.items.map((item, itemIndex) => (
-
{item.name}
{item.drinks}ドリンク
))}
))}
)}
)}
{questions[currentQuestion].text}
{questions[currentQuestion].options.map((option, index) => (
))}
{currentQuestion > 0 && (
)}
);
};
export default DrinkingAssessmentApp;