{"id":2664,"date":"2026-03-14T19:07:12","date_gmt":"2026-03-14T17:07:12","guid":{"rendered":"https:\/\/bio-me.bio\/?page_id=2664"},"modified":"2026-03-14T19:07:12","modified_gmt":"2026-03-14T17:07:12","slug":"air-quality-health-impact-tool","status":"publish","type":"page","link":"https:\/\/bio-me.bio\/?page_id=2664","title":{"rendered":"Air Quality Health Impact Tool"},"content":{"rendered":"\n<div class=\"eco-tool wp-block-group\" id=\"eco-tool-air-4f1b9\">\n  <div class=\"eco-tool__header\">\n    <h2 class=\"eco-tool__title\">Air Quality Health Impact Tool<\/h2>\n    <p class=\"eco-tool__lead\">\n      Estimate how current air pollution conditions may affect daily activity and whether extra caution may be useful.\n    <\/p>\n  <\/div>\n\n  <form class=\"eco-tool__form\" id=\"eco-air-form-4f1b9\" novalidate>\n    <div class=\"eco-tool__grid3\">\n      <div class=\"eco-tool__field\">\n        <label class=\"eco-tool__label\" for=\"eco-air-aqi-4f1b9\">Air Quality Index (AQI)<\/label>\n        <input class=\"eco-tool__input\" id=\"eco-air-aqi-4f1b9\" type=\"number\" min=\"0\" max=\"500\" step=\"1\" value=\"75\" inputmode=\"numeric\" \/>\n        <div class=\"eco-tool__hint\">Use your local AQI if you know it.<\/div>\n      <\/div>\n\n      <div class=\"eco-tool__field\">\n        <label class=\"eco-tool__label\" for=\"eco-air-duration-4f1b9\">Time outdoors (hours)<\/label>\n        <input class=\"eco-tool__input\" id=\"eco-air-duration-4f1b9\" type=\"number\" min=\"0\" max=\"24\" step=\"0.5\" value=\"2\" inputmode=\"decimal\" \/>\n        <div class=\"eco-tool__hint\">Longer outdoor time can increase total exposure.<\/div>\n      <\/div>\n\n      <div class=\"eco-tool__field\">\n        <label class=\"eco-tool__label\" for=\"eco-air-activity-4f1b9\">Activity level outdoors<\/label>\n        <select class=\"eco-tool__input\" id=\"eco-air-activity-4f1b9\">\n          <option value=\"low\" selected>Low \/ light walking<\/option>\n          <option value=\"moderate\">Moderate \/ brisk walking<\/option>\n          <option value=\"high\">High \/ running \/ hard effort<\/option>\n        <\/select>\n        <div class=\"eco-tool__hint\">Harder breathing can increase inhaled pollution.<\/div>\n      <\/div>\n\n      <div class=\"eco-tool__field\">\n        <label class=\"eco-tool__label\" for=\"eco-air-sensitive-4f1b9\">Sensitive group status<\/label>\n        <select class=\"eco-tool__input\" id=\"eco-air-sensitive-4f1b9\">\n          <option value=\"no\" selected>No known sensitivity<\/option>\n          <option value=\"mild\">Mild sensitivity<\/option>\n          <option value=\"yes\">Asthma \/ lung \/ heart sensitivity<\/option>\n        <\/select>\n        <div class=\"eco-tool__hint\">Sensitive groups may feel effects sooner.<\/div>\n      <\/div>\n\n      <div class=\"eco-tool__field\">\n        <label class=\"eco-tool__label\" for=\"eco-air-mask-4f1b9\">Mask \/ protection<\/label>\n        <select class=\"eco-tool__input\" id=\"eco-air-mask-4f1b9\">\n          <option value=\"none\" selected>None<\/option>\n          <option value=\"basic\">Basic face covering<\/option>\n          <option value=\"good\">Well-fitted protective mask<\/option>\n        <\/select>\n        <div class=\"eco-tool__hint\">Some masks reduce inhaled particles more than others.<\/div>\n      <\/div>\n\n      <div class=\"eco-tool__field\">\n        <label class=\"eco-tool__label\" for=\"eco-air-symptoms-4f1b9\">Current symptoms<\/label>\n        <select class=\"eco-tool__input\" id=\"eco-air-symptoms-4f1b9\">\n          <option value=\"none\" selected>None<\/option>\n          <option value=\"mild\">Mild irritation<\/option>\n          <option value=\"moderate\">Noticeable symptoms<\/option>\n        <\/select>\n        <div class=\"eco-tool__hint\">Eye irritation, cough, chest tightness, or headache can matter.<\/div>\n      <\/div>\n    <\/div>\n\n    <div class=\"eco-tool__actions\">\n      <button type=\"button\" class=\"wp-element-button eco-tool__btn\" id=\"eco-air-calc-4f1b9\">Calculate<\/button>\n      <button type=\"button\" class=\"wp-element-button eco-tool__btn eco-tool__btn--ghost\" id=\"eco-air-reset-4f1b9\">Reset<\/button>\n      <div class=\"eco-tool__error\" id=\"eco-air-error-4f1b9\" aria-live=\"polite\"><\/div>\n    <\/div>\n  <\/form>\n\n  <div class=\"eco-tool__result\" id=\"eco-air-result-4f1b9\" hidden>\n    <h3 class=\"eco-tool__subtitle\">Result<\/h3>\n\n    <div class=\"eco-tool__cards\">\n      <div class=\"eco-tool__card\">\n        <div class=\"eco-tool__metric-label\">Estimated health impact<\/div>\n        <div class=\"eco-tool__metric-value\" id=\"eco-air-level-4f1b9\">\u2014<\/div>\n        <div class=\"eco-tool__metric-sub\" id=\"eco-air-score-4f1b9\"><\/div>\n      <\/div>\n\n      <div class=\"eco-tool__card\">\n        <div class=\"eco-tool__metric-label\">Suggested action<\/div>\n        <div class=\"eco-tool__metric-value\" id=\"eco-air-action-4f1b9\">\u2014<\/div>\n        <div class=\"eco-tool__metric-sub\" id=\"eco-air-sub-4f1b9\"><\/div>\n      <\/div>\n    <\/div>\n\n    <div class=\"eco-tool__card eco-tool__card--wide\">\n      <div class=\"eco-tool__metric-label\">Interpretation<\/div>\n      <div class=\"eco-tool__metric-sub\" id=\"eco-air-note-4f1b9\"><\/div>\n    <\/div>\n\n    <p class=\"eco-tool__note\">\n      This is an educational estimate, not medical advice. If you have severe breathing symptoms, seek medical help.\n    <\/p>\n  <\/div>\n\n  <details class=\"eco-tool__details\">\n    <summary class=\"eco-tool__summary\">How we calculate<\/summary>\n    <div class=\"eco-tool__details-body\">\n      <p class=\"eco-tool__text\">\n        We combine AQI, time outdoors, activity level, sensitivity, mask use, and symptoms into a simple impact score.\n      <\/p>\n    <\/div>\n  <\/details>\n<\/div>\n\n<style>\n.eco-tool{ border:1px solid rgba(0,0,0,.12); border-radius:12px; padding:16px; }\n.eco-tool__header{ margin-bottom:12px; }\n.eco-tool__title{ margin:0 0 8px; }\n.eco-tool__lead{ margin:0; opacity:.9; }\n.eco-tool__form{ margin-top:12px; }\n\n.eco-tool__grid3{ display:grid; grid-template-columns:1fr; gap:16px; }\n@media (min-width:860px){ .eco-tool__grid3{ grid-template-columns:1fr 1fr 1fr; } }\n\n.eco-tool__field{ display:flex; flex-direction:column; gap:6px; }\n.eco-tool__label{ font-weight:600; }\n\n.eco-tool__input{\n  width:100%;\n  height:44px;\n  padding:0 12px;\n  border:1px solid rgba(0,0,0,.20);\n  border-radius:10px;\n  background:#fff;\n  box-sizing:border-box;\n  font:inherit;\n}\n.eco-tool select.eco-tool__input{\n  appearance:none;\n  -webkit-appearance:none;\n  line-height:44px;\n  padding-right:40px;\n  background-image:\n    linear-gradient(45deg, transparent 50%, rgba(0,0,0,.60) 50%),\n    linear-gradient(135deg, rgba(0,0,0,.60) 50%, transparent 50%);\n  background-position:\n    calc(100% - 18px) 50%,\n    calc(100% - 12px) 50%;\n  background-size:6px 6px;\n  background-repeat:no-repeat;\n}\n\n.eco-tool__hint{ font-size:.92em; opacity:.78; min-height:38px; }\n\n.eco-tool__actions{ display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin-top:16px; }\n.eco-tool__btn{ padding:10px 22px; }\n.eco-tool__btn--ghost{ background:transparent !important; border:1px solid rgba(0,0,0,.20) !important; }\n.eco-tool__btn--ghost:hover,.eco-tool__btn--ghost:focus{ background:rgba(0,0,0,.06) !important; border-color:rgba(0,0,0,.35) !important; }\n\n.eco-tool__error{ min-height:1.2em; font-weight:600; flex:1 1 240px; }\n\n.eco-tool__result{ margin-top:16px; }\n.eco-tool__subtitle{ margin:0 0 10px; }\n\n.eco-tool__cards{ display:grid; gap:10px; grid-template-columns:1fr; }\n@media (min-width:860px){ .eco-tool__cards{ grid-template-columns:1fr 1fr; } }\n\n.eco-tool__card{ border:1px solid rgba(0,0,0,.12); border-radius:12px; padding:12px; }\n.eco-tool__card--wide{ margin-top:10px; }\n.eco-tool__metric-label{ opacity:.85; font-weight:600; }\n.eco-tool__metric-value{ font-size:1.6em; font-weight:800; margin-top:6px; line-height:1.1; }\n.eco-tool__metric-sub{ opacity:.85; margin-top:6px; }\n\n.eco-tool__note{ margin:10px 0 0; opacity:.9; }\n.eco-tool__details{ margin-top:14px; }\n.eco-tool__summary{ cursor:pointer; font-weight:700; }\n.eco-tool__details-body{ margin-top:10px; }\n.eco-tool__text{ margin:0 0 10px; }\n<\/style>\n\n<script>\n(function(){\n  const S = \"4f1b9\";\n  const el = (id) => document.getElementById(id + \"-\" + S);\n\n  const aqiEl = el(\"eco-air-aqi\");\n  const durationEl = el(\"eco-air-duration\");\n  const activityEl = el(\"eco-air-activity\");\n  const sensitiveEl = el(\"eco-air-sensitive\");\n  const maskEl = el(\"eco-air-mask\");\n  const symptomsEl = el(\"eco-air-symptoms\");\n\n  const calcBtn = el(\"eco-air-calc\");\n  const resetBtn = el(\"eco-air-reset\");\n  const errorEl = el(\"eco-air-error\");\n\n  const resultEl = el(\"eco-air-result\");\n  const levelEl = el(\"eco-air-level\");\n  const scoreEl = el(\"eco-air-score\");\n  const actionEl = el(\"eco-air-action\");\n  const subEl = el(\"eco-air-sub\");\n  const noteEl = el(\"eco-air-note\");\n\n  function setError(msg){ errorEl.textContent = msg || \"\"; }\n\n  function calculate(){\n    setError(\"\");\n\n    const aqi = Number(aqiEl.value);\n    const duration = Number(durationEl.value);\n\n    if (!Number.isFinite(aqi) || aqi < 0){\n      setError(\"Please enter a valid AQI.\");\n      resultEl.hidden = true;\n      return;\n    }\n    if (!Number.isFinite(duration) || duration < 0){\n      setError(\"Please enter a valid outdoor duration.\");\n      resultEl.hidden = true;\n      return;\n    }\n\n    let score = 0;\n\n    if (aqi >= 51) score += 2;\n    if (aqi >= 101) score += 3;\n    if (aqi >= 151) score += 4;\n    if (aqi >= 201) score += 5;\n    if (aqi >= 301) score += 6;\n\n    if (duration >= 1) score += 1;\n    if (duration >= 3) score += 2;\n    if (duration >= 6) score += 2;\n\n    if (activityEl.value === \"moderate\") score += 2;\n    if (activityEl.value === \"high\") score += 4;\n\n    if (sensitiveEl.value === \"mild\") score += 2;\n    if (sensitiveEl.value === \"yes\") score += 5;\n\n    if (maskEl.value === \"basic\") score -= 1;\n    if (maskEl.value === \"good\") score -= 3;\n\n    if (symptomsEl.value === \"mild\") score += 2;\n    if (symptomsEl.value === \"moderate\") score += 5;\n\n    score = Math.max(0, score);\n\n    let level = \"\";\n    let action = \"\";\n    let note = \"\";\n\n    if (score <= 3){\n      level = \"Low\";\n      action = \"Normal caution\";\n      note = \"For most people, air quality impact appears limited under these conditions.\";\n    } else if (score <= 8){\n      level = \"Moderate\";\n      action = \"Consider reducing exposure\";\n      note = \"You may benefit from shorter outdoor sessions or lighter activity, especially if you are sensitive.\";\n    } else if (score <= 14){\n      level = \"High\";\n      action = \"Limit outdoor strain\";\n      note = \"Air quality may meaningfully affect comfort or breathing, especially during exercise or prolonged exposure.\";\n    } else {\n      level = \"Very high\";\n      action = \"Reduce exposure now\";\n      note = \"These conditions suggest a higher potential health impact. Shorten time outdoors and reduce exertion if possible.\";\n    }\n\n    let sub = \"\";\n    if (aqi >= 151){\n      sub = \"This AQI level is often a strong signal to reduce outdoor exertion.\";\n    } else if (sensitiveEl.value === \"yes\"){\n      sub = \"Sensitive groups may feel effects earlier than the general population.\";\n    } else if (activityEl.value === \"high\"){\n      sub = \"Heavy breathing can increase your effective exposure.\";\n    } else {\n      sub = \"Keeping exposure shorter may still help on moderate pollution days.\";\n    }\n\n    levelEl.textContent = level;\n    scoreEl.textContent = `Score: ${score}`;\n    actionEl.textContent = action;\n    subEl.textContent = sub;\n    noteEl.textContent = note;\n\n    resultEl.hidden = false;\n  }\n\n  function reset(){\n    setError(\"\");\n    aqiEl.value = \"75\";\n    durationEl.value = \"2\";\n    activityEl.value = \"low\";\n    sensitiveEl.value = \"no\";\n    maskEl.value = \"none\";\n    symptomsEl.value = \"none\";\n    resultEl.hidden = true;\n  }\n\n  calcBtn.addEventListener(\"click\", calculate);\n  resetBtn.addEventListener(\"click\", reset);\n})();\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>Air Quality Health Impact Tool Estimate how current air pollution conditions may affect daily activity and whether extra caution may be useful. Air Quality Index (AQI) Use your local AQI&hellip;<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":2462,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_sitemap_exclude":false,"_sitemap_priority":"","_sitemap_frequency":"","footnotes":""},"_links":{"self":[{"href":"https:\/\/bio-me.bio\/index.php?rest_route=\/wp\/v2\/pages\/2664"}],"collection":[{"href":"https:\/\/bio-me.bio\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/bio-me.bio\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/bio-me.bio\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/bio-me.bio\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2664"}],"version-history":[{"count":1,"href":"https:\/\/bio-me.bio\/index.php?rest_route=\/wp\/v2\/pages\/2664\/revisions"}],"predecessor-version":[{"id":2665,"href":"https:\/\/bio-me.bio\/index.php?rest_route=\/wp\/v2\/pages\/2664\/revisions\/2665"}],"up":[{"embeddable":true,"href":"https:\/\/bio-me.bio\/index.php?rest_route=\/wp\/v2\/pages\/2462"}],"wp:attachment":[{"href":"https:\/\/bio-me.bio\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2664"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}