{"id":21200,"date":"2026-05-20T14:01:09","date_gmt":"2026-05-20T12:01:09","guid":{"rendered":"https:\/\/www.drugshortage.ch\/?page_id=21200"},"modified":"2026-06-19T23:20:18","modified_gmt":"2026-06-19T21:20:18","slug":"uebersicht-nach-firma","status":"publish","type":"page","link":"https:\/\/www.drugshortage.ch\/index.php\/uebersicht-nach-firma\/","title":{"rendered":"Uebersicht nach Firma"},"content":{"rendered":"\n<!-- ============================================================\n     Seite mit Slug: \"lieferengpaesse-nach-firma\"\n     Die Firma wird via URL-Parameter ?Firma=XYZ \u00fcbergeben.\n     ============================================================ -->\n<style>\n  #fd-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  #fd-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  #fd-loading { display:flex; align-items:center; gap:12px; padding:30px 20px; color:#718096; font-size:15px; }\n  .fd-spinner { width:24px; height:24px; border:3px solid #e2e8f0; border-top-color:#e53e3e; border-radius:50%; animation:fdspin .8s linear infinite; flex-shrink:0; }\n  @keyframes fdspin { to { transform:rotate(360deg); } }\n\n  .fd-header { margin-bottom:20px; }\n  .fd-firma-name { font-size:22px; font-weight:700; color:#2d3748; margin-bottom:4px; }\n  .fd-back { display:inline-flex; align-items:center; gap:6px; font-size:13px; color:#e53e3e; text-decoration:none; font-weight:600; margin-bottom:16px; }\n  .fd-back:hover { text-decoration:underline; }\n\n  .fd-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  .fd-icon { background:#e53e3e; color:#fff; border-radius:6px; padding:2px 8px; font-size:11px; font-weight:600; }\n\n  .fd-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  .fd-table { width:100%; border-collapse:collapse; background:#fff; }\n  .fd-table thead tr { background:#2d3748; }\n  .fd-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  .fd-table th:hover { background:#4a5568; }\n  .fd-table td { padding:8px 12px; border-bottom:1px solid #edf2f7; font-size:13px; vertical-align:middle; }\n  .fd-table tbody tr:nth-child(even) td { background:#f7fafc; }\n  .fd-table tbody tr:nth-child(odd) td { background:#ffffff; }\n  .fd-table tbody tr:hover td { background:#ebf8ff !important; }\n  .fd-table tbody tr:last-child td { border-bottom:none; }\n  .fd-table a { color:#e53e3e; text-decoration:none; font-weight:500; }\n  .fd-table a:hover { text-decoration:underline; }\n\n  @media (max-width:768px) {\n    .fd-table thead { display:none; }\n    .fd-table tbody tr { display:block; margin-bottom:12px; border:1px solid #e2e8f0; border-radius:8px; overflow:hidden; }\n    .fd-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    .fd-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  .fd-search-wrap { display:flex; gap:10px; align-items:center; margin-bottom:12px; flex-wrap:wrap; }\n  .fd-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  .fd-suche:focus { border-color:#e53e3e; box-shadow:0 0 0 3px rgba(229,62,62,.1); }\n  .fd-count { font-size:12px; color:#718096; white-space:nowrap; }\n\n  .fd-leer { padding:20px; text-align:center; color:#718096; font-style:italic; }\n  .fd-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  .fd-footer { font-size:11px; color:#a0aec0; text-align:right; margin-top:8px; }\n<\/style>\n\n<div id=\"fd-outer\">\n  <div id=\"fd-loading\"><div class=\"fd-spinner\"><\/div> Daten werden geladen\u2026<\/div>\n  <div id=\"fd-inhalt\" style=\"display:none;\">\n\n    <a class=\"fd-back\" href=\"https:\/\/www.drugshortage.ch\/index.php\/uebersicht-nach-firmen\/\">\u2190 Zur\u00fcck zur Firmen\u00fcbersicht<\/a>\n\n    <div class=\"fd-header\">\n      <div class=\"fd-firma-name\" id=\"fd-firma-name\">\u2013<\/div>\n    <\/div>\n\n    <div class=\"fd-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=\"fd-section-title\"><span class=\"fd-icon\">&#x1f4cb;<\/span> Offene Lieferengp\u00e4sse<\/div>\n    <div class=\"fd-search-wrap\">\n      <input type=\"text\" class=\"fd-suche\" id=\"fd-suche\" placeholder=\"&#x1f50d; Bezeichnung suchen\u2026\">\n      <span class=\"fd-count\" id=\"fd-count\"><\/span>\n    <\/div>\n    <div class=\"fd-table-wrap\">\n      <table class=\"fd-table\" style=\"min-width:800px;\">\n        <thead><tr>\n          <th onclick=\"fdSort('bezeichnung')\">Bezeichnung &#x2195;<\/th>\n          <th onclick=\"fdSort('status')\">Status &#x2195;<\/th>\n          <th onclick=\"fdSort('ersteMeldung')\">Erste Meldung &#x2195;<\/th>\n          <th onclick=\"fdSort('lieferdatum')\">Datum Lieferf\u00e4higkeit &#x2195;<\/th>\n          <th onclick=\"fdSort('mutation')\">Letzte Mutation &#x2195;<\/th>\n          <th>Alternativen<\/th>\n          <th>GTIN<\/th>\n        <\/tr><\/thead>\n        <tbody id=\"fd-tbody\"><\/tbody>\n      <\/table>\n    <\/div>\n    <div class=\"fd-footer\">Daten werden w\u00f6chentlich aktualisiert \u00b7 drugshortage.ch<\/div>\n\n  <\/div>\n<\/div>\n\n<script>\nconst FD_BASE       = \"https:\/\/www.drugshortage.ch\";\nconst FD_API        = FD_BASE + \"\/ds.php?a=nachfirma\";\n\/\/ HMAC wird serverseitig von ds.php erzeugt \u2013 kein Secret im Browser n\u00f6tig.\n\nlet fdAlle        = [];\nlet fdSortFeld    = \"bezeichnung\";\nlet fdAufsteigend = true;\n\nasync function ladeFirmaDetail() {\n  const params = new URLSearchParams(window.location.search);\n  const firma  = params.get(\"Firma\") || \"\";\n\n  if (!firma) {\n    document.getElementById(\"fd-loading\").innerHTML =\n      \"<div style='color:#c53030;padding:20px;background:#fff5f5;border-radius:8px;width:100%;'>\" +\n      \"&#x26a0;&#xfe0f; Kein Firma-Parameter in der URL. Bitte \u00fcber die <a href='\/index.php\/uebersicht-nach-firmen\/' style='color:#c53030;'>Firmen\u00fcbersicht<\/a> aufrufen.<\/div>\";\n    return;\n  }\n\n  try {\n    const res = await fetch(FD_API + \"&Firma=\" + encodeURIComponent(firma), {\n      headers: {'X-Requested-With': 'XMLHttpRequest'}\n    });\n    const d = await res.json();\n\n    if (d.fehler) {\n      document.getElementById(\"fd-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(\"fd-firma-name\").textContent = d.firma || firma;\n    document.title = (d.firma || firma) + \" \u2013 Lieferengp\u00e4sse \u2013 drugshortage.ch\";\n\n    fdAlle = d.engpaesse || [];\n    fdZeige(fdAlle);\n\n    document.getElementById(\"fd-loading\").style.display = \"none\";\n    document.getElementById(\"fd-inhalt\").style.display  = \"block\";\n\n    document.getElementById(\"fd-suche\").addEventListener(\"input\", function() {\n      const q = this.value.toLowerCase();\n      fdZeige(q ? fdAlle.filter(function(e) {\n        return (e.bezeichnung||\"\").toLowerCase().includes(q) ||\n               (e.gtin||\"\").toLowerCase().includes(q);\n      }) : fdAlle);\n    });\n\n  } catch(err) {\n    document.getElementById(\"fd-loading\").innerHTML =\n      \"<div style='color:#c53030;padding:20px;background:#fff5f5;border-radius:8px;width:100%;'>&#x274c; Fehler: \" + err + \"<\/div>\";\n  }\n}\n\nfunction fdZeige(daten) {\n  const tbody = document.getElementById(\"fd-tbody\");\n  const count = document.getElementById(\"fd-count\");\n  tbody.innerHTML = \"\";\n  count.textContent = daten.length + \" Eintr\u00e4ge\";\n\n  if (!daten.length) {\n    tbody.innerHTML = \"<tr><td colspan='7' class='fd-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 = FD_BASE + \"\/index.php\/detail-lieferengpass\/?ID=\" + e.id;\n    const altUrl    = FD_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='Status' style='font-size:11px;white-space:nowrap;'>\" + (e.status || \"\u2013\") + \"<\/td>\" +\n      \"<td data-label='Erste Meldung' style='white-space:nowrap;'>\" + fdDatum(e.ersteMeldung) + \"<\/td>\" +\n      \"<td data-label='Lieferf\u00e4higkeit' style='white-space:nowrap;'>\" + fdDatum(e.lieferdatum) + \"<\/td>\" +\n      \"<td data-label='Letzte Mutation' style='white-space:nowrap;color:#718096;'>\" + fdDatum(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 fdSort(feld) {\n  fdAufsteigend = (fdSortFeld === feld) ? !fdAufsteigend : true;\n  fdSortFeld    = feld;\n  const q = document.getElementById(\"fd-suche\").value.toLowerCase();\n  const liste = q ? fdAlle.filter(function(e) {\n    return (e.bezeichnung||\"\").toLowerCase().includes(q) || (e.gtin||\"\").toLowerCase().includes(q);\n  }) : fdAlle.slice();\n  liste.sort(function(a, b) {\n    const va = (a[feld]||\"\").toLowerCase();\n    const vb = (b[feld]||\"\").toLowerCase();\n    return fdAufsteigend ? va.localeCompare(vb) : vb.localeCompare(va);\n  });\n  fdZeige(liste);\n}\n\nfunction fdDatum(s) { return s ? s.substring(0, 10) : \"\u2013\"; }\n\ndocument.addEventListener(\"DOMContentLoaded\", ladeFirmaDetail);\n<\/script>\n\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Daten werden geladen\u2026 \u2190 Zur\u00fcck zur Firmen\u00fcbersicht \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-21200","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.drugshortage.ch\/index.php\/wp-json\/wp\/v2\/pages\/21200","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=21200"}],"version-history":[{"count":12,"href":"https:\/\/www.drugshortage.ch\/index.php\/wp-json\/wp\/v2\/pages\/21200\/revisions"}],"predecessor-version":[{"id":21858,"href":"https:\/\/www.drugshortage.ch\/index.php\/wp-json\/wp\/v2\/pages\/21200\/revisions\/21858"}],"wp:attachment":[{"href":"https:\/\/www.drugshortage.ch\/index.php\/wp-json\/wp\/v2\/media?parent=21200"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}