{"id":21344,"date":"2026-05-23T16:49:26","date_gmt":"2026-05-23T14:49:26","guid":{"rendered":"https:\/\/www.drugshortage.ch\/?page_id=21344"},"modified":"2026-06-19T23:28:28","modified_gmt":"2026-06-19T21:28:28","slug":"lieferengpaesse-nach-atc","status":"publish","type":"page","link":"https:\/\/www.drugshortage.ch\/index.php\/lieferengpaesse-nach-atc\/","title":{"rendered":"Lieferengp\u00e4sse nach ATC"},"content":{"rendered":"\n<!-- ============================================================\n     Seite mit Slug: \"lieferengpaesse-nach-atc\"\n     Die ATC-Gruppe wird via URL-Parameter ?ATC=A02 \u00fcbergeben.\n     ============================================================ -->\n<style>\n  #ad-outer { width:100%; box-sizing:border-box; font-family:'Segoe UI',Arial,sans-serif; font-size:13px; color:#2d3748; }\n  .container,.container-fluid,.entry-content,.post-content,.page-content,\n  .site-content,.content-area,#content,#primary,main,article {\n    max-width:100% !important; overflow:visible !important;\n    background:transparent !important; border:none !important;\n    box-shadow:none !important; padding:0 !important;\n  }\n  #ad-outer {\n    width: 100vw !important; position: relative;\n    left: 50%; right: 50%;\n    margin-left: -50vw !important; margin-right: -50vw !important;\n    padding: 0 24px; box-sizing: border-box;\n  }\n  #ad-loading { display:flex; align-items:center; gap:12px; padding:30px 20px; color:#718096; font-size:15px; }\n  .ad-spinner { width:24px; height:24px; border:3px solid #e2e8f0; border-top-color:#e53e3e; border-radius:50%; animation:adspin .8s linear infinite; flex-shrink:0; }\n  @keyframes adspin { to { transform:rotate(360deg); } }\n\n  .ad-back { display:inline-flex; align-items:center; gap:6px; font-size:13px; color:#e53e3e; text-decoration:none; font-weight:600; margin-bottom:16px; }\n  .ad-back:hover { text-decoration:underline; }\n  .ad-atc-name { font-size:22px; font-weight:700; color:#2d3748; margin-bottom:4px; }\n  .ad-atc-sub { font-size:13px; color:#718096; margin-bottom:16px; }\n\n  .ad-section-title { font-size:15px; font-weight:700; color:#2d3748; margin:20px 0 10px 0; padding-bottom:6px; border-bottom:2px solid #e53e3e; display:flex; align-items:center; gap:8px; }\n  .ad-icon { background:#e53e3e; color:#fff; border-radius:6px; padding:2px 8px; font-size:11px; font-weight:600; }\n\n  .ad-wichtig { background:#fff5f5; border-left:4px solid #e53e3e; border-radius:0 8px 8px 0; padding:10px 14px; font-size:13px; color:#742a2a; line-height:1.6; margin-bottom:12px; }\n\n  .ad-table-wrap { overflow-x:auto; width:100%; border-radius:8px; box-shadow:0 1px 4px rgba(0,0,0,.07); margin-bottom:6px; -webkit-overflow-scrolling:touch; }\n  .ad-table { width:100%; border-collapse:collapse; background:#fff; }\n  .ad-table thead tr { background:#2d3748; }\n  .ad-table th { padding:10px 12px; text-align:left; font-size:12px; font-weight:600; color:#fff; white-space:nowrap; letter-spacing:.4px; text-transform:uppercase; cursor:pointer; user-select:none; }\n  .ad-table th:hover { background:#4a5568; }\n  .ad-table td { padding:8px 12px; border-bottom:1px solid #edf2f7; font-size:13px; vertical-align:middle; }\n  .ad-table tbody tr:nth-child(even) td { background:#f7fafc; }\n  .ad-table tbody tr:nth-child(odd) td { background:#ffffff; }\n  .ad-table tbody tr:hover td { background:#ebf8ff !important; }\n  .ad-table tbody tr:last-child td { border-bottom:none; }\n  .ad-table a { color:#e53e3e; text-decoration:none; font-weight:500; }\n  .ad-table a:hover { text-decoration:underline; }\n\n  @media (max-width:768px) {\n    .ad-table thead { display:none; }\n    .ad-table tbody tr { display:block; margin-bottom:12px; border:1px solid #e2e8f0; border-radius:8px; overflow:hidden; }\n    .ad-table tbody td { display:flex; justify-content:space-between; align-items:center; padding:7px 12px; border-bottom:1px solid #f0f0f0; font-size:12px; background:#fff !important; }\n    .ad-table tbody td:before { content:attr(data-label); font-weight:600; color:#718096; margin-right:8px; min-width:110px; flex-shrink:0; }\n  }\n\n  .ad-search-wrap { display:flex; gap:10px; align-items:center; margin-bottom:12px; flex-wrap:wrap; }\n  .ad-suche { flex:1; min-width:200px; max-width:400px; padding:10px 14px; border:1px solid #e2e8f0; border-radius:8px; font-size:13px; outline:none; transition:border-color .2s, box-shadow .2s; }\n  .ad-suche:focus { border-color:#e53e3e; box-shadow:0 0 0 3px rgba(229,62,62,.1); }\n  .ad-count { font-size:12px; color:#718096; white-space:nowrap; }\n  .ad-leer { padding:20px; text-align:center; color:#718096; font-style:italic; }\n  .ad-footer { font-size:11px; color:#a0aec0; text-align:right; margin-top:8px; }\n<\/style>\n\n<div id=\"ad-outer\">\n  <div id=\"ad-loading\"><div class=\"ad-spinner\"><\/div> Daten werden geladen\u2026<\/div>\n  <div id=\"ad-inhalt\" style=\"display:none;\">\n\n    <a class=\"ad-back\" href=\"https:\/\/www.drugshortage.ch\/index.php\/uebersicht-nach-atc\/\">\u2190 Zur\u00fcck zur ATC-\u00dcbersicht<\/a>\n\n    <div class=\"ad-atc-name\" id=\"ad-atc-name\">\u2013<\/div>\n    <div class=\"ad-atc-sub\" id=\"ad-atc-sub\"><\/div>\n\n    <div class=\"ad-wichtig\">\n      <strong>Wichtig:<\/strong> Bei Firmen der Kategorie 1+2 sind Produkte m\u00f6glicherweise noch bei Grossisten verf\u00fcgbar.\n      Bei Firmen, die nicht selber melden (Kategorie 3, 4 und 5) stammen die Meldungen in der Regel von Usern.\n      Diese Meldungen spiegeln die Situation deren Bestellm\u00f6glichkeiten. Es ist m\u00f6glich, dass die Firmen oder andere Grossisten noch Ware haben. Das ist im Einzelfall zu kl\u00e4ren.\n    <\/div>\n\n    <div class=\"ad-section-title\"><span class=\"ad-icon\">&#x1f48a;<\/span> Offene Lieferengp\u00e4sse<\/div>\n    <div class=\"ad-search-wrap\">\n      <input type=\"text\" class=\"ad-suche\" id=\"ad-suche\" placeholder=\"&#x1f50d; Bezeichnung oder Firma suchen\u2026\">\n      <span class=\"ad-count\" id=\"ad-count\"><\/span>\n    <\/div>\n    <div class=\"ad-table-wrap\">\n      <table class=\"ad-table\" style=\"min-width:900px;\">\n        <thead><tr>\n          <th onclick=\"adSort('bezeichnung')\">Bezeichnung &#x2195;<\/th>\n          <th onclick=\"adSort('atc')\">ATC &#x2195;<\/th>\n          <th onclick=\"adSort('firma')\">Firma &#x2195;<\/th>\n          <th onclick=\"adSort('status')\">Status &#x2195;<\/th>\n          <th onclick=\"adSort('ersteMeldung')\">Erste Meldung &#x2195;<\/th>\n          <th onclick=\"adSort('lieferdatum')\">Datum Lieferf\u00e4higkeit &#x2195;<\/th>\n          <th onclick=\"adSort('mutation')\">Letzte Mutation &#x2195;<\/th>\n          <th>Alternativen<\/th>\n          <th>GTIN<\/th>\n        <\/tr><\/thead>\n        <tbody id=\"ad-tbody\"><\/tbody>\n      <\/table>\n    <\/div>\n    <div class=\"ad-footer\">Daten werden w\u00f6chentlich aktualisiert \u00b7 drugshortage.ch<\/div>\n\n  <\/div>\n<\/div>\n\n<script>\nconst AD_BASE = \"https:\/\/www.drugshortage.ch\";\nconst AD_API  = AD_BASE + \"\/ds.php?a=nachatc\";\n\/\/ HMAC wird serverseitig von ds.php erzeugt \u2013 kein Secret im Browser n\u00f6tig.\n\nlet adAlle        = [];\nlet adSortFeld    = \"bezeichnung\";\nlet adAufsteigend = true;\n\nasync function ladeATCDetail() {\n  const params = new URLSearchParams(window.location.search);\n  const atc    = params.get(\"ATC\") || \"\";\n\n  if (!atc) {\n    document.getElementById(\"ad-loading\").innerHTML =\n      \"<div style='color:#c53030;padding:20px;background:#fff5f5;border-radius:8px;width:100%;'>\" +\n      \"&#x26a0;&#xfe0f; Kein ATC-Parameter in der URL. Bitte \u00fcber die <a href='\/index.php\/uebersicht-nach-atc\/' style='color:#c53030;'>ATC-\u00dcbersicht<\/a> aufrufen.<\/div>\";\n    return;\n  }\n\n  try {\n    const res = await fetch(AD_API + \"&ATC=\" + encodeURIComponent(atc), {\n      headers: {'X-Requested-With': 'XMLHttpRequest'}\n    });\n    const d = await res.json();\n\n    if (d.fehler) {\n      document.getElementById(\"ad-loading\").innerHTML =\n        \"<div style='color:#c53030;padding:20px;background:#fff5f5;border-radius:8px;width:100%;'>&#x26a0;&#xfe0f; \" + d.fehler + \"<\/div>\";\n      return;\n    }\n\n    document.getElementById(\"ad-atc-name\").textContent = \"ATC-Gruppe: \" + (d.atc || atc);\n    document.getElementById(\"ad-atc-sub\").textContent  = (d.engpaesse || []).length + \" offene Lieferengp\u00e4sse\";\n    document.title = \"ATC \" + (d.atc || atc) + \" \u2013 drugshortage.ch\";\n\n    adAlle = d.engpaesse || [];\n    adZeige(adAlle);\n\n    document.getElementById(\"ad-loading\").style.display = \"none\";\n    document.getElementById(\"ad-inhalt\").style.display  = \"block\";\n\n    document.getElementById(\"ad-suche\").addEventListener(\"input\", function() {\n      const q = this.value.toLowerCase();\n      adZeige(q ? adAlle.filter(function(e) {\n        return (e.bezeichnung||\"\").toLowerCase().includes(q) ||\n               (e.firma||\"\").toLowerCase().includes(q) ||\n               (e.atc||\"\").toLowerCase().includes(q);\n      }) : adAlle);\n    });\n\n  } catch(err) {\n    document.getElementById(\"ad-loading\").innerHTML =\n      \"<div style='color:#c53030;padding:20px;background:#fff5f5;border-radius:8px;width:100%;'>&#x274c; Fehler: \" + err + \"<\/div>\";\n  }\n}\n\nfunction adZeige(daten) {\n  const tbody = document.getElementById(\"ad-tbody\");\n  const count = document.getElementById(\"ad-count\");\n  tbody.innerHTML = \"\";\n  count.textContent = daten.length + \" Eintr\u00e4ge\";\n\n  if (!daten.length) {\n    tbody.innerHTML = \"<tr><td colspan='9' class='ad-leer'>Keine offenen Lieferengp\u00e4sse gefunden.<\/td><\/tr>\";\n    return;\n  }\n  daten.forEach(function(e) {\n    const tr        = document.createElement(\"tr\");\n    const detailUrl = AD_BASE + \"\/index.php\/detail-lieferengpass\/?ID=\" + e.id;\n    const altUrl    = AD_BASE + \"\/index.php\/alternativen\/?GTIN=\" + encodeURIComponent(e.gtin || \"\");\n    tr.innerHTML =\n      \"<td data-label='Bezeichnung'><a href='\" + detailUrl + \"' target='_blank'>\" + (e.bezeichnung || \"\u2013\") + \"<\/a><\/td>\" +\n      \"<td data-label='ATC' style='font-size:11px;color:#4a5568;'>\" + (e.atc || \"\u2013\") + \"<\/td>\" +\n      \"<td data-label='Firma' style='white-space:nowrap;'>\" + (e.firma || \"\u2013\") + \"<\/td>\" +\n      \"<td data-label='Status' style='font-size:11px;white-space:nowrap;'>\" + (e.status || \"\u2013\") + \"<\/td>\" +\n      \"<td data-label='Erste Meldung' style='white-space:nowrap;'>\" + adDatum(e.ersteMeldung) + \"<\/td>\" +\n      \"<td data-label='Lieferf\u00e4higkeit' style='white-space:nowrap;'>\" + adDatum(e.lieferdatum) + \"<\/td>\" +\n      \"<td data-label='Letzte Mutation' style='white-space:nowrap;color:#718096;'>\" + adDatum(e.mutation) + \"<\/td>\" +\n      \"<td data-label='Alternativen'><a href='\" + altUrl + \"' target='_blank' style='font-size:11px;border:1px solid #e53e3e;padding:2px 7px;border-radius:4px;white-space:nowrap;'>Alternativen \u2192<\/a><\/td>\" +\n      \"<td data-label='GTIN' style='color:#a0aec0;font-size:11px;'>\" + (e.gtin || \"\u2013\") + \"<\/td>\";\n    tbody.appendChild(tr);\n  });\n}\n\nfunction adSort(feld) {\n  adAufsteigend = (adSortFeld === feld) ? !adAufsteigend : true;\n  adSortFeld    = feld;\n  const q = document.getElementById(\"ad-suche\").value.toLowerCase();\n  const liste = q ? adAlle.filter(function(e) {\n    return (e.bezeichnung||\"\").toLowerCase().includes(q) ||\n           (e.firma||\"\").toLowerCase().includes(q) ||\n           (e.atc||\"\").toLowerCase().includes(q);\n  }) : adAlle.slice();\n  liste.sort(function(a, b) {\n    const va = (a[feld]||\"\").toLowerCase();\n    const vb = (b[feld]||\"\").toLowerCase();\n    return adAufsteigend ? va.localeCompare(vb) : vb.localeCompare(va);\n  });\n  adZeige(liste);\n}\n\nfunction adDatum(s) { return s ? s.substring(0, 10) : \"\u2013\"; }\n\ndocument.addEventListener(\"DOMContentLoaded\", ladeATCDetail);\n<\/script>\n\n","protected":false},"excerpt":{"rendered":"<p>Daten werden geladen\u2026 \u2190 Zur\u00fcck zur ATC-\u00dcbersicht \u2013 Wichtig: Bei Firmen der Kategorie 1+2 sind Produkte m\u00f6glicherweise noch bei Grossisten verf\u00fcgbar. Bei Firmen, die nicht selber melden (Kategorie 3, 4 und 5) stammen die Meldungen in der Regel von Usern. Diese Meldungen spiegeln die Situation deren Bestellm\u00f6glichkeiten. Es ist m\u00f6glich, dass die Firmen oder andere&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_seopress_titles_title":"","_seopress_titles_desc":"","_seopress_robots_index":"","_seopress_robots_follow":"","_seopress_robots_imageindex":"","_seopress_robots_snippet":"","_seopress_robots_primary_cat":"","_seopress_robots_breadcrumbs":"","_seopress_robots_freeze_modified_date":"","_seopress_robots_custom_modified_date":"","_seopress_robots_canonical":"","_seopress_social_fb_title":"","_seopress_social_fb_desc":"","_seopress_social_fb_img":"","_seopress_social_fb_img_attachment_id":0,"_seopress_social_fb_img_width":0,"_seopress_social_fb_img_height":0,"_seopress_social_twitter_title":"","_seopress_social_twitter_desc":"","_seopress_social_twitter_img":"","_seopress_social_twitter_img_attachment_id":0,"_seopress_social_twitter_img_width":0,"_seopress_social_twitter_img_height":0,"_seopress_redirections_value":"","_seopress_redirections_enabled":"","_seopress_redirections_enabled_regex":"","_seopress_redirections_logged_status":"","_seopress_redirections_param":"","_seopress_redirections_type":0,"_seopress_analysis_target_kw":"","_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","footnotes":"","_members_access_role":[],"_members_access_error":""},"class_list":["post-21344","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.drugshortage.ch\/index.php\/wp-json\/wp\/v2\/pages\/21344","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.drugshortage.ch\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.drugshortage.ch\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.drugshortage.ch\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.drugshortage.ch\/index.php\/wp-json\/wp\/v2\/comments?post=21344"}],"version-history":[{"count":2,"href":"https:\/\/www.drugshortage.ch\/index.php\/wp-json\/wp\/v2\/pages\/21344\/revisions"}],"predecessor-version":[{"id":21860,"href":"https:\/\/www.drugshortage.ch\/index.php\/wp-json\/wp\/v2\/pages\/21344\/revisions\/21860"}],"wp:attachment":[{"href":"https:\/\/www.drugshortage.ch\/index.php\/wp-json\/wp\/v2\/media?parent=21344"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}