{"id":454,"date":"2025-08-17T00:18:26","date_gmt":"2025-08-17T00:18:26","guid":{"rendered":"https:\/\/sahidawai.com\/?page_id=454"},"modified":"2025-08-18T21:05:59","modified_gmt":"2025-08-18T21:05:59","slug":"news","status":"publish","type":"page","link":"https:\/\/sahidawai.com\/?page_id=454","title":{"rendered":"News"},"content":{"rendered":"\n<p><\/p>\n\n\n\n<section id=\"medicine-search\" style=\"max-width:800px; margin:auto; padding:20px; font-family:Arial,sans-serif;\">\n  <h2 style=\"color:#0073e6; text-align:center;\">\ud83d\udd0d Search Any News Topic <\/h2>\n  <p style=\"text-align:center; font-size:15px; color:#444;\">Type a medicine name to get details from trusted sources (Wikipedia + FDA).<\/p>\n\n  <div style=\"display:flex; justify-content:center; gap:8px; margin:20px 0;\">\n    <input type=\"text\" id=\"medicineQuery\" placeholder=\"Enter medicine name...\" style=\"padding:10px; width:70%; max-width:400px; border:1px solid #ccc; border-radius:5px;\">\n    <button onclick=\"searchMedicine()\" style=\"padding:10px 15px; background:#0073e6; color:#fff; border:none; border-radius:5px; cursor:pointer;\">Search<\/button>\n  <\/div>\n\n  <div id=\"medicineResult\" style=\"margin-top:20px; padding:15px; border:1px solid #eee; border-radius:8px; min-height:80px;\">\n    <em>Results will appear here&#8230;<\/em>\n  <\/div>\n<\/section>\n\n<script>\n  async function searchMedicine() {\n    const query = document.getElementById(\"medicineQuery\").value.trim();\n    const resultBox = document.getElementById(\"medicineResult\");\n\n    if (!query) {\n      resultBox.innerHTML = \"<span style='color:red;'>\u26a0 Please enter a medicine name.<\/span>\";\n      return;\n    }\n\n    resultBox.innerHTML = \"<em>Searching Wikipedia...<\/em>\";\n\n    try {\n      \/\/ Try Wikipedia first\n      const wikiRes = await fetch(`https:\/\/en.wikipedia.org\/api\/rest_v1\/page\/summary\/${encodeURIComponent(query)}`);\n      if (wikiRes.ok) {\n        const wikiData = await wikiRes.json();\n        if (wikiData.extract) {\n          resultBox.innerHTML = `\n            <h3>${wikiData.title}<\/h3>\n            <p>${wikiData.description || \"\"}<\/p>\n            <p>${wikiData.extract}<\/p>\n            ${wikiData.thumbnail ? `<img decoding=\"async\" src=\"${wikiData.thumbnail.source}\" alt=\"${wikiData.title}\" style=\"max-width:150px; border-radius:5px;\">` : \"\"}\n            <p><a href=\"${wikiData.content_urls.desktop.page}\" target=\"_blank\">Read more on Wikipedia<\/a><\/p>\n          `;\n          return; \/\/ success, stop here\n        }\n      }\n\n      \/\/ Fallback to openFDA if Wikipedia fails\n      resultBox.innerHTML = \"<em>No Wikipedia result, checking FDA database...<\/em>\";\n      const fdaRes = await fetch(`https:\/\/api.fda.gov\/drug\/label.json?search=openfda.brand_name:\"${encodeURIComponent(query)}\"&limit=1`);\n      const fdaData = await fdaRes.json();\n      const info = fdaData.results?.[0];\n\n      if (info) {\n        resultBox.innerHTML = `\n          <h3>${info.openfda.brand_name?.join(\", \") || query}<\/h3>\n          <p><b>Generic Name:<\/b> ${info.openfda.generic_name?.join(\", \") || \"N\/A\"}<\/p>\n          <p><b>Purpose:<\/b> ${info.purpose?.join(\" \") || \"N\/A\"}<\/p>\n          <p><b>Dosage Form:<\/b> ${info.openfda.dosage_form?.join(\", \") || \"N\/A\"}<\/p>\n          <p><b>Route:<\/b> ${info.openfda.route?.join(\", \") || \"N\/A\"}<\/p>\n          <p><b>Warning:<\/b> ${info.warnings?.[0] || \"No major warnings listed.\"}<\/p>\n        `;\n      } else {\n        resultBox.innerHTML = `<span style='color:orange;'>No results found for \"${query}\".<\/span>`;\n      }\n    } catch (error) {\n      console.error(error);\n      resultBox.innerHTML = `<span style='color:red'>Error fetching data. Try again later.<\/span>`;\n    }\n  }\n<\/script>\n\n\n\n<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n  <meta charset=\"utf-8\" \/>\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\" \/>\n  <title>SahiDawai \u2013 Top Healthcare News<\/title>\n  <meta name=\"description\" content=\"Top 8 healthcare news articles, fast loading previews.\" \/>\n  <script src=\"https:\/\/cdn.tailwindcss.com\"><\/script>\n  <style>\n    .card:hover { transform: translateY(-2px); }\n    .truncate-2 { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }\n  <\/style>\n<\/head>\n<body class=\"bg-gray-50 text-gray-900\">\n  <header class=\"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8\">\n    <h1 class=\"text-2xl sm:text-3xl font-extrabold tracking-tight\">\ud83c\udf10 SahiDawai \u2013 Top 8 News<\/h1>\n    <div id=\"lastUpdated\" class=\"text-xs text-gray-500 mt-2\">Last updated: \u2014<\/div>\n  <\/header>\n\n  <main class=\"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 pb-20\">\n    <div id=\"newsList\" class=\"grid gap-3 md:gap-4 md:grid-cols-2\"><\/div>\n  <\/main>\n\n  <footer class=\"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 pb-10 text-xs text-gray-500\">\n    Data fetched from Google News feeds.\n  <\/footer>\n\n  <script>\n    const QUERIES = [\n      'pharma healthcare',\n      'health policy',\n      'medical research',\n      'public health',\n      'global healthcare',\n      'healthcare workforce',\n      'healthcare market',\n      'healthcare innovation'\n    ];\n\n    async function loadTopNews() {\n      const allNews = [];\n      for (const q of QUERIES) {\n        try {\n          const feedUrl = `https:\/\/news.google.com\/rss\/search?q=${encodeURIComponent(q)}&hl=en-IN&gl=IN&ceid=IN:en`;\n          const res = await fetch(`https:\/\/api.allorigins.win\/get?url=${encodeURIComponent(feedUrl)}`);\n          const data = await res.json();\n          const xml = new DOMParser().parseFromString(data.contents, 'text\/xml');\n          const items = [...xml.querySelectorAll('item')].map(it => ({\n            title: it.querySelector('title')?.textContent,\n            link: it.querySelector('link')?.textContent,\n            pubDate: it.querySelector('pubDate')?.textContent,\n            source: it.querySelector('source')?.textContent\n          }));\n          if (items.length) allNews.push(items[0]); \/\/ take only first news per category\n        } catch (err) {\n          console.log('Failed to fetch', q, err);\n        }\n      }\n\n      const listEl = document.getElementById('newsList');\n      listEl.innerHTML = '';\n      allNews.slice(0,8).forEach(it => {\n        const card = document.createElement('article');\n        card.className = 'card p-4 bg-white rounded-2xl border border-gray-200 shadow-sm transition';\n        card.innerHTML = `\n          <a class=\"text-base font-semibold hover:underline\" href=\"${it.link}\" target=\"_blank\" rel=\"noopener noreferrer\">${escapeHtml(it.title)}<\/a>\n          <div class=\"mt-1 text-xs text-gray-600 flex items-center gap-2\">\n            <span class=\"px-2 py-0.5 rounded-full bg-gray-100 border border-gray-200\">${escapeHtml(it.source || 'News')}<\/span>\n            <span>\u2022<\/span>\n            <time>${formatDate(it.pubDate)}<\/time>\n          <\/div>\n        `;\n        listEl.appendChild(card);\n      });\n\n      document.getElementById('lastUpdated').textContent = `Last updated: ${new Date().toLocaleString()}`;\n    }\n\n    function formatDate(d) {\n      try { return new Date(d).toLocaleString([], { year:'numeric', month:'short', day:'2-digit', hour:'2-digit', minute:'2-digit' }); }\n      catch { return d; }\n    }\n\n    function escapeHtml(str) { return (str||'').replace(\/[&<>\"']\/g, m => ({'&':'&amp;','<':'&lt;','>':'&gt;','\"':'&quot;','\"':'&#39;'}[m])); }\n\n    window.addEventListener('load', loadTopNews);\n  <\/script>\n<\/body>\n<\/html>\n\n\n\n<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n  <meta charset=\"utf-8\" \/>\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\" \/>\n  <title>SahiDawai \u2013 Healthcare News Hub<\/title>\n  <meta name=\"description\" content=\"Auto-updating healthcare &#038; pharma news across 8 sections (160 stories).\" \/>\n  <!-- Tailwind CSS CDN -->\n  <script src=\"https:\/\/cdn.tailwindcss.com\"><\/script>\n  <style>\n    .card:hover { transform: translateY(-2px); }\n    .truncate-2 { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }\n  <\/style>\n<\/head>\n<body class=\"bg-gray-50 text-gray-900\">\n  <header class=\"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8\">\n    <h1 class=\"text-2xl sm:text-3xl font-extrabold tracking-tight\">\ud83c\udf10 SahiDawai \u2013 News &#038; Updates<\/h1>\n    <p class=\"text-sm text-gray-600 mt-1\">.<\/p>\n    <div id=\"lastUpdated\" class=\"text-xs text-gray-500 mt-2\">Last updated: \u2014<\/div>\n  <\/header>\n\n  <main class=\"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 pb-20\">\n    <div class=\"overflow-x-auto\">\n      <div id=\"tabs\" class=\"grid grid-flow-col auto-cols-max gap-2 sm:gap-3\"><\/div>\n    <\/div>\n    <div id=\"panels\" class=\"mt-6\"><\/div>\n  <\/main>\n\n  <footer class=\"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 pb-10 text-xs text-gray-500\">\n    Data served via Google News &#038; feeds.\n  <\/footer>\n\n  <script>\n    const CATEGORIES = [\n      { id: 'pharma-industry', label: '\ud83d\udcf0 Pharma Industry', query: 'pharma healthcare' },\n      { id: 'policy-regulations', label: '\u2696\ufe0f Policy & Regulations', query: 'health policy regulations' },\n      { id: 'research-innovation', label: '\ud83e\uddea Research & Innovation', query: 'medical research innovation' },\n      { id: 'public-health', label: '\ud83c\udfe5 Public Health & Awareness', query: 'public health awareness' },\n      { id: 'global-health', label: '\ud83c\udf0d Global Healthcare', query: 'global healthcare' },\n      { id: 'workforce', label: '\ud83d\udc69\u200d\u2695\ufe0f Healthcare Workforce', query: 'healthcare workforce' },\n      { id: 'market-economy', label: '\ud83d\udcca Market & Economy', query: 'healthcare market economy' },\n      { id: 'interviews-opinions', label: '\ud83c\udfa4 Interviews & Opinions', query: 'healthcare interview opinion' }\n    ];\n\n    const tabsEl = document.getElementById('tabs');\n    const panelsEl = document.getElementById('panels');\n\n    CATEGORIES.forEach((cat, idx) => {\n      const btn = document.createElement('button');\n      btn.className = `tab px-4 py-2 rounded-2xl border border-gray-200 bg-white shadow text-sm font-medium hover:bg-gray-50 ${idx===0 ? 'ring-2 ring-blue-600' : ''}`;\n      btn.textContent = cat.label;\n      btn.setAttribute('data-tab', cat.id);\n      tabsEl.appendChild(btn);\n\n      const panel = document.createElement('section');\n      panel.id = cat.id;\n      panel.className = `${idx===0 ? '' : 'hidden'} mt-4`;\n      panel.innerHTML = `\n        <h2 class=\"text-xl font-semibold mb-4\">${cat.label}<\/h2>\n        <div class=\"grid gap-3 md:gap-4 md:grid-cols-2\" data-list><\/div>\n        <button data-expand class=\"mt-4 px-3 py-2 rounded-xl bg-blue-600 text-white text-sm hidden\">See all news<\/button>\n      `;\n      panelsEl.appendChild(panel);\n    });\n\n    tabsEl.addEventListener('click', (e) => {\n      const btn = e.target.closest('button[data-tab]');\n      if (!btn) return;\n      const id = btn.getAttribute('data-tab');\n      [...tabsEl.children].forEach(b => b.classList.remove('ring-2','ring-blue-600'));\n      btn.classList.add('ring-2','ring-blue-600');\n      CATEGORIES.forEach(cat => {\n        const el = document.getElementById(cat.id);\n        if (cat.id === id) el.classList.remove('hidden'); else el.classList.add('hidden');\n      });\n    });\n\n    async function loadNews() {\n      for (const cat of CATEGORIES) {\n        try {\n          const feedUrl = `https:\/\/news.google.com\/rss\/search?q=${encodeURIComponent(cat.query)}&hl=en-IN&gl=IN&ceid=IN:en`;\n          const res = await fetch(`https:\/\/api.allorigins.win\/get?url=${encodeURIComponent(feedUrl)}`);\n          const data = await res.json();\n          const xml = new window.DOMParser().parseFromString(data.contents, 'text\/xml');\n          const items = [...xml.querySelectorAll('item')].map(it => ({\n            title: it.querySelector('title')?.textContent,\n            link: it.querySelector('link')?.textContent,\n            pubDate: it.querySelector('pubDate')?.textContent,\n            source: it.querySelector('source')?.textContent\n          }));\n\n          const listEl = document.querySelector(`#${cat.id} [data-list]`);\n          listEl.innerHTML = '';\n\n          items.slice(0,3).forEach((it) => {\n            const card = document.createElement('article');\n            card.className = 'card p-4 bg-white rounded-2xl border border-gray-200 shadow-sm transition';\n            card.innerHTML = `\n              <a class=\"text-base font-semibold hover:underline\" href=\"${it.link}\" target=\"_blank\" rel=\"noopener noreferrer\">${escapeHtml(it.title)}<\/a>\n              <div class=\"mt-1 text-xs text-gray-600 flex items-center gap-2\">\n                <span class=\"px-2 py-0.5 rounded-full bg-gray-100 border border-gray-200\">${escapeHtml(it.source || 'News')}<\/span>\n                <span>\u2022<\/span>\n                <time>${formatDate(it.pubDate)}<\/time>\n              <\/div>\n            `;\n            listEl.appendChild(card);\n          });\n\n          if (items.length > 3) {\n            const expandBtn = document.querySelector(`#${cat.id} [data-expand]`);\n            expandBtn.classList.remove('hidden');\n            expandBtn.onclick = () => {\n              listEl.innerHTML = '';\n              items.forEach((it) => {\n                const card = document.createElement('article');\n                card.className = 'card p-4 bg-white rounded-2xl border border-gray-200 shadow-sm transition';\n                card.innerHTML = `\n                  <a class=\"text-base font-semibold hover:underline\" href=\"${it.link}\" target=\"_blank\" rel=\"noopener noreferrer\">${escapeHtml(it.title)}<\/a>\n                  <div class=\"mt-1 text-xs text-gray-600 flex items-center gap-2\">\n                    <span class=\"px-2 py-0.5 rounded-full bg-gray-100 border border-gray-200\">${escapeHtml(it.source || 'News')}<\/span>\n                    <span>\u2022<\/span>\n                    <time>${formatDate(it.pubDate)}<\/time>\n                  <\/div>\n                `;\n                listEl.appendChild(card);\n              });\n              expandBtn.classList.add('hidden');\n            };\n          }\n        } catch (err) {\n          document.querySelector(`#${cat.id} [data-list]`).innerHTML = `<div class='p-4 text-gray-500'>Failed to load news.<\/div>`;\n        }\n      }\n      document.getElementById('lastUpdated').textContent = `Last updated: ${new Date().toLocaleString()}`;\n    }\n\n    function formatDate(d) {\n      try {\n        return new Date(d).toLocaleString([], { year: 'numeric', month: 'short', day: '2-digit', hour: '2-digit', minute: '2-digit' });\n      } catch { return d; }\n    }\n\n    function escapeHtml(str) {\n      return (str || '').replace(\/[&<>\"']\/g, m => ({'&':'&amp;','<':'&lt;','>':'&gt;','\\\"':'&quot;','\"':'&#39;'}[m]));\n    }\n\n    window.addEventListener('load', loadNews);\n  <\/script>\n<\/body>\n<\/html>\n","protected":false},"excerpt":{"rendered":"<p>\ud83d\udd0d Search Any News Topic Type a medicine name to get details from trusted sources (Wikipedia + FDA). Search Results will appear here&#8230; SahiDawai \u2013 Top Healthcare News \ud83c\udf10 SahiDawai \u2013 Top 8 News Last updated: \u2014 Data fetched from Google News feeds. SahiDawai \u2013 Healthcare News Hub \ud83c\udf10 SahiDawai \u2013 News &#038; Updates . [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-454","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/sahidawai.com\/index.php?rest_route=\/wp\/v2\/pages\/454","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sahidawai.com\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/sahidawai.com\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/sahidawai.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/sahidawai.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=454"}],"version-history":[{"count":17,"href":"https:\/\/sahidawai.com\/index.php?rest_route=\/wp\/v2\/pages\/454\/revisions"}],"predecessor-version":[{"id":605,"href":"https:\/\/sahidawai.com\/index.php?rest_route=\/wp\/v2\/pages\/454\/revisions\/605"}],"wp:attachment":[{"href":"https:\/\/sahidawai.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=454"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}