禁煙後の肺がんリスク回復
禁煙した日、喫煙していた年数、基準日を入れると、喫煙が原因の肺がんの上乗せリスクがどれだけ減ったかを推定します。20年吸って禁煙から10年なら、4分の3を少し超える減少です。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 禁煙日
- 2016-07-25
- 喫煙年数
- 20
- As of
- 2026-07-25
- 禁煙後の日数
- 3,652
- 禁煙後の年数
- 9.9988363895
- 残存する超過分の割合
- 0.2419577581
- リスク低減 (%)
- 75.8042241857
禁煙後の回復計算機は、禁煙してから喫煙に起因する肺がん超過リスクがどれだけ下がったかを見積もります。禁煙日、止める前に吸っていた年数、基準となる暦日を入力してください。ツールは先発的グレゴリオ暦の日数カウントで暦の隔たりを禁煙後年数に換え、Doll–Peto の期間べき乗モデルと Armitage–Doll の禁煙後減衰を適用します。残存超過割合は喫煙年数を喫煙年数と禁煙後年数の和で割った値を 3.5 乗したもので、推定リスク低減率はその割合を 1 から引いて 100 倍した値です。
禁煙後に超過リスクが回復する意味
吸い続ける人は、喫煙期間が長いほど急に大きくなる肺がん超過リスクを抱えます。Doll と Peto は、継続喫煙者の発生率が期間のおよそ 4.5 乗に比例することを示しました。この期間べき乗の恒等式は、多くの教育用禁煙モデルの骨格です。
止めたあとも超過は禁煙当日に消えません。残る超過の割合は、禁煙時の期間を期間と禁煙後時間の和で割り、k マイナス 1 乗するのが通例です。k が 4.5 なら指数は 3.5 なので、20 年吸って 10 年前に止めた人はピーク超過のおよそ (20 / 30) の 3.5 乗を残し、喫煙に起因する余分なリスクの約 4 分の 3 が落ちることになります。
生涯非喫煙者と同じ絶対リスクになったという主張ではなく、個人の診断でもありません。禁煙後の時間は暦の量です。この計算機は禁煙日から基準日までのグレゴリオ暦の全日数を数え、平均グレゴリオ年 365.2425 で割るため、うるう日はサーバー時計を読まずに含まれます。
喫煙年数 0 は許可され、回復すべき喫煙起因の超過がないため低減率は 0 パーセントです。禁煙日が基準日と同じ場合も、回復時間が経過していないため 0 パーセントです。出力には残存超過割合、推定リスク低減率、禁煙後の日数と年数、Doll–Peto の k、式文字列、テストやワークシートに固定できる順序付き代入ステップが常に含まれます。
実務上の使い方、上限、パック年との違い
いつ禁煙したか、それまで何年吸っていたかが既に分かっていて、選んだ基準日までに期間駆動の肺がん超過リスクがどれだけ落ちたかを透明に見積もりたいときに、このページを使ってください。禁煙教育のワークシート、相談用の配布物、健康アプリの単体テスト、禁煙の節目を記録する前のパイプライン確認に向きます。例は意図して組んでください。
喫煙 40 年で禁煙後わずか 5 年なら、期間が長いほど分数の低下が遅くなることが分かります。パック年計算機ではありません(あれは1日の本数×喫煙年数で、検索意図が違います)。PLCOm2012 や LLP の臨床リスクスコアでも、コチニン換算でも、個別患者への医療助言でもありません。
累積の紙巻きたばこ曝露だけが必要ならパック年ツールを、禁煙日と期間の関数としての超過リスク回復が問いならこの能力を選んでください。べき乗が溢れることのないよう、期間は公開された絶対範囲内に保ってください。
活用例
禁煙教育用ワークシート
相談担当者は禁煙日、喫煙年数、本日のワークシート日付を入れ、代入ステップ付きの推定超過リスク低減率を示します。
健康アプリと EHR の単体テスト
既知の正しい回復フィクスチャと、意図した負の喫煙年数の拒否を、禁煙トラッカーの期待値と検証スイート向けに生成します。
記録された禁煙日からの個人の経過
記録された日に止めた人は、表計算も臨床リスクエンジンも使わず、1年・5年・10年の推定回復を比べられます。
よくある質問
喫煙年数が負のときはどうなりますか?
負の期間は有効な喫煙歴ではありません。喫煙年数 0 は許可され、回復すべき超過がないため低減率は 0% です。
これは医学的診断や臨床の肺がんリスクスコアですか?
いいえ。 Doll–Peto の期間べき乗による超過リスク回復の教育用見積もりです。PLCOm2012、LLP、Bach、検診基準、臨床医の判断の代わりにはなりません。
リスクの減少はどのように計算しますか?
喫煙年数を、喫煙年数と禁煙後の年数の合計で割り、その値を3.5乗したものが残っている上乗せリスクの割合です。1からこれを引いて100を掛けたものが減少率になります。
リスクが大きく減れば、一度も吸ったことがない人と同じですか?
同じではありません。減るのは喫煙による上乗せ分のリスクで、絶対的なリスクではありません。一度も吸ったことがない人と同じになったという意味ではなく、個人の診断でもありません。
喫煙年数が0年や、禁煙日と基準日が同じ日のときはどうなりますか?
どちらも減少率は0パーセントです。喫煙年数が0年なら回復すべき上乗せリスクがなく、禁煙した当日はまだ回復の時間がたっていないためです。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/health/smoking-recovery \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"quit_date":"2016-07-25","years_smoked":20,"as_of":"2026-07-25"}'const res = await fetch("https://api.kit.forhosting.com/health/smoking-recovery", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"quit_date": "2016-07-25",
"years_smoked": 20,
"as_of": "2026-07-25"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/health/smoking-recovery",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"quit_date": "2016-07-25",
"years_smoked": 20,
"as_of": "2026-07-25"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/health/smoking-recovery", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"quit_date":"2016-07-25","years_smoked":20,"as_of":"2026-07-25"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"quit_date":"2016-07-25","years_smoked":20,"as_of":"2026-07-25"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/health/smoking-recovery", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"quit_date": "2016-07-25",
"years_smoked": 20,
"as_of": "2026-07-25"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "health.smoking_recovery",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
制限
max_years_smoked | 120 |
max_years_since_quit | 120 |
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
負の喫煙年数は invalid_input で拒否され、フォームの誤りが回復曲線を捏造しないようにします。
入力契約、日付、エラーの扱い
4 月 31 日のような存在しない日は拒否されます。必須3欄の JSON 本体を POST してください。quit_date(別名 quit, cessation_date, date_quit, stopped_on)は止めた暦日で、YYYY-MM-DD 形式の実在するグレゴリオ日付、年は 1 から 9999 までです。years_smoked(別名 years, duration_years, smoking_years, years_of_smoking)は禁煙時の喫煙期間で、有限の非負数、0 は可、最大 120 です。as_of(別名 as_of_date, reference_date, on, date)は評価日で、同じく YYYY-MM-DD、禁煙日当日以降でなければ禁煙後年数が負になり得ます。as_of は常に呼び出し側が渡すため、異なる時間帯の2台の機械でも同じ暦日の組に対して同じ JSON になります。成功時、本体は quit_date, as_of, years_smoked をエコーし、days_since_quit を整数の通日差、years_since_quit をその差を 365.2425 で割った値、remaining_excess_fraction を Doll–Peto の残存分、risk_reduction_pct を 1 からその分を引いて 100 倍した値、doll_peto_k を 4.5 とし、formula, message, steps を付けます。欠落欄、非有限数、負の喫煙年数、as_of より未来の禁煙、対応年範囲外の日付、禁煙後 120 年超は invalid_input を返し、課金しません。成功呼び出しは単位 item の定額 $0.002 です。数値欄は小数 12 桁に丸め、無料のブラウザ実行器と API がバイト単位で一致します。
実務上の使い方、上限、パック年との違い
2016 年 7 月 25 日禁煙、as_of が 2026 年 7 月 25 日、喫煙 20 年なら約 10 年の回復。負の years_smoked は invalid_input の硬い経路を示します。この着地は、禁煙後の回復計算機、禁煙後の肺がんリスク、止めると肺のリスクがどれだけ下がるか、を探す人向けです。invalid_input を返す失敗タスクは前払い残高を消費しません。往復確認は簡単です。 2つの ISO 日付の日数を再計算し、365.2425 で割り、D を D 加 T で割って 3.5 乗し、1 からその量を引いて 100 倍したものが、小数 12 桁丸めの範囲で公開された risk_reduction_pct と一致することを確かめてください。
技術的な質問
禁煙後の肺がんリスク回復はどのように計算しますか?
禁煙後年数は quit_date から as_of までのグレゴリオ日数差を 365.2425 で割った値です。残存超過は (years_smoked / (years_smoked + years_since_quit)) の 3.5 乗(Doll–Peto k = 4.5)です。リスク低減率は 100 × (1 − 残存超過) です。
禁煙日のほかに基準日を送る必要があるのはなぜですか?
禁煙後の時間は暦の差です。as_of を渡すとサーバー時計なしで結果が決定的になり、同じ日付ならブラウザのウィジェットと API が常に一致します。
禁煙後の回復計算機の料金はいくらですか?
ブラウザのツールは無料で、お使いの端末で動きます。API 呼び出しは成功1件あたり $0.002 の KIT 前払い残高を使い、失敗したタスクは課金されません。